Colobot
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Classes | Enumerations | Variables
object.h File Reference

CObject - base class for all game objects. More...

#include "graphics/engine/engine.h"
#include "graphics/engine/camera.h"
#include "sound/sound.h"
Include dependency graph for object.h:

Go to the source code of this file.

Classes

struct  ObjectPart
struct  Character
struct  Info
class  CObject

Enumerations

enum  ObjectType {
  OBJECT_NULL = 0, OBJECT_FIX = 1, OBJECT_PORTICO = 2, OBJECT_BASE = 3,
  OBJECT_DERRICK = 4, OBJECT_FACTORY = 5, OBJECT_STATION = 6, OBJECT_CONVERT = 7,
  OBJECT_REPAIR = 8, OBJECT_TOWER = 9, OBJECT_NEST = 10, OBJECT_RESEARCH = 11,
  OBJECT_RADAR = 12, OBJECT_ENERGY = 13, OBJECT_LABO = 14, OBJECT_NUCLEAR = 15,
  OBJECT_START = 16, OBJECT_END = 17, OBJECT_INFO = 18, OBJECT_PARA = 19,
  OBJECT_TARGET1 = 20, OBJECT_TARGET2 = 21, OBJECT_SAFE = 22, OBJECT_HUSTON = 23,
  OBJECT_DESTROYER = 24, OBJECT_FRET = 30, OBJECT_STONE = 31, OBJECT_URANIUM = 32,
  OBJECT_METAL = 33, OBJECT_POWER = 34, OBJECT_ATOMIC = 35, OBJECT_BULLET = 36,
  OBJECT_BBOX = 37, OBJECT_TNT = 38, OBJECT_SCRAP1 = 40, OBJECT_SCRAP2 = 41,
  OBJECT_SCRAP3 = 42, OBJECT_SCRAP4 = 43, OBJECT_SCRAP5 = 44, OBJECT_MARKPOWER = 50,
  OBJECT_MARKSTONE = 51, OBJECT_MARKURANIUM = 52, OBJECT_MARKKEYa = 53, OBJECT_MARKKEYb = 54,
  OBJECT_MARKKEYc = 55, OBJECT_MARKKEYd = 56, OBJECT_BOMB = 60, OBJECT_WINFIRE = 61,
  OBJECT_SHOW = 62, OBJECT_BAG = 63, OBJECT_PLANT0 = 70, OBJECT_PLANT1 = 71,
  OBJECT_PLANT2 = 72, OBJECT_PLANT3 = 73, OBJECT_PLANT4 = 74, OBJECT_PLANT5 = 75,
  OBJECT_PLANT6 = 76, OBJECT_PLANT7 = 77, OBJECT_PLANT8 = 78, OBJECT_PLANT9 = 79,
  OBJECT_PLANT10 = 80, OBJECT_PLANT11 = 81, OBJECT_PLANT12 = 82, OBJECT_PLANT13 = 83,
  OBJECT_PLANT14 = 84, OBJECT_PLANT15 = 85, OBJECT_PLANT16 = 86, OBJECT_PLANT17 = 87,
  OBJECT_PLANT18 = 88, OBJECT_PLANT19 = 89, OBJECT_TREE0 = 90, OBJECT_TREE1 = 91,
  OBJECT_TREE2 = 92, OBJECT_TREE3 = 93, OBJECT_TREE4 = 94, OBJECT_TREE5 = 95,
  OBJECT_MOBILEwt = 100, OBJECT_MOBILEtt = 101, OBJECT_MOBILEft = 102, OBJECT_MOBILEit = 103,
  OBJECT_MOBILEwa = 110, OBJECT_MOBILEta = 111, OBJECT_MOBILEfa = 112, OBJECT_MOBILEia = 113,
  OBJECT_MOBILEwc = 120, OBJECT_MOBILEtc = 121, OBJECT_MOBILEfc = 122, OBJECT_MOBILEic = 123,
  OBJECT_MOBILEwi = 130, OBJECT_MOBILEti = 131, OBJECT_MOBILEfi = 132, OBJECT_MOBILEii = 133,
  OBJECT_MOBILEws = 140, OBJECT_MOBILEts = 141, OBJECT_MOBILEfs = 142, OBJECT_MOBILEis = 143,
  OBJECT_MOBILErt = 200, OBJECT_MOBILErc = 201, OBJECT_MOBILErr = 202, OBJECT_MOBILErs = 203,
  OBJECT_MOBILEsa = 210, OBJECT_MOBILEtg = 211, OBJECT_MOBILEdr = 212, OBJECT_CONTROLLER = 213,
  OBJECT_WAYPOINT = 250, OBJECT_FLAGb = 260, OBJECT_FLAGr = 261, OBJECT_FLAGg = 262,
  OBJECT_FLAGy = 263, OBJECT_FLAGv = 264, OBJECT_KEYa = 270, OBJECT_KEYb = 271,
  OBJECT_KEYc = 272, OBJECT_KEYd = 273, OBJECT_HUMAN = 300, OBJECT_TOTO = 301,
  OBJECT_TECH = 302, OBJECT_BARRIER0 = 400, OBJECT_BARRIER1 = 401, OBJECT_BARRIER2 = 402,
  OBJECT_BARRIER3 = 403, OBJECT_MOTHER = 500, OBJECT_EGG = 501, OBJECT_ANT = 502,
  OBJECT_SPIDER = 503, OBJECT_BEE = 504, OBJECT_WORM = 505, OBJECT_RUINmobilew1 = 600,
  OBJECT_RUINmobilew2 = 601, OBJECT_RUINmobilet1 = 602, OBJECT_RUINmobilet2 = 603, OBJECT_RUINmobiler1 = 604,
  OBJECT_RUINmobiler2 = 605, OBJECT_RUINfactory = 606, OBJECT_RUINdoor = 607, OBJECT_RUINsupport = 608,
  OBJECT_RUINradar = 609, OBJECT_RUINconvert = 610, OBJECT_RUINbase = 611, OBJECT_RUINhead = 612,
  OBJECT_TEEN0 = 620, OBJECT_TEEN1 = 621, OBJECT_TEEN2 = 622, OBJECT_TEEN3 = 623,
  OBJECT_TEEN4 = 624, OBJECT_TEEN5 = 625, OBJECT_TEEN6 = 626, OBJECT_TEEN7 = 627,
  OBJECT_TEEN8 = 628, OBJECT_TEEN9 = 629, OBJECT_TEEN10 = 630, OBJECT_TEEN11 = 631,
  OBJECT_TEEN12 = 632, OBJECT_TEEN13 = 633, OBJECT_TEEN14 = 634, OBJECT_TEEN15 = 635,
  OBJECT_TEEN16 = 636, OBJECT_TEEN17 = 637, OBJECT_TEEN18 = 638, OBJECT_TEEN19 = 639,
  OBJECT_TEEN20 = 640, OBJECT_TEEN21 = 641, OBJECT_TEEN22 = 642, OBJECT_TEEN23 = 643,
  OBJECT_TEEN24 = 644, OBJECT_TEEN25 = 645, OBJECT_TEEN26 = 646, OBJECT_TEEN27 = 647,
  OBJECT_TEEN28 = 648, OBJECT_TEEN29 = 649, OBJECT_TEEN30 = 650, OBJECT_TEEN31 = 651,
  OBJECT_TEEN32 = 652, OBJECT_TEEN33 = 653, OBJECT_TEEN34 = 654, OBJECT_TEEN35 = 655,
  OBJECT_TEEN36 = 656, OBJECT_TEEN37 = 657, OBJECT_TEEN38 = 658, OBJECT_TEEN39 = 659,
  OBJECT_TEEN40 = 660, OBJECT_TEEN41 = 661, OBJECT_TEEN42 = 662, OBJECT_TEEN43 = 663,
  OBJECT_TEEN44 = 664, OBJECT_QUARTZ0 = 700, OBJECT_QUARTZ1 = 701, OBJECT_QUARTZ2 = 702,
  OBJECT_QUARTZ3 = 703, OBJECT_ROOT0 = 710, OBJECT_ROOT1 = 711, OBJECT_ROOT2 = 712,
  OBJECT_ROOT3 = 713, OBJECT_ROOT4 = 714, OBJECT_ROOT5 = 715, OBJECT_MUSHROOM1 = 731,
  OBJECT_MUSHROOM2 = 732, OBJECT_APOLLO1 = 900, OBJECT_APOLLO2 = 901, OBJECT_APOLLO3 = 902,
  OBJECT_APOLLO4 = 903, OBJECT_APOLLO5 = 904, OBJECT_HOME1 = 910, OBJECT_MAX = 1000
}
 Type of game object. More...
