From 80e40a84bc5aaa73b8e7dc34e37d99557b231db7 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Fri, 29 Nov 2019 23:11:40 +1000 Subject: [PATCH] Attempt to decompile ai00ee --- src/game/chr/chraicommands.c | 23 ++++++++ src/include/types.h | 107 +++++++++++++++++++++++++++++++++++ 2 files changed, 130 insertions(+) diff --git a/src/game/chr/chraicommands.c b/src/game/chr/chraicommands.c index 145f39c6b..a43c7ec2d 100644 --- a/src/game/chr/chraicommands.c +++ b/src/game/chr/chraicommands.c @@ -7991,6 +7991,29 @@ glabel ai00ee /* f058050: 27bd0030 */ addiu $sp,$sp,0x30 ); +// Mismatch due to different registers +//bool ai00ee(void) +//{ +// u8 *cmd = g_Vars.ailist + g_Vars.aioffset; +// struct chrdata *chr = chrFindById(g_Vars.chrdata, cmd[2]); +// +// if (chr && chr->pos && chr->pos->type == POSITIONTYPE_PLAYER) { +// u32 prevplayernum = g_Vars.currentplayernum; +// u32 playernum = posGetPlayerNum(chr->pos); +// setCurrentPlayerNum(playernum); +// +// g_Vars.currentplayer->unk1b6c = (s8)cmd[3]; +// g_Vars.currentplayer->unk1b70 = 0; +// g_Vars.currentplayer->unk1b74 = (s8)cmd[4]; +// +// setCurrentPlayerNum(prevplayernum); +// } +// +// g_Vars.aioffset += 5; +// +// return false; +//} + /** * @cmd 00ef */ diff --git a/src/include/types.h b/src/include/types.h index 4ba75cd8c..a1f4480dc 100644 --- a/src/include/types.h +++ b/src/include/types.h @@ -2122,6 +2122,113 @@ struct player { /*0x19c0*/ u32 unk19c0; /*0x19c4*/ u32 unk19c4; /*0x19c8*/ u32 unk19c8; + /*0x19cc*/ u32 unk19cc; + /*0x19d0*/ u32 unk19d0; + /*0x19d4*/ u32 unk19d4; + /*0x19d8*/ u32 unk19d8; + /*0x19dc*/ u32 unk19dc; + /*0x19e0*/ u32 unk19e0; + /*0x19e4*/ u32 unk19e4; + /*0x19e8*/ u32 unk19e8; + /*0x19ec*/ u32 unk19ec; + /*0x19f0*/ u32 unk19f0; + /*0x19f4*/ u32 unk19f4; + /*0x19f8*/ u32 unk19f8; + /*0x19fc*/ u32 unk19fc; + /*0x1a00*/ u32 unk1a00; + /*0x1a04*/ u32 unk1a04; + /*0x1a08*/ u32 unk1a08; + /*0x1a0c*/ u32 unk1a0c; + /*0x1a10*/ u32 unk1a10; + /*0x1a14*/ u32 unk1a14; + /*0x1a18*/ u32 unk1a18; + /*0x1a1c*/ u32 unk1a1c; + /*0x1a20*/ u32 unk1a20; + /*0x1a24*/ u32 unk1a24; + /*0x1a28*/ u32 unk1a28; + /*0x1a2c*/ u32 unk1a2c; + /*0x1a30*/ u32 unk1a30; + /*0x1a34*/ u32 unk1a34; + /*0x1a38*/ u32 unk1a38; + /*0x1a3c*/ u32 unk1a3c; + /*0x1a40*/ u32 unk1a40; + /*0x1a44*/ u32 unk1a44; + /*0x1a48*/ u32 unk1a48; + /*0x1a4c*/ u32 unk1a4c; + /*0x1a50*/ u32 unk1a50; + /*0x1a54*/ u32 unk1a54; + /*0x1a58*/ u32 unk1a58; + /*0x1a5c*/ u32 unk1a5c; + /*0x1a60*/ u32 unk1a60; + /*0x1a64*/ u32 unk1a64; + /*0x1a68*/ u32 unk1a68; + /*0x1a6c*/ u32 unk1a6c; + /*0x1a70*/ u32 unk1a70; + /*0x1a74*/ u32 unk1a74; + /*0x1a78*/ u32 unk1a78; + /*0x1a7c*/ u32 unk1a7c; + /*0x1a80*/ u32 unk1a80; + /*0x1a84*/ u32 unk1a84; + /*0x1a88*/ u32 unk1a88; + /*0x1a8c*/ u32 unk1a8c; + /*0x1a90*/ u32 unk1a90; + /*0x1a94*/ u32 unk1a94; + /*0x1a98*/ u32 unk1a98; + /*0x1a9c*/ u32 unk1a9c; + /*0x1aa0*/ u32 unk1aa0; + /*0x1aa4*/ u32 unk1aa4; + /*0x1aa8*/ u32 unk1aa8; + /*0x1aac*/ u32 unk1aac; + /*0x1ab0*/ u32 unk1ab0; + /*0x1ab4*/ u32 unk1ab4; + /*0x1ab8*/ u32 unk1ab8; + /*0x1abc*/ u32 unk1abc; + /*0x1ac0*/ u32 unk1ac0; + /*0x1ac4*/ u32 unk1ac4; + /*0x1ac8*/ u32 unk1ac8; + /*0x1acc*/ u32 unk1acc; + /*0x1ad0*/ u32 unk1ad0; + /*0x1ad4*/ u32 unk1ad4; + /*0x1ad8*/ u32 unk1ad8; + /*0x1adc*/ u32 unk1adc; + /*0x1ae0*/ u32 unk1ae0; + /*0x1ae4*/ u32 unk1ae4; + /*0x1ae8*/ u32 unk1ae8; + /*0x1aec*/ u32 unk1aec; + /*0x1af0*/ u32 unk1af0; + /*0x1af4*/ u32 unk1af4; + /*0x1af8*/ u32 unk1af8; + /*0x1afc*/ u32 unk1afc; + /*0x1b00*/ u32 unk1b00; + /*0x1b04*/ u32 unk1b04; + /*0x1b08*/ u32 unk1b08; + /*0x1b0c*/ u32 unk1b0c; + /*0x1b10*/ u32 unk1b10; + /*0x1b14*/ u32 unk1b14; + /*0x1b18*/ u32 unk1b18; + /*0x1b1c*/ u32 unk1b1c; + /*0x1b20*/ u32 unk1b20; + /*0x1b24*/ u32 unk1b24; + /*0x1b28*/ u32 unk1b28; + /*0x1b2c*/ u32 unk1b2c; + /*0x1b30*/ u32 unk1b30; + /*0x1b34*/ u32 unk1b34; + /*0x1b38*/ u32 unk1b38; + /*0x1b3c*/ u32 unk1b3c; + /*0x1b40*/ u32 unk1b40; + /*0x1b44*/ u32 unk1b44; + /*0x1b48*/ u32 unk1b48; + /*0x1b4c*/ u32 unk1b4c; + /*0x1b50*/ u32 unk1b50; + /*0x1b54*/ u32 unk1b54; + /*0x1b58*/ u32 unk1b58; + /*0x1b5c*/ u32 unk1b5c; + /*0x1b60*/ u32 unk1b60; + /*0x1b64*/ u32 unk1b64; + /*0x1b68*/ u32 unk1b68; + /*0x1b6c*/ float unk1b6c; + /*0x1b70*/ float unk1b70; + /*0x1b74*/ float unk1b74; }; struct ailist {