diff --git a/src/game/data/data_020df0.c b/src/game/data/data_020df0.c index 7e9b665aa..848fc786b 100644 --- a/src/game/data/data_020df0.c +++ b/src/game/data/data_020df0.c @@ -9589,7 +9589,7 @@ s32 g_MpTimeElapsed = 0; s32 g_MpTimeLimit = 36000; s32 g_MpScoreLimit = 10; s32 g_MpTeamScoreLimit = 20; -s32 var80084034 = 0; +void *var80084034 = NULL; s32 var80084038 = 0; f32 g_Uptime = 0; bool var80084040 = true; diff --git a/src/game/game_097ba0.c b/src/game/game_097ba0.c index 69a9505f1..d2739dec6 100644 --- a/src/game/game_097ba0.c +++ b/src/game/game_097ba0.c @@ -20653,7 +20653,7 @@ glabel var7f1acb14 void func0f0a8c50(void) { - if (g_Vars.currentplayer->unk0d0f_03 == 0) { + if (g_Vars.currentplayer->unk0638[0].unk0d0f_03 == 0) { g_Vars.currentplayer->invertgunfunc = false; } } @@ -21292,29 +21292,29 @@ void func0f0a93e0(struct coord *coord) { struct player *player = g_Vars.currentplayer; - player->unk07f8.x = func0f0b12ec(0) + coord->x; - player->unk07f8.y = coord->y; - player->unk07f8.z = coord->z; + player->unk0638[0].unk07f8.x = func0f0b12ec(0) + coord->x; + player->unk0638[0].unk07f8.y = coord->y; + player->unk0638[0].unk07f8.z = coord->z; - player->unk0f9c.x = func0f0b12ec(1) + coord->x; - player->unk0f9c.y = coord->y; - player->unk0f9c.z = coord->z; + player->unk0638[1].unk07f8.x = func0f0b12ec(1) + coord->x; + player->unk0638[1].unk07f8.y = coord->y; + player->unk0638[1].unk07f8.z = coord->z; } void func0f0a9464(struct coord *coord) { struct player *player = g_Vars.currentplayer; - player->unk1338.x = player->unk0b94.x = coord->x; - player->unk1338.y = player->unk0b94.y = coord->y; - player->unk1338.z = player->unk0b94.z = coord->z; + player->unk0638[1].unk0b94.x = player->unk0638[0].unk0b94.x = coord->x; + player->unk0638[1].unk0b94.y = player->unk0638[0].unk0b94.y = coord->y; + player->unk0638[1].unk0b94.z = player->unk0638[0].unk0b94.z = coord->z; } void func0f0a9494(u32 operation) { switch (operation) { case 0: - g_Vars.currentplayer->unk1490 = g_Vars.currentplayer->unk0cec = false; + g_Vars.currentplayer->unk0638[1].unk0cec = g_Vars.currentplayer->unk0638[0].unk0cec = false; break; case 1: break; @@ -21330,16 +21330,16 @@ void func0f0a94d0(u32 operation, struct coord *a, struct coord *b) if (a->x > -100000.0f && a->x < 100000.0f && a->y > -100000.0f && a->y < 100000.0f && a->z > -100000.0f && a->z < 100000.0f) { - player->unk0cec = true; - player->unk1490 = true; + player->unk0638[0].unk0cec = true; + player->unk0638[1].unk0cec = true; - player->unk1494.x = player->unk0cf0.x = a->x; - player->unk1494.y = player->unk0cf0.y = a->y; - player->unk1494.z = player->unk0cf0.z = a->z; + player->unk0638[1].unk0cf0.x = player->unk0638[0].unk0cf0.x = a->x; + player->unk0638[1].unk0cf0.y = player->unk0638[0].unk0cf0.y = a->y; + player->unk0638[1].unk0cf0.z = player->unk0638[0].unk0cf0.z = a->z; - player->unk14a0.x = player->unk0cfc.x = b->x; - player->unk14a0.y = player->unk0cfc.y = b->y; - player->unk14a0.z = player->unk0cfc.z = b->z; + player->unk0638[1].unk0cfc.x = player->unk0638[0].unk0cfc.x = b->x; + player->unk0638[1].unk0cfc.y = player->unk0638[0].unk0cfc.y = b->y; + player->unk0638[1].unk0cfc.z = player->unk0638[0].unk0cfc.z = b->z; } break; case 1: diff --git a/src/game/game_0b0420.c b/src/game/game_0b0420.c index 774263d39..a08ea2582 100644 --- a/src/game/game_0b0420.c +++ b/src/game/game_0b0420.c @@ -1995,7 +1995,7 @@ s8 weaponGetMaxFireRatePerTick(u32 weaponnum, u32 funcindex) u32 currentPlayerGetSight(void) { - struct weaponfunc *func = weaponGetFunctionById(g_Vars.currentplayer->unk0638, g_Vars.currentplayer->unk063b); + struct weaponfunc *func = weaponGetFunctionById(g_Vars.currentplayer->unk0638[0].unk0638, g_Vars.currentplayer->unk0638[0].unk063b); if (func && (func->type & 0xff) == INVENTORYFUNCTYPE_CLOSE) { return SIGHT_NONE; @@ -2005,7 +2005,7 @@ u32 currentPlayerGetSight(void) return SIGHT_CLASSIC; } - switch (g_Vars.currentplayer->unk0638) { + switch (g_Vars.currentplayer->unk0638[0].unk0638) { case WEAPON_HORIZONSCANNER: return SIGHT_NONE; case WEAPON_NONE: diff --git a/src/game/game_0c3620.c b/src/game/game_0c3620.c index f3ef888ff..fb8deb1f8 100644 --- a/src/game/game_0c3620.c +++ b/src/game/game_0c3620.c @@ -11,125 +11,29 @@ #include "lib/lib_317f0.h" #include "types.h" -GLOBAL_ASM( -glabel currentPlayerSetMoveModeCutscene -/* f0c3620: 27bdffc8 */ addiu $sp,$sp,-56 -/* f0c3624: afb40028 */ sw $s4,0x28($sp) -/* f0c3628: 3c14800a */ lui $s4,%hi(g_Vars) -/* f0c362c: 26949fc0 */ addiu $s4,$s4,%lo(g_Vars) -/* f0c3630: 8e8f0284 */ lw $t7,0x284($s4) -/* f0c3634: afbf0034 */ sw $ra,0x34($sp) -/* f0c3638: afb60030 */ sw $s6,0x30($sp) -/* f0c363c: afb5002c */ sw $s5,0x2c($sp) -/* f0c3640: afb30024 */ sw $s3,0x24($sp) -/* f0c3644: afb20020 */ sw $s2,0x20($sp) -/* f0c3648: afb1001c */ sw $s1,0x1c($sp) -/* f0c364c: afb00018 */ sw $s0,0x18($sp) -/* f0c3650: 240e0005 */ addiu $t6,$zero,0x5 -/* f0c3654: adee01b0 */ sw $t6,0x1b0($t7) -/* f0c3658: 8e98006c */ lw $t8,0x6c($s4) -/* f0c365c: 0000a825 */ or $s5,$zero,$zero -/* f0c3660: 00002825 */ or $a1,$zero,$zero -/* f0c3664: 13000003 */ beqz $t8,.L0f0c3674 -/* f0c3668: 00002025 */ or $a0,$zero,$zero -/* f0c366c: 10000001 */ beqz $zero,.L0f0c3674 -/* f0c3670: 24050001 */ addiu $a1,$zero,0x1 -.L0f0c3674: -/* f0c3674: 8e990068 */ lw $t9,0x68($s4) -/* f0c3678: 00001825 */ or $v1,$zero,$zero -/* f0c367c: 00001025 */ or $v0,$zero,$zero -/* f0c3680: 13200003 */ beqz $t9,.L0f0c3690 -/* f0c3684: 00156880 */ sll $t5,$s5,0x2 -/* f0c3688: 10000001 */ beqz $zero,.L0f0c3690 -/* f0c368c: 24040001 */ addiu $a0,$zero,0x1 -.L0f0c3690: -/* f0c3690: 8e880064 */ lw $t0,0x64($s4) -/* f0c3694: 028d9021 */ addu $s2,$s4,$t5 -/* f0c3698: 2416ffff */ addiu $s6,$zero,-1 -/* f0c369c: 11000003 */ beqz $t0,.L0f0c36ac -/* f0c36a0: 241307a4 */ addiu $s3,$zero,0x7a4 -/* f0c36a4: 10000001 */ beqz $zero,.L0f0c36ac -/* f0c36a8: 24030001 */ addiu $v1,$zero,0x1 -.L0f0c36ac: -/* f0c36ac: 8e890070 */ lw $t1,0x70($s4) -/* f0c36b0: 11200003 */ beqz $t1,.L0f0c36c0 -/* f0c36b4: 00000000 */ sll $zero,$zero,0x0 -/* f0c36b8: 10000001 */ beqz $zero,.L0f0c36c0 -/* f0c36bc: 24020001 */ addiu $v0,$zero,0x1 -.L0f0c36c0: -/* f0c36c0: 00435021 */ addu $t2,$v0,$v1 -/* f0c36c4: 01445821 */ addu $t3,$t2,$a0 -/* f0c36c8: 01656021 */ addu $t4,$t3,$a1 -/* f0c36cc: 59800033 */ blezl $t4,.L0f0c379c -/* f0c36d0: 8fbf0034 */ lw $ra,0x34($sp) -/* f0c36d4: 8e4e0064 */ lw $t6,0x64($s2) -.L0f0c36d8: -/* f0c36d8: 00008825 */ or $s1,$zero,$zero -/* f0c36dc: add61c40 */ sw $s6,0x1c40($t6) -.L0f0c36e0: -/* f0c36e0: 8e4f0064 */ lw $t7,0x64($s2) -/* f0c36e4: 01f18021 */ addu $s0,$t7,$s1 -/* f0c36e8: 8e040d84 */ lw $a0,0xd84($s0) -/* f0c36ec: 26100638 */ addiu $s0,$s0,0x638 -/* f0c36f0: 50800009 */ beqzl $a0,.L0f0c3718 -/* f0c36f4: 263107a4 */ addiu $s1,$s1,0x7a4 -/* f0c36f8: 0c00cdfc */ jal func000337f0 -/* f0c36fc: 00000000 */ sll $zero,$zero,0x0 -/* f0c3700: 50400005 */ beqzl $v0,.L0f0c3718 -/* f0c3704: 263107a4 */ addiu $s1,$s1,0x7a4 -/* f0c3708: 0c00cec9 */ jal func00033b24 -/* f0c370c: 8e04074c */ lw $a0,0x74c($s0) -/* f0c3710: ae00074c */ sw $zero,0x74c($s0) -/* f0c3714: 263107a4 */ addiu $s1,$s1,0x7a4 -.L0f0c3718: -/* f0c3718: 1633fff1 */ bne $s1,$s3,.L0f0c36e0 -/* f0c371c: a2000004 */ sb $zero,0x4($s0) -/* f0c3720: 8e98006c */ lw $t8,0x6c($s4) -/* f0c3724: 26b50001 */ addiu $s5,$s5,0x1 -/* f0c3728: 26520004 */ addiu $s2,$s2,0x4 -/* f0c372c: 13000003 */ beqz $t8,.L0f0c373c -/* f0c3730: 00002825 */ or $a1,$zero,$zero -/* f0c3734: 10000001 */ beqz $zero,.L0f0c373c -/* f0c3738: 24050001 */ addiu $a1,$zero,0x1 -.L0f0c373c: -/* f0c373c: 8e990068 */ lw $t9,0x68($s4) -/* f0c3740: 00002025 */ or $a0,$zero,$zero -/* f0c3744: 00001825 */ or $v1,$zero,$zero -/* f0c3748: 13200003 */ beqz $t9,.L0f0c3758 -/* f0c374c: 00001025 */ or $v0,$zero,$zero -/* f0c3750: 10000001 */ beqz $zero,.L0f0c3758 -/* f0c3754: 24040001 */ addiu $a0,$zero,0x1 -.L0f0c3758: -/* f0c3758: 8e880064 */ lw $t0,0x64($s4) -/* f0c375c: 11000003 */ beqz $t0,.L0f0c376c -/* f0c3760: 00000000 */ sll $zero,$zero,0x0 -/* f0c3764: 10000001 */ beqz $zero,.L0f0c376c -/* f0c3768: 24030001 */ addiu $v1,$zero,0x1 -.L0f0c376c: -/* f0c376c: 8e890070 */ lw $t1,0x70($s4) -/* f0c3770: 11200003 */ beqz $t1,.L0f0c3780 -/* f0c3774: 00000000 */ sll $zero,$zero,0x0 -/* f0c3778: 10000001 */ beqz $zero,.L0f0c3780 -/* f0c377c: 24020001 */ addiu $v0,$zero,0x1 -.L0f0c3780: -/* f0c3780: 00435021 */ addu $t2,$v0,$v1 -/* f0c3784: 01445821 */ addu $t3,$t2,$a0 -/* f0c3788: 01656021 */ addu $t4,$t3,$a1 -/* f0c378c: 02ac082a */ slt $at,$s5,$t4 -/* f0c3790: 5420ffd1 */ bnezl $at,.L0f0c36d8 -/* f0c3794: 8e4e0064 */ lw $t6,0x64($s2) -/* f0c3798: 8fbf0034 */ lw $ra,0x34($sp) -.L0f0c379c: -/* f0c379c: 8fb00018 */ lw $s0,0x18($sp) -/* f0c37a0: 8fb1001c */ lw $s1,0x1c($sp) -/* f0c37a4: 8fb20020 */ lw $s2,0x20($sp) -/* f0c37a8: 8fb30024 */ lw $s3,0x24($sp) -/* f0c37ac: 8fb40028 */ lw $s4,0x28($sp) -/* f0c37b0: 8fb5002c */ lw $s5,0x2c($sp) -/* f0c37b4: 8fb60030 */ lw $s6,0x30($sp) -/* f0c37b8: 03e00008 */ jr $ra -/* f0c37bc: 27bd0038 */ addiu $sp,$sp,0x38 -); +void currentPlayerSetMoveModeCutscene(void) +{ + s32 i; + s32 j; + + g_Vars.currentplayer->bondmovemode = MOVEMODE_CUTSCENE; + + for (i = 0; i < PLAYERCOUNT(); i++) { + g_Vars.players[i]->joybutinhibit = 0xffffffff; + + // @bug? Should this be < 2? + for (j = 0; j < 1; j++) { + struct player638 *thing = &g_Vars.players[i]->unk0638[j]; + + if (thing->unk0d84 && func000337f0(thing->unk0d84)) { + func00033b24(thing->unk0d84); + thing->unk0d84 = NULL; + } + + thing->unk063c = 0; + } + } +} GLOBAL_ASM( glabel func0f0c37c0 diff --git a/src/game/game_0fd660.c b/src/game/game_0fd660.c index 6b4d7802e..988ae9374 100644 --- a/src/game/game_0fd660.c +++ b/src/game/game_0fd660.c @@ -625,7 +625,7 @@ void activemenuApply(s32 slot) if (var80088804 != 0) { uVar6 = func0f19d268(func0f19d250()); - if (uVar6 == g_Vars.currentplayer->unk0638) { + if (uVar6 == g_Vars.currentplayer->unk0638[0].unk0638) { pass = false; } } @@ -746,8 +746,8 @@ void activemenuGetSlotDetails(s32 slot, u32 *flags, char *label) if (slot == 4) { strcpy(label, langGet(L_MISC(171))); // "Function" } else if (slot == 1 || slot == 7) { - prifunc = weaponGetFunction(&g_Vars.currentplayer->unk0638, 0); - secfunc = weaponGetFunction(&g_Vars.currentplayer->unk0638, 1); + prifunc = weaponGetFunction(&g_Vars.currentplayer->unk0638[0].unk0638, 0); + secfunc = weaponGetFunction(&g_Vars.currentplayer->unk0638[0].unk0638, 1); if (slot == 1) { if (!secfunc diff --git a/src/game/game_167ae0.c b/src/game/game_167ae0.c index b184b1cdc..78f17eb13 100644 --- a/src/game/game_167ae0.c +++ b/src/game/game_167ae0.c @@ -269,7 +269,7 @@ void doBoostAndSlayerSfx(void) func0f167b84(2, usingrocket); } - if (g_Vars.lvupdate240 == 0 && var80084034 != 0 && func000337f0(var80084034)) { + if (g_Vars.lvupdate240 == 0 && var80084034 && func000337f0(var80084034)) { func00033b24(var80084034); } } @@ -320,7 +320,7 @@ void func0f167e7c(s32 stagenum) g_Vars.unk0004d6 = 0; g_Vars.unk0004d7 = 0; - var80084034 = 0; + var80084034 = NULL; func0f16d324(); func0f011124(true); @@ -5709,7 +5709,7 @@ glabel func0f16b96c // // // Sound alarm at 10 seconds remaining // if (nexttime >= g_MpTimeLimit - 600 -// && var80084034 == 0 +// && var80084034 == NULL // && !soloIsPaused() // && nexttime < g_MpTimeLimit) { // // 5dc @@ -5875,7 +5875,7 @@ void stageLoad(void) { func0f11dcb0(1); - if (var80084034 != 0 && func000337f0(var80084034)) { + if (var80084034 && func000337f0(var80084034)) { func00033b24(var80084034); } diff --git a/src/game/game_190260.c b/src/game/game_190260.c index 119d4927d..7b530d476 100644 --- a/src/game/game_190260.c +++ b/src/game/game_190260.c @@ -1335,7 +1335,7 @@ u32 func0f1915b4(struct chrdata *chr) return chr->aibot->unk020; } - return g_Vars.players[propGetPlayerNum(chr->prop)]->unk0638; + return g_Vars.players[propGetPlayerNum(chr->prop)]->unk0638[0].unk0638; } u8 func0f191600(struct chrdata *chr) diff --git a/src/include/game/data/data_020df0.h b/src/include/game/data/data_020df0.h index d5292839d..cbe93f34d 100644 --- a/src/include/game/data/data_020df0.h +++ b/src/include/game/data/data_020df0.h @@ -280,7 +280,7 @@ extern s32 g_MpTimeElapsed; extern s32 g_MpTimeLimit; extern s32 g_MpScoreLimit; extern s32 g_MpTeamScoreLimit; -extern s32 var80084034; +extern void *var80084034; extern s32 var80084038; extern f32 g_Uptime; extern bool var80084040; diff --git a/src/include/game/game_0c3620.h b/src/include/game/game_0c3620.h index 0b6d94f29..98f141504 100644 --- a/src/include/game/game_0c3620.h +++ b/src/include/game/game_0c3620.h @@ -3,7 +3,7 @@ #include #include "types.h" -u32 currentPlayerSetMoveModeCutscene(void); +void currentPlayerSetMoveModeCutscene(void); void func0f0c37c0(void); #endif diff --git a/src/include/lib/lib_317f0.h b/src/include/lib/lib_317f0.h index 4bc206043..11e5475b4 100644 --- a/src/include/lib/lib_317f0.h +++ b/src/include/lib/lib_317f0.h @@ -13,9 +13,9 @@ u32 func00033378(void); u32 func00033390(void); u32 func00033634(void); u32 func0003364c(void); -u32 func000337f0(s32 arg0); +u32 func000337f0(void *arg0); u32 func00033820(void); -void func00033b24(s32 arg0); +void func00033b24(void *arg0); u32 func00033bc0(void); u32 func00033c30(void); u32 func00033cf0(void); diff --git a/src/include/types.h b/src/include/types.h index 0c78db247..e0d96bad9 100644 --- a/src/include/types.h +++ b/src/include/types.h @@ -1158,335 +1158,12 @@ struct player1630 { u32 unk08; }; -struct player { - /*0x0000*/ s32 cameramode; - /*0x0004*/ struct coord memcampos; - /*0x0010*/ u16 visionmode; - /*0x0014*/ s32 memcamroom; - /*0x0018*/ u32 unk0018; - /*0x001c*/ u32 unk001c; - /*0x0020*/ u32 unk0020; - /*0x0024*/ u32 unk0024; - /*0x0028*/ u32 unk0028; - /*0x002c*/ u32 unk002c; - /*0x0030*/ bool isfalling; - /*0x0034*/ s32 fallstart; - /*0x0038*/ struct coord globaldrawworldoffset; - /*0x0044*/ struct coord globaldrawcameraoffset; - /*0x0050*/ struct coord globaldrawworldbgoffset; - /*0x005c*/ u32 unk005c; - /*0x0060*/ u32 unk0060; - /*0x0064*/ u32 unk0064; - /*0x0068*/ u32 unk0068; - /*0x006c*/ u32 unk006c; - /*0x0070*/ f32 sumground; - /*0x0074*/ f32 vv_manground; - /*0x0078*/ f32 vv_ground; - /*0x007c*/ struct coord bdeltapos; - /*0x0088*/ f32 sumcrouch; - /*0x008c*/ f32 crouchheight; - /*0x0090*/ s32 crouchtime240; - /*0x0094*/ f32 crouchfall; - /*0x0098*/ s32 swaypos; - /*0x009c*/ f32 swayoffset; - /*0x00a0*/ f32 swaytarget; - /*0x00a4*/ f32 swayoffset0; - /*0x00a8*/ f32 swayoffset2; - /*0x00ac*/ s32 crouchpos; - /*0x00b0*/ s32 autocrouchpos; - /*0x00b4*/ f32 crouchoffset; - /*0x00b8*/ f32 crouchspeed; - /*0x00bc*/ struct prop *prop; - /*0x00c0*/ u32 unk00c0; - /*0x00c4*/ u32 unk00c4; - /*0x00c8*/ u32 unk00c8; - /*0x00cc*/ u32 unk00cc; - /*0x00d0*/ u32 unk00d0; - /*0x00d4*/ u32 unk00d4; - /*0x00d8*/ bool isdead; - /*0x00dc*/ f32 bondhealth; - /*0x00e0*/ u32 unk00e0; - /*0x00e4*/ u32 unk00e4; - /*0x00e8*/ u32 unk00e8; - /*0x00ec*/ u32 unk00ec; - /*0x00f0*/ u32 unk00f0; - /*0x00f4*/ u32 unk00f4; - /*0x00f8*/ u32 unk00f8; - /*0x00fc*/ u32 unk00fc; - /*0x0100*/ u32 unk0100; - /*0x0104*/ u32 unk0104; - /*0x0108*/ u32 unk0108; - /*0x010c*/ u32 unk010c; - /*0x0110*/ u32 unk0110; - /*0x0114*/ u32 unk0114; - /*0x0118*/ u32 unk0118; - /*0x011c*/ u32 unk011c; - /*0x0120*/ bool insightaimmode; - - /*0x0124*/ bool autoyaimenabled; - /*0x0128*/ f32 autoaimy; - /*0x012c*/ struct prop *autoyaimprop; - /*0x0130*/ s32 autoyaimtime60; - - /*0x0134*/ bool autoxaimenabled; - /*0x0138*/ f32 autoaimx; - /*0x013c*/ struct prop *autoxaimprop; - /*0x0140*/ s32 autoxaimtime60; - - /*0x0144*/ f32 vv_theta; // turn angle - /*0x0148*/ f32 speedtheta; // turn speed - /*0x014c*/ f32 vv_costheta; - /*0x0150*/ f32 vv_sintheta; - - /*0x0154*/ f32 vv_verta; // look up/down angle. 0 = horizontal, 90 = up - /*0x0158*/ f32 vv_verta360; - /*0x015c*/ f32 speedverta; // look up/down speed - /*0x0160*/ f32 vv_cosverta; - /*0x0164*/ f32 vv_sinverta; - - /*0x0168*/ f32 speedsideways; - /*0x016c*/ f32 speedstrafe; - /*0x0170*/ f32 speedforwards; - /*0x0174*/ f32 speedboost; - /*0x0178*/ u32 speedmaxtime60; - /*0x017c*/ f32 bondshotspeed[3]; - /*0x0188*/ f32 unk0188; - /*0x018c*/ f32 unk018c; - /*0x0190*/ f32 unk0190; - /*0x0194*/ f32 unk0194; - /*0x0198*/ f32 unk0198; - /*0x019c*/ s32 activatetimelast; - /*0x01a0*/ s32 activatetimethis; - /*0x01a4*/ struct coord moveinitspeed; - /*0x01b0*/ u32 bondmovemode; - /*0x01b4*/ f32 gunextraaimx; - /*0x01b8*/ f32 gunextraaimy; - /*0x01bc*/ u32 unk01bc; - /*0x01c0*/ u32 unk01c0; - /*0x01c4*/ u32 unk01c4; - /*0x01c8*/ u32 unk01c8; - /*0x01cc*/ u32 unk01cc; - /*0x01d0*/ u32 unk01d0; - /*0x01d4*/ u32 unk01d4; - /*0x01d8*/ u32 unk01d8; - /*0x01dc*/ u32 unk01dc; - /*0x01e0*/ u32 unk01e0; - /*0x01e4*/ u32 unk01e4; - /*0x01e8*/ u32 unk01e8; - /*0x01ec*/ u32 unk01ec; - /*0x01f0*/ u32 unk01f0; - /*0x01f4*/ u32 unk01f4; - /*0x01f8*/ u32 unk01f8; - /*0x01fc*/ u32 unk01fc; - /*0x0200*/ u32 unk0200; - /*0x0204*/ u32 unk0204; - /*0x0208*/ u32 unk0208; - /*0x020c*/ u32 unk020c; - /*0x0210*/ u32 unk0210; - /*0x0214*/ u32 unk0214; - /*0x0218*/ u32 unk0218; - /*0x021c*/ u32 unk021c; - /*0x0220*/ u32 unk0220; - /*0x0224*/ u32 unk0224; - /*0x0228*/ u32 unk0228; - /*0x022c*/ u32 unk022c; - /*0x0230*/ u32 unk0230; - /*0x0234*/ u32 unk0234; - /*0x0238*/ u32 unk0238; - /*0x023c*/ u32 unk023c; - /*0x0240*/ u32 unk0240; - /*0x0244*/ u32 unk0244; - /*0x0248*/ u32 unk0248; - /*0x024c*/ s16 invdowntime; - /*0x024e*/ s16 usedowntime; - /*0x0250*/ u8 activemenumode; - /*0x0254*/ u32 unk0254; - /*0x0258*/ u32 unk0258; - /*0x025c*/ u32 unk025c; - /*0x0260*/ u32 unk0260; - /*0x0264*/ u32 unk0264; - /*0x0268*/ u32 unk0268; - /*0x026c*/ u32 unk026c; - /*0x0270*/ u32 unk0270; - /*0x0274*/ u32 unk0274; - /*0x0278*/ u32 unk0278; - /*0x027c*/ u32 unk027c; - /*0x0280*/ u32 unk0280; - /*0x0284*/ s16 bondprevrooms[8]; - /*0x0294*/ f32 liftground; - /*0x0298*/ struct prop *lift; - /*0x029c*/ u32 unk029c; - /*0x02a0*/ u32 unk02a0; - /*0x02a4*/ u32 unk02a4; - /*0x02a8*/ u32 unk02a8; - /*0x02ac*/ bool onladder; - /*0x02b0*/ bool inlift; - /*0x02b4*/ struct coord posdie; - /*0x02c0*/ struct coord bonddampeyesum; - /*0x02cc*/ struct coord bonddampeye; - /*0x02d8*/ u32 colourscreenred; - /*0x02dc*/ u32 colourscreengreen; - /*0x02e0*/ u32 colourscreenblue; - /*0x02e4*/ f32 colourscreenfrac; - /*0x02e8*/ f32 colourfadetime60; - /*0x02ec*/ f32 colourfadetimemax60; - /*0x02f0*/ u32 colourfaderedold; - /*0x02f4*/ u32 colourfaderednew; - /*0x02f8*/ u32 colourfadegreenold; - /*0x02fc*/ u32 colourfadegreennew; - /*0x0300*/ u32 colourfadeblueold; - /*0x0304*/ u32 colourfadebluenew; - /*0x0308*/ f32 colourfadefracold; - /*0x030c*/ f32 colourfadefracnew; - /*0x0310*/ struct coord bondprevpos; - /*0x031c*/ f32 thetadie; - /*0x0320*/ f32 vertadie; - /*0x0324*/ u32 bondtype; - /*0x0328*/ bool startnewbonddie; - /*0x032c*/ bool redbloodfinished; - /*0x0330*/ bool deathanimfinished; - /*0x0334*/ u32 unk0334; - /*0x0338*/ struct playerbond bonddie; - /*0x036c*/ struct playerbond bond2; - /*0x03a0*/ bool resetheadpos; - /*0x03a4*/ bool resetheadrot; - /*0x03a8*/ u32 unk03a8; - /*0x03ac*/ s32 unk03ac; - /*0x03b0*/ f32 headamp; - /*0x03b4*/ u32 unk03b4; - /*0x03b8*/ u32 unk03b8; - /*0x03bc*/ u32 unk03bc; - /*0x03c0*/ struct coord headpos; - /*0x03cc*/ struct coord headlook; - /*0x03d8*/ struct coord headup; - /*0x03e4*/ struct coord headpossum; - /*0x03f0*/ struct coord headlooksum; - /*0x03fc*/ struct coord headupsum; - /*0x0408*/ struct coord headbodyoffset; - /*0x0414*/ f32 standheight; - /*0x0418*/ struct coord standbodyoffset; - /*0x0424*/ f32 standfrac; - /*0x0428*/ struct coord standlook[2]; - /*0x0440*/ struct coord standup[2]; - /*0x0458*/ s32 standcnt; - /*0x045c*/ struct animdata animdata; - /*0x0480*/ struct eyespy *eyespy; - /*0x0484*/ u32 unk0484; - /*0x0488*/ u32 unk0488; - /*0x048c*/ bool aborted; - /*0x0490*/ u32 unk0490; - /*0x0494*/ u32 unk0494; - /*0x0498*/ u32 unk0498; - /*0x049c*/ u32 unk049c; - /*0x04a0*/ u32 unk04a0; - /*0x04a4*/ u32 unk04a4; - /*0x04a8*/ u32 unk04a8; - /*0x04ac*/ u32 unk04ac; - /*0x04b0*/ u32 unk04b0; - /*0x04b4*/ u32 unk04b4; - /*0x04b8*/ u32 unk04b8; - /*0x04bc*/ u32 unk04bc; - /*0x04c0*/ u32 unk04c0; - /*0x04c4*/ u32 unk04c4; - /*0x04c8*/ u32 unk04c8; - /*0x04cc*/ u32 unk04cc; - /*0x04d0*/ u32 unk04d0; - /*0x04d4*/ u32 unk04d4; - /*0x04d8*/ u32 unk04d8; - /*0x04dc*/ u32 unk04dc; - /*0x04e0*/ u32 unk04e0; - /*0x04e4*/ u32 unk04e4; - /*0x04e8*/ u32 unk04e8; - /*0x04ec*/ u32 unk04ec; - /*0x04f0*/ u32 unk04f0; - /*0x04f4*/ u32 unk04f4; - /*0x04f8*/ u32 unk04f8; - /*0x04fc*/ u32 unk04fc; - /*0x0500*/ u32 unk0500; - /*0x0504*/ u32 unk0504; - /*0x0508*/ u32 unk0508; - /*0x050c*/ u32 unk050c; - /*0x0510*/ u32 unk0510; - /*0x0514*/ u32 unk0514; - /*0x0518*/ u32 unk0518; - /*0x051c*/ u32 unk051c; - /*0x0520*/ u32 unk0520; - /*0x0524*/ u32 unk0524; - /*0x0528*/ u32 unk0528; - /*0x052c*/ u32 unk052c; - /*0x0530*/ u32 unk0530; - /*0x0534*/ u32 unk0534; - /*0x0538*/ u32 unk0538; - /*0x053c*/ u32 unk053c; - /*0x0540*/ u32 unk0540; - /*0x0544*/ u32 unk0544; - /*0x0548*/ u32 unk0548; - /*0x054c*/ u32 unk054c; - /*0x0550*/ u32 unk0550; - /*0x0554*/ u32 unk0554; - /*0x0558*/ u32 unk0558; - /*0x055c*/ u32 unk055c; - /*0x0560*/ u32 unk0560; - /*0x0564*/ u32 unk0564; - /*0x0568*/ u32 unk0568; - /*0x056c*/ u32 unk056c; - /*0x0570*/ u32 unk0570; - /*0x0574*/ u32 unk0574; - /*0x0578*/ u32 unk0578; - /*0x057c*/ u32 unk057c; - /*0x0580*/ u32 unk0580; - /*0x0584*/ u32 unk0584; - /*0x0588*/ u32 unk0588; - /*0x058c*/ u32 unk058c; - /*0x0590*/ u32 unk0590; - /*0x0594*/ u32 unk0594; - /*0x0598*/ u32 unk0598; - /*0x059c*/ u32 unk059c; - /*0x05a0*/ u32 unk05a0; - /*0x05a4*/ u32 unk05a4; - /*0x05a8*/ u32 unk05a8; - /*0x05ac*/ u32 unk05ac; - /*0x05b0*/ u32 unk05b0; - /*0x05b4*/ u32 unk05b4; - /*0x05b8*/ u32 unk05b8; - /*0x05bc*/ u32 unk05bc; - /*0x05c0*/ u32 unk05c0; - /*0x05c4*/ u32 unk05c4; - /*0x05c8*/ u32 unk05c8; - /*0x05cc*/ u32 unk05cc; - /*0x05d0*/ u32 unk05d0; - /*0x05d4*/ u32 unk05d4; - /*0x05d8*/ u32 unk05d8; - /*0x05dc*/ u32 unk05dc; - /*0x05e0*/ u32 unk05e0; - /*0x05e4*/ u32 unk05e4; - /*0x05e8*/ u32 unk05e8; - /*0x05ec*/ u32 unk05ec; - /*0x05f0*/ u32 unk05f0; - /*0x05f4*/ u32 unk05f4; - /*0x05f8*/ u32 unk05f8; - /*0x05fc*/ u32 unk05fc; - /*0x0600*/ u32 unk0600; - /*0x0604*/ u32 unk0604; - /*0x0608*/ u32 unk0608; - /*0x060c*/ u32 unk060c; - /*0x0610*/ u32 unk0610; - /*0x0614*/ u32 unk0614; - /*0x0618*/ u32 unk0618; - /*0x061c*/ u32 unk061c; - /*0x0620*/ u32 unk0620; - /*0x0624*/ u32 unk0624; - /*0x0628*/ u32 unk0628; - /*0x062c*/ u32 unk062c; - /*0x0630*/ u16 unk0630; - /*0x0632*/ u16 unk0632; - /*0x0634*/ u16 unk0634; - /*0x0636*/ u16 unk0636; +struct player638 { /*0x0638*/ u8 unk0638; /*0x0639*/ u8 unk0639; /*0x063a*/ u8 unk063a; /*0x063b*/ u8 unk063b; - /*0x063c*/ u32 unk063c; + /*0x063c*/ u8 unk063c; /*0x0640*/ u32 unk0640; /*0x0644*/ u32 unk0644; /*0x0648*/ u32 unk0648; @@ -1949,7 +1626,7 @@ struct player { /*0x0d78*/ u32 unk0d78; /*0x0d7c*/ u32 unk0d7c; /*0x0d80*/ u32 unk0d80; - /*0x0d84*/ u32 unk0d84; + /*0x0d84*/ void *unk0d84; /*0x0d88*/ u32 unk0d88; /*0x0d8c*/ u32 unk0d8c; /*0x0d90*/ u32 unk0d90; @@ -1971,487 +1648,817 @@ struct player { /*0x0dd0*/ u32 unk0dd0; /*0x0dd4*/ u32 unk0dd4; /*0x0dd8*/ u32 unk0dd8; - /*0x0ddc*/ u32 unk0ddc; - /*0x0de0*/ u32 unk0de0; - /*0x0de4*/ u32 unk0de4; - /*0x0de8*/ u32 unk0de8; - /*0x0dec*/ u32 unk0dec; - /*0x0df0*/ u32 unk0df0; - /*0x0df4*/ u32 unk0df4; - /*0x0df8*/ u32 unk0df8; - /*0x0dfc*/ u32 unk0dfc; - /*0x0e00*/ u32 unk0e00; - /*0x0e04*/ u32 unk0e04; - /*0x0e08*/ u32 unk0e08; - /*0x0e0c*/ u32 unk0e0c; - /*0x0e10*/ u32 unk0e10; - /*0x0e14*/ u32 unk0e14; - /*0x0e18*/ u32 unk0e18; - /*0x0e1c*/ u32 unk0e1c; - /*0x0e20*/ u32 unk0e20; - /*0x0e24*/ u32 unk0e24; - /*0x0e28*/ u32 unk0e28; - /*0x0e2c*/ u32 unk0e2c; - /*0x0e30*/ u32 unk0e30; - /*0x0e34*/ u32 unk0e34; - /*0x0e38*/ u32 unk0e38; - /*0x0e3c*/ u32 unk0e3c; - /*0x0e40*/ u32 unk0e40; - /*0x0e44*/ u32 unk0e44; - /*0x0e48*/ u32 unk0e48; - /*0x0e4c*/ u32 unk0e4c; - /*0x0e50*/ u32 unk0e50; - /*0x0e54*/ u32 unk0e54; - /*0x0e58*/ u32 unk0e58; - /*0x0e5c*/ u32 unk0e5c; - /*0x0e60*/ u32 unk0e60; - /*0x0e64*/ u32 unk0e64; - /*0x0e68*/ u32 unk0e68; - /*0x0e6c*/ u32 unk0e6c; - /*0x0e70*/ u32 unk0e70; - /*0x0e74*/ u32 unk0e74; - /*0x0e78*/ u32 unk0e78; - /*0x0e7c*/ u32 unk0e7c; - /*0x0e80*/ u32 unk0e80; - /*0x0e84*/ u32 unk0e84; - /*0x0e88*/ u32 unk0e88; - /*0x0e8c*/ u32 unk0e8c; - /*0x0e90*/ u32 unk0e90; - /*0x0e94*/ u32 unk0e94; - /*0x0e98*/ u32 unk0e98; - /*0x0e9c*/ u32 unk0e9c; - /*0x0ea0*/ u32 unk0ea0; - /*0x0ea4*/ u32 unk0ea4; - /*0x0ea8*/ u32 unk0ea8; - /*0x0eac*/ u32 unk0eac; - /*0x0eb0*/ u32 unk0eb0; - /*0x0eb4*/ u32 unk0eb4; - /*0x0eb8*/ u32 unk0eb8; - /*0x0ebc*/ u32 unk0ebc; - /*0x0ec0*/ u32 unk0ec0; - /*0x0ec4*/ u32 unk0ec4; - /*0x0ec8*/ u32 unk0ec8; - /*0x0ecc*/ u32 unk0ecc; - /*0x0ed0*/ u32 unk0ed0; - /*0x0ed4*/ u32 unk0ed4; - /*0x0ed8*/ u32 unk0ed8; - /*0x0edc*/ u32 unk0edc; - /*0x0ee0*/ u32 unk0ee0; - /*0x0ee4*/ u32 unk0ee4; - /*0x0ee8*/ u32 unk0ee8; - /*0x0eec*/ u32 unk0eec; - /*0x0ef0*/ u32 unk0ef0; - /*0x0ef4*/ u32 unk0ef4; - /*0x0ef8*/ u32 unk0ef8; - /*0x0efc*/ u32 unk0efc; - /*0x0f00*/ u32 unk0f00; - /*0x0f04*/ u32 unk0f04; - /*0x0f08*/ u32 unk0f08; - /*0x0f0c*/ u32 unk0f0c; - /*0x0f10*/ u32 unk0f10; - /*0x0f14*/ u32 unk0f14; - /*0x0f18*/ u32 unk0f18; - /*0x0f1c*/ u32 unk0f1c; - /*0x0f20*/ u32 unk0f20; - /*0x0f24*/ u32 unk0f24; - /*0x0f28*/ u32 unk0f28; - /*0x0f2c*/ u32 unk0f2c; - /*0x0f30*/ u32 unk0f30; - /*0x0f34*/ u32 unk0f34; - /*0x0f38*/ u32 unk0f38; - /*0x0f3c*/ u32 unk0f3c; - /*0x0f40*/ u32 unk0f40; - /*0x0f44*/ u32 unk0f44; - /*0x0f48*/ u32 unk0f48; - /*0x0f4c*/ u32 unk0f4c; - /*0x0f50*/ u32 unk0f50; - /*0x0f54*/ u32 unk0f54; - /*0x0f58*/ u32 unk0f58; - /*0x0f5c*/ u32 unk0f5c; - /*0x0f60*/ u32 unk0f60; - /*0x0f64*/ u32 unk0f64; - /*0x0f68*/ u32 unk0f68; - /*0x0f6c*/ u32 unk0f6c; - /*0x0f70*/ u32 unk0f70; - /*0x0f74*/ u32 unk0f74; - /*0x0f78*/ u32 unk0f78; - /*0x0f7c*/ u32 unk0f7c; - /*0x0f80*/ u32 unk0f80; - /*0x0f84*/ u32 unk0f84; - /*0x0f88*/ u32 unk0f88; - /*0x0f8c*/ u32 unk0f8c; - /*0x0f90*/ u32 unk0f90; - /*0x0f94*/ u32 unk0f94; - /*0x0f98*/ u32 unk0f98; - /*0x0f9c*/ struct coord unk0f9c; - /*0x0fa8*/ u32 unk0fa8; - /*0x0fac*/ u32 unk0fac; - /*0x0fb0*/ u32 unk0fb0; - /*0x0fb4*/ u32 unk0fb4; - /*0x0fb8*/ u32 unk0fb8; - /*0x0fbc*/ u32 unk0fbc; - /*0x0fc0*/ u32 unk0fc0; - /*0x0fc4*/ u32 unk0fc4; - /*0x0fc8*/ u32 unk0fc8; - /*0x0fcc*/ u32 unk0fcc; - /*0x0fd0*/ u32 unk0fd0; - /*0x0fd4*/ u32 unk0fd4; - /*0x0fd8*/ u32 unk0fd8; - /*0x0fdc*/ u32 unk0fdc; - /*0x0fe0*/ u32 unk0fe0; - /*0x0fe4*/ u32 unk0fe4; - /*0x0fe8*/ u32 unk0fe8; - /*0x0fec*/ u32 unk0fec; - /*0x0ff0*/ u32 unk0ff0; - /*0x0ff4*/ u32 unk0ff4; - /*0x0ff8*/ u32 unk0ff8; - /*0x0ffc*/ u32 unk0ffc; - /*0x1000*/ u32 unk1000; - /*0x1004*/ u32 unk1004; - /*0x1008*/ u32 unk1008; - /*0x100c*/ u32 unk100c; - /*0x1010*/ u32 unk1010; - /*0x1014*/ u32 unk1014; - /*0x1018*/ u32 unk1018; - /*0x101c*/ u32 unk101c; - /*0x1020*/ u32 unk1020; - /*0x1024*/ u32 unk1024; - /*0x1028*/ u32 unk1028; - /*0x102c*/ u32 unk102c; - /*0x1030*/ u32 unk1030; - /*0x1034*/ u32 unk1034; - /*0x1038*/ u32 unk1038; - /*0x103c*/ u32 unk103c; - /*0x1040*/ u32 unk1040; - /*0x1044*/ u32 unk1044; - /*0x1048*/ u32 unk1048; - /*0x104c*/ u32 unk104c; - /*0x1050*/ u32 unk1050; - /*0x1054*/ u32 unk1054; - /*0x1058*/ u32 unk1058; - /*0x105c*/ u32 unk105c; - /*0x1060*/ u32 unk1060; - /*0x1064*/ u32 unk1064; - /*0x1068*/ u32 unk1068; - /*0x106c*/ u32 unk106c; - /*0x1070*/ u32 unk1070; - /*0x1074*/ u32 unk1074; - /*0x1078*/ u32 unk1078; - /*0x107c*/ u32 unk107c; - /*0x1080*/ u32 unk1080; - /*0x1084*/ u32 unk1084; - /*0x1088*/ u32 unk1088; - /*0x108c*/ u32 unk108c; - /*0x1090*/ u32 unk1090; - /*0x1094*/ u32 unk1094; - /*0x1098*/ u32 unk1098; - /*0x109c*/ u32 unk109c; - /*0x10a0*/ u32 unk10a0; - /*0x10a4*/ u32 unk10a4; - /*0x10a8*/ u32 unk10a8; - /*0x10ac*/ u32 unk10ac; - /*0x10b0*/ u32 unk10b0; - /*0x10b4*/ u32 unk10b4; - /*0x10b8*/ u32 unk10b8; - /*0x10bc*/ u32 unk10bc; - /*0x10c0*/ u32 unk10c0; - /*0x10c4*/ u32 unk10c4; - /*0x10c8*/ u32 unk10c8; - /*0x10cc*/ u32 unk10cc; - /*0x10d0*/ u32 unk10d0; - /*0x10d4*/ u32 unk10d4; - /*0x10d8*/ u32 unk10d8; - /*0x10dc*/ u32 unk10dc; - /*0x10e0*/ u32 unk10e0; - /*0x10e4*/ u32 unk10e4; - /*0x10e8*/ u32 unk10e8; - /*0x10ec*/ u32 unk10ec; - /*0x10f0*/ u32 unk10f0; - /*0x10f4*/ u32 unk10f4; - /*0x10f8*/ u32 unk10f8; - /*0x10fc*/ u32 unk10fc; - /*0x1100*/ u32 unk1100; - /*0x1104*/ u32 unk1104; - /*0x1108*/ u32 unk1108; - /*0x110c*/ u32 unk110c; - /*0x1110*/ u32 unk1110; - /*0x1114*/ u32 unk1114; - /*0x1118*/ u32 unk1118; - /*0x111c*/ u32 unk111c; - /*0x1120*/ u32 unk1120; - /*0x1124*/ u32 unk1124; - /*0x1128*/ u32 unk1128; - /*0x112c*/ u32 unk112c; - /*0x1130*/ u32 unk1130; - /*0x1134*/ u32 unk1134; - /*0x1138*/ u32 unk1138; - /*0x113c*/ u32 unk113c; - /*0x1140*/ u32 unk1140; - /*0x1144*/ u32 unk1144; - /*0x1148*/ u32 unk1148; - /*0x114c*/ u32 unk114c; - /*0x1150*/ u32 unk1150; - /*0x1154*/ u32 unk1154; - /*0x1158*/ u32 unk1158; - /*0x115c*/ u32 unk115c; - /*0x1160*/ u32 unk1160; - /*0x1164*/ u32 unk1164; - /*0x1168*/ u32 unk1168; - /*0x116c*/ u32 unk116c; - /*0x1170*/ u32 unk1170; - /*0x1174*/ u32 unk1174; - /*0x1178*/ u32 unk1178; - /*0x117c*/ u32 unk117c; - /*0x1180*/ u32 unk1180; - /*0x1184*/ u32 unk1184; - /*0x1188*/ u32 unk1188; - /*0x118c*/ u32 unk118c; - /*0x1190*/ u32 unk1190; - /*0x1194*/ u32 unk1194; - /*0x1198*/ u32 unk1198; - /*0x119c*/ u32 unk119c; - /*0x11a0*/ u32 unk11a0; - /*0x11a4*/ u32 unk11a4; - /*0x11a8*/ u32 unk11a8; - /*0x11ac*/ u32 unk11ac; - /*0x11b0*/ u32 unk11b0; - /*0x11b4*/ u32 unk11b4; - /*0x11b8*/ u32 unk11b8; - /*0x11bc*/ u32 unk11bc; - /*0x11c0*/ u32 unk11c0; - /*0x11c4*/ u32 unk11c4; - /*0x11c8*/ u32 unk11c8; - /*0x11cc*/ u32 unk11cc; - /*0x11d0*/ u32 unk11d0; - /*0x11d4*/ u32 unk11d4; - /*0x11d8*/ u32 unk11d8; - /*0x11dc*/ u32 unk11dc; - /*0x11e0*/ u32 unk11e0; - /*0x11e4*/ u32 unk11e4; - /*0x11e8*/ u32 unk11e8; - /*0x11ec*/ u32 unk11ec; - /*0x11f0*/ u32 unk11f0; - /*0x11f4*/ u32 unk11f4; - /*0x11f8*/ u32 unk11f8; - /*0x11fc*/ u32 unk11fc; - /*0x1200*/ u32 unk1200; - /*0x1204*/ u32 unk1204; - /*0x1208*/ u32 unk1208; - /*0x120c*/ u32 unk120c; - /*0x1210*/ u32 unk1210; - /*0x1214*/ u32 unk1214; - /*0x1218*/ u32 unk1218; - /*0x121c*/ u32 unk121c; - /*0x1220*/ u32 unk1220; - /*0x1224*/ u32 unk1224; - /*0x1228*/ u32 unk1228; - /*0x122c*/ u32 unk122c; - /*0x1230*/ u32 unk1230; - /*0x1234*/ u32 unk1234; - /*0x1238*/ u32 unk1238; - /*0x123c*/ u32 unk123c; - /*0x1240*/ u32 unk1240; - /*0x1244*/ u32 unk1244; - /*0x1248*/ u32 unk1248; - /*0x124c*/ u32 unk124c; - /*0x1250*/ u32 unk1250; - /*0x1254*/ u32 unk1254; - /*0x1258*/ u32 unk1258; - /*0x125c*/ u32 unk125c; - /*0x1260*/ u32 unk1260; - /*0x1264*/ u32 unk1264; - /*0x1268*/ u32 unk1268; - /*0x126c*/ u32 unk126c; - /*0x1270*/ u32 unk1270; - /*0x1274*/ u32 unk1274; - /*0x1278*/ u32 unk1278; - /*0x127c*/ u32 unk127c; - /*0x1280*/ u32 unk1280; - /*0x1284*/ u32 unk1284; - /*0x1288*/ u32 unk1288; - /*0x128c*/ u32 unk128c; - /*0x1290*/ u32 unk1290; - /*0x1294*/ u32 unk1294; - /*0x1298*/ u32 unk1298; - /*0x129c*/ u32 unk129c; - /*0x12a0*/ u32 unk12a0; - /*0x12a4*/ u32 unk12a4; - /*0x12a8*/ u32 unk12a8; - /*0x12ac*/ u32 unk12ac; - /*0x12b0*/ u32 unk12b0; - /*0x12b4*/ u32 unk12b4; - /*0x12b8*/ u32 unk12b8; - /*0x12bc*/ u32 unk12bc; - /*0x12c0*/ u32 unk12c0; - /*0x12c4*/ u32 unk12c4; - /*0x12c8*/ u32 unk12c8; - /*0x12cc*/ u32 unk12cc; - /*0x12d0*/ u32 unk12d0; - /*0x12d4*/ u32 unk12d4; - /*0x12d8*/ u32 unk12d8; - /*0x12dc*/ u32 unk12dc; - /*0x12e0*/ u32 unk12e0; - /*0x12e4*/ u32 unk12e4; - /*0x12e8*/ u32 unk12e8; - /*0x12ec*/ u32 unk12ec; - /*0x12f0*/ u32 unk12f0; - /*0x12f4*/ u32 unk12f4; - /*0x12f8*/ u32 unk12f8; - /*0x12fc*/ u32 unk12fc; - /*0x1300*/ u32 unk1300; - /*0x1304*/ u32 unk1304; - /*0x1308*/ u32 unk1308; - /*0x130c*/ u32 unk130c; - /*0x1310*/ u32 unk1310; - /*0x1314*/ u32 unk1314; - /*0x1318*/ u32 unk1318; - /*0x131c*/ u32 unk131c; - /*0x1320*/ u32 unk1320; - /*0x1324*/ u32 unk1324; - /*0x1328*/ u32 unk1328; - /*0x132c*/ u32 unk132c; - /*0x1330*/ u32 unk1330; - /*0x1334*/ u32 unk1334; - /*0x1338*/ struct coord unk1338; - /*0x1344*/ u32 unk1344; - /*0x1348*/ u32 unk1348; - /*0x134c*/ u32 unk134c; - /*0x1350*/ u32 unk1350; - /*0x1354*/ u32 unk1354; - /*0x1358*/ u32 unk1358; - /*0x135c*/ u32 unk135c; - /*0x1360*/ u32 unk1360; - /*0x1364*/ u32 unk1364; - /*0x1368*/ u32 unk1368; - /*0x136c*/ u32 unk136c; - /*0x1370*/ u32 unk1370; - /*0x1374*/ u32 unk1374; - /*0x1378*/ u32 unk1378; - /*0x137c*/ u32 unk137c; - /*0x1380*/ u32 unk1380; - /*0x1384*/ u32 unk1384; - /*0x1388*/ u32 unk1388; - /*0x138c*/ u32 unk138c; - /*0x1390*/ u32 unk1390; - /*0x1394*/ u32 unk1394; - /*0x1398*/ u32 unk1398; - /*0x139c*/ u32 unk139c; - /*0x13a0*/ u32 unk13a0; - /*0x13a4*/ u32 unk13a4; - /*0x13a8*/ u32 unk13a8; - /*0x13ac*/ u32 unk13ac; - /*0x13b0*/ u32 unk13b0; - /*0x13b4*/ u32 unk13b4; - /*0x13b8*/ u32 unk13b8; - /*0x13bc*/ u32 unk13bc; - /*0x13c0*/ u32 unk13c0; - /*0x13c4*/ u32 unk13c4; - /*0x13c8*/ u32 unk13c8; - /*0x13cc*/ u32 unk13cc; - /*0x13d0*/ u32 unk13d0; - /*0x13d4*/ u32 unk13d4; - /*0x13d8*/ u32 unk13d8; - /*0x13dc*/ u32 unk13dc; - /*0x13e0*/ u32 unk13e0; - /*0x13e4*/ u32 unk13e4; - /*0x13e8*/ u32 unk13e8; - /*0x13ec*/ u32 unk13ec; - /*0x13f0*/ u32 unk13f0; - /*0x13f4*/ u32 unk13f4; - /*0x13f8*/ u32 unk13f8; - /*0x13fc*/ u32 unk13fc; - /*0x1400*/ u32 unk1400; - /*0x1404*/ u32 unk1404; - /*0x1408*/ u32 unk1408; - /*0x140c*/ u32 unk140c; - /*0x1410*/ u32 unk1410; - /*0x1414*/ u32 unk1414; - /*0x1418*/ u32 unk1418; - /*0x141c*/ u32 unk141c; - /*0x1420*/ u32 unk1420; - /*0x1424*/ u32 unk1424; - /*0x1428*/ u32 unk1428; - /*0x142c*/ u32 unk142c; - /*0x1430*/ u32 unk1430; - /*0x1434*/ u32 unk1434; - /*0x1438*/ u32 unk1438; - /*0x143c*/ u32 unk143c; - /*0x1440*/ u32 unk1440; - /*0x1444*/ u32 unk1444; - /*0x1448*/ u32 unk1448; - /*0x144c*/ u32 unk144c; - /*0x1450*/ u32 unk1450; - /*0x1454*/ u32 unk1454; - /*0x1458*/ u32 unk1458; - /*0x145c*/ u32 unk145c; - /*0x1460*/ u32 unk1460; - /*0x1464*/ u32 unk1464; - /*0x1468*/ u32 unk1468; - /*0x146c*/ u32 unk146c; - /*0x1470*/ u32 unk1470; - /*0x1474*/ u32 unk1474; - /*0x1478*/ u32 unk1478; - /*0x147c*/ u32 unk147c; - /*0x1480*/ u32 unk1480; - /*0x1484*/ u32 unk1484; - /*0x1488*/ u32 unk1488; - /*0x148c*/ u32 unk148c; - /*0x1490*/ bool unk1490; - /*0x1494*/ struct coord unk1494; - /*0x14a0*/ struct coord unk14a0; - /*0x14ac*/ u32 unk14ac; - /*0x14b0*/ u32 unk14b0; - /*0x14b4*/ u32 unk14b4; - /*0x14b8*/ u32 unk14b8; - /*0x14bc*/ u32 unk14bc; - /*0x14c0*/ u32 unk14c0; - /*0x14c4*/ u32 unk14c4; - /*0x14c8*/ u32 unk14c8; - /*0x14cc*/ u32 unk14cc; - /*0x14d0*/ u32 unk14d0; - /*0x14d4*/ u32 unk14d4; - /*0x14d8*/ u32 unk14d8; - /*0x14dc*/ u32 unk14dc; - /*0x14e0*/ u32 unk14e0; - /*0x14e4*/ u32 unk14e4; - /*0x14e8*/ u32 unk14e8; - /*0x14ec*/ u32 unk14ec; - /*0x14f0*/ u32 unk14f0; - /*0x14f4*/ u32 unk14f4; - /*0x14f8*/ u32 unk14f8; - /*0x14fc*/ u32 unk14fc; - /*0x1500*/ u32 unk1500; - /*0x1504*/ u32 unk1504; - /*0x1508*/ u32 unk1508; - /*0x150c*/ u32 unk150c; - /*0x1510*/ u32 unk1510; - /*0x1514*/ u32 unk1514; - /*0x1518*/ u32 unk1518; - /*0x151c*/ u32 unk151c; - /*0x1520*/ u32 unk1520; - /*0x1524*/ u32 unk1524; - /*0x1528*/ u32 unk1528; - /*0x152c*/ u32 unk152c; - /*0x1530*/ u32 unk1530; - /*0x1534*/ u32 unk1534; - /*0x1538*/ u32 unk1538; - /*0x153c*/ u32 unk153c; - /*0x1540*/ u32 unk1540; - /*0x1544*/ u32 unk1544; - /*0x1548*/ u32 unk1548; - /*0x154c*/ u32 unk154c; - /*0x1550*/ u32 unk1550; - /*0x1554*/ u32 unk1554; - /*0x1558*/ u32 unk1558; - /*0x155c*/ u32 unk155c; - /*0x1560*/ u32 unk1560; - /*0x1564*/ u32 unk1564; - /*0x1568*/ u32 unk1568; - /*0x156c*/ u32 unk156c; - /*0x1570*/ u32 unk1570; - /*0x1574*/ u32 unk1574; - /*0x1578*/ u32 unk1578; - /*0x157c*/ u32 unk157c; +}; + +struct player { + /*0x0000*/ s32 cameramode; + /*0x0004*/ struct coord memcampos; + /*0x0010*/ u16 visionmode; + /*0x0014*/ s32 memcamroom; + /*0x0018*/ u32 unk0018; + /*0x001c*/ u32 unk001c; + /*0x0020*/ u32 unk0020; + /*0x0024*/ u32 unk0024; + /*0x0028*/ u32 unk0028; + /*0x002c*/ u32 unk002c; + /*0x0030*/ bool isfalling; + /*0x0034*/ s32 fallstart; + /*0x0038*/ struct coord globaldrawworldoffset; + /*0x0044*/ struct coord globaldrawcameraoffset; + /*0x0050*/ struct coord globaldrawworldbgoffset; + /*0x005c*/ u32 unk005c; + /*0x0060*/ u32 unk0060; + /*0x0064*/ u32 unk0064; + /*0x0068*/ u32 unk0068; + /*0x006c*/ u32 unk006c; + /*0x0070*/ f32 sumground; + /*0x0074*/ f32 vv_manground; + /*0x0078*/ f32 vv_ground; + /*0x007c*/ struct coord bdeltapos; + /*0x0088*/ f32 sumcrouch; + /*0x008c*/ f32 crouchheight; + /*0x0090*/ s32 crouchtime240; + /*0x0094*/ f32 crouchfall; + /*0x0098*/ s32 swaypos; + /*0x009c*/ f32 swayoffset; + /*0x00a0*/ f32 swaytarget; + /*0x00a4*/ f32 swayoffset0; + /*0x00a8*/ f32 swayoffset2; + /*0x00ac*/ s32 crouchpos; + /*0x00b0*/ s32 autocrouchpos; + /*0x00b4*/ f32 crouchoffset; + /*0x00b8*/ f32 crouchspeed; + /*0x00bc*/ struct prop *prop; + /*0x00c0*/ u32 unk00c0; + /*0x00c4*/ u32 unk00c4; + /*0x00c8*/ u32 unk00c8; + /*0x00cc*/ u32 unk00cc; + /*0x00d0*/ u32 unk00d0; + /*0x00d4*/ u32 unk00d4; + /*0x00d8*/ bool isdead; + /*0x00dc*/ f32 bondhealth; + /*0x00e0*/ u32 unk00e0; + /*0x00e4*/ u32 unk00e4; + /*0x00e8*/ u32 unk00e8; + /*0x00ec*/ u32 unk00ec; + /*0x00f0*/ u32 unk00f0; + /*0x00f4*/ u32 unk00f4; + /*0x00f8*/ u32 unk00f8; + /*0x00fc*/ u32 unk00fc; + /*0x0100*/ u32 unk0100; + /*0x0104*/ u32 unk0104; + /*0x0108*/ u32 unk0108; + /*0x010c*/ u32 unk010c; + /*0x0110*/ u32 unk0110; + /*0x0114*/ u32 unk0114; + /*0x0118*/ u32 unk0118; + /*0x011c*/ u32 unk011c; + /*0x0120*/ bool insightaimmode; + + /*0x0124*/ bool autoyaimenabled; + /*0x0128*/ f32 autoaimy; + /*0x012c*/ struct prop *autoyaimprop; + /*0x0130*/ s32 autoyaimtime60; + + /*0x0134*/ bool autoxaimenabled; + /*0x0138*/ f32 autoaimx; + /*0x013c*/ struct prop *autoxaimprop; + /*0x0140*/ s32 autoxaimtime60; + + /*0x0144*/ f32 vv_theta; // turn angle + /*0x0148*/ f32 speedtheta; // turn speed + /*0x014c*/ f32 vv_costheta; + /*0x0150*/ f32 vv_sintheta; + + /*0x0154*/ f32 vv_verta; // look up/down angle. 0 = horizontal, 90 = up + /*0x0158*/ f32 vv_verta360; + /*0x015c*/ f32 speedverta; // look up/down speed + /*0x0160*/ f32 vv_cosverta; + /*0x0164*/ f32 vv_sinverta; + + /*0x0168*/ f32 speedsideways; + /*0x016c*/ f32 speedstrafe; + /*0x0170*/ f32 speedforwards; + /*0x0174*/ f32 speedboost; + /*0x0178*/ u32 speedmaxtime60; + /*0x017c*/ f32 bondshotspeed[3]; + /*0x0188*/ f32 unk0188; + /*0x018c*/ f32 unk018c; + /*0x0190*/ f32 unk0190; + /*0x0194*/ f32 unk0194; + /*0x0198*/ f32 unk0198; + /*0x019c*/ s32 activatetimelast; + /*0x01a0*/ s32 activatetimethis; + /*0x01a4*/ struct coord moveinitspeed; + /*0x01b0*/ u32 bondmovemode; + /*0x01b4*/ f32 gunextraaimx; + /*0x01b8*/ f32 gunextraaimy; + /*0x01bc*/ u32 unk01bc; + /*0x01c0*/ u32 unk01c0; + /*0x01c4*/ u32 unk01c4; + /*0x01c8*/ u32 unk01c8; + /*0x01cc*/ u32 unk01cc; + /*0x01d0*/ u32 unk01d0; + /*0x01d4*/ u32 unk01d4; + /*0x01d8*/ u32 unk01d8; + /*0x01dc*/ u32 unk01dc; + /*0x01e0*/ u32 unk01e0; + /*0x01e4*/ u32 unk01e4; + /*0x01e8*/ u32 unk01e8; + /*0x01ec*/ u32 unk01ec; + /*0x01f0*/ u32 unk01f0; + /*0x01f4*/ u32 unk01f4; + /*0x01f8*/ u32 unk01f8; + /*0x01fc*/ u32 unk01fc; + /*0x0200*/ u32 unk0200; + /*0x0204*/ u32 unk0204; + /*0x0208*/ u32 unk0208; + /*0x020c*/ u32 unk020c; + /*0x0210*/ u32 unk0210; + /*0x0214*/ u32 unk0214; + /*0x0218*/ u32 unk0218; + /*0x021c*/ u32 unk021c; + /*0x0220*/ u32 unk0220; + /*0x0224*/ u32 unk0224; + /*0x0228*/ u32 unk0228; + /*0x022c*/ u32 unk022c; + /*0x0230*/ u32 unk0230; + /*0x0234*/ u32 unk0234; + /*0x0238*/ u32 unk0238; + /*0x023c*/ u32 unk023c; + /*0x0240*/ u32 unk0240; + /*0x0244*/ u32 unk0244; + /*0x0248*/ u32 unk0248; + /*0x024c*/ s16 invdowntime; + /*0x024e*/ s16 usedowntime; + /*0x0250*/ u8 activemenumode; + /*0x0254*/ u32 unk0254; + /*0x0258*/ u32 unk0258; + /*0x025c*/ u32 unk025c; + /*0x0260*/ u32 unk0260; + /*0x0264*/ u32 unk0264; + /*0x0268*/ u32 unk0268; + /*0x026c*/ u32 unk026c; + /*0x0270*/ u32 unk0270; + /*0x0274*/ u32 unk0274; + /*0x0278*/ u32 unk0278; + /*0x027c*/ u32 unk027c; + /*0x0280*/ u32 unk0280; + /*0x0284*/ s16 bondprevrooms[8]; + /*0x0294*/ f32 liftground; + /*0x0298*/ struct prop *lift; + /*0x029c*/ u32 unk029c; + /*0x02a0*/ u32 unk02a0; + /*0x02a4*/ u32 unk02a4; + /*0x02a8*/ u32 unk02a8; + /*0x02ac*/ bool onladder; + /*0x02b0*/ bool inlift; + /*0x02b4*/ struct coord posdie; + /*0x02c0*/ struct coord bonddampeyesum; + /*0x02cc*/ struct coord bonddampeye; + /*0x02d8*/ u32 colourscreenred; + /*0x02dc*/ u32 colourscreengreen; + /*0x02e0*/ u32 colourscreenblue; + /*0x02e4*/ f32 colourscreenfrac; + /*0x02e8*/ f32 colourfadetime60; + /*0x02ec*/ f32 colourfadetimemax60; + /*0x02f0*/ u32 colourfaderedold; + /*0x02f4*/ u32 colourfaderednew; + /*0x02f8*/ u32 colourfadegreenold; + /*0x02fc*/ u32 colourfadegreennew; + /*0x0300*/ u32 colourfadeblueold; + /*0x0304*/ u32 colourfadebluenew; + /*0x0308*/ f32 colourfadefracold; + /*0x030c*/ f32 colourfadefracnew; + /*0x0310*/ struct coord bondprevpos; + /*0x031c*/ f32 thetadie; + /*0x0320*/ f32 vertadie; + /*0x0324*/ u32 bondtype; + /*0x0328*/ bool startnewbonddie; + /*0x032c*/ bool redbloodfinished; + /*0x0330*/ bool deathanimfinished; + /*0x0334*/ u32 unk0334; + /*0x0338*/ struct playerbond bonddie; + /*0x036c*/ struct playerbond bond2; + /*0x03a0*/ bool resetheadpos; + /*0x03a4*/ bool resetheadrot; + /*0x03a8*/ u32 unk03a8; + /*0x03ac*/ s32 unk03ac; + /*0x03b0*/ f32 headamp; + /*0x03b4*/ u32 unk03b4; + /*0x03b8*/ u32 unk03b8; + /*0x03bc*/ u32 unk03bc; + /*0x03c0*/ struct coord headpos; + /*0x03cc*/ struct coord headlook; + /*0x03d8*/ struct coord headup; + /*0x03e4*/ struct coord headpossum; + /*0x03f0*/ struct coord headlooksum; + /*0x03fc*/ struct coord headupsum; + /*0x0408*/ struct coord headbodyoffset; + /*0x0414*/ f32 standheight; + /*0x0418*/ struct coord standbodyoffset; + /*0x0424*/ f32 standfrac; + /*0x0428*/ struct coord standlook[2]; + /*0x0440*/ struct coord standup[2]; + /*0x0458*/ s32 standcnt; + /*0x045c*/ struct animdata animdata; + /*0x0480*/ struct eyespy *eyespy; + /*0x0484*/ u32 unk0484; + /*0x0488*/ u32 unk0488; + /*0x048c*/ bool aborted; + /*0x0490*/ u32 unk0490; + /*0x0494*/ u32 unk0494; + /*0x0498*/ u32 unk0498; + /*0x049c*/ u32 unk049c; + /*0x04a0*/ u32 unk04a0; + /*0x04a4*/ u32 unk04a4; + /*0x04a8*/ u32 unk04a8; + /*0x04ac*/ u32 unk04ac; + /*0x04b0*/ u32 unk04b0; + /*0x04b4*/ u32 unk04b4; + /*0x04b8*/ u32 unk04b8; + /*0x04bc*/ u32 unk04bc; + /*0x04c0*/ u32 unk04c0; + /*0x04c4*/ u32 unk04c4; + /*0x04c8*/ u32 unk04c8; + /*0x04cc*/ u32 unk04cc; + /*0x04d0*/ u32 unk04d0; + /*0x04d4*/ u32 unk04d4; + /*0x04d8*/ u32 unk04d8; + /*0x04dc*/ u32 unk04dc; + /*0x04e0*/ u32 unk04e0; + /*0x04e4*/ u32 unk04e4; + /*0x04e8*/ u32 unk04e8; + /*0x04ec*/ u32 unk04ec; + /*0x04f0*/ u32 unk04f0; + /*0x04f4*/ u32 unk04f4; + /*0x04f8*/ u32 unk04f8; + /*0x04fc*/ u32 unk04fc; + /*0x0500*/ u32 unk0500; + /*0x0504*/ u32 unk0504; + /*0x0508*/ u32 unk0508; + /*0x050c*/ u32 unk050c; + /*0x0510*/ u32 unk0510; + /*0x0514*/ u32 unk0514; + /*0x0518*/ u32 unk0518; + /*0x051c*/ u32 unk051c; + /*0x0520*/ u32 unk0520; + /*0x0524*/ u32 unk0524; + /*0x0528*/ u32 unk0528; + /*0x052c*/ u32 unk052c; + /*0x0530*/ u32 unk0530; + /*0x0534*/ u32 unk0534; + /*0x0538*/ u32 unk0538; + /*0x053c*/ u32 unk053c; + /*0x0540*/ u32 unk0540; + /*0x0544*/ u32 unk0544; + /*0x0548*/ u32 unk0548; + /*0x054c*/ u32 unk054c; + /*0x0550*/ u32 unk0550; + /*0x0554*/ u32 unk0554; + /*0x0558*/ u32 unk0558; + /*0x055c*/ u32 unk055c; + /*0x0560*/ u32 unk0560; + /*0x0564*/ u32 unk0564; + /*0x0568*/ u32 unk0568; + /*0x056c*/ u32 unk056c; + /*0x0570*/ u32 unk0570; + /*0x0574*/ u32 unk0574; + /*0x0578*/ u32 unk0578; + /*0x057c*/ u32 unk057c; + /*0x0580*/ u32 unk0580; + /*0x0584*/ u32 unk0584; + /*0x0588*/ u32 unk0588; + /*0x058c*/ u32 unk058c; + /*0x0590*/ u32 unk0590; + /*0x0594*/ u32 unk0594; + /*0x0598*/ u32 unk0598; + /*0x059c*/ u32 unk059c; + /*0x05a0*/ u32 unk05a0; + /*0x05a4*/ u32 unk05a4; + /*0x05a8*/ u32 unk05a8; + /*0x05ac*/ u32 unk05ac; + /*0x05b0*/ u32 unk05b0; + /*0x05b4*/ u32 unk05b4; + /*0x05b8*/ u32 unk05b8; + /*0x05bc*/ u32 unk05bc; + /*0x05c0*/ u32 unk05c0; + /*0x05c4*/ u32 unk05c4; + /*0x05c8*/ u32 unk05c8; + /*0x05cc*/ u32 unk05cc; + /*0x05d0*/ u32 unk05d0; + /*0x05d4*/ u32 unk05d4; + /*0x05d8*/ u32 unk05d8; + /*0x05dc*/ u32 unk05dc; + /*0x05e0*/ u32 unk05e0; + /*0x05e4*/ u32 unk05e4; + /*0x05e8*/ u32 unk05e8; + /*0x05ec*/ u32 unk05ec; + /*0x05f0*/ u32 unk05f0; + /*0x05f4*/ u32 unk05f4; + /*0x05f8*/ u32 unk05f8; + /*0x05fc*/ u32 unk05fc; + /*0x0600*/ u32 unk0600; + /*0x0604*/ u32 unk0604; + /*0x0608*/ u32 unk0608; + /*0x060c*/ u32 unk060c; + /*0x0610*/ u32 unk0610; + /*0x0614*/ u32 unk0614; + /*0x0618*/ u32 unk0618; + /*0x061c*/ u32 unk061c; + /*0x0620*/ u32 unk0620; + /*0x0624*/ u32 unk0624; + /*0x0628*/ u32 unk0628; + /*0x062c*/ u32 unk062c; + /*0x0630*/ u16 unk0630; + /*0x0632*/ u16 unk0632; + /*0x0634*/ u16 unk0634; + /*0x0636*/ u16 unk0636; + + /*0x0638*/ struct player638 unk0638[2]; + +// /*0x0ddc*/ u32 unk0ddc; +// /*0x0de0*/ u32 unk0de0; +// /*0x0de4*/ u32 unk0de4; +// /*0x0de8*/ u32 unk0de8; +// /*0x0dec*/ u32 unk0dec; +// /*0x0df0*/ u32 unk0df0; +// /*0x0df4*/ u32 unk0df4; +// /*0x0df8*/ u32 unk0df8; +// /*0x0dfc*/ u32 unk0dfc; +// /*0x0e00*/ u32 unk0e00; +// /*0x0e04*/ u32 unk0e04; +// /*0x0e08*/ u32 unk0e08; +// /*0x0e0c*/ u32 unk0e0c; +// /*0x0e10*/ u32 unk0e10; +// /*0x0e14*/ u32 unk0e14; +// /*0x0e18*/ u32 unk0e18; +// /*0x0e1c*/ u32 unk0e1c; +// /*0x0e20*/ u32 unk0e20; +// /*0x0e24*/ u32 unk0e24; +// /*0x0e28*/ u32 unk0e28; +// /*0x0e2c*/ u32 unk0e2c; +// /*0x0e30*/ u32 unk0e30; +// /*0x0e34*/ u32 unk0e34; +// /*0x0e38*/ u32 unk0e38; +// /*0x0e3c*/ u32 unk0e3c; +// /*0x0e40*/ u32 unk0e40; +// /*0x0e44*/ u32 unk0e44; +// /*0x0e48*/ u32 unk0e48; +// /*0x0e4c*/ u32 unk0e4c; +// /*0x0e50*/ u32 unk0e50; +// /*0x0e54*/ u32 unk0e54; +// /*0x0e58*/ u32 unk0e58; +// /*0x0e5c*/ u32 unk0e5c; +// /*0x0e60*/ u32 unk0e60; +// /*0x0e64*/ u32 unk0e64; +// /*0x0e68*/ u32 unk0e68; +// /*0x0e6c*/ u32 unk0e6c; +// /*0x0e70*/ u32 unk0e70; +// /*0x0e74*/ u32 unk0e74; +// /*0x0e78*/ u32 unk0e78; +// /*0x0e7c*/ u32 unk0e7c; +// /*0x0e80*/ u32 unk0e80; +// /*0x0e84*/ u32 unk0e84; +// /*0x0e88*/ u32 unk0e88; +// /*0x0e8c*/ u32 unk0e8c; +// /*0x0e90*/ u32 unk0e90; +// /*0x0e94*/ u32 unk0e94; +// /*0x0e98*/ u32 unk0e98; +// /*0x0e9c*/ u32 unk0e9c; +// /*0x0ea0*/ u32 unk0ea0; +// /*0x0ea4*/ u32 unk0ea4; +// /*0x0ea8*/ u32 unk0ea8; +// /*0x0eac*/ u32 unk0eac; +// /*0x0eb0*/ u32 unk0eb0; +// /*0x0eb4*/ u32 unk0eb4; +// /*0x0eb8*/ u32 unk0eb8; +// /*0x0ebc*/ u32 unk0ebc; +// /*0x0ec0*/ u32 unk0ec0; +// /*0x0ec4*/ u32 unk0ec4; +// /*0x0ec8*/ u32 unk0ec8; +// /*0x0ecc*/ u32 unk0ecc; +// /*0x0ed0*/ u32 unk0ed0; +// /*0x0ed4*/ u32 unk0ed4; +// /*0x0ed8*/ u32 unk0ed8; +// /*0x0edc*/ u32 unk0edc; +// /*0x0ee0*/ u32 unk0ee0; +// /*0x0ee4*/ u32 unk0ee4; +// /*0x0ee8*/ u32 unk0ee8; +// /*0x0eec*/ u32 unk0eec; +// /*0x0ef0*/ u32 unk0ef0; +// /*0x0ef4*/ u32 unk0ef4; +// /*0x0ef8*/ u32 unk0ef8; +// /*0x0efc*/ u32 unk0efc; +// /*0x0f00*/ u32 unk0f00; +// /*0x0f04*/ u32 unk0f04; +// /*0x0f08*/ u32 unk0f08; +// /*0x0f0c*/ u32 unk0f0c; +// /*0x0f10*/ u32 unk0f10; +// /*0x0f14*/ u32 unk0f14; +// /*0x0f18*/ u32 unk0f18; +// /*0x0f1c*/ u32 unk0f1c; +// /*0x0f20*/ u32 unk0f20; +// /*0x0f24*/ u32 unk0f24; +// /*0x0f28*/ u32 unk0f28; +// /*0x0f2c*/ u32 unk0f2c; +// /*0x0f30*/ u32 unk0f30; +// /*0x0f34*/ u32 unk0f34; +// /*0x0f38*/ u32 unk0f38; +// /*0x0f3c*/ u32 unk0f3c; +// /*0x0f40*/ u32 unk0f40; +// /*0x0f44*/ u32 unk0f44; +// /*0x0f48*/ u32 unk0f48; +// /*0x0f4c*/ u32 unk0f4c; +// /*0x0f50*/ u32 unk0f50; +// /*0x0f54*/ u32 unk0f54; +// /*0x0f58*/ u32 unk0f58; +// /*0x0f5c*/ u32 unk0f5c; +// /*0x0f60*/ u32 unk0f60; +// /*0x0f64*/ u32 unk0f64; +// /*0x0f68*/ u32 unk0f68; +// /*0x0f6c*/ u32 unk0f6c; +// /*0x0f70*/ u32 unk0f70; +// /*0x0f74*/ u32 unk0f74; +// /*0x0f78*/ u32 unk0f78; +// /*0x0f7c*/ u32 unk0f7c; +// /*0x0f80*/ u32 unk0f80; +// /*0x0f84*/ u32 unk0f84; +// /*0x0f88*/ u32 unk0f88; +// /*0x0f8c*/ u32 unk0f8c; +// /*0x0f90*/ u32 unk0f90; +// /*0x0f94*/ u32 unk0f94; +// /*0x0f98*/ u32 unk0f98; +// /*0x0f9c*/ struct coord unk0f9c; +// /*0x0fa8*/ u32 unk0fa8; +// /*0x0fac*/ u32 unk0fac; +// /*0x0fb0*/ u32 unk0fb0; +// /*0x0fb4*/ u32 unk0fb4; +// /*0x0fb8*/ u32 unk0fb8; +// /*0x0fbc*/ u32 unk0fbc; +// /*0x0fc0*/ u32 unk0fc0; +// /*0x0fc4*/ u32 unk0fc4; +// /*0x0fc8*/ u32 unk0fc8; +// /*0x0fcc*/ u32 unk0fcc; +// /*0x0fd0*/ u32 unk0fd0; +// /*0x0fd4*/ u32 unk0fd4; +// /*0x0fd8*/ u32 unk0fd8; +// /*0x0fdc*/ u32 unk0fdc; +// /*0x0fe0*/ u32 unk0fe0; +// /*0x0fe4*/ u32 unk0fe4; +// /*0x0fe8*/ u32 unk0fe8; +// /*0x0fec*/ u32 unk0fec; +// /*0x0ff0*/ u32 unk0ff0; +// /*0x0ff4*/ u32 unk0ff4; +// /*0x0ff8*/ u32 unk0ff8; +// /*0x0ffc*/ u32 unk0ffc; +// /*0x1000*/ u32 unk1000; +// /*0x1004*/ u32 unk1004; +// /*0x1008*/ u32 unk1008; +// /*0x100c*/ u32 unk100c; +// /*0x1010*/ u32 unk1010; +// /*0x1014*/ u32 unk1014; +// /*0x1018*/ u32 unk1018; +// /*0x101c*/ u32 unk101c; +// /*0x1020*/ u32 unk1020; +// /*0x1024*/ u32 unk1024; +// /*0x1028*/ u32 unk1028; +// /*0x102c*/ u32 unk102c; +// /*0x1030*/ u32 unk1030; +// /*0x1034*/ u32 unk1034; +// /*0x1038*/ u32 unk1038; +// /*0x103c*/ u32 unk103c; +// /*0x1040*/ u32 unk1040; +// /*0x1044*/ u32 unk1044; +// /*0x1048*/ u32 unk1048; +// /*0x104c*/ u32 unk104c; +// /*0x1050*/ u32 unk1050; +// /*0x1054*/ u32 unk1054; +// /*0x1058*/ u32 unk1058; +// /*0x105c*/ u32 unk105c; +// /*0x1060*/ u32 unk1060; +// /*0x1064*/ u32 unk1064; +// /*0x1068*/ u32 unk1068; +// /*0x106c*/ u32 unk106c; +// /*0x1070*/ u32 unk1070; +// /*0x1074*/ u32 unk1074; +// /*0x1078*/ u32 unk1078; +// /*0x107c*/ u32 unk107c; +// /*0x1080*/ u32 unk1080; +// /*0x1084*/ u32 unk1084; +// /*0x1088*/ u32 unk1088; +// /*0x108c*/ u32 unk108c; +// /*0x1090*/ u32 unk1090; +// /*0x1094*/ u32 unk1094; +// /*0x1098*/ u32 unk1098; +// /*0x109c*/ u32 unk109c; +// /*0x10a0*/ u32 unk10a0; +// /*0x10a4*/ u32 unk10a4; +// /*0x10a8*/ u32 unk10a8; +// /*0x10ac*/ u32 unk10ac; +// /*0x10b0*/ u32 unk10b0; +// /*0x10b4*/ u32 unk10b4; +// /*0x10b8*/ u32 unk10b8; +// /*0x10bc*/ u32 unk10bc; +// /*0x10c0*/ u32 unk10c0; +// /*0x10c4*/ u32 unk10c4; +// /*0x10c8*/ u32 unk10c8; +// /*0x10cc*/ u32 unk10cc; +// /*0x10d0*/ u32 unk10d0; +// /*0x10d4*/ u32 unk10d4; +// /*0x10d8*/ u32 unk10d8; +// /*0x10dc*/ u32 unk10dc; +// /*0x10e0*/ u32 unk10e0; +// /*0x10e4*/ u32 unk10e4; +// /*0x10e8*/ u32 unk10e8; +// /*0x10ec*/ u32 unk10ec; +// /*0x10f0*/ u32 unk10f0; +// /*0x10f4*/ u32 unk10f4; +// /*0x10f8*/ u32 unk10f8; +// /*0x10fc*/ u32 unk10fc; +// /*0x1100*/ u32 unk1100; +// /*0x1104*/ u32 unk1104; +// /*0x1108*/ u32 unk1108; +// /*0x110c*/ u32 unk110c; +// /*0x1110*/ u32 unk1110; +// /*0x1114*/ u32 unk1114; +// /*0x1118*/ u32 unk1118; +// /*0x111c*/ u32 unk111c; +// /*0x1120*/ u32 unk1120; +// /*0x1124*/ u32 unk1124; +// /*0x1128*/ u32 unk1128; +// /*0x112c*/ u32 unk112c; +// /*0x1130*/ u32 unk1130; +// /*0x1134*/ u32 unk1134; +// /*0x1138*/ u32 unk1138; +// /*0x113c*/ u32 unk113c; +// /*0x1140*/ u32 unk1140; +// /*0x1144*/ u32 unk1144; +// /*0x1148*/ u32 unk1148; +// /*0x114c*/ u32 unk114c; +// /*0x1150*/ u32 unk1150; +// /*0x1154*/ u32 unk1154; +// /*0x1158*/ u32 unk1158; +// /*0x115c*/ u32 unk115c; +// /*0x1160*/ u32 unk1160; +// /*0x1164*/ u32 unk1164; +// /*0x1168*/ u32 unk1168; +// /*0x116c*/ u32 unk116c; +// /*0x1170*/ u32 unk1170; +// /*0x1174*/ u32 unk1174; +// /*0x1178*/ u32 unk1178; +// /*0x117c*/ u32 unk117c; +// /*0x1180*/ u32 unk1180; +// /*0x1184*/ u32 unk1184; +// /*0x1188*/ u32 unk1188; +// /*0x118c*/ u32 unk118c; +// /*0x1190*/ u32 unk1190; +// /*0x1194*/ u32 unk1194; +// /*0x1198*/ u32 unk1198; +// /*0x119c*/ u32 unk119c; +// /*0x11a0*/ u32 unk11a0; +// /*0x11a4*/ u32 unk11a4; +// /*0x11a8*/ u32 unk11a8; +// /*0x11ac*/ u32 unk11ac; +// /*0x11b0*/ u32 unk11b0; +// /*0x11b4*/ u32 unk11b4; +// /*0x11b8*/ u32 unk11b8; +// /*0x11bc*/ u32 unk11bc; +// /*0x11c0*/ u32 unk11c0; +// /*0x11c4*/ u32 unk11c4; +// /*0x11c8*/ u32 unk11c8; +// /*0x11cc*/ u32 unk11cc; +// /*0x11d0*/ u32 unk11d0; +// /*0x11d4*/ u32 unk11d4; +// /*0x11d8*/ u32 unk11d8; +// /*0x11dc*/ u32 unk11dc; +// /*0x11e0*/ u32 unk11e0; +// /*0x11e4*/ u32 unk11e4; +// /*0x11e8*/ u32 unk11e8; +// /*0x11ec*/ u32 unk11ec; +// /*0x11f0*/ u32 unk11f0; +// /*0x11f4*/ u32 unk11f4; +// /*0x11f8*/ u32 unk11f8; +// /*0x11fc*/ u32 unk11fc; +// /*0x1200*/ u32 unk1200; +// /*0x1204*/ u32 unk1204; +// /*0x1208*/ u32 unk1208; +// /*0x120c*/ u32 unk120c; +// /*0x1210*/ u32 unk1210; +// /*0x1214*/ u32 unk1214; +// /*0x1218*/ u32 unk1218; +// /*0x121c*/ u32 unk121c; +// /*0x1220*/ u32 unk1220; +// /*0x1224*/ u32 unk1224; +// /*0x1228*/ u32 unk1228; +// /*0x122c*/ u32 unk122c; +// /*0x1230*/ u32 unk1230; +// /*0x1234*/ u32 unk1234; +// /*0x1238*/ u32 unk1238; +// /*0x123c*/ u32 unk123c; +// /*0x1240*/ u32 unk1240; +// /*0x1244*/ u32 unk1244; +// /*0x1248*/ u32 unk1248; +// /*0x124c*/ u32 unk124c; +// /*0x1250*/ u32 unk1250; +// /*0x1254*/ u32 unk1254; +// /*0x1258*/ u32 unk1258; +// /*0x125c*/ u32 unk125c; +// /*0x1260*/ u32 unk1260; +// /*0x1264*/ u32 unk1264; +// /*0x1268*/ u32 unk1268; +// /*0x126c*/ u32 unk126c; +// /*0x1270*/ u32 unk1270; +// /*0x1274*/ u32 unk1274; +// /*0x1278*/ u32 unk1278; +// /*0x127c*/ u32 unk127c; +// /*0x1280*/ u32 unk1280; +// /*0x1284*/ u32 unk1284; +// /*0x1288*/ u32 unk1288; +// /*0x128c*/ u32 unk128c; +// /*0x1290*/ u32 unk1290; +// /*0x1294*/ u32 unk1294; +// /*0x1298*/ u32 unk1298; +// /*0x129c*/ u32 unk129c; +// /*0x12a0*/ u32 unk12a0; +// /*0x12a4*/ u32 unk12a4; +// /*0x12a8*/ u32 unk12a8; +// /*0x12ac*/ u32 unk12ac; +// /*0x12b0*/ u32 unk12b0; +// /*0x12b4*/ u32 unk12b4; +// /*0x12b8*/ u32 unk12b8; +// /*0x12bc*/ u32 unk12bc; +// /*0x12c0*/ u32 unk12c0; +// /*0x12c4*/ u32 unk12c4; +// /*0x12c8*/ u32 unk12c8; +// /*0x12cc*/ u32 unk12cc; +// /*0x12d0*/ u32 unk12d0; +// /*0x12d4*/ u32 unk12d4; +// /*0x12d8*/ u32 unk12d8; +// /*0x12dc*/ u32 unk12dc; +// /*0x12e0*/ u32 unk12e0; +// /*0x12e4*/ u32 unk12e4; +// /*0x12e8*/ u32 unk12e8; +// /*0x12ec*/ u32 unk12ec; +// /*0x12f0*/ u32 unk12f0; +// /*0x12f4*/ u32 unk12f4; +// /*0x12f8*/ u32 unk12f8; +// /*0x12fc*/ u32 unk12fc; +// /*0x1300*/ u32 unk1300; +// /*0x1304*/ u32 unk1304; +// /*0x1308*/ u32 unk1308; +// /*0x130c*/ u32 unk130c; +// /*0x1310*/ u32 unk1310; +// /*0x1314*/ u32 unk1314; +// /*0x1318*/ u32 unk1318; +// /*0x131c*/ u32 unk131c; +// /*0x1320*/ u32 unk1320; +// /*0x1324*/ u32 unk1324; +// /*0x1328*/ u32 unk1328; +// /*0x132c*/ u32 unk132c; +// /*0x1330*/ u32 unk1330; +// /*0x1334*/ u32 unk1334; +// /*0x1338*/ struct coord unk1338; +// /*0x1344*/ u32 unk1344; +// /*0x1348*/ u32 unk1348; +// /*0x134c*/ u32 unk134c; +// /*0x1350*/ u32 unk1350; +// /*0x1354*/ u32 unk1354; +// /*0x1358*/ u32 unk1358; +// /*0x135c*/ u32 unk135c; +// /*0x1360*/ u32 unk1360; +// /*0x1364*/ u32 unk1364; +// /*0x1368*/ u32 unk1368; +// /*0x136c*/ u32 unk136c; +// /*0x1370*/ u32 unk1370; +// /*0x1374*/ u32 unk1374; +// /*0x1378*/ u32 unk1378; +// /*0x137c*/ u32 unk137c; +// /*0x1380*/ u32 unk1380; +// /*0x1384*/ u32 unk1384; +// /*0x1388*/ u32 unk1388; +// /*0x138c*/ u32 unk138c; +// /*0x1390*/ u32 unk1390; +// /*0x1394*/ u32 unk1394; +// /*0x1398*/ u32 unk1398; +// /*0x139c*/ u32 unk139c; +// /*0x13a0*/ u32 unk13a0; +// /*0x13a4*/ u32 unk13a4; +// /*0x13a8*/ u32 unk13a8; +// /*0x13ac*/ u32 unk13ac; +// /*0x13b0*/ u32 unk13b0; +// /*0x13b4*/ u32 unk13b4; +// /*0x13b8*/ u32 unk13b8; +// /*0x13bc*/ u32 unk13bc; +// /*0x13c0*/ u32 unk13c0; +// /*0x13c4*/ u32 unk13c4; +// /*0x13c8*/ u32 unk13c8; +// /*0x13cc*/ u32 unk13cc; +// /*0x13d0*/ u32 unk13d0; +// /*0x13d4*/ u32 unk13d4; +// /*0x13d8*/ u32 unk13d8; +// /*0x13dc*/ u32 unk13dc; +// /*0x13e0*/ u32 unk13e0; +// /*0x13e4*/ u32 unk13e4; +// /*0x13e8*/ u32 unk13e8; +// /*0x13ec*/ u32 unk13ec; +// /*0x13f0*/ u32 unk13f0; +// /*0x13f4*/ u32 unk13f4; +// /*0x13f8*/ u32 unk13f8; +// /*0x13fc*/ u32 unk13fc; +// /*0x1400*/ u32 unk1400; +// /*0x1404*/ u32 unk1404; +// /*0x1408*/ u32 unk1408; +// /*0x140c*/ u32 unk140c; +// /*0x1410*/ u32 unk1410; +// /*0x1414*/ u32 unk1414; +// /*0x1418*/ u32 unk1418; +// /*0x141c*/ u32 unk141c; +// /*0x1420*/ u32 unk1420; +// /*0x1424*/ u32 unk1424; +// /*0x1428*/ u32 unk1428; +// /*0x142c*/ u32 unk142c; +// /*0x1430*/ u32 unk1430; +// /*0x1434*/ u32 unk1434; +// /*0x1438*/ u32 unk1438; +// /*0x143c*/ u32 unk143c; +// /*0x1440*/ u32 unk1440; +// /*0x1444*/ u32 unk1444; +// /*0x1448*/ u32 unk1448; +// /*0x144c*/ u32 unk144c; +// /*0x1450*/ u32 unk1450; +// /*0x1454*/ u32 unk1454; +// /*0x1458*/ u32 unk1458; +// /*0x145c*/ u32 unk145c; +// /*0x1460*/ u32 unk1460; +// /*0x1464*/ u32 unk1464; +// /*0x1468*/ u32 unk1468; +// /*0x146c*/ u32 unk146c; +// /*0x1470*/ u32 unk1470; +// /*0x1474*/ u32 unk1474; +// /*0x1478*/ u32 unk1478; +// /*0x147c*/ u32 unk147c; +// /*0x1480*/ u32 unk1480; +// /*0x1484*/ u32 unk1484; +// /*0x1488*/ u32 unk1488; +// /*0x148c*/ u32 unk148c; +// /*0x1490*/ bool unk1490; +// /*0x1494*/ struct coord unk1494; +// /*0x14a0*/ struct coord unk14a0; +// /*0x14ac*/ u32 unk14ac; +// /*0x14b0*/ u32 unk14b0; +// /*0x14b4*/ u32 unk14b4; +// /*0x14b8*/ u32 unk14b8; +// /*0x14bc*/ u32 unk14bc; +// /*0x14c0*/ u32 unk14c0; +// /*0x14c4*/ u32 unk14c4; +// /*0x14c8*/ u32 unk14c8; +// /*0x14cc*/ u32 unk14cc; +// /*0x14d0*/ u32 unk14d0; +// /*0x14d4*/ u32 unk14d4; +// /*0x14d8*/ u32 unk14d8; +// /*0x14dc*/ u32 unk14dc; +// /*0x14e0*/ u32 unk14e0; +// /*0x14e4*/ u32 unk14e4; +// /*0x14e8*/ u32 unk14e8; +// /*0x14ec*/ u32 unk14ec; +// /*0x14f0*/ u32 unk14f0; +// /*0x14f4*/ u32 unk14f4; +// /*0x14f8*/ u32 unk14f8; +// /*0x14fc*/ u32 unk14fc; +// /*0x1500*/ u32 unk1500; +// /*0x1504*/ u32 unk1504; +// /*0x1508*/ u32 unk1508; +// /*0x150c*/ u32 unk150c; +// /*0x1510*/ u32 unk1510; +// /*0x1514*/ u32 unk1514; +// /*0x1518*/ u32 unk1518; +// /*0x151c*/ u32 unk151c; +// /*0x1520*/ u32 unk1520; +// /*0x1524*/ u32 unk1524; +// /*0x1528*/ u32 unk1528; +// /*0x152c*/ u32 unk152c; +// /*0x1530*/ u32 unk1530; +// /*0x1534*/ u32 unk1534; +// /*0x1538*/ u32 unk1538; +// /*0x153c*/ u32 unk153c; +// /*0x1540*/ u32 unk1540; +// /*0x1544*/ u32 unk1544; +// /*0x1548*/ u32 unk1548; +// /*0x154c*/ u32 unk154c; +// /*0x1550*/ u32 unk1550; +// /*0x1554*/ u32 unk1554; +// /*0x1558*/ u32 unk1558; +// /*0x155c*/ u32 unk155c; +// /*0x1560*/ u32 unk1560; +// /*0x1564*/ u32 unk1564; +// /*0x1568*/ u32 unk1568; +// /*0x156c*/ u32 unk156c; +// /*0x1570*/ u32 unk1570; +// /*0x1574*/ u32 unk1574; +// /*0x1578*/ u32 unk1578; +// /*0x157c*/ u32 unk157c; + /*0x1580*/ s8 unk1580; /*0x1581*/ u8 unk1581; /*0x1582*/ u8 unk1582; @@ -5800,7 +5807,7 @@ struct weatherdata { /*0x28*/ u32 unk28; /*0x2c*/ u32 unk2c; /*0x30*/ u32 unk30; - /*0x34*/ s32 unk34[4]; + /*0x34*/ void *unk34[4]; /*0x44*/ s32 unk44; /*0x48*/ s32 unk48; /*0x4c*/ s32 unk4c;