Skip to content

Conversation

jamsge
Copy link

@jamsge jamsge commented Oct 19, 2025

work in progress. Feedback is welcome

@AlexanderHarrison
Copy link
Owner

Nice! Glad someone is getting around to rewriting this.

  • I would convert free practice into an option.
  • Functions with no params should be (void) instead of (), It's silly, I know.

Other than that, looks good so far.

@jamsge
Copy link
Author

jamsge commented Oct 20, 2025

made turning on free practice a function option. I didn't think it would make sense for people to turn on and off free practice whenever. Does that seem right?

The way random positions are selected for eggs follows how UP did it in assembly. I've seen it fail 10-20 times before finding a suitable position which concerns me slightly and makes me wonder if there is a better way. But it works and it does not seem to produce any noticeable slow down

Had many issues with getting the eggs to destroy properly while also showing GFX, but ultimately what I have works and feels okay. The solution for GFX I settled on was creating an empty GOBJ+JOBJ which follows hit eggs and spawns the proper GFX. Because of this, certain hit GFX that are normally visible are missing, such as the usual green sparks or electric moves like Ganon dair. I think these can be added in manually

@AlexanderHarrison
Copy link
Owner

AlexanderHarrison commented Oct 21, 2025

made turning on free practice a function option. I didn't think it would make sense for people to turn on and off free practice whenever. Does that seem right?

Yeah that makes sense to me.

The way random positions are selected for eggs follows how UP did it in assembly. I've seen it fail 10-20 times before finding a suitable position which concerns me slightly and makes me wonder if there is a better way. But it works and it does not seem to produce any noticeable slow down

If you're concerned, feel free to get some performance measurements on console. Look into OSGetTicks. Make sure you compile in release mode when measuring.

Had many issues with getting the eggs to destroy properly while also showing GFX, but ultimately what I have works and feels okay. The solution for GFX I settled on was creating an empty GOBJ+JOBJ which follows hit eggs and spawns the proper GFX. Because of this, certain hit GFX that are normally visible are missing, such as the usual green sparks or electric moves like Ganon dair. I think these can be added in manually

What does the assembly do? Should be able to copy that if it isn't doing anything silly. In any case, look into Effect_SpawnAsync and Effect_SpawnAsyncLookup. I think those can make effects that persist after the gobj is destroyed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants