Decompile explosionCreate

This commit is contained in:
Ryan Dwyer 2022-03-22 17:12:36 +10:00
parent 5b54a06f37
commit b88100b7a6
16 changed files with 821 additions and 1424 deletions

View File

@ -3049,7 +3049,7 @@ void chrBeginDeath(struct chrdata *chr, struct coord *dir, f32 relangle, s32 hit
explosionCreateSimple(g_Vars.currentplayer->eyespy->prop,
&g_Vars.currentplayer->eyespy->prop->pos,
g_Vars.currentplayer->eyespy->prop->rooms, EXPLOSIONTYPE_2, 0);
g_Vars.currentplayer->eyespy->prop->rooms, EXPLOSIONTYPE_EYESPY, 0);
invRemoveItemByNum(WEAPON_EYESPY);
func0f0926bc(g_Vars.currentplayer->eyespy->prop, 1, 0xffff);
@ -19043,7 +19043,7 @@ glabel var7f1a9184
// func0f065e74(&gunpos, gunrooms, &hitpos, hitrooms);
// }
//
// explosionCreateSimple(0, &hitpos, hitrooms, EXPLOSIONTYPE_22, playernum);
// explosionCreateSimple(0, &hitpos, hitrooms, EXPLOSIONTYPE_PHOENIX, playernum);
// }
// }
// }

View File

@ -2282,7 +2282,7 @@ bool aiDestroyObject(void)
if (entity->modelnum == MODEL_ELVIS_SAUCER) {
obj->flags = (obj->flags & ~OBJFLAG_00010000) | OBJFLAG_INVINCIBLE;
explosionCreateSimple(entity->prop, &entity->prop->pos, entity->prop->rooms, EXPLOSIONTYPE_3, 0);
explosionCreateSimple(entity->prop, &entity->prop->pos, entity->prop->rooms, EXPLOSIONTYPE_LAPTOP, 0);
smokeCreateAtProp(entity->prop, SMOKETYPE_UFO);
} else {
f32 damage = ((obj->maxdamage - obj->damage) + 1) / 250.0f;

File diff suppressed because it is too large Load Diff

View File

@ -10,8 +10,8 @@ void explosionsReset(void)
s32 i;
s32 j;
var8007e4a0 = 0;
var8007e4a4 = 0;
g_ExplosionShakeTotalTimer = 0;
g_ExplosionShakeIntensityTimer = 0;
g_ExplosionDamageReceivedScale = 1;
g_MaxExplosions = 6;

View File

@ -10,7 +10,7 @@ void explosionsStop(void)
{
s32 i;
var8007e4a0 = 0;
g_ExplosionShakeTotalTimer = 0;
viShake(0);
if (g_Explosions) {

View File

@ -1275,7 +1275,7 @@ Gfx *lvRender(Gfx *gdl)
explosionCreateSimple(g_Vars.currentplayer->eyespy->prop,
&g_Vars.currentplayer->eyespy->prop->pos,
g_Vars.currentplayer->eyespy->prop->rooms,
EXPLOSIONTYPE_23, 0);
EXPLOSIONTYPE_DRAGONBOMBSPY, 0);
chrBeginDeath(g_Vars.currentplayer->eyespy->prop->chr, &vel, 0, 0, &gset, false, 0);
}
}

View File

