Skip to content

Commit 5202070

Browse files
committed
Added a pair of new events
1 parent 2ebcd3b commit 5202070

4 files changed

Lines changed: 15 additions & 2 deletions

File tree

src/engine/level_script.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,9 @@ void level_cmd_load_and_execute(void) {
9797
*sStackTop++ = (uintptr_t) sStackBase;
9898
sStackBase = sStackTop;
9999

100-
sCurrentCmd = segmented_to_virtual(CMD_GET(void *, 12));
100+
const void* targetScript = segmented_to_virtual(CMD_GET(void *, 12));
101+
CALL_EVENT(LevelScriptOverride, gCurrLevelNum, &targetScript);
102+
sCurrentCmd = (struct LevelCommand *) targetScript;
101103
}
102104

103105
void level_cmd_exit_and_execute(void) {

src/menu/file_select.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
#endif
3030

3131
#include "port/events/list/PlayerEvent.h"
32+
#include "port/events/Events.h"
3233
#include "port/mods/PortEnhancements.h"
3334
extern struct SaveBuffer gSaveBuffer;
3435

@@ -2757,6 +2758,7 @@ void print_file_select_strings(void) {
27572758
if (sMainMenuTimer < 1000) {
27582759
sMainMenuTimer++;
27592760
}
2761+
CALL_EVENT(FileSelectRender);
27602762
}
27612763

27622764
/**

src/port/events/list/EngineEvent.h

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,4 +67,11 @@ DEFINE_EVENT(CameraUpdate,
6767

6868
DEFINE_EVENT(KeyboardInput,
6969
uint32_t scancode;
70-
);
70+
);
71+
72+
DEFINE_EVENT(LevelScriptOverride,
73+
s16 levelNum;
74+
const void** newScript;
75+
);
76+
77+
DEFINE_EVENT(FileSelectRender);

src/port/mods/PortEnhancements.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,8 @@ void PortEnhancements_Register() {
150150
REGISTER_EVENT(EngineReady);
151151
REGISTER_EVENT(CameraUpdate);
152152
REGISTER_EVENT(KeyboardInput);
153+
REGISTER_EVENT(LevelScriptOverride);
154+
REGISTER_EVENT(FileSelectRender);
153155

154156
// Register player events
155157
REGISTER_EVENT(PlayerHealthChange);

0 commit comments

Comments
 (0)