diff --git a/src/game/chr/chr.c b/src/game/chr/chr.c index 07b26740b..54cf50670 100644 --- a/src/game/chr/chr.c +++ b/src/game/chr/chr.c @@ -2950,13 +2950,13 @@ glabel var7f1a879c /* f021544: afa5015c */ sw $a1,0x15c($sp) /* f021548: e7a40154 */ swc1 $f4,0x154($sp) /* f02154c: 8cce0020 */ lw $t6,0x20($a2) -/* f021550: 3c188008 */ lui $t8,%hi(stagethinglist_22f1c) +/* f021550: 3c188008 */ lui $t8,%hi(g_ModelTypeRobot) /* f021554: 00803825 */ or $a3,$a0,$zero /* f021558: 8dcf0008 */ lw $t7,0x8($t6) -/* f02155c: 2718cefc */ addiu $t8,$t8,%lo(stagethinglist_22f1c) -/* f021560: 3c198008 */ lui $t9,%hi(stagethinglist_22e60) +/* f02155c: 2718cefc */ addiu $t8,$t8,%lo(g_ModelTypeRobot) +/* f021560: 3c198008 */ lui $t9,%hi(g_ModelTypeChr) /* f021564: 8de20004 */ lw $v0,0x4($t7) -/* f021568: 2739ce40 */ addiu $t9,$t9,%lo(stagethinglist_22e60) +/* f021568: 2739ce40 */ addiu $t9,$t9,%lo(g_ModelTypeChr) /* f02156c: 24040007 */ addiu $a0,$zero,0x7 /* f021570: 1702006d */ bne $t8,$v0,.L0f021728 /* f021574: 00000000 */ nop @@ -3077,14 +3077,14 @@ glabel var7f1a879c /* f021724: 8fbf0014 */ lw $ra,0x14($sp) .L0f021728: /* f021728: 17220006 */ bne $t9,$v0,.L0f021744 -/* f02172c: 3c0b8008 */ lui $t3,%hi(stagethinglist_22eb8) +/* f02172c: 3c0b8008 */ lui $t3,%hi(g_ModelTypeSkedar) /* f021730: 24050002 */ addiu $a1,$zero,0x2 /* f021734: 24080003 */ addiu $t0,$zero,0x3 /* f021738: 240a0001 */ addiu $t2,$zero,0x1 /* f02173c: 1000000c */ b .L0f021770 /* f021740: 00004825 */ or $t1,$zero,$zero .L0f021744: -/* f021744: 256bce98 */ addiu $t3,$t3,%lo(stagethinglist_22eb8) +/* f021744: 256bce98 */ addiu $t3,$t3,%lo(g_ModelTypeSkedar) /* f021748: 15620006 */ bne $t3,$v0,.L0f021764 /* f02174c: 2405ffff */ addiu $a1,$zero,-1 /* f021750: 24050003 */ addiu $a1,$zero,0x3 @@ -5614,8 +5614,8 @@ glabel var7f1a87d8 .L0f0243b0: /* f0243b0: 8fab0208 */ lw $t3,0x208($sp) .L0f0243b4: -/* f0243b4: 3c198008 */ lui $t9,%hi(stagethinglist_22e60) -/* f0243b8: 2739ce40 */ addiu $t9,$t9,%lo(stagethinglist_22e60) +/* f0243b4: 3c198008 */ lui $t9,%hi(g_ModelTypeChr) +/* f0243b8: 2739ce40 */ addiu $t9,$t9,%lo(g_ModelTypeChr) /* f0243bc: 8d640008 */ lw $a0,0x8($t3) /* f0243c0: 8c880004 */ lw $t0,0x4($a0) /* f0243c4: 5728003e */ bnel $t9,$t0,.L0f0244c0 @@ -5739,7 +5739,7 @@ void chrSetHudpieceVisible(struct chrdata *chr, bool visible) { struct modelfiledata *modelfiledata = chr->model->filedata; - if (modelfiledata->unk04 == &stagethinglist_22e60) { + if (modelfiledata->type == &g_ModelTypeChr) { struct modelnode *node = modelGetPart(modelfiledata, MODELPART_HUDPIECE); if (node && node->type == MODELNODETYPE_HEADSPOT) { @@ -5863,8 +5863,8 @@ glabel func0f024738 /* f024824: 51e000ac */ beqzl $t7,.L0f024ad8 /* f024828: 86820002 */ lh $v0,0x2($s4) /* f02482c: 8ca20004 */ lw $v0,0x4($a1) -/* f024830: 3c188008 */ lui $t8,%hi(stagethinglist_20ef8) -/* f024834: 2718aed8 */ addiu $t8,$t8,%lo(stagethinglist_20ef8) +/* f024830: 3c188008 */ lui $t8,%hi(g_ModelTypeWindowedDoor) +/* f024834: 2718aed8 */ addiu $t8,$t8,%lo(g_ModelTypeWindowedDoor) /* f024838: 8c590018 */ lw $t9,0x18($v0) /* f02483c: 00409025 */ or $s2,$v0,$zero /* f024840: 00401825 */ or $v1,$v0,$zero @@ -6724,8 +6724,8 @@ Gfx *chrRender(struct prop *prop, Gfx *gdl, bool withalpha) renderdata.unk30 = 7; } - // Set Skedar eyes open or closed? - if (model->filedata->unk04 == &stagethinglist_22eb8) { + // Set Skedar eyes open or closed + if (model->filedata->type == &g_ModelTypeSkedar) { struct modelnode *node1 = modelGetPart(model->filedata, MODELPART_04); struct modelnode *node2 = modelGetPart(model->filedata, MODELPART_05); @@ -6743,7 +6743,7 @@ Gfx *chrRender(struct prop *prop, Gfx *gdl, bool withalpha) || chr->headnum == HEAD_ELVIS || chr->headnum == HEAD_MAIAN_S || chr->headnum == HEAD_ELVIS_GOGS) { - if (model->filedata->unk04 == &stagethinglist_22e60) { + if (model->filedata->type == &g_ModelTypeChr) { struct modelnode *node = modelGetPart(model->filedata, MODELPART_04); if (node && node->type == MODELNODETYPE_HEADSPOT) { @@ -9717,13 +9717,13 @@ glabel func0f028a50 /* f028b98: 00001025 */ or $v0,$zero,$zero /* f028b9c: 8d040020 */ lw $a0,0x20($t0) .L0f028ba0: -/* f028ba0: 3c078008 */ lui $a3,%hi(stagethinglist_22e60) -/* f028ba4: 24e7ce40 */ addiu $a3,$a3,%lo(stagethinglist_22e60) +/* f028ba0: 3c078008 */ lui $a3,%hi(g_ModelTypeChr) +/* f028ba4: 24e7ce40 */ addiu $a3,$a3,%lo(g_ModelTypeChr) /* f028ba8: 8c8b0008 */ lw $t3,0x8($a0) -/* f028bac: 3c0c8008 */ lui $t4,%hi(stagethinglist_22eb8) +/* f028bac: 3c0c8008 */ lui $t4,%hi(g_ModelTypeSkedar) /* f028bb0: 44806000 */ mtc1 $zero,$f12 /* f028bb4: 8d620004 */ lw $v0,0x4($t3) -/* f028bb8: 258cce98 */ addiu $t4,$t4,%lo(stagethinglist_22eb8) +/* f028bb8: 258cce98 */ addiu $t4,$t4,%lo(g_ModelTypeSkedar) /* f028bbc: 14e2000c */ bne $a3,$v0,.L0f028bf0 /* f028bc0: 00000000 */ nop /* f028bc4: 8c86000c */ lw $a2,0xc($a0) @@ -9739,7 +9739,7 @@ glabel func0f028a50 /* f028bec: e4aa0008 */ swc1 $f10,0x8($a1) .L0f028bf0: /* f028bf0: 15820008 */ bne $t4,$v0,.L0f028c14 -/* f028bf4: 3c0d8008 */ lui $t5,%hi(stagethinglist_22ec8) +/* f028bf4: 3c0d8008 */ lui $t5,%hi(g_ModelTypeDrCaroll) /* f028bf8: 8c83000c */ lw $v1,0xc($a0) /* f028bfc: 3c013f00 */ lui $at,0x3f00 /* f028c00: 44817000 */ mtc1 $at,$f14 @@ -9748,7 +9748,7 @@ glabel func0f028a50 /* f028c0c: 10000012 */ b .L0f028c58 /* f028c10: 8fa60024 */ lw $a2,0x24($sp) .L0f028c14: -/* f028c14: 25adcea8 */ addiu $t5,$t5,%lo(stagethinglist_22ec8) +/* f028c14: 25adcea8 */ addiu $t5,$t5,%lo(g_ModelTypeDrCaroll) /* f028c18: 55a20009 */ bnel $t5,$v0,.L0f028c40 /* f028c1c: 8c8f000c */ lw $t7,0xc($a0) /* f028c20: 8c83000c */ lw $v1,0xc($a0) @@ -9773,8 +9773,8 @@ glabel func0f028a50 /* f028c64: 45020036 */ bc1fl .L0f028d40 /* f028c68: 00001025 */ or $v0,$zero,$zero /* f028c6c: 8c8e0008 */ lw $t6,0x8($a0) -/* f028c70: 3c188008 */ lui $t8,%hi(stagethinglist_22eb8) -/* f028c74: 2718ce98 */ addiu $t8,$t8,%lo(stagethinglist_22eb8) +/* f028c70: 3c188008 */ lui $t8,%hi(g_ModelTypeSkedar) +/* f028c74: 2718ce98 */ addiu $t8,$t8,%lo(g_ModelTypeSkedar) /* f028c78: 8dc20004 */ lw $v0,0x4($t6) /* f028c7c: 14e2000e */ bne $a3,$v0,.L0f028cb8 /* f028c80: 00000000 */ nop @@ -9793,14 +9793,14 @@ glabel func0f028a50 /* f028cb4: e4aa0004 */ swc1 $f10,0x4($a1) .L0f028cb8: /* f028cb8: 17020006 */ bne $t8,$v0,.L0f028cd4 -/* f028cbc: 3c198008 */ lui $t9,%hi(stagethinglist_22ec8) +/* f028cbc: 3c198008 */ lui $t9,%hi(g_ModelTypeDrCaroll) /* f028cc0: c4700030 */ lwc1 $f16,0x30($v1) /* f028cc4: e4b00000 */ swc1 $f16,0x0($a1) /* f028cc8: c4720034 */ lwc1 $f18,0x34($v1) /* f028ccc: 1000000f */ b .L0f028d0c /* f028cd0: e4b20004 */ swc1 $f18,0x4($a1) .L0f028cd4: -/* f028cd4: 2739cea8 */ addiu $t9,$t9,%lo(stagethinglist_22ec8) +/* f028cd4: 2739cea8 */ addiu $t9,$t9,%lo(g_ModelTypeDrCaroll) /* f028cd8: 57220007 */ bnel $t9,$v0,.L0f028cf8 /* f028cdc: 8c89000c */ lw $t1,0xc($a0) /* f028ce0: c4640030 */ lwc1 $f4,0x30($v1) diff --git a/src/game/chr/chraction.c b/src/game/chr/chraction.c index 26c56feb4..d79526863 100644 --- a/src/game/chr/chraction.c +++ b/src/game/chr/chraction.c @@ -19682,8 +19682,8 @@ glabel var7f1a91dc /* f042ab0: 0fc10a76 */ jal func0f0429d8 /* f042ab4: 02402025 */ or $a0,$s2,$zero /* f042ab8: 8e4f0020 */ lw $t7,0x20($s2) -/* f042abc: 3c0e8008 */ lui $t6,%hi(stagethinglist_22f1c) -/* f042ac0: 25cecefc */ addiu $t6,$t6,%lo(stagethinglist_22f1c) +/* f042abc: 3c0e8008 */ lui $t6,%hi(g_ModelTypeRobot) +/* f042ac0: 25cecefc */ addiu $t6,$t6,%lo(g_ModelTypeRobot) /* f042ac4: 8df80008 */ lw $t8,0x8($t7) /* f042ac8: 2655002c */ addiu $s5,$s2,0x2c /* f042acc: 02a0b825 */ or $s7,$s5,$zero diff --git a/src/game/data/data_020df0.c b/src/game/data/data_020df0.c index d0913aa48..37ad0d399 100644 --- a/src/game/data/data_020df0.c +++ b/src/game/data/data_020df0.c @@ -39,8 +39,8 @@ u16 var8007add0[] = { }; // 20e10 -struct stagethinglist stagethinglist_20e10 = { - STAGE_DUEL, 16, var8007add0, +struct modeltype g_ModelTypeDropship = { + MODELTYPE_DROPSHIP, 16, var8007add0, }; // 20e18 @@ -66,8 +66,8 @@ u16 var8007adf8[] = { }; // 20e3c -struct stagethinglist stagethinglist_20e3c = { - STAGE_MP_VILLA, 18, var8007adf8, +struct modeltype g_ModelTypeSkedarShuttle = { + MODELTYPE_SKEDARSHUTTLE, 18, var8007adf8, }; // 20e44 @@ -76,8 +76,8 @@ u16 var8007ae24[] = { }; // 20e48 -struct stagethinglist stagethinglist_20e48 = { - STAGE_RETAKING, 1, var8007ae24, +struct modeltype g_ModelTypeLift = { + MODELTYPE_LIFT, 1, var8007ae24, }; // 20e50 @@ -87,8 +87,8 @@ u16 var8007ae30[] = { }; // 20e54 -struct stagethinglist stagethinglist_20e54 = { - 0x0f, 2, var8007ae30, +struct modeltype g_ModelTypeCctv = { + MODELTYPE_CCTV, 2, var8007ae30, }; // 20e5c @@ -97,8 +97,8 @@ u16 var8007ae3c[] = { }; // 20e60 -struct stagethinglist stagethinglist_20e60 = { - STAGE_TEST_SILO, 1, var8007ae3c, +struct modeltype g_ModelTypeTerminal = { + MODELTYPE_TERMINAL, 1, var8007ae3c, }; // 20e68 @@ -107,8 +107,8 @@ u16 var8007ae48[] = { }; // 20e6c -struct stagethinglist stagethinglist_20e6c = { - 0x15, 1, var8007ae48, +struct modeltype g_ModelTypeCiHub = { + MODELTYPE_CIHUB, 1, var8007ae48, }; // 20e74 @@ -121,8 +121,8 @@ u16 var8007ae54[] = { }; // 20e80 -struct stagethinglist stagethinglist_20e80 = { - STAGE_ESCAPE, 5, var8007ae54, +struct modeltype g_ModelType19 = { + MODELTYPE_19, 5, var8007ae54, }; // 20e88 @@ -136,8 +136,8 @@ u16 var8007ae68[] = { }; // 20e94 -struct stagethinglist stagethinglist_20e94 = { - STAGE_WAR, 6, var8007ae68, +struct modeltype g_ModelTypeAutogun = { + MODELTYPE_AUTOGUN, 6, var8007ae68, }; // 20e9c @@ -148,8 +148,8 @@ u16 var8007ae7c[] = { }; // 20ea4 -struct stagethinglist stagethinglist_20ea4 = { - 0x11, 3, var8007ae7c, +struct modeltype g_ModelType11 = { + MODELTYPE_11, 3, var8007ae7c, }; // 20eac @@ -170,8 +170,8 @@ u16 var8007ae8c[] = { }; // 20ec8 -struct stagethinglist stagethinglist_20ec8 = { - 0x13, 13, var8007ae8c, +struct modeltype g_ModelType13 = { + MODELTYPE_13, 13, var8007ae8c, }; // 20ed0 @@ -184,8 +184,8 @@ u16 var8007aeb0[] = { }; // 20edc -struct stagethinglist stagethinglist_20edc = { - STAGE_TEST_ARCH, 5, var8007aeb0, +struct modeltype g_ModelType18 = { + MODELTYPE_18, 5, var8007aeb0, }; // 20ee4 @@ -197,8 +197,8 @@ u16 var8007aec4[] = { }; // 20eec -struct stagethinglist stagethinglist_20eec = { - 0x12, 4, var8007aec4, +struct modeltype g_ModelType12 = { + MODELTYPE_12, 4, var8007aec4, }; // 20ef4 @@ -207,8 +207,8 @@ u16 var8007aed4[] = { }; // 20ef8 -struct stagethinglist stagethinglist_20ef8 = { - 0x10, 1, var8007aed4, +struct modeltype g_ModelTypeWindowedDoor = { + MODELTYPE_WINDOWEDDOOR, 1, var8007aed4, }; // 20f00 @@ -221,8 +221,8 @@ u16 var8007aee0[] = { }; // 20f0c -struct stagethinglist stagethinglist_20f0c = { - STAGE_MP_RAVINE, 5, var8007aee0, +struct modeltype g_ModelType17 = { + MODELTYPE_17, 5, var8007aee0, }; // 20f14 @@ -231,8 +231,8 @@ u16 var8007aef4[] = { }; // 20f18 -struct stagethinglist stagethinglist_20f18 = { - 0x0c, 1, var8007aef4, +struct modeltype g_ModelType0C = { + MODELTYPE_0C, 1, var8007aef4, }; // 20f20 @@ -241,8 +241,8 @@ u16 var8007af00[] = { }; // 20f24 -struct stagethinglist stagethinglist_20f24 = { - STAGE_CHICAGO, 1, var8007af00, +struct modeltype g_ModelTypeLogo = { + MODELTYPE_LOGO, 1, var8007af00, }; // 20f2c @@ -267,8 +267,8 @@ u16 var8007af0c[] = { }; // 20f50 -struct stagethinglist stagethinglist_20f50 = { - STAGE_G5BUILDING, 17, var8007af0c, +struct modeltype g_ModelTypePdLogo = { + MODELTYPE_PDLOGO, 17, var8007af0c, }; // 20f58 @@ -277,8 +277,8 @@ u16 var8007af38[] = { }; // 20f5c -struct stagethinglist stagethinglist_20f5c = { - STAGE_MP_COMPLEX, 1, var8007af38, +struct modeltype g_ModelTypeHoverbike = { + MODELTYPE_HOVERBIKE, 1, var8007af38, }; // 20f64 @@ -294,8 +294,8 @@ u16 var8007af44[] = { }; // 20f74 -struct stagethinglist stagethinglist_20f74 = { - STAGE_MP_SKEDAR, 8, var8007af44, +struct modeltype g_ModelTypeJumpship = { + MODELTYPE_JUMPSHIP, 8, var8007af44, }; // 20f7c @@ -306,8 +306,8 @@ u16 var8007af5c[] = { }; // 20f84 -struct stagethinglist stagethinglist_20f84 = { - STAGE_AIRBASE, 3, var8007af5c, +struct modeltype g_ModelTypeChopper = { + MODELTYPE_CHOPPER, 3, var8007af5c, }; // 20f8c @@ -336,8 +336,8 @@ u16 var8007af6c[] = { }; // 20fb8 -struct stagethinglist stagethinglist_20fb8 = { - STAGE_MP_PIPES, 21, var8007af6c, +struct modeltype g_ModelTypeRope = { + MODELTYPE_ROPE, 21, var8007af6c, }; // 20fc0 @@ -356,8 +356,8 @@ u16 var8007afa0[] = { }; // 20fd8 -struct stagethinglist stagethinglist_20fd8 = { - STAGE_INVESTIGATION, 11, var8007afa0, +struct modeltype g_ModelTypeBanner = { + MODELTYPE_BANNER, 11, var8007afa0, }; // 20fe0 @@ -368,8 +368,8 @@ u16 var8007afc0[] = { }; // 20fe8 -struct stagethinglist stagethinglist_20fe8 = { - STAGE_MP_FORTRESS, 3, var8007afc0, +struct modeltype g_ModelTypeMaianUfo = { + MODELTYPE_MAIANUFO, 3, var8007afc0, }; // 20ff0 @@ -380,8 +380,8 @@ u16 var8007afd0[] = { }; // 20ff8 -struct stagethinglist stagethinglist_20ff8 = { - STAGE_MP_WAREHOUSE, 3, var8007afd0, +struct modeltype g_ModelTypeCableCar = { + MODELTYPE_CABLECAR, 3, var8007afd0, }; // 21000 @@ -394,8 +394,8 @@ u16 var8007afe0[] = { }; // 2100c -struct stagethinglist stagethinglist_2100c = { - STAGE_MP_FELICITY, 5, var8007afe0, +struct modeltype g_ModelTypeSubmarine = { + MODELTYPE_SUBMARINE, 5, var8007afe0, }; // 21014 @@ -404,8 +404,8 @@ u16 var8007aff4[] = { }; // 21018 -struct stagethinglist stagethinglist_21018 = { - 0x8c, 1, var8007aff4, +struct modeltype g_ModelTypeTarget = { + MODELTYPE_TARGET, 1, var8007aff4, }; // 21020 @@ -414,8 +414,8 @@ u16 var8007b000[] = { }; // 21024 -struct stagethinglist stagethinglist_21024 = { - STAGE_VILLA, 1, var8007b000, +struct modeltype g_ModelTypeRareLogo = { + MODELTYPE_RARELOGO, 1, var8007b000, }; // 2102c @@ -426,8 +426,8 @@ u16 var8007b00c[] = { }; // 21034 -struct stagethinglist stagethinglist_21034 = { - 0xc8, 3, var8007b00c, +struct modeltype g_ModelTypeWireFence = { + MODELTYPE_WIREFENCE, 3, var8007b00c, }; // 2103c @@ -470,8 +470,8 @@ u16 var8007b01c[] = { }; // 21084 -struct stagethinglist stagethinglist_21084 = { - 0xbb, 35, var8007b01c, +struct modeltype g_ModelTypeBB = { + MODELTYPE_BB, 35, var8007b01c, }; // 2108c @@ -1418,8 +1418,8 @@ u16 var8007c040[] = { }; // 2208c -struct stagethinglist stagethinglist_2208c = { - 0x02, 21, var8007c040, +struct modeltype g_ModelTypeBasic = { + MODELTYPE_BASIC, 21, var8007c040, }; u32 var8007c074 = 0x00000000; @@ -1433,8 +1433,8 @@ u16 var8007c080[] = { }; // 220a4 -struct stagethinglist stagethinglist_220a4 = { - 0x03, 2, var8007c080, +struct modeltype g_ModelTypeChrGun = { + MODELTYPE_CHRGUN, 2, var8007c080, }; u32 var8007c08c = 0x00000000; @@ -1459,8 +1459,8 @@ u16 var8007c090[] = { }; // 220d0 -struct stagethinglist stagethinglist_220d0 = { - 0x0b, 15, var8007c090, +struct modeltype g_ModelType0B = { + MODELTYPE_0B, 15, var8007c090, }; u32 var8007c0dc; @@ -1473,7 +1473,7 @@ u32 var8007c148; u32 var8007c0b8 = 0x00000000; u32 var8007c0bc = 0x00000000; u32 var8007c0c0 = (u32) &var8007c0dc; -u32 var8007c0c4 = (u32) &stagethinglist_220d0; +u32 var8007c0c4 = (u32) &g_ModelType0B; u32 var8007c0c8 = 0x00000000; u32 var8007c0cc = 0x00000003; u32 var8007c0d0 = 0x4224a519; @@ -1542,8 +1542,8 @@ u16 var8007c160[] = { }; // 221a4 -struct stagethinglist stagethinglist_221a4 = { - 0x0a, 18, var8007c160, +struct modeltype g_ModelType0A = { + MODELTYPE_0A, 18, var8007c160, }; u32 var8007c18c = 0x00000000; @@ -1553,8 +1553,8 @@ u16 var8007c190[] = { }; // 221b4 -struct stagethinglist stagethinglist_221b4 = { - STAGE_MP_G5BUILDING, 1, var8007c190, +struct modeltype g_ModelType20 = { + MODELTYPE_20, 1, var8007c190, }; u32 var8007c19c = 0x00000000; @@ -1569,8 +1569,8 @@ u16 var8007c1a0[] = { }; // 221cc -struct stagethinglist stagethinglist_221cc = { - 0x07, 6, var8007c1a0, +struct modeltype g_ModelTypeClassicGun = { + MODELTYPE_CLASSICGUN, 6, var8007c1a0, }; u32 var8007c1b4 = 0x00000000; @@ -1582,8 +1582,8 @@ u16 var8007c1c0[] = { }; // 221e4 -struct stagethinglist stagethinglist_221e4 = { - 0x08, 1, var8007c1c0, +struct modeltype g_ModelTypeCasing = { + MODELTYPE_CASING, 1, var8007c1c0, }; u32 var8007c1cc = 0x00000000; @@ -1599,8 +1599,8 @@ u16 var8007c1d0[] = { }; // 22200 -struct stagethinglist stagethinglist_22200 = { - 0x06, 7, var8007c1d0, +struct modeltype g_ModelType06 = { + MODELTYPE_06, 7, var8007c1d0, }; u32 var8007c1e8 = 0x00000000; @@ -1617,8 +1617,8 @@ u16 var8007c1f0[] = { }; // 22220 -struct stagethinglist stagethinglist_22220 = { - 0x05, 7, var8007c1f0, +struct modeltype g_ModelTypeUzi = { + MODELTYPE_UZI, 7, var8007c1f0, }; u32 var8007c208 = 0x00000000; @@ -1641,8 +1641,8 @@ u16 var8007c210[] = { }; // 2224c -struct stagethinglist stagethinglist_2224c = { - 0x04, 13, var8007c210, +struct modeltype g_ModelTypeJoypad = { + MODELTYPE_JOYPAD, 13, var8007c210, }; // 22254 @@ -1697,8 +1697,8 @@ u16 var8007c234[] = { }; // 222b4 -struct stagethinglist stagethinglist_222b4 = { - STAGE_PELAGIC, 47, var8007c234, +struct modeltype g_ModelType21 = { + MODELTYPE_21, 47, var8007c234, }; // 222bc @@ -1752,8 +1752,8 @@ u16 var8007c29c[] = { }; // 22318 -struct stagethinglist stagethinglist_22318 = { - STAGE_TEST_RUN, 46, var8007c29c, +struct modeltype g_ModelTypeLaptopGun = { + MODELTYPE_LAPTOPGUN, 46, var8007c29c, }; // 22320 @@ -1802,8 +1802,8 @@ u16 var8007c300[] = { }; // 22374 -struct stagethinglist stagethinglist_22374 = { - 0x24, 41, var8007c300, +struct modeltype g_ModelTypeK7Avenger = { + MODELTYPE_K7AVENGER, 41, var8007c300, }; // 2237c @@ -1854,8 +1854,8 @@ u16 var8007c35c[] = { }; // 223d4 -struct stagethinglist stagethinglist_223d4 = { - STAGE_MP_TEMPLE, 43, var8007c35c, +struct modeltype g_ModelTypeFalcon2 = { + MODELTYPE_FALCON2, 43, var8007c35c, }; // 223dc @@ -1898,8 +1898,8 @@ u16 var8007c3bc[] = { }; // 22424 -struct stagethinglist stagethinglist_22424 = { - STAGE_CITRAINING, 35, var8007c3bc, +struct modeltype g_ModelTypeKnife = { + MODELTYPE_KNIFE, 35, var8007c3bc, }; // 2242c @@ -1947,8 +1947,8 @@ u16 var8007c40c[] = { }; // 2247c -struct stagethinglist stagethinglist_2247c = { - STAGE_TEST_MP14, 40, var8007c40c, +struct modeltype g_ModelTypeCmp150 = { + MODELTYPE_CMP150, 40, var8007c40c, }; // 22484 @@ -1997,8 +1997,8 @@ u16 var8007c464[] = { }; // 224d8 -struct stagethinglist stagethinglist_224d8 = { - STAGE_MP_GRID, 41, var8007c464, +struct modeltype g_ModelTypeDragon = { + MODELTYPE_DRAGON, 41, var8007c464, }; // 224e0 @@ -2049,8 +2049,8 @@ u16 var8007c4c0[] = { }; // 22538 -struct stagethinglist stagethinglist_22538 = { - STAGE_TEST_MP16, 43, var8007c4c0, +struct modeltype g_ModelTypeSuperDragon = { + MODELTYPE_SUPERDRAGON, 43, var8007c4c0, }; // 22540 @@ -2096,8 +2096,8 @@ u16 var8007c520[] = { }; // 2258c -struct stagethinglist stagethinglist_2258c = { - STAGE_TEST_MP17, 38, var8007c520, +struct modeltype g_ModelTypeRocket = { + MODELTYPE_ROCKET, 38, var8007c520, }; // 22594 @@ -2138,8 +2138,8 @@ u16 var8007c574[] = { }; // 225d8 -struct stagethinglist stagethinglist_225d8 = { - STAGE_TEST_MP18, 33, var8007c574, +struct modeltype g_ModelType4A = { + MODELTYPE_4A, 33, var8007c574, }; // 225e0 @@ -2186,8 +2186,8 @@ u16 var8007c5c0[] = { }; // 22630 -struct stagethinglist stagethinglist_22630 = { - STAGE_TEST_MP19, 39, var8007c5c0, +struct modeltype g_ModelTypeShotgun = { + MODELTYPE_SHOTGUN, 39, var8007c5c0, }; // 22638 @@ -2243,8 +2243,8 @@ u16 var8007c618[] = { }; // 22698 -struct stagethinglist stagethinglist_22698 = { - STAGE_TEST_MP20, 48, var8007c618, +struct modeltype g_ModelTypeFarsight = { + MODELTYPE_FARSIGHT, 48, var8007c618, }; // 226a0 @@ -2287,8 +2287,8 @@ u16 var8007c680[] = { }; // 226e8 -struct stagethinglist stagethinglist_226e8 = { - STAGE_TEST_UFF, 35, var8007c680, +struct modeltype g_ModelType4D = { + MODELTYPE_4D, 35, var8007c680, }; // 226f0 @@ -2346,8 +2346,8 @@ u16 var8007c6d0[] = { }; // 22754 -struct stagethinglist stagethinglist_22754 = { - STAGE_TEST_OLD, 50, var8007c6d0, +struct modeltype g_ModelTypeReaper = { + MODELTYPE_REAPER, 50, var8007c6d0, }; // 2275c @@ -2394,8 +2394,8 @@ u16 var8007c73c[] = { }; // 227ac -struct stagethinglist stagethinglist_227ac = { - 0x64, 39, var8007c73c, +struct modeltype g_ModelTypeMauler = { + MODELTYPE_MAULER, 39, var8007c73c, }; // 227b4 @@ -2443,8 +2443,8 @@ u16 var8007c794[] = { }; // 22804 -struct stagethinglist stagethinglist_22804 = { - 0x65, 40, var8007c794, +struct modeltype g_ModelTypeDevastator = { + MODELTYPE_DEVASTATOR, 40, var8007c794, }; // 2280c @@ -2492,8 +2492,8 @@ u16 var8007c7ec[] = { }; // 2285c -struct stagethinglist stagethinglist_2285c = { - 0x66, 40, var8007c7ec, +struct modeltype g_ModelTypePistol = { + MODELTYPE_PISTOL, 40, var8007c7ec, }; // 22864 @@ -2541,8 +2541,8 @@ u16 var8007c844[] = { }; // 228b4 -struct stagethinglist stagethinglist_228b4 = { - 0x67, 40, var8007c844, +struct modeltype g_ModelTypeAr34 = { + MODELTYPE_AR34, 40, var8007c844, }; // 228bc @@ -2597,8 +2597,8 @@ u16 var8007c89c[] = { }; // 2291c -struct stagethinglist stagethinglist_2291c = { - 0x68, 47, var8007c89c, +struct modeltype g_ModelTypeMagnum = { + MODELTYPE_MAGNUM, 47, var8007c89c, }; // 22924 @@ -2643,8 +2643,8 @@ u16 var8007c904[] = { }; // 22970 -struct stagethinglist stagethinglist_22970 = { - 0x69, 37, var8007c904, +struct modeltype g_ModelTypeSlayerRocket = { + MODELTYPE_SLAYERROCKET, 37, var8007c904, }; // 22978 @@ -2690,8 +2690,8 @@ u16 var8007c958[] = { }; // 229c4 -struct stagethinglist stagethinglist_229c4 = { - 0x6a, 38, var8007c958, +struct modeltype g_ModelTypeCyclone = { + MODELTYPE_CYCLONE, 38, var8007c958, }; // 229cc @@ -2741,8 +2741,8 @@ u16 var8007c9ac[] = { }; // 22a20 -struct stagethinglist stagethinglist_22a20 = { - 0x6b, 42, var8007c9ac, +struct modeltype g_ModelTypeSniperRifle = { + MODELTYPE_SNIPERRIFLE, 42, var8007c9ac, }; // 22a28 @@ -2789,8 +2789,8 @@ u16 var8007ca08[] = { }; // 22a78 -struct stagethinglist stagethinglist_22a78 = { - 0x6c, 39, var8007ca08, +struct modeltype g_ModelTypeTranquilizer = { + MODELTYPE_TRANQUILIZER, 39, var8007ca08, }; // 22a80 @@ -2844,8 +2844,8 @@ u16 var8007ca60[] = { }; // 22adc -struct stagethinglist stagethinglist_22adc = { - 0x6d, 46, var8007ca60, +struct modeltype g_ModelTypeCrossbow = { + MODELTYPE_CROSSBOW, 46, var8007ca60, }; // 22ae4 @@ -2887,8 +2887,8 @@ u16 var8007cac4[] = { }; // 22b28 -struct stagethinglist stagethinglist_22b28 = { - 0x6e, 34, var8007cac4, +struct modeltype g_ModelTypeTimedProxyMine = { + MODELTYPE_TIMEDPROXYMINE, 34, var8007cac4, }; // 22b30 @@ -2936,8 +2936,8 @@ u16 var8007cb10[] = { }; // 22b80 -struct stagethinglist stagethinglist_22b80 = { - 0x6f, 40, var8007cb10, +struct modeltype g_ModelTypePhoenix = { + MODELTYPE_PHOENIX, 40, var8007cb10, }; // 22b88 @@ -2988,8 +2988,8 @@ u16 var8007cb68[] = { }; // 22be0 -struct stagethinglist stagethinglist_22be0 = { - 0x70, 43, var8007cb68, +struct modeltype g_ModelTypeCallisto = { + MODELTYPE_CALLISTO, 43, var8007cb68, }; // 22be8 @@ -3038,8 +3038,8 @@ u16 var8007cbc8[] = { }; // 22c3c -struct stagethinglist stagethinglist_22c3c = { - 0x71, 41, var8007cbc8, +struct modeltype g_ModelTypeRcp120 = { + MODELTYPE_RCP120, 41, var8007cbc8, }; // 22c44 @@ -3054,8 +3054,8 @@ u16 var8007cc24[] = { }; // 22c54 -struct stagethinglist stagethinglist_22c54 = { - STAGE_SKEDARRUINS, 7, var8007cc24, +struct modeltype g_ModelTypeHudPiece = { + MODELTYPE_HUDPIECE, 7, var8007cc24, }; // 22c5c @@ -3096,8 +3096,8 @@ u16 var8007cc3c[] = { }; // 22ca0 -struct stagethinglist stagethinglist_22ca0 = { - 0xfa, 33, var8007cc3c, +struct modeltype g_ModelTypeHand = { + MODELTYPE_HAND, 33, var8007cc3c, }; // 22ca8 @@ -3140,8 +3140,8 @@ u16 var8007cc88[] = { }; // 22cf0 -struct stagethinglist stagethinglist_22cf0 = { - 0x72, 35, var8007cc88, +struct modeltype g_ModelTypeLaser = { + MODELTYPE_LASER, 35, var8007cc88, }; // 22cf8 @@ -3184,8 +3184,8 @@ u16 var8007ccd8[] = { }; // 22d40 -struct stagethinglist stagethinglist_22d40 = { - 0x73, 35, var8007ccd8, +struct modeltype g_ModelTypeGrenade = { + MODELTYPE_GRENADE, 35, var8007ccd8, }; // 22d48 @@ -3228,8 +3228,8 @@ u16 var8007cd28[] = { }; // 22d90 -struct stagethinglist stagethinglist_22d90 = { - 0x74, 35, var8007cd28, +struct modeltype g_ModelTypeEcmMine = { + MODELTYPE_ECMMINE, 35, var8007cd28, }; // 22d98 @@ -3272,8 +3272,8 @@ u16 var8007cd78[] = { }; // 22de0 -struct stagethinglist stagethinglist_22de0 = { - 0x75, 35, var8007cd78, +struct modeltype g_ModelTypeUplink = { + MODELTYPE_UPLINK, 35, var8007cd78, }; // 22de8 @@ -3318,8 +3318,8 @@ u16 var8007cdc8[] = { }; // 22e34 -struct stagethinglist stagethinglist_22e34 = { - 0x76, 37, var8007cdc8, +struct modeltype g_ModelTypeRemoteMine = { + MODELTYPE_REMOTEMINE, 37, var8007cdc8, }; u32 var8007ce1c = 0x00000000; @@ -3343,8 +3343,8 @@ u16 var8007ce20[] = { }; // 22e60 -struct stagethinglist stagethinglist_22e60 = { - STAGE_MAIANSOS, 15, var8007ce20, +struct modeltype g_ModelTypeChr = { + MODELTYPE_CHR, 15, var8007ce20, }; u32 var8007ce48 = 0x00000000; @@ -3390,8 +3390,8 @@ u16 var8007ce50[] = { }; // 22eb8 -struct stagethinglist stagethinglist_22eb8 = { - STAGE_CRASHSITE, 36, var8007ce50, +struct modeltype g_ModelTypeSkedar = { + MODELTYPE_SKEDAR, 36, var8007ce50, }; // 22ec0 @@ -3403,8 +3403,8 @@ u16 var8007cea0[] = { }; // 22ec8 -struct stagethinglist stagethinglist_22ec8 = { - 0x28, 4, var8007cea0, +struct modeltype g_ModelTypeDrCaroll = { + MODELTYPE_DRCAROLL, 4, var8007cea0, }; // 22ed0 @@ -3442,8 +3442,8 @@ u16 var8007ceb0[] = { }; // 22f0c -struct stagethinglist stagethinglist_22f0c = { - STAGE_EXTRACTION, 30, var8007ceb0, +struct modeltype g_ModelType22 = { + MODELTYPE_22, 30, var8007ceb0, }; // 22f14 @@ -3454,8 +3454,8 @@ u16 var8007cef4[] = { }; // 22f1c -struct stagethinglist stagethinglist_22f1c = { - STAGE_ATTACKSHIP, 3, var8007cef4, +struct modeltype g_ModelTypeRobot = { + MODELTYPE_ROBOT, 3, var8007cef4, }; // 22f24 diff --git a/src/game/game_000130.c b/src/game/game_000130.c index c0281c903..51800ebef 100644 --- a/src/game/game_000130.c +++ b/src/game/game_000130.c @@ -64,8 +64,8 @@ glabel func0f0002a0 /* f0002d8: afa40050 */ sw $a0,0x50($sp) /* f0002dc: 10200014 */ beqz $at,.L0f000330 /* f0002e0: 00008825 */ or $s1,$zero,$zero -/* f0002e4: 3c148008 */ lui $s4,%hi(stagethinglist_22e60) -/* f0002e8: 2694ce40 */ addiu $s4,$s4,%lo(stagethinglist_22e60) +/* f0002e4: 3c148008 */ lui $s4,%hi(g_ModelTypeChr) +/* f0002e8: 2694ce40 */ addiu $s4,$s4,%lo(g_ModelTypeChr) /* f0002ec: 27b50048 */ addiu $s5,$sp,0x48 .L0f0002f0: /* f0002f0: 00133c00 */ sll $a3,$s3,0x10 @@ -116,8 +116,8 @@ glabel func0f000358 /* f000390: afa40050 */ sw $a0,0x50($sp) /* f000394: 10200013 */ beqz $at,.L0f0003e4 /* f000398: 00008825 */ or $s1,$zero,$zero -/* f00039c: 3c148008 */ lui $s4,%hi(stagethinglist_22e60) -/* f0003a0: 2694ce40 */ addiu $s4,$s4,%lo(stagethinglist_22e60) +/* f00039c: 3c148008 */ lui $s4,%hi(g_ModelTypeChr) +/* f0003a0: 2694ce40 */ addiu $s4,$s4,%lo(g_ModelTypeChr) /* f0003a4: 27b50044 */ addiu $s5,$sp,0x44 .L0f0003a8: /* f0003a8: 00133c00 */ sll $a3,$s3,0x10 diff --git a/src/game/game_0125a0.c b/src/game/game_0125a0.c index 14a53ea1a..f340dea7b 100644 --- a/src/game/game_0125a0.c +++ b/src/game/game_0125a0.c @@ -34,8 +34,8 @@ glabel func0f0125a0 /* f0125e4: ace00004 */ sw $zero,0x4($a3) /* f0125e8: 1020001d */ beqz $at,.L0f012660 /* f0125ec: ace00008 */ sw $zero,0x8($a3) -/* f0125f0: 3c148008 */ lui $s4,%hi(stagethinglist_22e60) -/* f0125f4: 2694ce40 */ addiu $s4,$s4,%lo(stagethinglist_22e60) +/* f0125f0: 3c148008 */ lui $s4,%hi(g_ModelTypeChr) +/* f0125f4: 2694ce40 */ addiu $s4,$s4,%lo(g_ModelTypeChr) /* f0125f8: 27b50048 */ addiu $s5,$sp,0x48 .L0f0125fc: /* f0125fc: 00133c00 */ sll $a3,$s3,0x10 diff --git a/src/game/game_02cde0.c b/src/game/game_02cde0.c index 3ace078a6..6bac33b54 100644 --- a/src/game/game_02cde0.c +++ b/src/game/game_02cde0.c @@ -231,8 +231,8 @@ glabel var7f1a8a84 /* f02cf4c: 056200b9 */ bltzl $t3,.L0f02d234 /* f02cf50: 8fa2005c */ lw $v0,0x5c($sp) /* f02cf54: 8d830004 */ lw $v1,0x4($t4) -/* f02cf58: 3c0d8008 */ lui $t5,%hi(stagethinglist_22e60) -/* f02cf5c: 25adce40 */ addiu $t5,$t5,%lo(stagethinglist_22e60) +/* f02cf58: 3c0d8008 */ lui $t5,%hi(g_ModelTypeChr) +/* f02cf5c: 25adce40 */ addiu $t5,$t5,%lo(g_ModelTypeChr) /* f02cf60: 15a30090 */ bne $t5,$v1,.L0f02d1a4 /* f02cf64: 01802025 */ or $a0,$t4,$zero /* f02cf68: 0c006a47 */ jal modelGetPart @@ -387,8 +387,8 @@ glabel var7f1a8a84 /* f02d19c: 10000024 */ b .L0f02d230 /* f02d1a0: e7aa0044 */ swc1 $f10,0x44($sp) .L0f02d1a4: -/* f02d1a4: 3c0d8008 */ lui $t5,%hi(stagethinglist_22eb8) -/* f02d1a8: 25adce98 */ addiu $t5,$t5,%lo(stagethinglist_22eb8) +/* f02d1a4: 3c0d8008 */ lui $t5,%hi(g_ModelTypeSkedar) +/* f02d1a8: 25adce98 */ addiu $t5,$t5,%lo(g_ModelTypeSkedar) /* f02d1ac: 15a30020 */ bne $t5,$v1,.L0f02d230 /* f02d1b0: 0002c080 */ sll $t8,$v0,0x2 /* f02d1b4: 0701001e */ bgez $t8,.L0f02d230 diff --git a/src/game/game_0b69d0.c b/src/game/game_0b69d0.c index 221227ed1..494db6da5 100644 --- a/src/game/game_0b69d0.c +++ b/src/game/game_0b69d0.c @@ -2935,7 +2935,7 @@ void func0f0ba190(u32 arg0) func00023d38(g_CameraAnimNum); sp7f = func00023ab0(g_CameraAnimNum, lastframe); func00023d0c(); - func00024050(0, 0, &stagethinglist_221b4, g_CameraAnimNum, sp7f, &sp94, &sp88, &sp7c); + func00024050(0, 0, &g_ModelType20, g_CameraAnimNum, sp7f, &sp94, &sp88, &sp7c); func0001648c(&sp94, &sp38); theta = atan2f(-sp38.m[2][0], -sp38.m[2][2]); @@ -3074,14 +3074,14 @@ glabel var7f1ad5dc /* f0ba458: 0c008f43 */ jal func00023d0c /* f0ba45c: a3a2015f */ sb $v0,0x15f($sp) /* f0ba460: 93aa015f */ lbu $t2,0x15f($sp) -/* f0ba464: 3c068008 */ lui $a2,%hi(stagethinglist_221b4) +/* f0ba464: 3c068008 */ lui $a2,%hi(g_ModelType20) /* f0ba468: 27ab0178 */ addiu $t3,$sp,0x178 /* f0ba46c: 27ac016c */ addiu $t4,$sp,0x16c /* f0ba470: 27ad0160 */ addiu $t5,$sp,0x160 /* f0ba474: afad001c */ sw $t5,0x1c($sp) /* f0ba478: afac0018 */ sw $t4,0x18($sp) /* f0ba47c: afab0014 */ sw $t3,0x14($sp) -/* f0ba480: 24c6c194 */ addiu $a2,$a2,%lo(stagethinglist_221b4) +/* f0ba480: 24c6c194 */ addiu $a2,$a2,%lo(g_ModelType20) /* f0ba484: 00002025 */ or $a0,$zero,$zero /* f0ba488: 00002825 */ or $a1,$zero,$zero /* f0ba48c: 86470000 */ lh $a3,0x0($s2) @@ -10196,8 +10196,8 @@ glabel var7f1ad710 /* f0c2460: 51400030 */ beqzl $t2,.L0f0c2524 /* f0c2464: 8e2e00bc */ lw $t6,0xbc($s1) /* f0c2468: 8e2200d4 */ lw $v0,0xd4($s1) -/* f0c246c: 3c0b8008 */ lui $t3,%hi(stagethinglist_22e60) -/* f0c2470: 256bce40 */ addiu $t3,$t3,%lo(stagethinglist_22e60) +/* f0c246c: 3c0b8008 */ lui $t3,%hi(g_ModelTypeChr) +/* f0c2470: 256bce40 */ addiu $t3,$t3,%lo(g_ModelTypeChr) /* f0c2474: 8c4c0008 */ lw $t4,0x8($v0) /* f0c2478: 8d8d0004 */ lw $t5,0x4($t4) /* f0c247c: 556d0004 */ bnel $t3,$t5,.L0f0c2490 diff --git a/src/game/game_0f09f0.c b/src/game/game_0f09f0.c index 63c493ee2..1324a0a83 100644 --- a/src/game/game_0f09f0.c +++ b/src/game/game_0f09f0.c @@ -3531,8 +3531,8 @@ glabel var7f1b2948 /* f0f3df8: 240a0001 */ addiu $t2,$zero,0x1 /* f0f3dfc: afaa02f4 */ sw $t2,0x2f4($sp) /* f0f3e00: 8e040054 */ lw $a0,0x54($s0) -/* f0f3e04: 3c0b8008 */ lui $t3,%hi(stagethinglist_22e60) -/* f0f3e08: 256bce40 */ addiu $t3,$t3,%lo(stagethinglist_22e60) +/* f0f3e04: 3c0b8008 */ lui $t3,%hi(g_ModelTypeChr) +/* f0f3e08: 256bce40 */ addiu $t3,$t3,%lo(g_ModelTypeChr) /* f0f3e0c: 8c8e0004 */ lw $t6,0x4($a0) /* f0f3e10: 556e002f */ bnel $t3,$t6,.L0f0f3ed0 /* f0f3e14: 8faf02f4 */ lw $t7,0x2f4($sp) @@ -4396,8 +4396,8 @@ glabel var7f1b2948 /* f0f4ab4: 0c0073af */ jal func0001cebc /* f0f4ab8: afaf03c8 */ sw $t7,0x3c8($sp) /* f0f4abc: 8e040054 */ lw $a0,0x54($s0) -/* f0f4ac0: 3c188008 */ lui $t8,%hi(stagethinglist_22c54) -/* f0f4ac4: 2718cc34 */ addiu $t8,$t8,%lo(stagethinglist_22c54) +/* f0f4ac0: 3c188008 */ lui $t8,%hi(g_ModelTypeHudPiece) +/* f0f4ac4: 2718cc34 */ addiu $t8,$t8,%lo(g_ModelTypeHudPiece) /* f0f4ac8: 8c990004 */ lw $t9,0x4($a0) /* f0f4acc: 57190092 */ bnel $t8,$t9,.L0f0f4d18 /* f0f4ad0: 8fb80440 */ lw $t8,0x440($sp) diff --git a/src/game/game_1a7560.c b/src/game/game_1a7560.c index cf21fd53f..1cd419d33 100644 --- a/src/game/game_1a7560.c +++ b/src/game/game_1a7560.c @@ -23,85 +23,88 @@ #include "data.h" #include "types.h" -u32 var80089990 = (u32) &stagethinglist_22e60; -u32 var80089994 = (u32) &stagethinglist_221cc; -u32 var80089998 = (u32) &stagethinglist_22200; -u32 var8008999c = (u32) &stagethinglist_22220; -u32 var800899a0 = (u32) &stagethinglist_2208c; -u32 var800899a4 = (u32) &stagethinglist_20e54; -u32 var800899a8 = (u32) &stagethinglist_20ef8; -u32 var800899ac = (u32) &stagethinglist_20ea4; -u32 var800899b0 = (u32) &stagethinglist_20eec; -u32 var800899b4 = (u32) &stagethinglist_20ec8; -u32 var800899b8 = (u32) &stagethinglist_20e60; -u32 var800899bc = (u32) &stagethinglist_20e6c; -u32 var800899c0 = (u32) &stagethinglist_20e94; -u32 var800899c4 = (u32) &stagethinglist_20f0c; -u32 var800899c8 = (u32) &stagethinglist_20edc; -u32 var800899cc = (u32) &stagethinglist_20e80; -u32 var800899d0 = (u32) &stagethinglist_221a4; -u32 var800899d4 = (u32) &stagethinglist_220d0; -u32 var800899d8 = (u32) &stagethinglist_221e4; -u32 var800899dc = (u32) &stagethinglist_220a4; -u32 var800899e0 = (u32) &stagethinglist_20f18; -u32 var800899e4 = (u32) &stagethinglist_2224c; -u32 var800899e8 = (u32) &stagethinglist_20e48; -u32 var800899ec = (u32) &stagethinglist_22eb8; -u32 var800899f0 = (u32) &stagethinglist_20f24; -u32 var800899f4 = (u32) &stagethinglist_20f50; -u32 var800899f8 = (u32) &stagethinglist_20f5c; -u32 var800899fc = (u32) &stagethinglist_20f74; -u32 var80089a00 = (u32) &stagethinglist_221b4; -u32 var80089a04 = (u32) &stagethinglist_222b4; -u32 var80089a08 = (u32) &stagethinglist_22f0c; -u32 var80089a0c = (u32) &stagethinglist_22318; -u32 var80089a10 = (u32) &stagethinglist_22374; -u32 var80089a14 = (u32) &stagethinglist_20f84; -u32 var80089a18 = (u32) &stagethinglist_223d4; -u32 var80089a1c = (u32) &stagethinglist_22424; -u32 var80089a20 = (u32) &stagethinglist_22ec8; -u32 var80089a24 = (u32) &stagethinglist_20fb8; -u32 var80089a28 = (u32) &stagethinglist_2247c; -u32 var80089a2c = (u32) &stagethinglist_20fd8; -u32 var80089a30 = (u32) &stagethinglist_224d8; -u32 var80089a34 = (u32) &stagethinglist_22538; -u32 var80089a38 = (u32) &stagethinglist_2258c; -u32 var80089a3c = (u32) &stagethinglist_225d8; -u32 var80089a40 = (u32) &stagethinglist_22630; -u32 var80089a44 = (u32) &stagethinglist_22698; -u32 var80089a48 = (u32) &stagethinglist_226e8; -u32 var80089a4c = (u32) &stagethinglist_22754; -u32 var80089a50 = (u32) &stagethinglist_20e10; -u32 var80089a54 = (u32) &stagethinglist_227ac; -u32 var80089a58 = (u32) &stagethinglist_22804; -u32 var80089a5c = (u32) &stagethinglist_22f1c; -u32 var80089a60 = (u32) &stagethinglist_2285c; -u32 var80089a64 = (u32) &stagethinglist_228b4; -u32 var80089a68 = (u32) &stagethinglist_2291c; -u32 var80089a6c = (u32) &stagethinglist_22970; -u32 var80089a70 = (u32) &stagethinglist_229c4; -u32 var80089a74 = (u32) &stagethinglist_22a20; -u32 var80089a78 = (u32) &stagethinglist_22a78; -u32 var80089a7c = (u32) &stagethinglist_22adc; -u32 var80089a80 = (u32) &stagethinglist_22c54; -u32 var80089a84 = (u32) &stagethinglist_22b28; -u32 var80089a88 = (u32) &stagethinglist_22b80; -u32 var80089a8c = (u32) &stagethinglist_22be0; -u32 var80089a90 = (u32) &stagethinglist_22ca0; -u32 var80089a94 = (u32) &stagethinglist_22c3c; -u32 var80089a98 = (u32) &stagethinglist_20e3c; -u32 var80089a9c = (u32) &stagethinglist_22cf0; -u32 var80089aa0 = (u32) &stagethinglist_20fe8; -u32 var80089aa4 = (u32) &stagethinglist_22d40; -u32 var80089aa8 = (u32) &stagethinglist_20ff8; -u32 var80089aac = (u32) &stagethinglist_2100c; -u32 var80089ab0 = (u32) &stagethinglist_21018; -u32 var80089ab4 = (u32) &stagethinglist_22d90; -u32 var80089ab8 = (u32) &stagethinglist_22de0; -u32 var80089abc = (u32) &stagethinglist_21024; -u32 var80089ac0 = (u32) &stagethinglist_21034; -u32 var80089ac4 = (u32) &stagethinglist_22e34; -u32 var80089ac8 = (u32) &stagethinglist_21084; +struct modeltype *g_ModelTypes[] = { + &g_ModelTypeChr, + &g_ModelTypeClassicGun, + &g_ModelType06, + &g_ModelTypeUzi, + &g_ModelTypeBasic, + &g_ModelTypeCctv, + &g_ModelTypeWindowedDoor, + &g_ModelType11, + &g_ModelType12, + &g_ModelType13, + &g_ModelTypeTerminal, + &g_ModelTypeCiHub, + &g_ModelTypeAutogun, + &g_ModelType17, + &g_ModelType18, + &g_ModelType19, + &g_ModelType0A, + &g_ModelType0B, + &g_ModelTypeCasing, + &g_ModelTypeChrGun, + &g_ModelType0C, + &g_ModelTypeJoypad, + &g_ModelTypeLift, + &g_ModelTypeSkedar, + &g_ModelTypeLogo, + &g_ModelTypePdLogo, + &g_ModelTypeHoverbike, + &g_ModelTypeJumpship, + &g_ModelType20, + &g_ModelType21, + &g_ModelType22, + &g_ModelTypeLaptopGun, + &g_ModelTypeK7Avenger, + &g_ModelTypeChopper, + &g_ModelTypeFalcon2, + &g_ModelTypeKnife, + &g_ModelTypeDrCaroll, + &g_ModelTypeRope, + &g_ModelTypeCmp150, + &g_ModelTypeBanner, + &g_ModelTypeDragon, + &g_ModelTypeSuperDragon, + &g_ModelTypeRocket, + &g_ModelType4A, + &g_ModelTypeShotgun, + &g_ModelTypeFarsight, + &g_ModelType4D, + &g_ModelTypeReaper, + &g_ModelTypeDropship, + &g_ModelTypeMauler, + &g_ModelTypeDevastator, + &g_ModelTypeRobot, + &g_ModelTypePistol, + &g_ModelTypeAr34, + &g_ModelTypeMagnum, + &g_ModelTypeSlayerRocket, + &g_ModelTypeCyclone, + &g_ModelTypeSniperRifle, + &g_ModelTypeTranquilizer, + &g_ModelTypeCrossbow, + &g_ModelTypeHudPiece, + &g_ModelTypeTimedProxyMine, + &g_ModelTypePhoenix, + &g_ModelTypeCallisto, + &g_ModelTypeHand, + &g_ModelTypeRcp120, + &g_ModelTypeSkedarShuttle, + &g_ModelTypeLaser, + &g_ModelTypeMaianUfo, + &g_ModelTypeGrenade, + &g_ModelTypeCableCar, + &g_ModelTypeSubmarine, + &g_ModelTypeTarget, + &g_ModelTypeEcmMine, + &g_ModelTypeUplink, + &g_ModelTypeRareLogo, + &g_ModelTypeWireFence, + &g_ModelTypeRemoteMine, + &g_ModelTypeBB, +}; + GLOBAL_ASM( glabel func0f1a7560 @@ -234,17 +237,17 @@ GLOBAL_ASM( glabel func0f1a7730 /* f1a7730: 8c820004 */ lw $v0,0x4($a0) /* f1a7734: 3c010001 */ lui $at,0x1 -/* f1a7738: 3c0e8009 */ lui $t6,%hi(var80089990) +/* f1a7738: 3c0e8009 */ lui $t6,%hi(g_ModelTypes) /* f1a773c: 0041082b */ sltu $at,$v0,$at /* f1a7740: 10200012 */ beqz $at,.L0f1a778c /* f1a7744: 00000000 */ nop -/* f1a7748: 8dce9990 */ lw $t6,%lo(var80089990)($t6) +/* f1a7748: 8dce9990 */ lw $t6,%lo(g_ModelTypes)($t6) /* f1a774c: 00021c00 */ sll $v1,$v0,0x10 /* f1a7750: 00037c03 */ sra $t7,$v1,0x10 /* f1a7754: 11c0000d */ beqz $t6,.L0f1a778c /* f1a7758: 01e01825 */ or $v1,$t7,$zero -/* f1a775c: 3c188009 */ lui $t8,%hi(var80089990) -/* f1a7760: 27059990 */ addiu $a1,$t8,%lo(var80089990) +/* f1a775c: 3c188009 */ lui $t8,%hi(g_ModelTypes) +/* f1a7760: 27059990 */ addiu $a1,$t8,%lo(g_ModelTypes) /* f1a7764: 8ca60000 */ lw $a2,0x0($a1) /* f1a7768: 84d90000 */ lh $t9,0x0($a2) .L0f1a776c: diff --git a/src/game/propobj.c b/src/game/propobj.c index 8b99e1456..62f1e2d96 100644 --- a/src/game/propobj.c +++ b/src/game/propobj.c @@ -4105,20 +4105,20 @@ glabel func0f069850 /* f06988c: 0c005775 */ jal func00015dd4 /* f069890: 27a50038 */ addiu $a1,$sp,0x38 /* f069894: 8e0e0018 */ lw $t6,0x18($s0) -/* f069898: 3c0f8008 */ lui $t7,%hi(stagethinglist_20f5c) -/* f06989c: 25efaf3c */ addiu $t7,$t7,%lo(stagethinglist_20f5c) +/* f069898: 3c0f8008 */ lui $t7,%hi(g_ModelTypeHoverbike) +/* f06989c: 25efaf3c */ addiu $t7,$t7,%lo(g_ModelTypeHoverbike) /* f0698a0: 8dc40008 */ lw $a0,0x8($t6) -/* f0698a4: 3c188008 */ lui $t8,%hi(stagethinglist_2208c) -/* f0698a8: 2718c06c */ addiu $t8,$t8,%lo(stagethinglist_2208c) +/* f0698a4: 3c188008 */ lui $t8,%hi(g_ModelTypeBasic) +/* f0698a8: 2718c06c */ addiu $t8,$t8,%lo(g_ModelTypeBasic) /* f0698ac: 8c820004 */ lw $v0,0x4($a0) /* f0698b0: 11e20009 */ beq $t7,$v0,.L0f0698d8 /* f0698b4: 00000000 */ nop /* f0698b8: 13020007 */ beq $t8,$v0,.L0f0698d8 -/* f0698bc: 3c198008 */ lui $t9,%hi(stagethinglist_20fe8) -/* f0698c0: 2739afc8 */ addiu $t9,$t9,%lo(stagethinglist_20fe8) +/* f0698bc: 3c198008 */ lui $t9,%hi(g_ModelTypeMaianUfo) +/* f0698c0: 2739afc8 */ addiu $t9,$t9,%lo(g_ModelTypeMaianUfo) /* f0698c4: 13220004 */ beq $t9,$v0,.L0f0698d8 -/* f0698c8: 3c088008 */ lui $t0,%hi(stagethinglist_20e10) -/* f0698cc: 2508adf0 */ addiu $t0,$t0,%lo(stagethinglist_20e10) +/* f0698c8: 3c088008 */ lui $t0,%hi(g_ModelTypeDropship) +/* f0698cc: 2508adf0 */ addiu $t0,$t0,%lo(g_ModelTypeDropship) /* f0698d0: 55020005 */ bnel $t0,$v0,.L0f0698e8 /* f0698d4: 8e090010 */ lw $t1,0x10($s0) .L0f0698d8: @@ -19311,8 +19311,8 @@ glabel var7f1aa43c /* f0771fc: 02002025 */ or $a0,$s0,$zero /* f077200: 8fb90070 */ lw $t9,0x70($sp) .L0f077204: -/* f077204: 3c188008 */ lui $t8,%hi(stagethinglist_20ec8) -/* f077208: 2718aea8 */ addiu $t8,$t8,%lo(stagethinglist_20ec8) +/* f077204: 3c188008 */ lui $t8,%hi(g_ModelType13) +/* f077208: 2718aea8 */ addiu $t8,$t8,%lo(g_ModelType13) /* f07720c: 8f280008 */ lw $t0,0x8($t9) /* f077210: 3c017f1b */ lui $at,%hi(var7f1aa43c) /* f077214: 8d090004 */ lw $t1,0x4($t0) @@ -19480,7 +19480,7 @@ glabel var7f1aa43c // } // // // Consider playing a sound effect -// if (model->filedata->unk04 == &stagethinglist_20ec8) { +// if (model->filedata->unk04 == &g_ModelType13) { // f32 soundpoint = door->maxfrac * 0.3f; // // if (door->frac > soundpoint) { @@ -19521,7 +19521,7 @@ void doorUpdatePortalIfWindowed(struct prop *doorprop, s32 playercount) canhide = false; } - if (model->filedata->unk04 == &stagethinglist_20ef8) { + if (model->filedata->type == &g_ModelTypeWindowedDoor) { node = modelGetPart(model->filedata, MODELPART_01); partdata = modelGetNodeData(model, node); @@ -19578,13 +19578,13 @@ glabel var7f1aa44c /* f07749c: 0c0056f8 */ jal func00015be0 /* f0774a0: 02a02825 */ or $a1,$s5,$zero /* f0774a4: 8ec40008 */ lw $a0,0x8($s6) -/* f0774a8: 3c0e8008 */ lui $t6,%hi(stagethinglist_20ea4) -/* f0774ac: 25ceae84 */ addiu $t6,$t6,%lo(stagethinglist_20ea4) +/* f0774a8: 3c0e8008 */ lui $t6,%hi(g_ModelType11) +/* f0774ac: 25ceae84 */ addiu $t6,$t6,%lo(g_ModelType11) /* f0774b0: 8c820004 */ lw $v0,0x4($a0) -/* f0774b4: 3c0f8008 */ lui $t7,%hi(stagethinglist_20ec8) +/* f0774b4: 3c0f8008 */ lui $t7,%hi(g_ModelType13) /* f0774b8: 3c017f1b */ lui $at,%hi(var7f1aa440) /* f0774bc: 15c20024 */ bne $t6,$v0,.L0f077550 -/* f0774c0: 25efaea8 */ addiu $t7,$t7,%lo(stagethinglist_20ec8) +/* f0774c0: 25efaea8 */ addiu $t7,$t7,%lo(g_ModelType13) /* f0774c4: c42ea440 */ lwc1 $f14,%lo(var7f1aa440)($at) /* f0774c8: c604007c */ lwc1 $f4,0x7c($s0) /* f0774cc: 3c017f1b */ lui $at,%hi(var7f1aa444) @@ -27293,7 +27293,7 @@ s32 objTick(struct prop *prop) sp144 = floorf(model->anim->frame); for (i = sp148; i <= sp144; i++) { - func00024b64(0, 0, model->filedata->unk04, model->anim->animnum, i, &sp128, 0); + func00024b64(0, 0, model->filedata->type, model->anim->animnum, i, &sp128, 0); sp116.x += sp128.x * 0.1f; sp112 = sp128.y * 0.1f; @@ -27456,7 +27456,7 @@ s32 objTick(struct prop *prop) if (obj->type == OBJTYPE_FAN) { func0f078be0(prop); - } else if (obj->model->filedata->unk04 == &stagethinglist_20e10) { + } else if (obj->model->filedata->type == &g_ModelTypeDropship) { func0f07e058(prop); } @@ -31303,8 +31303,8 @@ glabel func0f081c18 /* f081c20: afb10018 */ sw $s1,0x18($sp) /* f081c24: afb00014 */ sw $s0,0x14($sp) /* f081c28: 8c8f0004 */ lw $t7,0x4($a0) -/* f081c2c: 3c0e8008 */ lui $t6,%hi(stagethinglist_20e60) -/* f081c30: 25ceae40 */ addiu $t6,$t6,%lo(stagethinglist_20e60) +/* f081c2c: 3c0e8008 */ lui $t6,%hi(g_ModelTypeTerminal) +/* f081c30: 25ceae40 */ addiu $t6,$t6,%lo(g_ModelTypeTerminal) /* f081c34: 00808025 */ or $s0,$a0,$zero /* f081c38: 15cf0007 */ bne $t6,$t7,.L0f081c58 /* f081c3c: 00a08825 */ or $s1,$a1,$zero @@ -31317,8 +31317,8 @@ glabel func0f081c18 .L0f081c58: /* f081c58: 8e190004 */ lw $t9,0x4($s0) .L0f081c5c: -/* f081c5c: 3c188008 */ lui $t8,%hi(stagethinglist_20e6c) -/* f081c60: 2718ae4c */ addiu $t8,$t8,%lo(stagethinglist_20e6c) +/* f081c5c: 3c188008 */ lui $t8,%hi(g_ModelTypeCiHub) +/* f081c60: 2718ae4c */ addiu $t8,$t8,%lo(g_ModelTypeCiHub) /* f081c64: 17190013 */ bne $t8,$t9,.L0f081cb4 /* f081c68: 02002025 */ or $a0,$s0,$zero /* f081c6c: 0c006a47 */ jal modelGetPart @@ -36020,8 +36020,8 @@ glabel func0f0859a0 /* f085cc0: 00008025 */ or $s0,$zero,$zero .L0f085cc4: /* f085cc4: 8f290018 */ lw $t1,0x18($t9) -/* f085cc8: 3c0a8008 */ lui $t2,%hi(stagethinglist_20ef8) -/* f085ccc: 254aaed8 */ addiu $t2,$t2,%lo(stagethinglist_20ef8) +/* f085cc8: 3c0a8008 */ lui $t2,%hi(g_ModelTypeWindowedDoor) +/* f085ccc: 254aaed8 */ addiu $t2,$t2,%lo(g_ModelTypeWindowedDoor) /* f085cd0: 8d240008 */ lw $a0,0x8($t1) /* f085cd4: 8c8c0004 */ lw $t4,0x4($a0) /* f085cd8: 154c0007 */ bne $t2,$t4,.L0f085cf8 @@ -36455,8 +36455,8 @@ glabel func0f085eac /* f0862e4: 15c00041 */ bnez $t6,.L0f0863ec /* f0862e8: 00000000 */ nop /* f0862ec: 8f2f0018 */ lw $t7,0x18($t9) -/* f0862f0: 3c188008 */ lui $t8,%hi(stagethinglist_20ef8) -/* f0862f4: 2718aed8 */ addiu $t8,$t8,%lo(stagethinglist_20ef8) +/* f0862f0: 3c188008 */ lui $t8,%hi(g_ModelTypeWindowedDoor) +/* f0862f4: 2718aed8 */ addiu $t8,$t8,%lo(g_ModelTypeWindowedDoor) /* f0862f8: 8deb0008 */ lw $t3,0x8($t7) /* f0862fc: 8d0a0004 */ lw $t2,0x4($t0) /* f086300: 00001825 */ or $v1,$zero,$zero @@ -36557,9 +36557,9 @@ glabel func0f085eac /* f086458: afa600d0 */ sw $a2,0xd0($sp) /* f08645c: 8fa600d0 */ lw $a2,0xd0($sp) /* f086460: 8fb9011c */ lw $t9,0x11c($sp) -/* f086464: 3c188008 */ lui $t8,%hi(stagethinglist_20ef8) +/* f086464: 3c188008 */ lui $t8,%hi(g_ModelTypeWindowedDoor) /* f086468: 84ce000a */ lh $t6,0xa($a2) -/* f08646c: 2718aed8 */ addiu $t8,$t8,%lo(stagethinglist_20ef8) +/* f08646c: 2718aed8 */ addiu $t8,$t8,%lo(g_ModelTypeWindowedDoor) /* f086470: 24050003 */ addiu $a1,$zero,0x3 /* f086474: 004e001b */ divu $zero,$v0,$t6 /* f086478: 00007810 */ mfhi $t7 @@ -36585,8 +36585,8 @@ glabel func0f085eac /* f0864c4: 8de40008 */ lw $a0,0x8($t7) /* f0864c8: 8c830004 */ lw $v1,0x4($a0) .L0f0864cc: -/* f0864cc: 3c198008 */ lui $t9,%hi(stagethinglist_20e54) -/* f0864d0: 2739ae34 */ addiu $t9,$t9,%lo(stagethinglist_20e54) +/* f0864cc: 3c198008 */ lui $t9,%hi(g_ModelTypeCctv) +/* f0864d0: 2739ae34 */ addiu $t9,$t9,%lo(g_ModelTypeCctv) /* f0864d4: 17230009 */ bne $t9,$v1,.L0f0864fc /* f0864d8: 24050001 */ addiu $a1,$zero,0x1 /* f0864dc: 0c006a47 */ jal modelGetPart @@ -36690,8 +36690,8 @@ glabel func0f085eac /* f086644: 1441001d */ bne $v0,$at,.L0f0866bc /* f086648: 8fac0100 */ lw $t4,0x100($sp) /* f08664c: 8fae011c */ lw $t6,0x11c($sp) -/* f086650: 3c0b8008 */ lui $t3,%hi(stagethinglist_20e54) -/* f086654: 256bae34 */ addiu $t3,$t3,%lo(stagethinglist_20e54) +/* f086650: 3c0b8008 */ lui $t3,%hi(g_ModelTypeCctv) +/* f086654: 256bae34 */ addiu $t3,$t3,%lo(g_ModelTypeCctv) /* f086658: 8dcf0018 */ lw $t7,0x18($t6) /* f08665c: 24050001 */ addiu $a1,$zero,0x1 /* f086660: 8de40008 */ lw $a0,0x8($t7) @@ -36749,8 +36749,8 @@ glabel func0f085eac /* f086718: 0fc2149c */ jal func0f085270 /* f08671c: afaf0010 */ sw $t7,0x10($sp) /* f086720: 8fa4011c */ lw $a0,0x11c($sp) -/* f086724: 3c0b8008 */ lui $t3,%hi(stagethinglist_20ef8) -/* f086728: 256baed8 */ addiu $t3,$t3,%lo(stagethinglist_20ef8) +/* f086724: 3c0b8008 */ lui $t3,%hi(g_ModelTypeWindowedDoor) +/* f086728: 256baed8 */ addiu $t3,$t3,%lo(g_ModelTypeWindowedDoor) /* f08672c: 8c980018 */ lw $t8,0x18($a0) /* f086730: 8fac0124 */ lw $t4,0x124($sp) /* f086734: 8f190008 */ lw $t9,0x8($t8) @@ -40152,9 +40152,9 @@ glabel func0f089c70 /* f089c84: afa60030 */ sw $a2,0x30($sp) /* f089c88: 8caf0020 */ lw $t7,0x20($a1) /* f089c8c: 00a08825 */ or $s1,$a1,$zero -/* f089c90: 3c0e8008 */ lui $t6,%hi(stagethinglist_22e60) +/* f089c90: 3c0e8008 */ lui $t6,%hi(g_ModelTypeChr) /* f089c94: 8df80008 */ lw $t8,0x8($t7) -/* f089c98: 25cece40 */ addiu $t6,$t6,%lo(stagethinglist_22e60) +/* f089c98: 25cece40 */ addiu $t6,$t6,%lo(g_ModelTypeChr) /* f089c9c: 00c02825 */ or $a1,$a2,$zero /* f089ca0: 8f190004 */ lw $t9,0x4($t8) /* f089ca4: 00808025 */ or $s0,$a0,$zero @@ -41473,11 +41473,11 @@ glabel func0f08ae54 /* f08af38: 54600037 */ bnezl $v1,.L0f08b018 /* f08af3c: 8cc40014 */ lw $a0,0x14($a2) /* f08af40: 8e020020 */ lw $v0,0x20($s0) -/* f08af44: 3c0c8008 */ lui $t4,%hi(stagethinglist_22e60) -/* f08af48: 258cce40 */ addiu $t4,$t4,%lo(stagethinglist_22e60) +/* f08af44: 3c0c8008 */ lui $t4,%hi(g_ModelTypeChr) +/* f08af48: 258cce40 */ addiu $t4,$t4,%lo(g_ModelTypeChr) /* f08af4c: 8c4a0008 */ lw $t2,0x8($v0) -/* f08af50: 3c0d8008 */ lui $t5,%hi(stagethinglist_22eb8) -/* f08af54: 25adce98 */ addiu $t5,$t5,%lo(stagethinglist_22eb8) +/* f08af50: 3c0d8008 */ lui $t5,%hi(g_ModelTypeSkedar) +/* f08af54: 25adce98 */ addiu $t5,$t5,%lo(g_ModelTypeSkedar) /* f08af58: 8d430004 */ lw $v1,0x4($t2) /* f08af5c: 15830032 */ bne $t4,$v1,.L0f08b028 /* f08af60: 00000000 */ nop @@ -42392,8 +42392,8 @@ glabel func0f08bb5c /* f08bb94: 52000023 */ beqzl $s0,.L0f08bc24 /* f08bb98: 8fad0024 */ lw $t5,0x24($sp) /* f08bb9c: 8e040008 */ lw $a0,0x8($s0) -/* f08bba0: 3c0f8008 */ lui $t7,%hi(stagethinglist_220a4) -/* f08bba4: 25efc084 */ addiu $t7,$t7,%lo(stagethinglist_220a4) +/* f08bba0: 3c0f8008 */ lui $t7,%hi(g_ModelTypeChrGun) +/* f08bba4: 25efc084 */ addiu $t7,$t7,%lo(g_ModelTypeChrGun) /* f08bba8: 8c980004 */ lw $t8,0x4($a0) /* f08bbac: 55f8001d */ bnel $t7,$t8,.L0f08bc24 /* f08bbb0: 8fad0024 */ lw $t5,0x24($sp) @@ -42456,8 +42456,8 @@ glabel func0f08bc5c /* f08bc6c: 50c0001d */ beqzl $a2,.L0f08bce4 /* f08bc70: 00001025 */ or $v0,$zero,$zero /* f08bc74: 8cc40008 */ lw $a0,0x8($a2) -/* f08bc78: 3c0e8008 */ lui $t6,%hi(stagethinglist_220a4) -/* f08bc7c: 25cec084 */ addiu $t6,$t6,%lo(stagethinglist_220a4) +/* f08bc78: 3c0e8008 */ lui $t6,%hi(g_ModelTypeChrGun) +/* f08bc7c: 25cec084 */ addiu $t6,$t6,%lo(g_ModelTypeChrGun) /* f08bc80: 8c8f0004 */ lw $t7,0x4($a0) /* f08bc84: 00002825 */ or $a1,$zero,$zero /* f08bc88: 55cf0016 */ bnel $t6,$t7,.L0f08bce4 diff --git a/src/include/constants.h b/src/include/constants.h index 2210b9d72..0d868e594 100644 --- a/src/include/constants.h +++ b/src/include/constants.h @@ -1805,6 +1805,87 @@ #define MODELPART_ELVIS_03 0x03 +#define MODELTYPE_BASIC 0x02 +#define MODELTYPE_CHRGUN 0x03 +#define MODELTYPE_JOYPAD 0x04 +#define MODELTYPE_UZI 0x05 +#define MODELTYPE_06 0x06 +#define MODELTYPE_CLASSICGUN 0x07 +#define MODELTYPE_CASING 0x08 +#define MODELTYPE_CHR 0x09 +#define MODELTYPE_0A 0x0a +#define MODELTYPE_0B 0x0b +#define MODELTYPE_0C 0x0c +#define MODELTYPE_HEAD 0x0d +#define MODELTYPE_CCTV 0x0f +#define MODELTYPE_WINDOWEDDOOR 0x10 +#define MODELTYPE_11 0x11 +#define MODELTYPE_12 0x12 +#define MODELTYPE_13 0x13 +#define MODELTYPE_TERMINAL 0x14 +#define MODELTYPE_CIHUB 0x15 +#define MODELTYPE_AUTOGUN 0x16 +#define MODELTYPE_17 0x17 +#define MODELTYPE_18 0x18 +#define MODELTYPE_19 0x19 +#define MODELTYPE_LIFT 0x1b +#define MODELTYPE_SKEDAR 0x1c +#define MODELTYPE_LOGO 0x1d +#define MODELTYPE_PDLOGO 0x1e +#define MODELTYPE_HOVERBIKE 0x1f +#define MODELTYPE_20 0x20 +#define MODELTYPE_21 0x21 +#define MODELTYPE_22 0x22 +#define MODELTYPE_LAPTOPGUN 0x23 +#define MODELTYPE_K7AVENGER 0x24 +#define MODELTYPE_FALCON2 0x25 +#define MODELTYPE_KNIFE 0x26 +#define MODELTYPE_CHOPPER 0x27 +#define MODELTYPE_DRCAROLL 0x28 +#define MODELTYPE_ROPE 0x29 +#define MODELTYPE_HUDPIECE 0x2a +#define MODELTYPE_RARELOGO 0x2c +#define MODELTYPE_JUMPSHIP 0x32 +#define MODELTYPE_BANNER 0x33 +#define MODELTYPE_ROBOT 0x34 +#define MODELTYPE_CABLECAR 0x3c +#define MODELTYPE_SUBMARINE 0x43 +#define MODELTYPE_MAIANUFO 0x44 +#define MODELTYPE_SKEDARSHUTTLE 0x45 +#define MODELTYPE_CMP150 0x46 +#define MODELTYPE_DRAGON 0x47 +#define MODELTYPE_SUPERDRAGON 0x48 +#define MODELTYPE_ROCKET 0x49 +#define MODELTYPE_4A 0x4a +#define MODELTYPE_SHOTGUN 0x4b +#define MODELTYPE_FARSIGHT 0x4c +#define MODELTYPE_4D 0x4d +#define MODELTYPE_REAPER 0x4e +#define MODELTYPE_DROPSHIP 0x4f +#define MODELTYPE_MAULER 0x64 +#define MODELTYPE_DEVASTATOR 0x65 +#define MODELTYPE_PISTOL 0x66 +#define MODELTYPE_AR34 0x67 +#define MODELTYPE_MAGNUM 0x68 +#define MODELTYPE_SLAYERROCKET 0x69 +#define MODELTYPE_CYCLONE 0x6a +#define MODELTYPE_SNIPERRIFLE 0x6b +#define MODELTYPE_TRANQUILIZER 0x6c +#define MODELTYPE_CROSSBOW 0x6d +#define MODELTYPE_TIMEDPROXYMINE 0x6e +#define MODELTYPE_PHOENIX 0x6f +#define MODELTYPE_CALLISTO 0x70 +#define MODELTYPE_RCP120 0x71 +#define MODELTYPE_LASER 0x72 +#define MODELTYPE_GRENADE 0x73 +#define MODELTYPE_ECMMINE 0x74 +#define MODELTYPE_UPLINK 0x75 +#define MODELTYPE_REMOTEMINE 0x76 +#define MODELTYPE_TARGET 0x8c +#define MODELTYPE_BB 0xbb +#define MODELTYPE_WIREFENCE 0xc8 +#define MODELTYPE_HAND 0xfa + #define MODFILE_SOLO 1 #define MODFILE_MPSETUP 2 #define MODFILE_GLOBAL 4 diff --git a/src/include/data.h b/src/include/data.h index 6a17ee207..db5ac5118 100644 --- a/src/include/data.h +++ b/src/include/data.h @@ -344,88 +344,88 @@ extern u8 unregistered_function1[]; extern u8 unregistered_function2[]; extern u8 unregistered_function3[]; extern struct ailist g_GlobalAilists[]; -extern struct stagethinglist stagethinglist_20e10; -extern struct stagethinglist stagethinglist_20e3c; -extern struct stagethinglist stagethinglist_20e48; -extern struct stagethinglist stagethinglist_20e54; -extern struct stagethinglist stagethinglist_20e60; -extern struct stagethinglist stagethinglist_20e6c; -extern struct stagethinglist stagethinglist_20e80; -extern struct stagethinglist stagethinglist_20e94; -extern struct stagethinglist stagethinglist_20ea4; -extern struct stagethinglist stagethinglist_20ec8; -extern struct stagethinglist stagethinglist_20edc; -extern struct stagethinglist stagethinglist_20eec; -extern struct stagethinglist stagethinglist_20ef8; -extern struct stagethinglist stagethinglist_20f0c; -extern struct stagethinglist stagethinglist_20f18; -extern struct stagethinglist stagethinglist_20f24; -extern struct stagethinglist stagethinglist_20f50; -extern struct stagethinglist stagethinglist_20f5c; -extern struct stagethinglist stagethinglist_20f74; -extern struct stagethinglist stagethinglist_20f84; -extern struct stagethinglist stagethinglist_20fb8; -extern struct stagethinglist stagethinglist_20fd8; -extern struct stagethinglist stagethinglist_20fe8; -extern struct stagethinglist stagethinglist_20ff8; -extern struct stagethinglist stagethinglist_2100c; -extern struct stagethinglist stagethinglist_21018; -extern struct stagethinglist stagethinglist_21024; -extern struct stagethinglist stagethinglist_21034; -extern struct stagethinglist stagethinglist_21084; +extern struct modeltype g_ModelTypeDropship; +extern struct modeltype g_ModelTypeSkedarShuttle; +extern struct modeltype g_ModelTypeLift; +extern struct modeltype g_ModelTypeCctv; +extern struct modeltype g_ModelTypeTerminal; +extern struct modeltype g_ModelTypeCiHub; +extern struct modeltype g_ModelType19; +extern struct modeltype g_ModelTypeAutogun; +extern struct modeltype g_ModelType11; +extern struct modeltype g_ModelType13; +extern struct modeltype g_ModelType18; +extern struct modeltype g_ModelType12; +extern struct modeltype g_ModelTypeWindowedDoor; +extern struct modeltype g_ModelType17; +extern struct modeltype g_ModelType0C; +extern struct modeltype g_ModelTypeLogo; +extern struct modeltype g_ModelTypePdLogo; +extern struct modeltype g_ModelTypeHoverbike; +extern struct modeltype g_ModelTypeJumpship; +extern struct modeltype g_ModelTypeChopper; +extern struct modeltype g_ModelTypeRope; +extern struct modeltype g_ModelTypeBanner; +extern struct modeltype g_ModelTypeMaianUfo; +extern struct modeltype g_ModelTypeCableCar; +extern struct modeltype g_ModelTypeSubmarine; +extern struct modeltype g_ModelTypeTarget; +extern struct modeltype g_ModelTypeRareLogo; +extern struct modeltype g_ModelTypeWireFence; +extern struct modeltype g_ModelTypeBB; extern struct modelstate g_ModelStates[441]; extern u8 propexplosiontypes[]; -extern struct stagethinglist stagethinglist_2208c; -extern struct stagethinglist stagethinglist_220a4; -extern struct stagethinglist stagethinglist_220d0; +extern struct modeltype g_ModelTypeBasic; +extern struct modeltype g_ModelTypeChrGun; +extern struct modeltype g_ModelType0B; extern u32 var8007c0c0; -extern struct stagethinglist stagethinglist_221a4; -extern struct stagethinglist stagethinglist_221b4; -extern struct stagethinglist stagethinglist_221cc; -extern struct stagethinglist stagethinglist_221e4; -extern struct stagethinglist stagethinglist_22200; -extern struct stagethinglist stagethinglist_22220; -extern struct stagethinglist stagethinglist_2224c; -extern struct stagethinglist stagethinglist_222b4; -extern struct stagethinglist stagethinglist_22318; -extern struct stagethinglist stagethinglist_22374; -extern struct stagethinglist stagethinglist_223d4; -extern struct stagethinglist stagethinglist_22424; -extern struct stagethinglist stagethinglist_2247c; -extern struct stagethinglist stagethinglist_224d8; -extern struct stagethinglist stagethinglist_22538; -extern struct stagethinglist stagethinglist_2258c; -extern struct stagethinglist stagethinglist_225d8; -extern struct stagethinglist stagethinglist_22630; -extern struct stagethinglist stagethinglist_22698; -extern struct stagethinglist stagethinglist_226e8; -extern struct stagethinglist stagethinglist_22754; -extern struct stagethinglist stagethinglist_227ac; -extern struct stagethinglist stagethinglist_22804; -extern struct stagethinglist stagethinglist_2285c; -extern struct stagethinglist stagethinglist_228b4; -extern struct stagethinglist stagethinglist_2291c; -extern struct stagethinglist stagethinglist_22970; -extern struct stagethinglist stagethinglist_229c4; -extern struct stagethinglist stagethinglist_22a20; -extern struct stagethinglist stagethinglist_22a78; -extern struct stagethinglist stagethinglist_22adc; -extern struct stagethinglist stagethinglist_22b28; -extern struct stagethinglist stagethinglist_22b80; -extern struct stagethinglist stagethinglist_22be0; -extern struct stagethinglist stagethinglist_22c3c; -extern struct stagethinglist stagethinglist_22c54; -extern struct stagethinglist stagethinglist_22ca0; -extern struct stagethinglist stagethinglist_22cf0; -extern struct stagethinglist stagethinglist_22d40; -extern struct stagethinglist stagethinglist_22d90; -extern struct stagethinglist stagethinglist_22de0; -extern struct stagethinglist stagethinglist_22e34; -extern struct stagethinglist stagethinglist_22e60; -extern struct stagethinglist stagethinglist_22eb8; -extern struct stagethinglist stagethinglist_22ec8; -extern struct stagethinglist stagethinglist_22f0c; -extern struct stagethinglist stagethinglist_22f1c; +extern struct modeltype g_ModelType0A; +extern struct modeltype g_ModelType20; +extern struct modeltype g_ModelTypeClassicGun; +extern struct modeltype g_ModelTypeCasing; +extern struct modeltype g_ModelType06; +extern struct modeltype g_ModelTypeUzi; +extern struct modeltype g_ModelTypeJoypad; +extern struct modeltype g_ModelType21; +extern struct modeltype g_ModelTypeLaptopGun; +extern struct modeltype g_ModelTypeK7Avenger; +extern struct modeltype g_ModelTypeFalcon2; +extern struct modeltype g_ModelTypeKnife; +extern struct modeltype g_ModelTypeCmp150; +extern struct modeltype g_ModelTypeDragon; +extern struct modeltype g_ModelTypeSuperDragon; +extern struct modeltype g_ModelTypeRocket; +extern struct modeltype g_ModelType4A; +extern struct modeltype g_ModelTypeShotgun; +extern struct modeltype g_ModelTypeFarsight; +extern struct modeltype g_ModelType4D; +extern struct modeltype g_ModelTypeReaper; +extern struct modeltype g_ModelTypeMauler; +extern struct modeltype g_ModelTypeDevastator; +extern struct modeltype g_ModelTypePistol; +extern struct modeltype g_ModelTypeAr34; +extern struct modeltype g_ModelTypeMagnum; +extern struct modeltype g_ModelTypeSlayerRocket; +extern struct modeltype g_ModelTypeCyclone; +extern struct modeltype g_ModelTypeSniperRifle; +extern struct modeltype g_ModelTypeTranquilizer; +extern struct modeltype g_ModelTypeCrossbow; +extern struct modeltype g_ModelTypeTimedProxyMine; +extern struct modeltype g_ModelTypePhoenix; +extern struct modeltype g_ModelTypeCallisto; +extern struct modeltype g_ModelTypeRcp120; +extern struct modeltype g_ModelTypeHudPiece; +extern struct modeltype g_ModelTypeHand; +extern struct modeltype g_ModelTypeLaser; +extern struct modeltype g_ModelTypeGrenade; +extern struct modeltype g_ModelTypeEcmMine; +extern struct modeltype g_ModelTypeUplink; +extern struct modeltype g_ModelTypeRemoteMine; +extern struct modeltype g_ModelTypeChr; +extern struct modeltype g_ModelTypeSkedar; +extern struct modeltype g_ModelTypeDrCaroll; +extern struct modeltype g_ModelType22; +extern struct modeltype g_ModelTypeRobot; extern struct body g_Bodies[]; extern u32 var8007dae4; extern f32 var8007db80; diff --git a/src/include/lib/lib_233c0.h b/src/include/lib/lib_233c0.h index edf056b5e..330ad98b5 100644 --- a/src/include/lib/lib_233c0.h +++ b/src/include/lib/lib_233c0.h @@ -19,9 +19,9 @@ void func00023d0c(void); void func00023d38(s32 animnum); u32 func00023f50(void); u32 func00023fe0(void); -void func00024050(s32 arg0, s32 arg1, struct stagethinglist *arg2, s32 animnum, u32 arg4, struct coord *arg5, struct coord *arg6, struct coord *arg7); +void func00024050(s32 arg0, s32 arg1, struct modeltype *arg2, s32 animnum, u32 arg4, struct coord *arg5, struct coord *arg6, struct coord *arg7); u32 func0002485c(void); -f32 func00024b64(u32 arg0, u32 arg1, struct stagethinglist *arg2, s32 animnum, u32 arg4, struct coord *coord, u32 arg6); +f32 func00024b64(u32 arg0, u32 arg1, struct modeltype *arg2, s32 animnum, u32 arg4, struct coord *coord, u32 arg6); u32 func00024c14(void); u32 func00024e40(void); void func00024e4c(struct coord *arg0, struct coord *arg1, u32 line, char *file); diff --git a/src/include/types.h b/src/include/types.h index b3ff86142..96a5899f2 100644 --- a/src/include/types.h +++ b/src/include/types.h @@ -174,7 +174,7 @@ struct anim { /*0x88*/ f32 animscale; }; -struct stagethinglist { +struct modeltype { u16 stage; u16 numthings; u16 *things; @@ -292,7 +292,7 @@ struct modelnode { struct modelfiledata { struct modelnode *rootnode; - struct stagethinglist *unk04; + struct modeltype *type; // 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.