From 7ccab9f6d92b894760f7c497f29a26d142214c00 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Fri, 15 May 2020 00:19:49 +1000 Subject: [PATCH] Improve inventory.c --- src/game/data/inventory.c | 3440 +++++++++++++++---------------------- src/include/gunscript.h | 4 +- src/include/types.h | 28 +- 3 files changed, 1428 insertions(+), 2044 deletions(-) diff --git a/src/game/data/inventory.c b/src/game/data/inventory.c index 86bc15d6a..f65a02a33 100644 --- a/src/game/data/inventory.c +++ b/src/game/data/inventory.c @@ -6,136 +6,118 @@ #include "stagesetup.h" #include "types.h" -// 10fd0 struct inventory_menupos invmenupos_00010fd0 = { 0, 0, 0, 1, 6, }; -// 10fe4 struct inventory_menupos invmenupos_00010fe4 = { 0, 3, 1.4, 1, 6, }; -// 10ff8 struct inventory_menupos invmenupos_00010ff8 = { 0, 9, 2, 1, 6, }; -// 1100c struct inventory_menupos invmenupos_0001100c = { 0, 14, 2, 1, 6, }; -// 11020 struct inventory_menupos invmenupos_00011020 = { 0, 18, 2, 1, 6, }; -// 11034 struct inventory_menupos invmenupos_00011034 = { 0, 22, 3, 1, 6, }; -// 11048 struct inventory_menupos invmenupos_00011048 = { 0, 25, 15, 5, 6, }; -// 1105c struct inventory_menupos invmenupos_0001105c = { 0, 35, 1, 1, 6, }; -// 11070 struct inventory_menupos invmenupos_00011070 = { 0, 0, 0, 0.2, 2.3509887016446E-38, }; -// 11084 struct inventory_menupos invmenupos_00011084 = { 0.2, 0.2, 0.2, 0.2, 2.3509887016446E-38, }; -// 11098 struct inventory_menupos invmenupos_00011098 = { 0.6, 0.6, 0.6, 0.2, 2.3509887016446E-38, }; -// 110ac struct inventory_menupos invmenupos_000110ac = { 0.6, 0.6, 2.6, 0.2, 2.3509887016446E-38, }; -// 110c0 struct inventory_typee inve_000110c0 = { 0, - 0x40400000, - 0x41000000, - 0x41700000, - 0x3f78db8c, - 0x3f7a0903, + 3, + 8, + 15, + 0.9721, + 0.9767, 0x10000000, 0x00000002, }; -// 110e0 struct inventory_typee inve_000110e0 = { 0, - 0x40400000, - 0x41000000, - 0x41700000, - 0x3f78db8c, - 0x3f7a0903, + 3, + 8, + 15, + 0.9721, + 0.9767, 0x10000000, 0x00000006, }; -// 11100 struct inventory_typee inve_00011100 = { 0, - 0x40400000, - 0x41000000, - 0x41700000, - 0x3f78db8c, - 0x3f7a0903, + 3, + 8, + 15, + 0.9721, + 0.9767, 0x07000000, 0x00000002, }; -// 11120 struct inventory_typee inve_00011120 = { 30, - 0x40400000, - 0x41000000, - 0x41700000, - 0x3f78db8c, - 0x3f7a0903, + 3, + 8, + 15, + 0.9721, + 0.9767, 0x15000000, 0x00000002, }; -// 11140 struct inventory_typee inve_00011140 = { 30, - 0x40400000, - 0x41000000, - 0x41700000, - 0x3f78db8c, - 0x3f7a0903, + 3, + 8, + 15, + 0.9721, + 0.9767, 0x15000000, 0x00000006, }; -// 11160 struct weaponfunc_shootsingle invfunc_00011160 = { INVENTORYFUNCTYPE_SHOOT_SINGLE, - 0x4c55, // name + L_GUN(85), // name 0x00, // unk06 0, // unk07 &invmenupos_0001100c, // menupos NULL, // fire animation 0x00000000, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x00000000, 0x3f800000, 0x40c00000, @@ -148,7 +130,6 @@ struct weaponfunc_shootsingle invfunc_00011160 = { 0x01000000, }; -// 111a0 struct inventory_ammo invammo_default = { AMMOTYPE_RIFLE, CASING_RIFLE, @@ -157,10 +138,9 @@ struct inventory_ammo invammo_default = { 0, // style }; -// 111b4 struct weapon invitem_hammer = { - 0x0000, // lo model - 0x0000, // hi model + 0, // lo model + 0, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -170,24 +150,23 @@ struct weapon invitem_hammer = { &invammo_default, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 12.500000, // left/right - -17.000000, // up/down - -27.500000, // front/back - 1.000000, // unk38 + 1, // sway + 12.5, // left/right + -17, // up/down + -27.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4c00, // short name - 0x4c00, // name - 0x4c00, // manufacturer - 0x4c00, // description + L_GUN(0), // short name + L_GUN(0), // name + L_GUN(0), // manufacturer + L_GUN(0), // description 0x00001258, // flags }; -// 11204 struct weapon invitem_nothing = { - 0x0000, // lo model - 0x0000, // hi model + 0, // lo model + 0, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -197,42 +176,38 @@ struct weapon invitem_nothing = { NULL, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 12.500000, // left/right - -17.000000, // up/down - -27.500000, // front/back - 1.000000, // unk38 + 1, // sway + 12.5, // left/right + -17, // up/down + -27.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4c00, // short name - 0x4c00, // name - 0x4c00, // manufacturer - 0x4c00, // description + L_GUN(0), // short name + L_GUN(0), // name + L_GUN(0), // manufacturer + L_GUN(0), // description 0x00001000, // flags }; -// 11254 u32 invanim_punch_type3[] = { gunscript_playanimation(0x03e9, 0, 10000) gunscript_waittime(7, 2) gunscript_end }; -// 1126c u32 invanim_punch_type1[] = { gunscript_playanimation(0x03ea, 0, 10000) gunscript_waittime(8, 2) gunscript_end }; -// 11284 u32 invanim_punch_type2[] = { gunscript_playanimation(0x041f, 0, 10000) gunscript_waittime(7, 2) gunscript_end }; -// 1129c u32 invanim_punch_type4[] = { gunscript_playanimation(0x0425, 0, 10000) gunscript_waittime(8, 2) @@ -240,19 +215,17 @@ u32 invanim_punch_type4[] = { gunscript_end }; -// 112bc u32 invanim_punch[] = { - gunscript_random(20, (u32) invanim_punch_type1) - gunscript_random(40, (u32) invanim_punch_type2) - gunscript_random(60, (u32) invanim_punch_type3) - gunscript_include(0, (u32) invanim_punch_type4) + gunscript_random(20, invanim_punch_type1) + gunscript_random(40, invanim_punch_type2) + gunscript_random(60, invanim_punch_type3) + gunscript_include(0, invanim_punch_type4) gunscript_end }; -// 112e4 struct weaponfunc_close invfunc_unarmed_punch = { INVENTORYFUNCTYPE_CLOSE, - 0x4c64, // name + L_GUN(100), // name 0x00, // unk06 -1, // unk07 &invmenupos_00010fd0, // menupos @@ -274,10 +247,9 @@ struct weaponfunc_close invfunc_unarmed_punch = { 0x00000000, }; -// 11330 struct weaponfunc_close invfunc_unarmed_disarm = { INVENTORYFUNCTYPE_CLOSE, - 0x4c65, // name + L_GUN(101), // name 0x00, // unk06 -1, // unk07 &invmenupos_00010fd0, // menupos @@ -299,10 +271,9 @@ struct weaponfunc_close invfunc_unarmed_disarm = { 0x00000000, }; -// 1137c struct weapon invitem_unarmed = { - 0x04e5, // lo model - 0x04e5, // hi model + FILE_GCOMBATHANDSLOD, // lo model + FILE_GCOMBATHANDSLOD, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -311,107 +282,57 @@ struct weapon invitem_unarmed = { NULL, // pri ammo NULL, // sec ammo &inve_00011100, // eptr - 1.000000, // sway - 7.500000, // left/right - -41.000000, // up/down - -16.000000, // front/back - 1.000000, // unk38 + 1, // sway + 7.5, // left/right + -41, // up/down + -16, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4c06, // short name - 0x4c06, // name - 0x4c00, // manufacturer - 0x4c9b, // description + L_GUN(6), // short name + L_GUN(6), // name + L_GUN(0), // manufacturer + L_GUN(155), // description 0x08042258, // flags }; -// 113cc -// type g s8 invg_000113cc[] = {90, 0, 42, 0, 43, 0, 44, 0, 45, 0, 46, 0, 47, 0, -1}; -// 113dc -// type g s8 invg_000113dc[] = {90, 0, 42, 0, 43, 0, 45, 0, 47, 0, -1}; -// 113e8 -// type g s8 invg_000113e8[] = {90, 0, 42, 0, 43, 0, 44, 0, 46, 0, -1}; -// 113f4 -struct inventory_typef invf_000113f4 = { - 0x01000000, - 0x0100002a, - 0x00000100, - 0x00000100, - 0x002b0000, +struct inventory_typef invf_000113f4[] = { + { 0x0100, 0x0000, 0x0100, 0x002a, 0x0000 }, + { 0x0100, 0x0000, 0x0100, 0x002b, 0x0000 }, + { 0x0100, 0x0000, 0x0100, 0x002c, 0x0000 }, + { 0x0100, 0x0000, 0x0100, 0x002d, 0x0000 }, + { 0x0100, 0x0000, 0x0100, 0x002e, 0x0000 }, + { 0x0100, 0x0000, 0x0100, 0x002f, 0x0000 }, + { 0x0100, 0x0000, 0x0100, 0x0035, 0x0000 }, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, }; -u32 var8006b3e8 = 0x01000000; -u32 var8006b3ec = 0x0100002c; -u32 var8006b3f0 = 0x00000100; -u32 var8006b3f4 = 0x00000100; -u32 var8006b3f8 = 0x002d0000; -u32 var8006b3fc = 0x01000000; -u32 var8006b400 = 0x0100002e; -u32 var8006b404 = 0x00000100; -u32 var8006b408 = 0x00000100; -u32 var8006b40c = 0x002f0000; -u32 var8006b410 = 0x01000000; -u32 var8006b414 = 0x01000035; -u32 var8006b418 = 0x00000000; - -// 1143c -u32 invanim_0001143c[] = { - gunscript_end +struct inventory_typef invf_00011444[] = { + { 0x0100, 0x0000, 0x0100, 0x002a, 0x0000 }, + { 0x0100, 0x0000, 0x0100, 0x002b, 0x0000 }, + { 0x0100, 0x0000, 0x0100, 0x002d, 0x0000 }, + { 0x0100, 0x0000, 0x0100, 0x002e, 0x0000 }, + { 0x0100, 0x0000, 0x0100, 0x002f, 0x0000 }, + { 0x0100, 0x0000, 0x0100, 0x0035, 0x0000 }, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, }; -// 11444 -struct inventory_typef invf_00011444 = { - 0x01000000, - 0x0100002a, - 0x00000100, - 0x00000100, - 0x002b0000, +struct inventory_typef invf_0001148c[] = { + { 0x0100, 0x0000, 0x0100, 0x002a, 0x0000 }, + { 0x0100, 0x0000, 0x0100, 0x002b, 0x0000 }, + { 0x0100, 0x0000, 0x0100, 0x002c, 0x0000 }, + { 0x0100, 0x0000, 0x0100, 0x002e, 0x0000 }, + { 0x0100, 0x0000, 0x0100, 0x002f, 0x0000 }, + { 0x0100, 0x0000, 0x0100, 0x0035, 0x0000 }, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, }; -u32 var8006b438 = 0x01000000; -u32 var8006b43c = 0x0100002d; -u32 var8006b440 = 0x00000100; -u32 var8006b444 = 0x00000100; -u32 var8006b448 = 0x002e0000; -u32 var8006b44c = 0x01000000; -u32 var8006b450 = 0x0100002f; -u32 var8006b454 = 0x00000100; -u32 var8006b458 = 0x00000100; -u32 var8006b45c = 0x00350000; -u32 var8006b460 = 0x00000000; -u32 var8006b464 = 0x00000000; -u32 var8006b468 = 0x00000000; - -// 1148c -struct inventory_typef invf_0001148c = { - 0x01000000, - 0x0100002a, - 0x00000100, - 0x00000100, - 0x002b0000, -}; - -u32 var8006b480 = 0x01000000; -u32 var8006b484 = 0x0100002c; -u32 var8006b488 = 0x00000100; -u32 var8006b48c = 0x00000100; -u32 var8006b490 = 0x002e0000; -u32 var8006b494 = 0x01000000; -u32 var8006b498 = 0x0100002f; -u32 var8006b49c = 0x00000100; -u32 var8006b4a0 = 0x00000100; -u32 var8006b4a4 = 0x00350000; -u32 var8006b4a8 = 0x00000000; -u32 var8006b4ac = 0x00000000; -u32 var8006b4b0 = 0x00000000; - -// 114d4 u32 invanim_falcon2_reload_0[] = { gunscript_playanimation(0x00ed, 0, 10000) gunscript_showpart(1, 53) @@ -427,7 +348,6 @@ u32 invanim_falcon2_reload_0[] = { gunscript_end }; -// 11534 u32 invanim_falcon2scope_reload_0[] = { gunscript_playanimation(0x0417, 0, 10000) gunscript_showpart(1, 53) @@ -443,7 +363,6 @@ u32 invanim_falcon2scope_reload_0[] = { gunscript_end }; -// 11594 u32 invanim_falcon2_reload_1[] = { gunscript_playanimation(0x03f1, 0, 10000) gunscript_hidepart(1, 43) @@ -455,56 +374,49 @@ u32 invanim_falcon2_reload_1[] = { gunscript_end }; -// 115d4 u32 invanim_falcon2_reload[] = { - gunscript_include(1, (u32) invanim_falcon2_reload_1) - gunscript_include(0, (u32) invanim_falcon2_reload_0) + gunscript_include(1, invanim_falcon2_reload_1) + gunscript_include(0, invanim_falcon2_reload_0) gunscript_end }; -// 115ec u32 invanim_falcon2scope_reload[] = { - gunscript_include(1, (u32) invanim_falcon2_reload_1) - gunscript_include(0, (u32) invanim_falcon2scope_reload_0) + gunscript_include(1, invanim_falcon2_reload_1) + gunscript_include(0, invanim_falcon2scope_reload_0) gunscript_end }; -// 11604 u32 invanim_falcon2_pistolwhip[] = { gunscript_playanimation(0x03f2, 0, 10000) gunscript_waittime(23, 2) gunscript_end }; -// 1161c u32 invanim_falcon2_equip[] = { gunscript_playanimation(0x00ea, 0, 10000) gunscript_end }; -// 1162c u32 invanim_falcon2_unequip[] = { gunscript_playanimation(0x00eb, 0, 10000) gunscript_end }; -// 1163c u32 invanim_falcon2_shoot[] = { gunscript_playanimation(0x00ec, 0, 10000) gunscript_waittime(9, 5) gunscript_end }; -// 11654 struct weaponfunc_shootsingle invfunc_falcon2_singleshot = { INVENTORYFUNCTYPE_SHOOT_SINGLE, - 0x4c55, // name + L_GUN(85), // name 0x00, // unk06 0, // unk07 &invmenupos_0001100c, // menupos invanim_falcon2_shoot, // fire animation 0x00000000, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x10000000, 0x3f800000, 0x3f800000, @@ -517,16 +429,15 @@ struct weaponfunc_shootsingle invfunc_falcon2_singleshot = { 0x01000000, }; -// 11694 struct weaponfunc_shootsingle invfunc_falcon2silenced_singleshot = { INVENTORYFUNCTYPE_SHOOT_SINGLE, - 0x4c55, // name + L_GUN(85), // name 0x00, // unk06 0, // unk07 &invmenupos_00010fe4, // menupos invanim_falcon2_shoot, // fire animation 0x00002000, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x10000000, 0x3f800000, 0x3f800000, @@ -539,10 +450,9 @@ struct weaponfunc_shootsingle invfunc_falcon2silenced_singleshot = { 0x01000000, }; -// 116d4 struct weaponfunc_close invfunc_falcon2_pistolwhip = { INVENTORYFUNCTYPE_CLOSE, - 0x4c5e, // name + L_GUN(94), // name 0x00, // unk06 -1, // unk07 &invmenupos_00010fd0, // menupos @@ -564,7 +474,6 @@ struct weaponfunc_close invfunc_falcon2_pistolwhip = { 0x00000000, }; -// 11720 struct inventory_ammo invammo_falcon2 = { AMMOTYPE_PISTOL, CASING_STANDARD, @@ -573,7 +482,6 @@ struct inventory_ammo invammo_falcon2 = { 0, // style }; -// 11734 struct inventory_ammo invammo_falcon2scope = { AMMOTYPE_PISTOL, CASING_STANDARD, @@ -582,10 +490,9 @@ struct inventory_ammo invammo_falcon2scope = { 0, // style }; -// 11748 struct weapon invitem_falcon2 = { - 0x0377, // lo model - 0x039c, // hi model + FILE_GFALCON2, // lo model + FILE_GFALCON2LOD, // hi model invanim_falcon2_equip, // equip animation invanim_falcon2_unequip, // unequip animation NULL, // pritosec animation @@ -594,24 +501,23 @@ struct weapon invitem_falcon2 = { &invammo_falcon2, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 2.000000, // sway - 9.000000, // left/right - -15.700000, // up/down - -23.799999, // front/back - 1.000000, // unk38 - &invf_000113f4, // fptr + 2, // sway + 9, // left/right + -15.7, // up/down + -23.8, // front/back + 1, // unk38 + invf_000113f4, // fptr invg_000113cc, // gptr - 0x4c07, // short name - 0x4c07, // name - 0x4c96, // manufacturer - 0x4c9c, // description + L_GUN(7), // short name + L_GUN(7), // name + L_GUN(150), // manufacturer + L_GUN(156), // description 0x000ab67c, // flags }; -// 11798 struct weapon invitem_falcon2scope = { - 0x0377, // lo model - 0x039c, // hi model + FILE_GFALCON2, // lo model + FILE_GFALCON2LOD, // hi model invanim_falcon2_equip, // equip animation invanim_falcon2_unequip, // unequip animation NULL, // pritosec animation @@ -620,24 +526,23 @@ struct weapon invitem_falcon2scope = { &invammo_falcon2scope, // pri ammo NULL, // sec ammo &inve_00011120, // eptr - 1.000000, // sway - 9.000000, // left/right - -15.700000, // up/down - -23.799999, // front/back - 1.000000, // unk38 - &invf_00011444, // fptr + 1, // sway + 9, // left/right + -15.7, // up/down + -23.8, // front/back + 1, // unk38 + invf_00011444, // fptr invg_000113dc, // gptr - 0x4c4d, // short name - 0x4c09, // name - 0x4c96, // manufacturer - 0x4c9e, // description + L_GUN(77), // short name + L_GUN(9), // name + L_GUN(150), // manufacturer + L_GUN(158), // description 0x0002b67c, // flags }; -// 117e8 struct weapon invitem_falcon2silencer = { - 0x0377, // lo model - 0x039c, // hi model + FILE_GFALCON2, // lo model + FILE_GFALCON2LOD, // hi model invanim_falcon2_equip, // equip animation invanim_falcon2_unequip, // unequip animation NULL, // pritosec animation @@ -646,40 +551,29 @@ struct weapon invitem_falcon2silencer = { &invammo_falcon2, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 9.000000, // left/right - -15.700000, // up/down - -23.799999, // front/back - 1.000000, // unk38 - &invf_0001148c, // fptr + 1, // sway + 9, // left/right + -15.7, // up/down + -23.8, // front/back + 1, // unk38 + invf_0001148c, // fptr invg_000113e8, // gptr - 0x4c4e, // short name - 0x4c08, // name - 0x4c96, // manufacturer - 0x4c9d, // description + L_GUN(78), // short name + L_GUN(8), // name + L_GUN(150), // manufacturer + L_GUN(157), // description 0x000ab67c, // flags }; -// 11838 -// type g s8 invg_00011838[] = {90, 0, 41, 0, 42, 0, -1}; -// 11840 -struct inventory_typef invf_00011840 = { - 0x01000000, - 0x01000035, - 0x00000100, - 0x00000100, - 0x002a0000, +struct inventory_typef invf_00011840[] = { + { 0x0100, 0x0000, 0x0100, 0x0035, 0x0000 }, + { 0x0100, 0x0000, 0x0100, 0x002a, 0x0000 }, + { 0x0100, 0x0000, 0x0100, 0x0029, 0x0000 }, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, }; -u32 var8006b834 = 0x01000000; -u32 var8006b838 = 0x01000029; -u32 var8006b83c = 0x00000000; -u32 var8006b840 = 0x00000000; -u32 var8006b844 = 0x00000000; - -// 11868 u32 invanim_magsec_reload_0[] = { gunscript_playanimation(0x0409, 0, 10000) gunscript_showpart(1, 53) @@ -699,7 +593,6 @@ u32 invanim_magsec_reload_0[] = { gunscript_end }; -// 118e8 u32 invanim_magsec_reload_1[] = { gunscript_playanimation(0x040a, 0, 10000) gunscript_showpart(1, 41) @@ -714,42 +607,38 @@ u32 invanim_magsec_reload_1[] = { gunscript_end }; -// 11940 u32 invanim_magsec_reload[] = { - gunscript_include(1, (u32) invanim_magsec_reload_1) - gunscript_include(0, (u32) invanim_magsec_reload_0) + gunscript_include(1, invanim_magsec_reload_1) + gunscript_include(0, invanim_magsec_reload_0) gunscript_end }; -// 11958 u32 invanim_magsec_equiporshoot[] = { gunscript_playanimation(0x040b, 0, 10000) gunscript_waittime(12, 5) gunscript_end }; -// 11970 struct inventory_typee inve_00011970 = { 25, - 0x40400000, - 0x41000000, - 0x41700000, - 0x3f78db8c, - 0x3f7a0903, + 3, + 8, + 15, + 0.9721, + 0.9767, 0x11000000, 0x00000002, }; -// 11990 struct weaponfunc_shootsingle invfunc_magsec_singleshot = { INVENTORYFUNCTYPE_SHOOT_SINGLE, - 0x4c55, // name + L_GUN(85), // name 0x00, // unk06 0, // unk07 &invmenupos_0001100c, // menupos invanim_magsec_equiporshoot, // fire animation 0x00000000, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x10000000, 0x3f8ccccd, 0x40c00000, @@ -762,16 +651,15 @@ struct weaponfunc_shootsingle invfunc_magsec_singleshot = { 0x01000000, }; -// 119d0 struct weaponfunc_shootsingle invfunc_magsec_burst = { INVENTORYFUNCTYPE_SHOOT_SINGLE, - 0x4c80, // name + L_GUN(128), // name 0x00, // unk06 0, // unk07 &invmenupos_0001100c, // menupos invanim_magsec_equiporshoot, // fire animation 0x00000002, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x10000000, 0x3f8ccccd, 0x41200000, @@ -784,7 +672,6 @@ struct weaponfunc_shootsingle invfunc_magsec_burst = { 0x01000000, }; -// 11a10 struct inventory_ammo invammo_magsec = { AMMOTYPE_PISTOL, CASING_STANDARD, @@ -793,10 +680,9 @@ struct inventory_ammo invammo_magsec = { 0, // style }; -// 11a24 struct weapon invitem_magsec = { - 0x0378, // lo model - 0x04c4, // hi model + FILE_GLEEGUN1, // lo model + FILE_GMAGSECLOD, // hi model invanim_magsec_equiporshoot, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -805,50 +691,33 @@ struct weapon invitem_magsec = { &invammo_magsec, // pri ammo NULL, // sec ammo &inve_00011970, // eptr - 2.000000, // sway - 10.500000, // left/right - -17.200001, // up/down - -26.500000, // front/back - 1.000000, // unk38 - &invf_00011840, // fptr + 2, // sway + 10.5, // left/right + -17.2, // up/down + -26.5, // front/back + 1, // unk38 + invf_00011840, // fptr invg_00011838, // gptr - 0x4c0a, // short name - 0x4c0a, // name - 0x4c97, // manufacturer - 0x4c9f, // description + L_GUN(10), // short name + L_GUN(10), // name + L_GUN(151), // manufacturer + L_GUN(159), // description 0x000a767c, // flags }; -// 11a74 -// type g s8 invg_00011a74[] = {90, 0, 40, 0, 41, 0, 42, 0, 43, 0, 44, 0, 45, 0, -1}; -// 11a84 -struct inventory_typef invf_00011a84 = { - 0x01000000, - 0x01000028, - 0x00000100, - 0x00000100, - 0x00290000, +struct inventory_typef invf_00011a84[] = { + { 0x0100, 0x0000, 0x0100, 0x0028, 0x0000 }, + { 0x0100, 0x0000, 0x0100, 0x0029, 0x0000 }, + { 0x0100, 0x0000, 0x0100, 0x002a, 0x0000 }, + { 0x0100, 0x0000, 0x0100, 0x002b, 0x0000 }, + { 0x0100, 0x0000, 0x0100, 0x002c, 0x0000 }, + { 0x0100, 0x0000, 0x0100, 0x002d, 0x0000 }, + { 0x0100, 0x0000, 0x0100, 0x0035, 0x0000 }, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, }; -u32 var8006ba78 = 0x01000000; -u32 var8006ba7c = 0x0100002a; -u32 var8006ba80 = 0x00000100; -u32 var8006ba84 = 0x00000100; -u32 var8006ba88 = 0x002b0000; -u32 var8006ba8c = 0x01000000; -u32 var8006ba90 = 0x0100002c; -u32 var8006ba94 = 0x00000100; -u32 var8006ba98 = 0x00000100; -u32 var8006ba9c = 0x002d0000; -u32 var8006baa0 = 0x01000000; -u32 var8006baa4 = 0x01000035; -u32 var8006baa8 = 0x00000000; -u32 var8006baac = 0x00000000; -u32 var8006bab0 = 0x00000000; - -// 11ad4 u32 invanim_dy357_equiporshoot[] = { gunscript_playanimation(0x0406, 0, 10000) gunscript_waittime(12, 5) @@ -856,7 +725,6 @@ u32 invanim_dy357_equiporshoot[] = { gunscript_end }; -// 11af4 u32 invanim_dy357_reload_0[] = { gunscript_playanimation(0x0408, 0, 10000) gunscript_playsound(50, 0x05cf) @@ -888,7 +756,6 @@ u32 invanim_dy357_reload_0[] = { gunscript_end }; -// 11bd4 u32 invanim_dy357_reload_1[] = { gunscript_playanimation(0x0420, 0, 10000) gunscript_playsound(50, 0x05cf) @@ -907,30 +774,27 @@ u32 invanim_dy357_reload_1[] = { gunscript_end }; -// 11c4c u32 invanim_dy357_reload[] = { - gunscript_include(1, (u32) invanim_dy357_reload_1) - gunscript_include(0, (u32) invanim_dy357_reload_0) + gunscript_include(1, invanim_dy357_reload_1) + gunscript_include(0, invanim_dy357_reload_0) gunscript_end }; -// 11c64 u32 invanim_dy357_pistolwhip[] = { gunscript_playanimation(0x0407, 0, 10000) gunscript_waittime(23, 2) gunscript_end }; -// 11c7c struct weaponfunc_shootsingle invfunc_dy357_singleshot = { INVENTORYFUNCTYPE_SHOOT_SINGLE, - 0x4c55, // name + L_GUN(85), // name 0x00, // unk06 0, // unk07 &invmenupos_00011020, // menupos invanim_dy357_equiporshoot, // fire animation 0x00000000, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x14000000, 0x40000000, 0x00000000, @@ -943,16 +807,15 @@ struct weaponfunc_shootsingle invfunc_dy357_singleshot = { 0x05000000, }; -// 11cbc struct weaponfunc_shootsingle invfunc_dy357lx_singleshot = { INVENTORYFUNCTYPE_SHOOT_SINGLE, - 0x4c55, // name + L_GUN(85), // name 0x00, // unk06 0, // unk07 &invmenupos_00011020, // menupos invanim_dy357_equiporshoot, // fire animation 0x00000000, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x1e000000, 0x43480000, 0x00000000, @@ -965,10 +828,9 @@ struct weaponfunc_shootsingle invfunc_dy357lx_singleshot = { 0x05000000, }; -// 11cfc struct weaponfunc_close invfunc_dy357_pistolwhip = { INVENTORYFUNCTYPE_CLOSE, - 0x4c5e, // name + L_GUN(94), // name 0x00, // unk06 -1, // unk07 &invmenupos_00010fd0, // menupos @@ -990,7 +852,6 @@ struct weaponfunc_close invfunc_dy357_pistolwhip = { 0x00000000, }; -// 11d48 struct inventory_ammo invammo_dy357 = { AMMOTYPE_MAGNUM, CASING_STANDARD, @@ -999,10 +860,9 @@ struct inventory_ammo invammo_dy357 = { 0, // style }; -// 11d5c struct weapon invitem_dy357 = { - 0x037a, // lo model - 0x04bd, // hi model + FILE_GDY357, // lo model + FILE_GDY357LOD, // hi model invanim_dy357_equiporshoot, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -1011,24 +871,23 @@ struct weapon invitem_dy357 = { &invammo_dy357, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 2.000000, // sway - 9.500000, // left/right - -18.200001, // up/down - -25.500000, // front/back - 1.000000, // unk38 - &invf_00011a84, // fptr + 2, // sway + 9.5, // left/right + -18.2, // up/down + -25.5, // front/back + 1, // unk38 + invf_00011a84, // fptr invg_00011a74, // gptr - 0x4c54, // short name - 0x4c0c, // name - 0x4c95, // manufacturer - 0x4ca1, // description + L_GUN(84), // short name + L_GUN(12), // name + L_GUN(149), // manufacturer + L_GUN(161), // description 0x0002f67c, // flags }; -// 11dac struct weapon invitem_dy357lx = { - 0x037b, // lo model - 0x04be, // hi model + FILE_GDY357TRENT, // lo model + FILE_GDY357TRENTLOD, // hi model invanim_dy357_equiporshoot, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -1037,38 +896,28 @@ struct weapon invitem_dy357lx = { &invammo_dy357, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 2.000000, // sway - 9.500000, // left/right - -18.200001, // up/down - -25.500000, // front/back - 1.000000, // unk38 - &invf_00011a84, // fptr + 2, // sway + 9.5, // left/right + -18.2, // up/down + -25.5, // front/back + 1, // unk38 + invf_00011a84, // fptr invg_00011a74, // gptr - 0x4c0d, // short name - 0x4c0d, // name - 0x4c95, // manufacturer - 0x4ca2, // description + L_GUN(13), // short name + L_GUN(13), // name + L_GUN(149), // manufacturer + L_GUN(162), // description 0x0002f67c, // flags }; -// 11dfc -// type g s8 invg_00011dfc[] = {40, 0, -1}; -// 11e00 -struct inventory_typef invf_00011e00 = { - 0x01000000, - 0x01000028, - 0x00000100, - 0x00000100, - 0x00350000, +struct inventory_typef invf_00011e00[] = { + { 0x0100, 0x0000, 0x0100, 0x0028, 0x0000 }, + { 0x0100, 0x0000, 0x0100, 0x0035, 0x0000 }, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, }; -u32 var8006bdf4 = 0x00000000; -u32 var8006bdf8 = 0x00000000; -u32 var8006bdfc = 0x00000000; - -// 11e20 u32 invanim_equiporreload_0[] = { gunscript_playanimation(0x0415, 0, 10000) gunscript_showpart(1, 53) @@ -1079,7 +928,6 @@ u32 invanim_equiporreload_0[] = { gunscript_end }; -// 11e58 u32 invanim_phoenix_equiporreload_1[] = { gunscript_playanimation(0x0423, 0, 10000) gunscript_showpart(1, 53) @@ -1090,30 +938,27 @@ u32 invanim_phoenix_equiporreload_1[] = { gunscript_end }; -// 11e90 u32 invanim_phoenix_equiporreload[] = { - gunscript_include(1, (u32) invanim_phoenix_equiporreload_1) - gunscript_include(0, (u32) invanim_equiporreload_0) + gunscript_include(1, invanim_phoenix_equiporreload_1) + gunscript_include(0, invanim_equiporreload_0) gunscript_end }; -// 11ea8 u32 invanim_phoenix_shoot[] = { gunscript_playanimation(0x043e, 0, 10000) gunscript_waittime(9, 5) gunscript_end }; -// 11ec0 struct weaponfunc_shootsingle invfunc_phoenix_singleshot = { INVENTORYFUNCTYPE_SHOOT_SINGLE, - 0x4c55, // name + L_GUN(85), // name 0x00, // unk06 0, // unk07 &invmenupos_0001100c, // menupos invanim_phoenix_shoot, // fire animation 0x00000000, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x10000000, 0x3f8ccccd, 0x40400000, @@ -1126,16 +971,15 @@ struct weaponfunc_shootsingle invfunc_phoenix_singleshot = { 0x01000000, }; -// 11f00 struct weaponfunc_shootsingle invfunc_phoenix_explosiveshells = { INVENTORYFUNCTYPE_SHOOT_SINGLE, - 0x4c5f, // name + L_GUN(95), // name 0x00, // unk06 0, // unk07 &invmenupos_0001100c, // menupos invanim_phoenix_shoot, // fire animation 0x00004000, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x10000000, 0x3f99999a, 0x40a00000, @@ -1148,7 +992,6 @@ struct weaponfunc_shootsingle invfunc_phoenix_explosiveshells = { 0x01000000, }; -// 11f40 struct inventory_ammo invammo_phoenix = { AMMOTYPE_PISTOL, CASING_NONE, @@ -1157,10 +1000,9 @@ struct inventory_ammo invammo_phoenix = { 0, // style }; -// 11f54 struct weapon invitem_phoenix = { - 0x037c, // lo model - 0x04c5, // hi model + FILE_GMAIANPISTOL, // lo model + FILE_GMAYANPISTOLLOD, // hi model invanim_phoenix_equiporreload, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -1169,45 +1011,34 @@ struct weapon invitem_phoenix = { &invammo_phoenix, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 9.500000, // left/right - -16.200001, // up/down - -23.000000, // front/back - 1.000000, // unk38 - &invf_00011e00, // fptr + 1, // sway + 9.5, // left/right + -16.2, // up/down + -23, // front/back + 1, // unk38 + invf_00011e00, // fptr invg_00011dfc, // gptr - 0x4c0e, // short name - 0x4c0e, // name - 0x4c99, // manufacturer - 0x4ca3, // description + L_GUN(14), // short name + L_GUN(14), // name + L_GUN(153), // manufacturer + L_GUN(163), // description 0x000af67c, // flags }; -// 11fa4 -// type g s8 invg_00011fa4[] = {43, 0, 90, 0, -1}; -// 11fac -struct inventory_typef invf_00011fac = { - 0x01000000, - 0x01000035, - 0x00000100, - 0x00000100, - 0x002b0000, +struct inventory_typef invf_00011fac[] = { + { 0x0100, 0x0000, 0x0100, 0x0035, 0x0000 }, + { 0x0100, 0x0000, 0x0100, 0x002b, 0x0000 }, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, }; -u32 var8006bfa0 = 0x00000000; -u32 var8006bfa4 = 0x00000000; -u32 var8006bfa8 = 0x00000000; - -// 11fcc u32 invanim_mauler_equiporshoot[] = { gunscript_playanimation(0x03f3, 0, 10000) gunscript_waittime(9, 5) gunscript_end }; -// 11fe4 u32 invanim_mauler_reload_0[] = { gunscript_playanimation(0x03f4, 0, 10000) gunscript_showpart(0, 53) @@ -1228,7 +1059,6 @@ u32 invanim_mauler_reload_0[] = { gunscript_end }; -// 1206c u32 invanim_mauler_reload_1[] = { gunscript_playanimation(0x03f5, 0, 10000) gunscript_setsoundspeed(14, 1200) @@ -1243,28 +1073,26 @@ u32 invanim_mauler_reload_1[] = { gunscript_end }; -// 120c4 u32 invanim_mauler_reload[] = { - gunscript_include(1, (u32) invanim_mauler_reload_1) - gunscript_include(0, (u32) invanim_mauler_reload_0) + gunscript_include(1, invanim_mauler_reload_1) + gunscript_include(0, invanim_mauler_reload_0) gunscript_end }; -u32 var8006c0bc = 0x0a0003f6; -u32 var8006c0c0 = 0x00002710; -u32 var8006c0c4 = 0x00000000; -u32 var8006c0c8 = 0x00000000; +u32 invanim_unused_8007c0bc[] = { + gunscript_playanimation(0x03f6, 0, 10000) + gunscript_end +}; -// 120ec struct weaponfunc_shootsingle invfunc_mauler_singleshot = { INVENTORYFUNCTYPE_SHOOT_SINGLE, - 0x4c55, // name + L_GUN(85), // name 0x00, // unk06 0, // unk07 &invmenupos_00011020, // menupos invanim_mauler_equiporshoot, // fire animation 0x00000000, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x00000000, 0x3f99999a, 0x40c00000, @@ -1277,16 +1105,15 @@ struct weaponfunc_shootsingle invfunc_mauler_singleshot = { 0x01000000, }; -// 1212c struct weaponfunc_shootsingle invfunc_mauler_chargeshot = { INVENTORYFUNCTYPE_SHOOT_SINGLE, - 0x4c81, // name + L_GUN(129), // name 0x00, // unk06 0, // unk07 &invmenupos_00011020, // menupos invanim_mauler_equiporshoot, // fire animation 0x00000000, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x00000000, 0x3f99999a, 0x40c00000, @@ -1299,7 +1126,6 @@ struct weaponfunc_shootsingle invfunc_mauler_chargeshot = { 0x01000000, }; -// 1216c struct inventory_ammo invammo_mauler = { AMMOTYPE_PISTOL, CASING_NONE, @@ -1308,10 +1134,9 @@ struct inventory_ammo invammo_mauler = { 0, // style }; -// 12180 struct weapon invitem_mauler = { - 0x0379, // lo model - 0x04cb, // hi model + FILE_GSKPISTOL, // lo model + FILE_GSKPISTOLLOD, // hi model invanim_mauler_equiporshoot, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -1320,40 +1145,29 @@ struct weapon invitem_mauler = { &invammo_mauler, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 11.500000, // left/right - -17.500000, // up/down - -20.000000, // front/back - 1.000000, // unk38 - &invf_00011fac, // fptr + 1, // sway + 11.5, // left/right + -17.5, // up/down + -20, // front/back + 1, // unk38 + invf_00011fac, // fptr invg_00011fa4, // gptr - 0x4c0b, // short name - 0x4c0b, // name - 0x4c98, // manufacturer - 0x4ca0, // description + L_GUN(11), // short name + L_GUN(11), // name + L_GUN(152), // manufacturer + L_GUN(160), // description 0x00027678, // flags }; -// 121d0 -// type g s8 invg_000121d0[] = {90, 0, 43, 0, -1}; -// 121d8 -struct inventory_typef invf_000121d8 = { - 0x01000000, - 0x01000035, - 0x00000100, - 0x00000100, - 0x002b0000, +struct inventory_typef invf_000121d8[] = { + { 0x0100, 0x0000, 0x0100, 0x0035, 0x0000 }, + { 0x0100, 0x0000, 0x0100, 0x002b, 0x0000 }, + { 0x0100, 0x0000, 0x0100, 0x0047, 0x0000 }, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, }; -u32 var8006c1cc = 0x01000000; -u32 var8006c1d0 = 0x01000047; -u32 var8006c1d4 = 0x00000000; -u32 var8006c1d8 = 0x00000000; -u32 var8006c1dc = 0x00000000; - -// 12200 u32 invanim_cmp150_reload_0[] = { gunscript_playanimation(0x0115, 0, 10000) gunscript_hidepart(23, 42) @@ -1370,7 +1184,6 @@ u32 invanim_cmp150_reload_0[] = { gunscript_end }; -// 12268 u32 invanim_cmp150_reload_1[] = { gunscript_playanimation(0x0422, 0, 10000) gunscript_hidepart(23, 42) @@ -1387,14 +1200,12 @@ u32 invanim_cmp150_reload_1[] = { gunscript_end }; -// 122d0 u32 invanim_cmp150_reload[] = { - gunscript_include(1, (u32) invanim_cmp150_reload_1) - gunscript_include(0, (u32) invanim_cmp150_reload_0) + gunscript_include(1, invanim_cmp150_reload_1) + gunscript_include(0, invanim_cmp150_reload_0) gunscript_end }; -// 122e8 u32 invanim_cmp150_equiporshoot[] = { gunscript_playanimation(0x0116, 0, 10000) gunscript_waittime(14, 5) @@ -1402,28 +1213,26 @@ u32 invanim_cmp150_equiporshoot[] = { gunscript_end }; -// 12308 struct inventory_typee inve_00012308 = { 0, - 0x40400000, - 0x41000000, - 0x41700000, - 0x3f78db8c, - 0x3f7a0903, + 3, + 8, + 15, + 0.9721, + 0.9767, 0x40000000, 0x00000006, }; -// 12328 struct weaponfunc_shootauto invfunc_cmp150_rapidfire = { INVENTORYFUNCTYPE_SHOOT_AUTOMATIC, - 0x4c56, // name + L_GUN(86), // name 0x00, // unk06 0, // unk07 &invmenupos_00011020, // menupos invanim_cmp150_equiporshoot, // fire animation 0x00000000, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x00000000, 0x3f800000, 0x41100000, @@ -1436,21 +1245,20 @@ struct weaponfunc_shootauto invfunc_cmp150_rapidfire = { 0x01000000, 900, 900, - 0x00000000, - 0x00000000, + NULL, + NULL, 0x00000000, }; -// 1237c struct weaponfunc_shootauto invfunc_cmp150_followlockon = { INVENTORYFUNCTYPE_SHOOT_AUTOMATIC, - 0x4c66, // name + L_GUN(102), // name 0x00, // unk06 0, // unk07 &invmenupos_00011020, // menupos invanim_cmp150_equiporshoot, // fire animation 0x00000000, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x00000000, 0x3f800000, 0x41100000, @@ -1463,12 +1271,11 @@ struct weaponfunc_shootauto invfunc_cmp150_followlockon = { 0x01000000, 900, 900, - 0x00000000, - 0x00000000, + NULL, + NULL, 0x00000000, }; -// 123d0 struct inventory_ammo invammo_cmp150 = { AMMOTYPE_SMG, CASING_STANDARD, @@ -1477,10 +1284,9 @@ struct inventory_ammo invammo_cmp150 = { 0, // style }; -// 123e4 struct weapon invitem_cmp150 = { - 0x037d, // lo model - 0x04b9, // hi model + FILE_GCMP150, // lo model + FILE_GCMP150LOD, // hi model invanim_cmp150_equiporshoot, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -1489,38 +1295,28 @@ struct weapon invitem_cmp150 = { &invammo_cmp150, // pri ammo NULL, // sec ammo &inve_00012308, // eptr - 3.000000, // sway - 13.000000, // left/right - -17.700001, // up/down - -27.500000, // front/back - 1.000000, // unk38 - &invf_000121d8, // fptr + 3, // sway + 13, // left/right + -17.7, // up/down + -27.5, // front/back + 1, // unk38 + invf_000121d8, // fptr invg_000121d0, // gptr - 0x4c0f, // short name - 0x4c0f, // name - 0x4c95, // manufacturer - 0x4ca4, // description + L_GUN(15), // short name + L_GUN(15), // name + L_GUN(149), // manufacturer + L_GUN(164), // description 0x4402f678, // flags }; -// 12434 -// type g s8 invg_00012434[] = {90, 0, 40, 0, -1}; -// 1243c -struct inventory_typef invf_0001243c = { - 0x01000000, - 0x01000035, - 0x00000100, - 0x00000100, - 0x00280000, +struct inventory_typef invf_0001243c[] = { + { 0x0100, 0x0000, 0x0100, 0x0035, 0x0000 }, + { 0x0100, 0x0000, 0x0100, 0x0028, 0x0000 }, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, }; -u32 var8006c430 = 0x00000000; -u32 var8006c434 = 0x00000000; -u32 var8006c438 = 0x00000000; - -// 1245c u32 invanim_cyclone_equiporreload_0[] = { gunscript_playanimation(0x040e, 0, 10000) gunscript_showpart(1, 53) @@ -1529,21 +1325,18 @@ u32 invanim_cyclone_equiporreload_0[] = { gunscript_end }; -// 12484 u32 invanim_cyclone_equiporreload_1[] = { gunscript_playanimation(0x0421, 0, 10000) gunscript_playsound(60, 0x05d3) gunscript_end }; -// 1249c u32 invanim_cyclone_equiporreload[] = { - gunscript_include(1, (u32) invanim_cyclone_equiporreload_1) - gunscript_include(0, (u32) invanim_cyclone_equiporreload_0) + gunscript_include(1, invanim_cyclone_equiporreload_1) + gunscript_include(0, invanim_cyclone_equiporreload_0) gunscript_end }; -// 124b4 u32 invanim_cyclone_shoot[] = { gunscript_playanimation(0x043d, 0, 10000) gunscript_waittime(5, 5) @@ -1551,16 +1344,15 @@ u32 invanim_cyclone_shoot[] = { gunscript_end }; -// 124d4 struct weaponfunc_shootauto invfunc_cyclone_rapidfire = { INVENTORYFUNCTYPE_SHOOT_AUTOMATIC, - 0x4c56, // name + L_GUN(86), // name 0x00, // unk06 0, // unk07 &invmenupos_00011034, // menupos invanim_cyclone_shoot, // fire animation 0x00000000, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x00000000, 0x3f4ccccd, 0x40c00000, @@ -1573,21 +1365,20 @@ struct weaponfunc_shootauto invfunc_cyclone_rapidfire = { 0x01000000, 900, 900, - 0x00000000, - 0x00000000, + NULL, + NULL, 0x00000000, }; -// 12528 struct weaponfunc_shootauto invfunc_cyclone_magazinedischarge = { INVENTORYFUNCTYPE_SHOOT_AUTOMATIC, - 0x4c61, // name + L_GUN(97), // name 0x00, // unk06 0, // unk07 &invmenupos_00011034, // menupos invanim_cyclone_shoot, // fire animation 0x00000020, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x00000000, 0x3fb33333, 0x41c80000, @@ -1600,12 +1391,11 @@ struct weaponfunc_shootauto invfunc_cyclone_magazinedischarge = { 0x01000000, 2000, 2000, - 0x00000000, - 0x00000000, + NULL, + NULL, 0x00000000, }; -// 1257c struct inventory_ammo invammo_cyclone = { AMMOTYPE_SMG, CASING_NONE, @@ -1614,10 +1404,9 @@ struct inventory_ammo invammo_cyclone = { 0, // style }; -// 12590 struct weapon invitem_cyclone = { - 0x0382, // lo model - 0x04bb, // hi model + FILE_GCYCLONE, // lo model + FILE_GCYCLONELOD, // hi model invanim_cyclone_equiporreload, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -1626,21 +1415,20 @@ struct weapon invitem_cyclone = { &invammo_cyclone, // pri ammo NULL, // sec ammo &inve_000110e0, // eptr - 1.000000, // sway - 21.500000, // left/right - -26.500000, // up/down - -35.000000, // front/back - 1.000000, // unk38 - &invf_0001243c, // fptr + 1, // sway + 21.5, // left/right + -26.5, // up/down + -35, // front/back + 1, // unk38 + invf_0001243c, // fptr invg_00012434, // gptr - 0x4c14, // short name - 0x4c14, // name - 0x4c97, // manufacturer - 0x4ca9, // description + L_GUN(20), // short name + L_GUN(20), // name + L_GUN(151), // manufacturer + L_GUN(169), // description 0x00027678, // flags }; -// 125e0 u32 invanim_rcp120_reload[] = { gunscript_playanimation(0x041a, 0, 10000) gunscript_setsoundspeed(18, 1100) @@ -1654,7 +1442,6 @@ u32 invanim_rcp120_reload[] = { gunscript_end }; -// 12630 u32 invanim_rcp120_equiporshoot[] = { gunscript_playanimation(0x0424, 0, 10000) gunscript_waittime(10, 5) @@ -1662,30 +1449,22 @@ u32 invanim_rcp120_equiporshoot[] = { gunscript_end }; -// 12650 -// type g s8 invg_00012650[] = {90, 0, 41, 0, -1}; - -// 12658 -struct inventory_typef invf_00012658 = { - 0x01000000, - 0x01000029, - 0x00000000, - 0x00000000, - 0x00000000, +struct inventory_typef invf_00012658[] = { + { 0x0100, 0x0000, 0x0100, 0x0029, 0x0000 }, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, }; -// 1266c struct weaponfunc_shootauto invfunc_rcp120_rapidfire = { INVENTORYFUNCTYPE_SHOOT_AUTOMATIC, - 0x4c56, // name + L_GUN(86), // name 0x00, // unk06 0, // unk07 &invmenupos_0001100c, // menupos invanim_rcp120_equiporshoot, // fire animation 0x00000000, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x00000000, 0x3f99999a, 0x40c00000, @@ -1698,26 +1477,24 @@ struct weaponfunc_shootauto invfunc_rcp120_rapidfire = { 0x01000000, 1100, 1100, - 0x00000000, - 0x00000000, + NULL, + NULL, 0x00000000, }; -// 126c0 struct weaponfunc_special invfunc_rcp120_cloak = { INVENTORYFUNCTYPE_SPECIAL, - 0x4c74, // name + L_GUN(116), // name 0x00, // unk06 0, // unk07 &invmenupos_00010fd0, // menupos NULL, // fire animation 0x00102000, // flags - 0x00000009, + SPECIALFUNC_RCP120_CLOAK, 0x0000001e, 0x00000000, }; -// 126e0 struct inventory_ammo invammo_rcp120 = { AMMOTYPE_SMG, CASING_STANDARD, @@ -1726,10 +1503,9 @@ struct inventory_ammo invammo_rcp120 = { 0, // style }; -// 126f4 struct weapon invitem_rcp120 = { - 0x0384, // lo model - 0x04c8, // hi model + FILE_GRCP120, // lo model + FILE_GRCP120LOD, // hi model invanim_rcp120_equiporshoot, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -1738,21 +1514,20 @@ struct weapon invitem_rcp120 = { &invammo_rcp120, // pri ammo NULL, // sec ammo &inve_000110e0, // eptr - 3.000000, // sway - 13.000000, // left/right - -18.200001, // up/down - -27.500000, // front/back - 1.000000, // unk38 - &invf_00012658, // fptr + 3, // sway + 13, // left/right + -18.2, // up/down + -27.5, // front/back + 1, // unk38 + invf_00012658, // fptr invg_00012650, // gptr - 0x4c16, // short name - 0x4c16, // name - 0x4c97, // manufacturer - 0x4caa, // description + L_GUN(22), // short name + L_GUN(22), // name + L_GUN(151), // manufacturer + L_GUN(170), // description 0x0062e670, // flags }; -// 12744 u32 invanim_callisto_equiporreload[] = { gunscript_playanimation(0x0418, 0, 10000) gunscript_showpart(30, 40) @@ -1762,7 +1537,6 @@ u32 invanim_callisto_equiporreload[] = { gunscript_end }; -// 12774 u32 invanim_callisto_shoot[] = { gunscript_playanimation(0x043c, 0, 10000) gunscript_waittime(8, 5) @@ -1770,29 +1544,22 @@ u32 invanim_callisto_shoot[] = { gunscript_end }; -// 12794 -// type g s8 invg_00012794[] = {40, 0, -1}; -// 12798 -struct inventory_typef invf_00012798 = { - 0x01000000, - 0x01000028, - 0x00000000, - 0x00000000, - 0x00000000, +struct inventory_typef invf_00012798[] = { + { 0x0100, 0x0000, 0x0100, 0x0028, 0x0000 }, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, }; -// 127ac struct weaponfunc_shootauto invfunc_callisto_rapidfire = { INVENTORYFUNCTYPE_SHOOT_AUTOMATIC, - 0x4c56, // name + L_GUN(86), // name 0x00, // unk06 0, // unk07 &invmenupos_0001100c, // menupos invanim_callisto_shoot, // fire animation 0x00000000, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x00000000, 0x3f99999a, 0x41100000, @@ -1805,21 +1572,20 @@ struct weaponfunc_shootauto invfunc_callisto_rapidfire = { 0x01000000, 900, 900, - 0x00000000, - 0x00000000, + NULL, + NULL, 0x00000000, }; -// 12800 struct weaponfunc_shootauto invfunc_callisto_highimpactshells = { INVENTORYFUNCTYPE_SHOOT_AUTOMATIC, - 0x4c73, // name + L_GUN(115), // name 0x00, // unk06 0, // unk07 &invmenupos_0001100c, // menupos invanim_callisto_shoot, // fire animation 0x00000000, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x00000000, 0x4019999a, 0x41100000, @@ -1832,12 +1598,11 @@ struct weaponfunc_shootauto invfunc_callisto_highimpactshells = { 0x05000000, 300, 300, - 0x00000000, - 0x00000000, + NULL, + NULL, 0x00000000, }; -// 12854 struct inventory_ammo invammo_callisto = { AMMOTYPE_SMG, CASING_NONE, @@ -1846,10 +1611,9 @@ struct inventory_ammo invammo_callisto = { 0, // style }; -// 12868 struct weapon invitem_callisto = { - 0x0383, // lo model - 0x04c6, // hi model + FILE_GMAIANSMG, // lo model + FILE_GMAYANSMGLOD, // hi model invanim_callisto_equiporreload, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -1858,40 +1622,32 @@ struct weapon invitem_callisto = { &invammo_callisto, // pri ammo NULL, // sec ammo &inve_000110e0, // eptr - 3.000000, // sway - 17.500000, // left/right - -22.700001, // up/down - -25.000000, // front/back - 1.000000, // unk38 - &invf_00012798, // fptr + 3, // sway + 17.5, // left/right + -22.7, // up/down + -25, // front/back + 1, // unk38 + invf_00012798, // fptr invg_00012794, // gptr - 0x4c17, // short name - 0x4c17, // name - 0x4c99, // manufacturer - 0x4cab, // description + L_GUN(23), // short name + L_GUN(23), // name + L_GUN(153), // manufacturer + L_GUN(171), // description 0x0002e670, // flags }; -// 128b8 -struct inventory_typef invf_000128b8 = { - 0x01000000, - 0x01000028, - 0x00000000, - 0x00000000, - 0x00000000, +struct inventory_typef invf_000128b8[] = { + { 0x0100, 0x0000, 0x0100, 0x0028, 0x0000 }, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, }; -// 128cc -// type g s8 invg_000128cc[] = {40, 0, 90, 0, -1}; -// 128d4 u32 invanim_dragon_equiporshoot[] = { gunscript_playanimation(0x03f9, 0, 10000) gunscript_end }; -// 128e4 u32 invanim_dragon_reload[] = { gunscript_playanimation(0x03fa, 0, 10000) gunscript_playsound(8, 0x0053) @@ -1904,16 +1660,15 @@ u32 invanim_dragon_reload[] = { gunscript_end }; -// 1292c struct weaponfunc_shootauto invfunc_dragon_rapidfire = { INVENTORYFUNCTYPE_SHOOT_AUTOMATIC, - 0x4c56, // name + L_GUN(86), // name 0x00, // unk06 0, // unk07 &invmenupos_00011034, // menupos invanim_dragon_equiporshoot, // fire animation 0x00000000, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x00000000, 0x3f8ccccd, 0x40c00000, @@ -1926,15 +1681,14 @@ struct weaponfunc_shootauto invfunc_dragon_rapidfire = { 0x01000000, 700, 700, - 0x00000000, - 0x00000000, + NULL, + NULL, 0x00000000, }; -// 12980 struct weaponfunc_throw invfunc_dragon_selfdestruct = { INVENTORYFUNCTYPE_THROW, - 0x4c76, // name + L_GUN(118), // name 0x00, // unk06 -1, // unk07 &invmenupos_00010fd0, // menupos @@ -1946,7 +1700,6 @@ struct weaponfunc_throw invfunc_dragon_selfdestruct = { 0x00000000, }; -// 129a4 struct inventory_ammo invammo_dragon = { AMMOTYPE_RIFLE, CASING_RIFLE, @@ -1955,10 +1708,9 @@ struct inventory_ammo invammo_dragon = { 0, // style }; -// 129b8 struct weapon invitem_dragon = { - 0x037f, // lo model - 0x04c0, // hi model + FILE_GDYDRAGON, // lo model + FILE_GDYDRAGONLOD, // hi model invanim_dragon_equiporshoot, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -1967,38 +1719,28 @@ struct weapon invitem_dragon = { &invammo_dragon, // pri ammo NULL, // sec ammo &inve_00011140, // eptr - 1.000000, // sway - 15.000000, // left/right - -29.500000, // up/down - -27.000000, // front/back - 1.000000, // unk38 - &invf_000128b8, // fptr + 1, // sway + 15, // left/right + -29.5, // up/down + -27, // front/back + 1, // unk38 + invf_000128b8, // fptr invg_000128cc, // gptr - 0x4c11, // short name - 0x4c11, // name - 0x4c95, // manufacturer - 0x4ca6, // description + L_GUN(17), // short name + L_GUN(17), // name + L_GUN(149), // manufacturer + L_GUN(166), // description 0x04026650, // flags }; -// 12a08 -struct inventory_typef invf_00012a08 = { - 0x01000000, - 0x01000028, - 0x00000100, - 0x00000100, - 0x00290000, +struct inventory_typef invf_00012a08[] = { + { 0x0100, 0x0000, 0x0100, 0x0028, 0x0000 }, + { 0x0100, 0x0000, 0x0100, 0x0029, 0x0000 }, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, }; -u32 var8006c9fc = 0x00000000; -u32 var8006ca00 = 0x00000000; -u32 var8006ca04 = 0x00000000; - -// 12a28 -// type g s8 invg_00012a28[] = {40, 0, 41, 0, 90, 0, -1}; -// 12a30 u32 invanim_superdragon_reload[] = { gunscript_playanimation(0x03fb, 0, 10000) gunscript_playsound(8, 0x0053) @@ -2011,7 +1753,6 @@ u32 invanim_superdragon_reload[] = { gunscript_end }; -// 12a78 u32 invanim_superdragon_grenadereload[] = { gunscript_playanimation(0x03fc, 0, 10000) gunscript_setsoundspeed(6, 700) @@ -2026,40 +1767,35 @@ u32 invanim_superdragon_grenadereload[] = { gunscript_end }; -// 12ad0 u32 invanim_superdragon_equiporshoot[] = { gunscript_playanimation(0x03fe, 0, 10000) gunscript_end }; -// 12ae0 u32 invanim_superdragon_shootgrenade[] = { gunscript_playanimation(0x03ff, 0, 10000) gunscript_end }; -// 12af0 u32 invanim_superdragon_pritosec[] = { gunscript_playanimation(0x03fd, 0, 10000) gunscript_end }; -// 12b00 u32 invanim_superdragon_sectopri[] = { gunscript_playanimation(0x03fd, 65535, 55536) gunscript_end }; -// 12b10 struct weaponfunc_shootauto invfunc_superdragon_rapidfire = { INVENTORYFUNCTYPE_SHOOT_AUTOMATIC, - 0x4c56, // name + L_GUN(86), // name 0x00, // unk06 0, // unk07 &invmenupos_00011034, // menupos invanim_superdragon_equiporshoot, // fire animation 0x00000000, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x00000000, 0x3f99999a, 0x40c00000, @@ -2072,15 +1808,14 @@ struct weaponfunc_shootauto invfunc_superdragon_rapidfire = { 0x01000000, 700, 700, - 0x00000000, - 0x00000000, + NULL, + NULL, 0x00000000, }; -// 12b64 struct weaponfunc_shootprojectile invfunc_superdragon_grenadelauncher = { INVENTORYFUNCTYPE_SHOOT_PROJECTILE, - 0x4c62, // name + L_GUN(98), // name 0x00, // unk06 1, // unk07 &invmenupos_00011048, // menupos @@ -2108,7 +1843,6 @@ struct weaponfunc_shootprojectile invfunc_superdragon_grenadelauncher = { 0x80530000, }; -// 12bc8 struct inventory_ammo invammo_superdragon = { AMMOTYPE_RIFLE, CASING_RIFLE, @@ -2117,7 +1851,6 @@ struct inventory_ammo invammo_superdragon = { 0, // style }; -// 12bdc struct inventory_ammo invammo_superdragon_grenades = { AMMOTYPE_DEVASTATOR, CASING_NONE, @@ -2126,10 +1859,9 @@ struct inventory_ammo invammo_superdragon_grenades = { 0, // style }; -// 12bf0 struct weapon invitem_superdragon = { - 0x0380, // lo model - 0x04c1, // hi model + FILE_GDYSUPERDRAGON, // lo model + FILE_GDYSUPERDRAGONLOD, // hi model invanim_superdragon_equiporshoot, // equip animation NULL, // unequip animation invanim_superdragon_pritosec, // pritosec animation @@ -2138,35 +1870,27 @@ struct weapon invitem_superdragon = { &invammo_superdragon, // pri ammo &invammo_superdragon_grenades, // sec ammo &inve_00011140, // eptr - 1.000000, // sway - 15.000000, // left/right - -29.500000, // up/down - -27.000000, // front/back - 1.000000, // unk38 - &invf_00012a08, // fptr + 1, // sway + 15, // left/right + -29.5, // up/down + -27, // front/back + 1, // unk38 + invf_00012a08, // fptr invg_00012a28, // gptr - 0x4c12, // short name - 0x4c12, // name - 0x4c95, // manufacturer - 0x4ca7, // description + L_GUN(18), // short name + L_GUN(18), // name + L_GUN(149), // manufacturer + L_GUN(167), // description 0x00026650, // flags }; -// 12c40 -struct inventory_typef invf_00012c40 = { - 0x01000000, - 0x0100002a, - 0x00000000, - 0x00000000, - 0x00000000, +struct inventory_typef invf_00012c40[] = { + { 0x0100, 0x0000, 0x0100, 0x002a, 0x0000 }, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, }; -// 12c54 -// type g s8 invg_00012c54[] = {42, 0, 90, 0, -1}; - -// 12c5c u32 invanim_ar34_equiporreload[] = { gunscript_playanimation(0x0419, 0, 10000) gunscript_setsoundspeed(16, 900) @@ -2183,28 +1907,26 @@ u32 invanim_ar34_equiporreload[] = { gunscript_end }; -// 12cc4 struct inventory_typee inve_00012cc4 = { 20, - 0x40400000, - 0x41000000, - 0x41700000, - 0x3f78db8c, - 0x3f7a0903, + 3, + 8, + 15, + 0.9721, + 0.9767, 0x15000000, 0x00000006, }; -// 12ce4 struct weaponfunc_shootauto invfunc_ar34_burstfire = { INVENTORYFUNCTYPE_SHOOT_AUTOMATIC, - 0x4c57, // name + L_GUN(87), // name 0x00, // unk06 0, // unk07 &invmenupos_00011034, // menupos NULL, // fire animation 0x00000002, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x00000000, 0x3fb33333, 0x41000000, @@ -2217,21 +1939,20 @@ struct weaponfunc_shootauto invfunc_ar34_burstfire = { 0x01000000, 750, 750, - 0x00000000, - 0x00000000, + NULL, + NULL, 0x00000000, }; -// 12d38 struct weaponfunc_shootauto invfunc_ar34_usescope = { INVENTORYFUNCTYPE_SHOOT_AUTOMATIC, - 0x4c67, // name + L_GUN(103), // name 0x00, // unk06 0, // unk07 &invmenupos_00011034, // menupos NULL, // fire animation 0x00000002, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x00000000, 0x3fb33333, 0x41000000, @@ -2244,12 +1965,11 @@ struct weaponfunc_shootauto invfunc_ar34_usescope = { 0x01000000, 750, 750, - 0x00000000, - 0x00000000, + NULL, + NULL, 0x00000000, }; -// 12d8c struct inventory_ammo invammo_ar34 = { AMMOTYPE_RIFLE, CASING_RIFLE, @@ -2258,10 +1978,9 @@ struct inventory_ammo invammo_ar34 = { 0, // style }; -// 12da0 struct weapon invitem_ar34 = { - 0x037e, // lo model - 0x04b7, // hi model + FILE_GAR34, // lo model + FILE_GAR34LOD, // hi model invanim_ar34_equiporreload, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -2270,35 +1989,27 @@ struct weapon invitem_ar34 = { &invammo_ar34, // pri ammo NULL, // sec ammo &inve_00012cc4, // eptr - 1.000000, // sway - 11.500000, // left/right - -25.700001, // up/down - -30.500000, // front/back - 1.000000, // unk38 - &invf_00012c40, // fptr + 1, // sway + 11.5, // left/right + -25.7, // up/down + -30.5, // front/back + 1, // unk38 + invf_00012c40, // fptr invg_00012c54, // gptr - 0x4c10, // short name - 0x4c10, // name - 0x4c00, // manufacturer - 0x4ca5, // description + L_GUN(16), // short name + L_GUN(16), // name + L_GUN(0), // manufacturer + L_GUN(165), // description 0x04626650, // flags }; -// 12df0 -struct inventory_typef invf_00012df0 = { - 0x01000000, - 0x0100002a, - 0x00000000, - 0x00000000, - 0x00000000, +struct inventory_typef invf_00012df0[] = { + { 0x0100, 0x0000, 0x0100, 0x002a, 0x0000 }, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, }; -// 12e04 -// type g s8 invg_00012e04[] = {42, 0, 90, 0, -1}; - -// 12e0c u32 invanim_k7avenger_reload[] = { gunscript_playanimation(0x00e9, 0, 10000) gunscript_setsoundspeed(15, 1200) @@ -2314,45 +2025,41 @@ u32 invanim_k7avenger_reload[] = { gunscript_end }; -// 12e6c u32 invanim_k7avenger_equip[] = { gunscript_playanimation(0x00e6, 0, 10000) gunscript_end }; -// 12e7c u32 invanim_k7avenger_unequip[] = { gunscript_playanimation(0x00e7, 0, 10000) gunscript_end }; -u32 var8006ce6c = 0x0a0000e8; -u32 var8006ce70 = 0x00002710; -u32 var8006ce74 = 0x00000000; -u32 var8006ce78 = 0x00000000; +u32 invanim_unused_8007ce6c[] = { + gunscript_playanimation(0x00e8, 0, 10000) + gunscript_end +}; -// 12e9c struct inventory_typee inve_00012e9c = { 20, - 0x40400000, - 0x41000000, - 0x41700000, - 0x3f78db8c, - 0x3f7a0903, + 3, + 8, + 15, + 0.9721, + 0.9767, 0x15000000, 0x00000006, }; -// 12ebc struct weaponfunc_shootauto invfunc_k7avenger_burstfire = { INVENTORYFUNCTYPE_SHOOT_AUTOMATIC, - 0x4c57, // name + L_GUN(87), // name 0x00, // unk06 0, // unk07 &invmenupos_00011034, // menupos NULL, // fire animation 0x00000002, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x00000000, 0x3fc00000, 0x40c00000, @@ -2365,21 +2072,20 @@ struct weaponfunc_shootauto invfunc_k7avenger_burstfire = { 0x01000000, 950, 950, - 0x00000000, - 0x00000000, + NULL, + NULL, 0x00000000, }; -// 12f10 struct weaponfunc_shootauto invfunc_k7avenger_threatdetector = { INVENTORYFUNCTYPE_SHOOT_AUTOMATIC, - 0x4c77, // name + L_GUN(119), // name 0x00, // unk06 0, // unk07 &invmenupos_00011034, // menupos NULL, // fire animation 0x00082002, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x00000000, 0x3fc00000, 0x40c00000, @@ -2392,12 +2098,11 @@ struct weaponfunc_shootauto invfunc_k7avenger_threatdetector = { 0x01000000, 950, 950, - 0x00000000, - 0x00000000, + NULL, + NULL, 0x00000000, }; -// 12f64 struct inventory_ammo invammo_k7avenger = { AMMOTYPE_RIFLE, CASING_RIFLE, @@ -2406,10 +2111,9 @@ struct inventory_ammo invammo_k7avenger = { 0, // style }; -// 12f78 struct weapon invitem_k7avenger = { - 0x0381, // lo model - 0x04b8, // hi model + FILE_GK7AVENGER, // lo model + FILE_GAVENGERLOD, // hi model invanim_k7avenger_equip, // equip animation invanim_k7avenger_unequip, // unequip animation NULL, // pritosec animation @@ -2418,38 +2122,28 @@ struct weapon invitem_k7avenger = { &invammo_k7avenger, // pri ammo NULL, // sec ammo &inve_00012e9c, // eptr - 1.000000, // sway - 6.500000, // left/right - -24.000000, // up/down - -27.000000, // front/back - 1.000000, // unk38 - &invf_00012df0, // fptr + 1, // sway + 6.5, // left/right + -24, // up/down + -27, // front/back + 1, // unk38 + invf_00012df0, // fptr invg_00012e04, // gptr - 0x4c13, // short name - 0x4c13, // name - 0x4c95, // manufacturer - 0x4ca8, // description + L_GUN(19), // short name + L_GUN(19), // name + L_GUN(149), // manufacturer + L_GUN(168), // description 0x00022650, // flags }; -// 12fc8 -struct inventory_typef invf_00012fc8 = { - 0x01000000, - 0x0100002a, - 0x00000100, - 0x00000100, - 0x00290000, +struct inventory_typef invf_00012fc8[] = { + { 0x0100, 0x0000, 0x0100, 0x002a, 0x0000 }, + { 0x0100, 0x0000, 0x0100, 0x0029, 0x0000 }, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, }; -u32 var8006cfbc = 0x00000000; -u32 var8006cfc0 = 0x00000000; -u32 var8006cfc4 = 0x00000000; - -// 12fe8 -// type g s8 invg_00012fe8[] = {90, 0, 41, 0, 42, 0, -1}; -// 12ff0 u32 invanim_laptopgun_reload[] = { gunscript_playanimation(0x00e4, 0, 10000) gunscript_setsoundspeed(4, 1630) @@ -2471,7 +2165,6 @@ u32 invanim_laptopgun_reload[] = { gunscript_end }; -// 13080 u32 invanim_laptopgun_shoot[] = { gunscript_playanimation(0x00e5, 0, 10000) gunscript_waittime(10, 5) @@ -2479,7 +2172,6 @@ u32 invanim_laptopgun_shoot[] = { gunscript_end }; -// 130a0 u32 invanim_laptopgun_equip[] = { gunscript_playanimation(0x00e2, 0, 10000) gunscript_setsoundspeed(15, 720) @@ -2489,7 +2181,6 @@ u32 invanim_laptopgun_equip[] = { gunscript_end }; -// 130d0 u32 invanim_laptopgun_unequip[] = { gunscript_playanimation(0x00e3, 0, 10000) gunscript_playsound(1, 0x04f7) @@ -2499,16 +2190,15 @@ u32 invanim_laptopgun_unequip[] = { gunscript_end }; -// 13100 struct weaponfunc_shootauto invfunc_laptopgun_burstfire = { INVENTORYFUNCTYPE_SHOOT_AUTOMATIC, - 0x4c57, // name + L_GUN(87), // name 0x00, // unk06 0, // unk07 &invmenupos_00011020, // menupos invanim_laptopgun_shoot, // fire animation 0x00000002, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x00000000, 0x3f933333, 0x40c00000, @@ -2521,15 +2211,14 @@ struct weaponfunc_shootauto invfunc_laptopgun_burstfire = { 0x01000000, 1000, 1000, - 0x00000000, - 0x00000000, + NULL, + NULL, 0x00000000, }; -// 13154 struct weaponfunc_throw invfunc_laptopgun_deploy = { INVENTORYFUNCTYPE_THROW, - 0x4c75, // name + L_GUN(117), // name 0x00, // unk06 -1, // unk07 &invmenupos_00010fd0, // menupos @@ -2541,7 +2230,6 @@ struct weaponfunc_throw invfunc_laptopgun_deploy = { 0x00000000, }; -// 13178 struct inventory_ammo invammo_laptopgun = { AMMOTYPE_SMG, CASING_NONE, @@ -2550,10 +2238,9 @@ struct inventory_ammo invammo_laptopgun = { 0, // style }; -// 1318c struct weapon invitem_laptopgun = { - 0x0385, // lo model - 0x04c7, // hi model + FILE_GPCGUN, // lo model + FILE_GPCGUNLOD, // hi model invanim_laptopgun_equip, // equip animation invanim_laptopgun_unequip, // unequip animation NULL, // pritosec animation @@ -2562,35 +2249,27 @@ struct weapon invitem_laptopgun = { &invammo_laptopgun, // pri ammo NULL, // sec ammo &inve_00011140, // eptr - 1.200000, // sway - 16.000000, // left/right - -17.700001, // up/down - -14.500000, // front/back - 1.000000, // unk38 - &invf_00012fc8, // fptr + 1.2, // sway + 16, // left/right + -17.7, // up/down + -14.5, // front/back + 1, // unk38 + invf_00012fc8, // fptr invg_00012fe8, // gptr - 0x4c18, // short name - 0x4c18, // name - 0x4c96, // manufacturer - 0x4cac, // description + L_GUN(24), // short name + L_GUN(24), // name + L_GUN(150), // manufacturer + L_GUN(172), // description 0x0402a650, // flags }; -// 131dc -struct inventory_typef invf_000131dc = { - 0x01000000, - 0x0100002b, - 0x00000000, - 0x00000000, - 0x00000000, +struct inventory_typef invf_000131dc[] = { + { 0x0100, 0x0000, 0x0100, 0x002b, 0x0000 }, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, }; -// 131f0 -// type g s8 invg_000131f0[] = {43, 0, 90, 0, -1}; - -// 131f8 u32 invanim_shotgun_reload[] = { gunscript_playanimation(0x03ed, 0, 10000) gunscript_showpart(1, 43) @@ -2602,7 +2281,6 @@ u32 invanim_shotgun_reload[] = { gunscript_end }; -// 13238 u32 invanim_shotgun_equiporsingleshot[] = { gunscript_playanimation(0x03ee, 0, 10000) gunscript_waittime(9, 2) @@ -2610,7 +2288,6 @@ u32 invanim_shotgun_equiporsingleshot[] = { gunscript_end }; -// 13258 u32 invanim_shotgun_doubleshot[] = { gunscript_playanimation(0x042c, 0, 10000) gunscript_waittime(9, 2) @@ -2618,16 +2295,15 @@ u32 invanim_shotgun_doubleshot[] = { gunscript_end }; -// 13278 struct weaponfunc_shootsingle invfunc_shotgun_single = { INVENTORYFUNCTYPE_SHOOT_SINGLE, - 0x4c59, // name + L_GUN(89), // name 0x00, // unk06 0, // unk07 &invmenupos_00011048, // menupos invanim_shotgun_equiporsingleshot, // fire animation 0x00000000, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x00000000, 0x3f19999a, 0x41f00000, @@ -2640,16 +2316,15 @@ struct weaponfunc_shootsingle invfunc_shotgun_single = { 0x01000000, }; -// 132b8 struct weaponfunc_shootsingle invfunc_shotgun_double = { INVENTORYFUNCTYPE_SHOOT_SINGLE, - 0x4c69, // name + L_GUN(105), // name 0x00, // unk06 0, // unk07 &invmenupos_00011048, // menupos invanim_shotgun_doubleshot, // fire animation 0x00001000, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x00000000, 0x3f19999a, 0x41800000, @@ -2662,7 +2337,6 @@ struct weaponfunc_shootsingle invfunc_shotgun_double = { 0x01000000, }; -// 132f8 struct inventory_ammo invammo_shotgun = { AMMOTYPE_SHOTGUN, CASING_SHOTGUN, @@ -2671,10 +2345,9 @@ struct inventory_ammo invammo_shotgun = { 67108864, // style }; -// 1330c struct weapon invitem_shotgun = { - 0x0386, // lo model - 0x04ca, // hi model + FILE_GSHOTGUN, // lo model + FILE_GSHOTGUNLOD, // hi model invanim_shotgun_equiporsingleshot, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -2683,67 +2356,36 @@ struct weapon invitem_shotgun = { &invammo_shotgun, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 12.000000, // left/right - -16.700001, // up/down - -21.000000, // front/back - 1.000000, // unk38 - &invf_000131dc, // fptr + 1, // sway + 12, // left/right + -16.7, // up/down + -21, // front/back + 1, // unk38 + invf_000131dc, // fptr invg_000131f0, // gptr - 0x4c19, // short name - 0x4c19, // name - 0x4c95, // manufacturer - 0x4cad, // description + L_GUN(25), // short name + L_GUN(25), // name + L_GUN(149), // manufacturer + L_GUN(173), // description 0x00026650, // flags }; -u32 var8006d33c = 0x00000000; -u32 var8006d340 = 0x3f800000; -u32 var8006d344 = 0x3f800000; -u32 var8006d348 = 0x3f800000; -u32 var8006d34c = 0x3f800000; -u32 var8006d350 = 0x3f800000; -u32 var8006d354 = 0x3f800000; -u32 var8006d358 = 0x00000000; -u32 var8006d35c = 0x00000000; -u32 var8006d360 = 0x00000000; -u32 var8006d364 = 0x00000000; -u32 var8006d368 = 0x00000000; -u32 var8006d36c = 0x3f800000; -u32 var8006d370 = 0x3f800000; -u32 var8006d374 = 0x3f800000; -u32 var8006d378 = 0x3f800000; -u32 var8006d37c = 0x3f800000; -u32 var8006d380 = 0x3f800000; -u32 var8006d384 = 0x3f800000; -u32 var8006d388 = 0x00000000; -u32 var8006d38c = 0x00000000; -u32 var8006d390 = 0x00000000; -u32 var8006d394 = 0x00000000; -u32 var8006d398 = 0x00000000; +f32 var8006d33c[] = {0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0}; +f32 var8006d36c[] = {1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0}; -// 133bc -// type g s8 invg_000133bc[] = {90, 0, 91, 0, 92, 0, 43, 0, -1}; - -// 133c8 -struct inventory_typef invf_000133c8 = { - 0x01000000, - 0x0100002b, - 0x00000000, - 0x00000000, - 0x00000000, +struct inventory_typef invf_000133c8[] = { + { 0x0100, 0x0000, 0x0100, 0x002b, 0x0000 }, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, }; -// 133dc u32 invanim_reaper_shoot[] = { gunscript_playanimation(0x0400, 0, 10000) gunscript_waittime(12, 5) gunscript_end }; -// 133f4 u32 invanim_reaper_reload[] = { gunscript_playanimation(0x0401, 0, 10000) gunscript_playsound(49, 0x05c7) @@ -2756,28 +2398,25 @@ u32 invanim_reaper_reload[] = { gunscript_end }; -// 1343c u32 invanim_reaper_equip[] = { gunscript_playanimation(0x0427, 0, 10000) gunscript_end }; -// 1344c u32 invanim_reaper_unequip[] = { gunscript_playanimation(0x0428, 0, 10000) gunscript_end }; -// 1345c struct weaponfunc_shootauto invfunc_reaper_shoot = { INVENTORYFUNCTYPE_SHOOT_AUTOMATIC, - 0x4c58, // name + L_GUN(88), // name 0x00, // unk06 0, // unk07 &invmenupos_0001105c, // menupos invanim_reaper_shoot, // fire animation 0x00000002, // flags - (u32) &invmenupos_000110ac, + &invmenupos_000110ac, 0x00000000, 0x3f99999a, 0x42600000, @@ -2790,15 +2429,14 @@ struct weaponfunc_shootauto invfunc_reaper_shoot = { 0x01000000, 60, 1800, - (u32) &var8006d33c, - (u32) &var8006d36c, + var8006d33c, + var8006d36c, 0x58580000, }; -// 134b0 struct weaponfunc_close invfunc_reaper_grind = { INVENTORYFUNCTYPE_CLOSE, - 0x4c6a, // name + L_GUN(106), // name 0x00, // unk06 -1, // unk07 &invmenupos_0001100c, // menupos @@ -2820,7 +2458,6 @@ struct weaponfunc_close invfunc_reaper_grind = { 0x00000000, }; -// 134fc struct inventory_ammo invammo_reaper = { AMMOTYPE_REAPER, CASING_REAPER, @@ -2829,10 +2466,9 @@ struct inventory_ammo invammo_reaper = { 0, // style }; -// 13510 struct weapon invitem_reaper = { - 0x0387, // lo model - 0x039d, // hi model + FILE_GSKMINIGUN, // lo model + FILE_GSKMINIGUNLOD, // hi model invanim_reaper_equip, // equip animation invanim_reaper_unequip, // unequip animation NULL, // pritosec animation @@ -2841,34 +2477,27 @@ struct weapon invitem_reaper = { &invammo_reaper, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 4.000000, // left/right - -21.200001, // up/down - -30.500000, // front/back - 1.000000, // unk38 - &invf_000133c8, // fptr + 1, // sway + 4, // left/right + -21.2, // up/down + -30.5, // front/back + 1, // unk38 + invf_000133c8, // fptr invg_000133bc, // gptr - 0x4c1a, // short name - 0x4c1a, // name - 0x4c98, // manufacturer - 0x4cae, // description + L_GUN(26), // short name + L_GUN(26), // name + L_GUN(152), // manufacturer + L_GUN(174), // description 0x00022650, // flags }; -// 13560 -// type g s8 invg_00013560[] = {40, 0, -1}; -// 13564 -struct inventory_typef invf_00013564 = { - 0x01000000, - 0x01000028, - 0x00000000, - 0x00000000, - 0x00000000, +struct inventory_typef invf_00013564[] = { + { 0x0100, 0x0000, 0x0100, 0x0028, 0x0000 }, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, }; -// 13578 u32 invanim_rocketlauncher_reload[] = { gunscript_playanimation(0x03ef, 0, 10000) gunscript_setsoundspeed(16, 900) @@ -2885,28 +2514,25 @@ u32 invanim_rocketlauncher_reload[] = { gunscript_end }; -// 135e0 u32 invanim_rockerlauncher_equiporshoot[] = { gunscript_playanimation(0x03f0, 0, 10000) gunscript_end }; -// 135f0 struct inventory_typee inve_000135f0 = { 0, - 0x40400000, - 0x41000000, - 0x41700000, - 0x3f78db8c, - 0x3f7a0903, + 3, + 8, + 15, + 0.9721, + 0.9767, 0x30000000, 0x00000002, }; -// 13610 struct weaponfunc_shootprojectile invfunc_rockerlauncher_shoot = { INVENTORYFUNCTYPE_SHOOT_PROJECTILE, - 0x4c5b, // name + L_GUN(91), // name 0x00, // unk06 0, // unk07 &invmenupos_00011048, // menupos @@ -2934,10 +2560,9 @@ struct weaponfunc_shootprojectile invfunc_rockerlauncher_shoot = { 0x80530000, }; -// 13674 struct weaponfunc_shootprojectile invfunc_rocketlauncher_homing = { INVENTORYFUNCTYPE_SHOOT_PROJECTILE, - 0x4c5c, // name + L_GUN(92), // name 0x00, // unk06 0, // unk07 &invmenupos_00011048, // menupos @@ -2965,7 +2590,6 @@ struct weaponfunc_shootprojectile invfunc_rocketlauncher_homing = { 0x80530000, }; -// 136d8 struct inventory_ammo invammo_rocketlauncher = { AMMOTYPE_ROCKET, CASING_NONE, @@ -2974,10 +2598,9 @@ struct inventory_ammo invammo_rocketlauncher = { 0, // style }; -// 136ec struct weapon invitem_rocketlauncher = { - 0x0388, // lo model - 0x04c9, // hi model + FILE_GDYROCKET, // lo model + FILE_GROCKETLOD, // hi model invanim_rockerlauncher_equiporshoot, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -2986,27 +2609,25 @@ struct weapon invitem_rocketlauncher = { &invammo_rocketlauncher, // pri ammo NULL, // sec ammo &inve_000135f0, // eptr - 1.000000, // sway - 24.500000, // left/right - -25.200001, // up/down - -30.000000, // front/back - 1.000000, // unk38 - &invf_00013564, // fptr + 1, // sway + 24.5, // left/right + -25.2, // up/down + -30, // front/back + 1, // unk38 + invf_00013564, // fptr invg_00013560, // gptr - 0x4c50, // short name - 0x4c1b, // name - 0x4c95, // manufacturer - 0x4caf, // description + L_GUN(80), // short name + L_GUN(27), // name + L_GUN(149), // manufacturer + L_GUN(175), // description 0x40026270, // flags }; -// 1373c u32 invanim_slayer_equiporshoot[] = { gunscript_playanimation(0x042a, 0, 10000) gunscript_end }; -// 1374c u32 invanim_slayer_reload[] = { gunscript_playanimation(0x0429, 0, 10000) gunscript_setsoundspeed(52, 800) @@ -3017,10 +2638,9 @@ u32 invanim_slayer_reload[] = { gunscript_end }; -// 13784 struct weaponfunc_shootprojectile invfunc_slayer_shoot = { INVENTORYFUNCTYPE_SHOOT_PROJECTILE, - 0x4c5b, // name + L_GUN(91), // name 0x00, // unk06 0, // unk07 &invmenupos_00011048, // menupos @@ -3048,10 +2668,9 @@ struct weaponfunc_shootprojectile invfunc_slayer_shoot = { 0x80530000, }; -// 137e8 struct weaponfunc_shootprojectile invfunc_slayer_flybywire = { INVENTORYFUNCTYPE_SHOOT_PROJECTILE, - 0x4c5d, // name + L_GUN(93), // name 0x00, // unk06 0, // unk07 &invmenupos_00011048, // menupos @@ -3079,7 +2698,6 @@ struct weaponfunc_shootprojectile invfunc_slayer_flybywire = { 0x80680000, }; -// 1384c struct inventory_ammo invammo_slayer = { AMMOTYPE_ROCKET, CASING_NONE, @@ -3088,10 +2706,9 @@ struct inventory_ammo invammo_slayer = { 0, // style }; -// 13860 struct weapon invitem_slayer = { - 0x038a, // lo model - 0x04cc, // hi model + FILE_GSKROCKET, // lo model + FILE_GSKROCKETLOD, // hi model invanim_slayer_equiporshoot, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -3100,33 +2717,30 @@ struct weapon invitem_slayer = { &invammo_slayer, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 22.500000, // left/right - -32.000000, // up/down - -40.500000, // front/back - 1.000000, // unk38 + 1, // sway + 22.5, // left/right + -32, // up/down + -40.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4c1d, // short name - 0x4c1d, // name - 0x4c98, // manufacturer - 0x4cb1, // description + L_GUN(29), // short name + L_GUN(29), // name + L_GUN(152), // manufacturer + L_GUN(177), // description 0x02026270, // flags }; -u32 var8006d890 = 0x01000000; -u32 var8006d894 = 0x01000029; -u32 var8006d898 = 0x00000000; -u32 var8006d89c = 0x00000000; -u32 var8006d8a0 = 0x00000000; +struct inventory_typef invf_unused_8006d890[] = { + { 0x0100, 0x0000, 0x0100, 0x0029, 0x0000 }, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, +}; -// 138c4 u32 invanim_devastator_equiporshoot[] = { gunscript_playanimation(0x03f7, 0, 10000) gunscript_end }; -// 138d4 u32 invanim_devastator_reload[] = { gunscript_playanimation(0x03f8, 0, 10000) gunscript_setsoundspeed(15, 600) @@ -3142,10 +2756,9 @@ u32 invanim_devastator_reload[] = { gunscript_end }; -// 13934 struct weaponfunc_shootprojectile invfunc_devastator_shoot = { INVENTORYFUNCTYPE_SHOOT_PROJECTILE, - 0x4c62, // name + L_GUN(98), // name 0x00, // unk06 0, // unk07 &invmenupos_00011048, // menupos @@ -3173,10 +2786,9 @@ struct weaponfunc_shootprojectile invfunc_devastator_shoot = { 0x80530000, }; -// 13998 struct weaponfunc_shootprojectile invfunc_devastator_wallhugger = { INVENTORYFUNCTYPE_SHOOT_PROJECTILE, - 0x4c63, // name + L_GUN(99), // name 0x00, // unk06 0, // unk07 &invmenupos_00011048, // menupos @@ -3204,7 +2816,6 @@ struct weaponfunc_shootprojectile invfunc_devastator_wallhugger = { 0x80530000, }; -// 139fc struct inventory_ammo invammo_devastator = { AMMOTYPE_DEVASTATOR, CASING_NONE, @@ -3213,14 +2824,11 @@ struct inventory_ammo invammo_devastator = { 134217728, // style }; -// 13a10 -// type g s8 invg_00013a10[] = {41, 0, -1}; -// 13a14 struct weapon invitem_devastator = { - 0x0389, // lo model - 0x04bf, // hi model + FILE_GDYDEVASTATOR, // lo model + FILE_GDEVASTATORLOD, // hi model invanim_devastator_equiporshoot, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -3229,24 +2837,23 @@ struct weapon invitem_devastator = { &invammo_devastator, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 19.500000, // left/right - -25.500000, // up/down - -29.000000, // front/back - 1.000000, // unk38 + 1, // sway + 19.5, // left/right + -25.5, // up/down + -29, // front/back + 1, // unk38 NULL, // fptr invg_00013a10, // gptr - 0x4c1c, // short name - 0x4c1c, // name - 0x4c95, // manufacturer - 0x4cb0, // description + L_GUN(28), // short name + L_GUN(28), // name + L_GUN(149), // manufacturer + L_GUN(176), // description 0x00026270, // flags }; -// 13a64 struct weaponfunc invfunc_mine_threatdetector = { INVENTORYFUNCTYPE_NONE, - 0x4c77, // name + L_GUN(119), // name 0x00, // unk06 -1, // unk07 &invmenupos_00010fd0, // menupos @@ -3254,19 +2861,16 @@ struct weaponfunc invfunc_mine_threatdetector = { 0x00080000, // flags }; -// 13a78 u32 inanim_mine_equiporreload[] = { gunscript_playanimation(0x0430, 0, 10000) gunscript_end }; -// 13a88 u32 invanim_mine_unequip[] = { gunscript_playanimation(0x0431, 0, 10000) gunscript_end }; -// 13a98 u32 invanim_mine_throw[] = { gunscript_playanimation(0x0435, 0, 10000) gunscript_waitforzreleased(10) @@ -3274,10 +2878,9 @@ u32 invanim_mine_throw[] = { gunscript_end }; -// 13ab8 struct weaponfunc_throw invfunc_timedmine_throw = { INVENTORYFUNCTYPE_THROW, - 0x4c78, // name + L_GUN(120), // name 0x00, // unk06 0, // unk07 &invmenupos_00010fd0, // menupos @@ -3289,7 +2892,6 @@ struct weaponfunc_throw invfunc_timedmine_throw = { 0x00000000, }; -// 13adc struct inventory_ammo invammo_timedmine = { AMMOTYPE_TIMED_MINE, CASING_NONE, @@ -3298,10 +2900,9 @@ struct inventory_ammo invammo_timedmine = { 33554432, // style }; -// 13af0 struct weapon invitem_timedmine = { - 0x0391, // lo model - 0x0391, // hi model + FILE_GTIMEDMINE, // lo model + FILE_GTIMEDMINE, // hi model inanim_mine_equiporreload, // equip animation invanim_mine_unequip, // unequip animation NULL, // pritosec animation @@ -3310,51 +2911,38 @@ struct weapon invitem_timedmine = { &invammo_timedmine, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 8.000000, // left/right - -15.000000, // up/down - -23.000000, // front/back - 1.000000, // unk38 + 1, // sway + 8, // left/right + -15, // up/down + -23, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4c26, // short name - 0x4c26, // name - 0x4c00, // manufacturer - 0x4cb9, // description + L_GUN(38), // short name + L_GUN(38), // name + L_GUN(0), // manufacturer + L_GUN(185), // description 0x00022259, // flags }; -// 13b40 -struct inventory_typef invf_00013b40 = { - 0x05000000, - 0x03000035, - 0x00000500, - 0x00000300, - 0x00290000, +struct inventory_typef invf_00013b40[] = { + { 0x0500, 0x0000, 0x0300, 0x0035, 0x0000 }, + { 0x0500, 0x0000, 0x0300, 0x0029, 0x0000 }, + { 0x0600, 0x0000, 0x0300, 0x0036, 0x0000 }, + { 0x0600, 0x0000, 0x0300, 0x0028, 0x0000 }, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, }; -u32 var8006db34 = 0x06000000; -u32 var8006db38 = 0x03000036; -u32 var8006db3c = 0x00000600; -u32 var8006db40 = 0x00000300; -u32 var8006db44 = 0x00280000; -u32 var8006db48 = 0x00000000; -u32 var8006db4c = 0x00000000; -u32 var8006db50 = 0x00000000; - -// 13b74 u32 invanim_remotemine_equiporreload[] = { gunscript_playanimation(0x0432, 0, 10000) gunscript_end }; -// 13b84 u32 invanim_remotemine_unequip[] = { gunscript_playanimation(0x0433, 0, 10000) gunscript_end }; -// 13b94 u32 invanim_remotemine_throw[] = { gunscript_playanimation(0x0436, 0, 10000) gunscript_waitforzreleased(10) @@ -3362,10 +2950,9 @@ u32 invanim_remotemine_throw[] = { gunscript_end }; -// 13bb4 struct weaponfunc_throw invfunc_remotemine_throw = { INVENTORYFUNCTYPE_THROW, - 0x4c7a, // name + L_GUN(122), // name 0x00, // unk06 0, // unk07 &invmenupos_00010fd0, // menupos @@ -3377,21 +2964,19 @@ struct weaponfunc_throw invfunc_remotemine_throw = { 0x00000000, }; -// 13bd8 struct weaponfunc_special invfunc_remotemine_detonate = { INVENTORYFUNCTYPE_SPECIAL, - 0x4c7b, // name + L_GUN(123), // name 0x00, // unk06 -1, // unk07 &invmenupos_00010fd0, // menupos NULL, // fire animation 0x00102000, // flags - 0x00000005, + SPECIALFUNC_REMOTEMINE_DETONATE, 0x0000001e, 0x00000000, }; -// 13bf8 struct inventory_ammo invammo_remotemine = { AMMOTYPE_REMOTE_MINE, CASING_NONE, @@ -3400,14 +2985,11 @@ struct inventory_ammo invammo_remotemine = { 33554432, // style }; -// 13c0c -// type g s8 invg_00013c0c[] = {41, 0, -1}; -// 13c10 struct weapon invitem_remotemine = { - 0x0393, // lo model - 0x0393, // hi model + FILE_GREMOTEMINE, // lo model + FILE_GREMOTEMINE, // hi model invanim_remotemine_equiporreload, // equip animation invanim_remotemine_unequip, // unequip animation NULL, // pritosec animation @@ -3416,24 +2998,23 @@ struct weapon invitem_remotemine = { &invammo_remotemine, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 4.000000, // left/right - -15.000000, // up/down - -23.000000, // front/back - 1.000000, // unk38 - &invf_00013b40, // fptr + 1, // sway + 4, // left/right + -15, // up/down + -23, // front/back + 1, // unk38 + invf_00013b40, // fptr invg_00013c0c, // gptr - 0x4c28, // short name - 0x4c28, // name - 0x4c00, // manufacturer - 0x4cbb, // description + L_GUN(40), // short name + L_GUN(40), // name + L_GUN(0), // manufacturer + L_GUN(187), // description 0x00022259, // flags }; -// 13c60 struct weaponfunc_throw invfunc_proxymine_throw = { INVENTORYFUNCTYPE_THROW, - 0x4c79, // name + L_GUN(121), // name 0x00, // unk06 0, // unk07 &invmenupos_00010fd0, // menupos @@ -3445,7 +3026,6 @@ struct weaponfunc_throw invfunc_proxymine_throw = { 0x00000000, }; -// 13c84 struct inventory_ammo invammo_proximitymine = { AMMOTYPE_PROXY_MINE, CASING_NONE, @@ -3454,10 +3034,9 @@ struct inventory_ammo invammo_proximitymine = { 33554432, // style }; -// 13c98 struct weapon invitem_proximitymine = { - 0x0392, // lo model - 0x0392, // hi model + FILE_GPROXIMITYMINE, // lo model + FILE_GPROXIMITYMINE, // hi model inanim_mine_equiporreload, // equip animation invanim_mine_unequip, // unequip animation NULL, // pritosec animation @@ -3466,43 +3045,39 @@ struct weapon invitem_proximitymine = { &invammo_proximitymine, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 8.000000, // left/right - -15.000000, // up/down - -23.000000, // front/back - 1.000000, // unk38 + 1, // sway + 8, // left/right + -15, // up/down + -23, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4c51, // short name - 0x4c27, // name - 0x4c00, // manufacturer - 0x4cba, // description + L_GUN(81), // short name + L_GUN(39), // name + L_GUN(0), // manufacturer + L_GUN(186), // description 0x00022259, // flags }; -// 13ce8 u32 invanim_ecmmine_equiporreload[] = { gunscript_playanimation(0x0437, 0, 10000) gunscript_end }; -// 13cf8 u32 invanim_ecmmine_unequip[] = { gunscript_playanimation(0x0438, 0, 10000) gunscript_end }; -// 13d08 u32 invanim_ecmmine_throw[] = { gunscript_playanimation(0x0438, 0, 10000) gunscript_waittime(23, 2) gunscript_end }; -// 13d20 struct weaponfunc_throw invfunc_ecmmine_throw = { INVENTORYFUNCTYPE_THROW, - 0x4c8c, // name + L_GUN(140), // name 0x00, // unk06 0, // unk07 &invmenupos_00010fd0, // menupos @@ -3514,7 +3089,6 @@ struct weaponfunc_throw invfunc_ecmmine_throw = { 0x00000000, }; -// 13d44 struct inventory_ammo invammo_ecmmine = { AMMOTYPE_ECM_MINE, CASING_NONE, @@ -3523,10 +3097,9 @@ struct inventory_ammo invammo_ecmmine = { 33554432, // style }; -// 13d58 struct weapon invitem_ecmmine = { - 0x074d, // lo model - 0x074d, // hi model + FILE_GECMMINE, // lo model + FILE_GECMMINE, // hi model invanim_ecmmine_equiporreload, // equip animation invanim_ecmmine_unequip, // unequip animation NULL, // pritosec animation @@ -3535,51 +3108,52 @@ struct weapon invitem_ecmmine = { &invammo_ecmmine, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 14.000000, // left/right - -25.000000, // up/down - -31.500000, // front/back - 1.000000, // unk38 + 1, // sway + 14, // left/right + -25, // up/down + -31.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4c29, // short name - 0x4c29, // name - 0x4c00, // manufacturer - 0x4cbc, // description + L_GUN(41), // short name + L_GUN(41), // name + L_GUN(0), // manufacturer + L_GUN(188), // description 0x08622059, // flags }; -u32 var8006dd88 = 0x0387039d; -u32 var8006dd8c = 0x00000000; -u32 var8006dd90 = 0x00000000; -u32 var8006dd94 = 0x00000000; -u32 var8006dd98 = 0x00000000; -u32 var8006dd9c = (u32) &invfunc_remotemine_detonate; -u32 var8006dda0 = 0x00000000; -u32 var8006dda4 = 0x00000000; -u32 var8006dda8 = 0x00000000; -u32 var8006ddac = (u32) &inve_000110c0; -u32 var8006ddb0 = 0x3f800000; -u32 var8006ddb4 = 0x00000000; -u32 var8006ddb8 = 0xc21e0000; -u32 var8006ddbc = 0xc25e0000; -u32 var8006ddc0 = 0x3f800000; -u32 var8006ddc4 = 0x00000000; -u32 var8006ddc8 = 0x00000000; -u32 var8006ddcc = 0x4c264c26; -u32 var8006ddd0 = 0x4c004c00; -u32 var8006ddd4 = 0x08000048; - -// 13df8 -struct inventory_typef invf_00013df8 = { - 0x01000000, - 0x01000035, - 0x00000000, - 0x00000000, - 0x00000000, +// Some unfinished Reaper-like gun. The name is "Timed Mine". The primary +// function is detonate (and it works). It can't shoot. +struct weapon invitem_unused_8007dd88 = { + FILE_GSKMINIGUN, // lo model + FILE_GSKMINIGUNLOD, // hi model + NULL, // equip animation + NULL, // unequip animation + NULL, // pritosec animation + NULL, // sectopri animation + { &invfunc_remotemine_detonate, NULL }, // functions + NULL, // pri ammo + NULL, // sec ammo + &inve_000110c0, // eptr + 1, // sway + 0, // left/right + -39.5, // up/down + -55.5, // front/back + 1, // unk38 + NULL, // fptr + NULL, // gptr + L_GUN(38), // short name + L_GUN(38), // name + L_GUN(0), // manufacturer + L_GUN(0), // description + 0x08000048, // flags +}; + +struct inventory_typef invf_00013df8[] = { + { 0x0100, 0x0000, 0x0100, 0x0035, 0x0000 }, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, }; -// 13e0c u32 invanim_grenade_throw[] = { gunscript_playanimation(0x0426, 0, 10000) gunscript_popoutsackofpills(0x0006) @@ -3589,16 +3163,14 @@ u32 invanim_grenade_throw[] = { gunscript_end }; -// 13e3c u32 invanim_grenade_equiporreload[] = { gunscript_playanimation(0x042b, 0, 10000) gunscript_end }; -// 13e4c struct weaponfunc_throw invfunc_grenade_throw = { INVENTORYFUNCTYPE_THROW, - 0x4c7c, // name + L_GUN(124), // name 0x00, // unk06 0, // unk07 &invmenupos_00010fd0, // menupos @@ -3610,10 +3182,9 @@ struct weaponfunc_throw invfunc_grenade_throw = { 0x00000000, }; -// 13e70 struct weaponfunc_throw invfunc_grenade_pinball = { INVENTORYFUNCTYPE_THROW, - 0x4c7d, // name + L_GUN(125), // name 0x00, // unk06 0, // unk07 &invmenupos_00010fd0, // menupos @@ -3625,7 +3196,6 @@ struct weaponfunc_throw invfunc_grenade_pinball = { 0x00000000, }; -// 13e94 struct inventory_ammo invammo_grenade = { AMMOTYPE_GRENADE, CASING_NONE, @@ -3634,10 +3204,9 @@ struct inventory_ammo invammo_grenade = { 167772160, // style }; -// 13ea8 struct weapon invitem_grenade = { - 0x0390, // lo model - 0x04fe, // hi model + FILE_GGRENADE, // lo model + FILE_GGRENADELOD, // hi model invanim_grenade_equiporreload, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -3646,24 +3215,23 @@ struct weapon invitem_grenade = { &invammo_grenade, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 17.000000, // left/right - -19.700001, // up/down - -21.000000, // front/back - 1.000000, // unk38 - &invf_00013df8, // fptr + 1, // sway + 17, // left/right + -19.7, // up/down + -21, // front/back + 1, // unk38 + invf_00013df8, // fptr NULL, // gptr - 0x4c24, // short name - 0x4c24, // name - 0x4c00, // manufacturer - 0x4cb7, // description + L_GUN(36), // short name + L_GUN(36), // name + L_GUN(0), // manufacturer + L_GUN(183), // description 0x0002a67d, // flags }; -// 13ef8 struct weaponfunc_throw invfunc_nbomb_throw = { INVENTORYFUNCTYPE_THROW, - 0x4c86, // name + L_GUN(134), // name 0x00, // unk06 0, // unk07 &invmenupos_00010fd0, // menupos @@ -3675,10 +3243,9 @@ struct weaponfunc_throw invfunc_nbomb_throw = { 0x00000000, }; -// 13f1c struct weaponfunc_throw invfunc_nbomb_proxy = { INVENTORYFUNCTYPE_THROW, - 0x4c7f, // name + L_GUN(127), // name 0x00, // unk06 0, // unk07 &invmenupos_00010fd0, // menupos @@ -3690,7 +3257,6 @@ struct weaponfunc_throw invfunc_nbomb_proxy = { 0x00000000, }; -// 13f40 struct inventory_ammo invammo_nbomb = { AMMOTYPE_NBOMB, CASING_NONE, @@ -3699,10 +3265,9 @@ struct inventory_ammo invammo_nbomb = { 167772160, // style }; -// 13f54 struct weapon invitem_nbomb = { - 0x04fc, // lo model - 0x04fd, // hi model + FILE_GNBOMB, // lo model + FILE_GNBOMBLOD, // hi model invanim_grenade_equiporreload, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -3711,30 +3276,25 @@ struct weapon invitem_nbomb = { &invammo_nbomb, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 17.000000, // left/right - -19.700001, // up/down - -21.000000, // front/back - 1.000000, // unk38 - &invf_00013df8, // fptr + 1, // sway + 17, // left/right + -19.7, // up/down + -21, // front/back + 1, // unk38 + invf_00013df8, // fptr NULL, // gptr - 0x4c25, // short name - 0x4c25, // name - 0x4c00, // manufacturer - 0x4cb8, // description + L_GUN(37), // short name + L_GUN(37), // name + L_GUN(0), // manufacturer + L_GUN(184), // description 0x0062a67d, // flags }; -// 13fa4 -struct inventory_typef invf_00013fa4 = { - 0x01000000, - 0x01000028, - 0x00000000, - 0x00000000, - 0x00000000, +struct inventory_typef invf_00013fa4[] = { + { 0x0100, 0x0000, 0x0100, 0x0028, 0x0000 }, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, }; -// 13fb8 u32 invanim_farsight_reload[] = { gunscript_playanimation(0x03eb, 0, 10000) gunscript_showpart(1, 40) @@ -3744,34 +3304,31 @@ u32 invanim_farsight_reload[] = { gunscript_end }; -// 13fe8 u32 invanim_farsight_equiporshoot[] = { gunscript_playanimation(0x03ec, 0, 10000) gunscript_end }; -// 13ff8 struct inventory_typee inve_00013ff8 = { 0, - 0x40400000, - 0x41000000, - 0x41700000, - 0x3f78db8c, - 0x3f7a0903, + 3, + 8, + 15, + 0.9721, + 0.9767, 0x16000000, 0x00000005, }; -// 14018 struct weaponfunc_shootsingle invfunc_farsight_shoot = { INVENTORYFUNCTYPE_SHOOT_SINGLE, - 0x4c5a, // name + L_GUN(90), // name 0x00, // unk06 0, // unk07 &invmenupos_00011034, // menupos invanim_farsight_equiporshoot, // fire animation 0x00000000, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x00000000, 0x42c80000, 0x00000000, @@ -3784,16 +3341,15 @@ struct weaponfunc_shootsingle invfunc_farsight_shoot = { 0x05000000, }; -// 14058 struct weaponfunc_shootsingle invfunc_farsight_targetlocator = { INVENTORYFUNCTYPE_SHOOT_SINGLE, - 0x4c6f, // name + L_GUN(111), // name 0x00, // unk06 0, // unk07 &invmenupos_00011034, // menupos invanim_farsight_equiporshoot, // fire animation 0x00000000, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x00000000, 0x42c80000, 0x00000000, @@ -3806,7 +3362,6 @@ struct weaponfunc_shootsingle invfunc_farsight_targetlocator = { 0x05000000, }; -// 14098 struct inventory_ammo invammo_farsight = { AMMOTYPE_FARSIGHT, CASING_NONE, @@ -3815,14 +3370,11 @@ struct inventory_ammo invammo_farsight = { 0, // style }; -// 140ac -// type g s8 invg_000140ac[] = {40, 0, -1}; -// 140b0 struct weapon invitem_farsight = { - 0x038b, // lo model - 0x04ce, // hi model + FILE_GZ2020, // lo model + FILE_GZ2020LOD, // hi model invanim_farsight_equiporshoot, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -3831,34 +3383,26 @@ struct weapon invitem_farsight = { &invammo_farsight, // pri ammo NULL, // sec ammo &inve_00013ff8, // eptr - 6.000000, // sway - 21.500000, // left/right - -25.200001, // up/down - -32.500000, // front/back - 1.000000, // unk38 - &invf_00013fa4, // fptr + 6, // sway + 21.5, // left/right + -25.2, // up/down + -32.5, // front/back + 1, // unk38 + invf_00013fa4, // fptr invg_000140ac, // gptr - 0x4c4f, // short name - 0x4c1f, // name - 0x4c00, // manufacturer - 0x4cb2, // description + L_GUN(79), // short name + L_GUN(31), // name + L_GUN(0), // manufacturer + L_GUN(178), // description 0x00026650, // flags }; -// 14100 -struct inventory_typef invf_00014100 = { - 0x01000000, - 0x01000035, - 0x00000100, - 0x00000100, - 0x00290000, +struct inventory_typef invf_00014100[] = { + { 0x0100, 0x0000, 0x0100, 0x0035, 0x0000 }, + { 0x0100, 0x0000, 0x0100, 0x0029, 0x0000 }, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, }; -u32 var8006e0f4 = 0x00000000; -u32 var8006e0f8 = 0x00000000; -u32 var8006e0fc = 0x00000000; - -// 14120 u32 invanim_crossbow_reload[] = { gunscript_playanimation(0x00d4, 0, 10000) gunscript_hidepart(1, 40) @@ -3874,7 +3418,6 @@ u32 invanim_crossbow_reload[] = { gunscript_end }; -// 14180 u32 invanim_crossbow_shoot[] = { gunscript_playanimation(0x00c2, 0, 10000) gunscript_hidepart(20, 40) @@ -3882,7 +3425,6 @@ u32 invanim_crossbow_shoot[] = { gunscript_end }; -// 141a0 u32 invanim_crossbow_unequip[] = { gunscript_playanimation(0x00d3, 0, 10000) gunscript_hidepart(1, 40) @@ -3890,7 +3432,6 @@ u32 invanim_crossbow_unequip[] = { gunscript_end }; -// 141c0 u32 invanim_crosbow_equip[] = { gunscript_playanimation(0x00c1, 0, 10000) gunscript_playsound(32, 0x04fc) @@ -3898,10 +3439,9 @@ u32 invanim_crosbow_equip[] = { gunscript_end }; -// 141e0 struct weaponfunc_shootprojectile invfunc_crossbow_lethal = { INVENTORYFUNCTYPE_SHOOT_PROJECTILE, - 0x4c70, // name + L_GUN(112), // name 0x00, // unk06 0, // unk07 &invmenupos_00010fe4, // menupos @@ -3929,10 +3469,9 @@ struct weaponfunc_shootprojectile invfunc_crossbow_lethal = { 0xffff0000, }; -// 14244 struct weaponfunc_shootprojectile invfunc_crossbow_shoot = { INVENTORYFUNCTYPE_SHOOT_PROJECTILE, - 0x4c6b, // name + L_GUN(107), // name 0x00, // unk06 0, // unk07 &invmenupos_00010fe4, // menupos @@ -3960,7 +3499,6 @@ struct weaponfunc_shootprojectile invfunc_crossbow_shoot = { 0xffff0000, }; -// 142a8 struct inventory_ammo invammo_crossbow = { AMMOTYPE_CROSSBOW, CASING_NONE, @@ -3969,14 +3507,11 @@ struct inventory_ammo invammo_crossbow = { 67108864, // style }; -// 142bc -// type g s8 invg_000142bc[] = {40, 0, 41, 0, 42, 0, -1}; -// 142c4 struct weapon invitem_crossbow = { - 0x038d, // lo model - 0x04ba, // hi model + FILE_GCROSSBOW, // lo model + FILE_GCROSSBOWLOD, // hi model invanim_crosbow_equip, // equip animation invanim_crossbow_unequip, // unequip animation NULL, // pritosec animation @@ -3985,48 +3520,38 @@ struct weapon invitem_crossbow = { &invammo_crossbow, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 11.000000, // left/right - -15.000000, // up/down - -21.000000, // front/back - 1.000000, // unk38 - &invf_00014100, // fptr + 1, // sway + 11, // left/right + -15, // up/down + -21, // front/back + 1, // unk38 + invf_00014100, // fptr invg_000142bc, // gptr - 0x4c21, // short name - 0x4c21, // name - 0x4c00, // manufacturer - 0x4cb4, // description + L_GUN(33), // short name + L_GUN(33), // name + L_GUN(0), // manufacturer + L_GUN(180), // description 0x00022658, // flags }; -// 14314 -struct inventory_typef invf_00014314 = { - 0x01000000, - 0x01000028, - 0x00000100, - 0x00000100, - 0x00350000, +struct inventory_typef invf_00014314[] = { + { 0x0100, 0x0000, 0x0100, 0x0028, 0x0000 }, + { 0x0100, 0x0000, 0x0100, 0x0035, 0x0000 }, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, }; -u32 var8006e308 = 0x00000000; -u32 var8006e30c = 0x00000000; -u32 var8006e310 = 0x00000000; - -// 14334 u32 invanim_tranquilizer_lethalinject[] = { gunscript_playanimation(0x0411, 0, 10000) gunscript_waittime(18, 2) gunscript_end }; -// 1434c u32 invanim_tranquilizer_equiporshoot[] = { gunscript_playanimation(0x042d, 0, 10000) gunscript_waittime(7, 5) gunscript_end }; -// 14364 u32 invanim_tranquilizer_reload[] = { gunscript_playanimation(0x0410, 0, 10000) gunscript_showpart(1, 53) @@ -4048,16 +3573,15 @@ u32 invanim_tranquilizer_reload[] = { gunscript_end }; -// 143f4 struct weaponfunc_shootsingle invfunc_tranquilizer_shoot = { INVENTORYFUNCTYPE_SHOOT_SINGLE, - 0x4c6b, // name + L_GUN(107), // name 0x00, // unk06 0, // unk07 &invmenupos_00010fe4, // menupos invanim_tranquilizer_equiporshoot, // fire animation 0x00000200, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x10000000, 0x3e800000, 0x40400000, @@ -4070,10 +3594,9 @@ struct weaponfunc_shootsingle invfunc_tranquilizer_shoot = { 0x01000000, }; -// 14434 struct weaponfunc_close invfunc_tranquilizer_lethal = { INVENTORYFUNCTYPE_CLOSE, - 0x4c6c, // name + L_GUN(108), // name 0x00, // unk06 0, // unk07 &invmenupos_00010fe4, // menupos @@ -4095,7 +3618,6 @@ struct weaponfunc_close invfunc_tranquilizer_lethal = { 0x00000000, }; -// 14480 struct inventory_ammo invammo_tranquilizer = { AMMOTYPE_SEDATIVE, CASING_NONE, @@ -4104,14 +3626,11 @@ struct inventory_ammo invammo_tranquilizer = { 0, // style }; -// 14494 -// type g s8 invg_00014494[] = {40, 0, 41, 0, 42, 0, -1}; -// 1449c struct weapon invitem_tranquilizer = { - 0x038e, // lo model - 0x04bc, // hi model + FILE_GDRUGGUN, // lo model + FILE_GDRUGGUNLOD, // hi model invanim_tranquilizer_equiporshoot, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -4120,21 +3639,20 @@ struct weapon invitem_tranquilizer = { &invammo_tranquilizer, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 10.000000, // left/right - -15.200000, // up/down - -24.000000, // front/back - 1.000000, // unk38 - &invf_00014314, // fptr + 1, // sway + 10, // left/right + -15.2, // up/down + -24, // front/back + 1, // unk38 + invf_00014314, // fptr invg_00014494, // gptr - 0x4c22, // short name - 0x4c22, // name - 0x4c00, // manufacturer - 0x4cb5, // description + L_GUN(34), // short name + L_GUN(34), // name + L_GUN(0), // manufacturer + L_GUN(181), // description 0x0002e65c, // flags }; -// 144ec struct inventory_ammo invammo_psychosisgun = { AMMOTYPE_PSYCHOSIS, CASING_NONE, @@ -4143,16 +3661,15 @@ struct inventory_ammo invammo_psychosisgun = { 0, // style }; -// 14500 struct weaponfunc_shootsingle invfunc_psychosisgun_shoot = { INVENTORYFUNCTYPE_SHOOT_SINGLE, - 0x4c83, // name + L_GUN(131), // name 0x00, // unk06 0, // unk07 &invmenupos_00010fe4, // menupos invanim_tranquilizer_equiporshoot, // fire animation 0x00200200, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x10000000, 0x3f000000, 0x40400000, @@ -4165,10 +3682,9 @@ struct weaponfunc_shootsingle invfunc_psychosisgun_shoot = { 0x01000000, }; -// 14540 struct weapon invitem_psychosisgun = { - 0x038e, // lo model - 0x04bc, // hi model + FILE_GDRUGGUN, // lo model + FILE_GDRUGGUNLOD, // hi model invanim_tranquilizer_equiporshoot, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -4177,36 +3693,30 @@ struct weapon invitem_psychosisgun = { &invammo_psychosisgun, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 10.000000, // left/right - -16.200001, // up/down - -28.500000, // front/back - 1.000000, // unk38 - &invf_00014314, // fptr + 1, // sway + 10, // left/right + -16.2, // up/down + -28.5, // front/back + 1, // unk38 + invf_00014314, // fptr invg_00014494, // gptr - 0x4c52, // short name - 0x4c31, // name - 0x4c00, // manufacturer - 0x4cd2, // description + L_GUN(82), // short name + L_GUN(49), // name + L_GUN(0), // manufacturer + L_GUN(210), // description 0x0002e65c, // flags }; -// 14590 -struct inventory_typef invf_00014590 = { - 0x01000000, - 0x01000029, - 0x00000000, - 0x00000000, - 0x00000000, +struct inventory_typef invf_00014590[] = { + { 0x0100, 0x0000, 0x0100, 0x0029, 0x0000 }, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, }; -// 145a4 u32 invanim_sniperrifle_equip[] = { gunscript_playanimation(0x040c, 0, 10000) gunscript_end }; -// 145b4 u32 invanim_sniperrifle_reload[] = { gunscript_playanimation(0x040f, 0, 10000) gunscript_setsoundspeed(22, 850) @@ -4221,28 +3731,26 @@ u32 invanim_sniperrifle_reload[] = { gunscript_end }; -// 1460c struct inventory_typee inve_0001460c = { 0, - 0x40400000, - 0x41000000, - 0x41700000, - 0x3f78db8c, - 0x3f7a0903, + 3, + 8, + 15, + 0.9721, + 0.9767, 0x15000000, 0x00000005, }; -// 1462c struct weaponfunc_shootsingle invfunc_sniperrifle_singleshot = { INVENTORYFUNCTYPE_SHOOT_SINGLE, - 0x4c55, // name + L_GUN(85), // name 0x00, // unk06 0, // unk07 &invmenupos_00010ff8, // menupos NULL, // fire animation 0x00002000, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x10000000, 0x3f99999a, 0x00000000, @@ -4255,21 +3763,19 @@ struct weaponfunc_shootsingle invfunc_sniperrifle_singleshot = { 0x01000000, }; -// 1466c struct weaponfunc_special invfunc_sniperrifle_crouch = { INVENTORYFUNCTYPE_SPECIAL, - 0x4c82, // name + L_GUN(130), // name 0x00, // unk06 -1, // unk07 &invmenupos_00010fd0, // menupos NULL, // fire animation 0x00102000, // flags - 0x00000008, + SPECIALFUNC_SNIPERRIFLE_CROUCH, 0x0000001e, 0x00000000, }; -// 1468c struct inventory_ammo invammo_sniperrifle = { AMMOTYPE_RIFLE, CASING_RIFLE, @@ -4278,14 +3784,11 @@ struct inventory_ammo invammo_sniperrifle = { 0, // style }; -// 146a0 -// type g s8 invg_000146a0[] = {41, 0, -1}; -// 146a4 struct weapon invitem_sniperrifle = { - 0x038c, // lo model - 0x04cd, // hi model + FILE_GSNIPERRIFLE, // lo model + FILE_GSNIPERLOD, // hi model invanim_sniperrifle_equip, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -4294,42 +3797,39 @@ struct weapon invitem_sniperrifle = { &invammo_sniperrifle, // pri ammo NULL, // sec ammo &inve_0001460c, // eptr - 6.000000, // sway - 21.000000, // left/right - -27.200001, // up/down - -31.500000, // front/back - 1.000000, // unk38 - &invf_00014590, // fptr + 6, // sway + 21, // left/right + -27.2, // up/down + -31.5, // front/back + 1, // unk38 + invf_00014590, // fptr invg_000146a0, // gptr - 0x4c20, // short name - 0x4c20, // name - 0x4c00, // manufacturer - 0x4cb3, // description + L_GUN(32), // short name + L_GUN(32), // name + L_GUN(0), // manufacturer + L_GUN(179), // description 0x00026650, // flags }; -// 146f4 u32 invanim_laser_equip[] = { gunscript_playanimation(0x042e, 0, 10000) gunscript_end }; -// 14704 u32 invanim_laser_unequip[] = { gunscript_playanimation(0x042f, 0, 10000) gunscript_end }; -// 14714 struct weaponfunc_shootsingle invfunc_laser_pulse = { INVENTORYFUNCTYPE_SHOOT_SINGLE, - 0x4c84, // name + L_GUN(132), // name 0x00, // unk06 -1, // unk07 &invmenupos_0001100c, // menupos NULL, // fire animation 0x00000000, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x00000000, 0x3f800000, 0x00000000, @@ -4342,16 +3842,15 @@ struct weaponfunc_shootsingle invfunc_laser_pulse = { 0x01000000, }; -// 14754 struct weaponfunc_shootauto invfunc_laser_stream = { INVENTORYFUNCTYPE_SHOOT_AUTOMATIC, - 0x4c85, // name + L_GUN(133), // name 0x00, // unk06 -1, // unk07 &invmenupos_00010fd0, // menupos NULL, // fire animation 0x00000000, // flags - (u32) &invmenupos_00011084, + &invmenupos_00011084, 0x00000000, 0x3dcccccd, 0x00000000, @@ -4364,15 +3863,14 @@ struct weaponfunc_shootauto invfunc_laser_stream = { 0x01000000, 3600, 3600, - 0x00000000, - 0x00000000, + NULL, + NULL, 0x00000000, }; -// 147a8 struct weapon invitem_laser = { - 0x04df, // lo model - 0x04c3, // hi model + FILE_GLASER, // lo model + FILE_GLASERLOD, // hi model invanim_laser_equip, // equip animation invanim_laser_unequip, // unequip animation NULL, // pritosec animation @@ -4381,50 +3879,42 @@ struct weapon invitem_laser = { NULL, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 3.000000, // sway - -12.000000, // left/right - -12.700000, // up/down - -21.500000, // front/back - 1.000000, // unk38 + 3, // sway + -12, // left/right + -12.7, // up/down + -21.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4c2f, // short name - 0x4c2f, // name - 0x4c96, // manufacturer - 0x4cbd, // description + L_GUN(47), // short name + L_GUN(47), // name + L_GUN(150), // manufacturer + L_GUN(189), // description 0x0412a678, // flags }; -// 147f8 -// type g s8 invg_000147f8[] = {90, 0, -1}; -// 147fc -struct inventory_typef invf_000147fc = { - 0x01000000, - 0x01000035, - 0x00000000, - 0x00000000, - 0x00000000, +struct inventory_typef invf_000147fc[] = { + { 0x0100, 0x0000, 0x0100, 0x0035, 0x0000 }, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, }; -// 14810 u32 invanim_pp9i_equiporshoot[] = { gunscript_playanimation(0x0440, 0, 10000) gunscript_waittime(10, 5) gunscript_end }; -// 14828 struct weaponfunc_shootsingle invfunc_pp9i_shoot = { INVENTORYFUNCTYPE_SHOOT_SINGLE, - 0x4c55, // name + L_GUN(85), // name 0x00, // unk06 0, // unk07 &invmenupos_0001100c, // menupos invanim_pp9i_equiporshoot, // fire animation 0x00000000, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x10000000, 0x3f800000, 0x3f800000, @@ -4437,7 +3927,6 @@ struct weaponfunc_shootsingle invfunc_pp9i_shoot = { 0x01000000, }; -// 14868 struct inventory_ammo invammo_pp9i = { AMMOTYPE_PISTOL, CASING_STANDARD, @@ -4446,10 +3935,9 @@ struct inventory_ammo invammo_pp9i = { 0, // style }; -// 1487c struct weapon invitem_pp9i = { - 0x0394, // lo model - 0x0394, // hi model + FILE_GWPPK, // lo model + FILE_GWPPK, // hi model invanim_pp9i_equiporshoot, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -4458,37 +3946,35 @@ struct weapon invitem_pp9i = { &invammo_pp9i, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 10.000000, // left/right - -14.800000, // up/down - -19.000000, // front/back - 1.000000, // unk38 - &invf_000147fc, // fptr + 1, // sway + 10, // left/right + -14.8, // up/down + -19, // front/back + 1, // unk38 + invf_000147fc, // fptr invg_000147f8, // gptr - 0x4c32, // short name - 0x4c32, // name - 0x4c00, // manufacturer - 0x4c00, // description + L_GUN(50), // short name + L_GUN(50), // name + L_GUN(0), // manufacturer + L_GUN(0), // description 0x000af67c, // flags }; -// 148cc u32 invanim_cc13_equiporshoot[] = { gunscript_playanimation(0x043f, 0, 10000) gunscript_waittime(10, 5) gunscript_end }; -// 148e4 struct weaponfunc_shootsingle invfunc_cc13_shoot = { INVENTORYFUNCTYPE_SHOOT_SINGLE, - 0x4c55, // name + L_GUN(85), // name 0x00, // unk06 0, // unk07 &invmenupos_0001100c, // menupos invanim_cc13_equiporshoot, // fire animation 0x00000000, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x10000000, 0x3f800000, 0x40c00000, @@ -4501,7 +3987,6 @@ struct weaponfunc_shootsingle invfunc_cc13_shoot = { 0x01000000, }; -// 14924 struct inventory_ammo invammo_cc13 = { AMMOTYPE_PISTOL, CASING_STANDARD, @@ -4510,10 +3995,9 @@ struct inventory_ammo invammo_cc13 = { 0, // style }; -// 14938 struct weapon invitem_cc13 = { - 0x0395, // lo model - 0x0395, // hi model + FILE_GTT33, // lo model + FILE_GTT33, // hi model invanim_cc13_equiporshoot, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -4522,30 +4006,29 @@ struct weapon invitem_cc13 = { &invammo_cc13, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 10.000000, // left/right - -17.000000, // up/down - -26.500000, // front/back - 1.000000, // unk38 - &invf_000147fc, // fptr + 1, // sway + 10, // left/right + -17, // up/down + -26.5, // front/back + 1, // unk38 + invf_000147fc, // fptr invg_000147f8, // gptr - 0x4c33, // short name - 0x4c33, // name - 0x4c00, // manufacturer - 0x4c00, // description + L_GUN(51), // short name + L_GUN(51), // name + L_GUN(0), // manufacturer + L_GUN(0), // description 0x000af67c, // flags }; -// 14988 struct weaponfunc_shootauto invfunc_kl01313_shoot = { INVENTORYFUNCTYPE_SHOOT_AUTOMATIC, - 0x4c56, // name + L_GUN(86), // name 0x00, // unk06 0, // unk07 &invmenupos_0001100c, // menupos NULL, // fire animation 0x00000000, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x00000000, 0x3f19999a, 0x41700000, @@ -4558,12 +4041,11 @@ struct weaponfunc_shootauto invfunc_kl01313_shoot = { 0x01000000, 450, 450, - 0x00000000, - 0x00000000, + NULL, + NULL, 0x00000000, }; -// 149dc struct inventory_ammo invammo_kl01313 = { AMMOTYPE_SMG, CASING_STANDARD, @@ -4572,10 +4054,9 @@ struct inventory_ammo invammo_kl01313 = { 0, // style }; -// 149f0 struct weapon invitem_kl01313 = { - 0x0396, // lo model - 0x0396, // hi model + FILE_GSKORPION, // lo model + FILE_GSKORPION, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -4584,30 +4065,29 @@ struct weapon invitem_kl01313 = { &invammo_kl01313, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 8.500000, // left/right - -13.000000, // up/down - -29.500000, // front/back - 1.000000, // unk38 + 1, // sway + 8.5, // left/right + -13, // up/down + -29.5, // front/back + 1, // unk38 NULL, // fptr invg_000147f8, // gptr - 0x4c34, // short name - 0x4c34, // name - 0x4c00, // manufacturer - 0x4c00, // description + L_GUN(52), // short name + L_GUN(52), // name + L_GUN(0), // manufacturer + L_GUN(0), // description 0x0000967c, // flags }; -// 14a40 struct weaponfunc_shootauto invfunc_kf7special_shoot = { INVENTORYFUNCTYPE_SHOOT_AUTOMATIC, - 0x4c57, // name + L_GUN(87), // name 0x00, // unk06 0, // unk07 &invmenupos_0001100c, // menupos NULL, // fire animation 0x00000002, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x00000000, 0x3f800000, 0x41200000, @@ -4620,12 +4100,11 @@ struct weaponfunc_shootauto invfunc_kf7special_shoot = { 0x01000000, 450, 450, - 0x00000000, - 0x00000000, + NULL, + NULL, 0x00000000, }; -// 14a94 struct inventory_ammo invammo_kf7special = { AMMOTYPE_RIFLE, CASING_RIFLE, @@ -4634,10 +4113,9 @@ struct inventory_ammo invammo_kf7special = { 0, // style }; -// 14aa8 struct weapon invitem_kf7special = { - 0x0397, // lo model - 0x0397, // hi model + FILE_GAK47, // lo model + FILE_GAK47, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -4646,30 +4124,29 @@ struct weapon invitem_kf7special = { &invammo_kf7special, // pri ammo NULL, // sec ammo &inve_00011140, // eptr - 2.000000, // sway - 13.000000, // left/right - -21.000000, // up/down - -13.500000, // front/back - 1.000000, // unk38 + 2, // sway + 13, // left/right + -21, // up/down + -13.5, // front/back + 1, // unk38 NULL, // fptr invg_000147f8, // gptr - 0x4c35, // short name - 0x4c35, // name - 0x4c00, // manufacturer - 0x4c00, // description + L_GUN(53), // short name + L_GUN(53), // name + L_GUN(0), // manufacturer + L_GUN(0), // description 0x0000967c, // flags }; -// 14af8 struct weaponfunc_shootauto invfunc_zzt9mm_shoot = { INVENTORYFUNCTYPE_SHOOT_AUTOMATIC, - 0x4c56, // name + L_GUN(86), // name 0x00, // unk06 0, // unk07 &invmenupos_0001100c, // menupos NULL, // fire animation 0x00000000, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x00000000, 0x3f800000, 0x41100000, @@ -4682,12 +4159,11 @@ struct weaponfunc_shootauto invfunc_zzt9mm_shoot = { 0x01000000, 600, 600, - 0x00000000, - 0x00000000, + NULL, + NULL, 0x00000000, }; -// 14b4c struct inventory_ammo invammo_zzt9mm = { AMMOTYPE_SMG, CASING_STANDARD, @@ -4696,10 +4172,9 @@ struct inventory_ammo invammo_zzt9mm = { 0, // style }; -// 14b60 struct weapon invitem_zzt9mm = { - 0x0398, // lo model - 0x0398, // hi model + FILE_GUZI, // lo model + FILE_GUZI, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -4708,30 +4183,29 @@ struct weapon invitem_zzt9mm = { &invammo_zzt9mm, // pri ammo NULL, // sec ammo &inve_000110e0, // eptr - 0.500000, // sway - 11.000000, // left/right - -24.500000, // up/down - -37.000000, // front/back - 1.000000, // unk38 + 0.5, // sway + 11, // left/right + -24.5, // up/down + -37, // front/back + 1, // unk38 NULL, // fptr invg_000147f8, // gptr - 0x4c36, // short name - 0x4c36, // name - 0x4c00, // manufacturer - 0x4c00, // description + L_GUN(54), // short name + L_GUN(54), // name + L_GUN(0), // manufacturer + L_GUN(0), // description 0x0000967c, // flags }; -// 14bb0 struct weaponfunc_shootauto invfunc_dmc_shoot = { INVENTORYFUNCTYPE_SHOOT_AUTOMATIC, - 0x4c56, // name + L_GUN(86), // name 0x00, // unk06 0, // unk07 &invmenupos_0001100c, // menupos NULL, // fire animation 0x00000000, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x00000000, 0x3f800000, 0x40e00000, @@ -4744,12 +4218,11 @@ struct weaponfunc_shootauto invfunc_dmc_shoot = { 0x01000000, 450, 450, - 0x00000000, - 0x00000000, + NULL, + NULL, 0x00000000, }; -// 14c04 struct inventory_ammo invammo_dmc = { AMMOTYPE_SMG, CASING_STANDARD, @@ -4758,10 +4231,9 @@ struct inventory_ammo invammo_dmc = { 0, // style }; -// 14c18 struct weapon invitem_dmc = { - 0x0399, // lo model - 0x0399, // hi model + FILE_GMP5K, // lo model + FILE_GMP5K, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -4770,30 +4242,29 @@ struct weapon invitem_dmc = { &invammo_dmc, // pri ammo NULL, // sec ammo &inve_000110e0, // eptr - 1.000000, // sway - 16.500000, // left/right - -22.900000, // up/down - -35.000000, // front/back - 1.000000, // unk38 + 1, // sway + 16.5, // left/right + -22.9, // up/down + -35, // front/back + 1, // unk38 NULL, // fptr invg_000147f8, // gptr - 0x4c37, // short name - 0x4c37, // name - 0x4c00, // manufacturer - 0x4c00, // description + L_GUN(55), // short name + L_GUN(55), // name + L_GUN(0), // manufacturer + L_GUN(0), // description 0x0000967c, // flags }; -// 14c68 struct weaponfunc_shootauto invfunc_ar53_shoot = { INVENTORYFUNCTYPE_SHOOT_AUTOMATIC, - 0x4c57, // name + L_GUN(87), // name 0x00, // unk06 0, // unk07 &invmenupos_0001100c, // menupos NULL, // fire animation 0x00000002, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x00000000, 0x3fb33333, 0x40c00000, @@ -4806,12 +4277,11 @@ struct weaponfunc_shootauto invfunc_ar53_shoot = { 0x01000000, 550, 550, - 0x00000000, - 0x00000000, + NULL, + NULL, 0x00000000, }; -// 14cbc struct inventory_ammo invammo_ar53 = { AMMOTYPE_RIFLE, CASING_RIFLE, @@ -4820,10 +4290,9 @@ struct inventory_ammo invammo_ar53 = { 0, // style }; -// 14cd0 struct weapon invitem_ar53 = { - 0x039a, // lo model - 0x039a, // hi model + FILE_GM16, // lo model + FILE_GM16, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -4832,30 +4301,29 @@ struct weapon invitem_ar53 = { &invammo_ar53, // pri ammo NULL, // sec ammo &inve_00011140, // eptr - 6.000000, // sway - 11.000000, // left/right - -19.200001, // up/down - -21.500000, // front/back - 1.000000, // unk38 + 6, // sway + 11, // left/right + -19.2, // up/down + -21.5, // front/back + 1, // unk38 NULL, // fptr invg_000147f8, // gptr - 0x4c38, // short name - 0x4c38, // name - 0x4c00, // manufacturer - 0x4c00, // description + L_GUN(56), // short name + L_GUN(56), // name + L_GUN(0), // manufacturer + L_GUN(0), // description 0x0060967c, // flags }; -// 14d20 struct weaponfunc_shootauto invfunc_rcp45_shoot = { INVENTORYFUNCTYPE_SHOOT_AUTOMATIC, - 0x4c56, // name + L_GUN(86), // name 0x00, // unk06 0, // unk07 &invmenupos_0001100c, // menupos NULL, // fire animation 0x00000000, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x00000000, 0x3fe66666, 0x40c00000, @@ -4868,12 +4336,11 @@ struct weaponfunc_shootauto invfunc_rcp45_shoot = { 0x01000000, 600, 600, - 0x00000000, - 0x00000000, + NULL, + NULL, 0x00000000, }; -// 14d74 struct inventory_ammo invammo_rcp45 = { AMMOTYPE_SMG, CASING_STANDARD, @@ -4882,10 +4349,9 @@ struct inventory_ammo invammo_rcp45 = { 0, // style }; -// 14d88 struct weapon invitem_rcp45 = { - 0x039b, // lo model - 0x039b, // hi model + FILE_GFNP90, // lo model + FILE_GFNP90, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -4894,24 +4360,23 @@ struct weapon invitem_rcp45 = { &invammo_rcp45, // pri ammo NULL, // sec ammo &inve_000110e0, // eptr - 4.000000, // sway - 11.000000, // left/right - -22.299999, // up/down - -29.000000, // front/back - 1.000000, // unk38 + 4, // sway + 11, // left/right + -22.3, // up/down + -29, // front/back + 1, // unk38 NULL, // fptr invg_000147f8, // gptr - 0x4c39, // short name - 0x4c39, // name - 0x4c00, // manufacturer - 0x4c00, // description + L_GUN(57), // short name + L_GUN(57), // name + L_GUN(0), // manufacturer + L_GUN(0), // description 0x0060967c, // flags }; -// 14dd8 struct weaponfunc invfunc_briefcase_use = { INVENTORYFUNCTYPE_NONE, - 0x4c00, // name + L_GUN(0), // name 0x00, // unk06 0, // unk07 &invmenupos_00010fd0, // menupos @@ -4919,16 +4384,14 @@ struct weaponfunc invfunc_briefcase_use = { 0x00000000, // flags }; -u32 var8006edcc = 0x0000001e; -u32 var8006edd0 = 0x00000002; -u32 var8006edd4 = 0x00010000; -u32 var8006edd8 = 0x00000000; -u32 var8006eddc = 0x00000000; +struct inventory_typef invf_unused_8006edcc[] = { + { 0x0000, 0x001e, 0x0000, 0x0002, 0x0001 }, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, +}; -// 14e00 struct weapon invitem_briefcase2 = { - 0x039c, // lo model - 0x039c, // hi model + FILE_GFALCON2LOD, // lo model + FILE_GFALCON2LOD, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -4937,30 +4400,29 @@ struct weapon invitem_briefcase2 = { NULL, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 12.500000, // left/right - -17.000000, // up/down - -27.500000, // front/back - 1.000000, // unk38 + 1, // sway + 12.5, // left/right + -17, // up/down + -27.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4c47, // short name - 0x4c47, // name - 0x4c00, // manufacturer - 0x4c00, // description + L_GUN(71), // short name + L_GUN(71), // name + L_GUN(0), // manufacturer + L_GUN(0), // description 0x01940808, // flags }; -// 14e50 struct weaponfunc_shootauto invfunc_59_rapidfire = { INVENTORYFUNCTYPE_SHOOT_AUTOMATIC, - 0x4c56, // name + L_GUN(86), // name 0x00, // unk06 0, // unk07 &invmenupos_0001100c, // menupos NULL, // fire animation 0x00000000, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x00000000, 0x3f800000, 0x40c00000, @@ -4973,12 +4435,11 @@ struct weaponfunc_shootauto invfunc_59_rapidfire = { 0x02000000, 900, 900, - 0x00000000, - 0x00000000, + NULL, + NULL, 0x00000000, }; -// 14ea4 struct inventory_ammo invammo_59 = { AMMOTYPE_SMG, CASING_RIFLE, @@ -4987,10 +4448,9 @@ struct inventory_ammo invammo_59 = { 0, // style }; -// 14eb8 struct weapon invitem_59 = { - 0x0000, // lo model - 0x0000, // hi model + 0, // lo model + 0, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -4999,30 +4459,29 @@ struct weapon invitem_59 = { &invammo_59, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 16.500000, // left/right - -19.500000, // up/down - -24.000000, // front/back - 1.000000, // unk38 + 1, // sway + 16.5, // left/right + -19.5, // up/down + -24, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4c00, // short name - 0x4c00, // name - 0x4c00, // manufacturer - 0x4c00, // description + L_GUN(0), // short name + L_GUN(0), // name + L_GUN(0), // manufacturer + L_GUN(0), // description 0x00001250, // flags }; -// 14f08 struct weaponfunc_shootauto invfunc_5a_rapidfire = { INVENTORYFUNCTYPE_SHOOT_AUTOMATIC, - 0x4c56, // name + L_GUN(86), // name 0x00, // unk06 0, // unk07 &invmenupos_0001100c, // menupos NULL, // fire animation 0x00000000, // flags - (u32) &invmenupos_00011098, + &invmenupos_00011098, 0x00000000, 0x3f800000, 0x40c00000, @@ -5035,12 +4494,11 @@ struct weaponfunc_shootauto invfunc_5a_rapidfire = { 0x01000000, 900, 900, - 0x00000000, - 0x00000000, + NULL, + NULL, 0x00000000, }; -// 14f5c struct inventory_ammo invammo_5a = { AMMOTYPE_SMG, CASING_RIFLE, @@ -5049,10 +4507,9 @@ struct inventory_ammo invammo_5a = { 0, // style }; -// 14f70 struct weapon invitem_5a = { - 0x0000, // lo model - 0x0000, // hi model + 0, // lo model + 0, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -5061,51 +4518,43 @@ struct weapon invitem_5a = { &invammo_5a, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 16.500000, // left/right - -19.500000, // up/down - -24.000000, // front/back - 1.000000, // unk38 + 1, // sway + 16.5, // left/right + -19.5, // up/down + -24, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4c00, // short name - 0x4c00, // name - 0x4c00, // manufacturer - 0x4c00, // description + L_GUN(0), // short name + L_GUN(0), // name + L_GUN(0), // manufacturer + L_GUN(0), // description 0x00001250, // flags }; -// 14fc0 -struct inventory_typef invf_00014fc0 = { - 0x01000000, - 0x01000035, - 0x00000000, - 0x00000000, - 0x00000000, +struct inventory_typef invf_00014fc0[] = { + { 0x0100, 0x0000, 0x0100, 0x0035, 0x0000 }, + { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, }; -// 14fd4 u32 invanim_combatknife_equip[] = { gunscript_playanimation(0x0403, 0, 10000) gunscript_waittime(24, 2) gunscript_end }; -// 14fec u32 invanim_combatknife_slash2[] = { gunscript_playanimation(0x0404, 0, 10000) gunscript_waittime(24, 2) gunscript_end }; -// 15004 u32 invanim_combatknife_slash[] = { - gunscript_random(50, (u32) invanim_combatknife_slash2) - gunscript_include(0, (u32) invanim_combatknife_equip) + gunscript_random(50, invanim_combatknife_slash2) + gunscript_include(0, invanim_combatknife_equip) gunscript_end }; -// 1501c u32 invanim_combatknife_pritosec[] = { gunscript_playanimation(0x0405, 0, 10000) gunscript_playsound(30, 0x80a7) @@ -5113,7 +4562,6 @@ u32 invanim_combatknife_pritosec[] = { gunscript_end }; -// 1503c u32 invanim_combatknife_sectopri[] = { gunscript_playanimation(0x0405, 65535, 55536) gunscript_playsound(10, 0x80a8) @@ -5121,7 +4569,6 @@ u32 invanim_combatknife_sectopri[] = { gunscript_end }; -// 1505c u32 invanim_combatknife_throw[] = { gunscript_playanimation(0x041b, 0, 10000) gunscript_waitforzreleased(12) @@ -5129,24 +4576,21 @@ u32 invanim_combatknife_throw[] = { gunscript_end }; -u32 var8006f05c = 0x0a00041c; -u32 var8006f060 = 0x00002710; -u32 var8006f064 = 0x04000016; -u32 var8006f068 = 0x00000001; -u32 var8006f06c = 0x00000000; -u32 var8006f070 = 0x00000000; - -// 15094 -u32 invanim_combatknife_reload[] = { - gunscript_include(2, (u32) invanim_combatknife_sectopri) - gunscript_include(0, (u32) invanim_combatknife_pritosec) +u32 invanim_unused_8007f05c[] = { + gunscript_playanimation(0x041c, 0, 10000) + gunscript_waittime(22, 1) + gunscript_end +}; + +u32 invanim_combatknife_reload[] = { + gunscript_include(2, invanim_combatknife_sectopri) + gunscript_include(0, invanim_combatknife_pritosec) gunscript_end }; -// 150ac struct weaponfunc_close invfunc_combatknife_slash = { INVENTORYFUNCTYPE_CLOSE, - 0x4c6d, // name + L_GUN(109), // name 0x00, // unk06 0, // unk07 &invmenupos_00010fd0, // menupos @@ -5168,10 +4612,9 @@ struct weaponfunc_close invfunc_combatknife_slash = { 0x00000000, }; -// 150f8 struct weaponfunc_throw invfunc_combatknife_throw = { INVENTORYFUNCTYPE_THROW, - 0x4c6e, // name + L_GUN(110), // name 0x00, // unk06 0, // unk07 &invmenupos_00010fd0, // menupos @@ -5183,7 +4626,6 @@ struct weaponfunc_throw invfunc_combatknife_throw = { 0x3f800000, }; -// 1511c struct inventory_ammo invammo_combatknife = { AMMOTYPE_KNIFE, CASING_NONE, @@ -5192,10 +4634,9 @@ struct inventory_ammo invammo_combatknife = { 167772160, // style }; -// 15130 struct weapon invitem_combatknife = { - 0x038f, // lo model - 0x04c2, // hi model + FILE_GKNIFE, // lo model + FILE_GKNIFELOD, // hi model invanim_combatknife_equip, // equip animation NULL, // unequip animation invanim_combatknife_pritosec, // pritosec animation @@ -5204,24 +4645,23 @@ struct weapon invitem_combatknife = { &invammo_combatknife, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 18.500000, // left/right - -26.500000, // up/down - -28.000000, // front/back - 1.000000, // unk38 - &invf_00014fc0, // fptr + 1, // sway + 18.5, // left/right + -26.5, // up/down + -28, // front/back + 1, // unk38 + invf_00014fc0, // fptr NULL, // gptr - 0x4c53, // short name - 0x4c23, // name - 0x4c00, // manufacturer - 0x4cb6, // description + L_GUN(83), // short name + L_GUN(35), // name + L_GUN(0), // manufacturer + L_GUN(182), // description 0x0402f679, // flags }; -// 15180 struct weaponfunc_throw invfunc_bug_throw = { INVENTORYFUNCTYPE_THROW, - 0x4c00, // name + L_GUN(0), // name 0x00, // unk06 0, // unk07 &invmenupos_00010fd0, // menupos @@ -5233,10 +4673,9 @@ struct weaponfunc_throw invfunc_bug_throw = { 0x00000000, }; -// 151a4 struct weaponfunc_throw invfunc_targetamplifier_throw = { INVENTORYFUNCTYPE_THROW, - 0x4c00, // name + L_GUN(0), // name 0x00, // unk06 0, // unk07 &invmenupos_00010fd0, // menupos @@ -5248,7 +4687,6 @@ struct weaponfunc_throw invfunc_targetamplifier_throw = { 0x00000000, }; -// 151c8 struct inventory_ammo invammo_bug = { AMMOTYPE_BUG, CASING_NONE, @@ -5257,10 +4695,9 @@ struct inventory_ammo invammo_bug = { 33554432, // style }; -// 151dc struct weapon invitem_commsrider = { - 0x0087, // lo model - 0x0087, // hi model + FILE_PCHRBUG, // lo model + FILE_PCHRBUG, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -5269,24 +4706,23 @@ struct weapon invitem_commsrider = { &invammo_bug, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 0.000000, // left/right - -39.500000, // up/down - -55.500000, // front/back - 1.000000, // unk38 + 1, // sway + 0, // left/right + -39.5, // up/down + -55.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4cde, // short name - 0x4cde, // name - 0x4c00, // manufacturer - 0x4ccc, // description + L_GUN(222), // short name + L_GUN(222), // name + L_GUN(0), // manufacturer + L_GUN(204), // description 0x08000018, // flags }; -// 1522c struct weapon invitem_tracerbug = { - 0x0087, // lo model - 0x0087, // hi model + FILE_PCHRBUG, // lo model + FILE_PCHRBUG, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -5295,24 +4731,23 @@ struct weapon invitem_tracerbug = { &invammo_bug, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 0.000000, // left/right - -39.500000, // up/down - -55.500000, // front/back - 1.000000, // unk38 + 1, // sway + 0, // left/right + -39.5, // up/down + -55.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4cdf, // short name - 0x4cdf, // name - 0x4c00, // manufacturer - 0x4ccd, // description + L_GUN(223), // short name + L_GUN(223), // name + L_GUN(0), // manufacturer + L_GUN(205), // description 0x08000018, // flags }; -// 1527c struct weapon invitem_targetamplifier = { - 0x07b2, // lo model - 0x07b2, // hi model + FILE_PTARGETAMP, // lo model + FILE_PTARGETAMP, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -5321,24 +4756,23 @@ struct weapon invitem_targetamplifier = { &invammo_bug, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 0.000000, // left/right - -39.500000, // up/down - -55.500000, // front/back - 1.000000, // unk38 + 1, // sway + 0, // left/right + -39.5, // up/down + -55.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4ceb, // short name - 0x4ce0, // name - 0x4c00, // manufacturer - 0x4cce, // description + L_GUN(235), // short name + L_GUN(224), // name + L_GUN(0), // manufacturer + L_GUN(206), // description 0x08000018, // flags }; -// 152cc struct weaponfunc_visual invfunc_nightvision_primary = { INVENTORYFUNCTYPE_VISUAL, - 0x4c87, // name + L_GUN(135), // name 0x00, // unk06 0, // unk07 &invmenupos_00010fd0, // menupos @@ -5347,10 +4781,9 @@ struct weaponfunc_visual invfunc_nightvision_primary = { 0x00000001, }; -// 152e4 struct weapon invitem_nightvision = { - 0x0346, // lo model - 0x0346, // hi model + FILE_PCHRNIGHTSIGHT, // lo model + FILE_PCHRNIGHTSIGHT, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -5359,24 +4792,23 @@ struct weapon invitem_nightvision = { NULL, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 0.000000, // left/right - -39.500000, // up/down - -55.500000, // front/back - 1.000000, // unk38 + 1, // sway + 0, // left/right + -39.5, // up/down + -55.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4c3b, // short name - 0x4c3b, // name - 0x4c00, // manufacturer - 0x4cbf, // description + L_GUN(59), // short name + L_GUN(59), // name + L_GUN(0), // manufacturer + L_GUN(191), // description 0x08001098, // flags }; -// 15334 struct weaponfunc invfunc_horizonscanner_primary = { INVENTORYFUNCTYPE_NONE, - 0x4c8b, // name + L_GUN(139), // name 0x00, // unk06 -1, // unk07 &invmenupos_00010fd0, // menupos @@ -5384,22 +4816,20 @@ struct weaponfunc invfunc_horizonscanner_primary = { 0x00000000, // flags }; -// 15348 struct inventory_typee inve_00015348 = { 0, - 0x40400000, - 0x41000000, - 0x41700000, - 0x3f78db8c, - 0x3f7a0903, + 3, + 8, + 15, + 0.9721, + 0.9767, 0x05000000, 0x00000005, }; -// 15368 struct weapon invitem_horizonscanner = { - 0x04e6, // lo model - 0x04e6, // hi model + FILE_PBINOCULARS, // lo model + FILE_PBINOCULARS, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -5408,24 +4838,23 @@ struct weapon invitem_horizonscanner = { NULL, // pri ammo NULL, // sec ammo &inve_00015348, // eptr - 1.000000, // sway - 0.000000, // left/right - -39.500000, // up/down - -55.500000, // front/back - 1.000000, // unk38 + 1, // sway + 0, // left/right + -39.5, // up/down + -55.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4cea, // short name - 0x4c4c, // name - 0x4c00, // manufacturer - 0x4cc4, // description + L_GUN(234), // short name + L_GUN(76), // name + L_GUN(0), // manufacturer + L_GUN(196), // description 0x08600058, // flags }; -// 153b8 struct weaponfunc_visual invfunc_cloak_primary = { INVENTORYFUNCTYPE_VISUAL, - 0x4c74, // name + L_GUN(116), // name 0x00, // unk06 0, // unk07 &invmenupos_00010fd0, // menupos @@ -5434,7 +4863,6 @@ struct weaponfunc_visual invfunc_cloak_primary = { 0x00000040, }; -// 153d0 struct inventory_ammo invammo_cloakingdevice = { AMMOTYPE_CLOAK, CASING_NONE, @@ -5443,10 +4871,9 @@ struct inventory_ammo invammo_cloakingdevice = { 16777216, // style }; -// 153e4 struct weapon invitem_cloakingdevice = { - 0x04cf, // lo model - 0x04cf, // hi model + FILE_PCHRCLOAKER, // lo model + FILE_PCHRCLOAKER, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -5455,49 +4882,46 @@ struct weapon invitem_cloakingdevice = { &invammo_cloakingdevice, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 0.000000, // left/right - -39.500000, // up/down - -55.500000, // front/back - 1.000000, // unk38 + 1, // sway + 0, // left/right + -39.5, // up/down + -55.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4c49, // short name - 0x4c49, // name - 0x4c00, // manufacturer - 0x4cc3, // description + L_GUN(73), // short name + L_GUN(73), // name + L_GUN(0), // manufacturer + L_GUN(195), // description 0x04000018, // flags }; -// 15434 struct weaponfunc_special invfunc_combatboost_boost = { INVENTORYFUNCTYPE_SPECIAL, - 0x4c71, // name + L_GUN(113), // name 0x00, // unk06 0, // unk07 &invmenupos_00010fd0, // menupos NULL, // fire animation 0x00002000, // flags - 0x00000006, + SPECIALFUNC_COMBATBOOST_BOOST, 0x0000001e, 0x05c90000, }; -// 15454 struct weaponfunc_special invfunc_combatboost_revert = { INVENTORYFUNCTYPE_SPECIAL, - 0x4c72, // name + L_GUN(114), // name 0x00, // unk06 0, // unk07 &invmenupos_00010fd0, // menupos NULL, // fire animation 0x00002000, // flags - 0x00000007, + SPECIALFUNC_COMBATBOOST_REVERT, 0x0000001e, 0x05c90000, }; -// 15474 struct inventory_ammo invammo_combatboost = { AMMOTYPE_BOOST, CASING_NONE, @@ -5506,10 +4930,9 @@ struct inventory_ammo invammo_combatboost = { 16777216, // style }; -// 15488 struct weapon invitem_combatboost = { - 0x04d0, // lo model - 0x04d0, // hi model + FILE_PCHRSPEEDPILL, // lo model + FILE_PCHRSPEEDPILL, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -5518,24 +4941,23 @@ struct weapon invitem_combatboost = { &invammo_combatboost, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 0.000000, // left/right - -39.500000, // up/down - -55.500000, // front/back - 1.000000, // unk38 + 1, // sway + 0, // left/right + -39.5, // up/down + -55.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4ce8, // short name - 0x4c4a, // name - 0x4c00, // manufacturer - 0x4cbe, // description + L_GUN(232), // short name + L_GUN(74), // name + L_GUN(0), // manufacturer + L_GUN(190), // description 0x34000018, // flags }; -// 154d8 struct weaponfunc_visual invfunc_suicidepill_primary = { INVENTORYFUNCTYPE_VISUAL, - 0x4c00, // name + L_GUN(0), // name 0x00, // unk06 0, // unk07 &invmenupos_00010fd0, // menupos @@ -5544,10 +4966,9 @@ struct weaponfunc_visual invfunc_suicidepill_primary = { 0x00000020, }; -// 154f0 struct weapon invitem_suicidepill = { - 0x0000, // lo model - 0x0000, // hi model + 0, // lo model + 0, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -5556,24 +4977,23 @@ struct weapon invitem_suicidepill = { NULL, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 0.000000, // left/right - -39.500000, // up/down - -55.500000, // front/back - 1.000000, // unk38 + 1, // sway + 0, // left/right + -39.5, // up/down + -55.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4c48, // short name - 0x4c48, // name - 0x4c00, // manufacturer - 0x4c00, // description + L_GUN(72), // short name + L_GUN(72), // name + L_GUN(0), // manufacturer + L_GUN(0), // description 0x08000010, // flags }; -// 15540 struct weaponfunc_visual invfunc_irscanner_primary = { INVENTORYFUNCTYPE_VISUAL, - 0x4c8a, // name + L_GUN(138), // name 0x00, // unk06 0, // unk07 &invmenupos_00010fd0, // menupos @@ -5582,10 +5002,9 @@ struct weaponfunc_visual invfunc_irscanner_primary = { 0x00000008, }; -// 15558 struct weapon invitem_irscanner = { - 0x074f, // lo model - 0x074f, // hi model + FILE_GIRSCANNER, // lo model + FILE_GIRSCANNER, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -5594,24 +5013,23 @@ struct weapon invitem_irscanner = { NULL, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 0.000000, // left/right - -39.500000, // up/down - -55.500000, // front/back - 1.000000, // unk38 + 1, // sway + 0, // left/right + -39.5, // up/down + -55.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4c45, // short name - 0x4c45, // name - 0x4c00, // manufacturer - 0x4cc2, // description + L_GUN(69), // short name + L_GUN(69), // name + L_GUN(0), // manufacturer + L_GUN(194), // description 0x08001058, // flags }; -// 155a8 struct weaponfunc invfunc_disguise_primary = { INVENTORYFUNCTYPE_NONE, - 0x4c8f, // name + L_GUN(143), // name 0x00, // unk06 -1, // unk07 &invmenupos_00010fd0, // menupos @@ -5619,10 +5037,9 @@ struct weaponfunc invfunc_disguise_primary = { 0x00000000, // flags }; -// 155bc struct weapon invitem_disguise40 = { - 0x0000, // lo model - 0x0000, // hi model + 0, // lo model + 0, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -5631,24 +5048,23 @@ struct weapon invitem_disguise40 = { NULL, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 0.000000, // left/right - -39.500000, // up/down - -55.500000, // front/back - 1.000000, // unk38 + 1, // sway + 0, // left/right + -39.5, // up/down + -55.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4c2b, // short name - 0x4c2b, // name - 0x4c00, // manufacturer - 0x4cd3, // description + L_GUN(43), // short name + L_GUN(43), // name + L_GUN(0), // manufacturer + L_GUN(211), // description 0x88000018, // flags }; -// 1560c struct weapon invitem_disguise41 = { - 0x0000, // lo model - 0x0000, // hi model + 0, // lo model + 0, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -5657,24 +5073,23 @@ struct weapon invitem_disguise41 = { NULL, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 0.000000, // left/right - -39.500000, // up/down - -55.500000, // front/back - 1.000000, // unk38 + 1, // sway + 0, // left/right + -39.5, // up/down + -55.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4c2b, // short name - 0x4c2b, // name - 0x4c00, // manufacturer - 0x4cd3, // description + L_GUN(43), // short name + L_GUN(43), // name + L_GUN(0), // manufacturer + L_GUN(211), // description 0x88000018, // flags }; -// 1565c struct weaponfunc_visual invfunc_camspy_deploy = { INVENTORYFUNCTYPE_VISUAL, - 0x4c88, // name + L_GUN(136), // name 0x00, // unk06 0, // unk07 &invmenupos_00010fd0, // menupos @@ -5683,10 +5098,9 @@ struct weaponfunc_visual invfunc_camspy_deploy = { 0x00000004, }; -// 15674 struct weapon invitem_camspy = { - 0x004b, // lo model - 0x004b, // hi model + FILE_CEYESPY, // lo model + FILE_CEYESPY, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -5695,24 +5109,23 @@ struct weapon invitem_camspy = { NULL, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 0.000000, // left/right - -39.500000, // up/down - -55.500000, // front/back - 1.000000, // unk38 + 1, // sway + 0, // left/right + -39.5, // up/down + -55.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4c3c, // short name - 0x4c3c, // name - 0x4c00, // manufacturer - 0x4cc0, // description + L_GUN(60), // short name + L_GUN(60), // name + L_GUN(0), // manufacturer + L_GUN(192), // description 0x08001018, // flags }; -// 156c4 struct weaponfunc_visual invfunc_rtracker_primary = { INVENTORYFUNCTYPE_VISUAL, - 0x4c8e, // name + L_GUN(142), // name 0x00, // unk06 0, // unk07 &invmenupos_00010fd0, // menupos @@ -5721,10 +5134,9 @@ struct weaponfunc_visual invfunc_rtracker_primary = { 0x00000010, }; -// 156dc struct weapon invitem_rtracker = { - 0x076f, // lo model - 0x076f, // hi model + FILE_PRUSSDAR, // lo model + FILE_PRUSSDAR, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -5733,24 +5145,23 @@ struct weapon invitem_rtracker = { NULL, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 0.000000, // left/right - -39.500000, // up/down - -55.500000, // front/back - 1.000000, // unk38 + 1, // sway + 0, // left/right + -39.5, // up/down + -55.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4c46, // short name - 0x4c46, // name - 0x4c00, // manufacturer - 0x4cc6, // description + L_GUN(70), // short name + L_GUN(70), // name + L_GUN(0), // manufacturer + L_GUN(198), // description 0x08001018, // flags }; -// 1572c struct weaponfunc_visual invfunc_xray_primary = { INVENTORYFUNCTYPE_VISUAL, - 0x4c89, // name + L_GUN(137), // name 0x00, // unk06 0, // unk07 &invmenupos_00010fd0, // menupos @@ -5759,10 +5170,9 @@ struct weaponfunc_visual invfunc_xray_primary = { 0x00000002, }; -// 15744 struct weapon invitem_xrayscanner = { - 0x0770, // lo model - 0x0770, // hi model + FILE_PXRAYSPECS, // lo model + FILE_PXRAYSPECS, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -5771,55 +5181,51 @@ struct weapon invitem_xrayscanner = { NULL, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 0.000000, // left/right - -39.500000, // up/down - -55.500000, // front/back - 1.000000, // unk38 + 1, // sway + 0, // left/right + -39.5, // up/down + -55.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4ce9, // short name - 0x4c41, // name - 0x4c00, // manufacturer - 0x4cc1, // description + L_GUN(233), // short name + L_GUN(65), // name + L_GUN(0), // manufacturer + L_GUN(193), // description 0x08600058, // flags }; -// 15794 u32 invanim_datauplink_equip[] = { gunscript_playanimation(0x0439, 0, 10000) gunscript_end }; -// 157a4 u32 invanim_datauplink_unequip[] = { gunscript_playanimation(0x043a, 0, 10000) gunscript_end }; -u32 var8006f794 = 0x0a00043b; -u32 var8006f798 = 0x00002710; -u32 var8006f79c = 0x00000000; -u32 var8006f7a0 = 0x00000000; +u32 invanim_unused_8007f794[] = { + gunscript_playanimation(0x043b, 0, 10000) + gunscript_end +}; -// 157c4 struct weaponfunc_special invfunc_datauplink_primary = { INVENTORYFUNCTYPE_SPECIAL, - 0x4c8d, // name + L_GUN(141), // name 0x00, // unk06 -1, // unk07 &invmenupos_00010fd0, // menupos NULL, // fire animation 0x00102000, // flags - 0x0000000c, + SPECIALFUNC_DATAUPLINK_UPLINK, 0x0000001e, 0x00000000, }; -// 157e4 struct weapon invitem_datauplink = { - 0x074e, // lo model - 0x074e, // hi model + FILE_GCOMMSUPLINK, // lo model + FILE_GCOMMSUPLINK, // hi model invanim_datauplink_equip, // equip animation invanim_datauplink_unequip, // unequip animation NULL, // pritosec animation @@ -5828,24 +5234,23 @@ struct weapon invitem_datauplink = { NULL, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 8.000000, // left/right - -16.200001, // up/down - -17.500000, // front/back - 1.000000, // unk38 + 1, // sway + 8, // left/right + -16.2, // up/down + -17.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4c4b, // short name - 0x4c4b, // name - 0x4c00, // manufacturer - 0x4cc5, // description + L_GUN(75), // short name + L_GUN(75), // name + L_GUN(0), // manufacturer + L_GUN(197), // description 0x88022048, // flags }; -// 15834 struct weapon invitem_doordecoder = { - 0x0772, // lo model - 0x0772, // hi model + FILE_PCHRDOORDECODER, // lo model + FILE_PCHRDOORDECODER, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -5855,24 +5260,23 @@ struct weapon invitem_doordecoder = { NULL, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 35.000000, // left/right - -26.700001, // up/down - -41.000000, // front/back - 1.000000, // unk38 + 1, // sway + 35, // left/right + -26.7, // up/down + -41, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4c3f, // short name - 0x4c3f, // name - 0x4c00, // manufacturer - 0x4cc8, // description + L_GUN(63), // short name + L_GUN(63), // name + L_GUN(0), // manufacturer + L_GUN(200), // description 0x88000008, // flags }; -// 15884 struct weapon invitem_rocket = { - 0x0382, // lo model - 0x04bb, // hi model + FILE_GCYCLONE, // lo model + FILE_GCYCLONELOD, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -5882,24 +5286,23 @@ struct weapon invitem_rocket = { &invammo_default, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 12.500000, // left/right - -17.000000, // up/down - -27.500000, // front/back - 1.000000, // unk38 + 1, // sway + 12.5, // left/right + -17, // up/down + -27.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4c2c, // short name - 0x4c2c, // name - 0x4c00, // manufacturer - 0x4c00, // description + L_GUN(44), // short name + L_GUN(44), // name + L_GUN(0), // manufacturer + L_GUN(0), // description 0x00000000, // flags }; -// 158d4 struct weapon invitem_homingrocket = { - 0x0382, // lo model - 0x04bb, // hi model + FILE_GCYCLONE, // lo model + FILE_GCYCLONELOD, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -5909,24 +5312,23 @@ struct weapon invitem_homingrocket = { &invammo_default, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 12.500000, // left/right - -17.000000, // up/down - -27.500000, // front/back - 1.000000, // unk38 + 1, // sway + 12.5, // left/right + -17, // up/down + -27.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4c2d, // short name - 0x4c2d, // name - 0x4c00, // manufacturer - 0x4c00, // description + L_GUN(45), // short name + L_GUN(45), // name + L_GUN(0), // manufacturer + L_GUN(0), // description 0x00000000, // flags }; -// 15924 struct weapon invitem_grenaderound = { - 0x0382, // lo model - 0x04bb, // hi model + FILE_GCYCLONE, // lo model + FILE_GCYCLONELOD, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -5935,24 +5337,23 @@ struct weapon invitem_grenaderound = { &invammo_default, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 12.500000, // left/right - -17.000000, // up/down - -27.500000, // front/back - 1.000000, // unk38 + 1, // sway + 12.5, // left/right + -17, // up/down + -27.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4c2e, // short name - 0x4c2e, // name - 0x4c00, // manufacturer - 0x4c00, // description + L_GUN(46), // short name + L_GUN(46), // name + L_GUN(0), // manufacturer + L_GUN(0), // description 0x00000000, // flags }; -// 15974 struct weapon invitem_bolt = { - 0x0382, // lo model - 0x04bb, // hi model + FILE_GCYCLONE, // lo model + FILE_GCYCLONELOD, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -5961,33 +5362,36 @@ struct weapon invitem_bolt = { &invammo_default, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 12.500000, // left/right - -17.000000, // up/down - -27.500000, // front/back - 1.000000, // unk38 + 1, // sway + 12.5, // left/right + -17, // up/down + -27.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4c30, // short name - 0x4c30, // name - 0x4c00, // manufacturer - 0x4c00, // description + L_GUN(48), // short name + L_GUN(48), // name + L_GUN(0), // manufacturer + L_GUN(0), // description 0x00000000, // flags }; -u32 var8006f9a4 = 0x00000004; -u32 var8006f9a8 = 0x4c9000ff; -u32 var8006f9ac = (u32) &invmenupos_00010fd0; -u32 var8006f9b0 = 0x00000000; -u32 var8006f9b4 = 0x00102000; -u32 var8006f9b8 = 0x0000000c; -u32 var8006f9bc = 0x0000001e; -u32 var8006f9c0 = 0x00000000; +struct weaponfunc_special invfunc_unused_8006f9a4 = { + INVENTORYFUNCTYPE_SPECIAL, + L_GUN(144), // "Place Explosives" + 0x00, // unk06 + -1, // unk07 + &invmenupos_00010fd0, // menupos + NULL, // fire animation + 0x00102000, // flags + SPECIALFUNC_DATAUPLINK_UPLINK, + 0x0000001e, + 0x00000000, +}; -// 159e4 struct weapon invitem_skedarbomb = { - 0x075f, // lo model - 0x075f, // hi model + FILE_PSKEDARBOMB, // lo model + FILE_PSKEDARBOMB, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -5997,24 +5401,23 @@ struct weapon invitem_skedarbomb = { NULL, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 15.500000, // left/right - -20.200001, // up/down - -33.500000, // front/back - 1.000000, // unk38 + 1, // sway + 15.5, // left/right + -20.2, // up/down + -33.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4cdd, // short name - 0x4cdd, // name - 0x4c00, // manufacturer - 0x4ccb, // description + L_GUN(221), // short name + L_GUN(221), // name + L_GUN(0), // manufacturer + L_GUN(203), // description 0x80000000, // flags }; -// 15a34 struct weapon invitem_explosives = { - 0x0760, // lo model - 0x0760, // hi model + FILE_PEXPLOSIVEBRICK, // lo model + FILE_PEXPLOSIVEBRICK, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -6024,24 +5427,23 @@ struct weapon invitem_explosives = { NULL, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 15.500000, // left/right - -20.200001, // up/down - -33.500000, // front/back - 1.000000, // unk38 + 1, // sway + 15.5, // left/right + -20.2, // up/down + -33.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4c40, // short name - 0x4c40, // name - 0x4c00, // manufacturer - 0x4cca, // description + L_GUN(64), // short name + L_GUN(64), // name + L_GUN(0), // manufacturer + L_GUN(202), // description 0x80000000, // flags }; -// 15a84 struct weaponfunc_visual invfunc_presidentscanner_primary = { INVENTORYFUNCTYPE_VISUAL, - 0x4c8e, // name + L_GUN(142), // name 0x00, // unk06 0, // unk07 &invmenupos_00010fd0, // menupos @@ -6050,10 +5452,9 @@ struct weaponfunc_visual invfunc_presidentscanner_primary = { 0x00000010, }; -// 15a9c struct weapon invitem_presidentscanner = { - 0x076f, // lo model - 0x076f, // hi model + FILE_PRUSSDAR, // lo model + FILE_PRUSSDAR, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -6062,24 +5463,23 @@ struct weapon invitem_presidentscanner = { NULL, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 0.000000, // left/right - -39.500000, // up/down - -55.500000, // front/back - 1.000000, // unk38 + 1, // sway + 0, // left/right + -39.5, // up/down + -55.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4ce7, // short name - 0x4cdb, // name - 0x4c00, // manufacturer - 0x4cc7, // description + L_GUN(231), // short name + L_GUN(219), // name + L_GUN(0), // manufacturer + L_GUN(199), // description 0x08001018, // flags }; -// 15aec struct weapon invitem_autosurgeon = { - 0x049d, // lo model - 0x049d, // hi model + FILE_PAUTOSURGEON, // lo model + FILE_PAUTOSURGEON, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -6089,24 +5489,23 @@ struct weapon invitem_autosurgeon = { NULL, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 15.500000, // left/right - -20.200001, // up/down - -33.500000, // front/back - 1.000000, // unk38 + 1, // sway + 15.5, // left/right + -20.2, // up/down + -33.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4cdc, // short name - 0x4cdc, // name - 0x4c00, // manufacturer - 0x4cc9, // description + L_GUN(220), // short name + L_GUN(220), // name + L_GUN(0), // manufacturer + L_GUN(201), // description 0x88000000, // flags }; -// 15b3c struct weapon invitem_flightplans = { - 0x0763, // lo model - 0x0763, // hi model + FILE_PSAFEITEM, // lo model + FILE_PSAFEITEM, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -6116,24 +5515,23 @@ struct weapon invitem_flightplans = { NULL, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 15.500000, // left/right - -20.200001, // up/down - -33.500000, // front/back - 1.000000, // unk38 + 1, // sway + 15.5, // left/right + -20.2, // up/down + -33.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4ce1, // short name - 0x4ce1, // name - 0x4c00, // manufacturer - 0x4ccf, // description + L_GUN(225), // short name + L_GUN(225), // name + L_GUN(0), // manufacturer + L_GUN(207), // description 0x08000000, // flags }; -// 15b8c struct weapon invitem_researchtape = { - 0x0761, // lo model - 0x0761, // hi model + FILE_PRESEARCHTAPE, // lo model + FILE_PRESEARCHTAPE, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -6143,24 +5541,23 @@ struct weapon invitem_researchtape = { NULL, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 15.500000, // left/right - -20.200001, // up/down - -33.500000, // front/back - 1.000000, // unk38 + 1, // sway + 15.5, // left/right + -20.2, // up/down + -33.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4ce2, // short name - 0x4ce2, // name - 0x4c00, // manufacturer - 0x4cd0, // description + L_GUN(226), // short name + L_GUN(226), // name + L_GUN(0), // manufacturer + L_GUN(208), // description 0x08000000, // flags }; -// 15bdc struct weapon invitem_backupdisk = { - 0x0762, // lo model - 0x0762, // hi model + FILE_PZIGGYCARD, // lo model + FILE_PZIGGYCARD, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -6170,24 +5567,23 @@ struct weapon invitem_backupdisk = { NULL, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 15.500000, // left/right - -20.200001, // up/down - -33.500000, // front/back - 1.000000, // unk38 + 1, // sway + 15.5, // left/right + -20.2, // up/down + -33.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4ce3, // short name - 0x4ce3, // name - 0x4c00, // manufacturer - 0x4cd1, // description + L_GUN(227), // short name + L_GUN(227), // name + L_GUN(0), // manufacturer + L_GUN(209), // description 0x08000000, // flags }; -// 15c2c struct weapon invitem_briefcase = { - 0x0563, // lo model - 0x0563, // hi model + FILE_PKEYCARD, // lo model + FILE_PKEYCARD, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -6197,24 +5593,23 @@ struct weapon invitem_briefcase = { NULL, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 15.500000, // left/right - -20.200001, // up/down - -33.500000, // front/back - 1.000000, // unk38 + 1, // sway + 15.5, // left/right + -20.2, // up/down + -33.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4ce5, // short name - 0x4ce5, // name - 0x4c00, // manufacturer - 0x4c00, // description + L_GUN(229), // short name + L_GUN(229), // name + L_GUN(0), // manufacturer + L_GUN(0), // description 0x08040000, // flags }; -// 15c7c struct weapon invitem_suitcase = { - 0x0086, // lo model - 0x0086, // hi model + FILE_PCHRBRIEFCASE, // lo model + FILE_PCHRBRIEFCASE, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -6224,24 +5619,23 @@ struct weapon invitem_suitcase = { NULL, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 15.500000, // left/right - -20.200001, // up/down - -33.500000, // front/back - 1.000000, // unk38 + 1, // sway + 15.5, // left/right + -20.2, // up/down + -33.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4c43, // short name - 0x4c43, // name - 0x4c00, // manufacturer - 0x4c00, // description + L_GUN(67), // short name + L_GUN(67), // name + L_GUN(0), // manufacturer + L_GUN(0), // description 0x88000000, // flags }; -// 15ccc struct weapon invitem_necklace = { - 0x01c3, // lo model - 0x01c3, // hi model + FILE_PCHRCHAIN, // lo model + FILE_PCHRCHAIN, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -6251,24 +5645,23 @@ struct weapon invitem_necklace = { NULL, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 15.500000, // left/right - -20.200001, // up/down - -33.500000, // front/back - 1.000000, // unk38 + 1, // sway + 15.5, // left/right + -20.2, // up/down + -33.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4ce6, // short name - 0x4ce6, // name - 0x4c00, // manufacturer - 0x4cee, // description + L_GUN(230), // short name + L_GUN(230), // name + L_GUN(0), // manufacturer + L_GUN(238), // description 0x08000000, // flags }; -// 15d1c struct weapon invitem_shield = { - 0x0347, // lo model - 0x0347, // hi model + FILE_PCHRSHIELD, // lo model + FILE_PCHRSHIELD, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -6278,24 +5671,23 @@ struct weapon invitem_shield = { NULL, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 15.500000, // left/right - -20.200001, // up/down - -33.500000, // front/back - 1.000000, // unk38 + 1, // sway + 15.5, // left/right + -20.2, // up/down + -33.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4cf0, // short name - 0x4cf0, // name - 0x4c00, // manufacturer - 0x4cf1, // description + L_GUN(240), // short name + L_GUN(240), // name + L_GUN(0), // manufacturer + L_GUN(241), // description 0x08000000, // flags }; -// 15d6c struct weapon invitem_keycard = { - 0x0563, // lo model - 0x0563, // hi model + FILE_PKEYCARD, // lo model + FILE_PKEYCARD, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -6305,24 +5697,23 @@ struct weapon invitem_keycard = { NULL, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 15.500000, // left/right - -20.200001, // up/down - -33.500000, // front/back - 1.000000, // unk38 + 1, // sway + 15.5, // left/right + -20.2, // up/down + -33.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4ce4, // short name - 0x4ce4, // name - 0x4c00, // manufacturer - 0x4c00, // description + L_GUN(228), // short name + L_GUN(228), // name + L_GUN(0), // manufacturer + L_GUN(0), // description 0x08000000, // flags }; -// 15dbc struct weaponfunc_shootprojectile invfunc_rocketlauncher34_primary = { INVENTORYFUNCTYPE_SHOOT_PROJECTILE, - 0x4c00, // name + L_GUN(0), // name 0x00, // unk06 0, // unk07 &invmenupos_00011048, // menupos @@ -6350,7 +5741,6 @@ struct weaponfunc_shootprojectile invfunc_rocketlauncher34_primary = { 0x80530000, }; -// 15e20 struct inventory_ammo invammo_rocketlauncher34 = { AMMOTYPE_ROCKET, CASING_NONE, @@ -6359,10 +5749,9 @@ struct inventory_ammo invammo_rocketlauncher34 = { 0, // style }; -// 15e34 struct weapon invitem_rocketlauncher_34 = { - 0x0388, // lo model - 0x04c9, // hi model + FILE_GDYROCKET, // lo model + FILE_GROCKETLOD, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -6371,36 +5760,34 @@ struct weapon invitem_rocketlauncher_34 = { &invammo_rocketlauncher34, // pri ammo NULL, // sec ammo &inve_000135f0, // eptr - 1.000000, // sway - 24.500000, // left/right - -25.200001, // up/down - -30.000000, // front/back - 1.000000, // unk38 + 1, // sway + 24.5, // left/right + -25.2, // up/down + -30, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4c50, // short name - 0x4c1b, // name - 0x4c00, // manufacturer - 0x4c00, // description + L_GUN(80), // short name + L_GUN(27), // name + L_GUN(0), // manufacturer + L_GUN(0), // description 0x40026070, // flags }; -// 15e84 u32 invanim_tester_shoot[] = { gunscript_playanimation(0x0112, 0, 10000) gunscript_end }; -// 15e94 struct weaponfunc_shootsingle invfunc_tester_primary = { INVENTORYFUNCTYPE_SHOOT_SINGLE, - 0x4c00, // name + L_GUN(0), // name 0x00, // unk06 0, // unk07 &invmenupos_0001100c, // menupos invanim_tester_shoot, // fire animation 0x00000000, // flags - (u32) &invmenupos_00011070, + &invmenupos_00011070, 0x10000000, 0x3f800000, 0x40c00000, @@ -6413,7 +5800,6 @@ struct weaponfunc_shootsingle invfunc_tester_primary = { 0x01000000, }; -// 15ed4 struct inventory_ammo invammo_tester = { AMMOTYPE_PISTOL, CASING_STANDARD, @@ -6422,10 +5808,9 @@ struct inventory_ammo invammo_tester = { 0, // style }; -// 15ee8 struct weapon invitem_tester = { - 0x0193, // lo model - 0x0193, // hi model + FILE_GTESTGUN, // lo model + FILE_GTESTGUN, // hi model NULL, // equip animation NULL, // unequip animation NULL, // pritosec animation @@ -6434,21 +5819,20 @@ struct weapon invitem_tester = { &invammo_tester, // pri ammo NULL, // sec ammo &inve_000110c0, // eptr - 1.000000, // sway - 15.500000, // left/right - -20.200001, // up/down - -33.500000, // front/back - 1.000000, // unk38 + 1, // sway + 15.5, // left/right + -20.2, // up/down + -33.5, // front/back + 1, // unk38 NULL, // fptr NULL, // gptr - 0x4c3a, // short name - 0x4c3a, // name - 0x4c00, // manufacturer - 0x4c00, // description + L_GUN(58), // short name + L_GUN(58), // name + L_GUN(0), // manufacturer + L_GUN(0), // description 0x0000a47c, // flags }; -// 15f38 struct weapon *g_Weapons[] = { &invitem_nothing, &invitem_unarmed, diff --git a/src/include/gunscript.h b/src/include/gunscript.h index c028c6047..a0b92536a 100644 --- a/src/include/gunscript.h +++ b/src/include/gunscript.h @@ -24,11 +24,11 @@ #define gunscript_include(unk1, address) \ 0x06000000 | (unk1 << 16), \ - address, + (u32)address, #define gunscript_random(probability, address) \ 0x07000000 | probability, \ - address, + (u32)address, #define gunscript_repeatuntilfull(triggerkey, dontloop, gototrigger) \ 0x08000000 | triggerkey, \ diff --git a/src/include/types.h b/src/include/types.h index 0ebb75c7f..54a3e50f3 100644 --- a/src/include/types.h +++ b/src/include/types.h @@ -2563,21 +2563,21 @@ struct inventory_menupos { struct inventory_typee { f32 zoomfov; - u32 unk04; - u32 unk08; - u32 unk0c; - u32 unk10; - u32 unk14; + f32 unk04; + f32 unk08; + f32 unk0c; + f32 unk10; + f32 unk14; u32 unk18; u32 flags; }; struct inventory_typef { - u32 unk00; - u32 unk04; - u32 unk08; - u32 unk0c; - u32 unk10; + u16 unk00; + u16 unk04; + u16 unk08; + u16 unk0c; + u16 unk10; }; struct weaponfunc { @@ -2592,7 +2592,7 @@ struct weaponfunc { struct weaponfunc_shootsingle { struct weaponfunc base; - /*0x14*/ u32 unk14; + /*0x14*/ struct inventory_menupos *unk14; /*0x18*/ u32 unk18; /*0x1c*/ u32 unk1c; /*0x20*/ u32 unk20; @@ -2607,7 +2607,7 @@ struct weaponfunc_shootsingle { struct weaponfunc_shootauto { struct weaponfunc base; - /*0x14*/ u32 unk14; + /*0x14*/ struct inventory_menupos *unk14; /*0x18*/ u32 unk18; /*0x1c*/ u32 unk1c; /*0x20*/ u32 unk20; @@ -2620,8 +2620,8 @@ struct weaponfunc_shootauto { /*0x3c*/ u32 unk3c; /*0x40*/ f32 initialfirerate; // rounds per minute /*0x44*/ f32 maxfirerate; // rounds per minute - /*0x48*/ u32 unk48; - /*0x4c*/ u32 unk4c; + /*0x48*/ f32 *unk48; + /*0x4c*/ f32 *unk4c; /*0x50*/ u32 unk50; };