perfect_dark/src/game/splat.c

921 lines
33 KiB
C

#include <ultra64.h>
#include "constants.h"
#include "game/data/data_000000.h"
#include "game/data/data_0083d0.h"
#include "game/data/data_00e460.h"
#include "game/data/data_0160b0.h"
#include "game/data/data_01a3a0.h"
#include "game/data/data_020df0.h"
#include "game/data/data_02da90.h"
#include "game/smoke.h"
#include "game/game_157db0.h"
#include "game/propobj.h"
#include "game/splat.h"
#include "game/utils.h"
#include "game/wallhit.h"
#include "gvars/gvars.h"
#include "lib/lib_12dc0.h"
#include "lib/lib_159b0.h"
#include "lib/lib_16110.h"
#include "lib/lib_1a500.h"
#include "types.h"
void splatTick(struct prop *prop)
{
struct chrdata *chr = prop->chr;
u32 unk350 = chr->unk350;
s32 race;
if (chr->unk32c_19 || (chr->chrflags & CHRCFLAG_HIDDEN) || chr->bulletstaken == 0) {
return;
}
race = CHRRACE(chr);
if (race != RACE_DRCAROLL && race != RACE_ROBOT) {
u8 isskedar = false;
if (race == RACE_SKEDAR || chr->bodynum == BODY_MRBLONDE) {
isskedar = true;
}
osSyncPrintf("Splat Tick - P=%x, B=%d, T=%d, S=%d, W=%d, D=%d, H=%d\n");
if (chr->actiontype == ACT_DEAD || chr->actiontype == ACT_DIE) {
u32 stack;
f32 thudframe = -1.0f;
if (chr->actiontype == ACT_DIE) {
if (chr->act_die.thudframe2 != -1) {
thudframe = chr->act_die.thudframe2;
} else if (chr->act_die.thudframe1 != -1) {
thudframe = chr->act_die.thudframe1;
}
}
if (thudframe != -1.0f && modelGetCurAnimFrame(chr->model) < thudframe) {
osSyncPrintf("SPLAT : Not Dead Enough %s%s%f", "", "", modelGetCurAnimFrame(chr->model));
} else if (chr->tickssincesplat > 30 && chr->deaddropsplatsadded < 6) {
chr->deaddropsplatsadded += func0f148f18(1, 1.1f, prop, NULL, 0, 0, isskedar, 1, 150, unk350, random() & 8);
}
} else {
u32 value = chr->bulletstaken * chr->tickssincesplat;
if (value > 240) {
f32 dist = coordsGetDistance(&chr->lastdroppos, &prop->pos);
s32 addmore = false;
if (dist > 40) {
addmore = true;
chr->splatsdroppedhe = 0;
} else if (chr->splatsdroppedhe < 8) {
addmore = true;
chr->splatsdroppedhe++;
}
if (addmore) {
chr->woundedsplatsadded += func0f148f18(1, 0.3f, prop, NULL, 0, 0, isskedar, 2, 80, unk350, 0);
}
}
if (chr->woundedsplatsadded >= 40) {
func0f141704(prop);
chr->woundedsplatsadded--;
}
chr->deaddropsplatsadded = 0;
}
}
chr->tickssincesplat += g_Vars.lvupdate240_60;
}
void func0f148e54(struct prop *prop, struct splat *arg1, struct coord *arg2, struct coord *arg3, s32 arg4, s32 arg5, s32 arg6)
{
struct chrdata *chr = prop->chr;
if (chr->bulletstaken < 7) {
chr->bulletstaken++;
}
if (arg5 == 0) {
u32 rand = random() % 3;
if (rand) {
chr->stdsplatsadded += func0f148f18(rand, 0.8f, prop, arg1, arg2, arg3, arg4, arg5, 50, arg6, 0);
}
}
}
s32 func0f148f18(s32 qty, f32 arg1, struct prop *prop, struct splat *arg3, struct coord *arg4, struct coord *arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9, s32 arg10)
{
s32 i;
s32 j;
struct splat stacksplat;
struct splat *splat = arg7 == 0 ? arg3 : &stacksplat;
f32 spfc[3];
f32 spf0[3];
f32 spe4[3];
Mtxf spa4;
s32 numdropped = 0;
f32 dist;
if (arg7 == 0) {
dist = coordsGetDistance(&splat->unk01c, arg5);
for (i = 0; i < 3; i++) {
spfc[i] = ((f32 *)&splat->unk028)[i];
spf0[i] = ((f32 *)&splat->unk00c)[i];
((f32 *)&splat->unk01c)[i] = ((f32 *)arg5)[i];
((f32 *)&splat->unk000)[i] = ((f32 *)arg4)[i];
}
} else {
f32 extraheight;
if (prop->type == PROPTYPE_CHR) {
extraheight = 50;
} else {
extraheight = 0;
}
dist = 0.7f;
splat->unk028.x = 0; spfc[0] = 0;
splat->unk028.y = -1; spfc[1] = -1;
splat->unk028.z = 0; spfc[2] = 0;
splat->unk00c.x = 0; spf0[0] = 0;
splat->unk00c.y = -1; spf0[1] = -1;
splat->unk00c.z = 0; spf0[2] = 0;
splat->unk01c.x = prop->pos.x;
splat->unk01c.y = prop->pos.y + extraheight;
splat->unk01c.z = prop->pos.z;
splat->unk000.x = prop->pos.x;
splat->unk000.y = prop->pos.y + extraheight;
splat->unk000.z = prop->pos.z;
}
for (i = 0; i < qty; i++) {
for (j = 0; j < 3; j++) {
f32 rand = random() * (1.0f / U32_MAX);
spe4[j] = (rand * var8007f8a8 + rand * var8007f8a8 - var8007f8a8) * 0.017453292384744f;
}
func0001648c((struct coord *)spe4, &spa4);
func00015b14(&spa4, spfc, &splat->unk028);
func00015b14(&spa4, spf0, &splat->unk00c);
func0f177164(&splat->unk028, &splat->unk028, 403, "splat.c");
func0f177164(&splat->unk00c, &splat->unk00c, 404, "splat.c");
if (func0f149274(arg1, prop, splat, dist, arg6, arg7, arg8, arg9, arg10)) {
numdropped++;
}
}
if (numdropped) {
struct chrdata *chr = prop->chr;
chr->tickssincesplat = 0;
chr->lastdroppos.x = prop->pos.x;
chr->lastdroppos.y = prop->pos.y;
chr->lastdroppos.z = prop->pos.z;
}
return numdropped;
}
const char var7f1b5fe0[] = "Splat : Out of range\n";
const char var7f1b5ff8[] = "Splat_ResetChr : Reset One Char : chrdata = %x\n";
GLOBAL_ASM(
glabel func0f149274
.late_rodata
glabel var7f1b6030
.word 0x497423f0
.text
/* f149274: 27bdfa18 */ addiu $sp,$sp,-1512
/* f149278: afbf001c */ sw $ra,0x1c($sp)
/* f14927c: e7ac05e8 */ swc1 $f12,0x5e8($sp)
/* f149280: afa505ec */ sw $a1,0x5ec($sp)
/* f149284: afa705f4 */ sw $a3,0x5f4($sp)
/* f149288: afa00500 */ sw $zero,0x500($sp)
/* f14928c: afa004ec */ sw $zero,0x4ec($sp)
/* f149290: 27a200a0 */ addiu $v0,$sp,0xa0
/* f149294: 27a400ac */ addiu $a0,$sp,0xac
/* f149298: 00c01825 */ or $v1,$a2,$zero
.L0f14929c:
/* f14929c: c4640000 */ lwc1 $f4,0x0($v1)
/* f1492a0: 24420004 */ addiu $v0,$v0,0x4
/* f1492a4: 0044082b */ sltu $at,$v0,$a0
/* f1492a8: e444fffc */ swc1 $f4,-0x4($v0)
/* f1492ac: c466000c */ lwc1 $f6,0xc($v1)
/* f1492b0: 24630004 */ addiu $v1,$v1,0x4
/* f1492b4: e4460008 */ swc1 $f6,0x8($v0)
/* f1492b8: c4680018 */ lwc1 $f8,0x18($v1)
/* f1492bc: e4480018 */ swc1 $f8,0x18($v0)
/* f1492c0: c46a0024 */ lwc1 $f10,0x24($v1)
/* f1492c4: 1420fff5 */ bnez $at,.L0f14929c
/* f1492c8: e44a0024 */ swc1 $f10,0x24($v0)
/* f1492cc: 240e0001 */ addiu $t6,$zero,0x1
/* f1492d0: 3c018008 */ lui $at,%hi(var8007f8b0)
/* f1492d4: afae00d8 */ sw $t6,0xd8($sp)
/* f1492d8: c420f8b0 */ lwc1 $f0,%lo(var8007f8b0)($at)
/* f1492dc: 27a200a0 */ addiu $v0,$sp,0xa0
/* f1492e0: 27a30514 */ addiu $v1,$sp,0x514
/* f1492e4: 27a40520 */ addiu $a0,$sp,0x520
/* f1492e8: c44e0028 */ lwc1 $f14,0x28($v0)
/* f1492ec: 24630004 */ addiu $v1,$v1,0x4
/* f1492f0: 0064082b */ sltu $at,$v1,$a0
/* f1492f4: 46007482 */ mul.s $f18,$f14,$f0
/* f1492f8: 5020000b */ beqzl $at,.L0f149328
/* f1492fc: c450001c */ lwc1 $f16,0x1c($v0)
.L0f149300:
/* f149300: c450001c */ lwc1 $f16,0x1c($v0)
/* f149304: c44e002c */ lwc1 $f14,0x2c($v0)
/* f149308: 24630004 */ addiu $v1,$v1,0x4
/* f14930c: 46109400 */ add.s $f16,$f18,$f16
/* f149310: 46007482 */ mul.s $f18,$f14,$f0
/* f149314: 0064082b */ sltu $at,$v1,$a0
/* f149318: 24420004 */ addiu $v0,$v0,0x4
/* f14931c: 1420fff8 */ bnez $at,.L0f149300
/* f149320: e470fff8 */ swc1 $f16,-0x8($v1)
/* f149324: c450001c */ lwc1 $f16,0x1c($v0)
.L0f149328:
/* f149328: 24420004 */ addiu $v0,$v0,0x4
/* f14932c: 46109400 */ add.s $f16,$f18,$f16
/* f149330: e470fffc */ swc1 $f16,-0x4($v1)
/* f149334: 8faf05ec */ lw $t7,0x5ec($sp)
/* f149338: 27a500bc */ addiu $a1,$sp,0xbc
/* f14933c: 27a70530 */ addiu $a3,$sp,0x530
/* f149340: afa00010 */ sw $zero,0x10($sp)
/* f149344: afa00014 */ sw $zero,0x14($sp)
/* f149348: 25e40008 */ addiu $a0,$t7,0x8
/* f14934c: 0c006052 */ jal func00018148
/* f149350: 25e60028 */ addiu $a2,$t7,0x28
/* f149354: 27b80540 */ addiu $t8,$sp,0x540
/* f149358: 2419001f */ addiu $t9,$zero,0x1f
/* f14935c: afb90014 */ sw $t9,0x14($sp)
/* f149360: afb80010 */ sw $t8,0x10($sp)
/* f149364: 27a400bc */ addiu $a0,$sp,0xbc
/* f149368: 27a50514 */ addiu $a1,$sp,0x514
/* f14936c: 27a60530 */ addiu $a2,$sp,0x530
/* f149370: 0c006052 */ jal func00018148
/* f149374: 27a70520 */ addiu $a3,$sp,0x520
/* f149378: 87a80540 */ lh $t0,0x540($sp)
/* f14937c: 2401ffff */ addiu $at,$zero,-1
/* f149380: 27a30540 */ addiu $v1,$sp,0x540
/* f149384: 51010086 */ beql $t0,$at,.L0f1495a0
/* f149388: 8fb904ec */ lw $t9,0x4ec($sp)
/* f14938c: 84660000 */ lh $a2,0x0($v1)
/* f149390: 27a400bc */ addiu $a0,$sp,0xbc
.L0f149394:
/* f149394: 27a50514 */ addiu $a1,$sp,0x514
/* f149398: 27a705b0 */ addiu $a3,$sp,0x5b0
/* f14939c: 0fc58548 */ jal func0f161520
/* f1493a0: afa30034 */ sw $v1,0x34($sp)
/* f1493a4: 10400078 */ beqz $v0,.L0f149588
/* f1493a8: 8fa30034 */ lw $v1,0x34($sp)
/* f1493ac: c7a00514 */ lwc1 $f0,0x514($sp)
/* f1493b0: c7b000bc */ lwc1 $f16,0xbc($sp)
/* f1493b4: c7aa05b0 */ lwc1 $f10,0x5b0($sp)
/* f1493b8: 4600803e */ c.le.s $f16,$f0
/* f1493bc: 00000000 */ nop
/* f1493c0: 4502000a */ bc1fl .L0f1493ec
/* f1493c4: 4610003e */ c.le.s $f0,$f16
/* f1493c8: 4600503e */ c.le.s $f10,$f0
/* f1493cc: 00000000 */ nop
/* f1493d0: 45020006 */ bc1fl .L0f1493ec
/* f1493d4: 4610003e */ c.le.s $f0,$f16
/* f1493d8: 460a803e */ c.le.s $f16,$f10
/* f1493dc: 00000000 */ nop
/* f1493e0: 4503000e */ bc1tl .L0f14941c
/* f1493e4: c7a20518 */ lwc1 $f2,0x518($sp)
/* f1493e8: 4610003e */ c.le.s $f0,$f16
.L0f1493ec:
/* f1493ec: c7b205b0 */ lwc1 $f18,0x5b0($sp)
/* f1493f0: 45020066 */ bc1fl .L0f14958c
/* f1493f4: 84660002 */ lh $a2,0x2($v1)
/* f1493f8: 4612003e */ c.le.s $f0,$f18
/* f1493fc: 00000000 */ nop
/* f149400: 45020062 */ bc1fl .L0f14958c
/* f149404: 84660002 */ lh $a2,0x2($v1)
/* f149408: 4610903e */ c.le.s $f18,$f16
/* f14940c: 00000000 */ nop
/* f149410: 4502005e */ bc1fl .L0f14958c
/* f149414: 84660002 */ lh $a2,0x2($v1)
/* f149418: c7a20518 */ lwc1 $f2,0x518($sp)
.L0f14941c:
/* f14941c: c7ae00c0 */ lwc1 $f14,0xc0($sp)
/* f149420: c7a405b4 */ lwc1 $f4,0x5b4($sp)
/* f149424: 4602703e */ c.le.s $f14,$f2
/* f149428: 00000000 */ nop
/* f14942c: 4502000a */ bc1fl .L0f149458
/* f149430: 460e103e */ c.le.s $f2,$f14
/* f149434: 4602203e */ c.le.s $f4,$f2
/* f149438: 00000000 */ nop
/* f14943c: 45020006 */ bc1fl .L0f149458
/* f149440: 460e103e */ c.le.s $f2,$f14
/* f149444: 4604703e */ c.le.s $f14,$f4
/* f149448: 00000000 */ nop
/* f14944c: 4503000e */ bc1tl .L0f149488
/* f149450: c7a000c4 */ lwc1 $f0,0xc4($sp)
/* f149454: 460e103e */ c.le.s $f2,$f14
.L0f149458:
/* f149458: c7a605b4 */ lwc1 $f6,0x5b4($sp)
/* f14945c: 4502004b */ bc1fl .L0f14958c
/* f149460: 84660002 */ lh $a2,0x2($v1)
/* f149464: 4606103e */ c.le.s $f2,$f6
/* f149468: 00000000 */ nop
/* f14946c: 45020047 */ bc1fl .L0f14958c
/* f149470: 84660002 */ lh $a2,0x2($v1)
/* f149474: 460e303e */ c.le.s $f6,$f14
/* f149478: 00000000 */ nop
/* f14947c: 45020043 */ bc1fl .L0f14958c
/* f149480: 84660002 */ lh $a2,0x2($v1)
/* f149484: c7a000c4 */ lwc1 $f0,0xc4($sp)
.L0f149488:
/* f149488: c7ac051c */ lwc1 $f12,0x51c($sp)
/* f14948c: c7a805b8 */ lwc1 $f8,0x5b8($sp)
/* f149490: 460c003e */ c.le.s $f0,$f12
/* f149494: 00000000 */ nop
/* f149498: 4502000a */ bc1fl .L0f1494c4
/* f14949c: 4600603e */ c.le.s $f12,$f0
/* f1494a0: 460c403e */ c.le.s $f8,$f12
/* f1494a4: 00000000 */ nop
/* f1494a8: 45020006 */ bc1fl .L0f1494c4
/* f1494ac: 4600603e */ c.le.s $f12,$f0
/* f1494b0: 4608003e */ c.le.s $f0,$f8
/* f1494b4: 00000000 */ nop
/* f1494b8: 4503000e */ bc1tl .L0f1494f4
/* f1494bc: c7b205b0 */ lwc1 $f18,0x5b0($sp)
/* f1494c0: 4600603e */ c.le.s $f12,$f0
.L0f1494c4:
/* f1494c4: c7aa05b8 */ lwc1 $f10,0x5b8($sp)
/* f1494c8: 45020030 */ bc1fl .L0f14958c
/* f1494cc: 84660002 */ lh $a2,0x2($v1)
/* f1494d0: 460a603e */ c.le.s $f12,$f10
/* f1494d4: 00000000 */ nop
/* f1494d8: 4502002c */ bc1fl .L0f14958c
/* f1494dc: 84660002 */ lh $a2,0x2($v1)
/* f1494e0: 4600503e */ c.le.s $f10,$f0
/* f1494e4: 00000000 */ nop
/* f1494e8: 45020028 */ bc1fl .L0f14958c
/* f1494ec: 84660002 */ lh $a2,0x2($v1)
/* f1494f0: c7b205b0 */ lwc1 $f18,0x5b0($sp)
.L0f1494f4:
/* f1494f4: c7a405b4 */ lwc1 $f4,0x5b4($sp)
/* f1494f8: c7a605b8 */ lwc1 $f6,0x5b8($sp)
/* f1494fc: 46128032 */ c.eq.s $f16,$f18
/* f149500: 00000000 */ nop
/* f149504: 4502000a */ bc1fl .L0f149530
/* f149508: 846a0000 */ lh $t2,0x0($v1)
/* f14950c: 46047032 */ c.eq.s $f14,$f4
/* f149510: 00000000 */ nop
/* f149514: 45020006 */ bc1fl .L0f149530
/* f149518: 846a0000 */ lh $t2,0x0($v1)
/* f14951c: 46060032 */ c.eq.s $f0,$f6
/* f149520: 00000000 */ nop
/* f149524: 45030019 */ bc1tl .L0f14958c
/* f149528: 84660002 */ lh $a2,0x2($v1)
/* f14952c: 846a0000 */ lh $t2,0x0($v1)
.L0f149530:
/* f149530: 27ac05b0 */ addiu $t4,$sp,0x5b0
/* f149534: 258f0030 */ addiu $t7,$t4,0x30
/* f149538: 27ab0580 */ addiu $t3,$sp,0x580
/* f14953c: afaa0500 */ sw $t2,0x500($sp)
.L0f149540:
/* f149540: 8d810000 */ lw $at,0x0($t4)
/* f149544: 258c000c */ addiu $t4,$t4,0xc
/* f149548: 256b000c */ addiu $t3,$t3,0xc
/* f14954c: ad61fff4 */ sw $at,-0xc($t3)
/* f149550: 8d81fff8 */ lw $at,-0x8($t4)
/* f149554: ad61fff8 */ sw $at,-0x8($t3)
/* f149558: 8d81fffc */ lw $at,-0x4($t4)
/* f14955c: 158ffff8 */ bne $t4,$t7,.L0f149540
/* f149560: ad61fffc */ sw $at,-0x4($t3)
/* f149564: c7a005b0 */ lwc1 $f0,0x5b0($sp)
/* f149568: c7a205b4 */ lwc1 $f2,0x5b4($sp)
/* f14956c: c7ac05b8 */ lwc1 $f12,0x5b8($sp)
/* f149570: 24180001 */ addiu $t8,$zero,0x1
/* f149574: afb804ec */ sw $t8,0x4ec($sp)
/* f149578: e7a00514 */ swc1 $f0,0x514($sp)
/* f14957c: e7a20518 */ swc1 $f2,0x518($sp)
/* f149580: 10000006 */ b .L0f14959c
/* f149584: e7ac051c */ swc1 $f12,0x51c($sp)
.L0f149588:
/* f149588: 84660002 */ lh $a2,0x2($v1)
.L0f14958c:
/* f14958c: 2401ffff */ addiu $at,$zero,-1
/* f149590: 24630002 */ addiu $v1,$v1,0x2
/* f149594: 54c1ff7f */ bnel $a2,$at,.L0f149394
/* f149598: 27a400bc */ addiu $a0,$sp,0xbc
.L0f14959c:
/* f14959c: 8fb904ec */ lw $t9,0x4ec($sp)
.L0f1495a0:
/* f1495a0: 27a400bc */ addiu $a0,$sp,0xbc
/* f1495a4: 3c017f1b */ lui $at,%hi(var7f1b6030)
/* f1495a8: 13200019 */ beqz $t9,.L0f149610
/* f1495ac: 00000000 */ nop
/* f1495b0: 0fc5dd18 */ jal coordsGetDistance
/* f1495b4: 27a50580 */ addiu $a1,$sp,0x580
/* f1495b8: 3c018008 */ lui $at,%hi(var8007f8b0)
/* f1495bc: c428f8b0 */ lwc1 $f8,%lo(var8007f8b0)($at)
/* f1495c0: 46000306 */ mov.s $f12,$f0
/* f1495c4: 27a805b0 */ addiu $t0,$sp,0x5b0
/* f1495c8: 4608003c */ c.lt.s $f0,$f8
/* f1495cc: 27a905bc */ addiu $t1,$sp,0x5bc
/* f1495d0: 4500000d */ bc1f .L0f149608
/* f1495d4: 00000000 */ nop
/* f1495d8: 87ae05dc */ lh $t6,0x5dc($sp)
/* f1495dc: 8faa0500 */ lw $t2,0x500($sp)
/* f1495e0: afa8050c */ sw $t0,0x50c($sp)
/* f1495e4: 39cd0002 */ xori $t5,$t6,0x2
/* f1495e8: 2dad0001 */ sltiu $t5,$t5,0x1
/* f1495ec: afa80508 */ sw $t0,0x508($sp)
/* f1495f0: afa90504 */ sw $t1,0x504($sp)
/* f1495f4: afa005e0 */ sw $zero,0x5e0($sp)
/* f1495f8: afa004fc */ sw $zero,0x4fc($sp)
/* f1495fc: afad04f0 */ sw $t5,0x4f0($sp)
/* f149600: 10000004 */ b .L0f149614
/* f149604: afaa04f8 */ sw $t2,0x4f8($sp)
.L0f149608:
/* f149608: 10000002 */ b .L0f149614
/* f14960c: afa004ec */ sw $zero,0x4ec($sp)
.L0f149610:
/* f149610: c42c6030 */ lwc1 $f12,%lo(var7f1b6030)($at)
.L0f149614:
/* f149614: 8faf05fc */ lw $t7,0x5fc($sp)
/* f149618: 3c018008 */ lui $at,%hi(var8007f8b0)
/* f14961c: c7aa05f4 */ lwc1 $f10,0x5f4($sp)
/* f149620: 55e0005c */ bnezl $t7,.L0f149794
/* f149624: 8fae04ec */ lw $t6,0x4ec($sp)
/* f149628: c420f8b0 */ lwc1 $f0,%lo(var8007f8b0)($at)
/* f14962c: 4600603c */ c.lt.s $f12,$f0
/* f149630: 00000000 */ nop
/* f149634: 45020004 */ bc1fl .L0f149648
/* f149638: 46000086 */ mov.s $f2,$f0
/* f14963c: 10000002 */ b .L0f149648
/* f149640: 46006086 */ mov.s $f2,$f12
/* f149644: 46000086 */ mov.s $f2,$f0
.L0f149648:
/* f149648: 460a1080 */ add.s $f2,$f2,$f10
/* f14964c: 27a200a0 */ addiu $v0,$sp,0xa0
/* f149650: 27a304b0 */ addiu $v1,$sp,0x4b0
/* f149654: e7a200d4 */ swc1 $f2,0xd4($sp)
.L0f149658:
/* f149658: 24420068 */ addiu $v0,$v0,0x68
/* f14965c: ac40ffd8 */ sw $zero,-0x28($v0)
/* f149660: ac40ffdc */ sw $zero,-0x24($v0)
/* f149664: 1443fffc */ bne $v0,$v1,.L0f149658
/* f149668: ac40ffe0 */ sw $zero,-0x20($v0)
/* f14966c: 3c02800a */ lui $v0,%hi(g_Vars)
/* f149670: 24429fc0 */ addiu $v0,$v0,%lo(g_Vars)
/* f149674: 8c43034c */ lw $v1,0x34c($v0)
/* f149678: 8c450348 */ lw $a1,0x348($v0)
/* f14967c: 2463fffc */ addiu $v1,$v1,-4
/* f149680: 0065082b */ sltu $at,$v1,$a1
/* f149684: 14200016 */ bnez $at,.L0f1496e0
/* f149688: 00000000 */ nop
/* f14968c: 8c640000 */ lw $a0,0x0($v1)
.L0f149690:
/* f149690: 50800010 */ beqzl $a0,.L0f1496d4
/* f149694: 2463fffc */ addiu $v1,$v1,-4
/* f149698: 90820000 */ lbu $v0,0x0($a0)
/* f14969c: 24010001 */ addiu $at,$zero,0x1
/* f1496a0: 10410005 */ beq $v0,$at,.L0f1496b8
/* f1496a4: 24010002 */ addiu $at,$zero,0x2
/* f1496a8: 10410003 */ beq $v0,$at,.L0f1496b8
/* f1496ac: 24010004 */ addiu $at,$zero,0x4
/* f1496b0: 54410008 */ bnel $v0,$at,.L0f1496d4
/* f1496b4: 2463fffc */ addiu $v1,$v1,-4
.L0f1496b8:
/* f1496b8: 27a500a0 */ addiu $a1,$sp,0xa0
/* f1496bc: 0fc21780 */ jal func0f085e00
/* f1496c0: afa305e4 */ sw $v1,0x5e4($sp)
/* f1496c4: 3c05800a */ lui $a1,%hi(g_Vars+0x348)
/* f1496c8: 8fa305e4 */ lw $v1,0x5e4($sp)
/* f1496cc: 8ca5a308 */ lw $a1,%lo(g_Vars+0x348)($a1)
/* f1496d0: 2463fffc */ addiu $v1,$v1,-4
.L0f1496d4:
/* f1496d4: 0065082b */ sltu $at,$v1,$a1
/* f1496d8: 5020ffed */ beqzl $at,.L0f149690
/* f1496dc: 8c640000 */ lw $a0,0x0($v1)
.L0f1496e0:
/* f1496e0: 3c06800b */ lui $a2,%hi(g_Textures)
/* f1496e4: 3c058008 */ lui $a1,%hi(somethings)
/* f1496e8: 24a54458 */ addiu $a1,$a1,%lo(somethings)
/* f1496ec: 24c6abc0 */ addiu $a2,$a2,%lo(g_Textures)
/* f1496f0: 27a200a0 */ addiu $v0,$sp,0xa0
/* f1496f4: 27a704b0 */ addiu $a3,$sp,0x4b0
/* f1496f8: 8c4c0040 */ lw $t4,0x40($v0)
.L0f1496fc:
/* f1496fc: 2444003c */ addiu $a0,$v0,0x3c
/* f149700: 24420068 */ addiu $v0,$v0,0x68
/* f149704: 11800020 */ beqz $t4,.L0f149788
/* f149708: 00000000 */ nop
/* f14970c: 8483003a */ lh $v1,0x3a($a0)
/* f149710: 0460000d */ bltz $v1,.L0f149748
/* f149714: 28610daf */ slti $at,$v1,0xdaf
/* f149718: 5020000c */ beqzl $at,.L0f14974c
/* f14971c: 248c0010 */ addiu $t4,$a0,0x10
/* f149720: 8ccb0000 */ lw $t3,0x0($a2)
/* f149724: 0003c0c0 */ sll $t8,$v1,0x3
/* f149728: 0178c821 */ addu $t9,$t3,$t8
/* f14972c: 93280000 */ lbu $t0,0x0($t9)
/* f149730: 3109000f */ andi $t1,$t0,0xf
/* f149734: 00095080 */ sll $t2,$t1,0x2
/* f149738: 00aa7021 */ addu $t6,$a1,$t2
/* f14973c: 8dcd0000 */ lw $t5,0x0($t6)
/* f149740: 85af000a */ lh $t7,0xa($t5)
/* f149744: 11e00010 */ beqz $t7,.L0f149788
.L0f149748:
/* f149748: 248c0010 */ addiu $t4,$a0,0x10
.L0f14974c:
/* f14974c: 248b0050 */ addiu $t3,$a0,0x50
/* f149750: 2498001c */ addiu $t8,$a0,0x1c
/* f149754: afac050c */ sw $t4,0x50c($sp)
/* f149758: afab0508 */ sw $t3,0x508($sp)
/* f14975c: afb80504 */ sw $t8,0x504($sp)
/* f149760: 8c990004 */ lw $t9,0x4($a0)
/* f149764: 24090001 */ addiu $t1,$zero,0x1
/* f149768: 240a0001 */ addiu $t2,$zero,0x1
/* f14976c: afb905e0 */ sw $t9,0x5e0($sp)
/* f149770: 80880043 */ lb $t0,0x43($a0)
/* f149774: afa904f8 */ sw $t1,0x4f8($sp)
/* f149778: afa004f0 */ sw $zero,0x4f0($sp)
/* f14977c: afaa04ec */ sw $t2,0x4ec($sp)
/* f149780: 10000003 */ b .L0f149790
/* f149784: afa804fc */ sw $t0,0x4fc($sp)
.L0f149788:
/* f149788: 5447ffdc */ bnel $v0,$a3,.L0f1496fc
/* f14978c: 8c4c0040 */ lw $t4,0x40($v0)
.L0f149790:
/* f149790: 8fae04ec */ lw $t6,0x4ec($sp)
.L0f149794:
/* f149794: 27a3003c */ addiu $v1,$sp,0x3c
/* f149798: 8fa4050c */ lw $a0,0x50c($sp)
/* f14979c: 11c0002d */ beqz $t6,.L0f149854
/* f1497a0: 00001025 */ or $v0,$zero,$zero
/* f1497a4: 27a200a0 */ addiu $v0,$sp,0xa0
/* f1497a8: 8fa50508 */ lw $a1,0x508($sp)
/* f1497ac: 8fa60504 */ lw $a2,0x504($sp)
/* f1497b0: 27a70048 */ addiu $a3,$sp,0x48
.L0f1497b4:
/* f1497b4: c4920000 */ lwc1 $f18,0x0($a0)
/* f1497b8: c446001c */ lwc1 $f6,0x1c($v0)
/* f1497bc: 24630004 */ addiu $v1,$v1,0x4
/* f1497c0: e472fffc */ swc1 $f18,-0x4($v1)
/* f1497c4: c4a40000 */ lwc1 $f4,0x0($a1)
/* f1497c8: e4660020 */ swc1 $f6,0x20($v1)
/* f1497cc: 24420004 */ addiu $v0,$v0,0x4
/* f1497d0: e4640008 */ swc1 $f4,0x8($v1)
/* f1497d4: c4c80000 */ lwc1 $f8,0x0($a2)
/* f1497d8: 24840004 */ addiu $a0,$a0,0x4
/* f1497dc: 24a50004 */ addiu $a1,$a1,4
/* f1497e0: 24c60004 */ addiu $a2,$a2,0x4
/* f1497e4: 1467fff3 */ bne $v1,$a3,.L0f1497b4
/* f1497e8: e4680014 */ swc1 $f8,0x14($v1)
/* f1497ec: 8fad05ec */ lw $t5,0x5ec($sp)
/* f1497f0: 8faf05e0 */ lw $t7,0x5e0($sp)
/* f1497f4: 8fac0604 */ lw $t4,0x604($sp)
/* f1497f8: 8fab04fc */ lw $t3,0x4fc($sp)
/* f1497fc: 8fb804f8 */ lw $t8,0x4f8($sp)
/* f149800: 8fb905f8 */ lw $t9,0x5f8($sp)
/* f149804: 8fa80600 */ lw $t0,0x600($sp)
/* f149808: c7aa05e8 */ lwc1 $f10,0x5e8($sp)
/* f14980c: 8fa905fc */ lw $t1,0x5fc($sp)
/* f149810: 8faa0608 */ lw $t2,0x608($sp)
/* f149814: 8fae04f0 */ lw $t6,0x4f0($sp)
/* f149818: 27a4003c */ addiu $a0,$sp,0x3c
/* f14981c: afad0074 */ sw $t5,0x74($sp)
/* f149820: afaf0070 */ sw $t7,0x70($sp)
/* f149824: afac0078 */ sw $t4,0x78($sp)
/* f149828: afab007c */ sw $t3,0x7c($sp)
/* f14982c: afb80080 */ sw $t8,0x80($sp)
/* f149830: afb90084 */ sw $t9,0x84($sp)
/* f149834: afa80090 */ sw $t0,0x90($sp)
/* f149838: e7aa008c */ swc1 $f10,0x8c($sp)
/* f14983c: afa9006c */ sw $t1,0x6c($sp)
/* f149840: afaa0094 */ sw $t2,0x94($sp)
/* f149844: 0fc5261b */ jal func0f14986c
/* f149848: afae0088 */ sw $t6,0x88($sp)
/* f14984c: 10000001 */ b .L0f149854
/* f149850: 24020001 */ addiu $v0,$zero,0x1
.L0f149854:
/* f149854: 8fbf001c */ lw $ra,0x1c($sp)
/* f149858: 27bd05e8 */ addiu $sp,$sp,0x5e8
/* f14985c: 03e00008 */ jr $ra
/* f149860: 00000000 */ nop
);
void func0f149864(void)
{
// empty
}
GLOBAL_ASM(
glabel func0f14986c
.late_rodata
glabel var7f1b6034
.word func0f14986c+0x11c # f149988
glabel var7f1b6038
.word func0f14986c+0x11c # f149988
glabel var7f1b603c
.word func0f14986c+0x11c # f149988
glabel var7f1b6040
.word func0f14986c+0x12c # f149998
glabel var7f1b6044
.word func0f14986c+0x12c # f149998
glabel var7f1b6048
.word func0f14986c+0x13c # f1499a8
.text
/* f14986c: 27bdff50 */ addiu $sp,$sp,-176
/* f149870: 240e00c0 */ addiu $t6,$zero,0xc0
/* f149874: afbf005c */ sw $ra,0x5c($sp)
/* f149878: afb00058 */ sw $s0,0x58($sp)
/* f14987c: a3ae0092 */ sb $t6,0x92($sp)
/* f149880: 8c820048 */ lw $v0,0x48($a0)
/* f149884: 00808025 */ or $s0,$a0,$zero
/* f149888: 304f0001 */ andi $t7,$v0,0x1
/* f14988c: afaf0088 */ sw $t7,0x88($sp)
/* f149890: afaf0084 */ sw $t7,0x84($sp)
/* f149894: 8c98004c */ lw $t8,0x4c($a0)
/* f149898: 0c004b70 */ jal random
/* f14989c: afb80080 */ sw $t8,0x80($sp)
/* f1498a0: 24010003 */ addiu $at,$zero,0x3
/* f1498a4: 0041001b */ divu $zero,$v0,$at
/* f1498a8: 0000c810 */ mfhi $t9
/* f1498ac: 27280009 */ addiu $t0,$t9,0x9
/* f1498b0: afa8008c */ sw $t0,0x8c($sp)
/* f1498b4: 8e030034 */ lw $v1,0x34($s0)
/* f1498b8: 50600013 */ beqzl $v1,.L0f149908
/* f1498bc: 8e020030 */ lw $v0,0x30($s0)
/* f1498c0: 90690000 */ lbu $t1,0x0($v1)
/* f1498c4: 24010001 */ addiu $at,$zero,0x1
/* f1498c8: 5521000f */ bnel $t1,$at,.L0f149908
/* f1498cc: 8e020030 */ lw $v0,0x30($s0)
/* f1498d0: 8c620004 */ lw $v0,0x4($v1)
/* f1498d4: 5040000c */ beqzl $v0,.L0f149908
/* f1498d8: 8e020030 */ lw $v0,0x30($s0)
/* f1498dc: 90430003 */ lbu $v1,0x3($v0)
/* f1498e0: 2401002a */ addiu $at,$zero,0x2a
/* f1498e4: 240a0040 */ addiu $t2,$zero,0x40
/* f1498e8: 10610004 */ beq $v1,$at,.L0f1498fc
/* f1498ec: 240b0001 */ addiu $t3,$zero,0x1
/* f1498f0: 2401002f */ addiu $at,$zero,0x2f
/* f1498f4: 54610004 */ bnel $v1,$at,.L0f149908
/* f1498f8: 8e020030 */ lw $v0,0x30($s0)
.L0f1498fc:
/* f1498fc: a3aa0092 */ sb $t2,0x92($sp)
/* f149900: afab0080 */ sw $t3,0x80($sp)
/* f149904: 8e020030 */ lw $v0,0x30($s0)
.L0f149908:
/* f149908: 24010001 */ addiu $at,$zero,0x1
/* f14990c: 10410005 */ beq $v0,$at,.L0f149924
/* f149910: 24010002 */ addiu $at,$zero,0x2
/* f149914: 1041000b */ beq $v0,$at,.L0f149944
/* f149918: 00000000 */ nop
/* f14991c: 1000000d */ b .L0f149954
/* f149920: 00000000 */ nop
.L0f149924:
/* f149924: 0c004b70 */ jal random
/* f149928: 00000000 */ nop
/* f14992c: 24010003 */ addiu $at,$zero,0x3
/* f149930: 0041001b */ divu $zero,$v0,$at
/* f149934: 00006010 */ mfhi $t4
/* f149938: 258d0009 */ addiu $t5,$t4,0x9
/* f14993c: 10000005 */ b .L0f149954
/* f149940: afad008c */ sw $t5,0x8c($sp)
.L0f149944:
/* f149944: 0c004b70 */ jal random
/* f149948: 00000000 */ nop
/* f14994c: 240e000c */ addiu $t6,$zero,0xc
/* f149950: afae008c */ sw $t6,0x8c($sp)
.L0f149954:
/* f149954: 0c004b70 */ jal random
/* f149958: 00000000 */ nop
/* f14995c: 24010006 */ addiu $at,$zero,0x6
/* f149960: 0041001b */ divu $zero,$v0,$at
/* f149964: 00007810 */ mfhi $t7
/* f149968: 2de10006 */ sltiu $at,$t7,0x6
/* f14996c: 10200012 */ beqz $at,.L0f1499b8
/* f149970: 000f7880 */ sll $t7,$t7,0x2
/* f149974: 3c017f1b */ lui $at,%hi(var7f1b6034)
/* f149978: 002f0821 */ addu $at,$at,$t7
/* f14997c: 8c2f6034 */ lw $t7,%lo(var7f1b6034)($at)
/* f149980: 01e00008 */ jr $t7
/* f149984: 00000000 */ nop
/* f149988: 3c013fc0 */ lui $at,0x3fc0
/* f14998c: 44812000 */ mtc1 $at,$f4
/* f149990: 10000009 */ b .L0f1499b8
/* f149994: e7a4009c */ swc1 $f4,0x9c($sp)
/* f149998: 3c0140a0 */ lui $at,0x40a0
/* f14999c: 44813000 */ mtc1 $at,$f6
/* f1499a0: 10000005 */ b .L0f1499b8
/* f1499a4: e7a6009c */ swc1 $f6,0x9c($sp)
/* f1499a8: 3c014040 */ lui $at,0x4040
/* f1499ac: 44814000 */ mtc1 $at,$f8
/* f1499b0: 00000000 */ nop
/* f1499b4: e7a8009c */ swc1 $f8,0x9c($sp)
.L0f1499b8:
/* f1499b8: 2605000c */ addiu $a1,$s0,0xc
/* f1499bc: afa5006c */ sw $a1,0x6c($sp)
/* f1499c0: 0fc5dd18 */ jal coordsGetDistance
/* f1499c4: 26040024 */ addiu $a0,$s0,0x24
/* f1499c8: 3c018008 */ lui $at,%hi(var8007f8a0)
/* f1499cc: c42af8a0 */ lwc1 $f10,%lo(var8007f8a0)($at)
/* f1499d0: c7a6009c */ lwc1 $f6,0x9c($sp)
/* f1499d4: 3c018008 */ lui $at,%hi(var8007f8b8)
/* f1499d8: 46005102 */ mul.s $f4,$f10,$f0
/* f1499dc: c422f8b8 */ lwc1 $f2,%lo(var8007f8b8)($at)
/* f1499e0: 3c018008 */ lui $at,%hi(var8007f8b4)
/* f1499e4: 46062302 */ mul.s $f12,$f4,$f6
/* f1499e8: 460c103c */ c.lt.s $f2,$f12
/* f1499ec: 00000000 */ nop
/* f1499f0: 45000002 */ bc1f .L0f1499fc
/* f1499f4: 00000000 */ nop
/* f1499f8: 46001306 */ mov.s $f12,$f2
.L0f1499fc:
/* f1499fc: c420f8b4 */ lwc1 $f0,%lo(var8007f8b4)($at)
/* f149a00: 3c013f80 */ lui $at,0x3f80
/* f149a04: 44811000 */ mtc1 $at,$f2
/* f149a08: 4600603c */ c.lt.s $f12,$f0
/* f149a0c: 3c013f00 */ lui $at,0x3f00
/* f149a10: 44814000 */ mtc1 $at,$f8
/* f149a14: 45000002 */ bc1f .L0f149a20
/* f149a18: 00000000 */ nop
/* f149a1c: 46000306 */ mov.s $f12,$f0
.L0f149a20:
/* f149a20: 460c4002 */ mul.s $f0,$f8,$f12
/* f149a24: 4602003c */ c.lt.s $f0,$f2
/* f149a28: 46000406 */ mov.s $f16,$f0
/* f149a2c: 46000486 */ mov.s $f18,$f0
/* f149a30: 45020003 */ bc1fl .L0f149a40
/* f149a34: 4602003c */ c.lt.s $f0,$f2
/* f149a38: 46001406 */ mov.s $f16,$f2
/* f149a3c: 4602003c */ c.lt.s $f0,$f2
.L0f149a40:
/* f149a40: 00000000 */ nop
/* f149a44: 45020003 */ bc1fl .L0f149a54
/* f149a48: e7ac00a0 */ swc1 $f12,0xa0($sp)
/* f149a4c: 46001486 */ mov.s $f18,$f2
/* f149a50: e7ac00a0 */ swc1 $f12,0xa0($sp)
.L0f149a54:
/* f149a54: e7b000ac */ swc1 $f16,0xac($sp)
/* f149a58: 0c004b70 */ jal random
/* f149a5c: e7b200a8 */ swc1 $f18,0xa8($sp)
/* f149a60: 44825000 */ mtc1 $v0,$f10
/* f149a64: c7ac00a0 */ lwc1 $f12,0xa0($sp)
/* f149a68: c7b000ac */ lwc1 $f16,0xac($sp)
/* f149a6c: 04410005 */ bgez $v0,.L0f149a84
/* f149a70: 46805120 */ cvt.s.w $f4,$f10
/* f149a74: 3c014f80 */ lui $at,0x4f80
/* f149a78: 44813000 */ mtc1 $at,$f6
/* f149a7c: 00000000 */ nop
/* f149a80: 46062100 */ add.s $f4,$f4,$f6
.L0f149a84:
/* f149a84: 3c012f80 */ lui $at,0x2f80
/* f149a88: 44814000 */ mtc1 $at,$f8
/* f149a8c: 00000000 */ nop
/* f149a90: 46082282 */ mul.s $f10,$f4,$f8
/* f149a94: 00000000 */ nop
/* f149a98: 46105002 */ mul.s $f0,$f10,$f16
/* f149a9c: 46000180 */ add.s $f6,$f0,$f0
/* f149aa0: 46103101 */ sub.s $f4,$f6,$f16
/* f149aa4: 460c2380 */ add.s $f14,$f4,$f12
/* f149aa8: 0c004b70 */ jal random
/* f149aac: e7ae0094 */ swc1 $f14,0x94($sp)
/* f149ab0: 44824000 */ mtc1 $v0,$f8
/* f149ab4: c7ac00a0 */ lwc1 $f12,0xa0($sp)
/* f149ab8: c7ae0094 */ lwc1 $f14,0x94($sp)
/* f149abc: c7b200a8 */ lwc1 $f18,0xa8($sp)
/* f149ac0: 04410005 */ bgez $v0,.L0f149ad8
/* f149ac4: 468042a0 */ cvt.s.w $f10,$f8
/* f149ac8: 3c014f80 */ lui $at,0x4f80
/* f149acc: 44813000 */ mtc1 $at,$f6
/* f149ad0: 00000000 */ nop
/* f149ad4: 46065280 */ add.s $f10,$f10,$f6
.L0f149ad8:
/* f149ad8: 3c012f80 */ lui $at,0x2f80
/* f149adc: 44812000 */ mtc1 $at,$f4
/* f149ae0: 3c018008 */ lui $at,%hi(var8007f8b8)
/* f149ae4: c422f8b8 */ lwc1 $f2,%lo(var8007f8b8)($at)
/* f149ae8: 46045202 */ mul.s $f8,$f10,$f4
/* f149aec: 460e103c */ c.lt.s $f2,$f14
/* f149af0: 46124002 */ mul.s $f0,$f8,$f18
/* f149af4: 46000180 */ add.s $f6,$f0,$f0
/* f149af8: 46123281 */ sub.s $f10,$f6,$f18
/* f149afc: 460c5400 */ add.s $f16,$f10,$f12
/* f149b00: 45000002 */ bc1f .L0f149b0c
/* f149b04: e7b00098 */ swc1 $f16,0x98($sp)
/* f149b08: 46001386 */ mov.s $f14,$f2
.L0f149b0c:
/* f149b0c: 4610103c */ c.lt.s $f2,$f16
/* f149b10: 00000000 */ nop
/* f149b14: 45020003 */ bc1fl .L0f149b24
/* f149b18: c6000050 */ lwc1 $f0,0x50($s0)
/* f149b1c: e7a20098 */ swc1 $f2,0x98($sp)
/* f149b20: c6000050 */ lwc1 $f0,0x50($s0)
.L0f149b24:
/* f149b24: c7a40098 */ lwc1 $f4,0x98($sp)
/* f149b28: 46007382 */ mul.s $f14,$f14,$f0
/* f149b2c: 00000000 */ nop
/* f149b30: 46002202 */ mul.s $f8,$f4,$f0
/* f149b34: e7a80098 */ swc1 $f8,0x98($sp)
/* f149b38: 8e040038 */ lw $a0,0x38($s0)
/* f149b3c: 0fc4f972 */ jal func0f13e5c8
/* f149b40: e7ae0094 */ swc1 $f14,0x94($sp)
/* f149b44: 8e02003c */ lw $v0,0x3c($s0)
/* f149b48: c7ae0094 */ lwc1 $f14,0x94($sp)
/* f149b4c: 00003025 */ or $a2,$zero,$zero
/* f149b50: 10400004 */ beqz $v0,.L0f149b64
/* f149b54: 00000000 */ nop
/* f149b58: 8c46001c */ lw $a2,0x1c($v0)
/* f149b5c: 10000001 */ b .L0f149b64
/* f149b60: 24c60008 */ addiu $a2,$a2,0x8
.L0f149b64:
/* f149b64: afa60070 */ sw $a2,0x70($sp)
/* f149b68: 0c004b70 */ jal random
/* f149b6c: e7ae0094 */ swc1 $f14,0x94($sp)
/* f149b70: 24010168 */ addiu $at,$zero,0x168
/* f149b74: 0041001b */ divu $zero,$v0,$at
/* f149b78: 8fb8008c */ lw $t8,0x8c($sp)
/* f149b7c: afa00010 */ sw $zero,0x10($sp)
/* f149b80: c7ae0094 */ lwc1 $f14,0x94($sp)
/* f149b84: afb80014 */ sw $t8,0x14($sp)
/* f149b88: 8e190044 */ lw $t9,0x44($s0)
/* f149b8c: c7a60098 */ lwc1 $f6,0x98($sp)
/* f149b90: 93ac0092 */ lbu $t4,0x92($sp)
/* f149b94: afb90018 */ sw $t9,0x18($sp)
/* f149b98: 8e080034 */ lw $t0,0x34($s0)
/* f149b9c: 00007010 */ mfhi $t6
/* f149ba0: 240d00ff */ addiu $t5,$zero,0xff
/* f149ba4: afa8001c */ sw $t0,0x1c($sp)
/* f149ba8: 8e090038 */ lw $t1,0x38($s0)
/* f149bac: 8fb90080 */ lw $t9,0x80($sp)
/* f149bb0: 8fa60070 */ lw $a2,0x70($sp)
/* f149bb4: afa90020 */ sw $t1,0x20($sp)
/* f149bb8: 8e0a0040 */ lw $t2,0x40($s0)
/* f149bbc: afa00028 */ sw $zero,0x28($sp)
/* f149bc0: 02002025 */ or $a0,$s0,$zero
/* f149bc4: afaa0024 */ sw $t2,0x24($sp)
/* f149bc8: 8e0b003c */ lw $t3,0x3c($s0)
/* f149bcc: afae0040 */ sw $t6,0x40($sp)
/* f149bd0: afad003c */ sw $t5,0x3c($sp)
/* f149bd4: e7ae0030 */ swc1 $f14,0x30($sp)
/* f149bd8: e7a60034 */ swc1 $f6,0x34($sp)
/* f149bdc: afac0038 */ sw $t4,0x38($sp)
/* f149be0: afab002c */ sw $t3,0x2c($sp)
/* f149be4: 960f0056 */ lhu $t7,0x56($s0)
/* f149be8: 26050018 */ addiu $a1,$s0,0x18
/* f149bec: 00003825 */ or $a3,$zero,$zero
/* f149bf0: afaf0044 */ sw $t7,0x44($sp)
/* f149bf4: 8e180058 */ lw $t8,0x58($s0)
/* f149bf8: afb9004c */ sw $t9,0x4c($sp)
/* f149bfc: 0fc4fd41 */ jal func0f13f504
/* f149c00: afb80048 */ sw $t8,0x48($sp)
/* f149c04: 8fa20088 */ lw $v0,0x88($sp)
/* f149c08: 8fa80084 */ lw $t0,0x84($sp)
/* f149c0c: 240affff */ addiu $t2,$zero,-1
/* f149c10: 14400003 */ bnez $v0,.L0f149c20
/* f149c14: 27a50078 */ addiu $a1,$sp,0x78
/* f149c18: 5100000e */ beqzl $t0,.L0f149c54
/* f149c1c: 8fbf005c */ lw $ra,0x5c($sp)
.L0f149c20:
/* f149c20: 8e090044 */ lw $t1,0x44($s0)
/* f149c24: a7aa007a */ sh $t2,0x7a($sp)
/* f149c28: 10400003 */ beqz $v0,.L0f149c38
/* f149c2c: a7a90078 */ sh $t1,0x78($sp)
/* f149c30: 10000002 */ b .L0f149c3c
/* f149c34: 2402000d */ addiu $v0,$zero,0xd
.L0f149c38:
/* f149c38: 2402000e */ addiu $v0,$zero,0xe
.L0f149c3c:
/* f149c3c: 00023400 */ sll $a2,$v0,0x10
/* f149c40: 00065c03 */ sra $t3,$a2,0x10
/* f149c44: 01603025 */ or $a2,$t3,$zero
/* f149c48: 0fc4ba08 */ jal smokeCreateSimple
/* f149c4c: 8fa4006c */ lw $a0,0x6c($sp)
/* f149c50: 8fbf005c */ lw $ra,0x5c($sp)
.L0f149c54:
/* f149c54: 8fb00058 */ lw $s0,0x58($sp)
/* f149c58: 27bd00b0 */ addiu $sp,$sp,0xb0
/* f149c5c: 03e00008 */ jr $ra
/* f149c60: 00000000 */ nop
);
void chrInitSplats(struct chrdata *chr)
{
chr->bulletstaken = 0;
chr->tickssincesplat = 0;
chr->stdsplatsadded = 0;
chr->woundedsplatsadded = 0;
chr->deaddropsplatsadded = 0;
chr->splatsdroppedhe = 0;
chr->lastdroppos.x = 0;
chr->lastdroppos.y = 0;
chr->lastdroppos.z = 0;
}