@@ -60,6 +60,114 @@ namespace ManyPacker
6060 " _brock" , " _bshdwl" , " _bwmrpt" , " _cmdtgr" , " _stagger"
6161 };
6262
63+ const std::vector<std::string> ignoredXModels = {
64+ " viewmodel_winchester1200_mp_brock" , " viewmodel_winchester1200_mp_bshdwl" , " viewmodel_winchester1200_mp_bwmrpt" ,
65+ " viewmodel_winchester1200_mp_cmdtgr" , " viewmodel_winchester1200_mp_stagger" , " viewmodel_ak47" ,
66+ " viewmodel_ak47_and_silencer_mp" , " viewmodel_ak47_and_silencer_mp_brock" , " viewmodel_ak47_and_silencer_mp_bshdwl" ,
67+ " viewmodel_ak47_and_silencer_mp_bwmrpt" , " viewmodel_ak47_and_silencer_mp_cmdtgr" , " viewmodel_ak47_and_silencer_mp_stagger" ,
68+ " viewmodel_ak47_gold_and_silencer_mp" , " viewmodel_ak47_gold_grenadier_mp" , " viewmodel_ak47_gold_mp" ,
69+ " viewmodel_ak47_grenadier" , " viewmodel_ak47_grenadier_mp" , " viewmodel_ak47_grenadier_mp_brock" ,
70+ " viewmodel_ak47_grenadier_mp_bshdwl" , " viewmodel_ak47_grenadier_mp_bwmrpt" , " viewmodel_ak47_grenadier_mp_cmdtgr" ,
71+ " viewmodel_ak47_grenadier_mp_stagger" , " viewmodel_ak47_mp" , " viewmodel_ak47_mp_brock" ,
72+ " viewmodel_ak47_mp_bshdwl" , " viewmodel_ak47_mp_bwmrpt" , " viewmodel_ak47_mp_cmdtgr" ,
73+ " viewmodel_ak47_mp_stagger" , " viewmodel_ak47_silencer" , " viewmodel_ak74u" ,
74+ " viewmodel_ak74u_mp" , " viewmodel_ak74u_mp_brock" , " viewmodel_ak74u_mp_bshdwl" ,
75+ " viewmodel_ak74u_mp_bwmrpt" , " viewmodel_ak74u_mp_cmdtgr" , " viewmodel_ak74u_mp_stagger" ,
76+ " viewmodel_ak74u_silencer" , " viewmodel_ak74usd_mp_brock" , " viewmodel_ak74usd_mp_bshdwl" ,
77+ " viewmodel_ak74usd_mp_bwmrpt" , " viewmodel_ak74usd_mp_cmdtgr" , " viewmodel_ak74usd_mp_stagger" ,
78+ " viewmodel_at4" , " viewmodel_barrett" , " viewmodel_barrett_mp" ,
79+ " viewmodel_barrett_mp_brock" , " viewmodel_barrett_mp_bshdwl" , " viewmodel_barrett_mp_bwmrpt" ,
80+ " viewmodel_barrett_mp_cmdtgr" , " viewmodel_barrett_mp_stagger" , " viewmodel_base_character" ,
81+ " viewmodel_base_fastrope_character" , " viewmodel_base_viewhands" , " viewmodel_benelli_m4" ,
82+ " viewmodel_benelli_m4_gold_mp" , " viewmodel_benelli_m4_mp" , " viewmodel_benelli_m4_mp_brock" ,
83+ " viewmodel_benelli_m4_mp_bshdwl" , " viewmodel_benelli_m4_mp_bwmrpt" , " viewmodel_benelli_m4_mp_cmdtgr" ,
84+ " viewmodel_benelli_m4_mp_stagger" , " viewmodel_beretta" , " viewmodel_beretta_and_silencer_mp" ,
85+ " viewmodel_beretta_mp" , " viewmodel_binoculars" , " viewmodel_briefcase_bomb_mp" ,
86+ " viewmodel_c4" , " viewmodel_claymore" , " viewmodel_colt45" ,
87+ " viewmodel_colt45_and_silencer_mp" , " viewmodel_colt45_mp" , " viewmodel_default" ,
88+ " viewmodel_desert_eagle_gold_mp" , " viewmodel_dragunov" , " viewmodel_dragunov_gold_mp" ,
89+ " viewmodel_dragunov_mp" , " viewmodel_dragunov_mp_brock" , " viewmodel_dragunov_mp_bshdwl" ,
90+ " viewmodel_dragunov_mp_bwmrpt" , " viewmodel_dragunov_mp_cmdtgr" , " viewmodel_dragunov_mp_stagger" ,
91+ " viewmodel_g3" , " viewmodel_g3_and_silencer_mp_brock" , " viewmodel_g3_and_silencer_mp_bshdwl" ,
92+ " viewmodel_g3_and_silencer_mp_cmdtgr" , " viewmodel_g3_and_silencer_mp_stagger" , " viewmodel_g3_and_sliencer_mp_bwmrpt" ,
93+ " viewmodel_g3_gl_mp_brock" , " viewmodel_g3_gl_mp_bshdwl" , " viewmodel_g3_gl_mp_bwmrpt" ,
94+ " viewmodel_g3_gl_mp_cmdtgr" , " viewmodel_g3_gl_mp_stagger" , " viewmodel_g3_mp" ,
95+ " viewmodel_g3_mp_brock" , " viewmodel_g3_mp_bshdwl" , " viewmodel_g3_mp_bwmrpt" ,
96+ " viewmodel_g3_mp_cmdtgr" , " viewmodel_g3_mp_stagger" , " viewmodel_g3_silencer" ,
97+ " viewmodel_g3m203_mp" , " viewmodel_g36c" , " viewmodel_g36c_gl_mp_brock" ,
98+ " viewmodel_g36c_gl_mp_bshdwl" , " viewmodel_g36c_gl_mp_bwmrpt" , " viewmodel_g36c_gl_mp_cmdtgr" ,
99+ " viewmodel_g36c_gl_mp_stagger" , " viewmodel_g36c_mp" , " viewmodel_g36c_mp_brock" ,
100+ " viewmodel_g36c_mp_bshdwl" , " viewmodel_g36c_mp_bwmrpt" , " viewmodel_g36c_mp_cmdtgr" ,
101+ " viewmodel_g36c_mp_stagger" , " viewmodel_g36c_silencer" , " viewmodel_g36cm203_mp" ,
102+ " viewmodel_g36csd_mp_brock" , " viewmodel_g36csd_mp_bshdwl" , " viewmodel_g36csd_mp_bwmrpt" ,
103+ " viewmodel_g36csd_mp_cmdtgr" , " viewmodel_g36csd_mp_stagger" , " viewmodel_gasmask" ,
104+ " viewmodel_hands_cloth" , " viewmodel_javelin" , " viewmodel_knife" ,
105+ " viewmodel_m2_50cal" , " viewmodel_m4" , " viewmodel_m4_acog" ,
106+ " viewmodel_m4_and_silencer" , " viewmodel_m4_and_silencer_mp" , " viewmodel_m4_and_silencer_mp_brock" ,
107+ " viewmodel_m4_and_silencer_mp_bshdwl" , " viewmodel_m4_and_silencer_mp_bwmrpt" , " viewmodel_m4_and_silencer_mp_cmdtgr" ,
108+ " viewmodel_m4_and_silencer_mp_stagger" , " viewmodel_m4_mp" , " viewmodel_m4_mp_brock" ,
109+ " viewmodel_m4_mp_bshdwl" , " viewmodel_m4_mp_bwmrpt" , " viewmodel_m4_mp_cmdtgr" ,
110+ " viewmodel_m4_mp_stagger" , " viewmodel_m4_silencer_acog" , " viewmodel_m4m203" ,
111+ " viewmodel_m4m203_acog" , " viewmodel_m4m203_and_silencer" , " viewmodel_m4m203_mp" ,
112+ " viewmodel_m4m203_mp_brock" , " viewmodel_m4m203_mp_bshdwl" , " viewmodel_m4m203_mp_bwmrpt" ,
113+ " viewmodel_m4m203_mp_cmdtgr" , " viewmodel_m4m203_mp_stagger" , " viewmodel_m4m203_silencer_reflex" ,
114+ " viewmodel_m14" , " viewmodel_m14_gl_mp" , " viewmodel_m14_mp" ,
115+ " viewmodel_m14_mp_brock" , " viewmodel_m14_mp_bshdwl" , " viewmodel_m14_mp_bwmrpt" ,
116+ " viewmodel_m14_mp_cmdtgr" , " viewmodel_m14_mp_stagger" , " viewmodel_m14_scout_gl_mp_brock" ,
117+ " viewmodel_m14_scout_gl_mp_bshdwl" , " viewmodel_m14_scout_gl_mp_bwmrpt" , " viewmodel_m14_scout_gl_mp_cmdtgr" ,
118+ " viewmodel_m14_scout_gl_mp_stagger" , " viewmodel_m14_woodland" , " viewmodel_m14sd_mp" ,
119+ " viewmodel_m14sd_mp_brock" , " viewmodel_m14sd_mp_bshdwl" , " viewmodel_m14sd_mp_bwmrpt" ,
120+ " viewmodel_m14sd_mp_cmdtgr" , " viewmodel_m14sd_mp_stagger" , " viewmodel_m16_and_silencer_mp" ,
121+ " viewmodel_m16_and_silencer_mp_brock" , " viewmodel_m16_and_silencer_mp_bshdwl" , " viewmodel_m16_and_silencer_mp_bwmrpt" ,
122+ " viewmodel_m16_and_silencer_mp_cmdtgr" , " viewmodel_m16_and_silencer_mp_stagger" , " viewmodel_m16_mp" ,
123+ " viewmodel_m16_mp_brock" , " viewmodel_m16_mp_bshdwl" , " viewmodel_m16_mp_bwmrpt" ,
124+ " viewmodel_m16_mp_cmdtgr" , " viewmodel_m16_mp_stagger" , " viewmodel_m16m203" ,
125+ " viewmodel_m16m203_mp" , " viewmodel_m16m203_mp_brock" , " viewmodel_m16m203_mp_bshdwl" ,
126+ " viewmodel_m16m203_mp_bwmrpt" , " viewmodel_m16m203_mp_cmdtgr" , " viewmodel_m16m203_mp_stagger" ,
127+ " viewmodel_m21_mp" , " viewmodel_m21_mp_brock" , " viewmodel_m21_mp_bshdwl" ,
128+ " viewmodel_m21_mp_bwmrpt" , " viewmodel_m21_mp_cmdtgr" , " viewmodel_m21_mp_stagger" ,
129+ " viewmodel_m21sd" , " viewmodel_m40a3" , " viewmodel_m40a3_camo" ,
130+ " viewmodel_m40a3_mp" , " viewmodel_m40a3_mp_brock" , " viewmodel_m40a3_mp_bshdwl" ,
131+ " viewmodel_m40a3_mp_bwmrpt" , " viewmodel_m40a3_mp_cmdtgr" , " viewmodel_m40a3_mp_stagger" ,
132+ " viewmodel_m60" , " viewmodel_m60_gold_mp" , " viewmodel_m60_mp" ,
133+ " viewmodel_m60_mp_brock" , " viewmodel_m60_mp_bshdwl" , " viewmodel_m60_mp_bwmrpt" ,
134+ " viewmodel_m60_mp_cmdtgr" , " viewmodel_m60_mp_stagger" , " viewmodel_m67" ,
135+ " viewmodel_m84" , " viewmodel_m249" , " viewmodel_m249_mp" ,
136+ " viewmodel_m249_mp_brock" , " viewmodel_m249_mp_bshdwl" , " viewmodel_m249_mp_bwmrpt" ,
137+ " viewmodel_m249_mp_cmdtgr" , " viewmodel_m249_mp_stagger" , " viewmodel_minigun" ,
138+ " viewmodel_miniuzi" , " viewmodel_miniuzi_gold_mp" , " viewmodel_miniuzi_mp" ,
139+ " viewmodel_miniuzi_mp_brock" , " viewmodel_miniuzi_mp_bshdwl" , " viewmodel_miniuzi_mp_bwmrpt" ,
140+ " viewmodel_miniuzi_mp_cmdtgr" , " viewmodel_miniuzi_mp_stagger" , " viewmodel_miniuzi_silencer" ,
141+ " viewmodel_miniuzi_supressed_gold_mp" , " viewmodel_miniuzi_supressed_mp" , " viewmodel_miniuzi_supressed_mp_brock" ,
142+ " viewmodel_miniuzi_supressed_mp_bshdwl" , " viewmodel_miniuzi_supressed_mp_bwmrpt" , " viewmodel_miniuzi_supressed_mp_cmdtgr" ,
143+ " viewmodel_miniuzi_supressed_mp_stagger" , " viewmodel_mk2" , " viewmodel_mk19_agl_shield" ,
144+ " viewmodel_mk19_agl_tripod" , " viewmodel_mp5" , " viewmodel_mp5_mp" ,
145+ " viewmodel_mp5_mp_brock" , " viewmodel_mp5_mp_bshdwl" , " viewmodel_mp5_mp_bwmrpt" ,
146+ " viewmodel_mp5_mp_cmdtgr" , " viewmodel_mp5_mp_stagger" , " viewmodel_mp5_silencer" ,
147+ " viewmodel_mp5_silencer_mp" , " viewmodel_mp5_silencer_mp_brock" , " viewmodel_mp5_silencer_mp_bshdwl" ,
148+ " viewmodel_mp5_silencer_mp_bwmrpt" , " viewmodel_mp5_silencer_mp_cmdtgr" , " viewmodel_mp5_silencer_mp_stagger" ,
149+ " viewmodel_mp5_silencer_reflex" , " viewmodel_mp44" , " viewmodel_mp44_mp" ,
150+ " viewmodel_mp44_mp_brock" , " viewmodel_mp44_mp_bshdwl" , " viewmodel_mp44_mp_bwmrpt" ,
151+ " viewmodel_mp44_mp_cmdtgr" , " viewmodel_mp44_mp_stagger" , " viewmodel_nvg" ,
152+ " viewmodel_p90" , " viewmodel_p90_mp" , " viewmodel_p90_mp_brock" ,
153+ " viewmodel_p90_mp_bshdwl" , " viewmodel_p90_mp_bwmrpt" , " viewmodel_p90_mp_cmdtgr" ,
154+ " viewmodel_p90_mp_stagger" , " viewmodel_p90_silencer" , " viewmodel_p90_silencer_mp" ,
155+ " viewmodel_p90_silencer_mp_brock" , " viewmodel_p90_silencer_mp_bshdwl" , " viewmodel_p90_silencer_mp_bwmrpt" ,
156+ " viewmodel_p90_silencer_mp_cmdtgr" , " viewmodel_p90_silencer_mp_stagger" , " viewmodel_remington700" ,
157+ " viewmodel_remington700_mp" , " viewmodel_remington700_mp_brock" , " viewmodel_remington700_mp_bshdwl" ,
158+ " viewmodel_remington700_mp_bwmrpt" , " viewmodel_remington700_mp_cmdtgr" , " viewmodel_remington700_mp_stagger" ,
159+ " viewmodel_rpd" , " viewmodel_rpd_mp" , " viewmodel_rpd_mp_brock" ,
160+ " viewmodel_rpd_mp_bshdwl" , " viewmodel_rpd_mp_bwmrpt" , " viewmodel_rpd_mp_cmdtgr" ,
161+ " viewmodel_rpd_mp_stagger" , " viewmodel_rpg7" , " viewmodel_rpg7_rocket" ,
162+ " viewmodel_skorpion" , " viewmodel_skorpion_mp" , " viewmodel_skorpion_mp_brock" ,
163+ " viewmodel_skorpion_mp_bshdwl" , " viewmodel_skorpion_mp_bwmrpt" , " viewmodel_skorpion_mp_cmdtgr" ,
164+ " viewmodel_skorpion_mp_stagger" , " viewmodel_skorpion_silencer" , " viewmodel_skorpionsd_mp_brock" ,
165+ " viewmodel_skorpionsd_mp_bshdwl" , " viewmodel_skorpionsd_mp_bwmrpt" , " viewmodel_skorpionsd_mp_cmdtgr" ,
166+ " viewmodel_skorpionsd_mp_stagger" , " viewmodel_stinger" , " viewmodel_usp" ,
167+ " viewmodel_usp_mp" , " viewmodel_usp_silencer" , " viewmodel_usp_silencer_mp" ,
168+ " viewmodel_ussmokegrenade" , " viewmodel_winchester1200" , " viewmodel_winchester1200_mp" ,
169+ };
170+
63171 // gunModel and worldModel
64172 for (size_t i = 0 ; i < 16 ; i++)
65173 {
@@ -78,6 +186,15 @@ namespace ManyPacker
78186 }
79187 }
80188
189+ for (const auto & ignoredXmodel : ignoredXModels)
190+ {
191+ if (weaponData[gun] == ignoredXmodel)
192+ {
193+ ignored = true ;
194+ break ;
195+ }
196+ }
197+
81198 if (ignored)
82199 continue ;
83200
@@ -91,7 +208,16 @@ namespace ManyPacker
91208 bool ignored = false ;
92209 for (const auto & suffix : ignoredXModelSuffix)
93210 {
94- if (weaponData[gun].ends_with (suffix))
211+ if (weaponData[world].ends_with (suffix))
212+ {
213+ ignored = true ;
214+ break ;
215+ }
216+ }
217+
218+ for (const auto & ignoredXmodel : ignoredXModels)
219+ {
220+ if (weaponData[world] == ignoredXmodel)
95221 {
96222 ignored = true ;
97223 break ;
@@ -181,7 +307,7 @@ namespace ManyPacker
181307 " hud_icon_rpd" , " hud_icon_rpg" , " hud_icon_rpg_dpad" ,
182308 " hud_icon_shotgun" , " hud_icon_skorpian" , " hud_icon_sniperrifle" ,
183309 " hud_icon_stinger" , " hud_icon_usp_45" , " hud_icon_winchester_1200" ,
184- " killIcon_44" ," killIcon_30cal" ," killIcon_40mm_grenade" ," killIcon_40mm_grenade_mp" ," killIcon_ak47"
310+ " killIcon_44" ," killIcon_30cal" ," killIcon_40mm_grenade" ," killIcon_40mm_grenade_mp" , " killIcon_ak47"
185311 };
186312
187313 for (const auto & key : materialKeys)
0 commit comments