1+ using System ;
2+ using System . Collections . Generic ;
3+
4+ namespace PG . StarWarsGame . Engine ;
5+
6+ public static class HardcodedEngineAssets
7+ {
8+ /// <summary>
9+ /// These models / particles are hardcoded into StarWarsG.exe.
10+ /// </summary>
11+ public static IList < string > HardcodedFocModels { get ; } = new List < string >
12+ {
13+ "i_tutorial_arrow.alo" ,
14+ "p_hero_empire_fx.alo" ,
15+ "i_tactical_corrupt.alo" ,
16+ "p_icon_corrupt.alo" ,
17+ "w_planet_select_neutral.alo" ,
18+ "i_game_arrow.alo" ,
19+ "i_galactic_radar.alo" ,
20+ "W_TextScroll.alo"
21+ } ;
22+
23+
24+ /// <summary>
25+ /// These models / particles are hardcoded into StarWarsG.exe.
26+ /// </summary>
27+ public static IList < string > HardcodedEawModels { get ; } = new List < string >
28+ {
29+ "i_tutorial_arrow.alo" ,
30+ "p_hero_empire_fx.alo" ,
31+ "w_planet_select_neutral.alo" ,
32+ "i_game_arrow.alo" ,
33+ "i_galactic_radar.alo" ,
34+ "W_TextScroll.alo"
35+ } ;
36+
37+ public static IList < string > HardcodedFocTextures { get ; } = new List < string >
38+ {
39+ "splash.tga" ,
40+ "SPLASH_E3.tga" ,
41+ "i_button_temporary.tga" ,
42+ "i_attention00.tga" ,
43+ "i_tree_arrow_right.tga" ,
44+ "load_overlay.tga" ,
45+ "i_pa_weather_sun.tga" ,
46+ "i_pa_weather_fire.tga" ,
47+ "i_pa_weather_snow.tga" ,
48+ "i_pa_weather_rain.tga" ,
49+ "i_pa_weather_wind.tga" ,
50+ "Menuback_Overlay.TGA" ,
51+ "i_button_space_station.tga" ,
52+ "i_button_ground_base.tga" ,
53+ "i_button_space_unitcount.tga" ,
54+ "i_button_ground_unitcount.tga" ,
55+ "i_dialogue_blank.tga" ,
56+ "checked_box.tga" ,
57+ "Galactic_Back.tga" ,
58+ "Generic_Space.tga" ,
59+ "Generic_Land.tga" ,
60+ "red_dot.tga" ,
61+ "yellow_dot.tga" ,
62+ "green_dot.tga" ,
63+ "i_tree_arrow_2right.tga" ,
64+ "i_tree_arrow_3right.tga" ,
65+ "i_tree_arrow_down.tga" ,
66+ "Generic_Flat_B.tga" ,
67+ "w_generic_white.tga" ,
68+ "w_shadow_blob.tga" ,
69+ "w_light_blob.tga" ,
70+ "p_particle_master.tga" ,
71+ "missing_texture_xxx.tga" ,
72+ "D_master_decal.tga" ,
73+ "p_particle_depth_master.tga" ,
74+ "MT_CommandBar.tga" ,
75+ "MT_CommandBarCompressed.dds" ,
76+ "DEFAULTPOINTER_00.TGA" ,
77+ "tractor_beam00.tga" ,
78+ "i_button_unknown.tga" ,
79+ "i_icon_stealth.tga" ,
80+ "e_line2.tga" ,
81+ "e_line.tga" ,
82+ "i_bar_icons_space.tga" ,
83+ "i_bar_icons_land.tga" ,
84+ "e_topbar2.tga" ,
85+ "e_topbar.tga" ,
86+ "e_against_frame.tga" ,
87+ "missing.tga" ,
88+ "i_encyclopedia_border.tga" ,
89+ "i_radar_default_blip.tga" ,
90+ "select_overlay.tga" ,
91+ "i_icon_raid.tga" ,
92+ "maptemp.tga" ,
93+ "shield_range.tga" ,
94+ "W_galaxy_line.tga" ,
95+ "W_galaxy_line_alpha.tga" ,
96+ "W_galaxy_dot.tga" ,
97+ "i_sa_defend_mode.tga" ,
98+ "i_sa_deploy.tga" ,
99+ "i_sa_interdict.tga" ,
100+ "i_sa_barrage_area.tga" ,
101+ "i_sa_capture_vehicles.tga" ,
102+ "i_sa_spread_out.tga" ,
103+ "i_sa_power_to_engines.tga" ,
104+ "i_sa_rocket_attack.tga" ,
105+ "i_sa_power_to_weapons.tga" ,
106+ "i_sa_tractor_beam.tga" ,
107+ "i_sa_fire_energy_weapon.tga" ,
108+ "i_sa_missile_jammer.tga" ,
109+ "i_sa_evasive_maneuvers.tga" ,
110+ "i_sa_all_ships_concentrate_fire.tga" ,
111+ "i_sa_sprint.tga" ,
112+ "i_sa_stim_pack.tga" ,
113+ "i_sa_s_foil_mode.tga" ,
114+ "i_sa_maximum_firepower.tga" ,
115+ "i_sa_swap_weapons.tga" ,
116+ "i_sa_full_salvo.tga" ,
117+ "i_sa_force_cloak.tga" ,
118+ "i_sa_sensor_jamming.tga" ,
119+ "i_sa_force_crush.tga" ,
120+ "i_sa_force_push.tga" ,
121+ "i_sa_force_lighting.tga" ,
122+ "i_sa_flame_thrower.tga" ,
123+ "i_sa_jetpack_jump.tga" ,
124+ "i_sa_force_protect.tga" ,
125+ "i_sa_hack_turret.tga" ,
126+ "i_sa_repair_vehicle.tga" ,
127+ "i_sa_sticky_bomb.tga" ,
128+ "i_sa_electronic_scramble.tga" ,
129+ "i_sa_area_heal.tga" ,
130+ "i_sa_join_me.tga" ,
131+ "i_sa_tow_cable_attack.tga" ,
132+ "i_sa_sensor_ping.tga" ,
133+ "i_sa_cover_me.tga" ,
134+ "i_sa_Harmonic_bomb.tga" ,
135+ "i_sa_drop_bomb.tga" ,
136+ "i_sa_weaken_enemy.tga" ,
137+ "i_sa_drain_life.tga" ,
138+ "i_sa_blast.tga" ,
139+ "i_sa_shield_flare.tga" ,
140+ "i_sa_deploy_squad.tga" ,
141+ "i_sa_stun.tga" ,
142+ "i_sa_contaminate.tga" ,
143+ "i_sa_berserker.tga" ,
144+ "i_sa_force_sight.tga" ,
145+ "i_sa_saber_throw.tga" ,
146+ "i_sa_laser_defense.tga" ,
147+ "i_sa_force_confuse.tga" ,
148+ "i_sa_leech_shields.tga" ,
149+ "i_sa_tactical_bribe.tga" ,
150+ "i_sa_cluster_bomb.tga" ,
151+ "i_sa_place_remote_bomb.tga" ,
152+ "i_sa_detonate_remote_bomb.tga" ,
153+ "i_sa_infection.tga" ,
154+ "i_sa_proximity_mines.tga" ,
155+ "i_sa_buzz_droids.tga" ,
156+ "i_sa_summon.tga" ,
157+ "i_sa_corrupt_systems.tga" ,
158+ "i_sa_hunt.tga" ,
159+ "i_sa_lure.tga" ,
160+ "i_sa_self_destruct.tga" ,
161+ "i_sa_deploy_stormtroopers.tga" ,
162+ "i_sa_ion_cannon_shot.tga" ,
163+ "i_sa_lucky_shot.tga" ,
164+ "lightning_default.tga" ,
165+ "Mon_Mothma.tga" ,
166+ "Tarkin.tga" ,
167+ "W_Cable.tga" ,
168+ "i_information00.tga" ,
169+ "W_Laser_Pill.tga" ,
170+ "lensflare.tga" ,
171+ "W_Space_FOW_Grid.tga" ,
172+ "W_Space_Reinforce_FOW_Grid.tga" ,
173+ } ;
174+
175+ public static IList < string > HardcodedEawTextures { get ; } = new List < string >
176+ {
177+ "splash.tga" ,
178+ "i_button_temporary.tga" ,
179+ "i_attention00.tga" ,
180+ "i_tree_arrow_right.tga" ,
181+ "load_overlay.tga" ,
182+ "i_pa_weather_sun.tga" ,
183+ "i_pa_weather_fire.tga" ,
184+ "i_pa_weather_snow.tga" ,
185+ "i_pa_weather_rain.tga" ,
186+ "i_pa_weather_wind.tga" ,
187+ "Menuback_Overlay.TGA" ,
188+ "i_button_space_station.tga" ,
189+ "i_button_ground_base.tga" ,
190+ "i_button_space_unitcount.tga" ,
191+ "i_button_ground_unitcount.tga" ,
192+ "i_dialogue_blank.tga" ,
193+ "checked_box.tga" ,
194+ "Galactic_Back.tga" ,
195+ "Generic_Space.tga" ,
196+ "Generic_Land.tga" ,
197+ "red_dot.tga" ,
198+ "yellow_dot.tga" ,
199+ "green_dot.tga" ,
200+ "i_tree_arrow_2right.tga" ,
201+ "i_tree_arrow_3right.tga" ,
202+ "i_tree_arrow_down.tga" ,
203+ "Generic_Flat_B.tga" ,
204+ "w_generic_white.tga" ,
205+ "w_shadow_blob.tga" ,
206+ "w_light_blob.tga" ,
207+ "p_particle_master.tga" ,
208+ "missing_texture_xxx.tga" ,
209+ "D_master_decal.tga" ,
210+ "p_particle_depth_master.tga" ,
211+ "MT_CommandBar.tga" ,
212+ "MT_CommandBarCompressed.dds" ,
213+ "DEFAULTPOINTER_00.TGA" ,
214+ "tractor_beam00.tga" ,
215+ "i_button_unknown.tga" ,
216+ "i_icon_stealth.tga" ,
217+ "e_line2.tga" ,
218+ "e_line.tga" ,
219+ "i_bar_icons_space.tga" ,
220+ "i_bar_icons_land.tga" ,
221+ "e_topbar2.tga" ,
222+ "e_topbar.tga" ,
223+ "e_against_frame.tga" ,
224+ "missing.tga" ,
225+ "i_encyclopedia_border.tga" ,
226+ "i_radar_default_blip.tga" ,
227+ "select_overlay.tga" ,
228+ "i_icon_raid.tga" ,
229+ "W_galaxy_line.tga" ,
230+ "W_galaxy_line_alpha.tga" ,
231+ "W_galaxy_dot.tga" ,
232+ "i_sa_defend_mode.tga" ,
233+ "i_sa_deploy.tga" ,
234+ "i_sa_interdict.tga" ,
235+ "i_sa_barrage_area.tga" ,
236+ "i_sa_capture_vehicles.tga" ,
237+ "i_sa_spread_out.tga" ,
238+ "i_sa_power_to_engines.tga" ,
239+ "i_sa_rocket_attack.tga" ,
240+ "i_sa_power_to_weapons.tga" ,
241+ "i_sa_tractor_beam.tga" ,
242+ "i_sa_fire_energy_weapon.tga" ,
243+ "i_sa_missile_jammer.tga" ,
244+ "i_sa_evasive_maneuvers.tga" ,
245+ "i_sa_all_ships_concentrate_fire.tga" ,
246+ "i_sa_sprint.tga" ,
247+ "i_sa_s_foil_mode.tga" ,
248+ "i_sa_maximum_firepower.tga" ,
249+ "i_sa_force_crush.tga" ,
250+ "i_sa_force_push.tga" ,
251+ "i_sa_force_lighting.tga" ,
252+ "i_sa_flame_thrower.tga" ,
253+ "i_sa_jetpack_jump.tga" ,
254+ "i_sa_force_protect.tga" ,
255+ "i_sa_hack_turret.tga" ,
256+ "i_sa_repair_vehicle.tga" ,
257+ "i_sa_sticky_bomb.tga" ,
258+ "i_sa_electronic_scramble.tga" ,
259+ "i_sa_area_heal.tga" ,
260+ "i_sa_join_me.tga" ,
261+ "i_sa_tow_cable_attack.tga" ,
262+ "i_sa_sensor_ping.tga" ,
263+ "i_sa_cover_me.tga" ,
264+ "i_sa_Harmonic_bomb.tga" ,
265+ "i_sa_drop_bomb.tga" ,
266+ "i_sa_weaken_enemy.tga" ,
267+ "i_sa_hunt.tga" ,
268+ "i_sa_lure.tga" ,
269+ "i_sa_self_destruct.tga" ,
270+ "i_sa_deploy_stormtroopers.tga" ,
271+ "i_sa_ion_cannon_shot.tga" ,
272+ "i_sa_lucky_shot.tga" ,
273+ "lightning_default.tga" ,
274+ "Mon_Mothma.tga" ,
275+ "Tarkin.tga" ,
276+ "W_Cable.tga" ,
277+ "i_information00.tga" ,
278+ "W_Laser_Pill.tga" ,
279+ "W_Space_FOW_Grid.tga" ,
280+ "W_Space_Reinforce_FOW_Grid.tga" ,
281+ } ;
282+
283+ public static IList < string > GetHardcodedModels ( GameEngineType engine )
284+ {
285+ return engine switch
286+ {
287+ GameEngineType . Eaw => HardcodedEawModels ,
288+ GameEngineType . Foc => HardcodedFocModels ,
289+ _ => throw new ArgumentOutOfRangeException ( nameof ( engine ) , engine , null )
290+ } ;
291+ }
292+
293+ public static IList < string > GetHardcodedTextures ( GameEngineType engine )
294+ {
295+ return engine switch
296+ {
297+ GameEngineType . Eaw => HardcodedEawTextures ,
298+ GameEngineType . Foc => HardcodedFocTextures ,
299+ _ => throw new ArgumentOutOfRangeException ( nameof ( engine ) , engine , null )
300+ } ;
301+ }
302+ }
0 commit comments