Remove unit-conversion macros

This commit is contained in:
Clownacy 2020-07-08 19:15:11 +01:00
parent 13985fb349
commit bfc255478c
2 changed files with 66 additions and 73 deletions

View file

@ -73,33 +73,33 @@ static void ActBossChar02_01(void)
{ {
case BALFROG_SPRITE_NOTHING: case BALFROG_SPRITE_NOTHING:
boss->hit_voice = SND_BEHEMOTH_LARGE_HURT; boss->hit_voice = SND_BEHEMOTH_LARGE_HURT;
boss->hit.front = PIXELS_TO_UNITS(16); boss->hit.front = 16 * 0x200;
boss->hit.top = PIXELS_TO_UNITS(16); boss->hit.top = 16 * 0x200;
boss->hit.back = PIXELS_TO_UNITS(16); boss->hit.back = 16 * 0x200;
boss->hit.bottom = PIXELS_TO_UNITS(16); boss->hit.bottom = 16 * 0x200;
boss->size = 3; boss->size = 3;
boss->bits = NPC_INVULNERABLE; boss->bits = NPC_INVULNERABLE;
break; break;
case BALFROG_SPRITE_STANDING_STILL: case BALFROG_SPRITE_STANDING_STILL:
boss->x = gBoss[0].x + PIXELS_TO_UNITS(-24) * minus; boss->x = gBoss[0].x + -24 * 0x200 * minus;
boss->y = gBoss[0].y - PIXELS_TO_UNITS(24); boss->y = gBoss[0].y - 24 * 0x200;
break; break;
case BALFROG_SPRITE_MOUTH_BARELY_OPEN_CROUCHING: case BALFROG_SPRITE_MOUTH_BARELY_OPEN_CROUCHING:
boss->x = gBoss[0].x + PIXELS_TO_UNITS(-24) * minus; boss->x = gBoss[0].x + -24 * 0x200 * minus;
boss->y = gBoss[0].y - PIXELS_TO_UNITS(20); boss->y = gBoss[0].y - 20 * 0x200;
break; break;
case BALFROG_SPRITE_MOUTH_OPEN_CROUCHING: case BALFROG_SPRITE_MOUTH_OPEN_CROUCHING:
case BALFROG_SPRITE_MOUTH_OPEN_CROUCHING_FLASHING: case BALFROG_SPRITE_MOUTH_OPEN_CROUCHING_FLASHING:
boss->x = gBoss[0].x + PIXELS_TO_UNITS(-24) * minus; boss->x = gBoss[0].x + -24 * 0x200 * minus;
boss->y = gBoss[0].y - PIXELS_TO_UNITS(16); boss->y = gBoss[0].y - 16 * 0x200;
break; break;
case BALFROG_SPRITE_JUMPING: case BALFROG_SPRITE_JUMPING:
boss->x = gBoss[0].x + PIXELS_TO_UNITS(-24) * minus; boss->x = gBoss[0].x + -24 * 0x200 * minus;
boss->y = gBoss[0].y - PIXELS_TO_UNITS(43); boss->y = gBoss[0].y - 43 * 0x200;
break; break;
} }
} }
@ -112,10 +112,10 @@ static void ActBossChar02_02(void)
{ {
case BALFROG_SPRITE_NOTHING: case BALFROG_SPRITE_NOTHING:
boss->hit_voice = SND_BEHEMOTH_LARGE_HURT; boss->hit_voice = SND_BEHEMOTH_LARGE_HURT;
boss->hit.front = PIXELS_TO_UNITS(24); boss->hit.front = 24 * 0x200;
boss->hit.top = PIXELS_TO_UNITS(16); boss->hit.top = 16 * 0x200;
boss->hit.back = PIXELS_TO_UNITS(24); boss->hit.back = 24 * 0x200;
boss->hit.bottom = PIXELS_TO_UNITS(16); boss->hit.bottom = 16 * 0x200;
boss->size = 3; boss->size = 3;
boss->bits = NPC_INVULNERABLE; boss->bits = NPC_INVULNERABLE;
break; break;
@ -169,18 +169,18 @@ void ActBossChar_Frog(void)
switch (boss->act_no) switch (boss->act_no)
{ {
case BALFROG_INITIALIZE: case BALFROG_INITIALIZE:
boss->x = TILES_TO_UNITS(6); boss->x = 6 * (0x200 * 0x10);
boss->y = TILES_TO_UNITS(12.5); boss->y = 12 * (0x200 * 0x10) + 8 * 0x200;
boss->direct = DIR_RIGHT; boss->direct = DIR_RIGHT;
boss->view.front = PIXELS_TO_UNITS(48); boss->view.front = 48 * 0x200;
boss->view.top = PIXELS_TO_UNITS(48); boss->view.top = 48 * 0x200;
boss->view.back = PIXELS_TO_UNITS(32); boss->view.back = 32 * 0x200;
boss->view.bottom = PIXELS_TO_UNITS(16); boss->view.bottom = 16 * 0x200;
boss->hit_voice = SND_BEHEMOTH_LARGE_HURT; boss->hit_voice = SND_BEHEMOTH_LARGE_HURT;
boss->hit.front = PIXELS_TO_UNITS(24); boss->hit.front = 24 * 0x200;
boss->hit.top = PIXELS_TO_UNITS(16); boss->hit.top = 16 * 0x200;
boss->hit.back = PIXELS_TO_UNITS(24); boss->hit.back = 24 * 0x200;
boss->hit.bottom = PIXELS_TO_UNITS(16); boss->hit.bottom = 16 * 0x200;
boss->size = 3; boss->size = 3;
boss->exp = 1; boss->exp = 1;
boss->code_event = 1000; boss->code_event = 1000;
@ -202,7 +202,7 @@ void ActBossChar_Frog(void)
gBoss[2].damage = 5; gBoss[2].damage = 5;
for (i = 0; i < 8; ++i) for (i = 0; i < 8; ++i)
SetNpChar(NPC_SMOKE, boss->x + PIXELS_TO_UNITS(Random(-12, 12)), boss->y + PIXELS_TO_UNITS(Random(-12, 12)), Random(-341, 341), Random(PIXELS_TO_UNITS(-3), 0), DIR_LEFT, NULL, 0x100); SetNpChar(NPC_SMOKE, boss->x + Random(-12, 12) * 0x200, boss->y + Random(-12, 12) * 0x200, Random(-341, 341), Random(-3 * 0x200, 0), DIR_LEFT, NULL, 0x100);
break; break;
@ -257,16 +257,16 @@ void ActBossChar_Frog(void)
{ {
boss->act_no = BALFROG_MIDAIR; boss->act_no = BALFROG_MIDAIR;
boss->ani_no = BALFROG_SPRITE_JUMPING; boss->ani_no = BALFROG_SPRITE_JUMPING;
boss->ym = PIXELS_TO_UNITS(-2); boss->ym = -2 * 0x200;
PlaySoundObject(25, SOUND_MODE_PLAY); PlaySoundObject(25, SOUND_MODE_PLAY);
if (boss->direct == DIR_LEFT) if (boss->direct == DIR_LEFT)
boss->xm = PIXELS_TO_UNITS(-1); boss->xm = -1 * 0x200;
else else
boss->xm = PIXELS_TO_UNITS(1); boss->xm = 1 * 0x200;
boss->view.top = PIXELS_TO_UNITS(64); boss->view.top = 64 * 0x200;
boss->view.bottom = PIXELS_TO_UNITS(24); boss->view.bottom = 24 * 0x200;
} }
break; break;
@ -275,13 +275,13 @@ void ActBossChar_Frog(void)
if (boss->direct == DIR_LEFT && boss->flag & COLL_LEFT_WALL) if (boss->direct == DIR_LEFT && boss->flag & COLL_LEFT_WALL)
{ {
boss->direct = DIR_RIGHT; boss->direct = DIR_RIGHT;
boss->xm = PIXELS_TO_UNITS(1); boss->xm = 1 * 0x200;
} }
if (boss->direct == DIR_RIGHT && boss->flag & COLL_RIGHT_WALL) if (boss->direct == DIR_RIGHT && boss->flag & COLL_RIGHT_WALL)
{ {
boss->direct = DIR_LEFT; boss->direct = DIR_LEFT;
boss->xm = PIXELS_TO_UNITS(-1); boss->xm = -1 * 0x200;
} }
if (boss->flag & COLL_GROUND) if (boss->flag & COLL_GROUND)
@ -290,8 +290,8 @@ void ActBossChar_Frog(void)
SetQuake(30); SetQuake(30);
boss->act_no = BALFROG_WAIT; boss->act_no = BALFROG_WAIT;
boss->ani_no = BALFROG_SPRITE_STANDING_STILL; boss->ani_no = BALFROG_SPRITE_STANDING_STILL;
boss->view.top = PIXELS_TO_UNITS(48); boss->view.top = 48 * 0x200;
boss->view.bottom = PIXELS_TO_UNITS(16); boss->view.bottom = 16 * 0x200;
if (boss->direct == DIR_LEFT && boss->x < gMC.x) if (boss->direct == DIR_LEFT && boss->x < gMC.x)
{ {
@ -305,10 +305,10 @@ void ActBossChar_Frog(void)
boss->act_no = BALFROG_INITIALIZE_LAND; boss->act_no = BALFROG_INITIALIZE_LAND;
} }
SetNpChar(110, TILES_TO_UNITS(Random(4, 16)), TILES_TO_UNITS(Random(0, 4)), 0, 0, DIR_AUTO, NULL, 0x80); SetNpChar(110, Random(4, 16) * (0x200 * 0x10), Random(0, 4) * (0x200 * 0x10), 0, 0, DIR_AUTO, NULL, 0x80);
for (i = 0; i < 4; ++i) for (i = 0; i < 4; ++i)
SetNpChar(NPC_SMOKE, boss->x + PIXELS_TO_UNITS(Random(-12, 12)), boss->y + boss->hit.bottom, Random(-341, 341), Random(PIXELS_TO_UNITS(-3), 0), DIR_LEFT, NULL, 0x100); SetNpChar(NPC_SMOKE, boss->x + Random(-12, 12) * 0x200, boss->y + boss->hit.bottom, Random(-341, 341), Random(-3 * 0x200, 0), DIR_LEFT, NULL, 0x100);
} }
break; break;
@ -371,9 +371,9 @@ void ActBossChar_Frog(void)
--boss->count1; --boss->count1;
if (boss->direct == DIR_LEFT) if (boss->direct == DIR_LEFT)
deg = GetArktan(boss->x - TILES_TO_UNITS(2) - gMC.x, boss->y - PIXELS_TO_UNITS(8) - gMC.y); deg = GetArktan(boss->x - 2 * (0x200 * 0x10) - gMC.x, boss->y - 8 * 0x200 - gMC.y);
else else
deg = GetArktan(boss->x + TILES_TO_UNITS(2) - gMC.x, boss->y - PIXELS_TO_UNITS(8) - gMC.y); deg = GetArktan(boss->x + 2 * (0x200 * 0x10) - gMC.x, boss->y - 8 * 0x200 - gMC.y);
deg += (unsigned char)Random(-0x10, 0x10); deg += (unsigned char)Random(-0x10, 0x10);
@ -381,9 +381,9 @@ void ActBossChar_Frog(void)
xm = GetCos(deg); xm = GetCos(deg);
if (boss->direct == DIR_LEFT) if (boss->direct == DIR_LEFT)
SetNpChar(NPC_PROJECTILE_BALFROG_SPITBALL, boss->x - TILES_TO_UNITS(2), boss->y - PIXELS_TO_UNITS(8), xm, ym, DIR_LEFT, NULL, 0x100); SetNpChar(NPC_PROJECTILE_BALFROG_SPITBALL, boss->x - 2 * (0x200 * 0x10), boss->y - 8 * 0x200, xm, ym, DIR_LEFT, NULL, 0x100);
else else
SetNpChar(NPC_PROJECTILE_BALFROG_SPITBALL, boss->x + TILES_TO_UNITS(2), boss->y - PIXELS_TO_UNITS(8), xm, ym, DIR_LEFT, NULL, 0x100); SetNpChar(NPC_PROJECTILE_BALFROG_SPITBALL, boss->x + 2 * (0x200 * 0x10), boss->y - 8 * 0x200, xm, ym, DIR_LEFT, NULL, 0x100);
PlaySoundObject(SND_ENEMY_SHOOT_PROJETILE, SOUND_MODE_PLAY); PlaySoundObject(SND_ENEMY_SHOOT_PROJETILE, SOUND_MODE_PLAY);
@ -457,9 +457,9 @@ void ActBossChar_Frog(void)
{ {
boss->act_no = BALFROG_LEAP_MIDAIR; boss->act_no = BALFROG_LEAP_MIDAIR;
boss->ani_no = BALFROG_SPRITE_JUMPING; boss->ani_no = BALFROG_SPRITE_JUMPING;
boss->ym = PIXELS_TO_UNITS(-5); boss->ym = -5 * 0x200;
boss->view.top = PIXELS_TO_UNITS(64); boss->view.top = 64 * 0x200;
boss->view.bottom = PIXELS_TO_UNITS(24); boss->view.bottom = 24 * 0x200;
PlaySoundObject(SND_SILLY_EXPLOSION, SOUND_MODE_PLAY); PlaySoundObject(SND_SILLY_EXPLOSION, SOUND_MODE_PLAY);
} }
@ -472,17 +472,17 @@ void ActBossChar_Frog(void)
SetQuake(60); SetQuake(60);
boss->act_no = BALFROG_WAIT; boss->act_no = BALFROG_WAIT;
boss->ani_no = BALFROG_SPRITE_STANDING_STILL; boss->ani_no = BALFROG_SPRITE_STANDING_STILL;
boss->view.top = PIXELS_TO_UNITS(48); boss->view.top = 48 * 0x200;
boss->view.bottom = PIXELS_TO_UNITS(16); boss->view.bottom = 16 * 0x200;
for (i = 0; i < 2; ++i) for (i = 0; i < 2; ++i)
SetNpChar(NPC_ENEMY_FROG, TILES_TO_UNITS(Random(4, 16)), TILES_TO_UNITS(Random(0, 4)), 0, 0, DIR_AUTO, NULL, 0x80); SetNpChar(NPC_ENEMY_FROG, Random(4, 16) * (0x200 * 0x10), Random(0, 4) * (0x200 * 0x10), 0, 0, DIR_AUTO, NULL, 0x80);
for (i = 0; i < 6; ++i) for (i = 0; i < 6; ++i)
SetNpChar(NPC_ENEMY_PUCHI, TILES_TO_UNITS(Random(4, 16)), TILES_TO_UNITS(Random(0, 4)), 0, 0, DIR_AUTO, NULL, 0x80); SetNpChar(NPC_ENEMY_PUCHI, Random(4, 16) * (0x200 * 0x10), Random(0, 4) * (0x200 * 0x10), 0, 0, DIR_AUTO, NULL, 0x80);
for (i = 0; i < 8; ++i) for (i = 0; i < 8; ++i)
SetNpChar(NPC_SMOKE, boss->x + PIXELS_TO_UNITS(Random(-12, 12)), boss->y + boss->hit.bottom, Random(-341, 341), Random(PIXELS_TO_UNITS(-3), 0), DIR_LEFT, NULL, 0x100); SetNpChar(NPC_SMOKE, boss->x + Random(-12, 12) * 0x200, boss->y + boss->hit.bottom, Random(-341, 341), Random(-3 * 0x200, 0), DIR_LEFT, NULL, 0x100);
if (boss->direct == DIR_LEFT && boss->x < gMC.x) if (boss->direct == DIR_LEFT && boss->x < gMC.x)
{ {
@ -507,7 +507,7 @@ void ActBossChar_Frog(void)
PlaySoundObject(SND_EXPLOSION, SOUND_MODE_PLAY); PlaySoundObject(SND_EXPLOSION, SOUND_MODE_PLAY);
for (i = 0; i < 8; ++i) for (i = 0; i < 8; ++i)
SetNpChar(NPC_SMOKE, boss->x + PIXELS_TO_UNITS(Random(-12, 12)), boss->y + PIXELS_TO_UNITS(Random(-12, 12)), Random(-341, 341), Random(PIXELS_TO_UNITS(-3), 0), DIR_LEFT, NULL, 0x100); SetNpChar(NPC_SMOKE, boss->x + Random(-12, 12) * 0x200, boss->y + Random(-12, 12) * 0x200, Random(-341, 341), Random(-3 * 0x200, 0), DIR_LEFT, NULL, 0x100);
gBoss[1].cond = 0; gBoss[1].cond = 0;
gBoss[2].cond = 0; gBoss[2].cond = 0;
@ -516,12 +516,12 @@ void ActBossChar_Frog(void)
++boss->act_wait; ++boss->act_wait;
if (boss->act_wait % 5 == 0) if (boss->act_wait % 5 == 0)
SetNpChar(NPC_SMOKE, boss->x + PIXELS_TO_UNITS(Random(-12, 12)), boss->y + PIXELS_TO_UNITS(Random(-12, 12)), Random(-341, 341), Random(PIXELS_TO_UNITS(-3), 0), DIR_LEFT, NULL, 0x100); SetNpChar(NPC_SMOKE, boss->x + Random(-12, 12) * 0x200, boss->y + Random(-12, 12) * 0x200, Random(-341, 341), Random(-3 * 0x200, 0), DIR_LEFT, NULL, 0x100);
if (boss->act_wait / 2 % 2) if (boss->act_wait / 2 % 2)
boss->x -= PIXELS_TO_UNITS(1); boss->x -= 1 * 0x200;
else else
boss->x += PIXELS_TO_UNITS(1); boss->x += 1 * 0x200;
if (boss->act_wait > 100) if (boss->act_wait > 100)
{ {
@ -536,28 +536,28 @@ void ActBossChar_Frog(void)
if (boss->act_wait / 2 % 2) if (boss->act_wait / 2 % 2)
{ {
boss->view.front = PIXELS_TO_UNITS(20); boss->view.front = 20 * 0x200;
boss->view.top = PIXELS_TO_UNITS(12); boss->view.top = 12 * 0x200;
boss->view.back = PIXELS_TO_UNITS(20); boss->view.back = 20 * 0x200;
boss->view.bottom = PIXELS_TO_UNITS(12); boss->view.bottom = 12 * 0x200;
boss->ani_no = BALFROG_SPRITE_BALROG_WHITE; boss->ani_no = BALFROG_SPRITE_BALROG_WHITE;
} }
else else
{ {
boss->view.front = PIXELS_TO_UNITS(48); boss->view.front = 48 * 0x200;
boss->view.top = PIXELS_TO_UNITS(48); boss->view.top = 48 * 0x200;
boss->view.back = PIXELS_TO_UNITS(32); boss->view.back = 32 * 0x200;
boss->view.bottom = PIXELS_TO_UNITS(16); boss->view.bottom = 16 * 0x200;
boss->ani_no = BALFROG_SPRITE_MOUTH_OPEN_CROUCHING; boss->ani_no = BALFROG_SPRITE_MOUTH_OPEN_CROUCHING;
} }
if (boss->act_wait % 9 == 0) if (boss->act_wait % 9 == 0)
SetNpChar(NPC_SMOKE, boss->x + PIXELS_TO_UNITS(Random(-12, 12)), boss->y + PIXELS_TO_UNITS(Random(-12, 12)), Random(-341, 341), Random(PIXELS_TO_UNITS(-3), 0), DIR_LEFT, NULL, 0x100); SetNpChar(NPC_SMOKE, boss->x + Random(-12, 12) * 0x200, boss->y + Random(-12, 12) * 0x200, Random(-341, 341), Random(-3 * 0x200, 0), DIR_LEFT, NULL, 0x100);
if (boss->act_wait > 150) if (boss->act_wait > 150)
{ {
boss->act_no = BALFROG_NOP_START; boss->act_no = BALFROG_NOP_START;
boss->hit.bottom = PIXELS_TO_UNITS(12); boss->hit.bottom = 12 * 0x200;
} }
break; break;
@ -581,7 +581,7 @@ void ActBossChar_Frog(void)
if (boss->act_wait > 30) if (boss->act_wait > 30)
{ {
boss->ani_no = BALFROG_SPRITE_BALROG_JUMPING; boss->ani_no = BALFROG_SPRITE_BALROG_JUMPING;
boss->ym = PIXELS_TO_UNITS(-5); boss->ym = -5 * 0x200;
boss->bits |= NPC_IGNORE_SOLIDITY; boss->bits |= NPC_IGNORE_SOLIDITY;
boss->act_no = BALFROG_GONE_INTO_CEILING; boss->act_no = BALFROG_GONE_INTO_CEILING;
} }
@ -589,7 +589,7 @@ void ActBossChar_Frog(void)
break; break;
case BALFROG_GONE_INTO_CEILING: case BALFROG_GONE_INTO_CEILING:
boss->ym = PIXELS_TO_UNITS(-5); boss->ym = -5 * 0x200;
if (boss->y < 0) if (boss->y < 0)
{ {

View file

@ -3,13 +3,6 @@
#define WINDOW_WIDTH 320 #define WINDOW_WIDTH 320
#define WINDOW_HEIGHT 240 #define WINDOW_HEIGHT 240
#define TILES_TO_PIXELS(x) ((int)((x) * 0x10))
#define PIXELS_TO_TILES(x) ((int)((x) / 0x10))
#define PIXELS_TO_UNITS(x) ((int)((x) * 0x200))
#define UNITS_TO_PIXELS(x) ((int)((x) / 0x200))
#define TILES_TO_UNITS(x) ((int)((x) * (0x200 * 0x10)))
#define UNITS_TO_TILES(x) ((int)((x) / (0x200 * 0x10)))
enum Collisions enum Collisions
{ {
COLL_LEFT_WALL = 1, // Touching a left wall COLL_LEFT_WALL = 1, // Touching a left wall