1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-05-11 11:33:48 +00:00

document most navi enemies as enum type (#1110)

* document most navi enemies as enum type

* enum value auto increments, add enemy default for 0

* also define and comment navi enemy tektite blue

* Update include/z64actor.h

Co-authored-by: mzxrules <mzxrules@gmail.com>

* Update include/z64actor.h

Co-authored-by: mzxrules <mzxrules@gmail.com>

* Update include/z64actor.h

Co-authored-by: mzxrules <mzxrules@gmail.com>

* Update include/z64actor.h

Co-authored-by: mzxrules <mzxrules@gmail.com>

* Update include/z64actor.h

Co-authored-by: mzxrules <mzxrules@gmail.com>

* Update include/z64actor.h

Co-authored-by: mzxrules <mzxrules@gmail.com>

* apply navi enemy updates accepted so far

* update names

* review

* review

* freezzard -> freezard

Co-authored-by: mzxrules <mzxrules@gmail.com>
Co-authored-by: fig02 <fig02srl@gmail.com>
This commit is contained in:
playerskel 2022-04-19 00:23:12 +02:00 committed by GitHub
parent 38bcbdb0b9
commit 32e66c2da8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
71 changed files with 215 additions and 112 deletions

View file

@ -355,6 +355,103 @@ typedef enum {
DOORLOCK_NORMAL_SPIRIT
} DoorLockType;
typedef enum {
/* 0x00 */ NAVI_ENEMY_DEFAULT,
/* 0x01 */ NAVI_ENEMY_GOHMA,
/* 0x02 */ NAVI_ENEMY_GOHMA_EGG,
/* 0x03 */ NAVI_ENEMY_GOHMA_LARVA,
/* 0x04 */ NAVI_ENEMY_SKULLTULA,
/* 0x05 */ NAVI_ENEMY_BIG_SKULLTULA,
/* 0x06 */ NAVI_ENEMY_TAILPASARAN,
/* 0x07 */ NAVI_ENEMY_DEKU_BABA,
/* 0x08 */ NAVI_ENEMY_BIG_DEKU_BABA,
/* 0x09 */ NAVI_ENEMY_WITHERED_DEKU_BABA,
/* 0x0A */ NAVI_ENEMY_DEKU_SCRUB,
/* 0x0B */ NAVI_ENEMY_UNUSED_B,
/* 0x0C */ NAVI_ENEMY_KING_DODONGO,
/* 0x0D */ NAVI_ENEMY_DODONGO,
/* 0x0E */ NAVI_ENEMY_BABY_DODONGO,
/* 0x0F */ NAVI_ENEMY_LIZALFOS,
/* 0x10 */ NAVI_ENEMY_DINOLFOS,
/* 0x11 */ NAVI_ENEMY_FIRE_KEESE,
/* 0x12 */ NAVI_ENEMY_KEESE,
/* 0x13 */ NAVI_ENEMY_ARMOS,
/* 0x14 */ NAVI_ENEMY_BARINADE,
/* 0x15 */ NAVI_ENEMY_PARASITIC_TENTACLE,
/* 0x16 */ NAVI_ENEMY_SHABOM,
/* 0x17 */ NAVI_ENEMY_BIRI,
/* 0x18 */ NAVI_ENEMY_BARI,
/* 0x19 */ NAVI_ENEMY_STINGER,
/* 0x1A */ NAVI_ENEMY_PHANTOM_GANON_PHASE_2,
/* 0x1B */ NAVI_ENEMY_STALFOS,
/* 0x1C */ NAVI_ENEMY_BLUE_BUBBLE,
/* 0x1D */ NAVI_ENEMY_WHITE_BUBBLE,
/* 0x1E */ NAVI_ENEMY_GREEN_BUBBLE,
/* 0x1F */ NAVI_ENEMY_SKULLWALLTULA,
/* 0x20 */ NAVI_ENEMY_GOLD_SKULLTULA,
/* 0x21 */ NAVI_ENEMY_VOLVAGIA,
/* 0x22 */ NAVI_ENEMY_FLARE_DANCER,
/* 0x23 */ NAVI_ENEMY_TORCH_SLUG,
/* 0x24 */ NAVI_ENEMY_RED_BUBBLE,
/* 0x25 */ NAVI_ENEMY_MORPHA,
/* 0x26 */ NAVI_ENEMY_DARK_LINK,
/* 0x27 */ NAVI_ENEMY_SHELL_BLADE,
/* 0x28 */ NAVI_ENEMY_SPIKE,
/* 0x29 */ NAVI_ENEMY_BONGO_BONGO,
/* 0x2A */ NAVI_ENEMY_REDEAD,
/* 0x2B */ NAVI_ENEMY_PHANTOM_GANON_PHASE_1,
/* 0x2C */ NAVI_ENEMY_UNUSED_2C,
/* 0x2D */ NAVI_ENEMY_GIBDO,
/* 0x2E */ NAVI_ENEMY_DEAD_HANDS_HAND,
/* 0x2F */ NAVI_ENEMY_DEAD_HAND,
/* 0x30 */ NAVI_ENEMY_WALLMASTER,
/* 0x31 */ NAVI_ENEMY_FLOORMASTER,
/* 0x32 */ NAVI_ENEMY_TWINROVA_KOUME,
/* 0x33 */ NAVI_ENEMY_TWINROVA_KOTAKE,
/* 0x34 */ NAVI_ENEMY_IRON_KNUCKLE_NABOORU,
/* 0x35 */ NAVI_ENEMY_IRON_KNUCKLE,
/* 0x36 */ NAVI_ENEMY_SKULL_KID_ADULT,
/* 0x37 */ NAVI_ENEMY_LIKE_LIKE,
/* 0x38 */ NAVI_ENEMY_UNUSED_38,
/* 0x39 */ NAVI_ENEMY_BEAMOS,
/* 0x3A */ NAVI_ENEMY_ANUBIS,
/* 0x3B */ NAVI_ENEMY_FREEZARD,
/* 0x3C */ NAVI_ENEMY_UNUSED_3C,
/* 0x3D */ NAVI_ENEMY_GANONDORF,
/* 0x3E */ NAVI_ENEMY_GANON,
/* 0x3F */ NAVI_ENEMY_SKULL_KID,
/* 0x40 */ NAVI_ENEMY_SKULL_KID_FRIENDLY,
/* 0x41 */ NAVI_ENEMY_SKULL_KID_MASK,
/* 0x42 */ NAVI_ENEMY_OCTOROK,
/* 0x43 */ NAVI_ENEMY_POE_COMPOSER,
/* 0x44 */ NAVI_ENEMY_POE,
/* 0x45 */ NAVI_ENEMY_RED_TEKTITE,
/* 0x46 */ NAVI_ENEMY_BLUE_TEKTITE,
/* 0x47 */ NAVI_ENEMY_LEEVER,
/* 0x48 */ NAVI_ENEMY_PEAHAT,
/* 0x49 */ NAVI_ENEMY_PEAHAT_LARVA,
/* 0x4A */ NAVI_ENEMY_MOBLIN,
/* 0x4B */ NAVI_ENEMY_MOBLIN_CLUB,
/* 0x4C */ NAVI_ENEMY_WOLFOS,
/* 0x4D */ NAVI_ENEMY_MAD_SCRUB,
/* 0x4E */ NAVI_ENEMY_BUSINESS_SCRUB,
/* 0x4F */ NAVI_ENEMY_DAMPES_GHOST,
/* 0x50 */ NAVI_ENEMY_POE_SISTER_MEG,
/* 0x51 */ NAVI_ENEMY_POE_SISTER_JOELLE,
/* 0x52 */ NAVI_ENEMY_POE_SISTER_BETH,
/* 0x53 */ NAVI_ENEMY_POE_SISTER_AMY,
/* 0x54 */ NAVI_ENEMY_GERUDO_THIEF,
/* 0x55 */ NAVI_ENEMY_STALCHILD,
/* 0x56 */ NAVI_ENEMY_ICE_KEESE,
/* 0x57 */ NAVI_ENEMY_WHITE_WOLFOS,
/* 0x58 */ NAVI_ENEMY_GUAY,
/* 0x59 */ NAVI_ENEMY_BIGOCTO,
/* 0x5A */ NAVI_ENEMY_BIG_POE,
/* 0x5B */ NAVI_ENEMY_TWINROVA,
/* 0x5C */ NAVI_ENEMY_POE_WASTELAND,
/* 0xFF */ NAVI_ENEMY_NONE = 0xFF
} NaviEnemy;
#define UPDBGCHECKINFO_FLAG_0 (1 << 0) // check wall
#define UPDBGCHECKINFO_FLAG_1 (1 << 1) // check ceiling
#define UPDBGCHECKINFO_FLAG_2 (1 << 2) // check floor and water

View file

@ -809,7 +809,7 @@ void Actor_Init(Actor* actor, GlobalContext* globalCtx) {
actor->targetMode = 3;
actor->minVelocityY = -20.0f;
actor->xyzDistToPlayerSq = FLT_MAX;
actor->naviEnemyId = 0xFF;
actor->naviEnemyId = NAVI_ENEMY_NONE;
actor->uncullZoneForward = 1000.0f;
actor->uncullZoneScale = 350.0f;
actor->uncullZoneDownward = 700.0f;

View file

@ -360,8 +360,8 @@ s32 View_ApplyPerspective(View* view) {
}
View_ErrorCheckEyePosition(view->eye.x, view->eye.y, view->eye.z);
guLookAt(viewing, view->eye.x, view->eye.y, view->eye.z, view->at.x, view->at.y, view->at.z, view->up.x,
view->up.y, view->up.z);
guLookAt(viewing, view->eye.x, view->eye.y, view->eye.z, view->at.x, view->at.y, view->at.z, view->up.x, view->up.y,
view->up.z);
view->viewing = *viewing;
@ -511,8 +511,8 @@ s32 View_ApplyPerspectiveToOverlay(View* view) {
}
View_ErrorCheckEyePosition(view->eye.x, view->eye.y, view->eye.z);
guLookAt(viewing, view->eye.x, view->eye.y, view->eye.z, view->at.x, view->at.y, view->at.z, view->up.x,
view->up.y, view->up.z);
guLookAt(viewing, view->eye.x, view->eye.y, view->eye.z, view->at.x, view->at.y, view->at.z, view->up.x, view->up.y,
view->up.z);
view->viewing = *viewing;
@ -530,8 +530,8 @@ s32 View_UpdateViewingMatrix(View* view) {
OPEN_DISPS(view->gfxCtx, "../z_view.c", 878);
View_ErrorCheckEyePosition(view->eye.x, view->eye.y, view->eye.z);
guLookAt(view->viewingPtr, view->eye.x, view->eye.y, view->eye.z, view->at.x, view->at.y, view->at.z,
view->up.x, view->up.y, view->up.z);
guLookAt(view->viewingPtr, view->eye.x, view->eye.y, view->eye.z, view->at.x, view->at.y, view->at.z, view->up.x,
view->up.y, view->up.z);
CLOSE_DISPS(view->gfxCtx, "../z_view.c", 886);
@ -596,8 +596,8 @@ s32 View_ApplyTo(View* view, s32 mask, Gfx** gfxp) {
view->viewingPtr = viewing;
View_ErrorCheckEyePosition(view->eye.x, view->eye.y, view->eye.z);
guLookAt(viewing, view->eye.x, view->eye.y, view->eye.z, view->at.x, view->at.y, view->at.z,
view->up.x, view->up.y, view->up.z);
guLookAt(viewing, view->eye.x, view->eye.y, view->eye.z, view->at.x, view->at.y, view->at.z, view->up.x,
view->up.y, view->up.z);
view->viewing = *viewing;

View file

@ -49,7 +49,7 @@ const ActorInit Boss_Dodongo_InitVars = {
static InitChainEntry sInitChain[] = {
ICHAIN_U8(targetMode, 5, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, 0x0C, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_KING_DODONGO, ICHAIN_CONTINUE),
ICHAIN_F32_DIV1000(gravity, -3000.0f, ICHAIN_CONTINUE),
ICHAIN_F32(targetArrowOffset, 8200.0f, ICHAIN_STOP),
};

View file

@ -60,7 +60,7 @@ const ActorInit Boss_Fd_InitVars = {
static InitChainEntry sInitChain[] = {
ICHAIN_U8(targetMode, 5, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, 0x21, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_VOLVAGIA, ICHAIN_CONTINUE),
ICHAIN_F32_DIV1000(gravity, 0, ICHAIN_CONTINUE),
ICHAIN_F32(targetArrowOffset, 0, ICHAIN_STOP),
};

View file

@ -68,7 +68,7 @@ static Vec3f sHoleLocations[] = {
static InitChainEntry sInitChain[] = {
ICHAIN_U8(targetMode, 5, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, 0x21, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_VOLVAGIA, ICHAIN_CONTINUE),
ICHAIN_F32_DIV1000(gravity, 0, ICHAIN_CONTINUE),
ICHAIN_F32(targetArrowOffset, 0, ICHAIN_STOP),
};

View file

@ -328,7 +328,7 @@ void BossGanon_SetAnimationObject(BossGanon* this, GlobalContext* globalCtx, s32
static InitChainEntry sInitChain[] = {
ICHAIN_U8(targetMode, 5, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, 0x3D, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_GANONDORF, ICHAIN_CONTINUE),
ICHAIN_F32_DIV1000(gravity, 0, ICHAIN_CONTINUE),
ICHAIN_F32(targetArrowOffset, 0, ICHAIN_STOP),
};

View file

@ -147,7 +147,7 @@ void BossGanon2_Init(Actor* thisx, GlobalContext* globalCtx) {
BossGanon2_SetObjectSegment(this, globalCtx, OBJECT_GANON, false);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gDorfSkel, NULL, NULL, NULL, 0);
func_808FD5C4(this, globalCtx);
this->actor.naviEnemyId = 0x3E;
this->actor.naviEnemyId = NAVI_ENEMY_GANON;
this->actor.gravity = 0.0f;
}

View file

@ -200,7 +200,7 @@ static void* sMouthTex_ci8_16x16[] = { gPhantomGanonMouthTex, gPhantomGanonSmile
static InitChainEntry sInitChain[] = {
ICHAIN_U8(targetMode, 5, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, 0x2B, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_PHANTOM_GANON_PHASE_1, ICHAIN_CONTINUE),
ICHAIN_F32_DIV1000(gravity, 0, ICHAIN_CONTINUE),
ICHAIN_F32(targetArrowOffset, 0, ICHAIN_STOP),
};
@ -463,7 +463,7 @@ void BossGanondrof_Paintings(BossGanondrof* this, GlobalContext* globalCtx) {
this->colliderBody.dim.height = 60;
this->colliderBody.dim.yShift = -33;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FANTOM_LAUGH);
this->actor.naviEnemyId = 0x1A;
this->actor.naviEnemyId = NAVI_ENEMY_PHANTOM_GANON_PHASE_2;
} else {
horse->bossGndSignal = FHG_NO_SIGNAL;
this->actor.scale.x = horse->actor.scale.x / 1.15f;

View file

@ -332,7 +332,7 @@ void BossGoma_ClearPixels(u8* clearPixelTable, s16 i) {
static InitChainEntry sInitChain[] = {
ICHAIN_U8(targetMode, 2, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, 0x01, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_GOHMA, ICHAIN_CONTINUE),
ICHAIN_F32_DIV1000(gravity, -2000, ICHAIN_STOP),
};

View file

@ -293,7 +293,7 @@ static s16 sAttackRot[41] = {
static InitChainEntry sInitChain[] = {
ICHAIN_U8(targetMode, 5, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, 0x25, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_MORPHA, ICHAIN_CONTINUE),
ICHAIN_F32_DIV1000(gravity, 0, ICHAIN_CONTINUE),
ICHAIN_F32(targetArrowOffset, 0, ICHAIN_STOP),
};

View file

@ -258,7 +258,7 @@ static AnimationHeader* sHandPushoffPoses[] = { &gBongoLeftHandPushoffPoseAnim,
static AnimationHeader* sHandHangPoses[] = { &gBongoLeftHandHangPoseAnim, &gBongoRightHandHangPoseAnim };
static InitChainEntry sInitChain[] = {
ICHAIN_S8(naviEnemyId, 0x29, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_BONGO_BONGO, ICHAIN_CONTINUE),
ICHAIN_U8(targetMode, 5, ICHAIN_CONTINUE),
ICHAIN_VEC3F_DIV1000(scale, 20, ICHAIN_STOP),
};

View file

@ -511,7 +511,7 @@ void BossTw_Init(Actor* thisx, GlobalContext* globalCtx2) {
if (this->actor.params == TW_KOTAKE) {
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInitKoumeKotake);
this->actor.naviEnemyId = 0x33;
this->actor.naviEnemyId = NAVI_ENEMY_TWINROVA_KOTAKE;
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &object_tw_Skel_0070E0, &object_tw_Anim_006F28, NULL, NULL, 0);
if (gSaveContext.eventChkInf[7] & 0x20) {
@ -529,7 +529,7 @@ void BossTw_Init(Actor* thisx, GlobalContext* globalCtx2) {
this->visible = true;
} else if (this->actor.params == TW_KOUME) {
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInitKoumeKotake);
this->actor.naviEnemyId = 0x32;
this->actor.naviEnemyId = NAVI_ENEMY_TWINROVA_KOUME;
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &object_tw_Skel_01F888, &object_tw_Anim_006F28, NULL, NULL, 0);
if (gSaveContext.eventChkInf[7] & 0x20) {
@ -547,7 +547,7 @@ void BossTw_Init(Actor* thisx, GlobalContext* globalCtx2) {
} else {
// Twinrova
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInitTwinrova);
this->actor.naviEnemyId = 0x5B;
this->actor.naviEnemyId = NAVI_ENEMY_TWINROVA;
this->actor.colChkInfo.health = 24;
this->actor.update = BossTw_TwinrovaUpdate;
this->actor.draw = BossTw_TwinrovaDraw;

View file

@ -619,7 +619,7 @@ void BossVa_Init(Actor* thisx, GlobalContext* globalCtx2) {
this->actor.focus.pos = this->actor.world.pos;
this->onCeiling = false;
this->actor.naviEnemyId = 0x14;
this->actor.naviEnemyId = NAVI_ENEMY_BARINADE;
switch (this->actor.params) {
case BOSSVA_BODY:

View file

@ -156,7 +156,7 @@ static DamageTable sDamageTable = {
};
static InitChainEntry sInitChain[] = {
ICHAIN_S8(naviEnemyId, 0x13, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_ARMOS, ICHAIN_CONTINUE),
ICHAIN_F32_DIV1000(gravity, -4000, ICHAIN_CONTINUE),
ICHAIN_F32(targetArrowOffset, 5300, ICHAIN_STOP),
};

View file

@ -135,7 +135,7 @@ void EnAnubice_Init(Actor* thisx, GlobalContext* globalCtx) {
// "☆☆☆☆☆ Anubis occurence ☆☆☆☆☆"
osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ アヌビス発生 ☆☆☆☆☆ \n" VT_RST);
this->actor.naviEnemyId = 0x3A;
this->actor.naviEnemyId = NAVI_ENEMY_ANUBIS;
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);

View file

@ -82,7 +82,7 @@ void EnBa_SetupAction(EnBa* this, EnBaActionFunc actionFunc) {
static Vec3f D_809B80E4 = { 0.01f, 0.01f, 0.01f };
static InitChainEntry sInitChain[] = {
ICHAIN_S8(naviEnemyId, 0x15, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_PARASITIC_TENTACLE, ICHAIN_CONTINUE),
ICHAIN_F32(uncullZoneScale, 1500, ICHAIN_CONTINUE),
ICHAIN_F32(uncullZoneDownward, 2500, ICHAIN_CONTINUE),
ICHAIN_F32(targetArrowOffset, 0, ICHAIN_STOP),

View file

@ -339,7 +339,7 @@ void EnBb_Init(Actor* thisx, GlobalContext* globalCtx) {
Actor_SetScale(thisx, 0.01f);
switch (thisx->params) {
case ENBB_BLUE:
thisx->naviEnemyId = 0x1C;
thisx->naviEnemyId = NAVI_ENEMY_BLUE_BUBBLE;
thisx->colChkInfo.damageTable = &sDamageTableBlueGreen;
this->flamePrimBlue = this->flameEnvColor.b = 255;
thisx->world.pos.y += 50.0f;
@ -347,14 +347,14 @@ void EnBb_Init(Actor* thisx, GlobalContext* globalCtx) {
thisx->flags |= ACTOR_FLAG_14;
break;
case ENBB_RED:
thisx->naviEnemyId = 0x24;
thisx->naviEnemyId = NAVI_ENEMY_RED_BUBBLE;
thisx->colChkInfo.damageTable = &sDamageTableRed;
this->flameEnvColor.r = 255;
this->collider.elements[0].info.toucher.effect = 1;
EnBb_SetupRed(globalCtx, this);
break;
case ENBB_WHITE:
thisx->naviEnemyId = 0x1D;
thisx->naviEnemyId = NAVI_ENEMY_WHITE_BUBBLE;
thisx->colChkInfo.damageTable = &sDamageTableWhite;
this->path = this->actionState;
blureInit.p1StartColor[0] = blureInit.p1StartColor[1] = blureInit.p1StartColor[2] =
@ -379,8 +379,9 @@ void EnBb_Init(Actor* thisx, GlobalContext* globalCtx) {
this->path = this->actionState >> 4;
this->collider.elements[0].dim.modelSphere.radius = 0x16;
Actor_SetScale(thisx, 0.03f);
// fallthrough
case ENBB_GREEN:
thisx->naviEnemyId = 0x1E;
thisx->naviEnemyId = NAVI_ENEMY_GREEN_BUBBLE;
this->bobSize = (this->actionState & 0xF) * 20.0f;
thisx->colChkInfo.damageTable = &sDamageTableBlueGreen;
this->flameEnvColor.g = 255;

View file

@ -147,7 +147,7 @@ static InitChainEntry sInitChain[] = {
ICHAIN_F32(targetArrowOffset, 2000, ICHAIN_CONTINUE),
ICHAIN_U8(targetMode, 2, ICHAIN_CONTINUE),
ICHAIN_F32(gravity, -1, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, 0x59, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_BIGOCTO, ICHAIN_CONTINUE),
ICHAIN_VEC3F_DIV1000(scale, 33, ICHAIN_STOP),
};

View file

@ -107,7 +107,7 @@ static DamageTable sDamageTable = {
};
static InitChainEntry sInitChain[] = {
ICHAIN_S8(naviEnemyId, 0x17, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_BIRI, ICHAIN_CONTINUE),
ICHAIN_F32(targetArrowOffset, 2000, ICHAIN_STOP),
};

View file

@ -337,7 +337,7 @@ void EnBubble_Init(Actor* thisx, GlobalContext* globalCtx) {
Collider_InitJntSph(globalCtx, &this->colliderSphere);
Collider_SetJntSph(globalCtx, &this->colliderSphere, &this->actor, &sJntSphInit, this->colliderSphereItems);
CollisionCheck_SetInfo2(&this->actor.colChkInfo, DamageTable_Get(9), &sColChkInfoInit2);
this->actor.naviEnemyId = 0x16;
this->actor.naviEnemyId = NAVI_ENEMY_SHABOM;
this->bounceDirection.x = Rand_ZeroOne();
this->bounceDirection.y = Rand_ZeroOne();
this->bounceDirection.z = Rand_ZeroOne();

View file

@ -130,7 +130,7 @@ void EnBw_Init(Actor* thisx, GlobalContext* globalCtx) {
EnBw* this = (EnBw*)thisx;
Actor_SetScale(&this->actor, 0.012999999f);
this->actor.naviEnemyId = 0x23;
this->actor.naviEnemyId = NAVI_ENEMY_TORCH_SLUG;
this->actor.gravity = -2.0f;
SkelAnime_Init(globalCtx, &this->skelAnime, &object_bw_Skel_0020F0, &object_bw_Anim_000228, this->jointTable,
this->morphTable, 12);

View file

@ -98,7 +98,7 @@ static u32 sDeathCount = 0;
static InitChainEntry sInitChain[] = {
ICHAIN_F32(uncullZoneScale, 3000, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, 0x58, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_GUAY, ICHAIN_CONTINUE),
ICHAIN_F32_DIV1000(gravity, -200, ICHAIN_CONTINUE),
ICHAIN_F32(targetArrowOffset, 2000, ICHAIN_STOP),
};

View file

@ -248,7 +248,7 @@ void EnDekubaba_Init(Actor* thisx, GlobalContext* globalCtx) {
CollisionCheck_SetInfo(&this->actor.colChkInfo, &sBigDekuBabaDamageTable, &sColChkInfoInit);
this->actor.colChkInfo.health = 4;
this->actor.naviEnemyId = 0x08; // Big Deku Baba
this->actor.naviEnemyId = NAVI_ENEMY_BIG_DEKU_BABA;
this->actor.targetMode = 2;
} else {
this->size = 1.0f;
@ -262,7 +262,7 @@ void EnDekubaba_Init(Actor* thisx, GlobalContext* globalCtx) {
}
CollisionCheck_SetInfo(&this->actor.colChkInfo, &sDekuBabaDamageTable, &sColChkInfoInit);
this->actor.naviEnemyId = 0x07; // Deku Baba
this->actor.naviEnemyId = NAVI_ENEMY_DEKU_BABA;
this->actor.targetMode = 1;
}

View file

@ -100,7 +100,7 @@ static DamageTable sDamageTable = {
};
static InitChainEntry sInitChain[] = {
ICHAIN_S8(naviEnemyId, 0x4D, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_MAD_SCRUB, ICHAIN_CONTINUE),
ICHAIN_F32(gravity, -1, ICHAIN_CONTINUE),
ICHAIN_F32(targetArrowOffset, 2600, ICHAIN_STOP),
};

View file

@ -126,7 +126,7 @@ static DamageTable D_809EC620 = {
};
static InitChainEntry sInitChain[] = {
ICHAIN_S8(naviEnemyId, 0x2F, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_DEAD_HAND, ICHAIN_CONTINUE),
ICHAIN_F32(targetArrowOffset, 2000, ICHAIN_CONTINUE),
ICHAIN_VEC3F_DIV1000(scale, 10, ICHAIN_CONTINUE),
ICHAIN_F32_DIV1000(gravity, -3500, ICHAIN_STOP),

View file

@ -142,7 +142,7 @@ static ColliderJntSphInit sJntSphInit = {
};
static InitChainEntry sInitChain[] = {
ICHAIN_S8(naviEnemyId, 0x2E, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_DEAD_HANDS_HAND, ICHAIN_CONTINUE),
ICHAIN_F32(targetArrowOffset, 2000, ICHAIN_CONTINUE),
ICHAIN_VEC3F_DIV1000(scale, 10, ICHAIN_STOP),
};

View file

@ -115,7 +115,7 @@ static DnsItemEntry* sItemEntries[] = {
};
static InitChainEntry sInitChain[] = {
ICHAIN_S8(naviEnemyId, 0x4E, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_BUSINESS_SCRUB, ICHAIN_CONTINUE),
ICHAIN_U8(targetMode, 2, ICHAIN_CONTINUE),
ICHAIN_F32(targetArrowOffset, 30, ICHAIN_STOP),
};

View file

@ -75,7 +75,7 @@ void EnDodojr_Init(Actor* thisx, GlobalContext* globalCtx) {
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
CollisionCheck_SetInfo2(&this->actor.colChkInfo, DamageTable_Get(4), &sColChkInit);
this->actor.naviEnemyId = 0xE;
this->actor.naviEnemyId = NAVI_ENEMY_BABY_DODONGO;
this->actor.flags &= ~ACTOR_FLAG_0;
Actor_SetScale(&this->actor, 0.02f);

View file

@ -299,7 +299,7 @@ void EnDodongo_SpawnBombSmoke(EnDodongo* this, GlobalContext* globalCtx) {
}
static InitChainEntry sInitChain[] = {
ICHAIN_S8(naviEnemyId, 0x0D, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_DODONGO, ICHAIN_CONTINUE),
ICHAIN_F32_DIV1000(gravity, -1000, ICHAIN_CONTINUE),
ICHAIN_F32(targetArrowOffset, 2800, ICHAIN_STOP),
};

View file

@ -105,7 +105,7 @@ static DamageTable sDamageTable = {
};
static InitChainEntry sInitChain[] = {
ICHAIN_S8(naviEnemyId, 0x19, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_STINGER, ICHAIN_CONTINUE),
ICHAIN_VEC3F_DIV1000(scale, 5, ICHAIN_CONTINUE),
ICHAIN_F32(targetArrowOffset, 2500, ICHAIN_STOP),
};

View file

@ -462,7 +462,7 @@ void EnFd_Init(Actor* thisx, GlobalContext* globalCtx) {
this->firstUpdateFlag = true;
this->actor.gravity = -1.0f;
this->runDir = Rand_ZeroOne() < 0.5f ? -1 : 1;
this->actor.naviEnemyId = 0x22;
this->actor.naviEnemyId = NAVI_ENEMY_FLARE_DANCER;
this->actionFunc = EnFd_Reappear;
}

View file

@ -121,7 +121,7 @@ void EnFirefly_Extinguish(EnFirefly* this) {
this->collider.elements[0].info.toucher.effect = 0; // None
this->auraType = KEESE_AURA_NONE;
this->onFire = false;
this->actor.naviEnemyId = 0x12; // Keese
this->actor.naviEnemyId = NAVI_ENEMY_KEESE;
}
void EnFirefly_Ignite(EnFirefly* this) {
@ -133,7 +133,7 @@ void EnFirefly_Ignite(EnFirefly* this) {
this->collider.elements[0].info.toucher.effect = 1; // Fire
this->auraType = KEESE_AURA_FIRE;
this->onFire = true;
this->actor.naviEnemyId = 0x11; // Fire Keese
this->actor.naviEnemyId = NAVI_ENEMY_FIRE_KEESE;
}
void EnFirefly_Init(Actor* thisx, GlobalContext* globalCtx) {
@ -165,7 +165,7 @@ void EnFirefly_Init(Actor* thisx, GlobalContext* globalCtx) {
this->timer = Rand_S16Offset(20, 60);
this->actor.shape.rot.x = 0x1554;
this->auraType = KEESE_AURA_FIRE;
this->actor.naviEnemyId = 0x11; // Fire Keese
this->actor.naviEnemyId = NAVI_ENEMY_FIRE_KEESE;
this->maxAltitude = this->actor.home.pos.y;
} else {
if (this->actor.params == KEESE_NORMAL_PERCH) {
@ -176,10 +176,10 @@ void EnFirefly_Init(Actor* thisx, GlobalContext* globalCtx) {
if (this->actor.params == KEESE_ICE_FLY) {
this->collider.elements[0].info.toucher.effect = 2; // Ice
this->actor.naviEnemyId = 0x56; // Ice Keese
this->actor.naviEnemyId = NAVI_ENEMY_ICE_KEESE;
} else {
this->collider.elements[0].info.toucher.effect = 0; // Nothing
this->actor.naviEnemyId = 0x12; // Keese
this->actor.naviEnemyId = NAVI_ENEMY_KEESE;
}
this->maxAltitude = this->actor.home.pos.y + 100.0f;

View file

@ -114,7 +114,7 @@ static DamageTable sDamageTable = {
};
static InitChainEntry sInitChain[] = {
ICHAIN_S8(naviEnemyId, 0x31, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_FLOORMASTER, ICHAIN_CONTINUE),
ICHAIN_F32(targetArrowOffset, 5500, ICHAIN_CONTINUE),
ICHAIN_F32_DIV1000(gravity, -1000, ICHAIN_STOP),
};

View file

@ -150,7 +150,7 @@ static DamageTable sDamageTable = {
};
static InitChainEntry sInitChain[] = {
ICHAIN_S8(naviEnemyId, 0x3B, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_FREEZARD, ICHAIN_CONTINUE),
ICHAIN_U8(targetMode, 2, ICHAIN_CONTINUE),
ICHAIN_F32(targetArrowOffset, 30, ICHAIN_STOP),
};

View file

@ -227,7 +227,7 @@ void EnGeldB_Init(Actor* thisx, GlobalContext* globalCtx) {
thisx->colChkInfo.health = 20;
thisx->colChkInfo.cylRadius = 50;
thisx->colChkInfo.cylHeight = 100;
thisx->naviEnemyId = 0x54;
thisx->naviEnemyId = NAVI_ENEMY_GERUDO_THIEF;
this->keyFlag = thisx->params & 0xFF00;
thisx->params &= 0xFF;
this->blinkState = 0;

View file

@ -99,7 +99,7 @@ static Vec3f sDeadEffectVel = { 0.0f, 0.0f, 0.0f };
static InitChainEntry sInitChain[] = {
ICHAIN_U8(targetMode, 3, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, 0x03, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_GOHMA_LARVA, ICHAIN_CONTINUE),
ICHAIN_F32_DIV1000(gravity, 0, ICHAIN_CONTINUE),
ICHAIN_F32(targetArrowOffset, 20, ICHAIN_STOP),
};
@ -787,7 +787,7 @@ void EnGoma_Draw(Actor* thisx, GlobalContext* globalCtx) {
switch (this->gomaType) {
case ENGOMA_NORMAL:
this->actor.naviEnemyId = 0x03;
this->actor.naviEnemyId = NAVI_ENEMY_GOHMA_LARVA;
Matrix_Translate(this->actor.world.pos.x,
this->actor.world.pos.y + ((this->actor.shape.yOffset * this->actor.scale.y) +
globalCtx->mainCamera.skyboxOffset.y),
@ -803,7 +803,7 @@ void EnGoma_Draw(Actor* thisx, GlobalContext* globalCtx) {
break;
case ENGOMA_EGG:
this->actor.naviEnemyId = 0x02;
this->actor.naviEnemyId = NAVI_ENEMY_GOHMA_EGG;
y = (s16)(sinf((this->eggTimer * 5.0f * 3.1415f) / 180.0f) * 31.9f);
y = (s16)(y + 31);
gSPSegment(POLY_OPA_DISP++, 0x08, func_80094E78(globalCtx->state.gfxCtx, 0, y));

View file

@ -65,7 +65,7 @@ static s16 sPuzzleCounter = 0;
static InitChainEntry sInitChain[] = {
ICHAIN_F32(gravity, -1, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, 0x0A, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_DEKU_SCRUB, ICHAIN_CONTINUE),
ICHAIN_F32(targetArrowOffset, 2600, ICHAIN_STOP),
};

View file

@ -207,10 +207,10 @@ void func_80A74398(Actor* thisx, GlobalContext* globalCtx) {
if (thisx->params == 0) {
thisx->colChkInfo.health += 20;
thisx->naviEnemyId = 0x34;
thisx->naviEnemyId = NAVI_ENEMY_IRON_KNUCKLE_NABOORU;
} else {
Actor_SetScale(thisx, 0.012f);
thisx->naviEnemyId = 0x35;
thisx->naviEnemyId = NAVI_ENEMY_IRON_KNUCKLE;
Actor_ChangeCategory(globalCtx, &globalCtx->actorCtx, thisx, ACTORCAT_ENEMY);
}

View file

@ -86,7 +86,7 @@ static CollisionCheckInfoInit sColCheckInfoInit = { 1, 15, 80, MASS_HEAVY };
static InitChainEntry sInitChain[] = {
ICHAIN_F32(targetArrowOffset, 2500, ICHAIN_CONTINUE),
ICHAIN_U8(targetMode, 1, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, 0x09, ICHAIN_STOP),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_WITHERED_DEKU_BABA, ICHAIN_STOP),
};
void EnKarebaba_Init(Actor* thisx, GlobalContext* globalCtx) {

View file

@ -246,7 +246,7 @@ static DamageTable sClubMoblinDamageTable = {
};
static InitChainEntry sInitChain[] = {
ICHAIN_S8(naviEnemyId, 0x4A, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_MOBLIN, ICHAIN_CONTINUE),
ICHAIN_F32_DIV1000(gravity, -1000, ICHAIN_CONTINUE),
ICHAIN_F32(targetArrowOffset, 5300, ICHAIN_STOP),
};
@ -308,7 +308,7 @@ void EnMb_Init(Actor* thisx, GlobalContext* globalCtx) {
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFeet, 90.0f);
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.naviEnemyId += 1;
this->actor.naviEnemyId += 1; // NAVI_ENEMY_MOBLIN_CLUB
EnMb_SetupClubWaitPlayerNear(this);
break;
default: /* Spear Patrol */

View file

@ -98,7 +98,7 @@ static DamageTable sDamageTable = {
};
static InitChainEntry sInitChain[] = {
ICHAIN_S8(naviEnemyId, 0x28, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_SPIKE, ICHAIN_CONTINUE),
ICHAIN_U8(targetMode, 2, ICHAIN_CONTINUE),
ICHAIN_F32(targetArrowOffset, 30, ICHAIN_STOP),
};

View file

@ -109,7 +109,7 @@ static DamageTable sDamageTable = {
};
static InitChainEntry sInitChain[] = {
ICHAIN_S8(naviEnemyId, 0x42, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_OCTOROK, ICHAIN_CONTINUE),
ICHAIN_F32(targetArrowOffset, 6500, ICHAIN_STOP),
};

View file

@ -209,7 +209,7 @@ void EnPeehat_Init(Actor* thisx, GlobalContext* globalCtx) {
Collider_InitJntSph(globalCtx, &this->colJntSph);
Collider_SetJntSph(globalCtx, &this->colJntSph, &this->actor, &sJntSphInit, this->colJntSphItemList);
this->actor.naviEnemyId = 0x48;
this->actor.naviEnemyId = NAVI_ENEMY_PEAHAT;
this->xzDistToRise = 740.0f;
this->xzDistMax = 1200.0f;
this->actor.uncullZoneForward = 4000.0f;
@ -235,7 +235,7 @@ void EnPeehat_Init(Actor* thisx, GlobalContext* globalCtx) {
this->colCylinder.info.bumper.dmgFlags = 0x1F824;
this->colQuad.base.atFlags = AT_ON | AT_TYPE_ENEMY;
this->colQuad.base.acFlags = AC_ON | AC_TYPE_PLAYER;
this->actor.naviEnemyId = 0x49; // Larva
this->actor.naviEnemyId = NAVI_ENEMY_PEAHAT_LARVA;
EnPeehat_Larva_SetStateSeekPlayer(this);
break;
}

View file

@ -52,7 +52,7 @@ static ColliderCylinderInit sColliderInit = {
};
static InitChainEntry sInitChain[] = {
ICHAIN_S8(naviEnemyId, 0x5C, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_POE_WASTELAND, ICHAIN_CONTINUE),
ICHAIN_F32(uncullZoneForward, 2000, ICHAIN_CONTINUE),
ICHAIN_F32(targetArrowOffset, 3200, ICHAIN_STOP),
};

View file

@ -220,7 +220,7 @@ void EnPoField_SetupAppear(EnPoField* this) {
this->collider.dim.yShift = 10;
this->actor.shape.shadowScale = 45.0f;
this->scaleModifier = 0.014f;
this->actor.naviEnemyId = 0x5A;
this->actor.naviEnemyId = NAVI_ENEMY_BIG_POE;
} else {
this->actor.speedXZ = 0.0f;
this->collider.dim.radius = D_80AD7080.dim.radius;
@ -228,7 +228,7 @@ void EnPoField_SetupAppear(EnPoField* this) {
this->collider.dim.yShift = D_80AD7080.dim.yShift;
this->actor.shape.shadowScale = 37.0f;
this->scaleModifier = 0.01f;
this->actor.naviEnemyId = 0x5C;
this->actor.naviEnemyId = NAVI_ENEMY_POE_WASTELAND;
}
this->actionFunc = EnPoField_Appear;
}
@ -280,7 +280,7 @@ void EnPoField_SetupDeath(EnPoField* this) {
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.speedXZ = 0.0f;
this->actor.world.rot.y = this->actor.shape.rot.y;
this->actor.naviEnemyId = 0xFF;
this->actor.naviEnemyId = NAVI_ENEMY_NONE;
if (this->flameTimer >= 20) {
this->flameTimer = 19;
}

View file

@ -68,7 +68,7 @@ static ColliderCylinderInit sCylinderInit = {
static s32 D_80AD8D24 = 0;
static InitChainEntry sInitChain[] = {
ICHAIN_S8(naviEnemyId, 0x4F, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_DAMPES_GHOST, ICHAIN_CONTINUE),
ICHAIN_F32(targetArrowOffset, 1500, ICHAIN_STOP),
};

View file

@ -192,7 +192,7 @@ void EnPoSisters_Init(Actor* thisx, GlobalContext* globalCtx) {
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
CollisionCheck_SetInfo(&this->actor.colChkInfo, &sDamageTable, &sColChkInfoInit);
this->unk_194 = (thisx->params >> 8) & 3;
this->actor.naviEnemyId = this->unk_194 + 0x50;
this->actor.naviEnemyId = this->unk_194 + NAVI_ENEMY_POE_SISTER_MEG;
if (1) {}
this->unk_195 = (thisx->params >> 0xA) & 3;
this->unk_196 = 32;

View file

@ -232,11 +232,11 @@ void EnPoh_Init(Actor* thisx, GlobalContext* globalCtx) {
if (this->actor.params < EN_POH_SHARP) {
this->objectIdx = Object_GetIndex(&globalCtx->objectCtx, OBJECT_POH);
this->infoIdx = EN_POH_INFO_NORMAL;
this->actor.naviEnemyId = 0x44;
this->actor.naviEnemyId = NAVI_ENEMY_POE;
} else {
this->objectIdx = Object_GetIndex(&globalCtx->objectCtx, OBJECT_PO_COMPOSER);
this->infoIdx = EN_POH_INFO_COMPOSER;
this->actor.naviEnemyId = 0x43;
this->actor.naviEnemyId = NAVI_ENEMY_POE_COMPOSER;
}
this->info = &sPoeInfo[this->infoIdx];
if (this->objectIdx < 0) {
@ -332,7 +332,7 @@ void func_80ADE48C(EnPoh* this) {
this->actor.speedXZ = 0.0f;
this->actor.world.rot.y = this->actor.shape.rot.y;
this->unk_198 = 0;
this->actor.naviEnemyId = 0xFF;
this->actor.naviEnemyId = NAVI_ENEMY_NONE;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actionFunc = func_80ADF15C;
}

View file

@ -144,11 +144,11 @@ void EnRd_Init(Actor* thisx, GlobalContext* globalCtx) {
if (thisx->params >= -1) {
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &object_rd_Skel_00E778, &object_rd_Anim_0087D0,
this->jointTable, this->morphTable, 26);
thisx->naviEnemyId = 0x2A;
thisx->naviEnemyId = NAVI_ENEMY_REDEAD;
} else {
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &object_rd_Skel_003DD8, &object_rd_Anim_0087D0,
this->jointTable, this->morphTable, 26);
thisx->naviEnemyId = 0x2D;
thisx->naviEnemyId = NAVI_ENEMY_GIBDO;
}
Collider_InitCylinder(globalCtx, &this->collider);

View file

@ -102,7 +102,7 @@ void EnReeba_Init(Actor* thisx, GlobalContext* globalCtx) {
EnReeba* this = (EnReeba*)thisx;
s32 surfaceType;
this->actor.naviEnemyId = 0x47;
this->actor.naviEnemyId = NAVI_ENEMY_LEEVER;
this->actor.targetMode = 3;
this->actor.gravity = -3.5f;
this->actor.focus.pos = this->actor.world.pos;

View file

@ -155,7 +155,7 @@ static DamageTable sDamageTable = {
};
static InitChainEntry sInitChain[] = {
ICHAIN_S8(naviEnemyId, 0x37, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_LIKE_LIKE, ICHAIN_CONTINUE),
ICHAIN_U8(targetMode, 2, ICHAIN_CONTINUE),
ICHAIN_F32(targetArrowOffset, 30, ICHAIN_STOP),
};

View file

@ -85,7 +85,7 @@ static DamageTable sDamageTable[] = {
};
static InitChainEntry sInitChain[] = {
ICHAIN_S8(naviEnemyId, 0x27, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_SHELL_BLADE, ICHAIN_CONTINUE),
ICHAIN_U8(targetMode, 2, ICHAIN_CONTINUE),
ICHAIN_F32(targetArrowOffset, 30, ICHAIN_STOP),
};

View file

@ -51,7 +51,7 @@ static ColliderCylinderInit sCylinderInit = {
static CollisionCheckInfoInit sColChkInfoInit = { 1, 20, 40, 0xFE };
static InitChainEntry sInitChain[] = {
ICHAIN_S8(naviEnemyId, 0x4E, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_BUSINESS_SCRUB, ICHAIN_CONTINUE),
ICHAIN_F32(gravity, -1, ICHAIN_CONTINUE),
ICHAIN_F32(targetArrowOffset, 2600, ICHAIN_STOP),
};

View file

@ -154,7 +154,7 @@ void EnSkb_Init(Actor* thisx, GlobalContext* globalCtx) {
this->actor.shape.yOffset = -8000.0f;
SkelAnime_Init(globalCtx, &this->skelAnime, &gStalchildSkel, &gStalchildUncurlingAnim, this->jointTable,
this->morphTable, 20);
this->actor.naviEnemyId = 0x55;
this->actor.naviEnemyId = NAVI_ENEMY_STALCHILD;
Collider_InitJntSph(globalCtx, &this->collider);
Collider_SetJntSph(globalCtx, &this->collider, &this->actor, &sJntSphInit, this->colliderItem);

View file

@ -341,21 +341,21 @@ void EnSkj_SetNaviId(EnSkj* this) {
switch (this->actor.params) {
case 0:
if (gSaveContext.itemGetInf[3] & 0x200) {
this->actor.naviEnemyId = 0x41; // Skull kid with skull mask
this->actor.naviEnemyId = NAVI_ENEMY_SKULL_KID_MASK;
} else if (gSaveContext.itemGetInf[1] & 0x40) {
this->actor.naviEnemyId = 0x40; // Skull kid after Saria's song but no mask
this->actor.naviEnemyId = NAVI_ENEMY_SKULL_KID_FRIENDLY;
} else {
this->actor.naviEnemyId = 0x3F; // No Sarias song no skull mask
this->actor.naviEnemyId = NAVI_ENEMY_SKULL_KID; // No Sarias song no skull mask
}
break;
case 1:
case 2:
this->actor.naviEnemyId = 0x3F;
this->actor.naviEnemyId = NAVI_ENEMY_SKULL_KID;
break;
default:
this->actor.naviEnemyId = 0x36; // Skull kid as adult
this->actor.naviEnemyId = NAVI_ENEMY_SKULL_KID_ADULT;
break;
}
}

View file

@ -787,9 +787,9 @@ void EnSt_Init(Actor* thisx, GlobalContext* globalCtx) {
this->actor.flags |= ACTOR_FLAG_7;
}
if (this->actor.params == 1) {
this->actor.naviEnemyId = 0x05;
this->actor.naviEnemyId = NAVI_ENEMY_BIG_SKULLTULA;
} else {
this->actor.naviEnemyId = 0x04;
this->actor.naviEnemyId = NAVI_ENEMY_SKULLTULA;
}
EnSt_CheckCeilingPos(this, globalCtx);
this->actor.flags |= ACTOR_FLAG_14;

View file

@ -280,13 +280,13 @@ void EnSw_Init(Actor* thisx, GlobalContext* globalCtx) {
this->actor.scale.x = 0.0f;
case 1:
this->collider.elements[0].info.toucher.damage *= 2;
this->actor.naviEnemyId = 0x20;
this->actor.naviEnemyId = NAVI_ENEMY_GOLD_SKULLTULA;
this->actor.colChkInfo.health *= 2;
this->actor.flags &= ~ACTOR_FLAG_0;
break;
default:
Actor_ChangeCategory(globalCtx, &globalCtx->actorCtx, &this->actor, ACTORCAT_ENEMY);
this->actor.naviEnemyId = 0x1F;
this->actor.naviEnemyId = NAVI_ENEMY_SKULLWALLTULA;
break;
}

View file

@ -242,8 +242,10 @@ static DamageTable sDamageTable = {
};
static InitChainEntry sInitChain[] = {
ICHAIN_S8(naviEnemyId, 0x1B, ICHAIN_CONTINUE), ICHAIN_F32(targetArrowOffset, 500, ICHAIN_CONTINUE),
ICHAIN_VEC3F_DIV1000(scale, 15, ICHAIN_CONTINUE), ICHAIN_F32(scale.y, 0, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_STALFOS, ICHAIN_CONTINUE),
ICHAIN_F32(targetArrowOffset, 500, ICHAIN_CONTINUE),
ICHAIN_VEC3F_DIV1000(scale, 15, ICHAIN_CONTINUE),
ICHAIN_F32(scale.y, 0, ICHAIN_CONTINUE),
ICHAIN_F32_DIV1000(gravity, -1500, ICHAIN_STOP),
};

View file

@ -149,7 +149,7 @@ static DamageTable sDamageTable[] = {
};
static InitChainEntry sInitChain[] = {
ICHAIN_S8(naviEnemyId, 0x45, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_RED_TEKTITE, ICHAIN_CONTINUE),
ICHAIN_F32(targetArrowOffset, 2000, ICHAIN_CONTINUE),
ICHAIN_F32(minVelocityY, -40, ICHAIN_CONTINUE),
ICHAIN_F32_DIV1000(gravity, -1000, ICHAIN_STOP),
@ -196,7 +196,7 @@ void EnTite_Init(Actor* thisx, GlobalContext* globalCtx) {
if (this->actor.params == TEKTITE_BLUE) {
this->unk_2DC |= UPDBGCHECKINFO_FLAG_6; // Don't use the actor engine's ripple spawning code
thisx->colChkInfo.health = 4;
thisx->naviEnemyId += 1;
thisx->naviEnemyId += 1; // NAVI_ENEMY_BLUE_TEKTITE
}
EnTite_SetupIdle(this);
}

View file

@ -99,7 +99,7 @@ void EnTorch2_Init(Actor* thisx, GlobalContext* globalCtx2) {
this->heldItemActionParam = this->heldItemId = PLAYER_AP_SWORD_MASTER;
Player_SetModelGroup(this, PLAYER_MODELGROUP_SWORD);
globalCtx->playerInit(this, globalCtx, &gDarkLinkSkel);
this->actor.naviEnemyId = 0x26;
this->actor.naviEnemyId = NAVI_ENEMY_DARK_LINK;
this->cylinder.base.acFlags = AC_ON | AC_TYPE_PLAYER;
this->meleeWeaponQuads[0].base.atFlags = this->meleeWeaponQuads[1].base.atFlags = AT_ON | AT_TYPE_ENEMY;
this->meleeWeaponQuads[0].base.acFlags = this->meleeWeaponQuads[1].base.acFlags = AC_ON | AC_HARD | AC_TYPE_PLAYER;

View file

@ -147,7 +147,7 @@ void EnTp_Init(Actor* thisx, GlobalContext* globalCtx2) {
Collider_SetJntSph(globalCtx, &this->collider, &this->actor, &sJntSphInit, this->colliderItems);
if (this->actor.params <= TAILPASARAN_HEAD) {
this->actor.naviEnemyId = 0x06;
this->actor.naviEnemyId = NAVI_ENEMY_TAILPASARAN;
this->timer = 0;
this->collider.base.acFlags |= AC_HARD;
this->collider.elements->dim.modelSphere.radius = this->collider.elements->dim.worldSphere.radius = 8;

View file

@ -128,7 +128,7 @@ static DamageTable sDamageTable = {
};
static InitChainEntry sInitChain[] = {
ICHAIN_S8(naviEnemyId, 0x18, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_BARI, ICHAIN_CONTINUE),
ICHAIN_VEC3F_DIV1000(scale, 10, ICHAIN_CONTINUE),
ICHAIN_F32(targetArrowOffset, 5000, ICHAIN_STOP),
};

View file

@ -144,7 +144,7 @@ void EnVm_Init(Actor* thisx, GlobalContext* globalCtx) {
Collider_SetQuad(globalCtx, &this->colliderQuad2, thisx, &sQuadInit2);
this->beamSightRange = (thisx->params >> 8) * 40.0f;
thisx->params &= 0xFF;
thisx->naviEnemyId = 0x39;
thisx->naviEnemyId = NAVI_ENEMY_BEAMOS;
if (thisx->params == BEAMOS_LARGE) {
thisx->colChkInfo.health = 2;

View file

@ -108,7 +108,7 @@ static DamageTable sDamageTable = {
};
static InitChainEntry sInitChain[] = {
ICHAIN_S8(naviEnemyId, 0x30, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_WALLMASTER, ICHAIN_CONTINUE),
ICHAIN_F32(targetArrowOffset, 5500, ICHAIN_CONTINUE),
ICHAIN_F32_DIV1000(gravity, -1500, ICHAIN_STOP),
};

View file

@ -94,8 +94,9 @@ static DamageTable sDamageTable = {
/* Hammer jump */ DMG_ENTRY(4, 0x0),
/* Unknown 2 */ DMG_ENTRY(0, 0x0),
};
static InitChainEntry sInitChain[] = {
ICHAIN_S8(naviEnemyId, 0x19, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_STINGER, ICHAIN_CONTINUE),
ICHAIN_VEC3F_DIV1000(scale, 3, ICHAIN_CONTINUE),
ICHAIN_F32(targetArrowOffset, 2500, ICHAIN_STOP),
};

View file

@ -236,14 +236,14 @@ void EnWf_Init(Actor* thisx, GlobalContext* globalCtx) {
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gWolfosNormalSkel, &gWolfosWaitingAnim, this->jointTable,
this->morphTable, WOLFOS_LIMB_MAX);
Actor_SetScale(thisx, 0.0075f);
thisx->naviEnemyId = 0x4C; // Wolfos
thisx->naviEnemyId = NAVI_ENEMY_WOLFOS;
} else { // WOLFOS_WHITE
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gWolfosWhiteSkel, &gWolfosWaitingAnim, this->jointTable,
this->morphTable, WOLFOS_LIMB_MAX);
Actor_SetScale(thisx, 0.01f);
this->colliderSpheres.elements[0].info.toucher.damage = this->colliderSpheres.elements[1].info.toucher.damage =
8;
thisx->naviEnemyId = 0x57; // White Wolfos
thisx->naviEnemyId = NAVI_ENEMY_WHITE_WOLFOS;
}
EnWf_SetupWaitToAppear(this);

View file

@ -323,12 +323,12 @@ void EnZf_Init(Actor* thisx, GlobalContext* globalCtx) {
if (thisx->params == ENZF_TYPE_DINOLFOS) {
thisx->colChkInfo.health = 12;
thisx->naviEnemyId = 0x10;
thisx->naviEnemyId = NAVI_ENEMY_DINOLFOS;
SkelAnime_Init(globalCtx, &this->skelAnime, &gZfDinolfosSkel, &gZfCryingAnim, this->jointTable,
this->morphTable, ENZF_LIMB_MAX);
} else { // Lizalfos
thisx->colChkInfo.health = 6;
thisx->naviEnemyId = 0x0F;
thisx->naviEnemyId = NAVI_ENEMY_LIZALFOS;
SkelAnime_Init(globalCtx, &this->skelAnime, &gZfLizalfosSkel, &gZfCryingAnim, this->jointTable,
this->morphTable, ENZF_LIMB_MAX);
}

View file

@ -64,7 +64,7 @@ static EnfHGPainting sPaintings[] = {
};
static InitChainEntry sInitChain[] = {
ICHAIN_S8(naviEnemyId, 0x1A, ICHAIN_CONTINUE),
ICHAIN_S8(naviEnemyId, NAVI_ENEMY_PHANTOM_GANON_PHASE_2, ICHAIN_CONTINUE),
ICHAIN_F32(uncullZoneScale, 1200, ICHAIN_STOP),
};

View file

@ -5032,7 +5032,8 @@ s32 func_8083B644(Player* this, GlobalContext* globalCtx) {
s32 sp28 = 0;
s32 sp24;
sp24 = (sp30 != NULL) && (CHECK_FLAG_ALL(sp30->flags, ACTOR_FLAG_0 | ACTOR_FLAG_18) || (sp30->naviEnemyId != 0xFF));
sp24 = (sp30 != NULL) &&
(CHECK_FLAG_ALL(sp30->flags, ACTOR_FLAG_0 | ACTOR_FLAG_18) || (sp30->naviEnemyId != NAVI_ENEMY_NONE));
if (sp24 || (this->naviTextId != 0)) {
sp28 = (this->naviTextId < 0) && ((ABS(this->naviTextId) & 0xFF00) != 0x200);
@ -5083,7 +5084,7 @@ s32 func_8083B644(Player* this, GlobalContext* globalCtx) {
sp2C->textId = -this->naviTextId;
}
} else {
if (sp2C->naviEnemyId != 0xFF) {
if (sp2C->naviEnemyId != NAVI_ENEMY_NONE) {
sp2C->textId = sp2C->naviEnemyId + 0x600;
}
}
@ -5119,8 +5120,8 @@ s32 func_8083B998(Player* this, GlobalContext* globalCtx) {
return 1;
}
if ((this->unk_664 != NULL) &&
(CHECK_FLAG_ALL(this->unk_664->flags, ACTOR_FLAG_0 | ACTOR_FLAG_18) || (this->unk_664->naviEnemyId != 0xFF))) {
if ((this->unk_664 != NULL) && (CHECK_FLAG_ALL(this->unk_664->flags, ACTOR_FLAG_0 | ACTOR_FLAG_18) ||
(this->unk_664->naviEnemyId != NAVI_ENEMY_NONE))) {
this->stateFlags2 |= PLAYER_STATE2_21;
} else if ((this->naviTextId == 0) && !func_8008E9C4(this) && CHECK_BTN_ALL(sControlInput->press.button, BTN_CUP) &&
(YREG(15) != 0x10) && (YREG(15) != 0x20) && !func_8083B8F4(this, globalCtx)) {

View file

@ -1429,7 +1429,8 @@ void KaleidoScope_SetView(PauseContext* pauseCtx, f32 x, f32 y, f32 z) {
up.y = 1.0f;
View_LookAt(&pauseCtx->view, &eye, &lookAt, &up);
View_Apply(&pauseCtx->view, VIEW_ALL | VIEW_FORCE_VIEWING | VIEW_FORCE_VIEWPORT | VIEW_FORCE_PROJECTION_PERSPECTIVE);
View_Apply(&pauseCtx->view,
VIEW_ALL | VIEW_FORCE_VIEWING | VIEW_FORCE_VIEWPORT | VIEW_FORCE_PROJECTION_PERSPECTIVE);
}
static u8 D_8082AE48[][4] = {