mirror of https://github.com/zeldaret/mm.git
`z_parameter`: Main (#1157)
* main docs * formatting and bss issues * PR Suggestions * missed enums * better macros/enums * restrictions improvement, still wip * fix name, more common restriction patterns * more restrictions cleanup * rm comment
This commit is contained in:
parent
ea83e49e6e
commit
b73d18b154
|
|
@ -1621,9 +1621,9 @@ s32 func_8010A0A4(PlayState* play);
|
|||
void Minimap_SavePlayerRoomInitInfo(PlayState* play);
|
||||
void Map_InitRoomData(PlayState* play, s16 room);
|
||||
void Map_Destroy(PlayState* play);
|
||||
// void Map_Init(PlayState* play);
|
||||
// void Minimap_Draw(PlayState* play);
|
||||
// void Map_Update(PlayState* play);
|
||||
void Map_Init(PlayState* play);
|
||||
void Minimap_Draw(PlayState* play);
|
||||
void Map_Update(PlayState* play);
|
||||
// void func_8010A760(void);
|
||||
// void func_8010A7CC(void);
|
||||
// void func_8010A814(void);
|
||||
|
|
@ -1710,8 +1710,7 @@ void Interface_StartPostmanTimer(s16 seconds, s16 bunnyHoodState);
|
|||
void Interface_NewDay(PlayState* play, s32 day);
|
||||
void Interface_SetHudVisibility(u16 hudVisibility);
|
||||
void func_80110038(PlayState* play);
|
||||
// void func_80111CB4(void);
|
||||
// void func_801129E4(void);
|
||||
void Interface_SetSceneRestrictions(PlayState* play);
|
||||
void Interface_InitMinigame(PlayState* play);
|
||||
void Interface_LoadItemIconImpl(PlayState* play, u8 btn);
|
||||
void Interface_LoadItemIcon(PlayState* play, u8 btn);
|
||||
|
|
@ -1727,12 +1726,10 @@ s32 Inventory_HasItemInBottle(u8 item);
|
|||
void Inventory_UpdateBottleItem(PlayState* play, u8 item, u8 btn);
|
||||
s32 Inventory_ConsumeFairy(PlayState* play);
|
||||
void Inventory_UpdateItem(PlayState* play, s16 slot, s16 item);
|
||||
// void func_801153C8(void);
|
||||
// void func_80115428(void);
|
||||
void func_8011552C(PlayState* play, u16 arg1);
|
||||
void func_801155B4(PlayState* play, s16 arg1);
|
||||
void func_80115764(PlayState* play, UNK_TYPE arg1);
|
||||
void func_80115844(PlayState* play, s16 param_2);
|
||||
void func_80115844(PlayState* play, s16 doAction);
|
||||
s32 Health_ChangeBy(PlayState* play, s16 healthChange);
|
||||
void Health_GiveHearts(s16 hearts);
|
||||
void Rupees_ChangeBy(s16 rupeeChange);
|
||||
|
|
@ -1812,7 +1809,7 @@ s32 Player_ActionToExplosive(Player* player, PlayerItemAction itemAction);
|
|||
s32 Player_GetExplosiveHeld(Player* player);
|
||||
s32 Player_ActionToSword(Actor* actor, PlayerItemAction itemAction);
|
||||
s32 func_801242B4(Player* player);
|
||||
s32 Player_GetEnvTimerType(PlayState* play);
|
||||
s32 Player_GetEnvironmentalHazard(PlayState* play);
|
||||
void func_80124420(Player* player);
|
||||
void func_80124618(struct_80124618 arg0[], f32 curFrame, Vec3f* arg2);
|
||||
void Player_DrawImpl(PlayState* play, void** skeleton, Vec3s* jointTable, s32 dListCount, s32 lod, PlayerTransformation playerForm, s32 boots, s32 face, OverrideLimbDrawFlex overrideLimbDraw, PostLimbDrawFlex postLimbDraw, Actor* actor);
|
||||
|
|
@ -2327,8 +2324,8 @@ void func_80165DF0(void);
|
|||
// void func_80166060(void);
|
||||
Gfx* func_801660B8(PlayState* play, Gfx* gfx);
|
||||
void Play_Destroy(GameState* thisx);
|
||||
// void func_801663C4(void);
|
||||
// void func_80166644(void);
|
||||
void Play_CompressI8ToI5(void* srcI8, void* destI5, size_t size);
|
||||
void Play_DecompressI5ToI8(void* srcI5, void* destI8, size_t size);
|
||||
// void func_801668B4(void);
|
||||
void func_80166968(PlayState* play, Camera* camera);
|
||||
void func_80166B30(PlayState* play);
|
||||
|
|
|
|||
|
|
@ -60,14 +60,24 @@
|
|||
#define R_PLAY_FILL_SCREEN_B MREG(67)
|
||||
#define R_PLAY_FILL_SCREEN_ALPHA MREG(68)
|
||||
|
||||
#define R_PAUSE_WORLD_MAP_YAW YREG(24)
|
||||
#define R_PAUSE_WORLD_MAP_Y_OFFSET YREG(25)
|
||||
#define R_PAUSE_WORLD_MAP_DEPTH YREG(26)
|
||||
#define R_PAUSE_DBG_QUEST_CURSOR_ON YREG(69)
|
||||
#define R_PAUSE_DBG_QUEST_CURSOR_X YREG(70)
|
||||
#define R_PAUSE_DBG_QUEST_CURSOR_Y YREG(71)
|
||||
#define R_C_UP_ICON_X YREG(88)
|
||||
#define R_C_UP_ICON_Y YREG(89)
|
||||
#define R_PAUSE_WORLD_MAP_YAW YREG(24)
|
||||
#define R_PAUSE_WORLD_MAP_Y_OFFSET YREG(25)
|
||||
#define R_PAUSE_WORLD_MAP_DEPTH YREG(26)
|
||||
#define R_PICTO_FOCUS_BORDER_TOPLEFT_X YREG(32)
|
||||
#define R_PICTO_FOCUS_BORDER_TOPLEFT_Y YREG(33)
|
||||
#define R_PICTO_FOCUS_BORDER_TOPRIGHT_X YREG(34)
|
||||
#define R_PICTO_FOCUS_BORDER_TOPRIGHT_Y YREG(35)
|
||||
#define R_PICTO_FOCUS_BORDER_BOTTOMLEFT_X YREG(36)
|
||||
#define R_PICTO_FOCUS_BORDER_BOTTOMLEFT_Y YREG(37)
|
||||
#define R_PICTO_FOCUS_BORDER_BOTTOMRIGHT_X YREG(38)
|
||||
#define R_PICTO_FOCUS_BORDER_BOTTOMRIGHT_Y YREG(39)
|
||||
#define R_PICTO_FOCUS_ICON_X YREG(40)
|
||||
#define R_PICTO_FOCUS_ICON_Y YREG(41)
|
||||
#define R_PICTO_FOCUS_TEXT_X YREG(42)
|
||||
#define R_PICTO_FOCUS_TEXT_Y YREG(43)
|
||||
#define R_PAUSE_DBG_QUEST_CURSOR_ON YREG(69)
|
||||
#define R_PAUSE_DBG_QUEST_CURSOR_X YREG(70)
|
||||
#define R_PAUSE_DBG_QUEST_CURSOR_Y YREG(71)
|
||||
|
||||
#define R_MAGIC_FILL_COLOR(i) ZREG(0 + i)
|
||||
#define R_C_BTN_COLOR(i) ZREG(39 + i)
|
||||
|
|
@ -86,11 +96,13 @@
|
|||
#define R_ITEM_ICON_Y(i) ZREG(86 + i)
|
||||
#define R_ITEM_ICON_DD(i) ZREG(90 + i)
|
||||
|
||||
#define R_MAGIC_DBG_SET_UPGRADE XREG(4)
|
||||
#define R_A_BTN_Y XREG(16)
|
||||
#define R_A_BTN_X XREG(17)
|
||||
#define R_A_ICON_Y XREG(19)
|
||||
#define R_A_ICON_X XREG(20)
|
||||
#define R_A_BTN_COLOR(i) XREG(22 + i)
|
||||
#define R_A_BTN_Y_OFFSET XREG(31)
|
||||
#define R_MAGIC_CONSUME_TIMER_GIANTS_MASK XREG(41)
|
||||
#define R_THREE_DAY_CLOCK_Y_POS XREG(43)
|
||||
#define R_THREE_DAY_CLOCK_SUN_MOON_CUTOFF XREG(44)
|
||||
|
|
|
|||
|
|
@ -631,127 +631,6 @@ extern UNK_PTR D_801BEC14;
|
|||
// extern UNK_TYPE2 D_801BF5B0;
|
||||
extern UNK_PTR D_801BF5C0;
|
||||
// extern UNK_TYPE1 D_801BF68C;
|
||||
// extern UNK_TYPE1 D_801BF6C0;
|
||||
// extern UNK_TYPE1 D_801BF79E;
|
||||
// extern UNK_TYPE2 D_801BF884;
|
||||
// extern UNK_TYPE2 D_801BF888;
|
||||
// extern UNK_TYPE2 D_801BF88C;
|
||||
// extern UNK_TYPE2 D_801BF890;
|
||||
// extern UNK_TYPE2 D_801BF898;
|
||||
// extern UNK_TYPE2 D_801BF89C;
|
||||
// extern UNK_TYPE2 sMagicMeterOutlinePrimRed;
|
||||
// extern UNK_TYPE2 sMagicMeterOutlinePrimGreen;
|
||||
// extern UNK_TYPE2 sMagicMeterOutlinePrimBlue;
|
||||
// extern UNK_TYPE2 sMagicBorderRatio;
|
||||
// extern UNK_TYPE2 sMagicBorderStep;
|
||||
// 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 sIsTimerPaused;
|
||||
// extern UNK_TYPE1 D_801BF96A;
|
||||
// extern UNK_TYPE1 sIsBottleTimerPaused;
|
||||
// extern UNK_TYPE1 D_801BF96E;
|
||||
// extern UNK_TYPE2 sTimerId;
|
||||
// extern UNK_TYPE1 D_801BF972;
|
||||
// extern UNK_TYPE2 D_801BF974;
|
||||
// extern UNK_TYPE2 D_801BF978;
|
||||
// extern UNK_TYPE2 D_801BF97C;
|
||||
// extern UNK_TYPE4 D_801BF980;
|
||||
// extern UNK_TYPE1 D_801BF988;
|
||||
// extern UNK_TYPE1 D_801BF998;
|
||||
// extern UNK_TYPE2 D_801BF9B0;
|
||||
// extern UNK_TYPE1 D_801BF9B4;
|
||||
// extern UNK_TYPE1 D_801BF9BC;
|
||||
// extern UNK_TYPE1 D_801BF9C4;
|
||||
// extern UNK_TYPE1 D_801BF9C8;
|
||||
// extern UNK_TYPE1 D_801BF9CC;
|
||||
// extern UNK_TYPE2 D_801BF9D4;
|
||||
// extern UNK_TYPE2 D_801BF9D6;
|
||||
// extern UNK_TYPE2 D_801BF9D8;
|
||||
// extern UNK_TYPE2 D_801BF9DA;
|
||||
// extern UNK_TYPE2 D_801BF9DC;
|
||||
// extern UNK_TYPE2 D_801BF9DE;
|
||||
// extern UNK_TYPE2 D_801BF9E0;
|
||||
// extern UNK_TYPE2 D_801BF9E2;
|
||||
// extern UNK_TYPE2 D_801BF9E4;
|
||||
// extern UNK_TYPE2 D_801BF9E6;
|
||||
// extern UNK_TYPE2 D_801BF9E8;
|
||||
// extern UNK_TYPE2 D_801BF9EA;
|
||||
// extern UNK_TYPE2 D_801BF9EC;
|
||||
// extern UNK_TYPE2 D_801BF9F0;
|
||||
// extern UNK_TYPE2 D_801BF9F4;
|
||||
// extern UNK_TYPE2 D_801BF9F8;
|
||||
// extern UNK_TYPE2 D_801BF9FC;
|
||||
// extern UNK_TYPE2 D_801BFA00;
|
||||
// extern UNK_TYPE1 D_801BFAB0;
|
||||
// extern UNK_TYPE1 D_801BFAB8;
|
||||
// extern UNK_TYPE1 D_801BFAC4;
|
||||
// extern UNK_TYPE1 D_801BFACC;
|
||||
// extern UNK_TYPE1 D_801BFAD4;
|
||||
// extern UNK_TYPE2 D_801BFAF4;
|
||||
// extern UNK_TYPE2 D_801BFAF6;
|
||||
// extern UNK_TYPE2 D_801BFAF8;
|
||||
// extern UNK_TYPE2 D_801BFAFA;
|
||||
// extern UNK_TYPE1 D_801BFAFC;
|
||||
// extern UNK_TYPE1 D_801BFB04;
|
||||
// extern UNK_TYPE1 D_801BFB0C;
|
||||
// extern UNK_TYPE1 D_801BFB14;
|
||||
// extern UNK_TYPE1 D_801BFB1C;
|
||||
// extern UNK_TYPE1 D_801BFB24;
|
||||
// extern UNK_TYPE2 sThreeDayClockAlpha;
|
||||
// extern UNK_TYPE2 D_801BFB30;
|
||||
// extern UNK_TYPE2 D_801BFB34;
|
||||
// extern UNK_TYPE1 sThreeDayClockHours;
|
||||
// extern UNK_TYPE1 sThreeDayClockHourTextures;
|
||||
// extern UNK_TYPE2 D_801BFBCC;
|
||||
// extern UNK_TYPE2 D_801BFBD0;
|
||||
// extern UNK_TYPE2 D_801BFBD4;
|
||||
// extern UNK_TYPE2 D_801BFBD8;
|
||||
// extern UNK_TYPE2 D_801BFBDC;
|
||||
// extern UNK_TYPE2 D_801BFBE0;
|
||||
// extern UNK_TYPE2 D_801BFBE4;
|
||||
// extern UNK_TYPE2 D_801BFBE8;
|
||||
// extern UNK_TYPE1 D_801BFBEC;
|
||||
// extern UNK_TYPE1 D_801BFBF0;
|
||||
// extern UNK_TYPE1 D_801BFBF4;
|
||||
// extern UNK_TYPE1 D_801BFBF8;
|
||||
// extern UNK_TYPE1 D_801BFBFC;
|
||||
// extern UNK_TYPE1 D_801BFC00;
|
||||
// extern UNK_TYPE1 D_801BFC04;
|
||||
// extern UNK_TYPE1 D_801BFC08;
|
||||
// extern UNK_TYPE1 D_801BFC0C;
|
||||
// extern UNK_TYPE1 D_801BFC10;
|
||||
// extern UNK_TYPE1 sFinalHoursDigitTextures;
|
||||
// extern UNK_TYPE1 D_801BFC40;
|
||||
// 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 sTimerBeepSfxSeconds;
|
||||
// extern UNK_TYPE2 D_801BFCFC;
|
||||
// extern UNK_TYPE2 D_801BFD0C;
|
||||
// extern UNK_TYPE1 D_801BFD1C;
|
||||
// extern UNK_TYPE1 D_801BFD24;
|
||||
// extern UNK_TYPE1 D_801BFD2C;
|
||||
// extern UNK_TYPE1 D_801BFD40;
|
||||
// extern UNK_TYPE1 D_801BFD54;
|
||||
// extern UNK_TYPE1 D_801BFD64;
|
||||
// extern UNK_TYPE2 D_801BFD6C;
|
||||
// extern UNK_TYPE1 D_801BFD84;
|
||||
// extern UNK_TYPE1 D_801BFD8C;
|
||||
// extern UNK_TYPE1 D_801BFD94;
|
||||
// extern UNK_TYPE2 D_801BFD98;
|
||||
|
||||
extern FlexSkeletonHeader* gPlayerSkeletons[PLAYER_FORM_MAX];
|
||||
extern PlayerModelIndices gPlayerModelTypes[];
|
||||
|
|
@ -2926,7 +2805,7 @@ extern GfxPool gGfxPools[2];
|
|||
extern u8 gAudioHeap[0x138000];
|
||||
extern u8 gSystemHeap[UNK_SIZE];
|
||||
|
||||
extern u8 D_80780000[0x4600];
|
||||
extern u8 gPictoPhotoI8[PICTO_PHOTO_SIZE];
|
||||
extern u8 D_80784600[0x56200];
|
||||
extern u16 gFramebuffer0[SCREEN_HEIGHT][SCREEN_WIDTH];
|
||||
|
||||
|
|
|
|||
|
|
@ -987,7 +987,9 @@ struct PlayState {
|
|||
/* 0x18B4C */ PreRender pauseBgPreRender;
|
||||
/* 0x18B9C */ char unk_18B9C[0x2B8];
|
||||
/* 0x18E54 */ SceneTableEntry* loadedScene;
|
||||
/* 0x18E58 */ char unk_18E58[0x10];
|
||||
/* 0x18E58 */ char unk_18E58[0x4];
|
||||
/* 0x18E5C */ TexturePtr pictoPhotoI8;
|
||||
/* 0x18E60 */ char unk_18E60[0x8];
|
||||
/* 0x18E68 */ void* unk_18E68;
|
||||
/* 0x18E6C */ char unk_18E6C[0x3EC];
|
||||
}; // size = 0x19258
|
||||
|
|
|
|||
|
|
@ -310,7 +310,7 @@ typedef enum {
|
|||
|
||||
#define ACTORCTX_FLAG_0 (1 << 0)
|
||||
#define ACTORCTX_FLAG_1 (1 << 1)
|
||||
#define ACTORCTX_FLAG_2 (1 << 2)
|
||||
#define ACTORCTX_FLAG_PICTO_BOX_ON (1 << 2)
|
||||
#define ACTORCTX_FLAG_3 (1 << 3)
|
||||
#define ACTORCTX_FLAG_4 (1 << 4)
|
||||
#define ACTORCTX_FLAG_5 (1 << 5)
|
||||
|
|
|
|||
|
|
@ -4,6 +4,60 @@
|
|||
#include "ultra64.h"
|
||||
#include "z64view.h"
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ A_BTN_STATE_0,
|
||||
/* 1 */ A_BTN_STATE_1,
|
||||
/* 2 */ A_BTN_STATE_2,
|
||||
/* 3 */ A_BTN_STATE_3,
|
||||
/* 4 */ A_BTN_STATE_4
|
||||
} AButtonState;
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ DO_ACTION_ATTACK,
|
||||
/* 0x01 */ DO_ACTION_CHECK,
|
||||
/* 0x02 */ DO_ACTION_ENTER,
|
||||
/* 0x03 */ DO_ACTION_RETURN,
|
||||
/* 0x04 */ DO_ACTION_OPEN,
|
||||
/* 0x05 */ DO_ACTION_JUMP,
|
||||
/* 0x06 */ DO_ACTION_DECIDE,
|
||||
/* 0x07 */ DO_ACTION_DIVE,
|
||||
/* 0x08 */ DO_ACTION_FASTER,
|
||||
/* 0x09 */ DO_ACTION_THROW,
|
||||
/* 0x0A */ DO_ACTION_NONE, // in do_action_static, the texture at this position is NAVI, however this value is in practice the "No Action" value
|
||||
/* 0x0B */ DO_ACTION_CLIMB,
|
||||
/* 0x0C */ DO_ACTION_DROP,
|
||||
/* 0x0D */ DO_ACTION_DOWN,
|
||||
/* 0x0E */ DO_ACTION_QUIT,
|
||||
/* 0x0F */ DO_ACTION_SPEAK,
|
||||
/* 0x10 */ DO_ACTION_NEXT,
|
||||
/* 0x11 */ DO_ACTION_GRAB,
|
||||
/* 0x12 */ DO_ACTION_STOP,
|
||||
/* 0x13 */ DO_ACTION_PUTAWAY,
|
||||
/* 0x14 */ DO_ACTION_REEL,
|
||||
/* 0x15 */ DO_ACTION_INFO,
|
||||
/* 0x16 */ DO_ACTION_WARP,
|
||||
/* 0x17 */ DO_ACTION_SNAP,
|
||||
/* 0x18 */ DO_ACTION_EXPLODE,
|
||||
/* 0x19 */ DO_ACTION_DANCE,
|
||||
/* 0x1A */ DO_ACTION_MARCH,
|
||||
/* 0x1B */ DO_ACTION_1,
|
||||
/* 0x1C */ DO_ACTION_2,
|
||||
/* 0x1D */ DO_ACTION_3,
|
||||
/* 0x1E */ DO_ACTION_4,
|
||||
/* 0x1F */ DO_ACTION_5,
|
||||
/* 0x20 */ DO_ACTION_6,
|
||||
/* 0x21 */ DO_ACTION_7,
|
||||
/* 0x22 */ DO_ACTION_8,
|
||||
/* 0x23 */ DO_ACTION_CURL,
|
||||
/* 0x24 */ DO_ACTION_SURFACE,
|
||||
/* 0x25 */ DO_ACTION_SWIM,
|
||||
/* 0x26 */ DO_ACTION_PUNCH,
|
||||
/* 0x27 */ DO_ACTION_POUND,
|
||||
/* 0x28 */ DO_ACTION_HOOK,
|
||||
/* 0x29 */ DO_ACTION_SHOOT,
|
||||
/* 0x2A */ DO_ACTION_MAX
|
||||
} DoAction;
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ MINIGAME_STATE_NONE,
|
||||
/* 1 */ MINIGAME_STATE_COUNTDOWN_SETUP_3,
|
||||
|
|
@ -39,6 +93,27 @@ typedef enum {
|
|||
#define PERFECT_LETTERS_NUM_LETTERS 8
|
||||
#define PERFECT_LETTERS_ANGLE_PER_LETTER (0x10000 / PERFECT_LETTERS_NUM_LETTERS)
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ STORY_DMA_IDLE,
|
||||
/* 1 */ STORY_DMA_LOADING,
|
||||
/* 2 */ STORY_DMA_DONE
|
||||
} StoryLoadStatus;
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ STORY_STATE_OFF,
|
||||
/* 1 */ STORY_STATE_INIT,
|
||||
/* 2 */ STORY_STATE_IDLE,
|
||||
/* 3 */ STORY_STATE_DESTROY,
|
||||
/* 4 */ STORY_STATE_SETUP_IDLE,
|
||||
/* 5 */ STORY_STATE_FADE_OUT,
|
||||
/* 6 */ STORY_STATE_FADE_IN
|
||||
} StoryState;
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ STORY_TYPE_MASK_FESTIVAL,
|
||||
/* 1 */ STORY_TYPE_GIANTS_LEAVING
|
||||
} StoryType;
|
||||
|
||||
typedef struct {
|
||||
/* 0x000 */ View view;
|
||||
/* 0x168 */ Vtx* actionVtx;
|
||||
|
|
@ -47,17 +122,16 @@ typedef struct {
|
|||
/* 0x174 */ u8* doActionSegment;
|
||||
/* 0x178 */ u8* iconItemSegment;
|
||||
/* 0x17C */ u8* mapSegment;
|
||||
/* 0x180 */ u8* unk_180;
|
||||
/* 0x184 */ DmaRequest dmaRequest_184;
|
||||
/* 0x1A4 */ DmaRequest dmaRequest_1A4;
|
||||
/* 0x1C4 */ DmaRequest dmaRequest_1C4;
|
||||
/* 0x180 */ u8* unk_180; // unused segment?
|
||||
/* 0x184 */ DmaRequest dmaRequest;
|
||||
/* 0x1A4 */ UNK_TYPE1 unk_1A4[0x40]; // likely 2 DmaRequest
|
||||
/* 0x1E4 */ OSMesgQueue loadQueue;
|
||||
/* 0x1FC */ OSMesg loadMsg;
|
||||
/* 0x200 */ Viewport viewport;
|
||||
/* 0x210 */ s16 unk_210;
|
||||
/* 0x210 */ s16 aButtonState;
|
||||
/* 0x212 */ u16 unk_212;
|
||||
/* 0x214 */ u16 unk_214;
|
||||
/* 0x218 */ f32 unk_218;
|
||||
/* 0x214 */ u16 aButtonDoAction;
|
||||
/* 0x218 */ f32 aButtonRoll;
|
||||
/* 0x21C */ s16 unk_21C;
|
||||
/* 0x21E */ s16 bButtonDoAction;
|
||||
/* 0x220 */ s16 unk_220;
|
||||
|
|
@ -74,7 +148,7 @@ typedef struct {
|
|||
/* 0x246 */ s16 heartsEnvG[2];
|
||||
/* 0x24A */ s16 heartsEnvB[2];
|
||||
/* 0x24E */ s16 health;
|
||||
/* 0x250 */ s16 unkTimer;
|
||||
/* 0x250 */ s16 healthTimer;
|
||||
/* 0x252 */ s16 lifeSizeChange;
|
||||
/* 0x254 */ s16 lifeSizeChangeDirection; // 1 means shrinking, 0 growing
|
||||
/* 0x256 */ s16 unk_256;
|
||||
|
|
@ -84,7 +158,7 @@ typedef struct {
|
|||
/* 0x25E */ u16 minigameHiddenPoints; // Points to add to the secondary set of minigame points not displayed. Reset to 0 every frame.
|
||||
/* 0x260 */ u16 minigameAmmo;
|
||||
/* 0x262 */ u16 minigameUnusedPoints; // Associated with other minigame points, unused
|
||||
/* 0x264 */ s16 unk_264;
|
||||
/* 0x264 */ s16 screenFillAlpha;
|
||||
/* 0x266 */ s16 aAlpha;
|
||||
/* 0x268 */ s16 bAlpha;
|
||||
/* 0x26A */ s16 cLeftAlpha;
|
||||
|
|
@ -116,27 +190,27 @@ typedef struct {
|
|||
/* 0x30A */ s16 perfectLettersColorTimer;
|
||||
/* 0x30C */ s16 perfectLettersTimer;
|
||||
struct {
|
||||
/* 0x30E */ u8 unk_30E; // "h_gauge"
|
||||
/* 0x30E */ u8 hGauge;
|
||||
/* 0x30F */ u8 bButton;
|
||||
/* 0x310 */ u8 aButton;
|
||||
/* 0x311 */ u8 tradeItems;
|
||||
/* 0x312 */ u8 unk_312;
|
||||
/* 0x313 */ u8 unk_313;
|
||||
/* 0x314 */ u8 unk_314;
|
||||
/* 0x311 */ u8 tradeItems; // Includes deed trade quest, anju/kafei trade quest, bottles, and ocarina
|
||||
/* 0x312 */ u8 songOfTime;
|
||||
/* 0x313 */ u8 songOfDoubleTime;
|
||||
/* 0x314 */ u8 invSongOfTime;
|
||||
/* 0x315 */ u8 songOfSoaring;
|
||||
/* 0x316 */ u8 songOfStorms;
|
||||
/* 0x317 */ u8 unk_317;
|
||||
/* 0x318 */ u8 pictographBox;
|
||||
/* 0x317 */ u8 masks;
|
||||
/* 0x318 */ u8 pictoBox;
|
||||
/* 0x319 */ u8 all; // "another"; enables all item restrictions
|
||||
} restrictions; // size = 0xC
|
||||
/* 0x31A */ u8 storyState;
|
||||
/* 0x31B */ u8 storyType;
|
||||
/* 0x31C */ u8 unk_31C;
|
||||
/* 0x320 */ OSMesgQueue unk_320;
|
||||
/* 0x338 */ OSMesg unk_338;
|
||||
/* 0x33C */ void* unk_33C;
|
||||
/* 0x340 */ u32 unk_340;
|
||||
/* 0x344 */ u32 unk_344;
|
||||
/* 0x31C */ u8 storyDmaStatus;
|
||||
/* 0x320 */ OSMesgQueue storyMsgQueue;
|
||||
/* 0x338 */ OSMesg storyMsgBuf;
|
||||
/* 0x33C */ u8* storySegment;
|
||||
/* 0x340 */ uintptr_t storyAddr;
|
||||
/* 0x344 */ size_t storySize;
|
||||
} InterfaceContext; // size = 0x348
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -9,7 +9,8 @@
|
|||
typedef enum {
|
||||
/* 0 */ EQUIP_TYPE_SWORD,
|
||||
/* 1 */ EQUIP_TYPE_SHIELD,
|
||||
/* 2 */ EQUIP_TYPE_MAX
|
||||
/* 2 */ EQUIP_TYPE_TUNIC, // Remnant of OoT
|
||||
/* 3 */ EQUIP_TYPE_MAX
|
||||
} EquipmentType;
|
||||
|
||||
typedef enum {
|
||||
|
|
@ -28,6 +29,14 @@ typedef enum {
|
|||
/* 3 */ EQUIP_VALUE_SHIELD_MAX
|
||||
} EquipValueShield;
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ EQUIP_VALUE_TUNIC_NONE,
|
||||
/* 1 */ EQUIP_VALUE_TUNIC_KOKIRI,
|
||||
/* 2 */ EQUIP_VALUE_TUNIC_GORON,
|
||||
/* 3 */ EQUIP_VALUE_TUNIC_ZORA,
|
||||
/* 4 */ EQUIP_VALUE_TUNIC_MAX
|
||||
} EquipValueTunic; // Remnant of OoT
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ UPG_QUIVER,
|
||||
/* 1 */ UPG_BOMB_BAG,
|
||||
|
|
|
|||
|
|
@ -72,12 +72,12 @@ typedef enum PlayerMask {
|
|||
} 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;
|
||||
/* 0 */ PLAYER_ENV_HAZARD_NONE,
|
||||
/* 1 */ PLAYER_ENV_HAZARD_HOTROOM,
|
||||
/* 2 */ PLAYER_ENV_HAZARD_UNDERWATER_FLOOR,
|
||||
/* 3 */ PLAYER_ENV_HAZARD_SWIMMING,
|
||||
/* 4 */ PLAYER_ENV_HAZARD_UNDERWATER_FREE
|
||||
} PlayerEnvHazard;
|
||||
|
||||
typedef enum PlayerItemAction {
|
||||
/* -1 */ PLAYER_IA_MINUS1 = -1,
|
||||
|
|
|
|||
|
|
@ -55,6 +55,14 @@ typedef enum {
|
|||
#define MAGIC_NORMAL_METER 0x30
|
||||
#define MAGIC_DOUBLE_METER (2 * MAGIC_NORMAL_METER)
|
||||
|
||||
// See `R_MAGIC_DBG_SET_UPGRADE`
|
||||
#define MAGIC_DBG_SET_UPGRADE_NO_ACTION 0
|
||||
#define MAGIC_DBG_SET_UPGRADE_NORMAL_METER -1
|
||||
#define MAGIC_DBG_SET_UPGRADE_DOUBLE_METER 1
|
||||
|
||||
#define ENV_HAZARD_TEXT_TRIGGER_HOTROOM (1 << 0)
|
||||
#define ENV_HAZARD_TEXT_TRIGGER_UNDERWATER (1 << 1)
|
||||
|
||||
#define SECONDS_TO_TIMER(seconds) ((seconds) * 100)
|
||||
|
||||
#define OSTIME_TO_TIMER(osTime) ((osTime) * 64 / 3000 / 10000)
|
||||
|
|
@ -69,7 +77,7 @@ typedef enum {
|
|||
/* 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)
|
||||
/* 5 */ TIMER_ID_ENV_HAZARD, // environmental hazard timer (underwater or hot room)
|
||||
/* 6 */ TIMER_ID_GORON_RACE_UNUSED,
|
||||
/* 7 */ TIMER_ID_MAX,
|
||||
/* 99 */ TIMER_ID_NONE = 99,
|
||||
|
|
@ -89,7 +97,7 @@ typedef enum {
|
|||
/* 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,
|
||||
/* 8 */ TIMER_STATE_ENV_HAZARD_START,
|
||||
/* 9 */ TIMER_STATE_ALT_START,
|
||||
/* 10 */ TIMER_STATE_10, // precursor to `TIMER_STATE_ALT_COUNTING`
|
||||
/* 11 */ TIMER_STATE_ALT_COUNTING,
|
||||
|
|
@ -139,6 +147,15 @@ typedef enum {
|
|||
/* 52 */ HUD_VISIBILITY_NONE_INSTANT = 52
|
||||
} HudVisibility;
|
||||
|
||||
#define PICTO_PHOTO_WIDTH 160
|
||||
#define PICTO_PHOTO_HEIGHT 112
|
||||
|
||||
#define PICTO_PHOTO_TOPLEFT_X ((SCREEN_WIDTH - PICTO_PHOTO_WIDTH) / 2)
|
||||
#define PICTO_PHOTO_TOPLEFT_Y ((SCREEN_HEIGHT - PICTO_PHOTO_HEIGHT) / 2)
|
||||
|
||||
#define PICTO_PHOTO_SIZE (PICTO_PHOTO_WIDTH * PICTO_PHOTO_HEIGHT)
|
||||
#define PICTO_PHOTO_COMPRESSED_SIZE (PICTO_PHOTO_SIZE * 5 / 8)
|
||||
|
||||
typedef struct SramContext {
|
||||
/* 0x00 */ u8* readBuff;
|
||||
/* 0x04 */ u8 *saveBuf;
|
||||
|
|
@ -304,7 +321,7 @@ typedef struct SaveContext {
|
|||
/* 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
|
||||
/* 0x10E0 */ u8 pictoPhotoI5[PICTO_PHOTO_COMPRESSED_SIZE]; // buffer containing the pictograph photo, compressed to I5 from I8
|
||||
/* 0x3CA0 */ s32 fileNum; // "file_no"
|
||||
/* 0x3CA4 */ s16 powderKegTimer; // "big_bom_timer"
|
||||
/* 0x3CA6 */ u8 unk_3CA6;
|
||||
|
|
@ -318,7 +335,7 @@ typedef struct SaveContext {
|
|||
/* 0x3DBA */ u8 unk_3DBA; // "player_wipe_item"
|
||||
/* 0x3DBB */ u8 unk_3DBB; // "next_walk"
|
||||
/* 0x3DBC */ s16 dogParams; // "dog_flag"
|
||||
/* 0x3DBE */ u8 textTriggerFlags; // "guide_status"
|
||||
/* 0x3DBE */ u8 envHazardTextTriggerFlags; // "guide_status"
|
||||
/* 0x3DBF */ u8 showTitleCard; // "name_display"
|
||||
/* 0x3DC0 */ s16 unk_3DC0; // "shield_magic_timer"
|
||||
/* 0x3DC2 */ u8 unk_3DC2; // "pad1"
|
||||
|
|
@ -607,7 +624,7 @@ typedef enum SunsSongState {
|
|||
|
||||
#define WEEKEVENTREG_14_02 PACK_WEEKEVENTREG_FLAG(14, 0x02)
|
||||
#define WEEKEVENTREG_14_04 PACK_WEEKEVENTREG_FLAG(14, 0x04)
|
||||
#define WEEKEVENTREG_14_08 PACK_WEEKEVENTREG_FLAG(14, 0x08)
|
||||
#define WEEKEVENTREG_DRANK_CHATEAU_ROMANI PACK_WEEKEVENTREG_FLAG(14, 0x08)
|
||||
#define WEEKEVENTREG_14_10 PACK_WEEKEVENTREG_FLAG(14, 0x10)
|
||||
#define WEEKEVENTREG_14_20 PACK_WEEKEVENTREG_FLAG(14, 0x20)
|
||||
#define WEEKEVENTREG_14_40 PACK_WEEKEVENTREG_FLAG(14, 0x40)
|
||||
|
|
|
|||
|
|
@ -7,12 +7,13 @@ void Setup_SetRegs(void) {
|
|||
XREG(11) = 0x14;
|
||||
XREG(12) = 0xE;
|
||||
XREG(13) = 0;
|
||||
XREG(31) = 0;
|
||||
R_A_BTN_Y_OFFSET = 0;
|
||||
R_MAGIC_CONSUME_TIMER_GIANTS_MASK = 80;
|
||||
XREG(43) = 0xFC54;
|
||||
|
||||
XREG(44) = 0xD7;
|
||||
XREG(45) = 0xDA;
|
||||
R_THREE_DAY_CLOCK_Y_POS = 64596;
|
||||
R_THREE_DAY_CLOCK_SUN_MOON_CUTOFF = 215;
|
||||
R_THREE_DAY_CLOCK_HOUR_DIGIT_CUTOFF = 218;
|
||||
|
||||
XREG(68) = 0x61;
|
||||
XREG(69) = 0x93;
|
||||
XREG(70) = 0x28;
|
||||
|
|
@ -27,22 +28,23 @@ void Setup_SetRegs(void) {
|
|||
XREG(88) = 0x56;
|
||||
XREG(89) = 0x258;
|
||||
XREG(90) = 0x1C2;
|
||||
|
||||
R_STORY_FILL_SCREEN_ALPHA = 0;
|
||||
R_REVERSE_FLOOR_INDEX = 0;
|
||||
R_MINIMAP_DISABLED = false;
|
||||
|
||||
YREG(32) = 0x50;
|
||||
YREG(33) = 0x3C;
|
||||
YREG(34) = 0xDC;
|
||||
YREG(35) = 0x3C;
|
||||
YREG(36) = 0x50;
|
||||
YREG(37) = 0xA0;
|
||||
YREG(38) = 0xDC;
|
||||
YREG(39) = 0xA0;
|
||||
YREG(40) = 0x8E;
|
||||
YREG(41) = 0x6C;
|
||||
YREG(42) = 0xCC;
|
||||
YREG(43) = 0xB1;
|
||||
R_PICTO_FOCUS_BORDER_TOPLEFT_X = 80;
|
||||
R_PICTO_FOCUS_BORDER_TOPLEFT_Y = 60;
|
||||
R_PICTO_FOCUS_BORDER_TOPRIGHT_X = 220;
|
||||
R_PICTO_FOCUS_BORDER_TOPRIGHT_Y = 60;
|
||||
R_PICTO_FOCUS_BORDER_BOTTOMLEFT_X = 80;
|
||||
R_PICTO_FOCUS_BORDER_BOTTOMLEFT_Y = 160;
|
||||
R_PICTO_FOCUS_BORDER_BOTTOMRIGHT_X = 220;
|
||||
R_PICTO_FOCUS_BORDER_BOTTOMRIGHT_Y = 160;
|
||||
R_PICTO_FOCUS_ICON_X = 142;
|
||||
R_PICTO_FOCUS_ICON_Y = 108;
|
||||
R_PICTO_FOCUS_TEXT_X = 204;
|
||||
R_PICTO_FOCUS_TEXT_Y = 177;
|
||||
}
|
||||
|
||||
void Setup_InitImpl(SetupState* this) {
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@ void KaleidoSetup_Update(PlayState* play) {
|
|||
(gSaveContext.magicState != MAGIC_STATE_FILL)) {
|
||||
if (!CHECK_EVENTINF(EVENTINF_17) && !(player->stateFlags1 & PLAYER_STATE1_20)) {
|
||||
if (!(play->actorCtx.flags & ACTORCTX_FLAG_1) &&
|
||||
!(play->actorCtx.flags & ACTORCTX_FLAG_2)) {
|
||||
!(play->actorCtx.flags & ACTORCTX_FLAG_PICTO_BOX_ON)) {
|
||||
if ((play->actorCtx.unk268 == 0) && CHECK_BTN_ALL(input->press.button, BTN_START)) {
|
||||
gSaveContext.prevHudVisibility = gSaveContext.hudVisibility;
|
||||
pauseCtx->itemDescriptionOn = false;
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ TexturePtr HeartDDTextures[] = {
|
|||
void LifeMeter_Init(PlayState* play) {
|
||||
InterfaceContext* interfaceCtx = &play->interfaceCtx;
|
||||
|
||||
interfaceCtx->unkTimer = 320;
|
||||
interfaceCtx->healthTimer = 320;
|
||||
|
||||
interfaceCtx->health = gSaveContext.save.playerData.health;
|
||||
|
||||
|
|
@ -167,39 +167,44 @@ void LifeMeter_UpdateColors(PlayState* play) {
|
|||
sBeatingHeartsDDEnv[2] = (u8)(bFactor + 0) & 0xFF;
|
||||
}
|
||||
|
||||
// Unused
|
||||
s32 LifeMeter_SaveInterfaceHealth(PlayState* play) {
|
||||
gSaveContext.save.playerData.health = play->interfaceCtx.health;
|
||||
InterfaceContext* interfaceCtx = &play->interfaceCtx;
|
||||
|
||||
gSaveContext.save.playerData.health = interfaceCtx->health;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
// Unused
|
||||
s32 LifeMeter_IncreaseInterfaceHealth(PlayState* play) {
|
||||
InterfaceContext* interfaceCtx = &play->interfaceCtx;
|
||||
|
||||
interfaceCtx->unkTimer = 320;
|
||||
interfaceCtx->healthTimer = 320;
|
||||
interfaceCtx->health += 0x10;
|
||||
if (play->interfaceCtx.health >= gSaveContext.save.playerData.health) {
|
||||
play->interfaceCtx.health = gSaveContext.save.playerData.health;
|
||||
return 1;
|
||||
return true;
|
||||
}
|
||||
return 0;
|
||||
return false;
|
||||
}
|
||||
|
||||
// Unused
|
||||
s32 LifeMeter_DecreaseInterfaceHealth(PlayState* play) {
|
||||
InterfaceContext* interfaceCtx = &play->interfaceCtx;
|
||||
|
||||
if (interfaceCtx->unkTimer != 0) {
|
||||
interfaceCtx->unkTimer--;
|
||||
if (interfaceCtx->healthTimer != 0) {
|
||||
interfaceCtx->healthTimer--;
|
||||
} else {
|
||||
interfaceCtx->unkTimer = 320;
|
||||
interfaceCtx->healthTimer = 320;
|
||||
interfaceCtx->health -= 0x10;
|
||||
if (interfaceCtx->health <= 0) {
|
||||
interfaceCtx->health = 0;
|
||||
play->damagePlayer(play, -(((void)0, gSaveContext.save.playerData.health) + 1));
|
||||
return 1;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
return false;
|
||||
}
|
||||
|
||||
void LifeMeter_Draw(PlayState* play) {
|
||||
|
|
|
|||
|
|
@ -322,9 +322,9 @@ void func_80151938(PlayState* play, u16 textId) {
|
|||
|
||||
if (interfaceCtx->unk_222 == 0) {
|
||||
if (textId != 0x1B93) {
|
||||
func_8011552C(play, 0x10);
|
||||
func_8011552C(play, DO_ACTION_NEXT);
|
||||
} else if (textId != 0xF8) {
|
||||
func_8011552C(play, 6);
|
||||
func_8011552C(play, DO_ACTION_DECIDE);
|
||||
}
|
||||
}
|
||||
msgCtx->unk1203C = msgCtx->unk1203A;
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -39,9 +39,9 @@
|
|||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/Play_Destroy.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_801663C4.s")
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/Play_CompressI8ToI5.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80166644.s")
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/Play_DecompressI5ToI8.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_801668B4.s")
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
#include "prevent_bss_reordering.h"
|
||||
#include "global.h"
|
||||
|
||||
#include "objects/gameplay_keep/gameplay_keep.h"
|
||||
|
|
@ -543,15 +542,15 @@ ItemId func_8012364C(PlayState* play, Player* player, s32 arg2) {
|
|||
return item;
|
||||
}
|
||||
|
||||
if ((player->currentMask == PLAYER_MASK_BLAST) && (play->interfaceCtx.bButtonDoAction == 0x18)) {
|
||||
if ((player->currentMask == PLAYER_MASK_BLAST) && (play->interfaceCtx.bButtonDoAction == DO_ACTION_EXPLODE)) {
|
||||
return ITEM_F0;
|
||||
}
|
||||
|
||||
if ((player->currentMask == PLAYER_MASK_BREMEN) && (play->interfaceCtx.bButtonDoAction == 0x1A)) {
|
||||
if ((player->currentMask == PLAYER_MASK_BREMEN) && (play->interfaceCtx.bButtonDoAction == DO_ACTION_MARCH)) {
|
||||
return ITEM_F1;
|
||||
}
|
||||
|
||||
if ((player->currentMask == PLAYER_MASK_KAMARO) && (play->interfaceCtx.bButtonDoAction == 0x19)) {
|
||||
if ((player->currentMask == PLAYER_MASK_KAMARO) && (play->interfaceCtx.bButtonDoAction == DO_ACTION_DANCE)) {
|
||||
return ITEM_F2;
|
||||
}
|
||||
|
||||
|
|
@ -725,17 +724,17 @@ u8 sPlayerStrengths[PLAYER_FORM_MAX] = {
|
|||
};
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 flag;
|
||||
/* 0x02 */ u16 textId;
|
||||
} TextTriggerEntry; // size = 0x04
|
||||
/* 0x0 */ u8 flag;
|
||||
/* 0x2 */ u16 textId;
|
||||
} EnvHazardTextTriggerEntry; // size = 0x4
|
||||
|
||||
// These textIds are OoT remnants. The corresponding text entries are not present in this game, and so these don't point
|
||||
// to anything relevant.
|
||||
TextTriggerEntry sEnvironmentTextTriggers[] = {
|
||||
{ 1, 0x26FC },
|
||||
{ 2, 0x26FD },
|
||||
{ 0, 0 },
|
||||
{ 2, 0x26FD },
|
||||
EnvHazardTextTriggerEntry sEnvHazardTextTriggers[] = {
|
||||
{ ENV_HAZARD_TEXT_TRIGGER_HOTROOM, 0x26FC }, // PLAYER_ENV_HAZARD_HOTROOM - 1
|
||||
{ ENV_HAZARD_TEXT_TRIGGER_UNDERWATER, 0x26FD }, // PLAYER_ENV_HAZARD_UNDERWATER_FLOOR - 1
|
||||
{ 0, 0 }, // PLAYER_ENV_HAZARD_SWIMMING - 1
|
||||
{ ENV_HAZARD_TEXT_TRIGGER_UNDERWATER, 0x26FD }, // PLAYER_ENV_HAZARD_UNDERWATER_FREE - 1
|
||||
};
|
||||
|
||||
PlayerModelIndices gPlayerModelTypes[PLAYER_MODELGROUP_MAX] = {
|
||||
|
|
@ -1451,37 +1450,36 @@ s32 func_801242B4(Player* player) {
|
|||
return (player->stateFlags1 & PLAYER_STATE1_8000000) && (player->currentBoots < PLAYER_BOOTS_ZORA_UNDERWATER);
|
||||
}
|
||||
|
||||
s32 Player_GetEnvTimerType(PlayState* play) {
|
||||
s32 Player_GetEnvironmentalHazard(PlayState* play) {
|
||||
Player* player = GET_PLAYER(play);
|
||||
TextTriggerEntry* triggerEntry;
|
||||
s32 envTimerType;
|
||||
EnvHazardTextTriggerEntry* triggerEntry;
|
||||
s32 envHazard;
|
||||
|
||||
if (play->roomCtx.curRoom.unk2 == 3) { // Room is hot
|
||||
envTimerType = PLAYER_ENV_TIMER_HOTROOM - 1;
|
||||
envHazard = PLAYER_ENV_HAZARD_HOTROOM - 1;
|
||||
} else if ((player->transformation != PLAYER_FORM_ZORA) && (player->underwaterTimer > 80)) {
|
||||
envTimerType = PLAYER_ENV_TIMER_UNDERWATER_FREE - 1;
|
||||
envHazard = PLAYER_ENV_HAZARD_UNDERWATER_FREE - 1;
|
||||
} else if (player->stateFlags1 & PLAYER_STATE1_8000000) {
|
||||
if ((player->transformation == PLAYER_FORM_ZORA) && (player->currentBoots >= PLAYER_BOOTS_ZORA_UNDERWATER) &&
|
||||
(player->actor.bgCheckFlags & 1)) {
|
||||
envTimerType = PLAYER_ENV_TIMER_UNDERWATER_FLOOR - 1;
|
||||
envHazard = PLAYER_ENV_HAZARD_UNDERWATER_FLOOR - 1;
|
||||
} else {
|
||||
envTimerType = PLAYER_ENV_TIMER_SWIMMING - 1;
|
||||
envHazard = PLAYER_ENV_HAZARD_SWIMMING - 1;
|
||||
}
|
||||
} else {
|
||||
return PLAYER_ENV_TIMER_NONE;
|
||||
return PLAYER_ENV_HAZARD_NONE;
|
||||
}
|
||||
|
||||
// Trigger general textboxes under certain conditions, like "It's so hot in here!". Unused in MM
|
||||
triggerEntry = &sEnvironmentTextTriggers[envTimerType];
|
||||
triggerEntry = &sEnvHazardTextTriggers[envHazard];
|
||||
if (!Player_InCsMode(play)) {
|
||||
if ((triggerEntry->flag) && !(gSaveContext.textTriggerFlags & triggerEntry->flag) &&
|
||||
(envTimerType == (PLAYER_ENV_TIMER_HOTROOM - 1))) {
|
||||
if ((triggerEntry->flag) && !(gSaveContext.envHazardTextTriggerFlags & triggerEntry->flag) &&
|
||||
(envHazard == (PLAYER_ENV_HAZARD_HOTROOM - 1))) {
|
||||
Message_StartTextbox(play, triggerEntry->textId, NULL);
|
||||
gSaveContext.textTriggerFlags |= triggerEntry->flag;
|
||||
gSaveContext.envHazardTextTriggerFlags |= triggerEntry->flag;
|
||||
}
|
||||
}
|
||||
|
||||
return envTimerType + 1;
|
||||
return envHazard + 1;
|
||||
}
|
||||
|
||||
void func_80124420(Player* player);
|
||||
|
|
|
|||
|
|
@ -468,10 +468,10 @@ void Sram_SaveEndOfCycle(PlayState* play) {
|
|||
|
||||
if (CUR_FORM == 0) {
|
||||
if ((STOLEN_ITEM_1 >= ITEM_SWORD_GILDED) || (STOLEN_ITEM_2 >= ITEM_SWORD_GILDED)) {
|
||||
BUTTON_ITEM_EQUIP(CUR_FORM, EQUIP_SLOT_B) = ITEM_SWORD_GILDED;
|
||||
CUR_FORM_EQUIP(EQUIP_SLOT_B) = ITEM_SWORD_GILDED;
|
||||
SET_EQUIP_VALUE(EQUIP_TYPE_SWORD, EQUIP_VALUE_SWORD_GILDED);
|
||||
} else {
|
||||
BUTTON_ITEM_EQUIP(CUR_FORM, EQUIP_SLOT_B) = ITEM_SWORD_KOKIRI;
|
||||
CUR_FORM_EQUIP(EQUIP_SLOT_B) = ITEM_SWORD_KOKIRI;
|
||||
}
|
||||
} else {
|
||||
if ((STOLEN_ITEM_1 >= ITEM_SWORD_GILDED) || (STOLEN_ITEM_2 >= ITEM_SWORD_GILDED)) {
|
||||
|
|
|
|||
|
|
@ -215,7 +215,7 @@ void func_80953F9C(BgIngate* this, PlayState* play) {
|
|||
if (ActorCutscene_GetCurrentIndex() != -1) {
|
||||
Camera_ChangeSetting(mainCam, CAM_SET_NORMAL0);
|
||||
player->stateFlags1 |= PLAYER_STATE1_20;
|
||||
play->actorCtx.flags &= ~ACTORCTX_FLAG_2;
|
||||
play->actorCtx.flags &= ~ACTORCTX_FLAG_PICTO_BOX_ON;
|
||||
} else {
|
||||
Camera_ChangeSetting(mainCam, CAM_SET_BOAT_CRUISE);
|
||||
player->stateFlags1 &= ~PLAYER_STATE1_20;
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
* Description: Twinmold
|
||||
*/
|
||||
|
||||
#include "prevent_bss_reordering.h"
|
||||
#include "z_boss_02.h"
|
||||
#include "z64rumble.h"
|
||||
#include "z64shrink_window.h"
|
||||
|
|
|
|||
|
|
@ -164,7 +164,7 @@ void DoorWarp1_Init(Actor* thisx, PlayState* play) {
|
|||
if ((play->sceneId == SCENE_MITURIN_BS) || (play->sceneId == SCENE_HAKUGIN_BS) ||
|
||||
(play->sceneId == SCENE_INISIE_BS) || (play->sceneId == SCENE_SEA_BS)) {
|
||||
Environment_StopTime();
|
||||
play->interfaceCtx.restrictions.unk_312 = 1;
|
||||
play->interfaceCtx.restrictions.songOfTime = 1;
|
||||
play->interfaceCtx.restrictions.songOfSoaring = 1;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -801,7 +801,7 @@ void EnFsn_BeginInteraction(EnFsn* this, PlayState* play) {
|
|||
ActorCutscene_StartAndSetFlag(this->cutscene, &this->actor);
|
||||
this->cutsceneState = ENFSN_CUTSCENESTATE_PLAYING;
|
||||
if (Player_GetMask(play) == PLAYER_MASK_NONE) {
|
||||
func_8011552C(play, 16);
|
||||
func_8011552C(play, DO_ACTION_NEXT);
|
||||
if (EnFsn_HasItemsToSell()) {
|
||||
this->actionFunc = EnFsn_AskBuyOrSell;
|
||||
} else {
|
||||
|
|
@ -880,7 +880,7 @@ void EnFsn_AskBuyOrSell(EnFsn* this, PlayState* play) {
|
|||
}
|
||||
}
|
||||
} else if (talkState == TEXT_STATE_CHOICE) {
|
||||
func_8011552C(play, 6);
|
||||
func_8011552C(play, DO_ACTION_DECIDE);
|
||||
if (!EnFsn_TestEndInteraction(this, play, CONTROLLER1(&play->state)) && Message_ShouldAdvance(play)) {
|
||||
switch (play->msgCtx.choiceIndex) {
|
||||
case 0:
|
||||
|
|
@ -1052,7 +1052,7 @@ void EnFsn_ResumeShoppingInteraction(EnFsn* this, PlayState* play) {
|
|||
} else if (this->actor.textId != 0x29D6) {
|
||||
this->actionFunc = EnFsn_AskCanBuyAterRunningOutOfItems;
|
||||
} else {
|
||||
func_8011552C(play, 6);
|
||||
func_8011552C(play, DO_ACTION_DECIDE);
|
||||
this->stickLeftPrompt.isEnabled = false;
|
||||
this->stickRightPrompt.isEnabled = true;
|
||||
this->actionFunc = EnFsn_FaceShopkeeperSelling;
|
||||
|
|
@ -1103,7 +1103,7 @@ void EnFsn_BrowseShelf(EnFsn* this, PlayState* play) {
|
|||
this->stickLeftPrompt.isEnabled = true;
|
||||
EnFsn_UpdateCursorPos(this, play);
|
||||
if (talkstate == TEXT_STATE_5) {
|
||||
func_8011552C(play, 6);
|
||||
func_8011552C(play, DO_ACTION_DECIDE);
|
||||
if (!EnFsn_HasPlayerSelectedItem(this, play, CONTROLLER1(&play->state))) {
|
||||
EnFsn_CursorLeftRight(this);
|
||||
if (this->cursorIndex != prevCursorIdx) {
|
||||
|
|
@ -1205,7 +1205,7 @@ void EnFsn_SelectItem(EnFsn* this, PlayState* play) {
|
|||
u8 talkState = Message_GetState(&play->msgCtx);
|
||||
|
||||
if (EnFsn_TakeItemOffShelf(this) && (talkState == TEXT_STATE_CHOICE)) {
|
||||
func_8011552C(play, 6);
|
||||
func_8011552C(play, DO_ACTION_DECIDE);
|
||||
if (!EnFsn_TestCancelOption(this, play, CONTROLLER1(&play->state)) && Message_ShouldAdvance(play)) {
|
||||
switch (play->msgCtx.choiceIndex) {
|
||||
case 0:
|
||||
|
|
@ -1325,7 +1325,7 @@ void EnFsn_FaceShopkeeperSelling(EnFsn* this, PlayState* play) {
|
|||
u8 cursorIndex;
|
||||
|
||||
if (talkState == TEXT_STATE_CHOICE) {
|
||||
func_8011552C(play, 6);
|
||||
func_8011552C(play, DO_ACTION_DECIDE);
|
||||
if (!EnFsn_TestEndInteraction(this, play, CONTROLLER1(&play->state)) &&
|
||||
(!Message_ShouldAdvance(play) || !EnFsn_FacingShopkeeperDialogResult(this, play)) &&
|
||||
this->stickAccumX > 0) {
|
||||
|
|
@ -1333,7 +1333,7 @@ void EnFsn_FaceShopkeeperSelling(EnFsn* this, PlayState* play) {
|
|||
if (cursorIndex != CURSOR_INVALID) {
|
||||
this->cursorIndex = cursorIndex;
|
||||
this->actionFunc = EnFsn_LookToShelf;
|
||||
func_8011552C(play, 6);
|
||||
func_8011552C(play, DO_ACTION_DECIDE);
|
||||
this->stickRightPrompt.isEnabled = false;
|
||||
play_sound(NA_SE_SY_CURSOR);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -346,7 +346,7 @@ void EnKakasi_IdleStanding(EnKakasi* this, PlayState* play) {
|
|||
EnKakasi_SetupDialogue(this);
|
||||
return;
|
||||
}
|
||||
if (play->actorCtx.flags & ACTORCTX_FLAG_2) {
|
||||
if (play->actorCtx.flags & ACTORCTX_FLAG_PICTO_BOX_ON) {
|
||||
Actor_GetScreenPos(play, &this->picto.actor, &x, &y);
|
||||
if (this->picto.actor.projectedPos.z > -20.0f && x > 0 && x < SCREEN_WIDTH && y > 0 && y < SCREEN_HEIGHT &&
|
||||
this->animIndex != ENKAKASI_ANIM_SIDEWAYS_SHAKING) {
|
||||
|
|
|
|||
|
|
@ -339,7 +339,7 @@ s32 EnOssan_TestCancelOption(EnOssan* this, PlayState* play, Input* input) {
|
|||
}
|
||||
|
||||
void EnOssan_SetupStartShopping(PlayState* play, EnOssan* this, u8 skipHello) {
|
||||
func_8011552C(play, 0x10);
|
||||
func_8011552C(play, DO_ACTION_NEXT);
|
||||
if (!skipHello) {
|
||||
EnOssan_SetupAction(this, EnOssan_Hello);
|
||||
} else {
|
||||
|
|
@ -350,7 +350,7 @@ void EnOssan_SetupStartShopping(PlayState* play, EnOssan* this, u8 skipHello) {
|
|||
void EnOssan_StartShopping(PlayState* play, EnOssan* this) {
|
||||
EnOssan_SetupAction(this, EnOssan_FaceShopkeeper);
|
||||
func_80151938(play, 0x640);
|
||||
func_8011552C(play, 6);
|
||||
func_8011552C(play, DO_ACTION_DECIDE);
|
||||
this->stickRightPrompt.isEnabled = true;
|
||||
this->stickLeftPrompt.isEnabled = true;
|
||||
}
|
||||
|
|
@ -603,7 +603,7 @@ s32 EnOssan_FacingShopkeeperDialogResult(EnOssan* this, PlayState* play) {
|
|||
}
|
||||
EnOssan_SetupAction(this, EnOssan_TalkToShopkeeper);
|
||||
func_80151938(play, sTalkOptionTextIds[this->actor.params]);
|
||||
func_8011552C(play, 6);
|
||||
func_8011552C(play, DO_ACTION_DECIDE);
|
||||
this->stickLeftPrompt.isEnabled = false;
|
||||
this->stickRightPrompt.isEnabled = false;
|
||||
return true;
|
||||
|
|
@ -630,7 +630,7 @@ void EnOssan_FaceShopkeeper(EnOssan* this, PlayState* play) {
|
|||
this->cutsceneState = ENOSSAN_CUTSCENESTATE_WAITING;
|
||||
} else {
|
||||
if (talkState == TEXT_STATE_CHOICE) {
|
||||
func_8011552C(play, 6);
|
||||
func_8011552C(play, DO_ACTION_DECIDE);
|
||||
if (!EnOssan_TestEndInteraction(this, play, CONTROLLER1(&play->state)) &&
|
||||
(!Message_ShouldAdvance(play) || !EnOssan_FacingShopkeeperDialogResult(this, play))) {
|
||||
if (this->stickAccumX < 0) {
|
||||
|
|
@ -638,7 +638,7 @@ void EnOssan_FaceShopkeeper(EnOssan* this, PlayState* play) {
|
|||
if (cursorIndex != CURSOR_INVALID) {
|
||||
this->cursorIndex = cursorIndex;
|
||||
EnOssan_SetupAction(this, EnOssan_LookToLeftShelf);
|
||||
func_8011552C(play, 6);
|
||||
func_8011552C(play, DO_ACTION_DECIDE);
|
||||
this->stickLeftPrompt.isEnabled = false;
|
||||
play_sound(NA_SE_SY_CURSOR);
|
||||
}
|
||||
|
|
@ -647,7 +647,7 @@ void EnOssan_FaceShopkeeper(EnOssan* this, PlayState* play) {
|
|||
if (cursorIndex != CURSOR_INVALID) {
|
||||
this->cursorIndex = cursorIndex;
|
||||
EnOssan_SetupAction(this, EnOssan_LookToRightShelf);
|
||||
func_8011552C(play, 6);
|
||||
func_8011552C(play, DO_ACTION_DECIDE);
|
||||
this->stickRightPrompt.isEnabled = false;
|
||||
play_sound(NA_SE_SY_CURSOR);
|
||||
}
|
||||
|
|
@ -853,7 +853,7 @@ void EnOssan_BrowseLeftShelf(EnOssan* this, PlayState* play) {
|
|||
this->stickRightPrompt.isEnabled = true;
|
||||
EnOssan_UpdateCursorPos(play, this);
|
||||
if (talkState == TEXT_STATE_5) {
|
||||
func_8011552C(play, 6);
|
||||
func_8011552C(play, DO_ACTION_DECIDE);
|
||||
if (!EnOssan_HasPlayerSelectedItem(play, this, CONTROLLER1(&play->state))) {
|
||||
if (this->moveHorizontal) {
|
||||
if (this->stickAccumX > 0) {
|
||||
|
|
@ -911,7 +911,7 @@ void EnOssan_BrowseRightShelf(EnOssan* this, PlayState* play) {
|
|||
this->stickLeftPrompt.isEnabled = true;
|
||||
EnOssan_UpdateCursorPos(play, this);
|
||||
if (talkState == TEXT_STATE_5) {
|
||||
func_8011552C(play, 6);
|
||||
func_8011552C(play, DO_ACTION_DECIDE);
|
||||
if (!EnOssan_HasPlayerSelectedItem(play, this, CONTROLLER1(&play->state))) {
|
||||
if (this->moveHorizontal != 0) {
|
||||
if (this->stickAccumX < 0) {
|
||||
|
|
@ -1052,7 +1052,7 @@ void EnOssan_SelectItem(EnOssan* this, PlayState* play) {
|
|||
u8 talkState = Message_GetState(&play->msgCtx);
|
||||
|
||||
if (EnOssan_TakeItemOffShelf(this) && (talkState == TEXT_STATE_CHOICE)) {
|
||||
func_8011552C(play, 6);
|
||||
func_8011552C(play, DO_ACTION_DECIDE);
|
||||
if (!EnOssan_TestCancelOption(this, play, CONTROLLER1(&play->state)) && Message_ShouldAdvance(play)) {
|
||||
switch (play->msgCtx.choiceIndex) {
|
||||
case 0:
|
||||
|
|
@ -1119,7 +1119,7 @@ void EnOssan_ContinueShopping(EnOssan* this, PlayState* play) {
|
|||
EnGirlA* item;
|
||||
|
||||
if (talkState == TEXT_STATE_CHOICE) {
|
||||
func_8011552C(play, 6);
|
||||
func_8011552C(play, DO_ACTION_DECIDE);
|
||||
if (Message_ShouldAdvance(play)) {
|
||||
EnOssan_ResetItemPosition(this);
|
||||
item = this->items[this->cursorIndex];
|
||||
|
|
|
|||
|
|
@ -494,7 +494,7 @@ s32 EnSob1_TestCancelOption(EnSob1* this, PlayState* play, Input* input) {
|
|||
}
|
||||
|
||||
void EnSob1_SetupStartShopping(PlayState* play, EnSob1* this, u8 skipHello) {
|
||||
func_8011552C(play, 16);
|
||||
func_8011552C(play, DO_ACTION_NEXT);
|
||||
if (!skipHello) {
|
||||
EnSob1_SetupAction(this, EnSob1_Hello);
|
||||
} else {
|
||||
|
|
@ -505,7 +505,7 @@ void EnSob1_SetupStartShopping(PlayState* play, EnSob1* this, u8 skipHello) {
|
|||
void EnSob1_StartShopping(PlayState* play, EnSob1* this) {
|
||||
EnSob1_SetupAction(this, EnSob1_FaceShopkeeper);
|
||||
func_80151938(play, sFacingShopkeeperTextIds[this->shopType]);
|
||||
func_8011552C(play, 6);
|
||||
func_8011552C(play, DO_ACTION_DECIDE);
|
||||
this->stickLeftPrompt.isEnabled = false;
|
||||
this->stickRightPrompt.isEnabled = true;
|
||||
}
|
||||
|
|
@ -514,7 +514,7 @@ void EnSob1_TalkToShopkeeper(PlayState* play, EnSob1* this) {
|
|||
EnSob1_SetupAction(this, EnSob1_TalkingToShopkeeper);
|
||||
this->talkOptionTextId = EnSob1_GetTalkOption(this, play);
|
||||
func_80151938(play, this->talkOptionTextId);
|
||||
func_8011552C(play, 6);
|
||||
func_8011552C(play, DO_ACTION_DECIDE);
|
||||
this->stickLeftPrompt.isEnabled = false;
|
||||
this->stickRightPrompt.isEnabled = false;
|
||||
}
|
||||
|
|
@ -680,7 +680,7 @@ void EnSob1_FaceShopkeeper(EnSob1* this, PlayState* play) {
|
|||
this->cutsceneState = ENSOB1_CUTSCENESTATE_WAITING;
|
||||
} else {
|
||||
if (talkState == TEXT_STATE_CHOICE) {
|
||||
func_8011552C(play, 6);
|
||||
func_8011552C(play, DO_ACTION_DECIDE);
|
||||
if (!EnSob1_TestEndInteraction(this, play, CONTROLLER1(&play->state))) {
|
||||
if (!Message_ShouldAdvance(play) || !EnSob1_FacingShopkeeperDialogResult(this, play)) {
|
||||
if (this->stickAccumX > 0) {
|
||||
|
|
@ -688,7 +688,7 @@ void EnSob1_FaceShopkeeper(EnSob1* this, PlayState* play) {
|
|||
if (cursorIndex != CURSOR_INVALID) {
|
||||
this->cursorIndex = cursorIndex;
|
||||
EnSob1_SetupAction(this, EnSob1_LookToShelf);
|
||||
func_8011552C(play, 6);
|
||||
func_8011552C(play, DO_ACTION_DECIDE);
|
||||
this->stickRightPrompt.isEnabled = false;
|
||||
play_sound(NA_SE_SY_CURSOR);
|
||||
}
|
||||
|
|
@ -933,7 +933,7 @@ void EnSob1_BrowseShelf(EnSob1* this, PlayState* play) {
|
|||
this->stickLeftPrompt.isEnabled = true;
|
||||
EnSob1_UpdateCursorPos(play, this);
|
||||
if (talkState == TEXT_STATE_5) {
|
||||
func_8011552C(play, 6);
|
||||
func_8011552C(play, DO_ACTION_DECIDE);
|
||||
if (!EnSob1_HasPlayerSelectedItem(play, this, CONTROLLER1(&play->state))) {
|
||||
EnSob1_CursorLeftRight(play, this);
|
||||
cursorIndex = this->cursorIndex;
|
||||
|
|
@ -1041,7 +1041,7 @@ void EnSob1_SelectItem(EnSob1* this, PlayState* play) {
|
|||
u8 talkState = Message_GetState(&play->msgCtx);
|
||||
|
||||
if (EnSob1_TakeItemOffShelf(this) && (talkState == TEXT_STATE_CHOICE)) {
|
||||
func_8011552C(play, 6);
|
||||
func_8011552C(play, DO_ACTION_DECIDE);
|
||||
if (!EnSob1_TestCancelOption(this, play, CONTROLLER1(&play->state)) && Message_ShouldAdvance(play)) {
|
||||
switch (play->msgCtx.choiceIndex) {
|
||||
case 0:
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
* Description: Kafei
|
||||
*/
|
||||
|
||||
#include "prevent_bss_reordering.h"
|
||||
#include "z_en_test3.h"
|
||||
#include "objects/object_test3/object_test3.h"
|
||||
#include "overlays/actors/ovl_En_Door/z_en_door.h"
|
||||
|
|
|
|||
|
|
@ -381,8 +381,8 @@ void func_80A42AB8(EnTest4* this, PlayState* play) {
|
|||
|
||||
if ((temp_a3 * temp_a2) <= 0) {
|
||||
gSaveContext.unk_3CA7 = 1;
|
||||
if (play->actorCtx.flags & ACTORCTX_FLAG_2) {
|
||||
play->actorCtx.flags &= ~ACTORCTX_FLAG_2;
|
||||
if (play->actorCtx.flags & ACTORCTX_FLAG_PICTO_BOX_ON) {
|
||||
play->actorCtx.flags &= ~ACTORCTX_FLAG_PICTO_BOX_ON;
|
||||
}
|
||||
|
||||
if (temp_a0 != CLOCK_TIME(6, 0)) {
|
||||
|
|
|
|||
|
|
@ -253,7 +253,7 @@ s32 EnTrt_TestCancelOption(EnTrt* this, PlayState* play, Input* input) {
|
|||
}
|
||||
|
||||
void EnTrt_SetupStartShopping(PlayState* play, EnTrt* this, u8 skipHello) {
|
||||
func_8011552C(play, 0x10);
|
||||
func_8011552C(play, DO_ACTION_NEXT);
|
||||
if (!skipHello) {
|
||||
this->actionFunc = EnTrt_Hello;
|
||||
} else {
|
||||
|
|
@ -263,7 +263,7 @@ void EnTrt_SetupStartShopping(PlayState* play, EnTrt* this, u8 skipHello) {
|
|||
|
||||
void EnTrt_StartShopping(PlayState* play, EnTrt* this) {
|
||||
func_80151938(play, 0x83E);
|
||||
func_8011552C(play, 6);
|
||||
func_8011552C(play, DO_ACTION_DECIDE);
|
||||
this->stickLeftPrompt.isEnabled = false;
|
||||
this->stickRightPrompt.isEnabled = true;
|
||||
this->actionFunc = EnTrt_FaceShopkeeper;
|
||||
|
|
@ -532,7 +532,7 @@ void EnTrt_FaceShopkeeper(EnTrt* this, PlayState* play) {
|
|||
ActorCutscene_SetIntentToPlay(this->cutscene);
|
||||
this->cutsceneState = ENTRT_CUTSCENESTATE_WAITING;
|
||||
} else if (talkState == TEXT_STATE_CHOICE) {
|
||||
func_8011552C(play, 6);
|
||||
func_8011552C(play, DO_ACTION_DECIDE);
|
||||
if (!EnTrt_TestEndInteraction(this, play, CONTROLLER1(&play->state))) {
|
||||
if ((!Message_ShouldAdvance(play) || !EnTrt_FacingShopkeeperDialogResult(this, play)) &&
|
||||
(this->stickAccumX > 0)) {
|
||||
|
|
@ -540,7 +540,7 @@ void EnTrt_FaceShopkeeper(EnTrt* this, PlayState* play) {
|
|||
if (cursorIndex != CURSOR_INVALID) {
|
||||
this->cursorIndex = cursorIndex;
|
||||
this->actionFunc = EnTrt_LookToShelf;
|
||||
func_8011552C(play, 6);
|
||||
func_8011552C(play, DO_ACTION_DECIDE);
|
||||
this->stickRightPrompt.isEnabled = false;
|
||||
play_sound(NA_SE_SY_CURSOR);
|
||||
}
|
||||
|
|
@ -634,7 +634,7 @@ void EnTrt_BrowseShelf(EnTrt* this, PlayState* play) {
|
|||
this->stickLeftPrompt.isEnabled = true;
|
||||
EnTrt_UpdateCursorPos(play, this);
|
||||
if (talkState == TEXT_STATE_5) {
|
||||
func_8011552C(play, 6);
|
||||
func_8011552C(play, DO_ACTION_DECIDE);
|
||||
if (!EnTrt_HasPlayerSelectedItem(play, this, CONTROLLER1(&play->state))) {
|
||||
EnTrt_CursorLeftRight(play, this);
|
||||
if (this->cursorIndex != prevCursorIdx) {
|
||||
|
|
@ -727,7 +727,7 @@ void EnTrt_SelectItem(EnTrt* this, PlayState* play) {
|
|||
|
||||
if (EnTrt_TakeItemOffShelf(this)) {
|
||||
if (talkState == TEXT_STATE_CHOICE) {
|
||||
func_8011552C(play, 6);
|
||||
func_8011552C(play, DO_ACTION_DECIDE);
|
||||
if (!EnTrt_TestCancelOption(this, play, CONTROLLER1(&play->state)) && Message_ShouldAdvance(play)) {
|
||||
switch (play->msgCtx.choiceIndex) {
|
||||
case 0:
|
||||
|
|
@ -896,7 +896,7 @@ void EnTrt_BeginInteraction(EnTrt* this, PlayState* play) {
|
|||
case 0x834:
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_12_08) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_84_40) &&
|
||||
!CHECK_WEEKEVENTREG(WEEKEVENTREG_16_10) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_17_01)) {
|
||||
func_8011552C(play, 6);
|
||||
func_8011552C(play, DO_ACTION_DECIDE);
|
||||
this->stickLeftPrompt.isEnabled = false;
|
||||
this->stickRightPrompt.isEnabled = true;
|
||||
this->actionFunc = EnTrt_Hello;
|
||||
|
|
@ -905,7 +905,7 @@ void EnTrt_BeginInteraction(EnTrt* this, PlayState* play) {
|
|||
}
|
||||
break;
|
||||
case 0x83E:
|
||||
func_8011552C(play, 6);
|
||||
func_8011552C(play, DO_ACTION_DECIDE);
|
||||
this->stickLeftPrompt.isEnabled = false;
|
||||
this->stickRightPrompt.isEnabled = true;
|
||||
this->actionFunc = EnTrt_FaceShopkeeper;
|
||||
|
|
@ -1114,7 +1114,7 @@ void EnTrt_ContinueShopping(EnTrt* this, PlayState* play) {
|
|||
EnGirlA* item;
|
||||
|
||||
if (talkState == TEXT_STATE_CHOICE) {
|
||||
func_8011552C(play, 6);
|
||||
func_8011552C(play, DO_ACTION_DECIDE);
|
||||
if (Message_ShouldAdvance(play)) {
|
||||
EnTrt_ResetItemPosition(this);
|
||||
item = this->items[this->cursorIndex];
|
||||
|
|
@ -1427,7 +1427,7 @@ void EnTrt_TalkToShopkeeper(EnTrt* this, PlayState* play) {
|
|||
void EnTrt_SetupTalkToShopkeeper(PlayState* play, EnTrt* this) {
|
||||
this->actionFunc = EnTrt_TalkToShopkeeper;
|
||||
func_80151938(play, this->talkOptionTextId);
|
||||
func_8011552C(play, 6);
|
||||
func_8011552C(play, DO_ACTION_DECIDE);
|
||||
this->stickLeftPrompt.isEnabled = false;
|
||||
this->stickRightPrompt.isEnabled = false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -650,7 +650,7 @@ void KaleidoScope_UpdateQuestCursor(PlayState* play) {
|
|||
KaleidoScope_MoveCursorToSpecialPos(play, PAUSE_CURSOR_PAGE_LEFT);
|
||||
pauseCtx->mainState = PAUSE_MAIN_STATE_IDLE;
|
||||
if (interfaceCtx->unk_212 == 6) {
|
||||
func_8011552C(play, 0x15);
|
||||
func_8011552C(play, DO_ACTION_INFO);
|
||||
}
|
||||
return;
|
||||
} else {
|
||||
|
|
@ -834,7 +834,7 @@ void KaleidoScope_UpdateQuestCursor(PlayState* play) {
|
|||
pauseCtx->mainState = PAUSE_MAIN_STATE_IDLE_CURSOR_ON_SONG;
|
||||
|
||||
if (interfaceCtx->unk_212 != 6) {
|
||||
func_8011552C(play, 6);
|
||||
func_8011552C(play, DO_ACTION_DECIDE);
|
||||
}
|
||||
|
||||
// Stop receiving input to play a song as mentioned above
|
||||
|
|
@ -847,7 +847,7 @@ void KaleidoScope_UpdateQuestCursor(PlayState* play) {
|
|||
}
|
||||
} else {
|
||||
if (interfaceCtx->unk_212 != 6) {
|
||||
func_8011552C(play, 6);
|
||||
func_8011552C(play, DO_ACTION_DECIDE);
|
||||
}
|
||||
if (gSaveContext.buttonStatus[EQUIP_SLOT_A] != BTN_DISABLED) {
|
||||
gSaveContext.buttonStatus[EQUIP_SLOT_A] = BTN_DISABLED;
|
||||
|
|
@ -858,11 +858,11 @@ void KaleidoScope_UpdateQuestCursor(PlayState* play) {
|
|||
} else {
|
||||
if ((cursor == QUEST_BOMBERS_NOTEBOOK) && (pauseCtx->cursorItem[PAUSE_QUEST] != PAUSE_ITEM_NONE)) {
|
||||
if (interfaceCtx->unk_212 != 6) {
|
||||
func_8011552C(play, 6);
|
||||
func_8011552C(play, DO_ACTION_DECIDE);
|
||||
}
|
||||
pauseCtx->cursorColorSet = PAUSE_CURSOR_COLOR_SET_BLUE;
|
||||
} else if (interfaceCtx->unk_212 == 6) {
|
||||
func_8011552C(play, 0x15);
|
||||
func_8011552C(play, DO_ACTION_INFO);
|
||||
}
|
||||
|
||||
if ((pauseCtx->cursorItem[PAUSE_QUEST] != PAUSE_ITEM_NONE) && (msgCtx->msgLength == 0)) {
|
||||
|
|
|
|||
|
|
@ -894,10 +894,10 @@ void KaleidoScope_UpdateInventoryEditor(PlayState* play) {
|
|||
SET_EQUIP_VALUE(EQUIP_TYPE_SWORD, value);
|
||||
|
||||
if (value != 0) {
|
||||
BUTTON_ITEM_EQUIP(CUR_FORM, EQUIP_SLOT_B) = value + (ITEM_SWORD_KOKIRI - 1);
|
||||
CUR_FORM_EQUIP(EQUIP_SLOT_B) = value + (ITEM_SWORD_KOKIRI - 1);
|
||||
gSaveContext.save.playerData.swordHealth = 100;
|
||||
} else {
|
||||
BUTTON_ITEM_EQUIP(CUR_FORM, EQUIP_SLOT_B) = ITEM_NONE;
|
||||
CUR_FORM_EQUIP(EQUIP_SLOT_B) = ITEM_NONE;
|
||||
}
|
||||
|
||||
} else if (CHECK_BTN_ALL(input->press.button, BTN_CDOWN) ||
|
||||
|
|
@ -909,7 +909,7 @@ void KaleidoScope_UpdateInventoryEditor(PlayState* play) {
|
|||
|
||||
SET_EQUIP_VALUE(EQUIP_TYPE_SWORD, value);
|
||||
|
||||
BUTTON_ITEM_EQUIP(CUR_FORM, EQUIP_SLOT_B) = value + (ITEM_SWORD_KOKIRI - 1);
|
||||
CUR_FORM_EQUIP(EQUIP_SLOT_B) = value + (ITEM_SWORD_KOKIRI - 1);
|
||||
gSaveContext.save.playerData.swordHealth = 100;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -566,8 +566,8 @@ void KaleidoScope_UpdateMaskCursor(PlayState* play) {
|
|||
}
|
||||
}
|
||||
|
||||
if ((Player_GetEnvTimerType(play) >= PLAYER_ENV_TIMER_UNDERWATER_FLOOR) &&
|
||||
(Player_GetEnvTimerType(play) <= PLAYER_ENV_TIMER_UNDERWATER_FREE) &&
|
||||
if ((Player_GetEnvironmentalHazard(play) >= PLAYER_ENV_HAZARD_UNDERWATER_FLOOR) &&
|
||||
(Player_GetEnvironmentalHazard(play) <= PLAYER_ENV_HAZARD_UNDERWATER_FREE) &&
|
||||
((cursorSlot == (SLOT_MASK_DEKU - NUM_ITEM_SLOTS)) ||
|
||||
(cursorSlot == (SLOT_MASK_GORON - NUM_ITEM_SLOTS)))) {
|
||||
play_sound(NA_SE_SY_ERROR);
|
||||
|
|
|
|||
|
|
@ -548,7 +548,7 @@ void KaleidoScope_UpdateOpening(PlayState* play) {
|
|||
pauseCtx->mainState = PAUSE_MAIN_STATE_IDLE;
|
||||
pauseCtx->state++; // PAUSE_STATE_MAIN
|
||||
pauseCtx->alpha = 255;
|
||||
func_80115844(play, 3);
|
||||
func_80115844(play, DO_ACTION_RETURN);
|
||||
} else if (pauseCtx->switchPageTimer == 64) {
|
||||
pauseCtx->pageIndex = sPageSwitchNextPageIndex[pauseCtx->nextPageMode];
|
||||
pauseCtx->nextPageMode = (pauseCtx->pageIndex * 2) + 1;
|
||||
|
|
@ -647,7 +647,7 @@ void KaleidoScope_Update(PlayState* play) {
|
|||
DmaMgr_SendRequest0(pauseCtx->iconItemLangSegment, SEGMENT_ROM_START(icon_item_jpn_static), size2);
|
||||
|
||||
pauseCtx->nameSegment = (void*)ALIGN16((uintptr_t)pauseCtx->iconItemLangSegment + size2);
|
||||
func_8011552C(play, 0x15);
|
||||
func_8011552C(play, DO_ACTION_INFO);
|
||||
if (((void)0, gSaveContext.worldMapArea) < 0x16) {
|
||||
func_8082192C(pauseCtx->nameSegment + 0x400, ((void)0, gSaveContext.worldMapArea));
|
||||
}
|
||||
|
|
@ -693,7 +693,7 @@ void KaleidoScope_Update(PlayState* play) {
|
|||
case PAUSE_MAIN_STATE_IDLE:
|
||||
if (!pauseCtx->itemDescriptionOn &&
|
||||
(CHECK_BTN_ALL(input->press.button, BTN_START) || CHECK_BTN_ALL(input->press.button, BTN_B))) {
|
||||
func_8011552C(play, 0xA);
|
||||
func_8011552C(play, DO_ACTION_NONE);
|
||||
pauseCtx->state = PAUSE_STATE_UNPAUSE_SETUP;
|
||||
sPauseMenuVerticalOffset = -6240.0f;
|
||||
func_801A3AEC(0);
|
||||
|
|
@ -727,7 +727,7 @@ void KaleidoScope_Update(PlayState* play) {
|
|||
if (CHECK_BTN_ALL(input->press.button, BTN_START) || CHECK_BTN_ALL(input->press.button, BTN_B)) {
|
||||
// Abort having the player play the song and close the pause menu
|
||||
AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_OFF);
|
||||
func_8011552C(play, 0xA);
|
||||
func_8011552C(play, DO_ACTION_NONE);
|
||||
pauseCtx->state = PAUSE_STATE_UNPAUSE_SETUP;
|
||||
sPauseMenuVerticalOffset = -6240.0f;
|
||||
func_801A3AEC(0);
|
||||
|
|
@ -763,7 +763,7 @@ void KaleidoScope_Update(PlayState* play) {
|
|||
case PAUSE_MAIN_STATE_IDLE_CURSOR_ON_SONG:
|
||||
if (CHECK_BTN_ALL(input->press.button, BTN_START) || CHECK_BTN_ALL(input->press.button, BTN_B)) {
|
||||
AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_OFF);
|
||||
func_8011552C(play, 0xA);
|
||||
func_8011552C(play, DO_ACTION_NONE);
|
||||
pauseCtx->state = PAUSE_STATE_UNPAUSE_SETUP;
|
||||
sPauseMenuVerticalOffset = -6240.0f;
|
||||
func_801A3AEC(0);
|
||||
|
|
@ -805,7 +805,7 @@ void KaleidoScope_Update(PlayState* play) {
|
|||
case PAUSE_SAVEPROMPT_STATE_1:
|
||||
if (CHECK_BTN_ALL(input->press.button, BTN_A) || CHECK_BTN_ALL(input->press.button, BTN_CUP)) {
|
||||
if (pauseCtx->promptChoice != PAUSE_PROMPT_YES) {
|
||||
func_8011552C(play, 0xA);
|
||||
func_8011552C(play, DO_ACTION_NONE);
|
||||
pauseCtx->savePromptState = PAUSE_SAVEPROMPT_STATE_2;
|
||||
} else {
|
||||
play_sound(NA_SE_SY_PIECE_OF_HEART);
|
||||
|
|
@ -823,13 +823,13 @@ void KaleidoScope_Update(PlayState* play) {
|
|||
sDelayTimer = 90;
|
||||
}
|
||||
} else if (CHECK_BTN_ALL(input->press.button, BTN_START)) {
|
||||
func_8011552C(play, 0xA);
|
||||
func_8011552C(play, DO_ACTION_NONE);
|
||||
pauseCtx->savePromptState = PAUSE_SAVEPROMPT_STATE_3;
|
||||
sPauseMenuVerticalOffset = -6240.0f;
|
||||
D_8082B90C = pauseCtx->roll;
|
||||
func_801A3AEC(0);
|
||||
} else if (CHECK_BTN_ALL(input->press.button, BTN_B)) {
|
||||
func_8011552C(play, 0xA);
|
||||
func_8011552C(play, DO_ACTION_NONE);
|
||||
pauseCtx->savePromptState = PAUSE_SAVEPROMPT_STATE_2;
|
||||
D_8082B90C = pauseCtx->roll;
|
||||
}
|
||||
|
|
@ -844,7 +844,7 @@ void KaleidoScope_Update(PlayState* play) {
|
|||
case PAUSE_SAVEPROMPT_STATE_5:
|
||||
if (CHECK_BTN_ALL(input->press.button, BTN_B) || CHECK_BTN_ALL(input->press.button, BTN_A) ||
|
||||
CHECK_BTN_ALL(input->press.button, BTN_START) || (--sDelayTimer == 0)) {
|
||||
func_8011552C(play, 0xA);
|
||||
func_8011552C(play, DO_ACTION_NONE);
|
||||
pauseCtx->savePromptState = PAUSE_SAVEPROMPT_STATE_3;
|
||||
sPauseMenuVerticalOffset = -6240.0f;
|
||||
D_8082B90C = pauseCtx->roll;
|
||||
|
|
@ -886,7 +886,7 @@ void KaleidoScope_Update(PlayState* play) {
|
|||
pauseCtx->roll = -314.0f;
|
||||
pauseCtx->itemPageRoll = pauseCtx->mapPageRoll = pauseCtx->questPageRoll =
|
||||
pauseCtx->maskPageRoll = 0.0f;
|
||||
func_8011552C(play, 0x15);
|
||||
func_8011552C(play, DO_ACTION_INFO);
|
||||
gSaveContext.buttonStatus[EQUIP_SLOT_B] = D_801C6A98[pauseCtx->pageIndex + 1][0];
|
||||
gSaveContext.buttonStatus[EQUIP_SLOT_C_LEFT] = D_801C6A98[pauseCtx->pageIndex + 1][1];
|
||||
gSaveContext.buttonStatus[EQUIP_SLOT_C_DOWN] = D_801C6A98[pauseCtx->pageIndex + 1][1];
|
||||
|
|
@ -901,10 +901,10 @@ void KaleidoScope_Update(PlayState* play) {
|
|||
break;
|
||||
|
||||
case PAUSE_SAVEPROMPT_STATE_6:
|
||||
if (interfaceCtx->unk_264 != 255) {
|
||||
interfaceCtx->unk_264 += 10;
|
||||
if (interfaceCtx->unk_264 >= 255) {
|
||||
interfaceCtx->unk_264 = 255;
|
||||
if (interfaceCtx->screenFillAlpha != 255) {
|
||||
interfaceCtx->screenFillAlpha += 10;
|
||||
if (interfaceCtx->screenFillAlpha >= 255) {
|
||||
interfaceCtx->screenFillAlpha = 255;
|
||||
pauseCtx->state = PAUSE_STATE_OFF;
|
||||
Game_SetFramerateDivisor(&play->state, 3);
|
||||
R_PAUSE_BG_PRERENDER_STATE = PAUSE_BG_PRERENDER_UNK4;
|
||||
|
|
@ -1129,10 +1129,10 @@ void KaleidoScope_Update(PlayState* play) {
|
|||
break;
|
||||
|
||||
case PAUSE_STATE_GAMEOVER_10:
|
||||
if (interfaceCtx->unk_264 != 255) {
|
||||
interfaceCtx->unk_264 += 10;
|
||||
if (interfaceCtx->unk_264 >= 255) {
|
||||
interfaceCtx->unk_264 = 255;
|
||||
if (interfaceCtx->screenFillAlpha != 255) {
|
||||
interfaceCtx->screenFillAlpha += 10;
|
||||
if (interfaceCtx->screenFillAlpha >= 255) {
|
||||
interfaceCtx->screenFillAlpha = 255;
|
||||
|
||||
pauseCtx->state = PAUSE_STATE_OFF;
|
||||
Game_SetFramerateDivisor(&play->state, 3);
|
||||
|
|
@ -1191,7 +1191,7 @@ void KaleidoScope_Update(PlayState* play) {
|
|||
DmaMgr_SendRequest0(pauseCtx->iconItemLangSegment, SEGMENT_ROM_START(icon_item_jpn_static), size2);
|
||||
|
||||
pauseCtx->nameSegment = (void*)ALIGN16((uintptr_t)pauseCtx->iconItemLangSegment + size2);
|
||||
func_8011552C(play, 0x16);
|
||||
func_8011552C(play, DO_ACTION_WARP);
|
||||
worldMapCursorPoint = pauseCtx->cursorPoint[PAUSE_WORLD_MAP];
|
||||
func_80821900(pauseCtx->nameSegment, worldMapCursorPoint);
|
||||
|
||||
|
|
@ -1227,7 +1227,7 @@ void KaleidoScope_Update(PlayState* play) {
|
|||
|
||||
case PAUSE_STATE_OWLWARP_SELECT:
|
||||
if (CHECK_BTN_ALL(input->press.button, BTN_START) || CHECK_BTN_ALL(input->press.button, BTN_B)) {
|
||||
func_8011552C(play, 0xA);
|
||||
func_8011552C(play, DO_ACTION_NONE);
|
||||
pauseCtx->state = PAUSE_STATE_OWLWARP_6;
|
||||
sPauseMenuVerticalOffset = -6240.0f;
|
||||
func_801A3AEC(0);
|
||||
|
|
@ -1247,7 +1247,7 @@ void KaleidoScope_Update(PlayState* play) {
|
|||
msgCtx->msgLength = 0;
|
||||
msgCtx->msgMode = 0;
|
||||
if (msgCtx->choiceIndex == 0) {
|
||||
func_8011552C(play, 0xA);
|
||||
func_8011552C(play, DO_ACTION_NONE);
|
||||
pauseCtx->state = PAUSE_STATE_OWLWARP_6;
|
||||
sPauseMenuVerticalOffset = -6240.0f;
|
||||
func_801A3AEC(0);
|
||||
|
|
@ -1255,7 +1255,7 @@ void KaleidoScope_Update(PlayState* play) {
|
|||
play_sound(NA_SE_SY_DECIDE);
|
||||
} else {
|
||||
pauseCtx->state = PAUSE_STATE_OWLWARP_SELECT;
|
||||
func_8011552C(play, 0x16);
|
||||
func_8011552C(play, DO_ACTION_WARP);
|
||||
play_sound(NA_SE_SY_MESSAGE_PASS);
|
||||
}
|
||||
} else if (CHECK_BTN_ALL(input->press.button, BTN_B)) {
|
||||
|
|
@ -1266,7 +1266,7 @@ void KaleidoScope_Update(PlayState* play) {
|
|||
} else if (CHECK_BTN_ALL(input->press.button, BTN_START)) {
|
||||
msgCtx->msgLength = 0;
|
||||
msgCtx->msgMode = 0;
|
||||
func_8011552C(play, 0xA);
|
||||
func_8011552C(play, DO_ACTION_NONE);
|
||||
pauseCtx->state = PAUSE_STATE_OWLWARP_6;
|
||||
sPauseMenuVerticalOffset = -6240.0f;
|
||||
func_801A3AEC(0);
|
||||
|
|
@ -1346,8 +1346,8 @@ void KaleidoScope_Update(PlayState* play) {
|
|||
func_80143324(play, &play->skyboxCtx, play->skyboxId);
|
||||
|
||||
if ((msgCtx->msgMode != 0) && (msgCtx->currentTextId == 0xFF)) {
|
||||
func_80115844(play, 0x12);
|
||||
func_8011552C(play, 0x12);
|
||||
func_80115844(play, DO_ACTION_STOP);
|
||||
func_8011552C(play, DO_ACTION_STOP);
|
||||
Interface_SetHudVisibility(HUD_VISIBILITY_A_B_C);
|
||||
} else {
|
||||
interfaceCtx->unk_222 = interfaceCtx->unk_224 = 0;
|
||||
|
|
|
|||
|
|
@ -2106,8 +2106,8 @@
|
|||
0x8010F1A8:("Interface_UpdateHudAlphas",),
|
||||
0x80110038:("func_80110038",),
|
||||
0x80111CB4:("func_80111CB4",),
|
||||
0x801129E4:("func_801129E4",),
|
||||
0x80112AF4:("func_80112AF4",),
|
||||
0x801129E4:("Interface_SetSceneRestrictions",),
|
||||
0x80112AF4:("Interface_Noop",),
|
||||
0x80112AFC:("Interface_InitMinigame",),
|
||||
0x80112B40:("Interface_LoadItemIconImpl",),
|
||||
0x80112BE4:("Interface_LoadItemIcon",),
|
||||
|
|
@ -2162,8 +2162,8 @@
|
|||
0x8011E3B4:("Interface_UpdateBottleTimers",),
|
||||
0x8011E730:("Interface_DrawMinigameIcons",),
|
||||
0x8011F0E0:("Interface_Draw",),
|
||||
0x80120F90:("func_80120F90",),
|
||||
0x80121064:("func_80121064",),
|
||||
0x80120F90:("Interface_LoadStory",),
|
||||
0x80121064:("Interface_AllocStory",),
|
||||
0x801210E0:("Interface_Update",),
|
||||
0x80121F94:("Interface_Destroy",),
|
||||
0x80121FC4:("Interface_Init",),
|
||||
|
|
@ -2232,7 +2232,7 @@
|
|||
0x80124258:("Player_GetExplosiveHeld",),
|
||||
0x80124278:("Player_ActionToSword",),
|
||||
0x801242B4:("func_801242B4",),
|
||||
0x801242DC:("Player_GetEnvTimerType",),
|
||||
0x801242DC:("Player_GetEnvironmentalHazard",),
|
||||
0x80124420:("func_80124420",),
|
||||
0x80124618:("func_80124618",),
|
||||
0x801246F4:("Player_DrawImpl",),
|
||||
|
|
@ -2987,8 +2987,8 @@
|
|||
0x80166060:("func_80166060",),
|
||||
0x801660B8:("func_801660B8",),
|
||||
0x8016613C:("Play_Destroy",),
|
||||
0x801663C4:("func_801663C4",),
|
||||
0x80166644:("func_80166644",),
|
||||
0x801663C4:("Play_CompressI8ToI5",),
|
||||
0x80166644:("Play_DecompressI5ToI8",),
|
||||
0x801668B4:("func_801668B4",),
|
||||
0x80166968:("func_80166968",),
|
||||
0x80166B30:("func_80166B30",),
|
||||
|
|
|
|||
|
|
@ -1075,8 +1075,8 @@
|
|||
0x801BF5C0:("D_801BF5C0","UNK_PTR","",0x4),
|
||||
0x801BF68C:("D_801BF68C","UNK_TYPE1","",0x1),
|
||||
0x801BF6C0:("sRestrictionFlags","RestrictionFlags","[113]",0x1c4),
|
||||
0x801BF884:("D_801BF884","UNK_TYPE2","",0x2),
|
||||
0x801BF888:("D_801BF888","UNK_TYPE2","",0x2),
|
||||
0x801BF884:("sPictoState","UNK_TYPE2","",0x2),
|
||||
0x801BF888:("sPictoPhotoBeingTaken","UNK_TYPE2","",0x2),
|
||||
0x801BF88C:("sHBAScoreTier","UNK_TYPE2","",0x2),
|
||||
0x801BF890:("sMinigameScoreDigits","UNK_TYPE2","",0x2),
|
||||
0x801BF898:("sCUpInvisible","UNK_TYPE2","",0x2),
|
||||
|
|
@ -1086,7 +1086,7 @@
|
|||
0x801BF8A8:("sMagicMeterOutlinePrimBlue","UNK_TYPE2","",0x2),
|
||||
0x801BF8AC:("sMagicBorderRatio","UNK_TYPE2","",0x2),
|
||||
0x801BF8B0:("sMagicBorderStep","UNK_TYPE2","",0x2),
|
||||
0x801BF8DC:("sEnvTimerType","UNK_TYPE2","",0x2),
|
||||
0x801BF8DC:("sEnvHazard","UNK_TYPE2","",0x2),
|
||||
0x801BF8E0:("sEnvTimerActive","UNK_TYPE2","",0x2),
|
||||
0x801BF8E4:("sPostmanBunnyHoodState","UNK_TYPE2","",0x2),
|
||||
0x801BF8E8:("sTimerPausedOsTime","UNK_TYPE4","",0x4),
|
||||
|
|
@ -1100,7 +1100,7 @@
|
|||
0x801BF978:("D_801BF978","UNK_TYPE4","",0x4),
|
||||
0x801BF97C:("D_801BF97C","UNK_TYPE4","",0x4),
|
||||
0x801BF980:("D_801BF980","UNK_TYPE4","",0x4),
|
||||
0x801BF988:("D_801BF988","Gfx","[5]",0x28),
|
||||
0x801BF988:("sScreenFillSetupDL","Gfx","[5]",0x28),
|
||||
0x801BF9B0:("D_801BF9B0","UNK_TYPE2","",0x2),
|
||||
0x801BF9B4:("D_801BF9B4","UNK_TYPE1","",0x1),
|
||||
0x801BF9BC:("D_801BF9BC","UNK_TYPE1","",0x1),
|
||||
|
|
@ -1178,17 +1178,17 @@
|
|||
0x801BFCF8:("sTimerBeepSfxSeconds","UNK_TYPE4","",0x4),
|
||||
0x801BFCFC:("D_801BFCFC","UNK_TYPE4","",0x4),
|
||||
0x801BFD0C:("D_801BFD0C","UNK_TYPE4","",0x4),
|
||||
0x801BFD1C:("D_801BFD1C","UNK_TYPE1","",0x1),
|
||||
0x801BFD24:("D_801BFD24","UNK_TYPE1","",0x1),
|
||||
0x801BFD2C:("D_801BFD2C","UNK_TYPE1","",0x1),
|
||||
0x801BFD40:("D_801BFD40","UNK_TYPE1","",0x1),
|
||||
0x801BFD54:("D_801BFD54","UNK_TYPE1","",0x1),
|
||||
0x801BFD64:("D_801BFD64","UNK_TYPE1","",0x1),
|
||||
0x801BFD6C:("D_801BFD6C","UNK_TYPE2","",0x2),
|
||||
0x801BFD84:("D_801BFD84","UNK_TYPE1","",0x1),
|
||||
0x801BFD8C:("D_801BFD8C","UNK_TYPE1","",0x1),
|
||||
0x801BFD94:("D_801BFD94","UNK_TYPE4","",0x4),
|
||||
0x801BFD98:("D_801BFD98","UNK_TYPE4","[2]",0x8),
|
||||
0x801BFD1C:("sRupeeDigitsFirst","UNK_TYPE1","",0x1),
|
||||
0x801BFD24:("sRupeeDigitsCount","UNK_TYPE1","",0x1),
|
||||
0x801BFD2C:("sRupeeCounterIconPrimColors","UNK_TYPE1","",0x1),
|
||||
0x801BFD40:("sRupeeCounterIconEnvColors","UNK_TYPE1","",0x1),
|
||||
0x801BFD54:("sMinigameCountdownTextures","UNK_TYPE1","",0x1),
|
||||
0x801BFD64:("sMinigameCountdownTexWidths","UNK_TYPE1","",0x1),
|
||||
0x801BFD6C:("sMinigameCountdownPrimColors","UNK_TYPE2","",0x2),
|
||||
0x801BFD84:("sStoryTextures","UNK_TYPE1","",0x1),
|
||||
0x801BFD8C:("sStoryTLUTs","UNK_TYPE1","",0x1),
|
||||
0x801BFD94:("sIsSunsPlayedAtDay","UNK_TYPE4","",0x4),
|
||||
0x801BFD98:("sPrevTimeSpeed","UNK_TYPE4","[2]",0x8),
|
||||
0x801BFDA0:("sMaskObjectIds","s16","[24]",0x30),
|
||||
0x801BFDD0:("D_801BFDD0","UNK_TYPE1","",0x1),
|
||||
0x801BFDE8:("sMaskItemIds","UNK_TYPE1","",0x1),
|
||||
|
|
@ -1198,7 +1198,7 @@
|
|||
0x801BFF3C:("sActionModelGroups","UNK_TYPE1","",0x1),
|
||||
0x801BFF90:("D_801BFF90","UNK_TYPE1","",0x1),
|
||||
0x801BFF98:("sPlayerStrengths","UNK_TYPE1","",0x1),
|
||||
0x801BFFA0:("sEnvironmentTextTriggers","UNK_TYPE1","",0x1),
|
||||
0x801BFFA0:("sEnvHazardTextTriggers","UNK_TYPE1","",0x1),
|
||||
0x801BFFB0:("gPlayerModelTypes","UNK_TYPE1","",0x1),
|
||||
0x801BFFFC:("gPlayerWaistDLs","UNK_TYPE1","",0x1),
|
||||
0x801C0024:("gPlayerHandHoldingShields","UNK_TYPE1","",0x1),
|
||||
|
|
@ -4366,7 +4366,7 @@
|
|||
0x80209EA0:("gGfxPools","GfxPool","[2]",0x40620),
|
||||
0x8024A4C0:("gAudioHeap","u8","[0x138000]",0x138000),
|
||||
0x803824C0:("gSystemHeap","u8","[UNK_SIZE]",0x3fdb40),
|
||||
0x80780000:("D_80780000","u8","[0x4600]",0x4600),
|
||||
0x80780000:("gPictoPhotoI8","u8","[0x4600]",0x4600),
|
||||
0x80784600:("D_80784600","u8","[0x56200]",0x56200),
|
||||
0x807DA800:("gFramebuffer0","u16","[SCREEN_HEIGHT][SCREEN_WIDTH]",0x25800),
|
||||
0x80800860:("titleRotation","s16","",0x2),
|
||||
|
|
|
|||
|
|
@ -499,6 +499,7 @@ wordReplace = {
|
|||
"func_80169E6C": "Play_SetupRespawnPoint",
|
||||
"func_8016A0AC": "Play_IsUnderwater",
|
||||
"func_801690CC": "Play_InCsMode",
|
||||
"func_801129E4": "Interface_SetSceneRestrictions",
|
||||
"func_8011B4E0": "Interface_SetPerfectLetters",
|
||||
"func_80112AFC": "Interface_InitMinigame",
|
||||
"func_8010E9F0": "Interface_StartTimer",
|
||||
|
|
@ -811,6 +812,8 @@ wordReplace = {
|
|||
"ICHAIN_F32_DIV1000(minVelocityY,": "ICHAIN_F32_DIV1000(terminalVelocity,",
|
||||
"ICHAIN_F32(minVelocityY,": "ICHAIN_F32(terminalVelocity,",
|
||||
|
||||
"ACTORCTX_FLAG_2": "ACTORCTX_FLAG_PICTO_BOX_ON",
|
||||
|
||||
"EXCH_ITEM_MINUS1": "PLAYER_IA_MINUS1",
|
||||
"EXCH_ITEM_NONE": "PLAYER_IA_NONE",
|
||||
"EXCH_ITEM_PICTO_BOX": "PLAYER_IA_PICTO_BOX",
|
||||
|
|
|
|||
|
|
@ -1620,8 +1620,8 @@ asm/non_matchings/code/z_parameter/Interface_UpdateButtonAlphas.s,Interface_Upda
|
|||
asm/non_matchings/code/z_parameter/Interface_UpdateHudAlphas.s,Interface_UpdateHudAlphas,0x8010F1A8,0x3A4
|
||||
asm/non_matchings/code/z_parameter/func_80110038.s,func_80110038,0x80110038,0x71F
|
||||
asm/non_matchings/code/z_parameter/func_80111CB4.s,func_80111CB4,0x80111CB4,0x34C
|
||||
asm/non_matchings/code/z_parameter/func_801129E4.s,func_801129E4,0x801129E4,0x44
|
||||
asm/non_matchings/code/z_parameter/func_80112AF4.s,func_80112AF4,0x80112AF4,0x2
|
||||
asm/non_matchings/code/z_parameter/Interface_SetSceneRestrictions.s,Interface_SetSceneRestrictions,0x801129E4,0x44
|
||||
asm/non_matchings/code/z_parameter/Interface_Noop.s,Interface_Noop,0x80112AF4,0x2
|
||||
asm/non_matchings/code/z_parameter/Interface_InitMinigame.s,Interface_InitMinigame,0x80112AFC,0x11
|
||||
asm/non_matchings/code/z_parameter/Interface_LoadItemIconImpl.s,Interface_LoadItemIconImpl,0x80112B40,0x29
|
||||
asm/non_matchings/code/z_parameter/Interface_LoadItemIcon.s,Interface_LoadItemIcon,0x80112BE4,0xA
|
||||
|
|
@ -1676,8 +1676,8 @@ asm/non_matchings/code/z_parameter/Interface_DrawTimers.s,Interface_DrawTimers,0
|
|||
asm/non_matchings/code/z_parameter/Interface_UpdateBottleTimers.s,Interface_UpdateBottleTimers,0x8011E3B4,0xDF
|
||||
asm/non_matchings/code/z_parameter/Interface_DrawMinigameIcons.s,Interface_DrawMinigameIcons,0x8011E730,0x26C
|
||||
asm/non_matchings/code/z_parameter/Interface_Draw.s,Interface_Draw,0x8011F0E0,0x7AC
|
||||
asm/non_matchings/code/z_parameter/func_80120F90.s,func_80120F90,0x80120F90,0x35
|
||||
asm/non_matchings/code/z_parameter/func_80121064.s,func_80121064,0x80121064,0x1F
|
||||
asm/non_matchings/code/z_parameter/Interface_LoadStory.s,Interface_LoadStory,0x80120F90,0x35
|
||||
asm/non_matchings/code/z_parameter/Interface_AllocStory.s,Interface_AllocStory,0x80121064,0x1F
|
||||
asm/non_matchings/code/z_parameter/Interface_Update.s,Interface_Update,0x801210E0,0x3AD
|
||||
asm/non_matchings/code/z_parameter/Interface_Destroy.s,Interface_Destroy,0x80121F94,0xC
|
||||
asm/non_matchings/code/z_parameter/Interface_Init.s,Interface_Init,0x80121FC4,0x147
|
||||
|
|
@ -1746,7 +1746,7 @@ asm/non_matchings/code/z_player_lib/Player_ActionToExplosive.s,Player_ActionToEx
|
|||
asm/non_matchings/code/z_player_lib/Player_GetExplosiveHeld.s,Player_GetExplosiveHeld,0x80124258,0x8
|
||||
asm/non_matchings/code/z_player_lib/Player_ActionToSword.s,Player_ActionToSword,0x80124278,0xF
|
||||
asm/non_matchings/code/z_player_lib/func_801242B4.s,func_801242B4,0x801242B4,0xA
|
||||
asm/non_matchings/code/z_player_lib/Player_GetEnvTimerType.s,Player_GetEnvTimerType,0x801242DC,0x51
|
||||
asm/non_matchings/code/z_player_lib/Player_GetEnvironmentalHazard.s,Player_GetEnvironmentalHazard,0x801242DC,0x51
|
||||
asm/non_matchings/code/z_player_lib/func_80124420.s,func_80124420,0x80124420,0x7E
|
||||
asm/non_matchings/code/z_player_lib/func_80124618.s,func_80124618,0x80124618,0x37
|
||||
asm/non_matchings/code/z_player_lib/Player_DrawImpl.s,Player_DrawImpl,0x801246F4,0x5F
|
||||
|
|
@ -2501,8 +2501,8 @@ asm/non_matchings/code/z_play/func_80165EC0.s,func_80165EC0,0x80165EC0,0x68
|
|||
asm/non_matchings/code/z_play/func_80166060.s,func_80166060,0x80166060,0x16
|
||||
asm/non_matchings/code/z_play/func_801660B8.s,func_801660B8,0x801660B8,0x21
|
||||
asm/non_matchings/code/z_play/Play_Destroy.s,Play_Destroy,0x8016613C,0xA2
|
||||
asm/non_matchings/code/z_play/func_801663C4.s,func_801663C4,0x801663C4,0xA0
|
||||
asm/non_matchings/code/z_play/func_80166644.s,func_80166644,0x80166644,0x9C
|
||||
asm/non_matchings/code/z_play/Play_CompressI8ToI5.s,Play_CompressI8ToI5,0x801663C4,0xA0
|
||||
asm/non_matchings/code/z_play/Play_DecompressI5ToI8.s,Play_DecompressI5ToI8,0x80166644,0x9C
|
||||
asm/non_matchings/code/z_play/func_801668B4.s,func_801668B4,0x801668B4,0x2D
|
||||
asm/non_matchings/code/z_play/func_80166968.s,func_80166968,0x80166968,0x72
|
||||
asm/non_matchings/code/z_play/func_80166B30.s,func_80166B30,0x80166B30,0x339
|
||||
|
|
|
|||
|
|
|
@ -119,7 +119,7 @@ weekEventReg = {
|
|||
(14 << 8) | 0x01: "WEEKEVENTREG_14_01",
|
||||
(14 << 8) | 0x02: "WEEKEVENTREG_14_02",
|
||||
(14 << 8) | 0x04: "WEEKEVENTREG_14_04",
|
||||
(14 << 8) | 0x08: "WEEKEVENTREG_14_08",
|
||||
(14 << 8) | 0x08: "WEEKEVENTREG_DRANK_CHATEAU_ROMANI",
|
||||
(14 << 8) | 0x10: "WEEKEVENTREG_14_10",
|
||||
(14 << 8) | 0x20: "WEEKEVENTREG_14_20",
|
||||
(14 << 8) | 0x40: "WEEKEVENTREG_14_40",
|
||||
|
|
|
|||
Loading…
Reference in New Issue