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