Merge branch 'master' into parameter

This commit is contained in:
engineer124
2022-02-05 14:35:56 +11:00
57 changed files with 3056 additions and 804 deletions
+5 -5
View File
@@ -22,14 +22,14 @@
<Texture Name="gEmptyCRightArrowTex" OutName="empty_c_right_arrow" Format="ia8" Width="32" Height="32" Offset="0x1F60"/>
<Texture Name="gTimerClockIconTex" OutName="timer_clock_icon" Format="ia8" Width="16" Height="16" Offset="0x2360"/>
<Texture Name="gMapBossIconTex" OutName="map_boss_icon" Format="ia8" Width="8" Height="8" Offset="0x2460"/>
<Texture Name="gOcarinaATex" OutName="ocarina_a" Format="ia8" Width="16" Height="16" Offset="0x24A0"/>
<Texture Name="gOcarinaCDownTex" OutName="ocarina_c_down" Format="ia8" Width="16" Height="16" Offset="0x25A0"/>
<Texture Name="gOcarinaCRightTex" OutName="ocarina_c_right" Format="ia8" Width="16" Height="16" Offset="0x26A0"/>
<Texture Name="gOcarinaCLeftTex" OutName="ocarina_c_left" Format="ia8" Width="16" Height="16" Offset="0x27A0"/>
<Texture Name="gOcarinaCUpTex" OutName="ocarina_c_up" Format="ia8" Width="16" Height="16" Offset="0x28A0"/>
<Texture Name="gOcarinaTrebleClefTex" OutName="ocarina_treble_clef" Format="i4" Width="16" Height="32" Offset="0x29A0"/>
<Texture Name="gSceneTitleCardGradientTex" OutName="scene_title_card_gradient" Format="i8" Width="64" Height="1" Offset="0x2AA0"/>
<!-- All four versions of Tatl textures are identical -->
@@ -44,7 +44,7 @@
<Texture Name="gMapDungeonEntranceIconTex" OutName="map_dungeon_entrance_icon" Format="rgba16" Width="8" Height="8" Offset="0x3EA0"/>
<Texture Name="gMapChestIconTex" OutName="map_chest_icon" Format="rgba16" Width="8" Height="8" Offset="0x3F20"/>
<Texture Name="gArcheryScoreIconTex" OutName="archery_score_icon" Format="rgba16" Width="24" Height="16" Offset="0x3FA0"/>
<!-- Looking through the lens of the pictograph box -->
<Texture Name="gPictoBoxFocusIconTex" OutName="picto_box_focus_icon" Format="i4" Width="32" Height="16" Offset="0x42A0"/>
<Texture Name="gPictoBoxFocusBorderTex" OutName="picto_box_focus_border" Format="ia4" Width="16" Height="16" Offset="0x43A0"/>
@@ -62,7 +62,7 @@
<Texture Name="gCounterDigit9Tex" OutName="counter_digit_9" Format="i8" Width="8" Height="16" Offset="0x4920"/>
<Texture Name="gCounterColonTex" OutName="counter_colon" Format="i8" Width="8" Height="16" Offset="0x49A0"/>
<Texture Name="gStrayFairyMapCounterSlashTex" OutName="stray_fairy_map_counter_slash" Format="i8" Width="8" Height="16" Offset="0x4A20"/>
<Texture Name="gAmmoDigit0Tex" OutName="ammo_digit_0" Format="ia8" Width="8" Height="8" Offset="0x4AA0"/>
<Texture Name="gAmmoDigit1Tex" OutName="ammo_digit_1" Format="ia8" Width="8" Height="8" Offset="0x4AE0"/>
<Texture Name="gAmmoDigit2Tex" OutName="ammo_digit_2" Format="ia8" Width="8" Height="8" Offset="0x4B20"/>
@@ -74,7 +74,7 @@
<Texture Name="gAmmoDigit8Tex" OutName="ammo_digit_8" Format="ia8" Width="8" Height="8" Offset="0x4CA0"/>
<Texture Name="gAmmoDigit9Tex" OutName="ammo_digit_9" Format="ia8" Width="8" Height="8" Offset="0x4CE0"/>
<Texture Name="gAmmoDigitHalfTex" OutName="ammo_digit_half" Format="ia8" Width="16" Height="8" Offset="0x4D20"/>
<Texture Name="gMagicBarEndTex" OutName="magic_bar_end" Format="ia8" Width="8" Height="16" Offset="0x4DA0"/>
<Texture Name="gMagicBarMidTex" OutName="magic_bar_mid" Format="ia8" Width="24" Height="16" Offset="0x4E20"/>
<Texture Name="gMagicBarFillTex" OutName="magic_bar_fill" Format="ia8" Width="8" Height="8" Offset="0x4FA0"/>
+13 -13
View File
@@ -1632,7 +1632,7 @@ void func_800FE658(f32 arg0);
// void func_800FE788(void);
// void func_800FE798(void);
// void func_800FE7A8(void);
// void func_800FE9B4(void);
s32 func_800FE9B4(GlobalContext* globalCtx);
// void func_800FEA50(void);
void func_800FEAB0(void);
// void func_800FEAC0(void);
@@ -1970,7 +1970,7 @@ void Inventory_DeleteItem(s16 arg0, s16 arg1);
// void func_80114CA0(void);
s32 Inventory_HasEmptyBottle(void);
s32 Inventory_HasItemInBottle(u8 itemId);
// void Inventory_UpdateBottleItem(void);
// void func_80114FD0(void);
// void func_80115130(void);
// void Inventory_UpdateItem(void);
// void func_801153C8(void);
@@ -2055,7 +2055,7 @@ s32 func_80123810(GlobalContext* globalCtx);
void func_80123AA4(Player* player, s32 arg1);
// void func_80123BD4(void);
// void func_80123C58(void);
void func_80123C90(GlobalContext* globalCtx, Player* player);
void Player_SetEquipmentData(GlobalContext* globalCtx, Player* this);
void func_80123D50(GlobalContext* globalCtx, Player* player, UNK_TYPE arg2, UNK_TYPE arg3);
void func_80123DA4(Player* player);
// void func_80123DC0(void);
@@ -2253,16 +2253,16 @@ s32 Room_StartRoomTransition(GlobalContext* globalCtx, RoomContext* roomCtx, s32
s32 Room_HandleLoadCallbacks(GlobalContext* globalCtx, RoomContext* roomCtx);
void Room_Draw(GlobalContext* globalCtx, Room* room, u32 flags);
void func_8012EBF8(GlobalContext* globalCtx, RoomContext* roomCtx);
s32 func_8012EC80(GlobalContext* globalCtx);
void func_8012ED34(s16 equipment);
u8 func_8012ED78(GlobalContext* globalCtx, s16 equipment);
void Inventory_ChangeUpgrade(s16 arg0, u32 arg1);
s32 func_8012EE34(s16 arg0);
void func_8012EF0C(s16 arg0);
void func_8012F0EC(s16 arg0);
void func_8012F1BC(s16 sceneIndex);
s16 func_8012F22C(s16 sceneIndex);
void func_8012F278(GlobalContext* globalCtx);
s32 Inventory_GetBtnBItem(GlobalContext* globalCtx);
void Inventory_ChangeEquipment(s16 value);
u8 Inventory_DeleteEquipment(GlobalContext* globalCtx, s16 equipment);
void Inventory_ChangeUpgrade(s16 upgrade, u32 value);
s32 Inventory_IsMapVisible(s16 sceneNum);
void Inventory_SetMapVisibility(s16 tingleIndex);
void Inventory_SaveDekuPlaygroundHighScore(s16 timerId);
void Inventory_IncrementSkullTokenCount(s16 sceneIndex);
s16 Inventory_GetSkullTokenCount(s16 sceneIndex);
void Inventory_SaveLotteryCodeGuess(GlobalContext* globalCtx);
s32 Object_Spawn(ObjectContext* objectCtx, s16 id);
void Object_InitBank(GameState* gameState, ObjectContext* objectCtx);
void Object_UpdateBank(ObjectContext* objectCtx);
+16 -16
View File
@@ -1629,29 +1629,29 @@ extern MtxF gIdentityMtxF;
// extern u64* initialgspUcodeText;
// extern u64* initialgspUcodeData;
// extern UNK_TYPE1 D_801D1E70;
// extern UNK_TYPE1 D_801D2E80;
// extern UNK_TYPE1 D_801D2F80;
// extern UNK_TYPE1 D_801D3070;
// extern UNK_TYPE1 D_801D3700;
// extern UNK_TYPE1 D_801D3D90;
// extern UNK_TYPE1 D_801D3F90;
// extern UNK_TYPE1 D_801D4190;
// extern UNK_TYPE1 D_801D4390;
// extern UNK_TYPE1 D_801D4590;
// extern UNK_TYPE1 gLowPassFilterData;
// extern UNK_TYPE1 gHighPassFilterData;
// extern UNK_TYPE1 gBandStopFilterData;
// extern UNK_TYPE1 gBandPassFilterData;
// extern UNK_TYPE1 gSawtoothWaveSample;
// extern UNK_TYPE1 gTriangleWaveSample;
// extern UNK_TYPE1 gSineWaveSample;
// extern UNK_TYPE1 gSquareWaveSample;
// extern UNK_TYPE1 gWhiteNoiseSample;
// extern UNK_TYPE1 D_801D4790;
// extern UNK_TYPE1 D_801D4990;
// extern UNK_TYPE1 D_801D4B90;
// extern UNK_TYPE1 gEighthPulseWaveSample;
// extern UNK_TYPE1 gQuarterPulseWaveSample;
extern s16* gWaveSamples[9];
extern UNK_PTR D_801D4D98;
extern UNK_PTR D_801D4DB0;
extern f32 gBendPitchOneOctaveFrequencies[256];
// extern UNK_TYPE1 D_801D4FB4;
// extern UNK_TYPE4 D_801D51B4;
// extern UNK_TYPE4 gBendPitchTwoSemitonesFrequencies;
// extern UNK_TYPE4 D_801D53B4;
// extern UNK_TYPE1 D_801D55B4;
// extern UNK_TYPE1 D_801D57B4;
// extern UNK_TYPE1 D_801D57C4;
// extern UNK_TYPE1 D_801D57D4;
// extern UNK_TYPE1 gPitchFrequencies;
// extern UNK_TYPE1 gDefaultShortNoteVelocityTable;
// extern UNK_TYPE1 gDefaultShortNoteGateTimeTable;
// extern UNK_TYPE1 gDefaultEnvelope;
extern NoteSubEu gZeroNoteSub;
extern NoteSubEu gDefaultNoteSub;
extern u16 gHeadsetPanQuantization[];
+6 -2
View File
@@ -901,7 +901,7 @@ typedef struct {
/* 0x11F0B */ UNK_TYPE1 pad11F0B[0x5];
/* 0x11F10 */ s32 unk11F10;
/* 0x11F14 */ UNK_TYPE1 pad11F14[0xE];
/* 0x11F22 */ u8 unk11F22;
/* 0x11F22 */ u8 msgMode;
/* 0x11F23 */ UNK_TYPE1 pad11F23[0xE3];
/* 0x12006 */ s16 unk12006;
/* 0x12007 */ UNK_TYPE1 pad12007[0x18];
@@ -919,7 +919,11 @@ typedef struct {
/* 0x12044 */ s16 unk12044;
/* 0x12046 */ UNK_TYPE1 pad12046[0x2];
/* 0x12048 */ u8 unk12048; // EnKakasi
/* 0x12049 */ UNK_TYPE1 pad12049[0x21];
/* 0x12049 */ UNK_TYPE1 pad12049[0xB];
/* 0x12054 */ s16 unk12054; // First digit in lottery code guess
/* 0x12056 */ s16 unk12056; // Second digit lottery code guess
/* 0x12058 */ s16 unk12058; // Third digit lottery code guess
/* 0x1205A */ UNK_TYPE1 pad1205A[0x10];
/* 0x1206A */ s16 unk1206A;
/* 0x1206C */ s32 unk1206C;
/* 0x12070 */ UNK_TYPE1 pad12070[0x8];
+17 -17
View File
@@ -109,23 +109,23 @@ typedef enum {
} OcarinaButtonIdx;
typedef enum {
/* 0x0 */ NOTE_C4,
/* 0x1 */ NOTE_DFLAT4,
/* 0x2 */ NOTE_D4,
/* 0x3 */ NOTE_EFLAT4,
/* 0x4 */ NOTE_E4,
/* 0x5 */ NOTE_F4,
/* 0x6 */ NOTE_GFLAT4,
/* 0x7 */ NOTE_G4,
/* 0x8 */ NOTE_AFLAT4,
/* 0x9 */ NOTE_A4,
/* 0xA */ NOTE_BFLAT4,
/* 0xB */ NOTE_B4,
/* 0xC */ NOTE_C5,
/* 0xD */ NOTE_DFLAT5,
/* 0xE */ NOTE_D5,
/* 0xF */ NOTE_EFLAT5,
/* -1 */ NOTE_NONE = 0xFF
/* 0x0 */ OCARINA_PITCH_C4,
/* 0x1 */ OCARINA_PITCH_DFLAT4,
/* 0x2 */ OCARINA_PITCH_D4,
/* 0x3 */ OCARINA_PITCH_EFLAT4,
/* 0x4 */ OCARINA_PITCH_E4,
/* 0x5 */ OCARINA_PITCH_F4,
/* 0x6 */ OCARINA_PITCH_GFLAT4,
/* 0x7 */ OCARINA_PITCH_G4,
/* 0x8 */ OCARINA_PITCH_AFLAT4,
/* 0x9 */ OCARINA_PITCH_A4,
/* 0xA */ OCARINA_PITCH_BFLAT4,
/* 0xB */ OCARINA_PITCH_B4,
/* 0xC */ OCARINA_PITCH_C5,
/* 0xD */ OCARINA_PITCH_DFLAT5,
/* 0xE */ OCARINA_PITCH_D5,
/* 0xF */ OCARINA_PITCH_EFLAT5,
/* -1 */ OCARINA_PITCH_NONE = 0xFF
} OcarinaNoteIdx;
typedef s32 (*DmaHandler)(OSPiHandle* handle, OSIoMesg* mb, s32 direction);
+2 -1
View File
@@ -383,7 +383,8 @@ typedef enum {
/* -1 */ EXCH_ITEM_MINUS1 = -1, // Unknown usage or function
/* 0x00 */ EXCH_ITEM_NONE,
/* 0x1E */ EXCH_ITEM_1E = 0x1E, // BOTTLE_MUSHROOM
/* 0x2A */ EXCH_ITEM_2A = 0x2A // MOON_TEAR?
/* 0x2A */ EXCH_ITEM_2A = 0x2A, // MOON_TEAR?
/* 0x2E */ EXCH_ITEM_2E = 0x2E
} ExchangeItemID;
#endif
+36 -5
View File
@@ -22,7 +22,7 @@ typedef struct {
/* 0x50 */ u8 dungeonItems[10];
/* 0x5A */ s8 dungeonKeys[10];
/* 0x64 */ s8 strayFairies[10]; // "orange_fairy"
/* 0x6E */ u8 unk_6E[8][3]; // "degnuts_memory_name"
/* 0x6E */ char dekuPlaygroundPlayerName[3][8]; // Stores playerName (8 char) over (3 days) when getting a new high score. original name: degnuts_memory_name
} Inventory; // size = 0x88
typedef struct {
@@ -49,7 +49,9 @@ typedef struct {
/* 0x08 */ u32 swch1;
/* 0x0C */ u32 clearedRoom;
/* 0x10 */ u32 collectible;
} CycleSceneFlags; // size = 0x14
/* 0x14 */ u32 unk_14;
/* 0x18 */ u32 unk_18;
} PermanentSceneFlags; // size = 0x1C
typedef struct {
/* 0x00 */ u16 optionId; // original name: option_id
@@ -80,6 +82,14 @@ typedef struct {
/* 0x0026 */ s16 savedSceneNum; // "scene_data_ID"
} SavePlayerData; // size = 0x28
typedef struct {
/* 0x00 */ u32 chest;
/* 0x04 */ u32 swch0;
/* 0x08 */ u32 swch1;
/* 0x0C */ u32 clearedRoom;
/* 0x10 */ u32 collectible;
} CycleSceneFlags; // size = 0x14
typedef struct {
/* 0x0000 */ u32 entranceIndex; // "scene_no"
/* 0x0004 */ u8 equippedMask; // "player_mask"
@@ -100,7 +110,28 @@ typedef struct {
/* 0x0024 */ SavePlayerData playerData;
/* 0x004C */ ItemEquips equips;
/* 0x0070 */ Inventory inventory;
/* 0x00F8 */ u32 roomInf[128][7];
/* 0x00F8 */ PermanentSceneFlags permanentSceneFlags[120];
/* 0x0E18 */ u8 unk_E18[0x54];
/* 0x0E6C */ u32 dekuPlaygroundHighScores[3];
/* 0x0E78 */ u32 pictoFlags0;
/* 0x0E7C */ u32 pictoFlags1;
/* 0x0E80 */ u32 unk_E80;
/* 0x0E84 */ u32 unk_E84;
/* 0x0E88 */ u32 unk_E88[7]; // Invadepoh flags
/* 0x0EA4 */ u32 scenesVisible[7]; // tingle maps and clouded regions on pause map. Stores scenes bitwise for up to 224 scenes even though there are not that many scenes
/* 0x0EC0 */ u32 skullTokenCount; // upper 16 bits store Swamp skulls, lower 16 bits store Ocean skulls
/* 0x0EC4 */ u32 unk_EC4; // Gossic stone heart piece flags
/* 0x0EC8 */ u32 unk_EC8;
/* 0x0ECC */ u32 unk_ECC[2]; // Related to blue warps
/* 0x0ED4 */ u32 stolenItems; // Items stolen by Takkuri and given to Curiosity Shop Man
/* 0x0ED8 */ u32 unk_DD8;
/* 0x0EDC */ u32 bankRupees;
/* 0x0EE0 */ u32 unk_EE0;
/* 0x0EE4 */ u32 unk_EE4; // Fishing flags
/* 0x0EE8 */ u32 unk_EE8;
/* 0x0EEC */ u32 horseBackBalloonHighScore;
/* 0x0EF0 */ u32 lotteryCodeGuess; // Lottery code chosen by player (only uses lower three hex digits)
/* 0x0EF4 */ u32 unk_EF4; // Shooting Gallery Man Flags
/* 0x0EF8 */ u8 weekEventReg[100]; // "week_event_reg"
/* 0x0F5C */ u32 mapsVisited; // "area_arrival"
/* 0x0F60 */ u32 mapsVisible; // "cloud_clear"
@@ -109,7 +140,7 @@ typedef struct {
/* 0x0F66 */ u8 scarecrowsSong[128]; // "oca_rec_buff8"
/* 0x0FE6 */ s8 bombersCaughtNum; // "aikotoba_index"
/* 0x0FE7 */ s8 bombersCaughtOrder[5]; // "aikotoba_table"
/* 0x0FEC */ s8 lotteryCodes[3][3]; // "numbers_table"
/* 0x0FEC */ s8 lotteryCodes[3][3]; // Pre-set lottery codes "numbers_table"
/* 0x0FF5 */ s8 spiderHouseMaskOrder[6]; // "kinsta_color_table"
/* 0x0FFB */ s8 bomberCode[5]; // "bombers_aikotoba_table"
/* 0x1000 */ HorseData horseData;
@@ -196,7 +227,7 @@ typedef struct {
/* 0x3F5C */ s32 unk_3F5C; // "bet_rupees"
/* 0x3F60 */ u8 screenScaleFlag; // "framescale_flag"
/* 0x3F64 */ f32 screenScale; // "framescale_scale"
/* 0x3F68 */ CycleSceneFlags cycleSceneFlags[120];
/* 0x3F68 */ CycleSceneFlags cycleSceneFlags[120]; // Scene flags that are temporarily stored over the duration of a single 3-day cycle
/* 0x48C8 */ u16 unk_48C8; // "scene_id_mix"
/* 0x48CA */ u8 maskMaskBit[3]; // masks given away on the Moon
/* 0x48CD */ u8 unk_48CD[24];
+3 -5
View File
@@ -619,7 +619,7 @@ beginseg
pad_text
pad_text
pad_text
include "build/data/code/audio_data.data.o"
include "build/src/code/audio/audio_data.o"
include "build/src/code/audio/audio_synthesis.o"
include "build/data/code/audio_synthesis.data.o"
include "build/src/code/audio/audio_heap.o"
@@ -1471,8 +1471,7 @@ beginseg
name "ovl_Obj_Ice_Poly"
compress
include "build/src/overlays/actors/ovl_Obj_Ice_Poly/z_obj_ice_poly.o"
include "build/data/ovl_Obj_Ice_Poly/ovl_Obj_Ice_Poly.data.o"
include "build/data/ovl_Obj_Ice_Poly/ovl_Obj_Ice_Poly.reloc.o"
include "build/src/overlays/actors/ovl_Obj_Ice_Poly/ovl_Obj_Ice_Poly_reloc.o"
endseg
beginseg
@@ -1495,8 +1494,7 @@ beginseg
name "ovl_Obj_Bean"
compress
include "build/src/overlays/actors/ovl_Obj_Bean/z_obj_bean.o"
include "build/data/ovl_Obj_Bean/ovl_Obj_Bean.data.o"
include "build/data/ovl_Obj_Bean/ovl_Obj_Bean.reloc.o"
include "build/src/overlays/actors/ovl_Obj_Bean/ovl_Obj_Bean_reloc.o"
endseg
beginseg
File diff suppressed because it is too large Load Diff
+399 -229
View File
File diff suppressed because it is too large Load Diff
+19 -21
View File
@@ -1,4 +1,5 @@
#include "global.h"
#include "interface/parameter_static/parameter_static.h"
static s16 sHeartsPrimColors[3][3] = { { 255, 70, 50 }, { 255, 190, 0 }, { 100, 100, 255 } };
static s16 sHeartsEnvColors[3][3] = { { 50, 40, 60 }, { 255, 0, 0 }, { 0, 0, 255 } };
@@ -14,24 +15,21 @@ s16 sBeatingHeartsDDEnv[3];
s16 sHeartsDDPrim[2][3];
s16 sHeartsDDEnv[2][3];
extern TexturePtr D_02000000; // Empty heart texture
extern TexturePtr D_02000100; // Quarter Heart Texture
extern TexturePtr D_02000200; // Half Heart Texture
extern TexturePtr D_02000300; // Three Quarter Heart Texture
extern TexturePtr D_02000400; // Full heart texture
extern TexturePtr D_02000500; // Empty Double Defense Heart texture
extern TexturePtr D_02000600; // Quarter Double Defense Heart Texture
extern TexturePtr D_02000700; // Half Double Defense Heart Texture
extern TexturePtr D_02000800; // Three Quarter Double Defense Heart Texture
extern TexturePtr D_02000900; // Full Double Defense Heart texture
TexturePtr HeartTextures[] = {
gHeartFullTex, gHeartQuarterTex, gHeartQuarterTex, gHeartQuarterTex,
gHeartQuarterTex, gHeartQuarterTex, gHeartHalfTex, gHeartHalfTex,
gHeartHalfTex, gHeartHalfTex, gHeartHalfTex, gHeartThreeQuarterTex,
gHeartThreeQuarterTex, gHeartThreeQuarterTex, gHeartThreeQuarterTex, gHeartThreeQuarterTex,
};
TexturePtr HeartTextures[] = { &D_02000400, &D_02000100, &D_02000100, &D_02000100, &D_02000100, &D_02000100,
&D_02000200, &D_02000200, &D_02000200, &D_02000200, &D_02000200, &D_02000300,
&D_02000300, &D_02000300, &D_02000300, &D_02000300 };
TexturePtr HeartDDTextures[] = { &D_02000900, &D_02000600, &D_02000600, &D_02000600, &D_02000600, &D_02000600,
&D_02000700, &D_02000700, &D_02000700, &D_02000700, &D_02000700, &D_02000800,
&D_02000800, &D_02000800, &D_02000800, &D_02000800 };
TexturePtr HeartDDTextures[] = {
gDefenseHeartFullTex, gDefenseHeartQuarterTex, gDefenseHeartQuarterTex,
gDefenseHeartQuarterTex, gDefenseHeartQuarterTex, gDefenseHeartQuarterTex,
gDefenseHeartHalfTex, gDefenseHeartHalfTex, gDefenseHeartHalfTex,
gDefenseHeartHalfTex, gDefenseHeartHalfTex, gDefenseHeartThreeQuarterTex,
gDefenseHeartThreeQuarterTex, gDefenseHeartThreeQuarterTex, gDefenseHeartThreeQuarterTex,
gDefenseHeartThreeQuarterTex,
};
void LifeMeter_Init(GlobalContext* globalCtx) {
InterfaceContext* interfaceCtx = &globalCtx->interfaceCtx;
@@ -276,11 +274,11 @@ void LifeMeter_Draw(GlobalContext* globalCtx) {
}
if (i < fullHeartCount) {
heartTex = &D_02000400;
heartTex = gHeartFullTex;
} else if (i == fullHeartCount) {
heartTex = HeartTextures[fractionHeartCount];
} else {
heartTex = &D_02000000;
heartTex = gHeartEmptyTex;
}
} else {
if (i < fullHeartCount) {
@@ -316,11 +314,11 @@ void LifeMeter_Draw(GlobalContext* globalCtx) {
gDPSetEnvColor(OVERLAY_DISP++, sHeartsDDEnv[1][0], sHeartsDDEnv[1][1], sHeartsDDEnv[1][2], 255);
}
if (i < fullHeartCount) {
heartTex = &D_02000900;
heartTex = gDefenseHeartFullTex;
} else if (i == fullHeartCount) {
heartTex = HeartDDTextures[fractionHeartCount];
} else {
heartTex = &D_02000500;
heartTex = gDefenseHeartEmptyTex;
}
}
+8 -8
View File
@@ -603,11 +603,11 @@ void Interface_NewDay(GlobalContext* globalCtx, s32 day) {
// i is used to store sceneId
for (i = 0; i < 120; i++) {
gSaveContext.save.roomInf[i][0] = gSaveContext.cycleSceneFlags[i].chest;
gSaveContext.save.roomInf[i][1] = gSaveContext.cycleSceneFlags[i].swch0;
gSaveContext.save.roomInf[i][2] = gSaveContext.cycleSceneFlags[i].swch1;
gSaveContext.save.roomInf[i][3] = gSaveContext.cycleSceneFlags[i].clearedRoom;
gSaveContext.save.roomInf[i][4] = gSaveContext.cycleSceneFlags[i].collectible;
gSaveContext.cycleSceneFlags[i].chest = gSaveContext.cycleSceneFlags[i].chest;
gSaveContext.cycleSceneFlags[i].swch0 = gSaveContext.cycleSceneFlags[i].swch0;
gSaveContext.cycleSceneFlags[i].swch1 = gSaveContext.cycleSceneFlags[i].swch1;
gSaveContext.cycleSceneFlags[i].clearedRoom = gSaveContext.cycleSceneFlags[i].clearedRoom;
gSaveContext.cycleSceneFlags[i].collectible = gSaveContext.cycleSceneFlags[i].collectible;
}
}
@@ -2493,8 +2493,8 @@ void Interface_DrawClock(GlobalContext* globalCtx) {
OPEN_DISPS(globalCtx->state.gfxCtx);
if (REG(15) != 0) {
if ((msgCtx->unk11F22 == 0) || ((globalCtx->actorCtx.unk5 & 2) && !func_801690CC(globalCtx)) ||
(msgCtx->unk11F22 == 0) || ((msgCtx->unk11F04 >= 0x100) && (msgCtx->unk11F04 <= 0x200)) ||
if ((msgCtx->msgMode == 0) || ((globalCtx->actorCtx.unk5 & 2) && !func_801690CC(globalCtx)) ||
(msgCtx->msgMode == 0) || ((msgCtx->unk11F04 >= 0x100) && (msgCtx->unk11F04 <= 0x200)) ||
(gSaveContext.gameMode == 3)) {
if (FrameAdvance_IsEnabled(globalCtx) == 0) {
if (func_800FE4A8() == 0) {
@@ -3919,7 +3919,7 @@ void Interface_Update(GlobalContext* globalCtx) {
interfaceCtx->unk_218 = -15700.0f;
interfaceCtx->unk_210 = 2;
if ((msgCtx->unk11F22 != 0) && (msgCtx->unk12006 == 0x26)) {
if ((msgCtx->msgMode != 0) && (msgCtx->unk12006 == 0x26)) {
gGameInfo->data[0x55F] = -14;
} else {
gGameInfo->data[0x55F] = 0;
+1 -1
View File
@@ -113,7 +113,7 @@ void func_801229FC(Player* player) {
#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80123C58.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80123C90.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/Player_SetEquipmentData.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80123D50.s")
+11 -8
View File
@@ -411,14 +411,17 @@ void Scene_HeaderCmdTimeSettings(GlobalContext* globalCtx, SceneCmd* cmd) {
if (globalCtx->envCtx.timeIncrement == 0 && gSaveContext.save.cutscene < 0xFFF0) {
gSaveContext.environmentTime = gSaveContext.save.time;
if (gSaveContext.environmentTime >= 0x2AAA && gSaveContext.environmentTime < 0x4555) {
gSaveContext.environmentTime = 0x3555;
} else if (gSaveContext.environmentTime >= 0x4555 && gSaveContext.environmentTime < 0x5555) {
gSaveContext.environmentTime = 0x5555;
} else if (gSaveContext.environmentTime >= 0xAAAA && gSaveContext.environmentTime < 0xB555) {
gSaveContext.environmentTime = 0xB555;
} else if (gSaveContext.environmentTime >= 0xC000 && gSaveContext.environmentTime < 0xCAAA) {
gSaveContext.environmentTime = 0xCAAA;
if (gSaveContext.environmentTime >= CLOCK_TIME(4, 0) && gSaveContext.environmentTime < CLOCK_TIME(6, 30)) {
gSaveContext.environmentTime = CLOCK_TIME(5, 0);
} else if (gSaveContext.environmentTime >= CLOCK_TIME(6, 30) &&
gSaveContext.environmentTime < CLOCK_TIME(8, 0)) {
gSaveContext.environmentTime = CLOCK_TIME(8, 0);
} else if (gSaveContext.environmentTime >= CLOCK_TIME(16, 0) &&
gSaveContext.environmentTime < CLOCK_TIME(17, 0)) {
gSaveContext.environmentTime = CLOCK_TIME(17, 0);
} else if (gSaveContext.environmentTime >= CLOCK_TIME(18, 0) &&
gSaveContext.environmentTime < CLOCK_TIME(19, 0)) {
gSaveContext.environmentTime = CLOCK_TIME(19, 0);
}
}
}
+19 -19
View File
@@ -12,8 +12,8 @@ s32 func_8013A240(GlobalContext* globalCtx) {
s32 seen;
s32 count = 0;
gSaveContext.save.roomInf[123][3] = 0;
gSaveContext.save.roomInf[123][4] = 0;
gSaveContext.save.pictoFlags0 = 0;
gSaveContext.save.pictoFlags1 = 0;
if (globalCtx->sceneNum == SCENE_20SICHITAI) {
func_8013A41C(1);
@@ -76,19 +76,19 @@ s32 func_8013A240(GlobalContext* globalCtx) {
void func_8013A41C(s32 flag) {
if (flag < 0x20) {
gSaveContext.save.roomInf[123][3] |= (1 << flag);
gSaveContext.save.pictoFlags0 |= (1 << flag);
} else {
flag &= 0x1F;
gSaveContext.save.roomInf[123][4] |= (1 << flag);
gSaveContext.save.pictoFlags1 |= (1 << flag);
}
}
void func_8013A46C(s32 flag) {
if (flag < 0x20) {
gSaveContext.save.roomInf[123][3] &= ~(1 << flag);
gSaveContext.save.pictoFlags0 &= ~(1 << flag);
} else {
flag &= 0x1F;
gSaveContext.save.roomInf[123][4] &= ~(1 << flag);
gSaveContext.save.pictoFlags1 &= ~(1 << flag);
}
}
@@ -96,10 +96,10 @@ u32 func_8013A4C4(s32 flag) {
SaveContext* saveCtx = &gSaveContext;
if (flag < 0x20) {
return saveCtx->save.roomInf[123][3] & (1 << flag);
return saveCtx->save.pictoFlags0 & (1 << flag);
} else {
flag &= 0x1F;
return saveCtx->save.roomInf[123][4] & (1 << flag);
return saveCtx->save.pictoFlags1 & (1 << flag);
}
}
@@ -123,36 +123,36 @@ s32 func_8013A530(GlobalContext* globalCtx, Actor* actor, s32 flag, Vec3f* pos,
distance = OLib_Vec3fDist(pos, &camera->eye);
if ((distance < distanceMin) || (distanceMax < distance)) {
func_8013A41C(0x3f);
ret = 0x3f;
func_8013A41C(0x3F);
ret = 0x3F;
}
x = func_8013A504(func_800DFCB4(camera) + rot->x);
y = func_8013A504(func_800DFCDC(camera) - (s16)(rot->y - 0x7FFF));
if ((0 < angleError) && ((angleError < x) || (angleError < y))) {
func_8013A41C(0x3e);
ret |= 0x3e;
func_8013A41C(0x3E);
ret |= 0x3E;
}
Actor_GetProjectedPos(globalCtx, pos, &screenSpace, &distance);
x = (s16)(screenSpace.x * distance * 160.0f + 160.0f) - 85;
y = (s16)(screenSpace.y * distance * -120.0f + 120.0f) - 67;
if ((x < 0) || (0x96 < x) || (y < 0) || (0x69 < y)) {
func_8013A41C(0x3d);
ret |= 0x3d;
func_8013A41C(0x3D);
ret |= 0x3D;
}
if (BgCheck_ProjectileLineTest(&globalCtx->colCtx, pos, &camera->eye, &screenSpace, &poly, true, true, true, true,
&bgId)) {
func_8013A41C(0x3c);
ret |= 0x3c;
func_8013A41C(0x3C);
ret |= 0x3C;
}
actors[0] = actor;
actors[1] = &GET_PLAYER(globalCtx)->actor;
if (CollisionCheck_LineOCCheck(globalCtx, &globalCtx->colChkCtx, pos, &camera->eye, actors, 2) != 0) {
func_8013A41C(0x3b);
ret |= 0x3b;
if (CollisionCheck_LineOCCheck(globalCtx, &globalCtx->colChkCtx, pos, &camera->eye, actors, 2)) {
func_8013A41C(0x3B);
ret |= 0x3B;
}
if (ret == 0) {
@@ -178,7 +178,7 @@ void ArrowIce_Fly(ArrowIce* this, GlobalContext* globalCtx) {
void ArrowIce_Update(Actor* thisx, GlobalContext* globalCtx) {
ArrowIce* this = THIS;
if ((globalCtx->msgCtx.unk11F22 == 0xE) || (globalCtx->msgCtx.unk11F22 == 0x12)) {
if ((globalCtx->msgCtx.msgMode == 0xE) || (globalCtx->msgCtx.msgMode == 0x12)) {
Actor_MarkForDeath(&this->actor);
return;
} else {
+1 -1
View File
@@ -1530,7 +1530,7 @@ void DmStk_Update(Actor* thisx, GlobalContext* globalCtx) {
break;
}
if ((globalCtx->actorCtx.unk5 & 2) && (globalCtx->msgCtx.unk11F22 != 0) &&
if ((globalCtx->actorCtx.unk5 & 2) && (globalCtx->msgCtx.msgMode != 0) &&
(globalCtx->msgCtx.unk11F04 == 0x5E6) && !FrameAdvance_IsEnabled(globalCtx) &&
(globalCtx->sceneLoadFlag == 0) && (ActorCutscene_GetCurrentIndex() == -1) &&
(globalCtx->csCtx.state == 0)) {
@@ -552,28 +552,27 @@ void func_808B9CE8(DoorWarp1* this, GlobalContext* globalCtx) {
switch (globalCtx->sceneNum) {
case SCENE_MITURIN_BS:
gSaveContext.save.roomInf[126][3] = (((void)0, gSaveContext.save.roomInf[126][3]) & 0xFFFFFF00) |
(((u8)gSaveContext.save.roomInf[126][4]) & 0xFF);
gSaveContext.save.unk_ECC[0] =
(((void)0, gSaveContext.save.unk_ECC[0]) & 0xFFFFFF00) | (((u8)gSaveContext.save.unk_ECC[1]) & 0xFF);
break;
case SCENE_HAKUGIN_BS:
gSaveContext.save.roomInf[126][3] = (((void)0, gSaveContext.save.roomInf[126][3]) & 0xFFFF00FF) |
((((u8)gSaveContext.save.roomInf[126][4]) & 0xFF) << 8);
gSaveContext.save.unk_ECC[0] =
(((void)0, gSaveContext.save.unk_ECC[0]) & 0xFFFF00FF) | ((((u8)gSaveContext.save.unk_ECC[1]) & 0xFF) << 8);
break;
case SCENE_INISIE_BS:
gSaveContext.save.roomInf[126][3] = (((void)0, gSaveContext.save.roomInf[126][3]) & 0xFF00FFFF) |
((((u8)gSaveContext.save.roomInf[126][4]) & 0xFF) << 0x10);
gSaveContext.save.unk_ECC[0] =
(((void)0, gSaveContext.save.unk_ECC[0]) & 0xFF00FFFF) | ((((u8)gSaveContext.save.unk_ECC[1]) & 0xFF) << 0x10);
break;
case SCENE_SEA_BS:
gSaveContext.save.roomInf[126][3] = (((void)0, gSaveContext.save.roomInf[126][3]) & 0x00FFFFFF) |
((((u8)gSaveContext.save.roomInf[126][4]) & 0xFF) << 0x18);
gSaveContext.save.unk_ECC[0] =
(((void)0, gSaveContext.save.unk_ECC[0]) & 0x00FFFFFF) | ((((u8)gSaveContext.save.unk_ECC[1]) & 0xFF) << 0x18);
break;
}
gSaveContext.save.roomInf[126][4] =
(gSaveContext.save.roomInf[126][4] & 0xFFFFFF00) | ((((u8)gSaveContext.save.roomInf[126][4]) + 1) & 0xFF);
gSaveContext.save.unk_ECC[1] = (gSaveContext.save.unk_ECC[1] & 0xFFFFFF00) | ((((u8)gSaveContext.save.unk_ECC[1]) + 1) & 0xFF);
Item_Give(globalCtx, func_808B849C(this, globalCtx) + (ITEM_REMAINS_ODOLWA - 1));
DoorWarp1_SetupAction(this, func_808B9E94);
}
@@ -656,19 +655,19 @@ void func_808BA10C(DoorWarp1* this, GlobalContext* globalCtx) {
switch (phi_v0_2) {
case 0:
phi_a0 = gSaveContext.save.roomInf[126][3] & 0xFF;
phi_a0 = gSaveContext.save.unk_ECC[0] & 0xFF;
break;
case 1:
phi_a0 = (gSaveContext.save.roomInf[126][3] & 0xFF00) >> 8;
phi_a0 = (gSaveContext.save.unk_ECC[0] & 0xFF00) >> 8;
break;
case 2:
phi_a0 = (gSaveContext.save.roomInf[126][3] & 0xFF0000) >> 0x10;
phi_a0 = (gSaveContext.save.unk_ECC[0] & 0xFF0000) >> 0x10;
break;
case 3:
phi_a0 = (gSaveContext.save.roomInf[126][3] & 0xFF000000) >> 0x18;
phi_a0 = (gSaveContext.save.unk_ECC[0] & 0xFF000000) >> 0x18;
break;
default:
@@ -414,7 +414,7 @@ void func_80BED3BC(EnAkindonuts* this, GlobalContext* globalCtx) {
func_8019F208();
this->unk_32C &= ~0x1;
this->unk_32C |= 0x40;
globalCtx->msgCtx.unk11F22 = 0x43;
globalCtx->msgCtx.msgMode = 0x43;
globalCtx->msgCtx.unk12023 = 4;
this->unk_33C = 0x15EF;
this->actionFunc = func_80BEF360;
@@ -497,7 +497,7 @@ void func_80BED680(EnAkindonuts* this, GlobalContext* globalCtx) {
func_8019F208();
this->unk_32C |= 0x40;
this->unk_32C &= ~0x1;
globalCtx->msgCtx.unk11F22 = 0x43;
globalCtx->msgCtx.msgMode = 0x43;
globalCtx->msgCtx.unk12023 = 4;
this->unk_33C = 0x15EF;
this->actionFunc = func_80BEF360;
@@ -592,7 +592,7 @@ void func_80BED8A4(EnAkindonuts* this, GlobalContext* globalCtx) {
func_8019F208();
this->unk_32C |= 0x40;
this->unk_32C &= ~0x1;
globalCtx->msgCtx.unk11F22 = 0x43;
globalCtx->msgCtx.msgMode = 0x43;
globalCtx->msgCtx.unk12023 = 4;
this->unk_33C = 0x15EF;
this->actionFunc = func_80BEF360;
@@ -675,7 +675,7 @@ void func_80BEDB88(EnAkindonuts* this, GlobalContext* globalCtx) {
func_8019F208();
this->unk_32C |= 0x40;
this->unk_32C &= ~0x1;
globalCtx->msgCtx.unk11F22 = 0x43;
globalCtx->msgCtx.msgMode = 0x43;
globalCtx->msgCtx.unk12023 = 4;
this->unk_33C = 0x15EF;
this->actionFunc = func_80BEF360;
@@ -765,7 +765,7 @@ void func_80BEDDAC(EnAkindonuts* this, GlobalContext* globalCtx) {
func_8019F208();
this->unk_32C |= 0x40;
this->unk_32C &= ~0x1;
globalCtx->msgCtx.unk11F22 = 0x43;
globalCtx->msgCtx.msgMode = 0x43;
globalCtx->msgCtx.unk12023 = 4;
this->unk_33C = 0x15EF;
this->actionFunc = func_80BEF360;
@@ -843,7 +843,7 @@ void func_80BEE070(EnAkindonuts* this, GlobalContext* globalCtx) {
func_8019F208();
this->unk_32C |= 0x40;
this->unk_32C &= ~0x1;
globalCtx->msgCtx.unk11F22 = 0x43;
globalCtx->msgCtx.msgMode = 0x43;
globalCtx->msgCtx.unk12023 = 4;
this->unk_33C = 0x161A;
this->actionFunc = func_80BEF360;
@@ -926,7 +926,7 @@ void func_80BEE274(EnAkindonuts* this, GlobalContext* globalCtx) {
func_8019F208();
this->unk_32C |= 0x40;
this->unk_32C &= ~0x1;
globalCtx->msgCtx.unk11F22 = 0x43;
globalCtx->msgCtx.msgMode = 0x43;
globalCtx->msgCtx.unk12023 = 4;
this->unk_33C = 0x1629;
this->actionFunc = func_80BEF360;
@@ -1004,7 +1004,7 @@ void func_80BEE530(EnAkindonuts* this, GlobalContext* globalCtx) {
func_8019F208();
this->unk_32C |= 0x40;
this->unk_32C &= ~0x1;
globalCtx->msgCtx.unk11F22 = 0x43;
globalCtx->msgCtx.msgMode = 0x43;
globalCtx->msgCtx.unk12023 = 4;
this->unk_33C = 0x15EF;
this->actionFunc = func_80BEF360;
@@ -1235,7 +1235,7 @@ void func_80BEEFA8(EnAkindonuts* this, GlobalContext* globalCtx) {
if (func_80147624(globalCtx)) {
if (this->unk_32C & 1) {
this->unk_32C &= ~0x1;
globalCtx->msgCtx.unk11F22 = 0x43;
globalCtx->msgCtx.msgMode = 0x43;
globalCtx->msgCtx.unk12023 = 4;
this->unk_33C = 0;
this->actionFunc = func_80BEEE10;
@@ -1243,7 +1243,7 @@ void func_80BEEFA8(EnAkindonuts* this, GlobalContext* globalCtx) {
this->unk_32C &= ~0x20;
this->actor.flags &= ~1;
this->unk_32C &= ~0x4;
globalCtx->msgCtx.unk11F22 = 0x43;
globalCtx->msgCtx.msgMode = 0x43;
globalCtx->msgCtx.unk12023 = 4;
this->unk_338 = 8;
this->unk_33C = 0;
@@ -1275,7 +1275,7 @@ void func_80BEEFA8(EnAkindonuts* this, GlobalContext* globalCtx) {
void func_80BEF18C(EnAkindonuts* this, GlobalContext* globalCtx) {
if ((Message_GetState(&globalCtx->msgCtx) == 5) && func_80147624(globalCtx)) {
globalCtx->msgCtx.unk11F22 = 0x43;
globalCtx->msgCtx.msgMode = 0x43;
globalCtx->msgCtx.unk12023 = 4;
this->unk_33C = 0;
this->actionFunc = func_80BEEE10;
@@ -1302,7 +1302,7 @@ void func_80BEF20C(EnAkindonuts* this, GlobalContext* globalCtx) {
if ((sp27 == 5) && func_80147624(globalCtx)) {
if (this->unk_32C & 1) {
this->unk_32C &= ~0x1;
globalCtx->msgCtx.unk11F22 = 0x43;
globalCtx->msgCtx.msgMode = 0x43;
globalCtx->msgCtx.unk12023 = 4;
this->actionFunc = func_80BEF360;
} else {
@@ -394,7 +394,7 @@ void func_809C16DC(EnAob01* this, GlobalContext* globalCtx) {
this->unk_2D2 &= ~2;
Rupees_ChangeBy(-this->unk_434);
func_800B7298(globalCtx, NULL, 7);
globalCtx->msgCtx.unk11F22 = 0x43;
globalCtx->msgCtx.msgMode = 0x43;
globalCtx->msgCtx.unk12023 = 4;
this->actionFunc = func_809C1C9C;
return;
@@ -455,7 +455,7 @@ void func_809C1D64(EnAob01* this, GlobalContext* globalCtx) {
}
}
} else if ((temp_v0 == 5) && func_80147624(globalCtx)) {
globalCtx->msgCtx.unk11F22 = 0x43;
globalCtx->msgCtx.msgMode = 0x43;
globalCtx->msgCtx.unk12023 = 4;
this->unk_210 = 0;
this->actionFunc = func_809C2060;
@@ -578,7 +578,7 @@ void func_809C21E0(EnAob01* this, GlobalContext* globalCtx) {
this->unk_2D2 &= ~0x40;
if (this->unk_2D2 & 0x10) {
this->unk_2D2 &= ~0x10;
globalCtx->msgCtx.unk11F22 = 0x43;
globalCtx->msgCtx.msgMode = 0x43;
globalCtx->msgCtx.unk12023 = 4;
this->actionFunc = func_809C2060;
} else {
@@ -748,7 +748,7 @@ void func_809C2A64(EnAob01* this, GlobalContext* globalCtx) {
if (func_809C15BC(this)) {
if ((sp2F == 5) && func_80147624(globalCtx)) {
this->unk_434 = 0;
globalCtx->msgCtx.unk11F22 = 0x43;
globalCtx->msgCtx.msgMode = 0x43;
globalCtx->msgCtx.unk12023 = 4;
}

Some files were not shown because too many files have changed in this diff Show More