more linux fixes

This commit is contained in:
Blake Warner 2022-05-02 14:31:20 -04:00
parent cef67aa666
commit 0c5b195d1d
56 changed files with 635 additions and 226 deletions

@ -1 +1 @@
Subproject commit f495dd420927f0284211f1f98bdacf2a175388e8
Subproject commit a50281d820d6cd1aceff7f5c86a16547cb9f278f

View File

@ -169,9 +169,14 @@ Linux does not currently work. The below steps are for development purposes.
```
Debian/Ubuntu
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install gcc-multilib g++-multilib
sudo apt install libsdl2-dev
sudo apt install libsdl2-dev:i386
sudo apt install libpng-dev
sudo apt install libfreetype6-dev
sudo apt install libfreetype6-dev:i386
sudo apt install python3
sudo apt install python3-pip
sudo apt install meson
@ -195,7 +200,7 @@ sudo dnf in python3-pip
sudo dnf in libpng
setup.py -b EUR_MQD
meson setup linux
meson setup linux --cross-file x86-linux-gnu
cd linux
ninja
```

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
#include "actor_common.h"
#include "overlays\misc\ovl_kaleido_scope\z_kaleido_scope.h"
#include "overlays/misc/ovl_kaleido_scope/z_kaleido_scope.h"
static const Vtx sMarkBossVtx[] = {
VTX(-4, 4, 0, 0, 0, 255, 255, 255, 255),

View File

@ -1,11 +1,11 @@
<Root>
<File Name="ovl_Arrow_Fire" BaseAddress="0x80865d10" RangeStart="0x9D0" RangeEnd="0x1DF0">
<Texture Name="s1Tex" OutName="fire_tex_1" Format="i8" Width="32" Height="64" Offset="0x9D0" Static="On"/>
<Texture Name="s2Tex" OutName="fire_tex_2" Format="i8" Width="32" Height="64" Offset="0x11D0" Static="On"/>
<Array Name="sVtx" Count="43" Offset="0x19D0" Static="On">
<Texture Name="sArrowFire1Tex" OutName="fire_tex_1" Format="i8" Width="32" Height="64" Offset="0x9D0" Static="On"/>
<Texture Name="sArrowFire2Tex" OutName="fire_tex_2" Format="i8" Width="32" Height="64" Offset="0x11D0" Static="On"/>
<Array Name="sArrowFireVtx" Count="43" Offset="0x19D0" Static="On">
<Vtx/>
</Array>
<DList Name="sMaterialDL" Offset="0x1C80" Static="On"/>
<DList Name="sModelDL" Offset="0x1D30" Static="On"/>
<DList Name="sArrowFireMaterialDL" Offset="0x1C80" Static="On"/>
<DList Name="sArrowFireModelDL" Offset="0x1D30" Static="On"/>
</File>
</Root>

View File

@ -1,11 +1,11 @@
<Root>
<File Name="ovl_Arrow_Ice" BaseAddress="0x80867cd0" RangeStart="0x9F0" RangeEnd="0x1E10">
<Texture Name="s1Tex" OutName="ice_tex_1" Format="i8" Width="32" Height="64" Offset="0x9F0" Static="On"/>
<Texture Name="s2Tex" OutName="ice_tex_2" Format="i8" Width="32" Height="64" Offset="0x11F0" Static="On"/>
<Array Name="sVtx" Count="43" Offset="0x19F0" Static="On">
<Texture Name="sArrowIce1Tex" OutName="ice_tex_1" Format="i8" Width="32" Height="64" Offset="0x9F0" Static="On"/>
<Texture Name="sArrowIce2Tex" OutName="ice_tex_2" Format="i8" Width="32" Height="64" Offset="0x11F0" Static="On"/>
<Array Name="sArrowIceVtx" Count="43" Offset="0x19F0" Static="On">
<Vtx/>
</Array>
<DList Name="sMaterialDL" Offset="0x1CA0" Static="On"/>
<DList Name="sModelDL" Offset="0x1D50" Static="On"/>
<DList Name="sArrowIceMaterialDL" Offset="0x1CA0" Static="On"/>
<DList Name="sArrowIceModelDL" Offset="0x1D50" Static="On"/>
</File>
</Root>

View File

@ -1,11 +1,11 @@
<Root>
<File Name="ovl_Arrow_Light" BaseAddress="0x80869cb0" RangeStart="0xA00" RangeEnd="0x1E20">
<Texture Name="s1Tex" OutName="light_tex_1" Format="i8" Width="32" Height="64" Offset="0xA00" Static="On"/>
<Texture Name="s2Tex" OutName="light_tex_2" Format="i8" Width="32" Height="64" Offset="0x1200" Static="On"/>
<Array Name="sVtx" Count="43" Offset="0x1A00" Static="On">
<Texture Name="sArrowLight1Tex" OutName="light_tex_1" Format="i8" Width="32" Height="64" Offset="0xA00" Static="On"/>
<Texture Name="sArrowLight2Tex" OutName="light_tex_2" Format="i8" Width="32" Height="64" Offset="0x1200" Static="On"/>
<Array Name="sArrowLightVtx" Count="43" Offset="0x1A00" Static="On">
<Vtx/>
</Array>
<DList Name="sMaterialDL" Offset="0x1CB0" Static="On"/>
<DList Name="sModelDL" Offset="0x1D60" Static="On"/>
<DList Name="sArrowLightMaterialDL" Offset="0x1CB0" Static="On"/>
<DList Name="sArrowLightModelDL" Offset="0x1D60" Static="On"/>
</File>
</Root>

View File

@ -3,14 +3,14 @@
<DList Name="D_809AD278" Offset="0x758"/>
<Array Name="sCylinderVtx" Count="16" Offset="0x798">
<Array Name="sElfMsgCylinderVtx" Count="16" Offset="0x798">
<Vtx/>
</Array>
<DList Name="sCylinderDL" Offset="0x898"/>
<DList Name="sElfMsgCylinderDL" Offset="0x898"/>
<Array Name="sCubeVtx" Count="8" Offset="0x918">
<Array Name="sElfMsgCubeVtx" Count="8" Offset="0x918">
<Vtx/>
</Array>
<DList Name="sCubeDL" Offset="0x998"/>
<DList Name="sElfMsgCubeDL" Offset="0x998"/>
</File>
</Root>

View File

@ -3,9 +3,9 @@
<DList Name="D_809ADC38" Offset="0x538"/>
<Array Name="sCubeVtx" Count="8" Offset="0x578">
<Array Name="sElfMsg2CubeVtx" Count="8" Offset="0x578">
<Vtx/>
</Array>
<DList Name="sCubeDL" Offset="0x5F8"/>
<DList Name="sElfMsg2CubeDL" Offset="0x5F8"/>
</File>
</Root>

View File

@ -1,38 +1,38 @@
<Root>
<File Name="ovl_En_Jsjutan" BaseAddress="0x80A897A0" RangeStart="0x12F8" RangeEnd="0x4C88">
<!-- D_80A8AA98. Carpet texture. -->
<Texture Name="sCarpetTex" OutName="carpet" Format="rgba16" Width="32" Height="64" Offset="0x12F8"/>
<Texture Name="sEnJsjutanCarpetTex" OutName="carpet" Format="rgba16" Width="32" Height="64" Offset="0x12F8"/>
<!-- D_80A8BA98. Carpet's shadow vertices. Same vertex type as sShadowEvenVtx. Used when gameplayFrames is odd. -->
<Array Name="gShadowOddVtx" Count="144" Offset="0x22F8">
<Array Name="gEnJsjutanShadowOddVtx" Count="144" Offset="0x22F8">
<Vtx/>
</Array>
<!-- D_80A8C398. Carpet's shadow vertices. Same vertex type as gShadowOddVtx. Used when gameplayFrames is even. -->
<Array Name="sShadowEvenVtx" Count="144" Offset="0x2BF8">
<Array Name="sEnJsjutanShadowEvenVtx" Count="144" Offset="0x2BF8">
<Vtx/>
</Array>
<!-- D_80A8CC98. Carpet vertices. Same vertex type as sCarpetEvenVtx. Used when gameplayFrames is odd. -->
<Array Name="sCarpetOddVtx" Count="144" Offset="0x34F8">
<Array Name="sEnJsjutanCarpetOddVtx" Count="144" Offset="0x34F8">
<Vtx/>
</Array>
<!-- D_80A8E610. Variable declared in `.bss` of EnJsjutan. Used by sShadowMaterialDL -->
<Symbol Name="sShadowTex" Type="u8" TypeSize="1" Count="0x800" Offset="0x4E70"/>
<Symbol Name="sEnJsjutanShadowTex" Type="u8" TypeSize="1" Count="0x800" Offset="0x4E70"/>
<!-- D_80A8D598. Draws the carpet's texture. -->
<DList Name="sCarpetMaterialDL" Offset="0x3DF8"/>
<DList Name="sEnJsjutanCarpetMaterialDL" Offset="0x3DF8"/>
<!-- D_80A8D618. Draws the carpet's shadow texture. -->
<DList Name="sShadowMaterialDL" Offset="0x3E78"/>
<DList Name="sEnJsjutanShadowMaterialDL" Offset="0x3E78"/>
<!-- D_80A8D688. Draws vertexs in segment 0x0C. -->
<DList Name="sModelDL" Offset="0x3EE8"/>
<DList Name="sEnJsjutanModelDL" Offset="0x3EE8"/>
<!-- D_80A8DAB8. Carpet vertices. Same vertex type as sCarpetOddVtx. Used when gameplayFrames is even. -->
<Array Name="sCarpetEvenVtx" Count="144" Offset="0x4318">
<Array Name="sEnJsjutanCarpetEvenVtx" Count="144" Offset="0x4318">
<Vtx/>
</Array>
<!-- D_80A8E400 -->
<Collision Name="sCol" Offset="0x4C60"/>
<Collision Name="sEnJsjutanCol" Offset="0x4C60"/>
</File>
</Root>

View File

@ -1,8 +1,8 @@
<Root>
<File Name="ovl_En_Kanban" BaseAddress="0x80A91FA0" RangeStart="0x2F80" RangeEnd="0x3040">
<Array Name="sShadowVtx" Count="4" Offset="0x2F80">
<Array Name="sEnKanbanShadowVtx" Count="4" Offset="0x2F80">
<Vtx/>
</Array>
<DList Name="sShadowDL" Offset="0x2FC0"/>
<DList Name="sEnKanbanShadowDL" Offset="0x2FC0"/>
</File>
</Root>

View File

@ -1,13 +1,13 @@
<Root>
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
<File Name="ovl_Magic_Dark" BaseAddress="0x80B873D0" RangeStart="0xD10" RangeEnd="0x1740">
<Texture Name="sDiamondTex" OutName="diamond_texture" Format="i8" Width="32" Height="64" Offset="0xD10"/>
<Texture Name="sMagicDarkDiamondTex" OutName="diamond_texture" Format="i8" Width="32" Height="64" Offset="0xD10"/>
<Array Name="sDiamondVtx" Count="20" Offset="0x1510">
<Array Name="sMagicDarkDiamondVtx" Count="20" Offset="0x1510">
<Vtx/>
</Array>
<DList Name="sDiamondMaterialDL" Offset="0x1650"/>
<DList Name="sDiamondModelDL" Offset="0x1700"/>
<DList Name="sMagicDarkDiamondMaterialDL" Offset="0x1650"/>
<DList Name="sMagicDarkDiamondModelDL" Offset="0x1700"/>
</File>
</Root>

View File

@ -1,10 +1,10 @@
<Root>
<File Name="ovl_Magic_Fire" BaseAddress="0x80B88D70" RangeStart="0xB90" RangeEnd="0x21E0">
<Texture Name="sTex" OutName="dins_fire" Format="i8" Width="64" Height="64" Offset="0xB90"/>
<Array Name="sSphereVtx" Count="76" Offset="0x1B90">
<Texture Name="sMagicFireTex" OutName="dins_fire" Format="i8" Width="64" Height="64" Offset="0xB90"/>
<Array Name="sMagicFireSphereVtx" Count="76" Offset="0x1B90">
<Vtx/>
</Array>
<DList Name="sMaterialDL" Offset="0x2050"/>
<DList Name="sModelDL" Offset="0x2078"/>
<DList Name="sMagicFireMaterialDL" Offset="0x2050"/>
<DList Name="sMagicFireModelDL" Offset="0x2078"/>
</File>
</Root>

View File

@ -1,15 +1,15 @@
<Root>
<File Name="ovl_Magic_Wind" BaseAddress="0x80B8B100" RangeStart="0x780" RangeEnd="0x1C98">
<Skeleton Name="sSkel" Type="Curve" LimbType="Curve" Offset="0x1C90"/>
<CurveAnimation Name="sAnim" SkelOffset="0x1C90" Offset="0x1C50"/>
<Limb Name="sRootLimb" LimbType="Curve" Offset="0x1C60"/>
<Limb Name="sInnerCylinderLimb" LimbType="Curve" Offset="0x1C6C"/>
<Limb Name="sOuterCylinderLimb" LimbType="Curve" Offset="0x1C78"/>
<Array Name="sCylinderVtx" Count="36" Offset="0x780">
<Skeleton Name="sMagicWindSkel" Type="Curve" LimbType="Curve" Offset="0x1C90"/>
<CurveAnimation Name="sMagicWindAnim" SkelOffset="0x1C90" Offset="0x1C50"/>
<Limb Name="sMagicWindRootLimb" LimbType="Curve" Offset="0x1C60"/>
<Limb Name="sMagicWindInnerCylinderLimb" LimbType="Curve" Offset="0x1C6C"/>
<Limb Name="sMagicWindOuterCylinderLimb" LimbType="Curve" Offset="0x1C78"/>
<Array Name="sMagicWindCylinderVtx" Count="36" Offset="0x780">
<Vtx/>
</Array>
<Texture Name="sTex" OutName="magic_wind" Format="i8" Width="64" Height="64" Offset="0x9C0"/>
<DList Name="sInnerCylinderDL" Offset="0x19C0"/>
<DList Name="sOuterCylinderDL" Offset="0x1AC8"/>
<Texture Name="sMagicWindTex" OutName="magic_wind" Format="i8" Width="64" Height="64" Offset="0x9C0"/>
<DList Name="sMagicWindInnerCylinderDL" Offset="0x19C0"/>
<DList Name="sMagicWindOuterCylinderDL" Offset="0x1AC8"/>
</File>
</Root>

View File

@ -1,10 +1,10 @@
<Root>
<File Name="ovl_Oceff_Spot" BaseAddress="0x80BA6070" RangeStart="0x7F0" RangeEnd="0xEC8">
<Texture Name="sTex" OutName="sun_song_effect" Format="i8" Width="32" Height="32" Offset="0x7F0"/>
<Array Name="sCylinderVtx" Count="27" Offset="0xBF0">
<Texture Name="sOceffSpotTex" OutName="sun_song_effect" Format="i8" Width="32" Height="32" Offset="0x7F0"/>
<Array Name="sOceffSpotCylinderVtx" Count="27" Offset="0xBF0">
<Vtx/>
</Array>
<DList Name="sCylinderMaterialDL" Offset="0xDA0"/>
<DList Name="sCylinderModelDL" Offset="0xE38"/>
<DList Name="sOceffSpotCylinderMaterialDL" Offset="0xDA0"/>
<DList Name="sOceffSpotCylinderModelDL" Offset="0xE38"/>
</File>
</Root>

View File

@ -1,12 +1,12 @@
<Root>
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
<File Name="ovl_Oceff_Storm" BaseAddress="0x80BA70E0" RangeStart="0x7B0" RangeEnd="0x1B40">
<Texture Name="sTex" OutName="song_of_storms_effect" Format="i8" Width="64" Height="64" Offset="0x7B0"/>
<DList Name="sMaterialDL" Offset="0x17B0"/>
<Array Name="sCylinderVtx" Count="27" Offset="0x1858">
<Texture Name="sOceffStormTex" OutName="song_of_storms_effect" Format="i8" Width="64" Height="64" Offset="0x7B0"/>
<DList Name="sOceffStormMaterialDL" Offset="0x17B0"/>
<Array Name="sOceffStormCylinderVtx" Count="27" Offset="0x1858">
<Vtx/>
</Array>
<DList Name="sCylinderMaterialDL" Offset="0x1A08"/>
<DList Name="sCylinderModelDL" Offset="0x1AB0"/>
<DList Name="sOceffStormCylinderMaterialDL" Offset="0x1A08"/>
<DList Name="sOceffStormCylinderModelDL" Offset="0x1AB0"/>
</File>
</Root>

View File

@ -1,10 +1,10 @@
<Root>
<File Name="ovl_Oceff_Wipe" BaseAddress="0x80BA8D90" RangeStart="0x550" RangeEnd="0xD10">
<Texture Name="sTex" OutName="oceff" Format="i8" Width="32" Height="32" Offset="0x550"/>
<Array Name="sFrustumVtx" Count="40" Offset="0x950">
<Texture Name="sOceffWipeTex" OutName="oceff" Format="i8" Width="32" Height="32" Offset="0x550"/>
<Array Name="sOceffWipeFrustumVtx" Count="40" Offset="0x950">
<Vtx/>
</Array>
<DList Name="sMaterialDL" Offset="0xBD0"/>
<DList Name="sFrustumDL" Offset="0xC58"/>
<DList Name="sOceffWipeMaterialDL" Offset="0xBD0"/>
<DList Name="sOceffWipeFrustumDL" Offset="0xC58"/>
</File>
</Root>

View File

@ -1,11 +1,11 @@
<Root>
<File Name="ovl_Oceff_Wipe2" BaseAddress="0x80BA9BB0" RangeStart="0x480" RangeEnd="0x16E8">
<Texture Name="s1Tex" OutName="eponas_song_effect_1" Format="i4" Width="64" Height="64" Offset="0x480"/>
<Texture Name="s2Tex" OutName="eponas_song_effect_2" Format="i4" Width="64" Height="64" Offset="0xC80"/>
<Array Name="sFrustumVtx" Count="22" Offset="0x1480">
<Texture Name="sOceffWipe21Tex" OutName="eponas_song_effect_1" Format="i4" Width="64" Height="64" Offset="0x480"/>
<Texture Name="sOceffWipe22Tex" OutName="eponas_song_effect_2" Format="i4" Width="64" Height="64" Offset="0xC80"/>
<Array Name="sOceffWipe2FrustumVtx" Count="22" Offset="0x1480">
<Vtx/>
</Array>
<DList Name="sMaterialDL" Offset="0x15E0"/>
<DList Name="sFrustumDL" Offset="0x1688"/>
<DList Name="sOceffWipe2MaterialDL" Offset="0x15E0"/>
<DList Name="sOceffWipe2FrustumDL" Offset="0x1688"/>
</File>
</Root>

View File

@ -1,10 +1,10 @@
<Root>
<File Name="ovl_Oceff_Wipe3" BaseAddress="0x80BAB3F0" RangeStart="0x480" RangeEnd="0x16C8">
<Texture Name="sTex" OutName="saria_song_effect" Format="i8" Width="64" Height="64" Offset="0x480"/>
<Array Name="sFrustumVtx" Count="22" Offset="0x1480">
<Texture Name="sOceffWipe3Tex" OutName="saria_song_effect" Format="i8" Width="64" Height="64" Offset="0x480"/>
<Array Name="sOceffWipe3FrustumVtx" Count="22" Offset="0x1480">
<Vtx/>
</Array>
<DList Name="sMaterialDL" Offset="0x15E0"/>
<DList Name="sFrustumDL" Offset="0x1668"/>
<DList Name="sOceffWipe3MaterialDL" Offset="0x15E0"/>
<DList Name="sOceffWipe3FrustumDL" Offset="0x1668"/>
</File>
</Root>

View File

@ -1,12 +1,12 @@
<Root>
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
<File Name="ovl_Oceff_Wipe4" BaseAddress="0x80BACC10" RangeStart="0x460" RangeEnd="0xF48">
<Texture Name="sTex" OutName="scarecrow_song_effect" Format="i8" Width="32" Height="64" Offset="0x460"/>
<Array Name="sFrustumVtx" Count="22" Offset="0xC60">
<Texture Name="sOceffWipe4Tex" OutName="scarecrow_song_effect" Format="i8" Width="32" Height="64" Offset="0x460"/>
<Array Name="sOceffWipe4FrustumVtx" Count="22" Offset="0xC60">
<Vtx/>
</Array>
<DList Name="sMaterialDL" Offset="0xDC0"/>
<DList Name="sUnusedMaterialDL" Offset="0xE28"/>
<DList Name="sMaterial2DL" Offset="0xE90"/>
<DList Name="sOceffWipe4MaterialDL" Offset="0xDC0"/>
<DList Name="sOceffWipe4UnusedMaterialDL" Offset="0xE28"/>
<DList Name="sOceffWipe4Material2DL" Offset="0xE90"/>
</File>
</Root>

View File

@ -1,11 +1,11 @@
<Root>
<File Name="ovl_Arrow_Fire" BaseAddress="0x80A5F6B0" RangeStart="0x960" RangeEnd="0x1D30">
<Texture Name="s1Tex" OutName="fire_tex_1" Format="i8" Width="32" Height="64" Offset="0x960" Static="On"/>
<Texture Name="s2Tex" OutName="fire_tex_2" Format="i8" Width="32" Height="64" Offset="0x1160" Static="On"/>
<Array Name="sVtx" Count="43" Offset="0x1960" Static="On">
<Texture Name="sArrowFire1Tex" OutName="fire_tex_1" Format="i8" Width="32" Height="64" Offset="0x960" Static="On"/>
<Texture Name="sArrowFire2Tex" OutName="fire_tex_2" Format="i8" Width="32" Height="64" Offset="0x1160" Static="On"/>
<Array Name="sArrowFireVtx" Count="43" Offset="0x1960" Static="On">
<Vtx/>
</Array>
<DList Name="sMaterialDL" Offset="0x1C10" Static="On"/>
<DList Name="sModelDL" Offset="0x1CC0" Static="On"/>
<DList Name="sArrowFireMaterialDL" Offset="0x1C10" Static="On"/>
<DList Name="sArrowFireModelDL" Offset="0x1CC0" Static="On"/>
</File>
</Root>

View File

@ -1,11 +1,11 @@
<Root>
<File Name="ovl_Arrow_Ice" BaseAddress="0x80A61570" RangeStart="0x980" RangeEnd="0x1DA0">
<Texture Name="s1Tex" OutName="ice_tex_1" Format="i8" Width="32" Height="64" Offset="0x980" Static="On"/>
<Texture Name="s2Tex" OutName="ice_tex_2" Format="i8" Width="32" Height="64" Offset="0x1180" Static="On"/>
<Array Name="sVtx" Count="43" Offset="0x1980" Static="On">
<Texture Name="sArrowIce1Tex" OutName="ice_tex_1" Format="i8" Width="32" Height="64" Offset="0x980" Static="On"/>
<Texture Name="sArrowIce2Tex" OutName="ice_tex_2" Format="i8" Width="32" Height="64" Offset="0x1180" Static="On"/>
<Array Name="sArrowIceVtx" Count="43" Offset="0x1980" Static="On">
<Vtx/>
</Array>
<DList Name="sMaterialDL" Offset="0x1C30" Static="On"/>
<DList Name="sModelDL" Offset="0x1CE0" Static="On"/>
<DList Name="sArrowIceMaterialDL" Offset="0x1C30" Static="On"/>
<DList Name="sArrowIceModelDL" Offset="0x1CE0" Static="On"/>
</File>
</Root>

View File

@ -1,11 +1,11 @@
<Root>
<File Name="ovl_Arrow_Light" BaseAddress="0x80A63450" RangeStart="0x990" RangeEnd="0x1DB0">
<Texture Name="s1Tex" OutName="light_tex_1" Format="i8" Width="32" Height="64" Offset="0x990" Static="On"/>
<Texture Name="s2Tex" OutName="light_tex_2" Format="i8" Width="32" Height="64" Offset="0x1190" Static="On"/>
<Array Name="sVtx" Count="43" Offset="0x1990" Static="On">
<Texture Name="sArrowLight1Tex" OutName="light_tex_1" Format="i8" Width="32" Height="64" Offset="0x990" Static="On"/>
<Texture Name="sArrowLight2Tex" OutName="light_tex_2" Format="i8" Width="32" Height="64" Offset="0x1190" Static="On"/>
<Array Name="sArrowLightVtx" Count="43" Offset="0x1990" Static="On">
<Vtx/>
</Array>
<DList Name="sMaterialDL" Offset="0x1C40" Static="On"/>
<DList Name="sModelDL" Offset="0x1CF0" Static="On"/>
<DList Name="sArrowLightMaterialDL" Offset="0x1C40" Static="On"/>
<DList Name="sArrowLightModelDL" Offset="0x1CF0" Static="On"/>
</File>
</Root>

View File

@ -1,38 +1,38 @@
<Root>
<File Name="ovl_En_Jsjutan" BaseAddress="0x80ADCC30" RangeStart="0x12B8" RangeEnd="0x4C48">
<!-- D_80A8AA98. Carpet texture. -->
<Texture Name="sCarpetTex" OutName="carpet" Format="rgba16" Width="32" Height="64" Offset="0x12B8"/>
<Texture Name="sEnJsjutanCarpetTex" OutName="carpet" Format="rgba16" Width="32" Height="64" Offset="0x12B8"/>
<!-- D_80A8BA98. Carpet's shadow vertices. Same vertex type as sShadowEvenVtx. Used when gameplayFrames is odd. -->
<Array Name="gShadowOddVtx" Count="144" Offset="0x22B8">
<Array Name="gEnJsjutanShadowOddVtx" Count="144" Offset="0x22B8">
<Vtx/>
</Array>
<!-- D_80A8C398. Carpet's shadow vertices. Same vertex type as gShadowOddVtx. Used when gameplayFrames is even. -->
<Array Name="sShadowEvenVtx" Count="144" Offset="0x2BB8">
<Array Name="sEnJsjutanShadowEvenVtx" Count="144" Offset="0x2BB8">
<Vtx/>
</Array>
<!-- D_80A8CC98. Carpet vertices. Same vertex type as sCarpetEvenVtx. Used when gameplayFrames is odd. -->
<Array Name="sCarpetOddVtx" Count="144" Offset="0x34B8">
<Array Name="sEnJsjutanCarpetOddVtx" Count="144" Offset="0x34B8">
<Vtx/>
</Array>
<!-- D_80A8E610. Variable declared in `.bss` of EnJsjutan. Used by sShadowMaterialDL -->
<Symbol Name="sShadowTex" Type="u8" TypeSize="1" Count="0x800" Offset="0x4DC0"/>
<Symbol Name="sEnJsjutanShadowTex" Type="u8" TypeSize="1" Count="0x800" Offset="0x4DC0"/>
<!-- D_80A8D598. Draws the carpet's texture. -->
<DList Name="sCarpetMaterialDL" Offset="0x3DB8"/>
<DList Name="sEnJsjutanCarpetMaterialDL" Offset="0x3DB8"/>
<!-- D_80A8D618. Draws the carpet's shadow texture. -->
<DList Name="sShadowMaterialDL" Offset="0x3E38"/>
<DList Name="sEnJsjutanShadowMaterialDL" Offset="0x3E38"/>
<!-- D_80A8D688. Draws vertexs in segment 0x0C. -->
<DList Name="sModelDL" Offset="0x3EA8"/>
<DList Name="sEnJsjutanModelDL" Offset="0x3EA8"/>
<!-- D_80A8DAB8. Carpet vertices. Same vertex type as sCarpetOddVtx. Used when gameplayFrames is even. -->
<Array Name="sCarpetEvenVtx" Count="144" Offset="0x42D8">
<Array Name="sEnJsjutanCarpetEvenVtx" Count="144" Offset="0x42D8">
<Vtx/>
</Array>
<!-- D_80A8E400 -->
<Collision Name="sCol" Offset="0x4C20"/>
<Collision Name="sEnJsjutanCol" Offset="0x4C20"/>
</File>
</Root>

View File

@ -1,8 +1,8 @@
<Root>
<File Name="ovl_En_Kanban" BaseAddress="0x80AA2A00" RangeStart="0x2E70" RangeEnd="0x2F30">
<Array Name="sShadowVtx" Count="4" Offset="0x2E70">
<Array Name="sEnKanbanShadowVtx" Count="4" Offset="0x2E70">
<Vtx/>
</Array>
<DList Name="sShadowDL" Offset="0x2EB0"/>
<DList Name="sEnKanbanShadowDL" Offset="0x2EB0"/>
</File>
</Root>

View File

@ -1,13 +1,13 @@
<Root>
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
<File Name="ovl_Magic_Dark" BaseAddress="0x80A2C850" RangeStart="0xC90" RangeEnd="0x16C0">
<Texture Name="sDiamondTex" OutName="diamond_texture" Format="i8" Width="32" Height="64" Offset="0xC90"/>
<Texture Name="sMagicDarkDiamondTex" OutName="diamond_texture" Format="i8" Width="32" Height="64" Offset="0xC90"/>
<Array Name="sDiamondVtx" Count="20" Offset="0x1490">
<Array Name="sMagicDarkDiamondVtx" Count="20" Offset="0x1490">
<Vtx/>
</Array>
<DList Name="sDiamondMaterialDL" Offset="0x15D0"/>
<DList Name="sDiamondModelDL" Offset="0x1680"/>
<DList Name="sMagicDarkDiamondMaterialDL" Offset="0x15D0"/>
<DList Name="sMagicDarkDiamondModelDL" Offset="0x1680"/>
</File>
</Root>

View File

@ -1,10 +1,10 @@
<Root>
<File Name="ovl_Magic_Fire" BaseAddress="0x8095E560" RangeStart="0xB20" RangeEnd="0x2170">
<Texture Name="sTex" OutName="dins_fire" Format="i8" Width="64" Height="64" Offset="0xB20"/>
<Array Name="sSphereVtx" Count="76" Offset="0x1B20">
<Texture Name="sMagicFireTex" OutName="dins_fire" Format="i8" Width="64" Height="64" Offset="0xB20"/>
<Array Name="sMagicFireSphereVtx" Count="76" Offset="0x1B20">
<Vtx/>
</Array>
<DList Name="sMaterialDL" Offset="0x1FE0"/>
<DList Name="sModelDL" Offset="0x2008"/>
<DList Name="sMagicFireMaterialDL" Offset="0x1FE0"/>
<DList Name="sMagicFireModelDL" Offset="0x2008"/>
</File>
</Root>

View File

@ -1,15 +1,15 @@
<Root>
<File Name="ovl_Magic_Wind" BaseAddress="0x8095C860" RangeStart="0x6A0" RangeEnd="0x1BB8">
<Skeleton Name="sSkel" Type="Curve" LimbType="Curve" Offset="0x1BB0"/>
<CurveAnimation Name="sAnim" SkelOffset="0x1BB0" Offset="0x1B70"/>
<Limb Name="sRootLimb" LimbType="Curve" Offset="0x1B80"/>
<Limb Name="sInnerCylinderLimb" LimbType="Curve" Offset="0x1B8C"/>
<Limb Name="sOuterCylinderLimb" LimbType="Curve" Offset="0x1B98"/>
<Array Name="sCylinderVtx" Count="36" Offset="0x6A0">
<Skeleton Name="sMagicWindSkel" Type="Curve" LimbType="Curve" Offset="0x1BB0"/>
<CurveAnimation Name="sMagicWindAnim" SkelOffset="0x1BB0" Offset="0x1B70"/>
<Limb Name="sMagicWindRootLimb" LimbType="Curve" Offset="0x1B80"/>
<Limb Name="sMagicWindInnerCylinderLimb" LimbType="Curve" Offset="0x1B8C"/>
<Limb Name="sMagicWindOuterCylinderLimb" LimbType="Curve" Offset="0x1B98"/>
<Array Name="sMagicWindCylinderVtx" Count="36" Offset="0x6A0">
<Vtx/>
</Array>
<Texture Name="sTex" OutName="magic_wind" Format="i8" Width="64" Height="64" Offset="0x8E0"/>
<DList Name="sInnerCylinderDL" Offset="0x18E0"/>
<DList Name="sOuterCylinderDL" Offset="0x19E8"/>
<Texture Name="sMagicWindTex" OutName="magic_wind" Format="i8" Width="64" Height="64" Offset="0x8E0"/>
<DList Name="sMagicWindInnerCylinderDL" Offset="0x18E0"/>
<DList Name="sMagicWindOuterCylinderDL" Offset="0x19E8"/>
</File>
</Root>

View File

@ -1,10 +1,10 @@
<Root>
<File Name="ovl_Oceff_Spot" BaseAddress="0x80B1A890" RangeStart="0x780" RangeEnd="0xE58">
<Texture Name="sTex" OutName="sun_song_effect" Format="i8" Width="32" Height="32" Offset="0x780"/>
<Array Name="sCylinderVtx" Count="27" Offset="0xB80">
<Texture Name="sOceffSpotTex" OutName="sun_song_effect" Format="i8" Width="32" Height="32" Offset="0x780"/>
<Array Name="sOceffSpotCylinderVtx" Count="27" Offset="0xB80">
<Vtx/>
</Array>
<DList Name="sCylinderMaterialDL" Offset="0xD30"/>
<DList Name="sCylinderModelDL" Offset="0xDC8"/>
<DList Name="sOceffSpotCylinderMaterialDL" Offset="0xD30"/>
<DList Name="sOceffSpotCylinderModelDL" Offset="0xDC8"/>
</File>
</Root>

View File

@ -1,12 +1,12 @@
<Root>
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
<File Name="ovl_Oceff_Storm" BaseAddress="0x80B39AA0" RangeStart="0x740" RangeEnd="0x1AD0">
<Texture Name="sTex" OutName="song_of_storms_effect" Format="i8" Width="64" Height="64" Offset="0x740"/>
<DList Name="sMaterialDL" Offset="0x1740"/>
<Array Name="sCylinderVtx" Count="27" Offset="0x17E8">
<Texture Name="sOceffStormTex" OutName="song_of_storms_effect" Format="i8" Width="64" Height="64" Offset="0x740"/>
<DList Name="sOceffStormMaterialDL" Offset="0x1740"/>
<Array Name="sOceffStormCylinderVtx" Count="27" Offset="0x17E8">
<Vtx/>
</Array>
<DList Name="sCylinderMaterialDL" Offset="0x1998"/>
<DList Name="sCylinderModelDL" Offset="0x1A40"/>
<DList Name="sOceffStormCylinderMaterialDL" Offset="0x1998"/>
<DList Name="sOceffStormCylinderModelDL" Offset="0x1A40"/>
</File>
</Root>

View File

@ -1,10 +1,10 @@
<Root>
<File Name="ovl_Oceff_Wipe" BaseAddress="0x80B2C7B0" RangeStart="0x4F0" RangeEnd="0xCB0">
<Texture Name="sTex" OutName="oceff" Format="i8" Width="32" Height="32" Offset="0x4F0"/>
<Array Name="sFrustumVtx" Count="40" Offset="0x8F0">
<Texture Name="sOceffWipeTex" OutName="oceff" Format="i8" Width="32" Height="32" Offset="0x4F0"/>
<Array Name="sOceffWipeFrustumVtx" Count="40" Offset="0x8F0">
<Vtx/>
</Array>
<DList Name="sMaterialDL" Offset="0xB70"/>
<DList Name="sFrustumDL" Offset="0xBF8"/>
<DList Name="sOceffWipeMaterialDL" Offset="0xB70"/>
<DList Name="sOceffWipeFrustumDL" Offset="0xBF8"/>
</File>
</Root>

View File

@ -1,11 +1,11 @@
<Root>
<File Name="ovl_Oceff_Wipe2" BaseAddress="0x80B470F0" RangeStart="0x430" RangeEnd="0x1698">
<Texture Name="s1Tex" OutName="eponas_song_effect_1" Format="i4" Width="64" Height="64" Offset="0x430"/>
<Texture Name="s2Tex" OutName="eponas_song_effect_2" Format="i4" Width="64" Height="64" Offset="0xC30"/>
<Array Name="sFrustumVtx" Count="22" Offset="0x1430">
<Texture Name="sOceffWipe21Tex" OutName="eponas_song_effect_1" Format="i4" Width="64" Height="64" Offset="0x430"/>
<Texture Name="sOceffWipe22Tex" OutName="eponas_song_effect_2" Format="i4" Width="64" Height="64" Offset="0xC30"/>
<Array Name="sOceffWipe2FrustumVtx" Count="22" Offset="0x1430">
<Vtx/>
</Array>
<DList Name="sMaterialDL" Offset="0x1590"/>
<DList Name="sFrustumDL" Offset="0x1638"/>
<DList Name="sOceffWipe2MaterialDL" Offset="0x1590"/>
<DList Name="sOceffWipe2FrustumDL" Offset="0x1638"/>
</File>
</Root>

View File

@ -1,10 +1,10 @@
<Root>
<File Name="ovl_Oceff_Wipe3" BaseAddress="0x80B48860" RangeStart="0x430" RangeEnd="0x1678">
<Texture Name="sTex" OutName="saria_song_effect" Format="i8" Width="64" Height="64" Offset="0x430"/>
<Array Name="sFrustumVtx" Count="22" Offset="0x1430">
<Texture Name="sOceffWipe3Tex" OutName="saria_song_effect" Format="i8" Width="64" Height="64" Offset="0x430"/>
<Array Name="sOceffWipe3FrustumVtx" Count="22" Offset="0x1430">
<Vtx/>
</Array>
<DList Name="sMaterialDL" Offset="0x1590"/>
<DList Name="sFrustumDL" Offset="0x1618"/>
<DList Name="sOceffWipe3MaterialDL" Offset="0x1590"/>
<DList Name="sOceffWipe3FrustumDL" Offset="0x1618"/>
</File>
</Root>

View File

@ -1,12 +1,12 @@
<Root>
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
<File Name="ovl_Oceff_Wipe4" BaseAddress="0x80B7BC40" RangeStart="0x410" RangeEnd="0xEF8">
<Texture Name="sTex" OutName="scarecrow_song_effect" Format="i8" Width="32" Height="64" Offset="0x410"/>
<Array Name="sFrustumVtx" Count="22" Offset="0xC10">
<Texture Name="sOceffWipe4Tex" OutName="scarecrow_song_effect" Format="i8" Width="32" Height="64" Offset="0x410"/>
<Array Name="sOceffWipe4FrustumVtx" Count="22" Offset="0xC10">
<Vtx/>
</Array>
<DList Name="sMaterialDL" Offset="0xD70"/>
<DList Name="sUnusedMaterialDL" Offset="0xDD8"/>
<DList Name="sMaterial2DL" Offset="0xE40"/>
<DList Name="sOceffWipe4MaterialDL" Offset="0xD70"/>
<DList Name="sOceffWipe4UnusedMaterialDL" Offset="0xDD8"/>
<DList Name="sOceffWipe4Material2DL" Offset="0xE40"/>
</File>
</Root>

View File

@ -111,8 +111,8 @@ void VisMono_Draw(VisMono* pthis, Gfx** gfxp)
gDPSetScissor(gfx++, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
}
gDPSetColor(gfx++, G_SETPRIMCOLOR, pthis->primColor.r, pthis->primColor.g, pthis->primColor.b, pthis->primColor.a);
gDPSetColor(gfx++, G_SETENVCOLOR, pthis->envColor.r, pthis->envColor.g, pthis->envColor.b, pthis->envColor.a);
gDPSetColor(gfx++, G_SETPRIMCOLOR, (u32)pthis->primColor);
gDPSetColor(gfx++, G_SETENVCOLOR, (u32)pthis->envColor);
gDPLoadTLUT_pal256(gfx++, tlut);

View File

@ -278,9 +278,9 @@ void ArrowFire_Draw(Actor* pthisx, GlobalContext* globalCtx2)
Matrix_Scale(pthis->radius * 0.2f, pthis->unk_158 * 4.0f, pthis->radius * 0.2f, MTXMODE_APPLY);
Matrix_Translate(0.0f, -700.0f, 0.0f, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->gfxCtx, "../z_arrow_fire.c", 666), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, sMaterialDL);
gSPDisplayList(POLY_XLU_DISP++, sArrowFireMaterialDL);
gSPDisplayList(POLY_XLU_DISP++, Gfx_TwoTexScroll(globalCtx->gfxCtx, 0, 255 - (uintptr_t)(stateFrames * 2) % 256, 0, 64, 32, 1, 255 - (uintptr_t)stateFrames % 256, 511 - (uintptr_t)(stateFrames * 10) % 512, 64, 64));
gSPDisplayList(POLY_XLU_DISP++, sModelDL);
gSPDisplayList(POLY_XLU_DISP++, sArrowFireModelDL);
CLOSE_DISPS(globalCtx->gfxCtx, "../z_arrow_fire.c", 682);
}

