From 964948d8f758d74d5e048396be4f37a98da523ca Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Fri, 29 Nov 2019 20:56:32 +1000 Subject: [PATCH] Decompile aiWarpJoToPad --- src/game/chr/chraicommands.c | 38 ++++++++-------------------- src/include/game/chr/chraicommands.h | 2 +- src/include/game/game_0b28d0.h | 2 +- src/setup/setup_000000.c | 2 +- 4 files changed, 14 insertions(+), 30 deletions(-) diff --git a/src/game/chr/chraicommands.c b/src/game/chr/chraicommands.c index 189bfae9b..729b62c9e 100644 --- a/src/game/chr/chraicommands.c +++ b/src/game/chr/chraicommands.c @@ -3,6 +3,7 @@ #include "gvars/gvars.h" #include "game/chr/chr.h" #include "game/game_066310.h" +#include "game/game_0b28d0.h" #include "game/game_165670.h" #include "game/game_16cfa0.h" #include "setup/setup_000000.h" @@ -6982,33 +6983,16 @@ bool ai00dd(void) /** * @cmd 00de */ -GLOBAL_ASM( -glabel ai00de -/* f056d38: 3c05800a */ lui $a1,%hi(g_Vars) -/* f056d3c: 24a59fc0 */ addiu $a1,$a1,%lo(g_Vars) -/* f056d40: 8cae0434 */ lw $t6,0x434($a1) -/* f056d44: 8caf0438 */ lw $t7,0x438($a1) -/* f056d48: 27bdffe8 */ addiu $sp,$sp,-24 -/* f056d4c: afbf0014 */ sw $ra,0x14($sp) -/* f056d50: 01cf1021 */ addu $v0,$t6,$t7 -/* f056d54: 90580002 */ lbu $t8,0x2($v0) -/* f056d58: 90480003 */ lbu $t0,0x3($v0) -/* f056d5c: 0018ca00 */ sll $t9,$t8,0x8 -/* f056d60: 03284825 */ or $t1,$t9,$t0 -/* f056d64: 00092400 */ sll $a0,$t1,0x10 -/* f056d68: 00045403 */ sra $t2,$a0,0x10 -/* f056d6c: 0fc2e6da */ jal func0f0b9b68 -/* f056d70: 01402025 */ or $a0,$t2,$zero -/* f056d74: 3c05800a */ lui $a1,%hi(g_Vars) -/* f056d78: 24a59fc0 */ addiu $a1,$a1,%lo(g_Vars) -/* f056d7c: 8cab0438 */ lw $t3,0x438($a1) -/* f056d80: 8fbf0014 */ lw $ra,0x14($sp) -/* f056d84: 27bd0018 */ addiu $sp,$sp,0x18 -/* f056d88: 256c0004 */ addiu $t4,$t3,0x4 -/* f056d8c: acac0438 */ sw $t4,0x438($a1) -/* f056d90: 03e00008 */ jr $ra -/* f056d94: 00001025 */ or $v0,$zero,$zero -); +bool aiWarpJoToPad(void) +{ + u8 *cmd = g_Vars.ailist + g_Vars.aioffset; + u16 pad_id = cmd[3] | (cmd[2] << 8); + func0f0b9b68(pad_id); + + g_Vars.aioffset += 4; + + return false; +} /** * @cmd 010d diff --git a/src/include/game/chr/chraicommands.h b/src/include/game/chr/chraicommands.h index 5f594d3d7..c56c06a7e 100644 --- a/src/include/game/chr/chraicommands.h +++ b/src/include/game/chr/chraicommands.h @@ -224,7 +224,7 @@ /*0x00db*/ bool ai00db(void); /*0x00dc*/ bool aiEndLevel(void); /*0x00dd*/ bool ai00dd(void); -/*0x00de*/ bool ai00de(void); +/*0x00de*/ bool aiWarpJoToPad(void); /*0x00df*/ bool ai00df(void); /*0x00e0*/ bool aiRevokeControl(void); /*0x00e1*/ bool aiGrantControl(void); diff --git a/src/include/game/game_0b28d0.h b/src/include/game/game_0b28d0.h index ba389ca72..5ada3f2b8 100644 --- a/src/include/game/game_0b28d0.h +++ b/src/include/game/game_0b28d0.h @@ -84,7 +84,7 @@ u32 func0f0b9674(void); u32 func0f0b96e8(void); u32 func0f0b9a20(void); u32 func0f0b9afc(void); -u32 func0f0b9b68(void); +void func0f0b9b68(s16 pad_id); void func0f0b9bac(u32 arg0, u32 arg1, u32 arg3); u32 func0f0b9c1c(void); u32 func0f0b9cbc(void); diff --git a/src/setup/setup_000000.c b/src/setup/setup_000000.c index bc83dde3c..b9552f4d5 100644 --- a/src/setup/setup_000000.c +++ b/src/setup/setup_000000.c @@ -14354,7 +14354,7 @@ bool (*g_CommandPointers[])(void) = { /*0x00db*/ ai00db, /*0x00dc*/ aiEndLevel, /*0x00dd*/ ai00dd, - /*0x00de*/ ai00de, + /*0x00de*/ aiWarpJoToPad, /*0x00df*/ ai00df, /*0x00e0*/ aiRevokeControl, /*0x00e1*/ aiGrantControl,