mirror of
https://github.com/zeldaret/mm.git
synced 2026-07-09 05:43:18 -04:00
merge master
This commit is contained in:
+19
-29
@@ -1654,7 +1654,7 @@ s16 func_80105318(void);
|
||||
void func_8010549C(PlayState* play, void* segmentAddress);
|
||||
void func_8010565C(PlayState* play, u8 num, void* segmentAddress);
|
||||
void func_80105818(PlayState* play, u32 uParm2, TransitionActorEntry* puParm3);
|
||||
void func_80105A40(void);
|
||||
void func_80105A40(PlayState* play);
|
||||
void func_80105B34(PlayState* play);
|
||||
void func_80105C40(s16 arg0);
|
||||
// void func_80105FE0(void);
|
||||
@@ -1731,7 +1731,7 @@ s32 func_8010A0A4(PlayState* play);
|
||||
// void func_8010A2AC(PlayState* play);
|
||||
void Minimap_SavePlayerRoomInitInfo(PlayState* play);
|
||||
void Map_InitRoomData(PlayState* play, s16 room);
|
||||
// void Map_Destroy(void);
|
||||
void Map_Destroy(PlayState* play);
|
||||
// void Map_Init(PlayState* play);
|
||||
// void Minimap_Draw(PlayState* play);
|
||||
// void Map_Update(PlayState* play);
|
||||
@@ -1810,26 +1810,19 @@ Vec3s* OLib_Vec3fDiffBinAng(Vec3s* dest, Vec3f* a, Vec3f* b);
|
||||
void OLib_DbCameraVec3fDiff(PosRot* a, Vec3f* b, Vec3f* dest, s16 mode);
|
||||
void OLib_DbCameraVec3fSum(PosRot* a, Vec3f* b, Vec3f* dest, s16 mode);
|
||||
// void func_8010CB80(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8, UNK_TYPE2 param_9, UNK_TYPE2 param_10);
|
||||
// void func_8010CD98(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8, UNK_TYPE2 param_9, UNK_TYPE2 param_10);
|
||||
Gfx* func_8010CD98(Gfx* displayListHead, void* texture, s16 textureWidth, s16 textureHeight, s16 rectLeft, s16 rectTop, s16 rectWidth, s16 rectHeight, u16 dsdx, u16 dtdy);
|
||||
// void func_8010CFBC(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8, UNK_TYPE2 param_9, UNK_TYPE2 param_10, UNK_TYPE2 param_11, UNK_TYPE2 param_12, UNK_TYPE2 param_13, UNK_TYPE2 param_14);
|
||||
// void func_8010D2D4(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8, UNK_TYPE2 param_9, UNK_TYPE2 param_10, UNK_TYPE2 param_11);
|
||||
// void func_8010D480(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8, UNK_TYPE2 param_9, UNK_TYPE2 param_10, UNK_TYPE2 param_11, UNK_TYPE2 param_12, UNK_TYPE2 param_13, UNK_TYPE2 param_14, UNK_TYPE4 param_15, UNK_TYPE4 param_16);
|
||||
// void func_8010D7D0(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8, UNK_TYPE2 param_9, UNK_TYPE2 param_10);
|
||||
Gfx* func_8010D7D0(Gfx* displayListHead, void* texture, s16 textureWidth, s16 textureHeight, s16 rectLeft, s16 rectTop, s16 rectWidth, s16 rectHeight, u16 dsdx, u16 dtdy);
|
||||
// void func_8010D9F4(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8, UNK_TYPE2 param_9, UNK_TYPE4 param_10, UNK_TYPE4 param_11, UNK_TYPE4 param_12, UNK_TYPE2 param_13, UNK_TYPE2 param_14);
|
||||
// void func_8010DC58(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5);
|
||||
Gfx* func_8010DC58(Gfx* displayListHead, void* texture, s16 textureWidth, s16 textureHeight, u16 i);
|
||||
// void func_8010DE38(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6);
|
||||
// void func_8010E028(void);
|
||||
// void func_8010E968(void);
|
||||
void func_8010E9F0(s16 arg0, s16 arg1);
|
||||
void func_8010EA9C(s32 arg0, s32 arg1);
|
||||
// void func_8010EB50(void);
|
||||
// void func_8010EBA0(void);
|
||||
// void func_8010EC54(void);
|
||||
void Interface_StartTimer(s16 timerId, s16 seconds);
|
||||
void Interface_StartPostmanTimer(s16 seconds, s16 bunnyHoodState);
|
||||
void func_8010EE74(PlayState* play, s32 day);
|
||||
void Interface_ChangeAlpha(u16 param_1);
|
||||
// void func_8010EF9C(void);
|
||||
// void func_8010F0D4(void);
|
||||
// void func_8010F1A8(void);
|
||||
void Interface_SetHudVisibility(u16 hudVisibility);
|
||||
// void func_80110038(void);
|
||||
// void func_80111CB4(void);
|
||||
void func_801129E4(PlayState* play);
|
||||
@@ -1876,17 +1869,14 @@ void func_8011B4E0(PlayState* play, s32 arg1);
|
||||
// void func_8011B9E0(void);
|
||||
// void func_8011BF70(void);
|
||||
// void func_8011C4C4(void);
|
||||
void func_8011C808(PlayState* play);
|
||||
// void func_8011C898(void);
|
||||
// void func_8011CA64(void);
|
||||
// void func_8011E3B4(void);
|
||||
void Interface_StartMoonCrash(PlayState* play);
|
||||
// void func_8011E730(void);
|
||||
void Interface_Draw(PlayState* play);
|
||||
// void func_80120F90(void);
|
||||
// void func_80121000(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE1 param_8, UNK_TYPE1 param_9, UNK_TYPE1 param_10, UNK_TYPE4 param_11, UNK_TYPE4 param_12, UNK_TYPE4 param_13, UNK_TYPE4 param_14);
|
||||
// void func_80121064(void);
|
||||
void Interface_Update(PlayState* play);
|
||||
void func_80121F94(PlayState* play);
|
||||
void Interface_Destroy(PlayState* play);
|
||||
void func_80121FC4(PlayState* play);
|
||||
Path* Path_GetByIndex(PlayState* play, s16 index, s16 max);
|
||||
f32 Path_OrientAndGetDistSq(Actor* actor, Path* path, s16 waypoint, s16* yaw);
|
||||
@@ -1906,7 +1896,7 @@ void func_80122BA4(PlayState* play, struct_80122D44_arg1* arg1, s32 arg2, s32 al
|
||||
void func_80122C20(PlayState* play, struct_80122D44_arg1* arg1);
|
||||
void func_80122D44(PlayState* play, struct_80122D44_arg1* arg1);
|
||||
u8 Player_MaskIdToItemId(s32 maskIdMinusOne);
|
||||
u8 Player_GetCurMaskItemId(PlayState* play);
|
||||
s32 Player_GetCurMaskItemId(PlayState* play);
|
||||
void func_80122F28(Player* player);
|
||||
s32 func_80122F9C(PlayState* play);
|
||||
s32 func_80122FCC(PlayState* play);
|
||||
@@ -1953,7 +1943,7 @@ s32 Player_ActionToExplosive(Player* player, s32 actionParam);
|
||||
s32 Player_GetExplosiveHeld(Player* player);
|
||||
s32 func_80124278(Actor* actor, s32 arg1);
|
||||
s32 func_801242B4(Player* player);
|
||||
s32 func_801242DC(PlayState* play);
|
||||
s32 Player_GetEnvTimerType(PlayState* play);
|
||||
void func_80124420(Player* player);
|
||||
void func_80124618(struct_80124618 arg0[], f32 curFrame, Vec3f* arg2);
|
||||
void func_801246F4(PlayState* play, void** skeleton, Vec3s* jointTable, s32 dListCount, s32 lod, s32 tunic, s32 boots, s32 face, OverrideLimbDrawFlex overrideLimbDraw, PostLimbDrawFlex postLimbDraw, Actor* actor);
|
||||
@@ -2100,7 +2090,7 @@ s32 Inventory_GetBtnBItem(PlayState* play);
|
||||
void Inventory_ChangeEquipment(s16 value);
|
||||
u8 Inventory_DeleteEquipment(PlayState* play, s16 equipment);
|
||||
void Inventory_ChangeUpgrade(s16 upgrade, u32 value);
|
||||
s32 Inventory_IsMapVisible(s16 sceneNum);
|
||||
s32 Inventory_IsMapVisible(s16 sceneId);
|
||||
void Inventory_SetMapVisibility(s16 tingleIndex);
|
||||
void Inventory_SaveDekuPlaygroundHighScore(s16 timerId);
|
||||
void Inventory_IncrementSkullTokenCount(s16 sceneIndex);
|
||||
@@ -2186,8 +2176,8 @@ void Scene_DrawConfig5(PlayState* play);
|
||||
void Scene_DrawConfigMatAnimManualStep(PlayState* play);
|
||||
void Scene_DrawConfigGreatBayTemple(PlayState* play);
|
||||
EntranceTableEntry* Entrance_GetTableEntry(u16 entrance);
|
||||
s32 Entrance_GetSceneNum(u16 entrance);
|
||||
s32 Entrance_GetSceneNumAbsolute(u16 entrance);
|
||||
s32 Entrance_GetSceneId(u16 entrance);
|
||||
s32 Entrance_GetSceneIdAbsolute(u16 entrance);
|
||||
s32 Entrance_GetSpawnNum(u16 entrance);
|
||||
s32 Entrance_GetTransitionFlags(u16 entrance);
|
||||
s32 Schedule_RunScript(PlayState* play, u8* script, ScheduleOutput* output);
|
||||
@@ -2405,7 +2395,7 @@ void func_8014D304(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_
|
||||
// void func_8014D7B4(void);
|
||||
void func_80150A84(PlayState* play);
|
||||
void func_80150D08(PlayState* play, u32 uParm2);
|
||||
// void func_801514B0(void);
|
||||
void func_801514B0(PlayState* play, u16 arg1, u8 arg2);
|
||||
void Message_StartTextbox(PlayState* play, u16 textId, Actor* Actor);
|
||||
void func_80151938(PlayState* play, u16 textId);
|
||||
void func_80151A68(PlayState* play, u16 textId);
|
||||
@@ -2571,7 +2561,7 @@ s32 Play_ChangeCameraSetting(PlayState* play, s16 camId, s16 setting);
|
||||
void func_80169AFC(PlayState* play, s16 camId, s16 arg2);
|
||||
u16 Play_GetActorCsCamSetting(PlayState* play, s32 csCamDataIndex);
|
||||
Vec3s* Play_GetActorCsCamFuncData(PlayState* play, s32 csCamDataIndex);
|
||||
s16 Play_GetOriginalSceneNumber(s16 sceneNum);
|
||||
s16 Play_GetOriginalSceneId(s16 sceneId);
|
||||
void Play_SaveCycleSceneFlags(GameState* gameState);
|
||||
void Play_SetRespawnData(GameState* gameState, s32 respawnNumber, u16 sceneSetup, s32 roomIndex, s32 playerParams, Vec3f* pos, s16 yaw);
|
||||
void Play_SetupRespawnPoint(GameState* gameState, s32 respawnNumber, s32 playerParams);
|
||||
@@ -2710,8 +2700,8 @@ void Main(void* arg);
|
||||
u32 Padmgr_GetControllerBitmask(void);
|
||||
void func_80174F24(void (*arg0)(void*), void* arg1);
|
||||
void func_80174F44(void (*arg0)(void*), void* arg1);
|
||||
// void func_80174F7C(void);
|
||||
// void func_80174F9C(void);
|
||||
void func_80174F7C(void (*arg0)(s32), void* arg1);
|
||||
void func_80174F9C(void (*arg0)(s32), void* arg1);
|
||||
// OSMesgQueue* Padmgr_GetEventCallback(void);
|
||||
// void func_80175008(void);
|
||||
void Padmgr_SetEventCallback(OSMesg pvParm1);
|
||||
|
||||
@@ -71,6 +71,8 @@
|
||||
#define R_A_ICON_X XREG(20)
|
||||
#define R_A_BTN_COLOR(i) XREG(22 + i)
|
||||
#define R_MAGIC_CONSUME_TIMER_GIANTS_MASK XREG(41)
|
||||
#define R_MOON_CRASH_TIMER_Y XREG(80)
|
||||
#define R_MOON_CRASH_TIMER_X XREG(81)
|
||||
#define R_MINIMAP_DISABLED XREG(95)
|
||||
#define R_B_LABEL_DD WREG(0)
|
||||
#define R_OW_MINIMAP_X WREG(29)
|
||||
|
||||
@@ -922,7 +922,7 @@ DECLARE_ROM_SEGMENT(object_driftice)
|
||||
DECLARE_ROM_SEGMENT(object_fall)
|
||||
DECLARE_ROM_SEGMENT(object_hanareyama_obj)
|
||||
DECLARE_ROM_SEGMENT(object_crace_object)
|
||||
DECLARE_ROM_SEGMENT(object_dnq)
|
||||
DECLARE_ROM_SEGMENT(object_dno)
|
||||
DECLARE_ROM_SEGMENT(object_obj_tokeidai)
|
||||
DECLARE_ROM_SEGMENT(object_eg)
|
||||
DECLARE_ROM_SEGMENT(object_tru)
|
||||
@@ -993,7 +993,7 @@ DECLARE_ROM_SEGMENT(object_gg)
|
||||
DECLARE_ROM_SEGMENT(object_maruta)
|
||||
DECLARE_ROM_SEGMENT(object_ghaka)
|
||||
DECLARE_ROM_SEGMENT(object_oyu)
|
||||
DECLARE_ROM_SEGMENT(object_dnp)
|
||||
DECLARE_ROM_SEGMENT(object_dnq)
|
||||
DECLARE_ROM_SEGMENT(object_dai)
|
||||
DECLARE_ROM_SEGMENT(object_kgy)
|
||||
DECLARE_ROM_SEGMENT(object_fb)
|
||||
@@ -1014,7 +1014,7 @@ DECLARE_ROM_SEGMENT(object_gi_loach)
|
||||
DECLARE_ROM_SEGMENT(object_gi_seahorse)
|
||||
DECLARE_ROM_SEGMENT(object_bigpo)
|
||||
DECLARE_ROM_SEGMENT(object_hariko)
|
||||
DECLARE_ROM_SEGMENT(object_dno)
|
||||
DECLARE_ROM_SEGMENT(object_dnj)
|
||||
DECLARE_ROM_SEGMENT(object_sinkai_kabe)
|
||||
DECLARE_ROM_SEGMENT(object_kin2_obj)
|
||||
DECLARE_ROM_SEGMENT(object_ishi)
|
||||
|
||||
+14
-14
@@ -1031,21 +1031,21 @@ extern UNK_PTR D_801BF5C0;
|
||||
// extern UNK_TYPE2 sMagicMeterOutlinePrimBlue;
|
||||
// extern UNK_TYPE2 sMagicBorderRatio;
|
||||
// extern UNK_TYPE2 sMagicBorderStep;
|
||||
// extern UNK_TYPE2 D_801BF8DC;
|
||||
// extern UNK_TYPE2 D_801BF8E0;
|
||||
// extern UNK_TYPE2 D_801BF8E4;
|
||||
// extern UNK_TYPE4 D_801BF8E8;
|
||||
// extern UNK_TYPE4 D_801BF8F0;
|
||||
// extern UNK_TYPE2 sEnvTimerType;
|
||||
// extern UNK_TYPE2 sEnvTimerActive;
|
||||
// extern UNK_TYPE2 sPostmanBunnyHoodState;
|
||||
// extern UNK_TYPE4 sTimerPausedOsTime;
|
||||
// extern UNK_TYPE4 sBottleTimerPausedOsTime;
|
||||
// extern UNK_TYPE4 D_801BF8F4;
|
||||
// extern UNK_TYPE4 D_801BF8F8;
|
||||
// extern UNK_TYPE4 D_801BF8FC;
|
||||
// extern UNK_TYPE4 D_801BF930;
|
||||
// extern UNK_TYPE4 D_801BF934;
|
||||
// extern UNK_TYPE1 D_801BF968;
|
||||
// extern UNK_TYPE1 sIsTimerPaused;
|
||||
// extern UNK_TYPE1 D_801BF96A;
|
||||
// extern UNK_TYPE1 D_801BF96C;
|
||||
// extern UNK_TYPE1 sIsBottleTimerPaused;
|
||||
// extern UNK_TYPE1 D_801BF96E;
|
||||
// extern UNK_TYPE2 D_801BF970;
|
||||
// extern UNK_TYPE2 sTimerId;
|
||||
// extern UNK_TYPE1 D_801BF972;
|
||||
// extern UNK_TYPE2 D_801BF974;
|
||||
// extern UNK_TYPE2 D_801BF978;
|
||||
@@ -1083,7 +1083,7 @@ extern UNK_PTR D_801BF5C0;
|
||||
// extern UNK_TYPE2 D_801BFA4C;
|
||||
// extern UNK_TYPE2 D_801BFA64;
|
||||
// extern UNK_TYPE2 D_801BFA74;
|
||||
// extern UNK_TYPE4 D_801BFA84;
|
||||
// extern UNK_TYPE4 sPostmanTimerInputBtnAPressed;
|
||||
// extern UNK_TYPE1 D_801BFAB0;
|
||||
// extern UNK_TYPE1 D_801BFAB8;
|
||||
// extern UNK_TYPE1 D_801BFAC4;
|
||||
@@ -1135,15 +1135,15 @@ extern UNK_PTR D_801BF5C0;
|
||||
// extern UNK_TYPE2 D_801BFCA8;
|
||||
// extern UNK_TYPE1 D_801BFCB8;
|
||||
// extern UNK_TYPE4 D_801BFCC4;
|
||||
// extern UNK_TYPE2 D_801BFCE4;
|
||||
// extern UNK_TYPE2 D_801BFCE8;
|
||||
// extern UNK_TYPE2 sTimerStateTimer;
|
||||
// extern UNK_TYPE2 sTimerDigits;
|
||||
// extern UNK_TYPE2 D_801BFCEA;
|
||||
// extern UNK_TYPE2 D_801BFCEC;
|
||||
// extern UNK_TYPE2 D_801BFCEE;
|
||||
// extern UNK_TYPE2 D_801BFCF0;
|
||||
// extern UNK_TYPE2 D_801BFCF2;
|
||||
// extern UNK_TYPE2 D_801BFCF4;
|
||||
// extern UNK_TYPE2 D_801BFCF8;
|
||||
// extern UNK_TYPE2 sTimerBeepSfxSeconds;
|
||||
// extern UNK_TYPE2 D_801BFCFC;
|
||||
// extern UNK_TYPE2 D_801BFD0C;
|
||||
// extern UNK_TYPE1 D_801BFD1C;
|
||||
@@ -1312,7 +1312,7 @@ extern u32 gGsFlagsShift[];
|
||||
extern void* gItemIcons[];
|
||||
extern u8 gItemSlots[];
|
||||
extern s16 gItemPrices[];
|
||||
extern u16 gScenesPerRegion[11][27];
|
||||
extern u16 gSceneIdsPerRegion[11][27];
|
||||
extern u32 D_801C2410[];
|
||||
extern s16 gPlayerFormObjectIndices[8];
|
||||
extern RomFile gObjectTable[643];
|
||||
@@ -3151,7 +3151,7 @@ extern s16 D_801F4E7A;
|
||||
// extern UNK_TYPE1 D_801F57B4;
|
||||
// extern UNK_TYPE1 D_801F5834;
|
||||
// extern NmiBuff* gNMIBuffer;
|
||||
// extern UNK_TYPE1 D_801F5850;
|
||||
// extern UNK_TYPE1 sPostmanTimerInput;
|
||||
// extern UNK_TYPE1 D_801F58B0;
|
||||
// extern UNK_TYPE1 D_801F59AC;
|
||||
// extern UNK_TYPE1 D_801F59B0;
|
||||
|
||||
+12
-12
@@ -444,15 +444,15 @@ typedef struct {
|
||||
/* 0x22C */ s32 unk_22C;
|
||||
/* 0x230 */ s32 stickRelX;
|
||||
/* 0x234 */ s32 stickRelY;
|
||||
/* 0x238 */ s16 unk_238[5];
|
||||
/* 0x242 */ s16 unk_242[5];
|
||||
/* 0x24C */ s16 unk_24C[5];
|
||||
/* 0x238 */ s16 cursorPoint[5];
|
||||
/* 0x242 */ s16 cursorX[5];
|
||||
/* 0x24C */ s16 cursorY[5];
|
||||
/* 0x256 */ s16 unk_256;
|
||||
/* 0x258 */ s16 unk_258;
|
||||
/* 0x25A */ s16 unk_25A;
|
||||
/* 0x258 */ s16 cursorSpecialPos;
|
||||
/* 0x25A */ s16 pageSwitchTimer;
|
||||
/* 0x25C */ u16 unk_25C;
|
||||
/* 0x25E */ u16 cursorItem[5];
|
||||
/* 0x268 */ u16 unk_268[5];
|
||||
/* 0x268 */ u16 cursorSlot[5];
|
||||
/* 0x272 */ u16 equipTargetItem;
|
||||
/* 0x274 */ u16 equipTargetSlot;
|
||||
/* 0x276 */ u16 equipTargetCBtn;
|
||||
@@ -461,8 +461,8 @@ typedef struct {
|
||||
/* 0x27C */ s16 equipAnimAlpha;
|
||||
/* 0x27E */ s16 unk_27E;
|
||||
/* 0x280 */ u16 unk_280;
|
||||
/* 0x282 */ u16 unk_282;
|
||||
/* 0x284 */ s16 unk_284;
|
||||
/* 0x282 */ u16 nameColorSet;
|
||||
/* 0x284 */ s16 cursorColorSet;
|
||||
/* 0x286 */ s16 unk_286;
|
||||
/* 0x288 */ f32 unk_288;
|
||||
/* 0x28C */ f32 unk_28C;
|
||||
@@ -476,9 +476,9 @@ typedef struct {
|
||||
/* 0x2B6 */ u8 unk_2B6;
|
||||
/* 0x2B7 */ u8 unk_2B7;
|
||||
/* 0x2B8 */ u8 unk_2B8;
|
||||
/* 0x2B9 */ u8 unk_2B9;
|
||||
/* 0x2BA */ s16 unk_2BA;
|
||||
/* 0x2BC */ s16 unk_2BC;
|
||||
/* 0x2B9 */ u8 itemDescriptionOn; // helpful description of item given through a message box
|
||||
/* 0x2BA */ s16 equipAnimScale; // scale of item icon while moving being equipped to c-button
|
||||
/* 0x2BC */ s16 equipAnimShrinkRate; // rate the scale is shrinking for the item icon while moving being equipped to c-button
|
||||
/* 0x2BE */ s16 unk_2BE[5];
|
||||
/* 0x2C8 */ u16 unk_2C8;
|
||||
/* 0x2CA */ s16 unk_2CA;
|
||||
@@ -1121,7 +1121,7 @@ typedef struct {
|
||||
|
||||
struct PlayState {
|
||||
/* 0x00000 */ GameState state;
|
||||
/* 0x000A4 */ s16 sceneNum;
|
||||
/* 0x000A4 */ s16 sceneId;
|
||||
/* 0x000A6 */ u8 sceneConfig;
|
||||
/* 0x000A7 */ char unk_A7[0x9];
|
||||
/* 0x000B0 */ void* sceneSegment;
|
||||
|
||||
+2
-2
@@ -285,7 +285,7 @@ typedef enum {
|
||||
/* 0xF2 */ ITEM_F2,
|
||||
/* 0xFD */ ITEM_FD = 0xFD,
|
||||
/* 0xFF */ ITEM_NONE = 0xFF
|
||||
} ItemID;
|
||||
} ItemId;
|
||||
|
||||
#define BOTTLE_FIRST 0
|
||||
#define BOTTLE_MAX 6
|
||||
@@ -428,7 +428,7 @@ typedef enum {
|
||||
/* 0xB8 */ GI_TINGLE_MAP_GREAT_BAY,
|
||||
/* 0xB9 */ GI_TINGLE_MAP_STONE_TOWER,
|
||||
/* 0xBA */ GI_MAX
|
||||
} GetItemID;
|
||||
} GetItemId;
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ GID_BOTTLE,
|
||||
|
||||
+3
-3
@@ -404,7 +404,7 @@ typedef enum {
|
||||
/* 0x188 */ OBJECT_FALL,
|
||||
/* 0x189 */ OBJECT_HANAREYAMA_OBJ,
|
||||
/* 0x18A */ OBJECT_CRACE_OBJECT,
|
||||
/* 0x18B */ OBJECT_DNQ,
|
||||
/* 0x18B */ OBJECT_DNO,
|
||||
/* 0x18C */ OBJECT_OBJ_TOKEIDAI,
|
||||
/* 0x18D */ OBJECT_EG,
|
||||
/* 0x18E */ OBJECT_TRU,
|
||||
@@ -477,7 +477,7 @@ typedef enum {
|
||||
/* 0x1D1 */ OBJECT_MARUTA,
|
||||
/* 0x1D2 */ OBJECT_GHAKA,
|
||||
/* 0x1D3 */ OBJECT_OYU,
|
||||
/* 0x1D4 */ OBJECT_DNP,
|
||||
/* 0x1D4 */ OBJECT_DNQ,
|
||||
/* 0x1D5 */ OBJECT_DAI,
|
||||
/* 0x1D6 */ OBJECT_KGY,
|
||||
/* 0x1D7 */ OBJECT_FB,
|
||||
@@ -508,7 +508,7 @@ typedef enum {
|
||||
/* 0x1F0 */ OBJECT_GI_SEAHORSE,
|
||||
/* 0x1F1 */ OBJECT_BIGPO,
|
||||
/* 0x1F2 */ OBJECT_HARIKO,
|
||||
/* 0x1F3 */ OBJECT_DNO,
|
||||
/* 0x1F3 */ OBJECT_DNJ,
|
||||
/* 0x1F4 */ OBJECT_SINKAI_KABE,
|
||||
/* 0x1F5 */ OBJECT_KIN2_OBJ,
|
||||
/* 0x1F6 */ OBJECT_ISHI,
|
||||
|
||||
+9
-1
@@ -70,6 +70,14 @@ typedef enum {
|
||||
/* 0x19 */ PLAYER_MASK_MAX
|
||||
} PlayerMask;
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ PLAYER_ENV_TIMER_NONE,
|
||||
/* 1 */ PLAYER_ENV_TIMER_HOTROOM,
|
||||
/* 2 */ PLAYER_ENV_TIMER_UNDERWATER_FLOOR,
|
||||
/* 3 */ PLAYER_ENV_TIMER_SWIMMING,
|
||||
/* 4 */ PLAYER_ENV_TIMER_UNDERWATER_FREE
|
||||
} PlayerEnvTimerType;
|
||||
|
||||
typedef enum PlayerActionParam {
|
||||
/* -1 */ PLAYER_AP_MINUS1 = -1,
|
||||
/* 0x00 */ PLAYER_AP_NONE,
|
||||
@@ -594,7 +602,7 @@ typedef struct Player {
|
||||
/* 0xAD0 */ f32 linearVelocity;
|
||||
/* 0xAD4 */ s16 currentYaw;
|
||||
/* 0xAD6 */ s16 targetYaw;
|
||||
/* 0xAD8 */ u16 unk_AD8;
|
||||
/* 0xAD8 */ u16 underwaterTimer;
|
||||
/* 0xADA */ s8 meleeWeaponAnimation;
|
||||
/* 0xADB */ s8 meleeWeaponState;
|
||||
/* 0xADC */ s8 unk_ADC;
|
||||
|
||||
+101
-22
@@ -2,6 +2,7 @@
|
||||
#define Z64SAVE_H
|
||||
|
||||
#include "ultra64.h"
|
||||
#include "z64item.h"
|
||||
#include "z64math.h"
|
||||
#include "os.h"
|
||||
|
||||
@@ -54,6 +55,84 @@ typedef enum {
|
||||
#define MAGIC_NORMAL_METER 0x30
|
||||
#define MAGIC_DOUBLE_METER (2 * MAGIC_NORMAL_METER)
|
||||
|
||||
#define SECONDS_TO_TIMER(seconds) ((seconds) * 100)
|
||||
|
||||
#define OSTIME_TO_TIMER(osTime) ((osTime) * 64 / 3000 / 10000)
|
||||
#define OSTIME_TO_TIMER_ALT(osTime) ((osTime) / 10000 * 64 / 3000)
|
||||
|
||||
// 1 centisecond = 10 milliseconds = 1/100 seconds
|
||||
#define SECONDS_TO_TIMER_PRECISE(seconds, centiSeconds) ((seconds) * 100 + (centiSeconds))
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ TIMER_ID_POSTMAN, // postman's counting minigame
|
||||
/* 1 */ TIMER_ID_MINIGAME_1, // minigame timer
|
||||
/* 2 */ TIMER_ID_2,
|
||||
/* 3 */ TIMER_ID_MOON_CRASH, // timer used for mooncrash on the clocktower roof
|
||||
/* 4 */ TIMER_ID_MINIGAME_2, // minigame timer
|
||||
/* 5 */ TIMER_ID_ENV, // environmental timer (underwater or hot room)
|
||||
/* 6 */ TIMER_ID_GORON_RACE_UNUSED,
|
||||
/* 7 */ TIMER_ID_MAX,
|
||||
/* 99 */ TIMER_ID_NONE = 99,
|
||||
} TimerId;
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ TIMER_COUNT_DOWN,
|
||||
/* 1 */ TIMER_COUNT_UP
|
||||
} TimerDirection;
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ TIMER_STATE_OFF,
|
||||
/* 1 */ TIMER_STATE_START,
|
||||
/* 2 */ TIMER_STATE_HOLD_TIMER, // Hold timer frozen at the screen center
|
||||
/* 3 */ TIMER_STATE_MOVING_TIMER, // Move timer to a target location
|
||||
/* 4 */ TIMER_STATE_COUNTING,
|
||||
/* 5 */ TIMER_STATE_STOP,
|
||||
/* 6 */ TIMER_STATE_6, // like `TIMER_STATE_STOP` but with extra minigame checks
|
||||
/* 7 */ TIMER_STATE_7, // stopped but still update `timerCurTimes`
|
||||
/* 8 */ TIMER_STATE_ENV_START,
|
||||
/* 9 */ TIMER_STATE_ALT_START,
|
||||
/* 10 */ TIMER_STATE_10, // precursor to `TIMER_STATE_ALT_COUNTING`
|
||||
/* 11 */ TIMER_STATE_ALT_COUNTING,
|
||||
/* 12 */ TIMER_STATE_12, // Updated paused time?
|
||||
/* 13 */ TIMER_STATE_POSTMAN_START,
|
||||
/* 14 */ TIMER_STATE_POSTMAN_COUNTING,
|
||||
/* 15 */ TIMER_STATE_POSTMAN_STOP,
|
||||
/* 16 */ TIMER_STATE_POSTMAN_END
|
||||
} TimerState;
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ BOTTLE_TIMER_STATE_OFF,
|
||||
/* 1 */ BOTTLE_TIMER_STATE_COUNTING
|
||||
} BottleTimerState;
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ HUD_VISIBILITY_IDLE,
|
||||
/* 1 */ HUD_VISIBILITY_NONE,
|
||||
/* 2 */ HUD_VISIBILITY_NONE_ALT, // Identical to HUD_VISIBILITY_NONE
|
||||
/* 3 */ HUD_VISIBILITY_HEARTS_WITH_OVERWRITE, // Uses Interface_UpdateButtonAlphas so gives the opportunity to dim only disabled buttons
|
||||
/* 4 */ HUD_VISIBILITY_A,
|
||||
/* 5 */ HUD_VISIBILITY_A_HEARTS_MAGIC_WITH_OVERWRITE, // Uses Interface_UpdateButtonAlphas so gives the opportunity to dim only disabled buttons
|
||||
/* 6 */ HUD_VISIBILITY_A_HEARTS_MAGIC_MINIMAP_WITH_OVERWRITE, // Uses Interface_UpdateButtonAlphas so gives the opportunity to dim only disabled buttons
|
||||
/* 7 */ HUD_VISIBILITY_ALL_NO_MINIMAP_W_DISABLED, // Only raises button alphas if not disabled
|
||||
/* 8 */ HUD_VISIBILITY_B,
|
||||
/* 9 */ HUD_VISIBILITY_HEARTS_MAGIC,
|
||||
/* 10 */ HUD_VISIBILITY_B_ALT,
|
||||
/* 11 */ HUD_VISIBILITY_HEARTS,
|
||||
/* 12 */ HUD_VISIBILITY_A_B_MINIMAP,
|
||||
/* 13 */ HUD_VISIBILITY_HEARTS_MAGIC_WITH_OVERWRITE, // Uses Interface_UpdateButtonAlphas so gives the opportunity to dim only disabled buttons
|
||||
/* 14 */ HUD_VISIBILITY_HEARTS_MAGIC_C,
|
||||
/* 15 */ HUD_VISIBILITY_ALL_NO_MINIMAP,
|
||||
/* 16 */ HUD_VISIBILITY_A_B_C,
|
||||
/* 17 */ HUD_VISIBILITY_B_MINIMAP,
|
||||
/* 18 */ HUD_VISIBILITY_HEARTS_MAGIC_MINIMAP,
|
||||
/* 19 */ HUD_VISIBILITY_A_HEARTS_MAGIC_MINIMAP,
|
||||
/* 20 */ HUD_VISIBILITY_B_MAGIC,
|
||||
/* 21 */ HUD_VISIBILITY_A_B,
|
||||
/* 22 */ HUD_VISIBILITY_A_B_HEARTS_MAGIC_MINIMAP,
|
||||
/* 50 */ HUD_VISIBILITY_ALL = 50,
|
||||
/* 52 */ HUD_VISIBILITY_NONE_INSTANT = 52
|
||||
} HudVisibility;
|
||||
|
||||
typedef struct SramContext {
|
||||
/* 0x00 */ u8* readBuff;
|
||||
/* 0x04 */ u8 *saveBuf;
|
||||
@@ -86,7 +165,7 @@ typedef struct Inventory {
|
||||
} Inventory; // size = 0x88
|
||||
|
||||
typedef struct HorseData {
|
||||
/* 0x0 */ s16 scene; // "spot_no"
|
||||
/* 0x0 */ s16 sceneId; // "spot_no"
|
||||
/* 0x2 */ Vec3s pos; // "horse_x", "horse_y" and "horse_z"
|
||||
/* 0x8 */ s16 yaw; // "horse_a"
|
||||
} HorseData; // size = 0xA
|
||||
@@ -147,7 +226,7 @@ typedef struct SavePlayerData {
|
||||
/* 0x20 */ u8 unk_20; // "first_memory"
|
||||
/* 0x22 */ u16 owlActivationFlags; // "memory_warp_point"
|
||||
/* 0x24 */ u8 unk_24; // "last_warp_pt"
|
||||
/* 0x26 */ s16 savedSceneNum; // "scene_data_ID"
|
||||
/* 0x26 */ s16 savedSceneId; // "scene_data_ID"
|
||||
} SavePlayerData; // size = 0x28
|
||||
|
||||
typedef struct Save {
|
||||
@@ -214,11 +293,11 @@ typedef struct SaveContext {
|
||||
/* 0x1015 */ u8 unk_1015;
|
||||
/* 0x1016 */ u16 jinxTimer;
|
||||
/* 0x1018 */ s16 rupeeAccumulator; // "lupy_udct"
|
||||
/* 0x101A */ u8 unk_101A[6]; // "bottle_status", one entry for each bottle
|
||||
/* 0x1020 */ OSTime unk_1020[6]; // "bottle_ostime", one entry for each bottle
|
||||
/* 0x1050 */ OSTime unk_1050[6]; // "bottle_sub", one entry for each bottle
|
||||
/* 0x1080 */ OSTime unk_1080[6]; // "bottle_time", one entry for each bottle
|
||||
/* 0x10B0 */ OSTime unk_10B0[6]; // "bottle_stop_time", one entry for each bottle
|
||||
/* 0x101A */ u8 bottleTimerStates[BOTTLE_MAX]; // See the `BottleTimerState` enum. "bottle_status"
|
||||
/* 0x1020 */ OSTime bottleTimerStartOsTimes[BOTTLE_MAX]; // The osTime when the timer starts. "bottle_ostime"
|
||||
/* 0x1050 */ u64 bottleTimerTimeLimits[BOTTLE_MAX]; // The original total time given before the timer expires, in centiseconds (1/100th sec). "bottle_sub"
|
||||
/* 0x1080 */ u64 bottleTimerCurTimes[BOTTLE_MAX]; // The remaining time left before the timer expires, in centiseconds (1/100th sec). "bottle_time"
|
||||
/* 0x10B0 */ OSTime bottleTimerPausedOsTimes[BOTTLE_MAX]; // The cumulative osTime spent with the timer paused. "bottle_stop_time"
|
||||
/* 0x10E0 */ u64 pictoPhoto[1400]; // buffer containing the pictograph photo
|
||||
/* 0x3CA0 */ s32 fileNum; // "file_no"
|
||||
/* 0x3CA4 */ s16 powderKegTimer; // "big_bom_timer"
|
||||
@@ -237,25 +316,25 @@ typedef struct SaveContext {
|
||||
/* 0x3DBF */ u8 showTitleCard; // "name_display"
|
||||
/* 0x3DC0 */ s16 unk_3DC0; // "shield_magic_timer"
|
||||
/* 0x3DC2 */ u8 unk_3DC2; // "pad1"
|
||||
/* 0x3DC8 */ OSTime unk_3DC8; // "get_time"
|
||||
/* 0x3DD0 */ u8 unk_3DD0[7]; // "event_fg"
|
||||
/* 0x3DD7 */ u8 unk_3DD7[7]; // "calc_flag"
|
||||
/* 0x3DE0 */ OSTime unk_3DE0[7]; // "event_ostime"
|
||||
/* 0x3E18 */ OSTime unk_3E18[7]; // "event_sub"
|
||||
/* 0x3E50 */ OSTime unk_3E50[7]; // "func_time"
|
||||
/* 0x3E88 */ OSTime unk_3E88[7]; // "func_end_time"
|
||||
/* 0x3EC0 */ OSTime unk_3EC0[7]; // "func_stop_time"
|
||||
/* 0x3EF8 */ s16 timerX[7]; // "event_xp"
|
||||
/* 0x3F06 */ s16 timerY[7]; // "event_yp"
|
||||
/* 0x3DC8 */ OSTime postmanTimerStopOsTime; // The osTime when the timer stops for the postman minigame. "get_time"
|
||||
/* 0x3DD0 */ u8 timerStates[TIMER_ID_MAX]; // See the `TimerState` enum. "event_fg"
|
||||
/* 0x3DD7 */ u8 timerDirections[TIMER_ID_MAX]; // See the `TimerDirection` enum. "calc_flag"
|
||||
/* 0x3DE0 */ u64 timerCurTimes[TIMER_ID_MAX]; // For countdown, the remaining time left. For countup, the time since the start. In centiseconds (1/100th sec). "event_ostime"
|
||||
/* 0x3E18 */ u64 timerTimeLimits[TIMER_ID_MAX]; // The original total time given for the timer to count from, in centiseconds (1/100th sec). "event_sub"
|
||||
/* 0x3E50 */ OSTime timerStartOsTimes[TIMER_ID_MAX]; // The osTime when the timer starts. "func_time"
|
||||
/* 0x3E88 */ u64 timerStopTimes[TIMER_ID_MAX]; // The total amount of time taken between the start and end of the timer, in centiseconds (1/100th sec). "func_end_time"
|
||||
/* 0x3EC0 */ OSTime timerPausedOsTimes[TIMER_ID_MAX]; // The cumulative osTime spent with the timer paused. "func_stop_time"
|
||||
/* 0x3EF8 */ s16 timerX[TIMER_ID_MAX]; // "event_xp"
|
||||
/* 0x3F06 */ s16 timerY[TIMER_ID_MAX]; // "event_yp"
|
||||
/* 0x3F14 */ s16 unk_3F14; // "character_change"
|
||||
/* 0x3F16 */ u8 seqIndex; // "old_bgm"
|
||||
/* 0x3F17 */ u8 nightSeqIndex; // "old_env"
|
||||
/* 0x3F18 */ u8 buttonStatus[6]; // "button_item"
|
||||
/* 0x3F1E */ u8 unk_3F1E; // "ck_fg"
|
||||
/* 0x3F20 */ u16 unk_3F20; // "alpha_type"
|
||||
/* 0x3F22 */ u16 unk_3F22; // "prev_alpha_type"
|
||||
/* 0x3F24 */ u16 unk_3F24; // "alpha_count"
|
||||
/* 0x3F26 */ u16 unk_3F26; // "last_time_type"
|
||||
/* 0x3F1E */ u8 hudVisibilityForceButtonAlphasByStatus; // if btn alphas are updated through Interface_UpdateButtonAlphas, instead update them through Interface_UpdateButtonAlphasByStatus "ck_fg"
|
||||
/* 0x3F20 */ u16 nextHudVisibility; // triggers the hud to change visibility to the requested value. Reset to HUD_VISIBILITY_IDLE when target is reached "alpha_type"
|
||||
/* 0x3F22 */ u16 hudVisibility; // current hud visibility "prev_alpha_type"
|
||||
/* 0x3F24 */ u16 hudVisibilityTimer; // number of frames in the transition to a new hud visibility. Used to step alpha "alpha_count"
|
||||
/* 0x3F26 */ u16 prevHudVisibility; // used to store and recover hud visibility for pause menu and text boxes "last_time_type"
|
||||
/* 0x3F28 */ s16 magicState; // determines magic meter behavior on each frame "magic_flag"
|
||||
/* 0x3F2A */ s16 isMagicRequested; // a request to add magic has been given "recovery_magic_flag"
|
||||
/* 0x3F2C */ s16 magicFlag; // Set to 0 in func_80812D94(), otherwise unused "keep_magic_flag"
|
||||
|
||||
+107
-107
@@ -271,7 +271,7 @@ typedef struct {
|
||||
} Room; // size = 0x14
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Room currRoom;
|
||||
/* 0x00 */ Room curRoom;
|
||||
/* 0x14 */ Room prevRoom;
|
||||
/* 0x28 */ void* roomMemPages[2]; // In a scene with transitions, roomMemory is split between two pages that toggle each transition. This is one continuous range, as the second page allocates from the end
|
||||
/* 0x30 */ u8 activeMemPage; // 0 - First page in memory, 1 - Second page
|
||||
@@ -316,7 +316,7 @@ typedef struct {
|
||||
} EntranceEntry; // size = 0x2
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ s8 sceneNum;
|
||||
/* 0x0 */ s8 sceneId;
|
||||
/* 0x1 */ s8 spawnNum;
|
||||
/* 0x2 */ u16 flags;
|
||||
} EntranceTableEntry; // size = 0x4
|
||||
@@ -535,119 +535,119 @@ typedef union {
|
||||
} SceneCmd; // size = 0x8
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ SCENE_20SICHITAI2,
|
||||
/* 0x00 */ SCENE_20SICHITAI2, // Southern Swamp (Clear)
|
||||
/* 0x01 */ SCENE_UNSET_1,
|
||||
/* 0x02 */ SCENE_UNSET_2,
|
||||
/* 0x03 */ SCENE_UNSET_3,
|
||||
/* 0x04 */ SCENE_UNSET_4,
|
||||
/* 0x05 */ SCENE_UNSET_5,
|
||||
/* 0x06 */ SCENE_UNSET_6,
|
||||
/* 0x07 */ SCENE_KAKUSIANA,
|
||||
/* 0x08 */ SCENE_SPOT00,
|
||||
/* 0x07 */ SCENE_KAKUSIANA, // Lone Peak Shrine & Grottos
|
||||
/* 0x08 */ SCENE_SPOT00, // Cutscene Scene
|
||||
/* 0x09 */ SCENE_UNSET_9,
|
||||
/* 0x0A */ SCENE_WITCH_SHOP,
|
||||
/* 0x0B */ SCENE_LAST_BS,
|
||||
/* 0x0C */ SCENE_HAKASHITA,
|
||||
/* 0x0D */ SCENE_AYASHIISHOP,
|
||||
/* 0x0A */ SCENE_WITCH_SHOP, // Magic Hags' Potion Shop
|
||||
/* 0x0B */ SCENE_LAST_BS, // Majora's Lair
|
||||
/* 0x0C */ SCENE_HAKASHITA, // Beneath the Graveyard
|
||||
/* 0x0D */ SCENE_AYASHIISHOP, // Curiosity Shop
|
||||
/* 0x0E */ SCENE_UNSET_E,
|
||||
/* 0x0F */ SCENE_UNSET_F,
|
||||
/* 0x10 */ SCENE_OMOYA,
|
||||
/* 0x11 */ SCENE_BOWLING,
|
||||
/* 0x12 */ SCENE_SONCHONOIE,
|
||||
/* 0x13 */ SCENE_IKANA,
|
||||
/* 0x14 */ SCENE_KAIZOKU,
|
||||
/* 0x15 */ SCENE_MILK_BAR,
|
||||
/* 0x16 */ SCENE_INISIE_N,
|
||||
/* 0x17 */ SCENE_TAKARAYA,
|
||||
/* 0x18 */ SCENE_INISIE_R,
|
||||
/* 0x19 */ SCENE_OKUJOU,
|
||||
/* 0x1A */ SCENE_OPENINGDAN,
|
||||
/* 0x1B */ SCENE_MITURIN,
|
||||
/* 0x1C */ SCENE_13HUBUKINOMITI,
|
||||
/* 0x1D */ SCENE_CASTLE,
|
||||
/* 0x1E */ SCENE_DEKUTES,
|
||||
/* 0x1F */ SCENE_MITURIN_BS,
|
||||
/* 0x20 */ SCENE_SYATEKI_MIZU,
|
||||
/* 0x21 */ SCENE_HAKUGIN,
|
||||
/* 0x22 */ SCENE_ROMANYMAE,
|
||||
/* 0x23 */ SCENE_PIRATE,
|
||||
/* 0x24 */ SCENE_SYATEKI_MORI,
|
||||
/* 0x25 */ SCENE_SINKAI,
|
||||
/* 0x26 */ SCENE_YOUSEI_IZUMI,
|
||||
/* 0x27 */ SCENE_KINSTA1,
|
||||
/* 0x28 */ SCENE_KINDAN2,
|
||||
/* 0x29 */ SCENE_TENMON_DAI,
|
||||
/* 0x2A */ SCENE_LAST_DEKU,
|
||||
/* 0x2B */ SCENE_22DEKUCITY,
|
||||
/* 0x2C */ SCENE_KAJIYA,
|
||||
/* 0x2D */ SCENE_00KEIKOKU,
|
||||
/* 0x2E */ SCENE_POSTHOUSE,
|
||||
/* 0x2F */ SCENE_LABO,
|
||||
/* 0x30 */ SCENE_DANPEI2TEST,
|
||||
/* 0x10 */ SCENE_OMOYA, // Mama's House (Ranch House in PAL) & Barn
|
||||
/* 0x11 */ SCENE_BOWLING, // Honey & Darling's Shop
|
||||
/* 0x12 */ SCENE_SONCHONOIE, // The Mayor's Residence
|
||||
/* 0x13 */ SCENE_IKANA, // Ikana Canyon
|
||||
/* 0x14 */ SCENE_KAIZOKU, // Pirates' Fortress
|
||||
/* 0x15 */ SCENE_MILK_BAR, // Milk Bar
|
||||
/* 0x16 */ SCENE_INISIE_N, // Stone Tower Temple
|
||||
/* 0x17 */ SCENE_TAKARAYA, // Treasure Chest Shop
|
||||
/* 0x18 */ SCENE_INISIE_R, // Inverted Stone Tower Temple
|
||||
/* 0x19 */ SCENE_OKUJOU, // Clock Tower Rooftop
|
||||
/* 0x1A */ SCENE_OPENINGDAN, // Before Clock Town
|
||||
/* 0x1B */ SCENE_MITURIN, // Woodfall Temple
|
||||
/* 0x1C */ SCENE_13HUBUKINOMITI, // Path to Mountain Village
|
||||
/* 0x1D */ SCENE_CASTLE, // Ancient Castle of Ikana
|
||||
/* 0x1E */ SCENE_DEKUTES, // Deku Scrub Playground
|
||||
/* 0x1F */ SCENE_MITURIN_BS, // Odolwa's Lair
|
||||
/* 0x20 */ SCENE_SYATEKI_MIZU, // Town Shooting Gallery
|
||||
/* 0x21 */ SCENE_HAKUGIN, // Snowhead Temple
|
||||
/* 0x22 */ SCENE_ROMANYMAE, // Milk Road
|
||||
/* 0x23 */ SCENE_PIRATE, // Pirates' Fortress Interior
|
||||
/* 0x24 */ SCENE_SYATEKI_MORI, // Swamp Shooting Gallery
|
||||
/* 0x25 */ SCENE_SINKAI, // Pinnacle Rock
|
||||
/* 0x26 */ SCENE_YOUSEI_IZUMI, // Fairy's Fountain
|
||||
/* 0x27 */ SCENE_KINSTA1, // Swamp Spider House
|
||||
/* 0x28 */ SCENE_KINDAN2, // Oceanside Spider House
|
||||
/* 0x29 */ SCENE_TENMON_DAI, // Astral Observatory
|
||||
/* 0x2A */ SCENE_LAST_DEKU, // Moon Deku Trial
|
||||
/* 0x2B */ SCENE_22DEKUCITY, // Deku Palace
|
||||
/* 0x2C */ SCENE_KAJIYA, // Mountain Smithy
|
||||
/* 0x2D */ SCENE_00KEIKOKU, // Termina Field
|
||||
/* 0x2E */ SCENE_POSTHOUSE, // Post Office
|
||||
/* 0x2F */ SCENE_LABO, // Marine Research Lab
|
||||
/* 0x30 */ SCENE_DANPEI2TEST, // Beneath the Graveyard (Day 3) and Dampe's House
|
||||
/* 0x31 */ SCENE_UNSET_31,
|
||||
/* 0x32 */ SCENE_16GORON_HOUSE,
|
||||
/* 0x33 */ SCENE_33ZORACITY,
|
||||
/* 0x34 */ SCENE_8ITEMSHOP,
|
||||
/* 0x35 */ SCENE_F01,
|
||||
/* 0x36 */ SCENE_INISIE_BS,
|
||||
/* 0x37 */ SCENE_30GYOSON,
|
||||
/* 0x38 */ SCENE_31MISAKI,
|
||||
/* 0x39 */ SCENE_TAKARAKUJI,
|
||||
/* 0x32 */ SCENE_16GORON_HOUSE, // Goron Shrine
|
||||
/* 0x33 */ SCENE_33ZORACITY, // Zora Hall
|
||||
/* 0x34 */ SCENE_8ITEMSHOP, // Trading Post
|
||||
/* 0x35 */ SCENE_F01, // Romani Ranch
|
||||
/* 0x36 */ SCENE_INISIE_BS, // Twinmold's Lair
|
||||
/* 0x37 */ SCENE_30GYOSON, // Great Bay Coast
|
||||
/* 0x38 */ SCENE_31MISAKI, // Zora Cape
|
||||
/* 0x39 */ SCENE_TAKARAKUJI, // Lottery Shop
|
||||
/* 0x3A */ SCENE_UNSET_3A,
|
||||
/* 0x3B */ SCENE_TORIDE,
|
||||
/* 0x3C */ SCENE_FISHERMAN,
|
||||
/* 0x3D */ SCENE_GORONSHOP,
|
||||
/* 0x3E */ SCENE_DEKU_KING,
|
||||
/* 0x3F */ SCENE_LAST_GORON,
|
||||
/* 0x40 */ SCENE_24KEMONOMITI,
|
||||
/* 0x41 */ SCENE_F01_B,
|
||||
/* 0x42 */ SCENE_F01C,
|
||||
/* 0x43 */ SCENE_BOTI,
|
||||
/* 0x44 */ SCENE_HAKUGIN_BS,
|
||||
/* 0x45 */ SCENE_20SICHITAI,
|
||||
/* 0x46 */ SCENE_21MITURINMAE,
|
||||
/* 0x47 */ SCENE_LAST_ZORA,
|
||||
/* 0x48 */ SCENE_11GORONNOSATO2,
|
||||
/* 0x49 */ SCENE_SEA,
|
||||
/* 0x4A */ SCENE_35TAKI,
|
||||
/* 0x4B */ SCENE_REDEAD,
|
||||
/* 0x4C */ SCENE_BANDROOM,
|
||||
/* 0x4D */ SCENE_11GORONNOSATO,
|
||||
/* 0x4E */ SCENE_GORON_HAKA,
|
||||
/* 0x4F */ SCENE_SECOM,
|
||||
/* 0x50 */ SCENE_10YUKIYAMANOMURA,
|
||||
/* 0x51 */ SCENE_TOUGITES,
|
||||
/* 0x52 */ SCENE_DANPEI,
|
||||
/* 0x53 */ SCENE_IKANAMAE,
|
||||
/* 0x54 */ SCENE_DOUJOU,
|
||||
/* 0x55 */ SCENE_MUSICHOUSE,
|
||||
/* 0x56 */ SCENE_IKNINSIDE,
|
||||
/* 0x57 */ SCENE_MAP_SHOP,
|
||||
/* 0x58 */ SCENE_F40,
|
||||
/* 0x59 */ SCENE_F41,
|
||||
/* 0x5A */ SCENE_10YUKIYAMANOMURA2,
|
||||
/* 0x5B */ SCENE_14YUKIDAMANOMITI,
|
||||
/* 0x5C */ SCENE_12HAKUGINMAE,
|
||||
/* 0x5D */ SCENE_17SETUGEN,
|
||||
/* 0x5E */ SCENE_17SETUGEN2,
|
||||
/* 0x5F */ SCENE_SEA_BS,
|
||||
/* 0x60 */ SCENE_RANDOM,
|
||||
/* 0x61 */ SCENE_YADOYA,
|
||||
/* 0x62 */ SCENE_KONPEKI_ENT,
|
||||
/* 0x63 */ SCENE_INSIDETOWER,
|
||||
/* 0x64 */ SCENE_26SARUNOMORI,
|
||||
/* 0x65 */ SCENE_LOST_WOODS,
|
||||
/* 0x66 */ SCENE_LAST_LINK,
|
||||
/* 0x67 */ SCENE_SOUGEN,
|
||||
/* 0x68 */ SCENE_BOMYA,
|
||||
/* 0x69 */ SCENE_KYOJINNOMA,
|
||||
/* 0x6A */ SCENE_KOEPONARACE,
|
||||
/* 0x6B */ SCENE_GORONRACE,
|
||||
/* 0x6C */ SCENE_TOWN,
|
||||
/* 0x6D */ SCENE_ICHIBA,
|
||||
/* 0x6E */ SCENE_BACKTOWN,
|
||||
/* 0x6F */ SCENE_CLOCKTOWER,
|
||||
/* 0x70 */ SCENE_ALLEY,
|
||||
/* 0x3B */ SCENE_TORIDE, // Pirates' Fortress Moat
|
||||
/* 0x3C */ SCENE_FISHERMAN, // Fisherman's Hut
|
||||
/* 0x3D */ SCENE_GORONSHOP, // Goron Shop
|
||||
/* 0x3E */ SCENE_DEKU_KING, // Deku King's Chamber
|
||||
/* 0x3F */ SCENE_LAST_GORON, // Moon Goron Trial
|
||||
/* 0x40 */ SCENE_24KEMONOMITI, // Road to Southern Swamp
|
||||
/* 0x41 */ SCENE_F01_B, // Doggy Racetrack
|
||||
/* 0x42 */ SCENE_F01C, // Cucco Shack
|
||||
/* 0x43 */ SCENE_BOTI, // Ikana Graveyard
|
||||
/* 0x44 */ SCENE_HAKUGIN_BS, // Goht's Lair
|
||||
/* 0x45 */ SCENE_20SICHITAI, // Southern Swamp (poison)
|
||||
/* 0x46 */ SCENE_21MITURINMAE, // Woodfall
|
||||
/* 0x47 */ SCENE_LAST_ZORA, // Moon Zora Trial
|
||||
/* 0x48 */ SCENE_11GORONNOSATO2, // Goron Village (spring)
|
||||
/* 0x49 */ SCENE_SEA, // Great Bay Temple
|
||||
/* 0x4A */ SCENE_35TAKI, // Waterfall Rapids
|
||||
/* 0x4B */ SCENE_REDEAD, // Beneath the Well
|
||||
/* 0x4C */ SCENE_BANDROOM, // Zora Hall Rooms
|
||||
/* 0x4D */ SCENE_11GORONNOSATO, // Goron Village (winter)
|
||||
/* 0x4E */ SCENE_GORON_HAKA, // Goron Graveyard
|
||||
/* 0x4F */ SCENE_SECOM, // Sakon's Hideout
|
||||
/* 0x50 */ SCENE_10YUKIYAMANOMURA, // Mountain Village (winter)
|
||||
/* 0x51 */ SCENE_TOUGITES, // Ghost Hut
|
||||
/* 0x52 */ SCENE_DANPEI, // Deku Shrine
|
||||
/* 0x53 */ SCENE_IKANAMAE, // Road to Ikana
|
||||
/* 0x54 */ SCENE_DOUJOU, // Swordsman's School
|
||||
/* 0x55 */ SCENE_MUSICHOUSE, // Music Box House
|
||||
/* 0x56 */ SCENE_IKNINSIDE, // Igos du Ikana's Lair
|
||||
/* 0x57 */ SCENE_MAP_SHOP, // Tourist Information
|
||||
/* 0x58 */ SCENE_F40, // Stone Tower
|
||||
/* 0x59 */ SCENE_F41, // Inverted Stone Tower
|
||||
/* 0x5A */ SCENE_10YUKIYAMANOMURA2, // Mountain Village (spring)
|
||||
/* 0x5B */ SCENE_14YUKIDAMANOMITI, // Path to Snowhead
|
||||
/* 0x5C */ SCENE_12HAKUGINMAE, // Snowhead
|
||||
/* 0x5D */ SCENE_17SETUGEN, // Path to Goron Village (winter)
|
||||
/* 0x5E */ SCENE_17SETUGEN2, // Path to Goron Village (spring)
|
||||
/* 0x5F */ SCENE_SEA_BS, // Gyorg's Lair
|
||||
/* 0x60 */ SCENE_RANDOM, // Secret Shrine
|
||||
/* 0x61 */ SCENE_YADOYA, // Stock Pot Inn
|
||||
/* 0x62 */ SCENE_KONPEKI_ENT, // Great Bay Cutscene
|
||||
/* 0x63 */ SCENE_INSIDETOWER, // Clock Tower Interior
|
||||
/* 0x64 */ SCENE_26SARUNOMORI, // Woods of Mystery
|
||||
/* 0x65 */ SCENE_LOST_WOODS, // Lost Woods (Intro)
|
||||
/* 0x66 */ SCENE_LAST_LINK, // Moon Link Trial
|
||||
/* 0x67 */ SCENE_SOUGEN, // The Moon
|
||||
/* 0x68 */ SCENE_BOMYA, // Bomb Shop
|
||||
/* 0x69 */ SCENE_KYOJINNOMA, // Giants' Chamber
|
||||
/* 0x6A */ SCENE_KOEPONARACE, // Gorman Track
|
||||
/* 0x6B */ SCENE_GORONRACE, // Goron Racetrack
|
||||
/* 0x6C */ SCENE_TOWN, // East Clock Town
|
||||
/* 0x6D */ SCENE_ICHIBA, // West Clock Town
|
||||
/* 0x6E */ SCENE_BACKTOWN, // North Clock Town
|
||||
/* 0x6F */ SCENE_CLOCKTOWER, // South Clock Town
|
||||
/* 0x70 */ SCENE_ALLEY, // Laundry Pool
|
||||
/* 0x71 */ SCENE_MAX
|
||||
} SceneId;
|
||||
|
||||
@@ -844,11 +844,11 @@ typedef enum {
|
||||
#define SCENE_CMD_SPECIAL_FILES(elfMessageFile, keepObjectId) \
|
||||
{ SCENE_CMD_ID_SPECIAL_FILES, elfMessageFile, CMD_W(keepObjectId) }
|
||||
|
||||
#define SCENE_CMD_ROOM_BEHAVIOR(currRoomUnk3, currRoomUnk2, currRoomUnk5, msgCtxunk12044, enablePosLights, \
|
||||
#define SCENE_CMD_ROOM_BEHAVIOR(curRoomUnk3, curRoomUnk2, curRoomUnk5, msgCtxunk12044, enablePosLights, \
|
||||
kankyoContextUnkE2) \
|
||||
{ \
|
||||
SCENE_CMD_ID_ROOM_BEHAVIOR, currRoomUnk3, \
|
||||
currRoomUnk2 | _SHIFTL(currRoomUnk5, 8, 1) | _SHIFTL(msgCtxunk12044, 10, 1) | \
|
||||
SCENE_CMD_ID_ROOM_BEHAVIOR, curRoomUnk3, \
|
||||
curRoomUnk2 | _SHIFTL(curRoomUnk5, 8, 1) | _SHIFTL(msgCtxunk12044, 10, 1) | \
|
||||
_SHIFTL(enablePosLights, 11, 1) | _SHIFTL(kankyoContextUnkE2, 12, 1) \
|
||||
}
|
||||
|
||||
|
||||
@@ -42,8 +42,8 @@ typedef enum {
|
||||
/* 0x07 */ SCHEDULE_CMD_ID_NOP, // No-Op
|
||||
/* 0x08 */ SCHEDULE_CMD_ID_CHECK_MISC_S, // Special check based on items or masks and branches if check passes, short range branch
|
||||
/* 0x09 */ SCHEDULE_CMD_ID_RET_VAL_S, // Ends script and returns byte value
|
||||
/* 0x0A */ SCHEDULE_CMD_ID_CHECK_NOT_IN_SCENE_S, // Checks if the current scene is not SceneNum and branches if so, short range branch
|
||||
/* 0x0B */ SCHEDULE_CMD_ID_CHECK_NOT_IN_SCENE_L, // Checks if the current scene is not SceneNum and branches if so, long range branch
|
||||
/* 0x0A */ SCHEDULE_CMD_ID_CHECK_NOT_IN_SCENE_S, // Checks if the current scene is not SceneId and branches if so, short range branch
|
||||
/* 0x0B */ SCHEDULE_CMD_ID_CHECK_NOT_IN_SCENE_L, // Checks if the current scene is not SceneId and branches if so, long range branch
|
||||
/* 0x0C */ SCHEDULE_CMD_ID_CHECK_NOT_IN_DAY_S, // Checks if the current day is not Day and branches if so, short range branch
|
||||
/* 0x0D */ SCHEDULE_CMD_ID_CHECK_NOT_IN_DAY_L, // Checks if the current day is not Day and branches if so, long range branch
|
||||
/* 0x0E */ SCHEDULE_CMD_ID_RET_TIME, // Returns 2 time values
|
||||
@@ -130,15 +130,15 @@ typedef struct {
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ ScheduleCmdBase base;
|
||||
/* 0x1 */ u8 sceneH;
|
||||
/* 0x2 */ u8 sceneL;
|
||||
/* 0x1 */ u8 sceneIdH;
|
||||
/* 0x2 */ u8 sceneIdL;
|
||||
/* 0x3 */ s8 offset;
|
||||
} ScheduleCmdCheckNotInSceneS; // size = 0x4
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ ScheduleCmdBase base;
|
||||
/* 0x1 */ u8 sceneH;
|
||||
/* 0x2 */ u8 sceneL;
|
||||
/* 0x1 */ u8 sceneIdH;
|
||||
/* 0x2 */ u8 sceneIdL;
|
||||
/* 0x3 */ u8 offsetH;
|
||||
/* 0x4 */ u8 offsetL;
|
||||
} ScheduleCmdCheckNotInSceneL; // size = 0x5
|
||||
|
||||
Reference in New Issue
Block a user