View File

@ -279,9 +279,9 @@ void ArrowIce_Draw(Actor* pthisx, GlobalContext* globalCtx)
Matrix_Scale(pthis->radius * 0.2f, pthis->unk_160 * 3.0f, pthis->radius * 0.2f, MTXMODE_APPLY);
Matrix_Translate(0.0f, -700.0f, 0.0f, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->gfxCtx, "../z_arrow_ice.c", 660), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, sMaterialDL);
gSPDisplayList(POLY_XLU_DISP++, sArrowIceMaterialDL);
gSPDisplayList(POLY_XLU_DISP++, Gfx_TwoTexScroll(globalCtx->gfxCtx, 0, 511 - (uintptr_t)(stateFrames * 5) % 512, 0, 128, 32, 1, 511 - (uintptr_t)(stateFrames * 10) % 512, 511 - (uintptr_t)(stateFrames * 10) % 512, 4, 16));
gSPDisplayList(POLY_XLU_DISP++, sModelDL);
gSPDisplayList(POLY_XLU_DISP++, sArrowIceModelDL);
CLOSE_DISPS(globalCtx->gfxCtx, "../z_arrow_ice.c", 676);
}

View File

@ -277,9 +277,9 @@ void ArrowLight_Draw(Actor* pthisx, GlobalContext* globalCtx)
Matrix_Scale(pthis->radius * 0.2f, pthis->unk_160 * 4.0f, pthis->radius * 0.2f, MTXMODE_APPLY);
Matrix_Translate(0.0f, -700.0f, 0.0f, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->gfxCtx, "../z_arrow_light.c", 648), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, sMaterialDL);
gSPDisplayList(POLY_XLU_DISP++, sArrowLightMaterialDL);
gSPDisplayList(POLY_XLU_DISP++, Gfx_TwoTexScroll(globalCtx->gfxCtx, 0, 511 - (uintptr_t)(stateFrames * 5) % 512, 0, 4, 32, 1, 511 - (uintptr_t)(stateFrames * 10) % 512, 511 - (uintptr_t)(stateFrames * 30) % 512, 8, 16));
gSPDisplayList(POLY_XLU_DISP++, sModelDL);
gSPDisplayList(POLY_XLU_DISP++, sArrowLightModelDL);
CLOSE_DISPS(globalCtx->gfxCtx, "../z_arrow_light.c", 664);
}