enum  ObjectMaterial {
  OM_METAL = 0, OM_PLASTIC = 1, OM_HUMAN = 2, OM_ANIMAL = 3,
  OM_VEGETAL = 4, OM_MINERAL = 5
}
enum  DriveType {
  DRIVE_OTHER = 0, DRIVE_WHEELED, DRIVE_TRACKED, DRIVE_WINGED,
  DRIVE_LEGGED
}
enum  ToolType {
  TOOL_OTHER = 0, TOOL_GRABBER, TOOL_SNIFFER, TOOL_SHOOTER,
  TOOL_ORGASHOOTER
}
enum  ExploType { EXPLO_BOUM = 1, EXPLO_BURN = 2, EXPLO_WATER = 3 }
enum  ResetCap { RESET_NONE = 0, RESET_MOVE = 1, RESET_DELETE = 2 }
enum  RadarFilter { FILTER_NONE = 0, FILTER_ONLYLANDING = 1, FILTER_ONLYFLYING = 2 }

Variables

const int OBJECTMAXPART = 40
const int MAXCRASHSPHERE = 40
const int OBJECTMAXDESELLIST = 10
const int OBJECTMAXINFO = 10
const int OBJECTMAXCMDLINE = 20

Detailed Description

CObject - base class for all game objects.

