shithub: cstory

Download patch

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;