View File

@ -224,11 +224,11 @@ void ElfMsg_Draw(Actor* thisx, GlobalContext* globalCtx)
if(thisx->params & 0x4000)
{
gSPDisplayList(POLY_XLU_DISP++, sCubeDL);
gSPDisplayList(POLY_XLU_DISP++, sElfMsgCubeDL);
}
else
{
gSPDisplayList(POLY_XLU_DISP++, sCylinderDL);
gSPDisplayList(POLY_XLU_DISP++, sElfMsgCylinderDL);
}
CLOSE_DISPS(globalCtx->gfxCtx, "../z_elf_msg.c", 457);

View File

@ -193,7 +193,7 @@ void ElfMsg2_Draw(Actor* thisx, GlobalContext* globalCtx)
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 100, 100, 255, R_NAVI_MSG_REGION_ALPHA);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->gfxCtx, "../z_elf_msg2.c", 362), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, D_809ADC38);
gSPDisplayList(POLY_XLU_DISP++, sCubeDL);
gSPDisplayList(POLY_XLU_DISP++, sElfMsg2CubeDL);
CLOSE_DISPS(globalCtx->gfxCtx, "../z_elf_msg2.c", 367);
#endif

View File

@ -550,6 +550,7 @@ void EnBb_Damage(EnBb* pthis, GlobalContext* globalCtx)
{
Math_SmoothStepToF(&pthis->actor.speedXZ, 0.0f, 1.0f, 0.5f, 0.0f);
if(Round(pthis->actor.speedXZ) == 0.0f)
{
pthis->actor.shape.yOffset = 200.0f;
EnBb_SetupDown(pthis);

View File

@ -29,7 +29,7 @@ ActorInit En_Jsjutan_InitVars = {
};
// Shadow texture. 32x64 I8.
static u8 sShadowTex[0x800];
static u8 sEnJsjutanShadowTex[0x800];
static Vec3s D_80A8EE10[0x90];
@ -45,7 +45,7 @@ void EnJsjutan_Init(Actor* thisx, GlobalContext* globalCtx)
pthis->dyna.actor.flags &= ~ACTOR_FLAG_VISIBLE;
DynaPolyActor_Init(&pthis->dyna, DPM_UNK);
CollisionHeader_GetVirtual(&sCol, &header);
CollisionHeader_GetVirtual(&sEnJsjutanCol, &header);
pthis->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, thisx, header);
Actor_SetScale(thisx, 0.02f);
pthis->unk_164 = true;
@ -66,8 +66,8 @@ void func_80A89860(EnJsjutan* pthis, GlobalContext* globalCtx)
Vtx* evenVtx;
Vec3f actorPos = pthis->dyna.actor.world.pos;
oddVtx = SEGMENTED_TO_VIRTUAL(gShadowOddVtx);
evenVtx = SEGMENTED_TO_VIRTUAL(sShadowEvenVtx);
oddVtx = SEGMENTED_TO_VIRTUAL(gEnJsjutanShadowOddVtx);
evenVtx = SEGMENTED_TO_VIRTUAL(sEnJsjutanShadowEvenVtx);
for(i = 0; i < ARRAY_COUNT(D_80A8EE10); i++, oddVtx++, evenVtx++)
{
@ -128,13 +128,13 @@ void func_80A89A6C(EnJsjutan* pthis, GlobalContext* globalCtx)
if(globalCtx->gameplayFrames % 2 != 0)
{
carpetVtx = SEGMENTED_TO_VIRTUAL(sCarpetOddVtx);
shadowVtx = SEGMENTED_TO_VIRTUAL(gShadowOddVtx);
carpetVtx = SEGMENTED_TO_VIRTUAL(sEnJsjutanCarpetOddVtx);
shadowVtx = SEGMENTED_TO_VIRTUAL(gEnJsjutanShadowOddVtx);
}
else
{
carpetVtx = SEGMENTED_TO_VIRTUAL(sCarpetEvenVtx);
shadowVtx = SEGMENTED_TO_VIRTUAL(sShadowEvenVtx);
carpetVtx = SEGMENTED_TO_VIRTUAL(sEnJsjutanCarpetEvenVtx);
shadowVtx = SEGMENTED_TO_VIRTUAL(sEnJsjutanShadowEvenVtx);
}
// Distance of player to carpet.
@ -366,7 +366,7 @@ void func_80A89A6C(EnJsjutan* pthis, GlobalContext* globalCtx)
sp108.z = 120.0f;
// Fancy math to smooth each part of the wave considering its neighborhood.
for(i = 0; i < ARRAY_COUNT(sCarpetOddVtx); i++, carpetVtx++)
for(i = 0; i < ARRAY_COUNT(sEnJsjutanCarpetOddVtx); i++, carpetVtx++)
{
f32 rotX;
f32 rotZ;
@ -454,15 +454,15 @@ void EnJsjutan_Draw(Actor* thisx, GlobalContext* globalCtx2)
if(pthis->unk_164)
{
pthis->unk_164 = false;
for(i = 0; i < ARRAY_COUNT(sShadowTex); i++)
for(i = 0; i < ARRAY_COUNT(sEnJsjutanShadowTex); i++)
{
if(((u16*)sCarpetTex)[i] != 0)
if(((u16*)sEnJsjutanCarpetTex)[i] != 0)
{ // Hack to bypass ZAPD exporting textures as u64.
sShadowTex[i] = 0xFF;
sEnJsjutanShadowTex[i] = 0xFF;
}
else
{
sShadowTex[i] = 0;
sEnJsjutanShadowTex[i] = 0;
}
}
}
@ -476,19 +476,19 @@ void EnJsjutan_Draw(Actor* thisx, GlobalContext* globalCtx2)
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->gfxCtx, "../z_en_jsjutan.c", 782), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
// Draws the carpet's shadow texture.
gSPDisplayList(POLY_OPA_DISP++, sShadowMaterialDL);
gSPDisplayList(POLY_OPA_DISP++, sEnJsjutanShadowMaterialDL);
gDPPipeSync(POLY_OPA_DISP++);
// Draws the carpet's shadow vertices. Swaps them between frames to get a smoother result.
if(globalCtx->gameplayFrames % 2 != 0)
{
gSPSegment(POLY_OPA_DISP++, 0x0C, gShadowOddVtx);
gSPSegment(POLY_OPA_DISP++, 0x0C, gEnJsjutanShadowOddVtx);
}
else
{
gSPSegment(POLY_OPA_DISP++, 0x0C, sShadowEvenVtx);
gSPSegment(POLY_OPA_DISP++, 0x0C, sEnJsjutanShadowEvenVtx);
}
gSPDisplayList(POLY_OPA_DISP++, sModelDL);
gSPDisplayList(POLY_OPA_DISP++, sEnJsjutanModelDL);
func_80093D18(globalCtx->gfxCtx);
Matrix_Translate(thisx->world.pos.x, pthis->unk_168 + 3.0f, thisx->world.pos.z, MTXMODE_NEW);
@ -496,20 +496,20 @@ void EnJsjutan_Draw(Actor* thisx, GlobalContext* globalCtx2)
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->gfxCtx, "../z_en_jsjutan.c", 805), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
// Draws the carpet's texture.
gSPDisplayList(POLY_OPA_DISP++, sCarpetMaterialDL);
gSPDisplayList(POLY_OPA_DISP++, sEnJsjutanCarpetMaterialDL);
gDPPipeSync(POLY_OPA_DISP++);
// Draws the carpet vertices.
if(globalCtx->gameplayFrames % 2 != 0)
{
gSPSegment(POLY_OPA_DISP++, 0x0C, sCarpetOddVtx);
gSPSegment(POLY_OPA_DISP++, 0x0C, sEnJsjutanCarpetOddVtx);
}
else
{
gSPSegment(POLY_OPA_DISP++, 0x0C, sCarpetEvenVtx);
gSPSegment(POLY_OPA_DISP++, 0x0C, sEnJsjutanCarpetEvenVtx);
}
gSPDisplayList(POLY_OPA_DISP++, sModelDL);
gSPDisplayList(POLY_OPA_DISP++, sEnJsjutanModelDL);
CLOSE_DISPS(globalCtx->gfxCtx, "../z_en_jsjutan.c", 823);
}