@ -851,349 +851,349 @@ struct modelstate g_ModelStates[NUM_MODELS] = {
};
u8 g_PropExplosionTypes[] = {
/*0x0000*/ EXPLOSIONTYPE_0,
/*0x0001*/ EXPLOSIONTYPE_0,
/*0x0002*/ EXPLOSIONTYPE_0,
/*0x0003*/ EXPLOSIONTYPE_0,
/*0x0004*/ EXPLOSIONTYPE_0,
/*0x0005*/ EXPLOSIONTYPE_0,
/*0x0000*/ EXPLOSIONTYPE_NONE,
/*0x0001*/ EXPLOSIONTYPE_NONE,
/*0x0002*/ EXPLOSIONTYPE_NONE,
/*0x0003*/ EXPLOSIONTYPE_NONE,
/*0x0004*/ EXPLOSIONTYPE_NONE,
/*0x0005*/ EXPLOSIONTYPE_NONE,
/*0x0006*/ EXPLOSIONTYPE_16,
/*0x0007*/ EXPLOSIONTYPE_0,
/*0x0007*/ EXPLOSIONTYPE_NONE,
/*0x0008*/ EXPLOSIONTYPE_8,
/*0x0009*/ EXPLOSIONTYPE_11,
/*0x000a*/ EXPLOSIONTYPE_6,
/*0x000b*/ EXPLOSIONTYPE_4,
/*0x000c*/ EXPLOSIONTYPE_0,
/*0x000d*/ EXPLOSIONTYPE_0,
/*0x000e*/ EXPLOSIONTYPE_0,
/*0x000f*/ EXPLOSIONTYPE_0,
/*0x0010*/ EXPLOSIONTYPE_0,
/*0x0011*/ EXPLOSIONTYPE_0,
/*0x0012*/ EXPLOSIONTYPE_0,
/*0x0013*/ EXPLOSIONTYPE_0,
/*0x0014*/ EXPLOSIONTYPE_0,
/*0x0015*/ EXPLOSIONTYPE_0,
/*0x0016*/ EXPLOSIONTYPE_0,
/*0x0017*/ EXPLOSIONTYPE_0,
/*0x0018*/ EXPLOSIONTYPE_0,
/*0x0019*/ EXPLOSIONTYPE_3,
/*0x001a*/ EXPLOSIONTYPE_0,
/*0x000b*/ EXPLOSIONTYPE_A51TABLE,
/*0x000c*/ EXPLOSIONTYPE_NONE,
/*0x000d*/ EXPLOSIONTYPE_NONE,
/*0x000e*/ EXPLOSIONTYPE_NONE,
/*0x000f*/ EXPLOSIONTYPE_NONE,
/*0x0010*/ EXPLOSIONTYPE_NONE,
/*0x0011*/ EXPLOSIONTYPE_NONE,
/*0x0012*/ EXPLOSIONTYPE_NONE,
/*0x0013*/ EXPLOSIONTYPE_NONE,
/*0x0014*/ EXPLOSIONTYPE_NONE,
/*0x0015*/ EXPLOSIONTYPE_NONE,
/*0x0016*/ EXPLOSIONTYPE_NONE,
/*0x0017*/ EXPLOSIONTYPE_NONE,
/*0x0018*/ EXPLOSIONTYPE_NONE,
/*0x0019*/ EXPLOSIONTYPE_LAPTOP,
/*0x001a*/ EXPLOSIONTYPE_NONE,
/*0x001b*/ EXPLOSIONTYPE_6,
/*0x001c*/ EXPLOSIONTYPE_0,
/*0x001d*/ EXPLOSIONTYPE_0,
/*0x001e*/ EXPLOSIONTYPE_0,
/*0x001c*/ EXPLOSIONTYPE_NONE,
/*0x001d*/ EXPLOSIONTYPE_NONE,
/*0x001e*/ EXPLOSIONTYPE_NONE,
/*0x001f*/ EXPLOSIONTYPE_6,
/*0x0020*/ EXPLOSIONTYPE_9,
/*0x0021*/ EXPLOSIONTYPE_0,
/*0x0022*/ EXPLOSIONTYPE_0,
/*0x0023*/ EXPLOSIONTYPE_0,
/*0x0024*/ EXPLOSIONTYPE_0,
/*0x0025*/ EXPLOSIONTYPE_0,
/*0x0026*/ EXPLOSIONTYPE_0,
/*0x0027*/ EXPLOSIONTYPE_0,
/*0x0028*/ EXPLOSIONTYPE_3,
/*0x0029*/ EXPLOSIONTYPE_3,
/*0x002a*/ EXPLOSIONTYPE_3,
/*0x002b*/ EXPLOSIONTYPE_0,
/*0x002c*/ EXPLOSIONTYPE_0,
/*0x002d*/ EXPLOSIONTYPE_0,
/*0x002e*/ EXPLOSIONTYPE_0,
/*0x002f*/ EXPLOSIONTYPE_0,
/*0x0030*/ EXPLOSIONTYPE_0,
/*0x0031*/ EXPLOSIONTYPE_0,
/*0x0032*/ EXPLOSIONTYPE_0,
/*0x0033*/ EXPLOSIONTYPE_0,
/*0x0034*/ EXPLOSIONTYPE_0,
/*0x0035*/ EXPLOSIONTYPE_0,
/*0x0036*/ EXPLOSIONTYPE_0,
/*0x0037*/ EXPLOSIONTYPE_0,
/*0x0038*/ EXPLOSIONTYPE_0,
/*0x0039*/ EXPLOSIONTYPE_0,
/*0x003a*/ EXPLOSIONTYPE_0,
/*0x0021*/ EXPLOSIONTYPE_NONE,
/*0x0022*/ EXPLOSIONTYPE_NONE,
/*0x0023*/ EXPLOSIONTYPE_NONE,
/*0x0024*/ EXPLOSIONTYPE_NONE,
/*0x0025*/ EXPLOSIONTYPE_NONE,
/*0x0026*/ EXPLOSIONTYPE_NONE,
/*0x0027*/ EXPLOSIONTYPE_NONE,
/*0x0028*/ EXPLOSIONTYPE_LAPTOP,
/*0x0029*/ EXPLOSIONTYPE_LAPTOP,
/*0x002a*/ EXPLOSIONTYPE_LAPTOP,
/*0x002b*/ EXPLOSIONTYPE_NONE,
/*0x002c*/ EXPLOSIONTYPE_NONE,
/*0x002d*/ EXPLOSIONTYPE_NONE,
/*0x002e*/ EXPLOSIONTYPE_NONE,
/*0x002f*/ EXPLOSIONTYPE_NONE,
/*0x0030*/ EXPLOSIONTYPE_NONE,
/*0x0031*/ EXPLOSIONTYPE_NONE,
/*0x0032*/ EXPLOSIONTYPE_NONE,
/*0x0033*/ EXPLOSIONTYPE_NONE,
/*0x0034*/ EXPLOSIONTYPE_NONE,
/*0x0035*/ EXPLOSIONTYPE_NONE,
/*0x0036*/ EXPLOSIONTYPE_NONE,
/*0x0037*/ EXPLOSIONTYPE_NONE,
/*0x0038*/ EXPLOSIONTYPE_NONE,
/*0x0039*/ EXPLOSIONTYPE_NONE,
/*0x003a*/ EXPLOSIONTYPE_NONE,
/*0x003b*/ EXPLOSIONTYPE_12,
/*0x003c*/ EXPLOSIONTYPE_0,
/*0x003d*/ EXPLOSIONTYPE_0,
/*0x003e*/ EXPLOSIONTYPE_0,
/*0x003f*/ EXPLOSIONTYPE_0,
/*0x0040*/ EXPLOSIONTYPE_0,
/*0x0041*/ EXPLOSIONTYPE_0,
/*0x003c*/ EXPLOSIONTYPE_NONE,
/*0x003d*/ EXPLOSIONTYPE_NONE,
/*0x003e*/ EXPLOSIONTYPE_NONE,
/*0x003f*/ EXPLOSIONTYPE_NONE,
/*0x0040*/ EXPLOSIONTYPE_NONE,
/*0x0041*/ EXPLOSIONTYPE_NONE,
/*0x0042*/ EXPLOSIONTYPE_11,
/*0x0043*/ EXPLOSIONTYPE_0,
/*0x0044*/ EXPLOSIONTYPE_0,
/*0x0045*/ EXPLOSIONTYPE_0,
/*0x0046*/ EXPLOSIONTYPE_0,
/*0x0047*/ EXPLOSIONTYPE_0,
/*0x0048*/ EXPLOSIONTYPE_0,
/*0x0049*/ EXPLOSIONTYPE_0,
/*0x004a*/ EXPLOSIONTYPE_0,
/*0x004b*/ EXPLOSIONTYPE_0,
/*0x004c*/ EXPLOSIONTYPE_0,
/*0x004d*/ EXPLOSIONTYPE_0,
/*0x004e*/ EXPLOSIONTYPE_0,
/*0x004f*/ EXPLOSIONTYPE_0,
/*0x0050*/ EXPLOSIONTYPE_0,
/*0x0051*/ EXPLOSIONTYPE_0,
/*0x0052*/ EXPLOSIONTYPE_0,
/*0x0053*/ EXPLOSIONTYPE_0,
/*0x0054*/ EXPLOSIONTYPE_0,
/*0x0055*/ EXPLOSIONTYPE_0,
/*0x0056*/ EXPLOSIONTYPE_0,
/*0x0057*/ EXPLOSIONTYPE_0,
/*0x0058*/ EXPLOSIONTYPE_13,
/*0x0059*/ EXPLOSIONTYPE_13,
/*0x005a*/ EXPLOSIONTYPE_13,
/*0x005b*/ EXPLOSIONTYPE_13,
/*0x005c*/ EXPLOSIONTYPE_13,
/*0x005d*/ EXPLOSIONTYPE_0,
/*0x005e*/ EXPLOSIONTYPE_0,
/*0x005f*/ EXPLOSIONTYPE_0,
/*0x0060*/ EXPLOSIONTYPE_0,
/*0x0043*/ EXPLOSIONTYPE_NONE,
/*0x0044*/ EXPLOSIONTYPE_NONE,
/*0x0045*/ EXPLOSIONTYPE_NONE,
/*0x0046*/ EXPLOSIONTYPE_NONE,
/*0x0047*/ EXPLOSIONTYPE_NONE,
/*0x0048*/ EXPLOSIONTYPE_NONE,
/*0x0049*/ EXPLOSIONTYPE_NONE,
/*0x004a*/ EXPLOSIONTYPE_NONE,
/*0x004b*/ EXPLOSIONTYPE_NONE,
/*0x004c*/ EXPLOSIONTYPE_NONE,
/*0x004d*/ EXPLOSIONTYPE_NONE,
/*0x004e*/ EXPLOSIONTYPE_NONE,
/*0x004f*/ EXPLOSIONTYPE_NONE,
/*0x0050*/ EXPLOSIONTYPE_NONE,
/*0x0051*/ EXPLOSIONTYPE_NONE,
/*0x0052*/ EXPLOSIONTYPE_NONE,
/*0x0053*/ EXPLOSIONTYPE_NONE,
/*0x0054*/ EXPLOSIONTYPE_NONE,
/*0x0055*/ EXPLOSIONTYPE_NONE,
/*0x0056*/ EXPLOSIONTYPE_NONE,
/*0x0057*/ EXPLOSIONTYPE_NONE,
/*0x0058*/ EXPLOSIONTYPE_ROCKET,
/*0x0059*/ EXPLOSIONTYPE_ROCKET,
/*0x005a*/ EXPLOSIONTYPE_ROCKET,
/*0x005b*/ EXPLOSIONTYPE_ROCKET,
/*0x005c*/ EXPLOSIONTYPE_ROCKET,
/*0x005d*/ EXPLOSIONTYPE_NONE,
/*0x005e*/ EXPLOSIONTYPE_NONE,
/*0x005f*/ EXPLOSIONTYPE_NONE,
/*0x0060*/ EXPLOSIONTYPE_NONE,
/*0x0061*/ EXPLOSIONTYPE_7,
/*0x0062*/ EXPLOSIONTYPE_4,
/*0x0062*/ EXPLOSIONTYPE_A51TABLE,
/*0x0063*/ EXPLOSIONTYPE_12,
/*0x0064*/ EXPLOSIONTYPE_0,
/*0x0065*/ EXPLOSIONTYPE_0,
/*0x0066*/ EXPLOSIONTYPE_3,
/*0x0067*/ EXPLOSIONTYPE_0,
/*0x0068*/ EXPLOSIONTYPE_0,
/*0x0069*/ EXPLOSIONTYPE_0,
/*0x006a*/ EXPLOSIONTYPE_0,
/*0x006b*/ EXPLOSIONTYPE_0,
/*0x006c*/ EXPLOSIONTYPE_0,
/*0x006d*/ EXPLOSIONTYPE_0,
/*0x0064*/ EXPLOSIONTYPE_NONE,
/*0x0065*/ EXPLOSIONTYPE_NONE,
/*0x0066*/ EXPLOSIONTYPE_LAPTOP,
/*0x0067*/ EXPLOSIONTYPE_NONE,
/*0x0068*/ EXPLOSIONTYPE_NONE,
/*0x0069*/ EXPLOSIONTYPE_NONE,
/*0x006a*/ EXPLOSIONTYPE_NONE,
/*0x006b*/ EXPLOSIONTYPE_NONE,
/*0x006c*/ EXPLOSIONTYPE_NONE,
/*0x006d*/ EXPLOSIONTYPE_NONE,
/*0x006e*/ EXPLOSIONTYPE_12,
/*0x006f*/ EXPLOSIONTYPE_12,
/*0x0070*/ EXPLOSIONTYPE_0,
/*0x0071*/ EXPLOSIONTYPE_0,
/*0x0072*/ EXPLOSIONTYPE_0,
/*0x0073*/ EXPLOSIONTYPE_0,
/*0x0074*/ EXPLOSIONTYPE_0,
/*0x0075*/ EXPLOSIONTYPE_0,
/*0x0076*/ EXPLOSIONTYPE_0,
/*0x0077*/ EXPLOSIONTYPE_0,
/*0x0078*/ EXPLOSIONTYPE_0,
/*0x0079*/ EXPLOSIONTYPE_0,
/*0x007a*/ EXPLOSIONTYPE_0,
/*0x007b*/ EXPLOSIONTYPE_0,
/*0x007c*/ EXPLOSIONTYPE_0,
/*0x007d*/ EXPLOSIONTYPE_0,
/*0x007e*/ EXPLOSIONTYPE_13,
/*0x007f*/ EXPLOSIONTYPE_0,
/*0x0080*/ EXPLOSIONTYPE_0,
/*0x0081*/ EXPLOSIONTYPE_0,
/*0x0082*/ EXPLOSIONTYPE_0,
/*0x0083*/ EXPLOSIONTYPE_0,
/*0x0084*/ EXPLOSIONTYPE_0,
/*0x0085*/ EXPLOSIONTYPE_0,
/*0x0086*/ EXPLOSIONTYPE_0,
/*0x0087*/ EXPLOSIONTYPE_0,
/*0x0088*/ EXPLOSIONTYPE_0,
/*0x0089*/ EXPLOSIONTYPE_0,
/*0x008a*/ EXPLOSIONTYPE_0,
/*0x008b*/ EXPLOSIONTYPE_0,
/*0x008c*/ EXPLOSIONTYPE_0,
/*0x008d*/ EXPLOSIONTYPE_13,
/*0x0070*/ EXPLOSIONTYPE_NONE,
/*0x0071*/ EXPLOSIONTYPE_NONE,
/*0x0072*/ EXPLOSIONTYPE_NONE,
/*0x0073*/ EXPLOSIONTYPE_NONE,
/*0x0074*/ EXPLOSIONTYPE_NONE,
/*0x0075*/ EXPLOSIONTYPE_NONE,
/*0x0076*/ EXPLOSIONTYPE_NONE,
/*0x0077*/ EXPLOSIONTYPE_NONE,
/*0x0078*/ EXPLOSIONTYPE_NONE,
/*0x0079*/ EXPLOSIONTYPE_NONE,
/*0x007a*/ EXPLOSIONTYPE_NONE,
/*0x007b*/ EXPLOSIONTYPE_NONE,
/*0x007c*/ EXPLOSIONTYPE_NONE,
/*0x007d*/ EXPLOSIONTYPE_NONE,
/*0x007e*/ EXPLOSIONTYPE_ROCKET,
/*0x007f*/ EXPLOSIONTYPE_NONE,
/*0x0080*/ EXPLOSIONTYPE_NONE,
/*0x0081*/ EXPLOSIONTYPE_NONE,
/*0x0082*/ EXPLOSIONTYPE_NONE,
/*0x0083*/ EXPLOSIONTYPE_NONE,
/*0x0084*/ EXPLOSIONTYPE_NONE,
/*0x0085*/ EXPLOSIONTYPE_NONE,
/*0x0086*/ EXPLOSIONTYPE_NONE,
/*0x0087*/ EXPLOSIONTYPE_NONE,
/*0x0088*/ EXPLOSIONTYPE_NONE,
/*0x0089*/ EXPLOSIONTYPE_NONE,
/*0x008a*/ EXPLOSIONTYPE_NONE,
/*0x008b*/ EXPLOSIONTYPE_NONE,
/*0x008c*/ EXPLOSIONTYPE_NONE,
/*0x008d*/ EXPLOSIONTYPE_ROCKET,
/*0x008e*/ EXPLOSIONTYPE_12,
/*0x008f*/ EXPLOSIONTYPE_12,
/*0x0090*/ EXPLOSIONTYPE_0,
/*0x0091*/ EXPLOSIONTYPE_0,
/*0x0092*/ EXPLOSIONTYPE_0,
/*0x0093*/ EXPLOSIONTYPE_0,
/*0x0094*/ EXPLOSIONTYPE_0,
/*0x0095*/ EXPLOSIONTYPE_0,
/*0x0096*/ EXPLOSIONTYPE_0,
/*0x0097*/ EXPLOSIONTYPE_0,
/*0x0098*/ EXPLOSIONTYPE_0,
/*0x0099*/ EXPLOSIONTYPE_0,
/*0x009a*/ EXPLOSIONTYPE_0,
/*0x009b*/ EXPLOSIONTYPE_0,
/*0x009c*/ EXPLOSIONTYPE_0,
/*0x009d*/ EXPLOSIONTYPE_0,
/*0x009e*/ EXPLOSIONTYPE_0,
/*0x009f*/ EXPLOSIONTYPE_13,
/*0x00a0*/ EXPLOSIONTYPE_0,
/*0x00a1*/ EXPLOSIONTYPE_0,
/*0x00a2*/ EXPLOSIONTYPE_0,
/*0x00a3*/ EXPLOSIONTYPE_0,
/*0x00a4*/ EXPLOSIONTYPE_0,
/*0x00a5*/ EXPLOSIONTYPE_0,
/*0x00a6*/ EXPLOSIONTYPE_0,
/*0x0090*/ EXPLOSIONTYPE_NONE,
/*0x0091*/ EXPLOSIONTYPE_NONE,
/*0x0092*/ EXPLOSIONTYPE_NONE,
/*0x0093*/ EXPLOSIONTYPE_NONE,
/*0x0094*/ EXPLOSIONTYPE_NONE,
/*0x0095*/ EXPLOSIONTYPE_NONE,
/*0x0096*/ EXPLOSIONTYPE_NONE,
/*0x0097*/ EXPLOSIONTYPE_NONE,
/*0x0098*/ EXPLOSIONTYPE_NONE,
/*0x0099*/ EXPLOSIONTYPE_NONE,
/*0x009a*/ EXPLOSIONTYPE_NONE,
/*0x009b*/ EXPLOSIONTYPE_NONE,
/*0x009c*/ EXPLOSIONTYPE_NONE,
/*0x009d*/ EXPLOSIONTYPE_NONE,
/*0x009e*/ EXPLOSIONTYPE_NONE,
/*0x009f*/ EXPLOSIONTYPE_ROCKET,
/*0x00a0*/ EXPLOSIONTYPE_NONE,
/*0x00a1*/ EXPLOSIONTYPE_NONE,
/*0x00a2*/ EXPLOSIONTYPE_NONE,
/*0x00a3*/ EXPLOSIONTYPE_NONE,
/*0x00a4*/ EXPLOSIONTYPE_NONE,
/*0x00a5*/ EXPLOSIONTYPE_NONE,
/*0x00a6*/ EXPLOSIONTYPE_NONE,
/*0x00a7*/ EXPLOSIONTYPE_9,
/*0x00a8*/ EXPLOSIONTYPE_0,
/*0x00a9*/ EXPLOSIONTYPE_0,
/*0x00aa*/ EXPLOSIONTYPE_0,
/*0x00ab*/ EXPLOSIONTYPE_0,
/*0x00ac*/ EXPLOSIONTYPE_0,
/*0x00ad*/ EXPLOSIONTYPE_0,
/*0x00ae*/ EXPLOSIONTYPE_0,
/*0x00af*/ EXPLOSIONTYPE_0,
/*0x00b0*/ EXPLOSIONTYPE_0,
/*0x00b1*/ EXPLOSIONTYPE_0,
/*0x00b2*/ EXPLOSIONTYPE_0,
/*0x00b3*/ EXPLOSIONTYPE_0,
/*0x00b4*/ EXPLOSIONTYPE_0,
/*0x00b5*/ EXPLOSIONTYPE_0,
/*0x00b6*/ EXPLOSIONTYPE_0,
/*0x00a8*/ EXPLOSIONTYPE_NONE,
/*0x00a9*/ EXPLOSIONTYPE_NONE,
/*0x00aa*/ EXPLOSIONTYPE_NONE,
/*0x00ab*/ EXPLOSIONTYPE_NONE,
/*0x00ac*/ EXPLOSIONTYPE_NONE,
/*0x00ad*/ EXPLOSIONTYPE_NONE,
/*0x00ae*/ EXPLOSIONTYPE_NONE,
/*0x00af*/ EXPLOSIONTYPE_NONE,
/*0x00b0*/ EXPLOSIONTYPE_NONE,
/*0x00b1*/ EXPLOSIONTYPE_NONE,
/*0x00b2*/ EXPLOSIONTYPE_NONE,
/*0x00b3*/ EXPLOSIONTYPE_NONE,
/*0x00b4*/ EXPLOSIONTYPE_NONE,
/*0x00b5*/ EXPLOSIONTYPE_NONE,
/*0x00b6*/ EXPLOSIONTYPE_NONE,
/*0x00b7*/ EXPLOSIONTYPE_7,
/*0x00b8*/ EXPLOSIONTYPE_6,
/*0x00b9*/ EXPLOSIONTYPE_0,
/*0x00b9*/ EXPLOSIONTYPE_NONE,
/*0x00ba*/ EXPLOSIONTYPE_9,
/*0x00bb*/ EXPLOSIONTYPE_0,
/*0x00bc*/ EXPLOSIONTYPE_0,
/*0x00bb*/ EXPLOSIONTYPE_NONE,
/*0x00bc*/ EXPLOSIONTYPE_NONE,
/*0x00bd*/ EXPLOSIONTYPE_6,
/*0x00be*/ EXPLOSIONTYPE_6,
/*0x00bf*/ EXPLOSIONTYPE_6,
/*0x00c0*/ EXPLOSIONTYPE_0,
/*0x00c1*/ EXPLOSIONTYPE_0,
/*0x00c0*/ EXPLOSIONTYPE_NONE,
/*0x00c1*/ EXPLOSIONTYPE_NONE,
/*0x00c2*/ EXPLOSIONTYPE_11,
/*0x00c3*/ EXPLOSIONTYPE_0,
/*0x00c4*/ EXPLOSIONTYPE_0,
/*0x00c3*/ EXPLOSIONTYPE_NONE,
/*0x00c4*/ EXPLOSIONTYPE_NONE,
/*0x00c5*/ EXPLOSIONTYPE_6,
/*0x00c6*/ EXPLOSIONTYPE_9,
/*0x00c7*/ EXPLOSIONTYPE_0,
/*0x00c8*/ EXPLOSIONTYPE_0,
/*0x00c7*/ EXPLOSIONTYPE_NONE,
/*0x00c8*/ EXPLOSIONTYPE_NONE,
/*0x00c9*/ EXPLOSIONTYPE_11,
/*0x00ca*/ EXPLOSIONTYPE_6,
/*0x00cb*/ EXPLOSIONTYPE_0,
/*0x00cc*/ EXPLOSIONTYPE_0,
/*0x00cd*/ EXPLOSIONTYPE_0,
/*0x00ce*/ EXPLOSIONTYPE_0,
/*0x00cf*/ EXPLOSIONTYPE_0,
/*0x00d0*/ EXPLOSIONTYPE_25,
/*0x00d1*/ EXPLOSIONTYPE_0,
/*0x00d2*/ EXPLOSIONTYPE_0,
/*0x00d3*/ EXPLOSIONTYPE_0,
/*0x00d4*/ EXPLOSIONTYPE_0,
/*0x00d5*/ EXPLOSIONTYPE_0,
/*0x00d6*/ EXPLOSIONTYPE_0,
/*0x00d7*/ EXPLOSIONTYPE_0,
/*0x00d8*/ EXPLOSIONTYPE_0,
/*0x00d9*/ EXPLOSIONTYPE_0,
/*0x00da*/ EXPLOSIONTYPE_0,
/*0x00db*/ EXPLOSIONTYPE_0,
/*0x00dc*/ EXPLOSIONTYPE_0,
/*0x00dd*/ EXPLOSIONTYPE_0,
/*0x00de*/ EXPLOSIONTYPE_0,
/*0x00df*/ EXPLOSIONTYPE_0,
/*0x00e0*/ EXPLOSIONTYPE_0,
/*0x00e1*/ EXPLOSIONTYPE_0,
/*0x00e2*/ EXPLOSIONTYPE_0,
/*0x00e3*/ EXPLOSIONTYPE_0,
/*0x00e4*/ EXPLOSIONTYPE_0,
/*0x00e5*/ EXPLOSIONTYPE_0,
/*0x00e6*/ EXPLOSIONTYPE_0,
/*0x00e7*/ EXPLOSIONTYPE_0,
/*0x00e8*/ EXPLOSIONTYPE_0,
/*0x00e9*/ EXPLOSIONTYPE_0,
/*0x00cb*/ EXPLOSIONTYPE_NONE,
/*0x00cc*/ EXPLOSIONTYPE_NONE,
/*0x00cd*/ EXPLOSIONTYPE_NONE,
/*0x00ce*/ EXPLOSIONTYPE_NONE,
/*0x00cf*/ EXPLOSIONTYPE_NONE,
/*0x00d0*/ EXPLOSIONTYPE_HUGE25,
/*0x00d1*/ EXPLOSIONTYPE_NONE,
/*0x00d2*/ EXPLOSIONTYPE_NONE,
/*0x00d3*/ EXPLOSIONTYPE_NONE,
/*0x00d4*/ EXPLOSIONTYPE_NONE,
/*0x00d5*/ EXPLOSIONTYPE_NONE,
/*0x00d6*/ EXPLOSIONTYPE_NONE,
/*0x00d7*/ EXPLOSIONTYPE_NONE,
/*0x00d8*/ EXPLOSIONTYPE_NONE,
/*0x00d9*/ EXPLOSIONTYPE_NONE,
/*0x00da*/ EXPLOSIONTYPE_NONE,
/*0x00db*/ EXPLOSIONTYPE_NONE,
/*0x00dc*/ EXPLOSIONTYPE_NONE,
/*0x00dd*/ EXPLOSIONTYPE_NONE,
/*0x00de*/ EXPLOSIONTYPE_NONE,
/*0x00df*/ EXPLOSIONTYPE_NONE,
/*0x00e0*/ EXPLOSIONTYPE_NONE,
/*0x00e1*/ EXPLOSIONTYPE_NONE,
/*0x00e2*/ EXPLOSIONTYPE_NONE,
/*0x00e3*/ EXPLOSIONTYPE_NONE,
/*0x00e4*/ EXPLOSIONTYPE_NONE,
/*0x00e5*/ EXPLOSIONTYPE_NONE,
/*0x00e6*/ EXPLOSIONTYPE_NONE,
/*0x00e7*/ EXPLOSIONTYPE_NONE,
/*0x00e8*/ EXPLOSIONTYPE_NONE,
/*0x00e9*/ EXPLOSIONTYPE_NONE,
/*0x00ea*/ EXPLOSIONTYPE_11,
/*0x00eb*/ EXPLOSIONTYPE_0,
/*0x00ec*/ EXPLOSIONTYPE_0,
/*0x00ed*/ EXPLOSIONTYPE_0,
/*0x00ee*/ EXPLOSIONTYPE_0,
/*0x00ef*/ EXPLOSIONTYPE_0,
/*0x00f0*/ EXPLOSIONTYPE_0,
/*0x00f1*/ EXPLOSIONTYPE_0,
/*0x00f2*/ EXPLOSIONTYPE_0,
/*0x00f3*/ EXPLOSIONTYPE_17,
/*0x00f4*/ EXPLOSIONTYPE_0,
/*0x00f5*/ EXPLOSIONTYPE_0,
/*0x00f6*/ EXPLOSIONTYPE_0,
/*0x00f7*/ EXPLOSIONTYPE_0,
/*0x00f8*/ EXPLOSIONTYPE_0,
/*0x00f9*/ EXPLOSIONTYPE_0,
/*0x00fa*/ EXPLOSIONTYPE_0,
/*0x00fb*/ EXPLOSIONTYPE_0,
/*0x00fc*/ EXPLOSIONTYPE_0,
/*0x00fd*/ EXPLOSIONTYPE_0,
/*0x00fe*/ EXPLOSIONTYPE_0,
/*0x00ff*/ EXPLOSIONTYPE_0,
/*0x0100*/ EXPLOSIONTYPE_0,
/*0x0101*/ EXPLOSIONTYPE_0,
/*0x0102*/ EXPLOSIONTYPE_0,
/*0x0103*/ EXPLOSIONTYPE_0,
/*0x0104*/ EXPLOSIONTYPE_0,
/*0x0105*/ EXPLOSIONTYPE_0,
/*0x0106*/ EXPLOSIONTYPE_0,
/*0x0107*/ EXPLOSIONTYPE_0,
/*0x0108*/ EXPLOSIONTYPE_0,
/*0x0109*/ EXPLOSIONTYPE_0,
/*0x010a*/ EXPLOSIONTYPE_0,
/*0x010b*/ EXPLOSIONTYPE_0,
/*0x010c*/ EXPLOSIONTYPE_0,
/*0x010d*/ EXPLOSIONTYPE_0,
/*0x010e*/ EXPLOSIONTYPE_0,
/*0x010f*/ EXPLOSIONTYPE_0,
/*0x0110*/ EXPLOSIONTYPE_0,
/*0x0111*/ EXPLOSIONTYPE_0,
/*0x0112*/ EXPLOSIONTYPE_0,
/*0x0113*/ EXPLOSIONTYPE_0,
/*0x0114*/ EXPLOSIONTYPE_0,
/*0x0115*/ EXPLOSIONTYPE_0,
/*0x0116*/ EXPLOSIONTYPE_0,
/*0x0117*/ EXPLOSIONTYPE_0,
/*0x0118*/ EXPLOSIONTYPE_0,
/*0x0119*/ EXPLOSIONTYPE_0,
/*0x011a*/ EXPLOSIONTYPE_13,
/*0x011b*/ EXPLOSIONTYPE_13,
/*0x011c*/ EXPLOSIONTYPE_13,
/*0x011d*/ EXPLOSIONTYPE_13,
/*0x011e*/ EXPLOSIONTYPE_0,
/*0x011f*/ EXPLOSIONTYPE_0,
/*0x0120*/ EXPLOSIONTYPE_0,
/*0x0121*/ EXPLOSIONTYPE_0,
/*0x0122*/ EXPLOSIONTYPE_0,
/*0x0123*/ EXPLOSIONTYPE_0,
/*0x0124*/ EXPLOSIONTYPE_0,
/*0x0125*/ EXPLOSIONTYPE_0,
/*0x0126*/ EXPLOSIONTYPE_0,
/*0x0127*/ EXPLOSIONTYPE_13,
/*0x0128*/ EXPLOSIONTYPE_13,
/*0x0129*/ EXPLOSIONTYPE_0,
/*0x012a*/ EXPLOSIONTYPE_13,
/*0x012b*/ EXPLOSIONTYPE_13,
/*0x00eb*/ EXPLOSIONTYPE_NONE,
/*0x00ec*/ EXPLOSIONTYPE_NONE,
/*0x00ed*/ EXPLOSIONTYPE_NONE,
/*0x00ee*/ EXPLOSIONTYPE_NONE,
/*0x00ef*/ EXPLOSIONTYPE_NONE,
/*0x00f0*/ EXPLOSIONTYPE_NONE,
/*0x00f1*/ EXPLOSIONTYPE_NONE,
/*0x00f2*/ EXPLOSIONTYPE_NONE,
/*0x00f3*/ EXPLOSIONTYPE_HUGE17,
/*0x00f4*/ EXPLOSIONTYPE_NONE,
/*0x00f5*/ EXPLOSIONTYPE_NONE,
/*0x00f6*/ EXPLOSIONTYPE_NONE,
/*0x00f7*/ EXPLOSIONTYPE_NONE,
/*0x00f8*/ EXPLOSIONTYPE_NONE,
/*0x00f9*/ EXPLOSIONTYPE_NONE,
/*0x00fa*/ EXPLOSIONTYPE_NONE,
/*0x00fb*/ EXPLOSIONTYPE_NONE,
/*0x00fc*/ EXPLOSIONTYPE_NONE,
/*0x00fd*/ EXPLOSIONTYPE_NONE,
/*0x00fe*/ EXPLOSIONTYPE_NONE,
/*0x00ff*/ EXPLOSIONTYPE_NONE,
/*0x0100*/ EXPLOSIONTYPE_NONE,
/*0x0101*/ EXPLOSIONTYPE_NONE,
/*0x0102*/ EXPLOSIONTYPE_NONE,
/*0x0103*/ EXPLOSIONTYPE_NONE,
/*0x0104*/ EXPLOSIONTYPE_NONE,
/*0x0105*/ EXPLOSIONTYPE_NONE,
/*0x0106*/ EXPLOSIONTYPE_NONE,
/*0x0107*/ EXPLOSIONTYPE_NONE,
/*0x0108*/ EXPLOSIONTYPE_NONE,
/*0x0109*/ EXPLOSIONTYPE_NONE,
/*0x010a*/ EXPLOSIONTYPE_NONE,
/*0x010b*/ EXPLOSIONTYPE_NONE,
/*0x010c*/ EXPLOSIONTYPE_NONE,
/*0x010d*/ EXPLOSIONTYPE_NONE,
/*0x010e*/ EXPLOSIONTYPE_NONE,
/*0x010f*/ EXPLOSIONTYPE_NONE,
/*0x0110*/ EXPLOSIONTYPE_NONE,
/*0x0111*/ EXPLOSIONTYPE_NONE,
/*0x0112*/ EXPLOSIONTYPE_NONE,
/*0x0113*/ EXPLOSIONTYPE_NONE,
/*0x0114*/ EXPLOSIONTYPE_NONE,
/*0x0115*/ EXPLOSIONTYPE_NONE,
/*0x0116*/ EXPLOSIONTYPE_NONE,
/*0x0117*/ EXPLOSIONTYPE_NONE,
/*0x0118*/ EXPLOSIONTYPE_NONE,
/*0x0119*/ EXPLOSIONTYPE_NONE,
/*0x011a*/ EXPLOSIONTYPE_ROCKET,
/*0x011b*/ EXPLOSIONTYPE_ROCKET,
/*0x011c*/ EXPLOSIONTYPE_ROCKET,
/*0x011d*/ EXPLOSIONTYPE_ROCKET,
/*0x011e*/ EXPLOSIONTYPE_NONE,
/*0x011f*/ EXPLOSIONTYPE_NONE,
/*0x0120*/ EXPLOSIONTYPE_NONE,
/*0x0121*/ EXPLOSIONTYPE_NONE,
/*0x0122*/ EXPLOSIONTYPE_NONE,
/*0x0123*/ EXPLOSIONTYPE_NONE,
/*0x0124*/ EXPLOSIONTYPE_NONE,
/*0x0125*/ EXPLOSIONTYPE_NONE,
/*0x0126*/ EXPLOSIONTYPE_NONE,
/*0x0127*/ EXPLOSIONTYPE_ROCKET,
/*0x0128*/ EXPLOSIONTYPE_ROCKET,
/*0x0129*/ EXPLOSIONTYPE_NONE,
/*0x012a*/ EXPLOSIONTYPE_ROCKET,
/*0x012b*/ EXPLOSIONTYPE_ROCKET,
/*0x012c*/ EXPLOSIONTYPE_8,
/*0x012d*/ EXPLOSIONTYPE_0,
/*0x012e*/ EXPLOSIONTYPE_0,
/*0x012d*/ EXPLOSIONTYPE_NONE,
/*0x012e*/ EXPLOSIONTYPE_NONE,
/*0x012f*/ EXPLOSIONTYPE_12,
/*0x0130*/ EXPLOSIONTYPE_13,
/*0x0130*/ EXPLOSIONTYPE_ROCKET,
/*0x0131*/ EXPLOSIONTYPE_7,
/*0x0132*/ EXPLOSIONTYPE_11,
/*0x0133*/ EXPLOSIONTYPE_0,
/*0x0133*/ EXPLOSIONTYPE_NONE,
/*0x0134*/ EXPLOSIONTYPE_7,
/*0x0135*/ EXPLOSIONTYPE_7,
/*0x0136*/ EXPLOSIONTYPE_0,
/*0x0137*/ EXPLOSIONTYPE_0,
/*0x0138*/ EXPLOSIONTYPE_0,
/*0x0139*/ EXPLOSIONTYPE_0,
/*0x013a*/ EXPLOSIONTYPE_0,
/*0x013b*/ EXPLOSIONTYPE_0,
/*0x013c*/ EXPLOSIONTYPE_0,
/*0x013d*/ EXPLOSIONTYPE_0,
/*0x013e*/ EXPLOSIONTYPE_0,
/*0x013f*/ EXPLOSIONTYPE_0,
/*0x0140*/ EXPLOSIONTYPE_0,
/*0x0141*/ EXPLOSIONTYPE_0,
/*0x0142*/ EXPLOSIONTYPE_0,
/*0x0143*/ EXPLOSIONTYPE_0,
/*0x0144*/ EXPLOSIONTYPE_0,
/*0x0145*/ EXPLOSIONTYPE_0,
/*0x0146*/ EXPLOSIONTYPE_0,
/*0x0147*/ EXPLOSIONTYPE_0,
/*0x0148*/ EXPLOSIONTYPE_0,
/*0x0149*/ EXPLOSIONTYPE_0,
/*0x014a*/ EXPLOSIONTYPE_0,
/*0x014b*/ EXPLOSIONTYPE_13,
/*0x0136*/ EXPLOSIONTYPE_NONE,
/*0x0137*/ EXPLOSIONTYPE_NONE,
/*0x0138*/ EXPLOSIONTYPE_NONE,
/*0x0139*/ EXPLOSIONTYPE_NONE,
/*0x013a*/ EXPLOSIONTYPE_NONE,
/*0x013b*/ EXPLOSIONTYPE_NONE,
/*0x013c*/ EXPLOSIONTYPE_NONE,
/*0x013d*/ EXPLOSIONTYPE_NONE,
/*0x013e*/ EXPLOSIONTYPE_NONE,
/*0x013f*/ EXPLOSIONTYPE_NONE,
/*0x0140*/ EXPLOSIONTYPE_NONE,
/*0x0141*/ EXPLOSIONTYPE_NONE,
/*0x0142*/ EXPLOSIONTYPE_NONE,
/*0x0143*/ EXPLOSIONTYPE_NONE,
/*0x0144*/ EXPLOSIONTYPE_NONE,
/*0x0145*/ EXPLOSIONTYPE_NONE,
/*0x0146*/ EXPLOSIONTYPE_NONE,
/*0x0147*/ EXPLOSIONTYPE_NONE,
/*0x0148*/ EXPLOSIONTYPE_NONE,
/*0x0149*/ EXPLOSIONTYPE_NONE,
/*0x014a*/ EXPLOSIONTYPE_NONE,
/*0x014b*/ EXPLOSIONTYPE_ROCKET,
/*0x014c*/ EXPLOSIONTYPE_7,
/*0x014d*/ EXPLOSIONTYPE_0,
/*0x014e*/ EXPLOSIONTYPE_0,
/*0x014f*/ EXPLOSIONTYPE_0,
/*0x0150*/ EXPLOSIONTYPE_0,
/*0x014d*/ EXPLOSIONTYPE_NONE,
/*0x014e*/ EXPLOSIONTYPE_NONE,
/*0x014f*/ EXPLOSIONTYPE_NONE,
/*0x0150*/ EXPLOSIONTYPE_NONE,
/*0x0151*/ EXPLOSIONTYPE_7,
/*0x0152*/ EXPLOSIONTYPE_0,
/*0x0153*/ EXPLOSIONTYPE_0,
/*0x0154*/ EXPLOSIONTYPE_0,
/*0x0155*/ EXPLOSIONTYPE_0,
/*0x0156*/ EXPLOSIONTYPE_0,
/*0x0152*/ EXPLOSIONTYPE_NONE,
/*0x0153*/ EXPLOSIONTYPE_NONE,
/*0x0154*/ EXPLOSIONTYPE_NONE,
/*0x0155*/ EXPLOSIONTYPE_NONE,
/*0x0156*/ EXPLOSIONTYPE_NONE,
/*0x0157*/ EXPLOSIONTYPE_7,
/*0x0158*/ EXPLOSIONTYPE_8,
/*0x0159*/ EXPLOSIONTYPE_6,
@ -1203,107 +1203,107 @@ u8 g_PropExplosionTypes[] = {
/*0x015d*/ EXPLOSIONTYPE_8,
/*0x015e*/ EXPLOSIONTYPE_7,
/*0x015f*/ EXPLOSIONTYPE_7,
/*0x0160*/ EXPLOSIONTYPE_0,
/*0x0161*/ EXPLOSIONTYPE_0,
/*0x0162*/ EXPLOSIONTYPE_0,
/*0x0163*/ EXPLOSIONTYPE_0,
/*0x0164*/ EXPLOSIONTYPE_0,
/*0x0165*/ EXPLOSIONTYPE_0,
/*0x0166*/ EXPLOSIONTYPE_0,
/*0x0167*/ EXPLOSIONTYPE_0,
/*0x0168*/ EXPLOSIONTYPE_0,
/*0x0169*/ EXPLOSIONTYPE_0,
/*0x016a*/ EXPLOSIONTYPE_0,
/*0x016b*/ EXPLOSIONTYPE_0,
/*0x016c*/ EXPLOSIONTYPE_0,
/*0x016d*/ EXPLOSIONTYPE_0,
/*0x016e*/ EXPLOSIONTYPE_0,
/*0x016f*/ EXPLOSIONTYPE_0,
/*0x0170*/ EXPLOSIONTYPE_0,
/*0x0171*/ EXPLOSIONTYPE_0,
/*0x0172*/ EXPLOSIONTYPE_0,
/*0x0173*/ EXPLOSIONTYPE_0,
/*0x0160*/ EXPLOSIONTYPE_NONE,
/*0x0161*/ EXPLOSIONTYPE_NONE,
/*0x0162*/ EXPLOSIONTYPE_NONE,
/*0x0163*/ EXPLOSIONTYPE_NONE,
/*0x0164*/ EXPLOSIONTYPE_NONE,
/*0x0165*/ EXPLOSIONTYPE_NONE,
/*0x0166*/ EXPLOSIONTYPE_NONE,
/*0x0167*/ EXPLOSIONTYPE_NONE,
/*0x0168*/ EXPLOSIONTYPE_NONE,
/*0x0169*/ EXPLOSIONTYPE_NONE,
/*0x016a*/ EXPLOSIONTYPE_NONE,
/*0x016b*/ EXPLOSIONTYPE_NONE,
/*0x016c*/ EXPLOSIONTYPE_NONE,
/*0x016d*/ EXPLOSIONTYPE_NONE,
/*0x016e*/ EXPLOSIONTYPE_NONE,
/*0x016f*/ EXPLOSIONTYPE_NONE,
/*0x0170*/ EXPLOSIONTYPE_NONE,
/*0x0171*/ EXPLOSIONTYPE_NONE,
/*0x0172*/ EXPLOSIONTYPE_NONE,
/*0x0173*/ EXPLOSIONTYPE_NONE,
/*0x0174*/ EXPLOSIONTYPE_6,
/*0x0175*/ EXPLOSIONTYPE_0,
/*0x0176*/ EXPLOSIONTYPE_0,
/*0x0177*/ EXPLOSIONTYPE_0,
/*0x0175*/ EXPLOSIONTYPE_NONE,
/*0x0176*/ EXPLOSIONTYPE_NONE,
/*0x0177*/ EXPLOSIONTYPE_NONE,
/*0x0178*/ EXPLOSIONTYPE_7,
/*0x0179*/ EXPLOSIONTYPE_0,
/*0x017a*/ EXPLOSIONTYPE_0,
/*0x017b*/ EXPLOSIONTYPE_0,
/*0x017c*/ EXPLOSIONTYPE_0,
/*0x017d*/ EXPLOSIONTYPE_0,
/*0x017e*/ EXPLOSIONTYPE_0,
/*0x0179*/ EXPLOSIONTYPE_NONE,
/*0x017a*/ EXPLOSIONTYPE_NONE,
/*0x017b*/ EXPLOSIONTYPE_NONE,
/*0x017c*/ EXPLOSIONTYPE_NONE,
/*0x017d*/ EXPLOSIONTYPE_NONE,
/*0x017e*/ EXPLOSIONTYPE_NONE,
/*0x017f*/ EXPLOSIONTYPE_6,
/*0x0180*/ EXPLOSIONTYPE_8,
/*0x0181*/ EXPLOSIONTYPE_8,
/*0x0182*/ EXPLOSIONTYPE_8,
/*0x0183*/ EXPLOSIONTYPE_0,
/*0x0184*/ EXPLOSIONTYPE_0,
/*0x0185*/ EXPLOSIONTYPE_0,
/*0x0186*/ EXPLOSIONTYPE_0,
/*0x0187*/ EXPLOSIONTYPE_0,
/*0x0188*/ EXPLOSIONTYPE_0,
/*0x0189*/ EXPLOSIONTYPE_0,
/*0x018a*/ EXPLOSIONTYPE_0,
/*0x018b*/ EXPLOSIONTYPE_0,
/*0x018c*/ EXPLOSIONTYPE_0,
/*0x0183*/ EXPLOSIONTYPE_NONE,
/*0x0184*/ EXPLOSIONTYPE_NONE,
/*0x0185*/ EXPLOSIONTYPE_NONE,
/*0x0186*/ EXPLOSIONTYPE_NONE,
/*0x0187*/ EXPLOSIONTYPE_NONE,
/*0x0188*/ EXPLOSIONTYPE_NONE,
/*0x0189*/ EXPLOSIONTYPE_NONE,
/*0x018a*/ EXPLOSIONTYPE_NONE,
/*0x018b*/ EXPLOSIONTYPE_NONE,
/*0x018c*/ EXPLOSIONTYPE_NONE,
/*0x018d*/ EXPLOSIONTYPE_6,
/*0x018e*/ EXPLOSIONTYPE_0,
/*0x018f*/ EXPLOSIONTYPE_0,
/*0x018e*/ EXPLOSIONTYPE_NONE,
/*0x018f*/ EXPLOSIONTYPE_NONE,
/*0x0190*/ EXPLOSIONTYPE_6,
/*0x0191*/ EXPLOSIONTYPE_0,
/*0x0191*/ EXPLOSIONTYPE_NONE,
/*0x0192*/ EXPLOSIONTYPE_7,
/*0x0193*/ EXPLOSIONTYPE_7,
/*0x0194*/ EXPLOSIONTYPE_0,
/*0x0195*/ EXPLOSIONTYPE_0,
/*0x0196*/ EXPLOSIONTYPE_0,
/*0x0197*/ EXPLOSIONTYPE_0,
/*0x0198*/ EXPLOSIONTYPE_13,
/*0x0199*/ EXPLOSIONTYPE_0,
/*0x019a*/ EXPLOSIONTYPE_0,
/*0x019b*/ EXPLOSIONTYPE_0,
/*0x019c*/ EXPLOSIONTYPE_0,
/*0x019d*/ EXPLOSIONTYPE_0,
/*0x0194*/ EXPLOSIONTYPE_NONE,
/*0x0195*/ EXPLOSIONTYPE_NONE,
/*0x0196*/ EXPLOSIONTYPE_NONE,
/*0x0197*/ EXPLOSIONTYPE_NONE,
/*0x0198*/ EXPLOSIONTYPE_ROCKET,
/*0x0199*/ EXPLOSIONTYPE_NONE,
/*0x019a*/ EXPLOSIONTYPE_NONE,
/*0x019b*/ EXPLOSIONTYPE_NONE,
/*0x019c*/ EXPLOSIONTYPE_NONE,
/*0x019d*/ EXPLOSIONTYPE_NONE,
/*0x019e*/ EXPLOSIONTYPE_6,
/*0x019f*/ EXPLOSIONTYPE_0,
/*0x01a0*/ EXPLOSIONTYPE_0,
/*0x01a1*/ EXPLOSIONTYPE_0,
/*0x01a2*/ EXPLOSIONTYPE_17,
/*0x01a3*/ EXPLOSIONTYPE_0,
/*0x01a4*/ EXPLOSIONTYPE_0,
/*0x01a5*/ EXPLOSIONTYPE_0,
/*0x01a6*/ EXPLOSIONTYPE_0,
/*0x01a7*/ EXPLOSIONTYPE_0,
/*0x01a8*/ EXPLOSIONTYPE_0,
/*0x01a9*/ EXPLOSIONTYPE_0,
/*0x01aa*/ EXPLOSIONTYPE_0,
/*0x01ab*/ EXPLOSIONTYPE_0,
/*0x01ac*/ EXPLOSIONTYPE_0,
/*0x01ad*/ EXPLOSIONTYPE_0,
/*0x01ae*/ EXPLOSIONTYPE_0,
/*0x019f*/ EXPLOSIONTYPE_NONE,
/*0x01a0*/ EXPLOSIONTYPE_NONE,
/*0x01a1*/ EXPLOSIONTYPE_NONE,
/*0x01a2*/ EXPLOSIONTYPE_HUGE17,
/*0x01a3*/ EXPLOSIONTYPE_NONE,
/*0x01a4*/ EXPLOSIONTYPE_NONE,
/*0x01a5*/ EXPLOSIONTYPE_NONE,
/*0x01a6*/ EXPLOSIONTYPE_NONE,
/*0x01a7*/ EXPLOSIONTYPE_NONE,
/*0x01a8*/ EXPLOSIONTYPE_NONE,
/*0x01a9*/ EXPLOSIONTYPE_NONE,
/*0x01aa*/ EXPLOSIONTYPE_NONE,
/*0x01ab*/ EXPLOSIONTYPE_NONE,
/*0x01ac*/ EXPLOSIONTYPE_NONE,
/*0x01ad*/ EXPLOSIONTYPE_NONE,
/*0x01ae*/ EXPLOSIONTYPE_NONE,
/*0x01af*/ EXPLOSIONTYPE_11,
/*0x01b0*/ EXPLOSIONTYPE_0,
/*0x01b1*/ EXPLOSIONTYPE_0,
/*0x01b2*/ EXPLOSIONTYPE_0,
/*0x01b0*/ EXPLOSIONTYPE_NONE,
/*0x01b1*/ EXPLOSIONTYPE_NONE,
/*0x01b2*/ EXPLOSIONTYPE_NONE,
/*0x01b3*/ EXPLOSIONTYPE_6,
/*0x01b4*/ EXPLOSIONTYPE_0,
/*0x01b5*/ EXPLOSIONTYPE_0,
/*0x01b6*/ EXPLOSIONTYPE_0,
/*0x01b7*/ EXPLOSIONTYPE_0,
/*0x01b8*/ EXPLOSIONTYPE_0,
/*0x01b9*/ EXPLOSIONTYPE_0,
/*0x01ba*/ EXPLOSIONTYPE_0,
/*0x01bb*/ EXPLOSIONTYPE_0,
/*0x01bc*/ EXPLOSIONTYPE_0,
/*0x01bd*/ EXPLOSIONTYPE_0,
/*0x01be*/ EXPLOSIONTYPE_0,
/*0x01bf*/ EXPLOSIONTYPE_0,
/*0x01c0*/ EXPLOSIONTYPE_0,
/*0x01c1*/ EXPLOSIONTYPE_0,
/*0x01b4*/ EXPLOSIONTYPE_NONE,
/*0x01b5*/ EXPLOSIONTYPE_NONE,
/*0x01b6*/ EXPLOSIONTYPE_NONE,
/*0x01b7*/ EXPLOSIONTYPE_NONE,
/*0x01b8*/ EXPLOSIONTYPE_NONE,
/*0x01b9*/ EXPLOSIONTYPE_NONE,
/*0x01ba*/ EXPLOSIONTYPE_NONE,
/*0x01bb*/ EXPLOSIONTYPE_NONE,
/*0x01bc*/ EXPLOSIONTYPE_NONE,
/*0x01bd*/ EXPLOSIONTYPE_NONE,
/*0x01be*/ EXPLOSIONTYPE_NONE,
/*0x01bf*/ EXPLOSIONTYPE_NONE,
/*0x01c0*/ EXPLOSIONTYPE_NONE,
/*0x01c1*/ EXPLOSIONTYPE_NONE,
#if VERSION >= VERSION_JPN_FINAL
/*0x01c2*/ EXPLOSIONTYPE_0,
/*0x01c3*/ EXPLOSIONTYPE_0,
/*0x01c2*/ EXPLOSIONTYPE_NONE,
/*0x01c3*/ EXPLOSIONTYPE_NONE,
#endif
0xff,
};

View File

@ -2953,7 +2953,7 @@ void playerTickExplode(void)
pos.y += 200.0f * (random() * (1.0f / U32_MAX)) - 100.0f;
explosionCreateSimple(NULL, &pos, g_Vars.currentplayer->prop->rooms, EXPLOSIONTYPE_18, g_Vars.currentplayernum);
explosionCreateSimple(NULL, &pos, g_Vars.currentplayer->prop->rooms, EXPLOSIONTYPE_BONDEXPLODE, g_Vars.currentplayernum);
g_Vars.currentplayer->bondnextexplode = g_Vars.lvframe60 + TICKS(15) + (random() % TICKS(15));
}

