1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-07-16 04:44:44 +00:00

Merge branch 'main' into meta_new_assets_2025

This commit is contained in:
Dragorn421 2025-02-16 23:03:51 +01:00
commit 7b503e9e8c
No known key found for this signature in database
GPG key ID: 381AEBAF3D429335
673 changed files with 4740 additions and 1898 deletions

View file

@ -937,6 +937,7 @@ endif
# Incremental link to move z_message and z_game_over data into rodata
$(BUILD_DIR)/src/code/z_message_z_game_over.o: $(BUILD_DIR)/src/code/z_message.o $(BUILD_DIR)/src/code/z_game_over.o
$(LD) -r -G 0 -T linker_scripts/data_with_rodata.ld -o $@ $^
$(PYTHON) tools/patch_data_with_rodata_mdebug.py $@
$(BUILD_DIR)/dmadata_table_spec.h $(BUILD_DIR)/compress_ranges.txt: $(BUILD_DIR)/spec
$(MKDMADATA) $< $(BUILD_DIR)/dmadata_table_spec.h $(BUILD_DIR)/compress_ranges.txt
@ -971,6 +972,7 @@ ifneq ($(RUN_CC_CHECK),0)
endif
$(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $(@:.o=.tmp) $<
$(LD) -r -T linker_scripts/data_with_rodata.ld -o $@ $(@:.o=.tmp)
$(PYTHON) tools/patch_data_with_rodata_mdebug.py $@
@$(OBJDUMP) $(OBJDUMP_FLAGS) $@ > $(@:.o=.s)
ifeq ($(PLATFORM),IQUE)
@ -1160,6 +1162,7 @@ ifneq ($(RUN_CC_CHECK),0)
endif
$(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $(@:.o=.tmp) $<
$(LD) -r -T linker_scripts/data_with_rodata.ld $(@:.o=.tmp) -o $@
$(PYTHON) tools/patch_data_with_rodata_mdebug.py $@
@$(RM) $(@:.o=.tmp)
$(BUILD_DIR)/assets/audio/sequence_font_table.o: $(BUILD_DIR)/assets/audio/sequence_font_table.s

View file

@ -5,5 +5,6 @@
<Animation Name="gArmosHopAnim" Offset="0x238"/>
<Animation Name="gArmosDamagedAnim" Offset="0x5B3C"/>
<Collision Name="gArmosCol" Offset="0x118"/>
<DList Name="gArmosUnusedDL" Offset="0x7A8"/>
</File>
</Root>

View file

@ -51,6 +51,8 @@
<Texture Name="gRoofManEarTex" OutName="roof_man_ear" Format="ci8" Width="16" Height="16" Offset="0x01318" TlutOffset="0x1088"/>
<Texture Name="gRoofManHairTex" OutName="roof_man_hair" Format="ci8" Width="16" Height="16" Offset="0x01418" TlutOffset="0x1088"/>
<!-- Kakariko Roof Man Unused Textures -->
<Texture Name="gRoofManUnusedTex" OutName="roof_man_unused" Format="ci8" Width="16" Height="16" Offset="0x308" TlutOffset="0x00108"/>
<!-- Kakariko Roof Man Eye Textures -->
<Texture Name="gRoofManEyeOpenTex" OutName="roof_man_eye_open" Format="rgba16" Width="32" Height="32" Offset="0x408"/>

View file

@ -5,7 +5,9 @@
<CurveAnimation Name="gTreasureChestCurveAnim_4F70" SkelOffset="0x5EB8" Offset="0x4F70"/>
<Animation Name="gTreasureChestAnim_000128" Offset="0x128"/>
<Animation Name="gTreasureChestAnim_00024C" Offset="0x24C"/>
<Blob Name="object_box_zeroes_Blob_00025C" Size="0xF4" Offset="0x025C"/>
<Animation Name="gTreasureChestAnim_00043C" Offset="0x43C"/>
<Blob Name="object_box_zeroes_Blob_00044C" Size="0x64" Offset="0x044C"/>
<DList Name="gTreasureChestChestFrontDL" Offset="0x6F0"/>
<Texture Name="gTreasureChestFrontTex" OutName="chest_front" Format="rgba16" Width="32" Height="64" Offset="0x1798"/>
@ -19,11 +21,7 @@
<DList Name="gTreasureChestBossKeyChestSideAndTopDL" Offset="0x1678"/>
<Texture Name="gTreasureChestBossKeySideAndTopTex" OutName="boss_key_side_and_top" Format="rgba16" Width="32" Height="32" Offset="0x2F98"/>
<Skeleton Name="gTreasureChestSkel" Type="Normal" LimbType="Standard" Offset="0x47D8"/>
<Skeleton Name="gTreasureChestSkel" Type="Flex" LimbType="Standard" Offset="0x47D8"/>
<Collision Name="gTreasureChestCol" Offset="0x5FC8"/>
<!--Large Unaccounted-->
<Blob Name="gBoxBlob_00025C" Size="0xF4" Offset="0x025C"/>
<Blob Name="gBoxBlob_00044C" Size="0x64" Offset="0x044C"/>
</File>
</Root>

View file

@ -7,7 +7,7 @@
<Skeleton Name="gBarinadeSupportSkel" Type="Flex" LimbType="Standard" Offset="0x16098"/>
<Skeleton Name="gBarinadeZapperSkel" Type="Flex" LimbType="Standard" Offset="0x185A0"/>
<Skeleton Name="gBarinadeStumpSkel" Type="Flex" LimbType="Standard" Offset="0x17470"/>
<Skeleton Name="gBarinadeBariSkel" Type="Normal" LimbType="Standard" Offset="0x3A70"/>
<Skeleton Name="gBarinadeBariSkel" Type="Flex" LimbType="Standard" Offset="0x3A70"/>
<Skeleton Name="gBarinadeCutSupportSkel" Type="Flex" LimbType="Standard" Offset="0x16BC8"/>
<Animation Name="gBarinadeBodyAnim" Offset="0x3D84"/> <!-- Body anim 1-->

View file

@ -7,7 +7,7 @@
<Skeleton Name="gBarinadeSupportSkel" Type="Flex" LimbType="Standard" Offset="0x17498"/>
<Skeleton Name="gBarinadeZapperSkel" Type="Flex" LimbType="Standard" Offset="0x199A0"/>
<Skeleton Name="gBarinadeStumpSkel" Type="Flex" LimbType="Standard" Offset="0x18870"/>
<Skeleton Name="gBarinadeBariSkel" Type="Normal" LimbType="Standard" Offset="0x4E70"/>
<Skeleton Name="gBarinadeBariSkel" Type="Flex" LimbType="Standard" Offset="0x4E70"/>
<Skeleton Name="gBarinadeCutSupportSkel" Type="Flex" LimbType="Standard" Offset="0x17FC8"/>
<Animation Name="gBarinadeBodyAnim" Offset="0x5184"/> <!-- Body anim 1-->

View file

@ -12,6 +12,6 @@
<DList Name="object_door_killer_DL_001550" Offset="0x1550"/>
<DList Name="object_door_killer_DL_0017B8" Offset="0x17B8"/>
<DList Name="object_door_killer_DL_001A58" Offset="0x1A58"/>
<Skeleton Name="object_door_killer_Skel_001BC8" Type="Flex" LimbType="Standard" Offset="0x1BC8"/>
<Skeleton Name="object_door_killer_Skel_001BC8" Type="Flex" LimbType="LOD" Offset="0x1BC8"/>
</File>
</Root>

View file

@ -3,10 +3,25 @@
<File Name="object_gi_medal" Segment="6">
<DList Name="gGiForestMedallionFaceDL" Offset="0x0CB0"/>
<DList Name="gGiMedallionDL" Offset="0x0E18"/>
<Array Name="gGiFireMedallionUnusedVtx" Count="148" Offset="0x11B0">
<Vtx/>
</Array>
<DList Name="gGiFireMedallionFaceDL" Offset="0x1AF0"/>
<Array Name="gGiWaterMedallionUnusedVtx" Count="143" Offset="0x1F40">
<Vtx/>
</Array>
<DList Name="gGiWaterMedallionFaceDL" Offset="0x2830"/>
<Array Name="gGiSpiritMedallionUnusedVtx" Count="143" Offset="0x2D20">
<Vtx/>
</Array>
<DList Name="gGiSpiritMedallionFaceDL" Offset="0x3610"/>
<Array Name="gGiShadowMedallionUnusedVtx" Count="143" Offset="0x3A40">
<Vtx/>
</Array>
<DList Name="gGiShadowMedallionFaceDL" Offset="0x4330"/>
<Array Name="gGiLightMedallionUnusedVtx" Count="143" Offset="0x4930">
<Vtx/>
</Array>
<DList Name="gGiLightMedallionFaceDL" Offset="0x5220"/>
</File>
</Root>

View file

@ -1,7 +1,7 @@
<Root>
<File Name="object_hintnuts" Segment="6">
<!-- Deku scrub skeleton -->
<Skeleton Name="gHintNutsSkel" Type="Normal" LimbType="Standard" Offset="0x23B8"/>
<Skeleton Name="gHintNutsSkel" Type="Flex" LimbType="Standard" Offset="0x23B8"/>
<!-- Deku Scrub animations -->
<Animation Name="gHintNutsSpitAnim" Offset="0x168"/>

View file

@ -1,8 +1,8 @@
<Root>
<File Name="object_ik" Segment="6">
<Skeleton Name="object_ik_Skel_000380" Type="Normal" LimbType="Standard" Offset="0x380"/>
<Skeleton Name="object_ik_Skel_000660" Type="Normal" LimbType="Standard" Offset="0x660"/>
<Skeleton Name="object_ik_Skel_000C90" Type="Normal" LimbType="Standard" Offset="0xC90"/>
<Skeleton Name="object_ik_Skel_000380" Type="Flex" LimbType="Standard" Offset="0x380"/>
<Skeleton Name="object_ik_Skel_000660" Type="Flex" LimbType="Standard" Offset="0x660"/>
<Skeleton Name="object_ik_Skel_000C90" Type="Flex" LimbType="Standard" Offset="0xC90"/>
<Skeleton Name="object_ik_Skel_000900" Type="Flex" LimbType="Standard" Offset="0x900"/>
<Skeleton Name="object_ik_Skel_000F30" Type="Flex" LimbType="Standard" Offset="0xF30"/>
@ -29,7 +29,10 @@
<Animation Name="gIronKnuckleNabooruSummonAxeAnim" Offset="0xC114"/>
<Animation Name="gIronKnuckleStandUpAnim" Offset="0xCD70"/>
<Animation Name="object_ik_Anim_00DD50" Offset="0xDD50"/>
<Animation Name="gIronKnuckleUnused1Anim" Offset="0xE28C"/>
<Animation Name="gIronKnuckleWalkAnim" Offset="0xED24"/>
<Animation Name="gIronKnuckleUnused2Anim" Offset="0xF620"/>
<Animation Name="gIronKnuckleUnused3Anim" Offset="0x1E820"/>
<Animation Name="object_ik_Anim_01EB14" Offset="0x1EB14"/>
<Animation Name="object_ik_Anim_01EE34" Offset="0x1EE34"/>
<Animation Name="gIronKnuckleNabooruDeathAnim" Offset="0x203D8"/>

View file

@ -101,7 +101,15 @@
<Animation Name="object_kingdodongo_Anim_01CAE0" Offset="0x1B6E0"/>
<Animation Name="object_kingdodongo_Anim_01D218" Offset="0x1BE18"/>
<Animation Name="object_kingdodongo_Anim_01D934" Offset="0x1C534"/>
<DList Name="object_kingdodongo_DL_01D950" Offset="0x1C550"/><!--Blob Name="object_kingdodongo_Blob_01D9F0" Size="0x8000" Offset="0x1C5F0" /-->
<DList Name="object_kingdodongo_DL_01D950" Offset="0x1C550"/>
<Texture Name="object_kingdodongo_Tex_01D9F0" OutName="tex_0001D9F0" Format="ia8" Width="64" Height="64" Offset="0x1C5F0"/>
<Texture Name="object_kingdodongo_Tex_01E9F0" OutName="tex_0001E9F0" Format="ia8" Width="64" Height="64" Offset="0x1D5F0"/>
<Texture Name="object_kingdodongo_Tex_01F9F0" OutName="tex_0001F9F0" Format="ia8" Width="64" Height="64" Offset="0x1E5F0"/>
<Texture Name="object_kingdodongo_Tex_0209F0" OutName="tex_000209F0" Format="ia8" Width="64" Height="64" Offset="0x1F5F0"/>
<Texture Name="object_kingdodongo_Tex_0219F0" OutName="tex_000219F0" Format="ia8" Width="64" Height="64" Offset="0x205F0"/>
<Texture Name="object_kingdodongo_Tex_0229F0" OutName="tex_000229F0" Format="ia8" Width="64" Height="64" Offset="0x215F0"/>
<Texture Name="object_kingdodongo_Tex_0239F0" OutName="tex_000239F0" Format="ia8" Width="64" Height="64" Offset="0x225F0"/>
<Texture Name="object_kingdodongo_Tex_0249F0" OutName="tex_000249F0" Format="ia8" Width="64" Height="64" Offset="0x235F0"/>
<DList Name="object_kingdodongo_DL_0259F0" Offset="0x245F0"/>
<DList Name="object_kingdodongo_DL_025A90" Offset="0x24690"/>
<Collision Name="object_kingdodongo_Col_025B64" Offset="0x24764"/>

View file

@ -101,7 +101,15 @@
<Animation Name="object_kingdodongo_Anim_01CAE0" Offset="0x1CAE0"/>
<Animation Name="object_kingdodongo_Anim_01D218" Offset="0x1D218"/>
<Animation Name="object_kingdodongo_Anim_01D934" Offset="0x1D934"/>
<DList Name="object_kingdodongo_DL_01D950" Offset="0x1D950"/><!--Blob Name="object_kingdodongo_Blob_01D9F0" Size="0x8000" Offset="0x1D9F0" /-->
<DList Name="object_kingdodongo_DL_01D950" Offset="0x1D950"/>
<Texture Name="object_kingdodongo_Tex_01D9F0" OutName="tex_0001D9F0" Format="ia8" Width="64" Height="64" Offset="0x1D9F0"/>
<Texture Name="object_kingdodongo_Tex_01E9F0" OutName="tex_0001E9F0" Format="ia8" Width="64" Height="64" Offset="0x1E9F0"/>
<Texture Name="object_kingdodongo_Tex_01F9F0" OutName="tex_0001F9F0" Format="ia8" Width="64" Height="64" Offset="0x1F9F0"/>
<Texture Name="object_kingdodongo_Tex_0209F0" OutName="tex_000209F0" Format="ia8" Width="64" Height="64" Offset="0x209F0"/>
<Texture Name="object_kingdodongo_Tex_0219F0" OutName="tex_000219F0" Format="ia8" Width="64" Height="64" Offset="0x219F0"/>
<Texture Name="object_kingdodongo_Tex_0229F0" OutName="tex_000229F0" Format="ia8" Width="64" Height="64" Offset="0x229F0"/>
<Texture Name="object_kingdodongo_Tex_0239F0" OutName="tex_000239F0" Format="ia8" Width="64" Height="64" Offset="0x239F0"/>
<Texture Name="object_kingdodongo_Tex_0249F0" OutName="tex_000249F0" Format="ia8" Width="64" Height="64" Offset="0x249F0"/>
<DList Name="object_kingdodongo_DL_0259F0" Offset="0x259F0"/>
<DList Name="object_kingdodongo_DL_025A90" Offset="0x25A90"/>
<Collision Name="object_kingdodongo_Col_025B64" Offset="0x25B64"/>

View file

@ -1,12 +1,11 @@
<Root>
<File Name="object_lightbox" Segment="6">
<Blob Name="object_lightbox_Blob_000000" Size="0x8" Offset="0x0"/>
<DList Name="object_lightbox_DL_000008" Offset="0x8"/>
<Blob Name="object_lightbox_Blob_0002A0" Size="0x130" Offset="0x2A0"/>
<DList Name="object_lightbox_DL_000000" Offset="0x0"/>
<Collision Name="object_lightbox_Col_0003A0" Offset="0x3A0"/>
<DList Name="object_lightbox_DL_0003D0" Offset="0x3D0"/>
<Blob Name="object_lightbox_Blob_000670" Size="0x130" Offset="0x670"/>
<Collision Name="object_lightbox_Col_000770" Offset="0x770"/>
<DList Name="object_lightbox_DL_0007A0" Offset="0x7A0"/>
<Blob Name="object_lightbox_Blob_000A40" Size="0x130" Offset="0xA40"/>
<Collision Name="object_lightbox_Col_000B40" Offset="0xB40"/>
<DList Name="object_lightbox_DL_000B70" Offset="0xB70"/>
<Texture Name="object_lightbox_Tex_000E10" OutName="tex_00000E10" Format="rgba16" Width="32" Height="32" Offset="0xE10"/>
<Texture Name="object_lightbox_Tex_001610" OutName="tex_00001610" Format="rgba16" Width="32" Height="32" Offset="0x1610"/>

View file

@ -124,6 +124,8 @@
<Texture Name="gLinkChildNoseTex" OutName="nose" Format="ci8" Width="16" Height="16" Offset="0x5000" TlutOffset="0x5500"/>
<Texture Name="gLinkChildUnusedHandTex" OutName="unused_hand" Format="ci8" Width="16" Height="16" Offset="0x5100" TlutOffset="0x5500"/>
<Texture Name="gLinkChildEarTex" OutName="ear" Format="ci8" Width="16" Height="16" Offset="0x5200" TlutOffset="0x5500"/>
<Texture Name="gLinkChildUnused1Tex" OutName="unused_1" Format="ci8" Width="16" Height="16" Offset="0x5900" TlutOffset="0x5700"/>
<Texture Name="gLinkChildUnused2Tex" OutName="unused_2" Format="ci8" Width="32" Height="16" Offset="0x5A00" TlutOffset="0x5300"/>
<Texture Name="gLinkChildLowerBootTex" OutName="lower_boot" Format="ci8" Width="32" Height="32" Offset="0x5C00" TlutOffset="0x5300"/>
<Texture Name="gLinkChildBootTex" OutName="boot" Format="ci8" Width="32" Height="32" Offset="0x6000" TlutOffset="0x5300"/>
<Texture Name="gLinkChildWaistTex" OutName="waist" Format="i8" Width="32" Height="32" Offset="0x6400"/>
@ -175,11 +177,12 @@
<Texture Name="gLinkChildBunnyHoodEarTex" OutName="bunny_hood_ear" Format="rgba16" Width="16" Height="32" Offset="0x2C028"/>
<!--TLUTs-->
<Texture Name="gLinkChildBeltTLUT" OutName="belt_tlut" Format="rgba16" Width="16" Height="16" Offset="0x5300"/>
<Texture Name="gLinkChildSkinTLUT" OutName="skin_tlut" Format="rgba16" Width="16" Height="16" Offset="0x5500"/>
<Texture Name="gLinkChildUnusedTLUT" OutName="unused_tlut" Format="rgba16" Width="16" Height="16" Offset="0x5700"/>
<Texture Name="gLinkChildHandTLUT" OutName="hand_tlut" Format="rgba16" Width="17" Height="4" Offset="0x9E88"/>
<Texture Name="gLinkChildSwordsTLUT" OutName="swords_tlut" Format="rgba16" Width="16" Height="16" Offset="0x9F10"/> <!--For both the kokiri sword sheath and master sword-->
<Texture Name="gLinkChildSwordTLUT" OutName="sword_tlut" Format="rgba16" Width="27" Height="4" Offset="0xA118"/>
<Texture Name="gLinkChildBeltTLUT" OutName="belt_tlut" Format="rgba16" Width="16" Height="16" Offset="0x5300"/>
<!--Eyes-->
<Texture Name="gLinkChildEyesOpenTex" OutName="eyes_open" Format="ci8" Width="64" Height="32" Offset="0x0000" TlutOffset="0x5500"/>

View file

@ -7,7 +7,7 @@
<DList Name="object_medal_DL_001200" Offset="0x1200"/>
<DList Name="object_medal_DL_0016E0" Offset="0x16E0"/>
<DList Name="object_medal_DL_001BC0" Offset="0x1BC0"/>
<Blob Name="object_medal_Blob_001D40" Size="0x400" Offset="0x1D40"/>
<Texture Name="object_medal_Tex_001D40" OutName="tex_00001D40" Format="ia8" Width="32" Height="32" Offset="0x1D40"/>
<Texture Name="object_medal_Tex_002140" OutName="tex_00002140" Format="rgba16" Width="32" Height="32" Offset="0x2140"/>
<Texture Name="object_medal_Tex_002940" OutName="tex_00002940" Format="rgba16" Width="32" Height="32" Offset="0x2940"/>
<Texture Name="object_medal_Tex_003140" OutName="tex_00003140" Format="rgba16" Width="32" Height="32" Offset="0x3140"/>

View file

@ -1,7 +1,6 @@
<Root>
<File Name="object_oA3" Segment="6">
<Blob Name="object_oA3_Blob_00000000" Size="0x8" Offset="0x0"/>
<DList Name="object_oA3_DL_00000008" Offset="0x8"/>
<DList Name="object_oA3_DL_00000000" Offset="0x0"/>
<Texture Name="object_oA3_Tex_000012F0" OutName="tex_000012F0" Format="rgba16" Width="32" Height="32" Offset="0x12F0"/>
<Texture Name="object_oA3_Tex_00001AF0" OutName="tex_00001AF0" Format="rgba16" Width="16" Height="16" Offset="0x1AF0"/>
<Texture Name="object_oA3_Tex_00001CF0" OutName="tex_00001CF0" Format="rgba16" Width="16" Height="16" Offset="0x1CF0"/>

View file

@ -56,7 +56,8 @@
<DList Name="object_oE1_DL_004738" Offset="0x4738"/>
<Texture Name="object_oE1_TLUT_004808" OutName="tlut_00004808" Format="rgba16" Width="16" Height="16" Offset="0x4808"/>
<Texture Name="object_oE1_Tex_004A08" OutName="tex_00004A08" Format="ci8" Width="32" Height="32" Offset="0x4A08" TlutOffset="0x4808"/>
<Blob Name="object_oE1_Blob_004E08" Size="0x800" Offset="0x4E08"/>
<Texture Name="object_oE1_Tex_004E08" OutName="tex_00004E08" Format="ci8" Width="32" Height="32" Offset="0x4E08" TlutOffset="0x4808"/>
<Texture Name="object_oE1_Tex_005208" OutName="tex_00005208" Format="ci8" Width="32" Height="32" Offset="0x5208" TlutOffset="0x4808"/>
<Texture Name="object_oE1_TLUT_005608" OutName="tlut_00005608" Format="rgba16" Width="16" Height="16" Offset="0x5608"/>
<Texture Name="object_oE1_Tex_005808" OutName="tex_00005808" Format="ci8" Width="8" Height="8" Offset="0x5808" TlutOffset="0x5608"/>
<Texture Name="object_oE1_Tex_005848" OutName="tex_00005848" Format="ci8" Width="16" Height="16" Offset="0x5848" TlutOffset="0x5608"/>

View file

@ -3,7 +3,8 @@
<DList Name="object_oE11_DL_0009F0" Offset="0x9F0"/>
<Texture Name="object_oE11_TLUT_000F70" OutName="tlut_00000F70" Format="rgba16" Width="16" Height="16" Offset="0xF70"/>
<Texture Name="object_oE11_Tex_001170" OutName="tex_00001170" Format="ci8" Width="32" Height="32" Offset="0x1170" TlutOffset="0xF70"/>
<Blob Name="object_oE11_Blob_001570" Size="0x800" Offset="0x1570"/>
<Texture Name="object_oE11_Tex_001570" OutName="tex_00001570" Format="ci8" Width="32" Height="32" Offset="0x1570" TlutOffset="0xF70"/>
<Texture Name="object_oE11_Tex_001970" OutName="tex_00001970" Format="ci8" Width="32" Height="32" Offset="0x1970" TlutOffset="0xF70"/>
<Texture Name="object_oE11_TLUT_001D70" OutName="tlut_00001D70" Format="rgba16" Width="16" Height="16" Offset="0x1D70"/>
<Texture Name="object_oE11_Tex_001F70" OutName="tex_00001F70" Format="ci8" Width="8" Height="8" Offset="0x1F70" TlutOffset="0x1D70"/>
<Texture Name="object_oE11_Tex_001FB0" OutName="tex_00001FB0" Format="ci8" Width="16" Height="16" Offset="0x1FB0" TlutOffset="0x1D70"/>

View file

@ -3,7 +3,8 @@
<DList Name="object_oE12_DL_001020" Offset="0x1020"/>
<Texture Name="object_oE12_TLUT_001600" OutName="tlut_00001600" Format="rgba16" Width="16" Height="16" Offset="0x1600"/>
<Texture Name="object_oE12_Tex_001800" OutName="tex_00001800" Format="ci8" Width="32" Height="32" Offset="0x1800" TlutOffset="0x1600"/>
<Blob Name="object_oE12_Blob_001C00" Size="0x800" Offset="0x1C00"/>
<Texture Name="object_oE12_Tex_001C00" OutName="tex_00001C00" Format="ci8" Width="32" Height="32" Offset="0x1C00" TlutOffset="0x1600"/>
<Texture Name="object_oE12_Tex_002000" OutName="tex_00002000" Format="ci8" Width="32" Height="32" Offset="0x2000" TlutOffset="0x1600"/>
<Texture Name="object_oE12_Tex_002400" OutName="tex_00002400" Format="rgba16" Width="8" Height="8" Offset="0x2400"/>
<Texture Name="object_oE12_Tex_002480" OutName="tex_00002480" Format="rgba16" Width="32" Height="16" Offset="0x2480"/>
<Texture Name="object_oE12_Tex_002880" OutName="tex_00002880" Format="rgba16" Width="8" Height="16" Offset="0x2880"/>

View file

@ -56,7 +56,8 @@
<DList Name="object_oE2_DL_003AB0" Offset="0x3AB0"/>
<Texture Name="object_oE2_TLUT_003C70" OutName="tlut_00003C70" Format="rgba16" Width="16" Height="16" Offset="0x3C70"/>
<Texture Name="object_oE2_Tex_003E70" OutName="tex_00003E70" Format="ci8" Width="32" Height="32" Offset="0x3E70" TlutOffset="0x3C70"/>
<Blob Name="object_oE2_Blob_004270" Size="0x800" Offset="0x4270"/>
<Texture Name="object_oE2_Tex_004270" OutName="tex_00004270" Format="ci8" Width="32" Height="32" Offset="0x4270" TlutOffset="0x3C70"/>
<Texture Name="object_oE2_Tex_004670" OutName="tex_00004670" Format="ci8" Width="32" Height="32" Offset="0x4670" TlutOffset="0x3C70"/>
<Texture Name="object_oE2_TLUT_004A70" OutName="tlut_00004A70" Format="rgba16" Width="16" Height="16" Offset="0x4A70"/>
<Texture Name="object_oE2_Tex_004C70" OutName="tex_00004C70" Format="ci8" Width="32" Height="32" Offset="0x4C70" TlutOffset="0x4A70"/>
<Texture Name="object_oE2_Tex_005070" OutName="tex_00005070" Format="ci8" Width="16" Height="16" Offset="0x5070" TlutOffset="0x4A70"/>

View file

@ -56,13 +56,14 @@
<DList Name="object_oE3_DL_004D70" Offset="0x4D70"/>
<Texture Name="object_oE3_TLUT_004F20" OutName="tlut_00004F20" Format="rgba16" Width="16" Height="16" Offset="0x4F20"/>
<Texture Name="object_oE3_Tex_005120" OutName="tex_00005120" Format="ci8" Width="32" Height="32" Offset="0x5120" TlutOffset="0x4F20"/>
<Blob Name="object_oE3_Blob_005520" Size="0x800" Offset="0x5520"/>
<Texture Name="object_oE3_Tex_005520" OutName="tex_00005520" Format="ci8" Width="32" Height="32" Offset="0x5520" TlutOffset="0x4F20"/>
<Texture Name="object_oE3_Tex_005920" OutName="tex_00005920" Format="ci8" Width="32" Height="32" Offset="0x5920" TlutOffset="0x4F20"/>
<Texture Name="object_oE3_TLUT_005D20" OutName="tlut_00005D20" Format="rgba16" Width="16" Height="16" Offset="0x5D20"/>
<Texture Name="object_oE3_Tex_005F20" OutName="tex_00005F20" Format="ci8" Width="8" Height="8" Offset="0x5F20" TlutOffset="0x5D20"/>
<Blob Name="object_oE3_Blob_005F60" Size="0x200" Offset="0x5F60"/>
<Texture Name="object_oE3_Tex_005F60" OutName="tex_00005F60" Format="ci8" Width="32" Height="16" Offset="0x5F60" TlutOffset="0x5D20"/>
<Texture Name="object_oE3_Tex_006160" OutName="tex_00006160" Format="ci8" Width="16" Height="16" Offset="0x6160" TlutOffset="0x5D20"/>
<Texture Name="object_oE3_Tex_006260" OutName="tex_00006260" Format="ci8" Width="16" Height="16" Offset="0x6260" TlutOffset="0x5D20"/>
<Blob Name="object_oE3_Blob_006360" Size="0x200" Offset="0x6360"/>
<Texture Name="object_oE3_Tex_006360" OutName="tex_00006360" Format="ci8" Width="32" Height="16" Offset="0x6360" TlutOffset="0x5D20"/>
<Texture Name="object_oE3_Tex_006560" OutName="tex_00006560" Format="rgba16" Width="8" Height="16" Offset="0x6560"/>
<Texture Name="object_oE3_Tex_006660" OutName="tex_00006660" Format="rgba16" Width="32" Height="32" Offset="0x6660"/>
<Texture Name="object_oE3_Tex_006E60" OutName="tex_00006E60" Format="i4" Width="16" Height="8" Offset="0x6E60"/>

View file

@ -52,9 +52,9 @@
<Texture Name="object_oE5_Tex_003A40" OutName="tex_00003A40" Format="ci8" Width="32" Height="32" Offset="0x3A40" TlutOffset="0x3440"/>
<Texture Name="object_oE5_Tex_003E40" OutName="tex_00003E40" Format="ci8" Width="32" Height="32" Offset="0x3E40" TlutOffset="0x3440"/>
<Texture Name="object_oE5_TLUT_004240" OutName="tlut_00004240" Format="rgba16" Width="16" Height="16" Offset="0x4240"/>
<Texture Name="object_oE5_Tex_004440" OutName="tex_00004440" Format="ci8" Width="8" Height="8" Offset="0x4440" TlutOffset="0x4240"/>
<Texture Name="object_oE5_Tex_004480" OutName="tex_00004480" Format="ci8" Width="16" Height="16" Offset="0x4480" TlutOffset="0x4240"/>
<Texture Name="object_oE5_Tex_004580" OutName="tex_00004580" Format="ci8" Width="16" Height="16" Offset="0x4580" TlutOffset="0x4240"/>
<Texture Name="object_oE5_Tex_004440" OutName="tex_00004440" Format="ci8" Width="8" Height="8" Offset="0x4440" TlutOffset="0x4240"/>
<Texture Name="object_oE5_Tex_004480" OutName="tex_00004480" Format="ci8" Width="16" Height="16" Offset="0x4480" TlutOffset="0x4240"/>
<Texture Name="object_oE5_Tex_004580" OutName="tex_00004580" Format="ci8" Width="16" Height="16" Offset="0x4580" TlutOffset="0x4240"/>
<Texture Name="object_oE5_Tex_004680" OutName="tex_00004680" Format="rgba16" Width="32" Height="16" Offset="0x4680"/>
<Texture Name="object_oE5_Tex_004A80" OutName="tex_00004A80" Format="rgba16" Width="8" Height="16" Offset="0x4A80"/>
<Texture Name="object_oE5_Tex_004B80" OutName="tex_00004B80" Format="i4" Width="16" Height="8" Offset="0x4B80"/>

View file

@ -3,7 +3,8 @@
<DList Name="object_oE6_DL_000AE0" Offset="0xAE0"/>
<Texture Name="object_oE6_TLUT_000FD0" OutName="tlut_00000FD0" Format="rgba16" Width="16" Height="16" Offset="0xFD0"/>
<Texture Name="object_oE6_Tex_0011D0" OutName="tex_000011D0" Format="ci8" Width="32" Height="32" Offset="0x11D0" TlutOffset="0xFD0"/>
<Blob Name="object_oE6_Blob_0015D0" Size="0x800" Offset="0x15D0"/>
<Texture Name="object_oE6_Tex_0015D0" OutName="tex_000015D0" Format="ci8" Width="32" Height="32" Offset="0x15D0" TlutOffset="0xFD0"/>
<Texture Name="object_oE6_Tex_0019D0" OutName="tex_000019D0" Format="ci8" Width="32" Height="32" Offset="0x19D0" TlutOffset="0xFD0"/>
<Texture Name="object_oE6_TLUT_001DD0" OutName="tlut_00001DD0" Format="rgba16" Width="16" Height="16" Offset="0x1DD0"/>
<Texture Name="object_oE6_Tex_001FD0" OutName="tex_00001FD0" Format="ci8" Width="8" Height="8" Offset="0x1FD0" TlutOffset="0x1DD0"/>
<Texture Name="object_oE6_Tex_002010" OutName="tex_00002010" Format="ci8" Width="16" Height="16" Offset="0x2010" TlutOffset="0x1DD0"/>

View file

@ -7,7 +7,8 @@
<Texture Name="object_oE7_Tex_001158" OutName="tex_00001158" Format="ci8" Width="16" Height="16" Offset="0x1158" TlutOffset="0xB18"/>
<Texture Name="object_oE7_TLUT_001258" OutName="tlut_00001258" Format="rgba16" Width="16" Height="16" Offset="0x1258"/>
<Texture Name="object_oE7_Tex_001458" OutName="tex_00001458" Format="ci8" Width="32" Height="32" Offset="0x1458" TlutOffset="0x1258"/>
<Blob Name="object_oE7_Blob_001858" Size="0x800" Offset="0x1858"/>
<Texture Name="object_oE7_Tex_001858" OutName="tex_00001858" Format="ci8" Width="32" Height="32" Offset="0x1858" TlutOffset="0x1258"/>
<Texture Name="object_oE7_Tex_001C58" OutName="tex_00001C58" Format="ci8" Width="32" Height="32" Offset="0x1C58" TlutOffset="0x1258"/>
<Texture Name="object_oE7_Tex_002058" OutName="tex_00002058" Format="rgba16" Width="32" Height="32" Offset="0x2058"/>
<Texture Name="object_oE7_Tex_002858" OutName="tex_00002858" Format="rgba16" Width="16" Height="16" Offset="0x2858"/>
</File>

View file

@ -3,7 +3,8 @@
<DList Name="object_oE8_DL_000CA0" Offset="0xCA0"/>
<Texture Name="object_oE8_TLUT_001248" OutName="tlut_00001248" Format="rgba16" Width="16" Height="16" Offset="0x1248"/>
<Texture Name="object_oE8_Tex_001448" OutName="tex_00001448" Format="ci8" Width="32" Height="32" Offset="0x1448" TlutOffset="0x1248"/>
<Blob Name="object_oE8_Blob_001848" Size="0x800" Offset="0x1848"/>
<Texture Name="object_oE8_Tex_001848" OutName="tex_00001848" Format="ci8" Width="32" Height="32" Offset="0x1848" TlutOffset="0x1248"/>
<Texture Name="object_oE8_Tex_001C48" OutName="tex_00001C48" Format="ci8" Width="32" Height="32" Offset="0x1C48" TlutOffset="0x1248"/>
<Texture Name="object_oE8_TLUT_002048" OutName="tlut_00002048" Format="rgba16" Width="16" Height="16" Offset="0x2048"/>
<Texture Name="object_oE8_Tex_002248" OutName="tex_00002248" Format="ci8" Width="8" Height="8" Offset="0x2248" TlutOffset="0x2048"/>
<Texture Name="object_oE8_Tex_002288" OutName="tex_00002288" Format="ci8" Width="16" Height="16" Offset="0x2288" TlutOffset="0x2048"/>

View file

@ -3,7 +3,8 @@
<DList Name="object_oE9_DL_000800" Offset="0x800"/>
<Texture Name="object_oE9_TLUT_000C90" OutName="tlut_00000C90" Format="rgba16" Width="16" Height="16" Offset="0xC90"/>
<Texture Name="object_oE9_Tex_000E90" OutName="tex_00000E90" Format="ci8" Width="32" Height="32" Offset="0xE90" TlutOffset="0xC90"/>
<Blob Name="object_oE9_Blob_001290" Size="0x800" Offset="0x1290"/>
<Texture Name="object_oE9_Tex_001290" OutName="tex_00001290" Format="ci8" Width="32" Height="32" Offset="0x1290" TlutOffset="0xC90"/>
<Texture Name="object_oE9_Tex_001690" OutName="tex_00001690" Format="ci8" Width="32" Height="32" Offset="0x1690" TlutOffset="0xC90"/>
<Texture Name="object_oE9_TLUT_001A90" OutName="tlut_00001A90" Format="rgba16" Width="16" Height="16" Offset="0x1A90"/>
<Texture Name="object_oE9_Tex_001C90" OutName="tex_00001C90" Format="ci8" Width="8" Height="8" Offset="0x1C90" TlutOffset="0x1A90"/>
<Texture Name="object_oE9_Tex_001CD0" OutName="tex_00001CD0" Format="ci8" Width="16" Height="16" Offset="0x1CD0" TlutOffset="0x1A90"/>

View file

@ -1,6 +1,9 @@
<Root>
<File Name="object_ossan" Segment="6">
<Animation Name="gObjectOssanAnim_000338" Offset="0x338"/>
<Array Name="gObjectOssanUnusedVtx" Count="97" Offset="0x350">
<Vtx/>
</Array>
<Texture Name="gOssanEyesTLUT" OutName="ossan_eyes_tlut" Format="rgba16" Width="63" Height="4" Offset="0x4530"/>
<Texture Name="gOssanTLUT" OutName="ossan_tlut" Format="rgba16" Width="168" Height="1" Offset="0x4728"/>
<Texture Name="gOssanEyeOpenTex" OutName="eye_open" Format="ci8" Width="32" Height="32" Offset="0x4878" TlutOffset="0x4530"/>

View file

@ -12,8 +12,6 @@
<DList Name="object_rl_DL_002F20" Offset="0x2F20"/>
<DList Name="object_rl_DL_003058" Offset="0x3058"/>
<Texture Name="object_rl_TLUT_0032A0" OutName="tlut_000032A0" Format="rgba16" Width="160" Height="1" Offset="0x32A0"/>
<!--Blob Name="object_rl_Blob_0034A0" Size="0x80" Offset="0x34A0" /-->
<Texture Name="object_rl_Tex_003520" OutName="tex_00003520" Format="ci8" Width="16" Height="16" Offset="0x3520" TlutOffset="0x32A0"/>
<Texture Name="object_rl_Tex_003620" OutName="tex_00003620" Format="ci8" Width="32" Height="16" Offset="0x3620" TlutOffset="0x32A0"/>
<Texture Name="object_rl_Tex_003820" OutName="tex_00003820" Format="ci8" Width="16" Height="16" Offset="0x3820" TlutOffset="0x32A0"/>
@ -22,13 +20,12 @@
<Texture Name="object_rl_Tex_003B60" OutName="tex_00003B60" Format="ci8" Width="32" Height="16" Offset="0x3B60" TlutOffset="0x32A0"/>
<Texture Name="object_rl_Tex_003D60" OutName="tex_00003D60" Format="ci8" Width="8" Height="8" Offset="0x3D60" TlutOffset="0x32A0"/>
<Texture Name="object_rl_Tex_003DA0" OutName="tex_00003DA0" Format="ci8" Width="16" Height="16" Offset="0x3DA0" TlutOffset="0x32A0"/>
<DList Name="object_rl_DL_005220" Offset="0x5220"/>
<Texture Name="object_rl_TLUT_006318" OutName="tlut_00006318" Format="rgba16" Width="16" Height="16" Offset="0x6318"/>
<Texture Name="object_rl_Tex_006518" OutName="tex_00006518" Format="ci8" Width="16" Height="16" Offset="0x6518" TlutOffset="0x6318"/>
<Texture Name="object_rl_Tex_006618" OutName="tex_00006618" Format="ci8" Width="8" Height="8" Offset="0x6618" TlutOffset="0x6318"/>
<Texture Name="object_rl_Tex_006658" OutName="tex_00006658" Format="ci8" Width="16" Height="16" Offset="0x6658" TlutOffset="0x6318"/>
<Blob Name="object_rl_Blob_006758" Size="0x40" Offset="0x6758"/>
<Texture Name="object_rl_Tex_006758" OutName="tex_00006758" Format="ci8" Width="8" Height="8" Offset="0x6758" TlutOffset="0x6318"/>
<Texture Name="object_rl_Tex_006798" OutName="tex_00006798" Format="ci8" Width="32" Height="32" Offset="0x6798" TlutOffset="0x6318"/>
<Texture Name="object_rl_Tex_006B98" OutName="tex_00006B98" Format="ci8" Width="32" Height="32" Offset="0x6B98" TlutOffset="0x6318"/>
<Texture Name="object_rl_Tex_006F98" OutName="tex_00006F98" Format="ci8" Width="16" Height="32" Offset="0x6F98" TlutOffset="0x6318"/>

View file

@ -66,7 +66,7 @@
<DList Name="gSariaLeftShinDL" Offset="0xAC20"/>
<DList Name="gSariaLeftFootDL" Offset="0xAEE0"/>
<Texture Name="gSariaClothesTLUT" OutName="clothes_tlut" Format="rgba16" Width="18" Height="6" Offset="0x21F0"/>
<Texture Name="gSariaClothesTLUT" OutName="clothes_tlut" Format="rgba16" Width="16" Height="16" Offset="0x21F0"/>
<Texture Name="gSariaMouthTLUT" OutName="mouth_tlut" Format="rgba16" Width="29" Height="8" Offset="0x2CF8"/>
<Texture Name="gSariaEyeTLUT" OutName="eye_tlut" Format="rgba16" Width="63" Height="4" Offset="0x2B00"/>
<Texture Name="gSariaSkinTLUT" OutName="skin_tlut" Format="rgba16" Width="8" Height="9" Offset="0x2A70"/>

View file

@ -5,8 +5,9 @@
<Animation Name="object_sb_Anim_0000B4" Offset="0xB4"/>
<Animation Name="object_sb_Anim_000124" Offset="0x124"/>
<Animation Name="object_sb_Anim_000194" Offset="0x194"/>
<Blob Name="object_sb_Blob_0001A4" Size="0x49C" Offset="0x1A4"/>
<Blob Name="object_sb_Blob_000840" Size="0x3C0" Offset="0x840"/>
<Array Name="object_sb_Vtx_0001B0" Count="189" Offset="0x1B0">
<Vtx/>
</Array>
<DList Name="object_sb_DL_000D80" Offset="0xD80"/>
<DList Name="object_sb_DL_000E70" Offset="0xE70"/>
<Texture Name="object_sb_Tex_001020" OutName="tex_00001020" Format="rgba16" Width="32" Height="32" Offset="0x1020"/>

View file

@ -55,10 +55,15 @@
<Texture Name="gStalchildEyeTex" OutName="stalchild_eye" Format="rgba16" Width="8" Height="8" Offset="0x2120"/>
<!-- Stalchild animations -->
<Animation Name="gStalchildUncurlingAnim" Offset="0x1854"/>
<Animation Name="gStalchildDyingAnim" Offset="0x9DC"/>
<Animation Name="gStalchildDamagedAnim" Offset="0xD98"/>
<Animation Name="gStalchildWalkingAnim" Offset="0x47E0"/>
<Animation Name="gStalchildAttackingAnim" Offset="0x460"/>
<Blob Name="object_skb_zeroes_Blob_470" Size="0x20" Offset="0x470"/>
<Animation Name="gStalchildDyingAnim" Offset="0x9DC"/>
<Blob Name="object_skb_zeroes_Blob_9EC" Size="0x24" Offset="0x9EC"/>
<Animation Name="gStalchildDamagedAnim" Offset="0xD98"/>
<Blob Name="object_skb_zeroes_Blob_DA8" Size="0x18" Offset="0xDA8"/>
<Animation Name="gStalchildUncurlingAnim" Offset="0x1854"/>
<Blob Name="object_skb_zeroes_Blob_1864" Size="0x3C" Offset="0x1864"/>
<Animation Name="gStalchildWalkingAnim" Offset="0x47E0"/>
<Blob Name="object_skb_zeroes_Blob_47F0" Size="0x20" Offset="0x47F0"/>
</File>
</Root>

View file

@ -41,27 +41,25 @@
<DList Name="gSkullKidRightArmDL" Offset="0x4810"/>
<Animation Name="gSkullKidBackflipAnim" Offset="0x051C"/>
<Blob Name="object_skj_zeroes_Blob_52C" Size="0x24" Offset="0x52C"/>
<Animation Name="gSkullKidShootNeedleAnim" Offset="0x07A4"/>
<Animation Name="gSkullKidPlayFluteAnim" Offset="0x0E10"/>
<Blob Name="object_skj_zeroes_Blob_E20" Size="0x30" Offset="0xE20"/>
<Animation Name="gSkullKidDieAnim" Offset="0x6A98"/>
<Blob Name="object_skj_zeroes_Blob_EAA8" Size="0x48" Offset="0x6AA8"/>
<Animation Name="gSkullKidHitAnim" Offset="0x6D84"/>
<Blob Name="object_skj_zeroes_Blob_ED94" Size="0x1C" Offset="0x6D94"/>
<Animation Name="gSkullKidLandAnim" Offset="0x7128"/>
<Blob Name="object_skj_zeroes_Blob_7138" Size="0x18" Offset="0x7138"/>
<Animation Name="gSkullKidLookLeftAndRightAnim" Offset="0x8174"/>
<Blob Name="object_skj_zeroes_Blob_8184" Size="0x6C" Offset="0x8184"/>
<Animation Name="gSkullKidFightingStanceAnim" Offset="0x8374"/>
<Blob Name="object_skj_zeroes_Blob_8BAC" Size="0x54" Offset="0x8BAC"/>
<Animation Name="gSkullKidWaitAnim" Offset="0x8B9C"/>
<Animation Name="gSkullKidWalkToPlayerAnim" Offset="0x8E14"/>
<Texture Name="gSkullKidSkullMaskTex" OutName="skull_mask" Format="rgba16" Width="16" Height="16" Offset="0xF08"/>
<Texture Name="gSkullKidSkullMaskTeethTex" OutName="skull_mask_teeth" Format="rgba16" Width="8" Height="8" Offset="0x1108"/>
<Texture Name="gSkullKidSkullMaskNoseTex" OutName="skull_mask_nose" Format="rgba16" Width="8" Height="8" Offset="0x1188"/>
<!--Unaccounted blocks larger than the padding of a file-->
<Blob Name="gSKJunaccounted_52C" Size="0x24" Offset="0x52C"/>
<Blob Name="gSKJunaccounted_E20" Size="0x30" Offset="0xE20"/>
<Blob Name="gSKJunaccounted_EAA8" Size="0x48" Offset="0x6AA8"/>
<Blob Name="gSKJunaccounted_ED94" Size="0x1C" Offset="0x6D94"/>
<Blob Name="gSKJunaccounted_7138" Size="0x18" Offset="0x7138"/>
<Blob Name="gSKJunaccounted_8184" Size="0x6C" Offset="0x8184"/>
<Blob Name="gSKJunaccounted_8BAC" Size="0x54" Offset="0x8BAC"/>
</File>
</Root>

View file

@ -3,7 +3,6 @@
<Texture Name="object_spot02_objects_Tex_000000" OutName="tex_00000000" Format="i8" Width="32" Height="64" Offset="0x0"/>
<Texture Name="object_spot02_objects_Tex_000800" OutName="tex_00000800" Format="i8" Width="32" Height="64" Offset="0x800"/>
<DList Name="object_spot02_objects_DL_0013F0" Offset="0x13F0"/>
<Blob Name="object_spot02_objects_Blob_0015D8" Size="0x0008" Offset="0x15D8"/>
<DList Name="object_spot02_objects_DL_009620" Offset="0x9620"/>
<DList Name="object_spot02_objects_DL_0126F0" Offset="0x126F0"/>
<DList Name="object_spot02_objects_DL_0127C0" Offset="0x127C0"/>

View file

@ -23,7 +23,9 @@
<Texture Name="object_st_Tex_0024D0" OutName="tex_000024D0" Format="rgba16" Width="16" Height="8" Offset="0x24D0"/>
<Texture Name="object_st_Tex_0025D0" OutName="tex_000025D0" Format="i4" Width="16" Height="16" Offset="0x25D0"/>
<Texture Name="object_st_Tex_002650" OutName="tex_00002650" Format="rgba16" Width="8" Height="8" Offset="0x2650"/>
<Blob Name="object_st_Blob_003C50" Size="0x360" Offset="0x3C50"/>
<Array Name="object_st_Vtx_0026D0" Count="398" Offset="0x26D0">
<Vtx/>
</Array>
<DList Name="object_st_DL_003FB0" Offset="0x3FB0"/>
<DList Name="object_st_DL_0043D8" Offset="0x43D8"/>
<DList Name="object_st_DL_0045C0" Offset="0x45C0"/>

View file

@ -66,7 +66,6 @@
<Texture Name="gTalonNecklaceStringUpperTex" OutName="necklace_string_upper" Format="ci8" Width="16" Height="32" Offset="0xADB8" TlutOffset="0xA638"/>
<Texture Name="gTalonBowserTex" OutName="bowser" Format="rgba16" Width="16" Height="32" Offset="0xAFB8"/>
<Texture Name="gTalonNecklaceLowerStringsTex" OutName="necklace_string_lower" Format="rgba16" Width="8" Height="16" Offset="0xB3B8"/>
<Blob Name="object_ta_Blob_00B4B8" Size="0x200" Offset="0xB4B8"/>
<Texture Name="gTalonUnusedTex" OutName="unused" Format="rgba16" Width="16" Height="16" Offset="0xB4B8"/>
</File>
</Root>

View file

@ -8,7 +8,8 @@
<Texture Name="gDampeEyeOpenTex" OutName="dampe_eye_open" Format="rgba16" Width="32" Height="32" Offset="0x3B40"/>
<Texture Name="gDampeEyeHalfTex" OutName="dampe_eye_half_open" Format="rgba16" Width="32" Height="32" Offset="0x4340"/>
<Texture Name="gDampeEyeClosedTex" OutName="dampe_eye_closed" Format="rgba16" Width="32" Height="32" Offset="0x4B40"/>
<Texture Name="gDampeUnkTex" OutName="dampe_unk" Format="ci8" Width="16" Height="16" Offset="0x5540" TlutOffset="0x3780"/>
<Texture Name="gDampeUnused1Tex" OutName="dampe_unused_1" Format="ci8" Width="16" Height="16" Offset="0x5540" TlutOffset="0x3780"/>
<Texture Name="gDampeUnused2Tex" OutName="dampe_unused_2" Format="ci8" Width="8" Height="16" Offset="0x5640" TlutOffset="0x3780"/>
<DList Name="gDampeShovelDL" Offset="0xACE0"/>
<DList Name="gDampeLanternDL" Offset="0xB838"/>
<DList Name="gDampeHaloDL" Offset="0xBBA0"/>

View file

@ -13,7 +13,8 @@
<Texture Name="object_toki_objects_Tex_003DC0" OutName="tex_003DC0" Format="rgba16" Width="32" Height="32" Offset="0x3DC0"/>
<Texture Name="object_toki_objects_Tex_0045C0" OutName="tex_0045C0" Format="i4" Width="64" Height="128" Offset="0x45C0"/>
<Texture Name="object_toki_objects_Tex_0055C0" OutName="tex_0055C0" Format="rgba16" Width="32" Height="64" Offset="0x55C0"/>
<Blob Name="object_toki_objects_Blob_0065C0" Size="0xA00" Offset="0x65C0"/>
<Texture Name="object_toki_objects_Tex_0065C0" OutName="tex_0065C0" Format="rgba16" Width="16" Height="16" Offset="0x65C0"/>
<Texture Name="object_toki_objects_Tex_0067C0" OutName="tex_0067C0" Format="rgba16" Width="32" Height="32" Offset="0x67C0"/>
<Texture Name="object_toki_objects_Tex_006FC0" OutName="tex_006FC0" Format="rgba16" Width="16" Height="16" Offset="0x6FC0"/>
<DList Name="object_toki_objects_DL_007440" Offset="0x7440"/> <!-- Door of Time left -->
<DList Name="object_toki_objects_DL_007578" Offset="0x7578"/> <!-- Door of Time right -->

View file

@ -9,7 +9,9 @@
<Animation Name="gKotakeKoumeFlyAnim" Offset="0x49C8"/>
<Animation Name="gKotakeKoumeStandingBroomOverRightShoulderUnusedAnim" Offset="0x5308"/> <!-- Very similar to gKotakeKoumeStandingBroomOverRightShoulderAnim but not quite a duplicate -->
<Blob Name="object_tr_Blob_0062E0" Size="0x60" Offset="0x62E0"/>
<Array Name="gKotakeVtx" Count="288" Offset="0x5320">
<Vtx/>
</Array>
<DList Name="gKotakePelvisDL" Offset="0x6520"/>
<DList Name="gKotakeTorsoDL" Offset="0x66A0"/>
@ -97,7 +99,9 @@
<Animation Name="gKotakeKoumeTPoseAnim" Offset="0xC60C"/>
<Blob Name="object_tr_Blob_00D5E0" Size="0x60" Offset="0xD5E0"/>
<Array Name="gKoumeVtx" Count="288" Offset="0xC620">
<Vtx/>
</Array>
<DList Name="gKoumePelvisDL" Offset="0xD820"/>
<DList Name="gKoumeTorsoDL" Offset="0xD9A0"/>

View file

@ -106,9 +106,11 @@
<DList Name="gTwinrovaKotakeFireBroomHeadDL" Offset="0x14070"/>
<DList Name="gTwinrovaKotakeFireBroomHeadOuterDL" Offset="0x14158"/>
<Blob Name="object_tw_Blob_015200" Size="0x60" Offset="0x15200"/>
<!-- Kotake DLs -->
<Array Name="gTwinrovaKotakeVtx" Count="288" Offset="0x14240">
<Vtx/>
</Array>
<DList Name="gTwinrovaKotakeLeftBraidEndDL" Offset="0x15440"/>
<DList Name="gTwinrovaKotakeLeftBraidStartDL" Offset="0x15538"/>
<DList Name="gTwinrovaKotakeRightBraidEndDL" Offset="0x15648"/>
@ -130,9 +132,11 @@
<Texture Name="gTwinrovaBraidEndTex" OutName="twinrova_braid_end" Format="rgba16" Width="8" Height="8" Offset="0x16650"/>
<Texture Name="gTwinrovaLeftFootTex" OutName="twinrova_left_foot" Format="rgba16" Width="4" Height="8" Offset="0x166D0"/>
<Blob Name="object_tw_Blob_0176D0" Size="0x60" Offset="0x176D0"/>
<!-- Koume DLs -->
<Array Name="gTwinrovaKoumeVtx" Count="288" Offset="0x16710">
<Vtx/>
</Array>
<DList Name="gTwinrovaKoumeLeftBraidEndDL" Offset="0x17910"/>
<DList Name="gTwinrovaKoumeLeftBraidStartDL" Offset="0x17A08"/>
<DList Name="gTwinrovaKoumeRightBraidEndDL" Offset="0x17B18"/>

View file

@ -122,6 +122,7 @@
<Animation Name="gWolfosSidesteppingAnim" Offset="0x98C8"/>
<Blob Name="object_wf_zeroes_Blob_0098D8" Size="0x18" Offset="0x98D8"/>
<Animation Name="gWolfosDamagedAnim" Offset="0x9B20"/>
<Blob Name="object_wf_zeroes_Blob_009B30" Size="0x10" Offset="0x9B30"/>
<Animation Name="gWolfosWaitingAnim" Offset="0xA4AC"/>
<Blob Name="object_wf_zeroes_Blob_00A4BC" Size="0x44" Offset="0xA4BC"/>
</File>

View file

@ -20,7 +20,7 @@
<Texture Name="object_wood02_Tex_006F90" OutName="tex_00006F90" Format="ia8" Width="32" Height="64" Offset="0x6F90"/>
<DList Name="object_wood02_DL_0078D0" Offset="0x78D0"/>
<DList Name="object_wood02_DL_007968" Offset="0x7968"/>
<Blob Name="object_wood02_Blob_007A00" Size="0xA0" Offset="0x7A00"/>
<Collision Name="object_wood02_Col_007A70" Offset="0x7A70"/>
<DList Name="object_wood02_DL_007AD0" Offset="0x7AD0"/>
<DList Name="object_wood02_DL_007CA0" Offset="0x7CA0"/>
<DList Name="object_wood02_DL_007D38" Offset="0x7D38"/>

View file

@ -1,5 +1,6 @@
<Root>
<File Name="tokinoma_scene" Segment="2">
<Cutscene Name="gTempleOfTimeUnusedCs" Offset="0x280"/>
<Cutscene Name="gTempleOfTimeFirstAdultCs" Offset="0x46F0"/>
<Cutscene Name="gTempleOfTimePreludeCs" Offset="0x6D20"/>
<Cutscene Name="gTempleOfTimeIntroCs" Offset="0xCE00"/>
@ -12,7 +13,6 @@
<Cutscene Name="gTempleOfTimeSongOfTimeCs" Offset="0x61C0"/>
<Cutscene Name="gTempleOfTimeSheikRevealStartCs" Offset="0x84E0"/>
<Cutscene Name="gTempleOfTimeDoorOpeningUnusedCs" Offset="0x3330"/>
<Scene Name="tokinoma_scene" Offset="0x0"/>
</File>
<File Name="tokinoma_room_0" Segment="3">

View file

@ -1,5 +1,6 @@
<Root>
<File Name="tokinoma_scene" Segment="2">
<Cutscene Name="gTempleOfTimeUnusedCs" Offset="0x280"/>
<Cutscene Name="gTempleOfTimeFirstAdultCs" Offset="0x4700"/>
<Cutscene Name="gTempleOfTimePreludeCs" Offset="0x6D34"/>
<Cutscene Name="gTempleOfTimeIntroCs" Offset="0xCE20"/>

View file

@ -1,5 +1,6 @@
<Root>
<File Name="spot20_scene" Segment="2">
<Cutscene Name="gLonLonRanchUnusedCs" Offset="0x320"/>
<Cutscene Name="gLonLonRanchIntroCs" Offset="0x5B70"/>
<Cutscene Name="gLonLonRanchRaceIntroCs" Offset="0x2980"/>
<Cutscene Name="gLonLonRanchEponasSongCs" Offset="0x2B40"/>

View file

@ -1,5 +1,6 @@
<Root>
<File Name="spot20_scene" Segment="2">
<Cutscene Name="gLonLonRanchUnusedCs" Offset="0x320"/>
<Cutscene Name="gLonLonRanchIntroCs" Offset="0x5BD0"/>
<Cutscene Name="gLonLonRanchRaceIntroCs" Offset="0x2980"/>
<Cutscene Name="gLonLonRanchEponasSongCs" Offset="0x2B40"/>

View file

@ -3,7 +3,7 @@
#include "ultra64.h"
#include "attributes.h"
#include "padmgr.h"
#include "libu64/pad.h"
#if !PLATFORM_N64
// These are the same as the 3-bit ansi color codes

View file

@ -49,7 +49,6 @@ void* MemCpy(void* dest, const void* src, s32 len);
u16 QuestHint_GetSariaTextId(PlayState* play);
u16 QuestHint_GetNaviTextId(PlayState* play);
u16 MaskReaction_GetTextId(PlayState* play, u32 maskReactionSet);
void CutsceneFlags_UnsetAll(PlayState* play);
void CutsceneFlags_Set(PlayState* play, s16 flag);
void CutsceneFlags_Unset(PlayState* play, s16 flag);
@ -78,10 +77,6 @@ void PreNmiBuff_SetReset(PreNmiBuff* this);
u32 PreNmiBuff_IsResetting(PreNmiBuff* this);
void Sched_FlushTaskQueue(void);
Path* Path_GetByIndex(PlayState* play, s16 index, s16 max);
f32 Path_OrientAndGetDistSq(Actor* actor, Path* path, s16 waypoint, s16* yaw);
void Path_CopyLastPoint(Path* path, Vec3f* dest);
void PreNMI_Init(GameState* thisx);
void func_80095AA0(PlayState* play, Room* room, Input* input, s32 arg3);
@ -96,21 +91,6 @@ void Room_FinishRoomChange(PlayState* play, RoomContext* roomCtx);
void Sample_Destroy(GameState* thisx);
void Sample_Init(GameState* thisx);
void Skin_UpdateVertices(MtxF* mtx, SkinVertex* skinVertices, SkinLimbModif* modifEntry, Vtx* vtxBuf, Vec3f* pos);
void Skin_DrawAnimatedLimb(GraphicsContext* gfxCtx, Skin* skin, s32 limbIndex, s32 arg3, s32 drawFlags);
void Skin_DrawLimb(GraphicsContext* gfxCtx, Skin* skin, s32 limbIndex, Gfx* dlistOverride, s32 drawFlags);
void func_800A6330(Actor* actor, PlayState* play, Skin* skin, SkinPostDraw postDraw, s32 setTranslation);
void func_800A6360(Actor* actor, PlayState* play, Skin* skin, SkinPostDraw postDraw,
SkinOverrideLimbDraw overrideLimbDraw, s32 setTranslation);
void func_800A6394(Actor* actor, PlayState* play, Skin* skin, SkinPostDraw postDraw,
SkinOverrideLimbDraw overrideLimbDraw, s32 setTranslation, s32 arg6);
void func_800A63CC(Actor* actor, PlayState* play, Skin* skin, SkinPostDraw postDraw,
SkinOverrideLimbDraw overrideLimbDraw, s32 setTranslation, s32 arg6, s32 drawFlags);
void Skin_GetLimbPos(Skin* skin, s32 limbIndex, Vec3f* offset, Vec3f* dst);
void Skin_Init(PlayState* play, Skin* skin, SkeletonHeader* skeletonHeader, AnimationHeader* animationHeader);
void Skin_Free(PlayState* play, Skin* skin);
s32 Skin_ApplyAnimTransformations(Skin* skin, MtxF* limbMatrices, Actor* actor, s32 setTranslation);
void Sram_InitNewSave(void);
void Sram_InitDebugSave(void);
void Sram_OpenSave(SramContext* sramCtx);
@ -197,19 +177,7 @@ void func_800C213C(PreRender* this, Gfx** gfxP);
void PreRender_RestoreFramebuffer(PreRender* this, Gfx** gfxP);
void PreRender_CopyImageRegion(PreRender* this, Gfx** gfxP);
void PreRender_ApplyFilters(PreRender* this);
void GameState_SetFBFilter(Gfx** gfxP);
void GameState_Draw(GameState* gameState, GraphicsContext* gfxCtx);
void GameState_SetFrameBuffer(GraphicsContext* gfxCtx);
void GameState_ReqPadData(GameState* gameState);
void GameState_Update(GameState* gameState);
void GameState_InitArena(GameState* gameState, size_t size);
void GameState_Realloc(GameState* gameState, size_t size);
void GameState_Init(GameState* gameState, GameStateFunc init, GraphicsContext* gfxCtx);
void GameState_Destroy(GameState* gameState);
GameStateFunc GameState_GetInit(GameState* gameState);
u32 GameState_IsRunning(GameState* gameState);
#if DEBUG_FEATURES
void* GameState_Alloc(GameState* gameState, size_t size, const char* file, int line);
void* GameAlloc_MallocDebug(GameAlloc* this, u32 size, const char* file, int line);
#endif
void* GameAlloc_Malloc(GameAlloc* this, u32 size);
@ -233,10 +201,6 @@ void SysCfb_Init(s32 n64dd);
void* SysCfb_GetFbPtr(s32 idx);
void* SysCfb_GetFbEnd(void);
u64* SysUcode_GetUCodeBoot(void);
size_t SysUcode_GetUCodeBootSize(void);
u64* SysUcode_GetUCode(void);
u64* SysUcode_GetUCodeData(void);
NORETURN void func_800D31A0(void);
void func_800D31F0(void);
void func_800D3210(void);
@ -262,8 +226,6 @@ void DebugArena_Display(void);
void RcpUtils_PrintRegisterStatus(void);
void RcpUtils_Reset(void);
void* Overlay_AllocateAndLoad(uintptr_t vromStart, uintptr_t vromEnd, void* vramStart, void* vramEnd);
void MtxConv_F2L(Mtx* m1, MtxF* m2);
void MtxConv_L2F(MtxF* m1, Mtx* m2);
void Overlay_Relocate(void* allocatedRamAddr, OverlayRelocationSection* ovlRelocs, void* vramStart);
size_t Overlay_Load(uintptr_t vromStart, uintptr_t vromEnd, void* vramStart, void* vramEnd, void* allocatedRamAddr);
// ? func_800FC800(?);

View file

@ -0,0 +1,9 @@
#ifndef LIBU64_MTXUTY_CVT_H
#define LIBU64_MTXUTY_CVT_H
#include "ultra64.h"
void MtxConv_F2L(Mtx* m1, MtxF* m2);
void MtxConv_L2F(MtxF* m1, Mtx* m2);
#endif

View file

@ -4,6 +4,9 @@
#include "terminal.h"
#include "versions.h"
#define SCREEN_WIDTH 320
#define SCREEN_HEIGHT 240
#ifndef AVOID_UB
#define BAD_RETURN(type) type
#else
@ -116,7 +119,6 @@
#define DMA_REQUEST_SYNC(ram, vrom, size, file, line) DmaMgr_RequestSyncDebug(ram, vrom, size, file, line)
#define DMA_REQUEST_ASYNC(req, ram, vrom, size, unk5, queue, msg, file, line) DmaMgr_RequestAsyncDebug(req, ram, vrom, size, unk5, queue, msg, file, line)
#define GAME_STATE_ALLOC(gameState, size, file, line) GameState_Alloc(gameState, size, file, line)
#define DEBUG_ARENA_MALLOC(size, file, line) DebugArena_MallocDebug(size, file, line)
#define DEBUG_ARENA_MALLOC_R(size, file, line) DebugArena_MallocRDebug(size, file, line)
#define DEBUG_ARENA_FREE(size, file, line) DebugArena_FreeDebug(size, file, line)
@ -131,7 +133,6 @@
#define DMA_REQUEST_SYNC(ram, vrom, size, file, line) DmaMgr_RequestSync(ram, vrom, size)
#define DMA_REQUEST_ASYNC(req, ram, vrom, size, unk5, queue, msg, file, line) DmaMgr_RequestAsync(req, ram, vrom, size, unk5, queue, msg)
#define GAME_STATE_ALLOC(gameState, size, file, line) THA_AllocTailAlign16(&(gameState)->tha, size)
#define DEBUG_ARENA_MALLOC(size, file, line) DebugArena_Malloc(size)
#define DEBUG_ARENA_MALLOC_R(size, file, line) DebugArena_MallocR(size)
#define DEBUG_ARENA_FREE(size, file, line) DebugArena_Free(size)

11
include/sys_ucode.h Normal file
View file

@ -0,0 +1,11 @@
#ifndef SYS_UCODE_H
#define SYS_UCODE_H
#include "ultra64.h"
u64* SysUcode_GetUCodeBoot(void);
size_t SysUcode_GetUCodeBootSize(void);
u64* SysUcode_GetUCode(void);
u64* SysUcode_GetUCodeData(void);
#endif

View file

@ -68,7 +68,6 @@ extern u32 __osBaseCounter;
extern u32 __osViIntrCount;
extern u32 __osTimerCounter;
extern EffectSsOverlay gEffectSsOverlayTable[EFFECT_SS_TYPE_MAX];
extern Gfx D_80116280[];
extern ActorOverlay gActorOverlayTable[ACTOR_ID_MAX]; // original name: "actor_dlftbls" 801162A0
extern s32 gMaxActorId; // original name: "MaxProfile"
extern s32 gDebugCamEnabled;

View file

@ -32,7 +32,6 @@
#include "z64math.h"
#include "z64map_mark.h"
#include "z64message.h"
#include "z64olib.h"
#include "one_point_cutscene.h"
#include "z64pause.h"
#include "z64play.h"
@ -88,36 +87,6 @@
#include "libc64/sprintf.h"
#include "libu64/debug.h"
#define SCREEN_WIDTH 320
#define SCREEN_HEIGHT 240
#define THREAD_PRI_IDLE_INIT 10
#define THREAD_PRI_MAIN_INIT 10
#define THREAD_PRI_DMAMGR_LOW 10 // Used when decompressing files
#define THREAD_PRI_GRAPH 11
#define THREAD_PRI_AUDIOMGR 12
#define THREAD_PRI_N64DD 13
#define THREAD_PRI_DDMSG 13
#define THREAD_PRI_PADMGR 14
#define THREAD_PRI_MAIN 15
#define THREAD_PRI_SCHED 15
#define THREAD_PRI_DMAMGR 16
#define THREAD_PRI_IRQMGR 17
#define THREAD_PRI_FAULT_CLIENT (OS_PRIORITY_APPMAX - 1)
#define THREAD_PRI_FAULT OS_PRIORITY_APPMAX
#define THREAD_ID_IDLE 1
#define THREAD_ID_FAULT 2
#define THREAD_ID_MAIN 3
#define THREAD_ID_GRAPH 4
#define THREAD_ID_SCHED 5
#define THREAD_ID_PADMGR 7
#define THREAD_ID_N64DD 8
#define THREAD_ID_DDMSG 9
#define THREAD_ID_AUDIOMGR 10
#define THREAD_ID_DMAMGR 18
#define THREAD_ID_IRQMGR 19
typedef enum LensMode {
/* 0 */ LENS_MODE_SHOW_ACTORS, // lens actors are invisible by default, and shown by using lens (for example, invisible enemies)
/* 1 */ LENS_MODE_HIDE_ACTORS // lens actors are visible by default, and hidden by using lens (for example, fake walls)

View file

@ -732,6 +732,8 @@ typedef struct NpcInteractInfo {
#define TRANSITION_ACTOR_PARAMS_INDEX_SHIFT 10
#define GET_TRANSITION_ACTOR_INDEX(actor) PARAMS_GET_NOMASK((u16)(actor)->params, 10)
extern Gfx D_80116280[];
void ActorShape_Init(ActorShape* shape, f32 yOffset, ActorShadowFunc shadowDraw, f32 shadowScale);
void ActorShadow_DrawCircle(Actor* actor, struct Lights* lights, struct PlayState* play);
void ActorShadow_DrawWhiteCircle(Actor* actor, struct Lights* lights, struct PlayState* play);
@ -850,7 +852,7 @@ void Actor_DisableLens(struct PlayState* play);
void Actor_InitContext(struct PlayState* play, ActorContext* actorCtx, struct ActorEntry* playerEntry);
void Actor_UpdateAll(struct PlayState* play, ActorContext* actorCtx);
s32 Actor_CullingVolumeTest(struct PlayState* play, Actor* actor, Vec3f* projPos, f32 projW);
void func_800315AC(struct PlayState* play, ActorContext* actorCtx);
void Actor_DrawAll(struct PlayState* play, ActorContext* actorCtx);
void Actor_KillAllWithMissingObject(struct PlayState* play, ActorContext* actorCtx);
void func_80031B14(struct PlayState* play, ActorContext* actorCtx);
void func_80031C3C(ActorContext* actorCtx, struct PlayState* play);

View file

@ -68,6 +68,13 @@ typedef void (*AudioCustomUpdateFunction)(void);
#define AUDIO_RELOCATED_ADDRESS_START K0BASE
typedef enum SoundSetting {
/* 0 */ SOUND_SETTING_STEREO,
/* 1 */ SOUND_SETTING_MONO,
/* 2 */ SOUND_SETTING_HEADSET,
/* 3 */ SOUND_SETTING_SURROUND
} SoundSetting;
typedef enum SoundMode {
/* 0 */ SOUNDMODE_STEREO,
/* 1 */ SOUNDMODE_HEADSET,
@ -1197,7 +1204,7 @@ void func_800F64E0(u8 arg0);
void Audio_ToggleMalonSinging(u8 malonSingingDisabled);
void Audio_SetEnvReverb(s8 reverb);
void Audio_SetCodeReverb(s8 reverb);
void func_800F6700(s8 audioSetting);
void Audio_SetSoundMode(s8 soundSetting);
void Audio_SetBaseFilter(u8);
void Audio_SetExtraFilter(u8);
void Audio_SetCutsceneFlag(s8 flag);

View file

@ -0,0 +1,74 @@
#ifndef Z64FACE_REACTION_H
#define Z64FACE_REACTION_H
#include "ultra64.h"
struct PlayState;
typedef enum MaskReactionSet {
/* 0x00 */ MASK_REACTION_SET_CARPENTER_BOSS,
/* 0x01 */ MASK_REACTION_SET_CARPENTER_1,
/* 0x02 */ MASK_REACTION_SET_CARPENTER_2,
/* 0x03 */ MASK_REACTION_SET_CARPENTER_3,
/* 0x04 */ MASK_REACTION_SET_CARPENTER_4,
/* 0x05 */ MASK_REACTION_SET_HYRULIAN_GUARD,
/* 0x06 */ MASK_REACTION_SET_HEISHI4_1,
/* 0x07 */ MASK_REACTION_SET_HEISHI4_2,
/* 0x08 */ MASK_REACTION_SET_CUCCO_LADY,
/* 0x09 */ MASK_REACTION_SET_CARPENTERS_SON,
/* 0x0A */ MASK_REACTION_SET_KAKARIKO_ROOF_MAN,
/* 0x0B */ MASK_REACTION_SET_WINDMILL_MAN,
/* 0x0C */ MASK_REACTION_SET_12, // Unused
/* 0x0D */ MASK_REACTION_SET_CURSED_SKULLTULA_MAN,
/* 0x0E */ MASK_REACTION_SET_DAMPE,
/* 0x0F */ MASK_REACTION_SET_GRAVEYARD_KID,
/* 0x10 */ MASK_REACTION_SET_SARIA,
/* 0x11 */ MASK_REACTION_SET_MIDO,
/* 0x12 */ MASK_REACTION_SET_FADO,
/* 0x13 */ MASK_REACTION_SET_KOKIRI_1,
/* 0x14 */ MASK_REACTION_SET_KOKIRI_2,
/* 0x15 */ MASK_REACTION_SET_SKULL_KID,
/* 0x16 */ MASK_REACTION_SET_ZELDA,
/* 0x17 */ MASK_REACTION_SET_MALON,
/* 0x18 */ MASK_REACTION_SET_TALON,
/* 0x19 */ MASK_REACTION_SET_INGO,
/* 0x1A */ MASK_REACTION_SET_LAKESIDE_PROFESSOR,
/* 0x1B */ MASK_REACTION_SET_MAGIC_BEAN_SALESMAN,
/* 0x1C */ MASK_REACTION_SET_RUNNING_MAN,
/* 0x1D */ MASK_REACTION_SET_ZORA,
/* 0x1E */ MASK_REACTION_SET_KING_ZORA,
/* 0x1F */ MASK_REACTION_SET_RUTO,
/* 0x20 */ MASK_REACTION_SET_GORON,
/* 0x21 */ MASK_REACTION_SET_DARUNIA,
/* 0x22 */ MASK_REACTION_SET_GERUDO_WHITE,
/* 0x23 */ MASK_REACTION_SET_NABOORU,
/* 0x24 */ MASK_REACTION_SET_DANCING_COUPLE,
/* 0x25 */ MASK_REACTION_SET_DOG_LADY,
/* 0x26 */ MASK_REACTION_SET_WOMAN_3,
/* 0x27 */ MASK_REACTION_SET_MAN_1_BEARD,
/* 0x28 */ MASK_REACTION_SET_MAN_2_BALD,
/* 0x29 */ MASK_REACTION_SET_MAN_1_SHAVED_BLACK_SHIRT,
/* 0x2A */ MASK_REACTION_SET_BEGGAR,
/* 0x2B */ MASK_REACTION_SET_OLD_WOMAN,
/* 0x2C */ MASK_REACTION_SET_OLD_MAN,
/* 0x2D */ MASK_REACTION_SET_YOUNG_WOMAN_BROWN_HAIR,
/* 0x2E */ MASK_REACTION_SET_MAN_2_MUSTACHE_RED_SHIRT,
/* 0x2F */ MASK_REACTION_SET_MAN_2_MUSTACHE_BLUE_SHIRT,
/* 0x30 */ MASK_REACTION_SET_YOUNG_WOMAN_ORANGE_HAIR,
/* 0x31 */ MASK_REACTION_SET_MAN_2_ALT_MUSTACHE,
/* 0x32 */ MASK_REACTION_SET_MAN_1_BOWL_CUT_PURPLE_SHIRT,
/* 0x33 */ MASK_REACTION_SET_MAN_2_BEARD,
/* 0x34 */ MASK_REACTION_SET_OLD_MAN_BALD_BROWN_ROBE,
/* 0x35 */ MASK_REACTION_SET_MAN_2_MUSTACHE_WHITE_SHIRT,
/* 0x36 */ MASK_REACTION_SET_MAN_1_SHAVED_GREEN_SHIRT,
/* 0x37 */ MASK_REACTION_SET_WOMAN_2,
/* 0x38 */ MASK_REACTION_SET_OLD_MAN_BALD_PURPLE_ROBE,
/* 0x39 */ MASK_REACTION_SET_MAN_1_BOWL_CUT_GREEN_SHIRT,
/* 0x3A */ MASK_REACTION_SET_HAGGLING_TOWNSPEOPLE_1,
/* 0x3B */ MASK_REACTION_SET_HAGGLING_TOWNSPEOPLE_2,
/* 0x3C */ MASK_REACTION_SET_MAX
} MaskReactionSet;
u16 MaskReaction_GetTextId(struct PlayState* play, u32 maskReactionSet);
#endif

View file

@ -48,4 +48,19 @@ typedef struct GameState {
/* 0xA0 */ u32 inPreNMIState;
} GameState; // size = 0xA4
void GameState_ReqPadData(GameState* gameState);
void GameState_Update(GameState* gameState);
void GameState_InitArena(GameState* gameState, size_t size);
void GameState_Realloc(GameState* gameState, size_t size);
void GameState_Init(GameState* gameState, GameStateFunc init, struct GraphicsContext* gfxCtx);
void GameState_Destroy(GameState* gameState);
GameStateFunc GameState_GetInit(GameState* gameState);
u32 GameState_IsRunning(GameState* gameState);
#if DEBUG_FEATURES
void* GameState_Alloc(GameState* gameState, size_t size, const char* file, int line);
#define GAME_STATE_ALLOC(gameState, size, file, line) GameState_Alloc(gameState, size, file, line)
#else
#define GAME_STATE_ALLOC(gameState, size, file, line) THA_AllocTailAlign16(&(gameState)->tha, size)
#endif
#endif

View file

@ -3,7 +3,6 @@
#include "ultra64.h"
#include "z64item.h"
#include "z64save.h"
struct PlayState;

View file

@ -115,70 +115,6 @@ typedef enum MessageMode {
/* 0x37 */ MSGMODE_PAUSED // Causes the message system to do nothing until external code sets a new message mode or calls a public function
} MessageMode;
typedef enum MaskReactionSet {
/* 0x00 */ MASK_REACTION_SET_CARPENTER_BOSS,
/* 0x01 */ MASK_REACTION_SET_CARPENTER_1,
/* 0x02 */ MASK_REACTION_SET_CARPENTER_2,
/* 0x03 */ MASK_REACTION_SET_CARPENTER_3,
/* 0x04 */ MASK_REACTION_SET_CARPENTER_4,
/* 0x05 */ MASK_REACTION_SET_HYRULIAN_GUARD,
/* 0x06 */ MASK_REACTION_SET_HEISHI4_1,
/* 0x07 */ MASK_REACTION_SET_HEISHI4_2,
/* 0x08 */ MASK_REACTION_SET_CUCCO_LADY,
/* 0x09 */ MASK_REACTION_SET_CARPENTERS_SON,
/* 0x0A */ MASK_REACTION_SET_KAKARIKO_ROOF_MAN,
/* 0x0B */ MASK_REACTION_SET_WINDMILL_MAN,
/* 0x0C */ MASK_REACTION_SET_12, // Unused
/* 0x0D */ MASK_REACTION_SET_CURSED_SKULLTULA_MAN,
/* 0x0E */ MASK_REACTION_SET_DAMPE,
/* 0x0F */ MASK_REACTION_SET_GRAVEYARD_KID,
/* 0x10 */ MASK_REACTION_SET_SARIA,
/* 0x11 */ MASK_REACTION_SET_MIDO,
/* 0x12 */ MASK_REACTION_SET_FADO,
/* 0x13 */ MASK_REACTION_SET_KOKIRI_1,
/* 0x14 */ MASK_REACTION_SET_KOKIRI_2,
/* 0x15 */ MASK_REACTION_SET_SKULL_KID,
/* 0x16 */ MASK_REACTION_SET_ZELDA,
/* 0x17 */ MASK_REACTION_SET_MALON,
/* 0x18 */ MASK_REACTION_SET_TALON,
/* 0x19 */ MASK_REACTION_SET_INGO,
/* 0x1A */ MASK_REACTION_SET_LAKESIDE_PROFESSOR,
/* 0x1B */ MASK_REACTION_SET_MAGIC_BEAN_SALESMAN,
/* 0x1C */ MASK_REACTION_SET_RUNNING_MAN,
/* 0x1D */ MASK_REACTION_SET_ZORA,
/* 0x1E */ MASK_REACTION_SET_KING_ZORA,
/* 0x1F */ MASK_REACTION_SET_RUTO,
/* 0x20 */ MASK_REACTION_SET_GORON,
/* 0x21 */ MASK_REACTION_SET_DARUNIA,
/* 0x22 */ MASK_REACTION_SET_GERUDO_WHITE,
/* 0x23 */ MASK_REACTION_SET_NABOORU,
/* 0x24 */ MASK_REACTION_SET_DANCING_COUPLE,
/* 0x25 */ MASK_REACTION_SET_DOG_LADY,
/* 0x26 */ MASK_REACTION_SET_WOMAN_3,
/* 0x27 */ MASK_REACTION_SET_MAN_1_BEARD,
/* 0x28 */ MASK_REACTION_SET_MAN_2_BALD,
/* 0x29 */ MASK_REACTION_SET_MAN_1_SHAVED_BLACK_SHIRT,
/* 0x2A */ MASK_REACTION_SET_BEGGAR,
/* 0x2B */ MASK_REACTION_SET_OLD_WOMAN,
/* 0x2C */ MASK_REACTION_SET_OLD_MAN,
/* 0x2D */ MASK_REACTION_SET_YOUNG_WOMAN_BROWN_HAIR,
/* 0x2E */ MASK_REACTION_SET_MAN_2_MUSTACHE_RED_SHIRT,
/* 0x2F */ MASK_REACTION_SET_MAN_2_MUSTACHE_BLUE_SHIRT,
/* 0x30 */ MASK_REACTION_SET_YOUNG_WOMAN_ORANGE_HAIR,
/* 0x31 */ MASK_REACTION_SET_MAN_2_ALT_MUSTACHE,
/* 0x32 */ MASK_REACTION_SET_MAN_1_BOWL_CUT_PURPLE_SHIRT,
/* 0x33 */ MASK_REACTION_SET_MAN_2_BEARD,
/* 0x34 */ MASK_REACTION_SET_OLD_MAN_BALD_BROWN_ROBE,
/* 0x35 */ MASK_REACTION_SET_MAN_2_MUSTACHE_WHITE_SHIRT,
/* 0x36 */ MASK_REACTION_SET_MAN_1_SHAVED_GREEN_SHIRT,
/* 0x37 */ MASK_REACTION_SET_WOMAN_2,
/* 0x38 */ MASK_REACTION_SET_OLD_MAN_BALD_PURPLE_ROBE,
/* 0x39 */ MASK_REACTION_SET_MAN_1_BOWL_CUT_GREEN_SHIRT,
/* 0x3A */ MASK_REACTION_SET_HAGGLING_TOWNSPEOPLE_1,
/* 0x3B */ MASK_REACTION_SET_HAGGLING_TOWNSPEOPLE_2,
/* 0x3C */ MASK_REACTION_SET_MAX
} MaskReactionSet;
typedef enum TextState {
/* 0 */ TEXT_STATE_NONE,
/* 1 */ TEXT_STATE_DONE_HAS_NEXT,

19
include/z64path.h Normal file
View file

@ -0,0 +1,19 @@
#ifndef Z64PATH_H
#define Z64PATH_H
#include "ultra64.h"
#include "z64math.h"
struct PlayState;
struct Actor;
typedef struct Path {
/* 0x00 */ u8 count; // number of points in the path
/* 0x04 */ Vec3s* points; // Segment Address to the array of points
} Path; // size = 0x8
Path* Path_GetByIndex(struct PlayState* play, s16 index, s16 max);
f32 Path_OrientAndGetDistSq(struct Actor* actor, Path* path, s16 waypoint, s16* yaw);
void Path_CopyLastPoint(Path* path, Vec3f* dest);
#endif

View file

@ -88,7 +88,7 @@ typedef struct PlayState {
/* 0x11DFC */ void* unk_11DFC;
/* 0x11E00 */ Spawn* spawnList;
/* 0x11E04 */ s16* exitList;
/* 0x11E08 */ Path* pathList;
/* 0x11E08 */ struct Path* pathList;
/* 0x11E0C */ struct QuestHintCmd* naviQuestHints;
/* 0x11E10 */ void* specialEffects;
/* 0x11E14 */ u8 skyboxId;

View file

@ -6,6 +6,11 @@
#include "z64inventory.h"
#include "z64math.h"
typedef enum ZTargetSetting {
/* 0 */ Z_TARGET_SETTING_SWITCH,
/* 1 */ Z_TARGET_SETTING_HOLD
} ZTargetSetting;
typedef enum Language {
#if OOT_NTSC
/* 0 */ LANGUAGE_JPN,
@ -315,10 +320,10 @@ typedef struct SaveContext {
/* 0x1404 */ u16 minigameState;
/* 0x1406 */ u16 minigameScore; // "yabusame_total"
/* 0x1408 */ char unk_1408[0x0001];
/* 0x1409 */ u8 language; // NTSC 0: Japanese; 1: English | PAL 0: English; 1: German; 2: French
/* 0x140A */ u8 audioSetting;
/* 0x1409 */ u8 language; // NTSC 0: Japanese; 1: English | PAL 0: English; 1: German; 2: French (see enum `Language`)
/* 0x140A */ u8 soundSetting; // 0: Stereo; 1: Mono; 2: Headset; 3: Surround (see enum `SoundSetting`)
/* 0x140B */ char unk_140B[0x0001];
/* 0x140C */ u8 zTargetSetting; // 0: Switch; 1: Hold
/* 0x140C */ u8 zTargetSetting; // 0: Switch; 1: Hold (see enum `ZTargetSetting`)
/* 0x140E */ u16 forcedSeqId; // immediately start playing the sequence if set
/* 0x1410 */ u8 cutsceneTransitionControl; // context dependent usage: can either trigger a delayed fade or control fill alpha
/* 0x1411 */ char unk_1411[0x0001];

View file

@ -8,6 +8,7 @@
#include "z64environment.h"
#include "z64light.h"
#include "z64math.h"
#include "z64path.h"
#include "command_macros_base.h"
@ -51,11 +52,6 @@ typedef struct Spawn {
/* 0x01 */ u8 room;
} Spawn;
typedef struct Path {
/* 0x00 */ u8 count; // number of points in the path
/* 0x04 */ Vec3s* points; // Segment Address to the array of points
} Path; // size = 0x8
// Room shapes
typedef enum RoomShapeType {

View file

@ -3,6 +3,10 @@
#include "z64animation.h"
struct Actor;
struct GraphicsContext;
struct PlayState;
/**
* Holds a compact version of a vertex used in the Skin system
* It is used to initialise the Vtx used by an animated limb
@ -75,4 +79,19 @@ typedef s32 (*SkinOverrideLimbDraw)(struct Actor*, struct PlayState*, s32, Skin*
#define SKIN_TRANSFORM_IS_FHG 0x23
void Skin_UpdateVertices(MtxF* mtx, SkinVertex* skinVertices, SkinLimbModif* modifEntry, Vtx* vtxBuf, Vec3f* pos);
void Skin_DrawAnimatedLimb(struct GraphicsContext* gfxCtx, Skin* skin, s32 limbIndex, s32 arg3, s32 drawFlags);
void Skin_DrawLimb(struct GraphicsContext* gfxCtx, Skin* skin, s32 limbIndex, Gfx* dlistOverride, s32 drawFlags);
void func_800A6330(struct Actor* actor, struct PlayState* play, Skin* skin, SkinPostDraw postDraw, s32 setTranslation);
void func_800A6360(struct Actor* actor, struct PlayState* play, Skin* skin, SkinPostDraw postDraw,
SkinOverrideLimbDraw overrideLimbDraw, s32 setTranslation);
void func_800A6394(struct Actor* actor, struct PlayState* play, Skin* skin, SkinPostDraw postDraw,
SkinOverrideLimbDraw overrideLimbDraw, s32 setTranslation, s32 arg6);
void func_800A63CC(struct Actor* actor, struct PlayState* play, Skin* skin, SkinPostDraw postDraw,
SkinOverrideLimbDraw overrideLimbDraw, s32 setTranslation, s32 arg6, s32 drawFlags);
void Skin_GetLimbPos(Skin* skin, s32 limbIndex, Vec3f* offset, Vec3f* dst);
void Skin_Init(struct PlayState* play, Skin* skin, SkeletonHeader* skeletonHeader, AnimationHeader* animationHeader);
void Skin_Free(struct PlayState* play, Skin* skin);
s32 Skin_ApplyAnimTransformations(Skin* skin, MtxF* limbMatrices, struct Actor* actor, s32 setTranslation);
#endif

View file

@ -12,7 +12,7 @@ typedef struct SramContext {
typedef enum SramHeaderField {
/* 0x00 */ SRAM_HEADER_SOUND,
/* 0x01 */ SRAM_HEADER_ZTARGET,
/* 0x01 */ SRAM_HEADER_Z_TARGET,
/* 0x02 */ SRAM_HEADER_LANGUAGE,
/* 0x03 */ SRAM_HEADER_MAGIC // must be the value in `sSramDefaultHeader` for save to be considered valid
} SramHeaderField;

33
include/z64thread.h Normal file
View file

@ -0,0 +1,33 @@
#ifndef Z64THREAD_H
#define Z64THREAD_H
#include "ultra64.h"
#define THREAD_ID_IDLE 1
#define THREAD_ID_FAULT 2
#define THREAD_ID_MAIN 3
#define THREAD_ID_GRAPH 4
#define THREAD_ID_SCHED 5
#define THREAD_ID_PADMGR 7
#define THREAD_ID_N64DD 8
#define THREAD_ID_DDMSG 9
#define THREAD_ID_AUDIOMGR 10
#define THREAD_ID_DMAMGR 18
#define THREAD_ID_IRQMGR 19
#define THREAD_PRI_IDLE_INIT 10
#define THREAD_PRI_MAIN_INIT 10
#define THREAD_PRI_DMAMGR_LOW 10 // Used when decompressing files
#define THREAD_PRI_GRAPH 11
#define THREAD_PRI_AUDIOMGR 12
#define THREAD_PRI_N64DD 13
#define THREAD_PRI_DDMSG 13
#define THREAD_PRI_PADMGR 14
#define THREAD_PRI_MAIN 15
#define THREAD_PRI_SCHED 15
#define THREAD_PRI_DMAMGR 16
#define THREAD_PRI_IRQMGR 17
#define THREAD_PRI_FAULT_CLIENT (OS_PRIORITY_APPMAX - 1)
#define THREAD_PRI_FAULT OS_PRIORITY_APPMAX
#endif

View file

@ -847,7 +847,7 @@ void AudioDebug_ProcessInput_SndCont(void) {
&gSfxDefaultReverb);
break;
case 4:
func_800F6700(sAudioSndContWork[sAudioSndContSel]);
Audio_SetSoundMode(sAudioSndContWork[sAudioSndContSel]);
break;
case 5:
SEQCMD_DISABLE_PLAY_SEQUENCES(sAudioSndContWork[sAudioSndContSel]);

View file

@ -3766,26 +3766,26 @@ void Audio_SetCodeReverb(s8 reverb) {
}
}
void func_800F6700(s8 audioSetting) {
void Audio_SetSoundMode(s8 soundSetting) {
s8 soundModeIndex;
switch (audioSetting) {
case 0:
switch (soundSetting) {
case SOUND_SETTING_STEREO:
soundModeIndex = SOUNDMODE_STEREO;
sSoundMode = SOUNDMODE_STEREO;
break;
case 1:
case SOUND_SETTING_MONO:
soundModeIndex = SOUNDMODE_MONO;
sSoundMode = SOUNDMODE_MONO;
break;
case 2:
case SOUND_SETTING_HEADSET:
soundModeIndex = SOUNDMODE_HEADSET;
sSoundMode = SOUNDMODE_HEADSET;
break;
case 3:
case SOUND_SETTING_SURROUND:
soundModeIndex = SOUNDMODE_STEREO;
sSoundMode = SOUNDMODE_SURROUND;
break;

View file

@ -4,6 +4,7 @@
#if PLATFORM_N64
#include "cic6105.h"
#endif
#include "z64thread.h"
#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \
"ntsc-1.2:128"

View file

@ -2,6 +2,7 @@
#include "stack.h"
#include "terminal.h"
#include "versions.h"
#include "z64thread.h"
#pragma increment_block_number "gc-eu:64 gc-eu-mq:64 gc-jp:64 gc-jp-ce:64 gc-jp-mq:64 gc-us:64 gc-us-mq:64 ntsc-1.2:64"

View file

@ -26,9 +26,10 @@
#if PLATFORM_N64
#include "n64dd.h"
#endif
#include "z64thread.h"
#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \
"ntsc-1.2:76 pal-1.0:74 pal-1.1:74"
"ntsc-1.2:72 pal-1.0:70 pal-1.1:70"
StackEntry sDmaMgrStackInfo;
OSMesgQueue sDmaMgrMsgQueue;

View file

@ -1,5 +1,6 @@
#include "global.h"
#include "z64debug_display.h"
#include "z64olib.h"
#define DEBUG_CAM_CONTROLLER_PORT 2

View file

@ -40,7 +40,7 @@
* DPad-Up may be pressed to enable sending fault pages over osSyncPrintf as well as displaying them on-screen.
* DPad-Down disables sending fault pages over osSyncPrintf.
*/
#pragma increment_block_number "gc-eu:160 gc-eu-mq:160 gc-eu-mq-dbg:144 gc-jp:160 gc-jp-ce:160 gc-jp-mq:160 gc-us:160" \
#pragma increment_block_number "gc-eu:160 gc-eu-mq:160 gc-eu-mq-dbg:160 gc-jp:160 gc-jp-ce:160 gc-jp-mq:160 gc-us:160" \
"gc-us-mq:160 ique-cn:160"
#include "global.h"
@ -48,6 +48,7 @@
#include "fault.h"
#include "stack.h"
#include "terminal.h"
#include "z64thread.h"
void Fault_Init(void);
void Fault_SetOsSyncPrintfEnabled(u32 enabled);

View file

@ -5,6 +5,7 @@
#include "libc64/os_malloc.h"
#include "stack.h"
#include "terminal.h"
#include "z64thread.h"
#pragma increment_block_number "ntsc-1.0:192 ntsc-1.1:192 ntsc-1.2:192 pal-1.0:192 pal-1.1:192"

View file

@ -1,5 +1,6 @@
#include "global.h"
#include "fault.h"
#include "sys_ucode.h"
#include "terminal.h"
#include "ucode_disas.h"
#include "versions.h"

View file

@ -35,6 +35,7 @@
#include "global.h"
#include "terminal.h"
#include "versions.h"
#include "z64thread.h"
vu32 gIrqMgrResetStatus = IRQ_RESET_STATUS_IDLE;
volatile OSTime sIrqMgrResetTime = 0;

View file

@ -22,9 +22,10 @@ extern struct IrqMgr gIrqMgr;
#include "cic6105.h"
#include "n64dd.h"
#endif
#include "z64thread.h"
#pragma increment_block_number "gc-eu:144 gc-eu-mq:144 gc-jp:144 gc-jp-ce:144 gc-jp-mq:144 gc-us:144 gc-us-mq:144" \
"ique-cn:160 ntsc-1.0:136 ntsc-1.1:136 ntsc-1.2:136 pal-1.0:134 pal-1.1:134"
"ique-cn:160 ntsc-1.0:133 ntsc-1.1:133 ntsc-1.2:133 pal-1.0:131 pal-1.1:131"
extern u8 _buffersSegmentEnd[];

View file

@ -31,6 +31,7 @@
#include "libu64/debug.h"
#include "libu64/padsetup.h"
#include "macros.h"
#include "padmgr.h"
#include "fault.h"
#include "terminal.h"
#include "line_numbers.h"

View file

@ -42,6 +42,7 @@
#include "global.h"
#include "fault.h"
#include "versions.h"
#include "z64thread.h"
#define RSP_DONE_MSG 667
#define RDP_DONE_MSG 668

View file

@ -1,7 +1,14 @@
#include "global.h"
#include "libc64/math64.h"
#include "gfx.h"
#if DEBUG_FEATURES
#include "fault.h"
#endif
#include "macros.h"
#include "sys_matrix.h"
#include "ultra64.h"
#include "z_lib.h"
#include "z64game.h"
#include "z64skin_matrix.h"
// clang-format off
Mtx gIdentityMtx = gdSPDefMtx(
@ -19,9 +26,6 @@ MtxF gIdentityMtxF = {
};
// clang-format on
#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \
"pal-1.1:128"
MtxF* sMatrixStack; // "Matrix_stack"
MtxF* sCurrentMatrix; // "Matrix_now"

View file

@ -1,4 +1,4 @@
#include "global.h"
#include "ultra64.h"
u64* sDefaultGSPUCodeText = gspF3DZEX2_NoN_PosLight_fifoTextStart;
u64* sDefaultGSPUCodeData = gspF3DZEX2_NoN_PosLight_fifoDataStart;

View file

@ -1,5 +1,10 @@
#include "global.h"
#include "ucode_disas.h"
#include "ultra64.h"
#include "ultra64/gs2dex.h"
#include "libu64/mtxuty-cvt.h"
#include "segmented_address.h"
#include "macros.h"
#if DEBUG_FEATURES

View file

@ -1,13 +1,30 @@
#include "global.h"
#include "libc64/math64.h"
#include "fault.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "quake.h"
#include "rand.h"
#include "regs.h"
#include "rumble.h"
#include "segmented_address.h"
#include "sfx.h"
#include "sys_math.h"
#include "sys_matrix.h"
#include "terminal.h"
#include "versions.h"
#include "z_lib.h"
#include "zelda_arena.h"
#include "z64effect.h"
#include "z64light.h"
#include "z64horse.h"
#include "z64play.h"
#include "z64skin_matrix.h"
#include "global.h"
#include "overlays/actors/ovl_Arms_Hook/z_arms_hook.h"
#include "overlays/actors/ovl_En_Part/z_en_part.h"
#include "assets/objects/gameplay_keep/gameplay_keep.h"
#include "assets/objects/gameplay_dangeon_keep/gameplay_dangeon_keep.h"
#include "assets/objects/object_bdoor/object_bdoor.h"
@ -2835,7 +2852,20 @@ s32 Actor_CullingVolumeTest(PlayState* play, Actor* actor, Vec3f* projPos, f32 p
return false;
}
void func_800315AC(PlayState* play, ActorContext* actorCtx) {
/**
* Iterates through all category lists to draw every actor.
*
* In addition to actors, this function also draws:
* - Effects
* - EffectSs
* - Title Cards
* - Farores Wind Pointer
* - Light glow
* - Actor Collision (debug only)
*
* Note: If an actor is made visible by Lens of Truth, it will be drawn by `Actor_DrawLensActors` instead.
*/
void Actor_DrawAll(PlayState* play, ActorContext* actorCtx) {
s32 invisibleActorCounter;
Actor* invisibleActors[INVISIBLE_ACTOR_MAX];
ActorListEntry* actorListEntry;

View file

@ -2,10 +2,11 @@
#include "global.h"
#include "quake.h"
#include "terminal.h"
#include "z64olib.h"
#include "overlays/actors/ovl_En_Horse/z_en_horse.h"
#pragma increment_block_number "gc-eu:192 gc-eu-mq:192 gc-jp:192 gc-jp-ce:192 gc-jp-mq:192 gc-us:192 gc-us-mq:192" \
"ique-cn:192 ntsc-1.0:128 ntsc-1.1:128 ntsc-1.2:128 pal-1.0:128 pal-1.1:128"
#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \
"ique-cn:128 ntsc-1.0:128 ntsc-1.1:128 ntsc-1.2:128 pal-1.0:128 pal-1.1:128"
s16 Camera_RequestSettingImpl(Camera* camera, s16 requestedSetting, s16 flags);
s32 Camera_RequestModeImpl(Camera* camera, s16 requestedMode, u8 forceModeChange);
@ -3639,7 +3640,7 @@ s32 Camera_KeepOn3(Camera* camera) {
}
#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \
"ique-cn:128 ntsc-1.0:138 ntsc-1.1:138 ntsc-1.2:138 pal-1.0:136 pal-1.1:136"
"ique-cn:128 ntsc-1.0:134 ntsc-1.1:134 ntsc-1.2:134 pal-1.0:132 pal-1.1:132"
s32 Camera_KeepOn4(Camera* camera) {
static Vec3f D_8015BD50;
@ -7532,7 +7533,7 @@ void Camera_Init(Camera* camera, View* view, CollisionContext* colCtx, PlayState
#if DEBUG_FEATURES
sDbgModeIdx = -1;
#endif
D_8011D3F0 = 3;
sSceneInitLetterboxTimer = 3; // show letterbox for 3 frames at the start of a new scene
PRINTF(VT_FGCOL(BLUE) "camera: initialize --- " VT_RST " UID %d\n", camera->uid);
}
@ -8141,8 +8142,8 @@ Vec3s Camera_Update(Camera* camera) {
if ((gSaveContext.gameMode != GAMEMODE_NORMAL) && (gSaveContext.gameMode != GAMEMODE_END_CREDITS)) {
sCameraInterfaceField = CAM_INTERFACE_FIELD(CAM_LETTERBOX_NONE, CAM_HUD_VISIBILITY_ALL, 0);
Camera_UpdateInterface(sCameraInterfaceField);
} else if ((D_8011D3F0 != 0) && (camera->camId == CAM_ID_MAIN)) {
D_8011D3F0--;
} else if ((sSceneInitLetterboxTimer != 0) && (camera->camId == CAM_ID_MAIN)) {
sSceneInitLetterboxTimer--;
sCameraInterfaceField = CAM_INTERFACE_FIELD(CAM_LETTERBOX_LARGE, CAM_HUD_VISIBILITY_NOTHING_ALT, 0);
Camera_UpdateInterface(sCameraInterfaceField);
} else if (camera->play->transitionMode != TRANS_MODE_OFF) {

View file

@ -2584,7 +2584,7 @@ s16 D_8011D3CC[] = {
s32 sUpdateCameraDirection = 0;
s32 D_8011D3EC = 0;
s32 D_8011D3F0 = 0;
s32 sSceneInitLetterboxTimer = 0;
s32 sDemo5PrevAction12Frame = -16;

View file

@ -3,7 +3,7 @@
#include "versions.h"
#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \
"ntsc-1.0:176 ntsc-1.1:176 ntsc-1.2:176 pal-1.0:192 pal-1.1:192"
"ntsc-1.0:176 ntsc-1.1:176 ntsc-1.2:176 pal-1.0:176 pal-1.1:176"
ALIGNED(16) SaveContext gSaveContext;
#if PLATFORM_IQUE

View file

@ -1,4 +1,6 @@
#include "global.h"
#include "ultra64.h"
#include "z64face_reaction.h"
#include "z64player.h"
u16 sMaskReactionSetTextIds[MASK_REACTION_SET_MAX][PLAYER_MASK_MAX] = {
// MASK_REACTION_SET_CARPENTER_BOSS
@ -182,7 +184,7 @@ u16 sMaskReactionSetTextIds[MASK_REACTION_SET_MAX][PLAYER_MASK_MAX] = {
{ 0x0000, 0x7104, 0x7105, 0x7107, 0x7105, 0x710C, 0x7105, 0x7107, 0x7107 },
};
u16 MaskReaction_GetTextId(PlayState* play, u32 maskReactionSet) {
u16 MaskReaction_GetTextId(struct PlayState* play, u32 maskReactionSet) {
u8 currentMask = Player_GetMask(play);
return sMaskReactionSetTextIds[maskReactionSet][currentMask];

View file

@ -3,7 +3,7 @@
#include "stdbool.h"
#include "controller.h"
#include "padmgr.h"
#include "libu64/pad.h"
#include "macros.h"
void FrameAdvance_Init(FrameAdvanceContext* frameAdvCtx) {

View file

@ -1,6 +1,12 @@
#include "global.h"
#include "ultra64.h"
#include "attributes.h"
#include "jpeg.h"
#include "sys_ucode.h"
#include "terminal.h"
#include "macros.h"
#define MARKER_ESCAPE 0x00
#define MARKER_SOI 0xD8
#define MARKER_SOF 0xC0

View file

@ -1,5 +1,5 @@
#pragma increment_block_number "gc-eu:208 gc-eu-mq:208 gc-jp:192 gc-jp-ce:192 gc-jp-mq:192 gc-us:192 gc-us-mq:192" \
"ique-cn:192 ntsc-1.0:208 ntsc-1.1:208 ntsc-1.2:208 pal-1.0:224 pal-1.1:224"
"ique-cn:192 ntsc-1.0:192 ntsc-1.1:192 ntsc-1.2:192 pal-1.0:224 pal-1.1:224"
#include "global.h"
#include "ultra64.h"

View file

@ -1,4 +1,5 @@
#include "global.h"
#include "ultra64.h"
#include "sched.h"
/**
* Blocks the current thread until all queued scheduler tasks have completed.

View file

@ -2,6 +2,7 @@
#include "quake.h"
#include "terminal.h"
#include "versions.h"
#include "z64olib.h"
#include "overlays/actors/ovl_En_Sw/z_en_sw.h"
static s16 sDisableAttention = false;

View file

@ -1,4 +1,9 @@
#include "global.h"
#include "ultra64.h"
#include "libc64/math64.h"
#include "segmented_address.h"
#include "z64actor.h"
#include "z64path.h"
#include "z64play.h"
Path* Path_GetByIndex(PlayState* play, s16 index, s16 max) {
Path* path;

View file

@ -1294,7 +1294,7 @@ void Play_Draw(PlayState* this) {
}
if (!DEBUG_FEATURES || (R_HREG_MODE != HREG_MODE_PLAY) || R_PLAY_DRAW_ACTORS) {
func_800315AC(this, &this->actorCtx);
Actor_DrawAll(this, &this->actorCtx);
}
if (!DEBUG_FEATURES || (R_HREG_MODE != HREG_MODE_PLAY) || R_PLAY_DRAW_LENS_FLARES) {

View file

@ -1,6 +1,10 @@
#include "global.h"
#include "libc64/qrand.h"
#include "macros.h"
#include "quake.h"
#include "terminal.h"
#include "z_lib.h"
#include "z64olib.h"
#include "z64play.h"
typedef struct QuakeRequest {
/* 0x00 */ s16 index;

View file

@ -1,5 +1,6 @@
#include "global.h"
#include "fault.h"
#include "sys_ucode.h"
#include "terminal.h"
#include "versions.h"
#include "line_numbers.h"

View file

@ -1,4 +1,10 @@
#include "global.h"
#include "gfx.h"
#include "segmented_address.h"
#include "sys_matrix.h"
#include "z64math.h"
#include "z64play.h"
#include "z64skin.h"
#include "z64skin_matrix.h"
#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \
"pal-1.1:128"

View file

@ -1,5 +1,10 @@
#include "global.h"
#include "overlays/actors/ovl_En_fHG/z_en_fhg.h"
#include "segmented_address.h"
#include "zelda_arena.h"
#include "z64actor.h"
#include "z64play.h"
#include "z64skin.h"
#include "z64skin_matrix.h"
/**
* Initialises the Vtx buffers used for limb at index `limbIndex`

View file

@ -52,10 +52,13 @@ u16 gSramSlotOffsets[] = {
};
static u8 sSramDefaultHeader[] = {
// TODO: use enums for these
0, // SRAM_HEADER_SOUND
0, // SRAM_HEADER_ZTARGET
0, // SRAM_HEADER_LANGUAGE
SOUND_SETTING_STEREO, // SRAM_HEADER_SOUND
Z_TARGET_SETTING_SWITCH, // SRAM_HEADER_Z_TARGET
#if OOT_NTSC
LANGUAGE_JPN, // SRAM_HEADER_LANGUAGE
#else
LANGUAGE_ENG, // SRAM_HEADER_LANGUAGE
#endif
// SRAM_HEADER_MAGIC
0x98,
@ -1016,8 +1019,8 @@ void Sram_InitSram(GameState* gameState, SramContext* sramCtx) {
}
}
gSaveContext.audioSetting = sramCtx->readBuff[SRAM_HEADER_SOUND] & 3;
gSaveContext.zTargetSetting = sramCtx->readBuff[SRAM_HEADER_ZTARGET] & 1;
gSaveContext.soundSetting = sramCtx->readBuff[SRAM_HEADER_SOUND] & 3;
gSaveContext.zTargetSetting = sramCtx->readBuff[SRAM_HEADER_Z_TARGET] & 1;
#if OOT_PAL
gSaveContext.language = sramCtx->readBuff[SRAM_HEADER_LANGUAGE];
@ -1042,11 +1045,11 @@ void Sram_InitSram(GameState* gameState, SramContext* sramCtx) {
PRINTF(T(" サイズ=%d + %d %d\n", "GOOD! GOOD! Size = %d + %d = %d\n"), sizeof(SaveInfo), 4,
sizeof(SaveInfo) + 4);
PRINTF_COLOR_BLUE();
PRINTF("Na_SetSoundOutputMode = %d\n", gSaveContext.audioSetting);
PRINTF("Na_SetSoundOutputMode = %d\n", gSaveContext.audioSetting);
PRINTF("Na_SetSoundOutputMode = %d\n", gSaveContext.audioSetting);
PRINTF("Na_SetSoundOutputMode = %d\n", gSaveContext.soundSetting);
PRINTF("Na_SetSoundOutputMode = %d\n", gSaveContext.soundSetting);
PRINTF("Na_SetSoundOutputMode = %d\n", gSaveContext.soundSetting);
PRINTF_RST();
func_800F6700(gSaveContext.audioSetting);
Audio_SetSoundMode(gSaveContext.soundSetting);
}
void Sram_Alloc(GameState* gameState, SramContext* sramCtx) {

View file

@ -1,4 +1,8 @@
#include "global.h"
#include "ultra64.h"
#include "libu64/debug.h"
#include "libu64/mtxuty-cvt.h"
#include "macros.h"
void MtxConv_F2L(Mtx* m1, MtxF* m2) {
s32 i;

View file

@ -8,20 +8,24 @@ LEAF(guNormalize)
lwc1 ft0, (a0)
lwc1 ft1, (a1)
lwc1 ft2, (a2)
.set noreorder
mul.s ft3, ft0, ft0
li.s t0, 1.0
mul.s ft4, ft1, ft1
add.s ft5, ft3, ft4
mul.s ft4, ft2, ft2
.set reorder
add.s ft3, ft4, ft5
mtc1 t0, ft5
sqrt.s ft4, ft3
div.s ft3, ft5, ft4
.set noreorder
mul.s ft4, ft0, ft3
nop
mul.s ft5, ft1, ft3
nop
mul.s ft0, ft2, ft3
.set reorder
swc1 ft4, (a0)
swc1 ft5, (a1)
swc1 ft0, (a2)

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