View File

@ -1041,7 +1041,7 @@ void EnKanban_Draw(Actor* thisx, GlobalContext* globalCtx)
}
}
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(shadowTex));
gSPDisplayList(POLY_XLU_DISP++, sShadowDL);
gSPDisplayList(POLY_XLU_DISP++, sEnKanbanShadowDL);
}
}
CLOSE_DISPS(globalCtx->gfxCtx, "../z_en_kanban.c", 1857);

View File

@ -270,9 +270,9 @@ void MagicDark_DiamondDraw(Actor* thisx, GlobalContext* globalCtx)
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->gfxCtx, "../z_magic_dark.c", 553), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 170, 255, 255, (s32)(pthis->primAlpha * 0.6f) & 0xFF);
gDPSetEnvColor(POLY_XLU_DISP++, 0, 100, 255, 128);
gSPDisplayList(POLY_XLU_DISP++, sDiamondMaterialDL);
gSPDisplayList(POLY_XLU_DISP++, sMagicDarkDiamondMaterialDL);
gSPDisplayList(POLY_XLU_DISP++, Gfx_TwoTexScroll(globalCtx->gfxCtx, 0, gameplayFrames * 2, gameplayFrames * -4, 32, 32, 1, 0, gameplayFrames * -16, 64, 32));
gSPDisplayList(POLY_XLU_DISP++, sDiamondModelDL);
gSPDisplayList(POLY_XLU_DISP++, sMagicDarkDiamondModelDL);
}
CLOSE_DISPS(globalCtx->gfxCtx, "../z_magic_dark.c", 570);

