From f1fbdbdd14bf5b1333041493dbf2bc03bd4a3635 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Mon, 29 Jun 2020 22:35:33 +1000 Subject: [PATCH] Decompile modelSetUnk14 --- src/game/chr/chraction.c | 2 +- src/game/game_00c490.c | 16 ++++++++-------- src/game/game_0125a0.c | 2 +- src/game/game_02cde0.c | 2 +- src/game/propobj.c | 8 ++++---- src/game/title.c | 20 ++++++++++---------- src/include/lib/lib_1a500.h | 2 +- src/lib/lib_1a500.c | 10 ++++------ 8 files changed, 30 insertions(+), 32 deletions(-) diff --git a/src/game/chr/chraction.c b/src/game/chr/chraction.c index f418c6223..4204a3deb 100644 --- a/src/game/chr/chraction.c +++ b/src/game/chr/chraction.c @@ -11840,7 +11840,7 @@ bool chrDropItem(struct chrdata *chr, u32 modelnum, u32 weaponnum) weapon = func0f08b880(modelnum, (u8)weaponnum, chr); if (weapon && weapon->base.prop) { - func0001af58(weapon->base.model, weapon->base.model->unk14); + modelSetUnk14(weapon->base.model, weapon->base.model->unk14); propReparent(weapon->base.prop, chr->prop); weapon->unk62 = 720; propobjSetDropped(weapon->base.prop, 1); diff --git a/src/game/game_00c490.c b/src/game/game_00c490.c index 4e9f2d983..b0c404aa9 100644 --- a/src/game/game_00c490.c +++ b/src/game/game_00c490.c @@ -860,7 +860,7 @@ glabel var7f1a7f80 /* f00cfbc: c4880014 */ lwc1 $f8,0x14($a0) /* f00cfc0: 46064282 */ mul.s $f10,$f8,$f6 /* f00cfc4: 44055000 */ mfc1 $a1,$f10 -/* f00cfc8: 0c006bd6 */ jal func0001af58 +/* f00cfc8: 0c006bd6 */ jal modelSetUnk14 /* f00cfcc: 00000000 */ nop /* f00cfd0: 100001a3 */ b .L0f00d660 /* f00cfd4: 8fbf0034 */ lw $ra,0x34($sp) @@ -904,7 +904,7 @@ glabel var7f1a7f80 /* f00d060: afa6006c */ sw $a2,0x6c($sp) /* f00d064: 46082182 */ mul.s $f6,$f4,$f8 /* f00d068: 44053000 */ mfc1 $a1,$f6 -/* f00d06c: 0c006bd6 */ jal func0001af58 +/* f00d06c: 0c006bd6 */ jal modelSetUnk14 /* f00d070: 00000000 */ nop /* f00d074: 8fab0070 */ lw $t3,0x70($sp) /* f00d078: 8fa4006c */ lw $a0,0x6c($sp) @@ -941,7 +941,7 @@ glabel var7f1a7f80 /* f00d0e8: c48a0014 */ lwc1 $f10,0x14($a0) /* f00d0ec: 46045202 */ mul.s $f8,$f10,$f4 /* f00d0f0: 44054000 */ mfc1 $a1,$f8 -/* f00d0f4: 0c006bd6 */ jal func0001af58 +/* f00d0f4: 0c006bd6 */ jal modelSetUnk14 /* f00d0f8: 00000000 */ nop /* f00d0fc: 10000158 */ b .L0f00d660 /* f00d100: 8fbf0034 */ lw $ra,0x34($sp) @@ -1261,7 +1261,7 @@ glabel var7f1a7f80 /* f00d584: c48a0014 */ lwc1 $f10,0x14($a0) /* f00d588: 460e5182 */ mul.s $f6,$f10,$f14 /* f00d58c: 44053000 */ mfc1 $a1,$f6 -/* f00d590: 0c006bd6 */ jal func0001af58 +/* f00d590: 0c006bd6 */ jal modelSetUnk14 /* f00d594: 00000000 */ nop .L0f00d598: /* f00d598: 8e040018 */ lw $a0,0x18($s0) @@ -1270,7 +1270,7 @@ glabel var7f1a7f80 /* f00d5a0: c4880014 */ lwc1 $f8,0x14($a0) /* f00d5a4: 46044282 */ mul.s $f10,$f8,$f4 /* f00d5a8: 44055000 */ mfc1 $a1,$f10 -/* f00d5ac: 0c006bd6 */ jal func0001af58 +/* f00d5ac: 0c006bd6 */ jal modelSetUnk14 /* f00d5b0: 00000000 */ nop /* f00d5b4: 8e0e0018 */ lw $t6,0x18($s0) /* f00d5b8: 27a500ac */ addiu $a1,$sp,0xac @@ -2043,7 +2043,7 @@ glabel var7f1a8058 /* f00def4: c4920014 */ lwc1 $f18,0x14($a0) /* f00def8: 46049202 */ mul.s $f8,$f18,$f4 /* f00defc: 44054000 */ mfc1 $a1,$f8 -/* f00df00: 0c006bd6 */ jal func0001af58 +/* f00df00: 0c006bd6 */ jal modelSetUnk14 /* f00df04: 00000000 */ nop /* f00df08: 8fa300b8 */ lw $v1,0xb8($sp) /* f00df0c: 8e180018 */ lw $t8,0x18($s0) @@ -2721,7 +2721,7 @@ glabel var7f1a8064 .L0f00e8cc: /* f00e8cc: 46008182 */ mul.s $f6,$f16,$f0 /* f00e8d0: 44053000 */ mfc1 $a1,$f6 -/* f00e8d4: 0c006bd6 */ jal func0001af58 +/* f00e8d4: 0c006bd6 */ jal modelSetUnk14 /* f00e8d8: 00000000 */ nop .L0f00e8dc: /* f00e8dc: 0fc1812f */ jal func0f0604bc @@ -4862,7 +4862,7 @@ glabel var7f1a8224 /* f0104a4: 03347825 */ or $t7,$t9,$s4 /* f0104a8: ae4f0040 */ sw $t7,0x40($s2) /* f0104ac: 8cc50014 */ lw $a1,0x14($a2) -/* f0104b0: 0c006bd6 */ jal func0001af58 +/* f0104b0: 0c006bd6 */ jal modelSetUnk14 /* f0104b4: 00c02025 */ or $a0,$a2,$zero /* f0104b8: 8e440014 */ lw $a0,0x14($s2) /* f0104bc: 0fc181a6 */ jal propReparent diff --git a/src/game/game_0125a0.c b/src/game/game_0125a0.c index 584e4a6e6..2ba44489c 100644 --- a/src/game/game_0125a0.c +++ b/src/game/game_0125a0.c @@ -112,7 +112,7 @@ glabel func0f012684 /* f0126d8: c4368280 */ lwc1 $f22,%lo(var7f1a8280)($at) /* f0126dc: 8e240284 */ lw $a0,0x284($s1) /* f0126e0: 4405b000 */ mfc1 $a1,$f22 -/* f0126e4: 0c006bd6 */ jal func0001af58 +/* f0126e4: 0c006bd6 */ jal modelSetUnk14 /* f0126e8: 2484045c */ addiu $a0,$a0,0x45c /* f0126ec: 3c013f80 */ lui $at,0x3f80 /* f0126f0: 44810000 */ mtc1 $at,$f0 diff --git a/src/game/game_02cde0.c b/src/game/game_02cde0.c index b5ad5a87b..4c0bd44fa 100644 --- a/src/game/game_02cde0.c +++ b/src/game/game_02cde0.c @@ -338,7 +338,7 @@ glabel var7f1a8a84 .L0f02d26c: /* f02d26c: 1180002d */ beqz $t4,.L0f02d324 /* f02d270: 01802025 */ or $a0,$t4,$zero -/* f02d274: 0c006bd6 */ jal func0001af58 +/* f02d274: 0c006bd6 */ jal modelSetUnk14 /* f02d278: 8fa50044 */ lw $a1,0x44($sp) /* f02d27c: 8fa4005c */ lw $a0,0x5c($sp) /* f02d280: 0c006bd9 */ jal func0001af64 diff --git a/src/game/propobj.c b/src/game/propobj.c index 7ad6c252a..84bfe9291 100644 --- a/src/game/propobj.c +++ b/src/game/propobj.c @@ -5086,7 +5086,7 @@ glabel func0f06a1ec /* f06a388: afa60028 */ sw $a2,0x28($sp) /* f06a38c: 460a3402 */ mul.s $f16,$f6,$f10 /* f06a390: 44058000 */ mfc1 $a1,$f16 -/* f06a394: 0c006bd6 */ jal func0001af58 +/* f06a394: 0c006bd6 */ jal modelSetUnk14 /* f06a398: 00000000 */ nop /* f06a39c: 8fa60028 */ lw $a2,0x28($sp) /* f06a3a0: 44800000 */ mtc1 $zero,$f0 @@ -27881,7 +27881,7 @@ u32 func0f07e474(struct prop *prop) newparent = setupCommandGetObject(cmdoffset + padnum); if (newparent && newparent->prop) { - func0001af58(obj->model, obj->model->unk14); + modelSetUnk14(obj->model, obj->model->unk14); propReparent(obj->prop, newparent->prop); silent = true; } @@ -39939,7 +39939,7 @@ glabel func0f089c70 /* f089d00: 00000000 */ nop /* f089d04: 46008482 */ mul.s $f18,$f16,$f0 /* f089d08: 44059000 */ mfc1 $a1,$f18 -/* f089d0c: 0c006bd6 */ jal func0001af58 +/* f089d0c: 0c006bd6 */ jal modelSetUnk14 /* f089d10: 00000000 */ nop /* f089d14: 8e290020 */ lw $t1,0x20($s1) /* f089d18: 8e0a0018 */ lw $t2,0x18($s0) @@ -41435,7 +41435,7 @@ glabel func0f08b108 /* f08b178: 00000000 */ nop /* f08b17c: 46008482 */ mul.s $f18,$f16,$f0 /* f08b180: 44059000 */ mfc1 $a1,$f18 -/* f08b184: 0c006bd6 */ jal func0001af58 +/* f08b184: 0c006bd6 */ jal modelSetUnk14 /* f08b188: 00000000 */ nop /* f08b18c: 02002025 */ or $a0,$s0,$zero /* f08b190: 0fc22b95 */ jal func0f08ae54 diff --git a/src/game/title.c b/src/game/title.c index 982e76163..d0efc1f3a 100644 --- a/src/game/title.c +++ b/src/game/title.c @@ -1033,7 +1033,7 @@ glabel titleInitPdLogo /* f016dd8: 246324f8 */ addiu $v1,$v1,%lo(g_TitleModel) /* f016ddc: ac620000 */ sw $v0,0x0($v1) /* f016de0: 00402025 */ or $a0,$v0,$zero -/* f016de4: 0c006bd6 */ jal func0001af58 +/* f016de4: 0c006bd6 */ jal modelSetUnk14 /* f016de8: 3c053f80 */ lui $a1,0x3f80 /* f016dec: 3c048006 */ lui $a0,%hi(g_TitleModel) /* f016df0: 8c8424f8 */ lw $a0,%lo(g_TitleModel)($a0) @@ -1069,7 +1069,7 @@ glabel titleInitPdLogo /* f016e68: 246324fc */ addiu $v1,$v1,%lo(g_TitleModel2) /* f016e6c: ac620000 */ sw $v0,0x0($v1) /* f016e70: 00402025 */ or $a0,$v0,$zero -/* f016e74: 0c006bd6 */ jal func0001af58 +/* f016e74: 0c006bd6 */ jal modelSetUnk14 /* f016e78: 3c053f80 */ lui $a1,0x3f80 /* f016e7c: 3c048006 */ lui $a0,%hi(g_TitleModel2) /* f016e80: 8c8424fc */ lw $a0,%lo(g_TitleModel2)($a0) @@ -1105,7 +1105,7 @@ glabel titleInitPdLogo /* f016ef8: 24632508 */ addiu $v1,$v1,%lo(var80062508) /* f016efc: ac620000 */ sw $v0,0x0($v1) /* f016f00: 00402025 */ or $a0,$v0,$zero -/* f016f04: 0c006bd6 */ jal func0001af58 +/* f016f04: 0c006bd6 */ jal modelSetUnk14 /* f016f08: 3c053f80 */ lui $a1,0x3f80 /* f016f0c: 3c048006 */ lui $a0,%hi(var80062508) /* f016f10: 8c842508 */ lw $a0,%lo(var80062508)($a0) @@ -1141,7 +1141,7 @@ glabel titleInitPdLogo /* f016f88: 2463250c */ addiu $v1,$v1,%lo(var8006250c) /* f016f8c: ac620000 */ sw $v0,0x0($v1) /* f016f90: 00402025 */ or $a0,$v0,$zero -/* f016f94: 0c006bd6 */ jal func0001af58 +/* f016f94: 0c006bd6 */ jal modelSetUnk14 /* f016f98: 3c053f80 */ lui $a1,0x3f80 /* f016f9c: 3c048006 */ lui $a0,%hi(var8006250c) /* f016fa0: 8c84250c */ lw $a0,%lo(var8006250c)($a0) @@ -1216,7 +1216,7 @@ glabel titleInitPdLogo // func00022d24(g_Props[MODEL_NLOGO].filedata); // // g_TitleModel = func0f0b3280(g_Props[MODEL_NLOGO].filedata); -// func0001af58(g_TitleModel, 1); +// modelSetUnk14(g_TitleModel, 1); // func0001ad34(g_TitleModel, &coord); // } // @@ -1229,7 +1229,7 @@ glabel titleInitPdLogo // func00022d24(g_Props[MODEL_NLOGO2].filedata); // // g_TitleModel2 = func0f0b3280(g_Props[MODEL_NLOGO2].filedata); -// func0001af58(g_TitleModel2, 1); +// modelSetUnk14(g_TitleModel2, 1); // func0001ad34(g_TitleModel2, &coord); // } // @@ -1242,7 +1242,7 @@ glabel titleInitPdLogo // func00022d24(g_Props[MODEL_PDTWO].filedata); // // var80062508 = func0f0b30ac(g_Props[MODEL_PDTWO].filedata); -// func0001af58(var80062508, 1); +// modelSetUnk14(var80062508, 1); // func0001ad34(var80062508, &coord); // } // @@ -1255,7 +1255,7 @@ glabel titleInitPdLogo // func00022d24(g_Props[MODEL_PDTHREE].filedata); // // var8006250c = func0f0b30ac(g_Props[MODEL_PDTHREE].filedata); -// func0001af58(var8006250c, 1); +// modelSetUnk14(var8006250c, 1); // func0001ad34(var8006250c, &coord); // } // @@ -3522,7 +3522,7 @@ void titleInitNintendoLogo(void) func00022d24(g_Props[MODEL_NINTENDOLOGO].filedata); g_TitleModel = func0f0b30ac(g_Props[MODEL_NINTENDOLOGO].filedata); - func0001af58(g_TitleModel, 1); + modelSetUnk14(g_TitleModel, 1); func0001ad34(g_TitleModel, &coord); var800624f4 = 1; func00014810(false); @@ -3901,7 +3901,7 @@ void titleInitRareLogo(void) func00022d24(g_Props[MODEL_RARELOGO].filedata); g_TitleModel = func0f0b30ac(g_Props[MODEL_RARELOGO].filedata); - func0001af58(g_TitleModel, 1); + modelSetUnk14(g_TitleModel, 1); func0001ad34(g_TitleModel, &coord); var800624f4 = 1; diff --git a/src/include/lib/lib_1a500.h b/src/include/lib/lib_1a500.h index e7011b4ae..5b6d1657c 100644 --- a/src/include/lib/lib_1a500.h +++ b/src/include/lib/lib_1a500.h @@ -25,7 +25,7 @@ void func0001ad34(struct model *model, struct coord *coord); u32 func0001ad5c(void); f32 func0001ae44(struct model *model); void func0001ae90(struct model *model, f32 arg1); -void func0001af58(struct model *model, f32 arg1); +void modelSetUnk14(struct model *model, f32 arg1); void func0001af64(struct model *model, f32 arg1); f32 func0001af80(struct model *model); u32 func0001af98(void); diff --git a/src/lib/lib_1a500.c b/src/lib/lib_1a500.c index ee7762751..d98d96742 100644 --- a/src/lib/lib_1a500.c +++ b/src/lib/lib_1a500.c @@ -818,12 +818,10 @@ glabel var700542e4 /* 1af54: 00000000 */ nop ); -GLOBAL_ASM( -glabel func0001af58 -/* 1af58: 44856000 */ mtc1 $a1,$f12 -/* 1af5c: 03e00008 */ jr $ra -/* 1af60: e48c0014 */ swc1 $f12,0x14($a0) -); +void modelSetUnk14(struct model *model, f32 arg1) +{ + model->unk14 = arg1; +} GLOBAL_ASM( glabel func0001af64