mirror of
https://github.com/zeldaret/oot.git
synced 2024-11-25 01:34:18 +00:00
Whitespace (#1112)
* remove trailing whitespaces * minor docs tweaks * some more trailing whitespaces * few more tweaks
This commit is contained in:
parent
f344fe648b
commit
f4a72303cb
150 changed files with 493 additions and 494 deletions
4
Doxyfile
4
Doxyfile
|
@ -38,7 +38,7 @@ PROJECT_NAME = "Ocarina of Time Source"
|
|||
# could be handy for archiving the generated documentation or if some version
|
||||
# control system is used.
|
||||
|
||||
PROJECT_NUMBER =
|
||||
PROJECT_NUMBER =
|
||||
|
||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||
# for a project that appears at the top of each page and should give viewer a
|
||||
|
@ -291,7 +291,7 @@ OPTIMIZE_OUTPUT_VHDL = NO
|
|||
# Note that for custom extensions you also need to set FILE_PATTERNS otherwise
|
||||
# the files are not read by doxygen.
|
||||
|
||||
EXTENSION_MAPPING =
|
||||
EXTENSION_MAPPING =
|
||||
|
||||
# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
|
||||
# according to the Markdown format, which allows for more readable
|
||||
|
|
|
@ -41,8 +41,8 @@
|
|||
<Texture Name="gEyeSwitchSilverClosedTex" OutName="eye_silver_closed" Format="rgba16" Width="32" Height="32" Offset="0xC0A0"/>
|
||||
<Texture Name="gDungeonKeepTex_00C8A0" OutName="dungeon_keep_tex_00C8A0" Format="rgba16" Width="32" Height="32" Offset="0xC8A0"/>
|
||||
<Texture Name="gDungeonkeepTex_00D0A0" OutName="dungeon_keep_tex_00D0A0" Format="rgba16" Width="32" Height="32" Offset="0xD0A0"/>
|
||||
<Texture Name="gDungeonKeepTex_00E8A0" OutName="dungeon_keep_tex_00E8A0" Format="i8" Width="32" Height="32" Offset="0xE8A0"/>
|
||||
<Texture Name="gDungeonKeepTex_00ECA0" OutName="dungeon_keep_tex_00ECA0" Format="i8" Width="32" Height="32" Offset="0xECA0"/>
|
||||
<Texture Name="gDungeonKeepTex_00E8A0" OutName="dungeon_keep_tex_00E8A0" Format="i8" Width="32" Height="32" Offset="0xE8A0"/>
|
||||
<Texture Name="gDungeonKeepTex_00ECA0" OutName="dungeon_keep_tex_00ECA0" Format="i8" Width="32" Height="32" Offset="0xECA0"/>
|
||||
<Texture Name="gDungeonKeepTex_00F0A0" OutName="dungeon_keep_tex_00F0A0" Format="rgba16" Width="32" Height="32" Offset="0xF0A0"/>
|
||||
<Texture Name="gCrstalSwitchRedTex" OutName="crystal_red" Format="rgba16" Width="32" Height="32" Offset="0x144B0"/>
|
||||
<Texture Name="gCrstalSwitchBlueTex" OutName="crystal_blue" Format="rgba16" Width="32" Height="32" Offset="0x14CB0"/>
|
||||
|
|
|
@ -41,10 +41,10 @@
|
|||
<Texture Name="gFieldUnusedFishTex" OutName="unused_fish" Format="rgba16" Width="64" Height="32" Offset="0x64A8"/>
|
||||
<Texture Name="gFieldUnusedFishBottomTex" OutName="unused_fish_bottom" Format="rgba16" Width="64" Height="32" Offset="0x074A8"/>
|
||||
<Texture Name="gFieldUnusedFishFinTex" OutName="unused_fish_fin" Format="rgba16" Width="32" Height="16" Offset="0x84A8"/>
|
||||
<DList Name="gSilverRockDL" Offset="0xA3B8"/>
|
||||
<DList Name="gSilverRockDL" Offset="0xA3B8"/>
|
||||
<DList Name="gFieldKakeraDL" Offset="0xA880"/>
|
||||
<Texture Name="gFieldKakeraTex" OutName="kakera" Format="rgba16" Width="32" Height="32" Offset="0xA940"/>
|
||||
<DList Name="gSilverRockFragmentsDL" Offset="0xA5E8"/>
|
||||
<DList Name="gSilverRockFragmentsDL" Offset="0xA5E8"/>
|
||||
<DList Name="gFieldBushDL" Offset="0xB9D0"/>
|
||||
<Texture Name="gFieldBushTex" OutName="bush" Format="rgba16" Width="32" Height="32" Offset="0xB140"/>
|
||||
<DList Name="gFieldBeehiveDL" Offset="0x95B0"/>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<File Name="object_ani" Segment="6">
|
||||
<!-- Kakariko Roof Man Skeleton -->
|
||||
<Skeleton Name="gRoofManSkel" Type="Flex" LimbType="Standard" Offset="0xF0"/>
|
||||
|
||||
|
||||
<!-- Kakariko Roof Man Limbs -->
|
||||
<Limb Name="gRoofManRootLimb" LimbType="Standard" Offset="0x0"/>
|
||||
<Limb Name="gRoofManLeftThighLimb" LimbType="Standard" Offset="0xC"/>
|
||||
|
@ -35,8 +35,8 @@
|
|||
<DList Name="gRoofManRightUpperArmDL" Offset="0x4D70"/>
|
||||
<DList Name="gRoofManRightForearmDL" Offset="0x4C00"/>
|
||||
<DList Name="gRoofManRightHandDL" Offset="0x4A68"/>
|
||||
<DList Name="gRoofManHeadDL" Offset="0x2CD8"/>
|
||||
|
||||
<DList Name="gRoofManHeadDL" Offset="0x2CD8"/>
|
||||
|
||||
<!-- Kakariko Roof Man Palettes --> <!-- There's something weird going on with the TLUTs here... -->
|
||||
<Texture Name="gRoofMan1TLUT" OutName="roof_man_1_tlut" Format="rgba16" Width="16" Height="16" Offset="0x00108"/>
|
||||
<Texture Name="gRoofMan2TLUT" OutName="roof_man_2_tlut" Format="ci8" Width="16" Height="16" Offset="0x1088"/>
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
<Limb Name="gDogLadyLimb_09C" LimbType="Standard" Offset="0x09C"/>
|
||||
<Limb Name="gDogLadyHeadLimb" LimbType="Standard" Offset="0x0A8"/>
|
||||
|
||||
|
||||
|
||||
<!-- Dog Lady Limb DisplayLists -->
|
||||
<DList Name="gDogLadyDressDL" Offset="0x5588"/>
|
||||
<DList Name="gDogLadyDL_54B8" Offset="0x54B8"/>
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<DList Name="gBirdRightWingDL" Offset="0x180"/>
|
||||
<DList Name="gBirdRightWingWrapper1DL" Offset="0x220"/>
|
||||
<DList Name="gBirdRightWingWrapper2DL" Offset="0x230"/>
|
||||
|
||||
|
||||
<DList Name="gBirdBodyDL" Offset="0x280"/>
|
||||
<DList Name="gBirdBodyWrapper1DL" Offset="0x3D0"/>
|
||||
<DList Name="gBirdBodyWrapper2DL" Offset="0x3E0"/>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<!-- Illusion Room DLists -->
|
||||
<DList Name="gIllusionRoomNormalDL" Offset="0x14E0"/>
|
||||
<DList Name="gIllusionRoomIllusionDL" Offset="0x53D0"/>
|
||||
|
||||
|
||||
<!-- Unused Content -->
|
||||
|
||||
<!-- Illusion room DLists -->
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
<DList Name="gTreasureChestBossKeyChestFrontDL" Offset="0xAE8"/>
|
||||
<Texture Name="gTreasureChestBossKeyFrontTex" OutName="boss_key_front_tex" Format="rgba16" Width="32" Height="64" Offset="0x3798"/>
|
||||
|
||||
|
||||
<DList Name="gTreasureChestChestSideAndLidDL" Offset="0x10C0"/>
|
||||
<Texture Name="gTreasureChestSideAndTopTex" OutName="side_and_top" Format="rgba16" Width="32" Height="32" Offset="0x2798"/>
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<Skeleton Name="gBarinadeStumpSkel" Type="Flex" LimbType="Standard" Offset="0x18870"/>
|
||||
<Skeleton Name="gBarinadeBariSkel" Type="Normal" LimbType="Standard" Offset="0x4E70"/>
|
||||
<Skeleton Name="gBarinadeCutSupportSkel" Type="Flex" LimbType="Standard" Offset="0x17FC8"/>
|
||||
|
||||
|
||||
<Animation Name="gBarinadeBodyAnim" Offset="0x5184"/> <!-- Body anim 1-->
|
||||
<Animation Name="gBarinadeSupportAttachedAnim" Offset="0x166A8"/> <!-- Support anim 1 -->
|
||||
<Animation Name="gBarinadeZapperIdleAnim" Offset="0x18D18"/> <!-- Zapper anim 1 -->
|
||||
|
@ -48,7 +48,7 @@
|
|||
<!-- small spark -->
|
||||
<DList Name="gBarinadeDL_008F08" Offset="0x8F08"/>
|
||||
<DList Name="gBarinadeDL_008F70" Offset="0x8F70"/>
|
||||
|
||||
|
||||
<Texture Name="gBarinadeSparkBall1Tex" Format="i8" Width="64" Height="64" Offset="0x96F8"/>
|
||||
<Texture Name="gBarinadeSparkBall2Tex" Format="i8" Width="64" Height="64" Offset="0xA6F8"/>
|
||||
<Texture Name="gBarinadeSparkBall3Tex" Format="i8" Width="64" Height="64" Offset="0xB6F8"/>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<Root>
|
||||
<File Name="object_crow" Segment="6">
|
||||
<Animation Name="gGuayFlyAnim" Offset="0xF0"/>
|
||||
|
||||
|
||||
<Texture Name="gGuayEyeTex" OutName="eye" Format="rgba16" Width="16" Height="16" Offset="0xC40"/>
|
||||
<Texture Name="gGuayBodyTex" OutName="body" Format="rgba16" Width="16" Height="16" Offset="0xA40"/>
|
||||
<Texture Name="gGuayTailTex" OutName="tail" Format="rgba16" Width="16" Height="16" Offset="0xE40"/>
|
||||
|
|
|
@ -11,12 +11,12 @@
|
|||
<Texture Name="gDodongoBarsBottomTex" OutName="door_bars_bottom" Format="rgba16" Width="32" Height="32" Offset="0x6760"/>
|
||||
<Texture Name="gDodongoTex_6F60" OutName="tex_6F60" Format="rgba16" Width="32" Height="32" Offset="0x6F60"/>
|
||||
<Texture Name="gDodongoFallingStairsVinesTex" OutName="falling_stairs_vines" Format="rgba16" Width="32" Height="64" Offset="0x7760"/>
|
||||
|
||||
|
||||
<!-- Palettes -->
|
||||
<Texture Name="gDodongo1TLUT" OutName="tlut_1" Format="rgba16" Width="160" Height="1" Offset="0x02D0"/>
|
||||
<Texture Name="gDodongo2TLUT" OutName="tlut_2" Format="rgba16" Width="16" Height="16" Offset="0x1E10"/> <!-- Palette seems to be actually 258 colors -->
|
||||
<Texture Name="gDodongo3TLUT" OutName="tlut_3" Format="rgba16" Width="16" Height="16" Offset="0x3D10"/> <!-- Palette seems to be actually 258 colors -->
|
||||
|
||||
|
||||
<!-- Dodongo's Cavern DisplayLists -->
|
||||
<DList Name="gDodongoDoorDL" Offset="0xC0"/>
|
||||
<DList Name="gDodongoBarsDL" Offset="0x1F0"/>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<File Name="object_dekunuts" Segment="6">
|
||||
<!-- Deku Scrub skeleton -->
|
||||
<Skeleton Name="gDekuNutsSkel" Type="Normal" LimbType="Standard" Offset="0x3268"/>
|
||||
|
||||
|
||||
<!-- Deku Scrub animations -->
|
||||
<Animation Name="gDekuNutsSpitAnim" Offset="0x1C4"/>
|
||||
<Animation Name="gDekuNutsDamageAnim" Offset="0x368"/>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<File Name="object_dnk" Segment="6">
|
||||
<!-- Forest Stage scrub skeleton -->
|
||||
<Skeleton Name="gDntStageSkel" Type="Normal" LimbType="Standard" Offset="0x2AF0"/>
|
||||
|
||||
|
||||
<!-- Forest Stage scrub animations -->
|
||||
<Animation Name="gDntStageSpitAnim" Offset="0x31C"/>
|
||||
<Animation Name="gDntStageHideAnim" Offset="0x430"/>
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
<Texture Name="gDntJijiEyeOpenTex" Format="rgba16" Width="8" Height="8" Offset="0x30A0"/>
|
||||
<Texture Name="gDntJijiEyeHalfTex" Format="rgba16" Width="8" Height="8" Offset="0x2EA0"/>
|
||||
<Texture Name="gDntJijiEyeShutTex" Format="rgba16" Width="8" Height="8" Offset="0x3020"/>
|
||||
|
||||
|
||||
<!-- Forest Stage leader flower -->
|
||||
<DList Name="gDntJijiFlowerDL" Offset="0x2310"/>
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
<Texture Name="gPotionShopLadyShirtPatternTex" OutName="shirt_pattern" Format="ci8" Width="16" Height="16" Offset="0x4118" TlutOffset="0x3918"/>
|
||||
<Texture Name="gPotionShopLadyCatPattern1Tex" OutName="cat_pattern_1" Format="ci8" Width="32" Height="32" Offset="0x4218" TlutOffset="0x3918"/>
|
||||
<Texture Name="gPotionShopLadyCatPattern2Tex" OutName="cat_pattern_2" Format="ci8" Width="16" Height="16" Offset="0x4618" TlutOffset="0x3918"/>
|
||||
|
||||
|
||||
<!-- Potion Shop Lady Animations-->
|
||||
<Animation Name="gPotionShopLadyAnim" Offset="0x39C"/>
|
||||
</File>
|
||||
|
|
|
@ -98,7 +98,7 @@
|
|||
<!-- Great Fairy Mouth Textures -->
|
||||
<Texture Name="gGreatFairyMouthClosedTex" OutName="mouth_closed" Format="rgba16" Width="64" Height="32" Offset="0x19130"/>
|
||||
<Texture Name="gGreatFairyMouthOpenTex" OutName="mouth_open" Format="rgba16" Width="64" Height="32" Offset="0x1A130"/>
|
||||
|
||||
|
||||
<!-- Great Fairy Animations -->
|
||||
<Animation Name="gGreatFairyAnim_000108" Offset="0x108"/>
|
||||
<Animation Name="gGreatFairySpellFountainSpinShrinkAnim" Offset="0x92C"/>
|
||||
|
@ -116,6 +116,6 @@
|
|||
<Array Name="gGreatFairySpiralBeamVtx" Count="27" Offset="0x1BFB0">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
|
||||
|
||||
</File>
|
||||
</Root>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<File Name="object_ec" Segment="6">
|
||||
<Animation Name="gDemoEcCuccoLadyAnim" Offset="0xCD8"/>
|
||||
<Animation Name="gDemoEcCarpenterAnim" Offset="0x164C"/>
|
||||
<Animation Name="gDemoEcWindmillManAnim" Offset="0x196C"/>
|
||||
<Animation Name="gDemoEcWindmillManAnim" Offset="0x196C"/>
|
||||
<Animation Name="gDemoEcGerudoAnim" Offset="0x2254"/>
|
||||
<Animation Name="gDemoEcGoronAnim" Offset="0x2FA0"/>
|
||||
<Animation Name="gDemoEcGoron2Anim" Offset="0x3A98"/>
|
||||
|
|
|
@ -45,7 +45,7 @@
|
|||
<Texture Name="gStingerFinTex" OutName="fin" Format="rgba16" Width="8" Height="8" Offset="0x1640"/>
|
||||
<Texture Name="gStingerTailGradientTex" OutName="tail_gradient" Format="rgba16" Width="4" Height="4" Offset="0x16C0"/>
|
||||
<Texture Name="gStingerTailConnectionGradientTex" OutName="tail_connection_gradient" Format="rgba16" Width="4" Height="4" Offset="0x16E0"/>
|
||||
|
||||
|
||||
<!-- Stinger Animations -->
|
||||
<Animation Name="gStingerPopOutAnim" Offset="0x288"/>
|
||||
<Animation Name="gStingerDiveAnim" Offset="0x4C4"/>
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
<DList Name="gVolvagiaBodySeg16DL" Offset="0x8038"/>
|
||||
<DList Name="gVolvagiaBodySeg17DL" Offset="0x8080"/>
|
||||
<DList Name="gVolvagiaBodySeg18DL" Offset="0x80D8"/>
|
||||
|
||||
|
||||
<!-- Particle display lists -->
|
||||
<DList Name="gVolvagiaEmberMaterialDL" Offset="0xA880"/>
|
||||
<DList Name="gVolvagiaEmberModelDL" Offset="0xA900"/>
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
<Texture Name="gHoleVolvagiaEyeHalfTex" OutName="hole_volvagia_eye_half" Format="i8" Width="32" Height="32" Offset="0x2708"/>
|
||||
<Texture Name="gHoleVolvagiaEyeOpenTex" OutName="hole_volvagia_eye_open" Format="i8" Width="32" Height="32" Offset="0x2B08"/>
|
||||
<Texture Name="gHoleVolvagiaEyeClosedTex" OutName="hole_volvagia_eye_closed" Format="i8" Width="32" Height="32" Offset="0x2F08"/>
|
||||
|
||||
|
||||
<!-- Unused animation -->
|
||||
<Animation Name="gHoleVolvagiaAnim_00CDAC" Offset="0xCDAC"/> <!-- Looks tired. Low health animation? -->
|
||||
|
||||
|
|
|
@ -16,10 +16,10 @@
|
|||
<Animation Name="gPhantomHorseUnusedRearingAnim" Offset="0x5804"/>
|
||||
<Animation Name="gPhantomHorseStillAnim" Offset="0x5990"/>
|
||||
<Animation Name="gPhantomHorseFenceJumpAnim" Offset="0xC180"/>
|
||||
|
||||
|
||||
<!-- Boss title card -->
|
||||
<Texture Name="gPhantomGanonTitleCardTex" OutName="phantom_ganon_title_card" Format="i8" Width="128" Height="120" Offset="0x59A0"/>
|
||||
|
||||
|
||||
<!-- Energy attack DLists -->
|
||||
<DList Name="gPhantomWarpDL" Offset="0xFAA0"/>
|
||||
<DList Name="gPhantomLightningBlastDL" Offset="0xFCF8"/>
|
||||
|
|
|
@ -27,13 +27,13 @@
|
|||
<Texture Name="gWindmillManUpperHornAndCrankTex" OutName="upper_horn_and_crank" Format="ci8" Width="32" Height="32" Offset="0x56E0" TlutOffset="0x4C60"/>
|
||||
<Texture Name="gWindmillManShirtTex" OutName="shirt" Format="ci8" Width="32" Height="32" Offset="0x5AE0" TlutOffset="0x4C60"/>
|
||||
<Texture Name="gWindmillManHornAndPipeTex" OutName="horn_and_pipe" Format="ci8" Width="8" Height="8" Offset="0x5EE0" TlutOffset="0x4C60"/>
|
||||
|
||||
|
||||
<Texture Name="gWindmillManEyeClosedTex" OutName="eye_closed" Format="ci8" Width="32" Height="32" Offset="0x5F20" TlutOffset="0x4E60"/>
|
||||
<Texture Name="gWindmillManEyeAngryTex" OutName="eye_angry" Format="ci8" Width="32" Height="32" Offset="0x6320" TlutOffset="0x4E60"/>
|
||||
|
||||
<Texture Name="gWindmillManMouthOpenTex" OutName="mouth_open" Format="ci8" Width="32" Height="16" Offset="0x6720" TlutOffset="0x4E60"/>
|
||||
<Texture Name="gWindmillManMouthAngryTex" OutName="mouth_angry" Format="ci8" Width="32" Height="16" Offset="0x6920" TlutOffset="0x4E60"/>
|
||||
|
||||
|
||||
<Texture Name="gWindmillManHairTex" OutName="hair" Format="ci8" Width="8" Height="16" Offset="0x6B20" TlutOffset="0x4E60"/>
|
||||
<Skeleton Name="gWindmillManSkel" Type="Flex" LimbType="Standard" Offset="0x6C90"/>
|
||||
<Limb Name="gWindmillManTorsoLimb" LimbType="Standard" Offset="0x6BA0"/>
|
||||
|
|
|
@ -91,7 +91,7 @@
|
|||
<Texture Name="gFlareDancerFuseTex" OutName="fuse" Format="rgba16" Width="16" Height="32" Offset="0x20F0"/>
|
||||
<Texture Name="gFlareDancerSwordHiltTex" OutName="sword_hilt" Format="rgba16" Width="16" Height="16" Offset="0x24F0"/>
|
||||
<Texture Name="gFlareDancerCoreBodyTex" OutName="core_body" Format="rgba16" Width="16" Height="32" Offset="0x26F0"/>
|
||||
|
||||
|
||||
<!-- Flare Dancer Animations -->
|
||||
<Animation Name="gFlareDancerCastingFireAnim" Offset="0x10B4"/>
|
||||
<Animation Name="gFlareDancerBackflipAnim" Offset="0x5C64"/>
|
||||
|
|
|
@ -63,7 +63,7 @@
|
|||
|
||||
<!-- White-clothed Gerudo Hair textures -->
|
||||
<Texture Name="gGerudoWhiteHairTex" OutName="gerudo_white_hair" Format="ci8" Width="16" Height="16" Offset="0x2A08" TlutOffset="0x2808"/>
|
||||
|
||||
|
||||
<!-- White-clothed Gerudo Eye Textures -->
|
||||
<Texture Name="gGerudoWhiteEyeOpenTex" OutName="gerudo_white_eye_open" Format="rgba16" Width="32" Height="32" Offset="0x0708"/>
|
||||
<Texture Name="gGerudoWhiteEyeHalfTex" OutName="gerudo_white_eye_half" Format="rgba16" Width="32" Height="32" Offset="0x0F08"/>
|
||||
|
|
|
@ -70,7 +70,7 @@
|
|||
<Texture Name="gGerudoPurpleEyeOpenTex" OutName="gerudo_purple_eye_open" Format="ci8" Width="32" Height="32" Offset="0x4F78" TlutOffset="0x4D08"/>
|
||||
<Texture Name="gGerudoPurpleEyeHalfTex" OutName="gerudo_purple_eye_half" Format="ci8" Width="32" Height="32" Offset="0x5578" TlutOffset="0x4D08"/>
|
||||
<Texture Name="gGerudoPurpleEyeClosedTex" OutName="gerudo_purple_eye_closed" Format="ci8" Width="32" Height="32" Offset="0x5BF8" TlutOffset="0x4D08"/>
|
||||
|
||||
|
||||
<!-- Purple-clothed Gerudo Animations -->
|
||||
<Animation Name="gGerudoPurpleUnusedHorizontalSlashAnim" Offset="0x0324"/>
|
||||
<Animation Name="gGerudoPurpleUnusedSlashToStandingAnim" Offset="0x0780"/>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<Root>
|
||||
<File Name="object_gnd" Segment="6">
|
||||
|
||||
|
||||
<!-- Skeleton -->
|
||||
<Skeleton Name="gPhantomGanonSkel" Type="Normal" LimbType="Standard" Offset="0xC710"/>
|
||||
|
||||
|
||||
<!-- Riding animations -->
|
||||
<Animation Name="gPhantomGanonRideAnim" Offset="0x3CA4"/>
|
||||
<Animation Name="gPhantomGanonMaskOnAnim" Offset="0x1144"/>
|
||||
|
@ -18,16 +18,16 @@
|
|||
|
||||
<Animation Name="gPhantomGanonThrowAnim" Offset="0xEC94"/>
|
||||
<Animation Name="gPhantomGanonThrowEndAnim" Offset="0xF48C"/>
|
||||
|
||||
|
||||
<Animation Name="gPhantomGanonReturn1Anim" Offset="0x10FD4"/>
|
||||
<Animation Name="gPhantomGanonReturn2Anim" Offset="0x11800"/>
|
||||
|
||||
|
||||
<Animation Name="gPhantomGanonBlockAnim" Offset="0x10344"/>
|
||||
|
||||
<Animation Name="gPhantomGanonChargeWindupAnim" Offset="0x129E0"/>
|
||||
<Animation Name="gPhantomGanonChargeStartAnim" Offset="0x11F44"/>
|
||||
<Animation Name="gPhantomGanonChargeAnim" Offset="0x1267C"/>
|
||||
|
||||
|
||||
<Animation Name="gPhantomGanonAirDamageAnim" Offset="0x108D8"/>
|
||||
<Animation Name="gPhantomGanonGroundDamageAnim" Offset="0xFAC8"/>
|
||||
<Animation Name="gPhantomGanonStunnedAnim" Offset="0x11BCC"/>
|
||||
|
@ -40,27 +40,27 @@
|
|||
|
||||
<!-- Limb textures -->
|
||||
<Texture Name="gPhantomGanonLimbTex_00B380" OutName="phantom_ganon_limb_tex_00B380" Format="rgba16" Width="16" Height="32" Offset="0xB380"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00A800" OutName="phantom_ganon_limb_tex_00A800" Format="rgba16" Width="8" Height="8" Offset="0xA800"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00AE80" OutName="phantom_ganon_limb_tex_00AE80" Format="rgba16" Width="8" Height="8" Offset="0xAE80"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00AF00" OutName="phantom_ganon_limb_tex_00AF00" Format="rgba16" Width="8" Height="8" Offset="0xAF00"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00C180" OutName="phantom_ganon_limb_tex_00C180" Format="rgba16" Width="8" Height="8" Offset="0xC180"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00C400" OutName="phantom_ganon_limb_tex_00C400" Format="rgba16" Width="8" Height="8" Offset="0xC400"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00B980" OutName="phantom_ganon_limb_tex_00B980" Format="rgba16" Width="16" Height="8" Offset="0xB980"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00C480" OutName="phantom_ganon_limb_tex_00C480" Format="rgba16" Width="16" Height="8" Offset="0xC480"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00BC80" OutName="phantom_ganon_limb_tex_00BC80" Format="rgba16" Width="16" Height="8" Offset="0xBC80"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00BD80" OutName="phantom_ganon_limb_tex_00BD80" Format="rgba16" Width="16" Height="8" Offset="0xBD80"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00C080" OutName="phantom_ganon_limb_tex_00C080" Format="rgba16" Width="16" Height="8" Offset="0xC080"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00C200" OutName="phantom_ganon_limb_tex_00C200" Format="rgba16" Width="16" Height="16" Offset="0xC200"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00A000" OutName="phantom_ganon_limb_tex_00A000" Format="rgba16" Width="16" Height="16" Offset="0xA000"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00A200" OutName="phantom_ganon_limb_tex_00A200" Format="rgba16" Width="16" Height="16" Offset="0xA200"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00A400" OutName="phantom_ganon_limb_tex_00A400" Format="rgba16" Width="16" Height="16" Offset="0xA400"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00A600" OutName="phantom_ganon_limb_tex_00A600" Format="rgba16" Width="16" Height="16" Offset="0xA600"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00A880" OutName="phantom_ganon_limb_tex_00A880" Format="rgba16" Width="16" Height="16" Offset="0xA880"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00B780" OutName="phantom_ganon_limb_tex_00B780" Format="rgba16" Width="16" Height="16" Offset="0xB780"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00BA80" OutName="phantom_ganon_limb_tex_00BA80" Format="rgba16" Width="16" Height="16" Offset="0xBA80"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00BE80" OutName="phantom_ganon_limb_tex_00BE80" Format="rgba16" Width="16" Height="16" Offset="0xBE80"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00AA80" OutName="phantom_ganon_limb_tex_00AA80" Format="rgba16" Width="32" Height="16" Offset="0xAA80"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00AF80" OutName="phantom_ganon_limb_tex_00AF80" Format="rgba16" Width="32" Height="16" Offset="0xAF80"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00A800" OutName="phantom_ganon_limb_tex_00A800" Format="rgba16" Width="8" Height="8" Offset="0xA800"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00AE80" OutName="phantom_ganon_limb_tex_00AE80" Format="rgba16" Width="8" Height="8" Offset="0xAE80"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00AF00" OutName="phantom_ganon_limb_tex_00AF00" Format="rgba16" Width="8" Height="8" Offset="0xAF00"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00C180" OutName="phantom_ganon_limb_tex_00C180" Format="rgba16" Width="8" Height="8" Offset="0xC180"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00C400" OutName="phantom_ganon_limb_tex_00C400" Format="rgba16" Width="8" Height="8" Offset="0xC400"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00B980" OutName="phantom_ganon_limb_tex_00B980" Format="rgba16" Width="16" Height="8" Offset="0xB980"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00C480" OutName="phantom_ganon_limb_tex_00C480" Format="rgba16" Width="16" Height="8" Offset="0xC480"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00BC80" OutName="phantom_ganon_limb_tex_00BC80" Format="rgba16" Width="16" Height="8" Offset="0xBC80"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00BD80" OutName="phantom_ganon_limb_tex_00BD80" Format="rgba16" Width="16" Height="8" Offset="0xBD80"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00C080" OutName="phantom_ganon_limb_tex_00C080" Format="rgba16" Width="16" Height="8" Offset="0xC080"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00C200" OutName="phantom_ganon_limb_tex_00C200" Format="rgba16" Width="16" Height="16" Offset="0xC200"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00A000" OutName="phantom_ganon_limb_tex_00A000" Format="rgba16" Width="16" Height="16" Offset="0xA000"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00A200" OutName="phantom_ganon_limb_tex_00A200" Format="rgba16" Width="16" Height="16" Offset="0xA200"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00A400" OutName="phantom_ganon_limb_tex_00A400" Format="rgba16" Width="16" Height="16" Offset="0xA400"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00A600" OutName="phantom_ganon_limb_tex_00A600" Format="rgba16" Width="16" Height="16" Offset="0xA600"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00A880" OutName="phantom_ganon_limb_tex_00A880" Format="rgba16" Width="16" Height="16" Offset="0xA880"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00B780" OutName="phantom_ganon_limb_tex_00B780" Format="rgba16" Width="16" Height="16" Offset="0xB780"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00BA80" OutName="phantom_ganon_limb_tex_00BA80" Format="rgba16" Width="16" Height="16" Offset="0xBA80"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00BE80" OutName="phantom_ganon_limb_tex_00BE80" Format="rgba16" Width="16" Height="16" Offset="0xBE80"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00AA80" OutName="phantom_ganon_limb_tex_00AA80" Format="rgba16" Width="32" Height="16" Offset="0xAA80"/>
|
||||
<Texture Name="gPhantomGanonLimbTex_00AF80" OutName="phantom_ganon_limb_tex_00AF80" Format="rgba16" Width="32" Height="16" Offset="0xAF80"/>
|
||||
|
||||
<!-- Face DList -->
|
||||
<DList Name="gPhantomGanonFaceDL" Offset="0x4EC0"/>
|
||||
|
@ -69,7 +69,7 @@
|
|||
<Texture Name="gPhantomGanonEyeTLUT" OutName="phantom_ganon_eye_tlut" Format="rgba16" Width="16" Height="5" Offset="0x3CC0"/>
|
||||
<Texture Name="gPhantomGanonMouthTLUT" OutName="phantom_ganon_mouth_tlut" Format="rgba16" Width="8" Height="5" Offset="0x3D60"/>
|
||||
<Texture Name="gPhantomGanonEyeTex" OutName="phantom_ganon_eye_tex" Format="ci8" Width="32" Height="16" Offset="0x3DB0" TlutOffset="0x3CC0"/>
|
||||
<Texture Name="gPhantomGanonSmileTex" OutName="phantom_ganon_smile_tex" Format="ci8" Width="16" Height="16" Offset="0x3FB0" TlutOffset="0x3D60"/>
|
||||
<Texture Name="gPhantomGanonSmileTex" OutName="phantom_ganon_smile_tex" Format="ci8" Width="16" Height="16" Offset="0x3FB0" TlutOffset="0x3D60"/>
|
||||
<Texture Name="gPhantomGanonMouthTex" OutName="phantom_ganon_mouth_tex" Format="ci8" Width="16" Height="16" Offset="0x40B0" TlutOffset="0x3D60"/>
|
||||
|
||||
<!-- Unused Animations, seem to be corrupt -->
|
||||
|
|
|
@ -12,15 +12,15 @@
|
|||
<Texture Name="gTowerCollapseCsRailingTex" OutName="railing" Format="ia8" Width="32" Height="16" Offset="0xECF0"/>
|
||||
<Texture Name="gTowerCollapseCsTex_EEF0" OutName="tex_EEF0" Format="i4" Width="32" Height="64" Offset="0xEEF0"/>
|
||||
<Texture Name="gTowerCollapseCsTex_F2F0" OutName="tex_F2F0" Format="i8" Width="16" Height="32" Offset="0xF2F0"/>
|
||||
<Texture Name="gTowerCollapseCsGrayFloorTex" OutName="gray_floor" Format="i8" Width="16" Height="32" Offset="0xF4F0"/>
|
||||
<Texture Name="gTowerCollapseCsGrayFloorTex" OutName="gray_floor" Format="i8" Width="16" Height="32" Offset="0xF4F0"/>
|
||||
<Texture Name="gTowerCollapseCsTex_F6F0" OutName="tex_F6F0" Format="i4" Width="64" Height="64" Offset="0xF6F0"/>
|
||||
<Texture Name="gTowerCollapseCsBoltedSidesTex" OutName="bolted_sides" Format="i8" Width="64" Height="64" Offset="0xFEF0"/>
|
||||
<Texture Name="gTowerCollapseCsSpikeTex" OutName="spike" Format="ia8" Width="16" Height="16" Offset="0x10EF0"/>
|
||||
<Texture Name="gTowerCollapseCsSpikeTex" OutName="spike" Format="ia8" Width="16" Height="16" Offset="0x10EF0"/>
|
||||
<Texture Name="gTowerCollapseCsCollapsedCastleEdgeTex" OutName="collapsed_castle_edge" Format="i8" Width="64" Height="64" Offset="0x10FF0"/>
|
||||
<Texture Name="gTowerCollapseCsTex_11FF0" OutName="tex_11FF0" Format="i8" Width="32" Height="32" Offset="0x11FF0"/>
|
||||
<Texture Name="gTowerCollapseCsTex_123F0" OutName="tex_123F0" Format="rgba16" Width="16" Height="16" Offset="0x123F0"/>
|
||||
<Texture Name="gTowerCollapseCsTex_125F0" OutName="tex_125F0" Format="i8" Width="64" Height="64" Offset="0x125F0"/>
|
||||
|
||||
|
||||
<!-- Tower Collapse DisplayLists -->
|
||||
<DList Name="gTowerCollapseCsExteriorStructureDL" Offset="0x2910"/>
|
||||
<DList Name="gTowerCollapseCsFlameSmokeDL" Offset="0x41A0"/>
|
||||
|
@ -33,6 +33,6 @@
|
|||
<!-- Tower Collapse Collision -->
|
||||
<Collision Name="gTowerCollapseCsCollapsedStructureInnerCol" Offset="0x5CB8"/>
|
||||
<Collision Name="gTowerCollapseCsCollapsedStructureOuterCol" Offset="0x91E4"/>
|
||||
|
||||
|
||||
</File>
|
||||
</Root>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<File Name="object_hintnuts" Segment="6">
|
||||
<!-- Deku scrub skeleton -->
|
||||
<Skeleton Name="gHintNutsSkel" Type="Normal" LimbType="Standard" Offset="0x23B8"/>
|
||||
|
||||
|
||||
<!-- Deku Scrub animations -->
|
||||
<Animation Name="gHintNutsSpitAnim" Offset="0x168"/>
|
||||
<Animation Name="gHintNutsBurrowAnim" Offset="0x24CC"/>
|
||||
|
|
|
@ -119,7 +119,7 @@
|
|||
<Limb Name="gIngoLeftEyebrowLimb" LimbType="Standard" Offset="0x13B18"/>
|
||||
<Limb Name="gIngoRightEyebrowLimb" LimbType="Standard" Offset="0x13B24"/>
|
||||
<Limb Name="gIngoMustacheLimb" LimbType="Standard" Offset="0x13B30"/>
|
||||
|
||||
|
||||
<Skeleton Name="gIngoSkel" Type="Flex" LimbType="Standard" Offset="0x13B88"/>
|
||||
|
||||
<Animation Name="object_in_Anim_013C6C" Offset="0x13C6C"/>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
<!-- Jabu Jabu animation (waggling fins etc.) -->
|
||||
<Animation Name="gJabuJabuAnim" Offset="0x1F4C"/>
|
||||
|
||||
|
||||
<!-- Jabu Jabu eye textures -->
|
||||
<Texture Name="gJabuJabuEyeOpenTex" OutName="jabu_jabu_eye_open" Format="rgba16" Width="16" Height="32" Offset="0x7698"/>
|
||||
<Texture Name="gJabuJabuEyeHalfTex" OutName="jabu_jabu_eye_half" Format="rgba16" Width="16" Height="32" Offset="0x7A98"/>
|
||||
|
@ -24,7 +24,7 @@
|
|||
<DList Name="gJabuJabuRightMidFlipperDL" Offset="0x4648"/>
|
||||
<DList Name="gJabuJabuRightLowerFlipperDL" Offset="0x4578"/>
|
||||
<DList Name="gJabuJabuFlukeDL" Offset="0x44A0"/>
|
||||
|
||||
|
||||
<!-- Jabu Jabu limbs -->
|
||||
<!-- Only limbs with attached dLists are included for now; others are indicated by spaces -->
|
||||
|
||||
|
@ -72,6 +72,6 @@
|
|||
<Collision Name="gJabuJabuBodyCol" Offset="0x1830"/>
|
||||
<Collision Name="gJabuJabuUnusedCol" Offset="0xBA8C"/>
|
||||
|
||||
|
||||
|
||||
</File>
|
||||
</Root>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<Root>
|
||||
<File Name="object_km1" Segment="6">
|
||||
<!-- The textures used by these limbs aren't 64-bit aligned -->
|
||||
|
||||
|
||||
<Limb Name="gKm1SkelLimb_000000" LimbType="Standard" Offset="0x0"/>
|
||||
<Limb Name="gKm1SkelLimb_00000C" LimbType="Standard" Offset="0xC"/>
|
||||
<Limb Name="gKm1SkelLimb_000018" LimbType="Standard" Offset="0x18"/>
|
||||
|
@ -17,9 +17,9 @@
|
|||
<Limb Name="gKm1SkelLimb_000090" LimbType="Standard" Offset="0x90"/>
|
||||
<Limb Name="gKm1SkelLimb_00009C" LimbType="Standard" Offset="0x9C"/>
|
||||
<Limb Name="gKm1SkelLimb_0000A8" LimbType="Standard" Offset="0xA8"/>
|
||||
|
||||
|
||||
<Skeleton Name="gKm1Skel" Type="Flex" LimbType="Standard" Offset="0xF0"/>
|
||||
|
||||
|
||||
<!-- 32-bit aligned textures. -->
|
||||
<Texture Name="gKm1TLUT_0000FC" OutName="tlut_0000FC" Format="rgba16" Width="256" Height="1" Offset="0xFC"/>
|
||||
<Texture Name="gKm1TunicTex" OutName="tunic" Format="i8" Width="8" Height="8" Offset="0x2FC"/>
|
||||
|
@ -29,7 +29,7 @@
|
|||
<Texture Name="gKm1UnusedHairTex" OutName="unused_hair" Format="ci8" Width="16" Height="32" Offset="0x5BC" TlutOffset="0xFC"/>
|
||||
<Texture Name="gKm1Ear1Tex" OutName="ear1" Format="ci8" Width="8" Height="8" Offset="0x7BC" TlutOffset="0xFC"/>
|
||||
<Texture Name="gKm1HandTex" OutName="hand" Format="ci8" Width="8" Height="8" Offset="0x7FC" TlutOffset="0xFC"/>
|
||||
|
||||
|
||||
<Texture Name="gKm1TLUT_00083C" OutName="tlut_00083C" Format="rgba16" Width="96" Height="1" Offset="0x83C"/>
|
||||
<Texture Name="gKm1Ear2Tex" OutName="ear2" Format="ci8" Width="8" Height="8" Offset="0x8FC" TlutOffset="0x83C"/>
|
||||
<Texture Name="gKm1Skin2Tex" OutName="skin2" Format="ci8" Width="8" Height="8" Offset="0x93C" TlutOffset="0x83C"/>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<Root>
|
||||
<File Name="object_kw1" Segment="6">
|
||||
<!-- The textures used by these limbs aren't 64-bit aligned -->
|
||||
|
||||
|
||||
<Limb Name="gKw1SkelLimb_000000" LimbType="Standard" Offset="0x0"/>
|
||||
<Limb Name="gKw1SkelLimb_00000C" LimbType="Standard" Offset="0xC"/>
|
||||
<Limb Name="gKw1SkelLimb_000018" LimbType="Standard" Offset="0x18"/>
|
||||
|
@ -26,14 +26,14 @@
|
|||
<!-- Arm/neck texture-->
|
||||
<Texture Name="gKw1Skin1Tex" OutName="skin1" Format="ci8" Width="8" Height="8" Offset="0x3FC" TlutOffset="0xFC"/>
|
||||
<Texture Name="gKw1TunicTex" OutName="tunic" Format="i8" Width="8" Height="8" Offset="0x43C"/>
|
||||
|
||||
|
||||
<!-- Possibly a skin gradient texture -->
|
||||
<Texture Name="object_kw1_Tex_00047C" OutName="tex_00047C" Format="ci8" Width="8" Height="8" Offset="0x47C" TlutOffset="0xFC"/>
|
||||
<Texture Name="gKw1UnusedEyeOpenTex" OutName="unused_eye_open" Format="rgba16" Width="32" Height="32" Offset="0x4BC"/>
|
||||
|
||||
|
||||
<Texture Name="gKw1HandTex" OutName="hand" Format="ci8" Width="8" Height="8" Offset="0xCBC" TlutOffset="0xFC"/>
|
||||
<Texture Name="gKw1BeltBuckleTex" OutName="belt_buckle" Format="ci8" Width="8" Height="8" Offset="0xCFC" TlutOffset="0xFC"/>
|
||||
|
||||
|
||||
<Texture Name="object_kw1_TLUT_000D3C" OutName="tlut_00000D3C" Format="rgba16" Width="232" Height="1" Offset="0xD3C"/>
|
||||
<Texture Name="gKw1EarTex" OutName="ear" Format="ci8" Width="8" Height="8" Offset="0xF0C" TlutOffset="0xD3C"/>
|
||||
<Texture Name="gKw1EyeOpenTex" OutName="eye_open" Format="ci8" Width="32" Height="32" Offset="0xF4C" TlutOffset="0xD3C"/>
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
<Texture Name="gKzEyeHalfTex" OutName="eye_half" Format="ci8" Width="32" Height="32" Offset="0x1870" TlutOffset="0x970"/>
|
||||
<Texture Name="gKzEyeClosedTex" OutName="eye_closed" Format="ci8" Width="32" Height="32" Offset="0x1C70" TlutOffset="0x970"/>
|
||||
<Texture Name="gKzEyeOpen2Tex" OutName="eye_open_2" Format="ci8" Width="32" Height="32" Offset="0x2070" TlutOffset="0x970"/>
|
||||
|
||||
|
||||
<Texture Name="gKzHandAndFootTex" OutName="hand_and_foot" Format="ci8" Width="16" Height="16" Offset="0x2470" TlutOffset="0x770"/>
|
||||
<Texture Name="object_kz_Tex_002570" OutName="tex_002570" Format="ci8" Width="16" Height="16" Offset="0x2570" TlutOffset="0x770"/>
|
||||
<Texture Name="gKzCloakOutlineTex" OutName="cloak_outline" Format="ci8" Width="32" Height="32" Offset="0x2670" TlutOffset="0x770"/>
|
||||
|
|
|
@ -4,11 +4,11 @@
|
|||
|
||||
<!-- Far Limb DLists-->
|
||||
<DList Name="gLinkAdultWaistFarDL" Offset="0x2F530"/>
|
||||
|
||||
|
||||
<DList Name="gLinkAdultRightThighFarDL" Offset="0x2F7A0"/>
|
||||
<DList Name="gLinkAdultRightLegFarDL" Offset="0x2F9B8"/>
|
||||
<DList Name="gLinkAdultRightFootFarDL" Offset="0x2FB80"/>
|
||||
|
||||
|
||||
<DList Name="gLinkAdultLeftThighFarDL" Offset="0x2FCA0"/>
|
||||
<DList Name="gLinkAdultLeftLegFarDL" Offset="0x2FEC0"/>
|
||||
<DList Name="gLinkAdultLeftFootFarDL" Offset="0x30088"/>
|
||||
|
@ -17,11 +17,11 @@
|
|||
<DList Name="gLinkAdultTorsoFarDL" Offset="0x30250"/>
|
||||
<DList Name="gLinkAdultHeadFarDL" Offset="0x30400"/>
|
||||
<DList Name="gLinkAdultHatFarDL" Offset="0x309B0"/>
|
||||
|
||||
|
||||
<DList Name="gLinkAdultRightShoulderFarDL" Offset="0x30AA0"/>
|
||||
<DList Name="gLinkAdultRightArmFarDL" Offset="0x30C48"/>
|
||||
<DList Name="gLinkAdultRightHandFarDL" Offset="0x274F8"/>
|
||||
|
||||
|
||||
<DList Name="gLinkAdultLeftShoulderFarDL" Offset="0x30EF8"/>
|
||||
<DList Name="gLinkAdultLeftArmFarDL" Offset="0x310A0"/>
|
||||
<DList Name="gLinkAdultLeftHandFarDL" Offset="0x26C58"/>
|
||||
|
@ -41,7 +41,7 @@
|
|||
<DList Name="gLinkAdultTorsoNearDL" Offset="0x363B8"/>
|
||||
<DList Name="gLinkAdultHeadNearDL" Offset="0x365E8"/>
|
||||
<DList Name="gLinkAdultHatNearDL" Offset="0x36D30"/>
|
||||
|
||||
|
||||
<DList Name="gLinkAdultRightShoulderNearDL" Offset="0x36E58"/>
|
||||
<DList Name="gLinkAdultRightArmNearDL" Offset="0x37018"/>
|
||||
<DList Name="gLinkAdultRightHandNearDL" Offset="0x22498"/>
|
||||
|
@ -54,13 +54,13 @@
|
|||
<DList Name="gLinkAdultHandHoldingBottleDL" Offset="0x29600"/>
|
||||
|
||||
<!-- Bodypart DLs not directly used in the skeleton -->
|
||||
|
||||
|
||||
<!-- TODO check left vs right-->
|
||||
<DList Name="gLinkAdultRightHandClosedNearDL" Offset="0x226E0"/>
|
||||
<DList Name="gLinkAdultRightHandClosedFarDL" Offset="0x27690"/>
|
||||
<DList Name="gLinkAdultLeftHandHoldingMasterSwordNearDL" Offset="0x21F78"/>
|
||||
<DList Name="gLinkAdultLeftHandHoldingMasterSwordFarDL" Offset="0x27078"/>
|
||||
|
||||
|
||||
<DList Name="gLinkAdultLeftHandClosedNearDL" Offset="0x21CE8"/>
|
||||
<DList Name="gLinkAdultLeftHandClosedFarDL" Offset="0x26DF0"/>
|
||||
|
||||
|
@ -70,7 +70,7 @@
|
|||
|
||||
<DList Name="gLinkAdultLeftArmOutNearDL" Offset="0x29FA0"/>
|
||||
<DList Name="gLinkAdultLeftHandOutNearDL" Offset="0x24B58"/>
|
||||
|
||||
|
||||
<!-- Limbs-->
|
||||
<Limb Name="gLinkAdultRootLimb" LimbType="LOD" Offset="0x37650"/>
|
||||
<Limb Name="gLinkAdultWaistLimb" LimbType="LOD" Offset="0x37660"/>
|
||||
|
@ -128,7 +128,7 @@
|
|||
<Texture Name="gLinkAdultShieldHandleTex" OutName="shield_handle" Format="ci8" Width="8" Height="16" Offset="0xD4B8" TlutOffset="0xCD48"/>
|
||||
<Texture Name="gLinkAdultHylianShieldBackTex" OutName="hylian_shield_back" Format="ci8" Width="16" Height="32" Offset="0xD938" TlutOffset="0xCB40"/>
|
||||
<Texture Name="gLinkAdultSheathBandTex" OutName="sheath_band" Format="ci8" Width="32" Height="16" Offset="0xE838" TlutOffset="0xCB40"/>
|
||||
|
||||
|
||||
<Texture Name="gLinkAdultMirrorShieldLowerDesignTex" OutName="mirror_shield_lower_design" Format="ia16" Width="32" Height="64" Offset="0xB280"/>
|
||||
<Texture Name="gLinkAdultMirrorShieldUpperDesignTex" OutName="mirror_shield_upper_design" Format="ia8" Width="64" Height="32" Offset="0xC280"/>
|
||||
|
||||
|
@ -141,7 +141,7 @@
|
|||
<Texture Name="gLinkAdultClosedHandSideTex" OutName="closed_hand_side" Format="ci8" Width="16" Height="16" Offset="0xDB38" TlutOffset="0xCF50"/> <!-- TODO CHECK-->
|
||||
|
||||
<Texture Name="gLinkAdultBowBodyTex" OutName="bow_body" Format="i8" Width="8" Height="8" Offset="0xCB00"/> <!-- TODO get proper name for this-->
|
||||
|
||||
|
||||
<Texture Name="gLinkAdultSwordEmblemTex" OutName="sword_emblem" Format="ci8" Width="16" Height="16" Offset="0xEA38" TlutOffset="0xCB40"/>
|
||||
|
||||
<Texture Name="gLinkAdultArmOutSleeveTex" OutName="arm_out_sleeve" Format="ci8" Width="16" Height="32" Offset="0xEDB8" TlutOffset="0xD078"/>
|
||||
|
@ -150,14 +150,14 @@
|
|||
|
||||
<Texture Name="gLinkAdultBoot2Tex" OutName="boot_2" Format="ci8" Width="16" Height="32" Offset="0x6300" TlutOffset="0x5800"/>
|
||||
<Texture Name="gLinkAdultBootBuckleTex" OutName="boot_buckle" Format="ci8" Width="32" Height="16" Offset="0x6500" TlutOffset="0x5800"/>
|
||||
|
||||
|
||||
<Texture Name="gLinkAdultEarringTex" OutName="earring" Format="ia16" Width="32" Height="32" Offset="0x7180"/>
|
||||
<!-- Bow -->
|
||||
<DList Name="gLinkAdultRightHandHoldingBowNearDL" Offset="0x22DA8"/>
|
||||
<DList Name="gLinkAdultRightHandHoldingBowFarDL" Offset="0x27B88"/>
|
||||
<DList Name="gLinkAdultRightHandHoldingBowFirstPersonDL" Offset="0x2A248"/>
|
||||
<DList Name="gLinkAdultBowStringDL" Offset="0x2B108"/>
|
||||
|
||||
|
||||
<DList Name="gLinkAdultLeftHandHoldingHammerNearDL" Offset="0x233E0"/>
|
||||
<DList Name="gLinkAdultLeftHandHoldingHammerFarDL" Offset="0x28288"/>
|
||||
|
||||
|
@ -185,7 +185,7 @@
|
|||
<Texture Name="gLinkAdultLegTex" OutName="leg" Format="ci8" Width="16" Height="32" Offset="0x6100" TlutOffset="0x5A00"/>
|
||||
<Texture Name="gLinkAdultBootFarTex" OutName="boot_far" Format="ci8" Width="16" Height="32" Offset="0x5600" TlutOffset="0x5400"/>
|
||||
<Texture Name="gLinkAdultBootTex" OutName="boot" Format="ci8" Width="16" Height="16" Offset="0x6000" TlutOffset="0x5800"/>
|
||||
<Texture Name="gLinkAdultCollarTex" OutName="collar" Format="rgba16" Width="16" Height="32" Offset="0x9580"/>
|
||||
<Texture Name="gLinkAdultCollarTex" OutName="collar" Format="rgba16" Width="16" Height="32" Offset="0x9580"/>
|
||||
<Texture Name="gLinkAdultTunicTex" OutName="tunic" Format="ci8" Width="16" Height="32" Offset="0x9380" TlutOffset="0x5A00"/>
|
||||
<Texture Name="gLinkAdultNeckTex" OutName="neck" Format="ci8" Width="16" Height="32" Offset="0x7980" TlutOffset="0x5A00"/>
|
||||
<Texture Name="gLinkAdultNose2Tex" OutName="nose2" Format="ci8" Width="16" Height="16" Offset="0x5200"/>
|
||||
|
@ -198,7 +198,7 @@
|
|||
<DList Name="gLinkAdultRightGauntletPlate1DL" Offset="0x25598"/>
|
||||
<DList Name="gLinkAdultRightGauntletPlate2DL" Offset="0x25658"/>
|
||||
<DList Name="gLinkAdultRightGauntletPlate3DL" Offset="0x257B8"/>
|
||||
|
||||
|
||||
<Texture Name="gLinkAdultGauntletPlate1Tex" OutName="gauntlet_plate_1" Format="rgba16" Width="16" Height="32" Offset="0x9980"/>
|
||||
<Texture Name="gLinkAdultGauntletPlate2Tex" OutName="gauntlet_plate_2" Format="rgba16" Width="32" Height="32" Offset="0x9D80"/>
|
||||
|
||||
|
@ -214,12 +214,12 @@
|
|||
<Texture Name="gLinkAdultHoverBootsHeelTex" OutName="hover_boots_heel" Format="rgba16" Width="16" Height="8" Offset="0xA580"/>
|
||||
<Texture Name="gLinkAdultHoverBootsJetTex" OutName="hover_boots_jet" Format="rgba16" Width="32" Height="32" Offset="0xA680"/>
|
||||
<Texture Name="gLinkAdultHoverBootsFeatherTex" OutName="hover_boots_feather" Format="rgba16" Width="32" Height="16" Offset="0xAE80"/>
|
||||
|
||||
|
||||
<!-- Sword and sheath-->
|
||||
<Texture Name="gLinkAdultSheathTex" OutName="sheath" Format="ci8" Width="32" Height="32" Offset="0xDC38" TlutOffset="0xCB40"/>
|
||||
<Texture Name="gLinkAdultSwordPommelTex" OutName="sword_pommel" Format="ci8" Width="16" Height="16" Offset="0xD0B8" TlutOffset="0xCB40"/>
|
||||
<Texture Name="gLinkAdultSwordGuardTex" OutName="sword_guard" Format="ci8" Width="32" Height="32" Offset="0xE438" TlutOffset="0xCB40"/>
|
||||
|
||||
|
||||
<!-- Eyes -->
|
||||
<Texture Name="gLinkAdultEyesOpenTex" OutName="eyes_open" Format="ci8" Width="64" Height="32" Offset="0x0000" TlutOffset="0x5C00"/>
|
||||
<Texture Name="gLinkAdultEyesHalfTex" OutName="eyes_half" Format="ci8" Width="64" Height="32" Offset="0x0800" TlutOffset="0x5C00"/>
|
||||
|
@ -229,16 +229,16 @@
|
|||
<Texture Name="gLinkAdultEyesShockTex" OutName="eyes_shock" Format="ci8" Width="64" Height="32" Offset="0x2800" TlutOffset="0x5C00"/>
|
||||
<Texture Name="gLinkAdultEyesUnk1Tex" OutName="eyes_unk_1" Format="ci8" Width="64" Height="32" Offset="0x3000" TlutOffset="0x5C00"/>
|
||||
<Texture Name="gLinkAdultEyesUnk2Tex" OutName="eyes_unk_2" Format="ci8" Width="64" Height="32" Offset="0x3800" TlutOffset="0x5C00"/>
|
||||
|
||||
|
||||
<!--Mouth-->
|
||||
<Texture Name="gLinkAdultMouth1Tex" OutName="mouth_1" Format="ci8" Width="32" Height="32" Offset="0x4000" TlutOffset="0x5C00"/>
|
||||
<Texture Name="gLinkAdultMouth2Tex" OutName="mouth_2" Format="ci8" Width="32" Height="32" Offset="0x4400" TlutOffset="0x5C00"/>
|
||||
<Texture Name="gLinkAdultMouth3Tex" OutName="mouth_3" Format="ci8" Width="32" Height="32" Offset="0x4800" TlutOffset="0x5C00"/>
|
||||
<Texture Name="gLinkAdultMouth4Tex" OutName="mouth_4" Format="ci8" Width="32" Height="32" Offset="0x4C00" TlutOffset="0x5C00"/>
|
||||
|
||||
|
||||
<Texture Name="gLinkAdultEarTex" OutName="ear" Format="ci8" Width="16" Height="16" Offset="0x5000" TlutOffset="0x5C00"/>
|
||||
<Texture Name="gLinkAdultNoseTex" OutName="nose" Format="ci8" Width="16" Height="16" Offset="0x5100" TlutOffset="0x5C00"/>
|
||||
|
||||
|
||||
<!-- Tluts -->
|
||||
<Texture Name="gLinkAdultHeadTlut" OutName="head_tlut" Format="rgba16" Width="16" Height="16" Offset="0x5C00"/>
|
||||
<Texture Name="gLinkAdultTlut_005E00" OutName="tlut_5E00" Format="rgba16" Width="16" Height="16" Offset="0x5E00"/>
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
||||
<File Name="object_link_child" Segment="6">
|
||||
<Skeleton Name="gLinkChildSkel" Type="Flex" LimbType="LOD" Offset="0x2CF6C"/>
|
||||
|
||||
<!--Far Limb DLists-->
|
||||
<DList Name="gLinkChildLeftHandFarDL" Offset="0x16280"/>
|
||||
<DList Name="gLinkChildRightHandFarDL" Offset="0x164E0"/>
|
||||
|
||||
<!--Far Limb DLists-->
|
||||
<DList Name="gLinkChildLeftHandFarDL" Offset="0x16280"/>
|
||||
<DList Name="gLinkChildRightHandFarDL" Offset="0x164E0"/>
|
||||
<DList Name="gLinkChildSwordAndSheathFarDL" Offset="0x17360"/>
|
||||
<DList Name="gLinkChildWaistFarDL" Offset="0x1AEC8"/>
|
||||
<DList Name="gLinkChildRightThighFarDL" Offset="0x1B0F8"/>
|
||||
|
@ -22,7 +22,7 @@
|
|||
<DList Name="gLinkChildRightForearmFarDL" Offset="0x1C558"/>
|
||||
<DList Name="gLinkChildLeftShoulderFarDL" Offset="0x1C688"/>
|
||||
<DList Name="gLinkChildLeftForearmFarDL" Offset="0x1C848"/>
|
||||
|
||||
|
||||
<!--Near Limb DLists-->
|
||||
<DList Name="gLinkChildLeftHandNearDL" Offset="0x13CB0"/>
|
||||
<DList Name="gLinkChildRightHandNearDL" Offset="0x141C0"/>
|
||||
|
@ -42,7 +42,7 @@
|
|||
<DList Name="gLinkChildRightForearmNearDL" Offset="0x21CB8"/>
|
||||
<DList Name="gLinkChildLeftShoulderNearDL" Offset="0x21E18"/>
|
||||
<DList Name="gLinkChildLeftForearmNearDL" Offset="0x21FE8"/>
|
||||
|
||||
|
||||
<!--Limbs-->
|
||||
<Limb Name="gLinkChildRootLimb" LimbType="LOD" Offset="0x2CDC8"/>
|
||||
<Limb Name="gLinkChildWaistLimb" LimbType="LOD" Offset="0x2CDD8"/>
|
||||
|
@ -65,12 +65,12 @@
|
|||
<Limb Name="gLinkChildRightHandLimb" LimbType="LOD" Offset="0x2CEE8"/>
|
||||
<Limb Name="gLinkChildSwordAndSheathLimb" LimbType="LOD" Offset="0x2CEF8"/>
|
||||
<Limb Name="gLinkChildTorsoLimb" LimbType="LOD" Offset="0x2CF08"/>
|
||||
|
||||
|
||||
<!--General DLists-->
|
||||
<DList Name="gLinkChildLinkDekuStickDL" Offset="0x6CC0"/>
|
||||
<DList Name="gLinkChildLeftHandHoldingMasterSwordDL" Offset="0x15540"/>
|
||||
<DList Name="gLinkChildGoronBraceletDL" Offset="0x16118"/>
|
||||
|
||||
|
||||
<!--Body Parts not used in Limbs-->
|
||||
<DList Name="gLinkChildLeftFistNearDL" Offset="0x13E18"/>
|
||||
<DList Name="gLinkChildRightHandClosedNearDL" Offset="0x14320"/>
|
||||
|
@ -109,7 +109,7 @@
|
|||
<DList Name="gLinkChildDekuShieldDL" Offset="0x224F8"/>
|
||||
<Mtx Name="gLinkChildDekuShieldMtx" Offset="0x22648"/>
|
||||
<DList Name="gLinkChildDekuShieldWithMatrixDL" Offset="0x22688"/>
|
||||
|
||||
|
||||
<!--Masks-->
|
||||
<DList Name="gLinkChildSkullMaskDL" Offset="0x2AD40"/>
|
||||
<DList Name="gLinkChildSpookyMaskDL" Offset="0x2AF70"/>
|
||||
|
@ -119,7 +119,7 @@
|
|||
<DList Name="gLinkChildZoraMaskDL" Offset="0x2B580"/>
|
||||
<DList Name="gLinkChildGerudoMaskDL" Offset="0x2B788"/>
|
||||
<DList Name="gLinkChildBunnyHoodDL" Offset="0x2CA38"/>
|
||||
|
||||
|
||||
<!--Textures-->
|
||||
<Texture Name="gLinkChildNoseTex" OutName="nose" Format="ci8" Width="16" Height="16" Offset="0x5000" TlutOffset="0x5500"/>
|
||||
<Texture Name="gLinkChildUnusedHandTex" OutName="unused_hand" Format="ci8" Width="16" Height="16" Offset="0x5100" TlutOffset="0x5500"/>
|
||||
|
@ -148,13 +148,13 @@
|
|||
<Texture Name="gLinkChildSkullMaskTeethTex" OutName="skull_mask_teeth" Format="rgba16" Width="8" Height="8" Offset="0x26BA0"/>
|
||||
<Texture Name="gLinkChildSkullMaskNoseTex" OutName="skull_mask_nose" Format="rgba16" Width="8" Height="8" Offset="0x27520"/>
|
||||
<Texture Name="gLinkChildSkullMaskEyeTex" OutName="skull_mask_eye" Format="rgba16" Width="16" Height="16" Offset="0x23B20"/>
|
||||
|
||||
|
||||
<Texture Name="gLinkChildSpookyMaskTex" OutName="spooky_mask" Format="ia16" Width="32" Height="64" Offset="0x226A0"/>
|
||||
<Texture Name="gLinkChildKeatonMaskEyeBrowTex" OutName="keaton_mask_eye_brow" Format="rgba16" Width="32" Height="16" Offset="0x236A0"/>
|
||||
<Texture Name="gLinkChildKeatonMaskEarTex" OutName="keaton_mask_ear" Format="rgba16" Width="8" Height="8" Offset="0x23AA0"/>
|
||||
<Texture Name="gLinkChildMaskOfTruthCurveTex" OutName="mask_of_truth_curves" Format="rgba16" Width="16" Height="32" Offset="0x24D20"/>
|
||||
<Texture Name="gLinkChildMaskOfTruthTex" OutName="mask_of_truth" Format="rgba16" Width="32" Height="64" Offset="0x23D20"/>
|
||||
|
||||
|
||||
<Texture Name="gLinkChildGoronMaskMouthTex" OutName="goron_mask_mouth" Format="rgba16" Width="64" Height="32" Offset="0x25120"/>
|
||||
<Texture Name="gLinkChildGoronMaskEyeTex" OutName="goron_mask_eye" Format="rgba16" Width="32" Height="32" Offset="0x26120"/>
|
||||
<Texture Name="gLinkChildGoronMaskNoseTex" OutName="goron_mask_nose" Format="rgba16" Width="8" Height="8" Offset="0x26920"/>
|
||||
|
@ -174,14 +174,14 @@
|
|||
<Texture Name="gLinkChildBunnyHoodEyeTex" OutName="bunny_hood_eye" Format="rgba16" Width="16" Height="16" Offset="0x2BA28"/>
|
||||
<Texture Name="gLinkChildBunnyHoodTex" OutName="bunny_hood" Format="rgba16" Width="16" Height="32" Offset="0x2BC28"/>
|
||||
<Texture Name="gLinkChildBunnyHoodEarTex" OutName="bunny_hood_ear" Format="rgba16" Width="16" Height="32" Offset="0x2C028"/>
|
||||
|
||||
|
||||
<!--TLUTs-->
|
||||
<Texture Name="gLinkChildSkinTLUT" OutName="skin_tlut" Format="rgba16" Width="16" Height="16" Offset="0x5500"/>
|
||||
<Texture Name="gLinkChildHandTLUT" OutName="hand_tlut" Format="rgba16" Width="17" Height="4" Offset="0x9E88"/>
|
||||
<Texture Name="gLinkChildSwordsTLUT" OutName="swords_tlut" Format="rgba16" Width="16" Height="16" Offset="0x9F10"/> <!--For both the kokiri sword sheath and master sword-->
|
||||
<Texture Name="gLinkChildSwordTLUT" OutName="sword_tlut" Format="rgba16" Width="27" Height="4" Offset="0xA118"/>
|
||||
<Texture Name="gLinkChildBeltTLUT" OutName="belt_tlut" Format="rgba16" Width="16" Height="16" Offset="0x5300"/>
|
||||
|
||||
|
||||
<!--Eyes-->
|
||||
<Texture Name="gLinkChildEyesOpenTex" OutName="eyes_open" Format="ci8" Width="64" Height="32" Offset="0x0000" TlutOffset="0x5500"/>
|
||||
<Texture Name="gLinkChildEyesHalfTex" OutName="eyes_half" Format="ci8" Width="64" Height="32" Offset="0x0800" TlutOffset="0x5500"/>
|
||||
|
@ -191,7 +191,7 @@
|
|||
<Texture Name="gLinkChildEyesShockTex" OutName="eyes_shock" Format="ci8" Width="64" Height="32" Offset="0x2800" TlutOffset="0x5500"/>
|
||||
<Texture Name="gLinkChildEyesUnk1Tex" OutName="eyes_unk_1" Format="ci8" Width="64" Height="32" Offset="0x3000" TlutOffset="0x5500"/>
|
||||
<Texture Name="gLinkChildEyesUnk2Tex" OutName="eyes_unk_2" Format="ci8" Width="64" Height="32" Offset="0x3800" TlutOffset="0x5500"/>
|
||||
|
||||
|
||||
<!--Mouth-->
|
||||
<Texture Name="gLinkChildMouth1Tex" OutName="mouth_1" Format="ci8" Width="32" Height="32" Offset="0x4000" TlutOffset="0x5500"/>
|
||||
<Texture Name="gLinkChildMouth2Tex" OutName="mouth_2" Format="ci8" Width="32" Height="32" Offset="0x4400" TlutOffset="0x5500"/>
|
||||
|
@ -202,7 +202,7 @@
|
|||
<Array Name="gLinkChildVtx_019E08" Count="35" Offset="0x19E08" Static="On">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
|
||||
|
||||
<Array Name="gLinkChildVtx_01A428" Count="39" Offset="0x1A428" Static="On">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
|
@ -222,5 +222,5 @@
|
|||
<Array Name="gLinkChildVtx_01FA28" Count="62" Offset="0x1FA28" Static="On">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
</File>
|
||||
</File>
|
||||
</Root>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<Root>
|
||||
<File Name="object_ma1" Segment="6">
|
||||
<Skeleton Name="gMalonChildSkel" Type="Flex" LimbType="Standard" Offset="0x8460"/>
|
||||
|
||||
|
||||
<Limb Name="gMalonChildRootLimb" LimbType="Standard" Offset="0x8340"/>
|
||||
<Limb Name="gMalonChildLeftThighLimb" LimbType="Standard" Offset="0x834C"/>
|
||||
<Limb Name="gMalonChildLeftShinLimb" LimbType="Standard" Offset="0x8358"/>
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
<Texture Name="gMalonAdultEyeOpenTex" OutName="eye_open" Format="ci8" Width="32" Height="32" Offset="0x2570" TlutOffset="0x1F70"/>
|
||||
<Texture Name="gMalonAdultEyeHalfTex" OutName="eye_half" Format="ci8" Width="32" Height="32" Offset="0x2C70" TlutOffset="0x1F70"/>
|
||||
<Texture Name="gMalonAdultEyeClosedTex" OutName="eye_closed" Format="ci8" Width="32" Height="32" Offset="0x3070" TlutOffset="0x1F70"/>
|
||||
|
||||
|
||||
<Texture Name="gMalonAdultBasketTex" OutName="basket" Format="rgba16" Width="8" Height="16" Offset="0x2B70"/>
|
||||
<Texture Name="gMalonAdultBasketInsideTex" OutName="basket_inside" Format="rgba16" Width="8" Height="16" Offset="0x3470"/>
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<Collision Name="gObjectMizuObjectsMovebgCol_0015F8" Offset="0x15F8"/>
|
||||
<DList Name="gObjectMizuObjectsMovebgDL_002E10" Offset="0x2E10"/>
|
||||
<Collision Name="gObjectMizuObjectsMovebgCol_003590" Offset="0x3590"/>
|
||||
|
||||
|
||||
<DList Name="gObjectMizuObjectsBwallDL_001770" Offset="0x1770"/>
|
||||
<DList Name="gObjectMizuObjectsBwallDL_001A30" Offset="0x1A30"/>
|
||||
<Collision Name="gObjectMizuObjectsBwallCol_001C58" Offset="0x1C58"/>
|
||||
|
@ -25,17 +25,17 @@
|
|||
<DList Name="gWaterTempleDoorDL_0048B0" Offset="0x48B0"/>
|
||||
<DList Name="gWaterTempleDoorLeftDL" Offset="0x4958"/>
|
||||
<DList Name="gWaterTempleDoorRightDL" Offset="0x4A10"/>
|
||||
|
||||
|
||||
<DList Name="gObjectMizuObjectsWaterDL_004B20" Offset="0x4B20"/>
|
||||
|
||||
|
||||
<DList Name="gObjectMizuObjectsDoorShutterDL_005D90" Offset="0x5D90"/>
|
||||
<DList Name="gObjectMizuObjectsDoorShutterDL_007000" Offset="0x7000"/>
|
||||
|
||||
|
||||
<DList Name="gObjectMizuObjectsShutterDL_007130" Offset="0x7130"/>
|
||||
<Collision Name="gObjectMizuObjectsShutterCol_007250" Offset="0x7250"/>
|
||||
<DList Name="gObjectMizuObjectsShutterDL_0072D0" Offset="0x72D0"/>
|
||||
<Collision Name="gObjectMizuObjectsShutterCol_0073F0" Offset="0x73F0"/>
|
||||
|
||||
|
||||
<Collision Name="gObjectMizuObjectsUzuCol_0074EC" Offset="0x74EC"/>
|
||||
</File>
|
||||
</Root>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<File Name="object_mo" Segment="6">
|
||||
<!-- Morpha's Title Card -->
|
||||
<Texture Name="gMorphaTitleCardTex" Format="i8" Width="128" Height="120" Offset="0x1010"/>
|
||||
|
||||
|
||||
<!-- DLists for Morpha's Core -->
|
||||
<DList Name="gMorphaCoreMembraneDL" Offset="0x6700"/>
|
||||
<DList Name="gMorphaCoreNucleusDL" Offset="0x6838"/>
|
||||
|
@ -63,12 +63,12 @@
|
|||
<!-- Unused content -->
|
||||
|
||||
<!-- This is the dlist for EnVbBall for some reason. -->
|
||||
<DList Name="gMorphaDL_000550" Offset="0x550"/>
|
||||
<DList Name="gMorphaDL_000550" Offset="0x550"/>
|
||||
|
||||
<DList Name="gMorphaDL_000EC0" Offset="0xEC0"/>
|
||||
<DList Name="gMorphaDL_000EF8" Offset="0xEF8"/>
|
||||
<DList Name="gMorphaDL_007BF8" Offset="0x7BF8"/>
|
||||
|
||||
|
||||
<Array Name="gMorphaVtx_006938" Count="14" Offset="0x6938">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<File Name="object_ms" Segment="6">
|
||||
<!-- Bean Salesman Skeleton -->
|
||||
<Skeleton Name="gBeanSalesmanSkel" Type="Flex" LimbType="Standard" Offset="0x3DC0"/>
|
||||
|
||||
|
||||
<!-- Bean Salesman Limbs -->
|
||||
<Limb Name="gBeanSalesmanRootLimb" LimbType="Standard" Offset="0x3D40"/>
|
||||
<Limb Name="gBeanSalesmanLeftUpperArmLimb" LimbType="Standard" Offset="0x3D4C"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<Root>
|
||||
<File Name="object_oF1d_map" Segment="6">
|
||||
<File Name="object_oF1d_map" Segment="6">
|
||||
<!-- animations -->
|
||||
<Animation Name="gGoronAnim_000750" Offset="0x750"/>
|
||||
<Animation Name="gGoronAnim_000D5C" Offset="0xD5C"/>
|
||||
|
@ -12,13 +12,13 @@
|
|||
<Animation Name="gGoronAnim_0038E4" Offset="0x38E4"/>
|
||||
<Animation Name="gGoronAnim_004930" Offset="0x4930"/>
|
||||
<Animation Name="gGoronAnim_010590" Offset="0x10590"/>
|
||||
|
||||
|
||||
<DList Name="gGoronDL_00BD80" Offset="0xBD80"/>
|
||||
<DList Name="gGoronDL_00C140" Offset="0xC140"/>
|
||||
|
||||
<DList Name="gGoronDL_00FD40" Offset="0xFD40"/>
|
||||
<DList Name="gGoronDL_00FD50" Offset="0xFD50"/>
|
||||
|
||||
|
||||
<Skeleton Name="gGoronSkel" Type="Flex" LimbType="Standard" Offset="0xFEF0"/>
|
||||
|
||||
<!-- Eye textures -->
|
||||
|
@ -30,6 +30,6 @@
|
|||
<!-- Mouth textures -->
|
||||
<Texture Name="gGoronCsMouthNeutralTex" OutName="mouth_neutral" Format="ci8" Width="64" Height="32" Offset="0xDE80"/>
|
||||
<Texture Name="gGoronCsMouthSmileTex" OutName="mouth_smile" Format="ci8" Width="64" Height="32" Offset="0xE680"/>
|
||||
|
||||
|
||||
</File>
|
||||
</Root>
|
||||
|
|
|
@ -53,11 +53,11 @@
|
|||
<Animation Name="gOwlGlideAnim" Offset="0xC1C4"/>
|
||||
<Animation Name="gOwlUnfoldWingsAnim" Offset="0xC684"/>
|
||||
<Animation Name="gOwlPerchAnim" Offset="0xC8A0"/>
|
||||
|
||||
<!-- Owl Perching Skeleton -->
|
||||
<Skeleton Name="gOwlPerchingSkel" Type="Flex" LimbType="Standard" Offset="0x100B0"/>
|
||||
|
||||
<!-- Eye Textures -->
|
||||
<!-- Owl Perching Skeleton -->
|
||||
<Skeleton Name="gOwlPerchingSkel" Type="Flex" LimbType="Standard" Offset="0x100B0"/>
|
||||
|
||||
<!-- Eye Textures -->
|
||||
<Texture Name="gObjOwlEyeOpenTex" OutName="owl_eye_open" Format="ci8" Width="32" Height="32" Offset="0x89A8"/>
|
||||
<Texture Name="gObjOwlEyeHalfTex" OutName="owl_eye_half" Format="ci8" Width="32" Height="32" Offset="0x8DA8"/>
|
||||
<Texture Name="gObjOwlEyeClosedTex" OutName="owl_eye_closed" Format="ci8" Width="32" Height="32" Offset="0x91A8"/>
|
||||
|
|
|
@ -18,11 +18,11 @@
|
|||
<DList Name="gPoSistersAmyFaceDL" Offset="0x4020"/>
|
||||
<DList Name="gPoSistersBurnDL" Offset="0x46E0"/>
|
||||
<Skeleton Name="gPoeSistersSkel" Type="Normal" LimbType="Standard" Offset="0x65C8"/>
|
||||
<DList Name="gPoSistersJoellePaintingDL" Offset="0x6830"/>
|
||||
<DList Name="gPoSistersBethPaintingDL" Offset="0x6D60"/>
|
||||
<DList Name="gPoSistersAmyPaintingDL" Offset="0x7230"/>
|
||||
<DList Name="gPoSistersAmyBlockDL" Offset="0x75A0"/>
|
||||
<DList Name="gPoSistersJoellePaintingDL" Offset="0x6830"/>
|
||||
<DList Name="gPoSistersBethPaintingDL" Offset="0x6D60"/>
|
||||
<DList Name="gPoSistersAmyPaintingDL" Offset="0x7230"/>
|
||||
<DList Name="gPoSistersAmyBlockDL" Offset="0x75A0"/>
|
||||
<Collision Name="gPoSistersAmyBlockCol" Offset="0x7860"/>
|
||||
<DList Name="gPoSistersAmyBethBlockDL" Offset="0x79E0"/>
|
||||
<DList Name="gPoSistersAmyBethBlockDL" Offset="0x79E0"/>
|
||||
</File>
|
||||
</Root>
|
||||
|
|
|
@ -38,10 +38,10 @@
|
|||
<DList Name="gRutoChildLeftFinDL" Offset="0xDAC0"/>
|
||||
<DList Name="gRutoChildLeftHandDL" Offset="0xDDA8"/>
|
||||
<DList Name="gRutoChildHeadDL" Offset="0x119F8"/>
|
||||
|
||||
|
||||
<Texture Name="gRutoChildEyeTLUT" OutName="eye_tlut" Format="rgba16" Width="16" Height="16" Offset="0xE038"/>
|
||||
<Texture Name="gRutoChildMouthTLUT" OutName="mouth_tlut" Format="rgba16" Width="16" Height="12" Offset="0xE238"/>
|
||||
|
||||
|
||||
<Texture Name="gRutoChildEyeOpenTex" OutName="eye_open" Format="ci8" Width="32" Height="32" Offset="0xE3B8" TlutOffset="0xE038"/>
|
||||
<Texture Name="gRutoChildEyeHalfTex" OutName="eye_half" Format="ci8" Width="32" Height="32" Offset="0xF238" TlutOffset="0xE038"/>
|
||||
<Texture Name="gRutoChildEyeClosedTex" OutName="eye_closed" Format="ci8" Width="32" Height="32" Offset="0xF638" TlutOffset="0xE038"/>
|
||||
|
@ -60,9 +60,9 @@
|
|||
<Texture Name="gRutoChildUnkHeadCircleTex" OutName="tex_0000F038" Format="rgba16" Width="16" Height="16" Offset="0xF038"/> <!-- TODO rename me-->
|
||||
<Texture Name="gRutoChildFingersTex" OutName="fingers" Format="rgba16" Width="16" Height="16" Offset="0x12200"/>
|
||||
<Texture Name="gRutoChildCircleGradientTex" OutName="circle_gradient" Format="rgba16" Width="16" Height="16" Offset="0x12400"/>
|
||||
|
||||
|
||||
<Skeleton Name="gRutoChildSkel" Type="Flex" LimbType="Standard" Offset="0x12700"/>
|
||||
|
||||
|
||||
<Limb Name="gRutoChildRootLimb" LimbType="Standard" Offset="0x12600"/>
|
||||
<Limb Name="gRutoChildLeftThighLimb" LimbType="Standard" Offset="0x1260C"/>
|
||||
<Limb Name="gRutoChildLeftShinLimb" LimbType="Standard" Offset="0x12618"/>
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
<DList Name="gAdultRutoRightHandDL" Offset="0x9B80"/>
|
||||
<DList Name="gAdultRutoHeadDL" Offset="0x3EB0"/>
|
||||
<DList Name="gAdultRutoWaistDL" Offset="0x88F0"/>
|
||||
|
||||
|
||||
<!-- Adult Ruto Palettes -->
|
||||
<Texture Name="gAdultRutoTLUT1" OutName="adult_ruto_tlut_1" Format="rgba16" Width="144" Height="1" Offset="0xE00"/>
|
||||
<Texture Name="gAdultRutoTLUT2" OutName="adult_ruto_tlut_2" Format="rgba16" Width="16" Height="16" Offset="0x43C0"/>
|
||||
|
@ -58,7 +58,7 @@
|
|||
<Texture Name="gAdultRutoEyeOpenTex" OutName="adult_ruto_eye_open" Format="rgba16" Width="32" Height="32" Offset="0xF20"/>
|
||||
<Texture Name="gAdultRutoEyeHalfTex" OutName="adult_ruto_eye_half" Format="rgba16" Width="32" Height="32" Offset="0x22E0"/>
|
||||
<Texture Name="gAdultRutoEyeClosedTex" OutName="adult_ruto_eye_closed" Format="rgba16" Width="32" Height="32" Offset="0x2AE0"/>
|
||||
|
||||
|
||||
<!-- Adult Ruto Textures -->
|
||||
<Texture Name="gAdultRutoSkinGradient" OutName="adult_ruto_skin_gradient" Format="ci8" Width="8" Height="8" Offset="0x1720" TlutOffset="0xE00"/>
|
||||
<Texture Name="gAdultRutoEar1Tex" OutName="adult_ruto_ear_1" Format="ci8" Width="16" Height="16" Offset="0x1760" TlutOffset="0xE00"/>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<Root>
|
||||
<File Name="object_sa" Segment="6">
|
||||
<Skeleton Name="gSariaSkel" Type="Flex" LimbType="Standard" Offset="0xB1A0"/>
|
||||
|
||||
|
||||
<Limb Name="gSariaRootLimb" LimbType="Standard" Offset="0xB0A0"/>
|
||||
<Limb Name="gSariaWaistLimb" LimbType="Standard" Offset="0xB0AC"/>
|
||||
<Limb Name="gSariaLeftThighLimb" LimbType="Standard" Offset="0xB0B8"/>
|
||||
|
@ -72,7 +72,7 @@
|
|||
<Texture Name="gSariaSkinTLUT" OutName="skin_tlut" Format="rgba16" Width="8" Height="9" Offset="0x2A70"/>
|
||||
|
||||
<Texture Name="gSariaBootsTex" OutName="boots" Format="ci8" Width="16" Height="16" Offset="0x23F0" TlutOffset="0x21F0"/>
|
||||
<Texture Name="gSariaGreenTex" OutName="green" Format="ci8" Width="8" Height="8" Offset="0x24F0" TlutOffset="0x21F0"/>
|
||||
<Texture Name="gSariaGreenTex" OutName="green" Format="ci8" Width="8" Height="8" Offset="0x24F0" TlutOffset="0x21F0"/>
|
||||
<Texture Name="gSariaKneeTex" OutName="knee" Format="ci8" Width="16" Height="16" Offset="0x2570" TlutOffset="0x21F0"/>
|
||||
<Texture Name="gSariaTorsoTex" OutName="torso" Format="ci8" Width="16" Height="16" Offset="0x2670" TlutOffset="0x21F0"/>
|
||||
<Texture Name="gSariaBeltTex" OutName="belt" Format="ci8" Width="16" Height="16" Offset="0x2770" TlutOffset="0x21F0"/>
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
<Texture Name="gEnHeishiKingGuardTex_B40" Format="ci8" Width="16" Height="16" Offset="0x0B40" TlutOffset="0x0000"/> <!--Leg Armor?-->
|
||||
<Texture Name="gEnHeishiKingGuardHandTex" OutName="king_guard_hand" Format="ci8" Width="8" Height="8" Offset="0x0C40" TlutOffset="0x0000"/>
|
||||
<Texture Name="gEnHeishiKingGuardPantsTex" OutName="king_guard_pants" Format="ci8" Width="16" Height="16" Offset="0x0C80" TlutOffset="0x0000"/>
|
||||
|
||||
|
||||
<!--Normal Guard Textures-->
|
||||
<Texture Name="gHeishiTLUT" OutName="guard_tlut" Format="rgba16" Width="16" Height="16" Offset="0x5C40"/>
|
||||
<Texture Name="gEnHeishiMouthTex" OutName="mouth_tex" Format="ci8" Width="16" Height="16" Offset="0x5E40" TlutOffset="0x5C40"/>
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
<Limb Name="gSkullKidRightArmLimb" LimbType="Standard" Offset="0x5EEC"/>
|
||||
<!--<Limb Name="gSkullKidRightHandLimb" LimbType="Standard" Offset="0x5EF8"/> ZAPD doesnt extract this limb correctly for some reason-->
|
||||
<Skeleton Name="gSkullKidSkel" Type="Flex" LimbType="Standard" Offset="0x5F40"/>
|
||||
|
||||
|
||||
<!--Limb DLists-->
|
||||
<DList Name="gSkullKidLeftUpperLegDL" Offset="0x3B90"/>
|
||||
<DList Name="gSkullKidLeftLowerLegDL" Offset="0x3C88"/>
|
||||
|
@ -52,7 +52,7 @@
|
|||
<Animation Name="gSkullKidFightingStanceAnim" Offset="0x8374"/>
|
||||
<Animation Name="gSkullKidWaitAnim" Offset="0x8B9C"/>
|
||||
<Animation Name="gSkullKidWalkToPlayerAnim" Offset="0x8E14"/>
|
||||
|
||||
|
||||
<Texture Name="gSkullKidSkullMaskTex" OutName="skull_mask" Format="rgba16" Width="16" Height="16" Offset="0xF08"/>
|
||||
<Texture Name="gSkullKidSkullMaskTeethTex" OutName="skull_mask_teeth" Format="rgba16" Width="8" Height="8" Offset="0x1108"/>
|
||||
<Texture Name="gSkullKidSkullMaskNoseTex" OutName="skull_mask_nose" Format="rgba16" Width="8" Height="8" Offset="0x1188"/>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<Collision Name="gBrokenDrawbridgeCol" Offset="0x908"/>
|
||||
|
||||
<DList Name="gBarbedWireFenceDL" Offset="0x980"/>
|
||||
<Texture Name="gBarbedWireFenceTex" OutName="barbed_wire_fence" Format="rgba16" Width="32" Height="32" Offset="0x1620"/>
|
||||
<Texture Name="gBarbedWireFenceTex" OutName="barbed_wire_fence" Format="rgba16" Width="32" Height="32" Offset="0x1620"/>
|
||||
<Collision Name="gBarbedWireFenceCol" Offset="0xAF0"/>
|
||||
</File>
|
||||
</Root>
|
||||
|
|
|
@ -16,9 +16,9 @@
|
|||
<DList Name="gLakeHyliaZoraShortcutIceblockDL" Offset="0x1160"/>
|
||||
<Texture Name="gLakeHyliaZoraShortcutIceblockTex" OutName="zora_shortcut_iceblock" Format="rgba16" Width="16" Height="16" Offset="0x0F20"/>
|
||||
<Collision Name="gLakeHyliaZoraShortcutIceblockCol" Offset="0x1238"/>
|
||||
|
||||
|
||||
<!-- Lake Hylia Water Temple Key -->
|
||||
<DList Name="gLakeHyliaWaterTempleKeyDL" Offset="0x2490"/>
|
||||
<Texture Name="gLakeHyliaWaterTempleKeyTex" OutName="water_temple_key" Format="rgba16" Width="32" Height="64" Offset="0x1270"/>
|
||||
<Texture Name="gLakeHyliaWaterTempleKeyTex" OutName="water_temple_key" Format="rgba16" Width="32" Height="64" Offset="0x1270"/>
|
||||
</File>
|
||||
</Root>
|
||||
|
|
|
@ -15,13 +15,13 @@
|
|||
<Texture Name="gZorasFountainIceberg2TLUT" OutName="iceberg_tlut_2" Format="rgba16" Width="4" Height="4" Offset="0x1950"/>
|
||||
<Texture Name="gZorasFountainIcebergSideTex" OutName="iceberg_side" Format="ci4" Width="64" Height="64" Offset="0x1970" TlutOffset="0x1930"/>
|
||||
<Texture Name="gZorasFountainIcebergTopTex" OutName="iceberg_top" Format="ci4" Width="64" Height="64" Offset="0x2170" TlutOffset="0x1950"/>
|
||||
<Texture Name="gZorasFountainIcebergUndersideTex" OutName="iceberg_underside" Format="rgba16" Width="64" Height="8" Offset="0x3A00"/>
|
||||
<Texture Name="gZorasFountainIcebergUndersideTex" OutName="iceberg_underside" Format="rgba16" Width="64" Height="8" Offset="0x3A00"/>
|
||||
<Collision Name="gZorasFountainIcebergCol" Offset="0x2FD8"/>
|
||||
|
||||
<!-- Zora's Fountain Bombable Wall -->
|
||||
<DList Name="gZorasFountainBombableWallDL" Offset="0x3898"/>
|
||||
<Texture Name="gZorasFountainBombableWallTLUT" OutName="bombable_wall_tlut" Format="rgba16" Width="4" Height="4" Offset="0x3010"/>
|
||||
<Texture Name="gZorasFountainBombableWallTex" OutName="bombable_wall" Format="ci4" Width="128" Height="32" Offset="0x3038" TlutOffset="0x3010"/>
|
||||
<Collision Name="gZorasFountainBombableWallCol" Offset="0x39D4"/>
|
||||
<Collision Name="gZorasFountainBombableWallCol" Offset="0x39D4"/>
|
||||
</File>
|
||||
</Root>
|
||||
|
|
|
@ -6,6 +6,6 @@
|
|||
<DList Name="gDeathMountainRingDL" Offset="0x1470"/>
|
||||
<Texture Name="gDodongosCavernRockTex" OutName="rock_tex" Format="i4" Width="64" Height="64" Offset="0x0000"/>
|
||||
<Texture Name="gDeathMountainRingTex" OutName="smoke_ring" Format="ia16" Width="32" Height="32" Offset="0x0C30"/>
|
||||
|
||||
|
||||
</File>
|
||||
</Root>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<File Name="object_sst" Segment="6">
|
||||
<!-- Boss Title Card -->
|
||||
<Texture Name="gBongoTitleCardTex" OutName="bongo_title_card" Format="i8" Width="128" Height="120" Offset="0x13D80"/>
|
||||
|
||||
|
||||
<!-- Skeletons -->
|
||||
<Skeleton Name="gBongoLeftHandSkel" Type="Flex" LimbType="Standard" Offset="0x04DE0"/>
|
||||
<Skeleton Name="gBongoRightHandSkel" Type="Flex" LimbType="Standard" Offset="0x0A350"/>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<Texture Name="gWolfosWhiteTongueTex" OutName="wolfos_white_tongue" Format="rgba16" Width="8" Height="8" Offset="0x200"/>
|
||||
<Texture Name="gWolfosWhiteNostrilTex" OutName="wolfos_white_nostril" Format="rgba16" Width="8" Height="8" Offset="0x280"/>
|
||||
<Texture Name="gWolfosWhiteEyeOpenTex" OutName="wolfos_white_eye_open" Format="rgba16" Width="16" Height="16" Offset="0x300"/>
|
||||
|
||||
|
||||
<DList Name="gWolfosWhiteAbdomenDL" Offset="0x1A20"/>
|
||||
<DList Name="gWolfosWhiteBackRightThighDL" Offset="0x1AE8"/>
|
||||
<DList Name="gWolfosWhiteBackRightShinDL" Offset="0x1BD8"/>
|
||||
|
@ -21,10 +21,10 @@
|
|||
<DList Name="gWolfosWhiteFrontLeftLowerLegDL" Offset="0x2490"/>
|
||||
<DList Name="gWolfosWhiteFrontRightUpperLegDL" Offset="0x25A0"/>
|
||||
<DList Name="gWolfosWhiteFrontRightLowerLegDL" Offset="0x26C8"/>
|
||||
|
||||
|
||||
<Texture Name="gWolfosWhiteEyeHalfTex" OutName="wolfos_white_eye_half" Format="rgba16" Width="16" Height="16" Offset="0x27D8"/>
|
||||
<Texture Name="gWolfosWhiteEyeNarrowTex" OutName="wolfos_white_eye_narrow" Format="rgba16" Width="16" Height="16" Offset="0x29D8"/>
|
||||
|
||||
|
||||
<DList Name="gWolfosWhiteTailDL" Offset="0x3488"/>
|
||||
<DList Name="gWolfosWhiteFrontLeftClawDL" Offset="0x3528"/>
|
||||
<DList Name="gWolfosWhiteFrontRightClawDL" Offset="0x35F0"/>
|
||||
|
|
|
@ -96,7 +96,7 @@
|
|||
<Texture Name="gChildZelda1MouthFrowningTex" OutName="mouth_frowning" Format="ci8" Width="32" Height="32" Offset="0x9048" TlutOffset="0x6ED0"/>
|
||||
<Texture Name="gChildZelda1MouthOpenTex" OutName="mouth_open" Format="ci8" Width="32" Height="32" Offset="0xA448" TlutOffset="0x6ED0"/>
|
||||
<Texture Name="gChildZelda1MouthOpenSmilingTex" OutName="mouth_open_smiling" Format="ci8" Width="32" Height="32" Offset="0xAB48" TlutOffset="0x6ED0"/>
|
||||
|
||||
|
||||
<!-- Animations -->
|
||||
<Animation Name="gChildZelda1Anim_00438" Offset="0x00438"/>
|
||||
<Animation Name="gChildZelda1Anim_10B38" Offset="0x10B38"/>
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
<Texture Name="gChildZeldaMouthHappyTex" OutName="child_zelda_mouth_happy" Format="i8" Width="32" Height="32" Offset="0x4AF0"/>
|
||||
<Texture Name="gChildZeldaMouthWorriedTex" OutName="child_zelda_mouth_worried" Format="i8" Width="32" Height="32" Offset="0x4EF0"/>
|
||||
<Texture Name="gChildZeldaMouthSurprisedTex" OutName="child_zelda_mouth_surprised" Format="i8" Width="32" Height="32" Offset="0x52F0"/>
|
||||
|
||||
|
||||
<!-- Child Zelda's eye textures -->
|
||||
<Texture Name="gChildZeldaEyeOpenTex" OutName="child_zelda_eye_open" Format="i8" Width="32" Height="32" Offset="0x2AF0"/>
|
||||
<Texture Name="gChildZeldaEyeBlinkTex" OutName="child_zelda_eye_blink" Format="i8" Width="32" Height="32" Offset="0x2EF0"/>
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
<Root>
|
||||
<File Name="ovl_Bg_Ganon_Otyuka" BaseAddress="0x80875920" RangeStart="0x11C0" RangeEnd="0x259C">
|
||||
<Texture Name="sPlatformTex" OutName="platform_tex" Format="rgba16" Width="32" Height="32" Offset="0x11C0"/>
|
||||
|
||||
|
||||
<Array Name="sPlatformTopVtx" Count="4" Offset="0x19C8">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
<DList Name="sPlatformMaterialDL" Offset="0x1A08"/>
|
||||
<DList Name="sPlatformTopDL" Offset="0x1A90"/>
|
||||
|
||||
|
||||
<Array Name="sPlatformBottomVtx" Count="4" Offset="0x1AA8">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
|
@ -23,7 +23,7 @@
|
|||
<Vtx/>
|
||||
</Array>
|
||||
<DList Name="sFlashDL" Offset="0x23D8"/>
|
||||
|
||||
|
||||
<Collision Name="sCol" Offset="0x2570"/>
|
||||
</File>
|
||||
</Root>
|
||||
|
|
|
@ -5,6 +5,6 @@
|
|||
</Array>
|
||||
|
||||
<DList Name="sShadowDL" Offset="0x19C0"/>
|
||||
|
||||
|
||||
</File>
|
||||
</Root>
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
<Texture Name="gDorfLightning10Tex" OutName="lightning_10" Format="i8" Width="32" Height="96" Offset="0x18200" Static="Off"/>
|
||||
<Texture Name="gDorfLightning11Tex" OutName="lightning_11" Format="i8" Width="32" Height="96" Offset="0x18E00" Static="Off"/>
|
||||
<Texture Name="gDorfLightning12Tex" OutName="lightning_12" Format="i8" Width="32" Height="96" Offset="0x19A00" Static="Off"/>
|
||||
|
||||
|
||||
<Texture Name="gDorfWindowShatterTemplateTex" OutName="window_shatter_template" Format="ci8" Width="32" Height="64" Offset="0xFD38" Static="Off"/>
|
||||
|
||||
<DList Name="gDorfLightStreak1DL" Offset="0x1FCF0" Static="Off"/>
|
||||
|
|
|
@ -2,6 +2,6 @@
|
|||
<File Name="ovl_En_Bili" BaseAddress="0x809BF8A0" RangeStart="0x1E50" RangeEnd="0x1E70">
|
||||
<DList Name="D_809C16F0" Offset="0x1E50"/>
|
||||
<DList Name="D_809C1700" Offset="0x1E60"/>
|
||||
|
||||
|
||||
</File>
|
||||
</Root>
|
||||
|
|
|
@ -6,12 +6,12 @@
|
|||
<Texture Name="sNintendoLeftTex" OutName="nintendo_left" Format="ia8" Width="64" Height="48" Offset="0x2140"/>
|
||||
<Texture Name="sNintendoRightTex" OutName="nintendo_right" Format="ia8" Width="64" Height="48" Offset="0x2D40"/>
|
||||
<Texture Name="sPresentedByTex" OutName="presented_by" Format="ia8" Width="96" Height="16" Offset="0x3940"/>
|
||||
|
||||
|
||||
<Array Name="sTriforceVtx" Count="6" Offset="0x3F40">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
<DList Name="sTriforceDL" Offset="0x3FA0"/>
|
||||
|
||||
|
||||
<DList Name="sPresentedByNintendoDL" Offset="0x4000"/>
|
||||
</File>
|
||||
</Root>
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
<Texture Name="gDCLavaFloor6Tex" OutName="Lava_floor_6" Format="ci8" Width="32" Height="32" Offset="0x13B78"/>
|
||||
<Texture Name="gDCLavaFloor7Tex" OutName="Lava_floor_7" Format="ci8" Width="32" Height="32" Offset="0x12F78"/>
|
||||
<Texture Name="gDCLavaFloor8Tex" OutName="Lava_floor_8" Format="ci8" Width="32" Height="32" Offset="0x12B78"/>
|
||||
|
||||
|
||||
<Cutscene Name="gDcOpeningCs" Offset="0x14F80"/>
|
||||
<Scene Name="ddan_scene" Offset="0x0"/>
|
||||
</File>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<Root>
|
||||
<File Name="souko_scene" Segment="2">
|
||||
<Texture Name="gLonLonHouseDayEntranceTex" OutName="day_entrance" Format="ia16" Width="64" Height="4" Offset="0x5210"/>
|
||||
<Texture Name="gLonLonHouseNightEntranceTex" OutName="night_entrance" Format="ia16" Width="64" Height="4" Offset="0x5010"/>
|
||||
<Texture Name="gLonLonHouseDayEntranceTex" OutName="day_entrance" Format="ia16" Width="64" Height="4" Offset="0x5210"/>
|
||||
<Texture Name="gLonLonHouseNightEntranceTex" OutName="night_entrance" Format="ia16" Width="64" Height="4" Offset="0x5010"/>
|
||||
<Scene Name="souko_scene" Offset="0x0"/>
|
||||
</File>
|
||||
<File Name="souko_room_0" Segment="3">
|
||||
|
|
|
@ -4,9 +4,9 @@
|
|||
This project uses [Doxygen](https://www.doxygen.nl/index.html) to generate documentation pages from comments found in the source files. This guide focuses on writing compatible comments and ensuring consistency across the codebase.
|
||||
```diff
|
||||
- Note -
|
||||
As the codebase is constantly changing, only document what is complete, well-understood and not
|
||||
As the codebase is constantly changing, only document what is complete, well-understood and not
|
||||
already covered by good naming. This is especially true for function parameters and return values.
|
||||
Also note that there is no obligation to completing the documentation steps for functions you
|
||||
Also note that there is no obligation to completing the documentation steps for functions you
|
||||
work on if you do not want to at the time.
|
||||
```
|
||||
To generate a doxygen manual for the project, ensure you have doxygen installed and then cd into the project root directory and run `doxygen Doxyfile`.
|
||||
|
@ -97,4 +97,4 @@ For centered rendering on a separate line:
|
|||
/**
|
||||
* \f[ \textrm{Your LaTeX Here} \f]
|
||||
*/
|
||||
```
|
||||
```
|
||||
|
|
|
@ -60,8 +60,8 @@ The above is a rough ordering for the beginner. As you become more experienced,
|
|||
|
||||
Associated to each actor is a `.data` file, containing data that the actor uses. This ranges from spawn positions, to display lists, to even some cutscene data. Since the structure of the data is very inconsistent between actors, automatic importing has been very limited, so the vast majority must be done manually.
|
||||
|
||||
There are two ways of transfering the data into an actor: we can either
|
||||
- import it all naively as words (`s32`s), which will still allow it to compile, and sort out the actual types later, or
|
||||
There are two ways of transfering the data into an actor: we can either
|
||||
- import it all naively as words (`s32`s), which will still allow it to compile, and sort out the actual types later, or
|
||||
- we can extern each piece of data as we come across it, and come back to it later when we have a better idea of what it is.
|
||||
|
||||
We will concentrate on the second here; the other is covered in [the document about data](data.md). Thankfully this means we essentially don't have to do anything to the data yet. Nevertheless, it is often quite helpful to copy over at least some of the data and leave it commented out for later replacement. *Data must go in the same order as in the data file, and data is "all or nothing": you cannot only import some of it*.
|
||||
|
@ -93,7 +93,7 @@ from the main directory of the repository. In this case, the C file is `src/over
|
|||
|
||||
![Copying the context](images/ctx.png)
|
||||
|
||||
Now, open the file containing the assembly for `EnJj_Init`.
|
||||
Now, open the file containing the assembly for `EnJj_Init`.
|
||||
|
||||
![Copying the Init asm](images/init_asm.png)
|
||||
|
||||
|
@ -117,7 +117,7 @@ void EnJj_Init(EnJj *this, GlobalContext *globalCtx) {
|
|||
ActorShape_Init(&this->actor.shape, 0.0f, NULL, 0.0f);
|
||||
temp_v0 = this->actor.params;
|
||||
temp_a1 = this + 0x164;
|
||||
[...]
|
||||
[...]
|
||||
```
|
||||
|
||||
Typically for all buth the simplest functions, there is a lot that needs fixing before we are anywhere near seeing how close we are to the original code. You will notice that mips2c creates a lot of temporary variables. Usually most of these will turn out to not be real, and we need to remove the right ones to get the code to match.
|
||||
|
@ -217,7 +217,7 @@ void EnJj_Init(Actor *thisx, GlobalContext *globalCtx) {
|
|||
In the next sections, we shall sort out the various initialisation functions that occur in Init. There are several types, and one of the reasons we are using EnJj as the example is that it has several of the most common ones. A disadvantage of this actor is that it has an unusually complicated Init: we can see that it does three different things depending on the value of its params.
|
||||
|
||||
### Init chains
|
||||
|
||||
|
||||
Almost always, one of the first items in `Init` is a function that looks like
|
||||
|
||||
```C
|
||||
|
@ -324,7 +324,7 @@ this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this-
|
|||
Next, replace `(DynaPolyActor *) this` by `&this->dyna`. There's not a lot more we can do to the DynaPoly stuff right now, so just remove the casts to void and move on.
|
||||
|
||||
### Colliders
|
||||
|
||||
|
||||
The next common thing that actors have is colliders. Not every actor has these, but most do, even if they don't just use them for collision system purposes.
|
||||
|
||||
The relevant functions in this actor are
|
||||
|
@ -355,7 +355,7 @@ Collider_SetCylinder(globalCtx, &this->collider, &this->dyna.actor, &D_80A88CB4)
|
|||
|
||||
(You may prefer to just comment out temps initially, to keep track of where they were.)
|
||||
|
||||
The last thing we need to deal with is the last variable of `Collider_SetCylinder`, which is again data.
|
||||
The last thing we need to deal with is the last variable of `Collider_SetCylinder`, which is again data.
|
||||
|
||||
<!--Also again we have a script to translate the raw data. This one is called `colliderinit.py`, and lives in `tools/overlayhelpers`. It takes the VRAM address of the data and the type of collider (for more info on use, pass it `-h`). We find
|
||||
```
|
||||
|
@ -575,7 +575,7 @@ Unfortunately the others are not so easy to deal with. In order to find out what
|
|||
|
||||
```MIPS
|
||||
glabel func_80A87800
|
||||
/* 00000 80A87800 03E00008 */ jr $ra
|
||||
/* 00000 80A87800 03E00008 */ jr $ra
|
||||
/* 00004 80A87804 AC8502FC */ sw $a1, 0x02FC($a0) ## 000002FC
|
||||
```
|
||||
|
||||
|
@ -593,7 +593,7 @@ Put this between `struct EnJj;` and the actor struct in the header file. This al
|
|||
We have actually learnt three useful pieces of information from this, the other two being that the function above Init is simply
|
||||
```C
|
||||
void func_80A87800(EnJj* this, EnJjActionFunc actionFunc) {
|
||||
this->actionFunc = actionFunc;
|
||||
this->actionFunc = actionFunc;
|
||||
}
|
||||
```
|
||||
|
||||
|
@ -695,7 +695,7 @@ extern UNK_TYPE D_0600BA8C;
|
|||
|
||||
// #pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Jj/func_80A87800.s")
|
||||
void func_80A87800(EnJj* this, EnJjActionFunc actionFunc) {
|
||||
this->actionFunc = actionFunc;
|
||||
this->actionFunc = actionFunc;
|
||||
}
|
||||
|
||||
// #pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Jj/EnJj_Init.s")
|
||||
|
@ -904,7 +904,7 @@ except we still have some stack issues. Now that `temp_v0` is only used once, it
|
|||
void EnJj_Init(Actor* thisx, GlobalContext* globalCtx2) {
|
||||
GlobalContext* globalCtx = globalCtx2;
|
||||
EnJj* this = THIS;
|
||||
...
|
||||
...
|
||||
```
|
||||
|
||||
It turns out that this is enough to completely fix the diff:
|
||||
|
|
|
@ -12,29 +12,29 @@
|
|||
## Decompilation
|
||||
|
||||
- [Begining decompilation: order, Init and the actor struct](beginning_decomp.md)
|
||||
- Order of decompilation
|
||||
- Init and common actor features
|
||||
- Initchains
|
||||
- Actors and dynapoly actors
|
||||
- Colliders
|
||||
- Skelanime
|
||||
|
||||
- Matching
|
||||
- Using diff
|
||||
- control flow (branches) -> instruction ordering -> register allocation -> stack
|
||||
- Order of decompilation
|
||||
- Init and common actor features
|
||||
- Initchains
|
||||
- Actors and dynapoly actors
|
||||
- Colliders
|
||||
- Skelanime
|
||||
|
||||
- Matching
|
||||
- Using diff
|
||||
- control flow (branches) -> instruction ordering -> register allocation -> stack
|
||||
|
||||
- [The rest of the functions in the actor](other_functions.md)
|
||||
- Order of decompilation
|
||||
- Action Functions and other functions
|
||||
|
||||
- More on matching: the permuter
|
||||
- More on matching: the permuter
|
||||
|
||||
- [Draw functions](draw_functions.md)
|
||||
|
||||
- [Data, migration and non-migration](data.md)
|
||||
- Importing the data: early and late
|
||||
- Fake symbols
|
||||
- Inlining
|
||||
- Importing the data: early and late
|
||||
- Fake symbols
|
||||
- Inlining
|
||||
|
||||
## [Object Decompilation](object_decomp.md)
|
||||
- Object files
|
||||
|
@ -46,9 +46,9 @@
|
|||
|
||||
- [Preparing to merge](merging.md)
|
||||
- Preliminary documentation
|
||||
- Preparing to PR
|
||||
- Pull Requests
|
||||
- Trello
|
||||
- Preparing to PR
|
||||
- Pull Requests
|
||||
- Trello
|
||||
|
||||
## Appendices
|
||||
- [Types, Structs and Padding](types_structs_padding.md) (a miscellany of useful stuff)
|
||||
|
|
|
@ -10,8 +10,8 @@
|
|||
|
||||
Each actor's data is stored in a separate file. EnJj's data is in `data/overlays/actors/z_en_jj.data.s`, for example. At some point in the decompilation process we need to convert this raw data into recognisable information for the C to use.
|
||||
|
||||
There are two main ways to do this: either
|
||||
1. import the data first and type it later, or
|
||||
There are two main ways to do this: either
|
||||
1. import the data first and type it later, or
|
||||
2. wait until the data appears in functions, extern it, then import it at the end
|
||||
|
||||
Sometimes something between these two is appropriate: wait until the largest or strangest bits of data appear in functions, get some typing information out of that, and then import it, but for now, let's stick to both of these.
|
||||
|
@ -123,7 +123,7 @@ beginseg
|
|||
include "build/data/overlays/actors/z_en_tg.reloc.o"
|
||||
endseg
|
||||
```
|
||||
and comment out the .data line,
|
||||
and comment out the .data line,
|
||||
```
|
||||
beginseg
|
||||
name "ovl_En_Tg"
|
||||
|
@ -211,7 +211,7 @@ void func_80B1871C(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s*
|
|||
EnTg* this = THIS;
|
||||
|
||||
Vec3f sp18 = D_80B18968;
|
||||
|
||||
|
||||
if (limbIndex == 9) {
|
||||
Matrix_MultVec3f(&sp18, &this->actor.world2.pos);
|
||||
}
|
||||
|
|
|
@ -30,8 +30,8 @@ EnJj* this = THIS;
|
|||
in the declarations as before. From now on, the process is rather different from the decompilation process used for the other functions. Here is the output of mips2c after sorting out the actor struct from Init, and with the arguments set back to `Actor* thisx`:
|
||||
```C
|
||||
void EnJj_Draw(Actor *thisx, GlobalContext *globalCtx) {
|
||||
EnJj* this = THIS;
|
||||
|
||||
EnJj* this = THIS;
|
||||
|
||||
GraphicsContext *sp4C;
|
||||
Gfx *sp3C;
|
||||
EnJj *sp18;
|
||||
|
@ -166,7 +166,7 @@ Lastly, the penultimate and antepenultimate arguments of `SkelAnime_DrawFlexOpa`
|
|||
|
||||
For more examples of graphics macros and the structure of Draw functions, we look at a function from `EnDntNormal`, which is some Deku Scrubs used in the minigame stuff in Lost Woods. This has a good selection of macros, and two functions that are commonly combined with Draw, namely OverrideLimbDraw and PostLimbDraw.
|
||||
|
||||
The mips2c output for
|
||||
The mips2c output for
|
||||
|
||||
```C
|
||||
void func_809F5A6C(Actor *thisx, GlobalContext *globalCtx) {
|
||||
|
@ -289,7 +289,8 @@ static Color_RGBA8 D_809F5E4C[] = {
|
|||
{ 255, 255, 255, 255 }, { 255, 195, 175, 255 }, { 210, 255, 0, 255 },
|
||||
{ 255, 255, 255, 255 }, { 210, 255, 0, 255 }, { 255, 195, 175, 255 },
|
||||
{ 255, 255, 255, 255 }, { 255, 195, 175, 255 }, { 210, 255, 0, 255 },
|
||||
};```
|
||||
};
|
||||
```
|
||||
|
||||
Now, we have two things to worry about: how to implement the negative pointer access, and how the second word is built. Negative accesses can be done by just subtracting 1, so that
|
||||
```C
|
||||
|
@ -304,7 +305,7 @@ or rather, since it is a `Color_RGB8`,
|
|||
temp_v0_3->words.w1 = (temp_v1.b << 8) | (temp_v1.r << 0x18) | (temp_v1.g << 0x10) | 0xFF;
|
||||
```
|
||||
|
||||
The last thing to worry about is how to put this word into the macro. Let's think aboout what the word actually is in a concrete case; it is easiest to see what is going on in hex, so suppose we are in the case
|
||||
The last thing to worry about is how to put this word into the macro. Let's think about what the word actually is in a concrete case; it is easiest to see what is going on in hex, so suppose we are in the case
|
||||
```C
|
||||
temp_v1 = { 0xFF, 0xC3, 0xAF, 0xFF };
|
||||
```
|
||||
|
@ -465,7 +466,7 @@ s32 func_809F58E4(GlobalContext *globalCtx, s32 limbIndex, Gfx **dList, Vec3f *p
|
|||
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_en_dnt_nomal.c", 1733);
|
||||
gDPPipeSync(POLY_OPA_DISP++);
|
||||
gDPSetEnvColor(POLY_OPA_DISP++, D_809F5E4C[this->type - 1].r, D_809F5E4C[this->type - 1].g, D_809F5E4C[this->type - 1].b, 255);
|
||||
CLOSE_DISPS(globalCtx->state.gfxCtx, (const char*)"../z_en_dnt_nomal.c", 1743);
|
||||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_dnt_nomal.c", 1743);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -66,7 +66,7 @@ Suggestions are saved in the function directory it imported the function into.
|
|||
|
||||
## first_diff
|
||||
|
||||
Tells you where your built rom first differs from the baserom. It gives you a memory address that you can use to do, e.g. a binary diff, and also tries too find what function or data this address is in. Run with
|
||||
Tells you where your built rom first differs from the baserom. It gives you a memory address that you can use to do, e.g. a binary diff, and also tries too find what function or data this address is in. Run with
|
||||
```C
|
||||
./first_diff.py
|
||||
```
|
||||
|
|
|
@ -6,9 +6,9 @@ In this project, we are decompiling The Legend of Zelda: Ocarina of Time. This m
|
|||
glabel func_80A13098
|
||||
/* 00028 80A13098 8482001C */ lh $v0, 0x001C($a0) ## 0000001C
|
||||
/* 0002C 80A1309C 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
|
||||
/* 00030 80A130A0 14410003 */ bne $v0, $at, .L80A130B0
|
||||
/* 00030 80A130A0 14410003 */ bne $v0, $at, .L80A130B0
|
||||
/* 00034 80A130A4 244EFFFE */ addiu $t6, $v0, 0xFFFE ## $t6 = FFFFFFFE
|
||||
/* 00038 80A130A8 10000002 */ beq $zero, $zero, .L80A130B4
|
||||
/* 00038 80A130A8 10000002 */ beq $zero, $zero, .L80A130B4
|
||||
/* 0003C 80A130AC A480001C */ sh $zero, 0x001C($a0) ## 0000001C
|
||||
.L80A130B0:
|
||||
/* 00040 80A130B0 A48E001C */ sh $t6, 0x001C($a0) ## 0000001C
|
||||
|
@ -19,7 +19,7 @@ glabel func_80A13098
|
|||
/* 00050 80A130C0 A1E20004 */ sb $v0, 0x0004($t7) ## 00000004
|
||||
/* 00054 80A130C4 A08201B8 */ sb $v0, 0x01B8($a0) ## 000001B8
|
||||
/* 00058 80A130C8 A08201B9 */ sb $v0, 0x01B9($a0) ## 000001B9
|
||||
/* 0005C 80A130CC 03E00008 */ jr $ra
|
||||
/* 0005C 80A130CC 03E00008 */ jr $ra
|
||||
/* 00060 80A130D0 A0980117 */ sb $t8, 0x0117($a0) ## 00000117
|
||||
```
|
||||
|
||||
|
@ -62,13 +62,13 @@ A lot of work has already been done on the code to bring it into a format that i
|
|||
|
||||
An *actor* is any thing in the game that moves or performs actions or interactions: Link is an actor, enemies are actors, NPCs are actors, props like grass are actors (Fishing is also an actor, the largest one, but you don't need to know about it). The vast majority of actors are *overlays*, which means they are loaded only when the game needs them.
|
||||
|
||||
In the code, each actor is associated to several files: there is
|
||||
In the code, each actor is associated to several files: there is
|
||||
- the main .c file, e.g. `src/overlays/actors/ovl_En_Firefly/z_en_firefly.c`
|
||||
- the actor's Header file, e.g. `src/overlays/actors/ovl_En_Firefly/z_en_firefly.h`
|
||||
- various .o files that tell the `make` script how to incorporate it into building the ROM,
|
||||
- various .o files that tell the `make` script how to incorporate it into building the ROM,
|
||||
|
||||
and then for undecompiled actors, various assembly (.s) files, generally including:
|
||||
and then for undecompiled actors, various assembly (.s) files, generally including:
|
||||
- one for the actor's *data* (this usually includes things like its collision information about how to draw it, and various other stuff that is used in it), e.g. `data/overlays/actors/z_en_firefly.data.s`
|
||||
- one for each function in the actor, e.g. `asm/non_matchings/overlays/actors/ovl_En_Firefly/func_80A13098.s`
|
||||
|
||||
The basic process of decomp is to take one of the .s files, run it through a decompilation program (mips_to_c) that reads the ASM very literally, and then, through humen ingenuity, reshape it into code that not only compiles in the first place, but completely matches the original code (well-written or otherwise).
|
||||
The basic process of decomp is to take one of the .s files, run it through a decompilation program (mips_to_c) that reads the ASM very literally, and then, through humen ingenuity, reshape it into code that not only compiles in the first place, but completely matches the original code (well-written or otherwise).
|
||||
|
|
|
@ -89,7 +89,7 @@ There is no need to wait for your PR to be approved and committed before working
|
|||
## Trello
|
||||
|
||||
It's helpful to use the labels on Trello.
|
||||
- RESERVED is obvious.
|
||||
- RESERVED is obvious.
|
||||
- Work in Progress is for when you're actively working on something
|
||||
- Matched for when it is totally decompiled and matching
|
||||
- Documented if at least everything is named and odd code is commented. We'll likely wipe these and start over when proper documentation begins.
|
||||
|
|
|
@ -164,7 +164,7 @@ If you'd rather not have it tell you about the checksum, you can run `make COMPA
|
|||
|
||||
---
|
||||
|
||||
To revert to the original texture, you can just run `extract_assets.py -s` on the object again.
|
||||
To revert to the original texture, you can just run `extract_assets.py -s` on the object again.
|
||||
|
||||
N.B. doing this will overwrite every custom texture, as will running `make setup`.
|
||||
|
||||
|
|
|
@ -13,15 +13,15 @@ Following the scheme we gave last time, we have three options:
|
|||
Another option is to look at `Destroy`, which for smaller actors can often be done straight after Init, since it usually just removes colliders and deallocates dynapoly. However, glancing at the three given functions' assembly, there is an obvious standout:
|
||||
```MIPS
|
||||
glabel func_80A87F44
|
||||
/* 00744 80A87F44 AFA40000 */ sw $a0, 0x0000($sp)
|
||||
/* 00748 80A87F48 03E00008 */ jr $ra
|
||||
/* 0074C 80A87F4C AFA50004 */ sw $a1, 0x0004($sp)
|
||||
/* 00744 80A87F44 AFA40000 */ sw $a0, 0x0000($sp)
|
||||
/* 00748 80A87F48 03E00008 */ jr $ra
|
||||
/* 0074C 80A87F4C AFA50004 */ sw $a1, 0x0004($sp)
|
||||
|
||||
```
|
||||
This is a classic "function with two arguments that does nothing". So we can simply comment out the appropriate pragma and put
|
||||
```C
|
||||
void func_80A87F44(Actor* thisx, GlobalContext* globalCtx) {
|
||||
|
||||
|
||||
}
|
||||
```
|
||||
in the C file.
|
||||
|
@ -190,7 +190,7 @@ To use the permuter, clone the decomp-permuter repo from the link given in Disco
|
|||
|
||||
It will put it in a subdirectory of `nonmatchings`. You then run
|
||||
```sh
|
||||
./permuter.py nonmatchings/<function_name>/
|
||||
./permuter.py nonmatchings/<function_name>/
|
||||
```
|
||||
to produce suggestions. There are various arguments that can be used, of which the most important initially is `-j`: `-jN` tells it to use `N` CPU threads.
|
||||
|
||||
|
@ -217,7 +217,7 @@ The first suggestion looks plausible:
|
|||
- func_8003EBF8(globalCtx, &globalCtx->colCtx.dyna, this->childActor->bgId);
|
||||
+ func_8003EBF8(globalCtx, &globalCtx->colCtx.dyna, new_var->bgId);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
|
@ -285,7 +285,7 @@ void func_80A87C30(EnJj *this, GlobalContext *globalCtx) {
|
|||
}
|
||||
```
|
||||
|
||||
There are three things left to do to this function:
|
||||
There are three things left to do to this function:
|
||||
- prototype the new action function, `func_80A87CEC`. This one is used before its definition, so needs to be prototyped at the top of the file.
|
||||
- extern `D_80A88CF0`, and since the arguments of `Math_Vec3f_DistXZ` are `Vec3f`s, convert it to floats. To do float conversion, either use an online converter, or get an extension for VSCode that can do it. The data becomes
|
||||
```C
|
||||
|
@ -698,7 +698,7 @@ void func_80A87D94(EnJj *this, GlobalContext *globalCtx) {
|
|||
|
||||
At the top we have
|
||||
```C
|
||||
temp_v0 = *globalCtx->unk1D94;
|
||||
temp_v0 = *globalCtx->unk1D94;
|
||||
if (temp_v0 != 1) {
|
||||
if (temp_v0 != 2) {
|
||||
if (temp_v0 != 3) {
|
||||
|
@ -721,18 +721,18 @@ void func_80A87D94(EnJj *this, GlobalContext *globalCtx) {
|
|||
|
||||
switch (globalCtx->csCtx.npcActions[2]->action) {
|
||||
case 1:
|
||||
temp_v1_3 = this->unk_30A;
|
||||
phi_v1 = temp_v1_3;
|
||||
if ((temp_v1_3 & 2) != 0) {
|
||||
this->unk_30E = 0;
|
||||
this->unk_30F = Rand_S16Offset((u16)0x14, (u16)0x14);
|
||||
this->unk_310 = 0;
|
||||
temp_t9 = this->unk_30A ^ 2;
|
||||
this->unk_311 = 0;
|
||||
this->unk_30A = temp_t9;
|
||||
phi_v1 = temp_t9 & 0xFFFF;
|
||||
}
|
||||
break;
|
||||
temp_v1_3 = this->unk_30A;
|
||||
phi_v1 = temp_v1_3;
|
||||
if ((temp_v1_3 & 2) != 0) {
|
||||
this->unk_30E = 0;
|
||||
this->unk_30F = Rand_S16Offset((u16)0x14, (u16)0x14);
|
||||
this->unk_310 = 0;
|
||||
temp_t9 = this->unk_30A ^ 2;
|
||||
this->unk_311 = 0;
|
||||
this->unk_30A = temp_t9;
|
||||
phi_v1 = temp_t9 & 0xFFFF;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
temp_t1 = this->unk_30A | 1;
|
||||
temp_v1_2 = temp_t1 & 0xFFFF;
|
||||
|
@ -744,23 +744,23 @@ void func_80A87D94(EnJj *this, GlobalContext *globalCtx) {
|
|||
this->unk_30A = temp_t4;
|
||||
phi_v1 = temp_t4 & 0xFFFF;
|
||||
}
|
||||
break;
|
||||
break;
|
||||
case 3:
|
||||
temp_v1 = this->unk_30A;
|
||||
temp_t7 = temp_v1 | 2;
|
||||
phi_v1 = temp_v1;
|
||||
if ((temp_v1 & 2) == 0) {
|
||||
this->unk_30E = 0;
|
||||
this->unk_30F = 0;
|
||||
this->unk_310 = 1;
|
||||
this->unk_311 = 0;
|
||||
this->unk_30A = temp_t7;
|
||||
phi_v1 = temp_t7 & 0xFFFF;
|
||||
}
|
||||
break;
|
||||
temp_v1 = this->unk_30A;
|
||||
temp_t7 = temp_v1 | 2;
|
||||
phi_v1 = temp_v1;
|
||||
if ((temp_v1 & 2) == 0) {
|
||||
this->unk_30E = 0;
|
||||
this->unk_30F = 0;
|
||||
this->unk_310 = 1;
|
||||
this->unk_311 = 0;
|
||||
this->unk_30A = temp_t7;
|
||||
phi_v1 = temp_t7 & 0xFFFF;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
phi_v1 = this->unk_30A;
|
||||
break;
|
||||
phi_v1 = this->unk_30A;
|
||||
break;
|
||||
}
|
||||
if ((phi_v1 & 1) != 0) {
|
||||
Audio_PlayActorSound2((Actor *) this, (u16)0x206DU);
|
||||
|
@ -780,7 +780,7 @@ As usual, most of the remaining temps look fake. The only one that does not is p
|
|||
|
||||
<details>
|
||||
<summary>
|
||||
Matching C for `func_80A87D94`
|
||||
Matching C for `func_80A87D94`
|
||||
</summary>
|
||||
|
||||
```C
|
||||
|
|
|
@ -28,4 +28,4 @@ Since actors cover so many different categories of stuff in the game, they come
|
|||
|
||||
The general rule of thumb is to pick something with few, simple interactions with its environment. (For example, my first actor was BgIceTurara: icicles, which can do about 3 different things: break, fall, and grow.) This hopefully means that the functions are mostly small and simple. You are also probably better off if Draw and Init are small functions, although difficulty is sometimes not correlated to size.
|
||||
|
||||
If in doubt, ask someone to have a quick look through the code to see if it's suitable.
|
||||
If in doubt, ask someone to have a quick look through the code to see if it's suitable.
|
||||
|
|
|
@ -14,7 +14,7 @@ The following are the common data types used everywhere:
|
|||
| char | 1 byte | character |
|
||||
| u8 | 1 byte | unsigned byte |
|
||||
| s8 | 1 byte | signed byte |
|
||||
| u16 | 2 bytes | unsigned short |
|
||||
| u16 | 2 bytes | unsigned short |
|
||||
| s16 | 2 bytes | signed short |
|
||||
| u32 | 4 bytes/1 word | unsigned int |
|
||||
| s32 | 4 bytes/1 word | signed int |
|
||||
|
@ -43,8 +43,8 @@ Here are the usual names and the sizes of some of the most common structs used i
|
|||
| ----------------------- | --------------------- | --------------- |
|
||||
| `Actor` | `actor` | 0x14C |
|
||||
| `DynaPolyActor` | `dyna` | 0x164 |
|
||||
| `Vec3f` | | 0xC |
|
||||
| `Vec3s` | | 0x6 |
|
||||
| `Vec3f` | | 0xC |
|
||||
| `Vec3s` | | 0x6 |
|
||||
| `SkelAnime` | `skelAnime` | 0x44 |
|
||||
| `Vec3s[limbCount]` | `jointTable` | 0x6 * limbCount |
|
||||
| `Vec3s[limbCount]` | `morphTable` | 0x6 * limbCount |
|
||||
|
|
|
@ -21,7 +21,7 @@ def ExtractFile(xmlPath, outputPath, outputSourcePath):
|
|||
|
||||
if "overlays" in xmlPath:
|
||||
execStr += " --static"
|
||||
|
||||
|
||||
if globalUnaccounted:
|
||||
execStr += " -Wunaccounted"
|
||||
|
||||
|
|
|
@ -1576,7 +1576,7 @@ def ExtractFunc(i):
|
|||
else: # compressed
|
||||
compressed = True
|
||||
size = physEnd - physStart
|
||||
|
||||
|
||||
print('extracting ' + filename + " (0x%08X, 0x%08X)" % (virtStart, virtEnd))
|
||||
write_output_file(filename, physStart, size)
|
||||
if compressed:
|
||||
|
|
|
@ -90,9 +90,9 @@ def search_rom_address(target_addr):
|
|||
continue
|
||||
|
||||
ram = int(line[16 : 16 + 18], 0)
|
||||
rom = ram - ram_offset
|
||||
rom = ram - ram_offset
|
||||
sym = line.split()[-1]
|
||||
|
||||
|
||||
if sym.startswith("0x"):
|
||||
ram_offset = None
|
||||
continue
|
||||
|
|
|
@ -7,9 +7,9 @@ COMPILER_OPTS="-fno-builtin -std=gnu90 -Iinclude -Isrc -D_LANGUAGE_C -DNON_MATCH
|
|||
|
||||
# https://backreference.org/2010/05/23/sanitizing-files-with-no-trailing-newline/index.html
|
||||
# "gets the last character of the file pipes it into read, which will exit with
|
||||
# a nonzero exit code if it encounters EOF before newline (so, if the last
|
||||
# a nonzero exit code if it encounters EOF before newline (so, if the last
|
||||
# character of the file isn't a newline). If read exits nonzero, then append a
|
||||
# newline onto the file using echo (if read exits 0, that satisfies the ||, so
|
||||
# newline onto the file using echo (if read exits 0, that satisfies the ||, so
|
||||
# the echo command isn't run)." (https://stackoverflow.com/a/34865616)
|
||||
function add_final_newline () {
|
||||
for file in "$@"
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
|
||||
/*
|
||||
* Colors
|
||||
*/
|
||||
*/
|
||||
|
||||
#define COLOR_STR(N) EXPAND_AND_STRINGIFY(GLUE(\x4, N))
|
||||
|
||||
|
@ -74,7 +74,7 @@
|
|||
|
||||
#define ARG(x) x
|
||||
|
||||
// while a control character, newlines are handled in the charmap conversion
|
||||
// while a control character, newlines are handled in the charmap conversion
|
||||
// stage to allow normal newline \n usage in message_data_static files
|
||||
#define NEWLINE STR(CTRL_NEWLINE)
|
||||
#define END STR(CTRL_END)
|
||||
|
|
|
@ -31,7 +31,7 @@ typedef struct {
|
|||
const char* segment;
|
||||
} MessageTableEntry;
|
||||
|
||||
/*
|
||||
/*
|
||||
* Message Symbol Declarations
|
||||
*/
|
||||
|
||||
|
|
|
@ -102,7 +102,7 @@ typedef struct {
|
|||
} OSPifRam; // size = 0x40
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u16 type;
|
||||
/* 0x00 */ u16 type;
|
||||
/* 0x02 */ u8 status;
|
||||
/* 0x03 */ u8 errno;
|
||||
} OSContStatus; // size = 0x04
|
||||
|
|
|
@ -12,10 +12,10 @@
|
|||
|
||||
/*
|
||||
* the SHIFT macros are used to build display list commands, inserting
|
||||
* bit-fields into a 32-bit word. They take a value, a shift amount,
|
||||
* bit-fields into a 32-bit word. They take a value, a shift amount,
|
||||
* and a width.
|
||||
*
|
||||
* For the left shift, the lower bits of the value are masked,
|
||||
* For the left shift, the lower bits of the value are masked,
|
||||
* then shifted left.
|
||||
*
|
||||
* For the right shift, the value is shifted right, then the lower bits
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
#define PFS_ERR_NOPACK 1 /* no memory card is plugged or */
|
||||
#define PFS_ERR_NEW_PACK 2 /* ram pack has been changed to a different one */
|
||||
#define PFS_ERR_INCONSISTENT 3 /* need to run Pfschecker*/
|
||||
#define PFS_ERR_CONTRFAIL CONT_OVERRUN_ERROR
|
||||
#define PFS_ERR_CONTRFAIL CONT_OVERRUN_ERROR
|
||||
#define PFS_ERR_INVALID 5 /* invalid parameter or file not exist*/
|
||||
#define PFS_ERR_BAD_DATA 6 /* the data read from pack are bad*/
|
||||
#define PFS_DATA_FULL 7 /* no free pages on ram pack*/
|
||||
|
|
|
@ -294,7 +294,7 @@
|
|||
#define CACHERR_PIDX_MASK 0x00000007 // primary cache index
|
||||
#define CACHERR_PIDX_SHIFT 12 // bits 2..0 are paddr14..12
|
||||
|
||||
/*
|
||||
/*
|
||||
* R4000 family supports hardware watchpoints:
|
||||
* C0_WATCHLO:
|
||||
* bits 31..3 are bits 31..3 of physaddr to watch
|
||||
|
@ -337,7 +337,7 @@
|
|||
#define C0_TAGHI C_REG(29) // cache operations
|
||||
#define C0_ERROR_EPC C_REG(30) // ECC error prg. counter
|
||||
|
||||
// floating-point status register
|
||||
// floating-point status register
|
||||
#define C1_FPCSR C_REG(31)
|
||||
|
||||
#define FPCSR_FS 0x01000000 // flush denorm to zero
|
||||
|
|
|
@ -509,9 +509,9 @@ typedef enum {
|
|||
/* 4 */ TEXT_STATE_CHOICE,
|
||||
/* 5 */ TEXT_STATE_EVENT,
|
||||
/* 6 */ TEXT_STATE_DONE,
|
||||
/* 7 */ TEXT_STATE_SONG_DEMO_DONE,
|
||||
/* 8 */ TEXT_STATE_8,
|
||||
/* 9 */ TEXT_STATE_9,
|
||||
/* 7 */ TEXT_STATE_SONG_DEMO_DONE,
|
||||
/* 8 */ TEXT_STATE_8,
|
||||
/* 9 */ TEXT_STATE_9,
|
||||
/* 10 */ TEXT_STATE_AWAITING_NEXT
|
||||
} TextState;
|
||||
|
||||
|
|
|
@ -25,9 +25,9 @@ typedef enum {
|
|||
/* 5 */ ANIMMODE_LOOP_PARTIAL_INTERP
|
||||
} AnimationModes;
|
||||
|
||||
typedef enum {
|
||||
/* -1 */ ANIMTAPER_DECEL = -1,
|
||||
/* 0 */ ANIMTAPER_NONE,
|
||||
typedef enum {
|
||||
/* -1 */ ANIMTAPER_DECEL = -1,
|
||||
/* 0 */ ANIMTAPER_NONE,
|
||||
/* 1 */ ANIMTAPER_ACCEL
|
||||
} AnimationTapers;
|
||||
|
||||
|
@ -65,7 +65,7 @@ typedef struct {
|
|||
/* 0x08 */ u8 dListCount;
|
||||
} FlexSkeletonHeader; // size = 0xC
|
||||
|
||||
// Index into the frame data table.
|
||||
// Index into the frame data table.
|
||||
typedef struct {
|
||||
/* 0x00 */ u16 x;
|
||||
/* 0x02 */ u16 y;
|
||||
|
|
|
@ -55,7 +55,7 @@ typedef enum {
|
|||
/* 0x1E */ CAM_SET_CRAWLSPACE, // Used in all crawlspaces "RAIL3"
|
||||
/* 0x1F */ CAM_SET_START0, // Data is given in Temple of Time, but no surface uses it
|
||||
/* 0x20 */ CAM_SET_START1, // Scene/room door transitions that snap the camera to a fixed location (example: ganon's towers doors climbing up)
|
||||
/* 0x21 */ CAM_SET_FREE0, // Full manual control is given over the camera
|
||||
/* 0x21 */ CAM_SET_FREE0, // Full manual control is given over the camera
|
||||
/* 0x22 */ CAM_SET_FREE2, // Various OnePoint Cutscenes, 10 total (example: falling chest)
|
||||
/* 0x23 */ CAM_SET_PIVOT_CORNER, // Inside the carpenter jail cells from theives hideout "CIRCLE4"
|
||||
/* 0x24 */ CAM_SET_PIVOT_WATER_SURFACE, // Player diving from the surface of the water to underwater "CIRCLE5"
|
||||
|
@ -391,7 +391,6 @@ typedef struct {
|
|||
{ groundAtLerpStepScale, CAM_DATA_GROUND_AT_LERP_STEP_SCALE }
|
||||
|
||||
typedef struct {
|
||||
|
||||
/* 0x00 */ SwingAnimation swing;
|
||||
/* 0x1C */ f32 unk_1C;
|
||||
/* 0x20 */ VecSph unk_20;
|
||||
|
@ -403,7 +402,7 @@ typedef struct {
|
|||
/* 0x08 */ f32 distMax;
|
||||
/* 0x0C */ f32 yawUpateRateTarget;
|
||||
/* 0x10 */ f32 maxYawUpdate;
|
||||
/* 0x14 */ f32 unk_14; // never used.
|
||||
/* 0x14 */ f32 unk_14; // never used.
|
||||
/* 0x18 */ f32 atLERPScaleMax;
|
||||
/* 0x1C */ s16 interfaceFlags;
|
||||
/* 0x20 */ Jump1Anim anim;
|
||||
|
@ -954,7 +953,7 @@ typedef struct {
|
|||
* 0x2: Add atTargetInit to view's lookAt
|
||||
* if initFlags & 0x6060: use world for focus point
|
||||
* 0x3: Add atTargetInit to camera's at
|
||||
* 0x4: Don't update targets?
|
||||
* 0x4: Don't update targets?
|
||||
* 0x8: flag to use atTagetInit as f32 pitch, yaw, r
|
||||
* 0x10: ? unused
|
||||
* 0x20: focus on player
|
||||
|
@ -1033,7 +1032,7 @@ typedef struct {
|
|||
typedef struct {
|
||||
/* 0x0 */ s16 interfaceFlags;
|
||||
/* 0x2 */ s16 unk_02;
|
||||
/* 0x4 */ Demo6Anim anim;
|
||||
/* 0x4 */ Demo6Anim anim;
|
||||
} Demo6; // size = 0x14
|
||||
|
||||
typedef struct {
|
||||
|
|
|
@ -14,7 +14,7 @@ typedef struct {
|
|||
/* 0x04 */ struct Actor* at; // Actor attached to what it collided with as an AT collider.
|
||||
/* 0x08 */ struct Actor* ac; // Actor attached to what it collided with as an AC collider.
|
||||
/* 0x0C */ struct Actor* oc; // Actor attached to what it collided with as an OC collider.
|
||||
/* 0x10 */ u8 atFlags; // Information flags for AT collisions.
|
||||
/* 0x10 */ u8 atFlags; // Information flags for AT collisions.
|
||||
/* 0x11 */ u8 acFlags; // Information flags for AC collisions.
|
||||
/* 0x12 */ u8 ocFlags1; // Information flags for OC collisions.
|
||||
/* 0x13 */ u8 ocFlags2; // Flags related to which colliders it can OC collide with.
|
||||
|
@ -24,7 +24,7 @@ typedef struct {
|
|||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 colType; // Determines hitmarks and sound effects during AC collisions.
|
||||
/* 0x01 */ u8 atFlags; // Information flags for AT collisions.
|
||||
/* 0x01 */ u8 atFlags; // Information flags for AT collisions.
|
||||
/* 0x02 */ u8 acFlags; // Information flags for OC collisions.
|
||||
/* 0x03 */ u8 ocFlags1; // Information flags for OC collisions.
|
||||
/* 0x04 */ u8 ocFlags2; // Flags related to which colliders it can OC collide with.
|
||||
|
@ -33,7 +33,7 @@ typedef struct {
|
|||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 colType; // Determines hitmarks and sound effects during AC collisions.
|
||||
/* 0x01 */ u8 atFlags; // Information flags for AT collisions.
|
||||
/* 0x01 */ u8 atFlags; // Information flags for AT collisions.
|
||||
/* 0x02 */ u8 acFlags; // Information flags for AC collisions.
|
||||
/* 0x03 */ u8 ocFlags1; // Information flags for OC collisions.
|
||||
/* 0x04 */ u8 shape; // JntSph, Cylinder, Tris, or Quad
|
||||
|
@ -258,7 +258,7 @@ typedef enum {
|
|||
/**
|
||||
* Affects the sound Link's sword makes when hitting it, hookability,
|
||||
* and possibly other things. It's definitely not flags, as all checks
|
||||
* are == or !=. Will probably need more actors decomped to truly
|
||||
* are == or !=. Will probably need more actors decomped to truly
|
||||
* understand what this is.
|
||||
*/
|
||||
typedef enum {
|
||||
|
@ -343,7 +343,7 @@ typedef enum {
|
|||
|
||||
#define DMG_ENTRY(damage, effect) ((damage) | ((effect) << 4))
|
||||
|
||||
// These flags are not to be used in code until we figure out how we want to format them. They are only here for reference
|
||||
// These flags are not to be used in code until we figure out how we want to format them. They are only here for reference
|
||||
#define DMG_DEKU_NUT (1 << 0x00)
|
||||
#define DMG_DEKU_STICK (1 << 0x01)
|
||||
#define DMG_SLINGSHOT (1 << 0x02)
|
||||
|
|
|
@ -139,14 +139,14 @@ typedef enum {
|
|||
|
||||
/**
|
||||
* Special type for blocks of cutscene data, asm-processor checks
|
||||
* arrays for CutsceneData type and converts floats within the array
|
||||
* to their IEEE-754 representation. The array must close with };
|
||||
* arrays for CutsceneData type and converts floats within the array
|
||||
* to their IEEE-754 representation. The array must close with };
|
||||
* on its own line.
|
||||
*
|
||||
*
|
||||
* Files that contain this type that are included in other C files
|
||||
* must include an 'EARLY' qualifier to inform asm-processor that it
|
||||
* must recursively process that include.
|
||||
*
|
||||
*
|
||||
* Example: #include "file.c" EARLY
|
||||
*/
|
||||
typedef union CutsceneData {
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
|
||||
/**
|
||||
* ARGS
|
||||
* s8 continueFlag (c), s8 roll (r), s16 frame (f), f32 viewAngle (a),
|
||||
* s8 continueFlag (c), s8 roll (r), s16 frame (f), f32 viewAngle (a),
|
||||
* s16 xPos (x), s16 yPos (y), s16 zPos (z)
|
||||
* FORMAT
|
||||
* Capital U is Unused
|
||||
|
@ -56,7 +56,7 @@
|
|||
|
||||
/**
|
||||
* ARGS
|
||||
* s8 continueFlag (c), s8 roll (r), s16 frame (f), f32 viewAngle (a),
|
||||
* s8 continueFlag (c), s8 roll (r), s16 frame (f), f32 viewAngle (a),
|
||||
* s16 xPos (x), s16 yPos (y), s16 zPos (z)
|
||||
* FORMAT
|
||||
* Capital U is Unused
|
||||
|
@ -103,7 +103,7 @@
|
|||
* s16 setting (m), s16 startFrame (s), s16 endFrame (e)
|
||||
* FORMAT
|
||||
* Capital U is Unused
|
||||
* mmmmssss eeeeUUUU UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU 00000000 00000000 00000000
|
||||
* mmmmssss eeeeUUUU UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU 00000000 00000000 00000000
|
||||
* size = 0x30
|
||||
*/
|
||||
#define CS_LIGHTING(setting, startFrame, endFrame, unused0, unused1, unused2, unused3, unused4, unused5, unused6, unused7) \
|
||||
|
@ -125,7 +125,7 @@
|
|||
|
||||
/**
|
||||
* ARGS
|
||||
* s8 continueFlag (c), s8 roll (r), s16 frame (f), f32 viewAngle (a),
|
||||
* s8 continueFlag (c), s8 roll (r), s16 frame (f), f32 viewAngle (a),
|
||||
* s16 xPos (x), s16 yPos (y), s16 zPos (z)
|
||||
* FORMAT
|
||||
* Capital U is Unused
|
||||
|
@ -149,7 +149,7 @@
|
|||
CS_CMD_CAM_AT_REL_TO_PLAYER, CMD_HH(0x0001, startFrame), CMD_HH(endFrame, 0x0000)
|
||||
/**
|
||||
* ARGS
|
||||
* s8 continueFlag (c), s8 roll (r), s16 frame (f), f32 viewAngle (a),
|
||||
* s8 continueFlag (c), s8 roll (r), s16 frame (f), f32 viewAngle (a),
|
||||
* s16 xPos (x), s16 yPos (y), s16 zPos (z)
|
||||
* FORMAT
|
||||
* Capital U is Unused
|
||||
|
@ -173,7 +173,7 @@
|
|||
|
||||
/**
|
||||
* ARGS
|
||||
* s8 continueFlag (c), s8 roll (r), s16 frame (f), f32 viewAngle (a),
|
||||
* s8 continueFlag (c), s8 roll (r), s16 frame (f), f32 viewAngle (a),
|
||||
* s16 xPos (x), s16 yPos (y), s16 zPos (z)
|
||||
* FORMAT
|
||||
* Capital U is Unused
|
||||
|
@ -196,7 +196,7 @@
|
|||
|
||||
/**
|
||||
* ARGS
|
||||
* s8 continueFlag (c), s8 roll (r), s16 frame (f), f32 viewAngle (a),
|
||||
* s8 continueFlag (c), s8 roll (r), s16 frame (f), f32 viewAngle (a),
|
||||
* s16 xPos (x), s16 yPos (y), s16 zPos (z)
|
||||
* FORMAT
|
||||
* Capital U is Unused
|
||||
|
@ -237,7 +237,7 @@
|
|||
|
||||
/**
|
||||
* ARGS
|
||||
* s32 unk1 (a), s32 unk2 (b), s32 unk3 (c), s32 unk4 (d), s32 unk5 (e), s32 unk6 (f),
|
||||
* s32 unk1 (a), s32 unk2 (b), s32 unk3 (c), s32 unk4 (d), s32 unk5 (e), s32 unk6 (f),
|
||||
* s32 unk7 (g), s32 unk8 (h), s32 unk9 (i), s32 unk10 (j), s32 unk11 (k), s32 unk12 (l)
|
||||
* FORMAT
|
||||
* aaaaaaaa bbbbbbbb cccccccc dddddddd eeeeeeee ffffffff gggggggg hhhhhhhh iiiiiiii jjjjjjjj kkkkkkkk llllllll
|
||||
|
@ -307,7 +307,7 @@
|
|||
|
||||
/**
|
||||
* ARGS
|
||||
* s16 messageId (i), s16 startFrame (s), s16 endFrame (e), s16 type (o),
|
||||
* s16 messageId (i), s16 startFrame (s), s16 endFrame (e), s16 type (o),
|
||||
* s16 topOptionBranch (y), s16 bottomOptionBranch (n)
|
||||
* FORMAT
|
||||
* iiiissss eeeeoooo yyyynnnn
|
||||
|
|
|
@ -486,13 +486,13 @@ typedef enum {
|
|||
{ SCENE_CMD_ID_OBJECT_LIST, numObjects, CMD_PTR(objectList) }
|
||||
|
||||
#define SCENE_CMD_LIGHT_LIST(numLights, lightList) \
|
||||
{ SCENE_CMD_ID_POS_LIGHT_LIST, numLights, CMD_PTR(lightList) }
|
||||
{ SCENE_CMD_ID_POS_LIGHT_LIST, numLights, CMD_PTR(lightList) }
|
||||
|
||||
#define SCENE_CMD_PATH_LIST(pathList) \
|
||||
{ SCENE_CMD_ID_PATH_LIST, 0, CMD_PTR(pathList) }
|
||||
|
||||
#define SCENE_CMD_TRANSITION_ACTOR_LIST(numActors, list) \
|
||||
{ SCENE_CMD_ID_TRANSI_ACTOR_LIST, numActors, CMD_PTR(list) }
|
||||
{ SCENE_CMD_ID_TRANSI_ACTOR_LIST, numActors, CMD_PTR(list) }
|
||||
|
||||
#define SCENE_CMD_ENV_LIGHT_SETTINGS(numLightSettings, lightSettingsList) \
|
||||
{ SCENE_CMD_ID_ENV_LIGHT_SETTINGS, numLightSettings, CMD_PTR(lightSettingsList) }
|
||||
|
|
|
@ -33,7 +33,7 @@ def ReadAllLines(fileName):
|
|||
|
||||
def GetFiles(path, ext):
|
||||
files = []
|
||||
|
||||
|
||||
for r, d, f in os.walk(path):
|
||||
for file in f:
|
||||
if file.endswith(ext):
|
||||
|
|
|
@ -302,15 +302,15 @@ static u8 sSwitchToRoom[10][51] = {
|
|||
|
||||
static u8 sFloorID[10][8] = {
|
||||
/* clang-format off */
|
||||
{ 0, 0, 0, F_3F, F_2F, F_1F, F_B1, F_B2 },
|
||||
{ 0, 0, 0, F_3F, F_2F, F_1F, F_B1, F_B2 },
|
||||
{ 0, 0, 0, 0, 0, 0, F_2F, F_1F },
|
||||
{ 0, 0, 0, 0, 0, 0, F_1F, F_B1 },
|
||||
{ 0, 0, 0, 0, 0, 0, F_1F, F_B1 },
|
||||
{ 0, 0, 0, 0, F_2F, F_1F, F_B1, F_B2 },
|
||||
{ 0, 0, 0, F_5F, F_4F, F_3F, F_2F, F_1F },
|
||||
{ 0, 0, 0, F_5F, F_4F, F_3F, F_2F, F_1F },
|
||||
{ 0, 0, 0, 0, F_3F, F_2F, F_1F, F_B1 },
|
||||
{ 0, 0, 0, 0, F_4F, F_3F, F_2F, F_1F },
|
||||
{ 0, 0, 0, 0, F_4F, F_3F, F_2F, F_1F },
|
||||
{ 0, 0, 0, 0, F_B1, F_B2, F_B3, F_B4 },
|
||||
{ 0, 0, 0, 0, 0, F_B1, F_B2, F_B3 },
|
||||
{ 0, 0, 0, 0, 0, F_B1, F_B2, F_B3 },
|
||||
{ 0, 0, 0, 0, 0, 0, 0, F_1F },
|
||||
}; /* clang-format on */
|
||||
|
||||
|
|
|
@ -18,11 +18,11 @@ typedef struct BgGndDarkmeiro {
|
|||
|
||||
typedef enum {
|
||||
/* 0 */ DARKMEIRO_INVISIBLE_PATH, // Textures for the invisible path in shadow trial.
|
||||
|
||||
|
||||
/* 1 */ DARKMEIRO_CLEAR_BLOCK, /* Clear blocks appear when their switch flag is set and
|
||||
disappear 64 frames after their switch flag is cleared.
|
||||
Clear blocks with flag 0x3F are always on. */
|
||||
|
||||
|
||||
/* 2 */ DARKMEIRO_BLOCK_TIMER /* A block timer with switch flag N reacts to switch flags N+1
|
||||
and N+2 being set, setting its own switch flag and a timer
|
||||
for 304 frames. There are separate timers for N+1 and N+2,
|
||||
|
|
|
@ -11,8 +11,8 @@ typedef void (*BgSpot15RrboxActionFunc)(struct BgSpot15Rrbox*, GlobalContext*);
|
|||
typedef struct BgSpot15Rrbox {
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ BgSpot15RrboxActionFunc actionFunc;
|
||||
/* 0x0168 */ s16 unk_168;
|
||||
/* 0x016C */ f32 unk_16C;
|
||||
/* 0x0168 */ s16 unk_168;
|
||||
/* 0x016C */ f32 unk_16C;
|
||||
/* 0x0170 */ f32 unk_170;
|
||||
/* 0x0174 */ f32 unk_174;
|
||||
/* 0x0178 */ f32 unk_178;
|
||||
|
|
|
@ -11,7 +11,7 @@ typedef void (*BgTokiHikariActionFunc)(struct BgTokiHikari*, GlobalContext*);
|
|||
typedef struct BgTokiHikari {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ f32 unk_14C;
|
||||
/* 0x0150 */ BgTokiHikariActionFunc actionFunc;
|
||||
/* 0x0150 */ BgTokiHikariActionFunc actionFunc;
|
||||
} BgTokiHikari; // size = 0x0154
|
||||
|
||||
#endif
|
||||
|
|
|
@ -53,7 +53,7 @@ typedef struct BossDodongo {
|
|||
/* 0x01CA */ char unk_1CA[0x2];
|
||||
/* 0x01CC */ s16 unk_1CC;
|
||||
/* 0x01CE */ char unk_1CE[0xC];
|
||||
/* 0x01DA */ s16 unk_1DA;
|
||||
/* 0x01DA */ s16 unk_1DA;
|
||||
/* 0x01DC */ s16 unk_1DC;
|
||||
/* 0x01DE */ s16 unk_1DE;
|
||||
/* 0x01E0 */ s16 unk_1E0;
|
||||
|
|
|
@ -105,7 +105,7 @@ typedef struct BossGanon {
|
|||
/* 0x02E4 */ u8 shockGlow;
|
||||
/* 0x02E6 */ s16 unk_2E6; // timer
|
||||
/* 0x02E8 */ s16 unk_2E8; // timer
|
||||
/* 0x02EC */ Vec3f unk_2EC[18]; // body parts pos for ganondorf, used for other things as well
|
||||
/* 0x02EC */ Vec3f unk_2EC[18]; // body parts pos for ganondorf, used for other things as well
|
||||
/* 0x03C4 */ Vec3f unk_3C4[18];
|
||||
/* 0x049C */ f32 unk_49C[18];
|
||||
/* 0x04E4 */ s16 unk_4E4[18];
|
||||
|
|
|
@ -35,7 +35,7 @@ typedef enum DemoDu_Cutscene {
|
|||
* DEMO_DU_CS_GORONS_RUBY: Map selector -> Map 16 (SPOT16) -> Stage 01
|
||||
* DEMO_DU_CS_CHAMBER_AFTER_GANON: Map selector -> Map 21 -> Stage 02
|
||||
* DEMO_DU_CS_CREDITS: Map selector -> Map 16 (SPOT16) -> Stage 04
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
#endif
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue