summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorPheenoh <pheenoh@gmail.com>2024-04-12 00:10:30 -0600
committerGitHub <noreply@github.com>2024-04-12 00:10:30 -0600
commita61e3491f7c46b698514af50464cf71ba76bd3a3 (patch)
tree40dbf46b97316a5a6d919e35c9976506df869000 /libs
parentb36f0f93660b0b1eee5268acad6c1b7b60f0bb5d (diff)
d_a_e_fz work, doxygen revamp (#2127)
* initial freezard actor struct + setActionMode OK * daE_FZ_Draw * setReflectAngle * mBoundSoundset * daE_FZ_Execute & execute * demoDelete * daE_FZ_Delete & _delete * CreateHeap * useHeapInit * cc_set * mtx_set * action WIP * way_gake_check * executeRollMove * executeMove * draw WIP * executeDamage * checkpoint * create * checkpoint * daE_FZ_c::executeWait * checkpoint * daE_FZ_c::damage_check almost done * rm asm * rm headers * setup_profile WIP + doxygen update * fix merge issues * docs fix? * fix2 * doxygen updates * setup g_profile_E_FZ, profile setup script WIP * update github actions * update progress.md
Diffstat (limited to 'libs')
-rw-r--r--libs/JSystem/J2DGraph/J2DAnmLoader_nonmatching.cpp2
-rw-r--r--libs/JSystem/J2DGraph/J2DMaterial.cpp1
-rw-r--r--libs/JSystem/J2DGraph/J2DMaterialFactory.cpp2
-rw-r--r--libs/JSystem/J2DGraph/J2DPane.cpp1
-rw-r--r--libs/JSystem/J2DGraph/J2DPicture.cpp3
-rw-r--r--libs/JSystem/J2DGraph/J2DPictureEx.cpp2
-rw-r--r--libs/JSystem/J2DGraph/J2DPrint.cpp1
-rw-r--r--libs/JSystem/J2DGraph/J2DScreen.cpp2
-rw-r--r--libs/JSystem/J2DGraph/J2DTevs.cpp1
-rw-r--r--libs/JSystem/J2DGraph/J2DTextBox.cpp1
-rw-r--r--libs/JSystem/J2DGraph/J2DWindowEx.cpp1
-rw-r--r--libs/JSystem/J3DGraphAnimator/J3DAnimation.cpp1
-rw-r--r--libs/JSystem/J3DGraphAnimator/J3DCluster.cpp3
-rw-r--r--libs/JSystem/J3DGraphAnimator/J3DMaterialAnm.cpp1
-rw-r--r--libs/JSystem/J3DGraphAnimator/J3DMaterialAttach.cpp1
-rw-r--r--libs/JSystem/J3DGraphAnimator/J3DModel.cpp1
-rw-r--r--libs/JSystem/J3DGraphAnimator/J3DMtxBuffer.cpp1
-rw-r--r--libs/JSystem/J3DGraphAnimator/J3DShapeTable.cpp1
-rw-r--r--libs/JSystem/J3DGraphBase/J3DGD.cpp1480
-rw-r--r--libs/JSystem/J3DGraphBase/J3DMatBlock.cpp1
-rw-r--r--libs/JSystem/J3DGraphBase/J3DMaterial.cpp2650
-rw-r--r--libs/JSystem/J3DGraphBase/J3DShapeDraw.cpp1
-rw-r--r--libs/JSystem/J3DGraphBase/J3DShapeMtx.cpp1
-rw-r--r--libs/JSystem/J3DGraphBase/J3DStruct.cpp148
-rw-r--r--libs/JSystem/J3DGraphBase/J3DSys.cpp804
-rw-r--r--libs/JSystem/J3DGraphBase/J3DTevs.cpp1131
-rw-r--r--libs/JSystem/J3DGraphBase/J3DTexture.cpp1
-rw-r--r--libs/JSystem/J3DGraphBase/J3DTransform.cpp1
-rw-r--r--libs/JSystem/J3DGraphBase/J3DVertex.cpp1
-rw-r--r--libs/JSystem/J3DGraphLoader/J3DAnmLoader.cpp1
-rw-r--r--libs/JSystem/J3DGraphLoader/J3DClusterLoader.cpp4
-rw-r--r--libs/JSystem/J3DGraphLoader/J3DJointFactory.cpp1
-rw-r--r--libs/JSystem/J3DGraphLoader/J3DMaterialFactory.cpp1
-rw-r--r--libs/JSystem/J3DGraphLoader/J3DMaterialFactory_v21.cpp823
-rw-r--r--libs/JSystem/J3DGraphLoader/J3DModelLoader.cpp2
-rw-r--r--libs/JSystem/J3DGraphLoader/J3DShapeFactory.cpp1
-rw-r--r--libs/JSystem/J3DU/J3DUClipper.cpp1
-rw-r--r--libs/JSystem/JAudio2/JAIAudible.cpp1
-rw-r--r--libs/JSystem/JAudio2/JAIAudience.cpp1
-rw-r--r--libs/JSystem/JAudio2/JAISe.cpp1
-rw-r--r--libs/JSystem/JAudio2/JAISeq.cpp2
-rw-r--r--libs/JSystem/JAudio2/JAISeqDataMgr.cpp1
-rw-r--r--libs/JSystem/JAudio2/JAISeqMgr.cpp1
-rw-r--r--libs/JSystem/JAudio2/JAISound.cpp1
-rw-r--r--libs/JSystem/JAudio2/JAISoundChild.cpp1
-rw-r--r--libs/JSystem/JAudio2/JAISoundParams.cpp1
-rw-r--r--libs/JSystem/JAudio2/JAISoundStarter.cpp1
-rw-r--r--libs/JSystem/JAudio2/JAIStream.cpp2
-rw-r--r--libs/JSystem/JAudio2/JAIStreamDataMgr.cpp1
-rw-r--r--libs/JSystem/JAudio2/JASAiCtrl.cpp3
-rw-r--r--libs/JSystem/JAudio2/JASAramStream.cpp3
-rw-r--r--libs/JSystem/JAudio2/JASAudioReseter.cpp1
-rw-r--r--libs/JSystem/JAudio2/JASAudioThread.cpp2
-rw-r--r--libs/JSystem/JAudio2/JASBank.cpp3
-rw-r--r--libs/JSystem/JAudio2/JASBasicWaveBank.cpp1
-rw-r--r--libs/JSystem/JAudio2/JASChannel.cpp1
-rw-r--r--libs/JSystem/JAudio2/JASDSPInterface.cpp1
-rw-r--r--libs/JSystem/JAudio2/JASDvdThread.cpp1
-rw-r--r--libs/JSystem/JAudio2/JASHeapCtrl.cpp2
-rw-r--r--libs/JSystem/JAudio2/JASSeqParser.cpp2
-rw-r--r--libs/JSystem/JAudio2/JASTaskThread.cpp2
-rw-r--r--libs/JSystem/JAudio2/JASTrack.cpp3
-rw-r--r--libs/JSystem/JAudio2/JASWSParser.cpp3
-rw-r--r--libs/JSystem/JAudio2/JASWaveArcLoader.cpp1
-rw-r--r--libs/JSystem/JAudio2/JAUAudioArcLoader.cpp1
-rw-r--r--libs/JSystem/JAudio2/JAUBankTable.cpp1
-rw-r--r--libs/JSystem/JAudio2/JAUInitializer.cpp9
-rw-r--r--libs/JSystem/JAudio2/JAUSectionHeap.cpp5
-rw-r--r--libs/JSystem/JAudio2/JAUSeqDataBlockMgr.cpp1
-rw-r--r--libs/JSystem/JAudio2/JAUSoundTable.cpp1
-rw-r--r--libs/JSystem/JAudio2/JAUStreamFileTable.cpp1
-rw-r--r--libs/JSystem/JAudio2/dsptask.cpp1
-rw-r--r--libs/JSystem/JFramework/JFWDisplay.cpp1
-rw-r--r--libs/JSystem/JFramework/JFWSystem.cpp1
-rw-r--r--libs/JSystem/JGadget/binary.cpp1
-rw-r--r--libs/JSystem/JGadget/linklist.cpp1
-rw-r--r--libs/JSystem/JGadget/std-vector.cpp1
-rw-r--r--libs/JSystem/JKernel/JKRAram.cpp1
-rw-r--r--libs/JSystem/JKernel/JKRAramArchive.cpp2
-rw-r--r--libs/JSystem/JKernel/JKRAramStream.cpp1
-rw-r--r--libs/JSystem/JKernel/JKRCompArchive.cpp1
-rw-r--r--libs/JSystem/JKernel/JKRDvdArchive.cpp1
-rw-r--r--libs/JSystem/JKernel/JKRDvdRipper.cpp1
-rw-r--r--libs/JSystem/JKernel/JKRHeap.cpp1
-rw-r--r--libs/JSystem/JKernel/JKRMemArchive.cpp1
-rw-r--r--libs/JSystem/JKernel/JKRSolidHeap.cpp1
-rw-r--r--libs/JSystem/JMath/JMath.cpp1
-rw-r--r--libs/JSystem/JMessage/locale.cpp1
-rw-r--r--libs/JSystem/JMessage/processor.cpp1
-rw-r--r--libs/JSystem/JMessage/resource.cpp1
-rw-r--r--libs/JSystem/JParticle/JPAChildShape.cpp1
-rw-r--r--libs/JSystem/JParticle/JPADynamicsBlock.cpp1
-rw-r--r--libs/JSystem/JParticle/JPAEmitter.cpp1
-rw-r--r--libs/JSystem/JParticle/JPAEmitterManager.cpp1
-rw-r--r--libs/JSystem/JParticle/JPAExTexShape.cpp1
-rw-r--r--libs/JSystem/JParticle/JPAExtraShape.cpp1
-rw-r--r--libs/JSystem/JParticle/JPAParticle.cpp1
-rw-r--r--libs/JSystem/JParticle/JPAResource.cpp1
-rw-r--r--libs/JSystem/JParticle/JPAResourceManager.cpp1
-rw-r--r--libs/JSystem/JParticle/JPATexture.cpp1
-rw-r--r--libs/JSystem/JStudio/JStudio/ctb.cpp1
-rw-r--r--libs/JSystem/JStudio/JStudio/functionvalue.cpp1
-rw-r--r--libs/JSystem/JStudio/JStudio/fvb.cpp1
-rw-r--r--libs/JSystem/JStudio/JStudio/jstudio-control.cpp2
-rw-r--r--libs/JSystem/JStudio/JStudio/jstudio-math.cpp2
-rw-r--r--libs/JSystem/JStudio/JStudio/object-id.cpp1
-rw-r--r--libs/JSystem/JStudio/JStudio/stb-data-parse.cpp1
-rw-r--r--libs/JSystem/JStudio/JStudio/stb.cpp1
-rw-r--r--libs/JSystem/JStudio/JStudio_JStage/object.cpp1
-rw-r--r--libs/JSystem/JUtility/JUTAssert.cpp1
-rw-r--r--libs/JSystem/JUtility/JUTConsole.cpp1
-rw-r--r--libs/JSystem/JUtility/JUTDirectPrint.cpp1
-rw-r--r--libs/JSystem/JUtility/JUTException.cpp2
-rw-r--r--libs/PowerPC_EABI_Support/MSL/MSL_C++/MSL_Common/Include/bitset.h1
-rw-r--r--libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/alloc.h1
-rw-r--r--libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/ansi_fp.h1
-rw-r--r--libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/cmath.h1
-rw-r--r--libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/scanf.h1
-rw-r--r--libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/stdlib.h1
-rw-r--r--libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/string.h1
-rw-r--r--libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/FILE_POS.c1
-rw-r--r--libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/alloc.c1
-rw-r--r--libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/ansi_files.c1
-rw-r--r--libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/char_io.c2
-rw-r--r--libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/direct_io.c2
-rw-r--r--libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/extras.c1
-rw-r--r--libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/file_io.c1
-rw-r--r--libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/printf.c2
-rw-r--r--libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/signal.c1
-rw-r--r--libs/SSystem/SComponent/c_angle.cpp1
-rw-r--r--libs/SSystem/SComponent/c_lib.cpp1
-rw-r--r--libs/SSystem/SComponent/c_m3d.cpp4
-rw-r--r--libs/SSystem/SComponent/c_malloc.cpp1
-rw-r--r--libs/SSystem/SComponent/c_math.cpp1
-rw-r--r--libs/SSystem/SComponent/c_tag_iter.cpp1
-rw-r--r--libs/SSystem/SComponent/c_xyz.cpp1
-rw-r--r--libs/SSystem/SStandard/s_basic.cpp1
-rw-r--r--libs/TRK_MINNOW_DOLPHIN/MetroTRK/Export/mslsupp.c1
-rw-r--r--libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch.c2
-rw-r--r--libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/main_TRK.c1
-rw-r--r--libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mainloop.c3
-rw-r--r--libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.c1
-rw-r--r--libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr.c1
-rw-r--r--libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/notify.c2
-rw-r--r--libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent.c1
-rw-r--r--libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit.c1
-rw-r--r--libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/serpoll.c1
-rw-r--r--libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/support.c1
-rw-r--r--libs/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk.c1
-rw-r--r--libs/TRK_MINNOW_DOLPHIN/Os/dolphin/targcont.c1
-rw-r--r--libs/TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.c1
-rw-r--r--libs/Z2AudioLib/Z2Audience.cpp4
-rw-r--r--libs/Z2AudioLib/Z2AudioArcLoader.cpp3
-rw-r--r--libs/Z2AudioLib/Z2AudioMgr.cpp6
-rw-r--r--libs/Z2AudioLib/Z2Creature.cpp4
-rw-r--r--libs/Z2AudioLib/Z2EnvSeMgr.cpp6
-rw-r--r--libs/Z2AudioLib/Z2LinkMgr.cpp1
-rw-r--r--libs/Z2AudioLib/Z2SceneMgr.cpp1
-rw-r--r--libs/Z2AudioLib/Z2SeMgr.cpp5
-rw-r--r--libs/Z2AudioLib/Z2SeqMgr.cpp2
-rw-r--r--libs/Z2AudioLib/Z2SoundHandles.cpp2
-rw-r--r--libs/Z2AudioLib/Z2SoundInfo.cpp5
-rw-r--r--libs/Z2AudioLib/Z2SoundMgr.cpp4
-rw-r--r--libs/Z2AudioLib/Z2SoundObject.cpp1
-rw-r--r--libs/Z2AudioLib/Z2SoundStarter.cpp1
-rw-r--r--libs/Z2AudioLib/Z2SpeechMgr2.cpp3
-rw-r--r--libs/Z2AudioLib/Z2WolfHowlMgr.cpp1
-rw-r--r--libs/dolphin/ar/ar.c1
-rw-r--r--libs/dolphin/card/CARDBios.c1
-rw-r--r--libs/dolphin/card/CARDCheck.c1
-rw-r--r--libs/dolphin/card/CARDCreate.c1
-rw-r--r--libs/dolphin/card/CARDDir.c1
-rw-r--r--libs/dolphin/card/CARDFormat.c1
-rw-r--r--libs/dolphin/card/CARDMount.c1
-rw-r--r--libs/dolphin/card/CARDNet.c1
-rw-r--r--libs/dolphin/card/CARDOpen.c1
-rw-r--r--libs/dolphin/card/CARDRdwr.c1
-rw-r--r--libs/dolphin/card/CARDRead.c1
-rw-r--r--libs/dolphin/card/CARDStat.c1
-rw-r--r--libs/dolphin/card/CARDUnlock.c1
-rw-r--r--libs/dolphin/card/CARDWrite.c1
-rw-r--r--libs/dolphin/db/db.c1
-rw-r--r--libs/dolphin/dvd/dvdfs.c1
-rw-r--r--libs/dolphin/dvd/dvdlow.c1
-rw-r--r--libs/dolphin/dvd/dvdqueue.c1
-rw-r--r--libs/dolphin/exi/EXIBios.c1
-rw-r--r--libs/dolphin/gx/GXAttr.c1
-rw-r--r--libs/dolphin/gx/GXFrameBuf.c1
-rw-r--r--libs/dolphin/gx/GXInit.c1
-rw-r--r--libs/dolphin/gx/GXMisc.c2
-rw-r--r--libs/dolphin/gx/GXTexture.c1
-rw-r--r--libs/dolphin/os/OS.c2
-rw-r--r--libs/dolphin/os/OSAlarm.c1
-rw-r--r--libs/dolphin/os/OSAudioSystem.c1
-rw-r--r--libs/dolphin/os/OSCache.c1
-rw-r--r--libs/dolphin/os/OSExec.c2
-rw-r--r--libs/dolphin/os/OSInterrupt.c1
-rw-r--r--libs/dolphin/os/OSMemory.c1
-rw-r--r--libs/dolphin/os/OSMessage.c1
-rw-r--r--libs/dolphin/os/OSReboot.c1
-rw-r--r--libs/dolphin/os/OSReset.c1
-rw-r--r--libs/dolphin/os/OSThread.c1
-rw-r--r--libs/dolphin/os/OSTime.c1
-rw-r--r--libs/dolphin/pad/Pad.c1
-rw-r--r--libs/dolphin/si/SIBios.c1
-rw-r--r--libs/dolphin/vi/vi.c1
206 files changed, 3517 insertions, 3809 deletions
diff --git a/libs/JSystem/J2DGraph/J2DAnmLoader_nonmatching.cpp b/libs/JSystem/J2DGraph/J2DAnmLoader_nonmatching.cpp
index 7874986fe5..d35f1a0f14 100644
--- a/libs/JSystem/J2DGraph/J2DAnmLoader_nonmatching.cpp
+++ b/libs/JSystem/J2DGraph/J2DAnmLoader_nonmatching.cpp
@@ -7,8 +7,6 @@
// JSUConvertOffsetToPtr<u16> needs to be emitted in J2DMaterialFactory before its used here
#include "JSystem/J2DGraph/J2DAnmLoader.h"
-#include "dol2asm.h"
-#include "dolphin/types.h"
#include "JSystem/JSupport/JSupport.h"
//
diff --git a/libs/JSystem/J2DGraph/J2DMaterial.cpp b/libs/JSystem/J2DGraph/J2DMaterial.cpp
index d25648f748..55e8c55458 100644
--- a/libs/JSystem/J2DGraph/J2DMaterial.cpp
+++ b/libs/JSystem/J2DGraph/J2DMaterial.cpp
@@ -6,7 +6,6 @@
#include "JSystem/J2DGraph/J2DMaterial.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "dol2asm.h"
-#include "dolphin/types.h"
//
// Forward References:
diff --git a/libs/JSystem/J2DGraph/J2DMaterialFactory.cpp b/libs/JSystem/J2DGraph/J2DMaterialFactory.cpp
index 870ef21403..799c9ec13a 100644
--- a/libs/JSystem/J2DGraph/J2DMaterialFactory.cpp
+++ b/libs/JSystem/J2DGraph/J2DMaterialFactory.cpp
@@ -5,9 +5,7 @@
#include "JSystem/J2DGraph/J2DMaterialFactory.h"
#include "JSystem/J2DGraph/J2DMaterial.h"
-#include "JSystem/J2DGraph/J2DScreen.h"
#include "JSystem/JSupport/JSupport.h"
-#include "JSystem/JUtility/JUTResource.h"
#include "string.h"
#include "dol2asm.h"
#include "dolphin/types.h"
diff --git a/libs/JSystem/J2DGraph/J2DPane.cpp b/libs/JSystem/J2DGraph/J2DPane.cpp
index 530942ae8c..33c6f907a7 100644
--- a/libs/JSystem/J2DGraph/J2DPane.cpp
+++ b/libs/JSystem/J2DGraph/J2DPane.cpp
@@ -4,7 +4,6 @@
#include "JSystem/J2DGraph/J2DScreen.h"
#include "JSystem/JSupport/JSURandomInputStream.h"
#include "JSystem/JUtility/JUTResource.h"
-#include "dolphin/gx.h"
/* 802F5BF8-802F5CB8 2F0538 00C0+00 0/0 10/10 0/0 .text __ct__7J2DPaneFv */
J2DPane::J2DPane() : mBounds(), mGlobalBounds(), mClipRect(), mPaneTree(this) {
diff --git a/libs/JSystem/J2DGraph/J2DPicture.cpp b/libs/JSystem/J2DGraph/J2DPicture.cpp
index 02249a0454..967ad4bc2e 100644
--- a/libs/JSystem/J2DGraph/J2DPicture.cpp
+++ b/libs/JSystem/J2DGraph/J2DPicture.cpp
@@ -4,11 +4,8 @@
//
#include "JSystem/J2DGraph/J2DPicture.h"
-#include "JSystem/J2DGraph/J2DMaterial.h"
#include "JSystem/J2DGraph/J2DScreen.h"
-#include "JSystem/JSupport/JSURandomInputStream.h"
#include "JSystem/JUtility/JUTPalette.h"
-#include "JSystem/JUtility/JUTResource.h"
#include "JSystem/JUtility/JUTTexture.h"
#include "dol2asm.h"
#include "dolphin/gx.h"
diff --git a/libs/JSystem/J2DGraph/J2DPictureEx.cpp b/libs/JSystem/J2DGraph/J2DPictureEx.cpp
index 56c7b52cd8..6bd0d4bb72 100644
--- a/libs/JSystem/J2DGraph/J2DPictureEx.cpp
+++ b/libs/JSystem/J2DGraph/J2DPictureEx.cpp
@@ -6,8 +6,6 @@
#include "JSystem/J2DGraph/J2DPictureEx.h"
#include "JSystem/J2DGraph/J2DMaterial.h"
#include "JSystem/J2DGraph/J2DScreen.h"
-#include "JSystem/JSupport/JSURandomInputStream.h"
-#include "JSystem/JUtility/JUTTexture.h"
#include "dol2asm.h"
#include "dolphin/types.h"
diff --git a/libs/JSystem/J2DGraph/J2DPrint.cpp b/libs/JSystem/J2DGraph/J2DPrint.cpp
index d645043707..6e04421e0e 100644
--- a/libs/JSystem/J2DGraph/J2DPrint.cpp
+++ b/libs/JSystem/J2DGraph/J2DPrint.cpp
@@ -8,7 +8,6 @@
#include "JSystem/JUtility/JUTFont.h"
#include "stdio.h"
#include "stdlib.h"
-#include "string.h"
#include "global.h"
/* ############################################################################################## */
diff --git a/libs/JSystem/J2DGraph/J2DScreen.cpp b/libs/JSystem/J2DGraph/J2DScreen.cpp
index 6cf4ec5e38..1b750cad1f 100644
--- a/libs/JSystem/J2DGraph/J2DScreen.cpp
+++ b/libs/JSystem/J2DGraph/J2DScreen.cpp
@@ -7,8 +7,6 @@
#include "JSystem/J2DGraph/J2DPictureEx.h"
#include "JSystem/J2DGraph/J2DTextBoxEx.h"
#include "JSystem/J2DGraph/J2DWindowEx.h"
-#include "JSystem/J2DGraph/J2DOrthoGraph.h"
-#include "JSystem/J2DGraph/J2DMaterialFactory.h"
#include "JSystem/JKernel/JKRArchive.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "JSystem/JSupport/JSUMemoryStream.h"
diff --git a/libs/JSystem/J2DGraph/J2DTevs.cpp b/libs/JSystem/J2DGraph/J2DTevs.cpp
index 686fbb27ed..fd809ec231 100644
--- a/libs/JSystem/J2DGraph/J2DTevs.cpp
+++ b/libs/JSystem/J2DGraph/J2DTevs.cpp
@@ -4,7 +4,6 @@
#include "JSystem/J2DGraph/J2DTevs.h"
#include "JSystem/J2DGraph/J2DMatBlock.h"
-#include "JSystem/JUtility/TColor.h"
#include "math.h"
#include "dolphin/gx.h"
diff --git a/libs/JSystem/J2DGraph/J2DTextBox.cpp b/libs/JSystem/J2DGraph/J2DTextBox.cpp
index e8f4c042c9..4a74b5d13e 100644
--- a/libs/JSystem/J2DGraph/J2DTextBox.cpp
+++ b/libs/JSystem/J2DGraph/J2DTextBox.cpp
@@ -8,7 +8,6 @@
#include "JSystem/JSupport/JSURandomInputStream.h"
#include "JSystem/JUtility/JUTResFont.h"
#include "dol2asm.h"
-#include "dolphin/types.h"
/* 802FF660-802FF6D8 2F9FA0 0078+00 0/0 1/1 0/0 .text __ct__10J2DTextBoxFv */
J2DTextBox::J2DTextBox()
diff --git a/libs/JSystem/J2DGraph/J2DWindowEx.cpp b/libs/JSystem/J2DGraph/J2DWindowEx.cpp
index a36531b5bb..b21d5131e2 100644
--- a/libs/JSystem/J2DGraph/J2DWindowEx.cpp
+++ b/libs/JSystem/J2DGraph/J2DWindowEx.cpp
@@ -5,7 +5,6 @@
#include "JSystem/J2DGraph/J2DWindowEx.h"
#include "JSystem/JUtility/JUTTexture.h"
-#include "JSystem/JSupport/JSURandomInputStream.h"
#include "dol2asm.h"
//
diff --git a/libs/JSystem/J3DGraphAnimator/J3DAnimation.cpp b/libs/JSystem/J3DGraphAnimator/J3DAnimation.cpp
index a04693760a..fd00e444d3 100644
--- a/libs/JSystem/J3DGraphAnimator/J3DAnimation.cpp
+++ b/libs/JSystem/J3DGraphAnimator/J3DAnimation.cpp
@@ -5,7 +5,6 @@
#include "JSystem/J3DGraphAnimator/J3DAnimation.h"
#include "dol2asm.h"
-#include "global.h"
//
// Forward References:
diff --git a/libs/JSystem/J3DGraphAnimator/J3DCluster.cpp b/libs/JSystem/J3DGraphAnimator/J3DCluster.cpp
index bd16ca8984..826c0dbeda 100644
--- a/libs/JSystem/J3DGraphAnimator/J3DCluster.cpp
+++ b/libs/JSystem/J3DGraphAnimator/J3DCluster.cpp
@@ -6,9 +6,6 @@
#include "JSystem/J3DGraphAnimator/J3DCluster.h"
#include "JSystem/J3DGraphAnimator/J3DAnimation.h"
#include "JSystem/J3DGraphAnimator/J3DModel.h"
-#include "JSystem/J3DGraphAnimator/J3DSkinDeform.h"
-#include "JSystem/JMath/JMath.h"
-#include "JSystem/JUtility/JUTAssert.h"
#include "dol2asm.h"
#include "dolphin/os.h"
diff --git a/libs/JSystem/J3DGraphAnimator/J3DMaterialAnm.cpp b/libs/JSystem/J3DGraphAnimator/J3DMaterialAnm.cpp
index d224d9b06e..56fd04300c 100644
--- a/libs/JSystem/J3DGraphAnimator/J3DMaterialAnm.cpp
+++ b/libs/JSystem/J3DGraphAnimator/J3DMaterialAnm.cpp
@@ -1,7 +1,6 @@
#include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h"
#include "JSystem/J3DGraphBase/J3DMaterial.h"
#include "dol2asm.h"
-#include "global.h"
//
// Forward References:
diff --git a/libs/JSystem/J3DGraphAnimator/J3DMaterialAttach.cpp b/libs/JSystem/J3DGraphAnimator/J3DMaterialAttach.cpp
index 74ec8e5ace..d28e0ba3bd 100644
--- a/libs/JSystem/J3DGraphAnimator/J3DMaterialAttach.cpp
+++ b/libs/JSystem/J3DGraphAnimator/J3DMaterialAttach.cpp
@@ -7,7 +7,6 @@
#include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h"
#include "JSystem/J3DGraphBase/J3DMaterial.h"
#include "JSystem/JUtility/JUTAssert.h"
-#include "dol2asm.h"
#include "dolphin/types.h"
//
diff --git a/libs/JSystem/J3DGraphAnimator/J3DModel.cpp b/libs/JSystem/J3DGraphAnimator/J3DModel.cpp
index 135a29b185..cb0ed6c77a 100644
--- a/libs/JSystem/J3DGraphAnimator/J3DModel.cpp
+++ b/libs/JSystem/J3DGraphAnimator/J3DModel.cpp
@@ -8,7 +8,6 @@
#include "JSystem/J3DGraphBase/J3DMaterial.h"
#include "dol2asm.h"
#include "dolphin/os.h"
-#include "dolphin/types.h"
//
// Forward References:
diff --git a/libs/JSystem/J3DGraphAnimator/J3DMtxBuffer.cpp b/libs/JSystem/J3DGraphAnimator/J3DMtxBuffer.cpp
index 7a571c4c11..c06ce49caf 100644
--- a/libs/JSystem/J3DGraphAnimator/J3DMtxBuffer.cpp
+++ b/libs/JSystem/J3DGraphAnimator/J3DMtxBuffer.cpp
@@ -6,7 +6,6 @@
#include "JSystem/J3DGraphAnimator/J3DMtxBuffer.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "dol2asm.h"
-#include "dolphin/types.h"
//
// Forward References:
diff --git a/libs/JSystem/J3DGraphAnimator/J3DShapeTable.cpp b/libs/JSystem/J3DGraphAnimator/J3DShapeTable.cpp
index 62a533a703..0af7668beb 100644
--- a/libs/JSystem/J3DGraphAnimator/J3DShapeTable.cpp
+++ b/libs/JSystem/J3DGraphAnimator/J3DShapeTable.cpp
@@ -1,5 +1,4 @@
#include "JSystem/J3DGraphAnimator/J3DShapeTable.h"
-#include "dolphin/types.h"
void J3DShapeTable::hide() {
u16 shapeNum = mShapeNum;
diff --git a/libs/JSystem/J3DGraphBase/J3DGD.cpp b/libs/JSystem/J3DGraphBase/J3DGD.cpp
index 7f65db79a5..899ecb6922 100644
--- a/libs/JSystem/J3DGraphBase/J3DGD.cpp
+++ b/libs/JSystem/J3DGraphBase/J3DGD.cpp
@@ -1,740 +1,740 @@
-//
-// Generated By: dol2asm
-// Translation Unit: J3DGD
-//
-
-#include "JSystem/J3DGraphBase/J3DGD.h"
-#include "dol2asm.h"
-#include "dolphin/gd.h"
-#include "dolphin/os.h"
-
-//
-// Forward References:
-//
-
-extern "C" void J3DGDSetGenMode__FUcUcUcUc11_GXCullMode();
-extern "C" void J3DGDSetGenMode_3Param__FUcUcUc();
-extern "C" void J3DGDSetLightAttn__F10_GXLightIDffffff();
-extern "C" void J3DGDSetLightColor__F10_GXLightID8_GXColor();
-extern "C" void J3DGDSetLightPos__F10_GXLightIDfff();
-extern "C" void J3DGDSetLightDir__F10_GXLightIDfff();
-extern "C" void J3DGDSetVtxAttrFmtv__F9_GXVtxFmtPC17_GXVtxAttrFmtListb();
-extern "C" void J3DGDSetTexCoordGen__F13_GXTexGenType12_GXTexGenSrc();
-extern "C" void J3DGDSetTexCoordScale2__F13_GXTexCoordIDUsUcUcUsUcUc();
-extern "C" void
-J3DGDSetTexLookupMode__F11_GXTexMapID14_GXTexWrapMode14_GXTexWrapMode12_GXTexFilter12_GXTexFilterfffUcUc13_GXAnisotropy();
-extern "C" void J3DGDSetTexImgAttr__F11_GXTexMapIDUsUs9_GXTexFmt();
-extern "C" void J3DGDSetTexImgPtr__F11_GXTexMapIDPv();
-extern "C" void J3DGDSetTexImgPtrRaw__F11_GXTexMapIDUl();
-extern "C" void J3DGDSetTexTlut__F11_GXTexMapIDUl10_GXTlutFmt();
-extern "C" void J3DGDLoadTlut__FPvUl11_GXTlutSize();
-extern "C" void J3DGDSetIndTexMtx__F14_GXIndTexMtxIDPA3_fSc();
-extern "C" void
-J3DGDSetIndTexCoordScale__F16_GXIndTexStageID14_GXIndTexScale14_GXIndTexScale14_GXIndTexScale14_GXIndTexScale();
-extern "C" void
-J3DGDSetIndTexOrder__FUl13_GXTexCoordID11_GXTexMapID13_GXTexCoordID11_GXTexMapID13_GXTexCoordID11_GXTexMapID13_GXTexCoordID11_GXTexMapID();
-extern "C" void
-J3DGDSetTevOrder__F13_GXTevStageID13_GXTexCoordID11_GXTexMapID12_GXChannelID13_GXTexCoordID11_GXTexMapID12_GXChannelID();
-extern "C" void J3DGDSetTevKColor__F14_GXTevKColorID8_GXColor();
-extern "C" void J3DGDSetTevColorS10__F11_GXTevRegID11_GXColorS10();
-extern "C" void J3DGDSetFog__F10_GXFogTypeffff8_GXColor();
-extern "C" void J3DGDSetFogRangeAdj__FUcUsP14_GXFogAdjTable();
-extern "C" void J3DFifoLoadPosMtxImm__FPA4_fUl();
-extern "C" void J3DFifoLoadNrmMtxImm__FPA4_fUl();
-extern "C" void J3DFifoLoadNrmMtxImm3x3__FPA3_fUl();
-extern "C" void J3DFifoLoadNrmMtxToTexMtx__FPA4_fUl();
-extern "C" void J3DFifoLoadNrmMtxToTexMtx3x3__FPA3_fUl();
-extern "C" void J3DFifoLoadTexCached__F11_GXTexMapIDUl15_GXTexCacheSizeUl15_GXTexCacheSize();
-
-//
-// External References:
-//
-
-extern "C" void GDOverflowed();
-extern "C" void __cvt_fp2unsigned();
-extern "C" void _savegpr_14();
-extern "C" void _savegpr_23();
-extern "C" void _savegpr_24();
-extern "C" void _savegpr_25();
-extern "C" void _savegpr_27();
-extern "C" void _savegpr_29();
-extern "C" void _restgpr_14();
-extern "C" void _restgpr_23();
-extern "C" void _restgpr_24();
-extern "C" void _restgpr_25();
-extern "C" void _restgpr_27();
-extern "C" void _restgpr_29();
-
-//
-// Declarations:
-//
-
-/* 8030D098-8030D210 3079D8 0178+00 0/0 1/1 0/0 .text J3DGDSetGenMode__FUcUcUcUc11_GXCullMode */
-void J3DGDSetGenMode(u8 texGenNum, u8 colorChanNum, u8 tevStageNum, u8 indTexStageNum,
- GXCullMode cullMode) {
- GDOverflowCheck(0xa);
- J3DGDWriteBPCmd(0xfe07fc3f);
- static u8 cm2hw[4] = {0, 2, 1, 3};
- J3DGDWriteBPCmd(texGenNum | colorChanNum << 4 | (tevStageNum - 1) << 0xa |
- cm2hw[cullMode] << 0xe | indTexStageNum << 0x10);
-}
-
-/* 8030D210-8030D364 307B50 0154+00 0/0 1/1 0/0 .text J3DGDSetGenMode_3Param__FUcUcUc */
-void J3DGDSetGenMode_3Param(u8 texGenNum, u8 tevStageNum, u8 indTexStageNum) {
- GDOverflowCheck(0xa);
- J3DGDWriteBPCmd(0xfe073c0f);
- J3DGDWriteBPCmd(texGenNum | (tevStageNum - 1) << 0xa | indTexStageNum << 0x10);
-}
-
-/* 8030D364-8030D65C 307CA4 02F8+00 0/0 1/1 0/0 .text J3DGDSetLightAttn__F10_GXLightIDffffff */
-void J3DGDSetLightAttn(GXLightID id, f32 a0, f32 a1, f32 a2, f32 k0, f32 k1, f32 k2) {
- J3DGDWriteXFCmdHdr(0x0604 + __GDLightID2Offset(id), 6);
- J3DGDWrite_f32(a0);
- J3DGDWrite_f32(a1);
- J3DGDWrite_f32(a2);
- J3DGDWrite_f32(k0);
- J3DGDWrite_f32(k1);
- J3DGDWrite_f32(k2);
-}
-
-/* 8030D65C-8030D76C 307F9C 0110+00 0/0 1/1 0/0 .text J3DGDSetLightColor__F10_GXLightID8_GXColor
- */
-void J3DGDSetLightColor(GXLightID id, GXColor color) {
- J3DGDWriteXFCmd(0x0603 + __GDLightID2Offset(id),
- (color.r << 24) | (color.g << 16) | (color.b << 8) | (color.a << 0));
-}
-
-/* 8030D76C-8030D938 3080AC 01CC+00 0/0 1/1 0/0 .text J3DGDSetLightPos__F10_GXLightIDfff
- */
-void J3DGDSetLightPos(GXLightID id, f32 x, f32 y, f32 z) {
- J3DGDWriteXFCmdHdr(0x060A + __GDLightID2Offset(id), 3);
- J3DGDWrite_f32(x);
- J3DGDWrite_f32(y);
- J3DGDWrite_f32(z);
-}
-
-/* 8030D938-8030DB04 308278 01CC+00 0/0 1/1 0/0 .text J3DGDSetLightDir__F10_GXLightIDfff
- */
-void J3DGDSetLightDir(GXLightID id, f32 x, f32 y, f32 z) {
- J3DGDWriteXFCmdHdr(0x060D + __GDLightID2Offset(id), 3);
- J3DGDWrite_f32(x);
- J3DGDWrite_f32(y);
- J3DGDWrite_f32(z);
-}
-
-/* 8030DB04-8030E064 308444 0560+00 1/0 1/1 0/0 .text
- * J3DGDSetVtxAttrFmtv__F9_GXVtxFmtPC17_GXVtxAttrFmtListb */
-void J3DGDSetVtxAttrFmtv(GXVtxFmt fmt, GXVtxAttrFmtList const* fmtList, bool param_2) {
- u32 pos_cnt = GX_POS_XYZ;
- u32 pos_type = GX_F32;
- u32 pos_shift = 0;
- u32 nrm_cnt = GX_NRM_XYZ;
- u32 nrm_type = GX_F32;
- u32 local_34 = 0;
- u32 clr0_cnt = GX_CLR_RGBA;
- u32 clr0_type = GX_RGBA8;
- u32 clr1_cnt = GX_CLR_RGBA;
- u32 clr1_type = GX_RGBA8;
- u32 tex0_cnt = GX_TEX_ST;
- u32 tex0_type = GX_F32;
- u32 tex0_shift = 0;
- u32 tex1_cnt = GX_TEX_ST;
- u32 tex1_type = GX_F32;
- u32 tex1_shift = 0;
- u32 tex2_cnt = GX_TEX_ST;
- u32 tex2_type = GX_F32;
- u32 tex2_shift = 0;
- u32 tex3_cnt = GX_TEX_ST;
- u32 tex3_type = GX_F32;
- u32 tex3_shift = 0;
- u32 tex4_cnt = GX_TEX_ST;
- u32 tex4_type = GX_F32;
- u32 tex4_shift = 0;
- u32 tex5_cnt = GX_TEX_ST;
- u32 tex5_type = GX_F32;
- u32 tex5_shift = 0;
- u32 tex6_cnt = GX_TEX_ST;
- u32 tex6_type = GX_F32;
- u32 tex6_shift = 0;
- u32 tex7_cnt = GX_TEX_ST;
- u32 tex7_type = GX_F32;
- u32 tex7_shift = 0;
- for (; fmtList->mAttrib != GX_VA_NULL; fmtList++) {
- switch (fmtList->mAttrib) {
- case GX_VA_POS:
- pos_cnt = fmtList->mCompCnt;
- pos_type = fmtList->mCompType;
- pos_shift = fmtList->mCompShift;
- break;
- case GX_VA_NRM:
- case GX_VA_NBT:
- nrm_type = fmtList->mCompType;
- if (fmtList->mCompCnt == GX_NRM_NBT3) {
- nrm_cnt = GX_NRM_NBT;
- local_34 = 1;
- } else {
- if (param_2) {
- nrm_cnt = GX_NRM_NBT;
- } else {
- nrm_cnt = fmtList->mCompCnt;
- }
- local_34 = 0;
- }
- break;
- case GX_VA_CLR0:
- clr0_cnt = fmtList->mCompCnt;
- clr0_type = fmtList->mCompType;
- break;
- case GX_VA_CLR1:
- clr1_cnt = fmtList->mCompCnt;
- clr1_type = fmtList->mCompType;
- break;
- case GX_VA_TEX0:
- tex0_cnt = fmtList->mCompCnt;
- tex0_type = fmtList->mCompType;
- tex0_shift = fmtList->mCompShift;
- break;
- case GX_VA_TEX1:
- tex1_cnt = fmtList->mCompCnt;
- tex1_type = fmtList->mCompType;
- tex1_shift = fmtList->mCompShift;
- break;
- case GX_VA_TEX2:
- tex2_cnt = fmtList->mCompCnt;
- tex2_type = fmtList->mCompType;
- tex2_shift = fmtList->mCompShift;
- break;
- case GX_VA_TEX3:
- tex3_cnt = fmtList->mCompCnt;
- tex3_type = fmtList->mCompType;
- tex3_shift = fmtList->mCompShift;
- break;
- case GX_VA_TEX4:
- tex4_cnt = fmtList->mCompCnt;
- tex4_type = fmtList->mCompType;
- tex4_shift = fmtList->mCompShift;
- break;
- case GX_VA_TEX5:
- tex5_cnt = fmtList->mCompCnt;
- tex5_type = fmtList->mCompType;
- tex5_shift = fmtList->mCompShift;
- break;
- case GX_VA_TEX6:
- tex6_cnt = fmtList->mCompCnt;
- tex6_type = fmtList->mCompType;
- tex6_shift = fmtList->mCompShift;
- break;
- case GX_VA_TEX7:
- tex7_cnt = fmtList->mCompCnt;
- tex7_type = fmtList->mCompType;
- tex7_shift = fmtList->mCompShift;
- break;
- }
- }
- GDOverflowCheck(0x12);
- J3DGDWriteCPCmd(GX_CP_REG_VAT_GRP0 + fmt,
- pos_cnt | pos_type << 1 | pos_shift << 4 | nrm_cnt << 9 | nrm_type << 0xa |
- clr0_cnt << 0xd | clr0_type << 0xe | clr1_cnt << 0x11 | clr1_type << 0x12 |
- tex0_cnt << 0x15 | tex0_type << 0x16 | tex0_shift << 0x19 | 0x40000000 |
- local_34 << 0x1f);
- J3DGDWriteCPCmd(GX_CP_REG_VAT_GRP1 + fmt,
- tex1_cnt | tex1_type << 1 | tex1_shift << 4 | tex2_cnt << 9 | tex2_type << 0xa |
- tex2_shift << 0xd | tex3_cnt << 0x12 | tex3_type << 0x13 |
- tex3_shift << 0x16 | tex4_cnt << 0x1b | tex4_type << 0x1c | 0x80000000);
- J3DGDWriteCPCmd(GX_CP_REG_VAT_GRP2 + fmt,
- tex4_shift | tex5_cnt << 5 | tex5_type << 6 | tex5_shift << 9 |
- tex6_cnt << 0xe | tex6_type << 0xf | tex6_shift << 0x12 | tex7_cnt << 0x17 |
- tex7_type << 0x18 | tex7_shift << 0x1b);
-}
-
-/* 8030E064-8030E234 3089A4 01D0+00 1/0 1/1 0/0 .text
- * J3DGDSetTexCoordGen__F13_GXTexGenType12_GXTexGenSrc */
-void J3DGDSetTexCoordGen(GXTexGenType texGenType, GXTexGenSrc texGenSrc) {
- u32 input_form = 0;
- u32 proj_type = 0;
- u32 src_row = 5;
- u32 bump_src_tex = 5;
- u32 bump_src_light = 0;
- u32 texgen_type;
- switch (texGenSrc) {
- case GX_TG_POS:
- src_row = 0;
- input_form = 1;
- break;
- case GX_TG_NRM:
- src_row = 1;
- input_form = 1;
- break;
- case GX_TG_BINRM:
- src_row = 3;
- input_form = 1;
- break;
- case GX_TG_TANGENT:
- src_row = 4;
- input_form = 1;
- break;
- case GX_TG_COLOR0:
- src_row = 2;
- break;
- case GX_TG_COLOR1:
- src_row = 2;
- break;
- case GX_TG_TEX0:
- src_row = 5;
- break;
- case GX_TG_TEX1:
- src_row = 6;
- break;
- case GX_TG_TEX2:
- src_row = 7;
- break;
- case GX_TG_TEX3:
- src_row = 8;
- break;
- case GX_TG_TEX4:
- src_row = 9;
- break;
- case GX_TG_TEX5:
- src_row = 10;
- break;
- case GX_TG_TEX6:
- src_row = 11;
- break;
- case GX_TG_TEX7:
- src_row = 12;
- break;
- case GX_TG_TEXCOORD0:
- bump_src_tex = 0;
- break;
- case GX_TG_TEXCOORD1:
- bump_src_tex = 1;
- break;
- case GX_TG_TEXCOORD2:
- bump_src_tex = 2;
- break;
- case GX_TG_TEXCOORD3:
- bump_src_tex = 3;
- break;
- case GX_TG_TEXCOORD4:
- bump_src_tex = 4;
- break;
- case GX_TG_TEXCOORD5:
- bump_src_tex = 5;
- break;
- case GX_TG_TEXCOORD6:
- bump_src_tex = 6;
- break;
- }
- switch (texGenType) {
- case GX_TG_MTX2x4:
- texgen_type = 0;
- break;
- case GX_TG_MTX3x4:
- texgen_type = 0;
- proj_type = 1;
- break;
- case GX_TG_BUMP0:
- case GX_TG_BUMP1:
- case GX_TG_BUMP2:
- case GX_TG_BUMP3:
- case GX_TG_BUMP4:
- case GX_TG_BUMP5:
- case GX_TG_BUMP6:
- case GX_TG_BUMP7:
- texgen_type = 1;
- bump_src_light = texGenType - 2;
- break;
- case GX_TG_SRTG:
- if (texGenSrc == GX_TG_COLOR0) {
- texgen_type = 2;
- } else {
- texgen_type = 3;
- }
- break;
- }
- J3DGDWrite_u32(
- proj_type << (31 - GX_XF_TEX_PROJTYPE_END) | input_form << (31 - GX_XF_TEX_INPUTFORM_END) |
- texgen_type << (31 - GX_XF_TEX_TEXGENTYPE_END) | src_row << (31 - GX_XF_TEX_SRCROW_END) |
- bump_src_tex << (31 - GX_XF_TEX_BUMPSRCTEX_END) |
- bump_src_light << (31 - GX_XF_TEX_BUMPSRCLIGHT_END));
-}
-
-/* 8030E234-8030E438 308B74 0204+00 0/0 16/16 0/0 .text
- * J3DGDSetTexCoordScale2__F13_GXTexCoordIDUsUcUcUsUcUc */
-void J3DGDSetTexCoordScale2(GXTexCoordID param_0, u16 param_1, u8 param_2, u8 param_3, u16 param_4,
- u8 param_5, u8 param_6) {
- GDOverflowCheck(0xf);
- J3DGDWriteBPCmd(0xfe03ffff);
- J3DGDWriteBPCmd((param_1 - 1) | param_2 << 0x10 | param_3 << 0x11 |
- (param_0 * 2 + 0x30) << 0x18);
- J3DGDWriteBPCmd((param_4 - 1) | param_5 << 0x10 | param_6 << 0x11 |
- (param_0 * 2 + 0x31) << 0x18);
-}
-
-/* 8045090C-80450914 00038C 0008+00 1/1 0/0 0/0 .sdata J3DGDTexMode0Ids */
-static u8 J3DGDTexMode0Ids[8] = {
- 0x80, 0x81, 0x82, 0x83, 0xA0, 0xA1, 0xA2, 0xA3,
-};
-
-/* 80450914-8045091C 000394 0008+00 1/1 0/0 0/0 .sdata J3DGDTexMode1Ids */
-static u8 J3DGDTexMode1Ids[8] = {
- 0x84, 0x85, 0x86, 0x87, 0xA4, 0xA5, 0xA6, 0xA7,
-};
-
-/* 8045091C-80450924 00039C 0008+00 1/1 0/0 0/0 .sdata J3DGDTexImage0Ids */
-static u8 J3DGDTexImage0Ids[8] = {
- 0x88, 0x89, 0x8A, 0x8B, 0xA8, 0xA9, 0xAA, 0xAB,
-};
-
-/* 80450924-8045092C 0003A4 0008+00 2/2 0/0 0/0 .sdata J3DGDTexImage3Ids */
-static u8 J3DGDTexImage3Ids[8] = {
- 0x94, 0x95, 0x96, 0x97, 0xB4, 0xB5, 0xB6, 0xB7,
-};
-
-/* 8045092C-80450934 0003AC 0008+00 1/1 0/0 0/0 .sdata J3DGDTexTlutIds */
-static u8 J3DGDTexTlutIds[8] = {
- 0x98, 0x99, 0x9A, 0x9B, 0xB8, 0xB9, 0xBA, 0xBB,
-};
-
-/* 80450934-8045093C 0003B4 0006+02 1/1 0/0 0/0 .sdata GX2HWFiltConv */
-static u8 GX2HWFiltConv[6] = {
- 0x00, 0x04, 0x01, 0x05, 0x02, 0x06,
-};
-
-/* 8030E438-8030E5D4 308D78 019C+00 0/0 1/1 0/0 .text
- * J3DGDSetTexLookupMode__F11_GXTexMapID14_GXTexWrapMode14_GXTexWrapMode12_GXTexFilter12_GXTexFilterfffUcUc13_GXAnisotropy
- */
-void J3DGDSetTexLookupMode(GXTexMapID param_0, GXTexWrapMode param_1, GXTexWrapMode param_2,
- GXTexFilter param_3, GXTexFilter param_4, f32 param_5, f32 param_6,
- f32 param_7, u8 param_8, u8 param_9, GXAnisotropy param_10) {
- J3DGDWriteBPCmd(param_1 | param_2 << 2 | (param_4 == GX_LINEAR) << 4 |
- GX2HWFiltConv[param_3] << 5 | (param_9 == 0) << 8 |
- ((int)(param_7 * 32.0f) & 0xff) << 9 | param_10 << 0x13 | param_8 << 0x15 |
- J3DGDTexMode0Ids[param_0] << 0x18);
- J3DGDWriteBPCmd(((int)(param_5 * 16.0f) & 0xff) | ((int)(param_6 * 16.0f) & 0xff) << 8 |
- J3DGDTexMode1Ids[param_0] << 0x18);
-}
-
-/* 8030E5D4-8030E67C 308F14 00A8+00 0/0 1/1 0/0 .text
- * J3DGDSetTexImgAttr__F11_GXTexMapIDUsUs9_GXTexFmt */
-void J3DGDSetTexImgAttr(GXTexMapID param_0, u16 param_1, u16 param_2, GXTexFmt param_3) {
- J3DGDWriteBPCmd((param_1 - 1) | (param_2 - 1) << 0xa | param_3 << 0x14 |
- J3DGDTexImage0Ids[param_0] << 0x18);
-}
-
-/* 8030E67C-8030E70C 308FBC 0090+00 0/0 1/1 0/0 .text J3DGDSetTexImgPtr__F11_GXTexMapIDPv
- */
-void J3DGDSetTexImgPtr(GXTexMapID param_0, void* param_1) {
- J3DGDWriteBPCmd(OSCachedToPhysical(param_1) >> 5 | J3DGDTexImage3Ids[param_0] << 0x18);
-}
-
-/* 8030E70C-8030E7E0 30904C 00D4+00 0/0 1/1 0/0 .text J3DGDSetTexImgPtrRaw__F11_GXTexMapIDUl */
-void J3DGDSetTexImgPtrRaw(GXTexMapID param_0, u32 param_1) {
- GDOverflowCheck(5);
- J3DGDWriteBPCmd(param_1 | J3DGDTexImage3Ids[param_0] << 0x18);
-}
-
-/* 8030E7E0-8030E878 309120 0098+00 0/0 1/1 0/0 .text
- * J3DGDSetTexTlut__F11_GXTexMapIDUl10_GXTlutFmt */
-void J3DGDSetTexTlut(GXTexMapID param_0, u32 param_1, GXTlutFmt param_2) {
- J3DGDWriteBPCmd((param_1 - 0x80000) >> 9 | param_2 << 0xa | J3DGDTexTlutIds[param_0] << 0x18);
-}
-
-/* 8030E878-8030EB30 3091B8 02B8+00 0/0 1/1 0/0 .text J3DGDLoadTlut__FPvUl11_GXTlutSize
- */
-void J3DGDLoadTlut(void* param_0, u32 param_1, GXTlutSize param_2) {
- J3DGDWriteBPCmd(0xfeffff00);
- J3DGDWriteBPCmd(0x0f000000);
- J3DGDWriteBPCmd(OSCachedToPhysical(param_0) >> 5 | 0x64000000);
- J3DGDWriteBPCmd((param_1 - 0x80000) >> 9 | param_2 << 0xa | 0x65000000);
- J3DGDWriteBPCmd(0xfeffff00);
- J3DGDWriteBPCmd(0x0f000000);
-}
-
-/* 8030EB30-8030EE10 309470 02E0+00 0/0 2/2 0/0 .text J3DGDSetIndTexMtx__F14_GXIndTexMtxIDPA3_fSc
- */
-void J3DGDSetIndTexMtx(GXIndTexMtxID id, Mtx3P mtx, s8 exp) {
- s32 mtx32[6];
- u32 idx;
-
- switch (id) {
- case GX_ITM_0:
- case GX_ITM_1:
- case GX_ITM_2:
- idx = (u32)(id - GX_ITM_0);
- break;
- case GX_ITM_S0:
- case GX_ITM_S1:
- case GX_ITM_S2:
- idx = (u32)(id - GX_ITM_S0);
- break;
- case GX_ITM_T0:
- case GX_ITM_T1:
- case GX_ITM_T2:
- idx = (u32)(id - GX_ITM_T0);
- break;
- default:
- idx = 0;
- break;
- }
-
- exp += 17;
-
- mtx32[0] = (s32)(mtx[0][0] * 1024.0f) & 0x7FF;
- mtx32[1] = (s32)(mtx[1][0] * 1024.0f) & 0x7FF;
-
- mtx32[2] = (s32)(mtx[0][1] * 1024.0f) & 0x7FF;
- mtx32[3] = (s32)(mtx[1][1] * 1024.0f) & 0x7FF;
-
- mtx32[4] = (s32)(mtx[0][2] * 1024.0f) & 0x7FF;
- mtx32[5] = (s32)(mtx[1][2] * 1024.0f) & 0x7FF;
-
- GDOverflowCheck(15);
-
- J3DGDWriteBPCmd((mtx32[0] << 0) | (mtx32[1] << 11) | (((exp >> 0) & 0x03) << 22) |
- (0x06 + idx * 3) << 24);
- J3DGDWriteBPCmd((mtx32[2] << 0) | (mtx32[3] << 11) | (((exp >> 2) & 0x03) << 22) |
- (0x07 + idx * 3) << 24);
- J3DGDWriteBPCmd((mtx32[4] << 0) | (mtx32[5] << 11) | (((exp >> 4) & 0x03) << 22) |
- (0x08 + idx * 3) << 24);
-}
-
-/* 8030EE10-8030EF08 309750 00F8+00 0/0 2/2 0/0 .text
- * J3DGDSetIndTexCoordScale__F16_GXIndTexStageID14_GXIndTexScale14_GXIndTexScale14_GXIndTexScale14_GXIndTexScale
- */
-void J3DGDSetIndTexCoordScale(GXIndTexStageID stage, GXIndTexScale scale0, GXIndTexScale scale1,
- GXIndTexScale scale2, GXIndTexScale scale3) {
- GDOverflowCheck(5);
- J3DGDWriteBPCmd(scale0 | scale1 << 4 | scale2 << 8 | scale3 << 0xc |
- ((stage >> 1) + GX_BP_REG_RAS1_SS0) << 0x18);
-}
-
-/* 8030EF08-8030F108 309848 0200+00 0/0 2/2 0/0 .text
- * J3DGDSetIndTexOrder__FUl13_GXTexCoordID11_GXTexMapID13_GXTexCoordID11_GXTexMapID13_GXTexCoordID11_GXTexMapID13_GXTexCoordID11_GXTexMapID
- */
-void J3DGDSetIndTexOrder(u32 count, GXTexCoordID coord0, GXTexMapID map0, GXTexCoordID coord1,
- GXTexMapID map1, GXTexCoordID coord2, GXTexMapID map2, GXTexCoordID coord3,
- GXTexMapID map3) {
- GDOverflowCheck(0xa);
- J3DGDWriteBPCmd(map0 & 7 | (coord0 & 7) << 3 | (map1 & 7) << 6 | (coord1 & 7) << 9 |
- (map2 & 7) << 0xc | (coord2 & 7) << 0xf | (map3 & 7) << 0x12 |
- (coord3 & 7) << 0x15 | GX_BP_REG_RAS1_IREF << 0x18);
- u32 imask = 0;
- for (u32 i = 0; i < count; i++) {
- switch (i) {
- case 0:
- imask |= 1 << (map0 & 7);
- break;
- case 1:
- imask |= 1 << (map1 & 7);
- break;
- case 2:
- imask |= 1 << (map2 & 7);
- break;
- case 3:
- imask |= 1 << (map3 & 7);
- break;
- }
- }
- J3DGDWriteBPCmd(imask | GX_BP_REG_INDIMASK << 0x18);
-}
-
-/* 8030F108-8030F294 309A48 018C+00 0/0 9/9 0/0 .text
- * J3DGDSetTevOrder__F13_GXTevStageID13_GXTexCoordID11_GXTexMapID12_GXChannelID13_GXTexCoordID11_GXTexMapID12_GXChannelID
- */
-void J3DGDSetTevOrder(GXTevStageID stage, GXTexCoordID coord0, GXTexMapID map0,
- GXChannelID channel0, GXTexCoordID coord1, GXTexMapID map1,
- GXChannelID channel1) {
- coord0 = coord0 >= GX_MAXCOORD ? GX_TEXCOORD0 : coord0;
- coord1 = coord1 >= GX_MAXCOORD ? GX_TEXCOORD0 : coord1;
- GDOverflowCheck(5);
- static u8 c2r[32] = {0, 1, 0, 1, 0, 1, 7, 5, 6, 0, 0, 0, 0, 0, 0, 7,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
- J3DGDWriteBPCmd((map0 & 7) | coord0 << 3 |
- (map0 != GX_TEXMAP_NULL && !(map0 & GX_TEXMAP_DISABLE)) << 6 |
- c2r[channel0 & 0xf] << 7 | (map1 & 7) << 0xc | coord1 << 0xf |
- (map1 != GX_TEXMAP_NULL && !(map1 & GX_TEXMAP_DISABLE)) << 0x12 |
- c2r[channel1 & 0xf] << 0x13 | (stage / 2 + GX_BP_REG_RAS1_TREF0) << 0x18);
-}
-
-/* 8030F294-8030F3FC 309BD4 0168+00 0/0 11/11 0/0 .text
- * J3DGDSetTevKColor__F14_GXTevKColorID8_GXColor */
-void J3DGDSetTevKColor(GXTevKColorID id, GXColor color) {
- u32 cmd0 = color.r | color.a << 0xc | 0x800000 | (id * 2 + GX_BP_REG_TEVREG0LO) << 0x18;
- u32 cmd1 = color.b | color.g << 0xc | 0x800000 | (id * 2 + GX_BP_REG_TEVREG0HI) << 0x18;
- GDOverflowCheck(0xa);
- J3DGDWriteBPCmd(cmd0);
- J3DGDWriteBPCmd(cmd1);
-}
-
-/* 8030F3FC-8030F630 309D3C 0234+00 0/0 11/11 0/0 .text
- * J3DGDSetTevColorS10__F11_GXTevRegID11_GXColorS10 */
-void J3DGDSetTevColorS10(GXTevRegID id, GXColorS10 color) {
- u32 cmd0 =
- (color.r & 0x7ff) | (color.a & 0x7ff) << 0xc | (id * 2 + GX_BP_REG_TEVREG0LO) << 0x18;
- u32 cmd1 =
- (color.b & 0x7ff) | (color.g & 0x7ff) << 0xc | (id * 2 + GX_BP_REG_TEVREG0HI) << 0x18;
- GDOverflowCheck(0x14);
- J3DGDWriteBPCmd(cmd0);
- J3DGDWriteBPCmd(cmd1);
- J3DGDWriteBPCmd(cmd1);
- J3DGDWriteBPCmd(cmd1);
-}
-
-/* 8030F630-8030F994 309F70 0364+00 0/0 3/3 0/0 .text J3DGDSetFog__F10_GXFogTypeffff8_GXColor */
-void J3DGDSetFog(GXFogType fogType, f32 param_1, f32 param_2, f32 nearZ, f32 farZ, GXColor color) {
- f32 fvar1, fvar2, fvar3;
- if (farZ == nearZ || param_2 == param_1) {
- fvar1 = 0.0f;
- fvar2 = 0.5f;
- fvar3 = 0.0f;
- } else {
- fvar1 = (farZ * nearZ) / ((farZ - nearZ) * (param_2 - param_1));
- fvar2 = farZ / (farZ - nearZ);
- fvar3 = param_1 / (param_2 - param_1);
- }
- u32 shift = 1;
- for (; fvar2 > 1.0; fvar2 *= 0.5f) {
- shift++;
- }
- for (; fvar2 > 0.0f && fvar2 < 0.5; fvar2 *= 2.0f) {
- shift--;
- }
- f32 fvar4 = (fvar1 / (1 << shift));
- u32 param1 = fvar2 * 8388638.0f;
- u32 param0 = *(u32*)&fvar4;
- u32 param3 = *(u32*)&fvar3;
- J3DGDWriteBPCmd(param0 >> 0xc | GX_BP_REG_FOGPARAM0 << 0x18);
- J3DGDWriteBPCmd(param1 | GX_BP_REG_FOGPARAM1 << 0x18);
- J3DGDWriteBPCmd(shift | GX_BP_REG_FOGPARAM2 << 0x18);
- J3DGDWriteBPCmd(param3 >> 0xc | fogType << 0x15 | GX_BP_REG_FOGPARAM3 << 0x18);
- J3DGDWriteBPCmd(color.b | color.g << 8 | color.r << 0x10 | GX_BP_REG_FOGCOLOR << 0x18);
-}
-
-/* 8030F994-8030FAE0 30A2D4 014C+00 0/0 3/3 0/0 .text J3DGDSetFogRangeAdj__FUcUsP14_GXFogAdjTable
- */
-void J3DGDSetFogRangeAdj(u8 param_0, u16 param_1, GXFogAdjTable* table) {
- if (param_0 != 0) {
- for (int i = 0; i < 0xa; i += 2) {
- J3DGDWriteBPCmd((i / 2 + GX_BP_REG_FOGRANGEK0) << 0x18 | table->fogVals[i + 1] << 0xc |
- table->fogVals[i]);
- }
- }
- u32 cmd = GX_BP_REG_FOGRANGE << 0x18 | (param_1 + 0x156) | param_0 << 0xa;
- J3DGDWriteBPCmd(cmd);
-}
-
-/* 8030FAE0-8030FB60 30A420 0080+00 0/0 10/10 0/0 .text J3DFifoLoadPosMtxImm__FPA4_fUl */
-void J3DFifoLoadPosMtxImm(MtxP mtx, u32 addr) {
- J3DFifoWriteXFCmdHdr((addr & 0x3fff) << 2, 0xc);
- J3DGXCmd1f32ptr(&mtx[0][0]);
- J3DGXCmd1f32ptr(&mtx[0][1]);
- J3DGXCmd1f32ptr(&mtx[0][2]);
- J3DGXCmd1f32ptr(&mtx[0][3]);
- J3DGXCmd1f32ptr(&mtx[1][0]);
- J3DGXCmd1f32ptr(&mtx[1][1]);
- J3DGXCmd1f32ptr(&mtx[1][2]);
- J3DGXCmd1f32ptr(&mtx[1][3]);
- J3DGXCmd1f32ptr(&mtx[2][0]);
- J3DGXCmd1f32ptr(&mtx[2][1]);
- J3DGXCmd1f32ptr(&mtx[2][2]);
- J3DGXCmd1f32ptr(&mtx[2][3]);
-}
-
-/* 8030FB60-8030FBCC 30A4A0 006C+00 0/0 9/9 0/0 .text J3DFifoLoadNrmMtxImm__FPA4_fUl */
-void J3DFifoLoadNrmMtxImm(MtxP mtx, u32 addr) {
- J3DFifoWriteXFCmdHdr(addr * 3 + 0x400, 9);
- J3DGXCmd1f32ptr(&mtx[0][0]);
- J3DGXCmd1f32ptr(&mtx[0][1]);
- J3DGXCmd1f32ptr(&mtx[0][2]);
- J3DGXCmd1f32ptr(&mtx[1][0]);
- J3DGXCmd1f32ptr(&mtx[1][1]);
- J3DGXCmd1f32ptr(&mtx[1][2]);
- J3DGXCmd1f32ptr(&mtx[2][0]);
- J3DGXCmd1f32ptr(&mtx[2][1]);
- J3DGXCmd1f32ptr(&mtx[2][2]);
-}
-
-/* 8030FBCC-8030FC38 30A50C 006C+00 0/0 3/3 0/0 .text J3DFifoLoadNrmMtxImm3x3__FPA3_fUl
- */
-void J3DFifoLoadNrmMtxImm3x3(Mtx3P mtx, u32 addr) {
- J3DFifoWriteXFCmdHdr(addr * 3 + 0x400, 9);
- J3DGXCmd1f32ptr(&mtx[0][0]);
- J3DGXCmd1f32ptr(&mtx[0][1]);
- J3DGXCmd1f32ptr(&mtx[0][2]);
- J3DGXCmd1f32ptr(&mtx[1][0]);
- J3DGXCmd1f32ptr(&mtx[1][1]);
- J3DGXCmd1f32ptr(&mtx[1][2]);
- J3DGXCmd1f32ptr(&mtx[2][0]);
- J3DGXCmd1f32ptr(&mtx[2][1]);
- J3DGXCmd1f32ptr(&mtx[2][2]);
-}
-
-/* 8030FC38-8030FCD0 30A578 0098+00 0/0 4/4 0/0 .text J3DFifoLoadNrmMtxToTexMtx__FPA4_fUl
- */
-void J3DFifoLoadNrmMtxToTexMtx(MtxP mtx, u32 addr) {
- J3DFifoWriteXFCmdHdr((addr & 0x3fff) << 2, 0xc);
- J3DGXCmd1f32ptr(&mtx[0][0]);
- J3DGXCmd1f32ptr(&mtx[0][1]);
- J3DGXCmd1f32ptr(&mtx[0][2]);
- J3DGXCmd1f32(0.0f);
- J3DGXCmd1f32ptr(&mtx[1][0]);
- J3DGXCmd1f32ptr(&mtx[1][1]);
- J3DGXCmd1f32ptr(&mtx[1][2]);
- J3DGXCmd1f32(0.0f);
- J3DGXCmd1f32ptr(&mtx[2][0]);
- J3DGXCmd1f32ptr(&mtx[2][1]);
- J3DGXCmd1f32ptr(&mtx[2][2]);
- J3DGXCmd1f32(0.0f);
-}
-
-/* 8030FCD0-8030FD68 30A610 0098+00 0/0 2/2 0/0 .text J3DFifoLoadNrmMtxToTexMtx3x3__FPA3_fUl */
-void J3DFifoLoadNrmMtxToTexMtx3x3(Mtx3P mtx, u32 addr) {
- J3DFifoWriteXFCmdHdr((addr & 0x3fff) << 2, 0xc);
- J3DGXCmd1f32ptr(&mtx[0][0]);
- J3DGXCmd1f32ptr(&mtx[0][1]);
- J3DGXCmd1f32ptr(&mtx[0][2]);
- J3DGXCmd1f32(0.0f);
- J3DGXCmd1f32ptr(&mtx[1][0]);
- J3DGXCmd1f32ptr(&mtx[1][1]);
- J3DGXCmd1f32ptr(&mtx[1][2]);
- J3DGXCmd1f32(0.0f);
- J3DGXCmd1f32ptr(&mtx[2][0]);
- J3DGXCmd1f32ptr(&mtx[2][1]);
- J3DGXCmd1f32ptr(&mtx[2][2]);
- J3DGXCmd1f32(0.0f);
-}
-
-/* 8045093C-80450944 0003BC 0008+00 1/1 0/0 0/0 .sdata J3DTexImage1Ids */
-SECTION_SDATA static u8 J3DTexImage1Ids[8] = {
- 0x8C, 0x8D, 0x8E, 0x8F, 0xAC, 0xAD, 0xAE, 0xAF,
-};
-
-/* 80450944-8045094C 0003C4 0008+00 1/1 0/0 0/0 .sdata J3DTexImage2Ids */
-SECTION_SDATA static u8 J3DTexImage2Ids[8] = {
- 0x90, 0x91, 0x92, 0x93, 0xB0, 0xB1, 0xB2, 0xB3,
-};
-
-/* 8030FD68-8030FDE8 30A6A8 0080+00 0/0 1/1 0/0 .text
- * J3DFifoLoadTexCached__F11_GXTexMapIDUl15_GXTexCacheSizeUl15_GXTexCacheSize */
-#ifdef NONMATCHING
-void J3DFifoLoadTexCached(GXTexMapID id, u32 param_1, GXTexCacheSize param_2, u32 param_3,
- GXTexCacheSize param_4) {
- J3DFifoLoadBPCmd(param_1 >> 5 | (param_2 + 3) << 0xf | (param_2 + 3) << 0x12 |
- J3DTexImage1Ids[id] << 0x18);
- if (param_4 != GX_TEXCACHE_NONE && param_3 < 0x100000) {
- J3DFifoLoadBPCmd(param_3 >> 5 | (param_4 + 3) << 0xf | (param_4 + 3) << 0x12 |
- J3DTexImage2Ids[id] << 0x18);
- }
-}
-#else
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void J3DFifoLoadTexCached(_GXTexMapID param_0, u32 param_1, _GXTexCacheSize param_2,
- u32 param_3, _GXTexCacheSize param_4) {
- nofralloc
-#include "asm/JSystem/J3DGraphBase/J3DGD/J3DFifoLoadTexCached__F11_GXTexMapIDUl15_GXTexCacheSizeUl15_GXTexCacheSize.s"
-}
-#pragma pop
-#endif
+//
+// Generated By: dol2asm
+// Translation Unit: J3DGD
+//
+
+#include "JSystem/J3DGraphBase/J3DGD.h"
+#include "dol2asm.h"
+#include "dolphin/gd.h"
+#include "dolphin/os.h"
+
+//
+// Forward References:
+//
+
+extern "C" void J3DGDSetGenMode__FUcUcUcUc11_GXCullMode();
+extern "C" void J3DGDSetGenMode_3Param__FUcUcUc();
+extern "C" void J3DGDSetLightAttn__F10_GXLightIDffffff();
+extern "C" void J3DGDSetLightColor__F10_GXLightID8_GXColor();
+extern "C" void J3DGDSetLightPos__F10_GXLightIDfff();
+extern "C" void J3DGDSetLightDir__F10_GXLightIDfff();
+extern "C" void J3DGDSetVtxAttrFmtv__F9_GXVtxFmtPC17_GXVtxAttrFmtListb();
+extern "C" void J3DGDSetTexCoordGen__F13_GXTexGenType12_GXTexGenSrc();
+extern "C" void J3DGDSetTexCoordScale2__F13_GXTexCoordIDUsUcUcUsUcUc();
+extern "C" void
+J3DGDSetTexLookupMode__F11_GXTexMapID14_GXTexWrapMode14_GXTexWrapMode12_GXTexFilter12_GXTexFilterfffUcUc13_GXAnisotropy();
+extern "C" void J3DGDSetTexImgAttr__F11_GXTexMapIDUsUs9_GXTexFmt();
+extern "C" void J3DGDSetTexImgPtr__F11_GXTexMapIDPv();
+extern "C" void J3DGDSetTexImgPtrRaw__F11_GXTexMapIDUl();
+extern "C" void J3DGDSetTexTlut__F11_GXTexMapIDUl10_GXTlutFmt();
+extern "C" void J3DGDLoadTlut__FPvUl11_GXTlutSize();
+extern "C" void J3DGDSetIndTexMtx__F14_GXIndTexMtxIDPA3_fSc();
+extern "C" void
+J3DGDSetIndTexCoordScale__F16_GXIndTexStageID14_GXIndTexScale14_GXIndTexScale14_GXIndTexScale14_GXIndTexScale();
+extern "C" void
+J3DGDSetIndTexOrder__FUl13_GXTexCoordID11_GXTexMapID13_GXTexCoordID11_GXTexMapID13_GXTexCoordID11_GXTexMapID13_GXTexCoordID11_GXTexMapID();
+extern "C" void
+J3DGDSetTevOrder__F13_GXTevStageID13_GXTexCoordID11_GXTexMapID12_GXChannelID13_GXTexCoordID11_GXTexMapID12_GXChannelID();
+extern "C" void J3DGDSetTevKColor__F14_GXTevKColorID8_GXColor();
+extern "C" void J3DGDSetTevColorS10__F11_GXTevRegID11_GXColorS10();
+extern "C" void J3DGDSetFog__F10_GXFogTypeffff8_GXColor();
+extern "C" void J3DGDSetFogRangeAdj__FUcUsP14_GXFogAdjTable();
+extern "C" void J3DFifoLoadPosMtxImm__FPA4_fUl();
+extern "C" void J3DFifoLoadNrmMtxImm__FPA4_fUl();
+extern "C" void J3DFifoLoadNrmMtxImm3x3__FPA3_fUl();
+extern "C" void J3DFifoLoadNrmMtxToTexMtx__FPA4_fUl();
+extern "C" void J3DFifoLoadNrmMtxToTexMtx3x3__FPA3_fUl();
+extern "C" void J3DFifoLoadTexCached__F11_GXTexMapIDUl15_GXTexCacheSizeUl15_GXTexCacheSize();
+
+//
+// External References:
+//
+
+extern "C" void GDOverflowed();
+extern "C" void __cvt_fp2unsigned();
+extern "C" void _savegpr_14();
+extern "C" void _savegpr_23();
+extern "C" void _savegpr_24();
+extern "C" void _savegpr_25();
+extern "C" void _savegpr_27();
+extern "C" void _savegpr_29();
+extern "C" void _restgpr_14();
+extern "C" void _restgpr_23();
+extern "C" void _restgpr_24();
+extern "C" void _restgpr_25();
+extern "C" void _restgpr_27();
+extern "C" void _restgpr_29();
+
+//
+// Declarations:
+//
+
+/* 8030D098-8030D210 3079D8 0178+00 0/0 1/1 0/0 .text J3DGDSetGenMode__FUcUcUcUc11_GXCullMode */
+void J3DGDSetGenMode(u8 texGenNum, u8 colorChanNum, u8 tevStageNum, u8 indTexStageNum,
+ GXCullMode cullMode) {
+ GDOverflowCheck(0xa);
+ J3DGDWriteBPCmd(0xfe07fc3f);
+ static u8 cm2hw[4] = {0, 2, 1, 3};
+ J3DGDWriteBPCmd(texGenNum | colorChanNum << 4 | (tevStageNum - 1) << 0xa |
+ cm2hw[cullMode] << 0xe | indTexStageNum << 0x10);
+}
+
+/* 8030D210-8030D364 307B50 0154+00 0/0 1/1 0/0 .text J3DGDSetGenMode_3Param__FUcUcUc */
+void J3DGDSetGenMode_3Param(u8 texGenNum, u8 tevStageNum, u8 indTexStageNum) {
+ GDOverflowCheck(0xa);
+ J3DGDWriteBPCmd(0xfe073c0f);
+ J3DGDWriteBPCmd(texGenNum | (tevStageNum - 1) << 0xa | indTexStageNum << 0x10);
+}
+
+/* 8030D364-8030D65C 307CA4 02F8+00 0/0 1/1 0/0 .text J3DGDSetLightAttn__F10_GXLightIDffffff */
+void J3DGDSetLightAttn(GXLightID id, f32 a0, f32 a1, f32 a2, f32 k0, f32 k1, f32 k2) {
+ J3DGDWriteXFCmdHdr(0x0604 + __GDLightID2Offset(id), 6);
+ J3DGDWrite_f32(a0);
+ J3DGDWrite_f32(a1);
+ J3DGDWrite_f32(a2);
+ J3DGDWrite_f32(k0);
+ J3DGDWrite_f32(k1);
+ J3DGDWrite_f32(k2);
+}
+
+/* 8030D65C-8030D76C 307F9C 0110+00 0/0 1/1 0/0 .text J3DGDSetLightColor__F10_GXLightID8_GXColor
+ */
+void J3DGDSetLightColor(GXLightID id, GXColor color) {
+ J3DGDWriteXFCmd(0x0603 + __GDLightID2Offset(id),
+ (color.r << 24) | (color.g << 16) | (color.b << 8) | (color.a << 0));
+}
+
+/* 8030D76C-8030D938 3080AC 01CC+00 0/0 1/1 0/0 .text J3DGDSetLightPos__F10_GXLightIDfff
+ */
+void J3DGDSetLightPos(GXLightID id, f32 x, f32 y, f32 z) {
+ J3DGDWriteXFCmdHdr(0x060A + __GDLightID2Offset(id), 3);
+ J3DGDWrite_f32(x);
+ J3DGDWrite_f32(y);
+ J3DGDWrite_f32(z);
+}
+
+/* 8030D938-8030DB04 308278 01CC+00 0/0 1/1 0/0 .text J3DGDSetLightDir__F10_GXLightIDfff
+ */
+void J3DGDSetLightDir(GXLightID id, f32 x, f32 y, f32 z) {
+ J3DGDWriteXFCmdHdr(0x060D + __GDLightID2Offset(id), 3);
+ J3DGDWrite_f32(x);
+ J3DGDWrite_f32(y);
+ J3DGDWrite_f32(z);
+}
+
+/* 8030DB04-8030E064 308444 0560+00 1/0 1/1 0/0 .text
+ * J3DGDSetVtxAttrFmtv__F9_GXVtxFmtPC17_GXVtxAttrFmtListb */
+void J3DGDSetVtxAttrFmtv(GXVtxFmt fmt, GXVtxAttrFmtList const* fmtList, bool param_2) {
+ u32 pos_cnt = GX_POS_XYZ;
+ u32 pos_type = GX_F32;
+ u32 pos_shift = 0;
+ u32 nrm_cnt = GX_NRM_XYZ;
+ u32 nrm_type = GX_F32;
+ u32 local_34 = 0;
+ u32 clr0_cnt = GX_CLR_RGBA;
+ u32 clr0_type = GX_RGBA8;
+ u32 clr1_cnt = GX_CLR_RGBA;
+ u32 clr1_type = GX_RGBA8;
+ u32 tex0_cnt = GX_TEX_ST;
+ u32 tex0_type = GX_F32;
+ u32 tex0_shift = 0;
+ u32 tex1_cnt = GX_TEX_ST;
+ u32 tex1_type = GX_F32;
+ u32 tex1_shift = 0;
+ u32 tex2_cnt = GX_TEX_ST;
+ u32 tex2_type = GX_F32;
+ u32 tex2_shift = 0;
+ u32 tex3_cnt = GX_TEX_ST;
+ u32 tex3_type = GX_F32;
+ u32 tex3_shift = 0;
+ u32 tex4_cnt = GX_TEX_ST;
+ u32 tex4_type = GX_F32;
+ u32 tex4_shift = 0;
+ u32 tex5_cnt = GX_TEX_ST;
+ u32 tex5_type = GX_F32;
+ u32 tex5_shift = 0;
+ u32 tex6_cnt = GX_TEX_ST;
+ u32 tex6_type = GX_F32;
+ u32 tex6_shift = 0;
+ u32 tex7_cnt = GX_TEX_ST;
+ u32 tex7_type = GX_F32;
+ u32 tex7_shift = 0;
+ for (; fmtList->mAttrib != GX_VA_NULL; fmtList++) {
+ switch (fmtList->mAttrib) {
+ case GX_VA_POS:
+ pos_cnt = fmtList->mCompCnt;
+ pos_type = fmtList->mCompType;
+ pos_shift = fmtList->mCompShift;
+ break;
+ case GX_VA_NRM:
+ case GX_VA_NBT:
+ nrm_type = fmtList->mCompType;
+ if (fmtList->mCompCnt == GX_NRM_NBT3) {
+ nrm_cnt = GX_NRM_NBT;
+ local_34 = 1;
+ } else {
+ if (param_2) {
+ nrm_cnt = GX_NRM_NBT;
+ } else {
+ nrm_cnt = fmtList->mCompCnt;
+ }
+ local_34 = 0;
+ }
+ break;
+ case GX_VA_CLR0:
+ clr0_cnt = fmtList->mCompCnt;
+ clr0_type = fmtList->mCompType;
+ break;
+ case GX_VA_CLR1:
+ clr1_cnt = fmtList->mCompCnt;
+ clr1_type = fmtList->mCompType;
+ break;
+ case GX_VA_TEX0:
+ tex0_cnt = fmtList->mCompCnt;
+ tex0_type = fmtList->mCompType;
+ tex0_shift = fmtList->mCompShift;
+ break;
+ case GX_VA_TEX1:
+ tex1_cnt = fmtList->mCompCnt;
+ tex1_type = fmtList->mCompType;
+ tex1_shift = fmtList->mCompShift;
+ break;
+ case GX_VA_TEX2:
+ tex2_cnt = fmtList->mCompCnt;
+ tex2_type = fmtList->mCompType;
+ tex2_shift = fmtList->mCompShift;
+ break;
+ case GX_VA_TEX3:
+ tex3_cnt = fmtList->mCompCnt;
+ tex3_type = fmtList->mCompType;
+ tex3_shift = fmtList->mCompShift;
+ break;
+ case GX_VA_TEX4:
+ tex4_cnt = fmtList->mCompCnt;
+ tex4_type = fmtList->mCompType;
+ tex4_shift = fmtList->mCompShift;
+ break;
+ case GX_VA_TEX5:
+ tex5_cnt = fmtList->mCompCnt;
+ tex5_type = fmtList->mCompType;
+ tex5_shift = fmtList->mCompShift;
+ break;
+ case GX_VA_TEX6:
+ tex6_cnt = fmtList->mCompCnt;
+ tex6_type = fmtList->mCompType;
+ tex6_shift = fmtList->mCompShift;
+ break;
+ case GX_VA_TEX7:
+ tex7_cnt = fmtList->mCompCnt;
+ tex7_type = fmtList->mCompType;
+ tex7_shift = fmtList->mCompShift;
+ break;
+ }
+ }
+ GDOverflowCheck(0x12);
+ J3DGDWriteCPCmd(GX_CP_REG_VAT_GRP0 + fmt,
+ pos_cnt | pos_type << 1 | pos_shift << 4 | nrm_cnt << 9 | nrm_type << 0xa |
+ clr0_cnt << 0xd | clr0_type << 0xe | clr1_cnt << 0x11 | clr1_type << 0x12 |
+ tex0_cnt << 0x15 | tex0_type << 0x16 | tex0_shift << 0x19 | 0x40000000 |
+ local_34 << 0x1f);
+ J3DGDWriteCPCmd(GX_CP_REG_VAT_GRP1 + fmt,
+ tex1_cnt | tex1_type << 1 | tex1_shift << 4 | tex2_cnt << 9 | tex2_type << 0xa |
+ tex2_shift << 0xd | tex3_cnt << 0x12 | tex3_type << 0x13 |
+ tex3_shift << 0x16 | tex4_cnt << 0x1b | tex4_type << 0x1c | 0x80000000);
+ J3DGDWriteCPCmd(GX_CP_REG_VAT_GRP2 + fmt,
+ tex4_shift | tex5_cnt << 5 | tex5_type << 6 | tex5_shift << 9 |
+ tex6_cnt << 0xe | tex6_type << 0xf | tex6_shift << 0x12 | tex7_cnt << 0x17 |
+ tex7_type << 0x18 | tex7_shift << 0x1b);
+}
+
+/* 8030E064-8030E234 3089A4 01D0+00 1/0 1/1 0/0 .text
+ * J3DGDSetTexCoordGen__F13_GXTexGenType12_GXTexGenSrc */
+void J3DGDSetTexCoordGen(GXTexGenType texGenType, GXTexGenSrc texGenSrc) {
+ u32 input_form = 0;
+ u32 proj_type = 0;
+ u32 src_row = 5;
+ u32 bump_src_tex = 5;
+ u32 bump_src_light = 0;
+ u32 texgen_type;
+ switch (texGenSrc) {
+ case GX_TG_POS:
+ src_row = 0;
+ input_form = 1;
+ break;
+ case GX_TG_NRM:
+ src_row = 1;
+ input_form = 1;
+ break;
+ case GX_TG_BINRM:
+ src_row = 3;
+ input_form = 1;
+ break;
+ case GX_TG_TANGENT:
+ src_row = 4;
+ input_form = 1;
+ break;
+ case GX_TG_COLOR0:
+ src_row = 2;
+ break;
+ case GX_TG_COLOR1:
+ src_row = 2;
+ break;
+ case GX_TG_TEX0:
+ src_row = 5;
+ break;
+ case GX_TG_TEX1:
+ src_row = 6;
+ break;
+ case GX_TG_TEX2:
+ src_row = 7;
+ break;
+ case GX_TG_TEX3:
+ src_row = 8;
+ break;
+ case GX_TG_TEX4:
+ src_row = 9;
+ break;
+ case GX_TG_TEX5:
+ src_row = 10;
+ break;
+ case GX_TG_TEX6:
+ src_row = 11;
+ break;
+ case GX_TG_TEX7:
+ src_row = 12;
+ break;
+ case GX_TG_TEXCOORD0:
+ bump_src_tex = 0;
+ break;
+ case GX_TG_TEXCOORD1:
+ bump_src_tex = 1;
+ break;
+ case GX_TG_TEXCOORD2:
+ bump_src_tex = 2;
+ break;
+ case GX_TG_TEXCOORD3:
+ bump_src_tex = 3;
+ break;
+ case GX_TG_TEXCOORD4:
+ bump_src_tex = 4;
+ break;
+ case GX_TG_TEXCOORD5:
+ bump_src_tex = 5;
+ break;
+ case GX_TG_TEXCOORD6:
+ bump_src_tex = 6;
+ break;
+ }
+ switch (texGenType) {
+ case GX_TG_MTX2x4:
+ texgen_type = 0;
+ break;
+ case GX_TG_MTX3x4:
+ texgen_type = 0;
+ proj_type = 1;
+ break;
+ case GX_TG_BUMP0:
+ case GX_TG_BUMP1:
+ case GX_TG_BUMP2:
+ case GX_TG_BUMP3:
+ case GX_TG_BUMP4:
+ case GX_TG_BUMP5:
+ case GX_TG_BUMP6:
+ case GX_TG_BUMP7:
+ texgen_type = 1;
+ bump_src_light = texGenType - 2;
+ break;
+ case GX_TG_SRTG:
+ if (texGenSrc == GX_TG_COLOR0) {
+ texgen_type = 2;
+ } else {
+ texgen_type = 3;
+ }
+ break;
+ }
+ J3DGDWrite_u32(
+ proj_type << (31 - GX_XF_TEX_PROJTYPE_END) | input_form << (31 - GX_XF_TEX_INPUTFORM_END) |
+ texgen_type << (31 - GX_XF_TEX_TEXGENTYPE_END) | src_row << (31 - GX_XF_TEX_SRCROW_END) |
+ bump_src_tex << (31 - GX_XF_TEX_BUMPSRCTEX_END) |
+ bump_src_light << (31 - GX_XF_TEX_BUMPSRCLIGHT_END));
+}
+
+/* 8030E234-8030E438 308B74 0204+00 0/0 16/16 0/0 .text
+ * J3DGDSetTexCoordScale2__F13_GXTexCoordIDUsUcUcUsUcUc */
+void J3DGDSetTexCoordScale2(GXTexCoordID param_0, u16 param_1, u8 param_2, u8 param_3, u16 param_4,
+ u8 param_5, u8 param_6) {
+ GDOverflowCheck(0xf);
+ J3DGDWriteBPCmd(0xfe03ffff);
+ J3DGDWriteBPCmd((param_1 - 1) | param_2 << 0x10 | param_3 << 0x11 |
+ (param_0 * 2 + 0x30) << 0x18);
+ J3DGDWriteBPCmd((param_4 - 1) | param_5 << 0x10 | param_6 << 0x11 |
+ (param_0 * 2 + 0x31) << 0x18);
+}
+
+/* 8045090C-80450914 00038C 0008+00 1/1 0/0 0/0 .sdata J3DGDTexMode0Ids */
+static u8 J3DGDTexMode0Ids[8] = {
+ 0x80, 0x81, 0x82, 0x83, 0xA0, 0xA1, 0xA2, 0xA3,
+};
+
+/* 80450914-8045091C 000394 0008+00 1/1 0/0 0/0 .sdata J3DGDTexMode1Ids */
+static u8 J3DGDTexMode1Ids[8] = {
+ 0x84, 0x85, 0x86, 0x87, 0xA4, 0xA5, 0xA6, 0xA7,
+};
+
+/* 8045091C-80450924 00039C 0008+00 1/1 0/0 0/0 .sdata J3DGDTexImage0Ids */
+static u8 J3DGDTexImage0Ids[8] = {
+ 0x88, 0x89, 0x8A, 0x8B, 0xA8, 0xA9, 0xAA, 0xAB,
+};
+
+/* 80450924-8045092C 0003A4 0008+00 2/2 0/0 0/0 .sdata J3DGDTexImage3Ids */
+static u8 J3DGDTexImage3Ids[8] = {
+ 0x94, 0x95, 0x96, 0x97, 0xB4, 0xB5, 0xB6, 0xB7,
+};
+
+/* 8045092C-80450934 0003AC 0008+00 1/1 0/0 0/0 .sdata J3DGDTexTlutIds */
+static u8 J3DGDTexTlutIds[8] = {
+ 0x98, 0x99, 0x9A, 0x9B, 0xB8, 0xB9, 0xBA, 0xBB,
+};
+
+/* 80450934-8045093C 0003B4 0006+02 1/1 0/0 0/0 .sdata GX2HWFiltConv */
+static u8 GX2HWFiltConv[6] = {
+ 0x00, 0x04, 0x01, 0x05, 0x02, 0x06,
+};
+
+/* 8030E438-8030E5D4 308D78 019C+00 0/0 1/1 0/0 .text
+ * J3DGDSetTexLookupMode__F11_GXTexMapID14_GXTexWrapMode14_GXTexWrapMode12_GXTexFilter12_GXTexFilterfffUcUc13_GXAnisotropy
+ */
+void J3DGDSetTexLookupMode(GXTexMapID param_0, GXTexWrapMode param_1, GXTexWrapMode param_2,
+ GXTexFilter param_3, GXTexFilter param_4, f32 param_5, f32 param_6,
+ f32 param_7, u8 param_8, u8 param_9, GXAnisotropy param_10) {
+ J3DGDWriteBPCmd(param_1 | param_2 << 2 | (param_4 == GX_LINEAR) << 4 |
+ GX2HWFiltConv[param_3] << 5 | (param_9 == 0) << 8 |
+ ((int)(param_7 * 32.0f) & 0xff) << 9 | param_10 << 0x13 | param_8 << 0x15 |
+ J3DGDTexMode0Ids[param_0] << 0x18);
+ J3DGDWriteBPCmd(((int)(param_5 * 16.0f) & 0xff) | ((int)(param_6 * 16.0f) & 0xff) << 8 |
+ J3DGDTexMode1Ids[param_0] << 0x18);
+}
+
+/* 8030E5D4-8030E67C 308F14 00A8+00 0/0 1/1 0/0 .text
+ * J3DGDSetTexImgAttr__F11_GXTexMapIDUsUs9_GXTexFmt */
+void J3DGDSetTexImgAttr(GXTexMapID param_0, u16 param_1, u16 param_2, GXTexFmt param_3) {
+ J3DGDWriteBPCmd((param_1 - 1) | (param_2 - 1) << 0xa | param_3 << 0x14 |
+ J3DGDTexImage0Ids[param_0] << 0x18);
+}
+
+/* 8030E67C-8030E70C 308FBC 0090+00 0/0 1/1 0/0 .text J3DGDSetTexImgPtr__F11_GXTexMapIDPv
+ */
+void J3DGDSetTexImgPtr(GXTexMapID param_0, void* param_1) {
+ J3DGDWriteBPCmd(OSCachedToPhysical(param_1) >> 5 | J3DGDTexImage3Ids[param_0] << 0x18);
+}
+
+/* 8030E70C-8030E7E0 30904C 00D4+00 0/0 1/1 0/0 .text J3DGDSetTexImgPtrRaw__F11_GXTexMapIDUl */
+void J3DGDSetTexImgPtrRaw(GXTexMapID param_0, u32 param_1) {
+ GDOverflowCheck(5);
+ J3DGDWriteBPCmd(param_1 | J3DGDTexImage3Ids[param_0] << 0x18);
+}
+
+/* 8030E7E0-8030E878 309120 0098+00 0/0 1/1 0/0 .text
+ * J3DGDSetTexTlut__F11_GXTexMapIDUl10_GXTlutFmt */
+void J3DGDSetTexTlut(GXTexMapID param_0, u32 param_1, GXTlutFmt param_2) {
+ J3DGDWriteBPCmd((param_1 - 0x80000) >> 9 | param_2 << 0xa | J3DGDTexTlutIds[param_0] << 0x18);
+}
+
+/* 8030E878-8030EB30 3091B8 02B8+00 0/0 1/1 0/0 .text J3DGDLoadTlut__FPvUl11_GXTlutSize
+ */
+void J3DGDLoadTlut(void* param_0, u32 param_1, GXTlutSize param_2) {
+ J3DGDWriteBPCmd(0xfeffff00);
+ J3DGDWriteBPCmd(0x0f000000);
+ J3DGDWriteBPCmd(OSCachedToPhysical(param_0) >> 5 | 0x64000000);
+ J3DGDWriteBPCmd((param_1 - 0x80000) >> 9 | param_2 << 0xa | 0x65000000);
+ J3DGDWriteBPCmd(0xfeffff00);
+ J3DGDWriteBPCmd(0x0f000000);
+}
+
+/* 8030EB30-8030EE10 309470 02E0+00 0/0 2/2 0/0 .text J3DGDSetIndTexMtx__F14_GXIndTexMtxIDPA3_fSc
+ */
+void J3DGDSetIndTexMtx(GXIndTexMtxID id, Mtx3P mtx, s8 exp) {
+ s32 mtx32[6];
+ u32 idx;
+
+ switch (id) {
+ case GX_ITM_0:
+ case GX_ITM_1:
+ case GX_ITM_2:
+ idx = (u32)(id - GX_ITM_0);
+ break;
+ case GX_ITM_S0:
+ case GX_ITM_S1:
+ case GX_ITM_S2:
+ idx = (u32)(id - GX_ITM_S0);
+ break;
+ case GX_ITM_T0:
+ case GX_ITM_T1:
+ case GX_ITM_T2:
+ idx = (u32)(id - GX_ITM_T0);
+ break;
+ default:
+ idx = 0;
+ break;
+ }
+
+ exp += 17;
+
+ mtx32[0] = (s32)(mtx[0][0] * 1024.0f) & 0x7FF;
+ mtx32[1] = (s32)(mtx[1][0] * 1024.0f) & 0x7FF;
+
+ mtx32[2] = (s32)(mtx[0][1] * 1024.0f) & 0x7FF;
+ mtx32[3] = (s32)(mtx[1][1] * 1024.0f) & 0x7FF;
+
+ mtx32[4] = (s32)(mtx[0][2] * 1024.0f) & 0x7FF;
+ mtx32[5] = (s32)(mtx[1][2] * 1024.0f) & 0x7FF;
+
+ GDOverflowCheck(15);
+
+ J3DGDWriteBPCmd((mtx32[0] << 0) | (mtx32[1] << 11) | (((exp >> 0) & 0x03) << 22) |
+ (0x06 + idx * 3) << 24);
+ J3DGDWriteBPCmd((mtx32[2] << 0) | (mtx32[3] << 11) | (((exp >> 2) & 0x03) << 22) |
+ (0x07 + idx * 3) << 24);
+ J3DGDWriteBPCmd((mtx32[4] << 0) | (mtx32[5] << 11) | (((exp >> 4) & 0x03) << 22) |
+ (0x08 + idx * 3) << 24);
+}
+
+/* 8030EE10-8030EF08 309750 00F8+00 0/0 2/2 0/0 .text
+ * J3DGDSetIndTexCoordScale__F16_GXIndTexStageID14_GXIndTexScale14_GXIndTexScale14_GXIndTexScale14_GXIndTexScale
+ */
+void J3DGDSetIndTexCoordScale(GXIndTexStageID stage, GXIndTexScale scale0, GXIndTexScale scale1,
+ GXIndTexScale scale2, GXIndTexScale scale3) {
+ GDOverflowCheck(5);
+ J3DGDWriteBPCmd(scale0 | scale1 << 4 | scale2 << 8 | scale3 << 0xc |
+ ((stage >> 1) + GX_BP_REG_RAS1_SS0) << 0x18);
+}
+
+/* 8030EF08-8030F108 309848 0200+00 0/0 2/2 0/0 .text
+ * J3DGDSetIndTexOrder__FUl13_GXTexCoordID11_GXTexMapID13_GXTexCoordID11_GXTexMapID13_GXTexCoordID11_GXTexMapID13_GXTexCoordID11_GXTexMapID
+ */
+void J3DGDSetIndTexOrder(u32 count, GXTexCoordID coord0, GXTexMapID map0, GXTexCoordID coord1,
+ GXTexMapID map1, GXTexCoordID coord2, GXTexMapID map2, GXTexCoordID coord3,
+ GXTexMapID map3) {
+ GDOverflowCheck(0xa);
+ J3DGDWriteBPCmd(map0 & 7 | (coord0 & 7) << 3 | (map1 & 7) << 6 | (coord1 & 7) << 9 |
+ (map2 & 7) << 0xc | (coord2 & 7) << 0xf | (map3 & 7) << 0x12 |
+ (coord3 & 7) << 0x15 | GX_BP_REG_RAS1_IREF << 0x18);
+ u32 imask = 0;
+ for (u32 i = 0; i < count; i++) {
+ switch (i) {
+ case 0:
+ imask |= 1 << (map0 & 7);
+ break;
+ case 1:
+ imask |= 1 << (map1 & 7);
+ break;
+ case 2:
+ imask |= 1 << (map2 & 7);
+ break;
+ case 3:
+ imask |= 1 << (map3 & 7);
+ break;
+ }
+ }
+ J3DGDWriteBPCmd(imask | GX_BP_REG_INDIMASK << 0x18);
+}
+
+/* 8030F108-8030F294 309A48 018C+00 0/0 9/9 0/0 .text
+ * J3DGDSetTevOrder__F13_GXTevStageID13_GXTexCoordID11_GXTexMapID12_GXChannelID13_GXTexCoordID11_GXTexMapID12_GXChannelID
+ */
+void J3DGDSetTevOrder(GXTevStageID stage, GXTexCoordID coord0, GXTexMapID map0,
+ GXChannelID channel0, GXTexCoordID coord1, GXTexMapID map1,
+ GXChannelID channel1) {
+ coord0 = coord0 >= GX_MAXCOORD ? GX_TEXCOORD0 : coord0;
+ coord1 = coord1 >= GX_MAXCOORD ? GX_TEXCOORD0 : coord1;
+ GDOverflowCheck(5);
+ static u8 c2r[32] = {0, 1, 0, 1, 0, 1, 7, 5, 6, 0, 0, 0, 0, 0, 0, 7,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+ J3DGDWriteBPCmd((map0 & 7) | coord0 << 3 |
+ (map0 != GX_TEXMAP_NULL && !(map0 & GX_TEXMAP_DISABLE)) << 6 |
+ c2r[channel0 & 0xf] << 7 | (map1 & 7) << 0xc | coord1 << 0xf |
+ (map1 != GX_TEXMAP_NULL && !(map1 & GX_TEXMAP_DISABLE)) << 0x12 |
+ c2r[channel1 & 0xf] << 0x13 | (stage / 2 + GX_BP_REG_RAS1_TREF0) << 0x18);
+}
+
+/* 8030F294-8030F3FC 309BD4 0168+00 0/0 11/11 0/0 .text
+ * J3DGDSetTevKColor__F14_GXTevKColorID8_GXColor */
+void J3DGDSetTevKColor(GXTevKColorID id, GXColor color) {
+ u32 cmd0 = color.r | color.a << 0xc | 0x800000 | (id * 2 + GX_BP_REG_TEVREG0LO) << 0x18;
+ u32 cmd1 = color.b | color.g << 0xc | 0x800000 | (id * 2 + GX_BP_REG_TEVREG0HI) << 0x18;
+ GDOverflowCheck(0xa);
+ J3DGDWriteBPCmd(cmd0);
+ J3DGDWriteBPCmd(cmd1);
+}
+
+/* 8030F3FC-8030F630 309D3C 0234+00 0/0 11/11 0/0 .text
+ * J3DGDSetTevColorS10__F11_GXTevRegID11_GXColorS10 */
+void J3DGDSetTevColorS10(GXTevRegID id, GXColorS10 color) {
+ u32 cmd0 =
+ (color.r & 0x7ff) | (color.a & 0x7ff) << 0xc | (id * 2 + GX_BP_REG_TEVREG0LO) << 0x18;
+ u32 cmd1 =
+ (color.b & 0x7ff) | (color.g & 0x7ff) << 0xc | (id * 2 + GX_BP_REG_TEVREG0HI) << 0x18;
+ GDOverflowCheck(0x14);
+ J3DGDWriteBPCmd(cmd0);
+ J3DGDWriteBPCmd(cmd1);
+ J3DGDWriteBPCmd(cmd1);
+ J3DGDWriteBPCmd(cmd1);
+}
+
+/* 8030F630-8030F994 309F70 0364+00 0/0 3/3 0/0 .text J3DGDSetFog__F10_GXFogTypeffff8_GXColor */
+void J3DGDSetFog(GXFogType fogType, f32 param_1, f32 param_2, f32 nearZ, f32 farZ, GXColor color) {
+ f32 fvar1, fvar2, fvar3;
+ if (farZ == nearZ || param_2 == param_1) {
+ fvar1 = 0.0f;
+ fvar2 = 0.5f;
+ fvar3 = 0.0f;
+ } else {
+ fvar1 = (farZ * nearZ) / ((farZ - nearZ) * (param_2 - param_1));
+ fvar2 = farZ / (farZ - nearZ);
+ fvar3 = param_1 / (param_2 - param_1);
+ }
+ u32 shift = 1;
+ for (; fvar2 > 1.0; fvar2 *= 0.5f) {
+ shift++;
+ }
+ for (; fvar2 > 0.0f && fvar2 < 0.5; fvar2 *= 2.0f) {
+ shift--;
+ }
+ f32 fvar4 = (fvar1 / (1 << shift));
+ u32 param1 = fvar2 * 8388638.0f;
+ u32 param0 = *(u32*)&fvar4;
+ u32 param3 = *(u32*)&fvar3;
+ J3DGDWriteBPCmd(param0 >> 0xc | GX_BP_REG_FOGPARAM0 << 0x18);
+ J3DGDWriteBPCmd(param1 | GX_BP_REG_FOGPARAM1 << 0x18);
+ J3DGDWriteBPCmd(shift | GX_BP_REG_FOGPARAM2 << 0x18);
+ J3DGDWriteBPCmd(param3 >> 0xc | fogType << 0x15 | GX_BP_REG_FOGPARAM3 << 0x18);
+ J3DGDWriteBPCmd(color.b | color.g << 8 | color.r << 0x10 | GX_BP_REG_FOGCOLOR << 0x18);
+}
+
+/* 8030F994-8030FAE0 30A2D4 014C+00 0/0 3/3 0/0 .text J3DGDSetFogRangeAdj__FUcUsP14_GXFogAdjTable
+ */
+void J3DGDSetFogRangeAdj(u8 param_0, u16 param_1, GXFogAdjTable* table) {
+ if (param_0 != 0) {
+ for (int i = 0; i < 0xa; i += 2) {
+ J3DGDWriteBPCmd((i / 2 + GX_BP_REG_FOGRANGEK0) << 0x18 | table->fogVals[i + 1] << 0xc |
+ table->fogVals[i]);
+ }
+ }
+ u32 cmd = GX_BP_REG_FOGRANGE << 0x18 | (param_1 + 0x156) | param_0 << 0xa;
+ J3DGDWriteBPCmd(cmd);
+}
+
+/* 8030FAE0-8030FB60 30A420 0080+00 0/0 10/10 0/0 .text J3DFifoLoadPosMtxImm__FPA4_fUl */
+void J3DFifoLoadPosMtxImm(MtxP mtx, u32 addr) {
+ J3DFifoWriteXFCmdHdr((addr & 0x3fff) << 2, 0xc);
+ J3DGXCmd1f32ptr(&mtx[0][0]);
+ J3DGXCmd1f32ptr(&mtx[0][1]);
+ J3DGXCmd1f32ptr(&mtx[0][2]);
+ J3DGXCmd1f32ptr(&mtx[0][3]);
+ J3DGXCmd1f32ptr(&mtx[1][0]);
+ J3DGXCmd1f32ptr(&mtx[1][1]);
+ J3DGXCmd1f32ptr(&mtx[1][2]);
+ J3DGXCmd1f32ptr(&mtx[1][3]);
+ J3DGXCmd1f32ptr(&mtx[2][0]);
+ J3DGXCmd1f32ptr(&mtx[2][1]);
+ J3DGXCmd1f32ptr(&mtx[2][2]);
+ J3DGXCmd1f32ptr(&mtx[2][3]);
+}
+
+/* 8030FB60-8030FBCC 30A4A0 006C+00 0/0 9/9 0/0 .text J3DFifoLoadNrmMtxImm__FPA4_fUl */
+void J3DFifoLoadNrmMtxImm(MtxP mtx, u32 addr) {
+ J3DFifoWriteXFCmdHdr(addr * 3 + 0x400, 9);
+ J3DGXCmd1f32ptr(&mtx[0][0]);
+ J3DGXCmd1f32ptr(&mtx[0][1]);
+ J3DGXCmd1f32ptr(&mtx[0][2]);
+ J3DGXCmd1f32ptr(&mtx[1][0]);
+ J3DGXCmd1f32ptr(&mtx[1][1]);
+ J3DGXCmd1f32ptr(&mtx[1][2]);
+ J3DGXCmd1f32ptr(&mtx[2][0]);
+ J3DGXCmd1f32ptr(&mtx[2][1]);
+ J3DGXCmd1f32ptr(&mtx[2][2]);
+}
+
+/* 8030FBCC-8030FC38 30A50C 006C+00 0/0 3/3 0/0 .text J3DFifoLoadNrmMtxImm3x3__FPA3_fUl
+ */
+void J3DFifoLoadNrmMtxImm3x3(Mtx3P mtx, u32 addr) {
+ J3DFifoWriteXFCmdHdr(addr * 3 + 0x400, 9);
+ J3DGXCmd1f32ptr(&mtx[0][0]);
+ J3DGXCmd1f32ptr(&mtx[0][1]);
+ J3DGXCmd1f32ptr(&mtx[0][2]);
+ J3DGXCmd1f32ptr(&mtx[1][0]);
+ J3DGXCmd1f32ptr(&mtx[1][1]);
+ J3DGXCmd1f32ptr(&mtx[1][2]);
+ J3DGXCmd1f32ptr(&mtx[2][0]);
+ J3DGXCmd1f32ptr(&mtx[2][1]);
+ J3DGXCmd1f32ptr(&mtx[2][2]);
+}
+
+/* 8030FC38-8030FCD0 30A578 0098+00 0/0 4/4 0/0 .text J3DFifoLoadNrmMtxToTexMtx__FPA4_fUl
+ */
+void J3DFifoLoadNrmMtxToTexMtx(MtxP mtx, u32 addr) {
+ J3DFifoWriteXFCmdHdr((addr & 0x3fff) << 2, 0xc);
+ J3DGXCmd1f32ptr(&mtx[0][0]);
+ J3DGXCmd1f32ptr(&mtx[0][1]);
+ J3DGXCmd1f32ptr(&mtx[0][2]);
+ J3DGXCmd1f32(0.0f);
+ J3DGXCmd1f32ptr(&mtx[1][0]);
+ J3DGXCmd1f32ptr(&mtx[1][1]);
+ J3DGXCmd1f32ptr(&mtx[1][2]);
+ J3DGXCmd1f32(0.0f);
+ J3DGXCmd1f32ptr(&mtx[2][0]);
+ J3DGXCmd1f32ptr(&mtx[2][1]);
+ J3DGXCmd1f32ptr(&mtx[2][2]);
+ J3DGXCmd1f32(0.0f);
+}
+
+/* 8030FCD0-8030FD68 30A610 0098+00 0/0 2/2 0/0 .text J3DFifoLoadNrmMtxToTexMtx3x3__FPA3_fUl */
+void J3DFifoLoadNrmMtxToTexMtx3x3(Mtx3P mtx, u32 addr) {
+ J3DFifoWriteXFCmdHdr((addr & 0x3fff) << 2, 0xc);
+ J3DGXCmd1f32ptr(&mtx[0][0]);
+ J3DGXCmd1f32ptr(&mtx[0][1]);
+ J3DGXCmd1f32ptr(&mtx[0][2]);
+ J3DGXCmd1f32(0.0f);
+ J3DGXCmd1f32ptr(&mtx[1][0]);
+ J3DGXCmd1f32ptr(&mtx[1][1]);
+ J3DGXCmd1f32ptr(&mtx[1][2]);
+ J3DGXCmd1f32(0.0f);
+ J3DGXCmd1f32ptr(&mtx[2][0]);
+ J3DGXCmd1f32ptr(&mtx[2][1]);
+ J3DGXCmd1f32ptr(&mtx[2][2]);
+ J3DGXCmd1f32(0.0f);
+}
+
+/* 8045093C-80450944 0003BC 0008+00 1/1 0/0 0/0 .sdata J3DTexImage1Ids */
+SECTION_SDATA static u8 J3DTexImage1Ids[8] = {
+ 0x8C, 0x8D, 0x8E, 0x8F, 0xAC, 0xAD, 0xAE, 0xAF,
+};
+
+/* 80450944-8045094C 0003C4 0008+00 1/1 0/0 0/0 .sdata J3DTexImage2Ids */
+SECTION_SDATA static u8 J3DTexImage2Ids[8] = {
+ 0x90, 0x91, 0x92, 0x93, 0xB0, 0xB1, 0xB2, 0xB3,
+};
+
+/* 8030FD68-8030FDE8 30A6A8 0080+00 0/0 1/1 0/0 .text
+ * J3DFifoLoadTexCached__F11_GXTexMapIDUl15_GXTexCacheSizeUl15_GXTexCacheSize */
+#ifdef NONMATCHING
+void J3DFifoLoadTexCached(GXTexMapID id, u32 param_1, GXTexCacheSize param_2, u32 param_3,
+ GXTexCacheSize param_4) {
+ J3DFifoLoadBPCmd(param_1 >> 5 | (param_2 + 3) << 0xf | (param_2 + 3) << 0x12 |
+ J3DTexImage1Ids[id] << 0x18);
+ if (param_4 != GX_TEXCACHE_NONE && param_3 < 0x100000) {
+ J3DFifoLoadBPCmd(param_3 >> 5 | (param_4 + 3) << 0xf | (param_4 + 3) << 0x12 |
+ J3DTexImage2Ids[id] << 0x18);
+ }
+}
+#else
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+asm void J3DFifoLoadTexCached(_GXTexMapID param_0, u32 param_1, _GXTexCacheSize param_2,
+ u32 param_3, _GXTexCacheSize param_4) {
+ nofralloc
+#include "asm/JSystem/J3DGraphBase/J3DGD/J3DFifoLoadTexCached__F11_GXTexMapIDUl15_GXTexCacheSizeUl15_GXTexCacheSize.s"
+}
+#pragma pop
+#endif
diff --git a/libs/JSystem/J3DGraphBase/J3DMatBlock.cpp b/libs/JSystem/J3DGraphBase/J3DMatBlock.cpp
index 1754afff5e..852c27b4db 100644
--- a/libs/JSystem/J3DGraphBase/J3DMatBlock.cpp
+++ b/libs/JSystem/J3DGraphBase/J3DMatBlock.cpp
@@ -4,7 +4,6 @@
//
#include "JSystem/J3DGraphBase/J3DMatBlock.h"
-#include "dolphin/gd.h"
#include "JSystem/J3DGraphBase/J3DGD.h"
#include "JSystem/J3DGraphBase/J3DSys.h"
#include "dol2asm.h"
diff --git a/libs/JSystem/J3DGraphBase/J3DMaterial.cpp b/libs/JSystem/J3DGraphBase/J3DMaterial.cpp
index ad853d22e0..258c0b6d13 100644
--- a/libs/JSystem/J3DGraphBase/J3DMaterial.cpp
+++ b/libs/JSystem/J3DGraphBase/J3DMaterial.cpp
@@ -1,1325 +1,1325 @@
-//
-// Generated By: dol2asm
-// Translation Unit: J3DMaterial
-//
-
-#include "JSystem/J3DGraphBase/J3DMaterial.h"
-#include "JSystem/J3DGraphBase/J3DGD.h"
-#include "dol2asm.h"
-
-//
-// Forward References:
-//
-
-extern "C" void createColorBlock__11J3DMaterialFUl();
-extern "C" void createTexGenBlock__11J3DMaterialFUl();
-extern "C" void createTevBlock__11J3DMaterialFi();
-extern "C" void createIndBlock__11J3DMaterialFi();
-extern "C" void createPEBlock__11J3DMaterialFUlUl();
-extern "C" void calcSizeColorBlock__11J3DMaterialFUl();
-extern "C" void calcSizeTexGenBlock__11J3DMaterialFUl();
-extern "C" void calcSizeTevBlock__11J3DMaterialFi();
-extern "C" void calcSizeIndBlock__11J3DMaterialFi();
-extern "C" void calcSizePEBlock__11J3DMaterialFUlUl();
-extern "C" void initialize__11J3DMaterialFv();
-extern "C" void countDLSize__11J3DMaterialFv();
-extern "C" void makeDisplayList_private__11J3DMaterialFP17J3DDisplayListObj();
-extern "C" void makeDisplayList__11J3DMaterialFv();
-extern "C" void makeSharedDisplayList__11J3DMaterialFv();
-extern "C" void load__11J3DMaterialFv();
-extern "C" void loadSharedDL__11J3DMaterialFv();
-extern "C" void patch__11J3DMaterialFv();
-extern "C" void diff__11J3DMaterialFUl();
-extern "C" void calc__11J3DMaterialFPA4_Cf();
-extern "C" void calcDiffTexMtx__11J3DMaterialFPA4_Cf();
-extern "C" void setCurrentMtx__11J3DMaterialFv();
-extern "C" void calcCurrentMtx__11J3DMaterialFv();
-extern "C" void copy__11J3DMaterialFP11J3DMaterial();
-extern "C" void reset__11J3DMaterialFv();
-extern "C" void change__11J3DMaterialFv();
-extern "C" void newSharedDisplayList__11J3DMaterialFUl();
-extern "C" void newSingleSharedDisplayList__11J3DMaterialFUl();
-extern "C" void initialize__18J3DPatchedMaterialFv();
-extern "C" void makeDisplayList__18J3DPatchedMaterialFv();
-extern "C" void makeSharedDisplayList__18J3DPatchedMaterialFv();
-extern "C" void load__18J3DPatchedMaterialFv();
-extern "C" void loadSharedDL__18J3DPatchedMaterialFv();
-extern "C" void reset__18J3DPatchedMaterialFv();
-extern "C" void change__18J3DPatchedMaterialFv();
-extern "C" void initialize__17J3DLockedMaterialFv();
-extern "C" void makeDisplayList__17J3DLockedMaterialFv();
-extern "C" void makeSharedDisplayList__17J3DLockedMaterialFv();
-extern "C" void load__17J3DLockedMaterialFv();
-extern "C" void loadSharedDL__17J3DLockedMaterialFv();
-extern "C" void patch__17J3DLockedMaterialFv();
-extern "C" void diff__17J3DLockedMaterialFUl();
-extern "C" void calc__17J3DLockedMaterialFPA4_Cf();
-extern "C" void reset__17J3DLockedMaterialFv();
-extern "C" void change__17J3DLockedMaterialFv();
-extern "C" void __dt__21J3DColorBlockLightOffFv();
-extern "C" void __dt__13J3DColorBlockFv();
-extern "C" void __dt__21J3DTexGenBlockPatchedFv();
-extern "C" void __dt__14J3DTexGenBlockFv();
-extern "C" void __dt__11J3DTevBlockFv();
-extern "C" void __dt__11J3DIndBlockFv();
-extern "C" void __dt__10J3DPEBlockFv();
-extern "C" bool countDLSize__14J3DTexGenBlockFv();
-extern "C" bool countDLSize__13J3DColorBlockFv();
-extern "C" bool countDLSize__11J3DTevBlockFv();
-extern "C" bool countDLSize__11J3DIndBlockFv();
-extern "C" bool countDLSize__10J3DPEBlockFv();
-extern "C" void load__13J3DColorBlockFv();
-extern "C" s32 getCullMode__13J3DColorBlockCFv();
-extern "C" void load__11J3DTevBlockFv();
-extern "C" J3DNBTScale* getNBTScale__14J3DTexGenBlockFv();
-extern "C" void patch__13J3DColorBlockFv();
-extern "C" void diff__13J3DColorBlockFUl();
-extern "C" void diff__10J3DPEBlockFUl();
-extern "C" void reset__10J3DPEBlockFP10J3DPEBlock();
-extern "C" void reset__11J3DIndBlockFP11J3DIndBlock();
-extern "C" void reset__11J3DTevBlockFP11J3DTevBlock(J3DTevBlock* param_0);
-extern "C" void reset__14J3DTexGenBlockFP14J3DTexGenBlock();
-extern "C" void reset__13J3DColorBlockFP13J3DColorBlock();
-extern "C" void diffFog__10J3DPEBlockFv();
-extern "C" void diffBlend__10J3DPEBlockFv();
-extern "C" void setFog__10J3DPEBlockFP6J3DFog();
-extern "C" void setFog__10J3DPEBlockF6J3DFog();
-extern "C" void setAlphaComp__10J3DPEBlockFPC12J3DAlphaComp();
-extern "C" void setBlend__10J3DPEBlockFPC8J3DBlend();
-extern "C" void setZMode__10J3DPEBlockFPC8J3DZMode();
-extern "C" void setZCompLoc__10J3DPEBlockFPCUc();
-extern "C" void setDither__10J3DPEBlockFUc();
-extern "C" void setDither__10J3DPEBlockFPCUc();
-extern "C" bool getDither__10J3DPEBlockCFv();
-extern "C" bool getFogOffset__10J3DPEBlockCFv();
-extern "C" void setFogOffset__10J3DPEBlockFUl();
-extern "C" void diff__15J3DIndBlockNullFUl();
-extern "C" void load__15J3DIndBlockNullFv();
-extern "C" void reset__15J3DIndBlockNullFP11J3DIndBlock();
-extern "C" void getType__15J3DIndBlockNullFv();
-extern "C" void __dt__15J3DIndBlockNullFv();
-extern "C" void setIndTexOrder__11J3DIndBlockFUlPC14J3DIndTexOrder();
-extern "C" void setIndTexOrder__11J3DIndBlockFUl14J3DIndTexOrder();
-extern "C" void setIndTexMtx__11J3DIndBlockFUlPC12J3DIndTexMtx();
-extern "C" void setIndTexCoordScale__11J3DIndBlockFUlPC19J3DIndTexCoordScale();
-extern "C" void setTexGenNum__14J3DTexGenBlockFPCUl();
-extern "C" void setNBTScale__14J3DTexGenBlockF11J3DNBTScale();
-extern "C" void setNBTScale__14J3DTexGenBlockFPC11J3DNBTScale();
-extern "C" bool getTexMtxOffset__14J3DTexGenBlockCFv();
-extern "C" void setTexMtxOffset__14J3DTexGenBlockFUl();
-extern "C" void patchMatColor__13J3DColorBlockFv();
-extern "C" void diffAmbColor__13J3DColorBlockFv();
-extern "C" void diffMatColor__13J3DColorBlockFv();
-extern "C" void diffColorChan__13J3DColorBlockFv();
-extern "C" void diffLightObj__13J3DColorBlockFUl();
-extern "C" void setMatColor__13J3DColorBlockFUlPC10J3DGXColor();
-extern "C" void setColorChanNum__13J3DColorBlockFPCUc();
-extern "C" void setColorChan__13J3DColorBlockFUlPC12J3DColorChan();
-extern "C" bool getLight__13J3DColorBlockFUl();
-extern "C" void setCullMode__13J3DColorBlockFUc();
-extern "C" void setCullMode__13J3DColorBlockFPCUc();
-extern "C" bool getMatColorOffset__13J3DColorBlockCFv();
-extern "C" bool getColorChanOffset__13J3DColorBlockCFv();
-extern "C" void setMatColorOffset__13J3DColorBlockFUl();
-extern "C" void setColorChanOffset__13J3DColorBlockFUl();
-
-//
-// External References:
-//
-
-extern "C" void patch__10J3DPEBlockFv();
-extern "C" void patchLight__13J3DColorBlockFv();
-extern "C" bool getZCompLoc__10J3DPEBlockCFv();
-extern "C" bool getZMode__10J3DPEBlockFv();
-extern "C" bool getBlend__10J3DPEBlockFv();
-extern "C" bool getAlphaComp__10J3DPEBlockFv();
-extern "C" bool getFog__10J3DPEBlockFv();
-extern "C" bool getIndTexCoordScale__11J3DIndBlockFUl();
-extern "C" bool getIndTexMtx__11J3DIndBlockFUl();
-extern "C" bool getIndTexOrder__11J3DIndBlockFUl();
-extern "C" bool getIndTexStageNum__11J3DIndBlockCFv();
-extern "C" bool getTexMtx__14J3DTexGenBlockFUl();
-extern "C" bool getTexCoord__14J3DTexGenBlockFUl();
-extern "C" bool getTexGenNum__14J3DTexGenBlockCFv();
-extern "C" bool getAmbColor__13J3DColorBlockFUl();
-extern "C" bool getColorChan__13J3DColorBlockFUl();
-extern "C" bool getMatColor__13J3DColorBlockFUl();
-extern "C" bool getColorChanNum__13J3DColorBlockCFv();
-extern "C" void setZCompLoc__10J3DPEBlockFUc();
-extern "C" void setZMode__10J3DPEBlockF8J3DZMode();
-extern "C" void setBlend__10J3DPEBlockFRC8J3DBlend();
-extern "C" void setAlphaComp__10J3DPEBlockFRC12J3DAlphaComp();
-extern "C" void setIndTexCoordScale__11J3DIndBlockFUl19J3DIndTexCoordScale();
-extern "C" void __dt__19J3DIndTexCoordScaleFv();
-extern "C" void setIndTexMtx__11J3DIndBlockFUl12J3DIndTexMtx();
-extern "C" void __dt__12J3DIndTexMtxFv();
-extern "C" void setIndTexStageNum__11J3DIndBlockFUc();
-extern "C" void setTexCoord__14J3DTexGenBlockFUlPC11J3DTexCoord();
-extern "C" void setTexGenNum__14J3DTexGenBlockFUl();
-extern "C" void setAmbColor__13J3DColorBlockFUl10J3DGXColor();
-extern "C" void setColorChan__13J3DColorBlockFUlRC12J3DColorChan();
-extern "C" void setMatColor__13J3DColorBlockFUl10J3DGXColor();
-extern "C" void setColorChanNum__13J3DColorBlockFUc();
-extern "C" void __ct__19J3DIndTexCoordScaleFv();
-extern "C" void __ct__12J3DIndTexMtxFv();
-extern "C" void __ct__14J3DIndTexOrderFv();
-extern "C" void __ct__19J3DTevSwapModeTableFv();
-extern "C" void __ct__11J3DTevOrderFv();
-extern "C" void __ct__14J3DIndTevStageFv();
-extern "C" void __ct__11J3DTevStageFv();
-extern "C" void __ct__13J3DGXColorS10Fv();
-extern "C" void __ct__11J3DTexCoordFv();
-extern "C" void __ct__12J3DColorChanFv();
-extern "C" void __ct__10J3DGXColorFv();
-extern "C" void setTexMtx__14J3DTexGenBlockFUlP9J3DTexMtx();
-extern "C" void setLight__13J3DColorBlockFUlP11J3DLightObj();
-extern "C" void setAmbColor__13J3DColorBlockFUlPC10J3DGXColor();
-extern "C" void* __nw__FUl();
-extern "C" void __dl__FPv();
-extern "C" void J3DGDSetGenMode__FUcUcUcUc11_GXCullMode();
-extern "C" void J3DGDSetGenMode_3Param__FUcUcUc();
-extern "C" void newDisplayList__17J3DDisplayListObjFUl();
-extern "C" void newSingleDisplayList__17J3DDisplayListObjFUl();
-extern "C" void callDL__17J3DDisplayListObjCFv();
-extern "C" void beginDL__17J3DDisplayListObjFv();
-extern "C" void endDL__17J3DDisplayListObjFv();
-extern "C" void beginPatch__17J3DDisplayListObjFv();
-extern "C" void endPatch__17J3DDisplayListObjFv();
-extern "C" void beginDiff__12J3DMatPacketFv();
-extern "C" void endDiff__12J3DMatPacketFv();
-extern "C" void initialize__21J3DColorBlockLightOffFv();
-extern "C" void initialize__22J3DColorBlockAmbientOnFv();
-extern "C" void initialize__20J3DColorBlockLightOnFv();
-extern "C" void initialize__21J3DTexGenBlockPatchedFv();
-extern "C" void initialize__15J3DTexGenBlock4Fv();
-extern "C" void initialize__19J3DTexGenBlockBasicFv();
-extern "C" void initialize__12J3DTevBlock1Fv();
-extern "C" void initialize__12J3DTevBlock2Fv();
-extern "C" void initialize__12J3DTevBlock4Fv();
-extern "C" void initialize__13J3DTevBlock16Fv();
-extern "C" void initialize__15J3DIndBlockFullFv();
-extern "C" void initialize__16J3DPEBlockFogOffFv();
-extern "C" void initialize__14J3DPEBlockFullFv();
-extern "C" void loadNBTScale__FR11J3DNBTScale();
-extern "C" void __as__10J3DFogInfoFRC10J3DFogInfo();
-extern "C" void __construct_array();
-extern "C" void _savegpr_24();
-extern "C" void _savegpr_26();
-extern "C" void _savegpr_27();
-extern "C" void _savegpr_29();
-extern "C" void _restgpr_24();
-extern "C" void _restgpr_26();
-extern "C" void _restgpr_27();
-extern "C" void _restgpr_29();
-extern "C" extern void* __vt__14J3DPEBlockFull[31];
-extern "C" extern void* __vt__16J3DPEBlockFogOff[31];
-extern "C" extern void* __vt__13J3DTevBlock16[55];
-extern "C" extern void* __vt__12J3DTevBlock4[55];
-extern "C" extern void* __vt__12J3DTevBlock2[55];
-extern "C" extern void* __vt__12J3DTevBlock1[55];
-extern "C" extern void* __vt__19J3DTexGenBlockBasic[27];
-extern "C" extern void* __vt__15J3DTexGenBlock4[27];
-extern "C" extern void* __vt__21J3DTexGenBlockPatched[27];
-extern "C" extern void* __vt__20J3DColorBlockLightOn[36];
-extern "C" extern void* __vt__22J3DColorBlockAmbientOn[36];
-extern "C" extern void* __vt__13J3DPEBlockXlu[31];
-extern "C" extern void* __vt__17J3DPEBlockTexEdge[31];
-extern "C" extern void* __vt__13J3DPEBlockOpa[31];
-extern "C" extern void* __vt__15J3DIndBlockFull[19];
-extern "C" extern void* __vt__11J3DTevBlock[55];
-extern "C" extern void* __vt__21J3DColorBlockLightOff[36 + 1 /* padding */];
-
-//
-// Declarations:
-//
-
-/* ############################################################################################## */
-/* 803CDC90-803CDCC0 02ADB0 0030+00 0/0 1/1 0/0 .data __vt__17J3DLockedMaterial */
-SECTION_DATA extern void* __vt__17J3DLockedMaterial[12] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)calc__17J3DLockedMaterialFPA4_Cf,
- (void*)calcDiffTexMtx__11J3DMaterialFPA4_Cf,
- (void*)makeDisplayList__17J3DLockedMaterialFv,
- (void*)makeSharedDisplayList__17J3DLockedMaterialFv,
- (void*)load__17J3DLockedMaterialFv,
- (void*)loadSharedDL__17J3DLockedMaterialFv,
- (void*)patch__17J3DLockedMaterialFv,
- (void*)diff__17J3DLockedMaterialFUl,
- (void*)reset__17J3DLockedMaterialFv,
- (void*)change__17J3DLockedMaterialFv,
-};
-
-/* 803CDCC0-803CDCF0 02ADE0 0030+00 0/0 1/1 0/0 .data __vt__18J3DPatchedMaterial */
-SECTION_DATA extern void* __vt__18J3DPatchedMaterial[12] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)calc__11J3DMaterialFPA4_Cf,
- (void*)calcDiffTexMtx__11J3DMaterialFPA4_Cf,
- (void*)makeDisplayList__18J3DPatchedMaterialFv,
- (void*)makeSharedDisplayList__18J3DPatchedMaterialFv,
- (void*)load__18J3DPatchedMaterialFv,
- (void*)loadSharedDL__18J3DPatchedMaterialFv,
- (void*)patch__11J3DMaterialFv,
- (void*)diff__11J3DMaterialFUl,
- (void*)reset__18J3DPatchedMaterialFv,
- (void*)change__18J3DPatchedMaterialFv,
-};
-
-/* 803CDCF0-803CDD20 02AE10 0030+00 0/0 6/6 0/0 .data __vt__11J3DMaterial */
-SECTION_DATA extern void* __vt__11J3DMaterial[12] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)calc__11J3DMaterialFPA4_Cf,
- (void*)calcDiffTexMtx__11J3DMaterialFPA4_Cf,
- (void*)makeDisplayList__11J3DMaterialFv,
- (void*)makeSharedDisplayList__11J3DMaterialFv,
- (void*)load__11J3DMaterialFv,
- (void*)loadSharedDL__11J3DMaterialFv,
- (void*)patch__11J3DMaterialFv,
- (void*)diff__11J3DMaterialFUl,
- (void*)reset__11J3DMaterialFv,
- (void*)change__11J3DMaterialFv,
-};
-
-/* 803CDD20-803CDD9C 02AE40 007C+00 2/2 7/7 0/0 .data __vt__10J3DPEBlock */
-SECTION_DATA extern void* __vt__10J3DPEBlock[31] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)reset__10J3DPEBlockFP10J3DPEBlock,
- (void*)NULL,
- (void*)patch__10J3DPEBlockFv,
- (void*)diff__10J3DPEBlockFUl,
- (void*)diffFog__10J3DPEBlockFv,
- (void*)diffBlend__10J3DPEBlockFv,
- (void*)countDLSize__10J3DPEBlockFv,
- (void*)NULL,
- (void*)setFog__10J3DPEBlockF6J3DFog,
- (void*)setFog__10J3DPEBlockFP6J3DFog,
- (void*)getFog__10J3DPEBlockFv,
- (void*)setAlphaComp__10J3DPEBlockFPC12J3DAlphaComp,
- (void*)setAlphaComp__10J3DPEBlockFRC12J3DAlphaComp,
- (void*)getAlphaComp__10J3DPEBlockFv,
- (void*)setBlend__10J3DPEBlockFPC8J3DBlend,
- (void*)setBlend__10J3DPEBlockFRC8J3DBlend,
- (void*)getBlend__10J3DPEBlockFv,
- (void*)setZMode__10J3DPEBlockFPC8J3DZMode,
- (void*)setZMode__10J3DPEBlockF8J3DZMode,
- (void*)getZMode__10J3DPEBlockFv,
- (void*)setZCompLoc__10J3DPEBlockFPCUc,
- (void*)setZCompLoc__10J3DPEBlockFUc,
- (void*)getZCompLoc__10J3DPEBlockCFv,
- (void*)setDither__10J3DPEBlockFPCUc,
- (void*)setDither__10J3DPEBlockFUc,
- (void*)getDither__10J3DPEBlockCFv,
- (void*)getFogOffset__10J3DPEBlockCFv,
- (void*)setFogOffset__10J3DPEBlockFUl,
- (void*)__dt__10J3DPEBlockFv,
-};
-
-/* 803CDD9C-803CDDE8 02AEBC 004C+00 2/2 1/1 0/0 .data __vt__15J3DIndBlockNull */
-SECTION_DATA extern void* __vt__15J3DIndBlockNull[19] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)reset__15J3DIndBlockNullFP11J3DIndBlock,
- (void*)diff__15J3DIndBlockNullFUl,
- (void*)load__15J3DIndBlockNullFv,
- (void*)countDLSize__11J3DIndBlockFv,
- (void*)getType__15J3DIndBlockNullFv,
- (void*)setIndTexStageNum__11J3DIndBlockFUc,
- (void*)getIndTexStageNum__11J3DIndBlockCFv,
- (void*)setIndTexOrder__11J3DIndBlockFUl14J3DIndTexOrder,
- (void*)setIndTexOrder__11J3DIndBlockFUlPC14J3DIndTexOrder,
- (void*)getIndTexOrder__11J3DIndBlockFUl,
- (void*)setIndTexMtx__11J3DIndBlockFUlPC12J3DIndTexMtx,
- (void*)setIndTexMtx__11J3DIndBlockFUl12J3DIndTexMtx,
- (void*)getIndTexMtx__11J3DIndBlockFUl,
- (void*)setIndTexCoordScale__11J3DIndBlockFUlPC19J3DIndTexCoordScale,
- (void*)setIndTexCoordScale__11J3DIndBlockFUl19J3DIndTexCoordScale,
- (void*)getIndTexCoordScale__11J3DIndBlockFUl,
- (void*)__dt__15J3DIndBlockNullFv,
-};
-
-/* 803CDDE8-803CDE34 02AF08 004C+00 3/3 2/2 0/0 .data __vt__11J3DIndBlock */
-SECTION_DATA extern void* __vt__11J3DIndBlock[19] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)reset__11J3DIndBlockFP11J3DIndBlock,
- (void*)NULL,
- (void*)NULL,
- (void*)countDLSize__11J3DIndBlockFv,
- (void*)NULL,
- (void*)setIndTexStageNum__11J3DIndBlockFUc,
- (void*)getIndTexStageNum__11J3DIndBlockCFv,
- (void*)setIndTexOrder__11J3DIndBlockFUl14J3DIndTexOrder,
- (void*)setIndTexOrder__11J3DIndBlockFUlPC14J3DIndTexOrder,
- (void*)getIndTexOrder__11J3DIndBlockFUl,
- (void*)setIndTexMtx__11J3DIndBlockFUlPC12J3DIndTexMtx,
- (void*)setIndTexMtx__11J3DIndBlockFUl12J3DIndTexMtx,
- (void*)getIndTexMtx__11J3DIndBlockFUl,
- (void*)setIndTexCoordScale__11J3DIndBlockFUlPC19J3DIndTexCoordScale,
- (void*)setIndTexCoordScale__11J3DIndBlockFUl19J3DIndTexCoordScale,
- (void*)getIndTexCoordScale__11J3DIndBlockFUl,
- (void*)__dt__11J3DIndBlockFv,
-};
-
-/* 803CDE34-803CDEA0 02AF54 006C+00 3/3 5/5 0/0 .data __vt__14J3DTexGenBlock */
-SECTION_DATA extern void* __vt__14J3DTexGenBlock[27] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)reset__14J3DTexGenBlockFP14J3DTexGenBlock,
- (void*)NULL,
- (void*)NULL,
- (void*)NULL,
- (void*)NULL,
- (void*)NULL,
- (void*)NULL,
- (void*)NULL,
- (void*)NULL,
- (void*)NULL,
- (void*)countDLSize__14J3DTexGenBlockFv,
- (void*)NULL,
- (void*)setTexGenNum__14J3DTexGenBlockFPCUl,
- (void*)setTexGenNum__14J3DTexGenBlockFUl,
- (void*)getTexGenNum__14J3DTexGenBlockCFv,
- (void*)setTexCoord__14J3DTexGenBlockFUlPC11J3DTexCoord,
- (void*)getTexCoord__14J3DTexGenBlockFUl,
- (void*)setTexMtx__14J3DTexGenBlockFUlP9J3DTexMtx,
- (void*)getTexMtx__14J3DTexGenBlockFUl,
- (void*)setNBTScale__14J3DTexGenBlockFPC11J3DNBTScale,
- (void*)setNBTScale__14J3DTexGenBlockF11J3DNBTScale,
- (void*)getNBTScale__14J3DTexGenBlockFv,
- (void*)getTexMtxOffset__14J3DTexGenBlockCFv,
- (void*)setTexMtxOffset__14J3DTexGenBlockFUl,
- (void*)__dt__14J3DTexGenBlockFv,
-};
-
-/* 803CDEA0-803CDF30 02AFC0 0090+00 3/3 4/4 0/0 .data __vt__13J3DColorBlock */
-SECTION_DATA extern void* __vt__13J3DColorBlock[36] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)load__13J3DColorBlockFv,
- (void*)reset__13J3DColorBlockFP13J3DColorBlock,
- (void*)patch__13J3DColorBlockFv,
- (void*)patchMatColor__13J3DColorBlockFv,
- (void*)patchLight__13J3DColorBlockFv,
- (void*)diff__13J3DColorBlockFUl,
- (void*)diffAmbColor__13J3DColorBlockFv,
- (void*)diffMatColor__13J3DColorBlockFv,
- (void*)diffColorChan__13J3DColorBlockFv,
- (void*)diffLightObj__13J3DColorBlockFUl,
- (void*)countDLSize__13J3DColorBlockFv,
- (void*)NULL,
- (void*)setMatColor__13J3DColorBlockFUlPC10J3DGXColor,
- (void*)setMatColor__13J3DColorBlockFUl10J3DGXColor,
- (void*)getMatColor__13J3DColorBlockFUl,
- (void*)setAmbColor__13J3DColorBlockFUlPC10J3DGXColor,
- (void*)setAmbColor__13J3DColorBlockFUl10J3DGXColor,
- (void*)getAmbColor__13J3DColorBlockFUl,
- (void*)setColorChanNum__13J3DColorBlockFUc,
- (void*)setColorChanNum__13J3DColorBlockFPCUc,
- (void*)getColorChanNum__13J3DColorBlockCFv,
- (void*)setColorChan__13J3DColorBlockFUlRC12J3DColorChan,
- (void*)setColorChan__13J3DColorBlockFUlPC12J3DColorChan,
- (void*)getColorChan__13J3DColorBlockFUl,
- (void*)setLight__13J3DColorBlockFUlP11J3DLightObj,
- (void*)getLight__13J3DColorBlockFUl,
- (void*)setCullMode__13J3DColorBlockFPCUc,
- (void*)setCullMode__13J3DColorBlockFUc,
- (void*)getCullMode__13J3DColorBlockCFv,
- (void*)getMatColorOffset__13J3DColorBlockCFv,
- (void*)getColorChanOffset__13J3DColorBlockCFv,
- (void*)setMatColorOffset__13J3DColorBlockFUl,
- (void*)setColorChanOffset__13J3DColorBlockFUl,
- (void*)__dt__13J3DColorBlockFv,
-};
-
-/* 803157A0-803159A0 3100E0 0200+00 0/0 3/3 0/0 .text createColorBlock__11J3DMaterialFUl
- */
-J3DColorBlock* J3DMaterial::createColorBlock(u32 param_0) {
- J3DColorBlock* rv = NULL;
- switch (param_0) {
- case 0:
- rv = new J3DColorBlockLightOff();
- break;
- case 0x40000000:
- rv = new J3DColorBlockLightOn();
- break;
- case 0x80000000:
- rv = new J3DColorBlockAmbientOn();
- break;
- }
-
- return rv;
-}
-
-/* 803159A0-80315B04 3102E0 0164+00 0/0 2/2 0/0 .text createTexGenBlock__11J3DMaterialFUl
- */
-J3DTexGenBlock* J3DMaterial::createTexGenBlock(u32 param_0) {
- switch (param_0) {
- case 0x8000000:
- return new J3DTexGenBlock4();
- case 0:
- default:
- return new J3DTexGenBlockBasic();
- }
-}
-
-/* 80315B04-80315E78 310444 0374+00 0/0 2/2 0/0 .text createTevBlock__11J3DMaterialFi */
-J3DTevBlock* J3DMaterial::createTevBlock(int param_0) {
- J3DTevBlock* rv = NULL;
- if (param_0 <= 1) {
- rv = new J3DTevBlock1();
- } else if (param_0 == 2) {
- rv = new J3DTevBlock2();
- } else if (param_0 <= 4) {
- rv = new J3DTevBlock4();
- } else if (param_0 <= 16) {
- rv = new J3DTevBlock16();
- }
- return rv;
-}
-
-/* 80315E78-80315F60 3107B8 00E8+00 0/0 3/3 0/0 .text createIndBlock__11J3DMaterialFi */
-J3DIndBlock* J3DMaterial::createIndBlock(int param_0) {
- if (param_0 != 0) {
- return new J3DIndBlockFull();
- }
-
- return new J3DIndBlockNull();
-}
-
-/* 80315F60-80316100 3108A0 01A0+00 0/0 3/3 0/0 .text createPEBlock__11J3DMaterialFUlUl
- */
-J3DPEBlock* J3DMaterial::createPEBlock(u32 createFlag, u32 materialMode) {
- J3DPEBlock* rv = NULL;
-
- if (createFlag == 0) {
- if (materialMode & 1) {
- rv = new J3DPEBlockOpa();
- return rv;
- } else if (materialMode & 2) {
- rv = new J3DPEBlockTexEdge();
- return rv;
- } else if (materialMode & 4) {
- rv = new J3DPEBlockXlu();
- return rv;
- }
- }
-
- if (createFlag == 0x10000000) {
- rv = new J3DPEBlockFull();
- } else if (createFlag == 0x20000000) {
- rv = new J3DPEBlockFogOff();
- }
-
- return rv;
-}
-
-/* 80316100-80316150 310A40 0050+00 0/0 2/2 0/0 .text calcSizeColorBlock__11J3DMaterialFUl */
-u32 J3DMaterial::calcSizeColorBlock(u32 param_0) {
- u32 rv = 0;
- switch (param_0) {
- case 0:
- rv = sizeof(J3DColorBlockLightOff);
- break;
- case 0x40000000:
- rv = sizeof(J3DColorBlockLightOn);
- break;
- case 0x80000000:
- rv = sizeof(J3DColorBlockAmbientOn);
- break;
- }
-
- return rv;
-}
-
-/* 80316150-8031617C 310A90 002C+00 0/0 1/1 0/0 .text calcSizeTexGenBlock__11J3DMaterialFUl */
-u32 J3DMaterial::calcSizeTexGenBlock(u32 param_0) {
- switch (param_0) {
- case 0x8000000:
- return sizeof(J3DTexGenBlock4);
- case 0:
- default:
- return sizeof(J3DTexGenBlockBasic);
- }
-}
-
-/* 8031617C-803161C4 310ABC 0048+00 0/0 1/1 0/0 .text calcSizeTevBlock__11J3DMaterialFi
- */
-u32 J3DMaterial::calcSizeTevBlock(int param_0) {
- u32 rv = 0;
- if (param_0 <= 1) {
- rv = sizeof(J3DTevBlock1);
- } else if (param_0 == 2) {
- rv = sizeof(J3DTevBlock2);
- } else if (param_0 <= 4) {
- rv = sizeof(J3DTevBlock4);
- } else if (param_0 <= 16) {
- rv = sizeof(J3DTevBlock16);
- }
- return rv;
-}
-
-/* 803161C4-803161D8 310B04 0014+00 0/0 2/2 0/0 .text calcSizeIndBlock__11J3DMaterialFi
- */
-u32 J3DMaterial::calcSizeIndBlock(int param_0) {
- if (param_0 != 0) {
- return sizeof(J3DIndBlockFull);
- }
-
- return sizeof(J3DIndBlockNull);
-}
-
-/* 803161D8-80316240 310B18 0068+00 0/0 2/2 0/0 .text calcSizePEBlock__11J3DMaterialFUlUl
- */
-u32 J3DMaterial::calcSizePEBlock(u32 param_0, u32 param_1) {
- u32 rv = 0;
- if (param_0 == 0) {
- if (param_1 & 1) {
- rv = sizeof(J3DPEBlockOpa);
- } else if (param_1 & 2) {
- rv = sizeof(J3DPEBlockTexEdge);
- } else if (param_1 & 4) {
- rv = sizeof(J3DPEBlockXlu);
- }
- }
- else if (param_0 == 0x10000000) {
- rv = sizeof(J3DPEBlockFull);
- } else if (param_0 == 0x20000000) {
- rv = sizeof(J3DPEBlockFogOff);
- }
- return rv;
-}
-
-/* 80316240-80316290 310B80 0050+00 2/2 5/5 0/0 .text initialize__11J3DMaterialFv */
-void J3DMaterial::initialize() {
- mShape = NULL;
- mNext = NULL;
- mJoint = NULL;
- mMaterialMode = 1;
- mIndex = -1;
- mInvalid = 0;
- mDiffFlag = 0;
- mColorBlock = NULL;
- mTexGenBlock = NULL;
- mTevBlock = NULL;
- mIndBlock = NULL;
- mPEBlock = NULL;
- mpOrigMaterial = NULL;
- mMaterialAnm = NULL;
- mSharedDLObj = NULL;
-}
-
-/* 80316290-80316344 310BD0 00B4+00 0/0 2/2 0/0 .text countDLSize__11J3DMaterialFv */
-u32 J3DMaterial::countDLSize() {
- return (mColorBlock->countDLSize() + mTexGenBlock->countDLSize() + mTevBlock->countDLSize() +
- mIndBlock->countDLSize() + mPEBlock->countDLSize() + 31) & ~0x1f;
-}
-
-/* 80316344-80316620 310C84 02DC+00 2/2 0/0 0/0 .text
- * makeDisplayList_private__11J3DMaterialFP17J3DDisplayListObj */
-void J3DMaterial::makeDisplayList_private(J3DDisplayListObj* param_0) {
- param_0->beginDL();
- mTevBlock->load();
- mIndBlock->load();
- mPEBlock->load();
- J3DGDSetGenMode(mTexGenBlock->getTexGenNum(), mColorBlock->getColorChanNum(), mTevBlock->getTevStageNum(), mIndBlock->getIndTexStageNum(), (GXCullMode)(u8)mColorBlock->getCullMode());
- mTexGenBlock->load();
- mColorBlock->load();
- J3DGDSetNumChans(mColorBlock->getColorChanNum());
- J3DGDSetNumTexGens(mTexGenBlock->getTexGenNum());
- param_0->endDL();
-}
-
-/* 80316620-80316668 310F60 0048+00 1/0 0/0 0/0 .text makeDisplayList__11J3DMaterialFv */
-void J3DMaterial::makeDisplayList() {
- if (!j3dSys.getMatPacket()->isLocked()) {
- j3dSys.getMatPacket()->mDiffFlag = mDiffFlag;
- makeDisplayList_private(j3dSys.getMatPacket()->getDisplayListObj());
- }
-}
-
-/* 80316668-8031668C 310FA8 0024+00 1/0 0/0 0/0 .text makeSharedDisplayList__11J3DMaterialFv */
-void J3DMaterial::makeSharedDisplayList() {
- makeDisplayList_private(mSharedDLObj);
-}
-
-/* 8031668C-803166DC 310FCC 0050+00 1/0 0/0 0/0 .text load__11J3DMaterialFv */
-void J3DMaterial::load() {
- j3dSys.setMaterialMode(mMaterialMode);
- if (!j3dSys.checkFlag(2)) {
- loadNBTScale(*mTexGenBlock->getNBTScale());
- }
-}
-
-/* 803166DC-80316740 31101C 0064+00 1/0 0/0 0/0 .text loadSharedDL__11J3DMaterialFv */
-void J3DMaterial::loadSharedDL() {
- j3dSys.setMaterialMode(mMaterialMode);
- if (!j3dSys.checkFlag(2)) {
- mSharedDLObj->callDL();
- loadNBTScale(*mTexGenBlock->getNBTScale());
- }
-}
-
-/* 80316740-803167D8 311080 0098+00 2/0 0/0 0/0 .text patch__11J3DMaterialFv */
-void J3DMaterial::patch() {
- j3dSys.getMatPacket()->mDiffFlag = mDiffFlag;
- j3dSys.getMatPacket()->beginPatch();
- mTevBlock->patch();
- mColorBlock->patch();
- mTexGenBlock->patch();
- j3dSys.getMatPacket()->endPatch();
-}
-
-/* 803167D8-803169DC 311118 0204+00 2/0 0/0 0/0 .text diff__11J3DMaterialFUl */
-void J3DMaterial::diff(u32 param_0) {
- if (j3dSys.getMatPacket()->isEnabled_Diff()) {
- j3dSys.getMatPacket()->beginDiff();
- mTevBlock->diff(param_0);
- mIndBlock->diff(param_0);
- mPEBlock->diff(param_0);
- if (param_0 & 0x2000000) {
- J3DGDSetGenMode_3Param(mTexGenBlock->getTexGenNum(), mTevBlock->getTevStageNum(), mIndBlock->getIndTexStageNum());
- J3DGDSetNumTexGens(mTexGenBlock->getTexGenNum());
- }
- mTexGenBlock->diff(param_0);
- mColorBlock->diff(param_0);
- j3dSys.getMatPacket()->endDiff();
- }
-}
-
-/* 803169DC-80316A54 31131C 0078+00 2/0 0/0 0/0 .text calc__11J3DMaterialFPA4_Cf */
-// Matches but changes order of TU vtables (?!)
-#ifdef NONMATCHING
-void J3DMaterial::calc(f32 const (*param_0)[4]) {
- if (j3dSys.checkFlag(0x40000000)) {
- mTexGenBlock->calcPostTexMtx(param_0);
- } else {
- mTexGenBlock->calc(param_0);
- }
-
- calcCurrentMtx();
- setCurrentMtx();
-}
-#else
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-extern "C" asm void calc__11J3DMaterialFPA4_Cf() {
- // asm void J3DMaterial::calc(f32 const (*param_0)[4]) {
- nofralloc
-#include "asm/JSystem/J3DGraphBase/J3DMaterial/calc__11J3DMaterialFPA4_Cf.s"
-}
-#pragma pop
-#endif
-
-/* 80316A54-80316AB0 311394 005C+00 3/0 0/0 0/0 .text calcDiffTexMtx__11J3DMaterialFPA4_Cf */
-void J3DMaterial::calcDiffTexMtx(f32 const (*param_0)[4]) {
- if (j3dSys.checkFlag(0x40000000)) {
- mTexGenBlock->calcPostTexMtxWithoutViewMtx(param_0);
- } else {
- mTexGenBlock->calcWithoutViewMtx(param_0);
- }
-}
-
-/* 80316AB0-80316AC8 3113F0 0018+00 1/1 1/1 0/0 .text setCurrentMtx__11J3DMaterialFv */
-void J3DMaterial::setCurrentMtx() {
- mShape->setCurrentMtx(mCurrentMtx);
-}
-
-/* 80316AC8-80316D68 311408 02A0+00 1/1 0/0 0/0 .text calcCurrentMtx__11J3DMaterialFv */
-// Issues with setCurrentTexMtx
-#ifdef NONMATCHING
-void J3DMaterial::calcCurrentMtx() {
- if (!j3dSys.checkFlag(0x40000000)) {
- mCurrentMtx.setCurrentTexMtx(
- mTexGenBlock->getTexCoord(0)->getTexGenMtx(),
- mTexGenBlock->getTexCoord(1)->getTexGenMtx(),
- mTexGenBlock->getTexCoord(2)->getTexGenMtx(),
- mTexGenBlock->getTexCoord(3)->getTexGenMtx(),
- mTexGenBlock->getTexCoord(4)->getTexGenMtx(),
- mTexGenBlock->getTexCoord(5)->getTexGenMtx(),
- mTexGenBlock->getTexCoord(6)->getTexGenMtx(),
- mTexGenBlock->getTexCoord(7)->getTexGenMtx()
- );
- } else {
- mCurrentMtx.setCurrentTexMtx(
- mTexGenBlock->getTexCoord(0)->getTexMtxReg(),
- mTexGenBlock->getTexCoord(1)->getTexMtxReg(),
- mTexGenBlock->getTexCoord(2)->getTexMtxReg(),
- mTexGenBlock->getTexCoord(3)->getTexMtxReg(),
- mTexGenBlock->getTexCoord(4)->getTexMtxReg(),
- mTexGenBlock->getTexCoord(5)->getTexMtxReg(),
- mTexGenBlock->getTexCoord(6)->getTexMtxReg(),
- mTexGenBlock->getTexCoord(7)->getTexMtxReg()
- );
- }
-}
-#else
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void J3DMaterial::calcCurrentMtx() {
- nofralloc
-#include "asm/JSystem/J3DGraphBase/J3DMaterial/calcCurrentMtx__11J3DMaterialFv.s"
-}
-#pragma pop
-#endif
-
-/* 80316D68-80316E14 3116A8 00AC+00 1/1 0/0 0/0 .text copy__11J3DMaterialFP11J3DMaterial
- */
-void J3DMaterial::copy(J3DMaterial* param_0) {
- mColorBlock->reset(param_0->mColorBlock);
- mTexGenBlock->reset(param_0->mTexGenBlock);
- mTevBlock->reset(param_0->mTevBlock);
- mIndBlock->reset(param_0->mIndBlock);
- mPEBlock->reset(param_0->mPEBlock);
-}
-
-/* 80316E14-80316E70 311754 005C+00 1/0 0/0 0/0 .text reset__11J3DMaterialFv */
-void J3DMaterial::reset() {
- if ((~mDiffFlag & 0x80000000) == 0) {
- mDiffFlag &= ~0x80000000;
- mMaterialMode = mpOrigMaterial->mMaterialMode;
- mInvalid = mpOrigMaterial->mInvalid;
- mMaterialAnm = NULL;
- copy(mpOrigMaterial);
- }
-}
-
-/* 80316E70-80316E90 3117B0 0020+00 1/0 0/0 0/0 .text change__11J3DMaterialFv */
-void J3DMaterial::change() {
- if ((mDiffFlag & 0xc0000000) == 0) {
- mDiffFlag |= 0x80000000;
- mMaterialAnm = NULL;
- }
-}
-
-/* 80316E90-80316F24 3117D0 0094+00 0/0 2/2 0/0 .text newSharedDisplayList__11J3DMaterialFUl */
-s32 J3DMaterial::newSharedDisplayList(u32 param_0) {
- if (mSharedDLObj == NULL) {
- mSharedDLObj = new J3DDisplayListObj();
- if (mSharedDLObj == NULL) {
- return 4;
- }
- s32 res = mSharedDLObj->newDisplayList(param_0);
- switch (res) {
- case kJ3DError_Success:
- break;
- default:
- return res;
- }
- }
- return 0;
-}
-
-/* 80316F24-80316FB8 311864 0094+00 0/0 2/2 0/0 .text newSingleSharedDisplayList__11J3DMaterialFUl
- */
-s32 J3DMaterial::newSingleSharedDisplayList(u32 param_0) {
- if (mSharedDLObj == NULL) {
- mSharedDLObj = new J3DDisplayListObj();
- if (mSharedDLObj == NULL) {
- return 4;
- }
- s32 res = mSharedDLObj->newSingleDisplayList(param_0);
- switch (res) {
- case kJ3DError_Success:
- break;
- default:
- return res;
- }
- }
- return 0;
-}
-
-/* 80316FB8-80316FD8 3118F8 0020+00 0/0 1/1 0/0 .text initialize__18J3DPatchedMaterialFv
- */
-void J3DPatchedMaterial::initialize() {
- J3DMaterial::initialize();
-}
-
-/* 80316FD8-80316FDC 311918 0004+00 1/0 0/0 0/0 .text makeDisplayList__18J3DPatchedMaterialFv */
-extern "C" asm void makeDisplayList__18J3DPatchedMaterialFv() {
-//void J3DPatchedMaterial::makeDisplayList() {
- /* empty function */
-}
-
-/* 80316FDC-80316FE0 31191C 0004+00 1/0 0/0 0/0 .text
- * makeSharedDisplayList__18J3DPatchedMaterialFv */
-void J3DPatchedMaterial::makeSharedDisplayList() {
- /* empty function */
-}
-
-/* 80316FE0-80316FFC 311920 001C+00 1/0 0/0 0/0 .text load__18J3DPatchedMaterialFv */
-void J3DPatchedMaterial::load() {
- j3dSys.setMaterialMode(mMaterialMode);
- if (j3dSys.checkFlag(2)) {
- return;
- }
-}
-
-/* 80316FFC-8031703C 31193C 0040+00 1/0 0/0 0/0 .text loadSharedDL__18J3DPatchedMaterialFv */
-void J3DPatchedMaterial::loadSharedDL() {
- j3dSys.setMaterialMode(mMaterialMode);
- if (!j3dSys.checkFlag(0x02))
- mSharedDLObj->callDL();
-}
-
-/* 8031703C-80317040 31197C 0004+00 1/0 0/0 0/0 .text reset__18J3DPatchedMaterialFv */
-void J3DPatchedMaterial::reset() {
- /* empty function */
-}
-
-/* 80317040-80317044 311980 0004+00 1/0 0/0 0/0 .text change__18J3DPatchedMaterialFv */
-void J3DPatchedMaterial::change() {
- /* empty function */
-}
-
-/* 80317044-80317064 311984 0020+00 0/0 1/1 0/0 .text initialize__17J3DLockedMaterialFv
- */
-void J3DLockedMaterial::initialize() {
- J3DMaterial::initialize();
-}
-
-/* 80317064-80317068 3119A4 0004+00 1/0 0/0 0/0 .text makeDisplayList__17J3DLockedMaterialFv */
-void J3DLockedMaterial::makeDisplayList() {
- /* empty function */
-}
-
-/* 80317068-8031706C 3119A8 0004+00 1/0 0/0 0/0 .text makeSharedDisplayList__17J3DLockedMaterialFv
- */
-void J3DLockedMaterial::makeSharedDisplayList() {
- /* empty function */
-}
-
-/* 8031706C-80317088 3119AC 001C+00 1/0 0/0 0/0 .text load__17J3DLockedMaterialFv */
-void J3DLockedMaterial::load() {
- j3dSys.setMaterialMode(mMaterialMode);
- if (j3dSys.checkFlag(2)) {
- return;
- }
-}
-
-/* 80317088-803170C8 3119C8 0040+00 1/0 0/0 0/0 .text loadSharedDL__17J3DLockedMaterialFv
- */
-void J3DLockedMaterial::loadSharedDL() {
- j3dSys.setMaterialMode(mMaterialMode);
- if (!j3dSys.checkFlag(0x02))
- mSharedDLObj->callDL();
-}
-
-/* 803170C8-803170CC 311A08 0004+00 1/0 0/0 0/0 .text patch__17J3DLockedMaterialFv */
-void J3DLockedMaterial::patch() {
- /* empty function */
-}
-
-/* 803170CC-803170D0 311A0C 0004+00 1/0 0/0 0/0 .text diff__17J3DLockedMaterialFUl */
-void J3DLockedMaterial::diff(u32 param_0) {
- /* empty function */
-}
-
-/* 803170D0-803170D4 311A10 0004+00 1/0 0/0 0/0 .text calc__17J3DLockedMaterialFPA4_Cf */
-extern "C" asm void calc__17J3DLockedMaterialFPA4_Cf() {
- /* empty function */
-}
-
-/* 803170D4-803170D8 311A14 0004+00 1/0 0/0 0/0 .text reset__17J3DLockedMaterialFv */
-void J3DLockedMaterial::reset() {
- /* empty function */
-}
-
-/* 803170D8-803170DC 311A18 0004+00 1/0 0/0 0/0 .text change__17J3DLockedMaterialFv */
-void J3DLockedMaterial::change() {
- /* empty function */
-}
-
-/* 803170DC-80317138 311A1C 005C+00 0/0 1/0 0/0 .text __dt__21J3DColorBlockLightOffFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm J3DColorBlockLightOff::~J3DColorBlockLightOff() {
- nofralloc
-#include "asm/JSystem/J3DGraphBase/J3DMaterial/__dt__21J3DColorBlockLightOffFv.s"
-}
-#pragma pop
-
-/* 80317138-80317180 311A78 0048+00 1/0 0/0 0/0 .text __dt__13J3DColorBlockFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-// asm J3DColorBlock::~J3DColorBlock() {
-extern "C" asm void __dt__13J3DColorBlockFv() {
- nofralloc
-#include "asm/JSystem/J3DGraphBase/J3DMaterial/__dt__13J3DColorBlockFv.s"
-}
-#pragma pop
-
-/* 80317180-803171DC 311AC0 005C+00 0/0 1/0 0/0 .text __dt__21J3DTexGenBlockPatchedFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm J3DTexGenBlockPatched::~J3DTexGenBlockPatched() {
- nofralloc
-#include "asm/JSystem/J3DGraphBase/J3DMaterial/__dt__21J3DTexGenBlockPatchedFv.s"
-}
-#pragma pop
-
-/* 803171DC-80317224 311B1C 0048+00 1/0 0/0 0/0 .text __dt__14J3DTexGenBlockFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-// asm J3DTexGenBlock::~J3DTexGenBlock() {
-extern "C" asm void __dt__14J3DTexGenBlockFv() {
- nofralloc
-#include "asm/JSystem/J3DGraphBase/J3DMaterial/__dt__14J3DTexGenBlockFv.s"
-}
-#pragma pop
-
-/* 80317224-8031726C 311B64 0048+00 0/0 1/0 0/0 .text __dt__11J3DTevBlockFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-// asm J3DTevBlock::~J3DTevBlock() {
-extern "C" asm void __dt__11J3DTevBlockFv() {
- nofralloc
-#include "asm/JSystem/J3DGraphBase/J3DMaterial/__dt__11J3DTevBlockFv.s"
-}
-#pragma pop
-
-/* 8031726C-803172B4 311BAC 0048+00 1/0 0/0 0/0 .text __dt__11J3DIndBlockFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm J3DIndBlock::~J3DIndBlock() {
- nofralloc
-#include "asm/JSystem/J3DGraphBase/J3DMaterial/__dt__11J3DIndBlockFv.s"
-}
-#pragma pop
-
-/* 803172B4-803172FC 311BF4 0048+00 1/0 0/0 0/0 .text __dt__10J3DPEBlockFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-// asm J3DPEBlock::~J3DPEBlock() {
-extern "C" asm void __dt__10J3DPEBlockFv() {
- nofralloc
-#include "asm/JSystem/J3DGraphBase/J3DMaterial/__dt__10J3DPEBlockFv.s"
-}
-#pragma pop
-
-/* 803172FC-80317304 311C3C 0008+00 1/0 1/0 0/0 .text countDLSize__14J3DTexGenBlockFv */
-s32 J3DTexGenBlock::countDLSize() {
- return false;
-}
-
-/* 80317304-8031730C 311C44 0008+00 1/0 1/0 0/0 .text countDLSize__13J3DColorBlockFv */
-s32 J3DColorBlock::countDLSize() {
- return false;
-}
-
-/* 8031730C-80317314 311C4C 0008+00 0/0 2/0 0/0 .text countDLSize__11J3DTevBlockFv */
-s32 J3DTevBlock::countDLSize() {
- return false;
-}
-
-/* 80317314-8031731C 311C54 0008+00 2/0 0/0 0/0 .text countDLSize__11J3DIndBlockFv */
-s32 J3DIndBlock::countDLSize() {
- return false;
-}
-
-/* 8031731C-80317324 311C5C 0008+00 1/0 1/0 0/0 .text countDLSize__10J3DPEBlockFv */
-s32 J3DPEBlock::countDLSize() {
- return false;
-}
-
-/* 80317324-80317328 311C64 0004+00 1/0 1/0 0/0 .text load__13J3DColorBlockFv */
-extern "C" void load__13J3DColorBlockFv() {
- /* empty function */
-}
-
-/* 80317328-80317330 311C68 0008+00 1/0 1/0 0/0 .text getCullMode__13J3DColorBlockCFv */
-s32 J3DColorBlock::getCullMode() const {
- return 2;
-}
-
-/* 80317330-80317334 311C70 0004+00 0/0 2/0 0/0 .text load__11J3DTevBlockFv */
-void J3DTevBlock::load() {
- /* empty function */
-}
-
-/* 80317334-8031733C 311C74 0008+00 1/0 2/0 0/0 .text getNBTScale__14J3DTexGenBlockFv */
-J3DNBTScale* J3DTexGenBlock::getNBTScale() {
- return NULL;
-}
-
-/* 8031733C-80317340 311C7C 0004+00 1/0 1/0 0/0 .text patch__13J3DColorBlockFv */
-void J3DColorBlock::patch() {
- /* empty function */
-}
-
-/* 80317340-80317344 311C80 0004+00 1/0 1/0 0/0 .text diff__13J3DColorBlockFUl */
-void J3DColorBlock::diff(u32 param_0) {
- /* empty function */
-}
-
-/* 80317344-80317348 311C84 0004+00 1/0 4/0 0/0 .text diff__10J3DPEBlockFUl */
-void J3DPEBlock::diff(u32 param_0) {
- /* empty function */
-}
-
-/* 80317348-8031734C 311C88 0004+00 1/0 4/0 0/0 .text reset__10J3DPEBlockFP10J3DPEBlock
- */
-extern "C" void reset__10J3DPEBlockFP10J3DPEBlock() {
- /* empty function */
-}
-
-/* 8031734C-80317350 311C8C 0004+00 1/0 0/0 0/0 .text reset__11J3DIndBlockFP11J3DIndBlock
- */
-extern "C" void reset__11J3DIndBlockFP11J3DIndBlock() {
- /* empty function */
-}
-
-/* 80317350-80317354 311C90 0004+00 0/0 1/0 0/0 .text reset__11J3DTevBlockFP11J3DTevBlock
- */
-extern "C" void reset__11J3DTevBlockFP11J3DTevBlock(J3DTevBlock* param_0) {
- /* empty function */
-}
-
-/* 80317354-80317358 311C94 0004+00 1/0 1/0 0/0 .text reset__14J3DTexGenBlockFP14J3DTexGenBlock */
-extern "C" void reset__14J3DTexGenBlockFP14J3DTexGenBlock() {
- /* empty function */
-}
-
-/* 80317358-8031735C 311C98 0004+00 1/0 1/0 0/0 .text reset__13J3DColorBlockFP13J3DColorBlock */
-void J3DColorBlock::reset(J3DColorBlock* param_0) {
- /* empty function */
-}
-
-/* 8031735C-80317360 311C9C 0004+00 1/0 5/0 0/0 .text diffFog__10J3DPEBlockFv */
-void J3DPEBlock::diffFog() {
- /* empty function */
-}
-
-/* 80317360-80317364 311CA0 0004+00 1/0 4/0 0/0 .text diffBlend__10J3DPEBlockFv */
-void J3DPEBlock::diffBlend() {
- /* empty function */
-}
-
-/* 80317364-80317368 311CA4 0004+00 1/0 5/0 0/0 .text setFog__10J3DPEBlockFP6J3DFog */
-void J3DPEBlock::setFog(J3DFog* param_0) {
- /* empty function */
-}
-
-/* 80317368-8031736C 311CA8 0004+00 1/0 5/0 0/0 .text setFog__10J3DPEBlockF6J3DFog */
-void J3DPEBlock::setFog(J3DFog param_0) {
- /* empty function */
-}
-
-/* 8031736C-80317370 311CAC 0004+00 1/0 4/0 0/0 .text setAlphaComp__10J3DPEBlockFPC12J3DAlphaComp
- */
-void J3DPEBlock::setAlphaComp(J3DAlphaComp const* param_0) {
- /* empty function */
-}
-
-/* 80317370-80317374 311CB0 0004+00 1/0 4/0 0/0 .text setBlend__10J3DPEBlockFPC8J3DBlend
- */
-void J3DPEBlock::setBlend(J3DBlend const* param_0) {
- /* empty function */
-}
-
-/* 80317374-80317378 311CB4 0004+00 1/0 4/0 0/0 .text setZMode__10J3DPEBlockFPC8J3DZMode
- */
-void J3DPEBlock::setZMode(J3DZMode const* param_0) {
- /* empty function */
-}
-
-/* 80317378-8031737C 311CB8 0004+00 1/0 4/0 0/0 .text setZCompLoc__10J3DPEBlockFPCUc */
-void J3DPEBlock::setZCompLoc(u8 const* param_0) {
- /* empty function */
-}
-
-/* 8031737C-80317380 311CBC 0004+00 1/0 4/0 0/0 .text setDither__10J3DPEBlockFUc */
-void J3DPEBlock::setDither(u8 param_0) {
- /* empty function */
-}
-
-/* 80317380-80317384 311CC0 0004+00 1/0 4/0 0/0 .text setDither__10J3DPEBlockFPCUc */
-void J3DPEBlock::setDither(u8 const* param_0) {
- /* empty function */
-}
-
-/* 80317384-8031738C 311CC4 0008+00 1/0 4/0 0/0 .text getDither__10J3DPEBlockCFv */
-bool J3DPEBlock::getDither() const {
- return false;
-}
-
-/* 8031738C-80317394 311CCC 0008+00 1/0 5/0 0/0 .text getFogOffset__10J3DPEBlockCFv */
-bool J3DPEBlock::getFogOffset() const {
- return false;
-}
-
-/* 80317394-80317398 311CD4 0004+00 1/0 5/0 0/0 .text setFogOffset__10J3DPEBlockFUl */
-void J3DPEBlock::setFogOffset(u32 param_0) {
- /* empty function */
-}
-
-/* 80317398-8031739C 311CD8 0004+00 1/0 0/0 0/0 .text diff__15J3DIndBlockNullFUl */
-void J3DIndBlockNull::diff(u32 param_0) {
- /* empty function */
-}
-
-/* 8031739C-803173A0 311CDC 0004+00 1/0 0/0 0/0 .text load__15J3DIndBlockNullFv */
-void J3DIndBlockNull::load() {
- /* empty function */
-}
-
-/* 803173A0-803173A4 311CE0 0004+00 1/0 0/0 0/0 .text reset__15J3DIndBlockNullFP11J3DIndBlock */
-extern "C" asm void reset__15J3DIndBlockNullFP11J3DIndBlock() {
- /* empty function */
-}
-
-/* 803173A4-803173B0 311CE4 000C+00 1/0 0/0 0/0 .text getType__15J3DIndBlockNullFv */
-u32 J3DIndBlockNull::getType() {
- return 'IBLN';
-}
-
-/* 803173B0-8031740C 311CF0 005C+00 1/0 0/0 0/0 .text __dt__15J3DIndBlockNullFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm J3DIndBlockNull::~J3DIndBlockNull() {
- nofralloc
-#include "asm/JSystem/J3DGraphBase/J3DMaterial/__dt__15J3DIndBlockNullFv.s"
-}
-#pragma pop
-
-/* 8031740C-80317410 311D4C 0004+00 2/0 0/0 0/0 .text
- * setIndTexOrder__11J3DIndBlockFUlPC14J3DIndTexOrder */
-void J3DIndBlock::setIndTexOrder(u32 param_0, J3DIndTexOrder const* param_1) {
- /* empty function */
-}
-
-/* 80317410-80317414 311D50 0004+00 2/0 0/0 0/0 .text
- * setIndTexOrder__11J3DIndBlockFUl14J3DIndTexOrder */
-void J3DIndBlock::setIndTexOrder(u32 param_0, J3DIndTexOrder param_1) {
- /* empty function */
-}
-
-/* 80317414-80317418 311D54 0004+00 2/0 0/0 0/0 .text
- * setIndTexMtx__11J3DIndBlockFUlPC12J3DIndTexMtx */
-void J3DIndBlock::setIndTexMtx(u32 param_0, J3DIndTexMtx const* param_1) {
- /* empty function */
-}
-
-/* 80317418-8031741C 311D58 0004+00 2/0 0/0 0/0 .text
- * setIndTexCoordScale__11J3DIndBlockFUlPC19J3DIndTexCoordScale */
-void J3DIndBlock::setIndTexCoordScale(u32 param_0, J3DIndTexCoordScale const* param_1) {
- /* empty function */
-}
-
-/* 8031741C-80317420 311D5C 0004+00 1/0 1/0 0/0 .text setTexGenNum__14J3DTexGenBlockFPCUl
- */
-void J3DTexGenBlock::setTexGenNum(u32 const* param_0) {
- /* empty function */
-}
-
-/* 80317420-80317424 311D60 0004+00 1/0 2/0 0/0 .text setNBTScale__14J3DTexGenBlockF11J3DNBTScale
- */
-void J3DTexGenBlock::setNBTScale(J3DNBTScale param_0) {
- /* empty function */
-}
-
-/* 80317424-80317428 311D64 0004+00 1/0 2/0 0/0 .text
- * setNBTScale__14J3DTexGenBlockFPC11J3DNBTScale */
-void J3DTexGenBlock::setNBTScale(J3DNBTScale const* param_0) {
- /* empty function */
-}
-
-/* 80317428-80317430 311D68 0008+00 1/0 1/0 0/0 .text getTexMtxOffset__14J3DTexGenBlockCFv */
-bool J3DTexGenBlock::getTexMtxOffset() const {
- return false;
-}
-
-/* 80317430-80317434 311D70 0004+00 1/0 1/0 0/0 .text setTexMtxOffset__14J3DTexGenBlockFUl */
-void J3DTexGenBlock::setTexMtxOffset(u32 param_0) {
- /* empty function */
-}
-
-/* 80317434-80317438 311D74 0004+00 1/0 1/0 0/0 .text patchMatColor__13J3DColorBlockFv */
-void J3DColorBlock::patchMatColor() {
- /* empty function */
-}
-
-/* 80317438-8031743C 311D78 0004+00 1/0 3/0 0/0 .text diffAmbColor__13J3DColorBlockFv */
-void J3DColorBlock::diffAmbColor() {
- /* empty function */
-}
-
-/* 8031743C-80317440 311D7C 0004+00 1/0 1/0 0/0 .text diffMatColor__13J3DColorBlockFv */
-void J3DColorBlock::diffMatColor() {
- /* empty function */
-}
-
-/* 80317440-80317444 311D80 0004+00 1/0 1/0 0/0 .text diffColorChan__13J3DColorBlockFv */
-void J3DColorBlock::diffColorChan() {
- /* empty function */
-}
-
-/* 80317444-80317448 311D84 0004+00 1/0 3/0 0/0 .text diffLightObj__13J3DColorBlockFUl */
-void J3DColorBlock::diffLightObj(u32 param_0) {
- /* empty function */
-}
-
-/* 80317448-8031744C 311D88 0004+00 1/0 1/0 0/0 .text
- * setMatColor__13J3DColorBlockFUlPC10J3DGXColor */
-void J3DColorBlock::setMatColor(u32 param_0, J3DGXColor const* param_1) {
- /* empty function */
-}
-
-/* 8031744C-80317450 311D8C 0004+00 1/0 1/0 0/0 .text setColorChanNum__13J3DColorBlockFPCUc */
-void J3DColorBlock::setColorChanNum(u8 const* param_0) {
- /* empty function */
-}
-
-/* 80317450-80317454 311D90 0004+00 1/0 1/0 0/0 .text
- * setColorChan__13J3DColorBlockFUlPC12J3DColorChan */
-void J3DColorBlock::setColorChan(u32 param_0, J3DColorChan const* param_1) {
- /* empty function */
-}
-
-/* 80317454-8031745C 311D94 0008+00 1/0 3/0 0/0 .text getLight__13J3DColorBlockFUl */
-bool J3DColorBlock::getLight(u32 param_0) {
- return false;
-}
-
-/* 8031745C-80317460 311D9C 0004+00 1/0 1/0 0/0 .text setCullMode__13J3DColorBlockFUc */
-void J3DColorBlock::setCullMode(u8 param_0) {
- /* empty function */
-}
-
-/* 80317460-80317464 311DA0 0004+00 1/0 1/0 0/0 .text setCullMode__13J3DColorBlockFPCUc
- */
-void J3DColorBlock::setCullMode(u8 const* param_0) {
- /* empty function */
-}
-
-/* 80317464-8031746C 311DA4 0008+00 1/0 1/0 0/0 .text getMatColorOffset__13J3DColorBlockCFv */
-bool J3DColorBlock::getMatColorOffset() const {
- return false;
-}
-
-/* 8031746C-80317474 311DAC 0008+00 1/0 1/0 0/0 .text getColorChanOffset__13J3DColorBlockCFv */
-bool J3DColorBlock::getColorChanOffset() const {
- return false;
-}
-
-/* 80317474-80317478 311DB4 0004+00 1/0 1/0 0/0 .text setMatColorOffset__13J3DColorBlockFUl */
-void J3DColorBlock::setMatColorOffset(u32 param_0) {
- /* empty function */
-}
-
-/* 80317478-8031747C 311DB8 0004+00 1/0 1/0 0/0 .text setColorChanOffset__13J3DColorBlockFUl */
-void J3DColorBlock::setColorChanOffset(u32 param_0) {
- /* empty function */
-}
+//
+// Generated By: dol2asm
+// Translation Unit: J3DMaterial
+//
+
+#include "JSystem/J3DGraphBase/J3DMaterial.h"
+#include "JSystem/J3DGraphBase/J3DGD.h"
+#include "dol2asm.h"
+
+//
+// Forward References:
+//
+
+extern "C" void createColorBlock__11J3DMaterialFUl();
+extern "C" void createTexGenBlock__11J3DMaterialFUl();
+extern "C" void createTevBlock__11J3DMaterialFi();
+extern "C" void createIndBlock__11J3DMaterialFi();
+extern "C" void createPEBlock__11J3DMaterialFUlUl();
+extern "C" void calcSizeColorBlock__11J3DMaterialFUl();
+extern "C" void calcSizeTexGenBlock__11J3DMaterialFUl();
+extern "C" void calcSizeTevBlock__11J3DMaterialFi();
+extern "C" void calcSizeIndBlock__11J3DMaterialFi();
+extern "C" void calcSizePEBlock__11J3DMaterialFUlUl();
+extern "C" void initialize__11J3DMaterialFv();
+extern "C" void countDLSize__11J3DMaterialFv();
+extern "C" void makeDisplayList_private__11J3DMaterialFP17J3DDisplayListObj();
+extern "C" void makeDisplayList__11J3DMaterialFv();
+extern "C" void makeSharedDisplayList__11J3DMaterialFv();
+extern "C" void load__11J3DMaterialFv();
+extern "C" void loadSharedDL__11J3DMaterialFv();
+extern "C" void patch__11J3DMaterialFv();
+extern "C" void diff__11J3DMaterialFUl();
+extern "C" void calc__11J3DMaterialFPA4_Cf();
+extern "C" void calcDiffTexMtx__11J3DMaterialFPA4_Cf();
+extern "C" void setCurrentMtx__11J3DMaterialFv();
+extern "C" void calcCurrentMtx__11J3DMaterialFv();
+extern "C" void copy__11J3DMaterialFP11J3DMaterial();
+extern "C" void reset__11J3DMaterialFv();
+extern "C" void change__11J3DMaterialFv();
+extern "C" void newSharedDisplayList__11J3DMaterialFUl();
+extern "C" void newSingleSharedDisplayList__11J3DMaterialFUl();
+extern "C" void initialize__18J3DPatchedMaterialFv();
+extern "C" void makeDisplayList__18J3DPatchedMaterialFv();
+extern "C" void makeSharedDisplayList__18J3DPatchedMaterialFv();
+extern "C" void load__18J3DPatchedMaterialFv();
+extern "C" void loadSharedDL__18J3DPatchedMaterialFv();
+extern "C" void reset__18J3DPatchedMaterialFv();
+extern "C" void change__18J3DPatchedMaterialFv();
+extern "C" void initialize__17J3DLockedMaterialFv();
+extern "C" void makeDisplayList__17J3DLockedMaterialFv();
+extern "C" void makeSharedDisplayList__17J3DLockedMaterialFv();
+extern "C" void load__17J3DLockedMaterialFv();
+extern "C" void loadSharedDL__17J3DLockedMaterialFv();
+extern "C" void patch__17J3DLockedMaterialFv();
+extern "C" void diff__17J3DLockedMaterialFUl();
+extern "C" void calc__17J3DLockedMaterialFPA4_Cf();
+extern "C" void reset__17J3DLockedMaterialFv();
+extern "C" void change__17J3DLockedMaterialFv();
+extern "C" void __dt__21J3DColorBlockLightOffFv();
+extern "C" void __dt__13J3DColorBlockFv();
+extern "C" void __dt__21J3DTexGenBlockPatchedFv();
+extern "C" void __dt__14J3DTexGenBlockFv();
+extern "C" void __dt__11J3DTevBlockFv();
+extern "C" void __dt__11J3DIndBlockFv();
+extern "C" void __dt__10J3DPEBlockFv();
+extern "C" bool countDLSize__14J3DTexGenBlockFv();
+extern "C" bool countDLSize__13J3DColorBlockFv();
+extern "C" bool countDLSize__11J3DTevBlockFv();
+extern "C" bool countDLSize__11J3DIndBlockFv();
+extern "C" bool countDLSize__10J3DPEBlockFv();
+extern "C" void load__13J3DColorBlockFv();
+extern "C" s32 getCullMode__13J3DColorBlockCFv();
+extern "C" void load__11J3DTevBlockFv();
+extern "C" J3DNBTScale* getNBTScale__14J3DTexGenBlockFv();
+extern "C" void patch__13J3DColorBlockFv();
+extern "C" void diff__13J3DColorBlockFUl();
+extern "C" void diff__10J3DPEBlockFUl();
+extern "C" void reset__10J3DPEBlockFP10J3DPEBlock();
+extern "C" void reset__11J3DIndBlockFP11J3DIndBlock();
+extern "C" void reset__11J3DTevBlockFP11J3DTevBlock(J3DTevBlock* param_0);
+extern "C" void reset__14J3DTexGenBlockFP14J3DTexGenBlock();
+extern "C" void reset__13J3DColorBlockFP13J3DColorBlock();
+extern "C" void diffFog__10J3DPEBlockFv();
+extern "C" void diffBlend__10J3DPEBlockFv();
+extern "C" void setFog__10J3DPEBlockFP6J3DFog();
+extern "C" void setFog__10J3DPEBlockF6J3DFog();
+extern "C" void setAlphaComp__10J3DPEBlockFPC12J3DAlphaComp();
+extern "C" void setBlend__10J3DPEBlockFPC8J3DBlend();
+extern "C" void setZMode__10J3DPEBlockFPC8J3DZMode();
+extern "C" void setZCompLoc__10J3DPEBlockFPCUc();
+extern "C" void setDither__10J3DPEBlockFUc();
+extern "C" void setDither__10J3DPEBlockFPCUc();
+extern "C" bool getDither__10J3DPEBlockCFv();
+extern "C" bool getFogOffset__10J3DPEBlockCFv();
+extern "C" void setFogOffset__10J3DPEBlockFUl();
+extern "C" void diff__15J3DIndBlockNullFUl();
+extern "C" void load__15J3DIndBlockNullFv();
+extern "C" void reset__15J3DIndBlockNullFP11J3DIndBlock();
+extern "C" void getType__15J3DIndBlockNullFv();
+extern "C" void __dt__15J3DIndBlockNullFv();
+extern "C" void setIndTexOrder__11J3DIndBlockFUlPC14J3DIndTexOrder();
+extern "C" void setIndTexOrder__11J3DIndBlockFUl14J3DIndTexOrder();
+extern "C" void setIndTexMtx__11J3DIndBlockFUlPC12J3DIndTexMtx();
+extern "C" void setIndTexCoordScale__11J3DIndBlockFUlPC19J3DIndTexCoordScale();
+extern "C" void setTexGenNum__14J3DTexGenBlockFPCUl();
+extern "C" void setNBTScale__14J3DTexGenBlockF11J3DNBTScale();
+extern "C" void setNBTScale__14J3DTexGenBlockFPC11J3DNBTScale();
+extern "C" bool getTexMtxOffset__14J3DTexGenBlockCFv();
+extern "C" void setTexMtxOffset__14J3DTexGenBlockFUl();
+extern "C" void patchMatColor__13J3DColorBlockFv();
+extern "C" void diffAmbColor__13J3DColorBlockFv();
+extern "C" void diffMatColor__13J3DColorBlockFv();
+extern "C" void diffColorChan__13J3DColorBlockFv();
+extern "C" void diffLightObj__13J3DColorBlockFUl();
+extern "C" void setMatColor__13J3DColorBlockFUlPC10J3DGXColor();
+extern "C" void setColorChanNum__13J3DColorBlockFPCUc();
+extern "C" void setColorChan__13J3DColorBlockFUlPC12J3DColorChan();
+extern "C" bool getLight__13J3DColorBlockFUl();
+extern "C" void setCullMode__13J3DColorBlockFUc();
+extern "C" void setCullMode__13J3DColorBlockFPCUc();
+extern "C" bool getMatColorOffset__13J3DColorBlockCFv();
+extern "C" bool getColorChanOffset__13J3DColorBlockCFv();
+extern "C" void setMatColorOffset__13J3DColorBlockFUl();
+extern "C" void setColorChanOffset__13J3DColorBlockFUl();
+
+//
+// External References:
+//
+
+extern "C" void patch__10J3DPEBlockFv();
+extern "C" void patchLight__13J3DColorBlockFv();
+extern "C" bool getZCompLoc__10J3DPEBlockCFv();
+extern "C" bool getZMode__10J3DPEBlockFv();
+extern "C" bool getBlend__10J3DPEBlockFv();
+extern "C" bool getAlphaComp__10J3DPEBlockFv();
+extern "C" bool getFog__10J3DPEBlockFv();
+extern "C" bool getIndTexCoordScale__11J3DIndBlockFUl();
+extern "C" bool getIndTexMtx__11J3DIndBlockFUl();
+extern "C" bool getIndTexOrder__11J3DIndBlockFUl();
+extern "C" bool getIndTexStageNum__11J3DIndBlockCFv();
+extern "C" bool getTexMtx__14J3DTexGenBlockFUl();
+extern "C" bool getTexCoord__14J3DTexGenBlockFUl();
+extern "C" bool getTexGenNum__14J3DTexGenBlockCFv();
+extern "C" bool getAmbColor__13J3DColorBlockFUl();
+extern "C" bool getColorChan__13J3DColorBlockFUl();
+extern "C" bool getMatColor__13J3DColorBlockFUl();
+extern "C" bool getColorChanNum__13J3DColorBlockCFv();
+extern "C" void setZCompLoc__10J3DPEBlockFUc();
+extern "C" void setZMode__10J3DPEBlockF8J3DZMode();
+extern "C" void setBlend__10J3DPEBlockFRC8J3DBlend();
+extern "C" void setAlphaComp__10J3DPEBlockFRC12J3DAlphaComp();
+extern "C" void setIndTexCoordScale__11J3DIndBlockFUl19J3DIndTexCoordScale();
+extern "C" void __dt__19J3DIndTexCoordScaleFv();
+extern "C" void setIndTexMtx__11J3DIndBlockFUl12J3DIndTexMtx();
+extern "C" void __dt__12J3DIndTexMtxFv();
+extern "C" void setIndTexStageNum__11J3DIndBlockFUc();
+extern "C" void setTexCoord__14J3DTexGenBlockFUlPC11J3DTexCoord();
+extern "C" void setTexGenNum__14J3DTexGenBlockFUl();
+extern "C" void setAmbColor__13J3DColorBlockFUl10J3DGXColor();
+extern "C" void setColorChan__13J3DColorBlockFUlRC12J3DColorChan();
+extern "C" void setMatColor__13J3DColorBlockFUl10J3DGXColor();
+extern "C" void setColorChanNum__13J3DColorBlockFUc();
+extern "C" void __ct__19J3DIndTexCoordScaleFv();
+extern "C" void __ct__12J3DIndTexMtxFv();
+extern "C" void __ct__14J3DIndTexOrderFv();
+extern "C" void __ct__19J3DTevSwapModeTableFv();
+extern "C" void __ct__11J3DTevOrderFv();
+extern "C" void __ct__14J3DIndTevStageFv();
+extern "C" void __ct__11J3DTevStageFv();
+extern "C" void __ct__13J3DGXColorS10Fv();
+extern "C" void __ct__11J3DTexCoordFv();
+extern "C" void __ct__12J3DColorChanFv();
+extern "C" void __ct__10J3DGXColorFv();
+extern "C" void setTexMtx__14J3DTexGenBlockFUlP9J3DTexMtx();
+extern "C" void setLight__13J3DColorBlockFUlP11J3DLightObj();
+extern "C" void setAmbColor__13J3DColorBlockFUlPC10J3DGXColor();
+extern "C" void* __nw__FUl();
+extern "C" void __dl__FPv();
+extern "C" void J3DGDSetGenMode__FUcUcUcUc11_GXCullMode();
+extern "C" void J3DGDSetGenMode_3Param__FUcUcUc();
+extern "C" void newDisplayList__17J3DDisplayListObjFUl();
+extern "C" void newSingleDisplayList__17J3DDisplayListObjFUl();
+extern "C" void callDL__17J3DDisplayListObjCFv();
+extern "C" void beginDL__17J3DDisplayListObjFv();
+extern "C" void endDL__17J3DDisplayListObjFv();
+extern "C" void beginPatch__17J3DDisplayListObjFv();
+extern "C" void endPatch__17J3DDisplayListObjFv();
+extern "C" void beginDiff__12J3DMatPacketFv();
+extern "C" void endDiff__12J3DMatPacketFv();
+extern "C" void initialize__21J3DColorBlockLightOffFv();
+extern "C" void initialize__22J3DColorBlockAmbientOnFv();
+extern "C" void initialize__20J3DColorBlockLightOnFv();
+extern "C" void initialize__21J3DTexGenBlockPatchedFv();
+extern "C" void initialize__15J3DTexGenBlock4Fv();
+extern "C" void initialize__19J3DTexGenBlockBasicFv();
+extern "C" void initialize__12J3DTevBlock1Fv();
+extern "C" void initialize__12J3DTevBlock2Fv();
+extern "C" void initialize__12J3DTevBlock4Fv();
+extern "C" void initialize__13J3DTevBlock16Fv();
+extern "C" void initialize__15J3DIndBlockFullFv();
+extern "C" void initialize__16J3DPEBlockFogOffFv();
+extern "C" void initialize__14J3DPEBlockFullFv();
+extern "C" void loadNBTScale__FR11J3DNBTScale();
+extern "C" void __as__10J3DFogInfoFRC10J3DFogInfo();
+extern "C" void __construct_array();
+extern "C" void _savegpr_24();
+extern "C" void _savegpr_26();
+extern "C" void _savegpr_27();
+extern "C" void _savegpr_29();
+extern "C" void _restgpr_24();
+extern "C" void _restgpr_26();
+extern "C" void _restgpr_27();
+extern "C" void _restgpr_29();
+extern "C" extern void* __vt__14J3DPEBlockFull[31];
+extern "C" extern void* __vt__16J3DPEBlockFogOff[31];
+extern "C" extern void* __vt__13J3DTevBlock16[55];
+extern "C" extern void* __vt__12J3DTevBlock4[55];
+extern "C" extern void* __vt__12J3DTevBlock2[55];
+extern "C" extern void* __vt__12J3DTevBlock1[55];
+extern "C" extern void* __vt__19J3DTexGenBlockBasic[27];
+extern "C" extern void* __vt__15J3DTexGenBlock4[27];
+extern "C" extern void* __vt__21J3DTexGenBlockPatched[27];
+extern "C" extern void* __vt__20J3DColorBlockLightOn[36];
+extern "C" extern void* __vt__22J3DColorBlockAmbientOn[36];
+extern "C" extern void* __vt__13J3DPEBlockXlu[31];
+extern "C" extern void* __vt__17J3DPEBlockTexEdge[31];
+extern "C" extern void* __vt__13J3DPEBlockOpa[31];
+extern "C" extern void* __vt__15J3DIndBlockFull[19];
+extern "C" extern void* __vt__11J3DTevBlock[55];
+extern "C" extern void* __vt__21J3DColorBlockLightOff[36 + 1 /* padding */];
+
+//
+// Declarations:
+//
+
+/* ############################################################################################## */
+/* 803CDC90-803CDCC0 02ADB0 0030+00 0/0 1/1 0/0 .data __vt__17J3DLockedMaterial */
+SECTION_DATA extern void* __vt__17J3DLockedMaterial[12] = {
+ (void*)NULL /* RTTI */,
+ (void*)NULL,
+ (void*)calc__17J3DLockedMaterialFPA4_Cf,
+ (void*)calcDiffTexMtx__11J3DMaterialFPA4_Cf,
+ (void*)makeDisplayList__17J3DLockedMaterialFv,
+ (void*)makeSharedDisplayList__17J3DLockedMaterialFv,
+ (void*)load__17J3DLockedMaterialFv,
+ (void*)loadSharedDL__17J3DLockedMaterialFv,
+ (void*)patch__17J3DLockedMaterialFv,
+ (void*)diff__17J3DLockedMaterialFUl,
+ (void*)reset__17J3DLockedMaterialFv,
+ (void*)change__17J3DLockedMaterialFv,
+};
+
+/* 803CDCC0-803CDCF0 02ADE0 0030+00 0/0 1/1 0/0 .data __vt__18J3DPatchedMaterial */
+SECTION_DATA extern void* __vt__18J3DPatchedMaterial[12] = {
+ (void*)NULL /* RTTI */,
+ (void*)NULL,
+ (void*)calc__11J3DMaterialFPA4_Cf,
+ (void*)calcDiffTexMtx__11J3DMaterialFPA4_Cf,
+ (void*)makeDisplayList__18J3DPatchedMaterialFv,
+ (void*)makeSharedDisplayList__18J3DPatchedMaterialFv,
+ (void*)load__18J3DPatchedMaterialFv,
+ (void*)loadSharedDL__18J3DPatchedMaterialFv,
+ (void*)patch__11J3DMaterialFv,
+ (void*)diff__11J3DMaterialFUl,
+ (void*)reset__18J3DPatchedMaterialFv,
+ (void*)change__18J3DPatchedMaterialFv,
+};
+
+/* 803CDCF0-803CDD20 02AE10 0030+00 0/0 6/6 0/0 .data __vt__11J3DMaterial */
+SECTION_DATA extern void* __vt__11J3DMaterial[12] = {
+ (void*)NULL /* RTTI */,
+ (void*)NULL,
+ (void*)calc__11J3DMaterialFPA4_Cf,
+ (void*)calcDiffTexMtx__11J3DMaterialFPA4_Cf,
+ (void*)makeDisplayList__11J3DMaterialFv,
+ (void*)makeSharedDisplayList__11J3DMaterialFv,
+ (void*)load__11J3DMaterialFv,
+ (void*)loadSharedDL__11J3DMaterialFv,
+ (void*)patch__11J3DMaterialFv,
+ (void*)diff__11J3DMaterialFUl,
+ (void*)reset__11J3DMaterialFv,
+ (void*)change__11J3DMaterialFv,
+};
+
+/* 803CDD20-803CDD9C 02AE40 007C+00 2/2 7/7 0/0 .data __vt__10J3DPEBlock */
+SECTION_DATA extern void* __vt__10J3DPEBlock[31] = {
+ (void*)NULL /* RTTI */,
+ (void*)NULL,
+ (void*)reset__10J3DPEBlockFP10J3DPEBlock,
+ (void*)NULL,
+ (void*)patch__10J3DPEBlockFv,
+ (void*)diff__10J3DPEBlockFUl,
+ (void*)diffFog__10J3DPEBlockFv,
+ (void*)diffBlend__10J3DPEBlockFv,
+ (void*)countDLSize__10J3DPEBlockFv,
+ (void*)NULL,
+ (void*)setFog__10J3DPEBlockF6J3DFog,
+ (void*)setFog__10J3DPEBlockFP6J3DFog,
+ (void*)getFog__10J3DPEBlockFv,
+ (void*)setAlphaComp__10J3DPEBlockFPC12J3DAlphaComp,
+ (void*)setAlphaComp__10J3DPEBlockFRC12J3DAlphaComp,
+ (void*)getAlphaComp__10J3DPEBlockFv,
+ (void*)setBlend__10J3DPEBlockFPC8J3DBlend,
+ (void*)setBlend__10J3DPEBlockFRC8J3DBlend,
+ (void*)getBlend__10J3DPEBlockFv,
+ (void*)setZMode__10J3DPEBlockFPC8J3DZMode,
+ (void*)setZMode__10J3DPEBlockF8J3DZMode,
+ (void*)getZMode__10J3DPEBlockFv,
+ (void*)setZCompLoc__10J3DPEBlockFPCUc,
+ (void*)setZCompLoc__10J3DPEBlockFUc,
+ (void*)getZCompLoc__10J3DPEBlockCFv,
+ (void*)setDither__10J3DPEBlockFPCUc,
+ (void*)setDither__10J3DPEBlockFUc,
+ (void*)getDither__10J3DPEBlockCFv,
+ (void*)getFogOffset__10J3DPEBlockCFv,
+ (void*)setFogOffset__10J3DPEBlockFUl,
+ (void*)__dt__10J3DPEBlockFv,
+};
+
+/* 803CDD9C-803CDDE8 02AEBC 004C+00 2/2 1/1 0/0 .data __vt__15J3DIndBlockNull */
+SECTION_DATA extern void* __vt__15J3DIndBlockNull[19] = {
+ (void*)NULL /* RTTI */,
+ (void*)NULL,
+ (void*)reset__15J3DIndBlockNullFP11J3DIndBlock,
+ (void*)diff__15J3DIndBlockNullFUl,
+ (void*)load__15J3DIndBlockNullFv,
+ (void*)countDLSize__11J3DIndBlockFv,
+ (void*)getType__15J3DIndBlockNullFv,
+ (void*)setIndTexStageNum__11J3DIndBlockFUc,
+ (void*)getIndTexStageNum__11J3DIndBlockCFv,
+ (void*)setIndTexOrder__11J3DIndBlockFUl14J3DIndTexOrder,
+ (void*)setIndTexOrder__11J3DIndBlockFUlPC14J3DIndTexOrder,
+ (void*)getIndTexOrder__11J3DIndBlockFUl,
+ (void*)setIndTexMtx__11J3DIndBlockFUlPC12J3DIndTexMtx,
+ (void*)setIndTexMtx__11J3DIndBlockFUl12J3DIndTexMtx,
+ (void*)getIndTexMtx__11J3DIndBlockFUl,
+ (void*)setIndTexCoordScale__11J3DIndBlockFUlPC19J3DIndTexCoordScale,
+ (void*)setIndTexCoordScale__11J3DIndBlockFUl19J3DIndTexCoordScale,
+ (void*)getIndTexCoordScale__11J3DIndBlockFUl,
+ (void*)__dt__15J3DIndBlockNullFv,
+};
+
+/* 803CDDE8-803CDE34 02AF08 004C+00 3/3 2/2 0/0 .data __vt__11J3DIndBlock */
+SECTION_DATA extern void* __vt__11J3DIndBlock[19] = {
+ (void*)NULL /* RTTI */,
+ (void*)NULL,
+ (void*)reset__11J3DIndBlockFP11J3DIndBlock,
+ (void*)NULL,
+ (void*)NULL,
+ (void*)countDLSize__11J3DIndBlockFv,
+ (void*)NULL,
+ (void*)setIndTexStageNum__11J3DIndBlockFUc,
+ (void*)getIndTexStageNum__11J3DIndBlockCFv,
+ (void*)setIndTexOrder__11J3DIndBlockFUl14J3DIndTexOrder,
+ (void*)setIndTexOrder__11J3DIndBlockFUlPC14J3DIndTexOrder,
+ (void*)getIndTexOrder__11J3DIndBlockFUl,
+ (void*)setIndTexMtx__11J3DIndBlockFUlPC12J3DIndTexMtx,
+ (void*)setIndTexMtx__11J3DIndBlockFUl12J3DIndTexMtx,
+ (void*)getIndTexMtx__11J3DIndBlockFUl,
+ (void*)setIndTexCoordScale__11J3DIndBlockFUlPC19J3DIndTexCoordScale,
+ (void*)setIndTexCoordScale__11J3DIndBlockFUl19J3DIndTexCoordScale,
+ (void*)getIndTexCoordScale__11J3DIndBlockFUl,
+ (void*)__dt__11J3DIndBlockFv,
+};
+
+/* 803CDE34-803CDEA0 02AF54 006C+00 3/3 5/5 0/0 .data __vt__14J3DTexGenBlock */
+SECTION_DATA extern void* __vt__14J3DTexGenBlock[27] = {
+ (void*)NULL /* RTTI */,
+ (void*)NULL,
+ (void*)reset__14J3DTexGenBlockFP14J3DTexGenBlock,
+ (void*)NULL,
+ (void*)NULL,
+ (void*)NULL,
+ (void*)NULL,
+ (void*)NULL,
+ (void*)NULL,
+ (void*)NULL,
+ (void*)NULL,
+ (void*)NULL,
+ (void*)countDLSize__14J3DTexGenBlockFv,
+ (void*)NULL,
+ (void*)setTexGenNum__14J3DTexGenBlockFPCUl,
+ (void*)setTexGenNum__14J3DTexGenBlockFUl,
+ (void*)getTexGenNum__14J3DTexGenBlockCFv,
+ (void*)setTexCoord__14J3DTexGenBlockFUlPC11J3DTexCoord,
+ (void*)getTexCoord__14J3DTexGenBlockFUl,
+ (void*)setTexMtx__14J3DTexGenBlockFUlP9J3DTexMtx,
+ (void*)getTexMtx__14J3DTexGenBlockFUl,
+ (void*)setNBTScale__14J3DTexGenBlockFPC11J3DNBTScale,
+ (void*)setNBTScale__14J3DTexGenBlockF11J3DNBTScale,
+ (void*)getNBTScale__14J3DTexGenBlockFv,
+ (void*)getTexMtxOffset__14J3DTexGenBlockCFv,
+ (void*)setTexMtxOffset__14J3DTexGenBlockFUl,
+ (void*)__dt__14J3DTexGenBlockFv,
+};
+
+/* 803CDEA0-803CDF30 02AFC0 0090+00 3/3 4/4 0/0 .data __vt__13J3DColorBlock */
+SECTION_DATA extern void* __vt__13J3DColorBlock[36] = {
+ (void*)NULL /* RTTI */,
+ (void*)NULL,
+ (void*)load__13J3DColorBlockFv,
+ (void*)reset__13J3DColorBlockFP13J3DColorBlock,
+ (void*)patch__13J3DColorBlockFv,
+ (void*)patchMatColor__13J3DColorBlockFv,
+ (void*)patchLight__13J3DColorBlockFv,
+ (void*)diff__13J3DColorBlockFUl,
+ (void*)diffAmbColor__13J3DColorBlockFv,
+ (void*)diffMatColor__13J3DColorBlockFv,
+ (void*)diffColorChan__13J3DColorBlockFv,
+ (void*)diffLightObj__13J3DColorBlockFUl,
+ (void*)countDLSize__13J3DColorBlockFv,
+ (void*)NULL,
+ (void*)setMatColor__13J3DColorBlockFUlPC10J3DGXColor,
+ (void*)setMatColor__13J3DColorBlockFUl10J3DGXColor,
+ (void*)getMatColor__13J3DColorBlockFUl,
+ (void*)setAmbColor__13J3DColorBlockFUlPC10J3DGXColor,
+ (void*)setAmbColor__13J3DColorBlockFUl10J3DGXColor,
+ (void*)getAmbColor__13J3DColorBlockFUl,
+ (void*)setColorChanNum__13J3DColorBlockFUc,
+ (void*)setColorChanNum__13J3DColorBlockFPCUc,
+ (void*)getColorChanNum__13J3DColorBlockCFv,
+ (void*)setColorChan__13J3DColorBlockFUlRC12J3DColorChan,
+ (void*)setColorChan__13J3DColorBlockFUlPC12J3DColorChan,
+ (void*)getColorChan__13J3DColorBlockFUl,
+ (void*)setLight__13J3DColorBlockFUlP11J3DLightObj,
+ (void*)getLight__13J3DColorBlockFUl,
+ (void*)setCullMode__13J3DColorBlockFPCUc,
+ (void*)setCullMode__13J3DColorBlockFUc,
+ (void*)getCullMode__13J3DColorBlockCFv,
+ (void*)getMatColorOffset__13J3DColorBlockCFv,
+ (void*)getColorChanOffset__13J3DColorBlockCFv,
+ (void*)setMatColorOffset__13J3DColorBlockFUl,
+ (void*)setColorChanOffset__13J3DColorBlockFUl,
+ (void*)__dt__13J3DColorBlockFv,
+};
+
+/* 803157A0-803159A0 3100E0 0200+00 0/0 3/3 0/0 .text createColorBlock__11J3DMaterialFUl
+ */
+J3DColorBlock* J3DMaterial::createColorBlock(u32 param_0) {
+ J3DColorBlock* rv = NULL;
+ switch (param_0) {
+ case 0:
+ rv = new J3DColorBlockLightOff();
+ break;
+ case 0x40000000:
+ rv = new J3DColorBlockLightOn();
+ break;
+ case 0x80000000:
+ rv = new J3DColorBlockAmbientOn();
+ break;
+ }
+
+ return rv;
+}
+
+/* 803159A0-80315B04 3102E0 0164+00 0/0 2/2 0/0 .text createTexGenBlock__11J3DMaterialFUl
+ */
+J3DTexGenBlock* J3DMaterial::createTexGenBlock(u32 param_0) {
+ switch (param_0) {
+ case 0x8000000:
+ return new J3DTexGenBlock4();
+ case 0:
+ default:
+ return new J3DTexGenBlockBasic();
+ }
+}
+
+/* 80315B04-80315E78 310444 0374+00 0/0 2/2 0/0 .text createTevBlock__11J3DMaterialFi */
+J3DTevBlock* J3DMaterial::createTevBlock(int param_0) {
+ J3DTevBlock* rv = NULL;
+ if (param_0 <= 1) {
+ rv = new J3DTevBlock1();
+ } else if (param_0 == 2) {
+ rv = new J3DTevBlock2();
+ } else if (param_0 <= 4) {
+ rv = new J3DTevBlock4();
+ } else if (param_0 <= 16) {
+ rv = new J3DTevBlock16();
+ }
+ return rv;
+}
+
+/* 80315E78-80315F60 3107B8 00E8+00 0/0 3/3 0/0 .text createIndBlock__11J3DMaterialFi */
+J3DIndBlock* J3DMaterial::createIndBlock(int param_0) {
+ if (param_0 != 0) {
+ return new J3DIndBlockFull();
+ }
+
+ return new J3DIndBlockNull();
+}
+
+/* 80315F60-80316100 3108A0 01A0+00 0/0 3/3 0/0 .text createPEBlock__11J3DMaterialFUlUl
+ */
+J3DPEBlock* J3DMaterial::createPEBlock(u32 createFlag, u32 materialMode) {
+ J3DPEBlock* rv = NULL;
+
+ if (createFlag == 0) {
+ if (materialMode & 1) {
+ rv = new J3DPEBlockOpa();
+ return rv;
+ } else if (materialMode & 2) {
+ rv = new J3DPEBlockTexEdge();
+ return rv;
+ } else if (materialMode & 4) {
+ rv = new J3DPEBlockXlu();
+ return rv;
+ }
+ }
+
+ if (createFlag == 0x10000000) {
+ rv = new J3DPEBlockFull();
+ } else if (createFlag == 0x20000000) {
+ rv = new J3DPEBlockFogOff();
+ }
+
+ return rv;
+}
+
+/* 80316100-80316150 310A40 0050+00 0/0 2/2 0/0 .text calcSizeColorBlock__11J3DMaterialFUl */
+u32 J3DMaterial::calcSizeColorBlock(u32 param_0) {
+ u32 rv = 0;
+ switch (param_0) {
+ case 0:
+ rv = sizeof(J3DColorBlockLightOff);
+ break;
+ case 0x40000000:
+ rv = sizeof(J3DColorBlockLightOn);
+ break;
+ case 0x80000000:
+ rv = sizeof(J3DColorBlockAmbientOn);
+ break;
+ }
+
+ return rv;
+}
+
+/* 80316150-8031617C 310A90 002C+00 0/0 1/1 0/0 .text calcSizeTexGenBlock__11J3DMaterialFUl */
+u32 J3DMaterial::calcSizeTexGenBlock(u32 param_0) {
+ switch (param_0) {
+ case 0x8000000:
+ return sizeof(J3DTexGenBlock4);
+ case 0:
+ default:
+ return sizeof(J3DTexGenBlockBasic);
+ }
+}
+
+/* 8031617C-803161C4 310ABC 0048+00 0/0 1/1 0/0 .text calcSizeTevBlock__11J3DMaterialFi
+ */
+u32 J3DMaterial::calcSizeTevBlock(int param_0) {
+ u32 rv = 0;
+ if (param_0 <= 1) {
+ rv = sizeof(J3DTevBlock1);
+ } else if (param_0 == 2) {
+ rv = sizeof(J3DTevBlock2);
+ } else if (param_0 <= 4) {
+ rv = sizeof(J3DTevBlock4);
+ } else if (param_0 <= 16) {
+ rv = sizeof(J3DTevBlock16);
+ }
+ return rv;
+}
+
+/* 803161C4-803161D8 310B04 0014+00 0/0 2/2 0/0 .text calcSizeIndBlock__11J3DMaterialFi
+ */
+u32 J3DMaterial::calcSizeIndBlock(int param_0) {
+ if (param_0 != 0) {
+ return sizeof(J3DIndBlockFull);
+ }
+
+ return sizeof(J3DIndBlockNull);
+}
+
+/* 803161D8-80316240 310B18 0068+00 0/0 2/2 0/0 .text calcSizePEBlock__11J3DMaterialFUlUl
+ */
+u32 J3DMaterial::calcSizePEBlock(u32 param_0, u32 param_1) {
+ u32 rv = 0;
+ if (param_0 == 0) {
+ if (param_1 & 1) {
+ rv = sizeof(J3DPEBlockOpa);
+ } else if (param_1 & 2) {
+ rv = sizeof(J3DPEBlockTexEdge);
+ } else if (param_1 & 4) {
+ rv = sizeof(J3DPEBlockXlu);
+ }
+ }
+ else if (param_0 == 0x10000000) {
+ rv = sizeof(J3DPEBlockFull);
+ } else if (param_0 == 0x20000000) {
+ rv = sizeof(J3DPEBlockFogOff);
+ }
+ return rv;
+}
+
+/* 80316240-80316290 310B80 0050+00 2/2 5/5 0/0 .text initialize__11J3DMaterialFv */
+void J3DMaterial::initialize() {
+ mShape = NULL;
+ mNext = NULL;
+ mJoint = NULL;
+ mMaterialMode = 1;
+ mIndex = -1;
+ mInvalid = 0;
+ mDiffFlag = 0;
+ mColorBlock = NULL;
+ mTexGenBlock = NULL;
+ mTevBlock = NULL;
+ mIndBlock = NULL;
+ mPEBlock = NULL;
+ mpOrigMaterial = NULL;
+ mMaterialAnm = NULL;
+ mSharedDLObj = NULL;
+}
+
+/* 80316290-80316344 310BD0 00B4+00 0/0 2/2 0/0 .text countDLSize__11J3DMaterialFv */
+u32 J3DMaterial::countDLSize() {
+ return (mColorBlock->countDLSize() + mTexGenBlock->countDLSize() + mTevBlock->countDLSize() +
+ mIndBlock->countDLSize() + mPEBlock->countDLSize() + 31) & ~0x1f;
+}
+
+/* 80316344-80316620 310C84 02DC+00 2/2 0/0 0/0 .text
+ * makeDisplayList_private__11J3DMaterialFP17J3DDisplayListObj */
+void J3DMaterial::makeDisplayList_private(J3DDisplayListObj* param_0) {
+ param_0->beginDL();
+ mTevBlock->load();
+ mIndBlock->load();
+ mPEBlock->load();
+ J3DGDSetGenMode(mTexGenBlock->getTexGenNum(), mColorBlock->getColorChanNum(), mTevBlock->getTevStageNum(), mIndBlock->getIndTexStageNum(), (GXCullMode)(u8)mColorBlock->getCullMode());
+ mTexGenBlock->load();
+ mColorBlock->load();
+ J3DGDSetNumChans(mColorBlock->getColorChanNum());
+ J3DGDSetNumTexGens(mTexGenBlock->getTexGenNum());
+ param_0->endDL();
+}
+
+/* 80316620-80316668 310F60 0048+00 1/0 0/0 0/0 .text makeDisplayList__11J3DMaterialFv */
+void J3DMaterial::makeDisplayList() {
+ if (!j3dSys.getMatPacket()->isLocked()) {
+ j3dSys.getMatPacket()->mDiffFlag = mDiffFlag;
+ makeDisplayList_private(j3dSys.getMatPacket()->getDisplayListObj());
+ }
+}
+
+/* 80316668-8031668C 310FA8 0024+00 1/0 0/0 0/0 .text makeSharedDisplayList__11J3DMaterialFv */
+void J3DMaterial::makeSharedDisplayList() {
+ makeDisplayList_private(mSharedDLObj);
+}
+
+/* 8031668C-803166DC 310FCC 0050+00 1/0 0/0 0/0 .text load__11J3DMaterialFv */
+void J3DMaterial::load() {
+ j3dSys.setMaterialMode(mMaterialMode);
+ if (!j3dSys.checkFlag(2)) {
+ loadNBTScale(*mTexGenBlock->getNBTScale());
+ }
+}
+
+/* 803166DC-80316740 31101C 0064+00 1/0 0/0 0/0 .text loadSharedDL__11J3DMaterialFv */
+void J3DMaterial::loadSharedDL() {
+ j3dSys.setMaterialMode(mMaterialMode);
+ if (!j3dSys.checkFlag(2)) {
+ mSharedDLObj->callDL();
+ loadNBTScale(*mTexGenBlock->getNBTScale());
+ }
+}
+
+/* 80316740-803167D8 311080 0098+00 2/0 0/0 0/0 .text patch__11J3DMaterialFv */
+void J3DMaterial::patch() {
+ j3dSys.getMatPacket()->mDiffFlag = mDiffFlag;
+ j3dSys.getMatPacket()->beginPatch();
+ mTevBlock->patch();
+ mColorBlock->patch();
+ mTexGenBlock->patch();
+ j3dSys.getMatPacket()->endPatch();
+}
+
+/* 803167D8-803169DC 311118 0204+00 2/0 0/0 0/0 .text diff__11J3DMaterialFUl */
+void J3DMaterial::diff(u32 param_0) {
+ if (j3dSys.getMatPacket()->isEnabled_Diff()) {
+ j3dSys.getMatPacket()->beginDiff();
+ mTevBlock->diff(param_0);
+ mIndBlock->diff(param_0);
+ mPEBlock->diff(param_0);
+ if (param_0 & 0x2000000) {
+ J3DGDSetGenMode_3Param(mTexGenBlock->getTexGenNum(), mTevBlock->getTevStageNum(), mIndBlock->getIndTexStageNum());
+ J3DGDSetNumTexGens(mTexGenBlock->getTexGenNum());
+ }
+ mTexGenBlock->diff(param_0);
+ mColorBlock->diff(param_0);
+ j3dSys.getMatPacket()->endDiff();
+ }
+}
+
+/* 803169DC-80316A54 31131C 0078+00 2/0 0/0 0/0 .text calc__11J3DMaterialFPA4_Cf */
+// Matches but changes order of TU vtables (?!)
+#ifdef NONMATCHING
+void J3DMaterial::calc(f32 const (*param_0)[4]) {
+ if (j3dSys.checkFlag(0x40000000)) {
+ mTexGenBlock->calcPostTexMtx(param_0);
+ } else {
+ mTexGenBlock->calc(param_0);
+ }
+
+ calcCurrentMtx();
+ setCurrentMtx();
+}
+#else
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+extern "C" asm void calc__11J3DMaterialFPA4_Cf() {
+ // asm void J3DMaterial::calc(f32 const (*param_0)[4]) {
+ nofralloc
+#include "asm/JSystem/J3DGraphBase/J3DMaterial/calc__11J3DMaterialFPA4_Cf.s"
+}
+#pragma pop
+#endif
+
+/* 80316A54-80316AB0 311394 005C+00 3/0 0/0 0/0 .text calcDiffTexMtx__11J3DMaterialFPA4_Cf */
+void J3DMaterial::calcDiffTexMtx(f32 const (*param_0)[4]) {
+ if (j3dSys.checkFlag(0x40000000)) {
+ mTexGenBlock->calcPostTexMtxWithoutViewMtx(param_0);
+ } else {
+ mTexGenBlock->calcWithoutViewMtx(param_0);
+ }
+}
+
+/* 80316AB0-80316AC8 3113F0 0018+00 1/1 1/1 0/0 .text setCurrentMtx__11J3DMaterialFv */
+void J3DMaterial::setCurrentMtx() {
+ mShape->setCurrentMtx(mCurrentMtx);
+}
+
+/* 80316AC8-80316D68 311408 02A0+00 1/1 0/0 0/0 .text calcCurrentMtx__11J3DMaterialFv */
+// Issues with setCurrentTexMtx
+#ifdef NONMATCHING
+void J3DMaterial::calcCurrentMtx() {
+ if (!j3dSys.checkFlag(0x40000000)) {
+ mCurrentMtx.setCurrentTexMtx(
+ mTexGenBlock->getTexCoord(0)->getTexGenMtx(),
+ mTexGenBlock->getTexCoord(1)->getTexGenMtx(),
+ mTexGenBlock->getTexCoord(2)->getTexGenMtx(),
+ mTexGenBlock->getTexCoord(3)->getTexGenMtx(),
+ mTexGenBlock->getTexCoord(4)->getTexGenMtx(),
+ mTexGenBlock->getTexCoord(5)->getTexGenMtx(),
+ mTexGenBlock->getTexCoord(6)->getTexGenMtx(),
+ mTexGenBlock->getTexCoord(7)->getTexGenMtx()
+ );
+ } else {
+ mCurrentMtx.setCurrentTexMtx(
+ mTexGenBlock->getTexCoord(0)->getTexMtxReg(),
+ mTexGenBlock->getTexCoord(1)->getTexMtxReg(),
+ mTexGenBlock->getTexCoord(2)->getTexMtxReg(),
+ mTexGenBlock->getTexCoord(3)->getTexMtxReg(),
+ mTexGenBlock->getTexCoord(4)->getTexMtxReg(),
+ mTexGenBlock->getTexCoord(5)->getTexMtxReg(),
+ mTexGenBlock->getTexCoord(6)->getTexMtxReg(),
+ mTexGenBlock->getTexCoord(7)->getTexMtxReg()
+ );
+ }
+}
+#else
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+asm void J3DMaterial::calcCurrentMtx() {
+ nofralloc
+#include "asm/JSystem/J3DGraphBase/J3DMaterial/calcCurrentMtx__11J3DMaterialFv.s"
+}
+#pragma pop
+#endif
+
+/* 80316D68-80316E14 3116A8 00AC+00 1/1 0/0 0/0 .text copy__11J3DMaterialFP11J3DMaterial
+ */
+void J3DMaterial::copy(J3DMaterial* param_0) {
+ mColorBlock->reset(param_0->mColorBlock);
+ mTexGenBlock->reset(param_0->mTexGenBlock);
+ mTevBlock->reset(param_0->mTevBlock);
+ mIndBlock->reset(param_0->mIndBlock);
+ mPEBlock->reset(param_0->mPEBlock);
+}
+
+/* 80316E14-80316E70 311754 005C+00 1/0 0/0 0/0 .text reset__11J3DMaterialFv */
+void J3DMaterial::reset() {
+ if ((~mDiffFlag & 0x80000000) == 0) {
+ mDiffFlag &= ~0x80000000;
+ mMaterialMode = mpOrigMaterial->mMaterialMode;
+ mInvalid = mpOrigMaterial->mInvalid;
+ mMaterialAnm = NULL;
+ copy(mpOrigMaterial);
+ }
+}
+
+/* 80316E70-80316E90 3117B0 0020+00 1/0 0/0 0/0 .text change__11J3DMaterialFv */
+void J3DMaterial::change() {
+ if ((mDiffFlag & 0xc0000000) == 0) {
+ mDiffFlag |= 0x80000000;
+ mMaterialAnm = NULL;
+ }
+}
+
+/* 80316E90-80316F24 3117D0 0094+00 0/0 2/2 0/0 .text newSharedDisplayList__11J3DMaterialFUl */
+s32 J3DMaterial::newSharedDisplayList(u32 param_0) {
+ if (mSharedDLObj == NULL) {
+ mSharedDLObj = new J3DDisplayListObj();
+ if (mSharedDLObj == NULL) {
+ return 4;
+ }
+ s32 res = mSharedDLObj->newDisplayList(param_0);
+ switch (res) {
+ case kJ3DError_Success:
+ break;
+ default:
+ return res;
+ }
+ }
+ return 0;
+}
+
+/* 80316F24-80316FB8 311864 0094+00 0/0 2/2 0/0 .text newSingleSharedDisplayList__11J3DMaterialFUl
+ */
+s32 J3DMaterial::newSingleSharedDisplayList(u32 param_0) {
+ if (mSharedDLObj == NULL) {
+ mSharedDLObj = new J3DDisplayListObj();
+ if (mSharedDLObj == NULL) {
+ return 4;
+ }
+ s32 res = mSharedDLObj->newSingleDisplayList(param_0);
+ switch (res) {
+ case kJ3DError_Success:
+ break;
+ default:
+ return res;
+ }
+ }
+ return 0;
+}
+
+/* 80316FB8-80316FD8 3118F8 0020+00 0/0 1/1 0/0 .text initialize__18J3DPatchedMaterialFv
+ */
+void J3DPatchedMaterial::initialize() {
+ J3DMaterial::initialize();
+}
+
+/* 80316FD8-80316FDC 311918 0004+00 1/0 0/0 0/0 .text makeDisplayList__18J3DPatchedMaterialFv */
+extern "C" asm void makeDisplayList__18J3DPatchedMaterialFv() {
+//void J3DPatchedMaterial::makeDisplayList() {
+ /* empty function */
+}
+
+/* 80316FDC-80316FE0 31191C 0004+00 1/0 0/0 0/0 .text
+ * makeSharedDisplayList__18J3DPatchedMaterialFv */
+void J3DPatchedMaterial::makeSharedDisplayList() {
+ /* empty function */
+}
+
+/* 80316FE0-80316FFC 311920 001C+00 1/0 0/0 0/0 .text load__18J3DPatchedMaterialFv */
+void J3DPatchedMaterial::load() {
+ j3dSys.setMaterialMode(mMaterialMode);
+ if (j3dSys.checkFlag(2)) {
+ return;
+ }
+}
+
+/* 80316FFC-8031703C 31193C 0040+00 1/0 0/0 0/0 .text loadSharedDL__18J3DPatchedMaterialFv */
+void J3DPatchedMaterial::loadSharedDL() {
+ j3dSys.setMaterialMode(mMaterialMode);
+ if (!j3dSys.checkFlag(0x02))
+ mSharedDLObj->callDL();
+}
+
+/* 8031703C-80317040 31197C 0004+00 1/0 0/0 0/0 .text reset__18J3DPatchedMaterialFv */
+void J3DPatchedMaterial::reset() {
+ /* empty function */
+}
+
+/* 80317040-80317044 311980 0004+00 1/0 0/0 0/0 .text change__18J3DPatchedMaterialFv */
+void J3DPatchedMaterial::change() {
+ /* empty function */
+}
+
+/* 80317044-80317064 311984 0020+00 0/0 1/1 0/0 .text initialize__17J3DLockedMaterialFv
+ */
+void J3DLockedMaterial::initialize() {
+ J3DMaterial::initialize();
+}
+
+/* 80317064-80317068 3119A4 0004+00 1/0 0/0 0/0 .text makeDisplayList__17J3DLockedMaterialFv */
+void J3DLockedMaterial::makeDisplayList() {
+ /* empty function */
+}
+
+/* 80317068-8031706C 3119A8 0004+00 1/0 0/0 0/0 .text makeSharedDisplayList__17J3DLockedMaterialFv
+ */
+void J3DLockedMaterial::makeSharedDisplayList() {
+ /* empty function */
+}
+
+/* 8031706C-80317088 3119AC 001C+00 1/0 0/0 0/0 .text load__17J3DLockedMaterialFv */
+void J3DLockedMaterial::load() {
+ j3dSys.setMaterialMode(mMaterialMode);
+ if (j3dSys.checkFlag(2)) {
+ return;
+ }
+}
+
+/* 80317088-803170C8 3119C8 0040+00 1/0 0/0 0/0 .text loadSharedDL__17J3DLockedMaterialFv
+ */
+void J3DLockedMaterial::loadSharedDL() {
+ j3dSys.setMaterialMode(mMaterialMode);
+ if (!j3dSys.checkFlag(0x02))
+ mSharedDLObj->callDL();
+}
+
+/* 803170C8-803170CC 311A08 0004+00 1/0 0/0 0/0 .text patch__17J3DLockedMaterialFv */
+void J3DLockedMaterial::patch() {
+ /* empty function */
+}
+
+/* 803170CC-803170D0 311A0C 0004+00 1/0 0/0 0/0 .text diff__17J3DLockedMaterialFUl */
+void J3DLockedMaterial::diff(u32 param_0) {
+ /* empty function */
+}
+
+/* 803170D0-803170D4 311A10 0004+00 1/0 0/0 0/0 .text calc__17J3DLockedMaterialFPA4_Cf */
+extern "C" asm void calc__17J3DLockedMaterialFPA4_Cf() {
+ /* empty function */
+}
+
+/* 803170D4-803170D8 311A14 0004+00 1/0 0/0 0/0 .text reset__17J3DLockedMaterialFv */
+void J3DLockedMaterial::reset() {
+ /* empty function */
+}
+
+/* 803170D8-803170DC 311A18 0004+00 1/0 0/0 0/0 .text change__17J3DLockedMaterialFv */
+void J3DLockedMaterial::change() {
+ /* empty function */
+}
+
+/* 803170DC-80317138 311A1C 005C+00 0/0 1/0 0/0 .text __dt__21J3DColorBlockLightOffFv */
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+asm J3DColorBlockLightOff::~J3DColorBlockLightOff() {
+ nofralloc
+#include "asm/JSystem/J3DGraphBase/J3DMaterial/__dt__21J3DColorBlockLightOffFv.s"
+}
+#pragma pop
+
+/* 80317138-80317180 311A78 0048+00 1/0 0/0 0/0 .text __dt__13J3DColorBlockFv */
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+// asm J3DColorBlock::~J3DColorBlock() {
+extern "C" asm void __dt__13J3DColorBlockFv() {
+ nofralloc
+#include "asm/JSystem/J3DGraphBase/J3DMaterial/__dt__13J3DColorBlockFv.s"
+}
+#pragma pop
+
+/* 80317180-803171DC 311AC0 005C+00 0/0 1/0 0/0 .text __dt__21J3DTexGenBlockPatchedFv */
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+asm J3DTexGenBlockPatched::~J3DTexGenBlockPatched() {
+ nofralloc
+#include "asm/JSystem/J3DGraphBase/J3DMaterial/__dt__21J3DTexGenBlockPatchedFv.s"
+}
+#pragma pop
+
+/* 803171DC-80317224 311B1C 0048+00 1/0 0/0 0/0 .text __dt__14J3DTexGenBlockFv */
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+// asm J3DTexGenBlock::~J3DTexGenBlock() {
+extern "C" asm void __dt__14J3DTexGenBlockFv() {
+ nofralloc
+#include "asm/JSystem/J3DGraphBase/J3DMaterial/__dt__14J3DTexGenBlockFv.s"
+}
+#pragma pop
+
+/* 80317224-8031726C 311B64 0048+00 0/0 1/0 0/0 .text __dt__11J3DTevBlockFv */
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+// asm J3DTevBlock::~J3DTevBlock() {
+extern "C" asm void __dt__11J3DTevBlockFv() {
+ nofralloc
+#include "asm/JSystem/J3DGraphBase/J3DMaterial/__dt__11J3DTevBlockFv.s"
+}
+#pragma pop
+
+/* 8031726C-803172B4 311BAC 0048+00 1/0 0/0 0/0 .text __dt__11J3DIndBlockFv */
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+asm J3DIndBlock::~J3DIndBlock() {
+ nofralloc
+#include "asm/JSystem/J3DGraphBase/J3DMaterial/__dt__11J3DIndBlockFv.s"
+}
+#pragma pop
+
+/* 803172B4-803172FC 311BF4 0048+00 1/0 0/0 0/0 .text __dt__10J3DPEBlockFv */
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+// asm J3DPEBlock::~J3DPEBlock() {
+extern "C" asm void __dt__10J3DPEBlockFv() {
+ nofralloc
+#include "asm/JSystem/J3DGraphBase/J3DMaterial/__dt__10J3DPEBlockFv.s"
+}
+#pragma pop
+
+/* 803172FC-80317304 311C3C 0008+00 1/0 1/0 0/0 .text countDLSize__14J3DTexGenBlockFv */
+s32 J3DTexGenBlock::countDLSize() {
+ return false;
+}
+
+/* 80317304-8031730C 311C44 0008+00 1/0 1/0 0/0 .text countDLSize__13J3DColorBlockFv */
+s32 J3DColorBlock::countDLSize() {
+ return false;
+}
+
+/* 8031730C-80317314 311C4C 0008+00 0/0 2/0 0/0 .text countDLSize__11J3DTevBlockFv */
+s32 J3DTevBlock::countDLSize() {
+ return false;
+}
+
+/* 80317314-8031731C 311C54 0008+00 2/0 0/0 0/0 .text countDLSize__11J3DIndBlockFv */
+s32 J3DIndBlock::countDLSize() {
+ return false;
+}
+
+/* 8031731C-80317324 311C5C 0008+00 1/0 1/0 0/0 .text countDLSize__10J3DPEBlockFv */
+s32 J3DPEBlock::countDLSize() {
+ return false;
+}
+
+/* 80317324-80317328 311C64 0004+00 1/0 1/0 0/0 .text load__13J3DColorBlockFv */
+extern "C" void load__13J3DColorBlockFv() {
+ /* empty function */
+}
+
+/* 80317328-80317330 311C68 0008+00 1/0 1/0 0/0 .text getCullMode__13J3DColorBlockCFv */
+s32 J3DColorBlock::getCullMode() const {
+ return 2;
+}
+
+/* 80317330-80317334 311C70 0004+00 0/0 2/0 0/0 .text load__11J3DTevBlockFv */
+void J3DTevBlock::load() {
+ /* empty function */
+}
+
+/* 80317334-8031733C 311C74 0008+00 1/0 2/0 0/0 .text getNBTScale__14J3DTexGenBlockFv */
+J3DNBTScale* J3DTexGenBlock::getNBTScale() {
+ return NULL;
+}
+
+/* 8031733C-80317340 311C7C 0004+00 1/0 1/0 0/0 .text patch__13J3DColorBlockFv */
+void J3DColorBlock::patch() {
+ /* empty function */
+}
+
+/* 80317340-80317344 311C80 0004+00 1/0 1/0 0/0 .text diff__13J3DColorBlockFUl */
+void J3DColorBlock::diff(u32 param_0) {
+ /* empty function */
+}
+
+/* 80317344-80317348 311C84 0004+00 1/0 4/0 0/0 .text diff__10J3DPEBlockFUl */
+void J3DPEBlock::diff(u32 param_0) {
+ /* empty function */
+}
+
+/* 80317348-8031734C 311C88 0004+00 1/0 4/0 0/0 .text reset__10J3DPEBlockFP10J3DPEBlock
+ */
+extern "C" void reset__10J3DPEBlockFP10J3DPEBlock() {
+ /* empty function */
+}
+
+/* 8031734C-80317350 311C8C 0004+00 1/0 0/0 0/0 .text reset__11J3DIndBlockFP11J3DIndBlock
+ */
+extern "C" void reset__11J3DIndBlockFP11J3DIndBlock() {
+ /* empty function */
+}
+
+/* 80317350-80317354 311C90 0004+00 0/0 1/0 0/0 .text reset__11J3DTevBlockFP11J3DTevBlock
+ */
+extern "C" void reset__11J3DTevBlockFP11J3DTevBlock(J3DTevBlock* param_0) {
+ /* empty function */
+}
+
+/* 80317354-80317358 311C94 0004+00 1/0 1/0 0/0 .text reset__14J3DTexGenBlockFP14J3DTexGenBlock */
+extern "C" void reset__14J3DTexGenBlockFP14J3DTexGenBlock() {
+ /* empty function */
+}
+
+/* 80317358-8031735C 311C98 0004+00 1/0 1/0 0/0 .text reset__13J3DColorBlockFP13J3DColorBlock */
+void J3DColorBlock::reset(J3DColorBlock* param_0) {
+ /* empty function */
+}
+
+/* 8031735C-80317360 311C9C 0004+00 1/0 5/0 0/0 .text diffFog__10J3DPEBlockFv */
+void J3DPEBlock::diffFog() {
+ /* empty function */
+}
+
+/* 80317360-80317364 311CA0 0004+00 1/0 4/0 0/0 .text diffBlend__10J3DPEBlockFv */
+void J3DPEBlock::diffBlend() {
+ /* empty function */
+}
+
+/* 80317364-80317368 311CA4 0004+00 1/0 5/0 0/0 .text setFog__10J3DPEBlockFP6J3DFog */
+void J3DPEBlock::setFog(J3DFog* param_0) {
+ /* empty function */
+}
+
+/* 80317368-8031736C 311CA8 0004+00 1/0 5/0 0/0 .text setFog__10J3DPEBlockF6J3DFog */
+void J3DPEBlock::setFog(J3DFog param_0) {
+ /* empty function */
+}
+
+/* 8031736C-80317370 311CAC 0004+00 1/0 4/0 0/0 .text setAlphaComp__10J3DPEBlockFPC12J3DAlphaComp
+ */
+void J3DPEBlock::setAlphaComp(J3DAlphaComp const* param_0) {
+ /* empty function */
+}
+
+/* 80317370-80317374 311CB0 0004+00 1/0 4/0 0/0 .text setBlend__10J3DPEBlockFPC8J3DBlend
+ */
+void J3DPEBlock::setBlend(J3DBlend const* param_0) {
+ /* empty function */
+}
+
+/* 80317374-80317378 311CB4 0004+00 1/0 4/0 0/0 .text setZMode__10J3DPEBlockFPC8J3DZMode
+ */
+void J3DPEBlock::setZMode(J3DZMode const* param_0) {
+ /* empty function */
+}
+
+/* 80317378-8031737C 311CB8 0004+00 1/0 4/0 0/0 .text setZCompLoc__10J3DPEBlockFPCUc */
+void J3DPEBlock::setZCompLoc(u8 const* param_0) {
+ /* empty function */
+}
+
+/* 8031737C-80317380 311CBC 0004+00 1/0 4/0 0/0 .text setDither__10J3DPEBlockFUc */
+void J3DPEBlock::setDither(u8 param_0) {
+ /* empty function */
+}
+
+/* 80317380-80317384 311CC0 0004+00 1/0 4/0 0/0 .text setDither__10J3DPEBlockFPCUc */
+void J3DPEBlock::setDither(u8 const* param_0) {
+ /* empty function */
+}
+
+/* 80317384-8031738C 311CC4 0008+00 1/0 4/0 0/0 .text getDither__10J3DPEBlockCFv */
+bool J3DPEBlock::getDither() const {
+ return false;
+}
+
+/* 8031738C-80317394 311CCC 0008+00 1/0 5/0 0/0 .text getFogOffset__10J3DPEBlockCFv */
+bool J3DPEBlock::getFogOffset() const {
+ return false;
+}
+
+/* 80317394-80317398 311CD4 0004+00 1/0 5/0 0/0 .text setFogOffset__10J3DPEBlockFUl */
+void J3DPEBlock::setFogOffset(u32 param_0) {
+ /* empty function */
+}
+
+/* 80317398-8031739C 311CD8 0004+00 1/0 0/0 0/0 .text diff__15J3DIndBlockNullFUl */
+void J3DIndBlockNull::diff(u32 param_0) {
+ /* empty function */
+}
+
+/* 8031739C-803173A0 311CDC 0004+00 1/0 0/0 0/0 .text load__15J3DIndBlockNullFv */
+void J3DIndBlockNull::load() {
+ /* empty function */
+}
+
+/* 803173A0-803173A4 311CE0 0004+00 1/0 0/0 0/0 .text reset__15J3DIndBlockNullFP11J3DIndBlock */
+extern "C" asm void reset__15J3DIndBlockNullFP11J3DIndBlock() {
+ /* empty function */
+}
+
+/* 803173A4-803173B0 311CE4 000C+00 1/0 0/0 0/0 .text getType__15J3DIndBlockNullFv */
+u32 J3DIndBlockNull::getType() {
+ return 'IBLN';
+}
+
+/* 803173B0-8031740C 311CF0 005C+00 1/0 0/0 0/0 .text __dt__15J3DIndBlockNullFv */
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+asm J3DIndBlockNull::~J3DIndBlockNull() {
+ nofralloc
+#include "asm/JSystem/J3DGraphBase/J3DMaterial/__dt__15J3DIndBlockNullFv.s"
+}
+#pragma pop
+
+/* 8031740C-80317410 311D4C 0004+00 2/0 0/0 0/0 .text
+ * setIndTexOrder__11J3DIndBlockFUlPC14J3DIndTexOrder */
+void J3DIndBlock::setIndTexOrder(u32 param_0, J3DIndTexOrder const* param_1) {
+ /* empty function */
+}
+
+/* 80317410-80317414 311D50 0004+00 2/0 0/0 0/0 .text
+ * setIndTexOrder__11J3DIndBlockFUl14J3DIndTexOrder */
+void J3DIndBlock::setIndTexOrder(u32 param_0, J3DIndTexOrder param_1) {
+ /* empty function */
+}
+
+/* 80317414-80317418 311D54 0004+00 2/0 0/0 0/0 .text
+ * setIndTexMtx__11J3DIndBlockFUlPC12J3DIndTexMtx */
+void J3DIndBlock::setIndTexMtx(u32 param_0, J3DIndTexMtx const* param_1) {
+ /* empty function */
+}
+
+/* 80317418-8031741C 311D58 0004+00 2/0 0/0 0/0 .text
+ * setIndTexCoordScale__11J3DIndBlockFUlPC19J3DIndTexCoordScale */
+void J3DIndBlock::setIndTexCoordScale(u32 param_0, J3DIndTexCoordScale const* param_1) {
+ /* empty function */
+}
+
+/* 8031741C-80317420 311D5C 0004+00 1/0 1/0 0/0 .text setTexGenNum__14J3DTexGenBlockFPCUl
+ */
+void J3DTexGenBlock::setTexGenNum(u32 const* param_0) {
+ /* empty function */
+}
+
+/* 80317420-80317424 311D60 0004+00 1/0 2/0 0/0 .text setNBTScale__14J3DTexGenBlockF11J3DNBTScale
+ */
+void J3DTexGenBlock::setNBTScale(J3DNBTScale param_0) {
+ /* empty function */
+}
+
+/* 80317424-80317428 311D64 0004+00 1/0 2/0 0/0 .text
+ * setNBTScale__14J3DTexGenBlockFPC11J3DNBTScale */
+void J3DTexGenBlock::setNBTScale(J3DNBTScale const* param_0) {
+ /* empty function */
+}
+
+/* 80317428-80317430 311D68 0008+00 1/0 1/0 0/0 .text getTexMtxOffset__14J3DTexGenBlockCFv */
+bool J3DTexGenBlock::getTexMtxOffset() const {
+ return false;
+}
+
+/* 80317430-80317434 311D70 0004+00 1/0 1/0 0/0 .text setTexMtxOffset__14J3DTexGenBlockFUl */
+void J3DTexGenBlock::setTexMtxOffset(u32 param_0) {
+ /* empty function */
+}
+
+/* 80317434-80317438 311D74 0004+00 1/0 1/0 0/0 .text patchMatColor__13J3DColorBlockFv */
+void J3DColorBlock::patchMatColor() {
+ /* empty function */
+}
+
+/* 80317438-8031743C 311D78 0004+00 1/0 3/0 0/0 .text diffAmbColor__13J3DColorBlockFv */
+void J3DColorBlock::diffAmbColor() {
+ /* empty function */
+}
+
+/* 8031743C-80317440 311D7C 0004+00 1/0 1/0 0/0 .text diffMatColor__13J3DColorBlockFv */
+void J3DColorBlock::diffMatColor() {
+ /* empty function */
+}
+
+/* 80317440-80317444 311D80 0004+00 1/0 1/0 0/0 .text diffColorChan__13J3DColorBlockFv */
+void J3DColorBlock::diffColorChan() {
+ /* empty function */
+}
+
+/* 80317444-80317448 311D84 0004+00 1/0 3/0 0/0 .text diffLightObj__13J3DColorBlockFUl */
+void J3DColorBlock::diffLightObj(u32 param_0) {
+ /* empty function */
+}
+
+/* 80317448-8031744C 311D88 0004+00 1/0 1/0 0/0 .text
+ * setMatColor__13J3DColorBlockFUlPC10J3DGXColor */
+void J3DColorBlock::setMatColor(u32 param_0, J3DGXColor const* param_1) {
+ /* empty function */
+}
+
+/* 8031744C-80317450 311D8C 0004+00 1/0 1/0 0/0 .text setColorChanNum__13J3DColorBlockFPCUc */
+void J3DColorBlock::setColorChanNum(u8 const* param_0) {
+ /* empty function */
+}
+
+/* 80317450-80317454 311D90 0004+00 1/0 1/0 0/0 .text
+ * setColorChan__13J3DColorBlockFUlPC12J3DColorChan */
+void J3DColorBlock::setColorChan(u32 param_0, J3DColorChan const* param_1) {
+ /* empty function */
+}
+
+/* 80317454-8031745C 311D94 0008+00 1/0 3/0 0/0 .text getLight__13J3DColorBlockFUl */
+bool J3DColorBlock::getLight(u32 param_0) {
+ return false;
+}
+
+/* 8031745C-80317460 311D9C 0004+00 1/0 1/0 0/0 .text setCullMode__13J3DColorBlockFUc */
+void J3DColorBlock::setCullMode(u8 param_0) {
+ /* empty function */
+}
+
+/* 80317460-80317464 311DA0 0004+00 1/0 1/0 0/0 .text setCullMode__13J3DColorBlockFPCUc
+ */
+void J3DColorBlock::setCullMode(u8 const* param_0) {
+ /* empty function */
+}
+
+/* 80317464-8031746C 311DA4 0008+00 1/0 1/0 0/0 .text getMatColorOffset__13J3DColorBlockCFv */
+bool J3DColorBlock::getMatColorOffset() const {
+ return false;
+}
+
+/* 8031746C-80317474 311DAC 0008+00 1/0 1/0 0/0 .text getColorChanOffset__13J3DColorBlockCFv */
+bool J3DColorBlock::getColorChanOffset() const {
+ return false;
+}
+
+/* 80317474-80317478 311DB4 0004+00 1/0 1/0 0/0 .text setMatColorOffset__13J3DColorBlockFUl */
+void J3DColorBlock::setMatColorOffset(u32 param_0) {
+ /* empty function */
+}
+
+/* 80317478-8031747C 311DB8 0004+00 1/0 1/0 0/0 .text setColorChanOffset__13J3DColorBlockFUl */
+void J3DColorBlock::setColorChanOffset(u32 param_0) {
+ /* empty function */
+}
diff --git a/libs/JSystem/J3DGraphBase/J3DShapeDraw.cpp b/libs/JSystem/J3DGraphBase/J3DShapeDraw.cpp
index 894f79dd85..a371507f05 100644
--- a/libs/JSystem/J3DGraphBase/J3DShapeDraw.cpp
+++ b/libs/JSystem/J3DGraphBase/J3DShapeDraw.cpp
@@ -7,7 +7,6 @@
#include "string.h"
#include "dolphin/gx.h"
#include "dolphin/os/OSCache.h"
-#include "dolphin/types.h"
#include "global.h"
//
diff --git a/libs/JSystem/J3DGraphBase/J3DShapeMtx.cpp b/libs/JSystem/J3DGraphBase/J3DShapeMtx.cpp
index d5c1405b65..828a738bd7 100644
--- a/libs/JSystem/J3DGraphBase/J3DShapeMtx.cpp
+++ b/libs/JSystem/J3DGraphBase/J3DShapeMtx.cpp
@@ -6,7 +6,6 @@
#include "JSystem/J3DGraphBase/J3DShapeMtx.h"
#include "JSystem/J3DGraphAnimator/J3DModel.h"
#include "JSystem/J3DGraphBase/J3DGD.h"
-#include "JSystem/J3DGraphBase/J3DMatBlock.h"
#include "dol2asm.h"
#include "dolphin/types.h"
diff --git a/libs/JSystem/J3DGraphBase/J3DStruct.cpp b/libs/JSystem/J3DGraphBase/J3DStruct.cpp
index b2d537934d..e1bc18315e 100644
--- a/libs/JSystem/J3DGraphBase/J3DStruct.cpp
+++ b/libs/JSystem/J3DGraphBase/J3DStruct.cpp
@@ -1,75 +1,75 @@
-//
-// J3DStruct
-//
-
-#include "JSystem/J3DGraphBase/J3DStruct.h"
-#include "JSystem/JMath/JMath.h"
-
-/* 803256C4-80325718 320004 0054+00 0/0 11/11 24/24 .text __as__12J3DLightInfoFRC12J3DLightInfo */
-J3DLightInfo& J3DLightInfo::operator=(J3DLightInfo const& param_0) {
- JMath::gekko_ps_copy6(&mLightPosition, &param_0.mLightPosition);
- mColor = param_0.mColor;
- JMath::gekko_ps_copy6(&mCosAtten, &param_0.mCosAtten);
- return *this;
-}
-
-/* 80325718-80325794 320058 007C+00 0/0 4/4 0/0 .text __as__13J3DTexMtxInfoFRC13J3DTexMtxInfo */
-J3DTexMtxInfo& J3DTexMtxInfo::operator=(J3DTexMtxInfo const& param_0) {
- mProjection = param_0.mProjection;
- mInfo = param_0.mInfo;
- JMath::gekko_ps_copy3(&mCenter, &param_0.mCenter);
- mSRT = param_0.mSRT;
- JMath::gekko_ps_copy16(&mEffectMtx, &param_0.mEffectMtx);
- return *this;
-}
-
-// Helper functions to set float literal order
-static f32 dummyLiteralOrder() {
- return 1.0f;
-}
-
-/* 80325794-803257DC 3200D4 0048+00 0/0 2/2 7/7 .text setEffectMtx__13J3DTexMtxInfoFPA4_f
- */
-void J3DTexMtxInfo::setEffectMtx(Mtx param_0) {
- JMath::gekko_ps_copy12(&mEffectMtx, param_0);
- register f32 zero = 0.0f;
- register f32* mtx = (f32*)mEffectMtx;
- asm {
- psq_st zero, 0x30(mtx), 0, 0
- };
- mEffectMtx[3][2] = 0.0f;
- mEffectMtx[3][3] = 1.0f;
-}
-
-/* 803257DC-80325800 32011C 0024+00 0/0 5/5 0/0 .text
- * __as__16J3DIndTexMtxInfoFRC16J3DIndTexMtxInfo */
-J3DIndTexMtxInfo& J3DIndTexMtxInfo::operator=(J3DIndTexMtxInfo const& param_0) {
- JMath::gekko_ps_copy6(field_0x0, param_0.field_0x0);
- field_0x18 = param_0.field_0x18;
- return *this;
-}
-
-/* 80325800-8032587C 320140 007C+00 0/0 6/6 0/0 .text __as__10J3DFogInfoFRC10J3DFogInfo
- */
-J3DFogInfo& J3DFogInfo::operator=(J3DFogInfo const& param_0) {
- field_0x0 = param_0.field_0x0;
- field_0x1 = param_0.field_0x1;
- field_0x2 = param_0.field_0x2;
- field_0x4 = param_0.field_0x4;
- field_0x8 = param_0.field_0x8;
- field_0xc = param_0.field_0xc;
- field_0x10 = param_0.field_0x10;
- field_0x14 = param_0.field_0x14;
- for (int i = 0; i < 10; i++) {
- field_0x18.fogVals[i] = param_0.field_0x18.fogVals[i];
- }
- return *this;
-}
-
-/* 8032587C-803258A0 3201BC 0024+00 0/0 6/6 0/0 .text __as__15J3DNBTScaleInfoFRC15J3DNBTScaleInfo
- */
-J3DNBTScaleInfo& J3DNBTScaleInfo::operator=(J3DNBTScaleInfo const& param_0) {
- mbHasScale = param_0.mbHasScale;
- mScale = param_0.mScale;
- return *this;
+//
+// J3DStruct
+//
+
+#include "JSystem/J3DGraphBase/J3DStruct.h"
+#include "JSystem/JMath/JMath.h"
+
+/* 803256C4-80325718 320004 0054+00 0/0 11/11 24/24 .text __as__12J3DLightInfoFRC12J3DLightInfo */
+J3DLightInfo& J3DLightInfo::operator=(J3DLightInfo const& param_0) {
+ JMath::gekko_ps_copy6(&mLightPosition, &param_0.mLightPosition);
+ mColor = param_0.mColor;
+ JMath::gekko_ps_copy6(&mCosAtten, &param_0.mCosAtten);
+ return *this;
+}
+
+/* 80325718-80325794 320058 007C+00 0/0 4/4 0/0 .text __as__13J3DTexMtxInfoFRC13J3DTexMtxInfo */
+J3DTexMtxInfo& J3DTexMtxInfo::operator=(J3DTexMtxInfo const& param_0) {
+ mProjection = param_0.mProjection;
+ mInfo = param_0.mInfo;
+ JMath::gekko_ps_copy3(&mCenter, &param_0.mCenter);
+ mSRT = param_0.mSRT;
+ JMath::gekko_ps_copy16(&mEffectMtx, &param_0.mEffectMtx);
+ return *this;
+}
+
+// Helper functions to set float literal order
+static f32 dummyLiteralOrder() {
+ return 1.0f;
+}
+
+/* 80325794-803257DC 3200D4 0048+00 0/0 2/2 7/7 .text setEffectMtx__13J3DTexMtxInfoFPA4_f
+ */
+void J3DTexMtxInfo::setEffectMtx(Mtx param_0) {
+ JMath::gekko_ps_copy12(&mEffectMtx, param_0);
+ register f32 zero = 0.0f;
+ register f32* mtx = (f32*)mEffectMtx;
+ asm {
+ psq_st zero, 0x30(mtx), 0, 0
+ };
+ mEffectMtx[3][2] = 0.0f;
+ mEffectMtx[3][3] = 1.0f;
+}
+
+/* 803257DC-80325800 32011C 0024+00 0/0 5/5 0/0 .text
+ * __as__16J3DIndTexMtxInfoFRC16J3DIndTexMtxInfo */
+J3DIndTexMtxInfo& J3DIndTexMtxInfo::operator=(J3DIndTexMtxInfo const& param_0) {
+ JMath::gekko_ps_copy6(field_0x0, param_0.field_0x0);
+ field_0x18 = param_0.field_0x18;
+ return *this;
+}
+
+/* 80325800-8032587C 320140 007C+00 0/0 6/6 0/0 .text __as__10J3DFogInfoFRC10J3DFogInfo
+ */
+J3DFogInfo& J3DFogInfo::operator=(J3DFogInfo const& param_0) {
+ field_0x0 = param_0.field_0x0;
+ field_0x1 = param_0.field_0x1;
+ field_0x2 = param_0.field_0x2;
+ field_0x4 = param_0.field_0x4;
+ field_0x8 = param_0.field_0x8;
+ field_0xc = param_0.field_0xc;
+ field_0x10 = param_0.field_0x10;
+ field_0x14 = param_0.field_0x14;
+ for (int i = 0; i < 10; i++) {
+ field_0x18.fogVals[i] = param_0.field_0x18.fogVals[i];
+ }
+ return *this;
+}
+
+/* 8032587C-803258A0 3201BC 0024+00 0/0 6/6 0/0 .text __as__15J3DNBTScaleInfoFRC15J3DNBTScaleInfo
+ */
+J3DNBTScaleInfo& J3DNBTScaleInfo::operator=(J3DNBTScaleInfo const& param_0) {
+ mbHasScale = param_0.mbHasScale;
+ mScale = param_0.mScale;
+ return *this;
} \ No newline at end of file
diff --git a/libs/JSystem/J3DGraphBase/J3DSys.cpp b/libs/JSystem/J3DGraphBase/J3DSys.cpp
index 3e7acef507..a813a1b7bb 100644
--- a/libs/JSystem/J3DGraphBase/J3DSys.cpp
+++ b/libs/JSystem/J3DGraphBase/J3DSys.cpp
@@ -1,402 +1,402 @@
-//
-// Generated By: dol2asm
-// Translation Unit: J3DSys
-//
-
-#include "JSystem/J3DGraphBase/J3DSys.h"
-
-#include "dol2asm.h"
-#include "dolphin/gx/GXPixel.h"
-#include "dolphin/os.h"
-#include "dolphin/types.h"
-#include "global.h"
-
-#include "JSystem/J3DGraphBase/J3DTevs.h"
-
-#include "JSystem/J3DGraphBase/J3DTexture.h"
-#include "JSystem/J3DGraphBase/J3DGD.h"
-
-//
-// Forward References:
-//
-
-extern void J3DFifoLoadTexCached(GXTexMapID, u32, GXTexCacheSize, u32, GXTexCacheSize);
-extern void makeTexCoordTable();
-extern void makeAlphaCmpTable();
-extern void makeZModeTable();
-extern void makeTevSwapTable();
-extern "C" void GXInvalidateVtxCache();
-
-extern "C" extern const GXColor j3dDefaultColInfo;
-extern "C" extern u8 data_804563C8;
-extern "C" extern const GXColorS10 j3dDefaultTevColor;
-extern "C" extern const GXColor j3dDefaultTevKColor;
-
-//
-// Declarations:
-//
-
-/* ############################################################################################## */
-/* 80434AC8-80434BE4 0617E8 011C+00 1/1 151/151 486/486 .bss j3dSys */
-J3DSys j3dSys;
-
-/* 80434BE4-80434C14 061904 0030+00 0/0 17/17 154/154 .bss mCurrentMtx__6J3DSys */
-Mtx J3DSys::mCurrentMtx;
-
-/* 80434C14-80434C20 061934 000C+00 0/0 6/6 0/0 .bss mCurrentS__6J3DSys */
-Vec J3DSys::mCurrentS;
-
-/* 80434C20-80434C2C 061940 000C+00 0/0 5/5 0/0 .bss mParentS__6J3DSys */
-Vec J3DSys::mParentS;
-
-/* 80434C2C-80434C70 06194C 0040+04 1/1 17/17 0/0 .bss sTexCoordScaleTable__6J3DSys */
-J3DTexCoordScaleInfo J3DSys::sTexCoordScaleTable[8];
-
-/* 8030FDE8-8030FEC0 30A728 00D8+00 1/1 0/0 0/0 .text __ct__6J3DSysFv */
-J3DSys::J3DSys() {
- makeTexCoordTable();
- makeTevSwapTable();
- makeAlphaCmpTable();
- makeZModeTable();
-
- mFlags = 0;
- MTXIdentity(mViewMtx);
- mDrawMode = 1;
- mMaterialMode = 0;
- mModel = NULL;
- mShape = NULL;
- for (u32 i = 0; i < ARRAY_SIZE(mDrawBuffer); i++)
- mDrawBuffer[i] = NULL;
- mTexture = NULL;
- mMatPacket = NULL;
- mShapePacket = NULL;
- mModelDrawMtx = NULL;
- mModelNrmMtx = NULL;
- mVtxPos = NULL;
- mVtxNrm = NULL;
- mVtxCol = NULL;
-
- for (u32 i = 0; i < 8; i++) {
- sTexCoordScaleTable[i].field_0x00 = 1;
- sTexCoordScaleTable[i].field_0x02 = 1;
- sTexCoordScaleTable[i].field_0x04 = 0;
- sTexCoordScaleTable[i].field_0x06 = 0;
- }
-}
-
-/* 8030FEC0-8030FEE4 30A800 0024+00 0/0 1/1 0/0 .text loadPosMtxIndx__6J3DSysCFiUs */
-void J3DSys::loadPosMtxIndx(int addr, u16 indx) const {
- J3DFifoLoadIndx(GX_CMD_LOAD_INDX_A, indx, 0xB000 | ((u16)(addr * 0x0C)));
-}
-
-/* 8030FEE4-8030FF0C 30A824 0028+00 0/0 1/1 0/0 .text loadNrmMtxIndx__6J3DSysCFiUs */
-void J3DSys::loadNrmMtxIndx(int addr, u16 indx) const {
- J3DFifoLoadIndx(GX_CMD_LOAD_INDX_B, indx, 0x8000 | ((u16)((addr * 0x09) + 0x400)));
-}
-
-/* 8030FF0C-803100BC 30A84C 01B0+00 1/1 0/0 0/0 .text setTexCacheRegion__6J3DSysF15_GXTexCacheSize
- */
-void J3DSys::setTexCacheRegion(GXTexCacheSize size) {
- const u32 kSize[] = {
- 0x00008000,
- 0x00020000,
- 0x00080000,
- 0x00000000,
- };
- const u32 kRegionNum[] = {8, 4, 1, 0};
-
- u32 regionNum = kRegionNum[size];
- mTexCacheRegionNum = regionNum;
-
- if (!!(mFlags & 0x80000000)) {
- for (u32 i = 0; i < regionNum; i++) {
- if (!!(i & 1)) {
- GXInitTexCacheRegion(&mTexCacheRegion[i], GX_FALSE, i * kSize[size] + 0x80000, size,
- i * kSize[size], size);
- J3DFifoLoadTexCached((GXTexMapID)i, i * kSize[size] + 0x80000, size,
- i * kSize[size], size);
- } else {
- GXInitTexCacheRegion(&mTexCacheRegion[i], GX_FALSE, i * kSize[size], size,
- i * kSize[size] + 0x80000, size);
- J3DFifoLoadTexCached((GXTexMapID)i, i * kSize[size], size,
- i * kSize[size] + 0x80000, size);
- }
- }
- } else {
- for (u32 i = 0; i < regionNum; i++) {
- GXInitTexCacheRegion(&mTexCacheRegion[i], GX_FALSE, i * kSize[size], size,
- i * kSize[size] + 0x80000, size);
- J3DFifoLoadTexCached((GXTexMapID)i, i * kSize[size], size, i * kSize[size] + 0x80000,
- size);
- }
- }
-}
-
-/* 803CD8A0-803CD8B0 02A9C0 0010+00 1/1 0/0 0/0 .data NullTexData */
-SECTION_DATA static u8 NullTexData[16] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-
-/* 803CD8B0-803CD8E0 02A9D0 0030+00 1/1 0/0 0/0 .data j3dIdentityMtx */
-SECTION_DATA static Mtx j3dIdentityMtx = {
- 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f,
-};
-
-/* 803100BC-8031073C 30A9FC 0680+00 0/0 3/3 0/0 .text drawInit__6J3DSysFv */
-void J3DSys::drawInit() {
- GXInvalidateVtxCache();
- GXSetCurrentMtx(GX_PNMTX0);
- GXSetCullMode(GX_CULL_BACK);
- GXSetCoPlanar(GX_FALSE);
- GXSetClipMode(GX_CLIP_ENABLE);
- GXSetColorUpdate(GX_TRUE);
- GXSetDither(GX_TRUE);
- GXSetBlendMode(GX_BM_BLEND, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_NOOP);
- GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_AND, GX_ALWAYS, 0);
- GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE);
- GXSetZCompLoc(GX_TRUE);
- GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
- GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_F32, 0);
- GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
- GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR1, GX_CLR_RGBA, GX_RGBA8, 0);
- GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_CLR_RGBA, GX_RGBA4, 7);
- GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX1, GX_CLR_RGBA, GX_RGBA4, 7);
- GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX2, GX_CLR_RGBA, GX_RGBA4, 7);
- GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX3, GX_CLR_RGBA, GX_RGBA4, 7);
- GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX4, GX_CLR_RGBA, GX_RGBA4, 7);
- GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX5, GX_CLR_RGBA, GX_RGBA4, 7);
- GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX6, GX_CLR_RGBA, GX_RGBA4, 7);
- GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX7, GX_CLR_RGBA, GX_RGBA4, 7);
-
- GXSetNumIndStages(0);
- reinitTexture();
-
- GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
- GXSetTevOrder(GX_TEVSTAGE1, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
- GXSetTevOrder(GX_TEVSTAGE2, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
- GXSetTevOrder(GX_TEVSTAGE3, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
- GXSetTevOrder(GX_TEVSTAGE4, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
- GXSetTevOrder(GX_TEVSTAGE5, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
- GXSetTevOrder(GX_TEVSTAGE6, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
- GXSetTevOrder(GX_TEVSTAGE7, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
- GXSetTevOrder(GX_TEVSTAGE8, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
- GXSetTevOrder(GX_TEVSTAGE9, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
- GXSetTevOrder(GX_TEVSTAGE10, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
- GXSetTevOrder(GX_TEVSTAGE11, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
- GXSetTevOrder(GX_TEVSTAGE12, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
- GXSetTevOrder(GX_TEVSTAGE13, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
- GXSetTevOrder(GX_TEVSTAGE14, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
- GXSetTevOrder(GX_TEVSTAGE15, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
-
- for (u32 i = 0; i < 10; i++)
- GXLoadTexMtxImm(j3dIdentityMtx, GX_TEXMTX0 + i * 3, GX_MTX3x4);
-
- Mtx23 indTexMtx = {
- {0.5f, 0.0f, 0.0f},
- {0.0f, 0.5f, 0.0f},
- };
-
- u8 i;
- for (i = 0; i < 3; i++)
- GXSetIndTexMtx((GXIndTexMtxID)(GX_ITM_0 + i), (f32*)indTexMtx, 1);
-
- GXSetChanMatColor(GX_COLOR0A0, j3dDefaultColInfo);
- GXSetChanMatColor(GX_COLOR1A1, j3dDefaultColInfo);
-
- GXSetNumChans(data_804563C8);
- GXSetNumTexGens(1);
- GXSetNumTevStages(1);
- GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_REG, 0, GX_DF_CLAMP, GX_AF_NONE);
- GXSetChanCtrl(GX_COLOR1A1, GX_FALSE, GX_SRC_REG, GX_SRC_REG, 0, GX_DF_CLAMP, GX_AF_NONE);
-
- for (i = 0; i < GX_MAX_TEXMAP; i++)
- GXSetTexCoordGen2((GXTexCoordID)i, (GXTexGenType)j3dDefaultTexCoordInfo[i].mTexGenType,
- (GXTexGenSrc)j3dDefaultTexCoordInfo[i].mTexGenSrc,
- j3dDefaultTexCoordInfo[i].mTexGenMtx, GX_FALSE, GX_PTIDENTITY);
-
- for (i = 0; i < GX_MAX_INDTEXSTAGE; i++)
- GXSetIndTexCoordScale((GXIndTexStageID)i, GX_ITS_1, GX_ITS_1);
-
- for (i = 0; i < GX_MAX_TEVREG; i++)
- GXSetTevKColor((GXTevKColorID)i, j3dDefaultTevKColor);
-
- for (i = 0; i < GX_MAX_TEVREG; i++)
- GXSetTevColorS10((GXTevRegID)i, j3dDefaultTevColor);
-
- for (i = 0; i < GX_MAX_TEVSTAGE; i++) {
- GXSetTevColorIn((GXTevStageID)i, GX_CC_RASC, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO);
- GXSetTevColorOp((GXTevStageID)i, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE,
- GX_TEVPREV);
- GXSetTevAlphaIn((GXTevStageID)i, GX_CA_RASA, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO);
- GXSetTevAlphaOp((GXTevStageID)i, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE,
- GX_TEVPREV);
- }
-
- for (i = 0; i < GX_MAX_TEVSTAGE; i++)
- GXSetTevSwapMode((GXTevStageID)i, GX_TEV_SWAP0, GX_TEV_SWAP0);
-
- GXSetTevSwapModeTable(GX_TEV_SWAP0, GX_CH_RED, GX_CH_GREEN, GX_CH_BLUE, GX_CH_ALPHA);
- GXSetTevSwapModeTable(GX_TEV_SWAP1, GX_CH_RED, GX_CH_RED, GX_CH_RED, GX_CH_ALPHA);
- GXSetTevSwapModeTable(GX_TEV_SWAP2, GX_CH_GREEN, GX_CH_GREEN, GX_CH_GREEN, GX_CH_ALPHA);
- GXSetTevSwapModeTable(GX_TEV_SWAP3, GX_CH_BLUE, GX_CH_BLUE, GX_CH_BLUE, GX_CH_ALPHA);
-
- for (i = 0; i < GX_MAX_TEVSTAGE; i++)
- GXSetTevIndirect((GXTevStageID)i, GX_INDTEXSTAGE0, GX_ITF_8, GX_ITB_NONE, GX_ITM_OFF,
- GX_ITW_OFF, GX_ITW_OFF, GX_FALSE, GX_FALSE, GX_ITBA_OFF);
-
- OSInitFastCast();
- setTexCacheRegion(GX_TEXCACHE_32K);
-}
-
-/* 8031073C-8031079C 30B07C 0060+00 0/0 16/16 6/6 .text reinitGX__6J3DSysFv */
-void J3DSys::reinitGX() {
- reinitGenMode();
- reinitLighting();
- reinitTransform();
- reinitTexture();
- reinitTevStages();
- reinitIndStages();
- reinitPixelProc();
- GXFlush();
-}
-
-/* 8031079C-803107E8 30B0DC 004C+00 1/1 0/0 0/0 .text reinitGenMode__6J3DSysFv */
-void J3DSys::reinitGenMode() {
- GXSetNumChans(0);
- GXSetNumTexGens(1);
- GXSetNumTevStages(1);
- GXSetNumIndStages(0);
- GXSetCullMode(GX_CULL_BACK);
- GXSetCoPlanar(GX_FALSE);
-}
-
-/* ############################################################################################## */
-/* 80450950-80450954 0003D0 0004+00 2/2 0/0 0/0 .sdata ColorBlack */
-SECTION_SDATA static GXColor ColorBlack = {0x00, 0x00, 0x00, 0x00};
-
-/* 80450954-80450958 0003D4 0004+00 2/2 0/0 0/0 .sdata ColorWhite */
-SECTION_SDATA static GXColor ColorWhite = {0xFF, 0xFF, 0xFF, 0xFF};
-
-/* 803107E8-80310894 30B128 00AC+00 1/1 0/0 0/0 .text reinitLighting__6J3DSysFv */
-void J3DSys::reinitLighting() {
- GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, GX_LIGHT_NULL, GX_DF_NONE,
- GX_AF_NONE);
- GXSetChanCtrl(GX_COLOR1A1, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, GX_LIGHT_NULL, GX_DF_NONE,
- GX_AF_NONE);
- GXSetChanAmbColor(GX_COLOR0A0, ColorBlack);
- GXSetChanAmbColor(GX_COLOR1A1, ColorBlack);
- GXSetChanMatColor(GX_COLOR0A0, ColorWhite);
- GXSetChanMatColor(GX_COLOR1A1, ColorWhite);
-}
-
-/* 80310894-80310998 30B1D4 0104+00 1/1 0/0 0/0 .text reinitTransform__6J3DSysFv */
-void J3DSys::reinitTransform() {
- GXSetCurrentMtx(GX_PNMTX0);
- GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, GX_IDENTITY, GX_FALSE, GX_PTIDENTITY);
- GXSetTexCoordGen2(GX_TEXCOORD1, GX_TG_MTX2x4, GX_TG_TEX1, GX_IDENTITY, GX_FALSE, GX_PTIDENTITY);
- GXSetTexCoordGen2(GX_TEXCOORD2, GX_TG_MTX2x4, GX_TG_TEX2, GX_IDENTITY, GX_FALSE, GX_PTIDENTITY);
- GXSetTexCoordGen2(GX_TEXCOORD3, GX_TG_MTX2x4, GX_TG_TEX3, GX_IDENTITY, GX_FALSE, GX_PTIDENTITY);
- GXSetTexCoordGen2(GX_TEXCOORD4, GX_TG_MTX2x4, GX_TG_TEX4, GX_IDENTITY, GX_FALSE, GX_PTIDENTITY);
- GXSetTexCoordGen2(GX_TEXCOORD5, GX_TG_MTX2x4, GX_TG_TEX5, GX_IDENTITY, GX_FALSE, GX_PTIDENTITY);
- GXSetTexCoordGen2(GX_TEXCOORD6, GX_TG_MTX2x4, GX_TG_TEX6, GX_IDENTITY, GX_FALSE, GX_PTIDENTITY);
- GXSetTexCoordGen2(GX_TEXCOORD7, GX_TG_MTX2x4, GX_TG_TEX7, GX_IDENTITY, GX_FALSE, GX_PTIDENTITY);
-}
-
-/* 80310998-80310A3C 30B2D8 00A4+00 2/2 0/0 0/0 .text reinitTexture__6J3DSysFv */
-void J3DSys::reinitTexture() {
- GXTexObj texObj;
- GXInitTexObj(&texObj, NullTexData, 4, 4, GX_TF_IA8, GX_CLAMP, GX_CLAMP, GX_FALSE);
- GXLoadTexObj(&texObj, GX_TEXMAP0);
- GXLoadTexObj(&texObj, GX_TEXMAP1);
- GXLoadTexObj(&texObj, GX_TEXMAP2);
- GXLoadTexObj(&texObj, GX_TEXMAP3);
- GXLoadTexObj(&texObj, GX_TEXMAP4);
- GXLoadTexObj(&texObj, GX_TEXMAP5);
- GXLoadTexObj(&texObj, GX_TEXMAP6);
- GXLoadTexObj(&texObj, GX_TEXMAP7);
-}
-
-/* 80310A3C-80310D44 30B37C 0308+00 1/1 0/0 0/0 .text reinitTevStages__6J3DSysFv */
-void J3DSys::reinitTevStages() {
- GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
- GXSetTevOrder(GX_TEVSTAGE1, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
- GXSetTevOrder(GX_TEVSTAGE2, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
- GXSetTevOrder(GX_TEVSTAGE3, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
- GXSetTevOrder(GX_TEVSTAGE4, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
- GXSetTevOrder(GX_TEVSTAGE5, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
- GXSetTevOrder(GX_TEVSTAGE6, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
- GXSetTevOrder(GX_TEVSTAGE7, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
- GXSetTevOrder(GX_TEVSTAGE8, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
- GXSetTevOrder(GX_TEVSTAGE9, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
- GXSetTevOrder(GX_TEVSTAGE10, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
- GXSetTevOrder(GX_TEVSTAGE11, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
- GXSetTevOrder(GX_TEVSTAGE12, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
- GXSetTevOrder(GX_TEVSTAGE13, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
- GXSetTevOrder(GX_TEVSTAGE14, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
- GXSetTevOrder(GX_TEVSTAGE15, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
-
- GXSetTevColor(GX_TEVREG0, ColorWhite);
- GXSetTevColor(GX_TEVREG1, ColorWhite);
- GXSetTevColor(GX_TEVREG2, ColorWhite);
- GXSetTevKColor(GX_KCOLOR0, ColorWhite);
- GXSetTevKColor(GX_KCOLOR1, ColorWhite);
- GXSetTevKColor(GX_KCOLOR2, ColorWhite);
- GXSetTevKColor(GX_KCOLOR3, ColorWhite);
-
- for (u32 i = 0; i < GX_MAX_TEVSTAGE; i++) {
- GXSetTevColorIn((GXTevStageID)i, GX_CC_RASC, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO);
- GXSetTevColorOp((GXTevStageID)i, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE,
- GX_TEVPREV);
- GXSetTevAlphaIn((GXTevStageID)i, GX_CA_RASA, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO);
- GXSetTevAlphaOp((GXTevStageID)i, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE,
- GX_TEVPREV);
- GXSetTevKColorSel((GXTevStageID)i, GX_TEV_KCSEL_1_4);
- GXSetTevKAlphaSel((GXTevStageID)i, GX_TEV_KASEL_1);
- GXSetTevSwapMode((GXTevStageID)i, GX_TEV_SWAP0, GX_TEV_SWAP0);
- }
-
- GXSetTevSwapModeTable(GX_TEV_SWAP0, GX_CH_RED, GX_CH_GREEN, GX_CH_BLUE, GX_CH_ALPHA);
- GXSetTevSwapModeTable(GX_TEV_SWAP1, GX_CH_RED, GX_CH_RED, GX_CH_RED, GX_CH_ALPHA);
- GXSetTevSwapModeTable(GX_TEV_SWAP2, GX_CH_GREEN, GX_CH_GREEN, GX_CH_GREEN, GX_CH_ALPHA);
- GXSetTevSwapModeTable(GX_TEV_SWAP3, GX_CH_BLUE, GX_CH_BLUE, GX_CH_BLUE, GX_CH_ALPHA);
- GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_AND, GX_ALWAYS, 0);
-}
-
-/* ############################################################################################## */
-/* 803CD8E0-803CD8F8 02AA00 0018+00 1/1 0/0 0/0 .data IndMtx */
-SECTION_DATA static Mtx23 IndMtx = {0.5f, 0.0f, 0.0f, 0.0f, 0.5f, 0.0f};
-
-/* 80310D44-80310E3C 30B684 00F8+00 1/1 0/0 0/0 .text reinitIndStages__6J3DSysFv */
-void J3DSys::reinitIndStages() {
- for (u32 i = 0; i < GX_MAX_TEVSTAGE; i++) {
- GXSetTevDirect((GXTevStageID)i);
- }
-
- GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD0, GX_TEXMAP0);
- GXSetIndTexOrder(GX_INDTEXSTAGE1, GX_TEXCOORD1, GX_TEXMAP1);
- GXSetIndTexOrder(GX_INDTEXSTAGE2, GX_TEXCOORD2, GX_TEXMAP2);
- GXSetIndTexOrder(GX_INDTEXSTAGE3, GX_TEXCOORD3, GX_TEXMAP3);
- GXSetIndTexCoordScale(GX_INDTEXSTAGE0, GX_ITS_1, GX_ITS_1);
- GXSetIndTexCoordScale(GX_INDTEXSTAGE1, GX_ITS_1, GX_ITS_1);
- GXSetIndTexCoordScale(GX_INDTEXSTAGE2, GX_ITS_1, GX_ITS_1);
- GXSetIndTexCoordScale(GX_INDTEXSTAGE3, GX_ITS_1, GX_ITS_1);
- GXSetIndTexMtx(GX_ITM_0, (f32*)IndMtx, 1);
- GXSetIndTexMtx(GX_ITM_1, (f32*)IndMtx, 1);
- GXSetIndTexMtx(GX_ITM_2, (f32*)IndMtx, 1);
-}
-
-/* 80310E3C-80310ED0 30B77C 0094+00 1/1 0/0 0/0 .text reinitPixelProc__6J3DSysFv */
-void J3DSys::reinitPixelProc() {
- GXSetBlendMode(GX_BM_NONE, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_CLEAR);
- GXSetColorUpdate(GX_TRUE);
- GXSetAlphaUpdate(GX_FALSE);
- GXSetDither(GX_TRUE);
- GXSetFog(GX_FOG_NONE, 0.0f, 1.0f, 0.1f, 1.0f, ColorBlack);
- GXSetFogRangeAdj(GX_FALSE, 0, NULL);
- GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE);
- GXSetZCompLoc(GX_TRUE);
-}
-
-/* ############################################################################################## */
-/* 80451598-804515A0 000A98 0004+04 0/0 1/1 0/0 .sbss j3dDefaultViewNo */
-u32 j3dDefaultViewNo;
+//
+// Generated By: dol2asm
+// Translation Unit: J3DSys
+//
+
+#include "JSystem/J3DGraphBase/J3DSys.h"
+
+#include "dol2asm.h"
+#include "dolphin/gx/GXPixel.h"
+#include "dolphin/os.h"
+#include "dolphin/types.h"
+#include "global.h"
+
+#include "JSystem/J3DGraphBase/J3DTevs.h"
+
+#include "JSystem/J3DGraphBase/J3DTexture.h"
+#include "JSystem/J3DGraphBase/J3DGD.h"
+
+//
+// Forward References:
+//
+
+extern void J3DFifoLoadTexCached(GXTexMapID, u32, GXTexCacheSize, u32, GXTexCacheSize);
+extern void makeTexCoordTable();
+extern void makeAlphaCmpTable();
+extern void makeZModeTable();
+extern void makeTevSwapTable();
+extern "C" void GXInvalidateVtxCache();
+
+extern "C" extern const GXColor j3dDefaultColInfo;
+extern "C" extern u8 data_804563C8;
+extern "C" extern const GXColorS10 j3dDefaultTevColor;
+extern "C" extern const GXColor j3dDefaultTevKColor;
+
+//
+// Declarations:
+//
+
+/* ############################################################################################## */
+/* 80434AC8-80434BE4 0617E8 011C+00 1/1 151/151 486/486 .bss j3dSys */
+J3DSys j3dSys;
+
+/* 80434BE4-80434C14 061904 0030+00 0/0 17/17 154/154 .bss mCurrentMtx__6J3DSys */
+Mtx J3DSys::mCurrentMtx;
+
+/* 80434C14-80434C20 061934 000C+00 0/0 6/6 0/0 .bss mCurrentS__6J3DSys */
+Vec J3DSys::mCurrentS;
+
+/* 80434C20-80434C2C 061940 000C+00 0/0 5/5 0/0 .bss mParentS__6J3DSys */
+Vec J3DSys::mParentS;
+
+/* 80434C2C-80434C70 06194C 0040+04 1/1 17/17 0/0 .bss sTexCoordScaleTable__6J3DSys */
+J3DTexCoordScaleInfo J3DSys::sTexCoordScaleTable[8];
+
+/* 8030FDE8-8030FEC0 30A728 00D8+00 1/1 0/0 0/0 .text __ct__6J3DSysFv */
+J3DSys::J3DSys() {
+ makeTexCoordTable();
+ makeTevSwapTable();
+ makeAlphaCmpTable();
+ makeZModeTable();
+
+ mFlags = 0;
+ MTXIdentity(mViewMtx);
+ mDrawMode = 1;
+ mMaterialMode = 0;
+ mModel = NULL;
+ mShape = NULL;
+ for (u32 i = 0; i < ARRAY_SIZE(mDrawBuffer); i++)
+ mDrawBuffer[i] = NULL;
+ mTexture = NULL;
+ mMatPacket = NULL;
+ mShapePacket = NULL;
+ mModelDrawMtx = NULL;
+ mModelNrmMtx = NULL;
+ mVtxPos = NULL;
+ mVtxNrm = NULL;
+ mVtxCol = NULL;
+
+ for (u32 i = 0; i < 8; i++) {
+ sTexCoordScaleTable[i].field_0x00 = 1;
+ sTexCoordScaleTable[i].field_0x02 = 1;
+ sTexCoordScaleTable[i].field_0x04 = 0;
+ sTexCoordScaleTable[i].field_0x06 = 0;
+ }
+}
+
+/* 8030FEC0-8030FEE4 30A800 0024+00 0/0 1/1 0/0 .text loadPosMtxIndx__6J3DSysCFiUs */
+void J3DSys::loadPosMtxIndx(int addr, u16 indx) const {
+ J3DFifoLoadIndx(GX_CMD_LOAD_INDX_A, indx, 0xB000 | ((u16)(addr * 0x0C)));
+}
+
+/* 8030FEE4-8030FF0C 30A824 0028+00 0/0 1/1 0/0 .text loadNrmMtxIndx__6J3DSysCFiUs */
+void J3DSys::loadNrmMtxIndx(int addr, u16 indx) const {
+ J3DFifoLoadIndx(GX_CMD_LOAD_INDX_B, indx, 0x8000 | ((u16)((addr * 0x09) + 0x400)));
+}
+
+/* 8030FF0C-803100BC 30A84C 01B0+00 1/1 0/0 0/0 .text setTexCacheRegion__6J3DSysF15_GXTexCacheSize
+ */
+void J3DSys::setTexCacheRegion(GXTexCacheSize size) {
+ const u32 kSize[] = {
+ 0x00008000,
+ 0x00020000,
+ 0x00080000,
+ 0x00000000,
+ };
+ const u32 kRegionNum[] = {8, 4, 1, 0};
+
+ u32 regionNum = kRegionNum[size];
+ mTexCacheRegionNum = regionNum;
+
+ if (!!(mFlags & 0x80000000)) {
+ for (u32 i = 0; i < regionNum; i++) {
+ if (!!(i & 1)) {
+ GXInitTexCacheRegion(&mTexCacheRegion[i], GX_FALSE, i * kSize[size] + 0x80000, size,
+ i * kSize[size], size);
+ J3DFifoLoadTexCached((GXTexMapID)i, i * kSize[size] + 0x80000, size,
+ i * kSize[size], size);
+ } else {
+ GXInitTexCacheRegion(&mTexCacheRegion[i], GX_FALSE, i * kSize[size], size,
+ i * kSize[size] + 0x80000, size);
+ J3DFifoLoadTexCached((GXTexMapID)i, i * kSize[size], size,
+ i * kSize[size] + 0x80000, size);
+ }
+ }
+ } else {
+ for (u32 i = 0; i < regionNum; i++) {
+ GXInitTexCacheRegion(&mTexCacheRegion[i], GX_FALSE, i * kSize[size], size,
+ i * kSize[size] + 0x80000, size);
+ J3DFifoLoadTexCached((GXTexMapID)i, i * kSize[size], size, i * kSize[size] + 0x80000,
+ size);
+ }
+ }
+}
+
+/* 803CD8A0-803CD8B0 02A9C0 0010+00 1/1 0/0 0/0 .data NullTexData */
+SECTION_DATA static u8 NullTexData[16] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+
+/* 803CD8B0-803CD8E0 02A9D0 0030+00 1/1 0/0 0/0 .data j3dIdentityMtx */
+SECTION_DATA static Mtx j3dIdentityMtx = {
+ 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f,
+};
+
+/* 803100BC-8031073C 30A9FC 0680+00 0/0 3/3 0/0 .text drawInit__6J3DSysFv */
+void J3DSys::drawInit() {
+ GXInvalidateVtxCache();
+ GXSetCurrentMtx(GX_PNMTX0);
+ GXSetCullMode(GX_CULL_BACK);
+ GXSetCoPlanar(GX_FALSE);
+ GXSetClipMode(GX_CLIP_ENABLE);
+ GXSetColorUpdate(GX_TRUE);
+ GXSetDither(GX_TRUE);
+ GXSetBlendMode(GX_BM_BLEND, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_NOOP);
+ GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_AND, GX_ALWAYS, 0);
+ GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE);
+ GXSetZCompLoc(GX_TRUE);
+ GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
+ GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_F32, 0);
+ GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
+ GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR1, GX_CLR_RGBA, GX_RGBA8, 0);
+ GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_CLR_RGBA, GX_RGBA4, 7);
+ GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX1, GX_CLR_RGBA, GX_RGBA4, 7);
+ GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX2, GX_CLR_RGBA, GX_RGBA4, 7);
+ GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX3, GX_CLR_RGBA, GX_RGBA4, 7);
+ GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX4, GX_CLR_RGBA, GX_RGBA4, 7);
+ GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX5, GX_CLR_RGBA, GX_RGBA4, 7);
+ GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX6, GX_CLR_RGBA, GX_RGBA4, 7);
+ GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX7, GX_CLR_RGBA, GX_RGBA4, 7);
+
+ GXSetNumIndStages(0);
+ reinitTexture();
+
+ GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
+ GXSetTevOrder(GX_TEVSTAGE1, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
+ GXSetTevOrder(GX_TEVSTAGE2, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
+ GXSetTevOrder(GX_TEVSTAGE3, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
+ GXSetTevOrder(GX_TEVSTAGE4, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
+ GXSetTevOrder(GX_TEVSTAGE5, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
+ GXSetTevOrder(GX_TEVSTAGE6, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
+ GXSetTevOrder(GX_TEVSTAGE7, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
+ GXSetTevOrder(GX_TEVSTAGE8, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
+ GXSetTevOrder(GX_TEVSTAGE9, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
+ GXSetTevOrder(GX_TEVSTAGE10, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
+ GXSetTevOrder(GX_TEVSTAGE11, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
+ GXSetTevOrder(GX_TEVSTAGE12, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
+ GXSetTevOrder(GX_TEVSTAGE13, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
+ GXSetTevOrder(GX_TEVSTAGE14, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
+ GXSetTevOrder(GX_TEVSTAGE15, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
+
+ for (u32 i = 0; i < 10; i++)
+ GXLoadTexMtxImm(j3dIdentityMtx, GX_TEXMTX0 + i * 3, GX_MTX3x4);
+
+ Mtx23 indTexMtx = {
+ {0.5f, 0.0f, 0.0f},
+ {0.0f, 0.5f, 0.0f},
+ };
+
+ u8 i;
+ for (i = 0; i < 3; i++)
+ GXSetIndTexMtx((GXIndTexMtxID)(GX_ITM_0 + i), (f32*)indTexMtx, 1);
+
+ GXSetChanMatColor(GX_COLOR0A0, j3dDefaultColInfo);
+ GXSetChanMatColor(GX_COLOR1A1, j3dDefaultColInfo);
+
+ GXSetNumChans(data_804563C8);
+ GXSetNumTexGens(1);
+ GXSetNumTevStages(1);
+ GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_REG, 0, GX_DF_CLAMP, GX_AF_NONE);
+ GXSetChanCtrl(GX_COLOR1A1, GX_FALSE, GX_SRC_REG, GX_SRC_REG, 0, GX_DF_CLAMP, GX_AF_NONE);
+
+ for (i = 0; i < GX_MAX_TEXMAP; i++)
+ GXSetTexCoordGen2((GXTexCoordID)i, (GXTexGenType)j3dDefaultTexCoordInfo[i].mTexGenType,
+ (GXTexGenSrc)j3dDefaultTexCoordInfo[i].mTexGenSrc,
+ j3dDefaultTexCoordInfo[i].mTexGenMtx, GX_FALSE, GX_PTIDENTITY);
+
+ for (i = 0; i < GX_MAX_INDTEXSTAGE; i++)
+ GXSetIndTexCoordScale((GXIndTexStageID)i, GX_ITS_1, GX_ITS_1);
+
+ for (i = 0; i < GX_MAX_TEVREG; i++)
+ GXSetTevKColor((GXTevKColorID)i, j3dDefaultTevKColor);
+
+ for (i = 0; i < GX_MAX_TEVREG; i++)
+ GXSetTevColorS10((GXTevRegID)i, j3dDefaultTevColor);
+
+ for (i = 0; i < GX_MAX_TEVSTAGE; i++) {
+ GXSetTevColorIn((GXTevStageID)i, GX_CC_RASC, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO);
+ GXSetTevColorOp((GXTevStageID)i, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE,
+ GX_TEVPREV);
+ GXSetTevAlphaIn((GXTevStageID)i, GX_CA_RASA, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO);
+ GXSetTevAlphaOp((GXTevStageID)i, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE,
+ GX_TEVPREV);
+ }
+
+ for (i = 0; i < GX_MAX_TEVSTAGE; i++)
+ GXSetTevSwapMode((GXTevStageID)i, GX_TEV_SWAP0, GX_TEV_SWAP0);
+
+ GXSetTevSwapModeTable(GX_TEV_SWAP0, GX_CH_RED, GX_CH_GREEN, GX_CH_BLUE, GX_CH_ALPHA);
+ GXSetTevSwapModeTable(GX_TEV_SWAP1, GX_CH_RED, GX_CH_RED, GX_CH_RED, GX_CH_ALPHA);
+ GXSetTevSwapModeTable(GX_TEV_SWAP2, GX_CH_GREEN, GX_CH_GREEN, GX_CH_GREEN, GX_CH_ALPHA);
+ GXSetTevSwapModeTable(GX_TEV_SWAP3, GX_CH_BLUE, GX_CH_BLUE, GX_CH_BLUE, GX_CH_ALPHA);
+
+ for (i = 0; i < GX_MAX_TEVSTAGE; i++)
+ GXSetTevIndirect((GXTevStageID)i, GX_INDTEXSTAGE0, GX_ITF_8, GX_ITB_NONE, GX_ITM_OFF,
+ GX_ITW_OFF, GX_ITW_OFF, GX_FALSE, GX_FALSE, GX_ITBA_OFF);
+
+ OSInitFastCast();
+ setTexCacheRegion(GX_TEXCACHE_32K);
+}
+
+/* 8031073C-8031079C 30B07C 0060+00 0/0 16/16 6/6 .text reinitGX__6J3DSysFv */
+void J3DSys::reinitGX() {
+ reinitGenMode();
+ reinitLighting();
+ reinitTransform();
+ reinitTexture();
+ reinitTevStages();
+ reinitIndStages();
+ reinitPixelProc();
+ GXFlush();
+}
+
+/* 8031079C-803107E8 30B0DC 004C+00 1/1 0/0 0/0 .text reinitGenMode__6J3DSysFv */
+void J3DSys::reinitGenMode() {
+ GXSetNumChans(0);
+ GXSetNumTexGens(1);
+ GXSetNumTevStages(1);
+ GXSetNumIndStages(0);
+ GXSetCullMode(GX_CULL_BACK);
+ GXSetCoPlanar(GX_FALSE);
+}
+
+/* ############################################################################################## */
+/* 80450950-80450954 0003D0 0004+00 2/2 0/0 0/0 .sdata ColorBlack */
+SECTION_SDATA static GXColor ColorBlack = {0x00, 0x00, 0x00, 0x00};
+
+/* 80450954-80450958 0003D4 0004+00 2/2 0/0 0/0 .sdata ColorWhite */
+SECTION_SDATA static GXColor ColorWhite = {0xFF, 0xFF, 0xFF, 0xFF};
+
+/* 803107E8-80310894 30B128 00AC+00 1/1 0/0 0/0 .text reinitLighting__6J3DSysFv */
+void J3DSys::reinitLighting() {
+ GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, GX_LIGHT_NULL, GX_DF_NONE,
+ GX_AF_NONE);
+ GXSetChanCtrl(GX_COLOR1A1, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, GX_LIGHT_NULL, GX_DF_NONE,
+ GX_AF_NONE);
+ GXSetChanAmbColor(GX_COLOR0A0, ColorBlack);
+ GXSetChanAmbColor(GX_COLOR1A1, ColorBlack);
+ GXSetChanMatColor(GX_COLOR0A0, ColorWhite);
+ GXSetChanMatColor(GX_COLOR1A1, ColorWhite);
+}
+
+/* 80310894-80310998 30B1D4 0104+00 1/1 0/0 0/0 .text reinitTransform__6J3DSysFv */
+void J3DSys::reinitTransform() {
+ GXSetCurrentMtx(GX_PNMTX0);
+ GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, GX_IDENTITY, GX_FALSE, GX_PTIDENTITY);
+ GXSetTexCoordGen2(GX_TEXCOORD1, GX_TG_MTX2x4, GX_TG_TEX1, GX_IDENTITY, GX_FALSE, GX_PTIDENTITY);
+ GXSetTexCoordGen2(GX_TEXCOORD2, GX_TG_MTX2x4, GX_TG_TEX2, GX_IDENTITY, GX_FALSE, GX_PTIDENTITY);
+ GXSetTexCoordGen2(GX_TEXCOORD3, GX_TG_MTX2x4, GX_TG_TEX3, GX_IDENTITY, GX_FALSE, GX_PTIDENTITY);
+ GXSetTexCoordGen2(GX_TEXCOORD4, GX_TG_MTX2x4, GX_TG_TEX4, GX_IDENTITY, GX_FALSE, GX_PTIDENTITY);
+ GXSetTexCoordGen2(GX_TEXCOORD5, GX_TG_MTX2x4, GX_TG_TEX5, GX_IDENTITY, GX_FALSE, GX_PTIDENTITY);
+ GXSetTexCoordGen2(GX_TEXCOORD6, GX_TG_MTX2x4, GX_TG_TEX6, GX_IDENTITY, GX_FALSE, GX_PTIDENTITY);
+ GXSetTexCoordGen2(GX_TEXCOORD7, GX_TG_MTX2x4, GX_TG_TEX7, GX_IDENTITY, GX_FALSE, GX_PTIDENTITY);
+}
+
+/* 80310998-80310A3C 30B2D8 00A4+00 2/2 0/0 0/0 .text reinitTexture__6J3DSysFv */
+void J3DSys::reinitTexture() {
+ GXTexObj texObj;
+ GXInitTexObj(&texObj, NullTexData, 4, 4, GX_TF_IA8, GX_CLAMP, GX_CLAMP, GX_FALSE);
+ GXLoadTexObj(&texObj, GX_TEXMAP0);
+ GXLoadTexObj(&texObj, GX_TEXMAP1);
+ GXLoadTexObj(&texObj, GX_TEXMAP2);
+ GXLoadTexObj(&texObj, GX_TEXMAP3);
+ GXLoadTexObj(&texObj, GX_TEXMAP4);
+ GXLoadTexObj(&texObj, GX_TEXMAP5);
+ GXLoadTexObj(&texObj, GX_TEXMAP6);
+ GXLoadTexObj(&texObj, GX_TEXMAP7);
+}
+
+/* 80310A3C-80310D44 30B37C 0308+00 1/1 0/0 0/0 .text reinitTevStages__6J3DSysFv */
+void J3DSys::reinitTevStages() {
+ GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
+ GXSetTevOrder(GX_TEVSTAGE1, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
+ GXSetTevOrder(GX_TEVSTAGE2, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
+ GXSetTevOrder(GX_TEVSTAGE3, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
+ GXSetTevOrder(GX_TEVSTAGE4, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
+ GXSetTevOrder(GX_TEVSTAGE5, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
+ GXSetTevOrder(GX_TEVSTAGE6, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
+ GXSetTevOrder(GX_TEVSTAGE7, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
+ GXSetTevOrder(GX_TEVSTAGE8, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
+ GXSetTevOrder(GX_TEVSTAGE9, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
+ GXSetTevOrder(GX_TEVSTAGE10, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
+ GXSetTevOrder(GX_TEVSTAGE11, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
+ GXSetTevOrder(GX_TEVSTAGE12, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
+ GXSetTevOrder(GX_TEVSTAGE13, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
+ GXSetTevOrder(GX_TEVSTAGE14, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
+ GXSetTevOrder(GX_TEVSTAGE15, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR_NULL);
+
+ GXSetTevColor(GX_TEVREG0, ColorWhite);
+ GXSetTevColor(GX_TEVREG1, ColorWhite);
+ GXSetTevColor(GX_TEVREG2, ColorWhite);
+ GXSetTevKColor(GX_KCOLOR0, ColorWhite);
+ GXSetTevKColor(GX_KCOLOR1, ColorWhite);
+ GXSetTevKColor(GX_KCOLOR2, ColorWhite);
+ GXSetTevKColor(GX_KCOLOR3, ColorWhite);
+
+ for (u32 i = 0; i < GX_MAX_TEVSTAGE; i++) {
+ GXSetTevColorIn((GXTevStageID)i, GX_CC_RASC, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO);
+ GXSetTevColorOp((GXTevStageID)i, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE,
+ GX_TEVPREV);
+ GXSetTevAlphaIn((GXTevStageID)i, GX_CA_RASA, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO);
+ GXSetTevAlphaOp((GXTevStageID)i, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE,
+ GX_TEVPREV);
+ GXSetTevKColorSel((GXTevStageID)i, GX_TEV_KCSEL_1_4);
+ GXSetTevKAlphaSel((GXTevStageID)i, GX_TEV_KASEL_1);
+ GXSetTevSwapMode((GXTevStageID)i, GX_TEV_SWAP0, GX_TEV_SWAP0);
+ }
+
+ GXSetTevSwapModeTable(GX_TEV_SWAP0, GX_CH_RED, GX_CH_GREEN, GX_CH_BLUE, GX_CH_ALPHA);
+ GXSetTevSwapModeTable(GX_TEV_SWAP1, GX_CH_RED, GX_CH_RED, GX_CH_RED, GX_CH_ALPHA);
+ GXSetTevSwapModeTable(GX_TEV_SWAP2, GX_CH_GREEN, GX_CH_GREEN, GX_CH_GREEN, GX_CH_ALPHA);
+ GXSetTevSwapModeTable(GX_TEV_SWAP3, GX_CH_BLUE, GX_CH_BLUE, GX_CH_BLUE, GX_CH_ALPHA);
+ GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_AND, GX_ALWAYS, 0);
+}
+
+/* ############################################################################################## */
+/* 803CD8E0-803CD8F8 02AA00 0018+00 1/1 0/0 0/0 .data IndMtx */
+SECTION_DATA static Mtx23 IndMtx = {0.5f, 0.0f, 0.0f, 0.0f, 0.5f, 0.0f};
+
+/* 80310D44-80310E3C 30B684 00F8+00 1/1 0/0 0/0 .text reinitIndStages__6J3DSysFv */
+void J3DSys::reinitIndStages() {
+ for (u32 i = 0; i < GX_MAX_TEVSTAGE; i++) {
+ GXSetTevDirect((GXTevStageID)i);
+ }
+
+ GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD0, GX_TEXMAP0);
+ GXSetIndTexOrder(GX_INDTEXSTAGE1, GX_TEXCOORD1, GX_TEXMAP1);
+ GXSetIndTexOrder(GX_INDTEXSTAGE2, GX_TEXCOORD2, GX_TEXMAP2);
+ GXSetIndTexOrder(GX_INDTEXSTAGE3, GX_TEXCOORD3, GX_TEXMAP3);
+ GXSetIndTexCoordScale(GX_INDTEXSTAGE0, GX_ITS_1, GX_ITS_1);
+ GXSetIndTexCoordScale(GX_INDTEXSTAGE1, GX_ITS_1, GX_ITS_1);
+ GXSetIndTexCoordScale(GX_INDTEXSTAGE2, GX_ITS_1, GX_ITS_1);
+ GXSetIndTexCoordScale(GX_INDTEXSTAGE3, GX_ITS_1, GX_ITS_1);
+ GXSetIndTexMtx(GX_ITM_0, (f32*)IndMtx, 1);
+ GXSetIndTexMtx(GX_ITM_1, (f32*)IndMtx, 1);
+ GXSetIndTexMtx(GX_ITM_2, (f32*)IndMtx, 1);
+}
+
+/* 80310E3C-80310ED0 30B77C 0094+00 1/1 0/0 0/0 .text reinitPixelProc__6J3DSysFv */
+void J3DSys::reinitPixelProc() {
+ GXSetBlendMode(GX_BM_NONE, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_CLEAR);
+ GXSetColorUpdate(GX_TRUE);
+ GXSetAlphaUpdate(GX_FALSE);
+ GXSetDither(GX_TRUE);
+ GXSetFog(GX_FOG_NONE, 0.0f, 1.0f, 0.1f, 1.0f, ColorBlack);
+ GXSetFogRangeAdj(GX_FALSE, 0, NULL);
+ GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE);
+ GXSetZCompLoc(GX_TRUE);
+}
+
+/* ############################################################################################## */
+/* 80451598-804515A0 000A98 0004+04 0/0 1/1 0/0 .sbss j3dDefaultViewNo */
+u32 j3dDefaultViewNo;
diff --git a/libs/JSystem/J3DGraphBase/J3DTevs.cpp b/libs/JSystem/J3DGraphBase/J3DTevs.cpp
index 917edb672f..82327d9b80 100644
--- a/libs/JSystem/J3DGraphBase/J3DTevs.cpp
+++ b/libs/JSystem/J3DGraphBase/J3DTevs.cpp
@@ -1,566 +1,565 @@
-//
-// J3DTevs
-//
-
-#include "JSystem/J3DGraphBase/J3DTevs.h"
-#include "JSystem/J3DGraphBase/J3DGD.h"
-#include "JSystem/J3DGraphBase/J3DMatBlock.h"
-#include "JSystem/J3DGraphBase/J3DSys.h"
-#include "JSystem/J3DGraphBase/J3DTexture.h"
-#include "JSystem/J3DGraphBase/J3DTransform.h"
-
-static void J3DGDLoadTexMtxImm(f32 (*)[4], u32, _GXTexMtxType);
-static void J3DGDLoadPostTexMtxImm(f32 (*)[4], u32);
-
-/* 80323590-80323644 31DED0 00B4+00 0/0 3/3 0/0 .text load__11J3DLightObjCFUl */
-void J3DLightObj::load(u32 lightIdx) const {
- GDOverflowCheck(0x48);
- J3DGDSetLightPos(GXLightID(1 << lightIdx), mInfo.mLightPosition.x, mInfo.mLightPosition.y, mInfo.mLightPosition.z);
- J3DGDSetLightAttn(GXLightID(1 << lightIdx), mInfo.mCosAtten.x, mInfo.mCosAtten.y, mInfo.mCosAtten.z, mInfo.mDistAtten.x, mInfo.mDistAtten.y, mInfo.mDistAtten.z);
- J3DGDSetLightColor(GXLightID(1 << lightIdx), mInfo.mColor);
- J3DGDSetLightDir(GXLightID(1 << lightIdx), mInfo.mLightDirection.x, mInfo.mLightDirection.y, mInfo.mLightDirection.z);
-}
-
-/* 80323644-803238C4 31DF84 0280+00 0/0 3/3 0/0 .text loadTexCoordGens__FUlP11J3DTexCoord
- */
-void loadTexCoordGens(u32 param_0, J3DTexCoord* param_1) {
- GDOverflowCheck(param_0 * 8 + 10);
- J3DGDWriteXFCmdHdr(0x1040, param_0);
- for (int i = 0; i < param_0; i++) {
- J3DGDSetTexCoordGen(
- GXTexGenType(param_1[i].getTexGenType()),
- GXTexGenSrc(param_1[i].getTexGenSrc())
- );
- }
- J3DGDWriteXFCmdHdr(0x1050, param_0);
- if (j3dSys.checkFlag(0x40000000)) {
- for (int i = 0; i < param_0; i++) {
- J3DGDWrite_u32(param_1[i].getTexGenMtx() == 60 ? 61 : i * 3);
- }
- } else {
- for (int i = 0; i < param_0; i++) {
- J3DGDWrite_u32(61);
- }
- }
-}
-
-/* 803238C4-80323900 31E204 003C+00 0/0 6/6 0/0 .text load__9J3DTexMtxCFUl */
-void J3DTexMtx::load(u32 mtxIdx) const {
- if (j3dSys.checkFlag(J3DSysFlag_PostTexMtx)) {
- loadPostTexMtx(mtxIdx);
- } else {
- loadTexMtx(mtxIdx);
- }
-}
-
-/* 80323900-80323920 31E240 0020+00 0/0 2/2 0/0 .text calc__9J3DTexMtxFPA4_Cf */
-void J3DTexMtx::calc(f32 const (*param_0)[4]) {
- calcTexMtx(param_0);
-}
-
-/* 80323920-80323C0C 31E260 02EC+00 2/1 0/0 0/0 .text calcTexMtx__9J3DTexMtxFPA4_Cf */
-void J3DTexMtx::calcTexMtx(const Mtx param_0) {
- Mtx44 mtx1;
- Mtx44 mtx2;
-
- static Mtx qMtx = {
- 0.5f, 0.0f, 0.5f, 0.0f,
- 0.0f, -0.5f, 0.5f, 0.0f,
- 0.0f, 0.0f, 1.0f, 0.0f,
- };
- static Mtx qMtx2 = {
- 0.5f, 0.0f, 0.0f, 0.5f,
- 0.0f, -0.5f, 0.0f, 0.5f,
- 0.0f, 0.0f, 1.0f, 0.0f,
- };
-
- u8 r28 = mTexMtxInfo.mInfo & 0x3f;
- u32 r30 = (mTexMtxInfo.mInfo >> 7) & 1;
- switch (r28) {
- case 8:
- case 9:
- case 11:
- if (r30 == 0) {
- J3DGetTextureMtx(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx2);
- } else if (r30 == 1) {
- J3DGetTextureMtxMaya(mTexMtxInfo.mSRT, mtx2);
- }
- MTXConcat(mtx2, qMtx, mtx2);
- J3DMtxProjConcat(mtx2, mTexMtxInfo.mEffectMtx, mtx1);
- MTXConcat(mtx1, param_0, mMtx);
- break;
- case 7:
- if (r30 == 0) {
- J3DGetTextureMtx(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx1);
- } else if (r30 == 1) {
- J3DGetTextureMtxMaya(mTexMtxInfo.mSRT, mtx1);
- }
- MTXConcat(mtx1, qMtx, mtx1);
- MTXConcat(mtx1, param_0, mMtx);
- break;
- case 10:
- if (r30 == 0) {
- J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx2);
- } else if (r30 == 1) {
- J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mtx2);
- }
- MTXConcat(mtx2, qMtx2, mtx2);
- J3DMtxProjConcat(mtx2, mTexMtxInfo.mEffectMtx, mtx1);
- MTXConcat(mtx1, param_0, mMtx);
- break;
- case 6:
- if (r30 == 0) {
- J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx1);
- } else if (r30 == 1) {
- J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mtx1);
- }
- MTXConcat(mtx1, qMtx2, mtx1);
- MTXConcat(mtx1, param_0, mMtx);
- break;
- case 1:
- if (r30 == 0) {
- J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx1);
- } else if (r30 == 1) {
- J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mtx1);
- }
- MTXConcat(mtx1, param_0, mMtx);
- break;
- case 2:
- case 3:
- case 5:
- if (r30 == 0) {
- J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx2);
- } else if (r30 == 1) {
- J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mtx2);
- }
- J3DMtxProjConcat(mtx2, mTexMtxInfo.mEffectMtx, mtx1);
- MTXConcat(mtx1, param_0, mMtx);
- break;
- case 4:
- if (r30 == 0) {
- J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx2);
- } else if (r30 == 1) {
- J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mtx2);
- }
- J3DMtxProjConcat(mtx2, mTexMtxInfo.mEffectMtx, mMtx);
- break;
- default:
- if (r30 == 0) {
- J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mMtx);
- } else if (r30 == 1) {
- J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mMtx);
- }
- break;
- }
-}
-
-/* 80323C0C-80323F64 31E54C 0358+00 1/0 2/2 0/0 .text calcPostTexMtx__9J3DTexMtxFPA4_Cf
- */
-void J3DTexMtx::calcPostTexMtx(const Mtx param_0) {
- Mtx44 mtx1;
- Mtx44 mtx2;
-
- static Mtx qMtx = {
- 0.5f, 0.0f, 0.5f, 0.0f,
- 0.0f, -0.5f, 0.5f, 0.0f,
- 0.0f, 0.0f, 1.0f, 0.0f,
- };
- static Mtx qMtx2 = {
- 0.5f, 0.0f, 0.0f, 0.5f,
- 0.0f, -0.5f, 0.0f, 0.5f,
- 0.0f, 0.0f, 1.0f, 0.0f,
- };
-
- u8 r29 = mTexMtxInfo.mInfo & 0x3f;
- u32 r30 = (mTexMtxInfo.mInfo >> 7) & 1;
- switch (r29) {
- case 8:
- case 11:
- if (r30 == 0) {
- J3DGetTextureMtx(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx2);
- } else if (r30 == 1) {
- J3DGetTextureMtxMaya(mTexMtxInfo.mSRT, mtx2);
- }
- MTXConcat(mtx2, qMtx, mtx2);
- J3DMtxProjConcat(mtx2, mTexMtxInfo.mEffectMtx, mtx1);
- MTXConcat(mtx1, param_0, mMtx);
- break;
- case 9:
- if (r30 == 0) {
- J3DGetTextureMtx(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx2);
- } else if (r30 == 1) {
- J3DGetTextureMtxMaya(mTexMtxInfo.mSRT, mtx2);
- }
- MTXConcat(mtx2, qMtx, mtx2);
- J3DMtxProjConcat(mtx2, mTexMtxInfo.mEffectMtx, mMtx);
- break;
- case 7:
- if (r30 == 0) {
- J3DGetTextureMtx(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx1);
- } else if (r30 == 1) {
- J3DGetTextureMtxMaya(mTexMtxInfo.mSRT, mtx1);
- }
- MTXConcat(mtx1, qMtx, mMtx);
- break;
- case 10:
- if (r30 == 0) {
- J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx2);
- } else if (r30 == 1) {
- J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mtx2);
- }
- MTXConcat(mtx2, qMtx2, mtx2);
- J3DMtxProjConcat(mtx2, mTexMtxInfo.mEffectMtx, mtx1);
- MTXConcat(mtx1, param_0, mMtx);
- break;
- case 6:
- if (r30 == 0) {
- J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx1);
- } else if (r30 == 1) {
- J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mtx1);
- }
- MTXConcat(mtx1, qMtx2, mMtx);
- break;
- case 1:
- if (r30 == 0) {
- J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mMtx);
- } else if (r30 == 1) {
- J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mMtx);
- }
- break;
- case 2:
- case 5:
- if (r30 == 0) {
- J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx2);
- } else if (r30 == 1) {
- J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mtx2);
- }
- J3DMtxProjConcat(mtx2, mTexMtxInfo.mEffectMtx, mtx1);
- MTXConcat(mtx1, param_0, mMtx);
- break;
- case 3:
- if (r30 == 0) {
- J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx2);
- } else if (r30 == 1) {
- J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mtx2);
- }
- J3DMtxProjConcat(mtx2, mTexMtxInfo.mEffectMtx, mMtx);
- break;
- case 4:
- if (r30 == 0) {
- J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx2);
- } else if (r30 == 1) {
- J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mtx2);
- }
- J3DMtxProjConcat(mtx2, mTexMtxInfo.mEffectMtx, mMtx);
- break;
- default:
- if (r30 == 0) {
- J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mMtx);
- } else if (r30 == 1) {
- J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mMtx);
- }
- break;
- }
-}
-
-/* 80323F64-80323F88 31E8A4 0024+00 0/0 1/1 0/0 .text isTexNoReg__FPv */
-bool isTexNoReg(void* param_0) {
- u8 r31 = ((u8*)param_0)[1];
- if (r31 >= 0x80 && r31 <= 0xbb) {
- return true;
- }
- return false;
-}
-
-/* 80323F88-80323F94 31E8C8 000C+00 0/0 1/1 0/0 .text getTexNoReg__FPv */
-u16 getTexNoReg(void* param_0) {
- return *(u32*)((u8*)param_0 + 1);
-}
-
-/* 80323F94-8032413C 31E8D4 01A8+00 0/0 20/20 0/0 .text loadTexNo__FUlRCUs */
-void loadTexNo(u32 param_0, u16 const& param_1) {
- ResTIMG* resTIMG = j3dSys.getTexture()->getResTIMG(param_1);
- J3DSys::sTexCoordScaleTable[param_0].field_0x00 = resTIMG->width;
- J3DSys::sTexCoordScaleTable[param_0].field_0x02 = resTIMG->height;
- GDOverflowCheck(0x14);
- J3DGDSetTexImgPtr(GXTexMapID(param_0), (u8*)resTIMG + resTIMG->imageOffset);
- J3DGDSetTexImgAttr(GXTexMapID(param_0), resTIMG->width, resTIMG->height, GXTexFmt(resTIMG->format & 0x0f));
- J3DGDSetTexLookupMode(GXTexMapID(param_0), GXTexWrapMode(resTIMG->wrapS), GXTexWrapMode(resTIMG->wrapT), GXTexFilter(resTIMG->minFilter), GXTexFilter(resTIMG->magFilter), resTIMG->minLOD * 0.125f, resTIMG->maxLOD * 0.125f, resTIMG->LODBias * 0.01f, resTIMG->biasClamp, resTIMG->doEdgeLOD, GXAnisotropy(resTIMG->maxAnisotropy));
- if (resTIMG->indexTexture == true) {
- GXTlutSize tlutSize = resTIMG->numColors > 16 ? GX_TLUT_256 : GX_TLUT_16;
- GDOverflowCheck(0x14);
- J3DGDLoadTlut((u8*)resTIMG + resTIMG->paletteOffset, (param_0 << 13) + 0xf0000, tlutSize);
- J3DGDSetTexTlut(GXTexMapID(param_0), (param_0 << 13) + 0xf0000, GXTlutFmt(resTIMG->colorFormat));
- }
-}
-
-/* 8032413C-80324160 31EA7C 0024+00 0/0 2/2 0/0 .text patchTexNo_PtrToIdx__FUlRCUs */
-void patchTexNo_PtrToIdx(u32 texID, u16 const& idx) {
- J3DGDSetTexImgPtrRaw(GXTexMapID(texID), idx);
-}
-
-/* 80324160-80324194 31EAA0 0034+00 0/0 2/2 0/0 .text loadNBTScale__FR11J3DNBTScale */
-void loadNBTScale(J3DNBTScale& param_0) {
- if (param_0.mbHasScale == true) {
- j3dSys.setNBTScale(&param_0.mScale);
- } else {
- j3dSys.setNBTScale(NULL);
- }
-}
-
-/* ############################################################################################## */
-/* 803A1EC8-803A1EFC 02E528 0034+00 0/0 9/9 24/24 .rodata j3dDefaultLightInfo */
-extern const J3DLightInfo j3dDefaultLightInfo = {
- 0.0f, 0.0f, 0.0f,
- 0.0f, -1.0f, 0.0f,
- 0xff, 0xff, 0xff, 0xff,
- 1.0f, 0.0f, 0.0f,
- 1.0f, 0.0f, 0.0f,
-};
-
-/* 803A1EFC-803A1F1C 02E55C 0020+00 0/0 5/5 0/0 .rodata j3dDefaultTexCoordInfo */
-extern J3DTexCoordInfo const j3dDefaultTexCoordInfo[8] = {
- {GX_MTX2x4, GX_TG_TEX0, GX_IDENTITY, 0}, {GX_MTX2x4, GX_TG_TEX1, GX_IDENTITY, 0},
- {GX_MTX2x4, GX_TG_TEX2, GX_IDENTITY, 0}, {GX_MTX2x4, GX_TG_TEX3, GX_IDENTITY, 0},
- {GX_MTX2x4, GX_TG_TEX4, GX_IDENTITY, 0}, {GX_MTX2x4, GX_TG_TEX5, GX_IDENTITY, 0},
- {GX_MTX2x4, GX_TG_TEX6, GX_IDENTITY, 0}, {GX_MTX2x4, GX_TG_TEX7, GX_IDENTITY, 0},
-};
-
-/* 803A1F1C-803A1F80 02E57C 0064+00 0/0 1/1 0/0 .rodata j3dDefaultTexMtxInfo */
-extern J3DTexMtxInfo const j3dDefaultTexMtxInfo = {
- 0x01,
- 0x00,
- 0xFF,
- 0xFF,
- {0.0f, 0.0f, 0.0f},
- {1.0f, 1.0f, 0, 0.0f, 0.0f},
- {1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f,
- 1.0f},
-};
-
-/* 803A1F80-803A1F9C 02E5E0 001C+00 0/0 2/2 0/0 .rodata j3dDefaultIndTexMtxInfo */
-extern J3DIndTexMtxInfo const j3dDefaultIndTexMtxInfo = {
- 0.5f, 0.0f, 0.0f,
- 0.0f, 0.5f, 0.0f,
- 1
-};
-
-/* 803A1F9C-803A1FB0 02E5FC 0014+00 0/0 1/1 0/0 .rodata j3dDefaultTevStageInfo */
-extern J3DTevStageInfo const j3dDefaultTevStageInfo = {
- 0x04, 0x0A, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
- 0x05, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
-};
-
-/* 803A1FB0-803A1FBC 02E610 000C+00 0/0 2/2 0/0 .rodata j3dDefaultIndTevStageInfo */
-extern J3DIndTevStageInfo const j3dDefaultIndTevStageInfo = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-
-/* 803A1FBC-803A1FE8 02E61C 002C+00 0/0 3/3 0/0 .rodata j3dDefaultFogInfo */
-extern J3DFogInfo const j3dDefaultFogInfo = {
- 0x00, 0x00, 0x0140, 0.0f, 0.0f, 0.1f, 10000.0f, 0xFF, 0xFF, 0xFF, 0x00,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-};
-
-/* 803A1FE8-803A1FF8 02E648 0010+00 0/0 3/3 0/0 .rodata j3dDefaultNBTScaleInfo */
-extern J3DNBTScaleInfo const j3dDefaultNBTScaleInfo = {
- 0x00, 1.0f, 1.0f, 1.0f,
-};
-
-/* 80434C98-80436A60 0619B8 1DC7+01 1/1 0/0 0/0 .bss j3dTexCoordTable */
-static u8 j3dTexCoordTable[7623 + 1 /* padding */];
-
-/* 80324194-8032423C 31EAD4 00A8+00 0/0 1/1 0/0 .text makeTexCoordTable__Fv */
-void makeTexCoordTable() {
- u8 texMtx[] = {
- GX_TEXMTX0,
- GX_TEXMTX1,
- GX_TEXMTX2,
- GX_TEXMTX3,
- GX_TEXMTX4,
- GX_TEXMTX5,
- GX_TEXMTX6,
- GX_TEXMTX7,
- GX_TEXMTX8,
- GX_TEXMTX9,
- GX_IDENTITY,
- };
-
- u8* table = j3dTexCoordTable;
- for (u32 i = 0; i < 11; i++) {
- for (u32 j = 0; j < 21; j++) {
- for (int k = 0; k < ARRAY_SIZE(texMtx); k++) {
- u32 idx = j * 11 + i * 0xe7 + k;
- table[idx * 3 + 0] = i;
- table[idx * 3 + 1] = j;
- table[idx * 3 + 2] = texMtx[k];
- }
- }
- }
-}
-
-/* ############################################################################################## */
-/* 80436A60-80436E60 063780 0400+00 1/1 3/3 0/0 .bss j3dTevSwapTableTable */
-u8 j3dTevSwapTableTable[1024];
-
-/* 80436E60-80437160 063B80 0300+00 1/1 2/2 0/0 .bss j3dAlphaCmpTable */
-u8 j3dAlphaCmpTable[768];
-
-/* 8032423C-803242A8 31EB7C 006C+00 0/0 1/1 0/0 .text makeAlphaCmpTable__Fv */
-void makeAlphaCmpTable() {
- u8* table = j3dAlphaCmpTable;
- for (u32 i = 0; i < 8; i++) {
- for (int j = 0; j < 4; j++) {
- for (u32 k = 0; k < 8; k++) {
- u32 idx = i * 32 + j * 8 + k;
- table[idx * 3] = i;
- table[idx * 3 + 1] = j;
- table[idx * 3 + 2] = k;
- }
- }
- }
-}
-
-/* ############################################################################################## */
-/* 80437160-804371C0 063E80 0060+00 1/1 4/4 5/5 .bss j3dZModeTable */
-extern u8 j3dZModeTable[96];
-u8 j3dZModeTable[96];
-
-/* 803242A8-80324314 31EBE8 006C+00 0/0 1/1 0/0 .text makeZModeTable__Fv */
-void makeZModeTable() {
- u8* table = j3dZModeTable;
- for (int i = 0; i < 2; i++) {
- for (u32 j = 0; j < 8; j++) {
- for (int k = 0; k < 2; k++) {
- u32 idx = j * 2 + i * 16 + k;
- table[idx * 3 + 0] = i;
- table[idx * 3 + 1] = j;
- table[idx * 3 + 2] = k;
- }
- }
- }
-}
-
-/* 80324314-80324358 31EC54 0044+00 0/0 1/1 0/0 .text makeTevSwapTable__Fv */
-void makeTevSwapTable() {
- u8* table = j3dTevSwapTableTable;
- int i = 0;
- do {
- table[0] = i >> 6;
- table[1] = (i >> 4) & 3;
- table[2] = (i >> 2) & 3;
- table[3] = i & 3;
- i++;
- table += 4;
- } while (i < 256);
-}
-
-/* 80324358-803243BC 31EC98 0064+00 1/1 0/0 0/0 .text loadTexMtx__9J3DTexMtxCFUl */
-void J3DTexMtx::loadTexMtx(u32 param_0) const {
- GDOverflowCheck(0x35);
- J3DGDLoadTexMtxImm((MtxP)mMtx, param_0 * 3 + 30, (_GXTexMtxType)mTexMtxInfo.mProjection);
-}
-
-/* 803243BC-8032441C 31ECFC 0060+00 1/1 0/0 0/0 .text loadPostTexMtx__9J3DTexMtxCFUl */
-void J3DTexMtx::loadPostTexMtx(u32 param_0) const {
- GDOverflowCheck(0x35);
- J3DGDLoadPostTexMtxImm((MtxP)mMtx, param_0 * 3 + 0x40);
-}
-
-/* 8032441C-8032499C 31ED5C 0580+00 1/1 0/0 0/0 .text J3DGDLoadTexMtxImm__FPA4_fUl13_GXTexMtxType
- */
-static void J3DGDLoadTexMtxImm(f32 (*param_1)[4], u32 param_2, _GXTexMtxType param_3) {
- u16 addr = param_2 << 2;
- u8 len = param_3 == GX_MTX2x4 ? 8 : 12;
- J3DGDWriteXFCmdHdr(addr & 0xffff, len);
- J3DGDWrite_f32(param_1[0][0]);
- J3DGDWrite_f32(param_1[0][1]);
- J3DGDWrite_f32(param_1[0][2]);
- J3DGDWrite_f32(param_1[0][3]);
- J3DGDWrite_f32(param_1[1][0]);
- J3DGDWrite_f32(param_1[1][1]);
- J3DGDWrite_f32(param_1[1][2]);
- J3DGDWrite_f32(param_1[1][3]);
- if (param_3 == GX_MTX3x4) {
- J3DGDWrite_f32(param_1[2][0]);
- J3DGDWrite_f32(param_1[2][1]);
- J3DGDWrite_f32(param_1[2][2]);
- J3DGDWrite_f32(param_1[2][3]);
- }
-}
-
-/* 8032499C-80324F08 31F2DC 056C+00 1/1 0/0 0/0 .text J3DGDLoadPostTexMtxImm__FPA4_fUl */
-static void J3DGDLoadPostTexMtxImm(f32 (*param_1)[4], u32 param_2) {
- u16 addr = (param_2 - 0x40) * 4 + 0x500;
- J3DGDWriteXFCmdHdr(addr, 12);
- J3DGDWrite_f32(param_1[0][0]);
- J3DGDWrite_f32(param_1[0][1]);
- J3DGDWrite_f32(param_1[0][2]);
- J3DGDWrite_f32(param_1[0][3]);
- J3DGDWrite_f32(param_1[1][0]);
- J3DGDWrite_f32(param_1[1][1]);
- J3DGDWrite_f32(param_1[1][2]);
- J3DGDWrite_f32(param_1[1][3]);
- J3DGDWrite_f32(param_1[2][0]);
- J3DGDWrite_f32(param_1[2][1]);
- J3DGDWrite_f32(param_1[2][2]);
- J3DGDWrite_f32(param_1[2][3]);
-}
-
-/* ############################################################################################## */
-/* 804563C0-804563C4 0049C0 0004+00 0/0 4/4 0/0 .sdata2 j3dDefaultColInfo */
-extern const GXColor j3dDefaultColInfo = {0xFF, 0xFF, 0xFF, 0xFF};
-
-/* 804563C4-804563C8 0049C4 0004+00 0/0 2/2 0/0 .sdata2 j3dDefaultAmbInfo */
-extern const u32 j3dDefaultAmbInfo = 0x32323232;
-
-/* 804563C8-804563CC 0049C8 0004+00 0/0 1/1 0/0 .sdata2 None */
-extern const u8 data_804563C8 = 0x01;
-
-/* 804563CC-804563D0 0049CC 0004+00 0/0 3/3 0/0 .sdata2 j3dDefaultTevOrderInfoNull */
-extern const J3DTevOrderInfo j3dDefaultTevOrderInfoNull = {0xFF, 0xFF, 0xFF, 0x00};
-
-/* 804563D0-804563D4 0049D0 0004+00 0/0 2/2 0/0 .sdata2 j3dDefaultIndTexOrderNull */
-extern const J3DIndTexOrderInfo j3dDefaultIndTexOrderNull = {0xFF, 0xFF, 0x00, 0x00};
-
-/* 804563D4-804563D8 0049D4 0004+00 0/0 5/5 0/0 .sdata2 j3dDefaultTevColor */
-extern const GXColorS10 j3dDefaultTevColor = {0xFF, 0xFF, 0xFF, 0xFF};
-
-/* 804563DC-804563E0 0049DC 0004+00 0/0 2/2 0/0 .sdata2 j3dDefaultIndTexCoordScaleInfo */
-extern const J3DIndTexCoordScaleInfo j3dDefaultIndTexCoordScaleInfo = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
-};
-
-/* 804563E0-804563E4 0049E0 0004+00 0/0 5/5 0/0 .sdata2 j3dDefaultTevKColor */
-extern const GXColor j3dDefaultTevKColor = {0xFF, 0xFF, 0xFF, 0xFF};
-
-/* 804563E4-804563E8 0049E4 0004+00 0/0 2/2 0/0 .sdata2 j3dDefaultTevSwapMode */
-extern J3DTevSwapModeInfo const j3dDefaultTevSwapMode = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
-};
-
-/* 804563E8-804563EC 0049E8 0004+00 0/0 2/2 0/0 .sdata2 j3dDefaultTevSwapModeTable */
-extern const J3DTevSwapModeTableInfo j3dDefaultTevSwapModeTable = {0x00, 0x01, 0x02, 0x03};
-
-/* 804563EC-804563F0 0049EC 0004+00 0/0 3/3 0/0 .sdata2 j3dDefaultBlendInfo */
-extern const J3DBlendInfo j3dDefaultBlendInfo = {GX_BM_BLEND, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_NOOP};
-
-/* 804563F0-804563F8 0049F0 0008+00 0/0 3/3 0/0 .sdata2 j3dDefaultColorChanInfo */
-extern const J3DColorChanInfo j3dDefaultColorChanInfo = {
- 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0xFF, 0xFF,
-};
-
-/* 804563F8-804563FA 0049F8 0002+00 0/0 1/1 0/0 .sdata2 None */
-extern const u16 data_804563F8 = 0x1B00;
-
-/* 804563FA-804563FC 0049FA 0002+00 0/0 1/1 0/0 .sdata2 j3dDefaultAlphaCmpID */
-const u16 j3dDefaultAlphaCmpID = 0x00E7;
-
-/* 804563FC-80456400 0049FC 0002+02 0/0 3/3 0/0 .sdata2 j3dDefaultZModeID */
-const u16 j3dDefaultZModeID = 0x0017;
+//
+// J3DTevs
+//
+
+#include "JSystem/J3DGraphBase/J3DTevs.h"
+#include "JSystem/J3DGraphBase/J3DGD.h"
+#include "JSystem/J3DGraphBase/J3DMatBlock.h"
+#include "JSystem/J3DGraphBase/J3DSys.h"
+#include "JSystem/J3DGraphBase/J3DTransform.h"
+
+static void J3DGDLoadTexMtxImm(f32 (*)[4], u32, _GXTexMtxType);
+static void J3DGDLoadPostTexMtxImm(f32 (*)[4], u32);
+
+/* 80323590-80323644 31DED0 00B4+00 0/0 3/3 0/0 .text load__11J3DLightObjCFUl */
+void J3DLightObj::load(u32 lightIdx) const {
+ GDOverflowCheck(0x48);
+ J3DGDSetLightPos(GXLightID(1 << lightIdx), mInfo.mLightPosition.x, mInfo.mLightPosition.y, mInfo.mLightPosition.z);
+ J3DGDSetLightAttn(GXLightID(1 << lightIdx), mInfo.mCosAtten.x, mInfo.mCosAtten.y, mInfo.mCosAtten.z, mInfo.mDistAtten.x, mInfo.mDistAtten.y, mInfo.mDistAtten.z);
+ J3DGDSetLightColor(GXLightID(1 << lightIdx), mInfo.mColor);
+ J3DGDSetLightDir(GXLightID(1 << lightIdx), mInfo.mLightDirection.x, mInfo.mLightDirection.y, mInfo.mLightDirection.z);
+}
+
+/* 80323644-803238C4 31DF84 0280+00 0/0 3/3 0/0 .text loadTexCoordGens__FUlP11J3DTexCoord
+ */
+void loadTexCoordGens(u32 param_0, J3DTexCoord* param_1) {
+ GDOverflowCheck(param_0 * 8 + 10);
+ J3DGDWriteXFCmdHdr(0x1040, param_0);
+ for (int i = 0; i < param_0; i++) {
+ J3DGDSetTexCoordGen(
+ GXTexGenType(param_1[i].getTexGenType()),
+ GXTexGenSrc(param_1[i].getTexGenSrc())
+ );
+ }
+ J3DGDWriteXFCmdHdr(0x1050, param_0);
+ if (j3dSys.checkFlag(0x40000000)) {
+ for (int i = 0; i < param_0; i++) {
+ J3DGDWrite_u32(param_1[i].getTexGenMtx() == 60 ? 61 : i * 3);
+ }
+ } else {
+ for (int i = 0; i < param_0; i++) {
+ J3DGDWrite_u32(61);
+ }
+ }
+}
+
+/* 803238C4-80323900 31E204 003C+00 0/0 6/6 0/0 .text load__9J3DTexMtxCFUl */
+void J3DTexMtx::load(u32 mtxIdx) const {
+ if (j3dSys.checkFlag(J3DSysFlag_PostTexMtx)) {
+ loadPostTexMtx(mtxIdx);
+ } else {
+ loadTexMtx(mtxIdx);
+ }
+}
+
+/* 80323900-80323920 31E240 0020+00 0/0 2/2 0/0 .text calc__9J3DTexMtxFPA4_Cf */
+void J3DTexMtx::calc(f32 const (*param_0)[4]) {
+ calcTexMtx(param_0);
+}
+
+/* 80323920-80323C0C 31E260 02EC+00 2/1 0/0 0/0 .text calcTexMtx__9J3DTexMtxFPA4_Cf */
+void J3DTexMtx::calcTexMtx(const Mtx param_0) {
+ Mtx44 mtx1;
+ Mtx44 mtx2;
+
+ static Mtx qMtx = {
+ 0.5f, 0.0f, 0.5f, 0.0f,
+ 0.0f, -0.5f, 0.5f, 0.0f,
+ 0.0f, 0.0f, 1.0f, 0.0f,
+ };
+ static Mtx qMtx2 = {
+ 0.5f, 0.0f, 0.0f, 0.5f,
+ 0.0f, -0.5f, 0.0f, 0.5f,
+ 0.0f, 0.0f, 1.0f, 0.0f,
+ };
+
+ u8 r28 = mTexMtxInfo.mInfo & 0x3f;
+ u32 r30 = (mTexMtxInfo.mInfo >> 7) & 1;
+ switch (r28) {
+ case 8:
+ case 9:
+ case 11:
+ if (r30 == 0) {
+ J3DGetTextureMtx(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx2);
+ } else if (r30 == 1) {
+ J3DGetTextureMtxMaya(mTexMtxInfo.mSRT, mtx2);
+ }
+ MTXConcat(mtx2, qMtx, mtx2);
+ J3DMtxProjConcat(mtx2, mTexMtxInfo.mEffectMtx, mtx1);
+ MTXConcat(mtx1, param_0, mMtx);
+ break;
+ case 7:
+ if (r30 == 0) {
+ J3DGetTextureMtx(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx1);
+ } else if (r30 == 1) {
+ J3DGetTextureMtxMaya(mTexMtxInfo.mSRT, mtx1);
+ }
+ MTXConcat(mtx1, qMtx, mtx1);
+ MTXConcat(mtx1, param_0, mMtx);
+ break;
+ case 10:
+ if (r30 == 0) {
+ J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx2);
+ } else if (r30 == 1) {
+ J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mtx2);
+ }
+ MTXConcat(mtx2, qMtx2, mtx2);
+ J3DMtxProjConcat(mtx2, mTexMtxInfo.mEffectMtx, mtx1);
+ MTXConcat(mtx1, param_0, mMtx);
+ break;
+ case 6:
+ if (r30 == 0) {
+ J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx1);
+ } else if (r30 == 1) {
+ J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mtx1);
+ }
+ MTXConcat(mtx1, qMtx2, mtx1);
+ MTXConcat(mtx1, param_0, mMtx);
+ break;
+ case 1:
+ if (r30 == 0) {
+ J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx1);
+ } else if (r30 == 1) {
+ J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mtx1);
+ }
+ MTXConcat(mtx1, param_0, mMtx);
+ break;
+ case 2:
+ case 3:
+ case 5:
+ if (r30 == 0) {
+ J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx2);
+ } else if (r30 == 1) {
+ J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mtx2);
+ }
+ J3DMtxProjConcat(mtx2, mTexMtxInfo.mEffectMtx, mtx1);
+ MTXConcat(mtx1, param_0, mMtx);
+ break;
+ case 4:
+ if (r30 == 0) {
+ J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx2);
+ } else if (r30 == 1) {
+ J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mtx2);
+ }
+ J3DMtxProjConcat(mtx2, mTexMtxInfo.mEffectMtx, mMtx);
+ break;
+ default:
+ if (r30 == 0) {
+ J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mMtx);
+ } else if (r30 == 1) {
+ J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mMtx);
+ }
+ break;
+ }
+}
+
+/* 80323C0C-80323F64 31E54C 0358+00 1/0 2/2 0/0 .text calcPostTexMtx__9J3DTexMtxFPA4_Cf
+ */
+void J3DTexMtx::calcPostTexMtx(const Mtx param_0) {
+ Mtx44 mtx1;
+ Mtx44 mtx2;
+
+ static Mtx qMtx = {
+ 0.5f, 0.0f, 0.5f, 0.0f,
+ 0.0f, -0.5f, 0.5f, 0.0f,
+ 0.0f, 0.0f, 1.0f, 0.0f,
+ };
+ static Mtx qMtx2 = {
+ 0.5f, 0.0f, 0.0f, 0.5f,
+ 0.0f, -0.5f, 0.0f, 0.5f,
+ 0.0f, 0.0f, 1.0f, 0.0f,
+ };
+
+ u8 r29 = mTexMtxInfo.mInfo & 0x3f;
+ u32 r30 = (mTexMtxInfo.mInfo >> 7) & 1;
+ switch (r29) {
+ case 8:
+ case 11:
+ if (r30 == 0) {
+ J3DGetTextureMtx(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx2);
+ } else if (r30 == 1) {
+ J3DGetTextureMtxMaya(mTexMtxInfo.mSRT, mtx2);
+ }
+ MTXConcat(mtx2, qMtx, mtx2);
+ J3DMtxProjConcat(mtx2, mTexMtxInfo.mEffectMtx, mtx1);
+ MTXConcat(mtx1, param_0, mMtx);
+ break;
+ case 9:
+ if (r30 == 0) {
+ J3DGetTextureMtx(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx2);
+ } else if (r30 == 1) {
+ J3DGetTextureMtxMaya(mTexMtxInfo.mSRT, mtx2);
+ }
+ MTXConcat(mtx2, qMtx, mtx2);
+ J3DMtxProjConcat(mtx2, mTexMtxInfo.mEffectMtx, mMtx);
+ break;
+ case 7:
+ if (r30 == 0) {
+ J3DGetTextureMtx(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx1);
+ } else if (r30 == 1) {
+ J3DGetTextureMtxMaya(mTexMtxInfo.mSRT, mtx1);
+ }
+ MTXConcat(mtx1, qMtx, mMtx);
+ break;
+ case 10:
+ if (r30 == 0) {
+ J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx2);
+ } else if (r30 == 1) {
+ J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mtx2);
+ }
+ MTXConcat(mtx2, qMtx2, mtx2);
+ J3DMtxProjConcat(mtx2, mTexMtxInfo.mEffectMtx, mtx1);
+ MTXConcat(mtx1, param_0, mMtx);
+ break;
+ case 6:
+ if (r30 == 0) {
+ J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx1);
+ } else if (r30 == 1) {
+ J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mtx1);
+ }
+ MTXConcat(mtx1, qMtx2, mMtx);
+ break;
+ case 1:
+ if (r30 == 0) {
+ J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mMtx);
+ } else if (r30 == 1) {
+ J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mMtx);
+ }
+ break;
+ case 2:
+ case 5:
+ if (r30 == 0) {
+ J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx2);
+ } else if (r30 == 1) {
+ J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mtx2);
+ }
+ J3DMtxProjConcat(mtx2, mTexMtxInfo.mEffectMtx, mtx1);
+ MTXConcat(mtx1, param_0, mMtx);
+ break;
+ case 3:
+ if (r30 == 0) {
+ J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx2);
+ } else if (r30 == 1) {
+ J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mtx2);
+ }
+ J3DMtxProjConcat(mtx2, mTexMtxInfo.mEffectMtx, mMtx);
+ break;
+ case 4:
+ if (r30 == 0) {
+ J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mtx2);
+ } else if (r30 == 1) {
+ J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mtx2);
+ }
+ J3DMtxProjConcat(mtx2, mTexMtxInfo.mEffectMtx, mMtx);
+ break;
+ default:
+ if (r30 == 0) {
+ J3DGetTextureMtxOld(mTexMtxInfo.mSRT, mTexMtxInfo.mCenter, mMtx);
+ } else if (r30 == 1) {
+ J3DGetTextureMtxMayaOld(mTexMtxInfo.mSRT, mMtx);
+ }
+ break;
+ }
+}
+
+/* 80323F64-80323F88 31E8A4 0024+00 0/0 1/1 0/0 .text isTexNoReg__FPv */
+bool isTexNoReg(void* param_0) {
+ u8 r31 = ((u8*)param_0)[1];
+ if (r31 >= 0x80 && r31 <= 0xbb) {
+ return true;
+ }
+ return false;
+}
+
+/* 80323F88-80323F94 31E8C8 000C+00 0/0 1/1 0/0 .text getTexNoReg__FPv */
+u16 getTexNoReg(void* param_0) {
+ return *(u32*)((u8*)param_0 + 1);
+}
+
+/* 80323F94-8032413C 31E8D4 01A8+00 0/0 20/20 0/0 .text loadTexNo__FUlRCUs */
+void loadTexNo(u32 param_0, u16 const& param_1) {
+ ResTIMG* resTIMG = j3dSys.getTexture()->getResTIMG(param_1);
+ J3DSys::sTexCoordScaleTable[param_0].field_0x00 = resTIMG->width;
+ J3DSys::sTexCoordScaleTable[param_0].field_0x02 = resTIMG->height;
+ GDOverflowCheck(0x14);
+ J3DGDSetTexImgPtr(GXTexMapID(param_0), (u8*)resTIMG + resTIMG->imageOffset);
+ J3DGDSetTexImgAttr(GXTexMapID(param_0), resTIMG->width, resTIMG->height, GXTexFmt(resTIMG->format & 0x0f));
+ J3DGDSetTexLookupMode(GXTexMapID(param_0), GXTexWrapMode(resTIMG->wrapS), GXTexWrapMode(resTIMG->wrapT), GXTexFilter(resTIMG->minFilter), GXTexFilter(resTIMG->magFilter), resTIMG->minLOD * 0.125f, resTIMG->maxLOD * 0.125f, resTIMG->LODBias * 0.01f, resTIMG->biasClamp, resTIMG->doEdgeLOD, GXAnisotropy(resTIMG->maxAnisotropy));
+ if (resTIMG->indexTexture == true) {
+ GXTlutSize tlutSize = resTIMG->numColors > 16 ? GX_TLUT_256 : GX_TLUT_16;
+ GDOverflowCheck(0x14);
+ J3DGDLoadTlut((u8*)resTIMG + resTIMG->paletteOffset, (param_0 << 13) + 0xf0000, tlutSize);
+ J3DGDSetTexTlut(GXTexMapID(param_0), (param_0 << 13) + 0xf0000, GXTlutFmt(resTIMG->colorFormat));
+ }
+}
+
+/* 8032413C-80324160 31EA7C 0024+00 0/0 2/2 0/0 .text patchTexNo_PtrToIdx__FUlRCUs */
+void patchTexNo_PtrToIdx(u32 texID, u16 const& idx) {
+ J3DGDSetTexImgPtrRaw(GXTexMapID(texID), idx);
+}
+
+/* 80324160-80324194 31EAA0 0034+00 0/0 2/2 0/0 .text loadNBTScale__FR11J3DNBTScale */
+void loadNBTScale(J3DNBTScale& param_0) {
+ if (param_0.mbHasScale == true) {
+ j3dSys.setNBTScale(&param_0.mScale);
+ } else {
+ j3dSys.setNBTScale(NULL);
+ }
+}
+
+/* ############################################################################################## */
+/* 803A1EC8-803A1EFC 02E528 0034+00 0/0 9/9 24/24 .rodata j3dDefaultLightInfo */
+extern const J3DLightInfo j3dDefaultLightInfo = {
+ 0.0f, 0.0f, 0.0f,
+ 0.0f, -1.0f, 0.0f,
+ 0xff, 0xff, 0xff, 0xff,
+ 1.0f, 0.0f, 0.0f,
+ 1.0f, 0.0f, 0.0f,
+};
+
+/* 803A1EFC-803A1F1C 02E55C 0020+00 0/0 5/5 0/0 .rodata j3dDefaultTexCoordInfo */
+extern J3DTexCoordInfo const j3dDefaultTexCoordInfo[8] = {
+ {GX_MTX2x4, GX_TG_TEX0, GX_IDENTITY, 0}, {GX_MTX2x4, GX_TG_TEX1, GX_IDENTITY, 0},
+ {GX_MTX2x4, GX_TG_TEX2, GX_IDENTITY, 0}, {GX_MTX2x4, GX_TG_TEX3, GX_IDENTITY, 0},
+ {GX_MTX2x4, GX_TG_TEX4, GX_IDENTITY, 0}, {GX_MTX2x4, GX_TG_TEX5, GX_IDENTITY, 0},
+ {GX_MTX2x4, GX_TG_TEX6, GX_IDENTITY, 0}, {GX_MTX2x4, GX_TG_TEX7, GX_IDENTITY, 0},
+};
+
+/* 803A1F1C-803A1F80 02E57C 0064+00 0/0 1/1 0/0 .rodata j3dDefaultTexMtxInfo */
+extern J3DTexMtxInfo const j3dDefaultTexMtxInfo = {
+ 0x01,
+ 0x00,
+ 0xFF,
+ 0xFF,
+ {0.0f, 0.0f, 0.0f},
+ {1.0f, 1.0f, 0, 0.0f, 0.0f},
+ {1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f,
+ 1.0f},
+};
+
+/* 803A1F80-803A1F9C 02E5E0 001C+00 0/0 2/2 0/0 .rodata j3dDefaultIndTexMtxInfo */
+extern J3DIndTexMtxInfo const j3dDefaultIndTexMtxInfo = {
+ 0.5f, 0.0f, 0.0f,
+ 0.0f, 0.5f, 0.0f,
+ 1
+};
+
+/* 803A1F9C-803A1FB0 02E5FC 0014+00 0/0 1/1 0/0 .rodata j3dDefaultTevStageInfo */
+extern J3DTevStageInfo const j3dDefaultTevStageInfo = {
+ 0x04, 0x0A, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+ 0x05, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+};
+
+/* 803A1FB0-803A1FBC 02E610 000C+00 0/0 2/2 0/0 .rodata j3dDefaultIndTevStageInfo */
+extern J3DIndTevStageInfo const j3dDefaultIndTevStageInfo = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+
+/* 803A1FBC-803A1FE8 02E61C 002C+00 0/0 3/3 0/0 .rodata j3dDefaultFogInfo */
+extern J3DFogInfo const j3dDefaultFogInfo = {
+ 0x00, 0x00, 0x0140, 0.0f, 0.0f, 0.1f, 10000.0f, 0xFF, 0xFF, 0xFF, 0x00,
+ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+};
+
+/* 803A1FE8-803A1FF8 02E648 0010+00 0/0 3/3 0/0 .rodata j3dDefaultNBTScaleInfo */
+extern J3DNBTScaleInfo const j3dDefaultNBTScaleInfo = {
+ 0x00, 1.0f, 1.0f, 1.0f,
+};
+
+/* 80434C98-80436A60 0619B8 1DC7+01 1/1 0/0 0/0 .bss j3dTexCoordTable */
+static u8 j3dTexCoordTable[7623 + 1 /* padding */];
+
+/* 80324194-8032423C 31EAD4 00A8+00 0/0 1/1 0/0 .text makeTexCoordTable__Fv */
+void makeTexCoordTable() {
+ u8 texMtx[] = {
+ GX_TEXMTX0,
+ GX_TEXMTX1,
+ GX_TEXMTX2,
+ GX_TEXMTX3,
+ GX_TEXMTX4,
+ GX_TEXMTX5,
+ GX_TEXMTX6,
+ GX_TEXMTX7,
+ GX_TEXMTX8,
+ GX_TEXMTX9,
+ GX_IDENTITY,
+ };
+
+ u8* table = j3dTexCoordTable;
+ for (u32 i = 0; i < 11; i++) {
+ for (u32 j = 0; j < 21; j++) {
+ for (int k = 0; k < ARRAY_SIZE(texMtx); k++) {
+ u32 idx = j * 11 + i * 0xe7 + k;
+ table[idx * 3 + 0] = i;
+ table[idx * 3 + 1] = j;
+ table[idx * 3 + 2] = texMtx[k];
+ }
+ }
+ }
+}
+
+/* ############################################################################################## */
+/* 80436A60-80436E60 063780 0400+00 1/1 3/3 0/0 .bss j3dTevSwapTableTable */
+u8 j3dTevSwapTableTable[1024];
+
+/* 80436E60-80437160 063B80 0300+00 1/1 2/2 0/0 .bss j3dAlphaCmpTable */
+u8 j3dAlphaCmpTable[768];
+
+/* 8032423C-803242A8 31EB7C 006C+00 0/0 1/1 0/0 .text makeAlphaCmpTable__Fv */
+void makeAlphaCmpTable() {
+ u8* table = j3dAlphaCmpTable;
+ for (u32 i = 0; i < 8; i++) {
+ for (int j = 0; j < 4; j++) {
+ for (u32 k = 0; k < 8; k++) {
+ u32 idx = i * 32 + j * 8 + k;
+ table[idx * 3] = i;
+ table[idx * 3 + 1] = j;
+ table[idx * 3 + 2] = k;
+ }
+ }
+ }
+}
+
+/* ############################################################################################## */
+/* 80437160-804371C0 063E80 0060+00 1/1 4/4 5/5 .bss j3dZModeTable */
+extern u8 j3dZModeTable[96];
+u8 j3dZModeTable[96];
+
+/* 803242A8-80324314 31EBE8 006C+00 0/0 1/1 0/0 .text makeZModeTable__Fv */
+void makeZModeTable() {
+ u8* table = j3dZModeTable;
+ for (int i = 0; i < 2; i++) {
+ for (u32 j = 0; j < 8; j++) {
+ for (int k = 0; k < 2; k++) {
+ u32 idx = j * 2 + i * 16 + k;
+ table[idx * 3 + 0] = i;
+ table[idx * 3 + 1] = j;
+ table[idx * 3 + 2] = k;
+ }
+ }
+ }
+}
+
+/* 80324314-80324358 31EC54 0044+00 0/0 1/1 0/0 .text makeTevSwapTable__Fv */
+void makeTevSwapTable() {
+ u8* table = j3dTevSwapTableTable;
+ int i = 0;
+ do {
+ table[0] = i >> 6;
+ table[1] = (i >> 4) & 3;
+ table[2] = (i >> 2) & 3;
+ table[3] = i & 3;
+ i++;
+ table += 4;
+ } while (i < 256);
+}
+
+/* 80324358-803243BC 31EC98 0064+00 1/1 0/0 0/0 .text loadTexMtx__9J3DTexMtxCFUl */
+void J3DTexMtx::loadTexMtx(u32 param_0) const {
+ GDOverflowCheck(0x35);
+ J3DGDLoadTexMtxImm((MtxP)mMtx, param_0 * 3 + 30, (_GXTexMtxType)mTexMtxInfo.mProjection);
+}
+
+/* 803243BC-8032441C 31ECFC 0060+00 1/1 0/0 0/0 .text loadPostTexMtx__9J3DTexMtxCFUl */
+void J3DTexMtx::loadPostTexMtx(u32 param_0) const {
+ GDOverflowCheck(0x35);
+ J3DGDLoadPostTexMtxImm((MtxP)mMtx, param_0 * 3 + 0x40);
+}
+
+/* 8032441C-8032499C 31ED5C 0580+00 1/1 0/0 0/0 .text J3DGDLoadTexMtxImm__FPA4_fUl13_GXTexMtxType
+ */
+static void J3DGDLoadTexMtxImm(f32 (*param_1)[4], u32 param_2, _GXTexMtxType param_3) {
+ u16 addr = param_2 << 2;
+ u8 len = param_3 == GX_MTX2x4 ? 8 : 12;
+ J3DGDWriteXFCmdHdr(addr & 0xffff, len);
+ J3DGDWrite_f32(param_1[0][0]);
+ J3DGDWrite_f32(param_1[0][1]);
+ J3DGDWrite_f32(param_1[0][2]);
+ J3DGDWrite_f32(param_1[0][3]);
+ J3DGDWrite_f32(param_1[1][0]);
+ J3DGDWrite_f32(param_1[1][1]);
+ J3DGDWrite_f32(param_1[1][2]);
+ J3DGDWrite_f32(param_1[1][3]);
+ if (param_3 == GX_MTX3x4) {
+ J3DGDWrite_f32(param_1[2][0]);
+ J3DGDWrite_f32(param_1[2][1]);
+ J3DGDWrite_f32(param_1[2][2]);
+ J3DGDWrite_f32(param_1[2][3]);
+ }
+}
+
+/* 8032499C-80324F08 31F2DC 056C+00 1/1 0/0 0/0 .text J3DGDLoadPostTexMtxImm__FPA4_fUl */
+static void J3DGDLoadPostTexMtxImm(f32 (*param_1)[4], u32 param_2) {
+ u16 addr = (param_2 - 0x40) * 4 + 0x500;
+ J3DGDWriteXFCmdHdr(addr, 12);
+ J3DGDWrite_f32(param_1[0][0]);
+ J3DGDWrite_f32(param_1[0][1]);
+ J3DGDWrite_f32(param_1[0][2]);
+ J3DGDWrite_f32(param_1[0][3]);
+ J3DGDWrite_f32(param_1[1][0]);
+ J3DGDWrite_f32(param_1[1][1]);
+ J3DGDWrite_f32(param_1[1][2]);
+ J3DGDWrite_f32(param_1[1][3]);
+ J3DGDWrite_f32(param_1[2][0]);
+ J3DGDWrite_f32(param_1[2][1]);
+ J3DGDWrite_f32(param_1[2][2]);
+ J3DGDWrite_f32(param_1[2][3]);
+}
+
+/* ############################################################################################## */
+/* 804563C0-804563C4 0049C0 0004+00 0/0 4/4 0/0 .sdata2 j3dDefaultColInfo */
+extern const GXColor j3dDefaultColInfo = {0xFF, 0xFF, 0xFF, 0xFF};
+
+/* 804563C4-804563C8 0049C4 0004+00 0/0 2/2 0/0 .sdata2 j3dDefaultAmbInfo */
+extern const u32 j3dDefaultAmbInfo = 0x32323232;
+
+/* 804563C8-804563CC 0049C8 0004+00 0/0 1/1 0/0 .sdata2 None */
+extern const u8 data_804563C8 = 0x01;
+
+/* 804563CC-804563D0 0049CC 0004+00 0/0 3/3 0/0 .sdata2 j3dDefaultTevOrderInfoNull */
+extern const J3DTevOrderInfo j3dDefaultTevOrderInfoNull = {0xFF, 0xFF, 0xFF, 0x00};
+
+/* 804563D0-804563D4 0049D0 0004+00 0/0 2/2 0/0 .sdata2 j3dDefaultIndTexOrderNull */
+extern const J3DIndTexOrderInfo j3dDefaultIndTexOrderNull = {0xFF, 0xFF, 0x00, 0x00};
+
+/* 804563D4-804563D8 0049D4 0004+00 0/0 5/5 0/0 .sdata2 j3dDefaultTevColor */
+extern const GXColorS10 j3dDefaultTevColor = {0xFF, 0xFF, 0xFF, 0xFF};
+
+/* 804563DC-804563E0 0049DC 0004+00 0/0 2/2 0/0 .sdata2 j3dDefaultIndTexCoordScaleInfo */
+extern const J3DIndTexCoordScaleInfo j3dDefaultIndTexCoordScaleInfo = {
+ 0x00,
+ 0x00,
+ 0x00,
+ 0x00,
+};
+
+/* 804563E0-804563E4 0049E0 0004+00 0/0 5/5 0/0 .sdata2 j3dDefaultTevKColor */
+extern const GXColor j3dDefaultTevKColor = {0xFF, 0xFF, 0xFF, 0xFF};
+
+/* 804563E4-804563E8 0049E4 0004+00 0/0 2/2 0/0 .sdata2 j3dDefaultTevSwapMode */
+extern J3DTevSwapModeInfo const j3dDefaultTevSwapMode = {
+ 0x00,
+ 0x00,
+ 0x00,
+ 0x00,
+};
+
+/* 804563E8-804563EC 0049E8 0004+00 0/0 2/2 0/0 .sdata2 j3dDefaultTevSwapModeTable */
+extern const J3DTevSwapModeTableInfo j3dDefaultTevSwapModeTable = {0x00, 0x01, 0x02, 0x03};
+
+/* 804563EC-804563F0 0049EC 0004+00 0/0 3/3 0/0 .sdata2 j3dDefaultBlendInfo */
+extern const J3DBlendInfo j3dDefaultBlendInfo = {GX_BM_BLEND, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_NOOP};
+
+/* 804563F0-804563F8 0049F0 0008+00 0/0 3/3 0/0 .sdata2 j3dDefaultColorChanInfo */
+extern const J3DColorChanInfo j3dDefaultColorChanInfo = {
+ 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0xFF, 0xFF,
+};
+
+/* 804563F8-804563FA 0049F8 0002+00 0/0 1/1 0/0 .sdata2 None */
+extern const u16 data_804563F8 = 0x1B00;
+
+/* 804563FA-804563FC 0049FA 0002+00 0/0 1/1 0/0 .sdata2 j3dDefaultAlphaCmpID */
+const u16 j3dDefaultAlphaCmpID = 0x00E7;
+
+/* 804563FC-80456400 0049FC 0002+02 0/0 3/3 0/0 .sdata2 j3dDefaultZModeID */
+const u16 j3dDefaultZModeID = 0x0017;
diff --git a/libs/JSystem/J3DGraphBase/J3DTexture.cpp b/libs/JSystem/J3DGraphBase/J3DTexture.cpp
index 67c2ca1a67..b271fe2c33 100644
--- a/libs/JSystem/J3DGraphBase/J3DTexture.cpp
+++ b/libs/JSystem/J3DGraphBase/J3DTexture.cpp
@@ -5,7 +5,6 @@
#include "JSystem/J3DGraphBase/J3DTexture.h"
#include "dolphin/gx.h"
-#include "dolphin/types.h"
/* 8031204C-803121A4 30C98C 0158+00 0/0 1/1 0/0 .text loadGX__10J3DTextureCFUs11_GXTexMapID */
void J3DTexture::loadGX(u16 idx, GXTexMapID texMapID) const {
diff --git a/libs/JSystem/J3DGraphBase/J3DTransform.cpp b/libs/JSystem/J3DGraphBase/J3DTransform.cpp
index 2d8ddc9977..f0cdca3743 100644
--- a/libs/JSystem/J3DGraphBase/J3DTransform.cpp
+++ b/libs/JSystem/J3DGraphBase/J3DTransform.cpp
@@ -4,7 +4,6 @@
//
#include "JSystem/J3DGraphBase/J3DTransform.h"
-#include "JSystem/J3DGraphBase/J3DStruct.h"
#include "JSystem/JMath/JMATrigonometric.h"
#include "dol2asm.h"
#include "dolphin/base/PPCArch.h"
diff --git a/libs/JSystem/J3DGraphBase/J3DVertex.cpp b/libs/JSystem/J3DGraphBase/J3DVertex.cpp
index 2a9921e417..aa049536f4 100644
--- a/libs/JSystem/J3DGraphBase/J3DVertex.cpp
+++ b/libs/JSystem/J3DGraphBase/J3DVertex.cpp
@@ -9,7 +9,6 @@
#include "JSystem/JKernel/JKRHeap.h"
#include "string.h"
#include "dolphin/os/OSCache.h"
-#include "global.h"
#include "init.h"
/* 80310EF8-80310F78 30B838 0080+00 0/0 1/1 0/0 .text __ct__13J3DVertexDataFv */
diff --git a/libs/JSystem/J3DGraphLoader/J3DAnmLoader.cpp b/libs/JSystem/J3DGraphLoader/J3DAnmLoader.cpp
index 84b4881157..48c78e10c8 100644
--- a/libs/JSystem/J3DGraphLoader/J3DAnmLoader.cpp
+++ b/libs/JSystem/J3DGraphLoader/J3DAnmLoader.cpp
@@ -5,7 +5,6 @@
#include "JSystem/J3DGraphLoader/J3DAnmLoader.h"
#include "JSystem/J3DGraphAnimator/J3DAnimation.h"
-#include "JSystem/JSupport/JSupport.h"
#include "dol2asm.h"
#include "dolphin/os.h"
diff --git a/libs/JSystem/J3DGraphLoader/J3DClusterLoader.cpp b/libs/JSystem/J3DGraphLoader/J3DClusterLoader.cpp
index 451097dd5d..ac58c7dc06 100644
--- a/libs/JSystem/J3DGraphLoader/J3DClusterLoader.cpp
+++ b/libs/JSystem/J3DGraphLoader/J3DClusterLoader.cpp
@@ -4,11 +4,7 @@
//
#include "JSystem/J3DGraphLoader/J3DClusterLoader.h"
-#include "JSystem/J3DGraphAnimator/J3DCluster.h"
#include "JSystem/J3DGraphAnimator/J3DSkinDeform.h"
-#include "JSystem/JSupport/JSupport.h"
-#include "JSystem/JUtility/JUTNameTab.h"
-#include "JSystem/JKernel/JKRHeap.h"
#include "dol2asm.h"
#include "dolphin/os.h"
#include "string.h"
diff --git a/libs/JSystem/J3DGraphLoader/J3DJointFactory.cpp b/libs/JSystem/J3DGraphLoader/J3DJointFactory.cpp
index c8c9b091d4..4044cdf604 100644
--- a/libs/JSystem/J3DGraphLoader/J3DJointFactory.cpp
+++ b/libs/JSystem/J3DGraphLoader/J3DJointFactory.cpp
@@ -7,7 +7,6 @@
#include "JSystem/J3DGraphLoader/J3DModelLoader.h"
#include "JSystem/J3DGraphAnimator/J3DJoint.h"
#include "JSystem/JSupport/JSupport.h"
-#include "dolphin/types.h"
//
// Types:
diff --git a/libs/JSystem/J3DGraphLoader/J3DMaterialFactory.cpp b/libs/JSystem/J3DGraphLoader/J3DMaterialFactory.cpp
index 42cfc489f7..d928c4ed57 100644
--- a/libs/JSystem/J3DGraphLoader/J3DMaterialFactory.cpp
+++ b/libs/JSystem/J3DGraphLoader/J3DMaterialFactory.cpp
@@ -5,7 +5,6 @@
#include "JSystem/J3DGraphLoader/J3DMaterialFactory.h"
#include "JSystem/J3DGraphBase/J3DMaterial.h"
-#include "JSystem/J3DGraphBase/J3DSys.h"
#include "JSystem/JSupport/JSupport.h"
#include "dol2asm.h"
diff --git a/libs/JSystem/J3DGraphLoader/J3DMaterialFactory_v21.cpp b/libs/JSystem/J3DGraphLoader/J3DMaterialFactory_v21.cpp
index 527ea32ce0..060d87e55d 100644
--- a/libs/JSystem/J3DGraphLoader/J3DMaterialFactory_v21.cpp
+++ b/libs/JSystem/J3DGraphLoader/J3DMaterialFactory_v21.cpp
@@ -1,412 +1,411 @@
-//
-// Generated By: dol2asm
-// Translation Unit: J3DMaterialFactory_v21
-//
-
-#include "JSystem/J3DGraphLoader/J3DMaterialFactory_v21.h"
-#include "JSystem/J3DGraphBase/J3DMaterial.h"
-#include "JSystem/JSupport/JSupport.h"
-#include "dol2asm.h"
-
-//
-// Forward References:
-//
-
-extern "C" void __ct__22J3DMaterialFactory_v21FRC20J3DMaterialBlock_v21();
-extern "C" void countUniqueMaterials__22J3DMaterialFactory_v21Fv();
-extern "C" void countTexGens__22J3DMaterialFactory_v21CFi();
-extern "C" void countStages__22J3DMaterialFactory_v21CFi();
-extern "C" void create__22J3DMaterialFactory_v21CFP11J3DMaterialiUl();
-extern "C" void newMatColor__22J3DMaterialFactory_v21CFii();
-extern "C" void newColorChanNum__22J3DMaterialFactory_v21CFi();
-extern "C" void newColorChan__22J3DMaterialFactory_v21CFii();
-extern "C" void newTexGenNum__22J3DMaterialFactory_v21CFi();
-extern "C" void newTexCoord__22J3DMaterialFactory_v21CFii();
-extern "C" void newTexMtx__22J3DMaterialFactory_v21CFii();
-extern "C" void newCullMode__22J3DMaterialFactory_v21CFi();
-extern "C" void newTexNo__22J3DMaterialFactory_v21CFii();
-extern "C" void newTevOrder__22J3DMaterialFactory_v21CFii();
-extern "C" void newTevColor__22J3DMaterialFactory_v21CFii();
-extern "C" void newTevKColor__22J3DMaterialFactory_v21CFii();
-extern "C" void newTevStageNum__22J3DMaterialFactory_v21CFi();
-extern "C" void newTevStage__22J3DMaterialFactory_v21CFii();
-extern "C" void newTevSwapModeTable__22J3DMaterialFactory_v21CFii();
-extern "C" void newFog__22J3DMaterialFactory_v21CFi();
-extern "C" void newAlphaComp__22J3DMaterialFactory_v21CFi();
-extern "C" void newBlend__22J3DMaterialFactory_v21CFi();
-extern "C" void newZMode__22J3DMaterialFactory_v21CFi();
-extern "C" void newZCompLoc__22J3DMaterialFactory_v21CFi();
-extern "C" void newDither__22J3DMaterialFactory_v21CFi();
-extern "C" void newNBTScale__22J3DMaterialFactory_v21CFi();
-extern "C" void func_80334118(void* _this, void const*, void const*);
-
-//
-// External References:
-//
-
-extern "C" void __ct__11J3DTevStageFv();
-extern "C" void __ct__11J3DTevStageFRC15J3DTevStageInfo();
-extern "C" void* __nw__FUl();
-extern "C" GXColorS10* func_802F41E8(void const*, void const*);
-extern "C" u8* func_802F4260(void const*, void const*);
-extern "C" GXColor* func_802F4278(void const*, void const*);
-extern "C" GXCullMode* func_802F4290(void const*, void const*);
-extern "C" u16* func_802F42C0(void const*, void const*);
-extern "C" void createColorBlock__11J3DMaterialFUl();
-extern "C" void createTexGenBlock__11J3DMaterialFUl();
-extern "C" void createTevBlock__11J3DMaterialFi();
-extern "C" void createIndBlock__11J3DMaterialFi();
-extern "C" void createPEBlock__11J3DMaterialFUlUl();
-extern "C" void initialize__11J3DMaterialFv();
-extern "C" void __as__13J3DTexMtxInfoFRC13J3DTexMtxInfo();
-extern "C" void __as__10J3DFogInfoFRC10J3DFogInfo();
-extern "C" void func_80332C24(void* _this, void const*, void const*);
-extern "C" void func_80332C3C(void* _this, void const*, void const*);
-extern "C" void func_80332C54(void* _this, void const*, void const*);
-extern "C" void func_80332C6C(void* _this, void const*, void const*);
-extern "C" void func_80332C84(void* _this, void const*, void const*);
-extern "C" void func_80332C9C(void* _this, void const*, void const*);
-extern "C" void func_80332CB4(void* _this, void const*, void const*);
-extern "C" void func_80332CCC(void* _this, void const*, void const*);
-extern "C" void func_80332CE4(void* _this, void const*, void const*);
-extern "C" void func_80332CFC(void* _this, void const*, void const*);
-extern "C" void func_80332D14(void* _this, void const*, void const*);
-extern "C" void func_80332D2C(void* _this, void const*, void const*);
-extern "C" void func_80332D5C(void* _this, void const*, void const*);
-extern "C" void _savegpr_19();
-extern "C" void _savegpr_29();
-extern "C" void _restgpr_19();
-extern "C" void _restgpr_29();
-extern "C" extern void* __vt__11J3DMaterial[12];
-
-//
-// Declarations:
-//
-
-/* 80332DA4-80332F84 32D6E4 01E0+00 0/0 2/2 0/0 .text
- * __ct__22J3DMaterialFactory_v21FRC20J3DMaterialBlock_v21 */
-J3DMaterialFactory_v21::J3DMaterialFactory_v21(J3DMaterialBlock_v21 const& i_block) {
- mMaterialNum = i_block.mMaterialNum;
- mpMaterialInitData = JSUConvertOffsetToPtr<J3DMaterialInitData_v21>(&i_block, i_block.mpMaterialInitData);
- mpMaterialID = JSUConvertOffsetToPtr<u16>(&i_block, i_block.mpMaterialID);
- mpCullMode = JSUConvertOffsetToPtr<GXCullMode>(&i_block, i_block.mpCullMode);
- mpMatColor = JSUConvertOffsetToPtr<GXColor>(&i_block, i_block.mpMatColor);
- mpColorChanNum = JSUConvertOffsetToPtr<u8>(&i_block, i_block.mpColorChanNum);
- mpColorChanInfo = JSUConvertOffsetToPtr<J3DColorChanInfo>(&i_block, i_block.mpColorChanInfo);
- mpTexGenNum = JSUConvertOffsetToPtr<u8>(&i_block, i_block.mpTexGenNum);
- mpTexCoordInfo = JSUConvertOffsetToPtr<J3DTexCoordInfo>(&i_block, i_block.mpTexCoordInfo);
- mpTexCoord2Info = JSUConvertOffsetToPtr<J3DTexCoord2Info>(&i_block, i_block.mpTexCoord2Info);
- mpTexMtxInfo = JSUConvertOffsetToPtr<J3DTexMtxInfo>(&i_block, i_block.mpTexMtxInfo);
- field_0x28 = JSUConvertOffsetToPtr<J3DTexMtxInfo>(&i_block, i_block.field_0x38);
- mpTexNo = JSUConvertOffsetToPtr<u16>(&i_block, i_block.mpTexNo);
- mpTevOrderInfo = JSUConvertOffsetToPtr<J3DTevOrderInfo>(&i_block, i_block.mpTevOrderInfo);
- mpTevColor = JSUConvertOffsetToPtr<GXColorS10>(&i_block, i_block.mpTevColor);
- mpTevKColor = JSUConvertOffsetToPtr<GXColor>(&i_block, i_block.mpTevKColor);
- mpTevStageNum = JSUConvertOffsetToPtr<u8>(&i_block, i_block.mpTevStageNum);
- mpTevStageInfo = JSUConvertOffsetToPtr<J3DTevStageInfo>(&i_block, i_block.mpTevStageInfo);
- mpTevSwapModeInfo = JSUConvertOffsetToPtr<J3DTevSwapModeInfo>(&i_block, i_block.mpTevSwapModeInfo);
- mpTevSwapModeTableInfo = JSUConvertOffsetToPtr<J3DTevSwapModeTableInfo>(&i_block, i_block.mpTevSwapModeTableInfo);
- mpFogInfo = JSUConvertOffsetToPtr<J3DFogInfo>(&i_block, i_block.mpFogInfo);
- mpAlphaCompInfo = JSUConvertOffsetToPtr<J3DAlphaCompInfo>(&i_block, i_block.mpAlphaCompInfo);
- mpBlendInfo = JSUConvertOffsetToPtr<J3DBlendInfo>(&i_block, i_block.mpBlendInfo);
- mpZModeInfo = JSUConvertOffsetToPtr<J3DZModeInfo>(&i_block, i_block.mpZModeInfo);
- mpZCompLoc = JSUConvertOffsetToPtr<u8>(&i_block, i_block.mpZCompLoc);
- mpDither = JSUConvertOffsetToPtr<u8>(&i_block, i_block.mpDither);
- mpNBTScaleInfo = JSUConvertOffsetToPtr<J3DNBTScaleInfo>(&i_block, i_block.mpNBTScaleInfo);
-}
-
-/* 80332F84-80332FA8 32D8C4 0024+00 0/0 1/1 0/0 .text
- * countUniqueMaterials__22J3DMaterialFactory_v21Fv */
-u16 J3DMaterialFactory_v21::countUniqueMaterials() {
- u16 i;
- for (i = 0; i < mMaterialNum; i++) {
- }
- return i;
-}
-
-/* 80332FA8-80332FE0 32D8E8 0038+00 1/1 0/0 0/0 .text countTexGens__22J3DMaterialFactory_v21CFi */
-u32 J3DMaterialFactory_v21::countTexGens(int i_idx) const {
- u8 tex_gen_num_index = mpMaterialInitData[mpMaterialID[i_idx]].mTexGenNumIdx;
- if (tex_gen_num_index != 0xff) {
- return mpTexGenNum[tex_gen_num_index];
- }
- return 0;
-}
-
-/* 80332FE0-80333068 32D920 0088+00 1/1 0/0 0/0 .text countStages__22J3DMaterialFactory_v21CFi */
-u32 J3DMaterialFactory_v21::countStages(int i_idx) const {
- J3DMaterialInitData_v21* init_data = &mpMaterialInitData[mpMaterialID[i_idx]];
- u32 count1 = 0;
- u32 count2 = 0;
- u8 tev_stage_num_index = init_data->mTevStageNumIdx;
- if (tev_stage_num_index != 0xff) {
- count2 = mpTevStageNum[tev_stage_num_index];
- }
- for (int i = 0; i < 8; i++) {
- if (init_data->mTexNoIdx[i] != 0xffff) {
- count1++;
- }
- }
- if (count2 != count1 && count1 != 0) {
- if (count2 > count1) {
- return count2;
- } else {
- return count1;
- }
- }
- return count2;
-}
-
-/* 80333068-803337D8 32D9A8 0770+00 0/0 2/2 0/0 .text
- * create__22J3DMaterialFactory_v21CFP11J3DMaterialiUl */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm J3DMaterial* J3DMaterialFactory_v21::create(J3DMaterial* param_0, int param_1, u32 param_2) const {
- nofralloc
-#include "asm/JSystem/J3DGraphLoader/J3DMaterialFactory_v21/create__22J3DMaterialFactory_v21CFP11J3DMaterialiUl.s"
-}
-#pragma pop
-
-/* 803337D8-80333834 32E118 005C+00 1/1 0/0 0/0 .text newMatColor__22J3DMaterialFactory_v21CFii */
-J3DGXColor J3DMaterialFactory_v21::newMatColor(int i_idx, int i_no) const {
- GXColor defaultColor = {0xff,0xff,0xff,0xff};
- J3DGXColor defaultJ3DGXColor = J3DGXColor(defaultColor);
- J3DMaterialInitData_v21* mtl_init_data = &mpMaterialInitData[mpMaterialID[i_idx]];
- if (mtl_init_data->mMatColorIdx[i_no] != 0xffff) {
- return J3DGXColor(mpMatColor[mtl_init_data->mMatColorIdx[i_no]]);
- }
- return J3DGXColor(defaultJ3DGXColor);
-}
-
-/* 80333834-8033386C 32E174 0038+00 1/1 0/0 0/0 .text newColorChanNum__22J3DMaterialFactory_v21CFi
- */
-u8 J3DMaterialFactory_v21::newColorChanNum(int i_idx) const {
- u8 color_chan_num_index = mpMaterialInitData[mpMaterialID[i_idx]].mColorChanNumIdx;
- if (color_chan_num_index != 0xff) {
- return mpColorChanNum[color_chan_num_index];
- } else {
- return 0;
- }
-}
-
-/* 8033386C-80333A10 32E1AC 01A4+00 1/1 0/0 0/0 .text newColorChan__22J3DMaterialFactory_v21CFii
- */
-// J3DColorChan ctor
-#ifdef NONMATCHING
-J3DColorChan J3DMaterialFactory_v21::newColorChan(int i_idx, int i_no) const {
- J3DMaterialInitData_v21* mtl_init_data = &mpMaterialInitData[mpMaterialID[i_idx]];
- if (mtl_init_data->mColorChanIdx[i_no] != 0xffff) {
- return J3DColorChan(mpColorChanInfo[mtl_init_data->mColorChanIdx[i_no]]);
- } else {
- return J3DColorChan();
- }
-}
-#else
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm J3DColorChan J3DMaterialFactory_v21::newColorChan(int param_0, int param_1) const {
- nofralloc
-#include "asm/JSystem/J3DGraphLoader/J3DMaterialFactory_v21/newColorChan__22J3DMaterialFactory_v21CFii.s"
-}
-#pragma pop
-#endif
-
-/* 80333A10-80333A48 32E350 0038+00 1/1 0/0 0/0 .text newTexGenNum__22J3DMaterialFactory_v21CFi */
-u32 J3DMaterialFactory_v21::newTexGenNum(int i_idx) const {
- u8 tex_gen_num_index = mpMaterialInitData[mpMaterialID[i_idx]].mTexGenNumIdx;
- if (tex_gen_num_index != 0xff) {
- return mpTexGenNum[tex_gen_num_index];
- } else {
- return 0;
- }
-}
-
-/* 80333A48-80333AA8 32E388 0060+00 1/1 0/0 0/0 .text newTexCoord__22J3DMaterialFactory_v21CFii */
-J3DTexCoord J3DMaterialFactory_v21::newTexCoord(int i_idx, int i_no) const {
- u16 tex_coord_index = mpMaterialInitData[mpMaterialID[i_idx]].mTexCoordIdx[i_no];
- if (tex_coord_index != 0xffff) {
- return J3DTexCoord(mpTexCoordInfo[tex_coord_index]);
- } else {
- return J3DTexCoord();
- }
-}
-
-/* 80333AA8-80333B30 32E3E8 0088+00 1/1 0/0 0/0 .text newTexMtx__22J3DMaterialFactory_v21CFii */
-J3DTexMtx* J3DMaterialFactory_v21::newTexMtx(int i_idx, int i_no) const {
- J3DTexMtx* tex_mtx = NULL;
- J3DMaterialInitData_v21* mtl_init_data = &mpMaterialInitData[mpMaterialID[i_idx]];
- if (mtl_init_data->mTexMtxIdx[i_no] != 0xffff) {
- tex_mtx = new J3DTexMtx(mpTexMtxInfo[mtl_init_data->mTexMtxIdx[i_no]]);
- }
- return tex_mtx;
-}
-
-/* 80333B30-80333B70 32E470 0040+00 1/1 0/0 0/0 .text newCullMode__22J3DMaterialFactory_v21CFi */
-u8 J3DMaterialFactory_v21::newCullMode(int i_idx) const {
- u8 cull_mode_index = mpMaterialInitData[mpMaterialID[i_idx]].mCullModeIdx;
- if (cull_mode_index != 0xff) {
- return mpCullMode[cull_mode_index];
- } else {
- return 0xff;
- }
-}
-
-/* 80333B70-80333BB8 32E4B0 0048+00 1/1 0/0 0/0 .text newTexNo__22J3DMaterialFactory_v21CFii */
-u16 J3DMaterialFactory_v21::newTexNo(int i_idx, int i_no) const {
- u16 tex_no_index = mpMaterialInitData[mpMaterialID[i_idx]].mTexNoIdx[i_no];
- if (tex_no_index != 0xffff) {
- return mpTexNo[tex_no_index];
- } else {
- return 0xffff;
- }
-}
-
-/* 80333BB8-80333C04 32E4F8 004C+00 1/1 0/0 0/0 .text newTevOrder__22J3DMaterialFactory_v21CFii */
-J3DTevOrder J3DMaterialFactory_v21::newTevOrder(int i_idx, int i_no) const {
- J3DMaterialInitData_v21* mtl_init_data = &mpMaterialInitData[mpMaterialID[i_idx]];
- if (mtl_init_data->mTevOrderIdx[i_no] != 0xffff) {
- return J3DTevOrder(mpTevOrderInfo[mtl_init_data->mTevOrderIdx[i_no]]);
- } else {
- return J3DTevOrder();
- }
-}
-
-/* 80333C04-80333C74 32E544 0070+00 1/1 0/0 0/0 .text newTevColor__22J3DMaterialFactory_v21CFii */
-J3DGXColorS10 J3DMaterialFactory_v21::newTevColor(int i_idx, int i_no) const {
- GXColorS10 defaultTevColor = {0,0,0,0};
- J3DGXColorS10 dflt = defaultTevColor;
- J3DMaterialInitData_v21* mtl_init_data = &mpMaterialInitData[mpMaterialID[i_idx]];
- if (mtl_init_data->mTevColorIdx[i_no] != 0xffff) {
- return mpTevColor[mtl_init_data->mTevColorIdx[i_no]];
- } else {
- return defaultTevColor;
- }
-}
-
-/* 80333C74-80333CD0 32E5B4 005C+00 1/1 0/0 0/0 .text newTevKColor__22J3DMaterialFactory_v21CFii
- */
-J3DGXColor J3DMaterialFactory_v21::newTevKColor(int i_idx, int param_1) const {
- GXColor defaultColor = {0xff,0xff,0xff,0xff};
- J3DGXColor defaultJ3DGXColor = J3DGXColor(defaultColor);
- J3DMaterialInitData_v21* mtl_init_data = &mpMaterialInitData[mpMaterialID[i_idx]];
- if (mtl_init_data->mTevKColorIdx[param_1] != 0xffff) {
- return J3DGXColor(mpTevKColor[mtl_init_data->mTevKColorIdx[param_1]]);
- }
- return J3DGXColor(defaultJ3DGXColor);
-}
-
-/* 80333CD0-80333D08 32E610 0038+00 1/1 0/0 0/0 .text newTevStageNum__22J3DMaterialFactory_v21CFi
- */
-u8 J3DMaterialFactory_v21::newTevStageNum(int i_idx) const {
- u8 tev_stage_num_index = mpMaterialInitData[mpMaterialID[i_idx]].mTevStageNumIdx;
- if (tev_stage_num_index != 0xff) {
- return mpTevStageNum[tev_stage_num_index];
- } else {
- return 0xff;
- }
-}
-
-/* 80333D08-80333D68 32E648 0060+00 1/1 0/0 0/0 .text newTevStage__22J3DMaterialFactory_v21CFii */
-J3DTevStage J3DMaterialFactory_v21::newTevStage(int i_idx, int i_no) const {
- u16 tev_stage_index = mpMaterialInitData[mpMaterialID[i_idx]].mTevStageIdx[i_no];
- if (tev_stage_index != 0xffff) {
- return J3DTevStage(mpTevStageInfo[tev_stage_index]);
- } else {
- return J3DTevStage();
- }
-}
-
-/* 80333D68-80333E04 32E6A8 009C+00 1/1 0/0 0/0 .text
- * newTevSwapModeTable__22J3DMaterialFactory_v21CFii */
-J3DTevSwapModeTable J3DMaterialFactory_v21::newTevSwapModeTable(int i_idx, int param_1) const {
- J3DMaterialInitData_v21* mtl_init_data = &mpMaterialInitData[mpMaterialID[i_idx]];
- if (mtl_init_data->mTevSwapModeTableIdx[param_1] != 0xffff) {
- return J3DTevSwapModeTable(mpTevSwapModeTableInfo[mtl_init_data->mTevSwapModeTableIdx[param_1]]);
- }
- return J3DTevSwapModeTable(j3dDefaultTevSwapModeTable);
-}
-
-/* 80333E04-80333EE0 32E744 00DC+00 1/1 0/0 0/0 .text newFog__22J3DMaterialFactory_v21CFi
- */
-J3DFog J3DMaterialFactory_v21::newFog(int i_idx) const {
- J3DFog fog;
- u16 fog_index = mpMaterialInitData[mpMaterialID[i_idx]].mFogIdx;
- if (fog_index != 0xffff) {
- fog.setFogInfo(mpFogInfo[fog_index]);
- }
- return fog;
-}
-
-/* 80333EE0-80333F60 32E820 0080+00 1/1 0/0 0/0 .text newAlphaComp__22J3DMaterialFactory_v21CFi */
-// calcAlphaCmpID issue
-#ifdef NONMATCHING
-J3DAlphaComp J3DMaterialFactory_v21::newAlphaComp(int i_idx) const {
- J3DMaterialInitData_v21* mtl_init_data = &mpMaterialInitData[mpMaterialID[i_idx]];
- if (mtl_init_data->mAlphaCompIdx != 0xffff) {
- return J3DAlphaComp(mpAlphaCompInfo[mtl_init_data->mAlphaCompIdx]);
- }
- return J3DAlphaComp(0xffff);
-}
-#else
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm J3DAlphaComp J3DMaterialFactory_v21::newAlphaComp(int param_0) const {
- nofralloc
-#include "asm/JSystem/J3DGraphLoader/J3DMaterialFactory_v21/newAlphaComp__22J3DMaterialFactory_v21CFi.s"
-}
-#pragma pop
-#endif
-
-/* 80333F60-80333FA4 32E8A0 0044+00 1/1 0/0 0/0 .text newBlend__22J3DMaterialFactory_v21CFi */
-J3DBlend J3DMaterialFactory_v21::newBlend(int i_idx) const {
- J3DMaterialInitData_v21* mtl_init_data = &mpMaterialInitData[mpMaterialID[i_idx]];
- if (mtl_init_data->mBlendIdx != 0xffff) {
- return J3DBlend(mpBlendInfo[mtl_init_data->mBlendIdx]);
- } else {
- return J3DBlend(j3dDefaultBlendInfo);
- }
-}
-
-/* 80333FA4-80334004 32E8E4 0060+00 1/1 0/0 0/0 .text newZMode__22J3DMaterialFactory_v21CFi */
-J3DZMode J3DMaterialFactory_v21::newZMode(int i_idx) const {
- J3DMaterialInitData_v21* mtl_init_data = &mpMaterialInitData[mpMaterialID[i_idx]];
- if (mtl_init_data->mZModeIdx != 0xff) {
- return J3DZMode(mpZModeInfo[mtl_init_data->mZModeIdx]);
- } else {
- return J3DZMode();
- }
-}
-
-/* 80334004-8033403C 32E944 0038+00 1/1 0/0 0/0 .text newZCompLoc__22J3DMaterialFactory_v21CFi */
-u8 J3DMaterialFactory_v21::newZCompLoc(int i_idx) const {
- J3DMaterialInitData_v21* mtl_init_data = &mpMaterialInitData[mpMaterialID[i_idx]];
- if (mtl_init_data->mZCompLocIdx != 0xff){
- return mpZCompLoc[mtl_init_data->mZCompLocIdx];
- } else {
- return 0;
- }
-}
-
-/* 8033403C-80334074 32E97C 0038+00 1/1 0/0 0/0 .text newDither__22J3DMaterialFactory_v21CFi */
-u8 J3DMaterialFactory_v21::newDither(int i_idx) const {
- J3DMaterialInitData_v21* mtl_init_data = &mpMaterialInitData[mpMaterialID[i_idx]];
- if (mtl_init_data->mDitherIdx != 0xff){
- return mpDither[mtl_init_data->mDitherIdx];
- } else {
- return 1;
- }
-}
-
-/* 80334074-80334118 32E9B4 00A4+00 1/1 0/0 0/0 .text newNBTScale__22J3DMaterialFactory_v21CFi */
-J3DNBTScale J3DMaterialFactory_v21::newNBTScale(int i_idx) const {
- J3DNBTScale dflt(j3dDefaultNBTScaleInfo);
- J3DMaterialInitData_v21* mtl_init_data = &mpMaterialInitData[mpMaterialID[i_idx]];
- if (mtl_init_data->mNBTScaleIdx != 0xffff) {
- return J3DNBTScale(mpNBTScaleInfo[mtl_init_data->mNBTScaleIdx]);
- } else {
- return dflt;
- }
-}
+//
+// Generated By: dol2asm
+// Translation Unit: J3DMaterialFactory_v21
+//
+
+#include "JSystem/J3DGraphLoader/J3DMaterialFactory_v21.h"
+#include "JSystem/JSupport/JSupport.h"
+#include "dol2asm.h"
+
+//
+// Forward References:
+//
+
+extern "C" void __ct__22J3DMaterialFactory_v21FRC20J3DMaterialBlock_v21();
+extern "C" void countUniqueMaterials__22J3DMaterialFactory_v21Fv();
+extern "C" void countTexGens__22J3DMaterialFactory_v21CFi();
+extern "C" void countStages__22J3DMaterialFactory_v21CFi();
+extern "C" void create__22J3DMaterialFactory_v21CFP11J3DMaterialiUl();
+extern "C" void newMatColor__22J3DMaterialFactory_v21CFii();
+extern "C" void newColorChanNum__22J3DMaterialFactory_v21CFi();
+extern "C" void newColorChan__22J3DMaterialFactory_v21CFii();
+extern "C" void newTexGenNum__22J3DMaterialFactory_v21CFi();
+extern "C" void newTexCoord__22J3DMaterialFactory_v21CFii();
+extern "C" void newTexMtx__22J3DMaterialFactory_v21CFii();
+extern "C" void newCullMode__22J3DMaterialFactory_v21CFi();
+extern "C" void newTexNo__22J3DMaterialFactory_v21CFii();
+extern "C" void newTevOrder__22J3DMaterialFactory_v21CFii();
+extern "C" void newTevColor__22J3DMaterialFactory_v21CFii();
+extern "C" void newTevKColor__22J3DMaterialFactory_v21CFii();
+extern "C" void newTevStageNum__22J3DMaterialFactory_v21CFi();
+extern "C" void newTevStage__22J3DMaterialFactory_v21CFii();
+extern "C" void newTevSwapModeTable__22J3DMaterialFactory_v21CFii();
+extern "C" void newFog__22J3DMaterialFactory_v21CFi();
+extern "C" void newAlphaComp__22J3DMaterialFactory_v21CFi();
+extern "C" void newBlend__22J3DMaterialFactory_v21CFi();
+extern "C" void newZMode__22J3DMaterialFactory_v21CFi();
+extern "C" void newZCompLoc__22J3DMaterialFactory_v21CFi();
+extern "C" void newDither__22J3DMaterialFactory_v21CFi();
+extern "C" void newNBTScale__22J3DMaterialFactory_v21CFi();
+extern "C" void func_80334118(void* _this, void const*, void const*);
+
+//
+// External References:
+//
+
+extern "C" void __ct__11J3DTevStageFv();
+extern "C" void __ct__11J3DTevStageFRC15J3DTevStageInfo();
+extern "C" void* __nw__FUl();
+extern "C" GXColorS10* func_802F41E8(void const*, void const*);
+extern "C" u8* func_802F4260(void const*, void const*);
+extern "C" GXColor* func_802F4278(void const*, void const*);
+extern "C" GXCullMode* func_802F4290(void const*, void const*);
+extern "C" u16* func_802F42C0(void const*, void const*);
+extern "C" void createColorBlock__11J3DMaterialFUl();
+extern "C" void createTexGenBlock__11J3DMaterialFUl();
+extern "C" void createTevBlock__11J3DMaterialFi();
+extern "C" void createIndBlock__11J3DMaterialFi();
+extern "C" void createPEBlock__11J3DMaterialFUlUl();
+extern "C" void initialize__11J3DMaterialFv();
+extern "C" void __as__13J3DTexMtxInfoFRC13J3DTexMtxInfo();
+extern "C" void __as__10J3DFogInfoFRC10J3DFogInfo();
+extern "C" void func_80332C24(void* _this, void const*, void const*);
+extern "C" void func_80332C3C(void* _this, void const*, void const*);
+extern "C" void func_80332C54(void* _this, void const*, void const*);
+extern "C" void func_80332C6C(void* _this, void const*, void const*);
+extern "C" void func_80332C84(void* _this, void const*, void const*);
+extern "C" void func_80332C9C(void* _this, void const*, void const*);
+extern "C" void func_80332CB4(void* _this, void const*, void const*);
+extern "C" void func_80332CCC(void* _this, void const*, void const*);
+extern "C" void func_80332CE4(void* _this, void const*, void const*);
+extern "C" void func_80332CFC(void* _this, void const*, void const*);
+extern "C" void func_80332D14(void* _this, void const*, void const*);
+extern "C" void func_80332D2C(void* _this, void const*, void const*);
+extern "C" void func_80332D5C(void* _this, void const*, void const*);
+extern "C" void _savegpr_19();
+extern "C" void _savegpr_29();
+extern "C" void _restgpr_19();
+extern "C" void _restgpr_29();
+extern "C" extern void* __vt__11J3DMaterial[12];
+
+//
+// Declarations:
+//
+
+/* 80332DA4-80332F84 32D6E4 01E0+00 0/0 2/2 0/0 .text
+ * __ct__22J3DMaterialFactory_v21FRC20J3DMaterialBlock_v21 */
+J3DMaterialFactory_v21::J3DMaterialFactory_v21(J3DMaterialBlock_v21 const& i_block) {
+ mMaterialNum = i_block.mMaterialNum;
+ mpMaterialInitData = JSUConvertOffsetToPtr<J3DMaterialInitData_v21>(&i_block, i_block.mpMaterialInitData);
+ mpMaterialID = JSUConvertOffsetToPtr<u16>(&i_block, i_block.mpMaterialID);
+ mpCullMode = JSUConvertOffsetToPtr<GXCullMode>(&i_block, i_block.mpCullMode);
+ mpMatColor = JSUConvertOffsetToPtr<GXColor>(&i_block, i_block.mpMatColor);
+ mpColorChanNum = JSUConvertOffsetToPtr<u8>(&i_block, i_block.mpColorChanNum);
+ mpColorChanInfo = JSUConvertOffsetToPtr<J3DColorChanInfo>(&i_block, i_block.mpColorChanInfo);
+ mpTexGenNum = JSUConvertOffsetToPtr<u8>(&i_block, i_block.mpTexGenNum);
+ mpTexCoordInfo = JSUConvertOffsetToPtr<J3DTexCoordInfo>(&i_block, i_block.mpTexCoordInfo);
+ mpTexCoord2Info = JSUConvertOffsetToPtr<J3DTexCoord2Info>(&i_block, i_block.mpTexCoord2Info);
+ mpTexMtxInfo = JSUConvertOffsetToPtr<J3DTexMtxInfo>(&i_block, i_block.mpTexMtxInfo);
+ field_0x28 = JSUConvertOffsetToPtr<J3DTexMtxInfo>(&i_block, i_block.field_0x38);
+ mpTexNo = JSUConvertOffsetToPtr<u16>(&i_block, i_block.mpTexNo);
+ mpTevOrderInfo = JSUConvertOffsetToPtr<J3DTevOrderInfo>(&i_block, i_block.mpTevOrderInfo);
+ mpTevColor = JSUConvertOffsetToPtr<GXColorS10>(&i_block, i_block.mpTevColor);
+ mpTevKColor = JSUConvertOffsetToPtr<GXColor>(&i_block, i_block.mpTevKColor);
+ mpTevStageNum = JSUConvertOffsetToPtr<u8>(&i_block, i_block.mpTevStageNum);
+ mpTevStageInfo = JSUConvertOffsetToPtr<J3DTevStageInfo>(&i_block, i_block.mpTevStageInfo);
+ mpTevSwapModeInfo = JSUConvertOffsetToPtr<J3DTevSwapModeInfo>(&i_block, i_block.mpTevSwapModeInfo);
+ mpTevSwapModeTableInfo = JSUConvertOffsetToPtr<J3DTevSwapModeTableInfo>(&i_block, i_block.mpTevSwapModeTableInfo);
+ mpFogInfo = JSUConvertOffsetToPtr<J3DFogInfo>(&i_block, i_block.mpFogInfo);
+ mpAlphaCompInfo = JSUConvertOffsetToPtr<J3DAlphaCompInfo>(&i_block, i_block.mpAlphaCompInfo);
+ mpBlendInfo = JSUConvertOffsetToPtr<J3DBlendInfo>(&i_block, i_block.mpBlendInfo);
+ mpZModeInfo = JSUConvertOffsetToPtr<J3DZModeInfo>(&i_block, i_block.mpZModeInfo);
+ mpZCompLoc = JSUConvertOffsetToPtr<u8>(&i_block, i_block.mpZCompLoc);
+ mpDither = JSUConvertOffsetToPtr<u8>(&i_block, i_block.mpDither);
+ mpNBTScaleInfo = JSUConvertOffsetToPtr<J3DNBTScaleInfo>(&i_block, i_block.mpNBTScaleInfo);
+}
+
+/* 80332F84-80332FA8 32D8C4 0024+00 0/0 1/1 0/0 .text
+ * countUniqueMaterials__22J3DMaterialFactory_v21Fv */
+u16 J3DMaterialFactory_v21::countUniqueMaterials() {
+ u16 i;
+ for (i = 0; i < mMaterialNum; i++) {
+ }
+ return i;
+}
+
+/* 80332FA8-80332FE0 32D8E8 0038+00 1/1 0/0 0/0 .text countTexGens__22J3DMaterialFactory_v21CFi */
+u32 J3DMaterialFactory_v21::countTexGens(int i_idx) const {
+ u8 tex_gen_num_index = mpMaterialInitData[mpMaterialID[i_idx]].mTexGenNumIdx;
+ if (tex_gen_num_index != 0xff) {
+ return mpTexGenNum[tex_gen_num_index];
+ }
+ return 0;
+}
+
+/* 80332FE0-80333068 32D920 0088+00 1/1 0/0 0/0 .text countStages__22J3DMaterialFactory_v21CFi */
+u32 J3DMaterialFactory_v21::countStages(int i_idx) const {
+ J3DMaterialInitData_v21* init_data = &mpMaterialInitData[mpMaterialID[i_idx]];
+ u32 count1 = 0;
+ u32 count2 = 0;
+ u8 tev_stage_num_index = init_data->mTevStageNumIdx;
+ if (tev_stage_num_index != 0xff) {
+ count2 = mpTevStageNum[tev_stage_num_index];
+ }
+ for (int i = 0; i < 8; i++) {
+ if (init_data->mTexNoIdx[i] != 0xffff) {
+ count1++;
+ }
+ }
+ if (count2 != count1 && count1 != 0) {
+ if (count2 > count1) {
+ return count2;
+ } else {
+ return count1;
+ }
+ }
+ return count2;
+}
+
+/* 80333068-803337D8 32D9A8 0770+00 0/0 2/2 0/0 .text
+ * create__22J3DMaterialFactory_v21CFP11J3DMaterialiUl */
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+asm J3DMaterial* J3DMaterialFactory_v21::create(J3DMaterial* param_0, int param_1, u32 param_2) const {
+ nofralloc
+#include "asm/JSystem/J3DGraphLoader/J3DMaterialFactory_v21/create__22J3DMaterialFactory_v21CFP11J3DMaterialiUl.s"
+}
+#pragma pop
+
+/* 803337D8-80333834 32E118 005C+00 1/1 0/0 0/0 .text newMatColor__22J3DMaterialFactory_v21CFii */
+J3DGXColor J3DMaterialFactory_v21::newMatColor(int i_idx, int i_no) const {
+ GXColor defaultColor = {0xff,0xff,0xff,0xff};
+ J3DGXColor defaultJ3DGXColor = J3DGXColor(defaultColor);
+ J3DMaterialInitData_v21* mtl_init_data = &mpMaterialInitData[mpMaterialID[i_idx]];
+ if (mtl_init_data->mMatColorIdx[i_no] != 0xffff) {
+ return J3DGXColor(mpMatColor[mtl_init_data->mMatColorIdx[i_no]]);
+ }
+ return J3DGXColor(defaultJ3DGXColor);
+}
+
+/* 80333834-8033386C 32E174 0038+00 1/1 0/0 0/0 .text newColorChanNum__22J3DMaterialFactory_v21CFi
+ */
+u8 J3DMaterialFactory_v21::newColorChanNum(int i_idx) const {
+ u8 color_chan_num_index = mpMaterialInitData[mpMaterialID[i_idx]].mColorChanNumIdx;
+ if (color_chan_num_index != 0xff) {
+ return mpColorChanNum[color_chan_num_index];
+ } else {
+ return 0;
+ }
+}
+
+/* 8033386C-80333A10 32E1AC 01A4+00 1/1 0/0 0/0 .text newColorChan__22J3DMaterialFactory_v21CFii
+ */
+// J3DColorChan ctor
+#ifdef NONMATCHING
+J3DColorChan J3DMaterialFactory_v21::newColorChan(int i_idx, int i_no) const {
+ J3DMaterialInitData_v21* mtl_init_data = &mpMaterialInitData[mpMaterialID[i_idx]];
+ if (mtl_init_data->mColorChanIdx[i_no] != 0xffff) {
+ return J3DColorChan(mpColorChanInfo[mtl_init_data->mColorChanIdx[i_no]]);
+ } else {
+ return J3DColorChan();
+ }
+}
+#else
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+asm J3DColorChan J3DMaterialFactory_v21::newColorChan(int param_0, int param_1) const {
+ nofralloc
+#include "asm/JSystem/J3DGraphLoader/J3DMaterialFactory_v21/newColorChan__22J3DMaterialFactory_v21CFii.s"
+}
+#pragma pop
+#endif
+
+/* 80333A10-80333A48 32E350 0038+00 1/1 0/0 0/0 .text newTexGenNum__22J3DMaterialFactory_v21CFi */
+u32 J3DMaterialFactory_v21::newTexGenNum(int i_idx) const {
+ u8 tex_gen_num_index = mpMaterialInitData[mpMaterialID[i_idx]].mTexGenNumIdx;
+ if (tex_gen_num_index != 0xff) {
+ return mpTexGenNum[tex_gen_num_index];
+ } else {
+ return 0;
+ }
+}
+
+/* 80333A48-80333AA8 32E388 0060+00 1/1 0/0 0/0 .text newTexCoord__22J3DMaterialFactory_v21CFii */
+J3DTexCoord J3DMaterialFactory_v21::newTexCoord(int i_idx, int i_no) const {
+ u16 tex_coord_index = mpMaterialInitData[mpMaterialID[i_idx]].mTexCoordIdx[i_no];
+ if (tex_coord_index != 0xffff) {
+ return J3DTexCoord(mpTexCoordInfo[tex_coord_index]);
+ } else {
+ return J3DTexCoord();
+ }
+}
+
+/* 80333AA8-80333B30 32E3E8 0088+00 1/1 0/0 0/0 .text newTexMtx__22J3DMaterialFactory_v21CFii */
+J3DTexMtx* J3DMaterialFactory_v21::newTexMtx(int i_idx, int i_no) const {
+ J3DTexMtx* tex_mtx = NULL;
+ J3DMaterialInitData_v21* mtl_init_data = &mpMaterialInitData[mpMaterialID[i_idx]];
+ if (mtl_init_data->mTexMtxIdx[i_no] != 0xffff) {
+ tex_mtx = new J3DTexMtx(mpTexMtxInfo[mtl_init_data->mTexMtxIdx[i_no]]);
+ }
+ return tex_mtx;
+}
+
+/* 80333B30-80333B70 32E470 0040+00 1/1 0/0 0/0 .text newCullMode__22J3DMaterialFactory_v21CFi */
+u8 J3DMaterialFactory_v21::newCullMode(int i_idx) const {
+ u8 cull_mode_index = mpMaterialInitData[mpMaterialID[i_idx]].mCullModeIdx;
+ if (cull_mode_index != 0xff) {
+ return mpCullMode[cull_mode_index];
+ } else {
+ return 0xff;
+ }
+}
+
+/* 80333B70-80333BB8 32E4B0 0048+00 1/1 0/0 0/0 .text newTexNo__22J3DMaterialFactory_v21CFii */
+u16 J3DMaterialFactory_v21::newTexNo(int i_idx, int i_no) const {
+ u16 tex_no_index = mpMaterialInitData[mpMaterialID[i_idx]].mTexNoIdx[i_no];
+ if (tex_no_index != 0xffff) {
+ return mpTexNo[tex_no_index];
+ } else {
+ return 0xffff;
+ }
+}
+
+/* 80333BB8-80333C04 32E4F8 004C+00 1/1 0/0 0/0 .text newTevOrder__22J3DMaterialFactory_v21CFii */
+J3DTevOrder J3DMaterialFactory_v21::newTevOrder(int i_idx, int i_no) const {
+ J3DMaterialInitData_v21* mtl_init_data = &mpMaterialInitData[mpMaterialID[i_idx]];
+ if (mtl_init_data->mTevOrderIdx[i_no] != 0xffff) {
+ return J3DTevOrder(mpTevOrderInfo[mtl_init_data->mTevOrderIdx[i_no]]);
+ } else {
+ return J3DTevOrder();
+ }
+}
+
+/* 80333C04-80333C74 32E544 0070+00 1/1 0/0 0/0 .text newTevColor__22J3DMaterialFactory_v21CFii */
+J3DGXColorS10 J3DMaterialFactory_v21::newTevColor(int i_idx, int i_no) const {
+ GXColorS10 defaultTevColor = {0,0,0,0};
+ J3DGXColorS10 dflt = defaultTevColor;
+ J3DMaterialInitData_v21* mtl_init_data = &mpMaterialInitData[mpMaterialID[i_idx]];
+ if (mtl_init_data->mTevColorIdx[i_no] != 0xffff) {
+ return mpTevColor[mtl_init_data->mTevColorIdx[i_no]];
+ } else {
+ return defaultTevColor;
+ }
+}
+
+/* 80333C74-80333CD0 32E5B4 005C+00 1/1 0/0 0/0 .text newTevKColor__22J3DMaterialFactory_v21CFii
+ */
+J3DGXColor J3DMaterialFactory_v21::newTevKColor(int i_idx, int param_1) const {
+ GXColor defaultColor = {0xff,0xff,0xff,0xff};
+ J3DGXColor defaultJ3DGXColor = J3DGXColor(defaultColor);
+ J3DMaterialInitData_v21* mtl_init_data = &mpMaterialInitData[mpMaterialID[i_idx]];
+ if (mtl_init_data->mTevKColorIdx[param_1] != 0xffff) {
+ return J3DGXColor(mpTevKColor[mtl_init_data->mTevKColorIdx[param_1]]);
+ }
+ return J3DGXColor(defaultJ3DGXColor);
+}
+
+/* 80333CD0-80333D08 32E610 0038+00 1/1 0/0 0/0 .text newTevStageNum__22J3DMaterialFactory_v21CFi
+ */
+u8 J3DMaterialFactory_v21::newTevStageNum(int i_idx) const {
+ u8 tev_stage_num_index = mpMaterialInitData[mpMaterialID[i_idx]].mTevStageNumIdx;
+ if (tev_stage_num_index != 0xff) {
+ return mpTevStageNum[tev_stage_num_index];
+ } else {
+ return 0xff;
+ }
+}
+
+/* 80333D08-80333D68 32E648 0060+00 1/1 0/0 0/0 .text newTevStage__22J3DMaterialFactory_v21CFii */
+J3DTevStage J3DMaterialFactory_v21::newTevStage(int i_idx, int i_no) const {
+ u16 tev_stage_index = mpMaterialInitData[mpMaterialID[i_idx]].mTevStageIdx[i_no];
+ if (tev_stage_index != 0xffff) {
+ return J3DTevStage(mpTevStageInfo[tev_stage_index]);
+ } else {
+ return J3DTevStage();
+ }
+}
+
+/* 80333D68-80333E04 32E6A8 009C+00 1/1 0/0 0/0 .text
+ * newTevSwapModeTable__22J3DMaterialFactory_v21CFii */
+J3DTevSwapModeTable J3DMaterialFactory_v21::newTevSwapModeTable(int i_idx, int param_1) const {
+ J3DMaterialInitData_v21* mtl_init_data = &mpMaterialInitData[mpMaterialID[i_idx]];
+ if (mtl_init_data->mTevSwapModeTableIdx[param_1] != 0xffff) {
+ return J3DTevSwapModeTable(mpTevSwapModeTableInfo[mtl_init_data->mTevSwapModeTableIdx[param_1]]);
+ }
+ return J3DTevSwapModeTable(j3dDefaultTevSwapModeTable);
+}
+
+/* 80333E04-80333EE0 32E744 00DC+00 1/1 0/0 0/0 .text newFog__22J3DMaterialFactory_v21CFi
+ */
+J3DFog J3DMaterialFactory_v21::newFog(int i_idx) const {
+ J3DFog fog;
+ u16 fog_index = mpMaterialInitData[mpMaterialID[i_idx]].mFogIdx;
+ if (fog_index != 0xffff) {
+ fog.setFogInfo(mpFogInfo[fog_index]);
+ }
+ return fog;
+}
+
+/* 80333EE0-80333F60 32E820 0080+00 1/1 0/0 0/0 .text newAlphaComp__22J3DMaterialFactory_v21CFi */
+// calcAlphaCmpID issue
+#ifdef NONMATCHING
+J3DAlphaComp J3DMaterialFactory_v21::newAlphaComp(int i_idx) const {
+ J3DMaterialInitData_v21* mtl_init_data = &mpMaterialInitData[mpMaterialID[i_idx]];
+ if (mtl_init_data->mAlphaCompIdx != 0xffff) {
+ return J3DAlphaComp(mpAlphaCompInfo[mtl_init_data->mAlphaCompIdx]);
+ }
+ return J3DAlphaComp(0xffff);
+}
+#else
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+asm J3DAlphaComp J3DMaterialFactory_v21::newAlphaComp(int param_0) const {
+ nofralloc
+#include "asm/JSystem/J3DGraphLoader/J3DMaterialFactory_v21/newAlphaComp__22J3DMaterialFactory_v21CFi.s"
+}
+#pragma pop
+#endif
+
+/* 80333F60-80333FA4 32E8A0 0044+00 1/1 0/0 0/0 .text newBlend__22J3DMaterialFactory_v21CFi */
+J3DBlend J3DMaterialFactory_v21::newBlend(int i_idx) const {
+ J3DMaterialInitData_v21* mtl_init_data = &mpMaterialInitData[mpMaterialID[i_idx]];
+ if (mtl_init_data->mBlendIdx != 0xffff) {
+ return J3DBlend(mpBlendInfo[mtl_init_data->mBlendIdx]);
+ } else {
+ return J3DBlend(j3dDefaultBlendInfo);
+ }
+}
+
+/* 80333FA4-80334004 32E8E4 0060+00 1/1 0/0 0/0 .text newZMode__22J3DMaterialFactory_v21CFi */
+J3DZMode J3DMaterialFactory_v21::newZMode(int i_idx) const {
+ J3DMaterialInitData_v21* mtl_init_data = &mpMaterialInitData[mpMaterialID[i_idx]];
+ if (mtl_init_data->mZModeIdx != 0xff) {
+ return J3DZMode(mpZModeInfo[mtl_init_data->mZModeIdx]);
+ } else {
+ return J3DZMode();
+ }
+}
+
+/* 80334004-8033403C 32E944 0038+00 1/1 0/0 0/0 .text newZCompLoc__22J3DMaterialFactory_v21CFi */
+u8 J3DMaterialFactory_v21::newZCompLoc(int i_idx) const {
+ J3DMaterialInitData_v21* mtl_init_data = &mpMaterialInitData[mpMaterialID[i_idx]];
+ if (mtl_init_data->mZCompLocIdx != 0xff){
+ return mpZCompLoc[mtl_init_data->mZCompLocIdx];
+ } else {
+ return 0;
+ }
+}
+
+/* 8033403C-80334074 32E97C 0038+00 1/1 0/0 0/0 .text newDither__22J3DMaterialFactory_v21CFi */
+u8 J3DMaterialFactory_v21::newDither(int i_idx) const {
+ J3DMaterialInitData_v21* mtl_init_data = &mpMaterialInitData[mpMaterialID[i_idx]];
+ if (mtl_init_data->mDitherIdx != 0xff){
+ return mpDither[mtl_init_data->mDitherIdx];
+ } else {
+ return 1;
+ }
+}
+
+/* 80334074-80334118 32E9B4 00A4+00 1/1 0/0 0/0 .text newNBTScale__22J3DMaterialFactory_v21CFi */
+J3DNBTScale J3DMaterialFactory_v21::newNBTScale(int i_idx) const {
+ J3DNBTScale dflt(j3dDefaultNBTScaleInfo);
+ J3DMaterialInitData_v21* mtl_init_data = &mpMaterialInitData[mpMaterialID[i_idx]];
+ if (mtl_init_data->mNBTScaleIdx != 0xffff) {
+ return J3DNBTScale(mpNBTScaleInfo[mtl_init_data->mNBTScaleIdx]);
+ } else {
+ return dflt;
+ }
+}
diff --git a/libs/JSystem/J3DGraphLoader/J3DModelLoader.cpp b/libs/JSystem/J3DGraphLoader/J3DModelLoader.cpp
index d852ec7b5e..df18b83891 100644
--- a/libs/JSystem/J3DGraphLoader/J3DModelLoader.cpp
+++ b/libs/JSystem/J3DGraphLoader/J3DModelLoader.cpp
@@ -8,9 +8,7 @@
#include "JSystem/J3DGraphLoader/J3DMaterialFactory.h"
#include "JSystem/J3DGraphLoader/J3DMaterialFactory_v21.h"
#include "JSystem/J3DGraphLoader/J3DShapeFactory.h"
-#include "JSystem/J3DGraphAnimator/J3DJointTree.h"
#include "JSystem/J3DGraphAnimator/J3DModelData.h"
-#include "JSystem/J3DGraphAnimator/J3DMaterialAttach.h"
#include "JSystem/J3DGraphBase/J3DMaterial.h"
#include "JSystem/JUtility/JUTNameTab.h"
#include "JSystem/JKernel/JKRHeap.h"
diff --git a/libs/JSystem/J3DGraphLoader/J3DShapeFactory.cpp b/libs/JSystem/J3DGraphLoader/J3DShapeFactory.cpp
index 60edda683f..a8f89a236e 100644
--- a/libs/JSystem/J3DGraphLoader/J3DShapeFactory.cpp
+++ b/libs/JSystem/J3DGraphLoader/J3DShapeFactory.cpp
@@ -8,7 +8,6 @@
#include "JSystem/JKernel/JKRHeap.h"
#include "JSystem/JSupport/JSupport.h"
#include "dolphin/os.h"
-#include "global.h"
//
// Forward References:
diff --git a/libs/JSystem/J3DU/J3DUClipper.cpp b/libs/JSystem/J3DU/J3DUClipper.cpp
index c215769d02..20cbc171bd 100644
--- a/libs/JSystem/J3DU/J3DUClipper.cpp
+++ b/libs/JSystem/J3DU/J3DUClipper.cpp
@@ -5,7 +5,6 @@
#include "JSystem/J3DU/J3DUClipper.h"
#include "math.h"
-#include "dolphin/types.h"
//
// Forward References:
diff --git a/libs/JSystem/JAudio2/JAIAudible.cpp b/libs/JSystem/JAudio2/JAIAudible.cpp
index 106c9ec73d..ac0faf8132 100644
--- a/libs/JSystem/JAudio2/JAIAudible.cpp
+++ b/libs/JSystem/JAudio2/JAIAudible.cpp
@@ -1,4 +1,3 @@
#include "JSystem/JAudio2/JAIAudible.h"
-#include "dolphin/types.h"
JAIAudible::~JAIAudible() {}
diff --git a/libs/JSystem/JAudio2/JAIAudience.cpp b/libs/JSystem/JAudio2/JAIAudience.cpp
index 92dec47721..8b563d0950 100644
--- a/libs/JSystem/JAudio2/JAIAudience.cpp
+++ b/libs/JSystem/JAudio2/JAIAudience.cpp
@@ -1,4 +1,3 @@
#include "JSystem/JAudio2/JAIAudience.h"
-#include "dolphin/types.h"
JAIAudience::~JAIAudience() {}
diff --git a/libs/JSystem/JAudio2/JAISe.cpp b/libs/JSystem/JAudio2/JAISe.cpp
index b344dee402..d35278eaa3 100644
--- a/libs/JSystem/JAudio2/JAISe.cpp
+++ b/libs/JSystem/JAudio2/JAISe.cpp
@@ -6,7 +6,6 @@
#include "JSystem/JAudio2/JAISe.h"
#include "JSystem/JAudio2/JAIAudience.h"
#include "JSystem/JAudio2/JAISeMgr.h"
-#include "JSystem/JSupport/JSUList.h"
#include "dolphin/types.h"
//
diff --git a/libs/JSystem/JAudio2/JAISeq.cpp b/libs/JSystem/JAudio2/JAISeq.cpp
index d00b503c66..b1dafa6ef9 100644
--- a/libs/JSystem/JAudio2/JAISeq.cpp
+++ b/libs/JSystem/JAudio2/JAISeq.cpp
@@ -5,9 +5,7 @@
#include "JSystem/JAudio2/JAISeq.h"
#include "JSystem/JAudio2/JAISeqMgr.h"
-#include "JSystem/JAudio2/JASCriticalSection.h"
#include "JSystem/JAudio2/JAISoundChild.h"
-#include "JSystem/JAudio2/JAIAudience.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "dol2asm.h"
diff --git a/libs/JSystem/JAudio2/JAISeqDataMgr.cpp b/libs/JSystem/JAudio2/JAISeqDataMgr.cpp
index ac7304c71d..be54b1a301 100644
--- a/libs/JSystem/JAudio2/JAISeqDataMgr.cpp
+++ b/libs/JSystem/JAudio2/JAISeqDataMgr.cpp
@@ -1,5 +1,4 @@
#include "JSystem/JAudio2/JAISeqDataMgr.h"
-#include "dolphin/types.h"
JAISeqDataUser::~JAISeqDataUser() {}
diff --git a/libs/JSystem/JAudio2/JAISeqMgr.cpp b/libs/JSystem/JAudio2/JAISeqMgr.cpp
index 89a1afa770..2452c36bf8 100644
--- a/libs/JSystem/JAudio2/JAISeqMgr.cpp
+++ b/libs/JSystem/JAudio2/JAISeqMgr.cpp
@@ -5,7 +5,6 @@
#include "JSystem/JAudio2/JAISeqMgr.h"
#include "JSystem/JAudio2/JAISeq.h"
-#include "JSystem/JAudio2/JASHeapCtrl.h"
#include "JSystem/JAudio2/JAISoundHandles.h"
#include "JSystem/JAudio2/JAISoundInfo.h"
#include "dol2asm.h"
diff --git a/libs/JSystem/JAudio2/JAISound.cpp b/libs/JSystem/JAudio2/JAISound.cpp
index b8de2969fd..ccec52ea7b 100644
--- a/libs/JSystem/JAudio2/JAISound.cpp
+++ b/libs/JSystem/JAudio2/JAISound.cpp
@@ -8,7 +8,6 @@
#include "JSystem/JAudio2/JAISoundHandles.h"
#include "JSystem/JAudio2/JASReport.h"
#include "JSystem/JAudio2/JASTrack.h"
-#include "global.h"
//
// Forward References:
diff --git a/libs/JSystem/JAudio2/JAISoundChild.cpp b/libs/JSystem/JAudio2/JAISoundChild.cpp
index f8721b0aad..81944b0d86 100644
--- a/libs/JSystem/JAudio2/JAISoundChild.cpp
+++ b/libs/JSystem/JAudio2/JAISoundChild.cpp
@@ -1,6 +1,5 @@
#include "JSystem/JAudio2/JAISoundChild.h"
#include "JSystem/JAudio2/JASTrack.h"
-#include "dolphin/types.h"
void JAISoundChild::init() {
mMove.init();
diff --git a/libs/JSystem/JAudio2/JAISoundParams.cpp b/libs/JSystem/JAudio2/JAISoundParams.cpp
index a7d8bc8e19..dcd0d10cd5 100644
--- a/libs/JSystem/JAudio2/JAISoundParams.cpp
+++ b/libs/JSystem/JAudio2/JAISoundParams.cpp
@@ -1,5 +1,4 @@
#include "JSystem/JAudio2/JAISoundParams.h"
-#include "dolphin/types.h"
void JAISoundParamsMove::moveVolume(f32 newValue, u32 count) {
if (count == 0) {
diff --git a/libs/JSystem/JAudio2/JAISoundStarter.cpp b/libs/JSystem/JAudio2/JAISoundStarter.cpp
index 073bac8c43..69ee1e5779 100644
--- a/libs/JSystem/JAudio2/JAISoundStarter.cpp
+++ b/libs/JSystem/JAudio2/JAISoundStarter.cpp
@@ -4,7 +4,6 @@
#include "JSystem/JAudio2/JAISoundStarter.h"
#include "JSystem/JAudio2/JAISoundHandles.h"
-#include "dolphin/types.h"
/* 802A2F6C-802A2F88 29D8AC 001C+00 0/0 1/1 0/0 .text __ct__15JAISoundStarterFb */
JAISoundStarter::JAISoundStarter(bool param_0) : JASGlobalInstance<JAISoundStarter>(param_0) {
diff --git a/libs/JSystem/JAudio2/JAIStream.cpp b/libs/JSystem/JAudio2/JAIStream.cpp
index f79efde35a..3eb5135227 100644
--- a/libs/JSystem/JAudio2/JAIStream.cpp
+++ b/libs/JSystem/JAudio2/JAIStream.cpp
@@ -5,8 +5,6 @@
#include "JSystem/JAudio2/JAIStream.h"
#include "JSystem/JAudio2/JAIStreamMgr.h"
-#include "JSystem/JAudio2/JASHeapCtrl.h"
-#include "JSystem/JAudio2/JAIAudience.h"
#include "JSystem/JAudio2/JAISoundChild.h"
#include "JSystem/JAudio2/JAIStreamDataMgr.h"
#include "JSystem/JKernel/JKRHeap.h"
diff --git a/libs/JSystem/JAudio2/JAIStreamDataMgr.cpp b/libs/JSystem/JAudio2/JAIStreamDataMgr.cpp
index 8c04a7a66c..3534a5bc16 100644
--- a/libs/JSystem/JAudio2/JAIStreamDataMgr.cpp
+++ b/libs/JSystem/JAudio2/JAIStreamDataMgr.cpp
@@ -1,5 +1,4 @@
#include "JSystem/JAudio2/JAIStreamDataMgr.h"
-#include "dolphin/types.h"
JAIStreamDataMgr::~JAIStreamDataMgr() {}
diff --git a/libs/JSystem/JAudio2/JASAiCtrl.cpp b/libs/JSystem/JAudio2/JASAiCtrl.cpp
index cf125fbc95..40b16b119b 100644
--- a/libs/JSystem/JAudio2/JASAiCtrl.cpp
+++ b/libs/JSystem/JAudio2/JASAiCtrl.cpp
@@ -9,10 +9,7 @@
#include "JSystem/JAudio2/JASCriticalSection.h"
#include "JSystem/JAudio2/JASDSPInterface.h"
#include "JSystem/JAudio2/JASHeapCtrl.h"
-#include "JSystem/JAudio2/JASLfo.h"
#include "JSystem/JAudio2/JASProbe.h"
-#include "JSystem/JAudio2/JASReport.h"
-#include "JSystem/JKernel/JKRSolidHeap.h"
#include "dol2asm.h"
#include "dolphin/ai.h"
#include "dolphin/os/OSCache.h"
diff --git a/libs/JSystem/JAudio2/JASAramStream.cpp b/libs/JSystem/JAudio2/JASAramStream.cpp
index 1084f2675c..2d5225f034 100644
--- a/libs/JSystem/JAudio2/JASAramStream.cpp
+++ b/libs/JSystem/JAudio2/JASAramStream.cpp
@@ -4,13 +4,10 @@
//
#include "JSystem/JAudio2/JASAramStream.h"
-#include "JSystem/JAudio2/JASAiCtrl.h"
#include "JSystem/JAudio2/JASChannel.h"
#include "JSystem/JAudio2/JASCriticalSection.h"
-#include "JSystem/JAudio2/JASDSPInterface.h"
#include "JSystem/JAudio2/JASDriverIF.h"
#include "JSystem/JAudio2/JASDvdThread.h"
-#include "JSystem/JKernel/JKRAram.h"
#include "JSystem/JKernel/JKRSolidHeap.h"
#include "dol2asm.h"
diff --git a/libs/JSystem/JAudio2/JASAudioReseter.cpp b/libs/JSystem/JAudio2/JASAudioReseter.cpp
index f77508f811..95fb409c50 100644
--- a/libs/JSystem/JAudio2/JASAudioReseter.cpp
+++ b/libs/JSystem/JAudio2/JASAudioReseter.cpp
@@ -7,7 +7,6 @@
#include "JSystem/JAudio2/JASAudioThread.h"
#include "JSystem/JAudio2/JASCriticalSection.h"
#include "JSystem/JAudio2/JASDriverIF.h"
-#include "dol2asm.h"
#include "dolphin/types.h"
//
diff --git a/libs/JSystem/JAudio2/JASAudioThread.cpp b/libs/JSystem/JAudio2/JASAudioThread.cpp
index 109fd30273..66cfbf711e 100644
--- a/libs/JSystem/JAudio2/JASAudioThread.cpp
+++ b/libs/JSystem/JAudio2/JASAudioThread.cpp
@@ -4,11 +4,9 @@
//
#include "JSystem/JAudio2/JASAudioThread.h"
-#include "JSystem/JAudio2/JASDriverIF.h"
#include "JSystem/JAudio2/JASHeapCtrl.h"
#include "JSystem/JKernel/JKRSolidHeap.h"
#include "dol2asm.h"
-#include "dolphin/os.h"
#include "dolphin/dsp.h"
//
diff --git a/libs/JSystem/JAudio2/JASBank.cpp b/libs/JSystem/JAudio2/JASBank.cpp
index c752cfcf9c..250c789a8e 100644
--- a/libs/JSystem/JAudio2/JASBank.cpp
+++ b/libs/JSystem/JAudio2/JASBank.cpp
@@ -4,9 +4,6 @@
//
#include "JSystem/JAudio2/JASBank.h"
-#include "JSystem/JAudio2/JASAiCtrl.h"
-#include "JSystem/JAudio2/JASBasicInst.h"
-#include "JSystem/JAudio2/JASBasicWaveBank.h"
#include "JSystem/JAudio2/JASChannel.h"
#include "dol2asm.h"
diff --git a/libs/JSystem/JAudio2/JASBasicWaveBank.cpp b/libs/JSystem/JAudio2/JASBasicWaveBank.cpp
index 19b4d1f4ce..3ed7767e1e 100644
--- a/libs/JSystem/JAudio2/JASBasicWaveBank.cpp
+++ b/libs/JSystem/JAudio2/JASBasicWaveBank.cpp
@@ -7,7 +7,6 @@
#include "JSystem/JAudio2/JASMutex.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "JSystem/JUtility/JUTAssert.h"
-#include "dol2asm.h"
//
// Types:
diff --git a/libs/JSystem/JAudio2/JASChannel.cpp b/libs/JSystem/JAudio2/JASChannel.cpp
index 8d74d1539a..2b7c8a3d6b 100644
--- a/libs/JSystem/JAudio2/JASChannel.cpp
+++ b/libs/JSystem/JAudio2/JASChannel.cpp
@@ -11,7 +11,6 @@
#include "JSystem/JSupport/JSupport.h"
#include "JSystem/JMath/JMATrigonometric.h"
#include "JSystem/JGeometry.h"
-#include "dol2asm.h"
//
// Forward References:
diff --git a/libs/JSystem/JAudio2/JASDSPInterface.cpp b/libs/JSystem/JAudio2/JASDSPInterface.cpp
index 9c601948c2..a93069b7ac 100644
--- a/libs/JSystem/JAudio2/JASDSPInterface.cpp
+++ b/libs/JSystem/JAudio2/JASDSPInterface.cpp
@@ -11,7 +11,6 @@
#include "JSystem/JAudio2/osdsp_task.h"
#include "JSystem/JAudio2/JASCriticalSection.h"
#include "JSystem/JKernel/JKRSolidHeap.h"
-#include "dolphin/dsp.h"
#include "dolphin/os/OSCache.h"
//
diff --git a/libs/JSystem/JAudio2/JASDvdThread.cpp b/libs/JSystem/JAudio2/JASDvdThread.cpp
index 9ed566f29f..3da1a6e22e 100644
--- a/libs/JSystem/JAudio2/JASDvdThread.cpp
+++ b/libs/JSystem/JAudio2/JASDvdThread.cpp
@@ -5,7 +5,6 @@
#include "JSystem/JAudio2/JASDvdThread.h"
#include "JSystem/JAudio2/JASTaskThread.h"
-#include "JSystem/JAudio2/JASHeapCtrl.h"
#include "JSystem/JKernel/JKRSolidHeap.h"
#include "dolphin/types.h"
diff --git a/libs/JSystem/JAudio2/JASHeapCtrl.cpp b/libs/JSystem/JAudio2/JASHeapCtrl.cpp
index 0dca0bbc74..8163429e94 100644
--- a/libs/JSystem/JAudio2/JASHeapCtrl.cpp
+++ b/libs/JSystem/JAudio2/JASHeapCtrl.cpp
@@ -5,8 +5,6 @@
#include "JSystem/JAudio2/JASHeapCtrl.h"
#include "JSystem/JAudio2/JASMutex.h"
-#include "JSystem/JKernel/JKRExpHeap.h"
-#include "JSystem/JKernel/JKRSolidHeap.h"
#include "JSystem/JUtility/JUTAssert.h"
#include "dol2asm.h"
diff --git a/libs/JSystem/JAudio2/JASSeqParser.cpp b/libs/JSystem/JAudio2/JASSeqParser.cpp
index 9cbe077c0f..aeda5e55cc 100644
--- a/libs/JSystem/JAudio2/JASSeqParser.cpp
+++ b/libs/JSystem/JAudio2/JASSeqParser.cpp
@@ -6,9 +6,7 @@
#include "JSystem/JAudio2/JASSeqParser.h"
#include "JSystem/JAudio2/JASCalc.h"
#include "JSystem/JAudio2/JASReport.h"
-#include "JSystem/JAudio2/JASSeqCtrl.h"
#include "JSystem/JAudio2/JASTrack.h"
-#include "JSystem/JAudio2/JASTrackPort.h"
#include "JSystem/JMath/random.h"
#include "JSystem/JSupport/JSupport.h"
#include "dol2asm.h"
diff --git a/libs/JSystem/JAudio2/JASTaskThread.cpp b/libs/JSystem/JAudio2/JASTaskThread.cpp
index 7d9091f6f6..7fc8f9ebea 100644
--- a/libs/JSystem/JAudio2/JASTaskThread.cpp
+++ b/libs/JSystem/JAudio2/JASTaskThread.cpp
@@ -7,8 +7,6 @@
#include "JSystem/JAudio2/JASCalc.h"
#include "JSystem/JAudio2/JASCriticalSection.h"
#include "JSystem/JKernel/JKRSolidHeap.h"
-#include "dol2asm.h"
-#include "dolphin/os/OSInterrupt.h"
#include "dolphin/os.h"
//
diff --git a/libs/JSystem/JAudio2/JASTrack.cpp b/libs/JSystem/JAudio2/JASTrack.cpp
index f75be65978..8e683c597d 100644
--- a/libs/JSystem/JAudio2/JASTrack.cpp
+++ b/libs/JSystem/JAudio2/JASTrack.cpp
@@ -4,10 +4,7 @@
//
#include "JSystem/JAudio2/JASTrack.h"
-#include "JSystem/JAudio2/JASAiCtrl.h"
-#include "JSystem/JAudio2/JASBank.h"
#include "JSystem/JAudio2/JASCriticalSection.h"
-#include "JSystem/JAudio2/JASDSPInterface.h"
#include "JSystem/JAudio2/JASDriverIF.h"
#include "dol2asm.h"
diff --git a/libs/JSystem/JAudio2/JASWSParser.cpp b/libs/JSystem/JAudio2/JASWSParser.cpp
index e26d898b74..6326120c93 100644
--- a/libs/JSystem/JAudio2/JASWSParser.cpp
+++ b/libs/JSystem/JAudio2/JASWSParser.cpp
@@ -4,9 +4,6 @@
//
#include "JSystem/JAudio2/JASWSParser.h"
-#include "JSystem/JAudio2/JASWaveInfo.h"
-#include "JSystem/JAudio2/JASWaveArcLoader.h"
-#include "JSystem/JAudio2/JASSimpleWaveBank.h"
#include "JSystem/JAudio2/JASBasicWaveBank.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "dolphin/types.h"
diff --git a/libs/JSystem/JAudio2/JASWaveArcLoader.cpp b/libs/JSystem/JAudio2/JASWaveArcLoader.cpp
index 24e440b19e..8e3a97338c 100644
--- a/libs/JSystem/JAudio2/JASWaveArcLoader.cpp
+++ b/libs/JSystem/JAudio2/JASWaveArcLoader.cpp
@@ -9,7 +9,6 @@
#include "JSystem/JAudio2/JASMutex.h"
#include "JSystem/JKernel/JKRDvdAramRipper.h"
#include "string.h"
-#include "dolphin/dvd.h"
#include "dolphin/os.h"
//
diff --git a/libs/JSystem/JAudio2/JAUAudioArcLoader.cpp b/libs/JSystem/JAudio2/JAUAudioArcLoader.cpp
index f2e7328560..9d5c7b9737 100644
--- a/libs/JSystem/JAudio2/JAUAudioArcLoader.cpp
+++ b/libs/JSystem/JAudio2/JAUAudioArcLoader.cpp
@@ -6,7 +6,6 @@
#include "JSystem/JAudio2/JAUAudioArcLoader.h"
#include "JSystem/JAudio2/JAISeMgr.h"
#include "JSystem/JAudio2/JAUSectionHeap.h"
-#include "JSystem/JUtility/JUTAssert.h"
//
// Declarations:
diff --git a/libs/JSystem/JAudio2/JAUBankTable.cpp b/libs/JSystem/JAudio2/JAUBankTable.cpp
index 79cfb85f46..b924cb84fa 100644
--- a/libs/JSystem/JAudio2/JAUBankTable.cpp
+++ b/libs/JSystem/JAudio2/JAUBankTable.cpp
@@ -4,7 +4,6 @@
//
#include "JSystem/JAudio2/JAUBankTable.h"
-#include "dolphin/types.h"
/* 802A4A80-802A4AA0 29F3C0 0020+00 0/0 1/1 0/0 .text
* appendBankTable__22JAUBankTableDictionaryFP23JSULink<12JAUBankTable> */
diff --git a/libs/JSystem/JAudio2/JAUInitializer.cpp b/libs/JSystem/JAudio2/JAUInitializer.cpp
index 9e27a06558..cb11d7ddae 100644
--- a/libs/JSystem/JAudio2/JAUInitializer.cpp
+++ b/libs/JSystem/JAudio2/JAUInitializer.cpp
@@ -4,15 +4,6 @@
//
#include "JSystem/JAudio2/JAUInitializer.h"
-#include "JSystem/JAudio2/JAISe.h"
-#include "JSystem/JAudio2/JAISeq.h"
-#include "JSystem/JAudio2/JAISoundChild.h"
-#include "JSystem/JAudio2/JAIStream.h"
-#include "JSystem/JAudio2/JASAramStream.h"
-#include "JSystem/JAudio2/JASAudioThread.h"
-#include "JSystem/JAudio2/JASDriverIF.h"
-#include "JSystem/JAudio2/JASDvdThread.h"
-#include "JSystem/JAudio2/JASHeapCtrl.h"
#include "JSystem/JAudio2/JASTaskThread.h"
#include "JSystem/JAudio2/JASTrack.h"
#include "JSystem/JAudio2/JASWaveArcLoader.h"
diff --git a/libs/JSystem/JAudio2/JAUSectionHeap.cpp b/libs/JSystem/JAudio2/JAUSectionHeap.cpp
index 8864ecc7f2..6b6f578e38 100644
--- a/libs/JSystem/JAudio2/JAUSectionHeap.cpp
+++ b/libs/JSystem/JAudio2/JAUSectionHeap.cpp
@@ -4,14 +4,9 @@
//
#include "JSystem/JAudio2/JAUSectionHeap.h"
-#include "JSystem/JAudio2/JAIStreamDataMgr.h"
-#include "JSystem/JAudio2/JASBNKParser.h"
-#include "JSystem/JAudio2/JASBankTable.h"
-#include "JSystem/JAudio2/JASBasicWaveBank.h"
#include "JSystem/JAudio2/JASCriticalSection.h"
#include "JSystem/JAudio2/JASHeapCtrl.h"
#include "JSystem/JAudio2/JASResArcLoader.h"
-#include "JSystem/JAudio2/JASVoiceBank.h"
#include "JSystem/JAudio2/JAUSeqCollection.h"
#include "JSystem/JAudio2/JAUSoundInfo.h"
#include "JSystem/JAudio2/JAUSoundTable.h"
diff --git a/libs/JSystem/JAudio2/JAUSeqDataBlockMgr.cpp b/libs/JSystem/JAudio2/JAUSeqDataBlockMgr.cpp
index b9c939809a..47d61463d4 100644
--- a/libs/JSystem/JAudio2/JAUSeqDataBlockMgr.cpp
+++ b/libs/JSystem/JAudio2/JAUSeqDataBlockMgr.cpp
@@ -5,7 +5,6 @@
#include "JSystem/JAudio2/JAUSeqDataBlockMgr.h"
#include "JSystem/JAudio2/JAUSoundInfo.h"
#include "JSystem/JAudio2/JASResArcLoader.h"
-#include "JSystem/JUtility/JUTAssert.h"
#include "dolphin/types.h"
/* 802A68F4-802A6928 2A1234 0034+00 0/0 2/2 0/0 .text __ct__15JAUSeqDataBlockFv */
diff --git a/libs/JSystem/JAudio2/JAUSoundTable.cpp b/libs/JSystem/JAudio2/JAUSoundTable.cpp
index 2637181597..59f5b121fd 100644
--- a/libs/JSystem/JAudio2/JAUSoundTable.cpp
+++ b/libs/JSystem/JAudio2/JAUSoundTable.cpp
@@ -3,7 +3,6 @@
//
#include "JSystem/JAudio2/JAUSoundTable.h"
-#include "dolphin/types.h"
/* 802A7114-802A7160 2A1A54 004C+00 0/0 1/1 0/0 .text init__13JAUSoundTableFPCv */
void JAUSoundTable::init(void const* param_0) {
diff --git a/libs/JSystem/JAudio2/JAUStreamFileTable.cpp b/libs/JSystem/JAudio2/JAUStreamFileTable.cpp
index c60031f4eb..19f40c580f 100644
--- a/libs/JSystem/JAudio2/JAUStreamFileTable.cpp
+++ b/libs/JSystem/JAudio2/JAUStreamFileTable.cpp
@@ -1,5 +1,4 @@
#include "JSystem/JAudio2/JAUStreamFileTable.h"
-#include "dolphin/dvd.h"
#include "dolphin/os.h"
/* 802A7420-802A742C 2A1D60 000C+00 0/0 1/1 0/0 .text __ct__18JAUStreamFileTableFv */
diff --git a/libs/JSystem/JAudio2/dsptask.cpp b/libs/JSystem/JAudio2/dsptask.cpp
index 9ea11c9c43..25d5c8a437 100644
--- a/libs/JSystem/JAudio2/dsptask.cpp
+++ b/libs/JSystem/JAudio2/dsptask.cpp
@@ -5,7 +5,6 @@
#include "JSystem/JAudio2/dsptask.h"
#include "JSystem/JAudio2/osdsp.h"
-#include "dolphin/dsp.h"
#include "dolphin/os.h"
//
diff --git a/libs/JSystem/JFramework/JFWDisplay.cpp b/libs/JSystem/JFramework/JFWDisplay.cpp
index 4be1ff58d0..5c9fd67327 100644
--- a/libs/JSystem/JFramework/JFWDisplay.cpp
+++ b/libs/JSystem/JFramework/JFWDisplay.cpp
@@ -5,7 +5,6 @@
#include "JSystem/JUtility/JUTDbPrint.h"
#include "JSystem/JUtility/JUTProcBar.h"
#include "dolphin/gx.h"
-#include "dolphin/os.h"
/* 80272040-802720F8 26C980 00B8+00 1/1 0/0 0/0 .text ctor_subroutine__10JFWDisplayFb */
void JFWDisplay::ctor_subroutine(bool enableAlpha) {
diff --git a/libs/JSystem/JFramework/JFWSystem.cpp b/libs/JSystem/JFramework/JFWSystem.cpp
index 30bfd60097..b2c3966569 100644
--- a/libs/JSystem/JFramework/JFWSystem.cpp
+++ b/libs/JSystem/JFramework/JFWSystem.cpp
@@ -7,7 +7,6 @@
#include "JSystem/JKernel/JKRExpHeap.h"
#include "JSystem/JUtility/JUTConsole.h"
#include "JSystem/JUtility/JUTGraphFifo.h"
-#include "JSystem/JUtility/JUTVideo.h"
#include "dol2asm.h"
#include "dolphin/types.h"
diff --git a/libs/JSystem/JGadget/binary.cpp b/libs/JSystem/JGadget/binary.cpp
index 7e8acfd7bc..10f5b6b2cc 100644
--- a/libs/JSystem/JGadget/binary.cpp
+++ b/libs/JSystem/JGadget/binary.cpp
@@ -4,7 +4,6 @@
//
#include "JSystem/JGadget/binary.h"
-#include "dolphin/types.h"
/* 802DC864-802DC8C8 2D71A4 0064+00 0/0 2/2 0/0 .text
* parseVariableUInt_16_32_following__Q27JGadget6binaryFPCvPUlPUlPQ37JGadget6binary5TEBit */
diff --git a/libs/JSystem/JGadget/linklist.cpp b/libs/JSystem/JGadget/linklist.cpp
index fefe1eeae5..39890480b6 100644
--- a/libs/JSystem/JGadget/linklist.cpp
+++ b/libs/JSystem/JGadget/linklist.cpp
@@ -4,7 +4,6 @@
//
#include "JSystem/JGadget/linklist.h"
-#include "dolphin/types.h"
template <typename T>
class TPRIsEqual_pointer_ {
diff --git a/libs/JSystem/JGadget/std-vector.cpp b/libs/JSystem/JGadget/std-vector.cpp
index 9f88dfb221..14020078f7 100644
--- a/libs/JSystem/JGadget/std-vector.cpp
+++ b/libs/JSystem/JGadget/std-vector.cpp
@@ -6,7 +6,6 @@
#include "JSystem/JGadget/std-vector.h"
#include "dolphin/types.h"
#include "algorithm.h"
-#include "msl_memory.h"
//
// Types:
diff --git a/libs/JSystem/JKernel/JKRAram.cpp b/libs/JSystem/JKernel/JKRAram.cpp
index 998dadfc21..f9aaebe3c9 100644
--- a/libs/JSystem/JKernel/JKRAram.cpp
+++ b/libs/JSystem/JKernel/JKRAram.cpp
@@ -7,7 +7,6 @@
#include "dolphin/ar.h"
#include "dolphin/os/OSCache.h"
#include "dolphin/os/OSInterrupt.h"
-#include "global.h"
#include "string.h"
static u8* firstSrcData();
diff --git a/libs/JSystem/JKernel/JKRAramArchive.cpp b/libs/JSystem/JKernel/JKRAramArchive.cpp
index 698fe98dad..2092d6c1b4 100644
--- a/libs/JSystem/JKernel/JKRAramArchive.cpp
+++ b/libs/JSystem/JKernel/JKRAramArchive.cpp
@@ -11,8 +11,6 @@
#include "JSystem/JUtility/JUTAssert.h"
#include "JSystem/JUtility/JUTException.h"
#include "dol2asm.h"
-#include "dolphin/os/OSCache.h"
-#include "global.h"
#include "math.h"
#include "string.h"
diff --git a/libs/JSystem/JKernel/JKRAramStream.cpp b/libs/JSystem/JKernel/JKRAramStream.cpp
index 55ca126646..0ea1a0c605 100644
--- a/libs/JSystem/JKernel/JKRAramStream.cpp
+++ b/libs/JSystem/JKernel/JKRAramStream.cpp
@@ -2,7 +2,6 @@
#include "JSystem/JKernel/JKRAramPiece.h"
#include "JSystem/JSupport/JSUFileStream.h"
#include "JSystem/JUtility/JUTException.h"
-#include "global.h"
/* ############################################################################################## */
/* 80451408-8045140C 000908 0004+00 1/1 0/0 0/0 .sbss sAramStreamObject__13JKRAramStream
diff --git a/libs/JSystem/JKernel/JKRCompArchive.cpp b/libs/JSystem/JKernel/JKRCompArchive.cpp
index 13f521026f..7e5970f53a 100644
--- a/libs/JSystem/JKernel/JKRCompArchive.cpp
+++ b/libs/JSystem/JKernel/JKRCompArchive.cpp
@@ -10,7 +10,6 @@
#include "JSystem/JUtility/JUTException.h"
#include "math.h"
#include "string.h"
-#include "dolphin/os/OSCache.h"
/* 802D87D4-802D887C 2D3114 00A8+00 0/0 1/1 0/0 .text
* __ct__14JKRCompArchiveFlQ210JKRArchive15EMountDirection */
diff --git a/libs/JSystem/JKernel/JKRDvdArchive.cpp b/libs/JSystem/JKernel/JKRDvdArchive.cpp
index 9dea8fad70..9dcbe32dee 100644
--- a/libs/JSystem/JKernel/JKRDvdArchive.cpp
+++ b/libs/JSystem/JKernel/JKRDvdArchive.cpp
@@ -6,7 +6,6 @@
#include "JSystem/JUtility/JUTException.h"
#include "math.h"
#include "string.h"
-#include "dolphin/os.h"
#include "global.h"
/* 802D7BF0-802D7C98 2D2530 00A8+00 0/0 1/1 0/0 .text
diff --git a/libs/JSystem/JKernel/JKRDvdRipper.cpp b/libs/JSystem/JKernel/JKRDvdRipper.cpp
index 1a7d5a88ec..a0e0e97d87 100644
--- a/libs/JSystem/JKernel/JKRDvdRipper.cpp
+++ b/libs/JSystem/JKernel/JKRDvdRipper.cpp
@@ -7,7 +7,6 @@
#include "JSystem/JKernel/JKRDvdFile.h"
#include "JSystem/JKernel/JKRDecomp.h"
#include "JSystem/JUtility/JUTException.h"
-#include "JSystem/JKernel/JKRArchive.h"
#include "string.h"
#include "dol2asm.h"
#include "dolphin/os/OSCache.h"
diff --git a/libs/JSystem/JKernel/JKRHeap.cpp b/libs/JSystem/JKernel/JKRHeap.cpp
index a24a33e94a..cae59ffcad 100644
--- a/libs/JSystem/JKernel/JKRHeap.cpp
+++ b/libs/JSystem/JKernel/JKRHeap.cpp
@@ -6,7 +6,6 @@
#include "JSystem/JKernel/JKRHeap.h"
#include "JSystem/JUtility/JUTAssert.h"
#include "JSystem/JUtility/JUTException.h"
-#include "dolphin/os.h"
/* 80451370-80451374 000870 0004+00 3/3 44/44 0/0 .sbss sSystemHeap__7JKRHeap */
JKRHeap* JKRHeap::sSystemHeap;
diff --git a/libs/JSystem/JKernel/JKRMemArchive.cpp b/libs/JSystem/JKernel/JKRMemArchive.cpp
index 7072f6e3fc..b5d1e5b5f8 100644
--- a/libs/JSystem/JKernel/JKRMemArchive.cpp
+++ b/libs/JSystem/JKernel/JKRMemArchive.cpp
@@ -4,7 +4,6 @@
#include "JSystem/JUtility/JUTAssert.h"
#include "JSystem/JUtility/JUTException.h"
#include "string.h"
-#include "dolphin/os/OSCache.h"
#include "global.h"
/* 802D69B8-802D6A6C 2D12F8 00B4+00 0/0 2/2 0/0 .text
diff --git a/libs/JSystem/JKernel/JKRSolidHeap.cpp b/libs/JSystem/JKernel/JKRSolidHeap.cpp
index bd9eedd63a..a6f95394e4 100644
--- a/libs/JSystem/JKernel/JKRSolidHeap.cpp
+++ b/libs/JSystem/JKernel/JKRSolidHeap.cpp
@@ -1,7 +1,6 @@
#include "JSystem/JKernel/JKRSolidHeap.h"
#include "JSystem/JUtility/JUTAssert.h"
#include "JSystem/JUtility/JUTConsole.h"
-#include "global.h"
/* 802D0A24-802D0AD0 2CB364 00AC+00 0/0 4/4 1/1 .text create__12JKRSolidHeapFUlP7JKRHeapb
*/
diff --git a/libs/JSystem/JMath/JMath.cpp b/libs/JSystem/JMath/JMath.cpp
index 37c31b017a..23cb3d4bdb 100644
--- a/libs/JSystem/JMath/JMath.cpp
+++ b/libs/JSystem/JMath/JMath.cpp
@@ -5,7 +5,6 @@
#include "JSystem/JMath/JMath.h"
#include "JSystem/JMath/JMATrigonometric.h"
-#include "dol2asm.h"
/* 80339878-80339938 3341B8 00C0+00 0/0 11/11 2/2 .text JMAEulerToQuat__FsssP10Quaternion
*/
diff --git a/libs/JSystem/JMessage/locale.cpp b/libs/JSystem/JMessage/locale.cpp
index d33ba72f69..af2b9532a6 100644
--- a/libs/JSystem/JMessage/locale.cpp
+++ b/libs/JSystem/JMessage/locale.cpp
@@ -4,7 +4,6 @@
//
#include "JSystem/JMessage/locale.h"
-#include "dolphin/types.h"
//
// Forward References:
diff --git a/libs/JSystem/JMessage/processor.cpp b/libs/JSystem/JMessage/processor.cpp
index 02eb2522b5..bfe280fa9c 100644
--- a/libs/JSystem/JMessage/processor.cpp
+++ b/libs/JSystem/JMessage/processor.cpp
@@ -5,7 +5,6 @@
#include "JSystem/JMessage/processor.h"
#include "JSystem/JMessage/control.h"
-#include "JSystem/JUtility/JUTAssert.h"
//
// Forward References:
diff --git a/libs/JSystem/JMessage/resource.cpp b/libs/JSystem/JMessage/resource.cpp
index 0fcd38a5f0..9229e25442 100644
--- a/libs/JSystem/JMessage/resource.cpp
+++ b/libs/JSystem/JMessage/resource.cpp
@@ -5,7 +5,6 @@
#include "JSystem/JMessage/resource.h"
#include "string.h"
-#include "string.h"
#include "dol2asm.h"
//
diff --git a/libs/JSystem/JParticle/JPAChildShape.cpp b/libs/JSystem/JParticle/JPAChildShape.cpp
index 28ef7fbb9e..edfb6bef86 100644
--- a/libs/JSystem/JParticle/JPAChildShape.cpp
+++ b/libs/JSystem/JParticle/JPAChildShape.cpp
@@ -8,7 +8,6 @@
#include "JSystem/JParticle/JPAEmitter.h"
#include "dolphin/gx.h"
#include "dolphin/os.h"
-#include "dolphin/types.h"
//
// Types:
diff --git a/libs/JSystem/JParticle/JPADynamicsBlock.cpp b/libs/JSystem/JParticle/JPADynamicsBlock.cpp
index d36f5a4e10..55d9096913 100644
--- a/libs/JSystem/JParticle/JPADynamicsBlock.cpp
+++ b/libs/JSystem/JParticle/JPADynamicsBlock.cpp
@@ -5,7 +5,6 @@
#include "JSystem/JParticle/JPADynamicsBlock.h"
#include "dol2asm.h"
-#include "dolphin/types.h"
//
// Types:
diff --git a/libs/JSystem/JParticle/JPAEmitter.cpp b/libs/JSystem/JParticle/JPAEmitter.cpp
index bfd8664e7b..d3958685fa 100644
--- a/libs/JSystem/JParticle/JPAEmitter.cpp
+++ b/libs/JSystem/JParticle/JPAEmitter.cpp
@@ -8,7 +8,6 @@
#include "JSystem/JParticle/JPAParticle.h"
#include "JSystem/JParticle/JPAResourceManager.h"
#include "JSystem/JParticle/JPABaseShape.h"
-#include "dolphin/mtx.h"
#include "dolphin/types.h"
//
diff --git a/libs/JSystem/JParticle/JPAEmitterManager.cpp b/libs/JSystem/JParticle/JPAEmitterManager.cpp
index b44dfcfd4b..5731c63ef3 100644
--- a/libs/JSystem/JParticle/JPAEmitterManager.cpp
+++ b/libs/JSystem/JParticle/JPAEmitterManager.cpp
@@ -7,7 +7,6 @@
#include "JSystem/JParticle/JPAEmitter.h"
#include "JSystem/JParticle/JPAResourceManager.h"
#include "dolphin/gx.h"
-#include "dolphin/types.h"
//
// Types:
diff --git a/libs/JSystem/JParticle/JPAExTexShape.cpp b/libs/JSystem/JParticle/JPAExTexShape.cpp
index c44448292e..a0105eb5fe 100644
--- a/libs/JSystem/JParticle/JPAExTexShape.cpp
+++ b/libs/JSystem/JParticle/JPAExTexShape.cpp
@@ -7,7 +7,6 @@
#include "JSystem/JParticle/JPAResourceManager.h"
#include "JSystem/JParticle/JPAEmitter.h"
#include "dolphin/gx.h"
-#include "dolphin/types.h"
/* 8027B040-8027B13C 275980 00FC+00 0/0 1/1 0/0 .text JPALoadExTex__FP18JPAEmitterWorkData */
void JPALoadExTex(JPAEmitterWorkData* work) {
diff --git a/libs/JSystem/JParticle/JPAExtraShape.cpp b/libs/JSystem/JParticle/JPAExtraShape.cpp
index 0f1bcec7c9..2cb3a23247 100644
--- a/libs/JSystem/JParticle/JPAExtraShape.cpp
+++ b/libs/JSystem/JParticle/JPAExtraShape.cpp
@@ -7,7 +7,6 @@
#include "JSystem/JMath/JMATrigonometric.h"
#include "JSystem/JParticle/JPAParticle.h"
#include "JSystem/JParticle/JPAEmitter.h"
-#include "dolphin/gx.h"
#include "dolphin/os.h"
#include "dolphin/types.h"
diff --git a/libs/JSystem/JParticle/JPAParticle.cpp b/libs/JSystem/JParticle/JPAParticle.cpp
index 3f109791bf..f63cd758cf 100644
--- a/libs/JSystem/JParticle/JPAParticle.cpp
+++ b/libs/JSystem/JParticle/JPAParticle.cpp
@@ -6,7 +6,6 @@
#include "JSystem/JParticle/JPAParticle.h"
#include "JSystem/JParticle/JPAEmitter.h"
#include "JSystem/JParticle/JPAEmitterManager.h"
-#include "dolphin/mtx.h"
#include "dol2asm.h"
//
diff --git a/libs/JSystem/JParticle/JPAResource.cpp b/libs/JSystem/JParticle/JPAResource.cpp
index 48f190e15f..0d8035e29b 100644
--- a/libs/JSystem/JParticle/JPAResource.cpp
+++ b/libs/JSystem/JParticle/JPAResource.cpp
@@ -8,7 +8,6 @@
#include "JSystem/JParticle/JPAEmitter.h"
#include "dol2asm.h"
#include "dolphin/gx.h"
-#include "dolphin/mtx.h"
#include "dolphin/types.h"
//
diff --git a/libs/JSystem/JParticle/JPAResourceManager.cpp b/libs/JSystem/JParticle/JPAResourceManager.cpp
index dd4c574681..487a20488d 100644
--- a/libs/JSystem/JParticle/JPAResourceManager.cpp
+++ b/libs/JSystem/JParticle/JPAResourceManager.cpp
@@ -7,7 +7,6 @@
#include "JSystem/JParticle/JPADynamicsBlock.h"
#include "JSystem/JParticle/JPAResource.h"
#include "string.h"
-#include "dolphin/types.h"
struct JPAResourceLoader {
/* 8027D8A0 */ JPAResourceLoader(u8 const*, JPAResourceManager*);
diff --git a/libs/JSystem/JParticle/JPATexture.cpp b/libs/JSystem/JParticle/JPATexture.cpp
index 0f9ea60cbf..76ba6f43d0 100644
--- a/libs/JSystem/JParticle/JPATexture.cpp
+++ b/libs/JSystem/JParticle/JPATexture.cpp
@@ -4,7 +4,6 @@
//
#include "JSystem/JParticle/JPATexture.h"
-#include "dolphin/types.h"
/* 8027D7D4-8027D83C 278114 0068+00 0/0 1/1 0/0 .text __ct__10JPATextureFPCUc */
JPATexture::JPATexture(u8 const* pData) {
diff --git a/libs/JSystem/JStudio/JStudio/ctb.cpp b/libs/JSystem/JStudio/JStudio/ctb.cpp
index e5c55fa1ac..29a46ec7a4 100644
--- a/libs/JSystem/JStudio/JStudio/ctb.cpp
+++ b/libs/JSystem/JStudio/JStudio/ctb.cpp
@@ -4,7 +4,6 @@
//
#include "JSystem/JStudio/JStudio/ctb.h"
-#include "algorithm.h"
#include "iterator.h"
#include "string.h"
#include "dol2asm.h"
diff --git a/libs/JSystem/JStudio/JStudio/functionvalue.cpp b/libs/JSystem/JStudio/JStudio/functionvalue.cpp
index 45c2d77f66..0f40503add 100644
--- a/libs/JSystem/JStudio/JStudio/functionvalue.cpp
+++ b/libs/JSystem/JStudio/JStudio/functionvalue.cpp
@@ -10,7 +10,6 @@
#include "math.h"
#include "stdlib.h"
#include "dol2asm.h"
-#include "global.h"
#include "iterator.h"
//
diff --git a/libs/JSystem/JStudio/JStudio/fvb.cpp b/libs/JSystem/JStudio/JStudio/fvb.cpp
index 8489a4ed1e..0035690a23 100644
--- a/libs/JSystem/JStudio/JStudio/fvb.cpp
+++ b/libs/JSystem/JStudio/JStudio/fvb.cpp
@@ -6,7 +6,6 @@
#include "JSystem/JStudio/JStudio/fvb.h"
#include "JSystem/JUtility/JUTException.h"
#include "dol2asm.h"
-#include "global.h"
//
// Types:
diff --git a/libs/JSystem/JStudio/JStudio/jstudio-control.cpp b/libs/JSystem/JStudio/JStudio/jstudio-control.cpp
index 249e45696b..7e8a914974 100644
--- a/libs/JSystem/JStudio/JStudio/jstudio-control.cpp
+++ b/libs/JSystem/JStudio/JStudio/jstudio-control.cpp
@@ -6,8 +6,6 @@
#include "JSystem/JStudio/JStudio/jstudio-control.h"
#include "JSystem/JStudio/JStudio/jstudio-math.h"
#include "JSystem/JStudio/JStudio/jstudio-data.h"
-#include "dol2asm.h"
-#include "dolphin/types.h"
#include "string.h"
//
diff --git a/libs/JSystem/JStudio/JStudio/jstudio-math.cpp b/libs/JSystem/JStudio/JStudio/jstudio-math.cpp
index c5d79f45b7..ec2544e891 100644
--- a/libs/JSystem/JStudio/JStudio/jstudio-math.cpp
+++ b/libs/JSystem/JStudio/JStudio/jstudio-math.cpp
@@ -4,8 +4,6 @@
//
#include "JSystem/JStudio/JStudio/jstudio-math.h"
-#include "JSystem/TPosition3.hh"
-#include "JSystem/JGeometry.h"
#include "dol2asm.h"
#include "math.h"
diff --git a/libs/JSystem/JStudio/JStudio/object-id.cpp b/libs/JSystem/JStudio/JStudio/object-id.cpp
index 936f06f676..fe7bf8b503 100644
--- a/libs/JSystem/JStudio/JStudio/object-id.cpp
+++ b/libs/JSystem/JStudio/JStudio/object-id.cpp
@@ -4,7 +4,6 @@
//
#include "JSystem/JStudio/JStudio/object-id.h"
-#include "dolphin/types.h"
/* 80288988-80288A78 2832C8 00F0+00 0/0 3/3 0/0 .text
* isEqual__Q37JStudio6object7TIDDataFRCQ37JStudio6object7TIDDataRCQ37JStudio6object7TIDData */
diff --git a/libs/JSystem/JStudio/JStudio/stb-data-parse.cpp b/libs/JSystem/JStudio/JStudio/stb-data-parse.cpp
index 26dc041743..184affe169 100644
--- a/libs/JSystem/JStudio/JStudio/stb-data-parse.cpp
+++ b/libs/JSystem/JStudio/JStudio/stb-data-parse.cpp
@@ -5,7 +5,6 @@
#include "JSystem/JStudio/JStudio/stb-data-parse.h"
#include "dolphin/os.h"
-#include "global.h"
namespace JStudio {
namespace stb {
diff --git a/libs/JSystem/JStudio/JStudio/stb.cpp b/libs/JSystem/JStudio/JStudio/stb.cpp
index 7fa1f80963..c05884de2c 100644
--- a/libs/JSystem/JStudio/JStudio/stb.cpp
+++ b/libs/JSystem/JStudio/JStudio/stb.cpp
@@ -1,7 +1,6 @@
#include "JSystem/JStudio/JStudio/stb.h"
#include "JSystem/JStudio/JStudio/jstudio-object.h"
#include "JSystem/JUtility/JUTException.h"
-#include "global.h"
#include "algorithm.h"
//
diff --git a/libs/JSystem/JStudio/JStudio_JStage/object.cpp b/libs/JSystem/JStudio/JStudio_JStage/object.cpp
index bcd779b212..4d088342f8 100644
--- a/libs/JSystem/JStudio/JStudio_JStage/object.cpp
+++ b/libs/JSystem/JStudio/JStudio_JStage/object.cpp
@@ -4,7 +4,6 @@
//
#include "JSystem/JStudio/JStudio_JStage/object.h"
-#include "dolphin/types.h"
//
// Forward References:
diff --git a/libs/JSystem/JUtility/JUTAssert.cpp b/libs/JSystem/JUtility/JUTAssert.cpp
index a721e64e09..87d3bdd67e 100644
--- a/libs/JSystem/JUtility/JUTAssert.cpp
+++ b/libs/JSystem/JUtility/JUTAssert.cpp
@@ -8,7 +8,6 @@
#include "JSystem/JUtility/JUTDbPrint.h"
#include "JSystem/JUtility/JUTDirectPrint.h"
#include "stdio.h"
-#include "dolphin/vi.h"
namespace JUTAssertion {
diff --git a/libs/JSystem/JUtility/JUTConsole.cpp b/libs/JSystem/JUtility/JUTConsole.cpp
index bb593f9606..c424dbaa69 100644
--- a/libs/JSystem/JUtility/JUTConsole.cpp
+++ b/libs/JSystem/JUtility/JUTConsole.cpp
@@ -10,7 +10,6 @@
#include "JSystem/JUtility/JUTDirectPrint.h"
#include "JSystem/JUtility/JUTVideo.h"
#include "dol2asm.h"
-#include "dolphin/os.h"
#include "stdio.h"
//
diff --git a/libs/JSystem/JUtility/JUTDirectPrint.cpp b/libs/JSystem/JUtility/JUTDirectPrint.cpp
index 0ea8f0c094..13d5a7b89e 100644
--- a/libs/JSystem/JUtility/JUTDirectPrint.cpp
+++ b/libs/JSystem/JUtility/JUTDirectPrint.cpp
@@ -6,7 +6,6 @@
#include "JSystem/JUtility/JUTDirectPrint.h"
#include "stdio.h"
#include "dolphin/os/OSCache.h"
-#include "global.h"
//
// Forward References:
diff --git a/libs/JSystem/JUtility/JUTException.cpp b/libs/JSystem/JUtility/JUTException.cpp
index f7c2b7cc16..45eedf2d1e 100644
--- a/libs/JSystem/JUtility/JUTException.cpp
+++ b/libs/JSystem/JUtility/JUTException.cpp
@@ -6,14 +6,12 @@
#include "JSystem/JUtility/JUTException.h"
#include "JSystem/JUtility/JUTConsole.h"
#include "JSystem/JUtility/JUTDirectPrint.h"
-#include "JSystem/JUtility/JUTDirectFile.h"
#include "math.h"
#include "stdio.h"
#include "stdlib.h"
#include "dol2asm.h"
#include "dolphin/base/PPCArch.h"
#include "dolphin/os.h"
-#include "dolphin/vi.h"
#include "global.h"
//
diff --git a/libs/PowerPC_EABI_Support/MSL/MSL_C++/MSL_Common/Include/bitset.h b/libs/PowerPC_EABI_Support/MSL/MSL_C++/MSL_Common/Include/bitset.h
index 1bdd4f0faf..ec45c8f61e 100644
--- a/libs/PowerPC_EABI_Support/MSL/MSL_C++/MSL_Common/Include/bitset.h
+++ b/libs/PowerPC_EABI_Support/MSL/MSL_C++/MSL_Common/Include/bitset.h
@@ -1,7 +1,6 @@
#ifndef MSL_BITSET_H_
#define MSL_BITSET_H_
-#include "algorithm.h"
#include "stdio.h"
#include "stdlib.h"
diff --git a/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/alloc.h b/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/alloc.h
index 085c40d484..4f8376cbfd 100644
--- a/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/alloc.h
+++ b/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/alloc.h
@@ -1,7 +1,6 @@
#ifndef _MSL_COMMON_ALLOC_H
#define _MSL_COMMON_ALLOC_H
-#include "ansi_files.h"
#ifdef __cplusplus
extern "C" {
diff --git a/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/ansi_fp.h b/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/ansi_fp.h
index 82152fbc2e..1c04922944 100644
--- a/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/ansi_fp.h
+++ b/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/ansi_fp.h
@@ -1,7 +1,6 @@
#ifndef _MSL_COMMON_ANSI_FP_H
#define _MSL_COMMON_ANSI_FP_H
-#include "float.h"
#define SIGDIGLEN 36
diff --git a/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/cmath.h b/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/cmath.h
index e673ced4db..88866003e2 100644
--- a/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/cmath.h
+++ b/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/cmath.h
@@ -1,7 +1,6 @@
#ifndef STD_CMATH_H_
#define STD_CMATH_H_
-#include "math.h"
namespace std {
/* float fabs(float num) {
diff --git a/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/scanf.h b/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/scanf.h
index ca142dc1c8..46fd3c637a 100644
--- a/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/scanf.h
+++ b/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/scanf.h
@@ -1,7 +1,6 @@
#ifndef _MSL_COMMON_SCANF_H
#define _MSL_COMMON_SCANF_H
-#include "stddef.h"
#include "ansi_files.h"
#ifdef __cplusplus
diff --git a/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/stdlib.h b/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/stdlib.h
index 2ce2e5c803..7617229c69 100644
--- a/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/stdlib.h
+++ b/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/stdlib.h
@@ -3,7 +3,6 @@
#include "abort_exit.h"
#include "arith.h"
-#include "mbstring.h"
#include "strtoul.h"
#endif
diff --git a/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/string.h b/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/string.h
index 66b4c008de..4c31c2e11e 100644
--- a/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/string.h
+++ b/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/string.h
@@ -2,7 +2,6 @@
#define _MSL_COMMON_STRING_H
#include "stddef.h"
-#include "extras.h"
#ifdef __cplusplus
// TODO: std namespace should be used for C++, but it breaks asm compatibility afaict.
diff --git a/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/FILE_POS.c b/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/FILE_POS.c
index 06c1eba037..8100ed7957 100644
--- a/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/FILE_POS.c
+++ b/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/FILE_POS.c
@@ -1,5 +1,4 @@
#include "FILE_POS.h"
-#include "buffer_io.h"
#include "critical_regions.h"
#include "errno.h"
diff --git a/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/alloc.c b/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/alloc.c
index 27eeed7cf9..affaee7c49 100644
--- a/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/alloc.c
+++ b/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/alloc.c
@@ -1,6 +1,5 @@
#include "alloc.h"
#include "critical_regions.h"
-#include "string.h"
typedef struct Block {
struct Block* prev;
diff --git a/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/ansi_files.c b/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/ansi_files.c
index 94571b4ba2..056b457859 100644
--- a/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/ansi_files.c
+++ b/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/ansi_files.c
@@ -1,5 +1,4 @@
#include "ansi_files.h"
-#include "file_io.h"
#include "critical_regions.h"
/* 8044D778-8044D878 07A498 0100+00 1/0 0/0 0/0 .bss stdin_buff */
diff --git a/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/char_io.c b/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/char_io.c
index 80c35a49f3..37baccec97 100644
--- a/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/char_io.c
+++ b/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/char_io.c
@@ -1,6 +1,4 @@
#include "char_io.h"
-#include "FILE_POS.h"
-#include "buffer_io.h"
#include "critical_regions.h"
#include "misc_io.h"
#include "wchar_io.h"
diff --git a/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/direct_io.c b/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/direct_io.c
index ab47acc94e..da1f3c80c3 100644
--- a/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/direct_io.c
+++ b/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/direct_io.c
@@ -1,7 +1,5 @@
#include "direct_io.h"
#include "critical_regions.h"
-#include "misc_io.h"
-#include "string.h"
#include "wchar_io.h"
/* 80365494-803657A0 35FDD4 030C+00 1/1 0/0 0/0 .text __fwrite */
diff --git a/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/extras.c b/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/extras.c
index 5a24eff006..617de83804 100644
--- a/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/extras.c
+++ b/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/extras.c
@@ -1,6 +1,5 @@
#include "extras.h"
#include "ctype.h"
-#include "file_io.h"
/* 8036CA94-8036CB20 3673D4 008C+00 0/0 1/1 0/0 .text stricmp */
int stricmp(const char* str1, const char* str2) {
diff --git a/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/file_io.c b/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/file_io.c
index 75c8ec671d..4440b23bbb 100644
--- a/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/file_io.c
+++ b/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/file_io.c
@@ -1,5 +1,4 @@
#include "file_io.h"
-#include "buffer_io.h"
#include "ctype.h"
/* 803659F8-80365BB4 360338 01BC+00 0/0 1/1 0/0 .text fclose */
diff --git a/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/printf.c b/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/printf.c
index 19d3d666d1..4447f2cac6 100644
--- a/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/printf.c
+++ b/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/printf.c
@@ -2,10 +2,8 @@
#include "ansi_fp.h"
#include "critical_regions.h"
#include "ctype.h"
-#include "string.h"
#include "scanf.h"
#include "stdio.h"
-#include "stdlib.h"
#include "string.h"
#include "wchar_io.h"
diff --git a/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/signal.c b/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/signal.c
index d7b6a23dd2..b99b0dc317 100644
--- a/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/signal.c
+++ b/libs/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/signal.c
@@ -1,5 +1,4 @@
#include "signal.h"
-#include "abort_exit.h"
#include "critical_regions.h"
#define __std(ref) ref
diff --git a/libs/SSystem/SComponent/c_angle.cpp b/libs/SSystem/SComponent/c_angle.cpp
index 5a2c51cc9b..20701ac9e4 100644
--- a/libs/SSystem/SComponent/c_angle.cpp
+++ b/libs/SSystem/SComponent/c_angle.cpp
@@ -4,7 +4,6 @@
*/
#include "SSystem/SComponent/c_angle.h"
-#include "dolphin/types.h"
extern f32 cM_atan2f(f32, f32);
diff --git a/libs/SSystem/SComponent/c_lib.cpp b/libs/SSystem/SComponent/c_lib.cpp
index 2e07cdac90..8fd6ed3ba9 100644
--- a/libs/SSystem/SComponent/c_lib.cpp
+++ b/libs/SSystem/SComponent/c_lib.cpp
@@ -6,7 +6,6 @@
#include "SSystem/SComponent/c_lib.h"
#include "string.h"
#include "SSystem/SComponent/c_math.h"
-#include "dolphin/mtx.h"
/* 8026F93C-8026F95C 26A27C 0020+00 0/0 3/3 0/0 .text cLib_memCpy__FPvPCvUl */
void cLib_memCpy(void* dst, const void* src, unsigned long size) {
diff --git a/libs/SSystem/SComponent/c_m3d.cpp b/libs/SSystem/SComponent/c_m3d.cpp
index f1851675e9..7e5d2ee34d 100644
--- a/libs/SSystem/SComponent/c_m3d.cpp
+++ b/libs/SSystem/SComponent/c_m3d.cpp
@@ -4,15 +4,11 @@
*/
#include "SSystem/SComponent/c_m3d.h"
-#include "math.h"
#include "SSystem/SComponent/c_m3d_g_aab.h"
#include "SSystem/SComponent/c_m3d_g_cyl.h"
-#include "SSystem/SComponent/c_m3d_g_lin.h"
#include "SSystem/SComponent/c_m3d_g_sph.h"
#include "SSystem/SComponent/c_m3d_g_tri.h"
-#include "SSystem/SComponent/c_m3d_g_cps.h"
#include "SSystem/SComponent/c_math.h"
-#include "SSystem/SComponent/c_sxyz.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "global.h"
diff --git a/libs/SSystem/SComponent/c_malloc.cpp b/libs/SSystem/SComponent/c_malloc.cpp
index 4e4015257b..bafdf0fab1 100644
--- a/libs/SSystem/SComponent/c_malloc.cpp
+++ b/libs/SSystem/SComponent/c_malloc.cpp
@@ -5,7 +5,6 @@
#include "SSystem/SComponent/c_malloc.h"
#include "JSystem/JKernel/JKRHeap.h"
-#include "dolphin/types.h"
/* ############################################################################################## */
/* 80451150-80451158 0004+04 s=3 e=0 z=0 None .sbss Heap__3cMl */
diff --git a/libs/SSystem/SComponent/c_math.cpp b/libs/SSystem/SComponent/c_math.cpp
index f280ea683f..7df05c119c 100644
--- a/libs/SSystem/SComponent/c_math.cpp
+++ b/libs/SSystem/SComponent/c_math.cpp
@@ -5,7 +5,6 @@
#include "SSystem/SComponent/c_math.h"
#include "SSystem/SComponent/c_m3d.h"
-#include "dolphin/types.h"
/* 802675E4-80267640 261F24 005C+00 0/0 23/23 11/11 .text cM_rad2s__Ff */
s16 cM_rad2s(float rad) {
diff --git a/libs/SSystem/SComponent/c_tag_iter.cpp b/libs/SSystem/SComponent/c_tag_iter.cpp
index 2805ba4953..feaeb5ffdb 100644
--- a/libs/SSystem/SComponent/c_tag_iter.cpp
+++ b/libs/SSystem/SComponent/c_tag_iter.cpp
@@ -5,7 +5,6 @@
#include "SSystem/SComponent/c_tag_iter.h"
#include "SSystem/SComponent/c_tag.h"
-#include "dolphin/types.h"
/* 80266A7C-80266AB0 0034+00 s=0 e=4 z=0 None .text
* cTgIt_MethodCall__FP16create_tag_classP13method_filter */
diff --git a/libs/SSystem/SComponent/c_xyz.cpp b/libs/SSystem/SComponent/c_xyz.cpp
index fe9ad6fcbb..36253e2347 100644
--- a/libs/SSystem/SComponent/c_xyz.cpp
+++ b/libs/SSystem/SComponent/c_xyz.cpp
@@ -4,7 +4,6 @@
*/
#include "SSystem/SComponent/c_xyz.h"
-#include "math.h"
#include "SSystem/SComponent/c_math.h"
/* 80266AE4-80266B34 0050+00 s=0 e=103 z=300 None .text __pl__4cXyzCFRC3Vec */
diff --git a/libs/SSystem/SStandard/s_basic.cpp b/libs/SSystem/SStandard/s_basic.cpp
index 4505302bf3..94d72e9087 100644
--- a/libs/SSystem/SStandard/s_basic.cpp
+++ b/libs/SSystem/SStandard/s_basic.cpp
@@ -4,7 +4,6 @@
//
#include "SSystem/SStandard/s_basic.h"
-#include "dolphin/types.h"
/* 80271C8C-80271CAC 0020+00 s=1 e=0 z=0 None .text sBs_FillArea_s__FPvUls */
void sBs_FillArea_s(void* pPtr, u32 pNumBytes, s16 pValue) {
diff --git a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Export/mslsupp.c b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Export/mslsupp.c
index 270f9454ed..79c5ef420b 100644
--- a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Export/mslsupp.c
+++ b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Export/mslsupp.c
@@ -1,4 +1,3 @@
-#include "trk.h"
#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr.h"
#include "TRK_MINNOW_DOLPHIN/Os/dolphin/target_options.h"
#include "TRK_MINNOW_DOLPHIN/ppc/Export/targsupp.h"
diff --git a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch.c b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch.c
index 003ddcf0a2..2c056d1272 100644
--- a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch.c
+++ b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch.c
@@ -3,9 +3,7 @@
* Description:
*/
-#include "trk.h"
#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch.h"
-#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr.h"
#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.h"
#include "TRK_MINNOW_DOLPHIN/utils/common/MWTrace.h"
diff --git a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/main_TRK.c b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/main_TRK.c
index eb15a0dcb1..5896173ef5 100644
--- a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/main_TRK.c
+++ b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/main_TRK.c
@@ -4,7 +4,6 @@
*/
#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/main_TRK.h"
-#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit.h"
#include "TRK_MINNOW_DOLPHIN/utils/common/MWTrace.h"
/* 8044F818-8044F820 07C538 0004+04 1/1 0/0 0/0 .bss TRK_mainError */
diff --git a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mainloop.c b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mainloop.c
index 22f7950751..9ddf72305a 100644
--- a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mainloop.c
+++ b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mainloop.c
@@ -1,7 +1,4 @@
-#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch.h"
-#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent.h"
#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/serpoll.h"
-#include "TRK_MINNOW_DOLPHIN/Os/dolphin/targcont.h"
#include "TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.h"
#include "trk.h"
diff --git a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.c b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.c
index 37de9b65d0..464604e34a 100644
--- a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.c
+++ b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.c
@@ -1,6 +1,5 @@
#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.h"
#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit.h"
-#include "trk.h"
/* 8044D8C0-8044F270 07A5E0 19B0+00 4/4 0/0 0/0 .bss gTRKMsgBufs */
TRKBuffer gTRKMsgBufs[3];
diff --git a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr.c b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr.c
index d1ce619436..731f353d9c 100644
--- a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr.c
+++ b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr.c
@@ -1,6 +1,5 @@
#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msghndlr.h"
#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent.h"
-#include "TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk_glue.h"
#include "TRK_MINNOW_DOLPHIN/utils/common/MWTrace.h"
#include "trk.h"
diff --git a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/notify.c b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/notify.c
index fefc3f6a0a..61e4b8301d 100644
--- a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/notify.c
+++ b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/notify.c
@@ -1,6 +1,4 @@
#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/notify.h"
-#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.h"
-#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/support.h"
#include "trk.h"
/* 8036F4B0-8036F548 369DF0 0098+00 0/0 1/1 0/0 .text TRKDoNotifyStopped */
diff --git a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent.c b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent.c
index 02ec555c60..e5bfbc0325 100644
--- a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent.c
+++ b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent.c
@@ -1,5 +1,4 @@
#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent.h"
-#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/mutex_TRK.h"
TRKEventQueue gTRKEventQueue;
diff --git a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit.c b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit.c
index efb88ef536..37c0b9c515 100644
--- a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit.c
+++ b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit.c
@@ -6,7 +6,6 @@
#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubinit.h"
#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/serpoll.h"
#include "TRK_MINNOW_DOLPHIN/utils/common/MWTrace.h"
-#include "dol2asm.h"
/* 8044D8B8-8044D8C0 07A5D8 0004+04 1/1 4/4 0/0 .bss gTRKBigEndian */
BOOL gTRKBigEndian;
diff --git a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/serpoll.c b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/serpoll.c
index 7af5401ecd..99cadf89a5 100644
--- a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/serpoll.c
+++ b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/serpoll.c
@@ -1,5 +1,4 @@
#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/serpoll.h"
-#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.h"
#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent.h"
#include "TRK_MINNOW_DOLPHIN/utils/common/MWTrace.h"
#include "trk.h"
diff --git a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/support.c b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/support.c
index 846ade584d..daec5a9d66 100644
--- a/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/support.c
+++ b/libs/TRK_MINNOW_DOLPHIN/MetroTRK/Portable/support.c
@@ -1,7 +1,6 @@
#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/support.h"
#include "TRK_MINNOW_DOLPHIN/utils/common/MWTrace.h"
#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.h"
-#include "trk.h"
/* 8036F278-8036F498 369BB8 0220+00 0/0 1/1 0/0 .text TRKSuppAccessFile */
DSError TRKSuppAccessFile(u32 file_handle, u8* data, size_t* count, DSIOResult* io_result,
diff --git a/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk.c b/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk.c
index 27f2be43b2..5008359ecf 100644
--- a/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk.c
+++ b/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk.c
@@ -3,7 +3,6 @@
#include "TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk_glue.h"
#include "TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.h"
#include "dolphin/ar.h"
-#include "dolphin/os.h"
#define EXCEPTIONMASK_ADDR 0x80000044
diff --git a/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/targcont.c b/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/targcont.c
index 9089c9624e..fec194aa2f 100644
--- a/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/targcont.c
+++ b/libs/TRK_MINNOW_DOLPHIN/Os/dolphin/targcont.c
@@ -4,7 +4,6 @@
*/
#include "TRK_MINNOW_DOLPHIN/Os/dolphin/targcont.h"
-#include "TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.h"
/* 8037214C-80372180 36CA8C 0034+00 0/0 2/2 0/0 .text TRKTargetContinue */
DSError TRKTargetContinue(void) {
diff --git a/libs/TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.c b/libs/TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.c
index e578303d18..f77cbfe782 100644
--- a/libs/TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.c
+++ b/libs/TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.c
@@ -1,6 +1,5 @@
#include "TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.h"
#include "TRK_MINNOW_DOLPHIN/utils/common/MWTrace.h"
-#include "trk.h"
typedef struct memRange {
u8* start;
diff --git a/libs/Z2AudioLib/Z2Audience.cpp b/libs/Z2AudioLib/Z2Audience.cpp
index 83e0b4bc95..1249af0bb7 100644
--- a/libs/Z2AudioLib/Z2Audience.cpp
+++ b/libs/Z2AudioLib/Z2Audience.cpp
@@ -4,11 +4,7 @@
//
#include "Z2AudioLib/Z2Audience.h"
-#include "Z2AudioLib/Z2Calc.h"
-#include "Z2AudioLib/Z2SoundInfo.h"
#include "JSystem/JAudio2/JAISound.h"
-#include "JSystem/JAudio2/JASHeapCtrl.h"
-#include "JSystem/J3DU/J3DUD.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "JSystem/JMath/JMATrigonometric.h"
#include "dol2asm.h"
diff --git a/libs/Z2AudioLib/Z2AudioArcLoader.cpp b/libs/Z2AudioLib/Z2AudioArcLoader.cpp
index 0762223a1c..b08d52ba13 100644
--- a/libs/Z2AudioLib/Z2AudioArcLoader.cpp
+++ b/libs/Z2AudioLib/Z2AudioArcLoader.cpp
@@ -4,9 +4,6 @@
//
#include "Z2AudioLib/Z2AudioArcLoader.h"
-#include "Z2AudioLib/Z2FxLineMgr.h"
-#include "JSystem/JKernel/JKRHeap.h"
-#include "JSystem/JKernel/JKRArchive.h"
#include "JSystem/JAudio2/JAUSectionHeap.h"
#include "dol2asm.h"
diff --git a/libs/Z2AudioLib/Z2AudioMgr.cpp b/libs/Z2AudioLib/Z2AudioMgr.cpp
index 1aeb3eec2a..07542f97ea 100644
--- a/libs/Z2AudioLib/Z2AudioMgr.cpp
+++ b/libs/Z2AudioLib/Z2AudioMgr.cpp
@@ -6,12 +6,6 @@
#include "Z2AudioLib/Z2AudioMgr.h"
#include "JSystem/JAudio2/JASAiCtrl.h"
#include "JSystem/JAudio2/JASDriverIF.h"
-#include "JSystem/JAudio2/JASResArcLoader.h"
-#include "JSystem/JAudio2/JASSeqParser.h"
-#include "JSystem/JAudio2/JAUInitializer.h"
-#include "JSystem/JAudio2/JAUSectionHeap.h"
-#include "JSystem/JAudio2/JAUStreamAramMgr.h"
-#include "JSystem/JKernel/JKRSolidHeap.h"
#include "Z2AudioLib/Z2AudioArcLoader.h"
#include "Z2AudioLib/Z2SoundHandles.h"
#include "stdio.h"
diff --git a/libs/Z2AudioLib/Z2Creature.cpp b/libs/Z2AudioLib/Z2Creature.cpp
index 86e68e212b..19deb029c3 100644
--- a/libs/Z2AudioLib/Z2Creature.cpp
+++ b/libs/Z2AudioLib/Z2Creature.cpp
@@ -5,10 +5,6 @@
#include "Z2AudioLib/Z2Creature.h"
#include "Z2AudioLib/Z2Param.h"
-#include "Z2AudioLib/Z2SceneMgr.h"
-#include "Z2AudioLib/Z2SeMgr.h"
-#include "Z2AudioLib/Z2SoundObjMgr.h"
-#include "Z2AudioLib/Z2StatusMgr.h"
#include "Z2AudioLib/Z2Calc.h"
#include "Z2AudioLib/Z2AudioMgr.h"
#include "dol2asm.h"
diff --git a/libs/Z2AudioLib/Z2EnvSeMgr.cpp b/libs/Z2AudioLib/Z2EnvSeMgr.cpp
index 2b045cb345..99a12ce97d 100644
--- a/libs/Z2AudioLib/Z2EnvSeMgr.cpp
+++ b/libs/Z2AudioLib/Z2EnvSeMgr.cpp
@@ -4,12 +4,6 @@
//
#include "Z2AudioLib/Z2EnvSeMgr.h"
-#include "Z2AudioLib/Z2SoundStarter.h"
-#include "Z2AudioLib/Z2SoundMgr.h"
-#include "Z2AudioLib/Z2StatusMgr.h"
-#include "Z2AudioLib/Z2Creature.h"
-#include "Z2AudioLib/Z2Audience.h"
-#include "Z2AudioLib/Z2SceneMgr.h"
#include "Z2AudioLib/Z2Calc.h"
#include "JSystem/JAudio2/JASCalc.h"
#include "d/save/d_save.h"
diff --git a/libs/Z2AudioLib/Z2LinkMgr.cpp b/libs/Z2AudioLib/Z2LinkMgr.cpp
index 27ecf3ac69..68bb38efe9 100644
--- a/libs/Z2AudioLib/Z2LinkMgr.cpp
+++ b/libs/Z2AudioLib/Z2LinkMgr.cpp
@@ -7,7 +7,6 @@
#include "Z2AudioLib/Z2Creature.h"
#include "d/com/d_com_inf_game.h"
#include "dol2asm.h"
-#include "dolphin/os.h"
#include "global.h"
//
diff --git a/libs/Z2AudioLib/Z2SceneMgr.cpp b/libs/Z2AudioLib/Z2SceneMgr.cpp
index 4c989d77d1..8305a80de5 100644
--- a/libs/Z2AudioLib/Z2SceneMgr.cpp
+++ b/libs/Z2AudioLib/Z2SceneMgr.cpp
@@ -9,7 +9,6 @@
#include "Z2AudioLib/Z2SeMgr.h"
#include "Z2AudioLib/Z2Param.h"
#include "dol2asm.h"
-#include "global.h"
//
// Types:
diff --git a/libs/Z2AudioLib/Z2SeMgr.cpp b/libs/Z2AudioLib/Z2SeMgr.cpp
index 12b28740f9..ed3ac0c1fa 100644
--- a/libs/Z2AudioLib/Z2SeMgr.cpp
+++ b/libs/Z2AudioLib/Z2SeMgr.cpp
@@ -5,12 +5,7 @@
#include "Z2AudioLib/Z2SeMgr.h"
#include "Z2AudioLib/Z2Audience.h"
-#include "Z2AudioLib/Z2Calc.h"
-#include "Z2AudioLib/Z2Param.h"
-#include "Z2AudioLib/Z2SceneMgr.h"
-#include "Z2AudioLib/Z2SeqMgr.h"
#include "Z2AudioLib/Z2SoundMgr.h"
-#include "Z2AudioLib/Z2SoundStarter.h"
#include "Z2AudioLib/Z2SpeechMgr2.h"
#include "Z2AudioLib/Z2StatusMgr.h"
#include "dol2asm.h"
diff --git a/libs/Z2AudioLib/Z2SeqMgr.cpp b/libs/Z2AudioLib/Z2SeqMgr.cpp
index 2c3db4c866..6026b1f7b7 100644
--- a/libs/Z2AudioLib/Z2SeqMgr.cpp
+++ b/libs/Z2AudioLib/Z2SeqMgr.cpp
@@ -4,14 +4,12 @@
//
#include "Z2AudioLib/Z2SeqMgr.h"
-#include "Z2AudioLib/Z2Calc.h"
#include "Z2AudioLib/Z2Creature.h"
#include "Z2AudioLib/Z2Param.h"
#include "Z2AudioLib/Z2SceneMgr.h"
#include "Z2AudioLib/Z2SoundMgr.h"
#include "Z2AudioLib/Z2SoundObjMgr.h"
#include "Z2AudioLib/Z2StatusMgr.h"
-#include "JSystem/JAudio2/JAISeq.h"
#include "JSystem/JAudio2/JAISoundChild.h"
#include "dol2asm.h"
diff --git a/libs/Z2AudioLib/Z2SoundHandles.cpp b/libs/Z2AudioLib/Z2SoundHandles.cpp
index 52c4a19825..2ccf80ae7d 100644
--- a/libs/Z2AudioLib/Z2SoundHandles.cpp
+++ b/libs/Z2AudioLib/Z2SoundHandles.cpp
@@ -4,9 +4,7 @@
//
#include "Z2AudioLib/Z2SoundHandles.h"
-#include "JSystem/JAudio2/JASGadget.h"
#include "JSystem/JAudio2/JAISoundInfo.h"
-#include "dolphin/types.h"
#include "dol2asm.h"
extern "C" void func_802AB200(void* _this);
diff --git a/libs/Z2AudioLib/Z2SoundInfo.cpp b/libs/Z2AudioLib/Z2SoundInfo.cpp
index e55b97deb1..7e75a765f6 100644
--- a/libs/Z2AudioLib/Z2SoundInfo.cpp
+++ b/libs/Z2AudioLib/Z2SoundInfo.cpp
@@ -4,12 +4,7 @@
//
#include "Z2AudioLib/Z2SoundInfo.h"
-#include "Z2AudioLib/Z2Calc.h"
#include "JSystem/JAudio2/JAISeq.h"
-#include "JSystem/JAudio2/JAISe.h"
-#include "JSystem/JAudio2/JAISoundChild.h"
-#include "JSystem/JAudio2/JAIStream.h"
-#include "JSystem/JAudio2/JAUAudibleParam.h"
#include "JSystem/JAudio2/JAUSoundTable.h"
#include "JSystem/JUtility/JUTAssert.h"
#include "dol2asm.h"
diff --git a/libs/Z2AudioLib/Z2SoundMgr.cpp b/libs/Z2AudioLib/Z2SoundMgr.cpp
index 7060471381..792caedd67 100644
--- a/libs/Z2AudioLib/Z2SoundMgr.cpp
+++ b/libs/Z2AudioLib/Z2SoundMgr.cpp
@@ -6,10 +6,6 @@
#include "Z2AudioLib/Z2SoundMgr.h"
#include "Z2AudioLib/Z2Param.h"
#include "Z2AudioLib/Z2SceneMgr.h"
-#include "Z2AudioLib/Z2SeMgr.h"
-#include "Z2AudioLib/Z2SeqMgr.h"
-#include "Z2AudioLib/Z2SoundInfo.h"
-#include "Z2AudioLib/Z2SpeechMgr2.h"
#include "JSystem/JAudio2/JASCalc.h"
#include "JSystem/JAudio2/JASDriverIF.h"
#include "JSystem/JAudio2/JAUSectionHeap.h"
diff --git a/libs/Z2AudioLib/Z2SoundObject.cpp b/libs/Z2AudioLib/Z2SoundObject.cpp
index 59d6fa7ecb..669cf200b9 100644
--- a/libs/Z2AudioLib/Z2SoundObject.cpp
+++ b/libs/Z2AudioLib/Z2SoundObject.cpp
@@ -10,7 +10,6 @@
#include "Z2AudioLib/Z2SoundMgr.h"
#include "Z2AudioLib/Z2SoundStarter.h"
#include "Z2AudioLib/Z2Audience.h"
-#include "JSystem/JAudio2/JASGadget.h"
#include "JSystem/JAudio2/JAUSoundAnimator.h"
Z2SoundObjBase::Z2SoundObjBase() {
diff --git a/libs/Z2AudioLib/Z2SoundStarter.cpp b/libs/Z2AudioLib/Z2SoundStarter.cpp
index b05da8234a..2996aae9a9 100644
--- a/libs/Z2AudioLib/Z2SoundStarter.cpp
+++ b/libs/Z2AudioLib/Z2SoundStarter.cpp
@@ -5,7 +5,6 @@
#include "Z2AudioLib/Z2SoundStarter.h"
#include "Z2AudioLib/Z2EnvSeMgr.h"
#include "Z2AudioLib/Z2AudioMgr.h"
-#include "JSystem/JUtility/JUTAssert.h"
/* 802AAB94-802AABF4 2A54D4 0060+00 0/0 4/4 0/0 .text __ct__14Z2SoundStarterFb */
Z2SoundStarter::Z2SoundStarter(bool param_0) : JAISoundStarter(param_0), JASGlobalInstance<Z2SoundStarter>(param_0) {
diff --git a/libs/Z2AudioLib/Z2SpeechMgr2.cpp b/libs/Z2AudioLib/Z2SpeechMgr2.cpp
index 36e9459405..4b4e03f0ab 100644
--- a/libs/Z2AudioLib/Z2SpeechMgr2.cpp
+++ b/libs/Z2AudioLib/Z2SpeechMgr2.cpp
@@ -4,9 +4,6 @@
//
#include "Z2AudioLib/Z2SpeechMgr2.h"
-#include "Z2AudioLib/Z2SeqMgr.h"
-#include "Z2AudioLib/Z2EnvSeMgr.h"
-#include "Z2AudioLib/Z2AudioMgr.h"
#include "JSystem/J3DU/J3DUD.h"
#include "dol2asm.h"
diff --git a/libs/Z2AudioLib/Z2WolfHowlMgr.cpp b/libs/Z2AudioLib/Z2WolfHowlMgr.cpp
index c32225200f..4a66db16d4 100644
--- a/libs/Z2AudioLib/Z2WolfHowlMgr.cpp
+++ b/libs/Z2AudioLib/Z2WolfHowlMgr.cpp
@@ -10,7 +10,6 @@
#include "Z2AudioLib/Z2SceneMgr.h"
#include "Z2AudioLib/Z2SoundMgr.h"
#include "Z2AudioLib/Z2Audience.h"
-#include "dolphin/os.h"
#include "d/d_demo.h"
/* ############################################################################################## */
diff --git a/libs/dolphin/ar/ar.c b/libs/dolphin/ar/ar.c
index b3bd3bf341..99a0df898d 100644
--- a/libs/dolphin/ar/ar.c
+++ b/libs/dolphin/ar/ar.c
@@ -1,5 +1,4 @@
#include "dolphin/ar.h"
-#include "dolphin/base/PPCArch.h"
#include "dolphin/dsp.h"
#include "dolphin/os.h"
#include "string.h"
diff --git a/libs/dolphin/card/CARDBios.c b/libs/dolphin/card/CARDBios.c
index 6106681bb9..af963de05d 100644
--- a/libs/dolphin/card/CARDBios.c
+++ b/libs/dolphin/card/CARDBios.c
@@ -1,5 +1,4 @@
#include "dolphin/card.h"
-#include "dolphin/dsp.h"
#include "dolphin/os.h"
#include "dolphin/card/CARDPriv.h"
diff --git a/libs/dolphin/card/CARDCheck.c b/libs/dolphin/card/CARDCheck.c
index 8c1226147d..01cb7673e5 100644
--- a/libs/dolphin/card/CARDCheck.c
+++ b/libs/dolphin/card/CARDCheck.c
@@ -1,7 +1,6 @@
#include "dolphin/card/CARDCheck.h"
#include "dolphin/card.h"
#include "dolphin/card/CARDPriv.h"
-#include "dolphin/dsp.h"
#include "dolphin/os/OSRtc.h"
static s32 VerifyID(CARDControl* card);
diff --git a/libs/dolphin/card/CARDCreate.c b/libs/dolphin/card/CARDCreate.c
index 19afd307ad..e836bbba97 100644
--- a/libs/dolphin/card/CARDCreate.c
+++ b/libs/dolphin/card/CARDCreate.c
@@ -1,7 +1,6 @@
#include "dolphin/card/CARDCreate.h"
#include "dolphin/card.h"
#include "dolphin/card/CARDPriv.h"
-#include "dolphin/dsp.h"
#include "dolphin/dvd.h"
static void CreateCallbackFat(s32 chan, s32 result);
diff --git a/libs/dolphin/card/CARDDir.c b/libs/dolphin/card/CARDDir.c
index 0df040bb43..61a48db71f 100644
--- a/libs/dolphin/card/CARDDir.c
+++ b/libs/dolphin/card/CARDDir.c
@@ -1,7 +1,6 @@
#include "dolphin/card/CARDDir.h"
#include "dolphin/card.h"
#include "dolphin/card/CARDPriv.h"
-#include "dolphin/dsp.h"
static void WriteCallback(s32 chan, s32 result);
static void EraseCallback(s32 chan, s32 result);
diff --git a/libs/dolphin/card/CARDFormat.c b/libs/dolphin/card/CARDFormat.c
index afba4c3f5f..1b14f330b9 100644
--- a/libs/dolphin/card/CARDFormat.c
+++ b/libs/dolphin/card/CARDFormat.c
@@ -1,7 +1,6 @@
#include "dolphin/card/CARDFormat.h"
#include "dolphin/card.h"
#include "dolphin/card/CARDPriv.h"
-#include "dolphin/dsp.h"
#include "dolphin/os/OSRtc.h"
#include "dolphin/vi.h"
diff --git a/libs/dolphin/card/CARDMount.c b/libs/dolphin/card/CARDMount.c
index 6e1643aedc..65c09056a4 100644
--- a/libs/dolphin/card/CARDMount.c
+++ b/libs/dolphin/card/CARDMount.c
@@ -1,7 +1,6 @@
#include "dolphin/card/CARDMount.h"
#include "dolphin/card.h"
#include "dolphin/card/CARDPriv.h"
-#include "dolphin/dsp.h"
#include "dolphin/os/OSRtc.h"
u8 GameChoice : 0x800030E3;
diff --git a/libs/dolphin/card/CARDNet.c b/libs/dolphin/card/CARDNet.c
index afd89cb68f..10963ee1c8 100644
--- a/libs/dolphin/card/CARDNet.c
+++ b/libs/dolphin/card/CARDNet.c
@@ -1,7 +1,6 @@
#include "dolphin/card/CARDNet.h"
#include "dolphin/card.h"
#include "dolphin/card/CARDPriv.h"
-#include "dolphin/dsp.h"
/* 80450A70 0002+00 data_80450A70 __CARDVendorID */
u16 __CARDVendorID = 0xFFFF;
diff --git a/libs/dolphin/card/CARDOpen.c b/libs/dolphin/card/CARDOpen.c
index f50687ecbc..ca0698012c 100644
--- a/libs/dolphin/card/CARDOpen.c
+++ b/libs/dolphin/card/CARDOpen.c
@@ -1,7 +1,6 @@
#include "dolphin/card/CARDOpen.h"
#include "dolphin/card.h"
#include "dolphin/card/CARDPriv.h"
-#include "dolphin/dsp.h"
#include "dolphin/dvd.h"
/* 80357C74-80357CDC 3525B4 0068+00 1/1 1/1 0/0 .text __CARDCompareFileName */
diff --git a/libs/dolphin/card/CARDRdwr.c b/libs/dolphin/card/CARDRdwr.c
index 139712961b..d9c6d5c873 100644
--- a/libs/dolphin/card/CARDRdwr.c
+++ b/libs/dolphin/card/CARDRdwr.c
@@ -1,7 +1,6 @@
#include "dolphin/card/CARDRdwr.h"
#include "dolphin/card.h"
#include "dolphin/card/CARDPriv.h"
-#include "dolphin/dsp.h"
static void BlockReadCallback(s32 chan, s32 result);
static void BlockWriteCallback(s32 chan, s32 result);
diff --git a/libs/dolphin/card/CARDRead.c b/libs/dolphin/card/CARDRead.c
index 5a9eb2db2d..52ae99d159 100644
--- a/libs/dolphin/card/CARDRead.c
+++ b/libs/dolphin/card/CARDRead.c
@@ -1,7 +1,6 @@
#include "dolphin/card/CARDRead.h"
#include "dolphin/card.h"
#include "dolphin/card/CARDPriv.h"
-#include "dolphin/dsp.h"
static void ReadCallback(s32 chan, s32 result);
diff --git a/libs/dolphin/card/CARDStat.c b/libs/dolphin/card/CARDStat.c
index e32d486f6c..9c432737fa 100644
--- a/libs/dolphin/card/CARDStat.c
+++ b/libs/dolphin/card/CARDStat.c
@@ -1,7 +1,6 @@
#include "dolphin/card/CARDStat.h"
#include "dolphin/card.h"
#include "dolphin/card/CARDPriv.h"
-#include "dolphin/dsp.h"
static void UpdateIconOffsets(CARDDir* ent, CARDStat* stat);
diff --git a/libs/dolphin/card/CARDUnlock.c b/libs/dolphin/card/CARDUnlock.c
index 6fefed478b..fcf54a4067 100644
--- a/libs/dolphin/card/CARDUnlock.c
+++ b/libs/dolphin/card/CARDUnlock.c
@@ -1,7 +1,6 @@
#include "dolphin/card/CARDUnlock.h"
#include "dolphin/card.h"
#include "dolphin/card/CARDPriv.h"
-#include "dolphin/dsp.h"
#include "dolphin/os.h"
static u32 bitrev(u32 data);
diff --git a/libs/dolphin/card/CARDWrite.c b/libs/dolphin/card/CARDWrite.c
index 1a49bc892c..2e7487a80c 100644
--- a/libs/dolphin/card/CARDWrite.c
+++ b/libs/dolphin/card/CARDWrite.c
@@ -1,7 +1,6 @@
#include "dolphin/card/CARDWrite.h"
#include "dolphin/card.h"
#include "dolphin/card/CARDPriv.h"
-#include "dolphin/dsp.h"
#include "dolphin/os/OSTime.h"
static void WriteCallback(s32 chan, s32 result);
diff --git a/libs/dolphin/db/db.c b/libs/dolphin/db/db.c
index 823edd9664..6af5f9d5f8 100644
--- a/libs/dolphin/db/db.c
+++ b/libs/dolphin/db/db.c
@@ -1,5 +1,4 @@
#include "dolphin/db.h"
-#include "dolphin/os.h"
/* 80451708-8045170C 000C08 0004+00 2/2 0/0 0/0 .sbss __DBInterface */
static DBInterface* __DBInterface;
diff --git a/libs/dolphin/dvd/dvdfs.c b/libs/dolphin/dvd/dvdfs.c
index 8b151e682c..424486393e 100644
--- a/libs/dolphin/dvd/dvdfs.c
+++ b/libs/dolphin/dvd/dvdfs.c
@@ -1,5 +1,4 @@
#include "dolphin/dvd/dvdfs.h"
-#include "ctype.h"
#include "dolphin/dvd.h"
#include "dolphin/os.h"
diff --git a/libs/dolphin/dvd/dvdlow.c b/libs/dolphin/dvd/dvdlow.c
index f2a723a0da..09f05e5554 100644
--- a/libs/dolphin/dvd/dvdlow.c
+++ b/libs/dolphin/dvd/dvdlow.c
@@ -3,7 +3,6 @@
#include "dolphin/os/OSAlarm.h"
#include "dolphin/os/OSContext.h"
#include "dolphin/os/OSReset.h"
-#include "dolphin/os/OSTime.h"
void __DVDInitWA();
void __DVDInterruptHandler(u32 arg0, OSContext* context);
diff --git a/libs/dolphin/dvd/dvdqueue.c b/libs/dolphin/dvd/dvdqueue.c
index 26e931a7c7..e58068c382 100644
--- a/libs/dolphin/dvd/dvdqueue.c
+++ b/libs/dolphin/dvd/dvdqueue.c
@@ -1,6 +1,5 @@
#include "dolphin/dvd/dvdqueue.h"
#include "dolphin/dvd.h"
-#include "dolphin/os/OSInterrupt.h"
void __DVDClearWaitingQueue();
BOOL __DVDPushWaitingQueue(s32 prio, DVDCommandBlock* block);
diff --git a/libs/dolphin/exi/EXIBios.c b/libs/dolphin/exi/EXIBios.c
index adcaaf504a..64c43fdaf4 100644
--- a/libs/dolphin/exi/EXIBios.c
+++ b/libs/dolphin/exi/EXIBios.c
@@ -1,5 +1,4 @@
#include "dolphin/exi/EXIBios.h"
-#include "dol2asm.h"
#include "dolphin/os.h"
/* 804509C0-804509C8 -00001 0004+04 1/1 0/0 0/0 .sdata __EXIVersion */
diff --git a/libs/dolphin/gx/GXAttr.c b/libs/dolphin/gx/GXAttr.c
index 854a4caa93..bc81d42b52 100644
--- a/libs/dolphin/gx/GXAttr.c
+++ b/libs/dolphin/gx/GXAttr.c
@@ -1,6 +1,5 @@
#include "dolphin/gx/GXAttr.h"
#include "dolphin/gx.h"
-#include "dolphin/gx/GXInit.h"
static inline void SETVCDATTR(GXAttr name, GXAttrType type) {
switch (name) {
diff --git a/libs/dolphin/gx/GXFrameBuf.c b/libs/dolphin/gx/GXFrameBuf.c
index 5321a9214d..77dd6a876a 100644
--- a/libs/dolphin/gx/GXFrameBuf.c
+++ b/libs/dolphin/gx/GXFrameBuf.c
@@ -1,6 +1,5 @@
#include "dolphin/gx/GXFrameBuf.h"
#include "dolphin/gx.h"
-#include "dolphin/vi.h"
GXRenderModeObj GXNtsc480IntDf = {
VI_TVMODE_NTSC_INT,
diff --git a/libs/dolphin/gx/GXInit.c b/libs/dolphin/gx/GXInit.c
index dac0508656..e0deaf9612 100644
--- a/libs/dolphin/gx/GXInit.c
+++ b/libs/dolphin/gx/GXInit.c
@@ -1,4 +1,3 @@
-#include "dolphin/base/PPCArch.h"
#include "dolphin/gx.h"
#include "dolphin/os.h"
#include "dolphin/vi.h"
diff --git a/libs/dolphin/gx/GXMisc.c b/libs/dolphin/gx/GXMisc.c
index d5d7eb4b29..8ea5637047 100644
--- a/libs/dolphin/gx/GXMisc.c
+++ b/libs/dolphin/gx/GXMisc.c
@@ -1,7 +1,5 @@
#include "dolphin/gx/GXMisc.h"
#include "dolphin/gx.h"
-#include "dolphin/gx/GXInit.h"
-#include "dolphin/os/OSContext.h"
#include "dolphin/os/OSInterrupt.h"
#include "dolphin/os/OSReset.h"
#include "dolphin/os/OSTime.h"
diff --git a/libs/dolphin/gx/GXTexture.c b/libs/dolphin/gx/GXTexture.c
index c23e733482..08be7734a3 100644
--- a/libs/dolphin/gx/GXTexture.c
+++ b/libs/dolphin/gx/GXTexture.c
@@ -1,6 +1,5 @@
#include "dolphin/gx/GXTexture.h"
#include "dolphin/gx.h"
-#include "string.h"
#define GET_TILE_COUNT(a, b) (((a) + (1 << (b)) - 1) >> (b))
diff --git a/libs/dolphin/os/OS.c b/libs/dolphin/os/OS.c
index 07753bf904..e6c99568da 100644
--- a/libs/dolphin/os/OS.c
+++ b/libs/dolphin/os/OS.c
@@ -6,8 +6,6 @@
#include "dolphin/base/PPCArch.h"
#include "dolphin/db.h"
#include "dolphin/pad.h"
-#include "dolphin/exi/EXIBios.h"
-#include "dolphin/si/SIBios.h"
#include "dolphin/dvd/dvdfs.h"
#include "TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk.h"
diff --git a/libs/dolphin/os/OSAlarm.c b/libs/dolphin/os/OSAlarm.c
index 84bc56c4a4..16e6d2cb28 100644
--- a/libs/dolphin/os/OSAlarm.c
+++ b/libs/dolphin/os/OSAlarm.c
@@ -1,6 +1,5 @@
#include "dolphin/os/OSAlarm.h"
#include "dolphin/os.h"
-#include "dolphin/os/OSReset.h"
static BOOL OnReset(BOOL param_0);
BOOL __DVDTestAlarm(OSAlarm* alarm);
diff --git a/libs/dolphin/os/OSAudioSystem.c b/libs/dolphin/os/OSAudioSystem.c
index 798ea809b4..5eaf9c39d8 100644
--- a/libs/dolphin/os/OSAudioSystem.c
+++ b/libs/dolphin/os/OSAudioSystem.c
@@ -1,6 +1,5 @@
#include "dolphin/os/OSAudioSystem.h"
#include "dolphin/dsp.h"
-#include "dolphin/os/OSTime.h"
#include "string.h"
/* 803CF490-803CF510 02C5B0 0080+00 1/1 0/0 0/0 .data DSPInitCode */
diff --git a/libs/dolphin/os/OSCache.c b/libs/dolphin/os/OSCache.c
index 815a9b0f3a..081b8e9ff5 100644
--- a/libs/dolphin/os/OSCache.c
+++ b/libs/dolphin/os/OSCache.c
@@ -2,7 +2,6 @@
#include "dolphin/base/PPCArch.h"
#include "dolphin/db.h"
#include "dolphin/os.h"
-#include "dolphin/os/OSInterrupt.h"
/* 8033B56C-8033B580 335EAC 0014+00 1/1 0/0 0/0 .text DCEnable */
static asm void DCEnable(void) {
diff --git a/libs/dolphin/os/OSExec.c b/libs/dolphin/os/OSExec.c
index 77746d9ed7..11db107d94 100644
--- a/libs/dolphin/os/OSExec.c
+++ b/libs/dolphin/os/OSExec.c
@@ -5,8 +5,6 @@
#include "dolphin/os/OSExec.h"
#include "dolphin/os.h"
-#include "dolphin/os/OSReset.h"
-#include "dolphin/dvd.h"
#include "dolphin/ai.h"
#include "dol2asm.h"
#include "string.h"
diff --git a/libs/dolphin/os/OSInterrupt.c b/libs/dolphin/os/OSInterrupt.c
index bb8e433547..f07c9c3ea4 100644
--- a/libs/dolphin/os/OSInterrupt.c
+++ b/libs/dolphin/os/OSInterrupt.c
@@ -2,7 +2,6 @@
#include "dolphin/dsp.h"
#include "dolphin/exi/EXIBios.h"
#include "dolphin/os.h"
-#include "string.h"
vu32 __PIRegs[12] : 0xCC003000;
vu16 __MEMRegs[64] : 0xCC004000;
diff --git a/libs/dolphin/os/OSMemory.c b/libs/dolphin/os/OSMemory.c
index 6b191e3a84..f6afe2ad0d 100644
--- a/libs/dolphin/os/OSMemory.c
+++ b/libs/dolphin/os/OSMemory.c
@@ -1,6 +1,5 @@
#include "dolphin/os/OSMemory.h"
#include "dolphin/os.h"
-#include "dolphin/os/OSReset.h"
#define TRUNC(n, a) (((u32)(n)) & ~((a)-1))
#define ROUND(n, a) (((u32)(n) + (a)-1) & ~((a)-1))
diff --git a/libs/dolphin/os/OSMessage.c b/libs/dolphin/os/OSMessage.c
index 95c2290acf..3b091b5ffb 100644
--- a/libs/dolphin/os/OSMessage.c
+++ b/libs/dolphin/os/OSMessage.c
@@ -1,5 +1,4 @@
#include "dolphin/os/OSMessage.h"
-#include "dolphin/os/OSThread.h"
/* 8033E994-8033E9F4 3392D4 0060+00 0/0 13/13 5/5 .text OSInitMessageQueue */
void OSInitMessageQueue(OSMessageQueue* mq, OSMessage* msgArray, s32 msgCount) {
diff --git a/libs/dolphin/os/OSReboot.c b/libs/dolphin/os/OSReboot.c
index e1b2d806dd..f4ce427d01 100644
--- a/libs/dolphin/os/OSReboot.c
+++ b/libs/dolphin/os/OSReboot.c
@@ -1,5 +1,4 @@
#include "dolphin/os/OSReboot.h"
-#include "dolphin/os/OSArena.h"
#include "dolphin/os/OSContext.h"
#include "dolphin/os/OSExec.h"
diff --git a/libs/dolphin/os/OSReset.c b/libs/dolphin/os/OSReset.c
index 3c2f4bb2db..5ab7ff8b72 100644
--- a/libs/dolphin/os/OSReset.c
+++ b/libs/dolphin/os/OSReset.c
@@ -1,6 +1,5 @@
#include "dolphin/os/OSReset.h"
#include "dolphin/os.h"
-#include "string.h"
vu16 __VIRegs[59] : 0xCC002000;
OSThreadQueue __OSActiveThreadQueue : (OS_BASE_CACHED | 0x00DC);
diff --git a/libs/dolphin/os/OSThread.c b/libs/dolphin/os/OSThread.c
index 6401d8ddfb..214e670326 100644
--- a/libs/dolphin/os/OSThread.c
+++ b/libs/dolphin/os/OSThread.c
@@ -4,7 +4,6 @@
//
#include "dolphin/os/OSThread.h"
-#include "dol2asm.h"
#include "dolphin/os.h"
OSThread* __OSCurrentThread : OS_BASE_CACHED + 0x00E4;
diff --git a/libs/dolphin/os/OSTime.c b/libs/dolphin/os/OSTime.c
index f00eee18a9..ac283bafc3 100644
--- a/libs/dolphin/os/OSTime.c
+++ b/libs/dolphin/os/OSTime.c
@@ -1,6 +1,5 @@
#include "dolphin/os/OSTime.h"
#include "dolphin/os.h"
-#include "dolphin/os/OSInterrupt.h"
#define OS_TIME_MONTH_MAX 12
#define OS_TIME_WEEK_DAY_MAX 7
diff --git a/libs/dolphin/pad/Pad.c b/libs/dolphin/pad/Pad.c
index bf7b61eb9f..b5753d4b37 100644
--- a/libs/dolphin/pad/Pad.c
+++ b/libs/dolphin/pad/Pad.c
@@ -1,7 +1,6 @@
#include "dolphin/pad.h"
#include "dolphin/os.h"
#include "dolphin/si/SIBios.h"
-#include "dolphin/si/SISamplingRate.h"
u8 UnkVal : (OS_BASE_CACHED | 0x30e3);
u16 __OSWirelessPadFixMode : (OS_BASE_CACHED | 0x30E0);
diff --git a/libs/dolphin/si/SIBios.c b/libs/dolphin/si/SIBios.c
index b1843354e8..15ec51b2f0 100644
--- a/libs/dolphin/si/SIBios.c
+++ b/libs/dolphin/si/SIBios.c
@@ -1,6 +1,5 @@
#include "dolphin/si/SIBios.h"
#include "dolphin/os.h"
-#include "dolphin/vi.h"
/* 804509C8-804509D0 -00001 0004+04 1/1 0/0 0/0 .sdata __SIVersion */
static char* __SIVersion = "<< Dolphin SDK - SI\trelease build: Apr 5 2004 04:14:16 (0x2301) >>";
diff --git a/libs/dolphin/vi/vi.c b/libs/dolphin/vi/vi.c
index 7c9f331134..2999acc5b6 100644
--- a/libs/dolphin/vi/vi.c
+++ b/libs/dolphin/vi/vi.c
@@ -5,7 +5,6 @@
#include "dolphin/vi.h"
#include "dol2asm.h"
-#include "dolphin/gx.h"
#include "dolphin/os.h"
#define CLAMP(x, l, h) (((x) > (h)) ? (h) : (((x) < (l)) ? (l) : (x)))