mirror of
https://github.com/izzy2lost/2ship2harkinian-Android.git
synced 2026-06-19 01:20:08 -07:00
Interface_Update OK (except for data-splitting issues)
This commit is contained in:
+2
-2
@@ -1968,7 +1968,7 @@ void func_8010A33C(GlobalContext* globalCtx, s16 param_2);
|
||||
// void func_8010A410(void);
|
||||
// void func_8010A430(void);
|
||||
void func_8010A54C(GlobalContext* globalCtx);
|
||||
// void func_8010A580(void);
|
||||
// void Map_Update(void);
|
||||
// void func_8010A760(void);
|
||||
// void func_8010A7CC(void);
|
||||
// void func_8010A814(void);
|
||||
@@ -2098,7 +2098,7 @@ void func_80115D5C(GameState* gamestate);
|
||||
// void func_80115DB4(void);
|
||||
// void func_80116088(void);
|
||||
// void func_80116114(void);
|
||||
// void func_80116348(void);
|
||||
// void Interface_UpdateMagicBar(void);
|
||||
// void Interface_DrawMagicBar(void);
|
||||
// void func_80116FD8(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5);
|
||||
// void func_801170B8(void);
|
||||
|
||||
+6
-4
@@ -750,7 +750,7 @@ typedef struct {
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u16 unk_0;
|
||||
/* 0x02 */ u16 unk_2;
|
||||
/* 0x02 */ u16 timeIncrement;
|
||||
/* 0x04 */ f32 unk_4;
|
||||
/* 0x08 */ f32 unk_8;
|
||||
/* 0x0C */ f32 unk_C;
|
||||
@@ -898,14 +898,16 @@ typedef struct {
|
||||
/* 0x11F10 */ s32 unk11F10;
|
||||
/* 0x11F14 */ UNK_TYPE1 pad11F14[0xE];
|
||||
/* 0x11F22 */ u8 unk11F22;
|
||||
/* 0x11F23 */ UNK_TYPE1 pad11F23[0xFD];
|
||||
/* 0x11F23 */ UNK_TYPE1 pad11F23[0xE3];
|
||||
/* 0x11F23 */ s16 unk12006;
|
||||
/* 0x12007 */ UNK_TYPE1 pad12007[0x18];
|
||||
/* 0x12020 */ u8 unk12020;
|
||||
/* 0x12021 */ u8 choiceIndex;
|
||||
/* 0x12022 */ u8 unk12022;
|
||||
/* 0x12023 */ u8 unk12023;
|
||||
/* 0x12024 */ UNK_TYPE1 unk12024[0x6];
|
||||
/* 0x1202A */ u16 unk1202A;
|
||||
/* 0x1202C */ UNK_TYPE1 pad1202C[0x2];
|
||||
/* 0x1202A */ u16 ocarinaMode;
|
||||
/* 0x1202C */ u16 ocarinaAction;
|
||||
/* 0x1202E */ u16 unk1202E;
|
||||
/* 0x12030 */ UNK_TYPE1 pad12030[0x14];
|
||||
/* 0x12044 */ s16 unk12044;
|
||||
|
||||
+2
-1
@@ -8,7 +8,8 @@
|
||||
|
||||
typedef enum {
|
||||
/* 0x0 */ EQUIP_SWORD,
|
||||
/* 0x1 */ EQUIP_SHIELD
|
||||
/* 0x1 */ EQUIP_SHIELD,
|
||||
/* 0x2 */ EQUIP_TUNIC // Remnant of OoT
|
||||
} EquipmentType;
|
||||
|
||||
typedef enum {
|
||||
|
||||
+8
-1
@@ -189,7 +189,7 @@ typedef struct {
|
||||
/* 0x3F54 */ u8 dogIsLost; // "dog_event_flag"
|
||||
/* 0x3F55 */ u8 nextTransition; // "next_wipe"
|
||||
/* 0x3F56 */ s16 worldMapArea; // "area_type"
|
||||
/* 0x3F58 */ s16 unk_3F58; // "sunmoon_flag"
|
||||
/* 0x3F58 */ s16 sunsSongState; // "sunmoon_flag"
|
||||
/* 0x3F5A */ s16 healthAccumulator; // "life_mode"
|
||||
/* 0x3F5C */ s32 unk_3F5C; // "bet_rupees"
|
||||
/* 0x3F60 */ u8 screenScaleFlag; // "framescale_flag"
|
||||
@@ -217,4 +217,11 @@ typedef enum {
|
||||
/* 0xFF */ BTN_DISABLED = 0xFF
|
||||
} ButtonStatus;
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ SUNSSONG_INACTIVE,
|
||||
/* 1 */ SUNSSONG_START, // the suns ocarina effect signals that the song has finished playing
|
||||
/* 2 */ SUNSSONG_SPEED_TIME, // suns was played where time passes, speed up the advancement of time
|
||||
/* 3 */ SUNSSONG_SPECIAL // time does not advance, but signals the song was played. used for freezing redeads
|
||||
} SunsSongState;
|
||||
|
||||
#endif
|
||||
|
||||
@@ -28,4 +28,4 @@
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_exp/func_8010A54C.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_exp/func_8010A580.s")
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_exp/Map_Update.s")
|
||||
|
||||
+471
-16
File diff suppressed because it is too large
Load Diff
+7
-7
@@ -388,17 +388,17 @@ void Scene_HeaderCmdTimeSettings(GlobalContext* globalCtx, SceneCmd* cmd) {
|
||||
}
|
||||
|
||||
if (cmd->timeSettings.unk6 != 0xFF) {
|
||||
globalCtx->envCtx.unk_2 = cmd->timeSettings.unk6;
|
||||
globalCtx->envCtx.timeIncrement = cmd->timeSettings.unk6;
|
||||
} else {
|
||||
globalCtx->envCtx.unk_2 = 0;
|
||||
globalCtx->envCtx.timeIncrement = 0;
|
||||
}
|
||||
|
||||
if ((gSaveContext.save.inventory.items[SLOT_OCARINA] == ITEM_NONE) && (globalCtx->envCtx.unk_2 != 0)) {
|
||||
globalCtx->envCtx.unk_2 = 5;
|
||||
if ((gSaveContext.save.inventory.items[SLOT_OCARINA] == ITEM_NONE) && (globalCtx->envCtx.timeIncrement != 0)) {
|
||||
globalCtx->envCtx.timeIncrement = 5;
|
||||
}
|
||||
|
||||
if (gSaveContext.unk_3F58 == 0) {
|
||||
REG(15) = globalCtx->envCtx.unk_2;
|
||||
if (gSaveContext.sunsSongState == SUNSSONG_INACTIVE) {
|
||||
REG(15) = globalCtx->envCtx.timeIncrement;
|
||||
}
|
||||
|
||||
dayTime = gSaveContext.save.time;
|
||||
@@ -408,7 +408,7 @@ void Scene_HeaderCmdTimeSettings(GlobalContext* globalCtx, SceneCmd* cmd) {
|
||||
dayTime = gSaveContext.save.time;
|
||||
globalCtx->envCtx.unk_C = (Math_CosS(dayTime - 0x8000) * 20.0f) * 25.0f;
|
||||
|
||||
if (globalCtx->envCtx.unk_2 == 0 && gSaveContext.save.cutscene < 0xFFF0) {
|
||||
if (globalCtx->envCtx.timeIncrement == 0 && gSaveContext.save.cutscene < 0xFFF0) {
|
||||
gSaveContext.environmentTime = gSaveContext.save.time;
|
||||
|
||||
if (gSaveContext.environmentTime >= 0x2AAA && gSaveContext.environmentTime < 0x4555) {
|
||||
|
||||
@@ -270,7 +270,7 @@ void EnCow_Talk(EnCow* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void EnCow_Idle(EnCow* this, GlobalContext* globalCtx) {
|
||||
if ((globalCtx->msgCtx.unk1202A == 0) || (globalCtx->msgCtx.unk1202A == 4)) {
|
||||
if ((globalCtx->msgCtx.ocarinaMode == 0) || (globalCtx->msgCtx.ocarinaMode == 4)) {
|
||||
if (D_801BDAA4 != 0) {
|
||||
if (this->flags & EN_COW_FLAG_WONT_GIVE_MILK) {
|
||||
this->flags &= ~EN_COW_FLAG_WONT_GIVE_MILK;
|
||||
|
||||
@@ -424,7 +424,7 @@ void func_80B3EE8C(EnDai* this, GlobalContext* globalCtx) {
|
||||
void func_80B3EEDC(EnDai* this, GlobalContext* globalCtx) {
|
||||
Player* player = GET_PLAYER(globalCtx);
|
||||
|
||||
if ((player->transformation == PLAYER_FORM_GORON) && (globalCtx->msgCtx.unk1202A == 3) &&
|
||||
if ((player->transformation == PLAYER_FORM_GORON) && (globalCtx->msgCtx.ocarinaMode == 3) &&
|
||||
(globalCtx->msgCtx.unk1202E == 1)) {
|
||||
func_80B3E5DC(this, 1);
|
||||
this->actionFunc = func_80B3EE8C;
|
||||
|
||||
@@ -276,7 +276,7 @@ void func_80998040(EnGs* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void func_8099807C(EnGs* this, GlobalContext* globalCtx) {
|
||||
switch (globalCtx->msgCtx.unk1202A) {
|
||||
switch (globalCtx->msgCtx.ocarinaMode) {
|
||||
case 3:
|
||||
switch (globalCtx->msgCtx.unk1202E) {
|
||||
case 7:
|
||||
|
||||
@@ -362,7 +362,7 @@ void func_80BCFC0C(EnHg* this, GlobalContext* globalCtx) {
|
||||
} else {
|
||||
D_80BD00C8 = false;
|
||||
}
|
||||
if (globalCtx->msgCtx.unk1202A == 3) {
|
||||
if (globalCtx->msgCtx.ocarinaMode == 3) {
|
||||
if (globalCtx->msgCtx.unk1202E == 7 && gSaveContext.save.playerForm == PLAYER_FORM_HUMAN) {
|
||||
if (INV_CONTENT(ITEM_MASK_GIBDO) == ITEM_MASK_GIBDO) {
|
||||
this->unk218 = 3;
|
||||
|
||||
@@ -627,7 +627,7 @@ void EnKakasi_TeachingSong(EnKakasi* this, GlobalContext* globalCtx) {
|
||||
func_8096FAAC(this, globalCtx);
|
||||
func_8096FBB8(this, globalCtx);
|
||||
|
||||
if (globalCtx->msgCtx.unk1202A == 4) { // song failed
|
||||
if (globalCtx->msgCtx.ocarinaMode == 4) { // song failed
|
||||
this->unk190 = 0;
|
||||
this->unkCounter1A4 = 0;
|
||||
ActorCutscene_Stop(this->actorCutscenes[0]);
|
||||
@@ -641,7 +641,7 @@ void EnKakasi_TeachingSong(EnKakasi* this, GlobalContext* globalCtx) {
|
||||
EnKakasi_SetAnimation(this, ENKAKASI_ANIM_ARMS_CROSSED_ROCKING);
|
||||
this->actionFunc = EnKakasi_RegularDialogue;
|
||||
|
||||
} else if (globalCtx->msgCtx.unk1202A == 3) { // song success
|
||||
} else if (globalCtx->msgCtx.ocarinaMode == 3) { // song success
|
||||
this->postTeachTimer = 30;
|
||||
this->skelanime.playSpeed = 2.0f;
|
||||
EnKakasi_SetAnimation(this, ENKAKASI_ANIM_HOPPING_REGULAR);
|
||||
@@ -664,7 +664,7 @@ void EnKakasi_PostSongLearnTwirl(EnKakasi* this, GlobalContext* globalCtx) {
|
||||
|
||||
void EnKakasi_SetupPostSongLearnDialogue(EnKakasi* this, GlobalContext* globalCtx) {
|
||||
ActorCutscene_Stop(this->actorCutscenes[0]);
|
||||
globalCtx->msgCtx.unk1202A = 4;
|
||||
globalCtx->msgCtx.ocarinaMode = 4;
|
||||
this->unk190 = 0;
|
||||
this->unkCounter1A4 = 0;
|
||||
EnKakasi_SetAnimation(this, ENKAKASI_ANIM_HOPPING_REGULAR);
|
||||
@@ -1041,9 +1041,9 @@ void EnKakasi_SetupIdleUnderground(EnKakasi* this) {
|
||||
|
||||
void EnKakasi_IdleUnderground(EnKakasi* this, GlobalContext* globalCtx) {
|
||||
if ((gSaveContext.save.weekEventReg[79] & 0x8) && this->actor.xzDistToPlayer < this->songSummonDist &&
|
||||
(BREG(1) != 0 || globalCtx->msgCtx.unk1202A == 0xD)) {
|
||||
(BREG(1) != 0 || globalCtx->msgCtx.ocarinaMode == 0xD)) {
|
||||
this->actor.flags &= ~0x8000000;
|
||||
globalCtx->msgCtx.unk1202A = 4;
|
||||
globalCtx->msgCtx.ocarinaMode = 4;
|
||||
this->actionFunc = EnKakasi_SetupRiseOutOfGround;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -237,8 +237,8 @@ void EnRd_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
void EnRd_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnRd* this = THIS;
|
||||
|
||||
if (gSaveContext.unk_3F58 != 0) {
|
||||
gSaveContext.unk_3F58 = 0;
|
||||
if (gSaveContext.sunsSongState != SUNSSONG_INACTIVE) {
|
||||
gSaveContext.sunsSongState = SUNSSONG_INACTIVE;
|
||||
}
|
||||
Collider_DestroyCylinder(globalCtx, &this->collider);
|
||||
}
|
||||
@@ -994,7 +994,7 @@ void func_808D64D0(EnRd* this) {
|
||||
this->unk_3D6 = 0xA;
|
||||
this->actor.speedXZ = 0.0f;
|
||||
this->actor.world.rot.y = this->actor.shape.rot.y;
|
||||
if (gSaveContext.unk_3F58 != 0) {
|
||||
if (gSaveContext.sunsSongState != SUNSSONG_INACTIVE) {
|
||||
this->unk_3E9 = 1;
|
||||
this->unk_3E0 = 600;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_LIGHT_ARROW_HIT);
|
||||
@@ -1021,7 +1021,7 @@ void func_808D65BC(EnRd* this, GlobalContext* globalCtx) {
|
||||
|
||||
if (this->unk_3E0 == 0) {
|
||||
this->unk_3E9 = 0;
|
||||
gSaveContext.unk_3F58 = 0;
|
||||
gSaveContext.sunsSongState = SUNSSONG_INACTIVE;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1060,7 +1060,7 @@ void func_808D6814(EnRd* this, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
Player* player = GET_PLAYER(globalCtx);
|
||||
|
||||
if ((gSaveContext.unk_3F58 != 0) && (this->actor.shape.rot.x == 0) && (this->unk_3E9 == 0) &&
|
||||
if ((gSaveContext.sunsSongState != SUNSSONG_INACTIVE) && (this->actor.shape.rot.x == 0) && (this->unk_3E9 == 0) &&
|
||||
(this->unk_3EF != 11) && (this->unk_3EF != 12) && (this->unk_3EF != 1)) {
|
||||
func_808D64D0(this);
|
||||
return;
|
||||
@@ -1171,8 +1171,8 @@ void EnRd_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnRd* this = THIS;
|
||||
|
||||
func_808D6814(this, globalCtx);
|
||||
if ((gSaveContext.unk_3F58 != 0) && (this->unk_3E9 == 0)) {
|
||||
gSaveContext.unk_3F58 = 0;
|
||||
if ((gSaveContext.sunsSongState != SUNSSONG_INACTIVE) && (this->unk_3E9 == 0)) {
|
||||
gSaveContext.sunsSongState = SUNSSONG_INACTIVE;
|
||||
}
|
||||
|
||||
if ((this->unk_3F0 != 6) && ((this->unk_3EF != 13) || (this->unk_3F0 != 2))) {
|
||||
|
||||
@@ -561,7 +561,7 @@ s32 func_80BA46D8(EnToto* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
s32 func_80BA4740(EnToto* this, GlobalContext* globalCtx) {
|
||||
if (globalCtx->msgCtx.unk1202A == 4) {
|
||||
if (globalCtx->msgCtx.ocarinaMode == 4) {
|
||||
if (gSaveContext.save.playerForm == PLAYER_FORM_HUMAN) {
|
||||
gSaveContext.save.weekEventReg[56] |= 0x10;
|
||||
}
|
||||
|
||||
@@ -1151,7 +1151,7 @@ void func_80B98BF4(EnZot* this, GlobalContext* globalCtx) {
|
||||
|
||||
void func_80B98CA8(EnZot* this, GlobalContext* globalCtx) {
|
||||
if (func_800B8718(&this->actor, globalCtx)) {
|
||||
globalCtx->msgCtx.unk1202A = 4;
|
||||
globalCtx->msgCtx.ocarinaMode = 4;
|
||||
func_8019B544(0xFFFF);
|
||||
this->actionFunc = func_80B98BF4;
|
||||
this->actor.flags |= 0x10000;
|
||||
|
||||
@@ -2008,7 +2008,7 @@
|
||||
0x8010A410:("func_8010A410",),
|
||||
0x8010A430:("func_8010A430",),
|
||||
0x8010A54C:("func_8010A54C",),
|
||||
0x8010A580:("func_8010A580",),
|
||||
0x8010A580:("Map_Update",),
|
||||
0x8010A760:("func_8010A760",),
|
||||
0x8010A7CC:("func_8010A7CC",),
|
||||
0x8010A814:("func_8010A814",),
|
||||
@@ -2139,7 +2139,7 @@
|
||||
0x80115DB4:("func_80115DB4",),
|
||||
0x80116088:("func_80116088",),
|
||||
0x80116114:("func_80116114",),
|
||||
0x80116348:("func_80116348",),
|
||||
0x80116348:("Interface_UpdateMagicBar",),
|
||||
0x80116918:("Interface_DrawMagicBar",),
|
||||
0x80116FD8:("func_80116FD8",),
|
||||
0x801170B8:("func_801170B8",),
|
||||
|
||||
@@ -1522,7 +1522,7 @@ asm/non_matchings/code/z_map_exp/func_8010A33C.s,func_8010A33C,0x8010A33C,0x35
|
||||
asm/non_matchings/code/z_map_exp/func_8010A410.s,func_8010A410,0x8010A410,0x8
|
||||
asm/non_matchings/code/z_map_exp/func_8010A430.s,func_8010A430,0x8010A430,0x47
|
||||
asm/non_matchings/code/z_map_exp/func_8010A54C.s,func_8010A54C,0x8010A54C,0xD
|
||||
asm/non_matchings/code/z_map_exp/func_8010A580.s,func_8010A580,0x8010A580,0x78
|
||||
asm/non_matchings/code/z_map_exp/Map_Update.s,Map_Update,0x8010A580,0x78
|
||||
asm/non_matchings/code/z_msgevent/func_8010A760.s,func_8010A760,0x8010A760,0x1B
|
||||
asm/non_matchings/code/z_msgevent/func_8010A7CC.s,func_8010A7CC,0x8010A7CC,0x12
|
||||
asm/non_matchings/code/z_msgevent/func_8010A814.s,func_8010A814,0x8010A814,0x12
|
||||
@@ -1653,7 +1653,7 @@ asm/non_matchings/code/z_parameter/func_80115D5C.s,func_80115D5C,0x80115D5C,0x16
|
||||
asm/non_matchings/code/z_parameter/func_80115DB4.s,func_80115DB4,0x80115DB4,0xB5
|
||||
asm/non_matchings/code/z_parameter/func_80116088.s,func_80116088,0x80116088,0x23
|
||||
asm/non_matchings/code/z_parameter/func_80116114.s,func_80116114,0x80116114,0x8D
|
||||
asm/non_matchings/code/z_parameter/func_80116348.s,func_80116348,0x80116348,0x174
|
||||
asm/non_matchings/code/z_parameter/Interface_UpdateMagicBar.s,Interface_UpdateMagicBar,0x80116348,0x174
|
||||
asm/non_matchings/code/z_parameter/Interface_DrawMagicBar.s,Interface_DrawMagicBar,0x80116918,0x1B0
|
||||
asm/non_matchings/code/z_parameter/func_80116FD8.s,func_80116FD8,0x80116FD8,0x38
|
||||
asm/non_matchings/code/z_parameter/func_801170B8.s,func_801170B8,0x801170B8,0x12
|
||||
|
||||
|
Reference in New Issue
Block a user