Colobot
object.h
Go to the documentation of this file.
1 /*
2  * This file is part of the Colobot: Gold Edition source code
3  * Copyright (C) 2001-2014, Daniel Roux, EPSITEC SA & TerranovaTeam
4  * http://epsiteс.ch; http://colobot.info; http://github.com/colobot
5  *
6  * This program is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation, either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14  * See the GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program. If not, see http://gnu.org/licenses
18  */
19 
25 #pragma once
26 
27 
28 #include "graphics/engine/engine.h"
29 #include "graphics/engine/camera.h"
30 
31 #include "sound/sound.h"
32 
33 
34 class CApplication;
35 class CPhysics;
36 class CBrain;
37 class CMotion;
38 class CAuto;
39 class CDisplayText;
40 class CRobotMain;
41 class CBotVar;
42 class CScript;
43 class CLevelParserLine;
44 struct Program;
45 
46 
52 {
53  OBJECT_NULL = 0,
54  OBJECT_FIX = 1,
63  OBJECT_NEST = 10,
65  OBJECT_RADAR = 12,
67  OBJECT_LABO = 14,
69  OBJECT_START = 16,
70  OBJECT_END = 17,
71  OBJECT_INFO = 18,
72  OBJECT_PARA = 19,
75  OBJECT_SAFE = 22,
78  OBJECT_FRET = 30,
79  OBJECT_STONE = 31,
81  OBJECT_METAL = 33,
82  OBJECT_POWER = 34,
85  OBJECT_BBOX = 37,
86  OBJECT_TNT = 38,
99  OBJECT_BOMB = 60,
101  OBJECT_SHOW = 62,
102  OBJECT_BAG = 63,
158  OBJECT_FLAGb = 260,
159  OBJECT_FLAGr = 261,
160  OBJECT_FLAGg = 262,
161  OBJECT_FLAGy = 263,
162  OBJECT_FLAGv = 264,
163  OBJECT_KEYa = 270,
164  OBJECT_KEYb = 271,
165  OBJECT_KEYc = 272,
166  OBJECT_KEYd = 273,
167  OBJECT_HUMAN = 300,
168  OBJECT_TOTO = 301,
169  OBJECT_TECH = 302,
175  OBJECT_EGG = 501,
176  OBJECT_ANT = 502,
178  OBJECT_BEE = 504,
179  OBJECT_WORM = 505,
193  OBJECT_TEEN0 = 620,
194  OBJECT_TEEN1 = 621,
195  OBJECT_TEEN2 = 622,
196  OBJECT_TEEN3 = 623,
197  OBJECT_TEEN4 = 624,
198  OBJECT_TEEN5 = 625,
199  OBJECT_TEEN6 = 626,
200  OBJECT_TEEN7 = 627,
201  OBJECT_TEEN8 = 628,
202  OBJECT_TEEN9 = 629,
242  OBJECT_ROOT0 = 710,
243  OBJECT_ROOT1 = 711,
244  OBJECT_ROOT2 = 712,
245  OBJECT_ROOT3 = 713,
246  OBJECT_ROOT4 = 714,
247  OBJECT_ROOT5 = 715,
255  OBJECT_HOME1 = 910,
256 
257  OBJECT_MAX = 1000
258 };
259 
260 
261 
262 // The father of all parts must always be the part number zero!
263 
264 const int OBJECTMAXPART = 40;
265 const int MAXCRASHSPHERE = 40;
266 const int OBJECTMAXDESELLIST = 10;
267 const int OBJECTMAXINFO = 10;
268 const int OBJECTMAXCMDLINE = 20;
269 
270 
271 enum ObjectMaterial
272 {
273  OM_METAL = 0, // metal
274  OM_PLASTIC = 1, // plastic
275  OM_HUMAN = 2, // cosmonaut
276  OM_ANIMAL = 3, // insect
277  OM_VEGETAL = 4, // plant
278  OM_MINERAL = 5, // stone
279 };
280 
281 enum DriveType
282 {
283  DRIVE_OTHER = 0,
284  DRIVE_WHEELED,
285  DRIVE_TRACKED,
286  DRIVE_WINGED,
287  DRIVE_LEGGED,
288 };
289 
290 enum ToolType
291 {
292  TOOL_OTHER = 0,
293  TOOL_GRABBER,
294  TOOL_SNIFFER,
295  TOOL_SHOOTER,
296  TOOL_ORGASHOOTER,
297 };
298 
300 {
301  char bUsed;
302  int object; // number of the object in CEngine
303  int parentPart; // number of father part
304  int masterParti; // master canal of the particle
305  Math::Vector position;
306  Math::Vector angle;
307  Math::Vector zoom;
308  char bTranslate;
309  char bRotate;
310  char bZoom;
311  Math::Matrix matTranslate;
312  Math::Matrix matRotate;
313  Math::Matrix matTransform;
314  Math::Matrix matWorld;
315 };
316 
317 struct Character
318 {
319  float wheelFront; // position X of the front wheels
320  float wheelBack; // position X of the back wheels
321  float wheelLeft; // position Z of the left wheels
322  float wheelRight; // position Z of the right wheels
323  float height; // normal height on top of ground
324  Math::Vector posPower; // position of the battery
325 };
326 
327 struct Info
328 {
329  char name[20]; // name of the information
330  float value; // value of the information
331 };
332 
333 enum ExploType
334 {
335  EXPLO_BOUM = 1,
336  EXPLO_BURN = 2,
337  EXPLO_WATER = 3,
338 };
339 
340 enum ResetCap
341 {
342  RESET_NONE = 0,
343  RESET_MOVE = 1,
344  RESET_DELETE = 2,
345 };
346 
347 enum RadarFilter
348 {
349  FILTER_NONE = 0,
350  FILTER_ONLYLANDING = 1,
351  FILTER_ONLYFLYING = 2,
352 };
353 
354 
355 
356 
357 class CObject
358 {
359 public:
360  CObject();
361  ~CObject();
362 
363  void DeleteObject(bool bAll=false);
364  void Simplify();
365  bool ExploObject(ExploType type, float force, float decay=1.0f);
366 
367  bool EventProcess(const Event &event);
368  void UpdateMapping();
369 
370  int CreatePart();
371  void DeletePart(int part);
372  void SetObjectRank(int part, int objRank);
373  int GetObjectRank(int part);
374  void SetObjectParent(int part, int parent);
375  void SetType(ObjectType type);
376  ObjectType GetType();
377  char* GetName();
378  void SetOption(int option);
379  int GetOption();
380 
381  void SetID(int id);
382  int GetID();
383 
384  bool Write(CLevelParserLine* line);
385  bool Read(CLevelParserLine* line);
386 
387  void SetDrawWorld(bool bDraw);
388  void SetDrawFront(bool bDraw);
389 
390  bool CreateVehicle(Math::Vector pos, float angle, ObjectType type, float power, bool bTrainer, bool bToy);
391  bool CreateInsect(Math::Vector pos, float angle, ObjectType type);
392  bool CreateBuilding(Math::Vector pos, float angle, float height, ObjectType type, float power=1.0f);
393  bool CreateResource(Math::Vector pos, float angle, ObjectType type, float power=1.0f);
394  bool CreateFlag(Math::Vector pos, float angle, ObjectType type);
395  bool CreateBarrier(Math::Vector pos, float angle, float height, ObjectType type);
396  bool CreatePlant(Math::Vector pos, float angle, float height, ObjectType type);
397  bool CreateMushroom(Math::Vector pos, float angle, float height, ObjectType type);
398  bool CreateTeen(Math::Vector pos, float angle, float zoom, float height, ObjectType type);
399  bool CreateQuartz(Math::Vector pos, float angle, float height, ObjectType type);
400  bool CreateRoot(Math::Vector pos, float angle, float height, ObjectType type);
401  bool CreateHome(Math::Vector pos, float angle, float height, ObjectType type);
402  bool CreateRuin(Math::Vector pos, float angle, float height, ObjectType type);
403  bool CreateApollo(Math::Vector pos, float angle, ObjectType type);
404 
405  bool ReadProgram(Program* program, const char* filename);
406  bool WriteProgram(Program* program, char* filename);
407 
408  int GetShadowLight();
409  int GetEffectLight();
410 
411  void FlushCrashShere();
412  int CreateCrashSphere(Math::Vector pos, float radius, Sound sound, float hardness=0.45f);
413  int GetCrashSphereTotal();
414  bool GetCrashSphere(int rank, Math::Vector &pos, float &radius);
415  float GetCrashSphereHardness(int rank);
416  Sound GetCrashSphereSound(int rank);
417  void DeleteCrashSphere(int rank);
418  void SetGlobalSphere(Math::Vector pos, float radius);
419  void GetGlobalSphere(Math::Vector &pos, float &radius);
420  void SetJotlerSphere(Math::Vector pos, float radius);
421  void GetJotlerSphere(Math::Vector &pos, float &radius);
422  void SetShieldRadius(float radius);
423  float GetShieldRadius();
424 
425  void SetFloorHeight(float height);
426  void FloorAdjust();
427 
428  void SetLinVibration(Math::Vector dir);
429  Math::Vector GetLinVibration();
430  void SetCirVibration(Math::Vector dir);
431  Math::Vector GetCirVibration();
432  void SetInclinaison(Math::Vector dir);
433  Math::Vector GetInclinaison();
434 
435  void SetPosition(int part, const Math::Vector &pos);
436  Math::Vector GetPosition(int part);
437  void SetAngle(int part, const Math::Vector &angle);
438  Math::Vector GetAngle(int part);
439  void SetAngleY(int part, float angle);
440  void SetAngleX(int part, float angle);
441  void SetAngleZ(int part, float angle);
442  float GetAngleY(int part);
443  float GetAngleX(int part);
444  float GetAngleZ(int part);
445  void SetZoom(int part, float zoom);
446  void SetZoom(int part, Math::Vector zoom);
447  Math::Vector GetZoom(int part);
448  void SetZoomX(int part, float zoom);
449  float GetZoomX(int part);
450  void SetZoomY(int part, float zoom);
451  float GetZoomY(int part);
452  void SetZoomZ(int part, float zoom);
453  float GetZoomZ(int part);
454 
455  float GetWaterLevel();
456 
457  void SetTrainer(bool bEnable);
458  bool GetTrainer();
459 
460  void SetToy(bool bEnable);
461  bool GetToy();
462 
463  void SetManual(bool bManual);
464  bool GetManual();
465 
466  void SetResetCap(ResetCap cap);
467  ResetCap GetResetCap();
468  void SetResetBusy(bool bBusy);
469  bool GetResetBusy();
470  void SetResetPosition(const Math::Vector &pos);
471  Math::Vector GetResetPosition();
472  void SetResetAngle(const Math::Vector &angle);
473  Math::Vector GetResetAngle();
474  void SetResetRun(Program* run);
475  Program* GetResetRun();
476 
477  void SetMasterParticle(int part, int parti);
478  int GetMasterParticle(int part);
479 
480  void SetPower(CObject* power);
481  CObject* GetPower();
482  void SetFret(CObject* fret);
483  CObject* GetFret();
484  void SetTruck(CObject* truck);
485  CObject* GetTruck();
486  void SetTruckPart(int part);
487  int GetTruckPart();
488 
489  void InfoFlush();
490  void DeleteInfo(int rank);
491  void SetInfo(int rank, Info info);
492  Info GetInfo(int rank);
493  int GetInfoTotal();
494  void SetInfoReturn(float value);
495  float GetInfoReturn();
496  void SetInfoUpdate(bool bUpdate);
497  bool GetInfoUpdate();
498 
499  bool SetCmdLine(int rank, float value);
500  float GetCmdLine(int rank);
501 
502  Math::Matrix* GetRotateMatrix(int part);
503  Math::Matrix* GetTranslateMatrix(int part);
504  Math::Matrix* GetTransformMatrix(int part);
505  Math::Matrix* GetWorldMatrix(int part);
506 
507  void SetViewFromHere(Math::Vector &eye, float &dirH, float &dirV,
508  Math::Vector &lookat, Math::Vector &upVec,
509  Gfx::CameraType type);
510 
511  void SetCharacter(Character* character);
512  void GetCharacter(Character* character);
513  Character* GetCharacter();
514 
515  float GetAbsTime();
516 
517  void SetEnergy(float level);
518  float GetEnergy();
519 
520  void SetCapacity(float capacity);
521  float GetCapacity();
522 
523  void SetShield(float level);
524  float GetShield();
525 
526  void SetRange(float delay);
527  float GetRange();
528 
529  void SetTransparency(float value);
530  float GetTransparency();
531 
532  ObjectMaterial GetMaterial();
533 
534  void SetGadget(bool bMode);
535  bool GetGadget();
536 
537  void SetFixed(bool bFixed);
538  bool GetFixed();
539 
540  void SetClip(bool bClip);
541  bool GetClip();
542 
543  bool JostleObject(float force);
544 
545  void StartDetectEffect(CObject *target, bool bFound);
546 
547  void SetVirusMode(bool bEnable);
548  bool GetVirusMode();
549  float GetVirusTime();
550 
551  void SetCameraType(Gfx::CameraType type);
552  Gfx::CameraType GetCameraType();
553  void SetCameraDist(float dist);
554  float GetCameraDist();
555  void SetCameraLock(bool bLock);
556  bool GetCameraLock();
557 
558  void SetHilite(bool bMode);
559  bool GetHilite();
560 
561  void SetSelect(bool bMode, bool bDisplayError=true);
562  bool GetSelect(bool bReal=false);
563 
564  void SetSelectable(bool bMode);
565  bool GetSelectable();
566 
567  void SetActivity(bool bMode);
568  bool GetActivity();
569 
570  void SetVisible(bool bVisible);
571  bool GetVisible();
572 
573  void SetEnable(bool bEnable);
574  bool GetEnable();
575 
576  void SetCheckToken(bool bMode);
577  bool GetCheckToken();
578 
579  void SetProxyActivate(bool bActivate);
580  bool GetProxyActivate();
581  void SetProxyDistance(float distance);
582  float GetProxyDistance();
583 
584  void SetMagnifyDamage(float factor);
585  float GetMagnifyDamage();
586 
587  void SetParam(float value);
588  float GetParam();
589 
590  void SetIgnoreBuildCheck(bool bIgnoreBuildCheck);
591  bool GetIgnoreBuildCheck();
592 
593  void SetExplo(bool bExplo);
594  bool GetExplo();
595  void SetLock(bool bLock);
596  bool GetLock();
597  void SetCargo(bool bCargo);
598  bool GetCargo();
599  void SetBurn(bool bBurn);
600  bool GetBurn();
601  void SetDead(bool bDead);
602  bool GetDead();
603  bool GetRuin();
604  bool GetActif();
605 
606  void SetGunGoalV(float gunGoal);
607  void SetGunGoalH(float gunGoal);
608  float GetGunGoalV();
609  float GetGunGoalH();
610 
611  bool StartShowLimit();
612  void StopShowLimit();
613 
614  bool IsProgram();
615  void CreateSelectParticle();
616 
617  void SetRunScript(CScript* script);
618  CScript* GetRunScript();
619  CBotVar* GetBotVar();
620  CPhysics* GetPhysics();
621  CBrain* GetBrain();
622  CMotion* GetMotion();
623  CAuto* GetAuto();
624  void SetAuto(CAuto* automat);
625 
626  void SetDefRank(int rank);
627  int GetDefRank();
628 
629  bool GetTooltipName(std::string& name);
630 
631  void AddDeselList(CObject* pObj);
632  CObject* SubDeselList();
633  void DeleteDeselList(CObject* pObj);
634 
635  bool CreateShadowCircle(float radius, float intensity, Gfx::EngineShadowType type = Gfx::ENG_SHADOW_NORM);
636  bool CreateShadowLight(float height, Gfx::Color color);
637  bool CreateEffectLight(float height, Gfx::Color color);
638 
639  void FlatParent();
640 
641  bool GetTraceDown();
642  void SetTraceDown(bool bDown);
643  int GetTraceColor();
644  void SetTraceColor(int color);
645  float GetTraceWidth();
646  void SetTraceWidth(float width);
647 
648  std::string GetModelDirName();
649 
650  static DriveType GetDriveFromObject(ObjectType type);
651  static ToolType GetToolFromObject(ObjectType type);
652 
653 protected:
654  bool EventFrame(const Event &event);
655  void VirusFrame(float rTime);
656  void PartiFrame(float rTime);
657  void CreateOtherObject(ObjectType type);
658  void InitPart(int part);
659  void UpdateTotalPart();
660  int SearchDescendant(int parent, int n);
661  void UpdateEnergyMapping();
662  bool UpdateTransformObject(int part, bool bForceUpdate);
663  bool UpdateTransformObject();
664  void UpdateSelectParticle();
665 
666 protected:
667  CApplication* m_app;
668  Gfx::CEngine* m_engine;
669  Gfx::CLightManager* m_lightMan;
670  Gfx::CTerrain* m_terrain;
671  Gfx::CWater* m_water;
672  Gfx::CCamera* m_camera;
673  Gfx::CParticle* m_particle;
674  CPhysics* m_physics;
675  CBrain* m_brain;
676  CMotion* m_motion;
677  CAuto* m_auto;
678  CRobotMain* m_main;
679  CSoundInterface* m_sound;
680  CBotVar* m_botVar;
681  CScript* m_runScript;
682 
683  ObjectType m_type; // OBJECT_*
684  int m_id; // unique identifier
685  char m_name[50]; // name of the object
686  Character m_character; // characteristic
687  int m_option; // option
688  int m_partiReactor; // number of the particle of the reactor
689  int m_shadowLight; // number of light from the shadows
690  float m_shadowHeight; // height of light from the shadows
691  int m_effectLight; // number of light effects
692  float m_effectHeight; // height of light effects
693  Math::Vector m_linVibration; // linear vibration
694  Math::Vector m_cirVibration; // circular vibration
695  Math::Vector m_inclinaison; // tilt
696  CObject* m_power; // battery used by the vehicle
697  CObject* m_fret; // object transported
698  CObject* m_truck; // object with the latter
699  int m_truckLink; // part
700  float m_energy; // energy contained (if battery)
701  float m_lastEnergy;
702  float m_capacity; // capacity (if battery)
703  float m_shield; // shield
704  float m_range; // flight range
705  float m_transparency; // transparency (0..1)
706  int m_material; // matter(0..n)
707  float m_aTime;
708  float m_shotTime; // time since last shot
709  bool m_bVirusMode; // virus activated/triggered
710  float m_virusTime; // lifetime of the virus
711  float m_lastVirusParticle;
712  float m_lastParticle;
713  bool m_bHilite;
714  bool m_bSelect; // object selected
715  bool m_bSelectable; // selectable object
716  bool m_bCheckToken; // object with audited tokens
717  bool m_bVisible; // object active but undetectable
718  bool m_bEnable; // dead object
719  bool m_bProxyActivate; // active object so close
720  bool m_bGadget; // object nonessential
721  bool m_bLock;
722  bool m_bExplo;
723  bool m_bCargo;
724  bool m_bBurn;
725  bool m_bDead;
726  bool m_bFlat;
727  bool m_bTrainer; // drive vehicle (without remote)
728  bool m_bToy; // toy key
729  bool m_bManual; // manual control (Scribbler)
730  bool m_bIgnoreBuildCheck;
731  bool m_bFixed;
732  bool m_bClip;
733  bool m_bShowLimit;
734  float m_showLimitRadius;
735  float m_gunGoalV;
736  float m_gunGoalH;
737  Gfx::CameraType m_cameraType;
738  float m_cameraDist;
739  bool m_bCameraLock;
740  int m_defRank;
741  float m_magnifyDamage;
742  float m_proxyDistance;
743  float m_param;
744 
745  int m_crashSphereUsed; // number of spheres used
746  Math::Vector m_crashSpherePos[MAXCRASHSPHERE];
747  float m_crashSphereRadius[MAXCRASHSPHERE];
748  float m_crashSphereHardness[MAXCRASHSPHERE];
749  Sound m_crashSphereSound[MAXCRASHSPHERE];
750  Math::Vector m_globalSpherePos;
751  float m_globalSphereRadius;
752  Math::Vector m_jotlerSpherePos;
753  float m_jotlerSphereRadius;
754  float m_shieldRadius;
755 
756  int m_totalPart;
757  ObjectPart m_objectPart[OBJECTMAXPART];
758 
759  int m_totalDesectList;
760  CObject* m_objectDeselectList[OBJECTMAXDESELLIST];
761 
762  int m_partiSel[4];
763 
764  ResetCap m_resetCap;
765  bool m_bResetBusy;
766  Math::Vector m_resetPosition;
767  Math::Vector m_resetAngle;
768  Program* m_resetRun;
769 
770  int m_infoTotal;
771  Info m_info[OBJECTMAXINFO];
772  float m_infoReturn;
773  bool m_bInfoUpdate;
774 
775  float m_cmdLine[OBJECTMAXCMDLINE];
776 };
777 
< Firework
Definition: object.h:101
< PowerCell
Definition: object.h:83
< fly-trainer (unused)
Definition: object.h:132
< WheeledSniffer
Definition: object.h:146
< WreckBotw1
Definition: object.h:181
Normal shadow.
Definition: engine.h:335
< KeyASpot
Definition: object.h:96
< RuinDoor
Definition: object.h:188
< Recycler
Definition: object.h:152
< WingedGrabber
Definition: object.h:136
< Greenery5
Definition: object.h:109
< Greenery2
Definition: object.h:106
CameraType
Type of camera.
Definition: camera.h:45
< Greenery15
Definition: object.h:119
< Tech
Definition: object.h:170
< TrackedSniffer
Definition: object.h:147
< RadarStation
Definition: object.h:66
< Teen4
Definition: object.h:198
< Titanium
Definition: object.h:82
< Teen17
Definition: object.h:211
< Greenery6
Definition: object.h:110
< PowerStation
Definition: object.h:60
< PowerCaptor
Definition: object.h:73
< EndArea
Definition: object.h:71
< AlienWorm
Definition: object.h:180
Definition: object.h:327
Sound plugin interface.
Definition: object.h:317
Main graphics engine - CEngine class.
< Greenery12
Definition: object.h:116
< WreckBott1
Definition: object.h:183
< KeyD
Definition: object.h:167
< ApolloModule
Definition: object.h:254
< Teen8
Definition: object.h:202
< RuinRadar
Definition: object.h:190
< Tree1
Definition: object.h:125
< TitaniumOre
Definition: object.h:80
< DefenseTower
Definition: object.h:63
< WheeledOrgaShooter
Definition: object.h:142
< MissionController
Definition: object.h:157
< Teen42
Definition: object.h:236
< TrackedOrgaShooter
Definition: object.h:143
< WheeledGrabber
Definition: object.h:134
< RuinSupport
Definition: object.h:189
< Teen32
Definition: object.h:226
< Scrap4 (plastic)
Definition: object.h:91
< Teen40
Definition: object.h:234
< Mine
Definition: object.h:100
< Houston
Definition: object.h:77
< Teen39
Definition: object.h:233
Camera handling - CCamera class.
< Vault
Definition: object.h:76
< Teen29
Definition: object.h:223
< Home
Definition: object.h:257
< AlienWasp
Definition: object.h:179
< stationary scenery
Definition: object.h:55
< Teen2
Definition: object.h:196
< KeyC
Definition: object.h:166
< Tree2
Definition: object.h:126
4x4 matrix
Definition: matrix.h:66
< Greenery16
Definition: object.h:120
< AlienNest
Definition: object.h:64
< TargetBot
Definition: object.h:155
< Destroyer
Definition: object.h:78
< WreckBotw2
Definition: object.h:182
< WreckBotr2
Definition: object.h:186
< RuinHeadCamp
Definition: object.h:193
< Teen7
Definition: object.h:201
< Quartz0
Definition: object.h:239
< Teen1
Definition: object.h:195
< Teen37
Definition: object.h:231
< Teen0
Definition: object.h:194
< ApolloFlag
Definition: object.h:253
< MegaStalk0
Definition: object.h:243
< LeggedShooter
Definition: object.h:141
< Greenery3
Definition: object.h:107
< Teen10
Definition: object.h:204
< Greenery14
Definition: object.h:118
< Greenery7
Definition: object.h:111
< AlienAnt
Definition: object.h:177
< Scrap2 (metal)
Definition: object.h:89
Definition: physics.h:98
< Teen30
Definition: object.h:224
Definition: auto.h:52
< Greenery11
Definition: object.h:115
< ExchangePost
Definition: object.h:72
< UraniumOre
Definition: object.h:81
< TrackedGrabber
Definition: object.h:135
< PhazerShooter
Definition: object.h:151
Manager for dynamic lights in 3D scene.
Definition: lightman.h:144
< ApolloJeep
Definition: object.h:252
< RuinBotFactory
Definition: object.h:187
< BlueFlag
Definition: object.h:159
< ApolloAntenna
Definition: object.h:255
< PowerPlant
Definition: object.h:67
< arrow above object (Visit)
Definition: object.h:102
< LeggedSniffer
Definition: object.h:149
< Barrier2
Definition: object.h:173
Definition: parserline.h:33
< NuclearCell
Definition: object.h:84
< Teen23
Definition: object.h:217
< Teen11
Definition: object.h:205
< Scrap1 (metal)
Definition: object.h:88
< Teen22
Definition: object.h:216
Definition: robotmain.h:172
< Teen38
Definition: object.h:232
< Converter
Definition: object.h:61
< Teen15
Definition: object.h:209
< Quartz2
Definition: object.h:241
< Teen20
Definition: object.h:214
Particle engine.
Definition: particle.h:268
< Teen44
Definition: object.h:238
< StartArea
Definition: object.h:70
< Teen36
Definition: object.h:230
< Teen31
Definition: object.h:225
< Tree0
Definition: object.h:124
< WheeledShooter
Definition: object.h:138
< LeggedGrabber
Definition: object.h:137
< Robby (toto)
Definition: object.h:169
< Teen3
Definition: object.h:197
< WreckBotr1
Definition: object.h:185
< Bag
Definition: object.h:103
ObjectType
Type of game object.
Definition: object.h:51
< Teen43
Definition: object.h:237
< Derrick
Definition: object.h:58
< Greenery13
Definition: object.h:117
< Greenery0
Definition: object.h:104
< OrgaMatter
Definition: object.h:85
< Teen25
Definition: object.h:219
< Teen12
Definition: object.h:206
< Subber
Definition: object.h:154
< RedFlag
Definition: object.h:160
< Teen14
Definition: object.h:208
Definition: object.h:299
< Teen13
Definition: object.h:207
< SpaceShip
Definition: object.h:57
< Teen9
Definition: object.h:203
< Teen28
Definition: object.h:222
< TitaniumSpot
Definition: object.h:94
< WingedOrgaShooter
Definition: object.h:144
< MegaStalk5
Definition: object.h:248
< Tree3
Definition: object.h:127
< TrackedShooter
Definition: object.h:139
Main application.
Definition: app.h:187
< Tree4
Definition: object.h:128
< Greenery1
Definition: object.h:105
< Greenery10
Definition: object.h:114
< Teen5
Definition: object.h:199
Camera moving in 3D scene.
Definition: camera.h:133
Sound
Sound enum representing sound file.
Definition: sound.h:44
< Greenery19
Definition: object.h:123
< transportable (unused)
Definition: object.h:79
< RuinBaseCamp
Definition: object.h:192
< object destroyed
Definition: object.h:54
< Target1 (gate)
Definition: object.h:74
< Greenery4
Definition: object.h:108
Terrain loader/generator and manager.
Definition: terrain.h:222
< Greenery17
Definition: object.h:121
< Barrier3
Definition: object.h:174
< Barrier0
Definition: object.h:171
< WreckBott2
Definition: object.h:184
Definition: motion.h:48
< Scrap3 (metal)
Definition: object.h:90
< MegaStalk1
Definition: object.h:244
< NuclearPlant
Definition: object.h:69
< Tree5
Definition: object.h:129
The graphics engine.
Definition: engine.h:684
< Greenery8
Definition: object.h:112
< KeyCSpot
Definition: object.h:98
< Quartz3
Definition: object.h:242
< Target2 (center)
Definition: object.h:75
< Mushroom2
Definition: object.h:250
Definition: script.h:58
< Teen27
Definition: object.h:221
< BlackBox
Definition: object.h:86
< KeyBSpot
Definition: object.h:97
< Scrap5 (plastic)
Definition: object.h:92
< Quartz1
Definition: object.h:240
< LeggedOrgaShooter
Definition: object.h:145
< WingedSniffer
Definition: object.h:148
Water manager/renderer.
Definition: water.h:118
< Greenery18
Definition: object.h:122
< Barrier1
Definition: object.h:172
< Teen18
Definition: object.h:212
< AlienQueen
Definition: object.h:175
< UraniumSpot
Definition: object.h:95
3D (3x1) vector
Definition: vector.h:52
< Mushroom1
Definition: object.h:249
Definition: CBotDll.h:561
EngineShadowType
Definition: engine.h:332
< Me
Definition: object.h:168
< KeyA
Definition: object.h:164
< Greenery9
Definition: object.h:113
< WayPoint
Definition: object.h:158
< WingedShooter
Definition: object.h:140
< KeyDSpot
Definition: object.h:99
< ResearchCenter
Definition: object.h:65
< MegaStalk3
Definition: object.h:246
< MegaStalk4
Definition: object.h:247
< TNT
Definition: object.h:87
< Teen24
Definition: object.h:218
< PowerSpot
Definition: object.h:93
RGBA color.
Definition: color.h:38
< YellowFlag
Definition: object.h:162
< VioletFlag
Definition: object.h:163
< MegaStalk2
Definition: object.h:245
< Teen35
Definition: object.h:229
< Teen41
Definition: object.h:235
< RepairStation
Definition: object.h:62
< Scribbler
Definition: object.h:156
Event sent by system, interface or game.
Definition: event.h:678
< Teen21
Definition: object.h:215
< Shielder
Definition: object.h:153
< track-trainer (unused)
Definition: object.h:131
< GreenFlag
Definition: object.h:161
< Stone (Teen34)
Definition: object.h:228
< Teen16
Definition: object.h:210
< PracticeBot
Definition: object.h:130
< Teen6
Definition: object.h:200
Definition: object.h:357
< RuinConvert
Definition: object.h:191
< Portico
Definition: object.h:56
< AlienEgg
Definition: object.h:176
< KeyB
Definition: object.h:165
< insect-trainer (unused)
Definition: object.h:133
Sound plugin interface.
Definition: sound.h:151
< Teen26
Definition: object.h:220
< Thumper
Definition: object.h:150
< Teen19
Definition: object.h:213
< AutoLab
Definition: object.h:68
< ApolloLEM
Definition: object.h:251
< Teen33
Definition: object.h:227
Definition: brain.h:77
< AlienSpider
Definition: object.h:178
Definition: brain.h:87
< BotFactory
Definition: object.h:59