diff --git a/Tupfile b/Tupfile index f8427d68..e8deb765 100644 --- a/Tupfile +++ b/Tupfile @@ -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 \ diff --git a/Tupfile.bat b/Tupfile.bat index 82ba1f30..0f382564 100644 --- a/Tupfile.bat +++ b/Tupfile.bat @@ -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 diff --git a/th02/sprites/bombpart.bmp b/th02/sprites/bombpart.bmp new file mode 100644 index 00000000..dd0ae252 Binary files /dev/null and b/th02/sprites/bombpart.bmp differ diff --git a/th02/sprites/bombpart.h b/th02/sprites/bombpart.h new file mode 100644 index 00000000..8b9049af --- /dev/null +++ b/th02/sprites/bombpart.h @@ -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] diff --git a/th02_main.asm b/th02_main.asm index 444663df..f608ca22 100644 --- a/th02_main.asm +++ b/th02_main.asm @@ -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