From cb2b03559c7b32bdb5c858bdceb5ec94c2812e55 Mon Sep 17 00:00:00 2001 From: Clownacy Date: Thu, 14 Nov 2019 16:24:31 +0000 Subject: [PATCH] Note a 60FPS/50FPS-related inconsistency --- src/NpcAct200.cpp | 2 ++ src/NpcAct320.cpp | 14 ++++++++------ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/NpcAct200.cpp b/src/NpcAct200.cpp index 59a30996..61219dc2 100644 --- a/src/NpcAct200.cpp +++ b/src/NpcAct200.cpp @@ -475,6 +475,8 @@ void ActNpc206(NPCHAR *npc) case 3: switch (npc->act_wait) { + // Interestingly, this NPC counts down at 60 frames per second, + // while the NPC322 (Deleet), counts at 50. case 60 * 0: SetNpChar(207, npc->x + (16 * 0x200), npc->y + (4 * 0x200), 0, 0, 0, NULL, 0x100); break; diff --git a/src/NpcAct320.cpp b/src/NpcAct320.cpp index 0c6e0268..7e1cb3c9 100644 --- a/src/NpcAct320.cpp +++ b/src/NpcAct320.cpp @@ -219,27 +219,29 @@ void ActNpc322(NPCHAR *npc) switch (npc->act_wait) { - case 0: + // Interestingly, this NPC counts down at 50 frames per second, + // while the NPC206 (the Egg Corridor Counter Bomb), counts at 60. + case 50 * 0: SetNpChar(207, npc->x + (4 * 0x200), npc->y, 0, 0, 0, NULL, 0x180); break; - case 50: + case 50 * 1: SetNpChar(207, npc->x + (4 * 0x200), npc->y, 0, 0, 1, NULL, 0x180); break; - case 100: + case 50 * 2: SetNpChar(207, npc->x + (4 * 0x200), npc->y, 0, 0, 2, NULL, 0x180); break; - case 150: + case 50 * 3: SetNpChar(207, npc->x + (4 * 0x200), npc->y, 0, 0, 3, NULL, 0x180); break; - case 200: + case 50 * 4: SetNpChar(207, npc->x + (4 * 0x200), npc->y, 0, 0, 4, NULL, 0x180); break; - case 250: + case 50 * 5: npc->hit.back = 48 * 0x200; npc->hit.front = 48 * 0x200; npc->hit.top = 48 * 0x200;