diff --git a/src/game/data/data_0160b0.c b/src/game/data/data_0160b0.c index a838e8d7e..6a62f4f43 100644 --- a/src/game/data/data_0160b0.c +++ b/src/game/data/data_0160b0.c @@ -351,12 +351,12 @@ u32 var800705b8 = 0x00000000; u32 var800705bc = 0x00000000; struct var800705c0 var800705c0[] = { - { 0x0000, 0x0140, 0x000000dc, 0x00000140, 0x3f800000, 0x00000001, 0x000000dc, 0x00000000, 0x000000b4, 0x00000014, 0x00000088, 0x0000002a }, - { 0x0000, 0x0280, 0x000000dc, 0x00000280, 0x3f000000, 0x00000001, 0x000000dc, 0x00000000, 0x000000b4, 0x00000014, 0x00000088, 0x0000002a }, - { 0x0000, 0x0140, 0x000001e0, 0x00000140, 0x40000000, 0x00000002, 0x000001b8, 0x00000014, 0x00000168, 0x0000003c, 0x00000110, 0x00000068 }, - { 0x0000, 0x01b8, 0x0000014a, 0x000001b8, 0x3f800000, 0x00000001, 0x0000014a, 0x00000000, 0x0000014a, 0x00000000, 0x0000014a, 0x00000000 }, - { 0x0000, 0x01b8, 0x000000f0, 0x000001b8, 0x3f3a2e8c, 0x00000001, 0x000000dc, 0x00000000, 0x000000b4, 0x00000000, 0x00000088, 0x00000000 }, - { 0x0000, 0x0190, 0x0000012c, 0x00000190, 0x3f800000, 0x00000002, 0x0000012c, 0x00000000, 0x0000012c, 0x00000000, 0x0000012c, 0x00000000 }, + { 0x0000, 0x0140, 0x0000, 0x00dc, 0x00000140, 0x3f800000, 0x00000001, 0x000000dc, 0x00000000, 0x000000b4, 0x00000014, 0x00000088, 0x0000002a }, + { 0x0000, 0x0280, 0x0000, 0x00dc, 0x00000280, 0x3f000000, 0x00000001, 0x000000dc, 0x00000000, 0x000000b4, 0x00000014, 0x00000088, 0x0000002a }, + { 0x0000, 0x0140, 0x0000, 0x01e0, 0x00000140, 0x40000000, 0x00000002, 0x000001b8, 0x00000014, 0x00000168, 0x0000003c, 0x00000110, 0x00000068 }, + { 0x0000, 0x01b8, 0x0000, 0x014a, 0x000001b8, 0x3f800000, 0x00000001, 0x0000014a, 0x00000000, 0x0000014a, 0x00000000, 0x0000014a, 0x00000000 }, + { 0x0000, 0x01b8, 0x0000, 0x00f0, 0x000001b8, 0x3f3a2e8c, 0x00000001, 0x000000dc, 0x00000000, 0x000000b4, 0x00000000, 0x00000088, 0x00000000 }, + { 0x0000, 0x0190, 0x0000, 0x012c, 0x00000190, 0x3f800000, 0x00000002, 0x0000012c, 0x00000000, 0x0000012c, 0x00000000, 0x0000012c, 0x00000000 }, }; s32 var800706c8 = 0; diff --git a/src/game/game_0b63b0.c b/src/game/game_0b63b0.c index d760dfdb2..3d7053205 100644 --- a/src/game/game_0b63b0.c +++ b/src/game/game_0b63b0.c @@ -6580,28 +6580,16 @@ s16 func0f0bc44c(void) return value; } -GLOBAL_ASM( -glabel func0f0bc478 -/* f0bc478: 3c0e8007 */ lui $t6,0x8007 -/* f0bc47c: 8dce06c8 */ lw $t6,0x6c8($t6) -/* f0bc480: 3c18800a */ lui $t8,0x800a -/* f0bc484: 9318a4a0 */ lbu $t8,-0x5b60($t8) -/* f0bc488: 000e7880 */ sll $t7,$t6,0x2 -/* f0bc48c: 01ee7823 */ subu $t7,$t7,$t6 -/* f0bc490: 000f7880 */ sll $t7,$t7,0x2 -/* f0bc494: 01ee7823 */ subu $t7,$t7,$t6 -/* f0bc498: 000f7880 */ sll $t7,$t7,0x2 -/* f0bc49c: 3c038007 */ lui $v1,0x8007 -/* f0bc4a0: 006f1821 */ addu $v1,$v1,$t7 -/* f0bc4a4: 13000004 */ beqz $t8,.L0f0bc4b8 -/* f0bc4a8: 846305c6 */ lh $v1,0x5c6($v1) -/* f0bc4ac: 0003c843 */ sra $t9,$v1,0x1 -/* f0bc4b0: 00194400 */ sll $t0,$t9,0x10 -/* f0bc4b4: 00081c03 */ sra $v1,$t0,0x10 -.L0f0bc4b8: -/* f0bc4b8: 03e00008 */ jr $ra -/* f0bc4bc: 00601025 */ or $v0,$v1,$zero -); +s16 func0f0bc478(void) +{ + s16 value = var800705c0[var800706c8].unk06; + + if (g_Vars.unk0004e0) { + value = value >> 1; + } + + return value; +} GLOBAL_ASM( glabel func0f0bc4c0 diff --git a/src/include/game/game_0b63b0.h b/src/include/game/game_0b63b0.h index 49f17ce2d..628d2bcf9 100644 --- a/src/include/game/game_0b63b0.h +++ b/src/include/game/game_0b63b0.h @@ -49,7 +49,7 @@ void currentPlayerSurroundWithExplosions(s32 arg0); u32 func0f0bc120(void); void func0f0bc3f0(void); s16 func0f0bc44c(void); -u32 func0f0bc478(void); +s16 func0f0bc478(void); u32 func0f0bc4c0(void); u32 func0f0bc554(void); u32 func0f0bc7ac(void); diff --git a/src/include/types.h b/src/include/types.h index 8b476906c..fd8d0463a 100644 --- a/src/include/types.h +++ b/src/include/types.h @@ -5186,7 +5186,8 @@ struct var80075c00 { struct var800705c0 { u16 unk00; s16 unk02; - u32 unk04; + u16 unk04; + s16 unk06; u32 unk08; u32 unk0c; u32 unk10;