d_a_kytag13 matching + small various work (#2826)

* kytag13 matching

* pr cleanup
This commit is contained in:
Carco_21 2025-11-20 14:47:11 -05:00 committed by GitHub
parent cb08a259a5
commit e7270bf7ab
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 147 additions and 143 deletions

View File

@ -1835,7 +1835,7 @@ config.libs = [
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_kytag08"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_kytag09"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_kytag12"),
ActorRel(NonMatching, "d_a_kytag13"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_kytag13"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_kytag15"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_kytag16"),
ActorRel(NonMatching, "d_a_mant"),

View File

@ -11,9 +11,11 @@
*
* @details
*
*/
class kytag13_class : public fopAc_ac_c {
*/
class kytag13_class {
public:
/* 0x000 */ fopAc_ac_c actor;
/* 0x568 */ u8 field_0x568[0x574 - 0x568];
/* 0x574 */ f32 mSpeed;
/* 0x578 */ u16 mMax;

View File

@ -32,36 +32,33 @@ static void vectle_calc(DOUBLE_POS* pos, cXyz* out) {
}
}
/* 8085F2B0-80860148 000130 0E98+00 1/1 0/0 0/0 .text
* daKytag13_Execute_standard__FP13kytag13_class */
// NONMATCHING - some regalloc
/* 8085F2B0-80860148 000130 0E98+00 1/1 0/0 0/0 .text daKytag13_Execute_standard__FP13kytag13_class */
static int daKytag13_Execute_standard(kytag13_class* i_this) {
fopAc_ac_c* a_this = (fopAc_ac_c*)i_this;
fopAc_ac_c* a_this = (fopAc_ac_c*)&i_this->actor;
dKankyo_snow_Packet* snow_packet = g_env_light.mpSnowPacket;
camera_class* camera = dComIfGp_getCamera(0);
camera_class* camera = (camera_class*)dComIfGp_getCamera(0);
fopAc_ac_c* player = dComIfGp_getPlayer(0);
DOUBLE_POS sp88;
cXyz sp7C;
cXyz sp70;
cXyz spec;
cXyz spf8;
cXyz sp104;
cXyz sp110;
cXyz sp11c;
cXyz sp64 = dKyw_get_wind_vecpow();
cXyz sp60;
cXyz sp4C;
cXyz sp40;
dBgS_ObjGndChk_All spA0;
cXyz sp34;
cXyz sp134, sp140, sp14c, sp158;
dBgS_ObjGndChk_All gnd_chk;
cXyz sp164;
f32 zero = 0.0f;
if (snow_packet == NULL) {
return 1;
}
sp34 = player->current.pos;
sp34.y += 100.0f;
spA0.SetPos(&sp34);
sp164 = player->current.pos;
sp164.y += 100.0f;
gnd_chk.SetPos(&sp164);
f32 temp_f30 = dComIfG_Bgsp().GroundCross(&spA0);
f32 temp_f30 = dComIfG_Bgsp().GroundCross(&gnd_chk);
temp_f30 += 5.0f;
f32 var_f29;
f32 var_f28;
@ -75,38 +72,34 @@ static int daKytag13_Execute_standard(kytag13_class* i_this) {
}
snow_packet->field_0x6d74 = camera->lookat.eye;
sp7C.z = 0.0f;
sp7C.y = 0.0f;
sp7C.x = 0.0f;
sp110.x = sp110.y = sp110.z = 0.0f;
cXyz* temp_r27 = dKyw_get_wind_vec();
f32 temp_f31 = dKyw_get_wind_pow();
sp4C.x = 0.0f;
sp4C.y = 1000.0f * a_this->scale.y;
sp4C.z = 0.0f;
sp14c.x = 0.0f;
sp14c.y = 1000.0f * a_this->scale.y;
sp14c.z = 0.0f;
mDoMtx_stack_c::transS(a_this->current.pos.x, a_this->current.pos.y, a_this->current.pos.z);
mDoMtx_stack_c::ZrotM(a_this->current.angle.z);
mDoMtx_stack_c::YrotM(a_this->current.angle.y);
mDoMtx_stack_c::XrotM(a_this->current.angle.x);
mDoMtx_stack_c::multVec(&sp4C, &sp40);
mDoMtx_stack_c::ZrotM((s16)a_this->current.angle.z);
mDoMtx_stack_c::YrotM((s16)a_this->current.angle.y);
mDoMtx_stack_c::XrotM((s16)a_this->current.angle.x);
mDoMtx_stack_c::multVec(&sp14c, &sp158);
sp11c = *temp_r27;
sp70 = *temp_r27;
dKyr_get_vectle_calc(&sp40, &a_this->current.pos, &sp64);
dKyr_get_vectle_calc(&sp158, &a_this->current.pos, &sp64);
cXyz sp170;
sp88.x = camera->lookat.center.x - camera->lookat.eye.x;
sp88.y = 0.0;
sp88.z = camera->lookat.center.z - camera->lookat.eye.z;
vectle_calc(&sp88, &sp170);
cXyz sp28;
vectle_calc(&sp88, &sp28);
snow_packet->field_0x6d84 = cM3d_VectorProduct2d(0.0f, 0.0f, -sp11c.x, -sp11c.z, sp170.x, sp170.z);
snow_packet->field_0x6d84 = cM3d_VectorProduct2d(0.0f, 0.0f, -sp70.x, -sp70.z, sp28.x, sp28.z);
f32 tmp = fabsf((sp70.x * sp28.x) + (sp70.z * sp28.z));
snow_packet->field_0x6d80 = (1.0f - tmp) * temp_f31 * (1.0f - fabsf(0.3f + sp70.y));
f32 tmp = fabsf((sp11c.x * sp170.x) + (sp11c.z * sp170.z));
snow_packet->field_0x6d80 = (1.0f - tmp) * temp_f31 * (1.0f - fabsf(0.3f + sp11c.y));
snow_packet->field_0x6d80 *= fabsf(snow_packet->field_0x6d84);
for (int i = i_this->field_0x57e - 1; i >= i_this->field_0x57c; i--) {
@ -125,47 +118,37 @@ static int daKytag13_Execute_standard(kytag13_class* i_this) {
snow_packet->mSnowEff[i].mWindSpeed = (4.0f * i_this->mSpeed) + cM_rndF(6.0f);
snow_packet->mSnowEff[i].mGravity = temp_f28;
snow_packet->mSnowEff[i].mTimer = 0;
snow_packet->mSnowEff[i].mPosition.x = sp40.x + cM_rndFX(500.0f * a_this->scale.x);
snow_packet->mSnowEff[i].mPosition.y = sp40.y - cM_rndF(1000.0f * a_this->scale.y);
snow_packet->mSnowEff[i].mPosition.z = sp40.z + cM_rndFX(500.0f * a_this->scale.z);
snow_packet->mSnowEff[i].mBasePos.x = sp40.x + cM_rndFX(500.0f * a_this->scale.x);
snow_packet->mSnowEff[i].mBasePos.y = sp40.y - cM_rndF(1000.0f * a_this->scale.y);
snow_packet->mSnowEff[i].mBasePos.z = sp40.z + cM_rndFX(500.0f * a_this->scale.z);
snow_packet->mSnowEff[i].mPosition.x = sp158.x + cM_rndFX(500.0f * a_this->scale.x);
snow_packet->mSnowEff[i].mPosition.y = sp158.y - cM_rndF(1000.0f * a_this->scale.y);
snow_packet->mSnowEff[i].mPosition.z = sp158.z + cM_rndFX(500.0f * a_this->scale.z);
snow_packet->mSnowEff[i].mBasePos.x = sp158.x + cM_rndFX(500.0f * a_this->scale.x);
snow_packet->mSnowEff[i].mBasePos.y = sp158.y - cM_rndF(1000.0f * a_this->scale.y);
snow_packet->mSnowEff[i].mBasePos.z = sp158.z + cM_rndFX(500.0f * a_this->scale.z);
snow_packet->mSnowEff[i].mScale = 1.0f;
snow_packet->mSnowEff[i].field_0x30 = 1.0f;
snow_packet->mSnowEff[i].mPosWaveX = cM_rndF(0xFFFF);
snow_packet->mSnowEff[i].mPosWaveZ = cM_rndF(0xFFFF);
snow_packet->mSnowEff[i].mPosWaveX = cM_rndF(65536.0f);
snow_packet->mSnowEff[i].mPosWaveZ = cM_rndF(65536.0f);
snow_packet->mSnowEff[i].mStatus = 1;
if (strcmp(dComIfGp_getStartStageName(), "D_MN11") == 0 &&
dComIfGp_roomControl_getStayNo() == 0)
{
if (i < 25) {
snow_packet->mSnowEff[i].mBasePos.x =
1680.0f + cM_rndFX(200.0f * a_this->scale.x);
snow_packet->mSnowEff[i].mBasePos.y =
1630.0f - cM_rndF(1630.0f * a_this->scale.y);
snow_packet->mSnowEff[i].mBasePos.z =
4280.0f + cM_rndFX(100.0f * a_this->scale.z);
snow_packet->mSnowEff[i].mBasePos.x = 1680.0f + cM_rndFX(200.0f * a_this->scale.x);
snow_packet->mSnowEff[i].mBasePos.y = 1630.0f - cM_rndF(1630.0f * a_this->scale.y);
snow_packet->mSnowEff[i].mBasePos.z = 4280.0f + cM_rndFX(100.0f * a_this->scale.z);
} else if (i < 50) {
snow_packet->mSnowEff[i].mBasePos.x =
-1680.0f + cM_rndFX(200.0f * a_this->scale.x);
snow_packet->mSnowEff[i].mBasePos.y =
1630.0f - cM_rndF(1630.0f * a_this->scale.y);
snow_packet->mSnowEff[i].mBasePos.z =
4280.0f + cM_rndFX(100.0f * a_this->scale.z);
snow_packet->mSnowEff[i].mBasePos.x = -1680.0f + cM_rndFX(200.0f * a_this->scale.x);
snow_packet->mSnowEff[i].mBasePos.y = 1630.0f - cM_rndF(1630.0f * a_this->scale.y);
snow_packet->mSnowEff[i].mBasePos.z = 4280.0f + cM_rndFX(100.0f * a_this->scale.z);
} else if (i < 75) {
snow_packet->mSnowEff[i].mBasePos.x = cM_rndFX(500.0f * a_this->scale.x);
snow_packet->mSnowEff[i].mBasePos.y =
1680.0f - cM_rndF(1680.0f * a_this->scale.y);
snow_packet->mSnowEff[i].mBasePos.z =
5000.0f + cM_rndFX(100.0f * a_this->scale.z);
snow_packet->mSnowEff[i].mBasePos.y = 1680.0f - cM_rndF(1680.0f * a_this->scale.y);
snow_packet->mSnowEff[i].mBasePos.z = 5000.0f + cM_rndFX(100.0f * a_this->scale.z);
} else if (i < 100) {
snow_packet->mSnowEff[i].mBasePos.x = cM_rndFX(500.0f * a_this->scale.x);
snow_packet->mSnowEff[i].mBasePos.y =
750.0f - cM_rndF(750.0f * a_this->scale.y);
snow_packet->mSnowEff[i].mBasePos.z =
7110.0f + cM_rndFX(100.0f * a_this->scale.z);
snow_packet->mSnowEff[i].mBasePos.y = 750.0f - cM_rndF(750.0f * a_this->scale.y);
snow_packet->mSnowEff[i].mBasePos.z = 7110.0f + cM_rndFX(100.0f * a_this->scale.z);
}
}
break;
@ -211,13 +194,9 @@ static int daKytag13_Execute_standard(kytag13_class* i_this) {
sp1C.y = cM_ssin(temp_r4_2);
sp1C.z = cM_scos(temp_r4_2) * cM_scos(temp_r5_2);
snow_packet->mSnowEff[i].mPosition.x +=
(sp64.x * snow_packet->mSnowEff[i].mWindSpeed);
snow_packet->mSnowEff[i].mPosition.z +=
(sp64.z * snow_packet->mSnowEff[i].mWindSpeed);
snow_packet->mSnowEff[i].mPosition.y +=
(snow_packet->mSnowEff[i].mGravity +
(sp64.y * snow_packet->mSnowEff[i].mWindSpeed));
snow_packet->mSnowEff[i].mPosition.x += (sp64.x * snow_packet->mSnowEff[i].mWindSpeed);
snow_packet->mSnowEff[i].mPosition.z += (sp64.z * snow_packet->mSnowEff[i].mWindSpeed);
snow_packet->mSnowEff[i].mPosition.y += (snow_packet->mSnowEff[i].mGravity + (sp64.y * snow_packet->mSnowEff[i].mWindSpeed));
snow_packet->mSnowEff[i].mPosition.x += (3.7f * sp1C.x);
snow_packet->mSnowEff[i].mPosition.y += (3.7f * sp1C.y);
@ -225,13 +204,9 @@ static int daKytag13_Execute_standard(kytag13_class* i_this) {
}
if (snow_packet->mSnowEff[i].mBasePos.y > var_f29) {
snow_packet->mSnowEff[i].mBasePos.x +=
(sp64.x * snow_packet->mSnowEff[i].mWindSpeed);
snow_packet->mSnowEff[i].mBasePos.z +=
(sp64.z * snow_packet->mSnowEff[i].mWindSpeed);
snow_packet->mSnowEff[i].mBasePos.y +=
(snow_packet->mSnowEff[i].mGravity +
(sp64.y * snow_packet->mSnowEff[i].mWindSpeed));
snow_packet->mSnowEff[i].mBasePos.x += (sp64.x * snow_packet->mSnowEff[i].mWindSpeed);
snow_packet->mSnowEff[i].mBasePos.z += (sp64.z * snow_packet->mSnowEff[i].mWindSpeed);
snow_packet->mSnowEff[i].mBasePos.y += (snow_packet->mSnowEff[i].mGravity + (sp64.y * snow_packet->mSnowEff[i].mWindSpeed));
snow_packet->mSnowEff[i].mBasePos.x += (3.0f * sp1C.x);
snow_packet->mSnowEff[i].mBasePos.y += (3.0f * sp1C.y);
@ -239,20 +214,18 @@ static int daKytag13_Execute_standard(kytag13_class* i_this) {
}
cLib_addCalc(&snow_packet->mSnowEff[i].mPosWaveX,
snow_packet->mSnowEff[i].mPosWaveX + cM_rndF(3000.0f), 0.25f, 1500.0f,
0.001f);
snow_packet->mSnowEff[i].mPosWaveX + cM_rndF(3000.0f), 0.25f, 1500.0f, 0.001f);
cLib_addCalc(&snow_packet->mSnowEff[i].mPosWaveZ,
snow_packet->mSnowEff[i].mPosWaveZ + cM_rndF(3000.0f), 0.25f, 1500.0f,
0.001f);
snow_packet->mSnowEff[i].mPosWaveZ + cM_rndF(3000.0f), 0.25f, 1500.0f, 0.001f);
sp60.y = snow_packet->mSnowEff[i].mPosition.y;
if (sp60.y < var_f28) {
sp134.y = snow_packet->mSnowEff[i].mPosition.y;
if (sp134.y < var_f28) {
snow_packet->mSnowEff[i].mPosition.y = var_f28;
snow_packet->mSnowEff[i].mStatus = 2;
}
sp60.y = snow_packet->mSnowEff[i].mBasePos.y;
if (sp60.y < var_f29) {
sp134.y = snow_packet->mSnowEff[i].mBasePos.y;
if (sp134.y < var_f29) {
snow_packet->mSnowEff[i].mBasePos.y = var_f29;
snow_packet->mSnowEff[i].mStatus = 2;
}
@ -261,12 +234,9 @@ static int daKytag13_Execute_standard(kytag13_class* i_this) {
cLib_addCalc(&snow_packet->mSnowEff[i].mScale, 0.0f, 0.25f, 0.05f, 0.0001f);
if (snow_packet->mSnowEff[i].mScale <= 0.0001f) {
snow_packet->mSnowEff[i].mPosition.x =
sp40.x + cM_rndFX(500.0f * a_this->scale.x);
snow_packet->mSnowEff[i].mPosition.y =
sp40.y - cM_rndF(10.0f * a_this->scale.y);
snow_packet->mSnowEff[i].mPosition.z =
sp40.z + cM_rndFX(500.0f * a_this->scale.z);
snow_packet->mSnowEff[i].mPosition.x = sp158.x + cM_rndFX(500.0f * a_this->scale.x);
snow_packet->mSnowEff[i].mPosition.y = sp158.y - cM_rndF(10.0f * a_this->scale.y);
snow_packet->mSnowEff[i].mPosition.z = sp158.z + cM_rndFX(500.0f * a_this->scale.z);
snow_packet->mSnowEff[i].mStatus = 1;
}
} else {
@ -277,62 +247,52 @@ static int daKytag13_Execute_standard(kytag13_class* i_this) {
cLib_addCalc(&snow_packet->mSnowEff[i].field_0x30, 0.0f, 0.25f, 0.05f, 0.0001f);
if (snow_packet->mSnowEff[i].field_0x30 <= 0.0001f) {
snow_packet->mSnowEff[i].mBasePos.x =
sp40.x + cM_rndFX(500.0f * a_this->scale.x);
snow_packet->mSnowEff[i].mBasePos.y = sp40.y - cM_rndF(10.0f * a_this->scale.y);
snow_packet->mSnowEff[i].mBasePos.z =
sp40.z + cM_rndFX(500.0f * a_this->scale.z);
snow_packet->mSnowEff[i].mBasePos.x = sp158.x + cM_rndFX(500.0f * a_this->scale.x);
snow_packet->mSnowEff[i].mBasePos.y = sp158.y - cM_rndF(10.0f * a_this->scale.y);
snow_packet->mSnowEff[i].mBasePos.z = sp158.z + cM_rndFX(500.0f * a_this->scale.z);
if (strcmp(dComIfGp_getStartStageName(), "D_MN11") == 0 &&
dComIfGp_roomControl_getStayNo() == 0)
{
if (
strcmp(dComIfGp_getStartStageName(), "D_MN11") == 0 &&
dComIfGp_roomControl_getStayNo() == 0
) {
if (i < 20) {
snow_packet->mSnowEff[i].mBasePos.x =
1680.0f + cM_rndFX(200.0f * a_this->scale.x);
snow_packet->mSnowEff[i].mBasePos.y =
1630.0f - cM_rndF(10.0f * a_this->scale.y);
snow_packet->mSnowEff[i].mBasePos.z =
4280.0f + cM_rndFX(200.0f * a_this->scale.z);
snow_packet->mSnowEff[i].mBasePos.x = 1680.0f + cM_rndFX(200.0f * a_this->scale.x);
snow_packet->mSnowEff[i].mBasePos.y = 1630.0f - cM_rndF(10.0f * a_this->scale.y);
snow_packet->mSnowEff[i].mBasePos.z = 4280.0f + cM_rndFX(200.0f * a_this->scale.z);
} else if (i < 50) {
snow_packet->mSnowEff[i].mBasePos.x =
-1680.0f + cM_rndFX(200.0f * a_this->scale.x);
snow_packet->mSnowEff[i].mBasePos.y =
1630.0f - cM_rndF(10.0f * a_this->scale.y);
snow_packet->mSnowEff[i].mBasePos.z =
4280.0f + cM_rndFX(100.0f * a_this->scale.z);
snow_packet->mSnowEff[i].mBasePos.x = -1680.0f + cM_rndFX(200.0f * a_this->scale.x);
snow_packet->mSnowEff[i].mBasePos.y = 1630.0f - cM_rndF(10.0f * a_this->scale.y);
snow_packet->mSnowEff[i].mBasePos.z = 4280.0f + cM_rndFX(100.0f * a_this->scale.z);
} else if (i < 75) {
snow_packet->mSnowEff[i].mBasePos.x =
cM_rndFX(500.0f * a_this->scale.x);
snow_packet->mSnowEff[i].mBasePos.y =
1680.0f - cM_rndF(10.0f * a_this->scale.y);
snow_packet->mSnowEff[i].mBasePos.z =
5000.0f + cM_rndFX(100.0f * a_this->scale.z);
snow_packet->mSnowEff[i].mBasePos.x = cM_rndFX(500.0f * a_this->scale.x);
snow_packet->mSnowEff[i].mBasePos.y = 1680.0f - cM_rndF(10.0f * a_this->scale.y);
snow_packet->mSnowEff[i].mBasePos.z = 5000.0f + cM_rndFX(100.0f * a_this->scale.z);
} else if (i < 100) {
snow_packet->mSnowEff[i].mBasePos.x =
cM_rndFX(500.0f * a_this->scale.x);
snow_packet->mSnowEff[i].mBasePos.y =
750.0f - cM_rndF(10.0f * a_this->scale.y);
snow_packet->mSnowEff[i].mBasePos.z =
7110.0f + cM_rndFX(100.0f * a_this->scale.z);
snow_packet->mSnowEff[i].mBasePos.x = cM_rndFX(500.0f * a_this->scale.x);
snow_packet->mSnowEff[i].mBasePos.y = 750.0f - cM_rndF(10.0f * a_this->scale.y);
snow_packet->mSnowEff[i].mBasePos.z = 7110.0f + cM_rndFX(100.0f * a_this->scale.z);
}
}
snow_packet->mSnowEff[i].mStatus = 1;
}
} else {
snow_packet->mSnowEff[i].field_0x30 = 0.5f;
}
break;
}
if (dComIfGp_roomControl_getStayNo() == 5) {
if (snow_packet->mSnowEff[i].mBasePos.z > -5560.0f &&
snow_packet->mSnowEff[i].mBasePos.y < 925.0f)
{
if (
snow_packet->mSnowEff[i].mBasePos.z > -5560.0f &&
snow_packet->mSnowEff[i].mBasePos.y < 925.0f
) {
snow_packet->mSnowEff[i].field_0x30 = 0.0f;
}
if (snow_packet->mSnowEff[i].mPosition.z > -5560.0f &&
snow_packet->mSnowEff[i].mPosition.y < 925.0f)
{
if (
snow_packet->mSnowEff[i].mPosition.z > -5560.0f &&
snow_packet->mSnowEff[i].mPosition.y < 925.0f
) {
snow_packet->mSnowEff[i].mScale = 0.0f;
}
}
@ -343,7 +303,8 @@ static int daKytag13_Execute_standard(kytag13_class* i_this) {
/* 808601C0-80860200 001040 0040+00 1/0 0/0 0/0 .text daKytag13_Execute__FP13kytag13_class */
static int daKytag13_Execute(kytag13_class* i_this) {
if (i_this->home.roomNo == dComIfGp_roomControl_getStayNo()) {
fopAc_ac_c* a_this = (fopAc_ac_c*)&i_this->actor;
if (a_this->home.roomNo == dComIfGp_roomControl_getStayNo()) {
daKytag13_Execute_standard(i_this);
}

View File

@ -203,6 +203,46 @@ enum grDS_RES_File_ID {
/* 0x62 */ EVT_EVENT_LIST = 0x62,
};
enum Bou3_Joint {
/* 0x00 */ JNT_CENTER,
/* 0x01 */ JNT_BACKBONE1,
/* 0x02 */ JNT_BACKBONE2,
/* 0x03 */ JNT_NECK,
/* 0x04 */ JNT_HEAD,
/* 0x05 */ JNT_CHIN,
/* 0x06 */ JNT_MAYU_L,
/* 0x07 */ JNT_MAYU_R,
/* 0x08 */ JNT_MOUTH,
/* 0x09 */ JNT_SHOULDERL,
/* 0x0A */ JNT_ARML1,
/* 0x0B */ JNT_ARML2,
/* 0x0C */ JNT_HANDL,
/* 0x0D */ JNT_FINGERL1,
/* 0x0E */ JNT_THAMBL,
/* 0x0F */ JNT_SHOULDERR,
/* 0x10 */ JNT_ARMR1,
/* 0x11 */ JNT_ARMR2,
/* 0x12 */ JNT_HANDR,
/* 0x13 */ JNT_FINGERR1,
/* 0x14 */ JNT_THAMBR,
/* 0x15 */ JNT_HARA,
/* 0x16 */ JNT_WAIST,
/* 0x17 */ JNT_CLOTCHL,
/* 0x18 */ JNT_LEGL1,
/* 0x19 */ JNT_LEGL2,
/* 0x1A */ JNT_FOOTL,
/* 0x1B */ JNT_CLOTCHR,
/* 0x1C */ JNT_LEGR1,
/* 0x1D */ JNT_LEGR2,
/* 0x1E */ JNT_FOOTR,
/* 0x1F */ JNT_HARA_TOPF,
/* 0x20 */ JNT_HARA_UNDERF,
/* 0x21 */ JNT_HARA_UNDERL,
/* 0x22 */ JNT_HARA_UNDERR,
/* 0x23 */ JNT_OBIL,
/* 0x24 */ JNT_OBIR,
};
/* 80B41E18-80B41E1C -00001 0004+00 1/2 0/0 0/0 .data l_resALink */
static char* l_resALink = "alSumou";
@ -2674,7 +2714,7 @@ bool daNpcWrestler_c::checkOutOfArenaW() {
}
int jointNo = mType == 0 ? 0x1A : 0x18;
int jointNo2 = mType == 0 ? 0x1E : 0x1B;
int jointNo2 = mType == 0 ? JNT_FOOTR : 0x1B;
f32 fVar1 = std::pow(mArenaExtent, 2);
field_0x89c = getJointPos(jointNo);
@ -3440,10 +3480,9 @@ bool daNpcWrestler_c::sumouTackleShock(void* param_1) {
/* 80B38C90-80B39334 009AF0 06A4+00 2/0 0/0 0/0 .text sumouTackleStagger__15daNpcWrestler_cFPv */
bool daNpcWrestler_c::sumouTackleStagger(void* param_1) {
// NONMATCHING - regalloc
daPy_py_c* player = daPy_getPlayerActorClass();
int jointNo = mType == 0 ? 0x1A : 0x18;
int jointNo2 = mType == 0 ? 0x1E : 0x1B;
int jointNo2 = mType == 0 ? JNT_FOOTR : 0x1B;
f32 fVar1, fVar2;
switch (field_0xe96) {
@ -3494,6 +3533,7 @@ bool daNpcWrestler_c::sumouTackleStagger(void* param_1) {
case 3:
player->setSumouForceGraspCancel();
break;
default:
JUT_ASSERT(4311, FALSE);
break;

View File

@ -110,7 +110,6 @@ void daObjIce_s_c::setBaseMtx() {
// reg alloc
static void rideCallBack(dBgW* param_1, fopAc_ac_c* param_2, fopAc_ac_c* param_3) {
(void)param_1;
cXyz* icePos;
daObjIce_s_c* ice = (daObjIce_s_c*)param_2;
daPy_py_c* player = daPy_getPlayerActorClass();
cXyz& playerPos = fopAcM_GetPosition(player);
@ -126,7 +125,7 @@ static void rideCallBack(dBgW* param_1, fopAc_ac_c* param_2, fopAc_ac_c* param_3
ice->Check_LinkRideOn(playerPos);
}
icePos = &fopAcM_GetPosition(param_2);
cXyz* icePos = &fopAcM_GetPosition(param_2);
if (pBallCenter != NULL && icePos != NULL && icePos->absXZ(*pBallCenter) < ice->field_0x5c8.x * 600.0f) {
ice->field_0x5d8 = 0x300;
ice->field_0x5a4 = -11.0f;

View File

@ -398,7 +398,7 @@ void dGrass_data_c::hitCheck(int i_roomNo, u16 i_particleName) {
if (field_0x02 >= 16) {
dGrass_anm_c* anm_p = daGrass_c::getGrass()->getAnm(field_0x02);
s16 spC = anm_p->m_angY & 0xE000;
int sp10 = field_0x02 & 15;
int sp10 = (field_0x02 & 15) & 0xFFFF;
dGrass_anm_c* temp_r27 = daGrass_c::getGrass()->getAnm(sp10);
if (anm_p->m_state == 2) {
@ -481,6 +481,8 @@ dGrass_packet_c::dGrass_packet_c() {
m_Mkusa_9q_cDL_size = 0xC0;
field_0x1d714 = 0;
OS_REPORT("草群メモリ=%f\n", 117.7734375f);
m_deleteRoom = &dGrass_packet_c::deleteRoom;
}