mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-08-15 20:15:32 -04:00
More miscellaneous TU improvements (#2665)
This commit is contained in:
@@ -391,7 +391,10 @@ void daAlink_c::setCrawlMoveAngle() {
|
||||
}
|
||||
|
||||
mLinkGndChk.SetPos(&sp20);
|
||||
sp2C.set(sp20.x - sp38.x, dComIfG_Bgsp().GroundCross(&mLinkGndChk) - sp38.y,
|
||||
// dBgS::GroundCross is implicitly inlined to cBgS::GroundCross, but for some
|
||||
// reason here that breaks the match. This is the only place in the code so
|
||||
// far (September 2025) where it causes issues.
|
||||
sp2C.set(sp20.x - sp38.x, ((cBgS&)dComIfG_Bgsp()).GroundCross(&mLinkGndChk) - sp38.y,
|
||||
sp20.z - sp38.z);
|
||||
|
||||
if (cLib_distanceAngleS(sp2C.atan2sY_XZ(), shape_angle.x) > 0x800) {
|
||||
|
||||
@@ -768,7 +768,7 @@ void daE_HP_c::executeDead() {
|
||||
-1, 0, 0);
|
||||
}
|
||||
|
||||
if (fopAcM_IsExecuting(field_0x784)) {
|
||||
if (fopAcM_IsExecuting(field_0x784) != FALSE) {
|
||||
fopAc_ac_c* player = dComIfGp_getPlayer(0);
|
||||
if (player->eventInfo.chkCondition(8)) {
|
||||
field_0x778 =
|
||||
|
||||
+26
-21
@@ -199,8 +199,8 @@ static u8 l_initHIO;
|
||||
static daE_PZ_HIO_c l_HIO;
|
||||
|
||||
/* 80761E29 0003+00 data_80761E29 None */
|
||||
static u8 data_80761E28;
|
||||
static u8 data_80761E29;
|
||||
static u8 lbl_222_bss_70;
|
||||
static u8 lbl_222_bss_71;
|
||||
|
||||
/* 80758A94-80758BA0 000614 010C+00 3/3 0/0 0/0 .text mPzScaleSet__8daE_PZ_cFb */
|
||||
bool daE_PZ_c::mPzScaleSet(bool param_0) {
|
||||
@@ -481,6 +481,7 @@ void daE_PZ_c::executeOpeningDemo() {
|
||||
cXyz sp108;
|
||||
cXyz spFC;
|
||||
|
||||
f32 var_f31 = 0.0f;
|
||||
fopAc_ac_c* parent;
|
||||
int sp28 = 22;
|
||||
|
||||
@@ -645,11 +646,11 @@ void daE_PZ_c::executeOpeningDemo() {
|
||||
|
||||
if (mAnm != 0xD) {
|
||||
setBck(0xD, 2, 3.0f, 1.0f);
|
||||
parentActorID = fopAcM_createChild(PROC_E_PZ, fopAcM_GetID(this), sp28 + arg0, &field_0x7a8, fopAcM_GetRoomNo(this), &shape_angle, NULL, -1, NULL);
|
||||
// fakematch, fpcM_GetID should be fopAcM_GetID
|
||||
parentActorID = fopAcM_createChild(PROC_E_PZ, fpcM_GetID(this), sp28 + arg0, &field_0x7a8, fopAcM_GetRoomNo(this), &shape_angle, NULL, -1, NULL);
|
||||
}
|
||||
|
||||
field_0x7d8 = 0;
|
||||
data_80761E29 = 0;
|
||||
lbl_222_bss_71 = field_0x7d8 = 0;
|
||||
|
||||
if (field_0x7d0 == 0) {
|
||||
field_0x7d0 = 120;
|
||||
@@ -743,9 +744,8 @@ void daE_PZ_c::executeOpeningDemo() {
|
||||
}
|
||||
break;
|
||||
case 130:
|
||||
field_0x7d8 = 2;
|
||||
data_80761E29 = 2;
|
||||
data_80761E28 = 0;
|
||||
lbl_222_bss_71 = field_0x7d8 = 2;
|
||||
lbl_222_bss_70 = 0;
|
||||
case 30:
|
||||
if (!eventInfo.checkCommandDemoAccrpt()) {
|
||||
fopAcM_orderPotentialEvent(this, 2, 0xFFFF, 3);
|
||||
@@ -764,11 +764,13 @@ void daE_PZ_c::executeOpeningDemo() {
|
||||
|
||||
sp120.set(mPzCenterInit_dt[7]);
|
||||
sp108 = mDemoCameraCenter - sp120;
|
||||
cLib_addCalcPos(&mDemoCameraCenter, sp120, 0.7f, sp108.abs() / 20.0f, 1.0f);
|
||||
var_f31 = sp108.abs() / 20.0f;
|
||||
cLib_addCalcPos(&mDemoCameraCenter, sp120, 0.7f, var_f31, 1.0f);
|
||||
|
||||
sp114.set(mPzEyeInit_dt[7]);
|
||||
spFC = mDemoCameraEye - sp114;
|
||||
cLib_addCalcPos(&mDemoCameraEye, sp114, 0.7f, spFC.abs() / 20.0f, 1.0f);
|
||||
var_f31 = spFC.abs() / 20.0f;
|
||||
cLib_addCalcPos(&mDemoCameraEye, sp114, 0.7f, var_f31, 1.0f);
|
||||
|
||||
if (field_0x7d0 == 0) {
|
||||
if (fopAcM_SearchByID(parentActorID, &parent) && parent != NULL) {
|
||||
@@ -851,7 +853,7 @@ void daE_PZ_c::executeOpeningDemo() {
|
||||
|
||||
if (field_0x7d7 != 0) {
|
||||
if (field_0x7d7 == 1) {
|
||||
data_80761E28 = 1;
|
||||
lbl_222_bss_70 = 1;
|
||||
|
||||
mDemoCameraCenter.set(mPzCenterInit_dt[17]);
|
||||
mDemoCameraEye.set(mPzEyeInit_dt[17]);
|
||||
@@ -956,11 +958,13 @@ void daE_PZ_c::executeOpeningDemo() {
|
||||
case 106:
|
||||
sp120.set(mPzCenterInit_dt[12]);
|
||||
sp108 = mDemoCameraCenter - sp120;
|
||||
cLib_addCalcPos(&mDemoCameraCenter, sp120, 0.7f, sp108.abs() / 10.0f, 1.0f);
|
||||
var_f31 = sp108.abs() / 10.0f;
|
||||
cLib_addCalcPos(&mDemoCameraCenter, sp120, 0.7f, var_f31, 1.0f);
|
||||
|
||||
sp114.set(mPzEyeInit_dt[12]);
|
||||
spFC = mDemoCameraEye - sp114;
|
||||
cLib_addCalcPos(&mDemoCameraEye, sp114, 0.7f, spFC.abs() / 10.0f, 1.0f);
|
||||
var_f31 = spFC.abs() / 10.0f;
|
||||
cLib_addCalcPos(&mDemoCameraEye, sp114, 0.7f, var_f31, 1.0f);
|
||||
|
||||
if (field_0x7d0 != 0 || sp108.abs() > 2.0f || spFC.abs() > 2.0f) {
|
||||
break;
|
||||
@@ -998,10 +1002,10 @@ void daE_PZ_c::executeOpeningDemo() {
|
||||
case 109:
|
||||
if (mAnm == 0xB && mpModelMorf->isStop()) {
|
||||
setBck(0xD, 2, 3.0f, 1.0f);
|
||||
parentActorID = fopAcM_createChild(PROC_E_PZ, fopAcM_GetID(this), sp28 + arg0, &field_0x7a8, fopAcM_GetRoomNo(this), &shape_angle, NULL, -1, NULL);
|
||||
// fakematch, fpcM_GetID should be fopAcM_GetID
|
||||
parentActorID = fopAcM_createChild(PROC_E_PZ, fpcM_GetID(this), sp28 + arg0, &field_0x7a8, fopAcM_GetRoomNo(this), &shape_angle, NULL, -1, NULL);
|
||||
|
||||
field_0x7d8 = 2;
|
||||
data_80761E29 = 2;
|
||||
lbl_222_bss_71 = field_0x7d8 = 2;
|
||||
}
|
||||
|
||||
if (mAnm != 0xB && mAnm != 0xD) {
|
||||
@@ -1147,11 +1151,12 @@ void daE_PZ_c::executeOpeningDemo() {
|
||||
} else {
|
||||
daPy_getPlayerActorClass()->changeDemoMode(0x17, 1, 0, 0);
|
||||
}
|
||||
|
||||
|
||||
mDemoCameraCenter.set(mPzCenterInit_dt[3]);
|
||||
mDemoCameraEye.set(mPzEyeInit_dt[4]);
|
||||
|
||||
parentActorID = fopAcM_createChild(PROC_E_PZ, fopAcM_GetID(this), sp28 + arg0, &field_0x7a8, fopAcM_GetRoomNo(this), &shape_angle, NULL, -1, NULL);
|
||||
// fakematch, fpcM_GetID should be fopAcM_GetID
|
||||
parentActorID = fopAcM_createChild(PROC_E_PZ, fpcM_GetID(this), sp28 + arg0, &field_0x7a8, fopAcM_GetRoomNo(this), &shape_angle, NULL, -1, NULL);
|
||||
|
||||
setBck(0xC, 0, 10.0f, 1.0f);
|
||||
daPy_getPlayerActorClass()->changeDemoMode(0x10, 0, 0, 0);
|
||||
@@ -1447,7 +1452,7 @@ void daE_PZ_c::executeAttack() {
|
||||
}
|
||||
|
||||
var_r27++;
|
||||
if (data_80761E29 != var_r28) {
|
||||
if (lbl_222_bss_71 != var_r28) {
|
||||
field_0x7d8 = var_r28;
|
||||
var_r27 = 100;
|
||||
}
|
||||
@@ -1967,7 +1972,7 @@ void daE_PZ_c::executeSummonsBullet() {
|
||||
|
||||
if (((daE_PZ_c*)sp8C)->field_0x7dc[field_0x7d7] == 0) {
|
||||
sp84 = BIRTH_DT[((daE_PZ_c*)sp8C)->field_0x7d8].parameters;
|
||||
data_80761E29 = ((daE_PZ_c*)sp8C)->field_0x7d8;
|
||||
lbl_222_bss_71 = ((daE_PZ_c*)sp8C)->field_0x7d8;
|
||||
|
||||
if (((daE_PZ_c*)sp8C)->field_0x7d8 == 2) {
|
||||
sp84 |= field_0x7d7 << 8;
|
||||
@@ -2062,7 +2067,7 @@ void daE_PZ_c::executeSummonsBullet() {
|
||||
if (((daE_PZ_c*)sp88)->field_0x841 != 0) {
|
||||
field_0x7d7 = 1;
|
||||
|
||||
if (data_80761E28 == 0) {
|
||||
if (lbl_222_bss_70 == 0) {
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
+144
-116
@@ -179,6 +179,15 @@ static int l_bmdData[6][2] = {
|
||||
{BMDR_LEAF, YKM3},
|
||||
};
|
||||
|
||||
enum BmdIndex {
|
||||
BMD_INDEX_YKM,
|
||||
BMD_INDEX_YKM_TOMATO,
|
||||
BMD_INDEX_YKM_LEAF,
|
||||
BMD_INDEX_YKM_CHEESE,
|
||||
BMD_INDEX_FISH,
|
||||
BMD_INDEX_LEAF,
|
||||
};
|
||||
|
||||
/* 80B5DB38-80B5DB88 -00001 0050+00 0/1 0/0 0/0 .data l_evtList */
|
||||
static daNpcT_evtData_c l_evtList[10] = {
|
||||
{"", 0},
|
||||
@@ -547,21 +556,26 @@ cPhs__Step daNpc_ykM_c::create() {
|
||||
|
||||
/* 80B53990-80B53F00 000590 0570+00 1/1 0/0 0/0 .text CreateHeap__11daNpc_ykM_cFv */
|
||||
int daNpc_ykM_c::CreateHeap() {
|
||||
// NONMATCHING
|
||||
J3DModelData* mdlData_p = (J3DModelData*)dComIfG_getObjectRes(l_resNameList[l_bmdData[mTwilight ? 0 : 1][1]],
|
||||
l_bmdData[mTwilight ? 0 : 1][0]);
|
||||
void* mdlData_p = NULL;
|
||||
J3DModel* model = NULL;
|
||||
|
||||
int sp40 = mTwilight == 1 ? BMD_INDEX_YKM : BMD_INDEX_YKM;
|
||||
int arcNameIdx = l_bmdData[sp40][1];
|
||||
int resIndex = l_bmdData[sp40][0];
|
||||
mdlData_p = dComIfG_getObjectRes(l_resNameList[arcNameIdx], resIndex);
|
||||
if (mdlData_p == NULL) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
mpMorf[0] = new mDoExt_McaMorfSO(mdlData_p, NULL, NULL, NULL, -1, 1.0f, 0, -1, &mSound, 0x80000, 0x11020284);
|
||||
int sp34 = 0x11020284;
|
||||
mpMorf[0] = new mDoExt_McaMorfSO((J3DModelData*)mdlData_p, NULL, NULL, NULL, -1, 1.0f, 0, -1, &mSound, 0x80000, sp34);
|
||||
if (mpMorf[0] == NULL || mpMorf[0]->getModel() == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
J3DModel* model = mpMorf[0]->getModel();
|
||||
for (u16 i = 0; i < mdlData_p->getJointNum(); i++) {
|
||||
mdlData_p->getJointNodePointer(i)->setCallBack(ctrlJointCallBack);
|
||||
model = mpMorf[0]->getModel();
|
||||
for (u16 i = 0; i < ((J3DModelData*)mdlData_p)->getJointNum(); i++) {
|
||||
((J3DModelData*)mdlData_p)->getJointNodePointer(i)->setCallBack(ctrlJointCallBack);
|
||||
}
|
||||
model->setUserArea((uintptr_t)this);
|
||||
|
||||
@@ -570,66 +584,74 @@ int daNpc_ykM_c::CreateHeap() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int const bmdTypeList[3] = {1, 2, 3};
|
||||
static BmdIndex const bmdTypeList[3] = {BMD_INDEX_YKM_TOMATO, BMD_INDEX_YKM_LEAF, BMD_INDEX_YKM_CHEESE};
|
||||
switch (mType) {
|
||||
case TYPE_COOK:
|
||||
for (int i = 0; i < 3; i++) {
|
||||
if (l_bmdData[bmdTypeList[i]][0] >= 0) {
|
||||
mdlData_p = (J3DModelData*)dComIfG_getObjectRes(l_resNameList[l_bmdData[bmdTypeList[i]][1]], l_bmdData[bmdTypeList[i]][0]);
|
||||
} else {
|
||||
mdlData_p = NULL;
|
||||
}
|
||||
|
||||
// field_0xe4c holds a Pumpkin, Leaf, and Cheese model (in that order)
|
||||
if (mdlData_p != NULL) {
|
||||
field_0xe4c[i] = mDoExt_J3DModel__create(mdlData_p, 0x80000, 0x11000084);
|
||||
} else {
|
||||
field_0xe4c[i] = NULL;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case TYPE_2:
|
||||
mdlData_p = (J3DModelData*)dComIfG_getObjectRes(l_resNameList[l_bmdData[4][1]], l_bmdData[4][0]);
|
||||
|
||||
JUT_ASSERT(1595, 0 != mdlData_p);
|
||||
|
||||
mFishModelMorf = new mDoExt_McaMorfSO(mdlData_p, NULL, NULL, NULL, -1, 1.0f, 0, -1,
|
||||
NULL, 0x80000, 0x11000084);
|
||||
if (mFishModelMorf == NULL || mFishModelMorf->getModel() == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
mdlData_p = (J3DModelData*)dComIfG_getObjectRes(l_resNameList[l_bmdData[5][1]], l_bmdData[5][0]);
|
||||
|
||||
JUT_ASSERT(1622, 0 != mdlData_p);
|
||||
|
||||
mLeafModelMorf = new mDoExt_McaMorfSO(mdlData_p, NULL, NULL, NULL, -1, 1.0f, 0, -1,
|
||||
NULL, 0x80000, 0x11000084);
|
||||
if (mLeafModelMorf == NULL || mLeafModelMorf->getModel() == NULL) {
|
||||
return 0;
|
||||
}
|
||||
setLeafAnm(ANM_LEAF_WAIT_A, 0.0f);
|
||||
|
||||
mdlData_p = (J3DModelData*)dComIfG_getObjectRes(l_resNameList[l_bmdData[bmdTypeList[1]][1]], l_bmdData[bmdTypeList[1]][0]);
|
||||
if (mdlData_p != NULL) {
|
||||
field_0xe4c[1] = mDoExt_J3DModel__create(mdlData_p, 0x80000, 0x11000084);
|
||||
case TYPE_COOK:
|
||||
for (int i = 0; i < 3; i++) {
|
||||
if (l_bmdData[bmdTypeList[i]][0] >= 0) {
|
||||
mdlData_p = (J3DModelData*)dComIfG_getObjectRes(l_resNameList[l_bmdData[bmdTypeList[i]][1]], l_bmdData[bmdTypeList[i]][0]);
|
||||
} else {
|
||||
field_0xe4c[1] = NULL;
|
||||
mdlData_p = NULL;
|
||||
}
|
||||
break;
|
||||
|
||||
case TYPE_3:
|
||||
break;
|
||||
|
||||
case TYPE_4:
|
||||
mdlData_p = (J3DModelData*)dComIfG_getObjectRes(l_resNameList[l_bmdData[bmdTypeList[1]][1]], l_bmdData[bmdTypeList[1]][0]);
|
||||
// field_0xe4c holds a Pumpkin, Leaf, and Cheese model (in that order)
|
||||
if (mdlData_p != NULL) {
|
||||
field_0xe4c[1] = mDoExt_J3DModel__create(mdlData_p, 0x80000, 0x11000084);
|
||||
field_0xe4c[i] = mDoExt_J3DModel__create((J3DModelData*)mdlData_p, 0x80000, 0x11000084);
|
||||
} else {
|
||||
field_0xe4c[1] = NULL;
|
||||
field_0xe4c[i] = NULL;
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case TYPE_2:
|
||||
sp40 = BMD_INDEX_FISH;
|
||||
arcNameIdx = l_bmdData[sp40][1];
|
||||
resIndex = l_bmdData[sp40][0];
|
||||
mdlData_p = (J3DModelData*)dComIfG_getObjectRes(l_resNameList[arcNameIdx], resIndex);
|
||||
|
||||
JUT_ASSERT(1595, 0 != mdlData_p);
|
||||
|
||||
sp34 = 0x11000084;
|
||||
mFishModelMorf = new mDoExt_McaMorfSO((J3DModelData*)mdlData_p, NULL, NULL, NULL, -1, 1.0f, 0, -1,
|
||||
NULL, 0x80000, sp34);
|
||||
if (mFishModelMorf == NULL || mFishModelMorf->getModel() == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
sp40 = BMD_INDEX_LEAF;
|
||||
arcNameIdx = l_bmdData[BMD_INDEX_LEAF][1];
|
||||
resIndex = l_bmdData[BMD_INDEX_LEAF][0];
|
||||
mdlData_p = (J3DModelData*)dComIfG_getObjectRes(l_resNameList[arcNameIdx], resIndex);
|
||||
|
||||
JUT_ASSERT(1622, 0 != mdlData_p);
|
||||
|
||||
sp34 = 0x11000084;
|
||||
mLeafModelMorf = new mDoExt_McaMorfSO((J3DModelData*)mdlData_p, NULL, NULL, NULL, -1, 1.0f, 0, -1,
|
||||
NULL, 0x80000, sp34);
|
||||
if (mLeafModelMorf == NULL || mLeafModelMorf->getModel() == NULL) {
|
||||
return 0;
|
||||
}
|
||||
setLeafAnm(ANM_LEAF_WAIT_A, 0.0f);
|
||||
|
||||
mdlData_p = (J3DModelData*)dComIfG_getObjectRes(l_resNameList[l_bmdData[bmdTypeList[1]][1]], l_bmdData[bmdTypeList[1]][0]);
|
||||
if (mdlData_p != NULL) {
|
||||
field_0xe4c[1] = mDoExt_J3DModel__create((J3DModelData*)mdlData_p, 0x80000, 0x11000084);
|
||||
} else {
|
||||
field_0xe4c[1] = NULL;
|
||||
}
|
||||
break;
|
||||
|
||||
case TYPE_3:
|
||||
break;
|
||||
|
||||
case TYPE_4:
|
||||
mdlData_p = (J3DModelData*)dComIfG_getObjectRes(l_resNameList[l_bmdData[bmdTypeList[1]][1]], l_bmdData[bmdTypeList[1]][0]);
|
||||
if (mdlData_p != NULL) {
|
||||
field_0xe4c[1] = mDoExt_J3DModel__create((J3DModelData*)mdlData_p, 0x80000, 0x11000084);
|
||||
} else {
|
||||
field_0xe4c[1] = NULL;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (setFaceMotionAnm(1, false) && setMotionAnm(0, 0.0f, FALSE)) {
|
||||
@@ -864,8 +886,8 @@ BOOL daNpc_ykM_c::isDelete() {
|
||||
}
|
||||
|
||||
/* 80B548A8-80B54B44 0014A8 029C+00 1/1 0/0 0/0 .text reset__11daNpc_ykM_cFv */
|
||||
// NONMATCHING - m_nextID load issue, regalloc
|
||||
void daNpc_ykM_c::reset() {
|
||||
// NONMATCHING
|
||||
csXyz angle;
|
||||
int iVar1 = (u8*)&field_0x1588 - (u8*)&mpNextAction;
|
||||
|
||||
@@ -878,7 +900,7 @@ void daNpc_ykM_c::reset() {
|
||||
}
|
||||
|
||||
memset(&mpNextAction, 0, iVar1);
|
||||
|
||||
|
||||
if (getPathID() != 0xFF) {
|
||||
mPath.initialize();
|
||||
mPath.setPathInfo(getPathID(), fopAcM_GetRoomNo(this), 0);
|
||||
@@ -894,6 +916,8 @@ void daNpc_ykM_c::reset() {
|
||||
angle.y = home.angle.y;
|
||||
|
||||
switch (mType) {
|
||||
case TYPE_COOK:
|
||||
break;
|
||||
case TYPE_2:
|
||||
field_0x1568 = -20.0f;
|
||||
field_0x1579 = 1;
|
||||
@@ -1277,8 +1301,9 @@ void daNpc_ykM_c::afterMoved() {
|
||||
}
|
||||
|
||||
/* 80B55A64-80B560B4 002664 0650+00 1/0 0/0 0/0 .text setAttnPos__11daNpc_ykM_cFv */
|
||||
// NONMATCHING - HIO load issue
|
||||
void daNpc_ykM_c::setAttnPos() {
|
||||
// NONMATCHING
|
||||
fopAc_ac_c* otherYkmP = NULL;
|
||||
cXyz sp104(80.0f, 30.0f, 0.0f);
|
||||
cXyz sp110(80.0f, 0.0f, 0.0f);
|
||||
|
||||
@@ -1291,25 +1316,26 @@ void daNpc_ykM_c::setAttnPos() {
|
||||
}
|
||||
|
||||
f32 fVar1 = cM_s2rad((s16)(mCurAngle.y - field_0xd7e.y));
|
||||
f32 fVar2 = field_0x1574 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.head_angleY_max;
|
||||
f32 fVar3 = field_0x1574 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.head_angleY_min;
|
||||
f32 fVar4 = field_0x1574 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.head_angleX_max;
|
||||
f32 fVar5 = field_0x1574 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.head_angleX_min;
|
||||
f32 fVar6 = field_0x1575 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.body_angleY_max;
|
||||
f32 fVar7 = field_0x1575 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.body_angleY_min;
|
||||
f32 fVar8 = field_0x1575 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.body_angleX_max;
|
||||
f32 fVar9 = field_0x1575 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.body_angleX_min;
|
||||
J3DModel* model = mpMorf[0]->getModel();
|
||||
mJntAnm.setParam(this, model, &sp104, getBackboneJointNo(), getNeckJointNo(), getHeadJointNo(), fVar9, fVar8, fVar7, fVar6, fVar5, fVar4, fVar3,
|
||||
fVar2, daNpc_ykM_Param_c::m.common.neck_rotation_ratio, fVar1, &sp110);
|
||||
|
||||
mJntAnm.setParam(this, mpMorf[0]->getModel(), &sp104,
|
||||
getBackboneJointNo(), getNeckJointNo(), getHeadJointNo(),
|
||||
field_0x1575 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.body_angleX_min,
|
||||
field_0x1575 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.body_angleX_max,
|
||||
field_0x1575 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.body_angleY_min,
|
||||
field_0x1575 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.body_angleY_max,
|
||||
field_0x1574 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.head_angleX_min,
|
||||
field_0x1574 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.head_angleX_max,
|
||||
field_0x1574 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.head_angleY_min,
|
||||
field_0x1574 != 0 ? 0.0f : daNpc_ykM_Param_c::m.common.head_angleY_max,
|
||||
daNpc_ykM_Param_c::m.common.neck_rotation_ratio, fVar1, &sp110);
|
||||
|
||||
if (mJntAnm.getMode() == daNpcT_JntAnm_c::LOOK_MODE_8) {
|
||||
mJntAnm.calcJntRad(0.1f, 1.0f, fVar1);
|
||||
} else {
|
||||
mJntAnm.calcJntRad(0.2f, 1.0f, fVar1);
|
||||
}
|
||||
|
||||
model = mpMorf[0]->getModel();
|
||||
J3DModel* model = mpMorf[0]->getModel();
|
||||
J3DModelData* modelData = model->getModelData();
|
||||
cXyz sp11c(current.pos);
|
||||
sp11c.y += field_0x1568;
|
||||
mDoMtx_stack_c::transS(sp11c);
|
||||
@@ -1336,7 +1362,7 @@ void daNpc_ykM_c::setAttnPos() {
|
||||
mDoMtx_stack_c::multVecZero(&sp128);
|
||||
|
||||
Mtx mtx;
|
||||
MTXCopy(mDoMtx_stack_c::get(), mtx);
|
||||
cMtx_copy(mDoMtx_stack_c::get(), mtx);
|
||||
mFishModelMorf->getModel()->setBaseTRMtx(mtx);
|
||||
mFishModelMorf->modelCalc();
|
||||
|
||||
@@ -1348,7 +1374,7 @@ void daNpc_ykM_c::setAttnPos() {
|
||||
if (mLeafModelMorf != NULL) {
|
||||
mLeafModelMorf->play(0, 0);
|
||||
|
||||
fopAc_ac_c* otherYkmP = getOtherYkmP(5);
|
||||
otherYkmP = getOtherYkmP(5);
|
||||
if (otherYkmP != NULL) {
|
||||
mDoMtx_stack_c::transS(otherYkmP->current.pos);
|
||||
mDoMtx_stack_c::ZXYrotM(otherYkmP->shape_angle);
|
||||
@@ -2042,7 +2068,7 @@ int daNpc_ykM_c::cutGetTomatoPuree(int i_cutIndex) {
|
||||
}
|
||||
}
|
||||
|
||||
int iVar2[2] = {0, -1};
|
||||
int iVar2[2] = {-1, -1};
|
||||
daObj_Gadget_c* actor_p;
|
||||
f32 fVar1;
|
||||
int iVar1;
|
||||
@@ -2260,7 +2286,7 @@ int daNpc_ykM_c::cutGetTaste(int i_cutIndex) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
int iVar2[2] = {0, -1};
|
||||
int iVar2[2] = {-1, -1};
|
||||
daObj_Gadget_c* actor_p;
|
||||
f32 fVar1;
|
||||
int iVar1;
|
||||
@@ -2397,8 +2423,7 @@ int daNpc_ykM_c::cutGetTaste(int i_cutIndex) {
|
||||
|
||||
/* 80B58A38-80B59500 005638 0AC8+00 1/0 0/0 0/0 .text cutLv5DungeonClear__11daNpc_ykM_cFi */
|
||||
int daNpc_ykM_c::cutLv5DungeonClear(int i_cutIndex) {
|
||||
// NONMATCHING
|
||||
daPy_py_c* player = daPy_getPlayerActorClass();
|
||||
daPy_py_c* player = (daPy_py_c*)daPy_getPlayerActorClass();
|
||||
cXyz work;
|
||||
int rv = 0;
|
||||
int prm = -1;
|
||||
@@ -2415,6 +2440,8 @@ int daNpc_ykM_c::cutLv5DungeonClear(int i_cutIndex) {
|
||||
}
|
||||
|
||||
fopAc_ac_c* actor_p;
|
||||
s16 sVar1;
|
||||
s16 angleY;
|
||||
if (dComIfGp_getEventManager().getIsAddvance(i_cutIndex)) {
|
||||
switch (prm) {
|
||||
case 0:
|
||||
@@ -2429,7 +2456,8 @@ int daNpc_ykM_c::cutLv5DungeonClear(int i_cutIndex) {
|
||||
mMotionSeqMngr.setNo(MOTION_RUN, -1.0f, FALSE, 0);
|
||||
mSound.startCreatureVoice(Z2SE_YKM_V_DASH, -1);
|
||||
mEventTimer = timer;
|
||||
daPy_getPlayerActorClass()->setPlayerPosAndAngle(&player->current.pos, fopAcM_searchActorAngleY(player, this), 0);
|
||||
angleY = fopAcM_searchActorAngleY(player, this);
|
||||
((daPy_py_c*)daPy_getPlayerActorClass())->setPlayerPosAndAngle(&player->current.pos, angleY, 0);
|
||||
dComIfGp_getEvent().setPt2(this);
|
||||
break;
|
||||
|
||||
@@ -2525,7 +2553,6 @@ int daNpc_ykM_c::cutLv5DungeonClear(int i_cutIndex) {
|
||||
}
|
||||
|
||||
int iVar2[2] = {-1, -1};
|
||||
s16 sVar1;
|
||||
switch (prm) {
|
||||
case 0:
|
||||
rv = 1;
|
||||
@@ -2967,8 +2994,8 @@ static u8 const lit_7385[8] = {
|
||||
|
||||
/* 80B5A128-80B5A224 006D28 00FC+00 1/1 0/0 0/0 .text setDialogueMotion__11daNpc_ykM_cFv */
|
||||
void daNpc_ykM_c::setDialogueMotion() {
|
||||
// NONMATCHING
|
||||
u32 uVar1 = field_0x154c >> 1;
|
||||
int uVar1 = field_0x154c;
|
||||
uVar1 >>= 1;
|
||||
|
||||
if (0.5f < cM_rnd()) {
|
||||
if (cM_rnd() - 0.5f < 0.0f) {
|
||||
@@ -3319,7 +3346,6 @@ BOOL daNpc_ykM_c::cook(void* param_1) {
|
||||
|
||||
/* 80B5B260-80B5BE08 007E60 0BA8+00 2/0 0/0 0/0 .text race__11daNpc_ykM_cFPv */
|
||||
BOOL daNpc_ykM_c::race(void* param_1) {
|
||||
// NONMATCHING
|
||||
cXyz work;
|
||||
fopAc_ac_c* actors[2] = {this, daPy_getPlayerActorClass()};
|
||||
s16 sVar1;
|
||||
@@ -3397,7 +3423,8 @@ BOOL daNpc_ykM_c::race(void* param_1) {
|
||||
}
|
||||
|
||||
if (field_0x157e == 0) {
|
||||
do {
|
||||
int idx;
|
||||
while (true) {
|
||||
if (mPath.chkPassed1(current.pos, mPath.getNumPnts())) {
|
||||
if (mPath.getArg0() == 0) {
|
||||
mSound.startCreatureSound(Z2SE_YM_SNOBO_JUMP, 0, -1);
|
||||
@@ -3408,46 +3435,47 @@ BOOL daNpc_ykM_c::race(void* param_1) {
|
||||
if (mPath.setNextIdx(mPath.getNumPnts()) != 0) {
|
||||
field_0x1585 = 1;
|
||||
mMotionSeqMngr.setNo(MOTION_SB_GOAL, -1.0f, FALSE, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (field_0x157e == 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
int idx;
|
||||
if (field_0x157e != 0) {
|
||||
if (!mStagger.checkStagger()) {
|
||||
mMotionSeqMngr.setNo(MOTION_SB_JUMP_A, -1.0f, FALSE, 0);
|
||||
}
|
||||
if (!mStagger.checkStagger()) {
|
||||
mMotionSeqMngr.setNo(MOTION_SB_JUMP_A, -1.0f, FALSE, 0);
|
||||
}
|
||||
|
||||
field_0x1514 = current.pos;
|
||||
field_0x1514 = current.pos;
|
||||
idx = mPath.getIdx();
|
||||
field_0x1520 = mPath.getPntPos(idx);
|
||||
current.angle.y = cLib_targetAngleY(&field_0x1514, &field_0x1520);
|
||||
int iVar3 = (int)((field_0x1520 - field_0x1514).absXZ() / speedF) + 1;
|
||||
speed.y = (field_0x1520.y - field_0x1514.y) + fabsf(gravity) * iVar3 * iVar3 * 0.5f;
|
||||
speed.y /= iVar3;
|
||||
}
|
||||
} else {
|
||||
idx = mPath.getIdx();
|
||||
field_0x1520 = mPath.getPntPos(idx);
|
||||
current.angle.y = cLib_targetAngleY(&field_0x1514, &field_0x1520);
|
||||
int iVar3 = (int)((field_0x1520 - field_0x1514).absXZ() / speedF) + 1;
|
||||
speed.y = (field_0x1520.y - field_0x1514.y) + iVar3 * iVar3 * fabsf(gravity) * 0.5f;
|
||||
speed.y /= iVar3;
|
||||
work = mPath.getPntPos(idx);
|
||||
}
|
||||
|
||||
idx = mPath.getIdx();
|
||||
work = mPath.getPntPos(idx);
|
||||
break;
|
||||
} while (field_0x157e == 0);
|
||||
}
|
||||
}
|
||||
|
||||
if (field_0x1585 == 0 && field_0x157e == 0) {
|
||||
current.angle.y = cLib_targetAngleY(¤t.pos, &work);
|
||||
s16 angleY = cLib_targetAngleY(¤t.pos, &work);
|
||||
current.angle.y = angleY;
|
||||
cLib_addCalcAngleS2(&shape_angle.y, current.angle.y, 8, 0x100);
|
||||
mCurAngle.y = shape_angle.y;
|
||||
|
||||
if (!mStagger.checkStagger() && (mMotionSeqMngr.getNo() != MOTION_SB_JUMP_C || mMotionSeqMngr.checkEndSequence())) {
|
||||
int sVar2 = sVar1 - mCurAngle.y;
|
||||
if (0.0f < cM_sht2d(sVar2)) {
|
||||
if (4.0f < cM_sht2d(sVar2)) {
|
||||
angleY -= mCurAngle.y;
|
||||
if (0.0f < cM_sht2d(angleY)) {
|
||||
if (4.0f < cM_sht2d(angleY)) {
|
||||
mMotionSeqMngr.setNo(MOTION_SB_TURNL, 24.0f, FALSE, 0);
|
||||
} else {
|
||||
mMotionSeqMngr.setNo(MOTION_SB_WAIT, 24.0f, FALSE, 0);
|
||||
}
|
||||
} else {
|
||||
if (cM_sht2d(sVar2) < -4.0f) {
|
||||
if (cM_sht2d(angleY) < -4.0f) {
|
||||
mMotionSeqMngr.setNo(MOTION_SB_TURNR, 24.0f, FALSE, 0);
|
||||
} else {
|
||||
mMotionSeqMngr.setNo(MOTION_SB_WAIT, 24.0f, FALSE, 0);
|
||||
@@ -3455,9 +3483,9 @@ BOOL daNpc_ykM_c::race(void* param_1) {
|
||||
}
|
||||
}
|
||||
|
||||
s16 sVar3 = -fopAcM_getPolygonAngle(mGndChk, current.angle.y + 0x4000);
|
||||
angleY = -fopAcM_getPolygonAngle(mGndChk, current.angle.y + 0x4000);
|
||||
cLib_addCalcAngleS2(&mCurAngle.x, mGroundAngle, 6, 0x200);
|
||||
cLib_addCalcAngleS2(&mCurAngle.z, sVar3, 6, 0x200);
|
||||
cLib_addCalcAngleS2(&mCurAngle.z, angleY, 6, 0x200);
|
||||
int iVar1 = field_0x1560 - field_0x1558.field_0x0;
|
||||
f32 fVar2 = daNpc_ykM_Param_c::m.slide_speed * cM_scos(mGroundAngle);
|
||||
|
||||
@@ -3472,9 +3500,10 @@ BOOL daNpc_ykM_c::race(void* param_1) {
|
||||
field_0x1540 = 8;
|
||||
}
|
||||
|
||||
int iVar2 = cLib_minMaxLimit<int>(iVar1 + daNpc_ykM_Param_c::m.competition_prm_a, 0, daNpc_ykM_Param_c::m.competition_prm_b);
|
||||
iVar1 += daNpc_ykM_Param_c::m.competition_prm_a;
|
||||
int iVar2 = cLib_minMaxLimit<int>(iVar1, 0, daNpc_ykM_Param_c::m.competition_prm_b);
|
||||
if (iVar2 > 0) {
|
||||
fVar2 *= daNpc_ykM_Param_c::m.competition_prm_c * 0.1f * abs(iVar2) + 1.0f;
|
||||
fVar2 *= abs(iVar2) * 0.1f * daNpc_ykM_Param_c::m.competition_prm_c + 1.0f;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3561,7 +3590,6 @@ BOOL daNpc_ykM_c::talk(void* param_1) {
|
||||
|
||||
#ifdef DEBUG
|
||||
BOOL daNpc_ykM_c::test(void* param_1) {
|
||||
// NONMATCHING
|
||||
switch (mMode) {
|
||||
case 1:
|
||||
speedF = 0.0f;
|
||||
|
||||
+24
-21
@@ -408,21 +408,20 @@ f32 dummy_1f() {
|
||||
}
|
||||
|
||||
/* 80B5F34C-80B5F5C8 00052C 027C+00 1/1 0/0 0/0 .text CreateHeap__11daNpc_ykW_cFv */
|
||||
// NONMATCHING - regalloc
|
||||
int daNpc_ykW_c::CreateHeap() {
|
||||
J3DModelData* modelData = NULL;
|
||||
void* mdlData_p = NULL;
|
||||
J3DModel* model = NULL;
|
||||
|
||||
int bmdDataIdx = 0;
|
||||
int arcNameIdx = l_bmdData[bmdDataIdx][1];
|
||||
int resIndex = l_bmdData[bmdDataIdx][0];
|
||||
modelData = (J3DModelData*)dComIfG_getObjectRes(l_resNameList[arcNameIdx], resIndex);
|
||||
if (modelData == NULL) {
|
||||
mdlData_p = dComIfG_getObjectRes(l_resNameList[arcNameIdx], resIndex);
|
||||
if (mdlData_p == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int temp1 = 0x11020284;
|
||||
mpMorf[0] = new mDoExt_McaMorfSO(modelData, NULL, NULL, NULL, -1, 1.0f, 0, -1, &mSound,
|
||||
mpMorf[0] = new mDoExt_McaMorfSO((J3DModelData*)mdlData_p, NULL, NULL, NULL, -1, 1.0f, 0, -1, &mSound,
|
||||
0x80000, temp1);
|
||||
|
||||
if (mpMorf[0] == NULL || mpMorf[0]->getModel() == NULL) {
|
||||
@@ -434,8 +433,8 @@ int daNpc_ykW_c::CreateHeap() {
|
||||
}
|
||||
|
||||
model = mpMorf[0]->getModel();
|
||||
for (u16 i = 0; i < modelData->getJointNum(); i++) {
|
||||
modelData->getJointNodePointer(i)->setCallBack(ctrlJointCallBack);
|
||||
for (u16 i = 0; i < ((J3DModelData*)mdlData_p)->getJointNum(); i++) {
|
||||
((J3DModelData*)mdlData_p)->getJointNodePointer(i)->setCallBack(ctrlJointCallBack);
|
||||
}
|
||||
model->setUserArea((uintptr_t)this);
|
||||
|
||||
@@ -992,7 +991,7 @@ void daNpc_ykW_c::afterMoved() {
|
||||
}
|
||||
|
||||
/* 80B60F08-80B614D0 0020E8 05C8+00 1/0 0/0 0/0 .text setAttnPos__11daNpc_ykW_cFv */
|
||||
// NONMATCHING - HIO load issue
|
||||
// NONMATCHING - HIO load issue, regalloc
|
||||
void daNpc_ykW_c::setAttnPos() {
|
||||
cXyz unkXyz1(0.0f, 50.0f, 0.0f);
|
||||
if (field_0x106a != 0) {
|
||||
@@ -2790,7 +2789,6 @@ int daNpc_ykW_c::walk(void* param_0) {
|
||||
}
|
||||
|
||||
/* 80B6591C-80B6640C 006AFC 0AF0+00 2/0 0/0 0/0 .text race__11daNpc_ykW_cFPv */
|
||||
// NONMATCHING - multiple issues
|
||||
int daNpc_ykW_c::race(void* param_0) {
|
||||
int unkInt1;
|
||||
s16 targetAngleY;
|
||||
@@ -2878,8 +2876,8 @@ int daNpc_ykW_c::race(void* param_0) {
|
||||
field_0x106e = 0;
|
||||
}
|
||||
|
||||
do {
|
||||
if (field_0x106e == 0) {
|
||||
if (field_0x106e == 0) {
|
||||
while (true) {
|
||||
if (mPath.chkPassed1(current.pos, mPath.getNumPnts())) {
|
||||
if (mPath.getArg0() == 0) {
|
||||
mSound.startCreatureSound(Z2SE_YW_SNOBO_JUMP, 0, -1);
|
||||
@@ -2890,7 +2888,11 @@ int daNpc_ykW_c::race(void* param_0) {
|
||||
field_0x1064 = 1;
|
||||
field_0x1065 = 1;
|
||||
mMotionSeqMngr.setNo(32, -1.0f, 0, 0);
|
||||
} else if (field_0x106e != 0) {
|
||||
} else {
|
||||
if (field_0x106e == 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!mStagger.checkStagger()) {
|
||||
mMotionSeqMngr.setNo(25, -1.0f, 0, 0);
|
||||
}
|
||||
@@ -2908,10 +2910,11 @@ int daNpc_ykW_c::race(void* param_0) {
|
||||
idx = mPath.getIdx();
|
||||
unkXyz1 = mPath.getPntPos(idx);
|
||||
}
|
||||
break;
|
||||
}
|
||||
} while (field_0x1064 == 0);
|
||||
}
|
||||
|
||||
if (field_0x106e == 0) {
|
||||
if (field_0x1064 == 0 && field_0x106e == 0) {
|
||||
targetAngleY = cLib_targetAngleY(¤t.pos, &unkXyz1);
|
||||
current.angle.y = targetAngleY;
|
||||
cLib_addCalcAngleS2(&shape_angle.y, current.angle.y, 4, 0x200);
|
||||
@@ -2935,20 +2938,20 @@ int daNpc_ykW_c::race(void* param_0) {
|
||||
targetAngleY = -fopAcM_getPolygonAngle(mGndChk, (s16)(current.angle.y + 0x4000));
|
||||
cLib_addCalcAngleS2(&mCurAngle.x, mGroundAngle, 6, 0x200);
|
||||
cLib_addCalcAngleS2(&mCurAngle.z, targetAngleY, 6, 0x200);
|
||||
unkInt1 = field_0x104c - field_0x1044.field_0x0;
|
||||
int unkInt2 = field_0x104c - field_0x1044.field_0x0;
|
||||
unkFloat1 = HIO_PARAM(this)->mSlidingSpeed * cM_scos(mGroundAngle);
|
||||
if (mStagger.checkStagger()) {
|
||||
unkFloat1 *= 0.0f;
|
||||
} else {
|
||||
unkInt1 += HIO_PARAM(this)->mCompetParamA;
|
||||
unkInt1 = cLib_minMaxLimit<int>(unkInt1, 0, HIO_PARAM(this)->mCompetParamB);
|
||||
if (unkInt1 > 0) {
|
||||
unkFloat1 *= (f32)abs(unkInt1) * 0.1f * HIO_PARAM(this)->mCompetParamC + 1.0f;
|
||||
unkInt2 += HIO_PARAM(this)->mCompetParamA;
|
||||
unkInt2 = cLib_minMaxLimit<int>(unkInt2, 0, HIO_PARAM(this)->mCompetParamB);
|
||||
if (unkInt2 > 0) {
|
||||
unkFloat1 *= (f32)abs(unkInt2) * 0.1f * HIO_PARAM(this)->mCompetParamC + 1.0f;
|
||||
}
|
||||
}
|
||||
cLib_chaseF(&speedF, unkFloat1, HIO_PARAM(this)->mSlidingAccel);
|
||||
mSound.startCreatureSound(Z2SE_YW_SNOBO_RIDE, speedF, -1);
|
||||
mSound.startCreatureVoice(Z2SE_YW_V_SNOBO_RIDING, -1);
|
||||
mSound.startCreatureSoundLevel(Z2SE_YW_SNOBO_RIDE, speedF, -1);
|
||||
mSound.startCreatureVoiceLevel(Z2SE_YW_V_SNOBO_RIDING, -1);
|
||||
}
|
||||
}
|
||||
attention_info.flags = 0;
|
||||
|
||||
+2
-171
@@ -9,6 +9,7 @@
|
||||
#include "SSystem/SComponent/c_math.h"
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
#include "JSystem/J3DGraphBase/J3DMaterial.h"
|
||||
#include "Z2AudioLib/Z2Instances.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "f_op/f_op_kankyo_mng.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
@@ -2402,177 +2403,7 @@ static int daNpc_zrA_IsDelete(void* i_this) {
|
||||
|
||||
#include "d/actor/d_a_npc_zra.inc"
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80B8DAB4-80B8DAB8 000074 0004+00 0/0 0/0 0/0 .bss
|
||||
* sInstance__40JASGlobalInstance<19JASDefaultBankTable> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DAB4[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DAB8-80B8DABC 000078 0004+00 0/0 0/0 0/0 .bss
|
||||
* sInstance__35JASGlobalInstance<14JASAudioThread> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DAB8[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DABC-80B8DAC0 00007C 0004+00 0/0 0/0 0/0 .bss sInstance__27JASGlobalInstance<7Z2SeMgr> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DABC[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DAC0-80B8DAC4 000080 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8Z2SeqMgr> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DAC0[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DAC4-80B8DAC8 000084 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SceneMgr>
|
||||
*/
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DAC4[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DAC8-80B8DACC 000088 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2StatusMgr>
|
||||
*/
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DAC8[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DACC-80B8DAD0 00008C 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2DebugSys>
|
||||
*/
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DACC[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DAD0-80B8DAD4 000090 0004+00 0/0 0/0 0/0 .bss
|
||||
* sInstance__36JASGlobalInstance<15JAISoundStarter> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DAD0[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DAD4-80B8DAD8 000094 0004+00 0/0 0/0 0/0 .bss
|
||||
* sInstance__35JASGlobalInstance<14Z2SoundStarter> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DAD4[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DAD8-80B8DADC 000098 0004+00 0/0 0/0 0/0 .bss
|
||||
* sInstance__33JASGlobalInstance<12Z2SpeechMgr2> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DAD8[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DADC-80B8DAE0 00009C 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8JAISeMgr> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DADC[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DAE0-80B8DAE4 0000A0 0004+00 0/0 0/0 0/0 .bss sInstance__29JASGlobalInstance<9JAISeqMgr> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DAE0[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DAE4-80B8DAE8 0000A4 0004+00 0/0 0/0 0/0 .bss
|
||||
* sInstance__33JASGlobalInstance<12JAIStreamMgr> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DAE4[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DAE8-80B8DAEC 0000A8 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SoundMgr>
|
||||
*/
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DAE8[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DAEC-80B8DAF0 0000AC 0004+00 0/0 0/0 0/0 .bss
|
||||
* sInstance__33JASGlobalInstance<12JAISoundInfo> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DAEC[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DAF0-80B8DAF4 0000B0 0004+00 0/0 0/0 0/0 .bss
|
||||
* sInstance__34JASGlobalInstance<13JAUSoundTable> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DAF0[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DAF4-80B8DAF8 0000B4 0004+00 0/0 0/0 0/0 .bss
|
||||
* sInstance__38JASGlobalInstance<17JAUSoundNameTable> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DAF4[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DAF8-80B8DAFC 0000B8 0004+00 0/0 0/0 0/0 .bss
|
||||
* sInstance__33JASGlobalInstance<12JAUSoundInfo> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DAF8[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DAFC-80B8DB00 0000BC 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SoundInfo>
|
||||
*/
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DAFC[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DB00-80B8DB04 0000C0 0004+00 0/0 0/0 0/0 .bss
|
||||
* sInstance__34JASGlobalInstance<13Z2SoundObjMgr> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DB00[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DB04-80B8DB08 0000C4 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2Audience>
|
||||
*/
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DB04[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DB08-80B8DB0C 0000C8 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2FxLineMgr>
|
||||
*/
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DB08[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DB0C-80B8DB10 0000CC 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2EnvSeMgr>
|
||||
*/
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DB0C[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DB10-80B8DB14 0000D0 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SpeechMgr>
|
||||
*/
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DB10[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80B8DB14-80B8DB18 0000D4 0004+00 0/0 0/0 0/0 .bss
|
||||
* sInstance__34JASGlobalInstance<13Z2WolfHowlMgr> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_80B8DB14[4];
|
||||
#pragma pop
|
||||
AUDIO_INSTANCES
|
||||
|
||||
/* 80B8D8DC-80B8D8FC -00001 0020+00 1/0 0/0 0/0 .data daNpc_zrA_MethodTable */
|
||||
static actor_method_class daNpc_zrA_MethodTable = {
|
||||
|
||||
@@ -50,6 +50,17 @@ static s8 r11yuka_image[192] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
|
||||
class daObj_Toby_HIO_c : public JORReflexible{
|
||||
public:
|
||||
/* 80D1378C */ daObj_Toby_HIO_c();
|
||||
/* 80D15534 */ virtual ~daObj_Toby_HIO_c() {}
|
||||
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
/* 0x4 */ s8 field_0x4;
|
||||
/* 0x8 */ f32 field_0x8;
|
||||
};
|
||||
|
||||
/* 80D1378C-80D137B0 0000EC 0024+00 1/1 0/0 0/0 .text __ct__16daObj_Toby_HIO_cFv */
|
||||
daObj_Toby_HIO_c::daObj_Toby_HIO_c() {
|
||||
field_0x4 = -1;
|
||||
@@ -435,24 +446,24 @@ static int daObj_Toby_Delete(obj_toby_class* i_this) {
|
||||
// nonmatching - regalloc
|
||||
static int useHeapInit(fopAc_ac_c* a_this) {
|
||||
obj_toby_class* i_this = (obj_toby_class*)a_this;
|
||||
J3DModelData* modelData;
|
||||
J3DModelData* modelData2;
|
||||
void* modelData;
|
||||
void* modelData2;
|
||||
yuka_s* pYuka;
|
||||
|
||||
|
||||
if (i_this->field_0x577 == 0) {
|
||||
modelData = (J3DModelData*)dComIfG_getObjectRes(i_this->mArcName, 4);
|
||||
modelData = dComIfG_getObjectRes(i_this->mArcName, 4);
|
||||
JUT_ASSERT(868, modelData != 0);
|
||||
modelData2 = (J3DModelData*)dComIfG_getObjectRes(i_this->mArcName, 5);
|
||||
modelData2 = dComIfG_getObjectRes(i_this->mArcName, 5);
|
||||
// !@bug assert on wrong variable. not really meaningful.
|
||||
JUT_ASSERT(872, modelData != 0);
|
||||
pYuka = i_this->mYukas;
|
||||
for (int i = 0; i < i_this->mYukaNum; i++, pYuka++) {
|
||||
i_this->mYukas[i].mModel1 = mDoExt_J3DModel__create(modelData, 0x20000, 0x11000084);
|
||||
i_this->mYukas[i].mModel1 = mDoExt_J3DModel__create((J3DModelData*)modelData, 0x20000, 0x11000084);
|
||||
if (i_this->mYukas[i].mModel1 == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
i_this->mYukas[i].mModel2 = mDoExt_J3DModel__create(modelData2, 0x20000, 0x11000084);
|
||||
i_this->mYukas[i].mModel2 = mDoExt_J3DModel__create((J3DModelData*)modelData2, 0x20000, 0x11000084);
|
||||
if (i_this->mYukas[i].mModel2 == NULL) {
|
||||
return 0;
|
||||
}
|
||||
@@ -467,11 +478,11 @@ static int useHeapInit(fopAc_ac_c* a_this) {
|
||||
}
|
||||
} else if (i_this->field_0x577 == 1) {
|
||||
a_this->field_0x567 = 1;
|
||||
modelData = (J3DModelData*)dComIfG_getObjectRes(i_this->mArcName, 6);
|
||||
modelData = dComIfG_getObjectRes(i_this->mArcName, 6);
|
||||
JUT_ASSERT(907, modelData != 0);
|
||||
|
||||
for (int i = 0; i < i_this->mYukaNum; i++) {
|
||||
i_this->mYukas[i].mModel1 = mDoExt_J3DModel__create(modelData, 0x20000, 0x11000084);
|
||||
i_this->mYukas[i].mModel1 = mDoExt_J3DModel__create((J3DModelData*)modelData, 0x20000, 0x11000084);
|
||||
if (i_this->mYukas[i].mModel1 == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user