Decompile setMoveModeForAllPlayers

This commit is contained in:
Ryan Dwyer
2020-03-01 10:36:52 +10:00
parent 7321c05e17
commit e0212fa7f1
4 changed files with 19 additions and 101 deletions
+1 -1
View File
@@ -10292,7 +10292,7 @@ bool aiClearInventory(void)
*/
bool aiReleaseObject(void)
{
releaseObj(0);
setMoveModeForAllPlayers(MOVEMODE_NORMAL);
g_Vars.aioffset += 3;
return false;
+5 -5
View File
@@ -3883,7 +3883,7 @@ void func0f0b9afc(void)
} else {
setTickMode(TICKMODE_1);
var80070744 = 0;
releaseObj(0);
setMoveModeForAllPlayers(MOVEMODE_NORMAL);
}
}
@@ -3891,7 +3891,7 @@ void warpBondToPad(s16 pad)
{
setTickMode(TICKMODE_3);
var80070744 = 0;
releaseObj(5);
setMoveModeForAllPlayers(MOVEMODE_CUTSCENE);
func0f0c1d20();
g_WarpPadId = pad;
}
@@ -3900,7 +3900,7 @@ void func0f0b9bac(u32 *cmd, s32 arg1, s32 arg2)
{
setTickMode(TICKMODE_3);
var80070744 = 0;
releaseObj(5);
setMoveModeForAllPlayers(MOVEMODE_CUTSCENE);
func0f0c1d20();
g_WarpPadId = -1;
var8009ddec = cmd;
@@ -3912,7 +3912,7 @@ void func0f0b9c1c(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5)
{
setTickMode(TICKMODE_3);
var80070744 = 0;
releaseObj(5);
setMoveModeForAllPlayers(MOVEMODE_CUTSCENE);
func0f0c1d20();
g_WarpPadId = -1;
var8009ddec = NULL;
@@ -4152,7 +4152,7 @@ void func0f0ba010(void)
{
setTickMode(TICKMODE_6);
var80070744 = 0;
releaseObj(5);
setMoveModeForAllPlayers(MOVEMODE_CUTSCENE);
func0f0c1d20();
var8009de14 = var8009de20;
var8009de10 = var8009de20 >> 2;
+12 -94
View File
@@ -371,100 +371,18 @@ void currentPlayerSetMoveMode(u32 movemode)
}
}
GLOBAL_ASM(
glabel releaseObj
/* f0c7dec: 27bdffd0 */ addiu $sp,$sp,-48
/* f0c7df0: afb00018 */ sw $s0,0x18($sp)
/* f0c7df4: 3c10800a */ lui $s0,%hi(g_Vars)
/* f0c7df8: 26109fc0 */ addiu $s0,$s0,%lo(g_Vars)
/* f0c7dfc: 8e0f006c */ lw $t7,0x6c($s0)
/* f0c7e00: 8e0e028c */ lw $t6,0x28c($s0)
/* f0c7e04: afb20020 */ sw $s2,0x20($sp)
/* f0c7e08: afb1001c */ sw $s1,0x1c($sp)
/* f0c7e0c: 00809025 */ or $s2,$a0,$zero
/* f0c7e10: afbf0024 */ sw $ra,0x24($sp)
/* f0c7e14: 00008825 */ or $s1,$zero,$zero
/* f0c7e18: 11e00003 */ beqz $t7,.L0f0c7e28
/* f0c7e1c: afae002c */ sw $t6,0x2c($sp)
/* f0c7e20: 10000002 */ beqz $zero,.L0f0c7e2c
/* f0c7e24: 24050001 */ addiu $a1,$zero,0x1
.L0f0c7e28:
/* f0c7e28: 00002825 */ or $a1,$zero,$zero
.L0f0c7e2c:
/* f0c7e2c: 8e180068 */ lw $t8,0x68($s0)
/* f0c7e30: 00002025 */ or $a0,$zero,$zero
/* f0c7e34: 00001825 */ or $v1,$zero,$zero
/* f0c7e38: 13000003 */ beqz $t8,.L0f0c7e48
/* f0c7e3c: 00001025 */ or $v0,$zero,$zero
/* f0c7e40: 10000001 */ beqz $zero,.L0f0c7e48
/* f0c7e44: 24040001 */ addiu $a0,$zero,0x1
.L0f0c7e48:
/* f0c7e48: 8e190064 */ lw $t9,0x64($s0)
/* f0c7e4c: 13200003 */ beqz $t9,.L0f0c7e5c
/* f0c7e50: 00000000 */ sll $zero,$zero,0x0
/* f0c7e54: 10000001 */ beqz $zero,.L0f0c7e5c
/* f0c7e58: 24030001 */ addiu $v1,$zero,0x1
.L0f0c7e5c:
/* f0c7e5c: 8e080070 */ lw $t0,0x70($s0)
/* f0c7e60: 11000003 */ beqz $t0,.L0f0c7e70
/* f0c7e64: 00000000 */ sll $zero,$zero,0x0
/* f0c7e68: 10000001 */ beqz $zero,.L0f0c7e70
/* f0c7e6c: 24020001 */ addiu $v0,$zero,0x1
.L0f0c7e70:
/* f0c7e70: 00434821 */ addu $t1,$v0,$v1
/* f0c7e74: 01245021 */ addu $t2,$t1,$a0
/* f0c7e78: 01455821 */ addu $t3,$t2,$a1
/* f0c7e7c: 19600023 */ blez $t3,.L0f0c7f0c
/* f0c7e80: 00000000 */ sll $zero,$zero,0x0
.L0f0c7e84:
/* f0c7e84: 0fc4a24b */ jal setCurrentPlayerNum
/* f0c7e88: 02202025 */ or $a0,$s1,$zero
/* f0c7e8c: 0fc31f4c */ jal currentPlayerSetMoveMode
/* f0c7e90: 02402025 */ or $a0,$s2,$zero
/* f0c7e94: 8e0c006c */ lw $t4,0x6c($s0)
/* f0c7e98: 26310001 */ addiu $s1,$s1,0x1
/* f0c7e9c: 00002825 */ or $a1,$zero,$zero
/* f0c7ea0: 11800003 */ beqz $t4,.L0f0c7eb0
/* f0c7ea4: 00002025 */ or $a0,$zero,$zero
/* f0c7ea8: 10000001 */ beqz $zero,.L0f0c7eb0
/* f0c7eac: 24050001 */ addiu $a1,$zero,0x1
.L0f0c7eb0:
/* f0c7eb0: 8e0d0068 */ lw $t5,0x68($s0)
/* f0c7eb4: 00001825 */ or $v1,$zero,$zero
/* f0c7eb8: 00001025 */ or $v0,$zero,$zero
/* f0c7ebc: 11a00003 */ beqz $t5,.L0f0c7ecc
/* f0c7ec0: 00000000 */ sll $zero,$zero,0x0
/* f0c7ec4: 10000001 */ beqz $zero,.L0f0c7ecc
/* f0c7ec8: 24040001 */ addiu $a0,$zero,0x1
.L0f0c7ecc:
/* f0c7ecc: 8e0e0064 */ lw $t6,0x64($s0)
/* f0c7ed0: 11c00003 */ beqz $t6,.L0f0c7ee0
/* f0c7ed4: 00000000 */ sll $zero,$zero,0x0
/* f0c7ed8: 10000001 */ beqz $zero,.L0f0c7ee0
/* f0c7edc: 24030001 */ addiu $v1,$zero,0x1
.L0f0c7ee0:
/* f0c7ee0: 8e0f0070 */ lw $t7,0x70($s0)
/* f0c7ee4: 11e00003 */ beqz $t7,.L0f0c7ef4
/* f0c7ee8: 00000000 */ sll $zero,$zero,0x0
/* f0c7eec: 10000001 */ beqz $zero,.L0f0c7ef4
/* f0c7ef0: 24020001 */ addiu $v0,$zero,0x1
.L0f0c7ef4:
/* f0c7ef4: 0043c021 */ addu $t8,$v0,$v1
/* f0c7ef8: 0304c821 */ addu $t9,$t8,$a0
/* f0c7efc: 03254021 */ addu $t0,$t9,$a1
/* f0c7f00: 0228082a */ slt $at,$s1,$t0
/* f0c7f04: 1420ffdf */ bnez $at,.L0f0c7e84
/* f0c7f08: 00000000 */ sll $zero,$zero,0x0
.L0f0c7f0c:
/* f0c7f0c: 0fc4a24b */ jal setCurrentPlayerNum
/* f0c7f10: 8fa4002c */ lw $a0,0x2c($sp)
/* f0c7f14: 8fbf0024 */ lw $ra,0x24($sp)
/* f0c7f18: 8fb00018 */ lw $s0,0x18($sp)
/* f0c7f1c: 8fb1001c */ lw $s1,0x1c($sp)
/* f0c7f20: 8fb20020 */ lw $s2,0x20($sp)
/* f0c7f24: 03e00008 */ jr $ra
/* f0c7f28: 27bd0030 */ addiu $sp,$sp,0x30
);
void setMoveModeForAllPlayers(u32 movemode)
{
u32 prevplayernum = g_Vars.currentplayernum;
s32 i;
for (i = 0; i < PLAYERCOUNT(); i++) {
setCurrentPlayerNum(i);
currentPlayerSetMoveMode(movemode);
}
setCurrentPlayerNum(prevplayernum);
}
GLOBAL_ASM(
glabel func0f0c7f2c
+1 -1
View File
@@ -18,7 +18,7 @@ struct prop *currentPlayerGetHoverbike(void);
struct prop *currentPlayerGetGrabbedProp(void);
void currentPlayerGrabProp(struct prop *prop);
void currentPlayerSetMoveMode(u32 movemode);
void releaseObj(u32 arg0);
void setMoveModeForAllPlayers(u32 movemode);
u32 func0f0c7f2c(void);
u32 func0f0c7f98(void);
u32 func0f0c8004(void);