Decompile propGetBbox and discover if_proppreset_height_lt AI command

This commit is contained in:
Ryan Dwyer
2020-02-10 00:09:24 +10:00
parent 3342d28a66
commit 40592d833d
16 changed files with 67 additions and 89 deletions
+16 -16
View File
@@ -1446,7 +1446,7 @@ glabel func0f01e7f4
.L0f01e858:
/* f01e858: 27a500cc */ addiu $a1,$sp,0xcc
/* f01e85c: 27a600d4 */ addiu $a2,$sp,0xd4
/* f01e860: 0fc0a277 */ jal func0f0289dc
/* f01e860: 0fc0a277 */ jal propChrGetBbox
/* f01e864: 27a700d0 */ addiu $a3,$sp,0xd0
/* f01e868: 3c013f00 */ lui $at,0x3f00
/* f01e86c: 44813000 */ mtc1 $at,$f6
@@ -2140,7 +2140,7 @@ glabel func0f01f264
/* f01f2a0: c4aa0008 */ lwc1 $f10,0x8($a1)
/* f01f2a4: 27a50034 */ addiu $a1,$sp,0x34
/* f01f2a8: e7aa0058 */ swc1 $f10,0x58($sp)
/* f01f2ac: 0fc0a277 */ jal func0f0289dc
/* f01f2ac: 0fc0a277 */ jal propChrGetBbox
/* f01f2b0: 8c84001c */ lw $a0,0x1c($a0)
/* f01f2b4: 02002025 */ or $a0,$s0,$zero
/* f01f2b8: 8fa50068 */ lw $a1,0x68($sp)
@@ -12360,7 +12360,7 @@ bool chrUpdateGeometry(struct prop *prop, struct geo **arg1, struct geo **arg2)
}
void func0f0289dc(struct prop *prop, f32 *width, f32 *ymax, f32 *ymin)
void propChrGetBbox(struct prop *prop, f32 *width, f32 *ymax, f32 *ymin)
{
struct chrdata *chr = prop->chr;
@@ -18842,7 +18842,7 @@ glabel func0f02e684
/* f02e694: afa40030 */ sw $a0,0x30($sp)
/* f02e698: 27a6002c */ addiu $a2,$sp,0x2c
/* f02e69c: 27a50024 */ addiu $a1,$sp,0x24
/* f02e6a0: 0fc0a277 */ jal func0f0289dc
/* f02e6a0: 0fc0a277 */ jal propChrGetBbox
/* f02e6a4: 27a70028 */ addiu $a3,$sp,0x28
/* f02e6a8: c7a4002c */ lwc1 $f4,0x2c($sp)
/* f02e6ac: c7a60028 */ lwc1 $f6,0x28($sp)
@@ -27408,7 +27408,7 @@ glabel func0f03645c
/* f03647c: 27a70044 */ addiu $a3,$sp,0x44
/* f036480: 27a60048 */ addiu $a2,$sp,0x48
/* f036484: 27a50040 */ addiu $a1,$sp,0x40
/* f036488: 0fc0a277 */ jal func0f0289dc
/* f036488: 0fc0a277 */ jal propChrGetBbox
/* f03648c: afa4002c */ sw $a0,0x2c($sp)
/* f036490: 8fa40050 */ lw $a0,0x50($sp)
/* f036494: 0fc079ef */ jal chrSetOrUnsetHiddenFlag00000100
@@ -27478,7 +27478,7 @@ glabel func0f03654c
/* f036580: 02402025 */ or $a0,$s2,$zero
/* f036584: 27a50068 */ addiu $a1,$sp,0x68
/* f036588: 27a60070 */ addiu $a2,$sp,0x70
/* f03658c: 0fc0a277 */ jal func0f0289dc
/* f03658c: 0fc0a277 */ jal propChrGetBbox
/* f036590: 27a7006c */ addiu $a3,$sp,0x6c
/* f036594: 8fa700a0 */ lw $a3,0xa0($sp)
/* f036598: 8fae00ac */ lw $t6,0xac($sp)
@@ -28738,7 +28738,7 @@ glabel func0f0375e8
/* f037704: 8e04001c */ lw $a0,0x1c($s0)
/* f037708: 27a5010c */ addiu $a1,$sp,0x10c
/* f03770c: 27a60114 */ addiu $a2,$sp,0x114
/* f037710: 0fc0a277 */ jal func0f0289dc
/* f037710: 0fc0a277 */ jal propChrGetBbox
/* f037714: 27a70110 */ addiu $a3,$sp,0x110
/* f037718: 8fab00f0 */ lw $t3,0xf0($sp)
/* f03771c: 8e050024 */ lw $a1,0x24($s0)
@@ -30368,7 +30368,7 @@ glabel func0f038b9c
/* f038c34: 27a50070 */ addiu $a1,$sp,0x70
/* f038c38: 27a60078 */ addiu $a2,$sp,0x78
/* f038c3c: 27a70074 */ addiu $a3,$sp,0x74
/* f038c40: 0fc0a277 */ jal func0f0289dc
/* f038c40: 0fc0a277 */ jal propChrGetBbox
/* f038c44: a7b9007c */ sh $t9,0x7c($sp)
/* f038c48: 02602025 */ or $a0,$s3,$zero
/* f038c4c: 0fc079ef */ jal chrSetOrUnsetHiddenFlag00000100
@@ -32689,7 +32689,7 @@ glabel func0f03afac
/* f03b084: 46065401 */ sub.s $f16,$f10,$f6
/* f03b088: e7b00070 */ swc1 $f16,0x70($sp)
/* f03b08c: c612000c */ lwc1 $f18,0xc($s0)
/* f03b090: 0fc19881 */ jal func0f066204
/* f03b090: 0fc19881 */ jal propGetBbox
/* f03b094: e7b2006c */ swc1 $f18,0x6c($sp)
/* f03b098: 240e0001 */ addiu $t6,$zero,0x1
/* f03b09c: afae0010 */ sw $t6,0x10($sp)
@@ -32912,12 +32912,12 @@ glabel func0f03b1e0
/* f03b3b8: 02002025 */ or $a0,$s0,$zero
/* f03b3bc: 27a50088 */ addiu $a1,$sp,0x88
/* f03b3c0: 27a60090 */ addiu $a2,$sp,0x90
/* f03b3c4: 0fc19881 */ jal func0f066204
/* f03b3c4: 0fc19881 */ jal propGetBbox
/* f03b3c8: 27a7008c */ addiu $a3,$sp,0x8c
/* f03b3cc: 02602025 */ or $a0,$s3,$zero
/* f03b3d0: 27a5007c */ addiu $a1,$sp,0x7c
/* f03b3d4: 27a60084 */ addiu $a2,$sp,0x84
/* f03b3d8: 0fc19881 */ jal func0f066204
/* f03b3d8: 0fc19881 */ jal propGetBbox
/* f03b3dc: 27a70080 */ addiu $a3,$sp,0x80
/* f03b3e0: c7aa0084 */ lwc1 $f10,0x84($sp)
/* f03b3e4: c7b00080 */ lwc1 $f16,0x80($sp)
@@ -43294,7 +43294,7 @@ glabel func0f044c38
/* f044c64: 27a50078 */ addiu $a1,$sp,0x78
/* f044c68: 27a7007c */ addiu $a3,$sp,0x7c
/* f044c6c: 27a60080 */ addiu $a2,$sp,0x80
/* f044c70: 0fc0a277 */ jal func0f0289dc
/* f044c70: 0fc0a277 */ jal propChrGetBbox
/* f044c74: afa4003c */ sw $a0,0x3c($sp)
/* f044c78: 8fa200ec */ lw $v0,0xec($sp)
/* f044c7c: c6060000 */ lwc1 $f6,0x0($s0)
@@ -43659,7 +43659,7 @@ glabel func0f0451a8
/* f0451d4: 27a50078 */ addiu $a1,$sp,0x78
/* f0451d8: 27a7007c */ addiu $a3,$sp,0x7c
/* f0451dc: 27a60080 */ addiu $a2,$sp,0x80
/* f0451e0: 0fc0a277 */ jal func0f0289dc
/* f0451e0: 0fc0a277 */ jal propChrGetBbox
/* f0451e4: afa4003c */ sw $a0,0x3c($sp)
/* f0451e8: 8fa200f4 */ lw $v0,0xf4($sp)
/* f0451ec: c6060000 */ lwc1 $f6,0x0($s0)
@@ -46237,7 +46237,7 @@ glabel func0f047700
.L0f04777c:
/* f04777c: 27a50064 */ addiu $a1,$sp,0x64
/* f047780: 27a60060 */ addiu $a2,$sp,0x60
/* f047784: 0fc0a277 */ jal func0f0289dc
/* f047784: 0fc0a277 */ jal propChrGetBbox
/* f047788: 27a7005c */ addiu $a3,$sp,0x5c
/* f04778c: 02002025 */ or $a0,$s0,$zero
/* f047790: 0fc079ef */ jal chrSetOrUnsetHiddenFlag00000100
@@ -51613,7 +51613,7 @@ glabel func0f04c874
/* f04c9cc: c6320010 */ lwc1 $f18,0x10($s1)
/* f04c9d0: 46109100 */ add.s $f4,$f18,$f16
/* f04c9d4: e6040008 */ swc1 $f4,0x8($s0)
/* f04c9d8: 0fc0a277 */ jal func0f0289dc
/* f04c9d8: 0fc0a277 */ jal propChrGetBbox
/* f04c9dc: 8e64001c */ lw $a0,0x1c($s3)
/* f04c9e0: c7a800cc */ lwc1 $f8,0xcc($sp)
/* f04c9e4: c7a600a0 */ lwc1 $f6,0xa0($sp)
@@ -52165,7 +52165,7 @@ glabel func0f04d000
/* f04d29c: 27a70070 */ addiu $a3,$sp,0x70
/* f04d2a0: 46064280 */ add.s $f10,$f8,$f6
/* f04d2a4: e7aa0044 */ swc1 $f10,0x44($sp)
/* f04d2a8: 0fc0a277 */ jal func0f0289dc
/* f04d2a8: 0fc0a277 */ jal propChrGetBbox
/* f04d2ac: 8e04001c */ lw $a0,0x1c($s0)
/* f04d2b0: 3c013f00 */ lui $at,0x3f00
/* f04d2b4: 44819000 */ mtc1 $at,$f18
+6 -6
View File
@@ -7992,17 +7992,17 @@ glabel aiRemoveObjectAtPropPreset
/**
* @cmd 0105
*/
bool ai0105(void)
bool aiIfPropPresetHeightLessThan(void)
{
u8 *cmd = g_Vars.ailist + g_Vars.aioffset;
struct prop *prop = &g_Vars.props[g_Vars.chrdata->proppreset1];
f32 value = cmd[3] | (cmd[2] << 8);
f32 sp32;
f32 sp28;
f32 sp24;
func0f066204(prop, &sp24, &sp32, &sp28);
f32 ymax;
f32 ymin;
f32 width;
propGetBbox(prop, &width, &ymax, &ymin);
if (sp32 - sp28 < value) {
if (ymax - ymin < value) {
g_Vars.aioffset = chraiGoToLabel(g_Vars.ailist, g_Vars.aioffset, cmd[4]);
} else {
g_Vars.aioffset += 5;
+1 -1
View File
@@ -6480,7 +6480,7 @@ bool (*g_CommandPointers[])(void) = {
/*0x0102*/ aiSetLights,
/*0x0103*/ ai0103,
/*0x0104*/ aiRemoveObjectAtPropPreset,
/*0x0105*/ ai0105,
/*0x0105*/ aiIfPropPresetHeightLessThan,
/*0x0106*/ aiSetTarget,
/*0x0107*/ aiIfPresetsTargetIsNotMyTarget,
/*0x0108*/ aiIfChrTarget,
+14 -43
View File
@@ -7000,49 +7000,20 @@ glabel func0f066054
/* f066200: 00000000 */ sll $zero,$zero,0x0
);
GLOBAL_ASM(
glabel func0f066204
/* f066204: 27bdffe8 */ addiu $sp,$sp,-24
/* f066208: afbf0014 */ sw $ra,0x14($sp)
/* f06620c: 90820000 */ lbu $v0,0x0($a0)
/* f066210: 24010003 */ addiu $at,$zero,0x3
/* f066214: 54410006 */ bnel $v0,$at,.L0f066230
/* f066218: 24010006 */ addiu $at,$zero,0x6
/* f06621c: 0fc0a277 */ jal func0f0289dc
/* f066220: 00000000 */ sll $zero,$zero,0x0
/* f066224: 10000017 */ beqz $zero,.L0f066284
/* f066228: 8fbf0014 */ lw $ra,0x14($sp)
/* f06622c: 24010006 */ addiu $at,$zero,0x6
.L0f066230:
/* f066230: 54410006 */ bnel $v0,$at,.L0f06624c
/* f066234: 24010001 */ addiu $at,$zero,0x1
/* f066238: 0fc3082e */ jal func0f0c20b8
/* f06623c: 00000000 */ sll $zero,$zero,0x0
/* f066240: 10000010 */ beqz $zero,.L0f066284
/* f066244: 8fbf0014 */ lw $ra,0x14($sp)
/* f066248: 24010001 */ addiu $at,$zero,0x1
.L0f06624c:
/* f06624c: 10410003 */ beq $v0,$at,.L0f06625c
/* f066250: 24010002 */ addiu $at,$zero,0x2
/* f066254: 54410006 */ bnel $v0,$at,.L0f066270
/* f066258: 44800000 */ mtc1 $zero,$f0
.L0f06625c:
/* f06625c: 0fc21d5b */ jal func0f08756c
/* f066260: 00000000 */ sll $zero,$zero,0x0
/* f066264: 10000007 */ beqz $zero,.L0f066284
/* f066268: 8fbf0014 */ lw $ra,0x14($sp)
/* f06626c: 44800000 */ mtc1 $zero,$f0
.L0f066270:
/* f066270: 00000000 */ sll $zero,$zero,0x0
/* f066274: e4a00000 */ swc1 $f0,0x0($a1)
/* f066278: e4e00000 */ swc1 $f0,0x0($a3)
/* f06627c: e4c00000 */ swc1 $f0,0x0($a2)
/* f066280: 8fbf0014 */ lw $ra,0x14($sp)
.L0f066284:
/* f066284: 27bd0018 */ addiu $sp,$sp,0x18
/* f066288: 03e00008 */ jr $ra
/* f06628c: 00000000 */ sll $zero,$zero,0x0
);
void propGetBbox(struct prop *prop, f32 *width, f32 *ymax, f32 *ymin)
{
if (prop->type == PROPTYPE_CHR) {
propChrGetBbox(prop, width, ymax, ymin);
} else if (prop->type == PROPTYPE_PLAYER) {
propPlayerGetBbox(prop, width, ymax, ymin);
} else if (prop->type == PROPTYPE_OBJ || prop->type == PROPTYPE_DOOR) {
propObjGetBbox(prop, width, ymax, ymin);
} else {
*width = 0;
*ymin = 0;
*ymax = 0;
}
}
GLOBAL_ASM(
glabel func0f066290
+2 -2
View File
@@ -13929,7 +13929,7 @@ glabel func0f0714b8
/* f0715b0: 0561000c */ bgez $t3,.L0f0715e4
/* f0715b4: 27a50088 */ addiu $a1,$sp,0x88
/* f0715b8: 27a60084 */ addiu $a2,$sp,0x84
/* f0715bc: 0fc21d5b */ jal func0f08756c
/* f0715bc: 0fc21d5b */ jal propObjGetBbox
/* f0715c0: 27a70080 */ addiu $a3,$sp,0x80
/* f0715c4: 3c017f1b */ lui $at,%hi(var7f1aa2cc)
/* f0715c8: c422a2cc */ lwc1 $f2,%lo(var7f1aa2cc)($at)
@@ -38316,7 +38316,7 @@ glabel func0f087458
);
GLOBAL_ASM(
glabel func0f08756c
glabel propObjGetBbox
/* f08756c: 27bdffe0 */ addiu $sp,$sp,-32
/* f087570: afbf0014 */ sw $ra,0x14($sp)
/* f087574: 8c820004 */ lw $v0,0x4($a0)
+1 -1
View File
@@ -17398,7 +17398,7 @@ glabel func0f0c1ff4
);
GLOBAL_ASM(
glabel func0f0c20b8
glabel propPlayerGetBbox
/* f0c20b8: 27bdffe8 */ addiu $sp,$sp,-24
/* f0c20bc: afbf0014 */ sw $ra,0x14($sp)
/* f0c20c0: afa5001c */ sw $a1,0x1c($sp)
+5 -5
View File
@@ -445,7 +445,7 @@ glabel func0f0c3c8c
.L0f0c3d0c:
/* f0c3d0c: afac0040 */ sw $t4,0x40($sp)
.L0f0c3d10:
/* f0c3d10: 0fc3082e */ jal func0f0c20b8
/* f0c3d10: 0fc3082e */ jal propPlayerGetBbox
/* f0c3d14: 8c4400bc */ lw $a0,0xbc($v0)
/* f0c3d18: 8e0d0284 */ lw $t5,0x284($s0)
/* f0c3d1c: 27a60058 */ addiu $a2,$sp,0x58
@@ -602,7 +602,7 @@ glabel func0f0c3e14
.L0f0c3f50:
/* f0c3f50: 8e0d0284 */ lw $t5,0x284($s0)
/* f0c3f54: 27a70058 */ addiu $a3,$sp,0x58
/* f0c3f58: 0fc3082e */ jal func0f0c20b8
/* f0c3f58: 0fc3082e */ jal propPlayerGetBbox
/* f0c3f5c: 8da400bc */ lw $a0,0xbc($t5)
/* f0c3f60: c7a40054 */ lwc1 $f4,0x54($sp)
/* f0c3f64: c7a600c4 */ lwc1 $f6,0xc4($sp)
@@ -1373,7 +1373,7 @@ glabel func0f0c4a5c
/* f0c4a88: 27a70040 */ addiu $a3,$sp,0x40
/* f0c4a8c: 27a60044 */ addiu $a2,$sp,0x44
/* f0c4a90: 27a50038 */ addiu $a1,$sp,0x38
/* f0c4a94: 0fc3082e */ jal func0f0c20b8
/* f0c4a94: 0fc3082e */ jal propPlayerGetBbox
/* f0c4a98: 8dc400bc */ lw $a0,0xbc($t6)
/* f0c4a9c: 3c03800a */ lui $v1,0x800a
/* f0c4aa0: 8c63a244 */ lw $v1,-0x5dbc($v1)
@@ -1749,7 +1749,7 @@ glabel func0f0c4fd8
/* f0c4ff8: 27a500fc */ addiu $a1,$sp,0xfc
/* f0c4ffc: 27a600f8 */ addiu $a2,$sp,0xf8
/* f0c5000: 27a700f4 */ addiu $a3,$sp,0xf4
/* f0c5004: 0fc3082e */ jal func0f0c20b8
/* f0c5004: 0fc3082e */ jal propPlayerGetBbox
/* f0c5008: 8dc400bc */ lw $a0,0xbc($t6)
/* f0c500c: 8e0f029c */ lw $t7,0x29c($s0)
/* f0c5010: 05e00026 */ bltz $t7,.L0f0c50ac
@@ -4105,7 +4105,7 @@ glabel func0f0c69b8
/* f0c7210: e466029c */ swc1 $f6,0x29c($v1)
/* f0c7214: 8c6400bc */ lw $a0,0xbc($v1)
.L0f0c7218:
/* f0c7218: 0fc3082e */ jal func0f0c20b8
/* f0c7218: 0fc3082e */ jal propPlayerGetBbox
/* f0c721c: e7a00074 */ swc1 $f0,0x74($sp)
/* f0c7220: 3c08800a */ lui $t0,%hi(g_Vars)
/* f0c7224: 3c017f1b */ lui $at,%hi(var7f1ad840)
+4 -4
View File
@@ -1050,7 +1050,7 @@ glabel func0f0c8598
/* f0c8604: 8e0400bc */ lw $a0,0xbc($s0)
/* f0c8608: 27a50144 */ addiu $a1,$sp,0x144
/* f0c860c: 27a6014c */ addiu $a2,$sp,0x14c
/* f0c8610: 0fc3082e */ jal func0f0c20b8
/* f0c8610: 0fc3082e */ jal propPlayerGetBbox
/* f0c8614: 27a70148 */ addiu $a3,$sp,0x148
/* f0c8618: 3c10800a */ lui $s0,%hi(var800a0004)
/* f0c861c: 8e10a244 */ lw $s0,-0x5dbc($s0)
@@ -6309,7 +6309,7 @@ glabel func0f0cd05c
/* f0cd09c: 8c5800bc */ lw $t8,0xbc($v0)
/* f0cd0a0: c70a0010 */ lwc1 $f10,0x10($t8)
/* f0cd0a4: e7aa0058 */ swc1 $f10,0x58($sp)
/* f0cd0a8: 0fc3082e */ jal func0f0c20b8
/* f0cd0a8: 0fc3082e */ jal propPlayerGetBbox
/* f0cd0ac: 8c4400bc */ lw $a0,0xbc($v0)
/* f0cd0b0: 8e190284 */ lw $t9,0x284($s0)
/* f0cd0b4: 27a60050 */ addiu $a2,$sp,0x50
@@ -6396,7 +6396,7 @@ glabel func0f0cd1a4
/* f0cd1e4: 27a600c4 */ addiu $a2,$sp,0xc4
/* f0cd1e8: 27a500bc */ addiu $a1,$sp,0xbc
/* f0cd1ec: 27a700c0 */ addiu $a3,$sp,0xc0
/* f0cd1f0: 0fc3082e */ jal func0f0c20b8
/* f0cd1f0: 0fc3082e */ jal propPlayerGetBbox
/* f0cd1f4: 8de400bc */ lw $a0,0xbc($t7)
/* f0cd1f8: 8e180284 */ lw $t8,0x284($s0)
/* f0cd1fc: 00002825 */ or $a1,$zero,$zero
@@ -7216,7 +7216,7 @@ glabel func0f0cdb68
/* f0cdddc: 000c6980 */ sll $t5,$t4,0x6
/* f0cdde0: 05a30017 */ bgezl $t5,.L0f0cde40
/* f0cdde4: c7ac00b0 */ lwc1 $f12,0xb0($sp)
/* f0cdde8: 0fc21d5b */ jal func0f08756c
/* f0cdde8: 0fc21d5b */ jal propObjGetBbox
/* f0cddec: e7ae0060 */ swc1 $f14,0x60($sp)
/* f0cddf0: 3c02800a */ lui $v0,%hi(var8009de78)
/* f0cddf4: 2442de78 */ addiu $v0,$v0,%lo(var8009de78)
+3 -3
View File
@@ -283,7 +283,7 @@ glabel func0f0d22f8
/* f0d233c: 27a60040 */ addiu $a2,$sp,0x40
/* f0d2340: 8f0400bc */ lw $a0,0xbc($t8)
/* f0d2344: e7a00064 */ swc1 $f0,0x64($sp)
/* f0d2348: 0fc3082e */ jal func0f0c20b8
/* f0d2348: 0fc3082e */ jal propPlayerGetBbox
/* f0d234c: 27a7003c */ addiu $a3,$sp,0x3c
/* f0d2350: 3c017f1b */ lui $at,%hi(var7f1adb34)
/* f0d2354: c420db34 */ lwc1 $f0,%lo(var7f1adb34)($at)
@@ -1086,7 +1086,7 @@ glabel func0f0d2e18
/* f0d2ef8: c4500008 */ lwc1 $f16,0x8($v0)
/* f0d2efc: 46105480 */ add.s $f18,$f10,$f16
/* f0d2f00: e7b20130 */ swc1 $f18,0x130($sp)
/* f0d2f04: 0fc21d5b */ jal func0f08756c
/* f0d2f04: 0fc21d5b */ jal propObjGetBbox
/* f0d2f08: 8d041a6c */ lw $a0,0x1a6c($t0)
/* f0d2f0c: 8e290284 */ lw $t1,0x284($s1)
/* f0d2f10: 27aa00a8 */ addiu $t2,$sp,0xa8
@@ -1809,7 +1809,7 @@ glabel func0f0d3940
/* f0d3968: 27a6003c */ addiu $a2,$sp,0x3c
/* f0d396c: 27a50030 */ addiu $a1,$sp,0x30
/* f0d3970: 27a70038 */ addiu $a3,$sp,0x38
/* f0d3974: 0fc21d5b */ jal func0f08756c
/* f0d3974: 0fc21d5b */ jal propObjGetBbox
/* f0d3978: 8dc41a6c */ lw $a0,0x1a6c($t6)
/* f0d397c: 3c03800a */ lui $v1,0x800a
/* f0d3980: 8c63a244 */ lw $v1,-0x5dbc($v1)
+1 -1
View File
@@ -3024,7 +3024,7 @@ glabel func0f12b0e0
/* f12b8cc: 27a600dc */ addiu $a2,$sp,0xdc
/* f12b8d0: 45000026 */ bc1f .L0f12b96c
/* f12b8d4: 00000000 */ sll $zero,$zero,0x0
/* f12b8d8: 0fc19881 */ jal func0f066204
/* f12b8d8: 0fc19881 */ jal propGetBbox
/* f12b8dc: 27a700d8 */ addiu $a3,$sp,0xd8
/* f12b8e0: 3c0141a0 */ lui $at,0x41a0
/* f12b8e4: c7a000e0 */ lwc1 $f0,0xe0($sp)
+9 -2
View File
@@ -2210,9 +2210,16 @@
#define remove_object_at_proppreset \
mkshort(0x0104),
#define cmd0105(u1, label) \
/**
* Checks if the height (bounding box height, not Y value) of the current chr's
* proppreset is less than the given value.
*
* If the prop is invalid, the computed height will be zero which causes the
* check to pass.
*/
#define if_proppreset_height_lt(height, label) \
mkshort(0x0105), \
mkshort(u1), \
mkshort(height), \
label,
/**
+1 -1
View File
@@ -94,7 +94,7 @@ u32 func0f028590(void);
struct prop *chrGetEquippedWeaponProp(struct chrdata *chr, s32 hand);
struct prop *chrGetEquippedWeaponPropWithCheck(struct chrdata *chr, s32 hand);
bool chrUpdateGeometry(struct prop *prop, struct geo **arg1, struct geo **arg2);
void func0f0289dc(struct prop *prop, f32 *width, f32 *ymax, f32 *ymin);
void propChrGetBbox(struct prop *prop, f32 *width, f32 *ymax, f32 *ymin);
u32 func0f028a50(void);
u32 func0f028d50(void);
u32 func0f028e18(void);
+1 -1
View File
@@ -261,7 +261,7 @@
/*0x0102*/ bool aiSetLights(void);
/*0x0103*/ bool ai0103(void);
/*0x0104*/ bool aiRemoveObjectAtPropPreset(void);
/*0x0105*/ bool ai0105(void);
/*0x0105*/ bool aiIfPropPresetHeightLessThan(void);
/*0x0106*/ bool aiSetTarget(void);
/*0x0107*/ bool aiIfPresetsTargetIsNotMyTarget(void);
/*0x0108*/ bool aiIfChrTarget(void);
+1 -1
View File
@@ -55,7 +55,7 @@ u32 func0f065e74(void);
u32 func0f065e98(void);
u32 func0f065f80(void);
u32 func0f066054(void);
void func0f066204(struct prop *prop, f32 *arg1, f32 *arg2, f32 *arg3);
void propGetBbox(struct prop *prop, f32 *width, f32 *ymax, f32 *ymin);
u32 func0f066290(void);
#endif
+1 -1
View File
@@ -232,7 +232,7 @@ u32 func0f086d60(void);
void func0f086f40(struct prop *prop);
u32 func0f087420(void);
u32 func0f087458(void);
u32 func0f08756c(void);
void propObjGetBbox(struct prop *prop, f32 *width, f32 *ymax, f32 *ymin);
u32 func0f087638(void);
u32 func0f087668(void);
u32 func0f08791c(void);
+1 -1
View File
@@ -158,7 +158,7 @@ void func0f0c1d20(void);
u32 func0f0c1e54(void);
u32 func0f0c1f08(void);
u32 func0f0c1ff4(void);
u32 func0f0c20b8(void);
void propPlayerGetBbox(struct prop *prop, f32 *width, f32 *ymax, f32 *ymin);
u32 func0f0c2194(void);
u32 func0f0c21a4(void);
u32 func0f0c2210(void);