From a8a584b27c27b5f40315c7cd472ba04a1d9855e8 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sun, 3 Jan 2021 23:12:18 +1000 Subject: [PATCH] Update attempt of currentPlayerInit and rename currentPlayerInitBasicFields to currentPlayerResetToDefault --- src/game/core.c | 2 +- src/game/data/data_0160b0.c | 2 +- src/game/game_011110.c | 59 ++++++++++++++++++----------- src/game/game_0b63b0.c | 6 +-- src/include/game/data/data_0160b0.h | 2 +- src/include/game/game_0b63b0.h | 2 +- 6 files changed, 44 insertions(+), 29 deletions(-) diff --git a/src/game/core.c b/src/game/core.c index 5cec15cf8..9d261049e 100644 --- a/src/game/core.c +++ b/src/game/core.c @@ -416,7 +416,7 @@ void coreLoadStage(s32 stagenum) amInit(); invInitGunsHeld(); func0f010bb0(); - currentPlayerInitBasicFields(); + currentPlayerResetToDefault(); currentPlayerInit(); currentPlayerSpawn(); func0f012684(); diff --git a/src/game/data/data_0160b0.c b/src/game/data/data_0160b0.c index 783266126..627119004 100644 --- a/src/game/data/data_0160b0.c +++ b/src/game/data/data_0160b0.c @@ -110,7 +110,7 @@ u32 var8007071c = 0x00000000; u32 var80070720 = 0x00000000; u32 var80070724 = 0x00000000; u32 var80070728 = 0x3f800000; -u32 var8007072c = 1; +s32 var8007072c = 1; u32 var80070730 = 0xffffffff; u32 var80070734 = 0xffffffff; u32 var80070738 = 0; diff --git a/src/game/game_011110.c b/src/game/game_011110.c index ab3f3cce1..502e541aa 100644 --- a/src/game/game_011110.c +++ b/src/game/game_011110.c @@ -1291,8 +1291,8 @@ glabel var7f1a827c //{ // struct coord pos = var800623a4; // s16 rooms[8]; -// f32 fStack32 = 0; -// f32 fVar9; +// f32 turnanglerad = 0; +// f32 groundy; // bool hasdefaultweapon = false; // s32 *cmd = g_StageSetup.intro; // u8 haseyespy = false; @@ -1306,28 +1306,34 @@ glabel var7f1a827c // // viResetDefaultModeIf4Mb(); // func0f18e558(); +// // var80070764 = 0; // var8009de20 = 0; // var8007072c = 1; // var80070738 = 0; // var8007073c = 0; +// // g_CurrentGeCreditsData = NULL; // g_Vars.currentplayer->bondexploding = false; // g_NumSpawnPoints = 0; -// g_Vars.currentplayer->unk1b78 = 0; +// g_Vars.currentplayer->bondtankexplode = false; // g_Vars.currentplayer->unk1bd4 = 0; // g_PlayersWithControl[0] = true; // g_PlayersWithControl[1] = true; // g_PlayersWithControl[2] = true; // g_PlayersWithControl[3] = true; // g_PlayerInvincible = false; +// // setTickMode(TICKMODE_0); +// // var80070744 = 0; // var80070748 = 0; // var8007074c = 0; +// // g_Vars.currentplayer->bondviewlevtime60 = 0; // g_Vars.currentplayer->bondwatchtime60 = 0; // g_Vars.currentplayer->introanimnum = 0; +// // g_DefaultWeapons[HAND_LEFT] = 0; // g_DefaultWeapons[HAND_RIGHT] = 0; // @@ -1527,9 +1533,10 @@ glabel var7f1a827c // g_Vars.currentplayer->prop = propAllocate(); // g_Vars.currentplayer->prop->chr = NULL; // g_Vars.currentplayer->prop->type = PROPTYPE_PLAYER; +// // func0f0604bc(g_Vars.currentplayer->prop); // propShow(g_Vars.currentplayer->prop); -// chrInit(g_Vars.currentplayer->prop, 0); +// chrInit(g_Vars.currentplayer->prop, NULL); // // if (g_Vars.coopplayernum >= 0) { // g_Vars.currentplayer->prop->chr->team = TEAM_ALLY; @@ -1553,43 +1560,51 @@ glabel var7f1a827c // // if (g_NumSpawnPoints > 0) { // if (g_Vars.coopplayernum >= 0) { -// fStack32 = M_BADTAU - scenarioCallback2c(30, &pos, rooms, g_Vars.currentplayer->prop); +// turnanglerad = M_BADTAU - scenarioCallback2c(30, &pos, rooms, g_Vars.currentplayer->prop); // } else if (g_Vars.antiplayernum >= 0) { -// fStack32 = M_BADTAU - scenarioCallback2c(30, &pos, rooms, g_Vars.currentplayer->prop); +// turnanglerad = M_BADTAU - scenarioCallback2c(30, &pos, rooms, g_Vars.currentplayer->prop); // } else { // if (g_Vars.mplayerisrunning == 0) { // g_NumSpawnPoints = 1; // } // -// fStack32 = M_BADTAU - scenarioCallback2c(30, &pos, rooms, g_Vars.currentplayer->prop); +// turnanglerad = M_BADTAU - scenarioCallback2c(30, &pos, rooms, g_Vars.currentplayer->prop); // } // } // -// fVar9 = coordFindGroundY(&pos, 30, rooms, -// &g_Vars.currentplayer->unk161a, -// &g_Vars.currentplayer->unk161e, -// &g_Vars.currentplayer->unk161c, -// &g_Vars.currentplayer->unk19b0, +// groundy = coordFindGroundY(&pos, 30, rooms, +// &g_Vars.currentplayer->floorcol, +// &g_Vars.currentplayer->floortype, +// &g_Vars.currentplayer->floorflags, +// &g_Vars.currentplayer->floorroom, // 0, 0); // -// pos.y = g_Vars.currentplayer->unk19c4 + fVar9; -// g_Vars.currentplayer->vv_manground = fVar9; -// g_Vars.currentplayer->vv_ground = fVar9; -// g_Vars.currentplayer->unk0144 = (fStack32 * 360.0f) / M_BADTAU; -// func0f0b85a0(&g_Vars.currentplayer->unk036c, &pos); -// g_Vars.currentplayer->unk036c = -sinf(fStack32); -// g_Vars.currentplayer->unk0370 = 0; -// g_Vars.currentplayer->unk0374 = cosf(fStack32); +// pos.y = g_Vars.currentplayer->vv_eyeheight + groundy; +// g_Vars.currentplayer->vv_manground = groundy; +// g_Vars.currentplayer->vv_ground = groundy; +// g_Vars.currentplayer->vv_theta = (turnanglerad * 360.0f) / M_BADTAU; +// +// func0f0b85a0(&g_Vars.currentplayer->bond2, &pos); +// +// g_Vars.currentplayer->bond2.unk00.x = -sinf(turnanglerad); +// g_Vars.currentplayer->bond2.unk00.y = 0; +// g_Vars.currentplayer->bond2.unk00.z = cosf(turnanglerad); +// // g_Vars.currentplayer->bondprevpos.x = (tmp = pos.x); // g_Vars.currentplayer->prop->pos.x = tmp; // g_Vars.currentplayer->bondprevpos.y = (tmp = pos.y); // g_Vars.currentplayer->prop->pos.y = tmp; // g_Vars.currentplayer->bondprevpos.z = (tmp = pos.z); // g_Vars.currentplayer->prop->pos.z = tmp; +// // func0f065c44(g_Vars.currentplayer->prop); +// // g_Vars.currentplayer->prop->rooms[0] = rooms[0]; // g_Vars.currentplayer->prop->rooms[1] = -1; -// currentPlayerSetCamPropertiesWithRoom(&pos, &g_Vars.currentplayer->unk0394, &g_Vars.currentplayer->unk0388, rooms[0]); +// +// currentPlayerSetCamPropertiesWithRoom(&pos, +// &g_Vars.currentplayer->bond2.unk28, +// &g_Vars.currentplayer->bond2.unk1c, rooms[0]); // // numchrs = getNumChrSlots(); // @@ -1617,7 +1632,7 @@ glabel var7f1a827c // g_Vars.currentplayer->unk00e0 = 0; // // for (i = 0; i != 4; i++) { -// g_Vars.unk0004b8[i] = 0; +// g_Vars.aibuddies[i] = 0; // } // // currentPlayerChooseBodyAndHead(&bodynum, &headnum, 0); diff --git a/src/game/game_0b63b0.c b/src/game/game_0b63b0.c index 4808609d2..a0b34e159 100644 --- a/src/game/game_0b63b0.c +++ b/src/game/game_0b63b0.c @@ -1183,7 +1183,7 @@ glabel var7f1ad568 /* f0b737c: 8f0e00bc */ lw $t6,0xbc($t8) /* f0b7380: 0fc52719 */ jal chrInitSplats /* f0b7384: 8dc40004 */ lw $a0,0x4($t6) -/* f0b7388: 0fc2ddf3 */ jal currentPlayerInitBasicFields +/* f0b7388: 0fc2ddf3 */ jal currentPlayerResetToDefault /* f0b738c: 00000000 */ nop /* f0b7390: 8e4f0284 */ lw $t7,0x284($s2) /* f0b7394: 24020007 */ addiu $v0,$zero,0x7 @@ -1511,7 +1511,7 @@ glabel var7f1ad568 // } // // chrInitSplats(g_Vars.currentplayer->prop->chr); -// currentPlayerInitBasicFields(); +// currentPlayerResetToDefault(); // g_Vars.currentplayer->isdead = false; // g_Vars.currentplayer->healthdamagetype = DAMAGETYPE_7; // g_Vars.currentplayer->damagetype = DAMAGETYPE_7; @@ -1658,7 +1658,7 @@ glabel var7f1ad568 // } //} -void currentPlayerInitBasicFields(void) +void currentPlayerResetToDefault(void) { if (!g_Vars.mplayerisrunning || g_Vars.currentplayer->unk00d4 == 0) { g_Vars.currentplayer->vv_eyeheight = 159; diff --git a/src/include/game/data/data_0160b0.h b/src/include/game/data/data_0160b0.h index bc611a2b8..9b8f8359b 100644 --- a/src/include/game/data/data_0160b0.h +++ b/src/include/game/data/data_0160b0.h @@ -57,7 +57,7 @@ extern u32 var800705bc; extern struct vimode g_ViModes[]; extern s32 g_ViMode; extern bool g_HiResEnabled; -extern u32 var8007072c; +extern s32 var8007072c; extern u32 var80070738; extern u32 var8007073c; extern struct gecreditsdata *g_CurrentGeCreditsData; diff --git a/src/include/game/game_0b63b0.h b/src/include/game/game_0b63b0.h index 84843d0c1..5bc781bd9 100644 --- a/src/include/game/game_0b63b0.h +++ b/src/include/game/game_0b63b0.h @@ -13,7 +13,7 @@ void func0f0b6764(void); f32 func0f0b69d0(f32 arg0, struct coord *pos, s16 *rooms, struct prop *prop, s16 *spawnpads, s16 numspawnpads); f32 func0f0b72a8(f32 arg0, struct coord *pos, s16 *rooms, struct prop *prop); void func0f0b72dc(void); -void currentPlayerInitBasicFields(void); +void currentPlayerResetToDefault(void); bool currentPlayerAssumeChrForAnti(struct chrdata *chr, s32 param_2); void currentPlayerSpawn(void); void func0f0b85a0(struct playerbond *pb, struct coord *pos);