Enumeration Type Documentation

enum ObjectType

Type of game object.

Enumerator:
OBJECT_FIX 

< object destroyed

OBJECT_PORTICO 

< stationary scenery

OBJECT_BASE 

< Portico

OBJECT_DERRICK 

< SpaceShip

OBJECT_FACTORY 

< Derrick

OBJECT_STATION 

< BotFactory

OBJECT_CONVERT 

< PowerStation

OBJECT_REPAIR 

< Converter

OBJECT_TOWER 

< RepairStation

OBJECT_NEST 

< DefenseTower

OBJECT_RESEARCH 

< AlienNest

OBJECT_RADAR 

< ResearchCenter

OBJECT_ENERGY 

< RadarStation

OBJECT_LABO 

< PowerPlant

OBJECT_NUCLEAR 

< AutoLab

OBJECT_START 

< NuclearPlant

OBJECT_END 

< StartArea

OBJECT_INFO 

< EndArea

OBJECT_PARA 

< ExchangePost

OBJECT_TARGET1 

< PowerCaptor

OBJECT_TARGET2 

< Target1 (gate)

OBJECT_SAFE 

< Target2 (center)

OBJECT_HUSTON 

< Vault

OBJECT_DESTROYER 

< Houston

OBJECT_FRET 

< Destroyer

OBJECT_STONE 

< transportable (unused)

OBJECT_URANIUM 

< TitaniumOre

OBJECT_METAL 

< UraniumOre

OBJECT_POWER 

< Titanium

OBJECT_ATOMIC 

< PowerCell

OBJECT_BULLET 

< NuclearCell

OBJECT_BBOX 

< OrgaMatter

OBJECT_TNT 

< BlackBox

OBJECT_SCRAP1 

< TNT

OBJECT_SCRAP2 

< Scrap1 (metal)

OBJECT_SCRAP3 

< Scrap2 (metal)

OBJECT_SCRAP4 

< Scrap3 (metal)

OBJECT_SCRAP5 

< Scrap4 (plastic)

OBJECT_MARKPOWER 

< Scrap5 (plastic)

OBJECT_MARKSTONE 

< PowerSpot

OBJECT_MARKURANIUM 

< TitaniumSpot

OBJECT_MARKKEYa 

< UraniumSpot

OBJECT_MARKKEYb 

< KeyASpot

OBJECT_MARKKEYc 

< KeyBSpot

OBJECT_MARKKEYd 

