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_TREE6 = 96, OBJECT_TREE7 = 97, OBJECT_TREE8 = 98, OBJECT_TREE9 = 99,
  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_BARRIER4 = 404, 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_TEEN45 = 665, OBJECT_TEEN46 = 666,
  OBJECT_TEEN47 = 667, OBJECT_TEEN48 = 668, OBJECT_TEEN49 = 669, OBJECT_QUARTZ0 = 700,
  OBJECT_QUARTZ1 = 701, OBJECT_QUARTZ2 = 702, OBJECT_QUARTZ3 = 703, OBJECT_QUARTZ4 = 704,
  OBJECT_QUARTZ5 = 705, OBJECT_QUARTZ6 = 706, OBJECT_QUARTZ7 = 707, OBJECT_QUARTZ8 = 708,
  OBJECT_QUARTZ9 = 709, OBJECT_ROOT0 = 710, OBJECT_ROOT1 = 711, OBJECT_ROOT2 = 712,
  OBJECT_ROOT3 = 713, OBJECT_ROOT4 = 714, OBJECT_ROOT5 = 715, OBJECT_ROOT6 = 716,
  OBJECT_ROOT7 = 717, OBJECT_ROOT8 = 718, OBJECT_ROOT9 = 719, OBJECT_SEAWEED0 = 720,
  OBJECT_SEAWEED1 = 721, OBJECT_SEAWEED2 = 722, OBJECT_SEAWEED3 = 723, OBJECT_SEAWEED4 = 724,
  OBJECT_SEAWEED5 = 725, OBJECT_SEAWEED6 = 726, OBJECT_SEAWEED7 = 727, OBJECT_SEAWEED8 = 728,
  OBJECT_SEAWEED9 = 729, OBJECT_MUSHROOM0 = 730, OBJECT_MUSHROOM1 = 731, OBJECT_MUSHROOM2 = 732,
  OBJECT_MUSHROOM3 = 733, OBJECT_MUSHROOM4 = 734, OBJECT_MUSHROOM5 = 735, OBJECT_MUSHROOM6 = 736,
  OBJECT_MUSHROOM7 = 737, OBJECT_MUSHROOM8 = 738, OBJECT_MUSHROOM9 = 739, 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  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 

< gantry

OBJECT_DERRICK 

< great main base

OBJECT_FACTORY 

< derrick set

OBJECT_STATION 

< factory set

OBJECT_CONVERT 

< recharging station

OBJECT_REPAIR 

< converter station

OBJECT_TOWER 

< reparation

OBJECT_NEST 

< defense tower

OBJECT_RESEARCH 

< nest

OBJECT_RADAR 

< research center

OBJECT_ENERGY 

< radar

OBJECT_LABO 

< energy factory

OBJECT_NUCLEAR 

< analytical laboratory for insect

OBJECT_START 

< nuclear power plant

OBJECT_END 

< starting

OBJECT_INFO 

< finish

OBJECT_PARA 

< information terminal

OBJECT_TARGET1 

< lightning conductor

OBJECT_TARGET2 

< gate target

OBJECT_SAFE 

< center target

OBJECT_HUSTON 

< safe

OBJECT_DESTROYER 

< control centre

OBJECT_FRET 

< destroyer

OBJECT_STONE 

< transportable

OBJECT_URANIUM 

< stone

OBJECT_METAL 

< uranium

OBJECT_POWER 

< metal

OBJECT_ATOMIC 

< normal battery

OBJECT_BULLET 

< atomic battery

OBJECT_BBOX 

< bullet

OBJECT_TNT 

< black-box

OBJECT_SCRAP1 

< box of TNT

OBJECT_SCRAP2 

< metal waste

OBJECT_SCRAP3 

< metal waste

OBJECT_SCRAP4 

< metal waste

OBJECT_SCRAP5 

< plastic waste

OBJECT_MARKPOWER 

< plastic waste

OBJECT_MARKSTONE 

< mark underground energy source

OBJECT_MARKURANIUM 

< mark underground ore

OBJECT_MARKKEYa 

< mark underground uranium

OBJECT_MARKKEYb 

< mark underground key

OBJECT_MARKKEYc 

< mark underground key

OBJECT_MARKKEYd 

< mark underground key

OBJECT_BOMB 

< mark underground key

OBJECT_WINFIRE 

< bomb

OBJECT_SHOW 

< fireworks

OBJECT_BAG 

< shows a place

OBJECT_PLANT0 

< survival bag

OBJECT_PLANT1 

< plant 0

OBJECT_PLANT2 

< plant 1

OBJECT_PLANT3 

< plant 2

