TeamREPENTOGON / REPENTOGON

Script extender for The Binding of Isaac: Repentance
https://repentogon.com/
GNU General Public License v2.0
136 stars 15 forks source link

[DRAFT] Basic StageHandler #421

Open namishere opened 5 months ago

namishere commented 5 months ago

This new class allows a couple things currently:

While not feature complete, this also starts work on allowing custom stages:

This does not currently add support for:

Additionally, entering an overridden stage, closing out of the game, and continuing the save without overriding the stage beforehand will crash.

Internally, this modifies how stage binaries are loaded by hooking the function to store the resulting RoomSet in a map, then on future loads checking if the requested binary was already loaded and retrieving the stored version instead. Testing will be required to see if this has any side effects with things like room weights, though my understanding suggests that won't be an issue. This is logged in the base log.txt, while StageHandler functions are logged in repentogon.log.

namishere commented 5 months ago

Now has full fxlayers.xml stage (stages for fxRays) and backdrop support.

nyabinary commented 2 months ago

So this would be a step into making the Custom Stage API mod obsolete?

namishere commented 2 months ago

yes, but I'd really like to figure out how to make this work with continued runs + there's some other things that need doing like saving room weights

nyabinary commented 2 months ago

yes, but I'd really like to figure out how to make this work with continued runs + there's some other things that need doing like saving room weights

What is needed to make it work with continued runs is there any specific blockers?

Busybody64 commented 1 month ago

What sneeded so far?