Link d_a_e_fb + npc_shad wii NA 1.0 ifdef (#2978)

* Link d_a_e_fb

* revert npc_ks changes
This commit is contained in:
YunataSavior 2025-12-21 04:11:50 -08:00 committed by GitHub
parent f6e2cbca9d
commit 69bdaaca19
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 14 additions and 10 deletions

View File

@ -2137,7 +2137,7 @@ config.libs = [
ActorRel(MatchingFor(ALL_GCN), "d_a_e_df"),
ActorRel(MatchingFor(ALL_GCN), "d_a_e_dk"),
ActorRel(MatchingFor(ALL_GCN), "d_a_e_dt"),
ActorRel(NonMatching, "d_a_e_fb"),
ActorRel(MatchingFor(ALL_GCN), "d_a_e_fb"),
ActorRel(MatchingFor(ALL_GCN), "d_a_e_fk"),
ActorRel(MatchingFor(ALL_GCN), "d_a_e_fs"),
ActorRel(MatchingFor(ALL_GCN), "d_a_e_fz"),

View File

@ -379,7 +379,6 @@ void daE_FB_c::executeWait() {
static int mFireTimer;
void daE_FB_c::executeAttack() {
// NONMATCHING - regalloc purgatory
static u16 a_eff_id[3] = {
dPa_RM(ID_ZI_S_FL_BREATH_A),
dPa_RM(ID_ZI_S_FL_BREATH_B),
@ -425,8 +424,8 @@ void daE_FB_c::executeAttack() {
}
/* fallthrough */
case 2:
if (mMoveMode != 3) {
search_check();
if (mMoveMode != 3 && search_check()) {
// empty
}
if (mType == 0 && mBgLineCheck()) {
@ -451,9 +450,9 @@ void daE_FB_c::executeAttack() {
field_0x68f &= (u8) 1;
if (field_0x68f == 0) {
csXyz sp_0x28;
int child_type = 10;
u32 child_type = 10;
sp_0x28 = shape_angle;
sp_0x28.x = mHeadAngle + 0x2BC + JREG_S(1);
sp_0x28.x = mHeadAngle + 700 + JREG_S(1);
if (mType == 1) {
if (current.pos.y <= 300.0f) {
sp_0x28.x = mHeadAngle + 2000 + BREG_S(2);
@ -481,10 +480,10 @@ void daE_FB_c::executeAttack() {
}
if (mMoveMode == 3) {
fopAc_ac_c* player = dComIfGp_getPlayer(0);
fopAc_ac_c* player = (fopAc_ac_c*) dComIfGp_getPlayer(0);
cLib_addCalcAngleS2(&shape_angle.y, mRotation, 1, l_HIO.rotation_width_stairs);
if (current.pos.y <= 300.0f) {
mHeadAngle = f32(NREG_S(1) + 14000 - abs(shape_angle.y)) / (6.0f + NREG_F(1));
mHeadAngle = f32(NREG_S(1) + 14000 - abs(s16(shape_angle.y))) / (6.0f + NREG_F(1));
if (player->current.pos.x > -2800.0f) {
field_0x69c = 0;
current.angle.y = shape_angle.y;
@ -493,7 +492,7 @@ void daE_FB_c::executeAttack() {
}
} else {
mHeadAngle = NREG_S(2) - 2500;
mHeadAngle = mHeadAngle - abs(shape_angle.y) * (-0.2f + NREG_F(2));
mHeadAngle -= abs(s16(shape_angle.y)) * (-0.2f + NREG_F(2));
if (player->current.pos.x < -3600.0f) {
field_0x69c = 0;
current.angle.y = shape_angle.y;

View File

@ -367,14 +367,19 @@ cPhs__Step daNpcShad_c::Create() {
if (!daNpcF_chkEvtBit(0x312)) {
if (getPathPoint(getPathID(), 1, &home.pos)) {
current.pos = home.pos;
#if VERSION != VERSION_WII_USA_R0
old.pos = current.pos;
#endif
}
} else {
}
#if VERSION != VERSION_WII_USA_R0
else {
home.pos.set(4342.7183f, -1518.5f, -3942.3232f);
current.pos = home.pos;
old.pos = current.pos;
setAngle(-0x2581);
}
#endif
}
mMode = 1;