1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-08-21 06:21:16 +00:00

Match En actors D-G (#1889)

* Match entity actors D-G

* Remove SET_EN_GOROIWA_SPEED

* Actually match z_en_elf.c

* GET_EN_GOROIWA_SPEED -> EN_GOROIWA_SPEED
This commit is contained in:
cadmic 2024-02-26 18:55:30 -08:00 committed by GitHub
parent c86bf5011b
commit 1da87b1e7f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
24 changed files with 160 additions and 98 deletions

View file

@ -274,7 +274,6 @@ s32 EnGeldB_ReactToPlayer(PlayState* play, EnGeldB* this, s16 arg2) {
Actor* thisx = &this->actor;
s16 angleToWall;
s16 angleToLink;
Actor* bomb;
angleToWall = thisx->wallYaw - thisx->shape.rot.y;
angleToWall = ABS(angleToWall);
@ -306,22 +305,29 @@ s32 EnGeldB_ReactToPlayer(PlayState* play, EnGeldB* this, s16 arg2) {
EnGeldB_SetupRollBack(this);
return true;
}
} else if ((bomb = Actor_FindNearby(play, thisx, -1, ACTORCAT_EXPLOSIVE, 80.0f)) != NULL) {
thisx->shape.rot.y = thisx->world.rot.y = thisx->yawTowardsPlayer;
if (((thisx->bgCheckFlags & BGCHECKFLAG_WALL) && (angleToWall < 0x2EE0)) || (bomb->id == ACTOR_EN_BOM_CHU)) {
if ((bomb->id == ACTOR_EN_BOM_CHU) && (Actor_WorldDistXYZToActor(thisx, bomb) < 80.0f) &&
((s16)(thisx->shape.rot.y - (bomb->world.rot.y - 0x8000)) < 0x3E80)) {
EnGeldB_SetupJump(this);
return true;
} else {
Actor* bomb = Actor_FindNearby(play, thisx, -1, ACTORCAT_EXPLOSIVE, 80.0f);
if (bomb != NULL) {
thisx->shape.rot.y = thisx->world.rot.y = thisx->yawTowardsPlayer;
if (((thisx->bgCheckFlags & BGCHECKFLAG_WALL) && (angleToWall < 0x2EE0)) ||
(bomb->id == ACTOR_EN_BOM_CHU)) {
if ((bomb->id == ACTOR_EN_BOM_CHU) && (Actor_WorldDistXYZToActor(thisx, bomb) < 80.0f) &&
((s16)(thisx->shape.rot.y - (bomb->world.rot.y - 0x8000)) < 0x3E80)) {
EnGeldB_SetupJump(this);
return true;
} else {
EnGeldB_SetupSidestep(this, play);
return true;
}
} else {
EnGeldB_SetupSidestep(this, play);
EnGeldB_SetupRollBack(this);
return true;
}
} else {
EnGeldB_SetupRollBack(this);
return true;
}
} else if (arg2) {
}
if (arg2) {
if (angleToLink >= 0x1B58) {
EnGeldB_SetupSidestep(this, play);
return true;