more misc. cleanup (#2232)

This commit is contained in:
Caroline Madsen
2024-10-31 20:36:11 -04:00
committed by GitHub
parent 30777a85b5
commit 09423b6fa0
121 changed files with 2254 additions and 17343 deletions
+2 -2
View File
@@ -556,10 +556,10 @@ extern const J3DColorChanInfo j3dDefaultColorChanInfo = {
};
/* 804563F8-804563FA 0049F8 0002+00 0/0 1/1 0/0 .sdata2 None */
extern const u16 data_804563F8 = 0x1B00;
extern const u8 data_804563F8 = 0x1B;
/* 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;
const u16 j3dDefaultZModeID = 0x0017;
+4 -71
View File
@@ -6,40 +6,8 @@
#include "JSystem/J3DGraphBase/J3DTransform.h"
#include "JSystem/JMath/JMATrigonometric.h"
#include "JSystem/J3DGraphBase/J3DStruct.h"
#include "dol2asm.h"
#include "dolphin/base/PPCArch.h"
//
// Forward References:
//
extern "C" void __MTGQR7__FUl();
extern "C" void J3DGQRSetup7__FUlUlUlUl();
extern "C" void J3DCalcBBoardMtx__FPA4_f();
extern "C" void J3DCalcYBBoardMtx__FPA4_f();
extern "C" void J3DPSCalcInverseTranspose__FPA4_fPA3_f();
extern "C" void J3DGetTranslateRotateMtx__FRC16J3DTransformInfoPA4_f();
extern "C" void J3DGetTranslateRotateMtx__FsssfffPA4_f();
extern "C" void J3DGetTextureMtx__FRC17J3DTextureSRTInfoRC3VecPA4_f();
extern "C" void J3DGetTextureMtxOld__FRC17J3DTextureSRTInfoRC3VecPA4_f();
extern "C" void J3DGetTextureMtxMaya__FRC17J3DTextureSRTInfoPA4_f();
extern "C" void J3DGetTextureMtxMayaOld__FRC17J3DTextureSRTInfoPA4_f();
extern "C" void J3DScaleNrmMtx__FPA4_fRC3Vec();
extern "C" void J3DScaleNrmMtx33__FPA3_fRC3Vec();
extern "C" void J3DMtxProjConcat__FPA4_fPA4_fPA4_f();
extern "C" void J3DPSMtxArrayConcat__FPA4_fPA4_fPA4_fUl();
extern "C" extern f32 PSMulUnit01[2];
//
// External References:
//
extern "C" u8 sincosTable___5JMath[65536];
//
// Declarations:
//
/* 80311630-80311638 -00001 0008+00 0/0 0/0 0/0 .text __MTGQR7__FUl */
void __MTGQR7(register u32 v) {
// clang-format off
@@ -55,18 +23,8 @@ void J3DGQRSetup7(u32 r0, u32 r1, u32 r2, u32 r3) {
__MTGQR7(v);
}
/* ############################################################################################## */
/* 80456378-8045637C 004978 0004+00 6/6 0/0 0/0 .sdata2 @435 */
SECTION_SDATA2 static u8 lit_435[4] = {
0x00,
0x00,
0x00,
0x00,
};
/* 80311670-80311760 30BFB0 00F0+00 0/0 2/2 0/0 .text J3DCalcBBoardMtx__FPA4_f */
// this uses a non-standard sqrtf, not sure why or how its supposed to be setup
#ifdef NONMATCHING
static inline f32 sqrtf2(f32 x) {
if (x > 0.0f) {
f32 guess = (f32)__frsqrte(x);
@@ -102,13 +60,7 @@ void J3DCalcBBoardMtx(Mtx mtx) {
mtx[2][1] = 0.0f;
mtx[2][2] = z;
}
#else
void J3DCalcBBoardMtx(f32 (*param_0)[4]) {
// NONMATCHING
}
#endif
/* ############################################################################################## */
/* 803A1E30-803A1E50 02E490 0020+00 0/0 1/1 0/0 .rodata j3dDefaultTransformInfo */
extern J3DTransformInfo const j3dDefaultTransformInfo = {
{1.0f, 1.0f, 1.0f}, {0, 0, 0}, {0.0f, 0.0f, 0.0f}};
@@ -120,12 +72,6 @@ extern Vec const j3dDefaultScale = {1.0f, 1.0f, 1.0f};
extern Mtx const j3dDefaultMtx = {
{1.0f, 0.0f, 0.0f, 0.0f}, {0.0f, 1.0f, 0.0f, 0.0f}, {0.0f, 0.0f, 1.0f, 0.0f}};
/* 803A1E8C-803A1E98 02E4EC 000C+00 1/1 0/0 0/0 .rodata @443 */
SECTION_RODATA static u8 const lit_443[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x803A1E8C, &lit_443);
/* 80311760-8031189C 30C0A0 013C+00 0/0 2/2 0/0 .text J3DCalcYBBoardMtx__FPA4_f */
void J3DCalcYBBoardMtx(f32 (*param_0)[4]) {
// NONMATCHING
@@ -191,10 +137,6 @@ void J3DGetTranslateRotateMtx(s16 rx, s16 ry, s16 rz, f32 tx, f32 ty, f32 tz, Mt
dst[2][3] = tz;
}
/* ############################################################################################## */
/* 8045637C-80456380 00497C 0004+00 4/4 0/0 0/0 .sdata2 @526 */
SECTION_SDATA2 static f32 lit_526 = 1.0f;
/* 80311ACC-80311B80 30C40C 00B4+00 0/0 3/3 0/0 .text
* J3DGetTextureMtx__FRC17J3DTextureSRTInfoRC3VecPA4_f */
void J3DGetTextureMtx(const J3DTextureSRTInfo& srt, const Vec& center, Mtx dst) {
@@ -248,15 +190,6 @@ void J3DGetTextureMtxOld(const J3DTextureSRTInfo& srt, const Vec& center, Mtx ds
dst[2][2] = 1.0f;
}
/* ############################################################################################## */
/* 80456380-80456388 004980 0004+04 2/2 0/0 0/0 .sdata2 @557 */
SECTION_SDATA2 static f32 lit_557[1 + 1 /* padding */] = {
0.5f,
/* padding */
0.0f,
};
/* 80311C34-80311CE4 30C574 00B0+00 0/0 3/3 0/0 .text
* J3DGetTextureMtxMaya__FRC17J3DTextureSRTInfoPA4_f */
void J3DGetTextureMtxMaya(const J3DTextureSRTInfo& srt, Mtx dst) {
@@ -361,8 +294,8 @@ void J3DMtxProjConcat(f32 (*param_0)[4], f32 (*param_1)[4], f32 (*param_2)[4]) {
/* ############################################################################################## */
/* 80450958-80450960 0003D8 0008+00 1/1 0/0 0/0 .sdata Unit01 */
SECTION_SDATA static u8 Unit01[8] = {
0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
static f32 Unit01[2] = {
0.0f, 1.0f
};
/* 80311F70-8031204C 30C8B0 00DC+00 0/0 1/1 0/0 .text J3DPSMtxArrayConcat__FPA4_fPA4_fPA4_fUl */
@@ -372,7 +305,7 @@ void J3DPSMtxArrayConcat(f32 (*param_0)[4], f32 (*param_1)[4], f32 (*param_2)[4]
/* ############################################################################################## */
/* 803CD8F8-803CD900 02AA18 0008+00 0/0 2/2 0/0 .data PSMulUnit01 */
SECTION_DATA extern f32 PSMulUnit01[2] = {
extern f32 PSMulUnit01[2] = {
0.0f,
-1.0f,
};
};
+71 -333
View File
@@ -4,217 +4,9 @@
//
#include "JSystem/J3DGraphLoader/J3DAnmLoader.h"
#include "JSystem/J3DGraphAnimator/J3DAnimation.h"
#include "JSystem/JSupport/JSupport.h"
#include "dol2asm.h"
#include "dolphin/os.h"
//
// Types:
//
class J3DAnmLoader {
public:
virtual J3DAnmBase* load(const void*) = 0;
virtual void setResource(J3DAnmBase*, const void*) = 0;
/* 80339800 */ virtual ~J3DAnmLoader() {}
};
class J3DAnmKeyLoader_v15 : public J3DAnmLoader {
public:
/* 803384E0 */ J3DAnmKeyLoader_v15();
/* 80338FEC */ void readAnmTransform(J3DAnmTransformKeyData const*);
/* 80339014 */ void setAnmTransform(J3DAnmTransformKey*, J3DAnmTransformKeyData const*);
/* 803390B0 */ void readAnmTextureSRT(J3DAnmTextureSRTKeyData const*);
/* 803390D8 */ void setAnmTextureSRT(J3DAnmTextureSRTKey*, J3DAnmTextureSRTKeyData const*);
/* 803392B0 */ void readAnmColor(J3DAnmColorKeyData const*);
/* 803392D8 */ void setAnmColor(J3DAnmColorKey*, J3DAnmColorKeyData const*);
/* 803393C4 */ void readAnmCluster(J3DAnmClusterKeyData const*);
/* 803393EC */ void setAnmCluster(J3DAnmClusterKey*, J3DAnmClusterKeyData const*);
/* 80339458 */ void readAnmTevReg(J3DAnmTevRegKeyData const*);
/* 80339480 */ void setAnmTevReg(J3DAnmTevRegKey*, J3DAnmTevRegKeyData const*);
/* 8033960C */ void readAnmVtxColor(J3DAnmVtxColorKeyData const*);
/* 80339634 */ void setAnmVtxColor(J3DAnmVtxColorKey*, J3DAnmVtxColorKeyData const*);
/* 80338D44 */ virtual J3DAnmBase* load(void const*);
/* 80338E8C */ virtual void setResource(J3DAnmBase*, void const*);
/* 803384FC */ virtual ~J3DAnmKeyLoader_v15();
/* 0x4 */ J3DAnmBase* mAnm;
};
class J3DAnmFullLoader_v15 : public J3DAnmLoader {
public:
/* 80338468 */ J3DAnmFullLoader_v15();
/* 80338800 */ void readAnmTransform(J3DAnmTransformFullData const*);
/* 80338828 */ void setAnmTransform(J3DAnmTransformFull*, J3DAnmTransformFullData const*);
/* 803388BC */ void readAnmColor(J3DAnmColorFullData const*);
/* 803388E4 */ void setAnmColor(J3DAnmColorFull*, J3DAnmColorFullData const*);
/* 803389B0 */ void readAnmTexPattern(J3DAnmTexPatternFullData const*);
/* 803389D8 */ void setAnmTexPattern(J3DAnmTexPattern*, J3DAnmTexPatternFullData const*);
/* 80338A7C */ void readAnmVisibility(J3DAnmVisibilityFullData const*);
/* 80338AA4 */ void setAnmVisibility(J3DAnmVisibilityFull*, J3DAnmVisibilityFullData const*);
/* 80338B20 */ void readAnmCluster(J3DAnmClusterFullData const*);
/* 80338B48 */ void setAnmCluster(J3DAnmClusterFull*, J3DAnmClusterFullData const*);
/* 80338BB4 */ void readAnmVtxColor(J3DAnmVtxColorFullData const*);
/* 80338BDC */ void setAnmVtxColor(J3DAnmVtxColorFull*, J3DAnmVtxColorFullData const*);
/* 80338558 */ virtual J3DAnmBase* load(void const*);
/* 803386A0 */ virtual void setResource(J3DAnmBase*, void const*);
/* 80338484 */ virtual ~J3DAnmFullLoader_v15();
/* 0x4 */ J3DAnmBase* mAnm;
};
//
// Forward References:
//
extern "C" void load__20J3DAnmLoaderDataBaseFPCv24J3DAnmLoaderDataBaseFlag();
extern "C" void setResource__20J3DAnmLoaderDataBaseFP10J3DAnmBasePCv();
extern "C" void __ct__20J3DAnmFullLoader_v15Fv();
extern "C" void __dt__20J3DAnmFullLoader_v15Fv();
extern "C" void __ct__19J3DAnmKeyLoader_v15Fv();
extern "C" void __dt__19J3DAnmKeyLoader_v15Fv();
extern "C" void load__20J3DAnmFullLoader_v15FPCv();
extern "C" void setResource__20J3DAnmFullLoader_v15FP10J3DAnmBasePCv();
extern "C" void readAnmTransform__20J3DAnmFullLoader_v15FPC23J3DAnmTransformFullData();
extern "C" void
setAnmTransform__20J3DAnmFullLoader_v15FP19J3DAnmTransformFullPC23J3DAnmTransformFullData();
extern "C" void readAnmColor__20J3DAnmFullLoader_v15FPC19J3DAnmColorFullData();
extern "C" void setAnmColor__20J3DAnmFullLoader_v15FP15J3DAnmColorFullPC19J3DAnmColorFullData();
extern "C" void readAnmTexPattern__20J3DAnmFullLoader_v15FPC24J3DAnmTexPatternFullData();
extern "C" void
setAnmTexPattern__20J3DAnmFullLoader_v15FP16J3DAnmTexPatternPC24J3DAnmTexPatternFullData();
extern "C" void readAnmVisibility__20J3DAnmFullLoader_v15FPC24J3DAnmVisibilityFullData();
extern "C" void
setAnmVisibility__20J3DAnmFullLoader_v15FP20J3DAnmVisibilityFullPC24J3DAnmVisibilityFullData();
extern "C" void readAnmCluster__20J3DAnmFullLoader_v15FPC21J3DAnmClusterFullData();
extern "C" void
setAnmCluster__20J3DAnmFullLoader_v15FP17J3DAnmClusterFullPC21J3DAnmClusterFullData();
extern "C" void readAnmVtxColor__20J3DAnmFullLoader_v15FPC22J3DAnmVtxColorFullData();
extern "C" void
setAnmVtxColor__20J3DAnmFullLoader_v15FP18J3DAnmVtxColorFullPC22J3DAnmVtxColorFullData();
extern "C" void load__19J3DAnmKeyLoader_v15FPCv();
extern "C" void setResource__19J3DAnmKeyLoader_v15FP10J3DAnmBasePCv();
extern "C" void readAnmTransform__19J3DAnmKeyLoader_v15FPC22J3DAnmTransformKeyData();
extern "C" void
setAnmTransform__19J3DAnmKeyLoader_v15FP18J3DAnmTransformKeyPC22J3DAnmTransformKeyData();
extern "C" void readAnmTextureSRT__19J3DAnmKeyLoader_v15FPC23J3DAnmTextureSRTKeyData();
extern "C" void
setAnmTextureSRT__19J3DAnmKeyLoader_v15FP19J3DAnmTextureSRTKeyPC23J3DAnmTextureSRTKeyData();
extern "C" void readAnmColor__19J3DAnmKeyLoader_v15FPC18J3DAnmColorKeyData();
extern "C" void setAnmColor__19J3DAnmKeyLoader_v15FP14J3DAnmColorKeyPC18J3DAnmColorKeyData();
extern "C" void readAnmCluster__19J3DAnmKeyLoader_v15FPC20J3DAnmClusterKeyData();
extern "C" void setAnmCluster__19J3DAnmKeyLoader_v15FP16J3DAnmClusterKeyPC20J3DAnmClusterKeyData();
extern "C" void readAnmTevReg__19J3DAnmKeyLoader_v15FPC19J3DAnmTevRegKeyData();
extern "C" void setAnmTevReg__19J3DAnmKeyLoader_v15FP15J3DAnmTevRegKeyPC19J3DAnmTevRegKeyData();
extern "C" void readAnmVtxColor__19J3DAnmKeyLoader_v15FPC21J3DAnmVtxColorKeyData();
extern "C" void
setAnmVtxColor__19J3DAnmKeyLoader_v15FP17J3DAnmVtxColorKeyPC21J3DAnmVtxColorKeyData();
extern "C" void __dt__20J3DAnmVisibilityFullFv();
extern "C" s32 getKind__20J3DAnmVisibilityFullCFv();
extern "C" void __dt__12J3DAnmLoaderFv();
extern "C" void func_80339848(void* _this, void const*, void const*);
extern "C" void func_80339860(void* _this, void const*, void const*);
extern "C" extern char const* const J3DAnmLoader__stringBase0;
//
// External References:
//
extern "C" void* __nw__FUl();
extern "C" void __dl__FPv();
extern "C" void setResource__10JUTNameTabFPC7ResNTAB();
extern "C" void func_802F4260(void* _this, void const*, void const*);
extern "C" void func_802F42C0(void* _this, void const*, void const*);
extern "C" void func_8030A458(void* _this, void const*, void const*);
extern "C" void func_8030A470(void* _this, void const*, void const*);
extern "C" void func_8030A488(void* _this, void const*, void const*);
extern "C" void func_8030A4A0(void* _this, void const*, void const*);
extern "C" void func_8030A4B8(void* _this, void const*, void const*);
extern "C" void func_8030A4D0(void* _this, void const*, void const*);
extern "C" void func_8030A4E8(void* _this, void const*, void const*);
extern "C" void func_8030A500(void* _this, void const*, void const*);
extern "C" void func_8030A518(void* _this, void const*, void const*);
extern "C" void func_8030A530(void* _this, void const*, void const*);
extern "C" void func_8030A548(void* _this, void const*, void const*);
extern "C" void func_8030A560(void* _this, void const*, void const*);
extern "C" void func_8030A578(void* _this, void const*, void const*);
extern "C" void __ct__15J3DAnmTransformFsPfPsPf();
extern "C" void __ct__19J3DAnmTextureSRTKeyFv();
extern "C" void __ct__18J3DAnmVtxColorFullFv();
extern "C" void __ct__17J3DAnmVtxColorKeyFv();
extern "C" void __ct__15J3DAnmColorFullFv();
extern "C" void __ct__14J3DAnmColorKeyFv();
extern "C" void __ct__15J3DAnmTevRegKeyFv();
extern "C" void __ct__16J3DAnmTexPatternFv();
extern "C" void _savegpr_26();
extern "C" void _savegpr_27();
extern "C" void _savegpr_29();
extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_29();
extern "C" extern void* __vt__10J3DAnmBase[4];
extern "C" extern void* __vt__18J3DAnmTransformKey[5];
extern "C" extern void* __vt__16J3DAnmClusterKey[5];
extern "C" extern void* __vt__13J3DAnmCluster[5];
extern "C" extern void* __vt__17J3DAnmClusterFull[5];
extern "C" extern void* __vt__27J3DAnmTransformFullWithLerp[5];
extern "C" extern void* __vt__19J3DAnmTransformFull[5 + 1 /* padding */];
//
// Declarations:
//
/* ############################################################################################## */
/* 803A2130-803A2130 02E790 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_803A2130 =
"J3DAnmLoader: this is not a J3D Binary.\n";
#pragma pop
/* 803CF238-803CF24C 02C358 0014+00 2/2 0/0 0/0 .data __vt__19J3DAnmKeyLoader_v15 */
SECTION_DATA extern void* __vt__19J3DAnmKeyLoader_v15[5] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)load__19J3DAnmKeyLoader_v15FPCv,
(void*)setResource__19J3DAnmKeyLoader_v15FP10J3DAnmBasePCv,
(void*)__dt__19J3DAnmKeyLoader_v15Fv,
};
/* 803CF24C-803CF260 02C36C 0014+00 2/2 0/0 0/0 .data __vt__20J3DAnmFullLoader_v15 */
SECTION_DATA extern void* __vt__20J3DAnmFullLoader_v15[5] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)load__20J3DAnmFullLoader_v15FPCv,
(void*)setResource__20J3DAnmFullLoader_v15FP10J3DAnmBasePCv,
(void*)__dt__20J3DAnmFullLoader_v15Fv,
};
/* 803CF260-803CF274 02C380 0014+00 5/5 0/0 0/0 .data __vt__12J3DAnmLoader */
SECTION_DATA extern void* __vt__12J3DAnmLoader[5] = {
(void*)NULL /* RTTI */, (void*)NULL, (void*)NULL, (void*)NULL, (void*)__dt__12J3DAnmLoaderFv,
};
/* 803CF274-803CF288 02C394 0010+04 2/2 0/0 0/0 .data __vt__20J3DAnmVisibilityFull */
SECTION_DATA extern void* __vt__20J3DAnmVisibilityFull[4 + 1 /* padding */] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__20J3DAnmVisibilityFullFv,
(void*)getKind__20J3DAnmVisibilityFullCFv,
/* padding */
NULL,
};
/* 804564C0-804564C8 004AC0 0004+04 13/13 0/0 0/0 .sdata2 @889 */
SECTION_SDATA2 static f32 lit_889[1 + 1 /* padding */] = {
0.0f,
/* padding */
0.0f,
};
/* 80337B40-80338134 332480 05F4+00 0/0 7/7 1/1 .text
* load__20J3DAnmLoaderDataBaseFPCv24J3DAnmLoaderDataBaseFlag */
J3DAnmBase* J3DAnmLoaderDataBase::load(const void* i_data, J3DAnmLoaderDataBaseFlag flag) {
@@ -298,7 +90,6 @@ J3DAnmBase* J3DAnmLoaderDataBase::load(const void* i_data, J3DAnmLoaderDataBaseF
return NULL;
}
/* 80338134-80338468 332A74 0334+00 0/0 1/1 0/0 .text
* setResource__20J3DAnmLoaderDataBaseFP10J3DAnmBasePCv */
void J3DAnmLoaderDataBase::setResource(J3DAnmBase* param_1, const void* param_2) {
@@ -382,28 +173,15 @@ void J3DAnmLoaderDataBase::setResource(J3DAnmBase* param_1, const void* param_2)
/* 80338468-80338484 332DA8 001C+00 2/2 0/0 0/0 .text __ct__20J3DAnmFullLoader_v15Fv */
J3DAnmFullLoader_v15::J3DAnmFullLoader_v15() {}
/* 80338484-803384E0 332DC4 005C+00 3/2 0/0 0/0 .text __dt__20J3DAnmFullLoader_v15Fv */
J3DAnmFullLoader_v15::~J3DAnmFullLoader_v15() {}
/* 803384E0-803384FC 332E20 001C+00 2/2 0/0 0/0 .text __ct__19J3DAnmKeyLoader_v15Fv */
J3DAnmKeyLoader_v15::J3DAnmKeyLoader_v15() {}
/* 803384FC-80338558 332E3C 005C+00 3/2 0/0 0/0 .text __dt__19J3DAnmKeyLoader_v15Fv */
J3DAnmKeyLoader_v15::~J3DAnmKeyLoader_v15() {}
/* ############################################################################################## */
/* 803A2130-803A2130 02E790 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_803A2159 = "Unknown data block\n";
/* @stringBase0 padding */
SECTION_DEAD static char const* const pad_803A216D = "\0\0";
#pragma pop
/* 80338558-803386A0 332E98 0148+00 2/1 0/0 0/0 .text load__20J3DAnmFullLoader_v15FPCv */
J3DAnmBase* J3DAnmFullLoader_v15::load(const void* param_1) {
const JUTDataFileHeader* header = (const JUTDataFileHeader*)param_1;
@@ -437,7 +215,6 @@ J3DAnmBase* J3DAnmFullLoader_v15::load(const void* param_1) {
return mAnm;
}
/* 803386A0-80338800 332FE0 0160+00 2/1 0/0 0/0 .text
* setResource__20J3DAnmFullLoader_v15FP10J3DAnmBasePCv */
void J3DAnmFullLoader_v15::setResource(J3DAnmBase* param_1, const void* param_2) {
@@ -487,10 +264,10 @@ void J3DAnmFullLoader_v15::setAnmTransform(J3DAnmTransformFull* param_1,
param_1->mAttribute = param_2->field_0x8;
param_1->mFrame = 0.0f;
param_1->mAnmTable =
JSUConvertOffsetToPtr<J3DAnmTransformFullTable>(param_2, (void*)param_2->mTableOffset);
param_1->mScaleData = JSUConvertOffsetToPtr<f32>(param_2, (void*)param_2->mScaleValOffset);
param_1->mRotData = JSUConvertOffsetToPtr<s16>(param_2, (void*)param_2->mRotValOffset);
param_1->mTransData = JSUConvertOffsetToPtr<f32>(param_2, (void*)param_2->mTransValOffset);
JSUConvertOffsetToPtr<J3DAnmTransformFullTable>(param_2, param_2->mTableOffset);
param_1->mScaleData = JSUConvertOffsetToPtr<f32>(param_2, param_2->mScaleValOffset);
param_1->mRotData = JSUConvertOffsetToPtr<s16>(param_2, param_2->mRotValOffset);
param_1->mTransData = JSUConvertOffsetToPtr<f32>(param_2, param_2->mTransValOffset);
}
@@ -509,18 +286,17 @@ void J3DAnmFullLoader_v15::setAnmColor(J3DAnmColorFull* param_1,
param_1->mFrame = 0.0f;
param_1->mUpdateMaterialNum = param_2->mUpdateMaterialNum;
param_1->mAnmTable =
JSUConvertOffsetToPtr<J3DAnmColorFullTable>(param_2, (void*)param_2->mTableOffset);
JSUConvertOffsetToPtr<J3DAnmColorFullTable>(param_2, param_2->mTableOffset);
param_1->mColorR = JSUConvertOffsetToPtr<u8>(param_2, param_2->mRValuesOffset);
param_1->mColorG = JSUConvertOffsetToPtr<u8>(param_2, param_2->mGValuesOffset);
param_1->mColorB = JSUConvertOffsetToPtr<u8>(param_2, param_2->mBValuesOffset);
param_1->mColorA = JSUConvertOffsetToPtr<u8>(param_2, param_2->mAValuesOffset);
param_1->mUpdateMaterialID =
JSUConvertOffsetToPtr<u16>(param_2, (void*)param_2->mUpdateMaterialIDOffset);
JSUConvertOffsetToPtr<u16>(param_2, param_2->mUpdateMaterialIDOffset);
param_1->mUpdateMaterialName.setResource(
JSUConvertOffsetToPtr<ResNTAB>(param_2, (void*)param_2->mNameTabOffset));
JSUConvertOffsetToPtr<ResNTAB>(param_2, param_2->mNameTabOffset));
}
/* 803389B0-803389D8 3332F0 0028+00 1/1 0/0 0/0 .text
* readAnmTexPattern__20J3DAnmFullLoader_v15FPC24J3DAnmTexPatternFullData */
void J3DAnmFullLoader_v15::readAnmTexPattern(const J3DAnmTexPatternFullData* param_1) {
@@ -537,15 +313,14 @@ void J3DAnmFullLoader_v15::setAnmTexPattern(J3DAnmTexPattern* param_1,
param_1->mUpdateMaterialNum = param_2->field_0xc;
param_1->field_0x14 = param_2->field_0xe;
param_1->mAnmTable =
JSUConvertOffsetToPtr<J3DAnmTexPatternFullTable>(param_2, (void*)param_2->mTableOffset);
param_1->mTextureIndex = JSUConvertOffsetToPtr<u16>(param_2, (void*)param_2->mValuesOffset);
JSUConvertOffsetToPtr<J3DAnmTexPatternFullTable>(param_2, param_2->mTableOffset);
param_1->mTextureIndex = JSUConvertOffsetToPtr<u16>(param_2, param_2->mValuesOffset);
param_1->mUpdateMaterialID =
JSUConvertOffsetToPtr<u16>(param_2, (void*)param_2->mUpdateMaterialIDOffset);
JSUConvertOffsetToPtr<u16>(param_2, param_2->mUpdateMaterialIDOffset);
param_1->mUpdateMaterialName.setResource(
JSUConvertOffsetToPtr<ResNTAB>(param_2, (void*)param_2->mNameTabOffset));
JSUConvertOffsetToPtr<ResNTAB>(param_2, param_2->mNameTabOffset));
}
/* 80338A7C-80338AA4 3333BC 0028+00 1/1 0/0 0/0 .text
* readAnmVisibility__20J3DAnmFullLoader_v15FPC24J3DAnmVisibilityFullData */
void J3DAnmFullLoader_v15::readAnmVisibility(const J3DAnmVisibilityFullData* param_1) {
@@ -562,11 +337,10 @@ void J3DAnmFullLoader_v15::setAnmVisibility(J3DAnmVisibilityFull* param_1,
param_1->mUpdateMaterialNum = param_2->field_0xc;
param_1->field_0xe = param_2->field_0xe;
param_1->mAnmTable =
JSUConvertOffsetToPtr<J3DAnmVisibilityFullTable>(param_2, (void*)param_2->mTableOffset);
JSUConvertOffsetToPtr<J3DAnmVisibilityFullTable>(param_2, param_2->mTableOffset);
param_1->mVisibility = JSUConvertOffsetToPtr<u8>(param_2, param_2->mValuesOffset);
}
/* 80338B20-80338B48 333460 0028+00 1/1 0/0 0/0 .text
* readAnmCluster__20J3DAnmFullLoader_v15FPC21J3DAnmClusterFullData */
void J3DAnmFullLoader_v15::readAnmCluster(const J3DAnmClusterFullData* param_1) {
@@ -581,11 +355,10 @@ void J3DAnmFullLoader_v15::setAnmCluster(J3DAnmClusterFull* param_1,
param_1->mAttribute = param_2->field_0x8;
param_1->mFrame = 0.0f;
param_1->mAnmTable =
JSUConvertOffsetToPtr<J3DAnmClusterFullTable>(param_2, (void*)param_2->mTableOffset);
param_1->mWeight = JSUConvertOffsetToPtr<f32>(param_2, (void*)param_2->mWeightOffset);
JSUConvertOffsetToPtr<J3DAnmClusterFullTable>(param_2, param_2->mTableOffset);
param_1->mWeight = JSUConvertOffsetToPtr<f32>(param_2, param_2->mWeightOffset);
}
/* 80338BB4-80338BDC 3334F4 0028+00 1/1 0/0 0/0 .text
* readAnmVtxColor__20J3DAnmFullLoader_v15FPC22J3DAnmVtxColorFullData */
void J3DAnmFullLoader_v15::readAnmVtxColor(const J3DAnmVtxColorFullData* param_1) {
@@ -602,17 +375,17 @@ void J3DAnmFullLoader_v15::setAnmVtxColor(J3DAnmVtxColorFull* dst,
dst->mAnmTableNum[0] = data->mAnmTableNum[0];
dst->mAnmTableNum[1] = data->mAnmTableNum[1];
dst->mpTable[0] =
JSUConvertOffsetToPtr<J3DAnmColorFullTable>(data, (void*)data->mTableOffsets[0]);
JSUConvertOffsetToPtr<J3DAnmColorFullTable>(data, data->mTableOffsets[0]);
dst->mpTable[1] =
JSUConvertOffsetToPtr<J3DAnmColorFullTable>(data, (void*)data->mTableOffsets[1]);
JSUConvertOffsetToPtr<J3DAnmColorFullTable>(data, data->mTableOffsets[1]);
dst->mAnmVtxColorIndexData[0] = JSUConvertOffsetToPtr<J3DAnmVtxColorIndexData>(
data, (void*)data->mVtxColorIndexDataOffsets[0]);
data, data->mVtxColorIndexDataOffsets[0]);
dst->mAnmVtxColorIndexData[1] = JSUConvertOffsetToPtr<J3DAnmVtxColorIndexData>(
data, (void*)data->mVtxColorIndexDataOffsets[1]);
data, data->mVtxColorIndexDataOffsets[1]);
void* indexPtr0 =
JSUConvertOffsetToPtr<u16>(data, (void*)data->mVtxColorIndexPointerOffsets[0]);
JSUConvertOffsetToPtr<u16>(data, data->mVtxColorIndexPointerOffsets[0]);
void* indexPtr1 =
JSUConvertOffsetToPtr<u16>(data, (void*)data->mVtxColorIndexPointerOffsets[1]);
JSUConvertOffsetToPtr<u16>(data, data->mVtxColorIndexPointerOffsets[1]);
for (s32 i = 0; i < dst->mAnmTableNum[0]; i++)
dst->mAnmVtxColorIndexData[0][i].mpData =
@@ -627,7 +400,6 @@ void J3DAnmFullLoader_v15::setAnmVtxColor(J3DAnmVtxColorFull* dst,
dst->mColorA = JSUConvertOffsetToPtr<u8>(data, data->mAValuesOffset);
}
/* 80338D44-80338E8C 333684 0148+00 2/1 0/0 0/0 .text load__19J3DAnmKeyLoader_v15FPCv */
J3DAnmBase* J3DAnmKeyLoader_v15::load(const void* param_1) {
const JUTDataFileHeader* header = (const JUTDataFileHeader*)param_1;
@@ -661,7 +433,6 @@ J3DAnmBase* J3DAnmKeyLoader_v15::load(const void* param_1) {
return mAnm;
}
/* 80338E8C-80338FEC 3337CC 0160+00 2/1 0/0 0/0 .text
* setResource__19J3DAnmKeyLoader_v15FP10J3DAnmBasePCv */
void J3DAnmKeyLoader_v15::setResource(J3DAnmBase* param_1, const void* param_2) {
@@ -711,10 +482,10 @@ void J3DAnmKeyLoader_v15::setAnmTransform(J3DAnmTransformKey* param_1,
param_1->mDecShift = param_2->field_0x9;
param_1->mFrame = 0.0f;
param_1->mAnmTable =
JSUConvertOffsetToPtr<J3DAnmTransformKeyTable>(param_2, (void*)param_2->mTableOffset);
param_1->mScaleData = JSUConvertOffsetToPtr<f32>(param_2, (void*)param_2->field_0x18);
param_1->mRotData = JSUConvertOffsetToPtr<s16>(param_2, (void*)param_2->field_0x1c);
param_1->mTransData = JSUConvertOffsetToPtr<f32>(param_2, (void*)param_2->field_0x20);
JSUConvertOffsetToPtr<J3DAnmTransformKeyTable>(param_2, param_2->mTableOffset);
param_1->mScaleData = JSUConvertOffsetToPtr<f32>(param_2, param_2->field_0x18);
param_1->mRotData = JSUConvertOffsetToPtr<s16>(param_2, param_2->field_0x1c);
param_1->mTransData = JSUConvertOffsetToPtr<f32>(param_2, param_2->field_0x20);
}
@@ -738,34 +509,33 @@ void J3DAnmKeyLoader_v15::setAnmTextureSRT(J3DAnmTextureSRTKey* param_1,
param_1->mRotNum = param_2->field_0x10;
param_1->mTransNum = param_2->field_0x12;
param_1->mAnmTable =
JSUConvertOffsetToPtr<J3DAnmTransformKeyTable>(param_2, (void*)param_2->mTableOffset);
JSUConvertOffsetToPtr<J3DAnmTransformKeyTable>(param_2, param_2->mTableOffset);
param_1->mUpdateMaterialID =
JSUConvertOffsetToPtr<u16>(param_2, (void*)param_2->mUpdateMatIDOffset);
JSUConvertOffsetToPtr<u16>(param_2, param_2->mUpdateMatIDOffset);
param_1->mUpdateMaterialName.setResource(
JSUConvertOffsetToPtr<ResNTAB>(param_2, (void*)param_2->mNameTab1Offset));
JSUConvertOffsetToPtr<ResNTAB>(param_2, param_2->mNameTab1Offset));
param_1->mUpdateTexMtxID =
JSUConvertOffsetToPtr<u8>(param_2, param_2->mUpdateTexMtxIDOffset);
param_1->mSRTCenter = JSUConvertOffsetToPtr<Vec>(param_2, (void*)param_2->unkOffset);
param_1->mScaleData = JSUConvertOffsetToPtr<f32>(param_2, (void*)param_2->mScaleValOffset);
param_1->mRotData = JSUConvertOffsetToPtr<s16>(param_2, (void*)param_2->mRotValOffset);
param_1->mTransData = JSUConvertOffsetToPtr<f32>(param_2, (void*)param_2->mTransValOffset);
param_1->mSRTCenter = JSUConvertOffsetToPtr<Vec>(param_2, param_2->unkOffset);
param_1->mScaleData = JSUConvertOffsetToPtr<f32>(param_2, param_2->mScaleValOffset);
param_1->mRotData = JSUConvertOffsetToPtr<s16>(param_2, param_2->mRotValOffset);
param_1->mTransData = JSUConvertOffsetToPtr<f32>(param_2, param_2->mTransValOffset);
if (param_2->mNameTab2Offset) {
param_1->mPostUpdateMaterialName.setResource(
JSUConvertOffsetToPtr<ResNTAB>(param_2, (void*)param_2->mNameTab2Offset));
JSUConvertOffsetToPtr<ResNTAB>(param_2, param_2->mNameTab2Offset));
}
param_1->field_0x4a = param_2->field_0x34;
param_1->field_0x44 = param_2->field_0x36;
param_1->field_0x46 = param_2->field_0x38;
param_1->field_0x48 = param_2->field_0x3a;
param_1->field_0x58 =
JSUConvertOffsetToPtr<J3DAnmTransformKeyTable>(param_2, (void*)param_2->mInfoTable2Offset);
param_1->mPostUpdateMaterialID =
JSUConvertOffsetToPtr<u16>(param_2, (void*)param_2->field_0x40);
JSUConvertOffsetToPtr<J3DAnmTransformKeyTable>(param_2, param_2->mInfoTable2Offset);
param_1->mPostUpdateMaterialID = JSUConvertOffsetToPtr<u16>(param_2, param_2->field_0x40);
param_1->mPostUpdateTexMtxID = JSUConvertOffsetToPtr<u8>(param_2, param_2->field_0x48);
param_1->mPostSRTCenter = JSUConvertOffsetToPtr<Vec>(param_2, (void*)param_2->field_0x4c);
param_1->field_0x4c = JSUConvertOffsetToPtr<f32>(param_2, (void*)param_2->field_0x50);
param_1->field_0x50 = JSUConvertOffsetToPtr<s16>(param_2, (void*)param_2->field_0x54);
param_1->field_0x54 = JSUConvertOffsetToPtr<f32>(param_2, (void*)param_2->field_0x58);
param_1->mPostSRTCenter = JSUConvertOffsetToPtr<Vec>(param_2, param_2->field_0x4c);
param_1->field_0x4c = JSUConvertOffsetToPtr<f32>(param_2, param_2->field_0x50);
param_1->field_0x50 = JSUConvertOffsetToPtr<s16>(param_2, param_2->field_0x54);
param_1->field_0x54 = JSUConvertOffsetToPtr<f32>(param_2, param_2->field_0x58);
switch (param_2->field_0x5c) {
case 0:
case 1:
@@ -796,15 +566,15 @@ void J3DAnmKeyLoader_v15::setAnmColor(J3DAnmColorKey* param_1, const J3DAnmColor
param_1->field_0x10 = param_2->field_0x14;
param_1->field_0x12 = param_2->field_0x16;
param_1->mAnmTable =
JSUConvertOffsetToPtr<J3DAnmColorKeyTable>(param_2, (void*)param_2->mTableOffset);
param_1->mColorR = JSUConvertOffsetToPtr<s16>(param_2, (void*)param_2->mRValOffset);
param_1->mColorG = JSUConvertOffsetToPtr<s16>(param_2, (void*)param_2->mGValOffset);
param_1->mColorB = JSUConvertOffsetToPtr<s16>(param_2, (void*)param_2->mBValOffset);
param_1->mColorA = JSUConvertOffsetToPtr<s16>(param_2, (void*)param_2->mAValOffset);
JSUConvertOffsetToPtr<J3DAnmColorKeyTable>(param_2, param_2->mTableOffset);
param_1->mColorR = JSUConvertOffsetToPtr<s16>(param_2, param_2->mRValOffset);
param_1->mColorG = JSUConvertOffsetToPtr<s16>(param_2, param_2->mGValOffset);
param_1->mColorB = JSUConvertOffsetToPtr<s16>(param_2, param_2->mBValOffset);
param_1->mColorA = JSUConvertOffsetToPtr<s16>(param_2, param_2->mAValOffset);
param_1->mUpdateMaterialID =
JSUConvertOffsetToPtr<u16>(param_2, (void*)param_2->mUpdateMaterialIDOffset);
JSUConvertOffsetToPtr<u16>(param_2, param_2->mUpdateMaterialIDOffset);
param_1->mUpdateMaterialName.setResource(
JSUConvertOffsetToPtr<ResNTAB>(param_2, (void*)param_2->mNameTabOffset));
JSUConvertOffsetToPtr<ResNTAB>(param_2, param_2->mNameTabOffset));
}
@@ -822,8 +592,8 @@ void J3DAnmKeyLoader_v15::setAnmCluster(J3DAnmClusterKey* param_1,
param_1->mAttribute = param_2->field_0x8;
param_1->mFrame = 0.0f;
param_1->mAnmTable =
JSUConvertOffsetToPtr<J3DAnmClusterKeyTable>(param_2, (void*)param_2->mTableOffset);
param_1->mWeight = JSUConvertOffsetToPtr<f32>(param_2, (void*)param_2->mWeightOffset);
JSUConvertOffsetToPtr<J3DAnmClusterKeyTable>(param_2, param_2->mTableOffset);
param_1->mWeight = JSUConvertOffsetToPtr<f32>(param_2, param_2->mWeightOffset);
}
@@ -842,34 +612,34 @@ void J3DAnmKeyLoader_v15::setAnmTevReg(J3DAnmTevRegKey* param_1,
param_1->mFrame = 0.0f;
param_1->mCRegUpdateMaterialNum = param_2->mCRegUpdateMaterialNum;
param_1->mAnmCRegKeyTable =
JSUConvertOffsetToPtr<J3DAnmCRegKeyTable>(param_2, (void*)param_2->mCRegTableOffset);
JSUConvertOffsetToPtr<J3DAnmCRegKeyTable>(param_2, param_2->mCRegTableOffset);
param_1->mCRegUpdateMaterialID =
JSUConvertOffsetToPtr<u16>(param_2, (void*)param_2->mCRegUpdateMaterialIDOffset);
JSUConvertOffsetToPtr<u16>(param_2, param_2->mCRegUpdateMaterialIDOffset);
param_1->mCRegUpdateMaterialName.setResource(
JSUConvertOffsetToPtr<ResNTAB>(param_2, (void*)param_2->mCRegNameTabOffset));
JSUConvertOffsetToPtr<ResNTAB>(param_2, param_2->mCRegNameTabOffset));
param_1->mKRegUpdateMaterialNum = param_2->mKRegUpdateMaterialNum;
param_1->mAnmKRegKeyTable =
JSUConvertOffsetToPtr<J3DAnmKRegKeyTable>(param_2, (void*)param_2->mKRegTableOffset);
JSUConvertOffsetToPtr<J3DAnmKRegKeyTable>(param_2, param_2->mKRegTableOffset);
param_1->mKRegUpdateMaterialID =
JSUConvertOffsetToPtr<u16>(param_2, (void*)param_2->mKRegUpdateMaterialIDOffset);
JSUConvertOffsetToPtr<u16>(param_2, param_2->mKRegUpdateMaterialIDOffset);
param_1->mKRegUpdateMaterialName.setResource(
JSUConvertOffsetToPtr<ResNTAB>(param_2, (void*)param_2->mKRegNameTabOffset));
JSUConvertOffsetToPtr<ResNTAB>(param_2, param_2->mKRegNameTabOffset));
param_1->mCRegDataCountR = param_2->field_0x10;
param_1->mCRegDataCountG = param_2->field_0x12;
param_1->mCRegDataCountB = param_2->field_0x14;
param_1->mCRegDataCountA = param_2->field_0x16;
param_1->mAnmCRegDataR = JSUConvertOffsetToPtr<s16>(param_2, (void*)param_2->mCRValuesOffset);
param_1->mAnmCRegDataG = JSUConvertOffsetToPtr<s16>(param_2, (void*)param_2->mCGValuesOffset);
param_1->mAnmCRegDataB = JSUConvertOffsetToPtr<s16>(param_2, (void*)param_2->mCBValuesOffset);
param_1->mAnmCRegDataA = JSUConvertOffsetToPtr<s16>(param_2, (void*)param_2->mCAValuesOffset);
param_1->mAnmCRegDataR = JSUConvertOffsetToPtr<s16>(param_2, param_2->mCRValuesOffset);
param_1->mAnmCRegDataG = JSUConvertOffsetToPtr<s16>(param_2, param_2->mCGValuesOffset);
param_1->mAnmCRegDataB = JSUConvertOffsetToPtr<s16>(param_2, param_2->mCBValuesOffset);
param_1->mAnmCRegDataA = JSUConvertOffsetToPtr<s16>(param_2, param_2->mCAValuesOffset);
param_1->mKRegDataCountR = param_2->field_0x18;
param_1->mKRegDataCountG = param_2->field_0x1a;
param_1->mKRegDataCountB = param_2->field_0x1c;
param_1->mKRegDataCountA = param_2->field_0x1e;
param_1->mAnmKRegDataR = JSUConvertOffsetToPtr<s16>(param_2, (void*)param_2->mKRValuesOffset);
param_1->mAnmKRegDataG = JSUConvertOffsetToPtr<s16>(param_2, (void*)param_2->mKGValuesOffset);
param_1->mAnmKRegDataB = JSUConvertOffsetToPtr<s16>(param_2, (void*)param_2->mKBValuesOffset);
param_1->mAnmKRegDataA = JSUConvertOffsetToPtr<s16>(param_2, (void*)param_2->mKAValuesOffset);
param_1->mAnmKRegDataR = JSUConvertOffsetToPtr<s16>(param_2, param_2->mKRValuesOffset);
param_1->mAnmKRegDataG = JSUConvertOffsetToPtr<s16>(param_2, param_2->mKGValuesOffset);
param_1->mAnmKRegDataB = JSUConvertOffsetToPtr<s16>(param_2, param_2->mKBValuesOffset);
param_1->mAnmKRegDataA = JSUConvertOffsetToPtr<s16>(param_2, param_2->mKAValuesOffset);
}
@@ -889,15 +659,15 @@ void J3DAnmKeyLoader_v15::setAnmVtxColor(J3DAnmVtxColorKey* dst,
dst->mAnmTableNum[0] = data->mAnmTableNum[0];
dst->mAnmTableNum[1] = data->mAnmTableNum[1];
dst->mpTable[0] =
JSUConvertOffsetToPtr<J3DAnmColorKeyTable>(data, (void*)data->mTableOffsets[0]);
JSUConvertOffsetToPtr<J3DAnmColorKeyTable>(data, data->mTableOffsets[0]);
dst->mpTable[1] =
JSUConvertOffsetToPtr<J3DAnmColorKeyTable>(data, (void*)data->mTableOffsets[1]);
JSUConvertOffsetToPtr<J3DAnmColorKeyTable>(data, data->mTableOffsets[1]);
dst->mAnmVtxColorIndexData[0] = JSUConvertOffsetToPtr<J3DAnmVtxColorIndexData>(
data, (void*)data->mVtxColoIndexDataOffset[0]);
data, data->mVtxColoIndexDataOffset[0]);
dst->mAnmVtxColorIndexData[1] = JSUConvertOffsetToPtr<J3DAnmVtxColorIndexData>(
data, (void*)data->mVtxColoIndexDataOffset[1]);
void* indexPtr0 = JSUConvertOffsetToPtr<u16>(data, (void*)data->mVtxColoIndexPointerOffset[0]);
void* indexPtr1 = JSUConvertOffsetToPtr<u16>(data, (void*)data->mVtxColoIndexPointerOffset[1]);
data, data->mVtxColoIndexDataOffset[1]);
void* indexPtr0 = JSUConvertOffsetToPtr<u16>(data, data->mVtxColoIndexPointerOffset[0]);
void* indexPtr1 = JSUConvertOffsetToPtr<u16>(data, data->mVtxColoIndexPointerOffset[1]);
for (s32 i = 0; i < dst->mAnmTableNum[0]; i++)
dst->mAnmVtxColorIndexData[0][i].mpData =
@@ -906,40 +676,8 @@ void J3DAnmKeyLoader_v15::setAnmVtxColor(J3DAnmVtxColorKey* dst,
dst->mAnmVtxColorIndexData[1][i].mpData =
(void*)((s32)indexPtr1 + (s32)dst->mAnmVtxColorIndexData[1][i].mpData * 2);
dst->mColorR = JSUConvertOffsetToPtr<s16>(data, (void*)data->mRValOffset);
dst->mColorG = JSUConvertOffsetToPtr<s16>(data, (void*)data->mGValOffset);
dst->mColorB = JSUConvertOffsetToPtr<s16>(data, (void*)data->mBValOffset);
dst->mColorA = JSUConvertOffsetToPtr<s16>(data, (void*)data->mAValOffset);
dst->mColorR = JSUConvertOffsetToPtr<s16>(data, data->mRValOffset);
dst->mColorG = JSUConvertOffsetToPtr<s16>(data, data->mGValOffset);
dst->mColorB = JSUConvertOffsetToPtr<s16>(data, data->mBValOffset);
dst->mColorA = JSUConvertOffsetToPtr<s16>(data, data->mAValOffset);
}
/* 8033979C-803397F8 3340DC 005C+00 1/0 0/0 0/0 .text __dt__20J3DAnmVisibilityFullFv */
J3DAnmVisibilityFull::~J3DAnmVisibilityFull() {
// NONMATCHING
}
/* 803397F8-80339800 334138 0008+00 1/0 0/0 0/0 .text getKind__20J3DAnmVisibilityFullCFv
*/
s32 J3DAnmVisibilityFull::getKind() const {
return 6;
}
/* 80339800-80339848 334140 0048+00 1/0 0/0 0/0 .text __dt__12J3DAnmLoaderFv */
// J3DAnmLoader::~J3DAnmLoader() {
extern "C" void __dt__12J3DAnmLoaderFv() {
// NONMATCHING
}
/* 80339848-80339860 334188 0018+00 1/1 0/0 0/0 .text
* JSUConvertOffsetToPtr<21J3DAnmClusterKeyTable>__FPCvPCv */
extern "C" void func_80339848(void* _this, void const* param_0, void const* param_1) {
// NONMATCHING
}
/* 80339860-80339878 3341A0 0018+00 1/1 0/0 0/0 .text
* JSUConvertOffsetToPtr<22J3DAnmClusterFullTable>__FPCvPCv */
extern "C" void func_80339860(void* _this, void const* param_0, void const* param_1) {
// NONMATCHING
}
/* 803A2130-803A2130 02E790 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
@@ -7,48 +7,9 @@
#include "JSystem/J3DGraphAnimator/J3DSkinDeform.h"
#include "JSystem/JSupport/JSupport.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "dol2asm.h"
#include "dolphin/os.h"
#include "string.h"
//
// Forward References:
//
extern "C" void load__24J3DClusterLoaderDataBaseFPCv();
extern "C" void __ct__20J3DClusterLoader_v15Fv();
extern "C" void __dt__20J3DClusterLoader_v15Fv();
extern "C" void load__20J3DClusterLoader_v15FPCv();
extern "C" void readCluster__20J3DClusterLoader_v15FPC15J3DClusterBlock();
extern "C" void __dt__16J3DClusterLoaderFv();
extern "C" void func_80334644(void* _this, void const*, void const*);
extern "C" void func_8033465C(void* _this, void const*, void const*);
extern "C" void func_80334674(void* _this, void const*, void const*);
extern "C" extern char const* const J3DClusterLoader__stringBase0;
//
// External References:
//
extern "C" void* __nw__FUl();
extern "C" void* __nwa__FUl();
extern "C" void* __nwa__FUli();
extern "C" void __dl__FPv();
extern "C" void __ct__10JUTNameTabFPC7ResNTAB();
extern "C" void func_802F42C0(void* _this, void const*, void const*);
extern "C" void func_8030A530(void* _this, void const*, void const*);
extern "C" void func_8030A560(void* _this, void const*, void const*);
extern "C" void __ct__13J3DDeformDataFv();
extern "C" void __ct__11J3DDeformerFP13J3DDeformData();
extern "C" void _savegpr_23();
extern "C" void _savegpr_26();
extern "C" void _restgpr_23();
extern "C" void _restgpr_26();
//
// Declarations:
//
/* 80334130-803341CC 32EA70 009C+00 0/0 1/1 0/0 .text load__24J3DClusterLoaderDataBaseFPCv */
void* J3DClusterLoaderDataBase::load(const void* i_data) {
const JUTDataFileHeader* fileHeader = (JUTDataFileHeader*)i_data;
@@ -61,23 +22,6 @@ void* J3DClusterLoaderDataBase::load(const void* i_data) {
return NULL;
}
/* ############################################################################################## */
/* 803CF0E8-803CF0F8 02C208 0010+00 2/2 0/0 0/0 .data __vt__20J3DClusterLoader_v15 */
SECTION_DATA extern void* __vt__20J3DClusterLoader_v15[4] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)load__20J3DClusterLoader_v15FPCv,
(void*)__dt__20J3DClusterLoader_v15Fv,
};
/* 803CF0F8-803CF108 02C218 0010+00 3/3 0/0 0/0 .data __vt__16J3DClusterLoader */
SECTION_DATA extern void* __vt__16J3DClusterLoader[4] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)NULL,
(void*)__dt__16J3DClusterLoaderFv,
};
/* 803341CC-803341E8 32EB0C 001C+00 1/1 0/0 0/0 .text __ct__20J3DClusterLoader_v15Fv */
J3DClusterLoader_v15::J3DClusterLoader_v15() {}
@@ -198,4 +142,4 @@ extern "C" void func_80334674(void* _this, void const* param_0, void const* para
// NONMATCHING
}
/* 803A2098-803A2098 02E6F8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
/* 803A2098-803A2098 02E6F8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
+4 -19
View File
@@ -8,29 +8,14 @@
#include "JSystem/J3DGraphAnimator/J3DJoint.h"
#include "JSystem/JSupport/JSupport.h"
//
// Types:
//
extern "C" u16* func_8033677C(const void*, const void*); // JSUConvertOffsetToPtr<u16>
extern "C" void* __nw__FUl();
extern "C" void __ct__8J3DJointFv();
/* 80337178-803371D0 331AB8 0058+00 0/0 1/1 0/0 .text __ct__15J3DJointFactoryFRC13J3DJointBlock */
J3DJointFactory::J3DJointFactory(J3DJointBlock const& block) {
mJointInitData = JSUConvertOffsetToPtr<J3DJointInitData>(&block, block.mpJointInitData);
// Fix when we have our ODR working.
// mIndexTable = JSUConvertOffsetToPtr<u16>(&block, block.mpIndexTable);
mIndexTable = func_8033677C(&block, block.mpIndexTable);
mJointInitData = JSUConvertOffsetToPtr<J3DJointInitData>(&block, (u32)block.mpJointInitData);
mIndexTable = JSUConvertOffsetToPtr<u16>(&block, (u32)block.mpIndexTable);
}
/* 803371D0-80337338 331B10 0168+00 0/0 1/1 0/0 .text create__15J3DJointFactoryFi */
J3DJoint* J3DJointFactory::create(int param_0) {
// NONMATCHING
}
/* J3DJoint* J3DJointFactory::create(int no) {
J3DJoint* J3DJointFactory::create(int no) {
J3DJoint* joint = new J3DJoint();
joint->mJntNo = no;
joint->mKind = getKind(no);
@@ -45,4 +30,4 @@ J3DJoint* J3DJointFactory::create(int param_0) {
joint->mScaleCompensate = 0;
return joint;
} */
}
@@ -11,54 +11,7 @@
#include "JSystem/J3DGraphAnimator/J3DModelData.h"
#include "JSystem/JSupport/JSupport.h"
#include "dolphin/os.h"
#include "dol2asm.h"
//
// Forward References:
//
extern "C" void countMaterialNum__14J3DModelLoaderFPCv();
extern "C" void calcLoadSize__14J3DModelLoaderFPCvUl();
extern "C" void calcLoadMaterialTableSize__14J3DModelLoaderFPCv();
extern "C" void calcLoadBinaryDisplayListSize__14J3DModelLoaderFPCvUl();
extern "C" void calcSizeInformation__14J3DModelLoaderFPC17J3DModelInfoBlockUl();
extern "C" void calcSizeJoint__14J3DModelLoaderFPC13J3DJointBlock();
extern "C" void calcSizeEnvelope__14J3DModelLoaderFPC16J3DEnvelopeBlock();
extern "C" void calcSizeDraw__14J3DModelLoaderFPC12J3DDrawBlock();
extern "C" void calcSizeMaterial__18J3DModelLoader_v26FPC16J3DMaterialBlockUl();
extern "C" void calcSizeShape__14J3DModelLoaderFPC13J3DShapeBlockUl();
extern "C" void calcSizeTexture__14J3DModelLoaderFPC15J3DTextureBlock();
extern "C" void calcSizeMaterialTable__18J3DModelLoader_v26FPC16J3DMaterialBlockUl();
extern "C" void calcSizeTextureTable__14J3DModelLoaderFPC15J3DTextureBlock();
extern "C" void calcSizePatchedMaterial__14J3DModelLoaderFPC16J3DMaterialBlockUl();
extern "C" void calcSizeMaterialDL__14J3DModelLoaderFPC18J3DMaterialDLBlockUl();
extern "C" extern char const* const J3DModelLoaderCalcSize__stringBase0;
//
// External References:
//
extern "C" void __ct__18J3DMaterialFactoryFRC16J3DMaterialBlock();
extern "C" void __ct__18J3DMaterialFactoryFRC18J3DMaterialDLBlock();
extern "C" void countUniqueMaterials__18J3DMaterialFactoryFv();
extern "C" void
calcSize__18J3DMaterialFactoryCFP11J3DMaterialQ218J3DMaterialFactory12MaterialTypeiUl();
extern "C" void func_8033674C(void* _this, void const*, void const*);
extern "C" void __ct__15J3DShapeFactoryFRC13J3DShapeBlock();
extern "C" void calcSize__15J3DShapeFactoryFiUl();
extern "C" void calcSizeVcdVatCmdBuffer__15J3DShapeFactoryFUl();
extern "C" void _savegpr_22();
extern "C" void _savegpr_25();
extern "C" void _savegpr_27();
extern "C" void _savegpr_28();
extern "C" void _restgpr_22();
extern "C" void _restgpr_25();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
//
// Declarations:
//
/* 80336794-803367D4 3310D4 0040+00 0/0 3/0 0/0 .text countMaterialNum__14J3DModelLoaderFPCv */
u16 J3DModelLoader::countMaterialNum(const void* stream) {
@@ -73,18 +26,8 @@ u16 J3DModelLoader::countMaterialNum(const void* stream) {
return 0;
}
/* ############################################################################################## */
/* 803A20E8-803A20E8 02E748 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_803A20E8 = "Unknown data block\n";
/* @stringBase0 padding */
SECTION_DEAD static char const* const pad_803A20FC = "\0\0\0";
#pragma pop
/* 803367D4-803369A0 331114 01CC+00 0/0 3/0 0/0 .text calcLoadSize__14J3DModelLoaderFPCvUl */
// size load issue.
#ifdef NONMATCHING
// NONMATCHING size load issue
u32 J3DModelLoader::calcLoadSize(void const* stream, u32 flags_) {
int flags = flags_;
const J3DModelFileData* header = static_cast<const J3DModelFileData*>(stream);
@@ -128,11 +71,6 @@ u32 J3DModelLoader::calcLoadSize(void const* stream, u32 flags_) {
}
return size;
}
#else
u32 J3DModelLoader::calcLoadSize(void const* param_0, u32 param_1) {
// NONMATCHING
}
#endif
/* 803369A0-80336A98 3312E0 00F8+00 0/0 3/0 0/0 .text
* calcLoadMaterialTableSize__14J3DModelLoaderFPCv */
@@ -176,13 +114,13 @@ u32 J3DModelLoader::calcLoadMaterialTableSize(const void* stream) {
/* 80336A98-80336CD8 3313D8 0240+00 0/0 3/0 0/0 .text
* calcLoadBinaryDisplayListSize__14J3DModelLoaderFPCvUl */
// flags issue
#ifdef NONMATCHING
// NONMATCHING flags issue
u32 J3DModelLoader::calcLoadBinaryDisplayListSize(const void* stream, u32 flags) {
const J3DModelFileData* header = (const J3DModelFileData*)stream;
const J3DModelBlock* nextBlock = header->mBlocks;
u32 i = 0;
u32 matFlags = flags & (J3DMLF_Material_UseIndirect | J3DMLF_26);
u32 flags2;
int size = sizeof(J3DModelData);
for (; i < header->mBlockNum; i++) {
switch (nextBlock->mBlockType) {
@@ -204,7 +142,7 @@ u32 J3DModelLoader::calcLoadBinaryDisplayListSize(const void* stream, u32 flags)
case 'MAT2':
break;
case 'MAT3':
u32 flags2 = (J3DMLF_21 | J3DMLF_Material_PE_Full | J3DMLF_Material_Color_LightOn);
flags2 = (J3DMLF_21 | J3DMLF_Material_PE_Full | J3DMLF_Material_Color_LightOn);
flags2 |= matFlags;
mpMaterialBlock = (const J3DMaterialBlock*)nextBlock;
if ((flags & (J3DMLF_13 | J3DMLF_DoBdlMaterialCalc)) == 0) {
@@ -231,11 +169,6 @@ u32 J3DModelLoader::calcLoadBinaryDisplayListSize(const void* stream, u32 flags)
}
return size;
}
#else
u32 J3DModelLoader::calcLoadBinaryDisplayListSize(void const* param_0, u32 param_1) {
// NONMATCHING
}
#endif
/* 80336CD8-80336D64 331618 008C+00 2/2 0/0 0/0 .text
* calcSizeInformation__14J3DModelLoaderFPC17J3DModelInfoBlockUl */
@@ -404,4 +337,4 @@ u32 J3DModelLoader::calcSizeMaterialDL(const J3DMaterialDLBlock* block, u32 flag
return size;
}
/* 803A20E8-803A20E8 02E748 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
/* 803A20E8-803A20E8 02E748 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
+4 -23
View File
@@ -9,31 +9,12 @@
#include "JSystem/JSupport/JSupport.h"
#include "dolphin/os.h"
//
// Forward References:
//
//
// External References:
//
extern "C" J3DShapeInitData* func_80336764(const void*,
const void*); // JSUConvertOffsetToPtr<J3DShapeInitData>
extern "C" u16* func_8033677C(const void*, const void*); // JSUConvertOffsetToPtr<u16>
//
// Declarations:
//
/* 80337350-80337400 331C90 00B0+00 0/0 2/2 0/0 .text __ct__15J3DShapeFactoryFRC13J3DShapeBlock */
J3DShapeFactory::J3DShapeFactory(J3DShapeBlock const& block) {
//mShapeInitData = JSUConvertOffsetToPtr<J3DShapeInitData>(&block, (u32)block.mpShapeInitData);
mShapeInitData = func_80336764(&block, block.mpShapeInitData),
//mIndexTable = JSUConvertOffsetToPtr<u16>(&block, (u32)block.mpIndexTable);
mIndexTable = func_8033677C(&block, block.mpIndexTable),
mShapeInitData = JSUConvertOffsetToPtr<J3DShapeInitData>(&block, (u32)block.mpShapeInitData);
mIndexTable = JSUConvertOffsetToPtr<u16>(&block, (u32)block.mpIndexTable);
mVtxDescList = JSUConvertOffsetToPtr<GXVtxDescList>(&block, (u32)block.mpVtxDescList),
//mMtxTable = JSUConvertOffsetToPtr<u16>(&block, (u32)block.mpMtxTable);
mMtxTable = func_8033677C(&block, block.mpMtxTable),
mMtxTable = JSUConvertOffsetToPtr<u16>(&block, (u32)block.mpMtxTable);
mDisplayListData = JSUConvertOffsetToPtr<u8>(&block, (u32)block.mpDisplayListData),
mMtxInitData = JSUConvertOffsetToPtr<J3DShapeMtxInitData>(&block, (u32)block.mpMtxInitData),
mDrawInitData = JSUConvertOffsetToPtr<J3DShapeDrawInitData>(&block, (u32)block.mpDrawInitData),
@@ -213,4 +194,4 @@ s32 J3DShapeFactory::calcSizeShapeMtx(u32 flag, int shapeNo, int mtxGroupNo) con
}
return ret;
}
}
+2 -2
View File
@@ -325,7 +325,7 @@ void JUTResFont::getWidthEntry(int code, JUTFont::TWidth* i_width) const {
}
/* 802DFD0C-802DFD58 2DA64C 004C+00 1/0 1/0 0/0 .text getCellWidth__10JUTResFontCFv */
int JUTResFont::getCellWidth() const {
s32 JUTResFont::getCellWidth() const {
if (mpGlyphBlocks) {
ResFONT::GLY1* glyphBlock = *mpGlyphBlocks;
if (glyphBlock) {
@@ -469,4 +469,4 @@ int JUTResFont::convertSjis(int inChr, u16* inLead) const {
return tmp2 + (tmp - 0x88) * 0xbc + -0x5e + lead;
}
/* 8039D45C-8039D45C 029ABC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
/* 8039D45C-8039D45C 029ABC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
@@ -87,4 +87,4 @@ inline float i_tanf(float x) { return tan(x); }
};
#endif
#endif
#endif
+7 -111
View File
@@ -4,68 +4,20 @@
//
#include "c/c_damagereaction.h"
#include "dol2asm.h"
#include "d/actor/d_a_player.h"
#include "d/d_com_inf_game.h"
#include "f_op/f_op_actor_mng.h"
//
// Forward References:
//
extern "C" void execute__24JPTraceParticleCallBack4FP14JPABaseEmitterP15JPABaseParticle();
extern "C" void draw__24JPTraceParticleCallBack4FP14JPABaseEmitterP15JPABaseParticle();
extern "C" void cDmrNowMidnaTalk__Fv();
extern "C" void __dt__24JPTraceParticleCallBack4Fv();
extern "C" void __sinit_c_damagereaction_cpp();
extern "C" void execute__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle();
extern "C" void draw__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle();
//
// External References:
//
extern "C" void fopAcM_getTalkEventPartner__FPC10fopAc_ac_c();
extern "C" void __dt__19JPAParticleCallBackFv();
extern "C" void __dl__FPv();
extern "C" void __register_global_object();
// extern "C" extern u8 g_dComIfG_gameInfo[122384];
//
// Declarations:
//
/* ############################################################################################## */
/* 80450C98-80450C9C -00001 0004+00 0/0 0/0 50/50 .sbss None */
extern u8 struct_80450C98[4];
u8 struct_80450C98[4];
/* 80450C9C-80450CA0 -00001 0004+00 0/0 0/0 6/6 .sbss None */
#pragma push
#pragma force_active on
u8 cDmr_SkipInfo;
#pragma pop
/* ############################################################################################## */
/* 80451BA8-80451BAC 0001A8 0004+00 1/1 0/0 0/0 .sdata2 @3731 */
SECTION_SDATA2 static f32 lit_3731 = 25.0f;
/* 80451BAC-80451BB0 0001AC 0004+00 1/1 0/0 0/0 .sdata2 @3732 */
SECTION_SDATA2 static u8 lit_3732[4] = {
0x00,
0x00,
0x00,
0x00,
};
/* 80451BB0-80451BB4 0001B0 0004+00 1/1 0/0 0/0 .sdata2 @3733 */
SECTION_SDATA2 static f32 lit_3733 = 3.0f / 10.0f;
/* 80451BB4-80451BB8 0001B4 0004+00 1/1 0/0 0/0 .sdata2 @3734 */
SECTION_SDATA2 static f32 lit_3734 = 0.5f;
/* 80451BB8-80451BC0 0001B8 0008+00 1/1 0/0 0/0 .sdata2 @3736 */
SECTION_SDATA2 static f64 lit_3736 = 4503599627370496.0 /* cast u32 to float */;
u8 data_80450C9D;
u8 data_80450C9E;
u8 data_80450C9F;
/* 8001817C-800182A4 012ABC 0128+00 1/0 0/0 0/0 .text
* execute__24JPTraceParticleCallBack4FP14JPABaseEmitterP15JPABaseParticle */
@@ -73,15 +25,15 @@ void JPTraceParticleCallBack4::execute(JPABaseEmitter* param_0, JPABaseParticle*
u32 age = param_1->getAge();
if (age != 0) {
Vec* user_work = (Vec*)param_0->getUserWork();
JGeometry::TVec3<f32> vec1, vec2, vec3;
f32 fVar1 = (25.0f - age) / 25.0f;
if (fVar1 < 0.0f) {
fVar1 = 0.0f;
}
JGeometry::TVec3<f32> vec1(user_work[age]);
vec1 = user_work[age];
vec1.scale(0.3f * fVar1);
JGeometry::TVec3<f32> vec2(user_work[0]);
vec2 = user_work[0];
vec2.scale(0.5f * fVar1);
JGeometry::TVec3<f32> vec3;
param_1->getOffsetPosition(vec3);
vec3.add(vec1 + vec2);
@@ -112,65 +64,9 @@ BOOL cDmrNowMidnaTalk() {
return 0;
}
/* ############################################################################################## */
/* 803A3568-803A357C 000688 0014+00 2/2 0/0 0/0 .data __vt__24JPTraceParticleCallBack4 */
SECTION_DATA extern void* __vt__24JPTraceParticleCallBack4[5] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__24JPTraceParticleCallBack4Fv,
(void*)execute__24JPTraceParticleCallBack4FP14JPABaseEmitterP15JPABaseParticle,
(void*)draw__24JPTraceParticleCallBack4FP14JPABaseEmitterP15JPABaseParticle,
};
/* 80018328-80018388 012C68 0060+00 2/1 0/0 0/0 .text __dt__24JPTraceParticleCallBack4Fv
*/
// Needs JPAParticleCallBack inheritance and function order issues in the file
#ifdef NONMATCHING
JPTraceParticleCallBack4::~JPTraceParticleCallBack4() {}
#else
JPTraceParticleCallBack4::~JPTraceParticleCallBack4() {
// NONMATCHING
}
#endif
/* ############################################################################################## */
/* 803A357C-803A3590 00069C 0014+00 1/1 3/3 0/0 .data __vt__19JPAParticleCallBack */
SECTION_DATA extern void* __vt__19JPAParticleCallBack[5] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)NULL,
(void*)execute__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle,
(void*)draw__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle,
};
/* 803F0F40-803F0F50 01DC60 000C+04 1/1 0/0 0/0 .bss @3741 */
static u8 lit_3741[12 + 4 /* padding */];
/* 80450CA0-80450CA4 0001A0 0004+00 0/0 0/0 2/2 .sbss None */
extern u8 data_80450CA0[4];
u8 data_80450CA0[4];
/* 80450CA4-80450CA8 0001A4 0004+00 1/1 1/1 1/1 .sbss JPTracePCB4 */
extern u8 JPTracePCB4[4];
u8 JPTracePCB4[4];
/* 80018388-800183D4 012CC8 004C+00 0/0 1/0 0/0 .text __sinit_c_damagereaction_cpp */
void __sinit_c_damagereaction_cpp() {
// NONMATCHING
}
#pragma push
#pragma force_active on
REGISTER_CTORS(0x80018388, __sinit_c_damagereaction_cpp);
#pragma pop
/* 800183D4-800183D8 012D14 0004+00 1/0 1/0 0/0 .text
* execute__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle */
extern "C" void execute__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle() {
/* empty function */
}
/* 800183D8-800183DC 012D18 0004+00 1/0 4/0 0/0 .text
* draw__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle */
void JPAParticleCallBack::draw(JPABaseEmitter* param_0, JPABaseParticle* param_1) {
/* empty function */
}
JPTraceParticleCallBack4 JPTracePCB4;
+4 -8
View File
@@ -24,9 +24,7 @@ int daAlldie_c::actionWait() {
/* 804D5838-804D5888 000098 0050+00 1/1 0/0 0/0 .text actionCheck__10daAlldie_cFv */
int daAlldie_c::actionCheck() {
s8 roomNo = fopAcM_GetRoomNo(this);
if (fopAcM_myRoomSearchEnemy(roomNo) == NULL) {
if (fopAcM_myRoomSearchEnemy(fopAcM_GetRoomNo(this)) == NULL) {
mAction = ACT_TIMER;
mTimer = 65;
}
@@ -36,9 +34,7 @@ int daAlldie_c::actionCheck() {
/* 804D5888-804D5938 0000E8 00B0+00 1/1 0/0 0/0 .text actionTimer__10daAlldie_cFv */
int daAlldie_c::actionTimer() {
s8 roomNo = fopAcM_GetRoomNo(this);
if (fopAcM_myRoomSearchEnemy(roomNo) != NULL) {
if (fopAcM_myRoomSearchEnemy(fopAcM_GetRoomNo(this)) != NULL) {
mAction = ACT_CHECK;
} else {
if (mTimer > 0) {
@@ -165,7 +161,7 @@ int daAlldie_c::create() {
s8 roomNo = fopAcM_GetRoomNo(this);
if (!dComIfGs_isSwitch(getSwbit(), roomNo)) {
if (!dComIfGs_isSwitch(getSwbit(), fopAcM_GetRoomNo(this))) {
mAction = ACT_CHECK;
} else {
mAction = ACT_WAIT;
@@ -222,4 +218,4 @@ extern actor_process_profile_definition g_profile_ALLDIE = {
0x44000,
fopAc_ACTOR_e,
fopAc_CULLBOX_6_e,
};
};
+65 -1194
View File
File diff suppressed because it is too large Load Diff
+2 -3
View File
@@ -161,8 +161,7 @@ static void action(b_oh2_class* i_this) {
mDoMtx_stack_c::XrotM(i_this->shape_angle.x);
i_this->mpMorf->getModel()->setBaseTRMtx(mDoMtx_stack_c::get());
int roomNo = fopAcM_GetRoomNo(i_this);
i_this->mpMorf->play(0, dComIfGp_getReverb(roomNo));
i_this->mpMorf->play(0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this)));
if (boss->speedF <= 1.0f) {
i_this->mpBrk->setFrame(0.0f);
@@ -326,4 +325,4 @@ extern actor_process_profile_definition g_profile_B_OH2 = {
0x44000,
fopAc_ENEMY_e,
fopAc_CULLBOX_CUSTOM_e,
};
};
+2 -2
View File
@@ -2572,7 +2572,7 @@ static cPhs__Step daDo_Create(fopAc_ac_c* i_this) {
fopAcM_OnStatus(i_this, fopAcStts_CULL_e);
fopAcM_OnCarryType(i_this, fopAcM_CARRY_TYPE_8);
i_this->attention_info.flags = 0;
i_this->attention_info.distances[fopAc_attn_SPEAK_e] = 7;
i_this->attention_info.distances[fopAc_attn_CARRY_e] = 7;
fopAcM_SetMtx(i_this, _this->mpMorf->getModel()->getBaseTRMtx());
_this->mBgS_Acch.Set(fopAcM_GetPosition_p(i_this), fopAcM_GetOldPosition_p(i_this), i_this,
1, &_this->mBgS_AcchCir, fopAcM_GetSpeed_p(i_this), NULL, NULL);
@@ -2824,4 +2824,4 @@ extern actor_process_profile_definition g_profile_DO = {
0x8044000,
fopAc_NPC_e,
fopAc_CULLBOX_0_e,
};
};
+3 -5
View File
@@ -266,9 +266,8 @@ void daBdoor_c::calcGoal(cXyz* i_goalP, int param_1) {
void daBdoor_c::smokeInit() {
mParticlePos = current.pos;
mParticleAngle = shape_angle;
s32 room = fopAcM_GetRoomNo(this);
dComIfGp_particle_setPolyColor(0x8156, mAcch.m_gnd, &mParticlePos, &tevStr, &mParticleAngle,
NULL, 0, NULL, room, NULL);
NULL, 0, NULL, fopAcM_GetRoomNo(this), NULL);
}
/* 806700C4-806701F4 000D24 0130+00 1/1 0/0 0/0 .text checkArea__9daBdoor_cFv */
@@ -297,8 +296,7 @@ BOOL daBdoor_c::checkFront() {
/* 80670294-80670320 000EF4 008C+00 1/1 0/0 0/0 .text checkOpen__9daBdoor_cFv */
BOOL daBdoor_c::checkOpen() {
// Fake Match - should be daPy_py_c::i_checkNowWolf
if (dComIfGp_getLinkPlayer()->mNoResetFlg1 & daPy_py_c::FLG1_IS_WOLF) {
if (daPy_py_c::i_checkNowWolf()) {
return false;
}
if (!dComIfGs_isDungeonItemBossKey()) {
@@ -479,4 +477,4 @@ extern actor_process_profile_definition g_profile_BOSS_DOOR = {
0x44000,
fopAc_ACTOR_e,
fopAc_CULLBOX_6_e,
};
};
+15 -46
View File
@@ -379,9 +379,8 @@ int daBdoorL1_c::create() {
shape_angle.x = 0;
current.angle.z = 0;
current.angle.x = 0;
s32 roomNo = fopAcM_GetRoomNo(this);
u32 swBit = door_param2_c::getSwbit(this);
if (dComIfGs_isSwitch(swBit, roomNo) == 0 && dStage_stagInfo_GetSTType(dComIfGp_getStage()->getStagInfo()) != 3) {
if (!dComIfGs_isSwitch(door_param2_c::getSwbit(this), fopAcM_GetRoomNo(this))
&& dStage_stagInfo_GetSTType(dComIfGp_getStage()->getStagInfo()) != 3) {
createKey();
} else {
mKeyHoleId = -1;
@@ -407,7 +406,7 @@ void daBdoorL1_c::demoProc() {
cXyz cStack_38;
if (dComIfGp_evmng_getIsAddvance(field_0x5a0)) {
switch (demoAction) {
case 0:
case 0: {
int* puVar3 = dComIfGp_evmng_getMyIntegerP(field_0x5a0, "Timer");
if (puVar3 == NULL) {
field_0x5a4 = 1;
@@ -415,6 +414,7 @@ void daBdoorL1_c::demoProc() {
field_0x5a4 = *puVar3;
}
break;
}
case 1:
field_0x59a = 5;
break;
@@ -483,12 +483,13 @@ void daBdoorL1_c::demoProc() {
dComIfGp_evmng_cutEnd(field_0x5a0);
}
break;
case 2:
case 2: {
obj_keyhole_class* keyhole = (obj_keyhole_class*)fopAcM_SearchByID(mKeyHoleId);
if ((keyhole != NULL && keyhole->checkOpenEnd()) || mKeyHoleId == -1) {
dComIfGp_evmng_cutEnd(field_0x5a0);
}
break;
}
case 3:
if (openProc() != 0) {
openEnd();
@@ -561,46 +562,15 @@ void daBdoorL1_c::demoProc() {
}
}
/* 804E4A6C-804E4A74 000058 0006+02 0/1 0/0 0/0 .rodata l_lv1_eff$4252 */
static u16 const l_lv1_eff[3] = {
0x8C42,
0x8C43,
0x8C44,
};
/* 804E4A74-804E4A7C 000060 0006+02 0/1 0/0 0/0 .rodata l_lv2_eff$4253 */
static u16 const l_lv2_eff[3] = {
0x8C45,
0x8C46,
0x8C47,
};
/* 804E4A7C-804E4A80 000068 0004+00 0/1 0/0 0/0 .rodata l_lv4_eff_a$4254 */
static u16 const l_lv4_eff_a[2] = {
0x8C48,
0x8C49,
};
/* 804E4A80-804E4A84 00006C 0004+00 0/1 0/0 0/0 .rodata l_lv4_eff_b$4255 */
static u16 const l_lv4_eff_b[2] = {
0x8C4A,
0x8C4B,
};
/* 804E4A84-804E4A88 000070 0004+00 0/1 0/0 0/0 .rodata l_lv6_eff_a$4256 */
static u16 const l_lv6_eff_a[2] = {
0x8C4C,
0x8C4D,
};
/* 804E4A88-804E4A8C 000074 0004+00 0/1 0/0 0/0 .rodata l_lv6_eff_b$4257 */
static u16 const l_lv6_eff_b[2] = {
0x8C4E,
0x8C4F,
};
/* 804E3180-804E357C 001460 03FC+00 1/1 0/0 0/0 .text openInit__11daBdoorL1_cFv */
int daBdoorL1_c::openInit() {
static u16 const l_lv1_eff[3] = {0x8C42, 0x8C43, 0x8C44};
static u16 const l_lv2_eff[3] = {0x8C45, 0x8C46, 0x8C47};
static u16 const l_lv4_eff_a[2] = {0x8C48, 0x8C49};
static u16 const l_lv4_eff_b[2] = {0x8C4A, 0x8C4B};
static u16 const l_lv6_eff_a[2] = {0x8C4C, 0x8C4D};
static u16 const l_lv6_eff_b[2] = {0x8C4E, 0x8C4F};
u32 i;
if (field_0x590->ChkUsed()) {
dComIfG_Bgsp().Release(field_0x590);
@@ -764,9 +734,8 @@ int daBdoorL1_c::closeProc() {
field_0x7d0.y += 10.0f;
field_0x5ac.CrrPos(dComIfG_Bgsp());
cXyz cStack_34(1.65f, 1.65f, 1.65f);
s32 roomNo = fopAcM_GetRoomNo(this);
dComIfGp_particle_setPolyColor(0x8c50, field_0x5ac.m_gnd, &current.pos, &tevStr,
&shape_angle, &cStack_34, 0, 0, roomNo,
&shape_angle, &cStack_34, 0, 0, fopAcM_GetRoomNo(this),
0);
break;
}
@@ -1096,4 +1065,4 @@ extern actor_process_profile_definition g_profile_L1BOSS_DOOR = {
0x44000,
fopAc_ACTOR_e,
fopAc_CULLBOX_6_e,
};
};
+5 -8
View File
@@ -171,9 +171,8 @@ int daBdoorL5_c::create() {
if (rv != cPhs_COMPLEATE_e) {
return rv;
}
s32 roomNo = fopAcM_GetRoomNo(this);
u32 swBit = door_param2_c::getSwbit(this);
if (dComIfGs_isSwitch(swBit, roomNo) == 0 && dStage_stagInfo_GetSTType(dComIfGp_getStage()->getStagInfo()) != 3) {
if (!dComIfGs_isSwitch(door_param2_c::getSwbit(this), fopAcM_GetRoomNo(this))
&& dStage_stagInfo_GetSTType(dComIfGp_getStage()->getStagInfo()) != 3) {
createKey();
} else {
mKeyHoleId = -1;
@@ -361,9 +360,8 @@ void daBdoorL5_c::calcGoal(cXyz* param_1, int param_2) {
void daBdoorL5_c::smokeInit() {
field_0x5a4 = current.pos;
field_0x5b0 = shape_angle;
s32 roomNo = fopAcM_GetRoomNo(this);
dComIfGp_particle_setPolyColor(0x8156, field_0x5b8.m_gnd, &field_0x5a4, &tevStr, &field_0x5b0,
0, 0, 0, roomNo, 0);
0, 0, 0, fopAcM_GetRoomNo(this), 0);
}
/* 80671B14-80671C14 000F54 0100+00 1/1 0/0 0/0 .text createKey__11daBdoorL5_cFv */
@@ -414,8 +412,7 @@ int daBdoorL5_c::checkFront() {
/* 80671DE4-80671E70 001224 008C+00 1/1 0/0 0/0 .text checkOpen__11daBdoorL5_cFv */
int daBdoorL5_c::checkOpen() {
// Fake Match - should be daPy_py_c::i_checkNowWolf
if (dComIfGp_getLinkPlayer()->mNoResetFlg1 & daPy_py_c::FLG1_IS_WOLF) {
if (daPy_py_c::i_checkNowWolf()) {
return 0;
}
@@ -583,4 +580,4 @@ extern actor_process_profile_definition g_profile_L5BOSS_DOOR = {
0x44000,
fopAc_ACTOR_e,
fopAc_CULLBOX_6_e,
};
};
+6 -11
View File
@@ -981,27 +981,24 @@ int daMBdoorL1_c::openInit() {
}
if (getDoorType() == 0) {
for (int i = 0; i < 2; i++) {
s32 roomNo = fopAcM_GetRoomNo(this);
dComIfGp_particle_set(
l_eff_id[i],
&current.pos, &acStack_3c, 0, 0xff, 0, roomNo, NULL, NULL, NULL);
&current.pos, &acStack_3c, 0, 0xff, 0, fopAcM_GetRoomNo(this), NULL, NULL, NULL);
}
} else {
if (getDoorType() == 1) {
for (u32 k = 0; k < 5; k++) {
switch (level) {
case 4: {
s32 roomNo = fopAcM_GetRoomNo(this);
dComIfGp_particle_set(
l_eff_id_lv4[k],
&current.pos, &acStack_3c, 0, 0xff, 0, roomNo, NULL, NULL, NULL);
&current.pos, &acStack_3c, 0, 0xff, 0, fopAcM_GetRoomNo(this), NULL, NULL, NULL);
break;
}
default: {
s32 roomNo = fopAcM_GetRoomNo(this);
dComIfGp_particle_set(
l_eff_id_lv3[k],
&current.pos, &acStack_3c, 0, 0xff, 0, roomNo, NULL, NULL, NULL);
&current.pos, &acStack_3c, 0, 0xff, 0, fopAcM_GetRoomNo(this), NULL, NULL, NULL);
break;
}
}
@@ -1357,9 +1354,8 @@ void daMBdoorL1_c::smokeInit2() {
field_0x81c.y -= 10.0f;
field_0x828.y += 10.0f;
field_0x604.CrrPos(dComIfG_Bgsp());
s32 roomNo = fopAcM_GetRoomNo(this);
dComIfGp_particle_setPolyColor(0x8c50, field_0x604.m_gnd, &current.pos, &tevStr,
&shape_angle, NULL, 0, NULL, roomNo, 0);
&shape_angle, NULL, 0, NULL, fopAcM_GetRoomNo(this), 0);
}
}
@@ -1541,8 +1537,7 @@ int daMBdoorL1_c::startDemoEnd() {
f32 fVar1 = dVar12 < 0.0f ? 180.0f : -180.0f;
cXyz cStack_88(current.pos.x - fVar1 * local_70.x, current.pos.y,
current.pos.z - fVar1 * local_70.z);
s32 roomNo = fopAcM_GetRoomNo(player);
dComIfGs_setRestartRoom(cStack_88, dVar12 > 0.0f ? current.angle.y : (s16)(current.angle.y + 0x8000), roomNo);
dComIfGs_setRestartRoom(cStack_88, dVar12 > 0.0f ? current.angle.y : (s16)(current.angle.y + 0x8000), fopAcM_GetRoomNo(player));
return 1;
}
@@ -1560,7 +1555,7 @@ int daMBdoorL1_c::checkMBossRoom() {
int daMBdoorL1_c::checkStopClose() {
u8 FRoomNo = door_param2_c::getFRoomNo(this);
door_param2_c::getFRoomNo(this);
s32 roomNo = fopAcM_GetRoomNo(this);
s8 roomNo = fopAcM_GetRoomNo(this);
if (mDoorStop.mModel == NULL) {
return 0;
}
+8 -17
View File
@@ -279,8 +279,7 @@ void daDoor20_c::setEventPrm() {
}
if (chkMakeKey()) {
if (field_0x5f0) {
// FAKE MATCH: should be daPy_py_c::i_checkNowWolf
if (((daPy_py_c*)g_dComIfG_gameInfo.play.getPlayerPtr(LINK_PTR))->checkWolf()) {
if (daPy_py_c::i_checkNowWolf()) {
if (dComIfGs_getKeyNum() == 0) {
return;
}
@@ -446,13 +445,11 @@ void daDoor20_c::openInit_0() {
csXyz acStack_2c(0, field_0x670, 0);
for (u32 i = 0; i < 5; i++) {
if (strcmp(dComIfGp_getStartStageName(), "D_MN10") == 0) {
s32 roomNo = fopAcM_GetRoomNo(this);
dComIfGp_particle_set(l_eff_id_lv4[i],
&current.pos, &acStack_2c, NULL, 0xff, NULL, roomNo, NULL, NULL, NULL);
dComIfGp_particle_set(l_eff_id_lv4[i], &current.pos, &acStack_2c, NULL, 0xff, NULL,
fopAcM_GetRoomNo(this), NULL, NULL, NULL);
} else {
s32 roomNo = fopAcM_GetRoomNo(this);
dComIfGp_particle_set(l_eff_id_lv3[i],
&current.pos, &acStack_2c, NULL, 0xff, NULL, roomNo, NULL, NULL, NULL);
dComIfGp_particle_set(l_eff_id_lv3[i], &current.pos, &acStack_2c, NULL, 0xff, NULL,
fopAcM_GetRoomNo(this), NULL, NULL, NULL);
}
}
fopAcM_onSwitch(this, bVar5);
@@ -462,12 +459,6 @@ void daDoor20_c::openInit_0() {
}
}
/* 80466864-80466868 000044 0004+00 1/1 0/0 0/0 .rodata l_eff_id$4449 */
static u16 const l_eff_id[2] = {
0x8295,
0x8296,
};
/* 80461D24-80461EC4 001264 01A0+00 1/1 0/0 0/0 .text openInit_1__10daDoor20_cFv */
void daDoor20_c::openInit_1() {
J3DAnmTransform* anm;
@@ -481,10 +472,10 @@ void daDoor20_c::openInit_1() {
JUT_ASSERT(918, rt == 0);
u8 bVar5 = door_param2_c::getSwbit3(this);
if (bVar5 != 0xff && !fopAcM_isSwitch(this, bVar5)) {
static u16 const l_eff_id[2] = {0x8295, 0x8296};
for (int i = 0; i < 2; i++) {
s32 roomNo = fopAcM_GetRoomNo(this);
dComIfGp_particle_set(l_eff_id[i], &current.pos, &shape_angle, NULL, 0xff, NULL,
roomNo, NULL, NULL, NULL);
fopAcM_GetRoomNo(this), NULL, NULL, NULL);
}
fopAcM_onSwitch(this, bVar5);
field_0x672 = true;
@@ -2289,4 +2280,4 @@ extern actor_process_profile_definition g_profile_DOOR20 = {
0x44000, // mStatus
fopAc_ACTOR_e, // mActorType
fopAc_CULLBOX_CUSTOM_e, // cullType
};
};
+29 -421
View File
@@ -5,150 +5,27 @@
#include "d/actor/d_a_dshutter.h"
#include "SSystem/SComponent/c_math.h"
#include "Z2AudioLib/Z2Instances.h"
#include "dol2asm.h"
//
// Forward References:
//
extern "C" void callInit__7daDsh_cFv();
extern "C" void callExecute__7daDsh_cFv();
extern "C" void initOpenWait__7daDsh_cFv();
extern "C" void executeOpenWait__7daDsh_cFv();
extern "C" void initOpen__7daDsh_cFv();
extern "C" void executeOpen__7daDsh_cFv();
extern "C" void initCloseWait__7daDsh_cFv();
extern "C" void executeCloseWait__7daDsh_cFv();
extern "C" void initClose__7daDsh_cFv();
extern "C" void executeClose__7daDsh_cFv();
extern "C" s16 func_80467DF8(s16*);
//
// External References:
//
//
// Declarations:
//
/* ############################################################################################## */
/* 80467F5C-80467F68 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 80467F68-80467F7C 00000C 0004+10 0/0 0/0 0/0 .data @1787 */
#pragma push
#pragma force_active on
SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = {
0x02000201,
/* padding */
0x40080000,
0x00000000,
0x3FE00000,
0x00000000,
};
#pragma pop
UNK_REL_DATA
/* 80467F7C-80467F88 -00001 000C+00 2/2 0/0 0/0 .data l_arcName */
SECTION_DATA static char* l_arcName[] = {
static char* l_arcName[] = {
"K_tetd",
"S_bsaku00",
"S_lv7saku",
};
/* 80467F88-80467F94 -00001 000C+00 0/1 0/0 0/0 .data @3631 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3631[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)initOpenWait__7daDsh_cFv,
};
#pragma pop
/* 80467F94-80467FA0 -00001 000C+00 0/1 0/0 0/0 .data @3632 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3632[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)executeOpenWait__7daDsh_cFv,
};
#pragma pop
/* 80467FA0-80467FAC -00001 000C+00 0/1 0/0 0/0 .data @3635 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3635[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)initOpen__7daDsh_cFv,
};
#pragma pop
/* 80467FAC-80467FB8 -00001 000C+00 0/1 0/0 0/0 .data @3636 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3636[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)executeOpen__7daDsh_cFv,
};
#pragma pop
/* 80467FB8-80467FC4 -00001 000C+00 0/1 0/0 0/0 .data @3639 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3639[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)initCloseWait__7daDsh_cFv,
};
#pragma pop
/* 80467FC4-80467FD0 -00001 000C+00 0/1 0/0 0/0 .data @3640 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3640[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)executeCloseWait__7daDsh_cFv,
};
#pragma pop
/* 80467FD0-80467FDC -00001 000C+00 0/1 0/0 0/0 .data @3643 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3643[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)initClose__7daDsh_cFv,
};
#pragma pop
/* 80467FDC-80467FE8 -00001 000C+00 0/1 0/0 0/0 .data @3644 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3644[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)executeClose__7daDsh_cFv,
};
#pragma pop
/* 80467498-8046751C 000078 0084+00 1/1 0/0 0/0 .text __dt__7daDsh_cFv */
daDsh_c::~daDsh_c() {}
/* ############################################################################################## */
/* 80467F04-80467F10 000000 000C+00 2/2 0/0 0/0 .rodata l_bmd */
SECTION_RODATA static int const l_bmd[] = {
static int const l_bmd[] = {
4,
4,
4,
};
COMPILER_STRIP_GATE(0x80467F04, &l_bmd);
/* 8046751C-8046759C 0000FC 0080+00 1/0 0/0 0/0 .text CreateHeap__7daDsh_cFv */
int daDsh_c::CreateHeap() {
@@ -178,7 +55,7 @@ int daDsh_c::Execute(f32 (**param_0)[3][4]) {
callExecute();
setMtx();
*param_0 = &mBgMtx;
func_80467DF8(&mTiltTime);
cLib_calcTimer(&mTiltTime);
return 1;
}
@@ -221,105 +98,28 @@ int daDsh_c::initOpenWait() {
return 1;
}
/* ############################################################################################## */
/* 80468070-80468074 000000 0001+03 1/1 0/0 0/0 .bss @1109 */
static u8 lit_1109[1 + 3 /* padding */];
/* 80468074-80468078 000004 0001+03 0/0 0/0 0/0 .bss @1107 */
#pragma push
#pragma force_active on
static u8 lit_1107[1 + 3 /* padding */];
#pragma pop
/* 80468078-8046807C 000008 0001+03 0/0 0/0 0/0 .bss @1105 */
#pragma push
#pragma force_active on
static u8 lit_1105[1 + 3 /* padding */];
#pragma pop
/* 8046807C-80468080 00000C 0001+03 0/0 0/0 0/0 .bss @1104 */
#pragma push
#pragma force_active on
static u8 lit_1104[1 + 3 /* padding */];
#pragma pop
/* 80468080-80468084 000010 0001+03 0/0 0/0 0/0 .bss @1099 */
#pragma push
#pragma force_active on
static u8 lit_1099[1 + 3 /* padding */];
#pragma pop
/* 80468084-80468088 000014 0001+03 0/0 0/0 0/0 .bss @1097 */
#pragma push
#pragma force_active on
static u8 lit_1097[1 + 3 /* padding */];
#pragma pop
/* 80468088-8046808C 000018 0001+03 0/0 0/0 0/0 .bss @1095 */
#pragma push
#pragma force_active on
static u8 lit_1095[1 + 3 /* padding */];
#pragma pop
/* 8046808C-80468090 00001C 0001+03 0/0 0/0 0/0 .bss @1094 */
#pragma push
#pragma force_active on
static u8 lit_1094[1 + 3 /* padding */];
#pragma pop
/* 80468090-80468094 000020 0001+03 0/0 0/0 0/0 .bss @1057 */
#pragma push
#pragma force_active on
static u8 lit_1057[1 + 3 /* padding */];
#pragma pop
/* 80468094-80468098 000024 0001+03 0/0 0/0 0/0 .bss @1055 */
#pragma push
#pragma force_active on
static u8 lit_1055[1 + 3 /* padding */];
#pragma pop
/* 80468098-8046809C 000028 0001+03 0/0 0/0 0/0 .bss @1053 */
#pragma push
#pragma force_active on
static u8 lit_1053[1 + 3 /* padding */];
#pragma pop
/* 8046809C-804680A0 00002C 0001+03 0/0 0/0 0/0 .bss @1052 */
#pragma push
#pragma force_active on
static u8 lit_1052[1 + 3 /* padding */];
#pragma pop
/* 804680A0-804680A4 000030 0001+03 0/0 0/0 0/0 .bss @1014 */
#pragma push
#pragma force_active on
static u8 lit_1014[1 + 3 /* padding */];
#pragma pop
/* 804680A4-804680A8 000034 0001+03 0/0 0/0 0/0 .bss @1012 */
#pragma push
#pragma force_active on
static u8 lit_1012[1 + 3 /* padding */];
#pragma pop
/* 804680A8-804680AC 000038 0001+03 0/0 0/0 0/0 .bss @1010 */
#pragma push
#pragma force_active on
static u8 lit_1010[1 + 3 /* padding */];
#pragma pop
/* 804680AC-804680B0 00003C 0001+03 0/0 0/0 0/0 .bss @1009 */
#pragma push
#pragma force_active on
static u8 lit_1009[1 + 3 /* padding */];
#pragma pop
UNK_BSS(1109)
UNK_BSS(1107)
UNK_BSS(1105)
UNK_BSS(1104)
UNK_BSS(1099)
UNK_BSS(1097)
UNK_BSS(1095)
UNK_BSS(1094)
UNK_BSS(1057)
UNK_BSS(1055)
UNK_BSS(1053)
UNK_BSS(1052)
UNK_BSS(1014)
UNK_BSS(1012)
UNK_BSS(1010)
UNK_BSS(1009)
/* 804680B0-804680C8 000040 0018+00 2/3 0/0 0/0 .bss l_openWaitAction */
static daDsh_c::action_c l_openWaitAction /* (&daDsh_c::initOpenWait, &daDsh_c::executeOpenWait) */;
static daDsh_c::action_c l_openWaitAction(&daDsh_c::initOpenWait, &daDsh_c::executeOpenWait);
/* 804680C8-804680E0 000058 0018+00 1/2 0/0 0/0 .bss l_openAction */
static daDsh_c::action_c l_openAction /* (&daDsh_c::initOpen, &daDsh_c::executeOpen) */;
static daDsh_c::action_c l_openAction(&daDsh_c::initOpen, &daDsh_c::executeOpen);
/* 804677E4-80467840 0003C4 005C+00 1/0 0/0 0/0 .text executeOpenWait__7daDsh_cFv */
int daDsh_c::executeOpenWait() {
@@ -330,14 +130,11 @@ int daDsh_c::executeOpenWait() {
return 1;
}
/* ############################################################################################## */
/* 80467F10-80467F1C 00000C 000C+00 1/1 0/0 0/0 .rodata l_dzb */
SECTION_RODATA static int const l_dzb[] = {7, 7, 7};
COMPILER_STRIP_GATE(0x80467F10, &l_dzb);
static int const l_dzb[] = {7, 7, 7};
/* 80467F1C-80467F28 000018 000C+00 1/1 0/0 0/0 .rodata l_heap_size */
SECTION_RODATA static u32 const l_heap_size[] = {0xC10, 0xC10, 0x3D60};
COMPILER_STRIP_GATE(0x80467F1C, &l_heap_size);
static u32 const l_heap_size[] = {0xC10, 0xC10, 0x3D60};
/* 80467840-80467988 000420 0148+00 1/0 0/0 0/0 .text initOpen__7daDsh_cFv */
int daDsh_c::initOpen() {
@@ -359,8 +156,7 @@ int daDsh_c::initOpen() {
}
/* 804680E0-804680F8 000070 0018+00 2/3 0/0 0/0 .bss l_closeWaitAction */
static daDsh_c::action_c
l_closeWaitAction /* (&daDsh_c::initCloseWait, &daDsh_c::executeCloseWait) */;
static daDsh_c::action_c l_closeWaitAction(&daDsh_c::initCloseWait, &daDsh_c::executeCloseWait);
/* 80467988-80467A64 000568 00DC+00 1/0 0/0 0/0 .text executeOpen__7daDsh_cFv */
int daDsh_c::executeOpen() {
@@ -392,9 +188,8 @@ int daDsh_c::initCloseWait() {
return 1;
}
/* ############################################################################################## */
/* 804680F8-80468110 000088 0018+00 1/2 0/0 0/0 .bss l_closeAction */
static daDsh_c::action_c l_closeAction /* (&daDsh_c::initClose, &daDsh_c::executeClose) */;
static daDsh_c::action_c l_closeAction(&daDsh_c::initClose, &daDsh_c::executeClose);
/* 80467A80-80467ADC 000660 005C+00 1/0 0/0 0/0 .text executeCloseWait__7daDsh_cFv */
int daDsh_c::executeCloseWait() {
@@ -459,180 +254,7 @@ static int daDsh_Delete(daDsh_c* i_this) {
return ret;
}
/* ############################################################################################## */
/* 80468110-80468114 0000A0 0004+00 0/0 0/0 0/0 .bss
* sInstance__40JASGlobalInstance<19JASDefaultBankTable> */
#pragma push
#pragma force_active on
static u8 data_80468110[4];
#pragma pop
/* 80468114-80468118 0000A4 0004+00 0/0 0/0 0/0 .bss
* sInstance__35JASGlobalInstance<14JASAudioThread> */
#pragma push
#pragma force_active on
static u8 data_80468114[4];
#pragma pop
/* 80468118-8046811C 0000A8 0004+00 0/0 0/0 0/0 .bss sInstance__27JASGlobalInstance<7Z2SeMgr> */
#pragma push
#pragma force_active on
static u8 data_80468118[4];
#pragma pop
/* 8046811C-80468120 0000AC 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8Z2SeqMgr> */
#pragma push
#pragma force_active on
static u8 data_8046811C[4];
#pragma pop
/* 80468120-80468124 0000B0 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SceneMgr>
*/
#pragma push
#pragma force_active on
static u8 data_80468120[4];
#pragma pop
/* 80468124-80468128 0000B4 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2StatusMgr>
*/
#pragma push
#pragma force_active on
static u8 data_80468124[4];
#pragma pop
/* 80468128-8046812C 0000B8 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2DebugSys>
*/
#pragma push
#pragma force_active on
static u8 data_80468128[4];
#pragma pop
/* 8046812C-80468130 0000BC 0004+00 0/0 0/0 0/0 .bss
* sInstance__36JASGlobalInstance<15JAISoundStarter> */
#pragma push
#pragma force_active on
static u8 data_8046812C[4];
#pragma pop
/* 80468130-80468134 0000C0 0004+00 0/0 0/0 0/0 .bss
* sInstance__35JASGlobalInstance<14Z2SoundStarter> */
#pragma push
#pragma force_active on
static u8 data_80468130[4];
#pragma pop
/* 80468134-80468138 0000C4 0004+00 0/0 0/0 0/0 .bss
* sInstance__33JASGlobalInstance<12Z2SpeechMgr2> */
#pragma push
#pragma force_active on
static u8 data_80468134[4];
#pragma pop
/* 80468138-8046813C 0000C8 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8JAISeMgr> */
#pragma push
#pragma force_active on
static u8 data_80468138[4];
#pragma pop
/* 8046813C-80468140 0000CC 0004+00 0/0 0/0 0/0 .bss sInstance__29JASGlobalInstance<9JAISeqMgr> */
#pragma push
#pragma force_active on
static u8 data_8046813C[4];
#pragma pop
/* 80468140-80468144 0000D0 0004+00 0/0 0/0 0/0 .bss
* sInstance__33JASGlobalInstance<12JAIStreamMgr> */
#pragma push
#pragma force_active on
static u8 data_80468140[4];
#pragma pop
/* 80468144-80468148 0000D4 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SoundMgr>
*/
#pragma push
#pragma force_active on
static u8 data_80468144[4];
#pragma pop
/* 80468148-8046814C 0000D8 0004+00 0/0 0/0 0/0 .bss
* sInstance__33JASGlobalInstance<12JAISoundInfo> */
#pragma push
#pragma force_active on
static u8 data_80468148[4];
#pragma pop
/* 8046814C-80468150 0000DC 0004+00 0/0 0/0 0/0 .bss
* sInstance__34JASGlobalInstance<13JAUSoundTable> */
#pragma push
#pragma force_active on
static u8 data_8046814C[4];
#pragma pop
/* 80468150-80468154 0000E0 0004+00 0/0 0/0 0/0 .bss
* sInstance__38JASGlobalInstance<17JAUSoundNameTable> */
#pragma push
#pragma force_active on
static u8 data_80468150[4];
#pragma pop
/* 80468154-80468158 0000E4 0004+00 0/0 0/0 0/0 .bss
* sInstance__33JASGlobalInstance<12JAUSoundInfo> */
#pragma push
#pragma force_active on
static u8 data_80468154[4];
#pragma pop
/* 80468158-8046815C 0000E8 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SoundInfo>
*/
#pragma push
#pragma force_active on
static u8 data_80468158[4];
#pragma pop
/* 8046815C-80468160 0000EC 0004+00 0/0 0/0 0/0 .bss
* sInstance__34JASGlobalInstance<13Z2SoundObjMgr> */
#pragma push
#pragma force_active on
static u8 data_8046815C[4];
#pragma pop
/* 80468160-80468164 0000F0 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2Audience>
*/
#pragma push
#pragma force_active on
static u8 data_80468160[4];
#pragma pop
/* 80468164-80468168 0000F4 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2FxLineMgr>
*/
#pragma push
#pragma force_active on
static u8 data_80468164[4];
#pragma pop
/* 80468168-8046816C 0000F8 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2EnvSeMgr>
*/
#pragma push
#pragma force_active on
static u8 data_80468168[4];
#pragma pop
/* 8046816C-80468170 0000FC 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SpeechMgr>
*/
#pragma push
#pragma force_active on
static u8 data_8046816C[4];
#pragma pop
/* 80468170-80468174 000100 0004+00 0/0 0/0 0/0 .bss
* sInstance__34JASGlobalInstance<13Z2WolfHowlMgr> */
#pragma push
#pragma force_active on
static u8 data_80468170[4];
#pragma pop
/* 80468174-80468178 000104 0004+00 1/1 0/0 0/0 .bss None */
static s8 data_80468174[4];
AUDIO_INSTANCES;
/* 80467C7C-80467DF8 00085C 017C+00 1/0 0/0 0/0 .text daDsh_Create__FP10fopAc_ac_c */
int daDsh_c::create() {
@@ -664,20 +286,6 @@ static int daDsh_Create(fopAc_ac_c* i_this) {
return static_cast<daDsh_c*>(i_this)->create();
}
/* 80467DF8-80467E14 0009D8 001C+00 1/1 0/0 0/0 .text cLib_calcTimer<s>__FPs */
extern "C" s16 func_80467DF8(s16* param_0) {
// NONMATCHING
}
/* 80467E14-80467EF8 0009F4 00E4+00 0/0 1/0 0/0 .text __sinit_d_a_dshutter_cpp */
void __sinit_d_a_dshutter_cpp(){// NONMATCHING
}
#pragma push
#pragma force_active on
REGISTER_CTORS(0x80467E14, __sinit_d_a_dshutter_cpp);
#pragma pop
/* 80467FF0-80468010 -00001 0020+00 1/0 0/0 0/0 .data l_daDsh_Method */
static actor_method_class l_daDsh_Method = {
(process_method_func)daDsh_Create, (process_method_func)daDsh_Delete,
@@ -704,4 +312,4 @@ extern actor_process_profile_definition2 g_profile_DSHUTTER = {
fopAc_CULLBOX_0_e, // cullType
},
0,
};
};
+40 -817
View File
File diff suppressed because it is too large Load Diff
+2 -95
View File
@@ -6,108 +6,15 @@
*/
#include "d/actor/d_a_e_fz.h"
UNK_REL_DATA
#include "f_op/f_op_actor_enemy.h"
#include "d/actor/d_a_mirror.h"
#include "d/actor/d_a_b_yo.h"
#include "d/d_com_inf_game.h"
#include "d/d_item.h"
#include "d/actor/d_a_player.h"
#include "d/actor/d_a_midna.h"
#include "SSystem/SComponent/c_math.h"
#include "SSystem/SComponent/c_xyz.h"
static u8 cNullVec__6Z2Calc[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
static u32 lit_1787[1 + 4 /* padding */] = {
0x02000201,
/* padding */
0x40080000,
0x00000000,
0x3FE00000,
0x00000000,
};
/* 806C14D4-806C18E8 002C74 0414+00 1/1 0/0 0/0 .text
* setMidnaBindEffect__FP13fopEn_enemy_cP15Z2CreatureEnemyP4cXyzP4cXyz */
// NONMATCHING
// gave up on this one, it's a mess.
// it appears to be actually defined in f_op_actor header and is in ~60 enemy actor TUs
// so needs to be solved eventually
// bind_id issue + regalloc (could be related)
static int setMidnaBindEffect(fopEn_enemy_c* i_actorP, Z2CreatureEnemy* i_creatureP, cXyz* i_pos,
cXyz* i_scale) {
static GXColor e_prim[2] = {
{0xFF, 0x78, 0x00, 0x00},
{0xFF, 0x64, 0x78, 0x00},
};
static GXColor e_env[2] = {
{0x5A, 0x2D, 0x2D, 0x00},
{0x3C, 0x1E, 0x1E, 0x00},
};
int darkworld_check;
daPy_py_c* player_actor = daPy_getPlayerActorClass();
if (player_actor->getMidnaActor() && player_actor->checkWolfLock(i_actorP)) {
cXyz pos3;
if (dKy_darkworld_check()) {
darkworld_check = 1;
} else {
darkworld_check = 0;
}
if (i_actorP->getMidnaBindMode() == 0) {
i_actorP->setMidnaBindMode(1);
csXyz angle;
PSMTXCopy(player_actor->getMidnaActor()->getMtxHairTop(), mDoMtx_stack_c::get());
cXyz cStack_54(100.0f, 0.0f, 0.0f);
mDoMtx_stack_c::multVec(&cStack_54, &pos3);
cXyz pos = pos3 - *i_pos;
angle.y = cM_atan2s(pos.x, pos.z);
angle.x = -cM_atan2s(pos.y, JMAFastSqrt(pos.x * pos.x + pos.z * pos.z));
angle.z = 0;
s32 room_no = fopAcM_GetRoomNo(i_actorP);
JPABaseEmitter* emitter = dComIfGp_particle_set(
0x29b, i_pos, &i_actorP->tevStr, &angle, i_scale, 0xff, 0, room_no,
&e_prim[darkworld_check], &e_env[darkworld_check], 0);
if (emitter) {
emitter->setGlobalParticleHeightScale(0.01f * pos.abs());
}
room_no = fopAcM_GetRoomNo(i_actorP);
dComIfGp_particle_set(0x29c, i_pos, &i_actorP->tevStr, &i_actorP->shape_angle,
i_scale, 0xff, 0, room_no, &e_prim[darkworld_check],
&e_env[darkworld_check], 0);
i_creatureP->startCreatureSound(Z2SE_MIDNA_BIND_LOCK_ON, 0, -1);
}
static u16 eff_id[3] = {0x029D, 0x029E, 0x029F};
for (int i = 0; i < 3; i++) {
u32* bind_id = i_actorP->getMidnaBindID(i);
s32 room_no = fopAcM_GetRoomNo(i_actorP);
*bind_id = dComIfGp_particle_set(*bind_id, eff_id[i], i_pos, &i_actorP->tevStr,
&i_actorP->shape_angle, i_scale, 0xff, 0, room_no,
&e_prim[darkworld_check], &e_env[darkworld_check], 0);
}
i_creatureP->startCreatureSound(Z2SE_MIDNA_BIND_LOCK_SUS, 0, -1);
return 1;
}
i_actorP->setMidnaBindMode(0);
return 0;
}
namespace {
/* 806C1A38-806C1A78 000038 0040+00 1/1 0/0 0/0 .data cc_fz_src__22@unnamed@d_a_e_fz_cpp@
+1 -65
View File
@@ -8,75 +8,11 @@
#include "SSystem/SComponent/c_math.h"
#include "c/c_damagereaction.h"
#include "cmath.h"
#include "d/actor/d_a_midna.h"
#include "d/actor/d_a_player.h"
#include "d/d_com_inf_game.h"
#include "d/d_s_play.h"
#include "d/d_camera.h"
// NONMATCHING load order and regalloc
static int setMidnaBindEffect(fopEn_enemy_c* i_enemy, Z2CreatureEnemy* i_sound,
cXyz* i_pos, cXyz* i_scale) {
static GXColor e_prim[2] = {
{0xFF, 0x78, 0x00, 0x00},
{0xFF, 0x64, 0x78, 0x00},
};
static GXColor e_env[2] = {
{0x5A, 0x2D, 0x2D, 0x00},
{0x3C, 0x1E, 0x1E, 0x00},
};
daPy_py_c* player = daPy_getPlayerActorClass();
if (player->getMidnaActor() != NULL && player->checkWolfLock(i_enemy)) {
cXyz local_48;
int world = dKy_darkworld_check() ? 1 : 0;
if (i_enemy->getMidnaBindMode() == 0) {
i_enemy->setMidnaBindMode(1);
csXyz angle;
MTXCopy(daPy_py_c::getMidnaActor()->getMtxHairTop(), mDoMtx_stack_c::get());
cXyz local_54(100.0f, 0.0f, 0.0f);
mDoMtx_stack_c::multVec(&local_54, &local_48);
cXyz local_60 = local_48 - *i_pos;
angle.y = cM_atan2s(local_60.x, local_60.z);
angle.x = -cM_atan2s(local_60.y,
JMAFastSqrt(local_60.x * local_60.x + local_60.z * local_60.z));
angle.z = 0;
JPABaseEmitter* emitter =
dComIfGp_particle_set(0x29B, i_pos, &i_enemy->tevStr, &angle, i_scale,
0xff, NULL, fopAcM_GetRoomNo(i_enemy),
&e_prim[world], &e_env[world], NULL);
if (emitter != NULL) {
emitter->setGlobalParticleHeightScale(0.01f * local_60.abs());
}
dComIfGp_particle_set(0x29C, i_pos, &i_enemy->tevStr, &i_enemy->shape_angle,
i_scale, 0xff, NULL, fopAcM_GetRoomNo(i_enemy),
&e_prim[world], &e_env[world], NULL);
i_sound->startCreatureSound(Z2SE_MIDNA_BIND_LOCK_ON, 0, -1);
}
static u16 eff_id[3] = {0x029D, 0x029E, 0x029F};
for (int i = 0; i < 3; i++) {
u32* bind_id = i_enemy->getMidnaBindID(i);
*bind_id = dComIfGp_particle_set(*bind_id, eff_id[i], i_pos, &i_enemy->tevStr,
&i_enemy->shape_angle, i_scale, 0xff, NULL,
fopAcM_GetRoomNo(i_enemy),
&e_prim[world], &e_env[world], NULL);
}
i_sound->startCreatureSoundLevel(Z2SE_MIDNA_BIND_LOCK_SUS, 0, -1);
return 1;
} else {
i_enemy->setMidnaBindMode(0);
return 0;
}
}
#include "f_op/f_op_actor_enemy.h"
#define WL_CUT_TYPE_SMALL 1
#define WL_CUT_TYPE_JUMP 2
+2 -81
View File
@@ -8,90 +8,11 @@
#include "d/actor/d_a_e_yk.h"
#include "c/c_damagereaction.h"
#include "d/d_com_inf_game.h"
#include "d/actor/d_a_midna.h"
#include "d/actor/d_a_player.h"
#include "d/d_s_play.h"
#include "dol2asm.h"
#include "SSystem/SComponent/c_math.h"
/* 80807D70-80807D7C 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
static u8 cNullVec__6Z2Calc[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 80807D7C-80807D90 00000C 0004+10 0/0 0/0 0/0 .data @1787 */
static u32 lit_1787[1 + 4 /* padding */] = {
0x02000201,
/* padding */
0x40080000,
0x00000000,
0x3FE00000,
0x00000000,
};
// NONMATCHING load order and regalloc
static int setMidnaBindEffect(fopEn_enemy_c* i_enemy, Z2CreatureEnemy* i_sound,
cXyz* i_pos, cXyz* i_scale) {
static GXColor e_prim[2] = {
{0xFF, 0x78, 0x00, 0x00},
{0xFF, 0x64, 0x78, 0x00},
};
static GXColor e_env[2] = {
{0x5A, 0x2D, 0x2D, 0x00},
{0x3C, 0x1E, 0x1E, 0x00},
};
daPy_py_c* player = daPy_getPlayerActorClass();
if (player->getMidnaActor() != NULL && player->checkWolfLock(i_enemy)) {
cXyz local_48;
int world = dKy_darkworld_check() ? 1 : 0;
if (i_enemy->getMidnaBindMode() == 0) {
i_enemy->setMidnaBindMode(1);
csXyz angle;
MTXCopy(daPy_py_c::getMidnaActor()->getMtxHairTop(), mDoMtx_stack_c::get());
cXyz local_54(100.0f, 0.0f, 0.0f);
mDoMtx_stack_c::multVec(&local_54, &local_48);
cXyz local_60 = local_48 - *i_pos;
angle.y = cM_atan2s(local_60.x, local_60.z);
angle.x = -cM_atan2s(local_60.y,
JMAFastSqrt(local_60.x * local_60.x + local_60.z * local_60.z));
angle.z = 0;
JPABaseEmitter* emitter =
dComIfGp_particle_set(0x29B, i_pos, &i_enemy->tevStr, &angle, i_scale,
0xff, NULL, fopAcM_GetRoomNo(i_enemy),
&e_prim[world], &e_env[world], NULL);
if (emitter != NULL) {
emitter->setGlobalParticleHeightScale(0.01f * local_60.abs());
}
dComIfGp_particle_set(0x29C, i_pos, &i_enemy->tevStr, &i_enemy->shape_angle,
i_scale, 0xff, NULL, fopAcM_GetRoomNo(i_enemy),
&e_prim[world], &e_env[world], NULL);
i_sound->startCreatureSound(Z2SE_MIDNA_BIND_LOCK_ON, 0, -1);
}
static u16 eff_id[3] = {0x029D, 0x029E, 0x029F};
for (int i = 0; i < 3; i++) {
u32* bind_id = i_enemy->getMidnaBindID(i);
*bind_id = dComIfGp_particle_set(*bind_id, eff_id[i], i_pos, &i_enemy->tevStr,
&i_enemy->shape_angle, i_scale, 0xff, NULL,
fopAcM_GetRoomNo(i_enemy),
&e_prim[world], &e_env[world], NULL);
}
i_sound->startCreatureSoundLevel(Z2SE_MIDNA_BIND_LOCK_SUS, 0, -1);
return 1;
} else {
i_enemy->setMidnaBindMode(0);
return 0;
}
}
UNK_REL_DATA
#include "f_op/f_op_actor_enemy.h"
/* 80807EF8-80807EFC 000008 0004+00 2/2 0/0 0/0 .bss None */
static u8 data_80807EF8;
+1 -33
View File
@@ -2460,38 +2460,6 @@ extern "C" void __dt__10cCcD_GSttsFv() {
// NONMATCHING
}
/* 80844B8C-80844B90 00CD4C 0004+00 3/0 0/0 0/0 .text
* setAnmTransform__10J3DMtxCalcFUcP15J3DAnmTransform */
void J3DMtxCalc::setAnmTransform(u8 param_0, J3DAnmTransform* param_1) {
/* empty function */
}
/* 80844B90-80844B94 00CD50 0004+00 3/0 0/0 0/0 .text
* setAnmTransform__10J3DMtxCalcFP15J3DAnmTransform */
void J3DMtxCalc::setAnmTransform(J3DAnmTransform* param_0) {
/* empty function */
}
/* 80844B94-80844B9C 00CD54 0008+00 3/0 0/0 0/0 .text getAnmTransform__10J3DMtxCalcFUc */
J3DAnmTransform* J3DMtxCalc::getAnmTransform(u8 param_0) {
return NULL;
}
/* 80844B9C-80844BA4 00CD5C 0008+00 3/0 0/0 0/0 .text getAnmTransform__10J3DMtxCalcFv */
J3DAnmTransform* J3DMtxCalc::getAnmTransform() {
return NULL;
}
/* 80844BA4-80844BA8 00CD64 0004+00 3/0 0/0 0/0 .text setWeight__10J3DMtxCalcFUcf */
void J3DMtxCalc::setWeight(u8 param_0, f32 param_1) {
/* empty function */
}
/* 80844BA8-80844BB4 00CD68 000C+00 3/0 0/0 0/0 .text getWeight__10J3DMtxCalcCFUc */
void J3DMtxCalc::getWeight(u8 param_0) const {
// NONMATCHING
}
/* 80844BB4-80844BDC 00CD74 0028+00 1/0 0/0 0/0 .text
* init__73J3DMtxCalcNoAnm<27J3DMtxCalcCalcTransformMaya,24J3DMtxCalcJ3DSysInitMaya>FRC3VecRA3_A4_Cf
*/
@@ -2827,4 +2795,4 @@ static u8 data_80845E10[4];
static u8 data_80845E14[4];
#pragma pop
/* 8084585C-8084585C 0003B0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
/* 8084585C-8084585C 0003B0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
File diff suppressed because it is too large Load Diff
-2
View File
@@ -583,7 +583,6 @@ void daMyna_c::attack_fly_init() {
}
/* 80946BF4-80946D20 001074 012C+00 1/0 0/0 0/0 .text attack_fly_move__8daMyna_cFv */
// NONMATCHING regswap
void daMyna_c::attack_fly_move() {
if (daMyna_evtTagActor0 != NULL) {
cXyz var1(1.0f, 1.0f, 1.0f);
@@ -727,7 +726,6 @@ void daMyna_c::shopping_wait_init() {
}
/* 809471E8-809475B4 001668 03CC+00 1/0 0/0 0/0 .text shopping_wait_move__8daMyna_cFv */
// NONMATCHING regswap
void daMyna_c::shopping_wait_move() {
if (!daPy_py_c::i_checkNowWolf()) {
if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[802])) {
+58 -1338
View File
File diff suppressed because it is too large Load Diff
+2 -3
View File
@@ -13,9 +13,8 @@ int daObjEff::Act_c::_create() {
fopAcM_SetupActor(this, Act_c);
if (daObj::PrmAbstract<Act_c::Prm_e>(this, PRM_8, PRM_0) == 3) {
s32 roomNo = fopAcM_GetRoomNo(this);
dComIfGp_particle_setColor(0x00E7, &current.pos, NULL, NULL, NULL, 0.0f, 55, NULL, &scale,
NULL, roomNo, &scale);
NULL, fopAcM_GetRoomNo(this), &scale);
}
return cPhs_ERROR_e;
@@ -84,4 +83,4 @@ extern actor_process_profile_definition g_profile_Obj_Eff = {
0x40000,
fopAc_ACTOR_e,
fopAc_CULLBOX_0_e,
};
};
+3 -3
View File
@@ -36,11 +36,11 @@ void daObjE_CREATE_c::NormalAction() {
// this was probably supposed to be:
// "cLib_offsetPos(&current.pos, &current.pos, angle, &offsetPos)"
cLib_offsetPos(&offsetPos, &current.pos, angle, &offsetPos);
s8 roomNo = fopAcM_GetRoomNo(this);
mActorList[i] =
fopAcM_createChild(mEnemyProcName, fopAcM_GetID(this), mEnemyParams,
&current.pos, roomNo, &mEnemyAngle, NULL, -1, NULL);
&current.pos, fopAcM_GetRoomNo(this), &mEnemyAngle,
NULL, -1, NULL);
}
mActionMode++;
mKillCheckDelayTimer = 50;
@@ -285,4 +285,4 @@ extern actor_process_profile_definition g_profile_Obj_E_CREATE = {
0x40000,
fopAc_ACTOR_e,
fopAc_CULLBOX_CUSTOM_e,
};
};
+7 -11
View File
@@ -121,12 +121,10 @@ int daObjFPillar2_c::Create() {
fopAcM_SetMtx(this, mMtx);
mSoundObj.init(&mSoundPos, 1);
if (getKind() == KIND_PIPE_FIRE) {
s32 roomNo = fopAcM_GetRoomNo(this);
field_0x980 = dComIfGp_particle_set(0x84df, &current.pos, &current.angle, 0, 0xff, 0,
roomNo, 0, 0, 0);
roomNo = fopAcM_GetRoomNo(this);
fopAcM_GetRoomNo(this), 0, 0, 0);
field_0x984 = dComIfGp_particle_set(0x84e0, &current.pos, &current.angle, 0, 0xff, 0,
roomNo, 0, 0, 0);
fopAcM_GetRoomNo(this), 0, 0, 0);
}
actionOffInit();
return 1;
@@ -322,16 +320,15 @@ void daObjFPillar2_c::actionOff() {
void daObjFPillar2_c::actionOnWaitInit() {
if (getKind() == KIND_PIPE_FIRE) {
for (int i = 0; i < 3; i++) {
s32 roomNo = fopAcM_GetRoomNo(this);
mPipeFireEmitters[i] = dComIfGp_particle_set(
l_pipe_fire_id[i], &current.pos, &current.angle, 0, 0xff, 0, roomNo, 0, 0, 0);
mPipeFireEmitters[i] = dComIfGp_particle_set(l_pipe_fire_id[i], &current.pos,
&current.angle, 0, 0xff, 0,
fopAcM_GetRoomNo(this), 0, 0, 0);
}
} else {
if (getKind() == KIND_MAGMA_POLE) {
for (int i = 0; i < 3; i++) {
s32 roomNo = fopAcM_GetRoomNo(this);
dComIfGp_particle_set(l_yogan_foot_id[i], &current.pos, &current.angle,
&mYoganScale, 0xff, 0, roomNo, 0, 0, 0);
&mYoganScale, 0xff, 0, fopAcM_GetRoomNo(this), 0, 0, 0);
}
}
}
@@ -373,10 +370,9 @@ void daObjFPillar2_c::actionOnWait() {
void daObjFPillar2_c::actionOnInit() {
if (getKind() == KIND_MAGMA_POLE) {
for (int i = 0; i < 3; i++) {
s32 roomNo = fopAcM_GetRoomNo((fopAc_ac_c*)this);
mMagmaPoleEmitters[i] = dComIfGp_particle_set(
l_yogan_head_id[getSize()][i],
&current.pos, &current.angle, 0, 0xff, 0, roomNo, 0, 0, 0);
&current.pos, &current.angle, 0, 0xff, 0, fopAcM_GetRoomNo(this), 0, 0, 0);
if (mMagmaPoleEmitters[i] != NULL) {
mMagmaPoleEmitters[i]->becomeImmortalEmitter();
mMagmaPoleEmitters[i]->setGlobalRTMatrix(mModel->getAnmMtx(0));
+2 -3
View File
@@ -12,8 +12,7 @@ int daObjGraWall_c::Create() {
field_0x6e0 = fopAcM_GetParam(this);
if (field_0x6e0 != 0xff) {
int roomNo = fopAcM_GetRoomNo(this);
if (dComIfGs_isSwitch(field_0x6e0, roomNo) != 0) {
if (dComIfGs_isSwitch(field_0x6e0, fopAcM_GetRoomNo(this)) != 0) {
return cPhs_ERROR_e;
}
} else {
@@ -129,4 +128,4 @@ extern actor_process_profile_definition g_profile_GRA_WALL = {
0x40000,
fopAc_ACTOR_e,
fopAc_CULLBOX_CUSTOM_e,
};
};
+15 -17
View File
@@ -13,25 +13,23 @@
#include "m_Do/m_Do_lib.h"
#include "SSystem/SComponent/c_math.h"
/* ############################################################################################## */
/* 805814AC-805814F0 000000 0044+00 10/10 0/0 0/0 .rodata ccCylSrc$3773 */
const static dCcD_SrcCyl ccCylSrc = {
{
{0x0, {{0x0, 0x0, 0x0}, {0x100000, 0x1f}, 0x11}}, // mObj
{dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt
{dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg
{0x0}, // mGObjCo
}, // mObjInf
{
{0.0f, 0.0f, 0.0f}, // mCenter
110.0f, // mRadius
158.0f // mHeight
} // mCyl
};
/* 8057F9B8-8057FA18 000078 0060+00 1/1 0/0 0/0 .text initCcCylinder__13daObjHHASHI_cFv
*/
void daObjHHASHI_c::initCcCylinder() {
const static dCcD_SrcCyl ccCylSrc = {
{
{0x0, {{0x0, 0x0, 0x0}, {0x100000, 0x1f}, 0x11}}, // mObj
{dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt
{dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg
{0x0}, // mGObjCo
}, // mObjInf
{
{0.0f, 0.0f, 0.0f}, // mCenter
110.0f, // mRadius
158.0f // mHeight
} // mCyl
};
mStts.Init(0xff, 0xff, this);
mCyl.Set(ccCylSrc);
mCyl.SetStts(&mStts);
@@ -429,4 +427,4 @@ extern actor_process_profile_definition g_profile_Obj_HHASHI = {
fopAc_CULLBOX_CUSTOM_e, // cullType
};
/* 805815AC-805815AC 000100 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
/* 805815AC-805815AC 000100 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
+67 -548
View File
@@ -5,237 +5,14 @@
#include "d/actor/d_a_obj_movebox.h"
#include "SSystem/SComponent/c_math.h"
#include "Z2AudioLib/Z2Instances.h"
#include "d/actor/d_a_player.h"
#include "d/d_path.h"
#include "dol2asm.h"
#include "d/actor/d_a_obj_burnbox.h"
#include "d/actor/d_a_obj_eff.h"
//
// Forward References:
//
UNK_REL_DATA
extern "C" void __ct__Q212daObjMovebox5Bgc_cFv();
extern "C" void __dt__4cXyzFv();
extern "C" void __ct__4cXyzFv();
extern "C" void
gnd_pos__Q212daObjMovebox5Bgc_cFPCQ212daObjMovebox5Act_cPCQ212daObjMovebox8BgcSrc_cif();
extern "C" void wrt_pos__Q212daObjMovebox5Bgc_cFRC4cXyz();
extern "C" void
wall_pos__Q212daObjMovebox5Bgc_cFPCQ212daObjMovebox5Act_cPCQ212daObjMovebox8BgcSrc_cisf();
extern "C" void proc_vertical__Q212daObjMovebox5Bgc_cFPQ212daObjMovebox5Act_c();
extern "C" void
chk_wall_pre__Q212daObjMovebox5Bgc_cFPCQ212daObjMovebox5Act_cPCQ212daObjMovebox8BgcSrc_cis();
extern "C" void
chk_wall_touch__Q212daObjMovebox5Bgc_cFPCQ212daObjMovebox5Act_cPCQ212daObjMovebox8BgcSrc_cs();
extern "C" void
chk_wall_touch2__Q212daObjMovebox5Bgc_cFPCQ212daObjMovebox5Act_cPCQ212daObjMovebox8BgcSrc_cis();
extern "C" void prm_get_swSave1__Q212daObjMovebox5Act_cCFv();
extern "C" void prmZ_init__Q212daObjMovebox5Act_cFv();
extern "C" void prmX_init__Q212daObjMovebox5Act_cFv();
extern "C" void attr__Q212daObjMovebox5Act_cCFv();
extern "C" void set_mtx__Q212daObjMovebox5Act_cFv();
extern "C" void init_mtx__Q212daObjMovebox5Act_cFv();
extern "C" void path_init__Q212daObjMovebox5Act_cFv();
extern "C" void path_save__Q212daObjMovebox5Act_cFv();
extern "C" void CreateHeap__Q212daObjMovebox5Act_cFv();
extern "C" void RideCallBack__Q212daObjMovebox5Act_cFP4dBgWP10fopAc_ac_cP10fopAc_ac_c();
extern "C" void
PPCallBack__Q212daObjMovebox5Act_cFP10fopAc_ac_cP10fopAc_ac_csQ29dBgW_Base13PushPullLabel();
extern "C" void Create__Q212daObjMovebox5Act_cFv();
extern "C" void afl_sway__Q212daObjMovebox5Act_cFv();
extern "C" void check_to_walk__Q212daObjMovebox5Act_cFv();
extern "C" void clr_moment_cnt__Q212daObjMovebox5Act_cFv();
extern "C" void chk_appear__Q212daObjMovebox5Act_cCFv();
extern "C" void eff_smoke_slip_start__Q212daObjMovebox5Act_cFv();
extern "C" void mode_wait_init__Q212daObjMovebox5Act_cFv();
extern "C" void mode_wait__Q212daObjMovebox5Act_cFv();
extern "C" void mode_walk_init__Q212daObjMovebox5Act_cFv();
extern "C" void mode_walk__Q212daObjMovebox5Act_cFv();
extern "C" void mode_afl_init__Q212daObjMovebox5Act_cFv();
extern "C" void mode_afl__Q212daObjMovebox5Act_cFv();
extern "C" void __dt__14dBgS_ObjGndChkFv();
extern "C" void sound_slip__Q212daObjMovebox5Act_cFv();
extern "C" void sound_limit__Q212daObjMovebox5Act_cFv();
extern "C" void sound_land__Q212daObjMovebox5Act_cFv();
extern "C" void vib_land__Q212daObjMovebox5Act_cFv();
extern "C" void eff_land_smoke__Q212daObjMovebox5Act_cFv();
extern "C" void Execute__Q212daObjMovebox5Act_cFPPA3_A4_f();
extern "C" void Draw__Q212daObjMovebox5Act_cFv();
extern "C" void __dt__8cM3dGPlaFv();
extern "C" void Delete__Q212daObjMovebox5Act_cFv();
extern "C" static void func_80480920();
extern "C" void __dt__8cM3dGCylFv();
extern "C" void __dt__8cM3dGAabFv();
extern "C" void __dt__10dCcD_GSttsFv();
extern "C" static void func_80480BC0();
extern "C" static void func_80480C18();
extern "C" static void func_80480C38();
extern "C" static void func_80480C64();
extern "C" void __dt__10cCcD_GSttsFv();
extern "C" void func_80480CD8(void* _this, fopAc_ac_c const*, daObjMovebox::Act_c::Prm_e,
daObjMovebox::Act_c::Prm_e);
extern "C" void __sinit_d_a_obj_movebox_cpp();
extern "C" void func_80480DA0();
extern "C" void __dt__11dBgS_WtrChkFv();
extern "C" void func_80480E50();
extern "C" void __ct__14dBgS_ObjGndChkFv();
extern "C" static void func_80480EE4();
extern "C" static void func_80480EEC();
extern "C" static void func_80480EF4();
extern "C" static void func_80480EFC();
extern "C" static void func_80480F04();
extern "C" static void func_80480F0C();
extern "C" u8 const M_lin5__Q212daObjMovebox5Bgc_c[80];
extern "C" u8 const M_lin20__Q212daObjMovebox5Bgc_c[368];
extern "C" void* const M_arcname__Q212daObjMovebox5Act_c[8];
extern "C" u8 const M_cyl_src__Q212daObjMovebox5Act_c[68];
extern "C" u8 const M_attr__Q212daObjMovebox5Act_c[1280];
extern "C" extern char const* const d_a_obj_movebox__stringBase0;
extern "C" u8 M_gnd_work__Q212daObjMovebox5Bgc_c[1932];
extern "C" u8 M_wrt_work__Q212daObjMovebox5Bgc_c[84];
extern "C" u8 M_wall_work__Q212daObjMovebox5Bgc_c[2576];
//
// External References:
//
extern "C" void mDoMtx_XrotS__FPA4_fs();
extern "C" void mDoMtx_XrotM__FPA4_fs();
extern "C" void mDoMtx_YrotS__FPA4_fs();
extern "C" void mDoMtx_YrotM__FPA4_fs();
extern "C" void transS__14mDoMtx_stack_cFRC4cXyz();
extern "C" void transM__14mDoMtx_stack_cFfff();
extern "C" void transM__14mDoMtx_stack_cFRC4cXyz();
extern "C" void scaleM__14mDoMtx_stack_cFfff();
extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz();
extern "C" void quatM__14mDoMtx_stack_cFPC10Quaternion();
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
extern "C" void fopAcM_delete__FP10fopAc_ac_c();
extern "C" void fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc();
extern "C" void fopAcM_createChild__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i();
extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff();
extern "C" void fopAcM_posMoveF__FP10fopAc_ac_cPC4cXyz();
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
extern "C" void dComIfGp_getReverb__Fi();
extern "C" void onSwitch__10dSv_info_cFii();
extern "C" void offSwitch__10dSv_info_cFii();
extern "C" void isSwitch__10dSv_info_cCFii();
extern "C" void posMoveF_stream__5daObjFP10fopAc_ac_cPC4cXyzPC4cXyzff();
extern "C" void quat_rotBaseY__5daObjFP10QuaternionRC4cXyz();
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
extern "C" void getRes__14dRes_control_cFPCcPCcP11dRes_info_ci();
extern "C" void
setModel__18dPa_modelEcallBackFP14JPABaseEmitterP12J3DModelDataRC12dKy_tevstr_cUcPvUcUc();
extern "C" void
set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
extern "C" void dPath_GetPnt__FPC5dPathi();
extern "C" void dPath_GetRoomPath__Fii();
extern "C" void setSimple__21dDlst_shadowControl_cFP4cXyzffP4cXyzsfP9_GXTexObj();
extern "C" void StartShock__12dVibration_cFii4cXyz();
extern "C" void LineCross__4cBgSFP11cBgS_LinChk();
extern "C" void GroundCross__4cBgSFP11cBgS_GndChk();
extern "C" void GetActorPointer__4cBgSCFi();
extern "C" void GetTriPla__4cBgSCFRC13cBgS_PolyInfoP8cM3dGPla();
extern "C" void GetPolyColor__4dBgSFRC13cBgS_PolyInfo();
extern "C" void SplGrpChk__4dBgSFP14dBgS_SplGrpChk();
extern "C" void dBgS_MoveBGProc_Typical__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz();
extern "C" void dBgS_MoveBGProc_Trans__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz();
extern "C" void RideCallBack__4dBgSFRC13cBgS_PolyInfoP10fopAc_ac_c();
extern "C" void __ct__11dBgS_GndChkFv();
extern "C" void __dt__11dBgS_GndChkFv();
extern "C" void Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c();
extern "C" void __ct__14dBgS_ObjLinChkFv();
extern "C" void __dt__14dBgS_ObjLinChkFv();
extern "C" void __ct__16dBgS_MoveBgActorFv();
extern "C" bool IsDelete__16dBgS_MoveBgActorFv();
extern "C" bool ToFore__16dBgS_MoveBgActorFv();
extern "C" bool ToBack__16dBgS_MoveBgActorFv();
extern "C" void
MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUlPA3_A4_f();
extern "C" void MoveBGDelete__16dBgS_MoveBgActorFv();
extern "C" void MoveBGExecute__16dBgS_MoveBgActorFv();
extern "C" void Set__14dBgS_SplGrpChkFR4cXyzf();
extern "C" void __dt__14dBgS_SplGrpChkFv();
extern "C" void SetObj__16dBgS_PolyPassChkFv();
extern "C" void __ct__11dBgS_WtrChkFv();
extern "C" void Move__4dBgWFv();
extern "C" void GetAc__22dCcD_GAtTgCoCommonBaseFv();
extern "C" void __ct__10dCcD_GSttsFv();
extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c();
extern "C" void __ct__12dCcD_GObjInfFv();
extern "C" void ChkTgHit__12dCcD_GObjInfFv();
extern "C" void GetTgHitGObj__12dCcD_GObjInfFv();
extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl();
extern "C" void MoveCTg__8dCcD_CylFR4cXyz();
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
extern "C" void dKy_pol_sound_get__FPC13cBgS_PolyInfo();
extern "C" void Set__4cCcSFP8cCcD_Obj();
extern "C" void __pl__4cXyzCFRC3Vec();
extern "C" void cM_rnd__Fv();
extern "C" void SetPos__11cBgS_GndChkFPC4cXyz();
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
extern "C" void __dl__FPv();
extern "C" void __destroy_arr();
extern "C" void __construct_array();
extern "C" void __ptmf_scall();
extern "C" void _savegpr_15();
extern "C" void _savegpr_20();
extern "C" void _savegpr_24();
extern "C" void _savegpr_25();
extern "C" void _savegpr_26();
extern "C" void _savegpr_27();
extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
extern "C" void _restgpr_15();
extern "C" void _restgpr_20();
extern "C" void _restgpr_24();
extern "C" void _restgpr_25();
extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern void* __vt__8dCcD_Cyl[36];
extern "C" extern void* __vt__9dCcD_Stts[11];
extern "C" extern void* __vt__12cCcD_CylAttr[25];
extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
extern "C" extern void* __vt__9cCcD_Stts[8];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" f32 Zero__4cXyz[3];
extern "C" u8 BaseY__4cXyz[12];
extern "C" u8 sincosTable___5JMath[65536];
extern "C" u8 mEcallback__18dPa_modelEcallBack[4];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
extern "C" void* M_dir_base__Q212daObjMovebox5Act_c[2];
extern "C" void __register_global_object();
//
// Declarations:
//
/* 80481704-80481710 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 80481710-80481724 00000C 0004+10 0/0 0/0 0/0 .data @1787 */
#pragma push
#pragma force_active on
SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = {
0x02000201,
/* padding */
0x40080000,
0x00000000,
0x3FE00000,
0x00000000,
};
#pragma pop
/* ############################################################################################## */
/* 80480F28-80480F78 000000 0050+00 14/14 0/0 0/0 .rodata M_lin5__Q212daObjMovebox5Bgc_c */
const daObjMovebox::BgcSrc_c daObjMovebox::Bgc_c::M_lin5[] = {
{0.0f, 0.0f, 0.0f, 0.0f}, {-0.5f, -0.5f, 1.0f, 1.0f}, {0.5f, -0.5f, -1.0f, 1.0f},
@@ -243,7 +20,7 @@ const daObjMovebox::BgcSrc_c daObjMovebox::Bgc_c::M_lin5[] = {
};
/* 80480F78-804810E8 000050 0170+00 0/4 0/0 0/0 .rodata M_lin20__Q212daObjMovebox5Bgc_c */
SECTION_RODATA const daObjMovebox::BgcSrc_c daObjMovebox::Bgc_c::M_lin20[] = {
const daObjMovebox::BgcSrc_c daObjMovebox::Bgc_c::M_lin20[] = {
{0.0f, 0.0f, 0.0f, 0.0f}, {-0.25f, -0.25f, 0.0f, 0.0f}, {-0.5f, -0.5f, 1.0f, 1.0f},
{0.0f, -0.5f, -1.0f, 1.0f}, {0.0f, 0.0f, -1.0f, -1.0f}, {-0.5f, 0.0f, 1.0f, -1.0f},
{0.25f, -0.25f, 0.0f, 0.0f}, {0.0f, -0.5f, 1.0f, 1.0f}, {0.5f, -0.5f, -1.0f, 1.0f},
@@ -268,98 +45,22 @@ daObjMovebox::Bgc_c::Bgc_c() {
mState = STATE_0_e;
}
/* 80481888-8048188C 000008 0001+03 4/4 0/0 0/0 .bss @1109 */
static u8 lit_1109[1 + 3 /* padding */];
/* 8048188C-80481890 00000C 0001+03 0/0 0/0 0/0 .bss @1107 */
#pragma push
#pragma force_active on
static u8 lit_1107[1 + 3 /* padding */];
#pragma pop
/* 80481890-80481894 000010 0001+03 0/0 0/0 0/0 .bss @1105 */
#pragma push
#pragma force_active on
static u8 lit_1105[1 + 3 /* padding */];
#pragma pop
/* 80481894-80481898 000014 0001+03 0/0 0/0 0/0 .bss @1104 */
#pragma push
#pragma force_active on
static u8 lit_1104[1 + 3 /* padding */];
#pragma pop
/* 80481898-8048189C 000018 0001+03 0/0 0/0 0/0 .bss @1099 */
#pragma push
#pragma force_active on
static u8 lit_1099[1 + 3 /* padding */];
#pragma pop
/* 8048189C-804818A0 00001C 0001+03 0/0 0/0 0/0 .bss @1097 */
#pragma push
#pragma force_active on
static u8 lit_1097[1 + 3 /* padding */];
#pragma pop
/* 804818A0-804818A4 000020 0001+03 0/0 0/0 0/0 .bss @1095 */
#pragma push
#pragma force_active on
static u8 lit_1095[1 + 3 /* padding */];
#pragma pop
/* 804818A4-804818A8 000024 0001+03 0/0 0/0 0/0 .bss @1094 */
#pragma push
#pragma force_active on
static u8 lit_1094[1 + 3 /* padding */];
#pragma pop
/* 804818A8-804818AC 000028 0001+03 0/0 0/0 0/0 .bss @1057 */
#pragma push
#pragma force_active on
static u8 lit_1057[1 + 3 /* padding */];
#pragma pop
/* 804818AC-804818B0 00002C 0001+03 0/0 0/0 0/0 .bss @1055 */
#pragma push
#pragma force_active on
static u8 lit_1055[1 + 3 /* padding */];
#pragma pop
/* 804818B0-804818B4 000030 0001+03 0/0 0/0 0/0 .bss @1053 */
#pragma push
#pragma force_active on
static u8 lit_1053[1 + 3 /* padding */];
#pragma pop
/* 804818B4-804818B8 000034 0001+03 0/0 0/0 0/0 .bss @1052 */
#pragma push
#pragma force_active on
static u8 lit_1052[1 + 3 /* padding */];
#pragma pop
/* 804818B8-804818BC 000038 0001+03 0/0 0/0 0/0 .bss @1014 */
#pragma push
#pragma force_active on
static u8 lit_1014[1 + 3 /* padding */];
#pragma pop
/* 804818BC-804818C0 00003C 0001+03 0/0 0/0 0/0 .bss @1012 */
#pragma push
#pragma force_active on
static u8 lit_1012[1 + 3 /* padding */];
#pragma pop
/* 804818C0-804818C4 000040 0001+03 0/0 0/0 0/0 .bss @1010 */
#pragma push
#pragma force_active on
static u8 lit_1010[1 + 3 /* padding */];
#pragma pop
/* 804818C4-804818C8 000044 0001+03 0/0 0/0 0/0 .bss @1009 */
#pragma push
#pragma force_active on
static u8 lit_1009[1 + 3 /* padding */];
#pragma pop
UNK_BSS(1109)
UNK_BSS(1107)
UNK_BSS(1105)
UNK_BSS(1104)
UNK_BSS(1099)
UNK_BSS(1097)
UNK_BSS(1095)
UNK_BSS(1094)
UNK_BSS(1057)
UNK_BSS(1055)
UNK_BSS(1053)
UNK_BSS(1052)
UNK_BSS(1014)
UNK_BSS(1012)
UNK_BSS(1010)
UNK_BSS(1009)
/* 804818D4-80482060 000054 078C+00 7/8 0/0 0/0 .bss M_gnd_work__Q212daObjMovebox5Bgc_c
*/
@@ -628,7 +329,7 @@ void daObjMovebox::Act_c::prmX_init() {
/* 80481104-80481124 -00001 0020+00 3/3 0/0 0/0 .rodata M_arcname__Q212daObjMovebox5Act_c
*/
SECTION_RODATA const char* const daObjMovebox::Act_c::M_arcname[8] = {
const char* const daObjMovebox::Act_c::M_arcname[8] = {
"Kkiba_00", "Osiblk", "H_Box20", "A_SMBlock", "P_Lv4blk", "P_Lv4blk2", "H_OsiHaka", "dummy4",
};
@@ -866,7 +567,6 @@ int daObjMovebox::Act_c::CreateHeap() {
/* 8047EBEC-8047ED10 0011EC 0124+00 1/1 0/0 0/0 .text
* RideCallBack__Q212daObjMovebox5Act_cFP4dBgWP10fopAc_ac_cP10fopAc_ac_c */
void daObjMovebox::Act_c::RideCallBack(dBgW* i_bgw, fopAc_ac_c* i_actor, fopAc_ac_c* i_rideActor) {
i_bgw; // affects stack
Act_c* a_this = (Act_c*)i_actor;
if (a_this->field_0x5ac == 2) {
@@ -1039,6 +739,7 @@ int daObjMovebox::Act_c::Create() {
/* 8047F11C-8047F38C 00171C 0270+00 1/1 0/0 0/0 .text afl_sway__Q212daObjMovebox5Act_cFv
*/
// NONMATCHING regalloc
void daObjMovebox::Act_c::afl_sway() {
f32 var_f31 = field_0x8c0 * field_0x8c0 + field_0x8c4 * field_0x8c4;
f32 var_f29 = i_attr().mMaxTiltPower * i_attr().mMaxTiltPower;
@@ -1046,19 +747,11 @@ void daObjMovebox::Act_c::afl_sway() {
const BgcSrc_c* pbgc = i_attr().field_0x9e ? mBgc.M_lin20 : mBgc.M_lin5;
int check_num = i_attr().field_0x9e ? 21 : 5;
bool var_r22 = true;
if (!mBgc.chk_wall_touch2(this, pbgc, check_num, M_dir_base[0]) &&
!mBgc.chk_wall_touch2(this, pbgc, check_num, M_dir_base[2]))
{
var_r22 = false;
}
bool var_r22 = mBgc.chk_wall_touch2(this, pbgc, check_num, M_dir_base[0]) ||
mBgc.chk_wall_touch2(this, pbgc, check_num, M_dir_base[2]);
bool var_r21 = true;
if (!mBgc.chk_wall_touch2(this, pbgc, check_num, M_dir_base[1]) &&
!mBgc.chk_wall_touch2(this, pbgc, check_num, M_dir_base[3]))
{
var_r21 = false;
}
bool var_r21 = mBgc.chk_wall_touch2(this, pbgc, check_num, M_dir_base[1]) ||
mBgc.chk_wall_touch2(this, pbgc, check_num, M_dir_base[3]);
if (var_f31 > var_f29) {
f32 var_f30 = i_attr().mMaxTiltPower / JMAFastSqrt(var_f31);
@@ -1066,16 +759,13 @@ void daObjMovebox::Act_c::afl_sway() {
field_0x8c4 *= var_f30;
}
f32 var_f24 = field_0x8c8 - field_0x8c0;
f32 var_f23 = field_0x8cc - field_0x8c4;
f32 var_f28 = i_attr().mTiltSpringFactor * -(field_0x8c8 - field_0x8c0);
f32 var_f27 = i_attr().mTiltSpringFactor * -(field_0x8cc - field_0x8c4);
f32 var_f26 = -field_0x8d0 * i_attr().mTiltViscoscityResistance;
f32 var_f25 = -field_0x8d4 * i_attr().mTiltViscoscityResistance;
f32 var_f28 = i_attr().mTiltSpringFactor * -var_f24;
f32 var_f27 = i_attr().mTiltSpringFactor * -var_f23;
f32 var_f26 = field_0x8d0 * -i_attr().mTiltViscoscityResistance;
f32 var_f25 = field_0x8d4 * -i_attr().mTiltViscoscityResistance;
field_0x8d0 += var_f28 * var_f26;
field_0x8d4 += var_f27 * var_f25;
field_0x8d0 += var_f28 + var_f26;
field_0x8d4 += var_f27 + var_f25;
field_0x8c8 += field_0x8d0;
field_0x8cc += field_0x8d4;
@@ -1295,7 +985,7 @@ void daObjMovebox::Act_c::mode_walk() {
/* 8047FCBC-8047FCE4 0022BC 0028+00 1/1 0/0 0/0 .text mode_afl_init__Q212daObjMovebox5Act_cFv */
void daObjMovebox::Act_c::mode_afl_init() {
fopAcM_SetSpeedF(this, 0.0f);
mpBgW->SetCrrFunc(dBgS_MoveBGProc_Trans);
mpBgW->SetCrrFunc(dBgS_MoveBGProc_Typical);
field_0x5ac = 2;
}
@@ -1304,22 +994,37 @@ void daObjMovebox::Act_c::mode_afl_init() {
void daObjMovebox::Act_c::mode_afl() {
f32 var_f31;
f32 var_f30 = current.pos.y - mBgc.field_0x60;
if (var_f30 > 0.0f) {
if (var_f30 >= 0.0f) {
var_f31 = 0.0f;
} else if (var_f30 > -i_attr().field_0x68) {
} else if (var_f30 <= -i_attr().field_0x68) {
var_f31 = 1.0f;
} else {
var_f31 = -var_f30 * i_attr().field_0x6c;
}
field_0x8b8 += i_attr().mWaterOscillationAngleSpeed * (cM_rnd() + 1.0f);
fopAcM_SetGravity(this, field_0x8bc + var_f31 * i_attr().mBuoyancy +
i_attr().mGravity * cM_ssin(field_0x8b8));
field_0x8b8 += (s16)(i_attr().mWaterOscillationAngleSpeed * (cM_rnd() + 1.0f));
fopAcM_SetGravity(this, var_f31 * i_attr().mBuoyancy + i_attr().mGravity +
i_attr().mWaterOscillationAccel * cM_ssin(field_0x8b8) + field_0x8bc);
field_0x8bc = 0.0f;
if (cLib_checkBit<daObjMovebox::Bgc_c::State_e>(mBgc.mState, daObjMovebox::Bgc_c::STATE_1_e)) {
if (!cLib_checkBit<daObjMovebox::Bgc_c::State_e>(mBgc.mState, daObjMovebox::Bgc_c::STATE_1_e)) {
afl_sway();
}
f32 tmp = 1.0f - var_f31;
f32 viscosity_resistance = var_f31 * i_attr().mWaterViscoscityResistance
+ tmp * i_attr().mViscosityResistance;
f32 inertia_resistance = var_f31 * i_attr().mWaterInertiaResistance
+ tmp * i_attr().mInertiaResistance;
field_0x8d8 = mBgc.field_0x60 - current.pos.y;
if (field_0x8d8 < 0.0f) {
field_0x8d8 = 0.0f;
} else if (field_0x8d8 > i_attr().field_0x68) {
field_0x8d8 = i_attr().field_0x68;
}
daObj::posMoveF_stream(this, NULL, &cXyz::Zero, viscosity_resistance, inertia_resistance);
}
void daObjMovebox::Act_c::mode_proc_call() {
@@ -1358,7 +1063,7 @@ void daObjMovebox::Act_c::sound_limit() {
}
}
mDoAud_seStartLevel(i_attr().field_0x80, &eyePos, var_r29, mReverb);
mDoAud_seStart(i_attr().field_0x80, &eyePos, var_r29, mReverb);
}
/* 804800E4-804801A8 0026E4 00C4+00 1/1 0/0 0/0 .text sound_land__Q212daObjMovebox5Act_cFv */
@@ -1372,7 +1077,7 @@ void daObjMovebox::Act_c::sound_land() {
}
}
mDoAud_seStartLevel(i_attr().field_0x84, &eyePos, var_r29, mReverb);
mDoAud_seStart(i_attr().field_0x84, &eyePos, var_r29, mReverb);
}
/* 804801A8-804801FC 0027A8 0054+00 1/1 0/0 0/0 .text vib_land__Q212daObjMovebox5Act_cFv
@@ -1381,207 +1086,20 @@ void daObjMovebox::Act_c::vib_land() {
dComIfGp_getVibration().StartShock(4, 31, cXyz(0.0f, 1.0f, 0.0f));
}
/* 8048168C-80481690 000764 0004+00 0/0 0/0 0/0 .rodata @4774 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4774 = 2.0f;
COMPILER_STRIP_GATE(0x8048168C, &lit_4774);
#pragma pop
/* 80481690-80481694 000768 0004+00 0/0 0/0 0/0 .rodata @4775 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4775 = 75.0f;
COMPILER_STRIP_GATE(0x80481690, &lit_4775);
#pragma pop
f32 dummy_literal(f32 x) {
return x + 75.0f + 2.0f;
}
/* 804801FC-8048027C 0027FC 0080+00 1/1 0/0 0/0 .text eff_land_smoke__Q212daObjMovebox5Act_cFv */
void daObjMovebox::Act_c::eff_land_smoke() {
daObjEff::Act_c::make_land_smoke(&current.pos, i_attr().mLandSmokeScale);
}
/* 80482BDC-80482BEC 00135C 000C+04 0/0 0/0 0/0 .bss @4762 */
#pragma push
#pragma force_active on
static u8 lit_4762[12 + 4 /* padding */];
#pragma pop
void dummy_static() {
static cXyz particle_scale;
}
/* 80482BEC-80482BF8 00136C 000C+00 0/0 0/0 0/0 .bss particle_scale$4761 */
#pragma push
#pragma force_active on
static u8 particle_scale[12];
#pragma pop
/* 80482BF8-80482BFC 001378 0004+00 0/0 0/0 0/0 .bss
* sInstance__40JASGlobalInstance<19JASDefaultBankTable> */
#pragma push
#pragma force_active on
static u8 data_80482BF8[4];
#pragma pop
/* 80482BFC-80482C00 00137C 0004+00 0/0 0/0 0/0 .bss
* sInstance__35JASGlobalInstance<14JASAudioThread> */
#pragma push
#pragma force_active on
static u8 data_80482BFC[4];
#pragma pop
/* 80482C00-80482C04 001380 0004+00 0/0 0/0 0/0 .bss sInstance__27JASGlobalInstance<7Z2SeMgr> */
#pragma push
#pragma force_active on
static u8 data_80482C00[4];
#pragma pop
/* 80482C04-80482C08 001384 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8Z2SeqMgr> */
#pragma push
#pragma force_active on
static u8 data_80482C04[4];
#pragma pop
/* 80482C08-80482C0C 001388 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SceneMgr>
*/
#pragma push
#pragma force_active on
static u8 data_80482C08[4];
#pragma pop
/* 80482C0C-80482C10 00138C 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2StatusMgr>
*/
#pragma push
#pragma force_active on
static u8 data_80482C0C[4];
#pragma pop
/* 80482C10-80482C14 001390 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2DebugSys>
*/
#pragma push
#pragma force_active on
static u8 data_80482C10[4];
#pragma pop
/* 80482C14-80482C18 001394 0004+00 0/0 0/0 0/0 .bss
* sInstance__36JASGlobalInstance<15JAISoundStarter> */
#pragma push
#pragma force_active on
static u8 data_80482C14[4];
#pragma pop
/* 80482C18-80482C1C 001398 0004+00 0/0 0/0 0/0 .bss
* sInstance__35JASGlobalInstance<14Z2SoundStarter> */
#pragma push
#pragma force_active on
static u8 data_80482C18[4];
#pragma pop
/* 80482C1C-80482C20 00139C 0004+00 0/0 0/0 0/0 .bss
* sInstance__33JASGlobalInstance<12Z2SpeechMgr2> */
#pragma push
#pragma force_active on
static u8 data_80482C1C[4];
#pragma pop
/* 80482C20-80482C24 0013A0 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8JAISeMgr> */
#pragma push
#pragma force_active on
static u8 data_80482C20[4];
#pragma pop
/* 80482C24-80482C28 0013A4 0004+00 0/0 0/0 0/0 .bss sInstance__29JASGlobalInstance<9JAISeqMgr> */
#pragma push
#pragma force_active on
static u8 data_80482C24[4];
#pragma pop
/* 80482C28-80482C2C 0013A8 0004+00 0/0 0/0 0/0 .bss
* sInstance__33JASGlobalInstance<12JAIStreamMgr> */
#pragma push
#pragma force_active on
static u8 data_80482C28[4];
#pragma pop
/* 80482C2C-80482C30 0013AC 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SoundMgr>
*/
#pragma push
#pragma force_active on
static u8 data_80482C2C[4];
#pragma pop
/* 80482C30-80482C34 0013B0 0004+00 0/0 0/0 0/0 .bss
* sInstance__33JASGlobalInstance<12JAISoundInfo> */
#pragma push
#pragma force_active on
static u8 data_80482C30[4];
#pragma pop
/* 80482C34-80482C38 0013B4 0004+00 0/0 0/0 0/0 .bss
* sInstance__34JASGlobalInstance<13JAUSoundTable> */
#pragma push
#pragma force_active on
static u8 data_80482C34[4];
#pragma pop
/* 80482C38-80482C3C 0013B8 0004+00 0/0 0/0 0/0 .bss
* sInstance__38JASGlobalInstance<17JAUSoundNameTable> */
#pragma push
#pragma force_active on
static u8 data_80482C38[4];
#pragma pop
/* 80482C3C-80482C40 0013BC 0004+00 0/0 0/0 0/0 .bss
* sInstance__33JASGlobalInstance<12JAUSoundInfo> */
#pragma push
#pragma force_active on
static u8 data_80482C3C[4];
#pragma pop
/* 80482C40-80482C44 0013C0 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SoundInfo>
*/
#pragma push
#pragma force_active on
static u8 data_80482C40[4];
#pragma pop
/* 80482C44-80482C48 0013C4 0004+00 0/0 0/0 0/0 .bss
* sInstance__34JASGlobalInstance<13Z2SoundObjMgr> */
#pragma push
#pragma force_active on
static u8 data_80482C44[4];
#pragma pop
/* 80482C48-80482C4C 0013C8 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2Audience>
*/
#pragma push
#pragma force_active on
static u8 data_80482C48[4];
#pragma pop
/* 80482C4C-80482C50 0013CC 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2FxLineMgr>
*/
#pragma push
#pragma force_active on
static u8 data_80482C4C[4];
#pragma pop
/* 80482C50-80482C54 0013D0 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2EnvSeMgr>
*/
#pragma push
#pragma force_active on
static u8 data_80482C50[4];
#pragma pop
/* 80482C54-80482C58 0013D4 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SpeechMgr>
*/
#pragma push
#pragma force_active on
static u8 data_80482C54[4];
#pragma pop
/* 80482C58-80482C5C 0013D8 0004+00 0/0 0/0 0/0 .bss
* sInstance__34JASGlobalInstance<13Z2WolfHowlMgr> */
#pragma push
#pragma force_active on
static u8 data_80482C58[4];
#pragma pop
AUDIO_INSTANCES;
/* 8048027C-80480728 00287C 04AC+00 1/0 0/0 0/0 .text Execute__Q212daObjMovebox5Act_cFPPA3_A4_f */
int daObjMovebox::Act_c::Execute(Mtx** param_0) {
@@ -1612,10 +1130,9 @@ int daObjMovebox::Act_c::Execute(Mtx** param_0) {
(J3DModelData*)dComIfG_getObjectRes("Always", "BreakWoodBox.bmd");
JUT_ASSERT(kibako_bmd != 0);
s32 room_no = fopAcM_GetRoomNo(this);
JPABaseEmitter* emitter = dComIfGp_particle_set(
0x82AF, &sp48, NULL, NULL, 0xFF, &dPa_modelEcallBack::getEcallback(),
room_no, NULL, NULL, &scale);
fopAcM_GetRoomNo(this), NULL, NULL, &scale);
dPa_modelEcallBack::setModel(emitter, kibako_bmd, tevStr, 3, NULL, 0, 0);
for (int i = 0; i < 3; i++) {
@@ -1634,7 +1151,7 @@ int daObjMovebox::Act_c::Execute(Mtx** param_0) {
if (cLib_checkBit<daObjMovebox::Bgc_c::State_e>(mBgc.mState,
daObjMovebox::Bgc_c::STATE_20_e))
{
mDoAud_seStartLevel(i_attr().field_0x88, &eyePos, 0, mReverb);
mDoAud_seStart(i_attr().field_0x88, &eyePos, 0, mReverb);
}
if (field_0x5ac == 0) {
@@ -1750,6 +1267,8 @@ int daObjMovebox::Act_c::Mthd_Create() {
heap_size, NULL);
JUT_ASSERT((phase_state == cPhs_COMPLEATE_e) || (phase_state == cPhs_ERROR_e));
}
return phase_state;
}
int daObjMovebox::Act_c::Mthd_Delete() {
@@ -1814,4 +1333,4 @@ extern actor_process_profile_definition g_profile_Obj_Movebox = {
0x00040504, // mStatus
fopAc_ACTOR_e, // mActorType
fopAc_CULLBOX_CUSTOM_e, // cullType
};
};
+2 -3
View File
@@ -379,10 +379,9 @@ void daOnsTaru_c::breakEffSet() {
J3DModelData* kibako_bmd = (J3DModelData*)dComIfG_getObjectRes("Always", "BreakWoodBox.bmd");
JUT_ASSERT(0x310, kibako_bmd != 0);
s32 room_no = fopAcM_GetRoomNo(this);
JPABaseEmitter* emitter =
dComIfGp_particle_set(0x8A99, &pos, NULL, NULL, 0xFF, &dPa_modelEcallBack::getEcallback(),
room_no, NULL, NULL, &scale);
fopAcM_GetRoomNo(this), NULL, NULL, &scale);
if (emitter != NULL) {
dPa_modelEcallBack::setModel(emitter, kibako_bmd, tevStr, 3, NULL, 0, 0);
}
@@ -450,4 +449,4 @@ extern actor_process_profile_definition g_profile_Obj_OnsenTaru = {
0x00040020, // mStatus
fopAc_ACTOR_e, // mActorType
fopAc_CULLBOX_CUSTOM_e, // cullType
};
};
+2 -3
View File
@@ -136,8 +136,7 @@ static int daObj_Web1_Execute(obj_web1_class* i_this) {
i_this->mHitTimer--;
}
int roomNo = fopAcM_GetRoomNo(i_this);
i_this->mZ2SoundObj.framework(0, dComIfGp_getReverb(roomNo));
i_this->mZ2SoundObj.framework(0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this)));
if (i_this->mDeleteTimer != 0) {
if (i_this->mDeleteTimer == 1) {
@@ -343,4 +342,4 @@ extern actor_process_profile_definition g_profile_OBJ_WEB1 = {
0x40100,
fopAc_ACTOR_e,
fopAc_CULLBOX_CUSTOM_e,
};
};
+1 -1
View File
@@ -124,7 +124,7 @@ int daObjZraMark_c::CreateHeap() {
break;
}
s32 room_no = fopAcM_GetRoomNo(this);
s8 room_no = fopAcM_GetRoomNo(this);
if (!mHahenMngr.create(pos, room_no, color, var_r29, 0)) {
// "------------------Fragment Generation Error\n"
OS_REPORT("------------------破片生成ミス\n");
+2 -3
View File
@@ -77,8 +77,7 @@ s32 daTagChgRestart_c::execute() {
restart_angle = entry_p->mAngle.y;
}
s32 l_roomNo = fopAcM_GetRoomNo(player);
dComIfGs_setRestartRoom(restart_pos, restart_angle, l_roomNo);
dComIfGs_setRestartRoom(restart_pos, restart_angle, fopAcM_GetRoomNo(player));
fopAcM_onSwitch(this, daTagChgRestart_prm::getSwNo(this));
}
@@ -131,4 +130,4 @@ extern actor_process_profile_definition g_profile_Tag_ChgRestart = {
0x40000, // mStatus
fopAc_ACTOR_e, // mActorType
fopAc_CULLBOX_CUSTOM_e, // cullType
};
};
+23 -183
View File
@@ -8,86 +8,6 @@
#include "d/actor/d_a_player.h"
#include "SSystem/SComponent/c_counter.h"
#include "string.h"
#include "dol2asm.h"
//
// Forward References:
//
extern "C" void create__12daTag_KMsg_cFv();
extern "C" void Delete__12daTag_KMsg_cFv();
extern "C" void Execute__12daTag_KMsg_cFv();
extern "C" bool Draw__12daTag_KMsg_cFv();
extern "C" void isDelete__12daTag_KMsg_cFv();
extern "C" static void daTag_KMsg_Create__FPv();
extern "C" static void daTag_KMsg_Delete__FPv();
extern "C" static void daTag_KMsg_Execute__FPv();
extern "C" static void daTag_KMsg_Draw__FPv();
extern "C" static bool daTag_KMsg_IsDelete__FPv();
extern "C" void __dt__12daTag_KMsg_cFv();
extern "C" extern char const* const d_a_tag_kmsg__stringBase0;
//
// External References:
//
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void __dt__10fopAc_ac_cFv();
extern "C" void fopAcM_delete__FP10fopAc_ac_c();
extern "C" void fopAcM_orderChangeEventId__FP10fopAc_ac_csUsUs();
extern "C" void fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs();
extern "C" void fopAcM_cancelCarryNow__FP10fopAc_ac_c();
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
extern "C" void isSwitch__10dSv_info_cCFii();
extern "C" void reset__14dEvt_control_cFv();
extern "C" void reset__14dEvt_control_cFPv();
extern "C" void setObjectArchive__16dEvent_manager_cFPc();
extern "C" void getEventIdx__16dEvent_manager_cFP10fopAc_ac_cPCcUc();
extern "C" void endCheck__16dEvent_manager_cFs();
extern "C" void getMyStaffId__16dEvent_manager_cFPCcP10fopAc_ac_ci();
extern "C" void cutEnd__16dEvent_manager_cFi();
extern "C" void LineCross__4cBgSFP11cBgS_LinChk();
extern "C" void __ct__11dBgS_LinChkFv();
extern "C" void __dt__11dBgS_LinChkFv();
extern "C" void Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c();
extern "C" void daNpcT_chkDoBtnIsSpeak__FP10fopAc_ac_c();
extern "C" void daNpcT_getDistTableIdx__Fii();
extern "C" void daNpcT_chkEvtBit__FUl();
extern "C" void __ct__10dMsgFlow_cFv();
extern "C" void __dt__10dMsgFlow_cFv();
extern "C" void init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c();
extern "C" void doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci();
extern "C" void __pl__4cXyzCFRC3Vec();
extern "C" void __mi__4cXyzCFRC3Vec();
extern "C" void __ml__4cXyzCFf();
extern "C" void norm__4cXyzCFv();
extern "C" void __ct__7cSAngleFs();
extern "C" void Sin__7cSAngleCFv();
extern "C" void Cos__7cSAngleCFv();
extern "C" void __dl__FPv();
extern "C" void _savegpr_25();
extern "C" void _restgpr_25();
//
// Declarations:
//
/* ############################################################################################## */
/* 8048EADC-8048EAE0 000000 0004+00 2/2 0/0 0/0 .rodata @3884 */
SECTION_RODATA static f32 const lit_3884 = 10.0f;
COMPILER_STRIP_GATE(0x8048EADC, &lit_3884);
/* 8048EAFC-8048EAFC 000020 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_8048EAFC = "";
SECTION_DEAD static char const* const stringBase_8048EAFD = "EXTINCTION";
SECTION_DEAD static char const* const stringBase_8048EB08 = "PURCHASE";
SECTION_DEAD static char const* const stringBase_8048EB11 = "Bans1";
SECTION_DEAD static char const* const stringBase_8048EB17 = "sekizoA";
SECTION_DEAD static char const* const stringBase_8048EB1F = "Lv6Gate";
#pragma pop
struct EventListItem {
char* mEventName;
@@ -95,48 +15,19 @@ struct EventListItem {
};
/* 8048EB2C-8048EB44 -00001 0018+00 1/1 0/0 0/0 .data l_evtList */
SECTION_DATA static EventListItem l_evtList[3] = {
static EventListItem l_evtList[3] = {
{"", 0},
{"EXTINCTION", 2},
{"PURCHASE", 1},
};
/* 8048EB44-8048EB50 -00001 000C+00 1/1 0/0 0/0 .data l_resNameList */
SECTION_DATA static char* l_resNameList[3] = {
static char* l_resNameList[3] = {
"",
"Bans1",
"sekizoA",
};
/* 8048EB50-8048EB70 -00001 0020+00 1/0 0/0 0/0 .data daTag_KMsg_MethodTable */
SECTION_DATA static void* daTag_KMsg_MethodTable[8] = {
(void*)daTag_KMsg_Create__FPv,
(void*)daTag_KMsg_Delete__FPv,
(void*)daTag_KMsg_Execute__FPv,
(void*)daTag_KMsg_IsDelete__FPv,
(void*)daTag_KMsg_Draw__FPv,
(void*)NULL,
(void*)NULL,
(void*)NULL,
};
/* 8048EB70-8048EBA0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_TAG_KMSG */
SECTION_DATA extern void* g_profile_TAG_KMSG[12] = {
(void*)0xFFFFFFFD, (void*)0x0008FFFD,
(void*)0x02EB0000, (void*)&g_fpcLf_Method,
(void*)0x000005CC, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x01220000, (void*)&daTag_KMsg_MethodTable,
(void*)0x00044000, (void*)0x000E0000,
};
/* 8048EBA0-8048EBAC 000074 000C+00 2/2 0/0 0/0 .data __vt__12daTag_KMsg_c */
SECTION_DATA extern void* __vt__12daTag_KMsg_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__12daTag_KMsg_cFv,
};
/* 8048DE78-8048DFDC 000078 0164+00 1/1 0/0 0/0 .text create__12daTag_KMsg_cFv */
int daTag_KMsg_c::create() {
attention_info.position = current.pos;
@@ -162,7 +53,6 @@ int daTag_KMsg_c::create() {
}
}
/* 8048DFDC-8048E010 0001DC 0034+00 1/1 0/0 0/0 .text Delete__12daTag_KMsg_cFv */
int daTag_KMsg_c::Delete() {
OS_REPORT("|%06d:%x|daTag_KMsg_c -> Delete\n", g_Counter, this);
@@ -171,57 +61,8 @@ int daTag_KMsg_c::Delete() {
return 1;
}
/* ############################################################################################## */
/* 8048EAE0-8048EAE4 000004 0004+00 0/1 0/0 0/0 .rodata @4206 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4206 = 1000000000.0f;
COMPILER_STRIP_GATE(0x8048EAE0, &lit_4206);
#pragma pop
/* 8048EAE4-8048EAE8 000008 0004+00 0/1 0/0 0/0 .rodata @4207 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4207 = -0.5f;
COMPILER_STRIP_GATE(0x8048EAE4, &lit_4207);
#pragma pop
/* 8048EAE8-8048EAEC 00000C 0004+00 0/1 0/0 0/0 .rodata @4208 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4208 = -20.0f;
COMPILER_STRIP_GATE(0x8048EAE8, &lit_4208);
#pragma pop
/* 8048EAEC-8048EAF4 000010 0004+04 0/1 0/0 0/0 .rodata @4209 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4209[1 + 1 /* padding */] = {
80.0f,
/* padding */
0.0f,
};
COMPILER_STRIP_GATE(0x8048EAEC, &lit_4209);
#pragma pop
/* 8048EAF4-8048EAFC 000018 0008+00 0/1 0/0 0/0 .rodata @4211 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_4211[8] = {
0x43, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x8048EAF4, &lit_4211);
#pragma pop
/* 8048EAFC-8048EAFC 000020 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_8048EB27 = "KMsg";
#pragma pop
/* 8048E010-8048E8B8 000210 08A8+00 1/1 0/0 0/0 .text Execute__12daTag_KMsg_cFv */
// Various issues: stack, getTalkAngle
#ifdef NONMATCHING
// NONMATCHING Various issues: stack, getTalkAngle
int daTag_KMsg_c::Execute() {
bool r28 = false;
if (home.roomNo == dComIfGp_roomControl_getStayNo()) {
@@ -346,19 +187,18 @@ int daTag_KMsg_c::Execute() {
cXyz vec60 = attention_info.position;
vec60.y += f31;
cXyz vec54;
cXyz vec9c;
vec54.x = vec60.x + 80.0f * angle.Sin();
vec54.y = vec60.y;
vec54.z = vec60.x + 80.0f * angle.Cos();
vec54.z = vec60.z + 80.0f * angle.Cos();
dBgS_LinChk lin_chk;
lin_chk.ClrSttsWallOff();
lin_chk.onBackFlag();
lin_chk.onFrontFlag();
lin_chk.Set(&vec54, &vec60, NULL);
if (dComIfG_Bgsp().LineCross(&lin_chk)) {
cXyz vec48;
cXyz vec30 = vec54 - vec60;
// !@bug If decompiled correctly, vec9c is uninitialized
cXyz vec48 = vec9c + vec30.norm() * 10.0f;
vec48 = lin_chk.i_GetCross() + vec30.norm() * 10.0f;
attention_info.position.x = vec48.x;
attention_info.position.z = vec48.z;
}
@@ -368,11 +208,6 @@ int daTag_KMsg_c::Execute() {
}
return 0;
}
#else
int daTag_KMsg_c::Execute() {
// NONMATCHING
}
#endif
/* 8048E8B8-8048E8C0 000AB8 0008+00 1/1 0/0 0/0 .text Draw__12daTag_KMsg_cFv */
int daTag_KMsg_c::Draw() {
@@ -380,7 +215,6 @@ int daTag_KMsg_c::Draw() {
}
/* 8048E8C0-8048E9A8 000AC0 00E8+00 2/2 0/0 0/0 .text isDelete__12daTag_KMsg_cFv */
#ifndef NONMATCHING
int daTag_KMsg_c::isDelete() {
switch(getType()) {
case KMSG_TYPE_0:
@@ -403,11 +237,6 @@ int daTag_KMsg_c::isDelete() {
return 0;
}
}
#else
int daTag_KMsg_c::isDelete() {
// NONMATCHING
}
#endif
/* 8048E9A8-8048E9C8 000BA8 0020+00 1/0 0/0 0/0 .text daTag_KMsg_Create__FPv */
static int daTag_KMsg_Create(void* i_this) {
@@ -434,10 +263,21 @@ static int daTag_KMsg_IsDelete(void* param_0) {
return 1;
}
/* 8048EA30-8048EAD4 000C30 00A4+00 1/0 0/0 0/0 .text __dt__12daTag_KMsg_cFv */
void __dt__12daTag_KMsg_cFv() {
//asm daTag_KMsg_c::~daTag_KMsg_c() {
// NONMATCHING
}
/* 8048EB50-8048EB70 -00001 0020+00 1/0 0/0 0/0 .data daTag_KMsg_MethodTable */
static void* daTag_KMsg_MethodTable[8] = {
(void*)daTag_KMsg_Create,
(void*)daTag_KMsg_Delete,
(void*)daTag_KMsg_Execute,
(void*)daTag_KMsg_IsDelete,
(void*)daTag_KMsg_Draw,
};
/* 8048EAFC-8048EAFC 000020 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
/* 8048EB70-8048EBA0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_TAG_KMSG */
extern void* g_profile_TAG_KMSG[12] = {
(void*)0xFFFFFFFD, (void*)0x0008FFFD,
(void*)0x02EB0000, (void*)&g_fpcLf_Method,
(void*)0x000005CC, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x01220000, (void*)&daTag_KMsg_MethodTable,
(void*)0x00044000, (void*)0x000E0000,
};
+2 -3
View File
@@ -75,8 +75,7 @@ int daTagRestart_c::execute() {
restart_pos.y = fopAcM_gc_c::getGroundY();
}
s32 player_roomNo = fopAcM_GetRoomNo(player);
dComIfGs_setRestartRoom(restart_pos, restart_angle, player_roomNo);
dComIfGs_setRestartRoom(restart_pos, restart_angle, fopAcM_GetRoomNo(player));
}
}
@@ -131,4 +130,4 @@ extern actor_process_profile_definition g_profile_Tag_Restart = {
0x40000,
fopAc_ACTOR_e,
fopAc_CULLBOX_CUSTOM_e,
};
};
+4 -4
View File
@@ -719,9 +719,8 @@ void daTbox_c::dropProc() {
mDoMtx_identity(field_0x988);
speedF = 0.0f;
cXyz vec1(2.0f, 2.0f, 2.0f);
s32 room_no = fopAcM_GetRoomNo(this);
dComIfGp_particle_setPolyColor(0xe7, mAcch.m_gnd, &current.pos, &tevStr, &home.angle,
&vec1, 0, NULL, room_no, NULL);
&vec1, 0, NULL, fopAcM_GetRoomNo(this), NULL);
dComIfGp_getVibration().StartShock(4, 0x1f, cXyz(0.0f, 1.0f, 0.0f));
u32 sound_id = 0;
cXyz vec2 = current.pos;
@@ -1247,7 +1246,8 @@ int daTbox_c::setGetDemoItem() {
}
/* 804946A4-804948CC 003A64 0228+00 11/0 0/0 0/0 .text actionOpenWait__8daTbox_cFv */
// nonmatching (regalloc)
// nonmatching -- matches if checkTreasureRupeeReturn has return type bool,
// but that breaks daAlink_c::procCoGetItem
int daTbox_c::actionOpenWait() {
daMidna_c* midna = daPy_py_c::getMidnaActor();
daPy_py_c* player = daPy_getPlayerActorClass();
@@ -1720,4 +1720,4 @@ extern actor_process_profile_definition g_profile_TBOX = {
0x44100,
fopAc_ACTOR_e,
fopAc_CULLBOX_CUSTOM_e,
};
};
+63 -591
View File
@@ -6,125 +6,37 @@
#include "d/actor/d_a_ykgr.h"
#include "f_op/f_op_actor.h"
#include "f_op/f_op_actor_mng.h"
#include "dol2asm.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "Z2AudioLib/Z2Instances.h"
//
// Forward References:
//
inline daYkgr_HIO_c::daYkgr_HIO_c() {
field_0x4 = 0;
field_0x8 = 0xff;
field_0xc = 3;
field_0x10 = -16.0f;
field_0x14 = -5.0f;
field_0x18 = -3.0f;
field_0x1c = 0.0f;
field_0x20 = 1500.0f;
field_0x24 = 500.0f;
}
extern "C" void draw__17dPa_YkgrPcallBackFP14JPABaseEmitterP15JPABaseParticle();
extern "C" void setParam__17dPa_YkgrPcallBackFf();
extern "C" void getPosRate__8daYkgr_cFv();
extern "C" static void daYkgrCreate__FPv();
extern "C" static bool daYkgrDelete__FPv();
extern "C" static void daYkgrExecute__FPv();
extern "C" static void daYkgrDraw__FPv();
extern "C" static bool daYkgrIsDelete__FPv();
extern "C" void __dt__12daYkgr_HIO_cFv();
extern "C" void __dt__14mDoHIO_entry_cFv();
extern "C" void __dt__17dPa_YkgrPcallBackFv();
extern "C" void execute__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle();
extern "C" void __sinit_d_a_ykgr_cpp();
extern "C" void draw__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle();
extern "C" extern char const* const d_a_ykgr__stringBase0;
//
// External References:
//
extern "C" void mDoMtx_XrotM__FPA4_fs();
extern "C" void mDoMtx_YrotM__FPA4_fs();
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void fopAcM_setStageLayer__FPv();
extern "C" void dComIfGs_BossLife_public_Get__Fv();
extern "C" void
set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
extern "C" void dPath_GetRoomPath__Fii();
extern "C" void dKyr_get_vectle_calc__FP4cXyzP4cXyzP4cXyz();
extern "C" void cM_atan2s__Fff();
extern "C" void cLib_addCalc2__FPffff();
extern "C" void __dt__19JPAParticleCallBackFv();
extern "C" void func_802807E0();
extern "C" void __dl__FPv();
extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" u8 m_aim_rate__8daYkgr_c[4];
extern "C" u8 m_path__8daYkgr_c[4];
extern "C" u8 m_emitter__8daYkgr_c[4];
extern "C" void __register_global_object();
//
// Declarations:
//
inline dPa_YkgrPcallBack::dPa_YkgrPcallBack() {
field_0x4 = 0.5f;
field_0x8 = 0.0f;
field_0xc = 0.0f;
field_0x10 = 0.0f;
field_0x14 = 0.5f;
field_0x18 = 0.0f;
field_0x1c = 1;
}
/* 805A848C-805A84D4 0000EC 0048+00 1/0 0/0 0/0 .text
* draw__17dPa_YkgrPcallBackFP14JPABaseEmitterP15JPABaseParticle */
// Needs inheritance
#ifdef NONMATCHING
void dPa_YkgrPcallBack::draw(JPABaseEmitter* param_0, JPABaseParticle* param_1) {
GXSetIndTexMtx(GX_ITM_0, &field_0x4, field_0x1c);
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0);
}
#else
void dPa_YkgrPcallBack::draw(JPABaseEmitter* param_0, JPABaseParticle* param_1) {
// NONMATCHING
}
#endif
/* ############################################################################################## */
/* 805A8FBC-805A8FC0 000000 0004+00 6/6 0/0 0/0 .rodata @3759 */
SECTION_RODATA static f32 const lit_3759 = -17.0f;
COMPILER_STRIP_GATE(0x805A8FBC, &lit_3759);
/* 805A8FC0-805A8FC4 000004 0004+00 0/1 0/0 0/0 .rodata @3760 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3760 = 47.0f;
COMPILER_STRIP_GATE(0x805A8FC0, &lit_3760);
#pragma pop
/* 805A8FC4-805A8FC8 000008 0004+00 0/5 0/0 0/0 .rodata @3761 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3761[4] = {
0x00,
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x805A8FC4, &lit_3761);
#pragma pop
/* 805A8FC8-805A8FCC 00000C 0004+00 0/4 0/0 0/0 .rodata @3762 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3762 = 0.5f;
COMPILER_STRIP_GATE(0x805A8FC8, &lit_3762);
#pragma pop
/* 805A8FCC-805A8FD4 000010 0004+04 0/4 0/0 0/0 .rodata @3763 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3763[1 + 1 /* padding */] = {
1.0f,
/* padding */
0.0f,
};
COMPILER_STRIP_GATE(0x805A8FCC, &lit_3763);
#pragma pop
/* 805A8FD4-805A8FDC 000018 0008+00 0/2 0/0 0/0 .rodata @3766 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3766[8] = {
0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x805A8FD4, &lit_3766);
#pragma pop
/* 805A84D4-805A85D4 000134 0100+00 2/2 0/0 0/0 .text setParam__17dPa_YkgrPcallBackFf */
void dPa_YkgrPcallBack::setParam(f32 param_1) {
@@ -148,136 +60,25 @@ void dPa_YkgrPcallBack::setParam(f32 param_1) {
}
}
/* ############################################################################################## */
/* 805A8FDC-805A8FE4 000020 0008+00 0/1 0/0 0/0 .rodata @3846 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3846[8] = {
0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x805A8FDC, &lit_3846);
#pragma pop
/* 805A8FE4-805A8FEC 000028 0008+00 0/1 0/0 0/0 .rodata @3847 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3847[8] = {
0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x805A8FE4, &lit_3847);
#pragma pop
/* 805A8FEC-805A8FF4 000030 0008+00 0/1 0/0 0/0 .rodata @3848 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3848[8] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x805A8FEC, &lit_3848);
#pragma pop
/* 805A90B8-805A90BC 000008 0001+03 1/1 0/0 0/0 .bss @1109 */
static u8 lit_1109[1 + 3 /* padding */];
/* 805A90BC-805A90C0 00000C 0001+03 0/0 0/0 0/0 .bss @1107 */
#pragma push
#pragma force_active on
static u8 lit_1107[1 + 3 /* padding */];
#pragma pop
/* 805A90C0-805A90C4 000010 0001+03 0/0 0/0 0/0 .bss @1105 */
#pragma push
#pragma force_active on
static u8 lit_1105[1 + 3 /* padding */];
#pragma pop
/* 805A90C4-805A90C8 000014 0001+03 0/0 0/0 0/0 .bss @1104 */
#pragma push
#pragma force_active on
static u8 lit_1104[1 + 3 /* padding */];
#pragma pop
/* 805A90C8-805A90CC 000018 0001+03 0/0 0/0 0/0 .bss @1099 */
#pragma push
#pragma force_active on
static u8 lit_1099[1 + 3 /* padding */];
#pragma pop
/* 805A90CC-805A90D0 00001C 0001+03 0/0 0/0 0/0 .bss @1097 */
#pragma push
#pragma force_active on
static u8 lit_1097[1 + 3 /* padding */];
#pragma pop
/* 805A90D0-805A90D4 000020 0001+03 0/0 0/0 0/0 .bss @1095 */
#pragma push
#pragma force_active on
static u8 lit_1095[1 + 3 /* padding */];
#pragma pop
/* 805A90D4-805A90D8 000024 0001+03 0/0 0/0 0/0 .bss @1094 */
#pragma push
#pragma force_active on
static u8 lit_1094[1 + 3 /* padding */];
#pragma pop
/* 805A90D8-805A90DC 000028 0001+03 0/0 0/0 0/0 .bss @1057 */
#pragma push
#pragma force_active on
static u8 lit_1057[1 + 3 /* padding */];
#pragma pop
/* 805A90DC-805A90E0 00002C 0001+03 0/0 0/0 0/0 .bss @1055 */
#pragma push
#pragma force_active on
static u8 lit_1055[1 + 3 /* padding */];
#pragma pop
/* 805A90E0-805A90E4 000030 0001+03 0/0 0/0 0/0 .bss @1053 */
#pragma push
#pragma force_active on
static u8 lit_1053[1 + 3 /* padding */];
#pragma pop
/* 805A90E4-805A90E8 000034 0001+03 0/0 0/0 0/0 .bss @1052 */
#pragma push
#pragma force_active on
static u8 lit_1052[1 + 3 /* padding */];
#pragma pop
/* 805A90E8-805A90EC 000038 0001+03 0/0 0/0 0/0 .bss @1014 */
#pragma push
#pragma force_active on
static u8 lit_1014[1 + 3 /* padding */];
#pragma pop
/* 805A90EC-805A90F0 00003C 0001+03 0/0 0/0 0/0 .bss @1012 */
#pragma push
#pragma force_active on
static u8 lit_1012[1 + 3 /* padding */];
#pragma pop
/* 805A90F0-805A90F4 000040 0001+03 0/0 0/0 0/0 .bss @1010 */
#pragma push
#pragma force_active on
static u8 lit_1010[1 + 3 /* padding */];
#pragma pop
/* 805A90F4-805A90F8 000044 0001+03 0/0 0/0 0/0 .bss @1009 */
#pragma push
#pragma force_active on
static u8 lit_1009[1 + 3 /* padding */];
#pragma pop
/* 805A90F8-805A9104 000048 000C+00 0/1 0/0 0/0 .bss @3744 */
#pragma push
#pragma force_active on
static u8 lit_3744[12];
#pragma pop
UNK_BSS(1109)
UNK_BSS(1107)
UNK_BSS(1105)
UNK_BSS(1104)
UNK_BSS(1099)
UNK_BSS(1097)
UNK_BSS(1095)
UNK_BSS(1094)
UNK_BSS(1057)
UNK_BSS(1055)
UNK_BSS(1053)
UNK_BSS(1052)
UNK_BSS(1014)
UNK_BSS(1012)
UNK_BSS(1010)
UNK_BSS(1009)
/* 805A9104-805A912C 000054 0028+00 2/3 0/0 0/0 .bss l_HIO */
static u8 l_HIO[40];
static daYkgr_HIO_c l_HIO;
/* 805A85D4-805A882C 000234 0258+00 1/1 0/0 0/0 .text getPosRate__8daYkgr_cFv */
f32 daYkgr_c::getPosRate() {
@@ -295,37 +96,21 @@ f32 daYkgr_c::getPosRate() {
dVar11 = dVar10;
}
}
if (dVar11 > ((daYkgr_HIO_c*)&l_HIO)->field_0x20) {
dVar11 = ((daYkgr_HIO_c*)&l_HIO)->field_0x20;
} else if (dVar11 < ((daYkgr_HIO_c*)&l_HIO)->field_0x24) {
dVar11 = ((daYkgr_HIO_c*)&l_HIO)->field_0x24;
if (dVar11 > l_HIO.field_0x20) {
dVar11 = l_HIO.field_0x20;
} else if (dVar11 < l_HIO.field_0x24) {
dVar11 = l_HIO.field_0x24;
}
f32 y = (((daYkgr_HIO_c*)&l_HIO)->field_0x20);
y = (dVar11 - ((daYkgr_HIO_c*)&l_HIO)->field_0x24) / (y -((daYkgr_HIO_c*)&l_HIO)->field_0x24);
f32 y = (l_HIO.field_0x20);
y = (dVar11 - l_HIO.field_0x24) / (y -l_HIO.field_0x24);
return 1.0f - y;
}
/* ############################################################################################## */
/* 805A8FF4-805A8FF8 000038 0004+00 0/2 0/0 0/0 .rodata @3951 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3951 = -3.0f;
COMPILER_STRIP_GATE(0x805A8FF4, &lit_3951);
#pragma pop
/* 805A912C-805A9138 00007C 000C+00 0/1 0/0 0/0 .bss @3851 */
#pragma push
#pragma force_active on
static u8 lit_3851[12];
#pragma pop
/* 805A9138-805A9158 000088 0020+00 2/3 0/0 0/0 .bss YkgrCB */
static u8 YkgrCB[32];
static dPa_YkgrPcallBack YkgrCB;
/* 805A882C-805A8A48 00048C 021C+00 1/0 0/0 0/0 .text daYkgrCreate__FPv */
// regalloc
#ifdef NONMATCHING
// NONMATCHING regalloc
inline int daYkgr_c::_create() {
dPath* path;
s32 uVar1 = fopAcM_GetParam(this) ;
@@ -344,8 +129,8 @@ inline int daYkgr_c::_create() {
this->current.pos = player->current.pos;
m_emitter = dComIfGp_particle_set(0x80e2, &this->current.pos, NULL, NULL);
if (m_emitter != NULL) {
m_emitter->setParticleCallBackPtr((JPAParticleCallBack*)YkgrCB);
((dPa_YkgrPcallBack*)YkgrCB)->setParam(-3.0f);
m_emitter->setParticleCallBackPtr(&YkgrCB);
YkgrCB.setParam(-3.0f);
} else {
return cPhs_ERROR_e;
}
@@ -377,50 +162,31 @@ inline int daYkgr_c::_create() {
static int daYkgrCreate(void* i_this) {
return static_cast<daYkgr_c*>(i_this)->_create();
}
#else
static int daYkgrCreate(void* param_0) {
// NONMATCHING
}
#endif
/* 805A8A48-805A8A50 0006A8 0008+00 1/0 0/0 0/0 .text daYkgrDelete__FPv */
static int daYkgrDelete(void* param_0) {
return 1;
}
/* ############################################################################################## */
/* 805A8FF8-805A8FFC 00003C 0004+00 0/1 0/0 0/0 .rodata @3976 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3976 = 0.25f;
COMPILER_STRIP_GATE(0x805A8FF8, &lit_3976);
#pragma pop
/* 805A8FFC-805A9000 000040 0004+00 0/1 0/0 0/0 .rodata @3977 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3977 = 1.0f / 20.0f;
COMPILER_STRIP_GATE(0x805A8FFC, &lit_3977);
#pragma pop
/* 805A8A50-805A8BBC 0006B0 016C+00 1/0 0/0 0/0 .text daYkgrExecute__FPv */
// NONMATCHING regalloc
inline int daYkgr_c::_execute() {
cLib_addCalc2(&field_0x5a4, m_aim_rate, 0.25f, 0.05f);
cLib_addCalc2(&m_aim_rate, ((f32*)l_HIO)[7], 0.25f, 0.05f);
cLib_addCalc2(&m_aim_rate, l_HIO.field_0x1c, 0.25f, 0.05f);
cLib_addCalc2(&field_0x5a8, getPosRate(), 0.25f, 0.05f);
f32 fVar4 = field_0x5a8 * 0.5f + field_0x5a4 * 0.5f;
((dPa_YkgrPcallBack*)YkgrCB)->setParam(fVar4 * ((f32*)l_HIO)[6] + (1.0f - fVar4) * ((f32*)l_HIO)[5]);
YkgrCB.setParam(fVar4 * l_HIO.field_0x18 + (1.0f - fVar4) * l_HIO.field_0x14);
if (m_alpha_flag == 0) {
if (m_alpha != 0) {
if (m_alpha > ((s32*)l_HIO)[3]) {
m_alpha = m_alpha - ((s32*)l_HIO)[3];
if (m_alpha > l_HIO.field_0xc) {
m_alpha = m_alpha - l_HIO.field_0xc;
} else {
m_alpha = 0;
}
}
} else if (m_alpha < 0xff) {
if (m_alpha < 0xff - ((s32*)l_HIO)[3]) {
m_alpha = m_alpha + ((s32*)l_HIO)[3];
if (m_alpha < 0xff - l_HIO.field_0xc) {
m_alpha = m_alpha + l_HIO.field_0xc;
} else {
m_alpha = 0xff;
}
@@ -432,33 +198,12 @@ static int daYkgrExecute(void* i_this) {
return static_cast<daYkgr_c*>(i_this)->_execute();
}
/* ############################################################################################## */
/* 805A9000-805A9004 000044 0004+00 0/1 0/0 0/0 .rodata @4032 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4032 = 100.0f;
COMPILER_STRIP_GATE(0x805A9000, &lit_4032);
#pragma pop
/* 805A9004-805A9008 000048 0004+00 0/1 0/0 0/0 .rodata @4033 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4033 = 255.0f;
COMPILER_STRIP_GATE(0x805A9004, &lit_4033);
#pragma pop
/* 805A9018-805A9018 00005C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_805A9018 = "D_MN04A";
#pragma pop
/* 805A8BBC-805A8D90 00081C 01D4+00 1/0 0/0 0/0 .text daYkgrDraw__FPv */
inline int daYkgr_c::_draw() {
bool rv;
if (strcmp(dComIfGp_getStartStageName(), "D_MN04A") == 0) {
m_alpha = (dComIfGs_BossLife_public_Get() / 100.0f) * 255.0f;
f32 alpha = dComIfGs_BossLife_public_Get() / 100.0f;
m_alpha = alpha * 255.0f;
if (m_alpha == 0) {
m_alpha++;
}
@@ -480,13 +225,16 @@ static int daYkgrDraw(void* i_this) {
return static_cast<daYkgr_c*>(i_this)->_draw();
}
/* 805A8D90-805A8D98 0009F0 0008+00 1/0 0/0 0/0 .text daYkgrIsDelete__FPv */
static int daYkgrIsDelete(void* param_0) {
return 1;
}
/* ############################################################################################## */
/* 805A8D98-805A8DF4 0009F8 005C+00 2/1 0/0 0/0 .text __dt__12daYkgr_HIO_cFv */
daYkgr_HIO_c::~daYkgr_HIO_c() {
/* empty function */
}
/* 805A9020-805A9040 -00001 0020+00 1/0 0/0 0/0 .data daYkgrMethodTable */
static actor_method_class daYkgrMethodTable = {
daYkgrCreate,
@@ -513,280 +261,4 @@ extern actor_process_profile_definition g_profile_Ykgr = {
0,
};
/* 805A9070-805A9084 000050 0014+00 2/2 0/0 0/0 .data __vt__17dPa_YkgrPcallBack */
SECTION_DATA extern void* __vt__17dPa_YkgrPcallBack[5] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__17dPa_YkgrPcallBackFv,
(void*)execute__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle,
(void*)draw__17dPa_YkgrPcallBackFP14JPABaseEmitterP15JPABaseParticle,
};
/* 805A9084-805A9098 000064 0014+00 1/1 0/0 0/0 .data __vt__19JPAParticleCallBack */
SECTION_DATA extern void* __vt__19JPAParticleCallBack[5] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)NULL,
(void*)execute__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle,
(void*)draw__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle,
};
/* 805A9098-805A90A4 000078 000C+00 2/2 0/0 0/0 .data __vt__12daYkgr_HIO_c */
SECTION_DATA extern void* __vt__12daYkgr_HIO_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__12daYkgr_HIO_cFv,
};
/* 805A90A4-805A90B0 000084 000C+00 3/3 0/0 0/0 .data __vt__14mDoHIO_entry_c */
SECTION_DATA extern void* __vt__14mDoHIO_entry_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__14mDoHIO_entry_cFv,
};
/* 805A8D98-805A8DF4 0009F8 005C+00 2/1 0/0 0/0 .text __dt__12daYkgr_HIO_cFv */
daYkgr_HIO_c::~daYkgr_HIO_c() {
// NONMATCHING
}
/* 805A8DF4-805A8E3C 000A54 0048+00 1/0 0/0 0/0 .text __dt__14mDoHIO_entry_cFv */
void __dt__14mDoHIO_entry_cFv() {
//asm mDoHIO_entry_c::~mDoHIO_entry_c() {
// NONMATCHING
}
/* 805A8E3C-805A8E9C 000A9C 0060+00 2/1 0/0 0/0 .text __dt__17dPa_YkgrPcallBackFv */
#ifdef NONMATCHING
dPa_YkgrPcallBack::~dPa_YkgrPcallBack() {
}
#else
dPa_YkgrPcallBack::~dPa_YkgrPcallBack() {
// NONMATCHING
}
#endif
/* 805A8E9C-805A8EA0 000AFC 0004+00 2/0 0/0 0/0 .text
* execute__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle */
void JPAParticleCallBack::execute(JPABaseEmitter* param_0, JPABaseParticle* param_1) {
/* empty function */
}
/* ############################################################################################## */
/* 805A9008-805A900C 00004C 0004+00 0/1 0/0 0/0 .rodata @4061 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4061 = -16.0f;
COMPILER_STRIP_GATE(0x805A9008, &lit_4061);
#pragma pop
/* 805A900C-805A9010 000050 0004+00 0/1 0/0 0/0 .rodata @4062 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4062 = -5.0f;
COMPILER_STRIP_GATE(0x805A900C, &lit_4062);
#pragma pop
/* 805A9010-805A9014 000054 0004+00 0/1 0/0 0/0 .rodata @4063 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4063 = 1500.0f;
COMPILER_STRIP_GATE(0x805A9010, &lit_4063);
#pragma pop
/* 805A9014-805A9018 000058 0004+00 0/1 0/0 0/0 .rodata @4064 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4064 = 500.0f;
COMPILER_STRIP_GATE(0x805A9014, &lit_4064);
#pragma pop
/* 805A8EA0-805A8FA4 000B00 0104+00 0/0 1/0 0/0 .text __sinit_d_a_ykgr_cpp */
void __sinit_d_a_ykgr_cpp() {
// NONMATCHING
}
#pragma push
#pragma force_active on
REGISTER_CTORS(0x805A8EA0, __sinit_d_a_ykgr_cpp);
#pragma pop
/* 805A8FA4-805A8FA8 000C04 0004+00 1/0 0/0 0/0 .text
* draw__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle */
void JPAParticleCallBack::draw(JPABaseEmitter* param_0, JPABaseParticle* param_1) {
/* empty function */
}
/* ############################################################################################## */
/* 805A9158-805A915C 0000A8 0004+00 0/0 0/0 0/0 .bss
* sInstance__40JASGlobalInstance<19JASDefaultBankTable> */
#pragma push
#pragma force_active on
static u8 data_805A9158[4];
#pragma pop
/* 805A915C-805A9160 0000AC 0004+00 0/0 0/0 0/0 .bss
* sInstance__35JASGlobalInstance<14JASAudioThread> */
#pragma push
#pragma force_active on
static u8 data_805A915C[4];
#pragma pop
/* 805A9160-805A9164 0000B0 0004+00 0/0 0/0 0/0 .bss sInstance__27JASGlobalInstance<7Z2SeMgr> */
#pragma push
#pragma force_active on
static u8 data_805A9160[4];
#pragma pop
/* 805A9164-805A9168 0000B4 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8Z2SeqMgr> */
#pragma push
#pragma force_active on
static u8 data_805A9164[4];
#pragma pop
/* 805A9168-805A916C 0000B8 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SceneMgr>
*/
#pragma push
#pragma force_active on
static u8 data_805A9168[4];
#pragma pop
/* 805A916C-805A9170 0000BC 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2StatusMgr>
*/
#pragma push
#pragma force_active on
static u8 data_805A916C[4];
#pragma pop
/* 805A9170-805A9174 0000C0 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2DebugSys>
*/
#pragma push
#pragma force_active on
static u8 data_805A9170[4];
#pragma pop
/* 805A9174-805A9178 0000C4 0004+00 0/0 0/0 0/0 .bss
* sInstance__36JASGlobalInstance<15JAISoundStarter> */
#pragma push
#pragma force_active on
static u8 data_805A9174[4];
#pragma pop
/* 805A9178-805A917C 0000C8 0004+00 0/0 0/0 0/0 .bss
* sInstance__35JASGlobalInstance<14Z2SoundStarter> */
#pragma push
#pragma force_active on
static u8 data_805A9178[4];
#pragma pop
/* 805A917C-805A9180 0000CC 0004+00 0/0 0/0 0/0 .bss
* sInstance__33JASGlobalInstance<12Z2SpeechMgr2> */
#pragma push
#pragma force_active on
static u8 data_805A917C[4];
#pragma pop
/* 805A9180-805A9184 0000D0 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8JAISeMgr> */
#pragma push
#pragma force_active on
static u8 data_805A9180[4];
#pragma pop
/* 805A9184-805A9188 0000D4 0004+00 0/0 0/0 0/0 .bss sInstance__29JASGlobalInstance<9JAISeqMgr> */
#pragma push
#pragma force_active on
static u8 data_805A9184[4];
#pragma pop
/* 805A9188-805A918C 0000D8 0004+00 0/0 0/0 0/0 .bss
* sInstance__33JASGlobalInstance<12JAIStreamMgr> */
#pragma push
#pragma force_active on
static u8 data_805A9188[4];
#pragma pop
/* 805A918C-805A9190 0000DC 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SoundMgr>
*/
#pragma push
#pragma force_active on
static u8 data_805A918C[4];
#pragma pop
/* 805A9190-805A9194 0000E0 0004+00 0/0 0/0 0/0 .bss
* sInstance__33JASGlobalInstance<12JAISoundInfo> */
#pragma push
#pragma force_active on
static u8 data_805A9190[4];
#pragma pop
/* 805A9194-805A9198 0000E4 0004+00 0/0 0/0 0/0 .bss
* sInstance__34JASGlobalInstance<13JAUSoundTable> */
#pragma push
#pragma force_active on
static u8 data_805A9194[4];
#pragma pop
/* 805A9198-805A919C 0000E8 0004+00 0/0 0/0 0/0 .bss
* sInstance__38JASGlobalInstance<17JAUSoundNameTable> */
#pragma push
#pragma force_active on
static u8 data_805A9198[4];
#pragma pop
/* 805A919C-805A91A0 0000EC 0004+00 0/0 0/0 0/0 .bss
* sInstance__33JASGlobalInstance<12JAUSoundInfo> */
#pragma push
#pragma force_active on
static u8 data_805A919C[4];
#pragma pop
/* 805A91A0-805A91A4 0000F0 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SoundInfo>
*/
#pragma push
#pragma force_active on
static u8 data_805A91A0[4];
#pragma pop
/* 805A91A4-805A91A8 0000F4 0004+00 0/0 0/0 0/0 .bss
* sInstance__34JASGlobalInstance<13Z2SoundObjMgr> */
#pragma push
#pragma force_active on
static u8 data_805A91A4[4];
#pragma pop
/* 805A91A8-805A91AC 0000F8 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2Audience>
*/
#pragma push
#pragma force_active on
static u8 data_805A91A8[4];
#pragma pop
/* 805A91AC-805A91B0 0000FC 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2FxLineMgr>
*/
#pragma push
#pragma force_active on
static u8 data_805A91AC[4];
#pragma pop
/* 805A91B0-805A91B4 000100 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2EnvSeMgr>
*/
#pragma push
#pragma force_active on
static u8 data_805A91B0[4];
#pragma pop
/* 805A91B4-805A91B8 000104 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SpeechMgr>
*/
#pragma push
#pragma force_active on
static u8 data_805A91B4[4];
#pragma pop
/* 805A91B8-805A91BC 000108 0004+00 0/0 0/0 0/0 .bss
* sInstance__34JASGlobalInstance<13Z2WolfHowlMgr> */
#pragma push
#pragma force_active on
static u8 data_805A91B8[4];
#pragma pop
/* 805A9018-805A9018 00005C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
AUDIO_INSTANCES;
+3 -18
View File
@@ -17,18 +17,15 @@ void eff_break_tsubo(fopAc_ac_c* i_actor, cXyz i_scale, int i_type) {
J3DModelData* tubo_bmd = (J3DModelData*)dComIfG_getObjectRes("Always", 0x20);
J3DAnmTexPattern* tubo_btp = (J3DAnmTexPattern*)dComIfG_getObjectRes("Always", 0x42);
s32 roomNo = fopAcM_GetRoomNo(i_actor);
JPABaseEmitter* emitter = dComIfGp_particle_set(
dPa_name::ZI_J_M_tuboHahen_e, &i_actor->current.pos, NULL, NULL, 0xFF,
(dPa_modelEcallBack*)&dPa_modelEcallBack::mEcallback, roomNo, NULL, NULL, &i_scale);
&dPa_modelEcallBack::mEcallback, fopAcM_GetRoomNo(i_actor), NULL, NULL, &i_scale);
dPa_modelEcallBack::setModel(emitter, tubo_bmd, i_actor->tevStr, 3, tubo_btp, 0, i_type);
s32 roomNo2 = fopAcM_GetRoomNo(i_actor);
dComIfGp_particle_set(dPa_name::ZI_J_tuboHahen_e, &i_actor->current.pos, NULL, NULL, 0xFF,
dPa_control_c::getTsuboSelectTexEcallBack(i_type), roomNo2, NULL, NULL,
&i_scale);
dPa_control_c::getTsuboSelectTexEcallBack(i_type),
fopAcM_GetRoomNo(i_actor), NULL, NULL, &i_scale);
}
/* 80037180-80037210 031AC0 0090+00 0/0 0/0 2/2 .text make_eff_break_kotubo__5daObjFP10fopAc_ac_c
@@ -221,15 +218,3 @@ void HitSeStart(cXyz const* i_sePos, int i_roomNo, dCcD_GObjInf const* i_CcObj,
}
}
} // namespace daObj
/* 80037A4C-80037A54 03238C 0008+00 0/0 2/0 0/0 .text GetCoCP__12cCcD_CylAttrFv */
// void cCcD_CylAttr::GetCoCP() {
extern "C" void GetCoCP__12cCcD_CylAttrFv() {
// NONMATCHING
}
/* 80037A54-80037A5C 032394 0008+00 0/0 2/0 0/0 .text GetCoCP__12cCcD_SphAttrFv */
// void cCcD_SphAttr::GetCoCP() {
extern "C" void GetCoCP__12cCcD_SphAttrFv() {
// NONMATCHING
}
+20 -377
View File
@@ -12,10 +12,6 @@
#include "f_op/f_op_actor_mng.h"
#include "m_Do/m_Do_controller_pad.h"
//
// Types:
//
class dAttDrawParam_c {
public:
/* 80070158 */ dAttDrawParam_c();
@@ -26,156 +22,6 @@ public:
/* 0xC */ f32 field_0xc;
};
//
// Forward References:
//
extern "C" void __ct__11dAttParam_cFl();
extern "C" void __dt__11dAttParam_cFv();
extern "C" void __ct__15dAttDrawParam_cFv();
extern "C" void execute__19dAttDraw_CallBack_cFUsP16J3DTransformInfo();
extern "C" void __ct__12dAttention_cFP10fopAc_ac_cUl();
extern "C" void __dt__12dAttention_cFv();
extern "C" void GetLockonList__12dAttention_cFl();
extern "C" void getActionBtnB__12dAttention_cFv();
extern "C" void getActionBtnXY__12dAttention_cFv();
extern "C" void chkAttMask__12dAttention_cFUlUl();
extern "C" static void check_event_condition__FUlUs();
extern "C" static void check_flontofplayer__FUlss();
extern "C" static void distace_weight__Ffsf();
extern "C" static void distace_angle_adjust__Ffsf();
extern "C" static void check_distace__FP4cXyzsP4cXyzffff();
extern "C" void calcWeight__12dAttention_cFiP10fopAc_ac_cfssPUl();
extern "C" void setList__12dAttention_cFiP10fopAc_ac_cff7cSAngleUl();
extern "C" void initList__12dAttention_cFUl();
extern "C" static void select_attention__FP10fopAc_ac_cPv();
extern "C" void makeList__12dAttention_cFv();
extern "C" void setOwnerAttentionPos__12dAttention_cFv();
extern "C" void SelectAttention__12dAttention_cFP10fopAc_ac_c();
extern "C" void __dt__7cSGlobeFv();
extern "C" void sortList__12dAttention_cFv();
extern "C" void stockAttention__12dAttention_cFv();
extern "C" void nextAttention__12dAttention_cFv();
extern "C" void freeAttention__12dAttention_cFv();
extern "C" void chaseAttention__12dAttention_cFv();
extern "C" void EnemyDistance__12dAttention_cFP10fopAc_ac_c();
extern "C" static void sound_attention__FP10fopAc_ac_cPv();
extern "C" void runSoundProc__12dAttention_cFv();
extern "C" void runDrawProc__12dAttention_cFv();
extern "C" void runDebugDisp__12dAttention_cFv();
extern "C" void checkButton__12dAttention_cFv();
extern "C" void triggerProc__12dAttention_cFv();
extern "C" void lostCheck__12dAttention_cFv();
extern "C" void judgementStatus4Hold__12dAttention_cFv();
extern "C" void judgementStatus4Switch__12dAttention_cFv();
extern "C" void Run__12dAttention_cFv();
extern "C" void Draw__12dAttention_cFv();
extern "C" void lockSoundStart__12dAttention_cFUl();
extern "C" void setAnm__10dAttDraw_cFUcf();
extern "C" void setAlphaAnm__10dAttDraw_cFUcUc();
extern "C" void alphaAnm__10dAttDraw_cFv();
extern "C" void setTevKColor__11J3DTevBlockFUlPC10J3DGXColor();
extern "C" void draw__10dAttDraw_cFR4cXyzPA4_f();
extern "C" void LockonTarget__12dAttention_cFl();
extern "C" void LockonReleaseDistanse__12dAttention_cFv();
extern "C" void LockonTargetPId__12dAttention_cFl();
extern "C" void ActionTarget__12dAttention_cFl();
extern "C" void CheckObjectTarget__12dAttention_cFl();
extern "C" void LockonTruth__12dAttention_cFv();
extern "C" void checkDistance__12dAttention_cFP4cXyzsP4cXyzffff();
extern "C" void getActor__10dAttList_cFv();
extern "C" void setActor__10dAttList_cFP10fopAc_ac_c();
extern "C" void getPId__10dAttHint_cFPv();
extern "C" void convPId__10dAttHint_cFUi();
extern "C" void request__10dAttHint_cFP10fopAc_ac_ci();
extern "C" void init__10dAttHint_cFv();
extern "C" void proc__10dAttHint_cFv();
extern "C" void convPId__11dAttCatch_cFUi();
extern "C" void init__11dAttCatch_cFv();
extern "C" void proc__11dAttCatch_cFv();
extern "C" void request__11dAttCatch_cFP10fopAc_ac_cUcfffsi();
extern "C" void convPId__10dAttLook_cFUi();
extern "C" void init__10dAttLook_cFv();
extern "C" void proc__10dAttLook_cFv();
extern "C" void request__10dAttLook_cFP10fopAc_ac_cfffsi();
extern "C" void __dt__15dAttDrawParam_cFv();
extern "C" void __sinit_d_attention_cpp();
extern "C" extern char const* const d_d_attention__stringBase0;
extern "C" u8 loc_type_tbl__12dAttention_c[12];
extern "C" u8 act_type_tbl__12dAttention_c[20];
extern "C" u32 loc_type_num__12dAttention_c;
extern "C" u32 act_type_num__12dAttention_c;
extern "C" u32 chk_type_tbl__12dAttention_c;
extern "C" u32 chk_type_num__12dAttention_c;
extern "C" extern u8 data_80450680[8];
extern "C" extern u8 data_80450688[8];
//
// External References:
//
extern "C" void play__14mDoExt_baseAnmFv();
extern "C" void init__13mDoExt_bpkAnmFP16J3DMaterialTableP11J3DAnmColoriifss();
extern "C" void entry__13mDoExt_bpkAnmFP16J3DMaterialTablef();
extern "C" void init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifss();
extern "C" void entry__13mDoExt_btkAnmFP16J3DMaterialTablef();
extern "C" void init__13mDoExt_brkAnmFP16J3DMaterialTableP15J3DAnmTevRegKeyiifss();
extern "C" void entry__13mDoExt_brkAnmFP16J3DMaterialTablef();
extern "C" void init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb();
extern "C" void entry__13mDoExt_bckAnmFP12J3DModelDataf();
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
extern "C" void mDoExt_createSolidHeapFromGameToCurrent__FUlUl();
extern "C" void mDoExt_adjustSolidHeap__FP12JKRSolidHeap();
extern "C" void mDoExt_destroySolidHeap__FP12JKRSolidHeap();
extern "C" void mDoExt_restoreCurrentHeap__Fv();
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
extern "C" void fopAcIt_Executor__FPFPvPv_iPv();
extern "C" void fopAcIt_Judge__FPFPvPv_PvPv();
extern "C" void fopAcM_searchActorDistance__FPC10fopAc_ac_cPC10fopAc_ac_c();
extern "C" void fpcSch_JudgeByID__FPvPv();
extern "C" void __dt__10dAttList_cFv();
extern "C" void __ct__10dAttList_cFv();
extern "C" void __dt__10dAttDraw_cFv();
extern "C" void __ct__10dAttDraw_cFv();
extern "C" void isSwitch__12dSv_danBit_cCFi();
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
extern "C" void getAttentionOffsetY__9daPy_py_cFv();
extern "C" void __mi__4cXyzCFRC3Vec();
extern "C" void __ct__7cSAngleFRC7cSAngle();
extern "C" void __ct__7cSAngleFs();
extern "C" void Inv__7cSAngleCFv();
extern "C" void __mi__7cSAngleCFs();
extern "C" void __ct__7cSGlobeFRC4cXyz();
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
extern "C" void bgmNowBattle__8Z2SeqMgrFf();
extern "C" void __dl__FPv();
extern "C" void __register_global_object();
extern "C" void __destroy_arr();
extern "C" void __construct_array();
extern "C" void _savegpr_21();
extern "C" void _savegpr_22();
extern "C" void _savegpr_24();
extern "C" void _savegpr_26();
extern "C" void _savegpr_27();
extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
extern "C" void _restgpr_21();
extern "C" void _restgpr_22();
extern "C" void _restgpr_24();
extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern void* __vt__25mDoExt_McaMorfCallBack1_c[3];
extern "C" u8 dist_table__12dAttention_c[6552];
extern "C" u8 m_cpadInfo__8mDoCPd_c[256];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
//
// Declarations:
//
/* 80070018-80070038 06A958 0020+00 2/2 0/0 0/0 .text padLockButton__25@unnamed@d_attention_cpp@Fl
*/
namespace {
@@ -184,103 +30,18 @@ static bool padLockButton(s32 i_padNo) {
}
} // namespace
/* ############################################################################################## */
/* 8037A770-8037A770 006DD0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_8037A770 = "D_MN09B";
#pragma pop
/* 803A9BF8-803A9C04 006D18 000C+00 2/2 0/0 0/0 .data loc_type_tbl__12dAttention_c */
SECTION_DATA type_tbl_entry dAttention_c::loc_type_tbl[3] = {
type_tbl_entry dAttention_c::loc_type_tbl[3] = {
{0, 1},
{1, 2},
{2, 4},
};
/* 803A9C04-803A9C18 006D24 0014+00 1/1 0/0 0/0 .data act_type_tbl__12dAttention_c */
SECTION_DATA type_tbl_entry dAttention_c::act_type_tbl[5] = {
type_tbl_entry dAttention_c::act_type_tbl[5] = {
{3, 8}, {4, 16}, {5, 32}, {6, 64}, {7, 128},
};
/* 803A9C18-803A9C3C 006D38 0024+00 1/1 0/0 0/0 .data ftp_table$4417 */
SECTION_DATA static int ftp_table[9] = {
4, 1, 2, 8, 16, 32, 64, 128, 256,
};
/* 803A9C3C-803A9C48 006D5C 000C+00 1/1 0/0 0/0 .data ang_table2$4419 */
SECTION_DATA static s16 ang_table2[6] = {
0x0AAA, 0x2000, 0x2AAA, 0x4000, 0x4E38, 0x6000,
};
/* 803A9C48-803A9C54 006D68 000C+00 1/1 1/1 0/0 .data __vt__19dAttDraw_CallBack_c */
SECTION_DATA extern void* __vt__19dAttDraw_CallBack_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)execute__19dAttDraw_CallBack_cFUsP16J3DTransformInfo,
};
/* 803A9C54-803A9C60 006D74 000C+00 2/2 0/0 0/0 .data __vt__15dAttDrawParam_c */
SECTION_DATA extern void* __vt__15dAttDrawParam_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__15dAttDrawParam_cFv,
};
/* 803A9C60-803A9C70 006D80 000C+04 3/3 1/1 0/0 .data __vt__11dAttParam_c */
SECTION_DATA extern void* __vt__11dAttParam_c[3 + 1 /* padding */] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__11dAttParam_cFv,
/* padding */
NULL,
};
/* 80452628-8045262C 000C28 0004+00 1/1 0/0 0/0 .sdata2 @4061 */
SECTION_SDATA2 static f32 lit_4061 = 45.0f;
/* 8045262C-80452630 000C2C 0004+00 1/1 0/0 0/0 .sdata2 @4062 */
SECTION_SDATA2 static f32 lit_4062 = 30.0f;
/* 80452630-80452634 000C30 0004+00 1/1 0/0 0/0 .sdata2 @4063 */
SECTION_SDATA2 static f32 lit_4063 = 90.0f;
/* 80452634-80452638 000C34 0004+00 2/2 0/0 0/0 .sdata2 @4064 */
SECTION_SDATA2 static f32 lit_4064 = -9.0f / 10.0f;
/* 80452638-8045263C 000C38 0004+00 1/1 0/0 0/0 .sdata2 @4065 */
SECTION_SDATA2 static f32 lit_4065 = 3000.0f;
/* 8045263C-80452640 000C3C 0004+00 1/1 0/0 0/0 .sdata2 @4066 */
SECTION_SDATA2 static f32 lit_4066 = 1000.0f;
/* 80452640-80452644 000C40 0004+00 1/1 0/0 0/0 .sdata2 @4067 */
SECTION_SDATA2 static f32 lit_4067 = 6.0f;
/* 80452644-80452648 000C44 0004+00 1/1 0/0 0/0 .sdata2 @4068 */
SECTION_SDATA2 static f32 lit_4068 = 4.5f;
/* 80452648-8045264C 000C48 0004+00 1/1 0/0 0/0 .sdata2 @4069 */
SECTION_SDATA2 static f32 lit_4069 = 14.0f;
/* 8045264C-80452650 000C4C 0004+00 1/1 0/0 0/0 .sdata2 @4070 */
SECTION_SDATA2 static f32 lit_4070 = 10.0f;
/* 80452650-80452654 000C50 0004+00 12/12 0/0 0/0 .sdata2 @4071 */
SECTION_SDATA2 static u8 lit_4071[4] = {
0x00,
0x00,
0x00,
0x00,
};
/* 80452654-80452658 000C54 0004+00 1/1 0/0 0/0 .sdata2 @4072 */
SECTION_SDATA2 static f32 lit_4072 = 17.0f / 10.0f;
/* 80452658-8045265C 000C58 0004+00 10/10 0/0 0/0 .sdata2 @4073 */
SECTION_SDATA2 static f32 lit_4073 = 1.0f;
/* ############################################################################################## */
/* 80450F58-80450F60 000458 0008+00 0/0 2/2 0/0 .sbss None */
extern bool on_final_boss_stg;
bool on_final_boss_stg;
@@ -324,14 +85,8 @@ dAttDrawParam_c::dAttDrawParam_c() {
field_0xc = 2.0f;
}
/* ############################################################################################## */
/* 80452664-80452668 000C64 0004+00 1/1 0/0 0/0 .sdata2 @4092 */
SECTION_SDATA2 static f32 lit_4092 = 3.0f / 5.0f;
/* 80070178-80070198 06AAB8 0020+00 1/0 0/0 0/0 .text
* execute__19dAttDraw_CallBack_cFUsP16J3DTransformInfo */
// vtable issues
#ifdef NONMATCHING
int dAttDraw_CallBack_c::execute(u16 param_0, J3DTransformInfo* param_1) {
if (param_0 == 0) {
param_1->mTranslate.y *= 0.6f;
@@ -339,21 +94,6 @@ int dAttDraw_CallBack_c::execute(u16 param_0, J3DTransformInfo* param_1) {
return 1;
}
#else
// void dAttDraw_CallBack_c::execute(u16 param_0, J3DTransformInfo* param_1) {
extern "C" void execute__19dAttDraw_CallBack_cFUsP16J3DTransformInfo() {
// NONMATCHING
}
#endif
/* ############################################################################################## */
/* 8037A770-8037A770 006DD0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_8037A778 = "Always";
/* @stringBase0 padding */
SECTION_DEAD static char const* const pad_8037A77F = "";
#pragma pop
/* 80424B0C-80424B20 05182C 0010+04 3/3 0/0 0/0 .bss g_AttDwHIO */
static dAttDrawParam_c g_AttDwHIO;
@@ -529,9 +269,8 @@ dAttList_c* dAttention_c::getActionBtnXY() {
return NULL;
}
/* ############################################################################################## */
/* 80450660-80450664 0000E0 0004+00 2/2 0/0 0/0 .sdata loc_type_num__12dAttention_c */
SECTION_SDATA int dAttention_c::loc_type_num = 3;
int dAttention_c::loc_type_num = 3;
/* 80070A70-80070AC0 06B3B0 0050+00 1/1 0/0 0/0 .text chkAttMask__12dAttention_cFUlUl */
int dAttention_c::chkAttMask(u32 param_0, u32 param_1) {
@@ -571,27 +310,32 @@ static int check_event_condition(u32 i_listType, u16 i_condition) {
return false;
}
/* ############################################################################################## */
/* 80450664-80450668 0000E4 0004+00 1/1 0/0 0/0 .sdata act_type_num__12dAttention_c */
SECTION_SDATA int dAttention_c::act_type_num = 5;
int dAttention_c::act_type_num = 5;
/* 80450668-8045066C 0000E8 0004+00 1/1 0/0 0/0 .sdata chk_type_tbl__12dAttention_c */
SECTION_SDATA type_tbl_entry dAttention_c::chk_type_tbl[1] = {
type_tbl_entry dAttention_c::chk_type_tbl[1] = {
{8, 256},
};
/* 8045066C-80450670 0000EC 0004+00 1/1 0/0 0/0 .sdata chk_type_num__12dAttention_c */
SECTION_SDATA int dAttention_c::chk_type_num = 1;
int dAttention_c::chk_type_num = 1;
/* 80450670-80450674 0000F0 0004+00 2/2 0/0 0/0 .sdata None */
SECTION_SDATA static bool attn_opt_hold = true;
static bool attn_opt_hold = true;
/* 80070B2C-80070BF4 06B46C 00C8+00 2/2 0/0 0/0 .text check_flontofplayer__FUlss */
static int check_flontofplayer(u32 param_0, s16 param_1, s16 param_2) {
static int ftp_table[9] = {
4, 1, 2, 8, 16, 32, 64, 128, 256,
};
static s16 ang_table[3] = {
0x4000,
0x2000,
0x0AAA,
0x4000, 0x2000, 0x0AAA,
};
static s16 ang_table2[6] = {
0x0AAA, 0x2000, 0x2AAA, 0x4000, 0x4E38, 0x6000,
};
if (param_1 < 0) {
@@ -621,17 +365,6 @@ static int check_flontofplayer(u32 param_0, s16 param_1, s16 param_2) {
return false;
}
/* ############################################################################################## */
/* 80452668-80452670 000C68 0004+04 2/2 0/0 0/0 .sdata2 @4448 */
SECTION_SDATA2 static f32 lit_4448[1 + 1 /* padding */] = {
32768.0f,
/* padding */
0.0f,
};
/* 80452670-80452678 000C70 0008+00 3/3 0/0 0/0 .sdata2 @4450 */
SECTION_SDATA2 static f64 lit_4450 = 4503601774854144.0 /* cast s32 to float */;
/* 80070BF4-80070C40 06B534 004C+00 2/2 0/0 0/0 .text distace_weight__Ffsf */
static f32 distace_weight(f32 param_0, s16 param_1, f32 param_2) {
f32 tmp = param_1 / 32768.0f;
@@ -649,22 +382,9 @@ static f32 distace_angle_adjust(f32 param_0, s16 param_1, f32 param_2) {
return param_0 * ((1.0f - param_2) + (param_2 * ((1.0f - tmp) * (1.0f - tmp))));
}
/* ############################################################################################## */
/* 80452678-80452680 000C78 0008+00 3/3 0/0 0/0 .sdata2 @4514 */
SECTION_SDATA2 static f64 lit_4514 = 0.5;
/* 80452680-80452688 000C80 0008+00 3/3 0/0 0/0 .sdata2 @4515 */
SECTION_SDATA2 static f64 lit_4515 = 3.0;
/* 80452688-80452690 000C88 0008+00 3/3 0/0 0/0 .sdata2 @4516 */
SECTION_SDATA2 static u8 lit_4516[8] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 80070CA0-80070E90 06B5E0 01F0+00 3/3 0/0 0/0 .text check_distace__FP4cXyzsP4cXyzffff
*/
static bool check_distace(cXyz* param_0, s16 param_1, cXyz* param_2, f32 param_3, f32 param_4,
static BOOL check_distace(cXyz* param_0, s16 param_1, cXyz* param_2, f32 param_3, f32 param_4,
f32 param_5, f32 param_6) {
cXyz tmp = *param_2 - *param_0;
@@ -680,14 +400,6 @@ static bool check_distace(cXyz* param_0, s16 param_1, cXyz* param_2, f32 param_3
return true;
}
/* ############################################################################################## */
/* 80452690-80452694 000C90 0004+00 3/3 0/0 0/0 .sdata2 @4562 */
SECTION_SDATA2 static f32 lit_4562 = -1.0f;
/* 80452694-80452698 000C94 0004+00 3/3 0/0 0/0 .sdata2 @4563 */
SECTION_SDATA2 static f32 lit_4563 = 0.5f;
/* 80070E90-800710C0 06B7D0 0230+00 2/2 0/0 0/0 .text
* calcWeight__12dAttention_cFiP10fopAc_ac_cfssPUl */
f32 dAttention_c::calcWeight(int param_0, fopAc_ac_c* param_1, f32 param_2, s16 param_3,
@@ -759,7 +471,6 @@ f32 dAttention_c::calcWeight(int param_0, fopAc_ac_c* param_1, f32 param_2, s16
return weight;
}
/* 800710C0-80071240 06BA00 0180+00 1/1 0/0 0/0 .text
* setList__12dAttention_cFiP10fopAc_ac_cff7cSAngleUl */
void dAttention_c::setList(int param_0, fopAc_ac_c* param_1, f32 param_2, f32 param_3,
@@ -820,7 +531,6 @@ void dAttention_c::setList(int param_0, fopAc_ac_c* param_1, f32 param_2, f32 pa
}
}
/* 80071240-8007138C 06BB80 014C+00 6/6 0/0 0/0 .text initList__12dAttention_cFUl */
void dAttention_c::initList(u32 flags) {
mPlayerAttentionFlags = flags;
@@ -851,7 +561,6 @@ void dAttention_c::initList(u32 flags) {
setFlag(0x1000);
}
/* 8007138C-800713CC 06BCCC 0040+00 1/1 0/0 0/0 .text select_attention__FP10fopAc_ac_cPv
*/
static int select_attention(fopAc_ac_c* param_0, void* i_attention) {
@@ -907,12 +616,6 @@ int dAttention_c::SelectAttention(fopAc_ac_c* param_0) {
return 0;
}
/* 8007167C-800716B8 06BFBC 003C+00 0/0 9/9 0/0 .text __dt__7cSGlobeFv */
extern "C" void __dt__7cSGlobeFv() {
// NONMATCHING
}
/* 800716B8-800718A4 06BFF8 01EC+00 4/4 0/0 0/0 .text sortList__12dAttention_cFv */
void dAttention_c::sortList() {
int i;
@@ -1387,7 +1090,7 @@ void dAttention_c::judgementStatus4Switch() {
setFlag(0x800000);
}
} else if (field_0x32b == 0) {
if (mDoCPd_c::getStickY(mPadNo) < lit_4064) {
if (mDoCPd_c::getStickY(mPadNo) < -0.9f) {
mAttnStatus = ST_NONE;
freeAttention();
} else if (nextAttention()) {
@@ -1600,7 +1303,6 @@ void dAttention_c::lockSoundStart(u32 i_sfxID) {
}
}
/* 80072DD8-80072FE8 06D718 0210+00 1/1 0/0 0/0 .text setAnm__10dAttDraw_cFUcf */
void dAttDraw_c::setAnm(u8 param_0, f32 param_1) {
field_0x170 = param_0;
@@ -1623,7 +1325,6 @@ void dAttDraw_c::setAnm(u8 param_0, f32 param_1) {
}
}
/* 80072FE8-80073004 06D928 001C+00 1/1 0/0 0/0 .text setAlphaAnm__10dAttDraw_cFUcUc */
void dAttDraw_c::setAlphaAnm(u8 param_0, u8 param_1) {
field_0x171 = param_0;
@@ -1632,17 +1333,6 @@ void dAttDraw_c::setAlphaAnm(u8 param_0, u8 param_1) {
field_0x174 = param_1;
}
/* ############################################################################################## */
/* 804526A0-804526A8 000CA0 0004+04 1/1 0/0 0/0 .sdata2 @5668 */
SECTION_SDATA2 static f32 lit_5668[1 + 1 /* padding */] = {
255.0f,
/* padding */
0.0f,
};
/* 804526A8-804526B0 000CA8 0008+00 1/1 0/0 0/0 .sdata2 @5670 */
SECTION_SDATA2 static f64 lit_5670 = 4503599627370496.0 /* cast u32 to float */;
/* 80073004-800732AC 06D944 02A8+00 1/1 0/0 0/0 .text alphaAnm__10dAttDraw_cFv */
void dAttDraw_c::alphaAnm() {
f32 dVar9 = (f32)field_0x172 / (f32)field_0x171;
@@ -1686,20 +1376,6 @@ void dAttDraw_c::alphaAnm() {
}
}
/* 800732AC-800732B0 06DBEC 0004+00 0/0 3/0 0/0 .text setTevKColor__11J3DTevBlockFUlPC10J3DGXColor
*/
void J3DTevBlock::setTevKColor(u32 param_0, J3DGXColor const* param_1) {
/* empty function */
}
/* ############################################################################################## */
/* 804526B0-804526B4 000CB0 0004+00 1/1 0/0 0/0 .sdata2 @5784 */
SECTION_SDATA2 static f32 lit_5784 = 0.01745329238474369f;
/* 804526B4-804526B8 000CB4 0004+00 1/1 0/0 0/0 .sdata2 @5785 */
SECTION_SDATA2 static f32 lit_5785 = -100.0f;
/* 800732B0-8007353C 06DBF0 028C+00 1/1 0/0 0/0 .text draw__10dAttDraw_cFR4cXyzPA4_f */
void dAttDraw_c::draw(cXyz& param_0, Mtx param_1) {
J3DModelData* modelData = mModel[field_0x170]->getModelData();
@@ -1743,7 +1419,6 @@ void dAttDraw_c::draw(cXyz& param_0, Mtx param_1) {
dComIfGd_setList();
}
/* 8007353C-800735DC 06DE7C 00A0+00 8/8 13/13 21/21 .text LockonTarget__12dAttention_cFl
*/
fopAc_ac_c* dAttention_c::LockonTarget(s32 param_0) {
@@ -1786,7 +1461,6 @@ f32 dAttention_c::LockonReleaseDistanse() {
return distace_angle_adjust(dist_table[idx].mDistanceAdjust, tmp_a, 1.0f) + dist_table[idx].mDistMaxRelease;
}
/* 800736CC-80073734 06E00C 0068+00 2/2 0/0 0/0 .text LockonTargetPId__12dAttention_cFl
*/
fpc_ProcID dAttention_c::LockonTargetPId(s32 param_0) {
@@ -1920,11 +1594,10 @@ void dAttCatch_c::proc() {
/* 80073A08-80073CA4 06E348 029C+00 0/0 0/0 10/10 .text
* request__11dAttCatch_cFP10fopAc_ac_cUcfffsi */
// regalloc
// NONMATCHING regalloc
// This is a weird one. Some solution was found that changes dComIfGp_getPlayer but it is incompatible
// with other calls.
// https://decomp.me/scratch/aMCEI
#ifdef NONMATCHING
int dAttCatch_c::request(fopAc_ac_c* param_1, u8 param_2, f32 param_3, f32 param_4,
f32 param_5, s16 param_6, int param_7) {
fopAc_ac_c* player = dComIfGp_getPlayer(0);
@@ -1941,7 +1614,7 @@ int dAttCatch_c::request(fopAc_ac_c* param_1, u8 param_2, f32 param_3, f32 param
}
if (param_6 != 0) {
cSGlobe acStack_50(acStack_48);
s16 sVar5 = acStack_50.U() - fopAcM_GetShapeAngle_p((fopAc_ac_c*)player)->y;
s16 sVar5 = acStack_50.U() - fopAcM_GetShapeAngle_p(player)->y;
if (sVar5 < 0) {
sVar5 = -sVar5;
}
@@ -1961,12 +1634,6 @@ int dAttCatch_c::request(fopAc_ac_c* param_1, u8 param_2, f32 param_3, f32 param
}
return 0;
}
#else
int dAttCatch_c::request(fopAc_ac_c* param_0, u8 param_1, f32 param_2, f32 param_3,
f32 param_4, s16 param_5, int param_6) {
// NONMATCHING
}
#endif
/* 80073CA4-80073CD4 06E5E4 0030+00 0/0 1/1 0/0 .text convPId__10dAttLook_cFUi */
fopAc_ac_c* dAttLook_c::convPId(fpc_ProcID i_id) {
@@ -2027,27 +1694,3 @@ int dAttLook_c::request(fopAc_ac_c* param_1, f32 param_2, f32 param_3, f32 param
/* 80073FC4-8007400C 06E904 0048+00 2/1 0/0 0/0 .text __dt__15dAttDrawParam_cFv */
dAttDrawParam_c::~dAttDrawParam_c() {}
/* ############################################################################################## */
/* 8045067A-8045067E -00001 0004+00 0/0 0/0 0/0 .sdata None */
#pragma push
#pragma force_active on
SECTION_SDATA static u8 pad_8045067A[4] = {
0x00,
0x00,
0x00,
0x00,
};
#pragma pop
/* 80450680-80450688 000100 0008+00 0/0 2/2 0/0 .sdata None */
SECTION_SDATA extern u8 data_80450680[8] = {
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 80450688-80450690 000108 0008+00 0/0 1/1 0/0 .sdata None */
SECTION_SDATA extern u8 data_80450688[8] = {
0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 8037A770-8037A770 006DD0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
+4 -2
View File
@@ -141,13 +141,15 @@ dBgWKCol::dBgWKCol() {
dBgWKCol::~dBgWKCol() {}
/* 8007E7D0-8007E804 079110 0034+00 0/0 1/1 0/0 .text initKCollision__8dBgWKColFPv */
void dBgWKCol::initKCollision(void* i_kclData) {
void* dBgWKCol::initKCollision(void* i_kclData) {
KCol_Header* header_p = (KCol_Header*)i_kclData;
header_p->pos_data_offset = (u32)header_p + header_p->pos_data_offset;
header_p->nrm_data_offset = (u32)header_p + header_p->nrm_data_offset;
header_p->prism_data_offset = (u32)header_p + header_p->prism_data_offset;
header_p->block_data_offset = (u32)header_p + header_p->block_data_offset;
return i_kclData;
}
/* 8007E804-8007E850 079144 004C+00 0/0 0/0 1/1 .text create__8dBgWKColFPvPv */
@@ -840,4 +842,4 @@ void dBgWKCol::TransPos(cBgS_PolyInfo const& param_0, void* param_1, bool param_
/* 80082F94-80082F98 07D8D4 0004+00 1/0 0/0 0/0 .text
* MatrixCrrPos__8dBgWKColFRC13cBgS_PolyInfoPvbP4cXyzP5csXyzP5csXyz */
void dBgWKCol::MatrixCrrPos(cBgS_PolyInfo const& param_0, void* param_1, bool param_2,
cXyz* param_3, csXyz* param_4, csXyz* param_5) {}
cXyz* param_3, csXyz* param_4, csXyz* param_5) {}
+15 -75
View File
@@ -7,25 +7,6 @@
#include "SSystem/SComponent/c_math.h"
#include "d/actor/d_a_player.h"
#include "d/d_com_inf_game.h"
#include "dol2asm.h"
//
// Forward References:
//
extern "C" void __dt__11dCamParam_cFv();
extern "C" void __dt__11dCamSetup_cFv();
extern "C" void __dt__9dCstick_cFv();
//
// External References:
//
extern "C" void __dl__FPv();
//
// Declarations:
//
/* 8008813C-80088284 082A7C 0148+00 0/0 12/12 0/0 .text rationalBezierRatio__8dCamMathFff
*/
@@ -69,9 +50,9 @@ f32 dCamMath::rationalBezierRatio(f32 param_0, f32 param_1) {
return 0.0f;
}
/* ############################################################################################## */
/* 80452810-80452814 000E10 0004+00 2/2 0/0 0/0 .sdata2 @3791 */
SECTION_SDATA2 static f32 lit_3791 = 1.0f; // placed in a weird order, so can't remove until fixed
static f32 dummy_literal1() {
return 1.0f;
}
/* 80088284-800882E0 082BC4 005C+00 0/0 1/1 0/0 .text zoomFovy__8dCamMathFff */
f32 dCamMath::zoomFovy(f32 param_0, f32 param_1) {
@@ -112,30 +93,6 @@ f32 dCamMath::xyzHorizontalDistance(cXyz& i_posA, cXyz& i_posB) {
return sqrt((x * x) + (z * z));
}
/* ############################################################################################## */
/* 803AC500-803AC50C 009620 000C+00 2/2 0/0 0/0 .data __vt__11dCamSetup_c */
SECTION_DATA extern void* __vt__11dCamSetup_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__11dCamSetup_cFv,
};
/* 803AC50C-803AC518 00962C 000C+00 2/2 0/0 0/0 .data __vt__11dCamParam_c */
SECTION_DATA extern void* __vt__11dCamParam_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__11dCamParam_cFv,
};
/* 803AC518-803AC528 009638 000C+04 3/3 0/0 0/0 .data __vt__9dCstick_c */
SECTION_DATA extern void* __vt__9dCstick_c[3 + 1 /* padding */] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__9dCstick_cFv,
/* padding */
NULL,
};
/* 80088434-8008845C 082D74 0028+00 1/1 0/0 0/0 .text __ct__9dCstick_cFv */
dCstick_c::dCstick_c() {
mThresholdLow = 0.2f;
@@ -152,7 +109,7 @@ bool dCstick_c::Shift(u32 param_0) {
dCamBGChk_c::dCamBGChk_c() {
mFloorMargin = 32.0f;
mChkInfo[0].mDistance = lit_3791;
mChkInfo[0].mDistance = 1.0f;
mChkInfo[0].mChkAngle = 25.0f;
mChkInfo[0].mWeightH = 0.4f;
mChkInfo[0].mWeightL = 0.6f;
@@ -187,12 +144,6 @@ dCamParam_c::dCamParam_c(s32 i_styleID) {
mMapToolArg2 = -1;
}
/* 8008858C-800885D4 082ECC 0048+00 1/0 1/1 0/0 .text __dt__11dCamParam_cFv */
// dCamParam_c::~dCamParam_c() {
extern "C" void __dt__11dCamParam_cFv() {
// NONMATCHING
}
/* 800885D4-80088620 082F14 004C+00 1/1 7/7 0/0 .text Change__11dCamParam_cFl */
int dCamParam_c::Change(s32 i_styleID) {
if (i_styleID >= 0 && i_styleID < mStyleNum) {
@@ -220,15 +171,13 @@ int dCamParam_c::SearchStyle(u32 param_0) {
return styleID;
}
/* ############################################################################################## */
/* 80452858-8045285C 000E58 0004+00 1/1 0/0 0/0 .sdata2 @4058 */
SECTION_SDATA2 static f32 lit_4058 = 0.25f; // placed in a weird order, so can't remove until fixed
static f32 dummy_literal2() {
return 0.25f;
}
/* 80088668-800888B8 082FA8 0250+00 0/0 1/1 0/0 .text __ct__11dCamSetup_cFv */
dCamSetup_c::dCamSetup_c() {
f32 temp_1 = lit_3791;
mDrawNear = temp_1;
mDrawNear = 1.0f;
mDrawFar = 100000.0f;
field_0xc = 1;
mModeSwitchType = -1;
@@ -242,11 +191,11 @@ dCamSetup_c::dCamSetup_c() {
field_0x50 = 100.0f;
field_0x30 = 0.75f;
mBaseCushion = 0.28f;
mJumpCushion = temp_1;
mJumpCushion = 1.0f;
field_0x58 = 0.15f;
field_0x44 = 0.005f;
field_0x54 = 0.06f;
mCurveWeight = temp_1;
mCurveWeight = 1.0f;
field_0x34 = 25.0f;
mSubjLinkCullDist = 70.0f;
mParallelDist = 60.0f;
@@ -260,15 +209,15 @@ dCamSetup_c::dCamSetup_c() {
mFalseAngle = 30.0f;
mDebugFlags = 1;
field_0xa = 0x118;
field_0xa |= 0x200;
field_0xa |= 0x400;
mFlags2 = 0x118;
mFlags2 |= 0x200;
mFlags2 |= 0x400;
mChargeLatitude = 27.0f;
mChargeTimer = 90;
mChargeBRatio = 0.5f;
mLockonChangeTimer = 40;
mLockonChangeCushion = lit_4058;
mLockonChangeCushion = 0.25f;
field_0x6c = 45.0f;
mForceLockOffDist = 3500.0f;
mForceLockOffTimer = 90;
@@ -296,7 +245,7 @@ dCamSetup_c::dCamSetup_c() {
field_0xe0 = 0.06f;
field_0xec = 25;
field_0xf4 = 0.85f;
field_0xf8 = temp_1;
field_0xf8 = 1.0f;
field_0xf0 = 12;
field_0xe4 = 50.0f;
field_0xe8 = 0.0f;
@@ -307,12 +256,6 @@ dCamSetup_c::dCamSetup_c() {
dCam_getBody()->EventRecoverNotime();
}
/* 800888B8-80088918 0831F8 0060+00 1/0 1/1 0/0 .text __dt__11dCamSetup_cFv */
// dCamSetup_c::~dCamSetup_c() {
extern "C" void __dt__11dCamSetup_cFv() {
// NONMATCHING
}
/* 80088918-80088988 083258 0070+00 0/0 1/1 0/0 .text CheckLatitudeRange__11dCamSetup_cFPs */
bool dCamSetup_c::CheckLatitudeRange(s16* param_0) {
s16 temp0 = cAngle::d2s(field_0x60);
@@ -339,6 +282,3 @@ f32 dCamSetup_c::PlayerHideDist() {
return mSubjLinkCullDist;
}
/* 800889B0-800889F8 0832F0 0048+00 1/0 0/0 0/0 .text __dt__9dCstick_cFv */
dCstick_c::~dCstick_c() {}
-327
View File
@@ -5043,330 +5043,3 @@ void clrFlag__9dCamera_cFUl() {
void chkFlag__9dCamera_cFUl() {
// NONMATCHING
}
/* 80182994-8018299C 17D2D4 0008+00 1/1 0/0 0/0 .text GetCheckObjectCount__12dAttention_cFv */
void dAttention_c::GetCheckObjectCount() {
// NONMATCHING
}
/* 8018299C-801829AC 17D2DC 0010+00 4/4 0/0 0/0 .text dComIfGp_getAttention__Fv */
// static void dComIfGp_getAttention() {
void dComIfGp_getAttention__Fv() {
// NONMATCHING
}
/* 801829AC-801829E0 17D2EC 0034+00 1/1 0/0 0/0 .text Bank__9dCamera_cFv */
void dCamera_c::Bank() {
// NONMATCHING
}
/* 801829E0-801829EC 17D320 000C+00 2/2 0/0 0/0 .text checkThrowDamage__9daPy_py_cCFv */
// void daPy_py_c::checkThrowDamage() const {
void checkThrowDamage__9daPy_py_cCFv() {
// NONMATCHING
}
/* 801829EC-801829F0 17D32C 0004+00 1/1 0/0 0/0 .text GetNP__8cM3dGPlaFv */
// void cM3dGPla::GetNP() {
void GetNP__8cM3dGPlaFv() {
/* empty function */
}
/* 801829F0-801829F8 17D330 0008+00 4/4 0/0 0/0 .text GetCross__11cBgS_LinChkFv */
void cBgS_LinChk::GetCross() {
// NONMATCHING
}
/* 801829F8-80182A08 17D338 0010+00 1/1 0/0 0/0 .text dComIfG_Bgsp__Fv */
// static void dComIfG_Bgsp() {
void dComIfG_Bgsp__Fv() {
// NONMATCHING
}
/* 80182A08-80182A10 17D348 0008+00 2/2 0/0 0/0 .text V__7cSGlobeCFv */
// void cSGlobe::V() const {
void V__7cSGlobeCFv() {
// NONMATCHING
}
/* 80182A10-80182A24 17D350 0014+00 1/1 0/0 0/0 .text checkGoronSideMove__9daPy_py_cCFv
*/
// void daPy_py_c::checkGoronSideMove() const {
void checkGoronSideMove__9daPy_py_cCFv() {
// NONMATCHING
}
/* 80182A24-80182A3C 17D364 0018+00 3/3 0/0 0/0 .text JMAFastSqrt__Ff */
// static void JMAFastSqrt(f32 param_0) {
static asm void JMAFastSqrt__Ff() {
// NONMATCHING
}
/* 80182A3C-80182A48 17D37C 000C+00 5/5 0/0 0/0 .text fabsf__3stdFf */
void fabsf__3stdFf() {
// asm void std::fabsf(f32 param_0) {
// NONMATCHING
}
/* 80182A48-80182A4C 17D388 0004+00 2/2 0/0 0/0 .text __ct__7cSAngleFv */
// cSAngle::cSAngle() {
void __ct__7cSAngleFv() {
/* empty function */
}
/* 80182A4C-80182A54 17D38C 0008+00 2/2 0/0 0/0 .text R__7cSGlobeFf */
// void cSGlobe::R(f32 param_0) {
void R__7cSGlobeFf() {
// NONMATCHING
}
/* 80182A54-80182A64 17D394 0010+00 5/5 0/0 0/0 .text dComIfGp_evmng_cameraPlay__Fv */
// static void dComIfGp_evmng_cameraPlay() {
void dComIfGp_evmng_cameraPlay__Fv() {
// NONMATCHING
}
/* 80182A64-80182A6C 17D3A4 0008+00 2/2 0/0 0/0 .text R__7cSGlobeCFv */
// void cSGlobe::R() const {
void R__7cSGlobeCFv() {
// NONMATCHING
}
/* 80182A6C-80182A8C 17D3AC 0020+00 2/2 0/0 0/0 .text __lt__7cSAngleCFRC7cSAngle */
// bool cSAngle::operator<(cSAngle const& param_0) const {
bool __lt__7cSAngleCFRC7cSAngle() {
// NONMATCHING
}
/* 80182A8C-80182AAC 17D3CC 0020+00 2/2 0/0 0/0 .text __gt__7cSAngleCFRC7cSAngle */
// bool cSAngle::operator>(cSAngle const& param_0) const {
bool __gt__7cSAngleCFRC7cSAngle() {
// NONMATCHING
}
/* 80182AAC-80182AB4 17D3EC 0008+00 1/1 0/0 0/0 .text getRightFootPosP__9daPy_py_cFv */
// void daPy_py_c::getRightFootPosP() {
void getRightFootPosP__9daPy_py_cFv() {
// NONMATCHING
}
/* 80182AB4-80182ABC 17D3F4 0008+00 1/1 0/0 0/0 .text getLeftFootPosP__9daPy_py_cFv */
// void daPy_py_c::getLeftFootPosP() {
void getLeftFootPosP__9daPy_py_cFv() {
// NONMATCHING
}
/* 80182AC4-80182AD0 17D404 000C+00 1/1 0/0 0/0 .text checkCopyRodThrowAfter__9daPy_py_cCFv */
// void daPy_py_c::checkCopyRodThrowAfter() const {
void checkCopyRodThrowAfter__9daPy_py_cCFv() {
// NONMATCHING
}
/* 80182AD0-80182AD8 -00001 0008+00 0/0 0/0 0/0 .text keepLock__12dAttention_cFi */
void dAttention_c::keepLock(int param_0) {
*(u32*)(((u8*)this) + 1220) /* this->field_0x4c4 */ = (u32)(param_0);
}
/* 80182AD8-80182B9C 17D418 00C4+00 1/1 0/0 0/0 .text checkRide__9daPy_py_cCFv */
// void daPy_py_c::checkRide() const {
void checkRide__9daPy_py_cCFv() {
// NONMATCHING
}
/* 80182B9C-80182BB8 17D4DC 001C+00 1/1 0/0 0/0 .text getRightHandPos__9daPy_py_cCFv */
// void daPy_py_c::getRightHandPos() const {
void getRightHandPos__9daPy_py_cCFv() {
// NONMATCHING
}
/* 80182BB8-80182BD0 17D4F8 0018+00 1/1 0/0 0/0 .text CheckFlag2__11dCamSetup_cFUs */
// void dCamSetup_c::CheckFlag2(u16 param_0) {
void CheckFlag2__11dCamSetup_cFUs() {
// NONMATCHING
}
/* 80182BD0-80182BE8 17D510 0018+00 2/2 0/0 0/0 .text CheckFlag__11dCamSetup_cFUs */
// void dCamSetup_c::CheckFlag(u16 param_0) {
void CheckFlag__11dCamSetup_cFUs() {
// NONMATCHING
}
/* 80182BE8-80182BF0 17D528 0008+00 1/1 0/0 0/0 .text WaitRollSpeed__11dCamSetup_cFv */
void dCamSetup_c::WaitRollSpeed() {
// NONMATCHING
}
/* 80182BF0-80182BF8 17D530 0008+00 1/1 0/0 0/0 .text WaitRollTimer__11dCamSetup_cFv */
void dCamSetup_c::WaitRollTimer() {
// NONMATCHING
}
/* 80182BF8-80182C14 17D538 001C+00 1/1 0/0 0/0 .text getTrigA__8mDoCPd_cFUl */
// void mDoCPd_c::getTrigA(u32 param_0) {
void getTrigA__8mDoCPd_cFUl() {
// NONMATCHING
}
/* 80182C14-80182C1C 17D554 0008+00 1/1 0/0 0/0 .text __ops__7cSAngleCFv */
// void cSAngle::__ops() const {
void __ops__7cSAngleCFv() {
// NONMATCHING
}
/* 80182C24-80182C2C 17D564 0008+00 1/1 0/0 0/0 .text ThrowCushion__11dCamSetup_cFv */
void dCamSetup_c::ThrowCushion() {
// NONMATCHING
}
/* 80182C2C-80182C34 17D56C 0008+00 1/1 0/0 0/0 .text ThrowVAngle__11dCamSetup_cFv */
void dCamSetup_c::ThrowVAngle() {
// NONMATCHING
}
/* 80182C34-80182C3C 17D574 0008+00 1/1 0/0 0/0 .text ThrowCtrAdjust__11dCamSetup_cFv */
void dCamSetup_c::ThrowCtrAdjust() {
// NONMATCHING
}
/* 80182C3C-80182C48 17D57C 000C+00 1/1 0/0 0/0 .text Arg2__11dCamParam_cFv */
void dCamParam_c::Arg2() {
// NONMATCHING
}
/* 80182C48-80182C50 17D588 0008+00 1/1 0/0 0/0 .text Arg1__11dCamParam_cFv */
void dCamParam_c::Arg1() {
// NONMATCHING
}
/* 80182C50-80182C58 17D590 0008+00 1/1 0/0 0/0 .text Arg0__11dCamParam_cFv */
void dCamParam_c::Arg0() {
// NONMATCHING
}
/* 80182C58-80182C60 17D598 0008+00 1/1 0/0 0/0 .text Fovy__11dCamParam_cFv */
void dCamParam_c::Fovy() {
// NONMATCHING
}
/* 80182C60-80182C6C 17D5A0 000C+00 1/1 0/0 0/0 .text Arg2__11dCamParam_cFs */
void dCamParam_c::Arg2(s16 param_0) {
// NONMATCHING
}
/* 80182C6C-80182C74 -00001 0008+00 0/0 0/0 0/0 .text Arg1__11dCamParam_cFUc */
void dCamParam_c::Arg1(u8 param_0) {
*(u8*)(((u8*)this) + 2) /* this->field_0x2 */ = (u8)(param_0);
}
/* 80182C74-80182C7C -00001 0008+00 0/0 0/0 0/0 .text Arg0__11dCamParam_cFUc */
void dCamParam_c::Arg0(u8 param_0) {
*(u8*)(((u8*)this) + 1) /* this->field_0x1 */ = (u8)(param_0);
}
/* 80182C7C-80182C84 -00001 0008+00 0/0 0/0 0/0 .text Fovy__11dCamParam_cFUc */
void dCamParam_c::Fovy(u8 param_0) {
*(u8*)this = (u8)(param_0);
}
/* 80182C84-80182C8C 17D5C4 0008+00 2/2 0/0 0/0 .text U__7cSGlobeCFv */
// void cSGlobe::U() const {
void U__7cSGlobeCFv() {
// NONMATCHING
}
/* 80182C8C-80182CA8 17D5CC 001C+00 5/5 0/0 0/0 .text Flag__11dCamParam_cFlUs */
// void dCamParam_c::Flag(s32 param_0, u16 param_1) {
void Flag__11dCamParam_cFlUs() {
// NONMATCHING
}
/* 80182CA8-80182CB4 17D5E8 000C+00 5/5 0/0 0/0 .text __as__7cSAngleFRC7cSAngle */
// void cSAngle::operator=(cSAngle const& param_0) {
void __as__7cSAngleFRC7cSAngle() {
// NONMATCHING
}
/* 80182CD0-80182CEC 17D610 001C+00 5/5 0/0 0/0 .text Val__11dCamParam_cFli */
void dCamParam_c::Val(s32 param_0, int param_1) {
// NONMATCHING
}
/* 80182CEC-80182CF4 17D62C 0008+00 1/1 0/0 0/0 .text ChargeBRatio__11dCamSetup_cFv */
void dCamSetup_c::ChargeBRatio() {
// NONMATCHING
}
/* 80182CF4-80182CFC 17D634 0008+00 1/1 0/0 0/0 .text ChargeTimer__11dCamSetup_cFv */
void dCamSetup_c::ChargeTimer() {
// NONMATCHING
}
/* 80182CFC-80182D04 17D63C 0008+00 1/1 0/0 0/0 .text ChargeLatitude__11dCamSetup_cFv */
void dCamSetup_c::ChargeLatitude() {
// NONMATCHING
}
/* 80182D04-80182D10 17D644 000C+00 2/2 0/0 0/0 .text getLashDashStart__9daHorse_cCFv */
void daHorse_c::getLashDashStart() const {
// NONMATCHING
}
/* 80182D10-80182D1C 17D650 000C+00 1/1 0/0 0/0 .text fabs__3stdFf */
// void std::fabs(f32 param_0) {
void fabs__3stdFf() {
// NONMATCHING
}
/* 80182D1C-80182D28 17D65C 000C+00 1/1 0/0 0/0 .text checkTurnStandCamera__9daHorse_cCFv
*/
// void daHorse_c::checkTurnStandCamera() const {
void checkTurnStandCamera__9daHorse_cCFv() {
// NONMATCHING
}
/* 80182D28-80182D48 17D668 0020+00 1/1 0/0 0/0 .text d2s__6cAngleFf */
// void cAngle::d2s(f32 param_0) {
void d2s__6cAngleFf() {
// NONMATCHING
}
/* 80182D48-80182D5C 17D688 0014+00 1/1 0/0 0/0 .text checkJump__9daHorse_cCFv */
// void daHorse_c::checkJump() const {
void checkJump__9daHorse_cCFv() {
// NONMATCHING
}
/* 80182D5C-80182D64 17D69C 0008+00 1/1 0/0 0/0 .text fopAcM_GetParam__FPCv */
// static void fopAcM_GetParam(void const* param_0) {
static asm void fopAcM_GetParam__FPCv() {
// NONMATCHING
}
/* 80182D64-80182D78 17D6A4 0014+00 1/1 0/0 0/0 .text checkNoAttention__12daTagMstop_cCFv
*/
// void daTagMstop_c::checkNoAttention() const {
void checkNoAttention__12daTagMstop_cCFv() {
// NONMATCHING
}
/* 80182D78-80182D8C 17D6B8 0014+00 1/1 0/0 0/0 .text checkNoAttention__12daTagMhint_cCFv
*/
// void daTagMhint_c::checkNoAttention() const {
void checkNoAttention__12daTagMhint_cCFv() {
// NONMATCHING
}
/* 80182D8C-80182D9C 17D6CC 0010+00 1/1 0/0 0/0 .text set__4cXyzFfff */
// void cXyz::set(f32 param_0, f32 param_1, f32 param_2) {
void set__4cXyzFfff() {
// NONMATCHING
}
/* 80182D9C-80182DD4 17D6DC 0038+00 1/1 0/0 0/0 .text checkEndMessage__12daTagMwait_cFv
*/
// void daTagMwait_c::checkEndMessage() {
void checkEndMessage__12daTagMwait_cFv() {
// NONMATCHING
}
/* 80393F68-80393F68 0205C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
+8 -13
View File
@@ -7,10 +7,6 @@
#include "f_pc/f_pc_searcher.h"
#include "f_op/f_op_actor_mng.h"
//
// Declarations:
//
/* 8008364C-80083660 07DF8C 0014+00 3/3 0/0 0/0 .text ClrActorInfo__22dCcD_GAtTgCoCommonBaseFv */
void dCcD_GAtTgCoCommonBase::ClrActorInfo() {
mApid = -1;
@@ -293,17 +289,16 @@ u8 dCcD_GObjInf::GetTgHitObjSe() {
}
}
/* ############################################################################################## */
/* 8037A780-8037A7E0 006DE0 0060+00 1/1 0/0 0/0 .rodata m_hitSeID__12dCcD_GObjInf */
Z2SoundID const dCcD_GObjInf::m_hitSeID[24] = {
Z2SE_HIT_DUMMY_CANCEL, Z2SE_HIT_SWORD, Z2SE_HIT_SHIELD_ATTACK,
Z2SE_HIT_WOLFKICK, Z2SE_HIT_HOOKSHOT_STICK, Z2SE_HIT_METAL_WEAPON,
Z2SE_HIT_STONE_WEAPON, Z2SE_HIT_HARD_BODY, Z2SE_HIT_SOFT_BODY,
Z2SE_HIT_DUMMY_CANCEL, Z2SE_HIT_SWORD_STAB, Z2SE_HIT_WOLFKICK,
Z2SE_HIT_SWORD_RUN, Z2SE_HIT_EN_WOOD_WEAPON, Z2SE_HIT_THOROW_OBJ,
Z2SE_HIT_SPINNER, Z2SE_HIT_COPYROD, Z2SE_HIT_STATUE_HAMMER,
Z2SE_HIT_PACHINKO, Z2SE_HIT_AL_ARROW_STICK, Z2SE_HIT_WOLFBITE,
Z2SE_HIT_WOOD_WEAPON, Z2SE_HIT_HAMMER, Z2SE_HIT_ARROW_STICK,
Z2SE_HIT_DUMMY_CANCEL, Z2SE_HIT_SWORD, Z2SE_HIT_SHIELD_ATTACK,
Z2SE_HIT_WOLFKICK, Z2SE_HIT_WOLFBITE, Z2SE_HIT_WOOD_WEAPON,
Z2SE_HIT_HAMMER, Z2SE_HIT_ARROW_STICK, Z2SE_HIT_HOOKSHOT_STICK,
Z2SE_HIT_METAL_WEAPON, Z2SE_HIT_STONE_WEAPON, Z2SE_HIT_HARD_BODY,
Z2SE_HIT_SOFT_BODY, Z2SE_HIT_DUMMY_CANCEL, Z2SE_HIT_SWORD_STAB,
Z2SE_HIT_WOLFKICK, Z2SE_HIT_SWORD_RUN, Z2SE_HIT_EN_WOOD_WEAPON,
Z2SE_HIT_THOROW_OBJ, Z2SE_HIT_SPINNER, Z2SE_HIT_COPYROD,
Z2SE_HIT_STATUE_HAMMER, Z2SE_HIT_PACHINKO, Z2SE_HIT_AL_ARROW_STICK,
};
/* 800845B0-8008460C 07EEF0 005C+00 0/0 3/3 32/32 .text getHitSeID__12dCcD_GObjInfFUci */
+3 -112
View File
@@ -8,98 +8,6 @@
#include "d/d_jnt_col.h"
#include "f_op/f_op_actor_mng.h"
//
// Forward References:
//
extern "C" void Ct__4dCcSFv();
extern "C" void Dt__4dCcSFv();
extern "C" void ChkShieldFrontRange__4dCcSFP8cCcD_ObjP8cCcD_ObjiPC4cXyz();
extern "C" void ChkShield__4dCcSFP8cCcD_ObjP8cCcD_ObjP12dCcD_GObjInfP12dCcD_GObjInfPC4cXyz();
extern "C" void CalcTgPlusDmg__4dCcSFP8cCcD_ObjP8cCcD_ObjP9cCcD_SttsP9cCcD_Stts();
extern "C" void
ChkAtTgHitAfterCross__4dCcSFbbPC12cCcD_GObjInfPC12cCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP10cCcD_GSttsP10cCcD_GStts();
extern "C" void
SetCoGObjInf__4dCcSFbbP12cCcD_GObjInfP12cCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP10cCcD_GSttsP10cCcD_GStts();
extern "C" void GetRank__4dCcSFUc();
extern "C" bool ChkNoHitGCo__4dCcSFP8cCcD_ObjP8cCcD_Obj();
extern "C" void SetPosCorrect__4dCcSFP8cCcD_ObjP4cXyzP8cCcD_ObjP4cXyzf();
extern "C" void CalcParticleAngle__4dCcSFP12dCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP5csXyz();
extern "C" void
ProcAtTgHitmark__4dCcSFbbP8cCcD_ObjP8cCcD_ObjP12dCcD_GObjInfP12dCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP10dCcD_GSttsP10dCcD_GSttsP4cXyzb();
extern "C" void
SetAtTgGObjInf__4dCcSFbbP8cCcD_ObjP8cCcD_ObjP12cCcD_GObjInfP12cCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP10cCcD_GSttsP10cCcD_GSttsP4cXyz();
extern "C" void ChkCamera__4dCcSFR4cXyzR4cXyzfP10fopAc_ac_cP10fopAc_ac_cP10fopAc_ac_c();
extern "C" void chkCameraPoint__4dCcSFRC4cXyzPQ214cCcD_ShapeAttr5ShapeP10fopAc_ac_cP10fopAc_ac_c();
extern "C" void __dt__12cCcD_SphAttrFv();
extern "C" void MoveAfterCheck__4dCcSFv();
extern "C" void DrawAfter__4dCcSFv();
extern "C" void Move__4dCcSFv();
extern "C" void Draw__4dCcSFv();
extern "C" void MassClear__4dCcSFv();
extern "C" void ChkAtTgMtrlHit__4dCcSFUcUc();
extern "C" void ChkNoHitGAtTg__4dCcSFPC12cCcD_GObjInfPC12cCcD_GObjInfP10cCcD_GSttsP10cCcD_GStts();
extern "C" u8 m_mtrl_hit_tbl__4dCcS[64];
extern "C" extern void* __vt__4dCcS[13];
//
// External References:
//
extern "C" void ZXYrotS__14mDoMtx_stack_cFRC5csXyz();
extern "C" void __dt__4dCcSFv();
extern "C" void getHitmarkPosAndAngle__9dJntCol_cCFPC4cXyzPC5csXyzP4cXyzP5csXyzi();
extern "C" void setHitMark__13dPa_control_cFUsP10fopAc_ac_cPC4cXyzPC5csXyzPC4cXyzUl();
extern "C" void SetHitApid__22dCcD_GAtTgCoCommonBaseFUi();
extern "C" void SetEffCounterTimer__22dCcD_GAtTgCoCommonBaseFv();
extern "C" void ChkEffCounter__22dCcD_GAtTgCoCommonBaseFv();
extern "C" void ChkAtNoGuard__12dCcD_GObjInfFv();
extern "C" void Ct__12dCcMassS_MngFv();
extern "C" void Clear__12dCcMassS_MngFv();
extern "C" void Chk__15cCcD_DivideInfoCFRC15cCcD_DivideInfo();
extern "C" void CalcDivideInfoOverArea__15cCcD_DivideAreaFP15cCcD_DivideInfoRC8cM3dGAab();
extern "C" void PlusCcMove__9cCcD_SttsFfff();
extern "C" void PlusDmg__9cCcD_SttsFi();
extern "C" void GetAc__8cCcD_ObjFv();
extern "C" void CalcAabBox__12cCcD_CpsAttrFv();
extern "C" void CalcAabBox__12cCcD_SphAttrFv();
extern "C" void Ct__4cCcSFv();
extern "C" void Dt__4cCcSFv();
extern "C" void Move__4cCcSFv();
extern "C" void DrawClear__4cCcSFv();
extern "C" void SetCoGCorrectProc__4cCcSFP8cCcD_ObjP8cCcD_Obj();
extern "C" void cM3d_CalcVecZAngle__FRC3VecP5csXyz();
extern "C" void __ct__8cM3dGCpsFv();
extern "C" void __dt__8cM3dGCpsFv();
extern "C" void Set__8cM3dGCpsFRC4cXyzRC4cXyzf();
extern "C" void Set__8cM3dGSphFRC9cM3dGSphS();
extern "C" void cLib_distanceAngleS__Fss();
extern "C" void __dl__FPv();
extern "C" void _savegpr_17();
extern "C" void _savegpr_23();
extern "C" void _savegpr_24();
extern "C" void _savegpr_25();
extern "C" void _savegpr_26();
extern "C" void _savegpr_29();
extern "C" void _restgpr_17();
extern "C" void _restgpr_23();
extern "C" void _restgpr_24();
extern "C" void _restgpr_25();
extern "C" void _restgpr_26();
extern "C" void _restgpr_29();
extern "C" extern void* __vt__8cM3dGAab[3];
extern "C" extern void* __vt__15cCcD_DivideInfo[3];
extern "C" extern void* __vt__8cM3dGSph[3];
extern "C" extern void* __vt__12cCcD_SphAttr[25];
extern "C" extern void* __vt__12cCcD_CpsAttr[25];
extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" u8 BaseZ__4cXyz[12];
//
// Declarations:
//
/* 80085ED4-80085F08 080814 0034+00 0/0 1/1 0/0 .text Ct__4dCcSFv */
void dCcS::Ct() {
cCcS::Ct();
@@ -243,8 +151,7 @@ bool dCcS::ChkAtTgHitAfterCross(bool i_setAt, bool i_setTg, cCcD_GObjInf const*
/* 80086240-80086360 080B80 0120+00 1/0 0/0 0/0 .text
* SetCoGObjInf__4dCcSFbbP12cCcD_GObjInfP12cCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP10cCcD_GSttsP10cCcD_GStts
*/
// weird reg alloc
#ifdef NONMATCHING
// NONMATCHING weird reg alloc
void dCcS::SetCoGObjInf(bool i_co2Set, bool i_co1Set, cCcD_GObjInf* i_co1Obj, cCcD_GObjInf* i_co2Obj,
cCcD_Stts* i_co1Stts, cCcD_Stts* i_co2Stts, cCcD_GStts* i_co1GStts,
cCcD_GStts* i_co2GStts) {
@@ -282,13 +189,6 @@ void dCcS::SetCoGObjInf(bool i_co2Set, bool i_co1Set, cCcD_GObjInf* i_co1Obj, cC
}
}
}
#else
void dCcS::SetCoGObjInf(bool param_0, bool param_1, cCcD_GObjInf* param_2,
cCcD_GObjInf* param_3, cCcD_Stts* param_4, cCcD_Stts* param_5,
cCcD_GStts* param_6, cCcD_GStts* param_7) {
// NONMATCHING
}
#endif
/* 80086360-80086404 080CA0 00A4+00 1/1 0/0 0/0 .text GetRank__4dCcSFUc */
int dCcS::GetRank(u8 weight) {
@@ -478,8 +378,7 @@ void dCcS::CalcParticleAngle(dCcD_GObjInf* i_atObjInf, cCcD_Stts* i_atStts, cCcD
/* 8008685C-80086AC0 08119C 0264+00 1/1 0/0 0/0 .text
* ProcAtTgHitmark__4dCcSFbbP8cCcD_ObjP8cCcD_ObjP12dCcD_GObjInfP12dCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP10dCcD_GSttsP10dCcD_GSttsP4cXyzb
*/
// one branch issue
#ifdef NONMATCHING
// NONMATCHING one branch issue
void dCcS::ProcAtTgHitmark(bool i_setAt, bool i_setTg, cCcD_Obj* param_2, cCcD_Obj* param_3,
dCcD_GObjInf* i_atObjInf, dCcD_GObjInf* i_tgObjInf, cCcD_Stts* param_6,
cCcD_Stts* param_7, dCcD_GStts* param_8, dCcD_GStts* param_9,
@@ -542,14 +441,6 @@ void dCcS::ProcAtTgHitmark(bool i_setAt, bool i_setTg, cCcD_Obj* param_2, cCcD_O
}
}
}
#else
void dCcS::ProcAtTgHitmark(bool param_0, bool param_1, cCcD_Obj* param_2, cCcD_Obj* param_3,
dCcD_GObjInf* param_4, dCcD_GObjInf* param_5, cCcD_Stts* param_6,
cCcD_Stts* param_7, dCcD_GStts* param_8, dCcD_GStts* param_9,
cXyz* param_10, bool param_11) {
// NONMATCHING
}
#endif
/* 80086AC0-80086D8C 081400 02CC+00 1/0 0/0 0/0 .text
* SetAtTgGObjInf__4dCcSFbbP8cCcD_ObjP8cCcD_ObjP12cCcD_GObjInfP12cCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP10cCcD_GSttsP10cCcD_GSttsP4cXyz
@@ -774,4 +665,4 @@ bool dCcS::ChkNoHitGAtTg(cCcD_GObjInf const* i_atObjInf, cCcD_GObjInf const* i_t
}
return ChkAtTgMtrlHit(atObjInf->GetAtMtrl(), tgObjInf->GetTgMtrl()) == 0;
}
}
+19 -198
View File
@@ -5,7 +5,7 @@
#include "d/d_com_static.h"
#include "d/d_demo.h"
#include "dol2asm.h"
#include "d/actor/d_a_arrow.h"
#include "d/actor/d_a_dshutter.h"
#include "d/actor/d_a_grass.h"
#include "d/actor/d_a_mirror.h"
@@ -19,127 +19,6 @@
#include "d/actor/d_a_tag_stream.h"
#include "stdio.h"
//
// Forward References:
//
extern "C" void set__Q27daSus_c6data_cFScRC4cXyzRC4cXyzUcUcUc();
extern "C" void reset__Q27daSus_c6data_cFv();
extern "C" void isSwitch__Q27daSus_c6data_cFv();
extern "C" void check__Q27daSus_c6data_cFRC4cXyz();
extern "C" void check__Q27daSus_c6data_cFP10fopAc_ac_c();
extern "C" void execute__Q27daSus_c6data_cFv();
extern "C" void add__Q27daSus_c6room_cFPQ27daSus_c6data_c();
extern "C" void reset__Q27daSus_c6room_cFv();
extern "C" void newData__7daSus_cFScRC4cXyzRC4cXyzUcUcUc();
extern "C" void reset__7daSus_cFv();
extern "C" void check__7daSus_cFScRC4cXyz();
extern "C" void check__7daSus_cFP10fopAc_ac_c();
extern "C" void execute__7daSus_cFv();
extern "C" void daNpcMsg_setEvtNum__FUc();
extern "C" void daNpcKakashi_chkSwdTutorialStage__Fv();
extern "C" void daNpcKakashi_setSwdTutorialStep__FUc();
extern "C" void daNpcKakashi_getSwdTutorialStep__Fv();
extern "C" void daNpcKakashi_getSwdTutorialResult__Fv();
extern "C" void daNpcKakashi_setSwdTutorialResult__Fb();
extern "C" void daNpcKakashi_getSuccessCount__Fv();
extern "C" void daNpcKakashi_incSuccessCount__Fv();
extern "C" void daNpcKakashi_clrSuccessCount__Fv();
extern "C" void getArcName__12daSetBgObj_cFP10fopAc_ac_c();
extern "C" void checkArea__13daTagStream_cFPC4cXyz();
extern "C" void entry__10daMirror_cFP8J3DModel();
extern "C" void remove__10daMirror_cFv();
extern "C" void deleteRoomGrass__9daGrass_cFi();
extern "C" void deleteRoomFlower__9daGrass_cFi();
extern "C" void daMP_c_Get_MovieRestFrame__6daMP_cFv();
extern "C" void daMP_c_Set_PercentMovieVolume__6daMP_cFf();
extern "C" void daMP_c_THPPlayerPlay__6daMP_cFv();
extern "C" void daMP_c_THPPlayerPause__6daMP_cFv();
extern "C" void checkMagnetCode__12daTagMagne_cFR13cBgS_PolyInfo();
extern "C" void checkMagneA__12daTagMagne_cFv();
extern "C" void checkMagneB__12daTagMagne_cFv();
extern "C" void checkMagneC__12daTagMagne_cFv();
extern "C" void getPlayerNo__11daTagMist_cFv();
extern "C" void clrSaveFlag__12daObjCarry_cFv();
extern "C" void setSaveFlag__12daObjCarry_cFv();
extern "C" void chkSaveFlag__12daObjCarry_cFv();
extern "C" void getPos__12daObjCarry_cFi();
extern "C" void savePos__12daObjCarry_cFi4cXyz();
extern "C" void onSttsFlag__12daObjCarry_cFiUc();
extern "C" void offSttsFlag__12daObjCarry_cFiUc();
extern "C" void chkSttsFlag__12daObjCarry_cFiUc();
extern "C" void setRoomNo__12daObjCarry_cFiSc();
extern "C" void getRoomNo__12daObjCarry_cFi();
extern "C" void __sinit_d_com_static_cpp();
extern "C" void func_80031EAC();
extern "C" void __ct__Q27daSus_c6room_cFv();
extern "C" void func_80031EF0();
extern "C" void __dt__Q27daSus_c6data_cFv();
extern "C" void __ct__Q27daSus_c6data_cFv();
extern "C" extern char const* const d_com_d_com_static__stringBase0;
extern "C" u8 mData__7daSus_c[1152];
extern "C" u8 mRoom__7daSus_c[256];
extern "C" u8 m_entryModel__10daMirror_c[12];
extern "C" u8 m_deleteRoom__15dGrass_packet_c[12];
extern "C" u8 m_deleteRoom__16dFlower_packet_c[12];
extern "C" u8 mPos__12daObjCarry_c[60];
extern "C" u8 m_aim_rate__8daYkgr_c[4];
extern "C" u8 m_path__8daYkgr_c[4];
extern "C" u8 m_emitter__8daYkgr_c[4];
extern "C" u8 m_top__13daTagStream_c[4];
extern "C" u8 m_myObj__10daMirror_c[4];
extern "C" u8 m_myObj__9daGrass_c[4];
extern "C" u8 m_grass__9daGrass_c[4];
extern "C" u8 m_flower__9daGrass_c[4];
extern "C" u8 m_myObj__6daMP_c[4];
extern "C" u8 mTagMagne__12daTagMagne_c[4];
extern "C" u8 mSttsFlag__12daObjCarry_c[5 + 3 /* padding */];
extern "C" u8 mRoomNo__12daObjCarry_c[5 + 3 /* padding */];
extern "C" void* M_dir_base__Q212daObjMovebox5Act_c[2];
extern "C" u32 OPEN_SIZE__7daDsh_c;
extern "C" f32 OPEN_ACCEL__7daDsh_c;
extern "C" f32 OPEN_SPEED__7daDsh_c;
extern "C" f32 OPEN_BOUND_SPEED__7daDsh_c;
extern "C" f32 OPEN_BOUND_RATIO__7daDsh_c;
extern "C" f32 CLOSE_ACCEL__7daDsh_c;
extern "C" f32 CLOSE_SPEED__7daDsh_c;
extern "C" f32 CLOSE_BOUND_SPEED__7daDsh_c;
extern "C" f32 CLOSE_BOUND_RATIO__7daDsh_c;
//
// External References:
//
extern "C" void __dt__4cXyzFv();
extern "C" void mDoMch_Create__Fv();
extern "C" void __ct__4cXyzFv();
extern "C" void fopAcM_delete__FP10fopAc_ac_c();
extern "C" void fpoAcM_relativePos__FPC10fopAc_ac_cPC4cXyzP4cXyz();
extern "C" void getLayerNo__14dComIfG_play_cFi();
extern "C" void onEventBit__11dSv_event_cFUs();
extern "C" void offEventBit__11dSv_event_cFUs();
extern "C" void isEventBit__11dSv_event_cCFUs();
extern "C" void setEventReg__11dSv_event_cFUsUc();
extern "C" void getEventReg__11dSv_event_cCFUs();
extern "C" void isSwitch__10dSv_info_cCFii();
extern "C" void GetMagnetCode__4dBgSFRC13cBgS_PolyInfo();
extern "C" void __dl__FPv();
extern "C" void __register_global_object();
extern "C" void __destroy_arr();
extern "C" void __construct_array();
extern "C" void __ptmf_scall();
extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern u8 const __ptmf_null[12 + 4 /* padding */];
extern "C" u8 m_status__7dDemo_c[4];
extern "C" extern u8 mPlayerNo__11daTagMist_c[4];
//
// Declarations:
//
/* 80030F14-80030FBC 02B854 00A8+00 1/1 0/0 0/0 .text
* set__Q27daSus_c6data_cFScRC4cXyzRC4cXyzUcUcUc */
void daSus_c::data_c::set(s8 i_roomNo, cXyz const& param_1, cXyz const& param_2, u8 param_3,
@@ -246,23 +125,15 @@ void daSus_c::room_c::reset() {
}
}
/* ############################################################################################## */
/* 80423FF0-80423FFC 050D10 000C+00 1/1 0/0 0/0 .bss @3840 */
static u8 lit_3840[12];
/* 80423FFC-8042447C 050D1C 0480+00 6/7 0/0 0/0 .bss mData__7daSus_c */
u8 daSus_c::mData[1152];
daSus_c::data_c daSus_c::mData[0x20];
/* 8042447C-8042457C 05119C 0100+00 2/3 0/0 1/1 .bss mRoom__7daSus_c */
u8 daSus_c::mRoom[256];
daSus_c::room_c daSus_c::mRoom[0x40];
/* 80450D88-80450D8C -00001 0004+00 1/1 0/0 2/2 .sbss None */
/* 80450D88 0002+00 data_80450D88 m_count__9daArrow_c */
extern s16 m_count__9daArrow_c;
#pragma push
#pragma force_active on
s16 m_count__9daArrow_c;
#pragma pop
s16 daArrow_c::m_count;
/* 80450D8A 0002+00 data_80450D8A mSetTop__7daSus_c */
s16 daSus_c::mSetTop;
@@ -436,7 +307,7 @@ const char* daSetBgObj_c::getArcName(fopAc_ac_c* i_this) {
/* ############################################################################################## */
/* 80451D28-80451D30 -00001 0008+00 0/0 0/0 3/3 .sdata2 M_dir_base__Q212daObjMovebox5Act_c
*/
SECTION_SDATA2 s16 daObjMovebox::Act_c::M_dir_base[4] = {
s16 const daObjMovebox::Act_c::M_dir_base[4] = {
0x0000,
0x4000,
0x8000,
@@ -444,31 +315,31 @@ SECTION_SDATA2 s16 daObjMovebox::Act_c::M_dir_base[4] = {
};
/* 80451D30-80451D34 000330 0004+00 0/0 0/0 3/3 .sdata2 OPEN_SIZE__7daDsh_c */
SECTION_SDATA2 f32 daDsh_c::OPEN_SIZE = 270.1f;
f32 const daDsh_c::OPEN_SIZE = 270.1f;
/* 80451D34-80451D38 000334 0004+00 0/0 0/0 1/1 .sdata2 OPEN_ACCEL__7daDsh_c */
SECTION_SDATA2 f32 daDsh_c::OPEN_ACCEL = 10.0f;
f32 const daDsh_c::OPEN_ACCEL = 10.0f;
/* 80451D38-80451D3C 000338 0004+00 0/0 0/0 1/1 .sdata2 OPEN_SPEED__7daDsh_c */
SECTION_SDATA2 f32 daDsh_c::OPEN_SPEED = -40.0f;
f32 const daDsh_c::OPEN_SPEED = -40.0f;
/* 80451D3C-80451D40 00033C 0004+00 0/0 0/0 1/1 .sdata2 OPEN_BOUND_SPEED__7daDsh_c */
SECTION_SDATA2 f32 daDsh_c::OPEN_BOUND_SPEED = -30.0f;
f32 const daDsh_c::OPEN_BOUND_SPEED = -30.0f;
/* 80451D40-80451D44 000340 0004+00 0/0 0/0 1/1 .sdata2 OPEN_BOUND_RATIO__7daDsh_c */
SECTION_SDATA2 f32 daDsh_c::OPEN_BOUND_RATIO = -0.4f;
f32 const daDsh_c::OPEN_BOUND_RATIO = -0.4f;
/* 80451D44-80451D48 000344 0004+00 0/0 0/0 1/1 .sdata2 CLOSE_ACCEL__7daDsh_c */
SECTION_SDATA2 f32 daDsh_c::CLOSE_ACCEL = 10.0f;
f32 const daDsh_c::CLOSE_ACCEL = 10.0f;
/* 80451D48-80451D4C 000348 0004+00 0/0 0/0 1/1 .sdata2 CLOSE_SPEED__7daDsh_c */
SECTION_SDATA2 f32 daDsh_c::CLOSE_SPEED = 40.0f;
f32 const daDsh_c::CLOSE_SPEED = 40.0f;
/* 80451D4C-80451D50 00034C 0004+00 0/0 0/0 1/1 .sdata2 CLOSE_BOUND_SPEED__7daDsh_c */
SECTION_SDATA2 f32 daDsh_c::CLOSE_BOUND_SPEED = 30.0f;
f32 const daDsh_c::CLOSE_BOUND_SPEED = 30.0f;
/* 80451D50-80451D54 000350 0004+00 0/0 0/0 1/1 .sdata2 CLOSE_BOUND_RATIO__7daDsh_c */
SECTION_SDATA2 f32 daDsh_c::CLOSE_BOUND_RATIO = -0.4f;
f32 const daDsh_c::CLOSE_BOUND_RATIO = -0.4f;
/* 800318B4-8003194C 02C1F4 0098+00 0/0 1/1 0/0 .text checkArea__13daTagStream_cFPC4cXyz
*/
@@ -485,7 +356,7 @@ int daTagStream_c::checkArea(cXyz const* param_0) {
/* ############################################################################################## */
/* 8042457C-80424588 05129C 000C+00 1/2 0/0 1/1 .bss m_entryModel__10daMirror_c */
daMirror_c::entryModelFunc daMirror_c::m_entryModel;
daMirror_c::entryModelFunc daMirror_c::m_entryModel = NULL;
/* 80450DA4-80450DA8 0002A4 0004+00 0/0 1/1 2/2 .sbss m_top__13daTagStream_c */
daTagStream_c* daTagStream_c::m_top;
@@ -513,7 +384,7 @@ bool daMirror_c::remove() {
/* ############################################################################################## */
/* 80424588-80424594 0512A8 000C+00 1/2 0/0 1/1 .bss m_deleteRoom__15dGrass_packet_c */
dGrass_packet_c::deleteFunc dGrass_packet_c::m_deleteRoom;
dGrass_packet_c::deleteFunc dGrass_packet_c::m_deleteRoom = NULL;
/* 80450DAC-80450DB0 0002AC 0004+00 0/0 0/0 2/2 .sbss m_myObj__9daGrass_c */
daGrass_c* daGrass_c::m_myObj;
@@ -531,7 +402,7 @@ void daGrass_c::deleteRoomGrass(int param_0) {
/* ############################################################################################## */
/* 80424594-804245A0 0512B4 000C+00 1/2 0/0 1/1 .bss m_deleteRoom__16dFlower_packet_c */
dFlower_packet_c::deleteFunc dFlower_packet_c::m_deleteRoom;
dFlower_packet_c::deleteFunc dFlower_packet_c::m_deleteRoom = NULL;
/* 80450DB4-80450DB8 0002B4 0004+00 1/1 0/0 9/9 .sbss m_flower__9daGrass_c */
dFlower_packet_c* daGrass_c::m_flower;
@@ -650,19 +521,12 @@ bool daObjCarry_c::chkSaveFlag() {
return mSaveFlag == true;
}
/* ############################################################################################## */
/* 804245A0-804245AC 0512C0 000C+00 0/1 0/0 0/0 .bss @4480 */
#pragma push
#pragma force_active on
static u8 lit_4480[12];
#pragma pop
/* 804245AC-804245E8 0512CC 003C+00 3/4 0/0 0/0 .bss mPos__12daObjCarry_c */
Vec daObjCarry_c::mPos[5];
cXyz daObjCarry_c::mPos[5];
/* 80031D24-80031D38 02C664 0014+00 0/0 0/0 1/1 .text getPos__12daObjCarry_cFi */
const cXyz& daObjCarry_c::getPos(int param_0) {
return *(cXyz*)&mPos[param_0];
return mPos[param_0];
}
/* 80031D38-80031D64 02C678 002C+00 0/0 0/0 2/2 .text savePos__12daObjCarry_cFi4cXyz */
@@ -704,46 +568,3 @@ void daObjCarry_c::setRoomNo(int idx, s8 roomNo) {
s8 daObjCarry_c::getRoomNo(int idx) {
return mRoomNo[idx];
}
/* 80031DC4-80031EAC 02C704 00E8+00 0/0 1/0 0/0 .text __sinit_d_com_static_cpp */
void __sinit_d_com_static_cpp(){// NONMATCHING
}
#pragma push
#pragma force_active on
REGISTER_CTORS(0x80031DC4, __sinit_d_com_static_cpp);
#pragma pop
/* 80031EAC-80031EE4 02C7EC 0038+00 1/1 0/0 0/0 .text __arraydtor$4479 */
void func_80031EAC() {
// NONMATCHING
}
/* 80031EE4-80031EF0 02C824 000C+00 1/1 0/0 0/0 .text __ct__Q27daSus_c6room_cFv */
daSus_c::room_c::room_c() {
// NONMATCHING
}
/* 80031EF0-80031F28 02C830 0038+00 1/1 0/0 0/0 .text __arraydtor$3839 */
void func_80031EF0() {
// NONMATCHING
}
/* 80031F28-80031F64 02C868 003C+00 2/2 0/0 0/0 .text __dt__Q27daSus_c6data_cFv */
daSus_c::data_c::~data_c() {
// NONMATCHING
}
/* 80031F64-80031F94 02C8A4 0030+00 1/1 0/0 0/0 .text __ct__Q27daSus_c6data_cFv */
daSus_c::data_c::data_c() {
// NONMATCHING
}
/* ############################################################################################## */
/* 80450DD1-80450DD5 -00001 0004+00 0/0 0/0 0/0 .sbss None */
#pragma push
#pragma force_active on
static u8 pad_80450DD1[4];
#pragma pop
/* 803790B0-803790B0 005710 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
+52 -321
View File
@@ -3,8 +3,6 @@
// Translation Unit: d/d_drawlist
//
#define NO_INLINE_DLSTBASE_DRAW
#include "d/d_drawlist.h"
#include "d/d_s_play.h"
#include "JSystem/J2DGraph/J2DScreen.h"
@@ -18,10 +16,6 @@
#include "m_Do/m_Do_mtx.h"
#include "JSystem/J2DGraph/J2DGrafContext.h"
//
// Types:
//
class dDlst_blo_c : public dDlst_base_c {
public:
/* 80053B64 */ virtual void draw();
@@ -187,178 +181,6 @@ public:
/* 0x3c */ dDlst_shadowPoly_c* mPoly;
};
//
// Forward References:
//
extern "C" void setViewPort__14dDlst_window_cFffffff();
extern "C" void setScissor__14dDlst_window_cFffff();
extern "C" void draw__13dDlst_2DTri_cFv();
extern "C" void draw__14dDlst_2DQuad_cFv();
extern "C" void draw__15dDlst_2DPoint_cFv();
extern "C" void draw__11dDlst_2DT_cFv();
extern "C" void draw__12dDlst_2DT2_cFv();
extern "C" void __ct__12dDlst_2DT2_cFv();
extern "C" void init__12dDlst_2DT2_cFP7ResTIMGffffUcUcUcff();
extern "C" void draw__11dDlst_2DM_cFv();
extern "C" void draw__11dDlst_2Dm_cFv();
extern "C" void draw__12dDlst_2DMt_cFv();
extern "C" void getTexture__10J2DPictureCFUc();
extern "C" void __ct__10dDlst_2D_cFP7ResTIMGssssUc();
extern "C" void draw__10dDlst_2D_cFv();
extern "C" void draw__11dDlst_blo_cFv();
extern "C" void clearAnmTransform__9J2DScreenFv();
extern "C" void calcMtx__7J2DPaneFv();
extern "C" void makeMatrix__7J2DPaneFff();
extern "C" s32 getTypeID__7J2DPaneCFv();
extern "C" void setWhite__10J2DPictureFQ28JUtility6TColor();
extern "C" void setBlack__10J2DPictureFQ28JUtility6TColor();
extern "C" void __dt__10J2DAnmBaseFv();
extern "C" void init__8cM_rnd_cFiii();
extern "C" void get__8cM_rnd_cFv();
extern "C" void getF__8cM_rnd_cFf();
extern "C" void getFX__8cM_rnd_cFf();
extern "C" void getValue__8cM_rnd_cFff();
extern "C" void draw__18dDlst_effectLine_cFv();
extern "C" void update__18dDlst_effectLine_cFR4cXyzR8_GXColorUsUsUsUsffff();
extern "C" void set__18dDlst_shadowPoly_cFP10cBgD_Vtx_tUsUsUsP8cM3dGPla();
extern "C" void draw__18dDlst_shadowPoly_cFv();
extern "C" static void J3DDrawBuffer__create__FUl();
extern "C" void reset__18dDlst_shadowReal_cFv();
extern "C" void imageDraw__18dDlst_shadowReal_cFPA4_f();
extern "C" void draw__18dDlst_shadowReal_cFv();
extern "C" static void psdRealCallBack__FP13cBgS_ShdwDrawP10cBgD_Vtx_tiiiP8cM3dGPla();
extern "C" static void realPolygonCheck__FP4cXyzffP4cXyzP18dDlst_shadowPoly_c();
extern "C" void __dt__14ShdwDrawPoly_cFv();
extern "C" static void setkankyoShadow__FP12dKy_tevstr_cPf();
extern "C" void setShadowRealMtx__18dDlst_shadowReal_cFP4cXyzP4cXyzfffP12dKy_tevstr_c();
extern "C" void set__18dDlst_shadowReal_cFUlP8J3DModelP4cXyzffP12dKy_tevstr_cff();
extern "C" void add__18dDlst_shadowReal_cFP8J3DModel();
extern "C" void draw__20dDlst_shadowSimple_cFv();
extern "C" void set__20dDlst_shadowSimple_cFP4cXyzffP4cXyzsfP9_GXTexObj();
extern "C" void init__21dDlst_shadowControl_cFv();
extern "C" void reset__21dDlst_shadowControl_cFv();
extern "C" void imageDraw__21dDlst_shadowControl_cFPA4_f();
extern "C" void draw__21dDlst_shadowControl_cFPA4_f();
extern "C" void setReal__21dDlst_shadowControl_cFUlScP8J3DModelP4cXyzffP12dKy_tevstr_c();
extern "C" void addReal__21dDlst_shadowControl_cFUlP8J3DModel();
extern "C" void setSimple__21dDlst_shadowControl_cFP4cXyzffP4cXyzsfP9_GXTexObj();
extern "C" void setSimpleTex__21dDlst_shadowControl_cFPC7ResTIMG();
extern "C" void newData__13dDlst_peekZ_cFssPUl();
extern "C" void peekData__13dDlst_peekZ_cFv();
extern "C" void __ct__12dDlst_list_cFv();
extern "C" void __ct__26mDoExt_3DlineMatSortPacketFv();
extern "C" void __dt__18dDlst_shadowReal_cFv();
extern "C" void __dt__17dDlst_shadowTri_cFv();
extern "C" void __ct__18dDlst_shadowReal_cFv();
extern "C" void __ct__17dDlst_shadowTri_cFv();
extern "C" void __ct__20dDlst_shadowSimple_cFv();
extern "C" void init__12dDlst_list_cFv();
extern "C" void __dt__12dDlst_list_cFv();
extern "C" void reset__12dDlst_list_cFv();
extern "C" void entryZSortXluDrawList__12dDlst_list_cFP13J3DDrawBufferP9J3DPacketR4cXyz();
extern "C" void drawOpaDrawList__12dDlst_list_cFP13J3DDrawBuffer();
extern "C" void drawXluDrawList__12dDlst_list_cFP13J3DDrawBuffer();
extern "C" void drawOpaListItem3d__12dDlst_list_cFv();
extern "C" void drawXluListItem3d__12dDlst_list_cFv();
extern "C" void set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c();
extern "C" void draw__12dDlst_list_cFPP12dDlst_base_cPP12dDlst_base_c();
extern "C" void wipeIn__12dDlst_list_cFfR8_GXColor();
extern "C" void wipeIn__12dDlst_list_cFf();
extern "C" void calcWipe__12dDlst_list_cFv();
extern "C" dDlst_shadowTri_c* getTri__22dDlst_shadowRealPoly_cFv();
extern "C" s32 getTriMax__22dDlst_shadowRealPoly_cFv();
extern "C" void searchUpdateMaterialID__10J2DAnmBaseFP9J2DScreen();
extern "C" void __sinit_d_drawlist_cpp();
extern "C" extern char const* const d_d_drawlist__stringBase0;
extern "C" extern void* __vt__11dDlst_2DT_c[3];
extern "C" extern void* __vt__15dDlst_2DPoint_c[3];
extern "C" extern void* __vt__14dDlst_2DQuad_c[3];
extern "C" extern void* __vt__13dDlst_2DTri_c[3];
extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32];
extern "C" u8 mWipeDlst__12dDlst_list_c[72];
extern "C" u8 mWipeColor__12dDlst_list_c[4];
extern "C" f32 mWipeRate__12dDlst_list_c;
extern "C" f32 mWipeSpeed__12dDlst_list_c[1 + 1 /* padding */];
extern "C" extern u8 data_80450EE0;
//
// External References:
//
extern "C" void __dt__4cXyzFv();
extern "C" void mDoMtx_YrotM__FPA4_fs();
extern "C" void mDoMtx_lookAt__FPA4_fPC3VecPC3Vecs();
extern "C" void scaleM__14mDoMtx_stack_cFfff();
extern "C" void __ct__4cXyzFv();
extern "C" void __dt__26mDoExt_3DlineMatSortPacketFv();
extern "C" void mDoLib_setResTimgObj__FPC7ResTIMGP9_GXTexObjUlP10_GXTlutObj();
extern "C" void ShdwDraw__4cBgSFP13cBgS_ShdwDraw();
extern "C" void dKy_plight_near_pos__Fv();
extern "C" void dKy_GxFog_set__Fv();
extern "C" void __mi__4cXyzCFRC3Vec();
extern "C" void normalize__4cXyzFv();
extern "C" void isZero__4cXyzCFv();
extern "C" void __ct__13cBgS_ShdwDrawFv();
extern "C" void __dt__13cBgS_ShdwDrawFv();
extern "C" void Set__13cBgS_ShdwDrawFR4cXyzR4cXyz();
extern "C" void SetCallback__13cBgS_ShdwDrawFPFP13cBgS_ShdwDrawP10cBgD_Vtx_tiiiP8cM3dGPla_i();
extern "C" void cLib_chaseUC__FPUcUcUc();
extern "C" void calcViewFrustum__11J3DUClipperFv();
extern "C" void clip__11J3DUClipperCFPA4_CfP3VecP3Vec();
extern "C" void* __nw__FUl();
extern "C" void* __nwa__FUli();
extern "C" void __dl__FPv();
extern "C" void getGlbResource__10JKRArchiveFUlPCcP10JKRArchive();
extern "C" void clearAnmTransform__7J2DPaneFv();
extern "C" void draw__9J2DScreenFffPC14J2DGrafContext();
extern "C" void __ct__10J2DPictureFv();
extern "C" void reinitGX__6J3DSysFv();
extern "C" void drawFast__14J3DShapePacketFv();
extern "C" void loadPreDrawSetting__8J3DShapeCFv();
extern "C" void initialize__13J3DDrawBufferFv();
extern "C" void allocBuffer__13J3DDrawBufferFUl();
extern "C" void __dt__13J3DDrawBufferFv();
extern "C" void frameInit__13J3DDrawBufferFv();
extern "C" void entryImm__13J3DDrawBufferFP9J3DPacketUs();
extern "C" void draw__13J3DDrawBufferCFv();
extern "C" void GXClearVtxDesc();
extern "C" void GXPixModeSync();
extern "C" void __destroy_arr();
extern "C" void __construct_array();
extern "C" void _savefpr_26();
extern "C" void _restfpr_26();
extern "C" void _savegpr_22();
extern "C" void _savegpr_23();
extern "C" void _savegpr_24();
extern "C" void _savegpr_25();
extern "C" void _savegpr_26();
extern "C" void _savegpr_27();
extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
extern "C" void _restgpr_22();
extern "C" void _restgpr_23();
extern "C" void _restgpr_24();
extern "C" void _restgpr_25();
extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern void* __vt__26mDoExt_3DlineMatSortPacket[5];
extern "C" extern void* __vt__12dDlst_base_c[3];
extern "C" extern void* __vt__9J3DPacket[5];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" u8 mClipper__14mDoLib_clipper[92];
extern "C" u8 sincosTable___5JMath[65536];
extern "C" u8 mBackColor__13mDoGph_gInf_c[4];
extern "C" f32 mSystemFar__14mDoLib_clipper;
extern "C" f32 mFovyRate__14mDoLib_clipper;
extern "C" u8 sOldVcdVatCmd__8J3DShape[4];
//
// Declarations:
//
/* 80051AC0-80051ADC 04C400 001C+00 0/0 3/3 0/0 .text setViewPort__14dDlst_window_cFffffff */
void dDlst_window_c::setViewPort(f32 xOrig, f32 yOrig, f32 width, f32 height, f32 nearZ, f32 farZ) {
mViewport.mXOrig = xOrig;
@@ -715,55 +537,42 @@ void dDlst_2DT2_c::draw() {
dComIfGp_getCurrentGrafPort()->setup2D();
}
/* ############################################################################################## */
/* 803A87A0-803A87C0 0058C0 000C+14 2/2 0/0 0/0 .data cNullVec__6Z2Calc */
SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
static u8 cNullVec__6Z2Calc[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 803A87C0-803A8800 0058E0 003C+04 0/0 0/0 0/0 .data l_frontZMat */
#pragma push
#pragma force_active on
SECTION_DATA static u8 l_frontZMat[] ALIGN_DECL(32) = {
static u8 l_frontZMat[] ALIGN_DECL(32) = {
0x61, 0x40, 0x00, 0x00, 0x07, 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x10,
0x00, 0x00, 0x10, 0x09, 0x00, 0x00, 0x00, 0x01, 0x61, 0x00, 0x00, 0x40, 0x10, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
#pragma pop
/* 803A8800-803A882C 005920 002A+02 0/0 0/0 0/0 .data l_frontNoZSubMat */
#pragma push
#pragma force_active on
SECTION_DATA static u8 l_frontNoZSubMat[] ALIGN_DECL(32) = {
static u8 l_frontNoZSubMat[] ALIGN_DECL(32) = {
0x61, 0x40, 0x00, 0x00, 0x06, 0x61, 0x41, 0x00, 0x09, 0x35, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
#pragma pop
/* 803A882C-803A88A0 00594C 0060+14 0/1 0/0 0/0 .data l_shadowVolPos */
#pragma push
#pragma force_active on
SECTION_DATA static Vec l_shadowVolPos[] = {
static Vec l_shadowVolPos[] = {
{-1.0f, -1.0f, 0.0f}, {-1.0f, -1.0f, -300.0f}, {-1.0f, 1.0f, 0.0f}, {-1.0f, 1.0f, -300.0f},
{1.0f, -1.0f, 0.0f}, {1.0f, -1.0f, -300.0f}, {1.0f, 1.0f, 0.0f}, {1.0f, 1.0f, -300.0f},
};
#pragma pop
/* 803A88A0-803A88E0 0059C0 003B+05 0/0 0/0 0/0 .data l_shadowVolDL */
#pragma push
#pragma force_active on
SECTION_DATA static u8 l_shadowVolDL[] ALIGN_DECL(32) = {
static u8 l_shadowVolDL[] ALIGN_DECL(32) = {
0x80, 0x00, 0x18, 0x06, 0x02, 0x03, 0x07, 0x00, 0x04, 0x05, 0x01, 0x06, 0x04, 0x00, 0x02,
0x07, 0x05, 0x04, 0x06, 0x03, 0x01, 0x05, 0x07, 0x02, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
#pragma pop
/* 803A88E0-803A8940 005A00 005A+06 1/1 0/0 0/0 .data l_shadowProjMat */
SECTION_DATA static u8 l_shadowProjMat[] ALIGN_DECL(32) = {
static u8 l_shadowProjMat[] ALIGN_DECL(32) = {
0x61, 0x28, 0x38, 0x03, 0xC0, 0x61, 0xC0, 0x08, 0xFF, 0xFF, 0x61, 0xC1, 0x08, 0xE6, 0x70,
0x61, 0x43, 0x00, 0x00, 0x01, 0x61, 0x40, 0x00, 0x00, 0x07, 0x61, 0x41, 0x00, 0x04, 0xAD,
0x61, 0xF3, 0x64, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x01, 0x10,
@@ -773,9 +582,7 @@ SECTION_DATA static u8 l_shadowProjMat[] ALIGN_DECL(32) = {
};
/* 803A8940-803A89A0 005A60 005A+06 0/0 0/0 0/0 .data l_shadowVolMat */
#pragma push
#pragma force_active on
SECTION_DATA static u8 l_shadowVolMat[] ALIGN_DECL(32) = {
static u8 l_shadowVolMat[] ALIGN_DECL(32) = {
0x61, 0x28, 0x38, 0x00, 0x00, 0x61, 0xC0, 0x08, 0xFF, 0xFC, 0x61, 0xC1, 0x08, 0xFF, 0x90,
0x61, 0x43, 0x00, 0x00, 0x41, 0x61, 0x40, 0x00, 0x00, 0x0D, 0x61, 0x41, 0x00, 0x01, 0x35,
0x61, 0xF3, 0x7F, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x10,
@@ -783,12 +590,9 @@ SECTION_DATA static u8 l_shadowVolMat[] ALIGN_DECL(32) = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
#pragma pop
/* 803A89A0-803A8A00 005AC0 0055+0B 0/1 0/0 0/0 .data l_clearMat */
#pragma push
#pragma force_active on
SECTION_DATA static u8 l_clearMat[] ALIGN_DECL(32) = {
static u8 l_clearMat[] ALIGN_DECL(32) = {
0x61, 0x28, 0x38, 0x00, 0x00, 0x61, 0xC0, 0x08, 0xFF, 0xFF, 0x61, 0xC1, 0x08, 0xFF, 0xA0,
0x61, 0x40, 0x00, 0x00, 0x06, 0x61, 0x41, 0x00, 0x00, 0x14, 0x61, 0xF3, 0x7F, 0x00, 0x00,
0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x09, 0x00,
@@ -796,12 +600,9 @@ SECTION_DATA static u8 l_clearMat[] ALIGN_DECL(32) = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
#pragma pop
/* 803A8A00-803A8A60 005B20 0055+0B 0/1 0/0 0/0 .data l_frontMat */
#pragma push
#pragma force_active on
SECTION_DATA static u8 l_frontMat[] ALIGN_DECL(32) = {
static u8 l_frontMat[] ALIGN_DECL(32) = {
0x61, 0x28, 0x38, 0x00, 0x00, 0x61, 0xC0, 0x08, 0xFF, 0xFF, 0x61, 0xC1, 0x08, 0xFF, 0x90,
0x61, 0x43, 0x00, 0x00, 0x41, 0x61, 0x40, 0x00, 0x00, 0x07, 0x61, 0x41, 0x00, 0x01, 0x15,
0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x09, 0x00,
@@ -809,34 +610,25 @@ SECTION_DATA static u8 l_frontMat[] ALIGN_DECL(32) = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
#pragma pop
/* 803A8A60-803A8A9C 005B80 003C+00 0/1 0/0 0/0 .data l_backSubMat */
#pragma push
#pragma force_active on
SECTION_DATA static u8 l_backSubMat[] ALIGN_DECL(32) = {
static u8 l_backSubMat[] ALIGN_DECL(32) = {
0x61, 0x41, 0x00, 0x09, 0x35, 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x10,
0x00, 0x00, 0x10, 0x09, 0x00, 0x00, 0x00, 0x01, 0x61, 0x00, 0x00, 0x80, 0x10, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
#pragma pop
/* 803A8A9C-803A8B60 005BBC 00A8+1C 0/1 0/0 0/0 .data l_simpleShadowPos */
#pragma push
#pragma force_active on
SECTION_DATA static Vec l_simpleShadowPos[] = {
static Vec l_simpleShadowPos[] = {
{0.0f, -1.0f, 0.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, -1.0f, -1.0f}, {1.0f, 0.0f, -1.0f},
{-1.0f, -1.0f, -1.0f}, {-1.0f, 0.0f, -1.0f}, {-1.0f, -1.0f, 1.0f}, {-1.0f, 0.0f, 1.0f},
{1.0f, -1.0f, 1.0f}, {1.0f, 0.0f, 1.0f}, {-1.0f, 1.0f, -1.0f}, {1.0f, 1.0f, -1.0f},
{1.0f, 1.0f, 1.0f}, {-1.0f, 1.0f, 1.0f},
};
#pragma pop
/* 803A8B60-803A8BC0 005C80 0058+08 0/1 0/0 0/0 .data l_shadowVolumeDL */
#pragma push
#pragma force_active on
SECTION_DATA static u8 l_shadowVolumeDL[] ALIGN_DECL(32) = {
static u8 l_shadowVolumeDL[] ALIGN_DECL(32) = {
0x98, 0x00, 0x05, 0x03, 0x09, 0x01, 0x07, 0x05, 0x98, 0x00, 0x05, 0x04, 0x06, 0x00, 0x08,
0x02, 0x98, 0x00, 0x04, 0x04, 0x05, 0x06, 0x07, 0x98, 0x00, 0x04, 0x02, 0x03, 0x04, 0x05,
0x98, 0x00, 0x04, 0x08, 0x09, 0x02, 0x03, 0x98, 0x00, 0x04, 0x06, 0x07, 0x08, 0x09, 0x98,
@@ -844,12 +636,9 @@ SECTION_DATA static u8 l_shadowVolumeDL[] ALIGN_DECL(32) = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
#pragma pop
/* 803A8BC0-803A8C20 005CE0 0055+0B 0/1 0/0 0/0 .data l_shadowSealTexDL */
#pragma push
#pragma force_active on
SECTION_DATA static u8 l_shadowSealTexDL[] ALIGN_DECL(32) = {
static u8 l_shadowSealTexDL[] ALIGN_DECL(32) = {
0x61, 0x28, 0x38, 0x03, 0xC0, 0x61, 0x40, 0x00, 0x00, 0x06, 0x61, 0x41, 0x00, 0x06, 0x15,
0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x10, 0x09, 0x00,
0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x40, 0x01, 0x80, 0x00, 0x04, 0x0A, 0x00, 0x00, 0x0B,
@@ -857,12 +646,9 @@ SECTION_DATA static u8 l_shadowSealTexDL[] ALIGN_DECL(32) = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
#pragma pop
/* 803A8C20-803A8C80 005D40 0055+0B 0/1 0/0 0/0 .data l_shadowSealTex2DL */
#pragma push
#pragma force_active on
SECTION_DATA static u8 l_shadowSealTex2DL[] ALIGN_DECL(32) = {
static u8 l_shadowSealTex2DL[] ALIGN_DECL(32) = {
0x61, 0x28, 0x38, 0x03, 0xC0, 0x61, 0x40, 0x00, 0x00, 0x06, 0x61, 0x41, 0x00, 0x06, 0x15,
0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x10, 0x09, 0x00,
0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x40, 0x01, 0x80, 0x00, 0x04, 0x0A, 0x00, 0x00, 0x0B,
@@ -870,12 +656,9 @@ SECTION_DATA static u8 l_shadowSealTex2DL[] ALIGN_DECL(32) = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
#pragma pop
/* 803A8C80-803A8D00 005DA0 0069+17 0/1 0/0 0/0 .data l_shadowSealDL */
#pragma push
#pragma force_active on
SECTION_DATA static u8 l_shadowSealDL[] ALIGN_DECL(32) = {
static u8 l_shadowSealDL[] ALIGN_DECL(32) = {
0x10, 0x00, 0x00, 0x10, 0x0E, 0x00, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x10, 0x10, 0x00,
0x00, 0x05, 0x00, 0x61, 0x28, 0x38, 0x00, 0x00, 0x61, 0xC0, 0x08, 0xFF, 0xFF, 0x61, 0xC1,
0x08, 0xFF, 0xB0, 0x61, 0x40, 0x00, 0x00, 0x06, 0x61, 0x41, 0x00, 0x06, 0xED, 0x10, 0x00,
@@ -884,48 +667,6 @@ SECTION_DATA static u8 l_shadowSealDL[] ALIGN_DECL(32) = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
#pragma pop
/* 803A8D00-803A8D7C 005E20 007B+01 1/1 0/0 0/0 .data l_matDL$5404 */
SECTION_DATA static u8 l_matDL[] ALIGN_DECL(32) = {
0x10, 0x00, 0x00, 0x10, 0x0E, 0x00, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00,
0x04, 0x00, 0x61, 0x28, 0x38, 0x00, 0x00, 0x61, 0xC0, 0x08, 0xFF, 0xF2, 0x61, 0xC1, 0x08, 0xFF,
0x90, 0x61, 0x43, 0x00, 0x00, 0x41, 0x61, 0xF3, 0x7F, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x3F,
0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x09, 0x00, 0x00, 0x00, 0x01, 0x61, 0x00, 0x00,
0x40, 0x10, 0x61, 0xEE, 0x00, 0x00, 0x00, 0x61, 0xEF, 0x00, 0x00, 0x00, 0x61, 0xF0, 0x00, 0x00,
0x00, 0x61, 0xF1, 0x00, 0x00, 0x00, 0x61, 0xF2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 803A8D7C-803A8D8C 005E9C 0010+00 1/1 0/0 0/0 .data l_imageDrawColor$5405 */
SECTION_DATA static GXColor l_imageDrawColor[4] = {
{255, 0, 0, 0},
{0, 255, 0, 0},
{0, 0, 255, 0},
{0, 0, 0, 255},
};
/* 803A8D8C-803A8D9C 005EAC 0010+00 0/1 0/0 0/0 .data l_tevColorChan$5438 */
#pragma push
#pragma force_active on
SECTION_DATA static GXTevColor l_tevColorChan[4] = {
GX_CH_RED,
GX_CH_GREEN,
GX_CH_BLUE,
GX_CH_ALPHA,
};
#pragma pop
/* 803A8D9C-803A8DCC 005EBC 0030+00 0/0 0/0 0/0 .data mtx_adj$5842 */
#pragma push
#pragma force_active on
SECTION_DATA static Mtx mtx_adj = {
{0.5f, 0.0f, 0.0f, 0.5f},
{0.0f, -0.5f, 0.0f, 0.5f},
{0.0f, 0.0f, 1.0f, 0.0f},
};
#pragma pop
/* 80052B00-80052B4C 04D440 004C+00 1/1 0/0 0/0 .text __ct__12dDlst_2DT2_cFv */
dDlst_2DT2_c::dDlst_2DT2_c() {
@@ -1186,50 +927,11 @@ void dDlst_2D_c::draw() {
mpPicture.draw(mPosX, mPosY, mSizeX, mSizeY, false, false, false);
}
/* 80053B64-80053BA0 04E4A4 003C+00 1/0 0/0 0/0 .text draw__11dDlst_blo_cFv */
void dDlst_blo_c::draw() {
mScreen.draw(field_0x120, field_0x124, dComIfGp_getCurrentGrafPort());
}
/* 80053BA0-80053BC0 04E4E0 0020+00 0/0 1/0 0/0 .text clearAnmTransform__9J2DScreenFv */
void J2DScreen::clearAnmTransform() {
// NONMATCHING
}
/* 80053BC0-80053C00 04E500 0040+00 0/0 7/0 0/0 .text calcMtx__7J2DPaneFv */
void J2DPane::calcMtx() {
// NONMATCHING
}
/* 80053C00-80053C3C 04E540 003C+00 0/0 8/0 0/0 .text makeMatrix__7J2DPaneFff */
void J2DPane::makeMatrix(f32 param_0, f32 param_1) {
// NONMATCHING
}
/* 80053C3C-80053C44 04E57C 0008+00 0/0 1/0 0/0 .text getTypeID__7J2DPaneCFv */
// s32 J2DPane::getTypeID() const {
extern "C" s32 getTypeID__7J2DPaneCFv() {
return 16;
}
/* 80053C44-80053C6C 04E584 0028+00 0/0 1/0 0/0 .text setWhite__10J2DPictureFQ28JUtility6TColor */
bool J2DPicture::setWhite(JUtility::TColor param_0) {
// NONMATCHING
}
/* 80053C6C-80053C94 04E5AC 0028+00 0/0 1/0 0/0 .text setBlack__10J2DPictureFQ28JUtility6TColor */
bool J2DPicture::setBlack(JUtility::TColor param_0) {
// NONMATCHING
}
/* 80053C94-80053CDC 04E5D4 0048+00 1/0 0/0 0/0 .text __dt__10J2DAnmBaseFv */
// J2DAnmBase::~J2DAnmBase() {
extern "C" void __dt__10J2DAnmBaseFv() {
// NONMATCHING
}
/* 80053CDC-80053CEC 04E61C 0010+00 0/0 2/2 0/0 .text init__8cM_rnd_cFiii */
void cM_rnd_c::init(int s0, int s1, int s2) {
seed0 = s0;
@@ -1247,7 +949,6 @@ f32 cM_rnd_c::get() {
return fabsf(rm);
}
/* 80053DE0-80053E18 04E720 0038+00 1/1 0/0 0/0 .text getF__8cM_rnd_cFf */
f32 cM_rnd_c::getF(f32 param_0) {
return get() * param_0;
@@ -1776,6 +1477,26 @@ void dDlst_shadowControl_c::reset() {
/* 800557C8-80055A14 050108 024C+00 0/0 1/1 0/0 .text imageDraw__21dDlst_shadowControl_cFPA4_f */
void dDlst_shadowControl_c::imageDraw(Mtx param_0) {
static u8 l_matDL[] ALIGN_DECL(32) = {
0x10, 0x00, 0x00, 0x10, 0x0E, 0x00, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x10, 0x10,
0x00, 0x00, 0x04, 0x00, 0x61, 0x28, 0x38, 0x00, 0x00, 0x61, 0xC0, 0x08, 0xFF, 0xF2,
0x61, 0xC1, 0x08, 0xFF, 0x90, 0x61, 0x43, 0x00, 0x00, 0x41, 0x61, 0xF3, 0x7F, 0x00,
0x00, 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10,
0x09, 0x00, 0x00, 0x00, 0x01, 0x61, 0x00, 0x00, 0x40, 0x10, 0x61, 0xEE, 0x00, 0x00,
0x00, 0x61, 0xEF, 0x00, 0x00, 0x00, 0x61, 0xF0, 0x00, 0x00, 0x00, 0x61, 0xF1, 0x00,
0x00, 0x00, 0x61, 0xF2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
static GXColor l_imageDrawColor[4] = {
{255, 0, 0, 0},
{0, 255, 0, 0},
{0, 0, 255, 0},
{0, 0, 0, 255},
};
GXCallDisplayList(l_matDL, 0x60);
GXSetZMode(GX_DISABLE, GX_LEQUAL, GX_DISABLE);
GXSetZCompLoc(GX_TRUE);
@@ -1827,6 +1548,13 @@ void dDlst_shadowControl_c::imageDraw(Mtx param_0) {
/* 80055A14-80055C74 050354 0260+00 0/0 1/1 0/0 .text draw__21dDlst_shadowControl_cFPA4_f
*/
void dDlst_shadowControl_c::draw(Mtx param_0) {
static GXTevColor l_tevColorChan[4] = {
GX_CH_RED,
GX_CH_GREEN,
GX_CH_BLUE,
GX_CH_ALPHA,
};
j3dSys.reinitGX();
GXSetNumIndStages(0);
dKy_GxFog_set();
@@ -1879,6 +1607,16 @@ void dDlst_shadowControl_c::draw(Mtx param_0) {
GXSetAlphaUpdate(GX_DISABLE);
}
/* 803A8D9C-803A8DCC 005EBC 0030+00 0/0 0/0 0/0 .data mtx_adj$5842 */
#pragma push
#pragma force_active on
SECTION_DATA static Mtx mtx_adj = {
{0.5f, 0.0f, 0.0f, 0.5f},
{0.0f, -0.5f, 0.0f, 0.5f},
{0.0f, 0.0f, 1.0f, 0.0f},
};
#pragma pop
/* 80055C74-80055F1C 0505B4 02A8+00 0/0 1/1 1/1 .text
* setReal__21dDlst_shadowControl_cFUlScP8J3DModelP4cXyzffP12dKy_tevstr_c */
int dDlst_shadowControl_c::setReal(u32 param_1, s8 param_2, J3DModel* param_3, cXyz* param_4,
@@ -2260,10 +1998,3 @@ void dDlst_list_c::calcWipe() {
dComIfGd_set2DXlu(&mWipeDlst);
}
}
/* 800569B0-800569B4 0512F0 0004+00 1/0 7/0 0/0 .text
* searchUpdateMaterialID__10J2DAnmBaseFP9J2DScreen */
// void J2DAnmBase::searchUpdateMaterialID(J2DScreen* param_0) {
extern "C" void searchUpdateMaterialID__10J2DAnmBaseFP9J2DScreen() {
/* empty function */
}
+6 -7
View File
@@ -205,8 +205,9 @@ s32 dEvt_control_c::beforeFlagProc(dEvt_order_c* p_order) {
return 1;
}
/* 80379D80-80379D80 0063E0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
static char const* const stringBase_80379D80 = "???";
static char const* dummy1() {
return "???";
}
/* 80041964-800419A8 03C2A4 0044+00 2/2 0/0 0/0 .text
* afterFlagProc__14dEvt_control_cFP12dEvt_order_c */
@@ -834,9 +835,6 @@ bool dEvt_control_c::skipper() {
return startSkip;
}
/* 80451EC8-80451ECC 0004C8 0004+00 1/1 0/0 0/0 .sdata2 @5013 */
static f32 lit_5013 = -1.0f / 20.0f;
/* 80042BBC-80042FA8 03D4FC 03EC+00 0/0 1/1 0/0 .text Step__14dEvt_control_cFv */
int dEvt_control_c::Step() {
dEvent_manager_c* evtMng = &dComIfGp_getEventManager();
@@ -1219,5 +1217,6 @@ void dEvt_control_c::setGtItm(u8 itemNo) {
mGtItm = itemNo;
}
/* 80379DC6-80379DD0 006426 0008+02 0/0 0/0 0/0 .rodata None */
static char const* const stringBase_80379DC6 = "GIVEMAN";
static char const* dummy2() {
return "GIVEMAN";
}
+229 -2228
View File
File diff suppressed because it is too large Load Diff
+27 -462
View File
@@ -3,17 +3,12 @@
// Translation Unit: d/d_gameover
//
/**
* This TU mostly matches except for the dGov_HIO_c vtable being the incorrect size
* Once that's fixed, inline the dGov_HIO_c / dDlst_Gameover_CAPTURE_c dtors.
*/
#include "d/d_gameover.h"
#include "JSystem/J2DGraph/J2DScreen.h"
#include "d/d_com_inf_game.h"
#include "d/d_meter2_info.h"
#include "d/d_meter_HIO.h"
#include "dol2asm.h"
#include "d/d_msg_scrn_light.h"
#include "m_Do/m_Do_Reset.h"
#include "m_Do/m_Do_graphic.h"
#include "JSystem/JUtility/JUTTexture.h"
@@ -24,7 +19,7 @@
class dGov_HIO_c : public mDoHIO_entry_c {
public:
/* 8019AFE0 */ dGov_HIO_c();
/* 8019C06C */ virtual ~dGov_HIO_c(); // supposed to be inlined
/* 8019C06C */ virtual ~dGov_HIO_c() {}
/* 0x04 */ u8 unk_0x4;
/* 0x08 */ f32 mScale;
@@ -34,139 +29,8 @@ public:
/* 0x18 */ GXColor mWhite;
}; // Size: 0x1C
struct dMsgScrnLight_c {
/* 80245934 */ dMsgScrnLight_c(u8, u8);
/* 80245F90 */ void draw(f32*, f32, f32, f32, f32, f32, f32, JUtility::TColor,
JUtility::TColor);
/* 0x00 */ u8 field_0x0[0x24];
};
//
// Forward References:
//
extern "C" void draw__24dDlst_Gameover_CAPTURE_cFv();
extern "C" void __ct__10dGov_HIO_cFv();
extern "C" void _create__11dGameover_cFv();
extern "C" void _execute__11dGameover_cFv();
extern "C" void playerAnmWait_init__11dGameover_cFv();
extern "C" void playerAnmWait_proc__11dGameover_cFv();
extern "C" void dispFadeOut_init__11dGameover_cFv();
extern "C" void dispFadeOut_proc__11dGameover_cFv();
extern "C" void dispWait_init__11dGameover_cFv();
extern "C" void dispWait_proc__11dGameover_cFv();
extern "C" void demoFadeIn_init__11dGameover_cFv();
extern "C" void demoFadeIn_proc__11dGameover_cFv();
extern "C" void demoFadeOut_init__11dGameover_cFv();
extern "C" void demoFadeOut_proc__11dGameover_cFv();
extern "C" void saveOpen_init__11dGameover_cFv();
extern "C" void saveOpen_proc__11dGameover_cFv();
extern "C" void saveMove_init__11dGameover_cFv();
extern "C" void saveMove_proc__11dGameover_cFv();
extern "C" void saveClose_init__11dGameover_cFv();
extern "C" void saveClose_proc__11dGameover_cFv();
extern "C" void deleteWait_init__11dGameover_cFv();
extern "C" void deleteWait_proc__11dGameover_cFv();
extern "C" void _draw__11dGameover_cFv();
extern "C" void _delete__11dGameover_cFv();
extern "C" void __ct__24dDlst_GameOverScrnDraw_cFP10JKRArchive();
extern "C" void __dt__24dDlst_GameOverScrnDraw_cFv();
extern "C" void setBackAlpha__24dDlst_GameOverScrnDraw_cFf();
extern "C" void draw__24dDlst_GameOverScrnDraw_cFv();
extern "C" static void dGameover_Draw__FP11dGameover_c();
extern "C" static void dGameover_Execute__FP11dGameover_c();
extern "C" static bool dGameover_IsDelete__FP11dGameover_c();
extern "C" static void dGameover_Delete__FP11dGameover_c();
extern "C" static void dGameover_Create__FP9msg_class();
extern "C" void d_GameOver_Create__FUc();
extern "C" void d_GameOver_Delete__FRUi();
extern "C" void __dt__10dGov_HIO_cFv();
extern "C" void __sinit_d_gameover_cpp();
extern "C" void __dt__24dDlst_Gameover_CAPTURE_cFv();
extern "C" void __dt__12dMenu_save_cFv();
extern "C" extern char const* const d_d_gameover__stringBase0;
//
// External References:
//
extern "C" void mDoExt_setCurrentHeap__FP7JKRHeap();
extern "C" void mDoExt_getSubFont__Fv();
extern "C" void fopMsgM_SearchByID__FUi();
extern "C" void fopMsgM_Delete__FPv();
extern "C" void fopMsgM_create__FsP10fopAc_ac_cP4cXyzPUlPUlPFPv_i();
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
extern "C" void dComIfGp_setHeapLockFlag__FUc();
extern "C" void dComIfGp_offHeapLockFlag__Fi();
extern "C" void setItem__17dSv_player_item_cFiUc();
extern "C" void getItem__17dSv_player_item_cCFib();
extern "C" void isFirstBit__21dSv_player_get_item_cCFUc();
extern "C" void offEventBit__11dSv_event_cFUs();
extern "C" void isEventBit__11dSv_event_cCFUs();
extern "C" void getResInfo__14dRes_control_cFPCcP11dRes_info_ci();
extern "C" void set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c();
extern "C" void __ct__12dMenu_save_cFv();
extern "C" void _create__12dMenu_save_cFv();
extern "C" void _open__12dMenu_save_cFv();
extern "C" void _delete__12dMenu_save_cFv();
extern "C" void _move__12dMenu_save_cFv();
extern "C" void _draw2__12dMenu_save_cFv();
extern "C" void getString__13dMeter2Info_cFUlPcP14JMSMesgEntry_c();
extern "C" void resetMiniGameItem__13dMeter2Info_cFb();
extern "C" void __ct__15dMsgScrnLight_cFUcUc();
extern "C" void draw__15dMsgScrnLight_cFPfffffffQ28JUtility6TColorQ28JUtility6TColor();
extern "C" void dPaneClass_showNullPane__FP9J2DScreen();
extern "C" void freeAll__7JKRHeapFv();
extern "C" void getTotalFreeSize__7JKRHeapFv();
extern "C" void* __nw__FUl();
extern "C" void __dl__FPv();
extern "C" void __ct__9J2DScreenFv();
extern "C" void setPriority__9J2DScreenFPCcUlP10JKRArchive();
extern "C" void draw__9J2DScreenFffPC14J2DGrafContext();
extern "C" void func_802FC800();
extern "C" void setString__10J2DTextBoxFPCce();
extern "C" void __register_global_object();
extern "C" void __ptmf_scall();
extern "C" void _savegpr_24();
extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
extern "C" void _restgpr_24();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern void* __vt__12dDlst_base_c[3];
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
extern "C" extern void* __vt__14mDoHIO_entry_c[3];
extern "C" extern void* __vt__16dDlst_MenuSave_c[4];
extern "C" extern void* __vt__23dDlst_MenuSaveExplain_c[4 + 18 /* padding */];
extern "C" u8 mFadeColor__13mDoGph_gInf_c[4];
extern "C" u8 mFader__13mDoGph_gInf_c[4];
extern "C" u8 mFrameBufferTimg__13mDoGph_gInf_c[4];
extern "C" u8 mFrameBufferTex__13mDoGph_gInf_c[4];
extern "C" u8 mZbufferTex__13mDoGph_gInf_c[4];
extern "C" f32 mFadeRate__13mDoGph_gInf_c;
extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */];
extern "C" u8 sManager__10JFWDisplay[4];
//
// Declarations:
//
/* ############################################################################################## */
/* 80453B80-80453B84 002180 0004+00 3/3 0/0 0/0 .sdata2 @3868 */
SECTION_SDATA2 static u8 lit_3868[4] = {
0x00,
0x00,
0x00,
0x00,
};
/* 80453B84-80453B88 002184 0004+00 6/6 0/0 0/0 .sdata2 @3869 */
SECTION_SDATA2 static f32 lit_3869 = 1.0f;
/* 80453B88-80453B8C 002188 0004+00 1/1 0/0 0/0 .sdata2 @3870 */
SECTION_SDATA2 static f32 lit_3870 = 10.0f;
/* 8042CA2C-8042CA48 05974C 001C+00 2/2 0/0 0/0 .bss l_HIO */
static dGov_HIO_c l_HIO;
/* 8019ACF8-8019AFE0 195638 02E8+00 1/0 0/0 0/0 .text draw__24dDlst_Gameover_CAPTURE_cFv
*/
@@ -227,264 +91,31 @@ void dDlst_Gameover_CAPTURE_c::draw() {
GXEnd();
}
/* ############################################################################################## */
/* 803BBB50-803BBB5C 018C70 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
static u8 cNullVec__6Z2Calc[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 803BBB5C-803BBB68 -00001 000C+00 0/1 0/0 0/0 .data @3883 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3883[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)playerAnmWait_init__11dGameover_cFv,
};
#pragma pop
/* 803BBB68-803BBB74 -00001 000C+00 0/1 0/0 0/0 .data @3884 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3884[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)dispFadeOut_init__11dGameover_cFv,
};
#pragma pop
/* 803BBB74-803BBB80 -00001 000C+00 0/1 0/0 0/0 .data @3885 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3885[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)dispWait_init__11dGameover_cFv,
};
#pragma pop
/* 803BBB80-803BBB8C -00001 000C+00 0/1 0/0 0/0 .data @3886 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3886[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)demoFadeIn_init__11dGameover_cFv,
};
#pragma pop
/* 803BBB8C-803BBB98 -00001 000C+00 0/1 0/0 0/0 .data @3887 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3887[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)demoFadeOut_init__11dGameover_cFv,
};
#pragma pop
/* 803BBB98-803BBBA4 -00001 000C+00 0/1 0/0 0/0 .data @3888 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3888[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)saveOpen_init__11dGameover_cFv,
};
#pragma pop
/* 803BBBA4-803BBBB0 -00001 000C+00 0/1 0/0 0/0 .data @3889 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3889[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)saveMove_init__11dGameover_cFv,
};
#pragma pop
/* 803BBBB0-803BBBBC -00001 000C+00 0/1 0/0 0/0 .data @3890 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3890[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)saveClose_init__11dGameover_cFv,
};
#pragma pop
/* 803BBBBC-803BBBC8 -00001 000C+00 0/1 0/0 0/0 .data @3891 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3891[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)deleteWait_init__11dGameover_cFv,
};
#pragma pop
/* 803BBBC8-803BBC34 018CE8 006C+00 2/3 0/0 0/0 .data init_process */
typedef void (dGameover_c::*initFunc)();
SECTION_DATA initFunc init_process[] = {
initFunc init_process[] = {
&dGameover_c::playerAnmWait_init, &dGameover_c::dispFadeOut_init, &dGameover_c::dispWait_init,
&dGameover_c::demoFadeIn_init, &dGameover_c::demoFadeOut_init, &dGameover_c::saveOpen_init,
&dGameover_c::saveMove_init, &dGameover_c::saveClose_init, &dGameover_c::deleteWait_init,
};
/* 803BBC34-803BBC40 -00001 000C+00 0/1 0/0 0/0 .data @3892 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3892[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)playerAnmWait_proc__11dGameover_cFv,
};
#pragma pop
/* 803BBC40-803BBC4C -00001 000C+00 0/1 0/0 0/0 .data @3893 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3893[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)dispFadeOut_proc__11dGameover_cFv,
};
#pragma pop
/* 803BBC4C-803BBC58 -00001 000C+00 0/1 0/0 0/0 .data @3894 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3894[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)dispWait_proc__11dGameover_cFv,
};
#pragma pop
/* 803BBC58-803BBC64 -00001 000C+00 0/1 0/0 0/0 .data @3895 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3895[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)demoFadeIn_proc__11dGameover_cFv,
};
#pragma pop
/* 803BBC64-803BBC70 -00001 000C+00 0/1 0/0 0/0 .data @3896 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3896[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)demoFadeOut_proc__11dGameover_cFv,
};
#pragma pop
/* 803BBC70-803BBC7C -00001 000C+00 0/1 0/0 0/0 .data @3897 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3897[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)saveOpen_proc__11dGameover_cFv,
};
#pragma pop
/* 803BBC7C-803BBC88 -00001 000C+00 0/1 0/0 0/0 .data @3898 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3898[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)saveMove_proc__11dGameover_cFv,
};
#pragma pop
/* 803BBC88-803BBC94 -00001 000C+00 0/1 0/0 0/0 .data @3899 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3899[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)saveClose_proc__11dGameover_cFv,
};
#pragma pop
/* 803BBC94-803BBCA0 -00001 000C+00 0/1 0/0 0/0 .data @3900 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3900[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)deleteWait_proc__11dGameover_cFv,
};
#pragma pop
/* 803BBCA0-803BBD0C 018DC0 006C+00 1/2 0/0 0/0 .data move_process */
typedef void (dGameover_c::*moveFunc)();
SECTION_DATA moveFunc move_process[] = {
moveFunc move_process[] = {
&dGameover_c::playerAnmWait_proc, &dGameover_c::dispFadeOut_proc, &dGameover_c::dispWait_proc,
&dGameover_c::demoFadeIn_proc, &dGameover_c::demoFadeOut_proc, &dGameover_c::saveOpen_proc,
&dGameover_c::saveMove_proc, &dGameover_c::saveClose_proc, &dGameover_c::deleteWait_proc,
};
/* 803BBD0C-803BBD2C 018E2C 0020+00 1/1 0/0 0/0 .data offset$4331 */
SECTION_DATA static f32 offset[8] = {
-138.0f, -96.0f, -56.0f, -18.0f, 42.0f, 75.0f, 110.0f, 143.0f,
};
/* 803BBD2C-803BBD40 -00001 0014+00 1/0 0/0 0/0 .data l_dGameover_Method */
SECTION_DATA static void* l_dGameover_Method[5] = {
(void*)dGameover_Create__FP9msg_class, (void*)dGameover_Delete__FP11dGameover_c,
(void*)dGameover_Execute__FP11dGameover_c, (void*)dGameover_IsDelete__FP11dGameover_c,
(void*)dGameover_Draw__FP11dGameover_c,
};
/* 803BBD40-803BBD68 -00001 0028+00 0/0 0/0 1/0 .data g_profile_GAMEOVER */
SECTION_DATA extern void* g_profile_GAMEOVER[10] = {
(void*)0xFFFFFFFD, (void*)0x000CFFFD,
(void*)0x03170000, (void*)&g_fpcLf_Method,
(void*)0x0000011C, (void*)NULL,
(void*)NULL, (void*)&g_fopMsg_Method,
(void*)0x03030000, (void*)&l_dGameover_Method,
};
/* 803BBD68-803BBD78 018E88 0010+00 2/2 0/0 0/0 .data __vt__24dDlst_GameOverScrnDraw_c */
SECTION_DATA extern void* __vt__24dDlst_GameOverScrnDraw_c[4] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)draw__24dDlst_GameOverScrnDraw_cFv,
(void*)__dt__24dDlst_GameOverScrnDraw_cFv,
};
/* 803BBD78-803BBD90 018E98 000C+0C 1/1 1/1 0/0 .data __vt__12dMenu_save_c */
SECTION_DATA extern void* __vt__12dMenu_save_c[3 + 3 /* padding */] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__12dMenu_save_cFv,
/* padding */
NULL,
NULL,
NULL,
};
/* 803BBD90-803BBDA8 018EB0 000C+0C 2/2 0/0 0/0 .data __vt__10dGov_HIO_c */
SECTION_DATA extern void* __vt__10dGov_HIO_c[3 + 3 /* padding */] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__10dGov_HIO_cFv,
/* padding */
NULL,
NULL,
NULL,
};
/* 8019AFE0-8019B044 195920 0064+00 1/1 0/0 0/0 .text __ct__10dGov_HIO_cFv */
dGov_HIO_c::dGov_HIO_c() {
mScale = 2.7f;
mAlpha = lit_3869;
mAlpha = 1.0f;
mAnimSpeed = 0.2f;
mBlack.r = 0;
@@ -498,22 +129,6 @@ dGov_HIO_c::dGov_HIO_c() {
mWhite.a = 255;
}
/* ############################################################################################## */
/* 80394C28-80394C28 021288 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80394C28 = "Gover";
SECTION_DEAD static char const* const stringBase_80394C2E = "D_MN10A";
#pragma pop
/* 803BBDA8-803BBDB8 018EC8 0010+00 2/2 0/0 0/0 .data __vt__24dDlst_Gameover_CAPTURE_c */
SECTION_DATA extern void* __vt__24dDlst_Gameover_CAPTURE_c[4] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)draw__24dDlst_Gameover_CAPTURE_cFv,
(void*)__dt__24dDlst_Gameover_CAPTURE_cFv,
};
/* 8019B044-8019B2F4 195984 02B0+00 1/1 0/0 0/0 .text _create__11dGameover_cFv */
int dGameover_c::_create() {
int phase = dComIfG_resLoad(&mPhase, "Gover");
@@ -654,7 +269,7 @@ void dGameover_c::demoFadeIn_init() {
/* 8019B484-8019B4D8 195DC4 0054+00 1/0 0/0 0/0 .text demoFadeIn_proc__11dGameover_cFv */
void dGameover_c::demoFadeIn_proc() {
mTimer++;
dgo_screen_c->setBackAlpha(lit_3869);
dgo_screen_c->setBackAlpha(1.0f);
if (mTimer >= 30) {
mProc = PROC_SAVE_OPEN;
@@ -785,22 +400,6 @@ int dGameover_c::_delete() {
return 1;
}
/* ############################################################################################## */
/* 80394C28-80394C28 021288 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80394C36 = "zelda_game_over.blo";
SECTION_DEAD static char const* const stringBase_80394C4A = "tt_block8x8.bti";
/* @stringBase0 padding */
SECTION_DEAD static char const* const pad_80394C5A = "\0\0\0\0\0";
#pragma pop
/* 80453BA0-80453BA4 0021A0 0004+00 1/1 0/0 0/0 .sdata2 @4290 */
SECTION_SDATA2 static f32 lit_4290 = 486.0f;
/* 80453BA4-80453BA8 0021A4 0004+00 1/1 0/0 0/0 .sdata2 @4291 */
SECTION_SDATA2 static f32 lit_4291 = 660.0f;
/* 8019B940-8019BBFC 196280 02BC+00 1/1 0/0 0/0 .text
* __ct__24dDlst_GameOverScrnDraw_cFP10JKRArchive */
dDlst_GameOverScrnDraw_c::dDlst_GameOverScrnDraw_c(JKRArchive* i_archive) {
@@ -856,31 +455,6 @@ void dDlst_GameOverScrnDraw_c::setBackAlpha(f32 i_alpha) {
mpBackImg->setAlpha(i_alpha * 255.0f);
}
/* 80453BAC-80453BB0 0021AC 0004+00 1/1 0/0 0/0 .sdata2 @4374 */
SECTION_SDATA2 static f32 lit_4374 = 608.0f;
/* 80453BB0-80453BB4 0021B0 0004+00 1/1 0/0 0/0 .sdata2 @4375 */
SECTION_SDATA2 static f32 lit_4375 = 448.0f;
/* 80453BB4-80453BB8 0021B4 0004+00 1/1 0/0 0/0 .sdata2 @4376 */
SECTION_SDATA2 static f32 lit_4376 = 304.0f;
/* 80453BB8-80453BC0 0021B8 0004+04 1/1 0/0 0/0 .sdata2 @4377 */
SECTION_SDATA2 static f32 lit_4377[1 + 1 /* padding */] = {
224.0f,
/* padding */
0.0f,
};
/* 8019BCF4-8019BF3C 196634 0248+00 1/0 0/0 0/0 .text draw__24dDlst_GameOverScrnDraw_cFv
*/
/* ############################################################################################## */
/* 8042CA20-8042CA2C 059740 000C+00 1/1 0/0 0/0 .bss @3882 */
// static u8 lit_3882[12];
/* 8042CA2C-8042CA48 05974C 001C+00 2/2 0/0 0/0 .bss l_HIO */
static dGov_HIO_c l_HIO;
void dDlst_GameOverScrnDraw_c::draw() {
J2DGrafContext* graf_ctx = dComIfGp_getCurrentGrafPort();
graf_ctx->setup2D();
@@ -913,6 +487,8 @@ void dDlst_GameOverScrnDraw_c::draw() {
mpBackImg->draw(0.0f, 0.0f, 608.0f, 448.0f, false, false, false);
static f32 offset[8] = {-138.0f, -96.0f, -56.0f, -18.0f, 42.0f, 75.0f, 110.0f, 143.0f};
for (int i = 0; i < 8; i++) {
mpLight->draw(&field_0x10, offset[i] + 304.0f, 224.0f, l_HIO.mScale, l_HIO.mScale,
l_HIO.mAlpha, l_HIO.mAnimSpeed, img_black, img_white);
@@ -969,31 +545,20 @@ bool d_GameOver_Delete(fpc_ProcID& i_id) {
return false;
}
/* 8019C06C-8019C0C8 1969AC 005C+00 2/1 0/0 0/0 .text __dt__10dGov_HIO_cFv */
// dGov_HIO_c::~dGov_HIO_c() {
extern "C" void __dt__10dGov_HIO_cFv() {
// NONMATCHING
}
/* 803BBD2C-803BBD40 -00001 0014+00 1/0 0/0 0/0 .data l_dGameover_Method */
static void* l_dGameover_Method[5] = {
(void*)dGameover_Create,
(void*)dGameover_Delete,
(void*)dGameover_Execute,
(void*)dGameover_IsDelete,
(void*)dGameover_Draw,
};
/* 8019C0C8-8019C2CC 196A08 0204+00 0/0 1/0 0/0 .text __sinit_d_gameover_cpp */
void __sinit_d_gameover_cpp(){// NONMATCHING
}
#pragma push
#pragma force_active on
REGISTER_CTORS(0x8019C0C8, __sinit_d_gameover_cpp);
#pragma pop
/* 8019C2CC-8019C314 196C0C 0048+00 1/0 0/0 0/0 .text __dt__24dDlst_Gameover_CAPTURE_cFv
*/
dDlst_Gameover_CAPTURE_c::~dDlst_Gameover_CAPTURE_c() {
// NONMATCHING
}
/* 8019C314-8019C388 196C54 0074+00 1/0 0/0 0/0 .text __dt__12dMenu_save_cFv */
// dMenu_save_c::~dMenu_save_c() {
extern "C" void __dt__12dMenu_save_cFv() {
// NONMATCHING
}
/* 80394C28-80394C28 021288 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
/* 803BBD40-803BBD68 -00001 0028+00 0/0 0/0 1/0 .data g_profile_GAMEOVER */
extern void* g_profile_GAMEOVER[10] = {
(void*)0xFFFFFFFD, (void*)0x000CFFFD,
(void*)0x03170000, (void*)&g_fpcLf_Method,
(void*)0x0000011C, (void*)NULL,
(void*)NULL, (void*)&g_fopMsg_Method,
(void*)0x03030000, (void*)&l_dGameover_Method,
};
+32 -60
View File
@@ -399,7 +399,6 @@ bool dMpath_c::isExistMapPathData() {
return data_80450E88;
}
/* ############################################################################################## */
/* 80450630-80450634 0000B0 0004+00 0/0 1/1 2/2 .sdata mNextRoomNo__10dMapInfo_c */
int dMapInfo_c::mNextRoomNo = -1;
@@ -407,7 +406,7 @@ int dMapInfo_c::mNextRoomNo = -1;
s8 dMpath_c::mBottomFloorNo = 127;
/* 80450635 0001+00 data_80450635 None */
s8 dMpath_c::mTopFloorNo = 128;
s8 dMpath_c::mTopFloorNo = -128;
/* 8003F760-8003F7E8 03A0A0 0088+00 0/0 1/1 0/0 .text getTopBottomFloorNo__8dMpath_cFPScPSc */
int dMpath_c::getTopBottomFloorNo(s8* i_topFloorNo, s8* i_bottomFloorNo) {
@@ -662,13 +661,10 @@ void renderingDAmap_c::draw() {
mIsDraw = true;
}
/* ############################################################################################## */
/* 80451E48-80451E4C 000448 0004+00 1/1 0/0 0/0 .sdata2 l_mapBaseColor$4239 */
static const GXColor l_mapBaseColor = {4, 0, 0, 0};
/* 8003FE4C-8003FE54 03A78C 0008+00 3/0 3/0 0/0 .text getBackColor__16renderingDAmap_cCFv
*/
const GXColor* renderingDAmap_c::getBackColor() const {
static const GXColor l_mapBaseColor = {4, 0, 0, 0};
return &l_mapBaseColor;
}
@@ -899,7 +895,6 @@ void renderingPlusDoor_c::drawDoor2() {
drawDoorCommon(door_info->mDrTgData, door_info->mNum, false);
}
/* ############################################################################################## */
/* 80451E58-80451E5C 000458 0004+00 1/1 0/0 0/0 .sdata2 l_doorWhite */
static const GXColor l_doorWhite = {100, 0, 0, 0};
@@ -912,15 +907,11 @@ static const GXColor l_doorWhite2 = {100, 0, 0, 0};
/* 80451E64-80451E68 000464 0004+00 1/1 0/0 0/0 .sdata2 l_doorWhiteNoStay2 */
static const GXColor l_doorWhiteNoStay2 = {108, 0, 0, 0};
/* 80451E68-80451E70 000468 0008+00 1/1 0/0 0/0 .sdata2 l_tex0$4406 */
static const u8 l_tex0[8] = {
0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01,
};
/* 800405FC-80040710 03AF3C 0114+00 2/2 0/0 0/0 .text
* drawDoorCommon__19renderingPlusDoor_cFPC21stage_tgsc_data_classib */
void renderingPlusDoor_c::drawDoorCommon(stage_tgsc_data_class const* i_doorData, int i_dataNum,
bool param_2) {
static const u8 l_tex0[8] = {0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01};
int prm0;
int prm1;
@@ -1091,31 +1082,24 @@ static const GXColor l_npcYkwStartColor = {140, 0, 0, 0};
/* 80451E98-80451E9C 000498 0004+00 1/0 0/0 0/0 .sdata2 l_tksStartColor */
static const GXColor l_tksStartColor = {164, 0, 0, 0};
/* 80451E9C-80451EA4 00049C 0008+00 1/1 0/0 0/0 .sdata2 l_iconTex0$4523 */
static const u8 l_iconTex0_4523[8] = {
0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00,
};
/* 80451EA4-80451EA8 0004A4 0004+00 1/1 0/0 0/0 .sdata2 tboxNotStayColor$4542 */
static const GXColor tboxNotStayColor_4542 = {128, 0, 0, 0};
struct treasureDispData {
/* 0x0 */ u8 field_0x0;
/* 0x4 */ int field_0x4;
/* 0x8 */ const GXColor* field_0x8;
};
/* 80379C88-80379CB8 -00001 0030+00 1/1 0/0 0/0 .rodata l_treasureDispList$4524 */
static const treasureDispData l_treasureDispList_4524[4] = {
{1, 2, &l_entranceStartColor},
{8, 5, &l_entranceLv8StartColor},
{0, 1, &l_treasureStartColor},
{5, 3, &l_destinationStartColor},
};
/* 80040B00-80040E84 03B440 0384+00 1/1 0/0 0/0 .text
* drawTreasure__28renderingPlusDoorAndCursor_cFv */
void renderingPlusDoorAndCursor_c::drawTreasure() {
static const u8 l_iconTex0[8] = {0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00};
static const GXColor tboxNotStayColor = {128, 0, 0, 0};
static const treasureDispData l_treasureDispList[4] = {
{1, 2, &l_entranceStartColor},
{8, 5, &l_entranceLv8StartColor},
{0, 1, &l_treasureStartColor},
{5, 3, &l_destinationStartColor},
};
bool rend_all_room = isRendAllRoom();
GXClearVtxDesc();
@@ -1123,13 +1107,13 @@ void renderingPlusDoorAndCursor_c::drawTreasure() {
GXSetVtxDesc(GX_VA_TEX0, GX_INDEX8);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGB, GX_F32, 0);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_CLR_RGBA, GX_RGB565, 0);
GXSetArray(GX_VA_TEX0, (void*)l_iconTex0_4523, 2);
GXSetArray(GX_VA_TEX0, (void*)l_iconTex0, 2);
setTevSettingIntensityTextureToCI();
for (int i = 0; i < 4; i++) {
dTres_c::typeGroupData_c* typeGroupData_p;
u8 tmp = l_treasureDispList_4524[i].field_0x0;
u8 tmp = l_treasureDispList[i].field_0x0;
typeGroupData_p = getFirstData(tmp);
int group_num = getIconGroupNumber(tmp);
@@ -1138,10 +1122,10 @@ void renderingPlusDoorAndCursor_c::drawTreasure() {
GXInvalidateTexAll();
GXTexObj* texObj_p =
dMpath_n::m_texObjAgg.getTexObjPointer(l_treasureDispList_4524[i].field_0x4);
dMpath_n::m_texObjAgg.getTexObjPointer(l_treasureDispList[i].field_0x4);
GXLoadTexObj(texObj_p, GX_TEXMAP0);
GXColor sp18;
const GXColor* temp_r3_2 = l_treasureDispList_4524[i].field_0x8;
const GXColor* temp_r3_2 = l_treasureDispList[i].field_0x8;
sp18.r = temp_r3_2->r;
sp18.g = temp_r3_2->g;
sp18.b = temp_r3_2->b;
@@ -1157,7 +1141,7 @@ void renderingPlusDoorAndCursor_c::drawTreasure() {
if (tmp == 0) {
if (mRoomNoSingle != typeGroupData_p->getRoomNo()) {
sp18 = tboxNotStayColor_4542;
sp18 = tboxNotStayColor;
} else {
sp18 = l_treasureStartColor;
}
@@ -1183,30 +1167,18 @@ void renderingPlusDoorAndCursor_c::drawTreasure() {
setTevSettingNonTextureDirectColor();
}
/* 80379CB8-80379D3C -00001 0084+00 1/1 0/0 0/0 .rodata l_treasureDispList$4606 */
static const treasureDispData l_treasureDispList_4606[11] = {
{16, 4, &l_tksStartColor}, {2, 4, &l_smallKeyStartColor}, {10, 4, &l_npc0StartColor},
{9, 4, &l_npc0StartColor}, {14, 4, &l_npcYkwStartColor}, {13, 4, &l_npcYkmStartColor},
{15, 4, &l_npc0StartColor}, {11, 4, &l_npc0StartColor}, {12, 4, &l_npc0StartColor},
{4, 4, &l_smallKeyStartColor}, {3, 4, &l_bossStartColor},
};
/* 80451EAC-80451EB4 0004AC 0008+00 1/1 0/0 0/0 .sdata2 l_iconTex0$4605 */
static const u8 l_iconTex0_4605[8] = {
0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00,
};
/* 80451EB4-80451EB8 0004B4 0004+00 1/1 0/0 0/0 .sdata2 tboxNotStayColor$4624 */
static const GXColor tboxNotStayColor_4624 = {
0x80,
0x00,
0x00,
0x00,
};
/* 80040E84-80041208 03B7C4 0384+00 1/1 0/0 0/0 .text
* drawTreasureAfterPlayer__28renderingPlusDoorAndCursor_cFv */
void renderingPlusDoorAndCursor_c::drawTreasureAfterPlayer() {
static const treasureDispData l_treasureDispList[11] = {
{16, 4, &l_tksStartColor}, {2, 4, &l_smallKeyStartColor}, {10, 4, &l_npc0StartColor},
{9, 4, &l_npc0StartColor}, {14, 4, &l_npcYkwStartColor}, {13, 4, &l_npcYkmStartColor},
{15, 4, &l_npc0StartColor}, {11, 4, &l_npc0StartColor}, {12, 4, &l_npc0StartColor},
{4, 4, &l_smallKeyStartColor}, {3, 4, &l_bossStartColor},
};
static const u8 l_iconTex0[8] = {0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00};
static const GXColor tboxNotStayColor = {0x80, 0x00, 0x00, 0x00};
bool rend_all_room = isRendAllRoom();
GXClearVtxDesc();
@@ -1214,13 +1186,13 @@ void renderingPlusDoorAndCursor_c::drawTreasureAfterPlayer() {
GXSetVtxDesc(GX_VA_TEX0, GX_INDEX8);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGB, GX_F32, 0);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_CLR_RGBA, GX_RGB565, 0);
GXSetArray(GX_VA_TEX0, (void*)l_iconTex0_4605, 2);
GXSetArray(GX_VA_TEX0, (void*)l_iconTex0, 2);
setTevSettingIntensityTextureToCI();
for (int i = 0; i < 11; i++) {
dTres_c::typeGroupData_c* typeGroupData_p;
u8 tmp = l_treasureDispList_4606[i].field_0x0;
u8 tmp = l_treasureDispList[i].field_0x0;
typeGroupData_p = getFirstData(tmp);
int group_num = getIconGroupNumber(tmp);
@@ -1229,10 +1201,10 @@ void renderingPlusDoorAndCursor_c::drawTreasureAfterPlayer() {
GXInvalidateTexAll();
GXTexObj* texObj_p =
dMpath_n::m_texObjAgg.getTexObjPointer(l_treasureDispList_4606[i].field_0x4);
dMpath_n::m_texObjAgg.getTexObjPointer(l_treasureDispList[i].field_0x4);
GXLoadTexObj(texObj_p, GX_TEXMAP0);
GXColor sp18;
const GXColor* temp_r3_2 = l_treasureDispList_4606[i].field_0x8;
const GXColor* temp_r3_2 = l_treasureDispList[i].field_0x8;
sp18.r = temp_r3_2->r;
sp18.g = temp_r3_2->g;
sp18.b = temp_r3_2->b;
@@ -1248,7 +1220,7 @@ void renderingPlusDoorAndCursor_c::drawTreasureAfterPlayer() {
if (tmp == 0) {
if (mRoomNoSingle != typeGroupData_p->getRoomNo()) {
sp18 = tboxNotStayColor_4624;
sp18 = tboxNotStayColor;
} else {
sp18 = l_treasureStartColor;
}
@@ -1335,4 +1307,4 @@ void renderingPlusDoorAndCursor_c::drawCursor(Vec const& param_0, s16 param_1, i
}
/* 8004145C-80041460 03BD9C 0004+00 2/0 0/0 0/0 .text beforeDrawPath__19renderingPlusDoor_cFv */
void renderingPlusDoor_c::beforeDrawPath() {}
void renderingPlusDoor_c::beforeDrawPath() {}
+2 -100
View File
@@ -5,76 +5,6 @@
#include "d/d_map_path_fmap.h"
#include "d/d_com_inf_game.h"
#include "dol2asm.h"
//
// Forward References:
//
extern "C" void addTypeGroupData__26fmpTresTypeGroupDataList_cFUcPCQ27dTres_c6data_s();
extern "C" void isArrival__22dMenu_Fmap_room_data_cFv();
extern "C" void buildTresTypeGroup__22dMenu_Fmap_room_data_cFiii();
extern "C" void buildFmapRoomData__22dMenu_Fmap_room_data_cFiiffff();
extern "C" void isArrival__23dMenu_Fmap_stage_data_cFv();
extern "C" void buildFmapStageData__23dMenu_Fmap_stage_data_cFiff();
extern "C" void getMenuFmapStageData__24dMenu_Fmap_region_data_cFi();
extern "C" void getPointStagePathInnerNo__24dMenu_Fmap_region_data_cFffiPiPi();
extern "C" void buildFmapRegionData__24dMenu_Fmap_region_data_cFi();
extern "C" void create__23dMenu_Fmap_world_data_cFP24dMenu_Fmap_region_data_c();
extern "C" void buildFmapWorldData__23dMenu_Fmap_world_data_cFv();
extern "C" void
init__22dMenuFmapIconPointer_cFP24dMenu_Fmap_region_data_cP23dMenu_Fmap_stage_data_cUcii();
extern "C" void getFirstData__22dMenuFmapIconPointer_cFv();
extern "C" void getData__22dMenuFmapIconPointer_cFv();
extern "C" void getFirstRoomData__22dMenuFmapIconPointer_cFv();
extern "C" void getNextRoomData__22dMenuFmapIconPointer_cFv();
extern "C" void getNextStageData__22dMenuFmapIconPointer_cFv();
extern "C" void getNextData__22dMenuFmapIconPointer_cFv();
extern "C" void nextData__22dMenuFmapIconPointer_cFv();
extern "C" void getValidData__22dMenuFmapIconPointer_cFv();
extern "C" void getPosition__19dMenuFmapIconDisp_cFPiPiPfPfPPCQ27dTres_c6data_s();
extern "C" void isDrawDisp__19dMenuFmapIconDisp_cFv();
extern "C" void __dt__26fmpTresTypeGroupDataList_cFv();
extern "C" void __dt__22fmpTresTypeGroupData_cFv();
extern "C" void __ct__26fmpTresTypeGroupDataList_cFv();
extern "C" extern void* __vt__19dMenuFmapIconDisp_c[3];
//
// External References:
//
extern "C" void dComIfGs_isStageTbox__Fii();
extern "C" void dComIfGs_isStageSwitch__Fii();
extern "C" void dComIfGp_isLightDropMapVisible__Fv();
extern "C" void isTbox__12dSv_memBit_cCFi();
extern "C" void isEventBit__11dSv_event_cCFUs();
extern "C" void isVisitedRoom__13dSv_memory2_cFi();
extern "C" void getSave2__10dSv_save_cFi();
extern "C" void isSwitch__10dSv_info_cCFii();
extern "C" void getFirstData__7dTres_cFUc();
extern "C" void getNextData__7dTres_cFPQ27dTres_c15typeGroupData_c();
extern "C" void getTypeGroupNoToType__7dTres_cFUc();
extern "C" void getTypeToTypeGroupNo__7dTres_cFUc();
extern "C" void* __nw__FUl();
extern "C" void __dl__FPv();
extern "C" void __construct_array();
extern "C" void _savegpr_14();
extern "C" void _savegpr_22();
extern "C" void _savegpr_26();
extern "C" void _savegpr_27();
extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
extern "C" void _restgpr_14();
extern "C" void _restgpr_22();
extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
//
// Declarations:
//
/* 8003D790-8003D818 0380D0 0088+00 1/1 0/0 0/0 .text
* addTypeGroupData__26fmpTresTypeGroupDataList_cFUcPCQ27dTres_c6data_s */
@@ -635,32 +565,9 @@ bool dMenuFmapIconDisp_c::getPosition(int* o_stageNo, int* o_roomNo, f32* o_posX
return false;
}
#ifndef NONMATCHING
/* ############################################################################################## */
/* 803A7D38-803A7D74 -00001 003C+00 1/1 0/0 0/0 .data @4467 */
SECTION_DATA static void* lit_4467[15] = {
(void*)(((char*)isDrawDisp__19dMenuFmapIconDisp_cFv) + 0x40C),
(void*)(((char*)isDrawDisp__19dMenuFmapIconDisp_cFv) + 0xA8),
(void*)(((char*)isDrawDisp__19dMenuFmapIconDisp_cFv) + 0x40C),
(void*)(((char*)isDrawDisp__19dMenuFmapIconDisp_cFv) + 0x40C),
(void*)(((char*)isDrawDisp__19dMenuFmapIconDisp_cFv) + 0x154),
(void*)(((char*)isDrawDisp__19dMenuFmapIconDisp_cFv) + 0x1FC),
(void*)(((char*)isDrawDisp__19dMenuFmapIconDisp_cFv) + 0x308),
(void*)(((char*)isDrawDisp__19dMenuFmapIconDisp_cFv) + 0x40C),
(void*)(((char*)isDrawDisp__19dMenuFmapIconDisp_cFv) + 0xA8),
(void*)(((char*)isDrawDisp__19dMenuFmapIconDisp_cFv) + 0x40C),
(void*)(((char*)isDrawDisp__19dMenuFmapIconDisp_cFv) + 0x35C),
(void*)(((char*)isDrawDisp__19dMenuFmapIconDisp_cFv) + 0x40C),
(void*)(((char*)isDrawDisp__19dMenuFmapIconDisp_cFv) + 0x40C),
(void*)(((char*)isDrawDisp__19dMenuFmapIconDisp_cFv) + 0x388),
(void*)(((char*)isDrawDisp__19dMenuFmapIconDisp_cFv) + 0x388),
};
#endif
/* 8003E6E8-8003EB10 039028 0428+00 2/0 3/3 0/0 .text isDrawDisp__19dMenuFmapIconDisp_cFv
*/
#ifdef NONMATCHING
//? regalloc
// NONMATCHING regalloc
bool dMenuFmapIconDisp_c::isDrawDisp() {
bool ret;
@@ -752,11 +659,6 @@ bool dMenuFmapIconDisp_c::isDrawDisp() {
return ret;
}
#else
bool dMenuFmapIconDisp_c::isDrawDisp() {
// NONMATCHING
}
#endif
/* 8003EB10-8003EB70 039450 0060+00 1/1 1/1 0/0 .text __dt__26fmpTresTypeGroupDataList_cFv */
fmpTresTypeGroupDataList_c::~fmpTresTypeGroupDataList_c() {
@@ -769,4 +671,4 @@ fmpTresTypeGroupDataList_c::~fmpTresTypeGroupDataList_c() {
fmpTresTypeGroupDataList_c::fmpTresTypeGroupDataList_c() {
mpTypeGroupDataHead = NULL;
mpNextData = NULL;
}
}
+70 -657
View File
@@ -4,6 +4,8 @@
*/
#include "d/d_menu_collect.h"
#include "JSystem/J3DGraphLoader/J3DModelLoader.h"
#include "JSystem/J3DGraphLoader/J3DAnmLoader.h"
#include "JSystem/J2DGraph/J2DTextBox.h"
#include "JSystem/JKernel/JKRExpHeap.h"
#include "JSystem/JKernel/JKRSolidHeap.h"
@@ -23,9 +25,7 @@
#include "d/d_item.h"
#include "d/d_lib.h"
#include "d/d_meter2_info.h"
#include "dol2asm.h"
#include "dolphin/os.h"
#include "dolphin/types.h"
#include "m_Do/m_Do_graphic.h"
#include "m_Do/m_Do_mtx.h"
#include "JSystem/J2DGraph/J2DAnmLoader.h"
@@ -33,303 +33,8 @@
#include "d/d_menu_window.h"
#include "JSystem/J3DGraphBase/J3DMaterial.h"
extern "C" void __ct__17dMenu_Collect2D_cFP10JKRExpHeapP9STControlP10CSTControl();
extern "C" void __dt__17dMenu_Collect2D_cFv();
extern "C" void _create__17dMenu_Collect2D_cFv();
extern "C" void _delete__17dMenu_Collect2D_cFv();
extern "C" void initialize__17dMenu_Collect2D_cFv();
extern "C" void isFishIconVisible__17dMenu_Collect2D_cFv();
extern "C" void isSkillIconVisible__17dMenu_Collect2D_cFv();
extern "C" void isInsectIconVisible__17dMenu_Collect2D_cFv();
extern "C" void screenSet__17dMenu_Collect2D_cFv();
extern "C" void animationSet__17dMenu_Collect2D_cFv();
extern "C" void btkAnimeLoop0__17dMenu_Collect2D_cFP19J2DAnmTextureSRTKey();
extern "C" void setBackAlpha__17dMenu_Collect2D_cFv();
extern "C" void cursorMove__17dMenu_Collect2D_cFv();
extern "C" void cursorPosSet__17dMenu_Collect2D_cFv();
extern "C" void changeSword__17dMenu_Collect2D_cFv();
extern "C" void changeShield__17dMenu_Collect2D_cFv();
extern "C" void changeClothe__17dMenu_Collect2D_cFv();
extern "C" void setArrowMaxNum__17dMenu_Collect2D_cFUc();
extern "C" void setWalletMaxNum__17dMenu_Collect2D_cFUs();
extern "C" void setSmellType__17dMenu_Collect2D_cFv();
extern "C" void setHeartPiece__17dMenu_Collect2D_cFv();
extern "C" void setPohMaxNum__17dMenu_Collect2D_cFUc();
extern "C" void setEquipItemFrameColorSword__17dMenu_Collect2D_cFi();
extern "C" void setEquipItemFrameColorShield__17dMenu_Collect2D_cFi();
extern "C" void setEquipItemFrameColorClothes__17dMenu_Collect2D_cFi();
extern "C" void setHIO__17dMenu_Collect2D_cFb();
extern "C" void getItemTag__17dMenu_Collect2D_cFiib();
extern "C" void wait_init__17dMenu_Collect2D_cFv();
extern "C" void wait_proc__17dMenu_Collect2D_cFv();
extern "C" void save_open_init__17dMenu_Collect2D_cFv();
extern "C" void save_open_proc__17dMenu_Collect2D_cFv();
extern "C" void save_move_init__17dMenu_Collect2D_cFv();
extern "C" void save_move_proc__17dMenu_Collect2D_cFv();
extern "C" void save_close_init__17dMenu_Collect2D_cFv();
extern "C" void save_close_proc__17dMenu_Collect2D_cFv();
extern "C" void option_open_init__17dMenu_Collect2D_cFv();
extern "C" void option_open_proc__17dMenu_Collect2D_cFv();
extern "C" void option_move_init__17dMenu_Collect2D_cFv();
extern "C" void option_move_proc__17dMenu_Collect2D_cFv();
extern "C" void option_close_init__17dMenu_Collect2D_cFv();
extern "C" void option_close_proc__17dMenu_Collect2D_cFv();
extern "C" void letter_open_init__17dMenu_Collect2D_cFv();
extern "C" void letter_open_proc__17dMenu_Collect2D_cFv();
extern "C" void letter_move_init__17dMenu_Collect2D_cFv();
extern "C" void letter_move_proc__17dMenu_Collect2D_cFv();
extern "C" void letter_close_init__17dMenu_Collect2D_cFv();
extern "C" void letter_close_proc__17dMenu_Collect2D_cFv();
extern "C" void fishing_open_init__17dMenu_Collect2D_cFv();
extern "C" void fishing_open_proc__17dMenu_Collect2D_cFv();
extern "C" void fishing_move_init__17dMenu_Collect2D_cFv();
extern "C" void fishing_move_proc__17dMenu_Collect2D_cFv();
extern "C" void fishing_close_init__17dMenu_Collect2D_cFv();
extern "C" void fishing_close_proc__17dMenu_Collect2D_cFv();
extern "C" void skill_open_init__17dMenu_Collect2D_cFv();
extern "C" void skill_open_proc__17dMenu_Collect2D_cFv();
extern "C" void skill_move_init__17dMenu_Collect2D_cFv();
extern "C" void skill_move_proc__17dMenu_Collect2D_cFv();
extern "C" void skill_close_init__17dMenu_Collect2D_cFv();
extern "C" void skill_close_proc__17dMenu_Collect2D_cFv();
extern "C" void insect_open_init__17dMenu_Collect2D_cFv();
extern "C" void insect_open_proc__17dMenu_Collect2D_cFv();
extern "C" void insect_move_init__17dMenu_Collect2D_cFv();
extern "C" void insect_move_proc__17dMenu_Collect2D_cFv();
extern "C" void insect_close_init__17dMenu_Collect2D_cFv();
extern "C" void insect_close_proc__17dMenu_Collect2D_cFv();
extern "C" void _move__17dMenu_Collect2D_cFv();
extern "C" void _draw__17dMenu_Collect2D_cFv();
extern "C" void drawTop__17dMenu_Collect2D_cFv();
extern "C" void isKeyCheck__17dMenu_Collect2D_cFv();
extern "C" bool isOutCheck__17dMenu_Collect2D_cFv();
extern "C" void setAButtonString__17dMenu_Collect2D_cFUs();
extern "C" void setBButtonString__17dMenu_Collect2D_cFUs();
extern "C" void setItemNameString__17dMenu_Collect2D_cFUcUc();
extern "C" void setItemNameStringNull__17dMenu_Collect2D_cFv();
extern "C" void __ct__17dMenu_Collect3D_cFP10JKRExpHeapP17dMenu_Collect2D_cP10CSTControl();
extern "C" void __dt__17dMenu_Collect3D_cFv();
extern "C" void _create__17dMenu_Collect3D_cFv();
extern "C" void _delete__17dMenu_Collect3D_cFv();
extern "C" void _move__17dMenu_Collect3D_cFUcUc();
extern "C" void draw__17dMenu_Collect3D_cFv();
extern "C" void setJ3D__17dMenu_Collect3D_cFPCcPCcPCc();
extern "C" void set_mtx__17dMenu_Collect3D_cFv();
extern "C" void animePlay__17dMenu_Collect3D_cFv();
extern "C" void animeEntry__17dMenu_Collect3D_cFv();
extern "C" void createMaskModel__17dMenu_Collect3D_cFv();
extern "C" void createMirrorModel__17dMenu_Collect3D_cFv();
extern "C" void getCrystalNum__17dMenu_Collect3D_cFv();
extern "C" void getMirrorNum__17dMenu_Collect3D_cFv();
extern "C" void getMaskMdlVisible__17dMenu_Collect3D_cFv();
extern "C" void setupItem3D__17dMenu_Collect3D_cFPA4_f();
extern "C" void toItem3Dpos__17dMenu_Collect3D_cFfffP4cXyz();
extern "C" void calcViewMtx__17dMenu_Collect3D_cFPA4_f();
extern "C" void draw__20dMenu_Collect2DTop_cFv();
extern "C" void __ct__15dMenu_Collect_cFP10JKRExpHeapP9STControlP10CSTControl();
extern "C" void __dt__15dMenu_Collect_cFv();
extern "C" void _create__15dMenu_Collect_cFv();
extern "C" void _delete__15dMenu_Collect_cFv();
extern "C" void _move__15dMenu_Collect_cFv();
extern "C" void draw__15dMenu_Collect_cFv();
extern "C" void __sinit_d_menu_collect_cpp();
extern "C" void __dt__20dMenu_Collect2DTop_cFv();
extern "C" void draw__17dMenu_Collect2D_cFv();
extern "C" extern char const* const d_menu_d_menu_collect__stringBase0;
extern "C" f32 mViewOffsetY__17dMenu_Collect3D_c[1 + 1 /* padding */];
//
// External References:
//
extern "C" void mDoMtx_XrotM__FPA4_fs();
extern "C" void mDoMtx_YrotM__FPA4_fs();
extern "C" void mDoMtx_ZrotM__FPA4_fs();
extern "C" void mDoMtx_lookAt__FPA4_fPC3VecPC3VecPC3Vecs();
extern "C" void play__14mDoExt_baseAnmFv();
extern "C" void init__13mDoExt_brkAnmFP16J3DMaterialTableP15J3DAnmTevRegKeyiifss();
extern "C" void entry__13mDoExt_brkAnmFP16J3DMaterialTablef();
extern "C" void init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb();
extern "C" void entry__13mDoExt_bckAnmFP12J3DModelDataf();
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
extern "C" void mDoExt_createSolidHeapToCurrent__FUlP7JKRHeapUl();
extern "C" void mDoExt_destroySolidHeap__FP12JKRSolidHeap();
extern "C" void mDoExt_destroyExpHeap__FP10JKRExpHeap();
extern "C" void mDoExt_setCurrentHeap__FP7JKRHeap();
extern "C" void mDoExt_restoreCurrentHeap__Fv();
extern "C" void mDoExt_getMesgFont__Fv();
extern "C" void mDoExt_getRubyFont__Fv();
extern "C" void __ct__11J3DLightObjFv();
extern "C" void checkTrigger__9STControlFv();
extern "C" void checkLeftTrigger__9STControlFv();
extern "C" void checkRightTrigger__9STControlFv();
extern "C" void checkUpTrigger__9STControlFv();
extern "C" void checkDownTrigger__9STControlFv();
extern "C" void getRupeeMax__21dSv_player_status_a_cCFv();
extern "C" void isFirstBit__21dSv_player_get_item_cCFUc();
extern "C" void isCollectCrystal__20dSv_player_collect_cCFUc();
extern "C" void isCollectMirror__20dSv_player_collect_cCFUc();
extern "C" void isEventBit__11dSv_event_cCFUs();
extern "C" void __dt__15J3DTevKColorAnmFv();
extern "C" void __ct__15J3DTevKColorAnmFv();
extern "C" void __dt__14J3DTevColorAnmFv();
extern "C" void __ct__14J3DTevColorAnmFv();
extern "C" void __dt__11J3DTexNoAnmFv();
extern "C" void __ct__11J3DTexNoAnmFv();
extern "C" void __dt__12J3DTexMtxAnmFv();
extern "C" void __ct__12J3DTexMtxAnmFv();
extern "C" void __dt__14J3DMatColorAnmFv();
extern "C" void __ct__14J3DMatColorAnmFv();
extern "C" void set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c();
extern "C" void checkItemGet__FUci();
extern "C" void setShieldChange__9daAlink_cFv();
extern "C" void initStatusWindow__9daAlink_cFv();
extern "C" void statusWindowExecute__9daAlink_cFPC4cXyzs();
extern "C" void statusWindowDraw__9daAlink_cFv();
extern "C" void resetStatusWindow__9daAlink_cFv();
extern "C" void __ct__16dSelect_cursor_cFUcfP10JKRArchive();
extern "C" void setPos__16dSelect_cursor_cFffP7J2DPaneb();
extern "C" void setParam__16dSelect_cursor_cFfffff();
extern "C" void setAlphaRate__16dSelect_cursor_cFf();
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
extern "C" void dKy_tevstr_init__FP12dKy_tevstr_cScUc();
extern "C" void __ct__15dMenu_Fishing_cFP10JKRExpHeapP9STControlP10CSTControl();
extern "C" void _move__15dMenu_Fishing_cFv();
extern "C" void _draw__15dMenu_Fishing_cFv();
extern "C" void _open__15dMenu_Fishing_cFv();
extern "C" void _close__15dMenu_Fishing_cFv();
extern "C" void __ct__14dMenu_Insect_cFP10JKRExpHeapP9STControlP10CSTControlUc();
extern "C" void _move__14dMenu_Insect_cFv();
extern "C" void _draw__14dMenu_Insect_cFv();
extern "C" void _open__14dMenu_Insect_cFv();
extern "C" void _close__14dMenu_Insect_cFv();
extern "C" void getGetInsectNum__14dMenu_Insect_cFv();
extern "C" void __ct__14dMenu_Letter_cFP10JKRExpHeapP9STControlP10CSTControl();
extern "C" void _move__14dMenu_Letter_cFv();
extern "C" void _draw__14dMenu_Letter_cFv();
extern "C" void _open__14dMenu_Letter_cFv();
extern "C" void _close__14dMenu_Letter_cFv();
extern "C" void __ct__14dMenu_Option_cFP10JKRArchiveP9STControl();
extern "C" void _delete__14dMenu_Option_cFv();
extern "C" void _move__14dMenu_Option_cFv();
extern "C" void _draw__14dMenu_Option_cFv();
extern "C" void _open__14dMenu_Option_cFv();
extern "C" void _close__14dMenu_Option_cFv();
extern "C" void initialize__14dMenu_Option_cFv();
extern "C" void __ct__12dMenu_save_cFv();
extern "C" void _create__12dMenu_save_cFv();
extern "C" void initialize__12dMenu_save_cFv();
extern "C" void _open__12dMenu_save_cFv();
extern "C" void _close__12dMenu_save_cFv();
extern "C" void _delete__12dMenu_save_cFv();
extern "C" void _move__12dMenu_save_cFv();
extern "C" void _draw__12dMenu_save_cFv();
extern "C" void __ct__13dMenu_Skill_cFP10JKRExpHeapP9STControlP10CSTControl();
extern "C" void _move__13dMenu_Skill_cFv();
extern "C" void _draw__13dMenu_Skill_cFv();
extern "C" void _open__13dMenu_Skill_cFv();
extern "C" void _close__13dMenu_Skill_cFv();
extern "C" void dMw_A_TRIGGER__Fv();
extern "C" void getStringKanji__13dMeter2Info_cFUlPcP14JMSMesgEntry_c();
extern "C" void dMeter2Info_getNumberTextureName__Fi();
extern "C" void dMeter2Info_setCloth__FUcb();
extern "C" void dMeter2Info_setSword__FUcb();
extern "C" void dMeter2Info_setShield__FUcb();
extern "C" void dMeter2Info_getRecieveLetterNum__Fv();
extern "C" void dMeter2Info_set2DVibration__Fv();
extern "C" void dMeter2Info_set2DVibrationM__Fv();
extern "C" void getSmellTypeMessageID__12dMsgObject_cFv();
extern "C" void __ct__12dMsgString_cFv();
extern "C" void __dt__12dMsgString_cFv();
extern "C" void __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap();
extern "C" void paneTrans__8CPaneMgrFff();
extern "C" void getGlobalVtxCenter__8CPaneMgrFP7J2DPanebs();
extern "C" void dPaneClass_showNullPane__FP9J2DScreen();
extern "C" void setAlphaRate__13CPaneMgrAlphaFf();
extern "C" void cLib_addCalcAngleS__FPsssss();
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
extern "C" void freeAll__7JKRHeapFv();
extern "C" void getTotalFreeSize__7JKRHeapFv();
extern "C" void* __nw__FUl();
extern "C" void __dl__FPv();
extern "C" void create__10JKRExpHeapFUlP7JKRHeapb();
extern "C" void adjustSize__12JKRSolidHeapFv();
extern "C" void getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader();
extern "C" void __ct__9J2DScreenFv();
extern "C" void setPriority__9J2DScreenFPCcUlP10JKRArchive();
extern "C" void draw__9J2DScreenFffPC14J2DGrafContext();
extern "C" void animation__9J2DScreenFv();
extern "C" void __ct__10J2DPictureFPC7ResTIMG();
extern "C" void getStringPtr__10J2DTextBoxCFv();
extern "C" void setString__10J2DTextBoxFsPCce();
extern "C" void load__20J2DAnmLoaderDataBaseFPCv();
extern "C" void init__15J3DVertexBufferFv();
extern "C" void __as__12J3DLightInfoFRC12J3DLightInfo();
extern "C" void initialize__8J3DModelFv();
extern "C" void entryModelData__8J3DModelFP12J3DModelDataUlUl();
extern "C" void init__12J3DFrameCtrlFs();
extern "C" void searchUpdateMaterialID__15J3DAnmTevRegKeyFP12J3DModelData();
extern "C" void initialize__14J3DMaterialAnmFv();
extern "C" void load__22J3DModelLoaderDataBaseFPCvUl();
extern "C" void load__20J3DAnmLoaderDataBaseFPCv24J3DAnmLoaderDataBaseFlag();
extern "C" void __construct_array();
extern "C" void __ptmf_scall();
extern "C" void _savegpr_17();
extern "C" void _savegpr_23();
extern "C" void _savegpr_24();
extern "C" void _savegpr_26();
extern "C" void _savegpr_27();
extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
extern "C" void _restgpr_17();
extern "C" void _restgpr_23();
extern "C" void _restgpr_24();
extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern void* __vt__12J3DFrameCtrl[3];
extern "C" extern void* __vt__12dDlst_base_c[3];
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
extern "C" extern void* __vt__8J3DModel[9];
extern "C" extern void* __vt__14J3DMaterialAnm[4];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" f32 Zero__4cXyz[3];
extern "C" u8 mFader__13mDoGph_gInf_c[4];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
//
// Declarations:
//
/* ############################################################################################## */
/* 80395330-80395330 021990 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80395330 = "zelda_collect_soubi_screen.blo";
SECTION_DEAD static char const* const stringBase_8039534F = "zelda_collect_soubi_do_icon_parts.blo";
SECTION_DEAD static char const* const stringBase_80395375 = "tt_block8x8.bti";
SECTION_DEAD static char const* const stringBase_80395385 = "";
SECTION_DEAD static char const* const stringBase_80395386 = "zelda_collect_soubi_screen.btk";
SECTION_DEAD static char const* const stringBase_803953A5 = "md_mask_parts_spin_1.bck";
SECTION_DEAD static char const* const stringBase_803953BE = "md_mask_parts_spin_2.bck";
SECTION_DEAD static char const* const stringBase_803953D7 = "md_mask_parts_spin_3.bck";
SECTION_DEAD static char const* const stringBase_803953F0 = "md_mask_parts_spin_4.bck";
SECTION_DEAD static char const* const stringBase_80395409 = "md_mask_parts_spin_1.brk";
SECTION_DEAD static char const* const stringBase_80395422 = "md_mask_parts_spin_2_3.brk";
SECTION_DEAD static char const* const stringBase_8039543D = "md_mask_parts_spin_4.brk";
SECTION_DEAD static char const* const stringBase_80395456 = "md_mask_UI.bmd";
SECTION_DEAD static char const* const stringBase_80395465 = "kageri_mirrer_spin_1.bck";
SECTION_DEAD static char const* const stringBase_8039547E = "kageri_mirrer_spin_2.bck";
SECTION_DEAD static char const* const stringBase_80395497 = "kageri_mirrer_spin_3.bck";
SECTION_DEAD static char const* const stringBase_803954B0 = "kageri_mirrer_spin_4.bck";
SECTION_DEAD static char const* const stringBase_803954C9 = "kageri_mirrer_spin_1.brk";
SECTION_DEAD static char const* const stringBase_803954E2 = "kageri_mirrer_spin_2_3_4.brk";
#pragma pop
/* 803BC380-803BC38C 0194A0 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
static u8 cNullVec__6Z2Calc[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
@@ -360,38 +65,6 @@ static processFunc process[] = {
&dMenu_Collect2D_c::insect_close_proc,
};
/* 803BC71C-803BC72C -00001 0010+00 1/1 0/0 0/0 .data bck_name$7583 */
SECTION_DATA static void* bck_name_7583[4] = {
(void*)(((char*)&d_menu_d_menu_collect__stringBase0) + 0x75),
(void*)(((char*)&d_menu_d_menu_collect__stringBase0) + 0x8E),
(void*)(((char*)&d_menu_d_menu_collect__stringBase0) + 0xA7),
(void*)(((char*)&d_menu_d_menu_collect__stringBase0) + 0xC0),
};
/* 803BC72C-803BC73C -00001 0010+00 1/1 0/0 0/0 .data brk_name$7584 */
SECTION_DATA static void* brk_name_7584[4] = {
(void*)(((char*)&d_menu_d_menu_collect__stringBase0) + 0xD9),
(void*)(((char*)&d_menu_d_menu_collect__stringBase0) + 0xF2),
(void*)(((char*)&d_menu_d_menu_collect__stringBase0) + 0xF2),
(void*)(((char*)&d_menu_d_menu_collect__stringBase0) + 0x10D),
};
/* 803BC73C-803BC74C -00001 0010+00 1/1 0/0 0/0 .data bck_name$7687 */
SECTION_DATA static void* bck_name_7687[4] = {
(void*)(((char*)&d_menu_d_menu_collect__stringBase0) + 0x135),
(void*)(((char*)&d_menu_d_menu_collect__stringBase0) + 0x14E),
(void*)(((char*)&d_menu_d_menu_collect__stringBase0) + 0x167),
(void*)(((char*)&d_menu_d_menu_collect__stringBase0) + 0x180),
};
/* 803BC74C-803BC75C -00001 0010+00 1/1 0/0 0/0 .data brk_name$7688 */
SECTION_DATA static void* brk_name_7688[4] = {
(void*)(((char*)&d_menu_d_menu_collect__stringBase0) + 0x199),
(void*)(((char*)&d_menu_d_menu_collect__stringBase0) + 0x1B2),
(void*)(((char*)&d_menu_d_menu_collect__stringBase0) + 0x1B2),
(void*)(((char*)&d_menu_d_menu_collect__stringBase0) + 0x1B2),
};
/* 801AFD48-801AFE34 1AA688 00EC+00 1/1 0/0 0/0 .text
* __ct__17dMenu_Collect2D_cFP10JKRExpHeapP9STControlP10CSTControl */
dMenu_Collect2D_c::dMenu_Collect2D_c(JKRExpHeap* param_0, STControl* param_1, CSTControl* param_2) {
@@ -551,7 +224,6 @@ void dMenu_Collect2D_c::initialize() {
(this->*init[mProcess])();
}
/* 801B05A8-801B061C 1AAEE8 0074+00 2/2 0/0 0/0 .text isFishIconVisible__17dMenu_Collect2D_cFv */
bool dMenu_Collect2D_c::isFishIconVisible() {
if (dComIfGs_getFishNum(0) || dComIfGs_getFishNum(1) || dComIfGs_getFishNum(2) ||
@@ -584,87 +256,19 @@ bool dMenu_Collect2D_c::isInsectIconVisible() {
return dMenu_Insect_c::getGetInsectNum();
}
/* ############################################################################################## */
/* 80394F78-80394F88 0215D8 000C+04 3/3 0/0 0/0 .rodata @3778 */
SECTION_RODATA static u8 const lit_3778[12 + 4 /* padding */] = {
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
/* padding */
0x00,
0x00,
0x00,
0x00,
static u8 const lit_3778[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80394F78, &lit_3778);
/* 80394F88-80394FA0 0215E8 0018+00 0/1 0/0 0/0 .rodata text_sv$4768 */
#pragma push
#pragma force_active on
static const u64 text_sv[3] = {
'sav_0',
'sav_1',
'sav_2',
};
#pragma pop
/* 80394FA0-80394FB8 021600 0018+00 0/1 0/0 0/0 .rodata text_op$4769 */
#pragma push
#pragma force_active on
static const u64 text_op[3] = {
'opt_0',
'opt_1',
'opt_2',
};
#pragma pop
/* 80394FB8-80394FD0 021618 0018+00 0/1 0/0 0/0 .rodata ftext_sv$4770 */
#pragma push
#pragma force_active on
static const u64 ftext_sv[3] = {
'f_sav_0',
'f_sav_1',
'f_sav_2',
};
#pragma pop
/* 80394FD0-80394FE8 021630 0018+00 0/1 0/0 0/0 .rodata ftext_op$4771 */
#pragma push
#pragma force_active on
static const u64 ftext_op[3] = {
'f_opt_0',
'f_opt_1',
'f_opt_2',
};
#pragma pop
/* 80394FE8-80395010 021648 0028+00 0/1 0/0 0/0 .rodata text_a_tag$4777 */
#pragma push
#pragma force_active on
static const u64 text_a_tag_4777[5] = {
'atext1_1', 'atext1_2', 'atext1_3', 'atext1_4', 'atext1_5',
};
#pragma pop
/* 80395010-80395038 021670 0028+00 0/1 0/0 0/0 .rodata text_b_tag$4778 */
#pragma push
#pragma force_active on
static const u64 text_b_tag_4778[5] = {
'btext1_1', 'btext1_2', 'btext1_3', 'btext1_4', 'btext1_5',
};
#pragma pop
/* 801B074C-801B1C3C 1AB08C 14F0+00 1/1 0/0 0/0 .text screenSet__17dMenu_Collect2D_cFv */
void dMenu_Collect2D_c::screenSet() {
static const u64 text_sv[3] = {'sav_0', 'sav_1', 'sav_2'};
static const u64 text_op[3] = {'opt_0', 'opt_1', 'opt_2',};
static const u64 ftext_sv[3] = {'f_sav_0', 'f_sav_1', 'f_sav_2'};
static const u64 ftext_op[3] = {'f_opt_0', 'f_opt_1', 'f_opt_2'};
static const u64 text_a_tag[5] = {'atext1_1', 'atext1_2', 'atext1_3', 'atext1_4', 'atext1_5'};
static const u64 text_b_tag[5] = {'btext1_1', 'btext1_2', 'btext1_3', 'btext1_4', 'btext1_5'};
static_cast<J2DTextBox*>(mpScreen->search('f_t00'))->setFont(mDoExt_getRubyFont());
static_cast<J2DTextBox*>(mpScreen->search('f_t00'))->setString(0x20, "");
dMeter2Info_getStringKanji(
@@ -685,12 +289,12 @@ void dMenu_Collect2D_c::screenSet() {
}
for (int i = 0; i < 5; i++) {
static_cast<J2DTextBox*>(mpScreenIcon->search(text_a_tag_4777[i]))
static_cast<J2DTextBox*>(mpScreenIcon->search(text_a_tag[i]))
->setFont(mDoExt_getMesgFont());
static_cast<J2DTextBox*>(mpScreenIcon->search(text_b_tag_4778[i]))
static_cast<J2DTextBox*>(mpScreenIcon->search(text_b_tag[i]))
->setFont(mDoExt_getMesgFont());
static_cast<J2DTextBox*>(mpScreenIcon->search(text_a_tag_4777[i]))->setString(0x20, "");
static_cast<J2DTextBox*>(mpScreenIcon->search(text_b_tag_4778[i]))->setString(0x20, "");
static_cast<J2DTextBox*>(mpScreenIcon->search(text_a_tag[i]))->setString(0x20, "");
static_cast<J2DTextBox*>(mpScreenIcon->search(text_b_tag[i]))->setString(0x20, "");
}
static_cast<J2DTextBox*>(mpScreen->search('item_n04'))->setFont(mDoExt_getMesgFont());
@@ -1041,7 +645,7 @@ void dMenu_Collect2D_c::screenSet() {
void dMenu_Collect2D_c::animationSet() {
OSInitFastCast();
void* resource =
JKRGetNameResource("zelda_collect_soubi_screen_revo.btk", dComIfGp_getCollectResArchive());
JKRGetNameResource("zelda_collect_soubi_screen.btk", dComIfGp_getCollectResArchive());
mpAnmKey = (J2DAnmTextureSRTKey*)J2DAnmLoaderDataBase::load(resource);
mpAnmKey->searchUpdateMaterialID(mpScreen);
field_0x34 = 0.0f;
@@ -1114,59 +718,6 @@ void dMenu_Collect2D_c::setBackAlpha() {
mpBlackTex->setAlpha(alpha * 150.0f);
}
/* ############################################################################################## */
/* 80395038-80395044 021698 0009+03 1/1 0/0 0/0 .rodata @5343 */
SECTION_RODATA static u8 const lit_5343[9 + 3 /* padding */] = {
0x03,
0x03,
0x04,
0x03,
0x04,
0x05,
0x04,
0x05,
0x05,
/* padding */
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x80395038, &lit_5343);
/* 80395044-80395050 0216A4 0009+03 1/1 0/0 0/0 .rodata @5344 */
SECTION_RODATA static u8 const lit_5344[9 + 3 /* padding */] = {
0x02,
0x01,
0x02,
0x00,
0x01,
0x02,
0x00,
0x01,
0x00,
/* padding */
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x80395044, &lit_5344);
/* 80453F50-80453F54 002550 0004+00 1/1 0/0 0/0 .sdata2 @5402 */
SECTION_SDATA2 static u32 lit_5402 = 0x03020301;
/* 80453F54-80453F58 002554 0004+00 1/1 0/0 0/0 .sdata2 None */
SECTION_SDATA2 static u32 data_80453F54 = 0x02000100;
/* 80453F58-80453F5C 002558 0004+00 1/1 0/0 0/0 .sdata2 @5403 */
SECTION_SDATA2 static u32 lit_5403 = 0x03030403;
/* 80453F5C-80453F60 00255C 0004+00 1/1 0/0 0/0 .sdata2 None */
SECTION_SDATA2 static u32 data_80453F5C = 0x04030404;
/* 80453F60-80453F64 002560 0004+00 6/6 0/0 0/0 .sdata2 @5531 */
SECTION_SDATA2 static f32 lit_5531 = -1.0f;
/* 801B1FAC-801B27EC 1AC8EC 0840+00 1/1 0/0 0/0 .text cursorMove__17dMenu_Collect2D_cFv
*/
// NONMATCHING
@@ -1390,28 +941,6 @@ LAB_802bab54:
}
}
/* ############################################################################################## */
/* 80453F64-80453F68 002564 0004+00 1/1 0/0 0/0 .sdata2 @5611 */
SECTION_SDATA2 static f32 lit_5611 = 11.0f / 10.0f;
/* 80453F68-80453F6C 002568 0004+00 1/1 0/0 0/0 .sdata2 @5612 */
SECTION_SDATA2 static f32 lit_5612 = 17.0f / 20.0f;
/* 80453F6C-80453F70 00256C 0004+00 1/1 0/0 0/0 .sdata2 @5613 */
SECTION_SDATA2 static f32 lit_5613 = 1.0f / 20.0f;
/* 80453F70-80453F74 002570 0004+00 1/1 0/0 0/0 .sdata2 @5614 */
SECTION_SDATA2 static f32 lit_5614 = 3.0f / 5.0f;
/* 80453F74-80453F78 002574 0004+00 1/1 0/0 0/0 .sdata2 @5615 */
SECTION_SDATA2 static f32 lit_5615 = 3.0f / 100.0f;
/* 80453F78-80453F7C 002578 0004+00 1/1 0/0 0/0 .sdata2 @5616 */
SECTION_SDATA2 static f32 lit_5616 = 1.0f / 10.0f;
/* 80453F7C-80453F80 00257C 0004+00 1/1 0/0 0/0 .sdata2 @5617 */
SECTION_SDATA2 static f32 lit_5617 = 7.0f / 10.0f;
/* 801B27EC-801B2A74 1AD12C 0288+00 2/2 0/0 0/0 .text cursorPosSet__17dMenu_Collect2D_cFv
*/
void dMenu_Collect2D_c::cursorPosSet() {
@@ -1452,7 +981,6 @@ void dMenu_Collect2D_c::cursorPosSet() {
}
}
/* 801B2A74-801B2D00 1AD3B4 028C+00 1/1 0/0 0/0 .text changeSword__17dMenu_Collect2D_cFv
*/
void dMenu_Collect2D_c::changeSword() {
@@ -1499,7 +1027,6 @@ void dMenu_Collect2D_c::changeSword() {
}
}
/* 801B2D00-801B2EE4 1AD640 01E4+00 1/1 0/0 0/0 .text changeShield__17dMenu_Collect2D_cFv
*/
void dMenu_Collect2D_c::changeShield() {
@@ -1537,7 +1064,6 @@ void dMenu_Collect2D_c::changeShield() {
}
}
/* 801B2EE4-801B30C8 1AD824 01E4+00 1/1 0/0 0/0 .text changeClothe__17dMenu_Collect2D_cFv
*/
void dMenu_Collect2D_c::changeClothe() {
@@ -1572,7 +1098,6 @@ void dMenu_Collect2D_c::changeClothe() {
}
}
/* 801B30C8-801B3340 1ADA08 0278+00 1/1 0/0 0/0 .text setArrowMaxNum__17dMenu_Collect2D_cFUc */
void dMenu_Collect2D_c::setArrowMaxNum(u8 param_0) {
switch (param_0) {
@@ -2556,7 +2081,6 @@ void dMenu_Collect2D_c::_draw() {
mpDrawCursor->draw();
}
/* 801B5F48-801B5F84 1B0888 003C+00 1/1 0/0 0/0 .text drawTop__17dMenu_Collect2D_cFv */
void dMenu_Collect2D_c::drawTop() {
dComIfGd_set2DOpaTop(mpDraw2DTop);
@@ -2734,46 +2258,6 @@ void dMenu_Collect3D_c::_delete() {
}
}
/* ############################################################################################## */
/* 80453F80-80453F84 002580 0004+00 1/1 0/0 0/0 .sdata2 @7324 */
SECTION_SDATA2 static f32 lit_7324 = 60.0f;
/* 80453F84-80453F88 002584 0004+00 1/1 0/0 0/0 .sdata2 @7325 */
SECTION_SDATA2 static f32 lit_7325 = 580.0f;
/* 80453F88-80453F8C 002588 0004+00 1/1 0/0 0/0 .sdata2 @7326 */
SECTION_SDATA2 static f32 lit_7326 = 90.0f;
/* 80453F8C-80453F90 00258C 0004+00 1/1 0/0 0/0 .sdata2 @7327 */
SECTION_SDATA2 static f32 lit_7327 = 550.0f;
/* 80453F90-80453F94 002590 0004+00 1/1 0/0 0/0 .sdata2 @7328 */
SECTION_SDATA2 static f32 lit_7328 = 450.0f;
/* 80453F94-80453F98 002594 0004+00 1/1 0/0 0/0 .sdata2 @7329 */
SECTION_SDATA2 static f32 lit_7329 = -3.0f;
/* 80453F98-80453F9C 002598 0004+00 1/1 0/0 0/0 .sdata2 @7330 */
SECTION_SDATA2 static f32 lit_7330 = -5.0f;
/* 80453F9C-80453FA0 00259C 0004+00 1/1 0/0 0/0 .sdata2 @7331 */
SECTION_SDATA2 static f32 lit_7331 = 16.0f;
/* 80453FA0-80453FA4 0025A0 0004+00 1/1 0/0 0/0 .sdata2 @7332 */
SECTION_SDATA2 static f32 lit_7332 = 8.0f;
/* 80453FA4-80453FA8 0025A4 0004+00 2/2 0/0 0/0 .sdata2 @7333 */
SECTION_SDATA2 static f32 lit_7333 = 2.0f;
/* 80453FA8-80453FAC 0025A8 0004+00 1/1 0/0 0/0 .sdata2 @7334 */
SECTION_SDATA2 static f32 lit_7334 = -4.0f;
/* 80453FAC-80453FB0 0025AC 0004+00 1/1 0/0 0/0 .sdata2 @7335 */
SECTION_SDATA2 static f32 lit_7335 = -10.0f;
/* 80453FB0-80453FB4 0025B0 0004+00 1/1 0/0 0/0 .sdata2 @7336 */
SECTION_SDATA2 static f32 lit_7336 = 600.0f;
/* 801B66C8-801B696C 1B1008 02A4+00 2/2 0/0 0/0 .text _move__17dMenu_Collect3D_cFUcUc */
void dMenu_Collect3D_c::_move(u8 param_0, u8 param_1) {
cXyz itemPos;
@@ -2840,7 +2324,6 @@ void dMenu_Collect3D_c::_move(u8 param_0, u8 param_1) {
}
}
/* 801B696C-801B6A30 1B12AC 00C4+00 1/1 0/0 0/0 .text draw__17dMenu_Collect3D_cFv */
void dMenu_Collect3D_c::draw() {
dComIfGd_setListItem3D();
@@ -2857,11 +2340,10 @@ void dMenu_Collect3D_c::draw() {
}
/* 801B6A30-801B6D30 1B1370 0300+00 2/2 0/0 0/0 .text setJ3D__17dMenu_Collect3D_cFPCcPCcPCc */
// regalloc
#ifdef NONMATCHING
// NONMATCHING regalloc
void dMenu_Collect3D_c::setJ3D(const char* param_0, const char* param_1, const char* param_2) {
JKRArchive* resArchive = dComIfGp_getCollectResArchive();
J3DModelData* modelData = (J3DModelData*)J3DModelLoaderDataBase::load(
J3DModelData* modelData = J3DModelLoaderDataBase::load(
resArchive->getResource('BMD ', param_0), 0x51020010);
for (u16 i = 0; i < modelData->getMaterialNum(); i++) {
@@ -2888,11 +2370,6 @@ void dMenu_Collect3D_c::setJ3D(const char* param_0, const char* param_1, const c
}
}
}
#else
void dMenu_Collect3D_c::setJ3D(const char* param_0, const char* param_1, const char* param_2) {
// NONMATCHING
}
#endif
/* 801B6D30-801B6E70 1B1670 0140+00 2/2 0/0 0/0 .text set_mtx__17dMenu_Collect3D_cFv */
void dMenu_Collect3D_c::set_mtx() {
@@ -2958,32 +2435,11 @@ void dMenu_Collect3D_c::animeEntry() {
}
}
/* 803952B8-803952CC 021918 0014+00 0/1 0/0 0/0 .rodata m_kamen_offset_x$7578 */
#pragma push
#pragma force_active on
static const f32 m_kamen_offset_x[5] = {
-14.0f, -14.0f, -14.0f, 1.3f, 6.5f,
};
#pragma pop
/* 803952CC-803952E0 02192C 0014+00 0/1 0/0 0/0 .rodata m_kamen_offset_y$7579 */
#pragma push
#pragma force_active on
static const f32 m_kamen_offset_y[5] = {
0.0f, 0.0f, 0.0f, 22.0f, 30.0f,
};
#pragma pop
/* 803952E0-803952F4 021940 0014+00 0/1 0/0 0/0 .rodata m_kamen_scale$7580 */
#pragma push
#pragma force_active on
static const f32 m_kamen_scale[5] = {
2.6f, 2.6f, 2.2f, 1.8f, 1.8f,
};
#pragma pop
/* 801B7014-801B71C4 1B1954 01B0+00 1/1 0/0 0/0 .text createMaskModel__17dMenu_Collect3D_cFv */
void dMenu_Collect3D_c::createMaskModel() {
static const f32 m_kamen_offset_x[5] = {-14.0f, -14.0f, -14.0f, 1.3f, 6.5f};
static const f32 m_kamen_offset_y[5] = {0.0f, 0.0f, 0.0f, 22.0f, 30.0f};
static const f32 m_kamen_scale[5] = {2.6f, 2.6f, 2.2f, 1.8f, 1.8f};
static char* bck_name[4] = {
"md_mask_parts_spin_1.bck",
"md_mask_parts_spin_2.bck",
@@ -3023,41 +2479,11 @@ void dMenu_Collect3D_c::createMaskModel() {
}
}
/* 803952F4-80395308 021954 0014+00 0/1 0/0 0/0 .rodata m_mirror_offset_x$7682 */
#pragma push
#pragma force_active on
static const f32 m_mirror_offset_x[5] = {
0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
};
#pragma pop
/* 80395308-8039531C 021968 0014+00 0/1 0/0 0/0 .rodata m_mirror_offset_y$7683 */
#pragma push
#pragma force_active on
static const f32 m_mirror_offset_y[5] = {
4.0f, 4.0f, 4.0f, 4.0f, 4.0f,
};
#pragma pop
/* 8039531C-80395330 02197C 0014+00 0/1 0/0 0/0 .rodata m_mirror_scale$7684 */
#pragma push
#pragma force_active on
static const f32 m_mirror_scale[5] = {
0.6f, 0.6f, 0.6f, 0.6f, 0.6f,
};
#pragma pop
/* 80395330-80395330 021990 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_803954FF = "kageri_mirrer_UI.bmd";
/* @stringBase0 padding */
SECTION_DEAD static char const* const pad_80395514 = "\0\0\0";
#pragma pop
/* 801B71C4-801B7434 1B1B04 0270+00 1/1 0/0 0/0 .text createMirrorModel__17dMenu_Collect3D_cFv */
void dMenu_Collect3D_c::createMirrorModel() {
static const f32 m_mirror_offset_x[5] = {0.0f, 0.0f, 0.0f, 0.0f, 0.0f};
static const f32 m_mirror_offset_y[5] = {4.0f, 4.0f, 4.0f, 4.0f, 4.0f};
static const f32 m_mirror_scale[5] = {0.6f, 0.6f, 0.6f, 0.6f, 0.6f};
static char* bck_name[4] = {
"kageri_mirrer_spin_1.bck",
"kageri_mirrer_spin_2.bck",
@@ -3103,7 +2529,6 @@ void dMenu_Collect3D_c::createMirrorModel() {
}
}
/* 801B7434-801B749C 1B1D74 0068+00 5/5 0/0 0/0 .text getCrystalNum__17dMenu_Collect3D_cFv */
u8 dMenu_Collect3D_c::getCrystalNum() {
u8 count = 0;
@@ -3143,56 +2568,40 @@ u8 dMenu_Collect3D_c::getMaskMdlVisible() {
return 2;
}
/* ############################################################################################## */
/* 80450720-80450728 0001A0 0004+04 1/1 0/0 1/1 .sdata mViewOffsetY__17dMenu_Collect3D_c
*/
f32 dMenu_Collect3D_c::mViewOffsetY = -100.0f;
/* 80453FC4-80453FC8 0025C4 0004+00 3/3 0/0 0/0 .sdata2 @7944 */
SECTION_SDATA2 static f32 lit_7944 = 608.0f;
/* 80453FC8-80453FCC 0025C8 0004+00 3/3 0/0 0/0 .sdata2 @7945 */
SECTION_SDATA2 static f32 lit_7945 = 448.0f;
/* 80453FCC-80453FD0 0025CC 0004+00 2/2 0/0 0/0 .sdata2 @7946 */
SECTION_SDATA2 static f32 lit_7946 = -100.0f;
/* 80453FD0-80453FD4 0025D0 0004+00 1/1 0/0 0/0 .sdata2 @7947 */
SECTION_SDATA2 static f32 lit_7947 = 45.0f;
/* 80453FD4-80453FD8 0025D4 0004+00 2/2 0/0 0/0 .sdata2 @7948 */
SECTION_SDATA2 static f32 lit_7948 = 19.0f / 14.0f;
/* 80453FD8-80453FE0 0025D8 0004+04 1/1 0/0 0/0 .sdata2 @7949 */
SECTION_SDATA2 static f32 lit_7949[1 + 1 /* padding */] = {
100000.0f,
/* padding */
0.0f,
};
/* 801B75E8-801B7660 1B1F28 0078+00 0/0 1/1 0/0 .text setupItem3D__17dMenu_Collect3D_cFPA4_f */
void dMenu_Collect3D_c::setupItem3D(Mtx param_0) {
GXSetViewport(0.0, mViewOffsetY, 608.0, 448.0, 0.0, 1.0);
mViewOffsetY = -100.0;
GXSetViewport(0.0f, mViewOffsetY, 608.0f, 448.0f, 0.0f, 1.0f);
mViewOffsetY = -100.0f;
Mtx44 projection;
C_MTXPerspective(projection, 45.0, mDoGph_gInf_c::getAspect(), 1.0, 100000.0);
C_MTXPerspective(projection, 45.0f, mDoGph_gInf_c::getAspect(), 1.0f, 100000.0f);
GXSetProjection(projection, GX_PERSPECTIVE);
calcViewMtx(param_0);
}
/* ############################################################################################## */
/* 80453FE0-80453FE8 0025E0 0008+00 1/1 0/0 0/0 .sdata2 @7963 */
SECTION_SDATA2 static f64 lit_7963 = 0.39269909262657166;
/* 801B7660-801B774C 1B1FA0 00EC+00 1/1 0/0 0/0 .text toItem3Dpos__17dMenu_Collect3D_cFfffP4cXyz
*/
// This is mostly matching like this using O2 but still regalloc (f29/f31). The main issue is the use of dVar12
#ifdef NONMATCHING
#pragma push
#pragma optimization_level 2
void dMenu_Collect3D_c::toItem3Dpos(f32 param_0, f32 param_1, f32 param_2, cXyz* param_3) {
// NONMATCHING
Mtx adStack_98;
Mtx auStack_c8;
f32 dVar7 =
(2.0f * ((param_0 - mDoGph_gInf_c::getMinXF()) / mDoGph_gInf_c::getWidthF()) - 1.0f);
f32 dVar11 = (2.0f * ((param_1 - -100.0f) / 448.0f) - 1.0f);
calcViewMtx(adStack_98);
MTXInverse(adStack_98, auStack_c8);
f32 tangent = tan(0.39269909262657166);
f32 dVar12 = -param_2;
cXyz cStack_d4((dVar7 * param_2) * (mDoGph_gInf_c::getAspect() * tangent),
(tangent * (dVar11 * dVar12)), dVar12);
MTXMultVec(auStack_c8, &cStack_d4, param_3);
}
#endif
#pragma pop
/* 801B774C-801B77A4 1B208C 0058+00 2/2 0/0 0/0 .text calcViewMtx__17dMenu_Collect3D_cFPA4_f */
void dMenu_Collect3D_c::calcViewMtx(Mtx param_0) {
@@ -3201,9 +2610,33 @@ void dMenu_Collect3D_c::calcViewMtx(Mtx param_0) {
/* 801B77A4-801B78C0 1B20E4 011C+00 1/0 0/0 0/0 .text draw__20dMenu_Collect2DTop_cFv */
// void dMenu_Collect2DTop_c::draw() {
extern "C" void draw__20dMenu_Collect2DTop_cFv() {
// NONMATCHING
void dMenu_Collect2DTop_c::draw() {
J2DGrafContext* graf_port = dComIfGp_getCurrentGrafPort();
graf_port->setup2D();
mpCollect2D->getBlackTex()->draw(mDoGph_gInf_c::getMinXF(), mDoGph_gInf_c::getMinYF(),
mDoGph_gInf_c::getWidthF(), mDoGph_gInf_c::getHeightF(),
false, false, false);
if (mpCollect2D->getSaveScreen() != NULL) {
mpCollect2D->getSaveScreen()->_draw();
}
if (mpCollect2D->getOptionScreen() != NULL) {
mpCollect2D->getOptionScreen()->_draw();
}
if (mpCollect2D->getLetterScreen() != NULL) {
mpCollect2D->getLetterScreen()->_draw();
}
if (mpCollect2D->getFishingScreen() != NULL) {
mpCollect2D->getFishingScreen()->_draw();
}
if (mpCollect2D->getSkillScreen() != NULL) {
mpCollect2D->getSkillScreen()->_draw();
}
if (mpCollect2D->getInsectScreen() != NULL) {
mpCollect2D->getInsectScreen()->_draw();
}
if (mpCollect2D->getIconScreen() != NULL) {
mpCollect2D->getIconScreen()->draw(0.0f, 0.0f, graf_port);
}
}
/* 801B78C0-801B795C 1B2200 009C+00 0/0 1/1 0/0 .text
@@ -3250,23 +2683,3 @@ void dMenu_Collect_c::draw() {
mpCollect3D->draw();
mpCollect2D->drawTop();
}
/* 801B7B14-801B7EB8 1B2454 03A4+00 0/0 1/0 0/0 .text __sinit_d_menu_collect_cpp */
void __sinit_d_menu_collect_cpp(){// NONMATCHING
}
#pragma push
#pragma force_active on
REGISTER_CTORS(0x801B7B14, __sinit_d_menu_collect_cpp);
#pragma pop
/* 801B7EB8-801B7F00 1B27F8 0048+00 1/0 0/0 0/0 .text __dt__20dMenu_Collect2DTop_cFv */
dMenu_Collect2DTop_c::~dMenu_Collect2DTop_c() {
// NONMATCHING
}
/* 801B7F00-801B7F20 1B2840 0020+00 1/0 0/0 0/0 .text draw__17dMenu_Collect2D_cFv */
// void dMenu_Collect2D_c::draw() {
extern "C" void draw__17dMenu_Collect2D_cFv() {
// NONMATCHING
}
+96 -633
View File
File diff suppressed because it is too large Load Diff
+4 -6
View File
@@ -19,8 +19,6 @@
#include "d/d_msg_object.h"
#include "d/d_pane_class.h"
extern "C" extern dMsgObject_HIO_c g_MsgObject_HIO_c;
/* 8020FAB4-802102F8 20A3F4 0844+00 0/0 1/1 0/0 .text __ct__13dMeter2Draw_cFP10JKRExpHeap
*/
dMeter2Draw_c::dMeter2Draw_c(JKRExpHeap* mp_heap) {
@@ -83,7 +81,7 @@ dMeter2Draw_c::dMeter2Draw_c(JKRExpHeap* mp_heap) {
playPikariBckAnimation(1.0f);
void* pikari_bpk = JKRGetNameResource("zelda_icon_pikari.bpk", dComIfGp_getMain2DArchive());
mPikariBpk = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(pikari_bpk);
mPikariBpk = (J2DAnmColor*)J2DAnmLoaderDataBase::load(pikari_bpk);
mPikariBpk->searchUpdateMaterialID(mpPikariScreen);
playPikariBpkAnimation(1.0f);
@@ -815,17 +813,17 @@ void dMeter2Draw_c::initMagic() {
void* res = JKRFileLoader::getGlbResource("zelda_game_image_sanso_10percent.bpk",
dComIfGp_getMain2DArchive());
mpOxygenBpk[0] = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(res);
mpOxygenBpk[0] = (J2DAnmColor*)J2DAnmLoaderDataBase::load(res);
mpOxygenBpk[0]->searchUpdateMaterialID(mpKanteraScreen);
res = JKRFileLoader::getGlbResource("zelda_game_image_sanso_25percent.bpk",
dComIfGp_getMain2DArchive());
mpOxygenBpk[1] = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(res);
mpOxygenBpk[1] = (J2DAnmColor*)J2DAnmLoaderDataBase::load(res);
mpOxygenBpk[1]->searchUpdateMaterialID(mpKanteraScreen);
res = JKRFileLoader::getGlbResource("zelda_game_image_sanso_50percent.bpk",
dComIfGp_getMain2DArchive());
mpOxygenBpk[2] = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(res);
mpOxygenBpk[2] = (J2DAnmColor*)J2DAnmLoaderDataBase::load(res);
mpOxygenBpk[2]->searchUpdateMaterialID(mpKanteraScreen);
field_0x558 = 0.0f;
+209 -464
View File
@@ -11,136 +11,6 @@
#include "d/d_meter_map.h"
#include "d/d_msg_object.h"
#include "d/d_item_data.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "global.h"
//
// Forward References:
//
extern "C" void __ct__13dMeter2Info_cFv();
extern "C" void __dt__13dMeter2Info_cFv();
extern "C" void init__13dMeter2Info_cFv();
extern "C" void setFloatingMessage__13dMeter2Info_cFUssb();
extern "C" void setFloatingFlow__13dMeter2Info_cFUssb();
extern "C" void isFloatingMessageVisible__13dMeter2Info_cFv();
extern "C" void decFloatingMessageTimer__13dMeter2Info_cFv();
extern "C" void resetFloatingMessage__13dMeter2Info_cFv();
extern "C" void decMsgKeyWaitTimer__13dMeter2Info_cFv();
extern "C" void getString__13dMeter2Info_cFUlPcP14JMSMesgEntry_c();
extern "C" void getStringKana__13dMeter2Info_cFUlPcP14JMSMesgEntry_c();
extern "C" void getStringKanji__13dMeter2Info_cFUlPcP14JMSMesgEntry_c();
extern "C" void getStringLength__13dMeter2Info_cFP10J2DTextBoxPc();
extern "C" void getFont__10J2DTextBoxCFv();
extern "C" void getStringLength__13dMeter2Info_cFP7JUTFontffPc();
extern "C" void onDirectUseItem__13dMeter2Info_cFi();
extern "C" void isDirectUseItem__13dMeter2Info_cFi();
extern "C" void setMeterString__13dMeter2Info_cFl();
extern "C" void resetWarpStatus__13dMeter2Info_cFv();
extern "C" void warpInProc__13dMeter2Info_cFv();
extern "C" void warpOutProc__13dMeter2Info_cFv();
extern "C" void resetMeterString__13dMeter2Info_cFv();
extern "C" void setWarpInfo__13dMeter2Info_cFPCcRC4cXyzsUcUcUc();
extern "C" void getItemType__13dMeter2Info_cFUc();
extern "C" void
readItemTexture__13dMeter2Info_cFUcPvP10J2DPicturePvP10J2DPicturePvP10J2DPicturePvP10J2DPicturei();
extern "C" void
setItemColor__13dMeter2Info_cFUcP10J2DPictureP10J2DPictureP10J2DPictureP10J2DPicture();
extern "C" void get2ndTexture__13dMeter2Info_cFUc();
extern "C" void get3rdTexture__13dMeter2Info_cFUc();
extern "C" void get4thTexture__13dMeter2Info_cFUc();
extern "C" void set1stColor__13dMeter2Info_cFUcP10J2DPicture();
extern "C" void set2ndColor__13dMeter2Info_cFUcP10J2DPicture();
extern "C" void set3rdColor__13dMeter2Info_cFUcP10J2DPicture();
extern "C" void set4thColor__13dMeter2Info_cFUcP10J2DPicture();
extern "C" void setHotSpringTimer__13dMeter2Info_cFUc();
extern "C" void decHotSpringTimer__13dMeter2Info_cFv();
extern "C" void changeWater__13dMeter2Info_cFUc();
extern "C" void setMiniGameItem__13dMeter2Info_cFUc();
extern "C" void resetMiniGameItem__13dMeter2Info_cFb();
extern "C" void setMiniGameCount__13dMeter2Info_cFSc();
extern "C" void setSaveStageName__13dMeter2Info_cFPCc();
extern "C" void dMeter2Info_getNowLifeGauge__Fv();
extern "C" void dMeter2Info_getNumberTextureName__Fi();
extern "C" void dMeter2Info_getPlusTextureName__Fv();
extern "C" void dMeter2Info_getPixel__FffffffPC7ResTIMG();
extern "C" void dMeter2Info_setCloth__FUcb();
extern "C" void dMeter2Info_setSword__FUcb();
extern "C" void dMeter2Info_setShield__FUcb();
extern "C" bool dMeter2Info_is2DActiveTouchArea__Fv();
extern "C" void dMeter2Info_isMapOpenCheck__Fv();
extern "C" void dMeter2Info_isItemOpenCheck__Fv();
extern "C" void dMeter2Info_getRecieveLetterNum__Fv();
extern "C" void dMeter2Info_getNewLetterNum__Fv();
extern "C" void dMeter2Info_setNewLetterSender__Fv();
extern "C" void dMeter2Info_recieveLetter__Fv();
extern "C" void dMeter2Info_set2DVibration__Fv();
extern "C" void dMeter2Info_set2DVibrationM__Fv();
extern "C" extern char const* const d_meter_d_meter2_info__stringBase0;
extern "C" u8 letter_data__12dMenu_Letter[512];
//
// External References:
//
extern "C" void dComIfGs_setSelectItemIndex__FiUc();
extern "C" void dComIfGs_setMixItemIndex__FiUc();
extern "C" void dComIfGs_getMixItemIndex__Fi();
extern "C" void dComIfGp_setSelectItem__Fi();
extern "C" void dComIfGs_setSelectEquipClothes__FUc();
extern "C" void dComIfGs_setSelectEquipSword__FUc();
extern "C" void dComIfGs_setSelectEquipShield__FUc();
extern "C" void dComIfGs_setWarpItemData__FPCc4cXyzsScUcUc();
extern "C" void dComIfGs_setWarpMarkFlag__FUc();
extern "C" void getSelectItemIndex__21dSv_player_status_a_cCFi();
extern "C" void setItem__17dSv_player_item_cFiUc();
extern "C" void getItem__17dSv_player_item_cCFib();
extern "C" void offFirstBit__21dSv_player_get_item_cFUc();
extern "C" void setBombNum__24dSv_player_item_record_cFUcUc();
extern "C" void getBombNum__24dSv_player_item_record_cCFUc();
extern "C" void isLightDropGetFlag__16dSv_light_drop_cCFUc();
extern "C" void onLetterGetFlag__17dSv_letter_info_cFi();
extern "C" void isLetterGetFlag__17dSv_letter_info_cCFi();
extern "C" void isEventBit__11dSv_event_cCFUs();
extern "C" void daNpcF_getPlayerInfoFromPlayerList__FiiR4cXyzR5csXyz();
extern "C" void isMapOpenCheck__11dMeterMap_cFv();
extern "C" void setLetterNameID__12dMsgObject_cFUs();
extern "C" void __ct__10dMsgFlow_cFv();
extern "C" void __dt__10dMsgFlow_cFv();
extern "C" void init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c();
extern "C" void doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci();
extern "C" void getMsgNo__10dMsgFlow_cFv();
extern "C" void __ct__5csXyzFsss();
extern "C" void __dl__FPv();
extern "C" void getGlbResource__10JKRArchiveFUlPCcP10JKRArchive();
extern "C" void readIdxResource__10JKRArchiveFPvUlUl();
extern "C" void __register_global_object();
extern "C" void __cvt_fp2unsigned();
extern "C" void _savegpr_19();
extern "C" void _savegpr_26();
extern "C" void _savegpr_27();
extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
extern "C" void _restgpr_19();
extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
extern "C" void* item_resource__10dItem_data[1530];
//
// Declarations:
//
/* ############################################################################################## */
/* 80399168-80399168 0257C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80399168 = "";
SECTION_DEAD static char const* const stringBase_80399169 = "zel_00.bmg";
#pragma pop
/* 8021BDDC-8021BE20 21671C 0044+00 1/1 0/0 0/0 .text __ct__13dMeter2Info_cFv */
dMeter2Info_c::dMeter2Info_c() {
@@ -150,37 +20,6 @@ dMeter2Info_c::dMeter2Info_c() {
dMeter2Info_c::~dMeter2Info_c() {}
/* ############################################################################################## */
/* 80454998-8045499C 002F98 0004+00 4/4 0/0 0/0 .sdata2 @3916 */
SECTION_SDATA2 static u8 lit_3916[4] = {
0x00,
0x00,
0x00,
0x00,
};
/* 8045499C-804549A0 002F9C 0004+00 1/1 0/0 0/0 .sdata2 @3917 */
SECTION_SDATA2 static f32 lit_3917 = 1.0f;
/* 804549A0-804549A4 002FA0 0004+00 1/1 0/0 0/0 .sdata2 @3918 */
SECTION_SDATA2 static f32 lit_3918 = 30.0f;
/* 804549A4-804549A8 002FA4 0004+00 1/1 0/0 0/0 .sdata2 @3919 */
SECTION_SDATA2 static f32 lit_3919 = 304.0f;
/* 804549A8-804549AC 002FA8 0004+00 1/1 0/0 0/0 .sdata2 @3920 */
SECTION_SDATA2 static f32 lit_3920 = 224.0f;
/* 804549AC-804549B0 002FAC 0004+00 1/1 0/0 0/0 .sdata2 @3921 */
SECTION_SDATA2 static f32 lit_3921 = 608.0f;
/* 804549B0-804549B8 002FB0 0004+04 1/1 0/0 0/0 .sdata2 @3922 */
SECTION_SDATA2 static f32 lit_3922[1 + 1 /* padding */] = {
448.0f,
/* padding */
0.0f,
};
/* 8021BE68-8021C0E0 2167A8 0278+00 1/1 1/1 0/0 .text init__13dMeter2Info_cFv */
void dMeter2Info_c::init() {
mMsgResource = NULL;
@@ -399,14 +238,9 @@ void dMeter2Info_c::getStringKanji(u32 param_0, char* param_1, JMSMesgEntry_c* p
// NONMATCHING
}
/* ############################################################################################## */
/* 804549B8-804549C0 002FB8 0008+00 2/2 0/0 0/0 .sdata2 @4108 */
SECTION_SDATA2 static f64 lit_4108 = 4503601774854144.0 /* cast s32 to float */;
/* 8021C6A4-8021C7F4 216FE4 0150+00 0/0 1/1 0/0 .text
* getStringLength__13dMeter2Info_cFP10J2DTextBoxPc */
// *str type issue
#ifdef NONMATCHING
// NONMATCHING *str type issue
f32 dMeter2Info_c::getStringLength(J2DTextBox* p_textBox, char* str) {
f32 strWidth = 0.0f;
f32 strLength = strWidth;
@@ -434,22 +268,10 @@ f32 dMeter2Info_c::getStringLength(J2DTextBox* p_textBox, char* str) {
return strLength;
}
#else
f32 dMeter2Info_c::getStringLength(J2DTextBox* param_0, char* param_1) {
// NONMATCHING
}
#endif
/* 8021C7F4-8021C7FC 217134 0008+00 0/0 1/0 0/0 .text getFont__10J2DTextBoxCFv */
//JUTFont* J2DTextBox::getFont() const {
void getFont__10J2DTextBoxCFv() {
// NONMATCHING
}
/* 8021C7FC-8021C934 21713C 0138+00 0/0 3/3 0/0 .text
* getStringLength__13dMeter2Info_cFP7JUTFontffPc */
// getWidth argument type issue
#ifdef NONMATCHING
// NONMATCHING getWidth argument type issue
f32 dMeter2Info_c::getStringLength(JUTFont* param_1, f32 param_2, f32 param_3, char* param_4) {
f32 fVar1 = 0.0f;
f32 dVar8 = 0.0f;
@@ -469,11 +291,6 @@ f32 dMeter2Info_c::getStringLength(JUTFont* param_1, f32 param_2, f32 param_3, c
}
return dVar8;
}
#else
f32 dMeter2Info_c::getStringLength(JUTFont* param_0, f32 param_1, f32 param_2, char* param_3) {
// NONMATCHING
}
#endif
/* 8021C934-8021C950 217274 001C+00 0/0 2/2 0/0 .text onDirectUseItem__13dMeter2Info_cFi
*/
@@ -671,8 +488,7 @@ u8 dMeter2Info_c::getItemType(u8 itemNo) {
/* 8021CF08-8021D36C 217848 0464+00 0/0 9/9 0/0 .text
* readItemTexture__13dMeter2Info_cFUcPvP10J2DPicturePvP10J2DPicturePvP10J2DPicturePvP10J2DPicturei
*/
// regalloc
#ifdef NONMATCHING
// NONMATCHING regalloc
int dMeter2Info_c::readItemTexture(u8 itemNo, void* param_1, J2DPicture* param_2, void* param_3,
J2DPicture* param_4, void* param_5, J2DPicture* param_6,
void* param_7, J2DPicture* param_8, int param_9) {
@@ -759,14 +575,6 @@ int dMeter2Info_c::readItemTexture(u8 itemNo, void* param_1, J2DPicture* param_2
return ret;
}
#else
int dMeter2Info_c::readItemTexture(u8 param_0, void* param_1, J2DPicture* param_2,
void* param_3, J2DPicture* param_4, void* param_5,
J2DPicture* param_6, void* param_7, J2DPicture* param_8,
int param_9) {
// NONMATCHING
}
#endif
/* 8021D36C-8021D44C 217CAC 00E0+00 0/0 2/2 0/0 .text
* setItemColor__13dMeter2Info_cFUcP10J2DPictureP10J2DPictureP10J2DPictureP10J2DPicture */
@@ -885,277 +693,218 @@ s16 dMeter2Info_c::get4thTexture(u8 itemType) {
}
}
/* ############################################################################################## */
/* 80398A78-80398B0C 0250D8 0094+00 2/2 0/0 0/0 .rodata black_color$4634 */
SECTION_RODATA static GXColor const black_color_4634[37] = {
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x60, 0x00, 0x00}, {0x00, 0x00, 0xC0, 0x00},
{0xA0, 0x60, 0x00, 0x00}, {0xA0, 0x00, 0x00, 0x00}, {0x40, 0x00, 0x60, 0x00},
{0xE0, 0x00, 0x00, 0x00}, {0x40, 0x40, 0x40, 0x00}, {0x6E, 0x6E, 0x64, 0x00},
{0x32, 0x00, 0x00, 0x00}, {0x00, 0x7F, 0x00, 0x00}, {0x00, 0x00, 0x7F, 0x00},
{0xAF, 0x9B, 0x6E, 0x00}, {0xAA, 0x9B, 0x6E, 0x00}, {0x55, 0x37, 0x14, 0x00},
{0x6E, 0x6E, 0x6E, 0x00}, {0x6E, 0x6E, 0x6E, 0x00}, {0xFF, 0x58, 0x00, 0x00},
{0x6C, 0x3E, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x32, 0x00, 0x00, 0x00},
{0x00, 0x00, 0x7F, 0x00}, {0x00, 0x7F, 0x00, 0x00}, {0x55, 0x37, 0x14, 0x00},
{0x00, 0x00, 0x22, 0x00}, {0x2B, 0x18, 0x22, 0x00}, {0x00, 0x00, 0x00, 0x00},
{0x46, 0x46, 0x41, 0x00}, {0x46, 0x46, 0x41, 0x00}, {0x46, 0x46, 0x41, 0x00},
{0x46, 0x46, 0x41, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
{0x00, 0x00, 0x00, 0x00},
};
COMPILER_STRIP_GATE(0x80398A78, &black_color_4634);
/* 80398B0C-80398BA0 02516C 0094+00 0/1 0/0 0/0 .rodata white_color$4635 */
#pragma push
#pragma force_active on
SECTION_RODATA static GXColor const white_color_4635[37] = {
{0xFF, 0xFF, 0xFF, 0xFF}, {0x60, 0xFF, 0x00, 0xFF}, {0x00, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0x00, 0xFF}, {0xFF, 0x80, 0x80, 0xFF}, {0xBE, 0x40, 0xFF, 0xFF},
{0xFF, 0xC0, 0x00, 0xFF}, {0xC0, 0xC0, 0xC0, 0xFF}, {0xF5, 0xF5, 0xFF, 0xFF},
{0xFF, 0xD2, 0xAA, 0xFF}, {0xEF, 0xF5, 0xC9, 0xFF}, {0xB0, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xF0, 0xFF}, {0xFF, 0xFF, 0xF0, 0xFF}, {0xFF, 0xFF, 0xD7, 0xFF},
{0xF5, 0xF5, 0xFF, 0xFF}, {0xF5, 0xF5, 0xFF, 0xFF}, {0xFF, 0xFF, 0xC2, 0xFF},
{0xFF, 0x9D, 0x00, 0xFF}, {0xC8, 0xC8, 0xC8, 0xFF}, {0xFF, 0xD2, 0xAA, 0xFF},
{0xB0, 0xFF, 0xFF, 0xFF}, {0xEF, 0xF5, 0xC9, 0xFF}, {0xFF, 0xFF, 0xD7, 0xFF},
{0xD7, 0xCF, 0xF5, 0xFF}, {0xFF, 0xFF, 0x33, 0xFF}, {0xC8, 0xC8, 0xC8, 0xFF},
{0xF5, 0xF5, 0xFF, 0xFF}, {0xF5, 0xF5, 0xFF, 0xFF}, {0xF5, 0xF5, 0xFF, 0xFF},
{0xF5, 0xF5, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF},
};
COMPILER_STRIP_GATE(0x80398B0C, &white_color_4635);
#pragma pop
/* 80398BA0-80398C34 025200 0094+00 0/1 0/0 0/0 .rodata vertex_color_lu$4636 */
#pragma push
#pragma force_active on
SECTION_RODATA static GXColor const vertex_color_lu_4636[37] = {
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0x00},
{0xFF, 0x78, 0xAF, 0xFF}, {0x5C, 0xB4, 0x16, 0xFF}, {0xA4, 0xFF, 0x00, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0x00, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0x78, 0xAF, 0xFF},
{0xA4, 0xFF, 0x00, 0xFF}, {0x5C, 0xB4, 0x16, 0xFF}, {0xFF, 0xFF, 0x00, 0xFF},
{0xC9, 0xB4, 0xFF, 0xFF}, {0x3C, 0x0A, 0x00, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0x00}, {0xFF, 0xFF, 0xFF, 0x00}, {0xFF, 0xFF, 0xFF, 0x00},
{0xFF, 0xFF, 0xFF, 0x00}, {0xFF, 0xA0, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF},
};
COMPILER_STRIP_GATE(0x80398BA0, &vertex_color_lu_4636);
#pragma pop
/* 80398C34-80398CC8 025294 0094+00 0/1 0/0 0/0 .rodata vertex_color_ru$4637 */
#pragma push
#pragma force_active on
SECTION_RODATA static GXColor const vertex_color_ru_4637[37] = {
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0x00},
{0xFF, 0xFF, 0x73, 0xFF}, {0xFF, 0xFF, 0x2A, 0xFF}, {0x98, 0xFF, 0x00, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0x73, 0xFF},
{0x98, 0xFF, 0x00, 0xFF}, {0xFF, 0xFF, 0x2A, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0x39, 0xFF}, {0xFF, 0xFF, 0x00, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0x00}, {0xFF, 0xFF, 0xFF, 0x00}, {0xFF, 0xFF, 0xFF, 0x00},
{0xFF, 0xFF, 0xFF, 0x00}, {0xFF, 0xA0, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF},
};
COMPILER_STRIP_GATE(0x80398C34, &vertex_color_ru_4637);
#pragma pop
/* 80398CC8-80398D5C 025328 0094+00 0/1 0/0 0/0 .rodata vertex_color_ld$4638 */
#pragma push
#pragma force_active on
SECTION_RODATA static GXColor const vertex_color_ld_4638[37] = {
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0x78, 0x6E, 0x3C, 0xFF},
{0xFF, 0x00, 0x00, 0xFF}, {0x3C, 0x32, 0x50, 0xFF}, {0x00, 0x00, 0x74, 0xFF},
{0xFA, 0xC8, 0x9B, 0xFF}, {0xFA, 0xC8, 0x9B, 0xFF}, {0x46, 0x87, 0x00, 0xFF},
{0x5A, 0xB4, 0xB4, 0xFF}, {0x5A, 0xB4, 0xB4, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0xFF, 0x00, 0x00, 0xFF},
{0x00, 0x00, 0x74, 0xFF}, {0x3C, 0x32, 0x50, 0xFF}, {0x46, 0x87, 0x00, 0xFF},
{0x3C, 0x32, 0x50, 0x49}, {0xFF, 0xFF, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF},
{0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF},
{0x00, 0x00, 0x00, 0xFF}, {0xE0, 0x00, 0xE0, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF},
};
COMPILER_STRIP_GATE(0x80398CC8, &vertex_color_ld_4638);
#pragma pop
/* 80398D5C-80398DF0 0253BC 0094+00 0/1 0/0 0/0 .rodata vertex_color_rd$4639 */
#pragma push
#pragma force_active on
SECTION_RODATA static GXColor const vertex_color_rd_4639[37] = {
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0x78, 0x6E, 0x3C, 0xFF},
{0xFF, 0x96, 0x00, 0xFF}, {0x55, 0x42, 0x00, 0xFF}, {0x61, 0x48, 0xFF, 0xFF},
{0xFF, 0xFF, 0xAA, 0xFF}, {0xFF, 0xFF, 0xAA, 0xFF}, {0xAF, 0x91, 0x23, 0xFF},
{0xE6, 0xFA, 0xFF, 0xFF}, {0xE6, 0xFA, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0xFF, 0x96, 0x00, 0xFF},
{0x61, 0x48, 0xFF, 0xFF}, {0x55, 0x42, 0x00, 0xFF}, {0xAF, 0x91, 0x23, 0xFF},
{0x3C, 0x09, 0x4E, 0xFF}, {0xBA, 0x98, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF},
{0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF},
{0x00, 0x00, 0x00, 0xFF}, {0xE0, 0x00, 0xE0, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF},
};
COMPILER_STRIP_GATE(0x80398D5C, &vertex_color_rd_4639);
#pragma pop
/* 8021D524-8021D644 217E64 0120+00 2/2 0/0 0/0 .text set1stColor__13dMeter2Info_cFUcP10J2DPicture
*/
void dMeter2Info_c::set1stColor(u8 param_1, J2DPicture* param_2) {
param_2->setBlackWhite(*(JUtility::TColor*)&black_color_4634[param_1],
*(JUtility::TColor*)&white_color_4635[param_1]);
param_2->setCornerColor(*(JUtility::TColor*)&vertex_color_lu_4636[param_1],
*(JUtility::TColor*)&vertex_color_ru_4637[param_1],
*(JUtility::TColor*)&vertex_color_ld_4638[param_1],
*(JUtility::TColor*)&vertex_color_rd_4639[param_1]);
static GXColor const black_color[37] = {
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x60, 0x00, 0x00}, {0x00, 0x00, 0xC0, 0x00},
{0xA0, 0x60, 0x00, 0x00}, {0xA0, 0x00, 0x00, 0x00}, {0x40, 0x00, 0x60, 0x00},
{0xE0, 0x00, 0x00, 0x00}, {0x40, 0x40, 0x40, 0x00}, {0x6E, 0x6E, 0x64, 0x00},
{0x32, 0x00, 0x00, 0x00}, {0x00, 0x7F, 0x00, 0x00}, {0x00, 0x00, 0x7F, 0x00},
{0xAF, 0x9B, 0x6E, 0x00}, {0xAA, 0x9B, 0x6E, 0x00}, {0x55, 0x37, 0x14, 0x00},
{0x6E, 0x6E, 0x6E, 0x00}, {0x6E, 0x6E, 0x6E, 0x00}, {0xFF, 0x58, 0x00, 0x00},
{0x6C, 0x3E, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x32, 0x00, 0x00, 0x00},
{0x00, 0x00, 0x7F, 0x00}, {0x00, 0x7F, 0x00, 0x00}, {0x55, 0x37, 0x14, 0x00},
{0x00, 0x00, 0x22, 0x00}, {0x2B, 0x18, 0x22, 0x00}, {0x00, 0x00, 0x00, 0x00},
{0x46, 0x46, 0x41, 0x00}, {0x46, 0x46, 0x41, 0x00}, {0x46, 0x46, 0x41, 0x00},
{0x46, 0x46, 0x41, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
{0x00, 0x00, 0x00, 0x00},
};
static GXColor const white_color[37] = {
{0xFF, 0xFF, 0xFF, 0xFF}, {0x60, 0xFF, 0x00, 0xFF}, {0x00, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0x00, 0xFF}, {0xFF, 0x80, 0x80, 0xFF}, {0xBE, 0x40, 0xFF, 0xFF},
{0xFF, 0xC0, 0x00, 0xFF}, {0xC0, 0xC0, 0xC0, 0xFF}, {0xF5, 0xF5, 0xFF, 0xFF},
{0xFF, 0xD2, 0xAA, 0xFF}, {0xEF, 0xF5, 0xC9, 0xFF}, {0xB0, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xF0, 0xFF}, {0xFF, 0xFF, 0xF0, 0xFF}, {0xFF, 0xFF, 0xD7, 0xFF},
{0xF5, 0xF5, 0xFF, 0xFF}, {0xF5, 0xF5, 0xFF, 0xFF}, {0xFF, 0xFF, 0xC2, 0xFF},
{0xFF, 0x9D, 0x00, 0xFF}, {0xC8, 0xC8, 0xC8, 0xFF}, {0xFF, 0xD2, 0xAA, 0xFF},
{0xB0, 0xFF, 0xFF, 0xFF}, {0xEF, 0xF5, 0xC9, 0xFF}, {0xFF, 0xFF, 0xD7, 0xFF},
{0xD7, 0xCF, 0xF5, 0xFF}, {0xFF, 0xFF, 0x33, 0xFF}, {0xC8, 0xC8, 0xC8, 0xFF},
{0xF5, 0xF5, 0xFF, 0xFF}, {0xF5, 0xF5, 0xFF, 0xFF}, {0xF5, 0xF5, 0xFF, 0xFF},
{0xF5, 0xF5, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF},
};
static GXColor const vertex_color_lu[37] = {
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0x00},
{0xFF, 0x78, 0xAF, 0xFF}, {0x5C, 0xB4, 0x16, 0xFF}, {0xA4, 0xFF, 0x00, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0x00, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0x78, 0xAF, 0xFF},
{0xA4, 0xFF, 0x00, 0xFF}, {0x5C, 0xB4, 0x16, 0xFF}, {0xFF, 0xFF, 0x00, 0xFF},
{0xC9, 0xB4, 0xFF, 0xFF}, {0x3C, 0x0A, 0x00, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0x00}, {0xFF, 0xFF, 0xFF, 0x00}, {0xFF, 0xFF, 0xFF, 0x00},
{0xFF, 0xFF, 0xFF, 0x00}, {0xFF, 0xA0, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF},
};
static GXColor const vertex_color_ru[37] = {
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0x00},
{0xFF, 0xFF, 0x73, 0xFF}, {0xFF, 0xFF, 0x2A, 0xFF}, {0x98, 0xFF, 0x00, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0x73, 0xFF},
{0x98, 0xFF, 0x00, 0xFF}, {0xFF, 0xFF, 0x2A, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0x39, 0xFF}, {0xFF, 0xFF, 0x00, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0x00}, {0xFF, 0xFF, 0xFF, 0x00}, {0xFF, 0xFF, 0xFF, 0x00},
{0xFF, 0xFF, 0xFF, 0x00}, {0xFF, 0xA0, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF},
};
static GXColor const vertex_color_ld[37] = {
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0x78, 0x6E, 0x3C, 0xFF},
{0xFF, 0x00, 0x00, 0xFF}, {0x3C, 0x32, 0x50, 0xFF}, {0x00, 0x00, 0x74, 0xFF},
{0xFA, 0xC8, 0x9B, 0xFF}, {0xFA, 0xC8, 0x9B, 0xFF}, {0x46, 0x87, 0x00, 0xFF},
{0x5A, 0xB4, 0xB4, 0xFF}, {0x5A, 0xB4, 0xB4, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0xFF, 0x00, 0x00, 0xFF},
{0x00, 0x00, 0x74, 0xFF}, {0x3C, 0x32, 0x50, 0xFF}, {0x46, 0x87, 0x00, 0xFF},
{0x3C, 0x32, 0x50, 0x49}, {0xFF, 0xFF, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF},
{0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF},
{0x00, 0x00, 0x00, 0xFF}, {0xE0, 0x00, 0xE0, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF},
};
static GXColor const vertex_color_rd[37] = {
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0x78, 0x6E, 0x3C, 0xFF},
{0xFF, 0x96, 0x00, 0xFF}, {0x55, 0x42, 0x00, 0xFF}, {0x61, 0x48, 0xFF, 0xFF},
{0xFF, 0xFF, 0xAA, 0xFF}, {0xFF, 0xFF, 0xAA, 0xFF}, {0xAF, 0x91, 0x23, 0xFF},
{0xE6, 0xFA, 0xFF, 0xFF}, {0xE6, 0xFA, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0xFF, 0x96, 0x00, 0xFF},
{0x61, 0x48, 0xFF, 0xFF}, {0x55, 0x42, 0x00, 0xFF}, {0xAF, 0x91, 0x23, 0xFF},
{0x3C, 0x09, 0x4E, 0xFF}, {0xBA, 0x98, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF},
{0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF}, {0x00, 0x00, 0x00, 0xFF},
{0x00, 0x00, 0x00, 0xFF}, {0xE0, 0x00, 0xE0, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF},
};
param_2->setBlackWhite(*(JUtility::TColor*)&black_color[param_1],
*(JUtility::TColor*)&white_color[param_1]);
param_2->setCornerColor(*(JUtility::TColor*)&vertex_color_lu[param_1],
*(JUtility::TColor*)&vertex_color_ru[param_1],
*(JUtility::TColor*)&vertex_color_ld[param_1],
*(JUtility::TColor*)&vertex_color_rd[param_1]);
}
/* ############################################################################################## */
/* 80398DF0-80398E84 025450 0094+00 0/1 0/0 0/0 .rodata black_color$4675 */
#pragma push
#pragma force_active on
SECTION_RODATA static GXColor const black_color_4675[37] = {
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
{0x00, 0x86, 0xD4, 0x00}, {0xE6, 0x1E, 0xFF, 0x00}, {0x00, 0x00, 0x00, 0x00},
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
{0x00, 0x00, 0x00, 0x00},
};
COMPILER_STRIP_GATE(0x80398DF0, &black_color_4675);
#pragma pop
/* 80398E84-80398F18 0254E4 0094+00 0/1 0/0 0/0 .rodata white_color$4676 */
#pragma push
#pragma force_active on
SECTION_RODATA static GXColor const white_color_4676[37] = {
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xF5, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xC8, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF},
};
COMPILER_STRIP_GATE(0x80398E84, &white_color_4676);
#pragma pop
/* 80398F18-80398FAC 025578 0094+00 0/1 0/0 0/0 .rodata vertex_color_lu$4677 */
#pragma push
#pragma force_active on
SECTION_RODATA static GXColor const vertex_color_lu_4677[37] = {
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0x00, 0x00, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF},
};
COMPILER_STRIP_GATE(0x80398F18, &vertex_color_lu_4677);
#pragma pop
/* 80398FAC-80399040 02560C 0094+00 0/1 0/0 0/0 .rodata vertex_color_ru$4678 */
#pragma push
#pragma force_active on
SECTION_RODATA static GXColor const vertex_color_ru_4678[37] = {
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0x00, 0xFF, 0xFF, 0x58}, {0xFF, 0xFF, 0xFF, 0x58}, {0xFF, 0xFF, 0xFF, 0x58},
{0xFF, 0xFF, 0xFF, 0x58}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF},
};
COMPILER_STRIP_GATE(0x80398FAC, &vertex_color_ru_4678);
#pragma pop
/* 80399040-803990D4 0256A0 0094+00 0/1 0/0 0/0 .rodata vertex_color_ld$4679 */
#pragma push
#pragma force_active on
SECTION_RODATA static GXColor const vertex_color_ld_4679[37] = {
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF},
};
COMPILER_STRIP_GATE(0x80399040, &vertex_color_ld_4679);
#pragma pop
/* 803990D4-80399168 025734 0094+00 0/1 0/0 0/0 .rodata vertex_color_rd$4680 */
#pragma push
#pragma force_active on
SECTION_RODATA static GXColor const vertex_color_rd_4680[37] = {
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xCD, 0xFF, 0xFF, 0xFF}, {0xCD, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF},
};
COMPILER_STRIP_GATE(0x803990D4, &vertex_color_rd_4680);
#pragma pop
/* 8021D644-8021D764 217F84 0120+00 2/2 0/0 0/0 .text set2ndColor__13dMeter2Info_cFUcP10J2DPicture
*/
void dMeter2Info_c::set2ndColor(u8 param_1, J2DPicture* param_2) {
param_2->setBlackWhite(*(JUtility::TColor*)&black_color_4675[param_1],
*(JUtility::TColor*)&white_color_4676[param_1]);
param_2->setCornerColor(*(JUtility::TColor*)&vertex_color_lu_4677[param_1],
*(JUtility::TColor*)&vertex_color_ru_4678[param_1],
*(JUtility::TColor*)&vertex_color_ld_4679[param_1],
*(JUtility::TColor*)&vertex_color_rd_4680[param_1]);
static GXColor const black_color[37] = {
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
{0x00, 0x86, 0xD4, 0x00}, {0xE6, 0x1E, 0xFF, 0x00}, {0x00, 0x00, 0x00, 0x00},
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
{0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00}, {0x00, 0x00, 0x00, 0x00},
{0x00, 0x00, 0x00, 0x00},
};
static GXColor const white_color[37] = {
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xF5, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xC8, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF},
};
static GXColor const vertex_color_lu[37] = {
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0x00, 0x00, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF},
};
static GXColor const vertex_color_ru[37] = {
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0x00, 0xFF, 0xFF, 0x58}, {0xFF, 0xFF, 0xFF, 0x58}, {0xFF, 0xFF, 0xFF, 0x58},
{0xFF, 0xFF, 0xFF, 0x58}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF},
};
static GXColor const vertex_color_ld[37] = {
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF},
};
static GXColor const vertex_color_rd[37] = {
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xCD, 0xFF, 0xFF, 0xFF}, {0xCD, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF},
};
param_2->setBlackWhite(*(JUtility::TColor*)&black_color[param_1],
*(JUtility::TColor*)&white_color[param_1]);
param_2->setCornerColor(*(JUtility::TColor*)&vertex_color_lu[param_1],
*(JUtility::TColor*)&vertex_color_ru[param_1],
*(JUtility::TColor*)&vertex_color_ld[param_1],
*(JUtility::TColor*)&vertex_color_rd[param_1]);
}
/* 8021D764-8021DB64 2180A4 0400+00 2/2 0/0 0/0 .text set3rdColor__13dMeter2Info_cFUcP10J2DPicture
@@ -1373,10 +1122,6 @@ const char* dMeter2Info_getPlusTextureName() {
return tex_name;
}
/* ############################################################################################## */
/* 804549C0-804549C8 002FC0 0008+00 1/1 0/0 0/0 .sdata2 @5206 */
SECTION_SDATA2 static f64 lit_5206 = 4503599627370496.0 /* cast u32 to float */;
/* 8021E308-8021E4B0 218C48 01A8+00 0/0 3/3 0/0 .text dMeter2Info_getPixel__FffffffPC7ResTIMG */
bool dMeter2Info_getPixel(f32 param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4,
f32 param_5, ResTIMG const* param_6) {
@@ -1469,7 +1214,7 @@ bool dMeter2Info_isItemOpenCheck() {
}
/* 803BF81C-803BFA1C 01C93C 0200+00 3/3 6/6 0/0 .data letter_data__12dMenu_Letter */
SECTION_DATA dMenu_LetterData dMenu_Letter::letter_data[64] = {
dMenu_LetterData dMenu_Letter::letter_data[64] = {
{0x09C5, 0x0A29, 0x0A8D, 0x010B}, {0x09C6, 0x0A2A, 0x0A8E, 0x0237},
{0x09C7, 0x0A2B, 0x0A8F, 0x0236}, {0x09C8, 0x0A2C, 0x0A90, 0x0037},
{0x09C9, 0x0A2D, 0x0A91, 0x0039}, {0x09CA, 0x0A2E, 0x0A92, 0x0067},
@@ -1586,4 +1331,4 @@ void dMeter2Info_set2DVibration() {}
*/
void dMeter2Info_set2DVibrationM() {}
/* 80399168-80399168 0257C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
/* 80399168-80399168 0257C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
+50 -497
View File
@@ -10,421 +10,16 @@
#include "d/d_msg_object.h"
#include "d/d_shop_system.h"
#include "d/d_meter2_info.h"
#include "dol2asm.h"
#include "f_op/f_op_msg_mng.h"
#include "m_Do/m_Do_graphic.h"
#include "d/actor/d_a_midna.h"
#include "SSystem/SComponent/c_math.h"
//
// Forward References:
//
extern "C" void __ct__10dMsgFlow_cFv();
extern "C" void __dt__10dMsgFlow_cFv();
extern "C" void init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c();
extern "C" void checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi();
extern "C" void doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci();
extern "C" void checkEventRender__10dMsgFlow_cFPiPiPiPi();
extern "C" void remove__10dMsgFlow_cFv();
extern "C" void getEventId__10dMsgFlow_cFPi();
extern "C" void getMsgNo__10dMsgFlow_cFv();
extern "C" void getNowMsgNo__10dMsgFlow_cFv();
extern "C" void getMsg__10dMsgFlow_cFv();
extern "C" void setInitValue__10dMsgFlow_cFi();
extern "C" void setInitValueGroupChange__10dMsgFlow_cFiPP10fopAc_ac_c();
extern "C" void getMsgDataBlock__10dMsgFlow_cFPCc();
extern "C" void getInitNodeIndex__10dMsgFlow_cFUs();
extern "C" void setNodeIndex__10dMsgFlow_cFUsPP10fopAc_ac_c();
extern "C" void setSelectMsg__10dMsgFlow_cFP14mesg_flow_nodeP14mesg_flow_nodeP10fopAc_ac_c();
extern "C" void setNormalMsg__10dMsgFlow_cFP14mesg_flow_nodeP10fopAc_ac_c();
extern "C" void messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c();
extern "C" void branchNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c();
extern "C" void eventNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c();
extern "C" void nodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c();
extern "C" void getParam__10dMsgFlow_cFPUsPUsPUc();
extern "C" void getParam__10dMsgFlow_cFPUcPUc();
extern "C" void getParam__10dMsgFlow_cFPUc();
extern "C" void query001__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query002__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query003__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query004__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query005__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query006__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query007__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query008__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query009__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query010__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query011__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query012__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query013__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query014__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query015__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query016__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query017__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query018__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query019__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query020__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query021__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query022__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query023__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query024__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query025__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query026__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query027__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query028__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query029__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query030__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query031__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query032__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query033__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query034__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query035__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query036__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query037__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query038__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query039__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query040__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query041__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query042__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query043__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query044__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query045__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query046__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" bool query047__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query048__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query049__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query050__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query051__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query052__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void query053__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci();
extern "C" void event000__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event001__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event002__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event003__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event004__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event005__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event006__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event007__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event008__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event009__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event010__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event011__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" bool event012__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event013__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event014__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event015__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event016__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event017__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event018__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" bool event019__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event020__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event021__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event022__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event023__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event024__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event025__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event026__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event028__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event029__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event030__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event031__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event032__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event033__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event034__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event035__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event036__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event037__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event038__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event039__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event040__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void event041__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" bool event042__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c();
extern "C" void func_8024DAB0(void* _this, s32*);
extern "C" void __sinit_d_msg_flow_cpp();
extern "C" extern char const* const d_msg_d_msg_flow__stringBase0;
extern "C" u8 mQueryList__10dMsgFlow_c[636];
extern "C" u8 mEventList__10dMsgFlow_c[516];
//
// External References:
//
extern "C" void fadeOut__13mDoGph_gInf_cFfR8_GXColor();
extern "C" void fopMsgM_SearchByID__FUi();
extern "C" void fopMsgM_messageSet__FUlP10fopAc_ac_cUl();
extern "C" void fopMsgM_messageSet__FUlUl();
extern "C" void getStatusRoomDt__20dStage_roomControl_cFi();
extern "C" void setItemBombNumCount__14dComIfG_play_cFUcs();
extern "C" void dComIfGp_getReverb__Fi();
extern "C" void dComIfGs_onZoneSwitch__Fii();
extern "C" void dComIfGs_offZoneSwitch__Fii();
extern "C" void dComIfGs_isZoneSwitch__Fii();
extern "C" void dComIfGs_onOneZoneSwitch__Fii();
extern "C" void dComIfGs_offOneZoneSwitch__Fii();
extern "C" void dComIfGs_isOneZoneSwitch__Fii();
extern "C" void dComIfGs_isZoneItem__Fii();
extern "C" void dComIfGs_isOneZoneItem__Fii();
extern "C" void dComIfGs_setSelectItemIndex__FiUc();
extern "C" void dComIfGs_setMixItemIndex__FiUc();
extern "C" void dComIfGs_getMixItemIndex__Fi();
extern "C" void dComIfGp_setSelectItem__Fi();
extern "C" void dComIfGs_checkGetInsectNum__Fv();
extern "C" void daNpcKakashi_getSwdTutorialStep__Fv();
extern "C" void daNpcKakashi_getSwdTutorialResult__Fv();
extern "C" void daNpcKakashi_getSuccessCount__Fv();
extern "C" void getSelectItemIndex__21dSv_player_status_a_cCFi();
extern "C" void getRupeeMax__21dSv_player_status_a_cCFv();
extern "C" void setItem__17dSv_player_item_cFiUc();
extern "C" void getItem__17dSv_player_item_cCFib();
extern "C" void setBottleItemIn__17dSv_player_item_cFUcUc();
extern "C" void setEmptyBottleItemIn__17dSv_player_item_cFUc();
extern "C" void checkInsectBottle__17dSv_player_item_cFv();
extern "C" void checkEmptyBottle__17dSv_player_item_cFv();
extern "C" void checkBombBag__17dSv_player_item_cFUc();
extern "C" void setWarashibeItem__17dSv_player_item_cFUc();
extern "C" void offFirstBit__21dSv_player_get_item_cFUc();
extern "C" void setBombNum__24dSv_player_item_record_cFUcUc();
extern "C" void getBombNum__24dSv_player_item_record_cCFUc();
extern "C" void getBombNum__21dSv_player_item_max_cCFUc();
extern "C" void getLightDropNum__16dSv_light_drop_cCFUc();
extern "C" void onLightDropGetFlag__16dSv_light_drop_cFUc();
extern "C" void isTbox__12dSv_memBit_cCFi();
extern "C" void onSwitch__12dSv_memBit_cFi();
extern "C" void offSwitch__12dSv_memBit_cFi();
extern "C" void isSwitch__12dSv_memBit_cCFi();
extern "C" void isItem__12dSv_memBit_cCFi();
extern "C" void onEventBit__11dSv_event_cFUs();
extern "C" void offEventBit__11dSv_event_cFUs();
extern "C" void isEventBit__11dSv_event_cCFUs();
extern "C" void setEventReg__11dSv_event_cFUsUc();
extern "C" void getEventReg__11dSv_event_cCFUs();
extern "C" void onSwitch__12dSv_danBit_cFi();
extern "C" void offSwitch__12dSv_danBit_cFi();
extern "C" void isSwitch__12dSv_danBit_cCFi();
extern "C" void isItem__12dSv_danBit_cCFi();
extern "C" void checkDistance__12dAttention_cFP4cXyzsP4cXyzffff();
extern "C" void execItemGet__FUc();
extern "C" void checkItemGet__FUci();
extern "C" void setMidnaMsg__9daAlink_cFv();
extern "C" void getDistTable__12dAttention_cFi();
extern "C" void getAttentionOffsetY__9daPy_py_cFv();
extern "C" void setMidnaMotionNum__9daPy_py_cFi();
extern "C" void setMidnaFaceNum__9daPy_py_cFi();
extern "C" void isFlag__13dShopSystem_cFi();
extern "C" void setSoldOutFlag__13dShopSystem_cFv();
extern "C" void resetMiniGameItem__13dMeter2Info_cFb();
extern "C" void dMeter2Info_getNewLetterNum__Fv();
extern "C" void dMeter2Info_setNewLetterSender__Fv();
extern "C" void dMeter2Info_recieveLetter__Fv();
extern "C" void isMidonaMessage__12dMsgObject_cFv();
extern "C" void isKillMessageFlag__12dMsgObject_cFv();
extern "C" void onKillMessageFlag__12dMsgObject_cFv();
extern "C" void setTalkPartner__12dMsgObject_cFP10fopAc_ac_c();
extern "C" void setNowTalkFlowNo__12dMsgObject_cFs();
extern "C" void changeFlowGroup__12dMsgObject_cFl();
extern "C" void endFlowGroup__12dMsgObject_cFv();
extern "C" void getMsgDtPtr__12dMsgObject_cFv();
extern "C" void getStatus__12dMsgObject_cFv();
extern "C" void setSelectCursorPos__12dMsgObject_cFUc();
extern "C" void setArrowNum__12dMsgObject_cFUc();
extern "C" void setSelectWordFlag__12dMsgObject_cFUc();
extern "C" void getSelectBombBagID__12dMsgObject_cFv();
extern "C" void getSelectBombPrice__12dMsgObject_cFv();
extern "C" void setEquipBombInfo__12dMsgObject_cFv();
extern "C" void setSelectCancelPos__12dMsgObject_cFUc();
extern "C" void dMsgObject_getFundRaising__Fv();
extern "C" void dMsgObject_setFundRaising__FUs();
extern "C" void dMsgObject_getOffering__Fv();
extern "C" void dMsgObject_addOffering__Fs();
extern "C" void __mi__4cXyzCFRC3Vec();
extern "C" void cM_rndF__Ff();
extern "C" void __mi__7cSAngleCFs();
extern "C" void __ct__7cSGlobeFRC4cXyz();
extern "C" void messageSePlay__7Z2SeMgrFUsP3VecSc();
extern "C" void __dl__FPv();
extern "C" void __ptmf_scall();
extern "C" void _savegpr_25();
extern "C" void _savegpr_26();
extern "C" void _savegpr_27();
extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
extern "C" void _restgpr_25();
extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" u8 const tempBitLabels__20dSv_event_tmp_flag_c[370 + 2 /* padding */];
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
extern "C" extern dScnKy_env_light_c g_env_light;
extern "C" extern dMsgObject_HIO_c g_MsgObject_HIO_c;
extern "C" extern GXColor g_saftyWhiteColor;
extern "C" u8 m_midnaActor__9daPy_py_c[4];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
//
// Declarations:
//
/* ############################################################################################## */
/* 803C14B8-803C14C4 01E5D8 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
static u8 cNullVec__6Z2Calc[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 803C14C4-803C151C -00001 0058+00 1/1 0/0 0/0 .data @4646 */
SECTION_DATA static void* lit_4646[22] = {
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x140),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x140),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x138),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x140),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x140),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x140),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x148),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0x140),
};
/* 803C151C-803C1584 -00001 0068+00 1/1 0/0 0/0 .data @4645 */
SECTION_DATA static void* lit_4645[26] = {
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xCC),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xCC),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xCC),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xCC),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xCC),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xD0),
(void*)(((char*)checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi) + 0xCC),
};
/* 803C1584-803C15D0 -00001 004C+00 1/1 0/0 0/0 .data @4936 */
SECTION_DATA static void* lit_4936[19] = {
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208),
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208),
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x14C),
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208),
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208),
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208),
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x160),
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208),
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208),
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208),
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208),
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208),
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208),
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208),
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x1BC),
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208),
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208),
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x208),
(void*)(((char*)messageNodeProc__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_c) + 0x1BC),
};
/* 803C184C-803C1AC8 01E96C 027C+00 2/3 0/0 0/0 .data mQueryList__10dMsgFlow_c */
SECTION_DATA queryFunc dMsgFlow_c::mQueryList[53] = {
&dMsgFlow_c::query005, &dMsgFlow_c::query001, &dMsgFlow_c::query002, &dMsgFlow_c::query003,
&dMsgFlow_c::query006, &dMsgFlow_c::query007, &dMsgFlow_c::query004, &dMsgFlow_c::query008,
&dMsgFlow_c::query009, &dMsgFlow_c::query010, &dMsgFlow_c::query011, &dMsgFlow_c::query012,
&dMsgFlow_c::query013, &dMsgFlow_c::query014, &dMsgFlow_c::query015, &dMsgFlow_c::query016,
&dMsgFlow_c::query017, &dMsgFlow_c::query018, &dMsgFlow_c::query019, &dMsgFlow_c::query020,
&dMsgFlow_c::query021, &dMsgFlow_c::query022, &dMsgFlow_c::query023, &dMsgFlow_c::query024,
&dMsgFlow_c::query025, &dMsgFlow_c::query026, &dMsgFlow_c::query027, &dMsgFlow_c::query028,
&dMsgFlow_c::query029, &dMsgFlow_c::query030, &dMsgFlow_c::query031, &dMsgFlow_c::query032,
&dMsgFlow_c::query033, &dMsgFlow_c::query034, &dMsgFlow_c::query035, &dMsgFlow_c::query036,
&dMsgFlow_c::query037, &dMsgFlow_c::query038, &dMsgFlow_c::query039, &dMsgFlow_c::query040,
&dMsgFlow_c::query041, &dMsgFlow_c::query042, &dMsgFlow_c::query043, &dMsgFlow_c::query044,
&dMsgFlow_c::query045, &dMsgFlow_c::query046, &dMsgFlow_c::query047, &dMsgFlow_c::query048,
&dMsgFlow_c::query049, &dMsgFlow_c::query050, &dMsgFlow_c::query051, &dMsgFlow_c::query052,
&dMsgFlow_c::query053,
};
/* 803C1CCC-803C1ED0 01EDEC 0204+00 1/2 0/0 0/0 .data mEventList__10dMsgFlow_c */
SECTION_DATA eventFunc dMsgFlow_c::mEventList[43] = {
&dMsgFlow_c::event000, &dMsgFlow_c::event001, &dMsgFlow_c::event002, &dMsgFlow_c::event003,
&dMsgFlow_c::event004, &dMsgFlow_c::event005, &dMsgFlow_c::event006, &dMsgFlow_c::event007,
&dMsgFlow_c::event008, &dMsgFlow_c::event009, &dMsgFlow_c::event010, &dMsgFlow_c::event011,
&dMsgFlow_c::event012, &dMsgFlow_c::event013, &dMsgFlow_c::event014, &dMsgFlow_c::event015,
&dMsgFlow_c::event016, &dMsgFlow_c::event017, &dMsgFlow_c::event018, &dMsgFlow_c::event019,
&dMsgFlow_c::event020, &dMsgFlow_c::event021, &dMsgFlow_c::event022, &dMsgFlow_c::event023,
&dMsgFlow_c::event024, &dMsgFlow_c::event025, &dMsgFlow_c::event026, &dMsgFlow_c::event027,
&dMsgFlow_c::event028, &dMsgFlow_c::event029, &dMsgFlow_c::event030, &dMsgFlow_c::event031,
&dMsgFlow_c::event032, &dMsgFlow_c::event033, &dMsgFlow_c::event034, &dMsgFlow_c::event035,
&dMsgFlow_c::event036, &dMsgFlow_c::event037, &dMsgFlow_c::event038, &dMsgFlow_c::event039,
&dMsgFlow_c::event040, &dMsgFlow_c::event041, &dMsgFlow_c::event042,
};
/* 803C1ED0-803C1EF0 -00001 0020+00 1/1 0/0 0/0 .data @6324 */
SECTION_DATA static void* lit_6324[8] = {
(void*)(((char*)event023__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0xD8),
(void*)(((char*)event023__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x34),
(void*)(((char*)event023__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x4C),
(void*)(((char*)event023__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x64),
(void*)(((char*)event023__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x7C),
(void*)(((char*)event023__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x94),
(void*)(((char*)event023__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0xAC),
(void*)(((char*)event023__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0xC4),
};
/* 803C1EF0-803C1F20 -00001 0030+00 1/1 0/0 0/0 .data @6503 */
SECTION_DATA static void* lit_6503[12] = {
(void*)(((char*)event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0xC4),
(void*)(((char*)event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x160),
(void*)(((char*)event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x1FC),
(void*)(((char*)event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x3A4),
(void*)(((char*)event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x298),
(void*)(((char*)event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x298),
(void*)(((char*)event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x2B8),
(void*)(((char*)event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x308),
(void*)(((char*)event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x358),
(void*)(((char*)event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x3A4),
(void*)(((char*)event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x3A4),
(void*)(((char*)event027__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x3A4),
};
/* 803C1F20-803C1F40 -00001 0020+00 1/1 0/0 0/0 .data @6752 */
SECTION_DATA static void* lit_6752[8] = {
(void*)(((char*)event040__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0xF4),
(void*)(((char*)event040__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x34),
(void*)(((char*)event040__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x50),
(void*)(((char*)event040__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x6C),
(void*)(((char*)event040__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0x88),
(void*)(((char*)event040__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0xA4),
(void*)(((char*)event040__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0xC0),
(void*)(((char*)event040__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c) + 0xDC),
};
/* 80249F00-80249F48 244840 0048+00 0/0 5/5 154/154 .text __ct__10dMsgFlow_cFv */
dMsgFlow_c::dMsgFlow_c() {
mNonStopJunpFlowFlag = 0;
@@ -434,14 +29,6 @@ dMsgFlow_c::dMsgFlow_c() {
/* 80249F48-80249F90 244888 0048+00 1/0 7/7 111/111 .text __dt__10dMsgFlow_cFv */
dMsgFlow_c::~dMsgFlow_c() {}
/* ############################################################################################## */
/* 80399CB0-80399CB0 026310 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80399CB0 = "FLW1";
SECTION_DEAD static char const* const stringBase_80399CB5 = "FLI1";
#pragma pop
/* 80249F90-8024A13C 2448D0 01AC+00 0/0 10/10 86/86 .text
* init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c */
void dMsgFlow_c::init(fopAc_ac_c* i_partner, int i_flowID, int param_2, fopAc_ac_c** param_3) {
@@ -485,10 +72,13 @@ void dMsgFlow_c::init(fopAc_ac_c* i_partner, int i_flowID, int param_2, fopAc_ac
}
}
static void dummy() {
DEAD_STRING("");
}
/* 8024A13C-8024A2D8 244A7C 019C+00 2/0 0/0 2/2 .text checkOpenDoor__10dMsgFlow_cFP10fopAc_ac_cPi
*/
// regalloc, instruction issues
#ifdef NONMATCHING
// NONMATCHING regalloc, instruction issues
int dMsgFlow_c::checkOpenDoor(fopAc_ac_c *param_1,int *param_2) {
if (dMsgObject_isTalkNowCheck()) {
return 0;
@@ -551,11 +141,6 @@ int dMsgFlow_c::checkOpenDoor(fopAc_ac_c *param_1,int *param_2) {
}
}
#else
int dMsgFlow_c::checkOpenDoor(fopAc_ac_c* param_0, int* param_1) {
// NONMATCHING
}
#endif
/* 8024A2D8-8024A424 244C18 014C+00 0/0 21/21 78/78 .text
* doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci */
@@ -739,8 +324,6 @@ void dMsgFlow_c::setInitValueGroupChange(int param_1, fopAc_ac_c** param_2) {
setNodeIndex(getInitNodeIndex(mFlow), param_2);
}
/* ############################################################################################## */
/* 8024A6EC-8024A784 24502C 0098+00 4/4 0/0 0/0 .text getMsgDataBlock__10dMsgFlow_cFPCc
*/
u8* dMsgFlow_c::getMsgDataBlock(char const* block_tag) {
@@ -838,14 +421,6 @@ void dMsgFlow_c::setNodeIndex(u16 param_1, fopAc_ac_c** param_2) {
field_0x10 = param_1;
}
/* ############################################################################################## */
/* 80399CB0-80399CB0 026310 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80399CBA = "";
SECTION_DEAD static char const* const stringBase_80399CBB = "INF1";
#pragma pop
/* 8024A95C-8024AA50 24529C 00F4+00 1/1 0/0 0/0 .text
* setSelectMsg__10dMsgFlow_cFP14mesg_flow_nodeP14mesg_flow_nodeP10fopAc_ac_c */
int dMsgFlow_c::setSelectMsg(mesg_flow_node* param_1, mesg_flow_node* param_2,
@@ -1112,6 +687,24 @@ int dMsgFlow_c::getParam(u8* params) {
return *(int*)params;
}
/* 803C184C-803C1AC8 01E96C 027C+00 2/3 0/0 0/0 .data mQueryList__10dMsgFlow_c */
queryFunc dMsgFlow_c::mQueryList[53] = {
&dMsgFlow_c::query005, &dMsgFlow_c::query001, &dMsgFlow_c::query002, &dMsgFlow_c::query003,
&dMsgFlow_c::query006, &dMsgFlow_c::query007, &dMsgFlow_c::query004, &dMsgFlow_c::query008,
&dMsgFlow_c::query009, &dMsgFlow_c::query010, &dMsgFlow_c::query011, &dMsgFlow_c::query012,
&dMsgFlow_c::query013, &dMsgFlow_c::query014, &dMsgFlow_c::query015, &dMsgFlow_c::query016,
&dMsgFlow_c::query017, &dMsgFlow_c::query018, &dMsgFlow_c::query019, &dMsgFlow_c::query020,
&dMsgFlow_c::query021, &dMsgFlow_c::query022, &dMsgFlow_c::query023, &dMsgFlow_c::query024,
&dMsgFlow_c::query025, &dMsgFlow_c::query026, &dMsgFlow_c::query027, &dMsgFlow_c::query028,
&dMsgFlow_c::query029, &dMsgFlow_c::query030, &dMsgFlow_c::query031, &dMsgFlow_c::query032,
&dMsgFlow_c::query033, &dMsgFlow_c::query034, &dMsgFlow_c::query035, &dMsgFlow_c::query036,
&dMsgFlow_c::query037, &dMsgFlow_c::query038, &dMsgFlow_c::query039, &dMsgFlow_c::query040,
&dMsgFlow_c::query041, &dMsgFlow_c::query042, &dMsgFlow_c::query043, &dMsgFlow_c::query044,
&dMsgFlow_c::query045, &dMsgFlow_c::query046, &dMsgFlow_c::query047, &dMsgFlow_c::query048,
&dMsgFlow_c::query049, &dMsgFlow_c::query050, &dMsgFlow_c::query051, &dMsgFlow_c::query052,
&dMsgFlow_c::query053,
};
/* 8024B138-8024B180 245A78 0048+00 1/0 0/0 0/0 .text
* query001__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
int dMsgFlow_c::query001(mesg_flow_node_branch* flow_node, fopAc_ac_c*, int) {
@@ -1135,10 +728,6 @@ int dMsgFlow_c::query002(mesg_flow_node_branch*, fopAc_ac_c*, int) {
return 0;
}
/* ############################################################################################## */
/* 80454D90-80454D98 003390 0008+00 5/5 0/0 0/0 .sdata2 @5116 */
SECTION_SDATA2 static f64 lit_5116 = 4503599627370496.0 /* cast u32 to float */;
/* 8024B208-8024B250 245B48 0048+00 1/0 0/0 0/0 .text
* query003__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
int dMsgFlow_c::query003(mesg_flow_node_branch* flow_node, fopAc_ac_c*, int) {
@@ -1182,18 +771,17 @@ int dMsgFlow_c::query006(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1,
/* 8024B32C-8024B45C 245C6C 0130+00 1/0 0/0 0/0 .text
* query007__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
// instruction order and u16 issue
#ifdef NONMATCHING
// NONMATCHING regalloc and u16 issue
int dMsgFlow_c::query007(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) {
u32 uVar3 = *(u16*)(flow_node->params);
u16 uVar3 = *(u16*)(flow_node->params);
cXyz this_00 = daPy_getPlayerActorClass()->attention_info.position;
this_00.y -= daPy_getPlayerActorClass()->getAttentionOffsetY();
s16 uVar8 = (cSGlobe(param_1->attention_info.position - this_00).U() - daPy_getPlayerActorClass()->shape_angle.GetY());
s16 uVar8 = cSGlobe(param_1->attention_info.position - this_00).U()
- fopAcM_GetShapeAngle_p(daPy_getPlayerActorClass())->y;
u8 attentionId = param_1->attention_info.distances[fopAc_attn_SPEAK_e];
f32 fVar1 = dAttention_c::getDistTable(attentionId).mDistMaxRelease;
u16 x = uVar3;
if (x != 0) {
fVar1 = x;
if (uVar3 != 0) {
fVar1 = uVar3;
}
return (u16) dComIfGp_getAttention().checkDistance(
@@ -1203,11 +791,6 @@ int dMsgFlow_c::query007(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1,
dAttention_c::getDistTable(attentionId).mLowerY);
}
#else
int dMsgFlow_c::query007(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) {
// NONMATCHING
}
#endif
/* 8024B45C-8024B4A4 245D9C 0048+00 1/0 0/0 0/0 .text
* query008__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
@@ -1323,19 +906,15 @@ int dMsgFlow_c::query021(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1,
// NONMATCHING
}
#ifdef NONMATCHING
/* 8024B8E4-8024B918 246224 0034+00 1/0 0/0 0/0 .text
* query022__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
// NONMATCHING
int dMsgFlow_c::query022(mesg_flow_node_branch* flow_node, fopAc_ac_c*, int) {
// fake match but 0 comparison zeroes out 24 bits while this function zeroes out 16
// return (__cntlzw(checkItemGet(flow_node->params[0], 1)) >> 5) & 0xffff;
return checkItemGet(flow_node->params[0], 1) == 0;
}
#else
int dMsgFlow_c::query022(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) {
// NONMATCHING
}
#endif
/* 8024B918-8024B954 246258 003C+00 1/0 0/0 0/0 .text
* query023__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
@@ -1365,19 +944,14 @@ int dMsgFlow_c::query026(mesg_flow_node_branch*, fopAc_ac_c* actor, int) {
/* 8024B9E8-8024BA4C 246328 0064+00 1/0 0/0 0/0 .text
* query027__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
#ifdef NONMATCHING
// NONMATCHING
int dMsgFlow_c::query027(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) {
u8 uVar1 = *(u16*)flow_node->params;
u8 uVar1 = *(u16*)flow_node->params & 0xff;
if (uVar1 == 0) {
uVar1 = dComIfGp_getNeedLightDropNum();
}
return dComIfGs_getLightDropNum(dComIfGp_getStartStageDarkArea()) < uVar1;
}
#else
int dMsgFlow_c::query027(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int param_2) {
// NONMATCHING
}
#endif
/* 8024BA4C-8024BAA0 24638C 0054+00 1/0 0/0 0/0 .text
* query028__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
@@ -1708,6 +1282,21 @@ int dMsgFlow_c::query053(mesg_flow_node_branch*, fopAc_ac_c*, int) {
return phi_r4;
}
/* 803C1CCC-803C1ED0 01EDEC 0204+00 1/2 0/0 0/0 .data mEventList__10dMsgFlow_c */
eventFunc dMsgFlow_c::mEventList[43] = {
&dMsgFlow_c::event000, &dMsgFlow_c::event001, &dMsgFlow_c::event002, &dMsgFlow_c::event003,
&dMsgFlow_c::event004, &dMsgFlow_c::event005, &dMsgFlow_c::event006, &dMsgFlow_c::event007,
&dMsgFlow_c::event008, &dMsgFlow_c::event009, &dMsgFlow_c::event010, &dMsgFlow_c::event011,
&dMsgFlow_c::event012, &dMsgFlow_c::event013, &dMsgFlow_c::event014, &dMsgFlow_c::event015,
&dMsgFlow_c::event016, &dMsgFlow_c::event017, &dMsgFlow_c::event018, &dMsgFlow_c::event019,
&dMsgFlow_c::event020, &dMsgFlow_c::event021, &dMsgFlow_c::event022, &dMsgFlow_c::event023,
&dMsgFlow_c::event024, &dMsgFlow_c::event025, &dMsgFlow_c::event026, &dMsgFlow_c::event027,
&dMsgFlow_c::event028, &dMsgFlow_c::event029, &dMsgFlow_c::event030, &dMsgFlow_c::event031,
&dMsgFlow_c::event032, &dMsgFlow_c::event033, &dMsgFlow_c::event034, &dMsgFlow_c::event035,
&dMsgFlow_c::event036, &dMsgFlow_c::event037, &dMsgFlow_c::event038, &dMsgFlow_c::event039,
&dMsgFlow_c::event040, &dMsgFlow_c::event041, &dMsgFlow_c::event042,
};
/* 8024C3FC-8024C488 246D3C 008C+00 1/0 0/0 0/0 .text
* event000__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
int dMsgFlow_c::event000(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
@@ -1758,10 +1347,6 @@ int dMsgFlow_c::event003(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
return 1;
}
/* ############################################################################################## */
/* 80454DA0-80454DA8 0033A0 0008+00 3/3 0/0 0/0 .sdata2 @6040 */
SECTION_SDATA2 static f64 lit_6040 = 4503601774854144.0 /* cast s32 to float */;
/* 8024C590-8024C5F0 246ED0 0060+00 1/0 0/0 0/0 .text
* event004__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
int dMsgFlow_c::event004(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
@@ -2045,20 +1630,10 @@ int dMsgFlow_c::event020(mesg_flow_node_event* flow_node, fopAc_ac_c* actor) {
/* 8024CD84-8024CDAC 2476C4 0028+00 1/0 0/0 0/0 .text
* event021__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
#ifdef NONMATCHING
int dMsgFlow_c::event021(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
cLib_calcTimer(&field_0x3c);
return 1;
}
#else
int dMsgFlow_c::event021(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
// NONMATCHING
}
#endif
/* ############################################################################################## */
/* 80454DA8-80454DAC 0033A8 0004+00 1/1 0/0 0/0 .sdata2 @6273 */
SECTION_SDATA2 static f32 lit_6273 = 100.0f;
/* 8024CDAC-8024CE40 2476EC 0094+00 1/0 0/0 0/0 .text
* event022__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
@@ -2072,7 +1647,6 @@ int dMsgFlow_c::event022(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
return 1;
}
/* 8024CE40-8024CF2C 247780 00EC+00 2/0 0/0 0/0 .text
* event023__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
int dMsgFlow_c::event023(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
@@ -2105,7 +1679,6 @@ int dMsgFlow_c::event023(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
return 1;
}
/* 8024CF2C-8024CF54 24786C 0028+00 1/0 0/0 0/0 .text
* event024__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
int dMsgFlow_c::event024(mesg_flow_node_event*, fopAc_ac_c* actor) {
@@ -2230,8 +1803,7 @@ int dMsgFlow_c::event027(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
/* 8024D3C4-8024D500 247D04 013C+00 1/0 0/0 0/0 .text
* event028__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
// regalloc
#ifdef NONMATCHING
// NONMATCHING regalloc
int dMsgFlow_c::event028(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
dMsgObject_c::setSelectCursorPos(dComIfGs_getTmpReg(0xFBFF) - 1);
u8 bagID = dMsgObject_c::getSelectBombBagID();
@@ -2259,11 +1831,6 @@ int dMsgFlow_c::event028(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
return 1;
}
#else
int dMsgFlow_c::event028(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
// NONMATCHING
}
#endif
/* 8024D500-8024D544 247E40 0044+00 1/0 0/0 0/0 .text
* event029__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
@@ -2304,10 +1871,6 @@ int dMsgFlow_c::event031(mesg_flow_node_event*, fopAc_ac_c*) {
return 1;
}
/* ############################################################################################## */
/* 80454DAC-80454DB0 0033AC 0004+00 2/2 0/0 0/0 .sdata2 @6613 */
SECTION_SDATA2 static f32 lit_6613 = 1.0f;
/* 8024D5EC-8024D6BC 247F2C 00D0+00 1/0 0/0 0/0 .text
* event032__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
int dMsgFlow_c::event032(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
@@ -2331,7 +1894,6 @@ int dMsgFlow_c::event032(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
return 1;
}
/* 8024D6BC-8024D788 247FFC 00CC+00 1/0 0/0 0/0 .text
* event033__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
int dMsgFlow_c::event033(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
@@ -2355,7 +1917,6 @@ int dMsgFlow_c::event033(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
return 1;
}
/* 8024D788-8024D7C8 2480C8 0040+00 1/0 0/0 0/0 .text
* event034__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
int dMsgFlow_c::event034(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
@@ -2450,7 +2011,6 @@ int dMsgFlow_c::event040(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
return 1;
}
/* 8024DA78-8024DAA8 2483B8 0030+00 1/0 0/0 0/0 .text
* event041__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
int dMsgFlow_c::event041(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
@@ -2465,10 +2025,3 @@ int dMsgFlow_c::event041(mesg_flow_node_event* flow_node, fopAc_ac_c*) {
int dMsgFlow_c::event042(mesg_flow_node_event*, fopAc_ac_c*) {
return 1;
}
/* 8024DAB0-8024DACC 2483F0 001C+00 3/3 0/0 0/0 .text cLib_calcTimer<l>__FPl */
extern "C" void func_8024DAB0(void* _this, s32* param_0) {
// NONMATCHING
}
/* 80399CB0-80399CB0 026310 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
+2 -15
View File
@@ -14,13 +14,6 @@
#include "d/d_msg_object.h"
#include "d/d_pane_class.h"
extern "C" void __dl__FPv();
extern "C" extern void* __vt__10J2DAnmBase[4];
extern "C" extern void* __vt__10JUTNameTab[3];
extern "C" extern void* __vt__14J2DAnmColorKey[5];
extern "C" extern void* __vt__11J2DAnmColor[5];
extern "C" extern dMsgObject_HIO_c g_MsgObject_HIO_c;
/* 803C0C00-803C0C0C 01DD20 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
static u8 cNullVec__6Z2Calc[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -68,7 +61,7 @@ dMsgScrn3Select_c::dMsgScrn3Select_c() {
mBckFrame = 190.0f;
mOffsetX = 0.0f;
mpAnmBpk = (J2DAnmColor*)J2DAnmLoaderDataBase::load(
mpAnmBpk = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(
JKRGetNameResource("zelda_window_3menu.bpk", dComIfGp_getMsgArchive(0)));
mpAnmBpk->searchUpdateMaterialID(mpScreen);
mBpkFrame = 0.0f;
@@ -228,12 +221,6 @@ dMsgScrn3Select_c::~dMsgScrn3Select_c() {
}
}
/* 80239BE0-80239C64 234520 0084+00 0/0 1/0 0/0 .text __dt__14J2DAnmColorKeyFv */
// J2DAnmColorKey::~J2DAnmColorKey() {
extern "C" void __dt__14J2DAnmColorKeyFv() {
// NONMATCHING
}
/* 80239C64-80239C78 2345A4 0014+00 0/0 5/5 0/0 .text isSelect__17dMsgScrn3Select_cFv */
bool dMsgScrn3Select_c::isSelect() {
return mProcess == PROC_SELECT_e ? TRUE : FALSE;
@@ -977,4 +964,4 @@ void dMsgScrn3Select_c::selectAnimeTransform(int i_sel) {
mpSel_c[i_sel]->getPanePtr()->setAnimation((J2DAnmTransform*)NULL);
onAnimeUpdate(i_sel);
}
}
+7 -234
View File
@@ -19,184 +19,6 @@
#include "JSystem/J2DGraph/J2DGrafContext.h"
#include "JSystem/JKernel/JKRExpHeap.h"
#include "JSystem/JUtility/JUTTexture.h"
#include "dol2asm.h"
//
// Forward References:
//
extern "C" void __ct__14dMsgScrnItem_cFUcUcP10JKRExpHeap();
extern "C" void __dt__14dMsgScrnItem_cFv();
extern "C" void exec__14dMsgScrnItem_cFv();
extern "C" void drawSelf__14dMsgScrnItem_cFv();
extern "C" void arwAnimeInit__14dMsgScrnItem_cFv();
extern "C" void arwAnimeMove__14dMsgScrnItem_cFv();
extern "C" void dotAnimeInit__14dMsgScrnItem_cFv();
extern "C" void dotAnimeMove__14dMsgScrnItem_cFv();
extern "C" void setSelectString__14dMsgScrnItem_cFPcPcPc();
extern "C" void setSelectRubyString__14dMsgScrnItem_cFPcPcPc();
extern "C" void isSelect__14dMsgScrnItem_cFv();
extern "C" void selectAnimeInit__14dMsgScrnItem_cFUcUcfUc();
extern "C" void selectAnimeMove__14dMsgScrnItem_cFUcUcb();
extern "C" void selectAnimeEnd__14dMsgScrnItem_cFv();
extern "C" void fukiScale__14dMsgScrnItem_cFf();
extern "C" void fukiTrans__14dMsgScrnItem_cFff();
extern "C" void fukiAlpha__14dMsgScrnItem_cFf();
extern "C" void fukiPosCalc__14dMsgScrnItem_cFUc();
extern "C" void setBtk0Animation__14dMsgScrnItem_cFP19J2DAnmTextureSRTKey();
extern "C" void setBpk0Animation__14dMsgScrnItem_cFP11J2DAnmColor();
extern "C" void setBpk1Animation__14dMsgScrnItem_cFP11J2DAnmColor();
extern "C" void isOugiID__14dMsgScrnItem_cFv();
extern "C" extern char const* const msg_scrn_d_msg_scrn_item__stringBase0;
//
// External References:
//
extern "C" void mDoExt_getMesgFont__Fv();
extern "C" void mDoLib_project__FP3VecP3Vec();
extern "C" void dComIfGp_getSubHeap2D__Fi();
extern "C" void
readItemTexture__13dMeter2Info_cFUcPvP10J2DPicturePvP10J2DPicturePvP10J2DPicturePvP10J2DPicturei();
extern "C" void
setItemColor__13dMeter2Info_cFUcP10J2DPictureP10J2DPictureP10J2DPictureP10J2DPicture();
extern "C" void getActor__12dMsgObject_cFv();
extern "C" void getMessageID__12dMsgObject_cFv();
extern "C" void __ct__17dMsgScrn3Select_cFv();
extern "C" void isSelect__17dMsgScrn3Select_cFv();
extern "C" void setString__17dMsgScrn3Select_cFPcPcPc();
extern "C" void setRubyString__17dMsgScrn3Select_cFPcPcPc();
extern "C" void translate__17dMsgScrn3Select_cFff();
extern "C" void draw__17dMsgScrn3Select_cFff();
extern "C" void selAnimeInit__17dMsgScrn3Select_cFUcUcUcfUc();
extern "C" void selAnimeMove__17dMsgScrn3Select_cFUcUcb();
extern "C" void selAnimeEnd__17dMsgScrn3Select_cFv();
extern "C" void getTextBoxWidth__17dMsgScrn3Select_cFv();
extern "C" void getFontSize__17dMsgScrn3Select_cFv();
extern "C" void getRubyFontSize__17dMsgScrn3Select_cFv();
extern "C" void getCharSpace__17dMsgScrn3Select_cFv();
extern "C" void getRubyCharSpace__17dMsgScrn3Select_cFv();
extern "C" void getTextBoxGlobalPosX__17dMsgScrn3Select_cFi();
extern "C" void getTextBoxGlobalPosY__17dMsgScrn3Select_cFi();
extern "C" void __ct__15dMsgScrnArrow_cFv();
extern "C" void draw__15dMsgScrnArrow_cFv();
extern "C" void setPos__15dMsgScrnArrow_cFff();
extern "C" void arwAnimeInit__15dMsgScrnArrow_cFv();
extern "C" void arwAnimeMove__15dMsgScrnArrow_cFv();
extern "C" void dotAnimeInit__15dMsgScrnArrow_cFv();
extern "C" void dotAnimeMove__15dMsgScrnArrow_cFv();
extern "C" void __ct__14dMsgScrnBase_cFv();
extern "C" void __dt__14dMsgScrnBase_cFv();
extern "C" void init__14dMsgScrnBase_cFv();
extern "C" void multiDraw__14dMsgScrnBase_cFv();
extern "C" void draw__14dMsgScrnBase_cFv();
extern "C" void drawOutFont__14dMsgScrnBase_cFfff();
extern "C" void fontAlpha__14dMsgScrnBase_cFf();
extern "C" void isTalkNow__14dMsgScrnBase_cFv();
extern "C" void __ct__15dMsgScrnLight_cFUcUc();
extern "C" void draw__15dMsgScrnLight_cFPffffffUc();
extern "C" void __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap();
extern "C" void reinit__8CPaneMgrFv();
extern "C" void getGlobalPosX__8CPaneMgrFv();
extern "C" void getGlobalPosY__8CPaneMgrFv();
extern "C" void paneTrans__8CPaneMgrFff();
extern "C" void getGlobalVtxCenter__8CPaneMgrFP7J2DPanebs();
extern "C" void dPaneClass_showNullPane__FP9J2DScreen();
extern "C" void setAlphaRate__13CPaneMgrAlphaFf();
extern "C" void getAlphaRate__13CPaneMgrAlphaFv();
extern "C" bool __eq__4cXyzCFRC3Vec();
extern "C" void alloc__7JKRHeapFUli();
extern "C" void free__7JKRHeapFPv();
extern "C" void* __nw__FUl();
extern "C" void __dl__FPv();
extern "C" void getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader();
extern "C" void readIdxResource__10JKRArchiveFPvUlUl();
extern "C" void getBounds__7J2DPaneFv();
extern "C" void setBasePosition__7J2DPaneF15J2DBasePosition();
extern "C" void __ct__9J2DScreenFv();
extern "C" void setPriority__9J2DScreenFPCcUlP10JKRArchive();
extern "C" void draw__9J2DScreenFffPC14J2DGrafContext();
extern "C" void animation__9J2DScreenFv();
extern "C" void __ct__10J2DPictureFPC7ResTIMG();
extern "C" void load__20J2DAnmLoaderDataBaseFPCv();
extern "C" void _savegpr_25();
extern "C" void _savegpr_26();
extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
extern "C" void _restgpr_25();
extern "C" void _restgpr_26();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" void* item_resource__10dItem_data[1530];
//
// Declarations:
//
/* ############################################################################################## */
/* 80399990-80399990 025FF0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80399990 = "zelda_item_get_window.blo";
SECTION_DEAD static char const* const stringBase_803999AA = "zelda_item_get_window_text.blo";
SECTION_DEAD static char const* const stringBase_803999C9 = "zelda_item_get_window.btk";
SECTION_DEAD static char const* const stringBase_803999E3 = "zelda_item_get_window.bpk";
SECTION_DEAD static char const* const stringBase_803999FD = "zelda_item_get_window_02.bpk";
/* @stringBase0 padding */
SECTION_DEAD static char const* const pad_80399A1A = "\0\0\0\0\0";
#pragma pop
/* 803C0F78-803C0FD0 01E098 0058+00 2/2 0/0 0/0 .data __vt__14dMsgScrnItem_c */
SECTION_DATA extern void* __vt__14dMsgScrnItem_c[22] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)draw__14dMsgScrnBase_cFv,
(void*)__dt__14dMsgScrnItem_cFv,
(void*)exec__14dMsgScrnItem_cFv,
(void*)multiDraw__14dMsgScrnBase_cFv,
(void*)drawSelf__14dMsgScrnItem_cFv,
(void*)setSelectString__14dMsgScrnItem_cFPcPcPc,
(void*)setSelectRubyString__14dMsgScrnItem_cFPcPcPc,
(void*)arwAnimeInit__14dMsgScrnItem_cFv,
(void*)arwAnimeMove__14dMsgScrnItem_cFv,
(void*)dotAnimeInit__14dMsgScrnItem_cFv,
(void*)dotAnimeMove__14dMsgScrnItem_cFv,
(void*)isSelect__14dMsgScrnItem_cFv,
(void*)selectAnimeInit__14dMsgScrnItem_cFUcUcfUc,
(void*)selectAnimeMove__14dMsgScrnItem_cFUcUcb,
(void*)selectAnimeEnd__14dMsgScrnItem_cFv,
(void*)fukiScale__14dMsgScrnItem_cFf,
(void*)fukiTrans__14dMsgScrnItem_cFff,
(void*)fukiAlpha__14dMsgScrnItem_cFf,
(void*)fontAlpha__14dMsgScrnBase_cFf,
(void*)fukiPosCalc__14dMsgScrnItem_cFUc,
};
/* 80454BF8-80454BFC 0031F8 0004+00 2/2 0/0 0/0 .sdata2 @4192 */
SECTION_SDATA2 static f32 lit_4192 = 100.0f;
/* 80454BFC-80454C00 0031FC 0004+00 3/3 0/0 0/0 .sdata2 @4193 */
SECTION_SDATA2 static f32 lit_4193 = 1.0f;
/* 80454C00-80454C04 003200 0004+00 1/1 0/0 0/0 .sdata2 @4194 */
SECTION_SDATA2 static f32 lit_4194 = 48.0f;
/* 80454C04-80454C08 003204 0004+00 3/3 0/0 0/0 .sdata2 @4195 */
SECTION_SDATA2 static u8 lit_4195[4] = {
0x00,
0x00,
0x00,
0x00,
};
/* 80454C08-80454C0C 003208 0004+00 1/1 0/0 0/0 .sdata2 @4196 */
SECTION_SDATA2 static f32 lit_4196 = 6.0f / 5.0f;
/* 80454C0C-80454C10 00320C 0004+00 3/3 0/0 0/0 .sdata2 @4197 */
SECTION_SDATA2 static f32 lit_4197 = 0.5f;
/* 80454C10-80454C18 003210 0008+00 2/2 0/0 0/0 .sdata2 @4199 */
SECTION_SDATA2 static f64 lit_4199 = 4503599627370496.0 /* cast u32 to float */;
/* 8023E79C-8023F51C 2390DC 0D80+00 0/0 1/1 0/0 .text __ct__14dMsgScrnItem_cFUcUcP10JKRExpHeap */
dMsgScrnItem_c::dMsgScrnItem_c(u8 param_1, u8 param_2, JKRExpHeap* param_3) {
@@ -298,7 +120,7 @@ dMsgScrnItem_c::dMsgScrnItem_c(u8 param_1, u8 param_2, JKRExpHeap* param_3) {
}
mpScreen = new J2DScreen();
JUT_ASSERT(188, mpScreen != 0);
bool fg = mpScreen->setPriority("zelda_item_get_window_revo.blo", 0x1020000, dComIfGp_getMsgArchive(3));
bool fg = mpScreen->setPriority("zelda_item_get_window.blo", 0x1020000, dComIfGp_getMsgArchive(3));
JUT_ASSERT(195, fg != false);
dPaneClass_showNullPane(mpScreen);
mpTxScreen = new J2DScreen();
@@ -350,13 +172,13 @@ dMsgScrnItem_c::dMsgScrnItem_c(u8 param_1, u8 param_2, JKRExpHeap* param_3) {
JUT_ASSERT(312, mpMg_c[1] != 0);
OSInitFastCast();
fukiPosCalc(param_1);
field_0x118[0] = (J2DAnmTextureSRTKey*)J2DAnmLoaderDataBase::load(JKRGetNameResource("zelda_item_get_window_revo.btk", dComIfGp_getMsgArchive(3)));
field_0x118[0] = (J2DAnmTextureSRTKey*)J2DAnmLoaderDataBase::load(JKRGetNameResource("zelda_item_get_window.btk", dComIfGp_getMsgArchive(3)));
field_0x118[0]->searchUpdateMaterialID(mpScreen);
field_0x140[0] = 0.0f;
field_0x12c[0] = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(JKRGetNameResource("zelda_item_get_window_revo.bpk", dComIfGp_getMsgArchive(3)));
field_0x12c[0] = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(JKRGetNameResource("zelda_item_get_window.bpk", dComIfGp_getMsgArchive(3)));
field_0x12c[0]->searchUpdateMaterialID(mpScreen);
field_0x154[0] = 0.0f;
field_0x12c[1] = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(JKRGetNameResource("zelda_item_get_window_revo_02.bpk", dComIfGp_getMsgArchive(3)));
field_0x12c[1] = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(JKRGetNameResource("zelda_item_get_window_02.bpk", dComIfGp_getMsgArchive(3)));
field_0x12c[1]->searchUpdateMaterialID(mpScreen);
field_0x154[1] = 0.0f;
field_0x19d = false;
@@ -475,10 +297,6 @@ dMsgScrnItem_c::~dMsgScrnItem_c() {
dComIfGp_getMsgCommonArchive()->removeResourceAll();;
}
/* ############################################################################################## */
/* 80454C18-80454C20 003218 0008+00 2/2 0/0 0/0 .sdata2 @4388 */
SECTION_SDATA2 static f64 lit_4388 = 4503601774854144.0 /* cast s32 to float */;
/* 8023F888-8023FB24 23A1C8 029C+00 1/0 0/0 0/0 .text exec__14dMsgScrnItem_cFv */
void dMsgScrnItem_c::exec() {
f32 dVar12 = field_0x13c;
@@ -529,20 +347,8 @@ void dMsgScrnItem_c::exec() {
mpMg_c[1]->scale(g_MsgObject_HIO_c.mBoxItemTextSizeX, g_MsgObject_HIO_c.mBoxItemTextSizeY);
}
/* ############################################################################################## */
/* 80454C20-80454C24 003220 0004+00 1/1 0/0 0/0 .sdata2 @4476 */
SECTION_SDATA2 static f32 lit_4476 = 2.0f;
/* 80454C24-80454C28 003224 0004+00 1/1 0/0 0/0 .sdata2 @4477 */
SECTION_SDATA2 static f32 lit_4477 = 255.0f;
/* 80454C28-80454C2C 003228 0004+00 1/1 0/0 0/0 .sdata2 @4478 */
SECTION_SDATA2 static f32 lit_4478 = 3.0f / 5.0f;
/* 8023FB24-8023FF30 23A464 040C+00 1/0 0/0 0/0 .text drawSelf__14dMsgScrnItem_cFv */
// Issues with float regs order
#ifdef NONMATCHING
// NONMATCHING Issues with float regs order
void dMsgScrnItem_c::drawSelf() {
J2DGrafContext* grafContext = dComIfGp_getCurrentGrafPort();
grafContext->setup2D();
@@ -556,7 +362,7 @@ void dMsgScrnItem_c::drawSelf() {
dVar12 * g_MsgObject_HIO_c.mBoxItemHaloAlpha, mCharInfoPtr[i].mColorNo);
}
}
//f32 this_00 = mpTm_c[0]->getGlobalPosX();
mpTm_c[0]->getGlobalPosX();
drawOutFont(g_MsgObject_HIO_c.mBoxItemTextPosX - 2.0f, g_MsgObject_HIO_c.mBoxItemTextPosY,
1.0f);
mpTxScreen->draw(0.0f, 0.0f, grafContext);
@@ -622,11 +428,6 @@ void dMsgScrnItem_c::drawSelf() {
}
}
}
#else
void dMsgScrnItem_c::drawSelf() {
// NONMATCHING
}
#endif
/* 8023FF30-8023FF54 23A870 0024+00 1/0 0/0 0/0 .text arwAnimeInit__14dMsgScrnItem_cFv */
void dMsgScrnItem_c::arwAnimeInit() {
@@ -702,34 +503,6 @@ void dMsgScrnItem_c::fukiAlpha(f32 param_1) {
}
}
/* ############################################################################################## */
/* 80454C2C-80454C30 00322C 0004+00 1/1 0/0 0/0 .sdata2 @4663 */
SECTION_SDATA2 static f32 lit_4663 = 608.0f;
/* 80454C30-80454C34 003230 0004+00 1/1 0/0 0/0 .sdata2 @4664 */
SECTION_SDATA2 static f32 lit_4664 = 448.0f;
/* 80454C34-80454C38 003234 0004+00 1/1 0/0 0/0 .sdata2 @4665 */
SECTION_SDATA2 static f32 lit_4665 = 50.0f;
/* 80454C38-80454C3C 003238 0004+00 1/1 0/0 0/0 .sdata2 @4666 */
SECTION_SDATA2 static f32 lit_4666 = 105.0f;
/* 80454C3C-80454C40 00323C 0004+00 1/1 0/0 0/0 .sdata2 @4667 */
SECTION_SDATA2 static f32 lit_4667 = 486.0f;
/* 80454C40-80454C44 003240 0004+00 1/1 0/0 0/0 .sdata2 @4668 */
SECTION_SDATA2 static f32 lit_4668 = 230.0f;
/* 80454C44-80454C48 003244 0004+00 1/1 0/0 0/0 .sdata2 @4669 */
SECTION_SDATA2 static f32 lit_4669 = 235.0f;
/* 80454C48-80454C4C 003248 0004+00 1/1 0/0 0/0 .sdata2 @4670 */
SECTION_SDATA2 static f32 lit_4670 = 355.0f;
/* 80454C4C-80454C50 00324C 0004+00 1/1 0/0 0/0 .sdata2 @4671 */
SECTION_SDATA2 static f32 lit_4671 = 209.0f;
/* 80240174-8024074C 23AAB4 05D8+00 1/0 0/0 0/0 .text fukiPosCalc__14dMsgScrnItem_cFUc */
void dMsgScrnItem_c::fukiPosCalc(u8 param_1) {
msg_class* iVar6 = dMsgObject_c::getActor();
@@ -864,4 +637,4 @@ bool dMsgScrnItem_c::isOugiID() {
return false;
}
/* 80399990-80399990 025FF0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
/* 80399990-80399990 025FF0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
+12 -30
View File
@@ -20,7 +20,7 @@
#include "d/actor/d_a_player.h"
#include "SSystem/SComponent/c_math.h"
extern "C" extern u8 JPTracePCB4[4];
extern JPAParticleCallBack* JPTracePCB4;
/* 80049420-80049580 043D60 0160+00 4/4 0/0 0/0 .text dPa_cleanupGX__Fv */
static void dPa_cleanupGX() {
@@ -121,10 +121,10 @@ void dPa_followEcallBack::end() {
/* 80450E90-80450E94 000390 0004+00 2/2 1/1 11/11 .sbss mEcallback__18dPa_modelEcallBack
*/
dPa_modelEcallBack* dPa_modelEcallBack::mEcallback;
dPa_modelEcallBack dPa_modelEcallBack::mEcallback;
/* 80450E94-80450E98 000394 0004+00 2/2 0/0 0/0 .sbss mPcallback__18dPa_modelEcallBack */
u8 dPa_modelEcallBack::mPcallback[4];
dPa_modelPcallBack dPa_modelEcallBack::mPcallback;
/* 80450E98-80450E9C 000398 0004+00 5/5 0/0 0/0 .sbss mModel__18dPa_modelEcallBack */
dPa_modelEcallBack::model_c* dPa_modelEcallBack::mModel;
@@ -643,7 +643,7 @@ void dPa_modelEcallBack::setup(JPABaseEmitter* param_0, cXyz const* param_1,
struct_80450E9D -= (x) * sVar1;
if (mModel[struct_80450E9D].getModelData() == NULL) {
param_0->setUserWork(struct_80450E9D++);
param_0->setParticleCallBackPtr((JPAParticleCallBack*)&mPcallback[0]);
param_0->setParticleCallBackPtr(&mPcallback);
return;
}
struct_80450E9D++;
@@ -810,16 +810,6 @@ dPa_simpleData_c::dPa_simpleData_c() {
/* empty function */
}
/* ############################################################################################## */
/* 80424710-8042471C 051430 000C+00 1/1 0/0 0/0 .bss @4053 */
static u8 lit_4053[12];
/* 8042471C-80424728 05143C 000C+00 0/1 0/0 0/0 .bss @4054 */
#pragma push
#pragma force_active on
static u8 lit_4054[12];
#pragma pop
/* 8004B064-8004B168 0459A4 0104+00 2/2 0/0 0/0 .text
* createEmitter__19dPa_simpleEcallBackFP17JPAEmitterManager */
JPABaseEmitter* dPa_simpleEcallBack::createEmitter(JPAEmitterManager* param_0) {
@@ -878,7 +868,7 @@ u32 dPa_simpleEcallBack::set(cXyz const* param_1, dKy_tevstr_c const* param_2, u
GXColor local_64 = {0xff, 0xff, 0xff, 0xff};
GXColor local_68 = {0xff, 0xff, 0xff, 0xff};
if (&param_5 != NULL) {
local_64 = param_5;;
local_64 = param_5;
}
if (&param_4 != NULL) {
local_68 = param_4;
@@ -935,7 +925,6 @@ u32 dPa_simpleEcallBack::set(cXyz const* param_1, dKy_tevstr_c const* param_2, u
return 1;
}
/* 8004B4E0-8004B504 045E20 0024+00 1/0 0/0 0/0 .text
* execute__17dPa_windPcallBackFP14JPABaseEmitterP15JPABaseParticle */
void dPa_windPcallBack::execute(JPABaseEmitter* param_0, JPABaseParticle* param_1) {
@@ -980,8 +969,7 @@ void dPa_control_c::level_c::emitter_c::cleanup() {
pdVar1 != dPa_control_c::getLight8EcallBack()) {
mEmitter->setEmitterCallBackPtr(NULL);
JPAParticleCallBack* cb = mEmitter->getParticleCallBackPtr();
if (cb == (JPAParticleCallBack*)JPTracePCB4 ||
cb == dPa_control_c::getParticleTracePCB()) {
if (cb == JPTracePCB4 || cb == dPa_control_c::getParticleTracePCB()) {
mEmitter->setParticleCallBackPtr(NULL);
}
}
@@ -1194,11 +1182,11 @@ u8 dPa_control_c::mLifeBall[24];
JPAEmitterManager* dPa_control_c::mEmitterMng;
/* 80450EA4-80450EA8 0003A4 0004+00 1/1 1/1 0/0 .sbss mWaterBubblePcallBack__13dPa_control_c */
JPAParticleCallBack dPa_control_c::mWaterBubblePcallBack;
dPa_wbPcallBack_c dPa_control_c::mWaterBubblePcallBack;
/* 80450EA8-80450EAC 0003A8 0004+00 3/3 0/0 0/0 .sbss mFsenthPcallBack__13dPa_control_c
*/
JPAParticleCallBack dPa_control_c::mFsenthPcallBack;
dPa_fsenthPcallBack dPa_control_c::mFsenthPcallBack;
/* 80450EAC-80450EB0 0003AC 0004+00 2/2 0/0 1/1 .sbss mLight8EcallBack__13dPa_control_c
*/
@@ -1206,25 +1194,25 @@ dPa_light8EcallBack dPa_control_c::mLight8EcallBack;
/* 80450EB0-80450EB4 0003B0 0004+00 2/2 0/0 0/0 .sbss mLight8PcallBack__13dPa_control_c
*/
JPAParticleCallBack dPa_control_c::mLight8PcallBack;
dPa_light8PcallBack dPa_control_c::mLight8PcallBack;
/* 80450EB4-80450EB8 0003B4 0004+00 3/3 0/0 0/0 .sbss m_b_Light8EcallBack__13dPa_control_c */
dPa_gen_b_light8EcallBack dPa_control_c::m_b_Light8EcallBack;
/* 80450EB8-80450EBC 0003B8 0004+00 2/2 0/0 0/0 .sbss m_b_Light8PcallBack__13dPa_control_c */
JPAParticleCallBack dPa_control_c::m_b_Light8PcallBack;
dPa_gen_b_light8PcallBack dPa_control_c::m_b_Light8PcallBack;
/* 80450EBC-80450EC0 0003BC 0004+00 3/3 0/0 0/0 .sbss m_d_Light8EcallBack__13dPa_control_c */
dPa_gen_d_light8EcallBack dPa_control_c::m_d_Light8EcallBack;
/* 80450EC0-80450EC4 0003C0 0004+00 2/2 0/0 0/0 .sbss m_d_Light8PcallBack__13dPa_control_c */
JPAParticleCallBack dPa_control_c::m_d_Light8PcallBack;
dPa_gen_d_light8PcallBack dPa_control_c::m_d_Light8PcallBack;
/* 80450EC4-80450EC8 0003C4 0004+00 1/1 2/2 0/0 .sbss None */
u8 dPa_control_c::mStatus;
/* 80450EC8-80450ED0 0003C8 0004+04 2/2 1/1 17/17 .sbss mParticleTracePCB__13dPa_control_c */
JPAParticleCallBack dPa_control_c::mParticleTracePCB;
dPa_particleTracePcallBack_c dPa_control_c::mParticleTracePCB;
/* 80424870-804248A0 051590 0030+00 1/1 0/0 0/0 .bss mWindViewMatrix__13dPa_control_c */
Mtx dPa_control_c::mWindViewMatrix;
@@ -1295,12 +1283,6 @@ void dPa_control_c::createRoomScene() {
mDoExt_adjustSolidHeap(m_sceneHeap);
}
/* 804248A0-804248AC 0515C0 000C+00 0/1 0/0 0/0 .bss @4742 */
#pragma push
#pragma force_active on
static u8 lit_4742[12];
#pragma pop
/* 8004BDFC-8004BEB0 04673C 00B4+00 0/0 1/1 0/0 .text
* readScene__13dPa_control_cFUcPP21mDoDvdThd_toMainRam_c */
bool dPa_control_c::readScene(u8 param_0, mDoDvdThd_toMainRam_c** param_1) {
+20 -386
View File
@@ -6,145 +6,20 @@
#include "d/d_resorce.h"
#include "JSystem/J3DGraphBase/J3DMaterial.h"
#include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h"
#include "JSystem/J3DGraphLoader/J3DAnmLoader.h"
#include "JSystem/J3DGraphLoader/J3DClusterLoader.h"
#include "JSystem/J3DGraphLoader/J3DModelLoader.h"
#include "JSystem/JKernel/JKRMemArchive.h"
#include "JSystem/JKernel/JKRSolidHeap.h"
#include "JSystem/JUtility/JUTConsole.h"
#include "d/d_bg_w_kcol.h"
#include "d/d_com_inf_game.h"
#include "dol2asm.h"
#include "dolphin/os.h"
#include "dolphin/types.h"
#include "global.h"
#include "m_Do/m_Do_graphic.h"
#include "stdio.h"
#include "string.h"
//
// Forward References:
//
extern "C" void __ct__11dRes_info_cFv();
extern "C" void __dt__11dRes_info_cFv();
extern "C" void set__11dRes_info_cFPCcPCcUcP7JKRHeap();
extern "C" static void setAlpha__FP16J3DMaterialTable();
extern "C" static void setIndirectTex__FP12J3DModelData();
extern "C" static void setAlpha__FP12J3DModelData();
extern "C" static void addWarpMaterial__FP12J3DModelData();
extern "C" void __ct__11J3DTevStageFRC15J3DTevStageInfo();
extern "C" void setTexMtx__14J3DTexGenBlockFUlP9J3DTexMtx();
extern "C" void onWarpMaterial__11dRes_info_cFP12J3DModelData();
extern "C" void offWarpMaterial__11dRes_info_cFP12J3DModelData();
extern "C" void setWarpSRT__11dRes_info_cFP12J3DModelDataRC4cXyzff();
extern "C" void loaderBasicBmd__11dRes_info_cFUlPv();
extern "C" void __dt__15J3DTevKColorAnmFv();
extern "C" void __ct__15J3DTevKColorAnmFv();
extern "C" void __dt__14J3DTevColorAnmFv();
extern "C" void __ct__14J3DTevColorAnmFv();
extern "C" void __dt__11J3DTexNoAnmFv();
extern "C" void __ct__11J3DTexNoAnmFv();
extern "C" void __dt__12J3DTexMtxAnmFv();
extern "C" void __ct__12J3DTexMtxAnmFv();
extern "C" void __dt__14J3DMatColorAnmFv();
extern "C" void __ct__14J3DMatColorAnmFv();
extern "C" void loadResource__11dRes_info_cFv();
extern "C" void __dt__18J3DAnmTransformKeyFv();
extern "C" void __dt__15J3DAnmTransformFv();
extern "C" void deleteArchiveRes__11dRes_info_cFv();
extern "C" static void getArcHeader__FP10JKRArchive();
extern "C" void setRes__11dRes_info_cFP10JKRArchiveP7JKRHeap();
extern "C" void setRes__11dRes_info_cFv();
extern "C" static void myGetMemBlockSize__FPv();
extern "C" static void myGetMemBlockSize0__FPv();
extern "C" void dump_long__11dRes_info_cFP11dRes_info_ci();
extern "C" void dump__11dRes_info_cFP11dRes_info_ci();
extern "C" void __dt__14dRes_control_cFv();
extern "C" void setRes__14dRes_control_cFPCcP11dRes_info_ciPCcUcP7JKRHeap();
extern "C" void syncRes__14dRes_control_cFPCcP11dRes_info_ci();
extern "C" void deleteRes__14dRes_control_cFPCcP11dRes_info_ci();
extern "C" void getResInfo__14dRes_control_cFPCcP11dRes_info_ci();
extern "C" void newResInfo__14dRes_control_cFP11dRes_info_ci();
extern "C" void getResInfoLoaded__14dRes_control_cFPCcP11dRes_info_ci();
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
extern "C" void getRes__14dRes_control_cFPCcPCcP11dRes_info_ci();
extern "C" void getIDRes__14dRes_control_cFPCcUsP11dRes_info_ci();
extern "C" void syncAllRes__14dRes_control_cFP11dRes_info_ci();
extern "C" void setObjectRes__14dRes_control_cFPCcPvUlP7JKRHeap();
extern "C" void setStageRes__14dRes_control_cFPCcP7JKRHeap();
extern "C" void dump__14dRes_control_cFv();
extern "C" void getObjectResName2Index__14dRes_control_cFPCcPCc();
extern "C" void __dt__10J3DAnmBaseFv();
extern "C" bool getKind__15J3DAnmTransformCFv();
extern "C" void __dt__18mDoExt_transAnmBasFv();
extern "C" s32 getKind__18J3DAnmTransformKeyCFv();
extern "C" void getTransform__18J3DAnmTransformKeyCFUsP16J3DTransformInfo();
extern "C" void calc__11J3DTexNoAnmCFPUs();
extern "C" extern char const* const d_d_resorce__stringBase0;
extern "C" void DCStoreRangeNoSync(void*, u32);
//
// External References:
//
extern "C" void mDoMtx_YrotM__FPA4_fs();
extern "C" void setTevStageInfo__11J3DTevStageFRC15J3DTevStageInfo();
extern "C" void mDoExt_getGameHeap__Fv();
extern "C" void mDoExt_createSolidHeapToCurrent__FUlP7JKRHeapUl();
extern "C" void mDoExt_createSolidHeapFromGameToCurrent__FUlUl();
extern "C" void mDoExt_adjustSolidHeap__FP12JKRSolidHeap();
extern "C" void mDoExt_destroySolidHeap__FP12JKRSolidHeap();
extern "C" void mDoExt_restoreCurrentHeap__Fv();
extern "C" void mDoExt_resIDToIndex__FP10JKRArchiveUs();
extern "C" void create__24mDoDvdThd_mountArchive_cFPCcUcP7JKRHeap();
extern "C" void ConvDzb__4cBgSFPv();
extern "C" void initKCollision__8dBgWKColFPv();
extern "C" void getSize__7JKRHeapFPvP7JKRHeap();
extern "C" void findFromRoot__7JKRHeapFPv();
extern "C" void* __nw__FUl();
extern "C" void* __nwa__FUl();
extern "C" void __dl__FPv();
extern "C" void getIdxResource__10JKRArchiveFUl();
extern "C" void getFileAttribute__10JKRArchiveCFUl();
extern "C" void findIdxResource__10JKRArchiveCFUl();
extern "C" void findNameResource__10JKRArchiveCFPCc();
extern "C" void __ct__13JKRMemArchiveFPvUl15JKRMemBreakFlag();
extern "C" void getName__10JUTNameTabCFUs();
extern "C" void JUTReportConsole_f(const char*, ...);
extern "C" void addResTIMG__10J3DTextureFUsPC7ResTIMG();
extern "C" void addTexMtxIndexInDL__8J3DShapeF7_GXAttrUl();
extern "C" void addTexMtxIndexInVcd__8J3DShapeF7_GXAttr();
extern "C" void __as__13J3DTexMtxInfoFRC13J3DTexMtxInfo();
extern "C" void newSharedDisplayList__12J3DModelDataFUl();
extern "C" void makeSharedDL__12J3DModelDataFv();
extern "C" void simpleCalcMaterial__12J3DModelDataFUsPA4_f();
extern "C" void __ct__15J3DAnmTransformFsPfPsPf();
extern "C" void calcTransform__18J3DAnmTransformKeyCFfUsP16J3DTransformInfo();
extern "C" void getTexNo__16J3DAnmTexPatternCFUsPUs();
extern "C" void initialize__14J3DMaterialAnmFv();
extern "C" void load__24J3DClusterLoaderDataBaseFPCv();
extern "C" void load__22J3DModelLoaderDataBaseFPCvUl();
extern "C" void load__20J3DAnmLoaderDataBaseFPCv24J3DAnmLoaderDataBaseFlag();
extern "C" void setResource__20J3DAnmLoaderDataBaseFP10J3DAnmBasePCv();
extern "C" void __destroy_arr();
extern "C" void __construct_array();
extern "C" void _savegpr_20();
extern "C" void _savegpr_24();
extern "C" void _savegpr_25();
extern "C" void _savegpr_26();
extern "C" void _savegpr_27();
extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
extern "C" void _restgpr_20();
extern "C" void _restgpr_24();
extern "C" void _restgpr_25();
extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern void* __vt__14J3DMaterialAnm[4];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" u8 mFrameBufferTimg__13mDoGph_gInf_c[4];
extern "C" u8 mZbufferTimg__13mDoGph_gInf_c[4];
extern "C" u8 sCurrentHeap__7JKRHeap[4];
/* 8003A260-8003A280 034BA0 0020+00 0/0 1/1 0/0 .text __ct__11dRes_info_cFv */
dRes_info_c::dRes_info_c() {
mCount = 0;
@@ -204,8 +79,6 @@ static void setAlpha(J3DMaterialTable* pMatTable) {
}
}
/* ############################################################################################## */
/* 8003A490-8003A81C 034DD0 038C+00 1/1 0/0 0/0 .text setIndirectTex__FP12J3DModelData */
static void setIndirectTex(J3DModelData* param_0) {
const char* textureName;
@@ -236,7 +109,6 @@ static void setAlpha(J3DModelData* pModelData) {
setAlpha(&pModelData->getMaterialTable());
}
/* ############################################################################################## */
/* 80379840-803798A4 005EA0 0064+00 2/2 0/0 0/0 .rodata l_texMtxInfo */
static const J3DTexMtxInfo l_texMtxInfo = {
0x00,
@@ -251,35 +123,17 @@ static const J3DTexMtxInfo l_texMtxInfo = {
},
};
/* 803798A4-803798B8 005F04 0014+00 1/1 0/0 0/0 .rodata l_tevStageInfo$3774 */
static J3DTevStageInfo const l_tevStageInfo = {
0x05, 0x0F, 0x08, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00,
0x07, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00,
};
/* 80450628-8045062C 0000A8 0004+00 1/1 0/0 0/0 .sdata l_texCoordInfo$3772 */
static J3DTexCoordInfo l_texCoordInfo = {
0x00,
0x00,
0x27,
};
/* 8045062C-80450630 0000AC 0004+00 1/1 0/0 0/0 .sdata l_tevOrderInfo$3773 */
static J3DTevOrderInfo l_tevOrderInfo = {
0x00,
0x03,
0xFF,
0x00,
};
/* 80451DF0-80451DF8 0003F0 0008+00 1/1 0/0 0/0 .sdata2 l_alphaCompInfo$3775 */
SECTION_SDATA2 static J3DAlphaCompInfo l_alphaCompInfo = {
0x04, 0x80, 0x00, 0x03, 0xFF, 0, 0, 0,
};
/* 8003A840-8003AACC 035180 028C+00 1/1 0/0 0/0 .text addWarpMaterial__FP12J3DModelData
*/
// NONMATCHING l_alphaCompInfo needs to be placed in .sdata2, but the function breaks if it is declared const
static void addWarpMaterial(J3DModelData* param_1) {
static J3DTevStageInfo const l_tevStageInfo = {
0x05, 0x0F, 0x08, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00,
0x07, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00,
};
static J3DTexCoordInfo l_texCoordInfo = {0x00, 0x00, 0x27};
static J3DTevOrderInfo l_tevOrderInfo = {0x00, 0x03, 0xFF, 0x00};
ResTIMG* objectRes = (ResTIMG*)dComIfG_getObjectRes("Always", 0x5d);
J3DTexture* texture = param_1->getTexture();
u16 textureNum = texture->getNum();
@@ -309,6 +163,7 @@ static void addWarpMaterial(J3DModelData* param_1) {
pShape->addTexMtxIndexInVcd(attr);
J3DPEBlock* peBlock = pMaterial->getPEBlock();
J3DAlphaComp* alphaComp = peBlock->getAlphaComp();
static J3DAlphaCompInfo const l_alphaCompInfo = {0x04, 0x80, 0x00, 0x03, 0xFF, 0, 0, 0};
alphaComp->setAlphaCompInfo(l_alphaCompInfo);
peBlock->setZCompLoc((u8)0);
}
@@ -366,23 +221,9 @@ void dRes_info_c::setWarpSRT(J3DModelData* modelData, cXyz const& param_1, f32 t
cMtx_concat(l_texMtxInfo.mEffectMtx, stackMtx, texMtxInfo.mEffectMtx);
}
/* ############################################################################################## */
/* 803A7C18-803A7C38 -00001 0020+00 1/1 0/0 0/0 .data @4017 */
SECTION_DATA static void* lit_4017[8] = {
(void*)(((char*)loaderBasicBmd__11dRes_info_cFUlPv) + 0x180),
(void*)(((char*)loaderBasicBmd__11dRes_info_cFUlPv) + 0x130),
(void*)(((char*)loaderBasicBmd__11dRes_info_cFUlPv) + 0x13C),
(void*)(((char*)loaderBasicBmd__11dRes_info_cFUlPv) + 0x148),
(void*)(((char*)loaderBasicBmd__11dRes_info_cFUlPv) + 0x154),
(void*)(((char*)loaderBasicBmd__11dRes_info_cFUlPv) + 0x160),
(void*)(((char*)loaderBasicBmd__11dRes_info_cFUlPv) + 0x16C),
(void*)(((char*)loaderBasicBmd__11dRes_info_cFUlPv) + 0x178),
};
/* 8003AE14-8003B150 035754 033C+00 2/1 1/1 0/0 .text loaderBasicBmd__11dRes_info_cFUlPv
*/
// regalloc
#ifdef NONMATCHING
// NONMATCHING regalloc
J3DModelData* dRes_info_c::loaderBasicBmd(u32 i_type, void* i_data) {
u32 flags = 0x59020010;
J3DMaterial* pMaterial;
@@ -459,127 +300,8 @@ J3DModelData* dRes_info_c::loaderBasicBmd(u32 i_type, void* i_data) {
return modelData;
}
#else
J3DModelData* dRes_info_c::loaderBasicBmd(u32 param_0, void* param_1) {
// NONMATCHING
}
#endif
/* 8003B150-8003B18C 035A90 003C+00 2/2 8/8 0/0 .text __dt__15J3DTevKColorAnmFv */
// J3DTevKColorAnm::~J3DTevKColorAnm() {
extern "C" void __dt__15J3DTevKColorAnmFv() {
// NONMATCHING
}
/* 8003B18C-8003B1A4 035ACC 0018+00 2/2 3/3 0/0 .text __ct__15J3DTevKColorAnmFv */
// J3DTevKColorAnm::J3DTevKColorAnm() {
extern "C" void __ct__15J3DTevKColorAnmFv() {
// NONMATCHING
}
/* 8003B1A4-8003B1E0 035AE4 003C+00 2/2 8/8 0/0 .text __dt__14J3DTevColorAnmFv */
// J3DTevColorAnm::~J3DTevColorAnm() {
extern "C" void __dt__14J3DTevColorAnmFv() {
// NONMATCHING
}
/* 8003B1E0-8003B1F8 035B20 0018+00 2/2 3/3 0/0 .text __ct__14J3DTevColorAnmFv */
// J3DTevColorAnm::J3DTevColorAnm() {
extern "C" void __ct__14J3DTevColorAnmFv() {
// NONMATCHING
}
/* ############################################################################################## */
/* 803A7C38-803A7C48 004D58 0010+00 4/4 22/22 0/0 .data __vt__10J3DAnmBase */
SECTION_DATA extern void* __vt__10J3DAnmBase[4] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__10J3DAnmBaseFv,
(void*)NULL,
};
/* 803A7C48-803A7C5C 004D68 0014+00 3/3 3/3 0/0 .data __vt__15J3DAnmTransform */
SECTION_DATA extern void* __vt__15J3DAnmTransform[5] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__15J3DAnmTransformFv,
(void*)getKind__15J3DAnmTransformCFv,
(void*)NULL,
};
/* 803A7C5C-803A7C70 004D7C 0014+00 2/2 1/1 0/0 .data __vt__18mDoExt_transAnmBas */
SECTION_DATA extern void* __vt__18mDoExt_transAnmBas[5] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__18mDoExt_transAnmBasFv,
(void*)getKind__18J3DAnmTransformKeyCFv,
(void*)getTransform__18J3DAnmTransformKeyCFUsP16J3DTransformInfo,
};
/* 803A7C70-803A7C84 004D90 0014+00 3/3 2/2 0/0 .data __vt__18J3DAnmTransformKey */
SECTION_DATA extern void* __vt__18J3DAnmTransformKey[5] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__18J3DAnmTransformKeyFv,
(void*)getKind__18J3DAnmTransformKeyCFv,
(void*)getTransform__18J3DAnmTransformKeyCFUsP16J3DTransformInfo,
};
/* 803A7C84-803A7C90 004DA4 000C+00 2/2 1/1 0/0 .data __vt__11J3DTexNoAnm */
SECTION_DATA extern void* __vt__11J3DTexNoAnm[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)calc__11J3DTexNoAnmCFPUs,
};
/* 8003B1F8-8003B240 035B38 0048+00 2/2 8/8 0/0 .text __dt__11J3DTexNoAnmFv */
// J3DTexNoAnm::~J3DTexNoAnm() {
extern "C" void __dt__11J3DTexNoAnmFv() {
// NONMATCHING
}
/* 8003B240-8003B264 035B80 0024+00 2/2 3/3 0/0 .text __ct__11J3DTexNoAnmFv */
// J3DTexNoAnm::J3DTexNoAnm() {
extern "C" void __ct__11J3DTexNoAnmFv() {
// NONMATCHING
}
/* 8003B264-8003B2A0 035BA4 003C+00 2/2 8/8 0/0 .text __dt__12J3DTexMtxAnmFv */
// J3DTexMtxAnm::~J3DTexMtxAnm() {
extern "C" void __dt__12J3DTexMtxAnmFv() {
// NONMATCHING
}
/* 8003B2A0-8003B2B8 035BE0 0018+00 2/2 3/3 0/0 .text __ct__12J3DTexMtxAnmFv */
// J3DTexMtxAnm::J3DTexMtxAnm() {
extern "C" void __ct__12J3DTexMtxAnmFv() {
// NONMATCHING
}
/* 8003B2B8-8003B2F4 035BF8 003C+00 2/2 8/8 0/0 .text __dt__14J3DMatColorAnmFv */
// J3DMatColorAnm::~J3DMatColorAnm() {
extern "C" void __dt__14J3DMatColorAnmFv() {
// NONMATCHING
}
/* 8003B2F4-8003B30C 035C34 0018+00 2/2 3/3 0/0 .text __ct__14J3DMatColorAnmFv */
// J3DMatColorAnm::J3DMatColorAnm() {
extern "C" void __ct__14J3DMatColorAnmFv() {
// NONMATCHING
}
/* ############################################################################################## */
/* 803798B8-803798B8 005F18 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_803798E2 =
"<%s.arc> setRes: res pointer buffer nothing !!\n";
SECTION_DEAD static char const* const stringBase_80379912 = "<%s> res == NULL !!\n";
#pragma pop
/* 8003B30C-8003B8D0 035C4C 05C4+00 2/2 0/0 0/0 .text loadResource__11dRes_info_cFv */
// J3DXXX ctor/dtor inlines
#ifdef NONMATCHING
int dRes_info_c::loadResource() {
s32 file_num = mArchive->countFile();
mRes = new void*[file_num];
@@ -724,23 +446,6 @@ int dRes_info_c::loadResource() {
return 0;
}
#else
int dRes_info_c::loadResource() {
// NONMATCHING
}
#endif
/* 8003B8D0-8003B93C 036210 006C+00 1/0 0/0 0/0 .text __dt__18J3DAnmTransformKeyFv */
extern "C" void __dt__18J3DAnmTransformKeyFv() {
// asm J3DAnmTransformKey::~J3DAnmTransformKey() {
// NONMATCHING
}
/* 8003B93C-8003B998 03627C 005C+00 1/0 0/0 0/0 .text __dt__15J3DAnmTransformFv */
extern "C" void __dt__15J3DAnmTransformFv() {
// asm J3DAnmTransform::~J3DAnmTransform() {
// NONMATCHING
}
/* 8003B998-8003BA9C 0362D8 0104+00 1/1 0/0 0/0 .text deleteArchiveRes__11dRes_info_cFv
*/
@@ -861,12 +566,11 @@ static s32 myGetMemBlockSize0(void* param_0) {
return size;
}
/* ############################################################################################## */
/* 803798B8-803798B8 005F18 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_8037997F = "%5.1f %5x %5.1f %5x %3d %s\n";
#pragma pop
// Fixes string data and float literal order
f32 dummy(int x) {
DEAD_STRING("%5.1f %5x %5.1f %5x %3d %s\n");
return x;
}
/* 8003BD2C-8003BE38 03666C 010C+00 1/1 0/0 0/0 .text dump_long__11dRes_info_cFP11dRes_info_ci */
void dRes_info_c::dump_long(dRes_info_c* param_0, int param_1) {
@@ -907,34 +611,9 @@ void dRes_info_c::dump_long(dRes_info_c* param_0, int param_1) {
}
}
/* ############################################################################################## */
/* 803798B8-803798B8 005F18 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80379A38 = "dRes_info_c::dump %08x %d\n";
SECTION_DEAD static char const* const stringBase_80379A53 =
"No ArchiveSize(KB) SolidHeapSize(KB) Cnt Archive"
"Name\n";
SECTION_DEAD static char const* const stringBase_80379A89 = "%2d %6.1f %6x %6.1f %6x %3d %s\n";
SECTION_DEAD static char const* const stringBase_80379AA9 =
"----------------------------------------------\n "
" %6.1f %6x %6.1f %6x Total\n\n";
#pragma pop
/* 80451DF8-80451E00 0003F8 0008+00 1/1 0/0 0/0 .sdata2 @4277 */
SECTION_SDATA2 static f64 lit_4277 = 4503601774854144.0 /* cast s32 to float */;
/* 80451E00-80451E08 000400 0004+04 1/1 0/0 0/0 .sdata2 @4333 */
SECTION_SDATA2 static f32 lit_4333[1 + 1 /* padding */] = {
0.0009765625f,
/* padding */
0.0f,
};
/* 8003BE38-8003BFB0 036778 0178+00 1/1 0/0 0/0 .text dump__11dRes_info_cFP11dRes_info_ci
*/
// float literal order
#ifdef NONMATCHING
// NONMATCHING float literal order
void dRes_info_c::dump(dRes_info_c* param_0, int param_1) {
int totalArcHeaderSize;
int totalHeapSize;
@@ -962,11 +641,6 @@ void dRes_info_c::dump(dRes_info_c* param_0, int param_1) {
"----------------------------------------------\n %6.1f %6x %6.1f %6x Total\n\n",
totalArcHeaderSize / 1024.0f, totalArcHeaderSize, totalHeapSize / 1024.0f, totalHeapSize);
}
#else
void dRes_info_c::dump(dRes_info_c* param_0, int param_1) {
// NONMATCHING
}
#endif
/* 8003BFB0-8003C078 0368F0 00C8+00 0/0 1/1 0/0 .text __dt__14dRes_control_cFv */
dRes_control_c::~dRes_control_c() {
@@ -979,8 +653,6 @@ dRes_control_c::~dRes_control_c() {
}
}
/* ############################################################################################## */
/* 8003C078-8003C160 0369B8 00E8+00 2/2 8/8 0/0 .text
* setRes__14dRes_control_cFPCcP11dRes_info_ciPCcUcP7JKRHeap */
int dRes_control_c::setRes(char const* arcName, dRes_info_c* pInfo, int infoSize,
@@ -1084,8 +756,6 @@ dRes_info_c* dRes_control_c::getResInfoLoaded(char const* arcName, dRes_info_c*
return resInfo;
}
/* ############################################################################################## */
/* 8003C2EC-8003C37C 036C2C 0090+00 1/1 54/54 894/894 .text
* getRes__14dRes_control_cFPCclP11dRes_info_ci */
void* dRes_control_c::getRes(char const* arcName, s32 resIdx, dRes_info_c* pInfo, int infoSize) {
@@ -1216,39 +886,3 @@ int dRes_control_c::getObjectResName2Index(char const* arcName, char const* para
}
}
}
/* 8003C734-8003C77C 037074 0048+00 1/0 0/0 0/0 .text __dt__10J3DAnmBaseFv */
extern "C" void __dt__10J3DAnmBaseFv() {
// asm J3DAnmBase::~J3DAnmBase() {
// NONMATCHING
}
/* 8003C77C-8003C784 0370BC 0008+00 1/0 0/0 0/0 .text getKind__15J3DAnmTransformCFv */
s32 J3DAnmTransform::getKind() const {
return 0;
}
/* 8003C784-8003C800 0370C4 007C+00 1/0 0/0 0/0 .text __dt__18mDoExt_transAnmBasFv */
// mDoExt_transAnmBas::~mDoExt_transAnmBas() {
extern "C" void __dt__18mDoExt_transAnmBasFv() {
// NONMATCHING
}
/* 8003C800-8003C808 037140 0008+00 2/0 0/0 0/0 .text getKind__18J3DAnmTransformKeyCFv */
s32 J3DAnmTransformKey::getKind() const {
return 8;
}
/* 8003C808-8003C82C 037148 0024+00 2/0 0/0 0/0 .text
* getTransform__18J3DAnmTransformKeyCFUsP16J3DTransformInfo */
void J3DAnmTransformKey::getTransform(u16 param_0, J3DTransformInfo* param_1) const {
// NONMATCHING
}
/* 8003C82C-8003C85C 03716C 0030+00 1/0 0/0 0/0 .text calc__11J3DTexNoAnmCFPUs */
// void J3DTexNoAnm::calc(u16* param_0) const {
extern "C" void calc__11J3DTexNoAnmCFPUs() {
// NONMATCHING
}
/* 803798B8-803798B8 005F18 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
+2 -4
View File
@@ -43,8 +43,6 @@ static int phase_5(dScnPly_c*);
static int phase_6(dScnPly_c*);
static int phase_compleate(void*);
extern "C" s8 func_80252E70(s8*);
/* 804510F8-80451100 0005F8 0008+00 2/2 0/0 0/0 .sbss resPhase */
static request_of_phase_process_class resPhase[1];
@@ -76,7 +74,7 @@ s8 dScnPly_c::calcPauseTimer() {
nextPauseTimer = 0;
return pauseTimer;
} else {
return func_80252E70(&pauseTimer); // cLib_calcTimer<s8> : 80252E70
return cLib_calcTimer<s8>(&pauseTimer);
}
}
@@ -776,4 +774,4 @@ scene_process_profile_definition g_profile_OPENING_SCENE = {
0, // mParameters
&g_fopScn_Method.mBase, // sub_method
(process_method_class*)&l_dScnPly_Method, // mpMtd
};
};
+2 -42
View File
@@ -8,34 +8,8 @@
#include "JSystem/JUtility/JUTGamePad.h"
#include "stdio.h"
#include "d/d_meter2_info.h"
#include "dol2asm.h"
#include "d/actor/d_a_obj_carry.h"
//
// Forward References:
//
extern "C" void setItem__17dSv_player_item_cFiUc();
extern "C" void getItem__17dSv_player_item_cCFib();
extern "C" void isFirstBit__21dSv_player_get_item_cCFUc();
extern "C" void onEventBit__11dSv_event_cFUs();
extern "C" void offEventBit__11dSv_event_cFUs();
extern "C" void isEventBit__11dSv_event_cCFUs();
extern "C" extern char const* const d_save_d_save__stringBase0;
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
//
// External References:
//
extern "C" void _savegpr_22();
extern "C" void _restgpr_22();
extern "C" void __div2i();
//
// Declarations:
//
/* 80032918-80032958 02D258 0040+00 4/4 0/0 0/0 .text dSv_item_rename__FUc */
static u8 dSv_item_rename(u8 i_itemNo) {
switch (i_itemNo) {
@@ -1674,17 +1648,8 @@ BOOL dSv_info_c::isActor(int i_id, int i_roomNo) const {
return mZone[zoneNo].getActor().is(i_id);
}
/* ############################################################################################## */
/* 80379234-80379234 005894 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_8037925D = "Write size:%d\n";
SECTION_DEAD static char const* const stringBase_8037926C = "SAVE size:%d\n";
#pragma pop
/* 80035798-80035A04 0300D8 026C+00 0/0 1/1 0/0 .text memory_to_card__10dSv_info_cFPci */
// regalloc
#ifdef NONMATCHING
// NONMATCHING regalloc
int dSv_info_c::memory_to_card(char* card_ptr, int dataNum) {
BOOL lantern_stolen;
BOOL lantern_dropped;
@@ -1761,11 +1726,6 @@ int dSv_info_c::memory_to_card(char* card_ptr, int dataNum) {
printf("SAVE size:%d\n", sizeof(dSv_save_c));
return 0;
}
#else
int dSv_info_c::memory_to_card(char* card_ptr, int dataNum) {
// NONMATCHING
}
#endif
/* 80035A04-80035BD0 030344 01CC+00 0/0 2/2 0/0 .text card_to_memory__10dSv_info_cFPci */
int dSv_info_c::card_to_memory(char* i_cardPtr, int i_dataNum) {
@@ -1847,4 +1807,4 @@ u16 const dSv_event_tmp_flag_c::tempBitLabels[185] = {
CAT_11, CAT_12, CAT_13, CAT_14, CAT_15, CAT_16, CAT_17, CAT_18, CAT_19, CAT_20, GUARD_URI,
Hanch_CLIMBOUT_POND, NODRAW_STAGE_NAME, NO_TELOP, T_0175, T_0176, T_0177, T_0178,
T_0179, T_0180, T_0181, T_0182, T_0183, SHA_DBG
};
};
+7 -159
View File
@@ -3,71 +3,23 @@
// Translation Unit: d/d_scope
//
#define NO_INLINE_DLSTBASE_DRAW
#include "d/d_scope.h"
#include "JSystem/J2DGraph/J2DScreen.h"
#include "JSystem/JUtility/JUTTexture.h"
#include "d/d_com_inf_game.h"
#include "d/d_meter2_info.h"
#include "dol2asm.h"
#include "JSystem/J2DGraph/J2DGrafContext.h"
#include "m_Do/m_Do_graphic.h"
#include "JSystem/J2DGraph/J2DOrthoGraph.h"
//
// Forward References:
//
extern "C" void __ct__8dScope_cFUc();
extern "C" void __ct__Q28JUtility6TColorFv();
extern "C" void __dt__8dScope_cFv();
extern "C" void _execute__8dScope_cFUl();
extern "C" void draw__8dScope_cFv();
extern "C" void isDead__8dScope_cFv();
extern "C" void open_init__8dScope_cFv();
extern "C" void open_proc__8dScope_cFv();
extern "C" void move_init__8dScope_cFv();
extern "C" void move_proc__8dScope_cFv();
extern "C" void close_init__8dScope_cFv();
extern "C" void close_proc__8dScope_cFv();
extern "C" void __dt__11dMeterSub_cFv();
extern "C" int _create__11dMeterSub_cFv();
extern "C" int _delete__11dMeterSub_cFv();
extern "C" void draw__11dMeterSub_cFv();
extern "C" int _execute__11dMeterSub_cFUl();
extern "C" int isDead__11dMeterSub_cFv();
extern "C" void __sinit_d_scope_cpp();
extern "C" extern char const* const d_d_scope__stringBase0;
//
// External References:
//
extern "C" void* __nw__FUl();
extern "C" void __dl__FPv();
extern "C" void J2DDrawLine__FffffQ28JUtility6TColori();
extern "C" void __ct__10J2DPictureFPC7ResTIMG();
extern "C" void __construct_array();
extern "C" void __ptmf_scall();
extern "C" void _savegpr_23();
extern "C" void _savegpr_29();
extern "C" void _restgpr_23();
extern "C" void _restgpr_29();
extern "C" extern void* __vt__12dDlst_base_c[3];
//
// Declarations:
//
/* 803BB618-803BB624 018738 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
static u8 cNullVec__6Z2Calc[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 803BB648-803BB66C 018768 0024+00 2/3 0/0 0/0 .data init_process */
typedef void (dScope_c::*initFunc)();
SECTION_DATA initFunc init_process[] = {
initFunc init_process[] = {
&dScope_c::open_init,
&dScope_c::move_init,
&dScope_c::close_init,
@@ -75,25 +27,12 @@ SECTION_DATA initFunc init_process[] = {
/* 803BB690-803BB6B4 0187B0 0024+00 1/2 0/0 0/0 .data move_process */
typedef void (dScope_c::*moveFunc)();
SECTION_DATA moveFunc move_process[] = {
moveFunc move_process[] = {
&dScope_c::open_proc,
&dScope_c::move_proc,
&dScope_c::close_proc,
};
/* 80453A10-80453A14 002010 0004+00 4/4 0/0 0/0 .sdata2 @3756 */
SECTION_SDATA2 static f32 lit_3756 = 3.0f;
/* 80453A14-80453A18 002014 0004+00 4/4 0/0 0/0 .sdata2 @3757 */
SECTION_SDATA2 static u8 lit_3757[4] = {
0x00,
0x00,
0x00,
0x00,
};
extern void* __vt__11dMeterSub_c[8 + 3 /* padding */];
/* 80193690-80193960 18DFD0 02D0+00 0/0 1/1 0/0 .text __ct__8dScope_cFUc */
dScope_c::dScope_c(u8 param_0) : field_0x58(-1), field_0x5c(-1) {
field_0x8d = param_0;
@@ -122,8 +61,8 @@ dScope_c::dScope_c(u8 param_0) : field_0x58(-1), field_0x5c(-1) {
mp_image = (ResTIMG*)dComIfGp_getMain2DArchive()->getResource('TIMG', "tt_block8x8.bti");
mpBlackTex = new J2DPicture(mp_image);
mpBlackTex->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 0, 0, 255));
mScale = lit_3756;
mAlpha = FLOAT_LABEL(lit_3757);
mScale = 3.0f;
mAlpha = 0.0f;
mOpenTimer = 0;
field_0x8a = 0;
mProcess = PROC_OPEN;
@@ -131,30 +70,6 @@ dScope_c::dScope_c(u8 param_0) : field_0x58(-1), field_0x5c(-1) {
(this->*init_process[mProcess])();
}
/* 803BB6B4-803BB6D4 0187D4 0020+00 2/2 0/0 0/0 .data __vt__8dScope_c */
SECTION_DATA extern void* __vt__8dScope_c[8] = {
(void*)NULL /* RTTI */, (void*)NULL,
(void*)draw__8dScope_cFv, (void*)__dt__8dScope_cFv,
(void*)_create__11dMeterSub_cFv, (void*)_execute__8dScope_cFUl,
(void*)_delete__11dMeterSub_cFv, (void*)isDead__8dScope_cFv,
};
/* 803BB6D4-803BB700 0187F4 0020+0C 3/3 6/6 0/0 .data __vt__11dMeterSub_c */
SECTION_DATA extern void* __vt__11dMeterSub_c[8 + 3 /* padding */] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)draw__11dMeterSub_cFv,
(void*)__dt__11dMeterSub_cFv,
(void*)_create__11dMeterSub_cFv,
(void*)_execute__11dMeterSub_cFUl,
(void*)_delete__11dMeterSub_cFv,
(void*)isDead__11dMeterSub_cFv,
/* padding */
NULL,
NULL,
NULL,
};
/* 8019396C-80193B90 18E2AC 0224+00 1/0 0/0 0/0 .text __dt__8dScope_cFv */
dScope_c::~dScope_c() {
if (mHawkEyeScrn != NULL) {
@@ -226,22 +141,6 @@ int dScope_c::_execute(u32) {
return 1;
}
/* ############################################################################################## */
/* 80453A20-80453A24 002020 0004+00 1/1 0/0 0/0 .sdata2 @3879 */
SECTION_SDATA2 static f32 lit_3879 = 255.0f;
/* 80453A24-80453A28 002024 0004+00 1/1 0/0 0/0 .sdata2 @3880 */
SECTION_SDATA2 static f32 lit_3880 = 304.0f;
/* 80453A28-80453A2C 002028 0004+00 1/1 0/0 0/0 .sdata2 @3881 */
SECTION_SDATA2 static f32 lit_3881 = 448.0f;
/* 80453A2C-80453A30 00202C 0004+00 1/1 0/0 0/0 .sdata2 @3882 */
SECTION_SDATA2 static f32 lit_3882 = 224.0f;
/* 80453A30-80453A34 002030 0004+00 1/1 0/0 0/0 .sdata2 @3883 */
SECTION_SDATA2 static f32 lit_3883 = 608.0f;
/* 80193C68-80193FA0 18E5A8 0338+00 1/0 0/0 0/0 .text draw__8dScope_cFv */
void dScope_c::draw() {
dComIfGp_getCurrentGrafPort()->setup2D();
@@ -289,24 +188,11 @@ bool dScope_c::isDead() {
/* 80193FB4-80193FD0 18E8F4 001C+00 1/0 0/0 0/0 .text open_init__8dScope_cFv */
void dScope_c::open_init() {
mScale = lit_3756;
mAlpha = FLOAT_LABEL(lit_3757);
mScale = 3.0f;
mAlpha = 0.0f;
mOpenTimer = 0;
}
/* ############################################################################################## */
/* 80453A34-80453A38 002034 0004+00 2/2 0/0 0/0 .sdata2 @3902 */
SECTION_SDATA2 static f32 lit_3902 = 1.5f;
/* 80453A38-80453A3C 002038 0004+00 2/2 0/0 0/0 .sdata2 @3903 */
SECTION_SDATA2 static f32 lit_3903 = 5.0f;
/* 80453A3C-80453A40 00203C 0004+00 2/2 0/0 0/0 .sdata2 @3904 */
SECTION_SDATA2 static f32 lit_3904 = 1.0f;
/* 80453A40-80453A48 002040 0008+00 2/2 0/0 0/0 .sdata2 @3906 */
SECTION_SDATA2 static f64 lit_3906 = 4503601774854144.0 /* cast s32 to float */;
/* 80193FD0-80194048 18E910 0078+00 1/0 0/0 0/0 .text open_proc__8dScope_cFv */
void dScope_c::open_proc() {
mOpenTimer++;
@@ -320,7 +206,6 @@ void dScope_c::open_proc() {
}
}
/* 80194048-8019404C 18E988 0004+00 1/0 0/0 0/0 .text move_init__8dScope_cFv */
void dScope_c::move_init() {}
@@ -342,40 +227,3 @@ void dScope_c::close_proc() {
mIsDead = true;
}
}
/* 801940D4-8019411C 18EA14 0048+00 1/0 0/0 0/0 .text __dt__11dMeterSub_cFv */
// dMeterSub_c::~dMeterSub_c() {
extern "C" void __dt__11dMeterSub_cFv() {
// NONMATCHING
}
/* 8019411C-80194124 18EA5C 0008+00 2/0 0/0 0/0 .text _create__11dMeterSub_cFv */
// int dMeterSub_c::_create() {
extern "C" int _create__11dMeterSub_cFv() {
return false;
}
/* 80194124-8019412C 18EA64 0008+00 2/0 0/0 0/0 .text _delete__11dMeterSub_cFv */
// int dMeterSub_c::_delete() {
extern "C" int _delete__11dMeterSub_cFv() {
return false;
}
/* 8019412C-80194130 18EA6C 0004+00 1/0 0/0 0/0 .text draw__11dMeterSub_cFv */
// void dMeterSub_c::draw() {
extern "C" void draw__11dMeterSub_cFv() {
/* empty function */
}
/* 80194130-80194138 18EA70 0008+00 1/0 0/0 0/0 .text _execute__11dMeterSub_cFUl */
// int dMeterSub_c::_execute(u32 param_0) {
extern "C" int _execute__11dMeterSub_cFUl() {
return false;
}
/* 80194138-80194140 18EA78 0008+00 1/0 3/0 0/0 .text isDead__11dMeterSub_cFv */
// int dMeterSub_c::isDead() {
extern "C" int isDead__11dMeterSub_cFv() {
return false;
}
+56 -263
View File
@@ -4,189 +4,16 @@
//
#include "d/d_select_cursor.h"
#include "JSystem/J2DGraph/J2DGrafContext.h"
#include "d/d_com_inf_game.h"
#include "JSystem/J2DGraph/J2DAnimation.h"
#include "JSystem/J2DGraph/J2DAnmLoader.h"
#include "dol2asm.h"
#include "global.h"
//
// Types:
//
//
// Forward References:
//
extern "C" void __ct__19dSelect_cursorHIO_cFv();
extern "C" void __ct__16dSelect_cursor_cFUcfP10JKRArchive();
extern "C" void __dt__16dSelect_cursor_cFv();
extern "C" void draw__16dSelect_cursor_cFv();
extern "C" void update__16dSelect_cursor_cFv();
extern "C" void setPos__16dSelect_cursor_cFffP7J2DPaneb();
extern "C" void setParam__16dSelect_cursor_cFfffff();
extern "C" void setScale__16dSelect_cursor_cFf();
extern "C" void setAlphaRate__16dSelect_cursor_cFf();
extern "C" void addAlpha__16dSelect_cursor_cFv();
extern "C" void decAlpha__16dSelect_cursor_cFv();
extern "C" void setBpkAnimation__16dSelect_cursor_cFP11J2DAnmColor();
extern "C" void setBtk0Animation__16dSelect_cursor_cFP19J2DAnmTextureSRTKey();
extern "C" void setCursorAnimation__16dSelect_cursor_cFv();
extern "C" void setBckAnimation__16dSelect_cursor_cFP18J2DAnmTransformKey();
extern "C" void moveCenter__16dSelect_cursor_cFP7J2DPaneff();
extern "C" void __dt__19dSelect_cursorHIO_cFv();
extern "C" void __dt__18J2DAnmTransformKeyFv();
extern "C" extern char const* const d_d_select_cursor__stringBase0;
//
// External References:
//
extern "C" void animation__14dSelect_icon_cFv();
extern "C" void setAlpha__14dSelect_icon_cFUc();
extern "C" void setPos__14dSelect_icon_cFP7J2DPaneff();
extern "C" void __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap();
extern "C" void getGlobalVtxCenter__8CPaneMgrFP7J2DPanebs();
extern "C" void dPaneClass_showNullPane__FP9J2DScreen();
extern "C" void show__13CPaneMgrAlphaFv();
extern "C" void hide__13CPaneMgrAlphaFv();
extern "C" void isVisible__13CPaneMgrAlphaFv();
extern "C" void setAlphaRate__13CPaneMgrAlphaFf();
extern "C" void getAlphaRate__13CPaneMgrAlphaFv();
extern "C" void* __nw__FUl();
extern "C" void __dl__FPv();
extern "C" void getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader();
extern "C" void __ct__9J2DScreenFv();
extern "C" void setPriority__9J2DScreenFPCcUlP10JKRArchive();
extern "C" void draw__9J2DScreenFffPC14J2DGrafContext();
extern "C" void animation__9J2DScreenFv();
extern "C" void load__20J2DAnmLoaderDataBaseFPCv();
extern "C" void _savegpr_23();
extern "C" void _savegpr_26();
extern "C" void _savegpr_27();
extern "C" void _savegpr_29();
extern "C" void _restgpr_23();
extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_29();
extern "C" extern void* __vt__12dDlst_base_c[3];
extern "C" extern void* __vt__10J2DAnmBase[4];
extern "C" extern void* __vt__15J2DAnmTransform[5 + 4 /* padding */];
extern "C" extern void* __vt__18J2DAnmTransformKey[6];
//
// Declarations:
//
/* ############################################################################################## */
/* 80394AA0-80394AA0 021100 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
/* 803BB700-803BB70C 018820 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
static u8 cNullVec__6Z2Calc[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 803BB70C-803BB71C -00001 0010+00 0/1 0/0 0/0 .data blo_name$3684 */
#pragma push
#pragma force_active on
SECTION_DATA static char* blo_name[4] = {
"zelda_select_cursor_4parts.blo",
"zelda_store_select_icon.blo",
"zelda_map_screen_portal_icon.blo",
"zelda_map_screen_batsumark.blo",
};
#pragma pop
/* 803BB71C-803BB72C -00001 0010+00 0/1 0/0 0/0 .data bck_name$3685 */
#pragma push
#pragma force_active on
SECTION_DATA static char* bck_name[4] = {
"",
"zelda_store_select_icon.bck",
"",
"",
};
#pragma pop
/* 803BB72C-803BB73C -00001 0010+00 0/1 0/0 0/0 .data bpk_name$3686 */
#pragma push
#pragma force_active on
SECTION_DATA static char* bpk_name[4] = {
"zelda_select_cursor_4parts.bpk",
"zelda_store_select_icon.bpk",
"zelda_map_screen_portal_icon.bpk",
"zelda_map_screen_batsumark.bpk",
};
#pragma pop
/* 803BB73C-803BB74C -00001 0010+00 0/1 0/0 0/0 .data btk_name$3687 */
#pragma push
#pragma force_active on
SECTION_DATA static char* btk_name[4] = {
"zelda_select_cursor_4parts.btk",
"zelda_store_select_icon.btk",
"",
"",
};
#pragma pop
/* 803BB74C-803BB78C -00001 0010+30 0/1 0/0 0/0 .data btk2_name$3688 */
#pragma push
#pragma force_active on
SECTION_DATA static char* btk2_name[4 + 12 /* padding */] = {
"",
"zelda_store_select_icon_02.btk",
"",
"",
/* padding */
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
};
#pragma pop
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const pad_80394C0D = "\0\0";
#pragma pop
/* 803BB78C-803BB7A8 0188AC 0010+0C 2/2 0/0 0/0 .data __vt__16dSelect_cursor_c */
SECTION_DATA extern void* __vt__16dSelect_cursor_c[4 + 3 /* padding */] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)draw__16dSelect_cursor_cFv,
(void*)__dt__16dSelect_cursor_cFv,
/* padding */
NULL,
NULL,
NULL,
};
/* 803BB7A8-803BB7B8 0188C8 000C+04 2/2 0/0 0/0 .data __vt__19dSelect_cursorHIO_c */
SECTION_DATA extern void* __vt__19dSelect_cursorHIO_c[3 + 1 /* padding */] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__19dSelect_cursorHIO_cFv,
/* padding */
NULL,
};
/* 80453A48-80453A4C 002048 0004+00 4/4 0/0 0/0 .sdata2 @3673 */
SECTION_SDATA2 static f32 lit_3673 = 1.0f;
/* 80453A4C-80453A50 00204C 0004+00 1/1 0/0 0/0 .sdata2 @3674 */
SECTION_SDATA2 static f32 lit_3674 = 3.0f / 10.0f;
/* 801941E4-80194220 18EB24 003C+00 1/1 0/0 0/0 .text __ct__19dSelect_cursorHIO_cFv */
dSelect_cursorHIO_c::dSelect_cursorHIO_c() {
field_0x8 = 1.0f;
@@ -199,25 +26,44 @@ dSelect_cursorHIO_c::dSelect_cursorHIO_c() {
mDebugON = false;
}
/* ############################################################################################## */
/* 80394A10-80394A30 021070 0020+00 1/1 0/0 0/0 .rodata corner_tag$3707 */
SECTION_RODATA static u64 const corner_tag[4] = {
'l_u_null', 'l_d_null', 'r_u_null', 'r_d_null',
};
COMPILER_STRIP_GATE(0x80394A10, &corner_tag);
/* 80453A50-80453A54 002050 0004+00 4/4 0/0 0/0 .sdata2 @3808 */
SECTION_SDATA2 static u8 lit_3808[4] = {
0x00,
0x00,
0x00,
0x00,
};
/* 80194220-801949EC 18EB60 07CC+00 0/0 14/14 0/0 .text __ct__16dSelect_cursor_cFUcfP10JKRArchive
*/
dSelect_cursor_c::dSelect_cursor_c(u8 param_0, f32 param_1, JKRArchive* param_2) {
static char* blo_name[4] = {
"zelda_select_cursor_4parts.blo",
"zelda_store_select_icon.blo",
"zelda_map_screen_portal_icon.blo",
"zelda_map_screen_batsumark.blo",
};
static char* bck_name[4] = {
"",
"zelda_store_select_icon.bck",
"",
"",
};
static char* bpk_name[4] = {
"zelda_select_cursor_4parts.bpk",
"zelda_store_select_icon.bpk",
"zelda_map_screen_portal_icon.bpk",
"zelda_map_screen_batsumark.bpk",
};
static char* btk_name[4] = {
"zelda_select_cursor_4parts.btk",
"zelda_store_select_icon.btk",
"",
"",
};
static char* btk2_name[4 + 12 /* padding */] = {
"",
"zelda_store_select_icon_02.btk",
"",
"",
};
mpCursorHIO = new dSelect_cursorHIO_c();
mpCursorHIO->field_0x4 = -1;
mNameIdx = 0;
@@ -257,7 +103,7 @@ dSelect_cursor_c::dSelect_cursor_c(u8 param_0, f32 param_1, JKRArchive* param_2)
}
mpScreen = new J2DScreen();
mpScreen->setPriority((char*) blo_name[mNameIdx], 0x20000, param_2);
mpScreen->setPriority(blo_name[mNameIdx], 0x20000, param_2);
dPaneClass_showNullPane(mpScreen);
for (int i = 0; i < 4; i++) {
@@ -270,10 +116,11 @@ dSelect_cursor_c::dSelect_cursor_c(u8 param_0, f32 param_1, JKRArchive* param_2)
mpPaneMgr->hide();
mpPaneMgr->setAlpha(0);
static u64 const corner_tag[4] = {'l_u_null', 'l_d_null', 'r_u_null', 'r_d_null'};
for (int i = 0; i< 4; i++) {
field_0x1C[i] = new CPaneMgr(mpScreen, ((u64*)corner_tag)[i], 0, NULL);
field_0x94[i] = mpScreen->search( ((u64*)corner_tag)[i])->getTranslateX();
field_0xa4[i] = mpScreen->search( ((u64*)corner_tag)[i])->getTranslateY();
field_0x1C[i] = new CPaneMgr(mpScreen, corner_tag[i], 0, NULL);
field_0x94[i] = mpScreen->search(corner_tag[i])->getTranslateX();
field_0xa4[i] = mpScreen->search(corner_tag[i])->getTranslateY();
field_0x74[i] = field_0x94[i];
field_0x84[i] = field_0xa4[i];
}
@@ -407,7 +254,7 @@ dSelect_cursor_c::~dSelect_cursor_c() {
}
/* 80194C30-80194CC0 18F570 0090+00 1/0 0/0 0/0 .text draw__16dSelect_cursor_cFv */
#ifdef NONMATCHING
// NONMATCHING
void dSelect_cursor_c::draw() {
mpPaneMgr->getAlphaRate();
update();
@@ -418,19 +265,6 @@ void dSelect_cursor_c::draw() {
mpSelectIcon->drawSelf(); // inline here, but not sure how to properly define it
}
}
#else
// void dSelect_cursor_c::draw() {
extern "C" void draw__16dSelect_cursor_cFv() {
// NONMATCHING
}
#endif
/* ############################################################################################## */
/* 80453A54-80453A58 002054 0004+00 3/3 0/0 0/0 .sdata2 @4062 */
SECTION_SDATA2 static f32 lit_4062 = 0.5f;
/* 80453A58-80453A60 002058 0008+00 3/3 0/0 0/0 .sdata2 @4064 */
SECTION_SDATA2 static f64 lit_4064 = 4503601774854144.0 /* cast s32 to float */;
/* 80194CC0-801950F4 18F600 0434+00 1/1 0/0 0/0 .text update__16dSelect_cursor_cFv */
void dSelect_cursor_c::update() {
@@ -525,11 +359,6 @@ void dSelect_cursor_c::update() {
}
}
/* ############################################################################################## */
/* 80453A60-80453A64 002060 0004+00 1/1 0/0 0/0 .sdata2 @4089 */
SECTION_SDATA2 static f32 lit_4089 = -1.0f;
/* 801950F4-801951B0 18FA34 00BC+00 0/0 30/30 0/0 .text setPos__16dSelect_cursor_cFffP7J2DPaneb */
void dSelect_cursor_c::setPos(f32 i_posX, f32 i_posY, J2DPane* i_pane, bool i_scaleBounds) {
mpPane = i_pane;
@@ -566,7 +395,6 @@ void dSelect_cursor_c::setPos(f32 i_posX, f32 i_posY, J2DPane* i_pane, bool i_sc
}
/* 801951B0-801951C8 18FAF0 0018+00 0/0 24/24 0/0 .text setParam__16dSelect_cursor_cFfffff */
void dSelect_cursor_c::setParam(f32 i_param1, f32 i_param2, f32 i_param3, f32 i_param4,
f32 i_param5) {
@@ -596,15 +424,14 @@ void dSelect_cursor_c::setScale(f32 i_scale) {
}
}
/* 801952A0-80195330 18FBE0 0090+00 0/0 77/77 0/0 .text setAlphaRate__16dSelect_cursor_cFf */
void dSelect_cursor_c::setAlphaRate(f32 i_alphaRate) {
if (i_alphaRate > FLOAT_LABEL(lit_3808)) {
if (i_alphaRate > 0.0f) {
if (mpPaneMgr->isVisible() == 0) {
mpPaneMgr->show();
}
} else {
i_alphaRate = FLOAT_LABEL(lit_3808);
i_alphaRate = 0.0f;
if (mpPaneMgr->isVisible() == 1) {
mpPaneMgr->hide();
}
@@ -613,10 +440,6 @@ void dSelect_cursor_c::setAlphaRate(f32 i_alphaRate) {
mpPaneMgr->setAlphaRate(i_alphaRate);
}
/* ############################################################################################## */
/* 80453A64-80453A68 002064 0004+00 2/2 0/0 0/0 .sdata2 @4157 */
SECTION_SDATA2 static f32 lit_4157 = 5.0f;
/* 80195330-801953CC 18FC70 009C+00 0/0 1/1 0/0 .text addAlpha__16dSelect_cursor_cFv */
int dSelect_cursor_c::addAlpha() {
s16 alpha_timer = mpPaneMgr->getAlphaTimer();
@@ -636,7 +459,6 @@ int dSelect_cursor_c::addAlpha() {
return 0;
}
/* 801953CC-80195460 18FD0C 0094+00 0/0 1/1 0/0 .text decAlpha__16dSelect_cursor_cFv */
int dSelect_cursor_c::decAlpha() {
s16 alpha_timer = mpPaneMgr->getAlphaTimer();
@@ -655,22 +477,17 @@ int dSelect_cursor_c::decAlpha() {
return 0;
}
/* ############################################################################################## */
/* 80394A30-80394A50 021090 0020+00 1/1 0/0 0/0 .rodata tag$4181 */
static u64 const tag_4181[4] = {
'l_ld', 'l_lu', 'l_rd', 'l_ru',
};
/* 80195460-801955F0 18FDA0 0190+00 1/1 0/0 0/0 .text
* setBpkAnimation__16dSelect_cursor_cFP11J2DAnmColor */
void dSelect_cursor_c::setBpkAnimation(J2DAnmColor* param_0) {
switch (mNameIdx) {
case 0:
case 0: {
static u64 const tag_4181[4] = {'l_ld', 'l_lu', 'l_rd', 'l_ru'};
for (int i = 0; i < 4; i++) {
mpScreen->search(tag_4181[i])->setAnimation(param_0);
}
break;
}
case 2:
mpScreen->search('light')->setAnimation(param_0);
mpScreen->search('back_l')->setAnimation(param_0);
@@ -684,44 +501,32 @@ void dSelect_cursor_c::setBpkAnimation(J2DAnmColor* param_0) {
}
}
/* ############################################################################################## */
/* 80394A50-80394A90 0210B0 0040+00 1/1 0/0 0/0 .rodata tag$4197 */
static u64 const tag_4197[8] = {
'i_c_ld1', 'i_c_ld2', 'i_c_lu1', 'i_c_lu2', 'i_c_rd1', 'i_c_rd2', 'i_c_ru1', 'i_c_ru2',
};
/* 80394A90-80394AA0 0210F0 0010+00 1/1 0/0 0/0 .rodata tag$4204 */
static u64 const tag_4204[2] = {
'gold01', 'gold02',
};
/* 801955F0-80195724 18FF30 0134+00 1/1 0/0 0/0 .text
* setBtk0Animation__16dSelect_cursor_cFP19J2DAnmTextureSRTKey */
void dSelect_cursor_c::setBtk0Animation(J2DAnmTextureSRTKey* param_0) {
switch (mNameIdx) {
case 0:
case 0: {
static u64 const tag_4197[8] = {
'i_c_ld1', 'i_c_ld2', 'i_c_lu1', 'i_c_lu2', 'i_c_rd1', 'i_c_rd2', 'i_c_ru1', 'i_c_ru2',
};
for (int i = 0; i < 8; i++) {
mpScreen->search(tag_4197[i])->setAnimation(param_0);
}
break;
case 1:
}
case 1: {
static u64 const tag_4204[2] = {'gold01', 'gold02'};
for (int i = 0; i < 2; i++) {
mpScreen->search(tag_4204[i])->setAnimation(param_0);
}
break;
}
default:
mpScreen->search('gold01')->setAnimation(param_0);
break;
}
}
/* ############################################################################################## */
/* 80453A68-80453A6C 002068 0004+00 1/1 0/0 0/0 .sdata2 @4237 */
SECTION_SDATA2 static f32 lit_4237 = 20.0f;
/* 80453A6C-80453A70 00206C 0004+00 1/1 0/0 0/0 .sdata2 @4238 */
SECTION_SDATA2 static f32 lit_4238 = 10.0f;
/* 80195724-801958E0 190064 01BC+00 1/1 0/0 0/0 .text setCursorAnimation__16dSelect_cursor_cFv */
void dSelect_cursor_c::setCursorAnimation() {
f32 fVar1 = 1.0f;
@@ -765,15 +570,3 @@ void dSelect_cursor_c::setBckAnimation(J2DAnmTransformKey* param_0) {
void dSelect_cursor_c::moveCenter(J2DPane* i_pane, f32 i_x, f32 i_y) {
i_pane->translate(i_x,i_y);
}
/* 80195978-801959C0 1902B8 0048+00 1/0 0/0 0/0 .text __dt__19dSelect_cursorHIO_cFv */
dSelect_cursorHIO_c::~dSelect_cursorHIO_c() {
}
/* 801959C0-80195A2C 190300 006C+00 0/0 1/0 0/0 .text __dt__18J2DAnmTransformKeyFv */
// J2DAnmTransformKey::~J2DAnmTransformKey() {
extern "C" void __dt__18J2DAnmTransformKeyFv() {
// NONMATCHING
}
/* 80394AA0-80394AA0 021100 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
+1 -3
View File
@@ -34,6 +34,4 @@ void dSelect_icon_c::setPos(J2DPane* param_0, f32 transX, f32 transY) {
field_0xc->getPanePtr()->translate(transX, transY);
}
dSi_HIO_c::~dSi_HIO_c() {}
static dSi_HIO_c g_siHIO;
static dSi_HIO_c g_siHIO;
+6 -6
View File
@@ -13,7 +13,6 @@
#include "d/actor/d_a_player.h"
#include "d/d_item.h"
#include "d/d_path.h"
#include "dol2asm.h"
#include "f_op/f_op_scene_mng.h"
#include "m_Do/m_Do_lib.h"
#include "d/actor/d_a_tag_stream.h"
@@ -568,9 +567,9 @@ s32 fopAcM_seenActorAngleY(const fopAc_ac_c* i_actorA, const fopAc_ac_c* i_actor
inline f32 local_sqrtf(f32 mag) {
if (mag > 0.0f) {
f64 tmpd = __frsqrte(mag);
tmpd = 0.5 * tmpd * (3.0f - tmpd * tmpd * mag);
tmpd = 0.5 * tmpd * (3.0f - tmpd * tmpd * mag);
return 0.5 * tmpd * (3.0f - tmpd * tmpd * mag) * mag;
tmpd = 0.5 * tmpd * (3.0 - tmpd * tmpd * mag);
tmpd = 0.5 * tmpd * (3.0 - tmpd * tmpd * mag);
return 0.5 * tmpd * (3.0 - tmpd * tmpd * mag) * mag;
} else if (mag < 0.0) {
return NAN;
} else if (fpclassify(mag) == 1) {
@@ -1641,10 +1640,10 @@ fopAc_ac_c* fopAcM_myRoomSearchEnemy(s8 roomNo) {
* fopAcM_createDisappear__FPC10fopAc_ac_cPC4cXyzUcUcUc */
s32 fopAcM_createDisappear(const fopAc_ac_c* i_actor, const cXyz* i_pos, u8 i_size, u8 i_type,
u8 i_enemyID) {
s8 roomNo = fopAcM_GetRoomNo(i_actor);
return fopAcM_GetID(fopAcM_fastCreate(PROC_DISAPPEAR,
(i_enemyID << 0x10) | (i_size << 0x8) | i_type, i_pos,
roomNo, &i_actor->current.angle, NULL, 0xFF, NULL, NULL));
fopAcM_GetRoomNo(i_actor), &i_actor->current.angle,
NULL, 0xFF, NULL, NULL));
}
/* 8001CB48-8001CBA0 017488 0058+00 0/0 6/6 7/7 .text fopAcM_setCarryNow__FP10fopAc_ac_ci
@@ -2102,6 +2101,7 @@ s16 fopAcM_getPolygonAngle(cBgS_PolyInfo const& poly, s16 param_1) {
}
/* 8001DBD8-8001DC68 018518 0090+00 1/1 5/5 18/18 .text fopAcM_getPolygonAngle__FPC8cM3dGPlas */
// NONMATCHING multiplication order
s16 fopAcM_getPolygonAngle(cM3dGPla const* p_plane, s16 param_1) {
if (p_plane == NULL) {
return 0;
+25 -94
View File
@@ -6,30 +6,13 @@
#include "f_op/f_op_msg_mng.h"
#include "JSystem/JKernel/JKRExpHeap.h"
#include "SSystem/SComponent/c_malloc.h"
#include "SSystem/SComponent/c_math.h"
#include "d/d_meter2.h"
#include "d/d_meter2_info.h"
#include "d/d_msg_object.h"
#include "dol2asm.h"
#include "f_op/f_op_scene_mng.h"
#include "global.h"
//
// Forward References:
//
extern "C" void fopMsgM_valueIncrease__FiiUc();
extern "C" extern dMsgObject_HIO_c g_MsgObject_HIO_c;
//
// External References:
//
extern "C" u8 sincosTable___5JMath[65536];
//
// Declarations:
//
/* 8001F9B4-8001FA24 01A2F4 0070+00 0/0 3/3 0/0 .text fopMsgM_setStageLayer__FPv */
s32 fopMsgM_setStageLayer(void* param_0) {
scene_class* scn = fopScnM_SearchByID(dStage_roomControl_c::getProcID());
@@ -54,15 +37,6 @@ void fopMsgM_Delete(void* i_this) {
fpcM_Delete(i_this);
}
/* ############################################################################################## */
/* 80451C70-80451C74 000270 0004+00 6/6 0/0 0/0 .sdata2 @3902 */
SECTION_SDATA2 static u8 lit_3902[4] = {
0x00,
0x00,
0x00,
0x00,
};
/* 8001FA6C-8001FB50 01A3AC 00E4+00 1/1 0/0 0/0 .text createAppend__FP10fopAc_ac_cP4cXyzPUlPUlUi
*/
static fopMsg_prm_class* createAppend(fopAc_ac_c* i_actor, cXyz* i_pos, u32* i_msgID, u32* param_3,
@@ -88,9 +62,7 @@ static fopMsg_prm_class* createAppend(fopAc_ac_c* i_actor, cXyz* i_pos, u32* i_m
if (i_pos != NULL) {
params->mPos = *i_pos;
} else {
f32 tmp_0 = FLOAT_LABEL(lit_3902);
cXyz tmp(tmp_0, tmp_0, tmp_0);
params->mPos = tmp;
params->mPos = cXyz(0.0f, 0.0f, 0.0f);
}
params->field_0x18 = param_4;
@@ -111,7 +83,7 @@ static fopMsg_prm_timer* createTimerAppend(int i_mode, u32 i_limitMs, u8 i_type,
appen->mpActor = 0;
appen->mMsgID = 0;
appen->field_0x14 = 0;
appen->mPos = cXyz(FLOAT_LABEL(lit_3902), FLOAT_LABEL(lit_3902), FLOAT_LABEL(lit_3902));
appen->mPos = cXyz(0.0f, 0.0f, 0.0f);
appen->field_0x18 = param_8;
appen->timer_mode = i_mode;
appen->limit_ms = i_limitMs;
@@ -153,7 +125,6 @@ s32 fop_Timer_create(s16 i_procName, u8 i_mode, u32 i_limitMs, u8 i_type, u8 par
timer_prm);
}
/* ############################################################################################## */
/* 804505C8-804505D0 000048 0004+04 4/4 0/0 0/0 .sdata i_msgID */
static u32 i_msgID = 0xFFFFFFFF;
@@ -177,7 +148,7 @@ int fopMsgM_messageSet(u32 i_msgIdx, fopAc_ac_c* i_actorP, u32 param_2) {
if (i_actorP) {
pos = i_actorP->eyePos;
} else {
pos.set(FLOAT_LABEL(lit_3902), FLOAT_LABEL(lit_3902), FLOAT_LABEL(lit_3902));
pos.set(0.0f, 0.0f, 0.0f);
}
if (g_MsgObject_HIO_c.mMsgDebug == true) {
@@ -213,9 +184,7 @@ int fopMsgM_messageSet(u32 msgIdx, u32 param_1) {
} else {
cXyz pos;
pos.z = FLOAT_LABEL(lit_3902);
pos.y = FLOAT_LABEL(lit_3902);
pos.x = FLOAT_LABEL(lit_3902);
pos.x = pos.y = pos.z = 0.0f;
dMsgObject_c* msg = (dMsgObject_c*)fopMsgM_SearchByID(i_msgID);
@@ -258,9 +227,7 @@ int fopMsgM_messageSetDemo(u32 param_0) {
} else {
cXyz pos;
pos.z = FLOAT_LABEL(lit_3902);
pos.y = FLOAT_LABEL(lit_3902);
pos.x = FLOAT_LABEL(lit_3902);
pos.x = pos.y = pos.z = 0.0f;
dMsgObject_c* msg = (dMsgObject_c*)fopMsgM_SearchByID(i_msgID);
@@ -298,46 +265,15 @@ void J2DPane::setAlpha(u8 alpha) {
mAlpha = alpha;
}
/* ############################################################################################## */
/* 803A3970-803A3990 -00001 001C+04 1/1 0/0 0/0 .data @4305 */
SECTION_DATA static void* lit_4305[7 + 1 /* padding */] = {
(void*)(((char*)fopMsgM_valueIncrease__FiiUc) + 0x88),
(void*)(((char*)fopMsgM_valueIncrease__FiiUc) + 0x90),
(void*)(((char*)fopMsgM_valueIncrease__FiiUc) + 0xB4),
(void*)(((char*)fopMsgM_valueIncrease__FiiUc) + 0xBC),
(void*)(((char*)fopMsgM_valueIncrease__FiiUc) + 0xD8),
(void*)(((char*)fopMsgM_valueIncrease__FiiUc) + 0x10C),
(void*)(((char*)fopMsgM_valueIncrease__FiiUc) + 0x140),
/* padding */
NULL,
};
/* 80451C74-80451C78 000274 0004+00 1/1 0/0 0/0 .sdata2 @4167 */
SECTION_SDATA2 static f32 lit_4167 = 0.5f;
/* 80451C78-80451C7C 000278 0004+00 1/1 0/0 0/0 .sdata2 @4298 */
SECTION_SDATA2 static f32 lit_4298 = 1.0f;
/* 80451C7C-80451C80 00027C 0004+00 1/1 0/0 0/0 .sdata2 @4299 */
SECTION_SDATA2 static f32 lit_4299 = 2.0f;
/* 80451C80-80451C84 000280 0004+00 1/1 0/0 0/0 .sdata2 @4300 */
SECTION_SDATA2 static f32 lit_4300 = 32768.0f;
/* 80451C84-80451C88 000284 0004+00 1/1 0/0 0/0 .sdata2 @4301 */
SECTION_SDATA2 static f32 lit_4301 = 65535.0f;
/* 80451C88-80451C90 000288 0008+00 1/1 0/0 0/0 .sdata2 @4303 */
SECTION_SDATA2 static f64 lit_4303 = 4503601774854144.0 /* cast s32 to float */;
f32 dummy() {
return 0.5f;
}
/* 80020160-800202CC 01AAA0 016C+00 1/0 4/4 2/2 .text fopMsgM_valueIncrease__FiiUc */
#ifdef NONMATCHING
// regalloc + something up with case 2
// NONMATCHING regalloc
f32 fopMsgM_valueIncrease(int param_0, int param_1, u8 param_2) {
f32 ret;
if (param_0 <= 0) {
return FLOAT_LABEL(lit_4298);
return 1.0f;
} else {
if (param_1 < 0) {
param_1 = 0;
@@ -345,51 +281,46 @@ f32 fopMsgM_valueIncrease(int param_0, int param_1, u8 param_2) {
param_1 = param_0;
}
ret = param_1;
f32 out_tmp = ret / param_0;
f32 ret;
f32 tmp1 = (f32)param_1 / param_0;
switch (param_2) {
case 0: {
ret = out_tmp * out_tmp;
ret = tmp1 * tmp1;
break;
}
case 1: {
ret = JMAFastSqrt(out_tmp);
ret = JMAFastSqrt(tmp1);
break;
}
case 2: { // seems like this should be default case, but it causes other issues
ret = out_tmp;
case 2:
default: {
ret = tmp1;
break;
}
case 3: {
f32 tmp = (FLOAT_LABEL(lit_4299) * out_tmp) - FLOAT_LABEL(lit_4298);
tmp = out_tmp * tmp;
ret = tmp - FLOAT_LABEL(lit_4298);
ret = tmp1 * ((2.0f * tmp1) - 1.0f) - 1.0f;
break;
}
case 4: {
f32 tmp = cM_ssin(FLOAT_LABEL(lit_4167) * (FLOAT_LABEL(lit_4300) * out_tmp));
f32 tmp = cM_ssin(0.5f * ((f32)0x8000 * tmp1));
ret = tmp * tmp;
break;
}
case 5: {
f32 tmp = cM_ssin(FLOAT_LABEL(lit_4167) * (FLOAT_LABEL(lit_4301) * out_tmp));
f32 tmp = cM_ssin(0.5f * ((f32)0xFFFF * tmp1));
ret = tmp * tmp;
break;
}
case 6: {
ret = cM_ssin(FLOAT_LABEL(lit_4300) * out_tmp);
ret = cM_ssin((f32)0x8000 * tmp1);
break;
}
}
}
return ret;
return ret;
}
}
#else
f32 fopMsgM_valueIncrease(int param_0, int param_1, u8 param_2) {
// NONMATCHING
}
#endif
// Here to generate J2DPicture virtual inlines
static void dummyVirtual(J2DPicture* picture, f32 param_1, f32 param_2, const char* param_3) {
+133 -47
View File
@@ -7,43 +7,14 @@
#include "JSystem/JUtility/JUTTexture.h"
#include "stdio.h"
#include "d/d_com_inf_game.h"
#include "d/d_save.h"
#include "dolphin/card.h"
#include "m_Do/m_Do_MemCard.h"
//
// Forward References:
//
extern "C" void mDoMemCdRWm_Store__FP12CARDFileInfoPvUl();
extern "C" void mDoMemCdRWm_Restore__FP12CARDFileInfoPvUl();
extern "C" static void mDoMemCdRWm_BuildHeader__FP22mDoMemCdRWm_HeaderData();
extern "C" static void mDoMemCdRWm_SetCardStat__FP12CARDFileInfo();
extern "C" static void mDoMemCdRWm_CheckCardStat__FP12CARDFileInfo();
extern "C" static void mDoMemCdRWm_CalcCheckSum__FPvUl();
extern "C" static void mDoMemCdRWm_CalcCheckSumGameData__FPvUl();
extern "C" void mDoMemCdRWm_TestCheckSumGameData__FPv();
extern "C" void mDoMemCdRWm_SetCheckSumGameData__FPUcUc();
extern "C" extern char const* const m_Do_m_Do_MemCardRWmng__stringBase0;
//
// External References:
//
extern "C" void _savegpr_20();
extern "C" void _savegpr_28();
extern "C" void _restgpr_20();
extern "C" void _restgpr_28();
//
// Declarations:
//
/* ############################################################################################## */
/* 803ECF40-803F0F40 019C60 4000+00 2/2 0/0 0/0 .bss sTmpBuf */
static u8 sTmpBuf[0x4000];
/* 80017498-8001769C 011DD8 0204+00 0/0 1/1 0/0 .text mDoMemCdRWm_Store__FP12CARDFileInfoPvUl */
#ifdef NONMATCHING
s32 mDoMemCdRWm_Store(CARDFileInfo* file, void* data, u32 length) {
mDoMemCdRWm_BuildHeader((mDoMemCdRWm_HeaderData*)sTmpBuf);
@@ -66,12 +37,20 @@ s32 mDoMemCdRWm_Store(CARDFileInfo* file, void* data, u32 length) {
}
}
struct data_s {
int field_0x0;
int field_0x4;
u8 mData[0x1FF4];
u32 mChecksum;
};
memset(sTmpBuf, 0, sizeof(sTmpBuf));
*(int*)(sTmpBuf + 4) = 6;
memcpy(sTmpBuf + 8, data, length);
*(int*)(sTmpBuf) = 0;
u32 checksum = mDoMemCdRWm_CalcCheckSum(sTmpBuf, 0x1FFC);
*(u32*)(sTmpBuf + 0x1FFC) = checksum;
data_s* tmp_data = (data_s*)sTmpBuf;
tmp_data->field_0x4 = 6;
memcpy(tmp_data->mData, data, length);
tmp_data->field_0x0 = 0;
u32 checksum = mDoMemCdRWm_CalcCheckSum(tmp_data, 0x1FFC);
tmp_data->mChecksum = checksum;
card_state = CARDWrite(file, sTmpBuf, sizeof(sTmpBuf) / 2, 0x4000);
if (card_state != CARD_RESULT_READY) {
@@ -103,15 +82,76 @@ s32 mDoMemCdRWm_Store(CARDFileInfo* file, void* data, u32 length) {
mDoMemCdRWm_SetCardStat(file);
return card_state;
}
#else
s32 mDoMemCdRWm_Store(CARDFileInfo* param_0, void* param_1, u32 param_2) {
// NONMATCHING
}
#endif
/* 8001769C-8001787C 011FDC 01E0+00 0/0 1/1 0/0 .text mDoMemCdRWm_Restore__FP12CARDFileInfoPvUl */
s32 mDoMemCdRWm_Restore(CARDFileInfo* param_0, void* param_1, u32 param_2) {
// NONMATCHING
s32 mDoMemCdRWm_Restore(CARDFileInfo* file, void* data, u32 length) {
BOOL rewrite = FALSE;
struct save_data_s {
u8 field_0x0[4];
u32 mDataVersion;
u8 mSave1[QUEST_LOG_SIZE];
u8 mSave2[QUEST_LOG_SIZE];
u8 mSave3[QUEST_LOG_SIZE];
};
save_data_s* saves = (save_data_s*)sTmpBuf;
save_data_s* backup_saves = (save_data_s*)(sTmpBuf + sizeof(sTmpBuf) / 2);
s32 card_state = CARDRead(file, saves, sizeof(sTmpBuf) / 2, 0x4000);
if (card_state != CARD_RESULT_READY) {
return card_state;
}
BOOL test_save1 = mDoMemCdRWm_TestCheckSumGameData(saves->mSave1);
BOOL test_save2 = mDoMemCdRWm_TestCheckSumGameData(saves->mSave2);
BOOL test_save3 = mDoMemCdRWm_TestCheckSumGameData(saves->mSave3);
card_state = CARDRead(file, backup_saves, sizeof(sTmpBuf) / 2, 0x6000);
if (card_state != CARD_RESULT_READY) {
return card_state;
}
BOOL test_backup1 = mDoMemCdRWm_TestCheckSumGameData(backup_saves->mSave1);
BOOL test_backup2 = mDoMemCdRWm_TestCheckSumGameData(backup_saves->mSave2);
BOOL test_backup3 = mDoMemCdRWm_TestCheckSumGameData(backup_saves->mSave3);
if (!test_save1 && test_backup1) {
memcpy(saves->mSave1, backup_saves->mSave1, QUEST_LOG_SIZE);
rewrite = TRUE;
}
if (!test_save2 && test_backup2) {
memcpy(saves->mSave2, backup_saves->mSave2, QUEST_LOG_SIZE);
rewrite = TRUE;
}
if (!test_save3 && test_backup3) {
memcpy(saves->mSave3, backup_saves->mSave3, QUEST_LOG_SIZE);
rewrite = TRUE;
}
if (!mDoMemCdRWm_CheckCardStat(file)) {
return CARD_RESULT_FATAL_ERROR;
}
if (rewrite) {
card_state = CARDWrite(file, saves, sizeof(sTmpBuf) / 2, 0x4000);
if (card_state != CARD_RESULT_READY) {
return card_state;
}
card_state = CARDWrite(file, saves, sizeof(sTmpBuf) / 2, 0x6000);
if (card_state != CARD_RESULT_READY) {
return card_state;
}
}
memcpy(data, saves->mSave1, length);
mDoMemCd_setDataVersion(saves->mDataVersion);
mDoMemCd_setSerialNo();
return CARD_RESULT_READY;
}
/* 8001787C-800179E4 0121BC 0168+00 1/1 0/0 0/0 .text
@@ -141,14 +181,60 @@ static void mDoMemCdRWm_BuildHeader(mDoMemCdRWm_HeaderData* header) {
}
/* 800179E4-80017B4C 012324 0168+00 1/1 0/0 0/0 .text mDoMemCdRWm_SetCardStat__FP12CARDFileInfo */
static void mDoMemCdRWm_SetCardStat(CARDFileInfo* param_0) {
// NONMATCHING
static void mDoMemCdRWm_SetCardStat(CARDFileInfo* file) {
CARDStat stat;
mDoMemCd_getCardStatus(file->fileNo, &stat);
stat.iconAddr = 0;
stat.commentAddr = 0x2400;
CARDSetBannerFormat(&stat, CARD_STAT_BANNER_C8);
CARDSetIconAnim(&stat, CARD_STAT_ANIM_BOUNCE);
CARDSetIconFormat(&stat, 0, CARD_STAT_ICON_C8);
CARDSetIconFormat(&stat, 1, CARD_STAT_ICON_C8);
CARDSetIconFormat(&stat, 2, CARD_STAT_ICON_C8);
CARDSetIconFormat(&stat, 3, CARD_STAT_ICON_C8);
CARDSetIconFormat(&stat, 4, CARD_STAT_ICON_C8);
CARDSetIconFormat(&stat, 5, CARD_STAT_ICON_NONE);
CARDSetIconFormat(&stat, 6, CARD_STAT_ICON_NONE);
CARDSetIconFormat(&stat, 7, CARD_STAT_ICON_NONE);
CARDSetIconSpeed(&stat, 0, CARD_STAT_SPEED_FAST);
CARDSetIconSpeed(&stat, 1, CARD_STAT_SPEED_FAST);
CARDSetIconSpeed(&stat, 2, CARD_STAT_SPEED_FAST);
CARDSetIconSpeed(&stat, 3, CARD_STAT_SPEED_FAST);
CARDSetIconSpeed(&stat, 4, CARD_STAT_SPEED_FAST);
CARDSetIconSpeed(&stat, 5, CARD_STAT_SPEED_END);
CARDSetIconSpeed(&stat, 6, CARD_STAT_SPEED_END);
CARDSetIconSpeed(&stat, 7, CARD_STAT_SPEED_END);
mDoMemCd_setCardStatus(file->fileNo, &stat);
}
/* 80017B4C-80017C74 01248C 0128+00 2/2 0/0 0/0 .text mDoMemCdRWm_CheckCardStat__FP12CARDFileInfo
*/
static BOOL mDoMemCdRWm_CheckCardStat(CARDFileInfo* param_0) {
// NONMATCHING
static BOOL mDoMemCdRWm_CheckCardStat(CARDFileInfo* file) {
CARDStat stat;
mDoMemCd_getCardStatus(file->fileNo, &stat);
if (stat.iconAddr != 0 || stat.commentAddr != 0x2400
|| CARDGetBannerFormat(&stat) != CARD_STAT_BANNER_C8
|| CARDGetIconAnim(&stat) != CARD_STAT_ANIM_BOUNCE
|| CARDGetIconFormat(&stat, 0) != CARD_STAT_ICON_C8
|| CARDGetIconFormat(&stat, 1) != CARD_STAT_ICON_C8
|| CARDGetIconFormat(&stat, 2) != CARD_STAT_ICON_C8
|| CARDGetIconFormat(&stat, 3) != CARD_STAT_ICON_C8
|| CARDGetIconFormat(&stat, 4) != CARD_STAT_ICON_C8
|| CARDGetIconFormat(&stat, 5) != CARD_STAT_ICON_NONE
|| CARDGetIconFormat(&stat, 6) != CARD_STAT_ICON_NONE
|| CARDGetIconFormat(&stat, 7) != CARD_STAT_ICON_NONE
|| CARDGetIconSpeed(&stat, 0) != CARD_STAT_SPEED_FAST
|| CARDGetIconSpeed(&stat, 1) != CARD_STAT_SPEED_FAST
|| CARDGetIconSpeed(&stat, 2) != CARD_STAT_SPEED_FAST
|| CARDGetIconSpeed(&stat, 3) != CARD_STAT_SPEED_FAST
|| CARDGetIconSpeed(&stat, 4) != CARD_STAT_SPEED_FAST
|| CARDGetIconSpeed(&stat, 5) != CARD_STAT_SPEED_END
|| CARDGetIconSpeed(&stat, 6) != CARD_STAT_SPEED_END
|| CARDGetIconSpeed(&stat, 7) != CARD_STAT_SPEED_END)
{
return FALSE;
}
return TRUE;
}
/* 80017C74-80017CB4 0125B4 0040+00 1/1 0/0 0/0 .text mDoMemCdRWm_CalcCheckSum__FPvUl */
@@ -200,4 +286,4 @@ void mDoMemCdRWm_SetCheckSumGameData(u8* data, u8 dataNum) {
*(u64*)(file_ptr + 0xA8C) = mDoMemCdRWm_CalcCheckSumGameData(file_ptr, 0xA8C);
}
/* 80374408-80374408 000A68 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
/* 80374408-80374408 000A68 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
+50 -1816
View File
File diff suppressed because it is too large Load Diff
-18
View File
@@ -12,7 +12,6 @@
#include "d/actor/d_a_player.h"
#include "d/d_com_inf_game.h"
#include "d/d_menu_collect.h"
#include "dol2asm.h"
#include "f_ap/f_ap_game.h"
#include "m_Do/m_Do_controller_pad.h"
#include "m_Do/m_Do_machine.h"
@@ -23,8 +22,6 @@
#include "JSystem/JUtility/JUTConsole.h"
#include "JSystem/JFramework/JFWSystem.h"
extern "C" u8 m_bloom__13mDoGph_gInf_c[20]; // needed for sinit for now
/* 80007D9C-80007E44 0026DC 00A8+00 1/1 0/0 0/0 .text createTimg__FUsUsUl */
static ResTIMG* createTimg(u16 width, u16 height, u32 format) {
u32 bufferSize = GXGetTexBufferSize(width, height, format, GX_FALSE, 0) + 0x20;
@@ -1148,18 +1145,3 @@ int mDoGph_Create() {
mDoExt_restoreCurrentHeap();
return 1;
}
/* 8000B1D0-8000B1E4 005B10 0014+00 0/0 1/0 0/0 .text __sinit_m_Do_graphic_cpp */
void __sinit_m_Do_graphic_cpp(){// NONMATCHING
}
#pragma push
#pragma force_active on
REGISTER_CTORS(0x8000B1D0, __sinit_m_Do_graphic_cpp);
#pragma pop
/* 8000B1E4-8000B1EC 005B24 0008+00 0/0 1/0 0/0 .text getAtnActorID__9daPy_py_cCFv */
// s32 daPy_py_c::getAtnActorID() const {
extern "C" s32 getAtnActorID__9daPy_py_cCFv() {
return -1;
}
+9 -126
View File
@@ -15,7 +15,7 @@
#include "SSystem/SComponent/c_malloc.h"
#include "SSystem/SComponent/c_math.h"
#include "SSystem/SComponent/c_API_controller_pad.h"
#include "dol2asm.h"
#include "base/PPCArch.h"
#include "m_Do/m_Do_DVDError.h"
#include "m_Do/m_Do_MemCard.h"
#include "m_Do/m_Do_Reset.h"
@@ -24,110 +24,6 @@
#include "m_Do/m_Do_machine_exception.h"
#include "m_Do/m_Do_main.h"
//
// Forward References:
//
extern "C" static void myGetHeapTypeByString__FP7JKRHeap();
extern "C" static void myMemoryErrorRoutine__FPvUli();
extern "C" void myHeapCheckRecursive__FP7JKRHeap();
extern "C" void mDoMch_HeapCheckAll__Fv();
extern "C" static s8 developKeyCheck__FUlUl(u32, u32);
extern "C" bool mDoMch_IsProgressiveMode__Fv();
extern "C" bool exceptionReadPad__FPUlPUl(u32*, u32*);
extern "C" void exceptionRestart__Fv();
extern "C" void myExceptionCallback__FUsP9OSContextUlUl();
extern "C" static void fault_callback_scroll__FUsP9OSContextUlUl();
extern "C" static void my_PrintHeap__FPCcUl();
extern "C" void my_SysPrintHeap__FPCcPvUl();
extern "C" void mDoMch_Create__Fv();
extern "C" extern char const* const m_Do_m_Do_machine__stringBase0;
extern "C" void* mRenderModeObj__15mDoMch_render_c[1 + 1 /* padding */];
//
// External References:
//
extern "C" void mDoExt_createAssertHeap__FP7JKRHeap();
extern "C" void mDoExt_createDbPrintHeap__FUlP7JKRHeap();
extern "C" void mDoExt_getDbPrintHeap__Fv();
extern "C" void mDoExt_createGameHeap__FUlP7JKRHeap();
extern "C" void mDoExt_getGameHeap__Fv();
extern "C" void mDoExt_createZeldaHeap__FUlP7JKRHeap();
extern "C" void mDoExt_getZeldaHeap__Fv();
extern "C" void mDoExt_createCommandHeap__FUlP7JKRHeap();
extern "C" void mDoExt_getCommandHeap__Fv();
extern "C" void mDoExt_createArchiveHeap__FUlP7JKRHeap();
extern "C" void mDoExt_getArchiveHeap__Fv();
extern "C" void mDoExt_createJ2dHeap__FUlP7JKRHeap();
extern "C" void mDoExt_getJ2dHeap__Fv();
extern "C" void mDoRst_reset__FiUli();
extern "C" void create__9mDoDvdThdFl();
extern "C" void mDoDvdErr_ThdInit__Fv();
extern "C" void ThdInit__15mDoMemCd_Ctrl_cFv();
extern "C" void init__3cMlFP7JKRHeap();
extern "C" void cM_initRnd__Fiii();
extern "C" void firstInit__9JFWSystemFv();
extern "C" void init__9JFWSystemFv();
extern "C" void becomeCurrentHeap__7JKRHeapFv();
extern "C" void getFreeSize__7JKRHeapFv();
extern "C" void getTotalFreeSize__7JKRHeapFv();
extern "C" void setErrorFlag__7JKRHeapFb();
extern "C" void setErrorHandler__7JKRHeapFPFPvUli_v();
extern "C" void* __nw__FUl();
extern "C" void __ct__9JKRThreadFP8OSThreadi();
extern "C" void createManager__15JKRThreadSwitchFP7JKRHeap();
extern "C" void setTransBuffer__13JKRAramStreamFPUcUlP7JKRHeap();
extern "C" void start__10JUTDbPrintFP7JUTFontP7JKRHeap();
extern "C" void __ct__10JUTGamePadFQ210JUTGamePad8EPadPort();
extern "C" void __dt__10JUTGamePadFv();
extern "C" void isEnablePad__12JUTExceptionCFv();
extern "C" void readPad__12JUTExceptionFPUlPUl();
extern "C" void waitTime__12JUTExceptionFl();
extern "C" void setPreUserCallback__12JUTExceptionFPFUsP9OSContextUlUl_v();
extern "C" void setPostUserCallback__12JUTExceptionFPFUsP9OSContextUlUl_v();
extern "C" void appendMapFile__12JUTExceptionFPCc();
extern "C" void setVisible__12JUTAssertionFb();
extern "C" void destroyManager__8JUTVideoFv();
extern "C" void print_f__10JUTConsoleFPCce();
extern "C" void print__10JUTConsoleFPCc();
extern "C" void scroll__10JUTConsoleFi();
extern "C" void getUsedLine__10JUTConsoleCFv();
extern "C" void getLineOffset__10JUTConsoleCFv();
extern "C" void drawDirect__17JUTConsoleManagerCFb();
extern "C" void setDirectConsole__17JUTConsoleManagerFP10JUTConsole();
extern "C" void PPCHalt();
extern "C" u32 OSGetProgressiveMode();
extern "C" void OSSetProgressiveMode(u32);
extern "C" u32 VIGetDTVStatus();
extern "C" void _savegpr_28();
extern "C" void _restgpr_28();
extern "C" extern s8 data_80450580;
extern "C" extern s8 developmentMode__7mDoMain;
extern "C" u32 memMargin__7mDoMain;
extern "C" u32 maxStdHeaps__Q29JFWSystem11CSetUpParam;
extern "C" u32 sysHeapSize__Q29JFWSystem11CSetUpParam;
extern "C" u32 fifoBufSize__Q29JFWSystem11CSetUpParam;
extern "C" u32 aramAudioBufSize__Q29JFWSystem11CSetUpParam;
extern "C" u32 aramGraphBufSize__Q29JFWSystem11CSetUpParam;
extern "C" void* renderMode__Q29JFWSystem11CSetUpParam;
extern "C" u32 sSZSBufferSize__7JKRAram[1 + 1 /* padding */];
extern "C" u32 sSZSBufferSize__12JKRDvdRipper;
extern "C" u32 sSZSBufferSize__16JKRDvdAramRipper;
extern "C" u8 sHungUpTime__7mDoMain[4];
extern "C" extern u8 data_80450B14[4];
extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */];
extern "C" u8 systemHeap__9JFWSystem[4];
extern "C" u8 systemConsole__9JFWSystem[4];
extern "C" u8 sSystemHeap__7JKRHeap[4];
extern "C" u8 sRootHeap__7JKRHeap[4];
extern "C" u8 sDebugPrint__10JUTDbPrint[4 + 4 /* padding */];
//
// Declarations:
//
/* 80450BF0-80450BF4 0000F0 0004+00 1/1 0/0 0/0 .sbss None */
static u8 mDebugFill;
@@ -500,12 +396,13 @@ static void fault_callback_scroll(u16, OSContext* p_context, u32, u32) {
} while (true);
}
// originally used in my_PrintHeap, but the function body was removed in retail
const char* my_PrintHeapSring = "\x1B[32m%-24s = size=%d KB\n\x1B[m";
static void dummy_string() {
DEAD_STRING("\x1B[32m%-24s = size=%d KB\n\x1B[m");
}
/* 8000BCF4-8000BCF8 006634 0004+00 1/1 0/0 0/0 .text my_PrintHeap__FPCcUl */
static void my_PrintHeap(char const* heapName, u32 heapSize) {
return;
/* empty function */
}
/* 8000BCF8-8000BD44 006638 004C+00 1/1 0/0 0/0 .text my_SysPrintHeap__FPCcPvUl */
@@ -514,20 +411,6 @@ void my_SysPrintHeap(char const* message, void* start, u32 size) {
(u32)start + size, size / 1024);
}
/* ############################################################################################## */
/* 80373DE8-80373DE8 000448 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_8037403D = "アリーナ";
SECTION_DEAD static char const* const stringBase_80374046 = "システムヒープ";
SECTION_DEAD static char const* const stringBase_80374055 = "コマンドヒープ";
SECTION_DEAD static char const* const stringBase_80374064 = "アーカイブヒープ";
SECTION_DEAD static char const* const stringBase_80374075 = "J2D用ヒープ";
SECTION_DEAD static char const* const stringBase_80374084 = "ゲームヒープ";
SECTION_DEAD static char const* const stringBase_80374091 = "ゼルダヒープ";
SECTION_DEAD static char const* const stringBase_8037409E = "/map/Final/Release/frameworkF.map";
#pragma pop
/* 803A2F60-803A2F9C 000080 003C+00 1/0 0/0 0/0 .data g_ntscZeldaIntDf */
extern GXRenderModeObj g_ntscZeldaIntDf = {
VI_TVMODE_NTSC_INT,
@@ -643,7 +526,7 @@ int mDoMch_Create() {
JKRHeap::getRootHeap()->setErrorFlag(true);
JFWSystem::getSystemHeap()->setErrorFlag(true);
JKRHeap* rootHeap = JKRHeap::getRootHeap();
JKRHeap* rootHeap = JKRGetRootHeap();
// Command Heap size: 4 KB
my_SysPrintHeap("コマンドヒープ", mDoExt_createCommandHeap(0x1000, rootHeap), 0x1000);
@@ -656,13 +539,13 @@ int mDoMch_Create() {
// Game Heap size: 4408 KB
my_SysPrintHeap("ゲームヒープ", mDoExt_createGameHeap(0x44E000, rootHeap), 0x44E000);
JKRHeap* sysHeap = JKRHeap::getSystemHeap();
JKRHeap* sysHeap = JKRGetSystemHeap();
u32 zeldaHeapSize = sysHeap->getFreeSize() - 0x10000;
JKRHeap* zeldaHeap = mDoExt_createZeldaHeap(zeldaHeapSize, sysHeap);
my_SysPrintHeap("ゼルダヒープ", zeldaHeap, zeldaHeapSize);
zeldaHeap->becomeCurrentHeap();
JKRAramStream::setTransBuffer(NULL, 0x2000, JKRHeap::getSystemHeap());
JKRAramStream::setTransBuffer(NULL, 0x2000, JKRGetSystemHeap());
JKRThreadSwitch::createManager(NULL);
JKRThread* thread = new JKRThread(OSGetCurrentThread(), 0);
@@ -683,4 +566,4 @@ int mDoMch_Create() {
mDoDvdErr_ThdInit();
mDoMemCd_ThdInit();
return 1;
}
}