View File

@ -243,24 +243,24 @@ void MagicFire_Draw(Actor* thisx, GlobalContext* globalCtx)
gDPPipeSync(POLY_XLU_DISP++);
gSPTexture(POLY_XLU_DISP++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
gDPSetTextureLUT(POLY_XLU_DISP++, G_TT_NONE);
gDPLoadTextureBlock(POLY_XLU_DISP++, sTex, G_IM_FMT_I, G_IM_SIZ_8b, 64, 64, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 6, 6, 15, G_TX_NOLOD);
gDPLoadTextureBlock(POLY_XLU_DISP++, sMagicFireTex, G_IM_FMT_I, G_IM_SIZ_8b, 64, 64, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 6, 6, 15, G_TX_NOLOD);
gDPSetTile(POLY_XLU_DISP++, G_IM_FMT_I, G_IM_SIZ_8b, 8, 0, 1, 0, G_TX_NOMIRROR | G_TX_WRAP, 6, 14, G_TX_NOMIRROR | G_TX_WRAP, 6, 14);
gDPSetTileSize(POLY_XLU_DISP++, 1, 0, 0, 252, 252);
gSPDisplayList(POLY_XLU_DISP++, sMaterialDL);
gSPDisplayList(POLY_XLU_DISP++, sMagicFireMaterialDL);
gSPDisplayList(POLY_XLU_DISP++, Gfx_TwoTexScroll(globalCtx->gfxCtx, 0, (gameplayFrames * 2) % 512, 511 - ((gameplayFrames * 5) % 512), 64, 64, 1, (gameplayFrames * 2) % 256, 255 - ((gameplayFrames * 20) % 256), 32, 32));
gSPDisplayList(POLY_XLU_DISP++, sModelDL);
gSPDisplayList(POLY_XLU_DISP++, sMagicFireModelDL);
CLOSE_DISPS(globalCtx->gfxCtx, "../z_magic_fire.c", 750);
alpha = (s32)(pthis->alphaMultiplier * 255);
for(i = 0; i < 36; i++)
{
sSphereVtx[sVertexIndices[i]].n.a = alpha;
sMagicFireSphereVtx[sVertexIndices[i]].n.a = alpha;
}
alpha = (s32)(pthis->alphaMultiplier * 76);
for(i = 36; i < 60; i++)
{
sSphereVtx[sVertexIndices[i]].n.a = alpha;
sMagicFireSphereVtx[sVertexIndices[i]].n.a = alpha;
}
}
}

