[Reverse-engineering] [th02] Bombs: Particle sprites

The circle point sprite is technically identical to the pellet sprite,
but logically different.

Part of P0237, funded by Yanga.
This commit is contained in:
nmlgc 2023-03-23 22:32:11 +01:00
parent 1766178a0a
commit a6a3aaeb0a
5 changed files with 17 additions and 43 deletions

View File

@ -71,6 +71,7 @@ BMP2ARR = bin\\Pipeline\\bmp2arr.exe
: th01/sprites/pillar.bmp |> !bmp2arr -sym sPILLAR -of cpp -sw 32 -sh 8 |> th01/sprites/pillar.csp
: th01/sprites/shape8x8.bmp |> !bmp2arr -sym sSHAPE8X8 -of cpp -sw 8 -sh 8 |> th01/sprites/shape8x8.csp
: th01/sprites/bonusbox.bmp |> !bmp2arr -sym sSTAGEBONUS_BOX -of cpp -sw 8 -sh 4 |> th01/sprites/bonusbox.csp
: th02/sprites/bombpart.bmp |> !bmp2arr -sym _sBOMB_PARTICLES -of asm -sw 8 -sh 8 |> th02/sprites/bombpart.asp
: th02/sprites/pellet.bmp |> !bmp2arr -sym _sPELLET -of asm -sw 8 -sh 8 -pshf outer |> th02/sprites/pellet.asp
: th02/sprites/sparks.bmp |> !bmp2arr -sym _sSPARKS -of asm -sw 8 -sh 8 -pshf outer |> th02/sprites/sparks.asp
: th02/sprites/pointnum.bmp |> !bmp2arr -sym _sPOINTNUMS -of asm -sw 8 -sh 8 |> th02/sprites/pointnum.asp
@ -102,6 +103,7 @@ BMP2ARR = bin\\Pipeline\\bmp2arr.exe
: th02_zuninit.asm |> !as |> bin\\th02\\zuninit.obj
: th02_op.asm |> !as |> bin\\th02\\op.obj
: th02_main.asm | \
th02/sprites/bombpart.asp \
th02/sprites/pellet.asp \
th02/sprites/sparks.asp \
th02/sprites/pointnum.asp \

View File

@ -14,6 +14,7 @@ bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/pellet_c.bmp -o th01/sprites/pelle
bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/pillar.bmp -o th01/sprites/pillar.csp -sym sPILLAR -of cpp -sw 32 -sh 8
bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/shape8x8.bmp -o th01/sprites/shape8x8.csp -sym sSHAPE8X8 -of cpp -sw 8 -sh 8
bin\\Pipeline\\bmp2arr.exe -q -i th01/sprites/bonusbox.bmp -o th01/sprites/bonusbox.csp -sym sSTAGEBONUS_BOX -of cpp -sw 8 -sh 4
bin\\Pipeline\\bmp2arr.exe -q -i th02/sprites/bombpart.bmp -o th02/sprites/bombpart.asp -sym _sBOMB_PARTICLES -of asm -sw 8 -sh 8
bin\\Pipeline\\bmp2arr.exe -q -i th02/sprites/pellet.bmp -o th02/sprites/pellet.asp -sym _sPELLET -of asm -sw 8 -sh 8 -pshf outer
bin\\Pipeline\\bmp2arr.exe -q -i th02/sprites/sparks.bmp -o th02/sprites/sparks.asp -sym _sSPARKS -of asm -sw 8 -sh 8 -pshf outer
bin\\Pipeline\\bmp2arr.exe -q -i th02/sprites/pointnum.bmp -o th02/sprites/pointnum.asp -sym _sPOINTNUMS -of asm -sw 8 -sh 8

BIN
th02/sprites/bombpart.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 B

10
th02/sprites/bombpart.h Normal file
View File

@ -0,0 +1,10 @@
#define BOMB_PARTICLE_W 8
#define BOMB_PARTICLE_H 8
static const int BOMB_PARTICLE_CELS = 4;
typedef dots_t(BOMB_PARTICLE_W) bomb_particle_dots_t;
extern const bomb_particle_dots_t sBOMB_PARTICLES[BOMB_PARTICLE_CELS + 1][
BOMB_PARTICLE_H
];
#define sBOMB_CIRCLE sBOMB_PARTICLES[BOMB_PARTICLE_CELS]

View File

@ -7178,7 +7178,7 @@ loc_ED47:
mov [bp+var_4], bx
mov dx, 10h
sub dx, bx
mov si, 0C92h
mov si, offset _sBOMB_PARTICLES[4 * 8]
mov [bp+var_1], 0
loc_ED6E:
@ -7240,7 +7240,7 @@ loc_EDBA:
shr dx, 2
add ax, dx
mov di, ax
mov si, 0C72h
mov si, offset _sBOMB_PARTICLES
mov ax, [bp+arg_0]
shl ax, 3
add si, ax
@ -7291,7 +7291,7 @@ loc_EE0B:
shr dx, 2
add ax, dx
mov di, ax
mov si, 0C92h
mov si, offset _sBOMB_PARTICLES[4 * 8]
add si, 4
mov cx, 4
mov dx, 10h
@ -32504,46 +32504,7 @@ aBomb3_pi db 'bomb3.pi',0
aBomb2_pi db 'bomb2.pi',0
aBomb1_bft db 'bomb1.bft',0
asc_1E6DF db ' ',0
db 0
db 0
db 0
db 10h
db 0
db 0
db 0
db 0
db 0
db 0
db 10h
db 38h ; 8
db 10h
db 0
db 0
db 0
db 0
db 10h
db 10h
db 7Ch ; |
db 10h
db 10h
db 0
db 0
db 10h
db 10h
db 38h ; 8
db 0FEh
db 38h ; 8
db 10h
db 10h
db 0
db 3Ch ; <
db 7Eh ; ~
db 0FFh
db 0FFh
db 0FFh
db 0FFh
db 7Eh ; ~
db 3Ch ; <
include th02/sprites/bombpart.asp
include th02/sprites/sparks.asp
public _spark_accel_x
_spark_accel_x dw 0