Attempt to decompile aiIfObjectDistanceToPadLessThan

This commit is contained in:
Ryan Dwyer 2019-12-02 17:22:57 +10:00
parent 5bd3d11336
commit be67d693f2
3 changed files with 42 additions and 3 deletions

View File

@ -12798,7 +12798,7 @@ bool aiMiniSkedarTryPounce(void)
* @cmd 018f
*/
GLOBAL_ASM(
glabel ai018f
glabel aiIfObjectDistanceToPadLessThan
/* f05d5e8: 27bdff68 */ addiu $sp,$sp,-152
/* f05d5ec: afb00018 */ sw $s0,0x18($sp)
/* f05d5f0: 3c10800a */ lui $s0,%hi(g_Vars)
@ -12913,6 +12913,45 @@ glabel ai018f
/* f05d798: 00001025 */ or $v0,$zero,$zero
);
// Mismatch due to different registers
//bool aiIfObjectDistanceToPadLessThan(void)
//{
// u8 *cmd = g_Vars.ailist + g_Vars.aioffset;
// float distance = (float)(cmd[4] | (cmd[3] << 8)) * 10;
// float xdiff;
// float ydiff;
// float zdiff;
// s32 pad_id = (cmd[6] | (cmd[5] << 8)) & 0xffff;
// struct defaultobj *obj = objFindByTagId(cmd[2]);
// struct pad pad;
// bool pass = false;
//
// if (obj && obj->pos) {
// pad_id = padResolve(g_Vars.chrdata, pad_id);
//
// if (pad_id >= 0) {
// padUnpack(pad_id, 2, &pad);
// xdiff = obj->pos->coord.x - pad.coord.x;
// ydiff = obj->pos->coord.y - pad.coord.y;
// zdiff = obj->pos->coord.z - pad.coord.z;
//
// if (ydiff < 200 && ydiff > -200 &&
// xdiff < distance && xdiff > -distance &&
// zdiff < distance && zdiff > -distance) {
// pass = true;
// }
// }
// }
//
// if (pass) {
// g_Vars.aioffset = chraiGoToLabel(g_Vars.ailist, g_Vars.aioffset, cmd[7]);
// } else {
// g_Vars.aioffset += 8;
// }
//
// return false;
//}
/**
* @cmd 0190
*/

View File

@ -376,7 +376,7 @@
/*0x018c*/ bool aiChrToggleProp(void);
/*0x018d*/ bool aiActivateLift(void);
/*0x018e*/ bool aiMiniSkedarTryPounce(void);
/*0x018f*/ bool ai018f(void);
/*0x018f*/ bool aiIfObjectDistanceToPadLessThan(void);
/*0x0190*/ bool aiEepromSet(void);
/*0x0191*/ bool aiEepromUnset(void);
/*0x0192*/ bool aiIfEepromSet(void);

View File

@ -14531,7 +14531,7 @@ bool (*g_CommandPointers[])(void) = {
/*0x018c*/ aiChrToggleProp,
/*0x018d*/ aiActivateLift,
/*0x018e*/ aiMiniSkedarTryPounce,
/*0x018f*/ ai018f,
/*0x018f*/ aiIfObjectDistanceToPadLessThan,
/*0x0190*/ aiEepromSet,
/*0x0191*/ aiEepromUnset,
/*0x0192*/ aiIfEepromSet,