‪Black Ops 3 Source Code Explorer  0.1
‪An script explorer for Black Ops 3 by ZeRoY
_load.gsc
Go to the documentation of this file.
1 #using scripts\codescripts\struct;
2 
3 //TODO T7 - move what we can into load_shared once ZM gets a pass
4 #using scripts\shared\archetype_shared\archetype_shared;
5 #using scripts\shared\audio_shared;//DO NOT REMOVE - needed for system registration
6 #using scripts\shared\clientfield_shared;
7 #using scripts\shared\demo_shared;
8 #using scripts\shared\entityheadicons_shared;
9 #using scripts\shared\flag_shared;
10 #using scripts\shared\flagsys_shared;
11 #using scripts\shared\hostmigration_shared;
12 #using scripts\shared\load_shared;
13 #using scripts\shared\math_shared;
14 #using scripts\shared\medals_shared;
15 #using scripts\shared\music_shared;//DO NOT REMOVE - needed for system registration
16 #using scripts\shared\player_shared;//DO NOT REMOVE - needed for system registration
17 #using scripts\shared\objpoints_shared;
18 #using scripts\shared\_oob;
19 #using scripts\shared\popups_shared;
20 #using scripts\shared\scene_shared;
21 #using scripts\shared\serverfaceanim_shared;
22 #using scripts\shared\system_shared;
23 #using scripts\shared\turret_shared;
24 #using scripts\shared\tweakables_shared;
25 #using scripts\shared\util_shared;
26 #using scripts\shared\weapons\_ballistic_knife;
27 #using scripts\shared\weapons\_bouncingbetty;
28 #using scripts\shared\weapons\_hive_gun;
29 #using scripts\shared\weapons\_tacticalinsertion;
30 #using scripts\shared\weapons\_trophy_system;
31 #using scripts\shared\weapons\_flashgrenades;
32 #using scripts\shared\weapons\_lightninggun;
33 #using scripts\shared\weapons\_proximity_grenade;
34 #using scripts\shared\weapons\_riotshield;
35 #using scripts\shared\weapons\_satchel_charge;
36 #using scripts\shared\weapons\_sensor_grenade;
37 #using scripts\shared\weapons\_weaponobjects;
38 #using scripts\shared\weapons\multilockapguidance;
39 
40 #insert scripts\shared\shared.gsh;
41 #insert scripts\shared\version.gsh;
42 
43 #using scripts\mp\_art;
44 #using scripts\mp\_destructible;
45 #using scripts\mp\_load;
46 #using scripts\mp\_util;
47 
48 //REGISTRATION - These scripts are initialized here
49 //Do not remove unless you are removing the script from the game
50 
51 //System registration
52 #using scripts\mp\_arena;
53 #using scripts\mp\_bb;
54 #using scripts\shared\_burnplayer;
55 #using scripts\mp\_callbacks;
56 #using scripts\mp\_devgui;
57 #using scripts\mp\_perks;
58 #using scripts\mp\_vehicle;
59 #using scripts\mp\_pickup_items;
60 
61 //Gametypes Registration - DO NOT REMOVE
62 #using scripts\mp\gametypes\_globallogic_audio;
63 #using scripts\mp\gametypes\_spawning;
64 
65 //Killstreak registration
66 #using scripts\mp\killstreaks\_ai_tank;
67 #using scripts\mp\killstreaks\_counteruav;
68 #using scripts\mp\killstreaks\_dogs;
69 #using scripts\mp\killstreaks\_drone_strike;
70 #using scripts\mp\killstreaks\_rcbomb;
71 #using scripts\mp\killstreaks\_placeables;
72 #using scripts\mp\killstreaks\_satellite;
73 #using scripts\mp\killstreaks\_uav;
74 #using scripts\mp\killstreaks\_killstreak_detect;
75 
76 //Weapon registration
77 #using scripts\shared\weapons\_pineapple_gun;
78 #using scripts\shared\weapons\_sticky_grenade;
79 #using scripts\mp\_ballistic_knife;
80 #using scripts\mp\_bouncingbetty;
81 #using scripts\mp\_hive_gun;
82 #using scripts\mp\_explosive_bolt;
83 #using scripts\mp\_flashgrenades;
84 #using scripts\mp\_hacker_tool;
85 #using scripts\mp\_heatseekingmissile;
86 #using scripts\mp\_incendiary;
87 #using scripts\mp\_armblade;
88 #using scripts\mp\_lightninggun;
89 #using scripts\mp\_proximity_grenade;
90 #using scripts\mp\_riotshield;
91 #using scripts\mp\_satchel_charge;
92 #using scripts\mp\_sensor_grenade;
93 #using scripts\mp\_threat_detector;
94 #using scripts\mp\_smokegrenade;
95 #using scripts\mp\_tacticalinsertion;
96 #using scripts\mp\_trophy_system;
97 #using scripts\mp\gametypes\_weaponobjects;
98 
99 //Abilities registration
100 #using scripts\shared\abilities\_ability_player;
101 
102 // Blackjack registration
103 #using scripts\mp\_blackjack_challenges;
104 
105 // Contract registration
106 #using scripts\mp\_contracts;
107 
108 #precache( "fx", "_t6/bio/player/fx_footstep_dust" );
109 #precache( "fx", "_t6/bio/player/fx_footstep_sand" );
110 #precache( "fx", "_t6/bio/player/fx_footstep_mud" );
111 #precache( "fx", "_t6/bio/player/fx_footstep_water" );
112 
113 #namespace load;
114 
115 function ‪main()
116 {
117  /#
118 
119  Assert( isdefined( level.first_frame ), "There should be no waits before load::main." );
120 
121  #/
122 
123  level._loadStarted = true;
124 
125  SetClearanceCeiling( 30 ); // slightly larger than the amws
126 
128 
129  level.aiTriggerSpawnFlags = getaitriggerflags();
130  level.vehicleTriggerSpawnFlags = getvehicletriggerflags();
131 
133 
134  //TODO T7 - remove once globallogic_audio is shared
135  level.globallogic_audio_dialog_on_player_override = &‪globallogic_audio::leader_dialog_on_player;
136  level.growing_hitmarker = true;
137 
138  ‪system::wait_till( "all" );
139  level ‪flagsys::set( "load_main_complete" );
140 }
141 
143 {
144  assert(isdefined(‪name), "Need to define the footstep surface type.");
145  assert(isdefined(fx), "Need to define the mud footstep effect.");
146  if (!isdefined(anim.optionalStepEffects))
147  anim.optionalStepEffects = [];
148  anim.optionalStepEffects[anim.optionalStepEffects.size] = ‪name;
149  level._effect["step_" + ‪name] = fx;
150 }
151 
152 function ‪footsteps()
153 {
154  ‪setFootstepEffect( "asphalt", "_t6/bio/player/fx_footstep_dust" );
155  ‪setFootstepEffect( "brick", "_t6/bio/player/fx_footstep_dust" );
156  ‪setFootstepEffect( "carpet", "_t6/bio/player/fx_footstep_dust" );
157  ‪setFootstepEffect( "cloth", "_t6/bio/player/fx_footstep_dust" );
158  ‪setFootstepEffect( "concrete", "_t6/bio/player/fx_footstep_dust" );
159  ‪setFootstepEffect( "dirt", "_t6/bio/player/fx_footstep_sand" );
160  ‪setFootstepEffect( "foliage", "_t6/bio/player/fx_footstep_sand" );
161  ‪setFootstepEffect( "gravel", "_t6/bio/player/fx_footstep_dust" );
162  ‪setFootstepEffect( "grass", "_t6/bio/player/fx_footstep_dust" );
163  ‪setFootstepEffect( "metal", "_t6/bio/player/fx_footstep_dust" );
164  ‪setFootstepEffect( "mud", "_t6/bio/player/fx_footstep_mud" );
165  ‪setFootstepEffect( "paper", "_t6/bio/player/fx_footstep_dust" );
166  ‪setFootstepEffect( "plaster", "_t6/bio/player/fx_footstep_dust" );
167  ‪setFootstepEffect( "rock", "_t6/bio/player/fx_footstep_dust" );
168  ‪setFootstepEffect( "sand", "_t6/bio/player/fx_footstep_sand" );
169  ‪setFootstepEffect( "water", "_t6/bio/player/fx_footstep_water" );
170  ‪setFootstepEffect( "wood", "_t6/bio/player/fx_footstep_dust" );
171 }
172 
173 // All "Begin" nodes get passed in here through _load.gsc
175 {
176  point = GetEnt(self.target, "targetname");
177  if (isdefined(point))
178  {
179  self.traverse_height = point.origin[2];
180  point Delete();
181  }
182  else
183  {
184  point = ‪struct::get(self.target, "targetname");
185  if (isdefined(point))
186  {
187  self.traverse_height = point.origin[2];
188  }
189  }
190 }
191 
193 {
194  potential_traverse_nodes = GetAllNodes();
195  for (i = 0; i < potential_traverse_nodes.size; i++)
196  {
197  node = potential_traverse_nodes[i];
198  if (node.type == "Begin")
199  {
200  node ‪init_traverse();
201  }
202  }
203 }
204 
206 {
207  ‪clientfield::register( "missile", "cf_m_proximity", ‪VERSION_SHIP, 1, "int" );
208  ‪clientfield::register( "missile", "cf_m_emp", ‪VERSION_SHIP, 1, "int" );
209  ‪clientfield::register( "missile", "cf_m_stun", ‪VERSION_SHIP, 1, "int" );
210 
211  //clientfield::register( "scriptmover", "cf_s_emp", VERSION_SHIP, 1, "int" );
212  //clientfield::register( "scriptmover", "cf_s_stun", VERSION_SHIP, 1, "int" );
213 }
‪setFootstepEffect
‪function setFootstepEffect(name, fx)
Definition: _load.gsc:142
‪register_clientfields
‪function register_clientfields()
Definition: _load.gsc:205
‪VERSION_SHIP
‪#define VERSION_SHIP
Definition: version.gsh:36
‪footsteps
‪function footsteps()
Definition: _load.gsc:152
‪get
‪function get(kvp_value, kvp_key="targetname")
Definition: struct.csc:13
‪main
‪function main()
Definition: _load.gsc:115
‪wait_till
‪function wait_till(str_flag)
Definition: flag_shared.csc:189
‪init_traverse
‪function init_traverse()
Definition: _load.gsc:174
‪set
‪function set(str_field_name, n_value)
Definition: clientfield_shared.gsc:34
‪setup_traversals
‪function setup_traversals()
Definition: _load.gsc:192
‪register
‪function register()
Definition: _ai_tank.gsc:126
‪leader_dialog_on_player
‪function leader_dialog_on_player(dialogKey, objectiveKey, killstreakId, dialogBufferKey, introDialog)
Definition: _globallogic_audio.gsc:460
‪name
‪class GroundFx name