Decompile explosionCreateComplex
This commit is contained in:
parent
e49c317a9e
commit
3670dc8478
|
|
@ -130,7 +130,7 @@
|
|||
build/ROMID/game/game_127910.o (section); \
|
||||
build/ROMID/game/game_128f30.o (section); \
|
||||
build/ROMID/game/game_129210.o (section); \
|
||||
build/ROMID/game/game_129900.o (section); \
|
||||
build/ROMID/game/explosion.o (section); \
|
||||
build/ROMID/game/game_12d3f0.o (section); \
|
||||
build/ROMID/game/game_12f6c0.o (section); \
|
||||
build/ROMID/game/weather.o (section); \
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@
|
|||
#include "game/game_127910.h"
|
||||
#include "game/game_128f30.h"
|
||||
#include "game/game_129210.h"
|
||||
#include "game/game_129900.h"
|
||||
#include "game/explosion.h"
|
||||
#include "game/game_12d3f0.h"
|
||||
#include "game/game_12f6c0.h"
|
||||
#include "game/game_157db0.h"
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@
|
|||
#include "game/game_0b63b0.h"
|
||||
#include "game/game_111600.h"
|
||||
#include "game/game_127910.h"
|
||||
#include "game/game_129900.h"
|
||||
#include "game/explosion.h"
|
||||
#include "game/game_12f6c0.h"
|
||||
#include "game/game_157db0.h"
|
||||
#include "game/game_1655c0.h"
|
||||
|
|
@ -3821,7 +3821,7 @@ glabel var7f1a8d44
|
|||
/* f031bf4: 8da40000 */ lw $a0,0x0($t5)
|
||||
/* f031bf8: afa00010 */ sw $zero,0x10($sp)
|
||||
/* f031bfc: 24850008 */ addiu $a1,$a0,0x8
|
||||
/* f031c00: 0fc4a640 */ jal func0f129900
|
||||
/* f031c00: 0fc4a640 */ jal explosionCreateSimple
|
||||
/* f031c04: 24860028 */ addiu $a2,$a0,0x28
|
||||
/* f031c08: 0fc447a9 */ jal currentPlayerRemoveWeapon
|
||||
/* f031c0c: 2404002e */ addiu $a0,$zero,0x2e
|
||||
|
|
@ -15318,7 +15318,7 @@ void chrTickDie(struct chrdata *chr)
|
|||
if (race == RACE_ROBOT) {
|
||||
struct prop *prop = chr->prop;
|
||||
func0f0926bc(prop, 1, 0xffff);
|
||||
func0f129900(prop, &prop->pos, prop->rooms, 8, g_Vars.currentplayernum);
|
||||
explosionCreateSimple(prop, &prop->pos, prop->rooms, EXPLOSIONTYPE_8, g_Vars.currentplayernum);
|
||||
chr->hidden |= CHRHFLAG_00000020;
|
||||
return;
|
||||
}
|
||||
|
|
@ -15344,7 +15344,7 @@ void chrTickDie(struct chrdata *chr)
|
|||
|
||||
if (var8006807c > 310) {
|
||||
func0f0926bc(prop, 1, 0xffff);
|
||||
func0f129900(prop, &prop->pos, prop->rooms, 8, g_Vars.currentplayernum);
|
||||
explosionCreateSimple(prop, &prop->pos, prop->rooms, EXPLOSIONTYPE_8, g_Vars.currentplayernum);
|
||||
func0f03119c(chr);
|
||||
} else if (chr->soundtimer > (s32)var80068080) {
|
||||
chr->soundtimer = 0;
|
||||
|
|
@ -19871,7 +19871,7 @@ glabel var7f1a9184
|
|||
/* f041948: 27a50228 */ addiu $a1,$sp,0x228
|
||||
/* f04194c: 27a60214 */ addiu $a2,$sp,0x214
|
||||
/* f041950: 24070016 */ addiu $a3,$zero,0x16
|
||||
/* f041954: 0fc4a640 */ jal func0f129900
|
||||
/* f041954: 0fc4a640 */ jal explosionCreateSimple
|
||||
/* f041958: afa30010 */ sw $v1,0x10($sp)
|
||||
.L0f04195c:
|
||||
/* f04195c: 8fae01c0 */ lw $t6,0x1c0($sp)
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@
|
|||
#include "game/game_0dcdb0.h"
|
||||
#include "game/game_111600.h"
|
||||
#include "game/game_127910.h"
|
||||
#include "game/game_129900.h"
|
||||
#include "game/explosion.h"
|
||||
#include "game/game_12d3f0.h"
|
||||
#include "game/weather.h"
|
||||
#include "game/game_157db0.h"
|
||||
|
|
@ -2351,7 +2351,7 @@ bool aiDestroyObject(void)
|
|||
|
||||
if (entity->modelnum == MODEL_ELVIS_SAUCER) {
|
||||
obj->flags = (obj->flags & ~OBJFLAG_00010000) | OBJFLAG_INVINCIBLE;
|
||||
func0f129900(entity->prop, &entity->prop->pos, entity->prop->rooms, 3, 0);
|
||||
explosionCreateSimple(entity->prop, &entity->prop->pos, entity->prop->rooms, EXPLOSIONTYPE_3, 0);
|
||||
func0f12e714(entity->prop, 0x16);
|
||||
} else {
|
||||
f32 damage = ((obj->maxdamage - obj->damage) + 1) / 250.0f;
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
#include "game/game_091e10.h"
|
||||
#include "game/game_092610.h"
|
||||
#include "game/game_0b3350.h"
|
||||
#include "game/game_129900.h"
|
||||
#include "game/explosion.h"
|
||||
#include "game/game_12d3f0.h"
|
||||
#include "game/game_157db0.h"
|
||||
#include "game/game_1668e0.h"
|
||||
|
|
@ -55,134 +55,46 @@ const char var7f1b5568[] = "";
|
|||
const char var7f1b556c[] = "";
|
||||
const char var7f1b5570[] = "ecol";
|
||||
|
||||
bool func0f129900(struct prop *prop, struct coord *pos, s16 *room, s16 arg3, s32 playernum)
|
||||
bool explosionCreateSimple(struct prop *prop, struct coord *pos, s16 *rooms, s16 type, s32 playernum)
|
||||
{
|
||||
return explosionCreate(prop, pos, room, arg3, playernum, 0, 0, 0, 0);
|
||||
return explosionCreate(prop, pos, rooms, type, playernum, false, NULL, 0, NULL);
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f129940
|
||||
/* f129940: 27bdff90 */ addiu $sp,$sp,-112
|
||||
/* f129944: afa7007c */ sw $a3,0x7c($sp)
|
||||
/* f129948: 87ae007e */ lh $t6,0x7e($sp)
|
||||
/* f12994c: afb10030 */ sw $s1,0x30($sp)
|
||||
/* f129950: afb0002c */ sw $s0,0x2c($sp)
|
||||
/* f129954: 00808025 */ or $s0,$a0,$zero
|
||||
/* f129958: 00a08825 */ or $s1,$a1,$zero
|
||||
/* f12995c: afbf0034 */ sw $ra,0x34($sp)
|
||||
/* f129960: afa60078 */ sw $a2,0x78($sp)
|
||||
/* f129964: 15c00003 */ bnez $t6,.L0f129974
|
||||
/* f129968: 24080001 */ addiu $t0,$zero,0x1
|
||||
/* f12996c: 10000061 */ beqz $zero,.L0f129af4
|
||||
/* f129970: 00001025 */ or $v0,$zero,$zero
|
||||
.L0f129974:
|
||||
/* f129974: 12000016 */ beqz $s0,.L0f1299d0
|
||||
/* f129978: 02202025 */ or $a0,$s1,$zero
|
||||
/* f12997c: 27af0058 */ addiu $t7,$sp,0x58
|
||||
/* f129980: 27b80044 */ addiu $t8,$sp,0x44
|
||||
/* f129984: afb80014 */ sw $t8,0x14($sp)
|
||||
/* f129988: afaf0010 */ sw $t7,0x10($sp)
|
||||
/* f12998c: 26040008 */ addiu $a0,$s0,0x8
|
||||
/* f129990: 26050028 */ addiu $a1,$s0,0x28
|
||||
/* f129994: 27a60048 */ addiu $a2,$sp,0x48
|
||||
/* f129998: 00003825 */ or $a3,$zero,$zero
|
||||
/* f12999c: 0c00a959 */ jal func0002a564
|
||||
/* f1299a0: afa80050 */ sw $t0,0x50($sp)
|
||||
/* f1299a4: c6040008 */ lwc1 $f4,0x8($s0)
|
||||
/* f1299a8: c7a60048 */ lwc1 $f6,0x48($sp)
|
||||
/* f1299ac: 00021c00 */ sll $v1,$v0,0x10
|
||||
/* f1299b0: e7a40064 */ swc1 $f4,0x64($sp)
|
||||
/* f1299b4: e7a60068 */ swc1 $f6,0x68($sp)
|
||||
/* f1299b8: c6080010 */ lwc1 $f8,0x10($s0)
|
||||
/* f1299bc: 0003cc03 */ sra $t9,$v1,0x10
|
||||
/* f1299c0: 03201825 */ or $v1,$t9,$zero
|
||||
/* f1299c4: 8fa80050 */ lw $t0,0x50($sp)
|
||||
/* f1299c8: 10000014 */ beqz $zero,.L0f129a1c
|
||||
/* f1299cc: e7a8006c */ swc1 $f8,0x6c($sp)
|
||||
.L0f1299d0:
|
||||
/* f1299d0: 27a90058 */ addiu $t1,$sp,0x58
|
||||
/* f1299d4: 27aa0044 */ addiu $t2,$sp,0x44
|
||||
/* f1299d8: afaa0014 */ sw $t2,0x14($sp)
|
||||
/* f1299dc: afa90010 */ sw $t1,0x10($sp)
|
||||
/* f1299e0: 8fa50078 */ lw $a1,0x78($sp)
|
||||
/* f1299e4: 27a60048 */ addiu $a2,$sp,0x48
|
||||
/* f1299e8: 00003825 */ or $a3,$zero,$zero
|
||||
/* f1299ec: 0c00a959 */ jal func0002a564
|
||||
/* f1299f0: afa80050 */ sw $t0,0x50($sp)
|
||||
/* f1299f4: c62a0000 */ lwc1 $f10,0x0($s1)
|
||||
/* f1299f8: c7b00048 */ lwc1 $f16,0x48($sp)
|
||||
/* f1299fc: 00021c00 */ sll $v1,$v0,0x10
|
||||
/* f129a00: e7aa0064 */ swc1 $f10,0x64($sp)
|
||||
/* f129a04: e7b00068 */ swc1 $f16,0x68($sp)
|
||||
/* f129a08: c6320008 */ lwc1 $f18,0x8($s1)
|
||||
/* f129a0c: 00035c03 */ sra $t3,$v1,0x10
|
||||
/* f129a10: 01601825 */ or $v1,$t3,$zero
|
||||
/* f129a14: 8fa80050 */ lw $t0,0x50($sp)
|
||||
/* f129a18: e7b2006c */ swc1 $f18,0x6c($sp)
|
||||
.L0f129a1c:
|
||||
/* f129a1c: 8fac0044 */ lw $t4,0x44($sp)
|
||||
/* f129a20: 02002025 */ or $a0,$s0,$zero
|
||||
/* f129a24: 02202825 */ or $a1,$s1,$zero
|
||||
/* f129a28: 15800027 */ bnez $t4,.L0f129ac8
|
||||
/* f129a2c: 8fa60078 */ lw $a2,0x78($sp)
|
||||
/* f129a30: 00026c00 */ sll $t5,$v0,0x10
|
||||
/* f129a34: 000d7403 */ sra $t6,$t5,0x10
|
||||
/* f129a38: 19c00023 */ blez $t6,.L0f129ac8
|
||||
/* f129a3c: 87af007e */ lh $t7,0x7e($sp)
|
||||
/* f129a40: 000fc080 */ sll $t8,$t7,0x2
|
||||
/* f129a44: 030fc023 */ subu $t8,$t8,$t7
|
||||
/* f129a48: 0018c080 */ sll $t8,$t8,0x2
|
||||
/* f129a4c: 030fc023 */ subu $t8,$t8,$t7
|
||||
/* f129a50: 3c198008 */ lui $t9,%hi(g_ExplosionTypes)
|
||||
/* f129a54: 2739e4b8 */ addiu $t9,$t9,%lo(g_ExplosionTypes)
|
||||
/* f129a58: 0018c080 */ sll $t8,$t8,0x2
|
||||
/* f129a5c: 03191021 */ addu $v0,$t8,$t9
|
||||
/* f129a60: 8449001c */ lh $t1,0x1c($v0)
|
||||
/* f129a64: c448000c */ lwc1 $f8,0xc($v0)
|
||||
/* f129a68: c6240004 */ lwc1 $f4,0x4($s1)
|
||||
/* f129a6c: 44895000 */ mtc1 $t1,$f10
|
||||
/* f129a70: c7a60048 */ lwc1 $f6,0x48($sp)
|
||||
/* f129a74: 3c013f00 */ lui $at,0x3f00
|
||||
/* f129a78: 46805420 */ cvt.s.w $f16,$f10
|
||||
/* f129a7c: c44a0010 */ lwc1 $f10,0x10($v0)
|
||||
/* f129a80: 46062001 */ sub.s $f0,$f4,$f6
|
||||
/* f129a84: 46104482 */ mul.s $f18,$f8,$f16
|
||||
/* f129a88: c4440004 */ lwc1 $f4,0x4($v0)
|
||||
/* f129a8c: 44818000 */ mtc1 $at,$f16
|
||||
/* f129a90: 3c014296 */ lui $at,0x4296
|
||||
/* f129a94: 46122180 */ add.s $f6,$f4,$f18
|
||||
/* f129a98: 460a3200 */ add.s $f8,$f6,$f10
|
||||
/* f129a9c: 46104102 */ mul.s $f4,$f8,$f16
|
||||
/* f129aa0: 4604003e */ c.le.s $f0,$f4
|
||||
/* f129aa4: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f129aa8: 45030009 */ bc1tl .L0f129ad0
|
||||
/* f129aac: 8faa0080 */ lw $t2,0x80($sp)
|
||||
/* f129ab0: 44819000 */ mtc1 $at,$f18
|
||||
/* f129ab4: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f129ab8: 4612003e */ c.le.s $f0,$f18
|
||||
/* f129abc: 00000000 */ sll $zero,$zero,0x0
|
||||
/* f129ac0: 45030003 */ bc1tl .L0f129ad0
|
||||
/* f129ac4: 8faa0080 */ lw $t2,0x80($sp)
|
||||
.L0f129ac8:
|
||||
/* f129ac8: 00004025 */ or $t0,$zero,$zero
|
||||
/* f129acc: 8faa0080 */ lw $t2,0x80($sp)
|
||||
.L0f129ad0:
|
||||
/* f129ad0: 27ab0064 */ addiu $t3,$sp,0x64
|
||||
/* f129ad4: 27ac0058 */ addiu $t4,$sp,0x58
|
||||
/* f129ad8: afac0020 */ sw $t4,0x20($sp)
|
||||
/* f129adc: afab0018 */ sw $t3,0x18($sp)
|
||||
/* f129ae0: 87a7007e */ lh $a3,0x7e($sp)
|
||||
/* f129ae4: afa80014 */ sw $t0,0x14($sp)
|
||||
/* f129ae8: afa3001c */ sw $v1,0x1c($sp)
|
||||
/* f129aec: 0fc4a7d5 */ jal explosionCreate
|
||||
/* f129af0: afaa0010 */ sw $t2,0x10($sp)
|
||||
.L0f129af4:
|
||||
/* f129af4: 8fbf0034 */ lw $ra,0x34($sp)
|
||||
/* f129af8: 8fb0002c */ lw $s0,0x2c($sp)
|
||||
/* f129afc: 8fb10030 */ lw $s1,0x30($sp)
|
||||
/* f129b00: 03e00008 */ jr $ra
|
||||
/* f129b04: 27bd0070 */ addiu $sp,$sp,0x70
|
||||
);
|
||||
bool explosionCreateComplex(struct prop *prop, struct coord *pos, s16 *rooms, s16 type, s32 playernum)
|
||||
{
|
||||
struct coord sp100;
|
||||
struct coord sp88;
|
||||
struct explosiontype *etype;
|
||||
bool sp80 = true;
|
||||
s16 ret;
|
||||
f32 y;
|
||||
bool sp68;
|
||||
|
||||
if (type == EXPLOSIONTYPE_0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (prop) {
|
||||
ret = func0002a564(&prop->pos, prop->rooms, &y, 0, &sp88, &sp68);
|
||||
sp100.x = prop->pos.x;
|
||||
sp100.y = y;
|
||||
sp100.z = prop->pos.z;
|
||||
} else {
|
||||
ret = func0002a564(pos, rooms, &y, 0, &sp88, &sp68);
|
||||
sp100.x = pos->x;
|
||||
sp100.y = y;
|
||||
sp100.z = pos->z;
|
||||
}
|
||||
|
||||
etype = &g_ExplosionTypes[type];
|
||||
|
||||
if (sp68 || ret <= 0
|
||||
|| !(pos->y - y <= (etype->rangev + etype->changeratev * etype->duration + etype->innersize) * 0.5f || pos->y - y <= 75)) {
|
||||
sp80 = false;
|
||||
}
|
||||
|
||||
return explosionCreate(prop, pos, rooms, type, playernum, sp80, &sp100, ret, &sp88);
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f129b08
|
||||
|
|
@ -22,7 +22,7 @@
|
|||
#include "game/game_0b3350.h"
|
||||
#include "game/game_0b63b0.h"
|
||||
#include "game/game_127910.h"
|
||||
#include "game/game_129900.h"
|
||||
#include "game/explosion.h"
|
||||
#include "game/game_12d3f0.h"
|
||||
#include "game/game_12f6c0.h"
|
||||
#include "game/game_157db0.h"
|
||||
|
|
@ -1540,7 +1540,7 @@ glabel var7f1a9eb8
|
|||
/* f0616a0: 27a5008c */ addiu $a1,$sp,0x8c
|
||||
/* f0616a4: 27a6007c */ addiu $a2,$sp,0x7c
|
||||
/* f0616a8: 24070016 */ addiu $a3,$zero,0x16
|
||||
/* f0616ac: 0fc4a640 */ jal func0f129900
|
||||
/* f0616ac: 0fc4a640 */ jal explosionCreateSimple
|
||||
/* f0616b0: afaf0010 */ sw $t7,0x10($sp)
|
||||
/* f0616b4: 8fa806d0 */ lw $t0,0x6d0($sp)
|
||||
/* f0616b8: 26100068 */ addiu $s0,$s0,0x68
|
||||
|
|
@ -1669,7 +1669,7 @@ glabel var7f1a9eb8
|
|||
/* f06187c: 8defa24c */ lw $t7,%lo(g_Vars+0x28c)($t7)
|
||||
/* f061880: 02003025 */ or $a2,$s0,$zero
|
||||
/* f061884: 24070016 */ addiu $a3,$zero,0x16
|
||||
/* f061888: 0fc4a640 */ jal func0f129900
|
||||
/* f061888: 0fc4a640 */ jal explosionCreateSimple
|
||||
/* f06188c: afaf0010 */ sw $t7,0x10($sp)
|
||||
/* f061890: 100000b0 */ beqz $zero,.L0f061b54
|
||||
/* f061894: 00000000 */ sll $zero,$zero,0x0
|
||||
|
|
@ -1734,7 +1734,7 @@ glabel var7f1a9eb8
|
|||
/* f061964: 27a50694 */ addiu $a1,$sp,0x694
|
||||
/* f061968: 02003025 */ or $a2,$s0,$zero
|
||||
/* f06196c: 24070001 */ addiu $a3,$zero,0x1
|
||||
/* f061970: 0fc4a640 */ jal func0f129900
|
||||
/* f061970: 0fc4a640 */ jal explosionCreateSimple
|
||||
/* f061974: afa90010 */ sw $t1,0x10($sp)
|
||||
.L0f061978:
|
||||
/* f061978: 3c0c800a */ lui $t4,%hi(g_Vars+0x6c)
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@
|
|||
#include "game/game_107fb0.h"
|
||||
#include "game/game_111600.h"
|
||||
#include "game/game_127910.h"
|
||||
#include "game/game_129900.h"
|
||||
#include "game/explosion.h"
|
||||
#include "game/game_141820.h"
|
||||
#include "game/game_1531a0.h"
|
||||
#include "game/game_157db0.h"
|
||||
|
|
@ -6688,7 +6688,7 @@ glabel func0f0bc120
|
|||
/* f0bc3a0: e7a80038 */ swc1 $f8,0x38($sp)
|
||||
/* f0bc3a4: 8dc600bc */ lw $a2,0xbc($t6)
|
||||
/* f0bc3a8: afaf0010 */ sw $t7,0x10($sp)
|
||||
/* f0bc3ac: 0fc4a640 */ jal func0f129900
|
||||
/* f0bc3ac: 0fc4a640 */ jal explosionCreateSimple
|
||||
/* f0bc3b0: 24c60028 */ addiu $a2,$a2,0x28
|
||||
/* f0bc3b4: 0c004b70 */ jal random
|
||||
/* f0bc3b8: 00000000 */ sll $zero,$zero,0x0
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@
|
|||
#include "game/game_11f000.h"
|
||||
#include "game/game_127910.h"
|
||||
#include "game/game_129210.h"
|
||||
#include "game/game_129900.h"
|
||||
#include "game/explosion.h"
|
||||
#include "game/game_12f6c0.h"
|
||||
#include "game/weather.h"
|
||||
#include "game/game_135c70.h"
|
||||
|
|
@ -2531,7 +2531,7 @@ glabel var7f1b7868
|
|||
/* f16a1cc: 8da40000 */ lw $a0,0x0($t5)
|
||||
/* f16a1d0: afa00010 */ sw $zero,0x10($sp)
|
||||
/* f16a1d4: 24850008 */ addiu $a1,$a0,0x8
|
||||
/* f16a1d8: 0fc4a640 */ jal func0f129900
|
||||
/* f16a1d8: 0fc4a640 */ jal explosionCreateSimple
|
||||
/* f16a1dc: 24860028 */ addiu $a2,$a0,0x28
|
||||
/* f16a1e0: 8e6f0284 */ lw $t7,0x284($s3)
|
||||
/* f16a1e4: 27aa00d0 */ addiu $t2,$sp,0xd0
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
#include "game/game_0f09f0.h"
|
||||
#include "game/game_107fb0.h"
|
||||
#include "game/game_111600.h"
|
||||
#include "game/game_129900.h"
|
||||
#include "game/explosion.h"
|
||||
#include "game/game_150820.h"
|
||||
#include "game/game_1531a0.h"
|
||||
#include "game/game_157db0.h"
|
||||
|
|
@ -3625,7 +3625,7 @@ glabel var7f1b94e4
|
|||
/* f1a01fc: 240a0001 */ addiu $t2,$zero,0x1
|
||||
/* f1a0200: afaa0010 */ sw $t2,0x10($sp)
|
||||
/* f1a0204: 24850008 */ addiu $a1,$a0,0x8
|
||||
/* f1a0208: 0fc4a640 */ jal func0f129900
|
||||
/* f1a0208: 0fc4a640 */ jal explosionCreateSimple
|
||||
/* f1a020c: 24860028 */ addiu $a2,$a0,0x28
|
||||
/* f1a0210: 920b0010 */ lbu $t3,0x10($s0)
|
||||
.L0f1a0214:
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@
|
|||
#include "game/game_127910.h"
|
||||
#include "game/game_128f30.h"
|
||||
#include "game/game_129210.h"
|
||||
#include "game/game_129900.h"
|
||||
#include "game/explosion.h"
|
||||
#include "game/game_12d3f0.h"
|
||||
#include "game/game_12f6c0.h"
|
||||
#include "game/game_150820.h"
|
||||
|
|
@ -10862,7 +10862,7 @@ glabel func0f06f314
|
|||
/* f06f3fc: 02002825 */ or $a1,$s0,$zero
|
||||
/* f06f400: 27a6006c */ addiu $a2,$sp,0x6c
|
||||
/* f06f404: 87a7009e */ lh $a3,0x9e($sp)
|
||||
/* f06f408: 0fc4a650 */ jal func0f129940
|
||||
/* f06f408: 0fc4a650 */ jal explosionCreateComplex
|
||||
/* f06f40c: afa90010 */ sw $t1,0x10($sp)
|
||||
/* f06f410: 10000037 */ beqz $zero,.L0f06f4f0
|
||||
/* f06f414: 00401825 */ or $v1,$v0,$zero
|
||||
|
|
@ -10919,7 +10919,7 @@ glabel func0f06f314
|
|||
/* f06f4d8: 26050008 */ addiu $a1,$s0,0x8
|
||||
/* f06f4dc: 26060028 */ addiu $a2,$s0,0x28
|
||||
/* f06f4e0: 87a7009e */ lh $a3,0x9e($sp)
|
||||
/* f06f4e4: 0fc4a650 */ jal func0f129940
|
||||
/* f06f4e4: 0fc4a650 */ jal explosionCreateComplex
|
||||
/* f06f4e8: afaf0010 */ sw $t7,0x10($sp)
|
||||
/* f06f4ec: 00401825 */ or $v1,$v0,$zero
|
||||
.L0f06f4f0:
|
||||
|
|
@ -34094,7 +34094,7 @@ glabel func0f0841dc
|
|||
/* f0842c4: 8fa50074 */ lw $a1,0x74($sp)
|
||||
/* f0842c8: 27a60054 */ addiu $a2,$sp,0x54
|
||||
/* f0842cc: 87a70066 */ lh $a3,0x66($sp)
|
||||
/* f0842d0: 0fc4a650 */ jal func0f129940
|
||||
/* f0842d0: 0fc4a650 */ jal explosionCreateComplex
|
||||
/* f0842d4: afac0010 */ sw $t4,0x10($sp)
|
||||
/* f0842d8: 8e0d000c */ lw $t5,0xc($s0)
|
||||
/* f0842dc: 8fa30068 */ lw $v1,0x68($sp)
|
||||
|
|
@ -34180,7 +34180,7 @@ glabel func0f0841dc
|
|||
/* f084400: 87a70066 */ lh $a3,0x66($sp)
|
||||
/* f084404: afa90010 */ sw $t1,0x10($sp)
|
||||
/* f084408: 24850008 */ addiu $a1,$a0,0x8
|
||||
/* f08440c: 0fc4a640 */ jal func0f129900
|
||||
/* f08440c: 0fc4a640 */ jal explosionCreateSimple
|
||||
/* f084410: 24860028 */ addiu $a2,$a0,0x28
|
||||
/* f084414: 0fc1c9bb */ jal func0f0726ec
|
||||
/* f084418: 02002025 */ or $a0,$s0,$zero
|
||||
|
|
@ -34240,7 +34240,7 @@ glabel func0f0841dc
|
|||
/* f0844e4: 27a60054 */ addiu $a2,$sp,0x54
|
||||
/* f0844e8: 8faf0078 */ lw $t7,0x78($sp)
|
||||
/* f0844ec: 24070006 */ addiu $a3,$zero,0x6
|
||||
/* f0844f0: 0fc4a640 */ jal func0f129900
|
||||
/* f0844f0: 0fc4a640 */ jal explosionCreateSimple
|
||||
/* f0844f4: afaf0010 */ sw $t7,0x10($sp)
|
||||
.L0f0844f8:
|
||||
/* f0844f8: 0fc1a1ee */ jal func0f0687b8
|
||||
|
|
@ -41792,7 +41792,7 @@ glabel var7f1aae98
|
|||
/* f08b334: 10600007 */ beqz $v1,.L0f08b354
|
||||
/* f08b338: 24650008 */ addiu $a1,$v1,0x8
|
||||
/* f08b33c: 24660028 */ addiu $a2,$v1,0x28
|
||||
/* f08b340: 0fc4a640 */ jal func0f129900
|
||||
/* f08b340: 0fc4a640 */ jal explosionCreateSimple
|
||||
/* f08b344: afaa0010 */ sw $t2,0x10($sp)
|
||||
/* f08b348: 02002025 */ or $a0,$s0,$zero
|
||||
/* f08b34c: 0fc1acd3 */ jal setupParseObjectWithArg2False
|
||||
|
|
|
|||
|
|
@ -553,6 +553,10 @@
|
|||
#define ENTITYTYPE_DONTTURN 0x0040 // don't do a shooting animation that would change the chr's direction
|
||||
#define ENTITYTYPE_TARGET 0x0200 // aim/shoot at whatever is in the chr's `target` field
|
||||
|
||||
#define EXPLOSIONTYPE_0 0
|
||||
#define EXPLOSIONTYPE_3 3
|
||||
#define EXPLOSIONTYPE_8 8
|
||||
|
||||
#define EYESPYMODE_CAMSPY 0
|
||||
#define EYESPYMODE_DRUGSPY 1
|
||||
#define EYESPYMODE_BOMBSPY 2
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
#ifndef IN_GAME_GAME_129900_H
|
||||
#define IN_GAME_GAME_129900_H
|
||||
#ifndef IN_GAME_EXPLOSION_H
|
||||
#define IN_GAME_EXPLOSION_H
|
||||
#include <ultra64.h>
|
||||
#include "types.h"
|
||||
|
||||
bool func0f129900(struct prop *prop, struct coord *pos, s16 *room, s16 arg3, s32 playernum);
|
||||
u32 func0f129940(void);
|
||||
bool explosionCreateSimple(struct prop *prop, struct coord *pos, s16 *rooms, s16 type, s32 playernum);
|
||||
bool explosionCreateComplex(struct prop *prop, struct coord *pos, s16 *rooms, s16 type, s32 playernum);
|
||||
u32 func0f129b08(void);
|
||||
u32 func0f129ba4(void);
|
||||
u32 func0f129c08(void);
|
||||
void alertNearbyChrsToNoise(f32 *radius, struct coord *noisepos);
|
||||
bool explosionCreate(struct prop *prop, struct coord *pos, s16 *room, s16 arg3, s32 playernum, u32 arg5, u32 arg6, u32 arg7, u32 arg8);
|
||||
bool explosionCreate(struct prop *prop, struct coord *pos, s16 *rooms, s16 type, s32 playernum, bool arg5, struct coord *arg6, s16 arg7, struct coord *arg8);
|
||||
u32 func0f12acec(void);
|
||||
u32 func0f12af5c(void);
|
||||
u32 func0f12b0e0(void);
|
||||
|
|
@ -83,7 +83,7 @@ f32 func0002a36c(struct coord *coord, s16 *rooms, u16 *floorcol, s32 arg3);
|
|||
u32 func0002a400(void);
|
||||
u32 func0002a440(void);
|
||||
u32 func0002a4d0(void);
|
||||
u32 func0002a564(void);
|
||||
s32 func0002a564(struct coord *pos, s16 *rooms, f32 *arg2, u32 arg3, struct coord *arg4, bool *arg5);
|
||||
u32 func0002a5e4(void);
|
||||
bool func0002a684(struct coord *pos, f32 width, s16 *rooms, s32 arg3, s32 arg4, f32 arg5, f32 arg6);
|
||||
u32 func0002a6fc(void);
|
||||
|
|
|
|||
|
|
@ -4514,19 +4514,19 @@ struct mppreset {
|
|||
};
|
||||
|
||||
struct explosiontype {
|
||||
f32 rangeh;
|
||||
f32 rangev;
|
||||
f32 changerateh;
|
||||
f32 changeratev;
|
||||
f32 innersize;
|
||||
f32 blastradius;
|
||||
f32 damageradius;
|
||||
u16 duration;
|
||||
u16 propagationrate;
|
||||
f32 flarespeed;
|
||||
u8 smoketype;
|
||||
u16 sound;
|
||||
f32 damage;
|
||||
/*0x00*/ f32 rangeh;
|
||||
/*0x04*/ f32 rangev;
|
||||
/*0x08*/ f32 changerateh;
|
||||
/*0x0c*/ f32 changeratev;
|
||||
/*0x10*/ f32 innersize;
|
||||
/*0x14*/ f32 blastradius;
|
||||
/*0x18*/ f32 damageradius;
|
||||
/*0x1c*/ s16 duration;
|
||||
/*0x1e*/ u16 propagationrate;
|
||||
/*0x20*/ f32 flarespeed;
|
||||
/*0x24*/ u8 smoketype;
|
||||
/*0x26*/ u16 sound;
|
||||
/*0x28*/ f32 damage;
|
||||
};
|
||||
|
||||
struct smoketype {
|
||||
|
|
|
|||
Loading…
Reference in New Issue