Add recomp_after_play_init event (#496)

* fix signature for recomp_set_allow_no_ocarina_tf, add new event recomp_after_play_init

* say initialize instead of construct
This commit is contained in:
LittleCube 2024-10-14 16:53:30 -04:00 committed by GitHub
parent 21ca074bf7
commit 0f92410620
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -151,11 +151,12 @@ void DayTelop_Init_NORELOCATE(GameState*);
void TitleSetup_Init_NORELOCATE(GameState*); void TitleSetup_Init_NORELOCATE(GameState*);
RECOMP_DECLARE_EVENT(recomp_on_play_init(PlayState* this)); RECOMP_DECLARE_EVENT(recomp_on_play_init(PlayState* this));
RECOMP_DECLARE_EVENT(recomp_after_play_init(PlayState* this));
bool allow_no_ocarina_tf = false; bool allow_no_ocarina_tf = false;
// @recomp_export void recomp_set_allow_no_ocarina(bool new_val): Set whether to force Termina Field to load normally even if Link has no ocarina. // @recomp_export void recomp_set_allow_no_ocarina_tf(bool new_val): Set whether to force Termina Field to load normally even if Link has no ocarina.
RECOMP_EXPORT void recomp_set_allow_no_ocarina(bool new_val) { RECOMP_EXPORT void recomp_set_allow_no_ocarina_tf(bool new_val) {
allow_no_ocarina_tf = new_val; allow_no_ocarina_tf = new_val;
} }
@ -171,7 +172,7 @@ RECOMP_PATCH void Play_Init(GameState* thisx) {
u8 sceneLayer; u8 sceneLayer;
s32 scene; s32 scene;
// @recomp_event recomp_on_play_init(PlayState* this): A new PlayState is being constructed. // @recomp_event recomp_on_play_init(PlayState* this): A new PlayState is being initialized.
recomp_on_play_init(this); recomp_on_play_init(this);
if ((gSaveContext.respawnFlag == -4) || (gSaveContext.respawnFlag == -0x63)) { if ((gSaveContext.respawnFlag == -4) || (gSaveContext.respawnFlag == -0x63)) {
@ -436,4 +437,7 @@ RECOMP_PATCH void Play_Init(GameState* thisx) {
gSaveContext.respawnFlag = 0; gSaveContext.respawnFlag = 0;
sBombersNotebookOpen = false; sBombersNotebookOpen = false;
BombersNotebook_Init(&sBombersNotebook); BombersNotebook_Init(&sBombersNotebook);
// @recomp_event recomp_after_play_init(PlayState* this): The new PlayState has finished initializing.
recomp_after_play_init(this);
} }