Decompile modelGetPart

This commit is contained in:
Ryan Dwyer
2020-06-29 18:13:40 +10:00
parent 17890af24c
commit d672e3c71f
27 changed files with 254 additions and 250 deletions
+1 -1
View File
@@ -3275,7 +3275,7 @@ u8 func100f_check_necklace_collected[] = {
endloop(0x04)
label(0x2c)
remove_cass_necklace(CHR_CASS)
chr_toggle_modelpart(CHR_CASS, MODELPART_NECKLACE)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
};
+3 -3
View File
@@ -1831,7 +1831,7 @@ u8 func0409_tech_conversation[] = {
};
u8 func040d_cass_necklace[] = {
remove_cass_necklace(CHR_CASS)
chr_toggle_modelpart(CHR_CASS, MODELPART_NECKLACE)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
};
@@ -2089,7 +2089,7 @@ u8 func040d_cass[] = {
label(0x2d)
set_chr_hiddenflag(CHR_CASS, CHRHFLAG_00100000)
remove_cass_necklace(CHR_CASS)
chr_toggle_modelpart(CHR_CASS, MODELPART_NECKLACE)
chr_move_to_pad(CHR_CASS, 0x0205, 0x00, /*goto*/ 0x00)
dprint 'M','O','V','E',' ','F','A','I','L','\n',0,
label(0x00)
@@ -2418,7 +2418,7 @@ u8 func0412_outro[] = {
dprint 'c','u','t',' ','s','c','e','n','e',' ','2',0,
set_chr_chrflag(CHR_P1P2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_CASS, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
remove_cass_necklace(CHR_CASS)
chr_toggle_modelpart(CHR_CASS, MODELPART_NECKLACE)
set_chr_chrflag(CHR_MRBLONDE, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_OUTRO_GUARD1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_OUTRO_GUARD2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
+1 -1
View File
@@ -1936,7 +1936,7 @@ u8 func1014_setup_skedar_shuttle[] = {
yield
show_object(OBJ_SKEDAR_SHUTTLE)
set_object_flag3(OBJ_SKEDAR_SHUTTLE, OBJFLAG3_00000010)
set_object_part_visible(OBJ_SKEDAR_SHUTTLE, FALSE)
object_set_modelpart_visible(OBJ_SKEDAR_SHUTTLE, MODELPART_SKGANGWAY, FALSE)
object_do_animation(0x0486, OBJ_SKEDAR_SHUTTLE, 0x01, 0xffff)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
+1 -1
View File
@@ -3203,7 +3203,7 @@ u8 func1022_skedar_shuttle[] = {
set_object_flag2(OBJ_SKEDAR_SHUTTLE, OBJFLAG2_04000000)
set_object_flag3(OBJ_SKEDAR_SHUTTLE, OBJFLAG3_00000010)
object_do_animation(0x045a, OBJ_SKEDAR_SHUTTLE, 0x04, 0xffff)
set_object_part_visible(OBJ_SKEDAR_SHUTTLE, FALSE)
object_set_modelpart_visible(OBJ_SKEDAR_SHUTTLE, MODELPART_SKGANGWAY, FALSE)
set_object_flag(OBJ_SKEDAR_SHUTTLE, OBJFLAG_00000100)
unset_chr_chrflag(CHR_BLONDE1, CHRCFLAG_HIDDEN)
+2 -2
View File
@@ -2819,7 +2819,7 @@ u8 func0c01_outro[] = {
set_object_flag2(OBJ_OUTRO_SHUTTLE, OBJFLAG2_04000000)
set_object_flag3(OBJ_OUTRO_SHUTTLE, OBJFLAG3_00000010)
object_do_animation(0x01e4, OBJ_OUTRO_SHUTTLE, 0x04, 0xffff)
set_object_part_visible(OBJ_OUTRO_SHUTTLE, FALSE)
object_set_modelpart_visible(OBJ_OUTRO_SHUTTLE, MODELPART_SKGANGWAY, FALSE)
show_nonessential_chrs(FALSE)
restart_timer
@@ -3375,7 +3375,7 @@ u8 func1002_hangar_shuttle[] = {
yield
show_object(OBJ_HANGAR_SHUTTLE)
set_object_flag3(OBJ_HANGAR_SHUTTLE, OBJFLAG3_00000010)
set_object_part_visible(OBJ_HANGAR_SHUTTLE, FALSE)
object_set_modelpart_visible(OBJ_HANGAR_SHUTTLE, MODELPART_SKGANGWAY, FALSE)
label(0x09)
restart_timer
+1 -1
View File
@@ -3581,7 +3581,7 @@ u8 func1019_midcutscene[] = {
set_object_flag2(0x19, OBJFLAG2_04000000)
set_object_flag3(0x19, OBJFLAG3_00000010)
object_do_animation(0x02e0, 0x19, 0x04, 0xffff)
set_object_part_visible(0x19, TRUE)
object_set_modelpart_visible(0x19, MODELPART_SKGANGWAY, TRUE)
show_object(0x37)
set_object_flag2(0x37, OBJFLAG2_04000000)
+2 -2
View File
@@ -2690,7 +2690,7 @@ u8 func0c00_intro[] = {
set_object_flag2(0x36, OBJFLAG2_04000000)
set_object_flag3(0x36, OBJFLAG3_00000010)
object_do_animation(0x02fa, 0x36, 0x01, 0xffff)
set_object_part_visible(0x36, FALSE)
object_set_modelpart_visible(0x36, MODELPART_SKGANGWAY, FALSE)
beginloop(0x0e)
if_camera_animating(/*goto*/ 0x2d)
@@ -2759,7 +2759,7 @@ u8 func0c00_intro[] = {
set_object_flag2(0x36, OBJFLAG2_04000000)
set_object_flag3(0x36, OBJFLAG3_00000010)
object_do_animation(0x0302, 0x36, 0x04, 0xffff)
set_object_part_visible(0x36, FALSE)
object_set_modelpart_visible(0x36, MODELPART_SKGANGWAY, FALSE)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
+3 -3
View File
@@ -1366,7 +1366,7 @@ u8 func0411_cass_in_office[] = {
};
u8 func0413_cass_running[] = {
remove_cass_necklace(CHR_CASS)
chr_toggle_modelpart(CHR_CASS, MODELPART_NECKLACE)
unset_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_shotlist(AILIST_CASS_RUNNING)
if_chr_dead(CHR_CASS, /*goto*/ 0x06)
@@ -2029,7 +2029,7 @@ u8 func0417_outro[] = {
object_do_animation(0x0475, OBJ_SHUTTLE2, 0x04, 0xffff)
show_nonessential_chrs(FALSE)
restart_timer
set_object_part_visible(OBJ_SHUTTLE2, FALSE)
object_set_modelpart_visible(OBJ_SHUTTLE2, MODELPART_SKGANGWAY, FALSE)
beginloop(0x08)
if_camera_animating(/*goto*/ 0x2c)
@@ -2120,7 +2120,7 @@ u8 func1011_shuttle_animation[] = {
yield
show_object(OBJ_SHUTTLE1)
set_object_flag3(OBJ_SHUTTLE1, OBJFLAG3_00000010)
set_object_part_visible(OBJ_SHUTTLE1, FALSE)
object_set_modelpart_visible(OBJ_SHUTTLE1, MODELPART_SKGANGWAY, FALSE)
label(0x09)
restart_timer
+3 -3
View File
@@ -6593,15 +6593,15 @@ glabel func0f14f07c
/* f14f2c0: afbf001c */ sw $ra,0x1c($sp)
/* f14f2c4: afa40058 */ sw $a0,0x58($sp)
/* f14f2c8: afa60060 */ sw $a2,0x60($sp)
/* f14f2cc: 0c006a47 */ jal func0001a91c
/* f14f2cc: 0c006a47 */ jal modelGetPart
/* f14f2d0: 24050190 */ addiu $a1,$zero,0x190
/* f14f2d4: afa20054 */ sw $v0,0x54($sp)
/* f14f2d8: 8fa40058 */ lw $a0,0x58($sp)
/* f14f2dc: 0c006a47 */ jal func0001a91c
/* f14f2dc: 0c006a47 */ jal modelGetPart
/* f14f2e0: 24050191 */ addiu $a1,$zero,0x191
/* f14f2e4: 8fa40058 */ lw $a0,0x58($sp)
/* f14f2e8: 24050192 */ addiu $a1,$zero,0x192
/* f14f2ec: 0c006a47 */ jal func0001a91c
/* f14f2ec: 0c006a47 */ jal modelGetPart
/* f14f2f0: afa20050 */ sw $v0,0x50($sp)
/* f14f2f4: 8fad0060 */ lw $t5,0x60($sp)
/* f14f2f8: 8fa30050 */ lw $v1,0x50($sp)
+21 -21
View File
@@ -2523,7 +2523,7 @@ struct prop *func0f020b14(struct prop *prop, struct model *model,
struct chrdata *chr;
struct coord testpos;
f32 ground;
u32 value;
u32 nodetype;
prop->type = PROPTYPE_CHR;
@@ -2557,10 +2557,10 @@ struct prop *func0f020b14(struct prop *prop, struct model *model,
func0f0220ac(chr);
func0001ad34(model, &prop->pos);
value = chr->model->unk08->unk00->unk00;
nodetype = chr->model->unk08->rootnode->type;
if ((value & 0xff) == 1) {
struct model10 *thing = func0001aa1c(chr->model, chr->model->unk08->unk00);
if ((nodetype & 0xff) == MODELNODETYPE_ROOT) {
struct model10 *thing = func0001aa1c(chr->model, chr->model->unk08->rootnode);
thing->ground = ground;
}
@@ -5911,7 +5911,7 @@ glabel var7f1a87d8
/* f0243c0: 8c880004 */ lw $t0,0x4($a0)
/* f0243c4: 5728003e */ bnel $t9,$t0,.L0f0244c0
/* f0243c8: 8fb801f0 */ lw $t8,0x1f0($sp)
/* f0243cc: 0c006a47 */ jal func0001a91c
/* f0243cc: 0c006a47 */ jal modelGetPart
/* f0243d0: 24050004 */ addiu $a1,$zero,0x4
/* f0243d4: 10400039 */ beqz $v0,.L0f0244bc
/* f0243d8: 00402825 */ or $a1,$v0,$zero
@@ -5925,7 +5925,7 @@ glabel var7f1a87d8
/* f0243f8: 24050001 */ addiu $a1,$zero,0x1
/* f0243fc: 51200030 */ beqzl $t1,.L0f0244c0
/* f024400: 8fb801f0 */ lw $t8,0x1f0($sp)
/* f024404: 0c006a47 */ jal func0001a91c
/* f024404: 0c006a47 */ jal modelGetPart
/* f024408: 8c440000 */ lw $a0,0x0($v0)
/* f02440c: 1040002b */ beqz $v0,.L0f0244bc
/* f024410: 00402825 */ or $a1,$v0,$zero
@@ -6031,16 +6031,16 @@ void chrSetHudpieceVisible(struct chrdata *chr, bool visible)
struct model08 *model08 = chr->model->unk08;
if (model08->unk04 == &stagethinglist_22e60) {
struct model08_00 *model08_00 = func0001a91c(model08, 4);
struct modelnode *node = modelGetPart(model08, MODELPART_HUDPIECE);
if (model08_00 && model08_00->unk00 == 0x17) {
struct model10 *model10 = func0001aa1c(chr->model, model08_00);
if (node && node->type == MODELNODETYPE_HEADSPOT) {
struct model10 *model10 = func0001aa1c(chr->model, node);
if (model10->unk00.model08) {
struct model08_00 *model08_00_2 = func0001a91c(model10->unk00.model08, 4);
struct modelnode *node2 = modelGetPart(model10->unk00.model08, MODELPART_HUDPIECE);
if (model08_00_2) {
model10 = func0001aa1c(chr->model, model08_00_2);
if (node2) {
model10 = func0001aa1c(chr->model, node2);
model10->unk00.u32 = visible;
}
}
@@ -7355,12 +7355,12 @@ glabel var7f1a8900
/* f025980: 8c8f0004 */ lw $t7,0x4($a0)
/* f025984: 570f0020 */ bnel $t8,$t7,.L0f025a08
/* f025988: 82020006 */ lb $v0,0x6($s0)
/* f02598c: 0c006a47 */ jal func0001a91c
/* f02598c: 0c006a47 */ jal modelGetPart
/* f025990: 24050004 */ addiu $a1,$zero,0x4
/* f025994: 8fac0118 */ lw $t4,0x118($sp)
/* f025998: 24050005 */ addiu $a1,$zero,0x5
/* f02599c: 8d840008 */ lw $a0,0x8($t4)
/* f0259a0: 0c006a47 */ jal func0001a91c
/* f0259a0: 0c006a47 */ jal modelGetPart
/* f0259a4: afa20080 */ sw $v0,0x80($sp)
/* f0259a8: 8fa60080 */ lw $a2,0x80($sp)
/* f0259ac: 50c00016 */ beqzl $a2,.L0f025a08
@@ -7406,7 +7406,7 @@ glabel var7f1a8900
/* f025a3c: 8c890004 */ lw $t1,0x4($a0)
/* f025a40: 55a9002f */ bnel $t5,$t1,.L0f025b00
/* f025a44: 920c02fe */ lbu $t4,0x2fe($s0)
/* f025a48: 0c006a47 */ jal func0001a91c
/* f025a48: 0c006a47 */ jal modelGetPart
/* f025a4c: 24050004 */ addiu $a1,$zero,0x4
/* f025a50: 1040002a */ beqz $v0,.L0f025afc
/* f025a54: 00402825 */ or $a1,$v0,$zero
@@ -7421,12 +7421,12 @@ glabel var7f1a8900
/* f025a78: 51c00021 */ beqzl $t6,.L0f025b00
/* f025a7c: 920c02fe */ lbu $t4,0x2fe($s0)
/* f025a80: 8c440000 */ lw $a0,0x0($v0)
/* f025a84: 0c006a47 */ jal func0001a91c
/* f025a84: 0c006a47 */ jal modelGetPart
/* f025a88: afa2006c */ sw $v0,0x6c($sp)
/* f025a8c: 8fa3006c */ lw $v1,0x6c($sp)
/* f025a90: 24050003 */ addiu $a1,$zero,0x3
/* f025a94: 8c640000 */ lw $a0,0x0($v1)
/* f025a98: 0c006a47 */ jal func0001a91c
/* f025a98: 0c006a47 */ jal modelGetPart
/* f025a9c: afa20068 */ sw $v0,0x68($sp)
/* f025aa0: 8fa60068 */ lw $a2,0x68($sp)
/* f025aa4: 50c00016 */ beqzl $a2,.L0f025b00
@@ -13977,7 +13977,7 @@ glabel func0f02b7d4
/* f02b848: 8d2a0004 */ lw $t2,0x4($t1)
/* f02b84c: 24050067 */ addiu $a1,$zero,0x67
/* f02b850: 8d570018 */ lw $s7,0x18($t2)
/* f02b854: 0c006a47 */ jal func0001a91c
/* f02b854: 0c006a47 */ jal modelGetPart
/* f02b858: 8ee40008 */ lw $a0,0x8($s7)
/* f02b85c: afa20058 */ sw $v0,0x58($sp)
.L0f02b860:
@@ -14405,7 +14405,7 @@ glabel func0f02bdf8
/* f02be70: 24050067 */ addiu $a1,$zero,0x67
/* f02be74: 8df70018 */ lw $s7,0x18($t7)
/* f02be78: 8ee40008 */ lw $a0,0x8($s7)
/* f02be7c: 0c006a47 */ jal func0001a91c
/* f02be7c: 0c006a47 */ jal modelGetPart
/* f02be80: afb20154 */ sw $s2,0x154($sp)
/* f02be84: 0040b025 */ or $s6,$v0,$zero
.L0f02be88:
@@ -15418,11 +15418,11 @@ glabel func0f02ccb4
/* f02cd1c: 24120001 */ addiu $s2,$zero,0x1
/* f02cd20: 8e640008 */ lw $a0,0x8($s3)
.L0f02cd24:
/* f02cd24: 0c006a47 */ jal func0001a91c
/* f02cd24: 0c006a47 */ jal modelGetPart
/* f02cd28: 02202825 */ or $a1,$s1,$zero
/* f02cd2c: afa2005c */ sw $v0,0x5c($sp)
/* f02cd30: 8e640008 */ lw $a0,0x8($s3)
/* f02cd34: 0c006a47 */ jal func0001a91c
/* f02cd34: 0c006a47 */ jal modelGetPart
/* f02cd38: 26250006 */ addiu $a1,$s1,0x6
/* f02cd3c: afa20060 */ sw $v0,0x60($sp)
/* f02cd40: 27b0005c */ addiu $s0,$sp,0x5c
+21 -21
View File
@@ -14839,7 +14839,7 @@ glabel var7f1a8fc8
/* f03f2f8: 8c470018 */ lw $a3,0x18($v0)
/* f03f2fc: afa00114 */ sw $zero,0x114($sp)
/* f03f300: 8ce40008 */ lw $a0,0x8($a3)
/* f03f304: 0c006a47 */ jal func0001a91c
/* f03f304: 0c006a47 */ jal modelGetPart
/* f03f308: afa70124 */ sw $a3,0x124($sp)
/* f03f30c: 8fa70124 */ lw $a3,0x124($sp)
/* f03f310: 10400026 */ beqz $v0,.L0f03f3ac
@@ -14884,7 +14884,7 @@ glabel var7f1a8fc8
.L0f03f3ac:
/* f03f3ac: 8ce40008 */ lw $a0,0x8($a3)
/* f03f3b0: afa70124 */ sw $a3,0x124($sp)
/* f03f3b4: 0c006a47 */ jal func0001a91c
/* f03f3b4: 0c006a47 */ jal modelGetPart
/* f03f3b8: 24050001 */ addiu $a1,$zero,0x1
/* f03f3bc: 8fa70124 */ lw $a3,0x124($sp)
/* f03f3c0: 10400017 */ beqz $v0,.L0f03f420
@@ -15680,7 +15680,7 @@ glabel func0f03fde4
/* f03fe34: 8fbf001c */ lw $ra,0x1c($sp)
/* f03fe38: 8ce40008 */ lw $a0,0x8($a3)
/* f03fe3c: afa700bc */ sw $a3,0xbc($sp)
/* f03fe40: 0c006a47 */ jal func0001a91c
/* f03fe40: 0c006a47 */ jal modelGetPart
/* f03fe44: afa000b8 */ sw $zero,0xb8($sp)
/* f03fe48: 8fa600b8 */ lw $a2,0xb8($sp)
/* f03fe4c: 8fa700bc */ lw $a3,0xbc($sp)
@@ -15713,7 +15713,7 @@ glabel func0f03fde4
/* f03feb4: 8ce40008 */ lw $a0,0x8($a3)
/* f03feb8: afa700bc */ sw $a3,0xbc($sp)
/* f03febc: afa600b8 */ sw $a2,0xb8($sp)
/* f03fec0: 0c006a47 */ jal func0001a91c
/* f03fec0: 0c006a47 */ jal modelGetPart
/* f03fec4: 24050001 */ addiu $a1,$zero,0x1
/* f03fec8: 8fa600b8 */ lw $a2,0xb8($sp)
/* f03fecc: 8fa700bc */ lw $a3,0xbc($sp)
@@ -18617,20 +18617,20 @@ void chrTickAttackAmount(struct chrdata *chr)
*/
void robotSetMuzzleFlash(struct chrdata *chr, bool right, bool enabled)
{
struct model08_00 *model08_00;
struct modelnode *node;
struct model10 *model10;
s32 value;
s32 partnum;
if (right) {
value = 2;
partnum = MODELPART_MUZZLEFLASHRIGHT;
} else {
value = 3;
partnum = MODELPART_MUZZLEFLASHLEFT;
}
model08_00 = func0001a91c(chr->model->unk08, value);
node = modelGetPart(chr->model->unk08, partnum);
if (model08_00) {
model10 = func0001aa1c(chr->model, model08_00);
if (node) {
model10 = func0001aa1c(chr->model, node);
}
// @dangerous: model10 may be uninitialised
@@ -26522,7 +26522,7 @@ bool chrMoveToPos(struct chrdata *chr, struct coord *pos, s16 *rooms, f32 arg3,
struct coord pos2;
s16 rooms2[8];
bool result = false;
u32 thing;
u32 nodetype;
struct model10 *model10;
struct player *player;
f32 ground;
@@ -26550,10 +26550,10 @@ bool chrMoveToPos(struct chrdata *chr, struct coord *pos, s16 *rooms, f32 arg3,
func0f0220ac(chr);
func0001ad34(chr->model, &pos2);
thing = chr->model->unk08->unk00->unk00;
nodetype = chr->model->unk08->rootnode->type;
if ((thing & 0xff) == 1) {
model10 = func0001aa1c(chr->model, chr->model->unk08->unk00);
if ((nodetype & 0xff) == MODELNODETYPE_ROOT) {
model10 = func0001aa1c(chr->model, chr->model->unk08->rootnode);
model10->ground = ground;
}
@@ -27829,19 +27829,19 @@ s32 func0f004cd84(s32 arg0, s32 arg1)
return arg0;
}
void func0f04cf90(struct chrdata *chr, s32 arg1)
void chrToggleModelPart(struct chrdata *chr, s32 partnum)
{
if (chr && chr->model && chr->model->unk08) {
struct model08_00 *model08_00 = func0001a91c(chr->model->unk08, arg1);
struct modelnode *node = modelGetPart(chr->model->unk08, partnum);
struct model10 *model10 = NULL;
if (model08_00) {
model10 = func0001aa1c(chr->model, model08_00);
if (node) {
model10 = func0001aa1c(chr->model, node);
}
if (model10) {
u32 value = model10->unk00.u32;
model10->unk00.u32 = (value == 0);
bool visible = model10->unk00.u32;
model10->unk00.u32 = !visible;
}
}
}
+2 -2
View File
@@ -414,7 +414,7 @@ bool (*g_CommandPointers[])(void) = {
/*0x0189*/ aiLiftGoToStop,
/*0x018a*/ aiIfLiftAtStop,
/*0x018b*/ aiConfigureRain,
/*0x018c*/ aiChrToggleProp,
/*0x018c*/ aiChrToggleModelPart,
/*0x018d*/ aiActivateLift,
/*0x018e*/ aiMiniSkedarTryPounce,
/*0x018f*/ aiIfObjectDistanceToPadLessThan,
@@ -483,7 +483,7 @@ bool (*g_CommandPointers[])(void) = {
/*0x01ce*/ aiSetPassiveMode,
/*0x01cf*/ aiChrSetFiringInCutscene,
/*0x01d0*/ aiSetPortalFlag,
/*0x01d1*/ aiSetObjPartVisible,
/*0x01d1*/ aiObjSetModelPartVisible,
/*0x01d2*/ aiChrEmitSparks,
/*0x01d3*/ aiSetDrCarollImages,
/*0x01d4*/ ai01d4,
+4 -4
View File
@@ -10003,13 +10003,13 @@ bool aiConfigureSnow(void)
/**
* @cmd 018c
*/
bool aiChrToggleProp(void)
bool aiChrToggleModelPart(void)
{
u8 *cmd = g_Vars.ailist + g_Vars.aioffset;
struct chrdata *chr = chrFindById(g_Vars.chrdata, cmd[2]);
if (chr) {
func0f04cf90(chr, cmd[3]);
chrToggleModelPart(chr, cmd[3]);
}
g_Vars.aioffset += 4;
@@ -11092,13 +11092,13 @@ bool aiSetPortalFlag(void)
/**
* @cmd 01d1
*/
bool aiSetObjPartVisible(void)
bool aiObjSetModelPartVisible(void)
{
u8 *cmd = g_Vars.ailist + g_Vars.aioffset;
struct defaultobj *obj = objFindByTagId(cmd[2]);
if (obj && obj->prop) {
objSetPartVisible(obj, cmd[3], cmd[4]);
objSetModelPartVisible(obj, cmd[3], cmd[4]);
}
g_Vars.aioffset += 5;
+5 -5
View File
@@ -2055,7 +2055,7 @@ glabel var7f1a8058
/* f00df24: 00000000 */ nop
/* f00df28: 8c6f0018 */ lw $t7,0x18($v1)
/* f00df2c: 00002825 */ or $a1,$zero,$zero
/* f00df30: 0c006a47 */ jal func0001a91c
/* f00df30: 0c006a47 */ jal modelGetPart
/* f00df34: 8de40008 */ lw $a0,0x8($t7)
/* f00df38: 8e190018 */ lw $t9,0x18($s0)
/* f00df3c: 1000001a */ b .L0f00dfa8
@@ -2065,7 +2065,7 @@ glabel var7f1a8058
/* f00df48: 24010002 */ addiu $at,$zero,0x2
/* f00df4c: 8c6e0018 */ lw $t6,0x18($v1)
/* f00df50: 24050001 */ addiu $a1,$zero,0x1
/* f00df54: 0c006a47 */ jal func0001a91c
/* f00df54: 0c006a47 */ jal modelGetPart
/* f00df58: 8dc40008 */ lw $a0,0x8($t6)
/* f00df5c: 8e080018 */ lw $t0,0x18($s0)
/* f00df60: 10000011 */ b .L0f00dfa8
@@ -2076,7 +2076,7 @@ glabel var7f1a8058
/* f00df70: 8c6b0018 */ lw $t3,0x18($v1)
/* f00df74: 8c690018 */ lw $t1,0x18($v1)
/* f00df78: 24050002 */ addiu $a1,$zero,0x2
/* f00df7c: 0c006a47 */ jal func0001a91c
/* f00df7c: 0c006a47 */ jal modelGetPart
/* f00df80: 8d240008 */ lw $a0,0x8($t1)
/* f00df84: 8e0a0018 */ lw $t2,0x18($s0)
/* f00df88: 10000007 */ b .L0f00dfa8
@@ -2084,7 +2084,7 @@ glabel var7f1a8058
/* f00df90: 8c6b0018 */ lw $t3,0x18($v1)
.L0f00df94:
/* f00df94: 24050003 */ addiu $a1,$zero,0x3
/* f00df98: 0c006a47 */ jal func0001a91c
/* f00df98: 0c006a47 */ jal modelGetPart
/* f00df9c: 8d640008 */ lw $a0,0x8($t3)
/* f00dfa0: 8e0c0018 */ lw $t4,0x18($s0)
/* f00dfa4: ad82001c */ sw $v0,0x1c($t4)
@@ -4397,7 +4397,7 @@ glabel var7f1a8224
/* f00fdbc: 24050005 */ addiu $a1,$zero,0x5
/* f00fdc0: 50c0000d */ beqzl $a2,.L0f00fdf8
/* f00fdc4: 3c01bf80 */ lui $at,0xbf80
/* f00fdc8: 0c006a47 */ jal func0001a91c
/* f00fdc8: 0c006a47 */ jal modelGetPart
/* f00fdcc: 8cc40008 */ lw $a0,0x8($a2)
/* f00fdd0: 10400008 */ beqz $v0,.L0f00fdf4
/* f00fdd4: 00402825 */ or $a1,$v0,$zero
+3 -3
View File
@@ -129,7 +129,7 @@ glabel var7f1a8a84
/* f02cf5c: 25adce40 */ addiu $t5,$t5,%lo(stagethinglist_22e60)
/* f02cf60: 15a30090 */ bne $t5,$v1,.L0f02d1a4
/* f02cf64: 01802025 */ or $a0,$t4,$zero
/* f02cf68: 0c006a47 */ jal func0001a91c
/* f02cf68: 0c006a47 */ jal modelGetPart
/* f02cf6c: 24050004 */ addiu $a1,$zero,0x4
/* f02cf70: 104000af */ beqz $v0,.L0f02d230
/* f02cf74: afa2003c */ sw $v0,0x3c($sp)
@@ -367,7 +367,7 @@ glabel var7f1a8a84
/* f02d2dc: 8fbf0014 */ lw $ra,0x14($sp)
/* f02d2e0: 15a00008 */ bnez $t5,.L0f02d304
/* f02d2e4: 01402025 */ or $a0,$t2,$zero
/* f02d2e8: 0c006a47 */ jal func0001a91c
/* f02d2e8: 0c006a47 */ jal modelGetPart
/* f02d2ec: 00002825 */ or $a1,$zero,$zero
/* f02d2f0: 10400004 */ beqz $v0,.L0f02d304
/* f02d2f4: 00402825 */ or $a1,$v0,$zero
@@ -376,7 +376,7 @@ glabel var7f1a8a84
/* f02d300: ac400000 */ sw $zero,0x0($v0)
.L0f02d304:
/* f02d304: 8fa40054 */ lw $a0,0x54($sp)
/* f02d308: 0c006a47 */ jal func0001a91c
/* f02d308: 0c006a47 */ jal modelGetPart
/* f02d30c: 24050004 */ addiu $a1,$zero,0x4
/* f02d310: 10400004 */ beqz $v0,.L0f02d324
/* f02d314: 00402825 */ or $a1,$v0,$zero
+29 -29
View File
@@ -536,7 +536,7 @@ glabel func0f097e74
/* f097ea8: 8de41594 */ lw $a0,0x1594($t7)
/* f097eac: 5080001b */ beqzl $a0,.L0f097f1c
/* f097eb0: 8fbf0014 */ lw $ra,0x14($sp)
/* f097eb4: 0c006a47 */ jal func0001a91c
/* f097eb4: 0c006a47 */ jal modelGetPart
/* f097eb8: 87a5001a */ lh $a1,0x1a($sp)
/* f097ebc: 50400017 */ beqzl $v0,.L0f097f1c
/* f097ec0: 8fbf0014 */ lw $ra,0x14($sp)
@@ -550,7 +550,7 @@ glabel func0f097e74
/* f097ee0: 1000000d */ b .L0f097f18
/* f097ee4: ac890000 */ sw $t1,0x0($a0)
.L0f097ee8:
/* f097ee8: 0c006a47 */ jal func0001a91c
/* f097ee8: 0c006a47 */ jal modelGetPart
/* f097eec: 87a5001a */ lh $a1,0x1a($sp)
/* f097ef0: 5040000a */ beqzl $v0,.L0f097f1c
/* f097ef4: 8fbf0014 */ lw $ra,0x14($sp)
@@ -14565,7 +14565,7 @@ glabel func0f0a37b4
/* f0a37c8: 00a02025 */ or $a0,$a1,$zero
/* f0a37cc: afa600a0 */ sw $a2,0xa0($sp)
/* f0a37d0: afa700a4 */ sw $a3,0xa4($sp)
/* f0a37d4: 0c006a47 */ jal func0001a91c
/* f0a37d4: 0c006a47 */ jal modelGetPart
/* f0a37d8: 24050034 */ addiu $a1,$zero,0x34
/* f0a37dc: 104000ac */ beqz $v0,.L0f0a3a90
/* f0a37e0: 00402025 */ or $a0,$v0,$zero
@@ -14796,7 +14796,7 @@ glabel var7f1ac8b8
/* f0a3ab0: afbf002c */ sw $ra,0x2c($sp)
/* f0a3ab4: afa5004c */ sw $a1,0x4c($sp)
/* f0a3ab8: 00a02025 */ or $a0,$a1,$zero
/* f0a3abc: 0c006a47 */ jal func0001a91c
/* f0a3abc: 0c006a47 */ jal modelGetPart
/* f0a3ac0: 2405002c */ addiu $a1,$zero,0x2c
/* f0a3ac4: afa20044 */ sw $v0,0x44($sp)
/* f0a3ac8: c6000244 */ lwc1 $f0,0x244($s0)
@@ -15034,7 +15034,7 @@ glabel var7f1ac8b8
/* f0a3e30: 3c10800a */ lui $s0,%hi(var8009d0f0)
/* f0a3e34: 2610d0f0 */ addiu $s0,$s0,%lo(var8009d0f0)
/* f0a3e38: 8fa4004c */ lw $a0,0x4c($sp)
/* f0a3e3c: 0c006a47 */ jal func0001a91c
/* f0a3e3c: 0c006a47 */ jal modelGetPart
/* f0a3e40: 2405002d */ addiu $a1,$zero,0x2d
/* f0a3e44: 10400004 */ beqz $v0,.L0f0a3e58
/* f0a3e48: 00402025 */ or $a0,$v0,$zero
@@ -15043,7 +15043,7 @@ glabel var7f1ac8b8
/* f0a3e54: ae020000 */ sw $v0,0x0($s0)
.L0f0a3e58:
/* f0a3e58: 8fa4004c */ lw $a0,0x4c($sp)
/* f0a3e5c: 0c006a47 */ jal func0001a91c
/* f0a3e5c: 0c006a47 */ jal modelGetPart
/* f0a3e60: 2405002e */ addiu $a1,$zero,0x2e
/* f0a3e64: 10400004 */ beqz $v0,.L0f0a3e78
/* f0a3e68: 00402025 */ or $a0,$v0,$zero
@@ -15052,7 +15052,7 @@ glabel var7f1ac8b8
/* f0a3e74: ae020004 */ sw $v0,0x4($s0)
.L0f0a3e78:
/* f0a3e78: 8fa4004c */ lw $a0,0x4c($sp)
/* f0a3e7c: 0c006a47 */ jal func0001a91c
/* f0a3e7c: 0c006a47 */ jal modelGetPart
/* f0a3e80: 2405002f */ addiu $a1,$zero,0x2f
/* f0a3e84: 10400004 */ beqz $v0,.L0f0a3e98
/* f0a3e88: 00402025 */ or $a0,$v0,$zero
@@ -15107,19 +15107,19 @@ glabel func0f0a3eac
/* f0a3f38: 02002025 */ or $a0,$s0,$zero
/* f0a3f3c: 46083283 */ div.s $f10,$f6,$f8
/* f0a3f40: 2405002a */ addiu $a1,$zero,0x2a
/* f0a3f44: 0c006a47 */ jal func0001a91c
/* f0a3f44: 0c006a47 */ jal modelGetPart
/* f0a3f48: 460a8681 */ sub.s $f26,$f16,$f10
/* f0a3f4c: afa20098 */ sw $v0,0x98($sp)
/* f0a3f50: 02002025 */ or $a0,$s0,$zero
/* f0a3f54: 0c006a47 */ jal func0001a91c
/* f0a3f54: 0c006a47 */ jal modelGetPart
/* f0a3f58: 2405002b */ addiu $a1,$zero,0x2b
/* f0a3f5c: afa2009c */ sw $v0,0x9c($sp)
/* f0a3f60: 02002025 */ or $a0,$s0,$zero
/* f0a3f64: 0c006a47 */ jal func0001a91c
/* f0a3f64: 0c006a47 */ jal modelGetPart
/* f0a3f68: 2405002c */ addiu $a1,$zero,0x2c
/* f0a3f6c: afa200a0 */ sw $v0,0xa0($sp)
/* f0a3f70: 02002025 */ or $a0,$s0,$zero
/* f0a3f74: 0c006a47 */ jal func0001a91c
/* f0a3f74: 0c006a47 */ jal modelGetPart
/* f0a3f78: 2405002d */ addiu $a1,$zero,0x2d
/* f0a3f7c: 3c0142c8 */ lui $at,0x42c8
/* f0a3f80: 4481c000 */ mtc1 $at,$f24
@@ -15210,7 +15210,7 @@ glabel var7f1ac8c0
/* f0a40a0: 00803825 */ or $a3,$a0,$zero
/* f0a40a4: afa70038 */ sw $a3,0x38($sp)
/* f0a40a8: 00c02025 */ or $a0,$a2,$zero
/* f0a40ac: 0c006a47 */ jal func0001a91c
/* f0a40ac: 0c006a47 */ jal modelGetPart
/* f0a40b0: 24050028 */ addiu $a1,$zero,0x28
/* f0a40b4: 8fa70038 */ lw $a3,0x38($sp)
/* f0a40b8: 10400034 */ beqz $v0,.L0f0a418c
@@ -15329,7 +15329,7 @@ glabel var7f1ac8c4
/* f0a424c: ade10000 */ sw $at,0x0($t7)
/* f0a4250: 8f010008 */ lw $at,0x8($t8)
/* f0a4254: ade80004 */ sw $t0,0x4($t7)
/* f0a4258: 0c006a47 */ jal func0001a91c
/* f0a4258: 0c006a47 */ jal modelGetPart
/* f0a425c: ade10008 */ sw $at,0x8($t7)
/* f0a4260: 8faa0040 */ lw $t2,0x40($sp)
/* f0a4264: 24090001 */ addiu $t1,$zero,0x1
@@ -15508,7 +15508,7 @@ glabel var7f1ac8c8
/* f0a44c4: 00000000 */ nop
/* f0a44c8: 0007000d */ break 0x7
.L0f0a44cc:
/* f0a44cc: 0c006a47 */ jal func0001a91c
/* f0a44cc: 0c006a47 */ jal modelGetPart
/* f0a44d0: 00000000 */ nop
/* f0a44d4: 10400013 */ beqz $v0,.L0f0a4524
/* f0a44d8: 00402025 */ or $a0,$v0,$zero
@@ -15606,22 +15606,22 @@ glabel func0f0a45d0
/* f0a4614: 10c00006 */ beqz $a2,.L0f0a4630
/* f0a4618: 8fa4001c */ lw $a0,0x1c($sp)
/* f0a461c: 8fa4001c */ lw $a0,0x1c($sp)
/* f0a4620: 0c006a47 */ jal func0001a91c
/* f0a4620: 0c006a47 */ jal modelGetPart
/* f0a4624: 2405002a */ addiu $a1,$zero,0x2a
/* f0a4628: 1000000c */ b .L0f0a465c
/* f0a462c: 00403825 */ or $a3,$v0,$zero
.L0f0a4630:
/* f0a4630: 0c006a47 */ jal func0001a91c
/* f0a4630: 0c006a47 */ jal modelGetPart
/* f0a4634: 24050037 */ addiu $a1,$zero,0x37
/* f0a4638: 10000008 */ b .L0f0a465c
/* f0a463c: 00403825 */ or $a3,$v0,$zero
.L0f0a4640:
/* f0a4640: 0c006a47 */ jal func0001a91c
/* f0a4640: 0c006a47 */ jal modelGetPart
/* f0a4644: 2405002b */ addiu $a1,$zero,0x2b
/* f0a4648: 10000004 */ b .L0f0a465c
/* f0a464c: 00403825 */ or $a3,$v0,$zero
.L0f0a4650:
/* f0a4650: 0c006a47 */ jal func0001a91c
/* f0a4650: 0c006a47 */ jal modelGetPart
/* f0a4654: 2405002b */ addiu $a1,$zero,0x2b
/* f0a4658: 00403825 */ or $a3,$v0,$zero
.L0f0a465c:
@@ -16407,7 +16407,7 @@ glabel var7f1ac934
/* f0a50d0: 27b10070 */ addiu $s1,$sp,0x70
/* f0a50d4: 8fa40120 */ lw $a0,0x120($sp)
.L0f0a50d8:
/* f0a50d8: 0c006a47 */ jal func0001a91c
/* f0a50d8: 0c006a47 */ jal modelGetPart
/* f0a50dc: 02402825 */ or $a1,$s2,$zero
/* f0a50e0: 10400077 */ beqz $v0,.L0f0a52c0
/* f0a50e4: 00402025 */ or $a0,$v0,$zero
@@ -16679,7 +16679,7 @@ glabel var7f1ac9e0
/* f0a5394: 10000001 */ b .L0f0a539c
/* f0a5398: 24050030 */ addiu $a1,$zero,0x30
.L0f0a539c:
/* f0a539c: 0c006a47 */ jal func0001a91c
/* f0a539c: 0c006a47 */ jal modelGetPart
/* f0a53a0: 00000000 */ nop
/* f0a53a4: 10400017 */ beqz $v0,.L0f0a5404
/* f0a53a8: 00402025 */ or $a0,$v0,$zero
@@ -17583,7 +17583,7 @@ glabel var7f1aca70
/* f0a5fd0: 2405005a */ addiu $a1,$zero,0x5a
/* f0a5fd4: 8fa40280 */ lw $a0,0x280($sp)
.L0f0a5fd8:
/* f0a5fd8: 0c006a47 */ jal func0001a91c
/* f0a5fd8: 0c006a47 */ jal modelGetPart
/* f0a5fdc: afa50114 */ sw $a1,0x114($sp)
/* f0a5fe0: 1040000c */ beqz $v0,.L0f0a6014
/* f0a5fe4: 8fa50114 */ lw $a1,0x114($sp)
@@ -17837,7 +17837,7 @@ glabel var7f1aca70
/* f0a6370: 3c018006 */ lui $at,%hi(var8005efcc)
/* f0a6374: ac20efcc */ sw $zero,%lo(var8005efcc)($at)
/* f0a6378: 8fa40280 */ lw $a0,0x280($sp)
/* f0a637c: 0c006a47 */ jal func0001a91c
/* f0a637c: 0c006a47 */ jal modelGetPart
/* f0a6380: 24050033 */ addiu $a1,$zero,0x33
/* f0a6384: 10400020 */ beqz $v0,.L0f0a6408
/* f0a6388: 00402025 */ or $a0,$v0,$zero
@@ -17918,7 +17918,7 @@ glabel var7f1aca70
/* f0a6498: 8fa70280 */ lw $a3,0x280($sp)
/* f0a649c: 8fa40280 */ lw $a0,0x280($sp)
.L0f0a64a0:
/* f0a64a0: 0c006a47 */ jal func0001a91c
/* f0a64a0: 0c006a47 */ jal modelGetPart
/* f0a64a4: 24050032 */ addiu $a1,$zero,0x32
/* f0a64a8: 8faa01c4 */ lw $t2,0x1c4($sp)
/* f0a64ac: 24010014 */ addiu $at,$zero,0x14
@@ -17939,7 +17939,7 @@ glabel var7f1aca70
/* f0a64e4: 00a1001a */ div $zero,$a1,$at
/* f0a64e8: 0000c810 */ mfhi $t9
/* f0a64ec: 2725001e */ addiu $a1,$t9,0x1e
/* f0a64f0: 0c006a47 */ jal func0001a91c
/* f0a64f0: 0c006a47 */ jal modelGetPart
/* f0a64f4: 00000000 */ nop
/* f0a64f8: 1000000a */ b .L0f0a6524
/* f0a64fc: 00402025 */ or $a0,$v0,$zero
@@ -17950,7 +17950,7 @@ glabel var7f1aca70
/* f0a650c: 00a1001a */ div $zero,$a1,$at
/* f0a6510: 00007810 */ mfhi $t7
/* f0a6514: 25e5001e */ addiu $a1,$t7,0x1e
/* f0a6518: 0c006a47 */ jal func0001a91c
/* f0a6518: 0c006a47 */ jal modelGetPart
/* f0a651c: 00000000 */ nop
/* f0a6520: 00402025 */ or $a0,$v0,$zero
.L0f0a6524:
@@ -18025,7 +18025,7 @@ glabel var7f1aca70
/* f0a6630: 1541001f */ bne $t2,$at,.L0f0a66b0
/* f0a6634: 26050620 */ addiu $a1,$s0,0x620
.L0f0a6638:
/* f0a6638: 0c006a47 */ jal func0001a91c
/* f0a6638: 0c006a47 */ jal modelGetPart
/* f0a663c: 24050037 */ addiu $a1,$zero,0x37
/* f0a6640: 00402025 */ or $a0,$v0,$zero
/* f0a6644: 0c006949 */ jal func0001a524
@@ -19104,12 +19104,12 @@ glabel var7f1aca90
/* f0a7548: 8fa300cc */ lw $v1,0xcc($sp)
/* f0a754c: 24050010 */ addiu $a1,$zero,0x10
/* f0a7550: ac620004 */ sw $v0,0x4($v1)
/* f0a7554: 0c006a47 */ jal func0001a91c
/* f0a7554: 0c006a47 */ jal modelGetPart
/* f0a7558: 8e04038c */ lw $a0,0x38c($s0)
/* f0a755c: 10400014 */ beqz $v0,.L0f0a75b0
/* f0a7560: afa200e8 */ sw $v0,0xe8($sp)
/* f0a7564: 8e04038c */ lw $a0,0x38c($s0)
/* f0a7568: 0c006a47 */ jal func0001a91c
/* f0a7568: 0c006a47 */ jal modelGetPart
/* f0a756c: 24050011 */ addiu $a1,$zero,0x11
/* f0a7570: 8fa4003c */ lw $a0,0x3c($sp)
/* f0a7574: 0c006a87 */ jal func0001aa1c
@@ -19454,7 +19454,7 @@ glabel var7f1aca90
/* f0a7a48: 03257821 */ addu $t7,$t9,$a1
/* f0a7a4c: 15e10036 */ bne $t7,$at,.L0f0a7b28
/* f0a7a50: 24050041 */ addiu $a1,$zero,0x41
/* f0a7a54: 0c006a47 */ jal func0001a91c
/* f0a7a54: 0c006a47 */ jal modelGetPart
/* f0a7a58: 8e04038c */ lw $a0,0x38c($s0)
/* f0a7a5c: 50400033 */ beqzl $v0,.L0f0a7b2c
/* f0a7a60: 27a4010c */ addiu $a0,$sp,0x10c
+5 -5
View File
@@ -4065,7 +4065,7 @@ glabel var7f1b2948
/* f0f3e0c: 8c8e0004 */ lw $t6,0x4($a0)
/* f0f3e10: 556e002f */ bnel $t3,$t6,.L0f0f3ed0
/* f0f3e14: 8faf02f4 */ lw $t7,0x2f4($sp)
/* f0f3e18: 0c006a47 */ jal func0001a91c
/* f0f3e18: 0c006a47 */ jal modelGetPart
/* f0f3e1c: 24050006 */ addiu $a1,$zero,0x6
/* f0f3e20: 5040002b */ beqzl $v0,.L0f0f3ed0
/* f0f3e24: 8faf02f4 */ lw $t7,0x2f4($sp)
@@ -4568,7 +4568,7 @@ glabel var7f1b2948
/* f0f4588: 8fb90448 */ lw $t9,0x448($sp)
/* f0f458c: 8e040054 */ lw $a0,0x54($s0)
.L0f0f4590:
/* f0f4590: 0c006a47 */ jal func0001a91c
/* f0f4590: 0c006a47 */ jal modelGetPart
/* f0f4594: afa3028c */ sw $v1,0x28c($sp)
/* f0f4598: 8fa3028c */ lw $v1,0x28c($sp)
/* f0f459c: 1040000d */ beqz $v0,.L0f0f45d4
@@ -4930,7 +4930,7 @@ glabel var7f1b2948
/* f0f4ac8: 8c990004 */ lw $t9,0x4($a0)
/* f0f4acc: 57190092 */ bnel $t8,$t9,.L0f0f4d18
/* f0f4ad0: 8fb80440 */ lw $t8,0x440($sp)
/* f0f4ad4: 0c006a47 */ jal func0001a91c
/* f0f4ad4: 0c006a47 */ jal modelGetPart
/* f0f4ad8: 00002825 */ or $a1,$zero,$zero
/* f0f4adc: 5040002e */ beqzl $v0,.L0f0f4b98
/* f0f4ae0: 8e040054 */ lw $a0,0x54($s0)
@@ -4984,7 +4984,7 @@ glabel var7f1b2948
.L0f0f4b94:
/* f0f4b94: 8e040054 */ lw $a0,0x54($s0)
.L0f0f4b98:
/* f0f4b98: 0c006a47 */ jal func0001a91c
/* f0f4b98: 0c006a47 */ jal modelGetPart
/* f0f4b9c: 24050002 */ addiu $a1,$zero,0x2
/* f0f4ba0: 10400019 */ beqz $v0,.L0f0f4c08
/* f0f4ba4: 00402025 */ or $a0,$v0,$zero
@@ -5014,7 +5014,7 @@ glabel var7f1b2948
/* f0f4c04: 27a400e0 */ addiu $a0,$sp,0xe0
.L0f0f4c08:
/* f0f4c08: 8e040054 */ lw $a0,0x54($s0)
/* f0f4c0c: 0c006a47 */ jal func0001a91c
/* f0f4c0c: 0c006a47 */ jal modelGetPart
/* f0f4c10: 24050001 */ addiu $a1,$zero,0x1
/* f0f4c14: 1040003f */ beqz $v0,.L0f0f4d14
/* f0f4c18: 00402025 */ or $a0,$v0,$zero
+52 -52
View File
@@ -4606,7 +4606,7 @@ glabel func0f069cd8
/* f069cf4: 24120014 */ addiu $s2,$zero,0x14
.L0f069cf8:
/* f069cf8: 8e240008 */ lw $a0,0x8($s1)
/* f069cfc: 0c006a47 */ jal func0001a91c
/* f069cfc: 0c006a47 */ jal modelGetPart
/* f069d00: 260500c9 */ addiu $a1,$s0,0xc9
/* f069d04: 10400006 */ beqz $v0,.L0f069d20
/* f069d08: 00402825 */ or $a1,$v0,$zero
@@ -4904,7 +4904,7 @@ glabel var7f1aa1fc
/* f06a108: ae0b0008 */ sw $t3,0x8($s0)
/* f06a10c: ae0e000c */ sw $t6,0xc($s0)
/* f06a110: ae190010 */ sw $t9,0x10($s0)
/* f06a114: 0c006a47 */ jal func0001a91c
/* f06a114: 0c006a47 */ jal modelGetPart
/* f06a118: 8d040008 */ lw $a0,0x8($t0)
/* f06a11c: 10400004 */ beqz $v0,.L0f06a130
/* f06a120: 00402825 */ or $a1,$v0,$zero
@@ -4915,7 +4915,7 @@ glabel var7f1aa1fc
/* f06a130: 8e090018 */ lw $t1,0x18($s0)
/* f06a134: 8fa500ac */ lw $a1,0xac($sp)
/* f06a138: 8d240008 */ lw $a0,0x8($t1)
/* f06a13c: 0c006a47 */ jal func0001a91c
/* f06a13c: 0c006a47 */ jal modelGetPart
/* f06a140: 24a500c9 */ addiu $a1,$a1,0xc9
/* f06a144: 10400005 */ beqz $v0,.L0f06a15c
/* f06a148: 00402825 */ or $a1,$v0,$zero
@@ -4947,7 +4947,7 @@ glabel func0f06a170
/* f06a19c: 24110014 */ addiu $s1,$zero,0x14
/* f06a1a0: 8e440008 */ lw $a0,0x8($s2)
.L0f06a1a4:
/* f06a1a4: 0c006a47 */ jal func0001a91c
/* f06a1a4: 0c006a47 */ jal modelGetPart
/* f06a1a8: 260500c9 */ addiu $a1,$s0,0xc9
/* f06a1ac: 10400007 */ beqz $v0,.L0f06a1cc
/* f06a1b0: 02602025 */ or $a0,$s3,$zero
@@ -6649,7 +6649,7 @@ glabel func0f06b610
/* f06b9bc: 000952c0 */ sll $t2,$t1,0xb
/* f06b9c0: 05410046 */ bgez $t2,.L0f06badc
/* f06b9c4: 00000000 */ nop
/* f06b9c8: 0c006a47 */ jal func0001a91c
/* f06b9c8: 0c006a47 */ jal modelGetPart
/* f06b9cc: 8e840008 */ lw $a0,0x8($s4)
/* f06b9d0: 10400042 */ beqz $v0,.L0f06badc
/* f06b9d4: 00402825 */ or $a1,$v0,$zero
@@ -19790,7 +19790,7 @@ glabel func0f07731c
/* f0773cc: 8c8d0004 */ lw $t5,0x4($a0)
/* f0773d0: 558d000c */ bnel $t4,$t5,.L0f077404
/* f0773d4: 8fb80034 */ lw $t8,0x34($sp)
/* f0773d8: 0c006a47 */ jal func0001a91c
/* f0773d8: 0c006a47 */ jal modelGetPart
/* f0773dc: afa30024 */ sw $v1,0x24($sp)
/* f0773e0: 8fa40020 */ lw $a0,0x20($sp)
/* f0773e4: 0c006a87 */ jal func0001aa1c
@@ -22928,7 +22928,7 @@ glabel var7f1aa588
/* f079d74: 0c0056f8 */ jal func00015be0
/* f079d78: 8fa50028 */ lw $a1,0x28($sp)
/* f079d7c: 8e240008 */ lw $a0,0x8($s1)
/* f079d80: 0c006a47 */ jal func0001a91c
/* f079d80: 0c006a47 */ jal modelGetPart
/* f079d84: 24050002 */ addiu $a1,$zero,0x2
/* f079d88: 8fa5005c */ lw $a1,0x5c($sp)
/* f079d8c: 8c590004 */ lw $t9,0x4($v0)
@@ -22965,7 +22965,7 @@ glabel var7f1aa588
/* f079e08: 02002825 */ or $a1,$s0,$zero
.L0f079e0c:
/* f079e0c: 8e240008 */ lw $a0,0x8($s1)
/* f079e10: 0c006a47 */ jal func0001a91c
/* f079e10: 0c006a47 */ jal modelGetPart
/* f079e14: 24050003 */ addiu $a1,$zero,0x3
/* f079e18: 10400013 */ beqz $v0,.L0f079e68
/* f079e1c: 02202025 */ or $a0,$s1,$zero
@@ -22989,7 +22989,7 @@ glabel var7f1aa588
/* f079e64: 02002825 */ or $a1,$s0,$zero
.L0f079e68:
/* f079e68: 8e240008 */ lw $a0,0x8($s1)
/* f079e6c: 0c006a47 */ jal func0001a91c
/* f079e6c: 0c006a47 */ jal modelGetPart
/* f079e70: 24050004 */ addiu $a1,$zero,0x4
/* f079e74: 1040000d */ beqz $v0,.L0f079eac
/* f079e78: 02202025 */ or $a0,$s1,$zero
@@ -23007,7 +23007,7 @@ glabel var7f1aa588
/* f079ea8: 02002825 */ or $a1,$s0,$zero
.L0f079eac:
/* f079eac: 8e240008 */ lw $a0,0x8($s1)
/* f079eb0: 0c006a47 */ jal func0001a91c
/* f079eb0: 0c006a47 */ jal modelGetPart
/* f079eb4: 24050006 */ addiu $a1,$zero,0x6
/* f079eb8: 10400013 */ beqz $v0,.L0f079f08
/* f079ebc: 02202025 */ or $a0,$s1,$zero
@@ -23086,7 +23086,7 @@ glabel var7f1aa5a8
/* f079f84: afad018c */ sw $t5,0x18c($sp)
/* f079f88: 8dc40008 */ lw $a0,0x8($t6)
/* f079f8c: afa20194 */ sw $v0,0x194($sp)
/* f079f90: 0c006a47 */ jal func0001a91c
/* f079f90: 0c006a47 */ jal modelGetPart
/* f079f94: afa20190 */ sw $v0,0x190($sp)
/* f079f98: 1040000b */ beqz $v0,.L0f079fc8
/* f079f9c: 8fa30190 */ lw $v1,0x190($sp)
@@ -23144,14 +23144,14 @@ glabel var7f1aa5a8
/* f07a05c: 8faf0184 */ lw $t7,0x184($sp)
/* f07a060: 8fab0184 */ lw $t3,0x184($sp)
/* f07a064: 24050007 */ addiu $a1,$zero,0x7
/* f07a068: 0c006a47 */ jal func0001a91c
/* f07a068: 0c006a47 */ jal modelGetPart
/* f07a06c: 8d640008 */ lw $a0,0x8($t3)
/* f07a070: 14400006 */ bnez $v0,.L0f07a08c
/* f07a074: 00403825 */ or $a3,$v0,$zero
/* f07a078: 8faf0184 */ lw $t7,0x184($sp)
.L0f07a07c:
/* f07a07c: 24050005 */ addiu $a1,$zero,0x5
/* f07a080: 0c006a47 */ jal func0001a91c
/* f07a080: 0c006a47 */ jal modelGetPart
/* f07a084: 8de40008 */ lw $a0,0x8($t7)
/* f07a088: 00403825 */ or $a3,$v0,$zero
.L0f07a08c:
@@ -23160,7 +23160,7 @@ glabel var7f1aa5a8
/* f07a094: 8fb80184 */ lw $t8,0x184($sp)
/* f07a098: 24050003 */ addiu $a1,$zero,0x3
/* f07a09c: 8f040008 */ lw $a0,0x8($t8)
/* f07a0a0: 0c006a47 */ jal func0001a91c
/* f07a0a0: 0c006a47 */ jal modelGetPart
/* f07a0a4: afa70120 */ sw $a3,0x120($sp)
/* f07a0a8: 8fa70120 */ lw $a3,0x120($sp)
/* f07a0ac: afa2011c */ sw $v0,0x11c($sp)
@@ -23973,7 +23973,7 @@ glabel var7f1aa5a8
/* f07ac6c: 8fad0184 */ lw $t5,0x184($sp)
.L0f07ac70:
/* f07ac70: 24050005 */ addiu $a1,$zero,0x5
/* f07ac74: 0c006a47 */ jal func0001a91c
/* f07ac74: 0c006a47 */ jal modelGetPart
/* f07ac78: 8da40008 */ lw $a0,0x8($t5)
/* f07ac7c: 10400005 */ beqz $v0,.L0f07ac94
/* f07ac80: 00402825 */ or $a1,$v0,$zero
@@ -23984,7 +23984,7 @@ glabel var7f1aa5a8
.L0f07ac94:
/* f07ac94: 8fab0184 */ lw $t3,0x184($sp)
/* f07ac98: 24050007 */ addiu $a1,$zero,0x7
/* f07ac9c: 0c006a47 */ jal func0001a91c
/* f07ac9c: 0c006a47 */ jal modelGetPart
/* f07aca0: 8d640008 */ lw $a0,0x8($t3)
/* f07aca4: 10400005 */ beqz $v0,.L0f07acbc
/* f07aca8: 00402825 */ or $a1,$v0,$zero
@@ -24783,7 +24783,7 @@ glabel var7f1aa610
/* f07b930: 8fa90114 */ lw $t1,0x114($sp)
.L0f07b934:
/* f07b934: 24050003 */ addiu $a1,$zero,0x3
/* f07b938: 0c006a47 */ jal func0001a91c
/* f07b938: 0c006a47 */ jal modelGetPart
/* f07b93c: 8d240008 */ lw $a0,0x8($t1)
/* f07b940: 10400004 */ beqz $v0,.L0f07b954
/* f07b944: 00402825 */ or $a1,$v0,$zero
@@ -27550,10 +27550,10 @@ void func0f07e058(struct prop *prop)
struct defaultobj *obj = prop->obj;
struct model *model = obj->model;
struct model08_00 *model08_00 = func0001a91c(model->unk08, 0x6e);
struct modelnode *node = modelGetPart(model->unk08, MODELPART_006E);
if (model08_00) {
struct model10 *model10 = func0001aa1c(model, model08_00);
if (node) {
struct model10 *model10 = func0001aa1c(model, node);
u32 flags = obj->flags;
model10->unk00.u32 = (flags & OBJFLAG_DEACTIVATED) == 0;
@@ -28286,7 +28286,7 @@ s32 objTick(struct prop *prop)
if (sp556 == false) {
model->unk0c = func0f1679f4(model->unk08->unk0e * 64);
func0f07e2cc(prop);
func0001cb0c(model, model->unk08->unk00);
func0001cb0c(model, model->unk08->rootnode);
}
prop->z = -model->unk0c->unk38;
@@ -29850,7 +29850,7 @@ glabel func0f0809c4
/* f080a9c: 8fac0070 */ lw $t4,0x70($sp)
/* f080aa0: 00002825 */ or $a1,$zero,$zero
/* f080aa4: 8d840008 */ lw $a0,0x8($t4)
/* f080aa8: 0c006a47 */ jal func0001a91c
/* f080aa8: 0c006a47 */ jal modelGetPart
/* f080aac: afa30060 */ sw $v1,0x60($sp)
/* f080ab0: 8fa30060 */ lw $v1,0x60($sp)
/* f080ab4: 8fa6005c */ lw $a2,0x5c($sp)
@@ -29900,7 +29900,7 @@ glabel func0f0809c4
/* f080b58: 8fb80070 */ lw $t8,0x70($sp)
/* f080b5c: 00002825 */ or $a1,$zero,$zero
/* f080b60: 8f040008 */ lw $a0,0x8($t8)
/* f080b64: 0c006a47 */ jal func0001a91c
/* f080b64: 0c006a47 */ jal modelGetPart
/* f080b68: afa30060 */ sw $v1,0x60($sp)
/* f080b6c: 8fa30060 */ lw $v1,0x60($sp)
/* f080b70: 8fa60058 */ lw $a2,0x58($sp)
@@ -29936,7 +29936,7 @@ glabel func0f0809c4
/* f080be0: 8fad0070 */ lw $t5,0x70($sp)
/* f080be4: 24050001 */ addiu $a1,$zero,0x1
/* f080be8: 8da40008 */ lw $a0,0x8($t5)
/* f080bec: 0c006a47 */ jal func0001a91c
/* f080bec: 0c006a47 */ jal modelGetPart
/* f080bf0: afa30060 */ sw $v1,0x60($sp)
/* f080bf4: 8fa30060 */ lw $v1,0x60($sp)
/* f080bf8: 8fa60058 */ lw $a2,0x58($sp)
@@ -29951,7 +29951,7 @@ glabel func0f0809c4
/* f080c1c: 8fb80070 */ lw $t8,0x70($sp)
/* f080c20: 00408825 */ or $s1,$v0,$zero
/* f080c24: 24050002 */ addiu $a1,$zero,0x2
/* f080c28: 0c006a47 */ jal func0001a91c
/* f080c28: 0c006a47 */ jal modelGetPart
/* f080c2c: 8f040008 */ lw $a0,0x8($t8)
/* f080c30: 8fa30060 */ lw $v1,0x60($sp)
/* f080c34: 8fa60058 */ lw $a2,0x58($sp)
@@ -29966,7 +29966,7 @@ glabel func0f0809c4
/* f080c58: 8fae0070 */ lw $t6,0x70($sp)
/* f080c5c: 00408825 */ or $s1,$v0,$zero
/* f080c60: 24050003 */ addiu $a1,$zero,0x3
/* f080c64: 0c006a47 */ jal func0001a91c
/* f080c64: 0c006a47 */ jal modelGetPart
/* f080c68: 8dc40008 */ lw $a0,0x8($t6)
/* f080c6c: 8fa30060 */ lw $v1,0x60($sp)
/* f080c70: 8fa60058 */ lw $a2,0x58($sp)
@@ -31077,7 +31077,7 @@ glabel func0f081c18
/* f081c34: 00808025 */ or $s0,$a0,$zero
/* f081c38: 15cf0007 */ bne $t6,$t7,.L0f081c58
/* f081c3c: 00a08825 */ or $s1,$a1,$zero
/* f081c40: 0c006a47 */ jal func0001a91c
/* f081c40: 0c006a47 */ jal modelGetPart
/* f081c44: 00002825 */ or $a1,$zero,$zero
/* f081c48: 54510004 */ bnel $v0,$s1,.L0f081c5c
/* f081c4c: 8e190004 */ lw $t9,0x4($s0)
@@ -31090,19 +31090,19 @@ glabel func0f081c18
/* f081c60: 2718ae4c */ addiu $t8,$t8,%lo(stagethinglist_20e6c)
/* f081c64: 17190013 */ bne $t8,$t9,.L0f081cb4
/* f081c68: 02002025 */ or $a0,$s0,$zero
/* f081c6c: 0c006a47 */ jal func0001a91c
/* f081c6c: 0c006a47 */ jal modelGetPart
/* f081c70: 00002825 */ or $a1,$zero,$zero
/* f081c74: 1051000d */ beq $v0,$s1,.L0f081cac
/* f081c78: 02002025 */ or $a0,$s0,$zero
/* f081c7c: 0c006a47 */ jal func0001a91c
/* f081c7c: 0c006a47 */ jal modelGetPart
/* f081c80: 24050001 */ addiu $a1,$zero,0x1
/* f081c84: 10510009 */ beq $v0,$s1,.L0f081cac
/* f081c88: 02002025 */ or $a0,$s0,$zero
/* f081c8c: 0c006a47 */ jal func0001a91c
/* f081c8c: 0c006a47 */ jal modelGetPart
/* f081c90: 24050002 */ addiu $a1,$zero,0x2
/* f081c94: 10510005 */ beq $v0,$s1,.L0f081cac
/* f081c98: 02002025 */ or $a0,$s0,$zero
/* f081c9c: 0c006a47 */ jal func0001a91c
/* f081c9c: 0c006a47 */ jal modelGetPart
/* f081ca0: 24050003 */ addiu $a1,$zero,0x3
/* f081ca4: 54510004 */ bnel $v0,$s1,.L0f081cb8
/* f081ca8: 24020001 */ addiu $v0,$zero,0x1
@@ -34849,7 +34849,7 @@ glabel func0f084e58
/* f084f30: 24050001 */ addiu $a1,$zero,0x1
/* f084f34: 8fac0088 */ lw $t4,0x88($sp)
/* f084f38: 24050001 */ addiu $a1,$zero,0x1
/* f084f3c: 0c006a47 */ jal func0001a91c
/* f084f3c: 0c006a47 */ jal modelGetPart
/* f084f40: 8d840008 */ lw $a0,0x8($t4)
/* f084f44: 8fa40088 */ lw $a0,0x88($sp)
/* f084f48: 0c006a87 */ jal func0001aa1c
@@ -34880,7 +34880,7 @@ glabel func0f084f64
/* f084f98: 8e240008 */ lw $a0,0x8($s1)
/* f084f9c: 00408025 */ or $s0,$v0,$zero
/* f084fa0: 8e240008 */ lw $a0,0x8($s1)
/* f084fa4: 0c006a47 */ jal func0001a91c
/* f084fa4: 0c006a47 */ jal modelGetPart
/* f084fa8: 24050001 */ addiu $a1,$zero,0x1
/* f084fac: 02202025 */ or $a0,$s1,$zero
/* f084fb0: 00402825 */ or $a1,$v0,$zero
@@ -34913,7 +34913,7 @@ glabel func0f084f64
/* f085018: 0fc4f903 */ jal func0f13e40c
/* f08501c: 24050001 */ addiu $a1,$zero,0x1
/* f085020: 8e240008 */ lw $a0,0x8($s1)
/* f085024: 0c006a47 */ jal func0001a91c
/* f085024: 0c006a47 */ jal modelGetPart
/* f085028: 24050003 */ addiu $a1,$zero,0x3
/* f08502c: 02202025 */ or $a0,$s1,$zero
/* f085030: 0c006a87 */ jal func0001aa1c
@@ -35713,7 +35713,7 @@ glabel func0f0859a0
/* f085b20: 000e7ac0 */ sll $t7,$t6,0xb
/* f085b24: 05e10048 */ bgez $t7,.L0f085c48
/* f085b28: 00000000 */ nop
/* f085b2c: 0c006a47 */ jal func0001a91c
/* f085b2c: 0c006a47 */ jal modelGetPart
/* f085b30: 8ea40008 */ lw $a0,0x8($s5)
/* f085b34: 10400044 */ beqz $v0,.L0f085c48
/* f085b38: 00408025 */ or $s0,$v0,$zero
@@ -35827,7 +35827,7 @@ glabel func0f0859a0
/* f085cd4: 8c8c0004 */ lw $t4,0x4($a0)
/* f085cd8: 154c0007 */ bne $t2,$t4,.L0f085cf8
/* f085cdc: 00000000 */ nop
/* f085ce0: 0c006a47 */ jal func0001a91c
/* f085ce0: 0c006a47 */ jal modelGetPart
/* f085ce4: 24050003 */ addiu $a1,$zero,0x3
/* f085ce8: 8fab00d0 */ lw $t3,0xd0($sp)
/* f085cec: 144b0002 */ bne $v0,$t3,.L0f085cf8
@@ -36374,7 +36374,7 @@ glabel func0f085eac
/* f086494: 8c830004 */ lw $v1,0x4($a0)
/* f086498: 1703000c */ bne $t8,$v1,.L0f0864cc
/* f08649c: 00000000 */ nop
/* f0864a0: 0c006a47 */ jal func0001a91c
/* f0864a0: 0c006a47 */ jal modelGetPart
/* f0864a4: afa600d0 */ sw $a2,0xd0($sp)
/* f0864a8: 8fac0124 */ lw $t4,0x124($sp)
/* f0864ac: 8fa600d0 */ lw $a2,0xd0($sp)
@@ -36390,7 +36390,7 @@ glabel func0f085eac
/* f0864d0: 2739ae34 */ addiu $t9,$t9,%lo(stagethinglist_20e54)
/* f0864d4: 17230009 */ bne $t9,$v1,.L0f0864fc
/* f0864d8: 24050001 */ addiu $a1,$zero,0x1
/* f0864dc: 0c006a47 */ jal func0001a91c
/* f0864dc: 0c006a47 */ jal modelGetPart
/* f0864e0: afa600d0 */ sw $a2,0xd0($sp)
/* f0864e4: 8fab0124 */ lw $t3,0x124($sp)
/* f0864e8: 8fa600d0 */ lw $a2,0xd0($sp)
@@ -36499,7 +36499,7 @@ glabel func0f085eac
/* f086664: 8c980004 */ lw $t8,0x4($a0)
/* f086668: 1578000f */ bne $t3,$t8,.L0f0866a8
/* f08666c: 00000000 */ nop
/* f086670: 0c006a47 */ jal func0001a91c
/* f086670: 0c006a47 */ jal modelGetPart
/* f086674: e7a200c0 */ swc1 $f2,0xc0($sp)
/* f086678: 8fb90124 */ lw $t9,0x124($sp)
/* f08667c: c7a200c0 */ lwc1 $f2,0xc0($sp)
@@ -39946,7 +39946,7 @@ glabel func0f089c70
/* f089d1c: 24050006 */ addiu $a1,$zero,0x6
/* f089d20: ad490018 */ sw $t1,0x18($t2)
/* f089d24: 8e2b0020 */ lw $t3,0x20($s1)
/* f089d28: 0c006a47 */ jal func0001a91c
/* f089d28: 0c006a47 */ jal modelGetPart
/* f089d2c: 8d640008 */ lw $a0,0x8($t3)
/* f089d30: 8e0c0018 */ lw $t4,0x18($s0)
/* f089d34: 02402025 */ or $a0,$s2,$zero
@@ -41292,7 +41292,7 @@ glabel func0f08ae54
/* f08af78: 8da40008 */ lw $a0,0x8($t5)
/* f08af7c: afa80024 */ sw $t0,0x24($sp)
/* f08af80: afa70028 */ sw $a3,0x28($sp)
/* f08af84: 0c006a47 */ jal func0001a91c
/* f08af84: 0c006a47 */ jal modelGetPart
/* f08af88: afa60040 */ sw $a2,0x40($sp)
/* f08af8c: 8fa60040 */ lw $a2,0x40($sp)
/* f08af90: 8fa70028 */ lw $a3,0x28($sp)
@@ -41306,7 +41306,7 @@ glabel func0f08ae54
/* f08afac: 8de40008 */ lw $a0,0x8($t7)
/* f08afb0: afa80024 */ sw $t0,0x24($sp)
/* f08afb4: afa70028 */ sw $a3,0x28($sp)
/* f08afb8: 0c006a47 */ jal func0001a91c
/* f08afb8: 0c006a47 */ jal modelGetPart
/* f08afbc: afa60040 */ sw $a2,0x40($sp)
/* f08afc0: 8fa60040 */ lw $a2,0x40($sp)
/* f08afc4: 8fa70028 */ lw $a3,0x28($sp)
@@ -41348,7 +41348,7 @@ glabel func0f08ae54
/* f08b044: 8de40008 */ lw $a0,0x8($t7)
/* f08b048: afa80024 */ sw $t0,0x24($sp)
/* f08b04c: afa70028 */ sw $a3,0x28($sp)
/* f08b050: 0c006a47 */ jal func0001a91c
/* f08b050: 0c006a47 */ jal modelGetPart
/* f08b054: afa60040 */ sw $a2,0x40($sp)
/* f08b058: 8fa60040 */ lw $a2,0x40($sp)
/* f08b05c: 8fa70028 */ lw $a3,0x28($sp)
@@ -41362,7 +41362,7 @@ glabel func0f08ae54
/* f08b078: 8f240008 */ lw $a0,0x8($t9)
/* f08b07c: afa80024 */ sw $t0,0x24($sp)
/* f08b080: afa70028 */ sw $a3,0x28($sp)
/* f08b084: 0c006a47 */ jal func0001a91c
/* f08b084: 0c006a47 */ jal modelGetPart
/* f08b088: afa60040 */ sw $a2,0x40($sp)
/* f08b08c: 8fa60040 */ lw $a2,0x40($sp)
/* f08b090: 8fa70028 */ lw $a3,0x28($sp)
@@ -42223,7 +42223,7 @@ glabel func0f08bb5c
/* f08bba8: 8c980004 */ lw $t8,0x4($a0)
/* f08bbac: 55f8001d */ bnel $t7,$t8,.L0f08bc24
/* f08bbb0: 8fad0024 */ lw $t5,0x24($sp)
/* f08bbb4: 0c006a47 */ jal func0001a91c
/* f08bbb4: 0c006a47 */ jal modelGetPart
/* f08bbb8: 00002825 */ or $a1,$zero,$zero
/* f08bbbc: 1040000a */ beqz $v0,.L0f08bbe8
/* f08bbc0: 00402825 */ or $a1,$v0,$zero
@@ -42239,7 +42239,7 @@ glabel func0f08bb5c
.L0f08bbe8:
/* f08bbe8: 8e040008 */ lw $a0,0x8($s0)
.L0f08bbec:
/* f08bbec: 0c006a47 */ jal func0001a91c
/* f08bbec: 0c006a47 */ jal modelGetPart
/* f08bbf0: 24050002 */ addiu $a1,$zero,0x2
/* f08bbf4: 1040000a */ beqz $v0,.L0f08bc20
/* f08bbf8: 00402825 */ or $a1,$v0,$zero
@@ -42288,7 +42288,7 @@ glabel func0f08bc5c
/* f08bc84: 00002825 */ or $a1,$zero,$zero
/* f08bc88: 55cf0016 */ bnel $t6,$t7,.L0f08bce4
/* f08bc8c: 00001025 */ or $v0,$zero,$zero
/* f08bc90: 0c006a47 */ jal func0001a91c
/* f08bc90: 0c006a47 */ jal modelGetPart
/* f08bc94: afa60018 */ sw $a2,0x18($sp)
/* f08bc98: 8fa60018 */ lw $a2,0x18($sp)
/* f08bc9c: 10400005 */ beqz $v0,.L0f08bcb4
@@ -42300,7 +42300,7 @@ glabel func0f08bc5c
.L0f08bcb4:
/* f08bcb4: 8cc40008 */ lw $a0,0x8($a2)
/* f08bcb8: afa60018 */ sw $a2,0x18($sp)
/* f08bcbc: 0c006a47 */ jal func0001a91c
/* f08bcbc: 0c006a47 */ jal modelGetPart
/* f08bcc0: 24050002 */ addiu $a1,$zero,0x2
/* f08bcc4: 8fa60018 */ lw $a2,0x18($sp)
/* f08bcc8: 10400005 */ beqz $v0,.L0f08bce0
@@ -48383,13 +48383,13 @@ glabel var7f1ab214
/* f091d80: 00000000 */ nop
);
void objSetPartVisible(struct defaultobj *obj, s32 partnum, bool visible)
void objSetModelPartVisible(struct defaultobj *obj, s32 partnum, bool visible)
{
if (obj && obj->model && obj->model->unk08) {
struct model08_00 *model08_00 = func0001a91c(obj->model->unk08, partnum);
struct modelnode *node = modelGetPart(obj->model->unk08, partnum);
if (model08_00) {
struct model10 *model10 = func0001aa1c(obj->model, model08_00);
if (node) {
struct model10 *model10 = func0001aa1c(obj->model, node);
if (model10) {
if (visible) {
+20 -20
View File
@@ -1450,7 +1450,7 @@ glabel func0f017248
/* f0172c0: 8de10000 */ lw $at,0x0($t7)
/* f0172c4: 00002825 */ or $a1,$zero,$zero
/* f0172c8: adc10000 */ sw $at,0x0($t6)
/* f0172cc: 0c006a47 */ jal func0001a91c
/* f0172cc: 0c006a47 */ jal modelGetPart
/* f0172d0: 8ee40008 */ lw $a0,0x8($s7)
/* f0172d4: 02e02025 */ or $a0,$s7,$zero
/* f0172d8: 0c006a87 */ jal func0001aa1c
@@ -1458,7 +1458,7 @@ glabel func0f017248
/* f0172e0: 8fac0158 */ lw $t4,0x158($sp)
/* f0172e4: 24050001 */ addiu $a1,$zero,0x1
/* f0172e8: ac4c0000 */ sw $t4,0x0($v0)
/* f0172ec: 0c006a47 */ jal func0001a91c
/* f0172ec: 0c006a47 */ jal modelGetPart
/* f0172f0: 8ee40008 */ lw $a0,0x8($s7)
/* f0172f4: 02e02025 */ or $a0,$s7,$zero
/* f0172f8: 0c006a87 */ jal func0001aa1c
@@ -1548,11 +1548,11 @@ glabel func0f017248
/* f01741c: 8fad0108 */ lw $t5,0x108($sp)
/* f017420: 15800009 */ bnez $t4,.L0f017448
/* f017424: 24010001 */ addiu $at,$zero,0x1
/* f017428: 0c006a47 */ jal func0001a91c
/* f017428: 0c006a47 */ jal modelGetPart
/* f01742c: 8ee40008 */ lw $a0,0x8($s7)
/* f017430: 00408025 */ or $s0,$v0,$zero
/* f017434: 8ee40008 */ lw $a0,0x8($s7)
/* f017438: 0c006a47 */ jal func0001a91c
/* f017438: 0c006a47 */ jal modelGetPart
/* f01743c: 24050003 */ addiu $a1,$zero,0x3
/* f017440: 1000001f */ b .L0f0174c0
/* f017444: 00403025 */ or $a2,$v0,$zero
@@ -1560,11 +1560,11 @@ glabel func0f017248
/* f017448: 15a1000a */ bne $t5,$at,.L0f017474
/* f01744c: 8fb90108 */ lw $t9,0x108($sp)
/* f017450: 8ee40008 */ lw $a0,0x8($s7)
/* f017454: 0c006a47 */ jal func0001a91c
/* f017454: 0c006a47 */ jal modelGetPart
/* f017458: 24050004 */ addiu $a1,$zero,0x4
/* f01745c: 00408025 */ or $s0,$v0,$zero
/* f017460: 8ee40008 */ lw $a0,0x8($s7)
/* f017464: 0c006a47 */ jal func0001a91c
/* f017464: 0c006a47 */ jal modelGetPart
/* f017468: 24050005 */ addiu $a1,$zero,0x5
/* f01746c: 10000014 */ b .L0f0174c0
/* f017470: 00403025 */ or $a2,$v0,$zero
@@ -1573,20 +1573,20 @@ glabel func0f017248
/* f017478: 1721000a */ bne $t9,$at,.L0f0174a4
/* f01747c: 24050008 */ addiu $a1,$zero,0x8
/* f017480: 8ee40008 */ lw $a0,0x8($s7)
/* f017484: 0c006a47 */ jal func0001a91c
/* f017484: 0c006a47 */ jal modelGetPart
/* f017488: 24050006 */ addiu $a1,$zero,0x6
/* f01748c: 00408025 */ or $s0,$v0,$zero
/* f017490: 8ee40008 */ lw $a0,0x8($s7)
/* f017494: 0c006a47 */ jal func0001a91c
/* f017494: 0c006a47 */ jal modelGetPart
/* f017498: 24050007 */ addiu $a1,$zero,0x7
/* f01749c: 10000008 */ b .L0f0174c0
/* f0174a0: 00403025 */ or $a2,$v0,$zero
.L0f0174a4:
/* f0174a4: 0c006a47 */ jal func0001a91c
/* f0174a4: 0c006a47 */ jal modelGetPart
/* f0174a8: 8ee40008 */ lw $a0,0x8($s7)
/* f0174ac: 00408025 */ or $s0,$v0,$zero
/* f0174b0: 8ee40008 */ lw $a0,0x8($s7)
/* f0174b4: 0c006a47 */ jal func0001a91c
/* f0174b4: 0c006a47 */ jal modelGetPart
/* f0174b8: 24050009 */ addiu $a1,$zero,0x9
/* f0174bc: 00403025 */ or $a2,$v0,$zero
.L0f0174c0:
@@ -2834,7 +2834,7 @@ glabel var7f1a8468
/* f0186ec: a0620000 */ sb $v0,0x0($v1)
/* f0186f0: afa000dc */ sw $zero,0xdc($sp)
/* f0186f4: afa000d8 */ sw $zero,0xd8($sp)
/* f0186f8: 0c006a47 */ jal func0001a91c
/* f0186f8: 0c006a47 */ jal modelGetPart
/* f0186fc: 8dc40008 */ lw $a0,0x8($t6)
/* f018700: 10400027 */ beqz $v0,.L0f0187a0
/* f018704: 00402825 */ or $a1,$v0,$zero
@@ -2879,7 +2879,7 @@ glabel var7f1a8468
.L0f0187a0:
/* f0187a0: 8fb9022c */ lw $t9,0x22c($sp)
/* f0187a4: 24050004 */ addiu $a1,$zero,0x4
/* f0187a8: 0c006a47 */ jal func0001a91c
/* f0187a8: 0c006a47 */ jal modelGetPart
/* f0187ac: 8f240008 */ lw $a0,0x8($t9)
/* f0187b0: 10400037 */ beqz $v0,.L0f018890
/* f0187b4: 00402825 */ or $a1,$v0,$zero
@@ -2941,7 +2941,7 @@ glabel var7f1a8468
.L0f018890:
/* f018890: 8fb8022c */ lw $t8,0x22c($sp)
/* f018894: 24050006 */ addiu $a1,$zero,0x6
/* f018898: 0c006a47 */ jal func0001a91c
/* f018898: 0c006a47 */ jal modelGetPart
/* f01889c: 8f040008 */ lw $a0,0x8($t8)
/* f0188a0: 10400037 */ beqz $v0,.L0f018980
/* f0188a4: 00402825 */ or $a1,$v0,$zero
@@ -3003,7 +3003,7 @@ glabel var7f1a8468
.L0f018980:
/* f018980: 8fae022c */ lw $t6,0x22c($sp)
/* f018984: 24050008 */ addiu $a1,$zero,0x8
/* f018988: 0c006a47 */ jal func0001a91c
/* f018988: 0c006a47 */ jal modelGetPart
/* f01898c: 8dc40008 */ lw $a0,0x8($t6)
/* f018990: 10400037 */ beqz $v0,.L0f018a70
/* f018994: 00402825 */ or $a1,$v0,$zero
@@ -4255,7 +4255,7 @@ glabel var7f1a84bc
/* f01a0f4: 8e640000 */ lw $a0,0x0($s3)
/* f01a0f8: 8e790000 */ lw $t9,0x0($s3)
/* f01a0fc: 2405000b */ addiu $a1,$zero,0xb
/* f01a100: 0c006a47 */ jal func0001a91c
/* f01a100: 0c006a47 */ jal modelGetPart
/* f01a104: 8f240008 */ lw $a0,0x8($t9)
/* f01a108: 8e640000 */ lw $a0,0x0($s3)
/* f01a10c: 0c006a87 */ jal func0001aa1c
@@ -4266,7 +4266,7 @@ glabel var7f1a84bc
/* f01a120: 8e780000 */ lw $t8,0x0($s3)
.L0f01a124:
/* f01a124: 2405000d */ addiu $a1,$zero,0xd
/* f01a128: 0c006a47 */ jal func0001a91c
/* f01a128: 0c006a47 */ jal modelGetPart
/* f01a12c: 8f040008 */ lw $a0,0x8($t8)
/* f01a130: 8e640000 */ lw $a0,0x0($s3)
/* f01a134: 0c006a87 */ jal func0001aa1c
@@ -4277,7 +4277,7 @@ glabel var7f1a84bc
.L0f01a148:
/* f01a148: 8e6f0000 */ lw $t7,0x0($s3)
/* f01a14c: 2405000c */ addiu $a1,$zero,0xc
/* f01a150: 0c006a47 */ jal func0001a91c
/* f01a150: 0c006a47 */ jal modelGetPart
/* f01a154: 8de40008 */ lw $a0,0x8($t7)
/* f01a158: 8e640000 */ lw $a0,0x0($s3)
/* f01a15c: 0c006a87 */ jal func0001aa1c
@@ -4317,7 +4317,7 @@ glabel var7f1a84bc
/* f01a1e0: 8e6b0000 */ lw $t3,0x0($s3)
/* f01a1e4: 8fb4016c */ lw $s4,0x16c($sp)
/* f01a1e8: 2405000b */ addiu $a1,$zero,0xb
/* f01a1ec: 0c006a47 */ jal func0001a91c
/* f01a1ec: 0c006a47 */ jal modelGetPart
/* f01a1f0: 8d640008 */ lw $a0,0x8($t3)
/* f01a1f4: 8e640000 */ lw $a0,0x0($s3)
/* f01a1f8: 0c006a87 */ jal func0001aa1c
@@ -4328,7 +4328,7 @@ glabel var7f1a84bc
.L0f01a20c:
/* f01a20c: 8e790000 */ lw $t9,0x0($s3)
/* f01a210: 2405000d */ addiu $a1,$zero,0xd
/* f01a214: 0c006a47 */ jal func0001a91c
/* f01a214: 0c006a47 */ jal modelGetPart
/* f01a218: 8f240008 */ lw $a0,0x8($t9)
/* f01a21c: 8e640000 */ lw $a0,0x0($s3)
/* f01a220: 0c006a87 */ jal func0001aa1c
@@ -4339,7 +4339,7 @@ glabel var7f1a84bc
/* f01a234: 8e780000 */ lw $t8,0x0($s3)
.L0f01a238:
/* f01a238: 2405000c */ addiu $a1,$zero,0xc
/* f01a23c: 0c006a47 */ jal func0001a91c
/* f01a23c: 0c006a47 */ jal modelGetPart
/* f01a240: 8f040008 */ lw $a0,0x8($t8)
/* f01a244: 8e640000 */ lw $a0,0x0($s3)
/* f01a248: 0c006a87 */ jal func0001aa1c
+16 -6
View File
@@ -3404,12 +3404,15 @@
value,
/**
* Remove the necklace from the given chr.
* Toggle the visibility of part of the chr's model. It's used for Cassandra's
* necklace.
*
* modelpart should be a MODELPART constant, and refers to a node in the model.
*/
#define remove_cass_necklace(chr) \
#define chr_toggle_modelpart(chr, modelpart) \
mkshort(0x018c), \
chr, \
0x07,
modelpart,
/**
* Activate the given lift.
@@ -3910,11 +3913,18 @@
mkshort(portal), \
flag,
#define set_object_part_visible(object, bool) \
/**
* Shows or hides part of the object's model.
*
* modelpart should be a MODELPART constant, and refers to a node in the model.
*
* visible is a boolean. TRUE makes it visible. FALSE makes it invisible.
*/
#define object_set_modelpart_visible(object, modelpart, visible) \
mkshort(0x01d1), \
object, \
0xb7, \
bool,
modelpart, \
visible,
/**
* Emits sparks from the given chr.
+10
View File
@@ -1458,6 +1458,16 @@
#define MODEL_CETANDOORSIDE 0x01b7
#define MODEL_BUDDYBRIDGE 0x01b8
#define MODELNODETYPE_ROOT 0x01
#define MODELNODETYPE_HEADSPOT 0x17
#define MODELPART_MUZZLEFLASHRIGHT 0x0002
#define MODELPART_MUZZLEFLASHLEFT 0x0003
#define MODELPART_HUDPIECE 0x0004
#define MODELPART_NECKLACE 0x0007
#define MODELPART_006E 0x006e
#define MODELPART_SKGANGWAY 0x00b7
#define MOVEMODE_WALK 0
#define MOVEMODE_BIKE 3
#define MOVEMODE_GRAB 4
+1 -1
View File
@@ -323,7 +323,7 @@ s16 *teamGetChrIds(s32 team_id);
s16 *squadronGetChrIds(s32 squadron_id);
void audioMarkAsRecentlyPlayed(s16 audioid);
bool audioWasNotPlayedRecently(s16 audioid);
void func0f04cf90(struct chrdata *chr, s32 arg1);
void chrToggleModelPart(struct chrdata *chr, s32 partnum);
bool chrIsAvoiding(struct chrdata *chr);
void chrEmitSparks(struct chrdata *chr);
+2 -2
View File
@@ -373,7 +373,7 @@
/*0x0189*/ bool aiLiftGoToStop(void);
/*0x018a*/ bool aiIfLiftAtStop(void);
/*0x018b*/ bool aiConfigureRain(void);
/*0x018c*/ bool aiChrToggleProp(void);
/*0x018c*/ bool aiChrToggleModelPart(void);
/*0x018d*/ bool aiActivateLift(void);
/*0x018e*/ bool aiMiniSkedarTryPounce(void);
/*0x018f*/ bool aiIfObjectDistanceToPadLessThan(void);
@@ -428,7 +428,7 @@
/*0x01ce*/ bool aiSetPassiveMode(void);
/*0x01cf*/ bool aiChrSetFiringInCutscene(void);
/*0x01d0*/ bool aiSetPortalFlag(void);
/*0x01d1*/ bool aiSetObjPartVisible(void);
/*0x01d1*/ bool aiObjSetModelPartVisible(void);
/*0x01d2*/ bool aiChrEmitSparks(void);
/*0x01d3*/ bool aiSetDrCarollImages(void);
/*0x01d4*/ bool ai01d4(void);
+1 -1
View File
@@ -338,6 +338,6 @@ u32 func0f091030(void);
void func0f0910ac(void);
u32 func0f091250(void);
u32 func0f0912dc(void);
void objSetPartVisible(struct defaultobj *obj, s32 partnum, bool visible);
void objSetModelPartVisible(struct defaultobj *obj, s32 partnum, bool visible);
#endif
+3 -3
View File
@@ -14,10 +14,10 @@ u32 func0001a740(void);
u32 func0001a784(void);
u32 func0001a7cc(void);
u32 func0001a85c(void);
struct model08_00 *func0001a91c(struct model08 *arg0, s32 arg1);
struct modelnode *modelGetPart(struct model08 *arg0, s32 partnum);
struct modelthing *func0001a9bc(void *modelfiledata, s32 arg1);
u32 func0001a9e8(void);
struct model10 *func0001aa1c(struct model *model, struct model08_00 *arg1);
struct model10 *func0001aa1c(struct model *model, struct modelnode *node);
u32 func0001ab0c(void);
u32 func0001abc4(void);
void func0001ad0c(struct model *model, struct coord *coord);
@@ -45,7 +45,7 @@ u32 func0001c81c(void);
u32 func0001c868(void);
u32 func0001c924(void);
u32 func0001c950(void);
void func0001cb0c(struct model *model, struct model08_00 *arg1);
void func0001cb0c(struct model *model, struct modelnode *node);
u32 func0001cc20(void);
u32 func0001cd18(void);
u32 func0001ce64(void);
+10 -7
View File
@@ -155,16 +155,20 @@ struct stagethinglist {
u16 *things;
};
struct model08_00 {
u16 unk00;
struct modelnode {
u16 type;
u32 unk04;
};
struct model08 {
struct model08_00 *unk00;
struct modelnode *rootnode;
struct stagethinglist *unk04;
u32 unk08;
u16 unk0c;
// This is a pointer to a variable length array of pointers to modelnodes,
// but the array is followed by an s16 array of part numbers.
struct modelnode **parts;
s16 numparts;
s16 unk0e;
};
@@ -186,8 +190,7 @@ struct model0c {
/*0x38*/ f32 unk38;
};
// This seems to be a model component which can be turned on and off, like a
// muzzle flash, Jo's hudpiece and probably Cass's necklace.
// Suspected to be multiple structs, or a union based on the node type
struct model10 {
union {
u16 u16;
+32 -51
View File
@@ -638,62 +638,43 @@ glabel func0001a85c
/* 1a918: 00601025 */ or $v0,$v1,$zero
);
GLOBAL_ASM(
glabel func0001a91c
/* 1a91c: 27bdfff8 */ addiu $sp,$sp,-8
/* 1a920: afb00004 */ sw $s0,0x4($sp)
/* 1a924: 8482000c */ lh $v0,0xc($a0)
/* 1a928: 00a08025 */ or $s0,$a1,$zero
/* 1a92c: 00003025 */ or $a2,$zero,$zero
/* 1a930: 14400003 */ bnez $v0,.L0001a940
/* 1a934: 00027080 */ sll $t6,$v0,0x2
/* 1a938: 1000001d */ b .L0001a9b0
/* 1a93c: 00001025 */ or $v0,$zero,$zero
.L0001a940:
/* 1a940: 8c850008 */ lw $a1,0x8($a0)
/* 1a944: 00403825 */ or $a3,$v0,$zero
/* 1a948: 04400018 */ bltz $v0,.L0001a9ac
/* 1a94c: 00ae1821 */ addu $v1,$a1,$t6
/* 1a950: 00c72021 */ addu $a0,$a2,$a3
.L0001a954:
/* 1a954: 04810003 */ bgez $a0,.L0001a964
/* 1a958: 00047843 */ sra $t7,$a0,0x1
/* 1a95c: 24810001 */ addiu $at,$a0,0x1
/* 1a960: 00017843 */ sra $t7,$at,0x1
.L0001a964:
/* 1a964: 000fc040 */ sll $t8,$t7,0x1
/* 1a968: 0078c821 */ addu $t9,$v1,$t8
/* 1a96c: 87280000 */ lh $t0,0x0($t9)
/* 1a970: 01e01025 */ or $v0,$t7,$zero
/* 1a974: 16080005 */ bne $s0,$t0,.L0001a98c
/* 1a978: 0208082a */ slt $at,$s0,$t0
/* 1a97c: 000f4880 */ sll $t1,$t7,0x2
/* 1a980: 00a95021 */ addu $t2,$a1,$t1
/* 1a984: 1000000a */ b .L0001a9b0
/* 1a988: 8d420000 */ lw $v0,0x0($t2)
.L0001a98c:
/* 1a98c: 50200004 */ beqzl $at,.L0001a9a0
/* 1a990: 24460001 */ addiu $a2,$v0,0x1
/* 1a994: 10000002 */ b .L0001a9a0
/* 1a998: 2447ffff */ addiu $a3,$v0,-1
/* 1a99c: 24460001 */ addiu $a2,$v0,0x1
.L0001a9a0:
/* 1a9a0: 00e6082a */ slt $at,$a3,$a2
/* 1a9a4: 5020ffeb */ beqzl $at,.L0001a954
/* 1a9a8: 00c72021 */ addu $a0,$a2,$a3
.L0001a9ac:
/* 1a9ac: 00001025 */ or $v0,$zero,$zero
.L0001a9b0:
/* 1a9b0: 8fb00004 */ lw $s0,0x4($sp)
/* 1a9b4: 03e00008 */ jr $ra
/* 1a9b8: 27bd0008 */ addiu $sp,$sp,0x8
);
struct modelnode *modelGetPart(struct model08 *model08, s32 partnum)
{
s32 upper;
s32 lower;
u32 i;
s16 *partnums;
if (model08->numparts == 0) {
return NULL;
}
partnums = (s16 *)&model08->parts[model08->numparts];
lower = 0;
upper = model08->numparts;
while (upper >= lower) {
i = (lower + upper) / 2;
if (partnum == partnums[i]) {
return model08->parts[i];
}
if (partnum < partnums[i]) {
upper = i - 1;
} else {
lower = i + 1;
}
}
return NULL;
}
GLOBAL_ASM(
glabel func0001a9bc
/* 1a9bc: 27bdffe8 */ addiu $sp,$sp,-24
/* 1a9c0: afbf0014 */ sw $ra,0x14($sp)
/* 1a9c4: 0c006a47 */ jal func0001a91c
/* 1a9c4: 0c006a47 */ jal modelGetPart
/* 1a9c8: 00000000 */ nop
/* 1a9cc: 10400003 */ beqz $v0,.L0001a9dc
/* 1a9d0: 8fbf0014 */ lw $ra,0x14($sp)