Merge remote-tracking branch 'decomp/main' into decomp_merge

This commit is contained in:
Yanis002
2025-01-06 02:32:45 +01:00
774 changed files with 29173 additions and 9545 deletions

View File

@@ -1,5 +1,7 @@
FROM ubuntu:22.04 as build
FROM ubuntu:24.04 AS build
ENV TZ=UTC
ENV LANG=C.UTF-8
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && \
apt-get update && \
@@ -19,15 +21,8 @@ RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone &
apt-get clean && \
rm -rf /var/lib/apt/lists/*
RUN python3 -m pip install --user colorama ansiwrap attrs watchdog python-Levenshtein "mapfile-parser>=1.2.1,<2.0.0" "rabbitizer>=1.0.0,<2.0.0"
RUN python3 -m pip install --upgrade attrs pycparser
ENV LANG C.UTF-8
RUN mkdir /oot
WORKDIR /oot
RUN git config --global --add safe.directory /oot
CMD ["/bin/sh", "-c", \
"echo 'usage:\n docker run --rm --mount type=bind,source=\"$(pwd)\",destination=/oot oot make -j$(nproc) setup\n docker run --rm --mount type=bind,source=\"$(pwd)\",destination=/oot oot make -j$(nproc)'"]
CMD make -j $(nproc) setup && make -j $(nproc) && tail -f /dev/null

View File

@@ -32,18 +32,21 @@ The build process has the following package requirements:
* git
* build-essential
* binutils-mips-linux-gnu
* curl
* python3
* python3-pip
* python3-venv
* libpng-dev
* gcc-mips-linux-gnu
* libxml2-dev
* gcc-mips-linux-gnu
Note: you can use another GCC as long as it target MIPS.
Under Debian / Ubuntu (which we recommend using), you can install them with the following commands:
```bash
sudo apt-get update
sudo apt-get install git build-essential binutils-mips-linux-gnu python3 python3-pip python3-venv libpng-dev gcc-mips-linux-gnu libxml2-dev
sudo apt-get install git build-essential binutils-mips-linux-gnu curl python3 python3-pip python3-venv libpng-dev libxml2-dev gcc-mips-linux-gnu
```
#### 2. Clone the repository

258
Makefile

File diff suppressed because it is too large Load Diff

View File

@@ -1149,7 +1149,7 @@ ENVELOPE_08BA:
point 20, 20000
hang
#if OOT_VERSION == NTSC_1_2 || PLATFORM_GC
#if OOT_VERSION == NTSC_1_2 || !PLATFORM_N64
.filter FILTER_0932
filter 0, 0, 0, 0, 0, 0, 0, 0

1823
assets/text/charmap.chn.txt Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,20 @@
# Determines how certain text sequences should be encoded for the JPN text encoding.
{
'\n' : 0x000A,
'[A]' : 0x839F,
'[B]' : 0x83A0,
'[C]' : 0x83A1,
'[L]' : 0x83A2,
'[R]' : 0x83A3,
'[Z]' : 0x83A4,
'[C-Up]' : 0x83A5,
'[C-Down]' : 0x83A6,
'[C-Left]' : 0x83A7,
'[C-Right]' : 0x83A8,
'▼' : 0x83A9,
'[Control-Pad]' : 0x83AA,
# Possibly from a SHIFT-JIS extension, python doesn't have builtin support
'┯' : 0x86D3,
}

View File

@@ -0,0 +1,50 @@
# Determines how certain text sequences should be encoded for the NES text encoding.
{
'\n' : 0x01,
'[A]' : 0x9F,
'[B]' : 0xA0,
'[C]' : 0xA1,
'[L]' : 0xA2,
'[R]' : 0xA3,
'[Z]' : 0xA4,
'[C-Up]' : 0xA5,
'[C-Down]' : 0xA6,
'[C-Left]' : 0xA7,
'[C-Right]' : 0xA8,
'▼' : 0xA9,
'[Control-Pad]' : 0xAA,
'[D-Pad]' : 0xAB,
'À' : 0x80,
'î' : 0x81,
'Â' : 0x82,
'Ä' : 0x83,
'Ç' : 0x84,
'È' : 0x85,
'É' : 0x86,
'Ê' : 0x87,
'Ë' : 0x88,
'Ï' : 0x89,
'Ô' : 0x8A,
'Ö' : 0x8B,
'Ù' : 0x8C,
'Û' : 0x8D,
'Ü' : 0x8E,
'ß' : 0x8F,
'à' : 0x90,
'á' : 0x91,
'â' : 0x92,
'ä' : 0x93,
'ç' : 0x94,
'è' : 0x95,
'é' : 0x96,
'ê' : 0x97,
'ë' : 0x98,
'ï' : 0x99,
'ô' : 0x9A,
'ö' : 0x9B,
'ù' : 0x9C,
'û' : 0x9D,
'ü' : 0x9E,
}

View File

@@ -1,58 +0,0 @@
# Determines how certain text sequences should be encoded. The text sequence is
# converted to either the first or second tuple element based on whether the
# target encoding is the "wide" encoding. The first element is for the non-wide
# encoding, used for all languages besides JP, while the second element is for
# the wide encoding, used for JP.
{
'\n' : (0x01, 0x000A),
'[A]' : (0x9F, 0x839F),
'[B]' : (0xA0, 0x83A0),
'[C]' : (0xA1, 0x83A1),
'[L]' : (0xA2, 0x83A2),
'[R]' : (0xA3, 0x83A3),
'[Z]' : (0xA4, 0x83A4),
'[C-Up]' : (0xA5, 0x83A5),
'[C-Down]' : (0xA6, 0x83A6),
'[C-Left]' : (0xA7, 0x83A7),
'[C-Right]' : (0xA8, 0x83A8),
'▼' : (0xA9, 0x83A9),
'[Control-Pad]' : (0xAA, 0x83AA),
'[D-Pad]' : (0xAB, None),
# Possibly from a SHIFT-JIS extension, python doesn't have builtin support
'┯' : (None, 0x86D3),
'‾' : (0x7F, None),
'À' : (0x80, None),
'î' : (0x81, None),
'Â' : (0x82, None),
'Ä' : (0x83, None),
'Ç' : (0x84, None),
'È' : (0x85, None),
'É' : (0x86, None),
'Ê' : (0x87, None),
'Ë' : (0x88, None),
'Ï' : (0x89, None),
'Ô' : (0x8A, None),
'Ö' : (0x8B, None),
'Ù' : (0x8C, None),
'Û' : (0x8D, None),
'Ü' : (0x8E, None),
'ß' : (0x8F, None),
'à' : (0x90, None),
'á' : (0x91, None),
'â' : (0x92, None),
'ä' : (0x93, None),
'ç' : (0x94, None),
'è' : (0x95, None),
'é' : (0x96, None),
'ê' : (0x97, None),
'ë' : (0x98, None),
'ï' : (0x99, None),
'ô' : (0x9A, None),
'ö' : (0x9B, None),
'ù' : (0x9C, None),
'û' : (0x9D, None),
'ü' : (0x9E, None),
}

View File

@@ -0,0 +1,21 @@
<Root>
<File Name="object_mag" Segment="6">
<Texture Name="gTitleZeldaShieldLogoTex" OutName="title_zelda_shield_logo" Format="rgba32" Width="160" Height="160" Offset="0x0"/>
<Texture Name="gTitleCopyright19982003Tex" OutName="title_copyright_19982003" Format="ia8" Width="128" Height="16" Offset="0x19000"/>
<Texture Name="gTitleCopyright2003iQueTex" OutName="title_copyright_2003_ique" Format="ia8" Width="128" Height="16" Offset="0x19800"/>
<Texture Name="gTitleDiskTex" OutName="title_disk" Format="ia8" Width="48" Height="16" Offset="0x1A000"/>
<Texture Name="gTitleEffectMask00Tex" OutName="title_effect_mask_0_0" Format="i4" Width="64" Height="64" Offset="0x1A300"/>
<Texture Name="gTitleEffectMask01Tex" OutName="title_effect_mask_0_1" Format="i4" Width="64" Height="64" Offset="0x1AB00"/>
<Texture Name="gTitleEffectMask02Tex" OutName="title_effect_mask_0_2" Format="i4" Width="64" Height="64" Offset="0x1B300"/>
<Texture Name="gTitleEffectMask10Tex" OutName="title_effect_mask_1_0" Format="i4" Width="64" Height="64" Offset="0x1BB00"/>
<Texture Name="gTitleEffectMask11Tex" OutName="title_effect_mask_1_1" Format="i4" Width="64" Height="64" Offset="0x1C300"/>
<Texture Name="gTitleEffectMask12Tex" OutName="title_effect_mask_1_2" Format="i4" Width="64" Height="64" Offset="0x1CB00"/>
<Texture Name="gTitleEffectMask20Tex" OutName="title_effect_mask_2_0" Format="i4" Width="64" Height="64" Offset="0x1D300"/>
<Texture Name="gTitleEffectMask21Tex" OutName="title_effect_mask_2_1" Format="i4" Width="64" Height="64" Offset="0x1DB00"/>
<Texture Name="gTitleEffectMask22Tex" OutName="title_effect_mask_2_2" Format="i4" Width="64" Height="64" Offset="0x1E300"/>
<Texture Name="gTitleFlameEffectTex" OutName="title_flame_effect" Format="i8" Width="32" Height="32" Offset="0x1EB00"/>
<Texture Name="gTitleTheLegendOfTextTex" OutName="title_the_legend_of_text" Format="i8" Width="72" Height="8" Offset="0x1EF00"/>
<Texture Name="gTitleOcarinaOfTimeTMTextTex" OutName="title_ocarina_of_time_tm_text" Format="i8" Width="96" Height="8" Offset="0x1F140"/>
<Texture Name="gTitleTitleCNTex" OutName="title_title_cn" Format="i8" Width="128" Height="16" Offset="0x1F440"/>
</File>
</Root>

View File

@@ -71,17 +71,17 @@
<Texture Name="gMidoTex_58F0" OutName="tex_58F0" Format="ci8" Width="8" Height="8" Offset="0x58F0" TlutOffset="0x4C48"/>
<!-- Mido Animations -->
<Animation Name="gMidoHandsOnHipsIdleAnim" Offset="0x02C8"/>
<Animation Name="gMidoSlamAnim" Offset="0x8510"/>
<Animation Name="gMidoAngryHeadTurnAnim" Offset="0x8738"/>
<Animation Name="gMidoAnnoyedPointedHeadIdle1Anim" Offset="0x8E84"/>
<Animation Name="gMidoHandsOnHipsTransitionAnim" Offset="0x8FC0"/>
<Animation Name="gMidoRaiseHand1Anim" Offset="0x917C"/>
<Animation Name="gMidoAnim_92B0" Offset="0x92B0"/>
<Animation Name="gMidoRaiseHand2Anim" Offset="0x95BC"/>
<Animation Name="gMidoAnnoyedPointedHeadIdle2Anim" Offset="0x97F0"/>
<Animation Name="gMidoPutHandDownAnim" Offset="0x9B1C"/>
<Animation Name="gMidoIdleAnim" Offset="0x02C8"/>
<Animation Name="gMidoCuriousToAnnoyedAnim" Offset="0x8510"/>
<Animation Name="gMidoIdleToAnnoyedAnim" Offset="0x8738"/>
<Animation Name="gMidoCuriousAnim" Offset="0x8E84"/>
<Animation Name="gMidoIdleToSurpriseAnim" Offset="0x8FC0"/>
<Animation Name="gMidoIdleToHaltAnim" Offset="0x917C"/>
<Animation Name="gMidoIdleToWalkAnim" Offset="0x92B0"/>
<Animation Name="gMidoAnnoyedToHaltAnim" Offset="0x95BC"/>
<Animation Name="gMidoAnnoyedAnim" Offset="0x97F0"/>
<Animation Name="gMidoHaltToCuriousAnim" Offset="0x9B1C"/>
<Animation Name="gMidoHaltAnim" Offset="0x9E68"/>
<Animation Name="gMidoWalkingAnim" Offset="0xA138"/>
<Animation Name="gMidoWalkAnim" Offset="0xA138"/>
</File>
</Root>

View File

@@ -0,0 +1,26 @@
<Root>
<File Name="ovl_End_Title">
<DList Name="sEmptyDL1" Offset="0x0"/>
<Texture Name="sIQueTop" OutName="ique_top" Format="ia8" Width="128" Height="24" Offset="0x8"/>
<Texture Name="sIQueBottom" OutName="ique_bottom" Format="ia8" Width="128" Height="24" Offset="0xC08"/>
<DList Name="sEmptyDL2" Offset="0x1808"/>
<Texture Name="sNintendoLeftTex" OutName="nintendo_left" Format="ia8" Width="64" Height="48" Offset="0x1810"/>
<DList Name="sEmptyDL3" Offset="0x2410"/>
<Texture Name="sNintendoRightTex" OutName="nintendo_right" Format="ia8" Width="64" Height="48" Offset="0x2418"/>
<DList Name="sEmptyDL4" Offset="0x3018"/>
<Texture Name="sPresentedByTex" OutName="presented_by" Format="ia8" Width="96" Height="16" Offset="0x3020"/>
<DList Name="sEmptyDL5" Offset="0x3620"/>
<Texture Name="sTheEndTex" OutName="the_end" Format="ia8" Width="80" Height="24" Offset="0x3628"/>
<DList Name="sEmptyDL6" Offset="0x3DA8"/>
<Texture Name="sTheLegendOfZeldaTex" OutName="the_legend_of_zelda" Format="ia8" Width="120" Height="24" Offset="0x3DB0"/>
<DList Name="sEmptyDL7" Offset="0x48F0"/>
<Texture Name="sOcarinaOfTimeTex" OutName="ocarina_of_time" Format="ia8" Width="112" Height="16" Offset="0x48F8"/>
<Array Name="sTriforceVtx" Count="6" Offset="0x4FF8">
<Vtx/>
</Array>
<DList Name="sTriforceDL" Offset="0x5058"/>
<DList Name="sPresentedByNintendoDL" Offset="0x50B8"/>
</File>
</Root>

View File

@@ -1,6 +1,7 @@
<Root>
<File Name="bdan_scene" Segment="2">
<Cutscene Name="gJabuJabuIntroCs" Offset="0x155E0"/>
<Cutscene Name="gJabuIntroCs" Offset="0x155E0"/>
<Cutscene Name="gJabuRutoObtainingSapphireUnusedCs" Offset="0x13080"/>
<Scene Name="bdan_scene" Offset="0x0"/>
</File>
<File Name="bdan_room_0" Segment="3">

View File

@@ -1,6 +1,7 @@
<Root>
<File Name="bdan_scene" Segment="2">
<Cutscene Name="gJabuJabuIntroCs" Offset="0x15600"/>
<Cutscene Name="gJabuIntroCs" Offset="0x15600"/>
<Cutscene Name="gJabuRutoObtainingSapphireUnusedCs" Offset="0x130A0"/>
<Scene Name="bdan_scene" Offset="0x0"/>
</File>
<File Name="bdan_room_0" Segment="3">

View File

@@ -1,6 +1,7 @@
<Root>
<File Name="ganon_demo_scene" Segment="2">
<Scene Name="ganon_demo_scene" Offset="0x0"/>
<Cutscene Name="gGanonCastleCollapseCs" Offset="0x01B0"/>
</File>
<File Name="ganon_demo_room_0" Segment="3">
<Room Name="ganon_demo_room_0" Offset="0x0"/>

View File

@@ -2,6 +2,7 @@
<File Name="jyasinboss_scene" Segment="2">
<Cutscene Name="gSpiritBossNabooruKnuckleIntroCs" Offset="0x2BB0"/>
<Cutscene Name="gSpiritBossNabooruKnuckleDefeatCs" Offset="0x3F80"/>
<Cutscene Name="gSpiritBossTitleCs" Offset="0x5850"/>
<Scene Name="jyasinboss_scene" Offset="0x0"/>
</File>
<File Name="jyasinboss_room_0" Segment="3">

View File

@@ -6,6 +6,10 @@
<Scene Name="jyasinzou_scene" Offset="0x0"/>
<Scene Name="jyasinzou_scene_unused1" Offset="0x17220"/>
<Scene Name="jyasinzou_scene_unused2" Offset="0x17710"/>
<!-- These are unused versions of `gKokiriForestKokiriEmeraldPart7Cs` -->
<Cutscene Name="gSpiritTempleUnused1Cs" Offset="0x16860"/>
<Cutscene Name="gSpiritTempleUnused2Cs" Offset="0x16D40"/>
</File>
<File Name="jyasinzou_room_0" Segment="3">
<Room Name="jyasinzou_room_0" Offset="0x0"/>

View File

@@ -6,6 +6,10 @@
<Scene Name="jyasinzou_scene" Offset="0x0"/>
<Scene Name="jyasinzou_scene_unused1" Offset="0x17200"/>
<Scene Name="jyasinzou_scene_unused2" Offset="0x176F0"/>
<!-- These are unused versions of `gKokiriForestKokiriEmeraldPart7Cs` -->
<Cutscene Name="gSpiritTempleUnused1Cs" Offset="0x16840"/>
<Cutscene Name="gSpiritTempleUnused2Cs" Offset="0x16D20"/>
</File>
<File Name="jyasinzou_room_0" Segment="3">
<Room Name="jyasinzou_room_0" Offset="0x0"/>

View File

@@ -1,6 +1,9 @@
<Root>
<File Name="kenjyanoma_scene" Segment="2">
<Scene Name="kenjyanoma_scene" Offset="0x0"/>
<Cutscene Name="gChamberOfSagesRauruFinalMsgCs" Offset="0x12A0"/>
<Cutscene Name="gChamberOfSagesLightMedallionCs" Offset="0x0120"/>
<Cutscene Name="gChamberOfSagesSealOpeningCs" Offset="0x1690"/>
</File>
<File Name="kenjyanoma_room_0" Segment="3">
<Room Name="kenjyanoma_room_0" Offset="0x0"/>

View File

@@ -1,6 +1,8 @@
<Root>
<File Name="link_home_scene" Segment="2">
<Scene Name="link_home_scene" Offset="0x0"/>
<Cutscene Name="gLinkHouseIntroWakeUpCs" Offset="0x1040"/>
<Cutscene Name="gLinkHouseIntroSleepCs" Offset="0x15D0"/>
</File>
<File Name="link_home_room_0" Segment="3">
<Room Name="link_home_room_0" Offset="0x0"/>

View File

@@ -4,6 +4,8 @@
<Cutscene Name="gZeldasCourtyardWindowCs" Offset="0x444"/>
<Cutscene Name="gZeldasCourtyardMeetCs" Offset="0x3994"/>
<Cutscene Name="gZeldasCourtyardLullabyCs" Offset="0x2524"/>
<Cutscene Name="gZeldasCourtyardTheEndCs" Offset="0x1C04"/>
<Cutscene Name="gZeldasCourtyardLullabyUnusedCs" Offset="0x34B0"/>
<Scene Name="nakaniwa_scene" Offset="0x0"/>
</File>

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