Clean-up NpcAct240.cpp

Also added some missing includes
This commit is contained in:
Clownacy 2019-11-14 14:29:42 +00:00
parent 51e10c100f
commit b59aaabb2d
4 changed files with 82 additions and 64 deletions

View file

@ -134,7 +134,7 @@ void ActNpc241(NPCHAR *npc)
switch (npc->act_no) switch (npc->act_no)
{ {
case 0: case 0:
npc->y += 0x600; npc->y += 3 * 0x200;
npc->act_no = 1; npc->act_no = 1;
// Fallthrough // Fallthrough
case 1: case 1:
@ -143,7 +143,7 @@ void ActNpc241(NPCHAR *npc)
else else
npc->direct = 2; npc->direct = 2;
if (npc->act_wait >= 8 && npc->x - 0x12000 < gMC.x && npc->x + 0x12000 > gMC.x && npc->y - 0xA000 < gMC.y && npc->y + 0xA000 > gMC.y) if (npc->act_wait >= 8 && npc->x - (144 * 0x200) < gMC.x && npc->x + (144 * 0x200) > gMC.x && npc->y - (80 * 0x200) < gMC.y && npc->y + (80 * 0x200) > gMC.y)
{ {
npc->ani_no = 1; npc->ani_no = 1;
} }
@ -162,7 +162,7 @@ void ActNpc241(NPCHAR *npc)
npc->act_wait = 0; npc->act_wait = 0;
} }
if (npc->act_wait >= 8 && npc->x - 0xC000 < gMC.x && npc->x + 0xC000 > gMC.x && npc->y - 0xA000 < gMC.y && npc->y + 0xC000 > gMC.y) if (npc->act_wait >= 8 && npc->x - (96 * 0x200) < gMC.x && npc->x + (96 * 0x200) > gMC.x && npc->y - (80 * 0x200) < gMC.y && npc->y + (96 * 0x200) > gMC.y)
{ {
npc->act_no = 2; npc->act_no = 2;
npc->ani_no = 0; npc->ani_no = 0;
@ -231,7 +231,7 @@ void ActNpc242(NPCHAR *npc)
npc->act_wait = Random(0, 50); npc->act_wait = Random(0, 50);
// Fallthrough // Fallthrough
case 1: case 1:
if (npc->act_wait) if (npc->act_wait != 0)
{ {
--npc->act_wait; --npc->act_wait;
break; break;
@ -301,14 +301,14 @@ void ActNpc243(NPCHAR *npc)
npc->act_wait = Random(0, 500); npc->act_wait = Random(0, 500);
// Fallthrough // Fallthrough
case 1: case 1:
if (npc->act_wait) if (npc->act_wait != 0)
{ {
--npc->act_wait; --npc->act_wait;
} }
else else
{ {
npc->act_no = 0; npc->act_no = 0;
SetNpChar(242, npc->x, npc->y + (Random(-0x20, 0x20) * 0x200), 0, 0, npc->direct, 0, 0x100); SetNpChar(242, npc->x, npc->y + (Random(-0x20, 0x20) * 0x200), 0, 0, npc->direct, NULL, 0x100);
} }
break; break;
@ -334,9 +334,9 @@ void ActNpc244(NPCHAR *npc)
if (bHit) if (bHit)
{ {
for (i = 0; i < 3; ++i) for (i = 0; i < 3; ++i)
SetCaret(npc->x, npc->y + 0x800, 1, 2); SetCaret(npc->x, npc->y + (4 * 0x200), 1, 2);
if (npc->x > gMC.x - 0x20000 && npc->x < gMC.x + 0x20000 && npc->y > gMC.y - 0x14000 && npc->y < gMC.y + 0x14000) if (npc->x > gMC.x - (256 * 0x200) && npc->x < gMC.x + (256 * 0x200) && npc->y > gMC.y - (160 * 0x200) && npc->y < gMC.y + (160 * 0x200))
PlaySoundObject(21, 1); PlaySoundObject(21, 1);
npc->cond = 0; npc->cond = 0;
@ -372,7 +372,7 @@ void ActNpc245(NPCHAR *npc)
case 1: case 1:
npc->ani_no = 0; npc->ani_no = 0;
if (npc->act_wait) if (npc->act_wait != 0)
{ {
--npc->act_wait; --npc->act_wait;
return; return;
@ -394,7 +394,7 @@ void ActNpc245(NPCHAR *npc)
npc->ani_no = 0; npc->ani_no = 0;
npc->act_no = 1; npc->act_no = 1;
npc->act_wait = npc->code_flag; npc->act_wait = npc->code_flag;
SetNpChar(244, npc->x, npc->y, 0, 0, 0, 0, 0x100); SetNpChar(244, npc->x, npc->y, 0, 0, 0, NULL, 0x100);
} }
break; break;
@ -411,6 +411,8 @@ void ActNpc245(NPCHAR *npc)
// Press (proximity) // Press (proximity)
void ActNpc246(NPCHAR *npc) void ActNpc246(NPCHAR *npc)
{ {
int i;
RECT rcLeft[3] = { RECT rcLeft[3] = {
{144, 112, 160, 136}, {144, 112, 160, 136},
{160, 112, 176, 136}, {160, 112, 176, 136},
@ -421,10 +423,10 @@ void ActNpc246(NPCHAR *npc)
{ {
case 0: case 0:
npc->act_no = 1; npc->act_no = 1;
npc->y -= 0x800; npc->y -= 4 * 0x200;
// Fallthrough // Fallthrough
case 1: case 1:
if (gMC.x < npc->x + 0x1000 && gMC.x > npc->x - 0x1000 && gMC.y > npc->y + 0x1000 && gMC.y < npc->y + 0x10000) if (gMC.x < npc->x + (8 * 0x200) && gMC.x > npc->x - (8 * 0x200) && gMC.y > npc->y + (8 * 0x200) && gMC.y < npc->y + (128 * 0x200))
npc->act_no = 5; npc->act_no = 5;
break; break;
@ -432,7 +434,8 @@ void ActNpc246(NPCHAR *npc)
case 5: case 5:
if (npc->flag & 8) if (npc->flag & 8)
{ {
// Another place where this blank space is needed for ASM-accuracy // Another place where this blank space is needed for ASM-accuracy.
// Chances are there used to be commented-out code here.
} }
else else
{ {
@ -468,8 +471,8 @@ void ActNpc246(NPCHAR *npc)
{ {
if (npc->ani_no > 1) if (npc->ani_no > 1)
{ {
for (int i = 0; i < 4; ++i) for (i = 0; i < 4; ++i)
SetNpChar(4, npc->x, npc->y, Random(-341, 341), Random(-0x600, 0), 0, 0, 0x100); SetNpChar(4, npc->x, npc->y, Random(-341, 341), Random(-0x600, 0), 0, NULL, 0x100);
PlaySoundObject(26, 1); PlaySoundObject(26, 1);
SetQuake(10); SetQuake(10);
@ -532,8 +535,8 @@ void ActNpc247(NPCHAR *npc)
{ {
case 0: case 0:
npc->act_no = 1; npc->act_no = 1;
npc->y += 0xC00; npc->y += 6 * 0x200;
npc->tgt_y = 0x8000; npc->tgt_y = 64 * 0x200;
// Fallthrough // Fallthrough
case 1: case 1:
if (Random(0, 120) == 10) if (Random(0, 120) == 10)
@ -649,9 +652,10 @@ void ActNpc247(NPCHAR *npc)
{ {
deg = GetArktan(npc->x - gMC.x, npc->y - gMC.y); deg = GetArktan(npc->x - gMC.x, npc->y - gMC.y);
deg += (unsigned char)Random(-4, 4); deg += (unsigned char)Random(-4, 4);
ym = 4 * GetSin(deg); ym = GetSin(deg) * 4;
xm = 4 * GetCos(deg); xm = GetCos(deg) * 4;
SetNpChar(248, npc->x, npc->y + 0x800, xm, ym, 0, 0, 0x100);
SetNpChar(248, npc->x, npc->y + (4 * 0x200), xm, ym, 0, NULL, 0x100);
PlaySoundObject(34, 1); PlaySoundObject(34, 1);
} }
@ -666,8 +670,8 @@ void ActNpc247(NPCHAR *npc)
case 113: case 113:
if (++npc->act_wait == 10) if (++npc->act_wait == 10)
{ {
ym = gMC.y - 0x8000; ym = gMC.y - (64 * 0x200);
SetNpChar(279, gMC.x, ym, 0, 0, 1, 0, 0x100); SetNpChar(279, gMC.x, ym, 0, 0, 1, NULL, 0x100);
} }
if (npc->act_wait > 30) if (npc->act_wait > 30)
@ -682,17 +686,20 @@ void ActNpc247(NPCHAR *npc)
npc->act_no = 151; npc->act_no = 151;
npc->act_wait = 0; npc->act_wait = 0;
npc->ani_no = 7; npc->ani_no = 7;
SetNpChar(249, npc->x, npc->y, 0, 0, 0, 0, 0x100);
SetNpChar(249, npc->x, npc->y, 0, 0, 2, 0, 0x100); SetNpChar(249, npc->x, npc->y, 0, 0, 0, NULL, 0x100);
SetNpChar(249, npc->x, npc->y, 0, 0, 2, NULL, 0x100);
npc->tgt_x = Random(9, 31) * 0x200 * 0x10; npc->tgt_x = Random(9, 31) * 0x200 * 0x10;
npc->tgt_y = Random(5, 7) * 0x200 * 0x10; npc->tgt_y = Random(5, 7) * 0x200 * 0x10;
PlaySoundObject(29, 1); PlaySoundObject(29, 1);
// Fallthrough // Fallthrough
case 151: case 151:
if (++npc->act_wait == 42) if (++npc->act_wait == 42)
{ {
SetNpChar(249, npc->tgt_x + 0x2000, npc->tgt_y, 0, 0, 0, 0, 0x100); SetNpChar(249, npc->tgt_x + (16 * 0x200), npc->tgt_y, 0, 0, 0, NULL, 0x100);
SetNpChar(249, npc->tgt_x - 0x2000, npc->tgt_y, 0, 0, 2, 0, 0x100); SetNpChar(249, npc->tgt_x - (16 * 0x200), npc->tgt_y, 0, 0, 2, NULL, 0x100);
} }
if (npc->act_wait > 50) if (npc->act_wait > 50)
@ -715,7 +722,7 @@ void ActNpc247(NPCHAR *npc)
SetNpChar(252, 0, 0, 0, 0, 0xC0, npc, 0x100); SetNpChar(252, 0, 0, 0, 0, 0xC0, npc, 0x100);
} }
if (gMC.x < npc->x - 0xE000 || gMC.x > npc->x + 0xE000) if (gMC.x < npc->x - (112 * 0x200) || gMC.x > npc->x + (112 * 0x200))
npc->act_no = 160; npc->act_no = 160;
else else
npc->act_no = 100; npc->act_no = 100;
@ -746,7 +753,7 @@ void ActNpc247(NPCHAR *npc)
if (++npc->act_wait % 24 == 0) if (++npc->act_wait % 24 == 0)
{ {
SetNpChar(250, npc->x, npc->y + 0x800, 0, 0, 0, 0, 0x100); SetNpChar(250, npc->x, npc->y + (4 * 0x200), 0, 0, 0, NULL, 0x100);
PlaySoundObject(34, 1); PlaySoundObject(34, 1);
} }
@ -763,18 +770,22 @@ void ActNpc247(NPCHAR *npc)
npc->act_no = 1001; npc->act_no = 1001;
npc->act_wait = 0; npc->act_wait = 0;
npc->ani_no = 4; npc->ani_no = 4;
npc->tgt_x = npc->x; npc->tgt_x = npc->x;
npc->tgt_y = npc->y; npc->tgt_y = npc->y;
npc->xm = 0; npc->xm = 0;
npc->ym = 0; npc->ym = 0;
DeleteNpCharCode(252, 1); DeleteNpCharCode(252, 1);
SetNpChar(4, npc->x, npc->y, 0, 0, 0, 0, 0x100);
SetNpChar(4, npc->x, npc->y, 0, 0, 0, 0, 0x100); SetNpChar(4, npc->x, npc->y, 0, 0, 0, NULL, 0x100);
SetNpChar(4, npc->x, npc->y, 0, 0, 0, 0, 0x100); SetNpChar(4, npc->x, npc->y, 0, 0, 0, NULL, 0x100);
SetNpChar(4, npc->x, npc->y, 0, 0, 0, NULL, 0x100);
// Fallthrough // Fallthrough
case 1001: case 1001:
if (++npc->act_wait / 2 % 2) if (++npc->act_wait / 2 % 2)
npc->x = npc->tgt_x + 0x200; npc->x = npc->tgt_x + (1 * 0x200);
else else
npc->x = npc->tgt_x; npc->x = npc->tgt_x;
@ -860,12 +871,12 @@ void ActNpc249(NPCHAR *npc)
if (npc->direct == 0) if (npc->direct == 0)
{ {
npc->rect = rc[0]; npc->rect = rc[0];
npc->x -= 1024; npc->x -= 2 * 0x200;
} }
else else
{ {
npc->rect = rc[1]; npc->rect = rc[1];
npc->x += 1024; npc->x += 2 * 0x200;
} }
} }
@ -919,7 +930,7 @@ void ActNpc250(NPCHAR *npc)
if (npc->ani_no > 1) if (npc->ani_no > 1)
npc->ani_no = 0; npc->ani_no = 0;
if (gMC.x > npc->x - 0x1000 && gMC.x < npc->x + 0x1000 && gMC.y > npc->y) if (gMC.x > npc->x - (8 * 0x200) && gMC.x < npc->x + (8 * 0x200) && gMC.y > npc->y)
npc->act_no = 10; npc->act_no = 10;
break; break;
@ -931,7 +942,7 @@ void ActNpc250(NPCHAR *npc)
case 11: case 11:
if (++npc->act_wait > 10) if (++npc->act_wait > 10)
{ {
SetNpChar(251, npc->x, npc->y, 0, 0, 0, 0, 0x100); SetNpChar(251, npc->x, npc->y, 0, 0, 0, NULL, 0x100);
PlaySoundObject(101, 1); PlaySoundObject(101, 1);
npc->cond = 0; npc->cond = 0;
return; return;
@ -963,7 +974,7 @@ void ActNpc251(NPCHAR *npc)
if (++npc->ani_no > 1) if (++npc->ani_no > 1)
npc->ani_no = 0; npc->ani_no = 0;
npc->y += 0x1000; npc->y += 8 * 0x200;
if (npc->flag & 0xFF) if (npc->flag & 0xFF)
{ {
@ -1012,8 +1023,8 @@ void ActNpc252(NPCHAR *npc)
if (npc->act_wait < 192) if (npc->act_wait < 192)
++npc->act_wait; ++npc->act_wait;
npc->x = npc->pNpc->x + npc->act_wait * GetCos(deg) / 4; npc->x = npc->pNpc->x + (GetCos(deg) * npc->act_wait) / 4;
npc->y = npc->pNpc->y + npc->act_wait * GetSin(deg) / 4; npc->y = npc->pNpc->y + (GetSin(deg) * npc->act_wait) / 4;
if (npc->pNpc->act_no == 151) if (npc->pNpc->act_no == 151)
{ {
@ -1048,9 +1059,9 @@ void ActNpc252(NPCHAR *npc)
if (npc->flag & 0xFF) if (npc->flag & 0xFF)
{ {
SetNpChar(4, npc->x, npc->y, 0, 0, 0, 0, 0x100); SetNpChar(4, npc->x, npc->y, 0, 0, 0, NULL, 0x100);
SetNpChar(4, npc->x, npc->y, 0, 0, 0, 0, 0x100); SetNpChar(4, npc->x, npc->y, 0, 0, 0, NULL, 0x100);
SetNpChar(4, npc->x, npc->y, 0, 0, 0, 0, 0x100); SetNpChar(4, npc->x, npc->y, 0, 0, 0, NULL, 0x100);
npc->cond = 0; npc->cond = 0;
} }
@ -1121,8 +1132,8 @@ void ActNpc254(NPCHAR *npc)
{ {
case 0: case 0:
npc->act_no = 1; npc->act_no = 1;
SetNpChar(255, npc->x + 0x2400, npc->y - 0x7200, 0, 0, 0, npc, 0x100); SetNpChar(255, npc->x + (18 * 0x200), npc->y - (57 * 0x200), 0, 0, 0, npc, 0x100);
SetNpChar(255, npc->x - 0x4000, npc->y - 0x6800, 0, 0, 2, npc, 0x100); SetNpChar(255, npc->x - (32 * 0x200), npc->y - (52 * 0x200), 0, 0, 2, npc, 0x100);
break; break;
case 20: case 20:
@ -1133,14 +1144,14 @@ void ActNpc254(NPCHAR *npc)
case 30: case 30:
npc->act_no = 21; npc->act_no = 21;
SetNpChar(223, npc->x - 0x1600, npc->y - 0x1C00, 0, 0, 0, 0, 0x100); SetNpChar(223, npc->x - (11 * 0x200), npc->y - (14 * 0x200), 0, 0, 0, NULL, 0x100);
break; break;
case 40: case 40:
npc->act_no = 21; npc->act_no = 21;
SetNpChar(223, npc->x - 0x1200, npc->y - 0x1C00, 0, 0, 0, 0, 0x100); SetNpChar(223, npc->x - (9 * 0x200), npc->y - (14 * 0x200), 0, 0, 0, NULL, 0x100);
SetNpChar(40, npc->x - 0x2C00, npc->y - 0x1C00, 0, 0, 0, 0, 0x100); SetNpChar(40, npc->x - (22 * 0x200), npc->y - (14 * 0x200), 0, 0, 0, NULL, 0x100);
SetNpChar(93, npc->x - 0x4600, npc->y - 0x1C00, 0, 0, 0, 0, 0x100); SetNpChar(93, npc->x - (35 * 0x200), npc->y - (14 * 0x200), 0, 0, 0, NULL, 0x100);
break; break;
} }
@ -1174,13 +1185,13 @@ void ActNpc255(NPCHAR *npc)
if (npc->direct == 0) if (npc->direct == 0)
{ {
npc->view.front = 0x7000; npc->view.front = (56 * 0x200);
npc->view.back = 0x7000; npc->view.back = (56 * 0x200);
} }
else else
{ {
npc->view.front = 0x5000; npc->view.front = (40 * 0x200);
npc->view.back = 0x5000; npc->view.back = (40 * 0x200);
} }
// Fallthrough // Fallthrough
case 1: case 1:
@ -1201,13 +1212,13 @@ void ActNpc255(NPCHAR *npc)
if (npc->direct == 0) if (npc->direct == 0)
{ {
npc->x = npc->pNpc->x + 0x2400; npc->x = npc->pNpc->x + (18 * 0x200);
npc->y = npc->pNpc->y - 0x7200; npc->y = npc->pNpc->y - (57 * 0x200);
} }
else else
{ {
npc->x = npc->pNpc->x - 0x4000; npc->x = npc->pNpc->x - (32 * 0x200);
npc->y = npc->pNpc->y - 0x6800; npc->y = npc->pNpc->y - (52 * 0x200);
} }
if (npc->direct == 0) if (npc->direct == 0)
@ -1233,7 +1244,7 @@ void ActNpc256(NPCHAR *npc)
case 0: case 0:
gSuperXpos = 0; gSuperXpos = 0;
npc->act_no = 1; npc->act_no = 1;
npc->y -= 0x1000; npc->y -= 8 * 0x200;
// Fallthrough // Fallthrough
case 1: case 1:
npc->ani_no = 0; npc->ani_no = 0;
@ -1272,8 +1283,8 @@ void ActNpc256(NPCHAR *npc)
case 40: case 40:
npc->act_no = 41; npc->act_no = 41;
SetNpChar(257, npc->x - 0x1C00, npc->y - 0x2000, 0, 0, 0, 0, 0x100); SetNpChar(257, npc->x - (14 * 0x200), npc->y - (16 * 0x200), 0, 0, 0, NULL, 0x100);
SetNpChar(257, npc->x - 0x1C00, npc->y - 0x2000, 0, 0, 2, 0, 0xAA); SetNpChar(257, npc->x - (14 * 0x200), npc->y - (16 * 0x200), 0, 0, 2, NULL, 0xAA);
// Fallthrough // Fallthrough
case 41: case 41:
npc->ani_no = 4; npc->ani_no = 4;
@ -1322,7 +1333,7 @@ void ActNpc257(NPCHAR *npc)
npc->act_no = 1; npc->act_no = 1;
// Fallthrough // Fallthrough
case 1: case 1:
if (gSuperXpos) if (gSuperXpos != 0)
npc->act_no = 10; npc->act_no = 10;
break; break;
@ -1350,6 +1361,7 @@ void ActNpc257(NPCHAR *npc)
npc->x += npc->xm; npc->x += npc->xm;
npc->y += npc->ym; npc->y += npc->ym;
break; break;
} }
@ -1395,16 +1407,16 @@ void ActNpc259(NPCHAR *npc)
else else
npc->direct = 2; npc->direct = 2;
npc->y = gMC.y - 0x800; npc->y = gMC.y - (4 * 0x200);
if (npc->direct == 0) if (npc->direct == 0)
{ {
npc->x = gMC.x + 0x600; npc->x = gMC.x + (3 * 0x200);
npc->rect = rcLeft; npc->rect = rcLeft;
} }
else else
{ {
npc->x = gMC.x - 0x600; npc->x = gMC.x - (3 * 0x200);
npc->rect = rcRight; npc->rect = rcRight;
} }
@ -1422,7 +1434,7 @@ void ActNpc259(NPCHAR *npc)
break; break;
case 11: case 11:
if (npc->y < 0x8000) if (npc->y < (64 * 0x200))
npc->ym = 0x20; npc->ym = 0x20;
npc->x += npc->xm; npc->x += npc->xm;

View file

@ -1,5 +1,7 @@
#include "NpcAct.h" #include "NpcAct.h"
#include <stddef.h>
#include "WindowsWrapper.h" #include "WindowsWrapper.h"
#include "Caret.h" #include "Caret.h"

View file

@ -1,5 +1,7 @@
#include "NpcAct.h" #include "NpcAct.h"
#include <stddef.h>
#include "WindowsWrapper.h" #include "WindowsWrapper.h"
#include "Boss.h" #include "Boss.h"

View file

@ -1,5 +1,7 @@
#include "NpcAct.h" #include "NpcAct.h"
#include <stddef.h>
#include "WindowsWrapper.h" #include "WindowsWrapper.h"
#include "Caret.h" #include "Caret.h"