ref: cb2b03559c7b32bdb5c858bdceb5ec94c2812e55
parent: 00478c4f3b107798724cfaa380efd44d877ff7f6
author: Clownacy <Clownacy@users.noreply.github.com>
date: Thu Nov 14 11:24:31 EST 2019
Note a 60FPS/50FPS-related inconsistency
--- a/src/NpcAct200.cpp
+++ b/src/NpcAct200.cpp
@@ -475,6 +475,8 @@
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;
--- a/src/NpcAct320.cpp
+++ b/src/NpcAct320.cpp
@@ -219,27 +219,29 @@
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;