View File

@ -46,7 +46,7 @@ void MagicWind_Init(Actor* thisx, GlobalContext* globalCtx)
MagicWind* pthis = (MagicWind*)thisx;
Player* player = GET_PLAYER(globalCtx);
if(SkelCurve_Init(globalCtx, &pthis->skelCurve, &sSkel, &sAnim) == 0)
if(SkelCurve_Init(globalCtx, &pthis->skelCurve, &sMagicWindSkel, &sMagicWindAnim) == 0)
{
// "Magic_Wind_Actor_ct (): Construct failed"
osSyncPrintf("Magic_Wind_Actor_ct():コンストラクト失敗\n");
@ -55,12 +55,12 @@ void MagicWind_Init(Actor* thisx, GlobalContext* globalCtx)
switch(pthis->actor.params)
{
case 0:
SkelCurve_SetAnim(&pthis->skelCurve, &sAnim, 0.0f, 60.0f, 0.0f, 1.0f);
SkelCurve_SetAnim(&pthis->skelCurve, &sMagicWindAnim, 0.0f, 60.0f, 0.0f, 1.0f);
pthis->timer = 29;
MagicWind_SetupAction(pthis, MagicWind_WaitForTimer);
break;
case 1:
SkelCurve_SetAnim(&pthis->skelCurve, &sAnim, 60.0f, 0.0f, 60.0f, -1.0f);
SkelCurve_SetAnim(&pthis->skelCurve, &sMagicWindAnim, 60.0f, 0.0f, 60.0f, -1.0f);
MagicWind_SetupAction(pthis, MagicWind_Shrink);
// "Means start"
LOG_STRING("表示開始", "../z_magic_wind.c", 486);
@ -84,7 +84,7 @@ void MagicWind_UpdateAlpha(f32 alpha)
for(i = 0; i < ARRAY_COUNT(sAlphaUpdVals); i++)
{
sCylinderVtx[sAlphaUpdVals[i]].n.a = alpha * 255.0f;
sMagicWindCylinderVtx[sAlphaUpdVals[i]].n.a = alpha * 255.0f;
}
}

View File

@ -176,9 +176,9 @@ void OceffSpot_Draw(Actor* thisx, GlobalContext* globalCtx)
func_80093D84(globalCtx->gfxCtx);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->gfxCtx, "../z_oceff_spot.c", 469), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, sCylinderMaterialDL);
gSPDisplayList(POLY_XLU_DISP++, sOceffSpotCylinderMaterialDL);
gSPDisplayList(POLY_XLU_DISP++, Gfx_TwoTexScroll(globalCtx->gfxCtx, 0, scroll * 2, scroll * (-2), 32, 32, 1, 0, scroll * (-8), 32, 32));
gSPDisplayList(POLY_XLU_DISP++, sCylinderModelDL);
gSPDisplayList(POLY_XLU_DISP++, sOceffSpotCylinderModelDL);
CLOSE_DISPS(globalCtx->gfxCtx, "../z_oceff_spot.c", 485);
}

