Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SM64] Custom level script and special commands and improvements to custom geo commands #457

Open
wants to merge 12 commits into
base: main
Choose a base branch
from

Conversation

Lilaa3
Copy link
Collaborator

@Lilaa3 Lilaa3 commented Sep 13, 2024

Custom geo (in levels) replaced with custom object type which can export as special, level or geo, logic is shared across these.
New custom type is more advanced with automatic translation, rotation, scale, matrix and a color option (requested)!

Also adds depth arg to geolayouts and level/collision objects so bigger custom command are readable, along with removing commas and new lines and commas from those and adding them in the respective loops

@Lilaa3
Copy link
Collaborator Author

Lilaa3 commented Oct 8, 2024

Removed hacks, world is better now

@jesusyoshi54 jesusyoshi54 added enhancement New feature or request sm64 Has to do with the Super Mario 64 side labels Jan 9, 2025
if self.parameter is not None:
arg_groups.append(f"/*param*/ {self.parameter}")
if len(str(arg_groups)) > 100:
seperator = ",\n" + ("\t" * (depth + 1))
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it makes no sense to add a _depth arg to all the associated macro functions and then only use it in this one specific instance. There likely is a better way of determining the proper amount of tabs to be used.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Open to suggestions, I'm not checking the function signature that's for sure

@@ -380,9 +380,9 @@ def to_binary(self, segmentData):

def to_c(self, depth):
if self.node is not None:
nodeC = self.node.to_c()
nodeC = self.node.to_c(depth)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why do this, it seems to me that the depth argument is never used by any "node" type object

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request sm64 Has to do with the Super Mario 64 side
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants