mirror of
https://github.com/izzy2lost/2ship2harkinian-Android.git
synced 2026-06-19 01:20:08 -07:00
Merge remote-tracking branch 'upstream/master' into sys_math3d
This commit is contained in:
@@ -1,79 +1,80 @@
|
||||
<Root>
|
||||
<!-- Assets for Anju in a wedding dress -->
|
||||
<File Name="object_and" Segment="6">
|
||||
<Animation Name="object_and_Anim_0000C8" Offset="0xC8" /> <!-- Original name is "and_test" -->
|
||||
<DList Name="object_and_DL_004670" Offset="0x4670" />
|
||||
<DList Name="object_and_DL_004708" Offset="0x4708" />
|
||||
<DList Name="object_and_DL_0047F0" Offset="0x47F0" />
|
||||
<DList Name="object_and_DL_004998" Offset="0x4998" />
|
||||
<DList Name="object_and_DL_004BE0" Offset="0x4BE0" />
|
||||
<DList Name="object_and_DL_004D90" Offset="0x4D90" />
|
||||
<DList Name="object_and_DL_004E50" Offset="0x4E50" />
|
||||
<DList Name="object_and_DL_004F20" Offset="0x4F20" />
|
||||
<DList Name="object_and_DL_005038" Offset="0x5038" />
|
||||
<DList Name="object_and_DL_0056C0" Offset="0x56C0" />
|
||||
<DList Name="object_and_DL_005888" Offset="0x5888" />
|
||||
<DList Name="object_and_DL_005938" Offset="0x5938" />
|
||||
<DList Name="object_and_DL_0059C8" Offset="0x59C8" />
|
||||
<DList Name="object_and_DL_005A80" Offset="0x5A80" />
|
||||
<DList Name="object_and_DL_005BA8" Offset="0x5BA8" />
|
||||
<DList Name="object_and_DL_005C60" Offset="0x5C60" />
|
||||
<DList Name="object_and_DL_005D80" Offset="0x5D80" />
|
||||
<DList Name="object_and_DL_005F10" Offset="0x5F10" />
|
||||
<DList Name="object_and_DL_005FF8" Offset="0x5FF8" />
|
||||
<DList Name="object_and_DL_006240" Offset="0x6240" />
|
||||
<DList Name="object_and_DL_0063D8" Offset="0x63D8" />
|
||||
<DList Name="object_and_DL_0064C0" Offset="0x64C0" />
|
||||
<DList Name="object_and_DL_006708" Offset="0x6708" />
|
||||
<DList Name="object_and_DL_0067E0" Offset="0x67E0" />
|
||||
<Texture Name="object_and_Tex_006C30" OutName="tex_006C30" Format="rgba16" Width="8" Height="8" Offset="0x6C30" />
|
||||
<Texture Name="object_and_Tex_006CB0" OutName="tex_006CB0" Format="rgba16" Width="8" Height="16" Offset="0x6CB0" />
|
||||
<Texture Name="object_and_Tex_006DB0" OutName="tex_006DB0" Format="rgba16" Width="16" Height="16" Offset="0x6DB0" />
|
||||
<Texture Name="object_and_Tex_006FB0" OutName="tex_006FB0" Format="rgba16" Width="16" Height="16" Offset="0x6FB0" />
|
||||
<Texture Name="object_and_Tex_0071B0" OutName="tex_0071B0" Format="i8" Width="8" Height="8" Offset="0x71B0" />
|
||||
<Texture Name="object_and_Tex_0071F0" OutName="tex_0071F0" Format="i8" Width="32" Height="32" Offset="0x71F0" />
|
||||
<Texture Name="object_and_Tex_0075F0" OutName="tex_0075F0" Format="rgba16" Width="16" Height="16" Offset="0x75F0" />
|
||||
<Texture Name="object_and_Tex_0077F0" OutName="tex_0077F0" Format="rgba16" Width="32" Height="16" Offset="0x77F0" />
|
||||
<Texture Name="object_and_Tex_007BF0" OutName="tex_007BF0" Format="rgba16" Width="16" Height="16" Offset="0x7BF0" />
|
||||
<Texture Name="object_and_Tex_007DF0" OutName="tex_007DF0" Format="rgba16" Width="32" Height="32" Offset="0x7DF0" />
|
||||
<Texture Name="object_and_Tex_0085F0" OutName="tex_0085F0" Format="rgba16" Width="32" Height="32" Offset="0x85F0" />
|
||||
<Texture Name="object_and_Tex_008DF0" OutName="tex_008DF0" Format="rgba16" Width="32" Height="32" Offset="0x8DF0" />
|
||||
<Texture Name="object_and_Tex_0095F0" OutName="tex_0095F0" Format="rgba16" Width="32" Height="32" Offset="0x95F0" />
|
||||
<Texture Name="object_and_Tex_009DF0" OutName="tex_009DF0" Format="rgba16" Width="32" Height="16" Offset="0x9DF0" />
|
||||
<Texture Name="object_and_Tex_00A1F0" OutName="tex_00A1F0" Format="rgba16" Width="32" Height="16" Offset="0xA1F0" />
|
||||
<Texture Name="object_and_Tex_00A5F0" OutName="tex_00A5F0" Format="i8" Width="32" Height="64" Offset="0xA5F0" />
|
||||
<Texture Name="object_and_Tex_00ADF0" OutName="tex_00ADF0" Format="i8" Width="32" Height="32" Offset="0xADF0" />
|
||||
<Limb Name="object_and_Standardlimb_00B1F0" Type="Standard" EnumName="OBJECT_AND_LIMB_01" Offset="0xB1F0" />
|
||||
<Limb Name="object_and_Standardlimb_00B1FC" Type="Standard" EnumName="OBJECT_AND_LIMB_02" Offset="0xB1FC" />
|
||||
<Limb Name="object_and_Standardlimb_00B208" Type="Standard" EnumName="OBJECT_AND_LIMB_03" Offset="0xB208" />
|
||||
<Limb Name="object_and_Standardlimb_00B214" Type="Standard" EnumName="OBJECT_AND_LIMB_04" Offset="0xB214" />
|
||||
<Limb Name="object_and_Standardlimb_00B220" Type="Standard" EnumName="OBJECT_AND_LIMB_05" Offset="0xB220" />
|
||||
<Limb Name="object_and_Standardlimb_00B22C" Type="Standard" EnumName="OBJECT_AND_LIMB_06" Offset="0xB22C" />
|
||||
<Limb Name="object_and_Standardlimb_00B238" Type="Standard" EnumName="OBJECT_AND_LIMB_07" Offset="0xB238" />
|
||||
<Limb Name="object_and_Standardlimb_00B244" Type="Standard" EnumName="OBJECT_AND_LIMB_08" Offset="0xB244" />
|
||||
<Limb Name="object_and_Standardlimb_00B250" Type="Standard" EnumName="OBJECT_AND_LIMB_09" Offset="0xB250" />
|
||||
<Limb Name="object_and_Standardlimb_00B25C" Type="Standard" EnumName="OBJECT_AND_LIMB_0A" Offset="0xB25C" />
|
||||
<Limb Name="object_and_Standardlimb_00B268" Type="Standard" EnumName="OBJECT_AND_LIMB_0B" Offset="0xB268" />
|
||||
<Limb Name="object_and_Standardlimb_00B274" Type="Standard" EnumName="OBJECT_AND_LIMB_0C" Offset="0xB274" />
|
||||
<Limb Name="object_and_Standardlimb_00B280" Type="Standard" EnumName="OBJECT_AND_LIMB_0D" Offset="0xB280" />
|
||||
<Limb Name="object_and_Standardlimb_00B28C" Type="Standard" EnumName="OBJECT_AND_LIMB_0E" Offset="0xB28C" />
|
||||
<Limb Name="object_and_Standardlimb_00B298" Type="Standard" EnumName="OBJECT_AND_LIMB_0F" Offset="0xB298" />
|
||||
<Limb Name="object_and_Standardlimb_00B2A4" Type="Standard" EnumName="OBJECT_AND_LIMB_10" Offset="0xB2A4" />
|
||||
<Limb Name="object_and_Standardlimb_00B2B0" Type="Standard" EnumName="OBJECT_AND_LIMB_11" Offset="0xB2B0" />
|
||||
<Limb Name="object_and_Standardlimb_00B2BC" Type="Standard" EnumName="OBJECT_AND_LIMB_12" Offset="0xB2BC" />
|
||||
<Limb Name="object_and_Standardlimb_00B2C8" Type="Standard" EnumName="OBJECT_AND_LIMB_13" Offset="0xB2C8" />
|
||||
<Limb Name="object_and_Standardlimb_00B2D4" Type="Standard" EnumName="OBJECT_AND_LIMB_14" Offset="0xB2D4" />
|
||||
<Limb Name="object_and_Standardlimb_00B2E0" Type="Standard" EnumName="OBJECT_AND_LIMB_15" Offset="0xB2E0" />
|
||||
<Limb Name="object_and_Standardlimb_00B2EC" Type="Standard" EnumName="OBJECT_AND_LIMB_16" Offset="0xB2EC" />
|
||||
<Limb Name="object_and_Standardlimb_00B2F8" Type="Standard" EnumName="OBJECT_AND_LIMB_17" Offset="0xB2F8" />
|
||||
<Limb Name="object_and_Standardlimb_00B304" Type="Standard" EnumName="OBJECT_AND_LIMB_18" Offset="0xB304" />
|
||||
<Limb Name="object_and_Standardlimb_00B310" Type="Standard" EnumName="OBJECT_AND_LIMB_19" Offset="0xB310" />
|
||||
<Skeleton Name="object_and_Skel_00B380" Type="Flex" LimbType="Standard" LimbNone="OBJECT_AND_LIMB_NONE" LimbMax="OBJECT_AND_LIMB_MAX" EnumName="ObjectAndLimb" Offset="0xB380" />
|
||||
<Animation Name="object_and_Anim_00DA58" Offset="0xDA58" /> <!-- Original name is "wa_aruku" ("walk") -->
|
||||
<Animation Name="object_and_Anim_00EE00" Offset="0xEE00" /> <!-- Original name is "wa_hidari" ("left; left hand side") -->
|
||||
<Animation Name="object_and_Anim_00F6C4" Offset="0xF6C4" /> <!-- Original name is "wa_hidari_loop" -->
|
||||
<Animation Name="object_and_Anim_00FE64" Offset="0xFE64" /> <!-- Original name is "wa_kaoage" ("raising face") -->
|
||||
<Animation Name="object_and_Anim_01067C" Offset="0x1067C" /> <!-- Original name is "wa_kaoage_loop" -->
|
||||
<Animation Name="object_and_Anim_011AFC" Offset="0x11AFC" /> <!-- Original name is "wa_kaoaruki" (probably a combination of "kaoage" and "aruki") -->
|
||||
<Animation Name="object_and_Anim_0122D0" Offset="0x122D0" /> <!-- Original name is "wa_utumuki_loop" ("looking down") -->
|
||||
<Animation Name="gAndStaticAnim" Offset="0xC8" /> <!-- Original name is "and_test" -->
|
||||
<DList Name="gAndTrainDL" Offset="0x4670" />
|
||||
<DList Name="gAndCalvesDL" Offset="0x4708" />
|
||||
<DList Name="gAndShinsDL" Offset="0x47F0" />
|
||||
<DList Name="gAndThighsDL" Offset="0x4998" />
|
||||
<DList Name="gAndPelvisDL" Offset="0x4BE0" />
|
||||
<DList Name="gAndLowerVeilDL" Offset="0x4D90" />
|
||||
<DList Name="gAndUpperVeilDL" Offset="0x4E50" />
|
||||
<DList Name="gAndVeilBaseDL" Offset="0x4F20" />
|
||||
<DList Name="gAndHeadDL" Offset="0x5038" />
|
||||
<DList Name="gAndBouquetDL" Offset="0x56C0" />
|
||||
<DList Name="gAndCenterLeavesTipDL" Offset="0x5888" />
|
||||
<DList Name="gAndCenterLeavesDL" Offset="0x5938" />
|
||||
<DList Name="gAndRightLeavesTipDL" Offset="0x59C8" />
|
||||
<DList Name="gAndRightLeavesDL" Offset="0x5A80" />
|
||||
<DList Name="gAndLeftLeavesTipDL" Offset="0x5BA8" />
|
||||
<DList Name="gAndLeftLeavesDL" Offset="0x5C60" />
|
||||
<DList Name="gAndRightHandDL" Offset="0x5D80" />
|
||||
<DList Name="gAndRightForearmDL" Offset="0x5F10" />
|
||||
<DList Name="gAndRightUpperArmDL" Offset="0x5FF8" />
|
||||
<DList Name="gAndLeftHandDL" Offset="0x6240" />
|
||||
<DList Name="gAndLeftForearmDL" Offset="0x63D8" />
|
||||
<DList Name="gAndLeftUpperArmDL" Offset="0x64C0" />
|
||||
<DList Name="gAndSymbolDL" Offset="0x6708" />
|
||||
<DList Name="gAndTorsoDL" Offset="0x67E0" />
|
||||
<Texture Name="gAndSkinShadowTex" OutName="and_skin_shadow" Format="rgba16" Width="8" Height="8" Offset="0x6C30" />
|
||||
<Texture Name="gAndHairTex" OutName="and_hair" Format="rgba16" Width="8" Height="16" Offset="0x6CB0" />
|
||||
<Texture Name="gAndEarTex" OutName="and_ear" Format="rgba16" Width="16" Height="16" Offset="0x6DB0" />
|
||||
<Texture Name="gAndFingersTex" OutName="and_fingers" Format="rgba16" Width="16" Height="16" Offset="0x6FB0" />
|
||||
<Texture Name="gAndDressGradientTex" OutName="and_dress_gradient" Format="i8" Width="8" Height="8" Offset="0x71B0" />
|
||||
<Texture Name="gAndDressSymbolTex" OutName="and_dress_symbol" Format="i8" Width="32" Height="32" Offset="0x71F0" />
|
||||
<Texture Name="gAndPearlTex" OutName="and_pearl" Format="rgba16" Width="16" Height="16" Offset="0x75F0" />
|
||||
<Texture Name="gAndLeavesTex" OutName="and_leaves" Format="rgba16" Width="32" Height="16" Offset="0x77F0" />
|
||||
<Texture Name="gAndFlowerTex" OutName="and_flower" Format="rgba16" Width="16" Height="16" Offset="0x7BF0" />
|
||||
<Texture Name="gAndEyeOpenTex" OutName="and_eye_open" Format="rgba16" Width="32" Height="32" Offset="0x7DF0" />
|
||||
<Texture Name="gAndEyeClosingTex" OutName="and_eye_closing" Format="rgba16" Width="32" Height="32" Offset="0x85F0" />
|
||||
<Texture Name="gAndEyeClosedTex" OutName="and_eye_closed" Format="rgba16" Width="32" Height="32" Offset="0x8DF0" />
|
||||
<Texture Name="gAndEyeOpeningTex" OutName="and_eye_opening" Format="rgba16" Width="32" Height="32" Offset="0x95F0" />
|
||||
<Texture Name="gAndMouthNeutralTex" OutName="and_mouth_neutral" Format="rgba16" Width="32" Height="16" Offset="0x9DF0" />
|
||||
<Texture Name="gAndMouthSmileTex" OutName="and_mouth_smile" Format="rgba16" Width="32" Height="16" Offset="0xA1F0" />
|
||||
<Texture Name="gAndDressSpotsTex" OutName="and_dress_spots" Format="i8" Width="32" Height="64" Offset="0xA5F0" />
|
||||
<Texture Name="gAndDressCircleTex" OutName="and_dress_circle" Format="i8" Width="32" Height="32" Offset="0xADF0" />
|
||||
<Limb Name="gAndRootLimb" Type="Standard" EnumName="OBJECT_AND_LIMB_ROOT" Offset="0xB1F0" />
|
||||
<Limb Name="gAndTorsoLimb" Type="Standard" EnumName="OBJECT_AND_LIMB_TORSO" Offset="0xB1FC" />
|
||||
<Limb Name="gAndSymbolLimb" Type="Standard" EnumName="OBJECT_AND_LIMB_SYMBOL" Offset="0xB208" />
|
||||
<Limb Name="gAndLeftUpperArmLimb" Type="Standard" EnumName="OBJECT_AND_LIMB_LEFT_UPPER_ARM" Offset="0xB214" />
|
||||
<Limb Name="gAndLeftForearmLimb" Type="Standard" EnumName="OBJECT_AND_LIMB_LEFT_FOREARM" Offset="0xB220" />
|
||||
<Limb Name="gAndLeftHandLimb" Type="Standard" EnumName="OBJECT_AND_LIMB_LEFT_HAND" Offset="0xB22C" />
|
||||
<Limb Name="gAndRightUpperArmLimb" Type="Standard" EnumName="OBJECT_AND_LIMB_RIGHT_UPPER_ARM" Offset="0xB238" />
|
||||
<Limb Name="gAndRightForearmLimb" Type="Standard" EnumName="OBJECT_AND_LIMB_RIGHT_FOREARM" Offset="0xB244" />
|
||||
<Limb Name="gAndRightHandLimb" Type="Standard" EnumName="OBJECT_AND_LIMB_RIGHT_HAND" Offset="0xB250" />
|
||||
<Limb Name="gAndBouquetLimb" Type="Standard" EnumName="OBJECT_AND_LIMB_BOUQUET" Offset="0xB25C" />
|
||||
<Limb Name="gAndLeftLeavesLimb" Type="Standard" EnumName="OBJECT_AND_LIMB_LEFT_LEAVES" Offset="0xB268" />
|
||||
<Limb Name="gAndLeftLeavesTipLimb" Type="Standard" EnumName="OBJECT_AND_LIMB_LEFT_LEAVES_TIP" Offset="0xB274" />
|
||||
<Limb Name="gAndRightLeavesLimb" Type="Standard" EnumName="OBJECT_AND_LIMB_RIGHT_LEAVES" Offset="0xB280" />
|
||||
<Limb Name="gAndRightLeavesTipLimb" Type="Standard" EnumName="OBJECT_AND_LIMB_RIGHT_LEAVES_TIP" Offset="0xB28C" />
|
||||
<Limb Name="gAndCenterLeavesLimb" Type="Standard" EnumName="OBJECT_AND_LIMB_CENTER_LEAVES" Offset="0xB298" />
|
||||
<Limb Name="gAndCenterLeavesTipLimb" Type="Standard" EnumName="OBJECT_AND_LIMB_CENTER_LEAVES_TIP" Offset="0xB2A4" />
|
||||
<Limb Name="gAndVeilBaseLimb" Type="Standard" EnumName="OBJECT_AND_LIMB_VEIL_BASE" Offset="0xB2B0" />
|
||||
<Limb Name="gAndHeadLimb" Type="Standard" EnumName="OBJECT_AND_LIMB_HEAD" Offset="0xB2BC" />
|
||||
<Limb Name="gAndUpperVeilLimb" Type="Standard" EnumName="OBJECT_AND_LIMB_UPPER_VEIL" Offset="0xB2C8" />
|
||||
<Limb Name="gAndLowerVeilLimb" Type="Standard" EnumName="OBJECT_AND_LIMB_LOWER_VEIL" Offset="0xB2D4" />
|
||||
<Limb Name="gAndPelvisLimb" Type="Standard" EnumName="OBJECT_AND_LIMB_PELVIS" Offset="0xB2E0" />
|
||||
<Limb Name="gAndThighsLimb" Type="Standard" EnumName="OBJECT_AND_LIMB_THIGHS" Offset="0xB2EC" />
|
||||
<Limb Name="gAndShinsLimb" Type="Standard" EnumName="OBJECT_AND_LIMB_SHINS" Offset="0xB2F8" />
|
||||
<Limb Name="gAndCalvesLimb" Type="Standard" EnumName="OBJECT_AND_LIMB_CALVES" Offset="0xB304" />
|
||||
<Limb Name="gAndTrainLimb" Type="Standard" EnumName="OBJECT_AND_LIMB_TRAIN" Offset="0xB310" />
|
||||
<Skeleton Name="gAndSkel" Type="Flex" LimbType="Standard" LimbNone="OBJECT_AND_LIMB_NONE" LimbMax="OBJECT_AND_LIMB_MAX" EnumName="ObjectAndLimb" Offset="0xB380" />
|
||||
<Animation Name="gAndWalkAnim" Offset="0xDA58" /> <!-- Original name is "wa_aruku" ("walk") -->
|
||||
<Animation Name="gAndRaiseHandAnim" Offset="0xEE00" /> <!-- Original name is "wa_hidari" ("left; left hand side") -->
|
||||
<Animation Name="gAndRaisedHandLoopAnim" Offset="0xF6C4" /> <!-- Original name is "wa_hidari_loop" -->
|
||||
<Animation Name="gAndRaiseHeadAnim" Offset="0xFE64" /> <!-- Original name is "wa_kaoage" ("raising face") -->
|
||||
<Animation Name="gAndRaisedHeadLoopAnim" Offset="0x1067C" /> <!-- Original name is "wa_kaoage_loop" -->
|
||||
<Animation Name="gAndRaisedHandWalkAnim" Offset="0x11AFC" /> <!-- Original name is "wa_kaoaruki" (probably a combination of "kaoage" and "aruki") -->
|
||||
<Animation Name="gAndIdleAnim" Offset="0x122D0" /> <!-- Original name is "wa_utumuki_loop" ("looking down") -->
|
||||
</File>
|
||||
</Root>
|
||||
|
||||
+45
-47
@@ -133,7 +133,7 @@ void SystemArena_FreeNullCheck(void* ptr);
|
||||
void SystemArena_RunInits(void);
|
||||
void SystemArena_Init(void* start, size_t size);
|
||||
s32 func_80086620(OSMesgQueue* param_1, PadMgr* param_2, OSContStatus* param_3);
|
||||
// void func_80086760(void);
|
||||
f32 func_80086760(f32 x);
|
||||
// void func_80086794(void);
|
||||
// void func_800867B4(void);
|
||||
// void func_800867D4(void);
|
||||
@@ -609,8 +609,8 @@ void Flags_SetCollectible(PlayState* play, s32 flag);
|
||||
|
||||
void TitleCard_InitBossName(GameState* gameState, TitleCardContext* titleCtx, TexturePtr texture, s16 x, s16 y, u8 width, u8 height);
|
||||
|
||||
s32 func_800B648C(PlayState* play, s32 arg1, s32 timer, f32 arg3, Vec3f* arg4);
|
||||
f32 func_800B64FC(PlayState* play, f32 arg1, Vec3f* arg2, u32* arg3);
|
||||
s32 Actor_SetPlayerImpact(PlayState* play, PlayerImpactType type, s32 timer, f32 dist, Vec3f* pos);
|
||||
f32 Actor_GetPlayerImpact(PlayState* play, f32 range, Vec3f* pos, PlayerImpactType* type);
|
||||
void* func_800B6584(PlayState* play, s16 id, void* arg2, size_t size);
|
||||
void* func_800B6608(PlayState* play, s16 id);
|
||||
void* func_800B6680(PlayState* play, s16 id);
|
||||
@@ -739,9 +739,9 @@ s16 Actor_TestFloorInDirection(Actor* actor, PlayState* play, f32 distance, s16
|
||||
s32 Actor_IsTargeted(PlayState* play, Actor* actor);
|
||||
s32 Actor_OtherIsTargeted(PlayState* play, Actor* actor);
|
||||
void func_800BC620(Vec3f* pos, Vec3f* scale, u8 alpha, PlayState* play);
|
||||
void Actor_AddQuake(PlayState* play, s16 verticalMag, s16 countdown);
|
||||
void Actor_AddQuakeWithSpeed(PlayState* play, s16 verticalMag, s16 countdown, s16 speed);
|
||||
void func_800BC848(Actor* actor, PlayState* play, s16 y, s16 countdown);
|
||||
void Actor_RequestQuake(PlayState* play, s16 y, s16 duration);
|
||||
void Actor_RequestQuakeWithSpeed(PlayState* play, s16 y, s16 duration, s16 speed);
|
||||
void Actor_RequestQuakeAndRumble(Actor* actor, PlayState* play, s16 quakeY, s16 quakeDuration);
|
||||
void Actor_DrawDoorLock(PlayState* play, s32 frame, s32 type);
|
||||
void Actor_SetColorFilter(Actor* actor, u16 colorFlag, u16 colorIntensityMax, u16 bufFlag, u16 duration);
|
||||
Hilite* func_800BCBF4(Vec3f* arg0, PlayState* play);
|
||||
@@ -797,47 +797,45 @@ s32 DynaPolyActor_IsSwitchPressed(DynaPolyActor* dynaActor);
|
||||
s32 DynaPolyActor_IsHeavySwitchPressed(DynaPolyActor* dynaActor);
|
||||
s32 DynaPolyActor_ValidateMove(PlayState* play, DynaPolyActor* dynaActor, s16 startRadius, s16 endRadius, s16 startHeight);
|
||||
|
||||
Camera* Camera_Alloc(View* view, CollisionContext* bg, PlayState* play);
|
||||
void Camera_Free(Camera* camera);
|
||||
void Camera_Init(Camera* camera, View* view, CollisionContext* bg, PlayState* play);
|
||||
// void func_800DDFE0(void);
|
||||
void Camera_InitPlayerSettings(Camera* camera, Player* player);
|
||||
Camera* Camera_Create(View* view, CollisionContext* colCtx, PlayState* play);
|
||||
void Camera_Destroy(Camera* camera);
|
||||
void Camera_Init(Camera* camera, View* view, CollisionContext* colCtx, PlayState* play);
|
||||
void func_800DDFE0(Camera* camera);
|
||||
void Camera_InitFocalActorSettings(Camera* camera, Actor* focalActor);
|
||||
s32 Camera_ChangeStatus(Camera* camera, s16 status);
|
||||
// void func_800DE324(void);
|
||||
// void func_800DE62C(void);
|
||||
// void func_800DE840(void);
|
||||
// void func_800DE890(void);
|
||||
// UNK_TYPE4 func_800DE954(Camera* camera);
|
||||
Vec3s* Camera_Update(Vec3s* param_1, Camera* camera);
|
||||
// void func_800DF498(void);
|
||||
u32 Camera_SetMode(Camera* camera, s16 mode, s8 param_3);
|
||||
s32 Camera_UpdateWater(Camera* camera);
|
||||
void Camera_EarthquakeDay3(Camera* camera);
|
||||
s32 Camera_UpdateHotRoom(Camera* camera);
|
||||
s32 Camera_SetSwordDistortion(Camera* camera);
|
||||
s32 Camera_RequestGiantsMaskSetting(Camera* camera);
|
||||
Vec3s* Camera_Update(Vec3s* inputDir, Camera* camera);
|
||||
s32 func_800DF498(Camera* camera);
|
||||
s32 Camera_ChangeModeFlags(Camera* camera, s16 mode, u8 forceChange);
|
||||
s32 Camera_ChangeMode(Camera* camera, s16 mode);
|
||||
s32 func_800DF86C(Camera* camera, s16 arg1);
|
||||
// void func_800DF8EC(void);
|
||||
s32 Camera_CheckValidMode(Camera* camera, s16 mode);
|
||||
s16 Camera_ChangeSettingFlags(Camera* camera, s16 setting, s16 flags);
|
||||
s32 Camera_ChangeSetting(Camera* camera, s16 setting);
|
||||
s32 Camera_ChangeDataIdx(Camera* camera, s32 camDataIdx);
|
||||
// void func_800DFC1C(void);
|
||||
// void func_800DFC40(void);
|
||||
s32 Camera_GetInputDirYaw(Camera* camera);
|
||||
void Camera_GetCamDir(Vec3s* dst, Camera* camera);
|
||||
s32 Camera_ChangeActorCsCamIndex(Camera* camera, s32 bgCamIndex);
|
||||
Vec3s* Camera_GetInputDir(Vec3s* dst, Camera* camera);
|
||||
s16 Camera_GetInputDirPitch(Camera* camera);
|
||||
s16 Camera_GetInputDirYaw(Camera* camera);
|
||||
Vec3s* Camera_GetCamDir(Vec3s* dst, Camera* camera);
|
||||
s16 Camera_GetCamDirPitch(Camera* camera);
|
||||
s16 Camera_GetCamDirYaw(Camera* camera);
|
||||
void Camera_AddQuake(Camera* camera, s32 arg1, s16 y, s32 countdown);
|
||||
s32 Camera_AddQuake(Camera* camera, s32 arg1, s16 y, s32 countdown);
|
||||
s32 Camera_SetViewParam(Camera* camera, s32 viewFlag, void* param);
|
||||
// UNK_TYPE4 func_800DFEF0(s32 param_1, u16 param_2);
|
||||
void func_800DFF18(Camera* camera, s32 arg1);
|
||||
// UNK_TYPE4 func_800DFF34(s32 param_1);
|
||||
// UNK_TYPE4 func_800DFF44(void);
|
||||
s16 Camera_SetFlags(Camera* iParm1, s16 flags);
|
||||
s16 Camera_ClearFlags(Camera* camera, s16 flags);
|
||||
s32 Camera_UnsetViewFlag(Camera* camera, s16 viewFlag);
|
||||
s32 Camera_OverwriteStateFlags(Camera* camera, s16 stateFlags);
|
||||
s16 Camera_SetStateFlag(Camera* camera, s16 flags);
|
||||
s16 Camera_UnsetStateFlag(Camera* camera, s16 flags);
|
||||
s32 Camera_ChangeDoorCam(Camera* camera, Actor* doorActor, s16 bgCamIndex, f32 arg3, s16 timer1, s16 timer2, s16 timer3);
|
||||
s32 Camera_Copy(Camera* dstCamera, Camera* srcCamera);
|
||||
// UNK_TYPE4 func_800E01AC(void);
|
||||
Vec3f* Camera_GetQuakeOffset(Vec3f* dst, Camera* camera);
|
||||
// void func_800E01DC(s32 param_1, u32 param_2, UNK_TYPE4 param_3, UNK_TYPE4 param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6);
|
||||
// UNK_TYPE4 func_800E0228(void);
|
||||
void func_800E0238(Camera* camera);
|
||||
void Camera_SetToTrackActor(Camera* camera, Actor* actor);
|
||||
s32 Camera_Copy(Camera* dstCam, Camera* srcCam);
|
||||
s32 Camera_IsDbgCamEnabled(void);
|
||||
Vec3f* Camera_GetQuakeOffset(Vec3f* quakeOffset, Camera* camera);
|
||||
void Camera_SetCameraData(Camera* camera, s16 setDataFlags, void* data0, void* data1, s16 data2, s16 data3);
|
||||
s32 Camera_GetNegOne(void);
|
||||
s16 func_800E0238(Camera* camera);
|
||||
void Camera_SetFocalActor(Camera* camera, Actor* actor);
|
||||
void Camera_SetTargetActor(Camera* camera, Actor* actor);
|
||||
f32 Camera_GetWaterYPos(Camera* camera);
|
||||
void func_800E0348(Camera* camera);
|
||||
@@ -1292,7 +1290,7 @@ void* func_801068FC(PlayState* play, void* arg1, size_t size);
|
||||
void func_80108AF8(PlayState* play);
|
||||
s32 func_801090B0(s32 arg0);
|
||||
s32 func_80109124(s16 arg0);
|
||||
// void func_801091F0(void);
|
||||
void func_801091F0(PlayState* play);
|
||||
void func_80109428(PlayState* play);
|
||||
// void func_801094A0(void);
|
||||
// void func_801094C8(void);
|
||||
@@ -1411,17 +1409,17 @@ f32 OLib_ClampMinDist(f32 val, f32 min);
|
||||
f32 OLib_ClampMaxDist(f32 val, f32 max);
|
||||
Vec3f* OLib_Vec3fDistNormalize(Vec3f* dest, Vec3f* a, Vec3f* b);
|
||||
Vec3f* OLib_VecSphToVec3f(Vec3f* dest, VecSph* sph);
|
||||
Vec3f* OLib_VecSphGeoToVec3f(Vec3f* dest, VecSph* sph);
|
||||
Vec3f* OLib_VecGeoToVec3f(Vec3f* dest, VecGeo* geo);
|
||||
VecSph* OLib_Vec3fToVecSph(VecSph* dest, Vec3f* vec);
|
||||
VecSph* OLib_Vec3fToVecSphGeo(VecSph* dest, Vec3f* vec);
|
||||
VecGeo* OLib_Vec3fToVecGeo(VecGeo* dest, Vec3f* vec);
|
||||
VecSph* OLib_Vec3fDiffToVecSph(VecSph* dest, Vec3f* a, Vec3f* b);
|
||||
VecSph* OLib_Vec3fDiffToVecSphGeo(VecSph* dest, Vec3f* a, Vec3f* b);
|
||||
Vec3f* OLib_VecSphAddToVec3f(Vec3f* dest, Vec3f* a, VecSph* sph);
|
||||
VecGeo* OLib_Vec3fDiffToVecGeo(VecGeo* dest, Vec3f* a, Vec3f* b);
|
||||
Vec3f* OLib_AddVecGeoToVec3f(Vec3f* dest, Vec3f* a, VecGeo* geo);
|
||||
Vec3f* OLib_Vec3fDiffRad(Vec3f* dest, Vec3f* a, Vec3f* b);
|
||||
Vec3f* OLib_Vec3fDiffDegF(Vec3f* dest, Vec3f* a, Vec3f* b);
|
||||
Vec3s* OLib_Vec3fDiffBinAng(Vec3s* dest, Vec3f* a, Vec3f* b);
|
||||
void OLib_DbCameraVec3fDiff(PosRot* a, Vec3f* b, Vec3f* dest, s16 mode);
|
||||
void OLib_DbCameraVec3fSum(PosRot* a, Vec3f* b, Vec3f* dest, s16 mode);
|
||||
void OLib_Vec3fDiff(PosRot* a, Vec3f* b, Vec3f* dest, s16 mode);
|
||||
void OLib_Vec3fAdd(PosRot* a, Vec3f* b, Vec3f* dest, s16 mode);
|
||||
|
||||
Gfx* Gfx_DrawTexRectRGBA16(Gfx* gfx, TexturePtr texture, s16 textureWidth, s16 textureHeight, s16 rectLeft, s16 rectTop, s16 rectWidth, s16 rectHeight, u16 dsdx, u16 dtdy);
|
||||
Gfx* Gfx_DrawTexRectIA8(Gfx* gfx, TexturePtr texture, s16 textureWidth, s16 textureHeight, s16 rectLeft, s16 rectTop, s16 rectWidth, s16 rectHeight, u16 dsdx, u16 dtdy);
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
#ifndef _INITVARS_H_
|
||||
#define _INITVARS_H_
|
||||
|
||||
extern TransitionInit TransitionFade_InitVars;
|
||||
extern TransitionInit TransitionTriforce_InitVars;
|
||||
extern TransitionInit TransitionWipe1_InitVars;
|
||||
extern TransitionInit TransitionWipe3_InitVars;
|
||||
extern TransitionInit TransitionWipe4_InitVars;
|
||||
extern TransitionInit TransitionCircle_InitVars;
|
||||
extern TransitionInit TransitionWipe5_InitVars;
|
||||
|
||||
#endif
|
||||
@@ -88,12 +88,6 @@ DECLARE_OVERLAY_SEGMENT(player_actor)
|
||||
#undef DEFINE_ACTOR_INTERNAL
|
||||
#undef DEFINE_ACTOR_UNSET
|
||||
|
||||
DECLARE_OVERLAY_SEGMENT(fbdemo_triforce)
|
||||
DECLARE_OVERLAY_SEGMENT(fbdemo_wipe1)
|
||||
DECLARE_OVERLAY_SEGMENT(fbdemo_wipe3)
|
||||
DECLARE_OVERLAY_SEGMENT(fbdemo_wipe4)
|
||||
DECLARE_OVERLAY_SEGMENT(fbdemo_wipe5)
|
||||
|
||||
#define DEFINE_OBJECT(name, _enumValue) DECLARE_ROM_SEGMENT(name)
|
||||
#define DEFINE_OBJECT_UNSET(_enumValue)
|
||||
#define DEFINE_OBJECT_SIZE_ZERO(_name, _enumValue)
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
/**
|
||||
* Transition Table
|
||||
*
|
||||
* DEFINE_TRANSITION should be used for normal transitions
|
||||
* - Argument 0: Enum value for this transition
|
||||
* - Argument 1: Name of the effect struct
|
||||
* - Argument 2: Instance name
|
||||
* - Argument 3: Name of the effect (without the ovl_ part)
|
||||
*
|
||||
* DEFINE_TRANSITION_INTERNAL should be used for transitions that aren't an overlay
|
||||
* - Argument 0: Enum value for this transition
|
||||
* - Argument 1: Name of the effect struct
|
||||
* - Argument 2: Instance name
|
||||
*/
|
||||
/* 0 */ DEFINE_TRANSITION_INTERNAL(FBDEMO_FADE, TransitionFade, fade)
|
||||
/* 1 */ DEFINE_TRANSITION(FBDEMO_TRIFORCE, TransitionTriforce, triforce, fbdemo_triforce)
|
||||
/* 2 */ DEFINE_TRANSITION(FBDEMO_WIPE1, TransitionWipe1, wipe1, fbdemo_wipe1)
|
||||
/* 3 */ DEFINE_TRANSITION(FBDEMO_WIPE3, TransitionWipe3, wipe3, fbdemo_wipe3)
|
||||
/* 4 */ DEFINE_TRANSITION(FBDEMO_WIPE4, TransitionWipe4, wipe4, fbdemo_wipe4)
|
||||
/* 5 */ DEFINE_TRANSITION_INTERNAL(FBDEMO_CIRCLE, TransitionCircle, circle)
|
||||
/* 6 */ DEFINE_TRANSITION(FBDEMO_WIPE5, TransitionWipe5, wipe5, fbdemo_wipe5)
|
||||
+1
-33
@@ -384,23 +384,6 @@ extern BgCheckSceneSubdivisionEntry sSceneSubdivisionList[];
|
||||
extern BgSpecialSceneMaxObjects sCustomDynapolyMem[];
|
||||
// extern UNK_TYPE1 D_801B4708;
|
||||
|
||||
// extern UNK_TYPE4 D_801B9E0C;
|
||||
// extern UNK_TYPE4 D_801B9E10;
|
||||
// extern UNK_TYPE4 D_801B9E14;
|
||||
// extern UNK_TYPE2 D_801B9E18;
|
||||
// extern UNK_TYPE2 D_801B9E34;
|
||||
// extern UNK_TYPE4 D_801B9E50;
|
||||
// extern UNK_TYPE4 D_801B9E54;
|
||||
// extern UNK_TYPE4 D_801B9E58;
|
||||
// extern UNK_TYPE4 D_801B9E5C;
|
||||
// extern UNK_TYPE4 D_801B9E60;
|
||||
// extern UNK_TYPE1 D_801B9E64;
|
||||
// extern UNK_TYPE1 D_801B9E84;
|
||||
// extern UNK_TYPE4 D_801B9EB4;
|
||||
// extern UNK_TYPE4 D_801B9ED4;
|
||||
// extern UNK_TYPE4 sEarthquakeFreq;
|
||||
// extern UNK_TYPE2 sEarthquakeTimer;
|
||||
extern UNK_TYPE4 D_801B9F10;
|
||||
extern DamageTable sDamageTablePresets[23];
|
||||
extern f32 damageMultipliers[16];
|
||||
extern Collider defaultCollider;
|
||||
@@ -746,7 +729,6 @@ extern char D_801D039C[];
|
||||
extern KaleidoMgrOverlay gKaleidoMgrOverlayTable[2];
|
||||
// extern UNK_TYPE1 D_801D0B8C;
|
||||
extern KaleidoMgrOverlay* gKaleidoMgrCurOvl;
|
||||
// extern UNK_TYPE4 D_801D0BB0;
|
||||
// extern UNK_TYPE1 D_801D0C80;
|
||||
// extern UNK_TYPE1 D_801D0CB0;
|
||||
extern s32 gDbgCamEnabled;
|
||||
@@ -2241,7 +2223,7 @@ extern f32 D_801ED8D0;
|
||||
// extern UNK_TYPE1 D_801ED8D8;
|
||||
// extern UNK_TYPE1 D_801ED8DC;
|
||||
extern Mtx D_801ED8E0;
|
||||
// extern UNK_TYPE1 D_801ED920;
|
||||
extern Actor* D_801ED920;
|
||||
extern FaultClient sActorOverlayTableFaultClient;
|
||||
extern FaultAddrConvClient sActorOverlayTableFaultAddrConvClient;
|
||||
extern char D_801ED950[80];
|
||||
@@ -2257,20 +2239,6 @@ extern Vec3f D_801EDB70[3];
|
||||
extern Plane D_801EDB98;
|
||||
extern Sphere16 D_801EDBA8;
|
||||
extern TriNorm D_801EDBB0;
|
||||
// extern UNK_TYPE1 D_801EDBD4;
|
||||
// extern UNK_TYPE1 D_801EDBD8;
|
||||
// extern UNK_TYPE1 D_801EDBDC;
|
||||
// extern UNK_TYPE1 D_801EDBE0;
|
||||
|
||||
// extern s16 D_801EDBF0;
|
||||
// extern f32 D_801EDBF4;
|
||||
// extern f32 D_801EDBF8;
|
||||
// extern CameraCollision D_801EDC00;
|
||||
// extern PlayState* sCamPlayState;
|
||||
// extern SwingAnimation D_801EDC30[4];
|
||||
// extern Vec3f D_801EDDD0;
|
||||
// extern Vec3f D_801EDDE0;
|
||||
// extern Vec3f D_801EDDF0;
|
||||
|
||||
extern Vec3f D_801EDE00;
|
||||
extern Vec3f D_801EDE10;
|
||||
|
||||
+7
-7
@@ -261,11 +261,11 @@ typedef struct {
|
||||
/* 0x188 */ Vtx* questPageVtx;
|
||||
/* 0x18C */ Vtx* maskPageVtx;
|
||||
/* 0x190 */ Vtx* itemVtx;
|
||||
/* 0x194 */ Vtx* mapVtx;
|
||||
/* 0x194 */ Vtx* mapVtx; // inferred
|
||||
/* 0x198 */ Vtx* questVtx;
|
||||
/* 0x19C */ Vtx* maskVtx;
|
||||
/* 0x1A0 */ Vtx* unk_1A0;
|
||||
/* 0x1A4 */ Vtx* unk_1A4;
|
||||
/* 0x1A0 */ Vtx* promptPageVtx;
|
||||
/* 0x1A4 */ Vtx* infoPanelVtx;
|
||||
/* 0x1A8 */ Vtx* cursorVtx;
|
||||
/* 0x1AC */ OcarinaStaff* ocarinaStaff;
|
||||
/* 0x1B0 */ UNK_TYPE1 unk_1B0[0x20];
|
||||
@@ -281,10 +281,10 @@ typedef struct {
|
||||
/* 0x206 */ u16 switchPageTimer;
|
||||
/* 0x208 */ u16 savePromptState;
|
||||
/* 0x20C */ f32 unk_20C;
|
||||
/* 0x210 */ f32 itemPageRoll; // rotation (-z) of the item page into the screen
|
||||
/* 0x214 */ f32 mapPageRoll; // rotation (+x) of the map page into the screen
|
||||
/* 0x218 */ f32 questPageRoll; // rotation (+z) of the quest page into the screen
|
||||
/* 0x21C */ f32 maskPageRoll; // rotation (-z) of the mask page into the screen
|
||||
/* 0x210 */ f32 itemPageRoll; // rotation (-z) of the item page into the screen
|
||||
/* 0x214 */ f32 mapPageRoll; // rotation (+x) of the map page into the screen
|
||||
/* 0x218 */ f32 questPageRoll; // rotation (+z) of the quest page into the screen
|
||||
/* 0x21C */ f32 maskPageRoll; // rotation (-z) of the mask page into the screen
|
||||
/* 0x220 */ f32 roll;
|
||||
/* 0x224 */ u16 alpha;
|
||||
/* 0x226 */ s16 offsetY;
|
||||
|
||||
+14
-8
@@ -389,12 +389,18 @@ typedef struct {
|
||||
/* 0xE */ s16 intensity;
|
||||
} TitleCardContext; // size = 0x10
|
||||
|
||||
typedef struct ActorContext_unk_1F4 {
|
||||
/* 0x00 */ u8 unk_00;
|
||||
typedef enum {
|
||||
/* 0 */ PLAYER_IMPACT_GORON_GROUND_POUND,
|
||||
/* 1 */ PLAYER_IMPACT_ZORA_BARRIER,
|
||||
/* 2 */ PLAYER_IMPACT_BONK // also activated by goron attack
|
||||
} PlayerImpactType;
|
||||
|
||||
typedef struct PlayerImpact {
|
||||
/* 0x00 */ u8 type;
|
||||
/* 0x01 */ u8 timer;
|
||||
/* 0x04 */ f32 unk_04;
|
||||
/* 0x08 */ Vec3f unk_08;
|
||||
} ActorContext_unk_1F4; // size = 0x14
|
||||
/* 0x04 */ f32 dist;
|
||||
/* 0x08 */ Vec3f pos;
|
||||
} PlayerImpact; // size = 0x14
|
||||
|
||||
typedef struct ActorContext_unk_20C {
|
||||
/* 0x0 */ s16 id;
|
||||
@@ -458,7 +464,7 @@ typedef struct ActorContext {
|
||||
/* 0x120 */ TargetContext targetContext;
|
||||
/* 0x1B8 */ ActorContextSceneFlags sceneFlags;
|
||||
/* 0x1E4 */ TitleCardContext titleCtxt;
|
||||
/* 0x1F4 */ ActorContext_unk_1F4 unk_1F4;
|
||||
/* 0x1F4 */ PlayerImpact playerImpact;
|
||||
/* 0x208 */ UNK_TYPE1 unk_208[0x4];
|
||||
/* 0x20C */ ActorContext_unk_20C unk_20C[8];
|
||||
/* 0x24C */ UNK_TYPE1 unk_24C[0x4];
|
||||
@@ -526,8 +532,8 @@ typedef enum {
|
||||
#define ACTOR_FLAG_400 (1 << 10)
|
||||
//
|
||||
#define ACTOR_FLAG_800 (1 << 11)
|
||||
//
|
||||
#define ACTOR_FLAG_1000 (1 << 12)
|
||||
// Actor will not shake when a quake occurs
|
||||
#define ACTOR_FLAG_IGNORE_QUAKE (1 << 12)
|
||||
//
|
||||
#define ACTOR_FLAG_2000 (1 << 13)
|
||||
//
|
||||
|
||||
@@ -255,7 +255,7 @@ typedef struct {
|
||||
/* 0x14 */ u16 numPolygons;
|
||||
/* 0x18 */ CollisionPoly* polyList;
|
||||
/* 0x1C */ SurfaceType* surfaceTypeList;
|
||||
/* 0x20 */ CamData* bgCamList;
|
||||
/* 0x20 */ BgCamInfo* bgCamList;
|
||||
/* 0x24 */ u16 numWaterBoxes;
|
||||
/* 0x28 */ WaterBox* waterBoxes;
|
||||
} CollisionHeader; // size = 0x2C
|
||||
|
||||
+54
-54
@@ -90,18 +90,18 @@
|
||||
#define CAM_BEHAVIOR_SETTING_2 (1 << 4)
|
||||
// Mode (0x2, 0x20)
|
||||
#define CAM_BEHAVIOR_MODE_1 (1 << 1)
|
||||
#define CAM_BEHAVIOR_MODE_2 (1 << 5)
|
||||
#define CAM_BEHAVIOR_MODE_VALID (1 << 5)
|
||||
// bgCam (0x4, 0x40)
|
||||
#define CAM_BEHAVIOR_BGCAM_1 (1 << 2)
|
||||
#define CAM_BEHAVIOR_BGCAM_2 (1 << 6)
|
||||
|
||||
// Camera stateFlags. Variety of generic flags
|
||||
#define CAM_STATE_0 (1 << 0) // Must be set for the camera from changing settings based on the bg surface
|
||||
#define CAM_STATE_1 (1 << 1)
|
||||
#define CAM_STATE_CHECK_WATER (1 << 1)
|
||||
#define CAM_STATE_2 (1 << 2)
|
||||
#define CAM_STATE_3 (1 << 3)
|
||||
#define CAM_STATE_4 (1 << 4)
|
||||
#define CAM_STATE_5 (1 << 5)
|
||||
#define CAM_STATE_DISABLE_MODE_CHANGE (1 << 5)
|
||||
#define CAM_STATE_6 (1 << 6)
|
||||
#define CAM_STATE_7 (1 << 7)
|
||||
#define CAM_STATE_UNDERWATER (1 << 8)
|
||||
@@ -110,7 +110,7 @@
|
||||
#define CAM_STATE_11 (1 << 11)
|
||||
#define CAM_STATE_12 (1 << 12)
|
||||
#define CAM_STATE_13 (1 << 13)
|
||||
#define CAM_STATE_14 (1 << 14)
|
||||
#define CAM_STATE_INITIALIZED (1 << 14)
|
||||
#define CAM_STATE_15 ((s16)(1 << 15))
|
||||
|
||||
// Camera viewFlags. Set params related to view
|
||||
@@ -340,13 +340,13 @@ typedef enum {
|
||||
} CameraFuncType;
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ CAM_DATA_00,
|
||||
/* 0x00 */ CAM_DATA_Y_OFFSET,
|
||||
/* 0x01 */ CAM_DATA_01,
|
||||
/* 0x02 */ CAM_DATA_02,
|
||||
/* 0x03 */ CAM_DATA_03,
|
||||
/* 0x03 */ CAM_DATA_PITCH_TARGET,
|
||||
/* 0x04 */ CAM_DATA_04,
|
||||
/* 0x05 */ CAM_DATA_05,
|
||||
/* 0x06 */ CAM_DATA_06,
|
||||
/* 0x06 */ CAM_DATA_YAW_DIFF_RANGE,
|
||||
/* 0x07 */ CAM_DATA_FOV,
|
||||
/* 0x08 */ CAM_DATA_08,
|
||||
/* 0x09 */ CAM_DATA_INTERFACE_FLAGS,
|
||||
@@ -374,7 +374,7 @@ typedef struct {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ Vec3f norm;
|
||||
/* 0x18 */ CollisionPoly* poly;
|
||||
/* 0x1C */ VecSph sphNorm;
|
||||
/* 0x1C */ VecGeo geoNorm;
|
||||
/* 0x24 */ s32 bgId;
|
||||
} CameraCollision; // size = 0x28
|
||||
|
||||
@@ -405,13 +405,13 @@ typedef struct {
|
||||
*/
|
||||
|
||||
#define CAM_FUNCDATA_NORM1(yOffset, data01, data02, pitchTarget, eyeStepScale, posStepScale, yawDiffRange, fov, data08, interfaceFlags) \
|
||||
{ yOffset, CAM_DATA_00 }, \
|
||||
{ yOffset, CAM_DATA_Y_OFFSET }, \
|
||||
{ data01, CAM_DATA_01 }, \
|
||||
{ data02, CAM_DATA_02 }, \
|
||||
{ pitchTarget, CAM_DATA_03 }, \
|
||||
{ pitchTarget, CAM_DATA_PITCH_TARGET }, \
|
||||
{ eyeStepScale, CAM_DATA_04 }, \
|
||||
{ posStepScale, CAM_DATA_05 }, \
|
||||
{ yawDiffRange, CAM_DATA_06 }, \
|
||||
{ yawDiffRange, CAM_DATA_YAW_DIFF_RANGE }, \
|
||||
{ fov, CAM_DATA_FOV }, \
|
||||
{ data08, CAM_DATA_08 }, \
|
||||
{ interfaceFlags, CAM_DATA_INTERFACE_FLAGS }
|
||||
@@ -462,10 +462,10 @@ typedef struct {
|
||||
// Unused Camera RemoteBomb Setting
|
||||
|
||||
#define CAM_FUNCDATA_NORM2(yOffset, data01, data02, pitchTarget, data04, fov, data08, interfaceFlags) \
|
||||
{ yOffset, CAM_DATA_00 }, \
|
||||
{ yOffset, CAM_DATA_Y_OFFSET }, \
|
||||
{ data01, CAM_DATA_01 }, \
|
||||
{ data02, CAM_DATA_02 }, \
|
||||
{ pitchTarget, CAM_DATA_03 }, \
|
||||
{ pitchTarget, CAM_DATA_PITCH_TARGET }, \
|
||||
{ data04, CAM_DATA_04 }, \
|
||||
{ fov, CAM_DATA_FOV }, \
|
||||
{ data08, CAM_DATA_08 }, \
|
||||
@@ -480,10 +480,10 @@ typedef struct {
|
||||
*/
|
||||
|
||||
#define CAM_FUNCDATA_NORM3(yOffset, data01, data02, pitchTarget, eyeStepScale, posStepScale, fov, data08, interfaceFlags) \
|
||||
{ yOffset, CAM_DATA_00 }, \
|
||||
{ yOffset, CAM_DATA_Y_OFFSET }, \
|
||||
{ data01, CAM_DATA_01 }, \
|
||||
{ data02, CAM_DATA_02 }, \
|
||||
{ pitchTarget, CAM_DATA_03 }, \
|
||||
{ pitchTarget, CAM_DATA_PITCH_TARGET }, \
|
||||
{ eyeStepScale, CAM_DATA_04 }, \
|
||||
{ posStepScale, CAM_DATA_05 }, \
|
||||
{ fov, CAM_DATA_FOV }, \
|
||||
@@ -530,12 +530,12 @@ typedef struct {
|
||||
*/
|
||||
|
||||
#define CAM_FUNCDATA_NORM0(yOffset, data01, data02, data21, data04, yawDiffRange, fov, data08, interfaceFlags) \
|
||||
{ yOffset, CAM_DATA_00 }, \
|
||||
{ yOffset, CAM_DATA_Y_OFFSET }, \
|
||||
{ data01, CAM_DATA_01 }, \
|
||||
{ data02, CAM_DATA_02 }, \
|
||||
{ data21, CAM_DATA_21 }, \
|
||||
{ data04, CAM_DATA_04 }, \
|
||||
{ yawDiffRange, CAM_DATA_06 }, \
|
||||
{ yawDiffRange, CAM_DATA_YAW_DIFF_RANGE }, \
|
||||
{ fov, CAM_DATA_FOV }, \
|
||||
{ data08, CAM_DATA_08 }, \
|
||||
{ interfaceFlags, CAM_DATA_INTERFACE_FLAGS }
|
||||
@@ -581,10 +581,10 @@ typedef struct {
|
||||
*/
|
||||
|
||||
#define CAM_FUNCDATA_PARA1(yOffset, data01, data02, pitchTarget, data10, data04, data05, fov, data08, interfaceFlags, data11, data12) \
|
||||
{ yOffset, CAM_DATA_00 }, \
|
||||
{ yOffset, CAM_DATA_Y_OFFSET }, \
|
||||
{ data01, CAM_DATA_01 }, \
|
||||
{ data02, CAM_DATA_02 }, \
|
||||
{ pitchTarget, CAM_DATA_03 }, \
|
||||
{ pitchTarget, CAM_DATA_PITCH_TARGET }, \
|
||||
{ data10, CAM_DATA_10 }, \
|
||||
{ data04, CAM_DATA_04 }, \
|
||||
{ data05, CAM_DATA_05 }, \
|
||||
@@ -596,10 +596,10 @@ typedef struct {
|
||||
|
||||
// Same as above but with extra unused entry
|
||||
#define CAM_FUNCDATA_PARA1_ALT(yOffset, data01, data02, pitchTarget, data10, data04, data05, fov, data08, interfaceFlags, data11, data12, data18) \
|
||||
{ yOffset, CAM_DATA_00 }, \
|
||||
{ yOffset, CAM_DATA_Y_OFFSET }, \
|
||||
{ data01, CAM_DATA_01 }, \
|
||||
{ data02, CAM_DATA_02 }, \
|
||||
{ pitchTarget, CAM_DATA_03 }, \
|
||||
{ pitchTarget, CAM_DATA_PITCH_TARGET }, \
|
||||
{ data10, CAM_DATA_10 }, \
|
||||
{ data04, CAM_DATA_04 }, \
|
||||
{ data05, CAM_DATA_05 }, \
|
||||
@@ -662,10 +662,10 @@ typedef struct {
|
||||
// Unused Camera Maze Setting
|
||||
|
||||
#define CAM_FUNCDATA_PARA2(yOffset, data02, data01, pitchTarget, data04, fov, data08, interfaceFlags) \
|
||||
{ yOffset, CAM_DATA_00 }, \
|
||||
{ yOffset, CAM_DATA_Y_OFFSET }, \
|
||||
{ data02, CAM_DATA_02 }, \
|
||||
{ data01, CAM_DATA_01 }, \
|
||||
{ pitchTarget, CAM_DATA_03 }, \
|
||||
{ pitchTarget, CAM_DATA_PITCH_TARGET }, \
|
||||
{ data04, CAM_DATA_04 }, \
|
||||
{ fov, CAM_DATA_FOV }, \
|
||||
{ data08, CAM_DATA_08 }, \
|
||||
@@ -680,7 +680,7 @@ typedef struct {
|
||||
*/
|
||||
|
||||
#define CAM_FUNCDATA_JUMP2(yOffset, data01, data02, data20, data04, data05, fov, data08, interfaceFlags) \
|
||||
{ yOffset, CAM_DATA_00 }, \
|
||||
{ yOffset, CAM_DATA_Y_OFFSET }, \
|
||||
{ data01, CAM_DATA_01 }, \
|
||||
{ data02, CAM_DATA_02 }, \
|
||||
{ data20, CAM_DATA_20 }, \
|
||||
@@ -729,13 +729,13 @@ typedef struct {
|
||||
*/
|
||||
|
||||
#define CAM_FUNCDATA_JUMP3(yOffset, data01, data02, pitchTarget, data04, data05, yawDiffRange, fov, data08, interfaceFlags) \
|
||||
{ yOffset, CAM_DATA_00 }, \
|
||||
{ yOffset, CAM_DATA_Y_OFFSET }, \
|
||||
{ data01, CAM_DATA_01 }, \
|
||||
{ data02, CAM_DATA_02 }, \
|
||||
{ pitchTarget, CAM_DATA_03 }, \
|
||||
{ pitchTarget, CAM_DATA_PITCH_TARGET }, \
|
||||
{ data04, CAM_DATA_04 }, \
|
||||
{ data05, CAM_DATA_05 }, \
|
||||
{ yawDiffRange, CAM_DATA_06 }, \
|
||||
{ yawDiffRange, CAM_DATA_YAW_DIFF_RANGE }, \
|
||||
{ fov, CAM_DATA_FOV }, \
|
||||
{ data08, CAM_DATA_08 }, \
|
||||
{ interfaceFlags, CAM_DATA_INTERFACE_FLAGS }
|
||||
@@ -785,7 +785,7 @@ typedef struct {
|
||||
*/
|
||||
|
||||
#define CAM_FUNCDATA_BATT1(yOffset, data01, data02, data13, data14, data15, data16, data17, fov, data08, interfaceFlags, data11, data18) \
|
||||
{ yOffset, CAM_DATA_00 }, \
|
||||
{ yOffset, CAM_DATA_Y_OFFSET }, \
|
||||
{ data01, CAM_DATA_01 }, \
|
||||
{ data02, CAM_DATA_02 }, \
|
||||
{ data13, CAM_DATA_13 }, \
|
||||
@@ -845,7 +845,7 @@ typedef struct {
|
||||
*/
|
||||
|
||||
#define CAM_FUNCDATA_KEEP1(yOffset, data01, data02, data13, data14, data15, data16, data17, fov, data08, interfaceFlags, data11) \
|
||||
{ yOffset, CAM_DATA_00 }, \
|
||||
{ yOffset, CAM_DATA_Y_OFFSET }, \
|
||||
{ data01, CAM_DATA_01 }, \
|
||||
{ data02, CAM_DATA_02 }, \
|
||||
{ data13, CAM_DATA_13 }, \
|
||||
@@ -902,7 +902,7 @@ typedef struct {
|
||||
*/
|
||||
|
||||
#define CAM_FUNCDATA_KEEP3(yOffset, data01, data02, data13, data14, data15, data16, data17, fov, data08, timer, interfaceFlags, data18) \
|
||||
{ yOffset, CAM_DATA_00 }, \
|
||||
{ yOffset, CAM_DATA_Y_OFFSET }, \
|
||||
{ data01, CAM_DATA_01 }, \
|
||||
{ data02, CAM_DATA_02 }, \
|
||||
{ data13, CAM_DATA_13 }, \
|
||||
@@ -957,9 +957,9 @@ typedef struct {
|
||||
*/
|
||||
|
||||
#define CAM_FUNCDATA_KEEP4(yOffset, data01, pitchTarget, data10, data18, fov, interfaceFlags, data04, timer) \
|
||||
{ yOffset, CAM_DATA_00 }, \
|
||||
{ yOffset, CAM_DATA_Y_OFFSET }, \
|
||||
{ data01, CAM_DATA_01 }, \
|
||||
{ pitchTarget, CAM_DATA_03 }, \
|
||||
{ pitchTarget, CAM_DATA_PITCH_TARGET }, \
|
||||
{ data10, CAM_DATA_10 }, \
|
||||
{ data18, CAM_DATA_18 }, \
|
||||
{ fov, CAM_DATA_FOV }, \
|
||||
@@ -1008,7 +1008,7 @@ typedef struct {
|
||||
*/
|
||||
|
||||
#define CAM_FUNCDATA_FIXD1(yOffset, data04, fov, interfaceFlags) \
|
||||
{ yOffset, CAM_DATA_00 }, \
|
||||
{ yOffset, CAM_DATA_Y_OFFSET }, \
|
||||
{ data04, CAM_DATA_04 }, \
|
||||
{ fov, CAM_DATA_FOV }, \
|
||||
{ interfaceFlags, CAM_DATA_INTERFACE_FLAGS }
|
||||
@@ -1040,7 +1040,7 @@ typedef struct {
|
||||
*/
|
||||
|
||||
#define CAM_FUNCDATA_FIXD2(yOffset, data01, data02, data04, data05, fov, interfaceFlags) \
|
||||
{ yOffset, CAM_DATA_00 }, \
|
||||
{ yOffset, CAM_DATA_Y_OFFSET }, \
|
||||
{ data01, CAM_DATA_01 }, \
|
||||
{ data02, CAM_DATA_02 }, \
|
||||
{ data04, CAM_DATA_04 }, \
|
||||
@@ -1097,7 +1097,7 @@ typedef struct {
|
||||
*/
|
||||
|
||||
#define CAM_FUNCDATA_SUBJ1(yOffset, data01, data02, data04, data19, data17, data18, fov, interfaceFlags) \
|
||||
{ yOffset, CAM_DATA_00 }, \
|
||||
{ yOffset, CAM_DATA_Y_OFFSET }, \
|
||||
{ data01, CAM_DATA_01 }, \
|
||||
{ data02, CAM_DATA_02 }, \
|
||||
{ data04, CAM_DATA_04 }, \
|
||||
@@ -1140,7 +1140,7 @@ typedef struct {
|
||||
*/
|
||||
|
||||
#define CAM_FUNCDATA_UNIQ2(yOffset, data01, fov, interfaceFlags) \
|
||||
{ yOffset, CAM_DATA_00 }, \
|
||||
{ yOffset, CAM_DATA_Y_OFFSET }, \
|
||||
{ data01, CAM_DATA_01 }, \
|
||||
{ fov, CAM_DATA_FOV }, \
|
||||
{ interfaceFlags, CAM_DATA_INTERFACE_FLAGS }
|
||||
@@ -1175,7 +1175,7 @@ typedef struct {
|
||||
*/
|
||||
|
||||
#define CAM_FUNCDATA_UNIQ0(yOffset, data04, interfaceFlags) \
|
||||
{ yOffset, CAM_DATA_00 }, \
|
||||
{ yOffset, CAM_DATA_Y_OFFSET }, \
|
||||
{ data04, CAM_DATA_04 }, \
|
||||
{ interfaceFlags, CAM_DATA_INTERFACE_FLAGS }
|
||||
|
||||
@@ -1244,8 +1244,8 @@ typedef struct {
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3f unk_00;
|
||||
/* 0x0C */ VecSph unk_0C;
|
||||
/* 0x14 */ VecSph unk_14;
|
||||
/* 0x0C */ VecGeo unk_0C;
|
||||
/* 0x14 */ VecGeo unk_14;
|
||||
/* 0x1C */ s16 unk_1C;
|
||||
} Demo1ReadWriteData; // size = 0x20
|
||||
|
||||
@@ -1319,7 +1319,7 @@ typedef struct {
|
||||
/* 0x0C */ f32 unk_0C;
|
||||
/* 0x10 */ f32 unk_10;
|
||||
/* 0x14 */ f32 unk_14;
|
||||
/* 0x18 */ VecSph unk_18;
|
||||
/* 0x18 */ VecGeo unk_18;
|
||||
/* 0x20 */ s16 unk_20;
|
||||
/* 0x22 */ s16 timer;
|
||||
} Demo4ReadWriteData; // size = 0x24
|
||||
@@ -1345,7 +1345,7 @@ typedef struct {
|
||||
/* 0x10 */ f32 unk_10;
|
||||
/* 0x14 */ f32 unk_14;
|
||||
/* 0x18 */ f32 unk_18;
|
||||
/* 0x1C */ VecSph unk_1C;
|
||||
/* 0x1C */ VecGeo unk_1C;
|
||||
/* 0x24 */ s16 unk_24;
|
||||
/* 0x26 */ s16 timer;
|
||||
} Demo5ReadWriteData; // size = 0x28
|
||||
@@ -1367,8 +1367,8 @@ typedef struct {
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ f32 unk_00;
|
||||
/* 0x04 */ VecSph subAtToEye;
|
||||
/* 0x0C */ VecSph atToEye;
|
||||
/* 0x04 */ VecGeo subAtToEye;
|
||||
/* 0x0C */ VecGeo atToEye;
|
||||
/* 0x14 */ s16 unk_14;
|
||||
/* 0x16 */ s16 unk_16;
|
||||
/* 0x18 */ s16 unk_18;
|
||||
@@ -1387,10 +1387,10 @@ typedef struct {
|
||||
*/
|
||||
|
||||
#define CAM_FUNCDATA_SPEC5(yOffset, eyeDist, minDistForRot, fov, atMaxLERPScale, timerInit, pitch, interfaceFlags) \
|
||||
{ yOffset, CAM_DATA_00 }, \
|
||||
{ yOffset, CAM_DATA_Y_OFFSET }, \
|
||||
{ eyeDist, CAM_DATA_01 }, \
|
||||
{ minDistForRot, CAM_DATA_02 }, \
|
||||
{ fov, CAM_DATA_03 }, \
|
||||
{ fov, CAM_DATA_PITCH_TARGET }, \
|
||||
{ atMaxLERPScale, CAM_DATA_FOV }, \
|
||||
{ timerInit, CAM_DATA_08 }, \
|
||||
{ pitch, CAM_DATA_12 }, \
|
||||
@@ -1446,7 +1446,7 @@ typedef struct {
|
||||
*/
|
||||
|
||||
#define CAM_FUNCDATA_SPEC8(yOffset, eyeStepScale, posStepScale, fov, spiralDoorCsLength, interfaceFlags) \
|
||||
{ yOffset, CAM_DATA_00 }, \
|
||||
{ yOffset, CAM_DATA_Y_OFFSET }, \
|
||||
{ eyeStepScale, CAM_DATA_04 }, \
|
||||
{ posStepScale, CAM_DATA_05 }, \
|
||||
{ fov, CAM_DATA_FOV }, \
|
||||
@@ -1483,7 +1483,7 @@ typedef struct {
|
||||
*/
|
||||
|
||||
#define CAM_FUNCDATA_SPEC9(yOffset, fov, interfaceFlags) \
|
||||
{ yOffset, CAM_DATA_00 }, \
|
||||
{ yOffset, CAM_DATA_Y_OFFSET }, \
|
||||
{ fov, CAM_DATA_FOV }, \
|
||||
{ interfaceFlags, CAM_DATA_INTERFACE_FLAGS }
|
||||
|
||||
@@ -1565,11 +1565,11 @@ typedef struct Camera {
|
||||
/* 0x0D8 */ f32 xzSpeed;
|
||||
/* 0x0DC */ f32 dist;
|
||||
/* 0x0E0 */ f32 speedRatio;
|
||||
/* 0x0E4 */ Vec3f atActorOffset;
|
||||
/* 0x0F0 */ Vec3f focalActorOffset;
|
||||
/* 0x0E4 */ Vec3f focalActorAtOffset; // Offset between the camera's at Pos and the focalActor's Pos
|
||||
/* 0x0F0 */ Vec3f unk_0F0; // Offset between the focalActor's Pos and the camera's focalActor's Pos from the previous frame
|
||||
/* 0x0FC */ f32 fov;
|
||||
/* 0x100 */ f32 atLerpStepScale;
|
||||
/* 0x104 */ f32 playerFloorHeight;
|
||||
/* 0x104 */ f32 focalActorFloorHeight;
|
||||
/* 0x108 */ Vec3f floorNorm;
|
||||
/* 0x114 */ f32 waterYPos;
|
||||
/* 0x118 */ s32 waterPrevBgCamDataId;
|
||||
@@ -1588,11 +1588,11 @@ typedef struct Camera {
|
||||
/* 0x142 */ s16 setting;
|
||||
/* 0x144 */ s16 mode;
|
||||
/* 0x146 */ s16 bgId;
|
||||
/* 0x148 */ s16 bgCamDataId;
|
||||
/* 0x148 */ s16 bgCamIndex;
|
||||
/* 0x14A */ s16 behaviorFlags;
|
||||
/* 0x14C */ s16 stateFlags;
|
||||
/* 0x14E */ s16 childCamId;
|
||||
/* 0x150 */ s16 doorTimer1; // a door timer used when door cam is indexed from bgCamDataId
|
||||
/* 0x150 */ s16 doorTimer1; // a door timer used when door cam is indexed from bgCamIndex
|
||||
/* 0x152 */ s16 unk152;
|
||||
/* 0x154 */ s16 prevSetting;
|
||||
/* 0x156 */ s16 nextCamSceneDataId;
|
||||
@@ -1600,8 +1600,8 @@ typedef struct Camera {
|
||||
/* 0x15A */ s16 roll;
|
||||
/* 0x15C */ s16 viewFlags;
|
||||
/* 0x15E */ s16 animState; // Determines the current state of the current camera behavior function
|
||||
/* 0x160 */ s16 unk160;
|
||||
/* 0x162 */ s16 doorTimer2; // a door timer used when door cam is indexed from bgCamDataId
|
||||
/* 0x160 */ s16 timer; // Unused remnant of OoT: originally destoryed subCamera when timer ran out
|
||||
/* 0x162 */ s16 doorTimer2; // a door timer used when door cam is indexed from bgCamIndex
|
||||
/* 0x164 */ s16 camId;
|
||||
/* 0x166 */ s16 prevBgCamDataId;
|
||||
/* 0x168 */ s16 unk168;
|
||||
|
||||
+25
-5
@@ -87,12 +87,32 @@ typedef struct {
|
||||
/* 0x0C */ Vec3f b;
|
||||
} Linef; // size = 0x18
|
||||
|
||||
// Defines a point in the spherical coordinate system
|
||||
typedef struct {
|
||||
/* 0x0 */ f32 r; // radius
|
||||
/* 0x4 */ s16 pitch; // polar (zenith) angle
|
||||
/* 0x6 */ s16 yaw; // azimuthal angle
|
||||
} VecSph; // size = 0x8
|
||||
/* 0x0 */ f32 r; // radius
|
||||
/* 0x4 */ s16 pitch; // depends on coordinate system. See below.
|
||||
/* 0x6 */ s16 yaw; // azimuthal angle
|
||||
} VecSphGeo; // size = 0x8
|
||||
|
||||
// Defines a point in the spherical coordinate system.
|
||||
// Pitch is 0 along the positive y-axis (up)
|
||||
typedef VecSphGeo VecSph;
|
||||
|
||||
// Defines a point in the geographic coordinate system.
|
||||
// Pitch is 0 along the xz-plane (horizon)
|
||||
typedef VecSphGeo VecGeo;
|
||||
|
||||
// To be used with OLib_Vec3fAdd()
|
||||
typedef enum {
|
||||
/* 0 */ OLIB_ADD_COPY, // Copy `b` to dest
|
||||
/* 1 */ OLIB_ADD_OFFSET, // Add `a` and `b` to dest, and also add the yaw of `a` to the dest
|
||||
/* 2 */ OLIB_ADD, // Add `a` and `b` to dest
|
||||
} OlibVec3fAdd;
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ OLIB_DIFF_COPY, // Copy `b` to dest
|
||||
/* 1 */ OLIB_DIFF_OFFSET, // Sub `a` and `b` to dest, and also subs the yaw of `a` to the dest
|
||||
/* 2 */ OLIB_DIFF, // Sub `a` and `b` to dest
|
||||
} OlibVec3fDiff;
|
||||
|
||||
#define LERPIMP(v0, v1, t) ((v0) + (((v1) - (v0)) * (t)))
|
||||
#define F32_LERP(v0, v1, t) ((1.0f - (t)) * (f32)(v0) + (t) * (f32)(v1))
|
||||
|
||||
+6
-6
@@ -677,7 +677,7 @@ typedef enum PlayerCsMode {
|
||||
#define PLAYER_STATE1_1 (1 << 0)
|
||||
//
|
||||
#define PLAYER_STATE1_2 (1 << 1)
|
||||
//
|
||||
// Climbing ledge
|
||||
#define PLAYER_STATE1_4 (1 << 2)
|
||||
//
|
||||
#define PLAYER_STATE1_8 (1 << 3)
|
||||
@@ -697,7 +697,7 @@ typedef enum PlayerCsMode {
|
||||
#define PLAYER_STATE1_400 (1 << 10)
|
||||
//
|
||||
#define PLAYER_STATE1_800 (1 << 11)
|
||||
//
|
||||
// charging spin attack
|
||||
#define PLAYER_STATE1_1000 (1 << 12)
|
||||
//
|
||||
#define PLAYER_STATE1_2000 (1 << 13)
|
||||
@@ -731,7 +731,7 @@ typedef enum PlayerCsMode {
|
||||
#define PLAYER_STATE1_8000000 (1 << 27)
|
||||
//
|
||||
#define PLAYER_STATE1_10000000 (1 << 28)
|
||||
//
|
||||
// Time is stopped but Link & NPC animations continue
|
||||
#define PLAYER_STATE1_20000000 (1 << 29)
|
||||
//
|
||||
#define PLAYER_STATE1_40000000 (1 << 30)
|
||||
@@ -761,7 +761,7 @@ typedef enum PlayerCsMode {
|
||||
#define PLAYER_STATE2_200 (1 << 9)
|
||||
//
|
||||
#define PLAYER_STATE2_400 (1 << 10)
|
||||
//
|
||||
// Diving
|
||||
#define PLAYER_STATE2_800 (1 << 11)
|
||||
//
|
||||
#define PLAYER_STATE2_1000 (1 << 12)
|
||||
@@ -773,7 +773,7 @@ typedef enum PlayerCsMode {
|
||||
#define PLAYER_STATE2_8000 (1 << 15)
|
||||
//
|
||||
#define PLAYER_STATE2_10000 (1 << 16)
|
||||
//
|
||||
// A non-magic spin attack
|
||||
#define PLAYER_STATE2_20000 (1 << 17)
|
||||
//
|
||||
#define PLAYER_STATE2_40000 (1 << 18)
|
||||
@@ -821,7 +821,7 @@ typedef enum PlayerCsMode {
|
||||
#define PLAYER_STATE3_40 (1 << 6)
|
||||
//
|
||||
#define PLAYER_STATE3_80 (1 << 7)
|
||||
// Related to form Deku
|
||||
// Deku flower dive
|
||||
#define PLAYER_STATE3_100 (1 << 8)
|
||||
//
|
||||
#define PLAYER_STATE3_200 (1 << 9)
|
||||
|
||||
+43
-47
@@ -1,68 +1,64 @@
|
||||
#ifndef Z64QUAKE_H
|
||||
#define Z64QUAKE_H
|
||||
|
||||
#include "z64camera.h"
|
||||
#include "z64math.h"
|
||||
|
||||
struct PlayState;
|
||||
struct Camera;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3f atOffset;
|
||||
/* 0x0C */ Vec3f eyeOffset;
|
||||
/* 0x18 */ s16 rollOffset;
|
||||
/* 0x1A */ s16 zoom;
|
||||
/* 0x1C */ f32 max; // Set to scaled max data of struct (mag for Vec3f), never used
|
||||
} QuakeCamCalc; // size = 0x20
|
||||
|
||||
#define QUAKE_SPEED (1 << 0)
|
||||
#define QUAKE_VERTICAL_MAG (1 << 1)
|
||||
#define QUAKE_HORIZONTAL_MAG (1 << 2)
|
||||
#define QUAKE_ZOOM (1 << 3)
|
||||
#define QUAKE_ROLL_OFFSET (1 << 4)
|
||||
#define QUAKE_SHAKE_PLANE_OFFSET_X (1 << 5)
|
||||
#define QUAKE_SHAKE_PLANE_OFFSET_Y (1 << 6)
|
||||
#define QUAKE_SHAKE_PLANE_OFFSET_Z (1 << 7)
|
||||
#define QUAKE_COUNTDOWN (1 << 8)
|
||||
#define QUAKE_IS_SHAKE_PERPENDICULAR (1 << 9)
|
||||
/* 0x18 */ s16 upRollOffset;
|
||||
/* 0x1A */ s16 fovOffset;
|
||||
/* 0x1C */ f32 maxOffset; // Set to scaled max data of struct (mag for Vec3f), never used
|
||||
} ShakeInfo; // size = 0x20
|
||||
|
||||
typedef enum {
|
||||
/* 1 */ QUAKE_TYPE_1 = 1,
|
||||
/* 2 */ QUAKE_TYPE_2,
|
||||
/* 3 */ QUAKE_TYPE_3,
|
||||
/* 4 */ QUAKE_TYPE_4,
|
||||
/* 5 */ QUAKE_TYPE_5,
|
||||
/* 6 */ QUAKE_TYPE_6
|
||||
/* 0 */ QUAKE_TYPE_NONE,
|
||||
/* 1 */ QUAKE_TYPE_1, // Periodic, sustaining, random X perturbations
|
||||
/* 2 */ QUAKE_TYPE_2, // Aperiodic, sustaining, random X perturbations
|
||||
/* 3 */ QUAKE_TYPE_3, // Periodic, decaying
|
||||
/* 4 */ QUAKE_TYPE_4, // Aperiodic, decaying, random X perturbations
|
||||
/* 5 */ QUAKE_TYPE_5, // Periodic, sustaining
|
||||
/* 6 */ QUAKE_TYPE_6 // See below
|
||||
} QuakeType;
|
||||
|
||||
u32 Quake_SetValue(s16 quakeIndex, s16 valueType, s16 value);
|
||||
u32 Quake_SetSpeed(s16 quakeIndex, s16 speed);
|
||||
u32 Quake_SetCountdown(s16 quakeIndex, s16 countdown);
|
||||
s16 Quake_GetCountdown(s16 quakeIndex);
|
||||
u32 Quake_SetQuakeValues(s16 quakeIndex, s16 verticalMag, s16 horizontalMag, s16 zoom, s16 rollOffset);
|
||||
u32 Quake_SetQuakeValues2(s16 quakeIndex, s16 isShakePerpendicular, Vec3s shakePlaneOffset);
|
||||
s16 Quake_Add(Camera* camera, u32 type);
|
||||
s16 Quake_Calc(Camera* camera, QuakeCamCalc* camData);
|
||||
u32 Quake_Remove(s16 index);
|
||||
s32 Quake_NumActiveQuakes(void);
|
||||
s16 Quake_Request(Camera* camera, u32 type);
|
||||
|
||||
u32 Quake_SetSpeed(s16 index, s16 speed);
|
||||
u32 Quake_SetPerturbations(s16 index, s16 y, s16 x, s16 fov, s16 roll);
|
||||
u32 Quake_SetDuration(s16 index, s16 duration);
|
||||
u32 Quake_SetOrientation(s16 index, s16 isRelativeToScreen, Vec3s orientation);
|
||||
|
||||
s16 Quake_GetTimeLeft(s16 index);
|
||||
s32 Quake_GetNumActiveQuakes(void);
|
||||
u32 Quake_RemoveRequest(s16 index);
|
||||
|
||||
void Quake_Init(void);
|
||||
s16 Quake_Update(Camera* camera, ShakeInfo* camShake);
|
||||
|
||||
#define DISTORTION_TYPE_0 (1 << 0)
|
||||
#define DISTORTION_TYPE_NON_ZORA_SWIMMING (1 << 2)
|
||||
#define DISTORTION_TYPE_ZORA_SWIMMING (1 << 3)
|
||||
#define DISTORTION_TYPE_UNDERWATER_ENTRY (1 << 4)
|
||||
#define DISTORTION_TYPE_5 (1 << 5)
|
||||
#define DISTORTION_TYPE_6 (1 << 6)
|
||||
#define DISTORTION_TYPE_7 (1 << 7)
|
||||
#define DISTORTION_TYPE_8 (1 << 8)
|
||||
#define DISTORTION_TYPE_9 (1 << 9)
|
||||
#define DISTORTION_TYPE_A (1 << 10)
|
||||
#define DISTORTION_TYPE_B (1 << 11)
|
||||
#define DISTORTION_TYPE_HOT_ROOM (1 << 0) // Hot Room
|
||||
#define DISTORTION_TYPE_NON_ZORA_SWIMMING (1 << 2) // Non-Zora swimming
|
||||
#define DISTORTION_TYPE_ZORA_SWIMMING (1 << 3) // Zora swimming, also used for boss warp pad part 1
|
||||
|
||||
void Distortion_SetCountdown(s16 countdown);
|
||||
s16 Distortion_GetCountdown(void);
|
||||
#define DISTORTION_TYPE_UNDERWATER_ENTRY (1 << 4) // Entering water, also used for boss warp pad part 2
|
||||
#define DISTORTION_TYPE_SONG_OF_TIME (1 << 5) // Song of Time effects
|
||||
#define DISTORTION_TYPE_ZORA_KICK (1 << 6) // PLAYER_MWA_ZORA_PUNCH_KICK
|
||||
#define DISTORTION_TYPE_UNK_ATTACK (1 << 7) // Impossible to achieve, inferred to be another `PLAYER_MWA_`,
|
||||
|
||||
#define DISTORTION_TYPE_GORON_BUTT (1 << 8) // PLAYER_MWA_GORON_PUNCH_BUTT
|
||||
#define DISTORTION_TYPE_MASK_TRANSFORM_1 (1 << 9) // Mask transformation part 1
|
||||
#define DISTORTION_TYPE_BOSS_WARP (1 << 10) // Boss warp pad part 3
|
||||
#define DISTORTION_TYPE_MASK_TRANSFORM_2 (1 << 11) // Mask transformation part 2
|
||||
|
||||
void Distortion_Request(s32 type);
|
||||
void Distortion_SetDuration(s16 duration);
|
||||
|
||||
s16 Distortion_GetTimeLeft(void);
|
||||
s16 Distortion_GetType(void);
|
||||
void Distortion_SetType(s32 type);
|
||||
void Distortion_ClearType(s32 type);
|
||||
void Distortion_RemoveRequest(s32 type);
|
||||
|
||||
void Distortion_Init(PlayState* play);
|
||||
void Distortion_Update(void);
|
||||
|
||||
|
||||
+72
-91
@@ -594,7 +594,7 @@ typedef enum {
|
||||
#define WEEKEVENTREG_08_04 PACK_WEEKEVENTREG_FLAG(8, 0x04)
|
||||
#define WEEKEVENTREG_08_08 PACK_WEEKEVENTREG_FLAG(8, 0x08)
|
||||
#define WEEKEVENTREG_08_10 PACK_WEEKEVENTREG_FLAG(8, 0x10)
|
||||
#define WEEKEVENTREG_08_20 PACK_WEEKEVENTREG_FLAG(8, 0x20)
|
||||
#define WEEKEVENTREG_RECEIVED_DOGGY_RACETRACK_HEART_PIECE PACK_WEEKEVENTREG_FLAG(8, 0x20)
|
||||
|
||||
// Related to final hours
|
||||
#define WEEKEVENTREG_08_40 PACK_WEEKEVENTREG_FLAG(8, 0x40)
|
||||
@@ -857,7 +857,7 @@ typedef enum {
|
||||
|
||||
#define WEEKEVENTREG_34_02 PACK_WEEKEVENTREG_FLAG(34, 0x02)
|
||||
#define WEEKEVENTREG_34_04 PACK_WEEKEVENTREG_FLAG(34, 0x04)
|
||||
#define WEEKEVENTREG_SWAMP_SPIDER_HOUSE_TALKED PACK_WEEKEVENTREG_FLAG(34, 0x08)
|
||||
#define WEEKEVENTREG_TALKED_SWAMP_SPIDER_HOUSE_MAN PACK_WEEKEVENTREG_FLAG(34, 0x08)
|
||||
#define WEEKEVENTREG_34_10 PACK_WEEKEVENTREG_FLAG(34, 0x10)
|
||||
#define WEEKEVENTREG_34_20 PACK_WEEKEVENTREG_FLAG(34, 0x20)
|
||||
#define WEEKEVENTREG_RECEIVED_MASK_OF_TRUTH PACK_WEEKEVENTREG_FLAG(34, 0x40)
|
||||
@@ -924,62 +924,11 @@ typedef enum {
|
||||
#define WEEKEVENTREG_41_20 PACK_WEEKEVENTREG_FLAG(41, 0x20)
|
||||
#define WEEKEVENTREG_41_40 PACK_WEEKEVENTREG_FLAG(41, 0x40)
|
||||
#define WEEKEVENTREG_41_80 PACK_WEEKEVENTREG_FLAG(41, 0x80)
|
||||
#define WEEKEVENTREG_42_01 PACK_WEEKEVENTREG_FLAG(42, 0x01)
|
||||
#define WEEKEVENTREG_42_02 PACK_WEEKEVENTREG_FLAG(42, 0x02)
|
||||
#define WEEKEVENTREG_42_04 PACK_WEEKEVENTREG_FLAG(42, 0x04)
|
||||
#define WEEKEVENTREG_42_08 PACK_WEEKEVENTREG_FLAG(42, 0x08)
|
||||
#define WEEKEVENTREG_42_10 PACK_WEEKEVENTREG_FLAG(42, 0x10)
|
||||
#define WEEKEVENTREG_42_20 PACK_WEEKEVENTREG_FLAG(42, 0x20)
|
||||
#define WEEKEVENTREG_42_40 PACK_WEEKEVENTREG_FLAG(42, 0x40)
|
||||
#define WEEKEVENTREG_42_80 PACK_WEEKEVENTREG_FLAG(42, 0x80)
|
||||
#define WEEKEVENTREG_43_01 PACK_WEEKEVENTREG_FLAG(43, 0x01)
|
||||
#define WEEKEVENTREG_43_02 PACK_WEEKEVENTREG_FLAG(43, 0x02)
|
||||
#define WEEKEVENTREG_43_04 PACK_WEEKEVENTREG_FLAG(43, 0x04)
|
||||
#define WEEKEVENTREG_43_08 PACK_WEEKEVENTREG_FLAG(43, 0x08)
|
||||
#define WEEKEVENTREG_43_10 PACK_WEEKEVENTREG_FLAG(43, 0x10)
|
||||
#define WEEKEVENTREG_43_20 PACK_WEEKEVENTREG_FLAG(43, 0x20)
|
||||
#define WEEKEVENTREG_43_40 PACK_WEEKEVENTREG_FLAG(43, 0x40)
|
||||
#define WEEKEVENTREG_43_80 PACK_WEEKEVENTREG_FLAG(43, 0x80)
|
||||
#define WEEKEVENTREG_44_01 PACK_WEEKEVENTREG_FLAG(44, 0x01)
|
||||
#define WEEKEVENTREG_44_02 PACK_WEEKEVENTREG_FLAG(44, 0x02)
|
||||
#define WEEKEVENTREG_44_04 PACK_WEEKEVENTREG_FLAG(44, 0x04)
|
||||
#define WEEKEVENTREG_44_08 PACK_WEEKEVENTREG_FLAG(44, 0x08)
|
||||
#define WEEKEVENTREG_44_10 PACK_WEEKEVENTREG_FLAG(44, 0x10)
|
||||
#define WEEKEVENTREG_44_20 PACK_WEEKEVENTREG_FLAG(44, 0x20)
|
||||
#define WEEKEVENTREG_44_40 PACK_WEEKEVENTREG_FLAG(44, 0x40)
|
||||
#define WEEKEVENTREG_44_80 PACK_WEEKEVENTREG_FLAG(44, 0x80)
|
||||
#define WEEKEVENTREG_45_01 PACK_WEEKEVENTREG_FLAG(45, 0x01)
|
||||
#define WEEKEVENTREG_45_02 PACK_WEEKEVENTREG_FLAG(45, 0x02)
|
||||
#define WEEKEVENTREG_45_04 PACK_WEEKEVENTREG_FLAG(45, 0x04)
|
||||
#define WEEKEVENTREG_45_08 PACK_WEEKEVENTREG_FLAG(45, 0x08)
|
||||
#define WEEKEVENTREG_45_10 PACK_WEEKEVENTREG_FLAG(45, 0x10)
|
||||
#define WEEKEVENTREG_45_20 PACK_WEEKEVENTREG_FLAG(45, 0x20)
|
||||
#define WEEKEVENTREG_45_40 PACK_WEEKEVENTREG_FLAG(45, 0x40)
|
||||
#define WEEKEVENTREG_45_80 PACK_WEEKEVENTREG_FLAG(45, 0x80)
|
||||
#define WEEKEVENTREG_46_01 PACK_WEEKEVENTREG_FLAG(46, 0x01)
|
||||
#define WEEKEVENTREG_46_02 PACK_WEEKEVENTREG_FLAG(46, 0x02)
|
||||
#define WEEKEVENTREG_46_04 PACK_WEEKEVENTREG_FLAG(46, 0x04)
|
||||
#define WEEKEVENTREG_46_08 PACK_WEEKEVENTREG_FLAG(46, 0x08)
|
||||
#define WEEKEVENTREG_46_10 PACK_WEEKEVENTREG_FLAG(46, 0x10)
|
||||
#define WEEKEVENTREG_46_20 PACK_WEEKEVENTREG_FLAG(46, 0x20)
|
||||
#define WEEKEVENTREG_46_40 PACK_WEEKEVENTREG_FLAG(46, 0x40)
|
||||
#define WEEKEVENTREG_46_80 PACK_WEEKEVENTREG_FLAG(46, 0x80)
|
||||
#define WEEKEVENTREG_47_01 PACK_WEEKEVENTREG_FLAG(47, 0x01)
|
||||
#define WEEKEVENTREG_47_02 PACK_WEEKEVENTREG_FLAG(47, 0x02)
|
||||
#define WEEKEVENTREG_47_04 PACK_WEEKEVENTREG_FLAG(47, 0x04)
|
||||
#define WEEKEVENTREG_47_08 PACK_WEEKEVENTREG_FLAG(47, 0x08)
|
||||
#define WEEKEVENTREG_47_10 PACK_WEEKEVENTREG_FLAG(47, 0x10)
|
||||
#define WEEKEVENTREG_47_20 PACK_WEEKEVENTREG_FLAG(47, 0x20)
|
||||
#define WEEKEVENTREG_47_40 PACK_WEEKEVENTREG_FLAG(47, 0x40)
|
||||
#define WEEKEVENTREG_47_80 PACK_WEEKEVENTREG_FLAG(47, 0x80)
|
||||
#define WEEKEVENTREG_48_01 PACK_WEEKEVENTREG_FLAG(48, 0x01)
|
||||
#define WEEKEVENTREG_48_02 PACK_WEEKEVENTREG_FLAG(48, 0x02)
|
||||
#define WEEKEVENTREG_48_04 PACK_WEEKEVENTREG_FLAG(48, 0x04)
|
||||
#define WEEKEVENTREG_48_08 PACK_WEEKEVENTREG_FLAG(48, 0x08)
|
||||
#define WEEKEVENTREG_48_10 PACK_WEEKEVENTREG_FLAG(48, 0x10)
|
||||
#define WEEKEVENTREG_48_20 PACK_WEEKEVENTREG_FLAG(48, 0x20)
|
||||
#define WEEKEVENTREG_48_40 PACK_WEEKEVENTREG_FLAG(48, 0x40)
|
||||
#define WEEKEVENTREG_48_80 PACK_WEEKEVENTREG_FLAG(48, 0x80)
|
||||
|
||||
// Used for storing the text ID offsets for the dogs in the Doggy Racetrack (56 entries)
|
||||
// The number of weekEventRegs used needs to be kept in sync with RACEDOG_COUNT in z_en_aob_01.h
|
||||
// PACK_WEEKEVENTREG_FLAG(42, 0x01) to PACK_WEEKEVENTREG_FLAG(48, 0x80)
|
||||
|
||||
#define WEEKEVENTREG_49_01 PACK_WEEKEVENTREG_FLAG(49, 0x01)
|
||||
#define WEEKEVENTREG_49_02 PACK_WEEKEVENTREG_FLAG(49, 0x02)
|
||||
#define WEEKEVENTREG_49_04 PACK_WEEKEVENTREG_FLAG(49, 0x04)
|
||||
@@ -1013,10 +962,7 @@ typedef enum {
|
||||
#define WEEKEVENTREG_52_04 PACK_WEEKEVENTREG_FLAG(52, 0x04)
|
||||
#define WEEKEVENTREG_52_08 PACK_WEEKEVENTREG_FLAG(52, 0x08)
|
||||
#define WEEKEVENTREG_52_10 PACK_WEEKEVENTREG_FLAG(52, 0x10)
|
||||
|
||||
// cleared Stone Tower Temple
|
||||
#define WEEKEVENTREG_CLEARED_STONE_TOWER_TEMPLE PACK_WEEKEVENTREG_FLAG(52, 0x20)
|
||||
|
||||
#define WEEKEVENTREG_52_40 PACK_WEEKEVENTREG_FLAG(52, 0x40)
|
||||
#define WEEKEVENTREG_52_80 PACK_WEEKEVENTREG_FLAG(52, 0x80)
|
||||
#define WEEKEVENTREG_53_01 PACK_WEEKEVENTREG_FLAG(53, 0x01)
|
||||
@@ -1130,12 +1076,12 @@ typedef enum {
|
||||
#define WEEKEVENTREG_64_10 PACK_WEEKEVENTREG_FLAG(64, 0x10)
|
||||
#define WEEKEVENTREG_64_20 PACK_WEEKEVENTREG_FLAG(64, 0x20)
|
||||
#define WEEKEVENTREG_64_40 PACK_WEEKEVENTREG_FLAG(64, 0x40)
|
||||
#define WEEKEVENTREG_64_80 PACK_WEEKEVENTREG_FLAG(64, 0x80)
|
||||
#define WEEKEVENTREG_65_01 PACK_WEEKEVENTREG_FLAG(65, 0x01)
|
||||
#define WEEKEVENTREG_65_02 PACK_WEEKEVENTREG_FLAG(65, 0x02)
|
||||
#define WEEKEVENTREG_65_04 PACK_WEEKEVENTREG_FLAG(65, 0x04)
|
||||
#define WEEKEVENTREG_65_08 PACK_WEEKEVENTREG_FLAG(65, 0x08)
|
||||
#define WEEKEVENTREG_65_10 PACK_WEEKEVENTREG_FLAG(65, 0x10)
|
||||
#define WEEKEVENTREG_TALKED_DOGGY_RACETRACK_OWNER_DAY_1 PACK_WEEKEVENTREG_FLAG(64, 0x80)
|
||||
#define WEEKEVENTREG_TALKED_DOGGY_RACETRACK_OWNER_NIGHT_1 PACK_WEEKEVENTREG_FLAG(65, 0x01)
|
||||
#define WEEKEVENTREG_TALKED_DOGGY_RACETRACK_OWNER_DAY_2 PACK_WEEKEVENTREG_FLAG(65, 0x02)
|
||||
#define WEEKEVENTREG_TALKED_DOGGY_RACETRACK_OWNER_NIGHT_2 PACK_WEEKEVENTREG_FLAG(65, 0x04)
|
||||
#define WEEKEVENTREG_TALKED_DOGGY_RACETRACK_OWNER_DAY_3 PACK_WEEKEVENTREG_FLAG(65, 0x08)
|
||||
#define WEEKEVENTREG_TALKED_DOGGY_RACETRACK_OWNER_NIGHT_3 PACK_WEEKEVENTREG_FLAG(65, 0x10)
|
||||
#define WEEKEVENTREG_65_20 PACK_WEEKEVENTREG_FLAG(65, 0x20)
|
||||
#define WEEKEVENTREG_65_40 PACK_WEEKEVENTREG_FLAG(65, 0x40)
|
||||
#define WEEKEVENTREG_65_80 PACK_WEEKEVENTREG_FLAG(65, 0x80)
|
||||
@@ -1385,10 +1331,8 @@ typedef enum {
|
||||
#define WEEKEVENTREG_91_40 PACK_WEEKEVENTREG_FLAG(91, 0x40)
|
||||
#define WEEKEVENTREG_91_80 PACK_WEEKEVENTREG_FLAG(91, 0x80)
|
||||
|
||||
// RACE_FLAGS
|
||||
//#define WEEKEVENTREG_92_01 PACK_WEEKEVENTREG_FLAG(92, 0x01)
|
||||
//#define WEEKEVENTREG_92_02 PACK_WEEKEVENTREG_FLAG(92, 0x02)
|
||||
//#define WEEKEVENTREG_92_04 PACK_WEEKEVENTREG_FLAG(92, 0x04)
|
||||
// HORSE_RACE_STATE (3 entries)
|
||||
// WEEKEVENTREG_92_01 to WEEKEVENTREG_92_04
|
||||
|
||||
#define WEEKEVENTREG_92_08 PACK_WEEKEVENTREG_FLAG(92, 0x08)
|
||||
#define WEEKEVENTREG_92_10 PACK_WEEKEVENTREG_FLAG(92, 0x10)
|
||||
@@ -1460,34 +1404,52 @@ typedef enum {
|
||||
#define SET_WEEKEVENTREG(flag) (WEEKEVENTREG((flag) >> 8) = GET_WEEKEVENTREG((flag) >> 8) | ((flag) & 0xFF))
|
||||
#define CLEAR_WEEKEVENTREG(flag) (WEEKEVENTREG((flag) >> 8) = GET_WEEKEVENTREG((flag) >> 8) & (u8)~((flag) & 0xFF))
|
||||
|
||||
#define WEEKEVENTREG_RACE_FLAG_END 0
|
||||
#define WEEKEVENTREG_RACE_FLAG_START 1
|
||||
#define WEEKEVENTREG_RACE_FLAG_2 2
|
||||
#define WEEKEVENTREG_RACE_FLAG_3 3
|
||||
#define WEEKEVENTREG_RACE_FLAG_4 4
|
||||
#define WEEKEVENTREG_RACE_FLAGS 7
|
||||
typedef enum {
|
||||
/* 0 */ WEEKEVENTREG_HORSE_RACE_STATE_END,
|
||||
/* 1 */ WEEKEVENTREG_HORSE_RACE_STATE_START,
|
||||
/* 2 */ WEEKEVENTREG_HORSE_RACE_STATE_2,
|
||||
/* 3 */ WEEKEVENTREG_HORSE_RACE_STATE_3,
|
||||
/* 4 */ WEEKEVENTREG_HORSE_RACE_STATE_4,
|
||||
/* 7 */ WEEKEVENTREG_HORSE_RACE_STATE_MAX = 7
|
||||
} WeekEventRegHorseRaceState;
|
||||
|
||||
#define GET_WEEKEVENTREG_RACE_FLAGS (WEEKEVENTREG(92) & WEEKEVENTREG_RACE_FLAGS)
|
||||
#define GET_WEEKEVENTREG_HORSE_RACE_STATE (WEEKEVENTREG(92) & WEEKEVENTREG_HORSE_RACE_STATE_MAX)
|
||||
|
||||
#define SET_WEEKEVENTREG_RACE_FLAGS(flag) \
|
||||
{ \
|
||||
WEEKEVENTREG(92) &= (u8)~WEEKEVENTREG_RACE_FLAGS; \
|
||||
WEEKEVENTREG(92) = WEEKEVENTREG(92) | (u8)((WEEKEVENTREG(92) & ~WEEKEVENTREG_RACE_FLAGS) | (flag)); \
|
||||
} \
|
||||
#define SET_WEEKEVENTREG_HORSE_RACE_STATE(state) \
|
||||
{ \
|
||||
WEEKEVENTREG(92) &= (u8)~WEEKEVENTREG_HORSE_RACE_STATE_MAX; \
|
||||
WEEKEVENTREG(92) = WEEKEVENTREG(92) | (u8)((WEEKEVENTREG(92) & ~WEEKEVENTREG_HORSE_RACE_STATE_MAX) | (state)); \
|
||||
} \
|
||||
(void)0
|
||||
|
||||
#define GET_WEEKEVENTREG_DOG_RACE_TEXT(index, baseTextId) \
|
||||
(index % 2) ? (baseTextId + (((WEEKEVENTREG(42 + (index / 2))) & 0xF0) >> 4)) \
|
||||
: (baseTextId + ((WEEKEVENTREG(42 + (index / 2))) & 0x0F));
|
||||
|
||||
#define SET_WEEKEVENTREG_DOG_RACE_TEXT_OFFSETS(index, packedOffsets) \
|
||||
{ \
|
||||
WEEKEVENTREG(42 + index) = ((void)0, WEEKEVENTREG(42 + index)) | packedOffsets; \
|
||||
}
|
||||
|
||||
#define CLEAR_WEEKEVENTREG_DOG_RACE_TEXT_OFFSETS(index) \
|
||||
{ \
|
||||
WEEKEVENTREG(42 + index) = 0; \
|
||||
}
|
||||
|
||||
/**
|
||||
* gSaveContext.eventInf
|
||||
*/
|
||||
|
||||
#define EVENTINF_00 0x00
|
||||
#define EVENTINF_01 0x01
|
||||
#define EVENTINF_02 0x02
|
||||
#define EVENTINF_03 0x03
|
||||
#define EVENTINF_04 0x04
|
||||
#define EVENTINF_05 0x05
|
||||
#define EVENTINF_06 0x06
|
||||
#define EVENTINF_07 0x07
|
||||
// gSaveContext.eventInf[0] is used to dog race information
|
||||
// #define EVENTINF_00 0x00
|
||||
// #define EVENTINF_01 0x01
|
||||
// #define EVENTINF_02 0x02
|
||||
// #define EVENTINF_03 0x03
|
||||
// #define EVENTINF_04 0x04
|
||||
// #define EVENTINF_05 0x05
|
||||
// #define EVENTINF_06 0x06
|
||||
// #define EVENTINF_07 0x07
|
||||
|
||||
#define EVENTINF_10 0x10
|
||||
#define EVENTINF_11 0x11
|
||||
#define EVENTINF_12 0x12
|
||||
@@ -1561,6 +1523,25 @@ typedef enum {
|
||||
#define CLEAR_EVENTINF(flag) (gSaveContext.eventInf[(flag) >> 4] &= (u8)~(1 << ((flag) & 0xF)))
|
||||
#define CLEAR_EVENTINF_ALT(flag) (gSaveContext.eventInf[(flag) >> 4] &= ~(1 << ((flag) & 0xF)))
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ EVENTINF_DOG_RACE_STATE_NOT_STARTED,
|
||||
/* 2 */ EVENTINF_DOG_RACE_STATE_STARTED = 2,
|
||||
/* 3 */ EVENTINF_DOG_RACE_STATE_ENDED,
|
||||
/* 7 */ EVENTINF_DOG_RACE_STATE_MAX = 7
|
||||
} EventInfDogRaceState;
|
||||
|
||||
#define GET_EVENTINF_DOG_RACE_STATE (gSaveContext.eventInf[0] & EVENTINF_DOG_RACE_STATE_MAX)
|
||||
#define SET_EVENTINF_DOG_RACE_STATE(state) \
|
||||
(gSaveContext.eventInf[0] = ((gSaveContext.eventInf[0] & (u8)~EVENTINF_DOG_RACE_STATE_MAX) | (state)))
|
||||
|
||||
#define GET_EVENTINF_DOG_RACE_SELECTED_DOG_INDEX ((gSaveContext.eventInf[0] & (u8)~EVENTINF_DOG_RACE_STATE_MAX) >> 3)
|
||||
#define SET_EVENTINF_DOG_RACE_SELECTED_DOG_INDEX(selectedDogIndex) \
|
||||
(gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & EVENTINF_DOG_RACE_STATE_MAX) | (selectedDogIndex << 3))
|
||||
|
||||
// This is exactly the same as the selected dog index; they never need both of them at the same time.
|
||||
#define GET_EVENTINF_DOG_RACE_RACE_STANDING ((gSaveContext.eventInf[0] & (u8)~EVENTINF_DOG_RACE_STATE_MAX) >> 3)
|
||||
#define SET_EVENTINF_DOG_RACE_RACE_STANDING(raceStanding) \
|
||||
(gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & EVENTINF_DOG_RACE_STATE_MAX) | (raceStanding << 3))
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ DUNGEON_INDEX_WOODFALL_TEMPLE,
|
||||
|
||||
+21
-17
@@ -2,6 +2,7 @@
|
||||
#define Z64TRANSITION_H
|
||||
|
||||
#include "ultra64.h"
|
||||
#include "libc/stdint.h"
|
||||
#include "overlays/fbdemos/ovl_fbdemo_triforce/z_fbdemo_triforce.h"
|
||||
#include "overlays/fbdemos/ovl_fbdemo_wipe1/z_fbdemo_wipe1.h"
|
||||
#include "overlays/fbdemos/ovl_fbdemo_wipe3/z_fbdemo_wipe3.h"
|
||||
@@ -164,31 +165,34 @@ typedef enum {
|
||||
/* 86 */ TRANS_TYPE_86 = 86
|
||||
} TransitionType;
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ FBDEMO_FADE,
|
||||
/* 1 */ FBDEMO_TRIFORCE,
|
||||
/* 2 */ FBDEMO_WIPE1,
|
||||
/* 3 */ FBDEMO_WIPE3,
|
||||
/* 4 */ FBDEMO_WIPE4,
|
||||
/* 5 */ FBDEMO_CIRCLE,
|
||||
/* 6 */ FBDEMO_WIPE5
|
||||
#define DEFINE_TRANSITION(enumValue, _structName, _instanceName, _name) enumValue,
|
||||
#define DEFINE_TRANSITION_INTERNAL(enumValue, _structName, _instanceName) enumValue,
|
||||
|
||||
typedef enum FbDemoType {
|
||||
#include "tables/transition_table.h"
|
||||
/* 7 */ FBDEMO_MAX
|
||||
} FbDemoType;
|
||||
|
||||
#undef DEFINE_TRANSITION
|
||||
#undef DEFINE_TRANSITION_INTERNAL
|
||||
|
||||
#define TRANS_NEXT_TYPE_DEFAULT 0xFF
|
||||
|
||||
#define DEFINE_TRANSITION(_enumValue, structName, instanceName, _name) structName instanceName;
|
||||
#define DEFINE_TRANSITION_INTERNAL(_enumValue, structName, instanceName) structName instanceName;
|
||||
|
||||
typedef union TransitionInstance {
|
||||
#include "tables/transition_table.h"
|
||||
} TransitionInstance; // size = 0x218
|
||||
|
||||
#undef DEFINE_TRANSITION
|
||||
#undef DEFINE_TRANSITION_INTERNAL
|
||||
|
||||
typedef struct {
|
||||
/* 0x000 */ s16 transitionType;
|
||||
/* 0x002 */ s8 fbdemoType;
|
||||
/* 0x003 */ char unk_003[0x5];
|
||||
/* 0x008 */ union {
|
||||
TransitionFade fade;
|
||||
TransitionCircle circle;
|
||||
TransitionTriforce triforce;
|
||||
TransitionWipe1 wipe1;
|
||||
TransitionWipe3 wipe3;
|
||||
TransitionWipe4 wipe4;
|
||||
TransitionWipe5 wipe5;
|
||||
} instanceData;
|
||||
/* 0x008 */ TransitionInstance instanceData;
|
||||
/* 0x220 */ char unk_220[0x10];
|
||||
/* 0x230 */ void* (*init)(void* transition);
|
||||
/* 0x234 */ void (*destroy)(void* transition);
|
||||
|
||||
@@ -2962,11 +2962,7 @@ beginseg
|
||||
name "ovl_En_Tru"
|
||||
compress
|
||||
include "build/src/overlays/actors/ovl_En_Tru/z_en_tru.o"
|
||||
#ifdef NON_MATCHING
|
||||
include "build/src/overlays/actors/ovl_En_Tru/ovl_En_Tru_reloc.o"
|
||||
#else
|
||||
include "build/data/ovl_En_Tru/ovl_En_Tru.reloc.o"
|
||||
#endif
|
||||
include "build/src/overlays/actors/ovl_En_Tru/ovl_En_Tru_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
@@ -4888,8 +4884,7 @@ beginseg
|
||||
name "ovl_En_And"
|
||||
compress
|
||||
include "build/src/overlays/actors/ovl_En_And/z_en_and.o"
|
||||
include "build/data/ovl_En_And/ovl_En_And.data.o"
|
||||
include "build/data/ovl_En_And/ovl_En_And.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_En_And/ovl_En_And_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
#include "prevent_bss_reordering.h"
|
||||
#include "global.h"
|
||||
#include "stack.h"
|
||||
#include "stackcheck.h"
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#include "prevent_bss_reordering.h"
|
||||
#include "global.h"
|
||||
#include "stack.h"
|
||||
#include "stackcheck.h"
|
||||
|
||||
+20
-20
@@ -119,23 +119,23 @@ u8 CutsceneCamera_ProcessSpline(CutsceneCamera* csCamera) {
|
||||
|
||||
switch (csCamera->atCmd[csCamera->eyeInterp.curPoint].relativeTo) {
|
||||
case CS_CAM_REL_2:
|
||||
OLib_DbCameraVec3fDiff(&player->actor.world, &csCamera->camera->at, &csCamera->camera->at, 2);
|
||||
OLib_Vec3fDiff(&player->actor.world, &csCamera->camera->at, &csCamera->camera->at, OLIB_DIFF);
|
||||
break;
|
||||
|
||||
case CS_CAM_REL_3:
|
||||
OLib_DbCameraVec3fDiff(&player->actor.world, &csCamera->camera->at, &csCamera->camera->at, 1);
|
||||
OLib_Vec3fDiff(&player->actor.world, &csCamera->camera->at, &csCamera->camera->at, OLIB_DIFF_OFFSET);
|
||||
break;
|
||||
|
||||
case CS_CAM_REL_1:
|
||||
OLib_DbCameraVec3fDiff(&player->actor.world, &csCamera->camera->at, &csCamera->camera->at, 1);
|
||||
OLib_Vec3fDiff(&player->actor.world, &csCamera->camera->at, &csCamera->camera->at, OLIB_DIFF_OFFSET);
|
||||
break;
|
||||
|
||||
case CS_CAM_REL_4:
|
||||
OLib_DbCameraVec3fDiff(&target->world, &csCamera->camera->at, &csCamera->camera->at, 1);
|
||||
OLib_Vec3fDiff(&target->world, &csCamera->camera->at, &csCamera->camera->at, OLIB_DIFF_OFFSET);
|
||||
break;
|
||||
|
||||
case CS_CAM_REL_5:
|
||||
OLib_DbCameraVec3fDiff(&target->world, &csCamera->camera->at, &csCamera->camera->at, 2);
|
||||
OLib_Vec3fDiff(&target->world, &csCamera->camera->at, &csCamera->camera->at, OLIB_DIFF);
|
||||
break;
|
||||
|
||||
default: // CS_CAM_REL_0
|
||||
@@ -147,24 +147,24 @@ u8 CutsceneCamera_ProcessSpline(CutsceneCamera* csCamera) {
|
||||
|
||||
switch (csCamera->atCmd[csCamera->eyeInterp.curPoint].relativeTo) {
|
||||
case CS_CAM_REL_2:
|
||||
OLib_DbCameraVec3fSum(&player->actor.world, &csCamera->camera->at, &csCamera->camera->at, 2);
|
||||
OLib_Vec3fAdd(&player->actor.world, &csCamera->camera->at, &csCamera->camera->at, OLIB_ADD);
|
||||
break;
|
||||
|
||||
case CS_CAM_REL_3:
|
||||
OLib_DbCameraVec3fSum(&player->actor.world, &csCamera->camera->at, &csCamera->camera->at, 1);
|
||||
OLib_Vec3fAdd(&player->actor.world, &csCamera->camera->at, &csCamera->camera->at, OLIB_ADD_OFFSET);
|
||||
csCamera->camera->at.y += func_80163660(&player->actor);
|
||||
break;
|
||||
|
||||
case CS_CAM_REL_1:
|
||||
OLib_DbCameraVec3fSum(&player->actor.world, &csCamera->camera->at, &csCamera->camera->at, 1);
|
||||
OLib_Vec3fAdd(&player->actor.world, &csCamera->camera->at, &csCamera->camera->at, OLIB_ADD_OFFSET);
|
||||
break;
|
||||
|
||||
case CS_CAM_REL_4:
|
||||
OLib_DbCameraVec3fSum(&target->world, &csCamera->camera->at, &csCamera->camera->at, 1);
|
||||
OLib_Vec3fAdd(&target->world, &csCamera->camera->at, &csCamera->camera->at, OLIB_ADD_OFFSET);
|
||||
break;
|
||||
|
||||
case CS_CAM_REL_5:
|
||||
OLib_DbCameraVec3fSum(&target->world, &csCamera->camera->at, &csCamera->camera->at, 2);
|
||||
OLib_Vec3fAdd(&target->world, &csCamera->camera->at, &csCamera->camera->at, OLIB_ADD);
|
||||
break;
|
||||
|
||||
default: // CS_CAM_REL_0
|
||||
@@ -189,23 +189,23 @@ u8 CutsceneCamera_ProcessSpline(CutsceneCamera* csCamera) {
|
||||
|
||||
switch (csCamera->eyeCmd[csCamera->atInterp.curPoint].relativeTo) {
|
||||
case CS_CAM_REL_2:
|
||||
OLib_DbCameraVec3fDiff(&player->actor.world, &csCamera->camera->eye, &csCamera->camera->eye, 2);
|
||||
OLib_Vec3fDiff(&player->actor.world, &csCamera->camera->eye, &csCamera->camera->eye, OLIB_DIFF);
|
||||
break;
|
||||
|
||||
case CS_CAM_REL_3:
|
||||
OLib_DbCameraVec3fDiff(&player->actor.world, &csCamera->camera->eye, &csCamera->camera->eye, 1);
|
||||
OLib_Vec3fDiff(&player->actor.world, &csCamera->camera->eye, &csCamera->camera->eye, OLIB_DIFF_OFFSET);
|
||||
break;
|
||||
|
||||
case CS_CAM_REL_1:
|
||||
OLib_DbCameraVec3fDiff(&player->actor.world, &csCamera->camera->eye, &csCamera->camera->eye, 1);
|
||||
OLib_Vec3fDiff(&player->actor.world, &csCamera->camera->eye, &csCamera->camera->eye, OLIB_DIFF_OFFSET);
|
||||
break;
|
||||
|
||||
case CS_CAM_REL_4:
|
||||
OLib_DbCameraVec3fDiff(&target->world, &csCamera->camera->eye, &csCamera->camera->eye, 1);
|
||||
OLib_Vec3fDiff(&target->world, &csCamera->camera->eye, &csCamera->camera->eye, OLIB_DIFF_OFFSET);
|
||||
break;
|
||||
|
||||
case CS_CAM_REL_5:
|
||||
OLib_DbCameraVec3fDiff(&target->world, &csCamera->camera->eye, &csCamera->camera->eye, 2);
|
||||
OLib_Vec3fDiff(&target->world, &csCamera->camera->eye, &csCamera->camera->eye, OLIB_DIFF);
|
||||
break;
|
||||
|
||||
default: // CS_CAM_REL_0
|
||||
@@ -217,24 +217,24 @@ u8 CutsceneCamera_ProcessSpline(CutsceneCamera* csCamera) {
|
||||
|
||||
switch (csCamera->eyeCmd[csCamera->atInterp.curPoint].relativeTo) {
|
||||
case CS_CAM_REL_2:
|
||||
OLib_DbCameraVec3fSum(&player->actor.world, &csCamera->camera->eye, &csCamera->camera->eye, 2);
|
||||
OLib_Vec3fAdd(&player->actor.world, &csCamera->camera->eye, &csCamera->camera->eye, OLIB_ADD);
|
||||
break;
|
||||
|
||||
case CS_CAM_REL_3:
|
||||
OLib_DbCameraVec3fSum(&player->actor.world, &csCamera->camera->eye, &csCamera->camera->eye, 1);
|
||||
OLib_Vec3fAdd(&player->actor.world, &csCamera->camera->eye, &csCamera->camera->eye, OLIB_ADD_OFFSET);
|
||||
csCamera->camera->eye.y += func_80163660(&player->actor);
|
||||
break;
|
||||
|
||||
case CS_CAM_REL_1:
|
||||
OLib_DbCameraVec3fSum(&player->actor.world, &csCamera->camera->eye, &csCamera->camera->eye, 1);
|
||||
OLib_Vec3fAdd(&player->actor.world, &csCamera->camera->eye, &csCamera->camera->eye, OLIB_ADD_OFFSET);
|
||||
break;
|
||||
|
||||
case CS_CAM_REL_4:
|
||||
OLib_DbCameraVec3fSum(&target->world, &csCamera->camera->eye, &csCamera->camera->eye, 1);
|
||||
OLib_Vec3fAdd(&target->world, &csCamera->camera->eye, &csCamera->camera->eye, OLIB_ADD_OFFSET);
|
||||
break;
|
||||
|
||||
case CS_CAM_REL_5:
|
||||
OLib_DbCameraVec3fSum(&target->world, &csCamera->camera->eye, &csCamera->camera->eye, 2);
|
||||
OLib_Vec3fAdd(&target->world, &csCamera->camera->eye, &csCamera->camera->eye, OLIB_ADD);
|
||||
break;
|
||||
|
||||
default: // CS_CAM_REL_0
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#include "prevent_bss_reordering.h"
|
||||
#include "global.h"
|
||||
#include "stackcheck.h"
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user