OBJECT_PLANT4 

< plant 3

OBJECT_PLANT5 

< plant 4

OBJECT_PLANT6 

< plant 5

OBJECT_PLANT7 

< plant 6

OBJECT_PLANT8 

< plant 7

OBJECT_PLANT9 

< plant 8

OBJECT_PLANT10 

< plant 9

OBJECT_PLANT11 

< plant 10

OBJECT_PLANT12 

< plant 11

OBJECT_PLANT13 

< plant 12

OBJECT_PLANT14 

< plant 13

OBJECT_PLANT15 

< plant 14

OBJECT_PLANT16 

< plant 15

OBJECT_PLANT17 

< plant 16

OBJECT_PLANT18 

< plant 17

OBJECT_PLANT19 

< plant 18

OBJECT_TREE0 

< plant 19

OBJECT_TREE1 

< tree 0

OBJECT_TREE2 

< tree 1

OBJECT_TREE3 

< tree 2

OBJECT_TREE4 

< tree 3

OBJECT_TREE5 

< tree 4

OBJECT_TREE6 

< tree 5

OBJECT_TREE7 

< tree 6

OBJECT_TREE8 

< tree 7

OBJECT_TREE9 

< tree 8

OBJECT_MOBILEwt 

< tree 9

OBJECT_MOBILEtt 

< wheel-trainer

OBJECT_MOBILEft 

< track-trainer

OBJECT_MOBILEit 

< fly-trainer

OBJECT_MOBILEwa 

< insect-trainer

OBJECT_MOBILEta 

< wheel-arm

OBJECT_MOBILEfa 

< track-arm

OBJECT_MOBILEia 

< fly-arm

OBJECT_MOBILEwc 

< insect-arm

OBJECT_MOBILEtc 

< wheel-cannon

OBJECT_MOBILEfc 

< track-cannon

OBJECT_MOBILEic 

< fly-cannon

OBJECT_MOBILEwi 

< insect-cannon

OBJECT_MOBILEti 

< wheel-insect-cannon

OBJECT_MOBILEfi 

< track-insect-cannon

OBJECT_MOBILEii 

< fly-insect-cannon

OBJECT_MOBILEws 

< insect-insect-cannon

OBJECT_MOBILEts 

< wheel-search

OBJECT_MOBILEfs 

< track-search

OBJECT_MOBILEis 

< fly-search

OBJECT_MOBILErt 

< insect-search

OBJECT_MOBILErc 

< roller-terraform

OBJECT_MOBILErr 

< roller-canon

OBJECT_MOBILErs 

< roller-recover

OBJECT_MOBILEsa 

< roller-shield

OBJECT_MOBILEtg 

< submarine

OBJECT_MOBILEdr 

< training target

OBJECT_CONTROLLER 

< robot drawing

OBJECT_WAYPOINT 

< mission controller

OBJECT_FLAGb 

< waypoint

OBJECT_FLAGr 

< blue flag

OBJECT_FLAGg 

< red flag

OBJECT_FLAGy 

< green flag

OBJECT_FLAGv 

< yellow flag

OBJECT_KEYa 

< violet flag

OBJECT_KEYb 

< key a

OBJECT_KEYc 

< key b

OBJECT_KEYd 

< key c

OBJECT_HUMAN 

< key d

OBJECT_TOTO 

< human

OBJECT_TECH 

< toto

OBJECT_BARRIER0 

< technician

OBJECT_BARRIER1 

< barrier

OBJECT_BARRIER2 

< barrier

OBJECT_BARRIER3 

< barrier

OBJECT_BARRIER4 

< barrier

OBJECT_MOTHER 

< barrier

OBJECT_EGG 

< insect queen

OBJECT_ANT 

< egg

OBJECT_SPIDER 

< ant

OBJECT_BEE 

< spider

OBJECT_WORM 

< bee

OBJECT_RUINmobilew1 

< worm

OBJECT_RUINmobilew2 

< ruin 1

OBJECT_RUINmobilet1 

< ruin 1

OBJECT_RUINmobilet2 

< ruin 2

OBJECT_RUINmobiler1 

< ruin 2

OBJECT_RUINmobiler2 

< ruin 3

OBJECT_RUINfactory 

< ruin 3

OBJECT_RUINdoor 

< ruin 4

OBJECT_RUINsupport 

< ruin 5

OBJECT_RUINradar 

< ruin 6

OBJECT_RUINconvert 

< ruin 7

OBJECT_RUINbase 

< ruin 8

OBJECT_RUINhead 

< ruin 9

OBJECT_TEEN0 

< ruin 10

OBJECT_TEEN1 

