merge master

This commit is contained in:
engineer124
2022-09-30 10:09:44 -04:00
174 changed files with 7049 additions and 2742 deletions
+3 -3
View File
@@ -87,8 +87,8 @@
<Animation Name="object_boj_Anim_011F84" Offset="0x11F84" />
<Animation Name="object_boj_Anim_0128F4" Offset="0x128F4" />
<Animation Name="object_boj_Anim_012E84" Offset="0x12E84" />
<DList Name="object_boj_DL_013380" Offset="0x13380" />
<Texture Name="object_boj_TLUT_0134C0" OutName="tlut_0134C0" Format="rgba16" Width="16" Height="16" Offset="0x134C0" />
<Texture Name="object_boj_Tex_0136C0" OutName="tex_0136C0" Format="ci8" Width="16" Height="16" Offset="0x136C0" />
<DList Name="gBombShopBagDL" Offset="0x13380" />
<Texture Name="gBombShopBagTLUT" OutName="bomb_shop_bag_tlut" Format="rgba16" Width="16" Height="16" Offset="0x134C0" />
<Texture Name="gBombShopBagTex" OutName="bomb_shop_bag" Format="ci8" Width="16" Height="16" Offset="0x136C0" />
</File>
</Root>
+86
View File
@@ -0,0 +1,86 @@
<Root>
<File Name="object_dnj" Segment="6">
<Animation Name="object_dnj_Anim_000470" Offset="0x470" />
<Animation Name="object_dnj_Anim_0008F0" Offset="0x8F0" />
<Animation Name="object_dnj_Anim_000F6C" Offset="0xF6C" />
<Animation Name="object_dnj_Anim_001A50" Offset="0x1A50" />
<Animation Name="object_dnj_Anim_002530" Offset="0x2530" />
<Animation Name="object_dnj_Anim_003320" Offset="0x3320" />
<Animation Name="object_dnj_Anim_0036D0" Offset="0x36D0" />
<Animation Name="object_dnj_Anim_0041CC" Offset="0x41CC" />
<Animation Name="object_dnj_Anim_004DD8" Offset="0x4DD8" />
<Animation Name="object_dnj_Anim_0051E4" Offset="0x51E4" />
<Animation Name="object_dnj_Anim_005E20" Offset="0x5E20" />
<Animation Name="object_dnj_Anim_005F98" Offset="0x5F98" />
<Animation Name="object_dnj_Anim_006488" Offset="0x6488" />
<Animation Name="object_dnj_Anim_006F84" Offset="0x6F84" />
<Animation Name="object_dnj_Anim_0073E4" Offset="0x73E4" />
<Animation Name="object_dnj_Anim_0077A8" Offset="0x77A8" />
<Animation Name="object_dnj_Anim_007CA4" Offset="0x7CA4" />
<Animation Name="object_dnj_Anim_008324" Offset="0x8324" />
<Animation Name="object_dnj_Anim_008AE4" Offset="0x8AE4" />
<Animation Name="object_dnj_Anim_009100" Offset="0x9100" />
<DList Name="object_dnj_DL_00B7C0" Offset="0xB7C0" />
<DList Name="object_dnj_DL_00B850" Offset="0xB850" />
<DList Name="object_dnj_DL_00BC68" Offset="0xBC68" />
<DList Name="object_dnj_DL_00BDD8" Offset="0xBDD8" />
<DList Name="object_dnj_DL_00BEF0" Offset="0xBEF0" />
<DList Name="object_dnj_DL_00C118" Offset="0xC118" />
<DList Name="object_dnj_DL_00C1A0" Offset="0xC1A0" />
<DList Name="object_dnj_DL_00C248" Offset="0xC248" />
<DList Name="object_dnj_DL_00C370" Offset="0xC370" />
<DList Name="object_dnj_DL_00C450" Offset="0xC450" />
<DList Name="object_dnj_DL_00C4E0" Offset="0xC4E0" />
<DList Name="object_dnj_DL_00C5C0" Offset="0xC5C0" />
<DList Name="object_dnj_DL_00C650" Offset="0xC650" />
<DList Name="object_dnj_DL_00C7C0" Offset="0xC7C0" />
<DList Name="object_dnj_DL_00C8D8" Offset="0xC8D8" />
<DList Name="object_dnj_DL_00C988" Offset="0xC988" />
<DList Name="object_dnj_DL_00CA38" Offset="0xCA38" />
<DList Name="object_dnj_DL_00CAE8" Offset="0xCAE8" />
<DList Name="object_dnj_DL_00CBE8" Offset="0xCBE8" />
<DList Name="object_dnj_DL_00CC90" Offset="0xCC90" />
<DList Name="object_dnj_DL_00CD48" Offset="0xCD48" />
<DList Name="object_dnj_DL_00CE00" Offset="0xCE00" />
<DList Name="object_dnj_DL_00CEC8" Offset="0xCEC8" />
<DList Name="object_dnj_DL_00CF88" Offset="0xCF88" />
<DList Name="object_dnj_DL_00D040" Offset="0xD040" />
<DList Name="object_dnj_DL_00D108" Offset="0xD108" />
<Texture Name="object_dnj_Tex_00D1C8" OutName="tex_00D1C8" Format="rgba16" Width="16" Height="16" Offset="0xD1C8" />
<Texture Name="object_dnj_Tex_00D3C8" OutName="tex_00D3C8" Format="rgba16" Width="16" Height="16" Offset="0xD3C8" />
<Texture Name="object_dnj_Tex_00D5C8" OutName="tex_00D5C8" Format="rgba16" Width="8" Height="8" Offset="0xD5C8" />
<Texture Name="object_dnj_Tex_00D648" OutName="tex_00D648" Format="rgba16" Width="16" Height="16" Offset="0xD648" />
<Texture Name="object_dnj_Tex_00D848" OutName="tex_00D848" Format="rgba16" Width="16" Height="32" Offset="0xD848" />
<Texture Name="object_dnj_Tex_00DC48" OutName="tex_00DC48" Format="rgba16" Width="16" Height="8" Offset="0xDC48" />
<Texture Name="object_dnj_Tex_00DD48" OutName="tex_00DD48" Format="rgba16" Width="16" Height="16" Offset="0xDD48" />
<Texture Name="object_dnj_Tex_00DF48" OutName="tex_00DF48" Format="rgba16" Width="8" Height="16" Offset="0xDF48" />
<Limb Name="object_dnj_Standardlimb_00E048" Type="Standard" EnumName="OBJECT_DNJ_LIMB_01" Offset="0xE048" />
<Limb Name="object_dnj_Standardlimb_00E054" Type="Standard" EnumName="OBJECT_DNJ_LIMB_02" Offset="0xE054" />
<Limb Name="object_dnj_Standardlimb_00E060" Type="Standard" EnumName="OBJECT_DNJ_LIMB_03" Offset="0xE060" />
<Limb Name="object_dnj_Standardlimb_00E06C" Type="Standard" EnumName="OBJECT_DNJ_LIMB_04" Offset="0xE06C" />
<Limb Name="object_dnj_Standardlimb_00E078" Type="Standard" EnumName="OBJECT_DNJ_LIMB_05" Offset="0xE078" />
<Limb Name="object_dnj_Standardlimb_00E084" Type="Standard" EnumName="OBJECT_DNJ_LIMB_06" Offset="0xE084" />
<Limb Name="object_dnj_Standardlimb_00E090" Type="Standard" EnumName="OBJECT_DNJ_LIMB_07" Offset="0xE090" />
<Limb Name="object_dnj_Standardlimb_00E09C" Type="Standard" EnumName="OBJECT_DNJ_LIMB_08" Offset="0xE09C" />
<Limb Name="object_dnj_Standardlimb_00E0A8" Type="Standard" EnumName="OBJECT_DNJ_LIMB_09" Offset="0xE0A8" />
<Limb Name="object_dnj_Standardlimb_00E0B4" Type="Standard" EnumName="OBJECT_DNJ_LIMB_0A" Offset="0xE0B4" />
<Limb Name="object_dnj_Standardlimb_00E0C0" Type="Standard" EnumName="OBJECT_DNJ_LIMB_0B" Offset="0xE0C0" />
<Limb Name="object_dnj_Standardlimb_00E0CC" Type="Standard" EnumName="OBJECT_DNJ_LIMB_0C" Offset="0xE0CC" />
<Limb Name="object_dnj_Standardlimb_00E0D8" Type="Standard" EnumName="OBJECT_DNJ_LIMB_0D" Offset="0xE0D8" />
<Limb Name="object_dnj_Standardlimb_00E0E4" Type="Standard" EnumName="OBJECT_DNJ_LIMB_0E" Offset="0xE0E4" />
<Limb Name="object_dnj_Standardlimb_00E0F0" Type="Standard" EnumName="OBJECT_DNJ_LIMB_0F" Offset="0xE0F0" />
<Limb Name="object_dnj_Standardlimb_00E0FC" Type="Standard" EnumName="OBJECT_DNJ_LIMB_10" Offset="0xE0FC" />
<Limb Name="object_dnj_Standardlimb_00E108" Type="Standard" EnumName="OBJECT_DNJ_LIMB_11" Offset="0xE108" />
<Limb Name="object_dnj_Standardlimb_00E114" Type="Standard" EnumName="OBJECT_DNJ_LIMB_12" Offset="0xE114" />
<Limb Name="object_dnj_Standardlimb_00E120" Type="Standard" EnumName="OBJECT_DNJ_LIMB_13" Offset="0xE120" />
<Limb Name="object_dnj_Standardlimb_00E12C" Type="Standard" EnumName="OBJECT_DNJ_LIMB_14" Offset="0xE12C" />
<Limb Name="object_dnj_Standardlimb_00E138" Type="Standard" EnumName="OBJECT_DNJ_LIMB_15" Offset="0xE138" />
<Limb Name="object_dnj_Standardlimb_00E144" Type="Standard" EnumName="OBJECT_DNJ_LIMB_16" Offset="0xE144" />
<Limb Name="object_dnj_Standardlimb_00E150" Type="Standard" EnumName="OBJECT_DNJ_LIMB_17" Offset="0xE150" />
<Limb Name="object_dnj_Standardlimb_00E15C" Type="Standard" EnumName="OBJECT_DNJ_LIMB_18" Offset="0xE15C" />
<Limb Name="object_dnj_Standardlimb_00E168" Type="Standard" EnumName="OBJECT_DNJ_LIMB_19" Offset="0xE168" />
<Limb Name="object_dnj_Standardlimb_00E174" Type="Standard" EnumName="OBJECT_DNJ_LIMB_1A" Offset="0xE174" />
<Limb Name="object_dnj_Standardlimb_00E180" Type="Standard" EnumName="OBJECT_DNJ_LIMB_1B" Offset="0xE180" />
<Skeleton Name="object_dnj_Skel_00E1F8" Type="Flex" LimbType="Standard" LimbNone="OBJECT_DNJ_LIMB_NONE" LimbMax="OBJECT_DNJ_LIMB_MAX" EnumName="ObjectDnoLimb" Offset="0xE1F8" />
</File>
</Root>
+90 -82
View File
@@ -1,86 +1,94 @@
<Root>
<File Name="object_dno" Segment="6">
<Animation Name="object_dno_Anim_000470" Offset="0x470" />
<Animation Name="object_dno_Anim_0008F0" Offset="0x8F0" />
<Animation Name="object_dno_Anim_000F6C" Offset="0xF6C" />
<Animation Name="object_dno_Anim_001A50" Offset="0x1A50" />
<Animation Name="object_dno_Anim_002530" Offset="0x2530" />
<Animation Name="object_dno_Anim_003320" Offset="0x3320" />
<Animation Name="object_dno_Anim_0036D0" Offset="0x36D0" />
<Animation Name="object_dno_Anim_0041CC" Offset="0x41CC" />
<Animation Name="object_dno_Anim_004DD8" Offset="0x4DD8" />
<Animation Name="object_dno_Anim_0051E4" Offset="0x51E4" />
<Animation Name="object_dno_Anim_005E20" Offset="0x5E20" />
<Animation Name="object_dno_Anim_005F98" Offset="0x5F98" />
<Animation Name="object_dno_Anim_006488" Offset="0x6488" />
<Animation Name="object_dno_Anim_006F84" Offset="0x6F84" />
<Animation Name="object_dno_Anim_0073E4" Offset="0x73E4" />
<Animation Name="object_dno_Anim_0077A8" Offset="0x77A8" />
<Animation Name="object_dno_Anim_007CA4" Offset="0x7CA4" />
<Animation Name="object_dno_Anim_008324" Offset="0x8324" />
<Animation Name="object_dno_Anim_008AE4" Offset="0x8AE4" />
<Animation Name="object_dno_Anim_009100" Offset="0x9100" />
<DList Name="object_dno_DL_00B7C0" Offset="0xB7C0" />
<DList Name="object_dno_DL_00B850" Offset="0xB850" />
<DList Name="object_dno_DL_00BC68" Offset="0xBC68" />
<DList Name="object_dno_DL_00BDD8" Offset="0xBDD8" />
<DList Name="object_dno_DL_00BEF0" Offset="0xBEF0" />
<DList Name="object_dno_DL_00C118" Offset="0xC118" />
<DList Name="object_dno_DL_00C1A0" Offset="0xC1A0" />
<DList Name="object_dno_DL_00C248" Offset="0xC248" />
<DList Name="object_dno_DL_00C370" Offset="0xC370" />
<DList Name="object_dno_DL_00C450" Offset="0xC450" />
<DList Name="object_dno_DL_00C4E0" Offset="0xC4E0" />
<DList Name="object_dno_DL_00C5C0" Offset="0xC5C0" />
<DList Name="object_dno_DL_00C650" Offset="0xC650" />
<DList Name="object_dno_DL_00C7C0" Offset="0xC7C0" />
<DList Name="object_dno_DL_00C8D8" Offset="0xC8D8" />
<DList Name="object_dno_DL_00C988" Offset="0xC988" />
<DList Name="object_dno_DL_00CA38" Offset="0xCA38" />
<DList Name="object_dno_DL_00CAE8" Offset="0xCAE8" />
<DList Name="object_dno_DL_00CBE8" Offset="0xCBE8" />
<DList Name="object_dno_DL_00CC90" Offset="0xCC90" />
<DList Name="object_dno_DL_00CD48" Offset="0xCD48" />
<DList Name="object_dno_DL_00CE00" Offset="0xCE00" />
<DList Name="object_dno_DL_00CEC8" Offset="0xCEC8" />
<DList Name="object_dno_DL_00CF88" Offset="0xCF88" />
<DList Name="object_dno_DL_00D040" Offset="0xD040" />
<DList Name="object_dno_DL_00D108" Offset="0xD108" />
<Texture Name="object_dno_Tex_00D1C8" OutName="tex_00D1C8" Format="rgba16" Width="16" Height="16" Offset="0xD1C8" />
<Texture Name="object_dno_Tex_00D3C8" OutName="tex_00D3C8" Format="rgba16" Width="16" Height="16" Offset="0xD3C8" />
<Texture Name="object_dno_Tex_00D5C8" OutName="tex_00D5C8" Format="rgba16" Width="8" Height="8" Offset="0xD5C8" />
<Texture Name="object_dno_Tex_00D648" OutName="tex_00D648" Format="rgba16" Width="16" Height="16" Offset="0xD648" />
<Texture Name="object_dno_Tex_00D848" OutName="tex_00D848" Format="rgba16" Width="16" Height="32" Offset="0xD848" />
<Texture Name="object_dno_Tex_00DC48" OutName="tex_00DC48" Format="rgba16" Width="16" Height="8" Offset="0xDC48" />
<Texture Name="object_dno_Tex_00DD48" OutName="tex_00DD48" Format="rgba16" Width="16" Height="16" Offset="0xDD48" />
<Texture Name="object_dno_Tex_00DF48" OutName="tex_00DF48" Format="rgba16" Width="8" Height="16" Offset="0xDF48" />
<Limb Name="object_dno_Standardlimb_00E048" Type="Standard" EnumName="OBJECT_DNO_LIMB_01" Offset="0xE048" />
<Limb Name="object_dno_Standardlimb_00E054" Type="Standard" EnumName="OBJECT_DNO_LIMB_02" Offset="0xE054" />
<Limb Name="object_dno_Standardlimb_00E060" Type="Standard" EnumName="OBJECT_DNO_LIMB_03" Offset="0xE060" />
<Limb Name="object_dno_Standardlimb_00E06C" Type="Standard" EnumName="OBJECT_DNO_LIMB_04" Offset="0xE06C" />
<Limb Name="object_dno_Standardlimb_00E078" Type="Standard" EnumName="OBJECT_DNO_LIMB_05" Offset="0xE078" />
<Limb Name="object_dno_Standardlimb_00E084" Type="Standard" EnumName="OBJECT_DNO_LIMB_06" Offset="0xE084" />
<Limb Name="object_dno_Standardlimb_00E090" Type="Standard" EnumName="OBJECT_DNO_LIMB_07" Offset="0xE090" />
<Limb Name="object_dno_Standardlimb_00E09C" Type="Standard" EnumName="OBJECT_DNO_LIMB_08" Offset="0xE09C" />
<Limb Name="object_dno_Standardlimb_00E0A8" Type="Standard" EnumName="OBJECT_DNO_LIMB_09" Offset="0xE0A8" />
<Limb Name="object_dno_Standardlimb_00E0B4" Type="Standard" EnumName="OBJECT_DNO_LIMB_0A" Offset="0xE0B4" />
<Limb Name="object_dno_Standardlimb_00E0C0" Type="Standard" EnumName="OBJECT_DNO_LIMB_0B" Offset="0xE0C0" />
<Limb Name="object_dno_Standardlimb_00E0CC" Type="Standard" EnumName="OBJECT_DNO_LIMB_0C" Offset="0xE0CC" />
<Limb Name="object_dno_Standardlimb_00E0D8" Type="Standard" EnumName="OBJECT_DNO_LIMB_0D" Offset="0xE0D8" />
<Limb Name="object_dno_Standardlimb_00E0E4" Type="Standard" EnumName="OBJECT_DNO_LIMB_0E" Offset="0xE0E4" />
<Limb Name="object_dno_Standardlimb_00E0F0" Type="Standard" EnumName="OBJECT_DNO_LIMB_0F" Offset="0xE0F0" />
<Limb Name="object_dno_Standardlimb_00E0FC" Type="Standard" EnumName="OBJECT_DNO_LIMB_10" Offset="0xE0FC" />
<Limb Name="object_dno_Standardlimb_00E108" Type="Standard" EnumName="OBJECT_DNO_LIMB_11" Offset="0xE108" />
<Limb Name="object_dno_Standardlimb_00E114" Type="Standard" EnumName="OBJECT_DNO_LIMB_12" Offset="0xE114" />
<Limb Name="object_dno_Standardlimb_00E120" Type="Standard" EnumName="OBJECT_DNO_LIMB_13" Offset="0xE120" />
<Limb Name="object_dno_Standardlimb_00E12C" Type="Standard" EnumName="OBJECT_DNO_LIMB_14" Offset="0xE12C" />
<Limb Name="object_dno_Standardlimb_00E138" Type="Standard" EnumName="OBJECT_DNO_LIMB_15" Offset="0xE138" />
<Limb Name="object_dno_Standardlimb_00E144" Type="Standard" EnumName="OBJECT_DNO_LIMB_16" Offset="0xE144" />
<Limb Name="object_dno_Standardlimb_00E150" Type="Standard" EnumName="OBJECT_DNO_LIMB_17" Offset="0xE150" />
<Limb Name="object_dno_Standardlimb_00E15C" Type="Standard" EnumName="OBJECT_DNO_LIMB_18" Offset="0xE15C" />
<Limb Name="object_dno_Standardlimb_00E168" Type="Standard" EnumName="OBJECT_DNO_LIMB_19" Offset="0xE168" />
<Limb Name="object_dno_Standardlimb_00E174" Type="Standard" EnumName="OBJECT_DNO_LIMB_1A" Offset="0xE174" />
<Limb Name="object_dno_Standardlimb_00E180" Type="Standard" EnumName="OBJECT_DNO_LIMB_1B" Offset="0xE180" />
<Skeleton Name="object_dno_Skel_00E1F8" Type="Flex" LimbType="Standard" LimbNone="OBJECT_DNO_LIMB_NONE" LimbMax="OBJECT_DNO_LIMB_MAX" EnumName="ObjectDnoLimb" Offset="0xE1F8" />
<Animation Name="object_dno_Anim_0006F0" Offset="0x6F0" />
<Animation Name="object_dno_Anim_000BF8" Offset="0xBF8" />
<Animation Name="object_dno_Anim_001100" Offset="0x1100" />
<Animation Name="object_dno_Anim_001AEC" Offset="0x1AEC" />
<Animation Name="object_dno_Anim_002690" Offset="0x2690" />
<Animation Name="object_dno_Anim_003408" Offset="0x3408" />
<Animation Name="object_dno_Anim_003DBC" Offset="0x3DBC" />
<Animation Name="object_dno_Anim_0047B8" Offset="0x47B8" />
<Animation Name="object_dno_Anim_004EA0" Offset="0x4EA0" />
<Animation Name="object_dno_Anim_005284" Offset="0x5284" />
<Animation Name="object_dno_Anim_005A14" Offset="0x5A14" />
<Animation Name="object_dno_Anim_005E18" Offset="0x5E18" />
<Animation Name="object_dno_Anim_006984" Offset="0x6984" />
<Animation Name="object_dno_Anim_007528" Offset="0x7528" />
<Animation Name="object_dno_Anim_008328" Offset="0x8328" />
<Texture Name="object_dno_Tex_008340" OutName="tex_008340" Format="rgba16" Width="16" Height="16" Offset="0x8340" />
<Texture Name="object_dno_Tex_008540" OutName="tex_008540" Format="rgba16" Width="16" Height="16" Offset="0x8540" />
<Texture Name="object_dno_Tex_008740" OutName="tex_008740" Format="rgba16" Width="32" Height="32" Offset="0x8740" />
<Texture Name="object_dno_Tex_008F40" OutName="tex_008F40" Format="rgba16" Width="32" Height="64" Offset="0x8F40" />
<Texture Name="object_dno_Tex_009F40" OutName="tex_009F40" Format="rgba16" Width="32" Height="32" Offset="0x9F40" />
<Texture Name="object_dno_Tex_00A740" OutName="tex_00A740" Format="rgba16" Width="16" Height="16" Offset="0xA740" />
<Texture Name="object_dno_Tex_00A940" OutName="tex_00A940" Format="rgba16" Width="8" Height="8" Offset="0xA940" />
<Texture Name="object_dno_Tex_00A9C0" OutName="tex_00A9C0" Format="rgba16" Width="16" Height="16" Offset="0xA9C0" />
<Texture Name="object_dno_Tex_00ABC0" OutName="tex_00ABC0" Format="rgba16" Width="8" Height="8" Offset="0xABC0" />
<Texture Name="object_dno_Tex_00AC40" OutName="tex_00AC40" Format="rgba16" Width="8" Height="8" Offset="0xAC40" />
<DList Name="object_dno_DL_00C9B0" Offset="0xC9B0" />
<DList Name="object_dno_DL_00CB70" Offset="0xCB70" />
<DList Name="object_dno_DL_00CC10" Offset="0xCC10" />
<DList Name="object_dno_DL_00CE38" Offset="0xCE38" />
<DList Name="object_dno_DL_00CED0" Offset="0xCED0" />
<DList Name="object_dno_DL_00CFA8" Offset="0xCFA8" />
<DList Name="object_dno_DL_00D050" Offset="0xD050" />
<DList Name="object_dno_DL_00D140" Offset="0xD140" />
<DList Name="object_dno_DL_00D230" Offset="0xD230" />
<DList Name="object_dno_DL_00D2E8" Offset="0xD2E8" />
<DList Name="object_dno_DL_00D3D8" Offset="0xD3D8" />
<DList Name="object_dno_DL_00D4C8" Offset="0xD4C8" />
<DList Name="object_dno_DL_00D668" Offset="0xD668" />
<DList Name="object_dno_DL_00D758" Offset="0xD758" />
<DList Name="object_dno_DL_00D848" Offset="0xD848" />
<DList Name="object_dno_DL_00D938" Offset="0xD938" />
<DList Name="object_dno_DL_00DA28" Offset="0xDA28" />
<DList Name="object_dno_DL_00DB00" Offset="0xDB00" />
<DList Name="object_dno_DL_00DCA8" Offset="0xDCA8" />
<DList Name="object_dno_DL_00DD50" Offset="0xDD50" />
<DList Name="object_dno_DL_00DE40" Offset="0xDE40" />
<DList Name="object_dno_DL_00DF30" Offset="0xDF30" />
<DList Name="object_dno_DL_00DFE8" Offset="0xDFE8" />
<DList Name="object_dno_DL_00E0D8" Offset="0xE0D8" />
<DList Name="object_dno_DL_00E1C8" Offset="0xE1C8" />
<DList Name="object_dno_DL_00E318" Offset="0xE318" />
<DList Name="object_dno_DL_00E420" Offset="0xE420" />
<DList Name="object_dno_DL_00E538" Offset="0xE538" />
<DList Name="object_dno_DL_00E630" Offset="0xE630" />
<DList Name="object_dno_DL_00E738" Offset="0xE738" />
<DList Name="object_dno_DL_00E850" Offset="0xE850" />
<Limb Name="object_dno_Standardlimb_00E948" Type="Standard" EnumName="OBJECT_DNO_LIMB_01" Offset="0xE948" />
<Limb Name="object_dno_Standardlimb_00E954" Type="Standard" EnumName="OBJECT_DNO_LIMB_02" Offset="0xE954" />
<Limb Name="object_dno_Standardlimb_00E960" Type="Standard" EnumName="OBJECT_DNO_LIMB_03" Offset="0xE960" />
<Limb Name="object_dno_Standardlimb_00E96C" Type="Standard" EnumName="OBJECT_DNO_LIMB_04" Offset="0xE96C" />
<Limb Name="object_dno_Standardlimb_00E978" Type="Standard" EnumName="OBJECT_DNO_LIMB_05" Offset="0xE978" />
<Limb Name="object_dno_Standardlimb_00E984" Type="Standard" EnumName="OBJECT_DNO_LIMB_06" Offset="0xE984" />
<Limb Name="object_dno_Standardlimb_00E990" Type="Standard" EnumName="OBJECT_DNO_LIMB_07" Offset="0xE990" />
<Limb Name="object_dno_Standardlimb_00E99C" Type="Standard" EnumName="OBJECT_DNO_LIMB_08" Offset="0xE99C" />
<Limb Name="object_dno_Standardlimb_00E9A8" Type="Standard" EnumName="OBJECT_DNO_LIMB_09" Offset="0xE9A8" />
<Limb Name="object_dno_Standardlimb_00E9B4" Type="Standard" EnumName="OBJECT_DNO_LIMB_0A" Offset="0xE9B4" />
<Limb Name="object_dno_Standardlimb_00E9C0" Type="Standard" EnumName="OBJECT_DNO_LIMB_0B" Offset="0xE9C0" />
<Limb Name="object_dno_Standardlimb_00E9CC" Type="Standard" EnumName="OBJECT_DNO_LIMB_0C" Offset="0xE9CC" />
<Limb Name="object_dno_Standardlimb_00E9D8" Type="Standard" EnumName="OBJECT_DNO_LIMB_0D" Offset="0xE9D8" />
<Limb Name="object_dno_Standardlimb_00E9E4" Type="Standard" EnumName="OBJECT_DNO_LIMB_0E" Offset="0xE9E4" />
<Limb Name="object_dno_Standardlimb_00E9F0" Type="Standard" EnumName="OBJECT_DNO_LIMB_0F" Offset="0xE9F0" />
<Limb Name="object_dno_Standardlimb_00E9FC" Type="Standard" EnumName="OBJECT_DNO_LIMB_10" Offset="0xE9FC" />
<Limb Name="object_dno_Standardlimb_00EA08" Type="Standard" EnumName="OBJECT_DNO_LIMB_11" Offset="0xEA08" />
<Limb Name="object_dno_Standardlimb_00EA14" Type="Standard" EnumName="OBJECT_DNO_LIMB_12" Offset="0xEA14" />
<Limb Name="object_dno_Standardlimb_00EA20" Type="Standard" EnumName="OBJECT_DNO_LIMB_13" Offset="0xEA20" />
<Limb Name="object_dno_Standardlimb_00EA2C" Type="Standard" EnumName="OBJECT_DNO_LIMB_14" Offset="0xEA2C" />
<Limb Name="object_dno_Standardlimb_00EA38" Type="Standard" EnumName="OBJECT_DNO_LIMB_15" Offset="0xEA38" />
<Limb Name="object_dno_Standardlimb_00EA44" Type="Standard" EnumName="OBJECT_DNO_LIMB_16" Offset="0xEA44" />
<Limb Name="object_dno_Standardlimb_00EA50" Type="Standard" EnumName="OBJECT_DNO_LIMB_17" Offset="0xEA50" />
<Limb Name="object_dno_Standardlimb_00EA5C" Type="Standard" EnumName="OBJECT_DNO_LIMB_18" Offset="0xEA5C" />
<Limb Name="object_dno_Standardlimb_00EA68" Type="Standard" EnumName="OBJECT_DNO_LIMB_19" Offset="0xEA68" />
<Limb Name="object_dno_Standardlimb_00EA74" Type="Standard" EnumName="OBJECT_DNO_LIMB_1A" Offset="0xEA74" />
<Limb Name="object_dno_Standardlimb_00EA80" Type="Standard" EnumName="OBJECT_DNO_LIMB_1B" Offset="0xEA80" />
<Limb Name="object_dno_Standardlimb_00EA8C" Type="Standard" EnumName="OBJECT_DNO_LIMB_1C" Offset="0xEA8C" />
<Limb Name="object_dno_Standardlimb_00EA98" Type="Standard" EnumName="OBJECT_DNO_LIMB_1D" Offset="0xEA98" />
<Limb Name="object_dno_Standardlimb_00EAA4" Type="Standard" EnumName="OBJECT_DNO_LIMB_1E" Offset="0xEAA4" />
<Limb Name="object_dno_Standardlimb_00EAB0" Type="Standard" EnumName="OBJECT_DNO_LIMB_1F" Offset="0xEAB0" />
<Limb Name="object_dno_Standardlimb_00EABC" Type="Standard" EnumName="OBJECT_DNO_LIMB_20" Offset="0xEABC" />
<Skeleton Name="object_dno_Skel_00EB48" Type="Flex" LimbType="Standard" LimbNone="OBJECT_DNO_LIMB_NONE" LimbMax="OBJECT_DNO_LIMB_MAX" EnumName="ObjectDnqLimb" Offset="0xEB48" />
<Animation Name="object_dno_Anim_00F504" Offset="0xF504" />
</File>
</Root>
-88
View File
@@ -1,88 +0,0 @@
<Root>
<File Name="object_dnp" Segment="6">
<Animation Name="object_dnp_Anim_0007D8" Offset="0x7D8" />
<Animation Name="object_dnp_Anim_00125C" Offset="0x125C" />
<Animation Name="object_dnp_Anim_0017F8" Offset="0x17F8" />
<Animation Name="object_dnp_Anim_001C1C" Offset="0x1C1C" />
<Animation Name="object_dnp_Anim_0021DC" Offset="0x21DC" />
<Animation Name="object_dnp_Anim_0026B8" Offset="0x26B8" />
<Animation Name="object_dnp_Anim_004D08" Offset="0x4D08" />
<Animation Name="object_dnp_Anim_0057AC" Offset="0x57AC" />
<Animation Name="object_dnp_Anim_00625C" Offset="0x625C" />
<Animation Name="object_dnp_Anim_00674C" Offset="0x674C" />
<Animation Name="object_dnp_Anim_006B74" Offset="0x6B74" />
<Animation Name="object_dnp_Anim_0071F4" Offset="0x71F4" />
<Animation Name="object_dnp_Anim_007960" Offset="0x7960" />
<Animation Name="object_dnp_Anim_008588" Offset="0x8588" />
<Animation Name="object_dnp_Anim_00923C" Offset="0x923C" />
<Animation Name="object_dnp_Anim_009AA0" Offset="0x9AA0" />
<Animation Name="object_dnp_Anim_00A900" Offset="0xA900" />
<Animation Name="object_dnp_Anim_00AEB8" Offset="0xAEB8" />
<Animation Name="object_dnp_Anim_00B324" Offset="0xB324" />
<Animation Name="object_dnp_Anim_00B754" Offset="0xB754" />
<Animation Name="object_dnp_Anim_00BAD8" Offset="0xBAD8" />
<DList Name="object_dnp_DL_00D670" Offset="0xD670" />
<DList Name="object_dnp_DL_00D978" Offset="0xD978" />
<DList Name="object_dnp_DL_00DA08" Offset="0xDA08" />
<DList Name="object_dnp_DL_00DAA0" Offset="0xDAA0" />
<DList Name="object_dnp_DL_00DB38" Offset="0xDB38" />
<DList Name="object_dnp_DL_00DBD0" Offset="0xDBD0" />
<DList Name="object_dnp_DL_00DC68" Offset="0xDC68" />
<DList Name="object_dnp_DL_00DD00" Offset="0xDD00" />
<DList Name="object_dnp_DL_00DD98" Offset="0xDD98" />
<DList Name="object_dnp_DL_00DE30" Offset="0xDE30" />
<DList Name="object_dnp_DL_00DEC8" Offset="0xDEC8" />
<DList Name="object_dnp_DL_00E018" Offset="0xE018" />
<DList Name="object_dnp_DL_00E1C8" Offset="0xE1C8" />
<DList Name="object_dnp_DL_00E260" Offset="0xE260" />
<DList Name="object_dnp_DL_00E2F8" Offset="0xE2F8" />
<DList Name="object_dnp_DL_00E340" Offset="0xE340" />
<DList Name="object_dnp_DL_00E410" Offset="0xE410" />
<DList Name="object_dnp_DL_00E530" Offset="0xE530" />
<DList Name="object_dnp_DL_00E650" Offset="0xE650" />
<DList Name="object_dnp_DL_00E768" Offset="0xE768" />
<DList Name="object_dnp_DL_00E888" Offset="0xE888" />
<DList Name="object_dnp_DL_00E9A8" Offset="0xE9A8" />
<DList Name="object_dnp_DL_00EAC0" Offset="0xEAC0" />
<DList Name="object_dnp_DL_00EBD8" Offset="0xEBD8" />
<Texture Name="object_dnp_Tex_00ECD0" OutName="tex_00ECD0" Format="rgba16" Width="16" Height="32" Offset="0xECD0" />
<Texture Name="object_dnp_Tex_00F0D0" OutName="tex_00F0D0" Format="rgba16" Width="16" Height="32" Offset="0xF0D0" />
<Texture Name="object_dnp_Tex_00F4D0" OutName="tex_00F4D0" Format="rgba16" Width="4" Height="16" Offset="0xF4D0" />
<Texture Name="object_dnp_Tex_00F550" OutName="tex_00F550" Format="rgba16" Width="8" Height="8" Offset="0xF550" />
<Texture Name="object_dnp_Tex_00F5D0" OutName="tex_00F5D0" Format="rgba16" Width="16" Height="16" Offset="0xF5D0" />
<Texture Name="object_dnp_Tex_00F7D0" OutName="tex_00F7D0" Format="rgba16" Width="32" Height="32" Offset="0xF7D0" />
<Texture Name="object_dnp_Tex_00FFD0" OutName="tex_00FFD0" Format="rgba16" Width="16" Height="32" Offset="0xFFD0" />
<Texture Name="object_dnp_Tex_0103D0" OutName="tex_0103D0" Format="rgba16" Width="16" Height="16" Offset="0x103D0" />
<Texture Name="object_dnp_Tex_0105D0" OutName="tex_0105D0" Format="rgba16" Width="16" Height="16" Offset="0x105D0" />
<Texture Name="object_dnp_Tex_0107D0" OutName="tex_0107D0" Format="rgba16" Width="16" Height="16" Offset="0x107D0" />
<Texture Name="object_dnp_Tex_0109D0" OutName="tex_0109D0" Format="rgba16" Width="16" Height="16" Offset="0x109D0" />
<Limb Name="object_dnp_Standardlimb_010BD0" Type="Standard" EnumName="OBJECT_DNP_LIMB_01" Offset="0x10BD0" />
<Limb Name="object_dnp_Standardlimb_010BDC" Type="Standard" EnumName="OBJECT_DNP_LIMB_02" Offset="0x10BDC" />
<Limb Name="object_dnp_Standardlimb_010BE8" Type="Standard" EnumName="OBJECT_DNP_LIMB_03" Offset="0x10BE8" />
<Limb Name="object_dnp_Standardlimb_010BF4" Type="Standard" EnumName="OBJECT_DNP_LIMB_04" Offset="0x10BF4" />
<Limb Name="object_dnp_Standardlimb_010C00" Type="Standard" EnumName="OBJECT_DNP_LIMB_05" Offset="0x10C00" />
<Limb Name="object_dnp_Standardlimb_010C0C" Type="Standard" EnumName="OBJECT_DNP_LIMB_06" Offset="0x10C0C" />
<Limb Name="object_dnp_Standardlimb_010C18" Type="Standard" EnumName="OBJECT_DNP_LIMB_07" Offset="0x10C18" />
<Limb Name="object_dnp_Standardlimb_010C24" Type="Standard" EnumName="OBJECT_DNP_LIMB_08" Offset="0x10C24" />
<Limb Name="object_dnp_Standardlimb_010C30" Type="Standard" EnumName="OBJECT_DNP_LIMB_09" Offset="0x10C30" />
<Limb Name="object_dnp_Standardlimb_010C3C" Type="Standard" EnumName="OBJECT_DNP_LIMB_0A" Offset="0x10C3C" />
<Limb Name="object_dnp_Standardlimb_010C48" Type="Standard" EnumName="OBJECT_DNP_LIMB_0B" Offset="0x10C48" />
<Limb Name="object_dnp_Standardlimb_010C54" Type="Standard" EnumName="OBJECT_DNP_LIMB_0C" Offset="0x10C54" />
<Limb Name="object_dnp_Standardlimb_010C60" Type="Standard" EnumName="OBJECT_DNP_LIMB_0D" Offset="0x10C60" />
<Limb Name="object_dnp_Standardlimb_010C6C" Type="Standard" EnumName="OBJECT_DNP_LIMB_0E" Offset="0x10C6C" />
<Limb Name="object_dnp_Standardlimb_010C78" Type="Standard" EnumName="OBJECT_DNP_LIMB_0F" Offset="0x10C78" />
<Limb Name="object_dnp_Standardlimb_010C84" Type="Standard" EnumName="OBJECT_DNP_LIMB_10" Offset="0x10C84" />
<Limb Name="object_dnp_Standardlimb_010C90" Type="Standard" EnumName="OBJECT_DNP_LIMB_11" Offset="0x10C90" />
<Limb Name="object_dnp_Standardlimb_010C9C" Type="Standard" EnumName="OBJECT_DNP_LIMB_12" Offset="0x10C9C" />
<Limb Name="object_dnp_Standardlimb_010CA8" Type="Standard" EnumName="OBJECT_DNP_LIMB_13" Offset="0x10CA8" />
<Limb Name="object_dnp_Standardlimb_010CB4" Type="Standard" EnumName="OBJECT_DNP_LIMB_14" Offset="0x10CB4" />
<Limb Name="object_dnp_Standardlimb_010CC0" Type="Standard" EnumName="OBJECT_DNP_LIMB_15" Offset="0x10CC0" />
<Limb Name="object_dnp_Standardlimb_010CCC" Type="Standard" EnumName="OBJECT_DNP_LIMB_16" Offset="0x10CCC" />
<Limb Name="object_dnp_Standardlimb_010CD8" Type="Standard" EnumName="OBJECT_DNP_LIMB_17" Offset="0x10CD8" />
<Limb Name="object_dnp_Standardlimb_010CE4" Type="Standard" EnumName="OBJECT_DNP_LIMB_18" Offset="0x10CE4" />
<Limb Name="object_dnp_Standardlimb_010CF0" Type="Standard" EnumName="OBJECT_DNP_LIMB_19" Offset="0x10CF0" />
<Skeleton Name="object_dnp_Skel_010D60" Type="Flex" LimbType="Standard" LimbNone="OBJECT_DNP_LIMB_NONE" LimbMax="OBJECT_DNP_LIMB_MAX" EnumName="ObjectDnpLimb" Offset="0x10D60" />
<Animation Name="object_dnp_Anim_0115B8" Offset="0x115B8" />
<Animation Name="object_dnp_Anim_012428" Offset="0x12428" />
</File>
</Root>
+83 -89
View File
@@ -1,94 +1,88 @@
<Root>
<File Name="object_dnq" Segment="6">
<Animation Name="object_dnq_Anim_0006F0" Offset="0x6F0" />
<Animation Name="object_dnq_Anim_000BF8" Offset="0xBF8" />
<Animation Name="object_dnq_Anim_001100" Offset="0x1100" />
<Animation Name="object_dnq_Anim_001AEC" Offset="0x1AEC" />
<Animation Name="object_dnq_Anim_002690" Offset="0x2690" />
<Animation Name="object_dnq_Anim_003408" Offset="0x3408" />
<Animation Name="object_dnq_Anim_003DBC" Offset="0x3DBC" />
<Animation Name="object_dnq_Anim_0047B8" Offset="0x47B8" />
<Animation Name="object_dnq_Anim_004EA0" Offset="0x4EA0" />
<Animation Name="object_dnq_Anim_005284" Offset="0x5284" />
<Animation Name="object_dnq_Anim_005A14" Offset="0x5A14" />
<Animation Name="object_dnq_Anim_005E18" Offset="0x5E18" />
<Animation Name="object_dnq_Anim_006984" Offset="0x6984" />
<Animation Name="object_dnq_Anim_007528" Offset="0x7528" />
<Animation Name="object_dnq_Anim_008328" Offset="0x8328" />
<Texture Name="object_dnq_Tex_008340" OutName="tex_008340" Format="rgba16" Width="16" Height="16" Offset="0x8340" />
<Texture Name="object_dnq_Tex_008540" OutName="tex_008540" Format="rgba16" Width="16" Height="16" Offset="0x8540" />
<Texture Name="object_dnq_Tex_008740" OutName="tex_008740" Format="rgba16" Width="32" Height="32" Offset="0x8740" />
<Texture Name="object_dnq_Tex_008F40" OutName="tex_008F40" Format="rgba16" Width="32" Height="64" Offset="0x8F40" />
<Texture Name="object_dnq_Tex_009F40" OutName="tex_009F40" Format="rgba16" Width="32" Height="32" Offset="0x9F40" />
<Texture Name="object_dnq_Tex_00A740" OutName="tex_00A740" Format="rgba16" Width="16" Height="16" Offset="0xA740" />
<Texture Name="object_dnq_Tex_00A940" OutName="tex_00A940" Format="rgba16" Width="8" Height="8" Offset="0xA940" />
<Texture Name="object_dnq_Tex_00A9C0" OutName="tex_00A9C0" Format="rgba16" Width="16" Height="16" Offset="0xA9C0" />
<Texture Name="object_dnq_Tex_00ABC0" OutName="tex_00ABC0" Format="rgba16" Width="8" Height="8" Offset="0xABC0" />
<Texture Name="object_dnq_Tex_00AC40" OutName="tex_00AC40" Format="rgba16" Width="8" Height="8" Offset="0xAC40" />
<DList Name="object_dnq_DL_00C9B0" Offset="0xC9B0" />
<DList Name="object_dnq_DL_00CB70" Offset="0xCB70" />
<DList Name="object_dnq_DL_00CC10" Offset="0xCC10" />
<DList Name="object_dnq_DL_00CE38" Offset="0xCE38" />
<DList Name="object_dnq_DL_00CED0" Offset="0xCED0" />
<DList Name="object_dnq_DL_00CFA8" Offset="0xCFA8" />
<DList Name="object_dnq_DL_00D050" Offset="0xD050" />
<DList Name="object_dnq_DL_00D140" Offset="0xD140" />
<DList Name="object_dnq_DL_00D230" Offset="0xD230" />
<DList Name="object_dnq_DL_00D2E8" Offset="0xD2E8" />
<DList Name="object_dnq_DL_00D3D8" Offset="0xD3D8" />
<DList Name="object_dnq_DL_00D4C8" Offset="0xD4C8" />
<DList Name="object_dnq_DL_00D668" Offset="0xD668" />
<DList Name="object_dnq_DL_00D758" Offset="0xD758" />
<DList Name="object_dnq_DL_00D848" Offset="0xD848" />
<DList Name="object_dnq_DL_00D938" Offset="0xD938" />
<DList Name="object_dnq_DL_00DA28" Offset="0xDA28" />
<DList Name="object_dnq_DL_00DB00" Offset="0xDB00" />
<DList Name="object_dnq_DL_00DCA8" Offset="0xDCA8" />
<DList Name="object_dnq_DL_00DD50" Offset="0xDD50" />
<DList Name="object_dnq_DL_00DE40" Offset="0xDE40" />
<DList Name="object_dnq_DL_00DF30" Offset="0xDF30" />
<DList Name="object_dnq_DL_00DFE8" Offset="0xDFE8" />
<DList Name="object_dnq_DL_00E0D8" Offset="0xE0D8" />
<Animation Name="object_dnq_Anim_0007D8" Offset="0x7D8" />
<Animation Name="object_dnq_Anim_00125C" Offset="0x125C" />
<Animation Name="object_dnq_Anim_0017F8" Offset="0x17F8" />
<Animation Name="object_dnq_Anim_001C1C" Offset="0x1C1C" />
<Animation Name="object_dnq_Anim_0021DC" Offset="0x21DC" />
<Animation Name="object_dnq_Anim_0026B8" Offset="0x26B8" />
<Animation Name="object_dnq_Anim_004D08" Offset="0x4D08" />
<Animation Name="object_dnq_Anim_0057AC" Offset="0x57AC" />
<Animation Name="object_dnq_Anim_00625C" Offset="0x625C" />
<Animation Name="object_dnq_Anim_00674C" Offset="0x674C" />
<Animation Name="object_dnq_Anim_006B74" Offset="0x6B74" />
<Animation Name="object_dnq_Anim_0071F4" Offset="0x71F4" />
<Animation Name="object_dnq_Anim_007960" Offset="0x7960" />
<Animation Name="object_dnq_Anim_008588" Offset="0x8588" />
<Animation Name="object_dnq_Anim_00923C" Offset="0x923C" />
<Animation Name="object_dnq_Anim_009AA0" Offset="0x9AA0" />
<Animation Name="object_dnq_Anim_00A900" Offset="0xA900" />
<Animation Name="object_dnq_Anim_00AEB8" Offset="0xAEB8" />
<Animation Name="object_dnq_Anim_00B324" Offset="0xB324" />
<Animation Name="object_dnq_Anim_00B754" Offset="0xB754" />
<Animation Name="object_dnq_Anim_00BAD8" Offset="0xBAD8" />
<DList Name="object_dnq_DL_00D670" Offset="0xD670" />
<DList Name="object_dnq_DL_00D978" Offset="0xD978" />
<DList Name="object_dnq_DL_00DA08" Offset="0xDA08" />
<DList Name="object_dnq_DL_00DAA0" Offset="0xDAA0" />
<DList Name="object_dnq_DL_00DB38" Offset="0xDB38" />
<DList Name="object_dnq_DL_00DBD0" Offset="0xDBD0" />
<DList Name="object_dnq_DL_00DC68" Offset="0xDC68" />
<DList Name="object_dnq_DL_00DD00" Offset="0xDD00" />
<DList Name="object_dnq_DL_00DD98" Offset="0xDD98" />
<DList Name="object_dnq_DL_00DE30" Offset="0xDE30" />
<DList Name="object_dnq_DL_00DEC8" Offset="0xDEC8" />
<DList Name="object_dnq_DL_00E018" Offset="0xE018" />
<DList Name="object_dnq_DL_00E1C8" Offset="0xE1C8" />
<DList Name="object_dnq_DL_00E318" Offset="0xE318" />
<DList Name="object_dnq_DL_00E420" Offset="0xE420" />
<DList Name="object_dnq_DL_00E538" Offset="0xE538" />
<DList Name="object_dnq_DL_00E630" Offset="0xE630" />
<DList Name="object_dnq_DL_00E738" Offset="0xE738" />
<DList Name="object_dnq_DL_00E850" Offset="0xE850" />
<Limb Name="object_dnq_Standardlimb_00E948" Type="Standard" EnumName="OBJECT_DNQ_LIMB_01" Offset="0xE948" />
<Limb Name="object_dnq_Standardlimb_00E954" Type="Standard" EnumName="OBJECT_DNQ_LIMB_02" Offset="0xE954" />
<Limb Name="object_dnq_Standardlimb_00E960" Type="Standard" EnumName="OBJECT_DNQ_LIMB_03" Offset="0xE960" />
<Limb Name="object_dnq_Standardlimb_00E96C" Type="Standard" EnumName="OBJECT_DNQ_LIMB_04" Offset="0xE96C" />
<Limb Name="object_dnq_Standardlimb_00E978" Type="Standard" EnumName="OBJECT_DNQ_LIMB_05" Offset="0xE978" />
<Limb Name="object_dnq_Standardlimb_00E984" Type="Standard" EnumName="OBJECT_DNQ_LIMB_06" Offset="0xE984" />
<Limb Name="object_dnq_Standardlimb_00E990" Type="Standard" EnumName="OBJECT_DNQ_LIMB_07" Offset="0xE990" />
<Limb Name="object_dnq_Standardlimb_00E99C" Type="Standard" EnumName="OBJECT_DNQ_LIMB_08" Offset="0xE99C" />
<Limb Name="object_dnq_Standardlimb_00E9A8" Type="Standard" EnumName="OBJECT_DNQ_LIMB_09" Offset="0xE9A8" />
<Limb Name="object_dnq_Standardlimb_00E9B4" Type="Standard" EnumName="OBJECT_DNQ_LIMB_0A" Offset="0xE9B4" />
<Limb Name="object_dnq_Standardlimb_00E9C0" Type="Standard" EnumName="OBJECT_DNQ_LIMB_0B" Offset="0xE9C0" />
<Limb Name="object_dnq_Standardlimb_00E9CC" Type="Standard" EnumName="OBJECT_DNQ_LIMB_0C" Offset="0xE9CC" />
<Limb Name="object_dnq_Standardlimb_00E9D8" Type="Standard" EnumName="OBJECT_DNQ_LIMB_0D" Offset="0xE9D8" />
<Limb Name="object_dnq_Standardlimb_00E9E4" Type="Standard" EnumName="OBJECT_DNQ_LIMB_0E" Offset="0xE9E4" />
<Limb Name="object_dnq_Standardlimb_00E9F0" Type="Standard" EnumName="OBJECT_DNQ_LIMB_0F" Offset="0xE9F0" />
<Limb Name="object_dnq_Standardlimb_00E9FC" Type="Standard" EnumName="OBJECT_DNQ_LIMB_10" Offset="0xE9FC" />
<Limb Name="object_dnq_Standardlimb_00EA08" Type="Standard" EnumName="OBJECT_DNQ_LIMB_11" Offset="0xEA08" />
<Limb Name="object_dnq_Standardlimb_00EA14" Type="Standard" EnumName="OBJECT_DNQ_LIMB_12" Offset="0xEA14" />
<Limb Name="object_dnq_Standardlimb_00EA20" Type="Standard" EnumName="OBJECT_DNQ_LIMB_13" Offset="0xEA20" />
<Limb Name="object_dnq_Standardlimb_00EA2C" Type="Standard" EnumName="OBJECT_DNQ_LIMB_14" Offset="0xEA2C" />
<Limb Name="object_dnq_Standardlimb_00EA38" Type="Standard" EnumName="OBJECT_DNQ_LIMB_15" Offset="0xEA38" />
<Limb Name="object_dnq_Standardlimb_00EA44" Type="Standard" EnumName="OBJECT_DNQ_LIMB_16" Offset="0xEA44" />
<Limb Name="object_dnq_Standardlimb_00EA50" Type="Standard" EnumName="OBJECT_DNQ_LIMB_17" Offset="0xEA50" />
<Limb Name="object_dnq_Standardlimb_00EA5C" Type="Standard" EnumName="OBJECT_DNQ_LIMB_18" Offset="0xEA5C" />
<Limb Name="object_dnq_Standardlimb_00EA68" Type="Standard" EnumName="OBJECT_DNQ_LIMB_19" Offset="0xEA68" />
<Limb Name="object_dnq_Standardlimb_00EA74" Type="Standard" EnumName="OBJECT_DNQ_LIMB_1A" Offset="0xEA74" />
<Limb Name="object_dnq_Standardlimb_00EA80" Type="Standard" EnumName="OBJECT_DNQ_LIMB_1B" Offset="0xEA80" />
<Limb Name="object_dnq_Standardlimb_00EA8C" Type="Standard" EnumName="OBJECT_DNQ_LIMB_1C" Offset="0xEA8C" />
<Limb Name="object_dnq_Standardlimb_00EA98" Type="Standard" EnumName="OBJECT_DNQ_LIMB_1D" Offset="0xEA98" />
<Limb Name="object_dnq_Standardlimb_00EAA4" Type="Standard" EnumName="OBJECT_DNQ_LIMB_1E" Offset="0xEAA4" />
<Limb Name="object_dnq_Standardlimb_00EAB0" Type="Standard" EnumName="OBJECT_DNQ_LIMB_1F" Offset="0xEAB0" />
<Limb Name="object_dnq_Standardlimb_00EABC" Type="Standard" EnumName="OBJECT_DNQ_LIMB_20" Offset="0xEABC" />
<Skeleton Name="object_dnq_Skel_00EB48" Type="Flex" LimbType="Standard" LimbNone="OBJECT_DNQ_LIMB_NONE" LimbMax="OBJECT_DNQ_LIMB_MAX" EnumName="ObjectDnqLimb" Offset="0xEB48" />
<Animation Name="object_dnq_Anim_00F504" Offset="0xF504" />
<DList Name="object_dnq_DL_00E260" Offset="0xE260" />
<DList Name="object_dnq_DL_00E2F8" Offset="0xE2F8" />
<DList Name="object_dnq_DL_00E340" Offset="0xE340" />
<DList Name="object_dnq_DL_00E410" Offset="0xE410" />
<DList Name="object_dnq_DL_00E530" Offset="0xE530" />
<DList Name="object_dnq_DL_00E650" Offset="0xE650" />
<DList Name="object_dnq_DL_00E768" Offset="0xE768" />
<DList Name="object_dnq_DL_00E888" Offset="0xE888" />
<DList Name="object_dnq_DL_00E9A8" Offset="0xE9A8" />
<DList Name="object_dnq_DL_00EAC0" Offset="0xEAC0" />
<DList Name="object_dnq_DL_00EBD8" Offset="0xEBD8" />
<Texture Name="object_dnq_Tex_00ECD0" OutName="tex_00ECD0" Format="rgba16" Width="16" Height="32" Offset="0xECD0" />
<Texture Name="object_dnq_Tex_00F0D0" OutName="tex_00F0D0" Format="rgba16" Width="16" Height="32" Offset="0xF0D0" />
<Texture Name="object_dnq_Tex_00F4D0" OutName="tex_00F4D0" Format="rgba16" Width="4" Height="16" Offset="0xF4D0" />
<Texture Name="object_dnq_Tex_00F550" OutName="tex_00F550" Format="rgba16" Width="8" Height="8" Offset="0xF550" />
<Texture Name="object_dnq_Tex_00F5D0" OutName="tex_00F5D0" Format="rgba16" Width="16" Height="16" Offset="0xF5D0" />
<Texture Name="object_dnq_Tex_00F7D0" OutName="tex_00F7D0" Format="rgba16" Width="32" Height="32" Offset="0xF7D0" />
<Texture Name="object_dnq_Tex_00FFD0" OutName="tex_00FFD0" Format="rgba16" Width="16" Height="32" Offset="0xFFD0" />
<Texture Name="object_dnq_Tex_0103D0" OutName="tex_0103D0" Format="rgba16" Width="16" Height="16" Offset="0x103D0" />
<Texture Name="object_dnq_Tex_0105D0" OutName="tex_0105D0" Format="rgba16" Width="16" Height="16" Offset="0x105D0" />
<Texture Name="object_dnq_Tex_0107D0" OutName="tex_0107D0" Format="rgba16" Width="16" Height="16" Offset="0x107D0" />
<Texture Name="object_dnq_Tex_0109D0" OutName="tex_0109D0" Format="rgba16" Width="16" Height="16" Offset="0x109D0" />
<Limb Name="object_dnq_Standardlimb_010BD0" Type="Standard" EnumName="OBJECT_DNQ_LIMB_01" Offset="0x10BD0" />
<Limb Name="object_dnq_Standardlimb_010BDC" Type="Standard" EnumName="OBJECT_DNQ_LIMB_02" Offset="0x10BDC" />
<Limb Name="object_dnq_Standardlimb_010BE8" Type="Standard" EnumName="OBJECT_DNQ_LIMB_03" Offset="0x10BE8" />
<Limb Name="object_dnq_Standardlimb_010BF4" Type="Standard" EnumName="OBJECT_DNQ_LIMB_04" Offset="0x10BF4" />
<Limb Name="object_dnq_Standardlimb_010C00" Type="Standard" EnumName="OBJECT_DNQ_LIMB_05" Offset="0x10C00" />
<Limb Name="object_dnq_Standardlimb_010C0C" Type="Standard" EnumName="OBJECT_DNQ_LIMB_06" Offset="0x10C0C" />
<Limb Name="object_dnq_Standardlimb_010C18" Type="Standard" EnumName="OBJECT_DNQ_LIMB_07" Offset="0x10C18" />
<Limb Name="object_dnq_Standardlimb_010C24" Type="Standard" EnumName="OBJECT_DNQ_LIMB_08" Offset="0x10C24" />
<Limb Name="object_dnq_Standardlimb_010C30" Type="Standard" EnumName="OBJECT_DNQ_LIMB_09" Offset="0x10C30" />
<Limb Name="object_dnq_Standardlimb_010C3C" Type="Standard" EnumName="OBJECT_DNQ_LIMB_0A" Offset="0x10C3C" />
<Limb Name="object_dnq_Standardlimb_010C48" Type="Standard" EnumName="OBJECT_DNQ_LIMB_0B" Offset="0x10C48" />
<Limb Name="object_dnq_Standardlimb_010C54" Type="Standard" EnumName="OBJECT_DNQ_LIMB_0C" Offset="0x10C54" />
<Limb Name="object_dnq_Standardlimb_010C60" Type="Standard" EnumName="OBJECT_DNQ_LIMB_0D" Offset="0x10C60" />
<Limb Name="object_dnq_Standardlimb_010C6C" Type="Standard" EnumName="OBJECT_DNQ_LIMB_0E" Offset="0x10C6C" />
<Limb Name="object_dnq_Standardlimb_010C78" Type="Standard" EnumName="OBJECT_DNQ_LIMB_0F" Offset="0x10C78" />
<Limb Name="object_dnq_Standardlimb_010C84" Type="Standard" EnumName="OBJECT_DNQ_LIMB_10" Offset="0x10C84" />
<Limb Name="object_dnq_Standardlimb_010C90" Type="Standard" EnumName="OBJECT_DNQ_LIMB_11" Offset="0x10C90" />
<Limb Name="object_dnq_Standardlimb_010C9C" Type="Standard" EnumName="OBJECT_DNQ_LIMB_12" Offset="0x10C9C" />
<Limb Name="object_dnq_Standardlimb_010CA8" Type="Standard" EnumName="OBJECT_DNQ_LIMB_13" Offset="0x10CA8" />
<Limb Name="object_dnq_Standardlimb_010CB4" Type="Standard" EnumName="OBJECT_DNQ_LIMB_14" Offset="0x10CB4" />
<Limb Name="object_dnq_Standardlimb_010CC0" Type="Standard" EnumName="OBJECT_DNQ_LIMB_15" Offset="0x10CC0" />
<Limb Name="object_dnq_Standardlimb_010CCC" Type="Standard" EnumName="OBJECT_DNQ_LIMB_16" Offset="0x10CCC" />
<Limb Name="object_dnq_Standardlimb_010CD8" Type="Standard" EnumName="OBJECT_DNQ_LIMB_17" Offset="0x10CD8" />
<Limb Name="object_dnq_Standardlimb_010CE4" Type="Standard" EnumName="OBJECT_DNQ_LIMB_18" Offset="0x10CE4" />
<Limb Name="object_dnq_Standardlimb_010CF0" Type="Standard" EnumName="OBJECT_DNQ_LIMB_19" Offset="0x10CF0" />
<Skeleton Name="object_dnq_Skel_010D60" Type="Flex" LimbType="Standard" LimbNone="OBJECT_DNQ_LIMB_NONE" LimbMax="OBJECT_DNQ_LIMB_MAX" EnumName="ObjectDnpLimb" Offset="0x10D60" />
<Animation Name="object_dnq_Anim_0115B8" Offset="0x115B8" />
<Animation Name="object_dnq_Anim_012428" Offset="0x12428" />
</File>
</Root>
+75 -63
View File
@@ -1,67 +1,79 @@
<Root>
<!-- Assets for Dragonflies. -->
<File Name="object_grasshopper" Segment="6">
<Animation Name="object_grasshopper_Anim_00066C" Offset="0x66C" />
<Animation Name="object_grasshopper_Anim_0008D4" Offset="0x8D4" />
<Animation Name="object_grasshopper_Anim_0009E0" Offset="0x9E0" />
<Animation Name="object_grasshopper_Anim_000F9C" Offset="0xF9C" />
<Texture Name="object_grasshopper_Tex_000FB0" OutName="tex_000FB0" Format="rgba16" Width="8" Height="8" Offset="0xFB0" />
<Texture Name="object_grasshopper_Tex_001030" OutName="tex_001030" Format="rgba16" Width="16" Height="32" Offset="0x1030" />
<Texture Name="object_grasshopper_Tex_001430" OutName="tex_001430" Format="rgba16" Width="16" Height="16" Offset="0x1430" />
<Texture Name="object_grasshopper_Tex_001630" OutName="tex_001630" Format="rgba16" Width="8" Height="8" Offset="0x1630" />
<Texture Name="object_grasshopper_Tex_0016B0" OutName="tex_0016B0" Format="rgba16" Width="32" Height="8" Offset="0x16B0" />
<Texture Name="object_grasshopper_Tex_0018B0" OutName="tex_0018B0" Format="rgba16" Width="16" Height="8" Offset="0x18B0" />
<Texture Name="object_grasshopper_Tex_0019B0" OutName="tex_0019B0" Format="rgba16" Width="8" Height="8" Offset="0x19B0" />
<Texture Name="object_grasshopper_Tex_001A30" OutName="tex_001A30" Format="rgba16" Width="8" Height="8" Offset="0x1A30" />
<Texture Name="object_grasshopper_Tex_001AB0" OutName="tex_001AB0" Format="rgba16" Width="16" Height="16" Offset="0x1AB0" />
<DList Name="object_grasshopper_DL_002BE0" Offset="0x2BE0" />
<DList Name="object_grasshopper_DL_002C70" Offset="0x2C70" />
<DList Name="object_grasshopper_DL_002D00" Offset="0x2D00" />
<DList Name="object_grasshopper_DL_002D90" Offset="0x2D90" />
<DList Name="object_grasshopper_DL_002E28" Offset="0x2E28" />
<DList Name="object_grasshopper_DL_002EC0" Offset="0x2EC0" />
<DList Name="object_grasshopper_DL_002F50" Offset="0x2F50" />
<DList Name="object_grasshopper_DL_002FE0" Offset="0x2FE0" />
<DList Name="object_grasshopper_DL_003078" Offset="0x3078" />
<DList Name="object_grasshopper_DL_003110" Offset="0x3110" />
<DList Name="object_grasshopper_DL_0031A8" Offset="0x31A8" />
<DList Name="object_grasshopper_DL_003240" Offset="0x3240" />
<DList Name="object_grasshopper_DL_0032E8" Offset="0x32E8" />
<DList Name="object_grasshopper_DL_0033E0" Offset="0x33E0" />
<DList Name="object_grasshopper_DL_003520" Offset="0x3520" />
<DList Name="object_grasshopper_DL_003660" Offset="0x3660" />
<DList Name="object_grasshopper_DL_003798" Offset="0x3798" />
<DList Name="object_grasshopper_DL_003900" Offset="0x3900" />
<DList Name="object_grasshopper_DL_0039E0" Offset="0x39E0" />
<DList Name="object_grasshopper_DL_003BE0" Offset="0x3BE0" />
<DList Name="object_grasshopper_DL_003C70" Offset="0x3C70" />
<DList Name="object_grasshopper_DL_003D00" Offset="0x3D00" />
<Limb Name="object_grasshopper_Standardlimb_003D90" Type="Standard" EnumName="OBJECT_GRASSHOPPER_LIMB_01" Offset="0x3D90" />
<Limb Name="object_grasshopper_Standardlimb_003D9C" Type="Standard" EnumName="OBJECT_GRASSHOPPER_LIMB_02" Offset="0x3D9C" />
<Limb Name="object_grasshopper_Standardlimb_003DA8" Type="Standard" EnumName="OBJECT_GRASSHOPPER_LIMB_03" Offset="0x3DA8" />
<Limb Name="object_grasshopper_Standardlimb_003DB4" Type="Standard" EnumName="OBJECT_GRASSHOPPER_LIMB_04" Offset="0x3DB4" />
<Limb Name="object_grasshopper_Standardlimb_003DC0" Type="Standard" EnumName="OBJECT_GRASSHOPPER_LIMB_05" Offset="0x3DC0" />
<Limb Name="object_grasshopper_Standardlimb_003DCC" Type="Standard" EnumName="OBJECT_GRASSHOPPER_LIMB_06" Offset="0x3DCC" />
<Limb Name="object_grasshopper_Standardlimb_003DD8" Type="Standard" EnumName="OBJECT_GRASSHOPPER_LIMB_07" Offset="0x3DD8" />
<Limb Name="object_grasshopper_Standardlimb_003DE4" Type="Standard" EnumName="OBJECT_GRASSHOPPER_LIMB_08" Offset="0x3DE4" />
<Limb Name="object_grasshopper_Standardlimb_003DF0" Type="Standard" EnumName="OBJECT_GRASSHOPPER_LIMB_09" Offset="0x3DF0" />
<Limb Name="object_grasshopper_Standardlimb_003DFC" Type="Standard" EnumName="OBJECT_GRASSHOPPER_LIMB_0A" Offset="0x3DFC" />
<Limb Name="object_grasshopper_Standardlimb_003E08" Type="Standard" EnumName="OBJECT_GRASSHOPPER_LIMB_0B" Offset="0x3E08" />
<Limb Name="object_grasshopper_Standardlimb_003E14" Type="Standard" EnumName="OBJECT_GRASSHOPPER_LIMB_0C" Offset="0x3E14" />
<Limb Name="object_grasshopper_Standardlimb_003E20" Type="Standard" EnumName="OBJECT_GRASSHOPPER_LIMB_0D" Offset="0x3E20" />
<Limb Name="object_grasshopper_Standardlimb_003E2C" Type="Standard" EnumName="OBJECT_GRASSHOPPER_LIMB_0E" Offset="0x3E2C" />
<Limb Name="object_grasshopper_Standardlimb_003E38" Type="Standard" EnumName="OBJECT_GRASSHOPPER_LIMB_0F" Offset="0x3E38" />
<Limb Name="object_grasshopper_Standardlimb_003E44" Type="Standard" EnumName="OBJECT_GRASSHOPPER_LIMB_10" Offset="0x3E44" />
<Limb Name="object_grasshopper_Standardlimb_003E50" Type="Standard" EnumName="OBJECT_GRASSHOPPER_LIMB_11" Offset="0x3E50" />
<Limb Name="object_grasshopper_Standardlimb_003E5C" Type="Standard" EnumName="OBJECT_GRASSHOPPER_LIMB_12" Offset="0x3E5C" />
<Limb Name="object_grasshopper_Standardlimb_003E68" Type="Standard" EnumName="OBJECT_GRASSHOPPER_LIMB_13" Offset="0x3E68" />
<Limb Name="object_grasshopper_Standardlimb_003E74" Type="Standard" EnumName="OBJECT_GRASSHOPPER_LIMB_14" Offset="0x3E74" />
<Limb Name="object_grasshopper_Standardlimb_003E80" Type="Standard" EnumName="OBJECT_GRASSHOPPER_LIMB_15" Offset="0x3E80" />
<Limb Name="object_grasshopper_Standardlimb_003E8C" Type="Standard" EnumName="OBJECT_GRASSHOPPER_LIMB_16" Offset="0x3E8C" />
<Limb Name="object_grasshopper_Standardlimb_003E98" Type="Standard" EnumName="OBJECT_GRASSHOPPER_LIMB_17" Offset="0x3E98" />
<Skeleton Name="object_grasshopper_Skel_003F00" Type="Normal" LimbType="Standard" LimbNone="OBJECT_GRASSHOPPER_LIMB_NONE" LimbMax="OBJECT_GRASSHOPPER_LIMB_MAX" EnumName="ObjectGrasshopperLimb" Offset="0x3F00" />
<Animation Name="object_grasshopper_Anim_0042F0" Offset="0x42F0" />
<Animation Name="object_grasshopper_Anim_0047AC" Offset="0x47AC" />
<Animation Name="object_grasshopper_Anim_004BC8" Offset="0x4BC8" />
<Animation Name="object_grasshopper_Anim_00524C" Offset="0x524C" />
<!-- Dragonfly Animations -->
<Animation Name="gDragonflyAttackAnim" Offset="0x66C" /> <!-- Original name is "kdz_attack" -->
<Animation Name="gDragonflyDeadAnim" Offset="0x8D4" /> <!-- Original name is "kdz_dead_hit" -->
<Animation Name="gDragonflyFallAnim" Offset="0x9E0" /> <!-- Original name is "kdz_down" -->
<Animation Name="gDragonflyFlyAnim" Offset="0xF9C" /> <!-- Original name is "kdz_fly" -->
<!-- Dragonfly Textures -->
<Texture Name="gDragonflyMouthAndTailSegmentUndersideTex" OutName="dragonfly_mouth_and_tail_segment_underside" Format="rgba16" Width="8" Height="8" Offset="0xFB0" />
<Texture Name="gDragonflyTailBackTex" OutName="dragonfly_tail_back" Format="rgba16" Width="16" Height="32" Offset="0x1030" />
<Texture Name="gDragonflyThoraxBackAndLegsTex" OutName="dragonfly_thorax_back_and_legs" Format="rgba16" Width="16" Height="16" Offset="0x1430" />
<Texture Name="gDragonflyStripeTex" OutName="dragonfly_stripe" Format="rgba16" Width="8" Height="8" Offset="0x1630" />
<Texture Name="gDragonflyHeadAndTailTipTex" OutName="dragonfly_head_and_tail_tip" Format="rgba16" Width="32" Height="8" Offset="0x16B0" />
<Texture Name="gDragonflyThoraxSidesTex" OutName="dragonfly_thorax_sides" Format="rgba16" Width="16" Height="8" Offset="0x18B0" />
<Texture Name="gDragonflyWingTex" OutName="dragonfly_wing" Format="rgba16" Width="8" Height="8" Offset="0x19B0" />
<Texture Name="gDragonflyEyeTex" OutName="dragonfly_eye" Format="rgba16" Width="8" Height="8" Offset="0x1A30" />
<Texture Name="gDragonflyFaceTex" OutName="dragonfly_face" Format="rgba16" Width="16" Height="16" Offset="0x1AB0" />
<!-- Dragonfly Limb DisplayLists -->
<DList Name="gDragonflyBackRightFootDL" Offset="0x2BE0" />
<DList Name="gDragonflyBackLeftLowerLegDL" Offset="0x2C70" />
<DList Name="gDragonflyBackRightLowerLegDL" Offset="0x2D00" />
<DList Name="gDragonflyFrontLeftUpperLegDL" Offset="0x2D90" />
<DList Name="gDragonflyFrontRightUpperLegDL" Offset="0x2E28" />
<DList Name="gDragonflyFrontLeftLowerLegDL" Offset="0x2EC0" />
<DList Name="gDragonflyFrontRightLowerLegDL" Offset="0x2F50" />
<DList Name="gDragonflyLeftWingDL" Offset="0x2FE0" />
<DList Name="gDragonflyRightWingDL" Offset="0x3078" />
<DList Name="gDragonflyBackRightUpperLegDL" Offset="0x3110" />
<DList Name="gDragonflyBackLeftUpperLegDL" Offset="0x31A8" />
<DList Name="gDragonflyTailTipDL" Offset="0x3240" />
<DList Name="gDragonflyTailSegment4DL" Offset="0x32E8" />
<DList Name="gDragonflyTailSegment3DL" Offset="0x33E0" />
<DList Name="gDragonflyTailSegment2DL" Offset="0x3520" />
<DList Name="gDragonflyTailSegment1DL" Offset="0x3660" />
<DList Name="gDragonflyThoraxDL" Offset="0x3798" />
<DList Name="gDragonflyJawDL" Offset="0x3900" />
<DList Name="gDragonflyHeadDL" Offset="0x39E0" />
<DList Name="gDragonflyBackLeftFootDL" Offset="0x3BE0" />
<DList Name="gDragonflyFrontLeftFootDL" Offset="0x3C70" />
<DList Name="gDragonflyFrontRightFootDL" Offset="0x3D00" />
<!-- Dragonfly Limbs -->
<Limb Name="gDragonflyRootLimb" Type="Standard" EnumName="DRAGONFLY_LIMB_ROOT" Offset="0x3D90" />
<Limb Name="gDragonflyTailSegment1Limb" Type="Standard" EnumName="DRAGONFLY_LIMB_TAIL_SEGMENT_1" Offset="0x3D9C" />
<Limb Name="gDragonflyTailSegment2Limb" Type="Standard" EnumName="DRAGONFLY_LIMB_TAIL_SEGMENT_2" Offset="0x3DA8" />
<Limb Name="gDragonflyTailSegment3Limb" Type="Standard" EnumName="DRAGONFLY_LIMB_TAIL_SEGMENT_3" Offset="0x3DB4" />
<Limb Name="gDragonflyTailSegment4Limb" Type="Standard" EnumName="DRAGONFLY_LIMB_TAIL_SEGMENT_4" Offset="0x3DC0" />
<Limb Name="gDragonflyTailTipLimb" Type="Standard" EnumName="DRAGONFLY_LIMB_TAIL_TIP" Offset="0x3DCC" />
<Limb Name="gDragonflyThoraxLimb" Type="Standard" EnumName="DRAGONFLY_LIMB_THORAX" Offset="0x3DD8" />
<Limb Name="gDragonflyLeftWingLimb" Type="Standard" EnumName="DRAGONFLY_LIMB_LEFT_WING" Offset="0x3DE4" />
<Limb Name="gDragonflyRightWingLimb" Type="Standard" EnumName="DRAGONFLY_LIMB_RIGHT_WING" Offset="0x3DF0" />
<Limb Name="gDragonflyBackLeftUpperLegLimb" Type="Standard" EnumName="DRAGONFLY_LIMB_BACK_LEFT_UPPER_LEG" Offset="0x3DFC" />
<Limb Name="gDragonflyBackLeftLowerLegLimb" Type="Standard" EnumName="DRAGONFLY_LIMB_BACK_LEFT_LOWER_LEG" Offset="0x3E08" />
<Limb Name="gDragonflyBackLeftFootLimb" Type="Standard" EnumName="DRAGONFLY_LIMB_BACK_LEFT_FOOT" Offset="0x3E14" />
<Limb Name="gDragonflyBackRightUpperLegLimb" Type="Standard" EnumName="DRAGONFLY_LIMB_BACK_RIGHT_UPPER_LEG" Offset="0x3E20" />
<Limb Name="gDragonflyBackRightLowerLegLimb" Type="Standard" EnumName="DRAGONFLY_LIMB_BACK_RIGHT_LOWER_LEG" Offset="0x3E2C" />
<Limb Name="gDragonflyBackRightFootLimb" Type="Standard" EnumName="DRAGONFLY_LIMB_BACK_RIGHT_FOOT" Offset="0x3E38" />
<Limb Name="gDragonflyFrontLeftUpperLegLimb" Type="Standard" EnumName="DRAGONFLY_LIMB_FRONT_LEFT_UPPER_LEG" Offset="0x3E44" />
<Limb Name="gDragonflyFrontLeftLowerLegLimb" Type="Standard" EnumName="DRAGONFLY_LIMB_FRONT_LEFT_LOWER_LEG" Offset="0x3E50" />
<Limb Name="gDragonflyFrontLeftFootLimb" Type="Standard" EnumName="DRAGONFLY_LIMB_FRONT_LEFT_FOOT" Offset="0x3E5C" />
<Limb Name="gDragonflyFrontRightUpperLegLimb" Type="Standard" EnumName="DRAGONFLY_LIMB_FRONT_RIGHT_UPPER_LEG" Offset="0x3E68" />
<Limb Name="gDragonflyFrontRightLowerLegLimb" Type="Standard" EnumName="DRAGONFLY_LIMB_FRONT_RIGHT_LOWER_LEG" Offset="0x3E74" />
<Limb Name="gDragonflyFrontRightFootLimb" Type="Standard" EnumName="DRAGONFLY_LIMB_FRONT_RIGHT_FOOT" Offset="0x3E80" />
<Limb Name="gDragonflyHeadLimb" Type="Standard" EnumName="DRAGONFLY_LIMB_HEAD" Offset="0x3E8C" />
<Limb Name="gDragonflyJawLimb" Type="Standard" EnumName="DRAGONFLY_LIMB_JAW" Offset="0x3E98" />
<!-- Dragonfly Skeleton -->
<Skeleton Name="gDragonflySkel" Type="Normal" LimbType="Standard" LimbNone="DRAGONFLY_LIMB_NONE" LimbMax="DRAGONFLY_LIMB_MAX" EnumName="DragonflyLimb" Offset="0x3F00" />
<!-- Dragonfly Animations -->
<Animation Name="gDragonflyRaiseTailAnim" Offset="0x42F0" /> <!-- Original name is "kdz_hight" -->
<Animation Name="gDragonflyDamageAnim" Offset="0x47AC" /> <!-- Original name is "kdz_hit" -->
<Animation Name="gDragonflyLowerTailAnim" Offset="0x4BC8" /> <!-- Original name is "kdz_low" -->
<Animation Name="gDragonflyHoverAnim" Offset="0x524C" /> <!-- Original name is "kdz_wait" -->
</File>
</Root>
+59 -58
View File
@@ -1,62 +1,63 @@
<Root>
<!-- Assets for Honey & Darling -->
<File Name="object_mu" Segment="6">
<Animation Name="object_mu_Anim_001F74" Offset="0x1F74" />
<Animation Name="object_mu_Anim_002F64" Offset="0x2F64" />
<Animation Name="object_mu_Anim_004904" Offset="0x4904" />
<Animation Name="object_mu_Anim_005304" Offset="0x5304" />
<Animation Name="object_mu_Anim_0053E0" Offset="0x53E0" />
<Texture Name="object_mu_TLUT_0053F0" OutName="tlut_0053F0" Format="rgba16" Width="16" Height="16" Offset="0x53F0" />
<Texture Name="object_mu_Tex_0055F0" OutName="tex_0055F0" Format="i8" Width="16" Height="16" Offset="0x55F0" />
<Texture Name="object_mu_Tex_0056F0" OutName="tex_0056F0" Format="ci8" Width="16" Height="16" Offset="0x56F0" />
<Texture Name="object_mu_Tex_0057F0" OutName="tex_0057F0" Format="i8" Width="8" Height="8" Offset="0x57F0" />
<Texture Name="object_mu_Tex_005830" OutName="tex_005830" Format="ci8" Width="8" Height="8" Offset="0x5830" />
<Texture Name="object_mu_Tex_005870" OutName="tex_005870" Format="ci8" Width="16" Height="16" Offset="0x5870" />
<Texture Name="object_mu_Tex_005970" OutName="tex_005970" Format="ci8" Width="8" Height="8" Offset="0x5970" />
<Texture Name="object_mu_Tex_0059B0" OutName="tex_0059B0" Format="ci8" Width="32" Height="16" Offset="0x59B0" />
<Texture Name="object_mu_Tex_005BB0" OutName="tex_005BB0" Format="ci8" Width="32" Height="32" Offset="0x5BB0" />
<Texture Name="object_mu_Tex_005FB0" OutName="tex_005FB0" Format="ci8" Width="8" Height="8" Offset="0x5FB0" />
<Texture Name="object_mu_Tex_005FF0" OutName="tex_005FF0" Format="ci8" Width="8" Height="16" Offset="0x5FF0" />
<Texture Name="object_mu_Tex_006070" OutName="tex_006070" Format="ci8" Width="32" Height="32" Offset="0x6070" />
<DList Name="object_mu_DL_009370" Offset="0x9370" />
<DList Name="object_mu_DL_0096C8" Offset="0x96C8" />
<DList Name="object_mu_DL_009BC8" Offset="0x9BC8" />
<DList Name="object_mu_DL_009D10" Offset="0x9D10" />
<DList Name="object_mu_DL_009E10" Offset="0x9E10" />
<DList Name="object_mu_DL_009F10" Offset="0x9F10" />
<DList Name="object_mu_DL_00A058" Offset="0xA058" />
<DList Name="object_mu_DL_00A158" Offset="0xA158" />
<DList Name="object_mu_DL_00A258" Offset="0xA258" />
<DList Name="object_mu_DL_00A3C8" Offset="0xA3C8" />
<DList Name="object_mu_DL_00A510" Offset="0xA510" />
<DList Name="object_mu_DL_00AA10" Offset="0xAA10" />
<DList Name="object_mu_DL_00AB10" Offset="0xAB10" />
<DList Name="object_mu_DL_00AC10" Offset="0xAC10" />
<DList Name="object_mu_DL_00AD58" Offset="0xAD58" />
<DList Name="object_mu_DL_00AE58" Offset="0xAE58" />
<DList Name="object_mu_DL_00AF58" Offset="0xAF58" />
<DList Name="object_mu_DL_00B0A0" Offset="0xB0A0" />
<DList Name="object_mu_DL_00B0E0" Offset="0xB0E0" />
<Limb Name="object_mu_Standardlimb_00B170" Type="Standard" EnumName="OBJECT_MU_LIMB_01" Offset="0xB170" />
<Limb Name="object_mu_Standardlimb_00B17C" Type="Standard" EnumName="OBJECT_MU_LIMB_02" Offset="0xB17C" />
<Limb Name="object_mu_Standardlimb_00B188" Type="Standard" EnumName="OBJECT_MU_LIMB_03" Offset="0xB188" />
<Limb Name="object_mu_Standardlimb_00B194" Type="Standard" EnumName="OBJECT_MU_LIMB_04" Offset="0xB194" />
<Limb Name="object_mu_Standardlimb_00B1A0" Type="Standard" EnumName="OBJECT_MU_LIMB_05" Offset="0xB1A0" />
<Limb Name="object_mu_Standardlimb_00B1AC" Type="Standard" EnumName="OBJECT_MU_LIMB_06" Offset="0xB1AC" />
<Limb Name="object_mu_Standardlimb_00B1B8" Type="Standard" EnumName="OBJECT_MU_LIMB_07" Offset="0xB1B8" />
<Limb Name="object_mu_Standardlimb_00B1C4" Type="Standard" EnumName="OBJECT_MU_LIMB_08" Offset="0xB1C4" />
<Limb Name="object_mu_Standardlimb_00B1D0" Type="Standard" EnumName="OBJECT_MU_LIMB_09" Offset="0xB1D0" />
<Limb Name="object_mu_Standardlimb_00B1DC" Type="Standard" EnumName="OBJECT_MU_LIMB_0A" Offset="0xB1DC" />
<Limb Name="object_mu_Standardlimb_00B1E8" Type="Standard" EnumName="OBJECT_MU_LIMB_0B" Offset="0xB1E8" />
<Limb Name="object_mu_Standardlimb_00B1F4" Type="Standard" EnumName="OBJECT_MU_LIMB_0C" Offset="0xB1F4" />
<Limb Name="object_mu_Standardlimb_00B200" Type="Standard" EnumName="OBJECT_MU_LIMB_0D" Offset="0xB200" />
<Limb Name="object_mu_Standardlimb_00B20C" Type="Standard" EnumName="OBJECT_MU_LIMB_0E" Offset="0xB20C" />
<Limb Name="object_mu_Standardlimb_00B218" Type="Standard" EnumName="OBJECT_MU_LIMB_0F" Offset="0xB218" />
<Limb Name="object_mu_Standardlimb_00B224" Type="Standard" EnumName="OBJECT_MU_LIMB_10" Offset="0xB224" />
<Limb Name="object_mu_Standardlimb_00B230" Type="Standard" EnumName="OBJECT_MU_LIMB_11" Offset="0xB230" />
<Limb Name="object_mu_Standardlimb_00B23C" Type="Standard" EnumName="OBJECT_MU_LIMB_12" Offset="0xB23C" />
<Limb Name="object_mu_Standardlimb_00B248" Type="Standard" EnumName="OBJECT_MU_LIMB_13" Offset="0xB248" />
<Limb Name="object_mu_Standardlimb_00B254" Type="Standard" EnumName="OBJECT_MU_LIMB_14" Offset="0xB254" />
<Skeleton Name="object_mu_Skel_00B2B0" Type="Flex" LimbType="Standard" LimbNone="OBJECT_MU_LIMB_NONE" LimbMax="OBJECT_MU_LIMB_MAX" EnumName="ObjectMuLimb" Offset="0xB2B0" />
<Animation Name="object_mu_Anim_00BAC4" Offset="0xBAC4" />
<Animation Name="gHoneyAndDarlingCupCheeksLoopAnim" Offset="0x1F74" />
<Animation Name="gHoneyAndDarlingHugLoopAnim" Offset="0x2F64" />
<Animation Name="gHoneyAndDarlingGameDanceLoopAnim" Offset="0x4904" />
<Animation Name="gHoneyAndDarlingHoldHandsLoopAnim" Offset="0x5304" />
<Animation Name="gHoneyAndDarlingIdleAnim" Offset="0x53E0" />
<Texture Name="gHoneyAndDarlingTLUT" OutName="honey_and_darling_tlut" Format="rgba16" Width="16" Height="16" Offset="0x53F0" />
<Texture Name="gHoneyAndDarlingShirtsAndShoesTex" OutName="honey_and_darling_shirts_and_shoes" Format="i8" Width="16" Height="16" Offset="0x55F0" />
<Texture Name="gHoneyAndDarlingWomanDressTex" OutName="honey_and_darling_woman_dress" Format="ci8" Width="16" Height="16" Offset="0x56F0" />
<Texture Name="gHoneyAndDarlingJointShadeTex" OutName="honey_and_darling_joint_shade" Format="i8" Width="8" Height="8" Offset="0x57F0" /> <!-- For the man's shoulders, elbows, and knees, and the woman's elbows -->
<Texture Name="gHoneyAndDarlingHeadSkinTex" OutName="honey_and_darling_head_skin" Format="ci8" Width="8" Height="8" Offset="0x5830" /> <!-- For their necks, under chin, noses, cheeks, and foreheads -->
<Texture Name="gHoneyAndDarlingManHairTex" OutName="honey_and_darling_man_hair" Format="ci8" Width="16" Height="16" Offset="0x5870" />
<Texture Name="gHoneyAndDarlingEarTex" OutName="honey_and_darling_ear" Format="ci8" Width="8" Height="8" Offset="0x5970" />
<Texture Name="gHoneyAndDarlingMouthTex" OutName="honey_and_darling_mouth" Format="ci8" Width="32" Height="16" Offset="0x59B0" />
<Texture Name="gHoneyAndDarlingManEyeTex" OutName="honey_and_darling_man_eye" Format="ci8" Width="32" Height="32" Offset="0x5BB0" />
<Texture Name="gHoneyAndDarlingHandTex" OutName="honey_and_darling_hand" Format="ci8" Width="8" Height="8" Offset="0x5FB0" />
<Texture Name="gHoneyAndDarlingWomanHairTex" OutName="honey_and_darling_woman_hair" Format="ci8" Width="8" Height="16" Offset="0x5FF0" />
<Texture Name="gHoneyAndDarlingWomanEyeTex" OutName="honey_and_darling_woman_eye" Format="ci8" Width="32" Height="32" Offset="0x6070" />
<DList Name="gHoneyAndDarlingLegsDL" Offset="0x9370" />
<DList Name="gHoneyAndDarlingWomanHeadDL" Offset="0x96C8" />
<DList Name="gHoneyAndDarlingWomanRightHandDL" Offset="0x9BC8" />
<DList Name="gHoneyAndDarlingWomanRightForearmDL" Offset="0x9D10" />
<DList Name="gHoneyAndDarlingWomanRightUpperArmDL" Offset="0x9E10" />
<DList Name="gHoneyAndDarlingWomanLeftHandDL" Offset="0x9F10" />
<DList Name="gHoneyAndDarlingWomanLeftForearmDL" Offset="0xA058" />
<DList Name="gHoneyAndDarlingWomanLeftUpperArmDL" Offset="0xA158" />
<DList Name="gHoneyAndDarlingWomanTorsoDL" Offset="0xA258" />
<DList Name="gHoneyAndDarlingManTorsoDL" Offset="0xA3C8" />
<DList Name="gHoneyAndDarlingManHeadDL" Offset="0xA510" />
<DList Name="gHoneyAndDarlingManRightUpperArmDL" Offset="0xAA10" />
<DList Name="gHoneyAndDarlingManRightForearmDL" Offset="0xAB10" />
<DList Name="gHoneyAndDarlingManRightHandDL" Offset="0xAC10" />
<DList Name="gHoneyAndDarlingManLeftUpperArmDL" Offset="0xAD58" />
<DList Name="gHoneyAndDarlingManLeftForearmDL" Offset="0xAE58" />
<DList Name="gHoneyAndDarlingManLeftHandDL" Offset="0xAF58" />
<DList Name="gHoneyAndDarlingHeartMaterialDL" Offset="0xB0A0" />
<DList Name="gHoneyAndDarlingHeartModelDL" Offset="0xB0E0" />
<Limb Name="gHoneyAndDarlingLegsLimb" Type="Standard" EnumName="HONEY_AND_DARLING_LIMB_LEGS" Offset="0xB170" />
<Limb Name="gHoneyAndDarlingManTorsoLimb" Type="Standard" EnumName="HONEY_AND_DARLING_LIMB_MAN_TORSO" Offset="0xB17C" />
<Limb Name="gHoneyAndDarlingManLeftUpperArmLimb" Type="Standard" EnumName="HONEY_AND_DARLING_LIMB_MAN_LEFT_UPPER_ARM" Offset="0xB188" />
<Limb Name="gHoneyAndDarlingManLeftForearmLimb" Type="Standard" EnumName="HONEY_AND_DARLING_LIMB_MAN_LEFT_FOREARM" Offset="0xB194" />
<Limb Name="gHoneyAndDarlingManLeftHandLimb" Type="Standard" EnumName="HONEY_AND_DARLING_LIMB_MAN_LEFT_HAND" Offset="0xB1A0" />
<Limb Name="gHoneyAndDarlingManRightUpperArmLimb" Type="Standard" EnumName="HONEY_AND_DARLING_LIMB_MAN_RIGHT_UPPER_ARM" Offset="0xB1AC" />
<Limb Name="gHoneyAndDarlingManRightForearmLimb" Type="Standard" EnumName="HONEY_AND_DARLING_LIMB_MAN_RIGHT_FOREARM" Offset="0xB1B8" />
<Limb Name="gHoneyAndDarlingManRightHandLimb" Type="Standard" EnumName="HONEY_AND_DARLING_LIMB_MAN_RIGHT_HAND" Offset="0xB1C4" />
<Limb Name="gHoneyAndDarlingManHeadLimb" Type="Standard" EnumName="HONEY_AND_DARLING_LIMB_MAN_HEAD" Offset="0xB1D0" />
<Limb Name="gHoneyAndDarlingWomanRootLimb" Type="Standard" EnumName="HONEY_AND_DARLING_LIMB_WOMAN_ROOT" Offset="0xB1DC" />
<Limb Name="gHoneyAndDarlingWomanTorsoLimb" Type="Standard" EnumName="HONEY_AND_DARLING_LIMB_WOMAN_TORSO" Offset="0xB1E8" />
<Limb Name="gHoneyAndDarlingWomanLeftUpperArmLimb" Type="Standard" EnumName="HONEY_AND_DARLING_LIMB_WOMAN_LEFT_UPPER_ARM" Offset="0xB1F4" />
<Limb Name="gHoneyAndDarlingWomanLeftForearmRootLimb" Type="Standard" EnumName="HONEY_AND_DARLING_LIMB_WOMAN_LEFT_FOREARM_ROOT" Offset="0xB200" />
<Limb Name="gHoneyAndDarlingWomanLeftForearmLimb" Type="Standard" EnumName="HONEY_AND_DARLING_LIMB_WOMAN_LEFT_FOREARM" Offset="0xB20C" />
<Limb Name="gHoneyAndDarlingWomanLeftHandLimb" Type="Standard" EnumName="HONEY_AND_DARLING_LIMB_WOMAN_LEFT_HAND" Offset="0xB218" />
<Limb Name="gHoneyAndDarlingWomanRightUpperArmLimb" Type="Standard" EnumName="HONEY_AND_DARLING_LIMB_WOMAN_RIGHT_UPPER_ARM" Offset="0xB224" />
<Limb Name="gHoneyAndDarlingWomanRightForearmRootLimb" Type="Standard" EnumName="HONEY_AND_DARLING_LIMB_WOMAN_RIGHT_FOREARM_ROOT" Offset="0xB230" />
<Limb Name="gHoneyAndDarlingWomanRightForearmLimb" Type="Standard" EnumName="HONEY_AND_DARLING_LIMB_WOMAN_RIGHT_FOREARM" Offset="0xB23C" />
<Limb Name="gHoneyAndDarlingWomanRightHandLimb" Type="Standard" EnumName="HONEY_AND_DARLING_LIMB_WOMAN_RIGHT_HAND" Offset="0xB248" />
<Limb Name="gHoneyAndDarlingWomanHeadLimb" Type="Standard" EnumName="HONEY_AND_DARLING_LIMB_WOMAN_HEAD" Offset="0xB254" />
<Skeleton Name="gHoneyAndDarlingSkel" Type="Flex" LimbType="Standard" LimbNone="HONEY_AND_DARLING_LIMB_NONE" LimbMax="HONEY_AND_DARLING_LIMB_MAX" EnumName="HoneyAndDarlingLimb" Offset="0xB2B0" />
<Animation Name="gHoneyAndDarlingSurpiseAnim" Offset="0xBAC4" />
</File>
</Root>
+94 -74
View File
@@ -1,78 +1,98 @@
<Root>
<!-- Adult Ruto from OoT (Unused). -->
<!-- Object is Copy from OoT, including documentation. -->
<File Name="object_ru2" Segment="6">
<Animation Name="object_ru2_Anim_0004CC" Offset="0x4CC" />
<Animation Name="object_ru2_Anim_000DE8" Offset="0xDE8" />
<!-- <Blob Name="object_ru2_Blob_000DF8" Size="0x128" Offset="0xDF8" /> -->
<Texture Name="object_ru2_Tex_000F20" OutName="tex_000F20" Format="rgba16" Width="32" Height="32" Offset="0xF20" />
<Texture Name="object_ru2_Tex_001720" OutName="tex_001720" Format="ci8" Width="8" Height="8" Offset="0x1720" />
<Texture Name="object_ru2_Tex_001760" OutName="tex_001760" Format="ci8" Width="16" Height="16" Offset="0x1760" />
<Texture Name="object_ru2_Tex_001860" OutName="tex_001860" Format="ci8" Width="16" Height="16" Offset="0x1860" />
<Texture Name="object_ru2_Tex_001960" OutName="tex_001960" Format="ci8" Width="8" Height="8" Offset="0x1960" />
<Texture Name="object_ru2_Tex_0019A0" OutName="tex_0019A0" Format="rgba16" Width="32" Height="32" Offset="0x19A0" />
<Texture Name="object_ru2_Tex_0021A0" OutName="tex_0021A0" Format="ci8" Width="8" Height="8" Offset="0x21A0" />
<Texture Name="object_ru2_Tex_0021E0" OutName="tex_0021E0" Format="ci8" Width="16" Height="16" Offset="0x21E0" />
<!-- <Blob Name="object_ru2_Blob_0022E0" Size="0x1000" Offset="0x22E0" /> -->
<Texture Name="object_ru2_Tex_0032E0" OutName="tex_0032E0" Format="rgba16" Width="8" Height="16" Offset="0x32E0" />
<DList Name="object_ru2_DL_003EB0" Offset="0x3EB0" />
<Texture Name="object_ru2_TLUT_0043C0" OutName="tlut_0043C0" Format="rgba16" Width="16" Height="16" Offset="0x43C0" />
<Texture Name="object_ru2_Tex_0045C0" OutName="tex_0045C0" Format="ci8" Width="8" Height="8" Offset="0x45C0" />
<Texture Name="object_ru2_Tex_004600" OutName="tex_004600" Format="ci8" Width="8" Height="8" Offset="0x4600" />
<Texture Name="object_ru2_Tex_004640" OutName="tex_004640" Format="ci8" Width="16" Height="16" Offset="0x4640" />
<Texture Name="object_ru2_Tex_004740" OutName="tex_004740" Format="ci8" Width="16" Height="16" Offset="0x4740" />
<Texture Name="object_ru2_Tex_004840" OutName="tex_004840" Format="ci8" Width="32" Height="64" Offset="0x4840" />
<Texture Name="object_ru2_Tex_005040" OutName="tex_005040" Format="ci8" Width="32" Height="32" Offset="0x5040" />
<Texture Name="object_ru2_Tex_005440" OutName="tex_005440" Format="ci8" Width="8" Height="8" Offset="0x5440" />
<Texture Name="object_ru2_Tex_005480" OutName="tex_005480" Format="ci8" Width="16" Height="16" Offset="0x5480" />
<Texture Name="object_ru2_Tex_005580" OutName="tex_005580" Format="ci8" Width="8" Height="8" Offset="0x5580" />
<Texture Name="object_ru2_Tex_0055C0" OutName="tex_0055C0" Format="ci8" Width="8" Height="32" Offset="0x55C0" />
<Texture Name="object_ru2_Tex_0056C0" OutName="tex_0056C0" Format="rgba16" Width="32" Height="32" Offset="0x56C0" />
<DList Name="object_ru2_DL_0088F0" Offset="0x88F0" />
<DList Name="object_ru2_DL_008D30" Offset="0x8D30" />
<DList Name="object_ru2_DL_009680" Offset="0x9680" />
<DList Name="object_ru2_DL_009998" Offset="0x9998" />
<DList Name="object_ru2_DL_009B80" Offset="0x9B80" />
<DList Name="object_ru2_DL_009F50" Offset="0x9F50" />
<DList Name="object_ru2_DL_00A030" Offset="0xA030" />
<DList Name="object_ru2_DL_00A150" Offset="0xA150" />
<DList Name="object_ru2_DL_00A468" Offset="0xA468" />
<DList Name="object_ru2_DL_00A650" Offset="0xA650" />
<DList Name="object_ru2_DL_00AA20" Offset="0xAA20" />
<DList Name="object_ru2_DL_00AB00" Offset="0xAB00" />
<DList Name="object_ru2_DL_00AC20" Offset="0xAC20" />
<DList Name="object_ru2_DL_00B048" Offset="0xB048" />
<DList Name="object_ru2_DL_00B178" Offset="0xB178" />
<DList Name="object_ru2_DL_00B568" Offset="0xB568" />
<DList Name="object_ru2_DL_00B8E0" Offset="0xB8E0" />
<DList Name="object_ru2_DL_00BD08" Offset="0xBD08" />
<DList Name="object_ru2_DL_00BE38" Offset="0xBE38" />
<DList Name="object_ru2_DL_00C228" Offset="0xC228" />
<Limb Name="object_ru2_Standardlimb_00C5A0" Type="Standard" EnumName="OBJECT_RU2_LIMB_01" Offset="0xC5A0" />
<Limb Name="object_ru2_Standardlimb_00C5AC" Type="Standard" EnumName="OBJECT_RU2_LIMB_02" Offset="0xC5AC" />
<Limb Name="object_ru2_Standardlimb_00C5B8" Type="Standard" EnumName="OBJECT_RU2_LIMB_03" Offset="0xC5B8" />
<Limb Name="object_ru2_Standardlimb_00C5C4" Type="Standard" EnumName="OBJECT_RU2_LIMB_04" Offset="0xC5C4" />
<Limb Name="object_ru2_Standardlimb_00C5D0" Type="Standard" EnumName="OBJECT_RU2_LIMB_05" Offset="0xC5D0" />
<Limb Name="object_ru2_Standardlimb_00C5DC" Type="Standard" EnumName="OBJECT_RU2_LIMB_06" Offset="0xC5DC" />
<Limb Name="object_ru2_Standardlimb_00C5E8" Type="Standard" EnumName="OBJECT_RU2_LIMB_07" Offset="0xC5E8" />
<Limb Name="object_ru2_Standardlimb_00C5F4" Type="Standard" EnumName="OBJECT_RU2_LIMB_08" Offset="0xC5F4" />
<Limb Name="object_ru2_Standardlimb_00C600" Type="Standard" EnumName="OBJECT_RU2_LIMB_09" Offset="0xC600" />
<Limb Name="object_ru2_Standardlimb_00C60C" Type="Standard" EnumName="OBJECT_RU2_LIMB_0A" Offset="0xC60C" />
<Limb Name="object_ru2_Standardlimb_00C618" Type="Standard" EnumName="OBJECT_RU2_LIMB_0B" Offset="0xC618" />
<Limb Name="object_ru2_Standardlimb_00C624" Type="Standard" EnumName="OBJECT_RU2_LIMB_0C" Offset="0xC624" />
<Limb Name="object_ru2_Standardlimb_00C630" Type="Standard" EnumName="OBJECT_RU2_LIMB_0D" Offset="0xC630" />
<Limb Name="object_ru2_Standardlimb_00C63C" Type="Standard" EnumName="OBJECT_RU2_LIMB_0E" Offset="0xC63C" />
<Limb Name="object_ru2_Standardlimb_00C648" Type="Standard" EnumName="OBJECT_RU2_LIMB_0F" Offset="0xC648" />
<Limb Name="object_ru2_Standardlimb_00C654" Type="Standard" EnumName="OBJECT_RU2_LIMB_10" Offset="0xC654" />
<Limb Name="object_ru2_Standardlimb_00C660" Type="Standard" EnumName="OBJECT_RU2_LIMB_11" Offset="0xC660" />
<Limb Name="object_ru2_Standardlimb_00C66C" Type="Standard" EnumName="OBJECT_RU2_LIMB_12" Offset="0xC66C" />
<Limb Name="object_ru2_Standardlimb_00C678" Type="Standard" EnumName="OBJECT_RU2_LIMB_13" Offset="0xC678" />
<Limb Name="object_ru2_Standardlimb_00C684" Type="Standard" EnumName="OBJECT_RU2_LIMB_14" Offset="0xC684" />
<Limb Name="object_ru2_Standardlimb_00C690" Type="Standard" EnumName="OBJECT_RU2_LIMB_15" Offset="0xC690" />
<Limb Name="object_ru2_Standardlimb_00C69C" Type="Standard" EnumName="OBJECT_RU2_LIMB_16" Offset="0xC69C" />
<Skeleton Name="object_ru2_Skel_00C700" Type="Flex" LimbType="Standard" LimbNone="OBJECT_RU2_LIMB_NONE" LimbMax="OBJECT_RU2_LIMB_MAX" EnumName="ObjectRu2Limb" Offset="0xC700" />
<Animation Name="object_ru2_Anim_00D3DC" Offset="0xD3DC" />
<Animation Name="object_ru2_Anim_00DCAC" Offset="0xDCAC" />
<Animation Name="object_ru2_Anim_00E630" Offset="0xE630" />
<Animation Name="object_ru2_Anim_00F03C" Offset="0xF03C" />
<Animation Name="object_ru2_Anim_00F8B8" Offset="0xF8B8" />
<!-- Adult Ruto Animations -->
<!-- gAdultRutoCrossingArmsAnim: Used in OoT when the sages seal ganon in the Evil Realm. -->
<Animation Name="gAdultRutoCrossingArmsAnim" Offset="0x04CC"/>
<Animation Name="gAdultRutoIdleAnim" Offset="0xDE8"/>
<!-- 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"/>
<!-- Adult Ruto Eye Textures -->
<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"/>
<Texture Name="gAdultRutoHeadGradientTex" OutName="adult_ruto_head_gradient" Format="ci8" Width="16" Height="16" Offset="0x1860" TlutOffset="0xE00"/>
<Texture Name="gAdultRutoHeadHoleTex" OutName="adult_ruto_head_hole" Format="ci8" Width="8" Height="8" Offset="0x1960" TlutOffset="0xE00"/>
<Texture Name="gAdultRutoMouthTex" OutName="adult_ruto_mouth" Format="rgba16" Width="32" Height="32" Offset="0x19A0"/>
<Texture Name="gAdultRutoTex_21A0" OutName="adult_ruto_tex_21A0" Format="ci8" Width="8" Height="8" Offset="0x21A0" TlutOffset="0xE00"/>
<Texture Name="gAdultRutoEar2Tex" OutName="adult_ruto_ear_2" Format="ci8" Width="16" Height="16" Offset="0x21E0" TlutOffset="0xE00"/>
<Texture Name="gAdultRutoEarringTex" OutName="adult_ruto_earring" Format="rgba16" Width="8" Height="16" Offset="0x32E0"/>
<Texture Name="gAdultRutoTailGradientTex" OutName="adult_ruto_tail_gradient" Format="ci8" Width="8" Height="8" Offset="0x45C0" TlutOffset="0x43C0"/>
<Texture Name="gAdultRutoTex_4600" OutName="adult_ruto_tex_4600" Format="ci8" Width="8" Height="8" Offset="0x4600" TlutOffset="0x43C0"/>
<Texture Name="gAdultRutoBackOfHandTex" OutName="adult_ruto_back_of_hand" Format="ci8" Width="16" Height="16" Offset="0x4640" TlutOffset="0x43C0"/>
<Texture Name="gAdultRutoTex_4740" OutName="adult_ruto_tex_4740" Format="ci8" Width="16" Height="16" Offset="0x4740" TlutOffset="0x43C0"/>
<Texture Name="gAdultRutoSkinPattern1Tex" OutName="adult_ruto_skin_pattern_1" Format="ci8" Width="32" Height="64" Offset="0x4840" TlutOffset="0x43C0"/>
<Texture Name="gAdultRutoSkinPattern2Tex" OutName="adult_ruto_skin_pattern_2" Format="ci8" Width="32" Height="32" Offset="0x5040" TlutOffset="0x43C0"/>
<Texture Name="gAdultRutoTex_5440" OutName="adult_ruto_tex_5440" Format="ci8" Width="8" Height="8" Offset="0x5440" TlutOffset="0x43C0"/>
<Texture Name="gAdultRutoTex_5480" OutName="adult_ruto_tex_5480" Format="ci8" Width="16" Height="16" Offset="0x5480" TlutOffset="0x43C0"/>
<Texture Name="gAdultRutoTex_5580" OutName="adult_ruto_tex_5580" Format="ci8" Width="8" Height="8" Offset="0x5580" TlutOffset="0x43C0"/>
<!-- Adult Ruto Limb DisplayLists -->
<DList Name="gAdultRutoLeftThighDL" Offset="0xB8E0"/>
<DList Name="gAdultRutoLeftLegDL" Offset="0xBE38"/>
<DList Name="gAdultRutoLeftFootDL" Offset="0xC228"/>
<DList Name="gAdultRutoLeftTailDL" Offset="0xBD08"/>
<DList Name="gAdultRutoRightThighDL" Offset="0xAC20"/>
<DList Name="gAdultRutoRightLegDL" Offset="0xB178"/>
<DList Name="gAdultRutoRightFootDL" Offset="0xB568"/>
<DList Name="gAdultRutoRightTailDL" Offset="0xB048"/>
<DList Name="gAdultRutoTorsoDL" Offset="0x8D30"/>
<DList Name="gAdultRutoLeftUpperArmDL" Offset="0xA150"/>
<DList Name="gAdultRutoLeftUpperWingDL" Offset="0xAA20"/>
<DList Name="gAdultRutoLeftLowerWingDL" Offset="0xAB00"/>
<DList Name="gAdultRutoLeftForearmDL" Offset="0xA468"/>
<DList Name="gAdultRutoLeftHandDL" Offset="0xA650"/>
<DList Name="gAdultRutoRightUpperArmDL" Offset="0x9680"/>
<DList Name="gAdultRutoRightUpperWingDL" Offset="0x9F50"/>
<DList Name="gAdultRutoRightLowerWingDL" Offset="0xA030"/>
<DList Name="gAdultRutoRightForearmDL" Offset="0x9998"/>
<DList Name="gAdultRutoRightHandDL" Offset="0x9B80"/>
<DList Name="gAdultRutoHeadDL" Offset="0x3EB0"/>
<DList Name="gAdultRutoWaistDL" Offset="0x88F0"/>
<!-- Adult Ruto Limbs -->
<Limb Name="gAdultRutoRootLimb" LimbType="Standard" EnumName="RU2_LIMB_ROOT" Offset="0xC5A0"/>
<Limb Name="gAdultRutoLeftThighLimb" LimbType="Standard" EnumName="RU2_LIMB_LEFT_THIGH" Offset="0xC5AC"/>
<Limb Name="gAdultRutoLeftLegLimb" LimbType="Standard" EnumName="RU2_LIMB_LEFT_LEG" Offset="0xC5B8"/>
<Limb Name="gAdultRutoLeftFootLimb" LimbType="Standard" EnumName="RU2_LIMB_LEFT_FOOT" Offset="0xC5C4"/>
<Limb Name="gAdultRutoLeftTailLimb" LimbType="Standard" EnumName="RU2_LIMB_LEFT_TAIL" Offset="0xC5D0"/>
<Limb Name="gAdultRutoRightThighLimb" LimbType="Standard" EnumName="RU2_LIMB_RIGHT_THIGH" Offset="0xC5DC"/>
<Limb Name="gAdultRutoRightLegLimb" LimbType="Standard" EnumName="RU2_LIMB_RIGHT_LEG" Offset="0xC5E8"/>
<Limb Name="gAdultRutoRightFootLimb" LimbType="Standard" EnumName="RU2_LIMB_RIGHT_FOOT" Offset="0xC5F4"/>
<Limb Name="gAdultRutoRightTailLimb" LimbType="Standard" EnumName="RU2_LIMB_RIGHT_TAIL" Offset="0xC600"/>
<Limb Name="gAdultRutoTorsoLimb" LimbType="Standard" EnumName="RU2_LIMB_TORSO" Offset="0xC60C"/>
<Limb Name="gAdultRutoLeftUpperArmLimb" LimbType="Standard" EnumName="RU2_LIMB_LEFT_UPPER_ARM" Offset="0xC618"/>
<Limb Name="gAdultRutoLeftUpperWingLimb" LimbType="Standard" EnumName="RU2_LIMB_LEFT_UPPER_WING" Offset="0xC624"/>
<Limb Name="gAdultRutoLeftLowerWingLimb" LimbType="Standard" EnumName="RU2_LIMB_LEFT_LOWER_WING" Offset="0xC630"/>
<Limb Name="gAdultRutoLeftForearmLimb" LimbType="Standard" EnumName="RU2_LIMB_LEFT_FORARM" Offset="0xC63C"/>
<Limb Name="gAdultRutoLeftHandLimb" LimbType="Standard" EnumName="RU2_LIMB_LEFT_HAND" Offset="0xC648"/>
<Limb Name="gAdultRutoRightUpperArmLimb" LimbType="Standard" EnumName="RU2_LIMB_RIGHT_UPPER_ARM" Offset="0xC654"/>
<Limb Name="gAdultRutoRightUpperWingLimb" LimbType="Standard" EnumName="RU2_LIMB_RIGHT_UPPER_WING" Offset="0xC660"/>
<Limb Name="gAdultRutoRightLowerWingLimb" LimbType="Standard" EnumName="RU2_LIMB_RIGHT_LOWER_WING" Offset="0xC66C"/>
<Limb Name="gAdultRutoRightForearmLimb" LimbType="Standard" EnumName="RU2_LIMB_RIGHT_FORARM" Offset="0xC678"/>
<Limb Name="gAdultRutoRightHandLimb" LimbType="Standard" EnumName="RU2_LIMB_RIGHT_HAND" Offset="0xC684"/>
<Limb Name="gAdultRutoHeadLimb" LimbType="Standard" EnumName="RU2_LIMB_HEAD" Offset="0xC690"/>
<Limb Name="gAdultRutoWaistLimb" LimbType="Standard" EnumName="RU2_LIMB_WAIST" Offset="0xC69C"/>
<Skeleton Name="gAdultRutoSkel" Type="Flex" LimbType="Standard" LimbNone="RU2_LIMB_NONE" LimbMax="RU2_LIMB_MAX" EnumName="Ru2Limb" Offset="0xC700" />
<!-- (More) Adult Ruto Animations -->
<Animation Name="gAdultRutoRaisingArmsUpAnim" Offset="0xD3DC"/>
<!-- HeadTurnDownLeft is intro to gAdultRutoLookingDownLeftAnim, used in OoT Credits scene -->
<!-- Looking down at Nabooru with the other sages on Death Mountain after the party -->
<Animation Name="gAdultRutoHeadTurnDownLeftAnim" Offset="0xDCAC"/>
<Animation Name="gAdultRutoIdleHandsOnHipsAnim" Offset="0xE630"/>
<Animation Name="gAdultRutoLookingDownLeftAnim" Offset="0xF03C"/>
<Animation Name="gAdultRutoSwimmingUpAnim" Offset="0xF8B8"/>
</File>
</Root>
+80 -65
View File
@@ -1,69 +1,84 @@
<Root>
<!-- Assets for Evan, the pianist of The Indigo-Go's. -->
<File Name="object_zos" Segment="6">
<Animation Name="object_zos_Anim_001CFC" Offset="0x1CFC" />
<Animation Name="object_zos_Anim_0048D4" Offset="0x48D4" />
<Animation Name="object_zos_Anim_005E04" Offset="0x5E04" />
<Animation Name="object_zos_Anim_007334" Offset="0x7334" />
<Animation Name="object_zos_Anim_007C40" Offset="0x7C40" />
<Animation Name="object_zos_Anim_008630" Offset="0x8630" />
<Animation Name="object_zos_Anim_0090CC" Offset="0x90CC" />
<Animation Name="object_zos_Anim_009830" Offset="0x9830" />
<Animation Name="object_zos_Anim_00A164" Offset="0xA164" />
<DList Name="object_zos_DL_00D2B0" Offset="0xD2B0" />
<DList Name="object_zos_DL_00D3E0" Offset="0xD3E0" />
<DList Name="object_zos_DL_00D658" Offset="0xD658" />
<DList Name="object_zos_DL_00D7A8" Offset="0xD7A8" />
<DList Name="object_zos_DL_00D900" Offset="0xD900" />
<DList Name="object_zos_DL_00DA90" Offset="0xDA90" />
<DList Name="object_zos_DL_00DB90" Offset="0xDB90" />
<DList Name="object_zos_DL_00DCE8" Offset="0xDCE8" />
<DList Name="object_zos_DL_00DE78" Offset="0xDE78" />
<DList Name="object_zos_DL_00E328" Offset="0xE328" />
<DList Name="object_zos_DL_00E400" Offset="0xE400" />
<DList Name="object_zos_DL_00E4C8" Offset="0xE4C8" />
<DList Name="object_zos_DL_00E700" Offset="0xE700" />
<DList Name="object_zos_DL_00E8A0" Offset="0xE8A0" />
<DList Name="object_zos_DL_00EA80" Offset="0xEA80" />
<DList Name="object_zos_DL_00EC98" Offset="0xEC98" />
<DList Name="object_zos_DL_00EE38" Offset="0xEE38" />
<Texture Name="object_zos_TLUT_00F018" OutName="tlut_00F018" Format="rgba16" Width="16" Height="16" Offset="0xF018" />
<Texture Name="object_zos_Tex_00F218" OutName="tex_00F218" Format="rgba16" Width="32" Height="32" Offset="0xF218" />
<Texture Name="object_zos_Tex_00FA18" OutName="tex_00FA18" Format="ci8" Width="16" Height="16" Offset="0xFA18" />
<Texture Name="object_zos_Tex_00FB18" OutName="tex_00FB18" Format="rgba16" Width="8" Height="8" Offset="0xFB18" />
<Texture Name="object_zos_Tex_00FB98" OutName="tex_00FB98" Format="rgba16" Width="8" Height="8" Offset="0xFB98" />
<Texture Name="object_zos_Tex_00FC18" OutName="tex_00FC18" Format="rgba16" Width="8" Height="8" Offset="0xFC18" />
<Texture Name="object_zos_Tex_00FC98" OutName="tex_00FC98" Format="rgba16" Width="32" Height="32" Offset="0xFC98" />
<Texture Name="object_zos_Tex_010498" OutName="tex_010498" Format="rgba16" Width="16" Height="32" Offset="0x10498" />
<Texture Name="object_zos_Tex_010898" OutName="tex_010898" Format="rgba16" Width="8" Height="8" Offset="0x10898" />
<Texture Name="object_zos_Tex_010918" OutName="tex_010918" Format="rgba16" Width="32" Height="32" Offset="0x10918" />
<Texture Name="object_zos_Tex_011118" OutName="tex_011118" Format="rgba16" Width="32" Height="32" Offset="0x11118" />
<Texture Name="object_zos_Tex_011918" OutName="tex_011918" Format="rgba16" Width="32" Height="32" Offset="0x11918" />
<!-- <Blob Name="object_zos_Blob_012118" Size="0xF70" Offset="0x12118" /> -->
<DList Name="object_zos_DL_013088" Offset="0x13088" />
<DList Name="object_zos_DL_0136E0" Offset="0x136E0" />
<Texture Name="object_zos_Tex_013728" OutName="tex_013728" Format="rgba16" Width="32" Height="32" Offset="0x13728" />
<Texture Name="object_zos_Tex_013F28" OutName="tex_013F28" Format="rgba16" Width="32" Height="32" Offset="0x13F28" />
<Texture Name="object_zos_Tex_014728" OutName="tex_014728" Format="rgba16" Width="32" Height="32" Offset="0x14728" />
<Texture Name="object_zos_Tex_014F28" OutName="tex_014F28" Format="rgba16" Width="16" Height="16" Offset="0x14F28" />
<Limb Name="object_zos_Standardlimb_015128" Type="Standard" EnumName="OBJECT_ZOS_LIMB_01" Offset="0x15128" />
<Limb Name="object_zos_Standardlimb_015134" Type="Standard" EnumName="OBJECT_ZOS_LIMB_02" Offset="0x15134" />
<Limb Name="object_zos_Standardlimb_015140" Type="Standard" EnumName="OBJECT_ZOS_LIMB_03" Offset="0x15140" />
<Limb Name="object_zos_Standardlimb_01514C" Type="Standard" EnumName="OBJECT_ZOS_LIMB_04" Offset="0x1514C" />
<Limb Name="object_zos_Standardlimb_015158" Type="Standard" EnumName="OBJECT_ZOS_LIMB_05" Offset="0x15158" />
<Limb Name="object_zos_Standardlimb_015164" Type="Standard" EnumName="OBJECT_ZOS_LIMB_06" Offset="0x15164" />
<Limb Name="object_zos_Standardlimb_015170" Type="Standard" EnumName="OBJECT_ZOS_LIMB_07" Offset="0x15170" />
<Limb Name="object_zos_Standardlimb_01517C" Type="Standard" EnumName="OBJECT_ZOS_LIMB_08" Offset="0x1517C" />
<Limb Name="object_zos_Standardlimb_015188" Type="Standard" EnumName="OBJECT_ZOS_LIMB_09" Offset="0x15188" />
<Limb Name="object_zos_Standardlimb_015194" Type="Standard" EnumName="OBJECT_ZOS_LIMB_0A" Offset="0x15194" />
<Limb Name="object_zos_Standardlimb_0151A0" Type="Standard" EnumName="OBJECT_ZOS_LIMB_0B" Offset="0x151A0" />
<Limb Name="object_zos_Standardlimb_0151AC" Type="Standard" EnumName="OBJECT_ZOS_LIMB_0C" Offset="0x151AC" />
<Limb Name="object_zos_Standardlimb_0151B8" Type="Standard" EnumName="OBJECT_ZOS_LIMB_0D" Offset="0x151B8" />
<Limb Name="object_zos_Standardlimb_0151C4" Type="Standard" EnumName="OBJECT_ZOS_LIMB_0E" Offset="0x151C4" />
<Limb Name="object_zos_Standardlimb_0151D0" Type="Standard" EnumName="OBJECT_ZOS_LIMB_0F" Offset="0x151D0" />
<Limb Name="object_zos_Standardlimb_0151DC" Type="Standard" EnumName="OBJECT_ZOS_LIMB_10" Offset="0x151DC" />
<Limb Name="object_zos_Standardlimb_0151E8" Type="Standard" EnumName="OBJECT_ZOS_LIMB_11" Offset="0x151E8" />
<Skeleton Name="object_zos_Skel_015238" Type="Flex" LimbType="Standard" LimbNone="OBJECT_ZOS_LIMB_NONE" LimbMax="OBJECT_ZOS_LIMB_MAX" EnumName="ObjectZosLimb" Offset="0x15238" />
<Animation Name="object_zos_Anim_01621C" Offset="0x1621C" />
<Animation Name="object_zos_Anim_016980" Offset="0x16980" />
<!-- Evan Animations -->
<Animation Name="gEvanSlowPlayAnim" Offset="0x1CFC" /> <!-- Original name is "ev_ensou_loop" ("musical performance") -->
<Animation Name="gEvanInspiredAnim" Offset="0x48D4" /> <!-- Original name is "zK_furimuki" ("to turn around") -->
<Animation Name="gEvanPlayRightAnim" Offset="0x5E04" /> <!-- Original name is "zK_play01" -->
<Animation Name="gEvanPlayLeftAnim" Offset="0x7334" /> <!-- Original name is "zK_play02" -->
<Animation Name="gEeanTalkFootTapAnim" Offset="0x7C40" /> <!-- Original name is "zK_talk01" -->
<Animation Name="gEvanTalkLookDownAnim" Offset="0x8630" /> <!-- Original name is "zK_talk02" -->
<Animation Name="gEvanTalkArmsOutAnim" Offset="0x90CC" /> <!-- Original name is "zK_talk03" -->
<Animation Name="gEvanTalkHandsOnHipsAnim" Offset="0x9830" /> <!-- Original name is "zK_talk04" -->
<Animation Name="gEvanLeanOnKeyboardAnim" Offset="0xA164" /> <!-- Original name is "zK_wait01" -->
<!-- Evan Limb DisplayLists -->
<DList Name="gEvanPelvisDL" Offset="0xD2B0" />
<DList Name="gEvanTorsoDL" Offset="0xD3E0" />
<DList Name="gEvanRightUpperArmDL" Offset="0xD658" />
<DList Name="gEvanRightForearmDL" Offset="0xD7A8" />
<DList Name="gEvanRightHandDL" Offset="0xD900" />
<DList Name="gEvanLeftUpperArmDL" Offset="0xDA90" />
<DList Name="gEvanLeftForearmDL" Offset="0xDB90" />
<DList Name="gEvanLeftHandDL" Offset="0xDCE8" />
<DList Name="gEvanHeadDL" Offset="0xDE78" />
<DList Name="gEvanUpperHeadFinDL" Offset="0xE328" />
<DList Name="gEvanLowerHeadFinDL" Offset="0xE400" />
<DList Name="gEvanRightThighDL" Offset="0xE4C8" />
<DList Name="gEvanRightShinDL" Offset="0xE700" />
<DList Name="gEvanRightFootDL" Offset="0xE8A0" />
<DList Name="gEvanLeftThighDL" Offset="0xEA80" />
<DList Name="gEvanLeftShinDL" Offset="0xEC98" />
<DList Name="gEvanLeftFootDL" Offset="0xEE38" />
<!-- Evan Textures -->
<Texture Name="gEvanFingersTLUT" OutName="evan_fingers_tlut" Format="rgba16" Width="16" Height="16" Offset="0xF018" />
<Texture Name="gEvanSpottedSkinTex" OutName="evan_spotted_skin" Format="rgba16" Width="32" Height="32" Offset="0xF218" />
<Texture Name="gEvanFingersTex" OutName="evan_fingers" Format="ci8" Width="16" Height="16" Offset="0xFA18" />
<Texture Name="gEvanMouthEdgeTex" OutName="evan_mouth_edge" Format="rgba16" Width="8" Height="8" Offset="0xFB18" />
<Texture Name="gEvanMouthAndFinsTex" OutName="evan_mouth_and_fins" Format="rgba16" Width="8" Height="8" Offset="0xFB98" />
<Texture Name="gEvanSkinTex" OutName="evan_skin" Format="rgba16" Width="8" Height="8" Offset="0xFC18" />
<Texture Name="gEvanHeadphoneClamTex" OutName="evan_headphone_clam" Format="rgba16" Width="32" Height="32" Offset="0xFC98" />
<Texture Name="gEvanHeadphoneBoneTex" OutName="evan_headphone_bone" Format="rgba16" Width="16" Height="32" Offset="0x10498" />
<Texture Name="gEvanArmbandTex" OutName="evan_armband" Format="rgba16" Width="8" Height="8" Offset="0x10898" />
<Texture Name="gEvanEyeOpenTex" OutName="evan_eye_open" Format="rgba16" Width="32" Height="32" Offset="0x10918" />
<Texture Name="gEvanEyeHalfTex" OutName="evan_eye_half" Format="rgba16" Width="32" Height="32" Offset="0x11118" />
<Texture Name="gEvanEyeClosedTex" OutName="evan_eye_closed" Format="rgba16" Width="32" Height="32" Offset="0x11918" />
<!-- Evan's Keyboard DisplayLists -->
<DList Name="gEvanKeyboardDL" Offset="0x13088" /> <!-- Original name is "zK_gakki_model" -->
<DList Name="gEvanUnknownWhiteTriangleDL" Offset="0x136E0" /> <!-- The purpose of this is unknown. It cannot be seen in-game. -->
<!-- Evan's Keyboard Textures -->
<Texture Name="gEvanKeyboardRibKeysTex" OutName="evan_keyboard_rib_keys" Format="rgba16" Width="32" Height="32" Offset="0x13728" />
<Texture Name="gEvanKeyboardSkullTex" OutName="evan_keyboard_skull" Format="rgba16" Width="32" Height="32" Offset="0x13F28" />
<Texture Name="gEvanKeyboardBoneTex" OutName="evan_keyboard_bone" Format="rgba16" Width="32" Height="32" Offset="0x14728" />
<Texture Name="gEvanKeyboardOtherKeysTex" OutName="evan_keyboard_other_keys" Format="rgba16" Width="16" Height="16" Offset="0x14F28" />
<!-- Evan Limbs -->
<Limb Name="gEvanPelvisLimb" Type="Standard" EnumName="EVAN_LIMB_PELVIS" Offset="0x15128" />
<Limb Name="gEvanLeftThighLimb" Type="Standard" EnumName="EVAN_LIMB_LEFT_THIGH" Offset="0x15134" />
<Limb Name="gEvanLeftShinLimb" Type="Standard" EnumName="EVAN_LIMB_LEFT_SHIN" Offset="0x15140" />
<Limb Name="gEvanLeftFootLimb" Type="Standard" EnumName="EVAN_LIMB_LEFT_FOOT" Offset="0x1514C" />
<Limb Name="gEvanRightThighLimb" Type="Standard" EnumName="EVAN_LIMB_RIGHT_THIGH" Offset="0x15158" />
<Limb Name="gEvanRightShinLimb" Type="Standard" EnumName="EVAN_LIMB_RIGHT_SHIN" Offset="0x15164" />
<Limb Name="gEvanRightFootLimb" Type="Standard" EnumName="EVAN_LIMB_RIGHT_FOOT" Offset="0x15170" />
<Limb Name="gEvanTorsoLimb" Type="Standard" EnumName="EVAN_LIMB_TORSO" Offset="0x1517C" />
<Limb Name="gEvanHeadLimb" Type="Standard" EnumName="EVAN_LIMB_HEAD" Offset="0x15188" />
<Limb Name="gEvanUpperHeadFinLimb" Type="Standard" EnumName="EVAN_LIMB_UPPER_HEAD_FIN" Offset="0x15194" />
<Limb Name="gEvanLowerHeadFinLimb" Type="Standard" EnumName="EVAN_LIMB_LOWER_HEAD_FIN" Offset="0x151A0" />
<Limb Name="gEvanLeftUpperArmLimb" Type="Standard" EnumName="EVAN_LIMB_LEFT_UPPER_ARM" Offset="0x151AC" />
<Limb Name="gEvanLeftForearmLimb" Type="Standard" EnumName="EVAN_LIMB_LEFT_FOREARM" Offset="0x151B8" />
<Limb Name="gEvanLeftHandLimb" Type="Standard" EnumName="EVAN_LIMB_LEFT_HAND" Offset="0x151C4" />
<Limb Name="gEvanRightUpperArmLimb" Type="Standard" EnumName="EVAN_LIMB_RIGHT_UPPER_ARM" Offset="0x151D0" />
<Limb Name="gEvanRightForearmLimb" Type="Standard" EnumName="EVAN_LIMB_RIGHT_FOREARM" Offset="0x151DC" />
<Limb Name="gEvanRightHandLimb" Type="Standard" EnumName="EVAN_LIMB_RIGHT_HAND" Offset="0x151E8" />
<!-- Evan Skeleton -->
<Skeleton Name="gEvanSkel" Type="Flex" LimbType="Standard" LimbNone="EVAN_LIMB_NONE" LimbMax="EVAN_LIMB_MAX" EnumName="EvanLimb" Offset="0x15238" />
<!-- Evan Animations -->
<Animation Name="gEvanLeanOnKeyboardAndSighAnim" Offset="0x1621C" /> <!-- Original name is "zK_wait02" -->
<Animation Name="gEvanHandsOnHipsAnim" Offset="0x16980" /> <!-- Original name is "zK_wait03" -->
</File>
</Root>
+12
View File
@@ -0,0 +1,12 @@
<Root>
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="assets/objects/gameplay_keep/"/>
<File Name="ovl_Oceff_Wipe4" BaseAddress="0x8099D780" RangeStart="0x430" RangeEnd="0xF18">
<Texture Name="sScarecrowSongEffectTex" OutName="scarecrow_song_effect" Format="i8" Width="32" Height="64" Offset="0x430"/>
<Array Name="sScarecrowSongFrustumVtx" Count="22" Offset="0xC30">
<Vtx/>
</Array>
<DList Name="sScarecrowSongMaterialDL" Offset="0xD90"/>
<DList Name="sScarecrowSongUnusedMaterialDL" Offset="0xDF8"/>
<DList Name="sScarecrowSongModelDL" Offset="0xE60"/>
</File>
</Root>
+1 -1
View File
@@ -149,7 +149,7 @@ Gfx object_dns_DL_001A50[] = {
};
```
Using `0x08000000` with `gsDPLoadTextureBlock` signals that this display list is expecting a texture in segment 8. What kind of texture is it expecting? We can look at the arguments after the `0x08000000`. It's looking for an RBGA16 texture with dimensions of 8x8, so we can define these textures in the XML like so:
Using `0x08000000` with `gsDPLoadTextureBlock` signals that this display list is expecting a texture in segment 8. What kind of texture is it expecting? We can look at the arguments after the `0x08000000`. It's looking for an RGBA16 texture with dimensions of 8x8, so we can define these textures in the XML like so:
```xml
<Texture Name="object_dns_Tex_0028E8" OutName="tex_0028E8" Format="rgba16" Width="8" Height="8" Offset="0x28E8" />
+19 -29
View File
@@ -1654,7 +1654,7 @@ s16 func_80105318(void);
void func_8010549C(PlayState* play, void* segmentAddress);
void func_8010565C(PlayState* play, u8 num, void* segmentAddress);
void func_80105818(PlayState* play, u32 uParm2, TransitionActorEntry* puParm3);
void func_80105A40(void);
void func_80105A40(PlayState* play);
void func_80105B34(PlayState* play);
void func_80105C40(s16 arg0);
// void func_80105FE0(void);
@@ -1731,7 +1731,7 @@ s32 func_8010A0A4(PlayState* play);
// void func_8010A2AC(PlayState* play);
void Minimap_SavePlayerRoomInitInfo(PlayState* play);
void Map_InitRoomData(PlayState* play, s16 room);
// void Map_Destroy(void);
void Map_Destroy(PlayState* play);
// void Map_Init(PlayState* play);
// void Minimap_Draw(PlayState* play);
// void Map_Update(PlayState* play);
@@ -1810,26 +1810,19 @@ Vec3s* OLib_Vec3fDiffBinAng(Vec3s* dest, Vec3f* a, Vec3f* b);
void OLib_DbCameraVec3fDiff(PosRot* a, Vec3f* b, Vec3f* dest, s16 mode);
void OLib_DbCameraVec3fSum(PosRot* a, Vec3f* b, Vec3f* dest, s16 mode);
// void func_8010CB80(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8, UNK_TYPE2 param_9, UNK_TYPE2 param_10);
// void func_8010CD98(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8, UNK_TYPE2 param_9, UNK_TYPE2 param_10);
Gfx* func_8010CD98(Gfx* displayListHead, void* texture, s16 textureWidth, s16 textureHeight, s16 rectLeft, s16 rectTop, s16 rectWidth, s16 rectHeight, u16 dsdx, u16 dtdy);
// void func_8010CFBC(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8, UNK_TYPE2 param_9, UNK_TYPE2 param_10, UNK_TYPE2 param_11, UNK_TYPE2 param_12, UNK_TYPE2 param_13, UNK_TYPE2 param_14);
// void func_8010D2D4(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8, UNK_TYPE2 param_9, UNK_TYPE2 param_10, UNK_TYPE2 param_11);
// void func_8010D480(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8, UNK_TYPE2 param_9, UNK_TYPE2 param_10, UNK_TYPE2 param_11, UNK_TYPE2 param_12, UNK_TYPE2 param_13, UNK_TYPE2 param_14, UNK_TYPE4 param_15, UNK_TYPE4 param_16);
// void func_8010D7D0(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8, UNK_TYPE2 param_9, UNK_TYPE2 param_10);
Gfx* func_8010D7D0(Gfx* displayListHead, void* texture, s16 textureWidth, s16 textureHeight, s16 rectLeft, s16 rectTop, s16 rectWidth, s16 rectHeight, u16 dsdx, u16 dtdy);
// void func_8010D9F4(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8, UNK_TYPE2 param_9, UNK_TYPE4 param_10, UNK_TYPE4 param_11, UNK_TYPE4 param_12, UNK_TYPE2 param_13, UNK_TYPE2 param_14);
// void func_8010DC58(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5);
Gfx* func_8010DC58(Gfx* displayListHead, void* texture, s16 textureWidth, s16 textureHeight, u16 i);
// void func_8010DE38(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6);
// void func_8010E028(void);
// void func_8010E968(void);
void func_8010E9F0(s16 arg0, s16 arg1);
void func_8010EA9C(s32 arg0, s32 arg1);
// void func_8010EB50(void);
// void func_8010EBA0(void);
// void func_8010EC54(void);
void Interface_StartTimer(s16 timerId, s16 seconds);
void Interface_StartPostmanTimer(s16 seconds, s16 bunnyHoodState);
void func_8010EE74(PlayState* play, s32 day);
void Interface_ChangeAlpha(u16 param_1);
// void func_8010EF9C(void);
// void func_8010F0D4(void);
// void func_8010F1A8(void);
void Interface_SetHudVisibility(u16 hudVisibility);
// void func_80110038(void);
// void func_80111CB4(void);
void func_801129E4(PlayState* play);
@@ -1876,17 +1869,14 @@ void func_8011B4E0(PlayState* play, s32 arg1);
// void func_8011B9E0(void);
// void func_8011BF70(void);
// void func_8011C4C4(void);
void func_8011C808(PlayState* play);
// void func_8011C898(void);
// void func_8011CA64(void);
// void func_8011E3B4(void);
void Interface_StartMoonCrash(PlayState* play);
// void func_8011E730(void);
void Interface_Draw(PlayState* play);
// void func_80120F90(void);
// void func_80121000(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE1 param_8, UNK_TYPE1 param_9, UNK_TYPE1 param_10, UNK_TYPE4 param_11, UNK_TYPE4 param_12, UNK_TYPE4 param_13, UNK_TYPE4 param_14);
// void func_80121064(void);
void Interface_Update(PlayState* play);
void func_80121F94(PlayState* play);
void Interface_Destroy(PlayState* play);
void func_80121FC4(PlayState* play);
Path* Path_GetByIndex(PlayState* play, s16 index, s16 max);
f32 Path_OrientAndGetDistSq(Actor* actor, Path* path, s16 waypoint, s16* yaw);
@@ -1906,7 +1896,7 @@ void func_80122BA4(PlayState* play, struct_80122D44_arg1* arg1, s32 arg2, s32 al
void func_80122C20(PlayState* play, struct_80122D44_arg1* arg1);
void func_80122D44(PlayState* play, struct_80122D44_arg1* arg1);
u8 Player_MaskIdToItemId(s32 maskIdMinusOne);
u8 Player_GetCurMaskItemId(PlayState* play);
s32 Player_GetCurMaskItemId(PlayState* play);
void func_80122F28(Player* player);
s32 func_80122F9C(PlayState* play);
s32 func_80122FCC(PlayState* play);
@@ -1953,7 +1943,7 @@ s32 Player_ActionToExplosive(Player* player, s32 actionParam);
s32 Player_GetExplosiveHeld(Player* player);
s32 func_80124278(Actor* actor, s32 arg1);
s32 func_801242B4(Player* player);
s32 func_801242DC(PlayState* play);
s32 Player_GetEnvTimerType(PlayState* play);
void func_80124420(Player* player);
void func_80124618(struct_80124618 arg0[], f32 curFrame, Vec3f* arg2);
void func_801246F4(PlayState* play, void** skeleton, Vec3s* jointTable, s32 dListCount, s32 lod, s32 tunic, s32 boots, s32 face, OverrideLimbDrawFlex overrideLimbDraw, PostLimbDrawFlex postLimbDraw, Actor* actor);
@@ -2100,7 +2090,7 @@ s32 Inventory_GetBtnBItem(PlayState* play);
void Inventory_ChangeEquipment(s16 value);
u8 Inventory_DeleteEquipment(PlayState* play, s16 equipment);
void Inventory_ChangeUpgrade(s16 upgrade, u32 value);
s32 Inventory_IsMapVisible(s16 sceneNum);
s32 Inventory_IsMapVisible(s16 sceneId);
void Inventory_SetMapVisibility(s16 tingleIndex);
void Inventory_SaveDekuPlaygroundHighScore(s16 timerId);
void Inventory_IncrementSkullTokenCount(s16 sceneIndex);
@@ -2186,8 +2176,8 @@ void Scene_DrawConfig5(PlayState* play);
void Scene_DrawConfigMatAnimManualStep(PlayState* play);
void Scene_DrawConfigGreatBayTemple(PlayState* play);
EntranceTableEntry* Entrance_GetTableEntry(u16 entrance);
s32 Entrance_GetSceneNum(u16 entrance);
s32 Entrance_GetSceneNumAbsolute(u16 entrance);
s32 Entrance_GetSceneId(u16 entrance);
s32 Entrance_GetSceneIdAbsolute(u16 entrance);
s32 Entrance_GetSpawnNum(u16 entrance);
s32 Entrance_GetTransitionFlags(u16 entrance);
s32 Schedule_RunScript(PlayState* play, u8* script, ScheduleOutput* output);
@@ -2405,7 +2395,7 @@ void func_8014D304(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_
// void func_8014D7B4(void);
void func_80150A84(PlayState* play);
void func_80150D08(PlayState* play, u32 uParm2);
// void func_801514B0(void);
void func_801514B0(PlayState* play, u16 arg1, u8 arg2);
void Message_StartTextbox(PlayState* play, u16 textId, Actor* Actor);
void func_80151938(PlayState* play, u16 textId);
void func_80151A68(PlayState* play, u16 textId);
@@ -2571,7 +2561,7 @@ s32 Play_ChangeCameraSetting(PlayState* play, s16 camId, s16 setting);
void func_80169AFC(PlayState* play, s16 camId, s16 arg2);
u16 Play_GetActorCsCamSetting(PlayState* play, s32 csCamDataIndex);
Vec3s* Play_GetActorCsCamFuncData(PlayState* play, s32 csCamDataIndex);
s16 Play_GetOriginalSceneNumber(s16 sceneNum);
s16 Play_GetOriginalSceneId(s16 sceneId);
void Play_SaveCycleSceneFlags(GameState* gameState);
void Play_SetRespawnData(GameState* gameState, s32 respawnNumber, u16 sceneSetup, s32 roomIndex, s32 playerParams, Vec3f* pos, s16 yaw);
void Play_SetupRespawnPoint(GameState* gameState, s32 respawnNumber, s32 playerParams);
@@ -2710,8 +2700,8 @@ void Main(void* arg);
u32 Padmgr_GetControllerBitmask(void);
void func_80174F24(void (*arg0)(void*), void* arg1);
void func_80174F44(void (*arg0)(void*), void* arg1);
// void func_80174F7C(void);
// void func_80174F9C(void);
void func_80174F7C(void (*arg0)(s32), void* arg1);
void func_80174F9C(void (*arg0)(s32), void* arg1);
// OSMesgQueue* Padmgr_GetEventCallback(void);
// void func_80175008(void);
void Padmgr_SetEventCallback(OSMesg pvParm1);
+2
View File
@@ -71,6 +71,8 @@
#define R_A_ICON_X XREG(20)
#define R_A_BTN_COLOR(i) XREG(22 + i)
#define R_MAGIC_CONSUME_TIMER_GIANTS_MASK XREG(41)
#define R_MOON_CRASH_TIMER_Y XREG(80)
#define R_MOON_CRASH_TIMER_X XREG(81)
#define R_MINIMAP_DISABLED XREG(95)
#define R_B_LABEL_DD WREG(0)
#define R_OW_MINIMAP_X WREG(29)
+3 -3
View File
@@ -922,7 +922,7 @@ DECLARE_ROM_SEGMENT(object_driftice)
DECLARE_ROM_SEGMENT(object_fall)
DECLARE_ROM_SEGMENT(object_hanareyama_obj)
DECLARE_ROM_SEGMENT(object_crace_object)
DECLARE_ROM_SEGMENT(object_dnq)
DECLARE_ROM_SEGMENT(object_dno)
DECLARE_ROM_SEGMENT(object_obj_tokeidai)
DECLARE_ROM_SEGMENT(object_eg)
DECLARE_ROM_SEGMENT(object_tru)
@@ -993,7 +993,7 @@ DECLARE_ROM_SEGMENT(object_gg)
DECLARE_ROM_SEGMENT(object_maruta)
DECLARE_ROM_SEGMENT(object_ghaka)
DECLARE_ROM_SEGMENT(object_oyu)
DECLARE_ROM_SEGMENT(object_dnp)
DECLARE_ROM_SEGMENT(object_dnq)
DECLARE_ROM_SEGMENT(object_dai)
DECLARE_ROM_SEGMENT(object_kgy)
DECLARE_ROM_SEGMENT(object_fb)
@@ -1014,7 +1014,7 @@ DECLARE_ROM_SEGMENT(object_gi_loach)
DECLARE_ROM_SEGMENT(object_gi_seahorse)
DECLARE_ROM_SEGMENT(object_bigpo)
DECLARE_ROM_SEGMENT(object_hariko)
DECLARE_ROM_SEGMENT(object_dno)
DECLARE_ROM_SEGMENT(object_dnj)
DECLARE_ROM_SEGMENT(object_sinkai_kabe)
DECLARE_ROM_SEGMENT(object_kin2_obj)
DECLARE_ROM_SEGMENT(object_ishi)
+14 -14
View File
@@ -1031,21 +1031,21 @@ extern UNK_PTR D_801BF5C0;
// extern UNK_TYPE2 sMagicMeterOutlinePrimBlue;
// extern UNK_TYPE2 sMagicBorderRatio;
// extern UNK_TYPE2 sMagicBorderStep;
// extern UNK_TYPE2 D_801BF8DC;
// extern UNK_TYPE2 D_801BF8E0;
// extern UNK_TYPE2 D_801BF8E4;
// extern UNK_TYPE4 D_801BF8E8;
// extern UNK_TYPE4 D_801BF8F0;
// extern UNK_TYPE2 sEnvTimerType;
// extern UNK_TYPE2 sEnvTimerActive;
// extern UNK_TYPE2 sPostmanBunnyHoodState;
// extern UNK_TYPE4 sTimerPausedOsTime;
// extern UNK_TYPE4 sBottleTimerPausedOsTime;
// extern UNK_TYPE4 D_801BF8F4;
// extern UNK_TYPE4 D_801BF8F8;
// extern UNK_TYPE4 D_801BF8FC;
// extern UNK_TYPE4 D_801BF930;
// extern UNK_TYPE4 D_801BF934;
// extern UNK_TYPE1 D_801BF968;
// extern UNK_TYPE1 sIsTimerPaused;
// extern UNK_TYPE1 D_801BF96A;
// extern UNK_TYPE1 D_801BF96C;
// extern UNK_TYPE1 sIsBottleTimerPaused;
// extern UNK_TYPE1 D_801BF96E;
// extern UNK_TYPE2 D_801BF970;
// extern UNK_TYPE2 sTimerId;
// extern UNK_TYPE1 D_801BF972;
// extern UNK_TYPE2 D_801BF974;
// extern UNK_TYPE2 D_801BF978;
@@ -1083,7 +1083,7 @@ extern UNK_PTR D_801BF5C0;
// extern UNK_TYPE2 D_801BFA4C;
// extern UNK_TYPE2 D_801BFA64;
// extern UNK_TYPE2 D_801BFA74;
// extern UNK_TYPE4 D_801BFA84;
// extern UNK_TYPE4 sPostmanTimerInputBtnAPressed;
// extern UNK_TYPE1 D_801BFAB0;
// extern UNK_TYPE1 D_801BFAB8;
// extern UNK_TYPE1 D_801BFAC4;
@@ -1135,15 +1135,15 @@ extern UNK_PTR D_801BF5C0;
// extern UNK_TYPE2 D_801BFCA8;
// extern UNK_TYPE1 D_801BFCB8;
// extern UNK_TYPE4 D_801BFCC4;
// extern UNK_TYPE2 D_801BFCE4;
// extern UNK_TYPE2 D_801BFCE8;
// extern UNK_TYPE2 sTimerStateTimer;
// extern UNK_TYPE2 sTimerDigits;
// extern UNK_TYPE2 D_801BFCEA;
// extern UNK_TYPE2 D_801BFCEC;
// extern UNK_TYPE2 D_801BFCEE;
// extern UNK_TYPE2 D_801BFCF0;
// extern UNK_TYPE2 D_801BFCF2;
// extern UNK_TYPE2 D_801BFCF4;
// extern UNK_TYPE2 D_801BFCF8;
// extern UNK_TYPE2 sTimerBeepSfxSeconds;
// extern UNK_TYPE2 D_801BFCFC;
// extern UNK_TYPE2 D_801BFD0C;
// extern UNK_TYPE1 D_801BFD1C;
@@ -1312,7 +1312,7 @@ extern u32 gGsFlagsShift[];
extern void* gItemIcons[];
extern u8 gItemSlots[];
extern s16 gItemPrices[];
extern u16 gScenesPerRegion[11][27];
extern u16 gSceneIdsPerRegion[11][27];
extern u32 D_801C2410[];
extern s16 gPlayerFormObjectIndices[8];
extern RomFile gObjectTable[643];
@@ -3151,7 +3151,7 @@ extern s16 D_801F4E7A;
// extern UNK_TYPE1 D_801F57B4;
// extern UNK_TYPE1 D_801F5834;
// extern NmiBuff* gNMIBuffer;
// extern UNK_TYPE1 D_801F5850;
// extern UNK_TYPE1 sPostmanTimerInput;
// extern UNK_TYPE1 D_801F58B0;
// extern UNK_TYPE1 D_801F59AC;
// extern UNK_TYPE1 D_801F59B0;
+12 -12
View File
@@ -444,15 +444,15 @@ typedef struct {
/* 0x22C */ s32 unk_22C;
/* 0x230 */ s32 stickRelX;
/* 0x234 */ s32 stickRelY;
/* 0x238 */ s16 unk_238[5];
/* 0x242 */ s16 unk_242[5];
/* 0x24C */ s16 unk_24C[5];
/* 0x238 */ s16 cursorPoint[5];
/* 0x242 */ s16 cursorX[5];
/* 0x24C */ s16 cursorY[5];
/* 0x256 */ s16 unk_256;
/* 0x258 */ s16 unk_258;
/* 0x25A */ s16 unk_25A;
/* 0x258 */ s16 cursorSpecialPos;
/* 0x25A */ s16 pageSwitchTimer;
/* 0x25C */ u16 unk_25C;
/* 0x25E */ u16 cursorItem[5];
/* 0x268 */ u16 unk_268[5];
/* 0x268 */ u16 cursorSlot[5];
/* 0x272 */ u16 equipTargetItem;
/* 0x274 */ u16 equipTargetSlot;
/* 0x276 */ u16 equipTargetCBtn;
@@ -461,8 +461,8 @@ typedef struct {
/* 0x27C */ s16 equipAnimAlpha;
/* 0x27E */ s16 unk_27E;
/* 0x280 */ u16 unk_280;
/* 0x282 */ u16 unk_282;
/* 0x284 */ s16 unk_284;
/* 0x282 */ u16 nameColorSet;
/* 0x284 */ s16 cursorColorSet;
/* 0x286 */ s16 unk_286;
/* 0x288 */ f32 unk_288;
/* 0x28C */ f32 unk_28C;
@@ -476,9 +476,9 @@ typedef struct {
/* 0x2B6 */ u8 unk_2B6;
/* 0x2B7 */ u8 unk_2B7;
/* 0x2B8 */ u8 unk_2B8;
/* 0x2B9 */ u8 unk_2B9;
/* 0x2BA */ s16 unk_2BA;
/* 0x2BC */ s16 unk_2BC;
/* 0x2B9 */ u8 itemDescriptionOn; // helpful description of item given through a message box
/* 0x2BA */ s16 equipAnimScale; // scale of item icon while moving being equipped to c-button
/* 0x2BC */ s16 equipAnimShrinkRate; // rate the scale is shrinking for the item icon while moving being equipped to c-button
/* 0x2BE */ s16 unk_2BE[5];
/* 0x2C8 */ u16 unk_2C8;
/* 0x2CA */ s16 unk_2CA;
@@ -1121,7 +1121,7 @@ typedef struct {
struct PlayState {
/* 0x00000 */ GameState state;
/* 0x000A4 */ s16 sceneNum;
/* 0x000A4 */ s16 sceneId;
/* 0x000A6 */ u8 sceneConfig;
/* 0x000A7 */ char unk_A7[0x9];
/* 0x000B0 */ void* sceneSegment;
+2 -2
View File
@@ -285,7 +285,7 @@ typedef enum {
/* 0xF2 */ ITEM_F2,
/* 0xFD */ ITEM_FD = 0xFD,
/* 0xFF */ ITEM_NONE = 0xFF
} ItemID;
} ItemId;
#define BOTTLE_FIRST 0
#define BOTTLE_MAX 6
@@ -428,7 +428,7 @@ typedef enum {
/* 0xB8 */ GI_TINGLE_MAP_GREAT_BAY,
/* 0xB9 */ GI_TINGLE_MAP_STONE_TOWER,
/* 0xBA */ GI_MAX
} GetItemID;
} GetItemId;
typedef enum {
/* 0x00 */ GID_BOTTLE,
+3 -3
View File
@@ -404,7 +404,7 @@ typedef enum {
/* 0x188 */ OBJECT_FALL,
/* 0x189 */ OBJECT_HANAREYAMA_OBJ,
/* 0x18A */ OBJECT_CRACE_OBJECT,
/* 0x18B */ OBJECT_DNQ,
/* 0x18B */ OBJECT_DNO,
/* 0x18C */ OBJECT_OBJ_TOKEIDAI,
/* 0x18D */ OBJECT_EG,
/* 0x18E */ OBJECT_TRU,
@@ -477,7 +477,7 @@ typedef enum {
/* 0x1D1 */ OBJECT_MARUTA,
/* 0x1D2 */ OBJECT_GHAKA,
/* 0x1D3 */ OBJECT_OYU,
/* 0x1D4 */ OBJECT_DNP,
/* 0x1D4 */ OBJECT_DNQ,
/* 0x1D5 */ OBJECT_DAI,
/* 0x1D6 */ OBJECT_KGY,
/* 0x1D7 */ OBJECT_FB,
@@ -508,7 +508,7 @@ typedef enum {
/* 0x1F0 */ OBJECT_GI_SEAHORSE,
/* 0x1F1 */ OBJECT_BIGPO,
/* 0x1F2 */ OBJECT_HARIKO,
/* 0x1F3 */ OBJECT_DNO,
/* 0x1F3 */ OBJECT_DNJ,
/* 0x1F4 */ OBJECT_SINKAI_KABE,
/* 0x1F5 */ OBJECT_KIN2_OBJ,
/* 0x1F6 */ OBJECT_ISHI,
+9 -1
View File
@@ -70,6 +70,14 @@ typedef enum {
/* 0x19 */ PLAYER_MASK_MAX
} PlayerMask;
typedef enum {
/* 0 */ PLAYER_ENV_TIMER_NONE,
/* 1 */ PLAYER_ENV_TIMER_HOTROOM,
/* 2 */ PLAYER_ENV_TIMER_UNDERWATER_FLOOR,
/* 3 */ PLAYER_ENV_TIMER_SWIMMING,
/* 4 */ PLAYER_ENV_TIMER_UNDERWATER_FREE
} PlayerEnvTimerType;
typedef enum PlayerActionParam {
/* -1 */ PLAYER_AP_MINUS1 = -1,
/* 0x00 */ PLAYER_AP_NONE,
@@ -594,7 +602,7 @@ typedef struct Player {
/* 0xAD0 */ f32 linearVelocity;
/* 0xAD4 */ s16 currentYaw;
/* 0xAD6 */ s16 targetYaw;
/* 0xAD8 */ u16 unk_AD8;
/* 0xAD8 */ u16 underwaterTimer;
/* 0xADA */ s8 meleeWeaponAnimation;
/* 0xADB */ s8 meleeWeaponState;
/* 0xADC */ s8 unk_ADC;
+101 -22
View File
@@ -2,6 +2,7 @@
#define Z64SAVE_H
#include "ultra64.h"
#include "z64item.h"
#include "z64math.h"
#include "os.h"
@@ -54,6 +55,84 @@ typedef enum {
#define MAGIC_NORMAL_METER 0x30
#define MAGIC_DOUBLE_METER (2 * MAGIC_NORMAL_METER)
#define SECONDS_TO_TIMER(seconds) ((seconds) * 100)
#define OSTIME_TO_TIMER(osTime) ((osTime) * 64 / 3000 / 10000)
#define OSTIME_TO_TIMER_ALT(osTime) ((osTime) / 10000 * 64 / 3000)
// 1 centisecond = 10 milliseconds = 1/100 seconds
#define SECONDS_TO_TIMER_PRECISE(seconds, centiSeconds) ((seconds) * 100 + (centiSeconds))
typedef enum {
/* 0 */ TIMER_ID_POSTMAN, // postman's counting minigame
/* 1 */ TIMER_ID_MINIGAME_1, // minigame timer
/* 2 */ TIMER_ID_2,
/* 3 */ TIMER_ID_MOON_CRASH, // timer used for mooncrash on the clocktower roof
/* 4 */ TIMER_ID_MINIGAME_2, // minigame timer
/* 5 */ TIMER_ID_ENV, // environmental timer (underwater or hot room)
/* 6 */ TIMER_ID_GORON_RACE_UNUSED,
/* 7 */ TIMER_ID_MAX,
/* 99 */ TIMER_ID_NONE = 99,
} TimerId;
typedef enum {
/* 0 */ TIMER_COUNT_DOWN,
/* 1 */ TIMER_COUNT_UP
} TimerDirection;
typedef enum {
/* 0 */ TIMER_STATE_OFF,
/* 1 */ TIMER_STATE_START,
/* 2 */ TIMER_STATE_HOLD_TIMER, // Hold timer frozen at the screen center
/* 3 */ TIMER_STATE_MOVING_TIMER, // Move timer to a target location
/* 4 */ TIMER_STATE_COUNTING,
/* 5 */ TIMER_STATE_STOP,
/* 6 */ TIMER_STATE_6, // like `TIMER_STATE_STOP` but with extra minigame checks
/* 7 */ TIMER_STATE_7, // stopped but still update `timerCurTimes`
/* 8 */ TIMER_STATE_ENV_START,
/* 9 */ TIMER_STATE_ALT_START,
/* 10 */ TIMER_STATE_10, // precursor to `TIMER_STATE_ALT_COUNTING`
/* 11 */ TIMER_STATE_ALT_COUNTING,
/* 12 */ TIMER_STATE_12, // Updated paused time?
/* 13 */ TIMER_STATE_POSTMAN_START,
/* 14 */ TIMER_STATE_POSTMAN_COUNTING,
/* 15 */ TIMER_STATE_POSTMAN_STOP,
/* 16 */ TIMER_STATE_POSTMAN_END
} TimerState;
typedef enum {
/* 0 */ BOTTLE_TIMER_STATE_OFF,
/* 1 */ BOTTLE_TIMER_STATE_COUNTING
} BottleTimerState;
typedef enum {
/* 0 */ HUD_VISIBILITY_IDLE,
/* 1 */ HUD_VISIBILITY_NONE,
/* 2 */ HUD_VISIBILITY_NONE_ALT, // Identical to HUD_VISIBILITY_NONE
/* 3 */ HUD_VISIBILITY_HEARTS_WITH_OVERWRITE, // Uses Interface_UpdateButtonAlphas so gives the opportunity to dim only disabled buttons
/* 4 */ HUD_VISIBILITY_A,
/* 5 */ HUD_VISIBILITY_A_HEARTS_MAGIC_WITH_OVERWRITE, // Uses Interface_UpdateButtonAlphas so gives the opportunity to dim only disabled buttons
/* 6 */ HUD_VISIBILITY_A_HEARTS_MAGIC_MINIMAP_WITH_OVERWRITE, // Uses Interface_UpdateButtonAlphas so gives the opportunity to dim only disabled buttons
/* 7 */ HUD_VISIBILITY_ALL_NO_MINIMAP_W_DISABLED, // Only raises button alphas if not disabled
/* 8 */ HUD_VISIBILITY_B,
/* 9 */ HUD_VISIBILITY_HEARTS_MAGIC,
/* 10 */ HUD_VISIBILITY_B_ALT,
/* 11 */ HUD_VISIBILITY_HEARTS,
/* 12 */ HUD_VISIBILITY_A_B_MINIMAP,
/* 13 */ HUD_VISIBILITY_HEARTS_MAGIC_WITH_OVERWRITE, // Uses Interface_UpdateButtonAlphas so gives the opportunity to dim only disabled buttons
/* 14 */ HUD_VISIBILITY_HEARTS_MAGIC_C,
/* 15 */ HUD_VISIBILITY_ALL_NO_MINIMAP,
/* 16 */ HUD_VISIBILITY_A_B_C,
/* 17 */ HUD_VISIBILITY_B_MINIMAP,
/* 18 */ HUD_VISIBILITY_HEARTS_MAGIC_MINIMAP,
/* 19 */ HUD_VISIBILITY_A_HEARTS_MAGIC_MINIMAP,
/* 20 */ HUD_VISIBILITY_B_MAGIC,
/* 21 */ HUD_VISIBILITY_A_B,
/* 22 */ HUD_VISIBILITY_A_B_HEARTS_MAGIC_MINIMAP,
/* 50 */ HUD_VISIBILITY_ALL = 50,
/* 52 */ HUD_VISIBILITY_NONE_INSTANT = 52
} HudVisibility;
typedef struct SramContext {
/* 0x00 */ u8* readBuff;
/* 0x04 */ u8 *saveBuf;
@@ -86,7 +165,7 @@ typedef struct Inventory {
} Inventory; // size = 0x88
typedef struct HorseData {
/* 0x0 */ s16 scene; // "spot_no"
/* 0x0 */ s16 sceneId; // "spot_no"
/* 0x2 */ Vec3s pos; // "horse_x", "horse_y" and "horse_z"
/* 0x8 */ s16 yaw; // "horse_a"
} HorseData; // size = 0xA
@@ -147,7 +226,7 @@ typedef struct SavePlayerData {
/* 0x20 */ u8 unk_20; // "first_memory"
/* 0x22 */ u16 owlActivationFlags; // "memory_warp_point"
/* 0x24 */ u8 unk_24; // "last_warp_pt"
/* 0x26 */ s16 savedSceneNum; // "scene_data_ID"
/* 0x26 */ s16 savedSceneId; // "scene_data_ID"
} SavePlayerData; // size = 0x28
typedef struct Save {
@@ -214,11 +293,11 @@ typedef struct SaveContext {
/* 0x1015 */ u8 unk_1015;
/* 0x1016 */ u16 jinxTimer;
/* 0x1018 */ s16 rupeeAccumulator; // "lupy_udct"
/* 0x101A */ u8 unk_101A[6]; // "bottle_status", one entry for each bottle
/* 0x1020 */ OSTime unk_1020[6]; // "bottle_ostime", one entry for each bottle
/* 0x1050 */ OSTime unk_1050[6]; // "bottle_sub", one entry for each bottle
/* 0x1080 */ OSTime unk_1080[6]; // "bottle_time", one entry for each bottle
/* 0x10B0 */ OSTime unk_10B0[6]; // "bottle_stop_time", one entry for each bottle
/* 0x101A */ u8 bottleTimerStates[BOTTLE_MAX]; // See the `BottleTimerState` enum. "bottle_status"
/* 0x1020 */ OSTime bottleTimerStartOsTimes[BOTTLE_MAX]; // The osTime when the timer starts. "bottle_ostime"
/* 0x1050 */ u64 bottleTimerTimeLimits[BOTTLE_MAX]; // The original total time given before the timer expires, in centiseconds (1/100th sec). "bottle_sub"
/* 0x1080 */ u64 bottleTimerCurTimes[BOTTLE_MAX]; // The remaining time left before the timer expires, in centiseconds (1/100th sec). "bottle_time"
/* 0x10B0 */ OSTime bottleTimerPausedOsTimes[BOTTLE_MAX]; // The cumulative osTime spent with the timer paused. "bottle_stop_time"
/* 0x10E0 */ u64 pictoPhoto[1400]; // buffer containing the pictograph photo
/* 0x3CA0 */ s32 fileNum; // "file_no"
/* 0x3CA4 */ s16 powderKegTimer; // "big_bom_timer"
@@ -237,25 +316,25 @@ typedef struct SaveContext {
/* 0x3DBF */ u8 showTitleCard; // "name_display"
/* 0x3DC0 */ s16 unk_3DC0; // "shield_magic_timer"
/* 0x3DC2 */ u8 unk_3DC2; // "pad1"
/* 0x3DC8 */ OSTime unk_3DC8; // "get_time"
/* 0x3DD0 */ u8 unk_3DD0[7]; // "event_fg"
/* 0x3DD7 */ u8 unk_3DD7[7]; // "calc_flag"
/* 0x3DE0 */ OSTime unk_3DE0[7]; // "event_ostime"
/* 0x3E18 */ OSTime unk_3E18[7]; // "event_sub"
/* 0x3E50 */ OSTime unk_3E50[7]; // "func_time"
/* 0x3E88 */ OSTime unk_3E88[7]; // "func_end_time"
/* 0x3EC0 */ OSTime unk_3EC0[7]; // "func_stop_time"
/* 0x3EF8 */ s16 timerX[7]; // "event_xp"
/* 0x3F06 */ s16 timerY[7]; // "event_yp"
/* 0x3DC8 */ OSTime postmanTimerStopOsTime; // The osTime when the timer stops for the postman minigame. "get_time"
/* 0x3DD0 */ u8 timerStates[TIMER_ID_MAX]; // See the `TimerState` enum. "event_fg"
/* 0x3DD7 */ u8 timerDirections[TIMER_ID_MAX]; // See the `TimerDirection` enum. "calc_flag"
/* 0x3DE0 */ u64 timerCurTimes[TIMER_ID_MAX]; // For countdown, the remaining time left. For countup, the time since the start. In centiseconds (1/100th sec). "event_ostime"
/* 0x3E18 */ u64 timerTimeLimits[TIMER_ID_MAX]; // The original total time given for the timer to count from, in centiseconds (1/100th sec). "event_sub"
/* 0x3E50 */ OSTime timerStartOsTimes[TIMER_ID_MAX]; // The osTime when the timer starts. "func_time"
/* 0x3E88 */ u64 timerStopTimes[TIMER_ID_MAX]; // The total amount of time taken between the start and end of the timer, in centiseconds (1/100th sec). "func_end_time"
/* 0x3EC0 */ OSTime timerPausedOsTimes[TIMER_ID_MAX]; // The cumulative osTime spent with the timer paused. "func_stop_time"
/* 0x3EF8 */ s16 timerX[TIMER_ID_MAX]; // "event_xp"
/* 0x3F06 */ s16 timerY[TIMER_ID_MAX]; // "event_yp"
/* 0x3F14 */ s16 unk_3F14; // "character_change"
/* 0x3F16 */ u8 seqIndex; // "old_bgm"
/* 0x3F17 */ u8 nightSeqIndex; // "old_env"
/* 0x3F18 */ u8 buttonStatus[6]; // "button_item"
/* 0x3F1E */ u8 unk_3F1E; // "ck_fg"
/* 0x3F20 */ u16 unk_3F20; // "alpha_type"
/* 0x3F22 */ u16 unk_3F22; // "prev_alpha_type"
/* 0x3F24 */ u16 unk_3F24; // "alpha_count"
/* 0x3F26 */ u16 unk_3F26; // "last_time_type"
/* 0x3F1E */ u8 hudVisibilityForceButtonAlphasByStatus; // if btn alphas are updated through Interface_UpdateButtonAlphas, instead update them through Interface_UpdateButtonAlphasByStatus "ck_fg"
/* 0x3F20 */ u16 nextHudVisibility; // triggers the hud to change visibility to the requested value. Reset to HUD_VISIBILITY_IDLE when target is reached "alpha_type"
/* 0x3F22 */ u16 hudVisibility; // current hud visibility "prev_alpha_type"
/* 0x3F24 */ u16 hudVisibilityTimer; // number of frames in the transition to a new hud visibility. Used to step alpha "alpha_count"
/* 0x3F26 */ u16 prevHudVisibility; // used to store and recover hud visibility for pause menu and text boxes "last_time_type"
/* 0x3F28 */ s16 magicState; // determines magic meter behavior on each frame "magic_flag"
/* 0x3F2A */ s16 isMagicRequested; // a request to add magic has been given "recovery_magic_flag"
/* 0x3F2C */ s16 magicFlag; // Set to 0 in func_80812D94(), otherwise unused "keep_magic_flag"
+107 -107
View File
@@ -271,7 +271,7 @@ typedef struct {
} Room; // size = 0x14
typedef struct {
/* 0x00 */ Room currRoom;
/* 0x00 */ Room curRoom;
/* 0x14 */ Room prevRoom;
/* 0x28 */ void* roomMemPages[2]; // In a scene with transitions, roomMemory is split between two pages that toggle each transition. This is one continuous range, as the second page allocates from the end
/* 0x30 */ u8 activeMemPage; // 0 - First page in memory, 1 - Second page
@@ -316,7 +316,7 @@ typedef struct {
} EntranceEntry; // size = 0x2
typedef struct {
/* 0x0 */ s8 sceneNum;
/* 0x0 */ s8 sceneId;
/* 0x1 */ s8 spawnNum;
/* 0x2 */ u16 flags;
} EntranceTableEntry; // size = 0x4
@@ -535,119 +535,119 @@ typedef union {
} SceneCmd; // size = 0x8
typedef enum {
/* 0x00 */ SCENE_20SICHITAI2,
/* 0x00 */ SCENE_20SICHITAI2, // Southern Swamp (Clear)
/* 0x01 */ SCENE_UNSET_1,
/* 0x02 */ SCENE_UNSET_2,
/* 0x03 */ SCENE_UNSET_3,
/* 0x04 */ SCENE_UNSET_4,
/* 0x05 */ SCENE_UNSET_5,
/* 0x06 */ SCENE_UNSET_6,
/* 0x07 */ SCENE_KAKUSIANA,
/* 0x08 */ SCENE_SPOT00,
/* 0x07 */ SCENE_KAKUSIANA, // Lone Peak Shrine & Grottos
/* 0x08 */ SCENE_SPOT00, // Cutscene Scene
/* 0x09 */ SCENE_UNSET_9,
/* 0x0A */ SCENE_WITCH_SHOP,
/* 0x0B */ SCENE_LAST_BS,
/* 0x0C */ SCENE_HAKASHITA,
/* 0x0D */ SCENE_AYASHIISHOP,
/* 0x0A */ SCENE_WITCH_SHOP, // Magic Hags' Potion Shop
/* 0x0B */ SCENE_LAST_BS, // Majora's Lair
/* 0x0C */ SCENE_HAKASHITA, // Beneath the Graveyard
/* 0x0D */ SCENE_AYASHIISHOP, // Curiosity Shop
/* 0x0E */ SCENE_UNSET_E,
/* 0x0F */ SCENE_UNSET_F,
/* 0x10 */ SCENE_OMOYA,
/* 0x11 */ SCENE_BOWLING,
/* 0x12 */ SCENE_SONCHONOIE,
/* 0x13 */ SCENE_IKANA,
/* 0x14 */ SCENE_KAIZOKU,
/* 0x15 */ SCENE_MILK_BAR,
/* 0x16 */ SCENE_INISIE_N,
/* 0x17 */ SCENE_TAKARAYA,
/* 0x18 */ SCENE_INISIE_R,
/* 0x19 */ SCENE_OKUJOU,
/* 0x1A */ SCENE_OPENINGDAN,
/* 0x1B */ SCENE_MITURIN,
/* 0x1C */ SCENE_13HUBUKINOMITI,
/* 0x1D */ SCENE_CASTLE,
/* 0x1E */ SCENE_DEKUTES,
/* 0x1F */ SCENE_MITURIN_BS,
/* 0x20 */ SCENE_SYATEKI_MIZU,
/* 0x21 */ SCENE_HAKUGIN,
/* 0x22 */ SCENE_ROMANYMAE,
/* 0x23 */ SCENE_PIRATE,
/* 0x24 */ SCENE_SYATEKI_MORI,
/* 0x25 */ SCENE_SINKAI,
/* 0x26 */ SCENE_YOUSEI_IZUMI,
/* 0x27 */ SCENE_KINSTA1,
/* 0x28 */ SCENE_KINDAN2,
/* 0x29 */ SCENE_TENMON_DAI,
/* 0x2A */ SCENE_LAST_DEKU,
/* 0x2B */ SCENE_22DEKUCITY,
/* 0x2C */ SCENE_KAJIYA,
/* 0x2D */ SCENE_00KEIKOKU,
/* 0x2E */ SCENE_POSTHOUSE,
/* 0x2F */ SCENE_LABO,
/* 0x30 */ SCENE_DANPEI2TEST,
/* 0x10 */ SCENE_OMOYA, // Mama's House (Ranch House in PAL) & Barn
/* 0x11 */ SCENE_BOWLING, // Honey & Darling's Shop
/* 0x12 */ SCENE_SONCHONOIE, // The Mayor's Residence
/* 0x13 */ SCENE_IKANA, // Ikana Canyon
/* 0x14 */ SCENE_KAIZOKU, // Pirates' Fortress
/* 0x15 */ SCENE_MILK_BAR, // Milk Bar
/* 0x16 */ SCENE_INISIE_N, // Stone Tower Temple
/* 0x17 */ SCENE_TAKARAYA, // Treasure Chest Shop
/* 0x18 */ SCENE_INISIE_R, // Inverted Stone Tower Temple
/* 0x19 */ SCENE_OKUJOU, // Clock Tower Rooftop
/* 0x1A */ SCENE_OPENINGDAN, // Before Clock Town
/* 0x1B */ SCENE_MITURIN, // Woodfall Temple
/* 0x1C */ SCENE_13HUBUKINOMITI, // Path to Mountain Village
/* 0x1D */ SCENE_CASTLE, // Ancient Castle of Ikana
/* 0x1E */ SCENE_DEKUTES, // Deku Scrub Playground
/* 0x1F */ SCENE_MITURIN_BS, // Odolwa's Lair
/* 0x20 */ SCENE_SYATEKI_MIZU, // Town Shooting Gallery
/* 0x21 */ SCENE_HAKUGIN, // Snowhead Temple
/* 0x22 */ SCENE_ROMANYMAE, // Milk Road
/* 0x23 */ SCENE_PIRATE, // Pirates' Fortress Interior
/* 0x24 */ SCENE_SYATEKI_MORI, // Swamp Shooting Gallery
/* 0x25 */ SCENE_SINKAI, // Pinnacle Rock
/* 0x26 */ SCENE_YOUSEI_IZUMI, // Fairy's Fountain
/* 0x27 */ SCENE_KINSTA1, // Swamp Spider House
/* 0x28 */ SCENE_KINDAN2, // Oceanside Spider House
/* 0x29 */ SCENE_TENMON_DAI, // Astral Observatory
/* 0x2A */ SCENE_LAST_DEKU, // Moon Deku Trial
/* 0x2B */ SCENE_22DEKUCITY, // Deku Palace
/* 0x2C */ SCENE_KAJIYA, // Mountain Smithy
/* 0x2D */ SCENE_00KEIKOKU, // Termina Field
/* 0x2E */ SCENE_POSTHOUSE, // Post Office
/* 0x2F */ SCENE_LABO, // Marine Research Lab
/* 0x30 */ SCENE_DANPEI2TEST, // Beneath the Graveyard (Day 3) and Dampe's House
/* 0x31 */ SCENE_UNSET_31,
/* 0x32 */ SCENE_16GORON_HOUSE,
/* 0x33 */ SCENE_33ZORACITY,
/* 0x34 */ SCENE_8ITEMSHOP,
/* 0x35 */ SCENE_F01,
/* 0x36 */ SCENE_INISIE_BS,
/* 0x37 */ SCENE_30GYOSON,
/* 0x38 */ SCENE_31MISAKI,
/* 0x39 */ SCENE_TAKARAKUJI,
/* 0x32 */ SCENE_16GORON_HOUSE, // Goron Shrine
/* 0x33 */ SCENE_33ZORACITY, // Zora Hall
/* 0x34 */ SCENE_8ITEMSHOP, // Trading Post
/* 0x35 */ SCENE_F01, // Romani Ranch
/* 0x36 */ SCENE_INISIE_BS, // Twinmold's Lair
/* 0x37 */ SCENE_30GYOSON, // Great Bay Coast
/* 0x38 */ SCENE_31MISAKI, // Zora Cape
/* 0x39 */ SCENE_TAKARAKUJI, // Lottery Shop
/* 0x3A */ SCENE_UNSET_3A,
/* 0x3B */ SCENE_TORIDE,
/* 0x3C */ SCENE_FISHERMAN,
/* 0x3D */ SCENE_GORONSHOP,
/* 0x3E */ SCENE_DEKU_KING,
/* 0x3F */ SCENE_LAST_GORON,
/* 0x40 */ SCENE_24KEMONOMITI,
/* 0x41 */ SCENE_F01_B,
/* 0x42 */ SCENE_F01C,
/* 0x43 */ SCENE_BOTI,
/* 0x44 */ SCENE_HAKUGIN_BS,
/* 0x45 */ SCENE_20SICHITAI,
/* 0x46 */ SCENE_21MITURINMAE,
/* 0x47 */ SCENE_LAST_ZORA,
/* 0x48 */ SCENE_11GORONNOSATO2,
/* 0x49 */ SCENE_SEA,
/* 0x4A */ SCENE_35TAKI,
/* 0x4B */ SCENE_REDEAD,
/* 0x4C */ SCENE_BANDROOM,
/* 0x4D */ SCENE_11GORONNOSATO,
/* 0x4E */ SCENE_GORON_HAKA,
/* 0x4F */ SCENE_SECOM,
/* 0x50 */ SCENE_10YUKIYAMANOMURA,
/* 0x51 */ SCENE_TOUGITES,
/* 0x52 */ SCENE_DANPEI,
/* 0x53 */ SCENE_IKANAMAE,
/* 0x54 */ SCENE_DOUJOU,
/* 0x55 */ SCENE_MUSICHOUSE,
/* 0x56 */ SCENE_IKNINSIDE,
/* 0x57 */ SCENE_MAP_SHOP,
/* 0x58 */ SCENE_F40,
/* 0x59 */ SCENE_F41,
/* 0x5A */ SCENE_10YUKIYAMANOMURA2,
/* 0x5B */ SCENE_14YUKIDAMANOMITI,
/* 0x5C */ SCENE_12HAKUGINMAE,
/* 0x5D */ SCENE_17SETUGEN,
/* 0x5E */ SCENE_17SETUGEN2,
/* 0x5F */ SCENE_SEA_BS,
/* 0x60 */ SCENE_RANDOM,
/* 0x61 */ SCENE_YADOYA,
/* 0x62 */ SCENE_KONPEKI_ENT,
/* 0x63 */ SCENE_INSIDETOWER,
/* 0x64 */ SCENE_26SARUNOMORI,
/* 0x65 */ SCENE_LOST_WOODS,
/* 0x66 */ SCENE_LAST_LINK,
/* 0x67 */ SCENE_SOUGEN,
/* 0x68 */ SCENE_BOMYA,
/* 0x69 */ SCENE_KYOJINNOMA,
/* 0x6A */ SCENE_KOEPONARACE,
/* 0x6B */ SCENE_GORONRACE,
/* 0x6C */ SCENE_TOWN,
/* 0x6D */ SCENE_ICHIBA,
/* 0x6E */ SCENE_BACKTOWN,
/* 0x6F */ SCENE_CLOCKTOWER,
/* 0x70 */ SCENE_ALLEY,
/* 0x3B */ SCENE_TORIDE, // Pirates' Fortress Moat
/* 0x3C */ SCENE_FISHERMAN, // Fisherman's Hut
/* 0x3D */ SCENE_GORONSHOP, // Goron Shop
/* 0x3E */ SCENE_DEKU_KING, // Deku King's Chamber
/* 0x3F */ SCENE_LAST_GORON, // Moon Goron Trial
/* 0x40 */ SCENE_24KEMONOMITI, // Road to Southern Swamp
/* 0x41 */ SCENE_F01_B, // Doggy Racetrack
/* 0x42 */ SCENE_F01C, // Cucco Shack
/* 0x43 */ SCENE_BOTI, // Ikana Graveyard
/* 0x44 */ SCENE_HAKUGIN_BS, // Goht's Lair
/* 0x45 */ SCENE_20SICHITAI, // Southern Swamp (poison)
/* 0x46 */ SCENE_21MITURINMAE, // Woodfall
/* 0x47 */ SCENE_LAST_ZORA, // Moon Zora Trial
/* 0x48 */ SCENE_11GORONNOSATO2, // Goron Village (spring)
/* 0x49 */ SCENE_SEA, // Great Bay Temple
/* 0x4A */ SCENE_35TAKI, // Waterfall Rapids
/* 0x4B */ SCENE_REDEAD, // Beneath the Well
/* 0x4C */ SCENE_BANDROOM, // Zora Hall Rooms
/* 0x4D */ SCENE_11GORONNOSATO, // Goron Village (winter)
/* 0x4E */ SCENE_GORON_HAKA, // Goron Graveyard
/* 0x4F */ SCENE_SECOM, // Sakon's Hideout
/* 0x50 */ SCENE_10YUKIYAMANOMURA, // Mountain Village (winter)
/* 0x51 */ SCENE_TOUGITES, // Ghost Hut
/* 0x52 */ SCENE_DANPEI, // Deku Shrine
/* 0x53 */ SCENE_IKANAMAE, // Road to Ikana
/* 0x54 */ SCENE_DOUJOU, // Swordsman's School
/* 0x55 */ SCENE_MUSICHOUSE, // Music Box House
/* 0x56 */ SCENE_IKNINSIDE, // Igos du Ikana's Lair
/* 0x57 */ SCENE_MAP_SHOP, // Tourist Information
/* 0x58 */ SCENE_F40, // Stone Tower
/* 0x59 */ SCENE_F41, // Inverted Stone Tower
/* 0x5A */ SCENE_10YUKIYAMANOMURA2, // Mountain Village (spring)
/* 0x5B */ SCENE_14YUKIDAMANOMITI, // Path to Snowhead
/* 0x5C */ SCENE_12HAKUGINMAE, // Snowhead
/* 0x5D */ SCENE_17SETUGEN, // Path to Goron Village (winter)
/* 0x5E */ SCENE_17SETUGEN2, // Path to Goron Village (spring)
/* 0x5F */ SCENE_SEA_BS, // Gyorg's Lair
/* 0x60 */ SCENE_RANDOM, // Secret Shrine
/* 0x61 */ SCENE_YADOYA, // Stock Pot Inn
/* 0x62 */ SCENE_KONPEKI_ENT, // Great Bay Cutscene
/* 0x63 */ SCENE_INSIDETOWER, // Clock Tower Interior
/* 0x64 */ SCENE_26SARUNOMORI, // Woods of Mystery
/* 0x65 */ SCENE_LOST_WOODS, // Lost Woods (Intro)
/* 0x66 */ SCENE_LAST_LINK, // Moon Link Trial
/* 0x67 */ SCENE_SOUGEN, // The Moon
/* 0x68 */ SCENE_BOMYA, // Bomb Shop
/* 0x69 */ SCENE_KYOJINNOMA, // Giants' Chamber
/* 0x6A */ SCENE_KOEPONARACE, // Gorman Track
/* 0x6B */ SCENE_GORONRACE, // Goron Racetrack
/* 0x6C */ SCENE_TOWN, // East Clock Town
/* 0x6D */ SCENE_ICHIBA, // West Clock Town
/* 0x6E */ SCENE_BACKTOWN, // North Clock Town
/* 0x6F */ SCENE_CLOCKTOWER, // South Clock Town
/* 0x70 */ SCENE_ALLEY, // Laundry Pool
/* 0x71 */ SCENE_MAX
} SceneId;
@@ -844,11 +844,11 @@ typedef enum {
#define SCENE_CMD_SPECIAL_FILES(elfMessageFile, keepObjectId) \
{ SCENE_CMD_ID_SPECIAL_FILES, elfMessageFile, CMD_W(keepObjectId) }
#define SCENE_CMD_ROOM_BEHAVIOR(currRoomUnk3, currRoomUnk2, currRoomUnk5, msgCtxunk12044, enablePosLights, \
#define SCENE_CMD_ROOM_BEHAVIOR(curRoomUnk3, curRoomUnk2, curRoomUnk5, msgCtxunk12044, enablePosLights, \
kankyoContextUnkE2) \
{ \
SCENE_CMD_ID_ROOM_BEHAVIOR, currRoomUnk3, \
currRoomUnk2 | _SHIFTL(currRoomUnk5, 8, 1) | _SHIFTL(msgCtxunk12044, 10, 1) | \
SCENE_CMD_ID_ROOM_BEHAVIOR, curRoomUnk3, \
curRoomUnk2 | _SHIFTL(curRoomUnk5, 8, 1) | _SHIFTL(msgCtxunk12044, 10, 1) | \
_SHIFTL(enablePosLights, 11, 1) | _SHIFTL(kankyoContextUnkE2, 12, 1) \
}
+6 -6
View File
@@ -42,8 +42,8 @@ typedef enum {
/* 0x07 */ SCHEDULE_CMD_ID_NOP, // No-Op
/* 0x08 */ SCHEDULE_CMD_ID_CHECK_MISC_S, // Special check based on items or masks and branches if check passes, short range branch
/* 0x09 */ SCHEDULE_CMD_ID_RET_VAL_S, // Ends script and returns byte value
/* 0x0A */ SCHEDULE_CMD_ID_CHECK_NOT_IN_SCENE_S, // Checks if the current scene is not SceneNum and branches if so, short range branch
/* 0x0B */ SCHEDULE_CMD_ID_CHECK_NOT_IN_SCENE_L, // Checks if the current scene is not SceneNum and branches if so, long range branch
/* 0x0A */ SCHEDULE_CMD_ID_CHECK_NOT_IN_SCENE_S, // Checks if the current scene is not SceneId and branches if so, short range branch
/* 0x0B */ SCHEDULE_CMD_ID_CHECK_NOT_IN_SCENE_L, // Checks if the current scene is not SceneId and branches if so, long range branch
/* 0x0C */ SCHEDULE_CMD_ID_CHECK_NOT_IN_DAY_S, // Checks if the current day is not Day and branches if so, short range branch
/* 0x0D */ SCHEDULE_CMD_ID_CHECK_NOT_IN_DAY_L, // Checks if the current day is not Day and branches if so, long range branch
/* 0x0E */ SCHEDULE_CMD_ID_RET_TIME, // Returns 2 time values
@@ -130,15 +130,15 @@ typedef struct {
typedef struct {
/* 0x0 */ ScheduleCmdBase base;
/* 0x1 */ u8 sceneH;
/* 0x2 */ u8 sceneL;
/* 0x1 */ u8 sceneIdH;
/* 0x2 */ u8 sceneIdL;
/* 0x3 */ s8 offset;
} ScheduleCmdCheckNotInSceneS; // size = 0x4
typedef struct {
/* 0x0 */ ScheduleCmdBase base;
/* 0x1 */ u8 sceneH;
/* 0x2 */ u8 sceneL;
/* 0x1 */ u8 sceneIdH;
/* 0x2 */ u8 sceneIdL;
/* 0x3 */ u8 offsetH;
/* 0x4 */ u8 offsetL;
} ScheduleCmdCheckNotInSceneL; // size = 0x5
+12 -19
View File
@@ -2028,8 +2028,7 @@ beginseg
name "ovl_En_Tg"
compress
include "build/src/overlays/actors/ovl_En_Tg/z_en_tg.o"
include "build/data/ovl_En_Tg/ovl_En_Tg.data.o"
include "build/data/ovl_En_Tg/ovl_En_Tg.reloc.o"
include "build/src/overlays/actors/ovl_En_Tg/ovl_En_Tg_reloc.o"
endseg
beginseg
@@ -2079,9 +2078,7 @@ beginseg
name "ovl_Oceff_Wipe4"
compress
include "build/src/overlays/actors/ovl_Oceff_Wipe4/z_oceff_wipe4.o"
include "build/data/ovl_Oceff_Wipe4/ovl_Oceff_Wipe4.data.o"
include "build/data/ovl_Oceff_Wipe4/ovl_Oceff_Wipe4.bss.o"
include "build/data/ovl_Oceff_Wipe4/ovl_Oceff_Wipe4.reloc.o"
include "build/src/overlays/actors/ovl_Oceff_Wipe4/ovl_Oceff_Wipe4_reloc.o"
endseg
beginseg
@@ -2174,8 +2171,7 @@ beginseg
name "ovl_En_Grasshopper"
compress
include "build/src/overlays/actors/ovl_En_Grasshopper/z_en_grasshopper.o"
include "build/data/ovl_En_Grasshopper/ovl_En_Grasshopper.data.o"
include "build/data/ovl_En_Grasshopper/ovl_En_Grasshopper.reloc.o"
include "build/src/overlays/actors/ovl_En_Grasshopper/ovl_En_Grasshopper_reloc.o"
endseg
beginseg
@@ -2640,8 +2636,7 @@ beginseg
name "ovl_En_Ru"
compress
include "build/src/overlays/actors/ovl_En_Ru/z_en_ru.o"
include "build/data/ovl_En_Ru/ovl_En_Ru.data.o"
include "build/data/ovl_En_Ru/ovl_En_Ru.reloc.o"
include "build/src/overlays/actors/ovl_En_Ru/ovl_En_Ru_reloc.o"
endseg
beginseg
@@ -4569,8 +4564,7 @@ beginseg
name "ovl_En_Nimotsu"
compress
include "build/src/overlays/actors/ovl_En_Nimotsu/z_en_nimotsu.o"
include "build/data/ovl_En_Nimotsu/ovl_En_Nimotsu.data.o"
include "build/data/ovl_En_Nimotsu/ovl_En_Nimotsu.reloc.o"
include "build/src/overlays/actors/ovl_En_Nimotsu/ovl_En_Nimotsu_reloc.o"
endseg
beginseg
@@ -5099,8 +5093,7 @@ beginseg
name "ovl_Obj_Swprize"
compress
include "build/src/overlays/actors/ovl_Obj_Swprize/z_obj_swprize.o"
include "build/data/ovl_Obj_Swprize/ovl_Obj_Swprize.data.o"
include "build/data/ovl_Obj_Swprize/ovl_Obj_Swprize.reloc.o"
include "build/src/overlays/actors/ovl_Obj_Swprize/ovl_Obj_Swprize_reloc.o"
endseg
beginseg
@@ -7012,11 +7005,11 @@ beginseg
endseg
beginseg
name "object_dnq"
name "object_dno"
compress
romalign 0x1000
number 6
include "build/assets/objects/object_dnq/object_dnq.o"
include "build/assets/objects/object_dno/object_dno.o"
endseg
beginseg
@@ -7580,11 +7573,11 @@ beginseg
endseg
beginseg
name "object_dnp"
name "object_dnq"
compress
romalign 0x1000
number 6
include "build/assets/objects/object_dnp/object_dnp.o"
include "build/assets/objects/object_dnq/object_dnq.o"
endseg
beginseg
@@ -7748,11 +7741,11 @@ beginseg
endseg
beginseg
name "object_dno"
name "object_dnj"
compress
romalign 0x1000
number 6
include "build/assets/objects/object_dno/object_dno.o"
include "build/assets/objects/object_dnj/object_dnj.o"
endseg
beginseg
+28 -28
View File
@@ -365,7 +365,7 @@ s16 gItemPrices[] = {
};
// Used to map scene indexes to their region in Termina
u16 gScenesPerRegion[11][27] = {
u16 gSceneIdsPerRegion[11][27] = {
// Great Bay
{
SCENE_30GYOSON,
@@ -522,7 +522,7 @@ void Inventory_ChangeUpgrade(s16 upgrade, u32 value) {
gSaveContext.save.inventory.upgrades = upgrades;
}
s32 Inventory_IsMapVisible(s16 sceneNum) {
s32 Inventory_IsMapVisible(s16 sceneId) {
s16 index = 0;
/**
@@ -530,30 +530,30 @@ s32 Inventory_IsMapVisible(s16 sceneNum) {
* increment to the next index of scenesVisible so that every scene gets a unique flag in scenesVisible,
* 224 bits were allocated to this although there are only 112 scenes
*/
if (sceneNum >= 0x20) {
if (sceneNum < 0x40) {
if (sceneId >= 0x20) {
if (sceneId < 0x40) {
index = 1;
} else if (sceneNum < 0x60) {
} else if (sceneId < 0x60) {
index = 2;
} else if (sceneNum < 0x80) {
} else if (sceneId < 0x80) {
index = 3;
} else if (sceneNum < 0xA0) {
} else if (sceneId < 0xA0) {
index = 4;
} else if (sceneNum < 0xC0) {
} else if (sceneId < 0xC0) {
index = 5;
} else if (sceneNum < 0xE0) {
} else if (sceneId < 0xE0) {
index = 6;
}
}
if (gSaveContext.save.scenesVisible[index] & gBitFlags[sceneNum - (index << 5)]) {
if (gSaveContext.save.scenesVisible[index] & gBitFlags[sceneId - (index << 5)]) {
return true;
}
return false;
}
static u16 sScenesPerTingleMap[6][12] = {
static u16 sSceneIdsPerTingleMap[6][12] = {
{
// Clock Town Tingle Map
SCENE_00KEIKOKU,
@@ -630,11 +630,11 @@ static u16 sScenesPerTingleMap[6][12] = {
void Inventory_SetMapVisibility(s16 tingleIndex) {
s16 i = 0;
s16 index = 0;
u16(*tingleMapSceneIndices)[] = &sScenesPerTingleMap[tingleIndex];
u16(*tingleMapSceneIds)[] = &sSceneIdsPerTingleMap[tingleIndex];
if ((tingleIndex >= 0) && (tingleIndex < 6)) {
while (true) {
if ((*tingleMapSceneIndices)[i] == 0xFFFF) {
if ((*tingleMapSceneIds)[i] == 0xFFFF) {
break;
}
@@ -643,38 +643,38 @@ void Inventory_SetMapVisibility(s16 tingleIndex) {
* increment to the next index of scenesVisible so that every scene gets a unique flag in scenesVisible,
* 224 bits were allocated to this although there are only 112 scenes
*/
if (((s16)(*tingleMapSceneIndices)[i]) < 0x20) {
if (((s16)(*tingleMapSceneIds)[i]) < 0x20) {
index = 0;
} else if (((s16)(*tingleMapSceneIndices)[i]) < 0x40) {
} else if (((s16)(*tingleMapSceneIds)[i]) < 0x40) {
index = 1;
} else if (((s16)(*tingleMapSceneIndices)[i]) < 0x60) {
} else if (((s16)(*tingleMapSceneIds)[i]) < 0x60) {
index = 2;
} else if (((s16)(*tingleMapSceneIndices)[i]) < 0x80) {
} else if (((s16)(*tingleMapSceneIds)[i]) < 0x80) {
index = 3;
} else if (((s16)(*tingleMapSceneIndices)[i]) < 0xA0) {
} else if (((s16)(*tingleMapSceneIds)[i]) < 0xA0) {
index = 4;
} else if (((s16)(*tingleMapSceneIndices)[i]) < 0xC0) {
} else if (((s16)(*tingleMapSceneIds)[i]) < 0xC0) {
index = 5;
} else if (((s16)(*tingleMapSceneIndices)[i]) < 0xE0) {
} else if (((s16)(*tingleMapSceneIds)[i]) < 0xE0) {
index = 6;
}
gSaveContext.save.scenesVisible[index] =
gSaveContext.save.scenesVisible[index] | gBitFlags[(s16)(*tingleMapSceneIndices)[i] - (index << 5)];
gSaveContext.save.scenesVisible[index] | gBitFlags[(s16)(*tingleMapSceneIds)[i] - (index << 5)];
i++;
}
if ((*tingleMapSceneIndices) == sScenesPerTingleMap[0]) {
if ((*tingleMapSceneIds) == sSceneIdsPerTingleMap[0]) {
gSaveContext.save.mapsVisible |= 3;
} else if ((*tingleMapSceneIndices) == sScenesPerTingleMap[1]) {
} else if ((*tingleMapSceneIds) == sSceneIdsPerTingleMap[1]) {
gSaveContext.save.mapsVisible |= 0x1C;
} else if ((*tingleMapSceneIndices) == sScenesPerTingleMap[2]) {
} else if ((*tingleMapSceneIds) == sSceneIdsPerTingleMap[2]) {
gSaveContext.save.mapsVisible |= 0xE0;
} else if ((*tingleMapSceneIndices) == sScenesPerTingleMap[3]) {
} else if ((*tingleMapSceneIds) == sSceneIdsPerTingleMap[3]) {
gSaveContext.save.mapsVisible |= 0x100;
} else if ((*tingleMapSceneIndices) == sScenesPerTingleMap[4]) {
} else if ((*tingleMapSceneIds) == sSceneIdsPerTingleMap[4]) {
gSaveContext.save.mapsVisible |= 0x1E00;
} else if ((*tingleMapSceneIndices) == sScenesPerTingleMap[5]) {
} else if ((*tingleMapSceneIds) == sSceneIdsPerTingleMap[5]) {
gSaveContext.save.mapsVisible |= 0x6000;
}
}
@@ -688,7 +688,7 @@ void Inventory_SetMapVisibility(s16 tingleIndex) {
void Inventory_SaveDekuPlaygroundHighScore(s16 timerId) {
s16 i;
gSaveContext.save.dekuPlaygroundHighScores[CURRENT_DAY - 1] = gSaveContext.unk_3DE0[timerId];
gSaveContext.save.dekuPlaygroundHighScores[CURRENT_DAY - 1] = gSaveContext.timerCurTimes[timerId];
for (i = 0; i < 8; i++) {
gSaveContext.save.inventory.dekuPlaygroundPlayerName[CURRENT_DAY - 1][i] =
+17 -17
View File
@@ -1336,7 +1336,7 @@ s32 func_800B715C(PlayState* play) {
}
void Actor_SetCameraHorseSetting(PlayState* play, Player* player) {
if ((play->roomCtx.currRoom.unk3 != 4) && (player->actor.id == ACTOR_PLAYER)) {
if ((play->roomCtx.curRoom.unk3 != 4) && (player->actor.id == ACTOR_PLAYER)) {
EnHorse* rideActor = (EnHorse*)player->rideActor;
if ((rideActor != NULL) && !(rideActor->unk_1EC & 0x10)) {
@@ -2235,7 +2235,7 @@ void Actor_InitContext(PlayState* play, ActorContext* actorCtx, ActorEntry* acto
s32 i;
gSaveContext.save.weekEventReg[92] |= 0x80;
cycleFlags = &gSaveContext.cycleSceneFlags[Play_GetOriginalSceneNumber(play->sceneNum)];
cycleFlags = &gSaveContext.cycleSceneFlags[Play_GetOriginalSceneId(play->sceneId)];
bzero(actorCtx, sizeof(ActorContext));
ActorOverlayTable_Init();
@@ -2252,8 +2252,8 @@ void Actor_InitContext(PlayState* play, ActorContext* actorCtx, ActorEntry* acto
actorCtx->sceneFlags.chest = cycleFlags->chest;
actorCtx->sceneFlags.switches[0] = cycleFlags->switch0;
actorCtx->sceneFlags.switches[1] = cycleFlags->switch1;
if (play->sceneNum == SCENE_INISIE_R) {
cycleFlags = &gSaveContext.cycleSceneFlags[play->sceneNum];
if (play->sceneId == SCENE_INISIE_R) {
cycleFlags = &gSaveContext.cycleSceneFlags[play->sceneId];
}
actorCtx->sceneFlags.collectible[0] = cycleFlags->collectible;
actorCtx->sceneFlags.clearedRoom = cycleFlags->clearedRoom;
@@ -2499,7 +2499,7 @@ void Actor_Draw(PlayState* play, Actor* actor) {
OPEN_DISPS(play->state.gfxCtx);
light = LightContext_NewLights(&play->lightCtx, play->state.gfxCtx);
if ((actor->flags & ACTOR_FLAG_10000000) && (play->roomCtx.currRoom.enablePosLights || (MREG(93) != 0))) {
if ((actor->flags & ACTOR_FLAG_10000000) && (play->roomCtx.curRoom.enablePosLights || (MREG(93) != 0))) {
light->enablePosLights = true;
}
@@ -2669,7 +2669,7 @@ void Actor_DrawLensActors(PlayState* play, s32 numActors, Actor** actors) {
gDPSetPrimColor(spAC++, 0, 0, 0, 0, 0, 255);
// temp_s1_5 = spAC;
if (play->roomCtx.currRoom.unk5 == 0) {
if (play->roomCtx.curRoom.unk5 == 0) {
// temp_s1_5->words.w0 = 0xFC61E6C3;
// temp_s1_5->words.w1 = 0x11CF9FCF;
// phi_s1 = temp_s1_5 + 8;
@@ -2719,7 +2719,7 @@ void Actor_DrawLensActors(PlayState* play, s32 numActors, Actor** actors) {
// temp_a0_2 = &spAC;
// if (sp34->unk_6E5 == 0) {
if (play->roomCtx.currRoom.unk5 == 0) {
if (play->roomCtx.curRoom.unk5 == 0) {
// temp_s1_10->unk_0 = 0xFC119623;
// temp_s1_10->unk_4 = 0xFF2FFFFF;
// phi_s1_4 = temp_s1_10 + 8;
@@ -2882,8 +2882,8 @@ void Actor_DrawAll(PlayState* play, ActorContext* actorCtx) {
actor->isDrawn = false;
if ((actor->init == NULL) && (actor->draw != NULL) && (actor->flags & actorFlags)) {
if ((actor->flags & ACTOR_FLAG_80) &&
((play->roomCtx.currRoom.unk5 == 0) || (play->actorCtx.lensMaskSize == LENS_MASK_ACTIVE_SIZE) ||
(actor->room != play->roomCtx.currRoom.num))) {
((play->roomCtx.curRoom.unk5 == 0) || (play->actorCtx.lensMaskSize == LENS_MASK_ACTIVE_SIZE) ||
(actor->room != play->roomCtx.curRoom.num))) {
if (Actor_RecordUndrawnActor(play, actor)) {}
} else {
Actor_Draw(play, actor);
@@ -2960,7 +2960,7 @@ void func_800BA798(PlayState* play, ActorContext* actorCtx) {
actor = actorCtx->actorLists[i].first;
while (actor != NULL) {
if ((actor->room >= 0) && (actor->room != play->roomCtx.currRoom.num) &&
if ((actor->room >= 0) && (actor->room != play->roomCtx.curRoom.num) &&
(actor->room != play->roomCtx.prevRoom.num)) {
if (!actor->isDrawn) {
actor = Actor_Delete(actorCtx, actor, play);
@@ -3091,9 +3091,9 @@ Actor* Actor_RemoveFromCategory(PlayState* play, ActorContext* actorCtx, Actor*
actorToRemove->next = NULL;
actorToRemove->prev = NULL;
if ((actorToRemove->room == play->roomCtx.currRoom.num) && (actorToRemove->category == ACTORCAT_ENEMY) &&
if ((actorToRemove->room == play->roomCtx.curRoom.num) && (actorToRemove->category == ACTORCAT_ENEMY) &&
(actorCtx->actorLists[ACTORCAT_ENEMY].length == 0)) {
Flags_SetClearTemp(play, play->roomCtx.currRoom.num);
Flags_SetClearTemp(play, play->roomCtx.curRoom.num);
}
return newHead;
@@ -3180,8 +3180,8 @@ Actor* Actor_SpawnAsChildAndCutscene(ActorContext* actorCtx, PlayState* play, s1
}
objBankIndex = Object_GetIndex(&play->objectCtx, actorInit->objectId);
if ((objBankIndex < 0) || ((actorInit->type == ACTORCAT_ENEMY) &&
Flags_GetClear(play, play->roomCtx.currRoom.num) && (actorInit->id != ACTOR_BOSS_05))) {
if ((objBankIndex < 0) || ((actorInit->type == ACTORCAT_ENEMY) && Flags_GetClear(play, play->roomCtx.curRoom.num) &&
(actorInit->id != ACTOR_BOSS_05))) {
Actor_FreeOverlay(&gActorOverlayTable[index]);
return NULL;
}
@@ -3219,7 +3219,7 @@ Actor* Actor_SpawnAsChildAndCutscene(ActorContext* actorCtx, PlayState* play, s1
actor->parent = parent;
parent->child = actor;
} else {
actor->room = play->roomCtx.currRoom.num;
actor->room = play->roomCtx.curRoom.num;
}
actor->home.pos.x = x;
@@ -3267,10 +3267,10 @@ void Actor_SpawnTransitionActors(PlayState* play, ActorContext* actorCtx) {
for (i = 0; i < numTransitionActors; transitionActorList++, i++) {
if (transitionActorList->id >= 0) {
if ((transitionActorList->sides[0].room >= 0 &&
(play->roomCtx.currRoom.num == transitionActorList->sides[0].room ||
(play->roomCtx.curRoom.num == transitionActorList->sides[0].room ||
play->roomCtx.prevRoom.num == transitionActorList->sides[0].room)) ||
(transitionActorList->sides[1].room >= 0 &&
(play->roomCtx.currRoom.num == transitionActorList->sides[1].room ||
(play->roomCtx.curRoom.num == transitionActorList->sides[1].room ||
play->roomCtx.prevRoom.num == transitionActorList->sides[1].room))) {
s16 rotY = ((transitionActorList->rotY >> 7) & 0x1FF) * (0x10000 / 360.0f);
+11 -10
View File
@@ -1,3 +1,4 @@
#include "prevent_bss_reordering.h"
#include "global.h"
#include "vt.h"
#include "overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_scope.h"
@@ -46,7 +47,7 @@ u8 D_801B46C0[] = {
/* 0x0E */ 1
};
s16 sSmallMemScenes[] = {
s16 sSmallMemSceneIds[] = {
SCENE_F01,
};
@@ -1462,10 +1463,10 @@ u32 BgCheck_InitStaticLookup(CollisionContext* colCtx, PlayState* play, StaticLo
* Returns whether the current scene should reserve less memory for it's collision lookup
*/
s32 BgCheck_IsSmallMemScene(PlayState* play) {
s16* i;
s16* sceneId;
for (i = sSmallMemScenes; i < sSmallMemScenes + ARRAY_COUNT(sSmallMemScenes); i++) {
if (play->sceneNum == *i) {
for (sceneId = sSmallMemSceneIds; sceneId < sSmallMemSceneIds + ARRAY_COUNT(sSmallMemSceneIds); sceneId++) {
if (play->sceneId == *sceneId) {
return true;
}
}
@@ -1504,7 +1505,7 @@ s32 BgCheck_GetSpecialSceneMaxObjects(PlayState* play, s32* maxNodes, s32* maxPo
s32 i;
for (i = 0; i < ARRAY_COUNT(sCustomDynapolyMem); i++) {
if (play->sceneNum == sCustomDynapolyMem[i].sceneId) {
if (play->sceneId == sCustomDynapolyMem[i].sceneId) {
*maxNodes = sCustomDynapolyMem[i].maxNodes;
*maxPolygons = sCustomDynapolyMem[i].maxPolygons;
*maxVertices = sCustomDynapolyMem[i].maxVertices;
@@ -1541,7 +1542,7 @@ void BgCheck_Allocate(CollisionContext* colCtx, PlayState* play, CollisionHeader
s32 useCustomSubdivisions;
s32 i;
if (BgCheck_TryGetCustomMemsize(play->sceneNum, &customMemSize)) {
if (BgCheck_TryGetCustomMemsize(play->sceneId, &customMemSize)) {
colCtx->memSize = customMemSize;
} else {
colCtx->memSize = 0x23000;
@@ -1554,7 +1555,7 @@ void BgCheck_Allocate(CollisionContext* colCtx, PlayState* play, CollisionHeader
useCustomSubdivisions = false;
for (i = 0; i < ARRAY_COUNT(sSceneSubdivisionList); i++) {
if (play->sceneNum == sSceneSubdivisionList[i].sceneId) {
if (play->sceneId == sSceneSubdivisionList[i].sceneId) {
colCtx->subdivAmount.x = sSceneSubdivisionList[i].subdivAmount.x;
colCtx->subdivAmount.y = sSceneSubdivisionList[i].subdivAmount.y;
colCtx->subdivAmount.z = sSceneSubdivisionList[i].subdivAmount.z;
@@ -4404,7 +4405,7 @@ s32 WaterBox_GetSurfaceImpl(PlayState* play, CollisionContext* colCtx, f32 x, f3
for (curWaterBox = colHeader->waterBoxes; curWaterBox < colHeader->waterBoxes + colHeader->numWaterBoxes;
curWaterBox++) {
room = 0x3F & (curWaterBox->properties >> 13);
if (room == (u32)play->roomCtx.currRoom.num || room == 0x3F) {
if (room == (u32)play->roomCtx.curRoom.num || room == 0x3F) {
if (curWaterBox->properties & 0x80000) {
continue;
}
@@ -4489,7 +4490,7 @@ s32 WaterBox_GetSurface2(PlayState* play, CollisionContext* colCtx, Vec3f* pos,
waterBox = &colHeader->waterBoxes[i];
room = WATERBOX_ROOM(waterBox->properties);
if (!(room == play->roomCtx.currRoom.num || room == 0x3F)) {
if (!(room == play->roomCtx.curRoom.num || room == 0x3F)) {
continue;
}
if ((waterBox->properties & 0x80000)) {
@@ -4631,7 +4632,7 @@ s32 func_800CA6F0(PlayState* play, CollisionContext* colCtx, f32 x, f32 z, f32*
for (curWaterBox = colHeader->waterBoxes; curWaterBox < colHeader->waterBoxes + colHeader->numWaterBoxes;
curWaterBox++) {
room = WATERBOX_ROOM(curWaterBox->properties);
if (room == (u32)play->roomCtx.currRoom.num || room == 0x3F) {
if (room == (u32)play->roomCtx.curRoom.num || room == 0x3F) {
if ((curWaterBox->properties & 0x80000) != 0) {
if (curWaterBox->minPos.x < x && x < curWaterBox->minPos.x + curWaterBox->xLength) {
if (curWaterBox->minPos.z < z && z < curWaterBox->minPos.z + curWaterBox->zLength) {
+1 -1
View File
@@ -16,7 +16,7 @@ void SaveContext_Init(void) {
gSaveContext.skyboxTime = 0;
gSaveContext.dogIsLost = true;
gSaveContext.nextTransitionType = TRANS_NEXT_TYPE_DEFAULT;
gSaveContext.unk_3F26 = 50;
gSaveContext.prevHudVisibility = HUD_VISIBILITY_ALL;
gSaveContext.options.language = 1;
gSaveContext.options.audioSetting = 0;
+6 -6
View File
@@ -105,7 +105,7 @@ s32 func_800EA220(PlayState* play, CutsceneContext* csCtx, f32 target) {
}
void func_800EA258(PlayState* play, CutsceneContext* csCtx) {
Interface_ChangeAlpha(1);
Interface_SetHudVisibility(HUD_VISIBILITY_NONE);
ShrinkWindow_SetLetterboxTarget(32);
if (func_800EA220(play, csCtx, 1.0f)) {
Audio_SetCutsceneFlag(true);
@@ -115,7 +115,7 @@ void func_800EA258(PlayState* play, CutsceneContext* csCtx) {
void func_800EA2B8(PlayState* play, CutsceneContext* csCtx) {
func_800ED980(play, csCtx);
Interface_ChangeAlpha(1);
Interface_SetHudVisibility(HUD_VISIBILITY_NONE);
ShrinkWindow_SetLetterboxTarget(32);
if (func_800EA220(play, csCtx, 1.0f)) {
Audio_SetCutsceneFlag(true);
@@ -215,7 +215,7 @@ void Cutscene_Command_Misc(PlayState* play, CutsceneContext* csCtx, CsCmdBase* c
gVisMonoColor.a = 255 * progress;
break;
case 0xC:
play->roomCtx.currRoom.segment = NULL;
play->roomCtx.curRoom.segment = NULL;
break;
case 0xD:
if (play->state.frames & 8) {
@@ -561,7 +561,7 @@ void Cutscene_TerminatorImpl(PlayState* play, CutsceneContext* csCtx, CsCmdBase*
gSaveContext.cutsceneTransitionControl = 1;
if ((gSaveContext.gameMode != 0) && (csCtx->frames != cmd->startFrame)) {
gSaveContext.unk_3F1E = 1;
gSaveContext.hudVisibilityForceButtonAlphasByStatus = true;
}
gSaveContext.save.cutscene = 0;
@@ -1078,7 +1078,7 @@ void Cutscene_Command_Textbox(PlayState* play, CutsceneContext* csCtx, CsCmdText
}
if (originalCsFrames == csCtx->frames) {
Interface_ChangeAlpha(1);
Interface_SetHudVisibility(HUD_VISIBILITY_NONE);
D_801BB124 = 0;
D_801BB128 = 0;
func_80161C0C();
@@ -1451,7 +1451,7 @@ void func_800EDA84(PlayState* play, CutsceneContext* csCtx) {
csCtx->unk_18 = 0xFFFF;
if (gSaveContext.cutsceneTrigger == 0) {
Interface_ChangeAlpha(1);
Interface_SetHudVisibility(HUD_VISIBILITY_NONE);
ShrinkWindow_SetLetterboxTarget(32);
ShrinkWindow_SetLetterboxMagnitude(0x20);
csCtx->state++;
+2 -2
View File
@@ -20,7 +20,7 @@ u16 ElfMessage_GetFirstCycleHint(PlayState* play) {
if (gSaveContext.save.weekEventReg[9] & 1) {
return 0x21E;
}
if (play->sceneNum == SCENE_YOUSEI_IZUMI) {
if (play->sceneId == SCENE_YOUSEI_IZUMI) {
return 0;
}
return 0x21D;
@@ -29,7 +29,7 @@ u16 ElfMessage_GetFirstCycleHint(PlayState* play) {
return 0x21F;
}
if (INV_CONTENT(ITEM_DEED_LAND) == ITEM_DEED_LAND) {
if (play->sceneNum != SCENE_OKUJOU) {
if (play->sceneId != SCENE_OKUJOU) {
return 0x244;
}
return 0;
+7 -7
View File
@@ -18,14 +18,14 @@ static s16 sGameOverTimer = 0;
void GameOver_Update(PlayState* play) {
GameOverContext* gameOverCtx = &play->gameOverCtx;
s16 i;
s16 timerId;
switch (gameOverCtx->state) {
case GAMEOVER_DEATH_START:
func_801477B4(play);
for (i = 0; i < ARRAY_COUNT(gSaveContext.unk_3DD0); i++) {
gSaveContext.unk_3DD0[i] = 0;
for (timerId = 0; timerId < TIMER_ID_MAX; timerId++) {
gSaveContext.timerStates[timerId] = TIMER_STATE_OFF;
}
gSaveContext.eventInf[1] &= ~1;
@@ -57,10 +57,10 @@ void GameOver_Update(PlayState* play) {
gSaveContext.buttonStatus[EQUIP_SLOT_C_DOWN] = BTN_ENABLED;
gSaveContext.buttonStatus[EQUIP_SLOT_C_RIGHT] = BTN_ENABLED;
gSaveContext.buttonStatus[EQUIP_SLOT_A] = BTN_ENABLED;
gSaveContext.unk_3F1E = 0;
gSaveContext.unk_3F20 = 0;
gSaveContext.unk_3F22 = 0;
gSaveContext.unk_3F24 = 0;
gSaveContext.hudVisibilityForceButtonAlphasByStatus = false;
gSaveContext.nextHudVisibility = HUD_VISIBILITY_IDLE;
gSaveContext.hudVisibility = HUD_VISIBILITY_IDLE;
gSaveContext.hudVisibilityTimer = 0;
Kankyo_InitGameOverLights(play);
sGameOverTimer = 20;
Rumble_Request(0.0f, 126, 124, 63);
+15 -15
View File
@@ -33,12 +33,12 @@ void func_800F4A10(PlayState* play) {
for (i = 9; i >= 0; i--) {
if ((gSaveContext.save.playerData.owlActivationFlags >> i) & 1) {
pauseCtx->worldMapPoints[i] = 1;
pauseCtx->unk_238[4] = i;
pauseCtx->cursorPoint[PAUSE_WORLD_MAP] = i;
}
}
if ((gSaveContext.save.playerData.owlActivationFlags >> 4) & 1) {
pauseCtx->unk_238[4] = 4;
pauseCtx->cursorPoint[PAUSE_WORLD_MAP] = 4;
}
}
@@ -81,8 +81,8 @@ void KaleidoSetup_Update(PlayState* play) {
if (!(play->actorCtx.flags & ACTORCTX_FLAG_1) &&
!(play->actorCtx.flags & ACTORCTX_FLAG_2)) {
if ((play->actorCtx.unk268 == 0) && CHECK_BTN_ALL(input->press.button, BTN_START)) {
gSaveContext.unk_3F26 = gSaveContext.unk_3F22;
pauseCtx->unk_2B9 = 0;
gSaveContext.prevHudVisibility = gSaveContext.hudVisibility;
pauseCtx->itemDescriptionOn = false;
pauseCtx->state = 1;
func_800F4A10(play);
pauseCtx->mode = pauseCtx->pageIndex * 2 + 1;
@@ -122,23 +122,23 @@ void KaleidoSetup_Init(PlayState* play) {
pauseCtx->unk_20C = 936.0f;
pauseCtx->unk_220 = -314.0f;
pauseCtx->unk_238[PAUSE_MAP] = XREG(94) + 3;
pauseCtx->cursorPoint[PAUSE_MAP] = XREG(94) + 3;
pauseCtx->unk_258 = 11;
pauseCtx->unk_25A = 0;
pauseCtx->cursorSpecialPos = PAUSE_CURSOR_PAGE_RIGHT;
pauseCtx->pageSwitchTimer = 0;
pauseCtx->cursorItem[PAUSE_ITEM] = 999;
pauseCtx->cursorItem[PAUSE_ITEM] = PAUSE_ITEM_NONE;
pauseCtx->cursorItem[PAUSE_MAP] = XREG(94) + 3;
pauseCtx->cursorItem[PAUSE_QUEST] = 999;
pauseCtx->cursorItem[PAUSE_MASK] = 999;
pauseCtx->cursorItem[PAUSE_QUEST] = PAUSE_ITEM_NONE;
pauseCtx->cursorItem[PAUSE_MASK] = PAUSE_ITEM_NONE;
pauseCtx->unk_268[PAUSE_ITEM] = 0;
pauseCtx->unk_268[PAUSE_MAP] = XREG(94) + 3;
pauseCtx->cursorSlot[PAUSE_ITEM] = 0;
pauseCtx->cursorSlot[PAUSE_MAP] = XREG(94) + 3;
pauseCtx->unk_284 = 2;
pauseCtx->cursorColorSet = 2;
pauseCtx->unk_2A0 = -1;
pauseCtx->unk_2BA = 320;
pauseCtx->unk_2BC = 40;
pauseCtx->equipAnimScale = 320;
pauseCtx->equipAnimShrinkRate = 40;
pauseCtx->promptAlpha = 100;
View_Init(&pauseCtx->view, play->state.gfxCtx);
+17 -17
View File
@@ -5,7 +5,7 @@ s16 sMinimapInitPosX = 0;
s16 sMinimapInitPosZ = 0;
s16 sMinimapInitDir = 0;
s32 sDungeonAndBossScenes[] = {
s32 sDungeonAndBossSceneIds[] = {
SCENE_MITURIN, SCENE_HAKUGIN, SCENE_SEA, SCENE_INISIE_N, SCENE_INISIE_R,
SCENE_MITURIN_BS, SCENE_HAKUGIN_BS, SCENE_SEA_BS, SCENE_INISIE_BS,
};
@@ -17,8 +17,8 @@ s32 sDungeonAndBossScenes[] = {
s32 Map_GetDungeonOrBossAreaIndex(PlayState* play) {
s32 i;
for (i = 0; i < ARRAY_COUNT(sDungeonAndBossScenes); i++) {
if (Play_GetOriginalSceneNumber(play->sceneNum) == sDungeonAndBossScenes[i]) {
for (i = 0; i < ARRAY_COUNT(sDungeonAndBossSceneIds); i++) {
if (Play_GetOriginalSceneId(play->sceneId) == sDungeonAndBossSceneIds[i]) {
return i;
}
}
@@ -45,7 +45,7 @@ s32 func_8010A0A4(PlayState* play) {
return true;
}
s32 sDungeonScenes[] = {
s32 sDungeonSceneIds[] = {
SCENE_MITURIN, SCENE_HAKUGIN, SCENE_SEA, SCENE_INISIE_N, SCENE_INISIE_R,
};
@@ -56,8 +56,8 @@ s32 sDungeonScenes[] = {
s32 Map_GetDungeonAreaIndex(PlayState* play) {
s32 i;
for (i = 0; i < ARRAY_COUNT(sDungeonScenes); i++) {
if (Play_GetOriginalSceneNumber(play->sceneNum) == sDungeonScenes[i]) {
for (i = 0; i < ARRAY_COUNT(sDungeonSceneIds); i++) {
if (Play_GetOriginalSceneId(play->sceneId) == sDungeonSceneIds[i]) {
return i;
}
}
@@ -76,7 +76,7 @@ s32 Map_IsInDungeonArea(PlayState* play) {
return true;
}
s32 sBossScenes[] = {
s32 sBossSceneIds[] = {
SCENE_MITURIN_BS, // DUNGEON_INDEX_WOODFALL_TEMPLE
SCENE_HAKUGIN_BS, // DUNGEON_INDEX_SNOWHEAD_TEMPLE
SCENE_SEA_BS, // DUNGEON_INDEX_GREAT_BAY_TEMPLE
@@ -90,8 +90,8 @@ s32 sBossScenes[] = {
s32 Map_GetBossAreaIndex(PlayState* play) {
s32 i;
for (i = 0; i < ARRAY_COUNT(sBossScenes); i++) {
if (Play_GetOriginalSceneNumber(play->sceneNum) == sBossScenes[i]) {
for (i = 0; i < ARRAY_COUNT(sBossSceneIds); i++) {
if (Play_GetOriginalSceneId(play->sceneId) == sBossSceneIds[i]) {
return i;
}
}
@@ -120,7 +120,7 @@ s32 func_8010A238(PlayState* play) {
s32 i;
for (i = 0; i < ARRAY_COUNT(D_801BF5A4); i++) {
if (Play_GetOriginalSceneNumber(play->sceneNum) == D_801BF5A4[i]) {
if (Play_GetOriginalSceneId(play->sceneId) == D_801BF5A4[i]) {
return i;
}
}
@@ -156,7 +156,7 @@ void Map_InitRoomData(PlayState* play, s16 room) {
if (room >= 0) {
if (Map_IsInDungeonOrBossArea(play)) {
gSaveContext.save.permanentSceneFlags[Play_GetOriginalSceneNumber(play->sceneNum)].rooms |= gBitFlags[room];
gSaveContext.save.permanentSceneFlags[Play_GetOriginalSceneId(play->sceneId)].rooms |= gBitFlags[room];
interfaceCtx->mapRoomNum = room;
interfaceCtx->dungeonOrBossAreaMapIndex = mapIndex;
}
@@ -169,15 +169,15 @@ void Map_InitRoomData(PlayState* play, s16 room) {
}
}
void Map_Destroy(void) {
func_80105A40();
void Map_Destroy(PlayState* play) {
func_80105A40(play);
}
void Map_Init(PlayState* play) {
InterfaceContext* interfaceCtx = &play->interfaceCtx;
s32 dungeonIndex;
func_80105C40(play->roomCtx.currRoom.num);
func_80105C40(play->roomCtx.curRoom.num);
interfaceCtx->unk_278 = -1;
interfaceCtx->dungeonOrBossAreaMapIndex = -1;
interfaceCtx->mapSegment = THA_AllocEndAlign16(&play->state.heap, 0x1000);
@@ -189,7 +189,7 @@ void Map_Init(PlayState* play) {
if (Map_IsInDungeonOrBossArea(play)) {
dungeonIndex = Map_GetDungeonOrBossAreaIndex(play);
gSaveContext.mapIndex = dungeonIndex;
switch (play->sceneNum) {
switch (play->sceneId) {
case SCENE_MITURIN_BS:
dungeonIndex = DUNGEON_INDEX_WOODFALL_TEMPLE;
break;
@@ -208,7 +208,7 @@ void Map_Init(PlayState* play) {
}
gSaveContext.dungeonIndex = dungeonIndex;
Map_InitRoomData(play, play->roomCtx.currRoom.num);
Map_InitRoomData(play, play->roomCtx.curRoom.num);
}
}
@@ -243,7 +243,7 @@ void Map_Update(PlayState* play) {
if (Map_IsInDungeonArea(play)) {
floor = func_80109124(player->actor.world.pos.y);
if (floor != -1) {
gSaveContext.save.permanentSceneFlags[Play_GetOriginalSceneNumber(play->sceneNum)].unk_14 |=
gSaveContext.save.permanentSceneFlags[Play_GetOriginalSceneId(play->sceneId)].unk_14 |=
gBitFlags[FLOOR_INDEX_MAX - floor];
XREG(94) = FLOOR_INDEX_MAX - floor;
if (interfaceCtx->mapRoomNum != sLastRoomNum) {
+3 -3
View File
@@ -267,10 +267,10 @@ void func_8014D62C(PlayState* play, s32* arg1, f32* arg2, s16* arg3) {
s16 phi_v0;
s16 phi_s0;
if ((func_8010A0A4(play) != 0) || (play->sceneNum == 0x4F)) {
if ((func_8010A0A4(play) != 0) || (play->sceneId == SCENE_SECOM)) {
phi_v0 = 0xA;
} else {
phi_v0 = pauseCtx->unk_238[PAUSE_WORLD_MAP];
phi_v0 = pauseCtx->cursorPoint[PAUSE_WORLD_MAP];
}
temp_s6 = D_801D0250[phi_v0];
@@ -360,7 +360,7 @@ void func_80151A68(PlayState* play, u16 textId) {
XREG(77) = 0x3C;
XREG(76) = 0x1C;
msgCtx->unk11F1A[0] = msgCtx->unk11F1A[1] = msgCtx->unk11F1A[2] = 0;
Interface_ChangeAlpha(1);
Interface_SetHudVisibility(HUD_VISIBILITY_NONE);
}
}
+2 -2
View File
@@ -254,10 +254,10 @@ void Message_LoadAreaTextNES(PlayState* play, s32* offset, f32* arg2, s16* decod
s16 currentArea;
s16 stringLimit;
if ((func_8010A0A4(play) != 0) || (play->sceneNum == SCENE_SECOM)) {
if ((func_8010A0A4(play) != 0) || (play->sceneId == SCENE_SECOM)) {
currentArea = 10;
} else {
currentArea = play->pauseCtx.unk_238[PAUSE_WORLD_MAP];
currentArea = play->pauseCtx.cursorPoint[PAUSE_WORLD_MAP];
}
stringLimit = D_801D07C4[currentArea];
+1454 -43
View File
File diff suppressed because it is too large Load Diff
+28 -28
View File
@@ -450,7 +450,7 @@ void Play_Destroy(GameState* thisx) {
}
gSaveContext.save.weekEventReg[0x5C] &= (u8)~0x80;
func_80121F94(this);
Interface_Destroy(this);
KaleidoScopeCall_Destroy(this);
KaleidoManager_Destroy();
ZeldaArena_Cleanup();
@@ -593,7 +593,7 @@ void Play_UpdateTransition(PlayState* this) {
if (this->transitionTrigger != TRANS_TRIGGER_END) {
s16 sceneLayer = 0;
Interface_ChangeAlpha(1);
Interface_SetHudVisibility(HUD_VISIBILITY_NONE);
if (gSaveContext.nextCutsceneIndex >= 0xFFF0) {
sceneLayer = (gSaveContext.nextCutsceneIndex & 0xF) + 1;
@@ -608,7 +608,7 @@ void Play_UpdateTransition(PlayState* this) {
!(gSaveContext.save.weekEventReg[0x37] & 0x80)) ||
((this->nextEntrance == ENTRANCE(ROAD_TO_IKANA, 1)) &&
!(gSaveContext.save.weekEventReg[0x34] & 0x20))) &&
(!func_800FE590(this) || (Entrance_GetSceneNum(this->nextEntrance + sceneLayer) < 0) ||
(!func_800FE590(this) || (Entrance_GetSceneId(this->nextEntrance + sceneLayer) < 0) ||
(func_801A8A50(0) != NA_BGM_FINAL_HOURS))) {
func_801A4058(20);
gSaveContext.seqIndex = 0xFF;
@@ -621,7 +621,7 @@ void Play_UpdateTransition(PlayState* this) {
gSaveContext.nightSeqIndex = 0xFF;
}
if (func_800FE590(this) && (Entrance_GetSceneNum(this->nextEntrance + sceneLayer) >= 0) &&
if (func_800FE590(this) && (Entrance_GetSceneId(this->nextEntrance + sceneLayer) >= 0) &&
(func_801A8A50(0) == NA_BGM_FINAL_HOURS)) {
func_801A41C8(20);
}
@@ -1012,7 +1012,7 @@ void Play_Update(PlayState* this) {
Rumble_SetUpdateEnabled(false);
}
Room_nop8012D510(this, &this->roomCtx.currRoom, &pad58[1], 0);
Room_nop8012D510(this, &this->roomCtx.curRoom, &pad58[1], 0);
Room_nop8012D510(this, &this->roomCtx.prevRoom, &pad58[1], 1);
SkyboxDraw_Update(&this->skyboxCtx);
@@ -1149,7 +1149,7 @@ void Play_Draw(PlayState* this) {
}
if ((SREG(94) < 2) && (gTrnsnUnkState < 2)) {
if (this->skyboxCtx.skyboxShouldDraw || (this->roomCtx.currRoom.mesh->type0.type == 1)) {
if (this->skyboxCtx.skyboxShouldDraw || (this->roomCtx.curRoom.mesh->type0.type == 1)) {
func_8012CF0C(gfxCtx, 0, 1, 0, 0, 0);
} else {
func_8012CF0C(gfxCtx, 1, 1, this->lightCtx.unk7, this->lightCtx.unk8, this->lightCtx.unk9);
@@ -1299,7 +1299,7 @@ void Play_Draw(PlayState* this) {
func_800FE390(this);
sp268 = LightContext_NewLights(&this->lightCtx, gfxCtx);
if (this->roomCtx.currRoom.enablePosLights || (MREG(93) != 0)) {
if (this->roomCtx.curRoom.enablePosLights || (MREG(93) != 0)) {
sp268->enablePosLights = true;
}
@@ -1314,7 +1314,7 @@ void Play_Draw(PlayState* this) {
// `if (stuff that evaluates to 0 but not trivially)`
s64 roomDrawFlags = 3;
Room_Draw(this, &this->roomCtx.currRoom, roomDrawFlags);
Room_Draw(this, &this->roomCtx.curRoom, roomDrawFlags);
Room_Draw(this, &this->roomCtx.prevRoom, roomDrawFlags);
}
@@ -1575,13 +1575,13 @@ void func_801692C4(PlayState* this, s32 spawn) {
func_8016927C(this, this->skyboxId);
}
void Play_SceneInit(PlayState* this, s32 scene, s32 spawn) {
void Play_SceneInit(PlayState* this, s32 sceneId, s32 spawn) {
s32 pad;
SceneTableEntry* sp1C = &gSceneTable[scene];
SceneTableEntry* sp1C = &gSceneTable[sceneId];
sp1C->unk_D = 0;
this->loadedScene = sp1C;
this->sceneNum = scene;
this->sceneId = sceneId;
this->sceneConfig = sp1C->drawConfig;
this->sceneSegment = Play_LoadScene(this, &sp1C->segment);
sp1C->unk_D = 0;
@@ -1818,38 +1818,38 @@ Vec3s* Play_GetActorCsCamFuncData(PlayState* this, s32 csCamDataIndex) {
* Converts the number of a scene to its "original" equivalent, the default version of the area which the player first
* enters.
*/
s16 Play_GetOriginalSceneNumber(s16 sceneNum) {
s16 Play_GetOriginalSceneId(s16 sceneId) {
// Inverted Stone Tower Temple -> Stone Tower Temple
if (sceneNum == SCENE_INISIE_R) {
if (sceneId == SCENE_INISIE_R) {
return SCENE_INISIE_N;
}
// Purified Southern Swamp -> Poisoned Sothern Swamp
if (sceneNum == SCENE_20SICHITAI2) {
if (sceneId == SCENE_20SICHITAI2) {
return SCENE_20SICHITAI;
}
// Spring Mountain Village -> Winter Mountain Village
if (sceneNum == SCENE_10YUKIYAMANOMURA2) {
if (sceneId == SCENE_10YUKIYAMANOMURA2) {
return SCENE_10YUKIYAMANOMURA;
}
// Spring Goron Village -> Winter Goron Village
if (sceneNum == SCENE_11GORONNOSATO2) {
if (sceneId == SCENE_11GORONNOSATO2) {
return SCENE_11GORONNOSATO;
}
// Spring Path to Goron Village -> Winter Path to Goron Village
if (sceneNum == SCENE_17SETUGEN2) {
if (sceneId == SCENE_17SETUGEN2) {
return SCENE_17SETUGEN;
}
// Inverted Stone Tower -> Stone Tower
if (sceneNum == SCENE_F41) {
if (sceneId == SCENE_F41) {
return SCENE_F40;
}
return sceneNum;
return sceneId;
}
/**
@@ -1860,13 +1860,13 @@ void Play_SaveCycleSceneFlags(GameState* thisx) {
PlayState* this = (PlayState*)thisx;
CycleSceneFlags* cycleSceneFlags;
cycleSceneFlags = &gSaveContext.cycleSceneFlags[Play_GetOriginalSceneNumber(this->sceneNum)];
cycleSceneFlags = &gSaveContext.cycleSceneFlags[Play_GetOriginalSceneId(this->sceneId)];
cycleSceneFlags->chest = this->actorCtx.sceneFlags.chest;
cycleSceneFlags->switch0 = this->actorCtx.sceneFlags.switches[0];
cycleSceneFlags->switch1 = this->actorCtx.sceneFlags.switches[1];
if (this->sceneNum == SCENE_INISIE_R) { // Inverted Stone Tower Temple
cycleSceneFlags = &gSaveContext.cycleSceneFlags[this->sceneNum];
if (this->sceneId == SCENE_INISIE_R) { // Inverted Stone Tower Temple
cycleSceneFlags = &gSaveContext.cycleSceneFlags[this->sceneId];
}
cycleSceneFlags->collectible = this->actorCtx.sceneFlags.collectible[0];
@@ -1891,16 +1891,16 @@ void Play_SetupRespawnPoint(GameState* thisx, s32 respawnMode, s32 playerParams)
PlayState* this = (PlayState*)thisx;
Player* player = GET_PLAYER(this);
if (this->sceneNum != SCENE_KAKUSIANA) { // Grottos
if (this->sceneId != SCENE_KAKUSIANA) { // Grottos
Play_SetRespawnData(&this->state, respawnMode, (u16)((void)0, gSaveContext.save.entrance),
this->roomCtx.currRoom.num, playerParams, &player->actor.world.pos,
this->roomCtx.curRoom.num, playerParams, &player->actor.world.pos,
player->actor.shape.rot.y);
}
}
// Override respawn data in Sakon's Hideout
void func_80169ECC(PlayState* this) {
if (this->sceneNum == SCENE_SECOM) {
if (this->sceneId == SCENE_SECOM) {
this->nextEntrance = ENTRANCE(IKANA_CANYON, 6);
gSaveContext.respawnFlag = -7;
}
@@ -1943,7 +1943,7 @@ void func_80169FDC(GameState* thisx) {
s32 func_80169FFC(GameState* thisx) {
PlayState* this = (PlayState*)thisx;
return this->roomCtx.currRoom.mesh->type0.type != 1;
return this->roomCtx.curRoom.mesh->type0.type != 1;
}
s32 FrameAdvance_IsEnabled(GameState* thisx) {
@@ -2214,7 +2214,7 @@ void Play_Init(GameState* thisx) {
Play_SceneInit(
this,
Entrance_GetSceneNumAbsolute(((void)0, gSaveContext.save.entrance) + ((void)0, gSaveContext.sceneSetupIndex)),
Entrance_GetSceneIdAbsolute(((void)0, gSaveContext.save.entrance) + ((void)0, gSaveContext.sceneSetupIndex)),
Entrance_GetSpawnNum(((void)0, gSaveContext.save.entrance) + ((void)0, gSaveContext.sceneSetupIndex)));
KaleidoScopeCall_Init(this);
func_80121FC4(this);
@@ -2301,7 +2301,7 @@ void Play_Init(GameState* thisx) {
while (Room_HandleLoadCallbacks(this, &this->roomCtx) == 0) {}
if ((CURRENT_DAY != 0) && ((this->roomCtx.currRoom.unk3 == 1) || (this->roomCtx.currRoom.unk3 == 5))) {
if ((CURRENT_DAY != 0) && ((this->roomCtx.curRoom.unk3 == 1) || (this->roomCtx.curRoom.unk3 == 5))) {
Actor_Spawn(&this->actorCtx, this, 0x15A, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0);
}
+26 -22
View File
@@ -30,7 +30,7 @@ void func_80127B64(struct_801F58B0 arg0[], UNK_TYPE arg1, Vec3f* arg2);
s32 func_801226E0(PlayState* play, s32 arg1) {
if (arg1 == 0) {
Play_SetupRespawnPoint(&play->state, RESPAWN_MODE_DOWN, 0xBFF);
if (play->sceneNum == SCENE_KAKUSIANA) {
if (play->sceneId == SCENE_KAKUSIANA) {
return 1;
}
}
@@ -274,7 +274,7 @@ u8 Player_MaskIdToItemId(s32 maskIdMinusOne) {
return sMaskItemIds[maskIdMinusOne];
}
u8 Player_GetCurMaskItemId(PlayState* play) {
s32 Player_GetCurMaskItemId(PlayState* play) {
Player* player = GET_PLAYER(play);
if (player->currentMask != PLAYER_MASK_NONE) {
@@ -389,7 +389,7 @@ void func_80123140(PlayState* play, Player* player) {
IREG(69) = bootRegs[16];
MREG(95) = bootRegs[17];
if (play->roomCtx.currRoom.unk3 == 2) {
if (play->roomCtx.curRoom.unk3 == 2) {
R_RUN_SPEED_LIMIT = 500;
}
@@ -508,20 +508,23 @@ s32 func_8012364C(PlayState* play, Player* player, s32 arg2) {
if (arg2 == 1) {
return (gSaveContext.buttonStatus[1] != BTN_DISABLED)
? gSaveContext.save.equips.buttonItems[0][EQUIP_SLOT_C_LEFT]
: (gSaveContext.unk_3F22 == 0x10) ? gSaveContext.save.equips.buttonItems[0][EQUIP_SLOT_C_LEFT]
: ITEM_NONE;
: (gSaveContext.hudVisibility == HUD_VISIBILITY_A_B_C)
? gSaveContext.save.equips.buttonItems[0][EQUIP_SLOT_C_LEFT]
: ITEM_NONE;
}
if (arg2 == 2) {
return (gSaveContext.buttonStatus[2] != BTN_DISABLED)
? gSaveContext.save.equips.buttonItems[0][EQUIP_SLOT_C_DOWN]
: (gSaveContext.unk_3F22 == 0x10) ? gSaveContext.save.equips.buttonItems[0][EQUIP_SLOT_C_DOWN]
: ITEM_NONE;
: (gSaveContext.hudVisibility == HUD_VISIBILITY_A_B_C)
? gSaveContext.save.equips.buttonItems[0][EQUIP_SLOT_C_DOWN]
: ITEM_NONE;
}
return (gSaveContext.buttonStatus[3] != BTN_DISABLED) ? gSaveContext.save.equips.buttonItems[0][EQUIP_SLOT_C_RIGHT]
: (gSaveContext.unk_3F22 == 0x10) ? gSaveContext.save.equips.buttonItems[0][EQUIP_SLOT_C_RIGHT]
: ITEM_NONE;
: (gSaveContext.hudVisibility == HUD_VISIBILITY_A_B_C)
? gSaveContext.save.equips.buttonItems[0][EQUIP_SLOT_C_RIGHT]
: ITEM_NONE;
}
#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80123810.s")
@@ -857,39 +860,40 @@ s32 func_80124278(Actor* actor, s32 actionParam) {
}
s32 func_801242B4(Player* player) {
return (player->stateFlags1 & PLAYER_STATE1_8000000) && player->currentBoots < PLAYER_BOOTS_ZORA_UNDERWATER;
return (player->stateFlags1 & PLAYER_STATE1_8000000) && (player->currentBoots < PLAYER_BOOTS_ZORA_UNDERWATER);
}
s32 func_801242DC(PlayState* play) {
s32 Player_GetEnvTimerType(PlayState* play) {
Player* player = GET_PLAYER(play);
TextTriggerEntry* triggerEntry;
s32 envIndex;
s32 envTimerType;
if (play->roomCtx.currRoom.unk2 == 3) { // Room is hot
envIndex = 0;
} else if ((player->transformation != PLAYER_FORM_ZORA) && (player->unk_AD8 > 80)) {
envIndex = 3;
if (play->roomCtx.curRoom.unk2 == 3) { // Room is hot
envTimerType = PLAYER_ENV_TIMER_HOTROOM - 1;
} else if ((player->transformation != PLAYER_FORM_ZORA) && (player->underwaterTimer > 80)) {
envTimerType = PLAYER_ENV_TIMER_UNDERWATER_FREE - 1;
} else if (player->stateFlags1 & PLAYER_STATE1_8000000) {
if ((player->transformation == PLAYER_FORM_ZORA) && (player->currentBoots >= PLAYER_BOOTS_ZORA_UNDERWATER) &&
(player->actor.bgCheckFlags & 1)) {
envIndex = 1;
envTimerType = PLAYER_ENV_TIMER_UNDERWATER_FLOOR - 1;
} else {
envIndex = 2;
envTimerType = PLAYER_ENV_TIMER_SWIMMING - 1;
}
} else {
return 0;
return PLAYER_ENV_TIMER_NONE;
}
// Trigger general textboxes under certain conditions, like "It's so hot in here!". Unused in MM
triggerEntry = &sEnvironmentTextTriggers[envIndex];
triggerEntry = &sEnvironmentTextTriggers[envTimerType];
if (!Player_InCsMode(play)) {
if ((triggerEntry->flag) && !(gSaveContext.textTriggerFlags & triggerEntry->flag) && (envIndex == 0)) {
if ((triggerEntry->flag) && !(gSaveContext.textTriggerFlags & triggerEntry->flag) &&
(envTimerType == (PLAYER_ENV_TIMER_HOTROOM - 1))) {
Message_StartTextbox(play, triggerEntry->textId, NULL);
gSaveContext.textTriggerFlags |= triggerEntry->flag;
}
}
return envIndex + 1;
return envTimerType + 1;
}
#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80124420.s")
+11 -12
View File
@@ -64,8 +64,8 @@ void Room_DrawType1Mesh(PlayState* play, Room* room, u32 flags) {
void Room_Init(PlayState* play, RoomContext* roomCtx) {
s32 i;
roomCtx->currRoom.num = -1;
roomCtx->currRoom.segment = NULL;
roomCtx->curRoom.num = -1;
roomCtx->curRoom.segment = NULL;
roomCtx->unk78 = 1;
roomCtx->unk79 = 0;
for (i = 0; i < 3; i++) {
@@ -79,9 +79,9 @@ s32 Room_StartRoomTransition(PlayState* play, RoomContext* roomCtx, s32 index) {
if (roomCtx->unk31 == 0) {
s32 size;
roomCtx->prevRoom = roomCtx->currRoom;
roomCtx->currRoom.num = index;
roomCtx->currRoom.segment = NULL;
roomCtx->prevRoom = roomCtx->curRoom;
roomCtx->curRoom.num = index;
roomCtx->curRoom.segment = NULL;
roomCtx->unk31 = 1;
size = play->roomList[index].vromEnd - play->roomList[index].vromStart;
@@ -103,16 +103,15 @@ s32 Room_HandleLoadCallbacks(PlayState* play, RoomContext* roomCtx) {
if (roomCtx->unk31 == 1) {
if (!osRecvMesg(&roomCtx->loadQueue, NULL, OS_MESG_NOBLOCK)) {
roomCtx->unk31 = 0;
roomCtx->currRoom.segment = roomCtx->activeRoomVram;
roomCtx->curRoom.segment = roomCtx->activeRoomVram;
// TODO: Segment number enum
gSegments[0x03] = PHYSICAL_TO_VIRTUAL(roomCtx->activeRoomVram);
Scene_ProcessHeader(play, (SceneCmd*)roomCtx->currRoom.segment);
Scene_ProcessHeader(play, (SceneCmd*)roomCtx->curRoom.segment);
func_80123140(play, GET_PLAYER(play));
Actor_SpawnTransitionActors(play, &play->actorCtx);
if (((play->sceneNum != SCENE_IKANA) || (roomCtx->currRoom.num != 1)) &&
(play->sceneNum != SCENE_IKNINSIDE)) {
if (((play->sceneId != SCENE_IKANA) || (roomCtx->curRoom.num != 1)) && (play->sceneId != SCENE_IKNINSIDE)) {
play->envCtx.lightSettingOverride = 0xFF;
play->envCtx.unk_E0 = 0;
}
@@ -142,9 +141,9 @@ void func_8012EBF8(PlayState* play, RoomContext* roomCtx) {
roomCtx->prevRoom.segment = NULL;
func_800BA798(play, &play->actorCtx);
Actor_SpawnTransitionActors(play, &play->actorCtx);
if (roomCtx->currRoom.num > -1) {
Map_InitRoomData(play, roomCtx->currRoom.num);
if (roomCtx->curRoom.num > -1) {
Map_InitRoomData(play, roomCtx->curRoom.num);
Minimap_SavePlayerRoomInitInfo(play);
}
func_801A3CD8(play->roomCtx.currRoom.echo);
func_801A3CD8(play->roomCtx.curRoom.echo);
}
+14 -14
View File
@@ -28,12 +28,12 @@ void Object_InitBank(GameState* gameState, ObjectContext* objectCtx) {
u32 spaceSize;
s32 i;
if (play->sceneNum == SCENE_CLOCKTOWER || play->sceneNum == SCENE_TOWN || play->sceneNum == SCENE_BACKTOWN ||
play->sceneNum == SCENE_ICHIBA) {
if (play->sceneId == SCENE_CLOCKTOWER || play->sceneId == SCENE_TOWN || play->sceneId == SCENE_BACKTOWN ||
play->sceneId == SCENE_ICHIBA) {
spaceSize = OBJECT_SPACE_SIZE_CLOCK_TOWN;
} else if (play->sceneNum == SCENE_MILK_BAR) {
} else if (play->sceneId == SCENE_MILK_BAR) {
spaceSize = OBJECT_SPACE_SIZE_MILK_BAR;
} else if (play->sceneNum == SCENE_00KEIKOKU) {
} else if (play->sceneId == SCENE_00KEIKOKU) {
spaceSize = OBJECT_SPACE_SIZE_TERMINA_FIELD;
} else {
spaceSize = OBJECT_SPACE_SIZE_DEFAULT;
@@ -234,17 +234,17 @@ void Scene_HeaderCmdSpecialFiles(PlayState* play, SceneCmd* cmd) {
// SceneTableEntry Header Command 0x08: Room Behavior
void Scene_HeaderCmdRoomBehavior(PlayState* play, SceneCmd* cmd) {
play->roomCtx.currRoom.unk3 = cmd->roomBehavior.gpFlag1;
play->roomCtx.currRoom.unk2 = cmd->roomBehavior.gpFlag2 & 0xFF;
play->roomCtx.currRoom.unk5 = (cmd->roomBehavior.gpFlag2 >> 8) & 1;
play->roomCtx.curRoom.unk3 = cmd->roomBehavior.gpFlag1;
play->roomCtx.curRoom.unk2 = cmd->roomBehavior.gpFlag2 & 0xFF;
play->roomCtx.curRoom.unk5 = (cmd->roomBehavior.gpFlag2 >> 8) & 1;
play->msgCtx.unk12044 = (cmd->roomBehavior.gpFlag2 >> 0xA) & 1;
play->roomCtx.currRoom.enablePosLights = (cmd->roomBehavior.gpFlag2 >> 0xB) & 1;
play->roomCtx.curRoom.enablePosLights = (cmd->roomBehavior.gpFlag2 >> 0xB) & 1;
play->envCtx.unk_E2 = (cmd->roomBehavior.gpFlag2 >> 0xC) & 1;
}
// SceneTableEntry Header Command 0x0A: Mesh Header
void Scene_HeaderCmdMesh(PlayState* play, SceneCmd* cmd) {
play->roomCtx.currRoom.mesh = Lib_SegmentedToVirtual(cmd->mesh.segment);
play->roomCtx.curRoom.mesh = Lib_SegmentedToVirtual(cmd->mesh.segment);
}
// SceneTableEntry Header Command 0x0B: Object List
@@ -446,7 +446,7 @@ void Scene_HeaderCmdSoundSettings(PlayState* play, SceneCmd* cmd) {
// SceneTableEntry Header Command 0x16: Echo Setting
void Scene_HeaderCmdEchoSetting(PlayState* play, SceneCmd* cmd) {
play->roomCtx.currRoom.echo = cmd->echoSettings.echo;
play->roomCtx.curRoom.echo = cmd->echoSettings.echo;
}
// SceneTableEntry Header Command 0x18: Alternate Header List=
@@ -497,23 +497,23 @@ void Scene_HeaderCmdSetAreaVisitedFlag(PlayState* play, SceneCmd* cmd) {
s16 i = 0;
while (true) {
if (gScenesPerRegion[i][j] == 0xFFFF) {
if (gSceneIdsPerRegion[i][j] == 0xFFFF) {
i++;
j = 0;
if (i == ARRAY_COUNT(gScenesPerRegion)) {
if (i == ARRAY_COUNT(gSceneIdsPerRegion)) {
break;
}
}
if (play->sceneNum == gScenesPerRegion[i][j]) {
if (play->sceneId == gSceneIdsPerRegion[i][j]) {
break;
}
j++;
}
if (i < ARRAY_COUNT(gScenesPerRegion)) {
if (i < ARRAY_COUNT(gSceneIdsPerRegion)) {
gSaveContext.save.mapsVisited = (gBitFlags[i] | gSaveContext.save.mapsVisited) | gSaveContext.save.mapsVisited;
}
}
+644 -631
View File
File diff suppressed because it is too large Load Diff
+4 -4
View File
@@ -130,9 +130,9 @@ s32 Schedule_ReturnValueS(PlayState* play, u8** script, ScheduleOutput* output)
s32 Schedule_CheckNotInSceneS(PlayState* play, u8** script, ScheduleOutput* output) {
ScheduleCmdCheckNotInSceneS* cmd = (ScheduleCmdCheckNotInSceneS*)*script;
s16 scene = (cmd->sceneH << 8) | cmd->sceneL;
s16 sceneId = (cmd->sceneIdH << 8) | cmd->sceneIdL;
if (scene != play->sceneNum) {
if (sceneId != play->sceneId) {
*script += cmd->offset;
}
@@ -141,9 +141,9 @@ s32 Schedule_CheckNotInSceneS(PlayState* play, u8** script, ScheduleOutput* outp
s32 Schedule_CheckNotInSceneL(PlayState* play, u8** script, ScheduleOutput* output) {
ScheduleCmdCheckNotInSceneL* cmd = (ScheduleCmdCheckNotInSceneL*)*script;
s16 scene = (cmd->sceneH << 8) | cmd->sceneL;
s16 sceneId = (cmd->sceneIdH << 8) | cmd->sceneIdL;
if (scene != play->sceneNum) {
if (sceneId != play->sceneId) {
*script = *script + (s16)((cmd->offsetH << 8) | cmd->offsetL);
}
+2 -2
View File
@@ -21,7 +21,7 @@ s32 Snap_RecordPictographedActors(PlayState* play) {
gSaveContext.save.pictoFlags0 = 0;
gSaveContext.save.pictoFlags1 = 0;
if (play->sceneNum == SCENE_20SICHITAI) {
if (play->sceneId == SCENE_20SICHITAI) {
Snap_SetFlag(PICTOGRAPH_IN_SWAMP);
}
@@ -30,7 +30,7 @@ s32 Snap_RecordPictographedActors(PlayState* play) {
seen = 0;
// Actors which must be pictographed in a specific scene
switch (play->sceneNum) {
switch (play->sceneId) {
case SCENE_20SICHITAI:
if ((actor->id == ACTOR_EN_MNK) || (actor->id == ACTOR_EN_BIGOKUTA)) {
seen = PICTO_SEEN_IN_SCENE;
+32 -32
View File
@@ -219,13 +219,13 @@ void Sram_ActivateOwl(u8 owlId) {
void Sram_ClearHighscores(void) {
gSaveContext.save.unk_EE8 = (gSaveContext.save.unk_EE8 & 0xFFFF) | 0x130000;
gSaveContext.save.unk_EE8 = (gSaveContext.save.unk_EE8 & 0xFFFF0000) | 0xA;
gSaveContext.save.horseBackBalloonHighScore = 6000; // 60 seconds
gSaveContext.save.horseBackBalloonHighScore = SECONDS_TO_TIMER(60);
SET_TOWN_SHOOTING_GALLERY_HIGH_SCORE(39);
SET_SWAMP_SHOOTING_GALLERY_HIGH_SCORE(10);
gSaveContext.save.dekuPlaygroundHighScores[0] = 7500; // 75 seconds
gSaveContext.save.dekuPlaygroundHighScores[1] = 7500; // 75 seconds
gSaveContext.save.dekuPlaygroundHighScores[2] = 7600; // 76 seconds
gSaveContext.save.dekuPlaygroundHighScores[0] = SECONDS_TO_TIMER(75);
gSaveContext.save.dekuPlaygroundHighScores[1] = SECONDS_TO_TIMER(75);
gSaveContext.save.dekuPlaygroundHighScores[2] = SECONDS_TO_TIMER(76);
}
/**
@@ -248,7 +248,7 @@ void Sram_ClearFlagsAtDawnOfTheFirstDay(void) {
* Used by Song of Time (when clicking "Yes") and (indirectly) by the "Dawn of the New Day" cutscene
*/
void Sram_SaveEndOfCycle(PlayState* play) {
s16 sceneNum;
s16 sceneId;
s32 j;
s32 i;
u8 slot;
@@ -264,13 +264,13 @@ void Sram_SaveEndOfCycle(PlayState* play) {
gSaveContext.save.playerData.deaths = 999;
}
sceneNum = Play_GetOriginalSceneNumber(play->sceneNum);
sceneId = Play_GetOriginalSceneId(play->sceneId);
Play_SaveCycleSceneFlags(&play->state);
play->actorCtx.sceneFlags.chest &= D_801C5FC0[sceneNum][2];
play->actorCtx.sceneFlags.switches[0] &= D_801C5FC0[sceneNum][0];
play->actorCtx.sceneFlags.switches[1] &= D_801C5FC0[sceneNum][1];
play->actorCtx.sceneFlags.collectible[0] &= D_801C5FC0[sceneNum][3];
play->actorCtx.sceneFlags.chest &= D_801C5FC0[sceneId][2];
play->actorCtx.sceneFlags.switches[0] &= D_801C5FC0[sceneId][0];
play->actorCtx.sceneFlags.switches[1] &= D_801C5FC0[sceneId][1];
play->actorCtx.sceneFlags.collectible[0] &= D_801C5FC0[sceneId][3];
play->actorCtx.sceneFlags.clearedRoom = 0;
for (i = 0; i < SCENE_MAX; i++) {
@@ -608,7 +608,7 @@ SavePlayerData sSaveDefaultPlayerData = {
0xFF, // unk_20
0x0000, // owlActivationFlags
0xFF, // unk_24
SCENE_SPOT00, // savedSceneNum
SCENE_SPOT00, // savedSceneId
};
ItemEquips sSaveDefaultItemEquips = {
@@ -646,7 +646,7 @@ Inventory sSaveDefaultInventory = {
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
// dungeonKeys
{ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF },
// defenceHearts
// defenseHearts
0,
// strayFairies
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
@@ -679,7 +679,7 @@ void Sram_InitNewSave(void) {
Lib_MemCpy(&gSaveContext.save.inventory, &sSaveDefaultInventory, sizeof(Inventory));
Lib_MemCpy(&gSaveContext.save.checksum, &sSaveDefaultChecksum, sizeof(gSaveContext.save.checksum));
gSaveContext.save.horseData.scene = SCENE_F01;
gSaveContext.save.horseData.sceneId = SCENE_F01;
gSaveContext.save.horseData.pos.x = -1420;
gSaveContext.save.horseData.pos.y = 257;
gSaveContext.save.horseData.pos.z = -1285;
@@ -708,7 +708,7 @@ SavePlayerData sSaveDebugPlayerData = {
0xFF, // unk_20
0, // owlActivationFlags
0xFF, // unk_24
SCENE_SPOT00, // savedSceneNum
SCENE_SPOT00, // savedSceneId
};
ItemEquips sSaveDebugItemEquips = {
@@ -792,7 +792,7 @@ Inventory sSaveDebugInventory = {
{ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 },
// dungeonKeys
{ 8, 8, 8, 8, 8, 8, 8, 8, 8 },
// defenceHearts
// defenseHearts
0,
// strayFairies
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
@@ -839,7 +839,7 @@ void Sram_InitDebugSave(void) {
gSaveContext.save.hasTatl = true;
gSaveContext.save.horseData.scene = SCENE_F01;
gSaveContext.save.horseData.sceneId = SCENE_F01;
gSaveContext.save.horseData.pos.x = -1420;
gSaveContext.save.horseData.pos.y = 257;
gSaveContext.save.horseData.pos.z = -1285;
@@ -894,13 +894,13 @@ void func_80144A94(SramContext* sramCtx) {
gSaveContext.cycleSceneFlags[i].collectible = gSaveContext.save.permanentSceneFlags[i].collectible;
}
for (i = 0; i < ARRAY_COUNT(gSaveContext.unk_3DD0); i++) {
gSaveContext.unk_3DD0[i] = 0;
gSaveContext.unk_3DE0[i] = 0;
gSaveContext.unk_3E18[i] = 0;
gSaveContext.unk_3E50[i] = 0;
gSaveContext.unk_3E88[i] = 0;
gSaveContext.unk_3EC0[i] = 0;
for (i = 0; i < TIMER_ID_MAX; i++) {
gSaveContext.timerStates[i] = TIMER_STATE_OFF;
gSaveContext.timerCurTimes[i] = SECONDS_TO_TIMER(0);
gSaveContext.timerTimeLimits[i] = SECONDS_TO_TIMER(0);
gSaveContext.timerStartOsTimes[i] = 0;
gSaveContext.timerStopTimes[i] = SECONDS_TO_TIMER(0);
gSaveContext.timerPausedOsTimes[i] = 0;
}
D_801BDAA0 = 1;
@@ -969,13 +969,13 @@ void Sram_OpenSave(FileSelectState* fileSelect, SramContext* sramCtx) {
gSaveContext.cycleSceneFlags[i].collectible = gSaveContext.save.permanentSceneFlags[i].collectible;
}
for (i = 0; i < ARRAY_COUNT(gSaveContext.unk_3DD0); i++) {
gSaveContext.unk_3DD0[i] = 0;
gSaveContext.unk_3DE0[i] = 0;
gSaveContext.unk_3E18[i] = 0;
gSaveContext.unk_3E50[i] = 0;
gSaveContext.unk_3E88[i] = 0;
gSaveContext.unk_3EC0[i] = 0;
for (i = 0; i < TIMER_ID_MAX; i++) {
gSaveContext.timerStates[i] = TIMER_STATE_OFF;
gSaveContext.timerCurTimes[i] = SECONDS_TO_TIMER(0);
gSaveContext.timerTimeLimits[i] = SECONDS_TO_TIMER(0);
gSaveContext.timerStartOsTimes[i] = 0;
gSaveContext.timerStopTimes[i] = SECONDS_TO_TIMER(0);
gSaveContext.timerPausedOsTimes[i] = 0;
}
if (gSaveContext.save.isFirstCycle) {
@@ -1598,7 +1598,7 @@ void func_80147068(SramContext* sramCtx) {
sramCtx->status = 4;
}
}
} else if (((osGetTime() - sramCtx->unk_18) * 0x40) / 3000 / 10000 >= 200) {
} else if (OSTIME_TO_TIMER(osGetTime() - sramCtx->unk_18) >= SECONDS_TO_TIMER(2)) {
sramCtx->status = 0;
}
}
@@ -1635,7 +1635,7 @@ void func_80147198(SramContext* sramCtx) {
sramCtx->status = 4;
}
}
} else if (((osGetTime() - sramCtx->unk_18) * 0x40) / 3000 / 10000 >= 200) {
} else if (OSTIME_TO_TIMER(osGetTime() - sramCtx->unk_18) >= SECONDS_TO_TIMER(2)) {
sramCtx->status = 0;
bzero(sramCtx->saveBuf, SAVE_BUFFER_SIZE);
gSaveContext.save.isOwlSave = false;
+1 -1
View File
@@ -75,7 +75,7 @@ void func_801431E8(GameState* gameState, SkyboxContext* skyboxCtx, s16 skyType)
skyboxCtx->envB = 40;
// Inverted Stone Tower Temple and Inverted Stone Tower
if ((play->sceneNum == SCENE_F41) || (play->sceneNum == SCENE_INISIE_R)) {
if ((play->sceneId == SCENE_F41) || (play->sceneId == SCENE_INISIE_R)) {
skyboxCtx->rotZ = 3.15000009537f;
}
}
@@ -340,14 +340,14 @@ void func_80A2A1E0(BgDblueMovebg* this, PlayState* play) {
Math_StepToS(&this->unk_1CC, this->unk_1CE, 12);
this->dyna.actor.shape.rot.y += this->unk_1CC;
if (play->roomCtx.currRoom.num == 0) {
if (play->roomCtx.curRoom.num == 0) {
this->opaDList = gGreatBayTempleObjectGearShaftWithPlatformsDL;
} else if (play->roomCtx.currRoom.num == 8) {
} else if (play->roomCtx.curRoom.num == 8) {
this->opaDList = NULL;
}
if (play->roomCtx.currRoom.num != this->unk_170) {
if (play->roomCtx.currRoom.num != this->unk_171) {
if (play->roomCtx.curRoom.num != this->unk_170) {
if (play->roomCtx.curRoom.num != this->unk_171) {
if ((play->roomCtx.prevRoom.num != this->unk_170) && (play->roomCtx.prevRoom.num != this->unk_171)) {
D_80A2BBF4.unk_01 = 0;
Actor_MarkForDeath(&this->dyna.actor);
@@ -628,8 +628,8 @@ void func_80A2AED0(BgDblueMovebg* this, PlayState* play) {
s32 pad;
s32 temp_v0_3;
if (play->roomCtx.currRoom.num != this->unk_170) {
if (play->roomCtx.currRoom.num != this->unk_171) {
if (play->roomCtx.curRoom.num != this->unk_170) {
if (play->roomCtx.curRoom.num != this->unk_171) {
if ((play->roomCtx.prevRoom.num != this->unk_170) && (play->roomCtx.prevRoom.num != this->unk_171)) {
D_80A2BBF4.unk_00 = 0;
Actor_MarkForDeath(&this->dyna.actor);
@@ -669,7 +669,7 @@ void func_80A2AED0(BgDblueMovebg* this, PlayState* play) {
this->dyna.actor.shape.rot.x += this->unk_1CC;
if (this->unk_160 == 8) {
if (play->roomCtx.currRoom.num == 8) {
if (play->roomCtx.curRoom.num == 8) {
func_80A2ABD0(this, play);
this->unk_172 |= 0x20;
} else {
@@ -677,9 +677,9 @@ void func_80A2AED0(BgDblueMovebg* this, PlayState* play) {
}
}
if (play->roomCtx.currRoom.num == 0) {
if (play->roomCtx.curRoom.num == 0) {
this->opaDList = gGreatBayTempleObjectWaterwheelDL;
} else if (play->roomCtx.currRoom.num == 8) {
} else if (play->roomCtx.curRoom.num == 8) {
this->opaDList = gGreatBayTempleObjectWaterwheelWithFakeGearDL;
}
+1 -1
View File
@@ -155,7 +155,7 @@ void Boss04_Init(Actor* thisx, PlayState* play2) {
s16 phi_s0_2;
s32 pad;
if (Flags_GetClear(play, play->roomCtx.currRoom.num)) {
if (Flags_GetClear(play, play->roomCtx.curRoom.num)) {
Actor_MarkForDeath(&this->actor);
return;
}
+1 -1
View File
@@ -162,7 +162,7 @@ void DmAh_Init(Actor* thisx, PlayState* play) {
this->actor.flags &= ~ACTOR_FLAG_1;
Actor_SetScale(&this->actor, 0.01f);
this->unk_27C |= 1;
if ((play->sceneNum == SCENE_YADOYA) && (play->curSpawn == 4)) {
if ((play->sceneId == SCENE_YADOYA) && (play->curSpawn == 4)) {
this->unk_280 = func_80C1D78C(play);
func_80C1D410(this, 1);
this->actionFunc = func_80C1D92C;
+1 -1
View File
@@ -183,7 +183,7 @@ void func_80C1C958(DmAn* this, PlayState* play) {
this->unk_2AE |= 1;
this->actor.draw = func_80C1D0B0;
if ((play->sceneNum == SCENE_YADOYA) && (play->curSpawn == 4)) {
if ((play->sceneId == SCENE_YADOYA) && (play->curSpawn == 4)) {
this->unk_2B4 = func_80C1C8E8(play);
func_80C1C4D8(this, play, 1);
this->actionFunc = func_80C1CC80;
@@ -449,7 +449,7 @@ void func_80AA5E2C(DmChar00* this, PlayState* play) {
void func_80AA5EBC(DmChar00* this, PlayState* play) {
if (play->csCtx.state != 0) {
switch (play->sceneNum) {
switch (play->sceneId) {
case SCENE_LOST_WOODS:
if (gSaveContext.sceneSetupIndex == 1) {
func_80AA561C(this, play);
@@ -527,7 +527,7 @@ void DmChar00_Init(Actor* thisx, PlayState* play) {
s32 pad;
DmChar00* this = THIS;
if ((play->sceneNum == SCENE_LOST_WOODS) && !Cutscene_IsPlaying(play)) {
if ((play->sceneId == SCENE_LOST_WOODS) && !Cutscene_IsPlaying(play)) {
Actor_MarkForDeath(thisx);
}
@@ -914,8 +914,8 @@ void DmChar00_Draw(Actor* thisx, PlayState* play2) {
s32 pad;
Gfx* gfx = GRAPH_ALLOC(play->state.gfxCtx, sizeof(Gfx) * 4);
if ((play->csCtx.state == 0) && ((play->sceneNum != SCENE_OPENINGDAN) || (gSaveContext.sceneSetupIndex != 0) ||
(play->roomCtx.currRoom.num != 0) || (play->csCtx.currentCsIndex != 1) ||
if ((play->csCtx.state == 0) && ((play->sceneId != SCENE_OPENINGDAN) || (gSaveContext.sceneSetupIndex != 0) ||
(play->roomCtx.curRoom.num != 0) || (play->csCtx.currentCsIndex != 1) ||
(DMCHAR00_GET(&this->actor) != DMCHAR00_0))) {
return;
}
@@ -75,7 +75,7 @@ void DmChar02_PlaySfxForDroppingOcarinaCutscene(DmChar02* this, PlayState* play)
}
void DmChar02_PlaySfxForCutscenes(DmChar02* this, PlayState* play) {
if ((play->csCtx.state != 0) && (play->sceneNum == SCENE_OKUJOU) && (play->csCtx.currentCsIndex == 1)) {
if ((play->csCtx.state != 0) && (play->sceneId == SCENE_OKUJOU) && (play->csCtx.currentCsIndex == 1)) {
DmChar02_PlaySfxForDroppingOcarinaCutscene(this, play);
}
}
@@ -544,7 +544,7 @@ void func_80AAD4A8(DmChar05* this, PlayState* play) {
}
}
} else if (DMCHAR05_GET(&this->actor) == DMCHAR05_3) {
if (play->sceneNum == SCENE_OKUJOU) {
if (play->sceneId == SCENE_OKUJOU) {
if (gSaveContext.sceneSetupIndex == 2) {
if (play->csCtx.currentCsIndex == 0) {
func_80AAD3F8(this, play);
@@ -552,7 +552,7 @@ void func_80AAD4A8(DmChar05* this, PlayState* play) {
func_80AAD450(this, play);
}
}
} else if (play->sceneNum == SCENE_SPOT00) {
} else if (play->sceneId == SCENE_SPOT00) {
if (gSaveContext.sceneSetupIndex == 9) {
if ((play->csCtx.currentCsIndex == 0) && (play->csCtx.frames == 255)) {
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_EVIL_POWER);
+1 -1
View File
@@ -183,7 +183,7 @@ void func_80C248A8(DmGm* this, PlayState* play) {
this->unk_2AE |= 1;
this->actor.draw = func_80C25000;
if ((play->sceneNum == SCENE_YADOYA) && (play->curSpawn == 4)) {
if ((play->sceneId == SCENE_YADOYA) && (play->curSpawn == 4)) {
this->unk_2B4 = func_80C24838(play);
func_80C24428(this, play, 1);
this->actionFunc = func_80C24BD0;
@@ -95,7 +95,7 @@ void DmOpstage_Update(Actor* thisx, PlayState* play) {
DmOpstage* this = THIS;
this->actionFunc(this, play);
if ((play->sceneNum == SCENE_SPOT00) && (gSaveContext.sceneSetupIndex == 0) && (play->csCtx.frames == 480)) {
if ((play->sceneId == SCENE_SPOT00) && (gSaveContext.sceneSetupIndex == 0) && (play->csCtx.frames == 480)) {
// This actor is responsible for playing the fairy sound during the exposition in the intro,
// during the transition to Lost Woods, before Ocarina gets stolen.
func_8019F128(NA_SE_EV_NAVY_FLY_REBIRTH);
+21 -23
View File
@@ -917,7 +917,7 @@ void DmStk_PlaySfxForMoonWarpCutsceneVersion2(DmStk* this, PlayState* play) {
*/
void DmStk_PlaySfxForCutscenes(DmStk* this, PlayState* play) {
if (play->csCtx.state != 0) {
switch (play->sceneNum) {
switch (play->sceneId) {
case SCENE_LOST_WOODS:
if (gSaveContext.sceneSetupIndex == 1) {
DmStk_PlaySfxForIntroCutsceneFirstPart(this, play);
@@ -1028,13 +1028,13 @@ void DmStk_Init(Actor* thisx, PlayState* play) {
this->fogG = play->lightCtx.unk8;
this->fogB = play->lightCtx.unk9;
if ((play->sceneNum == SCENE_LOST_WOODS) && (gSaveContext.sceneSetupIndex == 1)) {
if ((play->sceneId == SCENE_LOST_WOODS) && (gSaveContext.sceneSetupIndex == 1)) {
this->alpha = 0;
this->fogN = 0;
this->fogF = 1000;
this->fogScale = 1.0f;
this->actionFunc = DmStk_DoNothing;
} else if (play->sceneNum == SCENE_OKUJOU) {
} else if (play->sceneId == SCENE_OKUJOU) {
this->alpha = 255;
this->fogN = 996;
this->fogF = 1000;
@@ -1045,11 +1045,11 @@ void DmStk_Init(Actor* thisx, PlayState* play) {
if (gSaveContext.save.entrance == ENTRANCE(CLOCK_TOWER_ROOFTOP, 0)) {
if (gSaveContext.sceneSetupIndex == 0) {
if (gSaveContext.unk_3DD0[3] == 0) {
if (gSaveContext.timerStates[TIMER_ID_MOON_CRASH] == TIMER_STATE_OFF) {
// Starts a 5 minute (300 second) timer until the moon falls.
func_8010E9F0(3, 300);
XREG(80) = 200;
XREG(81) = 115;
Interface_StartTimer(TIMER_ID_MOON_CRASH, 300);
R_MOON_CRASH_TIMER_Y = 200;
R_MOON_CRASH_TIMER_X = 115;
}
if (gSaveContext.save.inventory.items[SLOT_OCARINA] == ITEM_NONE) {
@@ -1062,12 +1062,12 @@ void DmStk_Init(Actor* thisx, PlayState* play) {
} else if (gSaveContext.sceneSetupIndex == 3) {
this->animIndex = SK_ANIM_FLOATING_ARMS_CROSSED;
if (gSaveContext.unk_3DD0[3] == 0) {
if (gSaveContext.timerStates[TIMER_ID_MOON_CRASH] == TIMER_STATE_OFF) {
// This code is called when the Giants fail to stop the moon.
// Starts a 1 minute (60 second) timer until the moon falls.
func_8010E9F0(3, 60);
XREG(80) = 200;
XREG(81) = 115;
Interface_StartTimer(TIMER_ID_MOON_CRASH, 60);
R_MOON_CRASH_TIMER_Y = 200;
R_MOON_CRASH_TIMER_X = 115;
}
this->actor.world.pos.y = 120.0f;
@@ -1088,7 +1088,7 @@ void DmStk_Init(Actor* thisx, PlayState* play) {
Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
CollisionCheck_SetInfo2(&this->actor.colChkInfo, &sDamageTable, &sColChkInfoInit);
} else if ((play->sceneNum == SCENE_00KEIKOKU) && (gSaveContext.sceneSetupIndex == 0)) {
} else if ((play->sceneId == SCENE_00KEIKOKU) && (gSaveContext.sceneSetupIndex == 0)) {
if (!(play->actorCtx.flags & ACTORCTX_FLAG_1)) {
Actor_MarkForDeath(&this->actor);
}
@@ -1101,7 +1101,7 @@ void DmStk_Init(Actor* thisx, PlayState* play) {
this->animIndex = SK_ANIM_BENT_OVER_HEAD_TWITCH;
this->actionFunc = DmStk_WaitForTelescope;
} else {
if ((play->sceneNum == SCENE_LOST_WOODS) && !Cutscene_IsPlaying(play)) {
if ((play->sceneId == SCENE_LOST_WOODS) && !Cutscene_IsPlaying(play)) {
Actor_MarkForDeath(&this->actor);
}
@@ -1127,8 +1127,7 @@ void DmStk_Init(Actor* thisx, PlayState* play) {
Actor_SetScale(&this->actor, 0.01f);
if ((play->sceneNum == SCENE_00KEIKOKU) && (gSaveContext.sceneSetupIndex == 3) &&
(play->csCtx.currentCsIndex > 0)) {
if ((play->sceneId == SCENE_00KEIKOKU) && (gSaveContext.sceneSetupIndex == 3) && (play->csCtx.currentCsIndex > 0)) {
play->envCtx.unk_17 = 15;
play->envCtx.unk_18 = 15;
}
@@ -1316,7 +1315,7 @@ void DmStk_UpdateCutscenes(DmStk* this, PlayState* play) {
if (play->csCtx.frames == play->csCtx.actorActions[actorActionIndex]->startFrame) {
if (this->csAction != play->csCtx.actorActions[actorActionIndex]->action) {
this->csAction = play->csCtx.actorActions[actorActionIndex]->action;
if (play->sceneNum == SCENE_CLOCKTOWER) {
if (play->sceneId == SCENE_CLOCKTOWER) {
this->handType = SK_HAND_TYPE_HOLDING_FLUTE;
} else {
this->handType = SK_HAND_TYPE_DEFAULT;
@@ -1685,7 +1684,7 @@ void DmStk_UpdateCutscenes(DmStk* this, PlayState* play) {
this->handType = SK_HAND_TYPE_HOLDING_MAJORAS_MASK;
} else if (((this->animIndex >= SK_ANIM_HUDDLE_WITH_FAIRIES) && (this->animIndex <= SK_ANIM_DRAW)) ||
((this->animIndex >= SK_ANIM_PLAY_FLUTE) && (this->animIndex <= SK_ANIM_CARTWHEEL)) ||
((play->sceneNum == SCENE_00KEIKOKU) && (gSaveContext.sceneSetupIndex == 7))) {
((play->sceneId == SCENE_00KEIKOKU) && (gSaveContext.sceneSetupIndex == 7))) {
this->maskType = SK_MASK_TYPE_NO_MASK;
if ((this->animIndex == SK_ANIM_HOLD_UP_MASK_START) || (this->animIndex == SK_ANIM_HOLD_UP_MASK_LOOP)) {
this->handType = SK_HAND_TYPE_HOLDING_MAJORAS_MASK_AND_FLUTE;
@@ -1777,7 +1776,7 @@ void DmStk_Update(Actor* thisx, PlayState* play) {
this->actionFunc(this, play);
if (play->sceneNum == SCENE_OKUJOU) {
if (play->sceneId == SCENE_OKUJOU) {
DmStk_UpdateCollision(this, play);
}
@@ -1824,8 +1823,7 @@ void DmStk_Update(Actor* thisx, PlayState* play) {
}
}
if ((play->sceneNum == SCENE_00KEIKOKU) && (gSaveContext.sceneSetupIndex == 3) &&
(play->csCtx.currentCsIndex > 0)) {
if ((play->sceneId == SCENE_00KEIKOKU) && (gSaveContext.sceneSetupIndex == 3) && (play->csCtx.currentCsIndex > 0)) {
play->envCtx.unk_17 = 15;
play->envCtx.unk_18 = 15;
}
@@ -1888,7 +1886,7 @@ void DmStk_PostLimbDraw2(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot
break;
case SK_MASK_TYPE_NORMAL:
if ((play->sceneNum == SCENE_LOST_WOODS) && (gSaveContext.sceneSetupIndex == 1) &&
if ((play->sceneId == SCENE_LOST_WOODS) && (gSaveContext.sceneSetupIndex == 1) &&
(play->csCtx.frames < 1400)) {
if (this->fogN == this->fogF) {
this->fogF = this->fogN;
@@ -1950,7 +1948,7 @@ void DmStk_PostLimbDraw2(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot
case SK_HAND_TYPE_HOLDING_OCARINA:
gSPDisplayList(POLY_OPA_DISP++, gSkullKidOcarinaHoldingRightHand);
if ((play->sceneNum == SCENE_LOST_WOODS) && (gSaveContext.sceneSetupIndex == 1)) {
if ((play->sceneId == SCENE_LOST_WOODS) && (gSaveContext.sceneSetupIndex == 1)) {
gSPDisplayList(POLY_OPA_DISP++, gSkullKidOcarinaOfTimeDL);
}
break;
@@ -1988,7 +1986,7 @@ void DmStk_PostLimbDraw2(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot
break;
case SK_HAND_TYPE_HOLDING_OCARINA:
if ((play->sceneNum != SCENE_LOST_WOODS) || (gSaveContext.sceneSetupIndex != 1)) {
if ((play->sceneId != SCENE_LOST_WOODS) || (gSaveContext.sceneSetupIndex != 1)) {
gSPDisplayList(POLY_OPA_DISP++, gSkullKidOcarinaOfTimeDL);
}
gSPDisplayList(POLY_OPA_DISP++, gSkullKidTwoFingersExtendedLeftHand);
@@ -100,7 +100,7 @@ static InitChainEntry sInitChain[] = {
};
typedef struct {
/* 0x00 */ s16 sceneNum;
/* 0x00 */ s16 sceneId;
/* 0x02 */ u8 index;
} ShutterSceneInfo; // size = 0x4
@@ -114,8 +114,8 @@ ShutterSceneInfo D_808A2258[] = {
};
typedef struct {
/* 0x00 */ s16 dungeonScene;
/* 0x02 */ s16 bossScene;
/* 0x00 */ s16 dungeonSceneId;
/* 0x02 */ s16 bossSceneId;
/* 0x04 */ u8 index;
} BossDoorInfo; // size = 0x6
@@ -209,7 +209,7 @@ void DoorShutter_Init(Actor* thisx, PlayState* play2) {
ShutterSceneInfo* shutterSceneInfo = &D_808A2258[0];
for (i = 0; i < ARRAY_COUNT(D_808A2258) - 1; i++, shutterSceneInfo++) {
if (play->sceneNum == shutterSceneInfo->sceneNum) {
if (play->sceneId == shutterSceneInfo->sceneId) {
break;
}
}
@@ -222,7 +222,7 @@ void DoorShutter_Init(Actor* thisx, PlayState* play2) {
BossDoorInfo* bossDoorInfo = &D_808A22A0[0];
for (i = 0; i < ARRAY_COUNT(D_808A22A0) - 1; i++, bossDoorInfo++) {
if ((play->sceneNum == bossDoorInfo->dungeonScene) || (play->sceneNum == bossDoorInfo->bossScene)) {
if ((play->sceneId == bossDoorInfo->dungeonSceneId) || (play->sceneId == bossDoorInfo->bossSceneId)) {
break;
}
}
@@ -553,9 +553,9 @@ void func_808A1884(DoorShutter* this, PlayState* play) {
play->doorCtx.transitionActorList[DOORSHUTTER_GET_FC00(&this->actor)].sides[(sp44.z < 0.0f) ? 0 : 1].room;
if (room != this->actor.room) {
Room temp = play->roomCtx.currRoom;
Room temp = play->roomCtx.curRoom;
play->roomCtx.currRoom = play->roomCtx.prevRoom;
play->roomCtx.curRoom = play->roomCtx.prevRoom;
play->roomCtx.prevRoom = temp;
play->roomCtx.activeMemPage ^= 1;
}
@@ -54,7 +54,7 @@ typedef struct {
// Maps scenes to SpiralObjectType
typedef struct {
/* 0x00 */ s16 sceneNum;
/* 0x00 */ s16 sceneId;
/* 0x02 */ u8 objectType;
} SpiralSceneInfo;
@@ -116,7 +116,7 @@ s32 DoorSpiral_SetSpiralType(DoorSpiral* this, PlayState* play) {
this->spiralType = doorObjectInfo->spiralType;
if ((this->spiralType == SPIRAL_DAMPES_HOUSE) ||
((this->spiralType == SPIRAL_WOODFALL_TEMPLE) && play->roomCtx.currRoom.enablePosLights)) {
((this->spiralType == SPIRAL_WOODFALL_TEMPLE) && play->roomCtx.curRoom.enablePosLights)) {
if (this->spiralType == SPIRAL_WOODFALL_TEMPLE) {
this->spiralType = SPIRAL_WOODFALL_TEMPLE_ALT;
}
@@ -147,7 +147,7 @@ s32 DoorSpiral_GetObjectType(PlayState* play) {
s32 type;
for (i = 0; i < ARRAY_COUNT(spiralSceneInfo); sceneInfo++, i++) {
if (play->sceneNum == sceneInfo->sceneNum) {
if (play->sceneId == sceneInfo->sceneId) {
break;
}
}
@@ -75,13 +75,13 @@ void DoorWarp1_SetupAction(DoorWarp1* this, DoorWarp1ActionFunc actionFunc) {
s32 func_808B849C(DoorWarp1* this, PlayState* play) {
s32 ret = 0;
if ((play->sceneNum == SCENE_MITURIN_BS) && !CHECK_QUEST_ITEM(QUEST_REMAINS_ODOWLA)) {
if ((play->sceneId == SCENE_MITURIN_BS) && !CHECK_QUEST_ITEM(QUEST_REMAINS_ODOWLA)) {
ret = 1;
} else if ((play->sceneNum == SCENE_HAKUGIN_BS) && !CHECK_QUEST_ITEM(QUEST_REMAINS_GOHT)) {
} else if ((play->sceneId == SCENE_HAKUGIN_BS) && !CHECK_QUEST_ITEM(QUEST_REMAINS_GOHT)) {
ret = 2;
} else if ((play->sceneNum == SCENE_SEA_BS) && !CHECK_QUEST_ITEM(QUEST_REMAINS_GYORG)) {
} else if ((play->sceneId == SCENE_SEA_BS) && !CHECK_QUEST_ITEM(QUEST_REMAINS_GYORG)) {
ret = 3;
} else if ((play->sceneNum == SCENE_INISIE_BS) && !CHECK_QUEST_ITEM(QUEST_REMAINS_TWINMOLD)) {
} else if ((play->sceneId == SCENE_INISIE_BS) && !CHECK_QUEST_ITEM(QUEST_REMAINS_TWINMOLD)) {
ret = 4;
}
return ret;
@@ -161,8 +161,8 @@ void DoorWarp1_Init(Actor* thisx, PlayState* play) {
break;
}
if ((play->sceneNum == SCENE_MITURIN_BS) || (play->sceneNum == SCENE_HAKUGIN_BS) ||
(play->sceneNum == SCENE_INISIE_BS) || (play->sceneNum == SCENE_SEA_BS)) {
if ((play->sceneId == SCENE_MITURIN_BS) || (play->sceneId == SCENE_HAKUGIN_BS) ||
(play->sceneId == SCENE_INISIE_BS) || (play->sceneId == SCENE_SEA_BS)) {
func_800FE484();
play->interfaceCtx.restrictions.unk_312 = 1;
play->interfaceCtx.restrictions.songOfSoaring = 1;
@@ -268,7 +268,7 @@ void func_808B8E78(DoorWarp1* this, PlayState* play) {
this->unk_1A8 = 0.0f;
this->unk_1AC = 0.0f;
this->unk_1A4 = 700.0f;
if (play->sceneNum == SCENE_INISIE_N) {
if (play->sceneId == SCENE_INISIE_N) {
DoorWarp1_SetupAction(this, func_808B96A0);
} else if (gSaveContext.save.weekEventReg[86] & 0x80) {
this->unk_1D4 = 0;
@@ -307,12 +307,12 @@ void func_808B90CC(DoorWarp1* this, PlayState* play) {
s16 sp2E = 0;
f32 phi_f0 = 0.0f;
if (play->sceneNum == SCENE_MITURIN) {
if (play->sceneId == SCENE_MITURIN) {
sp2E = -10;
phi_f0 = -5.0f;
} else if (play->sceneNum == SCENE_HAKUGIN) {
} else if (play->sceneId == SCENE_HAKUGIN) {
sp2E = -20;
} else if (play->sceneNum == SCENE_SEA) {
} else if (play->sceneId == SCENE_SEA) {
sp2E = -20;
}
@@ -551,7 +551,7 @@ void func_808B9CE8(DoorWarp1* this, PlayState* play) {
return;
}
switch (play->sceneNum) {
switch (play->sceneId) {
case SCENE_MITURIN_BS:
gSaveContext.save.unk_ECC[0] =
(((void)0, gSaveContext.save.unk_ECC[0]) & 0xFFFFFF00) | (((u8)gSaveContext.save.unk_ECC[1]) & 0xFF);
@@ -598,7 +598,7 @@ void func_808B9F10(DoorWarp1* this, PlayState* play) {
if ((this->unk_203 == 0) && func_808B866C(this, play) && !Play_InCsMode(play) && (this->unk_203 == 0)) {
Player* player = GET_PLAYER(play);
Interface_ChangeAlpha(1);
Interface_SetHudVisibility(HUD_VISIBILITY_NONE);
func_800B7298(play, &this->dyna.actor, 9);
player->unk_3A0.x = this->dyna.actor.world.pos.x;
player->unk_3A0.z = this->dyna.actor.world.pos.z;
@@ -635,16 +635,16 @@ void func_808BA10C(DoorWarp1* this, PlayState* play) {
u8 phi_a0;
s32 phi_v0_3;
if ((play->sceneNum == SCENE_MITURIN_BS) || (play->sceneNum == SCENE_HAKUGIN_BS) ||
(play->sceneNum == SCENE_INISIE_BS) || (play->sceneNum == SCENE_SEA_BS)) {
D_801F4DE2 = play->sceneNum;
if (play->sceneNum == SCENE_MITURIN_BS) {
if ((play->sceneId == SCENE_MITURIN_BS) || (play->sceneId == SCENE_HAKUGIN_BS) ||
(play->sceneId == SCENE_INISIE_BS) || (play->sceneId == SCENE_SEA_BS)) {
D_801F4DE2 = play->sceneId;
if (play->sceneId == SCENE_MITURIN_BS) {
phi_v0_2 = 0;
} else if (play->sceneNum == SCENE_HAKUGIN_BS) {
} else if (play->sceneId == SCENE_HAKUGIN_BS) {
phi_v0_2 = 1;
} else if (play->sceneNum == SCENE_INISIE_BS) {
} else if (play->sceneId == SCENE_INISIE_BS) {
phi_v0_2 = 2;
} else if (play->sceneNum == SCENE_SEA_BS) {
} else if (play->sceneId == SCENE_SEA_BS) {
phi_v0_2 = 3;
} else {
phi_v0_2 = 0;
@@ -871,7 +871,7 @@ void func_808BA550(DoorWarp1* this, PlayState* play) {
play->envCtx.lightSettings.fogNear = -500.0f * temp_f0;
if (play->envCtx.lightSettings.fogNear < -300) {
play->roomCtx.currRoom.segment = NULL;
play->roomCtx.curRoom.segment = NULL;
}
}
}
@@ -882,7 +882,7 @@ void func_808BAAF4(DoorWarp1* this, PlayState* play) {
f32 phi_f2;
phi_f2 = 200.0f;
if (play->sceneNum == SCENE_SEA) {
if (play->sceneId == SCENE_SEA) {
phi_f2 = 85.0f;
}
@@ -1039,12 +1039,12 @@ void func_808BB4F4(DoorWarp1* this, PlayState* play2) {
return;
}
if (play->sceneNum != SCENE_MITURIN) {
if (play->sceneNum == SCENE_HAKUGIN) {
if (play->sceneId != SCENE_MITURIN) {
if (play->sceneId == SCENE_HAKUGIN) {
sp60 = 1;
} else if (play->sceneNum == SCENE_SEA) {
} else if (play->sceneId == SCENE_SEA) {
sp60 = 2;
} else if (play->sceneNum == SCENE_INISIE_R) {
} else if (play->sceneId == SCENE_INISIE_R) {
sp60 = 3;
}
}
+7 -7
View File
@@ -402,7 +402,7 @@ void EnAz_Destroy(Actor* thisx, PlayState* play2) {
EnAz* this = THIS;
if (gSaveContext.save.entrance != ENTRANCE(WATERFALL_RAPIDS, 1)) {
gSaveContext.unk_3DD0[4] = 5;
gSaveContext.timerStates[TIMER_ID_MINIGAME_2] = TIMER_STATE_STOP;
}
Collider_DestroyCylinder(play2, &this->collider);
}
@@ -1486,11 +1486,11 @@ void func_80A97D5C(EnAz* this, PlayState* play) {
gSaveContext.minigameScore = (this->unk_374 & 2) ? 25 : 20;
play->interfaceCtx.unk_280 = 1;
if ((this->unk_2FA == 1) || (this->unk_2FA == 3)) {
func_8010E9F0(4, 120);
Interface_StartTimer(TIMER_ID_MINIGAME_2, 120);
} else if (gSaveContext.save.weekEventReg[25] & 1) {
func_8010E9F0(4, 100);
Interface_StartTimer(TIMER_ID_MINIGAME_2, 100);
} else {
func_8010E9F0(4, 110);
Interface_StartTimer(TIMER_ID_MINIGAME_2, 110);
}
this->actionFunc = func_80A97E48;
}
@@ -1547,7 +1547,7 @@ void func_80A97F9C(EnAz* this, PlayState* play) {
} else {
gSaveContext.save.weekEventReg[24] |= 1;
}
gSaveContext.unk_3DD0[4] = 5;
gSaveContext.timerStates[TIMER_ID_MINIGAME_2] = TIMER_STATE_STOP;
this->unk_374 &= ~0x10;
play->nextEntrance = Entrance_CreateFromSpawn(2);
gSaveContext.nextCutsceneIndex = 0;
@@ -1557,8 +1557,8 @@ void func_80A97F9C(EnAz* this, PlayState* play) {
this->actor.speedXZ = 0.0f;
func_80A979DC(this, play);
} else {
if (gSaveContext.unk_3DE0[4] == 0) {
gSaveContext.unk_3DD0[4] = 5;
if (gSaveContext.timerCurTimes[TIMER_ID_MINIGAME_2] == SECONDS_TO_TIMER(0)) {
gSaveContext.timerStates[TIMER_ID_MINIGAME_2] = TIMER_STATE_STOP;
this->unk_374 |= 0x4000;
func_80A97A28(this, play);
}
+2 -2
View File
@@ -503,12 +503,12 @@ void EnBaba_FinishInit(EnBaba* this, PlayState* play) {
this->stateFlags |= BOMB_SHOP_LADY_STATE_DRAW_SHADOW;
this->actor.flags |= ACTOR_FLAG_1;
if (play->sceneNum == SCENE_BOMYA) {
if (play->sceneId == SCENE_BOMYA) {
this->stateFlags |= BOMB_SHOP_LADY_STATE_VISIBLE;
this->animIndex = BOMB_SHOP_LADY_ANIM_IDLE;
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, this->animIndex);
this->actionFunc = EnBaba_Idle;
} else if (play->sceneNum == SCENE_BACKTOWN) {
} else if (play->sceneId == SCENE_BACKTOWN) {
if ((BOMB_SHOP_LADY_GET_TYPE(&this->actor) == BOMB_SHOP_LADY_TYPE_FOLLOW_SCHEDULE) &&
(gSaveContext.save.entrance != ENTRANCE(NORTH_CLOCK_TOWN, 7)) &&
(BOMB_SHOP_LADY_GET_PATH_INDEX(&this->actor) != 0x3F)) {
+1 -1
View File
@@ -178,7 +178,7 @@ void EnBat_Destroy(Actor* thisx, PlayState* play) {
}
s32 EnBat_IsGraveyardOnSecondDay(PlayState* play) {
if ((CURRENT_DAY == 2) && (play->sceneNum == SCENE_BOTI)) {
if ((CURRENT_DAY == 2) && (play->sceneId == SCENE_BOTI)) {
return true;
} else {
return false;
@@ -485,7 +485,7 @@ s32 EnBigokuta_IsNearSwampBoat(EnBigokuta* this, PlayState* play) {
void EnBigokuta_CheckOneHitKill(EnBigokuta* this, PlayState* play) {
if ((this->bodyCollider.base.acFlags & AC_ON) &&
((this->bodyCollider.base.acFlags & AC_HIT) ||
((play->sceneNum == SCENE_20SICHITAI || play->sceneNum == SCENE_20SICHITAI2) &&
((play->sceneId == SCENE_20SICHITAI || play->sceneId == SCENE_20SICHITAI2) &&
EnBigokuta_IsNearSwampBoat(this, play)))) {
Enemy_StartFinishingBlow(play, &this->picto.actor);
@@ -339,7 +339,7 @@ void EnBigslime_Init(Actor* thisx, PlayState* play2) {
this->gekkoCollider.base.ocFlags1 &= ~OC1_NO_PUSH;
this->actor.params = CLAMP(this->actor.params, 1, 4);
if (Flags_GetClear(play, play->roomCtx.currRoom.num)) {
if (Flags_GetClear(play, play->roomCtx.curRoom.num)) {
Actor_MarkForDeath(&this->actor);
if (!(gSaveContext.save.weekEventReg[isFrogReturnedFlags[this->actor.params - 1] >> 8] &
(u8)isFrogReturnedFlags[this->actor.params - 1])) {
@@ -2497,7 +2497,7 @@ void EnBigslime_Despawn(EnBigslime* this, PlayState* play) {
}
if (!this->isDespawned) {
Flags_SetClearTemp(play, play->roomCtx.currRoom.num);
Flags_SetClearTemp(play, play->roomCtx.curRoom.num);
this->isDespawned = true;
}
+1 -1
View File
@@ -301,7 +301,7 @@ void func_80871058(EnBom* this, PlayState* play) {
void func_808714D4(EnBom* this, PlayState* play) {
if (Actor_HasNoParent(&this->actor, play)) {
this->actionFunc = func_80871058;
this->actor.room = play->roomCtx.currRoom.num;
this->actor.room = play->roomCtx.curRoom.num;
this->actor.flags &= ~ACTOR_FLAG_100000;
this->actor.bgCheckFlags &= ~1;
Math_Vec3s_ToVec3f(&this->actor.prevPos, &this->actor.home.rot);
+1 -1
View File
@@ -176,7 +176,7 @@ s32 func_80B3E5DC(EnDai* this, s32 arg1) {
s32 func_80B3E69C(EnDai* this, PlayState* play) {
s32 ret = false;
if ((play->csCtx.state != 0) && (play->sceneNum == SCENE_12HAKUGINMAE) && (play->csCtx.currentCsIndex == 0) &&
if ((play->csCtx.state != 0) && (play->sceneId == SCENE_12HAKUGINMAE) && (play->csCtx.currentCsIndex == 0) &&
!(gSaveContext.save.weekEventReg[30] & 1)) {
if (!(this->unk_1CE & 0x10)) {
Flags_SetSwitch(play, 20);
+6 -6
View File
@@ -335,11 +335,11 @@ void EnDg_MoveAlongPath(EnDg* this, PlayState* play) {
}
if ((this->index == ENDG_INDEX_SWAMP_SPIDER_HOUSE) ||
((this->index == ENDG_INDEX_ROMANI_RANCH) && (play->sceneNum == SCENE_OMOYA))) {
((this->index == ENDG_INDEX_ROMANI_RANCH) && (play->sceneId == SCENE_OMOYA))) {
Math_ApproachF(&this->actor.speedXZ, 1.0f, 0.2f, 1.0f);
} else if (this->index == ENDG_INDEX_ROMANI_RANCH) {
Math_ApproachF(&this->actor.speedXZ, 3.5f, 0.2f, 1.0f);
} else if (play->sceneNum == SCENE_CLOCKTOWER) {
} else if (play->sceneId == SCENE_CLOCKTOWER) {
Math_ApproachF(&this->actor.speedXZ, 3.5f, 0.2f, 1.0f);
} else if (sRacetrackDogInfo[this->index].textId & 0x11) {
Math_ApproachF(&this->actor.speedXZ, 1.0f, 0.2f, 1.0f);
@@ -397,11 +397,11 @@ void EnDg_PlaySfxGrowl(EnDg* this, f32 frame) {
void EnDg_SetupIdleMove(EnDg* this, PlayState* play) {
if (!(this->actor.bgCheckFlags & 0x20)) {
if ((this->index == ENDG_INDEX_SWAMP_SPIDER_HOUSE) ||
((this->index == ENDG_INDEX_ROMANI_RANCH) && (play->sceneNum == SCENE_OMOYA))) {
((this->index == ENDG_INDEX_ROMANI_RANCH) && (play->sceneId == SCENE_OMOYA))) {
EnDg_ChangeAnim(&this->skelAnime, sAnimationInfo, DOG_ANIM_WALK);
} else if (this->index == ENDG_INDEX_ROMANI_RANCH) {
EnDg_ChangeAnim(&this->skelAnime, sAnimationInfo, DOG_ANIM_RUN);
} else if (play->sceneNum == SCENE_CLOCKTOWER) {
} else if (play->sceneId == SCENE_CLOCKTOWER) {
EnDg_ChangeAnim(&this->skelAnime, sAnimationInfo, DOG_ANIM_RUN);
} else if (sRacetrackDogInfo[this->index].textId & 0x11) {
EnDg_ChangeAnim(&this->skelAnime, sAnimationInfo, DOG_ANIM_WALK);
@@ -1319,7 +1319,7 @@ void EnDg_Init(Actor* thisx, PlayState* play) {
this->index = ENDG_GET_INDEX(&this->actor);
this->behavior = DOG_BEHAVIOR_INITIAL;
this->grabState = DOG_GRAB_STATE_NONE;
if (play->sceneNum == SCENE_F01_B) {
if (play->sceneId == SCENE_F01_B) {
this->sitAfterThrowTimer = 100;
EnDg_UpdateTextId(this);
}
@@ -1340,7 +1340,7 @@ void EnDg_Update(Actor* thisx, PlayState* play) {
Vec3f floorRot = { 0.0f, 0.0f, 0.0f };
this->selectedDogIndex = sSelectedRacetrackDogInfo.index;
if (!(player->stateFlags1 & 0x20) || (play->sceneNum != SCENE_CLOCKTOWER)) {
if (!(player->stateFlags1 & 0x20) || (play->sceneId != SCENE_CLOCKTOWER)) {
if (EnDg_ShouldReactToNonHumanPlayer(this, play)) {
EnDg_ChooseActionForForm(this, play);
} else if (this->behavior != DOG_BEHAVIOR_DEFAULT) {
@@ -551,7 +551,7 @@ void func_8089B580(EnDinofos* this, PlayState* play) {
}
if (this->skelAnime.curFrame > 35.0f) {
if ((play->sceneNum == SCENE_MITURIN) && Animation_OnFrame(&this->skelAnime, 38.0f)) {
if ((play->sceneId == SCENE_MITURIN) && Animation_OnFrame(&this->skelAnime, 38.0f)) {
play->envCtx.lightSettingOverride = 11;
}
@@ -562,7 +562,7 @@ void func_8089B580(EnDinofos* this, PlayState* play) {
}
}
if ((play->sceneNum == SCENE_MITURIN) && Animation_OnFrame(&this->skelAnime, 55.0f)) {
if ((play->sceneId == SCENE_MITURIN) && Animation_OnFrame(&this->skelAnime, 55.0f)) {
play->envCtx.lightSettingOverride = 0xFF;
}
@@ -1053,7 +1053,7 @@ void func_8089CB10(EnDinofos* this, PlayState* play) {
worldSphere->center.z = this->limbPos[10].z;
}
if (play->sceneNum == SCENE_MITURIN) {
if (play->sceneId == SCENE_MITURIN) {
play->envCtx.lightSettingOverride = 11;
}
@@ -1114,7 +1114,7 @@ void func_8089CBEC(EnDinofos* this, PlayState* play) {
void func_8089CF00(EnDinofos* this, PlayState* play) {
Animation_PlayOnce(&this->skelAnime, &object_dinofos_Anim_0017B8);
this->colliderJntSph.base.atFlags &= ~AT_ON;
if (play->sceneNum == SCENE_MITURIN) {
if (play->sceneId == SCENE_MITURIN) {
play->envCtx.lightSettingOverride = 255;
}
this->actionFunc = func_8089CF70;
@@ -1285,7 +1285,7 @@ s32 func_8089D60C(EnDinofos* this, PlayState* play) {
func_8089ACEC(this, play);
func_8089AD70(this);
if (play->sceneNum == SCENE_MITURIN) {
if (play->sceneId == SCENE_MITURIN) {
play->envCtx.lightSettingOverride = 255;
}
+1 -1
View File
@@ -447,7 +447,7 @@ void func_80A52074(EnDnk* this, PlayState* play) {
}
void func_80A52134(EnDnk* this, PlayState* play) {
if ((play->csCtx.state != 0) && (ENDNK_GET_3C(&this->actor) == 4) && (play->sceneNum == SCENE_SPOT00) &&
if ((play->csCtx.state != 0) && (ENDNK_GET_3C(&this->actor) == 4) && (play->sceneId == SCENE_SPOT00) &&
(gSaveContext.sceneSetupIndex == 2)) {
func_80A52074(this, play);
}
+19 -15
View File
@@ -2,12 +2,16 @@
* File: z_en_dno.c
* Overlay: ovl_En_Dno
* Description: Deku Butler
*
* This actor's name is probably short for "Dekunuts Ou (king)". This is likely a misnamed actor,
* since it uses assets from object_dnj (probably short for "Dekunuts Jii (grandfather, elderly
* person"). Note that the Deku Princess and King both call the Butler "Jii" in the Japanese text.
*/
#include "z_en_dno.h"
#include "overlays/actors/ovl_Bg_Crace_Movebg/z_bg_crace_movebg.h"
#include "objects/gameplay_keep/gameplay_keep.h"
#include "objects/object_dno/object_dno.h"
#include "objects/object_dnj/object_dnj.h"
#define FLAGS (ACTOR_FLAG_1 | ACTOR_FLAG_8 | ACTOR_FLAG_10 | ACTOR_FLAG_20)
@@ -41,23 +45,23 @@ s32 EnDno_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* p
void EnDno_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx);
static AnimationSpeedInfo sAnimations[] = {
{ &object_dno_Anim_000470, 1.0f, ANIMMODE_ONCE, 0.0f }, { &object_dno_Anim_0008F0, 1.0f, ANIMMODE_ONCE, 0.0f },
{ &object_dno_Anim_000F6C, 1.0f, ANIMMODE_LOOP, 0.0f }, { &object_dno_Anim_001A50, 1.0f, ANIMMODE_ONCE, 0.0f },
{ &object_dno_Anim_002530, 1.0f, ANIMMODE_ONCE, 0.0f }, { &object_dno_Anim_003320, 1.0f, ANIMMODE_ONCE, 0.0f },
{ &object_dno_Anim_0036D0, 1.0f, ANIMMODE_LOOP, 0.0f }, { &object_dno_Anim_0041CC, 1.0f, ANIMMODE_ONCE, 0.0f },
{ &object_dno_Anim_004DD8, 1.0f, ANIMMODE_ONCE, 0.0f }, { &object_dno_Anim_005F98, 1.0f, ANIMMODE_LOOP, 0.0f },
{ &object_dno_Anim_006488, 1.0f, ANIMMODE_ONCE, 0.0f }, { &object_dno_Anim_0073E4, 1.0f, ANIMMODE_LOOP, 0.0f },
{ &object_dno_Anim_0077A8, 1.0f, ANIMMODE_LOOP, 0.0f }, { &object_dno_Anim_007CA4, 1.0f, ANIMMODE_LOOP, 0.0f },
{ &object_dno_Anim_008324, 1.0f, ANIMMODE_LOOP, 0.0f }, { &object_dno_Anim_008AE4, 1.0f, ANIMMODE_ONCE, 0.0f },
{ &object_dno_Anim_009100, 1.0f, ANIMMODE_ONCE, 0.0f }, { &object_dno_Anim_0051E4, 1.0f, ANIMMODE_ONCE, 0.0f },
{ &object_dno_Anim_005E20, 1.0f, ANIMMODE_LOOP, 0.0f }, { &object_dno_Anim_006F84, 1.0f, ANIMMODE_LOOP, 0.0f },
{ &object_dnj_Anim_000470, 1.0f, ANIMMODE_ONCE, 0.0f }, { &object_dnj_Anim_0008F0, 1.0f, ANIMMODE_ONCE, 0.0f },
{ &object_dnj_Anim_000F6C, 1.0f, ANIMMODE_LOOP, 0.0f }, { &object_dnj_Anim_001A50, 1.0f, ANIMMODE_ONCE, 0.0f },
{ &object_dnj_Anim_002530, 1.0f, ANIMMODE_ONCE, 0.0f }, { &object_dnj_Anim_003320, 1.0f, ANIMMODE_ONCE, 0.0f },
{ &object_dnj_Anim_0036D0, 1.0f, ANIMMODE_LOOP, 0.0f }, { &object_dnj_Anim_0041CC, 1.0f, ANIMMODE_ONCE, 0.0f },
{ &object_dnj_Anim_004DD8, 1.0f, ANIMMODE_ONCE, 0.0f }, { &object_dnj_Anim_005F98, 1.0f, ANIMMODE_LOOP, 0.0f },
{ &object_dnj_Anim_006488, 1.0f, ANIMMODE_ONCE, 0.0f }, { &object_dnj_Anim_0073E4, 1.0f, ANIMMODE_LOOP, 0.0f },
{ &object_dnj_Anim_0077A8, 1.0f, ANIMMODE_LOOP, 0.0f }, { &object_dnj_Anim_007CA4, 1.0f, ANIMMODE_LOOP, 0.0f },
{ &object_dnj_Anim_008324, 1.0f, ANIMMODE_LOOP, 0.0f }, { &object_dnj_Anim_008AE4, 1.0f, ANIMMODE_ONCE, 0.0f },
{ &object_dnj_Anim_009100, 1.0f, ANIMMODE_ONCE, 0.0f }, { &object_dnj_Anim_0051E4, 1.0f, ANIMMODE_ONCE, 0.0f },
{ &object_dnj_Anim_005E20, 1.0f, ANIMMODE_LOOP, 0.0f }, { &object_dnj_Anim_006F84, 1.0f, ANIMMODE_LOOP, 0.0f },
};
const ActorInit En_Dno_InitVars = {
ACTOR_EN_DNO,
ACTORCAT_NPC,
FLAGS,
OBJECT_DNO,
OBJECT_DNJ,
sizeof(EnDno),
(ActorFunc)EnDno_Init,
(ActorFunc)EnDno_Destroy,
@@ -194,7 +198,7 @@ void EnDno_Init(Actor* thisx, PlayState* play) {
if (actor == NULL) {
Actor_ProcessInitChain(thisx, sInitChain);
ActorShape_Init(&thisx->shape, 0.0f, ActorShadow_DrawCircle, 21.0f);
SkelAnime_InitFlex(play, &this->skelAnime, &object_dno_Skel_00E1F8, &object_dno_Anim_007CA4,
SkelAnime_InitFlex(play, &this->skelAnime, &object_dnj_Skel_00E1F8, &object_dnj_Anim_007CA4,
this->jointTable, this->morphTable, 28);
Collider_InitCylinder(play, &this->collider);
Collider_SetCylinder(play, &this->collider, thisx, &sCylinderInit);
@@ -216,7 +220,7 @@ void EnDno_Init(Actor* thisx, PlayState* play) {
} else {
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimations, 14, &this->unk_32C);
thisx->room = -1;
gSaveContext.unk_3DD0[1] = 5;
gSaveContext.timerStates[TIMER_ID_MINIGAME_1] = TIMER_STATE_STOP;
this->lightNode = LightContext_InsertLight(play, &play->lightCtx, &this->lightInfo);
this->unk_3B0 |= 1;
this->actionFunc = func_80A72438;
@@ -817,7 +821,7 @@ void func_80A73244(EnDno* this, PlayState* play) {
this->unk_328 = 2;
this->actor.speedXZ = 0.0f;
Flags_UnsetSwitch(play, ENDNO_GET_3F80(&this->actor));
gSaveContext.unk_3DD0[1] = 5;
gSaveContext.timerStates[TIMER_ID_MINIGAME_1] = TIMER_STATE_STOP;
this->unk_44E = 0;
this->actionFunc = func_80A732C8;
}
+38 -35
View File
@@ -2,10 +2,13 @@
* File: z_en_dnp.c
* Overlay: ovl_En_Dnp
* Description: Deku Princess
*
* This actor's name is probably short for "Dekunuts Princess". It uses assets from object_dnq,
* which is probably short for "Dekunuts Queen".
*/
#include "z_en_dnp.h"
#include "objects/object_dnp/object_dnp.h"
#include "objects/object_dnq/object_dnq.h"
#define FLAGS (ACTOR_FLAG_1 | ACTOR_FLAG_8 | ACTOR_FLAG_10)
@@ -26,7 +29,7 @@ const ActorInit En_Dnp_InitVars = {
ACTOR_EN_DNP,
ACTORCAT_NPC,
FLAGS,
OBJECT_DNP,
OBJECT_DNQ,
sizeof(EnDnp),
(ActorFunc)EnDnp_Init,
(ActorFunc)EnDnp_Destroy,
@@ -57,32 +60,32 @@ static ColliderCylinderInit sCylinderInit = {
static CollisionCheckInfoInit2 sColChkInfoInit = { 0, 0, 0, 0, MASS_IMMOVABLE };
static AnimationInfoS sAnimationInfo[] = {
{ &object_dnp_Anim_0007D8, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_dnp_Anim_0021DC, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_dnp_Anim_0021DC, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dnp_Anim_0026B8, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_dnp_Anim_004D08, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_dnp_Anim_0071F4, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_dnp_Anim_007960, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dnp_Anim_008588, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnp_Anim_00A900, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dnp_Anim_00AEB8, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dnp_Anim_00B754, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_dnp_Anim_00674C, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dnp_Anim_00BAD8, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_dnp_Anim_006B74, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dnp_Anim_012428, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dnp_Anim_00B324, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_dnp_Anim_00B324, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dnp_Anim_0115B8, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dnp_Anim_0115B8, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_dnp_Anim_00923C, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_dnp_Anim_009AA0, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dnp_Anim_00125C, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_dnp_Anim_0017F8, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnp_Anim_001C1C, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dnp_Anim_0057AC, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnp_Anim_00625C, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dnq_Anim_0007D8, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_dnq_Anim_0021DC, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_dnq_Anim_0021DC, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dnq_Anim_0026B8, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_dnq_Anim_004D08, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_dnq_Anim_0071F4, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_dnq_Anim_007960, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dnq_Anim_008588, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnq_Anim_00A900, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dnq_Anim_00AEB8, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dnq_Anim_00B754, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_dnq_Anim_00674C, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dnq_Anim_00BAD8, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_dnq_Anim_006B74, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dnq_Anim_012428, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dnq_Anim_00B324, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_dnq_Anim_00B324, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dnq_Anim_0115B8, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dnq_Anim_0115B8, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_dnq_Anim_00923C, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_dnq_Anim_009AA0, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dnq_Anim_00125C, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_dnq_Anim_0017F8, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnq_Anim_001C1C, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dnq_Anim_0057AC, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnq_Anim_00625C, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
};
static s32 D_80B3DE58[] = {
@@ -247,7 +250,7 @@ void func_80B3D11C(EnDnp* this, PlayState* play) {
s32 temp_v0;
s32 val;
if (!(gSaveContext.save.weekEventReg[29] & 0x40) && (play->sceneNum == SCENE_MITURIN) &&
if (!(gSaveContext.save.weekEventReg[29] & 0x40) && (play->sceneId == SCENE_MITURIN) &&
(play->csCtx.currentCsIndex == 0)) {
this->unk_322 |= 0x20;
gSaveContext.save.weekEventReg[29] |= 0x40;
@@ -347,7 +350,7 @@ void EnDnp_Init(Actor* thisx, PlayState* play) {
EnDnp* this = THIS;
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 16.0f);
SkelAnime_InitFlex(play, &this->skelAnime, &object_dnp_Skel_010D60, NULL, this->jointTable, this->morphTable, 26);
SkelAnime_InitFlex(play, &this->skelAnime, &object_dnq_Skel_010D60, NULL, this->jointTable, this->morphTable, 26);
this->unk_340 = -1;
func_80B3CC38(this, 15);
Collider_InitAndSetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
@@ -370,7 +373,7 @@ void EnDnp_Init(Actor* thisx, PlayState* play) {
Actor_SetScale(&this->actor, 0.0085f);
SubS_UpdateFlags(&this->unk_322, 3, 7);
this->unk_322 |= 0x400;
if ((play->sceneNum == SCENE_MITURIN) && (gSaveContext.save.weekEventReg[29] & 0x40)) {
if ((play->sceneId == SCENE_MITURIN) && (gSaveContext.save.weekEventReg[29] & 0x40)) {
this->unk_322 |= 0x20;
func_80B3CC38(this, 1);
}
@@ -479,10 +482,10 @@ void EnDnp_TransformLimbDraw(PlayState* play, s32 limbIndex, Actor* thisx) {
void EnDnp_Draw(Actor* thisx, PlayState* play) {
static TexturePtr D_80B3DEAC[] = {
object_dnp_Tex_0103D0,
object_dnp_Tex_0105D0,
object_dnp_Tex_0107D0,
object_dnp_Tex_0109D0,
object_dnq_Tex_0103D0,
object_dnq_Tex_0105D0,
object_dnq_Tex_0107D0,
object_dnq_Tex_0109D0,
};
EnDnp* this = THIS;
+26 -23
View File
@@ -2,10 +2,13 @@
* File: z_en_dnq.c
* Overlay: ovl_En_Dnq
* Description: Deku King
*
* This actor's name is probably short for "Dekunuts Queen". This is likely a misnamed actor,
* since it uses assets from object_dno (probably short for "Dekunuts Ou (king)").
*/
#include "z_en_dnq.h"
#include "objects/object_dnq/object_dnq.h"
#include "objects/object_dno/object_dno.h"
#define FLAGS (ACTOR_FLAG_1 | ACTOR_FLAG_8)
@@ -27,7 +30,7 @@ const ActorInit En_Dnq_InitVars = {
ACTOR_EN_DNQ,
ACTORCAT_NPC,
FLAGS,
OBJECT_DNQ,
OBJECT_DNO,
sizeof(EnDnq),
(ActorFunc)EnDnq_Init,
(ActorFunc)EnDnq_Destroy,
@@ -58,26 +61,26 @@ static ColliderCylinderInit sCylinderInit = {
static CollisionCheckInfoInit2 sColChkInfoInit = { 1, 0, 0, 0, MASS_IMMOVABLE };
static AnimationInfoS sAnimationInfo[] = {
{ &object_dnq_Anim_008328, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_dnq_Anim_008328, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dnq_Anim_007528, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_dnq_Anim_0006F0, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnq_Anim_000BF8, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dnq_Anim_002690, 0.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnq_Anim_002690, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_dnq_Anim_003408, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dnq_Anim_006984, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_dnq_Anim_005E18, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_dnq_Anim_005A14, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_dnq_Anim_005284, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_dnq_Anim_001AEC, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnq_Anim_001100, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnq_Anim_004EA0, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dnq_Anim_00F504, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dnq_Anim_0047B8, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dnq_Anim_003DBC, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_dnq_Anim_005A14, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dnq_Anim_003DBC, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dno_Anim_008328, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_dno_Anim_008328, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dno_Anim_007528, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_dno_Anim_0006F0, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dno_Anim_000BF8, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dno_Anim_002690, 0.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dno_Anim_002690, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_dno_Anim_003408, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dno_Anim_006984, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_dno_Anim_005E18, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_dno_Anim_005A14, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_dno_Anim_005284, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_dno_Anim_001AEC, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dno_Anim_001100, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dno_Anim_004EA0, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dno_Anim_00F504, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dno_Anim_0047B8, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dno_Anim_003DBC, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_dno_Anim_005A14, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dno_Anim_003DBC, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
};
s32 EnDnq_ValidatePictograph(PlayState* play, Actor* thisx) {
@@ -417,7 +420,7 @@ void EnDnq_Init(Actor* thisx, PlayState* play) {
EnDnq* this = THIS;
ActorShape_Init(&this->picto.actor.shape, 0.0f, NULL, 14.0f);
SkelAnime_InitFlex(play, &this->skelAnime, &object_dnq_Skel_00EB48, NULL, this->jointTable, this->morphTable, 33);
SkelAnime_InitFlex(play, &this->skelAnime, &object_dno_Skel_00EB48, NULL, this->jointTable, this->morphTable, 33);
this->unk_398 = -1;
func_80A5257C(this, 0);
Collider_InitAndSetCylinder(play, &this->collider, &this->picto.actor, &sCylinderInit);
+2 -2
View File
@@ -290,7 +290,7 @@ const ActorInit En_Door_InitVars = {
};
typedef struct {
/* 0x00 */ s16 sceneNum;
/* 0x00 */ s16 sceneId;
/* 0x02 */ u8 dListIndex;
/* 0x04 */ s16 objectId;
} EnDoorInfo;
@@ -405,7 +405,7 @@ void EnDoor_Init(Actor* thisx, PlayState* play2) {
objectInfo = &sObjInfo[17 + this->switchFlag];
} else {
for (i = 0; i < ARRAY_COUNT(sObjInfo) - 34; i++, objectInfo++) {
if (play->sceneNum == objectInfo->sceneNum) {
if (play->sceneId == objectInfo->sceneId) {
break;
}
}
+2 -2
View File
@@ -903,13 +903,13 @@ void func_8088E850(EnElf* this, PlayState* play) {
func_8088D660(this, &nextPos, 0.2f);
}
if ((play->sceneNum == SCENE_CLOCKTOWER) && (gSaveContext.sceneSetupIndex == 0) &&
if ((play->sceneId == SCENE_CLOCKTOWER) && (gSaveContext.sceneSetupIndex == 0) &&
(play->csCtx.currentCsIndex == 0) &&
((play->csCtx.frames == 149) || (play->csCtx.frames == 381) || (play->csCtx.frames == 591))) {
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_WHITE_FAIRY_DASH);
}
if ((play->sceneNum == SCENE_SECOM) && (gSaveContext.sceneSetupIndex == 0) &&
if ((play->sceneId == SCENE_SECOM) && (gSaveContext.sceneSetupIndex == 0) &&
(play->csCtx.currentCsIndex == 4) && (play->csCtx.frames == 95)) {
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_WHITE_FAIRY_DASH);
}
@@ -205,13 +205,13 @@ s32 func_80A39C1C(PlayState* play, s32 arg1) {
}
if (arg1 == 0) {
if (gSaveContext.save.permanentSceneFlags[play->sceneNum].unk_14 & 1) {
if (gSaveContext.save.permanentSceneFlags[play->sceneId].unk_14 & 1) {
return 25;
}
return 24;
}
temp_v1 = (gSaveContext.save.permanentSceneFlags[play->sceneNum].unk_14 >> (((arg1 - 1) * 5) + 1)) & 0x1F;
temp_v1 = (gSaveContext.save.permanentSceneFlags[play->sceneId].unk_14 >> (((arg1 - 1) * 5) + 1)) & 0x1F;
if (temp_v1 < 10) {
temp_v1 = 10;
} else if (temp_v1 > 25) {
@@ -227,13 +227,13 @@ void func_80A39CD4(PlayState* play, s32 arg1, s32 arg2) {
if (arg1 == 0) {
if (arg2 == 25) {
gSaveContext.save.permanentSceneFlags[play->sceneNum].unk_14 |= 1;
gSaveContext.save.permanentSceneFlags[play->sceneId].unk_14 |= 1;
} else {
gSaveContext.save.permanentSceneFlags[play->sceneNum].unk_14 &= ~1;
gSaveContext.save.permanentSceneFlags[play->sceneId].unk_14 &= ~1;
}
} else {
gSaveContext.save.permanentSceneFlags[play->sceneNum].unk_14 &= ~(0x1F << ((arg1 * 5) - 4));
gSaveContext.save.permanentSceneFlags[play->sceneNum].unk_14 |= arg2 << ((arg1 * 5) - 4);
gSaveContext.save.permanentSceneFlags[play->sceneId].unk_14 &= ~(0x1F << ((arg1 * 5) - 4));
gSaveContext.save.permanentSceneFlags[play->sceneId].unk_14 |= arg2 << ((arg1 * 5) - 4);
}
}
+5 -4
View File
@@ -315,7 +315,8 @@ void EnFall_Setup(EnFall* this, PlayState* play) {
void EnFall_CrashingMoon_HandleGiantsCutscene(EnFall* this, PlayState* play) {
static s32 sGiantsCutsceneState = 0;
if (play->sceneNum == SCENE_00KEIKOKU && gSaveContext.sceneSetupIndex == 1 && play->csCtx.currentCsIndex == 0) {
if ((play->sceneId == SCENE_00KEIKOKU) && (gSaveContext.sceneSetupIndex == 1) &&
(play->csCtx.currentCsIndex == 0)) {
switch (sGiantsCutsceneState) {
case 0:
if (play->csCtx.state != 0) {
@@ -408,7 +409,7 @@ void EnFall_StoppedClosedMouthMoon_PerformCutsceneActions(EnFall* this, PlayStat
}
}
if (play->sceneNum == SCENE_OKUJOU && gSaveContext.sceneSetupIndex == 2) {
if (play->sceneId == SCENE_OKUJOU && gSaveContext.sceneSetupIndex == 2) {
switch (play->csCtx.currentCsIndex) {
case 0:
switch (play->csCtx.frames) {
@@ -452,7 +453,7 @@ void EnFall_StoppedClosedMouthMoon_PerformCutsceneActions(EnFall* this, PlayStat
}
void EnFall_ClockTowerOrTitleScreenMoon_PerformCutsceneActions(EnFall* this, PlayState* play) {
if (play->csCtx.state != 0 && play->sceneNum == SCENE_OKUJOU) {
if (play->csCtx.state != 0 && play->sceneId == SCENE_OKUJOU) {
func_800B9010(&this->actor, NA_SE_EV_MOON_FALL - SFX_FLAG);
}
}
@@ -574,7 +575,7 @@ void EnFall_Fireball_SetPerVertexAlpha(f32 fireballAlpha) {
void EnFall_Fireball_Update(Actor* thisx, PlayState* play) {
EnFall* this = THIS;
if (play->sceneNum == SCENE_00KEIKOKU && gSaveContext.sceneSetupIndex == 0 && play->csCtx.currentCsIndex == 2) {
if (play->sceneId == SCENE_00KEIKOKU && gSaveContext.sceneSetupIndex == 0 && play->csCtx.currentCsIndex == 2) {
play->skyboxCtx.rotY -= 0.05f;
}
+3 -2
View File
@@ -167,7 +167,7 @@ Actor* func_8091D944(EnFish* this, PlayState* play) {
}
s32 func_8091DA14(EnFish* this, PlayState* play) {
return play->sceneNum == SCENE_LABO && func_8091D944(this, play);
return (play->sceneId == SCENE_LABO) && func_8091D944(this, play);
}
void EnFish_Init(Actor* thisx, PlayState* play) {
@@ -853,7 +853,8 @@ void func_8091F5A4(Actor* thisx, PlayState* play) {
func_8091D7C4(this);
Actor_MoveWithGravity(&this->actor);
if (this->unk_248 != 0) {
u32 temp = (play->sceneNum ^ SCENE_LABO) != 0;
u32 temp = (play->sceneId != SCENE_LABO);
phi_f0 = BREG(1) + 10.0f;
if (temp) {
@@ -5166,7 +5166,7 @@ void EnFishing_UpdateOwner(Actor* thisx, PlayState* play2) {
sSubCamAt.y = mainCam->at.y;
sSubCamAt.z = mainCam->at.z;
D_8090CD4C = 2;
Interface_ChangeAlpha(12);
Interface_SetHudVisibility(HUD_VISIBILITY_A_B_MINIMAP);
sSubCamVelFactor = 0.0f;
// fallthrough
case 2:
+3 -7
View File
@@ -393,7 +393,7 @@ void EnFsn_EndInteraction(EnFsn* this, PlayState* play) {
Actor_ProcessTalkRequest(&this->actor, &play->state);
play->msgCtx.msgMode = 0x43;
play->msgCtx.stateTimer = 4;
Interface_ChangeAlpha(50);
Interface_SetHudVisibility(HUD_VISIBILITY_ALL);
this->drawCursor = 0;
this->stickLeftPrompt.isEnabled = false;
this->stickRightPrompt.isEnabled = false;
@@ -922,11 +922,7 @@ void EnFsn_DeterminePrice(EnFsn* this, PlayState* play) {
if (Message_GetState(&play->msgCtx) == TEXT_STATE_16) {
itemActionParam = func_80123810(play);
if (itemActionParam > PLAYER_AP_NONE) {
if (player->heldItemButton == 0) {
buttonItem = CUR_FORM_EQUIP(player->heldItemButton);
} else {
buttonItem = gSaveContext.save.equips.buttonItems[0][player->heldItemButton];
}
buttonItem = GET_CUR_FORM_BTN_ITEM(player->heldItemButton);
this->price = (buttonItem < ITEM_MOON_TEAR) ? gItemPrices[buttonItem] : 0;
if (this->price > 0) {
player->actor.textId = 0x29EF;
@@ -1161,7 +1157,7 @@ void EnFsn_HandleCanPlayerBuyItem(EnFsn* this, PlayState* play) {
Actor_PickUp(&this->actor, play, this->items[this->cursorIndex]->getItemId, 300.0f, 300.0f);
play->msgCtx.msgMode = 0x43;
play->msgCtx.stateTimer = 4;
Interface_ChangeAlpha(50);
Interface_SetHudVisibility(HUD_VISIBILITY_ALL);
this->drawCursor = 0;
this->shopItemSelectedTween = 0.0f;
item = this->items[this->cursorIndex];
+25 -24
View File
@@ -74,13 +74,13 @@ static Vec3f D_80964B18 = { 0.0f, 55.0f, 12.0f };
static Vec3f D_80964B24 = { 0.0f, 60.0f, 0.0f };
static AnimationInfo sAnimationInfo[] = {
{ &object_mu_Anim_0053E0, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -4.0f },
{ &object_mu_Anim_001F74, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -4.0f },
{ &object_mu_Anim_002F64, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -4.0f },
{ &object_mu_Anim_004904, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f },
{ &object_mu_Anim_005304, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -8.0f },
{ &object_mu_Anim_005304, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f },
{ &object_mu_Anim_00BAC4, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, 0.0f },
{ &gHoneyAndDarlingIdleAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -4.0f },
{ &gHoneyAndDarlingCupCheeksLoopAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -4.0f },
{ &gHoneyAndDarlingHugLoopAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -4.0f },
{ &gHoneyAndDarlingGameDanceLoopAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f },
{ &gHoneyAndDarlingHoldHandsLoopAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -8.0f },
{ &gHoneyAndDarlingHoldHandsLoopAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f },
{ &gHoneyAndDarlingSurpiseAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, 0.0f },
};
static ColliderCylinderInit sCylinderInit = {
@@ -194,8 +194,8 @@ void EnFu_Init(Actor* thisx, PlayState* play) {
if (fuKaiten != NULL) {
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 36.0f);
SkelAnime_InitFlex(play, &this->skelAnime, &object_mu_Skel_00B2B0, &object_mu_Anim_001F74, this->jointTable,
this->morphTable, 21);
SkelAnime_InitFlex(play, &this->skelAnime, &gHoneyAndDarlingSkel, &gHoneyAndDarlingCupCheeksLoopAnim,
this->jointTable, this->morphTable, HONEY_AND_DARLING_LIMB_MAX);
Collider_InitCylinder(play, &this->collider);
Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
@@ -401,7 +401,8 @@ void func_80962340(EnFu* this, PlayState* play) {
Message_StartTextbox(play, 0x287E, &this->actor);
this->unk_552 = 0x287E;
}
} else if ((gSaveContext.unk_3DE0[4] == 0) && (this->unk_552 != 0x2888)) {
} else if ((gSaveContext.timerCurTimes[TIMER_ID_MINIGAME_2] == SECONDS_TO_TIMER(0)) &&
(this->unk_552 != 0x2888)) {
Message_StartTextbox(play, 0x2886, &this->actor);
this->unk_552 = 0x2886;
} else {
@@ -644,7 +645,7 @@ void func_80962A10(EnFu* this, PlayState* play) {
play_sound(NA_SE_SY_FOUND);
player->stateFlags1 &= ~0x20;
func_8010E9F0(4, 60);
Interface_StartTimer(TIMER_ID_MINIGAME_2, 60);
if (this->unk_546 == 1) {
func_809616E0(this, play);
} else {
@@ -681,7 +682,7 @@ void func_80962BCC(EnFu* this, PlayState* play) {
play_sound(NA_SE_SY_FOUND);
player->stateFlags1 &= ~0x20;
player->stateFlags3 |= 0x400000;
func_8010E9F0(4, 60);
Interface_StartTimer(TIMER_ID_MINIGAME_2, 60);
if (this->unk_546 == 1) {
func_809616E0(this, play);
@@ -712,7 +713,7 @@ void func_80962D60(EnFu* this, PlayState* play) {
play_sound(NA_SE_SY_FOUND);
player->stateFlags1 &= ~0x20;
player->stateFlags3 |= 0x400000;
func_8010E9F0(4, 60);
Interface_StartTimer(TIMER_ID_MINIGAME_2, 60);
if (this->unk_546 == 1) {
func_809616E0(this, play);
@@ -760,11 +761,11 @@ void func_80962F4C(EnFu* this, PlayState* play) {
break;
}
if (gSaveContext.unk_3DE0[4] < 2000) {
if (gSaveContext.timerCurTimes[TIMER_ID_MINIGAME_2] < SECONDS_TO_TIMER(20)) {
s16 val = D_80964B00[this->unk_542] + 200;
Math_SmoothStepToS(&fuKaiten->rotationSpeed, val, 10, 5, 5);
} else if (gSaveContext.unk_3DE0[4] < 4000) {
} else if (gSaveContext.timerCurTimes[TIMER_ID_MINIGAME_2] < SECONDS_TO_TIMER(40)) {
s16 val = D_80964B00[this->unk_542] + 100;
Math_SmoothStepToS(&fuKaiten->rotationSpeed, val, 10, 5, 5);
@@ -776,12 +777,12 @@ void func_80962F4C(EnFu* this, PlayState* play) {
if ((!DynaPolyActor_IsInRidingRotatingState((DynaPolyActor*)this->actor.child) &&
(player->actor.bgCheckFlags & 1)) ||
(gSaveContext.unk_3DE0[4] < 1) || (this->unk_548 == this->unk_54C)) {
(gSaveContext.timerCurTimes[TIMER_ID_MINIGAME_2] <= SECONDS_TO_TIMER(0)) || (this->unk_548 == this->unk_54C)) {
player->stateFlags3 &= ~0x400000;
func_80961E88(play);
player->stateFlags1 |= 0x20;
if (this->unk_548 < this->unk_54C) {
if (gSaveContext.unk_3DE0[4] == 0) {
if (gSaveContext.timerCurTimes[TIMER_ID_MINIGAME_2] == SECONDS_TO_TIMER(0)) {
Message_StartTextbox(play, 0x2885, &this->actor);
this->unk_552 = 0x2885;
} else {
@@ -789,15 +790,15 @@ void func_80962F4C(EnFu* this, PlayState* play) {
this->unk_552 = 0x2888;
}
func_801A2C20();
gSaveContext.unk_3DE0[4] = 0;
gSaveContext.unk_3DD0[4] = 5;
gSaveContext.timerCurTimes[TIMER_ID_MINIGAME_2] = SECONDS_TO_TIMER(0);
gSaveContext.timerStates[TIMER_ID_MINIGAME_2] = TIMER_STATE_STOP;
this->unk_548 = 0;
func_809632D0(this);
} else {
this->unk_548 = 0;
func_801A2C20();
gSaveContext.unk_3DE0[4] = 0;
gSaveContext.unk_3DD0[4] = 5;
gSaveContext.timerCurTimes[TIMER_ID_MINIGAME_2] = SECONDS_TO_TIMER(0);
gSaveContext.timerStates[TIMER_ID_MINIGAME_2] = TIMER_STATE_STOP;
func_801A3098(NA_BGM_GET_ITEM | 0x900);
func_8011B4E0(play, 1);
this->unk_54A = 3;
@@ -820,7 +821,7 @@ void func_8096326C(EnFu* this, PlayState* play) {
void func_809632D0(EnFu* this) {
if (gSaveContext.save.playerForm == PLAYER_FORM_DEKU) {
Interface_ChangeAlpha(50);
Interface_SetHudVisibility(HUD_VISIBILITY_ALL);
}
gSaveContext.save.weekEventReg[8] &= (u8)~1;
@@ -1453,7 +1454,7 @@ void func_80964950(PlayState* play, EnFuUnkStruct* ptr, s32 len) {
for (i = 0; i < len; i++, ptr++) {
if (ptr->unk_36 == 1) {
if (!flag) {
gSPDisplayList(POLY_OPA_DISP++, object_mu_DL_00B0A0);
gSPDisplayList(POLY_OPA_DISP++, gHoneyAndDarlingHeartMaterialDL);
flag = true;
}
Matrix_Translate(ptr->unk_08.x, ptr->unk_08.y, ptr->unk_08.z, MTXMODE_NEW);
@@ -1462,7 +1463,7 @@ void func_80964950(PlayState* play, EnFuUnkStruct* ptr, s32 len) {
gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(gDropRecoveryHeartTex));
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, object_mu_DL_00B0E0);
gSPDisplayList(POLY_OPA_DISP++, gHoneyAndDarlingHeartModelDL);
}
}
+8 -8
View File
@@ -459,7 +459,7 @@ void func_80B10240(EnGb2* this, PlayState* play) {
D_80B119B0[this->unk_280].unk_04.y, D_80B119B0[this->unk_280].unk_04.z, 0, 0, 0,
this->unk_27E);
if (this->unk_280 == 0) {
func_8010E9F0(1, 180);
Interface_StartTimer(TIMER_ID_MINIGAME_1, 180);
}
this->actionFunc = func_80B10344;
} else {
@@ -487,7 +487,7 @@ void func_80B10344(EnGb2* this, PlayState* play) {
if (this->unk_26C & 0x200) {
if (this->unk_280 == 3) {
this->unk_26C &= ~0x200;
gSaveContext.unk_3DD0[1] = 5;
gSaveContext.timerStates[TIMER_ID_MINIGAME_1] = TIMER_STATE_STOP;
func_800FE498();
gSaveContext.eventInf[4] |= 0x40;
func_80B0FE7C(play);
@@ -506,7 +506,7 @@ void func_80B10344(EnGb2* this, PlayState* play) {
}
if (gSaveContext.save.playerData.health < 49) {
gSaveContext.unk_3DD0[1] = 5;
gSaveContext.timerStates[TIMER_ID_MINIGAME_1] = TIMER_STATE_STOP;
gSaveContext.eventInf[4] |= 0x40;
gSaveContext.eventInf[4] |= 0x20;
@@ -519,8 +519,8 @@ void func_80B10344(EnGb2* this, PlayState* play) {
}
func_80B0FE7C(play);
} else if (gSaveContext.unk_3DE0[1] == 0) {
gSaveContext.unk_3DD0[1] = 5;
} else if (gSaveContext.timerCurTimes[TIMER_ID_MINIGAME_1] == SECONDS_TO_TIMER(0)) {
gSaveContext.timerStates[TIMER_ID_MINIGAME_1] = TIMER_STATE_STOP;
gSaveContext.eventInf[4] |= 0x40;
gSaveContext.eventInf[4] |= 0x10;
@@ -806,11 +806,11 @@ void func_80B110F8(EnGb2* this, PlayState* play) {
void func_80B111AC(EnGb2* this, PlayState* play) {
s32 index;
if (play->roomCtx.currRoom.num == 1) {
if (play->roomCtx.curRoom.num == 1) {
return;
}
switch (play->roomCtx.currRoom.num) {
switch (play->roomCtx.curRoom.num) {
case 2:
index = 1;
break;
@@ -837,7 +837,7 @@ void func_80B111AC(EnGb2* this, PlayState* play) {
}
void func_80B11268(EnGb2* this, PlayState* play) {
if (play->roomCtx.currRoom.num == 1) {
if (play->roomCtx.curRoom.num == 1) {
this->unk_290 = 0;
this->unk_282[0] = this->actor.cutscene;
if (Flags_GetClear(play, 2) && Flags_GetClear(play, 3) && Flags_GetClear(play, 4) && Flags_GetClear(play, 5)) {
+9 -9
View File
@@ -213,15 +213,15 @@ void func_80B3B294(EnGg2* this, PlayState* play) {
Vec3s sp30;
if (this->unk_2F1 == 0) {
if (play->sceneNum == SCENE_11GORONNOSATO) {
if (play->sceneId == SCENE_11GORONNOSATO) {
gSaveContext.save.weekEventReg[20] |= 4;
gSaveContext.save.weekEventReg[20] &= (u8)~8;
gSaveContext.save.weekEventReg[20] &= (u8)~0x10;
} else if (play->sceneNum == SCENE_17SETUGEN) {
} else if (play->sceneId == SCENE_17SETUGEN) {
gSaveContext.save.weekEventReg[20] &= (u8)~4;
gSaveContext.save.weekEventReg[20] |= 8;
gSaveContext.save.weekEventReg[20] &= (u8)~0x10;
} else if (play->sceneNum == SCENE_10YUKIYAMANOMURA) {
} else if (play->sceneId == SCENE_10YUKIYAMANOMURA) {
gSaveContext.save.weekEventReg[20] &= (u8)~4;
gSaveContext.save.weekEventReg[20] &= (u8)~8;
gSaveContext.save.weekEventReg[20] |= 0x10;
@@ -239,15 +239,15 @@ void func_80B3B294(EnGg2* this, PlayState* play) {
this->unk_1DC++;
} else {
this->unk_2F1 = 1;
if (play->sceneNum == SCENE_11GORONNOSATO) {
if (play->sceneId == SCENE_11GORONNOSATO) {
gSaveContext.save.weekEventReg[20] |= 4;
gSaveContext.save.weekEventReg[20] &= (u8)~8;
gSaveContext.save.weekEventReg[20] &= (u8)~0x10;
} else if (play->sceneNum == SCENE_17SETUGEN) {
} else if (play->sceneId == SCENE_17SETUGEN) {
gSaveContext.save.weekEventReg[20] &= (u8)~4;
gSaveContext.save.weekEventReg[20] |= 8;
gSaveContext.save.weekEventReg[20] &= (u8)~0x10;
} else if (play->sceneNum == SCENE_10YUKIYAMANOMURA) {
} else if (play->sceneId == SCENE_10YUKIYAMANOMURA) {
gSaveContext.save.weekEventReg[20] &= (u8)~4;
gSaveContext.save.weekEventReg[20] &= (u8)~8;
gSaveContext.save.weekEventReg[20] |= 0x10;
@@ -380,14 +380,14 @@ void EnGg2_Init(Actor* thisx, PlayState* play2) {
this->unk_2EC = 20;
this->unk_2EA = 0;
if (play->sceneNum == SCENE_11GORONNOSATO) {
if (play->sceneId == SCENE_11GORONNOSATO) {
gSaveContext.save.weekEventReg[20] &= (u8)~4;
gSaveContext.save.weekEventReg[20] &= (u8)~8;
gSaveContext.save.weekEventReg[20] &= (u8)~0x10;
this->unk_2EE = 0;
Actor_ChangeAnimationByInfo(&this->skelAnime, D_80B3BF00, 0);
this->actionFunc = func_80B3AFB0;
} else if (play->sceneNum == SCENE_17SETUGEN) {
} else if (play->sceneId == SCENE_17SETUGEN) {
if ((gSaveContext.save.weekEventReg[20] & 4) && !(gSaveContext.save.weekEventReg[20] & 8) &&
!(gSaveContext.save.weekEventReg[20] & 0x10)) {
gSaveContext.save.weekEventReg[20] &= (u8)~4;
@@ -397,7 +397,7 @@ void EnGg2_Init(Actor* thisx, PlayState* play2) {
} else {
Actor_MarkForDeath(&this->actor);
}
} else if (play->sceneNum == SCENE_10YUKIYAMANOMURA) {
} else if (play->sceneId == SCENE_10YUKIYAMANOMURA) {
if (!(gSaveContext.save.weekEventReg[20] & 4) && (gSaveContext.save.weekEventReg[20] & 8) &&
!(gSaveContext.save.weekEventReg[20] & 0x10)) {
gSaveContext.save.weekEventReg[20] &= (u8)~8;
+5 -5
View File
@@ -118,7 +118,7 @@ Color_RGBA8 D_80B533A4 = { 50, 150, 150, 0 };
u16 func_80B50410(EnGk* this, PlayState* play) {
Player* player = GET_PLAYER(play);
if (play->sceneNum == SCENE_17SETUGEN2) {
if (play->sceneId == SCENE_17SETUGEN2) {
if (player->transformation == PLAYER_FORM_GORON) {
if (!(gSaveContext.save.weekEventReg[40] & 0x80)) {
switch (this->unk_31C) {
@@ -164,7 +164,7 @@ u16 func_80B50410(EnGk* this, PlayState* play) {
this->unk_1E4 |= 1;
return 0xE81;
}
} else if (play->sceneNum == SCENE_GORONRACE) {
} else if (play->sceneId == SCENE_GORONRACE) {
if (player->transformation == PLAYER_FORM_GORON) {
if (!(gSaveContext.save.weekEventReg[41] & 4)) {
if (this->unk_31C == 0xE88) {
@@ -645,7 +645,7 @@ void func_80B51760(EnGk* this, PlayState* play) {
this->unk_1E4 |= 2;
}
} else if (((this->actor.xzDistToPlayer < 100.0f) || this->actor.isTargeted) &&
(gSaveContext.save.entrance != 0xD010)) {
(gSaveContext.save.entrance != ENTRANCE(GORON_RACETRACK, 1))) {
func_800B863C(&this->actor, play);
}
@@ -1018,7 +1018,7 @@ void EnGk_Init(Actor* thisx, PlayState* play) {
if (ENGK_GET_F(&this->actor) == ENGK_F_1) {
this->unk_2E4 = 5;
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, 5);
if (play->sceneNum == SCENE_17SETUGEN2) {
if (play->sceneId == SCENE_17SETUGEN2) {
if (Flags_GetSwitch(play, ENGK_GET_3F00(&this->actor))) {
Actor_MarkForDeath(&this->actor);
} else {
@@ -1026,7 +1026,7 @@ void EnGk_Init(Actor* thisx, PlayState* play) {
this->path = SubS_GetPathByIndex(play, ENGK_GET_F0(&this->actor), 0xF);
this->actionFunc = func_80B51760;
}
} else if (play->sceneNum == SCENE_GORONRACE) {
} else if (play->sceneId == SCENE_GORONRACE) {
if (gSaveContext.save.weekEventReg[33] & 0x80) {
if (gSaveContext.save.entrance == ENTRANCE(GORON_RACETRACK, 1)) {
this->actionFunc = func_80B51760;
+4 -4
View File
@@ -328,8 +328,8 @@ s32 func_8094E054(EnGm* this, PlayState* play, s32 arg2) {
s32 func_8094E0F8(EnGm* this, PlayState* play) {
s32 ret = false;
if ((this->unk_260 != play->roomCtx.currRoom.num) && (play->roomCtx.unk31 == 0)) {
this->unk_260 = play->roomCtx.currRoom.num;
if ((this->unk_260 != play->roomCtx.curRoom.num) && (play->roomCtx.unk31 == 0)) {
this->unk_260 = play->roomCtx.curRoom.num;
this->unk_262 = SubS_GetObjectIndex(OBJECT_IN2, play);
this->actor.draw = NULL;
this->unk_3FC = 1;
@@ -762,7 +762,7 @@ s32 func_8094EFC4(EnGm* this, PlayState* play) {
if (play->csCtx.state != 0) {
if (this->unk_3F8 == 0) {
if ((play->sceneNum == SCENE_MILK_BAR) && (gSaveContext.sceneSetupIndex == 2)) {
if ((play->sceneId == SCENE_MILK_BAR) && (gSaveContext.sceneSetupIndex == 2)) {
func_8094E054(this, play, 0);
this->unk_258 = 255;
}
@@ -771,7 +771,7 @@ s32 func_8094EFC4(EnGm* this, PlayState* play) {
}
ret = true;
} else if (this->unk_3F8 != 0) {
if (play->sceneNum == SCENE_MILK_BAR) {
if (play->sceneId == SCENE_MILK_BAR) {
this->unk_400 = 0;
}
this->unk_3F8 = 0;
+3 -3
View File
@@ -537,7 +537,7 @@ s32 func_80A1222C(EnGo* this, PlayState* play) {
if (((player->transformation == PLAYER_FORM_GORON) && (play->msgCtx.ocarinaMode == 3) &&
(play->msgCtx.lastPlayedSong == OCARINA_SONG_GORON_LULLABY) && (this->unk_3EC == 0) &&
(this->actor.xzDistToPlayer < 400.0f)) ||
(!(gSaveContext.save.weekEventReg[22] & 4) && (play->sceneNum == SCENE_16GORON_HOUSE) &&
(!(gSaveContext.save.weekEventReg[22] & 4) && (play->sceneId == SCENE_16GORON_HOUSE) &&
(gSaveContext.sceneSetupIndex == 0) && (this->unk_3EC == 0) && (play->csCtx.currentCsIndex == 1))) {
ret = true;
}
@@ -710,7 +710,7 @@ s32 func_80A12868(EnGo* this, PlayState* play) {
s32 func_80A12954(EnGo* this, PlayState* play) {
if ((ENGO_GET_F(&this->actor) == ENGO_F_4) && (play->csCtx.state != 0) && (this->actor.draw != NULL) &&
(play->sceneNum == SCENE_10YUKIYAMANOMURA2) && (gSaveContext.sceneSetupIndex == 1) &&
(play->sceneId == SCENE_10YUKIYAMANOMURA2) && (gSaveContext.sceneSetupIndex == 1) &&
(play->csCtx.currentCsIndex == 0)) {
if (this->unk_3F0 == 0) {
this->actor.flags &= ~ACTOR_FLAG_1;
@@ -1411,7 +1411,7 @@ void func_80A144F4(EnGo* this, PlayState* play) {
void func_80A145AC(EnGo* this, PlayState* play) {
if ((ENGO_GET_70(&this->actor) == ENGO_70_1) &&
(((play->sceneNum == SCENE_10YUKIYAMANOMURA2) && (gSaveContext.sceneSetupIndex == 1) &&
(((play->sceneId == SCENE_10YUKIYAMANOMURA2) && (gSaveContext.sceneSetupIndex == 1) &&
(play->csCtx.currentCsIndex == 0)) ||
!(gSaveContext.save.weekEventReg[21] & 8))) {
this->actor.child = func_80A13400(this, play);
File diff suppressed because it is too large Load Diff
@@ -2,16 +2,77 @@
#define Z_EN_GRASSHOPPER_H
#include "global.h"
#include "objects/object_grasshopper/object_grasshopper.h"
#define EN_GRASSHOPPER_GET_TYPE(thisx) ((thisx)->params)
struct EnGrasshopper;
typedef void (*EnGrasshopperActionFunc)(struct EnGrasshopper*, PlayState*);
typedef enum EnGrasshopperType {
/* -1 */ EN_GRASSHOPPER_TYPE_UNUSED_NORMAL = -1, // Acts exactly like EN_GRASSHOPPER_TYPE_NORMAL
/* 0 */ EN_GRASSHOPPER_TYPE_NORMAL,
/* 1 */ EN_GRASSHOPPER_TYPE_GROWS_WHEN_SPAWNED, // Spawned by EnEncount1
/* 2 */ EN_GRASSHOPPER_TYPE_WOODFALL_TEMPLE_FINAL_ROOM,
/* 3 */ EN_GRASSHOPPER_TYPE_WOODFALL,
} EnGrasshopperType;
typedef struct EnGrasshopperEffect {
/* 0x00 */ u8 isEnabled;
/* 0x04 */ Vec3f pos;
/* 0x10 */ Vec3f velocity;
/* 0x1C */ f32 yaw;
/* 0x20 */ Vec3f scale;
/* 0x2C */ s16 timer;
/* 0x2E */ s16 lightningIndex;
} EnGrasshopperEffect; // size = 0x30
#define EN_GRASSHOPPER_EFFECT_COUNT 100
typedef struct EnGrasshopper {
/* 0x0000 */ Actor actor;
/* 0x0144 */ char unk_144[0x164];
/* 0x0144 */ SkelAnime skelAnime;
/* 0x0188 */ Vec3s jointTable[DRAGONFLY_LIMB_MAX];
/* 0x0218 */ Vec3s morphTable[DRAGONFLY_LIMB_MAX];
/* 0x02A8 */ EnGrasshopperActionFunc actionFunc;
/* 0x02AC */ char unk_2AC[0x15C4];
/* 0x02AC */ u8 decision;
/* 0x02AD */ u8 shouldTurn;
/* 0x02AE */ UNK_TYPE1 unk_2AE[2];
/* 0x02B0 */ s16 timer;
/* 0x02B2 */ s16 waitTimer;
/* 0x02B4 */ s16 postBankTimer;
/* 0x02B6 */ s16 drawDmgEffTimer;
/* 0x02B8 */ s16 drawDmgEffType;
/* 0x02BC */ f32 drawDmgEffScale;
/* 0x02C0 */ f32 drawDmgEffFrozenSteamScale;
/* 0x02C4 */ Vec3f bodyPartsPos[12];
/* 0x0354 */ s16 bodyPartsPosIndex;
/* 0x0356 */ s16 splashCount;
/* 0x0358 */ s16 action;
/* 0x035A */ s16 index; // Has a minor effect on speed for some reason.
/* 0x035C */ s16 bankState;
/* 0x035E */ s16 type;
/* 0x0360 */ f32 dragonflyScale;
/* 0x0364 */ f32 rotationalVelocity;
/* 0x0368 */ f32 endFrame;
/* 0x036C */ f32 approachSpeed;
/* 0x0370 */ f32 baseFlyHeight;
/* 0x0374 */ f32 targetPosY;
/* 0x0376 */ Vec3s targetRot;
/* 0x0380 */ Vec3f flyingHomePos;
/* 0x038C */ s16 bobPhase;
/* 0x038E */ UNK_TYPE1 unk_38E[0x26];
/* 0x03B4 */ Vec3f targetApproachPos;
/* 0x03C0 */ Vec3f tailTipPos;
/* 0x03CC */ Vec3f effectBasePos;
/* 0x03D8 */ Vec3f shadowBodyPartsPos[DRAGONFLY_LIMB_MAX];
/* 0x04F8 */ f32 waterSurface;
/* 0x04FC */ Vec3f damagedVelocity;
/* 0x0508 */ Vec3s targetBankRot;
/* 0x0510 */ ColliderJntSph collider;
/* 0x0530 */ ColliderJntSphElement colliderElements[2];
/* 0x0570 */ EnGrasshopperEffect effects[EN_GRASSHOPPER_EFFECT_COUNT];
} EnGrasshopper; // size = 0x1870
extern const ActorInit En_Grasshopper_InitVars;
@@ -330,7 +330,7 @@ void func_80B23934(EnHanabi* this, PlayState* play) {
}
}
if ((play->sceneNum == SCENE_00KEIKOKU) && (gSaveContext.sceneSetupIndex == 7) &&
if ((play->sceneId == SCENE_00KEIKOKU) && (gSaveContext.sceneSetupIndex == 7) &&
(play->csCtx.currentCsIndex == 0) && (play->csCtx.frames == 610)) {
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_KYOJIN_GROAN);
}
+9 -9
View File
@@ -138,9 +138,9 @@ void EnHoll_Destroy(Actor* thisx, PlayState* play) {
}
void EnHoll_ChangeRooms(PlayState* play) {
Room tempRoom = play->roomCtx.currRoom;
Room tempRoom = play->roomCtx.curRoom;
play->roomCtx.currRoom = play->roomCtx.prevRoom;
play->roomCtx.curRoom = play->roomCtx.prevRoom;
play->roomCtx.prevRoom = tempRoom;
play->roomCtx.activeMemPage ^= 1;
}
@@ -170,7 +170,7 @@ void EnHoll_VisibleIdle(EnHoll* this, PlayState* play) {
EnHoll_SetPlayerSide(play, this, &transformedPlayerPos);
playerDistFromCentralPlane = fabsf(transformedPlayerPos.z);
if (play->sceneNum == SCENE_IKANA) {
if (play->sceneId == SCENE_IKANA) {
enHollBottom = EN_HOLL_BOTTOM_IKANA;
enHollHalfwidth = EN_HOLL_HALFWIDTH_IKANA;
}
@@ -204,12 +204,12 @@ void EnHoll_VisibleIdle(EnHoll* this, PlayState* play) {
s32 unclampedAlpha = EN_HOLL_SCALE_ALPHA(playerDistFromCentralPlane);
this->alpha = CLAMP(unclampedAlpha, 0, 255);
if (play->roomCtx.currRoom.num != this->actor.room) {
if (play->roomCtx.curRoom.num != this->actor.room) {
EnHoll_ChangeRooms(play);
}
}
}
} else if ((this->type == EN_HOLL_TYPE_DEFAULT) && (play->sceneNum == SCENE_26SARUNOMORI) &&
} else if ((this->type == EN_HOLL_TYPE_DEFAULT) && (play->sceneId == SCENE_26SARUNOMORI) &&
(sInstancePlayingSound == NULL)) {
sInstancePlayingSound = this;
}
@@ -225,7 +225,7 @@ void EnHoll_TransparentIdle(EnHoll* this, PlayState* play) {
Actor_OffsetOfPointInActorCoords(&this->actor, &transformedPlayerPos,
useViewEye ? &play->view.eye : &player->actor.world.pos);
enHollTop = (play->sceneNum == SCENE_PIRATE) ? EN_HOLL_TOP_PIRATE : EN_HOLL_TOP_DEFAULT;
enHollTop = (play->sceneId == SCENE_PIRATE) ? EN_HOLL_TOP_PIRATE : EN_HOLL_TOP_DEFAULT;
if ((transformedPlayerPos.y > EN_HOLL_BOTTOM_DEFAULT) && (transformedPlayerPos.y < enHollTop) &&
(fabsf(transformedPlayerPos.x) < EN_HOLL_HALFWIDTH_TRANSPARENT)) {
@@ -239,7 +239,7 @@ void EnHoll_TransparentIdle(EnHoll* this, PlayState* play) {
this->actor.room = room;
if ((this->actor.room != play->roomCtx.currRoom.num) &&
if ((this->actor.room != play->roomCtx.curRoom.num) &&
Room_StartRoomTransition(play, &play->roomCtx, this->actor.room)) {
this->actionFunc = EnHoll_RoomTransitionIdle;
}
@@ -264,7 +264,7 @@ void EnHoll_VerticalBgCoverIdle(EnHoll* this, PlayState* play) {
this->actor.room = play->doorCtx.transitionActorList[enHollId].sides[playerSide].room;
if ((this->actor.room != play->roomCtx.currRoom.num) &&
if ((this->actor.room != play->roomCtx.curRoom.num) &&
Room_StartRoomTransition(play, &play->roomCtx, this->actor.room)) {
this->actionFunc = EnHoll_RoomTransitionIdle;
this->bgCoverAlphaActive = true;
@@ -287,7 +287,7 @@ void EnHoll_VerticalIdle(EnHoll* this, PlayState* play) {
s32 playerSide = (this->actor.playerHeightRel > 0.0f) ? EN_HOLL_ABOVE : EN_HOLL_BELOW;
this->actor.room = play->doorCtx.transitionActorList[enHollId].sides[playerSide].room;
if ((this->actor.room != play->roomCtx.currRoom.num) &&
if ((this->actor.room != play->roomCtx.curRoom.num) &&
Room_StartRoomTransition(play, &play->roomCtx, this->actor.room)) {
this->actionFunc = EnHoll_RoomTransitionIdle;
}
@@ -792,7 +792,7 @@ void EnHorse_Init(Actor* thisx, PlayState* play2) {
this->stateFlags = 0;
}
if (((play->sceneNum == SCENE_KOEPONARACE) && (GET_RACE_FLAGS == 1)) ||
if (((play->sceneId == SCENE_KOEPONARACE) && (GET_RACE_FLAGS == 1)) ||
((gSaveContext.save.entrance == ENTRANCE(ROMANI_RANCH, 0)) && Cutscene_GetSceneSetupIndex(play))) {
this->stateFlags |= ENHORSE_FLAG_25;
}
@@ -878,7 +878,7 @@ void EnHorse_Init(Actor* thisx, PlayState* play2) {
func_80112AFC(play);
} else if (thisx->params == ENHORSE_14) {
func_808846F0(this, play);
if ((play->sceneNum == SCENE_LOST_WOODS) && !Cutscene_IsPlaying(play)) {
if ((play->sceneId == SCENE_LOST_WOODS) && !Cutscene_IsPlaying(play)) {
Actor_MarkForDeath(&this->actor);
}
} else if (thisx->params == ENHORSE_16) {
@@ -3498,7 +3498,7 @@ void EnHorse_ObstructMovement(EnHorse* this, PlayState* play, s32 obstacleType,
this->unk_1EC |= 0x80;
this->actor.world.pos = this->actor.prevPos;
this->actor.speedXZ = 0.0f;
} else if ((play->sceneNum != SCENE_KOEPONARACE) || (this->unk_1EC & 2)) {
} else if ((play->sceneId != SCENE_KOEPONARACE) || (this->unk_1EC & 2)) {
this->unk_1EC &= ~2;
this->actor.world.pos = this->lastPos;
this->stateFlags |= ENHORSE_OBSTACLE;
@@ -3822,7 +3822,7 @@ void EnHorse_UpdateBgCheckInfo(EnHorse* this, PlayState* play) {
}
if (((movingFast == false) && (intersectDist < 80.0f)) || ((movingFast == true) && (intersectDist < 150.0f))) {
if ((play->sceneNum != SCENE_KOEPONARACE) && (Math_CosS(sp7E) < 0.9f) && (this->playerControlled == true)) {
if ((play->sceneId != SCENE_KOEPONARACE) && (Math_CosS(sp7E) < 0.9f) && (this->playerControlled == true)) {
if (movingFast == false) {
this->stateFlags |= ENHORSE_FORCE_REVERSING;
} else if (movingFast == true) {
@@ -3876,7 +3876,7 @@ void EnHorse_UpdateBgCheckInfo(EnHorse* this, PlayState* play) {
COLPOLY_GET_NORMAL(obstacleFloor->normal.z), obstacleFloor->dist,
&this->actor.world.pos) > 40.0f)) {
if ((movingFast == true) && (this->playerControlled == true) && (this->action != ENHORSE_ACTION_STOPPING) &&
(play->sceneNum != SCENE_KOEPONARACE)) {
(play->sceneId != SCENE_KOEPONARACE)) {
this->stateFlags |= ENHORSE_FORCE_REVERSING;
EnHorse_StartBraking(this, play);
}
@@ -3888,7 +3888,7 @@ void EnHorse_UpdateBgCheckInfo(EnHorse* this, PlayState* play) {
if ((temp_f0 < 0.81915206f) || SurfaceType_IsHorseBlocked(&play->colCtx, obstacleFloor, bgId) ||
(func_800C99D4(&play->colCtx, obstacleFloor, bgId) == 7)) {
if ((Math_CosS(sp7E) < 0.9f) && (movingFast == true) && (this->playerControlled == true) &&
(this->action != ENHORSE_ACTION_STOPPING) && (play->sceneNum != SCENE_KOEPONARACE)) {
(this->action != ENHORSE_ACTION_STOPPING) && (play->sceneId != SCENE_KOEPONARACE)) {
this->stateFlags |= ENHORSE_FORCE_REVERSING;
EnHorse_StartBraking(this, play);
}
@@ -3951,13 +3951,13 @@ void EnHorse_UpdateBgCheckInfo(EnHorse* this, PlayState* play) {
if ((temp_f0 < 0.81915206f) || SurfaceType_IsHorseBlocked(&play->colCtx, obstacleFloor, bgId) ||
(func_800C99D4(&play->colCtx, obstacleFloor, bgId) == 7)) {
if ((movingFast == true) && (this->playerControlled == true) && (this->action != ENHORSE_ACTION_STOPPING) &&
(play->sceneNum != SCENE_KOEPONARACE)) {
(play->sceneId != SCENE_KOEPONARACE)) {
this->stateFlags |= ENHORSE_FORCE_REVERSING;
EnHorse_StartBraking(this, play);
}
} else if (behindObstacleHeight < -70.0f) {
if ((movingFast == true) && (this->playerControlled == true) && (this->action != ENHORSE_ACTION_STOPPING) &&
(play->sceneNum != SCENE_KOEPONARACE)) {
(play->sceneId != SCENE_KOEPONARACE)) {
this->stateFlags |= ENHORSE_FORCE_REVERSING;
EnHorse_StartBraking(this, play);
}
@@ -121,7 +121,7 @@ s32 func_808F8CCC(EnHorseGameCheck* this, PlayState* play2) {
return false;
}
func_8010E9F0(4, 0);
Interface_StartTimer(TIMER_ID_MINIGAME_2, 0);
play->interfaceCtx.unk_280 = 1;
this->horse1 = (EnHorse*)Actor_Spawn(&play->actorCtx, play, ACTOR_EN_HORSE, -1149.0f, -106.0f, 470.0f, 0, 0x7FFF, 0,
@@ -145,7 +145,7 @@ s32 func_808F8CCC(EnHorseGameCheck* this, PlayState* play2) {
}
s32 func_808F8E94(EnHorseGameCheck* this, PlayState* play) {
gSaveContext.unk_3DD0[4] = 0;
gSaveContext.timerStates[TIMER_ID_MINIGAME_2] = TIMER_STATE_OFF;
return true;
}
@@ -247,11 +247,11 @@ s32 func_808F8FAC(EnHorseGameCheck* this, PlayState* play) {
return true;
}
if (gSaveContext.unk_3DE0[4] >= 0x4650) {
if (gSaveContext.timerCurTimes[TIMER_ID_MINIGAME_2] >= SECONDS_TO_TIMER(180)) {
Audio_QueueSeqCmd(0x8041);
play_sound(NA_SE_SY_START_SHOT);
this->unk_164 |= 0x40000;
gSaveContext.unk_3DD0[4] = 6;
gSaveContext.timerStates[TIMER_ID_MINIGAME_2] = TIMER_STATE_6;
SET_RACE_FLAGS(RACE_FLAG_4);
this->unk_174 = 60;
}
@@ -284,7 +284,7 @@ s32 func_808F8FAC(EnHorseGameCheck* this, PlayState* play) {
Audio_QueueSeqCmd(0x8041);
play_sound(NA_SE_SY_START_SHOT);
this->unk_164 |= 0x40000;
gSaveContext.unk_3DD0[4] = 6;
gSaveContext.timerStates[TIMER_ID_MINIGAME_2] = TIMER_STATE_6;
SET_RACE_FLAGS(RACE_FLAG_3);
this->unk_174 = 60;
}
@@ -317,7 +317,7 @@ s32 func_808F8FAC(EnHorseGameCheck* this, PlayState* play) {
Audio_QueueSeqCmd(0x8041);
play_sound(NA_SE_SY_START_SHOT);
this->unk_164 |= 0x02000000;
gSaveContext.unk_3DD0[4] = 6;
gSaveContext.timerStates[TIMER_ID_MINIGAME_2] = TIMER_STATE_6;
SET_RACE_FLAGS(RACE_FLAG_3);
this->unk_174 = 60;
}
@@ -346,7 +346,7 @@ s32 func_808F8FAC(EnHorseGameCheck* this, PlayState* play) {
Audio_QueueSeqCmd(0x8041);
play_sound(NA_SE_SY_START_SHOT);
this->unk_164 |= 0x800;
gSaveContext.unk_3DD0[4] = 6;
gSaveContext.timerStates[TIMER_ID_MINIGAME_2] = TIMER_STATE_6;
SET_RACE_FLAGS(RACE_FLAG_2);
this->unk_174 = 60;
}
+1 -1
View File
@@ -532,7 +532,7 @@ void func_8095E95C(EnIshi* this, PlayState* play) {
s32 sp2C;
if (Actor_HasNoParent(&this->actor, play)) {
this->actor.room = play->roomCtx.currRoom.num;
this->actor.room = play->roomCtx.curRoom.num;
if (ENISHI_GET_1(&this->actor) == 1) {
Flags_SetSwitch(play, ENISHI_GET_FE00(&this->actor));
}
+1 -1
View File
@@ -948,7 +948,7 @@ void EnJg_Init(Actor* thisx, PlayState* play) {
Actor_SetScale(&this->actor, 0.01f);
if (!EN_JG_IS_IN_GORON_SHRINE(thisx)) {
if ((play->sceneNum == SCENE_SPOT00) && (gSaveContext.sceneSetupIndex == 7) &&
if ((play->sceneId == SCENE_SPOT00) && (gSaveContext.sceneSetupIndex == 7) &&
(play->csCtx.currentCsIndex == 0)) {
// This is the elder that appears in the cutscene for learning the full Goron Lullaby.
this->animIndex = EN_JG_ANIM_IDLE;
@@ -155,7 +155,7 @@ void func_80C13BB8(EnJgameTsn* this, PlayState* play) {
if (Actor_ProcessTalkRequest(&this->actor, &play->state)) {
if (this->actor.flags & ACTOR_FLAG_10000) {
this->actor.flags &= ~ACTOR_FLAG_10000;
if (gSaveContext.unk_3DE0[4] > 0) {
if (gSaveContext.timerCurTimes[TIMER_ID_MINIGAME_2] > SECONDS_TO_TIMER(0)) {
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, 1);
Message_StartTextbox(play, 0x10A2, &this->actor);
this->unk_300 = 0x10A2;
@@ -287,7 +287,7 @@ void func_80C1410C(EnJgameTsn* this, PlayState* play) {
play->interfaceCtx.unk_280 = 1;
func_80112AFC(play);
gSaveContext.save.weekEventReg[90] |= 0x20;
func_8010E9F0(4, 0x78);
Interface_StartTimer(TIMER_ID_MINIGAME_2, 120);
this->actionFunc = func_80C1418C;
}
@@ -352,7 +352,7 @@ void func_80C14230(EnJgameTsn* this, PlayState* play) {
func_80C14030(this);
}
if (gSaveContext.unk_3DE0[4] == 0) {
if (gSaveContext.timerCurTimes[TIMER_ID_MINIGAME_2] == SECONDS_TO_TIMER(0)) {
Message_StartTextbox(play, 0x10A1, &this->actor);
this->unk_300 = 0x10A1;
player->stateFlags1 |= 0x20;
@@ -479,7 +479,7 @@ void func_80C147B4(EnJgameTsn* this, PlayState* play) {
case 0x10A1:
func_801477B4(play);
gSaveContext.minigameState = 3;
gSaveContext.unk_3DD0[4] = 5;
gSaveContext.timerStates[TIMER_ID_MINIGAME_2] = TIMER_STATE_STOP;
gSaveContext.save.weekEventReg[90] &= (u8)~0x20;
func_80C144E4(this);
break;
@@ -238,10 +238,10 @@ void EnKakasi_CheckAnimationSfx(EnKakasi* this) {
void EnKakasi_CheckPlayerPosition(EnKakasi* this, PlayState* play) {
Player* player = GET_PLAYER(play);
if (play->sceneNum == SCENE_8ITEMSHOP) {
if (play->sceneId == SCENE_8ITEMSHOP) {
player->actor.world.pos.x = -50.0f;
player->actor.world.pos.z = 155.0f;
} else if (play->sceneNum == SCENE_TENMON_DAI) {
} else if (play->sceneId == SCENE_TENMON_DAI) {
player->actor.world.pos.x = 60.0f;
player->actor.world.pos.z = -190.0f;
}
@@ -998,7 +998,7 @@ void EnKakasi_DiggingAway(EnKakasi* this, PlayState* play) {
tempWorldPos.x += randPlusMinusPoint5Scaled(2.0f);
tempWorldPos.z += randPlusMinusPoint5Scaled(2.0f);
if (play->sceneNum == SCENE_8ITEMSHOP) {
if (play->sceneId == SCENE_8ITEMSHOP) {
EffectSsGSplash_Spawn(play, &tempWorldPos, 0, 0, 0, randPlusMinusPoint5Scaled(100.0f) + 200.0f);
SoundSource_PlaySfxAtFixedWorldPos(play, &tempWorldPos, 0x32, NA_SE_EV_BOMB_DROP_WATER);
+2 -2
View File
@@ -71,12 +71,12 @@ void EnKbt_Destroy(Actor* thisx, PlayState* play) {
}
s32 func_80B33E64(PlayState* play) {
return gSaveContext.save.permanentSceneFlags[play->sceneNum].unk_14 & 1;
return gSaveContext.save.permanentSceneFlags[play->sceneId].unk_14 & 1;
}
s32 func_80B33E8C(PlayState* play) {
if ((CURRENT_DAY == 3) ||
((CURRENT_DAY == 2) && (gSaveContext.save.permanentSceneFlags[play->sceneNum].unk_14 & 2))) {
((CURRENT_DAY == 2) && (gSaveContext.save.permanentSceneFlags[play->sceneId].unk_14 & 2))) {
return true;
}
return false;
+8 -8
View File
@@ -151,33 +151,33 @@ ObjIcePoly* EnKgy_FindIceBlock(PlayState* play) {
}
void func_80B40C74(PlayState* play) {
gSaveContext.save.permanentSceneFlags[play->sceneNum].unk_14 |= 1;
gSaveContext.save.permanentSceneFlags[play->sceneId].unk_14 |= 1;
if (CURRENT_DAY == 1) {
gSaveContext.save.permanentSceneFlags[play->sceneNum].unk_14 |= 2;
gSaveContext.save.permanentSceneFlags[play->sceneId].unk_14 |= 2;
} else {
gSaveContext.save.permanentSceneFlags[play->sceneNum].unk_14 &= ~2;
gSaveContext.save.permanentSceneFlags[play->sceneId].unk_14 &= ~2;
}
}
void func_80B40D00(PlayState* play) {
gSaveContext.save.permanentSceneFlags[play->sceneNum].unk_14 |= 4;
gSaveContext.save.permanentSceneFlags[play->sceneId].unk_14 |= 4;
}
void func_80B40D30(PlayState* play) {
gSaveContext.save.permanentSceneFlags[play->sceneNum].unk_14 &= ~7;
gSaveContext.save.permanentSceneFlags[play->sceneId].unk_14 &= ~7;
}
s32 func_80B40D64(PlayState* play) {
return gSaveContext.save.permanentSceneFlags[play->sceneNum].unk_14 & 1;
return gSaveContext.save.permanentSceneFlags[play->sceneId].unk_14 & 1;
}
s32 func_80B40D8C(PlayState* play) {
return gSaveContext.save.permanentSceneFlags[play->sceneNum].unk_14 & 4;
return gSaveContext.save.permanentSceneFlags[play->sceneId].unk_14 & 4;
}
s32 func_80B40DB4(PlayState* play) {
if ((CURRENT_DAY == 3) ||
((CURRENT_DAY == 2) && (gSaveContext.save.permanentSceneFlags[play->sceneNum].unk_14 & 2))) {
((CURRENT_DAY == 2) && (gSaveContext.save.permanentSceneFlags[play->sceneId].unk_14 & 2))) {
return true;
}
return false;
+4 -5
View File
@@ -4,7 +4,6 @@
* Description: Grass / Bush
*/
#include "prevent_bss_reordering.h"
#include "z_en_kusa.h"
#include "objects/object_kusa/object_kusa.h"
#include "objects/gameplay_keep/gameplay_keep.h"
@@ -510,7 +509,7 @@ void EnKusa_LiftedUp(EnKusa* this, PlayState* play) {
s32 bgId;
if (Actor_HasNoParent(&this->actor, play)) {
this->actor.room = play->roomCtx.currRoom.num;
this->actor.room = play->roomCtx.curRoom.num;
EnKusa_SetupFall(this);
this->actor.velocity.x = this->actor.speedXZ * Math_SinS(this->actor.world.rot.y);
this->actor.velocity.z = this->actor.speedXZ * Math_CosS(this->actor.world.rot.y);
@@ -683,7 +682,7 @@ void EnKusa_Update(Actor* thisx, PlayState* play2) {
} else {
this->actor.shape.yOffset = 0.0f;
}
if ((kusaGameplayFrames != play->gameplayFrames) && (play->roomCtx.currRoom.unk3 == 0)) {
if ((kusaGameplayFrames != play->gameplayFrames) && (play->roomCtx.curRoom.unk3 == 0)) {
EnKusa_Sway();
kusaGameplayFrames = play->gameplayFrames;
}
@@ -695,7 +694,7 @@ void EnKusa_DrawBush(Actor* thisx, PlayState* play2) {
if ((this->actor.projectedPos.z <= 1200.0f) || ((this->isInWater & 1) && (this->actor.projectedPos.z < 1300.0f))) {
if ((play->roomCtx.currRoom.unk3 == 0) && (this->actionFunc == EnKusa_WaitForInteract) &&
if ((play->roomCtx.curRoom.unk3 == 0) && (this->actionFunc == EnKusa_WaitForInteract) &&
(this->actor.projectedPos.z > -150.0f) && (this->actor.projectedPos.z < 400.0f)) {
EnKusa_ApplySway(&D_80936AD8[this->kusaMtxIdx]);
}
@@ -724,7 +723,7 @@ void EnKusa_DrawGrass(Actor* thisx, PlayState* play) {
if (this->isCut) {
Gfx_DrawDListOpa(play, gKusaStump);
} else {
if ((play->roomCtx.currRoom.unk3 == 0) && (this->actionFunc == EnKusa_WaitForInteract)) {
if ((play->roomCtx.curRoom.unk3 == 0) && (this->actionFunc == EnKusa_WaitForInteract)) {
if ((this->actor.projectedPos.z > -150.0f) && (this->actor.projectedPos.z < 400.0f)) {
EnKusa_ApplySway(&D_80936AD8[this->kusaMtxIdx]);
}
@@ -1033,7 +1033,7 @@ void func_80A5D9C8(EnKusa2* this, PlayState* play) {
D_80A5EAFC.z = Math_SinS(D_80A5EB04.z) * 1000.0f;
if (Actor_HasNoParent(&this->actor, play)) {
this->actor.room = play->roomCtx.currRoom.num;
this->actor.room = play->roomCtx.curRoom.num;
this->actor.colChkInfo.mass = 80;
this->actor.home.rot.y = this->actor.world.rot.y;
this->actor.velocity.y = 12.5f;
@@ -1289,7 +1289,7 @@ void func_80A5E604(Actor* thisx, PlayState* play) {
} else {
this->actor.draw = func_80A5E6F0;
if (play->roomCtx.currRoom.unk3 == 0) {
if (play->roomCtx.curRoom.unk3 == 0) {
func_80A5B508();
}
func_80A5CAF4(&D_80A5F1C0);
@@ -1352,7 +1352,7 @@ void EnKusa2_Draw(Actor* thisx, PlayState* play) {
EnKusa2* this = THIS;
if (this->actor.projectedPos.z <= 1200.0f) {
if ((play->roomCtx.currRoom.unk3 == 0) && (this->actor.projectedPos.z > -150.0f) &&
if ((play->roomCtx.curRoom.unk3 == 0) && (this->actor.projectedPos.z > -150.0f) &&
(this->actor.projectedPos.z < 400.0f)) {
func_80A5B954(&D_80A60908[this->unk_1CE], 0.0015f);
}
+11 -11
View File
@@ -674,7 +674,7 @@ void EnMa4_HorsebackGameCheckPlayerInteractions(EnMa4* this, PlayState* play) {
// "You're feeling confident"
Message_StartTextbox(play, 0x336E, &this->actor);
this->actionFunc = EnMa4_HorsebackGameTalking;
} else if ((gSaveContext.unk_3DE0[4] < 115 * 100)) { // timer < 115 seconds
} else if (gSaveContext.timerCurTimes[TIMER_ID_MINIGAME_2] < SECONDS_TO_TIMER(115)) {
func_800B8614(&this->actor, play, 100.0f);
}
}
@@ -689,7 +689,7 @@ void EnMa4_InitHorsebackGame(EnMa4* this, PlayState* play) {
Player* player = GET_PLAYER(play);
play->interfaceCtx.unk_280 = 1;
func_8010E9F0(4, 0);
Interface_StartTimer(TIMER_ID_MINIGAME_2, 0);
gSaveContext.save.weekEventReg[8] |= 1;
func_80112AFC(play);
player->stateFlags1 |= 0x20;
@@ -717,9 +717,9 @@ void EnMa4_HorsebackGameWait(EnMa4* this, PlayState* play) {
play->interfaceCtx.unk_25C = 1;
}
if ((gSaveContext.unk_3DE0[4] >= 2 * 60 * 100) // timer >= 2 minutes
|| (this->poppedBalloonCounter == 10)) {
gSaveContext.unk_3DD0[4] = 6;
if ((gSaveContext.timerCurTimes[TIMER_ID_MINIGAME_2] >= SECONDS_TO_TIMER(120)) ||
(this->poppedBalloonCounter == 10)) {
gSaveContext.timerStates[TIMER_ID_MINIGAME_2] = TIMER_STATE_6;
EnMa4_SetupHorsebackGameEnd(this, play);
D_80AC0258 = 0;
}
@@ -898,13 +898,13 @@ void EnMa4_StartDialogue(EnMa4* this, PlayState* play) {
gSaveContext.save.weekEventReg[21] |= 0x40;
}
} else if (this->state == MA4_STATE_AFTERHORSEBACKGAME) {
if (gSaveContext.unk_3DE0[4] >= 2 * 60 * 100) {
if (gSaveContext.timerCurTimes[TIMER_ID_MINIGAME_2] >= SECONDS_TO_TIMER(120)) {
// "Too bad Grasshopper"
EnMa4_SetFaceExpression(this, 0, 0);
Message_StartTextbox(play, 0x336D, &this->actor);
this->textId = 0x336D;
} else {
time = gSaveContext.unk_3DE0[4];
time = gSaveContext.timerCurTimes[TIMER_ID_MINIGAME_2];
if ((s32)time < (s32)gSaveContext.save.horseBackBalloonHighScore) {
// [Score] New record!
gSaveContext.save.horseBackBalloonHighScore = time;
@@ -943,12 +943,12 @@ void EnMa4_StartDialogue(EnMa4* this, PlayState* play) {
Message_StartTextbox(play, 0x3354, &this->actor);
this->textId = 0x3354;
} else if (this->state == MA4_STATE_AFTERHORSEBACKGAME) {
if (gSaveContext.unk_3DE0[4] >= 2 * 60 * 100) {
if (gSaveContext.timerCurTimes[TIMER_ID_MINIGAME_2] >= SECONDS_TO_TIMER(120)) {
// "Try again?"
Message_StartTextbox(play, 0x3356, &this->actor);
this->textId = 0x3356;
} else {
time = gSaveContext.unk_3DE0[4];
time = gSaveContext.timerCurTimes[TIMER_ID_MINIGAME_2];
if ((s32)time < (s32)gSaveContext.save.horseBackBalloonHighScore) {
gSaveContext.save.horseBackBalloonHighScore = time;
EnMa4_SetFaceExpression(this, 0, 3);
@@ -970,12 +970,12 @@ void EnMa4_StartDialogue(EnMa4* this, PlayState* play) {
Message_StartTextbox(play, 0x3358, &this->actor);
this->textId = 0x3358;
} else if (this->state == MA4_STATE_AFTERHORSEBACKGAME) {
if (gSaveContext.unk_3DE0[4] >= 2 * 60 * 100) {
if (gSaveContext.timerCurTimes[TIMER_ID_MINIGAME_2] >= SECONDS_TO_TIMER(120)) {
// "Try again?"
Message_StartTextbox(play, 0x3356, &this->actor);
this->textId = 0x3356;
} else {
time = gSaveContext.unk_3DE0[4];
time = gSaveContext.timerCurTimes[TIMER_ID_MINIGAME_2];
if ((s32)time < (s32)gSaveContext.save.horseBackBalloonHighScore) {
// New record
gSaveContext.save.horseBackBalloonHighScore = time;
+2 -2
View File
@@ -135,7 +135,7 @@ void EnMag_Init(Actor* thisx, PlayState* play) {
this->unk11F02 = 30;
this->unk11F00 = this->state = MAG_STATE_INITIAL;
if (gSaveContext.unk_3F1E != 0) {
if (gSaveContext.hudVisibilityForceButtonAlphasByStatus) {
this->mainTitleAlpha = 210;
this->unk11F32 = 255;
this->copyrightAlpha = 255;
@@ -158,7 +158,7 @@ void EnMag_Init(Actor* thisx, PlayState* play) {
this->displayEffectEnvColor[1] = 255;
this->displayEffectEnvColor[2] = 155;
gSaveContext.unk_3F1E = 0;
gSaveContext.hudVisibilityForceButtonAlphasByStatus = false;
this->state = MAG_STATE_FADE_IN_MASK;
sInputDelayTimer = 20;
gSaveContext.transFadeDuration = 1;
+1 -1
View File
@@ -120,7 +120,7 @@ void EnMk_Destroy(Actor* thisx, PlayState* play) {
}
s32 func_80959524(PlayState* play) {
return gSaveContext.save.permanentSceneFlags[play->sceneNum].unk_14 & 7;
return gSaveContext.save.permanentSceneFlags[play->sceneId].unk_14 & 7;
}
void func_8095954C(EnMk* this, PlayState* play) {

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