< KeyCSpot

OBJECT_BOMB 

< KeyDSpot

OBJECT_WINFIRE 

< Mine

OBJECT_SHOW 

< Firework

OBJECT_BAG 

< arrow above object (Visit)

OBJECT_PLANT0 

< Bag

OBJECT_PLANT1 

< Greenery0

OBJECT_PLANT2 

< Greenery1

OBJECT_PLANT3 

< Greenery2

OBJECT_PLANT4 

< Greenery3

OBJECT_PLANT5 

< Greenery4

OBJECT_PLANT6 

< Greenery5

OBJECT_PLANT7 

< Greenery6

OBJECT_PLANT8 

< Greenery7

OBJECT_PLANT9 

< Greenery8

OBJECT_PLANT10 

< Greenery9

OBJECT_PLANT11 

< Greenery10

OBJECT_PLANT12 

< Greenery11

OBJECT_PLANT13 

< Greenery12

OBJECT_PLANT14 

< Greenery13

OBJECT_PLANT15 

< Greenery14

OBJECT_PLANT16 

< Greenery15

OBJECT_PLANT17 

< Greenery16

OBJECT_PLANT18 

< Greenery17

OBJECT_PLANT19 

< Greenery18

OBJECT_TREE0 

< Greenery19

OBJECT_TREE1 

< Tree0

OBJECT_TREE2 

< Tree1

OBJECT_TREE3 

< Tree2

OBJECT_TREE4 

< Tree3

OBJECT_TREE5 

< Tree4

OBJECT_MOBILEwt 

< Tree5

OBJECT_MOBILEtt 

< PracticeBot

OBJECT_MOBILEft 

< track-trainer (unused)

OBJECT_MOBILEit 

< fly-trainer (unused)

OBJECT_MOBILEwa 

< insect-trainer (unused)

OBJECT_MOBILEta 

< WheeledGrabber

OBJECT_MOBILEfa 

< TrackedGrabber

OBJECT_MOBILEia 

< WingedGrabber

OBJECT_MOBILEwc 

< LeggedGrabber

OBJECT_MOBILEtc 

< WheeledShooter

OBJECT_MOBILEfc 

< TrackedShooter

OBJECT_MOBILEic 

< WingedShooter

OBJECT_MOBILEwi 

< LeggedShooter

OBJECT_MOBILEti 

< WheeledOrgaShooter

OBJECT_MOBILEfi 

< TrackedOrgaShooter

OBJECT_MOBILEii 

< WingedOrgaShooter

OBJECT_MOBILEws 

< LeggedOrgaShooter

OBJECT_MOBILEts 

< WheeledSniffer

OBJECT_MOBILEfs 

< TrackedSniffer

OBJECT_MOBILEis 

< WingedSniffer

OBJECT_MOBILErt 

< LeggedSniffer

OBJECT_MOBILErc 

< Thumper

OBJECT_MOBILErr 

< PhazerShooter

OBJECT_MOBILErs 

< Recycler

OBJECT_MOBILEsa 

< Shielder

OBJECT_MOBILEtg 

< Subber

OBJECT_MOBILEdr 

< TargetBot

OBJECT_CONTROLLER 

< Scribbler

OBJECT_WAYPOINT 

< MissionController

OBJECT_FLAGb 

< WayPoint

OBJECT_FLAGr 

< BlueFlag

OBJECT_FLAGg 

< RedFlag

OBJECT_FLAGy 

< GreenFlag

OBJECT_FLAGv 

< YellowFlag

OBJECT_KEYa 

< VioletFlag

OBJECT_KEYb 

< KeyA

OBJECT_KEYc 

< KeyB

OBJECT_KEYd 

< KeyC

OBJECT_HUMAN 

< KeyD

OBJECT_TOTO 

< Me

OBJECT_TECH 

< Robby (toto)

OBJECT_BARRIER0 

< Tech

OBJECT_BARRIER1 

< Barrier0

OBJECT_BARRIER2 

< Barrier1

OBJECT_BARRIER3 

< Barrier2

OBJECT_MOTHER 

< Barrier3

OBJECT_EGG 

< AlienQueen

OBJECT_ANT 