< toy

OBJECT_TEEN2 

< toy

OBJECT_TEEN3 

< toy

OBJECT_TEEN4 

< toy

OBJECT_TEEN5 

< toy

OBJECT_TEEN6 

< toy

OBJECT_TEEN7 

< toy

OBJECT_TEEN8 

< toy

OBJECT_TEEN9 

< toy

OBJECT_TEEN10 

< toy

OBJECT_TEEN11 

< toy

OBJECT_TEEN12 

< toy

OBJECT_TEEN13 

< toy

OBJECT_TEEN14 

< toy

OBJECT_TEEN15 

< toy

OBJECT_TEEN16 

< toy

OBJECT_TEEN17 

< toy

OBJECT_TEEN18 

< toy

OBJECT_TEEN19 

< toy

OBJECT_TEEN20 

< toy

OBJECT_TEEN21 

< toy

OBJECT_TEEN22 

< toy

OBJECT_TEEN23 

< toy

OBJECT_TEEN24 

< toy

OBJECT_TEEN25 

< toy

OBJECT_TEEN26 

< toy

OBJECT_TEEN27 

< toy

OBJECT_TEEN28 

< toy

OBJECT_TEEN29 

< toy

OBJECT_TEEN30 

< toy

OBJECT_TEEN31 

< toy

OBJECT_TEEN32 

< toy

OBJECT_TEEN33 

< toy

OBJECT_TEEN34 

< toy

OBJECT_TEEN35 

< toy

OBJECT_TEEN36 

< toy

OBJECT_TEEN37 

< toy

OBJECT_TEEN38 

< toy

OBJECT_TEEN39 

< toy

OBJECT_TEEN40 

< toy

OBJECT_TEEN41 

< toy

OBJECT_TEEN42 

< toy

OBJECT_TEEN43 

< toy

OBJECT_TEEN44 

< toy

OBJECT_TEEN45 

< toy

OBJECT_TEEN46 

< toy

OBJECT_TEEN47 

< toy

OBJECT_TEEN48 

< toy

OBJECT_TEEN49 

< toy

OBJECT_QUARTZ0 

< toy

OBJECT_QUARTZ1 

< crystal 0

OBJECT_QUARTZ2 

< crystal 1

OBJECT_QUARTZ3 

< crystal 2

OBJECT_QUARTZ4 

< crystal 3

OBJECT_QUARTZ5 

< crystal 4

OBJECT_QUARTZ6 

< crystal 5

OBJECT_QUARTZ7 

< crystal 6

OBJECT_QUARTZ8 

< crystal 7

OBJECT_QUARTZ9 

< crystal 8

OBJECT_ROOT0 

< crystal 9

OBJECT_ROOT1 

< root 0

OBJECT_ROOT2 

< root 1

OBJECT_ROOT3 

< root 2

OBJECT_ROOT4 

< root 3

OBJECT_ROOT5 

< root 4

OBJECT_ROOT6 

< root 5

OBJECT_ROOT7 

< root 6

OBJECT_ROOT8 

< root 7

OBJECT_ROOT9 

< root 8

OBJECT_SEAWEED0 

< root 9

OBJECT_SEAWEED1 

< seaweed 0

OBJECT_SEAWEED2 

< seaweed 1

OBJECT_SEAWEED3 

< seaweed 2

OBJECT_SEAWEED4 

< seaweed 3

OBJECT_SEAWEED5 

< seaweed 4

OBJECT_SEAWEED6 

< seaweed 5

OBJECT_SEAWEED7 

< seaweed 6

OBJECT_SEAWEED8 

< seaweed 7

OBJECT_SEAWEED9 

< seaweed 8

OBJECT_MUSHROOM0 

< seaweed 9

OBJECT_MUSHROOM1 

< mushroom 0

OBJECT_MUSHROOM2 

< mushroom 1

OBJECT_MUSHROOM3 

< mushroom 2

OBJECT_MUSHROOM4 

< mushroom 3

OBJECT_MUSHROOM5 

< mushroom 4

OBJECT_MUSHROOM6 

< mushroom 5

OBJECT_MUSHROOM7 

< mushroom 6

OBJECT_MUSHROOM8 

< mushroom 7

OBJECT_MUSHROOM9 

< mushroom 8

OBJECT_APOLLO1 

< mushroom 9

OBJECT_APOLLO2 

< apollo lem

OBJECT_APOLLO3 

< apollo jeep

OBJECT_APOLLO4 

< apollo flag

OBJECT_APOLLO5 

< apollo module

OBJECT_HOME1 

< apollo antenna

OBJECT_MAX 

< home 1