Goht collab (#9)

* Animation Cleanup: En_G* (#1395)

* wip

* more cleanup

* more cleanup

* one more thing

* one more default case

* missed brackets

* PR Review

* z_message_nes (1 NON_MATCHING) (#1394)

* Bring over progress

* Some docs

* scratch urls + format

* Fixes

* Match Message_DrawTextNES

* String macros

* color structs

* Document object_mk (#1389)

* Updated object_mk animation, limb, and skeleton names

* Updated object_mk texture and DList names

* Added comment to object_mk.xml

* Remove "ing" from Anim names

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update z_en_mk.c to not use "ing" in names

* Running formatter

---------

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Player Docs: Initial framework for "Action Change Lists" (#1397)

* copy fig docs

* adjust wording

* another fix

* fix bool

* PR Suggestion

* Animation Cleanup: En_H* (#1399)

* begin H

* more cleanup

* Animation Cleanup: En_I* (#1400)

* cleanup I

* oops

* Start Player Item Docs (#1396)

* Copy Fig Docs

* small cleanup

* ItemChangeType comment

* bool

* item change comments

* PR Review

* rm comments

* Animation Cleanup: En_K* (#1402)

* cleanup k

* one more name

* Animation Cleanup: En_J* (#1401)

* cleanup J

* small fix

* functions

---------

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
Co-authored-by: Zach North <zrnorth@gmail.com>
Co-authored-by: petrie911 <pmontag@Monday.localdomain>
This commit is contained in:
petrie911
2023-10-03 15:03:13 -05:00
committed by GitHub
co-authored by engineer124 Derek Hensley Zach North petrie911
parent c6bd63e1b9
commit 70d467146d
71 changed files with 4266 additions and 1451 deletions
+42 -41
View File
@@ -1,45 +1,46 @@
<Root>
<!-- Assets for the Marine Researcher -->
<File Name="object_mk" Segment="6">
<Animation Name="object_mk_Anim_000438" Offset="0x438" />
<Animation Name="object_mk_Anim_0007D8" Offset="0x7D8" />
<Animation Name="object_mk_Anim_0010F4" Offset="0x10F4" />
<Animation Name="object_mk_Anim_001964" Offset="0x1964" />
<Animation Name="object_mk_Anim_001C38" Offset="0x1C38" />
<DList Name="object_mk_DL_004320" Offset="0x4320" />
<DList Name="object_mk_DL_004610" Offset="0x4610" />
<DList Name="object_mk_DL_004960" Offset="0x4960" />
<DList Name="object_mk_DL_004A78" Offset="0x4A78" />
<DList Name="object_mk_DL_005180" Offset="0x5180" />
<DList Name="object_mk_DL_005500" Offset="0x5500" />
<DList Name="object_mk_DL_005630" Offset="0x5630" />
<DList Name="object_mk_DL_005760" Offset="0x5760" />
<DList Name="object_mk_DL_0058B0" Offset="0x58B0" />
<DList Name="object_mk_DL_0059E0" Offset="0x59E0" />
<DList Name="object_mk_DL_005B10" Offset="0x5B10" />
<DList Name="object_mk_DL_005C60" Offset="0x5C60" />
<Texture Name="object_mk_TLUT_005DE0" OutName="tlut_005DE0" Format="rgba16" Width="16" Height="16" Offset="0x5DE0" />
<Texture Name="object_mk_Tex_005FE0" OutName="tex_005FE0" Format="ci8" Width="8" Height="8" Offset="0x5FE0" />
<Texture Name="object_mk_Tex_006020" OutName="tex_006020" Format="ci8" Width="16" Height="16" Offset="0x6020" />
<Texture Name="object_mk_Tex_006120" OutName="tex_006120" Format="ci8" Width="8" Height="8" Offset="0x6120" />
<Texture Name="object_mk_Tex_006160" OutName="tex_006160" Format="ci8" Width="8" Height="8" Offset="0x6160" />
<Texture Name="object_mk_Tex_0061A0" OutName="tex_0061A0" Format="ci8" Width="8" Height="16" Offset="0x61A0" />
<Texture Name="object_mk_Tex_006220" OutName="tex_006220" Format="rgba16" Width="32" Height="32" Offset="0x6220" />
<Texture Name="object_mk_Tex_006A20" OutName="tex_006A20" Format="ci8" Width="8" Height="8" Offset="0x6A20" />
<Texture Name="object_mk_Tex_006A60" OutName="tex_006A60" Format="ci8" Width="8" Height="8" Offset="0x6A60" />
<Texture Name="object_mk_Tex_006AA0" OutName="tex_006AA0" Format="ci8" Width="8" Height="8" Offset="0x6AA0" />
<Texture Name="object_mk_Tex_006AE0" OutName="tex_006AE0" Format="ci8" Width="16" Height="16" Offset="0x6AE0" />
<Limb Name="object_mk_Standardlimb_006BE0" Type="Standard" EnumName="OBJECT_MK_LIMB_01" Offset="0x6BE0" />
<Limb Name="object_mk_Standardlimb_006BEC" Type="Standard" EnumName="OBJECT_MK_LIMB_02" Offset="0x6BEC" />
<Limb Name="object_mk_Standardlimb_006BF8" Type="Standard" EnumName="OBJECT_MK_LIMB_03" Offset="0x6BF8" />
<Limb Name="object_mk_Standardlimb_006C04" Type="Standard" EnumName="OBJECT_MK_LIMB_04" Offset="0x6C04" />
<Limb Name="object_mk_Standardlimb_006C10" Type="Standard" EnumName="OBJECT_MK_LIMB_05" Offset="0x6C10" />
<Limb Name="object_mk_Standardlimb_006C1C" Type="Standard" EnumName="OBJECT_MK_LIMB_06" Offset="0x6C1C" />
<Limb Name="object_mk_Standardlimb_006C28" Type="Standard" EnumName="OBJECT_MK_LIMB_07" Offset="0x6C28" />
<Limb Name="object_mk_Standardlimb_006C34" Type="Standard" EnumName="OBJECT_MK_LIMB_08" Offset="0x6C34" />
<Limb Name="object_mk_Standardlimb_006C40" Type="Standard" EnumName="OBJECT_MK_LIMB_09" Offset="0x6C40" />
<Limb Name="object_mk_Standardlimb_006C4C" Type="Standard" EnumName="OBJECT_MK_LIMB_0A" Offset="0x6C4C" />
<Limb Name="object_mk_Standardlimb_006C58" Type="Standard" EnumName="OBJECT_MK_LIMB_0B" Offset="0x6C58" />
<Limb Name="object_mk_Standardlimb_006C64" Type="Standard" EnumName="OBJECT_MK_LIMB_0C" Offset="0x6C64" />
<Skeleton Name="object_mk_Skel_006CA0" Type="Flex" LimbType="Standard" LimbNone="OBJECT_MK_LIMB_NONE" LimbMax="OBJECT_MK_LIMB_MAX" EnumName="ObjectMkLimb" Offset="0x6CA0" />
<Animation Name="gMarineResearcherHeadWaggleAnim" Offset="0x438" />
<Animation Name="gMarineResearcherYellAnim" Offset="0x7D8" />
<Animation Name="gMarineResearcherShakeInFearAnim" Offset="0x10F4" />
<Animation Name="gMarineResearcherStrokeChinAnim" Offset="0x1964" />
<Animation Name="gMarineResearcherIdleAnim" Offset="0x1C38" />
<DList Name="gMarineResearcherMidTorsoDL" Offset="0x4320" />
<DList Name="gMarineResearcherUpperTorsoDL" Offset="0x4610" />
<DList Name="gMarineResearcherNeckDL" Offset="0x4960" />
<DList Name="gMarineResearcherHeadDL" Offset="0x4A78" />
<DList Name="gMarineResearcherMouthDL" Offset="0x5180" />
<DList Name="gMarineResearcherRightShoulderDL" Offset="0x5500" />
<DList Name="gMarineResearcherRightArmDL" Offset="0x5630" />
<DList Name="gMarineResearcherRightHandDL" Offset="0x5760" />
<DList Name="gMarineResearcherLeftShoulderDL" Offset="0x58B0" />
<DList Name="gMarineResearcherLeftArmDL" Offset="0x59E0" />
<DList Name="gMarineResearcherLeftHandDL" Offset="0x5B10" />
<DList Name="gMarineResearcherLowerTorsoDL" Offset="0x5C60" />
<Texture Name="gMarineResearcherTLUT" OutName="marine_researcher_tlut" Format="rgba16" Width="16" Height="16" Offset="0x5DE0" />
<Texture Name="gMarineResearcherChestSkinTex" OutName="marine_researcher_chest_skin" Format="ci8" Width="8" Height="8" Offset="0x5FE0" />
<Texture Name="gMarineResearcherMouthTex" OutName="marine_researcher_mouth" Format="ci8" Width="16" Height="16" Offset="0x6020" />
<Texture Name="gMarineResearcherLipsTex" OutName="marine_researcher_lips" Format="ci8" Width="8" Height="8" Offset="0x6120" />
<Texture Name="gMarineResearcherJacketTex" OutName="marine_researcher_jacket" Format="ci8" Width="8" Height="8" Offset="0x6160" />
<Texture Name="gMarineResearcherHairTex" OutName="marine_researcher_hair" Format="ci8" Width="8" Height="16" Offset="0x61A0" />
<Texture Name="gMarineResearcherEyeTex" OutName="marine_researcher_eye" Format="rgba16" Width="32" Height="32" Offset="0x6220" />
<Texture Name="gMarineResearcherNostrilTex" OutName="marine_researcher_nostril" Format="ci8" Width="8" Height="8" Offset="0x6A20" />
<Texture Name="gMarineResearcherEarTex" OutName="marine_researcher_ear" Format="ci8" Width="8" Height="8" Offset="0x6A60" />
<Texture Name="gMarineResearcherShirtTex" OutName="marine_researcher_shirt" Format="ci8" Width="8" Height="8" Offset="0x6AA0" />
<Texture Name="gMarineResearcherFingersTex" OutName="marine_researcher_fingers" Format="ci8" Width="16" Height="16" Offset="0x6AE0" />
<Limb Name="gMarineResearcherLowerTorsoLimb" Type="Standard" EnumName="MARINE_RESEARCHER_LIMB_LOWER_TORSO" Offset="0x6BE0" />
<Limb Name="gMarineResearcherMidTorsoLimb" Type="Standard" EnumName="MARINE_RESEARCHER_LIMB_MID_TORSO" Offset="0x6BEC" />
<Limb Name="gMarineResearcherLeftShoulderLimb" Type="Standard" EnumName="MARINE_RESEARCHER_LIMB_LEFT_SHOULDER" Offset="0x6BF8" />
<Limb Name="gMarineResearcherLeftArmLimb" Type="Standard" EnumName="MARINE_RESEARCHER_LIMB_LEFT_ARM" Offset="0x6C04" />
<Limb Name="gMarineResearcherLeftHandLimb" Type="Standard" EnumName="MARINE_RESEARCHER_LIMB_LEFT_HAND" Offset="0x6C10" />
<Limb Name="gMarineResearcherRightShoulderLimb" Type="Standard" EnumName="MARINE_RESEARCHER_LIMB_RIGHT_SHOULDER" Offset="0x6C1C" />
<Limb Name="gMarineResearcherRightArmLimb" Type="Standard" EnumName="MARINE_RESEARCHER_LIMB_RIGHT_ARM" Offset="0x6C28" />
<Limb Name="gMarineResearcherRightHandLimb" Type="Standard" EnumName="MARINE_RESEARCHER_LIMB_RIGHT_HAND" Offset="0x6C34" />
<Limb Name="gMarineResearcherUpperTorsoLimb" Type="Standard" EnumName="MARINE_RESEARCHER_LIMB_UPPER_TORSO" Offset="0x6C40" />
<Limb Name="gMarineResearcherNeckLimb" Type="Standard" EnumName="MARINE_RESEARCHER_LIMB_NECK" Offset="0x6C4C" />
<Limb Name="gMarineResearcherHeadLimb" Type="Standard" EnumName="MARINE_RESEARCHER_LIMB_HEAD" Offset="0x6C58" />
<Limb Name="gMarineResearcherMouthLimb" Type="Standard" EnumName="MARINE_RESEARCHER_LIMB_MOUTH" Offset="0x6C64" />
<Skeleton Name="gMarineResearcherSkel" Type="Flex" LimbType="Standard" LimbNone="MARINE_RESEARCHER_LIMB_NONE" LimbMax="MARINE_RESEARCHER_LIMB_MAX" EnumName="MarineResearcherLimb" Offset="0x6CA0" />
</File>
</Root>
+8 -15
View File
@@ -884,7 +884,7 @@ s32 func_80123448(PlayState* play);
s32 Player_IsGoronOrDeku(Player* player);
s32 func_801234D4(PlayState* play);
s32 func_80123590(PlayState* play, Actor* actor);
ItemId func_8012364C(PlayState* play, Player* player, s32 arg2);
ItemId Player_GetItemOnButton(PlayState* play, Player* player, EquipSlot slot);
PlayerItemAction func_80123810(PlayState* play);
PlayerModelGroup Player_ActionToModelGroup(Player* player, PlayerItemAction itemAction);
void Player_SetModelsForHoldingShield(Player* player);
@@ -1009,14 +1009,14 @@ void func_80148B98(PlayState* play, u8 arg1);
void Message_DrawTextChar(PlayState* play, TexturePtr texture, Gfx** gfxP);
void func_80149C18(PlayState* play);
// void Message_FindMessage(void);
void func_80149F74(PlayState* play, u32** ppuParm2);
void Message_DrawItemIcon(PlayState* play, Gfx** gfxP);
void Message_HandleOcarina(PlayState* play);
void func_8014ADBC(PlayState* play, UNK_PTR puParm2);
void Message_LoadItemIcon(PlayState* play, u16 itemId, s16 arg2);
void Message_LoadChar(PlayState* play, u16 codePointIndex, s32* offset, f32* arg3, s16 decodedBufPos);
void Message_SetupLoadItemIcon(PlayState* play);
// void func_8014CCB4(void);
// void func_8014CDF0(void);
// void func_8014CFDC(void);
// void Message_SetupLoadItemIcon(void);
void func_8014D304(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5);
// void func_8014D62C(void);
// void func_8014D7B4(void);
@@ -1046,19 +1046,12 @@ void Message_Update(PlayState* play);
void func_801586A4(PlayState* play);
void Message_Init(PlayState* play);
void Message_FindMessageNES(PlayState* play, u16 textId);
// void Message_LoadCharNES(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5);
// void Message_LoadPluralRupeesNES(void);
// void Message_LoadLocalizedRupeesNES(void);
// void Message_LoadRupeesNES(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5);
// void Message_LoadTimeNES(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5);
// void Message_LoadOwlWarpTextNES(void);
// void func_80159438(void);
void func_8015966C(PlayState* play, UNK_PTR puParm2, UNK_TYPE arg3);
// void func_8015A144(void);
void func_8015B198(PlayState* play);
void Message_DrawTextNES(PlayState* play, Gfx** gfxP, u16 textDrawPos);
void Message_DecodeNES(PlayState* play);
void Message_FindCreditsMessage(PlayState* play, u16 textId);
void Message_FindCreditsMessage(PlayState* play, u16 textId);
void Message_DrawTextCredits(PlayState* play, Gfx** gfxP);
// void func_8015F8A8(UNK_TYPE4 ctxt);
void Message_DecodeCredits(PlayState* play);
uintptr_t KaleidoManager_FaultAddrConv(uintptr_t address, void* param);
void KaleidoManager_LoadOvl(KaleidoMgrOverlay* ovl);
+1
View File
@@ -38,6 +38,7 @@
#define DAY_LENGTH (CLOCK_TIME(24, 0))
#define TIME_TO_HOURS_F(time) ((time) * (24.0f / 0x10000))
#define TIME_TO_HOURS_F_ALT(time) (TIME_TO_MINUTES_F(time) / 60.0f)
#define TIME_TO_MINUTES_F(time) ((time) * ((24.0f * 60.0f) / 0x10000)) // 0.021972656f
#define TIME_TO_MINUTES_ALT_F(time) ((time) / (0x10000 / (24.0f * 60.0f)))
#define TIME_TO_SECONDS_F(time) ((time) * ((24.0f * 60.0f * 60.0f) / 0x10000))
+5 -5
View File
@@ -334,9 +334,9 @@ extern char D_801D039C[];
// extern UNK_TYPE1 D_801D045A;
// extern UNK_TYPE1 D_801D0462;
//extern UNK_TYPE1 D_801D0468;
// extern UNK_TYPE1 D_801D0470;
// extern char D_801D06F0[];
// extern UNK_TYPE1 D_801D0710;
// extern UNK_TYPE1 sNESFontWidths;
// extern char sRupeesTextLocalization[];
// extern UNK_TYPE1 sRupeesTextLength;
// extern char D_801D0714[];
// extern UNK_TYPE1 D_801D07C4;
// extern UNK_TYPE1 D_801D07DC;
@@ -348,8 +348,8 @@ extern char D_801D039C[];
// extern UNK_TYPE1 D_801D08CC;
// extern UNK_TYPE1 D_801D08D8;
// extern UNK_TYPE1 D_801D08E4;
// extern UNK_TYPE1 D_801D08E8;
// extern UNK_TYPE1 D_801D0900;
// extern UNK_TYPE1 sMaskCodeTextENG;
// extern UNK_TYPE1 sMaskCodeTextLengthENG;
extern KaleidoMgrOverlay gKaleidoMgrOverlayTable[2];
// extern UNK_TYPE1 D_801D0B8C;
extern KaleidoMgrOverlay* gKaleidoMgrCurOvl;
+6 -6
View File
@@ -1040,7 +1040,7 @@ typedef enum PlayerCueId {
// breman mask march?
#define PLAYER_STATE3_20000000 (1 << 29)
//
#define PLAYER_STATE3_40000000 (1 << 30)
#define PLAYER_STATE3_START_CHANGING_HELD_ITEM (1 << 30)
// TARGETING_HOSTILE?
#define PLAYER_STATE3_80000000 (1 << 31)
@@ -1095,7 +1095,7 @@ typedef struct Player {
/* 0x14B */ u8 transformation; // PlayerTransformation enum
/* 0x14C */ u8 modelGroup; // PlayerModelGroup enum
/* 0x14D */ u8 nextModelGroup;
/* 0x14E */ s8 unk_14E;
/* 0x14E */ s8 itemChangeType; // ItemChangeType enum
/* 0x14F */ u8 modelAnimType; // PlayerAnimType enum
/* 0x150 */ u8 leftHandType;
/* 0x151 */ u8 rightHandType;
@@ -1122,7 +1122,7 @@ typedef struct Player {
/* 0x238 */ OSMesg maskObjectLoadMsg;
/* 0x23C */ void* maskObjectSegment;
/* 0x240 */ SkelAnime skelAnime;
/* 0x284 */ SkelAnime unk_284;
/* 0x284 */ SkelAnime skelAnimeUpper;
/* 0x2C8 */ SkelAnime unk_2C8;
/* 0x30C */ Vec3s jointTable[5];
/* 0x32A */ Vec3s morphTable[5];
@@ -1176,8 +1176,8 @@ typedef struct Player {
/* 0x74C */ u8 jointTableBuffer[PLAYER_LIMB_BUF_SIZE];
/* 0x7EB */ u8 morphTableBuffer[PLAYER_LIMB_BUF_SIZE];
/* 0x88A */ u8 blendTableBuffer[PLAYER_LIMB_BUF_SIZE];
/* 0x929 */ u8 unk_929[PLAYER_LIMB_BUF_SIZE];
/* 0x9C8 */ u8 unk_9C8[PLAYER_LIMB_BUF_SIZE];
/* 0x929 */ u8 jointTableUpperBuffer[PLAYER_LIMB_BUF_SIZE];
/* 0x9C8 */ u8 morphTableUpperBuffer[PLAYER_LIMB_BUF_SIZE];
/* 0xA68 */ PlayerAgeProperties* ageProperties; // repurposed as "transformation properties"?
/* 0xA6C */ u32 stateFlags1;
/* 0xA70 */ u32 stateFlags2;
@@ -1206,7 +1206,7 @@ typedef struct Player {
/* 0xABC */ f32 unk_ABC;
/* 0xAC0 */ f32 unk_AC0;
/* 0xAC4 */ PlayerUpperActionFunc upperActionFunc; // Upper body/item action functions
/* 0xAC8 */ f32 unk_AC8;
/* 0xAC8 */ f32 skelAnimeUpperBlendWeight;
/* 0xACC */ s16 unk_ACC;
/* 0xACE */ s8 unk_ACE;
/* 0xACF */ u8 putAwayCountdown; // Frames to wait before showing "Put Away" on A
+14 -3
View File
@@ -154,12 +154,22 @@ typedef enum {
/* 52 */ HUD_VISIBILITY_NONE_INSTANT = 52
} HudVisibility;
// Based on sRupeesTextLocalization
typedef enum Language {
/* 0 */ LANGUAGE_JPN,
/* 1 */ LANGUAGE_ENG,
/* 2 */ LANGUAGE_GER,
/* 3 */ LANGUAGE_FRE,
/* 4 */ LANGUAGE_SPA,
/* 5 */ LANGUAGE_MAX
} Language;
typedef enum HighScore {
/* 0 */ HS_BANK_RUPEES,
/* 1 */ HS_UNK_1,
/* 2 */ HS_FISHING, // Fishing flags
/* 3 */ HS_BOAT_ARCHERY,
/* 4 */ HS_HOSRE_BACK_BALLOON,
/* 4 */ HS_HORSE_BACK_BALLOON,
/* 5 */ HS_LOTTERY_GUESS, // Lottery code chosen by player (only uses lower three hex digits)
/* 6 */ HS_SHOOTING_GALLERY, // High scores for both shooting galleries. Town uses lower 16 bits, Swamp uses higher 16 bits.
/* 7 */ HS_MAX
@@ -520,6 +530,7 @@ typedef enum {
(gSaveContext.save.saveInfo.stolenItems = (gSaveContext.save.saveInfo.stolenItems & ~0x00FF0000) | ((itemId & 0xFF) << 0x10))
#define HIGH_SCORE(type) (gSaveContext.save.saveInfo.highScores[(type)])
#define GET_HIGH_SCORE(type) ((void)0, gSaveContext.save.saveInfo.highScores[(type)])
#define HS_GET_BANK_RUPEES() (HIGH_SCORE(HS_BANK_RUPEES) & 0xFFFF)
#define HS_SET_BANK_RUPEES(rupees) (HIGH_SCORE(HS_BANK_RUPEES) = ((HIGH_SCORE(HS_BANK_RUPEES) & 0xFFFF0000) | (rupees)))
@@ -529,8 +540,8 @@ typedef enum {
#define HS_GET_BOAT_ARCHERY_HIGH_SCORE() ((HIGH_SCORE(HS_BOAT_ARCHERY) & 0xFFFF0000) >> 0x10)
#define HS_SET_BOAT_ARCHERY_HIGH_SCORE(score) (HIGH_SCORE(HS_BOAT_ARCHERY) = ((HIGH_SCORE(HS_BOAT_ARCHERY) & 0xFFFF) | ((u16)(score) << 0x10)))
#define HS_GET_HORSE_BACK_BALLOON_TIME() ((s32)HIGH_SCORE(HS_HOSRE_BACK_BALLOON))
#define HS_SET_HORSE_BACK_BALLOON_TIME(time) (HIGH_SCORE(HS_HOSRE_BACK_BALLOON) = (time))
#define HS_GET_HORSE_BACK_BALLOON_TIME() ((s32)HIGH_SCORE(HS_HORSE_BACK_BALLOON))
#define HS_SET_HORSE_BACK_BALLOON_TIME(time) (HIGH_SCORE(HS_HORSE_BACK_BALLOON) = (time))
#define HS_GET_LOTTERY_CODE_GUESS() (HIGH_SCORE(HS_LOTTERY_GUESS) & 0xFFFF)
#define HS_SET_LOTTERY_CODE_GUESS(guess) (HIGH_SCORE(HS_LOTTERY_GUESS) = ((HIGH_SCORE(HS_LOTTERY_GUESS) & 0xFFFF0000) | ((guess) & 0xFFFF)))
-1
View File
@@ -531,7 +531,6 @@ beginseg
include "build/data/code/z_message.data.o"
include "build/data/code/z_message.bss.o"
include "build/src/code/z_message_nes.o"
include "build/data/code/z_message_nes.data.o"
include "build/src/code/z_message_staff.o"
include "build/src/code/z_player_call.o"
include "build/src/code/z_shrink_window.o"
+4 -4
View File
@@ -223,7 +223,7 @@ void Message_FindMessage(PlayState* play, u16 textId) {
font->messageEnd = nextSegment - foundSegment;
}
#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80149F74.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/Message_DrawItemIcon.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/Message_HandleOcarina.s")
@@ -272,7 +272,7 @@ void func_8014CCB4(PlayState* play, s16* decodedBufPos, s32* offset, f32* arg3)
#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_8014CDF0.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_8014CFDC.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/Message_SetupLoadItemIcon.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_8014D304.s")
@@ -363,7 +363,7 @@ void func_80151A68(PlayState* play, u16 textId) {
msgCtx->msgLength = 0;
func_80150D08(play, textId);
func_80150A84(play);
func_8015B198(play);
Message_DecodeNES(play);
msgCtx->msgMode = 0x45;
msgCtx->textDelayTimer = 0;
msgCtx->textboxColorAlphaCurrent = msgCtx->textboxColorAlphaTarget = msgCtx->textColorAlpha = 0;
@@ -548,7 +548,7 @@ void func_80153E7C(PlayState* play, Gfx** gfxP) {
} else if (play->msgCtx.textIsCredits) {
Message_DrawTextCredits(play, gfxP);
} else {
func_8015966C(play, gfxP, 0);
Message_DrawTextNES(play, gfxP, 0);
}
}
+1662 -66
View File
File diff suppressed because it is too large Load Diff
+16 -10
View File
@@ -570,12 +570,12 @@ s32 func_801235DC(PlayState* play, f32 arg1, s16 arg2) {
return false;
}
ItemId func_8012364C(PlayState* play, Player* player, s32 arg2) {
if (arg2 >= 4) {
ItemId Player_GetItemOnButton(PlayState* play, Player* player, EquipSlot slot) {
if (slot >= EQUIP_SLOT_A) {
return ITEM_NONE;
}
if (arg2 == 0) {
if (slot == EQUIP_SLOT_B) {
ItemId item = Inventory_GetBtnBItem(play);
if (item >= ITEM_FD) {
@@ -597,18 +597,24 @@ ItemId func_8012364C(PlayState* play, Player* player, s32 arg2) {
return item;
}
if (arg2 == 1) {
if (slot == EQUIP_SLOT_C_LEFT) {
return C_BTN_ITEM(EQUIP_SLOT_C_LEFT);
}
if (arg2 == 2) {
if (slot == EQUIP_SLOT_C_DOWN) {
return C_BTN_ITEM(EQUIP_SLOT_C_DOWN);
}
// EQUIP_SLOT_C_RIGHT
return C_BTN_ITEM(EQUIP_SLOT_C_RIGHT);
}
u16 sCItemButtons[] = { BTN_CLEFT, BTN_CDOWN, BTN_CRIGHT };
u16 sCItemButtons[] = {
BTN_CLEFT,
BTN_CDOWN,
BTN_CRIGHT,
};
PlayerItemAction func_80123810(PlayState* play) {
Player* player = GET_PLAYER(play);
@@ -630,7 +636,7 @@ PlayerItemAction func_80123810(PlayState* play) {
for (i = 0; i < ARRAY_COUNT(sCItemButtons); i++) {
if (CHECK_BTN_ALL(CONTROLLER1(&play->state)->press.button, sCItemButtons[i])) {
i++;
itemId = func_8012364C(play, player, i);
itemId = Player_GetItemOnButton(play, player, i);
play->interfaceCtx.unk_222 = 0;
play->interfaceCtx.unk_224 = 0;
@@ -2092,7 +2098,7 @@ s32 Player_OverrideLimbDrawGameplayCommon(PlayState* play, s32 limbIndex, Gfx**
EnArrow* bubble = NULL;
if (((player->skelAnime.animation == &gPlayerAnim_pn_drinkend)) ||
(player->unk_284.animation == &gPlayerAnim_pn_tamahaki) ||
(player->skelAnimeUpper.animation == &gPlayerAnim_pn_tamahaki) ||
((player->stateFlags3 & PLAYER_STATE3_40) && ((bubble = (EnArrow*)player->heldActor) != NULL))) {
Matrix_TranslateRotateZYX(pos, rot);
func_80125340();
@@ -2108,7 +2114,7 @@ s32 Player_OverrideLimbDrawGameplayCommon(PlayState* play, s32 limbIndex, Gfx**
} else if (player->skelAnime.animation == &gPlayerAnim_pn_drinkend) {
func_80124618(D_801C03E0, player->skelAnime.curFrame, player->unk_AF0);
} else {
func_80124618(D_801C03C0, player->unk_284.curFrame, player->unk_AF0);
func_80124618(D_801C03C0, player->skelAnimeUpper.curFrame, player->unk_AF0);
}
Matrix_Scale(player->unk_AF0[0].x, player->unk_AF0[0].y, player->unk_AF0[0].z, MTXMODE_APPLY);
@@ -3784,7 +3790,7 @@ void Player_PostLimbDrawGameplay(PlayState* play, s32 limbIndex, Gfx** dList1, G
Matrix_MultVec3f(&sPlayerFocusHeadLimbModelPos, &player->actor.focus.pos);
Matrix_MultVec3f(&D_801C0E94, sPlayerCurBodyPartPos);
if ((player->skelAnime.animation == &gPlayerAnim_pn_drinkend) ||
(player->unk_284.animation == &gPlayerAnim_pn_tamahaki) ||
(player->skelAnimeUpper.animation == &gPlayerAnim_pn_tamahaki) ||
((player->stateFlags3 & PLAYER_STATE3_40) && ((spA8 = player->heldActor) != NULL))) {
if (spA8 != NULL) {
static Vec3f D_801C0EA0 = { 1300.0f, -400.0f, 0.0f };
+2 -1
View File
@@ -1680,7 +1680,8 @@ void SkelAnime_AnimateFrame(SkelAnime* skelAnime) {
s32 frame = skelAnime->curFrame;
f32 partialFrame = skelAnime->curFrame - frame;
if (++frame >= (s32)skelAnime->animLength) {
frame++;
if (frame >= (s32)skelAnime->animLength) {
frame = 0;
}
SkelAnime_GetFrameData(skelAnime->animation, frame, skelAnime->limbCount, nextjointTable);
+1 -1
View File
@@ -173,7 +173,7 @@ void Boss04_Init(Actor* thisx, PlayState* play2) {
this->unk_6F8 = 1.0f;
Collider_InitAndSetJntSph(play, &this->collider1, &this->actor, &sJntSphInit1, this->collider1Elements);
Collider_InitAndSetJntSph(play, &this->collider2, &this->actor, &sJntSphInit2, this->collider2Elements);
SkelAnime_InitFlex(play, &this->skelAnime, &gWartSkel, &gWartIdleAnim, this->jointTable, this->morphtable,
SkelAnime_InitFlex(play, &this->skelAnime, &gWartSkel, &gWartIdleAnim, this->jointTable, this->morphTable,
WART_LIMB_MAX);
spA8.y = this->actor.world.pos.y + 200.0f;
+1 -1
View File
@@ -12,7 +12,7 @@ typedef struct Boss04 {
/* 0x000 */ Actor actor;
/* 0x144 */ SkelAnime skelAnime;
/* 0x188 */ Vec3s jointTable[WART_LIMB_MAX];
/* 0x1BE */ Vec3s morphtable[WART_LIMB_MAX];
/* 0x1BE */ Vec3s morphTable[WART_LIMB_MAX];
/* 0x1F4 */ s16 unk_1F4;
/* 0x1F6 */ u8 unk_1F6;
/* 0x1F7 */ u8 unk_1F7;
File diff suppressed because it is too large Load Diff
@@ -39,9 +39,9 @@ typedef struct BossHakugin {
/* 0x0144 */ SkelAnime skelAnime;
/* 0x0188 */ BossHakuginActionFunc actionFunc;
/* 0x018C */ u8 unk_018C;
/* 0x018D */ s8 unk_018D;
/* 0x018E */ s8 unk_018E;
/* 0x018F */ s8 unk_018F;
/* 0x018D */ u8 unk_018D;
/* 0x018E */ u8 unk_018E;
/* 0x018F */ u8 unk_018F;
/* 0x0190 */ u8 unk_0190; // boolean?
/* 0x0191 */ u8 unk_0191;
/* 0x0192 */ u8 unk_0192;
@@ -83,9 +83,7 @@ typedef struct BossHakugin {
/* 0x0380 */ Vec3f unk_0380;
/* 0x038C */ Vec3f unk_038C;
/* 0x0398 */ Vec3f bodyPartsPos[15];
/* 0x044C */ f32 unk_044C;
/* 0x0450 */ char unk_0450[4];
/* 0x0454 */ f32 unk_0454;
/* 0x044C */ Vec3f unk_044C;
/* 0x0458 */ Vec3f unk_0458;
/* 0x0464 */ Vec3f unk_0464;
/* 0x0470 */ LightNode* lightNode;
@@ -142,7 +142,7 @@ void EnBombers_Init(Actor* thisx, PlayState* play) {
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 19.0f);
this->actor.gravity = -1.0f;
SkelAnime_InitFlex(play, &this->skelAnime, &object_cs_Skel_00F82C, &gBomberIdleAnim, this->jointTable,
this->morphtable, OBJECT_CS_LIMB_MAX);
this->morphTable, OBJECT_CS_LIMB_MAX);
Collider_InitAndSetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
this->actor.targetMode = TARGET_MODE_0;
Actor_SetScale(&this->actor, 0.01f);
@@ -25,7 +25,7 @@ typedef struct EnBombers {
/* 0x000 */ Actor actor;
/* 0x144 */ SkelAnime skelAnime;
/* 0x188 */ Vec3s jointTable[OBJECT_CS_LIMB_MAX];
/* 0x206 */ Vec3s morphtable[OBJECT_CS_LIMB_MAX];
/* 0x206 */ Vec3s morphTable[OBJECT_CS_LIMB_MAX];
/* 0x284 */ EnBombersActionFunc actionFunc;
/* 0x288 */ s16 unk_288;
/* 0x28A */ s16 unk_28A;
+1 -1
View File
@@ -933,7 +933,7 @@ void EnEgol_Slam(EnEgol* this, PlayState* play) {
}
EnEgol_DestroyBlocks(this, play, this->rightHandPos, this->leftHandPos);
}
if (this->animEndFrame <= curFrame) {
if (curFrame >= this->animEndFrame) {
EnEgol_SetupSlamWait(this);
} else if ((this->skelAnime.curFrame <= 17.0f) && (this->skelAnime.curFrame >= 10.0f)) {
CollisionCheck_SetAT(play, &play->colChkCtx, &this->bodyCollider.base);
@@ -3931,10 +3931,11 @@ void EnFishing_UpdateFish(Actor* thisx, PlayState* play2) {
SkelAnime_Free(&this->skelAnime, play);
if (this->unk_148 == 0) {
SkelAnime_InitFlex(play, &this->skelAnime, &gFishingBassSkel, &gFishingBassAnim, 0, 0, 0);
SkelAnime_InitFlex(play, &this->skelAnime, &gFishingBassSkel, &gFishingBassAnim, NULL, NULL, 0);
Animation_MorphToLoop(&this->skelAnime, &gFishingBassAnim, 0.0f);
} else {
SkelAnime_InitFlex(play, &this->skelAnime, &gFishingLoachSkel, &gFishingLoachAnim, 0, 0, 0);
SkelAnime_InitFlex(play, &this->skelAnime, &gFishingLoachSkel, &gFishingLoachAnim, NULL, NULL,
0);
Animation_MorphToLoop(&this->skelAnime, &gFishingLoachAnim, 0.0f);
}
}
@@ -329,7 +329,8 @@ void EnGuardNuts_Update(Actor* thisx, PlayState* play) {
s32 pad;
if (this->blinkTimer == 0) {
if (++(this->eyeState) >= 3) {
this->eyeState++;
if (this->eyeState >= 3) {
this->eyeState = 0;
this->blinkTimer = (s16)Rand_ZeroFloat(60.0f) + 20;
}

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