View File

@ -803,7 +803,7 @@ struct prop *shotCalculateHits(s32 handnum, bool arg1, struct coord *arg2, struc
sp8c.z = shotdata.hits[i].pos.z;
func0f065e74(&root->pos, root->rooms, &sp8c, sp7c);
explosionCreateSimple(0, &sp8c, sp7c, EXPLOSIONTYPE_22, g_Vars.currentplayernum);
explosionCreateSimple(0, &sp8c, sp7c, EXPLOSIONTYPE_PHOENIX, g_Vars.currentplayernum);
}
}
}
@ -848,7 +848,7 @@ struct prop *shotCalculateHits(s32 handnum, bool arg1, struct coord *arg2, struc
bgunPlayBgHitSound(&shotdata.gset, &sp694.unk00, sp694.texturenum, sp6c);
if (explosiveshells) {
explosionCreateSimple(NULL, &sp694.unk00, sp6c, EXPLOSIONTYPE_22, g_Vars.currentplayernum);
explosionCreateSimple(NULL, &sp694.unk00, sp6c, EXPLOSIONTYPE_PHOENIX, g_Vars.currentplayernum);
} else {
if (!chrIsUsingPaintball(g_Vars.currentplayer->prop->chr)) {
if (PLAYERCOUNT() >= 2) {
@ -857,7 +857,7 @@ struct prop *shotCalculateHits(s32 handnum, bool arg1, struct coord *arg2, struc
}
} else {
if (uVar6) {
explosionCreateSimple(NULL, &sp694.unk00, sp6c, EXPLOSIONTYPE_1, g_Vars.currentplayernum);
explosionCreateSimple(NULL, &sp694.unk00, sp6c, EXPLOSIONTYPE_BULLETHOLE, g_Vars.currentplayernum);
}
}
}

View File

@ -17774,9 +17774,9 @@ glabel var7f1aa2c4
// propUnsetDangerous(prop);
//
// if (weapon->gunfunc == FUNC_2) {
// propExplode(prop, EXPLOSIONTYPE_21);
// propExplode(prop, EXPLOSIONTYPE_SDGRENADE);
// } else {
// propExplode(prop, (obj->flags2 & OBJFLAG2_80000000) ? EXPLOSIONTYPE_17 : EXPLOSIONTYPE_13);
// propExplode(prop, (obj->flags2 & OBJFLAG2_WEAPON_HUGEEXP) ? EXPLOSIONTYPE_HUGE17 : EXPLOSIONTYPE_ROCKET);
// }
//
// obj->hidden |= OBJHFLAG_REAPABLE;
@ -17829,7 +17829,7 @@ glabel var7f1aa2c4
// // a98
// // Handle rockets
// if (weapon->timer240 == 0) {
// propExplode(prop, (obj->flags2 & OBJFLAG2_80000000) ? EXPLOSIONTYPE_17 : EXPLOSIONTYPE_13);
// propExplode(prop, (obj->flags2 & OBJFLAG2_WEAPON_HUGEEXP) ? EXPLOSIONTYPE_HUGE17 : EXPLOSIONTYPE_ROCKET);
//
// obj->hidden |= OBJHFLAG_REAPABLE;
//
@ -17847,7 +17847,7 @@ glabel var7f1aa2c4
// weapon->timer240 -= g_Vars.lvupdate240;
//
// if (weapon->timer240 < 0) {
// if (propExplode(prop, (obj->flags2 & OBJFLAG2_80000000) ? EXPLOSIONTYPE_17 : EXPLOSIONTYPE_13)) {
// if (propExplode(prop, (obj->flags2 & OBJFLAG2_WEAPON_HUGEEXP) ? EXPLOSIONTYPE_HUGE17 : EXPLOSIONTYPE_ROCKET)) {
// weapon->timer240 = -1;
// obj->hidden |= OBJHFLAG_REAPABLE;
// }
@ -17900,10 +17900,10 @@ glabel var7f1aa2c4
// }
// } else if (weapon->timer240 == 0) {
// // Mine was damaged or timer was set to 0 above
// exptype = EXPLOSIONTYPE_13;
// exptype = EXPLOSIONTYPE_ROCKET;
//
// if (obj->flags2 & OBJFLAG2_80000000) {
// exptype = EXPLOSIONTYPE_17;
// if (obj->flags2 & OBJFLAG2_WEAPON_HUGEEXP) {
// exptype = EXPLOSIONTYPE_HUGE17;
// }
//
// if (propExplode(prop, exptype)) {
@ -17964,12 +17964,12 @@ glabel var7f1aa2c4
// }
// } else {
// // Regular explosive
// exptype = EXPLOSIONTYPE_13;
// exptype = EXPLOSIONTYPE_ROCKET;
//
// if (obj->flags2 & OBJFLAG2_80000000) {
// exptype = EXPLOSIONTYPE_17;
// if (obj->flags2 & OBJFLAG2_WEAPON_HUGEEXP) {
// exptype = EXPLOSIONTYPE_HUGE17;
// } else if (weapon->weaponnum == WEAPON_DRAGON) {
// exptype = EXPLOSIONTYPE_23;
// exptype = EXPLOSIONTYPE_DRAGONBOMBSPY;
// }
//
// if (propExplode(prop, exptype)) {
@ -58227,7 +58227,7 @@ glabel var7f1aa698
//
// func0f0926bc(chopperprop, 1, 0xffff);
//
// explosionCreate(NULL, &chopperprop->pos, chopperprop->rooms, EXPLOSIONTYPE_13,
// explosionCreate(NULL, &chopperprop->pos, chopperprop->rooms, EXPLOSIONTYPE_ROCKET,
// 0, true, &sp98, room, &sp74);
//
// chopper->dead = true;
@ -78882,9 +78882,9 @@ struct autogunobj *laptopDeploy(s32 modelnum, struct gset *gset, struct chrdata
if (laptop->base.prop) {
#if VERSION >= VERSION_NTSC_1_0
explosionCreateSimple(NULL, &laptop->base.prop->pos, laptop->base.prop->rooms, EXPLOSIONTYPE_3, index);
explosionCreateSimple(NULL, &laptop->base.prop->pos, laptop->base.prop->rooms, EXPLOSIONTYPE_LAPTOP, index);
#else
explosionCreateSimple(NULL, &laptop->base.prop->pos, laptop->base.prop->rooms, EXPLOSIONTYPE_3, 0);
explosionCreateSimple(NULL, &laptop->base.prop->pos, laptop->base.prop->rooms, EXPLOSIONTYPE_LAPTOP, 0);
#endif
objFreePermanently(&laptop->base, true);
}

View File

@ -9088,7 +9088,7 @@ glabel var7f1b94e4
// g_FrData.targetsdestroyed++;
//
// if (g_FrData.targets[i].flags & FRTARGETFLAG_ONEHITEXPLODE) {
// explosionCreateSimple(g_FrData.targets[i].prop, &g_FrData.targets[i].prop->pos, g_FrData.targets[i].prop->rooms, EXPLOSIONTYPE_5, 1);
// explosionCreateSimple(g_FrData.targets[i].prop, &g_FrData.targets[i].prop->pos, g_FrData.targets[i].prop->rooms, EXPLOSIONTYPE_FRTARGET, 1);
// }
//
// // 210

View File

@ -794,27 +794,27 @@
#define DROPTYPE_5 5
#define DROPTYPE_OWNERREAP 6
#define EXPLOSIONTYPE_0 0
#define EXPLOSIONTYPE_1 1
#define EXPLOSIONTYPE_2 2
#define EXPLOSIONTYPE_3 3
#define EXPLOSIONTYPE_4 4
#define EXPLOSIONTYPE_5 5
#define EXPLOSIONTYPE_6 6
#define EXPLOSIONTYPE_7 7
#define EXPLOSIONTYPE_8 8
#define EXPLOSIONTYPE_9 9
#define EXPLOSIONTYPE_11 11
#define EXPLOSIONTYPE_12 12
#define EXPLOSIONTYPE_13 13
#define EXPLOSIONTYPE_14 14
#define EXPLOSIONTYPE_16 16
#define EXPLOSIONTYPE_17 17
#define EXPLOSIONTYPE_18 18
#define EXPLOSIONTYPE_21 21
#define EXPLOSIONTYPE_22 22
#define EXPLOSIONTYPE_23 23
#define EXPLOSIONTYPE_25 25
#define EXPLOSIONTYPE_NONE 0
#define EXPLOSIONTYPE_BULLETHOLE 1
#define EXPLOSIONTYPE_EYESPY 2
#define EXPLOSIONTYPE_LAPTOP 3
#define EXPLOSIONTYPE_A51TABLE 4
#define EXPLOSIONTYPE_FRTARGET 5
#define EXPLOSIONTYPE_6 6
#define EXPLOSIONTYPE_7 7
#define EXPLOSIONTYPE_8 8
#define EXPLOSIONTYPE_9 9
#define EXPLOSIONTYPE_11 11
#define EXPLOSIONTYPE_12 12
#define EXPLOSIONTYPE_ROCKET 13
#define EXPLOSIONTYPE_GASBARREL 14
#define EXPLOSIONTYPE_16 16
#define EXPLOSIONTYPE_HUGE17 17
#define EXPLOSIONTYPE_BONDEXPLODE 18
#define EXPLOSIONTYPE_SDGRENADE 21
#define EXPLOSIONTYPE_PHOENIX 22
#define EXPLOSIONTYPE_DRAGONBOMBSPY 23 // Used by both Dragon and bombspy
#define EXPLOSIONTYPE_HUGE25 25
#define EYESPYHIT_NONE 0
#define EYESPYHIT_BG 1
@ -2992,6 +2992,7 @@
#define OBJFLAG2_AICANNOTUSE 0x20000000
#define OBJFLAG2_AIRLOCKDOOR 0x40000000 // Door waits for sibling to close before it can open
#define OBJFLAG2_80000000 0x80000000 // Attack Ship glass
#define OBJFLAG2_WEAPON_HUGEEXP 0x80000000
// obj->flags3
#define OBJFLAG3_PUSHABLE 0x00000001

View File

@ -415,8 +415,8 @@ extern struct coord g_TeleportToPos;
extern struct coord g_TeleportToUp;
extern struct coord g_TeleportToLook;
extern struct var8007e3d0 var8007e3d0[];
extern s32 var8007e4a0;
extern s32 var8007e4a4;
extern s32 g_ExplosionShakeTotalTimer;
extern s32 g_ExplosionShakeIntensityTimer;
extern f32 g_ExplosionDamageReceivedScale;
extern struct sparktype g_SparkTypes[];
extern s32 g_SparksAreActive;

View File

@ -99,8 +99,8 @@ void func0f164ab8(s32 portalnum);
void func0f164c64(s32 roomnum);
void portalSetEnabled(s32 portal, bool enable);
s32 func0f164e8c(struct coord *arg0, struct coord *arg1);
u32 func0f164f9c(void);
u32 func0f165004(void);
bool func0f164f9c(struct coord *arg0, struct coord *arg1, struct coord *arg2, struct coord *arg3);
void func0f165004(s32 portalnum, struct coord *arg1, struct coord *arg2);
void func0f1650d0(struct coord *lower, struct coord *upper, s16 *rooms, s32 arg3, s32 arg4);
#endif

View File

@ -14,9 +14,9 @@ f32 explosionGetHorizontalRangeAtFrame(struct explosion *exp, s32 frame);
f32 explosionGetVerticalRangeAtFrame(struct explosion *exp, s32 frame);
void explosionGetBboxAtFrame(struct coord *lower, struct coord *upper, s32 frame, struct prop *prop);
void explosionAlertChrs(f32 *radius, struct coord *noisepos);
bool explosionCreate(struct prop *prop, struct coord *pos, s16 *rooms, s16 type, s32 playernum, bool arg5, struct coord *arg6, s16 room, struct coord *arg8);
bool explosionCreate(struct prop *prop, struct coord *pos, s16 *rooms, s16 type, s32 playernum, bool makescorch, struct coord *arg6, s16 room, struct coord *arg8);
void explosionsUpdateShake(struct coord *arg0, struct coord *arg1, struct coord *arg2);
bool func0f12af5c(struct explosion *exp, struct prop *prop, struct coord *pos1, struct coord *pos2);
bool explosionOverlapsProp(struct explosion *exp, struct prop *prop, struct coord *pos1, struct coord *pos2);
void explosionInflictDamage(struct prop *prop);
u32 explosionTick(struct prop *prop);
u32 explosionTickPlayer(struct prop *prop);

View File

@ -4711,9 +4711,9 @@ struct explosionpart {
u8 bb;
};
struct explosionbb { // billboards?
struct coord unk00;
struct coord unk0c;
struct explosionbb {
struct coord bbmin;
struct coord bbmax;
s16 room;
s16 room2;
};