diff --git a/src/BossFrog.cpp b/src/BossFrog.cpp index 939d0779..c61b0eb8 100644 --- a/src/BossFrog.cpp +++ b/src/BossFrog.cpp @@ -573,9 +573,17 @@ void ActBossChar_Frog(void) break; } - NPC_DO_GRAVITY(boss, 0x40, 0x5FF); - NPC_UPDATE_POSITIONS_WITH_VELOCITIES(boss); - NPC_SET_RECT_FROM_LEFT_RIGHT(boss, rcLeft, rcRight); + boss->ym += 0x40; + if (boss->ym > 0x5FF) + boss->ym = 0x5FF; + + boss->x += boss->xm; + boss->y += boss->ym; + + if (boss->direct == DIR_LEFT) + boss->rect = rcLeft[boss->ani_no]; + else + boss->rect = rcRight[boss->ani_no]; ActBossChar02_01(); ActBossChar02_02(); diff --git a/src/NpChar.h b/src/NpChar.h index aa88bddd..9dd481e6 100644 --- a/src/NpChar.h +++ b/src/NpChar.h @@ -7,24 +7,6 @@ #define NPC_MAX 0x200 -#define NPC_CAP_Y_VELOCITY(npc, maxYVel) \ - if (npc->ym > (maxYVel)) \ - npc->ym = (maxYVel) - -#define NPC_DO_GRAVITY(npc, ymAdd, maxYVel) \ - npc->ym += ymAdd; \ - NPC_CAP_Y_VELOCITY(npc, maxYVel) - -#define NPC_UPDATE_POSITIONS_WITH_VELOCITIES(npc) \ - npc->x += npc->xm; \ - npc->y += npc->ym - -#define NPC_SET_RECT_FROM_LEFT_RIGHT(npc, rcLeft, rcRight) \ - if (npc->direct == DIR_LEFT) \ - npc->rect = rcLeft[npc->ani_no]; \ - else \ - npc->rect = rcRight[npc->ani_no] - enum NPCCond { NPCCOND_DAMAGE_BOSS = 0x10, // (gBoss npc exclusive) When set, damage the main boss