View File

@ -167,7 +167,7 @@ void OceffStorm_Draw2(Actor* thisx, GlobalContext* globalCtx)
gDPSetAlphaDither(POLY_XLU_DISP++, G_AD_NOISE);
gDPSetColorDither(POLY_XLU_DISP++, G_CD_NOISE);
gDPSetPrimColor(POLY_XLU_DISP++, 0x80, 0x80, 200, 200, 150, pthis->primColorAlpha);
gSPDisplayList(POLY_XLU_DISP++, sMaterialDL);
gSPDisplayList(POLY_XLU_DISP++, sOceffStormMaterialDL);
gSPDisplayList(POLY_XLU_DISP++, Gfx_TwoTexScroll(globalCtx->gfxCtx, 0, scroll * 8, scroll * 4, 64, 64, 1, scroll * 4, scroll * 4, 64, 64));
gSPTextureRectangle(POLY_XLU_DISP++, 0, 0, (SCREEN_WIDTH << 2), (SCREEN_HEIGHT << 2), G_TX_RENDERTILE, 0, 0, 140, (1 << 15) | (31 << 10) | 884);
@ -178,7 +178,7 @@ void OceffStorm_Draw(Actor* thisx, GlobalContext* globalCtx)
{
u32 scroll = globalCtx->frames & 0xFFF;
OceffStorm* pthis = (OceffStorm*)thisx;
Vtx* vtxPtr = sCylinderVtx;
Vtx* vtxPtr = sOceffStormCylinderVtx;
OPEN_DISPS(globalCtx->gfxCtx, "../z_oceff_storm.c", 486);
@ -194,9 +194,9 @@ void OceffStorm_Draw(Actor* thisx, GlobalContext* globalCtx)
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->gfxCtx, "../z_oceff_storm.c", 498), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, sCylinderMaterialDL);
gSPDisplayList(POLY_XLU_DISP++, sOceffStormCylinderMaterialDL);
gSPDisplayList(POLY_XLU_DISP++, Gfx_TwoTexScroll(globalCtx->gfxCtx, 0, scroll * 4, (0 - scroll) * 8, 32, 32, 1, scroll * 8, (0 - scroll) * 12, 32, 32));
gSPDisplayList(POLY_XLU_DISP++, sCylinderModelDL);
gSPDisplayList(POLY_XLU_DISP++, sOceffStormCylinderModelDL);
CLOSE_DISPS(globalCtx->gfxCtx, "../z_oceff_storm.c", 512);

