diff --git a/src/game/bondgun.c b/src/game/bondgun.c index 926adba53..883ab860b 100644 --- a/src/game/bondgun.c +++ b/src/game/bondgun.c @@ -518,7 +518,7 @@ void bgunSetPartVisible(s16 partnum, bool visible, struct hand *hand, struct mod { struct modelnode *node; - if (partnum == MODELPART_0035 || partnum == MODELPART_0036) { + if (partnum == MODELPART_HAND_LEFT || partnum == MODELPART_HAND_RIGHT) { if (g_Vars.currentplayer->gunctrl.handmodeldef) { node = modelGetPart(g_Vars.currentplayer->gunctrl.handmodeldef, partnum); @@ -6779,7 +6779,7 @@ void bgunUpdateLasersight(struct hand *hand, struct modeldef *modeldef, s32 hand struct coord sp30; bool busy; - node = modelGetPart(modeldef, MODELPART_FALCON2_0034); + node = modelGetPart(modeldef, MODELPART_GUN_LASERSIGHT); if (node) { mtxindex = modelFindNodeMtxIndex(node, 0); @@ -6973,10 +6973,10 @@ void bgunUpdateSniperRifle(struct modeldef *modeldef, u8 *allocation) f26 = 1.0f - (currentPlayerGetGunZoomFov() - 2.0f) / 58.0f; - nodes[0] = modelGetPart(modeldef, MODELPART_SNIPERRIFLE_002A); - nodes[1] = modelGetPart(modeldef, MODELPART_SNIPERRIFLE_002B); - nodes[2] = modelGetPart(modeldef, MODELPART_SNIPERRIFLE_002C); - nodes[3] = modelGetPart(modeldef, MODELPART_SNIPERRIFLE_002D); + nodes[0] = modelGetPart(modeldef, MODELPART_SNIPERRIFLE_SCOPE1); + nodes[1] = modelGetPart(modeldef, MODELPART_SNIPERRIFLE_SCOPE2); + nodes[2] = modelGetPart(modeldef, MODELPART_SNIPERRIFLE_SCOPE3); + nodes[3] = modelGetPart(modeldef, MODELPART_SNIPERRIFLE_SCOPE4); for (i = 0; i < 4; i++) { if (nodes[i]) { @@ -7371,11 +7371,11 @@ void bgunCreateFx(struct hand *hand, s32 handnum, struct weaponfunc *funcdef, s3 ground = g_Vars.currentplayer->vv_ground; if (modeldef && weaponnum != WEAPON_DY357MAGNUM && weaponnum != WEAPON_DY357LX) { - s32 partnum = MODELPART_PISTOL_003C; + s32 partnum = MODELPART_GUN_CARTEJECTPOS; struct modelnode *node; if (weaponnum == WEAPON_REAPER) { - partnum = (hand->burstbullets & 1) == 1 ? MODELPART_REAPER_0030 : MODELPART_REAPER_0031; + partnum = (hand->burstbullets & 1) == 1 ? MODELPART_REAPER_CARTEJECTPOS1 : MODELPART_REAPER_CARTEJECTPOS2; } node = modelGetPart(modeldef, partnum); @@ -7395,8 +7395,8 @@ void bgunCreateFx(struct hand *hand, s32 handnum, struct weaponfunc *funcdef, s3 casingCreateForHand(handnum, ground, &hand->posmtx); } - bgunSetPartVisible(MODELPART_CMP150_0046, false, hand, modeldef); - bgunSetPartVisible(MODELPART_CMP150_0047, true, hand, modeldef); + bgunSetPartVisible(MODELPART_GUN_CARTFLAPCLOSED, false, hand, modeldef); + bgunSetPartVisible(MODELPART_GUN_CARTFLAPOPEN, true, hand, modeldef); } if (funcdef->type == INVENTORYFUNCTYPE_SHOOT_PROJECTILE) { @@ -7864,7 +7864,7 @@ void bgun0f0a5550(s32 handnum) g_ModelJointPositionedFunc = 0; - node = modelGetPart(modeldef, MODELPART_PISTOL_0033); + node = modelGetPart(modeldef, MODELPART_GUN_SLIDE); if (node) { sp80 = modelFindNodeMtxIndex(node, 0); @@ -7909,13 +7909,13 @@ void bgun0f0a5550(s32 handnum) break; } - node = modelGetPart(modeldef, 0x32); + node = modelGetPart(modeldef, MODELPART_GUN_MUZZLEPOS); if (weaponnum == WEAPON_REAPER) { if (hand->flashon || hand->firing) { - node = modelGetPart(modeldef, 0x1e + (hand->burstbullets % 3)); + node = modelGetPart(modeldef, MODELPART_REAPER_001E + (hand->burstbullets % 3)); } else { - node = modelGetPart(modeldef, 0x1e + (g_Vars.lvframenum % 3)); + node = modelGetPart(modeldef, MODELPART_REAPER_001E + (g_Vars.lvframenum % 3)); } } @@ -7942,7 +7942,7 @@ void bgun0f0a5550(s32 handnum) || weaponnum == WEAPON_REMOTEMINE || weaponnum == WEAPON_PROXIMITYMINE || weaponnum == WEAPON_NBOMB) { - sp6c = modelFindNodeMtxIndex(modelGetPart(modeldef, 0x37), 0); + sp6c = modelFindNodeMtxIndex(modelGetPart(modeldef, MODELPART_GUN_HOLDPOS), 0); mtx = (Mtxf *)mtxallocation; mtx += sp6c; @@ -11029,7 +11029,7 @@ void bgunRender(Gfx **gdlptr) // Slide the laser's liquid texture if (PLAYERCOUNT() == 1) { - node = modelGetPart(hand->gunmodel.definition, MODELPART_LASER_0041); + node = modelGetPart(hand->gunmodel.definition, MODELPART_GUN_LASERLIQUID); // a5c if (node) { diff --git a/src/game/invitems.c b/src/game/invitems.c index bcc906f40..e7ccc6e43 100644 --- a/src/game/invitems.c +++ b/src/game/invitems.c @@ -336,79 +336,79 @@ struct weapon invitem_unarmed = { }; struct modelpartvisibility invpartvisibility_falcon2[] = { - { MODELPART_FALCON2_005A, false }, - { MODELPART_FALCON2_002A, false }, - { MODELPART_FALCON2_002B, false }, - { MODELPART_FALCON2_SCOPE, false }, - { MODELPART_FALCON2_SILENCER, false }, - { MODELPART_FALCON2_002E, false }, - { MODELPART_FALCON2_002F, false }, + { MODELPART_GUN_MUZZLEFLASH1, false }, + { MODELPART_FALCON2_MAGAZINE1, false }, + { MODELPART_FALCON2_MAGAZINE2, false }, + { MODELPART_FALCON2_SCOPE, false }, + { MODELPART_FALCON2_SILENCER, false }, + { MODELPART_FALCON2_002E, false }, + { MODELPART_FALCON2_002F, false }, { 255 }, }; struct modelpartvisibility invpartvisibility_falcon2scope[] = { - { MODELPART_FALCON2_005A, false }, - { MODELPART_FALCON2_002A, false }, - { MODELPART_FALCON2_002B, false }, - { MODELPART_FALCON2_SILENCER, false }, - { MODELPART_FALCON2_002F, false }, + { MODELPART_GUN_MUZZLEFLASH1, false }, + { MODELPART_FALCON2_MAGAZINE1, false }, + { MODELPART_FALCON2_MAGAZINE2, false }, + { MODELPART_FALCON2_SILENCER, false }, + { MODELPART_FALCON2_002F, false }, { 255 }, }; struct modelpartvisibility invpartvisibility_falcon2silencer[] = { - { MODELPART_FALCON2_005A, false }, - { MODELPART_FALCON2_002A, false }, - { MODELPART_FALCON2_002B, false }, - { MODELPART_FALCON2_SCOPE, false }, - { MODELPART_FALCON2_002E, false }, + { MODELPART_GUN_MUZZLEFLASH1, false }, + { MODELPART_FALCON2_MAGAZINE1, false }, + { MODELPART_FALCON2_MAGAZINE2, false }, + { MODELPART_FALCON2_SCOPE, false }, + { MODELPART_FALCON2_002E, false }, { 255 }, }; struct gunviscmd gunviscmds_falcon2[] = { - gunviscmd_sethidden(MODELPART_FALCON2_002A) - gunviscmd_sethidden(MODELPART_FALCON2_002B) + gunviscmd_sethidden(MODELPART_FALCON2_MAGAZINE1) + gunviscmd_sethidden(MODELPART_FALCON2_MAGAZINE2) gunviscmd_sethidden(MODELPART_FALCON2_SCOPE) gunviscmd_sethidden(MODELPART_FALCON2_SILENCER) gunviscmd_sethidden(MODELPART_FALCON2_002E) gunviscmd_sethidden(MODELPART_FALCON2_002F) - gunviscmd_sethidden(MODELPART_0035) + gunviscmd_sethidden(MODELPART_HAND_LEFT) gunviscmd_end }; struct gunviscmd gunviscmds_falcon2scope[] = { - gunviscmd_sethidden(MODELPART_FALCON2_002A) - gunviscmd_sethidden(MODELPART_FALCON2_002B) + gunviscmd_sethidden(MODELPART_FALCON2_MAGAZINE1) + gunviscmd_sethidden(MODELPART_FALCON2_MAGAZINE2) gunviscmd_sethidden(MODELPART_FALCON2_SILENCER) gunviscmd_sethidden(MODELPART_FALCON2_002E) gunviscmd_sethidden(MODELPART_FALCON2_002F) - gunviscmd_sethidden(MODELPART_0035) + gunviscmd_sethidden(MODELPART_HAND_LEFT) gunviscmd_end }; struct gunviscmd gunviscmds_falcon2silencer[] = { - gunviscmd_sethidden(MODELPART_FALCON2_002A) - gunviscmd_sethidden(MODELPART_FALCON2_002B) + gunviscmd_sethidden(MODELPART_FALCON2_MAGAZINE1) + gunviscmd_sethidden(MODELPART_FALCON2_MAGAZINE2) gunviscmd_sethidden(MODELPART_FALCON2_SCOPE) gunviscmd_sethidden(MODELPART_FALCON2_002E) gunviscmd_sethidden(MODELPART_FALCON2_002F) - gunviscmd_sethidden(MODELPART_0035) + gunviscmd_sethidden(MODELPART_HAND_LEFT) gunviscmd_end }; struct guncmd invanim_falcon2_reload_singlewield[] = { gunscript_playanimation(ANIM_GUN_FALCON2_RELOAD, 0, 10000) - gunscript_showpart(1, 53) - gunscript_showpart(1, 43) - gunscript_showpart(1, 42) + gunscript_showpart(1, MODELPART_HAND_LEFT) + gunscript_showpart(1, MODELPART_FALCON2_MAGAZINE2) + gunscript_showpart(1, MODELPART_FALCON2_MAGAZINE1) gunscript_playsound(10, SFX_01D8) - gunscript_hidepart(19, 42) + gunscript_hidepart(19, MODELPART_FALCON2_MAGAZINE1) gunscript_waittime(24, 1) #if VERSION >= VERSION_NTSC_1_0 gunscript_playsound(24, SFX_80F6) #else gunscript_playsound(24, SFX_01D9) #endif - gunscript_hidepart(24, 43) + gunscript_hidepart(24, MODELPART_FALCON2_MAGAZINE2) gunscript_playsound(53, SFX_01DB) gunscript_waittime(53, 3) gunscript_end @@ -416,18 +416,18 @@ struct guncmd invanim_falcon2_reload_singlewield[] = { struct guncmd invanim_falcon2scope_reload_singlewield[] = { gunscript_playanimation(ANIM_GUN_FALCON2_RELOAD_SCOPE, 0, 10000) - gunscript_showpart(1, 53) - gunscript_showpart(1, 43) - gunscript_showpart(1, 42) + gunscript_showpart(1, MODELPART_HAND_LEFT) + gunscript_showpart(1, MODELPART_FALCON2_MAGAZINE2) + gunscript_showpart(1, MODELPART_FALCON2_MAGAZINE1) gunscript_playsound(10, SFX_01D8) - gunscript_hidepart(19, 42) + gunscript_hidepart(19, MODELPART_FALCON2_MAGAZINE1) gunscript_waittime(24, 1) #if VERSION >= VERSION_NTSC_1_0 gunscript_playsound(24, SFX_80F6) #else gunscript_playsound(24, SFX_01D9) #endif - gunscript_hidepart(24, 43) + gunscript_hidepart(24, MODELPART_FALCON2_MAGAZINE2) gunscript_playsound(53, SFX_01DB) gunscript_waittime(53, 3) gunscript_end @@ -435,8 +435,8 @@ struct guncmd invanim_falcon2scope_reload_singlewield[] = { struct guncmd invanim_falcon2_reload_dualwield[] = { gunscript_playanimation(ANIM_GUN_FALCON2_RELOAD_DUALWIELD, 0, 10000) - gunscript_hidepart(1, 43) - gunscript_showpart(1, 42) + gunscript_hidepart(1, MODELPART_FALCON2_MAGAZINE2) + gunscript_showpart(1, MODELPART_FALCON2_MAGAZINE1) gunscript_playsound(6, SFX_01D8) gunscript_waittime(50, 1) #if VERSION >= VERSION_NTSC_1_0 @@ -646,29 +646,29 @@ struct weapon invitem_falcon2silencer = { }; struct modelpartvisibility invpartvisibility_magsec[] = { - { MODELPART_PISTOL_005A, false }, - { MODELPART_PISTOL_0029, false }, - { MODELPART_PISTOL_002A, false }, + { MODELPART_GUN_MUZZLEFLASH1, false }, + { MODELPART_PISTOL_MAGAZINE1, false }, + { MODELPART_PISTOL_MAGAZINE2, false }, { 255 }, }; struct gunviscmd gunviscmds_magsec[] = { - gunviscmd_sethidden(MODELPART_0035) - gunviscmd_sethidden(MODELPART_PISTOL_002A) - gunviscmd_sethidden(MODELPART_PISTOL_0029) + gunviscmd_sethidden(MODELPART_HAND_LEFT) + gunviscmd_sethidden(MODELPART_PISTOL_MAGAZINE2) + gunviscmd_sethidden(MODELPART_PISTOL_MAGAZINE1) gunviscmd_end }; struct guncmd invanim_magsec_reload_singlewield[] = { gunscript_playanimation(ANIM_GUN_MAGSEC4_RELOAD, 0, 10000) - gunscript_showpart(1, 53) - gunscript_showpart(1, 41) + gunscript_showpart(1, MODELPART_HAND_LEFT) + gunscript_showpart(1, MODELPART_PISTOL_MAGAZINE1) gunscript_setsoundspeed(3, 1300) gunscript_playsound(3, SFX_01D8) - gunscript_showpart(10, 42) - gunscript_hidepart(14, 41) - gunscript_hidepart(22, 42) - gunscript_showpart(22, 41) + gunscript_showpart(10, MODELPART_PISTOL_MAGAZINE2) + gunscript_hidepart(14, MODELPART_PISTOL_MAGAZINE1) + gunscript_hidepart(22, MODELPART_PISTOL_MAGAZINE2) + gunscript_showpart(22, MODELPART_PISTOL_MAGAZINE1) gunscript_setsoundspeed(27, 1300) #if VERSION >= VERSION_NTSC_1_0 gunscript_playsound(27, SFX_80F6) @@ -684,10 +684,10 @@ struct guncmd invanim_magsec_reload_singlewield[] = { struct guncmd invanim_magsec_reload_dualwield[] = { gunscript_playanimation(ANIM_GUN_MAGSEC4_RELOAD_DUALWIELD, 0, 10000) - gunscript_showpart(1, 41) + gunscript_showpart(1, MODELPART_PISTOL_MAGAZINE1) gunscript_setsoundspeed(5, 1300) gunscript_playsound(5, SFX_01D8) - gunscript_hidepart(25, 41) + gunscript_hidepart(25, MODELPART_PISTOL_MAGAZINE1) gunscript_setsoundspeed(47, 1300) #if VERSION >= VERSION_NTSC_1_0 gunscript_playsound(47, SFX_80F6) @@ -802,24 +802,24 @@ struct weapon invitem_magsec = { }; struct modelpartvisibility invpartvisibility_dy357[] = { - { MODELPART_MAGNUM_005A, false }, - { MODELPART_MAGNUM_0028, false }, - { MODELPART_MAGNUM_0029, false }, - { MODELPART_MAGNUM_002A, false }, - { MODELPART_MAGNUM_002B, false }, - { MODELPART_MAGNUM_002C, false }, - { MODELPART_MAGNUM_002D, false }, + { MODELPART_GUN_MUZZLEFLASH1, false }, + { MODELPART_MAGNUM_CART1, false }, + { MODELPART_MAGNUM_CART2, false }, + { MODELPART_MAGNUM_CART3, false }, + { MODELPART_MAGNUM_CART4, false }, + { MODELPART_MAGNUM_CART5, false }, + { MODELPART_MAGNUM_CART6, false }, { 255 }, }; struct gunviscmd gunviscmds_magnum[] = { - gunviscmd_sethidden(MODELPART_MAGNUM_0028) - gunviscmd_sethidden(MODELPART_MAGNUM_0029) - gunviscmd_sethidden(MODELPART_MAGNUM_002A) - gunviscmd_sethidden(MODELPART_MAGNUM_002B) - gunviscmd_sethidden(MODELPART_MAGNUM_002C) - gunviscmd_sethidden(MODELPART_MAGNUM_002D) - gunviscmd_sethidden(MODELPART_0035) + gunviscmd_sethidden(MODELPART_MAGNUM_CART1) + gunviscmd_sethidden(MODELPART_MAGNUM_CART2) + gunviscmd_sethidden(MODELPART_MAGNUM_CART3) + gunviscmd_sethidden(MODELPART_MAGNUM_CART4) + gunviscmd_sethidden(MODELPART_MAGNUM_CART5) + gunviscmd_sethidden(MODELPART_MAGNUM_CART6) + gunviscmd_sethidden(MODELPART_HAND_LEFT) gunviscmd_end }; @@ -835,27 +835,27 @@ struct guncmd invanim_dy357_reload_singlewield[] = { gunscript_playsound(50, SFX_05CF) gunscript_setsoundspeed(80, 1830) gunscript_playsound(80, SFX_01D8) - gunscript_popoutsackofpills(0x0050) - gunscript_popoutsackofpills(0x0051) - gunscript_popoutsackofpills(0x0052) - gunscript_popoutsackofpills(0x0053) - gunscript_popoutsackofpills(0x0054) - gunscript_popoutsackofpills(0x0055) - gunscript_showpart(92, 53) - gunscript_showpart(92, 40) - gunscript_showpart(92, 41) - gunscript_showpart(92, 42) - gunscript_showpart(92, 43) - gunscript_showpart(92, 44) - gunscript_showpart(92, 45) + gunscript_popoutsackofpills(80) + gunscript_popoutsackofpills(81) + gunscript_popoutsackofpills(82) + gunscript_popoutsackofpills(83) + gunscript_popoutsackofpills(84) + gunscript_popoutsackofpills(85) + gunscript_showpart(92, MODELPART_HAND_LEFT) + gunscript_showpart(92, MODELPART_MAGNUM_CART1) + gunscript_showpart(92, MODELPART_MAGNUM_CART2) + gunscript_showpart(92, MODELPART_MAGNUM_CART3) + gunscript_showpart(92, MODELPART_MAGNUM_CART4) + gunscript_showpart(92, MODELPART_MAGNUM_CART5) + gunscript_showpart(92, MODELPART_MAGNUM_CART6) gunscript_setsoundspeed(114, 1210) gunscript_playsound(114, SFX_01D8) - gunscript_hidepart(121, 40) - gunscript_hidepart(121, 41) - gunscript_hidepart(121, 42) - gunscript_hidepart(121, 43) - gunscript_hidepart(121, 44) - gunscript_hidepart(121, 45) + gunscript_hidepart(121, MODELPART_MAGNUM_CART1) + gunscript_hidepart(121, MODELPART_MAGNUM_CART2) + gunscript_hidepart(121, MODELPART_MAGNUM_CART3) + gunscript_hidepart(121, MODELPART_MAGNUM_CART4) + gunscript_hidepart(121, MODELPART_MAGNUM_CART5) + gunscript_hidepart(121, MODELPART_MAGNUM_CART6) gunscript_waittime(123, 1) gunscript_playsound(147, SFX_05CD) gunscript_end @@ -866,12 +866,12 @@ struct guncmd invanim_dy357_reload_dualwield[] = { gunscript_playsound(50, SFX_05CF) gunscript_setsoundspeed(80, 1830) gunscript_playsound(80, SFX_01D8) - gunscript_popoutsackofpills(0x0050) - gunscript_popoutsackofpills(0x0051) - gunscript_popoutsackofpills(0x0052) - gunscript_popoutsackofpills(0x0053) - gunscript_popoutsackofpills(0x0054) - gunscript_popoutsackofpills(0x0055) + gunscript_popoutsackofpills(80) + gunscript_popoutsackofpills(81) + gunscript_popoutsackofpills(82) + gunscript_popoutsackofpills(83) + gunscript_popoutsackofpills(84) + gunscript_popoutsackofpills(85) gunscript_setsoundspeed(114, 1210) gunscript_playsound(114, SFX_01D8) gunscript_waittime(123, 1) @@ -1018,33 +1018,33 @@ struct weapon invitem_dy357lx = { }; struct modelpartvisibility invpartvisibility_phoenix[] = { - { MODELPART_PHOENIX_0028, false }, + { MODELPART_PHOENIX_ORB, false }, { 255 }, }; struct gunviscmd gunviscmds_phoenix[] = { - gunviscmd_sethidden(MODELPART_PHOENIX_0028) - gunviscmd_sethidden(MODELPART_0035) + gunviscmd_sethidden(MODELPART_PHOENIX_ORB) + gunviscmd_sethidden(MODELPART_HAND_LEFT) gunviscmd_end }; struct guncmd invanim_phoenix_reload_singlewield[] = { gunscript_playanimation(ANIM_GUN_PHOENIX_RELOAD, 0, 10000) - gunscript_showpart(1, 53) - gunscript_showpart(1, 40) + gunscript_showpart(1, MODELPART_HAND_LEFT) + gunscript_showpart(1, MODELPART_PHOENIX_ORB) gunscript_setsoundspeed(44, 1510) gunscript_playsound(44, SFX_RELOAD_FARSIGHT) - gunscript_hidepart(50, 40) + gunscript_hidepart(50, MODELPART_PHOENIX_ORB) gunscript_end }; struct guncmd invanim_phoenix_reload_dualwield[] = { gunscript_playanimation(ANIM_GUN_PHOENIX_RELOAD_DUALWIELD, 0, 10000) - gunscript_showpart(1, 53) - gunscript_showpart(1, 40) + gunscript_showpart(1, MODELPART_HAND_LEFT) + gunscript_showpart(1, MODELPART_PHOENIX_ORB) gunscript_setsoundspeed(44, 1510) gunscript_playsound(44, SFX_RELOAD_FARSIGHT) - gunscript_hidepart(50, 40) + gunscript_hidepart(50, MODELPART_PHOENIX_ORB) gunscript_end }; @@ -1138,14 +1138,14 @@ struct weapon invitem_phoenix = { }; struct modelpartvisibility invpartvisibility_mauler[] = { - { MODELPART_MAULER_002B, false }, - { MODELPART_MAULER_005A, false }, + { MODELPART_MAULER_MAGAZINE2, false }, + { MODELPART_GUN_MUZZLEFLASH1, false }, { 255 }, }; struct gunviscmd gunviscmds_mauler[] = { - gunviscmd_sethidden(MODELPART_0035) - gunviscmd_sethidden(MODELPART_MAULER_002B) + gunviscmd_sethidden(MODELPART_HAND_LEFT) + gunviscmd_sethidden(MODELPART_MAULER_MAGAZINE2) gunviscmd_end }; @@ -1157,16 +1157,16 @@ struct guncmd invanim_mauler_shoot[] = { struct guncmd invanim_mauler_reload_singlewield[] = { gunscript_playanimation(ANIM_GUN_MAULER_RELOAD, 0, 10000) - gunscript_showpart(0, 53) + gunscript_showpart(0, MODELPART_HAND_LEFT) gunscript_setsoundspeed(4, 1200) gunscript_playsound(4, SFX_0053) - gunscript_showpart(4, 43) - gunscript_hidepart(18, 42) + gunscript_showpart(4, MODELPART_MAULER_MAGAZINE2) + gunscript_hidepart(18, MODELPART_MAULER_MAGAZINE1) gunscript_setsoundspeed(20, 2500) gunscript_playsound(20, SFX_DOOR_8012) gunscript_waittime(25, 1) - gunscript_showpart(25, 42) - gunscript_hidepart(25, 43) + gunscript_showpart(25, MODELPART_MAULER_MAGAZINE1) + gunscript_hidepart(25, MODELPART_MAULER_MAGAZINE2) gunscript_setsoundspeed(27, 2000) gunscript_playsound(27, SFX_05C5) gunscript_setsoundspeed(61, 1000) @@ -1278,23 +1278,23 @@ struct weapon invitem_mauler = { }; struct modelpartvisibility invpartvisibility_cmp150[] = { - { MODELPART_CMP150_005A, false }, - { MODELPART_CMP150_002B, false }, + { MODELPART_GUN_MUZZLEFLASH1, false }, + { MODELPART_CMP150_MAGAZINE2, false }, { 255 }, }; struct gunviscmd gunviscmds_cmp150[] = { - gunviscmd_sethidden(MODELPART_0035) - gunviscmd_sethidden(MODELPART_CMP150_002B) - gunviscmd_sethidden(MODELPART_CMP150_0047) + gunviscmd_sethidden(MODELPART_HAND_LEFT) + gunviscmd_sethidden(MODELPART_CMP150_MAGAZINE2) + gunviscmd_sethidden(MODELPART_GUN_CARTFLAPOPEN) gunviscmd_end }; struct guncmd invanim_cmp150_reload_singlewield[] = { gunscript_playanimation(ANIM_GUN_CMP150_RELOAD, 0, 10000) - gunscript_hidepart(23, 42) - gunscript_showpart(33, 53) - gunscript_showpart(33, 43) + gunscript_hidepart(23, MODELPART_CMP150_MAGAZINE1) + gunscript_showpart(33, MODELPART_HAND_LEFT) + gunscript_showpart(33, MODELPART_CMP150_MAGAZINE2) gunscript_setsoundspeed(9, 950) gunscript_playsound(9, SFX_01D8) gunscript_setsoundspeed(44, 950) @@ -1303,8 +1303,8 @@ struct guncmd invanim_cmp150_reload_singlewield[] = { #else gunscript_playsound(44, SFX_01D9) #endif - gunscript_hidepart(45, 43) - gunscript_showpart(45, 42) + gunscript_hidepart(45, MODELPART_CMP150_MAGAZINE2) + gunscript_showpart(45, MODELPART_CMP150_MAGAZINE1) gunscript_waittime(45, 1) gunscript_playsound(86, SFX_0431) gunscript_end @@ -1312,9 +1312,9 @@ struct guncmd invanim_cmp150_reload_singlewield[] = { struct guncmd invanim_cmp150_reload_dualwield[] = { gunscript_playanimation(ANIM_GUN_CMP150_RELOAD_DUALWIELD, 0, 10000) - gunscript_hidepart(23, 42) - gunscript_showpart(33, 53) - gunscript_showpart(33, 43) + gunscript_hidepart(23, MODELPART_CMP150_MAGAZINE1) + gunscript_showpart(33, MODELPART_HAND_LEFT) + gunscript_showpart(33, MODELPART_CMP150_MAGAZINE2) gunscript_setsoundspeed(20, 950) gunscript_playsound(20, SFX_01D8) gunscript_setsoundspeed(61, 950) @@ -1323,8 +1323,8 @@ struct guncmd invanim_cmp150_reload_dualwield[] = { #else gunscript_playsound(61, SFX_01D9) #endif - gunscript_hidepart(61, 43) - gunscript_showpart(61, 42) + gunscript_hidepart(61, MODELPART_CMP150_MAGAZINE2) + gunscript_showpart(61, MODELPART_CMP150_MAGAZINE1) gunscript_waittime(61, 1) gunscript_playsound(76, SFX_0431) gunscript_end @@ -1445,21 +1445,21 @@ struct weapon invitem_cmp150 = { }; struct modelpartvisibility invpartvisibility_cyclone[] = { - { MODELPART_CYCLONE_005A, false }, - { MODELPART_CYCLONE_0028, false }, + { MODELPART_GUN_MUZZLEFLASH1, false }, + { MODELPART_CYCLONE_MAGAZINE, false }, { 255 }, }; struct gunviscmd gunviscmds_cyclone[] = { - gunviscmd_sethidden(MODELPART_0035) - gunviscmd_sethidden(MODELPART_CYCLONE_0028) + gunviscmd_sethidden(MODELPART_HAND_LEFT) + gunviscmd_sethidden(MODELPART_CYCLONE_MAGAZINE) gunviscmd_end }; struct guncmd invanim_cyclone_reload_singlewield[] = { gunscript_playanimation(ANIM_GUN_CYCLONE_RELOAD, 0, 10000) - gunscript_showpart(1, 53) - gunscript_showpart(1, 40) + gunscript_showpart(1, MODELPART_HAND_LEFT) + gunscript_showpart(1, MODELPART_CYCLONE_MAGAZINE) gunscript_playsound(60, SFX_05D3) gunscript_end }; @@ -1576,11 +1576,11 @@ struct guncmd invanim_rcp120_reload[] = { gunscript_playanimation(ANIM_GUN_RCP120_RELOAD, 0, 10000) gunscript_setsoundspeed(18, 1100) gunscript_playsound(18, SFX_0053) - gunscript_showpart(25, 40) - gunscript_showpart(50, 41) + gunscript_showpart(25, MODELPART_RCP120_MAGAZINE1) + gunscript_showpart(50, MODELPART_RCP120_MAGAZINE2) gunscript_playsound(74, SFX_05C5) - gunscript_hidepart(75, 41) - gunscript_showpart(75, 40) + gunscript_hidepart(75, MODELPART_RCP120_MAGAZINE2) + gunscript_showpart(75, MODELPART_RCP120_MAGAZINE1) gunscript_playsound(112, SFX_0431) gunscript_end }; @@ -1593,13 +1593,13 @@ struct guncmd invanim_rcp120_shoot[] = { }; struct modelpartvisibility invpartvisibility_rcp120[] = { - { MODELPART_RCP120_005A, false }, - { MODELPART_RCP120_0029, false }, + { MODELPART_GUN_MUZZLEFLASH1, false }, + { MODELPART_RCP120_MAGAZINE2, false }, { 255 }, }; struct gunviscmd gunviscmds_rcp120[] = { - gunviscmd_sethidden(MODELPART_RCP120_0029) + gunviscmd_sethidden(MODELPART_RCP120_MAGAZINE2) gunviscmd_end }; @@ -1679,10 +1679,10 @@ struct weapon invitem_rcp120 = { struct guncmd invanim_callisto_reload[] = { gunscript_playanimation(ANIM_GUN_CALLISTO_RELOAD, 0, 10000) - gunscript_showpart(30, 40) + gunscript_showpart(30, MODELPART_CALLISTO_ORB) gunscript_setsoundspeed(58, 933) gunscript_playsound(58, SFX_RELOAD_FARSIGHT) - gunscript_hidepart(79, 40) + gunscript_hidepart(79, MODELPART_CALLISTO_ORB) gunscript_end }; @@ -1694,12 +1694,12 @@ struct guncmd invanim_callisto_shoot[] = { }; struct modelpartvisibility invpartvisibility_callisto[] = { - { MODELPART_CALLISTO_0028, false }, + { MODELPART_CALLISTO_ORB, false }, { 255 }, }; struct gunviscmd gunviscmds_callisto[] = { - gunviscmd_sethidden(MODELPART_CALLISTO_0028) + gunviscmd_sethidden(MODELPART_CALLISTO_ORB) gunviscmd_end }; @@ -1793,13 +1793,13 @@ struct weapon invitem_callisto = { }; struct gunviscmd gunviscmds_dragon[] = { - gunviscmd_sethidden(MODELPART_DRAGON_0028) + gunviscmd_sethidden(MODELPART_DRAGON_MAGAZINE1) gunviscmd_end }; struct modelpartvisibility invpartvisibility_dragon[] = { - { MODELPART_DRAGON_0028, false }, - { MODELPART_DRAGON_005A, false }, + { MODELPART_DRAGON_MAGAZINE1, false }, + { MODELPART_GUN_MUZZLEFLASH1, false }, { 255 }, }; @@ -1811,12 +1811,12 @@ struct guncmd invanim_dragon_shoot[] = { struct guncmd invanim_dragon_reload[] = { gunscript_playanimation(ANIM_GUN_DRAGON_RELOAD, 0, 10000) gunscript_playsound(8, SFX_0053) - gunscript_hidepart(17, 42) - gunscript_showpart(17, 40) + gunscript_hidepart(17, MODELPART_DRAGON_MAGAZINE2) + gunscript_showpart(17, MODELPART_DRAGON_MAGAZINE1) gunscript_waittime(41, 1) gunscript_playsound(41, SFX_05C5) - gunscript_showpart(41, 42) - gunscript_hidepart(41, 40) + gunscript_showpart(41, MODELPART_DRAGON_MAGAZINE2) + gunscript_hidepart(41, MODELPART_DRAGON_MAGAZINE1) gunscript_end }; @@ -1896,27 +1896,27 @@ struct weapon invitem_dragon = { }; struct gunviscmd gunviscmds_superdragon[] = { - gunviscmd_sethidden(MODELPART_SUPERDRAGON_0028) - gunviscmd_sethidden(MODELPART_SUPERDRAGON_0029) + gunviscmd_sethidden(MODELPART_SUPERDRAGON_MAGAZINE1) + gunviscmd_sethidden(MODELPART_SUPERDRAGON_MAGAZINE2) gunviscmd_end }; struct modelpartvisibility invpartvisibility_superdragon[] = { - { MODELPART_SUPERDRAGON_0028, false }, - { MODELPART_SUPERDRAGON_0029, false }, - { MODELPART_SUPERDRAGON_005A, false }, + { MODELPART_SUPERDRAGON_MAGAZINE1, false }, + { MODELPART_SUPERDRAGON_MAGAZINE2, false }, + { MODELPART_GUN_MUZZLEFLASH1, false }, { 255 }, }; struct guncmd invanim_superdragon_reload[] = { gunscript_playanimation(ANIM_GUN_SUPERDRAGON_RELOAD_PRI, 0, 10000) gunscript_playsound(8, SFX_0053) - gunscript_hidepart(16, 42) - gunscript_showpart(16, 40) + gunscript_hidepart(16, MODELPART_SUPERDRAGON_MAGAZINE3) + gunscript_showpart(16, MODELPART_SUPERDRAGON_MAGAZINE1) gunscript_playsound(41, SFX_05C5) gunscript_waittime(43, 1) - gunscript_showpart(43, 42) - gunscript_hidepart(43, 40) + gunscript_showpart(43, MODELPART_SUPERDRAGON_MAGAZINE3) + gunscript_hidepart(43, MODELPART_SUPERDRAGON_MAGAZINE1) gunscript_end }; @@ -1924,10 +1924,10 @@ struct guncmd invanim_superdragon_grenadereload[] = { gunscript_playanimation(ANIM_GUN_SUPERDRAGON_RELOAD_SEC, 0, 10000) gunscript_setsoundspeed(6, 700) gunscript_playsound(6, SFX_0053) - gunscript_showpart(30, 41) - gunscript_hidepart(30, 43) - gunscript_hidepart(64, 41) - gunscript_showpart(64, 43) + gunscript_showpart(30, MODELPART_SUPERDRAGON_MAGAZINE2) + gunscript_hidepart(30, MODELPART_SUPERDRAGON_MAGAZINE4) + gunscript_hidepart(64, MODELPART_SUPERDRAGON_MAGAZINE2) + gunscript_showpart(64, MODELPART_SUPERDRAGON_MAGAZINE4) gunscript_waittime(64, 1) gunscript_setsoundspeed(66, 850) gunscript_playsound(66, SFX_05C5) @@ -2055,13 +2055,13 @@ struct weapon invitem_superdragon = { }; struct gunviscmd gunviscmds_ar34[] = { - gunviscmd_sethidden(MODELPART_AR34_002A) + gunviscmd_sethidden(MODELPART_AR34_MAGAZINE2) gunviscmd_end }; struct modelpartvisibility invpartvisibility_ar34[] = { - { MODELPART_AR34_002A, false }, - { MODELPART_AR34_005A, false }, + { MODELPART_AR34_MAGAZINE2, false }, + { MODELPART_GUN_MUZZLEFLASH1, false }, { 255 }, }; @@ -2069,12 +2069,12 @@ struct guncmd invanim_ar34_reload[] = { gunscript_playanimation(ANIM_GUN_AR34_RELOAD, 0, 10000) gunscript_setsoundspeed(16, 900) gunscript_playsound(16, SFX_0053) - gunscript_hidepart(21, 41) - gunscript_showpart(50, 42) + gunscript_hidepart(21, MODELPART_AR34_MAGAZINE1) + gunscript_showpart(50, MODELPART_AR34_MAGAZINE2) gunscript_setsoundspeed(67, 1400) gunscript_playsound(67, SFX_8025) - gunscript_hidepart(72, 42) - gunscript_showpart(72, 41) + gunscript_hidepart(72, MODELPART_AR34_MAGAZINE2) + gunscript_showpart(72, MODELPART_AR34_MAGAZINE1) gunscript_waittime(72, 1) gunscript_setsoundspeed(95, 900) gunscript_playsound(95, SFX_05C5) @@ -2183,13 +2183,13 @@ struct weapon invitem_ar34 = { }; struct gunviscmd gunviscmds_k7avenger[] = { - gunviscmd_sethidden(MODELPART_K7AVENGER_002A) + gunviscmd_sethidden(MODELPART_K7AVENGER_MAGAZINE2) gunviscmd_end }; struct modelpartvisibility invpartvisibility_k7avenger[] = { - { MODELPART_K7AVENGER_002A, false }, - { MODELPART_K7AVENGER_005A, false }, + { MODELPART_K7AVENGER_MAGAZINE2, false }, + { MODELPART_GUN_MUZZLEFLASH1, false }, { 255 }, }; @@ -2197,11 +2197,11 @@ struct guncmd invanim_k7avenger_reload[] = { gunscript_playanimation(ANIM_GUN_K7AVENGER_RELOAD, 0, 10000) gunscript_setsoundspeed(15, 1200) gunscript_playsound(15, SFX_0053) - gunscript_hidepart(22, 41) - gunscript_showpart(48, 42) + gunscript_hidepart(22, MODELPART_K7AVENGER_MAGAZINE1) + gunscript_showpart(48, MODELPART_K7AVENGER_MAGAZINE2) gunscript_waittime(68, 1) - gunscript_hidepart(69, 42) - gunscript_showpart(69, 41) + gunscript_hidepart(69, MODELPART_K7AVENGER_MAGAZINE2) + gunscript_showpart(69, MODELPART_K7AVENGER_MAGAZINE1) gunscript_setsoundspeed(69, 1400) gunscript_playsound(69, SFX_8025) gunscript_playsound(91, SFX_05C5) @@ -2330,15 +2330,15 @@ struct weapon invitem_k7avenger = { }; struct gunviscmd gunviscmds_laptopgun[] = { - gunviscmd_sethidden(MODELPART_LAPTOPGUN_002A) - gunviscmd_sethidden(MODELPART_LAPTOPGUN_0029) + gunviscmd_sethidden(MODELPART_LAPTOPGUN_MAGAZINE2) + gunviscmd_sethidden(MODELPART_LAPTOPGUN_MAGAZINE1) gunviscmd_end }; struct modelpartvisibility invpartvisibility_laptopgun[] = { - { MODELPART_LAPTOPGUN_005A, false }, - { MODELPART_LAPTOPGUN_0029, false }, - { MODELPART_LAPTOPGUN_002A, false }, + { MODELPART_GUN_MUZZLEFLASH1, false }, + { MODELPART_LAPTOPGUN_MAGAZINE1, false }, + { MODELPART_LAPTOPGUN_MAGAZINE2, false }, { 255 }, }; @@ -2349,14 +2349,14 @@ struct guncmd invanim_laptopgun_reload[] = { gunscript_setsoundspeed(15, 1436) gunscript_playsound(15, SFX_04FA) gunscript_playsound(25, SFX_04F7) - gunscript_showpart(40, 41) + gunscript_showpart(40, MODELPART_LAPTOPGUN_MAGAZINE1) gunscript_playsound(42, SFX_0053) - gunscript_showpart(48, 42) - gunscript_hidepart(55, 41) - gunscript_hidepart(63, 42) - gunscript_showpart(63, 41) + gunscript_showpart(48, MODELPART_LAPTOPGUN_MAGAZINE2) + gunscript_hidepart(55, MODELPART_LAPTOPGUN_MAGAZINE1) + gunscript_hidepart(63, MODELPART_LAPTOPGUN_MAGAZINE2) + gunscript_showpart(63, MODELPART_LAPTOPGUN_MAGAZINE1) gunscript_playsound(63, SFX_04F8) - gunscript_hidepart(85, 41) + gunscript_hidepart(85, MODELPART_LAPTOPGUN_MAGAZINE1) gunscript_waittime(85, 1) gunscript_playsound(85, SFX_05C5) gunscript_playsound(91, SFX_04F9) @@ -2468,22 +2468,22 @@ struct weapon invitem_laptopgun = { }; struct gunviscmd gunviscmds_shotgun[] = { - gunviscmd_sethidden(MODELPART_SHOTGUN_002B) + gunviscmd_sethidden(MODELPART_SHOTGUN_CART) gunviscmd_end }; struct modelpartvisibility invpartvisibility_shotgun[] = { - { MODELPART_SHOTGUN_002B, false }, - { MODELPART_SHOTGUN_005A, false }, + { MODELPART_SHOTGUN_CART, false }, + { MODELPART_GUN_MUZZLEFLASH1, false }, { 255 }, }; struct guncmd invanim_shotgun_reload[] = { gunscript_playanimation(ANIM_GUN_SHOTGUN_RELOAD, 0, 10000) - gunscript_showpart(1, 43) + gunscript_showpart(1, MODELPART_SHOTGUN_CART) gunscript_playsound(67, SFX_01D8) gunscript_waittime(74, 1) - gunscript_hidepart(75, 43) + gunscript_hidepart(75, MODELPART_SHOTGUN_CART) gunscript_repeatuntilfull(0x0054, 0x0000, 0x0032) gunscript_playsound(103, SFX_RELOAD_04FB) gunscript_end @@ -2588,15 +2588,15 @@ f32 vibrationstart_reaper[] = {0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0}; f32 vibrationmax_reaper[] = {1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0}; struct modelpartvisibility invpartvisibility_reaper[] = { - { MODELPART_REAPER_005A, false }, - { MODELPART_REAPER_005B, false }, - { MODELPART_REAPER_005C, false }, - { MODELPART_REAPER_002B, false }, + { MODELPART_GUN_MUZZLEFLASH1, false }, + { MODELPART_GUN_MUZZLEFLASH2, false }, + { MODELPART_GUN_MUZZLEFLASH3, false }, + { MODELPART_REAPER_MAGAZINE2, false }, { 255 }, }; struct gunviscmd gunviscmds_reaper[] = { - gunviscmd_sethidden(MODELPART_REAPER_002B) + gunviscmd_sethidden(MODELPART_REAPER_MAGAZINE2) gunviscmd_end }; @@ -2609,11 +2609,11 @@ struct guncmd invanim_reaper_shoot[] = { struct guncmd invanim_reaper_reload[] = { gunscript_playanimation(ANIM_GUN_REAPER_RELOAD, 0, 10000) gunscript_playsound(49, SFX_05C7) - gunscript_hidepart(70, 42) - gunscript_showpart(90, 43) + gunscript_hidepart(70, MODELPART_REAPER_MAGAZINE1) + gunscript_showpart(90, MODELPART_REAPER_MAGAZINE2) gunscript_playsound(124, SFX_05C6) - gunscript_showpart(134, 42) - gunscript_hidepart(134, 43) + gunscript_showpart(134, MODELPART_REAPER_MAGAZINE1) + gunscript_hidepart(134, MODELPART_REAPER_MAGAZINE2) gunscript_waittime(134, 1) gunscript_end }; @@ -2714,12 +2714,12 @@ struct weapon invitem_reaper = { }; struct modelpartvisibility invpartvisibility_rocketlauncher[] = { - { MODELPART_ROCKET_0028, false }, + { MODELPART_ROCKETLAUNCHER_ROCKET, false }, { 255 }, }; struct gunviscmd gunviscmds_rocketlauncher[] = { - gunviscmd_sethidden(MODELPART_ROCKET_0028) + gunviscmd_sethidden(MODELPART_ROCKETLAUNCHER_ROCKET) gunviscmd_end }; @@ -2728,9 +2728,9 @@ struct guncmd invanim_rocketlauncher_reload[] = { gunscript_setsoundspeed(16, 900) gunscript_playsound(16, SFX_04F9) gunscript_playsound(40, SFX_0053) - gunscript_showpart(24, 40) + gunscript_showpart(24, MODELPART_ROCKETLAUNCHER_ROCKET) gunscript_waittime(76, 1) - gunscript_hidepart(76, 40) + gunscript_hidepart(76, MODELPART_ROCKETLAUNCHER_ROCKET) gunscript_playsound(77, SFX_05D1) gunscript_setsoundspeed(106, 1000) gunscript_playsound(106, SFX_04F9) @@ -2961,8 +2961,8 @@ struct weapon invitem_slayer = { WEAPONFLAG_AICANUSE | WEAPONFLAG_DUALFLIP | WEAPONFLAG_00000040 | WEAPONFLAG_TRACKTIMEUSED | WEAPONFLAG_00002000 | WEAPONFLAG_00004000 | WEAPONFLAG_HASHANDS | WEAPONFLAG_02000000, }; -struct gunviscmd gunviscmds_unused_8006d890[] = { - gunviscmd_sethidden(MODELPART_0029) +struct gunviscmd gunviscmds_devastator[] = { + gunviscmd_sethidden(MODELPART_DEVASTATOR_MAGAZINE1) gunviscmd_end }; @@ -2975,12 +2975,12 @@ struct guncmd invanim_devastator_reload[] = { gunscript_playanimation(ANIM_GUN_DEVASTATOR_RELOAD, 0, 10000) gunscript_setsoundspeed(15, 600) gunscript_playsound(15, SFX_0053) - gunscript_hidepart(22, 42) - gunscript_showpart(36, 41) + gunscript_hidepart(22, MODELPART_DEVASTATOR_MAGAZINE2) + gunscript_showpart(36, MODELPART_DEVASTATOR_MAGAZINE1) gunscript_setsoundspeed(47, 700) gunscript_playsound(47, SFX_05C5) - gunscript_hidepart(47, 41) - gunscript_showpart(47, 42) + gunscript_hidepart(47, MODELPART_DEVASTATOR_MAGAZINE1) + gunscript_showpart(47, MODELPART_DEVASTATOR_MAGAZINE2) gunscript_waittime(47, 1) gunscript_playsound(66, SFX_05CC) gunscript_end @@ -3057,7 +3057,7 @@ struct inventory_ammo invammo_devastator = { }; struct modelpartvisibility invpartvisibility_devastator[] = { - { MODELPART_DEVASTATOR_0029, false }, + { MODELPART_DEVASTATOR_MAGAZINE1, false }, { 255 }, }; @@ -3165,10 +3165,10 @@ struct weapon invitem_timedmine = { }; struct gunviscmd gunviscmds_remotemine[] = { - gunviscmd_checkinlefthand(GUNVISOP_SETVISIBILITY, MODELPART_0035) - gunviscmd_checkinlefthand(GUNVISOP_SETVISIBILITY, MODELPART_REMOTEMINE_0029) - gunviscmd_checkinrighthand(GUNVISOP_SETVISIBILITY, MODELPART_0036) - gunviscmd_checkinrighthand(GUNVISOP_SETVISIBILITY, MODELPART_REMOTEMINE_0028) + gunviscmd_checkinlefthand(GUNVISOP_SETVISIBILITY, MODELPART_HAND_LEFT) + gunviscmd_checkinlefthand(GUNVISOP_SETVISIBILITY, MODELPART_REMOTEMINE_DETONATOR) + gunviscmd_checkinrighthand(GUNVISOP_SETVISIBILITY, MODELPART_HAND_RIGHT) + gunviscmd_checkinrighthand(GUNVISOP_SETVISIBILITY, MODELPART_REMOTEMINE_MINE) gunviscmd_end }; @@ -3225,7 +3225,7 @@ struct inventory_ammo invammo_remotemine = { }; struct modelpartvisibility invpartvisibility_remotemine[] = { - { MODELPART_REMOTEMINE_0029, false }, + { MODELPART_REMOTEMINE_DETONATOR, false }, { 255 }, }; @@ -3400,13 +3400,13 @@ struct weapon invitem_unused_8007dd88 = { }; struct gunviscmd gunviscmds_grenade[] = { - gunviscmd_sethidden(MODELPART_0035) + gunviscmd_sethidden(MODELPART_HAND_LEFT) gunviscmd_end }; struct guncmd invanim_grenade_throw[] = { gunscript_playanimation(ANIM_GUN_GRENADE_THROW, 0, 10000) - gunscript_popoutsackofpills(0x0006) + gunscript_popoutsackofpills(6) gunscript_playsound(6, SFX_05C1) gunscript_waitforzreleased(43) gunscript_waittime(49, 2) @@ -3547,10 +3547,10 @@ struct gunviscmd gunviscmds_farsight[] = { struct guncmd invanim_farsight_reload[] = { gunscript_playanimation(ANIM_GUN_FARSIGHT_RELOAD, 0, 10000) - gunscript_showpart(1, 40) + gunscript_showpart(1, MODELPART_FARSIGHT_ORB) gunscript_playsound(72, SFX_RELOAD_FARSIGHT) gunscript_waittime(76, 1) - gunscript_hidepart(82, 40) + gunscript_hidepart(82, MODELPART_FARSIGHT_ORB) gunscript_end }; @@ -3624,7 +3624,7 @@ struct inventory_ammo invammo_farsight = { }; struct modelpartvisibility invpartvisibility_farsight[] = { - { MODELPART_FARSIGHT_0028, false }, + { MODELPART_FARSIGHT_ORB, false }, { 255 }, }; @@ -3654,36 +3654,36 @@ struct weapon invitem_farsight = { }; struct gunviscmd gunviscmds_crossbow[] = { - gunviscmd_sethidden(MODELPART_0035) + gunviscmd_sethidden(MODELPART_HAND_LEFT) gunviscmd_sethidden(0x0029) gunviscmd_end }; struct guncmd invanim_crossbow_reload[] = { gunscript_playanimation(ANIM_GUN_CROSSBOW_RELOAD, 0, 10000) - gunscript_hidepart(1, 40) - gunscript_showpart(1, 41) - gunscript_showpart(1, 53) - gunscript_hidepart(19, 40) - gunscript_showpart(19, 41) + gunscript_hidepart(1, MODELPART_CROSSBOW_0028) + gunscript_showpart(1, MODELPART_CROSSBOW_BOLT) + gunscript_showpart(1, MODELPART_HAND_LEFT) + gunscript_hidepart(19, MODELPART_CROSSBOW_0028) + gunscript_showpart(19, MODELPART_CROSSBOW_BOLT) gunscript_playsound(45, SFX_04FC) gunscript_waittime(50, 1) - gunscript_hidepart(50, 41) - gunscript_showpart(50, 40) + gunscript_hidepart(50, MODELPART_CROSSBOW_BOLT) + gunscript_showpart(50, MODELPART_CROSSBOW_0028) gunscript_repeatuntilfull(0x0044, 0x0000, 0x0013) gunscript_end }; struct guncmd invanim_crossbow_shoot[] = { gunscript_playanimation(ANIM_GUN_CROSSBOW_SHOOT, 0, 10000) - gunscript_hidepart(20, 40) + gunscript_hidepart(20, MODELPART_CROSSBOW_0028) gunscript_playsound(37, SFX_04F8) gunscript_end }; struct guncmd invanim_crossbow_unequip[] = { gunscript_playanimation(ANIM_GUN_CROSSBOW_UNEQUIP, 0, 10000) - gunscript_hidepart(1, 40) + gunscript_hidepart(1, MODELPART_CROSSBOW_0028) gunscript_playsound(37, SFX_04F8) gunscript_end }; @@ -3766,9 +3766,9 @@ struct inventory_ammo invammo_crossbow = { }; struct modelpartvisibility invpartvisibility_crossbow[] = { - { MODELPART_CROSSBOW_0028, false }, - { MODELPART_CROSSBOW_0029, false }, - { MODELPART_CROSSBOW_002A, false }, + { MODELPART_CROSSBOW_0028, false }, + { MODELPART_CROSSBOW_BOLT, false }, + { MODELPART_CROSSBOW_HANDLE, false }, { 255 }, }; @@ -3799,7 +3799,7 @@ struct weapon invitem_crossbow = { struct gunviscmd gunviscmds_tranquilizer[] = { gunviscmd_sethidden(0x0028) - gunviscmd_sethidden(MODELPART_0035) + gunviscmd_sethidden(MODELPART_HAND_LEFT) gunviscmd_end }; @@ -3817,16 +3817,16 @@ struct guncmd invanim_tranquilizer_shoot[] = { struct guncmd invanim_tranquilizer_reload[] = { gunscript_playanimation(ANIM_GUN_TRANQUILIZER_RELOAD, 0, 10000) - gunscript_showpart(1, 53) - gunscript_showpart(1, 40) - gunscript_showpart(1, 42) - gunscript_hidepart(1, 41) - gunscript_popoutsackofpills(0x0001) + gunscript_showpart(1, MODELPART_HAND_LEFT) + gunscript_showpart(1, MODELPART_TRANQUILIZER_MAGAZINE1) + gunscript_showpart(1, MODELPART_TRANQUILIZER_MAGAZINE3) + gunscript_hidepart(1, MODELPART_TRANQUILIZER_MAGAZINE2) + gunscript_popoutsackofpills(1) gunscript_setsoundspeed(3, 3500) gunscript_playsound(3, SFX_DOOR_8016) gunscript_waittime(39, 1) - gunscript_hidepart(39, 42) - gunscript_showpart(39, 41) + gunscript_hidepart(39, MODELPART_TRANQUILIZER_MAGAZINE3) + gunscript_showpart(39, MODELPART_TRANQUILIZER_MAGAZINE2) gunscript_setsoundspeed(39, 3500) gunscript_playsound(39, SFX_HIT_MUD_8083) gunscript_setsoundspeed(63, 2070) @@ -3891,9 +3891,9 @@ struct inventory_ammo invammo_tranquilizer = { }; struct modelpartvisibility invpartvisibility_tranquilizer[] = { - { MODELPART_TRANQUILIZER_0028, false }, - { MODELPART_TRANQUILIZER_0029, false }, - { MODELPART_TRANQUILIZER_002A, false }, + { MODELPART_TRANQUILIZER_MAGAZINE1, false }, + { MODELPART_TRANQUILIZER_MAGAZINE2, false }, + { MODELPART_TRANQUILIZER_MAGAZINE3, false }, { 255 }, }; @@ -3995,16 +3995,16 @@ struct guncmd invanim_sniperrifle_reload[] = { gunscript_playanimation(ANIM_GUN_SNIPER_RELOAD, 0, 10000) gunscript_setsoundspeed(22, 850) gunscript_playsound(22, SFX_01D8) - gunscript_showpart(42, 41) - gunscript_hidepart(42, 40) + gunscript_showpart(42, MODELPART_SNIPERRIFLE_MAGAZINE2) + gunscript_hidepart(42, MODELPART_SNIPERRIFLE_MAGAZINE1) gunscript_setsoundspeed(72, 850) #if VERSION >= VERSION_NTSC_1_0 gunscript_playsound(72, SFX_80F6) #else gunscript_playsound(72, SFX_01D9) #endif - gunscript_hidepart(72, 41) - gunscript_showpart(72, 40) + gunscript_hidepart(72, MODELPART_SNIPERRIFLE_MAGAZINE2) + gunscript_showpart(72, MODELPART_SNIPERRIFLE_MAGAZINE1) gunscript_waittime(72, 1) gunscript_end }; @@ -4065,7 +4065,7 @@ struct inventory_ammo invammo_sniperrifle = { }; struct modelpartvisibility invpartvisibility_sniperrifle[] = { - { MODELPART_SNIPERRIFLE_0029, false }, + { MODELPART_SNIPERRIFLE_MAGAZINE2, false }, { 255 }, }; @@ -4184,12 +4184,12 @@ struct weapon invitem_laser = { }; struct modelpartvisibility invpartvisibility_classic[] = { - { MODELPART_CLASSICGUN_005A, false }, + { MODELPART_GUN_MUZZLEFLASH1, false }, { 255 }, }; struct gunviscmd gunviscmds_classicpistol[] = { - gunviscmd_sethidden(MODELPART_0035) + gunviscmd_sethidden(MODELPART_HAND_LEFT) gunviscmd_end }; @@ -4844,7 +4844,7 @@ struct weapon invitem_watchlaser = { }; struct gunviscmd gunviscmds_knife[] = { - gunviscmd_sethidden(MODELPART_0035) + gunviscmd_sethidden(MODELPART_HAND_LEFT) gunviscmd_end }; diff --git a/src/game/propobj.c b/src/game/propobj.c index d43f2c8a3..4906a22e2 100644 --- a/src/game/propobj.c +++ b/src/game/propobj.c @@ -7752,12 +7752,12 @@ void doorInitMatrices(struct prop *prop) union modelrodata *rodata; f32 xrot = M_BADTAU - door->frac * 0.017450513318181f; - rodata = modelGetPartRodata(model->definition, 1); + rodata = modelGetPartRodata(model->definition, MODELPART_0001); mtx4LoadXRotation(xrot, MTX(1)); mtx4SetTranslation(&rodata->position.pos, MTX(1)); mtx4MultMtx4InPlace(MTX(0), MTX(1)); - rodata = modelGetPartRodata(model->definition, 2); + rodata = modelGetPartRodata(model->definition, MODELPART_0002); mtx4LoadXRotation(M_BADTAU - xrot, MTX(2)); mtx4SetTranslation(&rodata->position.pos, MTX(2)); mtx4MultMtx4InPlace(MTX(0), MTX(2)); @@ -15129,7 +15129,7 @@ void doorDestroyGlass(struct doorobj *door) union modelrwdata *rwdata; Mtxf matrix; - rodata = modelGetPartRodata(model->definition, 2); + rodata = modelGetPartRodata(model->definition, MODELPART_WINDOWEDDOOR_0002); if (door->portalnum >= 0) { // @bug: Firing three shots at door glass is supposed to destroy it, @@ -15154,7 +15154,7 @@ void doorDestroyGlass(struct doorobj *door) SHARDTYPE_GLASS, prop); wallhitsFreeByProp(prop, 1); - node = modelGetPart(model->definition, 1); + node = modelGetPart(model->definition, MODELPART_WINDOWEDDOOR_0001); rwdata = modelGetNodeRwData(model, node); rwdata->toggle.visible = false; } diff --git a/src/game/setup.c b/src/game/setup.c index e99c43d31..b442129be 100644 --- a/src/game/setup.c +++ b/src/game/setup.c @@ -1654,19 +1654,19 @@ void setupCreateProps(s32 stagenum) modelstate = &g_ModelStates[modelnum]; if (modelstate->modeldef) { - if (modelGetPartRodata(modelstate->modeldef, 1)) { + if (modelGetPartRodata(modelstate->modeldef, MODELPART_LIFT_WALL1)) { obj->geocount++; } - if (modelGetPartRodata(modelstate->modeldef, 2)) { + if (modelGetPartRodata(modelstate->modeldef, MODELPART_LIFT_WALL2)) { obj->geocount++; } - if (modelGetPartRodata(modelstate->modeldef, 3)) { + if (modelGetPartRodata(modelstate->modeldef, MODELPART_LIFT_WALL3)) { obj->geocount++; } - if (modelGetPartRodata(modelstate->modeldef, 4)) { + if (modelGetPartRodata(modelstate->modeldef, MODELPART_LIFT_DOORBLOCK)) { obj->geocount++; } - if (modelGetPartRodata(modelstate->modeldef, 6)) { + if (modelGetPartRodata(modelstate->modeldef, MODELPART_LIFT_FLOORNONRECT2)) { obj->geocount++; } } @@ -1827,11 +1827,12 @@ void setupCreateProps(s32 stagenum) setupCreateObject(obj, index); if (obj->model) { - struct modelnode *node = modelGetPart(obj->model->definition, 5); + struct modelnode *node = modelGetPart(obj->model->definition, MODELPART_TRUCK_0005); if (node) { + // The truck model doesn't exist in PD, so I'm assuming this is a toggle node union modelrwdata *rwdata = modelGetNodeRwData(obj->model, node); - rwdata->type05.unk00 = ((obj->flags & OBJFLAG_DEACTIVATED) == 0); + rwdata->toggle.visible = ((obj->flags & OBJFLAG_DEACTIVATED) == 0); } } diff --git a/src/include/constants.h b/src/include/constants.h index 9138b610a..4f0b094a7 100644 --- a/src/include/constants.h +++ b/src/include/constants.h @@ -2200,9 +2200,11 @@ * model's header. It allows the game to quickly find a certain node in the * model if it's registered in the parts list. * - * Parts are identified by a part number, and the mapping is unique to each - * model type. For example, for "chrgun" model types, part number 0 is the - * gunfire starburst. + * Parts are identified by a part number, and the mapping is usually unique to + * each model type. For example, for "chrgun" model types, part number 0 is the + * gunfire starburst. An exception to this rule is first-person gun models, + * where some part numbers are consistent between all guns while other part + * numbers differ between different guns. * * The game assumes that the part numbers refer to particular node types. * For example, it assumes that chrgun part 02 is a toggle node. @@ -2210,361 +2212,283 @@ * The names below are in the format MODELPART_{modeltype}_{part}. * The comment is the node type. */ -#define MODELPART_AR34_0029 0x0029 // toggle -#define MODELPART_AR34_002A 0x002a // toggle -#define MODELPART_AR34_0032 0x0032 // position -#define MODELPART_AR34_0037 0x0037 // position -#define MODELPART_AR34_003C 0x003c // position -#define MODELPART_AR34_0042 0x0042 // toggle -#define MODELPART_AR34_0050 0x0050 // position -#define MODELPART_AR34_0051 0x0051 // position -#define MODELPART_AR34_005A 0x005a // toggle -#define MODELPART_AUTOGUN_0000 0x0000 // position -#define MODELPART_AUTOGUN_0001 0x0001 // position -#define MODELPART_AUTOGUN_0002 0x0002 // position -#define MODELPART_AUTOGUN_0003 0x0003 // position -#define MODELPART_AUTOGUN_0004 0x0004 // position -#define MODELPART_AUTOGUN_FLASHLEFT 0x0005 // gunfire -#define MODELPART_AUTOGUN_0006 0x0006 // position -#define MODELPART_AUTOGUN_FLASHRIGHT 0x0007 // gunfire -#define MODELPART_BASIC_0064 0x0064 // type19 -#define MODELPART_BASIC_0065 0x0065 // type19 -#define MODELPART_BASIC_0066 0x0066 // type19 -#define MODELPART_BASIC_0067 0x0067 // bbox -#define MODELPART_BASIC_00C8 0x00c8 // toggle -#define MODELPART_BASIC_00C9 0x00c9 // toggle -#define MODELPART_BASIC_00CA 0x00ca // toggle -#define MODELPART_BASIC_00CB 0x00cb // toggle -#define MODELPART_BASIC_00CC 0x00cc // toggle -#define MODELPART_BASIC_00CD 0x00cd // toggle -#define MODELPART_BASIC_00CE 0x00ce // toggle -#define MODELPART_BASIC_00CF 0x00cf // toggle -#define MODELPART_BASIC_00D0 0x00d0 // toggle -#define MODELPART_BASIC_00D1 0x00d1 // toggle -#define MODELPART_BASIC_00D2 0x00d2 // toggle -#define MODELPART_BASIC_00D3 0x00d3 // toggle -#define MODELPART_CALLISTO_0028 0x0028 // toggle -#define MODELPART_CALLISTO_0032 0x0032 // position -#define MODELPART_CALLISTO_0037 0x0037 // position -#define MODELPART_CCTV_CASING 0x0000 // position -#define MODELPART_CCTV_LENS 0x0001 // dl -#define MODELPART_CCTV_0002 0x0002 // bbox -#define MODELPART_CCTV_0003 0x0003 // toggle -#define MODELPART_CHOPPER_0000 0x0000 // position -#define MODELPART_CHOPPER_0001 0x0001 // position -#define MODELPART_CHOPPER_0002 0x0002 // position -#define MODELPART_CHOPPER_GUNFLASH 0x0003 // gunfire -#define MODELPART_CHOPPER_0005 0x0005 // toggle -#define MODELPART_CHRGUN_GUNFIRE 0x0000 // gunfire -#define MODELPART_CHRGUN_0001 0x0001 // positionheld -#define MODELPART_CHRGUN_0002 0x0002 // toggle -#define MODELPART_CHR_0000 0x0000 // position -#define MODELPART_CHR_0001 0x0001 // position -#define MODELPART_CHR_0002 0x0002 // position -#define MODELPART_CHR_RIGHTHAND 0x0003 // position -#define MODELPART_CHR_HEADSPOT 0x0004 // headspot -#define MODELPART_CHR_LEFTHAND 0x0005 // position -#define MODELPART_CHR_0006 0x0006 // position -#define MODELPART_CHR_NECKLACE 0x0007 // toggle -#define MODELPART_CIHUB_0000 0x0000 // dl -#define MODELPART_CIHUB_0001 0x0001 // dl -#define MODELPART_CIHUB_0002 0x0002 // dl -#define MODELPART_CIHUB_0003 0x0003 // dl -#define MODELPART_CLASSICGUN_0032 0x0032 // position -#define MODELPART_CLASSICGUN_003C 0x003c // positionheld -#define MODELPART_CLASSICGUN_0050 0x0050 // position -#define MODELPART_CLASSICGUN_005A 0x005a // toggle -#define MODELPART_CMP150_002A 0x002a // toggle -#define MODELPART_CMP150_002B 0x002b // toggle -#define MODELPART_CMP150_0032 0x0032 // position -#define MODELPART_CMP150_0037 0x0037 // position -#define MODELPART_CMP150_003C 0x003c // position -#define MODELPART_CMP150_0042 0x0042 // toggle -#define MODELPART_CMP150_0046 0x0046 // toggle -#define MODELPART_CMP150_0047 0x0047 // toggle -#define MODELPART_CMP150_0050 0x0050 // position -#define MODELPART_CMP150_0051 0x0051 // position -#define MODELPART_CMP150_005A 0x005a // toggle -#define MODELPART_CROSSBOW_0028 0x0028 // toggle -#define MODELPART_CROSSBOW_0029 0x0029 // toggle -#define MODELPART_CROSSBOW_002A 0x002a // toggle -#define MODELPART_CROSSBOW_0037 0x0037 // position -#define MODELPART_CROSSBOW_0042 0x0042 // toggle -#define MODELPART_CYCLONE_0028 0x0028 // toggle -#define MODELPART_CYCLONE_0032 0x0032 // position -#define MODELPART_CYCLONE_0037 0x0037 // position -#define MODELPART_CYCLONE_0050 0x0050 // position -#define MODELPART_CYCLONE_0051 0x0051 // position -#define MODELPART_CYCLONE_005A 0x005a // toggle -#define MODELPART_DEVASTATOR_0028 0x0028 // position -#define MODELPART_DEVASTATOR_0029 0x0029 // toggle -#define MODELPART_DEVASTATOR_002A 0x002a // toggle -#define MODELPART_DEVASTATOR_0037 0x0037 // position -#define MODELPART_DEVASTATOR_0064 0x0064 // toggle -#define MODELPART_DEVASTATOR_0065 0x0065 // toggle -#define MODELPART_DEVASTATOR_0066 0x0066 // toggle -#define MODELPART_DEVASTATOR_0067 0x0067 // toggle -#define MODELPART_DEVASTATOR_0068 0x0068 // toggle -#define MODELPART_DEVASTATOR_0069 0x0069 // toggle -#define MODELPART_DEVASTATOR_006A 0x006a // toggle -#define MODELPART_DEVASTATOR_006B 0x006b // toggle -#define MODELPART_DRAGON_0028 0x0028 // toggle -#define MODELPART_DRAGON_002A 0x002a // toggle -#define MODELPART_DRAGON_0032 0x0032 // position -#define MODELPART_DRAGON_0037 0x0037 // position -#define MODELPART_DRAGON_003C 0x003c // position -#define MODELPART_DRAGON_0042 0x0042 // toggle -#define MODELPART_DRAGON_0050 0x0050 // position -#define MODELPART_DRAGON_0051 0x0051 // position -#define MODELPART_DRAGON_0052 0x0052 // position -#define MODELPART_DRAGON_005A 0x005a // toggle -#define MODELPART_DRCAROLL_0000 0x0000 // toggle -#define MODELPART_DRCAROLL_0001 0x0001 // toggle -#define MODELPART_DRCAROLL_0002 0x0002 // toggle -#define MODELPART_DRCAROLL_0003 0x0003 // toggle -#define MODELPART_DRCAROLL_0004 0x0004 // toggle -#define MODELPART_DRCAROLL_0005 0x0005 // toggle -#define MODELPART_DRCAROLL_0006 0x0006 // toggle -#define MODELPART_DRCAROLL_0007 0x0007 // toggle -#define MODELPART_DRCAROLL_0008 0x0008 // toggle -#define MODELPART_DRCAROLL_0009 0x0009 // toggle -#define MODELPART_DRCAROLL_000A 0x000a // toggle -#define MODELPART_DRCAROLL_000B 0x000b // toggle -#define MODELPART_DROPSHIP_0064 0x0064 // type19 -#define MODELPART_DROPSHIP_INTERIOR 0x006e // toggle -#define MODELPART_ECMMINE_0037 0x0037 // position -#define MODELPART_FALCON2_002A 0x002a // toggle -#define MODELPART_FALCON2_002B 0x002b // toggle -#define MODELPART_FALCON2_SCOPE 0x002c // toggle -#define MODELPART_FALCON2_SILENCER 0x002d // toggle -#define MODELPART_FALCON2_002E 0x002e // toggle -#define MODELPART_FALCON2_002F 0x002f // toggle -#define MODELPART_FALCON2_0032 0x0032 // position -#define MODELPART_FALCON2_0033 0x0033 // position -#define MODELPART_FALCON2_0034 0x0034 // position -#define MODELPART_FALCON2_0037 0x0037 // position -#define MODELPART_FALCON2_003C 0x003c // position -#define MODELPART_FALCON2_0042 0x0042 // toggle -#define MODELPART_FALCON2_0050 0x0050 // position -#define MODELPART_FALCON2_0051 0x0051 // position -#define MODELPART_FALCON2_005A 0x005a // toggle -#define MODELPART_FARSIGHT_0028 0x0028 // toggle -#define MODELPART_FARSIGHT_0032 0x0032 // position -#define MODELPART_FARSIGHT_0037 0x0037 // position -#define MODELPART_GRENADE_002B 0x002b // position -#define MODELPART_GRENADE_0037 0x0037 // position -#define MODELPART_GRENADE_0064 0x0064 // toggle -#define MODELPART_HAND_0035 0x0035 // toggle -#define MODELPART_HAND_0036 0x0036 // toggle -#define MODELPART_HEAD_SUNGLASSES 0x0000 // toggle -#define MODELPART_HEAD_HAT 0x0001 // toggle -#define MODELPART_HEAD_EYESOPEN 0x0002 // toggle -#define MODELPART_HEAD_EYESCLOSED 0x0003 // toggle -#define MODELPART_HEAD_HUDPIECE 0x0004 // toggle -#define MODELPART_HEAD_0190 0x0190 // dl -#define MODELPART_HEAD_0191 0x0191 // dl -#define MODELPART_HEAD_0192 0x0192 // dl -#define MODELPART_HOVERBIKE_0064 0x0064 // type19 -#define MODELPART_HUDPIECE_0000 0x0000 // gundl -#define MODELPART_HUDPIECE_0001 0x0001 // position -#define MODELPART_HUDPIECE_0002 0x0002 // position -#define MODELPART_JOYPAD_0000 0x0000 // position -#define MODELPART_JOYPAD_0001 0x0001 // position -#define MODELPART_JOYPAD_0002 0x0002 // position -#define MODELPART_JOYPAD_0003 0x0003 // position -#define MODELPART_JOYPAD_0004 0x0004 // position -#define MODELPART_JOYPAD_0005 0x0005 // position -#define MODELPART_JOYPAD_0006 0x0006 // position -#define MODELPART_JOYPAD_0007 0x0007 // position -#define MODELPART_JOYPAD_0008 0x0008 // position -#define MODELPART_JOYPAD_0009 0x0009 // position -#define MODELPART_JOYPAD_000A 0x000a // position -#define MODELPART_JOYPAD_000B 0x000b // position -#define MODELPART_JOYPAD_000C 0x000c // position -#define MODELPART_JOYPAD_000D 0x000d // toggle -#define MODELPART_K7AVENGER_0029 0x0029 // toggle -#define MODELPART_K7AVENGER_002A 0x002a // toggle -#define MODELPART_K7AVENGER_0032 0x0032 // position -#define MODELPART_K7AVENGER_0037 0x0037 // position -#define MODELPART_K7AVENGER_003C 0x003c // position -#define MODELPART_K7AVENGER_0042 0x0042 // toggle -#define MODELPART_K7AVENGER_0050 0x0050 // position -#define MODELPART_K7AVENGER_0051 0x0051 // position -#define MODELPART_K7AVENGER_005A 0x005a // toggle -#define MODELPART_KNIFE_0037 0x0037 // position -#define MODELPART_KNIFE_0064 0x0064 // toggle -#define MODELPART_LAPTOPGUN_0029 0x0029 // toggle -#define MODELPART_LAPTOPGUN_002A 0x002a // toggle -#define MODELPART_LAPTOPGUN_0032 0x0032 // position -#define MODELPART_LAPTOPGUN_0037 0x0037 // position -#define MODELPART_LAPTOPGUN_0050 0x0050 // position -#define MODELPART_LAPTOPGUN_0051 0x0051 // position -#define MODELPART_LAPTOPGUN_005A 0x005a // toggle -#define MODELPART_LASER_0032 0x0032 // position -#define MODELPART_LASER_0037 0x0037 // position -#define MODELPART_LASER_0041 0x0041 // gundl -#define MODELPART_LASER_0042 0x0042 // toggle -#define MODELPART_LIFT_FLOORRECT 0x0000 // bbox -#define MODELPART_LIFT_WALL1 0x0001 // type19 -#define MODELPART_LIFT_WALL2 0x0002 // type19 -#define MODELPART_LIFT_WALL3 0x0003 // type19 -#define MODELPART_LIFT_DOORBLOCK 0x0004 // type19 -#define MODELPART_LIFT_FLOORNONRECT1 0x0005 // type19 -#define MODELPART_LIFT_FLOORNONRECT2 0x0006 // type19 -#define MODELPART_LOGO_0000 0x0000 // toggle -#define MODELPART_LOGO_0001 0x0001 // toggle -#define MODELPART_LOGO_0002 0x0002 // dl -#define MODELPART_LOGO_0003 0x0003 // dl -#define MODELPART_LOGO_0004 0x0004 // dl -#define MODELPART_LOGO_0005 0x0005 // dl -#define MODELPART_LOGO_0006 0x0006 // dl -#define MODELPART_LOGO_0007 0x0007 // dl -#define MODELPART_LOGO_0008 0x0008 // dl -#define MODELPART_LOGO_0009 0x0009 // dl -#define MODELPART_LOGO_0110 0x0110 // toggle -#define MODELPART_LOGO_0500 0x0500 // toggle -#define MODELPART_LOGO_4040 0x4040 // dl -#define MODELPART_MAGNUM_000A 0x000a // position -#define MODELPART_MAGNUM_000B 0x000b // position -#define MODELPART_MAGNUM_000C 0x000c // position -#define MODELPART_MAGNUM_000D 0x000d // position -#define MODELPART_MAGNUM_000E 0x000e // position -#define MODELPART_MAGNUM_000F 0x000f // position -#define MODELPART_MAGNUM_0028 0x0028 // toggle -#define MODELPART_MAGNUM_0029 0x0029 // toggle -#define MODELPART_MAGNUM_002A 0x002a // toggle -#define MODELPART_MAGNUM_002B 0x002b // toggle -#define MODELPART_MAGNUM_002C 0x002c // toggle -#define MODELPART_MAGNUM_002D 0x002d // toggle -#define MODELPART_MAGNUM_0032 0x0032 // position -#define MODELPART_MAGNUM_0037 0x0037 // position -#define MODELPART_MAGNUM_0042 0x0042 // toggle -#define MODELPART_MAGNUM_0050 0x0050 // position -#define MODELPART_MAGNUM_0051 0x0051 // position -#define MODELPART_MAGNUM_005A 0x005a // toggle -#define MODELPART_MAIANUFO_0064 0x0064 // type19 -#define MODELPART_MAULER_002A 0x002a // toggle -#define MODELPART_MAULER_002B 0x002b // toggle -#define MODELPART_MAULER_0032 0x0032 // position -#define MODELPART_MAULER_0033 0x0033 // position -#define MODELPART_MAULER_0037 0x0037 // position -#define MODELPART_MAULER_0050 0x0050 // position -#define MODELPART_MAULER_005A 0x005a // toggle -#define MODELPART_PHOENIX_0028 0x0028 // toggle -#define MODELPART_PHOENIX_0032 0x0032 // position -#define MODELPART_PHOENIX_0037 0x0037 // position -#define MODELPART_PHOENIX_0042 0x0042 // toggle -#define MODELPART_PISTOL_0029 0x0029 // toggle -#define MODELPART_PISTOL_002A 0x002a // toggle -#define MODELPART_PISTOL_0032 0x0032 // position -#define MODELPART_PISTOL_0033 0x0033 // position -#define MODELPART_PISTOL_0037 0x0037 // position -#define MODELPART_PISTOL_003C 0x003c // position -#define MODELPART_PISTOL_0042 0x0042 // toggle -#define MODELPART_PISTOL_0050 0x0050 // position -#define MODELPART_PISTOL_005A 0x005a // toggle -#define MODELPART_RARELOGO_000B 0x000b // toggle -#define MODELPART_RARELOGO_000C 0x000c // toggle -#define MODELPART_RARELOGO_000D 0x000d // toggle -#define MODELPART_RCP120_0028 0x0028 // toggle -#define MODELPART_RCP120_0029 0x0029 // toggle -#define MODELPART_RCP120_0032 0x0032 // position -#define MODELPART_RCP120_0037 0x0037 // position -#define MODELPART_RCP120_003C 0x003c // position -#define MODELPART_RCP120_0042 0x0042 // toggle -#define MODELPART_RCP120_0050 0x0050 // position -#define MODELPART_RCP120_0051 0x0051 // position -#define MODELPART_RCP120_005A 0x005a // toggle -#define MODELPART_REAPER_001E 0x001e // position -#define MODELPART_REAPER_001F 0x001f // position -#define MODELPART_REAPER_0020 0x0020 // position -#define MODELPART_REAPER_002A 0x002a // toggle -#define MODELPART_REAPER_002B 0x002b // toggle -#define MODELPART_REAPER_002C 0x002c // position -#define MODELPART_REAPER_002D 0x002d // position -#define MODELPART_REAPER_002E 0x002e // position -#define MODELPART_REAPER_002F 0x002f // position -#define MODELPART_REAPER_0030 0x0030 // position -#define MODELPART_REAPER_0031 0x0031 // position -#define MODELPART_REAPER_0037 0x0037 // position -#define MODELPART_REAPER_0042 0x0042 // toggle -#define MODELPART_REAPER_0050 0x0050 // position -#define MODELPART_REAPER_0051 0x0051 // position -#define MODELPART_REAPER_0052 0x0052 // position -#define MODELPART_REAPER_005A 0x005a // toggle -#define MODELPART_REAPER_005B 0x005b // toggle -#define MODELPART_REAPER_005C 0x005c // toggle -#define MODELPART_REMOTEMINE_0028 0x0028 // toggle -#define MODELPART_REMOTEMINE_0029 0x0029 // toggle -#define MODELPART_REMOTEMINE_002A 0x002a // position -#define MODELPART_REMOTEMINE_0037 0x0037 // position -#define MODELPART_ROBOT_0000 0x0000 // position -#define MODELPART_ROBOT_0001 0x0001 // position -#define MODELPART_ROBOT_RGUNFIRE 0x0002 // gunfire -#define MODELPART_ROBOT_LGUNFIRE 0x0003 // gunfire -#define MODELPART_ROBOT_0004 0x0004 // toggle -#define MODELPART_ROCKET_0028 0x0028 // toggle -#define MODELPART_ROCKET_0032 0x0032 // position -#define MODELPART_ROCKET_0037 0x0037 // position -#define MODELPART_ROCKET_0042 0x0042 // toggle -#define MODELPART_SHOTGUN_002B 0x002b // toggle -#define MODELPART_SHOTGUN_0032 0x0032 // position -#define MODELPART_SHOTGUN_0037 0x0037 // position -#define MODELPART_SHOTGUN_003C 0x003c // position -#define MODELPART_SHOTGUN_0042 0x0042 // toggle -#define MODELPART_SHOTGUN_0050 0x0050 // position -#define MODELPART_SHOTGUN_005A 0x005a // toggle -#define MODELPART_SKSHUTTLE_GANGWAY 0x00b7 // toggle -#define MODELPART_SKEDAR_0000 0x0000 // position -#define MODELPART_SKEDAR_0001 0x0001 // position -#define MODELPART_SKEDAR_RIGHTHAND 0x0002 // position -#define MODELPART_SKEDAR_LEFTHAND 0x0003 // position -#define MODELPART_SKEDAR_EYESOPEN 0x0004 // toggle -#define MODELPART_SKEDAR_EYESCLOSED 0x0005 // toggle -#define MODELPART_SLAYERROCKET_0032 0x0032 // position -#define MODELPART_SLAYERROCKET_0037 0x0037 // position -#define MODELPART_SLAYERROCKET_0042 0x0042 // toggle -#define MODELPART_SNIPERRIFLE_0028 0x0028 // toggle -#define MODELPART_SNIPERRIFLE_0029 0x0029 // toggle -#define MODELPART_SNIPERRIFLE_002A 0x002a // position -#define MODELPART_SNIPERRIFLE_002B 0x002b // position -#define MODELPART_SNIPERRIFLE_002C 0x002c // position -#define MODELPART_SNIPERRIFLE_002D 0x002d // position -#define MODELPART_SNIPERRIFLE_0032 0x0032 // position -#define MODELPART_SNIPERRIFLE_0037 0x0037 // position -#define MODELPART_SNIPERRIFLE_003C 0x003c // position -#define MODELPART_SNIPERRIFLE_0042 0x0042 // toggle -#define MODELPART_SUPERDRAGON_0028 0x0028 // toggle -#define MODELPART_SUPERDRAGON_0029 0x0029 // toggle -#define MODELPART_SUPERDRAGON_002A 0x002a // toggle -#define MODELPART_SUPERDRAGON_002B 0x002b // toggle -#define MODELPART_SUPERDRAGON_0032 0x0032 // position -#define MODELPART_SUPERDRAGON_0037 0x0037 // position -#define MODELPART_SUPERDRAGON_003C 0x003c // position -#define MODELPART_SUPERDRAGON_0042 0x0042 // toggle -#define MODELPART_SUPERDRAGON_0050 0x0050 // position -#define MODELPART_SUPERDRAGON_0051 0x0051 // position -#define MODELPART_SUPERDRAGON_0052 0x0052 // position -#define MODELPART_SUPERDRAGON_005A 0x005a // toggle -#define MODELPART_TERMINAL_0000 0x0000 // dl -#define MODELPART_TIMEDPROXYMINE_0037 0x0037 // position -#define MODELPART_TRANQUILIZER_0028 0x0028 // toggle -#define MODELPART_TRANQUILIZER_0029 0x0029 // toggle -#define MODELPART_TRANQUILIZER_002A 0x002a // toggle -#define MODELPART_TRANQUILIZER_002B 0x002b // position -#define MODELPART_TRANQUILIZER_0032 0x0032 // position -#define MODELPART_TRANQUILIZER_0037 0x0037 // position -#define MODELPART_TRANQUILIZER_0042 0x0042 // toggle -#define MODELPART_UPLINK_0037 0x0037 // position -#define MODELPART_UZI_0032 0x0032 // position -#define MODELPART_UZI_003C 0x003c // positionheld -#define MODELPART_UZI_0050 0x0050 // position -#define MODELPART_UZI_0051 0x0051 // position -#define MODELPART_UZI_005A 0x005a // toggle -#define MODELPART_WINDOWEDDOOR_0000 0x0000 // bbox -#define MODELPART_WINDOWEDDOOR_0001 0x0001 // toggle -#define MODELPART_WINDOWEDDOOR_0002 0x0002 // bbox -#define MODELPART_WINDOWEDDOOR_0003 0x0003 // dl +#define MODELPART_AR34_0042 0x0042 // toggle +#define MODELPART_AR34_0050 0x0050 // position +#define MODELPART_AR34_0051 0x0051 // position +#define MODELPART_AR34_MAGAZINE1 0x0029 // toggle +#define MODELPART_AR34_MAGAZINE2 0x002a // toggle +#define MODELPART_AUTOGUN_0000 0x0000 // position +#define MODELPART_AUTOGUN_0001 0x0001 // position +#define MODELPART_AUTOGUN_0002 0x0002 // position +#define MODELPART_AUTOGUN_0003 0x0003 // position +#define MODELPART_AUTOGUN_0004 0x0004 // position +#define MODELPART_AUTOGUN_0006 0x0006 // position +#define MODELPART_AUTOGUN_FLASHLEFT 0x0005 // gunfire +#define MODELPART_AUTOGUN_FLASHRIGHT 0x0007 // gunfire +#define MODELPART_BASIC_0064 0x0064 // type19 +#define MODELPART_BASIC_0065 0x0065 // type19 +#define MODELPART_BASIC_0066 0x0066 // type19 +#define MODELPART_BASIC_0067 0x0067 // bbox +#define MODELPART_BASIC_00C8 0x00c8 // toggle +#define MODELPART_BASIC_00C9 0x00c9 // toggle +#define MODELPART_BASIC_00CA 0x00ca // toggle +#define MODELPART_BASIC_00CB 0x00cb // toggle +#define MODELPART_BASIC_00CC 0x00cc // toggle +#define MODELPART_BASIC_00CD 0x00cd // toggle +#define MODELPART_BASIC_00CE 0x00ce // toggle +#define MODELPART_BASIC_00CF 0x00cf // toggle +#define MODELPART_BASIC_00D0 0x00d0 // toggle +#define MODELPART_BASIC_00D1 0x00d1 // toggle +#define MODELPART_BASIC_00D2 0x00d2 // toggle +#define MODELPART_BASIC_00D3 0x00d3 // toggle +#define MODELPART_CALLISTO_ORB 0x0028 // toggle +#define MODELPART_CCTV_0002 0x0002 // bbox +#define MODELPART_CCTV_0003 0x0003 // toggle +#define MODELPART_CCTV_CASING 0x0000 // position +#define MODELPART_CCTV_LENS 0x0001 // dl +#define MODELPART_CHOPPER_0000 0x0000 // position +#define MODELPART_CHOPPER_0001 0x0001 // position +#define MODELPART_CHOPPER_0002 0x0002 // position +#define MODELPART_CHOPPER_0005 0x0005 // toggle +#define MODELPART_CHOPPER_GUNFLASH 0x0003 // gunfire +#define MODELPART_CHRGUN_0001 0x0001 // positionheld +#define MODELPART_CHRGUN_0002 0x0002 // toggle +#define MODELPART_CHRGUN_GUNFIRE 0x0000 // gunfire +#define MODELPART_CHR_0000 0x0000 // position +#define MODELPART_CHR_0001 0x0001 // position +#define MODELPART_CHR_0002 0x0002 // position +#define MODELPART_CHR_0006 0x0006 // position +#define MODELPART_CHR_HEADSPOT 0x0004 // headspot +#define MODELPART_CHR_LEFTHAND 0x0005 // position +#define MODELPART_CHR_NECKLACE 0x0007 // toggle +#define MODELPART_CHR_RIGHTHAND 0x0003 // position +#define MODELPART_CIHUB_0000 0x0000 // dl +#define MODELPART_CIHUB_0001 0x0001 // dl +#define MODELPART_CIHUB_0002 0x0002 // dl +#define MODELPART_CIHUB_0003 0x0003 // dl +#define MODELPART_CLASSICGUN_0050 0x0050 // position +#define MODELPART_CMP150_0042 0x0042 // toggle +#define MODELPART_CMP150_0050 0x0050 // position +#define MODELPART_CMP150_0051 0x0051 // position +#define MODELPART_CMP150_MAGAZINE1 0x002a // toggle +#define MODELPART_CMP150_MAGAZINE2 0x002b // toggle +#define MODELPART_CROSSBOW_0028 0x0028 // toggle +#define MODELPART_CROSSBOW_0042 0x0042 // toggle +#define MODELPART_CROSSBOW_BOLT 0x0029 // toggle +#define MODELPART_CROSSBOW_HANDLE 0x002a // toggle +#define MODELPART_CYCLONE_0050 0x0050 // position +#define MODELPART_CYCLONE_0051 0x0051 // position +#define MODELPART_CYCLONE_MAGAZINE 0x0028 // toggle +#define MODELPART_DEVASTATOR_0028 0x0028 // position +#define MODELPART_DEVASTATOR_CART1 0x0064 // toggle - innermost cartridge +#define MODELPART_DEVASTATOR_CART2 0x0065 // toggle +#define MODELPART_DEVASTATOR_CART3 0x0066 // toggle +#define MODELPART_DEVASTATOR_CART4 0x0067 // toggle +#define MODELPART_DEVASTATOR_CART5 0x0068 // toggle +#define MODELPART_DEVASTATOR_CART6 0x0069 // toggle +#define MODELPART_DEVASTATOR_CART7 0x006a // toggle +#define MODELPART_DEVASTATOR_CART8 0x006b // toggle - outermost cartridge +#define MODELPART_DEVASTATOR_MAGAZINE1 0x0029 // toggle +#define MODELPART_DEVASTATOR_MAGAZINE2 0x002a // toggle +#define MODELPART_DRAGON_0042 0x0042 // toggle +#define MODELPART_DRAGON_0050 0x0050 // position +#define MODELPART_DRAGON_0051 0x0051 // position +#define MODELPART_DRAGON_0052 0x0052 // position +#define MODELPART_DRAGON_MAGAZINE1 0x0028 // toggle +#define MODELPART_DRAGON_MAGAZINE2 0x002a // toggle +#define MODELPART_DRCAROLL_0000 0x0000 // toggle +#define MODELPART_DRCAROLL_0001 0x0001 // toggle +#define MODELPART_DRCAROLL_0002 0x0002 // toggle +#define MODELPART_DRCAROLL_0003 0x0003 // toggle +#define MODELPART_DRCAROLL_0004 0x0004 // toggle +#define MODELPART_DRCAROLL_0005 0x0005 // toggle +#define MODELPART_DRCAROLL_0006 0x0006 // toggle +#define MODELPART_DRCAROLL_0007 0x0007 // toggle +#define MODELPART_DRCAROLL_0008 0x0008 // toggle +#define MODELPART_DRCAROLL_0009 0x0009 // toggle +#define MODELPART_DRCAROLL_000A 0x000a // toggle +#define MODELPART_DRCAROLL_000B 0x000b // toggle +#define MODELPART_DROPSHIP_0064 0x0064 // type19 +#define MODELPART_DROPSHIP_INTERIOR 0x006e // toggle +#define MODELPART_FALCON2_002E 0x002e // toggle +#define MODELPART_FALCON2_002F 0x002f // toggle +#define MODELPART_FALCON2_0042 0x0042 // toggle +#define MODELPART_FALCON2_0050 0x0050 // position +#define MODELPART_FALCON2_0051 0x0051 // position +#define MODELPART_FALCON2_MAGAZINE1 0x002a // toggle +#define MODELPART_FALCON2_MAGAZINE2 0x002b // toggle +#define MODELPART_FALCON2_SCOPE 0x002c // toggle +#define MODELPART_FALCON2_SILENCER 0x002d // toggle +#define MODELPART_FARSIGHT_ORB 0x0028 // toggle +#define MODELPART_GRENADE_002B 0x002b // position +#define MODELPART_GRENADE_0064 0x0064 // toggle +#define MODELPART_GUN_CARTEJECTPOS 0x003c // position +#define MODELPART_GUN_CARTFLAPCLOSED 0x0046 // toggle +#define MODELPART_GUN_CARTFLAPOPEN 0x0047 // toggle +#define MODELPART_GUN_HOLDPOS 0x0037 // position +#define MODELPART_GUN_LASERLIQUID 0x0041 // gundl +#define MODELPART_GUN_LASERSIGHT 0x0034 // position +#define MODELPART_GUN_MUZZLEFLASH1 0x005a // toggle +#define MODELPART_GUN_MUZZLEFLASH2 0x005b // toggle +#define MODELPART_GUN_MUZZLEFLASH3 0x005c // toggle +#define MODELPART_GUN_MUZZLEPOS 0x0032 // position +#define MODELPART_GUN_SLIDE 0x0033 // position +#define MODELPART_HAND_LEFT 0x0035 // toggle +#define MODELPART_HAND_RIGHT 0x0036 // toggle +#define MODELPART_HEAD_0190 0x0190 // dl +#define MODELPART_HEAD_0191 0x0191 // dl +#define MODELPART_HEAD_0192 0x0192 // dl +#define MODELPART_HEAD_EYESCLOSED 0x0003 // toggle +#define MODELPART_HEAD_EYESOPEN 0x0002 // toggle +#define MODELPART_HEAD_HAT 0x0001 // toggle +#define MODELPART_HEAD_HUDPIECE 0x0004 // toggle +#define MODELPART_HEAD_SUNGLASSES 0x0000 // toggle +#define MODELPART_HOVERBIKE_0064 0x0064 // type19 +#define MODELPART_HUDPIECE_0000 0x0000 // gundl +#define MODELPART_HUDPIECE_0001 0x0001 // position +#define MODELPART_HUDPIECE_0002 0x0002 // position +#define MODELPART_JOYPAD_0000 0x0000 // position +#define MODELPART_JOYPAD_0001 0x0001 // position +#define MODELPART_JOYPAD_0002 0x0002 // position +#define MODELPART_JOYPAD_0003 0x0003 // position +#define MODELPART_JOYPAD_0004 0x0004 // position +#define MODELPART_JOYPAD_0005 0x0005 // position +#define MODELPART_JOYPAD_0006 0x0006 // position +#define MODELPART_JOYPAD_0007 0x0007 // position +#define MODELPART_JOYPAD_0008 0x0008 // position +#define MODELPART_JOYPAD_0009 0x0009 // position +#define MODELPART_JOYPAD_000A 0x000a // position +#define MODELPART_JOYPAD_000B 0x000b // position +#define MODELPART_JOYPAD_000C 0x000c // position +#define MODELPART_JOYPAD_000D 0x000d // toggle +#define MODELPART_K7AVENGER_0042 0x0042 // toggle +#define MODELPART_K7AVENGER_0050 0x0050 // position +#define MODELPART_K7AVENGER_0051 0x0051 // position +#define MODELPART_K7AVENGER_MAGAZINE1 0x0029 // toggle +#define MODELPART_K7AVENGER_MAGAZINE2 0x002a // toggle +#define MODELPART_KNIFE_0064 0x0064 // toggle +#define MODELPART_LAPTOPGUN_0050 0x0050 // position +#define MODELPART_LAPTOPGUN_0051 0x0051 // position +#define MODELPART_LAPTOPGUN_MAGAZINE1 0x0029 // toggle +#define MODELPART_LAPTOPGUN_MAGAZINE2 0x002a // toggle +#define MODELPART_LASER_0042 0x0042 // toggle +#define MODELPART_LIFT_DOORBLOCK 0x0004 // type19 +#define MODELPART_LIFT_FLOORNONRECT1 0x0005 // type19 +#define MODELPART_LIFT_FLOORNONRECT2 0x0006 // type19 +#define MODELPART_LIFT_FLOORRECT 0x0000 // bbox +#define MODELPART_LIFT_WALL1 0x0001 // type19 +#define MODELPART_LIFT_WALL2 0x0002 // type19 +#define MODELPART_LIFT_WALL3 0x0003 // type19 +#define MODELPART_LOGO_0000 0x0000 // toggle +#define MODELPART_LOGO_0001 0x0001 // toggle +#define MODELPART_LOGO_0002 0x0002 // dl +#define MODELPART_LOGO_0003 0x0003 // dl +#define MODELPART_LOGO_0004 0x0004 // dl +#define MODELPART_LOGO_0005 0x0005 // dl +#define MODELPART_LOGO_0006 0x0006 // dl +#define MODELPART_LOGO_0007 0x0007 // dl +#define MODELPART_LOGO_0008 0x0008 // dl +#define MODELPART_LOGO_0009 0x0009 // dl +#define MODELPART_LOGO_0110 0x0110 // toggle +#define MODELPART_LOGO_0500 0x0500 // toggle +#define MODELPART_LOGO_4040 0x4040 // dl +#define MODELPART_MAGNUM_000A 0x000a // position +#define MODELPART_MAGNUM_000B 0x000b // position +#define MODELPART_MAGNUM_000C 0x000c // position +#define MODELPART_MAGNUM_000D 0x000d // position +#define MODELPART_MAGNUM_000E 0x000e // position +#define MODELPART_MAGNUM_000F 0x000f // position +#define MODELPART_MAGNUM_0042 0x0042 // toggle +#define MODELPART_MAGNUM_0050 0x0050 // position +#define MODELPART_MAGNUM_0051 0x0051 // position +#define MODELPART_MAGNUM_CART1 0x0028 // toggle +#define MODELPART_MAGNUM_CART2 0x0029 // toggle +#define MODELPART_MAGNUM_CART3 0x002a // toggle +#define MODELPART_MAGNUM_CART4 0x002b // toggle +#define MODELPART_MAGNUM_CART5 0x002c // toggle +#define MODELPART_MAGNUM_CART6 0x002d // toggle +#define MODELPART_MAIANUFO_0064 0x0064 // type19 +#define MODELPART_MAULER_0050 0x0050 // position +#define MODELPART_MAULER_MAGAZINE1 0x002a // toggle +#define MODELPART_MAULER_MAGAZINE2 0x002b // toggle +#define MODELPART_PHOENIX_0042 0x0042 // toggle +#define MODELPART_PHOENIX_ORB 0x0028 // toggle +#define MODELPART_PISTOL_0042 0x0042 // toggle +#define MODELPART_PISTOL_0050 0x0050 // position +#define MODELPART_PISTOL_MAGAZINE1 0x0029 // toggle +#define MODELPART_PISTOL_MAGAZINE2 0x002a // toggle +#define MODELPART_RARELOGO_000B 0x000b // toggle +#define MODELPART_RARELOGO_000C 0x000c // toggle +#define MODELPART_RARELOGO_000D 0x000d // toggle +#define MODELPART_RCP120_0042 0x0042 // toggle +#define MODELPART_RCP120_0050 0x0050 // position +#define MODELPART_RCP120_0051 0x0051 // position +#define MODELPART_RCP120_MAGAZINE1 0x0028 // toggle +#define MODELPART_RCP120_MAGAZINE2 0x0029 // toggle +#define MODELPART_REAPER_001E 0x001e // position +#define MODELPART_REAPER_001F 0x001f // position +#define MODELPART_REAPER_0020 0x0020 // position +#define MODELPART_REAPER_002C 0x002c // position +#define MODELPART_REAPER_002D 0x002d // position +#define MODELPART_REAPER_002E 0x002e // position +#define MODELPART_REAPER_002F 0x002f // position +#define MODELPART_REAPER_0042 0x0042 // toggle +#define MODELPART_REAPER_0050 0x0050 // position +#define MODELPART_REAPER_0051 0x0051 // position +#define MODELPART_REAPER_0052 0x0052 // position +#define MODELPART_REAPER_CARTEJECTPOS1 0x0030 // position +#define MODELPART_REAPER_CARTEJECTPOS2 0x0031 // position +#define MODELPART_REAPER_MAGAZINE1 0x002a // toggle +#define MODELPART_REAPER_MAGAZINE2 0x002b // toggle +#define MODELPART_REMOTEMINE_002A 0x002a // position +#define MODELPART_REMOTEMINE_DETONATOR 0x0029 // toggle +#define MODELPART_REMOTEMINE_MINE 0x0028 // toggle +#define MODELPART_ROBOT_0000 0x0000 // position +#define MODELPART_ROBOT_0001 0x0001 // position +#define MODELPART_ROBOT_0004 0x0004 // toggle +#define MODELPART_ROBOT_LGUNFIRE 0x0003 // gunfire +#define MODELPART_ROBOT_RGUNFIRE 0x0002 // gunfire +#define MODELPART_ROCKETLAUNCHER_0042 0x0042 // toggle +#define MODELPART_ROCKETLAUNCHER_ROCKET 0x0028 // toggle +#define MODELPART_SHOTGUN_0042 0x0042 // toggle +#define MODELPART_SHOTGUN_0050 0x0050 // position +#define MODELPART_SHOTGUN_CART 0x002b // toggle +#define MODELPART_SKEDAR_0000 0x0000 // position +#define MODELPART_SKEDAR_0001 0x0001 // position +#define MODELPART_SKEDAR_EYESCLOSED 0x0005 // toggle +#define MODELPART_SKEDAR_EYESOPEN 0x0004 // toggle +#define MODELPART_SKEDAR_LEFTHAND 0x0003 // position +#define MODELPART_SKEDAR_RIGHTHAND 0x0002 // position +#define MODELPART_SKSHUTTLE_GANGWAY 0x00b7 // toggle +#define MODELPART_SLAYERROCKET_0042 0x0042 // toggle +#define MODELPART_SNIPERRIFLE_0042 0x0042 // toggle +#define MODELPART_SNIPERRIFLE_MAGAZINE1 0x0028 // toggle +#define MODELPART_SNIPERRIFLE_MAGAZINE2 0x0029 // toggle +#define MODELPART_SNIPERRIFLE_SCOPE1 0x002a // position +#define MODELPART_SNIPERRIFLE_SCOPE2 0x002b // position +#define MODELPART_SNIPERRIFLE_SCOPE3 0x002c // position +#define MODELPART_SNIPERRIFLE_SCOPE4 0x002d // position +#define MODELPART_SUPERDRAGON_0042 0x0042 // toggle +#define MODELPART_SUPERDRAGON_0050 0x0050 // position +#define MODELPART_SUPERDRAGON_0051 0x0051 // position +#define MODELPART_SUPERDRAGON_0052 0x0052 // position +#define MODELPART_SUPERDRAGON_MAGAZINE1 0x0028 // toggle +#define MODELPART_SUPERDRAGON_MAGAZINE2 0x0029 // toggle +#define MODELPART_SUPERDRAGON_MAGAZINE3 0x002a // toggle +#define MODELPART_SUPERDRAGON_MAGAZINE4 0x002b // toggle +#define MODELPART_TERMINAL_0000 0x0000 // dl +#define MODELPART_TRANQUILIZER_002B 0x002b // position +#define MODELPART_TRANQUILIZER_0042 0x0042 // toggle +#define MODELPART_TRANQUILIZER_MAGAZINE1 0x0028 // toggle +#define MODELPART_TRANQUILIZER_MAGAZINE2 0x0029 // toggle +#define MODELPART_TRANQUILIZER_MAGAZINE3 0x002a // toggle +#define MODELPART_TRUCK_0005 0x0005 // ? +#define MODELPART_UZI_0050 0x0050 // position +#define MODELPART_UZI_0051 0x0051 // position +#define MODELPART_WINDOWEDDOOR_0000 0x0000 // bbox +#define MODELPART_WINDOWEDDOOR_0001 0x0001 // toggle +#define MODELPART_WINDOWEDDOOR_0002 0x0002 // bbox +#define MODELPART_WINDOWEDDOOR_0003 0x0003 // dl // Unsure which model types these are for #define MODELPART_0000 0x0000 @@ -2573,9 +2497,6 @@ #define MODELPART_0003 0x0003 #define MODELPART_0010 0x0010 #define MODELPART_0011 0x0011 -#define MODELPART_0029 0x0029 -#define MODELPART_0035 0x0035 -#define MODELPART_0036 0x0036 #define MODELPART_0042 0x0042 #define MODELPART_0065 0x0065 #define MODELPART_0066 0x0066