d_a_demo00 OK (#2817)

* Misc small matches

* Add J3DFrameCtrl::EMode_NULL enum

* Improve weak bss fakematch and remove a functionvalue fakematch

* demo00 OK
This commit is contained in:
LagoLunatic 2025-11-17 18:38:04 -05:00 committed by GitHub
parent 4ab97e8f26
commit bd2def28db
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
25 changed files with 1194 additions and 1113 deletions

View File

@ -36,7 +36,7 @@
"build/**/*.lcf": true,
"build/**/*.preplf": true,
"build/**/*.d": true,
"build/**/*.s": true,
// "build/**/*.s": true,
"build/**/*.map": true,
"build/**/*.cpp": true,
"build/**/*.ctx": true,

View File

@ -163,9 +163,13 @@ __vt__19daBoomerang_sight_c = .data:0x000001E4; // type:object size:0x10 scope:g
@1010 = .bss:0x00000038; // type:object size:0x1 scope:local
@1009 = .bss:0x0000003C; // type:object size:0x1 scope:local
l_HIO = .bss:0x00000040; // type:object size:0x1 scope:global
init$2449 = .bss:0x00000041; // type:object size:0x1 scope:local align:1
effDirection$5075 = .bss:0x00000044; // type:object size:0xC scope:local
init$2452 = .bss:0x00000050; // type:object size:0x1 scope:local align:1
effScale0$5078 = .bss:0x00000054; // type:object size:0xC scope:local
init$2455 = .bss:0x00000060; // type:object size:0x1 scope:local align:1
effScaleSand$5081 = .bss:0x00000064; // type:object size:0xC scope:local
init$2458 = .bss:0x00000070; // type:object size:0x1 scope:local align:1
effScaleGrass$5084 = .bss:0x00000074; // type:object size:0xC scope:local
sInstance__40JASGlobalInstance<19JASDefaultBankTable> = .bss:0x00000080; // type:object size:0x4 scope:global
sInstance__35JASGlobalInstance<14JASAudioThread> = .bss:0x00000084; // type:object size:0x4 scope:global

View File

@ -322,32 +322,44 @@ l_frontFootOffset = .bss:0x00000054; // type:object size:0xC scope:global align:
@4180 = .bss:0x00000060; // type:object size:0xC scope:local
l_backFootOffset = .bss:0x0000006C; // type:object size:0xC scope:global align:4 data:float
@7279 = .bss:0x00000078; // type:object size:0xC scope:local
init$4891 = .bss:0x00000084; // type:object size:0x1 scope:local align:1
localEyePos$7278 = .bss:0x00000088; // type:object size:0xC scope:local
@7469 = .bss:0x00000094; // type:object size:0xC scope:local
runScale$7468 = .bss:0x000000A4; // type:object size:0xC scope:local
@7473 = .bss:0x000000B0; // type:object size:0xC scope:local
landScale$7472 = .bss:0x000000C0; // type:object size:0xC scope:local
@7477 = .bss:0x000000CC; // type:object size:0xC scope:local
init$5083 = .bss:0x000000D8; // type:object size:0x1 scope:local align:1
grassRunScale$7476 = .bss:0x000000DC; // type:object size:0xC scope:local
@7481 = .bss:0x000000E8; // type:object size:0xC scope:local
init$5091 = .bss:0x000000F4; // type:object size:0x1 scope:local align:1
waterDirection$7480 = .bss:0x000000F8; // type:object size:0xC scope:local
@8516 = .bss:0x00000104; // type:object size:0xC scope:local
init$6089 = .bss:0x00000110; // type:object size:0x1 scope:local align:1
reinLeftStart$8515 = .bss:0x00000114; // type:object size:0xC scope:local
@8520 = .bss:0x00000120; // type:object size:0xC scope:local
init$6093 = .bss:0x0000012C; // type:object size:0x1 scope:local align:1
reinRightStart$8519 = .bss:0x00000130; // type:object size:0xC scope:local
@8524 = .bss:0x0000013C; // type:object size:0xC scope:local
init$6097 = .bss:0x00000148; // type:object size:0x1 scope:local align:1
localNeckLeft$8523 = .bss:0x0000014C; // type:object size:0xC scope:local
@8528 = .bss:0x00000158; // type:object size:0xC scope:local
init$6101 = .bss:0x00000164; // type:object size:0x1 scope:local align:1
localNeckRight$8527 = .bss:0x00000168; // type:object size:0xC scope:local
@8753 = .bss:0x00000174; // type:object size:0xC scope:local
init$6311 = .bss:0x00000180; // type:object size:0x1 scope:local align:1
saddleLeft$8752 = .bss:0x00000184; // type:object size:0xC scope:local
@8757 = .bss:0x00000190; // type:object size:0xC scope:local
init$6315 = .bss:0x0000019C; // type:object size:0x1 scope:local align:1
saddleRight$8756 = .bss:0x000001A0; // type:object size:0xC scope:local
@8813 = .bss:0x000001AC; // type:object size:0xC scope:local
init$6374 = .bss:0x000001B8; // type:object size:0x1 scope:local align:1
localCenterPos$8812 = .bss:0x000001BC; // type:object size:0xC scope:local
@8817 = .bss:0x000001C8; // type:object size:0xC scope:local
init$6378 = .bss:0x000001D4; // type:object size:0x1 scope:local align:1
localFrontPos$8816 = .bss:0x000001D8; // type:object size:0xC scope:local
@8821 = .bss:0x000001E4; // type:object size:0xC scope:local
init$6382 = .bss:0x000001F0; // type:object size:0x1 scope:local align:1
localBackPos$8820 = .bss:0x000001F4; // type:object size:0xC scope:local
sInstance__40JASGlobalInstance<19JASDefaultBankTable> = .bss:0x00000200; // type:object size:0x4 scope:global
sInstance__35JASGlobalInstance<14JASAudioThread> = .bss:0x00000204; // type:object size:0x4 scope:global

View File

@ -1614,7 +1614,7 @@ config.libs = [
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_arrow"),
ActorRel(NonMatching, "d_a_boomerang"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_crod"),
ActorRel(NonMatching, "d_a_demo00"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_demo00"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_disappear"),
ActorRel(NonMatching, "d_a_mg_rod"),
ActorRel(Equivalent, "d_a_midna"), # weak func order

View File

@ -919,11 +919,12 @@ public:
class J3DFrameCtrl {
public:
enum Attribute_e {
EMode_NONE,
EMode_RESET,
EMode_LOOP,
EMode_REVERSE,
EMode_LOOP_REVERSE,
/* -1 */ EMode_NULL = -1,
/* 0x0 */ EMode_NONE,
/* 0x1 */ EMode_RESET,
/* 0x2 */ EMode_LOOP,
/* 0x3 */ EMode_REVERSE,
/* 0x4 */ EMode_LOOP_REVERSE,
};
J3DFrameCtrl() { this->init(0); }

View File

@ -84,7 +84,7 @@ public:
static J3DMtxCalc* mCurrentMtxCalc;
u8 getKind() { return mKind & 15; }
u8 getKind() const { return mKind & 15; }
private:
friend struct J3DJointFactory;

View File

@ -79,7 +79,7 @@ public:
class TFunctionValueAttribute_refer : public JGadget::TVector_pointer<TFunctionValue*> {
public:
inline TFunctionValueAttribute_refer();
TFunctionValueAttribute_refer() : JGadget::TVector_pointer<TFunctionValue*>(JGadget::TAllocator<void*>()) {}
~TFunctionValueAttribute_refer() {}
/* 802816E8 */ void refer_initialize();

View File

@ -7,13 +7,10 @@
struct demo_s1_ke_s {
public:
/* 804A4420 */ ~demo_s1_ke_s();
/* 804A86B4 */ demo_s1_ke_s();
/* 0x000 */ cXyz field_0x0[16];
/* 0x0C0 */ cXyz field_0xc0[16];
/* 0x180 */ cXyz field_0x180;
};
}; // Size: 0x18C
class daDemo00_resID_c {
public:
@ -28,20 +25,12 @@ public:
/* 0x18 */ u32 field_0x18;
/* 0x1C */ u32 field_0x1c;
/* 0x20 */ u32 field_0x20;
};
class daDemo00_model_c {
public:
/* 804A4338 */ void reset();
/* 0x00 */ daDemo00_resID_c field_0x0;
/* 0x24 */ daDemo00_resID_c mID;
};
}; // Size: 0x24
struct daDemo00_bgc_c {
/* 0x00 */ dBgS_GndChk mGndChk;
/* 0x54 */ f32 field_0x54;
};
}; // Size: 0x58
struct daDemo00_shadow_c {
/* 0x00 */ u32 field_0x0;
@ -49,7 +38,25 @@ struct daDemo00_shadow_c {
/* 0x10 */ cXyz field_0x10;
/* 0x1C */ f32 field_0x1c;
/* 0x20 */ f32 field_0x20;
};
}; // Size: 0x24
class daDemo00_model_c {
public:
/* 804A4338 */ void reset();
/* 0x00 */ daDemo00_resID_c mID;
/* 0x24 */ mDoExt_McaMorfSO* mpModelMorf;
/* 0x28 */ J3DModel* field_0x5d4;
/* 0x2C */ mDoExt_invisibleModel* field_0x5d8;
/* 0x30 */ mDoExt_bpkAnm* mpBpkAnm;
/* 0x34 */ mDoExt_btpAnm* mpBtpAnm;
/* 0x38 */ mDoExt_btkAnm* mpBtkAnm;
/* 0x3C */ mDoExt_brkAnm* mpBrkAnm;
/* 0x40 */ daDemo00_shadow_c* mShadow;
/* 0x44 */ J3DDeformData* mDeformData;
/* 0x48 */ mDoExt_blkAnm* mpBlkAnm;
/* 0x4C */ daDemo00_bgc_c* mBgc;
}; // Size: 0x50
/**
* @ingroup actors-unsorted
@ -73,34 +80,20 @@ public:
/* 804A6F94 */ int draw();
/* 804A7BA8 */ int execute();
int create() {
dKy_tevstr_init(&tevStr, dComIfGp_roomControl_getStayNo(), 0xFF);
tevStr.field_0x384 = 1;
mSound.init(&eyePos, NULL, 10, 1);
setAction(&daDemo00_c::actStandby);
mModel.field_0x0.reset();
field_0x6a0 = -1;
return 4;
}
int create();
void setAction(actionFunc action) { field_0x57c = action; }
void action(dDemo_actor_c* actor) { (this->*field_0x57c)(actor); }
/* 0x0568 */ cXyz field_0x568;
/* 0x0574 */ csXyz field_0x574;
#ifdef DEBUG
cXyz debug_field_0x570;
csXyz debug_field_0x57c;
#endif
/* 0x057C */ actionFunc field_0x57c;
/* 0x0584 */ daDemo00_model_c mModel;
/* 0x05D0 */ mDoExt_McaMorfSO* mpModelMorf;
/* 0x05D4 */ J3DModel* field_0x5d4;
/* 0x05D8 */ mDoExt_invisibleModel* field_0x5d8;
/* 0x05DC */ mDoExt_bpkAnm* mpBpkAnm;
/* 0x05E0 */ mDoExt_btpAnm* mpBtpAnm;
/* 0x05E4 */ mDoExt_btkAnm* mpBtkAnm;
/* 0x05E8 */ mDoExt_brkAnm* mpBrkAnm;
/* 0x05EC */ daDemo00_shadow_c* mShadow;
/* 0x05F0 */ J3DDeformData* mDeformData;
/* 0x05F4 */ mDoExt_blkAnm* mpBlkAnm;
/* 0x05F8 */ daDemo00_bgc_c* mBgc;
/* 0x0588 */ daDemo00_resID_c field_0x588;
/* 0x05AC */ daDemo00_model_c mModel;
/* 0x05FC */ Z2Creature mSound;
/* 0x068C */ u32 field_0x68c;
/* 0x0690 */ u8 field_0x690[0x694 - 0x690];
@ -123,9 +116,9 @@ public:
/* 0x06AC */ u8 field_0x6ac;
/* 0x06AD */ u8 field_0x6ad;
/* 0x06AE */ u8 field_0x6ae;
/* 0x06AF */ s8 field_0x6af;
/* 0x06B0 */ s8 field_0x6b0;
/* 0x06B1 */ s8 field_0x6b1;
/* 0x06AF */ u8 field_0x6af;
/* 0x06B0 */ u8 field_0x6b0;
/* 0x06B1 */ u8 field_0x6b1;
/* 0x06B2 */ u8 field_0x6b2;
/* 0x06B3 */ s8 field_0x6b3;
/* 0x06B4 */ s8 field_0x6b4;
@ -143,5 +136,4 @@ public:
STATIC_ASSERT(sizeof(daDemo00_c) == 0x292c);
#endif /* D_A_DEMO00_H */

View File

@ -204,7 +204,7 @@ public:
/* 80841084 */ void setBoarHit(fopAc_ac_c*, int);
/* 8084116C */ void savePos();
/* 808411D0 */ int callHorseSubstance(cXyz const*);
/* 80841468 */ int setHorsePosAndAngleSubstance(cXyz const*, s16);
/* 80841468 */ void setHorsePosAndAngleSubstance(cXyz const*, s16);
/* 808415B4 */ BOOL checkPlayerHeavy();
/* 80841628 */ void setTgCoGrp(u32, u32);
/* 80841698 */ void onRideFlgSubstance();
@ -468,7 +468,7 @@ public:
/* 0x18BC */ void (daHorse_c::*m_setReinPosHand)(int);
/* 0x18C8 */ void (daHorse_c::*m_setReinPosNormal)();
/* 0x18D4 */ int (daHorse_c::*m_callHorse)(const cXyz*);
/* 0x18E0 */ int (daHorse_c::*m_setHorsePosAngle)(const cXyz* i_pos, s16 i_angle);
/* 0x18E0 */ void (daHorse_c::*m_setHorsePosAngle)(const cXyz* i_pos, s16 i_angle);
/* 0x18EC */ void (daHorse_c::*m_onRideFlg)();
/* 0x18F8 */ void (daHorse_c::*m_offRideFlg)();
};

View File

@ -112,9 +112,9 @@ public:
static char* mCutNameList[2];
static cutFunc mCutList[2];
static u16 mEvtBitLabels[6];
static u16 mTmpBitLabels[6];
static int mSceneChangeNoTable[48];
static const u16 mEvtBitLabels[6];
static const u16 mTmpBitLabels[6];
static const int mSceneChangeNoTable[48];
static queryFunc mQueries[48];
private:

View File

@ -124,7 +124,7 @@ public:
void setModel(J3DModel* p_model) { mModel = p_model; }
BOOL checkEnable(u16 flag) { return mFlags & flag; }
void onEnable(u16 flag) { mFlags |= flag; }
void offEnable(u16 flag) { mFlags &= ~flag; }
void offEnable(u16 flag) { mFlags &= (u16)~flag; }
cXyz& getTrans() { return mTrans; }
cXyz& getScale() { return mScale; }
csXyz& getRatate() { return mRotate; }

View File

@ -1,23 +1,36 @@
#ifndef WEAK_BSS_1109_TO_1009_H
#define WEAK_BSS_1109_TO_1009_H
#include "dolphin/types.h"
// Fake header.
// These are some kind of weak objects that get included in the .bss sections of several TUs.
// They each have size 1, and alignment 1 in TWW's debug maps, but alignment 4 in the non-debug maps.
// Their true source is currently unknown, so include this header in TUs that need them to match for now.
static u8 lit_1009[1];
static u8 lit_1010[1];
static u8 lit_1012[1];
static u8 lit_1014[1];
static u8 lit_1052[1];
static u8 lit_1053[1];
static u8 lit_1055[1];
static u8 lit_1057[1];
static u8 lit_1094[1];
static u8 lit_1095[1];
static u8 lit_1097[1];
static u8 lit_1099[1];
static u8 lit_1104[1];
static u8 lit_1105[1];
static u8 lit_1107[1];
static u8 lit_1109[1];
// A possible origin for one of these could be the constructor of TFunctionValueAttribute_refer in
// functionvalue.h. That constructor includes `JGadget::TAllocator<void*>()` in it, which produces
// one weak bss object that has the correct size and alignment. However, we need 16 of them, while
// that only creates one.
#include "JSystem/JStudio/JStudio/functionvalue.h" // IWYU pragma: keep
// They each have size 1, and alignment 1 in TWW's debug maps, but alignment 4 in the non-debug maps.
static inline void dummy_bss_1009_to_1109() {
// JGadget::TAllocator<void*>(); // @1109 // Already covered by TFunctionValueAttribute_refer's ctor
JGadget::TAllocator<void*>(); // @1107
JGadget::TAllocator<void*>(); // @1105
JGadget::TAllocator<void*>(); // @1104
JGadget::TAllocator<void*>(); // @1099
JGadget::TAllocator<void*>(); // @1097
JGadget::TAllocator<void*>(); // @1095
JGadget::TAllocator<void*>(); // @1094
JGadget::TAllocator<void*>(); // @1057
JGadget::TAllocator<void*>(); // @1055
JGadget::TAllocator<void*>(); // @1053
JGadget::TAllocator<void*>(); // @1052
JGadget::TAllocator<void*>(); // @1014
JGadget::TAllocator<void*>(); // @1012
JGadget::TAllocator<void*>(); // @1010
JGadget::TAllocator<void*>(); // @1009
}
#endif // WEAK_BSS_1109_TO_1009_H

View File

@ -46,9 +46,6 @@ ExtrapolateParameter TFunctionValue::toFunction_outside(int idx) {
TFunctionValue::TFunctionValue() {}
TFunctionValue::~TFunctionValue() {}
TFunctionValueAttribute_refer::TFunctionValueAttribute_refer() :
JGadget::TVector_pointer<TFunctionValue*>(JGadget::TAllocator<void*>()) {}
void TFunctionValueAttribute_refer::refer_initialize() {
clear();
}

View File

@ -189,15 +189,17 @@ static int daAndsw2_actionOnAll(daAndsw2_c* i_this) {
case 0:
case 1:
case 5:
case 6:
case 6: {
BOOL temp_r0 = i_this->chkAllSw2() != 0;
var_r29 = temp_r0;
break;
}
case 2:
case 3:
case 3: {
BOOL temp_r0_2 = i_this->chkSwStatus() != 0;
var_r29 = temp_r0_2;
break;
}
case 4:
if (!dComIfGs_isSwitch(i_this->getSwbit(), fopAcM_GetRoomNo(i_this))) {
BOOL temp_r0 = i_this->chkSwStatus2() != 0;
@ -302,15 +304,17 @@ static int daAndsw2_actionOff(daAndsw2_c* i_this) {
case 0:
case 1:
case 5:
case 6:
case 6: {
BOOL temp_r0 = i_this->chkAllSw2() != 0;
var_r29 = temp_r0;
break;
}
case 2:
case 3:
case 3: {
BOOL temp_r0_2 = i_this->chkSwStatus() != 0;
var_r29 = temp_r0_2;
break;
}
case 4:
break;
}

View File

@ -55,7 +55,7 @@ int daBg_btkAnm_c::create(J3DModelData* i_modelData, J3DAnmTextureSRTKey* i_btk,
return 0;
}
if (!mpBtk->init(i_modelData, i_btk, i_anmPlay, -1, 1.0f, 0, -1)) {
if (!mpBtk->init(i_modelData, i_btk, i_anmPlay, J3DFrameCtrl::EMode_NULL, 1.0f, 0, -1)) {
return 0;
}
@ -90,7 +90,7 @@ int daBg_brkAnm_c::create(J3DModelData* i_modelData, J3DAnmTevRegKey* i_brk, int
return 0;
}
if (!mpBrk->init(i_modelData, i_brk, i_anmPlay, -1, 1.0f, 0, -1)) {
if (!mpBrk->init(i_modelData, i_brk, i_anmPlay, J3DFrameCtrl::EMode_NULL, 1.0f, 0, -1)) {
return 0;
}

View File

@ -117,7 +117,7 @@ static u8 const l_blurTop[12] = {
/* 804A2868-804A287A 000018 000C+06 0/0 0/0 0/0 .rodata l_blurRoot */
// unused
static u8 const l_blurRoot[12 + 6] = {
static u8 const l_blurRoot[12] = {
0xC2,
0x20,
0x00,
@ -130,6 +130,10 @@ static u8 const l_blurRoot[12 + 6] = {
0x00,
0x00,
0x00,
};
// TODO: what is this?
static const u8 lbl_46_rodata_24[6] = {
0xB4,
0xA0,
0x8C,

File diff suppressed because it is too large Load Diff

View File

@ -285,7 +285,6 @@ static int getPolyColor(cBgS_PolyInfo& i_polyInfo, int param_2, _GXColor* p_effP
/* 80765B70-80765E70 000B90 0300+00 1/1 0/0 0/0 .text e_rdb_attack__FP11e_rdb_class */
static void e_rdb_attack(e_rdb_class* i_this) {
// NONMATCHING
static u16 ap_name[3] = {
0x8A5C,
0x8A5D,
@ -360,7 +359,6 @@ static void e_rdb_attack(e_rdb_class* i_this) {
/* 80765E70-80766188 000E90 0318+00 1/1 0/0 0/0 .text e_rdb_spin_attack__FP11e_rdb_class
*/
static void e_rdb_spin_attack(e_rdb_class* i_this) {
// NONMATCHING
static u16 ap_name[2] = {
0x8A5F,
0x8A60,

View File

@ -1921,7 +1921,7 @@ static void e_wb_b_ikki(e_wb_class* i_this) {
i_this->field_0x1690 = 0;
}
break;
case 4:
case 4: {
dVar17 = l_HIO.mSingleRiderSpeed;
dVar16 = 5.0f;
i_this->mMovementType = 1;
@ -1976,6 +1976,7 @@ static void e_wb_b_ikki(e_wb_class* i_this) {
}
local_d6 = 0x800;
break;
}
case 5:
if (a_this->speedF > 15.0f) {
i_this->mMovementType = 2;
@ -2104,7 +2105,7 @@ static void e_wb_b_ikki2(e_wb_class* i_this) {
e_rd_class* rider = (e_rd_class*)fopAcM_SearchByID(i_this->field_0x1434);
switch (i_this->mActionMode) {
case -100:
case -100: {
int local_a0 = dComIfGp_getEventManager().getMyStaffId("RiderBoss", NULL, 0);
if (local_a0 != -1) {
dComIfGp_getEventManager().cutEnd(local_a0);
@ -2112,7 +2113,8 @@ static void e_wb_b_ikki2(e_wb_class* i_this) {
anm_init(i_this, 0x2a, 10.0f, 2, 1.0f);
}
break;
case -99:
}
case -99: {
a_this->current.angle.y = 0x58f0;
turn_speed = 0;
local_b6 = 0;
@ -2122,6 +2124,7 @@ static void e_wb_b_ikki2(e_wb_class* i_this) {
i_this->mActionMode = -98;
}
break;
}
case -98:
turn_speed = 0;
break;
@ -3275,7 +3278,7 @@ static s8 e_wb_c_run(e_wb_class* i_this) {
i_this->mStatusFlags |= 0x20;
// fallthrough
case 1:
case 1: {
cXyz target_pos(-62943.0f, -9045.0f, 70997.0f);
local_10c = target_pos - a_this->current.pos;
s16 target_angle = cM_atan2s(local_10c.x, local_10c.z);
@ -3291,7 +3294,7 @@ static s8 e_wb_c_run(e_wb_class* i_this) {
i_this->field_0x17e1 = 1;
}
break;
}
case 2:
if (i_this->field_0x7a6 == 0) {
anm_init(i_this, 0x1b, 3.0f, 0, 1.0f);
@ -3326,7 +3329,7 @@ static s8 e_wb_c_run(e_wb_class* i_this) {
case 0xc:
i_this->mActionMode = 0xd;
// fallthrough
case 0xd:
case 0xd: {
local_10c = a_this->current.pos;
local_10c.y += 500.0f;
cStack_118 = coach->eyePos;
@ -3431,7 +3434,7 @@ static s8 e_wb_c_run(e_wb_class* i_this) {
i_this->mMovementType = 1;
i_this->mPursuitFlag = 1;
break;
}
case 0x14:
anm_init(i_this, 0x25, 3.0f, 2, 1.0f);
i_this->mActionMode = 0x15;
@ -4069,7 +4072,7 @@ static void demo_camera(e_wb_class* i_this) {
i_this->field_0x169e = 0;
}
break;
case 0x19:
case 0x19: {
if (!a_this->eventInfo.checkCommandDemoAccrpt()) {
fopAcM_orderPotentialEvent(a_this, 2, 0xffff, 0);
a_this->eventInfo.onCondition(dEvtCnd_CANDEMO_e);
@ -4089,6 +4092,7 @@ static void demo_camera(e_wb_class* i_this) {
} else {
i_this->field_0x170c = -200.0f;
}
}
case 0x1a:
mDoMtx_stack_c::YrotS(a_this->shape_angle.y);
local_3c.x = i_this->field_0x170c;
@ -4644,7 +4648,7 @@ static void demo_camera(e_wb_class* i_this) {
i_this->field_0x16a0 = 0;
}
break;
case 0x3e:
case 0x3e: {
daObjCRVSTEEL_c* crvSteel = (daObjCRVSTEEL_c*)fopAcM_SearchByName(PROC_Obj_CRVSTEEL);
if (i_this->field_0x16a0 == 20) {
crvSteel->OpenSet(20.0f, 350.0f);
@ -4677,6 +4681,7 @@ static void demo_camera(e_wb_class* i_this) {
i_this->field_0x169e = 0x3f;
i_this->field_0x16a0 = 0;
// fallthrough
}
case 0x3f:
if (i_this->field_0x16a0 == 40) {
rdb->field_0xfe4 = 1;
@ -5916,4 +5921,5 @@ extern actor_process_profile_definition g_profile_E_WB = {
AUDIO_INSTANCES;
#include "JSystem/JAudio2/JAUSectionHeap.h"
template<>
JAUSectionHeap* JASGlobalInstance<JAUSectionHeap>::sInstance;

View File

@ -3365,8 +3365,7 @@ int daHorse_c::callHorseSubstance(cXyz const* i_pos) {
/* 80841468-808415B4 009628 014C+00 1/0 0/0 0/0 .text
* setHorsePosAndAngleSubstance__9daHorse_cFPC4cXyzs */
// NONMATCHING - small regalloc, equivalent
int daHorse_c::setHorsePosAndAngleSubstance(cXyz const* param_0, s16 param_1) {
void daHorse_c::setHorsePosAndAngleSubstance(cXyz const* param_0, s16 param_1) {
int i, j;
cXyz sp10(current.pos);

View File

@ -357,7 +357,6 @@ daNpc_grA_c::cut_type daNpc_grA_c::mEvtCutList[] = {
/* 809BE94C-809BEB24 0000EC 01D8+00 1/1 0/0 0/0 .text __ct__11daNpc_grA_cFv */
daNpc_grA_c::daNpc_grA_c() : daNpcF_c() {
// NONMATCHING
}
/* 809BEB64-809BEDA4 000304 0240+00 1/0 0/0 0/0 .text __dt__11daNpc_grA_cFv */

View File

@ -763,7 +763,6 @@ BOOL daNpc_Sha_c::setAction(actionFunc action) {
/* 80AE45DC-80AE48D0 0018FC 02F4+00 1/1 0/0 0/0 .text getSceneChangeNoTableIx__11daNpc_Sha_cFv */
int daNpc_Sha_c::getSceneChangeNoTableIx() {
// NONMATCHING
int iVar2[48];
BOOL bool_array[48];
int sp_0x40 = 0;
@ -778,7 +777,7 @@ int daNpc_Sha_c::getSceneChangeNoTableIx() {
u8 tmp_reg;
for (int i = 0; i < 6; i++) {
eventReg = dComIfGs_getEventReg(u16(mEvtBitLabels[i]));
eventReg = dComIfGs_getEventReg((u16)mEvtBitLabels[i]);
tmp_reg = 1;
for (int j = 0; j < 8; j++) {
@ -799,10 +798,10 @@ int daNpc_Sha_c::getSceneChangeNoTableIx() {
for (sp_0x40 = 2; sp_0x40 != 0; sp_0x40--) {
for (int idx = 0; idx < 6; idx++) {
tmp_reg = dComIfGs_getTmpReg(mTmpBitLabels[idx]);
eventReg = dComIfGs_getEventReg(u16(mEvtBitLabels[idx]));
tmp_reg = dComIfGs_getTmpReg((u16)mTmpBitLabels[idx]);
eventReg = dComIfGs_getEventReg((u16)mEvtBitLabels[idx]);
tmp_reg |= eventReg;
dComIfGs_setTmpReg(mTmpBitLabels[idx], tmp_reg);
dComIfGs_setTmpReg((u16)mTmpBitLabels[idx], tmp_reg);
}
for (int m = 0; m < 48; m++) {
@ -823,7 +822,7 @@ int daNpc_Sha_c::getSceneChangeNoTableIx() {
sp_0x28++;
}
eventReg = dComIfGs_getTmpReg(mTmpBitLabels[n]);
eventReg = dComIfGs_getTmpReg((u16)mTmpBitLabels[n]);
if ((tmp_reg & eventReg) == 0) {
iVar2[sp_0x3c] = sp_0x30;
sp_0x3c++;
@ -874,7 +873,7 @@ void daNpc_Sha_c::setTempBit(int i_idx) {
u8 reg_r30 = 0;
u8 reg_r29 = 0;
if (i_idx < 48) {
reg_r30 = dComIfGs_getTmpReg(mTmpBitLabels[i_idx / 8]);
reg_r30 = dComIfGs_getTmpReg((u16)mTmpBitLabels[i_idx / 8]);
reg_r29 = 1;
if (i_idx % 8 != 0) {
@ -884,7 +883,7 @@ void daNpc_Sha_c::setTempBit(int i_idx) {
}
reg_r30 |= reg_r29;
dComIfGs_setTmpReg(mTmpBitLabels[i_idx / 8], reg_r30);
dComIfGs_setTmpReg((u16)mTmpBitLabels[i_idx / 8], reg_r30);
}
}
@ -1161,17 +1160,17 @@ int daNpc_Sha_c::test(void* param_1) {
}
/* 80AE711C-80AE7128 000404 000C+00 1/1 0/0 0/0 .data mEvtBitLabels__11daNpc_Sha_c */
u16 daNpc_Sha_c::mEvtBitLabels[6] = {
const u16 daNpc_Sha_c::mEvtBitLabels[6] = {
0xF0FF, 0xEFFF, 0xEEFF, 0xEDFF, 0xECFF, 0xEBFF,
};
/* 80AE7128-80AE7134 000410 000C+00 2/2 0/0 0/0 .data mTmpBitLabels__11daNpc_Sha_c */
u16 daNpc_Sha_c::mTmpBitLabels[6] = {
const u16 daNpc_Sha_c::mTmpBitLabels[6] = {
0xFAFF, 0xF9FF, 0xF8FF, 0xF7FF, 0xF6FF, 0xF5FF,
};
/* 80AE7134-80AE71F4 00041C 00C0+00 1/1 0/0 0/0 .data mSceneChangeNoTable__11daNpc_Sha_c */
int daNpc_Sha_c::mSceneChangeNoTable[48] = {
const int daNpc_Sha_c::mSceneChangeNoTable[48] = {
1, 2, 3, 4,
5, 6, 7, 8,
9, 0xA, 0xB, 0xC,

View File

@ -167,7 +167,7 @@ int useHeapInit(fopAc_ac_c* i_this) {
J3DAnmTevRegKey* tev_anm = static_cast<J3DAnmTevRegKey*>(dComIfG_getObjectRes("Obj_Bef", bef_brk[a_this->mEffectType]));
if (!a_this->mpBrk->init(a_this->mpModel->getModelData(), tev_anm, 1,0,1.0f,0,-1)) {
if (!a_this->mpBrk->init(a_this->mpModel->getModelData(), tev_anm, 1, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1)) {
return 0;
}

View File

@ -2109,7 +2109,7 @@ void dPa_light8PcallBack::draw(JPABaseEmitter* param_1, JPABaseParticle* param_2
/* 8004E6A8-8004ED44 048FE8 069C+00 1/0 0/0 0/0 .text
* draw__25dPa_gen_b_light8PcallBackFP14JPABaseEmitterP15JPABaseParticle */
// NONMATCHING regalloc
// NONMATCHING - fpr regalloc
void dPa_gen_b_light8PcallBack::draw(JPABaseEmitter* param_1, JPABaseParticle* param_2) {
Mtx local_80;
JGeometry::TVec3<f32> local_8c;

View File

@ -775,7 +775,7 @@ static JKRSolidHeap* mDoExt_createSolidHeap(u32 i_size, JKRHeap* i_heap, u32 i_a
JKRSolidHeap* createdHeap;
if (i_size == 0 || i_size == 0xFFFFFFFF) {
createdHeap = JKRSolidHeap::create(0xFFFFFFFFFF, i_heap, false);
createdHeap = JKRSolidHeap::create(0xFFFFFFFF, i_heap, false);
} else {
i_size = ALIGN_NEXT(i_size, 0x10);
i_size += 0x80;