View File

@ -111,7 +111,7 @@ void OceffWipe_Draw(Actor* thisx, GlobalContext* globalCtx)
for(i = 0; i < 20; i++)
{
vtxPtr = sFrustumVtx;
vtxPtr = sOceffWipeFrustumVtx;
vtxPtr[i * 2 + 0].v.cn[3] = alphaTable[(sAlphaIndices[i] & 0xF0) >> 4];
vtxPtr[i * 2 + 1].v.cn[3] = alphaTable[sAlphaIndices[i] & 0xF];
}
@ -136,9 +136,9 @@ void OceffWipe_Draw(Actor* thisx, GlobalContext* globalCtx)
gDPSetEnvColor(POLY_XLU_DISP++, 100, 0, 255, 128);
}
gSPDisplayList(POLY_XLU_DISP++, sMaterialDL);
gSPDisplayList(POLY_XLU_DISP++, sOceffWipeMaterialDL);
gSPDisplayList(POLY_XLU_DISP++, Gfx_TwoTexScroll(globalCtx->gfxCtx, 0, 0 - scroll, scroll * (-2), 32, 32, 1, 0 - scroll, scroll * (-2), 32, 32));
gSPDisplayList(POLY_XLU_DISP++, sFrustumDL);
gSPDisplayList(POLY_XLU_DISP++, sOceffWipeFrustumDL);
CLOSE_DISPS(globalCtx->gfxCtx, "../z_oceff_wipe.c", 398);
}

View File

@ -89,7 +89,7 @@ void OceffWipe2_Draw(Actor* thisx, GlobalContext* globalCtx)
z = 1330;
}
vtxPtr = sFrustumVtx;
vtxPtr = sOceffWipe2FrustumVtx;
if(pthis->timer >= 80)
{
alpha = 12 * (100 - pthis->timer);
@ -115,9 +115,9 @@ void OceffWipe2_Draw(Actor* thisx, GlobalContext* globalCtx)
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 170, 255);
gDPSetEnvColor(POLY_XLU_DISP++, 255, 100, 0, 128);
gSPDisplayList(POLY_XLU_DISP++, sMaterialDL);
gSPDisplayList(POLY_XLU_DISP++, sOceffWipe2MaterialDL);
gSPDisplayList(POLY_XLU_DISP++, Gfx_TwoTexScroll(globalCtx->gfxCtx, 0, scroll * 6, scroll * (-6), 64, 64, 1, scroll * (-6), 0, 64, 64));
gSPDisplayList(POLY_XLU_DISP++, sFrustumDL);
gSPDisplayList(POLY_XLU_DISP++, sOceffWipe2FrustumDL);
CLOSE_DISPS(globalCtx->gfxCtx, "../z_oceff_wipe2.c", 417);
}

View File

@ -90,7 +90,7 @@ void OceffWipe3_Draw(Actor* thisx, GlobalContext* globalCtx)
z = 1330;
}
vtxPtr = sFrustumVtx;
vtxPtr = sOceffWipe3FrustumVtx;
if(pthis->counter >= 80)
{
alpha = 12 * (100 - pthis->counter);
@ -116,9 +116,9 @@ void OceffWipe3_Draw(Actor* thisx, GlobalContext* globalCtx)
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 170, 255);
gDPSetEnvColor(POLY_XLU_DISP++, 100, 200, 0, 128);
gSPDisplayList(POLY_XLU_DISP++, sMaterialDL);
gSPDisplayList(POLY_XLU_DISP++, sOceffWipe3MaterialDL);
gSPDisplayList(POLY_XLU_DISP++, Gfx_TwoTexScroll(globalCtx->gfxCtx, 0, scroll * 12, scroll * (-12), 64, 64, 1, scroll * 8, scroll * (-8), 64, 64));
gSPDisplayList(POLY_XLU_DISP++, sFrustumDL);
gSPDisplayList(POLY_XLU_DISP++, sOceffWipe3FrustumDL);
CLOSE_DISPS(globalCtx->gfxCtx, "../z_oceff_wipe3.c", 370);
}

View File

@ -84,7 +84,7 @@ void OceffWipe4_Draw(Actor* thisx, GlobalContext* globalCtx)
z = 1330.0f;
}
vtxPtr = sFrustumVtx;
vtxPtr = sOceffWipe4FrustumVtx;
if(pthis->timer >= 30)
{
alpha = 12 * (50 - pthis->timer);
@ -110,16 +110,16 @@ void OceffWipe4_Draw(Actor* thisx, GlobalContext* globalCtx)
if(pthis->actor.params == OCEFF_WIPE4_UNUSED)
{
gSPDisplayList(POLY_XLU_DISP++, sUnusedMaterialDL);
gSPDisplayList(POLY_XLU_DISP++, sOceffWipe4UnusedMaterialDL);
}
else
{
gSPDisplayList(POLY_XLU_DISP++, sMaterialDL);
gSPDisplayList(POLY_XLU_DISP++, sOceffWipe4MaterialDL);
}
gSPDisplayList(POLY_XLU_DISP++, sMaterial2DL);
gSPDisplayList(POLY_XLU_DISP++, sOceffWipe4Material2DL);
gSPDisplayList(POLY_XLU_DISP++, Gfx_TwoTexScroll(globalCtx->gfxCtx, 0, scroll * 2, scroll * (-2), 32, 64, 1, scroll * (-1), scroll, 32, 32));
gSPDisplayList(POLY_XLU_DISP++, &sMaterial2DL[11]);
gSPDisplayList(POLY_XLU_DISP++, &sOceffWipe4Material2DL[11]);
CLOSE_DISPS(globalCtx->gfxCtx, "../z_oceff_wipe4.c", 344);
}

View File

@ -44,6 +44,7 @@ namespace oot::hid
resetBindingsImpl();
#if SDL_VERSION_ATLEAST(2, 0, 14) != 0
if(SDL_GameControllerHasSensor(m_context, SDL_SENSOR_GYRO) == SDL_TRUE)
{
if(!SDL_GameControllerSetSensorEnabled(m_context, SDL_SENSOR_GYRO, SDL_TRUE))
@ -59,6 +60,7 @@ namespace oot::hid
m_hasAccel = true;
}
}
#endif
#ifndef __SWITCH__
loadKeyBindings();
@ -369,6 +371,7 @@ namespace oot::hid
m_state.r_stick_x = stickRightX();
m_state.r_stick_y = stickRightY();
#if SDL_VERSION_ATLEAST(2, 0, 14) != 0
if(config().controls().enableGyro())
{
if(m_hasGyro && isFirstPerson())
@ -407,6 +410,7 @@ namespace oot::hid
}
}
}
#endif
for(const auto& [scancode, input] : m_keyBindings)
{

View File

@ -182,7 +182,7 @@ void run()
main_func();
}
int main(int argc, char** argv)
int main2(int argc, char** argv)
{
std::vector<std::string> commands;
for(int i = 1; i < argc; i++)
@ -190,6 +190,7 @@ int main(int argc, char** argv)
ParseCommandLineArguments(commands);
run();
return 0;
}
#if defined(_MSC_VER)

View File

@ -266,7 +266,8 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR pCmdLine,
run();
return 0;
}
#else
#endif
#ifdef __SWITCH__
void initialize();
#endif
@ -276,15 +277,18 @@ extern "C"
int main(int argc, char* argv[]);
}
int main2(int argc, char** argv);
int main(int argc, char* argv[])
{
#ifdef __SWITCH__
initialize();
#endif
main_func();
main2(argc, argv);
return 0;
}
#endif
static bool g_isRunning = true;

View File

@ -3,7 +3,7 @@ c = '/usr/bin/gcc'
cpp = '/usr/bin/g++'
ar = '/usr/bin/gcc-ar'
strip = '/usr/bin/strip'
pkgconfig = '/usr/bin/i686-redhat-linux-gnu-pkg-config'
pkgconfig = '/usr/bin/i686-linux-gnu-pkg-config'
llvm-config = '/usr/bin/llvm-config32'
[built-in options]