mirror of
https://github.com/YohannDR/mzm.git
synced 2024-12-02 18:16:29 +00:00
Add some pause screen data, link pause_screen_map.c
This commit is contained in:
parent
ea2c257e0f
commit
3ae6413ef7
@ -5,7 +5,6 @@ This is a work in progress decompilation of Metroid - Zero Mission.
|
||||
2505/2721 functions decompiled (92.06%, 216 left)
|
||||
Progress can be seen here : https://docs.google.com/spreadsheets/d/1X8XarD5evY8ZI7r_GQqh1pYmdVMbBcINYfRBUlogmKY/edit#gid=0
|
||||
|
||||
**Current doesn't compile (temporary)**
|
||||
**This decomp is not shiftable, don't use it as a base to work on anything**
|
||||
|
||||
This produces the following ROMs:
|
||||
|
@ -4882,7 +4882,7 @@ lbl_0806a7dc:
|
||||
bl DMATransfer
|
||||
movs r0, #2
|
||||
movs r1, #2
|
||||
bl sub_0806b00c
|
||||
bl PauseScreenUpdateBottomVisorOverlay
|
||||
mov r1, r8
|
||||
ldr r0, [r1]
|
||||
ldrh r1, [r0]
|
||||
@ -5817,7 +5817,7 @@ lbl_0806afbe:
|
||||
lbl_0806afe2:
|
||||
movs r0, #1
|
||||
movs r1, #1
|
||||
bl sub_0806b00c
|
||||
bl PauseScreenUpdateBottomVisorOverlay
|
||||
pop {r3, r4, r5}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
@ -5832,8 +5832,8 @@ lbl_0806b000: .4byte 0x00000251
|
||||
lbl_0806b004: .4byte sEwramPointer
|
||||
lbl_0806b008: .4byte 0x000090d0
|
||||
|
||||
thumb_func_start sub_0806b00c
|
||||
sub_0806b00c: @ 0x0806b00c
|
||||
thumb_func_start PauseScreenUpdateBottomVisorOverlay
|
||||
PauseScreenUpdateBottomVisorOverlay: @ 0x0806b00c
|
||||
push {r4, r5, lr}
|
||||
sub sp, #4
|
||||
lsls r0, r0, #0x18
|
||||
@ -7010,7 +7010,7 @@ lbl_0806b8f4:
|
||||
beq lbl_0806b9d6
|
||||
movs r0, #2
|
||||
movs r1, #2
|
||||
bl sub_0806b00c
|
||||
bl PauseScreenUpdateBottomVisorOverlay
|
||||
movs r4, #0x80
|
||||
lsls r4, r4, #1
|
||||
b lbl_0806b9da
|
||||
@ -7348,7 +7348,7 @@ lbl_0806bbc0: .4byte 0x0000ff7f
|
||||
lbl_0806bbc4:
|
||||
movs r0, #1
|
||||
movs r1, #1
|
||||
bl sub_0806b00c
|
||||
bl PauseScreenUpdateBottomVisorOverlay
|
||||
movs r4, #1
|
||||
rsbs r4, r4, #0
|
||||
lbl_0806bbd0:
|
||||
@ -7451,7 +7451,7 @@ lbl_0806bc98:
|
||||
lbl_0806bc9e:
|
||||
movs r0, #2
|
||||
movs r1, #2
|
||||
bl sub_0806b00c
|
||||
bl PauseScreenUpdateBottomVisorOverlay
|
||||
movs r0, #0x10
|
||||
bl sub_0806b718
|
||||
ldr r0, lbl_0806bcbc @ =sNonGameplayRamPointer
|
||||
@ -7938,7 +7938,7 @@ lbl_0806c0a8: .4byte sNonGameplayRamPointer
|
||||
lbl_0806c0ac:
|
||||
movs r0, #1
|
||||
movs r1, #1
|
||||
bl sub_0806b00c
|
||||
bl PauseScreenUpdateBottomVisorOverlay
|
||||
ldr r2, lbl_0806c0c4 @ =sNonGameplayRamPointer
|
||||
ldr r0, [r2]
|
||||
movs r1, #0
|
||||
@ -8705,8 +8705,8 @@ lbl_0806c6a8: .4byte 0x000003ff
|
||||
lbl_0806c6ac: .4byte gLanguage
|
||||
lbl_0806c6b0: .4byte 0x08760298
|
||||
|
||||
thumb_func_start sub_0806c6b4
|
||||
sub_0806c6b4: @ 0x0806c6b4
|
||||
thumb_func_start MinimapCopyTileGFX
|
||||
MinimapCopyTileGFX: @ 0x0806c6b4
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sl
|
||||
mov r6, sb
|
||||
@ -8814,8 +8814,8 @@ lbl_0806c780: .4byte 0x0840e0c4
|
||||
lbl_0806c784: .4byte 0x0840d74c
|
||||
lbl_0806c788: .4byte 0x0840d6fc
|
||||
|
||||
thumb_func_start sub_0806c78c
|
||||
sub_0806c78c: @ 0x0806c78c
|
||||
thumb_func_start MinimapCopyTileXFlippedGFX
|
||||
MinimapCopyTileXFlippedGFX: @ 0x0806c78c
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sl
|
||||
mov r6, sb
|
||||
@ -8934,8 +8934,8 @@ lbl_0806c86c: .4byte 0x0840e0c4
|
||||
lbl_0806c870: .4byte 0x0840d74c
|
||||
lbl_0806c874: .4byte 0x0840d6fc
|
||||
|
||||
thumb_func_start sub_0806c878
|
||||
sub_0806c878: @ 0x0806c878
|
||||
thumb_func_start MinimapCopyTileYFlippedGFX
|
||||
MinimapCopyTileYFlippedGFX: @ 0x0806c878
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sl
|
||||
mov r6, sb
|
||||
@ -9045,8 +9045,8 @@ lbl_0806c948: .4byte 0x0840e0c4
|
||||
lbl_0806c94c: .4byte 0x0840d74c
|
||||
lbl_0806c950: .4byte 0x0840d6fc
|
||||
|
||||
thumb_func_start sub_0806c954
|
||||
sub_0806c954: @ 0x0806c954
|
||||
thumb_func_start MinimapCopyTileXYFlippedGFX
|
||||
MinimapCopyTileXYFlippedGFX: @ 0x0806c954
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sl
|
||||
mov r6, sb
|
||||
|
68
database.txt
68
database.txt
@ -965,6 +965,66 @@ menus/EraseSram/QuestionEnglish.gfx.lz;1006;0x413c64;4
|
||||
menus/EraseSram/Box.tt;137;0x414c1c;4
|
||||
menus/EraseSram/Background.tt;368;0x414e40;4
|
||||
|
||||
# Pause screen
|
||||
|
||||
menus/PauseScreen/3fcef0.pal;176;0x3fcef0;2
|
||||
menus/PauseScreen/TankIcons.pal;256;0x3fd050;2
|
||||
menus/PauseScreen/3fd252.pal;79;0x3fd252;2
|
||||
menus/PauseScreen/MinimapAnimated.pal;16;0x3fd2f0;2
|
||||
menus/PauseScreen/SamusWireframe.pal;64;0x3fd310;2
|
||||
|
||||
menus/PauseScreen/MotifBehindWireframeSamus.gfx.lz;278;0x3feb60;4
|
||||
menus/PauseScreen/PauseScreenHud.gfx.lz;1404;0x3fefb8;4
|
||||
menus/PauseScreen/MinimapLetters.gfx.lz;60;0x4005a8;4
|
||||
menus/PauseScreen/MenuNamesJapanese.gfx.lz;92;0x400698;4
|
||||
menus/PauseScreen/EquipmentNamesJapanese.gfx.lz;384;0x400808;4
|
||||
menus/PauseScreen/TankIcons.gfx.lz;1786;0x400e08;4
|
||||
menus/PauseScreen/MapScreenAreaNamesEnglish.gfx.lz;216;0x4029f0;4
|
||||
menus/PauseScreen/MapScreenUnknownItemsNamesJapanese.gfx.lz;65;0x402d50;4
|
||||
menus/PauseScreen/MapScreenChozoStatueAreaNamesEnglish.gfx.lz;152;0x402e54;4
|
||||
menus/PauseScreen/ChozoHintBackground.gfx.lz;3618;0x4030b4;4
|
||||
|
||||
menus/PauseScreen/BrinstarMinimap.tt;133;0x40693c;4
|
||||
menus/PauseScreen/KraidMinimap.tt;121;0x406b50;4
|
||||
menus/PauseScreen/NorfairMinimap.tt;153;0x406d34;4
|
||||
menus/PauseScreen/RidleyMinimap.tt;120;0x406f98;4
|
||||
menus/PauseScreen/TourianMinimap.tt;91;0x407178;4
|
||||
menus/PauseScreen/CrateriaMinimap.tt;114;0x4072e4;4
|
||||
menus/PauseScreen/ChozodiaMinimap.tt;194;0x4074ac;4
|
||||
menus/PauseScreen/Extra2Minimap.tt;78;0x4077b4;4
|
||||
|
||||
menus/PauseScreen/DebugMenuTileParts.tt;175;0x4078ec;4
|
||||
menus/PauseScreen/MapScreenVisorOverlay.tt;122;0x407ba8;4
|
||||
menus/PauseScreen/MapScreenOverlay.tt;125;0x407d90;4
|
||||
menus/PauseScreen/WorldMapOverlay.tt;206;0x407f84;4
|
||||
menus/PauseScreen/StatusScreen.tt;264;0x4082bc;4
|
||||
menus/PauseScreen/EasySleep.tt;196;0x4086dc;4
|
||||
menus/PauseScreen/StatusScreenBackground.tt;169;0x4089ec;4
|
||||
menus/PauseScreen/MapScreenTextBg0.tt;92;0x408c90;4
|
||||
menus/PauseScreen/ChozoHintBackground.tt;577;0x408e00;4
|
||||
|
||||
menus/PauseScreen/EquipmentNamesHiragana.gfx.lz;411;0x409704;4
|
||||
menus/PauseScreen/EquipmentNamesEnglish.gfx.lz;1900;0x409d70;4
|
||||
menus/PauseScreen/MapScreenAreaNamesHiragana.gfx.lz;198;0x40bb20;4
|
||||
menus/PauseScreen/MenuNamesHiragana.gfx.lz;113;0x40be38;4
|
||||
menus/PauseScreen/MenuNamesEnglish.gfx.lz;468;0x40bffc;4
|
||||
menus/PauseScreen/MapScreenUnknownItemsNamesHiragana.gfx.lz;76;0x40c74c;4
|
||||
menus/PauseScreen/MapScreenUnknownItemsNamesEnglish.gfx.lz;337;0x40c87c;4
|
||||
menus/PauseScreen/MapScreenChozoStatueAreaNamesHiragana.gfx.lz;154;0x40cdc0;4
|
||||
|
||||
menus/PauseScreen/40d6fc.gfx;80;0x40d6fc;1
|
||||
menus/PauseScreen/40d74c.gfx;80;0x40d74c;1
|
||||
|
||||
menus/PauseScreen/40dc90.pal;16;0x40dc90;2
|
||||
menus/PauseScreen/40dcb0.pal;16;0x40dcb0;2
|
||||
menus/PauseScreen/40dcd0.pal;16;0x40dcd0;2
|
||||
|
||||
menus/PauseScreen/sMinimapTiles.gfx;5120;0x40e0c4;1
|
||||
menus/PauseScreen/40f4c4.gfx;1792;0x40f4c4;4
|
||||
menus/PauseScreen/MapScreenAreaNamesGfx;167;0x4110c4;4
|
||||
|
||||
menus/PauseScreen/MinimapTiles.pal;80;0x411360;2
|
||||
|
||||
## Rooms
|
||||
|
||||
# Default background data
|
||||
@ -2380,13 +2440,17 @@ Blob_2320ec_2376a8.bin;21948;0x2320ec;1
|
||||
Blob_238b68_23a5bc.bin;6740;0x238b68;1
|
||||
Blob_2d5ba0_2d7ae7.bin;7988;0x2d5ba0;1
|
||||
Blob_34099c_345868.bin;20172;0x34099c;1
|
||||
Blob_3fcef0_411400.bin;83216;0x3fcef0;1
|
||||
|
||||
Blob_3fd390_3feb60.bin;6096;0x3fd390;1
|
||||
Blob_40d22a_40d66c.bin;1090;0x40d22a;1
|
||||
|
||||
Blob_40dd0b_40e0c4.bin;953;0x40dd0b;1
|
||||
Blob_415460_446d68.bin;203016;0x415460;1
|
||||
Blob_44f11c_45f45c.bin;66368;0x44f11c;1
|
||||
Blob_479400_4bfee4.bin;289508;0x479400;1
|
||||
Blob_549b44_74f8b4.bin;2121072;0x549b44;1
|
||||
Blob_754bd0_75e6a8.bin;39640;0x754bd0;1
|
||||
Blob_75fae4_75fd78.bin;660;0x75fae4;1
|
||||
Blob_7600f8_760420.bin;808;0x7600f8;1
|
||||
Blob_7602d4_760420.bin;332;0x7602d4;1
|
||||
Blob_760458_760aa0.bin;1608;0x760458;1
|
||||
Blob_760aef_7f7734.bin;617541;0x760aef;1
|
||||
|
@ -3,7 +3,35 @@
|
||||
|
||||
#include "types.h"
|
||||
|
||||
// FORCE_RODATA
|
||||
#include "constants/game_state.h"
|
||||
|
||||
#include "structs/menus/pause_screen.h"
|
||||
#include "structs/minimap.h"
|
||||
|
||||
extern const struct PauseScreenSubroutineData sMapScreenSubroutineInfo_Empty;
|
||||
|
||||
extern const u32* const sMapScreenAreaNamesGfxPointers[MAX_AMOUNT_OF_LANGUAGES];
|
||||
extern const u32* const sMapScreenChozoStatueAreaNamesGfxPointers[MAX_AMOUNT_OF_LANGUAGES];
|
||||
extern const u32* const sMapScreenUnknownItemsNamesGfxPointers[MAX_AMOUNT_OF_LANGUAGES];
|
||||
extern const u32* const sMapScreenEquipmentNamesGfxPointers[MAX_AMOUNT_OF_LANGUAGES];
|
||||
extern const u32* const sMapScreenMenuNamesGfxPointers[MAX_AMOUNT_OF_LANGUAGES];
|
||||
|
||||
extern u16 sPauseScreenCompletionInfoOamData[6][5];
|
||||
|
||||
extern const u8* const sStatusScreenBeamFlagsOrderPointer;
|
||||
extern const u8* const sStatusScreenBombFlagsOrderPointer;
|
||||
extern const u8* const sStatusScreenSuitFlagsOrderPointer;
|
||||
extern const u8* const sStatusScreenMiscFlagsOrderPointer;
|
||||
|
||||
extern const u32* const sMinimapDataPointers[11];
|
||||
|
||||
extern const u32 sExploredMinimapBitFlags[32];
|
||||
extern const MinimapFunc_T sMinimapTilesCopyGFXFunctionPointers[4];
|
||||
|
||||
extern u32* sPauseScreen_7602a8;
|
||||
|
||||
extern u8 sMapDownloadLineTrailOamOffsets[4];
|
||||
|
||||
extern const u32 sPauseScreen_7602b0[9];
|
||||
|
||||
#endif /* INTERNAL_PAUSE_SCREEN_DATA_H */
|
||||
|
@ -3,35 +3,44 @@
|
||||
|
||||
#include "types.h"
|
||||
#include "structs/cutscene.h"
|
||||
#include "structs/text.h"
|
||||
#include "structs/menus/pause_screen.h"
|
||||
#include "connection.h"
|
||||
|
||||
#include "constants/game_state.h"
|
||||
|
||||
|
||||
extern const u16 sPauseScreen_3fcef0[11 * 16];
|
||||
extern const u16 sTankIconsPal[16 * 16];
|
||||
|
||||
extern const u16 sPauseScreen_3fd252[5 * 16 - 1];
|
||||
|
||||
extern const u16 sMinimapAnimatedPalette[1 * 16];
|
||||
extern const u16 sSamusWireframePal[4 * 16];
|
||||
|
||||
// ...
|
||||
// ... Oam
|
||||
|
||||
extern const u32 sMotifBehindWireframeSamusGfx[278];
|
||||
extern const u32 sPauseScreenHudGfx[1404];
|
||||
extern const u32 sMinimapLettersGfx[60];
|
||||
|
||||
// ...
|
||||
|
||||
extern const u16 sPauseScreen_3fcef0[11 * 16];
|
||||
extern const u8 sMinimapAnimatedPaletteOffsets[MAX_AMOUNT_OF_AREAS + 1];
|
||||
|
||||
// ...
|
||||
extern const u32 sMenuNamesJapaneseGfx[92];
|
||||
extern const u32 sEquipmentNamesJapaneseGfx[384];
|
||||
|
||||
extern const u32 sTankIconsGfx[1786];
|
||||
|
||||
extern const u32 sMapScreenAreaNamesEnglishGfx[216];
|
||||
extern const u32 sMapScreenUnknownItemsNamesJapaneseGfx[65];
|
||||
extern const u32 sMapScreenChozoStatueAreaNamesEnglishGfx[152];
|
||||
|
||||
extern const u32 sChozoHintBackgroundGfx[3618];
|
||||
|
||||
extern const u32 sBrinstarMinimap[133];
|
||||
extern const u32 sKraidMinimap[121];
|
||||
extern const u32 sNorfairMinimap[153];
|
||||
extern const u32 sRidleyMinimap[120];
|
||||
extern const u32 sTourianMinimap[91];
|
||||
extern const u32 sCrateriaMinimap[114];
|
||||
extern const u32 sChozodiaMinimap[194];
|
||||
extern const u32 sExtraMinimap[78];
|
||||
|
||||
extern const u32 sDebugMenuTileParts[175];
|
||||
extern const u32 sMapScreenVisorOverlayTilemap[122];
|
||||
@ -43,12 +52,30 @@ extern const u32 sStatusScreenBackgroundTilemap[169];
|
||||
extern const u32 sMapScreenTextBg0TileTable[92];
|
||||
extern const u32 sChozoHintBackgroundTileTable[577];
|
||||
|
||||
// ...
|
||||
extern const u32 sEquipmentNamesHiraganaGfx[411];
|
||||
extern const u32 sEquipmentNamesEnglishGfx[1900];
|
||||
|
||||
extern const u32 sMapScreenAreaNamesHiraganaGfx[198];
|
||||
|
||||
extern const u32 sMenuNamesHiraganaGfx[113];
|
||||
extern const u32 sMenuNamesEnglishGfx[468];
|
||||
|
||||
extern const u32 sMapScreenUnknownItemsNamesHiraganaGfx[76];
|
||||
extern const u32 sMapScreenUnknownItemsNamesEnglishGfx[337];
|
||||
|
||||
extern const u32 sMapScreenChozoStatueAreaNamesHiraganaGfx[154];
|
||||
|
||||
extern const struct MenuOamData sMenuOamData_Empty;
|
||||
extern const struct MenuOamData sMenuOamDataChozoHint_Empty;
|
||||
extern const struct MenuOamData sMenuOamDataEraseSram_Empty;
|
||||
extern const struct CutsceneOamData sCutsceneOam_Empty;
|
||||
|
||||
extern const u8 sUnused_40d078[16];
|
||||
|
||||
extern const u16 sPauseScreen_40d088[4];
|
||||
|
||||
extern const struct PauseScreenAreaIconData sPauseScreenAreaIconsData[MAX_AMOUNT_OF_AREAS];
|
||||
extern const u16 sPauseScreen_40d0d0[4][4];
|
||||
extern const u16 sMapScreenArrowsData[4][4];
|
||||
|
||||
extern const u8 sStatusScreenBeamFlagsOrder[5];
|
||||
extern const u8 sStatusScreenBombFlagsOrder[1];
|
||||
@ -58,19 +85,15 @@ extern const u8 sStatusScreenMiscFlagsOrder[6];
|
||||
extern const u8 sPauseScreen_40d0fe[4];
|
||||
extern const u16 sPauseScreen_40d102[5];
|
||||
|
||||
// ...
|
||||
|
||||
extern const struct PauseScreenWireframeData sSamusWireframeData[7];
|
||||
|
||||
// ...
|
||||
|
||||
extern const u16 sPauseScreen_40d17c[2];
|
||||
extern const u8 sPauseScreen_40d180[MAX_AMOUNT_OF_AREAS];
|
||||
|
||||
extern const struct WorldMapData sWorldMapData[MAX_AMOUNT_OF_AREAS];
|
||||
extern const struct WorldMapData sWorldMapData[MAX_AMOUNT_OF_AREAS - 1];
|
||||
extern const u16 sPauseScreen_40d1c0[16][2];
|
||||
|
||||
extern const u8 sBossIcons[7][5];
|
||||
extern const u8 sBossIcons[MAX_AMOUNT_OF_AREAS - 1][5];
|
||||
extern const u16 sMapChunksToUpdate[3];
|
||||
|
||||
extern const struct OamArray sPauseScreenMiscOam[56];
|
||||
@ -81,33 +104,33 @@ extern const struct OamArray sPauseScreenBossIconsOam[5];
|
||||
extern const struct OamArray sPauseScreenTargetsOam[16];
|
||||
extern const struct OamArray sPauseScreenWorldMapOam[18];
|
||||
|
||||
extern const u8 sMaintainedInputDelays[7];
|
||||
extern const u8 sMaintainedInputDelays[8];
|
||||
|
||||
extern const u8 sMapScreenAreaIds[MAX_AMOUNT_OF_AREAS];
|
||||
extern const u8 sMapScreenAreasViewOrder[MAX_AMOUNT_OF_AREAS];
|
||||
|
||||
extern const struct MinimapAreaName sMinimapAreaNames[10];
|
||||
|
||||
// ...
|
||||
extern const u8 sPauseScreen_40d6fc[80];
|
||||
extern const u8 sPauseScreen_40d74c[80];
|
||||
|
||||
extern u8* const sPauseScreen_40d79c[5];
|
||||
|
||||
// ...
|
||||
extern const u8 sCharacterWidths[1184];
|
||||
|
||||
extern u16 sPauseScreen_40dc90[1 * 16];
|
||||
extern u16 sPauseScreen_40dcb0[1 * 16];
|
||||
extern u16 sPauseScreen_40dcd0[1 * 16];
|
||||
extern u8 sPauseScreen_40dcf0[4];
|
||||
extern u8 sPauseScreen_40dcf4[16];
|
||||
extern const struct Message sMessage_Empty;
|
||||
extern const struct Message sMessageStoryText_Empty;
|
||||
extern const struct Message sMessageFileScreen_Empty;
|
||||
extern const struct Message sMessageDescription_Empty;
|
||||
|
||||
// ...
|
||||
// Internal
|
||||
extern const u16 sPauseScreen_40dc90[1 * 16];
|
||||
extern const u16 sPauseScreen_40dcb0[1 * 16];
|
||||
extern const u16 sPauseScreen_40dcd0[1 * 16];
|
||||
extern const u8 sPauseScreen_40dcf0[4];
|
||||
extern const u8 sPauseScreen_40dcf4[16];
|
||||
|
||||
extern const u32* const sMapScreenAreaNamesGfxPointers[MAX_AMOUNT_OF_LANGUAGES];
|
||||
extern const u32* const sMapScreenChozoStatueAreaNamesGfxPointers[MAX_AMOUNT_OF_LANGUAGES];
|
||||
extern const u32* const sMapScreenUnknownItemsNamesGfxPointers[MAX_AMOUNT_OF_LANGUAGES];
|
||||
extern const u32* const sMapScreenEquipmentNamesGfxPointers[MAX_AMOUNT_OF_LANGUAGES];
|
||||
extern const u32* const sMapScreenMenuNamesGfxPointers[MAX_AMOUNT_OF_LANGUAGES];
|
||||
extern const u8 sMinimapAnimatedPaletteOffsets[MAX_AMOUNT_OF_AREAS - 1];
|
||||
|
||||
extern const struct PauseScreenSubroutineData sMapScreenSubroutineInfo_Empty;
|
||||
// ...?
|
||||
|
||||
#endif /* PAUSE_SCREEN_DATA_H */
|
||||
|
@ -6,19 +6,9 @@
|
||||
#include "structs/menus/pause_screen.h"
|
||||
#include "connection.h"
|
||||
|
||||
extern const u8 sPauseScreen_40d6fc[80];
|
||||
extern const u8 sPauseScreen_40d74c[80];
|
||||
|
||||
extern const u8 sMinimapTilesGfx[5120];
|
||||
extern const u32 sPauseScreen_40f4c4[1792];
|
||||
extern const u32 sMapScreenAreaNamesGfx[167];
|
||||
extern const u16 sMinimapTilesPal[5 * 16];
|
||||
|
||||
// Temp
|
||||
// FORCE_RODATA
|
||||
extern u32* sPauseScreen_7602a8;
|
||||
// FORCE_RODATA
|
||||
extern u8 sMapDownloadLineTrailOamOffsets[4];
|
||||
extern const u32 sPauseScreen_7602b0[9];
|
||||
|
||||
#endif /* PAUSE_SCREEN_MAP_DATA_H */
|
||||
|
@ -15,7 +15,4 @@ extern const u8 sStatusScreenRowsData[6][3];
|
||||
|
||||
// ...
|
||||
|
||||
extern const u8* const sStatusScreenBeamFlagsOrderPointer;
|
||||
extern const u16* const sMinimapDataPointers[11];
|
||||
|
||||
#endif /* STATUS_SCREEN_MENU_DATA_H */
|
||||
|
@ -6,10 +6,6 @@
|
||||
#include "structs/menus/title_screen.h"
|
||||
#include "structs/menu.h"
|
||||
|
||||
// Temp
|
||||
extern const struct MenuOamData sMenuOamData_Empty;
|
||||
|
||||
|
||||
extern const u16 sTitleScreenPAL[15 * 16];
|
||||
extern const u16 sTitleScreenPromptPAL[5 * 16];
|
||||
|
||||
|
@ -4,16 +4,6 @@
|
||||
#include "types.h"
|
||||
#include "structs/text.h"
|
||||
|
||||
extern const u8 sCharacterWidths[1184];
|
||||
|
||||
extern const struct Message sMessage_Empty;
|
||||
|
||||
extern const struct Message sMessageStoryText_Empty;
|
||||
|
||||
extern const struct Message sMessageFileScreen_Empty;
|
||||
|
||||
extern const struct Message sMessageDescription_Empty;
|
||||
|
||||
// Temp
|
||||
extern const u16** const sStoryTextPointers[7];
|
||||
extern const u16** const sLocationTextpointers[7];
|
||||
|
@ -1,13 +0,0 @@
|
||||
#ifndef UNSORTED_H
|
||||
#define UNSORTED_H
|
||||
|
||||
#include "types.h"
|
||||
#include "structs/minimap.h"
|
||||
|
||||
// 760218
|
||||
extern const u32 sExploredMinimapBitFlags[32];
|
||||
|
||||
// 760298
|
||||
extern const MinimapFunc_T sMinimapTilesCopyGFXFunctionPointers[4];
|
||||
|
||||
#endif /* UNSORTED_H */
|
@ -28,7 +28,7 @@ typedef volatile signed int vi32;
|
||||
|
||||
#define INT_MIN (-2147483648)
|
||||
#define INT_MAX (2147483647)
|
||||
#define UINT_MAX (4294967295)
|
||||
#define UINT_MAX ((u32)4294967295)
|
||||
|
||||
#define BLOCK_SIZE 0x40
|
||||
#define HALF_BLOCK_SIZE (BLOCK_SIZE / 2)
|
||||
|
@ -675,7 +675,9 @@ SECTIONS {
|
||||
src/data/cutscenes/statue_opening_data.o(.rodata);
|
||||
src/data/cutscenes/enter_tourian_data.o(.rodata);
|
||||
src/data/cutscenes/samus_in_blue_ship_data.o(.rodata);
|
||||
/* 3fcef0-411400 */
|
||||
src/data/menus/pause_screen_data.o(.rodata);
|
||||
/* 40dd0b_40e0c4 */
|
||||
src/data/menus/pause_screen_map_data.o(.rodata);
|
||||
src/data/save_file_data.o(.rodata);
|
||||
src/data/menus/erase_sram_data.o(.rodata);
|
||||
/* 415460-446d68 */
|
||||
@ -704,7 +706,8 @@ SECTIONS {
|
||||
src/data/cutscenes/internal_statue_opening_data.o(.rodata);
|
||||
src/data/cutscenes/internal_enter_tourian_data.o(.rodata);
|
||||
src/data/cutscenes/internal_samus_in_blue_ship_data.o(.rodata);
|
||||
/* 760090-760420 */
|
||||
src/data/menus/internal_pause_screen_data.o(.rodata);
|
||||
/* 7602d4-760420 */
|
||||
src/data/menus/internal_erase_sram_data.o(.rodata)
|
||||
/* 760458-760aa0 */
|
||||
src/data/menus/internal_title_screen_data.o(.rodata)
|
||||
|
@ -4,6 +4,7 @@
|
||||
#include "color_effects.h"
|
||||
|
||||
#include "data/cutscenes/cutscenes_data.h"
|
||||
#include "data/menus/pause_screen_data.h"
|
||||
#include "data/shortcut_pointers.h"
|
||||
#include "data/engine_pointers.h"
|
||||
|
||||
@ -969,10 +970,7 @@ void CutsceneReset(void)
|
||||
|
||||
// Clear OAM
|
||||
for (i = 0; i < ARRAY_SIZE(CUTSCENE_DATA.oam); i++)
|
||||
{
|
||||
// FIXME CUTSCENE_DATA.oam[i] = sCutsceneOam_Empty;
|
||||
CUTSCENE_DATA.oam[i] = *(struct CutsceneOamData*)0x840d058;
|
||||
}
|
||||
CUTSCENE_DATA.oam[i] = sCutsceneOam_Empty;
|
||||
|
||||
// Set default rotation and scaling
|
||||
gCurrentOamRotation = 0;
|
||||
|
@ -20,5 +20,3 @@ const struct CutsceneSubroutineData sSamusInBlueShipSubroutineData[3] = {
|
||||
.oamLength = 1
|
||||
}
|
||||
};
|
||||
|
||||
const u8 sTempArray_7600f8[0x328] = INCBIN_U8("data/Blob_7600f8_760420.bin");
|
||||
|
@ -483,5 +483,3 @@ const u16 sSamusInBlueShipPAL[9 * 16] = INCBIN_U16("data/cutscenes/SamusInBlueSh
|
||||
const u32 sSamusInBlueShipSamusGFX[3641] = INCBIN_U32("data/cutscenes/SamusInBlueShip/Samus.gfx.lz");
|
||||
const u32 sSamusInBlueShipControlsGFX[1642] = INCBIN_U32("data/cutscenes/SamusInBlueShip/Controls.gfx.lz");
|
||||
const u32 sSamusInBlueShipSamusTileTable[368] = INCBIN_U32("data/cutscenes/SamusInBlueShip/Ship.tt");
|
||||
|
||||
const u8 sTempArray_3fcef0[0x14510] = INCBIN_U8("data/Blob_3fcef0_411400.bin");
|
||||
|
162
src/data/menus/internal_pause_screen_data.c
Normal file
162
src/data/menus/internal_pause_screen_data.c
Normal file
@ -0,0 +1,162 @@
|
||||
#include "data/menus/internal_pause_screen_data.h"
|
||||
#include "data/menus/pause_screen_data.h"
|
||||
#include "macros.h"
|
||||
#include "gba.h"
|
||||
#include "minimap.h"
|
||||
|
||||
#include "constants/connection.h"
|
||||
#include "constants/menus/pause_screen.h"
|
||||
|
||||
const struct PauseScreenSubroutineData sMapScreenSubroutineInfo_Empty = {
|
||||
.currentSubroutine = PAUSE_SCREEN_SUBROUTINE_MAP_SCREEN,
|
||||
.padding_1 = { 0, 0, 0 },
|
||||
.stage = 0,
|
||||
.timer = 0,
|
||||
.unk_8 = 0,
|
||||
.unk_A = 0
|
||||
};
|
||||
|
||||
const u32* const sMapScreenAreaNamesGfxPointers[MAX_AMOUNT_OF_LANGUAGES] = {
|
||||
[LANGUAGE_JAPANESE] = sMapScreenAreaNamesEnglishGfx,
|
||||
[LANGUAGE_HIRAGANA] = sMapScreenAreaNamesHiraganaGfx,
|
||||
[LANGUAGE_ENGLISH] = sMapScreenAreaNamesEnglishGfx,
|
||||
[LANGUAGE_GERMAN] = sMapScreenAreaNamesEnglishGfx,
|
||||
[LANGUAGE_FRENCH] = sMapScreenAreaNamesEnglishGfx,
|
||||
[LANGUAGE_ITALIAN] = sMapScreenAreaNamesEnglishGfx,
|
||||
[LANGUAGE_SPANISH] = sMapScreenAreaNamesEnglishGfx
|
||||
};
|
||||
|
||||
const u32* const sMapScreenChozoStatueAreaNamesGfxPointers[MAX_AMOUNT_OF_LANGUAGES] = {
|
||||
[LANGUAGE_JAPANESE] = sMapScreenChozoStatueAreaNamesEnglishGfx,
|
||||
[LANGUAGE_HIRAGANA] = sMapScreenChozoStatueAreaNamesHiraganaGfx,
|
||||
[LANGUAGE_ENGLISH] = sMapScreenChozoStatueAreaNamesEnglishGfx,
|
||||
[LANGUAGE_GERMAN] = sMapScreenChozoStatueAreaNamesEnglishGfx,
|
||||
[LANGUAGE_FRENCH] = sMapScreenChozoStatueAreaNamesEnglishGfx,
|
||||
[LANGUAGE_ITALIAN] = sMapScreenChozoStatueAreaNamesEnglishGfx,
|
||||
[LANGUAGE_SPANISH] = sMapScreenChozoStatueAreaNamesEnglishGfx
|
||||
};
|
||||
|
||||
const u32* const sMapScreenUnknownItemsNamesGfxPointers[MAX_AMOUNT_OF_LANGUAGES] = {
|
||||
[LANGUAGE_JAPANESE] = sMapScreenUnknownItemsNamesJapaneseGfx,
|
||||
[LANGUAGE_HIRAGANA] = sMapScreenUnknownItemsNamesHiraganaGfx,
|
||||
[LANGUAGE_ENGLISH] = sMapScreenUnknownItemsNamesEnglishGfx,
|
||||
[LANGUAGE_GERMAN] = sMapScreenUnknownItemsNamesEnglishGfx,
|
||||
[LANGUAGE_FRENCH] = sMapScreenUnknownItemsNamesEnglishGfx,
|
||||
[LANGUAGE_ITALIAN] = sMapScreenUnknownItemsNamesEnglishGfx,
|
||||
[LANGUAGE_SPANISH] = sMapScreenUnknownItemsNamesEnglishGfx
|
||||
};
|
||||
|
||||
const u32* const sMapScreenEquipmentNamesGfxPointers[MAX_AMOUNT_OF_LANGUAGES] = {
|
||||
[LANGUAGE_JAPANESE] = sEquipmentNamesJapaneseGfx,
|
||||
[LANGUAGE_HIRAGANA] = sEquipmentNamesHiraganaGfx,
|
||||
[LANGUAGE_ENGLISH] = sEquipmentNamesEnglishGfx,
|
||||
[LANGUAGE_GERMAN] = sEquipmentNamesEnglishGfx,
|
||||
[LANGUAGE_FRENCH] = sEquipmentNamesEnglishGfx,
|
||||
[LANGUAGE_ITALIAN] = sEquipmentNamesEnglishGfx,
|
||||
[LANGUAGE_SPANISH] = sEquipmentNamesEnglishGfx
|
||||
};
|
||||
|
||||
const u32* const sMapScreenMenuNamesGfxPointers[MAX_AMOUNT_OF_LANGUAGES] = {
|
||||
[LANGUAGE_JAPANESE] = sMenuNamesJapaneseGfx,
|
||||
[LANGUAGE_HIRAGANA] = sMenuNamesHiraganaGfx,
|
||||
[LANGUAGE_ENGLISH] = sMenuNamesEnglishGfx,
|
||||
[LANGUAGE_GERMAN] = sMenuNamesEnglishGfx,
|
||||
[LANGUAGE_FRENCH] = sMenuNamesEnglishGfx,
|
||||
[LANGUAGE_ITALIAN] = sMenuNamesEnglishGfx,
|
||||
[LANGUAGE_SPANISH] = sMenuNamesEnglishGfx
|
||||
};
|
||||
|
||||
|
||||
FORCE_RODATA
|
||||
u16 sPauseScreenCompletionInfoOamData[6][5] = {
|
||||
{
|
||||
10, 0xE, HALF_BLOCK_SIZE, BLOCK_SIZE * 8 + HALF_BLOCK_SIZE,
|
||||
0
|
||||
},
|
||||
{
|
||||
11, 0xF, HALF_BLOCK_SIZE, BLOCK_SIZE + HALF_BLOCK_SIZE,
|
||||
0
|
||||
},
|
||||
{
|
||||
12, 0x10, HALF_BLOCK_SIZE, BLOCK_SIZE * 2,
|
||||
0
|
||||
},
|
||||
{
|
||||
13, 0x11, HALF_BLOCK_SIZE, BLOCK_SIZE * 2 + HALF_BLOCK_SIZE,
|
||||
0
|
||||
},
|
||||
{
|
||||
14, 0x12, HALF_BLOCK_SIZE, BLOCK_SIZE * 3,
|
||||
0
|
||||
},
|
||||
{
|
||||
15, 0x13, BLOCK_SIZE * 3 + 8, BLOCK_SIZE - QUARTER_BLOCK_SIZE + 4,
|
||||
0x10
|
||||
}
|
||||
};
|
||||
|
||||
static const u8 sUnused_7601cc[16] = {
|
||||
0x14, 0x0, 0x20, 0x1,
|
||||
0x34, 0x0, 0x12, 0x0,
|
||||
0x16, 0x0, 0x78, 0x1,
|
||||
0x34, 0x0, 0x0, 0x0
|
||||
};
|
||||
|
||||
const u8* const sStatusScreenBeamFlagsOrderPointer = sStatusScreenBeamFlagsOrder;
|
||||
const u8* const sStatusScreenBombFlagsOrderPointer = sStatusScreenBombFlagsOrder;
|
||||
const u8* const sStatusScreenSuitFlagsOrderPointer = sStatusScreenSuitFlagsOrder;
|
||||
const u8* const sStatusScreenMiscFlagsOrderPointer = sStatusScreenMiscFlagsOrder;
|
||||
|
||||
const u32* const sMinimapDataPointers[11] = {
|
||||
[AREA_BRINSTAR] = sBrinstarMinimap,
|
||||
[AREA_KRAID] = sKraidMinimap,
|
||||
[AREA_NORFAIR] = sNorfairMinimap,
|
||||
[AREA_RIDLEY] = sRidleyMinimap,
|
||||
[AREA_TOURIAN] = sTourianMinimap,
|
||||
[AREA_CRATERIA] = sCrateriaMinimap,
|
||||
[AREA_CHOZODIA] = sChozodiaMinimap,
|
||||
[AREA_DEBUG] = sBrinstarMinimap,
|
||||
[8] = sExtraMinimap,
|
||||
[9] = sExtraMinimap,
|
||||
[10] = sExtraMinimap
|
||||
};
|
||||
|
||||
const u32 sExploredMinimapBitFlags[32] = {
|
||||
1 << 0, 1 << 1, 1 << 2, 1 << 3, 1 << 4,
|
||||
1 << 5, 1 << 6, 1 << 7, 1 << 8, 1 << 9,
|
||||
1 << 10, 1 << 11, 1 << 12, 1 << 13, 1 << 14,
|
||||
1 << 15, 1 << 16, 1 << 17, 1 << 18, 1 << 19,
|
||||
1 << 20, 1 << 21, 1 << 22, 1 << 23, 1 << 24,
|
||||
1 << 25, 1 << 26, 1 << 27, 1 << 28, 1 << 29,
|
||||
1 << 30, 1 << 31
|
||||
};
|
||||
|
||||
const MinimapFunc_T sMinimapTilesCopyGFXFunctionPointers[4] = {
|
||||
MinimapCopyTileGFX,
|
||||
MinimapCopyTileXFlippedGFX,
|
||||
MinimapCopyTileYFlippedGFX,
|
||||
MinimapCopyTileXYFlippedGFX,
|
||||
};
|
||||
|
||||
FORCE_RODATA
|
||||
u32* sPauseScreen_7602a8 = VRAM_BASE + 0xBC00;
|
||||
|
||||
FORCE_RODATA
|
||||
u8 sMapDownloadLineTrailOamOffsets[4] = {
|
||||
3, 4, 5, 6
|
||||
};
|
||||
|
||||
FORCE_RODATA
|
||||
const u32 sPauseScreen_7602b0[9] = {
|
||||
0xFFFFFFFF,
|
||||
0xFFFFFFFF ^ 0xF,
|
||||
0xFFFFFFFF ^ 0xFF,
|
||||
0xFFFFFFFF ^ 0xFFF,
|
||||
0xFFFFFFFF ^ 0xFFFF,
|
||||
0xFFFFFFFF ^ 0xFFFFF,
|
||||
0xFFFFFFFF ^ 0xFFFFFF,
|
||||
0xFFFFFFFF ^ 0xFFFFFFF,
|
||||
0xFFFFFFFF ^ 0xFFFFFFFF,
|
||||
};
|
||||
|
||||
const u8 sTempArray_7602d4[0x14c] = INCBIN_U8("data/Blob_7602d4_760420.bin");
|
824
src/data/menus/pause_screen_data.c
Normal file
824
src/data/menus/pause_screen_data.c
Normal file
@ -0,0 +1,824 @@
|
||||
#include "data/menus/pause_screen_data.h"
|
||||
#include "macros.h"
|
||||
#include "gba.h"
|
||||
|
||||
#include "constants/connection.h"
|
||||
#include "constants/event.h"
|
||||
#include "constants/samus.h"
|
||||
#include "constants/text.h"
|
||||
|
||||
const u16 sPauseScreen_3fcef0[11 * 16] = INCBIN_U16("data/menus/PauseScreen/3fcef0.pal");
|
||||
const u16 sTankIconsPal[16 * 16] = INCBIN_U16("data/menus/PauseScreen/TankIcons.pal");
|
||||
static const u16 sUnk_3fd250 = 0x2A25;
|
||||
const u16 sPauseScreen_3fd252[5 * 16 - 1] = INCBIN_U16("data/menus/PauseScreen/3fd252.pal");
|
||||
|
||||
const u16 sMinimapAnimatedPalette[1 * 16] = INCBIN_U16("data/menus/PauseScreen/MinimapAnimated.pal");
|
||||
const u16 sSamusWireframePal[4 * 16] = INCBIN_U16("data/menus/PauseScreen/SamusWireframe.pal");
|
||||
|
||||
// ... Oam
|
||||
static const u8 sTempArray_3fd390[0x17d0] = INCBIN_U8("data/Blob_3fd390_3feb60.bin");
|
||||
|
||||
const u32 sMotifBehindWireframeSamusGfx[278] = INCBIN_U32("data/menus/PauseScreen/MotifBehindWireframeSamus.gfx.lz");
|
||||
const u32 sPauseScreenHudGfx[1404] = INCBIN_U32("data/menus/PauseScreen/PauseScreenHud.gfx.lz");
|
||||
const u32 sMinimapLettersGfx[60] = INCBIN_U32("data/menus/PauseScreen/MinimapLetters.gfx.lz");
|
||||
|
||||
const u32 sMenuNamesJapaneseGfx[92] = INCBIN_U32("data/menus/PauseScreen/MenuNamesJapanese.gfx.lz");
|
||||
const u32 sEquipmentNamesJapaneseGfx[384] = INCBIN_U32("data/menus/PauseScreen/EquipmentNamesJapanese.gfx.lz");
|
||||
|
||||
const u32 sTankIconsGfx[1786] = INCBIN_U32("data/menus/PauseScreen/TankIcons.gfx.lz");
|
||||
|
||||
const u32 sMapScreenAreaNamesEnglishGfx[216] = INCBIN_U32("data/menus/PauseScreen/MapScreenAreaNamesEnglish.gfx.lz");
|
||||
const u32 sMapScreenUnknownItemsNamesJapaneseGfx[65] = INCBIN_U32("data/menus/PauseScreen/MapScreenUnknownItemsNamesJapanese.gfx.lz");
|
||||
const u32 sMapScreenChozoStatueAreaNamesEnglishGfx[152] = INCBIN_U32("data/menus/PauseScreen/MapScreenChozoStatueAreaNamesEnglish.gfx.lz");
|
||||
|
||||
const u32 sChozoHintBackgroundGfx[3618] = INCBIN_U32("data/menus/PauseScreen/ChozoHintBackground.gfx.lz");
|
||||
|
||||
const u32 sBrinstarMinimap[133] = INCBIN_U32("data/menus/PauseScreen/BrinstarMinimap.tt");
|
||||
const u32 sKraidMinimap[121] = INCBIN_U32("data/menus/PauseScreen/KraidMinimap.tt");
|
||||
const u32 sNorfairMinimap[153] = INCBIN_U32("data/menus/PauseScreen/NorfairMinimap.tt");
|
||||
const u32 sRidleyMinimap[120] = INCBIN_U32("data/menus/PauseScreen/RidleyMinimap.tt");
|
||||
const u32 sTourianMinimap[91] = INCBIN_U32("data/menus/PauseScreen/TourianMinimap.tt");
|
||||
const u32 sCrateriaMinimap[114] = INCBIN_U32("data/menus/PauseScreen/CrateriaMinimap.tt");
|
||||
const u32 sChozodiaMinimap[194] = INCBIN_U32("data/menus/PauseScreen/ChozodiaMinimap.tt");
|
||||
const u32 sExtraMinimap[78] = INCBIN_U32("data/menus/PauseScreen/Extra2Minimap.tt");
|
||||
|
||||
const u32 sDebugMenuTileParts[175] = INCBIN_U32("data/menus/PauseScreen/DebugMenuTileParts.tt");
|
||||
const u32 sMapScreenVisorOverlayTilemap[122] = INCBIN_U32("data/menus/PauseScreen/MapScreenVisorOverlay.tt");
|
||||
const u32 sMapScreenOverlayTilemap[125] = INCBIN_U32("data/menus/PauseScreen/MapScreenOverlay.tt");
|
||||
const u32 sWorldMapOverlayTilemap[206] = INCBIN_U32("data/menus/PauseScreen/WorldMapOverlay.tt");
|
||||
const u32 sStatusScreenTilemap[264] = INCBIN_U32("data/menus/PauseScreen/StatusScreen.tt");
|
||||
const u32 sEasySleepTilemap[196] = INCBIN_U32("data/menus/PauseScreen/EasySleep.tt");
|
||||
const u32 sStatusScreenBackgroundTilemap[169] = INCBIN_U32("data/menus/PauseScreen/StatusScreenBackground.tt");
|
||||
const u32 sMapScreenTextBg0TileTable[92] = INCBIN_U32("data/menus/PauseScreen/MapScreenTextBg0.tt");
|
||||
const u32 sChozoHintBackgroundTileTable[577] = INCBIN_U32("data/menus/PauseScreen/ChozoHintBackground.tt");
|
||||
|
||||
const u32 sEquipmentNamesHiraganaGfx[411] = INCBIN_U32("data/menus/PauseScreen/EquipmentNamesHiragana.gfx.lz");
|
||||
const u32 sEquipmentNamesEnglishGfx[1900] = INCBIN_U32("data/menus/PauseScreen/EquipmentNamesEnglish.gfx.lz");
|
||||
const u32 sMapScreenAreaNamesHiraganaGfx[198] = INCBIN_U32("data/menus/PauseScreen/MapScreenAreaNamesHiragana.gfx.lz");
|
||||
const u32 sMenuNamesHiraganaGfx[113] = INCBIN_U32("data/menus/PauseScreen/MenuNamesHiragana.gfx.lz");
|
||||
const u32 sMenuNamesEnglishGfx[468] = INCBIN_U32("data/menus/PauseScreen/MenuNamesEnglish.gfx.lz");
|
||||
const u32 sMapScreenUnknownItemsNamesHiraganaGfx[76] = INCBIN_U32("data/menus/PauseScreen/MapScreenUnknownItemsNamesHiragana.gfx.lz");
|
||||
const u32 sMapScreenUnknownItemsNamesEnglishGfx[337] = INCBIN_U32("data/menus/PauseScreen/MapScreenUnknownItemsNamesEnglish.gfx.lz");
|
||||
const u32 sMapScreenChozoStatueAreaNamesHiraganaGfx[154] = INCBIN_U32("data/menus/PauseScreen/MapScreenChozoStatueAreaNamesHiragana.gfx.lz");
|
||||
|
||||
const struct MenuOamData sMenuOamData_Empty = {
|
||||
.yPosition = 0,
|
||||
.xPosition = 0,
|
||||
.unk_4 = 0,
|
||||
.unk_5 = 0,
|
||||
.unk_6 = 0,
|
||||
.unk_7 = 0,
|
||||
.animationDurationCounter = 0,
|
||||
.currentAnimationFrame = 0,
|
||||
.oamID = 0,
|
||||
.priority = 0,
|
||||
.objMode = 0,
|
||||
.ended = FALSE,
|
||||
.notDrawn = FALSE,
|
||||
.exists = FALSE,
|
||||
.boundBackground = 4,
|
||||
.rotationScaling = FALSE,
|
||||
.unk_E = 0
|
||||
};
|
||||
|
||||
const struct MenuOamData sMenuOamDataChozoHint_Empty = {
|
||||
.yPosition = 0,
|
||||
.xPosition = 0,
|
||||
.unk_4 = 0,
|
||||
.unk_5 = 0,
|
||||
.unk_6 = 0,
|
||||
.unk_7 = 0,
|
||||
.animationDurationCounter = 0,
|
||||
.currentAnimationFrame = 0,
|
||||
.oamID = 0,
|
||||
.priority = 0,
|
||||
.objMode = 0,
|
||||
.ended = FALSE,
|
||||
.notDrawn = FALSE,
|
||||
.exists = FALSE,
|
||||
.boundBackground = 3,
|
||||
.rotationScaling = FALSE,
|
||||
.unk_E = 0
|
||||
};
|
||||
|
||||
const struct MenuOamData sMenuOamDataEraseSram_Empty = {
|
||||
.yPosition = 0,
|
||||
.xPosition = 0,
|
||||
.unk_4 = 0,
|
||||
.unk_5 = 0,
|
||||
.unk_6 = 0,
|
||||
.unk_7 = 0,
|
||||
.animationDurationCounter = 0,
|
||||
.currentAnimationFrame = 0,
|
||||
.oamID = 0,
|
||||
.priority = 0,
|
||||
.objMode = 0,
|
||||
.ended = FALSE,
|
||||
.notDrawn = FALSE,
|
||||
.exists = FALSE,
|
||||
.boundBackground = 1,
|
||||
.rotationScaling = FALSE,
|
||||
.unk_E = 0
|
||||
};
|
||||
|
||||
const struct CutsceneOamData sCutsceneOam_Empty = {
|
||||
.yPosition = 0,
|
||||
.xPosition = 0,
|
||||
.unk_2 = 0,
|
||||
.padding_5 = { 0, 0, 0 },
|
||||
.animationDurationCounter = 0,
|
||||
.currentAnimationFrame = 0,
|
||||
.oamID = 0,
|
||||
.priority = 0,
|
||||
.objMode = 0,
|
||||
.ended = FALSE,
|
||||
.notDrawn = FALSE,
|
||||
.exists = FALSE,
|
||||
.boundBackground = 4,
|
||||
.rotationScaling = FALSE,
|
||||
.actions = 0,
|
||||
.unk_E = 0,
|
||||
.unk_10 = 0,
|
||||
.unk_12 = 0,
|
||||
.timer = 0,
|
||||
.unk_16 = 0,
|
||||
.unk_18 = 0,
|
||||
.unk_1A = 0,
|
||||
.padding_1C = { 0, 0 },
|
||||
.unk_1E = 0
|
||||
};
|
||||
|
||||
const u8 sUnused_40d078[16] = {
|
||||
0x20, 0, 0x50, 0x3,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0x37, 0x60,
|
||||
0x4, 0, 0, 0
|
||||
};
|
||||
|
||||
const u16 sPauseScreen_40d088[4] = {
|
||||
[0] = 0,
|
||||
[1] = 1,
|
||||
[2] = 2,
|
||||
[3] = 3
|
||||
};
|
||||
|
||||
const struct PauseScreenAreaIconData sPauseScreenAreaIconsData[MAX_AMOUNT_OF_AREAS] = {
|
||||
[AREA_BRINSTAR] = {
|
||||
.unk_0 = 0x1,
|
||||
.nameOamId = 0x2,
|
||||
.highlightOamId = 0x13,
|
||||
.xPosition = BLOCK_SIZE * 13 - QUARTER_BLOCK_SIZE,
|
||||
.yPosition = BLOCK_SIZE * 7 + HALF_BLOCK_SIZE + 12
|
||||
},
|
||||
[AREA_KRAID] = {
|
||||
.unk_0 = 0x3,
|
||||
.nameOamId = 0x4,
|
||||
.highlightOamId = 0x14,
|
||||
.xPosition = BLOCK_SIZE * 12,
|
||||
.yPosition = BLOCK_SIZE * 8 + HALF_BLOCK_SIZE + 12
|
||||
},
|
||||
[AREA_NORFAIR] = {
|
||||
.unk_0 = 0x5,
|
||||
.nameOamId = 0x6,
|
||||
.highlightOamId = 0x15,
|
||||
.xPosition = BLOCK_SIZE * 13 + 8,
|
||||
.yPosition = BLOCK_SIZE * 8 + HALF_BLOCK_SIZE + 4
|
||||
},
|
||||
[AREA_RIDLEY] = {
|
||||
.unk_0 = 0x7,
|
||||
.nameOamId = 0x8,
|
||||
.highlightOamId = 0x16,
|
||||
.xPosition = BLOCK_SIZE * 13 + 4,
|
||||
.yPosition = BLOCK_SIZE * 9 - QUARTER_BLOCK_SIZE + 8
|
||||
},
|
||||
[AREA_TOURIAN] = {
|
||||
.unk_0 = 0x9,
|
||||
.nameOamId = 0xA,
|
||||
.highlightOamId = 0x17,
|
||||
.xPosition = BLOCK_SIZE * 11 + HALF_BLOCK_SIZE,
|
||||
.yPosition = BLOCK_SIZE * 8
|
||||
},
|
||||
[AREA_CRATERIA] = {
|
||||
.unk_0 = 0xB,
|
||||
.nameOamId = 0xC,
|
||||
.highlightOamId = 0x18,
|
||||
.xPosition = BLOCK_SIZE * 12 + 12,
|
||||
.yPosition = BLOCK_SIZE * 7 - QUARTER_BLOCK_SIZE + 4
|
||||
},
|
||||
[AREA_CHOZODIA] = {
|
||||
.unk_0 = 0xD,
|
||||
.nameOamId = 0xE,
|
||||
.highlightOamId = 0x19,
|
||||
.xPosition = BLOCK_SIZE * 13 + HALF_BLOCK_SIZE + 4,
|
||||
.yPosition = BLOCK_SIZE * 6 + HALF_BLOCK_SIZE + 4
|
||||
},
|
||||
[AREA_DEBUG] = {
|
||||
.unk_0 = 0,
|
||||
.nameOamId = 0,
|
||||
.highlightOamId = 0,
|
||||
.xPosition = -QUARTER_BLOCK_SIZE,
|
||||
.yPosition = -QUARTER_BLOCK_SIZE
|
||||
}
|
||||
};
|
||||
|
||||
const u16 sMapScreenArrowsData[4][4] = {
|
||||
{
|
||||
1, 0x4, BLOCK_SIZE * 14 + 8, BLOCK_SIZE * 5 - QUARTER_BLOCK_SIZE
|
||||
},
|
||||
{
|
||||
0, 0x3, QUARTER_BLOCK_SIZE + 8, BLOCK_SIZE * 5 - QUARTER_BLOCK_SIZE
|
||||
},
|
||||
{
|
||||
2, 0x1, BLOCK_SIZE * 7 + QUARTER_BLOCK_SIZE, BLOCK_SIZE + 8
|
||||
},
|
||||
{
|
||||
3, 0x2, BLOCK_SIZE * 7 + QUARTER_BLOCK_SIZE, BLOCK_SIZE * 8 + QUARTER_BLOCK_SIZE + 8
|
||||
}
|
||||
};
|
||||
|
||||
const u8 sStatusScreenBeamFlagsOrder[5] = {
|
||||
BBF_LONG_BEAM,
|
||||
BBF_CHARGE_BEAM,
|
||||
BBF_ICE_BEAM,
|
||||
BBF_WAVE_BEAM,
|
||||
BBF_PLASMA_BEAM
|
||||
};
|
||||
|
||||
const u8 sStatusScreenBombFlagsOrder[1] = {
|
||||
BBF_BOMBS
|
||||
};
|
||||
|
||||
const u8 sStatusScreenSuitFlagsOrder[2] = {
|
||||
SMF_VARIA_SUIT,
|
||||
SMF_GRAVITY_SUIT
|
||||
};
|
||||
|
||||
const u8 sStatusScreenMiscFlagsOrder[6] = {
|
||||
SMF_MORPH_BALL,
|
||||
SMF_POWER_GRIP,
|
||||
SMF_SPEEDBOOSTER,
|
||||
SMF_HIGH_JUMP,
|
||||
SMF_SCREW_ATTACK,
|
||||
SMF_SPACE_JUMP
|
||||
};
|
||||
|
||||
const u8 sPauseScreen_40d0fe[4] = {
|
||||
ARRAY_SIZE(sStatusScreenBeamFlagsOrder),
|
||||
ARRAY_SIZE(sStatusScreenBombFlagsOrder),
|
||||
ARRAY_SIZE(sStatusScreenSuitFlagsOrder),
|
||||
ARRAY_SIZE(sStatusScreenMiscFlagsOrder)
|
||||
};
|
||||
|
||||
const u16 sPauseScreen_40d102[5] = {
|
||||
0x1, 0xA, 0x64, 0x3E8, 0x2710
|
||||
};
|
||||
|
||||
const struct PauseScreenWireframeData sSamusWireframeData[7] = {
|
||||
[0] = {
|
||||
.oamId = 0x17,
|
||||
.xPosition = BLOCK_SIZE - QUARTER_BLOCK_SIZE,
|
||||
.yPosition = BLOCK_SIZE - QUARTER_BLOCK_SIZE,
|
||||
.xOffset = BLOCK_SIZE * 15,
|
||||
.objMode = 0,
|
||||
.unk_A = BLOCK_SIZE - QUARTER_BLOCK_SIZE,
|
||||
.unk_C = BLOCK_SIZE - QUARTER_BLOCK_SIZE
|
||||
},
|
||||
[1] = {
|
||||
.oamId = 0x1A,
|
||||
.xPosition = -QUARTER_BLOCK_SIZE,
|
||||
.yPosition = BLOCK_SIZE * 2 - QUARTER_BLOCK_SIZE,
|
||||
.xOffset = BLOCK_SIZE * 16,
|
||||
.objMode = 0,
|
||||
.unk_A = BLOCK_SIZE * 3 + HALF_BLOCK_SIZE + 4,
|
||||
.unk_C = BLOCK_SIZE * 2
|
||||
},
|
||||
[2] = {
|
||||
.oamId = 0x1D,
|
||||
.xPosition = -QUARTER_BLOCK_SIZE,
|
||||
.yPosition = BLOCK_SIZE * 5 + QUARTER_BLOCK_SIZE,
|
||||
.xOffset = BLOCK_SIZE * 17,
|
||||
.objMode = 0,
|
||||
.unk_A = BLOCK_SIZE * 4 + 4,
|
||||
.unk_C = BLOCK_SIZE * 5 + HALF_BLOCK_SIZE + 4
|
||||
},
|
||||
[3] = {
|
||||
.oamId = 0x20,
|
||||
.xPosition = BLOCK_SIZE * 9 - QUARTER_BLOCK_SIZE,
|
||||
.yPosition = BLOCK_SIZE - QUARTER_BLOCK_SIZE,
|
||||
.xOffset = BLOCK_SIZE * 9 - QUARTER_BLOCK_SIZE,
|
||||
.objMode = 0,
|
||||
.unk_A = BLOCK_SIZE * 9 + 4,
|
||||
.unk_C = BLOCK_SIZE
|
||||
},
|
||||
[4] = {
|
||||
.oamId = 0x23,
|
||||
.xPosition = BLOCK_SIZE * 10 - QUARTER_BLOCK_SIZE,
|
||||
.yPosition = BLOCK_SIZE * 2 + QUARTER_BLOCK_SIZE,
|
||||
.xOffset = BLOCK_SIZE * 10 - QUARTER_BLOCK_SIZE,
|
||||
.objMode = 0,
|
||||
.unk_A = BLOCK_SIZE * 10 + 4,
|
||||
.unk_C = BLOCK_SIZE * 2 + HALF_BLOCK_SIZE + 4
|
||||
},
|
||||
[5] = {
|
||||
.oamId = 0x26,
|
||||
.xPosition = BLOCK_SIZE * 10 - QUARTER_BLOCK_SIZE,
|
||||
.yPosition = BLOCK_SIZE * 4 + QUARTER_BLOCK_SIZE,
|
||||
.xOffset = BLOCK_SIZE * 11 - QUARTER_BLOCK_SIZE,
|
||||
.objMode = 0,
|
||||
.unk_A = BLOCK_SIZE * 10 + 4,
|
||||
.unk_C = BLOCK_SIZE * 4 + HALF_BLOCK_SIZE + 4
|
||||
},
|
||||
[6] = {
|
||||
.oamId = 0x2C,
|
||||
.xPosition = BLOCK_SIZE * 5 + QUARTER_BLOCK_SIZE,
|
||||
.yPosition = BLOCK_SIZE * 2 + QUARTER_BLOCK_SIZE,
|
||||
.xOffset = 0,
|
||||
.objMode = 1,
|
||||
.unk_A = BLOCK_SIZE * 5 + QUARTER_BLOCK_SIZE,
|
||||
.unk_C = BLOCK_SIZE * 2 + QUARTER_BLOCK_SIZE
|
||||
}
|
||||
};
|
||||
|
||||
const u16 sPauseScreen_40d17c[2] = {
|
||||
0x80, 0x28
|
||||
};
|
||||
|
||||
const u8 sPauseScreen_40d180[MAX_AMOUNT_OF_AREAS] = {
|
||||
0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0
|
||||
};
|
||||
|
||||
const struct WorldMapData sWorldMapData[MAX_AMOUNT_OF_AREAS - 1] = {
|
||||
[AREA_BRINSTAR] = {
|
||||
.unk_0 = 0x1,
|
||||
.unk_1 = 0x8,
|
||||
.xPosition = BLOCK_SIZE * 8 - QUARTER_BLOCK_SIZE,
|
||||
.yPosition = BLOCK_SIZE * 5 + 8
|
||||
},
|
||||
[AREA_KRAID] = {
|
||||
.unk_0 = 0x2,
|
||||
.unk_1 = 0x9,
|
||||
.xPosition = BLOCK_SIZE * 5 + HALF_BLOCK_SIZE + 12,
|
||||
.yPosition = BLOCK_SIZE * 7 + 12
|
||||
},
|
||||
[AREA_NORFAIR] = {
|
||||
.unk_0 = 0x3,
|
||||
.unk_1 = 0xA,
|
||||
.xPosition = BLOCK_SIZE * 9 + 8,
|
||||
.yPosition = BLOCK_SIZE * 7 - QUARTER_BLOCK_SIZE + 8
|
||||
},
|
||||
[AREA_RIDLEY] = {
|
||||
.unk_0 = 0x4,
|
||||
.unk_1 = 0xB,
|
||||
.xPosition = BLOCK_SIZE * 9,
|
||||
.yPosition = BLOCK_SIZE * 8 - QUARTER_BLOCK_SIZE + 8
|
||||
},
|
||||
[AREA_TOURIAN] = {
|
||||
.unk_0 = 0x5,
|
||||
.unk_1 = 0xC,
|
||||
.xPosition = BLOCK_SIZE * 4 + QUARTER_BLOCK_SIZE + 4,
|
||||
.yPosition = BLOCK_SIZE * 5 + QUARTER_BLOCK_SIZE + 12
|
||||
},
|
||||
[AREA_CRATERIA] = {
|
||||
.unk_0 = 0x6,
|
||||
.unk_1 = 0xD,
|
||||
.xPosition = BLOCK_SIZE * 6 + 8,
|
||||
.yPosition = BLOCK_SIZE * 3 + 8
|
||||
},
|
||||
[AREA_CHOZODIA] = {
|
||||
.unk_0 = 0x7,
|
||||
.unk_1 = 0xE,
|
||||
.xPosition = BLOCK_SIZE * 10,
|
||||
.yPosition = BLOCK_SIZE * 3 - QUARTER_BLOCK_SIZE + 4
|
||||
}
|
||||
};
|
||||
|
||||
const u16 sPauseScreen_40d1c0[16][2] = {
|
||||
[0] = { BLOCK_SIZE * 6 + QUARTER_BLOCK_SIZE, BLOCK_SIZE * 5 - QUARTER_BLOCK_SIZE + 8 },
|
||||
[1] = { BLOCK_SIZE * 10 - 4, BLOCK_SIZE * 5 - QUARTER_BLOCK_SIZE + 12 },
|
||||
[2] = { BLOCK_SIZE * 10 + HALF_BLOCK_SIZE + 4, BLOCK_SIZE * 6 + HALF_BLOCK_SIZE + 8 },
|
||||
[3] = { BLOCK_SIZE * 5 + HALF_BLOCK_SIZE + 8, BLOCK_SIZE * 7 + HALF_BLOCK_SIZE + 4 },
|
||||
[4] = { BLOCK_SIZE * 11 - QUARTER_BLOCK_SIZE + 4, BLOCK_SIZE * 7 - QUARTER_BLOCK_SIZE + 8 },
|
||||
[5] = { BLOCK_SIZE * 9 - QUARTER_BLOCK_SIZE + 8, BLOCK_SIZE * 4 + 12 },
|
||||
[6] = { BLOCK_SIZE * 8 + 12, BLOCK_SIZE * 7 + 8 },
|
||||
[7] = { BLOCK_SIZE * 7 + HALF_BLOCK_SIZE + 8, BLOCK_SIZE * 7 - QUARTER_BLOCK_SIZE + 4 },
|
||||
[8] = { 0, 0 },
|
||||
[9] = { 0, 0 },
|
||||
[10] = { 0, 0 },
|
||||
[11] = { 0, 0 },
|
||||
[12] = { 0, 0 },
|
||||
[13] = { 0, 0 },
|
||||
[14] = { 0, 0 },
|
||||
[15] = { 0, 0 }
|
||||
};
|
||||
|
||||
const u8 sBossIcons[MAX_AMOUNT_OF_AREAS - 1][5] = {
|
||||
[AREA_BRINSTAR] = {
|
||||
EVENT_NONE,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
},
|
||||
[AREA_KRAID] = {
|
||||
EVENT_KRAID_KILLED,
|
||||
0x1,
|
||||
9,
|
||||
14,
|
||||
0
|
||||
},
|
||||
[AREA_NORFAIR] = {
|
||||
EVENT_NONE,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
},
|
||||
[AREA_RIDLEY] = {
|
||||
EVENT_RIDLEY_KILLED,
|
||||
0x2,
|
||||
7,
|
||||
6,
|
||||
0
|
||||
},
|
||||
[AREA_TOURIAN] = {
|
||||
EVENT_NONE,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
},
|
||||
[AREA_CRATERIA] = {
|
||||
EVENT_ESCAPED_ZEBES,
|
||||
0,
|
||||
9,
|
||||
7,
|
||||
4
|
||||
},
|
||||
[AREA_CHOZODIA] = {
|
||||
EVENT_NONE,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
}
|
||||
};
|
||||
|
||||
const u16 sMapChunksToUpdate[3] = {
|
||||
0x1C, 0x5C, 0xD4
|
||||
};
|
||||
|
||||
|
||||
static const u8 sTempArray_40d22c[0x442] = INCBIN_U8("data/Blob_40d22a_40d66c.bin");
|
||||
|
||||
/*const struct OamArray sPauseScreenMiscOam[56] = {
|
||||
|
||||
};
|
||||
|
||||
const struct OamArray sPauseScreenAreaNameOam[33] = {
|
||||
|
||||
};
|
||||
|
||||
const struct OamArray sPauseScreenBorderArrowsOam[5] = {
|
||||
|
||||
};
|
||||
|
||||
const struct OamArray sPauseScreenSamusIconOam[5] = {
|
||||
|
||||
};
|
||||
|
||||
const struct OamArray sPauseScreenBossIconsOam[5] = {
|
||||
|
||||
};
|
||||
|
||||
const struct OamArray sPauseScreenTargetsOam[16] = {
|
||||
|
||||
};
|
||||
|
||||
const struct OamArray sPauseScreenWorldMapOam[18] = {
|
||||
|
||||
};*/
|
||||
|
||||
|
||||
const u8 sMaintainedInputDelays[8] = {
|
||||
20, 4, 4, 4, 4, 4, 2
|
||||
};
|
||||
|
||||
const u8 sMapScreenAreaIds[MAX_AMOUNT_OF_AREAS] = {
|
||||
AREA_BRINSTAR,
|
||||
AREA_KRAID,
|
||||
AREA_NORFAIR,
|
||||
AREA_RIDLEY,
|
||||
AREA_TOURIAN,
|
||||
AREA_CRATERIA,
|
||||
AREA_CHOZODIA,
|
||||
0x8
|
||||
};
|
||||
|
||||
const u8 sMapScreenAreasViewOrder[MAX_AMOUNT_OF_AREAS] = {
|
||||
AREA_CRATERIA,
|
||||
AREA_BRINSTAR,
|
||||
AREA_KRAID,
|
||||
AREA_NORFAIR,
|
||||
AREA_RIDLEY,
|
||||
AREA_TOURIAN,
|
||||
AREA_CHOZODIA,
|
||||
AREA_BRINSTAR
|
||||
};
|
||||
|
||||
const struct MinimapAreaName sMinimapAreaNames[10] = {
|
||||
[0] = {
|
||||
.area1 = AREA_CRATERIA,
|
||||
.mapX1 = 3 + 1,
|
||||
.mapY1 = 13 + 1,
|
||||
.xOffset1 = -1,
|
||||
.yOffset1 = 1,
|
||||
.area2 = AREA_TOURIAN,
|
||||
.mapX2 = 18 + 1,
|
||||
.mapY2 = 1 + 1,
|
||||
.xOffset2 = -1,
|
||||
.yOffset2 = -1
|
||||
},
|
||||
[1] = {
|
||||
.area1 = AREA_CRATERIA,
|
||||
.mapX1 = 9 + 1,
|
||||
.mapY1 = 11 + 1,
|
||||
.xOffset1 = -1,
|
||||
.yOffset1 = 1,
|
||||
.area2 = AREA_BRINSTAR,
|
||||
.mapX2 = 2 + 1,
|
||||
.mapY2 = 13 + 1,
|
||||
.xOffset2 = -1,
|
||||
.yOffset2 = -1
|
||||
},
|
||||
[2] = {
|
||||
.area1 = AREA_CRATERIA,
|
||||
.mapX1 = 15 + 1,
|
||||
.mapY1 = 8 + 1,
|
||||
.xOffset1 = -1,
|
||||
.yOffset1 = 1,
|
||||
.area2 = AREA_NORFAIR,
|
||||
.mapX2 = 5 + 1,
|
||||
.mapY2 = 3 + 1,
|
||||
.xOffset2 = -1,
|
||||
.yOffset2 = -1
|
||||
},
|
||||
[3] = {
|
||||
.area1 = AREA_BRINSTAR,
|
||||
.mapX1 = 22 + 1,
|
||||
.mapY1 = 13 + 1,
|
||||
.xOffset1 = -1,
|
||||
.yOffset1 = 1,
|
||||
.area2 = AREA_NORFAIR,
|
||||
.mapX2 = 14 + 1,
|
||||
.mapY2 = 3 + 1,
|
||||
.xOffset2 = -2,
|
||||
.yOffset2 = -1
|
||||
},
|
||||
[4] = {
|
||||
.area1 = AREA_BRINSTAR,
|
||||
.mapX1 = 6 + 1,
|
||||
.mapY1 = 19 + 1,
|
||||
.xOffset1 = -1,
|
||||
.yOffset1 = 1,
|
||||
.area2 = AREA_KRAID,
|
||||
.mapX2 = 9 + 1,
|
||||
.mapY2 = 4 + 1,
|
||||
.xOffset2 = -2,
|
||||
.yOffset2 = -1
|
||||
},
|
||||
[5] = {
|
||||
.area1 = AREA_BRINSTAR,
|
||||
.mapX1 = 1 + 1,
|
||||
.mapY1 = 4 + 1,
|
||||
.xOffset1 = -1,
|
||||
.yOffset1 = 1,
|
||||
.area2 = AREA_TOURIAN,
|
||||
.mapX2 = 20 + 1,
|
||||
.mapY2 = 2 + 1,
|
||||
.xOffset2 = -1,
|
||||
.yOffset2 = -1
|
||||
},
|
||||
[6] = {
|
||||
.area1 = AREA_NORFAIR,
|
||||
.mapX1 = 17 + 1,
|
||||
.mapY1 = 14 + 1,
|
||||
.xOffset1 = -1,
|
||||
.yOffset1 = 1,
|
||||
.area2 = AREA_RIDLEY,
|
||||
.mapX2 = 15 + 1,
|
||||
.mapY2 = 1 + 1,
|
||||
.xOffset2 = -1,
|
||||
.yOffset2 = -1
|
||||
},
|
||||
[7] = {
|
||||
.area1 = AREA_CRATERIA,
|
||||
.mapX1 = 24 + 1,
|
||||
.mapY1 = 3 + 1,
|
||||
.xOffset1 = 1,
|
||||
.yOffset1 = 0,
|
||||
.area2 = AREA_CHOZODIA,
|
||||
.mapX2 = 2 + 1,
|
||||
.mapY2 = 17 + 1,
|
||||
.xOffset2 = -1,
|
||||
.yOffset2 = 0
|
||||
},
|
||||
[8] = {
|
||||
.area1 = AREA_CRATERIA,
|
||||
.mapX1 = 24 + 1,
|
||||
.mapY1 = 7 + 1,
|
||||
.xOffset1 = 1,
|
||||
.yOffset1 = 0,
|
||||
.area2 = AREA_CHOZODIA,
|
||||
.mapX2 = 2 + 1,
|
||||
.mapY2 = 21 + 1,
|
||||
.xOffset2 = 1,
|
||||
.yOffset2 = 1
|
||||
},
|
||||
[9] = {
|
||||
.area1 = UCHAR_MAX,
|
||||
.mapX1 = UCHAR_MAX,
|
||||
.mapY1 = UCHAR_MAX,
|
||||
.xOffset1 = UCHAR_MAX,
|
||||
.yOffset1 = UCHAR_MAX,
|
||||
.area2 = UCHAR_MAX,
|
||||
.mapX2 = UCHAR_MAX,
|
||||
.mapY2 = UCHAR_MAX,
|
||||
.xOffset2 = UCHAR_MAX,
|
||||
.yOffset2 = UCHAR_MAX
|
||||
}
|
||||
};
|
||||
|
||||
const u8 sPauseScreen_40d6fc[80] = INCBIN_U8("data/menus/PauseScreen/40d6fc.gfx");
|
||||
const u8 sPauseScreen_40d74c[80] = INCBIN_U8("data/menus/PauseScreen/40d74c.gfx");
|
||||
|
||||
u8* const sPauseScreen_40d79c[5] = {
|
||||
VRAM_BASE + 0x16360,
|
||||
VRAM_BASE + 0x16760,
|
||||
VRAM_BASE + 0x16B60,
|
||||
VRAM_BASE + 0x16F60,
|
||||
VRAM_BASE + 0x17300,
|
||||
};
|
||||
|
||||
// TODO use char defines
|
||||
const u8 sCharacterWidths[1184] = {
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
6, 6, 7, 7, 7, 8, 8, 4, 5, 5, 7, 7, 4, 8, 4, 7,
|
||||
7, 5, 7, 7, 7, 7, 7, 7, 7, 7, 4, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 7, 7, 7, 7, 7, 7, 7, 7, 6, 7, 7, 7, 8, 7, 7,
|
||||
7, 7, 7, 7, 6, 7, 8, 8, 8, 6, 7, 5, 7, 5, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 6, 6, 6, 6, 6, 5, 6, 6, 2, 5, 5, 3, 6, 6, 6,
|
||||
6, 6, 5, 6, 5, 6, 6, 6, 6, 6, 6, 5, 3, 5, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 6, 8, 8, 8, 8, 8, 16, 8, 11, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
14, 8, 14, 8, 14, 8, 14, 8, 14, 8, 14, 8, 16, 8, 16, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 5, 5, 5, 5,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 5, 5, 5, 5,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
6, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 7, 7, 7, 7, 7, 7, 7, 7, 6, 7, 7, 7, 7, 7, 7,
|
||||
7, 7, 7, 7, 6, 7, 7, 7, 7, 6, 7, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 6, 6, 6, 6, 6, 5, 6, 6, 2, 5, 5, 3, 6, 6, 6,
|
||||
6, 6, 5, 6, 5, 6, 6, 6, 6, 6, 6, 8, 8, 8, 8, 8
|
||||
};
|
||||
|
||||
const struct Message sMessage_Empty = {
|
||||
.textIndex = 0,
|
||||
.indent = 0,
|
||||
.delay = 0,
|
||||
.color = 0,
|
||||
.line = 0,
|
||||
.unk_8 = 0,
|
||||
.unk_9 = 0,
|
||||
.messageID = 0,
|
||||
.gfxSlot = 0,
|
||||
.stage = 0,
|
||||
.isMessage = TRUE,
|
||||
.messageEnded = FALSE,
|
||||
.unk_F = 0
|
||||
};
|
||||
|
||||
const struct Message sMessageStoryText_Empty = {
|
||||
.textIndex = 0,
|
||||
.indent = 0,
|
||||
.delay = 0,
|
||||
.color = 0,
|
||||
.line = 0,
|
||||
.unk_8 = 0,
|
||||
.unk_9 = 0,
|
||||
.messageID = 0,
|
||||
.gfxSlot = 0,
|
||||
.stage = 0,
|
||||
.isMessage = FALSE,
|
||||
.messageEnded = FALSE,
|
||||
.unk_F = 0
|
||||
};
|
||||
|
||||
const struct Message sMessageFileScreen_Empty = {
|
||||
.textIndex = 0,
|
||||
.indent = 0,
|
||||
.delay = 0,
|
||||
.color = 0,
|
||||
.line = 0,
|
||||
.unk_8 = 0,
|
||||
.unk_9 = 0,
|
||||
.messageID = 0,
|
||||
.gfxSlot = 0,
|
||||
.stage = 0,
|
||||
.isMessage = FALSE,
|
||||
.messageEnded = FALSE,
|
||||
.unk_F = 0
|
||||
};
|
||||
|
||||
const struct Message sMessageDescription_Empty = {
|
||||
.textIndex = 0,
|
||||
.indent = 0,
|
||||
.delay = 0,
|
||||
.color = 0,
|
||||
.line = 0,
|
||||
.unk_8 = 2,
|
||||
.unk_9 = 20,
|
||||
.messageID = 0,
|
||||
.gfxSlot = 0,
|
||||
.stage = 0,
|
||||
.isMessage = FALSE,
|
||||
.messageEnded = FALSE,
|
||||
.unk_F = 0
|
||||
};
|
||||
|
||||
const u16 sPauseScreen_40dc90[1 * 16] = INCBIN_U16("data/menus/PauseScreen/40dc90.pal");
|
||||
const u16 sPauseScreen_40dcb0[1 * 16] = INCBIN_U16("data/menus/PauseScreen/40dcb0.pal");
|
||||
const u16 sPauseScreen_40dcd0[1 * 16] = INCBIN_U16("data/menus/PauseScreen/40dcd0.pal");
|
||||
|
||||
const u8 sPauseScreen_40dcf0[4] = {
|
||||
32, 16, 16, 16
|
||||
};
|
||||
|
||||
const u8 sPauseScreen_40dcf4[16] = {
|
||||
2, 2, 2, 2,
|
||||
2, 2, 2, 2,
|
||||
2, 2, 2, 2,
|
||||
2, 2, 2, 2
|
||||
};
|
||||
|
||||
const u8 sMinimapAnimatedPaletteOffsets[MAX_AMOUNT_OF_AREAS - 1] = {
|
||||
0x9E, 0x9D, 0x9C, 0x9B,
|
||||
0x9A, 0x9F, 0x99
|
||||
};
|
||||
|
||||
const u8 sTempArray_40dd0b[0x3b9] = INCBIN_U8("data/Blob_40dd0b_40e0c4.bin");
|
7
src/data/menus/pause_screen_map_data.c
Normal file
7
src/data/menus/pause_screen_map_data.c
Normal file
@ -0,0 +1,7 @@
|
||||
#include "data/menus/pause_screen_map_data.h"
|
||||
#include "macros.h"
|
||||
|
||||
const u8 sMinimapTilesGfx[5120] = INCBIN_U8("data/menus/PauseScreen/sMinimapTiles.gfx");
|
||||
const u32 sPauseScreen_40f4c4[1792] = INCBIN_U32("data/menus/PauseScreen/40f4c4.gfx");
|
||||
const u32 sMapScreenAreaNamesGfx[167] = INCBIN_U32("data/menus/PauseScreen/MapScreenAreaNamesGfx");
|
||||
const u16 sMinimapTilesPal[5 * 16] = INCBIN_U16("data/menus/PauseScreen/MinimapTiles.pal");
|
@ -1,21 +0,0 @@
|
||||
#include "data/unsorted.h"
|
||||
#include "minimap.h"
|
||||
#include "gba.h"
|
||||
#include "temp_globals.h"
|
||||
|
||||
// 760218
|
||||
const u32 sExploredMinimapBitFlags[32] = {
|
||||
0x1, 0x2, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80, 0x100, 0x200, 0x400, 0x800,
|
||||
0x1000, 0x2000, 0x4000, 0x8000, 0x10000, 0x20000, 0x40000, 0x80000,
|
||||
0x100000, 0x200000, 0x400000, 0x800000, 0x1000000, 0x2000000, 0x4000000,
|
||||
0x8000000, 0x10000000, 0x20000000, 0x40000000, 0x80000000
|
||||
};
|
||||
|
||||
// 760298
|
||||
const MinimapFunc_T sMinimapTilesCopyGFXFunctionPointers[4] = {
|
||||
MinimapCopyTileGFX,
|
||||
MinimapCopyTileXFlippedGFX,
|
||||
MinimapCopyTileYFlippedGFX,
|
||||
MinimapCopyTileXYFlippedGFX,
|
||||
};
|
||||
|
@ -1,10 +1,12 @@
|
||||
#include "menus/erase_sram.h"
|
||||
#include "macros.h"
|
||||
#include "callbacks.h"
|
||||
|
||||
#include "data/shortcut_pointers.h"
|
||||
#include "data/menus/erase_sram_data.h"
|
||||
#include "data/menus/internal_erase_sram_data.h"
|
||||
#include "data/menus/title_screen_data.h"
|
||||
#include "data/menus/pause_screen_data.h"
|
||||
|
||||
#include "constants/audio.h"
|
||||
#include "constants/game_state.h"
|
||||
@ -384,10 +386,7 @@ void EraseSramResetOAM(void)
|
||||
ERASE_SRAM_DATA.nextOption = ERASE_SRAM_OPTION_CHANGED_FLAG | ERASE_SRAM_OPTION_QUESTION_NO;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(ERASE_SRAM_DATA.oam); i++)
|
||||
{
|
||||
ERASE_SRAM_DATA.oam[i] = *(struct MenuOamData*)0x840d048;
|
||||
// FIXME *pOam = sEraseSramMenuOamData_Empty;
|
||||
}
|
||||
ERASE_SRAM_DATA.oam[i] = sMenuOamDataEraseSram_Empty;
|
||||
|
||||
ERASE_SRAM_DATA.oam[2].oamID = sEraseSramQuestionWindowNoSelectedOamId;
|
||||
ERASE_SRAM_DATA.oam[2].yPosition = sEraseSramMenuCursorPosition[0][1];
|
||||
|
@ -7,6 +7,7 @@
|
||||
#include "data/menus/game_over_data.h"
|
||||
#include "data/menus/file_select_data.h"
|
||||
#include "data/shortcut_pointers.h"
|
||||
#include "data/menus/pause_screen_data.h"
|
||||
|
||||
#include "constants/audio.h"
|
||||
#include "constants/demo.h"
|
||||
@ -303,8 +304,7 @@ void GameOverInit(void)
|
||||
|
||||
GameOverUpdateTextGfx();
|
||||
|
||||
// FIXME GAME_OVER_DATA.oam[0] = sMenuOamData_Empty;
|
||||
GAME_OVER_DATA.oam[0] = *(struct MenuOamData*)0x840d028;
|
||||
GAME_OVER_DATA.oam[0] = sMenuOamData_Empty;
|
||||
|
||||
GameOverUpdateSamusHead(SAMUS_CURSOR_ACTION_LOADING);
|
||||
CallbackSetVBlank(GameOverVBlank);
|
||||
@ -361,8 +361,7 @@ void GameOverInit_Unused(void)
|
||||
|
||||
GameOverUpdateTextGfx();
|
||||
|
||||
// FIXME GAME_OVER_DATA.oam[0] = sMenuOamData_Empty;
|
||||
GAME_OVER_DATA.oam[0] = *(struct MenuOamData*)0x840d028;
|
||||
GAME_OVER_DATA.oam[0] = sMenuOamData_Empty;
|
||||
|
||||
CallbackSetVBlank(GameOverVBlank);
|
||||
}
|
||||
|
@ -303,18 +303,18 @@ void PauseScreenUpdateMapArrows(void)
|
||||
PAUSE_SCREEN_DATA.canScrollRight = PAUSE_SCREEN_DATA.mapRightBorder > PAUSE_SCREEN_DATA.mapViewX;
|
||||
|
||||
// Draw if can scroll
|
||||
PAUSE_SCREEN_DATA.borderArrowsOam[sPauseScreen_40d0d0[0][0]].notDrawn = PAUSE_SCREEN_DATA.canScrollRight ? FALSE : TRUE;
|
||||
PAUSE_SCREEN_DATA.borderArrowsOam[sPauseScreen_40d0d0[1][0]].notDrawn = PAUSE_SCREEN_DATA.canScrollLeft ? FALSE : TRUE;
|
||||
PAUSE_SCREEN_DATA.borderArrowsOam[sPauseScreen_40d0d0[2][0]].notDrawn = PAUSE_SCREEN_DATA.canScrollUp ? FALSE : TRUE;
|
||||
PAUSE_SCREEN_DATA.borderArrowsOam[sPauseScreen_40d0d0[3][0]].notDrawn = PAUSE_SCREEN_DATA.canScrollDown ? FALSE : TRUE;
|
||||
PAUSE_SCREEN_DATA.borderArrowsOam[sMapScreenArrowsData[0][0]].notDrawn = PAUSE_SCREEN_DATA.canScrollRight ? FALSE : TRUE;
|
||||
PAUSE_SCREEN_DATA.borderArrowsOam[sMapScreenArrowsData[1][0]].notDrawn = PAUSE_SCREEN_DATA.canScrollLeft ? FALSE : TRUE;
|
||||
PAUSE_SCREEN_DATA.borderArrowsOam[sMapScreenArrowsData[2][0]].notDrawn = PAUSE_SCREEN_DATA.canScrollUp ? FALSE : TRUE;
|
||||
PAUSE_SCREEN_DATA.borderArrowsOam[sMapScreenArrowsData[3][0]].notDrawn = PAUSE_SCREEN_DATA.canScrollDown ? FALSE : TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Not on map screen, set not drawn
|
||||
PAUSE_SCREEN_DATA.borderArrowsOam[sPauseScreen_40d0d0[0][0]].notDrawn = TRUE;
|
||||
PAUSE_SCREEN_DATA.borderArrowsOam[sPauseScreen_40d0d0[1][0]].notDrawn = TRUE;
|
||||
PAUSE_SCREEN_DATA.borderArrowsOam[sPauseScreen_40d0d0[2][0]].notDrawn = TRUE;
|
||||
PAUSE_SCREEN_DATA.borderArrowsOam[sPauseScreen_40d0d0[3][0]].notDrawn = TRUE;
|
||||
PAUSE_SCREEN_DATA.borderArrowsOam[sMapScreenArrowsData[0][0]].notDrawn = TRUE;
|
||||
PAUSE_SCREEN_DATA.borderArrowsOam[sMapScreenArrowsData[1][0]].notDrawn = TRUE;
|
||||
PAUSE_SCREEN_DATA.borderArrowsOam[sMapScreenArrowsData[2][0]].notDrawn = TRUE;
|
||||
PAUSE_SCREEN_DATA.borderArrowsOam[sMapScreenArrowsData[3][0]].notDrawn = TRUE;
|
||||
}
|
||||
|
||||
// Update world map area highlight
|
||||
@ -839,31 +839,19 @@ void PauseScreenLoadAreaNamesAndIcons(void)
|
||||
|
||||
pOam = PAUSE_SCREEN_DATA.miscOam;
|
||||
for (i = 0; i < ARRAY_SIZE(PAUSE_SCREEN_DATA.miscOam); i++, pOam++)
|
||||
{
|
||||
// FIXME *pOam = sMenuOamData_Empty;
|
||||
*pOam = *(struct MenuOamData*)0x840d028;
|
||||
}
|
||||
*pOam = sMenuOamData_Empty;
|
||||
|
||||
pOam = PAUSE_SCREEN_DATA.areaNameOam;
|
||||
for (i = 0; i < ARRAY_SIZE(PAUSE_SCREEN_DATA.areaNameOam); i++, pOam++)
|
||||
{
|
||||
// FIXME *pOam = sMenuOamData_Empty;
|
||||
*pOam = *(struct MenuOamData*)0x840d028;
|
||||
}
|
||||
*pOam = sMenuOamData_Empty;
|
||||
|
||||
pOam = PAUSE_SCREEN_DATA.borderArrowsOam;
|
||||
for (i = 0; i < ARRAY_SIZE(PAUSE_SCREEN_DATA.borderArrowsOam); i++, pOam++)
|
||||
{
|
||||
// FIXME *pOam = sMenuOamData_Empty;
|
||||
*pOam = *(struct MenuOamData*)0x840d028;
|
||||
}
|
||||
*pOam = sMenuOamData_Empty;
|
||||
|
||||
pOam = PAUSE_SCREEN_DATA.worldMapOam;
|
||||
for (i = 0; i < ARRAY_SIZE(PAUSE_SCREEN_DATA.worldMapOam); i++, pOam++)
|
||||
{
|
||||
// FIXME *pOam = sMenuOamData_Empty;
|
||||
*pOam = *(struct MenuOamData*)0x840d028;
|
||||
}
|
||||
*pOam = sMenuOamData_Empty;
|
||||
|
||||
if (PAUSE_SCREEN_DATA.typeFlags & PAUSE_SCREEN_TYPE_GETTING_NEW_ITEM)
|
||||
{
|
||||
@ -939,17 +927,17 @@ void PauseScreenLoadAreaNamesAndIcons(void)
|
||||
|
||||
PauseScreenDrawCompletionInfo(FALSE);
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(sPauseScreen_40d0d0); i++)
|
||||
for (i = 0; i < ARRAY_SIZE(sMapScreenArrowsData); i++)
|
||||
{
|
||||
if (gPauseScreenFlag == PAUSE_SCREEN_PAUSE_OR_CUTSCENE)
|
||||
{
|
||||
PAUSE_SCREEN_DATA.borderArrowsOam[sPauseScreen_40d0d0[i][0]].exists = TRUE;
|
||||
PAUSE_SCREEN_DATA.borderArrowsOam[sMapScreenArrowsData[i][0]].exists = TRUE;
|
||||
}
|
||||
|
||||
PAUSE_SCREEN_DATA.borderArrowsOam[sPauseScreen_40d0d0[i][0]].oamID = sPauseScreen_40d0d0[i][1];
|
||||
PAUSE_SCREEN_DATA.borderArrowsOam[sPauseScreen_40d0d0[i][0]].xPosition = sPauseScreen_40d0d0[i][2];
|
||||
PAUSE_SCREEN_DATA.borderArrowsOam[sPauseScreen_40d0d0[i][0]].yPosition = sPauseScreen_40d0d0[i][3];
|
||||
PAUSE_SCREEN_DATA.borderArrowsOam[sPauseScreen_40d0d0[i][0]].priority = 3;
|
||||
PAUSE_SCREEN_DATA.borderArrowsOam[sMapScreenArrowsData[i][0]].oamID = sMapScreenArrowsData[i][1];
|
||||
PAUSE_SCREEN_DATA.borderArrowsOam[sMapScreenArrowsData[i][0]].xPosition = sMapScreenArrowsData[i][2];
|
||||
PAUSE_SCREEN_DATA.borderArrowsOam[sMapScreenArrowsData[i][0]].yPosition = sMapScreenArrowsData[i][3];
|
||||
PAUSE_SCREEN_DATA.borderArrowsOam[sMapScreenArrowsData[i][0]].priority = 3;
|
||||
}
|
||||
}
|
||||
|
||||
@ -3426,7 +3414,7 @@ void CheckForMaintainedInput(void)
|
||||
gMaintainedInputData.delay = 0;
|
||||
|
||||
// Update set
|
||||
if (gMaintainedInputData.set < ARRAY_SIZE(sMaintainedInputDelays) - 1)
|
||||
if (gMaintainedInputData.set < ARRAY_SIZE(sMaintainedInputDelays) - 2)
|
||||
gMaintainedInputData.set++;
|
||||
}
|
||||
}
|
||||
|
@ -6,6 +6,7 @@
|
||||
#include "data/block_data.h"
|
||||
#include "data/menus/pause_screen_data.h"
|
||||
#include "data/menus/pause_screen_map_data.h"
|
||||
#include "data/menus/internal_pause_screen_data.h"
|
||||
|
||||
#include "constants/block.h"
|
||||
#include "constants/connection.h"
|
||||
@ -233,7 +234,7 @@ void PauseScreenDrawIgtAndTanks(u8 param_1, u8 drawTanks)
|
||||
sPauseScreen_40d79c[3] + HALF_BLOCK_SIZE * 2, HALF_BLOCK_SIZE, 32);
|
||||
|
||||
// Draw checkmarks when you have all of the tanks
|
||||
for (i = 0; i < 3; i++)
|
||||
for (i = 3; i >= 0; i--)
|
||||
{
|
||||
if ((PAUSE_SCREEN_DATA.tankStatus >> i) & 1)
|
||||
{
|
||||
|
@ -675,8 +675,7 @@ void ChozoHintDeterminePath(u8 param_1)
|
||||
const i8* pTarget;
|
||||
const u8* ptr;
|
||||
|
||||
// FIXME
|
||||
DMATransfer(3, 0x840d038, &oam, sizeof(oam), 16);
|
||||
DMATransfer(3, sMenuOamDataChozoHint_Empty, &oam, sizeof(oam), 16);
|
||||
|
||||
if (PAUSE_SCREEN_DATA.typeFlags & PAUSE_SCREEN_TYPE_ON_MAP_SCREEN)
|
||||
oam.priority = 0;
|
||||
|
@ -5,6 +5,7 @@
|
||||
#include "data/shortcut_pointers.h"
|
||||
#include "data/menus/status_screen.h"
|
||||
#include "data/menus/pause_screen_data.h"
|
||||
#include "data/menus/internal_pause_screen_data.h"
|
||||
|
||||
#include "constants/connection.h"
|
||||
#include "constants/demo.h"
|
||||
|
@ -6,6 +6,7 @@
|
||||
#include "data/shortcut_pointers.h"
|
||||
#include "data/menus/title_screen_data.h"
|
||||
#include "data/menus/internal_title_screen_data.h"
|
||||
#include "data/menus/pause_screen_data.h"
|
||||
|
||||
#include "constants/menus/title_screen.h"
|
||||
#include "constants/audio.h"
|
||||
@ -95,8 +96,7 @@ void TitleScreenResetOAM(void)
|
||||
|
||||
while (i < ARRAY_SIZE(TITLE_SCREEN_DATA.oam))
|
||||
{
|
||||
*pOam = *(struct MenuOamData*)0x840d028;
|
||||
// FIXME *pOam = sMenuOamData_Empty;
|
||||
*pOam = sMenuOamData_Empty;
|
||||
|
||||
i++;
|
||||
pOam++;
|
||||
|
@ -2,10 +2,10 @@
|
||||
#include "gba.h"
|
||||
#include "macros.h"
|
||||
|
||||
#include "data/unsorted.h"
|
||||
#include "data/shortcut_pointers.h"
|
||||
#include "data/menus/pause_screen_data.h"
|
||||
#include "data/menus/pause_screen_map_data.h"
|
||||
#include "data/menus/internal_pause_screen_data.h"
|
||||
|
||||
#include "constants/connection.h"
|
||||
#include "constants/game_state.h"
|
||||
|
@ -4,6 +4,7 @@
|
||||
|
||||
#include "data/text_data.h"
|
||||
#include "data/shortcut_pointers.h"
|
||||
#include "data/menus/pause_screen_data.h"
|
||||
|
||||
#include "constants/text.h"
|
||||
#include "constants/menus/pause_screen.h"
|
||||
|
@ -29,6 +29,7 @@ subDirs: array = [
|
||||
"menus/",
|
||||
"menus/TitleScreen/",
|
||||
"menus/EraseSram/",
|
||||
"menus/PauseScreen/",
|
||||
"rooms/",
|
||||
"rooms/debug/",
|
||||
"samus/",
|
||||
|
Loading…
Reference in New Issue
Block a user