From 21ab803fedb10645bac35d8f925c33aef43199ae Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Tue, 2 Feb 2021 17:06:56 +1000 Subject: [PATCH] Attempt to decompile nbombInflictDamage --- src/files/setup/setupear.c | 2 +- src/files/setup/setuptra.c | 2 +- src/game/chr/chr.c | 4 +- src/game/chr/chraction.c | 4 +- src/game/chr/chrai.c | 6 +- src/game/chr/chraicommands.c | 14 ++-- src/game/dlights.c | 6 +- src/game/explosions/explosions.c | 4 +- src/game/game_006bd0.c | 112 ++++++++++++++++++++++++--- src/game/propobj.c | 6 +- src/game/sparks/sparks.c | 8 +- src/include/commands.h | 12 ++- src/include/constants.h | 2 +- src/include/game/chr/chraction.h | 2 +- src/include/game/chr/chraicommands.h | 2 +- src/include/game/dlights.h | 2 +- src/include/game/game_006bd0.h | 2 +- 17 files changed, 145 insertions(+), 45 deletions(-) diff --git a/src/files/setup/setupear.c b/src/files/setup/setupear.c index 90c0fb256..390ed6a9f 100644 --- a/src/files/setup/setupear.c +++ b/src/files/setup/setupear.c @@ -2784,7 +2784,7 @@ u8 func0415_radioactivity[] = { add_motion_blur(CHR_TARGET, 10, TRUE) if_timer_lt(300, /*goto*/ 0x2f) restart_timer - damage_player(CHR_TARGET, 4, 0) + poison_chr(CHR_TARGET, 4, 0) label(0x2f) if_chr_in_room(CHR_TARGET, 0x00, 0x0014, /*goto*/ 0x06) if_chr_in_room(CHR_TARGET, 0x00, 0x0015, /*goto*/ 0x06) diff --git a/src/files/setup/setuptra.c b/src/files/setup/setuptra.c index 00ba83ae6..cae742d31 100644 --- a/src/files/setup/setuptra.c +++ b/src/files/setup/setuptra.c @@ -660,7 +660,7 @@ u8 func0401_gas_damage[] = { label(0x32) if_timer_lt(460, /*goto*/ 0x32) restart_timer - damage_player(CHR_TARGET, 2, 2) + poison_chr(CHR_TARGET, 2, 2) label(0x32) if_chr_in_room(CHR_TARGET, 0x00, 0x009a, /*goto*/ 0x06) if_chr_in_room(CHR_TARGET, 0x00, 0x0099, /*goto*/ 0x06) diff --git a/src/game/chr/chr.c b/src/game/chr/chr.c index 31924c388..f3388090f 100644 --- a/src/game/chr/chr.c +++ b/src/game/chr/chr.c @@ -4361,7 +4361,7 @@ glabel var7f1a87b8 /* f022ed4: 3c0542c8 */ lui $a1,0x42c8 /* f022ed8: 27a60034 */ addiu $a2,$sp,0x34 /* f022edc: 27a70030 */ addiu $a3,$sp,0x30 -/* f022ee0: 0fc0d049 */ jal func0f034124 +/* f022ee0: 0fc0d049 */ jal chrPoison /* f022ee4: afa80010 */ sw $t0,0x10($sp) /* f022ee8: 3c054049 */ lui $a1,0x4049 /* f022eec: 34a50fdb */ ori $a1,$a1,0xfdb @@ -4426,7 +4426,7 @@ glabel var7f1a87b8 /* f022fb8: 8fbf0024 */ lw $ra,0x24($sp) /* f022fbc: 8e0800e8 */ lw $t0,0xe8($s0) /* f022fc0: 27a70030 */ addiu $a3,$sp,0x30 -/* f022fc4: 0fc0d049 */ jal func0f034124 +/* f022fc4: 0fc0d049 */ jal chrPoison /* f022fc8: afa80010 */ sw $t0,0x10($sp) .L0f022fcc: /* f022fcc: 8fbf0024 */ lw $ra,0x24($sp) diff --git a/src/game/chr/chraction.c b/src/game/chr/chraction.c index fb670530a..a4dc7d9b5 100644 --- a/src/game/chr/chraction.c +++ b/src/game/chr/chraction.c @@ -5398,7 +5398,7 @@ glabel func0f034080 /* f034120: 00000000 */ nop ); -void func0f034124(struct chrdata *chr, f32 arg1, struct coord *vector, u8 *arg3, struct prop *prop) +void chrPoison(struct chrdata *chr, f32 arg1, struct coord *vector, u8 *arg3, struct prop *prop) { func0f034524(chr, arg1, vector, arg3, prop, 200, 0, 0, 0, 0, -1, 0, 0, 0); } @@ -22564,7 +22564,7 @@ void chrTickGoPos(struct chrdata *chr) // Try and warp the chr past whatever obstacle is blocking them? struct coord sp196 = {0, 0, 0}; - func0f034124(chr, 1, &sp196, NULL, NULL); + chrPoison(chr, 1, &sp196, NULL, NULL); chr->lastmoveok60 = g_Vars.lvframe60; return; diff --git a/src/game/chr/chrai.c b/src/game/chr/chrai.c index f8dc2b542..24e821a8a 100644 --- a/src/game/chr/chrai.c +++ b/src/game/chr/chrai.c @@ -383,7 +383,7 @@ bool (*g_CommandPointers[])(void) = { /*0x016b*/ ai016b, /*0x016c*/ aiNoOp016c, /*0x016d*/ aiChrAdjustMotionBlur, - /*0x016e*/ aiDamagePlayer, + /*0x016e*/ aiPoisonChr, /*0x016f*/ aiIfChrHasGun, /*0x0170*/ aiDoGunCommand, /*0x0171*/ aiIfDistanceToGunLessThan, @@ -708,7 +708,7 @@ void chraiExecute(void *entity, s32 proptype) } // Check if the ailist should be switched to a different one - if (g_Vars.chrdata && (g_Vars.chrdata->chrflags & CHRCFLAG_00200000)) { + if (g_Vars.chrdata && (g_Vars.chrdata->chrflags & CHRCFLAG_TRIGGERSHOTLIST)) { u32 animnum = modelGetAnimNum(g_Vars.chrdata->model); if (g_Vars.chrdata->aishotlist >= 0 && g_Vars.chrdata->cshield <= 0 @@ -717,7 +717,7 @@ void chraiExecute(void *entity, s32 proptype) && animnum != ANIM_SNIPING_026B && animnum != ANIM_SNIPING_026A) { // Set shot list - g_Vars.chrdata->chrflags &= ~CHRCFLAG_00200000; + g_Vars.chrdata->chrflags &= ~CHRCFLAG_TRIGGERSHOTLIST; g_Vars.ailist = ailistFindById(g_Vars.chrdata->aishotlist); g_Vars.aioffset = 0; } diff --git a/src/game/chr/chraicommands.c b/src/game/chr/chraicommands.c index 1b850b2e0..5d14edcca 100644 --- a/src/game/chr/chraicommands.c +++ b/src/game/chr/chraicommands.c @@ -5894,8 +5894,8 @@ bool ai00fd(void) u8 *cmd = g_Vars.ailist + g_Vars.aioffset; struct chrdata *chr = chrFindById(g_Vars.chrdata, cmd[2]); - if (chr && (chr->chrflags & CHRCFLAG_00200000)) { - chr->chrflags &= ~CHRCFLAG_00200000; + if (chr && (chr->chrflags & CHRCFLAG_TRIGGERSHOTLIST)) { + chr->chrflags &= ~CHRCFLAG_TRIGGERSHOTLIST; g_Vars.aioffset = chraiGoToLabel(g_Vars.ailist, g_Vars.aioffset, cmd[3]); } else { g_Vars.aioffset += 4; @@ -9047,7 +9047,7 @@ bool aiChrAdjustMotionBlur(void) /** * @cmd 016e */ -bool aiDamagePlayer(void) +bool aiPoisonChr(void) { u8 *cmd = g_Vars.ailist + g_Vars.aioffset; struct coord coord = {0, 0, 0}; @@ -9055,12 +9055,12 @@ bool aiDamagePlayer(void) if (chr && chr->prop) { if (cmd[4] == 2) { - u8 sp40[] = {0x1a, 0, 0, 3}; - func0f034124(chr, (s32)cmd[3] * 0.03125f, &coord, sp40, NULL); + u8 sp40[] = {WEAPON_COMBATKNIFE, 0, 0, 3}; + chrPoison(chr, (s32)cmd[3] * 0.03125f, &coord, sp40, NULL); } else if (cmd[4] == 0) { - func0f034124(chr, (s32)cmd[3] * 0.03125f, &coord, NULL, NULL); + chrPoison(chr, (s32)cmd[3] * 0.03125f, &coord, NULL, NULL); } else { - func0f034124(chr, (s32)cmd[3] * -0.03125f, &coord, NULL, NULL); + chrPoison(chr, (s32)cmd[3] * -0.03125f, &coord, NULL, NULL); } } diff --git a/src/game/dlights.c b/src/game/dlights.c index 95d72ce78..5ab2d272d 100644 --- a/src/game/dlights.c +++ b/src/game/dlights.c @@ -2175,7 +2175,7 @@ glabel func0f002ef8 .L0f0032ec: /* f0032ec: 8fa400d8 */ lw $a0,0xd8($sp) /* f0032f0: 24050040 */ addiu $a1,$zero,0x40 -/* f0032f4: 0fc010e3 */ jal func0f00438c +/* f0032f4: 0fc010e3 */ jal roomAdjustLighting /* f0032f8: 24060050 */ addiu $a2,$zero,0x50 /* f0032fc: 0fc25480 */ jal func0f095200 /* f003300: 00000000 */ nop @@ -3132,7 +3132,7 @@ void func0f004314(void) func0f005bb0(); if (hand1->torchon || hand2->torchon) { - func0f00438c(g_Vars.currentplayer->prop->rooms[0], 64, 80); + roomAdjustLighting(g_Vars.currentplayer->prop->rooms[0], 64, 80); } } @@ -3141,7 +3141,7 @@ void func0f004384(void) // empty } -void func0f00438c(s32 roomnum, s32 start, s32 limit) +void roomAdjustLighting(s32 roomnum, s32 start, s32 limit) { if (var80061420 && !(g_Rooms[roomnum].flags & ROOMFLAG_OUTDOORS ? 1 : 0)) { s32 value; diff --git a/src/game/explosions/explosions.c b/src/game/explosions/explosions.c index 44bec48b3..d6203d58f 100644 --- a/src/game/explosions/explosions.c +++ b/src/game/explosions/explosions.c @@ -481,7 +481,7 @@ glabel var7f1b5584 /* f12a264: 240600ff */ addiu $a2,$zero,0xff /* f12a268: 4600310d */ trunc.w.s $f4,$f6 /* f12a26c: 44052000 */ mfc1 $a1,$f4 -/* f12a270: 0fc010e3 */ jal func0f00438c +/* f12a270: 0fc010e3 */ jal roomAdjustLighting /* f12a274: 00000000 */ nop /* f12a278: 86130002 */ lh $s3,0x2($s0) /* f12a27c: 26310001 */ addiu $s1,$s1,0x1 @@ -1514,7 +1514,7 @@ glabel var7f1b559c /* f12b24c: 240600ff */ addiu $a2,$zero,0xff /* f12b250: 4600320d */ trunc.w.s $f8,$f6 /* f12b254: 44054000 */ mfc1 $a1,$f8 -/* f12b258: 0fc010e3 */ jal func0f00438c +/* f12b258: 0fc010e3 */ jal roomAdjustLighting /* f12b25c: 00000000 */ nop .L0f12b260: /* f12b260: 86ce002a */ lh $t6,0x2a($s6) diff --git a/src/game/game_006bd0.c b/src/game/game_006bd0.c index 0d5df100a..c1267e645 100644 --- a/src/game/game_006bd0.c +++ b/src/game/game_006bd0.c @@ -12,6 +12,7 @@ #include "game/game_005fd0.h" #include "game/game_006bd0.h" #include "game/chr/chr.h" +#include "game/chr/chraction.h" #include "game/game_0601b0.h" #include "game/game_095320.h" #include "game/game_096750.h" @@ -2859,12 +2860,6 @@ Gfx *nbombCreateGdl(void) } struct audiohandle *g_NbombAudioHandle = NULL; -u32 var800616e8 = 0x00000000; -u32 var800616ec = 0x00000000; -u32 var800616f0 = 0x00000000; -u32 var800616f4 = 0x00000000; -u32 var800616f8 = 0x00000000; -u32 var800616fc = 0x00000000; Gfx *nbombRender(Gfx *gdl, struct nbomb *nbomb, Gfx *subgdl) { @@ -2927,7 +2922,7 @@ void func0f0099a4(void) } GLOBAL_ASM( -glabel func0f0099e4 +glabel nbombInflictDamage .late_rodata glabel var7f1a7f20 .word 0x3c23d70a @@ -3033,7 +3028,7 @@ glabel var7f1a7f20 /* f009b68: afa30040 */ sw $v1,0x40($sp) /* f009b6c: 02002025 */ or $a0,$s0,$zero /* f009b70: 2405ffda */ addiu $a1,$zero,-38 -/* f009b74: 0fc010e3 */ jal func0f00438c +/* f009b74: 0fc010e3 */ jal roomAdjustLighting /* f009b78: 2406ff4c */ addiu $a2,$zero,-180 /* f009b7c: 8fa30040 */ lw $v1,0x40($sp) /* f009b80: 8ea402bc */ lw $a0,0x2bc($s5) @@ -3116,7 +3111,7 @@ glabel var7f1a7f20 /* f009ca0: 46049002 */ mul.s $f0,$f18,$f4 /* f009ca4: afaa0010 */ sw $t2,0x10($sp) /* f009ca8: 44050000 */ mfc1 $a1,$f0 -/* f009cac: 0fc0d049 */ jal func0f034124 +/* f009cac: 0fc0d049 */ jal chrPoison /* f009cb0: 00000000 */ nop /* f009cb4: 8e0c0018 */ lw $t4,0x18($s0) /* f009cb8: 8e0e0014 */ lw $t6,0x14($s0) @@ -3147,6 +3142,103 @@ glabel var7f1a7f20 /* f009d0c: 27bd0308 */ addiu $sp,$sp,0x308 ); +// Mismatch: different usage of callee-save registers relating to room loop +//void nbombInflictDamage(struct nbomb *nbomb) +//{ +// s32 index = 0; +// u32 stack; +// s16 propnums[256]; // 100 +// struct coord bbmin; // f4 +// struct coord bbmax; // e8 +// s16 roomnums[54]; // 7c +// s16 *propnumptr; +// s32 i; +// u8 sp70[4]; +// u32 stack2; +// +// sp70[0] = WEAPON_NBOMB; +// sp70[3] = 0; +// +// if (g_Vars.lvupdate240 <= 0 || nbomb->age240 > 350) { +// return; +// } +// +// if (g_Rooms); +// +// // Find rooms which intersect the nbomb dome's bbox +// bbmin.x = nbomb->pos.f[0] - nbomb->radius; +// bbmin.y = nbomb->pos.f[1] - nbomb->radius; +// bbmin.z = nbomb->pos.f[2] - nbomb->radius; +// +// bbmax.x = nbomb->pos.f[0] + nbomb->radius; +// bbmax.y = nbomb->pos.f[1] + nbomb->radius; +// bbmax.z = nbomb->pos.f[2] + nbomb->radius; +// +// if (g_Vars.roomcount); +// if (g_Vars.roomcount); +// +// for (i = 1; i < g_Vars.roomcount; i++) { +// if (!(bbmax.f[0] < g_Rooms[i].bbmin[0] +// || bbmin.f[0] > g_Rooms[i].bbmax[0] +// || bbmax.f[1] < g_Rooms[i].bbmin[1] +// || bbmin.f[1] > g_Rooms[i].bbmax[1] +// || bbmax.f[2] < g_Rooms[i].bbmin[2] +// || bbmin.f[2] > g_Rooms[i].bbmax[2]) +// && index < 52) { +// roomnums[index] = i; +// index++; +// roomAdjustLighting(i, -38, -180); +// } +// } +// +// roomnums[index] = -1; +// +// // Iterate props in the affected rooms and damage any chrs +// roomGetProps(roomnums, propnums, 256); +// +// propnumptr = propnums; +// +// while (*propnumptr >= 0) { +// struct prop *prop = &g_Vars.props[*propnumptr]; +// +// if (prop->timetoregen == 0) { +// if (prop->type == PROPTYPE_CHR || prop->type == PROPTYPE_PLAYER) { +// f32 xdiff = prop->pos.f[0] - nbomb->pos.f[0]; +// f32 ydiff = prop->pos.f[1] - nbomb->pos.f[1]; +// f32 zdiff = prop->pos.f[2] - nbomb->pos.f[2]; +// +// f32 dist = sqrtf(xdiff * xdiff + ydiff * ydiff + zdiff * zdiff); +// +// if (dist < nbomb->radius) { +// struct chrdata *chr = prop->chr; +// +// if (chr) { +// struct coord vector = {0, 0, 0}; +// f32 damage = 0.0099999997764826f * g_Vars.lvupdate240freal; +// +// chrPoison(chr, damage, &vector, sp70, nbomb->prop); +// +// chr->chrflags |= CHRCFLAG_TRIGGERSHOTLIST; +// +// if (chr->hidden & CHRHFLAG_CLOAKED) { +// chrUncloak(chr, true); +// } +// } +// } +// } +// } +// +// propnumptr++; +// } +//} + +u32 var800616e8 = 0x00000000; +u32 var800616ec = 0x00000000; +u32 var800616f0 = 0x00000000; +u32 var800616f4 = 0x00000000; +u32 var800616f8 = 0x00000000; +u32 var800616fc = 0x00000000; + void nbombTick(struct nbomb *nbomb) { if (nbomb->age240 >= 0) { @@ -3171,7 +3263,7 @@ void nbombTick(struct nbomb *nbomb) nbomb->radius *= 500.0f; - func0f0099e4(nbomb); + nbombInflictDamage(nbomb); age60 = nbomb->age240 / 4; diff --git a/src/game/propobj.c b/src/game/propobj.c index c1f80acb8..f859e8aa0 100644 --- a/src/game/propobj.c +++ b/src/game/propobj.c @@ -42385,7 +42385,7 @@ glabel func0f08bb5c /* f08bc34: 11c10004 */ beq $t6,$at,.L0f08bc48 /* f08bc38: 01c02025 */ or $a0,$t6,$zero /* f08bc3c: 24050030 */ addiu $a1,$zero,0x30 -/* f08bc40: 0fc010e3 */ jal func0f00438c +/* f08bc40: 0fc010e3 */ jal roomAdjustLighting /* f08bc44: 24060080 */ addiu $a2,$zero,0x80 .L0f08bc48: /* f08bc48: 8fbf001c */ lw $ra,0x1c($sp) @@ -45267,7 +45267,7 @@ glabel func0f08ea50 /* f08ed30: 02202025 */ or $a0,$s1,$zero .L0f08ed34: /* f08ed34: 24050080 */ addiu $a1,$zero,0x80 -/* f08ed38: 0fc010e3 */ jal func0f00438c +/* f08ed38: 0fc010e3 */ jal roomAdjustLighting /* f08ed3c: 240600c8 */ addiu $a2,$zero,0xc8 /* f08ed40: 8e690014 */ lw $t1,0x14($s3) /* f08ed44: 26100002 */ addiu $s0,$s0,0x2 @@ -46910,7 +46910,7 @@ glabel var7f1ab19c /* f0906bc: 8defa244 */ lw $t7,%lo(g_Vars+0x284)($t7) /* f0906c0: 8df800bc */ lw $t8,0xbc($t7) /* f0906c4: 8f040004 */ lw $a0,0x4($t8) -/* f0906c8: 0fc0d049 */ jal func0f034124 +/* f0906c8: 0fc0d049 */ jal chrPoison /* f0906cc: afa00010 */ sw $zero,0x10($sp) .L0f0906d0: /* f0906d0: 3c028007 */ lui $v0,%hi(var800698fc) diff --git a/src/game/sparks/sparks.c b/src/game/sparks/sparks.c index bb0d806c8..278b7b9be 100644 --- a/src/game/sparks/sparks.c +++ b/src/game/sparks/sparks.c @@ -663,7 +663,7 @@ glabel sparksCreate /* f12ffa8: 1000001f */ b .L0f130028 /* f12ffac: 240e0001 */ addiu $t6,$zero,0x1 .L0f12ffb0: -/* f12ffb0: 0fc010e3 */ jal func0f00438c +/* f12ffb0: 0fc010e3 */ jal roomAdjustLighting /* f12ffb4: 8e240010 */ lw $a0,0x10($s1) /* f12ffb8: 1000001b */ b .L0f130028 /* f12ffbc: 240e0001 */ addiu $t6,$zero,0x1 @@ -673,7 +673,7 @@ glabel sparksCreate /* f12ffc8: 24050020 */ addiu $a1,$zero,0x20 /* f12ffcc: 11610015 */ beq $t3,$at,.L0f130024 /* f12ffd0: 24060080 */ addiu $a2,$zero,0x80 -/* f12ffd4: 0fc010e3 */ jal func0f00438c +/* f12ffd4: 0fc010e3 */ jal roomAdjustLighting /* f12ffd8: 8e240010 */ lw $a0,0x10($s1) /* f12ffdc: 10000012 */ b .L0f130028 /* f12ffe0: 240e0001 */ addiu $t6,$zero,0x1 @@ -683,7 +683,7 @@ glabel sparksCreate /* f12ffec: 24050040 */ addiu $a1,$zero,0x40 /* f12fff0: 1141000c */ beq $t2,$at,.L0f130024 /* f12fff4: 24060080 */ addiu $a2,$zero,0x80 -/* f12fff8: 0fc010e3 */ jal func0f00438c +/* f12fff8: 0fc010e3 */ jal roomAdjustLighting /* f12fffc: 8e240010 */ lw $a0,0x10($s1) /* f130000: 10000009 */ b .L0f130028 /* f130004: 240e0001 */ addiu $t6,$zero,0x1 @@ -693,7 +693,7 @@ glabel sparksCreate /* f130010: 240500c8 */ addiu $a1,$zero,0xc8 /* f130014: 11810003 */ beq $t4,$at,.L0f130024 /* f130018: 240600ff */ addiu $a2,$zero,0xff -/* f13001c: 0fc010e3 */ jal func0f00438c +/* f13001c: 0fc010e3 */ jal roomAdjustLighting /* f130020: 8e240010 */ lw $a0,0x10($s1) .L0f130024: /* f130024: 240e0001 */ addiu $t6,$zero,0x1 diff --git a/src/include/commands.h b/src/include/commands.h index 6e7d87b9c..025b229e9 100644 --- a/src/include/commands.h +++ b/src/include/commands.h @@ -3156,10 +3156,18 @@ value, \ bool, -#define damage_player(chr, u1, operation) \ +/** + * Poison or unpoison the given chr by the given amount. + * + * If operation is 0, the chr is poisoned, likely without any ongoing effects. + * If operation is 2, the chr is poisoned, likely with the same effects as being + * hit by a combat knife. + * If operation is anything else, the chr is unpoisoned by the given amount. + */ +#define poison_chr(chr, amount, operation) \ mkshort(0x016e), \ chr, \ - u1, \ + amount, \ operation, // Likely related to being disarmed. diff --git a/src/include/constants.h b/src/include/constants.h index bb4ef8958..fbbeb4952 100644 --- a/src/include/constants.h +++ b/src/include/constants.h @@ -500,7 +500,7 @@ #define CHRCFLAG_00040000 0x00040000 // Used a lot #define CHRCFLAG_RUNFASTER 0x00080000 #define CHRCFLAG_KILLCOUNTABLE 0x00100000 -#define CHRCFLAG_00200000 0x00200000 // Unset by cmd 00fd +#define CHRCFLAG_TRIGGERSHOTLIST 0x00200000 #define CHRCFLAG_00400000 0x00400000 // Not used in scripts #define CHRCFLAG_UNPLAYABLE 0x00800000 #define CHRCFLAG_PUSHABLE 0x01000000 // Typically set on allies during init diff --git a/src/include/game/chr/chraction.h b/src/include/game/chr/chraction.h index 14f9e0649..6a3333e4d 100644 --- a/src/include/game/chr/chraction.h +++ b/src/include/game/chr/chraction.h @@ -48,7 +48,7 @@ u32 func0f033728(void); u32 func0f0338e0(void); void chrSetShield(struct chrdata *chr, f32 shield); u32 func0f034080(void); -void func0f034124(struct chrdata *chr, f32 arg1, struct coord *coord, u8 *arg3, struct prop *prop); +void chrPoison(struct chrdata *chr, f32 arg1, struct coord *coord, u8 *arg3, struct prop *prop); void func0f03417c(struct chrdata *chr, f32 arg1, struct coord *coord, u32 arg3, struct prop *prop); void func0f0341dc(struct chrdata *chr, f32 damage, struct coord *coord, struct hand *hand, struct prop *prop, u32 arg5, struct prop *prop2, s32 arg7, s32 arg8, s32 arg9, u32 arg10); void func0f034330(struct chrdata *chr, f32 damage, struct coord *vector, u8 *arg3, struct prop *prop, s32 arg5); diff --git a/src/include/game/chr/chraicommands.h b/src/include/game/chr/chraicommands.h index 149380600..ab4c5d003 100644 --- a/src/include/game/chr/chraicommands.h +++ b/src/include/game/chr/chraicommands.h @@ -343,7 +343,7 @@ /*0x016b*/ bool ai016b(void); /*0x016c*/ bool aiNoOp016c(void); /*0x016d*/ bool aiChrAdjustMotionBlur(void); -/*0x016e*/ bool aiDamagePlayer(void); +/*0x016e*/ bool aiPoisonChr(void); /*0x016f*/ bool aiIfChrHasGun(void); /*0x0170*/ bool aiDoGunCommand(void); /*0x0171*/ bool aiIfDistanceToGunLessThan(void); diff --git a/src/include/game/dlights.h b/src/include/game/dlights.h index 6dbb5be3f..a47714652 100644 --- a/src/include/game/dlights.h +++ b/src/include/game/dlights.h @@ -40,7 +40,7 @@ void func0f0035c0(void); void func0f00372c(void); void func0f0037ac(void); void func0f004314(void); -void func0f00438c(s32 roomnum, s32 start, s32 limit); +void roomAdjustLighting(s32 roomnum, s32 start, s32 limit); void func0f004558(s32 roomnum, s32 increment, s32 limit); void func0f004604(s32 roomnum); void func0f004c6c(void); diff --git a/src/include/game/game_006bd0.h b/src/include/game/game_006bd0.h index e56171dc6..1543a27c8 100644 --- a/src/include/game/game_006bd0.h +++ b/src/include/game/game_006bd0.h @@ -11,7 +11,7 @@ s32 nbombCalculateAlpha(struct nbomb *nbomb); Gfx *nbombCreateGdl(void); Gfx *nbombRender(Gfx *gdl, struct nbomb *nbomb, Gfx *subgdl); void func0f0099a4(void); -void func0f0099e4(struct nbomb *nbomb); +void nbombInflictDamage(struct nbomb *nbomb); void nbombTick(struct nbomb *nbomb); void nbombsTick(void); Gfx *nbombsRender(Gfx *gdl);