engine: reject mbf21 and shit24 wads. there is no way to know if it is safe to ignore...
[k8vavoom.git] / source / psim / p_worldinfo.h
blobbc22cb1780f180886d8c290cad3dbc3208da81fe
1 //**************************************************************************
2 //**
3 //** ## ## ## ## ## #### #### ### ###
4 //** ## ## ## ## ## ## ## ## ## ## #### ####
5 //** ## ## ## ## ## ## ## ## ## ## ## ## ## ##
6 //** ## ## ######## ## ## ## ## ## ## ## ### ##
7 //** ### ## ## ### ## ## ## ## ## ##
8 //** # ## ## # #### #### ## ##
9 //**
10 //** Copyright (C) 1999-2006 Jānis Legzdiņš
11 //** Copyright (C) 2018-2023 Ketmar Dark
12 //**
13 //** This program is free software: you can redistribute it and/or modify
14 //** it under the terms of the GNU General Public License as published by
15 //** the Free Software Foundation, version 3 of the License ONLY.
16 //**
17 //** This program is distributed in the hope that it will be useful,
18 //** but WITHOUT ANY WARRANTY; without even the implied warranty of
19 //** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 //** GNU General Public License for more details.
21 //**
22 //** You should have received a copy of the GNU General Public License
23 //** along with this program. If not, see <http://www.gnu.org/licenses/>.
24 //**
25 //**************************************************************************
26 #ifndef VAVOOM_PSIM_WORLDINFO_HEADER
27 #define VAVOOM_PSIM_WORLDINFO_HEADER
29 #include "../mapinfo.h"
32 class VAcsGlobal;
35 class VWorldInfo : public VGameObject {
36 DECLARE_CLASS(VWorldInfo, VGameObject, 0)
37 NO_DEFAULT_CONSTRUCTOR(VWorldInfo)
39 VAcsGlobal *Acs;
41 vuint8 GameSkill;
42 float SkillAmmoFactor;
43 float SkillDoubleAmmoFactor;
44 float SkillDamageFactor;
45 float SkillRespawnTime;
46 vint32 SkillRespawnLimit;
47 float SkillAggressiveness;
48 vint32 SkillSpawnFilter;
49 vint32 SkillAcsReturn;
50 float SkillHealthFactor;
51 float SkillMonsterHealth;
53 enum {
54 WIF_SkillFastMonsters = 0x00000001u,
55 WIF_SkillDisableCheats = 0x00000002u,
56 WIF_SkillEasyBossBrain = 0x00000004u,
57 WIF_SkillAutoUseHealth = 0x00000008u,
58 WIF_SkillSlowMonsters = 0x00000010u,
59 WIF_SkillSpawnMulti = 0x00000020u,
61 vuint32 Flags;
63 // monster replacements for each skill
64 // WARNING! currently it works only for predefined map spawns!
65 TArray<VSkillMonsterReplacement> SkillReplacements;
67 public:
68 //VWorldInfo ();
69 virtual void PostCtor () override;
71 virtual void SerialiseOther (VStream &Strm) override;
72 virtual void Destroy () override;
74 void SetSkill (int);
75 const VStr GetCurrSkillName () const;
77 DECLARE_FUNCTION(SetSkill)
79 DECLARE_FUNCTION(GetACSGlobalStr)
81 DECLARE_FUNCTION(GetACSGlobalInt)
82 DECLARE_FUNCTION(GetACSGlobalFloat)
83 DECLARE_FUNCTION(SetACSGlobalInt)
84 DECLARE_FUNCTION(SetACSGlobalFloat)
86 DECLARE_FUNCTION(GetACSWorldInt)
87 DECLARE_FUNCTION(GetACSWorldFloat)
88 DECLARE_FUNCTION(SetACSWorldInt)
89 DECLARE_FUNCTION(SetACSWorldFloat)
93 #endif