diff --git a/.github/workflows/build-patches.yml b/.github/workflows/build-patches.yml index c92182df..a0365942 100644 --- a/.github/workflows/build-patches.yml +++ b/.github/workflows/build-patches.yml @@ -30,7 +30,7 @@ jobs: xdelta3 -e -S none -s base-jp.z64 fp-jp.z64 fp-jp.xdelta xdelta3 -e -S none -s base-us.z64 fp-us.z64 fp-us.xdelta - name: Upload JP patch - uses: actions/upload-artifact@v2.2.4 + uses: actions/upload-artifact@v4 with: name: fp-jp.xdelta path: fp-jp.xdelta diff --git a/lib/libpm-jp.a b/lib/libpm-jp.a index 46fa7efa..4ae7896c 100644 --- a/lib/libpm-jp.a +++ b/lib/libpm-jp.a @@ -74,6 +74,7 @@ pm_disable_player_input = 0x800E0158; pm_is_ability_active = 0x800E9CE8; pm_hidePopupMenu = 0x800F1340; pm_destroyPopupMenu = 0x800F14C8; +pm_clear_printers = 0x80128884; pm_set_screen_overlay_alpha = 0x8013D184; pm_setMapTransitionEffect = 0x8013D350; pm_updateExitMapScreenOverlay = 0x8013D35C; diff --git a/lib/libpm-us.a b/lib/libpm-us.a index 30b563eb..1110ee20 100644 --- a/lib/libpm-us.a +++ b/lib/libpm-us.a @@ -74,6 +74,7 @@ pm_disable_player_input = 0x800E0178; pm_is_ability_active = 0x800E9D48; pm_hidePopupMenu = 0x800F13B0; pm_destroyPopupMenu = 0x800F1538; +pm_clear_printers = 0x80123674; pm_set_screen_overlay_alpha = 0x801380D4; pm_setMapTransitionEffect = 0x801382A0; pm_updateExitMapScreenOverlay = 0x801382AC; diff --git a/src/fp.c b/src/fp.c index fb46f1be..cca4a242 100644 --- a/src/fp.c +++ b/src/fp.c @@ -471,7 +471,7 @@ void fpUpdate(void) { } fpUpdateWarps(); - battleUpdateWarps(); + bossesUpdateWarps(); // Override updateMode so update_cameras switch always defaults if (fp.freeCam) { diff --git a/src/fp/warps/bosses.c b/src/fp/warps/bosses.c index 3aa5bde5..870248b3 100644 --- a/src/fp/warps/bosses.c +++ b/src/fp/warps/bosses.c @@ -100,12 +100,8 @@ static BattlePage *pageList[] = {&pageBowser, &pageChapterBosses, &pageJrT pm_Npc bossesDummyNpc = {0}; -static pm_Enemy dummyEnemy = { - .npcID = BOSSES_DUMMY_ID, -}; - -static pm_Encounter dummyEncounter = {.enemy[0] = &dummyEnemy, .count = 0, .battle = 0, .stage = 0}; - +static pm_Enemy dummyEnemy = {.npcID = BOSSES_DUMMY_ID}; +static pm_Encounter dummyEncounter = {.enemy[0] = &dummyEnemy}; static s8 warpCountdown = 0; static bool leavingBattle = FALSE; static u8 page = 0; @@ -140,6 +136,7 @@ static void bossWarpProc(struct MenuItem *item, void *data) { page = (u8)((s32)data >> 8); battle = (u8)((s32)data & 0xFF); pm_clearWindows(); + pm_clear_printers(); // isBattle is also true when paused, so checking game mode if (pm_gGameStatus.isBattle && pm_gameMode != 10 && pm_gameMode != 11) { // end battle cleanly so next fight can start fresh @@ -152,7 +149,7 @@ static void bossWarpProc(struct MenuItem *item, void *data) { bossWarp(); } -void battleUpdateWarps() { +void bossesUpdateWarps() { if (leavingBattle && !pm_gGameStatus.isBattle) { leavingBattle = FALSE; bossWarp(); diff --git a/src/fp/warps/bosses.h b/src/fp/warps/bosses.h index 0ee2ab95..22fa9ba5 100644 --- a/src/fp/warps/bosses.h +++ b/src/fp/warps/bosses.h @@ -6,7 +6,7 @@ extern pm_Npc bossesDummyNpc; -void battleUpdateWarps(void); +void bossesUpdateWarps(void); void createBossesMenu(struct Menu *menu); diff --git a/src/pm64.h b/src/pm64.h index de1466ff..9f595f85 100644 --- a/src/pm64.h +++ b/src/pm64.h @@ -1349,6 +1349,7 @@ void pm_disable_player_input(void); s32 pm_is_ability_active(s32 arg0); void pm_hidePopupMenu(void); void pm_destroyPopupMenu(void); +void pm_clear_printers(void); void pm_set_screen_overlay_alpha(s32 idx, f32 alpha); s32 pm_setMapTransitionEffect(s32 transition); s32 pm_updateExitMapScreenOverlay(s16 *progress);