diff --git a/src/game/game_097ba0.c b/src/game/game_097ba0.c index 4c6d591fd..ad0e14917 100644 --- a/src/game/game_097ba0.c +++ b/src/game/game_097ba0.c @@ -11645,7 +11645,7 @@ void func0f0a1528(void) player->hands[i].matmot2 = 0.0f; player->hands[i].matmot3 = 0.0f; player->hands[i].angledamper = 0.0f; - player->hands[i].unk0db8 = 0.0f; + player->hands[i].gunsmokepoint = 0.0f; player->hands[i].unk0b90 = 0; player->hands[i].unk0888 = 0.0f; player->hands[i].allowshootframe = 0; @@ -20620,14 +20620,13 @@ glabel func0f0a9d2c /* f0a9d90: 00000000 */ nop ); -GLOBAL_ASM( -glabel func0f0a9d94 -/* f0a9d94: a4800000 */ sh $zero,0x0($a0) -/* f0a9d98: a0800005 */ sb $zero,0x5($a0) -/* f0a9d9c: a0800004 */ sb $zero,0x4($a0) -/* f0a9da0: 03e00008 */ jr $ra -/* f0a9da4: a4800002 */ sh $zero,0x2($a0) -); +void abmagReset(struct abmag *abmag) +{ + abmag->unk00 = 0; + abmag->unk05 = 0; + abmag->unk04 = 0; + abmag->unk02 = 0; +} GLOBAL_ASM( glabel func0f0a9da8 @@ -22129,13 +22128,13 @@ glabel hudRenderAmmo /* f0ab344: 8fa4012c */ lw $a0,0x12c($sp) /* f0ab348: 132f000d */ beq $t9,$t7,.L0f0ab380 /* f0ab34c: 24841568 */ addiu $a0,$a0,0x1568 -/* f0ab350: 0fc2a765 */ jal func0f0a9d94 +/* f0ab350: 0fc2a765 */ jal abmagReset /* f0ab354: afaa0058 */ sw $t2,0x58($sp) /* f0ab358: 8fa4005c */ lw $a0,0x5c($sp) -/* f0ab35c: 0fc2a765 */ jal func0f0a9d94 +/* f0ab35c: 0fc2a765 */ jal abmagReset /* f0ab360: 2484078c */ addiu $a0,$a0,0x78c /* f0ab364: 8faa0058 */ lw $t2,0x58($sp) -/* f0ab368: 0fc2a765 */ jal func0f0a9d94 +/* f0ab368: 0fc2a765 */ jal abmagReset /* f0ab36c: 2544005c */ addiu $a0,$t2,0x5c /* f0ab370: 8faa0058 */ lw $t2,0x58($sp) /* f0ab374: 8fae0110 */ lw $t6,0x110($sp) @@ -22758,10 +22757,10 @@ void func0f0abd30(s32 handnum) hand->unk08c0 = 1; if (gunctrl->ammotypes[0] >= 0) { - func0f0a9d94(&hand->unk0dc4); + abmagReset(&hand->abmag); if (handnum == HAND_RIGHT) { - func0f0a9d94(&gunctrl->unk15dc); + abmagReset(&gunctrl->abmag); } gunctrl->unk15e9 = 0; diff --git a/src/include/game/game_097ba0.h b/src/include/game/game_097ba0.h index cc1f12cd8..ac50553d5 100644 --- a/src/include/game/game_097ba0.h +++ b/src/include/game/game_097ba0.h @@ -164,7 +164,7 @@ void currentPlayerGiveAmmoForWeapon(u32 weaponnum, u32 func, u32 quantity); u32 func0f0a9b10(void); u32 func0f0a9b68(void); u32 func0f0a9d2c(void); -void func0f0a9d94(u32 *arg0); +void abmagReset(struct abmag *abmag); u32 func0f0a9da8(void); u32 func0f0a9fc0(void); Gfx *hudRenderAmmo(Gfx *gdl); diff --git a/src/include/types.h b/src/include/types.h index 535883196..7fd6fcb72 100644 --- a/src/include/types.h +++ b/src/include/types.h @@ -1719,6 +1719,14 @@ struct beam { /*0x28*/ f32 dist; }; +struct abmag { + u16 unk00; + u16 unk02; + u8 unk04; + u8 unk05; + u16 alignment; +}; + // The first 4 bytes of the hand struct struct shorthand { u8 weaponnum; @@ -2081,23 +2089,22 @@ struct hand { /*0x0d7c*/ u32 unk0d7c; /*0x0d80*/ struct remoteminething *unk0d80; /*0x0d84*/ struct audiohandle *audiohandle; - /*0x0d88*/ u32 unk0d88; - /*0x0d8c*/ u32 unk0d8c; - /*0x0d90*/ u32 unk0d90; - /*0x0d94*/ u32 unk0d94; - /*0x0d98*/ u32 unk0d98; - /*0x0d9c*/ u32 unk0d9c; - /*0x0da0*/ u32 unk0da0; - /*0x0da4*/ u32 unk0da4; - /*0x0da8*/ u32 unk0da8; - /*0x0dac*/ u32 unk0dac; - /*0x0db0*/ u32 unk0db0; - /*0x0db4*/ u32 unk0db4; - /*0x0db8*/ f32 unk0db8; - /*0x0dbc*/ u32 unk0dbc; - /*0x0dc0*/ u32 unk0dc0; - /*0x0dc4*/ u32 unk0dc4; - /*0x0dc8*/ u32 unk0dc8; + /*0x0d88*/ u32 ispare4; + /*0x0d8c*/ u32 ispare5; + /*0x0d90*/ u32 ispare6; + /*0x0d94*/ u32 ispare7; + /*0x0d98*/ u32 ispare8; + /*0x0d9c*/ u32 ispare9; + /*0x0da0*/ u32 ispare10; + /*0x0da4*/ f32 fspare1; + /*0x0da8*/ f32 fspare2; + /*0x0dac*/ f32 fspare3; + /*0x0db0*/ f32 fspare4; + /*0x0db4*/ f32 fspare5; + /*0x0db8*/ f32 gunsmokepoint; + /*0x0dbc*/ u32 fspare7; + /*0x0dc0*/ u32 fspare8; + /*0x0dc4*/ struct abmag abmag; /*0x0dcc*/ u32 unk0dcc; /*0x0dd0*/ u32 unk0dd0; /*0x0dd4*/ u32 unk0dd4; @@ -2150,8 +2157,7 @@ struct gunctrl { /*0x15d0*/ u32 unk15d0; /*0x15d4*/ u32 unk15d4; /*0x15d8*/ u32 unk15d8; - /*0x15dc*/ u32 unk15dc; - /*0x15e0*/ u32 unk15e0; + /*0x15dc*/ struct abmag abmag; /*0x15e4*/ s8 ammotypes[2]; /*0x15e6*/ u8 unk15e6; /*0x15e7*/ u8 unk15e7;