mirror of
https://github.com/HackerN64/HackerOoT.git
synced 2026-01-21 10:37:37 -08:00
Merge remote-tracking branch 'decomp/main' into decomp_merge
This commit is contained in:
13
Dockerfile
13
Dockerfile
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
1823
assets/text/charmap.chn.txt
Normal file
File diff suppressed because it is too large
Load Diff
20
assets/text/charmap.jpn.txt
Normal file
20
assets/text/charmap.jpn.txt
Normal 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,
|
||||
}
|
||||
50
assets/text/charmap.nes.txt
Normal file
50
assets/text/charmap.nes.txt
Normal 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,
|
||||
}
|
||||
@@ -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),
|
||||
}
|
||||
21
assets/xml/objects/object_mag_ique.xml
Normal file
21
assets/xml/objects/object_mag_ique.xml
Normal 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>
|
||||
@@ -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>
|
||||
|
||||
26
assets/xml/overlays/ovl_End_Title_ique.xml
Normal file
26
assets/xml/overlays/ovl_End_Title_ique.xml
Normal 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>
|
||||
@@ -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">
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user