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;
242 float m_fLandmarkYDistMax;
243 float m_fLandmarkYDistMin;
244 float m_fLandmarkXDistMin;
245 float m_fLandmarkXDistMax;
248 int m_iLandmarksCount;
259 CLASS_PROTOTYPE(Level);
265 void CleanUp(qboolean samemap = qfalse, qboolean resetConfigStrings = qfalse);
267 gentity_t *AllocEdict(
Entity *ent);
268 void FreeEdict(gentity_t *ent);
269 void InitEdict(gentity_t *ent);
270 void LoadAllScripts(
const char *name,
const char *extension);
272 void SetMap(
const char *themapname);
275 void SpawnEntities(
char *entities,
int _svsTime_);
278 void ComputeDMWaypoints();
279 void AddLandmarkOrigin(
const Vector& origin);
280 void AddLandmarkName(
const str& name,
const Vector& origin);
281 void FreeLandmarks();
282 str GetDynamicDMLocations(
const Vector& origin);
285 void PreSpawnSentient(
Event *ev);
286 void ServerSpawned();
287 qboolean inhibitEntity(
int spawnflags);
289 void setSkill(
int value);
290 void setTime(
int _svsTime_);
291 void setFrametime(
int frameTime);
293 void AddAutomaticCamera(
Camera *cam);
295 void GetTime(
Event *ev);
296 void GetTotalSecrets(
Event *ev);
297 void GetFoundSecrets(
Event *ev);
301 void InitVoteOptions();
302 void SendVoteOptionsFile(gentity_t *ent);
303 bool GetVoteOptionMain(
int index,
str *outOptionCommand, voteoptiontype_t *outOptionType);
304 bool GetVoteOptionSub(
int index,
int listIndex,
str *outCommand);
305 bool GetVoteOptionMainName(
int index,
str *outVoteName);
306 bool GetVoteOptionSubName(
int index,
int listIndex,
str *outName);
311 void GetAlarm(
Event *ev);
312 void SetAlarm(
Event *ev);
313 void SetNoDropHealth(
Event *ev);
314 void SetNoDropWeapons(
Event *ev);
315 void GetLoopProtection(
Event *ev);
316 void SetLoopProtection(
Event *ev);
317 void GetPapersLevel(
Event *ev);
318 void SetPapersLevel(
Event *ev);
319 void EventGetRoundStarted(
Event *ev);
320 void EventGetDMRespawning(
Event *ev);
321 void EventSetDMRespawning(
Event *ev);
322 void EventGetDMRoundLimit(
Event *ev);
323 void EventSetDMRoundLimit(
Event *ev);
324 void EventGetClockSide(
Event *ev);
325 void EventSetClockSide(
Event *ev);
326 void EventGetBombPlantTeam(
Event *ev);
327 void EventSetBombPlantTeam(
Event *ev);
328 void EventGetTargetsToDestroy(
Event *ev);
329 void EventSetTargetsToDestroy(
Event *ev);
330 void EventGetTargetsDestroyed(
Event *ev);
331 void EventSetTargetsDestroyed(
Event *ev);
332 void EventGetBombsPlanted(
Event *ev);
333 void EventSetBombsPlanted(
Event *ev);
334 void EventGetRoundBased(
Event *ev);
335 void EventGetObjectiveBased(
Event *ev);
336 void EventRainDensitySet(
Event *ev);
337 void EventRainDensityGet(
Event *ev);
338 void EventRainSpeedSet(
Event *ev);
339 void EventRainSpeedGet(
Event *ev);
340 void EventRainSpeedVarySet(
Event *ev);
341 void EventRainSpeedVaryGet(
Event *ev);
342 void EventRainSlantSet(
Event *ev);
343 void EventRainSlantGet(
Event *ev);
344 void EventRainLengthSet(
Event *ev);
345 void EventRainLengthGet(
Event *ev);
346 void EventRainMin_DistSet(
Event *ev);
347 void EventRainMin_DistGet(
Event *ev);
348 void EventRainWidthSet(
Event *ev);
349 void EventRainWidthGet(
Event *ev);
350 void EventRainShaderSet(
Event *ev);
351 void EventRainShaderGet(
Event *ev);
352 void EventRainNumShadersSet(
Event *ev);
353 void EventRainNumShadersGet(
Event *ev);
356 void EventAddBadPlace(
Event *ev);
357 void EventRemoveBadPlace(
Event *ev);
358 void EventIgnoreClock(
Event *ev);
359 void UpdateBadPlaces();
360 int GetNearestBadPlace(
const Vector& org,
float radius,
int team)
const;
362 str GetRandomHeadModel(
const char *model);
363 str GetRandomHeadSkin(
const char *model);
366 bool PreSpawned(
void);
369 void AddEarthquake(earthquake_t *);
370 void DoEarthquakes(
void);
372 void OpenActorStats();
373 void WriteActorStats(
Actor *actor);
377 void SetForceTeamObjectiveLocation(
Event *ev);
378 void GetForceTeamObjectiveLocation(
Event *ev);
381 void Archive(
Archiver& arc)
override;