Made the spriterects C++03-compatible
This commit is contained in:
parent
4d04590b28
commit
ec148c1072
37 changed files with 3598 additions and 3396 deletions
2
Makefile
2
Makefile
|
@ -110,11 +110,11 @@ SOURCES = \
|
|||
PixTone \
|
||||
Profile \
|
||||
Resource \
|
||||
SelStage \
|
||||
Shoot \
|
||||
Sound \
|
||||
Stage \
|
||||
Star \
|
||||
SelStage \
|
||||
TextScr \
|
||||
Triangle \
|
||||
ValueView
|
||||
|
|
|
@ -13,12 +13,12 @@
|
|||
|
||||
static void ActBossChar_Core_Face(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[4];
|
||||
|
||||
rect[0] = {0, 0, 72, 112};
|
||||
rect[1] = {0, 112, 72, 224};
|
||||
rect[2] = {160, 0, 232, 112};
|
||||
rect[3] = {0, 0, 0, 0};
|
||||
RECT rect[4] = {
|
||||
{0, 0, 72, 112},
|
||||
{0, 112, 72, 224},
|
||||
{160, 0, 232, 112},
|
||||
{0, 0, 0, 0},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -62,11 +62,11 @@ static void ActBossChar_Core_Face(NPCHAR *npc)
|
|||
|
||||
static void ActBossChar_Core_Tail(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[3];
|
||||
|
||||
rect[0] = {72, 0, 160, 112};
|
||||
rect[1] = {72, 112, 160, 224};
|
||||
rect[2] = {0, 0, 0, 0};
|
||||
RECT rect[3] = {
|
||||
{72, 0, 160, 112},
|
||||
{72, 112, 160, 224},
|
||||
{0, 0, 0, 0},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -110,11 +110,11 @@ static void ActBossChar_Core_Tail(NPCHAR *npc)
|
|||
|
||||
static void ActBossChar_Core_Mini(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[3];
|
||||
|
||||
rect[0] = {256, 0, 320, 40};
|
||||
rect[1] = {256, 40, 320, 80};
|
||||
rect[2] = {256, 80, 320, 120};
|
||||
RECT rect[3] = {
|
||||
{256, 0, 320, 40},
|
||||
{256, 40, 320, 80},
|
||||
{256, 80, 320, 120},
|
||||
};
|
||||
|
||||
npc->life = 1000;
|
||||
|
||||
|
|
|
@ -14,12 +14,12 @@
|
|||
|
||||
static void ActBossCharA_Head(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[4];
|
||||
|
||||
rect[0] = {0, 0, 72, 112};
|
||||
rect[1] = {0, 112, 72, 224};
|
||||
rect[2] = {160, 0, 232, 112};
|
||||
rect[3] = {0, 0, 0, 0};
|
||||
RECT rect[4] = {
|
||||
{0, 0, 72, 112},
|
||||
{0, 112, 72, 224},
|
||||
{160, 0, 232, 112},
|
||||
{0, 0, 0, 0},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -61,11 +61,11 @@ static void ActBossCharA_Head(NPCHAR *npc)
|
|||
|
||||
static void ActBossCharA_Tail(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[3];
|
||||
|
||||
rect[0] = {72, 0, 160, 112};
|
||||
rect[1] = {72, 112, 160, 224};
|
||||
rect[2] = {0, 0, 0, 0};
|
||||
RECT rect[3] = {
|
||||
{72, 0, 160, 112},
|
||||
{72, 112, 160, 224},
|
||||
{0, 0, 0, 0},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -107,13 +107,13 @@ static void ActBossCharA_Tail(NPCHAR *npc)
|
|||
|
||||
static void ActBossCharA_Face(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[5];
|
||||
|
||||
rect[0] = {0, 0, 0, 0};
|
||||
rect[1] = {160, 112, 232, 152};
|
||||
rect[2] = {160, 152, 232, 192};
|
||||
rect[3] = {160, 192, 232, 232};
|
||||
rect[4] = {248, 160, 320, 200};
|
||||
RECT rect[5] = {
|
||||
{0, 0, 0, 0},
|
||||
{160, 112, 232, 152},
|
||||
{160, 152, 232, 192},
|
||||
{160, 192, 232, 232},
|
||||
{248, 160, 320, 200},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -172,11 +172,11 @@ static void ActBossCharA_Face(NPCHAR *npc)
|
|||
|
||||
static void ActBossCharA_Mini(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[3];
|
||||
|
||||
rect[0] = {256, 0, 320, 40};
|
||||
rect[1] = {256, 40, 320, 80};
|
||||
rect[2] = {256, 80, 320, 120};
|
||||
RECT rect[3] = {
|
||||
{256, 0, 320, 40},
|
||||
{256, 40, 320, 80},
|
||||
{256, 80, 320, 120},
|
||||
};
|
||||
|
||||
if (npc->cond)
|
||||
{
|
||||
|
|
|
@ -13,20 +13,21 @@
|
|||
|
||||
static void ActBossChar_Eye(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[5];
|
||||
RECT rcRight[5];
|
||||
RECT rcLeft[5] = {
|
||||
{272, 0, 296, 16},
|
||||
{272, 16, 296, 32},
|
||||
{272, 32, 296, 48},
|
||||
{0, 0, 0, 0},
|
||||
{240, 16, 264, 32},
|
||||
};
|
||||
|
||||
rcLeft[0] = {272, 0, 296, 16};
|
||||
rcLeft[1] = {272, 16, 296, 32};
|
||||
rcLeft[2] = {272, 32, 296, 48};
|
||||
rcLeft[3] = {0, 0, 0, 0};
|
||||
rcLeft[4] = {240, 16, 264, 32};
|
||||
|
||||
rcRight[0] = {296, 0, 320, 16};
|
||||
rcRight[1] = {296, 16, 320, 32};
|
||||
rcRight[2] = {296, 32, 320, 48};
|
||||
rcRight[3] = {0, 0, 0, 0};
|
||||
rcRight[4] = {240, 32, 264, 48};
|
||||
RECT rcRight[5] = {
|
||||
{296, 0, 320, 16},
|
||||
{296, 16, 320, 32},
|
||||
{296, 32, 320, 48},
|
||||
{0, 0, 0, 0},
|
||||
{240, 32, 264, 48},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -103,12 +104,12 @@ static void ActBossChar_Eye(NPCHAR *npc)
|
|||
|
||||
static void ActBossChar_Body(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[4];
|
||||
|
||||
rc[0] = {0, 0, 120, 120};
|
||||
rc[1] = {120, 0, 240, 120};
|
||||
rc[2] = {0, 120, 120, 240};
|
||||
rc[3] = {120, 120, 240, 240};
|
||||
RECT rc[4] = {
|
||||
{0, 0, 120, 120},
|
||||
{120, 0, 240, 120},
|
||||
{0, 120, 120, 240},
|
||||
{120, 120, 240, 240},
|
||||
};
|
||||
|
||||
npc->x = gBoss[0].x;
|
||||
npc->y = gBoss[0].y;
|
||||
|
|
|
@ -78,28 +78,29 @@ static void ActBossChar02_02(void)
|
|||
|
||||
void ActBossChar_Frog(void)
|
||||
{
|
||||
RECT rcLeft[9];
|
||||
RECT rcRight[9];
|
||||
RECT rcLeft[9] = {
|
||||
{0, 0, 0, 0},
|
||||
{0, 48, 80, 112},
|
||||
{0, 112, 80, 176},
|
||||
{0, 176, 80, 240},
|
||||
{160, 48, 240, 112},
|
||||
{160, 112, 240, 200},
|
||||
{200, 0, 240, 24},
|
||||
{80, 0, 120, 24},
|
||||
{120, 0, 160, 24},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 0, 0, 0};
|
||||
rcLeft[1] = {0, 48, 80, 112};
|
||||
rcLeft[2] = {0, 112, 80, 176};
|
||||
rcLeft[3] = {0, 176, 80, 240};
|
||||
rcLeft[4] = {160, 48, 240, 112};
|
||||
rcLeft[5] = {160, 112, 240, 200};
|
||||
rcLeft[6] = {200, 0, 240, 24};
|
||||
rcLeft[7] = {80, 0, 120, 24};
|
||||
rcLeft[8] = {120, 0, 160, 24};
|
||||
|
||||
rcRight[0] = {0, 0, 0, 0};
|
||||
rcRight[1] = {80, 48, 160, 112};
|
||||
rcRight[2] = {80, 112, 160, 176};
|
||||
rcRight[3] = {80, 176, 160, 240};
|
||||
rcRight[4] = {240, 48, 320, 112};
|
||||
rcRight[5] = {240, 112, 320, 200};
|
||||
rcRight[6] = {200, 24, 240, 48};
|
||||
rcRight[7] = {80, 24, 120, 48};
|
||||
rcRight[8] = {120, 24, 160, 48};
|
||||
RECT rcRight[9] = {
|
||||
{0, 0, 0, 0},
|
||||
{80, 48, 160, 112},
|
||||
{80, 112, 160, 176},
|
||||
{80, 176, 160, 240},
|
||||
{240, 48, 320, 112},
|
||||
{240, 112, 320, 200},
|
||||
{200, 24, 240, 48},
|
||||
{80, 24, 120, 48},
|
||||
{120, 24, 160, 48},
|
||||
};
|
||||
|
||||
switch (gBoss[0].act_no)
|
||||
{
|
||||
|
|
|
@ -169,28 +169,29 @@ void ActBossChar_Ironhead(void)
|
|||
break;
|
||||
}
|
||||
|
||||
RECT rc[9];
|
||||
RECT rcDamage[9];
|
||||
RECT rc[9] = {
|
||||
{0, 0, 64, 24},
|
||||
{64, 0, 128, 24},
|
||||
{128, 0, 192, 24},
|
||||
{64, 0, 128, 24},
|
||||
{0, 0, 64, 24},
|
||||
{192, 0, 256, 24},
|
||||
{256, 0, 320, 24},
|
||||
{192, 0, 256, 24},
|
||||
{256, 48, 320, 72},
|
||||
};
|
||||
|
||||
rc[0] = {0, 0, 64, 24};
|
||||
rc[1] = {64, 0, 128, 24};
|
||||
rc[2] = {128, 0, 192, 24};
|
||||
rc[3] = {64, 0, 128, 24};
|
||||
rc[4] = {0, 0, 64, 24};
|
||||
rc[5] = {192, 0, 256, 24};
|
||||
rc[6] = {256, 0, 320, 24};
|
||||
rc[7] = {192, 0, 256, 24};
|
||||
rc[8] = {256, 48, 320, 72};
|
||||
|
||||
rcDamage[0] = {0, 24, 64, 48};
|
||||
rcDamage[1] = {64, 24, 128, 48};
|
||||
rcDamage[2] = {128, 24, 192, 48};
|
||||
rcDamage[3] = {64, 24, 128, 48};
|
||||
rcDamage[4] = {0, 24, 64, 48};
|
||||
rcDamage[5] = {192, 24, 256, 48};
|
||||
rcDamage[6] = {256, 24, 320, 48};
|
||||
rcDamage[7] = {192, 24, 256, 48};
|
||||
rcDamage[8] = {256, 48, 320, 72};
|
||||
RECT rcDamage[9] = {
|
||||
{0, 24, 64, 48},
|
||||
{64, 24, 128, 48},
|
||||
{128, 24, 192, 48},
|
||||
{64, 24, 128, 48},
|
||||
{0, 24, 64, 48},
|
||||
{192, 24, 256, 48},
|
||||
{256, 24, 320, 48},
|
||||
{192, 24, 256, 48},
|
||||
{256, 48, 320, 72},
|
||||
};
|
||||
|
||||
if (gBoss[0].shock)
|
||||
{
|
||||
|
|
106
src/BossOhm.cpp
106
src/BossOhm.cpp
|
@ -15,10 +15,8 @@
|
|||
|
||||
void ActBoss01_12()
|
||||
{
|
||||
RECT rcLeft[1];
|
||||
RECT rcRight[1];
|
||||
rcLeft[0] = {80, 56, 104, 72};
|
||||
rcRight[0] = {104, 56, 128, 72};
|
||||
RECT rcLeft[1] = {80, 56, 104, 72};
|
||||
RECT rcRight[1] = {104, 56, 128, 72};
|
||||
|
||||
for (int i = 1; i <= 2; i++)
|
||||
{
|
||||
|
@ -39,13 +37,15 @@ void ActBoss01_12()
|
|||
|
||||
void ActBoss01_34()
|
||||
{
|
||||
RECT rcRight[2];
|
||||
RECT rcLeft[2];
|
||||
RECT rcLeft[2] = {
|
||||
{0, 56, 40, 88},
|
||||
{40, 56, 80, 88},
|
||||
};
|
||||
|
||||
rcLeft[0] = { 0, 56, 40, 88 };
|
||||
rcLeft[1] = { 40, 56, 80, 88 };
|
||||
rcRight[0] = { 0, 88, 40, 120 };
|
||||
rcRight[1] = { 40, 88, 80, 120 };
|
||||
RECT rcRight[2] = {
|
||||
{ 0, 88, 40, 120 },
|
||||
{ 40, 88, 80, 120 },
|
||||
};
|
||||
|
||||
for (int i = 3; i <= 4; i++)
|
||||
{
|
||||
|
@ -79,19 +79,24 @@ void ActBoss01_34()
|
|||
|
||||
gBoss[i].count2 = !((gBoss[i].flag & 8) && gBoss[i].y > gBoss[i].tgt_y);
|
||||
|
||||
if (gBoss[i].direct)
|
||||
gBoss[i].rect = rcRight[gBoss[i].count2];
|
||||
else
|
||||
if (gBoss[i].direct == 0)
|
||||
gBoss[i].rect = rcLeft[gBoss[i].count2];
|
||||
else
|
||||
gBoss[i].rect = rcRight[gBoss[i].count2];
|
||||
}
|
||||
}
|
||||
|
||||
void ActBoss01_5()
|
||||
{
|
||||
if (!gBoss[5].act_no)
|
||||
if (gBoss[5].act_no == 0)
|
||||
{
|
||||
gBoss[5].bits |= npc_solidSoft | npc_ignoreSolid;
|
||||
gBoss[5].hit = { 0x2800, 0x4800, 0x2800, 0x2000 };
|
||||
|
||||
gBoss[5].hit.front = 0x2800;
|
||||
gBoss[5].hit.top = 0x4800;
|
||||
gBoss[5].hit.back = 0x2800;
|
||||
gBoss[5].hit.bottom = 0x2000;
|
||||
|
||||
gBoss[5].act_no = 1;
|
||||
}
|
||||
|
||||
|
@ -110,14 +115,20 @@ void ActBossChar_Omega()
|
|||
gBoss[0].x = 0x1B6000;
|
||||
gBoss[0].y = 0x20000;
|
||||
|
||||
gBoss[0].view = { 0x5000, 0x5000, 0x5000, 0x2000 };
|
||||
gBoss[0].view.front = 0x5000;
|
||||
gBoss[0].view.top = 0x5000;
|
||||
gBoss[0].view.back = 0x5000;
|
||||
gBoss[0].view.bottom = 0x2000;
|
||||
|
||||
gBoss[0].tgt_x = 0x1B6000;
|
||||
gBoss[0].tgt_y = 0x20000;
|
||||
|
||||
gBoss[0].hit_voice = 52;
|
||||
|
||||
gBoss[0].hit = { 0x1000, 0x3000, 0x1000, 0x2000 };
|
||||
gBoss[0].hit.front = 0x1000;
|
||||
gBoss[0].hit.top = 0x3000;
|
||||
gBoss[0].hit.back = 0x1000;
|
||||
gBoss[0].hit.bottom = 0x2000;
|
||||
|
||||
gBoss[0].bits = (npc_ignoreSolid | npc_eventDie | npc_showDamage);
|
||||
gBoss[0].size = 3;
|
||||
|
@ -126,7 +137,12 @@ void ActBossChar_Omega()
|
|||
gBoss[0].life = 400;
|
||||
|
||||
gBoss[1].cond = 0x80;
|
||||
gBoss[1].view = { 0x1800, 0x1000, 0x1800, 0x1000 };
|
||||
|
||||
gBoss[1].view.front = 0x1800;
|
||||
gBoss[1].view.top = 0x1000;
|
||||
gBoss[1].view.back = 0x1800;
|
||||
gBoss[1].view.bottom = 0x1000;
|
||||
|
||||
gBoss[1].bits = npc_ignoreSolid;
|
||||
|
||||
memcpy(&gBoss[2], &gBoss[1], sizeof(gBoss[2]));
|
||||
|
@ -135,9 +151,19 @@ void ActBossChar_Omega()
|
|||
gBoss[2].direct = 2;
|
||||
|
||||
gBoss[3].cond = 0x80;
|
||||
gBoss[3].view = { 0x3000, 0x2000, 0x2000, 0x2000 };
|
||||
|
||||
gBoss[3].view.front = 0x3000;
|
||||
gBoss[3].view.top = 0x2000;
|
||||
gBoss[3].view.back = 0x2000;
|
||||
gBoss[3].view.bottom = 0x2000;
|
||||
|
||||
gBoss[3].hit_voice = 52;
|
||||
gBoss[3].hit = { 0x1000, 0x1000, 0x1000, 0x1000 };
|
||||
|
||||
gBoss[3].hit.front = 0x1000;
|
||||
gBoss[3].hit.top = 0x1000;
|
||||
gBoss[3].hit.back = 0x1000;
|
||||
gBoss[3].hit.bottom = 0x1000;
|
||||
|
||||
gBoss[3].bits = npc_ignoreSolid;
|
||||
|
||||
gBoss[3].y = gBoss[0].y;
|
||||
|
@ -205,8 +231,8 @@ void ActBossChar_Omega()
|
|||
gBoss[0].act_no = 60;
|
||||
gBoss[0].act_wait = 0;
|
||||
gBoss[0].bits |= npc_shootable;
|
||||
gBoss[0].hit.left = 0x2000;
|
||||
gBoss[0].hit.right = 0x2000;
|
||||
gBoss[0].hit.front = 0x2000;
|
||||
gBoss[0].hit.back = 0x2000;
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -249,8 +275,8 @@ void ActBossChar_Omega()
|
|||
|
||||
gBoss[0].bits &= ~npc_shootable;
|
||||
|
||||
gBoss[0].hit.left = 0x3000;
|
||||
gBoss[0].hit.right = 0x3000;
|
||||
gBoss[0].hit.front = 0x3000;
|
||||
gBoss[0].hit.back = 0x3000;
|
||||
gBoss[5].hit.top = 0x4800;
|
||||
|
||||
gBoss[0].damage = 0;
|
||||
|
@ -301,8 +327,8 @@ void ActBossChar_Omega()
|
|||
{
|
||||
gBoss[0].act_no = 120;
|
||||
gBoss[0].act_wait = 0;
|
||||
gBoss[0].hit.left = 0x2000;
|
||||
gBoss[0].hit.right = 0x2000;
|
||||
gBoss[0].hit.front = 0x2000;
|
||||
gBoss[0].hit.back = 0x2000;
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -337,8 +363,8 @@ void ActBossChar_Omega()
|
|||
gBoss[0].act_no = 140;
|
||||
gBoss[0].bits |= npc_shootable;
|
||||
|
||||
gBoss[0].hit.left = 0x2000;
|
||||
gBoss[0].hit.right = 0x2000;
|
||||
gBoss[0].hit.front = 0x2000;
|
||||
gBoss[0].hit.back = 0x2000;
|
||||
|
||||
gBoss[0].ym = -0x5FF;
|
||||
|
||||
|
@ -420,24 +446,12 @@ void ActBossChar_Omega()
|
|||
break;
|
||||
}
|
||||
|
||||
RECT rect[4];
|
||||
|
||||
rect[0].left = 0;
|
||||
rect[0].top = 0;
|
||||
rect[0].right = 80;
|
||||
rect[0].bottom = 56;
|
||||
rect[1].left = 80;
|
||||
rect[1].top = 0;
|
||||
rect[1].right = 160;
|
||||
rect[1].bottom = 56;
|
||||
rect[2].left = 160;
|
||||
rect[2].top = 0;
|
||||
rect[2].right = 240;
|
||||
rect[2].bottom = 56;
|
||||
rect[3].left = 80;
|
||||
rect[3].top = 0;
|
||||
rect[3].right = 160;
|
||||
rect[3].bottom = 56;
|
||||
RECT rect[4] = {
|
||||
{0, 0, 80, 56},
|
||||
{80, 0, 160, 56},
|
||||
{160, 0, 240, 56},
|
||||
{80, 0, 160, 56},
|
||||
};
|
||||
|
||||
gBoss[0].rect = rect[gBoss[0].count2];
|
||||
|
||||
|
|
|
@ -196,22 +196,23 @@ void ActBossChar_Press(void)
|
|||
gBoss[3].x = gBoss[0].x;
|
||||
gBoss[3].y = gBoss[0].y + 0x5000;
|
||||
|
||||
RECT rc[3];
|
||||
RECT rcDamage[3];
|
||||
RECT rc[3] = {
|
||||
{0, 0, 80, 120},
|
||||
{80, 0, 160, 120},
|
||||
{160, 0, 240, 120},
|
||||
};
|
||||
|
||||
rc[0] = {0, 0, 80, 120};
|
||||
rc[1] = {80, 0, 160, 120};
|
||||
rc[2] = {160, 0, 240, 120};
|
||||
|
||||
rcDamage[0] = {0, 120, 80, 240};
|
||||
rcDamage[1] = {80, 120, 160, 240};
|
||||
rcDamage[2] = {160, 120, 240, 240};
|
||||
RECT rcDamage[3] = {
|
||||
{0, 120, 80, 240},
|
||||
{80, 120, 160, 240},
|
||||
{160, 120, 240, 240},
|
||||
};
|
||||
|
||||
if (gBoss[0].shock)
|
||||
{
|
||||
static unsigned char flash;
|
||||
|
||||
if ((++flash >> 1) & 1)
|
||||
if ((++flash / 2) % 2)
|
||||
gBoss[0].rect = rc[gBoss[0].ani_no];
|
||||
else
|
||||
gBoss[0].rect = rcDamage[gBoss[0].ani_no];
|
||||
|
|
|
@ -12,16 +12,17 @@
|
|||
|
||||
static void ActBossCharT_DragonBody(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[3];
|
||||
RECT rcRight[3];
|
||||
RECT rcLeft[3] = {
|
||||
{0, 0, 40, 40},
|
||||
{40, 0, 80, 40},
|
||||
{80, 0, 120, 40},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 0, 40, 40};
|
||||
rcLeft[1] = {40, 0, 80, 40};
|
||||
rcLeft[2] = {80, 0, 120, 40};
|
||||
|
||||
rcRight[0] = {0, 40, 40, 80};
|
||||
rcRight[1] = {40, 40, 80, 80};
|
||||
rcRight[2] = {80, 40, 120, 80};
|
||||
RECT rcRight[3] = {
|
||||
{0, 40, 40, 80},
|
||||
{40, 40, 80, 80},
|
||||
{80, 40, 120, 80},
|
||||
};
|
||||
|
||||
unsigned char deg;
|
||||
switch (npc->act_no)
|
||||
|
@ -90,18 +91,19 @@ static void ActBossCharT_DragonBody(NPCHAR *npc)
|
|||
|
||||
static void ActBossCharT_DragonHead(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[4];
|
||||
RECT rcRight[4];
|
||||
RECT rcLeft[4] = {
|
||||
{0, 80, 40, 112},
|
||||
{40, 80, 80, 112},
|
||||
{80, 80, 120, 112},
|
||||
{120, 80, 160, 112},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 80, 40, 112};
|
||||
rcLeft[1] = {40, 80, 80, 112};
|
||||
rcLeft[2] = {80, 80, 120, 112};
|
||||
rcLeft[3] = {120, 80, 160, 112};
|
||||
|
||||
rcRight[0] = {0, 112, 40, 144};
|
||||
rcRight[1] = {40, 112, 80, 144};
|
||||
rcRight[2] = {80, 112, 120, 144};
|
||||
rcRight[3] = {120, 112, 160, 144};
|
||||
RECT rcRight[4] = {
|
||||
{0, 112, 40, 144},
|
||||
{40, 112, 80, 144},
|
||||
{80, 112, 120, 144},
|
||||
{120, 112, 160, 144},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
|
|
@ -13,22 +13,23 @@
|
|||
|
||||
static void ActBossChar03_01(NPCHAR *npc)
|
||||
{
|
||||
RECT rcUp[6];
|
||||
RECT rcDown[6];
|
||||
RECT rcUp[6] = {
|
||||
{0, 0, 72, 32},
|
||||
{0, 32, 72, 64},
|
||||
{72, 0, 144, 32},
|
||||
{144, 0, 216, 32},
|
||||
{72, 32, 144, 64},
|
||||
{144, 32, 216, 64},
|
||||
};
|
||||
|
||||
rcUp[0] = {0, 0, 72, 32};
|
||||
rcUp[1] = {0, 32, 72, 64};
|
||||
rcUp[2] = {72, 0, 144, 32};
|
||||
rcUp[3] = {144, 0, 216, 32};
|
||||
rcUp[4] = {72, 32, 144, 64};
|
||||
rcUp[5] = {144, 32, 216, 64};
|
||||
|
||||
rcDown[0] = {0, 64, 72, 96};
|
||||
rcDown[1] = {0, 96, 72, 128};
|
||||
rcDown[2] = {72, 64, 144, 96};
|
||||
rcDown[3] = {144, 64, 216, 96};
|
||||
rcDown[4] = {72, 96, 144, 128};
|
||||
rcDown[5] = {144, 96, 216, 128};
|
||||
RECT rcDown[6] = {
|
||||
{0, 64, 72, 96},
|
||||
{0, 96, 72, 128},
|
||||
{72, 64, 144, 96},
|
||||
{144, 64, 216, 96},
|
||||
{72, 96, 144, 128},
|
||||
{144, 96, 216, 128},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -211,12 +212,12 @@ static void ActBossChar03_01(NPCHAR *npc)
|
|||
|
||||
static void ActBossChar03_02(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[4];
|
||||
|
||||
rect[0] = {0, 128, 72, 160};
|
||||
rect[1] = {72, 128, 144, 160};
|
||||
rect[2] = {0, 160, 72, 192};
|
||||
rect[3] = {72, 160, 144, 192};
|
||||
RECT rect[4] = {
|
||||
{0, 128, 72, 160},
|
||||
{72, 128, 144, 160},
|
||||
{0, 160, 72, 192},
|
||||
{72, 160, 144, 192},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -360,16 +361,16 @@ static void ActBossChar03_03(NPCHAR *npc)
|
|||
|
||||
static void ActBossChar03_04(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[8];
|
||||
|
||||
rect[0] = {0, 192, 16, 208};
|
||||
rect[1] = {16, 192, 32, 208};
|
||||
rect[2] = {32, 192, 48, 208};
|
||||
rect[3] = {48, 192, 64, 208};
|
||||
rect[4] = {0, 208, 16, 224};
|
||||
rect[5] = {16, 208, 32, 224};
|
||||
rect[6] = {32, 208, 48, 224};
|
||||
rect[7] = {48, 208, 64, 224};
|
||||
RECT rect[8] = {
|
||||
{0, 192, 16, 208},
|
||||
{16, 192, 32, 208},
|
||||
{32, 192, 48, 208},
|
||||
{48, 192, 64, 208},
|
||||
{0, 208, 16, 224},
|
||||
{16, 208, 32, 224},
|
||||
{32, 208, 48, 224},
|
||||
{48, 208, 64, 224},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -428,11 +429,11 @@ static void ActBossChar03_04(NPCHAR *npc)
|
|||
|
||||
static void ActBossChar03_face(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[3];
|
||||
|
||||
rect[0] = {216, 0, 320, 48};
|
||||
rect[1] = {216, 48, 320, 96};
|
||||
rect[2] = {216, 144, 320, 192};
|
||||
RECT rect[3] = {
|
||||
{216, 0, 320, 48},
|
||||
{216, 48, 320, 96},
|
||||
{216, 144, 320, 192},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
|
492
src/Bullet.cpp
492
src/Bullet.cpp
|
@ -217,18 +217,19 @@ void ActBullet_Frontia1(BULLET *bul)
|
|||
if (bul->ani_no > 3)
|
||||
bul->ani_no = 0;
|
||||
|
||||
RECT rcLeft[4];
|
||||
RECT rcRight[4];
|
||||
RECT rcLeft[4] = {
|
||||
{136, 80, 152, 80},
|
||||
{120, 80, 136, 96},
|
||||
{136, 64, 152, 80},
|
||||
{120, 64, 136, 80},
|
||||
};
|
||||
|
||||
rcLeft[0] = {136, 80, 152, 80};
|
||||
rcLeft[1] = {120, 80, 136, 96};
|
||||
rcLeft[2] = {136, 64, 152, 80};
|
||||
rcLeft[3] = {120, 64, 136, 80};
|
||||
|
||||
rcRight[0] = {120, 64, 136, 80};
|
||||
rcRight[1] = {136, 64, 152, 80};
|
||||
rcRight[2] = {120, 80, 136, 96};
|
||||
rcRight[3] = {136, 80, 152, 80};
|
||||
RECT rcRight[4] = {
|
||||
{120, 64, 136, 80},
|
||||
{136, 64, 152, 80},
|
||||
{120, 80, 136, 96},
|
||||
{136, 80, 152, 80},
|
||||
};
|
||||
|
||||
if (bul->direct == 0)
|
||||
bul->rect = rcLeft[bul->ani_no];
|
||||
|
@ -349,11 +350,11 @@ void ActBullet_Frontia2(BULLET *bul, int level)
|
|||
if ( bul->ani_no > 2 )
|
||||
bul->ani_no = 0;
|
||||
|
||||
RECT rect[3];
|
||||
|
||||
rect[0] = {192, 16, 208, 32};
|
||||
rect[1] = {208, 16, 224, 32};
|
||||
rect[2] = {224, 16, 240, 32};
|
||||
RECT rect[3] = {
|
||||
{192, 16, 208, 32},
|
||||
{208, 16, 224, 32},
|
||||
{224, 16, 240, 32},
|
||||
};
|
||||
|
||||
bul->rect = rect[bul->ani_no];
|
||||
|
||||
|
@ -438,21 +439,52 @@ void ActBullet_PoleStar(BULLET *bul, int level)
|
|||
{
|
||||
case 1:
|
||||
if (bul->direct != 1 && bul->direct != 3)
|
||||
bul->rect = {128, 32, 144, 48};
|
||||
{
|
||||
bul->rect.left = 128;
|
||||
bul->rect.top = 32;
|
||||
bul->rect.right = 144;
|
||||
bul->rect.bottom = 48;
|
||||
}
|
||||
else
|
||||
bul->rect = {144, 32, 160, 48};
|
||||
{
|
||||
bul->rect.left = 144;
|
||||
bul->rect.top = 32;
|
||||
bul->rect.right = 160;
|
||||
bul->rect.bottom = 48;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (bul->direct != 1 && bul->direct != 3)
|
||||
bul->rect = {160, 32, 176, 48};
|
||||
{
|
||||
bul->rect.left = 160;
|
||||
bul->rect.top = 32;
|
||||
bul->rect.right = 176;
|
||||
bul->rect.bottom = 48;
|
||||
}
|
||||
else
|
||||
bul->rect = {176, 32, 192, 48};
|
||||
{
|
||||
bul->rect.left = 176;
|
||||
bul->rect.top = 32;
|
||||
bul->rect.right = 192;
|
||||
bul->rect.bottom = 48;
|
||||
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (bul->direct != 1 && bul->direct != 3)
|
||||
bul->rect = {128, 48, 144, 64};
|
||||
{
|
||||
bul->rect.left = 128;
|
||||
bul->rect.top = 48;
|
||||
bul->rect.right = 144;
|
||||
bul->rect.bottom = 64;
|
||||
}
|
||||
else
|
||||
bul->rect = {144, 48, 160, 64};
|
||||
{
|
||||
bul->rect.left = 144;
|
||||
bul->rect.top = 48;
|
||||
bul->rect.right = 160;
|
||||
bul->rect.bottom = 64;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -544,24 +576,31 @@ void ActBullet_FireBall(BULLET *bul, int level)
|
|||
}
|
||||
}
|
||||
|
||||
RECT rect_left1[4];
|
||||
RECT rect_right1[4];
|
||||
RECT rect_left2[3];
|
||||
RECT rect_right2[3];
|
||||
rect_left1[0] = {128, 0, 144, 16};
|
||||
rect_left1[1] = {144, 0, 160, 16};
|
||||
rect_left1[2] = {160, 0, 176, 16};
|
||||
rect_left1[3] = {176, 0, 192, 16};
|
||||
rect_right1[0] = {128, 16, 144, 32};
|
||||
rect_right1[1] = {144, 16, 160, 32};
|
||||
rect_right1[2] = {160, 16, 176, 32};
|
||||
rect_right1[3] = {176, 16, 192, 32};
|
||||
rect_left2[0] = {192, 16, 208, 32};
|
||||
rect_left2[1] = {208, 16, 224, 32};
|
||||
rect_left2[2] = {224, 16, 240, 32};
|
||||
rect_right2[0] = {224, 16, 240, 32};
|
||||
rect_right2[1] = {208, 16, 224, 32};
|
||||
rect_right2[2] = {192, 16, 208, 32};
|
||||
RECT rect_left1[4] = {
|
||||
{128, 0, 144, 16},
|
||||
{144, 0, 160, 16},
|
||||
{160, 0, 176, 16},
|
||||
{176, 0, 192, 16},
|
||||
};
|
||||
|
||||
RECT rect_right1[4] = {
|
||||
{128, 16, 144, 32},
|
||||
{144, 16, 160, 32},
|
||||
{160, 16, 176, 32},
|
||||
{176, 16, 192, 32},
|
||||
};
|
||||
|
||||
RECT rect_left2[3] = {
|
||||
{192, 16, 208, 32},
|
||||
{208, 16, 224, 32},
|
||||
{224, 16, 240, 32},
|
||||
};
|
||||
|
||||
RECT rect_right2[3] = {
|
||||
{224, 16, 240, 32},
|
||||
{208, 16, 224, 32},
|
||||
{192, 16, 208, 32},
|
||||
};
|
||||
|
||||
bul->ani_no++;
|
||||
|
||||
|
@ -601,24 +640,33 @@ void ActBullet_FireBall(BULLET *bul, int level)
|
|||
|
||||
void ActBullet_MachineGun(BULLET *bul, int level)
|
||||
{
|
||||
RECT rect1[4];
|
||||
RECT rect2[4];
|
||||
RECT rect3[4];
|
||||
RECT rect1[4] = {
|
||||
{64, 0, 80, 16},
|
||||
{80, 0, 96, 16},
|
||||
{96, 0, 112, 16},
|
||||
{112, 0, 128, 16},
|
||||
};
|
||||
|
||||
rect1[0] = {64, 0, 80, 16};
|
||||
rect1[1] = {80, 0, 96, 16};
|
||||
rect1[2] = {96, 0, 112, 16};
|
||||
rect1[3] = {112, 0, 128, 16};
|
||||
rect2[0] = {64, 16, 80, 32};
|
||||
rect2[1] = {80, 16, 96, 32};
|
||||
rect2[2] = {96, 16, 112, 32};
|
||||
rect2[3] = {112, 16, 128, 32};
|
||||
rect3[0] = {64, 32, 80, 48};
|
||||
rect3[1] = {80, 32, 96, 48};
|
||||
rect3[2] = {96, 32, 112, 48};
|
||||
rect3[3] = {112, 32, 128, 48};
|
||||
RECT rect2[4] = {
|
||||
{64, 16, 80, 32},
|
||||
{80, 16, 96, 32},
|
||||
{96, 16, 112, 32},
|
||||
{112, 16, 128, 32},
|
||||
};
|
||||
|
||||
if (++bul->count1 <= bul->life_count)
|
||||
RECT rect3[4] = {
|
||||
{64, 32, 80, 48},
|
||||
{80, 32, 96, 48},
|
||||
{96, 32, 112, 48},
|
||||
{112, 32, 128, 48},
|
||||
};
|
||||
|
||||
if (++bul->count1 > bul->life_count)
|
||||
{
|
||||
bul->cond = 0;
|
||||
SetCaret(bul->x, bul->y, 3, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (bul->act_no)
|
||||
{
|
||||
|
@ -682,11 +730,6 @@ void ActBullet_MachineGun(BULLET *bul, int level)
|
|||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
bul->cond = 0;
|
||||
SetCaret(bul->x, bul->y, 3, 0);
|
||||
}
|
||||
}
|
||||
|
||||
void ActBullet_Missile(BULLET *bul, int level)
|
||||
|
@ -864,24 +907,26 @@ void ActBullet_Missile(BULLET *bul, int level)
|
|||
}
|
||||
}
|
||||
|
||||
RECT rect1[4];
|
||||
RECT rect2[4];
|
||||
RECT rect3[4];
|
||||
RECT rect1[4] = {
|
||||
{0, 0, 16, 16},
|
||||
{16, 0, 32, 16},
|
||||
{32, 0, 48, 16},
|
||||
{48, 0, 64, 16},
|
||||
};
|
||||
|
||||
rect1[0] = {0, 0, 16, 16};
|
||||
rect1[1] = {16, 0, 32, 16};
|
||||
rect1[2] = {32, 0, 48, 16};
|
||||
rect1[3] = {48, 0, 64, 16};
|
||||
RECT rect2[4] = {
|
||||
{0, 16, 16, 32},
|
||||
{16, 16, 32, 32},
|
||||
{32, 16, 48, 32},
|
||||
{48, 16, 64, 32},
|
||||
};
|
||||
|
||||
rect2[0] = {0, 16, 16, 32};
|
||||
rect2[1] = {16, 16, 32, 32};
|
||||
rect2[2] = {32, 16, 48, 32};
|
||||
rect2[3] = {48, 16, 64, 32};
|
||||
|
||||
rect3[0] = {0, 32, 16, 48};
|
||||
rect3[1] = {16, 32, 32, 48};
|
||||
rect3[2] = {32, 32, 48, 48};
|
||||
rect3[3] = {48, 32, 64, 48};
|
||||
RECT rect3[4] = {
|
||||
{0, 32, 16, 48},
|
||||
{16, 32, 32, 48},
|
||||
{32, 32, 48, 48},
|
||||
{48, 32, 64, 48},
|
||||
};
|
||||
|
||||
switch (level)
|
||||
{
|
||||
|
@ -1016,12 +1061,12 @@ void ActBullet_Bubblin1(BULLET *bul)
|
|||
SetCaret(bul->x, bul->y, 15, 0);
|
||||
}
|
||||
|
||||
RECT rect[4];
|
||||
|
||||
rect[0] = {192, 0, 200, 8};
|
||||
rect[1] = {200, 0, 208, 8};
|
||||
rect[2] = {208, 0, 216, 8};
|
||||
rect[3] = {216, 0, 224, 8};
|
||||
RECT rect[4] = {
|
||||
{192, 0, 200, 8},
|
||||
{200, 0, 208, 8},
|
||||
{208, 0, 216, 8},
|
||||
{216, 0, 224, 8},
|
||||
};
|
||||
|
||||
if (++bul->ani_wait > 3)
|
||||
{
|
||||
|
@ -1106,12 +1151,12 @@ void ActBullet_Bubblin2(BULLET *bul)
|
|||
SetCaret(bul->x, bul->y, 15, 0);
|
||||
}
|
||||
|
||||
RECT rect[4];
|
||||
|
||||
rect[0] = {192, 8, 200, 16};
|
||||
rect[1] = {200, 8, 208, 16};
|
||||
rect[2] = {208, 8, 216, 16};
|
||||
rect[3] = {216, 8, 224, 16};
|
||||
RECT rect[4] = {
|
||||
{192, 8, 200, 16},
|
||||
{200, 8, 208, 16},
|
||||
{208, 8, 216, 16},
|
||||
{216, 8, 224, 16},
|
||||
};
|
||||
|
||||
if (++bul->ani_wait > 3)
|
||||
{
|
||||
|
@ -1178,12 +1223,12 @@ void ActBullet_Bubblin3(BULLET *bul)
|
|||
bul->x += bul->xm;
|
||||
bul->y += bul->ym;
|
||||
|
||||
RECT rect[4];
|
||||
|
||||
rect[0] = {240, 16, 248, 24};
|
||||
rect[1] = {248, 16, 256, 24};
|
||||
rect[2] = {240, 24, 248, 32};
|
||||
rect[3] = {248, 24, 256, 32};
|
||||
RECT rect[4] = {
|
||||
{240, 16, 248, 24},
|
||||
{248, 16, 256, 24},
|
||||
{240, 24, 248, 32},
|
||||
{248, 24, 256, 32},
|
||||
};
|
||||
|
||||
if (++bul->ani_wait > 3)
|
||||
{
|
||||
|
@ -1255,18 +1300,20 @@ void ActBullet_Spine(BULLET *bul)
|
|||
if (bul->ani_no > 1)
|
||||
bul->ani_no = 0;
|
||||
|
||||
RECT rcLeft[2];
|
||||
RECT rcRight[2];
|
||||
RECT rcDown[2];
|
||||
RECT rcLeft[2] = {
|
||||
{224, 0, 232, 8},
|
||||
{232, 0, 240, 8},
|
||||
};
|
||||
|
||||
rcLeft[0] = {224, 0, 232, 8};
|
||||
rcLeft[1] = {232, 0, 240, 8};
|
||||
RECT rcRight[2] = {
|
||||
{224, 0, 232, 8},
|
||||
{232, 0, 240, 8},
|
||||
};
|
||||
|
||||
rcRight[0] = {224, 0, 232, 8};
|
||||
rcRight[1] = {232, 0, 240, 8};
|
||||
|
||||
rcDown[0] = {224, 8, 232, 16};
|
||||
rcDown[1] = {232, 8, 240, 16};
|
||||
RECT rcDown[2] = {
|
||||
{224, 8, 232, 16},
|
||||
{232, 8, 240, 16},
|
||||
};
|
||||
|
||||
switch (bul->direct)
|
||||
{
|
||||
|
@ -1327,18 +1374,19 @@ void ActBullet_Sword1(BULLET *bul)
|
|||
}
|
||||
}
|
||||
|
||||
RECT rcLeft[4];
|
||||
RECT rcRight[4];
|
||||
RECT rcLeft[4] = {
|
||||
{0, 48, 16, 64},
|
||||
{16, 48, 32, 64},
|
||||
{32, 48, 48, 64},
|
||||
{48, 48, 64, 64},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 48, 16, 64};
|
||||
rcLeft[1] = {16, 48, 32, 64};
|
||||
rcLeft[2] = {32, 48, 48, 64};
|
||||
rcLeft[3] = {48, 48, 64, 64};
|
||||
|
||||
rcRight[0] = {64, 48, 80, 64};
|
||||
rcRight[1] = {80, 48, 96, 64};
|
||||
rcRight[2] = {96, 48, 112, 64};
|
||||
rcRight[3] = {112, 48, 128, 64};
|
||||
RECT rcRight[4] = {
|
||||
{64, 48, 80, 64},
|
||||
{80, 48, 96, 64},
|
||||
{96, 48, 112, 64},
|
||||
{112, 48, 128, 64},
|
||||
};
|
||||
|
||||
if (++bul->ani_wait > 1)
|
||||
{
|
||||
|
@ -1397,18 +1445,19 @@ void ActBullet_Sword2(BULLET *bul)
|
|||
}
|
||||
}
|
||||
|
||||
RECT rcLeft[4];
|
||||
RECT rcRight[4];
|
||||
RECT rcLeft[4] = {
|
||||
{160, 48, 184, 72},
|
||||
{184, 48, 208, 72},
|
||||
{208, 48, 232, 72},
|
||||
{232, 48, 256, 72},
|
||||
};
|
||||
|
||||
rcLeft[0] = {160, 48, 184, 72};
|
||||
rcLeft[1] = {184, 48, 208, 72};
|
||||
rcLeft[2] = {208, 48, 232, 72};
|
||||
rcLeft[3] = {232, 48, 256, 72};
|
||||
|
||||
rcRight[0] = {160, 72, 184, 96};
|
||||
rcRight[1] = {184, 72, 208, 96};
|
||||
rcRight[2] = {208, 72, 232, 96};
|
||||
rcRight[3] = {232, 72, 256, 96};
|
||||
RECT rcRight[4] = {
|
||||
{160, 72, 184, 96},
|
||||
{184, 72, 208, 96},
|
||||
{208, 72, 232, 96},
|
||||
{232, 72, 256, 96},
|
||||
};
|
||||
|
||||
if (++bul->ani_wait > 1)
|
||||
{
|
||||
|
@ -1428,22 +1477,25 @@ void ActBullet_Sword2(BULLET *bul)
|
|||
|
||||
void ActBullet_Sword3(BULLET *bul)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
RECT rcUp[2];
|
||||
RECT rcDown[2];
|
||||
RECT rcRight[2];
|
||||
RECT rcLeft[2] = {
|
||||
{272, 0, 296, 24},
|
||||
{296, 0, 320, 24},
|
||||
};
|
||||
|
||||
rcLeft[0] = {272, 0, 296, 24};
|
||||
rcLeft[1] = {296, 0, 320, 24};
|
||||
RECT rcUp[2] = {
|
||||
{272, 48, 296, 72},
|
||||
{296, 0, 320, 24},
|
||||
};
|
||||
|
||||
rcUp[0] = {272, 48, 296, 72};
|
||||
rcUp[1] = {296, 0, 320, 24};
|
||||
RECT rcRight[2] = {
|
||||
{272, 24, 296, 48},
|
||||
{296, 24, 320, 48},
|
||||
};
|
||||
|
||||
rcRight[0] = {272, 24, 296, 48};
|
||||
rcRight[1] = {296, 24, 320, 48};
|
||||
|
||||
rcDown[0] = {296, 48, 320, 72};
|
||||
rcDown[1] = {296, 24, 320, 48};
|
||||
RECT rcDown[2] = {
|
||||
{296, 48, 320, 72},
|
||||
{296, 24, 320, 48},
|
||||
};
|
||||
|
||||
switch (bul->act_no)
|
||||
{
|
||||
|
@ -1543,9 +1595,6 @@ void ActBullet_Sword3(BULLET *bul)
|
|||
|
||||
void ActBullet_Edge(BULLET *bul)
|
||||
{
|
||||
RECT rcLeft[5];
|
||||
RECT rcRight[5];
|
||||
|
||||
switch (bul->act_no)
|
||||
{
|
||||
case 0:
|
||||
|
@ -1582,17 +1631,21 @@ void ActBullet_Edge(BULLET *bul)
|
|||
break;
|
||||
}
|
||||
|
||||
rcLeft[0] = {0, 64, 24, 88};
|
||||
rcLeft[1] = {24, 64, 48, 88};
|
||||
rcLeft[2] = {48, 64, 72, 88};
|
||||
rcLeft[3] = {72, 64, 96, 88};
|
||||
rcLeft[4] = {96, 64, 120, 88};
|
||||
RECT rcLeft[5] = {
|
||||
{0, 64, 24, 88},
|
||||
{24, 64, 48, 88},
|
||||
{48, 64, 72, 88},
|
||||
{72, 64, 96, 88},
|
||||
{96, 64, 120, 88},
|
||||
};
|
||||
|
||||
rcRight[0] = {0, 88, 24, 112};
|
||||
rcRight[1] = {24, 88, 48, 112};
|
||||
rcRight[2] = {48, 88, 72, 112};
|
||||
rcRight[3] = {72, 88, 96, 112};
|
||||
rcRight[4] = {96, 88, 120, 112};
|
||||
RECT rcRight[5] = {
|
||||
{0, 88, 24, 112},
|
||||
{24, 88, 48, 112},
|
||||
{48, 88, 72, 112},
|
||||
{72, 88, 96, 112},
|
||||
{96, 88, 120, 112},
|
||||
};
|
||||
|
||||
if (bul->direct == 0)
|
||||
bul->rect = rcLeft[bul->ani_no];
|
||||
|
@ -1602,9 +1655,7 @@ void ActBullet_Edge(BULLET *bul)
|
|||
|
||||
void ActBullet_Drop(BULLET *bul)
|
||||
{
|
||||
RECT rc[1];
|
||||
|
||||
rc[0] = {0, 0, 0, 0};
|
||||
RECT rc[1] = {0, 0, 0, 0};
|
||||
|
||||
if (++bul->act_wait > 2)
|
||||
bul->cond = 0;
|
||||
|
@ -1792,18 +1843,19 @@ void ActBullet_SuperMissile(BULLET *bul, int level)
|
|||
}
|
||||
}
|
||||
|
||||
RECT rect1[4];
|
||||
RECT rect2[4];
|
||||
RECT rect1[4] = {
|
||||
{120, 96, 136, 112},
|
||||
{136, 96, 152, 112},
|
||||
{152, 96, 168, 112},
|
||||
{168, 96, 184, 112},
|
||||
};
|
||||
|
||||
rect1[0] = {120, 96, 136, 112};
|
||||
rect1[1] = {136, 96, 152, 112};
|
||||
rect1[2] = {152, 96, 168, 112};
|
||||
rect1[3] = {168, 96, 184, 112};
|
||||
|
||||
rect2[0] = {184, 96, 200, 112};
|
||||
rect2[1] = {200, 96, 216, 112};
|
||||
rect2[2] = {216, 96, 232, 112};
|
||||
rect2[3] = {232, 96, 248, 112};
|
||||
RECT rect2[4] = {
|
||||
{184, 96, 200, 112},
|
||||
{200, 96, 216, 112},
|
||||
{216, 96, 232, 112},
|
||||
{232, 96, 248, 112},
|
||||
};
|
||||
|
||||
switch (level)
|
||||
{
|
||||
|
@ -1929,22 +1981,25 @@ void ActBullet_Nemesis(BULLET *bul, int level)
|
|||
if (++bul->ani_no > 1)
|
||||
bul->ani_no = 0;
|
||||
|
||||
RECT rcL[2];
|
||||
RECT rcU[2];
|
||||
RECT rcR[2];
|
||||
RECT rcD[2];
|
||||
RECT rcL[2] = {
|
||||
{0, 112, 32, 128},
|
||||
{0, 128, 32, 144},
|
||||
};
|
||||
|
||||
rcL[0] = {0, 112, 32, 128};
|
||||
rcL[1] = {0, 128, 32, 144};
|
||||
RECT rcU[2] = {
|
||||
{32, 112, 48, 144},
|
||||
{48, 112, 64, 144},
|
||||
};
|
||||
|
||||
rcU[0] = {32, 112, 48, 144};
|
||||
rcU[1] = {48, 112, 64, 144};
|
||||
RECT rcR[2] = {
|
||||
{64, 112, 96, 128},
|
||||
{64, 128, 96, 144},
|
||||
};
|
||||
|
||||
rcR[0] = {64, 112, 96, 128};
|
||||
rcR[1] = {64, 128, 96, 144};
|
||||
|
||||
rcD[0] = {96, 112, 112, 144};
|
||||
rcD[1] = {112, 112, 128, 144};
|
||||
RECT rcD[2] = {
|
||||
{96, 112, 112, 144},
|
||||
{112, 112, 128, 144},
|
||||
};
|
||||
|
||||
switch (bul->direct)
|
||||
{
|
||||
|
@ -2044,18 +2099,20 @@ void ActBullet_Spur(BULLET *bul, int level)
|
|||
}
|
||||
}
|
||||
|
||||
RECT rect1[2];
|
||||
RECT rect2[2];
|
||||
RECT rect3[2];
|
||||
RECT rect1[2] = {
|
||||
{128, 32, 144, 48},
|
||||
{144, 32, 160, 48},
|
||||
};
|
||||
|
||||
rect1[0] = {128, 32, 144, 48};
|
||||
rect1[1] = {144, 32, 160, 48};
|
||||
RECT rect2[2] = {
|
||||
{160, 32, 176, 48},
|
||||
{176, 32, 192, 48},
|
||||
};
|
||||
|
||||
rect2[0] = {160, 32, 176, 48};
|
||||
rect2[1] = {176, 32, 192, 48};
|
||||
|
||||
rect3[0] = {128, 48, 144, 64};
|
||||
rect3[1] = {144, 48, 160, 64};
|
||||
RECT rect3[2] = {
|
||||
{128, 48, 144, 64},
|
||||
{144, 48, 160, 64},
|
||||
};
|
||||
|
||||
bul->damage = bul->life;
|
||||
|
||||
|
@ -2099,36 +2156,41 @@ void ActBullet_SpurTail(BULLET *bul, int level)
|
|||
if ( bul->damage && bul->life != 100 )
|
||||
bul->damage = 0;
|
||||
|
||||
RECT rc_h_lv1[3];
|
||||
RECT rc_v_lv1[3];
|
||||
RECT rc_h_lv2[3];
|
||||
RECT rc_v_lv2[3];
|
||||
RECT rc_h_lv3[3];
|
||||
RECT rc_v_lv3[3];
|
||||
RECT rc_h_lv1[3] = {
|
||||
{192, 32, 200, 40},
|
||||
{200, 32, 208, 40},
|
||||
{208, 32, 216, 40},
|
||||
};
|
||||
|
||||
rc_h_lv1[0] = {192, 32, 200, 40};
|
||||
rc_h_lv1[1] = {200, 32, 208, 40};
|
||||
rc_h_lv1[2] = {208, 32, 216, 40};
|
||||
RECT rc_v_lv1[3] = {
|
||||
{192, 40, 200, 48},
|
||||
{200, 40, 208, 48},
|
||||
{208, 40, 216, 48},
|
||||
};
|
||||
|
||||
rc_v_lv1[0] = {192, 40, 200, 48};
|
||||
rc_v_lv1[1] = {200, 40, 208, 48};
|
||||
rc_v_lv1[2] = {208, 40, 216, 48};
|
||||
RECT rc_h_lv2[3] = {
|
||||
{216, 32, 224, 40},
|
||||
{224, 32, 232, 40},
|
||||
{232, 32, 240, 40},
|
||||
};
|
||||
|
||||
rc_h_lv2[0] = {216, 32, 224, 40};
|
||||
rc_h_lv2[1] = {224, 32, 232, 40};
|
||||
rc_h_lv2[2] = {232, 32, 240, 40};
|
||||
RECT rc_v_lv2[3] = {
|
||||
{216, 40, 224, 48},
|
||||
{224, 40, 232, 48},
|
||||
{232, 40, 240, 48},
|
||||
};
|
||||
|
||||
rc_v_lv2[0] = {216, 40, 224, 48};
|
||||
rc_v_lv2[1] = {224, 40, 232, 48};
|
||||
rc_v_lv2[2] = {232, 40, 240, 48};
|
||||
RECT rc_h_lv3[3] = {
|
||||
{240, 32, 248, 40},
|
||||
{248, 32, 256, 40},
|
||||
{256, 32, 264, 40},
|
||||
};
|
||||
|
||||
rc_h_lv3[0] = {240, 32, 248, 40};
|
||||
rc_h_lv3[1] = {248, 32, 256, 40};
|
||||
rc_h_lv3[2] = {256, 32, 264, 40};
|
||||
|
||||
rc_v_lv3[0] = {240, 32, 248, 40};
|
||||
rc_v_lv3[1] = {248, 32, 256, 40};
|
||||
rc_v_lv3[2] = {256, 32, 264, 40};
|
||||
RECT rc_v_lv3[3] = {
|
||||
{240, 32, 248, 40},
|
||||
{248, 32, 256, 40},
|
||||
{256, 32, 264, 40},
|
||||
};
|
||||
|
||||
switch (level)
|
||||
{
|
||||
|
|
246
src/Caret.cpp
246
src/Caret.cpp
|
@ -23,18 +23,19 @@ void ActCaret00(CARET *crt)
|
|||
|
||||
void ActCaret01(CARET *crt)
|
||||
{
|
||||
RECT rcLeft[4];
|
||||
RECT rcRight[4];
|
||||
RECT rcLeft[4] = {
|
||||
{0, 64, 8, 72},
|
||||
{8, 64, 16, 72},
|
||||
{16, 64, 24, 72},
|
||||
{24, 64, 32, 72},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 64, 8, 72};
|
||||
rcLeft[1] = {8, 64, 16, 72};
|
||||
rcLeft[2] = {16, 64, 24, 72};
|
||||
rcLeft[3] = {24, 64, 32, 72};
|
||||
|
||||
rcRight[0] = {64, 24, 72, 32};
|
||||
rcRight[1] = {72, 24, 80, 32};
|
||||
rcRight[2] = {80, 24, 88, 32};
|
||||
rcRight[3] = {88, 24, 92, 32};
|
||||
RECT rcRight[4] = {
|
||||
{64, 24, 72, 32},
|
||||
{72, 24, 80, 32},
|
||||
{80, 24, 88, 32},
|
||||
{88, 24, 92, 32},
|
||||
};
|
||||
|
||||
if (!crt->act_no)
|
||||
{
|
||||
|
@ -62,53 +63,25 @@ void ActCaret01(CARET *crt)
|
|||
|
||||
void ActCaret02(CARET *crt)
|
||||
{
|
||||
RECT rect_right[4];
|
||||
RECT rect_left[4];
|
||||
RECT rect_up[3];
|
||||
rect_left[0].left = 0;
|
||||
rect_left[0].top = 32;
|
||||
rect_left[0].right = 16;
|
||||
rect_left[0].bottom = 48;
|
||||
rect_left[1].left = 16;
|
||||
rect_left[1].top = 32;
|
||||
rect_left[1].right = 32;
|
||||
rect_left[1].bottom = 48;
|
||||
rect_left[2].left = 32;
|
||||
rect_left[2].top = 32;
|
||||
rect_left[2].right = 48;
|
||||
rect_left[2].bottom = 48;
|
||||
rect_left[3].left = 48;
|
||||
rect_left[3].top = 32;
|
||||
rect_left[3].right = 64;
|
||||
rect_left[3].bottom = 48;
|
||||
rect_right[0].left = 176;
|
||||
rect_right[0].top = 0;
|
||||
rect_right[0].right = 192;
|
||||
rect_right[0].bottom = 16;
|
||||
rect_right[1].left = 192;
|
||||
rect_right[1].top = 0;
|
||||
rect_right[1].right = 208;
|
||||
rect_right[1].bottom = 16;
|
||||
rect_right[2].left = 208;
|
||||
rect_right[2].top = 0;
|
||||
rect_right[2].right = 224;
|
||||
rect_right[2].bottom = 16;
|
||||
rect_right[3].left = 224;
|
||||
rect_right[3].top = 0;
|
||||
rect_right[3].right = 240;
|
||||
rect_right[3].bottom = 16;
|
||||
rect_up[0].left = 0;
|
||||
rect_up[0].top = 32;
|
||||
rect_up[0].right = 16;
|
||||
rect_up[0].bottom = 48;
|
||||
rect_up[1].left = 32;
|
||||
rect_up[1].top = 32;
|
||||
rect_up[1].right = 48;
|
||||
rect_up[1].bottom = 48;
|
||||
rect_up[2].left = 16;
|
||||
rect_up[2].top = 32;
|
||||
rect_up[2].right = 32;
|
||||
rect_up[2].bottom = 48;
|
||||
RECT rect_left[4] = {
|
||||
{0, 32, 16, 48},
|
||||
{16, 32, 32, 48},
|
||||
{32, 32, 48, 48},
|
||||
{48, 32, 64, 48},
|
||||
};
|
||||
|
||||
RECT rect_right[4] = {
|
||||
{176, 0, 192, 16},
|
||||
{192, 0, 208, 16},
|
||||
{208, 0, 224, 16},
|
||||
{224, 0, 240, 16},
|
||||
};
|
||||
|
||||
RECT rect_up[3] = {
|
||||
{0, 32, 16, 48},
|
||||
{32, 32, 48, 48},
|
||||
{16, 32, 32, 48},
|
||||
};
|
||||
|
||||
switch (crt->direct)
|
||||
{
|
||||
|
@ -146,11 +119,12 @@ void ActCaret02(CARET *crt)
|
|||
|
||||
void ActCaret03(CARET *crt)
|
||||
{
|
||||
RECT rect[4];
|
||||
rect[0] = {0, 48, 16, 64};
|
||||
rect[1] = {16, 48, 32, 64};
|
||||
rect[2] = {32, 48, 48, 64};
|
||||
rect[3] = {48, 48, 64, 64};
|
||||
RECT rect[4] = {
|
||||
{0, 48, 16, 64},
|
||||
{16, 48, 32, 64},
|
||||
{32, 48, 48, 64},
|
||||
{48, 48, 64, 64},
|
||||
};
|
||||
|
||||
if (++crt->ani_wait > 2)
|
||||
{
|
||||
|
@ -164,17 +138,17 @@ void ActCaret03(CARET *crt)
|
|||
|
||||
void ActCaret04(CARET *crt)
|
||||
{
|
||||
RECT rect[9];
|
||||
|
||||
rect[0] = {64, 32, 80, 48};
|
||||
rect[1] = {80, 32, 96, 48};
|
||||
rect[2] = {96, 32, 112, 48};
|
||||
rect[3] = {64, 48, 80, 64};
|
||||
rect[4] = {80, 48, 96, 64};
|
||||
rect[5] = {96, 48, 112, 64};
|
||||
rect[6] = {64, 64, 80, 80};
|
||||
rect[7] = {80, 64, 96, 80};
|
||||
rect[8] = {96, 64, 112, 80};
|
||||
RECT rect[9] = {
|
||||
{64, 32, 80, 48},
|
||||
{80, 32, 96, 48},
|
||||
{96, 32, 112, 48},
|
||||
{64, 48, 80, 64},
|
||||
{80, 48, 96, 64},
|
||||
{96, 48, 112, 64},
|
||||
{64, 64, 80, 80},
|
||||
{80, 64, 96, 80},
|
||||
{96, 64, 112, 80},
|
||||
};
|
||||
|
||||
if (++crt->ani_wait > 1)
|
||||
{
|
||||
|
@ -189,15 +163,15 @@ void ActCaret04(CARET *crt)
|
|||
|
||||
void ActCaret05(CARET *crt)
|
||||
{
|
||||
RECT rect[7];
|
||||
|
||||
rect[0] = {32, 64, 40, 72};
|
||||
rect[1] = {32, 72, 40, 80};
|
||||
rect[2] = {40, 64, 48, 72};
|
||||
rect[3] = {40, 72, 48, 80};
|
||||
rect[4] = {40, 64, 48, 72};
|
||||
rect[5] = {40, 72, 48, 80};
|
||||
rect[6] = {40, 64, 48, 72};
|
||||
RECT rect[7] = {
|
||||
{32, 64, 40, 72},
|
||||
{32, 72, 40, 80},
|
||||
{40, 64, 48, 72},
|
||||
{40, 72, 48, 80},
|
||||
{40, 64, 48, 72},
|
||||
{40, 72, 48, 80},
|
||||
{40, 64, 48, 72},
|
||||
};
|
||||
|
||||
if (++crt->ani_wait > 4)
|
||||
{
|
||||
|
@ -216,15 +190,15 @@ void ActCaret05(CARET *crt)
|
|||
|
||||
void ActCaret07(CARET *crt)
|
||||
{
|
||||
RECT rcLeft[7];
|
||||
|
||||
rcLeft[0] = {56, 0, 64, 8};
|
||||
rcLeft[1] = {64, 0, 72, 8};
|
||||
rcLeft[2] = {72, 0, 80, 8};
|
||||
rcLeft[3] = {80, 0, 88, 8};
|
||||
rcLeft[4] = {88, 0, 96, 8};
|
||||
rcLeft[5] = {96, 0, 104, 8};
|
||||
rcLeft[6] = {104, 0, 112, 8};
|
||||
RECT rcLeft[7] = {
|
||||
{56, 0, 64, 8},
|
||||
{64, 0, 72, 8},
|
||||
{72, 0, 80, 8},
|
||||
{80, 0, 88, 8},
|
||||
{88, 0, 96, 8},
|
||||
{96, 0, 104, 8},
|
||||
{104, 0, 112, 8},
|
||||
};
|
||||
|
||||
if (++crt->ani_wait > 1)
|
||||
{
|
||||
|
@ -282,12 +256,15 @@ void ActCaret09(CARET *crt)
|
|||
|
||||
void ActCaret10(CARET *crt)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
RECT rcRight[2];
|
||||
rcLeft[0] = {0, 0, 56, 16};
|
||||
rcLeft[1] = {0, 16, 56, 32};
|
||||
rcRight[0] = {0, 96, 56, 112};
|
||||
rcRight[1] = {0, 112, 56, 128};
|
||||
RECT rcLeft[2] = {
|
||||
{0, 0, 56, 16},
|
||||
{0, 16, 56, 32},
|
||||
};
|
||||
|
||||
RECT rcRight[2] = {
|
||||
{0, 96, 56, 112},
|
||||
{0, 112, 56, 128},
|
||||
};
|
||||
|
||||
++crt->ani_wait;
|
||||
|
||||
|
@ -325,14 +302,15 @@ void ActCaret11(CARET *crt)
|
|||
crt->x += crt->xm;
|
||||
crt->y += crt->ym;
|
||||
|
||||
RECT rcRight[7];
|
||||
rcRight[0] = {56, 8, 64, 16};
|
||||
rcRight[1] = {64, 8, 72, 16};
|
||||
rcRight[2] = {72, 8, 80, 16};
|
||||
rcRight[3] = {80, 8, 88, 16};
|
||||
rcRight[4] = {88, 8, 96, 16};
|
||||
rcRight[5] = {96, 8, 104, 16};
|
||||
rcRight[6] = {104, 8, 112, 16};
|
||||
RECT rcRight[7] = {
|
||||
{56, 8, 64, 16},
|
||||
{64, 8, 72, 16},
|
||||
{72, 8, 80, 16},
|
||||
{80, 8, 88, 16},
|
||||
{88, 8, 96, 16},
|
||||
{96, 8, 104, 16},
|
||||
{104, 8, 112, 16},
|
||||
};
|
||||
|
||||
if (++crt->ani_wait > 2)
|
||||
{
|
||||
|
@ -346,9 +324,10 @@ void ActCaret11(CARET *crt)
|
|||
|
||||
void ActCaret12(CARET *crt)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
rcLeft[0] = {112, 0, 144, 32};
|
||||
rcLeft[1] = {144, 0, 176, 32};
|
||||
RECT rcLeft[2] = {
|
||||
{112, 0, 144, 32},
|
||||
{144, 0, 176, 32},
|
||||
};
|
||||
|
||||
if (++crt->ani_wait > 2)
|
||||
{
|
||||
|
@ -362,9 +341,10 @@ void ActCaret12(CARET *crt)
|
|||
|
||||
void ActCaret13(CARET *crt)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
rcLeft[0] = {56, 24, 64, 32};
|
||||
rcLeft[1] = {0, 0, 0, 0};
|
||||
RECT rcLeft[2] = {
|
||||
{56, 24, 64, 32},
|
||||
{0, 0, 0, 0},
|
||||
};
|
||||
|
||||
if (!crt->act_no)
|
||||
{
|
||||
|
@ -403,13 +383,13 @@ void ActCaret13(CARET *crt)
|
|||
|
||||
void ActCaret14(CARET *crt)
|
||||
{
|
||||
RECT rect[5];
|
||||
|
||||
rect[0] = {0, 96, 40, 136};
|
||||
rect[1] = {40, 96, 80, 136};
|
||||
rect[2] = {80, 96, 120, 136};
|
||||
rect[3] = {120, 96, 160, 136};
|
||||
rect[4] = {160, 96, 200, 136};
|
||||
RECT rect[5] = {
|
||||
{0, 96, 40, 136},
|
||||
{40, 96, 80, 136},
|
||||
{80, 96, 120, 136},
|
||||
{120, 96, 160, 136},
|
||||
{160, 96, 200, 136},
|
||||
};
|
||||
|
||||
if (++crt->ani_wait > 1)
|
||||
{
|
||||
|
@ -424,12 +404,12 @@ void ActCaret14(CARET *crt)
|
|||
|
||||
void ActCaret15(CARET *crt)
|
||||
{
|
||||
RECT rcLeft[4];
|
||||
|
||||
rcLeft[0] = {0, 72, 8, 80};
|
||||
rcLeft[1] = {8, 72, 16, 80};
|
||||
rcLeft[2] = {16, 72, 24, 80};
|
||||
rcLeft[3] = {24, 72, 32, 80};
|
||||
RECT rcLeft[4] = {
|
||||
{0, 72, 8, 80},
|
||||
{8, 72, 16, 80},
|
||||
{16, 72, 24, 80},
|
||||
{24, 72, 32, 80},
|
||||
};
|
||||
|
||||
if (++crt->ani_wait > 2)
|
||||
{
|
||||
|
@ -444,10 +424,10 @@ void ActCaret15(CARET *crt)
|
|||
|
||||
void ActCaret16(CARET *crt)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
|
||||
rcLeft[0] = {104, 96, 144, 104};
|
||||
rcLeft[1] = {104, 104, 144, 112};
|
||||
RECT rcLeft[2] = {
|
||||
{104, 96, 144, 104},
|
||||
{104, 104, 144, 112},
|
||||
};
|
||||
|
||||
if (++crt->ani_wait < 10)
|
||||
crt->y -= 0x400;
|
||||
|
@ -460,10 +440,10 @@ void ActCaret16(CARET *crt)
|
|||
|
||||
void ActCaret17(CARET *crt)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
|
||||
rcLeft[0] = {0, 144, 144, 152};
|
||||
rcLeft[1] = {0, 0, 0, 0};
|
||||
RECT rcLeft[2] = {
|
||||
{0, 144, 144, 152},
|
||||
{0, 0, 0, 0},
|
||||
};
|
||||
|
||||
if (++crt->ani_wait >= 40)
|
||||
crt->ani_wait = 0;
|
||||
|
|
30
src/Draw.cpp
30
src/Draw.cpp
|
@ -375,7 +375,7 @@ BOOL ReloadBitmap_Resource(const char *res, Surface_Ids surf_no)
|
|||
return LoadBitmap_Resource(res, surf_no, false);
|
||||
}
|
||||
|
||||
SDL_Rect RectToSDLRect(RECT *rect)
|
||||
static SDL_Rect RectToSDLRect(RECT *rect)
|
||||
{
|
||||
SDL_Rect SDLRect = {rect->left, rect->top, rect->right - rect->left, rect->bottom - rect->top};
|
||||
if (SDLRect.w < 0)
|
||||
|
@ -385,6 +385,16 @@ SDL_Rect RectToSDLRect(RECT *rect)
|
|||
return SDLRect;
|
||||
}
|
||||
|
||||
static SDL_Rect RectToSDLRectScaled(RECT *rect)
|
||||
{
|
||||
SDL_Rect SDLRect = RectToSDLRect(rect);
|
||||
SDLRect.x *= magnification;
|
||||
SDLRect.y *= magnification;
|
||||
SDLRect.w *= magnification;
|
||||
SDLRect.h *= magnification;
|
||||
return SDLRect;
|
||||
}
|
||||
|
||||
void BackupSurface(Surface_Ids surf_no, RECT *rect)
|
||||
{
|
||||
//Get renderer size
|
||||
|
@ -397,8 +407,7 @@ void BackupSurface(Surface_Ids surf_no, RECT *rect)
|
|||
SDL_RenderReadPixels(gRenderer, NULL, SDL_PIXELFORMAT_RGBA32, surface->pixels, surface->pitch);
|
||||
|
||||
//Get rects
|
||||
SDL_Rect frameRect = RectToSDLRect(rect);
|
||||
frameRect = {frameRect.x * magnification, frameRect.y * magnification, frameRect.w * magnification, frameRect.h * magnification};
|
||||
SDL_Rect frameRect = RectToSDLRectScaled(rect);
|
||||
|
||||
SDL_BlitSurface(surface, &frameRect, surf[surf_no].surface, &frameRect);
|
||||
surf[surf_no].needs_updating = true;
|
||||
|
@ -416,16 +425,14 @@ static void DrawBitmap(RECT *rcView, int x, int y, RECT *rect, Surface_Ids surf_
|
|||
}
|
||||
|
||||
//Get SDL_Rects
|
||||
SDL_Rect clipRect = RectToSDLRect(rcView);
|
||||
SDL_Rect clipRect = RectToSDLRectScaled(rcView);
|
||||
|
||||
SDL_Rect frameRect = RectToSDLRect(rect);
|
||||
frameRect = {frameRect.x * magnification, frameRect.y * magnification, frameRect.w * magnification, frameRect.h * magnification};
|
||||
SDL_Rect frameRect = RectToSDLRectScaled(rect);
|
||||
|
||||
//Get dest rect
|
||||
SDL_Rect destRect = {x * magnification, y * magnification, frameRect.w, frameRect.h};
|
||||
|
||||
//Set cliprect
|
||||
clipRect = {clipRect.x * magnification, clipRect.y * magnification, clipRect.w * magnification, clipRect.h * magnification};
|
||||
SDL_RenderSetClipRect(gRenderer, &clipRect);
|
||||
|
||||
SDL_SetTextureBlendMode(surf[surf_no].texture, transparent ? SDL_BLENDMODE_BLEND : SDL_BLENDMODE_NONE);
|
||||
|
@ -452,8 +459,7 @@ void Surface2Surface(int x, int y, RECT *rect, int to, int from)
|
|||
{
|
||||
//Get rects
|
||||
SDL_Rect rcSet = {x * magnification, y * magnification, (rect->right - rect->left) * magnification, (rect->bottom - rect->top) * magnification};
|
||||
SDL_Rect frameRect = RectToSDLRect(rect);
|
||||
frameRect = {frameRect.x * magnification, frameRect.y * magnification, frameRect.w * magnification, frameRect.h * magnification};
|
||||
SDL_Rect frameRect = RectToSDLRectScaled(rect);
|
||||
|
||||
SDL_BlitSurface(surf[from].surface, &frameRect, surf[to].surface, &rcSet);
|
||||
surf[to].needs_updating = true;
|
||||
|
@ -462,8 +468,7 @@ void Surface2Surface(int x, int y, RECT *rect, int to, int from)
|
|||
void CortBox(RECT *rect, uint32_t col)
|
||||
{
|
||||
//Get rect
|
||||
SDL_Rect destRect = RectToSDLRect(rect);
|
||||
destRect = {destRect.x * magnification, destRect.y * magnification, destRect.w * magnification, destRect.h * magnification};
|
||||
SDL_Rect destRect = RectToSDLRectScaled(rect);
|
||||
|
||||
//Set colour and draw
|
||||
SDL_SetRenderDrawColor(gRenderer, (col & 0xFF0000) >> 16, (col & 0x00FF00) >> 8, col & 0x0000FF, 0xFF);
|
||||
|
@ -473,8 +478,7 @@ void CortBox(RECT *rect, uint32_t col)
|
|||
void CortBox2(RECT *rect, uint32_t col, Surface_Ids surf_no)
|
||||
{
|
||||
//Get rect
|
||||
SDL_Rect destRect = RectToSDLRect(rect);
|
||||
destRect = {destRect.x * magnification, destRect.y * magnification, destRect.w * magnification, destRect.h * magnification};
|
||||
SDL_Rect destRect = RectToSDLRectScaled(rect);
|
||||
|
||||
const unsigned char col_red = (col & 0xFF0000) >> 16;
|
||||
const unsigned char col_green = (col & 0x00FF00) >> 8;
|
||||
|
|
93
src/Game.cpp
93
src/Game.cpp
|
@ -60,17 +60,18 @@ void PutNumber4(int x, int y, int value, bool bZero)
|
|||
//Define rects
|
||||
RECT rcClient = grcFull;
|
||||
|
||||
RECT rect[10];
|
||||
rect[0] = {0, 56, 8, 64};
|
||||
rect[1] = {8, 56, 16, 64};
|
||||
rect[2] = {16, 56, 24, 64};
|
||||
rect[3] = {24, 56, 32, 64};
|
||||
rect[4] = {32, 56, 40, 64};
|
||||
rect[5] = {40, 56, 48, 64};
|
||||
rect[6] = {48, 56, 56, 64};
|
||||
rect[7] = {56, 56, 64, 64};
|
||||
rect[8] = {64, 56, 72, 64};
|
||||
rect[9] = {72, 56, 80, 64};
|
||||
RECT rect[10] = {
|
||||
{0, 56, 8, 64},
|
||||
{8, 56, 16, 64},
|
||||
{16, 56, 24, 64},
|
||||
{24, 56, 32, 64},
|
||||
{32, 56, 40, 64},
|
||||
{40, 56, 48, 64},
|
||||
{48, 56, 56, 64},
|
||||
{56, 56, 64, 64},
|
||||
{64, 56, 72, 64},
|
||||
{72, 56, 80, 64},
|
||||
};
|
||||
|
||||
//Digits
|
||||
int tbl[4] = {1000, 100, 10, 1};
|
||||
|
@ -117,7 +118,12 @@ int ModeOpening()
|
|||
SetFadeMask();
|
||||
|
||||
//Reset cliprect and flags
|
||||
grcGame = {0, 0, WINDOW_WIDTH, WINDOW_HEIGHT};
|
||||
grcGame.left = 0;
|
||||
//Non-vanilla: these three lines are widescreen-related(?)
|
||||
grcGame.top = 0;
|
||||
grcGame.right = WINDOW_WIDTH;
|
||||
grcGame.bottom = WINDOW_HEIGHT;
|
||||
|
||||
g_GameFlags = 3;
|
||||
|
||||
CutNoise();
|
||||
|
@ -216,36 +222,40 @@ int ModeTitle()
|
|||
RECT rcPeriod = {152, 88, 208, 96};
|
||||
|
||||
//Character rects
|
||||
RECT rcMyChar[4];
|
||||
RECT rcCurly[4];
|
||||
RECT rcToroko[4];
|
||||
RECT rcKing[4];
|
||||
RECT rcSu[4];
|
||||
RECT rcMyChar[4] = {
|
||||
{0, 16, 16, 32},
|
||||
{16, 16, 32, 32},
|
||||
{0, 16, 16, 32},
|
||||
{32, 16, 48, 32},
|
||||
};
|
||||
|
||||
rcMyChar[0] = {0, 16, 16, 32};
|
||||
rcMyChar[1] = {16, 16, 32, 32};
|
||||
rcMyChar[2] = {0, 16, 16, 32};
|
||||
rcMyChar[3] = {32, 16, 48, 32};
|
||||
RECT rcCurly[4] = {
|
||||
{0, 112, 16, 128},
|
||||
{16, 112, 32, 128},
|
||||
{0, 112, 16, 128},
|
||||
{32, 112, 48, 128},
|
||||
};
|
||||
|
||||
rcCurly[0] = {0, 112, 16, 128};
|
||||
rcCurly[1] = {16, 112, 32, 128};
|
||||
rcCurly[2] = {0, 112, 16, 128};
|
||||
rcCurly[3] = {32, 112, 48, 128};
|
||||
RECT rcToroko[4] = {
|
||||
{64, 80, 80, 96},
|
||||
{80, 80, 96, 96},
|
||||
{64, 80, 80, 96},
|
||||
{96, 80, 112, 96},
|
||||
};
|
||||
|
||||
rcToroko[0] = {64, 80, 80, 96};
|
||||
rcToroko[1] = {80, 80, 96, 96};
|
||||
rcToroko[2] = {64, 80, 80, 96};
|
||||
rcToroko[3] = {96, 80, 112, 96};
|
||||
RECT rcKing[4] = {
|
||||
{224, 48, 240, 64},
|
||||
{288, 48, 304, 64},
|
||||
{224, 48, 240, 64},
|
||||
{304, 48, 320, 64},
|
||||
};
|
||||
|
||||
rcKing[0] = {224, 48, 240, 64};
|
||||
rcKing[1] = {288, 48, 304, 64};
|
||||
rcKing[2] = {224, 48, 240, 64};
|
||||
rcKing[3] = {304, 48, 320, 64};
|
||||
|
||||
rcSu[0] = {0, 16, 16, 32};
|
||||
rcSu[1] = {32, 16, 48, 32};
|
||||
rcSu[2] = {0, 16, 16, 32};
|
||||
rcSu[3] = {48, 16, 64, 32};
|
||||
RECT rcSu[4] = {
|
||||
{0, 16, 16, 32},
|
||||
{32, 16, 48, 32},
|
||||
{0, 16, 16, 32},
|
||||
{48, 16, 64, 32},
|
||||
};
|
||||
|
||||
//Reset everything
|
||||
InitCaret();
|
||||
|
@ -293,7 +303,12 @@ int ModeTitle()
|
|||
}
|
||||
|
||||
//Reset cliprect, flags, and give the player the nikumaru counter
|
||||
grcGame = {0, 0, WINDOW_WIDTH, WINDOW_HEIGHT};
|
||||
grcGame.left = 0;
|
||||
//Non-vanilla: these three lines are widescreen-related(?)
|
||||
grcGame.top = 0;
|
||||
grcGame.right = WINDOW_WIDTH;
|
||||
grcGame.bottom = WINDOW_HEIGHT;
|
||||
|
||||
g_GameFlags = 0;
|
||||
gMC.equip |= 0x100;
|
||||
|
||||
|
|
|
@ -20,11 +20,12 @@ int8_t gMapping[0x80];
|
|||
|
||||
void WriteMiniMapLine(int line)
|
||||
{
|
||||
RECT rcLevel[4];
|
||||
rcLevel[0] = {240, 24, 241, 25};
|
||||
rcLevel[1] = {241, 24, 242, 25};
|
||||
rcLevel[2] = {242, 24, 243, 25};
|
||||
rcLevel[3] = {243, 24, 244, 25};
|
||||
RECT rcLevel[4] = {
|
||||
{240, 24, 241, 25},
|
||||
{241, 24, 242, 25},
|
||||
{242, 24, 243, 25},
|
||||
{243, 24, 244, 25},
|
||||
};
|
||||
|
||||
for (int x = 0; x < gMap.width; x++)
|
||||
{
|
||||
|
@ -105,7 +106,11 @@ int MiniMapLoop()
|
|||
|
||||
PutBitmap4(&grcGame, 0, 0, &grcGame, SURFACE_ID_SCREEN_GRAB);
|
||||
|
||||
rcView = {(WINDOW_WIDTH / 2) - f * gMap.width / 16, (WINDOW_HEIGHT / 2) - f * gMap.length / 16, (WINDOW_WIDTH / 2) + f * gMap.width / 16, (WINDOW_HEIGHT / 2) + f * gMap.length / 16};
|
||||
rcView.left = (WINDOW_WIDTH / 2) - f * gMap.width / 16;
|
||||
rcView.right = (WINDOW_WIDTH / 2) + f * gMap.width / 16;
|
||||
rcView.top = (WINDOW_HEIGHT / 2) - f * gMap.length / 16;
|
||||
rcView.bottom = (WINDOW_HEIGHT / 2) + f * gMap.length / 16;
|
||||
|
||||
PutMapName(true);
|
||||
CortBox(&rcView, 0);
|
||||
|
||||
|
@ -174,7 +179,12 @@ int MiniMapLoop()
|
|||
}
|
||||
|
||||
PutBitmap4(&grcGame, 0, 0, &grcGame, SURFACE_ID_SCREEN_GRAB);
|
||||
rcView = {(WINDOW_WIDTH / 2) - f * gMap.width / 16, (WINDOW_HEIGHT / 2) - f * gMap.length / 16, (WINDOW_WIDTH / 2) + f * gMap.width / 16, (WINDOW_HEIGHT / 2) + f * gMap.length / 16};
|
||||
|
||||
rcView.left = (WINDOW_WIDTH / 2) - f * gMap.width / 16;
|
||||
rcView.right = (WINDOW_WIDTH / 2) + f * gMap.width / 16;
|
||||
rcView.top = (WINDOW_HEIGHT / 2) - f * gMap.length / 16;
|
||||
rcView.bottom = (WINDOW_HEIGHT / 2) + f * gMap.length / 16;
|
||||
|
||||
PutMapName(true);
|
||||
CortBox(&rcView, 0);
|
||||
|
||||
|
|
|
@ -28,8 +28,17 @@ void InitMyChar()
|
|||
memset(&gMC, 0, sizeof(MYCHAR));
|
||||
gMC.cond = 0x80;
|
||||
gMC.direct = 2;
|
||||
gMC.view = {0x1000, 0x1000, 0x1000, 0x1000};
|
||||
gMC.hit = {0xA00, 0x1000, 0xA00, 0x1000};
|
||||
|
||||
gMC.view.back = 0x1000;
|
||||
gMC.view.top = 0x1000;
|
||||
gMC.view.front = 0x1000;
|
||||
gMC.view.bottom = 0x1000;
|
||||
|
||||
gMC.hit.back = 0xA00;
|
||||
gMC.hit.top = 0x1000;
|
||||
gMC.hit.front = 0xA00;
|
||||
gMC.hit.bottom = 0x1000;
|
||||
|
||||
gMC.life = 3;
|
||||
gMC.max_life = 3;
|
||||
gMC.unit = 0;
|
||||
|
@ -37,34 +46,35 @@ void InitMyChar()
|
|||
|
||||
void AnimationMyChar(bool bKey)
|
||||
{
|
||||
RECT rcLeft[12];
|
||||
RECT rcRight[12];
|
||||
RECT rcLeft[12] = {
|
||||
{0, 0, 16, 16},
|
||||
{16, 0, 32, 16},
|
||||
{0, 0, 16, 16},
|
||||
{32, 0, 48, 16},
|
||||
{0, 0, 16, 16},
|
||||
{48, 0, 64, 16},
|
||||
{64, 0, 80, 16},
|
||||
{48, 0, 64, 16},
|
||||
{80, 0, 96, 16},
|
||||
{48, 0, 64, 16},
|
||||
{96, 0, 112, 16},
|
||||
{112, 0, 128, 16},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 0, 16, 16};
|
||||
rcLeft[1] = {16, 0, 32, 16};
|
||||
rcLeft[2] = {0, 0, 16, 16};
|
||||
rcLeft[3] = {32, 0, 48, 16};
|
||||
rcLeft[4] = {0, 0, 16, 16};
|
||||
rcLeft[5] = {48, 0, 64, 16};
|
||||
rcLeft[6] = {64, 0, 80, 16};
|
||||
rcLeft[7] = {48, 0, 64, 16};
|
||||
rcLeft[8] = {80, 0, 96, 16};
|
||||
rcLeft[9] = {48, 0, 64, 16};
|
||||
rcLeft[10] = {96, 0, 112, 16};
|
||||
rcLeft[11] = {112, 0, 128, 16};
|
||||
|
||||
rcRight[0] = {0, 16, 16, 32};
|
||||
rcRight[1] = {16, 16, 32, 32};
|
||||
rcRight[2] = {0, 16, 16, 32};
|
||||
rcRight[3] = {32, 16, 48, 32};
|
||||
rcRight[4] = {0, 16, 16, 32};
|
||||
rcRight[5] = {48, 16, 64, 32};
|
||||
rcRight[6] = {64, 16, 80, 32};
|
||||
rcRight[7] = {48, 16, 64, 32};
|
||||
rcRight[8] = {80, 16, 96, 32};
|
||||
rcRight[9] = {48, 16, 64, 32};
|
||||
rcRight[10] = {96, 16, 112, 32};
|
||||
rcRight[11] = {112, 16, 128, 32};
|
||||
RECT rcRight[12] = {
|
||||
{0, 16, 16, 32},
|
||||
{16, 16, 32, 32},
|
||||
{0, 16, 16, 32},
|
||||
{32, 16, 48, 32},
|
||||
{0, 16, 16, 32},
|
||||
{48, 16, 64, 32},
|
||||
{64, 16, 80, 32},
|
||||
{48, 16, 64, 32},
|
||||
{80, 16, 96, 32},
|
||||
{48, 16, 64, 32},
|
||||
{96, 16, 112, 32},
|
||||
{112, 16, 128, 32},
|
||||
};
|
||||
|
||||
if (!(gMC.cond & 2))
|
||||
{
|
||||
|
@ -216,9 +226,10 @@ void PutMyChar(int fx, int fy)
|
|||
PutBitmap3(&grcGame, (gMC.x - gMC.view.left) / 0x200 - fx / 0x200, (gMC.y - gMC.view.top) / 0x200 - fy / 0x200, &rect, SURFACE_ID_MY_CHAR);
|
||||
|
||||
//Draw airtank
|
||||
RECT rcBubble[2];
|
||||
rcBubble[0] = {56, 96, 80, 120};
|
||||
rcBubble[1] = {80, 96, 104, 120};
|
||||
RECT rcBubble[2] = {
|
||||
{56, 96, 80, 120},
|
||||
{80, 96, 104, 120},
|
||||
};
|
||||
|
||||
++gMC.bubble;
|
||||
if (gMC.equip & 0x10 && gMC.flag & 0x100)
|
||||
|
|
|
@ -331,9 +331,10 @@ void PutMyLife(bool flash)
|
|||
|
||||
void PutMyAir(int x, int y)
|
||||
{
|
||||
RECT rcAir[2];
|
||||
rcAir[0] = {112, 72, 144, 80};
|
||||
rcAir[1] = {112, 80, 144, 88};
|
||||
RECT rcAir[2] = {
|
||||
{112, 72, 144, 80},
|
||||
{112, 80, 144, 88},
|
||||
};
|
||||
|
||||
if (!(gMC.equip & 0x10) && gMC.air_get)
|
||||
{
|
||||
|
@ -351,10 +352,11 @@ void PutMyAir(int x, int y)
|
|||
|
||||
void PutTimeCounter(int x, int y)
|
||||
{
|
||||
RECT rcTime[3];
|
||||
rcTime[0] = {112, 104, 120, 112};
|
||||
rcTime[1] = {120, 104, 128, 112};
|
||||
rcTime[2] = {128, 104, 160, 112};
|
||||
RECT rcTime[3] = {
|
||||
{112, 104, 120, 112},
|
||||
{120, 104, 128, 112},
|
||||
{128, 104, 160, 112},
|
||||
};
|
||||
|
||||
if (gMC.equip & 0x100)
|
||||
{
|
||||
|
|
|
@ -14,14 +14,13 @@
|
|||
//Computer
|
||||
void ActNpc020(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[1];
|
||||
RECT rcRight[3];
|
||||
RECT rcLeft[1] = {288, 16, 320, 40};
|
||||
|
||||
rcLeft[0] = {288, 16, 320, 40};
|
||||
|
||||
rcRight[0] = {288, 40, 320, 64};
|
||||
rcRight[1] = {288, 40, 320, 64};
|
||||
rcRight[2] = {288, 64, 320, 88};
|
||||
RECT rcRight[3] = {
|
||||
{288, 40, 320, 64},
|
||||
{288, 40, 320, 64},
|
||||
{288, 64, 320, 88},
|
||||
};
|
||||
|
||||
if (++npc->ani_wait > 3)
|
||||
{
|
||||
|
@ -52,9 +51,7 @@ void ActNpc021(NPCHAR *npc)
|
|||
break;
|
||||
}
|
||||
|
||||
RECT rect[1];
|
||||
|
||||
rect[0] = {224, 40, 240, 48};
|
||||
RECT rect[1] = {224, 40, 240, 48};
|
||||
|
||||
npc->rect = rect[0];
|
||||
}
|
||||
|
@ -62,10 +59,10 @@ void ActNpc021(NPCHAR *npc)
|
|||
//Teleporter
|
||||
void ActNpc022(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[2];
|
||||
|
||||
rect[0] = {240, 16, 264, 48};
|
||||
rect[1] = {248, 152, 272, 184};
|
||||
RECT rect[2] = {
|
||||
{240, 16, 264, 48},
|
||||
{248, 152, 272, 184},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -86,16 +83,16 @@ void ActNpc022(NPCHAR *npc)
|
|||
//Teleporter lights
|
||||
void ActNpc023(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[8];
|
||||
|
||||
rect[0] = {264, 16, 288, 20};
|
||||
rect[1] = {264, 20, 288, 24};
|
||||
rect[2] = {264, 24, 288, 28};
|
||||
rect[3] = {264, 28, 288, 32};
|
||||
rect[4] = {264, 32, 288, 36};
|
||||
rect[5] = {264, 36, 288, 40};
|
||||
rect[6] = {264, 40, 288, 44};
|
||||
rect[7] = {264, 44, 288, 48};
|
||||
RECT rect[8] = {
|
||||
{264, 16, 288, 20},
|
||||
{264, 20, 288, 24},
|
||||
{264, 24, 288, 28},
|
||||
{264, 28, 288, 32},
|
||||
{264, 32, 288, 36},
|
||||
{264, 36, 288, 40},
|
||||
{264, 40, 288, 44},
|
||||
{264, 44, 288, 48},
|
||||
};
|
||||
|
||||
if (++npc->ani_wait > 1)
|
||||
{
|
||||
|
@ -112,22 +109,23 @@ void ActNpc023(NPCHAR *npc)
|
|||
//Power Critter
|
||||
void ActNpc024(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[6];
|
||||
RECT rcRight[6];
|
||||
RECT rcLeft[6] = {
|
||||
{0, 0, 24, 24},
|
||||
{24, 0, 48, 24},
|
||||
{48, 0, 72, 24},
|
||||
{72, 0, 96, 24},
|
||||
{96, 0, 120, 24},
|
||||
{120, 0, 144, 24},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 0, 24, 24};
|
||||
rcLeft[1] = {24, 0, 48, 24};
|
||||
rcLeft[2] = {48, 0, 72, 24};
|
||||
rcLeft[3] = {72, 0, 96, 24};
|
||||
rcLeft[4] = {96, 0, 120, 24};
|
||||
rcLeft[5] = {120, 0, 144, 24};
|
||||
|
||||
rcRight[0] = {0, 24, 24, 48};
|
||||
rcRight[1] = {24, 24, 48, 48};
|
||||
rcRight[2] = {48, 24, 72, 48};
|
||||
rcRight[3] = {72, 24, 96, 48};
|
||||
rcRight[4] = {96, 24, 120, 48};
|
||||
rcRight[5] = {120, 24, 144, 48};
|
||||
RECT rcRight[6] = {
|
||||
{0, 24, 24, 48},
|
||||
{24, 24, 48, 48},
|
||||
{48, 24, 72, 48},
|
||||
{72, 24, 96, 48},
|
||||
{96, 24, 120, 48},
|
||||
{120, 24, 144, 48},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -290,10 +288,10 @@ void ActNpc024(NPCHAR *npc)
|
|||
// Egg Corridor lift
|
||||
void ActNpc025(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
|
||||
rcLeft[0] = {256, 64, 288, 80};
|
||||
rcLeft[1] = {256, 80, 288, 96};
|
||||
RECT rcLeft[2] = {
|
||||
{256, 64, 288, 80},
|
||||
{256, 80, 288, 96},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -493,18 +491,19 @@ void ActNpc026(NPCHAR *npc)
|
|||
npc->x += npc->xm;
|
||||
npc->y += npc->ym;
|
||||
|
||||
RECT rect_left[4];
|
||||
RECT rect_right[4];
|
||||
RECT rect_left[4] = {
|
||||
{32, 80, 48, 96},
|
||||
{48, 80, 64, 96},
|
||||
{64, 80, 80, 96},
|
||||
{80, 80, 96, 96},
|
||||
};
|
||||
|
||||
rect_left[0] = {32, 80, 48, 96};
|
||||
rect_left[1] = {48, 80, 64, 96};
|
||||
rect_left[2] = {64, 80, 80, 96};
|
||||
rect_left[3] = {80, 80, 96, 96};
|
||||
|
||||
rect_right[0] = {32, 96, 48, 112};
|
||||
rect_right[1] = {48, 96, 64, 112};
|
||||
rect_right[2] = {64, 96, 80, 112};
|
||||
rect_right[3] = {80, 96, 96, 112};
|
||||
RECT rect_right[4] = {
|
||||
{32, 96, 48, 112},
|
||||
{48, 96, 64, 112},
|
||||
{64, 96, 80, 112},
|
||||
{80, 96, 96, 112},
|
||||
};
|
||||
|
||||
if (npc->act_no == 3)
|
||||
{
|
||||
|
@ -531,9 +530,7 @@ void ActNpc026(NPCHAR *npc)
|
|||
//Death trap
|
||||
void ActNpc027(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[1];
|
||||
|
||||
rcLeft[0] = {96, 64, 128, 88};
|
||||
RECT rcLeft[1] = {96, 64, 128, 88};
|
||||
|
||||
npc->rect = rcLeft[npc->ani_no];
|
||||
}
|
||||
|
@ -541,22 +538,23 @@ void ActNpc027(NPCHAR *npc)
|
|||
//Flying Critter (Grasstown)
|
||||
void ActNpc028(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[6];
|
||||
RECT rcRight[6];
|
||||
RECT rcLeft[6] = {
|
||||
{0, 48, 16, 64},
|
||||
{16, 48, 32, 64},
|
||||
{32, 48, 48, 64},
|
||||
{48, 48, 64, 64},
|
||||
{64, 48, 80, 64},
|
||||
{80, 48, 96, 64},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 48, 16, 64};
|
||||
rcLeft[1] = {16, 48, 32, 64};
|
||||
rcLeft[2] = {32, 48, 48, 64};
|
||||
rcLeft[3] = {48, 48, 64, 64};
|
||||
rcLeft[4] = {64, 48, 80, 64};
|
||||
rcLeft[5] = {80, 48, 96, 64};
|
||||
|
||||
rcRight[0] = {0, 64, 16, 80};
|
||||
rcRight[1] = {16, 64, 32, 80};
|
||||
rcRight[2] = {32, 64, 48, 80};
|
||||
rcRight[3] = {48, 64, 64, 80};
|
||||
rcRight[4] = {64, 64, 80, 80};
|
||||
rcRight[5] = {80, 64, 96, 80};
|
||||
RECT rcRight[6] = {
|
||||
{0, 64, 16, 80},
|
||||
{16, 64, 32, 80},
|
||||
{32, 64, 48, 80},
|
||||
{48, 64, 64, 80},
|
||||
{64, 64, 80, 80},
|
||||
{80, 64, 96, 80},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -721,14 +719,15 @@ void ActNpc028(NPCHAR *npc)
|
|||
//Cthulhu
|
||||
void ActNpc029(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
RECT rcRight[2];
|
||||
RECT rcLeft[2] = {
|
||||
{0, 192, 16, 216},
|
||||
{16, 192, 32, 216},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 192, 16, 216};
|
||||
rcLeft[1] = {16, 192, 32, 216};
|
||||
|
||||
rcRight[0] = {0, 216, 16, 240};
|
||||
rcRight[1] = {16, 216, 32, 240};
|
||||
RECT rcRight[2] = {
|
||||
{0, 216, 16, 240},
|
||||
{16, 216, 32, 240},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -755,11 +754,11 @@ void ActNpc029(NPCHAR *npc)
|
|||
//Gunsmith
|
||||
void ActNpc030(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[3];
|
||||
|
||||
rc[0] = {48, 0, 64, 16};
|
||||
rc[1] = {48, 16, 64, 32};
|
||||
rc[2] = {0, 32, 16, 48};
|
||||
RECT rc[3] = {
|
||||
{48, 0, 64, 16},
|
||||
{48, 16, 64, 32},
|
||||
{0, 32, 16, 48},
|
||||
};
|
||||
|
||||
if (npc->direct != 0)
|
||||
{
|
||||
|
@ -815,20 +814,21 @@ void ActNpc030(NPCHAR *npc)
|
|||
//Bat (Grasstown, hanging)
|
||||
void ActNpc031(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[5];
|
||||
RECT rcRight[5];
|
||||
RECT rcLeft[5] = {
|
||||
{0, 80, 16, 96},
|
||||
{16, 80, 32, 96},
|
||||
{32, 80, 48, 96},
|
||||
{48, 80, 64, 96},
|
||||
{64, 80, 80, 96},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 80, 16, 96};
|
||||
rcLeft[1] = {16, 80, 32, 96};
|
||||
rcLeft[2] = {32, 80, 48, 96};
|
||||
rcLeft[3] = {48, 80, 64, 96};
|
||||
rcLeft[4] = {64, 80, 80, 96};
|
||||
|
||||
rcRight[0] = {0, 96, 16, 112};
|
||||
rcRight[1] = {16, 96, 32, 112};
|
||||
rcRight[2] = {32, 96, 48, 112};
|
||||
rcRight[3] = {48, 96, 64, 112};
|
||||
rcRight[4] = {64, 96, 80, 112};
|
||||
RECT rcRight[5] = {
|
||||
{0, 96, 16, 112},
|
||||
{16, 96, 32, 112},
|
||||
{32, 96, 48, 112},
|
||||
{48, 96, 64, 112},
|
||||
{64, 96, 80, 112},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -946,10 +946,10 @@ void ActNpc031(NPCHAR *npc)
|
|||
//Life capsule
|
||||
void ActNpc032(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[2];
|
||||
|
||||
rect[0] = {32, 96, 48, 112};
|
||||
rect[1] = {48, 96, 64, 112};
|
||||
RECT rect[2] = {
|
||||
{32, 96, 48, 112},
|
||||
{48, 96, 64, 112},
|
||||
};
|
||||
|
||||
if (++npc->ani_wait > 2)
|
||||
{
|
||||
|
@ -981,10 +981,10 @@ void ActNpc033(NPCHAR *npc)
|
|||
npc->y += npc->ym;
|
||||
npc->x += npc->xm;
|
||||
|
||||
RECT rect_left[2];
|
||||
|
||||
rect_left[0] = {240, 64, 256, 80};
|
||||
rect_left[1] = {240, 80, 256, 96};
|
||||
RECT rect_left[2] = {
|
||||
{240, 64, 256, 80},
|
||||
{240, 80, 256, 96},
|
||||
};
|
||||
|
||||
if (++npc->ani_wait > 2)
|
||||
{
|
||||
|
@ -1006,11 +1006,8 @@ void ActNpc033(NPCHAR *npc)
|
|||
//Bed
|
||||
void ActNpc034(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[1];
|
||||
RECT rcRight[1];
|
||||
|
||||
rcLeft[0] = {192, 48, 224, 64};
|
||||
rcRight[0] = {192, 184, 224, 200};
|
||||
RECT rcLeft[1] = {192, 48, 224, 64};
|
||||
RECT rcRight[1] = {192, 184, 224, 200};
|
||||
|
||||
if (npc->direct == 0)
|
||||
npc->rect = rcLeft[0];
|
||||
|
@ -1074,18 +1071,19 @@ void ActNpc035(NPCHAR *npc)
|
|||
break;
|
||||
}
|
||||
|
||||
RECT rcLeft[4];
|
||||
RECT rcRight[4];
|
||||
RECT rcLeft[4] = {
|
||||
{96, 64, 120, 96},
|
||||
{120, 64, 144, 96},
|
||||
{144, 64, 168, 96},
|
||||
{168, 64, 192, 96},
|
||||
};
|
||||
|
||||
rcLeft[0] = {96, 64, 120, 96};
|
||||
rcLeft[1] = {120, 64, 144, 96};
|
||||
rcLeft[2] = {144, 64, 168, 96};
|
||||
rcLeft[3] = {168, 64, 192, 96};
|
||||
|
||||
rcRight[0] = {96, 96, 120, 128};
|
||||
rcRight[1] = {120, 96, 144, 128};
|
||||
rcRight[2] = {144, 96, 168, 128};
|
||||
rcRight[3] = {168, 96, 192, 128};
|
||||
RECT rcRight[4] = {
|
||||
{96, 96, 120, 128},
|
||||
{120, 96, 144, 128},
|
||||
{144, 96, 168, 128},
|
||||
{168, 96, 192, 128},
|
||||
};
|
||||
|
||||
if (npc->direct == 0)
|
||||
npc->rect = rcLeft[npc->ani_no];
|
||||
|
@ -1249,22 +1247,23 @@ void ActNpc036(NPCHAR *npc)
|
|||
npc->x += npc->xm;
|
||||
npc->y += npc->ym;
|
||||
|
||||
RECT rect_left[6];
|
||||
RECT rect_right[6];
|
||||
RECT rect_left[6] = {
|
||||
{0, 0, 40, 24},
|
||||
{40, 0, 80, 24},
|
||||
{80, 0, 120, 24},
|
||||
{120, 0, 160, 24},
|
||||
{160, 48, 200, 72},
|
||||
{200, 48, 240, 72},
|
||||
};
|
||||
|
||||
rect_left[0] = {0, 0, 40, 24};
|
||||
rect_left[1] = {40, 0, 80, 24};
|
||||
rect_left[2] = {80, 0, 120, 24};
|
||||
rect_left[3] = {120, 0, 160, 24};
|
||||
rect_left[4] = {160, 48, 200, 72};
|
||||
rect_left[5] = {200, 48, 240, 72};
|
||||
|
||||
rect_right[0] = {0, 24, 40, 48};
|
||||
rect_right[1] = {40, 24, 80, 48};
|
||||
rect_right[2] = {80, 24, 120, 48};
|
||||
rect_right[3] = {120, 24, 160, 48};
|
||||
rect_right[4] = {160, 72, 200, 96};
|
||||
rect_right[5] = {200, 72, 240, 96};
|
||||
RECT rect_right[6] = {
|
||||
{0, 24, 40, 48},
|
||||
{40, 24, 80, 48},
|
||||
{80, 24, 120, 48},
|
||||
{120, 24, 160, 48},
|
||||
{160, 72, 200, 96},
|
||||
{200, 72, 240, 96},
|
||||
};
|
||||
|
||||
if (npc->direct == 0)
|
||||
npc->rect = rect_left[npc->ani_no];
|
||||
|
@ -1275,10 +1274,10 @@ void ActNpc036(NPCHAR *npc)
|
|||
//Signpost
|
||||
void ActNpc037(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[2];
|
||||
|
||||
rect[0] = {192, 64, 208, 80};
|
||||
rect[1] = {208, 64, 224, 80};
|
||||
RECT rect[2] = {
|
||||
{192, 64, 208, 80},
|
||||
{208, 64, 224, 80},
|
||||
};
|
||||
|
||||
if (++npc->ani_wait > 1)
|
||||
{
|
||||
|
@ -1295,12 +1294,12 @@ void ActNpc037(NPCHAR *npc)
|
|||
//Fireplace
|
||||
void ActNpc038(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[4];
|
||||
|
||||
rect[0] = {128, 64, 144, 80};
|
||||
rect[1] = {144, 64, 160, 80};
|
||||
rect[2] = {160, 64, 176, 80};
|
||||
rect[3] = {176, 64, 192, 80};
|
||||
RECT rect[4] = {
|
||||
{128, 64, 144, 80},
|
||||
{144, 64, 160, 80},
|
||||
{160, 64, 176, 80},
|
||||
{176, 64, 192, 80},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1331,10 +1330,10 @@ void ActNpc038(NPCHAR *npc)
|
|||
//Save sign
|
||||
void ActNpc039(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[2];
|
||||
|
||||
rect[0] = {224, 64, 240, 80};
|
||||
rect[1] = {240, 64, 256, 80};
|
||||
RECT rect[2] = {
|
||||
{224, 64, 240, 80},
|
||||
{240, 64, 256, 80},
|
||||
};
|
||||
|
||||
if (npc->direct == 0)
|
||||
npc->ani_no = 0;
|
||||
|
|
|
@ -14,24 +14,25 @@
|
|||
//Santa
|
||||
void ActNpc040(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[7];
|
||||
RECT rcRight[7];
|
||||
RECT rcLeft[7] = {
|
||||
{0, 32, 16, 48},
|
||||
{16, 32, 32, 48},
|
||||
{32, 32, 48, 48},
|
||||
{0, 32, 16, 48},
|
||||
{48, 32, 64, 48},
|
||||
{0, 32, 16, 48},
|
||||
{64, 32, 80, 48},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 32, 16, 48};
|
||||
rcLeft[1] = {16, 32, 32, 48};
|
||||
rcLeft[2] = {32, 32, 48, 48};
|
||||
rcLeft[3] = {0, 32, 16, 48};
|
||||
rcLeft[4] = {48, 32, 64, 48};
|
||||
rcLeft[5] = {0, 32, 16, 48};
|
||||
rcLeft[6] = {64, 32, 80, 48};
|
||||
|
||||
rcRight[0] = {0, 48, 16, 64};
|
||||
rcRight[1] = {16, 48, 32, 64};
|
||||
rcRight[2] = {32, 48, 48, 64};
|
||||
rcRight[3] = {0, 48, 16, 64};
|
||||
rcRight[4] = {48, 48, 64, 64};
|
||||
rcRight[5] = {0, 48, 16, 64};
|
||||
rcRight[6] = {64, 48, 80, 64};
|
||||
RECT rcRight[7] = {
|
||||
{0, 48, 16, 64},
|
||||
{16, 48, 32, 64},
|
||||
{32, 48, 48, 64},
|
||||
{0, 48, 16, 64},
|
||||
{48, 48, 64, 64},
|
||||
{0, 48, 16, 64},
|
||||
{64, 48, 80, 64},
|
||||
};
|
||||
|
||||
switch ( npc->act_no )
|
||||
{
|
||||
|
@ -87,18 +88,16 @@ void ActNpc040(NPCHAR *npc)
|
|||
break;
|
||||
}
|
||||
|
||||
if (npc->direct)
|
||||
npc->rect = rcRight[npc->ani_no];
|
||||
else
|
||||
if (npc->direct == 0)
|
||||
npc->rect = rcLeft[npc->ani_no];
|
||||
else
|
||||
npc->rect = rcRight[npc->ani_no];
|
||||
}
|
||||
|
||||
//Busted Door
|
||||
void ActNpc041(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[1];
|
||||
|
||||
rect[0] = {0, 80, 48, 112};
|
||||
RECT rect[1] = {0, 80, 48, 112};
|
||||
|
||||
if (npc->act_no == 0)
|
||||
{
|
||||
|
@ -112,36 +111,37 @@ void ActNpc041(NPCHAR *npc)
|
|||
//Sue
|
||||
void ActNpc042(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[13];
|
||||
RECT rcRight[13];
|
||||
RECT rcLeft[13] = {
|
||||
{0, 0, 16, 16},
|
||||
{16, 0, 32, 16},
|
||||
{32, 0, 48, 16},
|
||||
{0, 0, 16, 16},
|
||||
{48, 0, 64, 16},
|
||||
{0, 0, 16, 16},
|
||||
{64, 0, 80, 16},
|
||||
{80, 32, 96, 48},
|
||||
{96, 32, 112, 48},
|
||||
{128, 32, 144, 48},
|
||||
{0, 0, 16, 16},
|
||||
{112, 32, 128, 48},
|
||||
{160, 32, 176, 48},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 0, 16, 16};
|
||||
rcLeft[1] = {16, 0, 32, 16};
|
||||
rcLeft[2] = {32, 0, 48, 16};
|
||||
rcLeft[3] = {0, 0, 16, 16};
|
||||
rcLeft[4] = {48, 0, 64, 16};
|
||||
rcLeft[5] = {0, 0, 16, 16};
|
||||
rcLeft[6] = {64, 0, 80, 16};
|
||||
rcLeft[7] = {80, 32, 96, 48};
|
||||
rcLeft[8] = {96, 32, 112, 48};
|
||||
rcLeft[9] = {128, 32, 144, 48};
|
||||
rcLeft[10] = {0, 0, 16, 16};
|
||||
rcLeft[11] = {112, 32, 128, 48};
|
||||
rcLeft[12] = {160, 32, 176, 48};
|
||||
|
||||
rcRight[0] = {0, 16, 16, 32};
|
||||
rcRight[1] = {16, 16, 32, 32};
|
||||
rcRight[2] = {32, 16, 48, 32};
|
||||
rcRight[3] = {0, 16, 16, 32};
|
||||
rcRight[4] = {48, 16, 64, 32};
|
||||
rcRight[5] = {0, 16, 16, 32};
|
||||
rcRight[6] = {64, 16, 80, 32};
|
||||
rcRight[7] = {80, 48, 96, 64};
|
||||
rcRight[8] = {96, 48, 112, 64};
|
||||
rcRight[9] = {128, 48, 144, 64};
|
||||
rcRight[10] = {0, 16, 16, 32};
|
||||
rcRight[11] = {112, 48, 128, 64};
|
||||
rcRight[12] = {160, 48, 176, 64};
|
||||
RECT rcRight[13] = {
|
||||
{0, 16, 16, 32},
|
||||
{16, 16, 32, 32},
|
||||
{32, 16, 48, 32},
|
||||
{0, 16, 16, 32},
|
||||
{48, 16, 64, 32},
|
||||
{0, 16, 16, 32},
|
||||
{64, 16, 80, 32},
|
||||
{80, 48, 96, 64},
|
||||
{96, 48, 112, 64},
|
||||
{128, 48, 144, 64},
|
||||
{0, 16, 16, 32},
|
||||
{112, 48, 128, 64},
|
||||
{160, 48, 176, 64},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -397,11 +397,8 @@ void ActNpc042(NPCHAR *npc)
|
|||
//Chalkboard
|
||||
void ActNpc043(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[1];
|
||||
RECT rcRight[1];
|
||||
|
||||
rcLeft[0] = {128, 80, 168, 112};
|
||||
rcRight[0] = {168, 80, 208, 112};
|
||||
RECT rcLeft = {128, 80, 168, 112};
|
||||
RECT rcRight = {168, 80, 208, 112};
|
||||
|
||||
if (npc->act_no == 0)
|
||||
{
|
||||
|
@ -410,24 +407,26 @@ void ActNpc043(NPCHAR *npc)
|
|||
}
|
||||
|
||||
if (npc->direct == 0)
|
||||
npc->rect = rcLeft[0];
|
||||
npc->rect = rcLeft;
|
||||
else
|
||||
npc->rect = rcRight[0];
|
||||
npc->rect = rcRight;
|
||||
}
|
||||
|
||||
//Polish
|
||||
void ActNpc044(NPCHAR *npc)
|
||||
{
|
||||
RECT rcRight[3];
|
||||
RECT rcLeft[3];
|
||||
// Yeah, Pixel defined these backwards for some reason.
|
||||
RECT rcRight[3] = {
|
||||
{0, 0, 32, 32},
|
||||
{32, 0, 64, 32},
|
||||
{64, 0, 96, 32},
|
||||
};
|
||||
|
||||
rcRight[0] = {0, 0, 32, 32};
|
||||
rcRight[1] = {32, 0, 64, 32};
|
||||
rcRight[2] = {64, 0, 96, 32};
|
||||
|
||||
rcLeft[0] = {0, 0, 32, 32};
|
||||
rcLeft[1] = {96, 0, 128, 32};
|
||||
rcLeft[2] = {128, 0, 160, 32};
|
||||
RECT rcLeft[3] = {
|
||||
{0, 0, 32, 32},
|
||||
{96, 0, 128, 32},
|
||||
{128, 0, 160, 32},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -598,11 +597,11 @@ void ActNpc044(NPCHAR *npc)
|
|||
//Baby
|
||||
void ActNpc045(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[3];
|
||||
|
||||
rect[0] = {0, 32, 16, 48};
|
||||
rect[1] = {16, 32, 32, 48};
|
||||
rect[2] = {32, 32, 48, 48};
|
||||
RECT rect[3] = {
|
||||
{0, 32, 16, 48},
|
||||
{16, 32, 32, 48},
|
||||
{32, 32, 48, 48},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -667,8 +666,7 @@ void ActNpc045(NPCHAR *npc)
|
|||
//H/V Trigger
|
||||
void ActNpc046(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[1];
|
||||
rect[0] = {0, 0, 16, 16};
|
||||
RECT rect = {0, 0, 16, 16};
|
||||
|
||||
npc->bits |= 0x100;
|
||||
|
||||
|
@ -687,7 +685,7 @@ void ActNpc046(NPCHAR *npc)
|
|||
npc->y += 0x5FF;
|
||||
}
|
||||
|
||||
npc->rect = rect[0];
|
||||
npc->rect = rect;
|
||||
}
|
||||
|
||||
//Sandcroc
|
||||
|
@ -782,13 +780,13 @@ void ActNpc047(NPCHAR *npc)
|
|||
break;
|
||||
}
|
||||
|
||||
RECT rect[5];
|
||||
|
||||
rect[0] = {0, 48, 48, 80};
|
||||
rect[1] = {48, 48, 96, 80};
|
||||
rect[2] = {96, 48, 144, 80};
|
||||
rect[3] = {144, 48, 192, 80};
|
||||
rect[4] = {192, 48, 240, 80};
|
||||
RECT rect[5] = {
|
||||
{0, 48, 48, 80},
|
||||
{48, 48, 96, 80},
|
||||
{96, 48, 144, 80},
|
||||
{144, 48, 192, 80},
|
||||
{192, 48, 240, 80},
|
||||
};
|
||||
|
||||
npc->rect = rect[npc->ani_no];
|
||||
}
|
||||
|
@ -827,12 +825,15 @@ void ActNpc048(NPCHAR *npc)
|
|||
npc->y += npc->ym;
|
||||
npc->x += npc->xm;
|
||||
|
||||
RECT rcLeft[2];
|
||||
RECT rcRight[2];
|
||||
rcLeft[0] = {288, 88, 304, 104};
|
||||
rcLeft[1] = {304, 88, 320, 104};
|
||||
rcRight[0] = {288, 104, 304, 120};
|
||||
rcRight[1] = {304, 104, 320, 120};
|
||||
RECT rcLeft[2] = {
|
||||
{288, 88, 304, 104},
|
||||
{304, 88, 320, 104},
|
||||
};
|
||||
|
||||
RECT rcRight[2] = {
|
||||
{288, 104, 304, 120},
|
||||
{304, 104, 320, 120},
|
||||
};
|
||||
|
||||
if (++npc->ani_wait > 2)
|
||||
{
|
||||
|
@ -977,16 +978,17 @@ void ActNpc049(NPCHAR *npc)
|
|||
npc->x += npc->xm;
|
||||
npc->y += npc->ym;
|
||||
|
||||
RECT rcLeft[3];
|
||||
RECT rcRight[3];
|
||||
RECT rcLeft[3] = {
|
||||
{0, 80, 32, 104},
|
||||
{32, 80, 64, 104},
|
||||
{64, 80, 96, 104},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 80, 32, 104};
|
||||
rcLeft[1] = {32, 80, 64, 104};
|
||||
rcLeft[2] = {64, 80, 96, 104};
|
||||
|
||||
rcRight[0] = {0, 104, 32, 128};
|
||||
rcRight[1] = {32, 104, 64, 128};
|
||||
rcRight[2] = {64, 104, 96, 128};
|
||||
RECT rcRight[3] = {
|
||||
{0, 104, 32, 128},
|
||||
{32, 104, 64, 128},
|
||||
{64, 104, 96, 128},
|
||||
};
|
||||
|
||||
if (npc->direct == 0)
|
||||
npc->rect = rcLeft[npc->ani_no];
|
||||
|
@ -1062,12 +1064,12 @@ void ActNpc050(NPCHAR *npc)
|
|||
if (npc->ym < -0x5FF)
|
||||
npc->ym = -0x5FF;
|
||||
|
||||
RECT rect[4];
|
||||
|
||||
rect[0] = {48, 32, 64, 48};
|
||||
rect[1] = {64, 32, 80, 48};
|
||||
rect[2] = {80, 32, 96, 48};
|
||||
rect[3] = {96, 32, 112, 48};
|
||||
RECT rect[4] = {
|
||||
{48, 32, 64, 48},
|
||||
{64, 32, 80, 48},
|
||||
{80, 32, 96, 48},
|
||||
{96, 32, 112, 48},
|
||||
};
|
||||
|
||||
if (npc->direct == 0)
|
||||
{
|
||||
|
@ -1194,20 +1196,21 @@ void ActNpc051(NPCHAR *npc)
|
|||
npc->x += npc->xm;
|
||||
npc->y += npc->ym;
|
||||
|
||||
RECT rect_left[5];
|
||||
RECT rect_right[5];
|
||||
RECT rect_left[5] = {
|
||||
{96, 80, 128, 112},
|
||||
{128, 80, 160, 112},
|
||||
{160, 80, 192, 112},
|
||||
{192, 80, 224, 112},
|
||||
{224, 80, 256, 112},
|
||||
};
|
||||
|
||||
rect_left[0] = {96, 80, 128, 112};
|
||||
rect_left[1] = {128, 80, 160, 112};
|
||||
rect_left[2] = {160, 80, 192, 112};
|
||||
rect_left[3] = {192, 80, 224, 112};
|
||||
rect_left[4] = {224, 80, 256, 112};
|
||||
|
||||
rect_right[0] = {96, 112, 128, 144};
|
||||
rect_right[1] = {128, 112, 160, 144};
|
||||
rect_right[2] = {160, 112, 192, 144};
|
||||
rect_right[3] = {192, 112, 224, 144};
|
||||
rect_right[4] = {224, 112, 256, 144};
|
||||
RECT rect_right[5] = {
|
||||
{96, 112, 128, 144},
|
||||
{128, 112, 160, 144},
|
||||
{160, 112, 192, 144},
|
||||
{192, 112, 224, 144},
|
||||
{224, 112, 256, 144},
|
||||
};
|
||||
|
||||
if (npc->shock)
|
||||
{
|
||||
|
@ -1241,24 +1244,23 @@ void ActNpc051(NPCHAR *npc)
|
|||
//Bliue robot (sitting)
|
||||
void ActNpc052(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[1];
|
||||
RECT rect = {240, 96, 256, 112};
|
||||
|
||||
rect[0] = {240, 96, 256, 112};
|
||||
|
||||
npc->rect = rect[0];
|
||||
npc->rect = rect;
|
||||
}
|
||||
|
||||
//Skullstep leg
|
||||
void ActNpc053(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
RECT rcRight[2];
|
||||
RECT rcLeft[2] = {
|
||||
{0, 128, 24, 144},
|
||||
{24, 128, 48, 144},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 128, 24, 144};
|
||||
rcLeft[1] = {24, 128, 48, 144};
|
||||
|
||||
rcRight[0] = {48, 128, 72, 144};
|
||||
rcRight[1] = {72, 128, 96, 144};
|
||||
RECT rcRight[2] = {
|
||||
{48, 128, 72, 144},
|
||||
{72, 128, 96, 144},
|
||||
};
|
||||
|
||||
if (npc->pNpc->code_char == 3)
|
||||
{
|
||||
|
@ -1317,16 +1319,17 @@ void ActNpc053(NPCHAR *npc)
|
|||
//Skullstep
|
||||
void ActNpc054(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[3];
|
||||
RECT rcRight[3];
|
||||
RECT rcLeft[3] = {
|
||||
{0, 80, 32, 104},
|
||||
{32, 80, 64, 104},
|
||||
{64, 80, 96, 104},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 80, 32, 104};
|
||||
rcLeft[1] = {32, 80, 64, 104};
|
||||
rcLeft[2] = {64, 80, 96, 104};
|
||||
|
||||
rcRight[0] = {0, 104, 32, 128};
|
||||
rcRight[1] = {32, 104, 64, 128};
|
||||
rcRight[2] = {64, 104, 96, 128};
|
||||
RECT rcRight[3] = {
|
||||
{0, 104, 32, 128},
|
||||
{32, 104, 64, 128},
|
||||
{64, 104, 96, 128},
|
||||
};
|
||||
|
||||
unsigned char deg;
|
||||
switch (npc->act_no)
|
||||
|
@ -1420,25 +1423,26 @@ void ActNpc054(NPCHAR *npc)
|
|||
npc->rect = rcRight[npc->ani_no];
|
||||
}
|
||||
|
||||
//Cairn
|
||||
//Kazuka
|
||||
void ActNpc055(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[6];
|
||||
RECT rcRight[6];
|
||||
RECT rcLeft[6] = {
|
||||
{192, 192, 208, 216},
|
||||
{208, 192, 224, 216},
|
||||
{192, 192, 208, 216},
|
||||
{224, 192, 240, 216},
|
||||
{192, 192, 208, 216},
|
||||
{240, 192, 256, 216},
|
||||
};
|
||||
|
||||
rcLeft[0] = {192, 192, 208, 216};
|
||||
rcLeft[1] = {208, 192, 224, 216};
|
||||
rcLeft[2] = {192, 192, 208, 216};
|
||||
rcLeft[3] = {224, 192, 240, 216};
|
||||
rcLeft[4] = {192, 192, 208, 216};
|
||||
rcLeft[5] = {240, 192, 256, 216};
|
||||
|
||||
rcRight[0] = {192, 216, 208, 240};
|
||||
rcRight[1] = {208, 216, 224, 240};
|
||||
rcRight[2] = {192, 216, 208, 240};
|
||||
rcRight[3] = {224, 216, 240, 240};
|
||||
rcRight[4] = {192, 216, 208, 240};
|
||||
rcRight[5] = {240, 216, 256, 240};
|
||||
RECT rcRight[6] = {
|
||||
{192, 216, 208, 240},
|
||||
{208, 216, 224, 240},
|
||||
{192, 216, 208, 240},
|
||||
{224, 216, 240, 240},
|
||||
{192, 216, 208, 240},
|
||||
{240, 216, 256, 240},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1490,16 +1494,17 @@ void ActNpc055(NPCHAR *npc)
|
|||
//Beetle (Sand Zone)
|
||||
void ActNpc056(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[3];
|
||||
RECT rcRight[3];
|
||||
RECT rcLeft[3] = {
|
||||
{0, 144, 16, 160},
|
||||
{16, 144, 32, 160},
|
||||
{32, 144, 48, 160},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 144, 16, 160};
|
||||
rcLeft[1] = {16, 144, 32, 160};
|
||||
rcLeft[2] = {32, 144, 48, 160};
|
||||
|
||||
rcRight[0] = {0, 160, 16, 176};
|
||||
rcRight[1] = {16, 160, 32, 176};
|
||||
rcRight[2] = {32, 160, 48, 176};
|
||||
RECT rcRight[3] = {
|
||||
{0, 160, 16, 176},
|
||||
{16, 160, 32, 176},
|
||||
{32, 160, 48, 176},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1721,20 +1726,21 @@ void ActNpc057(NPCHAR *npc)
|
|||
npc->x += npc->xm;
|
||||
npc->y += npc->ym;
|
||||
|
||||
RECT rect_left[5];
|
||||
RECT rect_right[5];
|
||||
RECT rect_left[5] = {
|
||||
{96, 80, 128, 112},
|
||||
{128, 80, 160, 112},
|
||||
{160, 80, 192, 112},
|
||||
{192, 80, 224, 112},
|
||||
{224, 80, 256, 112},
|
||||
};
|
||||
|
||||
rect_left[0] = {96, 80, 128, 112};
|
||||
rect_left[1] = {128, 80, 160, 112};
|
||||
rect_left[2] = {160, 80, 192, 112};
|
||||
rect_left[3] = {192, 80, 224, 112};
|
||||
rect_left[4] = {224, 80, 256, 112};
|
||||
|
||||
rect_right[0] = {96, 112, 128, 144};
|
||||
rect_right[1] = {128, 112, 160, 144};
|
||||
rect_right[2] = {160, 112, 192, 144};
|
||||
rect_right[3] = {192, 112, 224, 144};
|
||||
rect_right[4] = {224, 112, 256, 144};
|
||||
RECT rect_right[5] = {
|
||||
{96, 112, 128, 144},
|
||||
{128, 112, 160, 144},
|
||||
{160, 112, 192, 144},
|
||||
{192, 112, 224, 144},
|
||||
{224, 112, 256, 144},
|
||||
};
|
||||
|
||||
if (npc->shock)
|
||||
{
|
||||
|
@ -1761,16 +1767,17 @@ void ActNpc057(NPCHAR *npc)
|
|||
//Basu (Egg Corridor)
|
||||
void ActNpc058(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[3];
|
||||
RECT rcRight[3];
|
||||
RECT rcLeft[3] = {
|
||||
{192, 0, 216, 24},
|
||||
{216, 0, 240, 24},
|
||||
{240, 0, 264, 24},
|
||||
};
|
||||
|
||||
rcLeft[0] = {192, 0, 216, 24};
|
||||
rcLeft[1] = {216, 0, 240, 24};
|
||||
rcLeft[2] = {240, 0, 264, 24};
|
||||
|
||||
rcRight[0] = {192, 24, 216, 48};
|
||||
rcRight[1] = {216, 24, 240, 48};
|
||||
rcRight[2] = {240, 24, 264, 48};
|
||||
RECT rcRight[3] = {
|
||||
{192, 24, 216, 48},
|
||||
{216, 24, 240, 48},
|
||||
{240, 24, 264, 48},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1915,12 +1922,12 @@ void ActNpc058(NPCHAR *npc)
|
|||
//Eye door
|
||||
void ActNpc059(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[4];
|
||||
|
||||
rcLeft[0] = {224, 16, 240, 40};
|
||||
rcLeft[1] = {208, 80, 224, 104};
|
||||
rcLeft[2] = {224, 80, 240, 104};
|
||||
rcLeft[3] = {240, 80, 256, 104};
|
||||
RECT rcLeft[4] = {
|
||||
{224, 16, 240, 40},
|
||||
{208, 80, 224, 104},
|
||||
{224, 80, 240, 104},
|
||||
{240, 80, 256, 104},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
|
|
@ -17,26 +17,27 @@
|
|||
//Toroko
|
||||
void ActNpc060(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[8];
|
||||
RECT rcRight[8];
|
||||
RECT rcLeft[8] = {
|
||||
{0, 64, 16, 80},
|
||||
{16, 64, 32, 80},
|
||||
{32, 64, 48, 80},
|
||||
{16, 64, 32, 80},
|
||||
{48, 64, 64, 80},
|
||||
{16, 64, 32, 80},
|
||||
{112, 64, 128, 80},
|
||||
{128, 64, 144, 80},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 64, 16, 80};
|
||||
rcLeft[1] = {16, 64, 32, 80};
|
||||
rcLeft[2] = {32, 64, 48, 80};
|
||||
rcLeft[3] = {16, 64, 32, 80};
|
||||
rcLeft[4] = {48, 64, 64, 80};
|
||||
rcLeft[5] = {16, 64, 32, 80};
|
||||
rcLeft[6] = {112, 64, 128, 80};
|
||||
rcLeft[7] = {128, 64, 144, 80};
|
||||
|
||||
rcRight[0] = {0, 80, 16, 96};
|
||||
rcRight[1] = {16, 80, 32, 96};
|
||||
rcRight[2] = {32, 80, 48, 96};
|
||||
rcRight[3] = {16, 80, 32, 96};
|
||||
rcRight[4] = {48, 80, 64, 96};
|
||||
rcRight[5] = {16, 80, 32, 96};
|
||||
rcRight[6] = {112, 80, 128, 96};
|
||||
rcRight[7] = {128, 80, 144, 96};
|
||||
RECT rcRight[8] = {
|
||||
{0, 80, 16, 96},
|
||||
{16, 80, 32, 96},
|
||||
{32, 80, 48, 96},
|
||||
{16, 80, 32, 96},
|
||||
{48, 80, 64, 96},
|
||||
{16, 80, 32, 96},
|
||||
{112, 80, 128, 96},
|
||||
{128, 80, 144, 96},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -196,32 +197,33 @@ void ActNpc060(NPCHAR *npc)
|
|||
//King
|
||||
void ActNpc061(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[11];
|
||||
RECT rcRight[11];
|
||||
RECT rcLeft[11] = {
|
||||
{224, 32, 240, 48},
|
||||
{240, 32, 256, 48},
|
||||
{256, 32, 272, 48},
|
||||
{272, 32, 288, 48},
|
||||
{288, 32, 304, 48},
|
||||
{224, 32, 240, 48},
|
||||
{304, 32, 320, 48},
|
||||
{224, 32, 240, 48},
|
||||
{272, 32, 288, 48},
|
||||
{0, 0, 0, 0},
|
||||
{112, 32, 128, 48},
|
||||
};
|
||||
|
||||
rcLeft[0] = {224, 32, 240, 48};
|
||||
rcLeft[1] = {240, 32, 256, 48};
|
||||
rcLeft[2] = {256, 32, 272, 48};
|
||||
rcLeft[3] = {272, 32, 288, 48};
|
||||
rcLeft[4] = {288, 32, 304, 48};
|
||||
rcLeft[5] = {224, 32, 240, 48};
|
||||
rcLeft[6] = {304, 32, 320, 48};
|
||||
rcLeft[7] = {224, 32, 240, 48};
|
||||
rcLeft[8] = {272, 32, 288, 48};
|
||||
rcLeft[9] = {0, 0, 0, 0};
|
||||
rcLeft[10] = {112, 32, 128, 48};
|
||||
|
||||
rcRight[0] = {224, 48, 240, 64};
|
||||
rcRight[1] = {240, 48, 256, 64};
|
||||
rcRight[2] = {256, 48, 272, 64};
|
||||
rcRight[3] = {272, 48, 288, 64};
|
||||
rcRight[4] = {288, 48, 304, 64};
|
||||
rcRight[5] = {224, 48, 240, 64};
|
||||
rcRight[6] = {304, 48, 320, 64};
|
||||
rcRight[7] = {224, 48, 240, 64};
|
||||
rcRight[8] = {272, 48, 288, 64};
|
||||
rcRight[9] = {0, 0, 0, 0};
|
||||
rcRight[10] = {112, 32, 128, 48};
|
||||
RECT rcRight[11] = {
|
||||
{224, 48, 240, 64},
|
||||
{240, 48, 256, 64},
|
||||
{256, 48, 272, 64},
|
||||
{272, 48, 288, 64},
|
||||
{288, 48, 304, 64},
|
||||
{224, 48, 240, 64},
|
||||
{304, 48, 320, 64},
|
||||
{224, 48, 240, 64},
|
||||
{272, 48, 288, 64},
|
||||
{0, 0, 0, 0},
|
||||
{112, 32, 128, 48},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -264,10 +266,10 @@ void ActNpc061(NPCHAR *npc)
|
|||
case 7:
|
||||
npc->ani_no = 2;
|
||||
|
||||
if (npc->direct)
|
||||
npc->xm = 0x200;
|
||||
else
|
||||
if (npc->direct == 0)
|
||||
npc->xm = -0x200;
|
||||
else
|
||||
npc->xm = 0x200;
|
||||
|
||||
if (npc->act_wait++ && npc->flag & 8)
|
||||
npc->act_no = 5;
|
||||
|
@ -419,11 +421,11 @@ void ActNpc061(NPCHAR *npc)
|
|||
//Kazuma at computer
|
||||
void ActNpc062(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[3];
|
||||
|
||||
rcLeft[0] = {272, 192, 288, 216};
|
||||
rcLeft[1] = {288, 192, 304, 216};
|
||||
rcLeft[2] = {304, 192, 320, 216};
|
||||
RECT rcLeft[3] = {
|
||||
{272, 192, 288, 216},
|
||||
{288, 192, 304, 216},
|
||||
{304, 192, 320, 216},
|
||||
};
|
||||
|
||||
switch ( npc->act_no )
|
||||
{
|
||||
|
@ -487,22 +489,23 @@ void ActNpc062(NPCHAR *npc)
|
|||
//Toroko with stick
|
||||
void ActNpc063(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[8];
|
||||
RECT rcRight[6];
|
||||
RECT rcLeft[8] = {
|
||||
{64, 64, 80, 80},
|
||||
{80, 64, 96, 80},
|
||||
{64, 64, 80, 80},
|
||||
{96, 64, 112, 80},
|
||||
{112, 64, 128, 80},
|
||||
{128, 64, 144, 80},
|
||||
};
|
||||
|
||||
rcLeft[0] = {64, 64, 80, 80};
|
||||
rcLeft[1] = {80, 64, 96, 80};
|
||||
rcLeft[2] = {64, 64, 80, 80};
|
||||
rcLeft[3] = {96, 64, 112, 80};
|
||||
rcLeft[4] = {112, 64, 128, 80};
|
||||
rcLeft[5] = {128, 64, 144, 80};
|
||||
|
||||
rcRight[0] = {64, 80, 80, 96};
|
||||
rcRight[1] = {80, 80, 96, 96};
|
||||
rcRight[2] = {64, 80, 80, 96};
|
||||
rcRight[3] = {96, 80, 112, 96};
|
||||
rcRight[4] = {112, 80, 128, 96};
|
||||
rcRight[5] = {128, 80, 144, 96};
|
||||
RECT rcRight[6] = {
|
||||
{64, 80, 80, 96},
|
||||
{80, 80, 96, 96},
|
||||
{64, 80, 80, 96},
|
||||
{96, 80, 112, 96},
|
||||
{112, 80, 128, 96},
|
||||
{128, 80, 144, 96},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -623,16 +626,17 @@ void ActNpc063(NPCHAR *npc)
|
|||
//First Cave Critter
|
||||
void ActNpc064(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[3];
|
||||
RECT rcRight[3];
|
||||
RECT rcLeft[3] = {
|
||||
{0, 0, 16, 16},
|
||||
{16, 0, 32, 16},
|
||||
{32, 0, 48, 16},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 0, 16, 16};
|
||||
rcLeft[1] = {16, 0, 32, 16};
|
||||
rcLeft[2] = {32, 0, 48, 16};
|
||||
|
||||
rcRight[0] = {0, 16, 16, 32};
|
||||
rcRight[1] = {16, 16, 32, 32};
|
||||
rcRight[2] = {32, 16, 48, 32};
|
||||
RECT rcRight[3] = {
|
||||
{0, 16, 16, 32},
|
||||
{16, 16, 32, 32},
|
||||
{32, 16, 48, 32},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -771,18 +775,19 @@ void ActNpc065(NPCHAR *npc)
|
|||
npc->x += npc->xm;
|
||||
npc->y += npc->ym;
|
||||
|
||||
RECT rect_left[4];
|
||||
RECT rect_right[4];
|
||||
RECT rect_left[4] = {
|
||||
{32, 32, 48, 48},
|
||||
{48, 32, 64, 48},
|
||||
{64, 32, 80, 48},
|
||||
{80, 32, 96, 48},
|
||||
};
|
||||
|
||||
rect_left[0] = {32, 32, 48, 48};
|
||||
rect_left[1] = {48, 32, 64, 48};
|
||||
rect_left[2] = {64, 32, 80, 48};
|
||||
rect_left[3] = {80, 32, 96, 48};
|
||||
|
||||
rect_right[0] = {32, 48, 48, 64};
|
||||
rect_right[1] = {48, 48, 64, 64};
|
||||
rect_right[2] = {64, 48, 80, 64};
|
||||
rect_right[3] = {80, 48, 96, 64};
|
||||
RECT rect_right[4] = {
|
||||
{32, 48, 48, 64},
|
||||
{48, 48, 64, 64},
|
||||
{64, 48, 80, 64},
|
||||
{80, 48, 96, 64},
|
||||
};
|
||||
|
||||
if (++npc->ani_wait > 1)
|
||||
{
|
||||
|
@ -802,12 +807,12 @@ void ActNpc065(NPCHAR *npc)
|
|||
//Misery bubble
|
||||
void ActNpc066(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[4];
|
||||
|
||||
rect[0] = {32, 192, 56, 216};
|
||||
rect[1] = {56, 192, 80, 216};
|
||||
rect[2] = {32, 216, 56, 240};
|
||||
rect[3] = {56, 216, 80, 240};
|
||||
RECT rect[4] = {
|
||||
{32, 192, 56, 216},
|
||||
{56, 192, 80, 216},
|
||||
{32, 216, 56, 240},
|
||||
{56, 216, 80, 240},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -996,26 +1001,27 @@ void ActNpc067(NPCHAR *npc)
|
|||
npc->x += npc->xm;
|
||||
npc->y += npc->ym;
|
||||
|
||||
RECT rcLeft[8];
|
||||
RECT rcRight[8];
|
||||
RECT rcLeft[8] = {
|
||||
{80, 0, 96, 16},
|
||||
{96, 0, 112, 16},
|
||||
{112, 0, 128, 16},
|
||||
{128, 0, 144, 16},
|
||||
{144, 0, 160, 16},
|
||||
{160, 0, 176, 16},
|
||||
{176, 0, 192, 16},
|
||||
{144, 0, 160, 16},
|
||||
};
|
||||
|
||||
rcLeft[0] = {80, 0, 96, 16};
|
||||
rcLeft[1] = {96, 0, 112, 16};
|
||||
rcLeft[2] = {112, 0, 128, 16};
|
||||
rcLeft[3] = {128, 0, 144, 16};
|
||||
rcLeft[4] = {144, 0, 160, 16};
|
||||
rcLeft[5] = {160, 0, 176, 16};
|
||||
rcLeft[6] = {176, 0, 192, 16};
|
||||
rcLeft[7] = {144, 0, 160, 16};
|
||||
|
||||
rcRight[0] = {80, 16, 96, 32};
|
||||
rcRight[1] = {96, 16, 112, 32};
|
||||
rcRight[2] = {112, 16, 128, 32};
|
||||
rcRight[3] = {128, 16, 144, 32};
|
||||
rcRight[4] = {144, 16, 160, 32};
|
||||
rcRight[5] = {160, 16, 176, 32};
|
||||
rcRight[6] = {176, 16, 192, 32};
|
||||
rcRight[7] = {144, 16, 160, 32};
|
||||
RECT rcRight[8] = {
|
||||
{80, 16, 96, 32},
|
||||
{96, 16, 112, 32},
|
||||
{112, 16, 128, 32},
|
||||
{128, 16, 144, 32},
|
||||
{144, 16, 160, 32},
|
||||
{160, 16, 176, 32},
|
||||
{176, 16, 192, 32},
|
||||
{144, 16, 160, 32},
|
||||
};
|
||||
|
||||
if (npc->act_no == 11)
|
||||
{
|
||||
|
@ -1239,28 +1245,29 @@ void ActNpc068(NPCHAR *npc)
|
|||
npc->x += npc->xm;
|
||||
npc->y += npc->ym;
|
||||
|
||||
RECT rect_left[9];
|
||||
RECT rect_right[9];
|
||||
RECT rect_left[9] = {
|
||||
{0, 0, 40, 24},
|
||||
{0, 48, 40, 72},
|
||||
{0, 0, 40, 24},
|
||||
{40, 48, 80, 72},
|
||||
{0, 0, 40, 24},
|
||||
{80, 48, 120, 72},
|
||||
{120, 48, 160, 72},
|
||||
{120, 0, 160, 24},
|
||||
{80, 0, 120, 24},
|
||||
};
|
||||
|
||||
rect_left[0] = {0, 0, 40, 24};
|
||||
rect_left[1] = {0, 48, 40, 72};
|
||||
rect_left[2] = {0, 0, 40, 24};
|
||||
rect_left[3] = {40, 48, 80, 72};
|
||||
rect_left[4] = {0, 0, 40, 24};
|
||||
rect_left[5] = {80, 48, 120, 72};
|
||||
rect_left[6] = {120, 48, 160, 72};
|
||||
rect_left[7] = {120, 0, 160, 24};
|
||||
rect_left[8] = {80, 0, 120, 24};
|
||||
|
||||
rect_right[0] = {0, 24, 40, 48};
|
||||
rect_right[1] = {0, 72, 40, 96};
|
||||
rect_right[2] = {0, 24, 40, 48};
|
||||
rect_right[3] = {40, 72, 80, 96};
|
||||
rect_right[4] = {0, 24, 40, 48};
|
||||
rect_right[5] = {80, 72, 120, 96};
|
||||
rect_right[6] = {120, 72, 160, 96};
|
||||
rect_right[7] = {120, 24, 160, 48};
|
||||
rect_right[8] = {80, 24, 120, 48};
|
||||
RECT rect_right[9] = {
|
||||
{0, 24, 40, 48},
|
||||
{0, 72, 40, 96},
|
||||
{0, 24, 40, 48},
|
||||
{40, 72, 80, 96},
|
||||
{0, 24, 40, 48},
|
||||
{80, 72, 120, 96},
|
||||
{120, 72, 160, 96},
|
||||
{120, 24, 160, 48},
|
||||
{80, 24, 120, 48},
|
||||
};
|
||||
|
||||
if (npc->direct == 0)
|
||||
npc->rect = rect_left[npc->ani_no];
|
||||
|
@ -1271,22 +1278,23 @@ void ActNpc068(NPCHAR *npc)
|
|||
//Sparkle
|
||||
void ActNpc069(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[6];
|
||||
RECT rcRight[6];
|
||||
RECT rcLeft[6] = {
|
||||
{48, 0, 64, 16},
|
||||
{64, 0, 80, 16},
|
||||
{80, 0, 96, 16},
|
||||
{96, 0, 112, 16},
|
||||
{48, 0, 64, 16},
|
||||
{112, 0, 128, 16},
|
||||
};
|
||||
|
||||
rcLeft[0] = {48, 0, 64, 16};
|
||||
rcLeft[1] = {64, 0, 80, 16};
|
||||
rcLeft[2] = {80, 0, 96, 16};
|
||||
rcLeft[3] = {96, 0, 112, 16};
|
||||
rcLeft[4] = {48, 0, 64, 16};
|
||||
rcLeft[5] = {112, 0, 128, 16};
|
||||
|
||||
rcRight[0] = {48, 16, 64, 32};
|
||||
rcRight[1] = {64, 16, 80, 32};
|
||||
rcRight[2] = {80, 16, 96, 32};
|
||||
rcRight[3] = {96, 16, 112, 32};
|
||||
rcRight[4] = {48, 16, 64, 32};
|
||||
rcRight[5] = {112, 16, 128, 32};
|
||||
RECT rcRight[6] = {
|
||||
{48, 16, 64, 32},
|
||||
{64, 16, 80, 32},
|
||||
{80, 16, 96, 32},
|
||||
{96, 16, 112, 32},
|
||||
{48, 16, 64, 32},
|
||||
{112, 16, 128, 32},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1407,12 +1415,12 @@ void ActNpc069(NPCHAR *npc)
|
|||
//Sparkle
|
||||
void ActNpc070(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[4];
|
||||
|
||||
rect[0] = {96, 48, 112, 64};
|
||||
rect[1] = {112, 48, 128, 64};
|
||||
rect[2] = {128, 48, 144, 64};
|
||||
rect[3] = {144, 48, 160, 64};
|
||||
RECT rect[4] = {
|
||||
{96, 48, 112, 64},
|
||||
{112, 48, 128, 64},
|
||||
{128, 48, 144, 64},
|
||||
{144, 48, 160, 64},
|
||||
};
|
||||
|
||||
if (++npc->ani_wait > 3)
|
||||
{
|
||||
|
@ -1454,34 +1462,17 @@ void ActNpc071(NPCHAR *npc)
|
|||
npc->x += npc->xm;
|
||||
npc->y += npc->ym;
|
||||
|
||||
RECT rcLeft[3];
|
||||
RECT rcRight[3];
|
||||
RECT rcLeft[3] = {
|
||||
{64, 32, 80, 48},
|
||||
{80, 32, 96, 48},
|
||||
{96, 32, 112, 48},
|
||||
};
|
||||
|
||||
rcLeft[0].left = 64;
|
||||
rcLeft[0].top = 32;
|
||||
rcLeft[0].right = 80;
|
||||
rcLeft[0].bottom = 48;
|
||||
rcLeft[1].left = 80;
|
||||
rcLeft[1].top = 32;
|
||||
rcLeft[1].right = 96;
|
||||
rcLeft[1].bottom = 48;
|
||||
rcLeft[2].left = 96;
|
||||
rcLeft[2].top = 32;
|
||||
rcLeft[2].right = 112;
|
||||
rcLeft[2].bottom = 48;
|
||||
|
||||
rcRight[0].left = 64;
|
||||
rcRight[0].top = 48;
|
||||
rcRight[0].right = 80;
|
||||
rcRight[0].bottom = 64;
|
||||
rcRight[1].left = 80;
|
||||
rcRight[1].top = 48;
|
||||
rcRight[1].right = 96;
|
||||
rcRight[1].bottom = 64;
|
||||
rcRight[2].left = 96;
|
||||
rcRight[2].top = 48;
|
||||
rcRight[2].right = 112;
|
||||
rcRight[2].bottom = 64;
|
||||
RECT rcRight[3] = {
|
||||
{64, 48, 80, 64},
|
||||
{80, 48, 96, 64},
|
||||
{96, 48, 112, 64},
|
||||
};
|
||||
|
||||
if (++npc->ani_wait > 4)
|
||||
{
|
||||
|
@ -1527,10 +1518,10 @@ void ActNpc072(NPCHAR *npc)
|
|||
}
|
||||
}
|
||||
|
||||
RECT rect[2];
|
||||
|
||||
rect[0] = {224, 48, 240, 64};
|
||||
rect[1] = {240, 48, 256, 64};
|
||||
RECT rect[2] = {
|
||||
{224, 48, 240, 64},
|
||||
{240, 48, 256, 64},
|
||||
};
|
||||
|
||||
npc->rect = rect[npc->ani_no];
|
||||
}
|
||||
|
@ -1538,13 +1529,13 @@ void ActNpc072(NPCHAR *npc)
|
|||
//Water droplet
|
||||
void ActNpc073(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[5];
|
||||
|
||||
rect[0] = {72, 16, 74, 18};
|
||||
rect[1] = {74, 16, 76, 18};
|
||||
rect[2] = {76, 16, 78, 18};
|
||||
rect[3] = {78, 16, 80, 18};
|
||||
rect[4] = {80, 16, 82, 18};
|
||||
RECT rect[5] = {
|
||||
{72, 16, 74, 18},
|
||||
{74, 16, 76, 18},
|
||||
{76, 16, 78, 18},
|
||||
{78, 16, 80, 18},
|
||||
{80, 16, 82, 18},
|
||||
};
|
||||
|
||||
npc->ym += 0x20;
|
||||
npc->ani_no = Random(0, 4);
|
||||
|
@ -1582,22 +1573,23 @@ void ActNpc073(NPCHAR *npc)
|
|||
// Jack
|
||||
void ActNpc074(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[6];
|
||||
RECT rcRight[6];
|
||||
RECT rcLeft[6] = {
|
||||
{64, 0, 80, 16},
|
||||
{80, 0, 96, 16},
|
||||
{96, 0, 112, 16},
|
||||
{64, 0, 80, 16},
|
||||
{112, 0, 128, 16},
|
||||
{64, 0, 80, 16},
|
||||
};
|
||||
|
||||
rcLeft[0] = {64, 0, 80, 16};
|
||||
rcLeft[1] = {80, 0, 96, 16};
|
||||
rcLeft[2] = {96, 0, 112, 16};
|
||||
rcLeft[3] = {64, 0, 80, 16};
|
||||
rcLeft[4] = {112, 0, 128, 16};
|
||||
rcLeft[5] = {64, 0, 80, 16};
|
||||
|
||||
rcRight[0] = {64, 16, 80, 32};
|
||||
rcRight[1] = {80, 16, 96, 32};
|
||||
rcRight[2] = {96, 16, 112, 32};
|
||||
rcRight[3] = {64, 16, 80, 32};
|
||||
rcRight[4] = {112, 16, 128, 32};
|
||||
rcRight[5] = {64, 16, 80, 32};
|
||||
RECT rcRight[6] = {
|
||||
{64, 16, 80, 32},
|
||||
{80, 16, 96, 32},
|
||||
{96, 16, 112, 32},
|
||||
{64, 16, 80, 32},
|
||||
{112, 16, 128, 32},
|
||||
{64, 16, 80, 32},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1671,16 +1663,10 @@ void ActNpc074(NPCHAR *npc)
|
|||
// Kanpachi (fishing)
|
||||
void ActNpc075(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
|
||||
rcLeft[0].left = 272;
|
||||
rcLeft[0].top = 32;
|
||||
rcLeft[0].right = 296;
|
||||
rcLeft[0].bottom = 56;
|
||||
rcLeft[1].left = 296;
|
||||
rcLeft[1].top = 32;
|
||||
rcLeft[1].right = 320;
|
||||
rcLeft[1].bottom = 56;
|
||||
RECT rcLeft[2] = {
|
||||
{272, 32, 296, 56},
|
||||
{296, 32, 320, 56},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1704,17 +1690,20 @@ void ActNpc075(NPCHAR *npc)
|
|||
//Flowers
|
||||
void ActNpc076(NPCHAR *npc)
|
||||
{
|
||||
npc->rect = {16 * npc->code_event, 0, npc->rect.left + 16, 16};
|
||||
npc->rect.left = 16 * npc->code_event;
|
||||
npc->rect.top = 0;
|
||||
npc->rect.right = npc->rect.left + 16;
|
||||
npc->rect.bottom = 16;
|
||||
}
|
||||
|
||||
//Yamashita
|
||||
void ActNpc077(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[3];
|
||||
|
||||
rc[0] = {0, 16, 48, 48};
|
||||
rc[1] = {48, 16, 96, 48};
|
||||
rc[2] = {96, 16, 144, 48};
|
||||
RECT rc[3] = {
|
||||
{0, 16, 48, 48},
|
||||
{48, 16, 96, 48},
|
||||
{96, 16, 144, 48},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1752,10 +1741,10 @@ void ActNpc077(NPCHAR *npc)
|
|||
// Pot
|
||||
void ActNpc078(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[2];
|
||||
|
||||
rc[0] = {160, 48, 176, 64};
|
||||
rc[1] = {176, 48, 192, 64};
|
||||
RECT rc[2] = {
|
||||
{160, 48, 176, 64},
|
||||
{176, 48, 192, 64},
|
||||
};
|
||||
|
||||
if (npc->direct == 0)
|
||||
npc->rect = rc[0];
|
||||
|
@ -1766,16 +1755,17 @@ void ActNpc078(NPCHAR *npc)
|
|||
// Mahin the sex god
|
||||
void ActNpc079(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[3];
|
||||
RECT rcRight[3];
|
||||
RECT rcLeft[3] = {
|
||||
{0, 0, 16, 16},
|
||||
{16, 0, 32, 16},
|
||||
{32, 0, 48, 16},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 0, 16, 16};
|
||||
rcLeft[1] = {16, 0, 32, 16};
|
||||
rcLeft[2] = {32, 0, 48, 16};
|
||||
|
||||
rcRight[0] = {0, 16, 16, 32};
|
||||
rcRight[1] = {16, 16, 32, 32};
|
||||
rcRight[2] = {32, 16, 48, 32};
|
||||
RECT rcRight[3] = {
|
||||
{0, 16, 16, 32},
|
||||
{16, 16, 32, 32},
|
||||
{32, 16, 48, 32},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
|
|
@ -16,24 +16,25 @@
|
|||
//Gravekeeper
|
||||
void ActNpc080(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[7];
|
||||
RECT rcRight[7];
|
||||
RECT rcLeft[7] = {
|
||||
{0, 64, 24, 88},
|
||||
{24, 64, 48, 88},
|
||||
{0, 64, 24, 88},
|
||||
{48, 64, 72, 88},
|
||||
{72, 64, 96, 88},
|
||||
{96, 64, 120, 88},
|
||||
{120, 64, 144, 88},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 64, 24, 88};
|
||||
rcLeft[1] = {24, 64, 48, 88};
|
||||
rcLeft[2] = {0, 64, 24, 88};
|
||||
rcLeft[3] = {48, 64, 72, 88};
|
||||
rcLeft[4] = {72, 64, 96, 88};
|
||||
rcLeft[5] = {96, 64, 120, 88};
|
||||
rcLeft[6] = {120, 64, 144, 88};
|
||||
|
||||
rcRight[0] = {0, 88, 24, 112};
|
||||
rcRight[1] = {24, 88, 48, 112};
|
||||
rcRight[2] = {0, 88, 24, 112};
|
||||
rcRight[3] = {48, 88, 72, 112};
|
||||
rcRight[4] = {72, 88, 96, 112};
|
||||
rcRight[5] = {96, 88, 120, 112};
|
||||
rcRight[6] = {120, 88, 144, 112};
|
||||
RECT rcRight[7] = {
|
||||
{0, 88, 24, 112},
|
||||
{24, 88, 48, 112},
|
||||
{0, 88, 24, 112},
|
||||
{48, 88, 72, 112},
|
||||
{72, 88, 96, 112},
|
||||
{96, 88, 120, 112},
|
||||
{120, 88, 144, 112},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -174,22 +175,23 @@ void ActNpc080(NPCHAR *npc)
|
|||
//Giant pignon
|
||||
void ActNpc081(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[6];
|
||||
RECT rcRight[6];
|
||||
RECT rcLeft[6] = {
|
||||
{144, 64, 168, 88},
|
||||
{168, 64, 192, 88},
|
||||
{192, 64, 216, 88},
|
||||
{216, 64, 240, 88},
|
||||
{144, 64, 168, 88},
|
||||
{240, 64, 264, 88},
|
||||
};
|
||||
|
||||
rcLeft[0] = {144, 64, 168, 88};
|
||||
rcLeft[1] = {168, 64, 192, 88};
|
||||
rcLeft[2] = {192, 64, 216, 88};
|
||||
rcLeft[3] = {216, 64, 240, 88};
|
||||
rcLeft[4] = {144, 64, 168, 88};
|
||||
rcLeft[5] = {240, 64, 264, 88};
|
||||
|
||||
rcRight[0] = {144, 88, 168, 112};
|
||||
rcRight[1] = {168, 88, 192, 112};
|
||||
rcRight[2] = {192, 88, 216, 112};
|
||||
rcRight[3] = {216, 88, 240, 112};
|
||||
rcRight[4] = {144, 88, 168, 112};
|
||||
rcRight[5] = {240, 88, 264, 112};
|
||||
RECT rcRight[6] = {
|
||||
{144, 88, 168, 112},
|
||||
{168, 88, 192, 112},
|
||||
{192, 88, 216, 112},
|
||||
{216, 88, 240, 112},
|
||||
{144, 88, 168, 112},
|
||||
{240, 88, 264, 112},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -454,28 +456,29 @@ void ActNpc082(NPCHAR *npc)
|
|||
npc->x += npc->xm;
|
||||
npc->y += npc->ym;
|
||||
|
||||
RECT rcLeft[9];
|
||||
RECT rcRight[9];
|
||||
RECT rcLeft[9] = {
|
||||
{80, 0, 96, 16},
|
||||
{96, 0, 112, 16},
|
||||
{112, 0, 128, 16},
|
||||
{128, 0, 144, 16},
|
||||
{144, 0, 160, 16},
|
||||
{160, 0, 176, 16},
|
||||
{176, 0, 192, 16},
|
||||
{144, 0, 160, 16},
|
||||
{208, 64, 224, 80},
|
||||
};
|
||||
|
||||
rcLeft[0] = {80, 0, 96, 16};
|
||||
rcLeft[1] = {96, 0, 112, 16};
|
||||
rcLeft[2] = {112, 0, 128, 16};
|
||||
rcLeft[3] = {128, 0, 144, 16};
|
||||
rcLeft[4] = {144, 0, 160, 16};
|
||||
rcLeft[5] = {160, 0, 176, 16};
|
||||
rcLeft[6] = {176, 0, 192, 16};
|
||||
rcLeft[7] = {144, 0, 160, 16};
|
||||
rcLeft[8] = {208, 64, 224, 80};
|
||||
|
||||
rcRight[0] = {80, 16, 96, 32};
|
||||
rcRight[1] = {96, 16, 112, 32};
|
||||
rcRight[2] = {112, 16, 128, 32};
|
||||
rcRight[3] = {128, 16, 144, 32};
|
||||
rcRight[4] = {144, 16, 160, 32};
|
||||
rcRight[5] = {160, 16, 176, 32};
|
||||
rcRight[6] = {176, 16, 192, 32};
|
||||
rcRight[7] = {144, 16, 160, 32};
|
||||
rcRight[8] = {208, 80, 224, 96};
|
||||
RECT rcRight[9] = {
|
||||
{80, 16, 96, 32},
|
||||
{96, 16, 112, 32},
|
||||
{112, 16, 128, 32},
|
||||
{128, 16, 144, 32},
|
||||
{144, 16, 160, 32},
|
||||
{160, 16, 176, 32},
|
||||
{176, 16, 192, 32},
|
||||
{144, 16, 160, 32},
|
||||
{208, 80, 224, 96},
|
||||
};
|
||||
|
||||
if (npc->act_no == 11)
|
||||
{
|
||||
|
@ -518,26 +521,27 @@ void ActNpc082(NPCHAR *npc)
|
|||
//Igor (cutscene)
|
||||
void ActNpc083(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[8];
|
||||
RECT rcRight[8];
|
||||
RECT rcLeft[8] = {
|
||||
{0, 0, 40, 40},
|
||||
{40, 0, 80, 40},
|
||||
{80, 0, 120, 40},
|
||||
{0, 0, 40, 40},
|
||||
{120, 0, 160, 40},
|
||||
{0, 0, 40, 40},
|
||||
{160, 0, 200, 40},
|
||||
{200, 0, 240, 40},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 0, 40, 40};
|
||||
rcLeft[1] = {40, 0, 80, 40};
|
||||
rcLeft[2] = {80, 0, 120, 40};
|
||||
rcLeft[3] = {0, 0, 40, 40};
|
||||
rcLeft[4] = {120, 0, 160, 40};
|
||||
rcLeft[5] = {0, 0, 40, 40};
|
||||
rcLeft[6] = {160, 0, 200, 40};
|
||||
rcLeft[7] = {200, 0, 240, 40};
|
||||
|
||||
rcRight[0] = {0, 40, 40, 80};
|
||||
rcRight[1] = {40, 40, 80, 80};
|
||||
rcRight[2] = {80, 40, 120, 80};
|
||||
rcRight[3] = {0, 40, 40, 80};
|
||||
rcRight[4] = {120, 40, 160, 80};
|
||||
rcRight[5] = {0, 40, 40, 80};
|
||||
rcRight[6] = {160, 40, 200, 80};
|
||||
rcRight[7] = {200, 40, 240, 80};
|
||||
RECT rcRight[8] = {
|
||||
{0, 40, 40, 80},
|
||||
{40, 40, 80, 80},
|
||||
{80, 40, 120, 80},
|
||||
{0, 40, 40, 80},
|
||||
{120, 40, 160, 80},
|
||||
{0, 40, 40, 80},
|
||||
{160, 40, 200, 80},
|
||||
{200, 40, 240, 80},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -637,12 +641,12 @@ void ActNpc084(NPCHAR *npc)
|
|||
npc->y += npc->ym;
|
||||
npc->x += npc->xm;
|
||||
|
||||
RECT rect_left[4];
|
||||
|
||||
rect_left[0] = {48, 48, 64, 64};
|
||||
rect_left[1] = {64, 48, 80, 64};
|
||||
rect_left[2] = {48, 64, 64, 80};
|
||||
rect_left[3] = {64, 64, 80, 80};
|
||||
RECT rect_left[4] = {
|
||||
{48, 48, 64, 64},
|
||||
{64, 48, 80, 64},
|
||||
{48, 64, 64, 80},
|
||||
{64, 64, 80, 80},
|
||||
};
|
||||
|
||||
if (++npc->ani_wait > 2)
|
||||
{
|
||||
|
@ -665,16 +669,17 @@ void ActNpc084(NPCHAR *npc)
|
|||
// Terminal
|
||||
void ActNpc085(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[3];
|
||||
RECT rcRight[3];
|
||||
RECT rcLeft[3] = {
|
||||
{256, 96, 272, 120},
|
||||
{256, 96, 272, 120},
|
||||
{272, 96, 288, 120},
|
||||
};
|
||||
|
||||
rcLeft[0] = {256, 96, 272, 120};
|
||||
rcLeft[1] = {256, 96, 272, 120};
|
||||
rcLeft[2] = {272, 96, 288, 120};
|
||||
|
||||
rcRight[0] = {256, 96, 272, 120};
|
||||
rcRight[1] = {288, 96, 304, 120};
|
||||
rcRight[2] = {304, 96, 320, 120};
|
||||
RECT rcRight[3] = {
|
||||
{256, 96, 272, 120},
|
||||
{288, 96, 304, 120},
|
||||
{304, 96, 320, 120},
|
||||
};
|
||||
|
||||
switch(npc->act_no)
|
||||
{
|
||||
|
@ -705,17 +710,17 @@ void ActNpc085(NPCHAR *npc)
|
|||
// Missile
|
||||
void ActNpc086(NPCHAR *npc)
|
||||
{
|
||||
RECT rect1[2];
|
||||
RECT rect3[2];
|
||||
RECT rcLast[1];
|
||||
RECT rect1[2] = {
|
||||
{0, 80, 16, 96},
|
||||
{16, 80, 32, 96},
|
||||
};
|
||||
|
||||
rect1[0] = {0, 80, 16, 96};
|
||||
rect1[1] = {16, 80, 32, 96};
|
||||
RECT rect3[2] = {
|
||||
{0, 112, 16, 128},
|
||||
{16, 112, 32, 128},
|
||||
};
|
||||
|
||||
rect3[0] = {0, 112, 16, 128};
|
||||
rect3[1] = {16, 112, 32, 128};
|
||||
|
||||
rcLast[0] = {16, 0, 32, 16};
|
||||
RECT rcLast = {16, 0, 32, 16};
|
||||
|
||||
if (npc->direct == 0)
|
||||
{
|
||||
|
@ -780,23 +785,23 @@ void ActNpc086(NPCHAR *npc)
|
|||
npc->rect.right = 0;
|
||||
|
||||
if (npc->count1 > 547)
|
||||
npc->rect = rcLast[0];;
|
||||
npc->rect = rcLast;
|
||||
}
|
||||
|
||||
// Heart
|
||||
void ActNpc087(NPCHAR *npc)
|
||||
{
|
||||
RECT rect2[5];
|
||||
RECT rect6[2];
|
||||
RECT rcLast[1];
|
||||
RECT rect2[2] = {
|
||||
{32, 80, 48, 96},
|
||||
{48, 80, 64, 96},
|
||||
};
|
||||
|
||||
rect2[0] = {32, 80, 48, 96};
|
||||
rect2[1] = {48, 80, 64, 96};
|
||||
RECT rect6[2] = {
|
||||
{64, 80, 80, 96},
|
||||
{80, 80, 96, 96},
|
||||
};
|
||||
|
||||
rect6[0] = {64, 80, 80, 96};
|
||||
rect6[1] = {80, 80, 96, 96};
|
||||
|
||||
rcLast[0] = {16, 0, 32, 16};
|
||||
RECT rcLast = {16, 0, 32, 16};
|
||||
|
||||
if (npc->direct == 0)
|
||||
{
|
||||
|
@ -861,40 +866,41 @@ void ActNpc087(NPCHAR *npc)
|
|||
npc->rect.right = 0;
|
||||
|
||||
if (npc->count1 > 547)
|
||||
npc->rect = rcLast[0];
|
||||
npc->rect = rcLast;
|
||||
}
|
||||
|
||||
// Igor (boss)
|
||||
void ActNpc088(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[12];
|
||||
RECT rcRight[12];
|
||||
RECT rcLeft[12] = {
|
||||
{0, 0, 40, 40},
|
||||
{40, 0, 80, 40},
|
||||
{80, 0, 120, 40},
|
||||
{0, 0, 40, 40},
|
||||
{120, 0, 160, 40},
|
||||
{0, 0, 40, 40},
|
||||
{160, 0, 200, 40},
|
||||
{200, 0, 240, 40},
|
||||
{0, 80, 40, 120},
|
||||
{40, 80, 80, 120},
|
||||
{240, 0, 280, 40},
|
||||
{280, 0, 320, 40},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 0, 40, 40};
|
||||
rcLeft[1] = {40, 0, 80, 40};
|
||||
rcLeft[2] = {80, 0, 120, 40};
|
||||
rcLeft[3] = {0, 0, 40, 40};
|
||||
rcLeft[4] = {120, 0, 160, 40};
|
||||
rcLeft[5] = {0, 0, 40, 40};
|
||||
rcLeft[6] = {160, 0, 200, 40};
|
||||
rcLeft[7] = {200, 0, 240, 40};
|
||||
rcLeft[8] = {0, 80, 40, 120};
|
||||
rcLeft[9] = {40, 80, 80, 120};
|
||||
rcLeft[10] = {240, 0, 280, 40};
|
||||
rcLeft[11] = {280, 0, 320, 40};
|
||||
|
||||
rcRight[0] = {0, 40, 40, 80};
|
||||
rcRight[1] = {40, 40, 80, 80};
|
||||
rcRight[2] = {80, 40, 120, 80};
|
||||
rcRight[3] = {0, 40, 40, 80};
|
||||
rcRight[4] = {120, 40, 160, 80};
|
||||
rcRight[5] = {0, 40, 40, 80};
|
||||
rcRight[6] = {160, 40, 200, 80};
|
||||
rcRight[7] = {200, 40, 240, 80};
|
||||
rcRight[8] = {120, 80, 160, 120};
|
||||
rcRight[9] = {160, 80, 200, 120};
|
||||
rcRight[10] = {240, 40, 280, 80};
|
||||
rcRight[11] = {280, 40, 320, 80};
|
||||
RECT rcRight[12] = {
|
||||
{0, 40, 40, 80},
|
||||
{40, 40, 80, 80},
|
||||
{80, 40, 120, 80},
|
||||
{0, 40, 40, 80},
|
||||
{120, 40, 160, 80},
|
||||
{0, 40, 40, 80},
|
||||
{160, 40, 200, 80},
|
||||
{200, 40, 240, 80},
|
||||
{120, 80, 160, 120},
|
||||
{160, 80, 200, 120},
|
||||
{240, 40, 280, 80},
|
||||
{280, 40, 320, 80},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1112,18 +1118,19 @@ void ActNpc088(NPCHAR *npc)
|
|||
// Igor (defeated)
|
||||
void ActNpc089(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[4];
|
||||
RECT rcRight[4];
|
||||
RECT rcLeft[4] = {
|
||||
{80, 80, 120, 120},
|
||||
{240, 80, 264, 104},
|
||||
{264, 80, 288, 104},
|
||||
{288, 80, 312, 104},
|
||||
};
|
||||
|
||||
rcLeft[0] = {80, 80, 120, 120};
|
||||
rcLeft[1] = {240, 80, 264, 104};
|
||||
rcLeft[2] = {264, 80, 288, 104};
|
||||
rcLeft[3] = {288, 80, 312, 104};
|
||||
|
||||
rcRight[0] = {200, 80, 240, 120};
|
||||
rcRight[1] = {240, 104, 264, 128};
|
||||
rcRight[2] = {264, 104, 288, 128};
|
||||
rcRight[3] = {288, 104, 312, 128};
|
||||
RECT rcRight[4] = {
|
||||
{200, 80, 240, 120},
|
||||
{240, 104, 264, 128},
|
||||
{264, 104, 288, 128},
|
||||
{288, 104, 312, 128},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1222,19 +1229,15 @@ void ActNpc089(NPCHAR *npc)
|
|||
// Unknown
|
||||
void ActNpc090(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[1];
|
||||
RECT rect = {280, 80, 296, 104};
|
||||
|
||||
rect[0] = {280, 80, 296, 104};
|
||||
|
||||
npc->rect = rect[0];
|
||||
npc->rect = rect;
|
||||
}
|
||||
|
||||
// Cage
|
||||
void ActNpc091(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[1];
|
||||
|
||||
rect[0] = {96, 88, 128, 112};
|
||||
RECT rect = {96, 88, 128, 112};
|
||||
|
||||
if (npc->act_no == 0)
|
||||
{
|
||||
|
@ -1242,17 +1245,17 @@ void ActNpc091(NPCHAR *npc)
|
|||
npc->y += 0x10 * 0x200;
|
||||
}
|
||||
|
||||
npc->rect = rect[0];
|
||||
npc->rect = rect;
|
||||
}
|
||||
|
||||
// Sue at PC
|
||||
void ActNpc092(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[3];
|
||||
|
||||
rcLeft[0] = {272, 216, 288, 240};
|
||||
rcLeft[1] = {288, 216, 304, 240};
|
||||
rcLeft[2] = {304, 216, 320, 240};
|
||||
RECT rcLeft[3] = {
|
||||
{272, 216, 288, 240},
|
||||
{288, 216, 304, 240},
|
||||
{304, 216, 320, 240},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1315,24 +1318,25 @@ void ActNpc092(NPCHAR *npc)
|
|||
//Chaco
|
||||
void ActNpc093(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[7];
|
||||
RECT rcRight[7];
|
||||
RECT rcLeft[7] = {
|
||||
{128, 0, 144, 16},
|
||||
{144, 0, 160, 16},
|
||||
{160, 0, 176, 16},
|
||||
{128, 0, 144, 16},
|
||||
{176, 0, 192, 16},
|
||||
{128, 0, 144, 16},
|
||||
{32, 32, 48, 48},
|
||||
};
|
||||
|
||||
rcLeft[0] = {128, 0, 144, 16};
|
||||
rcLeft[1] = {144, 0, 160, 16};
|
||||
rcLeft[2] = {160, 0, 176, 16};
|
||||
rcLeft[3] = {128, 0, 144, 16};
|
||||
rcLeft[4] = {176, 0, 192, 16};
|
||||
rcLeft[5] = {128, 0, 144, 16};
|
||||
rcLeft[6] = {32, 32, 48, 48};
|
||||
|
||||
rcRight[0] = {128, 16, 144, 32};
|
||||
rcRight[1] = {144, 16, 160, 32};
|
||||
rcRight[2] = {160, 16, 176, 32};
|
||||
rcRight[3] = {128, 16, 144, 32};
|
||||
rcRight[4] = {176, 16, 192, 32};
|
||||
rcRight[5] = {128, 16, 144, 32};
|
||||
rcRight[6] = {32, 32, 48, 48};
|
||||
RECT rcRight[7] = {
|
||||
{128, 16, 144, 32},
|
||||
{144, 16, 160, 32},
|
||||
{160, 16, 176, 32},
|
||||
{128, 16, 144, 32},
|
||||
{176, 16, 192, 32},
|
||||
{128, 16, 144, 32},
|
||||
{32, 32, 48, 48},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1411,13 +1415,13 @@ void ActNpc093(NPCHAR *npc)
|
|||
//Kulala
|
||||
void ActNpc094(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[5];
|
||||
|
||||
rect[0] = {272, 0, 320, 24};
|
||||
rect[1] = {272, 24, 320, 48};
|
||||
rect[2] = {272, 48, 320, 72};
|
||||
rect[3] = {272, 72, 320, 96};
|
||||
rect[4] = {272, 96, 320, 120};
|
||||
RECT rect[5] = {
|
||||
{272, 0, 320, 24},
|
||||
{272, 24, 320, 48},
|
||||
{272, 48, 320, 72},
|
||||
{272, 72, 320, 96},
|
||||
{272, 96, 320, 120},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1560,18 +1564,19 @@ void ActNpc094(NPCHAR *npc)
|
|||
//Jelly
|
||||
void ActNpc095(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[4];
|
||||
RECT rcRight[4];
|
||||
RECT rcLeft[4] = {
|
||||
{208, 64, 224, 80},
|
||||
{224, 64, 240, 80},
|
||||
{240, 64, 256, 80},
|
||||
{256, 64, 272, 80},
|
||||
};
|
||||
|
||||
rcLeft[0] = {208, 64, 224, 80};
|
||||
rcLeft[1] = {224, 64, 240, 80};
|
||||
rcLeft[2] = {240, 64, 256, 80};
|
||||
rcLeft[3] = {256, 64, 272, 80};
|
||||
|
||||
rcRight[0] = {208, 80, 224, 96};
|
||||
rcRight[1] = {224, 80, 240, 96};
|
||||
rcRight[2] = {240, 80, 256, 96};
|
||||
rcRight[3] = {256, 80, 272, 96};
|
||||
RECT rcRight[4] = {
|
||||
{208, 80, 224, 96},
|
||||
{224, 80, 240, 96},
|
||||
{240, 80, 256, 96},
|
||||
{256, 80, 272, 96},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1692,11 +1697,11 @@ void ActNpc095(NPCHAR *npc)
|
|||
//Fan (left)
|
||||
void ActNpc096(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[3];
|
||||
|
||||
rc[0] = {272, 120, 288, 136};
|
||||
rc[1] = {288, 120, 304, 136};
|
||||
rc[2] = {304, 120, 320, 136};
|
||||
RECT rc[3] = {
|
||||
{272, 120, 288, 136},
|
||||
{288, 120, 304, 136},
|
||||
{304, 120, 320, 136},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1742,11 +1747,11 @@ void ActNpc096(NPCHAR *npc)
|
|||
//Fan (up)
|
||||
void ActNpc097(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[3];
|
||||
|
||||
rc[0] = {272, 136, 288, 152};
|
||||
rc[1] = {288, 136, 304, 152};
|
||||
rc[2] = {304, 136, 320, 152};
|
||||
RECT rc[3] = {
|
||||
{272, 136, 288, 152},
|
||||
{288, 136, 304, 152},
|
||||
{304, 136, 320, 152},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1789,11 +1794,11 @@ void ActNpc097(NPCHAR *npc)
|
|||
//Fan (right)
|
||||
void ActNpc098(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[3];
|
||||
|
||||
rc[0] = {272, 152, 288, 168};
|
||||
rc[1] = {288, 152, 304, 168};
|
||||
rc[2] = {304, 152, 320, 168};
|
||||
RECT rc[3] = {
|
||||
{272, 152, 288, 168},
|
||||
{288, 152, 304, 168},
|
||||
{304, 152, 320, 168},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1839,11 +1844,11 @@ void ActNpc098(NPCHAR *npc)
|
|||
//Fan (down)
|
||||
void ActNpc099(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[3];
|
||||
|
||||
rc[0] = {272, 168, 288, 184};
|
||||
rc[1] = {288, 168, 304, 184};
|
||||
rc[2] = {304, 168, 320, 184};
|
||||
RECT rc[3] = {
|
||||
{272, 168, 288, 184},
|
||||
{288, 168, 304, 184},
|
||||
{304, 168, 320, 184},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
|
|
@ -15,10 +15,10 @@
|
|||
//Grate
|
||||
void ActNpc100(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[2];
|
||||
|
||||
rc[0] = {272, 48, 288, 64};
|
||||
rc[1] = {272, 48, 288, 64};
|
||||
RECT rc[2] = {
|
||||
{272, 48, 288, 64},
|
||||
{272, 48, 288, 64},
|
||||
};
|
||||
|
||||
if (npc->act_no == 0)
|
||||
{
|
||||
|
@ -35,11 +35,11 @@ void ActNpc100(NPCHAR *npc)
|
|||
//Malco computer screen
|
||||
void ActNpc101(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[3];
|
||||
|
||||
rect[0] = {240, 136, 256, 152};
|
||||
rect[1] = {240, 136, 256, 152};
|
||||
rect[2] = {256, 136, 272, 152};
|
||||
RECT rect[3] = {
|
||||
{240, 136, 256, 152},
|
||||
{240, 136, 256, 152},
|
||||
{256, 136, 272, 152},
|
||||
};
|
||||
|
||||
if (++npc->ani_wait > 3)
|
||||
{
|
||||
|
@ -56,12 +56,12 @@ void ActNpc101(NPCHAR *npc)
|
|||
//Malco computer wave
|
||||
void ActNpc102(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[4];
|
||||
|
||||
rect[0] = {208, 120, 224, 136};
|
||||
rect[1] = {224, 120, 240, 136};
|
||||
rect[2] = {240, 120, 256, 136};
|
||||
rect[3] = {256, 120, 272, 136};
|
||||
RECT rect[4] = {
|
||||
{208, 120, 224, 136},
|
||||
{224, 120, 240, 136},
|
||||
{240, 120, 256, 136},
|
||||
{256, 120, 272, 136},
|
||||
};
|
||||
|
||||
if (npc->act_no == 0)
|
||||
{
|
||||
|
@ -84,16 +84,17 @@ void ActNpc102(NPCHAR *npc)
|
|||
//Mannan projectile
|
||||
void ActNpc103(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[3];
|
||||
RECT rcRight[3];
|
||||
RECT rcLeft[3] = {
|
||||
{192, 96, 208, 120},
|
||||
{208, 96, 224, 120},
|
||||
{224, 96, 240, 120},
|
||||
};
|
||||
|
||||
rcLeft[0] = {192, 96, 208, 120};
|
||||
rcLeft[1] = {208, 96, 224, 120};
|
||||
rcLeft[2] = {224, 96, 240, 120};
|
||||
|
||||
rcRight[0] = {192, 120, 208, 144};
|
||||
rcRight[1] = {208, 120, 224, 144};
|
||||
rcRight[2] = {224, 120, 240, 144};
|
||||
RECT rcRight[3] = {
|
||||
{192, 120, 208, 144},
|
||||
{208, 120, 224, 144},
|
||||
{224, 120, 240, 144},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -135,16 +136,17 @@ void ActNpc103(NPCHAR *npc)
|
|||
//Frog
|
||||
void ActNpc104(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[3];
|
||||
RECT rcRight[3];
|
||||
RECT rcLeft[3] = {
|
||||
{0, 112, 32, 144},
|
||||
{32, 112, 64, 144},
|
||||
{64, 112, 96, 144},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 112, 32, 144};
|
||||
rcLeft[1] = {32, 112, 64, 144};
|
||||
rcLeft[2] = {64, 112, 96, 144};
|
||||
|
||||
rcRight[0] = {0, 144, 32, 176};
|
||||
rcRight[1] = {32, 144, 64, 176};
|
||||
rcRight[2] = {64, 144, 96, 176};
|
||||
RECT rcRight[3] = {
|
||||
{0, 144, 32, 176},
|
||||
{32, 144, 64, 176},
|
||||
{64, 144, 96, 176},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -156,7 +158,7 @@ void ActNpc104(NPCHAR *npc)
|
|||
|
||||
if (npc->direct == 4)
|
||||
{
|
||||
if (Random(0, 1) != 0)
|
||||
if (Random(0, 1))
|
||||
npc->direct = 0;
|
||||
else
|
||||
npc->direct = 2;
|
||||
|
@ -293,10 +295,10 @@ void ActNpc104(NPCHAR *npc)
|
|||
//'HEY!' speech bubble (low)
|
||||
void ActNpc105(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[2];
|
||||
|
||||
rect[0] = {128, 32, 144, 48};
|
||||
rect[1] = {128, 32, 128, 32};
|
||||
RECT rect[2] = {
|
||||
{128, 32, 144, 48},
|
||||
{128, 32, 128, 32},
|
||||
};
|
||||
|
||||
if (++npc->act_wait > 30)
|
||||
npc->cond = 0;
|
||||
|
@ -465,18 +467,18 @@ void ActNpc107(NPCHAR *npc)
|
|||
break;
|
||||
}
|
||||
|
||||
RECT rcPoweron[10];
|
||||
|
||||
rcPoweron[0] = {144, 0, 160, 24};
|
||||
rcPoweron[1] = {160, 0, 176, 24};
|
||||
rcPoweron[2] = {176, 0, 192, 24};
|
||||
rcPoweron[3] = {192, 0, 208, 24};
|
||||
rcPoweron[4] = {208, 0, 224, 24};
|
||||
rcPoweron[5] = {224, 0, 240, 24};
|
||||
rcPoweron[6] = {176, 0, 192, 24};
|
||||
rcPoweron[7] = {192, 0, 208, 24};
|
||||
rcPoweron[8] = {208, 0, 224, 24};
|
||||
rcPoweron[9] = {192, 0, 208, 24};
|
||||
RECT rcPoweron[10] = {
|
||||
{144, 0, 160, 24},
|
||||
{160, 0, 176, 24},
|
||||
{176, 0, 192, 24},
|
||||
{192, 0, 208, 24},
|
||||
{208, 0, 224, 24},
|
||||
{224, 0, 240, 24},
|
||||
{176, 0, 192, 24},
|
||||
{192, 0, 208, 24},
|
||||
{208, 0, 224, 24},
|
||||
{192, 0, 208, 24},
|
||||
};
|
||||
|
||||
npc->rect = rcPoweron[npc->ani_no];
|
||||
}
|
||||
|
@ -493,11 +495,11 @@ void ActNpc108(NPCHAR *npc)
|
|||
npc->y += npc->ym;
|
||||
npc->x += npc->xm;
|
||||
|
||||
RECT rect_left[3];
|
||||
|
||||
rect_left[0] = {96, 48, 112, 64};
|
||||
rect_left[1] = {112, 48, 128, 64};
|
||||
rect_left[2] = {128, 48, 144, 64};
|
||||
RECT rect_left[3] = {
|
||||
{96, 48, 112, 64},
|
||||
{112, 48, 128, 64},
|
||||
{128, 48, 144, 64},
|
||||
};
|
||||
|
||||
if (++npc->ani_wait > 1)
|
||||
{
|
||||
|
@ -520,14 +522,15 @@ void ActNpc108(NPCHAR *npc)
|
|||
//Malco (broken)
|
||||
void ActNpc109(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
RECT rcRight[2];
|
||||
RECT rcLeft[2] = {
|
||||
{240, 0, 256, 24},
|
||||
{256, 0, 272, 24},
|
||||
};
|
||||
|
||||
rcLeft[0] = {240, 0, 256, 24};
|
||||
rcLeft[1] = {256, 0, 272, 24};
|
||||
|
||||
rcRight[0] = {240, 24, 256, 48};
|
||||
rcRight[1] = {256, 24, 272, 48};
|
||||
RECT rcRight[2] = {
|
||||
{240, 24, 256, 48},
|
||||
{256, 24, 272, 48},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -590,16 +593,17 @@ void ActNpc109(NPCHAR *npc)
|
|||
//Puchi
|
||||
void ActNpc110(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[3];
|
||||
RECT rcRight[3];
|
||||
RECT rcLeft[3] = {
|
||||
{96, 128, 112, 144},
|
||||
{112, 128, 128, 144},
|
||||
{128, 128, 144, 144},
|
||||
};
|
||||
|
||||
rcLeft[0] = {96, 128, 112, 144};
|
||||
rcLeft[1] = {112, 128, 128, 144};
|
||||
rcLeft[2] = {128, 128, 144, 144};
|
||||
|
||||
rcRight[0] = {96, 144, 112, 160};
|
||||
rcRight[1] = {112, 144, 128, 160};
|
||||
rcRight[2] = {128, 144, 144, 160};
|
||||
RECT rcRight[3] = {
|
||||
{96, 144, 112, 160},
|
||||
{112, 144, 128, 160},
|
||||
{128, 144, 144, 160},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -747,14 +751,15 @@ void ActNpc110(NPCHAR *npc)
|
|||
//Quote (teleport out)
|
||||
void ActNpc111(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
RECT rcRight[2];
|
||||
RECT rcLeft[2] = {
|
||||
{0, 0, 16, 16},
|
||||
{16, 0, 32, 16},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 0, 16, 16};
|
||||
rcLeft[1] = {16, 0, 32, 16};
|
||||
|
||||
rcRight[0] = {0, 16, 16, 32};
|
||||
rcRight[1] = {16, 16, 32, 32};
|
||||
RECT rcRight[2] = {
|
||||
{0, 16, 16, 32},
|
||||
{16, 16, 32, 32},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -834,14 +839,15 @@ void ActNpc111(NPCHAR *npc)
|
|||
//Quote (teleport in)
|
||||
void ActNpc112(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
RECT rcRight[2];
|
||||
RECT rcLeft[2] = {
|
||||
{0, 0, 16, 16},
|
||||
{16, 0, 32, 16},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 0, 16, 16};
|
||||
rcLeft[1] = {16, 0, 32, 16};
|
||||
|
||||
rcRight[0] = {0, 16, 16, 32};
|
||||
rcRight[1] = {16, 16, 32, 32};
|
||||
RECT rcRight[2] = {
|
||||
{0, 16, 16, 32},
|
||||
{16, 16, 32, 32},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -909,24 +915,25 @@ void ActNpc112(NPCHAR *npc)
|
|||
//Professor Booster
|
||||
void ActNpc113(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[7];
|
||||
RECT rcRight[7];
|
||||
RECT rcLeft[7] = {
|
||||
{224, 0, 240, 16},
|
||||
{240, 0, 256, 16},
|
||||
{256, 0, 272, 16},
|
||||
{224, 0, 240, 16},
|
||||
{272, 0, 288, 16},
|
||||
{224, 0, 240, 16},
|
||||
{288, 0, 304, 16},
|
||||
};
|
||||
|
||||
rcLeft[0] = {224, 0, 240, 16};
|
||||
rcLeft[1] = {240, 0, 256, 16};
|
||||
rcLeft[2] = {256, 0, 272, 16};
|
||||
rcLeft[3] = {224, 0, 240, 16};
|
||||
rcLeft[4] = {272, 0, 288, 16};
|
||||
rcLeft[5] = {224, 0, 240, 16};
|
||||
rcLeft[6] = {288, 0, 304, 16};
|
||||
|
||||
rcRight[0] = {224, 16, 240, 32};
|
||||
rcRight[1] = {240, 16, 256, 32};
|
||||
rcRight[2] = {256, 16, 272, 32};
|
||||
rcRight[3] = {224, 16, 240, 32};
|
||||
rcRight[4] = {272, 16, 288, 32};
|
||||
rcRight[5] = {224, 16, 240, 32};
|
||||
rcRight[6] = {288, 16, 304, 32};
|
||||
RECT rcRight[7] = {
|
||||
{224, 16, 240, 32},
|
||||
{240, 16, 256, 32},
|
||||
{256, 16, 272, 32},
|
||||
{224, 16, 240, 32},
|
||||
{272, 16, 288, 32},
|
||||
{224, 16, 240, 32},
|
||||
{288, 16, 304, 32},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1039,11 +1046,11 @@ void ActNpc113(NPCHAR *npc)
|
|||
//Press
|
||||
void ActNpc114(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[3];
|
||||
|
||||
rcLeft[0] = {144, 112, 160, 136};
|
||||
rcLeft[1] = {160, 112, 176, 136};
|
||||
rcLeft[2] = {176, 112, 192, 136};
|
||||
RECT rcLeft[3] = {
|
||||
{144, 112, 160, 136},
|
||||
{160, 112, 176, 136},
|
||||
{176, 112, 192, 136},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1111,22 +1118,23 @@ void ActNpc114(NPCHAR *npc)
|
|||
//Ravil
|
||||
void ActNpc115(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[6];
|
||||
RECT rcRight[6];
|
||||
RECT rcLeft[6] = {
|
||||
{0, 120, 24, 144},
|
||||
{24, 120, 48, 144},
|
||||
{48, 120, 72, 144},
|
||||
{72, 120, 96, 144},
|
||||
{96, 120, 120, 144},
|
||||
{120, 120, 144, 144},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 120, 24, 144};
|
||||
rcLeft[1] = {24, 120, 48, 144};
|
||||
rcLeft[2] = {48, 120, 72, 144};
|
||||
rcLeft[3] = {72, 120, 96, 144};
|
||||
rcLeft[4] = {96, 120, 120, 144};
|
||||
rcLeft[5] = {120, 120, 144, 144};
|
||||
|
||||
rcRight[0] = {0, 144, 24, 168};
|
||||
rcRight[1] = {24, 144, 48, 168};
|
||||
rcRight[2] = {48, 144, 72, 168};
|
||||
rcRight[3] = {72, 144, 96, 168};
|
||||
rcRight[4] = {96, 144, 120, 168};
|
||||
rcRight[5] = {120, 144, 144, 168};
|
||||
RECT rcRight[6] = {
|
||||
{0, 144, 24, 168},
|
||||
{24, 144, 48, 168},
|
||||
{48, 144, 72, 168},
|
||||
{72, 144, 96, 168},
|
||||
{96, 144, 120, 168},
|
||||
{120, 144, 144, 168},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1267,40 +1275,39 @@ void ActNpc115(NPCHAR *npc)
|
|||
//Red petals
|
||||
void ActNpc116(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[1];
|
||||
RECT rc = {272, 184, 320, 200};
|
||||
|
||||
rc[0] = {272, 184, 320, 200};
|
||||
|
||||
npc->rect = rc[0];
|
||||
npc->rect = rc;
|
||||
}
|
||||
|
||||
//Curly
|
||||
void ActNpc117(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[10];
|
||||
RECT rcRight[10];
|
||||
RECT rcLeft[10] = {
|
||||
{0, 96, 16, 112},
|
||||
{16, 96, 32, 112},
|
||||
{0, 96, 16, 112},
|
||||
{32, 96, 48, 112},
|
||||
{0, 96, 16, 112},
|
||||
{176, 96, 192, 112},
|
||||
{112, 96, 128, 112},
|
||||
{160, 96, 176, 112},
|
||||
{144, 96, 160, 112},
|
||||
{48, 96, 64, 112},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 96, 16, 112};
|
||||
rcLeft[1] = {16, 96, 32, 112};
|
||||
rcLeft[2] = {0, 96, 16, 112};
|
||||
rcLeft[3] = {32, 96, 48, 112};
|
||||
rcLeft[4] = {0, 96, 16, 112};
|
||||
rcLeft[5] = {176, 96, 192, 112};
|
||||
rcLeft[6] = {112, 96, 128, 112};
|
||||
rcLeft[7] = {160, 96, 176, 112};
|
||||
rcLeft[8] = {144, 96, 160, 112};
|
||||
rcLeft[9] = {48, 96, 64, 112};
|
||||
|
||||
rcRight[0] = {0, 112, 16, 128};
|
||||
rcRight[1] = {16, 112, 32, 128};
|
||||
rcRight[2] = {0, 112, 16, 128};
|
||||
rcRight[3] = {32, 112, 48, 128};
|
||||
rcRight[4] = {0, 112, 16, 128};
|
||||
rcRight[5] = {176, 112, 192, 128};
|
||||
rcRight[6] = {112, 112, 128, 128};
|
||||
rcRight[7] = {160, 112, 176, 128};
|
||||
rcRight[8] = {144, 112, 160, 128};
|
||||
rcRight[9] = {48, 112, 64, 128};
|
||||
RECT rcRight[10] = {
|
||||
{0, 112, 16, 128},
|
||||
{16, 112, 32, 128},
|
||||
{0, 112, 16, 128},
|
||||
{32, 112, 48, 128},
|
||||
{0, 112, 16, 128},
|
||||
{176, 112, 192, 128},
|
||||
{112, 112, 128, 128},
|
||||
{160, 112, 176, 128},
|
||||
{144, 112, 160, 128},
|
||||
{48, 112, 64, 128},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1400,7 +1407,7 @@ void ActNpc117(NPCHAR *npc)
|
|||
case 30:
|
||||
npc->act_no = 31;
|
||||
npc->act_wait = 0;
|
||||
npc->ym = -0x400u;
|
||||
npc->ym = -0x400;
|
||||
// Fallthrough
|
||||
case 31:
|
||||
npc->ani_no = 7;
|
||||
|
@ -1408,7 +1415,7 @@ void ActNpc117(NPCHAR *npc)
|
|||
if (npc->direct == 0)
|
||||
npc->xm = 0x200;
|
||||
else
|
||||
npc->xm = -0x200u;
|
||||
npc->xm = -0x200;
|
||||
|
||||
npc->ym += 0x40;
|
||||
|
||||
|
@ -1462,28 +1469,29 @@ void ActNpc117(NPCHAR *npc)
|
|||
//Curly (boss)
|
||||
void ActNpc118(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[9];
|
||||
RECT rcRight[9];
|
||||
RECT rcLeft[9] = {
|
||||
{0, 32, 32, 56},
|
||||
{32, 32, 64, 56},
|
||||
{64, 32, 96, 56},
|
||||
{96, 32, 128, 56},
|
||||
{0, 32, 32, 56},
|
||||
{128, 32, 160, 56},
|
||||
{0, 32, 32, 56},
|
||||
{0, 32, 32, 56},
|
||||
{160, 32, 192, 56},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 32, 32, 56};
|
||||
rcLeft[1] = {32, 32, 64, 56};
|
||||
rcLeft[2] = {64, 32, 96, 56};
|
||||
rcLeft[3] = {96, 32, 128, 56};
|
||||
rcLeft[4] = {0, 32, 32, 56};
|
||||
rcLeft[5] = {128, 32, 160, 56};
|
||||
rcLeft[6] = {0, 32, 32, 56};
|
||||
rcLeft[7] = {0, 32, 32, 56};
|
||||
rcLeft[8] = {160, 32, 192, 56};
|
||||
|
||||
rcRight[0] = {0, 56, 32, 80};
|
||||
rcRight[1] = {32, 56, 64, 80};
|
||||
rcRight[2] = {64, 56, 96, 80};
|
||||
rcRight[3] = {96, 56, 128, 80};
|
||||
rcRight[4] = {0, 56, 32, 80};
|
||||
rcRight[5] = {128, 56, 160, 80};
|
||||
rcRight[6] = {0, 56, 32, 80};
|
||||
rcRight[7] = {0, 56, 32, 80};
|
||||
rcRight[8] = {160, 56, 192, 80};
|
||||
RECT rcRight[9] = {
|
||||
{0, 56, 32, 80},
|
||||
{32, 56, 64, 80},
|
||||
{64, 56, 96, 80},
|
||||
{96, 56, 128, 80},
|
||||
{0, 56, 32, 80},
|
||||
{128, 56, 160, 80},
|
||||
{0, 56, 32, 80},
|
||||
{0, 56, 32, 80},
|
||||
{160, 56, 192, 80},
|
||||
};
|
||||
|
||||
bool bUpper = false;
|
||||
|
||||
|
@ -1510,8 +1518,8 @@ void ActNpc118(NPCHAR *npc)
|
|||
else
|
||||
npc->direct = 2;
|
||||
|
||||
npc->bits |= 0x20u;
|
||||
npc->bits &= ~4u;
|
||||
npc->bits |= 0x20;
|
||||
npc->bits &= ~4;
|
||||
// Fallthrough
|
||||
case 11:
|
||||
if (npc->act_wait)
|
||||
|
@ -1552,7 +1560,7 @@ void ActNpc118(NPCHAR *npc)
|
|||
}
|
||||
else
|
||||
{
|
||||
npc->bits |= 0x20u;
|
||||
npc->bits |= 0x20;
|
||||
npc->act_no = 20;
|
||||
npc->act_wait = 0;
|
||||
PlaySoundObject(103, 1);
|
||||
|
@ -1662,9 +1670,7 @@ void ActNpc118(NPCHAR *npc)
|
|||
//Table and chair
|
||||
void ActNpc119(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[1];
|
||||
RECT rc = {248, 184, 272, 200};
|
||||
|
||||
rc[0] = {248, 184, 272, 200};
|
||||
|
||||
npc->rect = rc[0];
|
||||
npc->rect = rc;
|
||||
}
|
||||
|
|
|
@ -16,10 +16,10 @@
|
|||
//Colon (1)
|
||||
void ActNpc120(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[2];
|
||||
|
||||
rect[0] = {64, 0, 80, 16};
|
||||
rect[1] = {64, 16, 80, 32};
|
||||
RECT rect[2] = {
|
||||
{64, 0, 80, 16},
|
||||
{64, 16, 80, 32},
|
||||
};
|
||||
|
||||
if (npc->direct == 0)
|
||||
npc->rect = rect[0];
|
||||
|
@ -30,11 +30,11 @@ void ActNpc120(NPCHAR *npc)
|
|||
//Colon (2)
|
||||
void ActNpc121(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[3];
|
||||
|
||||
rect[0] = {0, 0, 16, 16};
|
||||
rect[1] = {16, 0, 32, 16};
|
||||
rect[2] = {112, 0, 128, 16};
|
||||
RECT rect[3] = {
|
||||
{0, 0, 16, 16},
|
||||
{16, 0, 32, 16},
|
||||
{112, 0, 128, 16},
|
||||
};
|
||||
|
||||
if (npc->direct == 0)
|
||||
{
|
||||
|
@ -81,30 +81,31 @@ void ActNpc121(NPCHAR *npc)
|
|||
//Colon (attacking)
|
||||
void ActNpc122(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[10];
|
||||
RECT rcRight[10];
|
||||
RECT rcLeft[10] = {
|
||||
{0, 0, 16, 16},
|
||||
{16, 0, 32, 16},
|
||||
{32, 0, 48, 16},
|
||||
{0, 0, 16, 16},
|
||||
{48, 0, 64, 16},
|
||||
{0, 0, 16, 16},
|
||||
{80, 0, 96, 16},
|
||||
{96, 0, 112, 16},
|
||||
{112, 0, 128, 16},
|
||||
{128, 0, 144, 16},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 0, 16, 16};
|
||||
rcLeft[1] = {16, 0, 32, 16};
|
||||
rcLeft[2] = {32, 0, 48, 16};
|
||||
rcLeft[3] = {0, 0, 16, 16};
|
||||
rcLeft[4] = {48, 0, 64, 16};
|
||||
rcLeft[5] = {0, 0, 16, 16};
|
||||
rcLeft[6] = {80, 0, 96, 16};
|
||||
rcLeft[7] = {96, 0, 112, 16};
|
||||
rcLeft[8] = {112, 0, 128, 16};
|
||||
rcLeft[9] = {128, 0, 144, 16};
|
||||
|
||||
rcRight[0] = {0, 16, 16, 32};
|
||||
rcRight[1] = {16, 16, 32, 32};
|
||||
rcRight[2] = {32, 16, 48, 32};
|
||||
rcRight[3] = {0, 16, 16, 32};
|
||||
rcRight[4] = {48, 16, 64, 32};
|
||||
rcRight[5] = {0, 16, 16, 32};
|
||||
rcRight[6] = {80, 16, 96, 32};
|
||||
rcRight[7] = {96, 16, 112, 32};
|
||||
rcRight[8] = {112, 16, 128, 32};
|
||||
rcRight[9] = {128, 16, 144, 32};
|
||||
RECT rcRight[10] = {
|
||||
{0, 16, 16, 32},
|
||||
{16, 16, 32, 32},
|
||||
{32, 16, 48, 32},
|
||||
{0, 16, 16, 32},
|
||||
{48, 16, 64, 32},
|
||||
{0, 16, 16, 32},
|
||||
{80, 16, 96, 32},
|
||||
{96, 16, 112, 32},
|
||||
{112, 16, 128, 32},
|
||||
{128, 16, 144, 32},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -269,12 +270,12 @@ void ActNpc122(NPCHAR *npc)
|
|||
//Curly boss projectile
|
||||
void ActNpc123(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[4];
|
||||
|
||||
rect[0] = {192, 0, 208, 16};
|
||||
rect[1] = {208, 0, 224, 16};
|
||||
rect[2] = {224, 0, 240, 16};
|
||||
rect[3] = {240, 0, 256, 16};
|
||||
RECT rect[4] = {
|
||||
{192, 0, 208, 16},
|
||||
{208, 0, 224, 16},
|
||||
{224, 0, 240, 16},
|
||||
{240, 0, 256, 16},
|
||||
};
|
||||
|
||||
bool bBreak = false;
|
||||
|
||||
|
@ -347,10 +348,10 @@ void ActNpc123(NPCHAR *npc)
|
|||
//Sunstone
|
||||
void ActNpc124(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[2];
|
||||
|
||||
rect[0] = {160, 0, 192, 32};
|
||||
rect[1] = {192, 0, 224, 32};
|
||||
RECT rect[2] = {
|
||||
{160, 0, 192, 32},
|
||||
{192, 0, 224, 32},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -412,10 +413,10 @@ void ActNpc125(NPCHAR *npc)
|
|||
npc->cond = 0;
|
||||
}
|
||||
|
||||
RECT rc[2];
|
||||
|
||||
rc[0] = {0, 96, 16, 112};
|
||||
rc[1] = {16, 96, 32, 112};
|
||||
RECT rc[2] = {
|
||||
{0, 96, 16, 112},
|
||||
{16, 96, 32, 112},
|
||||
};
|
||||
|
||||
if (npc->direct == 0)
|
||||
npc->rect = rc[0];
|
||||
|
@ -426,22 +427,23 @@ void ActNpc125(NPCHAR *npc)
|
|||
//Puppy (running)
|
||||
void ActNpc126(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[6];
|
||||
RECT rcRight[6];
|
||||
RECT rcLeft[6] = {
|
||||
{48, 144, 64, 160},
|
||||
{64, 144, 80, 160},
|
||||
{48, 144, 64, 160},
|
||||
{80, 144, 96, 160},
|
||||
{96, 144, 112, 160},
|
||||
{112, 144, 128, 160},
|
||||
};
|
||||
|
||||
rcLeft[0] = {48, 144, 64, 160};
|
||||
rcLeft[1] = {64, 144, 80, 160};
|
||||
rcLeft[2] = {48, 144, 64, 160};
|
||||
rcLeft[3] = {80, 144, 96, 160};
|
||||
rcLeft[4] = {96, 144, 112, 160};
|
||||
rcLeft[5] = {112, 144, 128, 160};
|
||||
|
||||
rcRight[0] = {48, 160, 64, 176};
|
||||
rcRight[1] = {64, 160, 80, 176};
|
||||
rcRight[2] = {48, 160, 64, 176};
|
||||
rcRight[3] = {80, 160, 96, 176};
|
||||
rcRight[4] = {96, 160, 112, 176};
|
||||
rcRight[5] = {112, 160, 128, 176};
|
||||
RECT rcRight[6] = {
|
||||
{48, 160, 64, 176},
|
||||
{64, 160, 80, 176},
|
||||
{48, 160, 64, 176},
|
||||
{80, 160, 96, 176},
|
||||
{96, 160, 112, 176},
|
||||
{112, 160, 128, 176},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -557,14 +559,17 @@ void ActNpc126(NPCHAR *npc)
|
|||
//Machine gun trail (Level 2)
|
||||
void ActNpc127(NPCHAR *npc)
|
||||
{
|
||||
RECT rcV[3];
|
||||
RECT rcH[3];
|
||||
rcV[0] = {112, 48, 128, 64};
|
||||
rcV[1] = {112, 64, 128, 80};
|
||||
rcV[2] = {112, 80, 128, 96};
|
||||
rcH[0] = {64, 80, 80, 96};
|
||||
rcH[1] = {80, 80, 96, 96};
|
||||
rcH[2] = {96, 80, 112, 96};
|
||||
RECT rcV[3] = {
|
||||
{112, 48, 128, 64},
|
||||
{112, 64, 128, 80},
|
||||
{112, 80, 128, 96},
|
||||
};
|
||||
|
||||
RECT rcH[3] = {
|
||||
{64, 80, 80, 96},
|
||||
{80, 80, 96, 96},
|
||||
{96, 80, 112, 96},
|
||||
};
|
||||
|
||||
if (++npc->ani_wait > 0)
|
||||
{
|
||||
|
@ -582,33 +587,39 @@ void ActNpc127(NPCHAR *npc)
|
|||
//Machine gun trail (Level 3)
|
||||
void ActNpc128(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[5];
|
||||
RECT rcRight[5];
|
||||
RECT rcUp[5];
|
||||
RECT rcDown[5];
|
||||
RECT rcLeft[5] = {
|
||||
{0, 0, 0, 0},
|
||||
{176, 16, 184, 32},
|
||||
{184, 16, 192, 32},
|
||||
{192, 16, 200, 32},
|
||||
{200, 16, 208, 32},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 0, 0, 0};
|
||||
rcLeft[1] = {176, 16, 184, 32};
|
||||
rcLeft[2] = {184, 16, 192, 32};
|
||||
rcLeft[3] = {192, 16, 200, 32};
|
||||
rcLeft[4] = {200, 16, 208, 32};
|
||||
rcRight[0] = {0, 0, 0, 0};
|
||||
rcRight[1] = {232, 16, 240, 32};
|
||||
rcRight[2] = {224, 16, 232, 32};
|
||||
rcRight[3] = {216, 16, 224, 32};
|
||||
rcRight[4] = {208, 16, 216, 32};
|
||||
rcUp[0] = {0, 0, 0, 0};
|
||||
rcUp[1] = {176, 32, 192, 40};
|
||||
rcUp[2] = {176, 40, 192, 48};
|
||||
rcUp[3] = {192, 32, 208, 40};
|
||||
rcUp[4] = {192, 40, 208, 48};
|
||||
rcDown[0] = {0, 0, 0, 0};
|
||||
rcDown[1] = {208, 32, 224, 40};
|
||||
rcDown[2] = {208, 40, 224, 48};
|
||||
rcDown[3] = {224, 32, 232, 40};
|
||||
rcDown[4] = {224, 40, 232, 48};
|
||||
RECT rcRight[5] = {
|
||||
{0, 0, 0, 0},
|
||||
{232, 16, 240, 32},
|
||||
{224, 16, 232, 32},
|
||||
{216, 16, 224, 32},
|
||||
{208, 16, 216, 32},
|
||||
};
|
||||
|
||||
if (!npc->act_no)
|
||||
RECT rcUp[5] = {
|
||||
{0, 0, 0, 0},
|
||||
{176, 32, 192, 40},
|
||||
{176, 40, 192, 48},
|
||||
{192, 32, 208, 40},
|
||||
{192, 40, 208, 48},
|
||||
};
|
||||
|
||||
RECT rcDown[5] = {
|
||||
{0, 0, 0, 0},
|
||||
{208, 32, 224, 40},
|
||||
{208, 40, 224, 48},
|
||||
{224, 32, 232, 40},
|
||||
{224, 40, 232, 48},
|
||||
};
|
||||
|
||||
if (npc->act_no == 0)
|
||||
{
|
||||
npc->act_no = 1;
|
||||
|
||||
|
@ -647,25 +658,26 @@ void ActNpc128(NPCHAR *npc)
|
|||
//Fireball trail (Level 2 & 3)
|
||||
void ActNpc129(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[18];
|
||||
rect[0] = {0x80, 0x30, 0x90, 0x40};
|
||||
rect[1] = {0x90, 0x30, 0xA0, 0x40};
|
||||
rect[2] = {0xA0, 0x30, 0xB0, 0x40};
|
||||
rect[3] = {0x80, 0x40, 0x90, 0x50};
|
||||
rect[4] = {0x90, 0x40, 0xA0, 0x50};
|
||||
rect[5] = {0xA0, 0x40, 0xB0, 0x50};
|
||||
rect[6] = {0x80, 0x50, 0x90, 0x60};
|
||||
rect[7] = {0x90, 0x50, 0xA0, 0x60};
|
||||
rect[8] = {0xA0, 0x50, 0xB0, 0x60};
|
||||
rect[9] = {0xB0, 0x30, 0xC0, 0x40};
|
||||
rect[10] = {0xC0, 0x30, 0xD0, 0x40};
|
||||
rect[11] = {0xD0, 0x30, 0xE0, 0x40};
|
||||
rect[12] = {0xB0, 0x40, 0xC0, 0x50};
|
||||
rect[13] = {0xC0, 0x40, 0xD0, 0x50};
|
||||
rect[14] = {0xD0, 0x40, 0xE0, 0x50};
|
||||
rect[15] = {0xB0, 0x50, 0xC0, 0x60};
|
||||
rect[16] = {0xC0, 0x50, 0xD0, 0x60};
|
||||
rect[17] = {0xD0, 0x50, 0xE0, 0x60};
|
||||
RECT rect[18] = {
|
||||
{0x80, 0x30, 0x90, 0x40},
|
||||
{0x90, 0x30, 0xA0, 0x40},
|
||||
{0xA0, 0x30, 0xB0, 0x40},
|
||||
{0x80, 0x40, 0x90, 0x50},
|
||||
{0x90, 0x40, 0xA0, 0x50},
|
||||
{0xA0, 0x40, 0xB0, 0x50},
|
||||
{0x80, 0x50, 0x90, 0x60},
|
||||
{0x90, 0x50, 0xA0, 0x60},
|
||||
{0xA0, 0x50, 0xB0, 0x60},
|
||||
{0xB0, 0x30, 0xC0, 0x40},
|
||||
{0xC0, 0x30, 0xD0, 0x40},
|
||||
{0xD0, 0x30, 0xE0, 0x40},
|
||||
{0xB0, 0x40, 0xC0, 0x50},
|
||||
{0xC0, 0x40, 0xD0, 0x50},
|
||||
{0xD0, 0x40, 0xE0, 0x50},
|
||||
{0xB0, 0x50, 0xC0, 0x60},
|
||||
{0xC0, 0x50, 0xD0, 0x60},
|
||||
{0xD0, 0x50, 0xE0, 0x60},
|
||||
};
|
||||
|
||||
if (++npc->ani_wait > 1)
|
||||
{
|
||||
|
@ -682,18 +694,19 @@ void ActNpc129(NPCHAR *npc)
|
|||
//Puppy (sitting, wagging tail)
|
||||
void ActNpc130(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[4];
|
||||
RECT rcRight[4];
|
||||
RECT rcLeft[4] = {
|
||||
{48, 144, 64, 160},
|
||||
{64, 144, 80, 160},
|
||||
{48, 144, 64, 160},
|
||||
{80, 144, 96, 160},
|
||||
};
|
||||
|
||||
rcLeft[0] = {48, 144, 64, 160};
|
||||
rcLeft[1] = {64, 144, 80, 160};
|
||||
rcLeft[2] = {48, 144, 64, 160};
|
||||
rcLeft[3] = {80, 144, 96, 160};
|
||||
|
||||
rcRight[0] = {48, 160, 64, 176};
|
||||
rcRight[1] = {64, 160, 80, 176};
|
||||
rcRight[2] = {48, 160, 64, 176};
|
||||
rcRight[3] = {80, 160, 96, 176};
|
||||
RECT rcRight[4] = {
|
||||
{48, 160, 64, 176},
|
||||
{64, 160, 80, 176},
|
||||
{48, 160, 64, 176},
|
||||
{80, 160, 96, 176},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -759,11 +772,8 @@ void ActNpc130(NPCHAR *npc)
|
|||
//Puppy (sleeping)
|
||||
void ActNpc131(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[1];
|
||||
RECT rcRight[1];
|
||||
|
||||
rcLeft[0] = {144, 144, 160, 160};
|
||||
rcRight[0] = {144, 160, 160, 176};
|
||||
RECT rcLeft[1] = {144, 144, 160, 160};
|
||||
RECT rcRight[1] = {144, 160, 160, 176};
|
||||
|
||||
if (++npc->act_wait > 100)
|
||||
{
|
||||
|
@ -780,20 +790,21 @@ void ActNpc131(NPCHAR *npc)
|
|||
//Puppy (barking)
|
||||
void ActNpc132(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[5];
|
||||
RECT rcRight[5];
|
||||
RECT rcLeft[5] = {
|
||||
{48, 144, 64, 160},
|
||||
{64, 144, 80, 160},
|
||||
{96, 144, 112, 160},
|
||||
{96, 144, 112, 160},
|
||||
{128, 144, 144, 160},
|
||||
};
|
||||
|
||||
rcLeft[0] = {48, 144, 64, 160};
|
||||
rcLeft[1] = {64, 144, 80, 160};
|
||||
rcLeft[2] = {96, 144, 112, 160};
|
||||
rcLeft[3] = {96, 144, 112, 160};
|
||||
rcLeft[4] = {128, 144, 144, 160};
|
||||
|
||||
rcRight[0] = {48, 160, 64, 176};
|
||||
rcRight[1] = {64, 160, 80, 176};
|
||||
rcRight[2] = {96, 160, 112, 176};
|
||||
rcRight[3] = {96, 160, 112, 176};
|
||||
rcRight[4] = {128, 160, 144, 176};
|
||||
RECT rcRight[5] = {
|
||||
{48, 160, 64, 176},
|
||||
{64, 160, 80, 176},
|
||||
{96, 160, 112, 176},
|
||||
{96, 160, 112, 176},
|
||||
{128, 160, 144, 176},
|
||||
};
|
||||
|
||||
if (npc->act_no < 100)
|
||||
{
|
||||
|
@ -924,14 +935,15 @@ void ActNpc132(NPCHAR *npc)
|
|||
//Jenka
|
||||
void ActNpc133(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
RECT rcRight[2];
|
||||
RECT rcLeft[2] = {
|
||||
{176, 32, 192, 48},
|
||||
{192, 32, 208, 48},
|
||||
};
|
||||
|
||||
rcLeft[0] = {176, 32, 192, 48};
|
||||
rcLeft[1] = {192, 32, 208, 48};
|
||||
|
||||
rcRight[0] = {176, 48, 192, 64};
|
||||
rcRight[1] = {192, 48, 208, 64};
|
||||
RECT rcRight[2] = {
|
||||
{176, 48, 192, 64},
|
||||
{192, 48, 208, 64},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -969,16 +981,17 @@ void ActNpc133(NPCHAR *npc)
|
|||
//Armadillo
|
||||
void ActNpc134(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[3];
|
||||
RECT rcRight[3];
|
||||
RECT rcLeft[3] = {
|
||||
{224, 0, 256, 16},
|
||||
{256, 0, 288, 16},
|
||||
{288, 0, 320, 16},
|
||||
};
|
||||
|
||||
rcLeft[0] = {224, 0, 256, 16};
|
||||
rcLeft[1] = {256, 0, 288, 16};
|
||||
rcLeft[2] = {288, 0, 320, 16};
|
||||
|
||||
rcRight[0] = {224, 16, 256, 32};
|
||||
rcRight[1] = {256, 16, 288, 32};
|
||||
rcRight[2] = {288, 16, 320, 32};
|
||||
RECT rcRight[3] = {
|
||||
{224, 16, 256, 32},
|
||||
{256, 16, 288, 32},
|
||||
{288, 16, 320, 32},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1057,14 +1070,15 @@ void ActNpc134(NPCHAR *npc)
|
|||
//Skeleton
|
||||
void ActNpc135(NPCHAR *npc)
|
||||
{
|
||||
RECT rcRight[2];
|
||||
RECT rcLeft[2];
|
||||
RECT rcLeft[2] = {
|
||||
{256, 32, 288, 64},
|
||||
{288, 32, 320, 64},
|
||||
};
|
||||
|
||||
rcLeft[0] = {256, 32, 288, 64};
|
||||
rcLeft[1] = {288, 32, 320, 64};
|
||||
|
||||
rcRight[0] = {256, 64, 288, 96};
|
||||
rcRight[1] = {288, 64, 320, 96};
|
||||
RECT rcRight[2] = {
|
||||
{256, 64, 288, 96},
|
||||
{288, 64, 320, 96},
|
||||
};
|
||||
|
||||
if (gMC.x < npc->x - 0x2C000 || gMC.x > npc->x + 0x2C000 || gMC.y < npc->y - 0x14000 || gMC.y > npc->y + 0x8000)
|
||||
npc->act_no = 0;
|
||||
|
@ -1165,14 +1179,15 @@ void ActNpc135(NPCHAR *npc)
|
|||
//Puppy (carried)
|
||||
void ActNpc136(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
RECT rcRight[2];
|
||||
RECT rcLeft[2] = {
|
||||
{48, 144, 64, 160},
|
||||
{64, 144, 80, 160},
|
||||
};
|
||||
|
||||
rcLeft[0] = {48, 144, 64, 160};
|
||||
rcLeft[1] = {64, 144, 80, 160};
|
||||
|
||||
rcRight[0] = {48, 160, 64, 176};
|
||||
rcRight[1] = {64, 160, 80, 176};
|
||||
RECT rcRight[2] = {
|
||||
{48, 160, 64, 176},
|
||||
{64, 160, 80, 176},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1227,21 +1242,16 @@ void ActNpc136(NPCHAR *npc)
|
|||
//Large door (frame)
|
||||
void ActNpc137(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[1];
|
||||
RECT rc = {96, 136, 128, 188};
|
||||
|
||||
rc[0] = {96, 136, 128, 188};
|
||||
|
||||
npc->rect = rc[0];
|
||||
npc->rect = rc;
|
||||
}
|
||||
|
||||
//Large door (door)
|
||||
void ActNpc138(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[1];
|
||||
RECT rcRight[1];
|
||||
|
||||
rcLeft[0] = {96, 112, 112, 136};
|
||||
rcRight[0] = {112, 112, 128, 136};
|
||||
RECT rcLeft = {96, 112, 112, 136};
|
||||
RECT rcRight = {112, 112, 128, 136};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1250,12 +1260,12 @@ void ActNpc138(NPCHAR *npc)
|
|||
|
||||
if (npc->direct == 0)
|
||||
{
|
||||
npc->rect = rcLeft[0];
|
||||
npc->rect = rcLeft;
|
||||
npc->x += 0x1000;
|
||||
}
|
||||
else
|
||||
{
|
||||
npc->rect = rcRight[0];
|
||||
npc->rect = rcRight;
|
||||
npc->x -= 0x1000;
|
||||
}
|
||||
|
||||
|
@ -1274,13 +1284,13 @@ void ActNpc138(NPCHAR *npc)
|
|||
|
||||
if (npc->direct == 0)
|
||||
{
|
||||
npc->rect = rcLeft[0];
|
||||
npc->rect = rcLeft;
|
||||
npc->rect.left += npc->act_wait / 8;
|
||||
}
|
||||
else
|
||||
{
|
||||
npc->x = npc->tgt_x + ((npc->act_wait / 8) * 0x200);
|
||||
npc->rect = rcRight[0];
|
||||
npc->rect = rcRight;
|
||||
npc->rect.right -= npc->act_wait / 8;
|
||||
}
|
||||
|
||||
|
@ -1294,16 +1304,17 @@ void ActNpc138(NPCHAR *npc)
|
|||
//Doctor
|
||||
void ActNpc139(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[3];
|
||||
RECT rcRight[3];
|
||||
RECT rcLeft[3] = {
|
||||
{0, 128, 24, 160},
|
||||
{24, 128, 48, 160},
|
||||
{48, 128, 72, 160},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 128, 24, 160};
|
||||
rcLeft[1] = {24, 128, 48, 160};
|
||||
rcLeft[2] = {48, 128, 72, 160};
|
||||
|
||||
rcRight[0] = {0, 160, 24, 192};
|
||||
rcRight[1] = {24, 160, 48, 192};
|
||||
rcRight[2] = {48, 160, 72, 192};
|
||||
RECT rcRight[3] = {
|
||||
{0, 160, 24, 192},
|
||||
{24, 160, 48, 192},
|
||||
{48, 160, 72, 192},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
|
|
@ -17,38 +17,39 @@
|
|||
//Toroko (frenzied)
|
||||
void ActNpc140(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[14];
|
||||
RECT rcRight[14];
|
||||
RECT rcLeft[14] = {
|
||||
{0, 0, 32, 32},
|
||||
{32, 0, 64, 32},
|
||||
{64, 0, 96, 32},
|
||||
{96, 0, 128, 32},
|
||||
{128, 0, 160, 32},
|
||||
{160, 0, 192, 32},
|
||||
{192, 0, 224, 32},
|
||||
{224, 0, 256, 32},
|
||||
{0, 64, 32, 96},
|
||||
{32, 64, 64, 96},
|
||||
{64, 64, 96, 96},
|
||||
{96, 64, 128, 96},
|
||||
{128, 64, 160, 96},
|
||||
{0, 0, 0, 0},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 0, 32, 32};
|
||||
rcLeft[1] = {32, 0, 64, 32};
|
||||
rcLeft[2] = {64, 0, 96, 32};
|
||||
rcLeft[3] = {96, 0, 128, 32};
|
||||
rcLeft[4] = {128, 0, 160, 32};
|
||||
rcLeft[5] = {160, 0, 192, 32};
|
||||
rcLeft[6] = {192, 0, 224, 32};
|
||||
rcLeft[7] = {224, 0, 256, 32};
|
||||
rcLeft[8] = {0, 64, 32, 96};
|
||||
rcLeft[9] = {32, 64, 64, 96};
|
||||
rcLeft[10] = {64, 64, 96, 96};
|
||||
rcLeft[11] = {96, 64, 128, 96};
|
||||
rcLeft[12] = {128, 64, 160, 96};
|
||||
rcLeft[13] = {0, 0, 0, 0};
|
||||
|
||||
rcRight[0] = {0, 32, 32, 64};
|
||||
rcRight[1] = {32, 32, 64, 64};
|
||||
rcRight[2] = {64, 32, 96, 64};
|
||||
rcRight[3] = {96, 32, 128, 64};
|
||||
rcRight[4] = {128, 32, 160, 64};
|
||||
rcRight[5] = {160, 32, 192, 64};
|
||||
rcRight[6] = {192, 32, 224, 64};
|
||||
rcRight[7] = {224, 32, 256, 64};
|
||||
rcRight[8] = {0, 96, 32, 128};
|
||||
rcRight[9] = {32, 96, 64, 128};
|
||||
rcRight[10] = {64, 96, 96, 128};
|
||||
rcRight[11] = {96, 96, 128, 128};
|
||||
rcRight[12] = {128, 96, 160, 128};
|
||||
rcRight[13] = {0, 0, 0, 0};
|
||||
RECT rcRight[14] = {
|
||||
{0, 32, 32, 64},
|
||||
{32, 32, 64, 64},
|
||||
{64, 32, 96, 64},
|
||||
{96, 32, 128, 64},
|
||||
{128, 32, 160, 64},
|
||||
{160, 32, 192, 64},
|
||||
{192, 32, 224, 64},
|
||||
{224, 32, 256, 64},
|
||||
{0, 96, 32, 128},
|
||||
{32, 96, 64, 128},
|
||||
{64, 96, 96, 128},
|
||||
{96, 96, 128, 128},
|
||||
{128, 96, 160, 128},
|
||||
{0, 0, 0, 0},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -362,10 +363,10 @@ void ActNpc140(NPCHAR *npc)
|
|||
// Toroko block projectile
|
||||
void ActNpc141(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[2]; // [sp+8h] [bp-24h]@1
|
||||
|
||||
rect[0] = {288, 32, 304, 48};
|
||||
rect[1] = {304, 32, 320, 48};
|
||||
RECT rect[2] = {
|
||||
{288, 32, 304, 48},
|
||||
{304, 32, 320, 48},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -450,13 +451,13 @@ void ActNpc141(NPCHAR *npc)
|
|||
// Flower Cub
|
||||
void ActNpc142(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[5];
|
||||
|
||||
rect[0] = {0, 128, 16, 144};
|
||||
rect[1] = {16, 128, 32, 144};
|
||||
rect[2] = {32, 128, 48, 144};
|
||||
rect[3] = {48, 128, 64, 144};
|
||||
rect[4] = {64, 128, 80, 144};
|
||||
RECT rect[5] = {
|
||||
{0, 128, 16, 144},
|
||||
{16, 128, 32, 144},
|
||||
{32, 128, 48, 144},
|
||||
{48, 128, 64, 144},
|
||||
{64, 128, 80, 144},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -538,12 +539,8 @@ void ActNpc142(NPCHAR *npc)
|
|||
// Jenka (collapsed)
|
||||
void ActNpc143(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[1];
|
||||
RECT rcRight[1];
|
||||
|
||||
rcLeft[0] = {208, 32, 224, 48};
|
||||
|
||||
rcRight[0] = {208, 48, 224, 64};
|
||||
RECT rcLeft[1] = {208, 32, 224, 48};
|
||||
RECT rcRight[1] = {208, 48, 224, 64};
|
||||
|
||||
if (npc->direct == 0)
|
||||
npc->rect = rcLeft[npc->ani_no];
|
||||
|
@ -554,20 +551,21 @@ void ActNpc143(NPCHAR *npc)
|
|||
//Toroko (teleporting in)
|
||||
void ActNpc144(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[5];
|
||||
RECT rcRight[5];
|
||||
RECT rcLeft[5] = {
|
||||
{0, 64, 16, 80},
|
||||
{16, 64, 32, 80},
|
||||
{32, 64, 48, 80},
|
||||
{16, 64, 32, 80},
|
||||
{128, 64, 144, 80},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 64, 16, 80};
|
||||
rcLeft[1] = {16, 64, 32, 80};
|
||||
rcLeft[2] = {32, 64, 48, 80};
|
||||
rcLeft[3] = {16, 64, 32, 80};
|
||||
rcLeft[4] = {128, 64, 144, 80};
|
||||
|
||||
rcRight[0] = {0, 80, 16, 96};
|
||||
rcRight[1] = {16, 80, 32, 96};
|
||||
rcRight[2] = {32, 80, 48, 96};
|
||||
rcRight[3] = {16, 80, 32, 96};
|
||||
rcRight[4] = {128, 80, 144, 96};
|
||||
RECT rcRight[5] = {
|
||||
{0, 80, 16, 96},
|
||||
{16, 80, 32, 96},
|
||||
{32, 80, 48, 96},
|
||||
{16, 80, 32, 96},
|
||||
{128, 80, 144, 96},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -660,11 +658,8 @@ void ActNpc144(NPCHAR *npc)
|
|||
//King's sword
|
||||
void ActNpc145(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[1];
|
||||
RECT rcRight[1];
|
||||
|
||||
rcLeft[0] = {96, 32, 112, 48};
|
||||
rcRight[0] = {112, 32, 128, 48};
|
||||
RECT rcLeft[1] = {96, 32, 112, 48};
|
||||
RECT rcRight[1] = {112, 32, 128, 48};
|
||||
|
||||
if (npc->act_no == 0)
|
||||
{
|
||||
|
@ -700,13 +695,13 @@ void ActNpc145(NPCHAR *npc)
|
|||
//Lightning
|
||||
void ActNpc146(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[5];
|
||||
|
||||
rect[0] = {0, 0, 0, 0};
|
||||
rect[1] = {256, 0, 272, 240};
|
||||
rect[2] = {272, 0, 288, 240};
|
||||
rect[3] = {288, 0, 304, 240};
|
||||
rect[4] = {304, 0, 320, 240};
|
||||
RECT rect[5] = {
|
||||
{0, 0, 0, 0},
|
||||
{256, 0, 272, 240},
|
||||
{272, 0, 288, 240},
|
||||
{288, 0, 304, 240},
|
||||
{304, 0, 320, 240},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -750,22 +745,23 @@ void ActNpc146(NPCHAR *npc)
|
|||
//Critter (purple)
|
||||
void ActNpc147(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[6];
|
||||
RECT rcRight[6];
|
||||
RECT rcLeft[6] = {
|
||||
{0, 96, 16, 112},
|
||||
{16, 96, 32, 112},
|
||||
{32, 96, 48, 112},
|
||||
{48, 96, 64, 112},
|
||||
{64, 96, 80, 112},
|
||||
{80, 96, 96, 112},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 96, 16, 112};
|
||||
rcLeft[1] = {16, 96, 32, 112};
|
||||
rcLeft[2] = {32, 96, 48, 112};
|
||||
rcLeft[3] = {48, 96, 64, 112};
|
||||
rcLeft[4] = {64, 96, 80, 112};
|
||||
rcLeft[5] = {80, 96, 96, 112};
|
||||
|
||||
rcRight[0] = {0, 112, 16, 128};
|
||||
rcRight[1] = {16, 112, 32, 128};
|
||||
rcRight[2] = {32, 112, 48, 128};
|
||||
rcRight[3] = {48, 112, 64, 128};
|
||||
rcRight[4] = {64, 112, 80, 128};
|
||||
rcRight[5] = {80, 112, 96, 128};
|
||||
RECT rcRight[6] = {
|
||||
{0, 112, 16, 128},
|
||||
{16, 112, 32, 128},
|
||||
{32, 112, 48, 128},
|
||||
{48, 112, 64, 128},
|
||||
{64, 112, 80, 128},
|
||||
{80, 112, 96, 128},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -937,10 +933,10 @@ void ActNpc148(NPCHAR *npc)
|
|||
npc->y += npc->ym;
|
||||
npc->x += npc->xm;
|
||||
|
||||
RECT rect_left[2];
|
||||
|
||||
rect_left[0] = {96, 96, 104, 104};
|
||||
rect_left[1] = {104, 96, 112, 104};
|
||||
RECT rect_left[2] = {
|
||||
{96, 96, 104, 104},
|
||||
{104, 96, 112, 104},
|
||||
};
|
||||
|
||||
if (++npc->ani_no > 1)
|
||||
npc->ani_no = 0;
|
||||
|
@ -1072,38 +1068,36 @@ void ActNpc149(NPCHAR *npc)
|
|||
|
||||
npc->x += npc->xm;
|
||||
|
||||
RECT rect[1];
|
||||
|
||||
rect[0] = {16, 0, 48, 32};
|
||||
|
||||
npc->rect = rect[0];
|
||||
RECT rect = {16, 0, 48, 32};
|
||||
npc->rect = rect;
|
||||
}
|
||||
|
||||
//Quote
|
||||
void ActNpc150(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[9];
|
||||
RECT rcRight[9];
|
||||
RECT rcLeft[9] = {
|
||||
{0, 0, 16, 16},
|
||||
{48, 0, 64, 16},
|
||||
{144, 0, 160, 16},
|
||||
{16, 0, 32, 16},
|
||||
{0, 0, 16, 16},
|
||||
{32, 0, 48, 16},
|
||||
{0, 0, 16, 16},
|
||||
{160, 0, 176, 16},
|
||||
{112, 0, 128, 16},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 0, 16, 16};
|
||||
rcLeft[1] = {48, 0, 64, 16};
|
||||
rcLeft[2] = {144, 0, 160, 16};
|
||||
rcLeft[3] = {16, 0, 32, 16};
|
||||
rcLeft[4] = {0, 0, 16, 16};
|
||||
rcLeft[5] = {32, 0, 48, 16};
|
||||
rcLeft[6] = {0, 0, 16, 16};
|
||||
rcLeft[7] = {160, 0, 176, 16};
|
||||
rcLeft[8] = {112, 0, 128, 16};
|
||||
|
||||
rcRight[0] = {0, 16, 16, 32};
|
||||
rcRight[1] = {48, 16, 64, 32};
|
||||
rcRight[2] = {144, 16, 160, 32};
|
||||
rcRight[3] = {16, 16, 32, 32};
|
||||
rcRight[4] = {0, 16, 16, 32};
|
||||
rcRight[5] = {32, 16, 48, 32};
|
||||
rcRight[6] = {0, 16, 16, 32};
|
||||
rcRight[7] = {160, 16, 176, 32};
|
||||
rcRight[8] = {112, 16, 128, 32};
|
||||
RECT rcRight[9] = {
|
||||
{0, 16, 16, 32},
|
||||
{48, 16, 64, 32},
|
||||
{144, 16, 160, 32},
|
||||
{16, 16, 32, 32},
|
||||
{0, 16, 16, 32},
|
||||
{32, 16, 48, 32},
|
||||
{0, 16, 16, 32},
|
||||
{160, 16, 176, 32},
|
||||
{112, 16, 128, 32},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1218,19 +1212,17 @@ void ActNpc150(NPCHAR *npc)
|
|||
if (npc->ani_no > 6)
|
||||
npc->ani_no = 3;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (npc->direct)
|
||||
npc->rect = rcRight[npc->ani_no];
|
||||
else
|
||||
if (npc->direct == 0)
|
||||
npc->rect = rcLeft[npc->ani_no];
|
||||
else
|
||||
npc->rect = rcRight[npc->ani_no];
|
||||
|
||||
if (npc->act_no == 21)
|
||||
{
|
||||
npc->rect.bottom = npc->act_wait / 4 + npc->rect.top;
|
||||
if (npc->act_wait / 2 & 1)
|
||||
if (npc->act_wait / 2 % 2)
|
||||
++npc->rect.left;
|
||||
}
|
||||
|
||||
|
@ -1244,14 +1236,15 @@ void ActNpc150(NPCHAR *npc)
|
|||
//Blue robot (standing)
|
||||
void ActNpc151(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
RECT rcRight[2];
|
||||
RECT rcLeft[2] = {
|
||||
{192, 0, 208, 16},
|
||||
{208, 0, 224, 16},
|
||||
};
|
||||
|
||||
rcLeft[0] = {192, 0, 208, 16};
|
||||
rcLeft[1] = {208, 0, 224, 16};
|
||||
|
||||
rcRight[0] = {192, 16, 208, 32};
|
||||
rcRight[1] = {208, 16, 224, 32};
|
||||
RECT rcRight[2] = {
|
||||
{192, 16, 208, 32},
|
||||
{208, 16, 224, 32},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1290,13 +1283,17 @@ void ActNpc151(NPCHAR *npc)
|
|||
//Shutter stuck
|
||||
void ActNpc152(NPCHAR *npc)
|
||||
{
|
||||
if (!npc->act_no)
|
||||
RECT rc = {0, 0, 0, 0};
|
||||
|
||||
if (npc->act_no == 0)
|
||||
{
|
||||
if (npc->direct == 2)
|
||||
npc->y += 0x2000;
|
||||
|
||||
npc->act_no = 1;
|
||||
}
|
||||
npc->rect = {0, 0, 0, 0};
|
||||
|
||||
npc->rect = rc;
|
||||
}
|
||||
|
||||
static const RECT grcKitL[21] = {
|
||||
|
@ -1681,8 +1678,6 @@ void ActNpc155(NPCHAR *npc)
|
|||
//Gaudi projectile
|
||||
void ActNpc156(NPCHAR *npc)
|
||||
{
|
||||
RECT rect_left[3];
|
||||
|
||||
if (npc->flag & 0xFF)
|
||||
{
|
||||
SetCaret(npc->x, npc->y, 2, 0);
|
||||
|
@ -1692,9 +1687,11 @@ void ActNpc156(NPCHAR *npc)
|
|||
npc->y += npc->ym;
|
||||
npc->x += npc->xm;
|
||||
|
||||
rect_left[0] = {96, 112, 112, 128};
|
||||
rect_left[1] = {112, 112, 128, 128};
|
||||
rect_left[2] = {128, 112, 144, 128};
|
||||
RECT rect_left[3] = {
|
||||
{96, 112, 112, 128},
|
||||
{112, 112, 128, 128},
|
||||
{128, 112, 144, 128},
|
||||
};
|
||||
|
||||
if (++npc->ani_no > 2)
|
||||
npc->ani_no = 0;
|
||||
|
@ -1825,26 +1822,23 @@ void ActNpc157(NPCHAR *npc)
|
|||
|
||||
npc->y += npc->ym;
|
||||
|
||||
RECT rect[1];
|
||||
|
||||
rect[0] = {16, 0, 48, 32};
|
||||
|
||||
npc->rect = rect[0];
|
||||
RECT rect = {16, 0, 48, 32};
|
||||
npc->rect = rect;
|
||||
}
|
||||
|
||||
//Fish Missile
|
||||
void ActNpc158(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[8];
|
||||
|
||||
rect[0] = {0, 224, 16, 240};
|
||||
rect[1] = {16, 224, 32, 240};
|
||||
rect[2] = {32, 224, 48, 240};
|
||||
rect[3] = {48, 224, 64, 240};
|
||||
rect[4] = {64, 224, 80, 240};
|
||||
rect[5] = {80, 224, 96, 240};
|
||||
rect[6] = {96, 224, 112, 240};
|
||||
rect[7] = {112, 224, 128, 240};
|
||||
RECT rect[8] = {
|
||||
{0, 224, 16, 240},
|
||||
{16, 224, 32, 240},
|
||||
{32, 224, 48, 240},
|
||||
{48, 224, 64, 240},
|
||||
{64, 224, 80, 240},
|
||||
{80, 224, 96, 240},
|
||||
{96, 224, 112, 240},
|
||||
{112, 224, 128, 240},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1914,9 +1908,7 @@ void ActNpc158(NPCHAR *npc)
|
|||
//Monster X (defeated)
|
||||
void ActNpc159(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[1];
|
||||
|
||||
rect[0] = {144, 128, 192, 200};
|
||||
RECT rect = {144, 128, 192, 200};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1953,7 +1945,7 @@ void ActNpc159(NPCHAR *npc)
|
|||
npc->y += npc->ym;
|
||||
npc->x += npc->xm;
|
||||
|
||||
npc->rect = rect[0];
|
||||
npc->rect = rect;
|
||||
|
||||
if (npc->act_wait % 8 == 1)
|
||||
SetNpChar(4, npc->x + (Random(-16, 16) * 0x200), npc->y + (Random(-16, 16) * 0x200), Random(-341, 341), Random(-341, 341), 0, 0, 0x100);
|
||||
|
|
|
@ -152,18 +152,19 @@ void ActNpc160(NPCHAR *npc)
|
|||
break;
|
||||
}
|
||||
|
||||
RECT rect_left[4];
|
||||
RECT rect_right[4];
|
||||
RECT rect_left[4] = {
|
||||
{0, 0, 40, 24},
|
||||
{40, 0, 80, 24},
|
||||
{80, 0, 120, 24},
|
||||
{120, 0, 160, 24},
|
||||
};
|
||||
|
||||
rect_left[0] = {0, 0, 40, 24};
|
||||
rect_left[1] = {40, 0, 80, 24};
|
||||
rect_left[2] = {80, 0, 120, 24};
|
||||
rect_left[3] = {120, 0, 160, 24};
|
||||
|
||||
rect_right[0] = {0, 24, 40, 48};
|
||||
rect_right[1] = {40, 24, 80, 48};
|
||||
rect_right[2] = {80, 24, 120, 48};
|
||||
rect_right[3] = {120, 24, 160, 48};
|
||||
RECT rect_right[4] = {
|
||||
{0, 24, 40, 48},
|
||||
{40, 24, 80, 48},
|
||||
{80, 24, 120, 48},
|
||||
{120, 24, 160, 48},
|
||||
};
|
||||
|
||||
if (npc->direct == 0)
|
||||
npc->rect = rect_left[npc->ani_no];
|
||||
|
@ -174,8 +175,6 @@ void ActNpc160(NPCHAR *npc)
|
|||
//Puu Black projectile
|
||||
void ActNpc161(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[3];
|
||||
|
||||
npc->exp = 0;
|
||||
|
||||
if (gSuperXpos > npc->x)
|
||||
|
@ -217,9 +216,11 @@ void ActNpc161(NPCHAR *npc)
|
|||
npc->ani_no = 1;
|
||||
}
|
||||
|
||||
rect[0] = {0, 48, 16, 64};
|
||||
rect[1] = {16, 48, 32, 64};
|
||||
rect[2] = {32, 48, 48, 64};
|
||||
RECT rect[3] = {
|
||||
{0, 48, 16, 64},
|
||||
{16, 48, 32, 64},
|
||||
{32, 48, 48, 64},
|
||||
};
|
||||
|
||||
npc->rect = rect[npc->ani_no];
|
||||
}
|
||||
|
@ -314,14 +315,15 @@ void ActNpc162(NPCHAR *npc)
|
|||
//Dr Gero
|
||||
void ActNpc163(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
RECT rcRight[2];
|
||||
RECT rcLeft[2] = {
|
||||
{192, 0, 208, 16},
|
||||
{208, 0, 224, 16},
|
||||
};
|
||||
|
||||
rcLeft[0] = {192, 0, 208, 16};
|
||||
rcLeft[1] = {208, 0, 224, 16};
|
||||
|
||||
rcRight[0] = {192, 16, 208, 32};
|
||||
rcRight[1] = {208, 16, 224, 32};
|
||||
RECT rcRight[2] = {
|
||||
{192, 16, 208, 32},
|
||||
{208, 16, 224, 32},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -359,14 +361,15 @@ void ActNpc163(NPCHAR *npc)
|
|||
//Nurse Hasumi
|
||||
void ActNpc164(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
RECT rcRight[2];
|
||||
RECT rcLeft[2] = {
|
||||
{224, 0, 240, 16},
|
||||
{240, 0, 256, 16},
|
||||
};
|
||||
|
||||
rcLeft[0] = {224, 0, 240, 16};
|
||||
rcLeft[1] = {240, 0, 256, 16};
|
||||
|
||||
rcRight[0] = {224, 16, 240, 32};
|
||||
rcRight[1] = {240, 16, 256, 32};
|
||||
RECT rcRight[2] = {
|
||||
{224, 16, 240, 32},
|
||||
{240, 16, 256, 32},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -404,13 +407,12 @@ void ActNpc164(NPCHAR *npc)
|
|||
//Curly (collapsed)
|
||||
void ActNpc165(NPCHAR *npc)
|
||||
{
|
||||
RECT rcRight[2];
|
||||
RECT rcLeft[1];
|
||||
RECT rcRight[2] = {
|
||||
{192, 96, 208, 112},
|
||||
{208, 96, 224, 112},
|
||||
};
|
||||
|
||||
rcRight[0] = {192, 96, 208, 112};
|
||||
rcRight[1] = {208, 96, 224, 112};
|
||||
|
||||
rcLeft[0] = {144, 96, 160, 112};
|
||||
RECT rcLeft = {144, 96, 160, 112};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -428,7 +430,7 @@ void ActNpc165(NPCHAR *npc)
|
|||
}
|
||||
|
||||
if (npc->direct == 0)
|
||||
npc->rect = rcLeft[0];
|
||||
npc->rect = rcLeft;
|
||||
else
|
||||
npc->rect = rcRight[npc->ani_no];
|
||||
}
|
||||
|
@ -436,10 +438,10 @@ void ActNpc165(NPCHAR *npc)
|
|||
//Chaba
|
||||
void ActNpc166(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
|
||||
rcLeft[0] = {144, 104, 184, 128};
|
||||
rcLeft[1] = {184, 104, 224, 128};
|
||||
RECT rcLeft[2] = {
|
||||
{144, 104, 184, 128},
|
||||
{184, 104, 224, 128},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -474,11 +476,11 @@ void ActNpc166(NPCHAR *npc)
|
|||
//Professor Booster (falling)
|
||||
void ActNpc167(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[3];
|
||||
|
||||
rect[0] = {304, 0, 320, 16};
|
||||
rect[1] = {304, 16, 320, 32};
|
||||
rect[2] = {0, 0, 0, 0};
|
||||
RECT rect[3] = {
|
||||
{304, 0, 320, 16},
|
||||
{304, 16, 320, 32},
|
||||
{0, 0, 0, 0},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -522,9 +524,7 @@ void ActNpc167(NPCHAR *npc)
|
|||
//Boulder
|
||||
void ActNpc168(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[1];
|
||||
|
||||
rect[0] = {264, 56, 320, 96};
|
||||
RECT rect = {264, 56, 320, 96};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -572,7 +572,7 @@ void ActNpc168(NPCHAR *npc)
|
|||
break;
|
||||
}
|
||||
|
||||
npc->rect = rect[0];
|
||||
npc->rect = rect;
|
||||
}
|
||||
|
||||
//Balrog (missile)
|
||||
|
@ -791,28 +791,29 @@ void ActNpc169(NPCHAR *npc)
|
|||
npc->x += npc->xm;
|
||||
npc->y += npc->ym;
|
||||
|
||||
RECT rect_left[9];
|
||||
RECT rect_right[9];
|
||||
RECT rect_left[9] = {
|
||||
{0, 0, 40, 24},
|
||||
{0, 48, 40, 72},
|
||||
{0, 0, 40, 24},
|
||||
{40, 48, 80, 72},
|
||||
{0, 0, 40, 24},
|
||||
{80, 48, 120, 72},
|
||||
{120, 48, 160, 72},
|
||||
{120, 0, 160, 24},
|
||||
{80, 0, 120, 24},
|
||||
};
|
||||
|
||||
rect_left[0] = {0, 0, 40, 24};
|
||||
rect_left[1] = {0, 48, 40, 72};
|
||||
rect_left[2] = {0, 0, 40, 24};
|
||||
rect_left[3] = {40, 48, 80, 72};
|
||||
rect_left[4] = {0, 0, 40, 24};
|
||||
rect_left[5] = {80, 48, 120, 72};
|
||||
rect_left[6] = {120, 48, 160, 72};
|
||||
rect_left[7] = {120, 0, 160, 24};
|
||||
rect_left[8] = {80, 0, 120, 24};
|
||||
|
||||
rect_right[0] = {0, 24, 40, 48};
|
||||
rect_right[1] = {0, 72, 40, 96};
|
||||
rect_right[2] = {0, 24, 40, 48};
|
||||
rect_right[3] = {40, 72, 80, 96};
|
||||
rect_right[4] = {0, 24, 40, 48};
|
||||
rect_right[5] = {80, 72, 120, 96};
|
||||
rect_right[6] = {120, 72, 160, 96};
|
||||
rect_right[7] = {120, 24, 160, 48};
|
||||
rect_right[8] = {80, 24, 120, 48};
|
||||
RECT rect_right[9] = {
|
||||
{0, 24, 40, 48},
|
||||
{0, 72, 40, 96},
|
||||
{0, 24, 40, 48},
|
||||
{40, 72, 80, 96},
|
||||
{0, 24, 40, 48},
|
||||
{80, 72, 120, 96},
|
||||
{120, 72, 160, 96},
|
||||
{120, 24, 160, 48},
|
||||
{80, 24, 120, 48},
|
||||
};
|
||||
|
||||
if (npc->direct == 0)
|
||||
npc->rect = rect_left[npc->ani_no];
|
||||
|
@ -823,14 +824,15 @@ void ActNpc169(NPCHAR *npc)
|
|||
//Balrog missile
|
||||
void ActNpc170(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
RECT rcRight[2];
|
||||
RECT rcLeft[2] = {
|
||||
{112, 96, 128, 104},
|
||||
{128, 96, 144, 104},
|
||||
};
|
||||
|
||||
rcLeft[0] = {112, 96, 128, 104};
|
||||
rcLeft[1] = {128, 96, 144, 104};
|
||||
|
||||
rcRight[0] = {112, 104, 128, 112};
|
||||
rcRight[1] = {128, 104, 144, 112};
|
||||
RECT rcRight[2] = {
|
||||
{112, 104, 128, 112},
|
||||
{128, 104, 144, 112},
|
||||
};
|
||||
|
||||
bool bHit = false;
|
||||
|
||||
|
@ -912,14 +914,15 @@ void ActNpc170(NPCHAR *npc)
|
|||
//Fire Whirrr
|
||||
void ActNpc171(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
RECT rcRight[2];
|
||||
RECT rcLeft[2] = {
|
||||
{120, 48, 152, 80},
|
||||
{152, 48, 184, 80},
|
||||
};
|
||||
|
||||
rcLeft[0] = {120, 48, 152, 80};
|
||||
rcLeft[1] = {152, 48, 184, 80};
|
||||
|
||||
rcRight[0] = {184, 48, 216, 80};
|
||||
rcRight[1] = {216, 48, 248, 80};
|
||||
RECT rcRight[2] = {
|
||||
{184, 48, 216, 80},
|
||||
{216, 48, 248, 80},
|
||||
};
|
||||
|
||||
if (gMC.x < npc->x)
|
||||
npc->direct = 0;
|
||||
|
@ -998,11 +1001,11 @@ void ActNpc171(NPCHAR *npc)
|
|||
//Fire Whirr projectile
|
||||
void ActNpc172(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[3];
|
||||
|
||||
rect[0] = {248, 48, 264, 80};
|
||||
rect[1] = {264, 48, 280, 80};
|
||||
rect[2] = {280, 48, 296, 80};
|
||||
RECT rect[3] = {
|
||||
{248, 48, 264, 80},
|
||||
{264, 48, 280, 80},
|
||||
{280, 48, 296, 80},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1040,18 +1043,19 @@ void ActNpc172(NPCHAR *npc)
|
|||
//Gaudi (armoured)
|
||||
void ActNpc173(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[4];
|
||||
RECT rcRight[4];
|
||||
RECT rcLeft[4] = {
|
||||
{0, 128, 24, 152},
|
||||
{24, 128, 48, 152},
|
||||
{48, 128, 72, 152},
|
||||
{72, 128, 96, 152},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 128, 24, 152};
|
||||
rcLeft[1] = {24, 128, 48, 152};
|
||||
rcLeft[2] = {48, 128, 72, 152};
|
||||
rcLeft[3] = {72, 128, 96, 152};
|
||||
|
||||
rcRight[0] = {0, 152, 24, 176};
|
||||
rcRight[1] = {24, 152, 48, 176};
|
||||
rcRight[2] = {48, 152, 72, 176};
|
||||
rcRight[3] = {72, 152, 96, 176};
|
||||
RECT rcRight[4] = {
|
||||
{0, 152, 24, 176},
|
||||
{24, 152, 48, 176},
|
||||
{48, 152, 72, 176},
|
||||
{72, 152, 96, 176},
|
||||
};
|
||||
|
||||
if (npc->x <= gMC.x + (WINDOW_WIDTH * 0x200) && npc->x >= gMC.x - (WINDOW_WIDTH * 0x200) && npc->y <= gMC.y + (WINDOW_HEIGHT * 0x200) && npc->y >= gMC.y - (WINDOW_HEIGHT * 0x200))
|
||||
{
|
||||
|
@ -1201,8 +1205,6 @@ void ActNpc173(NPCHAR *npc)
|
|||
//Armoured-Gaudi projectile
|
||||
void ActNpc174(NPCHAR *npc)
|
||||
{
|
||||
RECT rect_left[3];
|
||||
|
||||
bool bHit;
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1272,9 +1274,11 @@ void ActNpc174(NPCHAR *npc)
|
|||
if (npc->ym < -0x5FF)
|
||||
npc->ym = -0x5FF;
|
||||
|
||||
rect_left[0] = {120, 80, 136, 96};
|
||||
rect_left[1] = {136, 80, 152, 96};
|
||||
rect_left[2] = {152, 80, 168, 96};
|
||||
RECT rect_left[3] = {
|
||||
{120, 80, 136, 96},
|
||||
{136, 80, 152, 96},
|
||||
{152, 80, 168, 96},
|
||||
};
|
||||
|
||||
if (++npc->ani_no > 2)
|
||||
npc->ani_no = 0;
|
||||
|
@ -1285,14 +1289,15 @@ void ActNpc174(NPCHAR *npc)
|
|||
//Gaudi egg
|
||||
void ActNpc175(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
RECT rcRight[2];
|
||||
RECT rcLeft[2] = {
|
||||
{168, 80, 192, 104},
|
||||
{192, 80, 216, 104},
|
||||
};
|
||||
|
||||
rcLeft[0] = {168, 80, 192, 104};
|
||||
rcLeft[1] = {192, 80, 216, 104};
|
||||
|
||||
rcRight[0] = {216, 80, 240, 104};
|
||||
rcRight[1] = {240, 80, 264, 104};
|
||||
RECT rcRight[2] = {
|
||||
{216, 80, 240, 104},
|
||||
{240, 80, 264, 104},
|
||||
};
|
||||
|
||||
if (npc->act_no < 3 && npc->life < 90)
|
||||
{
|
||||
|
@ -1330,16 +1335,17 @@ void ActNpc175(NPCHAR *npc)
|
|||
//BuyoBuyo Base
|
||||
void ActNpc176(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[3];
|
||||
RECT rcRight[3];
|
||||
RECT rcLeft[3] = {
|
||||
{96, 128, 128, 144},
|
||||
{128, 128, 160, 144},
|
||||
{160, 128, 192, 144},
|
||||
};
|
||||
|
||||
rcLeft[0] = {96, 128, 128, 144};
|
||||
rcLeft[1] = {128, 128, 160, 144};
|
||||
rcLeft[2] = {160, 128, 192, 144};
|
||||
|
||||
rcRight[0] = {96, 144, 128, 160};
|
||||
rcRight[1] = {128, 144, 160, 160};
|
||||
rcRight[2] = {160, 144, 192, 160};
|
||||
RECT rcRight[3] = {
|
||||
{96, 144, 128, 160},
|
||||
{128, 144, 160, 160},
|
||||
{160, 144, 192, 160},
|
||||
};
|
||||
|
||||
if (npc->act_no < 3 && npc->life < 940)
|
||||
{
|
||||
|
@ -1426,10 +1432,10 @@ void ActNpc176(NPCHAR *npc)
|
|||
//BuyoBuyo
|
||||
void ActNpc177(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[2];
|
||||
|
||||
rc[0] = {192, 128, 208, 144};
|
||||
rc[1] = {208, 128, 224, 144};
|
||||
RECT rc[2] = {
|
||||
{192, 128, 208, 144},
|
||||
{208, 128, 224, 144},
|
||||
};
|
||||
|
||||
if (npc->flag & 0xFF)
|
||||
{
|
||||
|
@ -1538,11 +1544,11 @@ void ActNpc178(NPCHAR *npc)
|
|||
npc->x += npc->xm;
|
||||
}
|
||||
|
||||
RECT rect_left[3];
|
||||
|
||||
rect_left[0] = {0, 224, 16, 240};
|
||||
rect_left[1] = {16, 224, 32, 240};
|
||||
rect_left[2] = {32, 224, 48, 240};
|
||||
RECT rect_left[3] = {
|
||||
{0, 224, 16, 240},
|
||||
{16, 224, 32, 240},
|
||||
{32, 224, 48, 240},
|
||||
};
|
||||
|
||||
if (++npc->ani_wait > 1)
|
||||
{
|
||||
|
@ -1580,11 +1586,11 @@ void ActNpc179(NPCHAR *npc)
|
|||
npc->y += npc->ym;
|
||||
npc->x += npc->xm;
|
||||
|
||||
RECT rect_left[3];
|
||||
|
||||
rect_left[0] = {48, 224, 72, 240};
|
||||
rect_left[1] = {72, 224, 96, 240};
|
||||
rect_left[2] = {96, 224, 120, 240};
|
||||
RECT rect_left[3] = {
|
||||
{48, 224, 72, 240},
|
||||
{72, 224, 96, 240},
|
||||
{96, 224, 120, 240},
|
||||
};
|
||||
|
||||
if (++npc->ani_wait > 1)
|
||||
{
|
||||
|
|
|
@ -17,32 +17,33 @@
|
|||
//Curly AI
|
||||
void ActNpc180(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[11];
|
||||
RECT rcRight[11];
|
||||
RECT rcLeft[11] = {
|
||||
{0, 96, 16, 112},
|
||||
{16, 96, 32, 112},
|
||||
{0, 96, 16, 112},
|
||||
{32, 96, 48, 112},
|
||||
{0, 96, 16, 112},
|
||||
{48, 96, 64, 112},
|
||||
{64, 96, 80, 112},
|
||||
{48, 96, 64, 112},
|
||||
{80, 96, 96, 112},
|
||||
{48, 96, 64, 112},
|
||||
{144, 96, 160, 112},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 96, 16, 112};
|
||||
rcLeft[1] = {16, 96, 32, 112};
|
||||
rcLeft[2] = {0, 96, 16, 112};
|
||||
rcLeft[3] = {32, 96, 48, 112};
|
||||
rcLeft[4] = {0, 96, 16, 112};
|
||||
rcLeft[5] = {48, 96, 64, 112};
|
||||
rcLeft[6] = {64, 96, 80, 112};
|
||||
rcLeft[7] = {48, 96, 64, 112};
|
||||
rcLeft[8] = {80, 96, 96, 112};
|
||||
rcLeft[9] = {48, 96, 64, 112};
|
||||
rcLeft[10] = {144, 96, 160, 112};
|
||||
|
||||
rcRight[0] = {0, 112, 16, 128};
|
||||
rcRight[1] = {16, 112, 32, 128};
|
||||
rcRight[2] = {0, 112, 16, 128};
|
||||
rcRight[3] = {32, 112, 48, 128};
|
||||
rcRight[4] = {0, 112, 16, 128};
|
||||
rcRight[5] = {48, 112, 64, 128};
|
||||
rcRight[6] = {64, 112, 80, 128};
|
||||
rcRight[7] = {48, 112, 64, 128};
|
||||
rcRight[8] = {80, 112, 96, 128};
|
||||
rcRight[9] = {48, 112, 64, 128};
|
||||
rcRight[10] = {144, 112, 160, 128};
|
||||
RECT rcRight[11] = {
|
||||
{0, 112, 16, 128},
|
||||
{16, 112, 32, 128},
|
||||
{0, 112, 16, 128},
|
||||
{32, 112, 48, 128},
|
||||
{0, 112, 16, 128},
|
||||
{48, 112, 64, 128},
|
||||
{64, 112, 80, 128},
|
||||
{48, 112, 64, 128},
|
||||
{80, 112, 96, 128},
|
||||
{48, 112, 64, 128},
|
||||
{144, 112, 160, 128},
|
||||
};
|
||||
|
||||
if (npc->y < gMC.y - 0x14000)
|
||||
{
|
||||
|
@ -269,7 +270,7 @@ void ActNpc180(NPCHAR *npc)
|
|||
if (npc->xm > 0x300)
|
||||
npc->xm = 0x300;
|
||||
if (npc->xm < -0x300)
|
||||
npc->xm = -0x300u;
|
||||
npc->xm = -0x300;
|
||||
|
||||
if (npc->ym > 0x5FF)
|
||||
npc->ym = 0x5FF;
|
||||
|
@ -294,14 +295,15 @@ void ActNpc180(NPCHAR *npc)
|
|||
//Curly AI Machine Gun
|
||||
void ActNpc181(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
RECT rcRight[2];
|
||||
RECT rcLeft[2] = {
|
||||
{216, 152, 232, 168},
|
||||
{232, 152, 248, 168},
|
||||
};
|
||||
|
||||
rcLeft[0] = {216, 152, 232, 168};
|
||||
rcLeft[1] = {232, 152, 248, 168};
|
||||
|
||||
rcRight[0] = {216, 168, 232, 184};
|
||||
rcRight[1] = {232, 168, 248, 184};
|
||||
RECT rcRight[2] = {
|
||||
{216, 168, 232, 184},
|
||||
{232, 168, 248, 184},
|
||||
};
|
||||
|
||||
if (npc->pNpc)
|
||||
{
|
||||
|
@ -400,14 +402,15 @@ void ActNpc181(NPCHAR *npc)
|
|||
//Curly AI Polar Star
|
||||
void ActNpc182(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
RECT rcRight[2];
|
||||
RECT rcLeft[2] = {
|
||||
{184, 152, 200, 168},
|
||||
{200, 152, 216, 168},
|
||||
};
|
||||
|
||||
rcLeft[0] = {184, 152, 200, 168};
|
||||
rcLeft[1] = {200, 152, 216, 168};
|
||||
|
||||
rcRight[0] = {184, 168, 200, 184};
|
||||
rcRight[1] = {200, 168, 216, 184};
|
||||
RECT rcRight[2] = {
|
||||
{184, 168, 200, 184},
|
||||
{200, 168, 216, 184},
|
||||
};
|
||||
|
||||
if (npc->pNpc)
|
||||
{
|
||||
|
@ -506,10 +509,10 @@ void ActNpc182(NPCHAR *npc)
|
|||
//Curly Air Tank Bubble
|
||||
void ActNpc183(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[2];
|
||||
|
||||
rect[0] = {56, 96, 80, 120};
|
||||
rect[1] = {80, 96, 104, 120};
|
||||
RECT rect[2] = {
|
||||
{56, 96, 80, 120},
|
||||
{80, 96, 104, 120},
|
||||
};
|
||||
|
||||
if (npc->pNpc)
|
||||
{
|
||||
|
@ -546,11 +549,12 @@ void ActNpc183(NPCHAR *npc)
|
|||
//Shutter Big
|
||||
void ActNpc184(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[4];
|
||||
rc[0] = {0, 64, 32, 96};
|
||||
rc[1] = {32, 64, 64, 96};
|
||||
rc[2] = {64, 64, 96, 96};
|
||||
rc[3] = {32, 64, 64, 96};
|
||||
RECT rc[4] = {
|
||||
{0, 64, 32, 96},
|
||||
{32, 64, 64, 96},
|
||||
{64, 64, 96, 96},
|
||||
{32, 64, 64, 96},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -609,6 +613,8 @@ void ActNpc184(NPCHAR *npc)
|
|||
//Shutter Small
|
||||
void ActNpc185(NPCHAR *npc)
|
||||
{
|
||||
RECT rc = {96, 64, 112, 96};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
case 0:
|
||||
|
@ -639,27 +645,24 @@ void ActNpc185(NPCHAR *npc)
|
|||
}
|
||||
++npc->act_wait;
|
||||
break;
|
||||
case 0x14:
|
||||
case 20:
|
||||
npc->y -= 0x3000;
|
||||
npc->act_no = 1;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
npc->rect.left = 96;
|
||||
npc->rect.top = 64;
|
||||
npc->rect.right = 112;
|
||||
npc->rect.bottom = 96;
|
||||
|
||||
npc->rect = rc;
|
||||
}
|
||||
|
||||
//Lift block
|
||||
void ActNpc186(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[4];
|
||||
rc[0] = {48, 48, 64, 64};
|
||||
rc[1] = {64, 48, 80, 64};
|
||||
rc[2] = {80, 48, 96, 64};
|
||||
rc[3] = {64, 48, 80, 64};
|
||||
RECT rc[4] = {
|
||||
{48, 48, 64, 64},
|
||||
{64, 48, 80, 64},
|
||||
{80, 48, 96, 64},
|
||||
{64, 48, 80, 64},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -755,14 +758,15 @@ void ActNpc187(NPCHAR *npc)
|
|||
npc->x += npc->xm;
|
||||
npc->y += npc->ym;
|
||||
|
||||
RECT rect_left[2];
|
||||
RECT rect_right[2];
|
||||
RECT rect_left[2] = {
|
||||
{224, 104, 256, 136},
|
||||
{256, 104, 288, 136},
|
||||
};
|
||||
|
||||
rect_left[0] = {224, 104, 256, 136};
|
||||
rect_left[1] = {256, 104, 288, 136};
|
||||
|
||||
rect_right[0] = {224, 136, 256, 168};
|
||||
rect_right[1] = {256, 136, 288, 168};
|
||||
RECT rect_right[2] = {
|
||||
{224, 136, 256, 168},
|
||||
{256, 136, 288, 168},
|
||||
};
|
||||
|
||||
if (++npc->ani_wait > 2)
|
||||
{
|
||||
|
@ -782,9 +786,6 @@ void ActNpc187(NPCHAR *npc)
|
|||
//Fuzz
|
||||
void ActNpc188(NPCHAR *npc)
|
||||
{
|
||||
RECT rect_left[2];
|
||||
RECT rect_right[2];
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
case 0:
|
||||
|
@ -848,11 +849,15 @@ void ActNpc188(NPCHAR *npc)
|
|||
if (npc->ani_no > 1)
|
||||
npc->ani_no = 0;
|
||||
|
||||
rect_left[0] = {288, 104, 304, 120};
|
||||
rect_left[1] = {304, 104, 320, 120};
|
||||
RECT rect_left[2] = {
|
||||
{288, 104, 304, 120},
|
||||
{304, 104, 320, 120},
|
||||
};
|
||||
|
||||
rect_right[0] = {288, 120, 304, 136};
|
||||
rect_right[1] = {304, 120, 320, 136};
|
||||
RECT rect_right[2] = {
|
||||
{288, 120, 304, 136},
|
||||
{304, 120, 320, 136},
|
||||
};
|
||||
|
||||
if (npc->direct == 0)
|
||||
npc->rect = rect_left[npc->ani_no];
|
||||
|
@ -917,11 +922,11 @@ void ActNpc189(NPCHAR *npc)
|
|||
if (npc->ani_no > 2)
|
||||
npc->ani_no = 0;
|
||||
|
||||
RECT rect[3];
|
||||
|
||||
rect[0] = {224, 184, 232, 200};
|
||||
rect[1] = {232, 184, 240, 200};
|
||||
rect[2] = {240, 184, 248, 200};
|
||||
RECT rect[3] = {
|
||||
{224, 184, 232, 200},
|
||||
{232, 184, 240, 200},
|
||||
{240, 184, 248, 200},
|
||||
};
|
||||
|
||||
npc->rect = rect[npc->ani_no];
|
||||
}
|
||||
|
@ -929,9 +934,10 @@ void ActNpc189(NPCHAR *npc)
|
|||
//Broken robot
|
||||
void ActNpc190(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[2];
|
||||
rect[0] = {192, 32, 208, 48};
|
||||
rect[1] = {208, 32, 224, 48};
|
||||
RECT rect[2] = {
|
||||
{192, 32, 208, 48},
|
||||
{208, 32, 224, 48},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1119,14 +1125,15 @@ void ActNpc192(NPCHAR *npc)
|
|||
SetCaret(npc->x - 5120, npc->y + 5120, 7, 0);
|
||||
}
|
||||
|
||||
RECT rcLeft[2];
|
||||
RECT rcRight[2];
|
||||
RECT rcLeft[2] = {
|
||||
{224, 64, 256, 80},
|
||||
{256, 64, 288, 96},
|
||||
};
|
||||
|
||||
rcLeft[0] = {224, 64, 256, 80};
|
||||
rcLeft[1] = {256, 64, 288, 96};
|
||||
|
||||
rcRight[0] = {224, 80, 256, 96};
|
||||
rcRight[1] = {288, 64, 320, 96};
|
||||
RECT rcRight[2] = {
|
||||
{224, 80, 256, 96},
|
||||
{288, 64, 320, 96},
|
||||
};
|
||||
|
||||
if (npc->direct == 0)
|
||||
npc->rect = rcLeft[npc->ani_no];
|
||||
|
@ -1137,9 +1144,7 @@ void ActNpc192(NPCHAR *npc)
|
|||
//Scooter (broken)
|
||||
void ActNpc193(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[1];
|
||||
|
||||
rc[0] = {256, 96, 320, 112};
|
||||
RECT rc = {256, 96, 320, 112};
|
||||
|
||||
if (npc->act_no == 0)
|
||||
{
|
||||
|
@ -1148,15 +1153,13 @@ void ActNpc193(NPCHAR *npc)
|
|||
npc->x += 0x3000;
|
||||
}
|
||||
|
||||
npc->rect = rc[0];
|
||||
npc->rect = rc;
|
||||
}
|
||||
|
||||
//Blue robot (broken)
|
||||
void ActNpc194(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[1];
|
||||
|
||||
rc[0] = {192, 120, 224, 128};
|
||||
RECT rc = {192, 120, 224, 128};
|
||||
|
||||
if (npc->act_no == 0)
|
||||
{
|
||||
|
@ -1164,7 +1167,7 @@ void ActNpc194(NPCHAR *npc)
|
|||
npc->y += 0x800;
|
||||
}
|
||||
|
||||
npc->rect = rc[0];
|
||||
npc->rect = rc;
|
||||
}
|
||||
|
||||
//Grate
|
||||
|
@ -1194,12 +1197,12 @@ void ActNpc196(NPCHAR *npc)
|
|||
//Porcupine Fish
|
||||
void ActNpc197(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[4];
|
||||
|
||||
rc[0] = {0, 0, 16, 16};
|
||||
rc[1] = {16, 0, 32, 16};
|
||||
rc[2] = {32, 0, 48, 16};
|
||||
rc[3] = {48, 0, 64, 16};
|
||||
RECT rc[4] = {
|
||||
{0, 0, 16, 16},
|
||||
{16, 0, 32, 16},
|
||||
{32, 0, 48, 16},
|
||||
{48, 0, 64, 16},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1264,11 +1267,11 @@ void ActNpc197(NPCHAR *npc)
|
|||
//Ironhead projectile
|
||||
void ActNpc198(NPCHAR *npc)
|
||||
{
|
||||
RECT rcRight[3];
|
||||
|
||||
rcRight[0] = {208, 48, 224, 72};
|
||||
rcRight[1] = {224, 48, 240, 72};
|
||||
rcRight[2] = {240, 48, 256, 72};
|
||||
RECT rcRight[3] = {
|
||||
{208, 48, 224, 72},
|
||||
{224, 48, 240, 72},
|
||||
{240, 48, 256, 72},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1312,13 +1315,13 @@ void ActNpc198(NPCHAR *npc)
|
|||
//Water/wind particles
|
||||
void ActNpc199(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[5];
|
||||
|
||||
rect[0] = {72, 16, 74, 18};
|
||||
rect[1] = {74, 16, 76, 18};
|
||||
rect[2] = {76, 16, 78, 18};
|
||||
rect[3] = {78, 16, 80, 18};
|
||||
rect[4] = {80, 16, 82, 18};
|
||||
RECT rect[5] = {
|
||||
{72, 16, 74, 18},
|
||||
{74, 16, 76, 18},
|
||||
{76, 16, 78, 18},
|
||||
{78, 16, 80, 18},
|
||||
{80, 16, 82, 18},
|
||||
};
|
||||
|
||||
if (npc->act_no == 0)
|
||||
{
|
||||
|
|
|
@ -15,22 +15,23 @@
|
|||
//Dragon Zombie
|
||||
void ActNpc200(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[6];
|
||||
RECT rcRight[6];
|
||||
RECT rcLeft[6] = {
|
||||
{0, 0, 40, 40},
|
||||
{40, 0, 80, 40},
|
||||
{80, 0, 120, 40},
|
||||
{120, 0, 160, 40},
|
||||
{160, 0, 200, 40},
|
||||
{200, 0, 240, 40},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 0, 40, 40};
|
||||
rcLeft[1] = {40, 0, 80, 40};
|
||||
rcLeft[2] = {80, 0, 120, 40};
|
||||
rcLeft[3] = {120, 0, 160, 40};
|
||||
rcLeft[4] = {160, 0, 200, 40};
|
||||
rcLeft[5] = {200, 0, 240, 40};
|
||||
|
||||
rcRight[0] = {0, 40, 40, 80};
|
||||
rcRight[1] = {40, 40, 80, 80};
|
||||
rcRight[2] = {80, 40, 120, 80};
|
||||
rcRight[3] = {120, 40, 160, 80};
|
||||
rcRight[4] = {160, 40, 200, 80};
|
||||
rcRight[5] = {200, 40, 240, 80};
|
||||
RECT rcRight[6] = {
|
||||
{0, 40, 40, 80},
|
||||
{40, 40, 80, 80},
|
||||
{80, 40, 120, 80},
|
||||
{120, 40, 160, 80},
|
||||
{160, 40, 200, 80},
|
||||
{200, 40, 240, 80},
|
||||
};
|
||||
|
||||
if (npc->act_no < 100 && npc->life < 950)
|
||||
{
|
||||
|
@ -132,11 +133,8 @@ void ActNpc200(NPCHAR *npc)
|
|||
//Dragon Zombie (dead)
|
||||
void ActNpc201(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[1];
|
||||
RECT rcRight[1];
|
||||
|
||||
rcLeft[0] = {200, 0, 240, 40};
|
||||
rcRight[0] = {200, 40, 240, 80};
|
||||
RECT rcLeft[1] = {200, 0, 240, 40};
|
||||
RECT rcRight[1] = {200, 40, 240, 80};
|
||||
|
||||
if (npc->direct == 0)
|
||||
npc->rect = rcLeft[npc->ani_no];
|
||||
|
@ -147,8 +145,6 @@ void ActNpc201(NPCHAR *npc)
|
|||
//Dragon Zombie projectile
|
||||
void ActNpc202(NPCHAR *npc)
|
||||
{
|
||||
RECT rect_left[3];
|
||||
|
||||
if (npc->flag & 0xFF)
|
||||
{
|
||||
npc->cond = 0;
|
||||
|
@ -158,9 +154,11 @@ void ActNpc202(NPCHAR *npc)
|
|||
npc->y += npc->ym;
|
||||
npc->x += npc->xm;
|
||||
|
||||
rect_left[0] = {184, 216, 200, 240};
|
||||
rect_left[1] = {200, 216, 216, 240};
|
||||
rect_left[2] = {216, 216, 232, 240};
|
||||
RECT rect_left[3] = {
|
||||
{184, 216, 200, 240},
|
||||
{200, 216, 216, 240},
|
||||
{216, 216, 232, 240},
|
||||
};
|
||||
|
||||
if (++npc->ani_wait > 1)
|
||||
{
|
||||
|
@ -183,16 +181,17 @@ void ActNpc202(NPCHAR *npc)
|
|||
//Critter (destroyed Egg Corridor)
|
||||
void ActNpc203(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[3];
|
||||
RECT rcRight[3];
|
||||
RECT rcLeft[3] = {
|
||||
{0, 80, 16, 96},
|
||||
{16, 80, 32, 96},
|
||||
{32, 80, 48, 96},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 80, 16, 96};
|
||||
rcLeft[1] = {16, 80, 32, 96};
|
||||
rcLeft[2] = {32, 80, 48, 96};
|
||||
|
||||
rcRight[0] = {0, 96, 16, 112};
|
||||
rcRight[1] = {16, 96, 32, 112};
|
||||
rcRight[2] = {32, 96, 48, 112};
|
||||
RECT rcRight[3] = {
|
||||
{0, 96, 16, 112},
|
||||
{16, 96, 32, 112},
|
||||
{32, 96, 48, 112},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -282,10 +281,10 @@ void ActNpc203(NPCHAR *npc)
|
|||
//Falling spike (small)
|
||||
void ActNpc204(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[2]; // [sp+4h] [bp-20h]@1
|
||||
|
||||
rc[0] = {240, 80, 256, 96};
|
||||
rc[1] = {240, 144, 256, 160};
|
||||
RECT rc[2] = {
|
||||
{240, 80, 256, 96},
|
||||
{240, 144, 256, 160},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -338,10 +337,10 @@ void ActNpc204(NPCHAR *npc)
|
|||
//Falling spike (large)
|
||||
void ActNpc205(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[2];
|
||||
|
||||
rc[0] = {112, 80, 128, 112};
|
||||
rc[1] = {128, 80, 144, 112};
|
||||
RECT rc[2] = {
|
||||
{112, 80, 128, 112},
|
||||
{128, 80, 144, 112},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -421,8 +420,6 @@ void ActNpc205(NPCHAR *npc)
|
|||
//Counter Bomb
|
||||
void ActNpc206(NPCHAR *npc)
|
||||
{
|
||||
RECT rect_left[3];
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
case 0:
|
||||
|
@ -513,9 +510,11 @@ void ActNpc206(NPCHAR *npc)
|
|||
npc->x += npc->xm;
|
||||
npc->y += npc->ym;
|
||||
|
||||
rect_left[0] = {80, 80, 120, 120};
|
||||
rect_left[1] = {120, 80, 160, 120};
|
||||
rect_left[2] = {160, 80, 200, 120};
|
||||
RECT rect_left[3] = {
|
||||
{80, 80, 120, 120},
|
||||
{120, 80, 160, 120},
|
||||
{160, 80, 200, 120},
|
||||
};
|
||||
|
||||
if (++npc->ani_wait > 4)
|
||||
{
|
||||
|
@ -532,13 +531,13 @@ void ActNpc206(NPCHAR *npc)
|
|||
//Counter Bomb's countdown
|
||||
void ActNpc207(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[5];
|
||||
|
||||
rc[0] = {0, 144, 16, 160};
|
||||
rc[1] = {16, 144, 32, 160};
|
||||
rc[2] = {32, 144, 48, 160};
|
||||
rc[3] = {48, 144, 64, 160};
|
||||
rc[4] = {64, 144, 80, 160};
|
||||
RECT rc[5] = {
|
||||
{0, 144, 16, 160},
|
||||
{16, 144, 32, 160},
|
||||
{32, 144, 48, 160},
|
||||
{48, 144, 64, 160},
|
||||
{64, 144, 80, 160},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -574,16 +573,17 @@ void ActNpc207(NPCHAR *npc)
|
|||
//Basu (destroyed Egg Corridor)
|
||||
void ActNpc208(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[3];
|
||||
RECT rcRight[3];
|
||||
RECT rcLeft[3] = {
|
||||
{248, 80, 272, 104},
|
||||
{272, 80, 296, 104},
|
||||
{296, 80, 320, 104},
|
||||
};
|
||||
|
||||
rcLeft[0] = {248, 80, 272, 104};
|
||||
rcLeft[1] = {272, 80, 296, 104};
|
||||
rcLeft[2] = {296, 80, 320, 104};
|
||||
|
||||
rcRight[0] = {248, 104, 272, 128};
|
||||
rcRight[1] = {272, 104, 296, 128};
|
||||
rcRight[2] = {296, 104, 320, 128};
|
||||
RECT rcRight[3] = {
|
||||
{248, 104, 272, 128},
|
||||
{272, 104, 296, 128},
|
||||
{296, 104, 320, 128},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -733,12 +733,12 @@ void ActNpc209(NPCHAR *npc)
|
|||
npc->y += npc->ym;
|
||||
npc->x += npc->xm;
|
||||
|
||||
RECT rect_left[4];
|
||||
|
||||
rect_left[0] = {232, 96, 248, 112};
|
||||
rect_left[1] = {200, 112, 216, 128};
|
||||
rect_left[2] = {216, 112, 232, 128};
|
||||
rect_left[3] = {232, 112, 248, 128};
|
||||
RECT rect_left[4] = {
|
||||
{232, 96, 248, 112},
|
||||
{200, 112, 216, 128},
|
||||
{216, 112, 232, 128},
|
||||
{232, 112, 248, 128},
|
||||
};
|
||||
|
||||
if (++npc->ani_wait > 2)
|
||||
{
|
||||
|
@ -761,14 +761,15 @@ void ActNpc209(NPCHAR *npc)
|
|||
//Beetle (destroyed Egg Corridor)
|
||||
void ActNpc210(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
RECT rcRight[2];
|
||||
RECT rcLeft[2] = {
|
||||
{0, 112, 16, 128},
|
||||
{16, 112, 32, 128},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 112, 16, 128};
|
||||
rcLeft[1] = {16, 112, 32, 128};
|
||||
|
||||
rcRight[0] = {32, 112, 48, 128};
|
||||
rcRight[1] = {48, 112, 64, 128};
|
||||
RECT rcRight[2] = {
|
||||
{32, 112, 48, 128},
|
||||
{48, 112, 64, 128},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -861,12 +862,12 @@ void ActNpc210(NPCHAR *npc)
|
|||
//Spikes (small)
|
||||
void ActNpc211(NPCHAR *npc)
|
||||
{
|
||||
RECT rects[4];
|
||||
|
||||
rects[0] = {256, 200, 272, 216};
|
||||
rects[1] = {272, 200, 288, 216};
|
||||
rects[2] = {288, 200, 304, 216};
|
||||
rects[3] = {304, 200, 320, 216};
|
||||
RECT rects[4] = {
|
||||
{256, 200, 272, 216},
|
||||
{272, 200, 288, 216},
|
||||
{288, 200, 304, 216},
|
||||
{304, 200, 320, 216},
|
||||
};
|
||||
|
||||
npc->rect = rects[npc->code_event];
|
||||
}
|
||||
|
@ -874,12 +875,12 @@ void ActNpc211(NPCHAR *npc)
|
|||
//Sky Dragon
|
||||
void ActNpc212(NPCHAR *npc)
|
||||
{
|
||||
RECT rcRight[4];
|
||||
|
||||
rcRight[0] = {160, 152, 200, 192};
|
||||
rcRight[1] = {200, 152, 240, 192};
|
||||
rcRight[2] = {240, 112, 280, 152};
|
||||
rcRight[3] = {280, 112, 320, 152};
|
||||
RECT rcRight[4] = {
|
||||
{160, 152, 200, 192},
|
||||
{200, 152, 240, 192},
|
||||
{240, 112, 280, 152},
|
||||
{280, 112, 320, 152},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -985,18 +986,18 @@ void ActNpc212(NPCHAR *npc)
|
|||
//Night Spirit
|
||||
void ActNpc213(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[10];
|
||||
|
||||
rect[0] = {0, 0, 0, 0};
|
||||
rect[1] = {0, 0, 48, 48};
|
||||
rect[2] = {48, 0, 96, 48};
|
||||
rect[3] = {96, 0, 144, 48};
|
||||
rect[4] = {144, 0, 192, 48};
|
||||
rect[5] = {192, 0, 240, 48};
|
||||
rect[6] = {240, 0, 288, 48};
|
||||
rect[7] = {0, 48, 48, 96};
|
||||
rect[8] = {48, 48, 96, 96};
|
||||
rect[9] = {96, 48, 144, 96};
|
||||
RECT rect[10] = {
|
||||
{0, 0, 0, 0},
|
||||
{0, 0, 48, 48},
|
||||
{48, 0, 96, 48},
|
||||
{96, 0, 144, 48},
|
||||
{144, 0, 192, 48},
|
||||
{192, 0, 240, 48},
|
||||
{240, 0, 288, 48},
|
||||
{0, 48, 48, 96},
|
||||
{48, 48, 96, 96},
|
||||
{96, 48, 144, 96},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1151,11 +1152,11 @@ void ActNpc213(NPCHAR *npc)
|
|||
//Night Spirit projectile
|
||||
void ActNpc214(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[3];
|
||||
|
||||
rect[0] = {144, 48, 176, 64};
|
||||
rect[1] = {176, 48, 208, 64};
|
||||
rect[2] = {208, 48, 240, 64};
|
||||
RECT rect[3] = {
|
||||
{144, 48, 176, 64},
|
||||
{176, 48, 208, 64},
|
||||
{208, 48, 240, 64},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1288,13 +1289,13 @@ void ActNpc215(NPCHAR *npc)
|
|||
break;
|
||||
}
|
||||
|
||||
RECT rect[5];
|
||||
|
||||
rect[0] = {0, 0, 0, 0};
|
||||
rect[1] = {0, 96, 48, 128};
|
||||
rect[2] = {48, 96, 96, 128};
|
||||
rect[3] = {96, 96, 144, 128};
|
||||
rect[4] = {144, 96, 192, 128};
|
||||
RECT rect[5] = {
|
||||
{0, 0, 0, 0},
|
||||
{0, 96, 48, 128},
|
||||
{48, 96, 96, 128},
|
||||
{96, 96, 144, 128},
|
||||
{144, 96, 192, 128},
|
||||
};
|
||||
|
||||
npc->rect = rect[npc->ani_no];
|
||||
}
|
||||
|
@ -1310,16 +1311,16 @@ void ActNpc216(NPCHAR *npc)
|
|||
//Itoh
|
||||
void ActNpc217(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[8];
|
||||
|
||||
rect[0] = {144, 64, 160, 80};
|
||||
rect[1] = {160, 64, 176, 80};
|
||||
rect[2] = {176, 64, 192, 80};
|
||||
rect[3] = {192, 64, 208, 80};
|
||||
rect[4] = {144, 80, 160, 96};
|
||||
rect[5] = {160, 80, 176, 96};
|
||||
rect[6] = {144, 80, 160, 96};
|
||||
rect[7] = {176, 80, 192, 96};
|
||||
RECT rect[8] = {
|
||||
{144, 64, 160, 80},
|
||||
{160, 64, 176, 80},
|
||||
{176, 64, 192, 80},
|
||||
{192, 64, 208, 80},
|
||||
{144, 80, 160, 96},
|
||||
{160, 80, 176, 96},
|
||||
{144, 80, 160, 96},
|
||||
{176, 80, 192, 96},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1436,10 +1437,10 @@ void ActNpc217(NPCHAR *npc)
|
|||
// Core giant energy ball projectile
|
||||
void ActNpc218(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[2];
|
||||
|
||||
rc[0] = {256, 120, 288, 152};
|
||||
rc[1] = {288, 120, 320, 152};
|
||||
RECT rc[2] = {
|
||||
{256, 120, 288, 152},
|
||||
{288, 120, 320, 152},
|
||||
};
|
||||
|
||||
npc->x += npc->xm;
|
||||
npc->y += npc->ym;
|
||||
|
@ -1462,14 +1463,12 @@ void ActNpc218(NPCHAR *npc)
|
|||
//Smoke generator
|
||||
void ActNpc219(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[1];
|
||||
|
||||
rc[0] = {0, 0, 0, 0};
|
||||
RECT rc = {0, 0, 0, 0};
|
||||
|
||||
if (npc->direct)
|
||||
SetNpChar(199, npc->x + (Random(-0xA0, 0xA0) * 0x200), npc->y + (Random(-0x80, 0x80) * 0x200), 0, 0, 2, 0, 0x100);
|
||||
else if (Random(0, 40) == 1)
|
||||
SetNpChar(4, npc->x + (Random(-20, 20) * 0x200), npc->y, 0, -0x200, 0, 0, 0x100);
|
||||
|
||||
npc->rect = rc[0];
|
||||
npc->rect = rc;
|
||||
}
|
||||
|
|
|
@ -15,14 +15,15 @@
|
|||
//Shovel Brigade
|
||||
void ActNpc220(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
RECT rcRight[2];
|
||||
RECT rcLeft[2] = {
|
||||
{0, 64, 16, 80},
|
||||
{16, 64, 32, 80},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 64, 16, 80};
|
||||
rcLeft[1] = {16, 64, 32, 80};
|
||||
|
||||
rcRight[0] = {0, 80, 16, 96};
|
||||
rcRight[1] = {16, 80, 32, 96};
|
||||
RECT rcRight[2] = {
|
||||
{0, 80, 16, 96},
|
||||
{16, 80, 32, 96},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -60,22 +61,23 @@ void ActNpc220(NPCHAR *npc)
|
|||
//Shovel Brigade (walking)
|
||||
void ActNpc221(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[6];
|
||||
RECT rcRight[6];
|
||||
RECT rcLeft[6] = {
|
||||
{0, 64, 16, 80},
|
||||
{16, 64, 32, 80},
|
||||
{32, 64, 48, 80},
|
||||
{0, 64, 16, 80},
|
||||
{48, 64, 64, 80},
|
||||
{0, 64, 16, 80},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 64, 16, 80};
|
||||
rcLeft[1] = {16, 64, 32, 80};
|
||||
rcLeft[2] = {32, 64, 48, 80};
|
||||
rcLeft[3] = {0, 64, 16, 80};
|
||||
rcLeft[4] = {48, 64, 64, 80};
|
||||
rcLeft[5] = {0, 64, 16, 80};
|
||||
|
||||
rcRight[0] = {0, 80, 16, 96};
|
||||
rcRight[1] = {16, 80, 32, 96};
|
||||
rcRight[2] = {32, 80, 48, 96};
|
||||
rcRight[3] = {0, 80, 16, 96};
|
||||
rcRight[4] = {48, 80, 64, 96};
|
||||
rcRight[5] = {0, 80, 16, 96};
|
||||
RECT rcRight[6] = {
|
||||
{0, 80, 16, 96},
|
||||
{16, 80, 32, 96},
|
||||
{32, 80, 48, 96},
|
||||
{0, 80, 16, 96},
|
||||
{48, 80, 64, 96},
|
||||
{0, 80, 16, 96},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -178,16 +180,17 @@ void ActNpc222(NPCHAR *npc)
|
|||
//Momorin
|
||||
void ActNpc223(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[3];
|
||||
RECT rcRight[3];
|
||||
RECT rcLeft[3] = {
|
||||
{80, 192, 96, 216},
|
||||
{96, 192, 112, 216},
|
||||
{112, 192, 128, 216},
|
||||
};
|
||||
|
||||
rcLeft[0] = {80, 192, 96, 216};
|
||||
rcLeft[1] = {96, 192, 112, 216};
|
||||
rcLeft[2] = {112, 192, 128, 216};
|
||||
|
||||
rcRight[0] = {80, 216, 96, 240};
|
||||
rcRight[1] = {96, 216, 112, 240};
|
||||
rcRight[2] = {112, 216, 128, 240};
|
||||
RECT rcRight[3] = {
|
||||
{80, 216, 96, 240},
|
||||
{96, 216, 112, 240},
|
||||
{112, 216, 128, 240},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -237,14 +240,15 @@ void ActNpc223(NPCHAR *npc)
|
|||
//Chie
|
||||
void ActNpc224(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
RECT rcRight[2];
|
||||
RECT rcLeft[2] = {
|
||||
{112, 32, 128, 48},
|
||||
{128, 32, 144, 48},
|
||||
};
|
||||
|
||||
rcLeft[0] = {112, 32, 128, 48};
|
||||
rcLeft[1] = {128, 32, 144, 48};
|
||||
|
||||
rcRight[0] = {112, 48, 128, 64};
|
||||
rcRight[1] = {128, 48, 144, 64};
|
||||
RECT rcRight[2] = {
|
||||
{112, 48, 128, 64},
|
||||
{128, 48, 144, 64},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -290,14 +294,15 @@ void ActNpc224(NPCHAR *npc)
|
|||
//Megane
|
||||
void ActNpc225(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
RECT rcRight[2];
|
||||
RECT rcLeft[2] = {
|
||||
{64, 64, 80, 80},
|
||||
{80, 64, 96, 80},
|
||||
};
|
||||
|
||||
rcLeft[0] = {64, 64, 80, 80};
|
||||
rcLeft[1] = {80, 64, 96, 80};
|
||||
|
||||
rcRight[0] = {64, 80, 80, 96};
|
||||
rcRight[1] = {80, 80, 96, 96};
|
||||
RECT rcRight[2] = {
|
||||
{64, 80, 80, 96},
|
||||
{80, 80, 96, 96},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -335,15 +340,15 @@ void ActNpc225(NPCHAR *npc)
|
|||
//Kanpachi
|
||||
void ActNpc226(NPCHAR *npc)
|
||||
{
|
||||
RECT rcRight[7];
|
||||
|
||||
rcRight[0] = {256, 56, 272, 80};
|
||||
rcRight[1] = {272, 56, 288, 80};
|
||||
rcRight[2] = {288, 56, 304, 80};
|
||||
rcRight[3] = {256, 56, 272, 80};
|
||||
rcRight[4] = {304, 56, 320, 80};
|
||||
rcRight[5] = {256, 56, 272, 80};
|
||||
rcRight[6] = {240, 56, 256, 80};
|
||||
RECT rcRight[7] = {
|
||||
{256, 56, 272, 80},
|
||||
{272, 56, 288, 80},
|
||||
{288, 56, 304, 80},
|
||||
{256, 56, 272, 80},
|
||||
{304, 56, 320, 80},
|
||||
{256, 56, 272, 80},
|
||||
{240, 56, 256, 80},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -418,18 +423,19 @@ void ActNpc227(NPCHAR *npc)
|
|||
//Droll (guard)
|
||||
void ActNpc228(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[4];
|
||||
RECT rcRight[4];
|
||||
RECT rcLeft[4] = {
|
||||
{0, 0, 32, 40},
|
||||
{32, 0, 64, 40},
|
||||
{64, 0, 96, 40},
|
||||
{96, 0, 128, 40},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 0, 32, 40};
|
||||
rcLeft[1] = {32, 0, 64, 40};
|
||||
rcLeft[2] = {64, 0, 96, 40};
|
||||
rcLeft[3] = {96, 0, 128, 40};
|
||||
|
||||
rcRight[0] = {0, 40, 32, 80};
|
||||
rcRight[1] = {32, 40, 64, 80};
|
||||
rcRight[2] = {64, 40, 96, 80};
|
||||
rcRight[3] = {96, 40, 128, 80};
|
||||
RECT rcRight[4] = {
|
||||
{0, 40, 32, 80},
|
||||
{32, 40, 64, 80},
|
||||
{64, 40, 96, 80},
|
||||
{96, 40, 128, 80},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -514,10 +520,10 @@ void ActNpc228(NPCHAR *npc)
|
|||
//Red Flowers (sprouts)
|
||||
void ActNpc229(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[2];
|
||||
|
||||
rc[0] = {0, 96, 48, 112};
|
||||
rc[1] = {0, 112, 48, 128};
|
||||
RECT rc[2] = {
|
||||
{0, 96, 48, 112},
|
||||
{0, 112, 48, 128},
|
||||
};
|
||||
|
||||
if (npc->act_no == 0)
|
||||
{
|
||||
|
@ -534,10 +540,10 @@ void ActNpc229(NPCHAR *npc)
|
|||
//Red Flowers (blooming)
|
||||
void ActNpc230(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[2];
|
||||
|
||||
rc[0] = {48, 96, 96, 128};
|
||||
rc[1] = {96, 96, 144, 128};
|
||||
RECT rc[2] = {
|
||||
{48, 96, 96, 128},
|
||||
{96, 96, 144, 128},
|
||||
};
|
||||
|
||||
if (npc->act_no == 0)
|
||||
{
|
||||
|
@ -555,10 +561,10 @@ void ActNpc230(NPCHAR *npc)
|
|||
//Rocket
|
||||
void ActNpc231(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[2];
|
||||
|
||||
rc[0] = {176, 32, 208, 48};
|
||||
rc[1] = {176, 48, 208, 64};
|
||||
RECT rc[2] = {
|
||||
{176, 32, 208, 48},
|
||||
{176, 48, 208, 64},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -712,16 +718,17 @@ void ActNpc232(NPCHAR *npc)
|
|||
npc->y += npc->ym;
|
||||
npc->x += npc->xm;
|
||||
|
||||
RECT rcLeft[3];
|
||||
RECT rcRight[3];
|
||||
RECT rcLeft[3] = {
|
||||
{128, 0, 160, 32},
|
||||
{160, 0, 192, 32},
|
||||
{192, 0, 224, 32},
|
||||
};
|
||||
|
||||
rcLeft[0] = {128, 0, 160, 32};
|
||||
rcLeft[1] = {160, 0, 192, 32};
|
||||
rcLeft[2] = {192, 0, 224, 32};
|
||||
|
||||
rcRight[0] = {128, 32, 160, 64};
|
||||
rcRight[1] = {160, 32, 192, 64};
|
||||
rcRight[2] = {192, 32, 224, 64};
|
||||
RECT rcRight[3] = {
|
||||
{128, 32, 160, 64},
|
||||
{160, 32, 192, 64},
|
||||
{192, 32, 224, 64},
|
||||
};
|
||||
|
||||
if (npc->direct == 0)
|
||||
npc->rect = rcLeft[npc->ani_no];
|
||||
|
@ -810,18 +817,19 @@ void ActNpc233(NPCHAR *npc)
|
|||
npc->x += npc->xm;
|
||||
npc->y += npc->ym;
|
||||
|
||||
RECT rcLeft[4];
|
||||
RECT rcRight[4];
|
||||
RECT rcLeft[4] = {
|
||||
{256, 0, 272, 16},
|
||||
{272, 0, 288, 16},
|
||||
{288, 0, 304, 16},
|
||||
{304, 0, 320, 16},
|
||||
};
|
||||
|
||||
rcLeft[0] = {256, 0, 272, 16};
|
||||
rcLeft[1] = {272, 0, 288, 16};
|
||||
rcLeft[2] = {288, 0, 304, 16};
|
||||
rcLeft[3] = {304, 0, 320, 16};
|
||||
|
||||
rcRight[0] = {256, 16, 272, 32};
|
||||
rcRight[1] = {272, 16, 288, 32};
|
||||
rcRight[2] = {288, 16, 304, 32};
|
||||
rcRight[3] = {304, 16, 320, 32};
|
||||
RECT rcRight[4] = {
|
||||
{256, 16, 272, 32},
|
||||
{272, 16, 288, 32},
|
||||
{288, 16, 304, 32},
|
||||
{304, 16, 320, 32},
|
||||
};
|
||||
|
||||
if (npc->act_no == 3)
|
||||
{
|
||||
|
@ -848,10 +856,10 @@ void ActNpc233(NPCHAR *npc)
|
|||
//Red Flowers (picked)
|
||||
void ActNpc234(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[2];
|
||||
|
||||
rc[0] = {144, 96, 192, 112};
|
||||
rc[1] = {144, 112, 192, 128};
|
||||
RECT rc[2] = {
|
||||
{144, 96, 192, 112},
|
||||
{144, 112, 192, 128},
|
||||
};
|
||||
|
||||
if (npc->act_no == 0)
|
||||
{
|
||||
|
@ -868,18 +876,19 @@ void ActNpc234(NPCHAR *npc)
|
|||
//Midorin
|
||||
void ActNpc235(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[4];
|
||||
RECT rcRight[4];
|
||||
RECT rcLeft[4] = {
|
||||
{192, 96, 208, 112},
|
||||
{208, 96, 224, 112},
|
||||
{224, 96, 240, 112},
|
||||
{192, 96, 208, 112},
|
||||
};
|
||||
|
||||
rcLeft[0] = {192, 96, 208, 112};
|
||||
rcLeft[1] = {208, 96, 224, 112};
|
||||
rcLeft[2] = {224, 96, 240, 112};
|
||||
rcLeft[3] = {192, 96, 208, 112};
|
||||
|
||||
rcRight[0] = {192, 112, 208, 128};
|
||||
rcRight[1] = {208, 112, 224, 128};
|
||||
rcRight[2] = {224, 112, 240, 128};
|
||||
rcRight[3] = {192, 112, 208, 128};
|
||||
RECT rcRight[4] = {
|
||||
{192, 112, 208, 128},
|
||||
{208, 112, 224, 128},
|
||||
{224, 112, 240, 128},
|
||||
{192, 112, 208, 128},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -973,22 +982,23 @@ void ActNpc235(NPCHAR *npc)
|
|||
//Gunfish
|
||||
void ActNpc236(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[6];
|
||||
RECT rcRight[6];
|
||||
RECT rcLeft[6] = {
|
||||
{128, 64, 152, 88},
|
||||
{152, 64, 176, 88},
|
||||
{176, 64, 200, 88},
|
||||
{200, 64, 224, 88},
|
||||
{224, 64, 248, 88},
|
||||
{248, 64, 272, 88},
|
||||
};
|
||||
|
||||
rcLeft[0] = {128, 64, 152, 88};
|
||||
rcLeft[1] = {152, 64, 176, 88};
|
||||
rcLeft[2] = {176, 64, 200, 88};
|
||||
rcLeft[3] = {200, 64, 224, 88};
|
||||
rcLeft[4] = {224, 64, 248, 88};
|
||||
rcLeft[5] = {248, 64, 272, 88};
|
||||
|
||||
rcRight[0] = {128, 88, 152, 112};
|
||||
rcRight[1] = {152, 88, 176, 112};
|
||||
rcRight[2] = {176, 88, 200, 112};
|
||||
rcRight[3] = {200, 88, 224, 112};
|
||||
rcRight[4] = {224, 88, 248, 112};
|
||||
rcRight[5] = {248, 88, 272, 112};
|
||||
RECT rcRight[6] = {
|
||||
{128, 88, 152, 112},
|
||||
{152, 88, 176, 112},
|
||||
{176, 88, 200, 112},
|
||||
{200, 88, 224, 112},
|
||||
{224, 88, 248, 112},
|
||||
{248, 88, 272, 112},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1147,11 +1157,11 @@ void ActNpc237(NPCHAR *npc)
|
|||
// Press (sideways)
|
||||
void ActNpc238(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[3];
|
||||
|
||||
rc[0] = {184, 200, 208, 216};
|
||||
rc[1] = {208, 200, 232, 216};
|
||||
rc[2] = {232, 200, 256, 216};
|
||||
RECT rc[3] = {
|
||||
{184, 200, 208, 216},
|
||||
{208, 200, 232, 216},
|
||||
{232, 200, 256, 216},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
|
|
@ -15,22 +15,23 @@
|
|||
//Mimiga (jailed)
|
||||
void ActNpc240(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[6];
|
||||
RECT rcRight[6];
|
||||
RECT rcLeft[6] = {
|
||||
{160, 64, 176, 80},
|
||||
{176, 64, 192, 80},
|
||||
{192, 64, 208, 80},
|
||||
{160, 64, 176, 80},
|
||||
{208, 64, 224, 80},
|
||||
{160, 64, 176, 80},
|
||||
};
|
||||
|
||||
rcLeft[0] = {160, 64, 176, 80};
|
||||
rcLeft[1] = {176, 64, 192, 80};
|
||||
rcLeft[2] = {192, 64, 208, 80};
|
||||
rcLeft[3] = {160, 64, 176, 80};
|
||||
rcLeft[4] = {208, 64, 224, 80};
|
||||
rcLeft[5] = {160, 64, 176, 80};
|
||||
|
||||
rcRight[0] = {160, 80, 176, 96};
|
||||
rcRight[1] = {176, 80, 192, 96};
|
||||
rcRight[2] = {192, 80, 208, 96};
|
||||
rcRight[3] = {160, 80, 176, 96};
|
||||
rcRight[4] = {208, 80, 224, 96};
|
||||
rcRight[5] = {160, 80, 176, 96};
|
||||
RECT rcRight[6] = {
|
||||
{160, 80, 176, 96},
|
||||
{176, 80, 192, 96},
|
||||
{192, 80, 208, 96},
|
||||
{160, 80, 176, 96},
|
||||
{208, 80, 224, 96},
|
||||
{160, 80, 176, 96},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -119,16 +120,17 @@ void ActNpc240(NPCHAR *npc)
|
|||
//Critter (Last Cave)
|
||||
void ActNpc241(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[3];
|
||||
RECT rcRight[3];
|
||||
RECT rcLeft[3] = {
|
||||
{0, 0, 16, 16},
|
||||
{16, 0, 32, 16},
|
||||
{32, 0, 48, 16},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 0, 16, 16};
|
||||
rcLeft[1] = {16, 0, 32, 16};
|
||||
rcLeft[2] = {32, 0, 48, 16};
|
||||
|
||||
rcRight[0] = {0, 16, 16, 32};
|
||||
rcRight[1] = {16, 16, 32, 32};
|
||||
rcRight[2] = {32, 16, 48, 32};
|
||||
RECT rcRight[3] = {
|
||||
{0, 16, 16, 32},
|
||||
{16, 16, 32, 32},
|
||||
{32, 16, 48, 32},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -261,18 +263,19 @@ void ActNpc242(NPCHAR *npc)
|
|||
npc->x += npc->xm;
|
||||
npc->y += npc->ym;
|
||||
|
||||
RECT rect_left[4];
|
||||
RECT rect_right[4];
|
||||
RECT rect_left[4] = {
|
||||
{32, 32, 48, 48},
|
||||
{48, 32, 64, 48},
|
||||
{64, 32, 80, 48},
|
||||
{80, 32, 96, 48},
|
||||
};
|
||||
|
||||
rect_left[0] = {32, 32, 48, 48};
|
||||
rect_left[1] = {48, 32, 64, 48};
|
||||
rect_left[2] = {64, 32, 80, 48};
|
||||
rect_left[3] = {80, 32, 96, 48};
|
||||
|
||||
rect_right[0] = {32, 48, 48, 64};
|
||||
rect_right[1] = {48, 48, 64, 64};
|
||||
rect_right[2] = {64, 48, 80, 64};
|
||||
rect_right[3] = {80, 48, 96, 64};
|
||||
RECT rect_right[4] = {
|
||||
{32, 48, 48, 64},
|
||||
{48, 48, 64, 64},
|
||||
{64, 48, 80, 64},
|
||||
{80, 48, 96, 64},
|
||||
};
|
||||
|
||||
if (++npc->ani_wait > 1)
|
||||
{
|
||||
|
@ -350,12 +353,12 @@ void ActNpc244(NPCHAR *npc)
|
|||
//Lava drop generator
|
||||
void ActNpc245(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[4];
|
||||
|
||||
rc[0] = {0, 0, 0, 0};
|
||||
rc[1] = {104, 0, 112, 16};
|
||||
rc[2] = {112, 0, 120, 16};
|
||||
rc[3] = {120, 0, 128, 16};
|
||||
RECT rc[4] = {
|
||||
{0, 0, 0, 0},
|
||||
{104, 0, 112, 16},
|
||||
{112, 0, 120, 16},
|
||||
{120, 0, 128, 16},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -406,11 +409,11 @@ void ActNpc245(NPCHAR *npc)
|
|||
//Press (proximity)
|
||||
void ActNpc246(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[3];
|
||||
|
||||
rcLeft[0] = {144, 112, 160, 136};
|
||||
rcLeft[1] = {160, 112, 176, 136};
|
||||
rcLeft[2] = {176, 112, 192, 136};
|
||||
RECT rcLeft[3] = {
|
||||
{144, 112, 160, 136},
|
||||
{160, 112, 176, 136},
|
||||
{176, 112, 192, 136},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -491,28 +494,29 @@ void ActNpc246(NPCHAR *npc)
|
|||
//Misery (boss)
|
||||
void ActNpc247(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[9];
|
||||
RECT rcRight[9];
|
||||
RECT rcLeft[9] = {
|
||||
{0, 0, 16, 16},
|
||||
{16, 0, 32, 16},
|
||||
{32, 0, 48, 16},
|
||||
{48, 0, 64, 16},
|
||||
{64, 0, 80, 16},
|
||||
{80, 0, 96, 16},
|
||||
{96, 0, 112, 16},
|
||||
{0, 0, 0, 0},
|
||||
{112, 0, 128, 16},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 0, 16, 16};
|
||||
rcLeft[1] = {16, 0, 32, 16};
|
||||
rcLeft[2] = {32, 0, 48, 16};
|
||||
rcLeft[3] = {48, 0, 64, 16};
|
||||
rcLeft[4] = {64, 0, 80, 16};
|
||||
rcLeft[5] = {80, 0, 96, 16};
|
||||
rcLeft[6] = {96, 0, 112, 16};
|
||||
rcLeft[7] = {0, 0, 0, 0};
|
||||
rcLeft[8] = {112, 0, 128, 16};
|
||||
|
||||
rcRight[0] = {0, 16, 16, 32};
|
||||
rcRight[1] = {16, 16, 32, 32};
|
||||
rcRight[2] = {32, 16, 48, 32};
|
||||
rcRight[3] = {48, 16, 64, 32};
|
||||
rcRight[4] = {64, 16, 80, 32};
|
||||
rcRight[5] = {80, 16, 96, 32};
|
||||
rcRight[6] = {96, 16, 112, 32};
|
||||
rcRight[7] = {0, 0, 0, 0};
|
||||
rcRight[8] = {112, 16, 128, 32};
|
||||
RECT rcRight[9] = {
|
||||
{0, 16, 16, 32},
|
||||
{16, 16, 32, 32},
|
||||
{32, 16, 48, 32},
|
||||
{48, 16, 64, 32},
|
||||
{64, 16, 80, 32},
|
||||
{80, 16, 96, 32},
|
||||
{96, 16, 112, 32},
|
||||
{0, 0, 0, 0},
|
||||
{112, 16, 128, 32},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -805,11 +809,11 @@ void ActNpc248(NPCHAR *npc)
|
|||
npc->y += npc->ym;
|
||||
npc->x += npc->xm;
|
||||
|
||||
RECT rect_left[3];
|
||||
|
||||
rect_left[0] = {0, 48, 16, 64};
|
||||
rect_left[1] = {16, 48, 32, 64};
|
||||
rect_left[2] = {32, 48, 48, 64};
|
||||
RECT rect_left[3] = {
|
||||
{0, 48, 16, 64},
|
||||
{16, 48, 32, 64},
|
||||
{32, 48, 48, 64},
|
||||
};
|
||||
|
||||
if (++npc->ani_wait > 1)
|
||||
{
|
||||
|
@ -831,10 +835,10 @@ void ActNpc248(NPCHAR *npc)
|
|||
//Boss Misery energy shot
|
||||
void ActNpc249(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[2];
|
||||
|
||||
rc[0] = {48, 48, 64, 64};
|
||||
rc[1] = {64, 48, 80, 64};
|
||||
RECT rc[2] = {
|
||||
{48, 48, 64, 64},
|
||||
{64, 48, 80, 64},
|
||||
};
|
||||
|
||||
if (++npc->act_wait > 8)
|
||||
npc->cond = 0;
|
||||
|
@ -854,11 +858,11 @@ void ActNpc249(NPCHAR *npc)
|
|||
//Boss Misery lightning ball
|
||||
void ActNpc250(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[3];
|
||||
|
||||
rc[0] = {0, 32, 16, 48};
|
||||
rc[1] = {16, 32, 32, 48};
|
||||
rc[2] = {32, 32, 48, 48};
|
||||
RECT rc[3] = {
|
||||
{0, 32, 16, 48},
|
||||
{16, 32, 32, 48},
|
||||
{32, 32, 48, 48},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -931,10 +935,10 @@ void ActNpc250(NPCHAR *npc)
|
|||
//Boss Misery lightning
|
||||
void ActNpc251(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[2];
|
||||
|
||||
rc[0] = {80, 32, 96, 64};
|
||||
rc[1] = {96, 32, 112, 64};
|
||||
RECT rc[2] = {
|
||||
{80, 32, 96, 64},
|
||||
{96, 32, 112, 64},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -962,18 +966,19 @@ void ActNpc251(NPCHAR *npc)
|
|||
//Boss Misery bats
|
||||
void ActNpc252(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[4];
|
||||
RECT rcRight[4];
|
||||
RECT rcLeft[4] = {
|
||||
{48, 32, 64, 48},
|
||||
{112, 32, 128, 48},
|
||||
{128, 32, 144, 48},
|
||||
{144, 32, 160, 48},
|
||||
};
|
||||
|
||||
rcLeft[0] = {48, 32, 64, 48};
|
||||
rcLeft[1] = {112, 32, 128, 48};
|
||||
rcLeft[2] = {128, 32, 144, 48};
|
||||
rcLeft[3] = {144, 32, 160, 48};
|
||||
|
||||
rcRight[0] = {48, 32, 64, 48};
|
||||
rcRight[1] = {112, 48, 128, 64};
|
||||
rcRight[2] = {128, 48, 144, 64};
|
||||
rcRight[3] = {144, 48, 160, 64};
|
||||
RECT rcRight[4] = {
|
||||
{48, 32, 64, 48},
|
||||
{112, 48, 128, 64},
|
||||
{128, 48, 144, 64},
|
||||
{144, 48, 160, 64},
|
||||
};
|
||||
|
||||
unsigned char deg;
|
||||
|
||||
|
@ -1082,10 +1087,10 @@ void ActNpc253(NPCHAR *npc)
|
|||
npc->cond = 0;
|
||||
}
|
||||
|
||||
RECT rc[2];
|
||||
|
||||
rc[0] = {0, 64, 16, 80};
|
||||
rc[1] = {16, 64, 32, 80};
|
||||
RECT rc[2] = {
|
||||
{0, 64, 16, 80},
|
||||
{16, 64, 32, 80},
|
||||
};
|
||||
|
||||
npc->rect = rc[npc->ani_no];
|
||||
}
|
||||
|
@ -1093,10 +1098,10 @@ void ActNpc253(NPCHAR *npc)
|
|||
//Helicopter
|
||||
void ActNpc254(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[2];
|
||||
|
||||
rc[0] = {0, 0, 128, 64};
|
||||
rc[1] = {0, 64, 128, 128};
|
||||
RECT rc[2] = {
|
||||
{0, 0, 128, 64},
|
||||
{0, 64, 128, 128},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1131,18 +1136,19 @@ void ActNpc254(NPCHAR *npc)
|
|||
//Helicopter blades
|
||||
void ActNpc255(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[4];
|
||||
RECT rcRight[4];
|
||||
RECT rcLeft[4] = {
|
||||
{128, 0, 240, 16},
|
||||
{128, 16, 240, 32},
|
||||
{128, 32, 240, 48},
|
||||
{128, 16, 240, 32},
|
||||
};
|
||||
|
||||
rcLeft[0] = {128, 0, 240, 16};
|
||||
rcLeft[1] = {128, 16, 240, 32};
|
||||
rcLeft[2] = {128, 32, 240, 48};
|
||||
rcLeft[3] = {128, 16, 240, 32};
|
||||
|
||||
rcRight[0] = {240, 0, 320, 16};
|
||||
rcRight[1] = {240, 16, 320, 32};
|
||||
rcRight[2] = {240, 32, 320, 48};
|
||||
rcRight[3] = {240, 16, 320, 32};
|
||||
RECT rcRight[4] = {
|
||||
{240, 0, 320, 16},
|
||||
{240, 16, 320, 32},
|
||||
{240, 32, 320, 48},
|
||||
{240, 16, 320, 32},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1196,14 +1202,14 @@ void ActNpc255(NPCHAR *npc)
|
|||
//Doctor (facing away)
|
||||
void ActNpc256(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[6];
|
||||
|
||||
rcLeft[0] = {48, 160, 72, 192};
|
||||
rcLeft[1] = {72, 160, 96, 192};
|
||||
rcLeft[2] = {0, 128, 24, 160};
|
||||
rcLeft[3] = {24, 128, 48, 160};
|
||||
rcLeft[4] = {0, 160, 24, 192};
|
||||
rcLeft[5] = {24, 160, 48, 192};
|
||||
RECT rcLeft[6] = {
|
||||
{48, 160, 72, 192},
|
||||
{72, 160, 96, 192},
|
||||
{0, 128, 24, 160},
|
||||
{24, 128, 48, 160},
|
||||
{0, 160, 24, 192},
|
||||
{24, 160, 48, 192},
|
||||
};
|
||||
|
||||
switch ( npc->act_no )
|
||||
{
|
||||
|
@ -1287,11 +1293,11 @@ void ActNpc256(NPCHAR *npc)
|
|||
//Red crystal
|
||||
void ActNpc257(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[3];
|
||||
|
||||
rc[0] = {176, 32, 184, 48};
|
||||
rc[1] = {184, 32, 192, 48};
|
||||
rc[2] = {0, 0, 0, 0};
|
||||
RECT rc[3] = {
|
||||
{176, 32, 184, 48},
|
||||
{184, 32, 192, 48},
|
||||
{0, 0, 0, 0},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
|
|
@ -16,16 +16,17 @@
|
|||
//Shovel Brigade (caged)
|
||||
void ActNpc260(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[3];
|
||||
RECT rcRight[3];
|
||||
RECT rcLeft[3] = {
|
||||
{128, 64, 144, 80},
|
||||
{144, 64, 160, 80},
|
||||
{224, 64, 240, 80},
|
||||
};
|
||||
|
||||
rcLeft[0] = {128, 64, 144, 80};
|
||||
rcLeft[1] = {144, 64, 160, 80};
|
||||
rcLeft[2] = {224, 64, 240, 80};
|
||||
|
||||
rcRight[0] = {128, 80, 144, 96};
|
||||
rcRight[1] = {144, 80, 160, 96};
|
||||
rcRight[2] = {224, 80, 240, 96};
|
||||
RECT rcRight[3] = {
|
||||
{128, 80, 144, 96},
|
||||
{144, 80, 160, 96},
|
||||
{224, 80, 240, 96},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -77,14 +78,15 @@ void ActNpc260(NPCHAR *npc)
|
|||
//Chie (caged)
|
||||
void ActNpc261(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
RECT rcRight[2];
|
||||
RECT rcLeft[2] = {
|
||||
{112, 32, 128, 48},
|
||||
{128, 32, 144, 48},
|
||||
};
|
||||
|
||||
rcLeft[0] = {112, 32, 128, 48};
|
||||
rcLeft[1] = {128, 32, 144, 48};
|
||||
|
||||
rcRight[0] = {112, 48, 128, 64};
|
||||
rcRight[1] = {128, 48, 144, 64};
|
||||
RECT rcRight[2] = {
|
||||
{112, 48, 128, 64},
|
||||
{128, 48, 144, 64},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -129,14 +131,15 @@ void ActNpc261(NPCHAR *npc)
|
|||
//Chaco (caged)
|
||||
void ActNpc262(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
RECT rcRight[2];
|
||||
RECT rcLeft[2] = {
|
||||
{128, 0, 144, 16},
|
||||
{144, 0, 160, 16},
|
||||
};
|
||||
|
||||
rcLeft[0] = {128, 0, 144, 16};
|
||||
rcLeft[1] = {144, 0, 160, 16};
|
||||
|
||||
rcRight[0] = {128, 16, 144, 32};
|
||||
rcRight[1] = {144, 16, 160, 32};
|
||||
RECT rcRight[2] = {
|
||||
{128, 16, 144, 32},
|
||||
{144, 16, 160, 32},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -181,28 +184,29 @@ void ActNpc262(NPCHAR *npc)
|
|||
//Doctor (boss)
|
||||
void ActNpc263(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[9];
|
||||
RECT rcRight[9];
|
||||
RECT rcLeft[9] = {
|
||||
{0, 0, 24, 32},
|
||||
{24, 0, 48, 32},
|
||||
{48, 0, 72, 32},
|
||||
{0, 0, 0, 0},
|
||||
{72, 0, 96, 32},
|
||||
{96, 0, 120, 32},
|
||||
{120, 0, 144, 32},
|
||||
{144, 0, 168, 32},
|
||||
{264, 0, 288, 32},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 0, 24, 32};
|
||||
rcLeft[1] = {24, 0, 48, 32};
|
||||
rcLeft[2] = {48, 0, 72, 32};
|
||||
rcLeft[3] = {0, 0, 0, 0};
|
||||
rcLeft[4] = {72, 0, 96, 32};
|
||||
rcLeft[5] = {96, 0, 120, 32};
|
||||
rcLeft[6] = {120, 0, 144, 32};
|
||||
rcLeft[7] = {144, 0, 168, 32};
|
||||
rcLeft[8] = {264, 0, 288, 32};
|
||||
|
||||
rcRight[0] = {0, 32, 24, 64};
|
||||
rcRight[1] = {24, 32, 48, 64};
|
||||
rcRight[2] = {48, 32, 72, 64};
|
||||
rcRight[3] = {0, 0, 0, 0};
|
||||
rcRight[4] = {72, 32, 96, 64};
|
||||
rcRight[5] = {96, 32, 120, 64};
|
||||
rcRight[6] = {120, 32, 144, 64};
|
||||
rcRight[7] = {144, 32, 168, 64};
|
||||
rcRight[8] = {264, 32, 288, 64};
|
||||
RECT rcRight[9] = {
|
||||
{0, 32, 24, 64},
|
||||
{24, 32, 48, 64},
|
||||
{48, 32, 72, 64},
|
||||
{0, 0, 0, 0},
|
||||
{72, 32, 96, 64},
|
||||
{96, 32, 120, 64},
|
||||
{120, 32, 144, 64},
|
||||
{144, 32, 168, 64},
|
||||
{264, 32, 288, 64},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -506,11 +510,11 @@ void ActNpc264(NPCHAR *npc)
|
|||
//Doctor red ball projectile
|
||||
void ActNpc265(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[3];
|
||||
|
||||
rc[0] = {288, 16, 304, 32};
|
||||
rc[1] = {288, 32, 304, 48};
|
||||
rc[2] = {288, 48, 304, 64};
|
||||
RECT rc[3] = {
|
||||
{288, 16, 304, 32},
|
||||
{288, 32, 304, 48},
|
||||
{288, 48, 304, 64},
|
||||
};
|
||||
|
||||
if (++npc->ani_wait > 3)
|
||||
{
|
||||
|
@ -527,10 +531,10 @@ void ActNpc265(NPCHAR *npc)
|
|||
//Doctor red ball projectile (bouncing)
|
||||
void ActNpc266(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[2];
|
||||
|
||||
rc[0] = {304, 16, 320, 32};
|
||||
rc[1] = {304, 32, 320, 48};
|
||||
RECT rc[2] = {
|
||||
{304, 16, 320, 32},
|
||||
{304, 32, 320, 48},
|
||||
};
|
||||
|
||||
if (npc->flag & 1)
|
||||
npc->xm = -npc->xm;
|
||||
|
@ -560,30 +564,31 @@ void ActNpc266(NPCHAR *npc)
|
|||
//Muscle Doctor
|
||||
void ActNpc267(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[10];
|
||||
RECT rcRight[10];
|
||||
RECT rcLeft[10] = {
|
||||
{0, 0, 0, 0},
|
||||
{0, 64, 40, 112},
|
||||
{40, 64, 80, 112},
|
||||
{80, 64, 120, 112},
|
||||
{120, 64, 160, 112},
|
||||
{160, 64, 200, 112},
|
||||
{200, 64, 240, 112},
|
||||
{240, 64, 280, 112},
|
||||
{280, 64, 320, 112},
|
||||
{0, 160, 40, 208},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 0, 0, 0};
|
||||
rcLeft[1] = {0, 64, 40, 112};
|
||||
rcLeft[2] = {40, 64, 80, 112};
|
||||
rcLeft[3] = {80, 64, 120, 112};
|
||||
rcLeft[4] = {120, 64, 160, 112};
|
||||
rcLeft[5] = {160, 64, 200, 112};
|
||||
rcLeft[6] = {200, 64, 240, 112};
|
||||
rcLeft[7] = {240, 64, 280, 112};
|
||||
rcLeft[8] = {280, 64, 320, 112};
|
||||
rcLeft[9] = {0, 160, 40, 208};
|
||||
|
||||
rcRight[0] = {0, 0, 0, 0};
|
||||
rcRight[1] = {0, 112, 40, 160};
|
||||
rcRight[2] = {40, 112, 80, 160};
|
||||
rcRight[3] = {80, 112, 120, 160};
|
||||
rcRight[4] = {120, 112, 160, 160};
|
||||
rcRight[5] = {160, 112, 200, 160};
|
||||
rcRight[6] = {200, 112, 240, 160};
|
||||
rcRight[7] = {240, 112, 280, 160};
|
||||
rcRight[8] = {280, 112, 320, 160};
|
||||
rcRight[9] = {40, 160, 80, 208};
|
||||
RECT rcRight[10] = {
|
||||
{0, 0, 0, 0},
|
||||
{0, 112, 40, 160},
|
||||
{40, 112, 80, 160},
|
||||
{80, 112, 120, 160},
|
||||
{120, 112, 160, 160},
|
||||
{160, 112, 200, 160},
|
||||
{200, 112, 240, 160},
|
||||
{240, 112, 280, 160},
|
||||
{280, 112, 320, 160},
|
||||
{40, 160, 80, 208},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1107,30 +1112,31 @@ void ActNpc267(NPCHAR *npc)
|
|||
//Igor (enemy)
|
||||
void ActNpc268(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[10];
|
||||
RECT rcRight[10];
|
||||
RECT rcLeft[10] = {
|
||||
{0, 0, 40, 40},
|
||||
{40, 0, 80, 40},
|
||||
{80, 0, 120, 40},
|
||||
{0, 0, 40, 40},
|
||||
{120, 0, 160, 40},
|
||||
{0, 0, 40, 40},
|
||||
{40, 80, 80, 120},
|
||||
{0, 80, 40, 120},
|
||||
{240, 0, 280, 40},
|
||||
{280, 0, 320, 40},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 0, 40, 40};
|
||||
rcLeft[1] = {40, 0, 80, 40};
|
||||
rcLeft[2] = {80, 0, 120, 40};
|
||||
rcLeft[3] = {0, 0, 40, 40};
|
||||
rcLeft[4] = {120, 0, 160, 40};
|
||||
rcLeft[5] = {0, 0, 40, 40};
|
||||
rcLeft[6] = {40, 80, 80, 120};
|
||||
rcLeft[7] = {0, 80, 40, 120};
|
||||
rcLeft[8] = {240, 0, 280, 40};
|
||||
rcLeft[9] = {280, 0, 320, 40};
|
||||
|
||||
rcRight[0] = {0, 40, 40, 80};
|
||||
rcRight[1] = {40, 40, 80, 80};
|
||||
rcRight[2] = {80, 40, 120, 80};
|
||||
rcRight[3] = {0, 40, 40, 80};
|
||||
rcRight[4] = {120, 40, 160, 80};
|
||||
rcRight[5] = {0, 40, 40, 80};
|
||||
rcRight[6] = {160, 80, 200, 120};
|
||||
rcRight[7] = {120, 80, 160, 120};
|
||||
rcRight[8] = {240, 40, 280, 80};
|
||||
rcRight[9] = {280, 40, 320, 80};
|
||||
RECT rcRight[10] = {
|
||||
{0, 40, 40, 80},
|
||||
{40, 40, 80, 80},
|
||||
{80, 40, 120, 80},
|
||||
{0, 40, 40, 80},
|
||||
{120, 40, 160, 80},
|
||||
{0, 40, 40, 80},
|
||||
{160, 80, 200, 120},
|
||||
{120, 80, 160, 120},
|
||||
{240, 40, 280, 80},
|
||||
{280, 40, 320, 80},
|
||||
};
|
||||
|
||||
if (npc->x < gMC.x - 0x28000 || npc->x > gMC.x + 0x28000 || npc->y < gMC.y - 0x1E000 || npc->y > gMC.y + 0x1E000)
|
||||
npc->act_no = 1;
|
||||
|
@ -1306,16 +1312,17 @@ void ActNpc268(NPCHAR *npc)
|
|||
//Red Bat (bouncing)
|
||||
void ActNpc269(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[3];
|
||||
RECT rcRight[3];
|
||||
RECT rcLeft[3] = {
|
||||
{232, 0, 248, 16},
|
||||
{248, 0, 264, 16},
|
||||
{248, 16, 264, 32},
|
||||
};
|
||||
|
||||
rcLeft[0] = {232, 0, 248, 16};
|
||||
rcLeft[1] = {248, 0, 264, 16};
|
||||
rcLeft[2] = {248, 16, 264, 32};
|
||||
|
||||
rcRight[0] = {232, 32, 248, 48};
|
||||
rcRight[1] = {248, 32, 264, 48};
|
||||
rcRight[2] = {248, 48, 264, 64};
|
||||
RECT rcRight[3] = {
|
||||
{232, 32, 248, 48},
|
||||
{248, 32, 264, 48},
|
||||
{248, 48, 264, 64},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1368,10 +1375,10 @@ void ActNpc269(NPCHAR *npc)
|
|||
//Doctor's blood (or """"red energy"""")
|
||||
void ActNpc270(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[2];
|
||||
|
||||
rc[0] = {170, 34, 174, 38};
|
||||
rc[1] = {170, 42, 174, 46};
|
||||
RECT rc[2] = {
|
||||
{170, 34, 174, 38},
|
||||
{170, 42, 174, 46},
|
||||
};
|
||||
|
||||
if (npc->direct == 3 || npc->direct == 1)
|
||||
{
|
||||
|
@ -1461,10 +1468,12 @@ void ActNpc271(NPCHAR *npc)
|
|||
npc->rect.right = 0x20;
|
||||
npc->rect.top = 0x40;
|
||||
npc->rect.bottom = 0x60;
|
||||
|
||||
npc->view.front = 0x2000;
|
||||
npc->view.back = 0x2000;
|
||||
npc->view.top = 0x2000;
|
||||
npc->view.bottom = 0x2000;
|
||||
|
||||
npc->hit.front = 0x1800;
|
||||
npc->hit.back = 0x1800;
|
||||
npc->hit.top = 0x1800;
|
||||
|
@ -1533,11 +1542,11 @@ void ActNpc272(NPCHAR *npc)
|
|||
//Droll projectile
|
||||
void ActNpc273(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[3];
|
||||
|
||||
rc[0] = {248, 40, 272, 64};
|
||||
rc[1] = {272, 40, 296, 64};
|
||||
rc[2] = {296, 40, 320, 64};
|
||||
RECT rc[3] = {
|
||||
{248, 40, 272, 64},
|
||||
{272, 40, 296, 64},
|
||||
{296, 40, 320, 64},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1572,22 +1581,23 @@ void ActNpc273(NPCHAR *npc)
|
|||
//Droll
|
||||
void ActNpc274(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[6];
|
||||
RECT rcRight[6];
|
||||
RECT rcLeft[6] = {
|
||||
{0, 0, 32, 40},
|
||||
{32, 0, 64, 40},
|
||||
{64, 0, 96, 40},
|
||||
{64, 80, 96, 120},
|
||||
{96, 80, 128, 120},
|
||||
{96, 0, 128, 40},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 0, 32, 40};
|
||||
rcLeft[1] = {32, 0, 64, 40};
|
||||
rcLeft[2] = {64, 0, 96, 40};
|
||||
rcLeft[3] = {64, 80, 96, 120};
|
||||
rcLeft[4] = {96, 80, 128, 120};
|
||||
rcLeft[5] = {96, 0, 128, 40};
|
||||
|
||||
rcRight[0] = {0, 40, 32, 80};
|
||||
rcRight[1] = {32, 40, 64, 80};
|
||||
rcRight[2] = {64, 40, 96, 80};
|
||||
rcRight[3] = {64, 120, 96, 160};
|
||||
rcRight[4] = {96, 120, 128, 160};
|
||||
rcRight[5] = {96, 40, 128, 80};
|
||||
RECT rcRight[6] = {
|
||||
{0, 40, 32, 80},
|
||||
{32, 40, 64, 80},
|
||||
{64, 40, 96, 80},
|
||||
{64, 120, 96, 160},
|
||||
{96, 120, 128, 160},
|
||||
{96, 40, 128, 80},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1631,7 +1641,7 @@ void ActNpc274(NPCHAR *npc)
|
|||
{
|
||||
npc->act_no = 12;
|
||||
npc->ani_no = 3;
|
||||
npc->ym = -0x600u;
|
||||
npc->ym = -0x600;
|
||||
npc->count1 = 0;
|
||||
|
||||
if (npc->tgt_x > npc->x)
|
||||
|
@ -1696,12 +1706,12 @@ void ActNpc274(NPCHAR *npc)
|
|||
//Puppy (plantation)
|
||||
void ActNpc275(NPCHAR *npc)
|
||||
{
|
||||
RECT rcRight[4];
|
||||
|
||||
rcRight[0] = {272, 80, 288, 96};
|
||||
rcRight[1] = {288, 80, 304, 96};
|
||||
rcRight[2] = {272, 80, 288, 96};
|
||||
rcRight[3] = {304, 80, 320, 96};
|
||||
RECT rcRight[4] = {
|
||||
{272, 80, 288, 96},
|
||||
{288, 80, 304, 96},
|
||||
{272, 80, 288, 96},
|
||||
{304, 80, 320, 96},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1755,28 +1765,29 @@ void ActNpc275(NPCHAR *npc)
|
|||
//Red Demon
|
||||
void ActNpc276(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[9];
|
||||
RECT rcRight[9];
|
||||
RECT rcLeft[9] = {
|
||||
{0, 64, 32, 104},
|
||||
{32, 64, 64, 104},
|
||||
{64, 64, 96, 104},
|
||||
{96, 64, 128, 104},
|
||||
{128, 64, 160, 104},
|
||||
{160, 64, 192, 104},
|
||||
{192, 64, 224, 104},
|
||||
{224, 64, 256, 104},
|
||||
{256, 64, 288, 104},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 64, 32, 104};
|
||||
rcLeft[1] = {32, 64, 64, 104};
|
||||
rcLeft[2] = {64, 64, 96, 104};
|
||||
rcLeft[3] = {96, 64, 128, 104};
|
||||
rcLeft[4] = {128, 64, 160, 104};
|
||||
rcLeft[5] = {160, 64, 192, 104};
|
||||
rcLeft[6] = {192, 64, 224, 104};
|
||||
rcLeft[7] = {224, 64, 256, 104};
|
||||
rcLeft[8] = {256, 64, 288, 104};
|
||||
|
||||
rcRight[0] = {0, 104, 32, 144};
|
||||
rcRight[1] = {32, 104, 64, 144};
|
||||
rcRight[2] = {64, 104, 96, 144};
|
||||
rcRight[3] = {96, 104, 128, 144};
|
||||
rcRight[4] = {128, 104, 160, 144};
|
||||
rcRight[5] = {160, 104, 192, 144};
|
||||
rcRight[6] = {192, 104, 224, 144};
|
||||
rcRight[7] = {224, 104, 256, 144};
|
||||
rcRight[8] = {256, 104, 288, 144};
|
||||
RECT rcRight[9] = {
|
||||
{0, 104, 32, 144},
|
||||
{32, 104, 64, 144},
|
||||
{64, 104, 96, 144},
|
||||
{96, 104, 128, 144},
|
||||
{128, 104, 160, 144},
|
||||
{160, 104, 192, 144},
|
||||
{192, 104, 224, 144},
|
||||
{224, 104, 256, 144},
|
||||
{256, 104, 288, 144},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1813,7 +1824,7 @@ void ActNpc276(NPCHAR *npc)
|
|||
npc->act_no = 11;
|
||||
npc->act_wait = 0;
|
||||
npc->ani_no = 3;
|
||||
npc->bits |= 0x20u;
|
||||
npc->bits |= 0x20;
|
||||
// Fallthrough
|
||||
case 11:
|
||||
switch (++npc->act_wait)
|
||||
|
@ -1954,11 +1965,11 @@ void ActNpc276(NPCHAR *npc)
|
|||
//Red Demon projectile
|
||||
void ActNpc277(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[3];
|
||||
|
||||
rc[0] = {128, 0, 152, 24};
|
||||
rc[1] = {152, 0, 176, 24};
|
||||
rc[2] = {176, 0, 200, 24};
|
||||
RECT rc[3] = {
|
||||
{128, 0, 152, 24},
|
||||
{152, 0, 176, 24},
|
||||
{176, 0, 200, 24},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1993,18 +2004,20 @@ void ActNpc277(NPCHAR *npc)
|
|||
//Little family
|
||||
void ActNpc278(NPCHAR *npc)
|
||||
{
|
||||
RECT rcMama[2];
|
||||
RECT rcPapa[2];
|
||||
RECT rcKodomo[2];
|
||||
RECT rcPapa[2] = {
|
||||
{0, 120, 8, 128},
|
||||
{8, 120, 16, 128},
|
||||
};
|
||||
|
||||
rcPapa[0] = {0, 120, 8, 128};
|
||||
rcPapa[1] = {8, 120, 16, 128};
|
||||
RECT rcMama[2] = {
|
||||
{16, 120, 24, 128},
|
||||
{24, 120, 32, 128},
|
||||
};
|
||||
|
||||
rcMama[0] = {16, 120, 24, 128};
|
||||
rcMama[1] = {24, 120, 32, 128};
|
||||
|
||||
rcKodomo[0] = {32, 120, 40, 128};
|
||||
rcKodomo[1] = {40, 120, 48, 128};
|
||||
RECT rcKodomo[2] = {
|
||||
{32, 120, 40, 128},
|
||||
{40, 120, 48, 128},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -2105,10 +2118,10 @@ void ActNpc278(NPCHAR *npc)
|
|||
//Falling block (large)
|
||||
void ActNpc279(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[2];
|
||||
|
||||
rc[0] = {0, 16, 32, 48};
|
||||
rc[1] = {16, 0, 32, 16};
|
||||
RECT rc[2] = {
|
||||
{0, 16, 32, 48},
|
||||
{16, 0, 32, 16},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
|
|
@ -15,14 +15,15 @@
|
|||
//Sue (being teleported by Misery)
|
||||
void ActNpc280(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
RECT rcRight[2];
|
||||
RECT rcLeft[2] = {
|
||||
{112, 32, 128, 48},
|
||||
{144, 32, 160, 48},
|
||||
};
|
||||
|
||||
rcLeft[0] = {112, 32, 128, 48};
|
||||
rcLeft[1] = {144, 32, 160, 48};
|
||||
|
||||
rcRight[0] = {112, 48, 128, 64};
|
||||
rcRight[1] = {144, 48, 160, 64};
|
||||
RECT rcRight[2] = {
|
||||
{112, 48, 128, 64},
|
||||
{144, 48, 160, 64},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -127,11 +128,11 @@ void ActNpc281(NPCHAR *npc)
|
|||
//Mini Undead Core (active)
|
||||
void ActNpc282(NPCHAR *npc)
|
||||
{
|
||||
RECT tc[3];
|
||||
|
||||
tc[0] = {256, 80, 320, 120};
|
||||
tc[1] = {256, 0, 320, 40};
|
||||
tc[2] = {256, 120, 320, 160};
|
||||
RECT tc[3] = {
|
||||
{256, 80, 320, 120},
|
||||
{256, 0, 320, 40},
|
||||
{256, 120, 320, 160},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -201,32 +202,33 @@ void ActNpc282(NPCHAR *npc)
|
|||
//Misery (transformed)
|
||||
void ActNpc283(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[11];
|
||||
RECT rcRight[11];
|
||||
RECT rcLeft[11] = {
|
||||
{0, 64, 32, 96},
|
||||
{32, 64, 64, 96},
|
||||
{64, 64, 96, 96},
|
||||
{96, 64, 128, 96},
|
||||
{128, 64, 160, 96},
|
||||
{160, 64, 192, 96},
|
||||
{192, 64, 224, 96},
|
||||
{224, 64, 256, 96},
|
||||
{0, 0, 0, 0},
|
||||
{256, 64, 288, 96},
|
||||
{288, 64, 320, 96},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 64, 32, 96};
|
||||
rcLeft[1] = {32, 64, 64, 96};
|
||||
rcLeft[2] = {64, 64, 96, 96};
|
||||
rcLeft[3] = {96, 64, 128, 96};
|
||||
rcLeft[4] = {128, 64, 160, 96};
|
||||
rcLeft[5] = {160, 64, 192, 96};
|
||||
rcLeft[6] = {192, 64, 224, 96};
|
||||
rcLeft[7] = {224, 64, 256, 96};
|
||||
rcLeft[8] = {0, 0, 0, 0};
|
||||
rcLeft[9] = {256, 64, 288, 96};
|
||||
rcLeft[10] = {288, 64, 320, 96};
|
||||
|
||||
rcRight[0] = {0, 96, 32, 128};
|
||||
rcRight[1] = {32, 96, 64, 128};
|
||||
rcRight[2] = {64, 96, 96, 128};
|
||||
rcRight[3] = {96, 96, 128, 128};
|
||||
rcRight[4] = {128, 96, 160, 128};
|
||||
rcRight[5] = {160, 96, 192, 128};
|
||||
rcRight[6] = {192, 96, 224, 128};
|
||||
rcRight[7] = {224, 96, 256, 128};
|
||||
rcRight[8] = {0, 0, 0, 0};
|
||||
rcRight[9] = {256, 96, 288, 128};
|
||||
rcRight[10] = {288, 96, 320, 128};
|
||||
RECT rcRight[11] = {
|
||||
{0, 96, 32, 128},
|
||||
{32, 96, 64, 128},
|
||||
{64, 96, 96, 128},
|
||||
{96, 96, 128, 128},
|
||||
{128, 96, 160, 128},
|
||||
{160, 96, 192, 128},
|
||||
{192, 96, 224, 128},
|
||||
{224, 96, 256, 128},
|
||||
{0, 0, 0, 0},
|
||||
{256, 96, 288, 128},
|
||||
{288, 96, 320, 128},
|
||||
};
|
||||
|
||||
if (npc->act_no < 100 && (gBoss[0].cond == 0 || npc->life < 400))
|
||||
npc->act_no = 100;
|
||||
|
@ -601,36 +603,37 @@ void ActNpc283(NPCHAR *npc)
|
|||
//Sue (transformed)
|
||||
void ActNpc284(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[13];
|
||||
RECT rcRight[13];
|
||||
RECT rcLeft[13] = {
|
||||
{0, 128, 32, 160},
|
||||
{32, 128, 64, 160},
|
||||
{64, 128, 96, 160},
|
||||
{96, 128, 128, 160},
|
||||
{128, 128, 160, 160},
|
||||
{160, 128, 192, 160},
|
||||
{192, 128, 224, 160},
|
||||
{224, 128, 256, 160},
|
||||
{0, 0, 0, 0},
|
||||
{256, 128, 288, 160},
|
||||
{288, 128, 320, 160},
|
||||
{224, 64, 256, 96},
|
||||
{208, 32, 224, 48},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 128, 32, 160};
|
||||
rcLeft[1] = {32, 128, 64, 160};
|
||||
rcLeft[2] = {64, 128, 96, 160};
|
||||
rcLeft[3] = {96, 128, 128, 160};
|
||||
rcLeft[4] = {128, 128, 160, 160};
|
||||
rcLeft[5] = {160, 128, 192, 160};
|
||||
rcLeft[6] = {192, 128, 224, 160};
|
||||
rcLeft[7] = {224, 128, 256, 160};
|
||||
rcLeft[8] = {0, 0, 0, 0};
|
||||
rcLeft[9] = {256, 128, 288, 160};
|
||||
rcLeft[10] = {288, 128, 320, 160};
|
||||
rcLeft[11] = {224, 64, 256, 96};
|
||||
rcLeft[12] = {208, 32, 224, 48};
|
||||
|
||||
rcRight[0] = {0, 160, 32, 192};
|
||||
rcRight[1] = {32, 160, 64, 192};
|
||||
rcRight[2] = {64, 160, 96, 192};
|
||||
rcRight[3] = {96, 160, 128, 192};
|
||||
rcRight[4] = {128, 160, 160, 192};
|
||||
rcRight[5] = {160, 160, 192, 192};
|
||||
rcRight[6] = {192, 160, 224, 192};
|
||||
rcRight[7] = {224, 160, 256, 192};
|
||||
rcRight[8] = {0, 0, 0, 0};
|
||||
rcRight[9] = {256, 160, 288, 192};
|
||||
rcRight[10] = {288, 160, 320, 192};
|
||||
rcRight[11] = {224, 96, 256, 128};
|
||||
rcRight[12] = {208, 48, 224, 64};
|
||||
RECT rcRight[13] = {
|
||||
{0, 160, 32, 192},
|
||||
{32, 160, 64, 192},
|
||||
{64, 160, 96, 192},
|
||||
{96, 160, 128, 192},
|
||||
{128, 160, 160, 192},
|
||||
{160, 160, 192, 192},
|
||||
{192, 160, 224, 192},
|
||||
{224, 160, 256, 192},
|
||||
{0, 0, 0, 0},
|
||||
{256, 160, 288, 192},
|
||||
{288, 160, 320, 192},
|
||||
{224, 96, 256, 128},
|
||||
{208, 48, 224, 64},
|
||||
};
|
||||
|
||||
if (npc->act_no < 100 && (gBoss[0].cond == 0|| npc->life < 500))
|
||||
npc->act_no = 100;
|
||||
|
@ -996,11 +999,11 @@ void ActNpc285(NPCHAR *npc)
|
|||
//Undead Core spiral shot trail
|
||||
void ActNpc286(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[3];
|
||||
|
||||
rc[0] = {232, 120, 248, 136};
|
||||
rc[1] = {232, 136, 248, 152};
|
||||
rc[2] = {232, 152, 248, 168};
|
||||
RECT rc[3] = {
|
||||
{232, 120, 248, 136},
|
||||
{232, 136, 248, 152},
|
||||
{232, 152, 248, 168},
|
||||
};
|
||||
|
||||
if (++npc->ani_wait > 0)
|
||||
{
|
||||
|
@ -1017,15 +1020,15 @@ void ActNpc286(NPCHAR *npc)
|
|||
//Orange smoke
|
||||
void ActNpc287(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[7];
|
||||
|
||||
rcLeft[0] = {0, 224, 16, 240};
|
||||
rcLeft[1] = {16, 224, 32, 240};
|
||||
rcLeft[2] = {32, 224, 48, 240};
|
||||
rcLeft[3] = {48, 224, 64, 240};
|
||||
rcLeft[4] = {64, 224, 80, 240};
|
||||
rcLeft[5] = {80, 224, 96, 240};
|
||||
rcLeft[6] = {96, 224, 112, 240};
|
||||
RECT rcLeft[7] = {
|
||||
{0, 224, 16, 240},
|
||||
{16, 224, 32, 240},
|
||||
{32, 224, 48, 240},
|
||||
{48, 224, 64, 240},
|
||||
{64, 224, 80, 240},
|
||||
{80, 224, 96, 240},
|
||||
{96, 224, 112, 240},
|
||||
};
|
||||
|
||||
if (npc->act_no == 0)
|
||||
{
|
||||
|
@ -1056,13 +1059,13 @@ void ActNpc287(NPCHAR *npc)
|
|||
//Undead Core exploding rock
|
||||
void ActNpc288(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[5];
|
||||
|
||||
rc[0] = {232, 72, 248, 88};
|
||||
rc[1] = {232, 88, 248, 104};
|
||||
rc[2] = {232, 0, 256, 24};
|
||||
rc[3] = {232, 24, 256, 48};
|
||||
rc[4] = {232, 48, 256, 72};
|
||||
RECT rc[5] = {
|
||||
{232, 72, 248, 88},
|
||||
{232, 88, 248, 104},
|
||||
{232, 0, 256, 24},
|
||||
{232, 24, 256, 48},
|
||||
{232, 48, 256, 72},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1145,16 +1148,17 @@ void ActNpc288(NPCHAR *npc)
|
|||
//Critter (orange, Misery)
|
||||
void ActNpc289(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[3];
|
||||
RECT rcRight[3];
|
||||
RECT rcLeft[3] = {
|
||||
{160, 32, 176, 48},
|
||||
{176, 32, 192, 48},
|
||||
{192, 32, 208, 48},
|
||||
};
|
||||
|
||||
rcLeft[0] = {160, 32, 176, 48};
|
||||
rcLeft[1] = {176, 32, 192, 48};
|
||||
rcLeft[2] = {192, 32, 208, 48};
|
||||
|
||||
rcRight[0] = {160, 48, 176, 64};
|
||||
rcRight[1] = {176, 48, 192, 64};
|
||||
rcRight[2] = {192, 48, 208, 64};
|
||||
RECT rcRight[3] = {
|
||||
{160, 48, 176, 64},
|
||||
{176, 48, 192, 64},
|
||||
{192, 48, 208, 64},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1251,16 +1255,17 @@ void ActNpc289(NPCHAR *npc)
|
|||
//Bat (Misery)
|
||||
void ActNpc290(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[3];
|
||||
RECT rcRight[3];
|
||||
RECT rcLeft[3] = {
|
||||
{112, 32, 128, 48},
|
||||
{128, 32, 144, 48},
|
||||
{144, 32, 160, 48},
|
||||
};
|
||||
|
||||
rcLeft[0] = {112, 32, 128, 48};
|
||||
rcLeft[1] = {128, 32, 144, 48};
|
||||
rcLeft[2] = {144, 32, 160, 48};
|
||||
|
||||
rcRight[0] = {112, 48, 128, 64};
|
||||
rcRight[1] = {128, 48, 144, 64};
|
||||
rcRight[2] = {144, 48, 160, 64};
|
||||
RECT rcRight[3] = {
|
||||
{112, 48, 128, 64},
|
||||
{128, 48, 144, 64},
|
||||
{144, 48, 160, 64},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1336,10 +1341,10 @@ void ActNpc290(NPCHAR *npc)
|
|||
//Mini Undead Core (inactive)
|
||||
void ActNpc291(NPCHAR *npc)
|
||||
{
|
||||
RECT tc[2];
|
||||
|
||||
tc[0] = {256, 80, 320, 120};
|
||||
tc[1] = {256, 0, 320, 40};
|
||||
RECT tc[2] = {
|
||||
{256, 80, 320, 120},
|
||||
{256, 0, 320, 40},
|
||||
};
|
||||
|
||||
if (npc->act_no == 0)
|
||||
{
|
||||
|
@ -1366,10 +1371,10 @@ void ActNpc292(NPCHAR *npc)
|
|||
//Undead Core giant energy shot
|
||||
void ActNpc293(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[2];
|
||||
|
||||
rect[0] = {240, 200, 280, 240};
|
||||
rect[1] = {280, 200, 320, 240};
|
||||
RECT rect[2] = {
|
||||
{240, 200, 280, 240},
|
||||
{280, 200, 320, 240},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1454,11 +1459,12 @@ void ActNpc294(NPCHAR *npc)
|
|||
//Cloud
|
||||
void ActNpc295(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[4];
|
||||
rc[0] = {0, 0, 208, 64};
|
||||
rc[1] = {32, 64, 144, 96};
|
||||
rc[2] = {32, 96, 104, 0x80};
|
||||
rc[3] = {104, 96, 144, 0x80};
|
||||
RECT rc[4] = {
|
||||
{0, 0, 208, 64},
|
||||
{32, 64, 144, 96},
|
||||
{32, 96, 104, 0x80},
|
||||
{104, 96, 144, 0x80},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1579,24 +1585,27 @@ void ActNpc296(NPCHAR *npc)
|
|||
//Sue in dragon's mouth
|
||||
void ActNpc297(NPCHAR *npc)
|
||||
{
|
||||
RECT rc = {112, 48, 0x80, 64};
|
||||
|
||||
npc->x = npc->pNpc->x + 0x2000;
|
||||
npc->y = npc->pNpc->y + 0x1000;
|
||||
npc->rect = {112, 48, 0x80, 64};
|
||||
|
||||
npc->rect = rc;
|
||||
}
|
||||
|
||||
//Doctor (opening)
|
||||
void ActNpc298(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[8];
|
||||
|
||||
rc[0] = {72, 0x80, 88, 160};
|
||||
rc[1] = {88, 0x80, 104, 160};
|
||||
rc[2] = {104, 0x80, 120, 160};
|
||||
rc[3] = {72, 0x80, 88, 160};
|
||||
rc[4] = {120, 0x80, 136, 160};
|
||||
rc[5] = {72, 0x80, 88, 160};
|
||||
rc[6] = {104, 160, 120, 192};
|
||||
rc[7] = {120, 160, 136, 192};
|
||||
RECT rc[8] = {
|
||||
{72, 0x80, 88, 160},
|
||||
{88, 0x80, 104, 160},
|
||||
{104, 0x80, 120, 160},
|
||||
{72, 0x80, 88, 160},
|
||||
{120, 0x80, 136, 160},
|
||||
{72, 0x80, 88, 160},
|
||||
{104, 160, 120, 192},
|
||||
{120, 160, 136, 192},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1694,10 +1703,10 @@ void ActNpc298(NPCHAR *npc)
|
|||
//Balrog/Misery (opening)
|
||||
void ActNpc299(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[2];
|
||||
|
||||
rc[0] = {0, 0, 48, 48};
|
||||
rc[1] = {48, 0, 96, 48};
|
||||
RECT rc[2] = {
|
||||
{0, 0, 48, 48},
|
||||
{48, 0, 96, 48},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
|
|
@ -17,9 +17,7 @@
|
|||
//Demon crown (opening)
|
||||
void ActNpc300(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[1];
|
||||
|
||||
rc[0] = {192, 80, 208, 96};
|
||||
RECT rc = {192, 80, 208, 96};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -32,22 +30,22 @@ void ActNpc300(NPCHAR *npc)
|
|||
if (++npc->ani_wait % 8 == 1)
|
||||
SetCaret(npc->x + (Random(-8, 8) * 0x200), npc->y + 0x1000, 13, 1);
|
||||
|
||||
npc->rect = rc[0];
|
||||
npc->rect = rc;
|
||||
}
|
||||
|
||||
//Fish missile (Misery)
|
||||
void ActNpc301(NPCHAR *npc)
|
||||
{
|
||||
RECT rect[8];
|
||||
|
||||
rect[0] = {144, 0, 160, 16};
|
||||
rect[1] = {160, 0, 176, 16};
|
||||
rect[2] = {176, 0, 192, 16};
|
||||
rect[3] = {192, 0, 208, 16};
|
||||
rect[4] = {144, 16, 160, 32};
|
||||
rect[5] = {160, 16, 176, 32};
|
||||
rect[6] = {176, 16, 192, 32};
|
||||
rect[7] = {192, 16, 208, 32};
|
||||
RECT rect[8] = {
|
||||
{144, 0, 160, 16},
|
||||
{160, 0, 176, 16},
|
||||
{176, 0, 192, 16},
|
||||
{192, 0, 208, 16},
|
||||
{144, 16, 160, 32},
|
||||
{160, 16, 176, 32},
|
||||
{176, 16, 192, 32},
|
||||
{192, 16, 208, 32},
|
||||
};
|
||||
|
||||
int dir;
|
||||
|
||||
|
@ -174,13 +172,15 @@ void ActNpc302(NPCHAR *npc)
|
|||
//Curly's machine gun
|
||||
void ActNpc303(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
RECT rcRight[2];
|
||||
RECT rcLeft[2] = {
|
||||
{216, 152, 232, 168},
|
||||
{232, 152, 248, 168},
|
||||
};
|
||||
|
||||
rcLeft[0] = {216, 152, 232, 168};
|
||||
rcLeft[1] = {232, 152, 248, 168};
|
||||
rcRight[0] = {216, 168, 232, 184};
|
||||
rcRight[1] = {232, 168, 248, 184};
|
||||
RECT rcRight[2] = {
|
||||
{216, 168, 232, 184},
|
||||
{232, 168, 248, 184},
|
||||
};
|
||||
|
||||
if (npc->pNpc)
|
||||
{
|
||||
|
@ -213,11 +213,12 @@ void ActNpc303(NPCHAR *npc)
|
|||
//Gaudi in hospital
|
||||
void ActNpc304(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[4];
|
||||
rc[0] = {0, 176, 24, 192};
|
||||
rc[1] = {24, 176, 48, 192};
|
||||
rc[2] = {48, 176, 72, 192};
|
||||
rc[3] = {72, 176, 96, 192};
|
||||
RECT rc[4] = {
|
||||
{0, 176, 24, 192},
|
||||
{24, 176, 48, 192},
|
||||
{48, 176, 72, 192},
|
||||
{72, 176, 96, 192},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -255,13 +256,15 @@ void ActNpc304(NPCHAR *npc)
|
|||
//Small puppy
|
||||
void ActNpc305(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
RECT rcRight[2];
|
||||
RECT rcLeft[2] = {
|
||||
{160, 144, 176, 160},
|
||||
{176, 144, 192, 160},
|
||||
};
|
||||
|
||||
rcLeft[0] = {160, 144, 176, 160};
|
||||
rcLeft[1] = {176, 144, 192, 160};
|
||||
rcRight[0] = {160, 160, 176, 176};
|
||||
rcRight[1] = {176, 160, 192, 176};
|
||||
RECT rcRight[2] = {
|
||||
{160, 160, 176, 176},
|
||||
{176, 160, 192, 176},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -292,12 +295,15 @@ void ActNpc305(NPCHAR *npc)
|
|||
//Balrog (nurse)
|
||||
void ActNpc306(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
RECT rcRight[2];
|
||||
rcLeft[0] = {240, 96, 280, 128};
|
||||
rcLeft[1] = {280, 96, 320, 128};
|
||||
rcRight[0] = {160, 152, 200, 184};
|
||||
rcRight[1] = {200, 152, 240, 184};
|
||||
RECT rcLeft[2] = {
|
||||
{240, 96, 280, 128},
|
||||
{280, 96, 320, 128},
|
||||
};
|
||||
|
||||
RECT rcRight[2] = {
|
||||
{160, 152, 200, 184},
|
||||
{200, 152, 240, 184},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -324,21 +330,24 @@ void ActNpc306(NPCHAR *npc)
|
|||
break;
|
||||
}
|
||||
|
||||
if (npc->direct)
|
||||
npc->rect = rcRight[npc->ani_no];
|
||||
else
|
||||
if (npc->direct == 0)
|
||||
npc->rect = rcLeft[npc->ani_no];
|
||||
else
|
||||
npc->rect = rcRight[npc->ani_no];
|
||||
}
|
||||
|
||||
//Caged Santa
|
||||
void ActNpc307(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
RECT rcRight[2];
|
||||
rcLeft[0] = {0, 32, 16, 48};
|
||||
rcLeft[1] = {16, 32, 32, 48};
|
||||
rcRight[0] = {0, 48, 16, 64};
|
||||
rcRight[1] = {16, 48, 32, 64};
|
||||
RECT rcLeft[2] = {
|
||||
{0, 32, 16, 48},
|
||||
{16, 32, 32, 48},
|
||||
};
|
||||
|
||||
RECT rcRight[2] = {
|
||||
{0, 48, 16, 64},
|
||||
{16, 48, 32, 64},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -366,28 +375,29 @@ void ActNpc307(NPCHAR *npc)
|
|||
break;
|
||||
}
|
||||
|
||||
if (gMC.x >= npc->x)
|
||||
npc->direct = 2;
|
||||
else
|
||||
if (gMC.x < npc->x)
|
||||
npc->direct = 0;
|
||||
|
||||
if (npc->direct)
|
||||
npc->rect = rcRight[npc->ani_no];
|
||||
else
|
||||
npc->direct = 2;
|
||||
|
||||
if (npc->direct == 0)
|
||||
npc->rect = rcLeft[npc->ani_no];
|
||||
else
|
||||
npc->rect = rcRight[npc->ani_no];
|
||||
}
|
||||
|
||||
//Stumpy
|
||||
void ActNpc308(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
RECT rcRight[2];
|
||||
RECT rcLeft[2] = {
|
||||
{128, 112, 144, 128},
|
||||
{144, 112, 160, 128},
|
||||
};
|
||||
|
||||
rcLeft[0] = {128, 112, 144, 128};
|
||||
rcLeft[1] = {144, 112, 160, 128};
|
||||
|
||||
rcRight[0] = {128, 128, 144, 144};
|
||||
rcRight[1] = {144, 128, 160, 144};
|
||||
RECT rcRight[2] = {
|
||||
{128, 128, 144, 144},
|
||||
{144, 128, 160, 144},
|
||||
};
|
||||
|
||||
unsigned char deg;
|
||||
|
||||
|
@ -487,14 +497,15 @@ void ActNpc308(NPCHAR *npc)
|
|||
//Bute
|
||||
void ActNpc309(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
RECT rcRight[2];
|
||||
RECT rcLeft[2] = {
|
||||
{0, 0, 16, 16},
|
||||
{16, 0, 32, 16},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 0, 16, 16};
|
||||
rcLeft[1] = {16, 0, 32, 16};
|
||||
|
||||
rcRight[0] = {0, 16, 16, 32};
|
||||
rcRight[1] = {16, 16, 32, 32};
|
||||
RECT rcRight[2] = {
|
||||
{0, 16, 16, 32},
|
||||
{16, 16, 32, 32},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -590,20 +601,21 @@ void ActNpc309(NPCHAR *npc)
|
|||
//Bute (with sword)
|
||||
void ActNpc310(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[5];
|
||||
RECT rcRight[5];
|
||||
RECT rcLeft[5] = {
|
||||
{32, 0, 56, 16},
|
||||
{56, 0, 80, 16},
|
||||
{80, 0, 104, 16},
|
||||
{104, 0, 128, 16},
|
||||
{128, 0, 152, 16},
|
||||
};
|
||||
|
||||
rcLeft[0] = {32, 0, 56, 16};
|
||||
rcLeft[1] = {56, 0, 80, 16};
|
||||
rcLeft[2] = {80, 0, 104, 16};
|
||||
rcLeft[3] = {104, 0, 128, 16};
|
||||
rcLeft[4] = {128, 0, 152, 16};
|
||||
|
||||
rcRight[0] = {32, 16, 56, 32};
|
||||
rcRight[1] = {56, 16, 80, 32};
|
||||
rcRight[2] = {80, 16, 104, 32};
|
||||
rcRight[3] = {104, 16, 128, 32};
|
||||
rcRight[4] = {128, 16, 152, 32};
|
||||
RECT rcRight[5] = {
|
||||
{32, 16, 56, 32},
|
||||
{56, 16, 80, 32},
|
||||
{80, 16, 104, 32},
|
||||
{104, 16, 128, 32},
|
||||
{128, 16, 152, 32},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -740,24 +752,25 @@ void ActNpc310(NPCHAR *npc)
|
|||
//Bute archer
|
||||
void ActNpc311(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[7];
|
||||
RECT rcRight[7];
|
||||
RECT rcLeft[7] = {
|
||||
{0, 32, 24, 56},
|
||||
{24, 32, 48, 56},
|
||||
{48, 32, 72, 56},
|
||||
{72, 32, 96, 56},
|
||||
{96, 32, 120, 56},
|
||||
{120, 32, 144, 56},
|
||||
{144, 32, 168, 56},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 32, 24, 56};
|
||||
rcLeft[1] = {24, 32, 48, 56};
|
||||
rcLeft[2] = {48, 32, 72, 56};
|
||||
rcLeft[3] = {72, 32, 96, 56};
|
||||
rcLeft[4] = {96, 32, 120, 56};
|
||||
rcLeft[5] = {120, 32, 144, 56};
|
||||
rcLeft[6] = {144, 32, 168, 56};
|
||||
|
||||
rcRight[0] = {0, 56, 24, 80};
|
||||
rcRight[1] = {24, 56, 48, 80};
|
||||
rcRight[2] = {48, 56, 72, 80};
|
||||
rcRight[3] = {72, 56, 96, 80};
|
||||
rcRight[4] = {96, 56, 120, 80};
|
||||
rcRight[5] = {120, 56, 144, 80};
|
||||
rcRight[6] = {144, 56, 168, 80};
|
||||
RECT rcRight[7] = {
|
||||
{0, 56, 24, 80},
|
||||
{24, 56, 48, 80},
|
||||
{48, 56, 72, 80},
|
||||
{72, 56, 96, 80},
|
||||
{96, 56, 120, 80},
|
||||
{120, 56, 144, 80},
|
||||
{144, 56, 168, 80},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -886,20 +899,21 @@ void ActNpc311(NPCHAR *npc)
|
|||
//Bute arrow projectile
|
||||
void ActNpc312(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[5];
|
||||
RECT rcRight[5];
|
||||
RECT rcLeft[5] = {
|
||||
{0, 160, 16, 176},
|
||||
{16, 160, 32, 176},
|
||||
{32, 160, 48, 176},
|
||||
{48, 160, 64, 176},
|
||||
{64, 160, 80, 176},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 160, 16, 176};
|
||||
rcLeft[1] = {16, 160, 32, 176};
|
||||
rcLeft[2] = {32, 160, 48, 176};
|
||||
rcLeft[3] = {48, 160, 64, 176};
|
||||
rcLeft[4] = {64, 160, 80, 176};
|
||||
|
||||
rcRight[0] = {0, 176, 16, 192};
|
||||
rcRight[1] = {16, 176, 32, 192};
|
||||
rcRight[2] = {32, 176, 48, 192};
|
||||
rcRight[3] = {48, 176, 64, 192};
|
||||
rcRight[4] = {64, 176, 80, 192};
|
||||
RECT rcRight[5] = {
|
||||
{0, 176, 16, 192},
|
||||
{16, 176, 32, 192},
|
||||
{32, 176, 48, 192},
|
||||
{48, 176, 64, 192},
|
||||
{64, 176, 80, 192},
|
||||
};
|
||||
|
||||
if (npc->act_no > 0 && npc->act_no < 20 && npc->flag & 0xFF)
|
||||
npc->act_no = 20;
|
||||
|
@ -999,38 +1013,39 @@ void ActNpc312(NPCHAR *npc)
|
|||
//Ma Pignon
|
||||
void ActNpc313(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[14];
|
||||
RECT rcRight[14];
|
||||
RECT rcLeft[14] = {
|
||||
{128, 0, 144, 16},
|
||||
{144, 0, 160, 16},
|
||||
{160, 0, 176, 16},
|
||||
{176, 0, 192, 16},
|
||||
{192, 0, 208, 16},
|
||||
{208, 0, 224, 16},
|
||||
{224, 0, 240, 16},
|
||||
{240, 0, 256, 16},
|
||||
{256, 0, 272, 16},
|
||||
{272, 0, 288, 16},
|
||||
{288, 0, 304, 16},
|
||||
{128, 0, 144, 16},
|
||||
{176, 0, 192, 16},
|
||||
{304, 0, 320, 16},
|
||||
};
|
||||
|
||||
rcLeft[0] = {128, 0, 144, 16};
|
||||
rcLeft[1] = {144, 0, 160, 16};
|
||||
rcLeft[2] = {160, 0, 176, 16};
|
||||
rcLeft[3] = {176, 0, 192, 16};
|
||||
rcLeft[4] = {192, 0, 208, 16};
|
||||
rcLeft[5] = {208, 0, 224, 16};
|
||||
rcLeft[6] = {224, 0, 240, 16};
|
||||
rcLeft[7] = {240, 0, 256, 16};
|
||||
rcLeft[8] = {256, 0, 272, 16};
|
||||
rcLeft[9] = {272, 0, 288, 16};
|
||||
rcLeft[10] = {288, 0, 304, 16};
|
||||
rcLeft[11] = {128, 0, 144, 16};
|
||||
rcLeft[12] = {176, 0, 192, 16};
|
||||
rcLeft[13] = {304, 0, 320, 16};
|
||||
|
||||
rcRight[0] = {128, 16, 144, 32};
|
||||
rcRight[1] = {144, 16, 160, 32};
|
||||
rcRight[2] = {160, 16, 176, 32};
|
||||
rcRight[3] = {176, 16, 192, 32};
|
||||
rcRight[4] = {192, 16, 208, 32};
|
||||
rcRight[5] = {208, 16, 224, 32};
|
||||
rcRight[6] = {224, 16, 240, 32};
|
||||
rcRight[7] = {240, 16, 256, 32};
|
||||
rcRight[8] = {256, 16, 272, 32};
|
||||
rcRight[9] = {272, 16, 288, 32};
|
||||
rcRight[10] = {288, 16, 304, 32};
|
||||
rcRight[11] = {128, 16, 144, 32};
|
||||
rcRight[12] = {176, 16, 192, 32};
|
||||
rcRight[13] = {304, 16, 320, 32};
|
||||
RECT rcRight[14] = {
|
||||
{128, 16, 144, 32},
|
||||
{144, 16, 160, 32},
|
||||
{160, 16, 176, 32},
|
||||
{176, 16, 192, 32},
|
||||
{192, 16, 208, 32},
|
||||
{208, 16, 224, 32},
|
||||
{224, 16, 240, 32},
|
||||
{240, 16, 256, 32},
|
||||
{256, 16, 272, 32},
|
||||
{272, 16, 288, 32},
|
||||
{288, 16, 304, 32},
|
||||
{128, 16, 144, 32},
|
||||
{176, 16, 192, 32},
|
||||
{304, 16, 320, 32},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1348,11 +1363,11 @@ void ActNpc313(NPCHAR *npc)
|
|||
//Ma Pignon rock
|
||||
void ActNpc314(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[3];
|
||||
|
||||
rc[0] = {64, 64, 80, 80};
|
||||
rc[1] = {80, 64, 96, 80};
|
||||
rc[2] = {96, 64, 112, 80};
|
||||
RECT rc[3] = {
|
||||
{64, 64, 80, 80},
|
||||
{80, 64, 96, 80},
|
||||
{96, 64, 112, 80},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1419,18 +1434,19 @@ void ActNpc314(NPCHAR *npc)
|
|||
//Ma Pignon clone
|
||||
void ActNpc315(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[4];
|
||||
RECT rcRight[4];
|
||||
RECT rcLeft[4] = {
|
||||
{128, 0, 144, 16},
|
||||
{160, 0, 176, 16},
|
||||
{176, 0, 192, 16},
|
||||
{192, 0, 208, 16},
|
||||
};
|
||||
|
||||
rcLeft[0] = {128, 0, 144, 16};
|
||||
rcLeft[1] = {160, 0, 176, 16};
|
||||
rcLeft[2] = {176, 0, 192, 16};
|
||||
rcLeft[3] = {192, 0, 208, 16};
|
||||
|
||||
rcRight[0] = {128, 16, 144, 32};
|
||||
rcRight[1] = {160, 16, 176, 32};
|
||||
rcRight[2] = {176, 16, 192, 32};
|
||||
rcRight[3] = {192, 16, 208, 32};
|
||||
RECT rcRight[4] = {
|
||||
{128, 16, 144, 32},
|
||||
{160, 16, 176, 32},
|
||||
{176, 16, 192, 32},
|
||||
{192, 16, 208, 32},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1560,16 +1576,17 @@ void ActNpc315(NPCHAR *npc)
|
|||
//Bute (dead)
|
||||
void ActNpc316(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[3];
|
||||
RECT rcRight[3];
|
||||
RECT rcLeft[3] = {
|
||||
{248, 32, 272, 56},
|
||||
{272, 32, 296, 56},
|
||||
{296, 32, 320, 56},
|
||||
};
|
||||
|
||||
rcLeft[0] = {248, 32, 272, 56};
|
||||
rcLeft[1] = {272, 32, 296, 56};
|
||||
rcLeft[2] = {296, 32, 320, 56};
|
||||
|
||||
rcRight[0] = {248, 56, 272, 80};
|
||||
rcRight[1] = {272, 56, 296, 80};
|
||||
rcRight[2] = {296, 56, 320, 80};
|
||||
RECT rcRight[3] = {
|
||||
{248, 56, 272, 80},
|
||||
{272, 56, 296, 80},
|
||||
{296, 56, 320, 80},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1638,18 +1655,19 @@ void ActNpc316(NPCHAR *npc)
|
|||
//Mesa
|
||||
void ActNpc317(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[4];
|
||||
RECT rcRight[4];
|
||||
RECT rcLeft[4] = {
|
||||
{0, 80, 32, 120},
|
||||
{32, 80, 64, 120},
|
||||
{64, 80, 96, 120},
|
||||
{96, 80, 128, 120},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 80, 32, 120};
|
||||
rcLeft[1] = {32, 80, 64, 120};
|
||||
rcLeft[2] = {64, 80, 96, 120};
|
||||
rcLeft[3] = {96, 80, 128, 120};
|
||||
|
||||
rcRight[0] = {0, 120, 32, 160};
|
||||
rcRight[1] = {32, 120, 64, 160};
|
||||
rcRight[2] = {64, 120, 96, 160};
|
||||
rcRight[3] = {96, 120, 128, 160};
|
||||
RECT rcRight[4] = {
|
||||
{0, 120, 32, 160},
|
||||
{32, 120, 64, 160},
|
||||
{64, 120, 96, 160},
|
||||
{96, 120, 128, 160},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1732,16 +1750,17 @@ void ActNpc317(NPCHAR *npc)
|
|||
//Mesa (dead)
|
||||
void ActNpc318(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[3];
|
||||
RECT rcRight[3];
|
||||
RECT rcLeft[3] = {
|
||||
{224, 80, 256, 120},
|
||||
{256, 80, 288, 120},
|
||||
{288, 80, 320, 120},
|
||||
};
|
||||
|
||||
rcLeft[0] = {224, 80, 256, 120};
|
||||
rcLeft[1] = {256, 80, 288, 120};
|
||||
rcLeft[2] = {288, 80, 320, 120};
|
||||
|
||||
rcRight[0] = {224, 120, 256, 160};
|
||||
rcRight[1] = {256, 120, 288, 160};
|
||||
rcRight[2] = {288, 120, 320, 160};
|
||||
RECT rcRight[3] = {
|
||||
{224, 120, 256, 160},
|
||||
{256, 120, 288, 160},
|
||||
{288, 120, 320, 160},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1807,11 +1826,11 @@ void ActNpc318(NPCHAR *npc)
|
|||
//Mesa block
|
||||
void ActNpc319(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[3];
|
||||
|
||||
rc[0] = {16, 0, 32, 16};
|
||||
rc[1] = {16, 0, 32, 16};
|
||||
rc[2] = {96, 80, 112, 96};
|
||||
RECT rc[3] = {
|
||||
{16, 0, 32, 16},
|
||||
{16, 0, 32, 16},
|
||||
{96, 80, 112, 96},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
|
|
@ -17,16 +17,17 @@
|
|||
//Curly (carried, shooting)
|
||||
void ActNpc320(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[3];
|
||||
RECT rcRight[3];
|
||||
RECT rcLeft[3] = {
|
||||
{16, 96, 32, 112},
|
||||
{48, 96, 64, 112},
|
||||
{96, 96, 112, 112},
|
||||
};
|
||||
|
||||
rcLeft[0] = {16, 96, 32, 112};
|
||||
rcLeft[1] = {48, 96, 64, 112};
|
||||
rcLeft[2] = {96, 96, 112, 112};
|
||||
|
||||
rcRight[0] = {16, 112, 32, 128};
|
||||
rcRight[1] = {48, 112, 64, 128};
|
||||
rcRight[2] = {96, 112, 112, 128};
|
||||
RECT rcRight[3] = {
|
||||
{16, 112, 32, 128},
|
||||
{48, 112, 64, 128},
|
||||
{96, 112, 112, 128},
|
||||
};
|
||||
|
||||
if (npc->act_no == 0)
|
||||
{
|
||||
|
@ -106,16 +107,17 @@ void ActNpc320(NPCHAR *npc)
|
|||
//Curly's Nemesis
|
||||
void ActNpc321(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[3];
|
||||
RECT rcRight[3];
|
||||
RECT rcLeft[3] = {
|
||||
{136, 152, 152, 168},
|
||||
{152, 152, 168, 168},
|
||||
{168, 152, 184, 168},
|
||||
};
|
||||
|
||||
rcLeft[0] = {136, 152, 152, 168};
|
||||
rcLeft[1] = {152, 152, 168, 168};
|
||||
rcLeft[2] = {168, 152, 184, 168};
|
||||
|
||||
rcRight[0] = {136, 168, 152, 184};
|
||||
rcRight[1] = {152, 168, 168, 184};
|
||||
rcRight[2] = {168, 168, 184, 184};
|
||||
RECT rcRight[3] = {
|
||||
{136, 168, 152, 184},
|
||||
{152, 168, 168, 184},
|
||||
{168, 168, 184, 184},
|
||||
};
|
||||
|
||||
char direct;
|
||||
|
||||
|
@ -170,11 +172,11 @@ void ActNpc321(NPCHAR *npc)
|
|||
//Deleet
|
||||
void ActNpc322(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[3];
|
||||
|
||||
rc[0] = {272, 216, 296, 240};
|
||||
rc[1] = {296, 216, 320, 240};
|
||||
rc[2] = {160, 216, 184, 240};
|
||||
RECT rc[3] = {
|
||||
{272, 216, 296, 240},
|
||||
{296, 216, 320, 240},
|
||||
{160, 216, 184, 240},
|
||||
};
|
||||
|
||||
if (npc->act_no < 2 && npc->life <= 968)
|
||||
{
|
||||
|
@ -258,12 +260,12 @@ void ActNpc322(NPCHAR *npc)
|
|||
//Bute (spinning)
|
||||
void ActNpc323(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[4];
|
||||
|
||||
rc[0] = {216, 32, 232, 56};
|
||||
rc[1] = {232, 32, 248, 56};
|
||||
rc[2] = {216, 56, 232, 80};
|
||||
rc[3] = {232, 56, 248, 80};
|
||||
RECT rc[4] = {
|
||||
{216, 32, 232, 56},
|
||||
{232, 32, 248, 56},
|
||||
{216, 56, 232, 80},
|
||||
{232, 56, 248, 80},
|
||||
};
|
||||
|
||||
if (++npc->ani_wait > 3)
|
||||
{
|
||||
|
@ -367,15 +369,15 @@ void ActNpc324(NPCHAR *npc)
|
|||
//Heavy Press lightning
|
||||
void ActNpc325(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[7];
|
||||
|
||||
rc[0] = {240, 96, 272, 128};
|
||||
rc[1] = {272, 96, 304, 128};
|
||||
rc[2] = {240, 128, 272, 160};
|
||||
rc[3] = {240, 0, 256, 96};
|
||||
rc[4] = {256, 0, 272, 96};
|
||||
rc[5] = {272, 0, 288, 96};
|
||||
rc[6] = {288, 0, 304, 96};
|
||||
RECT rc[7] = {
|
||||
{240, 96, 272, 128},
|
||||
{272, 96, 304, 128},
|
||||
{240, 128, 272, 160},
|
||||
{240, 0, 256, 96},
|
||||
{256, 0, 272, 96},
|
||||
{272, 0, 288, 96},
|
||||
{288, 0, 304, 96},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -526,37 +528,41 @@ void ActNpc326(NPCHAR *npc)
|
|||
break;
|
||||
}
|
||||
|
||||
RECT rcSu[8];
|
||||
RECT rcItoh[8];
|
||||
rcItoh[0] = {0, 128, 16, 152};
|
||||
rcItoh[1] = {16, 128, 32, 152};
|
||||
rcItoh[2] = {32, 128, 48, 152};
|
||||
rcItoh[3] = {48, 128, 64, 152};
|
||||
rcItoh[4] = {64, 128, 80, 152};
|
||||
rcItoh[5] = {80, 128, 96, 152};
|
||||
rcItoh[6] = {96, 128, 112, 152};
|
||||
rcItoh[7] = {112, 128, 128, 152};
|
||||
rcSu[0] = {128, 128, 144, 152};
|
||||
rcSu[1] = {144, 128, 160, 152};
|
||||
rcSu[2] = {160, 128, 176, 152};
|
||||
rcSu[3] = {176, 128, 192, 152};
|
||||
rcSu[4] = {192, 128, 208, 152};
|
||||
rcSu[5] = {208, 128, 224, 152};
|
||||
rcSu[6] = {224, 128, 240, 152};
|
||||
rcSu[7] = {32, 152, 48, 176};
|
||||
RECT rcItoh[8] = {
|
||||
{0, 128, 16, 152},
|
||||
{16, 128, 32, 152},
|
||||
{32, 128, 48, 152},
|
||||
{48, 128, 64, 152},
|
||||
{64, 128, 80, 152},
|
||||
{80, 128, 96, 152},
|
||||
{96, 128, 112, 152},
|
||||
{112, 128, 128, 152},
|
||||
};
|
||||
|
||||
if (npc->direct)
|
||||
npc->rect = rcSu[npc->ani_no];
|
||||
else
|
||||
RECT rcSu[8] = {
|
||||
{128, 128, 144, 152},
|
||||
{144, 128, 160, 152},
|
||||
{160, 128, 176, 152},
|
||||
{176, 128, 192, 152},
|
||||
{192, 128, 208, 152},
|
||||
{208, 128, 224, 152},
|
||||
{224, 128, 240, 152},
|
||||
{32, 152, 48, 176},
|
||||
};
|
||||
|
||||
if (npc->direct == 0)
|
||||
npc->rect = rcItoh[npc->ani_no];
|
||||
else
|
||||
npc->rect = rcSu[npc->ani_no];
|
||||
}
|
||||
|
||||
//Sneeze
|
||||
void ActNpc327(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[2];
|
||||
rc[0] = {240, 80, 256, 96};
|
||||
rc[1] = {256, 80, 272, 96};
|
||||
RECT rc[2] = {
|
||||
{240, 80, 256, 96},
|
||||
{256, 80, 272, 96},
|
||||
};
|
||||
|
||||
++npc->act_wait;
|
||||
|
||||
|
@ -598,26 +604,32 @@ void ActNpc327(NPCHAR *npc)
|
|||
//Thingy that turns Sue and Itoh into humans for 4 seconds
|
||||
void ActNpc328(NPCHAR *npc)
|
||||
{
|
||||
npc->rect = {96, 0, 128, 48};
|
||||
RECT rc = {96, 0, 128, 48};
|
||||
npc->rect = rc;
|
||||
}
|
||||
|
||||
//Laboratory fan
|
||||
void ActNpc329(NPCHAR *npc)
|
||||
{
|
||||
if (++npc->ani_wait / 2 & 1)
|
||||
npc->rect = {48, 0, 64, 16};
|
||||
RECT rc[2] = {
|
||||
{48, 0, 64, 16},
|
||||
{64, 0, 80, 16},
|
||||
};
|
||||
|
||||
if (++npc->ani_wait / 2 % 2)
|
||||
npc->rect = rc[0];
|
||||
else
|
||||
npc->rect = {64, 0, 80, 16};
|
||||
npc->rect = rc[1];
|
||||
}
|
||||
|
||||
//Rolling
|
||||
void ActNpc330(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[3];
|
||||
|
||||
rc[0] = {144, 136, 160, 152};
|
||||
rc[1] = {160, 136, 176, 152};
|
||||
rc[2] = {176, 136, 192, 152};
|
||||
RECT rc[3] = {
|
||||
{144, 136, 160, 152},
|
||||
{160, 136, 176, 152},
|
||||
{176, 136, 192, 152},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -696,12 +708,12 @@ void ActNpc330(NPCHAR *npc)
|
|||
//Ballos bone projectile
|
||||
void ActNpc331(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[4];
|
||||
|
||||
rc[0] = {288, 80, 304, 96};
|
||||
rc[1] = {304, 80, 320, 96};
|
||||
rc[2] = {288, 96, 304, 112};
|
||||
rc[3] = {304, 96, 320, 112};
|
||||
RECT rc[4] = {
|
||||
{288, 80, 304, 96},
|
||||
{304, 80, 320, 96},
|
||||
{288, 96, 304, 112},
|
||||
{304, 96, 320, 112},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -755,11 +767,11 @@ void ActNpc331(NPCHAR *npc)
|
|||
//Ballos shockwave
|
||||
void ActNpc332(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[3];
|
||||
|
||||
rc[0] = {144, 96, 168, 120};
|
||||
rc[1] = {168, 96, 192, 120};
|
||||
rc[2] = {192, 96, 216, 120};
|
||||
RECT rc[3] = {
|
||||
{144, 96, 168, 120},
|
||||
{168, 96, 192, 120},
|
||||
{192, 96, 216, 120},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -813,10 +825,10 @@ void ActNpc332(NPCHAR *npc)
|
|||
//Ballos lightning
|
||||
void ActNpc333(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[2];
|
||||
|
||||
rc[0] = {80, 120, 104, 144};
|
||||
rc[1] = {104, 120, 128, 144};
|
||||
RECT rc[2] = {
|
||||
{80, 120, 104, 144},
|
||||
{104, 120, 128, 144},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -849,14 +861,15 @@ void ActNpc333(NPCHAR *npc)
|
|||
//Sweat
|
||||
void ActNpc334(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
RECT rcRight[2];
|
||||
RECT rcLeft[2] = {
|
||||
{160, 184, 168, 200},
|
||||
{168, 184, 176, 200},
|
||||
};
|
||||
|
||||
rcLeft[0] = {160, 184, 168, 200};
|
||||
rcLeft[1] = {168, 184, 176, 200};
|
||||
|
||||
rcRight[0] = {176, 184, 184, 200};
|
||||
rcRight[1] = {184, 184, 192, 200};
|
||||
RECT rcRight[2] = {
|
||||
{176, 184, 184, 200},
|
||||
{184, 184, 192, 200},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -895,11 +908,11 @@ void ActNpc334(NPCHAR *npc)
|
|||
//Ikachan
|
||||
void ActNpc335(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[3];
|
||||
|
||||
rc[0] = {0, 16, 16, 32};
|
||||
rc[1] = {16, 16, 32, 32};
|
||||
rc[2] = {32, 16, 48, 32};
|
||||
RECT rc[3] = {
|
||||
{0, 16, 16, 32},
|
||||
{16, 16, 32, 32},
|
||||
{32, 16, 48, 32},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -970,10 +983,10 @@ void ActNpc336(NPCHAR *npc)
|
|||
//Numhachi
|
||||
void ActNpc337(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
|
||||
rcLeft[0] = {256, 112, 288, 152};
|
||||
rcLeft[1] = {288, 112, 320, 152};
|
||||
RECT rcLeft[2] = {
|
||||
{256, 112, 288, 152},
|
||||
{288, 112, 320, 152},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1012,14 +1025,15 @@ void ActNpc337(NPCHAR *npc)
|
|||
//Green Devil
|
||||
void ActNpc338(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[2];
|
||||
RECT rcRight[2];
|
||||
RECT rcLeft[2] = {
|
||||
{288, 0, 304, 16},
|
||||
{304, 0, 320, 16},
|
||||
};
|
||||
|
||||
rcLeft[0] = {288, 0, 304, 16};
|
||||
rcLeft[1] = {304, 0, 320, 16};
|
||||
|
||||
rcRight[0] = {288, 16, 304, 32};
|
||||
rcRight[1] = {304, 16, 320, 32};
|
||||
RECT rcRight[2] = {
|
||||
{288, 16, 304, 32},
|
||||
{304, 16, 320, 32},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
|
|
@ -521,32 +521,33 @@ void ActNpc340(NPCHAR *npc)
|
|||
npc->x += npc->xm;
|
||||
npc->y += npc->ym;
|
||||
|
||||
RECT rcLeft[11];
|
||||
RECT rcRight[11];
|
||||
RECT rcLeft[11] = {
|
||||
{0, 0, 48, 40},
|
||||
{48, 0, 96, 40},
|
||||
{96, 0, 144, 40},
|
||||
{144, 0, 192, 40},
|
||||
{192, 0, 240, 40},
|
||||
{240, 0, 288, 40},
|
||||
{0, 80, 48, 120},
|
||||
{48, 80, 96, 120},
|
||||
{96, 80, 144, 120},
|
||||
{144, 80, 192, 120},
|
||||
{192, 80, 240, 120},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 0, 48, 40};
|
||||
rcLeft[1] = {48, 0, 96, 40};
|
||||
rcLeft[2] = {96, 0, 144, 40};
|
||||
rcLeft[3] = {144, 0, 192, 40};
|
||||
rcLeft[4] = {192, 0, 240, 40};
|
||||
rcLeft[5] = {240, 0, 288, 40};
|
||||
rcLeft[6] = {0, 80, 48, 120};
|
||||
rcLeft[7] = {48, 80, 96, 120};
|
||||
rcLeft[8] = {96, 80, 144, 120};
|
||||
rcLeft[9] = {144, 80, 192, 120};
|
||||
rcLeft[10] = {192, 80, 240, 120};
|
||||
|
||||
rcRight[0] = {0, 40, 48, 80};
|
||||
rcRight[1] = {48, 40, 96, 80};
|
||||
rcRight[2] = {96, 40, 144, 80};
|
||||
rcRight[3] = {144, 40, 192, 80};
|
||||
rcRight[4] = {192, 40, 240, 80};
|
||||
rcRight[5] = {240, 40, 288, 80};
|
||||
rcRight[6] = {0, 120, 48, 160};
|
||||
rcRight[7] = {48, 120, 96, 160};
|
||||
rcRight[8] = {96, 120, 144, 160};
|
||||
rcRight[9] = {144, 120, 192, 160};
|
||||
rcRight[10] = {192, 120, 240, 160};
|
||||
RECT rcRight[11] = {
|
||||
{0, 40, 48, 80},
|
||||
{48, 40, 96, 80},
|
||||
{96, 40, 144, 80},
|
||||
{144, 40, 192, 80},
|
||||
{192, 40, 240, 80},
|
||||
{240, 40, 288, 80},
|
||||
{0, 120, 48, 160},
|
||||
{48, 120, 96, 160},
|
||||
{96, 120, 144, 160},
|
||||
{144, 120, 192, 160},
|
||||
{192, 120, 240, 160},
|
||||
};
|
||||
|
||||
if (npc->direct == 0)
|
||||
npc->rect = rcLeft[npc->ani_no];
|
||||
|
@ -557,11 +558,11 @@ void ActNpc340(NPCHAR *npc)
|
|||
//Ballos 1 head
|
||||
void ActNpc341(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[3];
|
||||
|
||||
rc[0] = {288, 32, 320, 48};
|
||||
rc[1] = {288, 48, 320, 64};
|
||||
rc[2] = {288, 64, 320, 80};
|
||||
RECT rc[3] = {
|
||||
{288, 32, 320, 48},
|
||||
{288, 48, 320, 64},
|
||||
{288, 64, 320, 80},
|
||||
};
|
||||
|
||||
if (npc->pNpc->act_no == 11 && npc->pNpc->act_wait > 50)
|
||||
++npc->ani_wait;
|
||||
|
@ -585,11 +586,11 @@ void ActNpc342(NPCHAR *npc)
|
|||
{
|
||||
static int flash;
|
||||
|
||||
RECT rc[3];
|
||||
|
||||
rc[0] = {240, 48, 280, 88};
|
||||
rc[1] = {240, 88, 280, 128};
|
||||
rc[2] = {280, 48, 320, 88};
|
||||
RECT rc[3] = {
|
||||
{240, 48, 280, 88},
|
||||
{240, 88, 280, 128},
|
||||
{280, 48, 320, 88},
|
||||
};
|
||||
|
||||
if (npc->act_no < 1000 && npc->pNpc->act_no >= 1000)
|
||||
npc->act_no = 1000;
|
||||
|
@ -865,10 +866,10 @@ void ActNpc343(NPCHAR *npc)
|
|||
//Ballos 2 eyes
|
||||
void ActNpc344(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[2];
|
||||
|
||||
rc[0] = {272, 0, 296, 16};
|
||||
rc[1] = {296, 0, 320, 16};
|
||||
RECT rc[2] = {
|
||||
{272, 0, 296, 16},
|
||||
{296, 0, 320, 16},
|
||||
};
|
||||
|
||||
if (npc->direct == 0)
|
||||
{
|
||||
|
@ -890,12 +891,12 @@ void ActNpc344(NPCHAR *npc)
|
|||
//Ballos skull projectile
|
||||
void ActNpc345(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[4];
|
||||
|
||||
rc[0] = {128, 176, 144, 192};
|
||||
rc[1] = {144, 176, 160, 192};
|
||||
rc[2] = {160, 176, 176, 192};
|
||||
rc[3] = {176, 176, 192, 192};
|
||||
RECT rc[4] = {
|
||||
{128, 176, 144, 192},
|
||||
{144, 176, 160, 192},
|
||||
{160, 176, 176, 192},
|
||||
{176, 176, 192, 192},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1161,12 +1162,12 @@ void ActNpc347(NPCHAR *npc)
|
|||
break;
|
||||
}
|
||||
|
||||
RECT rc[4];
|
||||
|
||||
rc[0] = {256, 48, 272, 64};
|
||||
rc[1] = {272, 48, 288, 64};
|
||||
rc[2] = {288, 48, 304, 64};
|
||||
rc[3] = {304, 48, 320, 64};
|
||||
RECT rc[4] = {
|
||||
{256, 48, 272, 64},
|
||||
{272, 48, 288, 64},
|
||||
{288, 48, 304, 64},
|
||||
{304, 48, 320, 64},
|
||||
};
|
||||
|
||||
npc->rect = rc[npc->ani_no];
|
||||
}
|
||||
|
@ -1174,10 +1175,10 @@ void ActNpc347(NPCHAR *npc)
|
|||
//Ballos 4 spikes
|
||||
void ActNpc348(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[2];
|
||||
|
||||
rc[0] = {128, 152, 160, 176};
|
||||
rc[1] = {160, 152, 192, 176};
|
||||
RECT rc[2] = {
|
||||
{128, 152, 160, 176},
|
||||
{160, 152, 192, 176},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1228,24 +1229,25 @@ void ActNpc349(NPCHAR *npc)
|
|||
//Flying Bute archer
|
||||
void ActNpc350(NPCHAR *npc)
|
||||
{
|
||||
RECT rcLeft[7];
|
||||
RECT rcRight[7];
|
||||
RECT rcLeft[7] = {
|
||||
{0, 160, 24, 184},
|
||||
{24, 160, 48, 184},
|
||||
{48, 160, 72, 184},
|
||||
{72, 160, 96, 184},
|
||||
{96, 160, 120, 184},
|
||||
{120, 160, 144, 184},
|
||||
{144, 160, 168, 184},
|
||||
};
|
||||
|
||||
rcLeft[0] = {0, 160, 24, 184};
|
||||
rcLeft[1] = {24, 160, 48, 184};
|
||||
rcLeft[2] = {48, 160, 72, 184};
|
||||
rcLeft[3] = {72, 160, 96, 184};
|
||||
rcLeft[4] = {96, 160, 120, 184};
|
||||
rcLeft[5] = {120, 160, 144, 184};
|
||||
rcLeft[6] = {144, 160, 168, 184};
|
||||
|
||||
rcRight[0] = {0, 184, 24, 208};
|
||||
rcRight[1] = {24, 184, 48, 208};
|
||||
rcRight[2] = {48, 184, 72, 208};
|
||||
rcRight[3] = {72, 184, 96, 208};
|
||||
rcRight[4] = {96, 184, 120, 208};
|
||||
rcRight[5] = {120, 184, 144, 208};
|
||||
rcRight[6] = {144, 184, 168, 208};
|
||||
RECT rcRight[7] = {
|
||||
{0, 184, 24, 208},
|
||||
{24, 184, 48, 208},
|
||||
{48, 184, 72, 208},
|
||||
{72, 184, 96, 208},
|
||||
{96, 184, 120, 208},
|
||||
{120, 184, 144, 208},
|
||||
{144, 184, 168, 208},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1409,17 +1411,17 @@ void ActNpc350(NPCHAR *npc)
|
|||
//Statue (shootable)
|
||||
void ActNpc351(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[9];
|
||||
|
||||
rc[0] = {0, 96, 32, 136};
|
||||
rc[1] = {32, 96, 64, 136};
|
||||
rc[2] = {64, 96, 96, 136};
|
||||
rc[3] = {96, 96, 128, 136};
|
||||
rc[4] = {128, 96, 160, 136};
|
||||
rc[5] = {0, 176, 32, 216};
|
||||
rc[6] = {32, 176, 64, 216};
|
||||
rc[7] = {64, 176, 96, 216};
|
||||
rc[8] = {96, 176, 128, 216};
|
||||
RECT rc[9] = {
|
||||
{0, 96, 32, 136},
|
||||
{32, 96, 64, 136},
|
||||
{64, 96, 96, 136},
|
||||
{96, 96, 128, 136},
|
||||
{128, 96, 160, 136},
|
||||
{0, 176, 32, 216},
|
||||
{32, 176, 64, 216},
|
||||
{64, 176, 96, 216},
|
||||
{96, 176, 128, 216},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1525,7 +1527,7 @@ void ActNpc352(NPCHAR *npc)
|
|||
break;
|
||||
}
|
||||
|
||||
static RECT rc[28] = {
|
||||
RECT rc[28] = {
|
||||
{304, 48, 320, 64},
|
||||
{224, 48, 240, 64},
|
||||
{32, 80, 48, 96},
|
||||
|
@ -1562,20 +1564,22 @@ void ActNpc352(NPCHAR *npc)
|
|||
//Bute with sword (flying)
|
||||
void ActNpc353(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[4];
|
||||
RECT rcLeft[2];
|
||||
RECT rcRight[2];
|
||||
RECT rc[4] = {
|
||||
{168, 160, 184, 184},
|
||||
{184, 160, 200, 184},
|
||||
{168, 184, 184, 208},
|
||||
{184, 184, 200, 208},
|
||||
};
|
||||
|
||||
rc[0] = {168, 160, 184, 184};
|
||||
rc[1] = {184, 160, 200, 184};
|
||||
rc[2] = {168, 184, 184, 208};
|
||||
rc[3] = {184, 184, 200, 208};
|
||||
RECT rcLeft[2] = {
|
||||
{200, 160, 216, 176},
|
||||
{216, 160, 232, 176},
|
||||
};
|
||||
|
||||
rcLeft[0] = {200, 160, 216, 176};
|
||||
rcLeft[1] = {216, 160, 232, 176};
|
||||
|
||||
rcRight[0] = {200, 176, 216, 192};
|
||||
rcRight[1] = {216, 176, 232, 192};
|
||||
RECT rcRight[2] = {
|
||||
{200, 176, 216, 192},
|
||||
{216, 176, 232, 192},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1735,12 +1739,12 @@ void ActNpc354(NPCHAR *npc)
|
|||
//Quote and Curly on Balrog's back
|
||||
void ActNpc355(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[4];
|
||||
|
||||
rc[0] = {80, 16, 96, 32};
|
||||
rc[1] = {80, 96, 96, 112};
|
||||
rc[2] = {128, 16, 144, 32};
|
||||
rc[3] = {208, 96, 224, 112};
|
||||
RECT rc[4] = {
|
||||
{80, 16, 96, 32},
|
||||
{80, 96, 96, 112},
|
||||
{128, 16, 144, 32},
|
||||
{208, 96, 224, 112},
|
||||
};
|
||||
|
||||
if (npc->act_no == 0)
|
||||
{
|
||||
|
@ -1782,10 +1786,10 @@ void ActNpc355(NPCHAR *npc)
|
|||
//Balrog rescue
|
||||
void ActNpc356(NPCHAR *npc)
|
||||
{
|
||||
RECT rcRight[2];
|
||||
|
||||
rcRight[0] = {240, 128, 280, 152};
|
||||
rcRight[1] = {240, 152, 280, 176};
|
||||
RECT rcRight[2] = {
|
||||
{240, 128, 280, 152},
|
||||
{240, 152, 280, 176},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1886,13 +1890,13 @@ void ActNpc357(NPCHAR *npc)
|
|||
//Misery (stood in the wind during the credits)
|
||||
void ActNpc358(NPCHAR *npc)
|
||||
{
|
||||
RECT rc[5];
|
||||
|
||||
rc[0] = {208, 8, 224, 32};
|
||||
rc[1] = {224, 8, 240, 32};
|
||||
rc[2] = {240, 8, 256, 32};
|
||||
rc[3] = {256, 8, 272, 32};
|
||||
rc[4] = {272, 8, 288, 32};
|
||||
RECT rc[5] = {
|
||||
{208, 8, 224, 32},
|
||||
{224, 8, 240, 32},
|
||||
{240, 8, 256, 32},
|
||||
{256, 8, 272, 32},
|
||||
{272, 8, 288, 32},
|
||||
};
|
||||
|
||||
switch (npc->act_no)
|
||||
{
|
||||
|
@ -1934,12 +1938,14 @@ void ActNpc359(NPCHAR *npc)
|
|||
//Thank you
|
||||
void ActNpc360(NPCHAR *npc)
|
||||
{
|
||||
if (!npc->act_no)
|
||||
RECT rc = {0, 176, 48, 184};
|
||||
|
||||
if (npc->act_no == 0)
|
||||
{
|
||||
++npc->act_no;
|
||||
npc->x -= 0x1000;
|
||||
npc->y -= 0x1000;
|
||||
}
|
||||
|
||||
npc->rect = {0, 176, 48, 184};
|
||||
npc->rect = rc;
|
||||
}
|
||||
|
|
|
@ -94,14 +94,14 @@ void PutStageSelectObject(void)
|
|||
{
|
||||
static unsigned int flash;
|
||||
|
||||
RECT rcView;
|
||||
RECT rcCur[2];
|
||||
RECT rcTitle1;
|
||||
RECT rcView = {0, 0, WINDOW_WIDTH, WINDOW_HEIGHT};
|
||||
|
||||
rcView = {0, 0, WINDOW_WIDTH, WINDOW_HEIGHT};
|
||||
rcCur[0] = {80, 88, 112, 104};
|
||||
rcCur[1] = {80, 104, 112, 120};
|
||||
rcTitle1 = {80, 64, 144, 72};
|
||||
RECT rcCur[2] = {
|
||||
{80, 88, 112, 104},
|
||||
{80, 104, 112, 120},
|
||||
};
|
||||
|
||||
RECT rcTitle1 = {80, 64, 144, 72};
|
||||
|
||||
if (gStageSelectTitleY > (WINDOW_HEIGHT / 2) - 74)
|
||||
--gStageSelectTitleY;
|
||||
|
|
|
@ -112,10 +112,11 @@ void ActStar()
|
|||
|
||||
void PutStar(int fx, int fy)
|
||||
{
|
||||
RECT rc[3];
|
||||
rc[0] = {192, 0, 200, 8};
|
||||
rc[1] = {192, 8, 200, 16};
|
||||
rc[2] = {192, 16, 200, 24};
|
||||
RECT rc[3] = {
|
||||
{192, 0, 200, 8},
|
||||
{192, 8, 200, 16},
|
||||
{192, 16, 200, 24},
|
||||
};
|
||||
|
||||
if (!(gMC.cond & 2) && (gMC.equip & 0x80))
|
||||
{
|
||||
|
|
|
@ -85,27 +85,28 @@ void SetValueView(int *px, int *py, int value)
|
|||
gVV[index].rect.right = 40;
|
||||
gVV[index].rect.bottom = 8 * (index + 1);
|
||||
|
||||
RECT rect[20];
|
||||
rect[0] = {0, 56, 8, 64};
|
||||
rect[1] = {8, 56, 16, 64};
|
||||
rect[2] = {16, 56, 24, 64};
|
||||
rect[3] = {24, 56, 32, 64};
|
||||
rect[4] = {32, 56, 40, 64};
|
||||
rect[5] = {40, 56, 48, 64};
|
||||
rect[6] = {48, 56, 56, 64};
|
||||
rect[7] = {56, 56, 64, 64};
|
||||
rect[8] = {64, 56, 72, 64};
|
||||
rect[9] = {72, 56, 80, 64};
|
||||
rect[10] = {0, 64, 8, 72};
|
||||
rect[11] = {8, 64, 16, 72};
|
||||
rect[12] = {16, 64, 24, 72};
|
||||
rect[13] = {24, 64, 32, 72};
|
||||
rect[14] = {32, 64, 40, 72};
|
||||
rect[15] = {40, 64, 48, 72};
|
||||
rect[16] = {48, 64, 56, 72};
|
||||
rect[17] = {56, 64, 64, 72};
|
||||
rect[18] = {64, 64, 72, 72};
|
||||
rect[19] = {72, 64, 80, 72};
|
||||
RECT rect[20] = {
|
||||
{0, 56, 8, 64},
|
||||
{8, 56, 16, 64},
|
||||
{16, 56, 24, 64},
|
||||
{24, 56, 32, 64},
|
||||
{32, 56, 40, 64},
|
||||
{40, 56, 48, 64},
|
||||
{48, 56, 56, 64},
|
||||
{56, 56, 64, 64},
|
||||
{64, 56, 72, 64},
|
||||
{72, 56, 80, 64},
|
||||
{0, 64, 8, 72},
|
||||
{8, 64, 16, 72},
|
||||
{16, 64, 24, 72},
|
||||
{24, 64, 32, 72},
|
||||
{32, 64, 40, 72},
|
||||
{40, 64, 48, 72},
|
||||
{48, 64, 56, 72},
|
||||
{56, 64, 64, 72},
|
||||
{64, 64, 72, 72},
|
||||
{72, 64, 80, 72},
|
||||
};
|
||||
|
||||
//Get digits
|
||||
int dig[4];
|
||||
|
|
Loading…
Add table
Reference in a new issue