mirror of
https://github.com/izzy2lost/2ship2harkinian-Android.git
synced 2026-06-19 01:20:08 -07:00
merge master, tatl enum
This commit is contained in:
@@ -102,7 +102,7 @@ endif
|
||||
|
||||
# Check code syntax with host compiler
|
||||
ifneq ($(RUN_CC_CHECK),0)
|
||||
CHECK_WARNINGS := -Wall -Wextra -Wno-format-security -Wno-unknown-pragmas -Wno-unused-parameter -Wno-unused-variable -Wno-missing-braces -Wno-int-conversion -Wno-unused-but-set-variable -Wno-unused-label
|
||||
CHECK_WARNINGS := -Wall -Wextra -Wno-format-security -Wno-unknown-pragmas -Wno-unused-parameter -Wno-unused-variable -Wno-missing-braces -Wno-int-conversion -Wno-unused-but-set-variable -Wno-unused-label -Wno-sign-compare -Wno-tautological-compare
|
||||
CC_CHECK := gcc -fno-builtin -fsyntax-only -funsigned-char -fdiagnostics-color -std=gnu89 -D _LANGUAGE_C -D NON_MATCHING $(IINC) -nostdinc $(CHECK_WARNINGS)
|
||||
ifneq ($(WERROR), 0)
|
||||
CC_CHECK += -Werror
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -47,16 +47,16 @@
|
||||
<Texture Name="gGoronDonGeroMaskFrillsTex" OutName="goron_don_gero_mask_frills" Format="rgba16" Width="32" Height="32" Offset="0x6440" />
|
||||
<Texture Name="gGoronDonGeroMaskEyeTex" OutName="goron_don_gero_mask_eye" Format="rgba16" Width="16" Height="16" Offset="0x6C40" />
|
||||
|
||||
<!-- Rolled Up Half -->
|
||||
<!-- Note: Seems broken -->
|
||||
<!-- Scared -->
|
||||
<!-- Unused leftover from OoT -->
|
||||
<DList Name="gGoronEmptyDL" Offset="0x7A60" />
|
||||
<DList Name="gGoronRolledUpHalfDL" Offset="0x7A68" />
|
||||
<Texture Name="gGoronRolledUpHalfTLUT" OutName="goron_rolled_up_half_tlut" Format="rgba16" Width="16" Height="16" Offset="0x7EF0" />
|
||||
<Texture Name="gGoronRolledUpHalfSkinTex" OutName="goron_rolled_up_half_skin" Format="ci8" Width="16" Height="16" Offset="0x80F0" />
|
||||
<Texture Name="gGoronRolledUpHalfBellyButtonTex" OutName="goron_rolled_up_half_belly_button" Format="ci8" Width="8" Height="8" Offset="0x81F0" />
|
||||
<Texture Name="gGoronRolledUpHalfBottomTex" OutName="goron_rolled_up_half_bottom" Format="ci8" Width="8" Height="16" Offset="0x8230" />
|
||||
<Texture Name="gGoronRolledUpHalfRocksTex" OutName="goron_rolled_up_half_rocks" Format="ci8" Width="32" Height="64" Offset="0x82B0" />
|
||||
<Texture Name="gGoronRolledUpHalfHairTex" OutName="goron_rolled_up_half_hair" Format="ci8" Width="16" Height="16" Offset="0x8AB0" />
|
||||
<DList Name="gGoronScaredDL" Offset="0x7A68" />
|
||||
<Texture Name="gGoronScaredTLUT" OutName="goron_scared_tlut" Format="rgba16" Width="16" Height="16" Offset="0x7EF0" />
|
||||
<Texture Name="gGoronScaredSkinTex" OutName="goron_scared_skin" Format="ci8" Width="16" Height="16" Offset="0x80F0" />
|
||||
<Texture Name="gGoronScaredBellyButtonTex" OutName="goron_scared_belly_button" Format="ci8" Width="8" Height="8" Offset="0x81F0" />
|
||||
<Texture Name="gGoronScaredBottomTex" OutName="goron_scared_bottom" Format="ci8" Width="8" Height="16" Offset="0x8230" />
|
||||
<Texture Name="gGoronScaredRocksTex" OutName="goron_scared_rocks" Format="ci8" Width="32" Height="64" Offset="0x82B0" />
|
||||
<Texture Name="gGoronScaredHairTex" OutName="goron_scared_hair" Format="ci8" Width="16" Height="16" Offset="0x8AB0" />
|
||||
|
||||
<!-- Rolled Up -->
|
||||
<DList Name="gGoronEmpty2DL" Offset="0x91A0" />
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
<Root>
|
||||
<File Name="object_spot11_obj" Segment="6">
|
||||
<DList Name="object_spot11_obj_DL_000080" Offset="0x80" />
|
||||
<DList Name="object_spot11_obj_DL_000088" Offset="0x88" />
|
||||
<Texture Name="object_spot11_obj_Tex_000120" OutName="tex_000120" Format="rgba16" Width="32" Height="64" Offset="0x120" />
|
||||
<Collision Name="object_spot11_obj_Colheader_0011C0" Offset="0x11C0" />
|
||||
<DList Name="object_spot11_obj_DL_0013F0" Offset="0x13F0" />
|
||||
<Texture Name="object_spot11_obj_TLUT_001560" OutName="tlut_001560" Format="rgba16" Width="16" Height="16" Offset="0x1560" />
|
||||
<Texture Name="object_spot11_obj_Tex_001760" OutName="tex_001760" Format="ci8" Width="32" Height="32" Offset="0x1760" />
|
||||
<Texture Name="object_spot11_obj_Tex_001B60" OutName="tex_001B60" Format="ci8" Width="32" Height="16" Offset="0x1B60" />
|
||||
<Collision Name="object_spot11_obj_Colheader_001EB8" Offset="0x1EB8" />
|
||||
<DList Name="gSpot11EmptyDL" Offset="0x80" />
|
||||
<DList Name="gGoronDoorDL" Offset="0x88" />
|
||||
<Texture Name="gGoronDoorTex" OutName="goron_door" Format="rgba16" Width="32" Height="64" Offset="0x120" />
|
||||
<Collision Name="gGoronDoorCol" Offset="0x11C0" />
|
||||
<DList Name="gWoodStepDL" Offset="0x13F0" />
|
||||
<Texture Name="gWoodTLUT" OutName="wood_tlut" Format="rgba16" Width="16" Height="16" Offset="0x1560" />
|
||||
<Texture Name="gWoodStepTopTex" OutName="wood_step_top" Format="ci8" Width="32" Height="32" Offset="0x1760" />
|
||||
<Texture Name="gWoodStepSideTex" OutName="wood_step_side" Format="ci8" Width="32" Height="16" Offset="0x1B60" />
|
||||
<Collision Name="gWoodStepCol" Offset="0x1EB8" />
|
||||
</File>
|
||||
</Root>
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
<Root>
|
||||
<File Name="ovl_fbdemo_wipe1" BaseAddress="0x80AC57B0" RangeStart="0x470" RangeEnd="0xEF8">
|
||||
<Array Name="sTransWipe1Vtx" Count="25" Offset="0x470">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
<Texture Name="sTransWipe1Tex" OutName="trans_wipe" Format="i4" Width="64" Height="64" Offset="0x600"/>
|
||||
<DList Name="sTransWipe1DL" Offset="0xE00"/>
|
||||
</File>
|
||||
</Root>
|
||||
Executable → Regular
@@ -136,7 +136,7 @@ void EnMs_Update(Actor* thisx, PlayState* play) {
|
||||
void EnMs_Draw(Actor* thisx, PlayState* play) {
|
||||
EnMs* this = THIS;
|
||||
|
||||
func_8012C28C(play->state.gfxCtx);
|
||||
Gfx_SetupDL25_Opa(play->state.gfxCtx);
|
||||
SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount, NULL,
|
||||
NULL, &this->actor);
|
||||
}
|
||||
|
||||
@@ -244,7 +244,7 @@ void EnRecepgirl_Draw(Actor* thisx, PlayState* play) {
|
||||
|
||||
OPEN_DISPS(play->state.gfxCtx);
|
||||
|
||||
func_8012C28C(play->state.gfxCtx);
|
||||
Gfx_SetupDL25_Opa(play->state.gfxCtx);
|
||||
|
||||
gSPSegment(POLY_OPA_DISP++, 0x08, D_80C106B0[this->unk_2AC]);
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ void EnRecepgirl_Draw(Actor* thisx, PlayState* play) {
|
||||
|
||||
temp_a0 = play->state.gfxCtx;
|
||||
sp30 = temp_a0;
|
||||
func_8012C28C(temp_a0);
|
||||
Gfx_SetupDL25_Opa(temp_a0);
|
||||
temp_v1 = sp30->polyOpa.p;
|
||||
sp30->polyOpa.p = temp_v1 + 8;
|
||||
temp_v1->words.w0 = 0xDB060020;
|
||||
@@ -105,7 +105,7 @@ void EnRecepgirl_Draw(Actor* thisx, PlayState* play) {
|
||||
|
||||
OPEN_DISPS(play->state.gfxCtx);
|
||||
|
||||
func_8012C28C(play->state.gfxCtx);
|
||||
Gfx_SetupDL25_Opa(play->state.gfxCtx);
|
||||
|
||||
gSPSegment(POLY_OPA_DISP++, 0x08, D_80C106B0[this->unk_2AC]);
|
||||
|
||||
@@ -217,7 +217,7 @@ void ObjTree_Draw(Actor* thisx, PlayState* play) {
|
||||
sp34 = (s16) (s32) (f32) thisx->shape.rot.z;
|
||||
temp_a0 = play->state.gfxCtx;
|
||||
temp_s0 = temp_a0;
|
||||
func_8012C28C(temp_a0);
|
||||
Gfx_SetupDL25_Opa(temp_a0);
|
||||
temp_v0 = temp_s0->polyOpa.p;
|
||||
temp_s0->polyOpa.p = temp_v0 + 8;
|
||||
temp_v0->words.w0 = 0xDA380003;
|
||||
@@ -309,7 +309,7 @@ void ObjTree_Draw(Actor* thisx, PlayState* play) {
|
||||
|
||||
OPEN_DISPS(play->state.gfxCtx);
|
||||
|
||||
func_8012C28C(play->state.gfxCtx);
|
||||
Gfx_SetupDL25_Opa(play->state.gfxCtx);
|
||||
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(POLY_OPA_DISP++, D_06000680);
|
||||
|
||||
|
||||
+52
-166
@@ -128,12 +128,8 @@ void MtxConv_L2F(MtxF* mtx, Mtx* mf);
|
||||
|
||||
void __assert(const char* file, u32 lineNum);
|
||||
// void func_800862B4(void);
|
||||
void* SystemArena_MallocMin1(u32 size);
|
||||
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);
|
||||
@@ -328,7 +324,7 @@ OSTime osGetTime(void);
|
||||
void guRotateF(float m[4][4], f32 a, f32 x, f32 y, f32 z);
|
||||
void guRotate(Mtx* m, f32 a, f32 x, f32 y, f32 z);
|
||||
void __osSetGlobalIntMask(u32 mask);
|
||||
// void osVoiceInit(void);
|
||||
s32 osVoiceInit(OSMesgQueue* mq, OSVoiceHandle* handle, s32 channel);
|
||||
s32 __osContChannelReset(OSMesgQueue* mq, s32 channel);
|
||||
// void __osVoiceSetADConverter(void);
|
||||
s32 osAiSetFrequency(u32 frequency);
|
||||
@@ -609,8 +605,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);
|
||||
@@ -726,8 +722,9 @@ Actor* Actor_SpawnAsChildAndCutscene(ActorContext* actorCtx, PlayState* play, s1
|
||||
Actor* Actor_SpawnAsChild(ActorContext* actorCtx, Actor* parent, PlayState* play, s16 actorId, f32 posX, f32 posY, f32 posZ, s16 rotX, s16 rotY, s16 rotZ, s32 params);
|
||||
void Actor_SpawnTransitionActors(PlayState* play, ActorContext* actorCtx);
|
||||
void Enemy_StartFinishingBlow(PlayState* play, Actor* actor);
|
||||
s16 func_800BBAC0(s16 arg0[2], s16 arg1, s16 arg2, s16 arg3);
|
||||
s16 func_800BBB74(s16 arg0[2], s16 arg1, s16 arg2, s16 arg3);
|
||||
s16 func_800BBAC0(BlinkInfo* info, s16 arg1, s16 arg2, s16 arg3);
|
||||
s16 func_800BBB74(BlinkInfo* info, s16 arg1, s16 arg2, s16 arg3);
|
||||
s16 func_800BBC20(BlinkInfo* info, s16 arg1, s16 arg2, s16 arg3);
|
||||
void Actor_SpawnBodyParts(Actor* actor, PlayState* play, s32 partParams, Gfx** dList);
|
||||
void Actor_SpawnFloorDustRing(PlayState* play, Actor* actor, Vec3f* posXZ, f32 radius, s32 countMinusOne, f32 randAccelWeight, s16 scale, s16 scaleStep, u8 useLighting);
|
||||
void func_800BBFB0(PlayState* play, Vec3f* position, f32 arg2, s32 arg3, s16 arg4, s16 scaleStep, u8 arg6);
|
||||
@@ -739,9 +736,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 +794,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);
|
||||
@@ -1343,7 +1338,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);
|
||||
@@ -1462,17 +1457,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);
|
||||
@@ -1599,87 +1594,6 @@ s32 func_80128640(PlayState* play, Player* player, Gfx* dlist);
|
||||
void Player_SetFeetPos(PlayState* play, Player* player, s32 limbIndex);
|
||||
void Player_PostLimbDrawGameplay(PlayState* play, s32 limbIndex, Gfx** dList1, Gfx** dList2, Vec3s* rot, Actor* actor);
|
||||
|
||||
Gfx* Gfx_SetFog(Gfx* gfx, s32 r, s32 g, s32 b, s32 a, s32 n, s32 f);
|
||||
Gfx* Gfx_SetFogWithSync(Gfx* gfx, s32 r, s32 g, s32 b, s32 a, s32 n, s32 f);
|
||||
Gfx* Gfx_SetFog2(Gfx* gfx, s32 r, s32 g, s32 b, s32 a, s32 n, s32 f);
|
||||
Gfx* Gfx_CallSetupDLImpl(Gfx* gfx, u32 i);
|
||||
Gfx* Gfx_CallSetupDL(Gfx* gfx, u32 i);
|
||||
void Gfx_CallSetupDLAtPtr(Gfx** gfxp, u32 i);
|
||||
Gfx* func_8012BFC4(Gfx* gfx);
|
||||
Gfx* func_8012BFEC(Gfx* gfx);
|
||||
Gfx* func_8012C014(Gfx* gfx);
|
||||
void func_8012C058(GraphicsContext* gfxCtx);
|
||||
void func_8012C080(GraphicsContext* gfxCtx);
|
||||
void func_8012C0A8(GraphicsContext* gfxCtx);
|
||||
void func_8012C0D0(GraphicsContext* gfxCtx);
|
||||
void func_8012C0F8(GraphicsContext* gfxCtx);
|
||||
void func_8012C120(GraphicsContext* gfxCtx);
|
||||
void func_8012C148(GraphicsContext* gfxCtx);
|
||||
void func_8012C170(GraphicsContext* gfxCtx);
|
||||
Gfx* func_8012C198(Gfx* gfx);
|
||||
void func_8012C1C0(GraphicsContext* gfxCtx);
|
||||
Gfx* func_8012C1EC(Gfx* gfx);
|
||||
void func_8012C214(GraphicsContext* gfxCtx);
|
||||
void func_8012C240(GraphicsContext* gfxCtx);
|
||||
void func_8012C268(PlayState* play);
|
||||
void func_8012C28C(GraphicsContext* gfxCtx);
|
||||
Gfx* func_8012C2B4(Gfx* gfx);
|
||||
void func_8012C2DC(GraphicsContext* gfxCtx);
|
||||
Gfx* func_8012C304(Gfx* gfx);
|
||||
void func_8012C32C(GraphicsContext* gfxCtx);
|
||||
void func_8012C354(GraphicsContext* gfxCtx);
|
||||
void func_8012C37C(GraphicsContext* gfxCtx);
|
||||
Gfx* func_8012C3A4(Gfx* gfx);
|
||||
Gfx* func_8012C3CC(Gfx* gfx);
|
||||
void func_8012C3F4(GraphicsContext* gfxCtx);
|
||||
void func_8012C420(GraphicsContext* gfxCtx);
|
||||
void func_8012C448(GraphicsContext* gfxCtx);
|
||||
void func_8012C470(GraphicsContext* gfxCtx);
|
||||
Gfx* func_8012C498(Gfx* gfx);
|
||||
void func_8012C4C0(GraphicsContext* gfxCtx);
|
||||
void func_8012C4E8(GraphicsContext* gfxCtx);
|
||||
void func_8012C510(GraphicsContext* gfxCtx);
|
||||
void func_8012C538(GraphicsContext* gfxCtx);
|
||||
void func_8012C560(GraphicsContext* gfxCtx);
|
||||
void func_8012C588(GraphicsContext* gfxCtx);
|
||||
void func_8012C5B0(GraphicsContext* gfxCtx);
|
||||
void func_8012C5D8(GraphicsContext* gfxCtx);
|
||||
Gfx* func_8012C600(Gfx* gfx);
|
||||
void func_8012C628(GraphicsContext* gfxCtx);
|
||||
void func_8012C654(GraphicsContext* gfxCtx);
|
||||
void func_8012C680(Gfx** gfxp);
|
||||
void func_8012C6AC(GraphicsContext* gfxCtx);
|
||||
void func_8012C6D4(GraphicsContext* gfxCtx);
|
||||
void func_8012C6FC(GraphicsContext* gfxCtx);
|
||||
Gfx* func_8012C724(Gfx* gfx);
|
||||
Gfx* func_8012C74C(Gfx* gfx);
|
||||
Gfx* func_8012C774(Gfx* gfx);
|
||||
Gfx* func_8012C7B8(Gfx* gfx);
|
||||
Gfx* func_8012C7FC(Gfx* gfx);
|
||||
Gfx* func_8012C840(Gfx* gfx);
|
||||
Gfx* func_8012C868(Gfx* gfx);
|
||||
void func_8012C8AC(GraphicsContext* gfxCtx);
|
||||
void func_8012C8D4(GraphicsContext* gfxCtx);
|
||||
void func_8012C8FC(GraphicsContext* gfxCtx);
|
||||
void func_8012C924(GraphicsContext* gfxCtx);
|
||||
void func_8012C94C(GraphicsContext* gfxCtx);
|
||||
void func_8012C974(GraphicsContext* gfxCtx);
|
||||
void func_8012C9BC(GraphicsContext* gfxCtx);
|
||||
void func_8012C9E4(GraphicsContext* gfxCtx);
|
||||
void func_8012CA0C(Gfx** gfxp);
|
||||
void func_8012CA38(GraphicsContext* gfxCtx);
|
||||
Gfx* Gfx_BranchTexScroll(Gfx** gfxp, u32 x, u32 y, s32 width, s32 height);
|
||||
void func_8012CB04(Gfx** gfxp, u32 x, u32 y);
|
||||
Gfx* func_8012CB28(GraphicsContext* gfxCtx, u32 x, u32 y);
|
||||
Gfx* Gfx_TexScroll(GraphicsContext* gfxCtx, u32 x, u32 y, s32 width, s32 height);
|
||||
Gfx* Gfx_TwoTexScroll(GraphicsContext* gfxCtx, s32 tile1, u32 x1, u32 y1, s32 width1, s32 height1, s32 tile2, u32 x2, u32 y2, s32 width2, s32 height2);
|
||||
Gfx* Gfx_TwoTexScrollEnvColor(GraphicsContext* gfxCtx, s32 tile1, u32 x1, u32 y1, s32 width1, s32 height1, s32 tile2, u32 x2, u32 y2, s32 width2, s32 height2, s32 r, s32 g, s32 b, s32 a);
|
||||
Gfx* Gfx_EnvColor(GraphicsContext* gfxCtx, s32 r, s32 g, s32 b, s32 a);
|
||||
Gfx* Gfx_PrimColor(GraphicsContext* gfxCtx, s32 lodfrac, s32 r, s32 g, s32 b, s32 a);
|
||||
void func_8012CF0C(GraphicsContext* gfxCtx, s32 clearFb, s32 clearZb, u8 r, u8 g, u8 b);
|
||||
void func_8012D374(GraphicsContext* gfxCtx, u8 r, u8 g, u8 b);
|
||||
void func_8012D40C(f32* param_1, f32* param_2, s16* param_3);
|
||||
|
||||
void Room_Noop(PlayState* play, Room* room, Input* input, s32 arg3);
|
||||
void Room_Init(PlayState* play, RoomContext* roomCtx);
|
||||
size_t Room_AllocateAndLoad(PlayState* play, RoomContext* roomCtx);
|
||||
@@ -2100,34 +2014,6 @@ ListAlloc* ListAlloc_Init(ListAlloc* this);
|
||||
// void ListAlloc_Free(void);
|
||||
void ListAlloc_FreeAll(ListAlloc* this);
|
||||
void Main(void* arg);
|
||||
u32 Padmgr_GetControllerBitmask(void);
|
||||
void func_80174F24(void (*arg0)(void*), void* arg1);
|
||||
void func_80174F44(void (*arg0)(void*), void* arg1);
|
||||
void func_80174F7C(void (*arg0)(s32), void* arg1);
|
||||
void func_80174F9C(void (*arg0)(s32), void* arg1);
|
||||
// OSMesgQueue* Padmgr_GetEventCallback(void);
|
||||
// void func_80175008(void);
|
||||
void Padmgr_SetEventCallback(OSMesg pvParm1);
|
||||
// void func_8017506C(void);
|
||||
// void Padmgr_Lock(void);
|
||||
// void Padmgr_Unlock(void);
|
||||
// void func_801750FC(void);
|
||||
// void func_80175364(void);
|
||||
void func_80175434(void);
|
||||
void func_8017544C(s32 port, s32 rumbleOn);
|
||||
void PadMgr_RumbleSet(u8 rumbleEnabled[MAXCONTROLLERS]);
|
||||
s32 PadMgr_ControllerHasRumblePak(s32 port);
|
||||
void Padmgr_CalcStickEdges(Input* input);
|
||||
// void Padmgr_ParseState(void);
|
||||
// void func_801759BC(void);
|
||||
// void func_80175AE0(void);
|
||||
// void Padmgr_Update(void);
|
||||
// void Padmgr_Stop(void);
|
||||
void func_80175E68(Input* input, s32 param_2);
|
||||
void Padmgr_GetInput(Input* input, s32 param_2);
|
||||
void Padmgr_GetInput2(Input* input, s32 param_2);
|
||||
void Padmgr_ThreadEntry(PadMgr* padmgr);
|
||||
void PadMgr_Init(OSMesgQueue* siEventCallbackQueue, IrqMgr* irqmgr, OSId threadId, OSPri threadPri, void* stack);
|
||||
void Sched_SwapFramebuffer(CfbInfo* cfbInfo);
|
||||
void Sched_RetraceUpdateFramebuffer(SchedContext* sched, CfbInfo* cfbInfo);
|
||||
void Sched_HandleReset(SchedContext* sched);
|
||||
@@ -2191,8 +2077,8 @@ f32 randPlusMinusPoint5Scaled(f32 scale);
|
||||
f32 Math3D_Normalize(Vec3f* vec);
|
||||
s32 Math3D_PlaneVsLineSegClosestPoint(f32 planeAA, f32 planeAB, f32 planeAC, f32 planeADist, f32 planeBA, f32 planeBB, f32 planeBC, f32 planeBDist, Vec3f* linePointA, Vec3f* linePointB, Vec3f* closestPoint);
|
||||
s32 func_80179798(Vec3f* param_1, Vec3f* param_2, Vec3f* param_3, Vec3f* param_4, Vec3f* param_5, Vec3f* param_6);
|
||||
// void func_80179A44(void);
|
||||
void func_80179B34(float fParm1, f32 fParm2, f32 fParm5, f32 fParm6, f32 param_5, f32 param_6, f32 param_7, float* param_8, float* param_9);
|
||||
void func_80179A44(Vec3f* arg0, PosRot* arg1, Vec3f* arg2);
|
||||
void func_80179B34(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32* arg7, f32* arg8);
|
||||
// UNK_TYPE4 func_80179B94(f32 fParm1, f32 fParm2, f32 fParm5, f32 param_4, f32 param_5, f32 param_6, f32 param_7, f32 param_8, Vec3f* param_9);
|
||||
// void func_80179D74(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, UNK_TYPE4 param_9, UNK_TYPE4 param_10);
|
||||
void Math3D_ScaleAndAdd(Vec3f* a, Vec3f* b, f32 scale, Vec3f* dst);
|
||||
@@ -2616,7 +2502,7 @@ void Audio_ResetForAudioHeapStep3(void);
|
||||
void Audio_ResetForAudioHeapStep2(void);
|
||||
void Audio_ResetForAudioHeapStep1(s32 specId);
|
||||
|
||||
// void func_801A4EB0(void);
|
||||
void func_801A4EB0(void);
|
||||
// void func_801A4EB8(void);
|
||||
void func_801A4FD8(void);
|
||||
void func_801A5080(u16 arg0);
|
||||
|
||||
+274
@@ -0,0 +1,274 @@
|
||||
#ifndef GFX_H
|
||||
#define GFX_H
|
||||
|
||||
#include "ultra64.h"
|
||||
#include "PR/sched.h"
|
||||
#include "thga.h"
|
||||
#include "alignment.h"
|
||||
|
||||
struct GameState;
|
||||
|
||||
typedef enum SetupDL {
|
||||
/* 0x00 */ SETUPDL_0,
|
||||
/* 0x01 */ SETUPDL_1,
|
||||
/* 0x02 */ SETUPDL_2,
|
||||
/* 0x03 */ SETUPDL_3,
|
||||
/* 0x04 */ SETUPDL_4,
|
||||
/* 0x05 */ SETUPDL_5,
|
||||
/* 0x06 */ SETUPDL_6,
|
||||
/* 0x07 */ SETUPDL_7,
|
||||
/* 0x08 */ SETUPDL_8,
|
||||
/* 0x09 */ SETUPDL_9,
|
||||
/* 0x0A */ SETUPDL_10,
|
||||
/* 0x0B */ SETUPDL_11,
|
||||
/* 0x0C */ SETUPDL_12,
|
||||
/* 0x0D */ SETUPDL_13,
|
||||
/* 0x0E */ SETUPDL_14,
|
||||
/* 0x0F */ SETUPDL_15,
|
||||
/* 0x10 */ SETUPDL_16,
|
||||
/* 0x11 */ SETUPDL_17,
|
||||
/* 0x12 */ SETUPDL_18,
|
||||
/* 0x13 */ SETUPDL_19,
|
||||
/* 0x14 */ SETUPDL_20,
|
||||
/* 0x15 */ SETUPDL_21,
|
||||
/* 0x16 */ SETUPDL_22,
|
||||
/* 0x17 */ SETUPDL_23,
|
||||
/* 0x18 */ SETUPDL_24,
|
||||
/* 0x19 */ SETUPDL_25,
|
||||
/* 0x1A */ SETUPDL_26,
|
||||
/* 0x1B */ SETUPDL_27,
|
||||
/* 0x1C */ SETUPDL_28,
|
||||
/* 0x1D */ SETUPDL_29,
|
||||
/* 0x1E */ SETUPDL_30,
|
||||
/* 0x1F */ SETUPDL_31,
|
||||
/* 0x20 */ SETUPDL_32,
|
||||
/* 0x21 */ SETUPDL_33,
|
||||
/* 0x22 */ SETUPDL_34,
|
||||
/* 0x23 */ SETUPDL_35,
|
||||
/* 0x24 */ SETUPDL_36,
|
||||
/* 0x25 */ SETUPDL_37,
|
||||
/* 0x26 */ SETUPDL_38,
|
||||
/* 0x27 */ SETUPDL_39,
|
||||
/* 0x28 */ SETUPDL_40,
|
||||
/* 0x29 */ SETUPDL_41,
|
||||
/* 0x2A */ SETUPDL_42,
|
||||
/* 0x2B */ SETUPDL_43,
|
||||
/* 0x2C */ SETUPDL_44,
|
||||
/* 0x2D */ SETUPDL_45,
|
||||
/* 0x2E */ SETUPDL_46,
|
||||
/* 0x2F */ SETUPDL_47,
|
||||
/* 0x30 */ SETUPDL_48,
|
||||
/* 0x31 */ SETUPDL_49,
|
||||
/* 0x32 */ SETUPDL_50,
|
||||
/* 0x33 */ SETUPDL_51,
|
||||
/* 0x34 */ SETUPDL_52,
|
||||
/* 0x35 */ SETUPDL_53,
|
||||
/* 0x36 */ SETUPDL_54,
|
||||
/* 0x37 */ SETUPDL_55,
|
||||
/* 0x38 */ SETUPDL_56,
|
||||
/* 0x39 */ SETUPDL_57,
|
||||
/* 0x3A */ SETUPDL_58,
|
||||
/* 0x3B */ SETUPDL_59,
|
||||
/* 0x3C */ SETUPDL_60,
|
||||
/* 0x3D */ SETUPDL_61,
|
||||
/* 0x3E */ SETUPDL_62,
|
||||
/* 0x3F */ SETUPDL_63,
|
||||
/* 0x40 */ SETUPDL_64,
|
||||
/* 0x41 */ SETUPDL_65,
|
||||
/* 0x42 */ SETUPDL_66,
|
||||
/* 0x43 */ SETUPDL_67,
|
||||
/* 0x44 */ SETUPDL_68,
|
||||
/* 0x45 */ SETUPDL_69,
|
||||
/* 0x46 */ SETUPDL_70,
|
||||
/* 0x47 */ SETUPDL_71,
|
||||
/* 0x48 */ SETUPDL_72,
|
||||
/* 0x49 */ SETUPDL_MAX
|
||||
} SetupDL;
|
||||
|
||||
typedef struct {
|
||||
/* 0x000 */ Gfx taskStart[9];
|
||||
/* 0x048 */ Gfx clearZBuffer[8]; // original name: clear_zb_dl
|
||||
/* 0x088 */ Gfx clearFrameBuffer[5]; // original name: clear_fb_dl
|
||||
/* 0x0B0 */ Gfx setupBuffers[6]; // setup framebuffer and zbuffer
|
||||
/* 0x0E0 */ Gfx unk_E0[12]; // unused
|
||||
/* 0x140 */ Gfx syncSegments[17];
|
||||
/* 0x1C8 */ Gfx setScissor[2];
|
||||
/* 0x1D8 */ Gfx unk_1D8[25]; // unused
|
||||
/* 0x2A0 */ Gfx disps[5];
|
||||
/* 0x2C8 */ Gfx clearFillRect[3]; // fillrect for clearing buffers
|
||||
/* 0x2E0 */ Gfx fillRect[3]; // fillrect for general purpose
|
||||
/* 0x2F8 */ Gfx debugDisp[1];
|
||||
} GfxMasterList; // size = 0x300
|
||||
|
||||
#define GFXPOOL_HEAD_MAGIC 0x1234
|
||||
#define GFXPOOL_TAIL_MAGIC 0x5678
|
||||
|
||||
typedef struct GfxPool {
|
||||
/* 0x00000 */ u16 headMagic; // GFXPOOL_HEAD_MAGIC
|
||||
/* 0x00008 */ GfxMasterList master;
|
||||
/* 0x00308 */ Gfx polyXluBuffer[0x800];
|
||||
/* 0x04308 */ Gfx overlayBuffer[0x400];
|
||||
/* 0x06308 */ Gfx workBuffer[0x40];
|
||||
/* 0x06508 */ Gfx debugBuffer[0x40];
|
||||
/* 0x06708 */ Gfx polyOpaBuffer[0x3380];
|
||||
/* 0x20308 */ u16 tailMagic; // GFXPOOL_TAIL_MAGIC
|
||||
} GfxPool; // size = 0x20310
|
||||
|
||||
typedef struct GraphicsContext {
|
||||
/* 0x000 */ Gfx* polyOpaBuffer; // Pointer to "Zelda 0"
|
||||
/* 0x004 */ Gfx* polyXluBuffer; // Pointer to "Zelda 1"
|
||||
/* 0x008 */ char unk_8[0x8]; // Unused, could this be pointers to "Zelda 2" / "Zelda 3"
|
||||
/* 0x010 */ Gfx* overlayBuffer; // Pointer to "Zelda 4"
|
||||
/* 0x014 */ u32 unk_14;
|
||||
/* 0x018 */ char unk_18[0x20];
|
||||
/* 0x038 */ OSMesg msgBuff[8];
|
||||
/* 0x058 */ OSMesgQueue* schedMsgQ;
|
||||
/* 0x05C */ OSMesgQueue queue;
|
||||
/* 0x074 */ char unk_74[0x04];
|
||||
/* 0x078 */ OSScTask task;
|
||||
/* 0x0E0 */ char unk_E0[0xD0];
|
||||
/* 0x1B0 */ Gfx* workBuffer;
|
||||
/* 0x1B4 */ TwoHeadGfxArena work;
|
||||
/* 0x1C4 */ Gfx* debugBuffer;
|
||||
/* 0x1C8 */ TwoHeadGfxArena debug;
|
||||
/* 0x1D8 */ UNK_TYPE1 unk_1D8[0xAC];
|
||||
/* 0x284 */ OSViMode* viMode;
|
||||
/* 0x288 */ void* zbuffer;
|
||||
/* 0x28C */ char unk_28C[0x1C];
|
||||
/* 0x2A8 */ TwoHeadGfxArena overlay; // "Zelda 4"
|
||||
/* 0x2B8 */ TwoHeadGfxArena polyOpa; // "Zelda 0"
|
||||
/* 0x2C8 */ TwoHeadGfxArena polyXlu; // "Zelda 1"
|
||||
/* 0x2D8 */ u32 gfxPoolIdx;
|
||||
/* 0x2DC */ u16* curFrameBuffer;
|
||||
/* 0x2E0 */ char unk_2E0[0x4];
|
||||
/* 0x2E4 */ u32 viConfigFeatures;
|
||||
/* 0x2E8 */ char unk_2E8[0x2];
|
||||
/* 0x2EA */ u8 updateViMode;
|
||||
/* 0x2EB */ u8 framebufferIndex;
|
||||
/* 0x2EC */ void (*callback)(struct GraphicsContext*, u32);
|
||||
/* 0x2F0 */ u32 callbackArg;
|
||||
/* 0x2F4 */ f32 xScale;
|
||||
/* 0x2F8 */ f32 yScale;
|
||||
/* 0x2FC */ GfxMasterList* masterList;
|
||||
} GraphicsContext; // size = 0x300
|
||||
|
||||
Gfx* Gfx_SetFog(Gfx* gfx, s32 r, s32 g, s32 b, s32 a, s32 n, s32 f);
|
||||
Gfx* Gfx_SetFogWithSync(Gfx* gfx, s32 r, s32 g, s32 b, s32 a, s32 n, s32 f);
|
||||
Gfx* Gfx_SetFog2(Gfx* gfx, s32 r, s32 g, s32 b, s32 a, s32 n, s32 f);
|
||||
Gfx* Gfx_SetupDLImpl(Gfx* gfx, u32 i);
|
||||
Gfx* Gfx_SetupDL(Gfx* gfx, u32 i);
|
||||
void Gfx_SetupDLAtPtr(Gfx** gfxp, u32 i);
|
||||
Gfx* Gfx_SetupDL57(Gfx* gfx);
|
||||
Gfx* Gfx_SetupDL57_b(Gfx* gfx);
|
||||
Gfx* Gfx_SetupDL52_NoCD(Gfx* gfx);
|
||||
void Gfx_SetupDL58_Opa(GraphicsContext* gfxCtx);
|
||||
void Gfx_SetupDL57_Opa(GraphicsContext* gfxCtx);
|
||||
void Gfx_SetupDL50_Opa(GraphicsContext* gfxCtx);
|
||||
void Gfx_SetupDL51_Opa(GraphicsContext* gfxCtx);
|
||||
void Gfx_SetupDL52_Xlu(GraphicsContext* gfxCtx);
|
||||
void Gfx_SetupDL53_Opa(GraphicsContext* gfxCtx);
|
||||
void Gfx_SetupDL54_Opa(GraphicsContext* gfxCtx);
|
||||
void Gfx_SetupDL55_Xlu(GraphicsContext* gfxCtx);
|
||||
Gfx* Gfx_SetupDL26(Gfx* gfx);
|
||||
void Gfx_SetupDL26_Opa(GraphicsContext* gfxCtx);
|
||||
Gfx* Gfx_SetupDL23(Gfx* gfx);
|
||||
void Gfx_SetupDL23_Opa(GraphicsContext* gfxCtx);
|
||||
void Gfx_SetupDL25_Xlu2(GraphicsContext* gfxCtx);
|
||||
void func_8012C268(struct GameState* gameState);
|
||||
void Gfx_SetupDL25_Opa(GraphicsContext* gfxCtx);
|
||||
Gfx* Gfx_SetupDL71(Gfx* gfx);
|
||||
void Gfx_SetupDL25_Xlu(GraphicsContext* gfxCtx);
|
||||
Gfx* Gfx_SetupDL72(Gfx* gfx);
|
||||
void Gfx_SetupDL31_Opa(GraphicsContext* gfxCtx);
|
||||
void Gfx_SetupDL32_Opa(GraphicsContext* gfxCtx);
|
||||
void Gfx_SetupDL33_Opa(GraphicsContext* gfxCtx);
|
||||
Gfx* Gfx_SetupDL64(Gfx* gfx);
|
||||
Gfx* Gfx_SetupDL34(Gfx* gfx);
|
||||
void Gfx_SetupDL34_Opa(GraphicsContext* gfxCtx);
|
||||
void Gfx_SetupDL35_Opa(GraphicsContext* gfxCtx);
|
||||
void Gfx_SetupDL44_Xlu(GraphicsContext* gfxCtx);
|
||||
void Gfx_SetupDL36_Opa(GraphicsContext* gfxCtx);
|
||||
Gfx* Gfx_SetupDL28(Gfx* gfx);
|
||||
void Gfx_SetupDL28_Opa(GraphicsContext* gfxCtx);
|
||||
void Gfx_SetupDL43_Opa(GraphicsContext* gfxCtx);
|
||||
void Gfx_SetupDL45_Opa(GraphicsContext* gfxCtx);
|
||||
void Gfx_SetupDL46_Overlay(GraphicsContext* gfxCtx);
|
||||
void Gfx_SetupDL38_Xlu(GraphicsContext* gfxCtx);
|
||||
void Gfx_SetupDL4_Xlu(GraphicsContext* gfxCtx);
|
||||
void Gfx_SetupDL37_Opa(GraphicsContext* gfxCtx);
|
||||
void Gfx_SetupDL2_Opa(GraphicsContext* gfxCtx);
|
||||
Gfx* Gfx_SetupDL39(Gfx* gfx);
|
||||
void Gfx_SetupDL39_Opa(GraphicsContext* gfxCtx);
|
||||
void Gfx_SetupDL39_Overlay(GraphicsContext* gfxCtx);
|
||||
void Gfx_SetupDL39_Ptr(Gfx** gfxp);
|
||||
void Gfx_SetupDL40_Opa(GraphicsContext* gfxCtx);
|
||||
void Gfx_SetupDL41_Opa(GraphicsContext* gfxCtx);
|
||||
void Gfx_SetupDL47_Xlu(GraphicsContext* gfxCtx);
|
||||
Gfx* Gfx_SetupDL66(Gfx* gfx);
|
||||
Gfx* Gfx_SetupDL67(Gfx* gfx);
|
||||
Gfx* Gfx_SetupDL68_NoCD(Gfx* gfx);
|
||||
Gfx* Gfx_SetupDL69_NoCD(Gfx* gfx);
|
||||
Gfx* Gfx_SetupDL65_NoCD(Gfx* gfx);
|
||||
Gfx* Gfx_SetupDL70(Gfx* gfx);
|
||||
Gfx* Gfx_SetupDL20_NoCD(Gfx* gfx);
|
||||
void Gfx_SetupDL42_Opa(GraphicsContext* gfxCtx);
|
||||
void Gfx_SetupDL42_Overlay(GraphicsContext* gfxCtx);
|
||||
void Gfx_SetupDL48_Opa(GraphicsContext* gfxCtx);
|
||||
void Gfx_SetupDL49_Xlu(GraphicsContext* gfxCtx);
|
||||
void Gfx_SetupDL27_Xlu(GraphicsContext* gfxCtx);
|
||||
void Gfx_SetupDL60_XluNoCD(GraphicsContext* gfxCtx);
|
||||
void Gfx_SetupDL61_Xlu(GraphicsContext* gfxCtx);
|
||||
void Gfx_SetupDL56_Opa(GraphicsContext* gfxCtx);
|
||||
void Gfx_SetupDL56_Ptr(Gfx** gfxp);
|
||||
void Gfx_SetupDL59_Opa(GraphicsContext* gfxCtx);
|
||||
Gfx* Gfx_BranchTexScroll(Gfx** gfxp, u32 x, u32 y, s32 width, s32 height);
|
||||
void func_8012CB04(Gfx** gfxp, u32 x, u32 y);
|
||||
Gfx* func_8012CB28(GraphicsContext* gfxCtx, u32 x, u32 y);
|
||||
Gfx* Gfx_TexScroll(GraphicsContext* gfxCtx, u32 x, u32 y, s32 width, s32 height);
|
||||
Gfx* Gfx_TwoTexScroll(GraphicsContext* gfxCtx, s32 tile1, u32 x1, u32 y1, s32 width1, s32 height1, s32 tile2, u32 x2, u32 y2, s32 width2, s32 height2);
|
||||
Gfx* Gfx_TwoTexScrollEnvColor(GraphicsContext* gfxCtx, s32 tile1, u32 x1, u32 y1, s32 width1, s32 height1, s32 tile2, u32 x2, u32 y2, s32 width2, s32 height2, s32 r, s32 g, s32 b, s32 a);
|
||||
Gfx* Gfx_EnvColor(GraphicsContext* gfxCtx, s32 r, s32 g, s32 b, s32 a);
|
||||
Gfx* Gfx_PrimColor(GraphicsContext* gfxCtx, s32 lodfrac, s32 r, s32 g, s32 b, s32 a);
|
||||
void func_8012CF0C(GraphicsContext* gfxCtx, s32 clearFb, s32 clearZb, u8 r, u8 g, u8 b);
|
||||
void func_8012D374(GraphicsContext* gfxCtx, u8 r, u8 g, u8 b);
|
||||
void func_8012D40C(f32* param_1, f32* param_2, s16* param_3);
|
||||
|
||||
extern Gfx gSetupDLs[SETUPDL_MAX][6];
|
||||
extern Gfx gEmptyDL[];
|
||||
|
||||
#define WORK_DISP __gfxCtx->work.p
|
||||
#define POLY_OPA_DISP __gfxCtx->polyOpa.p
|
||||
#define POLY_XLU_DISP __gfxCtx->polyXlu.p
|
||||
#define OVERLAY_DISP __gfxCtx->overlay.p
|
||||
#define DEBUG_DISP __gfxCtx->debug.p
|
||||
|
||||
// __gfxCtx shouldn't be used directly.
|
||||
// Use the DISP macros defined above when writing to display buffers.
|
||||
#define OPEN_DISPS(gfxCtx) \
|
||||
{ \
|
||||
GraphicsContext* __gfxCtx = gfxCtx; \
|
||||
s32 __dispPad
|
||||
|
||||
#define CLOSE_DISPS(gfxCtx) \
|
||||
(void)0; \
|
||||
} \
|
||||
(void)0
|
||||
|
||||
#define GRAPH_ALLOC(gfxCtx, size) ((void*)((gfxCtx)->polyOpa.d = (Gfx*)((u8*)(gfxCtx)->polyOpa.d - ALIGN16(size))))
|
||||
|
||||
// Custom gbi macro
|
||||
#define gDPSetTileCustom(pkt, fmt, siz, width, height, pal, cms, cmt, masks, maskt, shifts, shiftt) \
|
||||
{ \
|
||||
gDPPipeSync(pkt); \
|
||||
gDPTileSync(pkt); \
|
||||
gDPSetTile(pkt, fmt, siz, (((width)*siz##_TILE_BYTES) + 7) >> 3, 0, G_TX_LOADTILE, 0, cmt, maskt, shiftt, cms, \
|
||||
masks, shifts); \
|
||||
gDPTileSync(pkt); \
|
||||
gDPSetTile(pkt, fmt, siz, (((width)*siz##_TILE_BYTES) + 7) >> 3, 0, G_TX_RENDERTILE, pal, cmt, maskt, shiftt, \
|
||||
cms, masks, shifts); \
|
||||
gDPSetTileSize(pkt, G_TX_RENDERTILE, 0, 0, ((width)-1) << G_TEXTURE_IMAGE_FRAC, \
|
||||
((height)-1) << G_TEXTURE_IMAGE_FRAC); \
|
||||
} \
|
||||
(void)0
|
||||
|
||||
#endif
|
||||
+69
-11
@@ -35,10 +35,6 @@
|
||||
#define CONT_CMD_WRITE_EEPROM_RX 1
|
||||
#define CONT_CMD_RESET_RX 3
|
||||
|
||||
#define CONT_CMD_NOP 0xFF
|
||||
#define CONT_CMD_END 0xFE // Indicates end of a command
|
||||
#define CONT_CMD_EXE 1 // Set pif ram status byte to this to do a command
|
||||
|
||||
#define CONT_ERR_NO_CONTROLLER PFS_ERR_NOPACK /* 1 */
|
||||
#define CONT_ERR_CONTRFAIL CONT_OVERRUN_ERROR /* 4 */
|
||||
#define CONT_ERR_INVALID PFS_ERR_INVALID /* 5 */
|
||||
@@ -48,6 +44,52 @@
|
||||
#define CONT_ERR_VOICE_WORD 14
|
||||
#define CONT_ERR_VOICE_NO_RESPONSE 15
|
||||
|
||||
// Joybus commands
|
||||
#define CONT_CMD_REQUEST_STATUS 0
|
||||
#define CONT_CMD_READ_BUTTON 1
|
||||
#define CONT_CMD_READ_PAK 2
|
||||
#define CONT_CMD_WRITE_PAK 3
|
||||
#define CONT_CMD_READ_EEPROM 4
|
||||
#define CONT_CMD_WRITE_EEPROM 5
|
||||
#define CONT_CMD_READ36_VOICE 9
|
||||
#define CONT_CMD_WRITE20_VOICE 10
|
||||
#define CONT_CMD_READ2_VOICE 11
|
||||
#define CONT_CMD_WRITE4_VOICE 12
|
||||
#define CONT_CMD_SWRITE_VOICE 13
|
||||
#define CONT_CMD_CHANNEL_RESET 0xFD
|
||||
#define CONT_CMD_RESET 0xFF
|
||||
|
||||
// Bytes transmitted for each joybus command
|
||||
#define CONT_CMD_REQUEST_STATUS_TX 1
|
||||
#define CONT_CMD_READ_BUTTON_TX 1
|
||||
#define CONT_CMD_READ_PAK_TX 3
|
||||
#define CONT_CMD_WRITE_PAK_TX 35
|
||||
#define CONT_CMD_READ_EEPROM_TX 2
|
||||
#define CONT_CMD_WRITE_EEPROM_TX 10
|
||||
#define CONT_CMD_READ36_VOICE_TX 3
|
||||
#define CONT_CMD_WRITE20_VOICE_TX 23
|
||||
#define CONT_CMD_READ2_VOICE_TX 3
|
||||
#define CONT_CMD_WRITE4_VOICE_TX 7
|
||||
#define CONT_CMD_SWRITE_VOICE_TX 3
|
||||
#define CONT_CMD_RESET_TX 1
|
||||
|
||||
// Bytes received for each joybus command
|
||||
#define CONT_CMD_REQUEST_STATUS_RX 3
|
||||
#define CONT_CMD_READ_BUTTON_RX 4
|
||||
#define CONT_CMD_READ_PAK_RX 33
|
||||
#define CONT_CMD_WRITE_PAK_RX 1
|
||||
#define CONT_CMD_READ_EEPROM_RX 8
|
||||
#define CONT_CMD_WRITE_EEPROM_RX 1
|
||||
#define CONT_CMD_READ36_VOICE_RX 37
|
||||
#define CONT_CMD_WRITE20_VOICE_RX 1
|
||||
#define CONT_CMD_READ2_VOICE_RX 3
|
||||
#define CONT_CMD_WRITE4_VOICE_RX 1
|
||||
#define CONT_CMD_SWRITE_VOICE_RX 1
|
||||
#define CONT_CMD_RESET_RX 3
|
||||
|
||||
#define CONT_CMD_NOP 0xFF
|
||||
#define CONT_CMD_END 0xFE // Indicates end of a command
|
||||
#define CONT_CMD_EXE 1 // Set pif ram status byte to this to do a command
|
||||
|
||||
#define DIR_STATUS_EMPTY 0
|
||||
#define DIR_STATUS_UNKNOWN 1
|
||||
@@ -81,6 +123,26 @@
|
||||
#define CONT_ADDR_CRC_ER 0x04
|
||||
#define CONT_EEPROM_BUSY 0x80
|
||||
|
||||
// Accessory detection
|
||||
#define CONT_ADDR_DETECT 0x8000
|
||||
// Rumble
|
||||
#define CONT_ADDR_RUMBLE 0xC000
|
||||
// Controller Pak
|
||||
// Transfer Pak
|
||||
#define CONT_ADDR_GB_POWER 0x8000 // Same as the detection address, but semantically different
|
||||
#define CONT_ADDR_GB_BANK 0xA000
|
||||
#define CONT_ADDR_GB_STATUS 0xB000
|
||||
|
||||
// Addresses sent to controller accessories are in blocks, not bytes
|
||||
#define CONT_BLOCKS(x) ((x) / BLOCKSIZE)
|
||||
|
||||
// Block addresses of the above
|
||||
#define CONT_BLOCK_DETECT CONT_BLOCKS(CONT_ADDR_DETECT)
|
||||
#define CONT_BLOCK_RUMBLE CONT_BLOCKS(CONT_ADDR_RUMBLE)
|
||||
#define CONT_BLOCK_GB_POWER CONT_BLOCKS(CONT_ADDR_GB_POWER)
|
||||
#define CONT_BLOCK_GB_BANK CONT_BLOCKS(CONT_ADDR_GB_BANK)
|
||||
#define CONT_BLOCK_GB_STATUS CONT_BLOCKS(CONT_ADDR_GB_STATUS)
|
||||
|
||||
/* Buttons */
|
||||
#define BTN_CRIGHT 0x0001
|
||||
#define BTN_CLEFT 0x0002
|
||||
@@ -88,6 +150,7 @@
|
||||
#define BTN_CUP 0x0008
|
||||
#define BTN_R 0x0010
|
||||
#define BTN_L 0x0020
|
||||
#define BTN_RESET 0x0080
|
||||
#define BTN_DRIGHT 0x0100
|
||||
#define BTN_DLEFT 0x0200
|
||||
#define BTN_DDOWN 0x0400
|
||||
@@ -146,6 +209,8 @@ typedef struct {
|
||||
/* 0x26 */ u8 datacrc;
|
||||
} __OSContRamReadFormat;
|
||||
|
||||
#define READFORMAT(ptr) ((__OSContRamReadFormat*)(ptr))
|
||||
|
||||
extern OSPifRam __osContPifRam;
|
||||
// extern UNK_TYPE1 D_8009CF0C;
|
||||
extern u8 __osContLastPoll;
|
||||
@@ -153,11 +218,4 @@ extern u8 __osMaxControllers;
|
||||
// extern OSMesgQueue D_8009CF38;
|
||||
// extern OSMesg D_8009CF50;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ OSContPad cur;
|
||||
/* 0x06 */ OSContPad prev;
|
||||
/* 0x0C */ OSContPad press; // X/Y store delta from last frame
|
||||
/* 0x12 */ OSContPad rel; // X/Y store adjusted
|
||||
} Input; // size = 0x18
|
||||
|
||||
#endif
|
||||
|
||||
+7
-2
@@ -1,9 +1,14 @@
|
||||
#ifndef IRQMGR_H
|
||||
#define IRQMGR_H
|
||||
|
||||
#include "PR/ultratypes.h"
|
||||
#include "PR/sched.h"
|
||||
#include "ultra64/message.h"
|
||||
#include "os.h"
|
||||
#include "ultra64.h"
|
||||
|
||||
#define OS_SC_RETRACE_MSG 1
|
||||
#define OS_SC_DONE_MSG 2
|
||||
#define OS_SC_NMI_MSG 3 // name is made up, 3 is OS_SC_RDP_DONE_MSG in the original sched.c
|
||||
#define OS_SC_PRE_NMI_MSG 4
|
||||
|
||||
typedef struct IrqMgrClient {
|
||||
/* 0x0 */ struct IrqMgrClient* next;
|
||||
|
||||
+2
-37
@@ -17,6 +17,8 @@
|
||||
#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0]))
|
||||
#define ARRAY_COUNTU(arr) (u32)(sizeof(arr) / sizeof(arr[0]))
|
||||
|
||||
#define ARRAY_COUNT_2D(arr) (ARRAY_COUNT(arr) * ARRAY_COUNT(arr[0]))
|
||||
|
||||
// TODO: After uintptr_t cast change should have an AVOID_UB target that just toggles the KSEG0 bit in the address rather than add/sub 0x80000000
|
||||
#define PHYSICAL_TO_VIRTUAL(addr) ((uintptr_t)(addr) + RDRAM_CACHED)
|
||||
#define VIRTUAL_TO_PHYSICAL(addr) (uintptr_t)((u8*)(addr) - RDRAM_CACHED)
|
||||
@@ -77,26 +79,6 @@
|
||||
#define ALIGN64(val) (((val) + 0x3F) & ~0x3F)
|
||||
#define ALIGN256(val) (((val) + 0xFF) & ~0xFF)
|
||||
|
||||
extern GraphicsContext* __gfxCtx;
|
||||
|
||||
#define WORK_DISP __gfxCtx->work.p
|
||||
#define POLY_OPA_DISP __gfxCtx->polyOpa.p
|
||||
#define POLY_XLU_DISP __gfxCtx->polyXlu.p
|
||||
#define OVERLAY_DISP __gfxCtx->overlay.p
|
||||
#define DEBUG_DISP __gfxCtx->debug.p
|
||||
|
||||
// __gfxCtx shouldn't be used directly.
|
||||
// Use the DISP macros defined above when writing to display buffers.
|
||||
#define OPEN_DISPS(gfxCtx) \
|
||||
{ \
|
||||
GraphicsContext* __gfxCtx = gfxCtx; \
|
||||
s32 __dispPad
|
||||
|
||||
#define CLOSE_DISPS(gfxCtx) \
|
||||
(void)0; \
|
||||
} \
|
||||
(void)0
|
||||
|
||||
/**
|
||||
* `x` vertex x
|
||||
* `y` vertex y
|
||||
@@ -114,23 +96,6 @@ extern GraphicsContext* __gfxCtx;
|
||||
#define VTX_T(x, y, z, s, t, cr, cg, cb, a) \
|
||||
{ { x, y, z }, 0, { s, t }, { cr, cg, cb, a }, }
|
||||
|
||||
#define GRAPH_ALLOC(gfxCtx, size) ((void*)((gfxCtx)->polyOpa.d = (Gfx*)((u8*)(gfxCtx)->polyOpa.d - ALIGN16(size))))
|
||||
|
||||
// Custom gbi macro
|
||||
#define gDPSetTileCustom(pkt, fmt, siz, width, height, pal, cms, cmt, masks, maskt, shifts, shiftt) \
|
||||
{ \
|
||||
gDPPipeSync(pkt); \
|
||||
gDPTileSync(pkt); \
|
||||
gDPSetTile(pkt, fmt, siz, (((width)*siz##_TILE_BYTES) + 7) >> 3, 0, G_TX_LOADTILE, 0, cmt, maskt, shiftt, cms, \
|
||||
masks, shifts); \
|
||||
gDPTileSync(pkt); \
|
||||
gDPSetTile(pkt, fmt, siz, (((width)*siz##_TILE_BYTES) + 7) >> 3, 0, G_TX_RENDERTILE, pal, cmt, maskt, shiftt, \
|
||||
cms, masks, shifts); \
|
||||
gDPSetTileSize(pkt, G_TX_RENDERTILE, 0, 0, ((width)-1) << G_TEXTURE_IMAGE_FRAC, \
|
||||
((height)-1) << G_TEXTURE_IMAGE_FRAC); \
|
||||
} \
|
||||
(void)0
|
||||
|
||||
#define SQ(x) ((x) * (x))
|
||||
#define ABS(x) ((x) >= 0 ? (x) : -(x))
|
||||
#define ABS_ALT(x) ((x) < 0 ? -(x) : (x))
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
#ifndef PADMGR_H
|
||||
#define PADMGR_H
|
||||
|
||||
#include "libc/stdbool.h"
|
||||
#include "io/controller.h"
|
||||
#include "irqmgr.h"
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ OSContPad cur;
|
||||
/* 0x06 */ OSContPad prev;
|
||||
/* 0x0C */ OSContPad press; // X/Y store delta from last frame
|
||||
/* 0x12 */ OSContPad rel; // X/Y store adjusted
|
||||
} Input; // size = 0x18
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ PADMGR_CONT_NONE,
|
||||
/* 1 */ PADMGR_CONT_NORMAL,
|
||||
/* 3 */ PADMGR_CONT_MOUSE = 3,
|
||||
/* 4 */ PADMGR_CONT_VOICE_PLUGGED, // VRU plugged but not initialized
|
||||
/* 5 */ PADMGR_CONT_VOICE,
|
||||
/* -1 */ PADMGR_CONT_UNK = 0xFF
|
||||
} ControllerDeviceType;
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ CONT_PAK_NONE,
|
||||
/* 1 */ CONT_PAK_RUMBLE,
|
||||
/* 2 */ CONT_PAK_OTHER
|
||||
} ControllerPakType;
|
||||
|
||||
typedef struct {
|
||||
/* 0x000 */ u8 validCtrlrsMask;
|
||||
/* 0x004 */ void (*rumbleRetraceCallback)(void*);
|
||||
/* 0x008 */ void* rumbleRetraceArg;
|
||||
/* 0x00C */ void (*inputRetraceCallback)(void*);
|
||||
/* 0x010 */ void* inputRetraceArg;
|
||||
/* 0x014 */ OSContStatus padStatus[MAXCONTROLLERS];
|
||||
/* 0x024 */ OSMesg serialMsg;
|
||||
/* 0x028 */ OSMesg lockMsg;
|
||||
/* 0x02C */ OSMesg interruptMsgBuf[8];
|
||||
/* 0x04C */ OSMesgQueue serialLockQueue;
|
||||
/* 0x064 */ OSMesgQueue lockQueue;
|
||||
/* 0x07C */ OSMesgQueue interruptQueue;
|
||||
/* 0x094 */ IrqMgrClient irqClient;
|
||||
/* 0x09C */ IrqMgr* irqMgr;
|
||||
/* 0x0A0 */ OSThread thread;
|
||||
/* 0x250 */ Input inputs[MAXCONTROLLERS];
|
||||
/* 0x2B0 */ OSContPad pads[MAXCONTROLLERS];
|
||||
/* 0x2C8 */ u8 nControllers;
|
||||
/* 0x2C9 */ u8 ctrlrType[MAXCONTROLLERS]; // type of controller currently connected to each port
|
||||
/* 0x2CD */ u8 pakType[MAXCONTROLLERS]; // type of controller pak for each port (if applicable)
|
||||
/* 0x2D1 */ u8 rumbleEnable[MAXCONTROLLERS]; // whether rumble is active for each port
|
||||
/* 0x2D5 */ u8 rumbleTimer[MAXCONTROLLERS];
|
||||
/* 0x2DC */ OSPfs rumblePfs[MAXCONTROLLERS];
|
||||
/* 0x47C */ vu8 rumbleOffTimer; // amount of VI retraces to not rumble for, takes priority over rumbleOnTimer
|
||||
/* 0x47D */ vu8 rumbleOnTimer; // amount of VI retraces to rumble for
|
||||
/* 0x47E */ u8 isResetting;
|
||||
} PadMgr; // size = 0x480
|
||||
|
||||
extern PadMgr gPadMgr;
|
||||
|
||||
// Initialization
|
||||
|
||||
s32 PadSetup_Init(OSMesgQueue* mq, u8* outMask, OSContStatus* status);
|
||||
void PadMgr_Init(OSMesgQueue* siEvtQ, IrqMgr* irqMgr, OSId threadId, OSPri pri, void* stack);
|
||||
|
||||
// Fetching inputs
|
||||
|
||||
void PadMgr_GetInputNoLock(Input* inputs, s32 gameRequest);
|
||||
void PadMgr_GetInput(Input* inputs, s32 gameRequest);
|
||||
void PadMgr_GetInput2(Input* inputs, s32 gameRequest);
|
||||
|
||||
// Callbacks
|
||||
|
||||
void PadMgr_SetRumbleRetraceCallback(void (*callback)(void*), void* arg);
|
||||
void PadMgr_UnsetRumbleRetraceCallback(void (*callback)(void*), void* arg);
|
||||
|
||||
void PadMgr_SetInputRetraceCallback(void (*callback)(void*), void* arg);
|
||||
void PadMgr_UnsetInputRetraceCallback(void (*callback)(void*), void* arg);
|
||||
|
||||
// Valid controllers
|
||||
|
||||
u8 PadMgr_GetValidControllersMask(void);
|
||||
|
||||
// Voice queue
|
||||
|
||||
OSMesgQueue* PadMgr_VoiceAcquireSerialEventQueue(void);
|
||||
void PadMgr_VoiceReleaseSerialEventQueue(OSMesgQueue* serialEventQueue);
|
||||
|
||||
// Rumble
|
||||
|
||||
void PadMgr_RumbleStop(void);
|
||||
void PadMgr_RumblePause(void);
|
||||
void PadMgr_RumbleSetSingle(s32 port, s32 enable);
|
||||
void PadMgr_RumbleSet(u8 enable[MAXCONTROLLERS]);
|
||||
s32 PadMgr_ControllerHasRumblePak(s32 port);
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,11 @@
|
||||
#ifndef SYSTEM_HEAP_H
|
||||
#define SYSTEM_HEAP_H
|
||||
|
||||
#include "libc/stddef.h"
|
||||
#include "PR/ultratypes.h"
|
||||
|
||||
void* SystemHeap_Malloc(size_t size);
|
||||
void SystemHeap_Free(void* ptr);
|
||||
void SystemHeap_Init(void* start, size_t size);
|
||||
|
||||
#endif
|
||||
@@ -1,5 +1,5 @@
|
||||
#ifndef SYSTEM_MALLOC
|
||||
#define SYSTEM_MALLOC
|
||||
#ifndef SYSTEM_MALLOC_H
|
||||
#define SYSTEM_MALLOC_H
|
||||
|
||||
#include "PR/ultratypes.h"
|
||||
#include "os_malloc.h"
|
||||
@@ -11,7 +11,7 @@ void SystemArena_Free(void* ptr);
|
||||
void* SystemArena_Calloc(u32 elements, size_t size);
|
||||
void SystemArena_GetSizes(size_t* maxFreeBlock, size_t* bytesFree, size_t* bytesAllocated);
|
||||
u32 SystemArena_CheckArena(void);
|
||||
void SystemArena_InitArena(void* start, size_t size);
|
||||
void SystemArena_Init(void* start, size_t size);
|
||||
void SystemArena_Cleanup(void);
|
||||
u8 SystemArena_IsInitialized(void);
|
||||
|
||||
|
||||
@@ -5,13 +5,14 @@
|
||||
#include "PR/pfs.h"
|
||||
#include "ultra64/message.h"
|
||||
|
||||
#define MOTOR_START 1
|
||||
#define MOTOR_STOP 0
|
||||
#define MOTOR_START 1
|
||||
#define MOTOR_STOP 0
|
||||
|
||||
#define osMotorStart(x) __osMotorAccess((x), MOTOR_START)
|
||||
#define osMotorStop(x) __osMotorAccess((x), MOTOR_STOP)
|
||||
#define osMotorStart(x) __osMotorAccess((x), MOTOR_START)
|
||||
#define osMotorStop(x) __osMotorAccess((x), MOTOR_STOP)
|
||||
|
||||
s32 __osMotorAccess(OSPfs* pfs, u32 vibrate);
|
||||
s32 osMotorInit(OSMesgQueue* ctrlrqueue, OSPfs* pfs, s32 channel);
|
||||
s32 __osMotorAccess(OSPfs* pfs, s32 flag);
|
||||
|
||||
s32 osMotorInit(OSMesgQueue* mq, OSPfs* pfs, s32 channel);
|
||||
|
||||
#endif
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user