< AlienEgg

OBJECT_SPIDER 

< AlienAnt

OBJECT_BEE 

< AlienSpider

OBJECT_WORM 

< AlienWasp

OBJECT_RUINmobilew1 

< AlienWorm

OBJECT_RUINmobilew2 

< WreckBotw1

OBJECT_RUINmobilet1 

< WreckBotw2

OBJECT_RUINmobilet2 

< WreckBott1

OBJECT_RUINmobiler1 

< WreckBott2

OBJECT_RUINmobiler2 

< WreckBotr1

OBJECT_RUINfactory 

< WreckBotr2

OBJECT_RUINdoor 

< RuinBotFactory

OBJECT_RUINsupport 

< RuinDoor

OBJECT_RUINradar 

< RuinSupport

OBJECT_RUINconvert 

< RuinRadar

OBJECT_RUINbase 

< RuinConvert

OBJECT_RUINhead 

< RuinBaseCamp

OBJECT_TEEN0 

< RuinHeadCamp

OBJECT_TEEN1 

< Teen0

OBJECT_TEEN2 

< Teen1

OBJECT_TEEN3 

< Teen2

OBJECT_TEEN4 

< Teen3

OBJECT_TEEN5 

< Teen4

OBJECT_TEEN6 

< Teen5

OBJECT_TEEN7 

< Teen6

OBJECT_TEEN8 

< Teen7

OBJECT_TEEN9 

< Teen8

OBJECT_TEEN10 

< Teen9

OBJECT_TEEN11 

< Teen10

OBJECT_TEEN12 

< Teen11

OBJECT_TEEN13 

< Teen12

OBJECT_TEEN14 

< Teen13

OBJECT_TEEN15 

< Teen14

OBJECT_TEEN16 

< Teen15

OBJECT_TEEN17 

< Teen16

OBJECT_TEEN18 

< Teen17

OBJECT_TEEN19 

< Teen18

OBJECT_TEEN20 

< Teen19

OBJECT_TEEN21 

< Teen20

OBJECT_TEEN22 

< Teen21

OBJECT_TEEN23 

< Teen22

OBJECT_TEEN24 

< Teen23

OBJECT_TEEN25 

< Teen24

OBJECT_TEEN26 

< Teen25

OBJECT_TEEN27 

< Teen26

OBJECT_TEEN28 

< Teen27

OBJECT_TEEN29 

< Teen28

OBJECT_TEEN30 

< Teen29

OBJECT_TEEN31 

< Teen30

OBJECT_TEEN32 

< Teen31

OBJECT_TEEN33 

< Teen32

OBJECT_TEEN34 

< Teen33

OBJECT_TEEN35 

< Stone (Teen34)

OBJECT_TEEN36 

< Teen35

OBJECT_TEEN37 

< Teen36

OBJECT_TEEN38 

< Teen37

OBJECT_TEEN39 

< Teen38

OBJECT_TEEN40 

< Teen39

OBJECT_TEEN41 

< Teen40

OBJECT_TEEN42 

< Teen41

OBJECT_TEEN43 

< Teen42

OBJECT_TEEN44 

< Teen43

OBJECT_QUARTZ0 

< Teen44

OBJECT_QUARTZ1 

< Quartz0

OBJECT_QUARTZ2 

< Quartz1

OBJECT_QUARTZ3 

< Quartz2

OBJECT_ROOT0 

< Quartz3

OBJECT_ROOT1 

< MegaStalk0

OBJECT_ROOT2 

< MegaStalk1

OBJECT_ROOT3 

< MegaStalk2

OBJECT_ROOT4 

< MegaStalk3

OBJECT_ROOT5 

< MegaStalk4

OBJECT_MUSHROOM1 

< MegaStalk5

OBJECT_MUSHROOM2 

< Mushroom1

OBJECT_APOLLO1 

< Mushroom2

OBJECT_APOLLO2 

< ApolloLEM

OBJECT_APOLLO3 

< ApolloJeep

OBJECT_APOLLO4 

< ApolloFlag

OBJECT_APOLLO5 

< ApolloModule

OBJECT_HOME1 

< ApolloAntenna

OBJECT_MAX 

< Home