Decompile currentPlayerSetMoveModeCutscene
This commit is contained in:
parent
b565b1f959
commit
0f44e83438
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
#include <ultra64.h>
|
||||
#include "types.h"
|
||||
|
||||
u32 currentPlayerSetMoveModeCutscene(void);
|
||||
void currentPlayerSetMoveModeCutscene(void);
|
||||
void func0f0c37c0(void);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
1623
src/include/types.h
1623
src/include/types.h
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue