Skip to content

Conversation

@garrettjoecox
Copy link
Contributor

@garrettjoecox garrettjoecox commented May 23, 2025

This back-ports various systems/patterns from my findings on 2ship.

  • CustomItem - At the sacrifice of appending a single ITEM/GI at the end of the vanilla enums, this allows us to have fully customizable item give sequences, allowing you to draw whatever you want (or nothing), display a cutscene or not, and call any arbitrary code (or none) when the item is "granted". This will result in us removing a lot of touch points throughout the vanilla source that we have made over the years to handle various cases of item gives and ice traps.
  • ShouldActorSpawn & OnOpenText - self explanatory new hooks
  • New CustomMessage patterns - Admittedly this isn't as simple as it is on 2ship because I had to adapt to our already existing CustomMessage concept, but the patterns still all apply. Allows you to on-the-fly replace or create a new message and display it without having to go through the message table mechanism.

None of these new systems are actually used anywhere yet, this PR simply introduces them, I will have a follow up migrating the Randomizer & Vanilla item give queues to use these.

Build Artifacts

Copy link
Contributor

@Pepper0ni Pepper0ni left a comment

Choose a reason for hiding this comment

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

While I can't comment on a lot of hook stuff, I did see an issue in the custom message handling.

@garrettjoecox garrettjoecox force-pushed the GIEventQueue branch 2 times, most recently from d13202c to 8f505be Compare January 19, 2026 04:20
@garrettjoecox
Copy link
Contributor Author

Updated, some stuff was removed as it was already ported in the newly merged #5101

still nothing functionally changing in this PR so it can go in whenever, the functional changes come in #6019

@Malkierian
Copy link
Contributor

Small conflict in CustomMessageManager cropped up, then I think this can go in.

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.

4 participants