89class Level :
public Listener
119 float svsStartFloatTime;
128 int m_iCuriousVoiceTime;
129 int m_iAttackEntryAnimTime;
132 qboolean playerfrozen;
135 float intermissiontime;
136 INTTYPE_e intermissiontype;
137 int exitintermission;
147 float earthquake_magnitude;
155 qboolean mbNoDropHealth;
156 qboolean mbNoDropWeapons;
160 qboolean mission_failed;
161 qboolean died_already;
171 str current_soundtrack;
172 str saved_soundtrack;
178 float m_fade_time_start;
179 fadetype_t m_fade_type;
180 fadestyle_t m_fade_style;
183 float m_letterbox_fraction;
184 float m_letterbox_time;
185 float m_letterbox_time_start;
186 letterboxdir_t m_letterbox_dir;
206 VoteOptions m_voteOptions;
209 Vector m_intermission_origin;
210 Vector m_intermission_angle;
213 int frame_skel_index;
214 int skel_index[MAX_GENTITIES];
217 qboolean m_LoopProtection;
221 class Sentient *m_HeadSentient[MAX_HEAD_SENTIENTS];
224 earthquake_t earthquakes[MAX_EARTHQUAKES];
228 Vector m_vObjectiveLocation;
229 Vector m_vAlliedObjectiveLocation;
230 Vector m_vAxisObjectiveLocation;
234 bool m_bForceTeamObjectiveLocation;
244 float m_fLandmarkYDistMax;
245 float m_fLandmarkYDistMin;
246 float m_fLandmarkXDistMin;
247 float m_fLandmarkXDistMax;
250 int m_iLandmarksCount;
261 CLASS_PROTOTYPE(Level);
267 void CleanUp(qboolean samemap = qfalse, qboolean resetConfigStrings = qfalse);
269 gentity_t *AllocEdict(
Entity *ent);
270 void FreeEdict(gentity_t *ent);
271 void InitEdict(gentity_t *ent);
272 void LoadAllScripts(
const char *name,
const char *extension);
274 void SetMap(
const char *themapname);
277 void SpawnEntities(
char *entities,
int _svsTime_);
280 void ComputeDMWaypoints();
281 void AddLandmarkOrigin(
const Vector& origin);
282 void AddLandmarkName(
const str& name,
const Vector& origin);
283 void FreeLandmarks();
284 str GetDynamicDMLocations(
const Vector& origin);
285 str GetDMLocation(
const Vector& origin);
287 void PreSpawnSentient(Event *ev);
288 void ServerSpawned();
289 qboolean inhibitEntity(
int spawnflags);
291 void setSkill(
int value);
292 void setTime(
int _svsTime_);
293 void setFrametime(
int frameTime);
295 void AddAutomaticCamera(
Camera *cam);
297 void GetTime(Event *ev);
298 void GetTotalSecrets(Event *ev);
299 void GetFoundSecrets(Event *ev);
303 void InitVoteOptions();
304 void SendVoteOptionsFile(gentity_t *ent);
305 bool GetVoteOptionMain(
int index, str *outOptionCommand, voteoptiontype_t *outOptionType);
306 bool GetVoteOptionSub(
int index,
int listIndex, str *outCommand);
307 bool GetVoteOptionMainName(
int index, str *outVoteName);
308 bool GetVoteOptionSubName(
int index,
int listIndex, str *outName);
313 void GetAlarm(Event *ev);
314 void SetAlarm(Event *ev);
315 void SetNoDropHealth(Event *ev);
316 void SetNoDropWeapons(Event *ev);
317 void GetLoopProtection(Event *ev);
318 void SetLoopProtection(Event *ev);
319 void GetPapersLevel(Event *ev);
320 void SetPapersLevel(Event *ev);
321 void EventGetRoundStarted(Event *ev);
322 void EventGetDMRespawning(Event *ev);
323 void EventSetDMRespawning(Event *ev);
324 void EventGetDMRoundLimit(Event *ev);
325 void EventSetDMRoundLimit(Event *ev);
326 void EventGetClockSide(Event *ev);
327 void EventSetClockSide(Event *ev);
328 void EventGetBombPlantTeam(Event *ev);
329 void EventSetBombPlantTeam(Event *ev);
330 void EventGetTargetsToDestroy(Event *ev);
331 void EventSetTargetsToDestroy(Event *ev);
332 void EventGetTargetsDestroyed(Event *ev);
333 void EventSetTargetsDestroyed(Event *ev);
334 void EventGetBombsPlanted(Event *ev);
335 void EventSetBombsPlanted(Event *ev);
336 void EventGetRoundBased(Event *ev);
337 void EventGetObjectiveBased(Event *ev);
338 void EventRainDensitySet(Event *ev);
339 void EventRainDensityGet(Event *ev);
340 void EventRainSpeedSet(Event *ev);
341 void EventRainSpeedGet(Event *ev);
342 void EventRainSpeedVarySet(Event *ev);
343 void EventRainSpeedVaryGet(Event *ev);
344 void EventRainSlantSet(Event *ev);
345 void EventRainSlantGet(Event *ev);
346 void EventRainLengthSet(Event *ev);
347 void EventRainLengthGet(Event *ev);
348 void EventRainMin_DistSet(Event *ev);
349 void EventRainMin_DistGet(Event *ev);
350 void EventRainWidthSet(Event *ev);
351 void EventRainWidthGet(Event *ev);
352 void EventRainShaderSet(Event *ev);
353 void EventRainShaderGet(Event *ev);
354 void EventRainNumShadersSet(Event *ev);
355 void EventRainNumShadersGet(Event *ev);
358 void EventAddBadPlace(Event *ev);
359 void EventRemoveBadPlace(Event *ev);
360 void EventIgnoreClock(Event *ev);
361 void UpdateBadPlaces();
362 int GetNearestBadPlace(
const Vector& org,
float radius,
int team)
const;
364 str GetRandomHeadModel(
const char *model);
365 str GetRandomHeadSkin(
const char *model);
368 bool PreSpawned(
void);
371 void AddEarthquake(earthquake_t *);
372 void DoEarthquakes(
void);
374 void OpenActorStats();
375 void WriteActorStats(
Actor *actor);
379 void SetForceTeamObjectiveLocation(Event *ev);
380 void GetForceTeamObjectiveLocation(Event *ev);
383 void Archive(
Archiver& arc)
override;