Serious Sam's Bogus Detour  2016/06/09
Engine documentation
engine_docs.h
Go to the documentation of this file.
1 // Auto-generated engine docs
2 
3 typedef void AnyType;
4 
5 class string
6 {
7 public:
8  string operator=(const string&);
9  string operator+=(const string&);
10  bool operator==(const string&);
11  int32 operator<(const string&);
12  string operator+(string, const string&);
13  uint32 length();
14  void resize(uint32);
15  uint32 get_length();
16  void set_length(uint32);
17  bool isEmpty();
18  uint8 operator[](uint32);
19  uint8 operator[](uint32);
20  string operator=(double);
21  string operator+=(double);
22  string operator+(string, double);
23  string operator+(double, string);
24  string operator=(float);
25  string operator+=(float);
26  string operator+(string, float);
27  string operator+(float, string);
28  string operator=(int64);
29  string operator+=(int64);
30  string operator+(string, int64);
31  string operator+(int64, string);
32  string operator=(uint64);
33  string operator+=(uint64);
34  string operator+(string, uint64);
35  string operator+(uint64, string);
36  string operator=(bool);
37  string operator+=(bool);
38  string operator+(string, bool);
39  string operator+(bool, string);
40  string substr(uint32 start = 0, int32 count = -1);
41  int32 findFirst(const string&, uint32 start = 0);
42  int32 findFirstOf(const string&, uint32 start = 0);
43  int32 findFirstNotOf(const string&, uint32 start = 0);
44  int32 findLast(const string&, int32 start = -1);
45  int32 findLastOf(const string&, int32 start = -1);
46  int32 findLastNotOf(const string&, int32 start = -1);
47  void insert(uint32 pos, const string& other);
48  void erase(uint32 pos, int32 count = -1);
49  array<string>* split(const string&);
50  string toUpper();
51  string toLower();
52  void insert(int32 index, string str);
53  void erase(int32 start, int32 length);
54 };
55 template<class T>
56 class array
57 {
58 public:
59  T operator[](uint32 index);
60  T operator[](uint32 index);
61  array<T> operator=(const array<T>&);
62  void insertAt(uint32 index, const T& value);
63  void insertAt(uint32 index, const array<T>& arr);
64  void insertLast(const T& value);
65  void removeAt(uint32 index);
66  void removeLast();
67  void removeRange(uint32 start, uint32 count);
68  uint32 length();
69  void reserve(uint32 length);
70  void resize(uint32 length);
71  void sortAsc();
72  void sortAsc(uint32 startAt, uint32 count);
73  void sortDesc();
74  void sortDesc(uint32 startAt, uint32 count);
75  void reverse();
76  int32 find(const T& value);
77  int32 find(uint32 startAt, const T& value);
78  int32 findByRef(const T& value);
79  int32 findByRef(uint32 startAt, const T& value);
80  bool operator==(const array<T>&);
81  bool isEmpty();
82  uint32 get_length();
83  void set_length(uint32);
84 };
86 {
87 public:
89  dictionaryValue opHndlAssign(const AnyType&);
91  dictionaryValue operator=(double);
93  explicit operator void();
94  explicit operator void();
95  explicit operator int64();
96  explicit operator double();
97 };
99 {
100 public:
102  void set(const string&, const AnyType&);
103  bool get(const string&, AnyType&);
104  void set(const string&, const int64&);
105  bool get(const string&, int64&);
106  void set(const string&, const double&);
107  bool get(const string&, double&);
108  bool exists(const string&);
109  bool isEmpty();
110  uint32 getSize();
111  bool delete(const string&);
112  void deleteAll();
113  array<string>* getKeys();
114  dictionaryValue operator[](const string&);
115  dictionaryValue operator[](const string&);
116 };
117 class ref
118 {
119 public:
120  explicit operator void();
121  ref opHndlAssign(const ref&);
122  ref opHndlAssign(const AnyType&);
123  bool operator==(const ref&);
124  bool operator==(const AnyType&);
125 };
127 {
128 public:
129  utf8string operator=(const string&);
130  utf8string operator+=(const string&);
131  utf8string insert(uint32 pos, const string& str);
132  utf8string insert(uint32 pos, const utf8string& str);
133  utf8string erase(uint32 pos, uint32 len = 1);
134  utf8string substr(uint32 pos, uint32 len);
135  int32 findFirst(const string&, uint32 start = 0);
136  int32 findLast(const string&, int32 start = -1);
137  uint32 length();
138  uint32 size();
139  string plain();
140 };
144  class vec2
145  {
146  public:
147  float x;
148  float y;
149  public:
150  operator string();
151  vec2 operator+=(const vec2&);
152  vec2 operator-=(const vec2&);
153  vec2 operator*=(const vec2&);
154  vec2 operator/=(const vec2&);
155  vec2 operator+=(const float&);
156  vec2 operator-=(const float&);
157  vec2 operator*=(const float&);
158  vec2 operator/=(const float&);
159  vec2 operator-(vec2, const vec2&);
160  vec2 operator+(vec2, const vec2&);
161  vec2 operator*(vec2, const vec2&);
162  vec2 operator/(vec2, const vec2&);
163  vec2 operator*(vec2, const float&);
164  vec2 operator/(vec2, const float&);
165  };
167  class vec3
168  {
169  public:
170  float x;
171  float y;
172  float z;
173  float r;
174  float g;
175  float b;
176  public:
177  operator string();
178  vec3 operator+=(const vec3&);
179  vec3 operator-=(const vec3&);
180  vec3 operator*=(const vec3&);
181  vec3 operator/=(const vec3&);
182  vec3 operator+=(const float&);
183  vec3 operator-=(const float&);
184  vec3 operator*=(const float&);
185  vec3 operator/=(const float&);
186  vec3 operator-(vec3, const vec3&);
187  vec3 operator+(vec3, const vec3&);
188  vec3 operator*(vec3, const vec3&);
189  vec3 operator/(vec3, const vec3&);
190  vec3 operator*(vec3, const float&);
191  vec3 operator/(vec3, const float&);
192  vec3 operator*(vec3, const mat3&);
193  };
195  class vec4
196  {
197  public:
198  float x;
199  float y;
200  float z;
201  float w;
202  float r;
203  float g;
204  float b;
205  float a;
206  public:
207  operator string();
208  vec4 operator+=(const vec4&);
209  vec4 operator-=(const vec4&);
210  vec4 operator*=(const vec4&);
211  vec4 operator/=(const vec4&);
212  vec4 operator+=(const float&);
213  vec4 operator-=(const float&);
214  vec4 operator*=(const float&);
215  vec4 operator/=(const float&);
216  vec4 operator-(vec4, const vec4&);
217  vec4 operator+(vec4, const vec4&);
218  vec4 operator*(vec4, const vec4&);
219  vec4 operator/(vec4, const vec4&);
220  vec4 operator*(vec4, const float&);
221  vec4 operator/(vec4, const float&);
222  vec4 operator*(vec4, const mat4&);
223  };
225  class ivec2
226  {
227  public:
228  int32 x;
229  int32 y;
230  public:
231  operator string();
232  ivec2 operator+=(const ivec2&);
233  ivec2 operator-=(const ivec2&);
234  ivec2 operator*=(const ivec2&);
235  ivec2 operator/=(const ivec2&);
236  ivec2 operator+=(const float&);
237  ivec2 operator-=(const float&);
238  ivec2 operator*=(const float&);
239  ivec2 operator/=(const float&);
240  ivec2 operator-(ivec2, const ivec2&);
241  ivec2 operator+(ivec2, const ivec2&);
242  ivec2 operator*(ivec2, const ivec2&);
243  ivec2 operator/(ivec2, const ivec2&);
244  ivec2 operator*(ivec2, const float&);
245  ivec2 operator/(ivec2, const float&);
246  };
248  class ivec3
249  {
250  public:
251  int32 x;
252  int32 y;
253  int32 z;
254  public:
255  operator string();
256  ivec3 operator+=(const ivec3&);
257  ivec3 operator-=(const ivec3&);
258  ivec3 operator*=(const ivec3&);
259  ivec3 operator/=(const ivec3&);
260  ivec3 operator+=(const float&);
261  ivec3 operator-=(const float&);
262  ivec3 operator*=(const float&);
263  ivec3 operator/=(const float&);
264  ivec3 operator-(ivec3, const ivec3&);
265  ivec3 operator+(ivec3, const ivec3&);
266  ivec3 operator*(ivec3, const ivec3&);
267  ivec3 operator/(ivec3, const ivec3&);
268  ivec3 operator*(ivec3, const float&);
269  ivec3 operator/(ivec3, const float&);
270  };
272  class ivec4
273  {
274  public:
275  int32 x;
276  int32 y;
277  int32 z;
278  int32 w;
279  public:
280  operator string();
281  ivec4 operator+=(const ivec4&);
282  ivec4 operator-=(const ivec4&);
283  ivec4 operator*=(const ivec4&);
284  ivec4 operator/=(const ivec4&);
285  ivec4 operator+=(const float&);
286  ivec4 operator-=(const float&);
287  ivec4 operator*=(const float&);
288  ivec4 operator/=(const float&);
289  ivec4 operator-(ivec4, const ivec4&);
290  ivec4 operator+(ivec4, const ivec4&);
291  ivec4 operator*(ivec4, const ivec4&);
292  ivec4 operator/(ivec4, const ivec4&);
293  ivec4 operator*(ivec4, const float&);
294  ivec4 operator/(ivec4, const float&);
295  };
297  class mat3
298  {
299  public:
300  mat3 operator+=(const mat3&);
301  mat3 operator-=(const mat3&);
302  mat3 operator*=(const mat3&);
303  mat3 operator/=(const mat3&);
304  mat3 operator+=(const float&);
305  mat3 operator-=(const float&);
306  mat3 operator*=(const float&);
307  mat3 operator/=(const float&);
308  mat3 operator-(mat3, const mat3&);
309  mat3 operator+(mat3, const mat3&);
310  mat3 operator*(mat3, const mat3&);
311  mat3 operator/(mat3, const mat3&);
312  mat3 operator*(mat3, const float&);
313  mat3 operator/(mat3, const float&);
314  vec3 operator*(mat3, const vec3&);
315  };
317  class mat4
318  {
319  public:
320  mat4 operator+=(const mat4&);
321  mat4 operator-=(const mat4&);
322  mat4 operator*=(const mat4&);
323  mat4 operator/=(const mat4&);
324  mat4 operator+=(const float&);
325  mat4 operator-=(const float&);
326  mat4 operator*=(const float&);
327  mat4 operator/=(const float&);
328  mat4 operator-(mat4, const mat4&);
329  mat4 operator+(mat4, const mat4&);
330  mat4 operator*(mat4, const mat4&);
331  mat4 operator/(mat4, const mat4&);
332  mat4 operator*(mat4, const float&);
333  mat4 operator/(mat4, const float&);
334  vec4 operator*(mat4, const vec4&);
335  };
337 
338 class ctime
339 {
340 public:
341  int32 sec;
342  int32 min;
343  int32 hour;
344  int32 mday;
345  int32 mon;
346  int32 year;
347  int32 wday;
348  int32 yday;
349  int32 isdst;
350 };
354  class UnitPtr
355  {
356  public:
357  bool operator==(const UnitPtr&);
359 
360  UnitEventCallbackId RegisterEventCallback(UnitEventType event, ref script, string func);
361  void UnregisterEventCallback(UnitEventCallbackId id);
362  bool HasCallbacks(UnitEventType event);
363  void TriggerCallbacks(UnitEventType event, SValue* args = null);
365 
366  void TagAsDebris(uint8 importance);
367  bool IsLight();
368  bool IsCollider();
370 
372  vec3 GetPosition();
374  vec3 GetInterpolatedPosition(int32 idt);
375  void SetPosition(const vec3& pos, bool smooth = false);
376  void SetPosition(float x, float y, float z, bool smooth = false);
377  void SetPositionZ(float z, bool smooth = false);
378  void SetLayer(int32 layer);
380 
381  PhysicsBody* GetPhysicsBody();
382  ref GetScriptBehavior();
383  uint32 GetRoughPingDistance();
384  void SetUpdateDistanceLimit(int32 dist);
386 
387  void SetUnitScene(string name, bool resetTime);
388  void SetUnitScene(UnitScene* scene, bool resetTime);
389  void SetUnitScene(CustomUnitScene* customScene, bool resetTime);
390  UnitScene* GetCurrentUnitScene();
391  UnitScene* GetUnitScene(string name);
392  int32 GetUnitSceneTime();
393  void SetUnitSceneTime(int32 time);
394  float GetUnitTimeScale();
395  void SetUnitTimeScale(float scale);
396  vec2 FetchLocator(string name);
397  SValue* FetchData(string name);
399 
400  int32 GetId();
401  bool IsValid();
402  vec2 GetMoveDir();
404  string GetDebugName();
405  uint32 GetSlot();
406  void SetHidden(bool hidden);
407  bool IsHidden();
408  void Destroy();
409  bool IsDestroyed();
411 
412  void SetShouldCollide(bool collides);
413  bool ShouldCollide();
414  void SetShouldCollideWithSame(bool collides);
415  bool ShouldCollideWithSame();
416  void SetCollisionTeam(uint16 team);
417  uint16 GetCollisionTeam();
419 
420  EffectParams* CreateEffectParams(EffectParams* copy = null);
421  };
424  {
425  public:
426  void Add(UnitPtr unit);
427  void Remove(UnitPtr unit);
428  void Clear();
429  void Replace(UnitPtr unit);
430  };
432  class UnitFeed
433  {
434  public:
435  array<UnitPtr>* FetchAll();
436  UnitPtr FetchFirst();
437  };
439  class Scene
440  {
441  public:
442  array<RaycastResult>* Raycast(const vec2& from, const vec2& to, uint32 slots, RaycastType type);
443  RaycastResult RaycastClosest(const vec2& from, const vec2& to, uint32 slots, RaycastType type);
444  bool RaycastQuick(const vec2& from, const vec2& to, uint32 slots, RaycastType type);
445  operator RaycastProvider*();
446  void EnableLagCompensation(bool enable);
447  RaycastProvider* LagCompensation(int32 ms);
448  array<UnitPtr>* QueryRect(const vec2& center, uint32 width, uint32 height, uint32 slots, RaycastType type, bool getSensors = false);
449  array<UnitPtr>* QueryCircle(const vec2& center, uint32 radius, uint32 slots, RaycastType type, bool getSensors = false);
450  uint32 GetTime();
451  UnitPtr GetUnit(int32 id);
452  void Ping(array<vec2>* pos);
453  array<vec2>* Pathfind(const vec2& from, const vec2& to, int32 diameter, float maxDistance = -1, float maxRange = -1);
454  void QueuePathfind(UnitPtr owner, const vec2& from, const vec2& to, int32 diameter, float maxDistance = -1, float maxRange = -1);
455  array<Tileset*>* FetchTilesets(const vec2& pos);
456  array<UnitPtr>* FetchAllUnitsWithBehavior(string behavior, bool includeInherited = false);
457  array<UnitPtr>* FetchAllUnitsWithBehavior(string behavior, vec2 center, int32 radius, bool includeInherited = false);
458  array<UnitPtr>* FetchActorsWithOtherTeam(uint32 team, vec2 center, uint32 radius);
459  array<UnitPtr>* FetchActorsWithTeam(uint32 team, vec2 center, uint32 radius);
460  void QueueFetchActorsWithOtherTeam(UnitPtr owner, uint32 team, vec2 center, uint32 radius);
461  void QueueFetchActorsWithTeam(UnitPtr owner, uint32 team, vec2 center, uint32 radius);
462  array<UnitPtr>* FetchAllActorsWithOtherTeam(uint32 team);
463  array<UnitPtr>* FetchAllActorsWithTeam(uint32 team);
464  array<WorldScript*>* FetchAllWorldScripts(string type);
465  array<WorldScript*>* FetchAllWorldScriptsWithComment(string type, string comment);
466  };
468 
472  class SValue
473  {
474  public:
475  SValueType GetType();
476  array<SValue*>* GetArray();
477  dictionary* GetDictionary();
478  array<uint8>* GetByteArray();
479  bool GetBoolean();
480  float GetFloat();
481  int32 GetInteger();
482  string GetString();
483  vec2 GetVector2();
484  vec3 GetVector3();
485  vec4 GetVector4();
486  SValue* GetDictionaryEntry(string name);
487  void Dump();
488  };
491  {
492  public:
493  void PushArray();
494  void PopArray();
495  void PushDictionary();
496  void PopDictionary();
497  void PushNull();
498  void PushBoolean(bool val);
499  void PushFloat(float val);
500  void PushInteger(int32 val);
501  void PushString(const string& val);
502  void PushVector2(vec2 val);
503  void PushVector3(vec3 val);
504  void PushVector4(vec4 val);
505  void PushDictionary(string name);
506  void PushArray(string name);
507  void PushNull(string name);
508  void PushBoolean(string name, bool val);
509  void PushFloat(string name, float val);
510  void PushInteger(string name, int32 val);
511  void PushString(string name, const string& val);
512  void PushVector2(string name, vec2 val);
513  void PushVector3(string name, vec3 val);
514  void PushVector4(string name, vec4 val);
515  SValue* Build();
516  };
518 
522  class cvar_t
523  {
524  public:
525  bool GetBool();
526  float GetFloat();
527  int32 GetInt();
528  string GetString();
529  };
531 
535  class Fixture
536  {
537  public:
538  bool IsSensor();
539  };
542  {
543  public:
544  void SetLinearVelocity(const vec2& velocity);
545  void SetLinearVelocity(float x, float y);
546  vec2 GetLinearVelocity();
547  bool IsStatic();
548  void SetStatic(bool static);
549  bool IsActive();
550  void SetActive(bool static, Scene* scene = null);
551  int32 GetEstimatedRadius();
552  };
555  {
556  public:
557  void AddOnEnter(ref script, string func);
558  void AddOnExit(ref script, string func);
559  array<UnitPtr>* FetchAllInside(Scene* scene);
560  bool IsEmpty();
561  };
563 
567  class UnitScene
568  {
569  public:
570  int32 Length();
571  string GetName();
572  SValue* FetchData(string name);
573  };
576  {
577  public:
578  UnitPtr Produce(Scene* scene, const vec3& pos, int32 id = 0, uint32 rnd = 0);
579  string GetDebugName();
580  uint32 GetResourceHash();
581  UnitScene* GetUnitScene(string name);
582  array<string>* GetSceneSet(string name);
583  NetSyncMode GetNetSyncMode();
584  };
587  {
588  public:
589  int32 Length();
590  string GetName();
591  void Clear();
592  void AddScene(UnitScene* scene, int32 timeOffset, vec2 posOffset, int16 layerOffset, int16 uLayerOffset);
593  };
595  {
596  };
599  {
600  public:
601  void Set(string name, float value);
602  };
604 
609  {
610  public:
611  void SetPosition(vec3 pos);
612  int32 GetLength();
613  void Stop();
614  bool IsPlaying();
615  void SetPaused(bool paused);
616  bool IsPaused();
617  void SetLooped(bool looped);
618  bool IsLooped();
619  void SetVolume(float volume);
620  float GetVolume();
621  void SetParameter(string name, float value);
622  };
625  {
626  public:
627  void Play();
628  void Play(vec3 pos);
629  SoundInstance* PlayTracked();
630  SoundInstance* PlayTracked(vec3 pos);
631  string GetName();
632  };
634 
638  class Texture2D
639  {
640  public:
641  int32 GetWidth();
642  int32 GetHeight();
643  };
646  {
647  public:
648  int32 GetWidth();
649  int32 GetHeight();
650  Texture2D* GetTexture();
651  };
653  class Bitmap2D
654  {
655  public:
656  int32 GetWidth();
657  int32 GetHeight();
658  };
661  {
662  public:
663  int32 GetWidth();
664  int32 GetHeight();
665  void ResetColor();
666  void SetColor(const vec4& color);
667  void SetColorGradient(const vec4& color1, const vec4& color2, GradientDirection dir);
668  };
671  {
672  public:
673  BitmapString* BuildText(const string& text, int32 width = -1, TextAlignment align = TextAlignment::Left);
674  vec2 MeasureText(string text, int32 width = -1);
675  };
677  class Sprite
678  {
679  public:
681  uint32 GetLength();
682  int32 GetWidth();
683  int32 GetHeight();
684  vec4 GetFrame(int32 time);
685  };
688  {
689  public:
690  void Begin(int32 width, int32 height, float scale, bool grayscale = false);
691  void End();
692  void SetGrayscale(bool grayscale);
693  void PushTransformation(const mat3& transform, const vec2& pivot);
694  void PushTransformation(const mat4& transform);
695  void PopTransformation();
696  void PushClipping(const vec4& rect, bool inverse = false);
697  void PopClipping();
698  void PauseClipping();
699  void ResumeClipping();
700  void DrawString(const vec2& pos, BitmapString& string);
701  void DrawLine(const vec2& from, const vec2& to, float thickness, const vec4& color);
702  void DrawSprite(const vec2& pos, Sprite* sprite, uint32 time, const vec4& color = vec4(1,1,1,1));
703  void DrawSprite(Texture2D* tex, const vec4& pos, const vec4& src, const vec4& color = vec4(1,1,1,1));
704  void DrawSpriteRadial(const vec2& pos, Sprite* sprite, uint32 time, float r, const vec4& color = vec4(1,1,1,1));
705  void DrawSpriteRadial(Texture2D* tex, const vec4& pos, const vec4& src, float r, const vec4& color = vec4(1,1,1,1));
706  void DrawRectangle(const vec4& rect, const vec4& color, int32 thickness = 1);
707  void FillRectangle(const vec4& rect, const vec4& color);
708  void DrawUnitScene(const vec2& pos, const vec2& size, UnitScene* scene, uint32 time);
709  };
711 
716  {
717  public:
720  float fraction;
721  public:
722  UnitPtr FetchUnit(Scene& scene);
723  };
725  class Tileset
726  {
727  public:
728  int16 GetLayer();
729  int32 GetTileSize();
730  Texture2D* GetTexture();
731  SValue* GetData();
732  };
734 
739  {
740  public:
741  void Execute();
742  void ClientExecute(SValue* param);
743  bool IsExecutable();
744  int32 GetTriggerTimes();
745  bool IsEnabled();
746  void SetTriggerTimes(int32 triggerTimes);
747  void SetEnabled(bool enabled);
748  string GetComment();
749  UnitPtr GetUnit();
750  };
752 
754 {
755 public:
756  array<RaycastResult>* Raycast(const vec2& from, const vec2& to, uint32 slots, RaycastType type);
757  RaycastResult RaycastClosest(const vec2& from, const vec2& to, uint32 slots, RaycastType type);
758  bool RaycastQuick(const vec2& from, const vec2& to, uint32 slots, RaycastType type);
759 };
763  class GUIDef
764  {
765  public:
766  Sprite* GetSprite(const string& name);
767  };
770  {
771  public:
772  string GetName();
773  GUIDef* GetGUIDef();
774  ref GetWidgetHost();
775  bool GetBoolean(const string& name, bool required = true, bool def = false);
776  float GetFloat(const string& name, bool required = true, float def = 0.);
777  int32 GetInteger(const string& name, bool required = true, int32 def = 0);
778  string GetString(const string& name, bool required = true, const string& def = "");
779  vec2 GetVector2(const string& name, bool required = true, const vec2& def = vec2());
780  vec3 GetVector3(const string& name, bool required = true, const vec3& def = vec3());
781  vec4 GetVector4(const string& name, bool required = true, const vec4& def = vec4());
782  vec3 GetColorRGB(const string& name, bool required = true, const vec3& def = vec3(1,1,1));
783  vec4 GetColorRGBA(const string& name, bool required = true, const vec4& def = vec4(1,1,1,1));
784  SValue* GetParams(const string& name, bool required = true);
785  };
788  {
789  public:
790  void AddWidgetProducer(string widget, WidgetProducer* prod);
791  ref BuildGUI(GUIDef* gui);
792  ref BuildGUI(GUIDef* gui, ref host);
793  };
795 
800  {
801  public:
802  void SendToAll();
803  void SendToHost();
804  void SendToPeer(int32 peer);
805  void SendToAllExcept(int32 peer);
806  NetworkMessage operator<<(NetworkMessage, const string&);
807  NetworkMessage operator<<(NetworkMessage, const int32&);
808  NetworkMessage operator<<(NetworkMessage, const uint32&);
809  NetworkMessage operator<<(NetworkMessage, const float&);
810  NetworkMessage operator<<(NetworkMessage, const vec2&);
811  NetworkMessage operator<<(NetworkMessage, const bool&);
812  NetworkMessage operator<<(NetworkMessage, SValue*);
813  NetworkMessage operator<<(NetworkMessage, const UnitPtr&);
814  };
816 
821  {
822  public:
823  string GetMyName();
824  uint64 GetMyID();
825  void OpenUserProfile(uint64 id);
826  void InviteToGame(uint64 id, const string& connString);
827  bool IsMultiplayerAvailable();
828  void UnlockAchievement(const string& key);
829  void SetStatInt(const string& key, int32 set);
830  void SetStatFloat(const string& key, float set);
831  void IncreaseStatInt(const string& key, int32 add);
832  void IncreaseStatFloat(const string& key, float add);
833  void ResetAllStats();
834  void InMenus(bool menus);
835  bool ControllerInterface(uint64 handle);
836  };
838 
839 class pint
840 {
841 public:
842  operator int32();
843  bool operator==(const pint&);
844  bool operator==(const int32&);
845  int32 operator<(const pint&);
846  int32 operator<(const int32&);
847  pint operator++();
848  pint operator--();
849  pint operator+=(const pint&);
850  pint operator-=(const pint&);
851  pint operator*=(const pint&);
852  pint operator/=(const pint&);
853  pint operator+(pint, const pint&);
854  pint operator-(pint, const pint&);
855  pint operator*(pint, const pint&);
856  pint operator/(pint, const pint&);
857  pint operator+=(const int32&);
858  pint operator-=(const int32&);
859  pint operator*=(const int32&);
860  pint operator/=(const int32&);
861  pint operator+(pint, const int32&);
862  pint operator-(pint, const int32&);
863  pint operator*(pint, const int32&);
864  pint operator/(pint, const int32&);
865 };
866 class pfloat
867 {
868 public:
869  operator float();
870  bool operator==(const pfloat&);
871  bool operator==(const float&);
872  int32 operator<(const pfloat&);
873  int32 operator<(const float&);
874  pfloat operator+=(const pfloat&);
875  pfloat operator-=(const pfloat&);
876  pfloat operator*=(const pfloat&);
877  pfloat operator/=(const pfloat&);
878  pfloat operator+(pfloat, const pfloat&);
879  pfloat operator-(pfloat, const pfloat&);
880  pfloat operator*(pfloat, const pfloat&);
881  pfloat operator/(pfloat, const pfloat&);
882  pfloat operator+=(const float&);
883  pfloat operator-=(const float&);
884  pfloat operator*=(const float&);
885  pfloat operator/=(const float&);
886  pfloat operator+(pfloat, const float&);
887  pfloat operator-(pfloat, const float&);
888  pfloat operator*(pfloat, const float&);
889  pfloat operator/(pfloat, const float&);
890 };
895  {
896  public:
897  bool Down;
898  bool Pressed;
899  bool Released;
900  int32 Delta;
901  };
904  {
905  public:
908  bool select;
909  };
911  class GameInput
912  {
913  public:
938  public:
939  int32 GetTextInputCount();
940  TextInputControlEvent* GetTextInput(int32 index);
941  };
943  class MenuInput
944  {
945  public:
954  };
957  {
958  public:
959  string ID;
960  string Action;
961  };
964  {
965  public:
966  string ID;
967  int32 Index;
969  bool Gamepad;
970  bool Joystick;
971  public:
972  bool get_SteamController();
973  uint64 get_Handle();
974  array<ControlMapBinding*>* GetBindings();
975  array<ControlMapBinding*>* GetStaging();
976  void Clear();
977  void Remove(ControlMapBinding* bind);
978  void Add(ControllerType type, int32 key, const string& action);
979  void ClearStaging();
980  void RemoveStaging(ControlMapBinding* bind);
981  void AddStaging(ControllerType type, int32 key, const string& action);
982  void BeginStaging();
983  void CommitStaging();
984  void Defaults();
985  };
988  {
989  public:
990  void Save();
991  ControlMap* GetMap(const string& id);
992  array<ControlMap*>* GetMaps();
993  void ExpectTextInput();
994  void StopExpectTextInput();
995  void ExpectInput();
996  array<string>* GetAvailableActions();
997  };
999 
1003  {
1004  public:
1005  string GetName();
1006  string GetLevel();
1007  };
1009  {
1010  public:
1011  ScenarioModificationVisual GetVisual();
1012  string GetID();
1013  string GetName();
1014  string GetLockedBy();
1015  bool GetDefaultOn();
1016  string GetRadioGroup();
1017  };
1019  {
1020  public:
1021  TempTexture2D* LoadLogos();
1022  string GetID();
1023  string GetName();
1024  string GetTag();
1025  string GetDescription();
1026  bool Multiplayer();
1027  bool Official();
1028  bool Packaged();
1029  bool Workshop();
1030  array<ScenarioStartLevel*>* GetStartLevels();
1031  array<ScenarioModification*>* GetModifications();
1032  int32 MinPlayers();
1033  int32 MaxPlayers();
1034  };
1036 
1038 {
1039 public:
1040  bool Valid;
1041  uint64 Timestamp;
1042  uint32 Version;
1043  uint32 ScenarioID;
1050 public:
1052 };
1054 {
1055  Null = 0,
1056  Array = 1,
1058  Boolean = 3,
1059  Float = 4,
1060  Integer = 5,
1061  String = 6,
1063  Vector2 = 8,
1064  Vector3 = 9,
1065  Vector4 = 10,
1066 };
1068 {
1069  Bool = 2,
1070  Float = 1,
1071  Int = 0,
1072  String = 3,
1073 };
1075 {
1077  Cheat = 4,
1078 };
1080 {
1083  Hidden = 4,
1084  Damaged = 8,
1085  Custom = 16,
1086 };
1088 {
1089  None = 0,
1090  Manual = 1,
1093 };
1095 {
1096  Left = 0,
1097  Center = 1,
1098  Right = 2,
1099 };
1101 {
1104 };
1106 {
1107  Any = 0,
1108  Aim = 1,
1109  Shot = 2,
1110  Jam = 3,
1111 };
1113 {
1114  Home = 0,
1115  End = 1,
1116  Left = 2,
1117  Right = 3,
1121  Delete = 7,
1122  Tab = 8,
1123  Submit = 9,
1124  Cancel = 10,
1125  Copy = 11,
1126  Paste = 12,
1127  Cut = 13,
1128  Up = 14,
1129  Down = 15,
1130  None = 16,
1131 };
1133 {
1134  None = 0,
1136  Mouse = 2,
1138  Gamepad = 4,
1145 };
1147 {
1150  Hidden = 2,
1151 };
1153 {
1155  Saved = 0,
1156 };
1158 {
1159  Easy = 1,
1160  Normal = 2,
1161  Hard = 4,
1162  Serious = 8,
1163 };
1165 {
1166  None = 0,
1168  Header = 2,
1169 };
1171 {
1175  DropIn = 3,
1176 };
1177 typedef void (*OnChangedInt)(int32 val);
1178 typedef void (*OnChangedFloat)(float val);
1179 typedef void (*OnChangedBool)(bool val);
1180 typedef void (*OnChangedString)(string val);
1181 typedef void (*OnCFunctionCall0Param)();
1182 typedef void (*OnCFunctionCall1Param)(cvar_t* arg0);
1183 typedef void (*OnCFunctionCall2Param)(cvar_t* arg0, cvar_t* arg1);
1184 typedef void (*OnCFunctionCall3Param)(cvar_t* arg0, cvar_t* arg1, cvar_t* arg2);
1185 typedef void (*OnCFunctionCall4Param)(cvar_t* arg0, cvar_t* arg1, cvar_t* arg2, cvar_t* arg3);
1186 typedef void (*OnCFunctionCall5Param)(cvar_t* arg0, cvar_t* arg1, cvar_t* arg2, cvar_t* arg3, cvar_t* arg4);
1187 typedef void (*OnCFunctionCall6Param)(cvar_t* arg0, cvar_t* arg1, cvar_t* arg2, cvar_t* arg3, cvar_t* arg4, cvar_t* arg5);
1188 typedef void (*OnCFunctionCall7Param)(cvar_t* arg0, cvar_t* arg1, cvar_t* arg2, cvar_t* arg3, cvar_t* arg4, cvar_t* arg5, cvar_t* arg6);
1189 typedef void (*OnCFunctionCall8Param)(cvar_t* arg0, cvar_t* arg1, cvar_t* arg2, cvar_t* arg3, cvar_t* arg4, cvar_t* arg5, cvar_t* arg6, cvar_t* arg7);
1190 typedef void (*OnCFunctionCall9Param)(cvar_t* arg0, cvar_t* arg1, cvar_t* arg2, cvar_t* arg3, cvar_t* arg4, cvar_t* arg5, cvar_t* arg6, cvar_t* arg7, cvar_t* arg8);
1191 typedef void (*OnCFunctionCall10Param)(cvar_t* arg0, cvar_t* arg1, cvar_t* arg2, cvar_t* arg3, cvar_t* arg4, cvar_t* arg5, cvar_t* arg6, cvar_t* arg7, cvar_t* arg8, cvar_t* arg9);
1193 string formatInt(int64 val, const string& options = "", uint32 width = 0);
1194 string formatUInt(uint64 val, const string& options = "", uint32 width = 0);
1195 string formatFloat(double val, const string& options = "", uint32 width = 0, uint32 precision = 0);
1196 int64 parseInt(const string&, uint32 base = 10, uint32& byteCount = 0);
1197 uint64 parseUInt(const string&, uint32 base = 10, uint32& byteCount = 0);
1198 double parseFloat(const string&, uint32& byteCount = 0);
1199 string join(const array<string>&, const string&);
1200 void PROFILE_START(const string&);
1201 void PROFILE_STOP();
1202 namespace mat
1203 {
1204  mat3 shearY(const mat3&, const float x);
1205  mat3 shearX(const mat3&, const float y);
1206  mat3 scale(const mat3&, const vec2&);
1207  mat3 translate(const mat3&, const vec2&);
1208  mat3 inverse(const mat3&);
1209  mat4 scale(const mat4&, const vec3&);
1210  mat4 translate(const mat4&, const vec3&);
1211  mat4 inverse(const mat4&);
1212 }
1213 ctime gmtime(uint64 time);
1214 float atan(float y, float x);
1215 float sin(float a);
1216 float cos(float a);
1217 float sqrt(float a);
1218 uint32 sqrt(uint32 a);
1219 int32 sqrt(int32 a);
1220 float pow(float a, float e);
1221 float round(float a);
1222 float round(float a, int32 n);
1223 float floor(float a);
1224 float ceil(float a);
1225 vec2 normalize(const vec2&);
1226 vec3 normalize(const vec3&);
1227 vec4 normalize(const vec4&);
1228 float dot(const vec2&, const vec2&);
1229 float dot(const vec3&, const vec3&);
1230 float dot(const vec4&, const vec4&);
1231 float length(const vec2&);
1232 float length(const vec3&);
1233 float length(const vec4&);
1234 float lengthsq(const vec2&);
1235 float lengthsq(const vec3&);
1236 float lengthsq(const vec4&);
1237 float dist(const vec2&, const vec2&);
1238 float dist(const vec3&, const vec3&);
1239 float dist(const vec4&, const vec4&);
1240 float distsq(const vec2&, const vec2&);
1241 float distsq(const vec3&, const vec3&);
1242 float distsq(const vec4&, const vec4&);
1243 float randf();
1244 int32 randi(int32 max);
1245 vec2 randdir();
1247 vec4 tocolor(const vec4& srgb);
1248 vec4 ParseColorRGBA(const string& s);
1252  void DumpStack();
1254 
1256 string EscapeString(const string& s);
1257 int32 GetParamInt(UnitPtr owner, SValue* params, string& name, bool required = true, int32 def = 0);
1258 float GetParamFloat(UnitPtr owner, SValue* params, string& name, bool required = true, float def = 0.);
1259 bool GetParamBool(UnitPtr owner, SValue* params, string& name, bool required = true, bool def = false);
1260 vec2 GetParamVec2(UnitPtr owner, SValue* params, string& name, bool required = true, vec2 def = vec2());
1261 vec3 GetParamVec3(UnitPtr owner, SValue* params, string& name, bool required = true, vec3 def = vec3());
1262 vec4 GetParamVec4(UnitPtr owner, SValue* params, string& name, bool required = true, vec4 def = vec4());
1263 string GetParamString(UnitPtr owner, SValue* params, string& name, bool required = true, string& def = "");
1264 array<SValue*>* GetParamArray(UnitPtr owner, SValue* params, string& name, bool required = true);
1265 SValue* GetParamDictionary(UnitPtr owner, SValue* params, string& name, bool required = true);
1268  bool VarExists(string name);
1269  void AddVar(string name, int32 def, OnChangedInt* onChanged = null, uint32 flags = 0);
1270  void AddVar(string name, float def, OnChangedFloat* onChanged = null, uint32 flags = 0);
1271  void AddVar(string name, bool def, OnChangedBool* onChanged = null, uint32 flags = 0);
1272  void AddVar(string name, string def, OnChangedString* onChanged = null, uint32 flags = 0);
1273  cvar_type GetVarType(string name);
1274  int32 GetVarInt(string name);
1275  float GetVarFloat(string name);
1276  bool GetVarBool(string name);
1277  string GetVarString(string name);
1278  ivec2 GetVarIvec2(string name);
1279  int32 GetVarIntDefault(string name);
1280  float GetVarFloatDefault(string name);
1281  bool GetVarBoolDefault(string name);
1282  string GetVarStringDefault(string name);
1283  ivec2 GetVarIvec2Default(string name);
1284  void AddFunction(string name, OnCFunctionCall0Param* onCalled, uint32 flags = 0);
1285  void AddFunction(string name, array<cvar_type>* params, OnCFunctionCall1Param* onCalled, uint32 flags = 0);
1286  void AddFunction(string name, array<cvar_type>* params, OnCFunctionCall2Param* onCalled, uint32 flags = 0);
1287  void AddFunction(string name, array<cvar_type>* params, OnCFunctionCall3Param* onCalled, uint32 flags = 0);
1288  void AddFunction(string name, array<cvar_type>* params, OnCFunctionCall4Param* onCalled, uint32 flags = 0);
1289  void AddFunction(string name, array<cvar_type>* params, OnCFunctionCall5Param* onCalled, uint32 flags = 0);
1290  void AddFunction(string name, array<cvar_type>* params, OnCFunctionCall6Param* onCalled, uint32 flags = 0);
1291  void AddFunction(string name, array<cvar_type>* params, OnCFunctionCall7Param* onCalled, uint32 flags = 0);
1292  void AddFunction(string name, array<cvar_type>* params, OnCFunctionCall8Param* onCalled, uint32 flags = 0);
1293  void AddFunction(string name, array<cvar_type>* params, OnCFunctionCall9Param* onCalled, uint32 flags = 0);
1294  void AddFunction(string name, array<cvar_type>* params, OnCFunctionCall10Param* onCalled, uint32 flags = 0);
1295  ivec2 ParseVarIvec2(string str);
1296  void SetVar(string name, const int32& val);
1297  void SetVar(string name, const float& val);
1298  void SetVar(string name, const bool& val);
1299  void SetVar(string name, const string& val);
1300  void SetVar(string name, const ivec2& val);
1302 
1303 namespace Config
1304 {
1307  void SaveControls(int32 playerNum, string newControls);
1308  void SaveVar(string cvar, string value);
1309  void SaveVar(string cvar);
1311 
1312 }
1313 namespace Sound
1314 {
1315  void SetListener(vec3 pos, vec3 look, vec3 up);
1316 }
1317 namespace WorldScript
1318 {
1320  WorldScript* GetWorldScript(Scene& scene, ref script);
1321 }
1322 namespace Network
1323 {
1324  NetworkMessage Message(const string&);
1325  bool IsServer();
1326 }
1327 namespace Resources
1328 {
1329  UnitProducer* GetUnitProducer(string filename);
1330  SValue* GetSValue(string filename);
1331  BitmapFont* GetBitmapFont(string filename);
1332  SoundEvent* GetSoundEvent(string filename);
1333  UnitScene* GetEffect(string filename);
1334  GUIDef* GetGUIDef(string filename);
1335  Texture2D* GetTexture2D(string filename);
1336  Bitmap2D* GetBitmap2D(string filename);
1337  Tileset* GetTileset(string filename);
1338  UnitProducer* GetUnitProducer(uint32 filenameHash);
1339  SValue* GetSValue(uint32 filenameHash);
1340  BitmapFont* GetBitmapFont(uint32 filenameHash);
1341  UnitScene* GetEffect(uint32 filenameHash);
1342  GUIDef* GetGUIDef(uint32 filenameHash);
1343  Texture2D* GetTexture2D(uint32 filenameHash);
1344  Bitmap2D* GetBitmap2D(uint32 filenameHash);
1345  Tileset* GetTileset(uint32 filenameHash);
1346  string GetResourceName(uint32 filenameHash);
1347  uint32 GetSlot(string name);
1348  string GetString(string str);
1349  string GetString(string str, const dictionary& params);
1350 }
1354  void PrintError(string message);
1356 
1357 ref InstantiateClass(string name, SValue& val);
1358 ref InstantiateClass(string name, UnitPtr unit, SValue& val);
1359 uint32 HashString(string str);
1360 void print(const string&);
1362 vec2 ToScreenspace(vec3 pos);
1363 vec3 ToWorldspace(vec2 pos);
1364 uint64 CurrPlaytimeLevel();
1365 uint64 CurrPlaytimeTotal();
1366 namespace Lobby
1367 {
1368  string GetPlayerName(uint8 peer);
1369  string GetPlayerSkin(uint8 peer);
1370  int32 GetPlayerPing(uint8 peer);
1371  int32 GetHostPing(uint8 peer);
1372  bool IsInLobby();
1373 }
1374 void StartGame(int32 numPlrs, string level, ScenarioInfo* scenario, GameDifficulty diff, array<string>* mods);
1375 void ChangeLevel(string level);
1376 void RestartLevel();
1377 void SaveGame();
1378 string GetCurrentLevelFilename();
1379 int32 GetRestartCount();
1380 void SetRestartCount(int32 count);
1381 namespace Lobby
1382 {
1383  void CreateLobby();
1384  void JoinLobby(uint64 id);
1385  void LeaveLobby();
1386  void SendChatMessage(string msg);
1387  bool IsPlayerHost(uint8 peer);
1388  bool IsPlayerLocal(uint8 peer);
1389  int32 GetLocalPeer();
1390  void SetPrivate(bool priv);
1391  void KickPlayer(uint8 peer);
1392  void SetScenario(ScenarioInfo* scenario, GameDifficulty diff, array<string>* mods);
1393  void SetLevel(string level);
1394  void StartGame();
1395  void SetLobbyData(const string& key, const string& value);
1396  string GetLobbyData(const string&);
1397  void SetLobbyMemberData(const string& key, const string& value);
1398  string GetLobbyMemberData(uint8 peer, const string& key);
1402  void ListLobbies();
1403  string GetLobbyData(uint64 id, const string& key);
1404  int32 GetLobbyPing(uint64 id);
1405  int32 GetLobbyPlayerCount(uint64 id);
1406  int32 GetLobbyPlayerCountMax(uint64 id);
1407 }
1408 namespace Saves
1409 {
1411  GameSaveInfo ReadInfo(string filename);
1412  bool Load(string filename);
1413  void Rename(string filename, string newname);
1414  void Delete(string filename);
1415 }
1416 void QuitGame();
1417 void StopScenario();
1418 void ResumeGame();
1419 void PauseGame(bool pause, bool localOnly);
1420 uint64 GetUniquePeerId(uint8 peer);
1421 void RumbleGamepad(float strength, int32 length);
1422 void RumbleGamepadStop();
1423 namespace Platform
1424 {
1425  void HideCursor();
1426  void ShowCursor();
1430  ScenarioInfo* GetScenario(string id);
1431  ScenarioInfo* GetScenario(uint32 id);
1433 }
1434 const float PI;
1435 const float TwoPI;
1436 namespace Platform
1437 {
1439 }
NetSyncMode
Definition: engine_docs.h:1087
bool GetVarBoolDefault(string name)
Definition: engine_docs.h:1120
string operator+=(const string &)
bool IsPlayerLocal(uint8 peer)
ScenarioInfo * Scenario
Definition: engine_docs.h:1044
bool UsingMouseLook
Definition: engine_docs.h:937
Definition: engine_docs.h:1092
Definition: engine_docs.h:1109
float sin(float a)
bool Down
Definition: engine_docs.h:897
ButtonState ChatAll
Definition: engine_docs.h:952
Definition: engine_docs.h:1091
void set_length(uint32)
Definition: engine_docs.h:753
GameService * Service
Definition: engine_docs.h:1438
float y
Definition: engine_docs.h:171
bool IsServer()
cvar_flags
Definition: engine_docs.h:1074
Definition: engine_docs.h:1172
float y
Definition: engine_docs.h:148
Definition: engine_docs.h:1125
A custom unit scene that can contain multiple UnitScene objects.
Definition: engine_docs.h:586
int32 z
Definition: engine_docs.h:253
A network message that can be sent to peers.
Definition: engine_docs.h:799
A font that can be used to create BitmapString objects.
Definition: engine_docs.h:670
void HideCursor()
void AddVar(string name, int32 def, OnChangedInt *onChanged=null, uint32 flags=0)
string operator=(const string &)
string GetResourceName(uint32 filenameHash)
Definition: engine_docs.h:1139
void SaveGame()
ButtonState Weapon2
Definition: engine_docs.h:920
string Action
Definition: engine_docs.h:960
NetworkMessage Message(const string &)
void CreateLobby()
mat4 scale(const mat4 &, const vec3 &)
int32 findFirstOf(const string &, uint32 start=0)
float floor(float a)
UnitEventType
Definition: engine_docs.h:1079
Button states for menu input.
Definition: engine_docs.h:943
int32 y
Definition: engine_docs.h:229
2-dimensional integer vector.
Definition: engine_docs.h:225
3-dimensional integer vector.
Definition: engine_docs.h:248
int32 min
Definition: engine_docs.h:342
4-dimensional integer vector.
Definition: engine_docs.h:272
string operator+(string, const string &)
float x
Definition: engine_docs.h:198
A list of controls for a single player.
Definition: engine_docs.h:963
Definition: engine_docs.h:1175
float fraction
Definition: engine_docs.h:720
The world scene. This contains all units.
Definition: engine_docs.h:439
Definition: engine_docs.h:85
void ListLobbies()
bool MouseIsLocked
Definition: engine_docs.h:934
Definition: engine_docs.h:1173
ctime gmtime(uint64 time)
int32 GetParamInt(UnitPtr owner, SValue *params, string &name, bool required=true, int32 def=0)
float r
Definition: engine_docs.h:202
bool GetParamBool(UnitPtr owner, SValue *params, string &name, bool required=true, bool def=false)
uint64 CurrPlaytimeTotal()
int32 y
Definition: engine_docs.h:276
Definition: engine_docs.h:1137
void SetScenario(ScenarioInfo *scenario, GameDifficulty diff, array< string > *mods)
uint64 Timestamp
Definition: engine_docs.h:1041
int32 year
Definition: engine_docs.h:346
BitmapFont * GetBitmapFont(uint32 filenameHash)
Definition: engine_docs.h:1148
float x
Definition: engine_docs.h:147
void SetLevel(string level)
Definition: engine_docs.h:56
int32 GetVarIntDefault(string name)
Definition: engine_docs.h:1122
void(* OnCFunctionCall1Param)(cvar_t *arg0)
Definition: engine_docs.h:1182
float b
Definition: engine_docs.h:204
void SetLobbyData(const string &key, const string &value)
int32 mon
Definition: engine_docs.h:345
int32 findLastNotOf(const string &, int32 start=-1)
Texture2D * GetTexture2D(uint32 filenameHash)
Definition: engine_docs.h:1084
bool isEmpty()
Definition: engine_docs.h:594
array< uint32 > * GetCampaignLevelsPlayed()
GameSaveInfo ReadInfo(string filename)
ButtonState Forward
Definition: engine_docs.h:950
Definition: engine_docs.h:1090
float a
Definition: engine_docs.h:205
ButtonState Weapon8
Definition: engine_docs.h:926
SValue * GetParamDictionary(UnitPtr owner, SValue *params, string &name, bool required=true)
Definition: engine_docs.h:1143
void erase(uint32 pos, int32 count=-1)
bool UseMouseLook
Definition: engine_docs.h:968
int32 w
Definition: engine_docs.h:278
Definition: engine_docs.h:1115
void LeaveLobby()
Definition: engine_docs.h:1089
int32 GetPlayerPing(uint8 peer)
Definition: engine_docs.h:1096
ControlBindings * GetControlBindings()
Definition: engine_docs.h:1107
void SaveControls(int32 playerNum, string newControls)
ButtonState Dash
Definition: engine_docs.h:916
int32 Delta
Definition: engine_docs.h:900
int32 GetLobbyPlayerCount(uint64 id)
int32 yday
Definition: engine_docs.h:348
string GetVarString(string name)
void PROFILE_STOP()
Information about a point in the tileset.
Definition: engine_docs.h:725
string formatInt(int64 val, const string &options="", uint32 width=0)
ButtonState Up
Definition: engine_docs.h:946
float GetVarFloatDefault(string name)
Definition: engine_docs.h:1202
float GetParamFloat(UnitPtr owner, SValue *params, string &name, bool required=true, float def=0.)
bool select
Definition: engine_docs.h:908
int32 x
Definition: engine_docs.h:228
Definition: engine_docs.h:98
bool Joystick
Definition: engine_docs.h:970
Tileset * GetTileset(uint32 filenameHash)
Definition: engine_docs.h:1057
void(* OnCFunctionCall9Param)(cvar_t *arg0, cvar_t *arg1, cvar_t *arg2, cvar_t *arg3, cvar_t *arg4, cvar_t *arg5, cvar_t *arg6, cvar_t *arg7, cvar_t *arg8)
Definition: engine_docs.h:1190
bool VarExists(string name)
double parseFloat(const string &, uint32 &byteCount=0)
void(* OnCFunctionCall10Param)(cvar_t *arg0, cvar_t *arg1, cvar_t *arg2, cvar_t *arg3, cvar_t *arg4, cvar_t *arg5, cvar_t *arg6, cvar_t *arg7, cvar_t *arg8, cvar_t *arg9)
Definition: engine_docs.h:1191
float z
Definition: engine_docs.h:200
bool operator==(const string &)
Definition: engine_docs.h:1129
Definition of a GUI resource.
Definition: engine_docs.h:763
Definition: engine_docs.h:1167
void(* OnCFunctionCall3Param)(cvar_t *arg0, cvar_t *arg1, cvar_t *arg2)
Definition: engine_docs.h:1184
MenuMessage
Definition: engine_docs.h:1152
void AnyType
Definition: engine_docs.h:3
A fetcher of units from various sources. Can be connected to units or UnitSource objects in the edito...
Definition: engine_docs.h:432
vec4 tocolor(const vec4 &srgb)
Convert a color from srgb to linear.
int32 sec
Definition: engine_docs.h:341
array< string > * GetSaves()
vec3 ToWorldspace(vec2 pos)
void(* OnChangedBool)(bool val)
Definition: engine_docs.h:1179
Definition: engine_docs.h:1076
void(* OnCFunctionCall5Param)(cvar_t *arg0, cvar_t *arg1, cvar_t *arg2, cvar_t *arg3, cvar_t *arg4)
Definition: engine_docs.h:1186
string EscapeString(const string &s)
Adds slashes for characters that have to be escaped in translatable strings.
Button states for game input.
Definition: engine_docs.h:911
mat3 shearX(const mat3 &, const float y)
Definition: engine_docs.h:126
ButtonState Reload
Definition: engine_docs.h:915
Definition: engine_docs.h:1085
uint32 GetSlot(string name)
Bitmap2D * GetBitmap2D(uint32 filenameHash)
Definition: engine_docs.h:1366
float cos(float a)
References a unit in the scene.
Definition: engine_docs.h:354
void PauseGame(bool pause, bool localOnly)
uint32 HashString(string str)
string GetParamString(UnitPtr owner, SValue *params, string &name, bool required=true, string &def="")
void print(const string &)
bool Multiplayer
Definition: engine_docs.h:1048
int32 x
Definition: engine_docs.h:251
Container for effect parameters.
Definition: engine_docs.h:598
void SendChatMessage(string msg)
void RestartLevel()
void SetRestartCount(int32 count)
void JoinLobby(uint64 id)
int32 findLast(const string &, int32 start=-1)
void QuitGame()
mat4 translate(const mat4 &, const vec3 &)
float randf()
void(* OnChangedFloat)(float val)
Definition: engine_docs.h:1178
float distsq(const vec2 &, const vec2 &)
int32 GetVarInt(string name)
An area containing enter and exit events.
Definition: engine_docs.h:554
Definition: engine_docs.h:1138
void Rename(string filename, string newname)
ButtonState Weapon4
Definition: engine_docs.h:922
mat4 inverse(const mat4 &)
TextAlignment
Definition: engine_docs.h:1094
string GetLobbyMemberData(uint8 peer, const string &key)
uint32 ScenarioID
Definition: engine_docs.h:1043
StartMode
Definition: engine_docs.h:1170
vec3 GetParamVec3(UnitPtr owner, SValue *params, string &name, bool required=true, vec3 def=vec3())
SoundEvent * GetSoundEvent(string filename)
Definition: engine_docs.h:1064
A physics body.
Definition: engine_docs.h:541
Definition: engine_docs.h:1303
uint64 PlaytimeLevel
Definition: engine_docs.h:1046
string GetLobbyData(uint64 id, const string &key)
Context used when building a GUI resource.
Definition: engine_docs.h:769
cvar_type GetVarType(string name)
void RumbleGamepadStop()
TextInputControlEventType evt
Definition: engine_docs.h:907
int32 GetHostPing(uint8 peer)
int32 findFirst(const string &, uint32 start=0)
bool GetVarBool(string name)
float g
Definition: engine_docs.h:174
void ChangeLevel(string level)
bool UsingGamepad
Definition: engine_docs.h:936
Definition: engine_docs.h:1174
array< ScenarioInfo * > * GetAllScenarios()
A rendered string of text from a font.
Definition: engine_docs.h:660
Definition: engine_docs.h:1018
int32 randi(int32 max)
bool IsPlayerHost(uint8 peer)
string GetString(string str, const dictionary &params)
float pow(float a, float e)
Definition: engine_docs.h:1140
A sound resource. This can play sounds in 2D and 3D. Creates SoundInstance objects.
Definition: engine_docs.h:624
Definition: engine_docs.h:1058
Definition: engine_docs.h:1168
ButtonState Weapon1
Definition: engine_docs.h:919
float round(float a)
Definition: engine_docs.h:1002
int32 GetLocalPeer()
Definition: engine_docs.h:1161
bool Gamepad
Definition: engine_docs.h:969
Definition: engine_docs.h:1103
int32 isdst
Definition: engine_docs.h:349
Class used for building GUI from definitions.
Definition: engine_docs.h:787
Class that can create SValue objects.
Definition: engine_docs.h:490
Definition: engine_docs.h:1423
WorldScript * GetWorldScript(Scene &scene, ref script)
ivec2 GetVarIvec2(string name)
Definition: engine_docs.h:1160
const float PI
Definition: engine_docs.h:1434
Definition: engine_docs.h:1108
array< SValue * > * GetParamArray(UnitPtr owner, SValue *params, string &name, bool required=true)
ivec2 ParseVarIvec2(string str)
ref(* WidgetProducer)(WidgetLoadingContext &ctx)
Definition: engine_docs.h:1192
Definition: engine_docs.h:866
A binding in a ControlMap that attaches to an action.
Definition: engine_docs.h:956
RaycastType
Definition: engine_docs.h:1105
Definition: engine_docs.h:1118
UnitScene * GetEffect(uint32 filenameHash)
Definition: engine_docs.h:1123
void SetLobbyMemberData(const string &key, const string &value)
string toUpper()
void(* OnChangedString)(string val)
Definition: engine_docs.h:1180
Definition: engine_docs.h:1159
Definition: engine_docs.h:1059
float g
Definition: engine_docs.h:203
Definition: engine_docs.h:1119
ButtonState Right
Definition: engine_docs.h:949
string join(const array< string > &, const string &)
ButtonState Weapon3
Definition: engine_docs.h:921
uint32 Version
Definition: engine_docs.h:1042
ScenarioModificationVisual
Definition: engine_docs.h:1164
MenuState
Definition: engine_docs.h:1146
An instance of a sound. A played sound can be located in the world, and controlled via this class...
Definition: engine_docs.h:608
vec2 MouseMove
Definition: engine_docs.h:951
Definition: engine_docs.h:1110
A refcounted texture handle.
Definition: engine_docs.h:645
int32 GetRestartCount()
bool IsInLobby()
Definition: engine_docs.h:117
float w
Definition: engine_docs.h:201
Access to the online service, such as Steam.
Definition: engine_docs.h:820
GameDifficulty Difficulty
Definition: engine_docs.h:1045
A unit resource. This creates UnitPtr objects.
Definition: engine_docs.h:575
Definition: engine_docs.h:1037
vec2 GetMousePosition()
ButtonState Use
Definition: engine_docs.h:917
void(* OnCFunctionCall8Param)(cvar_t *arg0, cvar_t *arg1, cvar_t *arg2, cvar_t *arg3, cvar_t *arg4, cvar_t *arg5, cvar_t *arg6, cvar_t *arg7)
Definition: engine_docs.h:1189
An emitting source of units. UnitFeed objects can get units from this.
Definition: engine_docs.h:423
Definition: engine_docs.h:1083
Definition: engine_docs.h:1121
string toLower()
string LevelFilename
Definition: engine_docs.h:1049
void DumpStack()
Dump the current scripting call stack to the console.
int32 GetLobbyPing(uint64 id)
ivec2 GetVarIvec2Default(string name)
UnitProducer * GetUnitProducer(uint32 filenameHash)
float y
Definition: engine_docs.h:199
Definition: engine_docs.h:1126
int32 findLastOf(const string &, int32 start=-1)
GameDifficulty GetDifficulty()
void resize(uint32)
Definition: engine_docs.h:1056
void KickPlayer(uint8 peer)
string GetVarStringDefault(string name)
The root object for setting and getting bindings and actions.
Definition: engine_docs.h:987
array< string > * GetModifiers()
An animated scene of a unit.
Definition: engine_docs.h:567
SValue * GetSValue(uint32 filenameHash)
void SetListener(vec3 pos, vec3 look, vec3 up)
GameDifficulty
Definition: engine_docs.h:1157
array< string > * split(const string &)
string ID
Definition: engine_docs.h:966
Definition: engine_docs.h:1071
float r
Definition: engine_docs.h:173
Definition: engine_docs.h:1135
void PROFILE_START(const string &)
Definition: engine_docs.h:1124
vec2 point
Definition: engine_docs.h:718
Definition: engine_docs.h:1327
The state of a button in a single update tick.
Definition: engine_docs.h:894
vec2 MousePosReal
Definition: engine_docs.h:933
Definition: engine_docs.h:1154
string formatUInt(uint64 val, const string &options="", uint32 width=0)
3 by 3 matrix of floats.
Definition: engine_docs.h:297
4 by 4 matrix of floats.
Definition: engine_docs.h:317
vec4 GetParamVec4(UnitPtr owner, SValue *params, string &name, bool required=true, vec4 def=vec4())
Definition: engine_docs.h:1136
Definition: engine_docs.h:1114
Definition: engine_docs.h:1065
float ceil(float a)
Definition: engine_docs.h:1081
int32 mday
Definition: engine_docs.h:344
bool Load(string filename)
Definition: engine_docs.h:1141
void RumbleGamepad(float strength, int32 length)
A texture handle used for rendering PNG images.
Definition: engine_docs.h:638
vec4 ParseColorRGBA(const string &s)
const float TwoPI
Definition: engine_docs.h:1435
Result of a raycast.
Definition: engine_docs.h:715
uint32 length()
Definition: engine_docs.h:1408
void(* OnCFunctionCall6Param)(cvar_t *arg0, cvar_t *arg1, cvar_t *arg2, cvar_t *arg3, cvar_t *arg4, cvar_t *arg5)
Definition: engine_docs.h:1187
int32 wday
Definition: engine_docs.h:347
void AddFunction(string name, OnCFunctionCall0Param *onCalled, uint32 flags=0)
vec2 GetParamVec2(UnitPtr owner, SValue *params, string &name, bool required=true, vec2 def=vec2())
int32 y
Definition: engine_docs.h:252
uint64 PlaytimeTotal
Definition: engine_docs.h:1047
Definition: engine_docs.h:1060
Definition: engine_docs.h:1055
Definition: engine_docs.h:1317
Rendering object for rendering things on the GUI.
Definition: engine_docs.h:687
int64 parseInt(const string &, uint32 base=10, uint32 &byteCount=0)
void(* OnCFunctionCall2Param)(cvar_t *arg0, cvar_t *arg1)
Definition: engine_docs.h:1183
mat3 shearY(const mat3 &, const float x)
Definition: engine_docs.h:1149
GradientDirection
Definition: engine_docs.h:1100
void ResumeGame()
void SaveVar(string cvar)
string ID
Definition: engine_docs.h:959
void SetVar(string name, const int32 &val)
bool Released
Definition: engine_docs.h:899
Definition: engine_docs.h:1082
string formatFloat(double val, const string &options="", uint32 width=0, uint32 precision=0)
ButtonState PreviousWeapon
Definition: engine_docs.h:928
TextInputControlEventType
Definition: engine_docs.h:1112
int32 MouseWheelDelta
Definition: engine_docs.h:935
void StopScenario()
ButtonState Down
Definition: engine_docs.h:947
GUIDef * GetGUIDef(uint32 filenameHash)
int32 hour
Definition: engine_docs.h:343
Definition: engine_docs.h:1063
int32 operator<(const string &)
ButtonState NextWeapon
Definition: engine_docs.h:927
Definition: engine_docs.h:1102
Definition: engine_docs.h:1062
float dot(const vec2 &, const vec2 &)
uint64 GetUniquePeerId(uint8 peer)
int32 Index
Definition: engine_docs.h:967
vec2 ToScreenspace(vec3 pos)
float atan(float y, float x)
bool Pressed
Definition: engine_docs.h:898
bool Valid
Definition: engine_docs.h:1040
ButtonState ChatTeam
Definition: engine_docs.h:953
Definition: engine_docs.h:1008
float lengthsq(const vec2 &)
void PrintError(string message)
Print an error message to the console.
float x
Definition: engine_docs.h:170
vec2 MoveDir
Definition: engine_docs.h:930
Definition: engine_docs.h:1127
uint64 parseUInt(const string &, uint32 base=10, uint32 &byteCount=0)
Definition: engine_docs.h:1144
ButtonState Weapon6
Definition: engine_docs.h:924
float b
Definition: engine_docs.h:175
ButtonState Netricsa
Definition: engine_docs.h:918
uint64 CurrPlaytimeLevel()
cvar_type
Definition: engine_docs.h:1067
void SetPrivate(bool priv)
ControllerType
Definition: engine_docs.h:1132
Definition: engine_docs.h:1128
string substr(uint32 start=0, int32 count=-1)
Definition: engine_docs.h:5
void(* OnChangedInt)(int32 val)
Definition: engine_docs.h:1177
vec2 normalize(const vec2 &)
Definition: engine_docs.h:1142
Definition: engine_docs.h:1069
Definition: engine_docs.h:1077
void(* OnCFunctionCall4Param)(cvar_t *arg0, cvar_t *arg1, cvar_t *arg2, cvar_t *arg3)
Definition: engine_docs.h:1185
Definition: engine_docs.h:1322
vec2 normal
Definition: engine_docs.h:719
void(* OnCFunctionCall7Param)(cvar_t *arg0, cvar_t *arg1, cvar_t *arg2, cvar_t *arg3, cvar_t *arg4, cvar_t *arg5, cvar_t *arg6)
Definition: engine_docs.h:1188
An animated sprite that can be rendered on the GUI.
Definition: engine_docs.h:677
float z
Definition: engine_docs.h:172
Definition: engine_docs.h:1097
int32 findFirstNotOf(const string &, uint32 start=0)
ref InstantiateClass(string name, SValue &val)
Definition: engine_docs.h:1155
uint8 operator[](uint32)
int32 GetLobbyPlayerCountMax(uint64 id)
ButtonState Weapon5
Definition: engine_docs.h:923
SValueType
Definition: engine_docs.h:1053
Event called for text input.
Definition: engine_docs.h:903
float dist(const vec2 &, const vec2 &)
int32 z
Definition: engine_docs.h:277
string GetPlayerSkin(uint8 peer)
vec2 MousePos
Definition: engine_docs.h:932
void ShowCursor()
Object containing serialization information. This can be several types of data.
Definition: engine_docs.h:472
ButtonState ChangeWeapon
Definition: engine_docs.h:929
void(* OnCFunctionCall0Param)()
Definition: engine_docs.h:1181
A fixture of a physics body.
Definition: engine_docs.h:535
Console variable type. This can be a bool, float, int, or string.
Definition: engine_docs.h:522
vec2 randdir()
ButtonState Weapon7
Definition: engine_docs.h:925
void insert(uint32 pos, const string &other)
Definition: engine_docs.h:1098
float GetVarFloat(string name)
int32 x
Definition: engine_docs.h:275
A bitmap handle used for rendering TGA images.
Definition: engine_docs.h:653
ButtonState Left
Definition: engine_docs.h:948
Definition: engine_docs.h:839
utf8string text
Definition: engine_docs.h:906
Definition: engine_docs.h:1061
Definition: engine_docs.h:1162
string GetPlayerName(uint8 peer)
float sqrt(float a)
Definition: engine_docs.h:338
Definition: engine_docs.h:1313
uint32 get_length()
array< ivec2 > * GetResolutions()
ButtonState Attack
Definition: engine_docs.h:914
ScenarioInfo * GetScenario(uint32 id)
vec2 AimDir
Definition: engine_docs.h:931
string GetCurrentLevelFilename()
2-dimensional vector.
Definition: engine_docs.h:144
3-dimensional vector.
Definition: engine_docs.h:167
4-dimensional vector.
Definition: engine_docs.h:195