Merge branch 'dev' into dev-graphics

dev-ui
Piotr Dziwinski 2012-09-09 13:05:41 +02:00
commit b3d5491af4
14 changed files with 8200 additions and 4527 deletions

View File

@ -70,7 +70,8 @@ common/iman.cpp
# common/misc.cpp
# common/modfile.cpp
# common/profile.cpp
# common/restext.cpp
common/restext.cpp
common/restext_strings.c
common/stringutils.cpp
graphics/core/color.cpp
graphics/engine/camera.cpp

150
src/common/error_ids.h Normal file
View File

@ -0,0 +1,150 @@
// * This file is part of the COLOBOT source code
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
// *
// * This program is free software: you can redistribute it and/or modify
// * it under the terms of the GNU General Public License as published by
// * the Free Software Foundation, either version 3 of the License, or
// * (at your option) any later version.
// *
// * This program is distributed in the hope that it will be useful,
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// * GNU General Public License for more details.
// *
// * You should have received a copy of the GNU General Public License
// * along with this program. If not, see http://www.gnu.org/licenses/.
#pragma once
enum Error
{
ERR_OK = 0, // ok
ERR_GENERIC = 1, // any error
ERR_CONTINUE = 2, // continues
ERR_STOP = 3, // stops
ERR_CMD = 4, // unknown command
ERR_INSTALL = 20, // incorrectly installed program
ERR_NOCD = 21, // CD not found
ERR_MANIP_VEH = 100, // inappropriate vehicle
ERR_MANIP_FLY = 101, // impossible in flight
ERR_MANIP_BUSY = 102, // taking: hands already occupied
ERR_MANIP_NIL = 103, // taking: nothing has to take
ERR_MANIP_MOTOR = 105, // busy: impossible to move
ERR_MANIP_OCC = 106, // busy: location already occupied
ERR_MANIP_FRIEND = 107, // no other vehicle
ERR_MANIP_RADIO = 108, // impossible because radioactive
ERR_MANIP_WATER = 109, // not possible under water
ERR_MANIP_EMPTY = 110, // nothing to deposit
ERR_BUILD_FLY = 120, // not possible in flight
ERR_BUILD_WATER = 121, // not possible under water
ERR_BUILD_ENERGY = 122, // not enough energy
ERR_BUILD_METALAWAY = 123, // lack of metal (too far)
ERR_BUILD_METALNEAR = 124, // lack of metal (too close)
ERR_BUILD_METALINEX = 125, // lack of metal
ERR_BUILD_FLAT = 126, // not enough flat ground
ERR_BUILD_FLATLIT = 127, // not enough flat ground space
ERR_BUILD_BUSY = 128, // location occupied
ERR_BUILD_BASE = 129, // too close to the rocket
ERR_BUILD_NARROW = 130, // buildings too close
ERR_BUILD_MOTOR = 131, // built: not possible in movement
ERR_SEARCH_FLY = 140, // not possible in flight
ERR_SEARCH_VEH = 141, // inappropriate vehicle
ERR_SEARCH_MOTOR = 142, // impossible in movement
ERR_TERRA_VEH = 150, // inappropriate vehicle
ERR_TERRA_ENERGY = 151, // not enough energy
ERR_TERRA_FLOOR = 152, // inappropriate ground
ERR_TERRA_BUILDING = 153, // building too close
ERR_TERRA_OBJECT = 154, // object too close
ERR_FIRE_VEH = 160, // inappropriate vehicle
ERR_FIRE_ENERGY = 161, // not enough energy
ERR_FIRE_FLY = 162, // not possible in flight
ERR_RECOVER_VEH = 170, // inappropriate vehicle
ERR_RECOVER_ENERGY = 171, // not enough energy
ERR_RECOVER_NULL = 172, // lack of ruin
ERR_CONVERT_EMPTY = 180, // no stone was transformed
ERR_SHIELD_VEH = 190, // inappropriate vehicle
ERR_SHIELD_ENERGY = 191, // not enough energy
ERR_MOVE_IMPOSSIBLE = 200, // move impossible
ERR_FIND_IMPOSSIBLE = 201, // find impossible
ERR_GOTO_IMPOSSIBLE = 210, // goto impossible
ERR_GOTO_ITER = 211, // goto too complicated
ERR_GOTO_BUSY = 212, // goto destination occupied
ERR_DERRICK_NULL = 300, // no ore underground
ERR_STATION_NULL = 301, // no energy underground
ERR_TOWER_POWER = 310, // no battery
ERR_TOWER_ENERGY = 311, // more energy
ERR_RESEARCH_POWER = 320, // no battery
ERR_RESEARCH_ENERGY = 321, // more energy
ERR_RESEARCH_TYPE = 322, // the wrong type of battery
ERR_RESEARCH_ALREADY = 323, // research already done
ERR_ENERGY_NULL = 330, // no energy underground
ERR_ENERGY_LOW = 331, // not enough energy
ERR_ENERGY_EMPTY = 332, // lack of metal
ERR_ENERGY_BAD = 333, // transforms only the metal
ERR_BASE_DLOCK = 340, // doors locked
ERR_BASE_DHUMAN = 341, // you must be on spaceship
ERR_LABO_NULL = 350, // nothing to analyze
ERR_LABO_BAD = 351, // analyzes only organic ball
ERR_LABO_ALREADY = 352, // analysis already made
ERR_NUCLEAR_NULL = 360, // no energy underground
ERR_NUCLEAR_LOW = 361, // not enough energy
ERR_NUCLEAR_EMPTY = 362, // lack of uranium
ERR_NUCLEAR_BAD = 363, // transforms only uranium
ERR_FACTORY_NULL = 370, // no metal
ERR_FACTORY_NEAR = 371, // vehicle too close
ERR_RESET_NEAR = 380, // vehicle too close
ERR_INFO_NULL = 390, // no information terminal
ERR_VEH_VIRUS = 400, // vehicle infected by a virus
ERR_BAT_VIRUS = 401, // building infected by a virus
ERR_VEH_POWER = 500, // no battery
ERR_VEH_ENERGY = 501, // more energy
ERR_FLAG_FLY = 510, // impossible in flight
ERR_FLAG_WATER = 511, // impossible during swimming
ERR_FLAG_MOTOR = 512, // impossible in movement
ERR_FLAG_BUSY = 513, // taking: already creating flag
ERR_FLAG_CREATE = 514, // too many flags
ERR_FLAG_PROXY = 515, // too close
ERR_FLAG_DELETE = 516, // nothing to remove
ERR_MISSION_NOTERM = 600, // Mission not completed
ERR_DELETEMOBILE = 700, // vehicle destroyed
ERR_DELETEBUILDING = 701, // building destroyed
ERR_TOOMANY = 702, // too many objects
ERR_OBLIGATORYTOKEN = 800, // compulsory instruction missing
ERR_PROHIBITEDTOKEN = 801, // instruction prohibited
INFO_FIRST = 10000, // first information
INFO_BUILD = 10001, // construction builded
INFO_CONVERT = 10002, // metal available
INFO_RESEARCH = 10003, // search ended
INFO_FACTORY = 10004, // vehicle manufactured
INFO_LABO = 10005, // analysis ended
INFO_ENERGY = 10006, // battery available
INFO_NUCLEAR = 10007, // nuclear battery available
INFO_FINDING = 10008, // nuclear battery available
INFO_MARKPOWER = 10020, // location for station found
INFO_MARKURANIUM = 10021, // location for derrick found
INFO_MARKSTONE = 10022, // location for derrick found
INFO_MARKKEYa = 10023, // location for derrick found
INFO_MARKKEYb = 10024, // location for derrick found
INFO_MARKKEYc = 10025, // location for derrick found
INFO_MARKKEYd = 10026, // location for derrick found
INFO_RESEARCHTANK = 10030, // research ended
INFO_RESEARCHFLY = 10031, // research ended
INFO_RESEARCHTHUMP = 10032, // research ended
INFO_RESEARCHCANON = 10033, // research ended
INFO_RESEARCHTOWER = 10034, // research ended
INFO_RESEARCHPHAZER = 10035, // research ended
INFO_RESEARCHSHIELD = 10036, // research ended
INFO_RESEARCHATOMIC = 10037, // research ended
INFO_WIN = 10040, // win
INFO_LOST = 10041, // lost
INFO_LOSTq = 10042, // lost immediately
INFO_WRITEOK = 10043, // record done
INFO_DELETEPATH = 10050, // way mark deleted
INFO_DELETEMOTHER = 10100, // insect killed
INFO_DELETEANT = 10101, // insect killed
INFO_DELETEBEE = 10102, // insect killed
INFO_DELETEWORM = 10103, // insect killed
INFO_DELETESPIDER = 10104, // insect killed
INFO_BEGINSATCOM = 10105, // use your SatCom
};

View File

@ -20,6 +20,7 @@
#include <common/key.h>
#include <common/event_ids.h>
#include <math/point.h>
#include <string.h>
@ -27,522 +28,6 @@
class CInstanceManager;
/**
\enum EventType
\brief Type of event message
*/
enum EventType
{
// TODO: document the meaning of each value
//! Invalid event / no event
EVENT_NULL = 0,
//! Event sent on user or system quit request
EVENT_QUIT = 1,
//! Frame update event
EVENT_FRAME = 2,
//! Event sent after pressing a mouse button
EVENT_MOUSE_BUTTON_DOWN = 3,
//! Event sent after releasing a mouse button
EVENT_MOUSE_BUTTON_UP = 4,
//! Event sent after moving the mouse
EVENT_MOUSE_MOVE = 7,
//! Event sent after pressing a key
EVENT_KEY_DOWN = 8,
//! Event sent after releasing a key
EVENT_KEY_UP = 9,
//! Event sent when application window loses/gains focus
EVENT_ACTIVE = 10,
//? EVENT_CHAR = 10,
//? EVENT_FOCUS = 11,
//! Event sent after moving joystick axes
EVENT_JOY_AXIS = 12,
//! Event sent after pressing a joystick button
EVENT_JOY_BUTTON_DOWN = 13,
//! Event sent after releasing a joystick button
EVENT_JOY_BUTTON_UP = 14,
EVENT_UPDINTERFACE = 20,
EVENT_WIN = 30,
EVENT_LOST = 31,
EVENT_BUTTON_OK = 40,
EVENT_BUTTON_CANCEL = 41,
EVENT_BUTTON_NEXT = 42,
EVENT_BUTTON_PREV = 43,
EVENT_BUTTON_QUIT = 44,
EVENT_BUTTON0 = 50,
EVENT_BUTTON1 = 51,
EVENT_BUTTON2 = 52,
EVENT_BUTTON3 = 53,
EVENT_BUTTON4 = 54,
EVENT_BUTTON5 = 55,
EVENT_BUTTON6 = 56,
EVENT_BUTTON7 = 57,
EVENT_BUTTON8 = 58,
EVENT_BUTTON9 = 59,
EVENT_BUTTON10 = 60,
EVENT_BUTTON11 = 61,
EVENT_BUTTON12 = 62,
EVENT_BUTTON13 = 63,
EVENT_BUTTON14 = 64,
EVENT_BUTTON15 = 65,
EVENT_BUTTON16 = 66,
EVENT_BUTTON17 = 67,
EVENT_BUTTON18 = 68,
EVENT_BUTTON19 = 69,
EVENT_EDIT0 = 70,
EVENT_EDIT1 = 71,
EVENT_EDIT2 = 72,
EVENT_EDIT3 = 73,
EVENT_EDIT4 = 74,
EVENT_EDIT5 = 75,
EVENT_EDIT6 = 76,
EVENT_EDIT7 = 77,
EVENT_EDIT8 = 78,
EVENT_EDIT9 = 79,
EVENT_WINDOW0 = 80, // the bottom panel
EVENT_WINDOW1 = 81, // map
EVENT_WINDOW2 = 82, // CDisplayText
EVENT_WINDOW3 = 83, // CStudio
EVENT_WINDOW4 = 84, // DisplayInfo
EVENT_WINDOW5 = 85, // setup
EVENT_WINDOW6 = 86,
EVENT_WINDOW7 = 87,
EVENT_WINDOW8 = 88,
EVENT_WINDOW9 = 89, // dialogue
EVENT_LABEL0 = 90,
EVENT_LABEL1 = 91,
EVENT_LABEL2 = 92,
EVENT_LABEL3 = 93,
EVENT_LABEL4 = 94,
EVENT_LABEL5 = 95,
EVENT_LABEL6 = 96,
EVENT_LABEL7 = 97,
EVENT_LABEL8 = 98,
EVENT_LABEL9 = 99,
EVENT_LABEL10 = 100,
EVENT_LABEL11 = 101,
EVENT_LABEL12 = 102,
EVENT_LABEL13 = 103,
EVENT_LABEL14 = 104,
EVENT_LABEL15 = 105,
EVENT_LABEL16 = 106,
EVENT_LABEL17 = 107,
EVENT_LABEL18 = 108,
EVENT_LABEL19 = 109,
EVENT_LIST0 = 110,
EVENT_LIST1 = 111,
EVENT_LIST2 = 112,
EVENT_LIST3 = 113,
EVENT_LIST4 = 114,
EVENT_LIST5 = 115,
EVENT_LIST6 = 116,
EVENT_LIST7 = 117,
EVENT_LIST8 = 118,
EVENT_LIST9 = 119,
EVENT_TOOLTIP = 200,
EVENT_DIALOG_OK = 300,
EVENT_DIALOG_CANCEL = 301,
EVENT_DIALOG_LABEL = 302,
EVENT_DIALOG_LABEL1 = 303,
EVENT_DIALOG_LABEL2 = 304,
EVENT_DIALOG_LABEL3 = 305,
EVENT_DIALOG_LIST = 306,
EVENT_DIALOG_EDIT = 307,
EVENT_DIALOG_CHECK1 = 308,
EVENT_DIALOG_CHECK2 = 309,
EVENT_INTERFACE_TRAINER = 400,
EVENT_INTERFACE_DEFI = 401,
EVENT_INTERFACE_MISSION = 402,
EVENT_INTERFACE_FREE = 403,
EVENT_INTERFACE_PROTO = 404,
EVENT_INTERFACE_NAME = 405,
EVENT_INTERFACE_SETUP = 406,
EVENT_INTERFACE_QUIT = 407,
EVENT_INTERFACE_BACK = 408,
EVENT_INTERFACE_AGAIN = 409,
EVENT_INTERFACE_WRITE = 410,
EVENT_INTERFACE_READ = 411,
EVENT_INTERFACE_ABORT = 412,
EVENT_INTERFACE_USER = 413,
EVENT_INTERFACE_TEEN = 414,
EVENT_INTERFACE_CHAP = 420,
EVENT_INTERFACE_LIST = 421,
EVENT_INTERFACE_RESUME = 422,
EVENT_INTERFACE_PLAY = 423,
EVENT_INTERFACE_SETUPd = 430,
EVENT_INTERFACE_SETUPg = 431,
EVENT_INTERFACE_SETUPp = 432,
EVENT_INTERFACE_SETUPc = 433,
EVENT_INTERFACE_SETUPs = 434,
EVENT_INTERFACE_DEVICE = 440,
EVENT_INTERFACE_RESOL = 441,
EVENT_INTERFACE_FULL = 442,
EVENT_INTERFACE_APPLY = 443,
EVENT_INTERFACE_TOTO = 450,
EVENT_INTERFACE_SHADOW = 451,
EVENT_INTERFACE_DIRTY = 452,
EVENT_INTERFACE_LENS = 453,
EVENT_INTERFACE_SKY = 454,
EVENT_INTERFACE_PLANET = 456,
EVENT_INTERFACE_LIGHT = 457,
EVENT_INTERFACE_PARTI = 458,
EVENT_INTERFACE_CLIP = 459,
EVENT_INTERFACE_DETAIL = 460,
EVENT_INTERFACE_TEXTURE = 461,
EVENT_INTERFACE_RAIN = 462,
EVENT_INTERFACE_GLINT = 463,
EVENT_INTERFACE_TOOLTIP = 464,
EVENT_INTERFACE_MOVIES = 465,
EVENT_INTERFACE_NICERST = 466,
EVENT_INTERFACE_SCROLL = 467,
EVENT_INTERFACE_INVERTX = 468,
EVENT_INTERFACE_INVERTY = 469,
EVENT_INTERFACE_EFFECT = 470,
EVENT_INTERFACE_MOUSE = 471,
EVENT_INTERFACE_GROUND = 472,
EVENT_INTERFACE_GADGET = 473,
EVENT_INTERFACE_FOG = 474,
EVENT_INTERFACE_HIMSELF = 475,
EVENT_INTERFACE_EDITMODE= 476,
EVENT_INTERFACE_EDITVALUE= 477,
EVENT_INTERFACE_SOLUCE4 = 478,
EVENT_INTERFACE_KINFO1 = 500,
EVENT_INTERFACE_KINFO2 = 501,
EVENT_INTERFACE_KGROUP = 502,
EVENT_INTERFACE_KSCROLL = 503,
EVENT_INTERFACE_KDEF = 504,
EVENT_INTERFACE_KLEFT = 505,
EVENT_INTERFACE_KRIGHT = 506,
EVENT_INTERFACE_KUP = 507,
EVENT_INTERFACE_KDOWN = 508,
EVENT_INTERFACE_KGUP = 509,
EVENT_INTERFACE_KGDOWN = 510,
EVENT_INTERFACE_KCAMERA = 511,
EVENT_INTERFACE_KDESEL = 512,
EVENT_INTERFACE_KACTION = 513,
EVENT_INTERFACE_KNEAR = 514,
EVENT_INTERFACE_KAWAY = 515,
EVENT_INTERFACE_KNEXT = 516,
EVENT_INTERFACE_KHUMAN = 517,
EVENT_INTERFACE_KQUIT = 518,
EVENT_INTERFACE_KHELP = 519,
EVENT_INTERFACE_KPROG = 520,
EVENT_INTERFACE_KCBOT = 521,
EVENT_INTERFACE_KVISIT = 522,
EVENT_INTERFACE_KSPEED10= 523,
EVENT_INTERFACE_KSPEED15= 524,
EVENT_INTERFACE_KSPEED20= 525,
EVENT_INTERFACE_KSPEED30= 526,
EVENT_INTERFACE_VOLSOUND= 530,
EVENT_INTERFACE_VOLMUSIC= 531,
EVENT_INTERFACE_SOUND3D = 532,
EVENT_INTERFACE_MIN = 540,
EVENT_INTERFACE_NORM = 541,
EVENT_INTERFACE_MAX = 542,
EVENT_INTERFACE_SILENT = 550,
EVENT_INTERFACE_NOISY = 551,
EVENT_INTERFACE_JOYSTICK= 560,
EVENT_INTERFACE_SOLUCE = 561,
EVENT_INTERFACE_GLINTl = 570,
EVENT_INTERFACE_GLINTr = 571,
EVENT_INTERFACE_GLINTu = 572,
EVENT_INTERFACE_GLINTb = 573,
EVENT_INTERFACE_NEDIT = 580,
EVENT_INTERFACE_NLIST = 581,
EVENT_INTERFACE_NOK = 582,
EVENT_INTERFACE_NCANCEL = 583,
EVENT_INTERFACE_NDELETE = 584,
EVENT_INTERFACE_NLABEL = 585,
EVENT_INTERFACE_IOWRITE = 600,
EVENT_INTERFACE_IOREAD = 601,
EVENT_INTERFACE_IOLIST = 602,
EVENT_INTERFACE_IONAME = 603,
EVENT_INTERFACE_IOLABEL = 604,
EVENT_INTERFACE_IOIMAGE = 605,
EVENT_INTERFACE_IODELETE= 606,
EVENT_INTERFACE_PERSO = 620,
EVENT_INTERFACE_POK = 621,
EVENT_INTERFACE_PCANCEL = 622,
EVENT_INTERFACE_PDEF = 623,
EVENT_INTERFACE_PHEAD = 624,
EVENT_INTERFACE_PBODY = 625,
EVENT_INTERFACE_PLROT = 626,
EVENT_INTERFACE_PRROT = 627,
EVENT_INTERFACE_PC0a = 640,
EVENT_INTERFACE_PC1a = 641,
EVENT_INTERFACE_PC2a = 642,
EVENT_INTERFACE_PC3a = 643,
EVENT_INTERFACE_PC4a = 644,
EVENT_INTERFACE_PC5a = 645,
EVENT_INTERFACE_PC6a = 646,
EVENT_INTERFACE_PC7a = 647,
EVENT_INTERFACE_PC8a = 648,
EVENT_INTERFACE_PC9a = 649,
EVENT_INTERFACE_PCRa = 650,
EVENT_INTERFACE_PCGa = 651,
EVENT_INTERFACE_PCBa = 652,
EVENT_INTERFACE_PC0b = 660,
EVENT_INTERFACE_PC1b = 661,
EVENT_INTERFACE_PC2b = 662,
EVENT_INTERFACE_PC3b = 663,
EVENT_INTERFACE_PC4b = 664,
EVENT_INTERFACE_PC5b = 665,
EVENT_INTERFACE_PC6b = 666,
EVENT_INTERFACE_PC7b = 667,
EVENT_INTERFACE_PC8b = 668,
EVENT_INTERFACE_PC9b = 669,
EVENT_INTERFACE_PCRb = 670,
EVENT_INTERFACE_PCGb = 671,
EVENT_INTERFACE_PCBb = 672,
EVENT_INTERFACE_PFACE1 = 680,
EVENT_INTERFACE_PFACE2 = 681,
EVENT_INTERFACE_PFACE3 = 682,
EVENT_INTERFACE_PFACE4 = 683,
EVENT_INTERFACE_PGLASS0 = 690,
EVENT_INTERFACE_PGLASS1 = 691,
EVENT_INTERFACE_PGLASS2 = 692,
EVENT_INTERFACE_PGLASS3 = 693,
EVENT_INTERFACE_PGLASS4 = 694,
EVENT_INTERFACE_PGLASS5 = 695,
EVENT_INTERFACE_PGLASS6 = 696,
EVENT_INTERFACE_PGLASS7 = 697,
EVENT_INTERFACE_PGLASS8 = 698,
EVENT_INTERFACE_PGLASS9 = 699,
EVENT_DT_GROUP0 = 700,
EVENT_DT_GROUP1 = 701,
EVENT_DT_GROUP2 = 702,
EVENT_DT_GROUP3 = 703,
EVENT_DT_GROUP4 = 704,
EVENT_DT_LABEL0 = 710,
EVENT_DT_LABEL1 = 711,
EVENT_DT_LABEL2 = 712,
EVENT_DT_LABEL3 = 713,
EVENT_DT_LABEL4 = 714,
EVENT_DT_VISIT0 = 720,
EVENT_DT_VISIT1 = 721,
EVENT_DT_VISIT2 = 722,
EVENT_DT_VISIT3 = 723,
EVENT_DT_VISIT4 = 724,
EVENT_DT_END = 725,
EVENT_CMD = 800,
EVENT_SPEED = 801,
EVENT_HYPER_PREV = 900,
EVENT_HYPER_NEXT = 901,
EVENT_HYPER_HOME = 902,
EVENT_HYPER_COPY = 903,
EVENT_HYPER_SIZE1 = 904,
EVENT_HYPER_SIZE2 = 905,
EVENT_HYPER_SIZE3 = 906,
EVENT_HYPER_SIZE4 = 907,
EVENT_HYPER_SIZE5 = 908,
EVENT_SATCOM_HUSTON = 920,
EVENT_SATCOM_SAT = 921,
EVENT_SATCOM_LOADING = 922,
EVENT_SATCOM_OBJECT = 923,
EVENT_SATCOM_PROG = 924,
EVENT_SATCOM_SOLUCE = 925,
EVENT_OBJECT_DESELECT = 1000,
EVENT_OBJECT_LEFT = 1001,
EVENT_OBJECT_RIGHT = 1002,
EVENT_OBJECT_UP = 1003,
EVENT_OBJECT_DOWN = 1004,
EVENT_OBJECT_GASUP = 1005,
EVENT_OBJECT_GASDOWN = 1006,
EVENT_OBJECT_HTAKE = 1020,
EVENT_OBJECT_MTAKE = 1021,
EVENT_OBJECT_MFRONT = 1022,
EVENT_OBJECT_MBACK = 1023,
EVENT_OBJECT_MPOWER = 1024,
EVENT_OBJECT_BHELP = 1040,
EVENT_OBJECT_BTAKEOFF = 1041,
EVENT_OBJECT_BDERRICK = 1050,
EVENT_OBJECT_BSTATION = 1051,
EVENT_OBJECT_BFACTORY = 1052,
EVENT_OBJECT_BCONVERT = 1053,
EVENT_OBJECT_BTOWER = 1054,
EVENT_OBJECT_BREPAIR = 1055,
EVENT_OBJECT_BRESEARCH = 1056,
EVENT_OBJECT_BRADAR = 1057,
EVENT_OBJECT_BENERGY = 1058,
EVENT_OBJECT_BLABO = 1059,
EVENT_OBJECT_BNUCLEAR = 1060,
EVENT_OBJECT_BPARA = 1061,
EVENT_OBJECT_BINFO = 1062,
EVENT_OBJECT_BXXXX = 1063,
EVENT_OBJECT_GFLAT = 1070,
EVENT_OBJECT_FCREATE = 1071,
EVENT_OBJECT_FDELETE = 1072,
EVENT_OBJECT_FCOLORb = 1073,
EVENT_OBJECT_FCOLORr = 1074,
EVENT_OBJECT_FCOLORg = 1075,
EVENT_OBJECT_FCOLORy = 1076,
EVENT_OBJECT_FCOLORv = 1077,
EVENT_OBJECT_FACTORYwa = 1080,
EVENT_OBJECT_FACTORYta = 1081,
EVENT_OBJECT_FACTORYfa = 1082,
EVENT_OBJECT_FACTORYia = 1083,
EVENT_OBJECT_FACTORYwc = 1084,
EVENT_OBJECT_FACTORYtc = 1085,
EVENT_OBJECT_FACTORYfc = 1086,
EVENT_OBJECT_FACTORYic = 1087,
EVENT_OBJECT_FACTORYwi = 1088,
EVENT_OBJECT_FACTORYti = 1089,
EVENT_OBJECT_FACTORYfi = 1090,
EVENT_OBJECT_FACTORYii = 1091,
EVENT_OBJECT_FACTORYws = 1092,
EVENT_OBJECT_FACTORYts = 1093,
EVENT_OBJECT_FACTORYfs = 1094,
EVENT_OBJECT_FACTORYis = 1095,
EVENT_OBJECT_FACTORYrt = 1096,
EVENT_OBJECT_FACTORYrc = 1097,
EVENT_OBJECT_FACTORYrr = 1098,
EVENT_OBJECT_FACTORYrs = 1099,
EVENT_OBJECT_FACTORYsa = 1100,
EVENT_OBJECT_SEARCH = 1200,
EVENT_OBJECT_TERRAFORM = 1201,
EVENT_OBJECT_FIRE = 1202,
EVENT_OBJECT_FIREANT = 1203,
EVENT_OBJECT_RECOVER = 1220,
EVENT_OBJECT_BEGSHIELD = 1221,
EVENT_OBJECT_ENDSHIELD = 1222,
EVENT_OBJECT_RTANK = 1223,
EVENT_OBJECT_RFLY = 1224,
EVENT_OBJECT_RTHUMP = 1225,
EVENT_OBJECT_RCANON = 1226,
EVENT_OBJECT_RTOWER = 1227,
EVENT_OBJECT_RPHAZER = 1228,
EVENT_OBJECT_RSHIELD = 1229,
EVENT_OBJECT_RATOMIC = 1230,
EVENT_OBJECT_RiPAW = 1231,
EVENT_OBJECT_RiGUN = 1232,
EVENT_OBJECT_RESET = 1233,
EVENT_OBJECT_DIMSHIELD = 1234,
EVENT_OBJECT_TARGET = 1235,
EVENT_OBJECT_PROGLIST = 1310,
EVENT_OBJECT_PROGRUN = 1311,
EVENT_OBJECT_PROGEDIT = 1312,
EVENT_OBJECT_PROGSTART = 1313,
EVENT_OBJECT_PROGSTOP = 1314,
EVENT_OBJECT_INFOOK = 1340,
EVENT_OBJECT_DELETE = 1350,
EVENT_OBJECT_GENERGY = 1360,
EVENT_OBJECT_GSHIELD = 1361,
EVENT_OBJECT_GRANGE = 1362,
EVENT_OBJECT_COMPASS = 1363,
EVENT_OBJECT_MAP = 1364,
EVENT_OBJECT_MAPZOOM = 1365,
EVENT_OBJECT_GPROGRESS = 1366,
EVENT_OBJECT_GRADAR = 1367,
EVENT_OBJECT_GINFO = 1368,
EVENT_OBJECT_TYPE = 1369,
EVENT_OBJECT_CROSSHAIR = 1370,
EVENT_OBJECT_CORNERul = 1371,
EVENT_OBJECT_CORNERur = 1372,
EVENT_OBJECT_CORNERdl = 1373,
EVENT_OBJECT_CORNERdr = 1374,
EVENT_OBJECT_MAPi = 1375,
EVENT_OBJECT_MAPg = 1376,
EVENT_OBJECT_CAMERA = 1400,
EVENT_OBJECT_HELP = 1401,
EVENT_OBJECT_SOLUCE = 1402,
EVENT_OBJECT_CAMERAleft = 1403,
EVENT_OBJECT_CAMERAright= 1404,
EVENT_OBJECT_CAMERAnear = 1405,
EVENT_OBJECT_CAMERAaway = 1406,
EVENT_OBJECT_SHORTCUT00 = 1500,
EVENT_OBJECT_SHORTCUT01 = 1501,
EVENT_OBJECT_SHORTCUT02 = 1502,
EVENT_OBJECT_SHORTCUT03 = 1503,
EVENT_OBJECT_SHORTCUT04 = 1504,
EVENT_OBJECT_SHORTCUT05 = 1505,
EVENT_OBJECT_SHORTCUT06 = 1506,
EVENT_OBJECT_SHORTCUT07 = 1507,
EVENT_OBJECT_SHORTCUT08 = 1508,
EVENT_OBJECT_SHORTCUT09 = 1509,
EVENT_OBJECT_SHORTCUT10 = 1510,
EVENT_OBJECT_SHORTCUT11 = 1511,
EVENT_OBJECT_SHORTCUT12 = 1512,
EVENT_OBJECT_SHORTCUT13 = 1513,
EVENT_OBJECT_SHORTCUT14 = 1514,
EVENT_OBJECT_SHORTCUT15 = 1515,
EVENT_OBJECT_SHORTCUT16 = 1516,
EVENT_OBJECT_SHORTCUT17 = 1517,
EVENT_OBJECT_SHORTCUT18 = 1518,
EVENT_OBJECT_SHORTCUT19 = 1519,
EVENT_OBJECT_MOVIELOCK = 1550,
EVENT_OBJECT_EDITLOCK = 1551,
EVENT_OBJECT_LIMIT = 1560,
EVENT_OBJECT_PEN0 = 1570,
EVENT_OBJECT_PEN1 = 1571,
EVENT_OBJECT_PEN2 = 1572,
EVENT_OBJECT_PEN3 = 1573,
EVENT_OBJECT_PEN4 = 1574,
EVENT_OBJECT_PEN5 = 1575,
EVENT_OBJECT_PEN6 = 1576,
EVENT_OBJECT_PEN7 = 1577,
EVENT_OBJECT_PEN8 = 1578,
EVENT_OBJECT_REC = 1580,
EVENT_OBJECT_STOP = 1581,
EVENT_STUDIO_OK = 2000,
EVENT_STUDIO_CANCEL = 2001,
EVENT_STUDIO_EDIT = 2002,
EVENT_STUDIO_LIST = 2003,
EVENT_STUDIO_NEW = 2010,
EVENT_STUDIO_OPEN = 2011,
EVENT_STUDIO_SAVE = 2012,
EVENT_STUDIO_UNDO = 2013,
EVENT_STUDIO_CUT = 2014,
EVENT_STUDIO_COPY = 2015,
EVENT_STUDIO_PASTE = 2016,
EVENT_STUDIO_SIZE = 2017,
EVENT_STUDIO_TOOL = 2018,
EVENT_STUDIO_HELP = 2019,
EVENT_STUDIO_COMPILE = 2050,
EVENT_STUDIO_RUN = 2051,
EVENT_STUDIO_REALTIME = 2052,
EVENT_STUDIO_STEP = 2053,
EVENT_USER = 10000,
EVENT_FORCE_LONG = 0x7fffffff
};
/** \enum PressState
\brief State of key/mouse button */

533
src/common/event_ids.h Normal file
View File

@ -0,0 +1,533 @@
// * This file is part of the COLOBOT source code
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
// *
// * This program is free software: you can redistribute it and/or modify
// * it under the terms of the GNU General Public License as published by
// * the Free Software Foundation, either version 3 of the License, or
// * (at your option) any later version.
// *
// * This program is distributed in the hope that it will be useful,
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// * GNU General Public License for more details.
// *
// * You should have received a copy of the GNU General Public License
// * along with this program. If not, see http://www.gnu.org/licenses/.
#pragma once
/**
\enum EventType
\brief Type of event message
*/
enum EventType
{
// TODO: document the meaning of each value
//! Invalid event / no event
EVENT_NULL = 0,
//! Event sent on user or system quit request
EVENT_QUIT = 1,
//! Frame update event
EVENT_FRAME = 2,
//! Event sent after pressing a mouse button
EVENT_MOUSE_BUTTON_DOWN = 3,
//! Event sent after releasing a mouse button
EVENT_MOUSE_BUTTON_UP = 4,
//! Event sent after moving the mouse
EVENT_MOUSE_MOVE = 7,
//! Event sent after pressing a key
EVENT_KEY_DOWN = 8,
//! Event sent after releasing a key
EVENT_KEY_UP = 9,
//! Event sent when application window loses/gains focus
EVENT_ACTIVE = 10,
//? EVENT_CHAR = 10,
//? EVENT_FOCUS = 11,
//! Event sent after moving joystick axes
EVENT_JOY_AXIS = 12,
//! Event sent after pressing a joystick button
EVENT_JOY_BUTTON_DOWN = 13,
//! Event sent after releasing a joystick button
EVENT_JOY_BUTTON_UP = 14,
EVENT_UPDINTERFACE = 20,
EVENT_WIN = 30,
EVENT_LOST = 31,
EVENT_BUTTON_OK = 40,
EVENT_BUTTON_CANCEL = 41,
EVENT_BUTTON_NEXT = 42,
EVENT_BUTTON_PREV = 43,
EVENT_BUTTON_QUIT = 44,
EVENT_BUTTON0 = 50,
EVENT_BUTTON1 = 51,
EVENT_BUTTON2 = 52,
EVENT_BUTTON3 = 53,
EVENT_BUTTON4 = 54,
EVENT_BUTTON5 = 55,
EVENT_BUTTON6 = 56,
EVENT_BUTTON7 = 57,
EVENT_BUTTON8 = 58,
EVENT_BUTTON9 = 59,
EVENT_BUTTON10 = 60,
EVENT_BUTTON11 = 61,
EVENT_BUTTON12 = 62,
EVENT_BUTTON13 = 63,
EVENT_BUTTON14 = 64,
EVENT_BUTTON15 = 65,
EVENT_BUTTON16 = 66,
EVENT_BUTTON17 = 67,
EVENT_BUTTON18 = 68,
EVENT_BUTTON19 = 69,
EVENT_EDIT0 = 70,
EVENT_EDIT1 = 71,
EVENT_EDIT2 = 72,
EVENT_EDIT3 = 73,
EVENT_EDIT4 = 74,
EVENT_EDIT5 = 75,
EVENT_EDIT6 = 76,
EVENT_EDIT7 = 77,
EVENT_EDIT8 = 78,
EVENT_EDIT9 = 79,
EVENT_WINDOW0 = 80, // the bottom panel
EVENT_WINDOW1 = 81, // map
EVENT_WINDOW2 = 82, // CDisplayText
EVENT_WINDOW3 = 83, // CStudio
EVENT_WINDOW4 = 84, // DisplayInfo
EVENT_WINDOW5 = 85, // setup
EVENT_WINDOW6 = 86,
EVENT_WINDOW7 = 87,
EVENT_WINDOW8 = 88,
EVENT_WINDOW9 = 89, // dialogue
EVENT_LABEL0 = 90,
EVENT_LABEL1 = 91,
EVENT_LABEL2 = 92,
EVENT_LABEL3 = 93,
EVENT_LABEL4 = 94,
EVENT_LABEL5 = 95,
EVENT_LABEL6 = 96,
EVENT_LABEL7 = 97,
EVENT_LABEL8 = 98,
EVENT_LABEL9 = 99,
EVENT_LABEL10 = 100,
EVENT_LABEL11 = 101,
EVENT_LABEL12 = 102,
EVENT_LABEL13 = 103,
EVENT_LABEL14 = 104,
EVENT_LABEL15 = 105,
EVENT_LABEL16 = 106,
EVENT_LABEL17 = 107,
EVENT_LABEL18 = 108,
EVENT_LABEL19 = 109,
EVENT_LIST0 = 110,
EVENT_LIST1 = 111,
EVENT_LIST2 = 112,
EVENT_LIST3 = 113,
EVENT_LIST4 = 114,
EVENT_LIST5 = 115,
EVENT_LIST6 = 116,
EVENT_LIST7 = 117,
EVENT_LIST8 = 118,
EVENT_LIST9 = 119,
EVENT_TOOLTIP = 200,
EVENT_DIALOG_OK = 300,
EVENT_DIALOG_CANCEL = 301,
EVENT_DIALOG_LABEL = 302,
EVENT_DIALOG_LABEL1 = 303,
EVENT_DIALOG_LABEL2 = 304,
EVENT_DIALOG_LABEL3 = 305,
EVENT_DIALOG_LIST = 306,
EVENT_DIALOG_EDIT = 307,
EVENT_DIALOG_CHECK1 = 308,
EVENT_DIALOG_CHECK2 = 309,
EVENT_INTERFACE_TRAINER = 400,
EVENT_INTERFACE_DEFI = 401,
EVENT_INTERFACE_MISSION = 402,
EVENT_INTERFACE_FREE = 403,
EVENT_INTERFACE_PROTO = 404,
EVENT_INTERFACE_NAME = 405,
EVENT_INTERFACE_SETUP = 406,
EVENT_INTERFACE_QUIT = 407,
EVENT_INTERFACE_BACK = 408,
EVENT_INTERFACE_AGAIN = 409,
EVENT_INTERFACE_WRITE = 410,
EVENT_INTERFACE_READ = 411,
EVENT_INTERFACE_ABORT = 412,
EVENT_INTERFACE_USER = 413,
EVENT_INTERFACE_TEEN = 414,
EVENT_INTERFACE_CHAP = 420,
EVENT_INTERFACE_LIST = 421,
EVENT_INTERFACE_RESUME = 422,
EVENT_INTERFACE_PLAY = 423,
EVENT_INTERFACE_SETUPd = 430,
EVENT_INTERFACE_SETUPg = 431,
EVENT_INTERFACE_SETUPp = 432,
EVENT_INTERFACE_SETUPc = 433,
EVENT_INTERFACE_SETUPs = 434,
EVENT_INTERFACE_DEVICE = 440,
EVENT_INTERFACE_RESOL = 441,
EVENT_INTERFACE_FULL = 442,
EVENT_INTERFACE_APPLY = 443,
EVENT_INTERFACE_TOTO = 450,
EVENT_INTERFACE_SHADOW = 451,
EVENT_INTERFACE_DIRTY = 452,
EVENT_INTERFACE_LENS = 453,
EVENT_INTERFACE_SKY = 454,
EVENT_INTERFACE_PLANET = 456,
EVENT_INTERFACE_LIGHT = 457,
EVENT_INTERFACE_PARTI = 458,
EVENT_INTERFACE_CLIP = 459,
EVENT_INTERFACE_DETAIL = 460,
EVENT_INTERFACE_TEXTURE = 461,
EVENT_INTERFACE_RAIN = 462,
EVENT_INTERFACE_GLINT = 463,
EVENT_INTERFACE_TOOLTIP = 464,
EVENT_INTERFACE_MOVIES = 465,
EVENT_INTERFACE_NICERST = 466,
EVENT_INTERFACE_SCROLL = 467,
EVENT_INTERFACE_INVERTX = 468,
EVENT_INTERFACE_INVERTY = 469,
EVENT_INTERFACE_EFFECT = 470,
EVENT_INTERFACE_MOUSE = 471,
EVENT_INTERFACE_GROUND = 472,
EVENT_INTERFACE_GADGET = 473,
EVENT_INTERFACE_FOG = 474,
EVENT_INTERFACE_HIMSELF = 475,
EVENT_INTERFACE_EDITMODE= 476,
EVENT_INTERFACE_EDITVALUE= 477,
EVENT_INTERFACE_SOLUCE4 = 478,
EVENT_INTERFACE_KINFO1 = 500,
EVENT_INTERFACE_KINFO2 = 501,
EVENT_INTERFACE_KGROUP = 502,
EVENT_INTERFACE_KSCROLL = 503,
EVENT_INTERFACE_KDEF = 504,
EVENT_INTERFACE_KLEFT = 505,
EVENT_INTERFACE_KRIGHT = 506,
EVENT_INTERFACE_KUP = 507,
EVENT_INTERFACE_KDOWN = 508,
EVENT_INTERFACE_KGUP = 509,
EVENT_INTERFACE_KGDOWN = 510,
EVENT_INTERFACE_KCAMERA = 511,
EVENT_INTERFACE_KDESEL = 512,
EVENT_INTERFACE_KACTION = 513,
EVENT_INTERFACE_KNEAR = 514,
EVENT_INTERFACE_KAWAY = 515,
EVENT_INTERFACE_KNEXT = 516,
EVENT_INTERFACE_KHUMAN = 517,
EVENT_INTERFACE_KQUIT = 518,
EVENT_INTERFACE_KHELP = 519,
EVENT_INTERFACE_KPROG = 520,
EVENT_INTERFACE_KCBOT = 521,
EVENT_INTERFACE_KVISIT = 522,
EVENT_INTERFACE_KSPEED10= 523,
EVENT_INTERFACE_KSPEED15= 524,
EVENT_INTERFACE_KSPEED20= 525,
EVENT_INTERFACE_KSPEED30= 526,
EVENT_INTERFACE_VOLSOUND= 530,
EVENT_INTERFACE_VOLMUSIC= 531,
EVENT_INTERFACE_SOUND3D = 532,
EVENT_INTERFACE_MIN = 540,
EVENT_INTERFACE_NORM = 541,
EVENT_INTERFACE_MAX = 542,
EVENT_INTERFACE_SILENT = 550,
EVENT_INTERFACE_NOISY = 551,
EVENT_INTERFACE_JOYSTICK= 560,
EVENT_INTERFACE_SOLUCE = 561,
EVENT_INTERFACE_GLINTl = 570,
EVENT_INTERFACE_GLINTr = 571,
EVENT_INTERFACE_GLINTu = 572,
EVENT_INTERFACE_GLINTb = 573,
EVENT_INTERFACE_NEDIT = 580,
EVENT_INTERFACE_NLIST = 581,
EVENT_INTERFACE_NOK = 582,
EVENT_INTERFACE_NCANCEL = 583,
EVENT_INTERFACE_NDELETE = 584,
EVENT_INTERFACE_NLABEL = 585,
EVENT_INTERFACE_IOWRITE = 600,
EVENT_INTERFACE_IOREAD = 601,
EVENT_INTERFACE_IOLIST = 602,
EVENT_INTERFACE_IONAME = 603,
EVENT_INTERFACE_IOLABEL = 604,
EVENT_INTERFACE_IOIMAGE = 605,
EVENT_INTERFACE_IODELETE= 606,
EVENT_INTERFACE_PERSO = 620,
EVENT_INTERFACE_POK = 621,
EVENT_INTERFACE_PCANCEL = 622,
EVENT_INTERFACE_PDEF = 623,
EVENT_INTERFACE_PHEAD = 624,
EVENT_INTERFACE_PBODY = 625,
EVENT_INTERFACE_PLROT = 626,
EVENT_INTERFACE_PRROT = 627,
EVENT_INTERFACE_PC0a = 640,
EVENT_INTERFACE_PC1a = 641,
EVENT_INTERFACE_PC2a = 642,
EVENT_INTERFACE_PC3a = 643,
EVENT_INTERFACE_PC4a = 644,
EVENT_INTERFACE_PC5a = 645,
EVENT_INTERFACE_PC6a = 646,
EVENT_INTERFACE_PC7a = 647,
EVENT_INTERFACE_PC8a = 648,
EVENT_INTERFACE_PC9a = 649,
EVENT_INTERFACE_PCRa = 650,
EVENT_INTERFACE_PCGa = 651,
EVENT_INTERFACE_PCBa = 652,
EVENT_INTERFACE_PC0b = 660,
EVENT_INTERFACE_PC1b = 661,
EVENT_INTERFACE_PC2b = 662,
EVENT_INTERFACE_PC3b = 663,
EVENT_INTERFACE_PC4b = 664,
EVENT_INTERFACE_PC5b = 665,
EVENT_INTERFACE_PC6b = 666,
EVENT_INTERFACE_PC7b = 667,
EVENT_INTERFACE_PC8b = 668,
EVENT_INTERFACE_PC9b = 669,
EVENT_INTERFACE_PCRb = 670,
EVENT_INTERFACE_PCGb = 671,
EVENT_INTERFACE_PCBb = 672,
EVENT_INTERFACE_PFACE1 = 680,
EVENT_INTERFACE_PFACE2 = 681,
EVENT_INTERFACE_PFACE3 = 682,
EVENT_INTERFACE_PFACE4 = 683,
EVENT_INTERFACE_PGLASS0 = 690,
EVENT_INTERFACE_PGLASS1 = 691,
EVENT_INTERFACE_PGLASS2 = 692,
EVENT_INTERFACE_PGLASS3 = 693,
EVENT_INTERFACE_PGLASS4 = 694,
EVENT_INTERFACE_PGLASS5 = 695,
EVENT_INTERFACE_PGLASS6 = 696,
EVENT_INTERFACE_PGLASS7 = 697,
EVENT_INTERFACE_PGLASS8 = 698,
EVENT_INTERFACE_PGLASS9 = 699,
EVENT_DT_GROUP0 = 700,
EVENT_DT_GROUP1 = 701,
EVENT_DT_GROUP2 = 702,
EVENT_DT_GROUP3 = 703,
EVENT_DT_GROUP4 = 704,
EVENT_DT_LABEL0 = 710,
EVENT_DT_LABEL1 = 711,
EVENT_DT_LABEL2 = 712,
EVENT_DT_LABEL3 = 713,
EVENT_DT_LABEL4 = 714,
EVENT_DT_VISIT0 = 720,
EVENT_DT_VISIT1 = 721,
EVENT_DT_VISIT2 = 722,
EVENT_DT_VISIT3 = 723,
EVENT_DT_VISIT4 = 724,
EVENT_DT_END = 725,
EVENT_CMD = 800,
EVENT_SPEED = 801,
EVENT_HYPER_PREV = 900,
EVENT_HYPER_NEXT = 901,
EVENT_HYPER_HOME = 902,
EVENT_HYPER_COPY = 903,
EVENT_HYPER_SIZE1 = 904,
EVENT_HYPER_SIZE2 = 905,
EVENT_HYPER_SIZE3 = 906,
EVENT_HYPER_SIZE4 = 907,
EVENT_HYPER_SIZE5 = 908,
EVENT_SATCOM_HUSTON = 920,
EVENT_SATCOM_SAT = 921,
EVENT_SATCOM_LOADING = 922,
EVENT_SATCOM_OBJECT = 923,
EVENT_SATCOM_PROG = 924,
EVENT_SATCOM_SOLUCE = 925,
EVENT_OBJECT_DESELECT = 1000,
EVENT_OBJECT_LEFT = 1001,
EVENT_OBJECT_RIGHT = 1002,
EVENT_OBJECT_UP = 1003,
EVENT_OBJECT_DOWN = 1004,
EVENT_OBJECT_GASUP = 1005,
EVENT_OBJECT_GASDOWN = 1006,
EVENT_OBJECT_HTAKE = 1020,
EVENT_OBJECT_MTAKE = 1021,
EVENT_OBJECT_MFRONT = 1022,
EVENT_OBJECT_MBACK = 1023,
EVENT_OBJECT_MPOWER = 1024,
EVENT_OBJECT_BHELP = 1040,
EVENT_OBJECT_BTAKEOFF = 1041,
EVENT_OBJECT_BDERRICK = 1050,
EVENT_OBJECT_BSTATION = 1051,
EVENT_OBJECT_BFACTORY = 1052,
EVENT_OBJECT_BCONVERT = 1053,
EVENT_OBJECT_BTOWER = 1054,
EVENT_OBJECT_BREPAIR = 1055,
EVENT_OBJECT_BRESEARCH = 1056,
EVENT_OBJECT_BRADAR = 1057,
EVENT_OBJECT_BENERGY = 1058,
EVENT_OBJECT_BLABO = 1059,
EVENT_OBJECT_BNUCLEAR = 1060,
EVENT_OBJECT_BPARA = 1061,
EVENT_OBJECT_BINFO = 1062,
EVENT_OBJECT_BXXXX = 1063,
EVENT_OBJECT_GFLAT = 1070,
EVENT_OBJECT_FCREATE = 1071,
EVENT_OBJECT_FDELETE = 1072,
EVENT_OBJECT_FCOLORb = 1073,
EVENT_OBJECT_FCOLORr = 1074,
EVENT_OBJECT_FCOLORg = 1075,
EVENT_OBJECT_FCOLORy = 1076,
EVENT_OBJECT_FCOLORv = 1077,
EVENT_OBJECT_FACTORYwa = 1080,
EVENT_OBJECT_FACTORYta = 1081,
EVENT_OBJECT_FACTORYfa = 1082,
EVENT_OBJECT_FACTORYia = 1083,
EVENT_OBJECT_FACTORYwc = 1084,
EVENT_OBJECT_FACTORYtc = 1085,
EVENT_OBJECT_FACTORYfc = 1086,
EVENT_OBJECT_FACTORYic = 1087,
EVENT_OBJECT_FACTORYwi = 1088,
EVENT_OBJECT_FACTORYti = 1089,
EVENT_OBJECT_FACTORYfi = 1090,
EVENT_OBJECT_FACTORYii = 1091,
EVENT_OBJECT_FACTORYws = 1092,
EVENT_OBJECT_FACTORYts = 1093,
EVENT_OBJECT_FACTORYfs = 1094,
EVENT_OBJECT_FACTORYis = 1095,
EVENT_OBJECT_FACTORYrt = 1096,
EVENT_OBJECT_FACTORYrc = 1097,
EVENT_OBJECT_FACTORYrr = 1098,
EVENT_OBJECT_FACTORYrs = 1099,
EVENT_OBJECT_FACTORYsa = 1100,
EVENT_OBJECT_SEARCH = 1200,
EVENT_OBJECT_TERRAFORM = 1201,
EVENT_OBJECT_FIRE = 1202,
EVENT_OBJECT_FIREANT = 1203,
EVENT_OBJECT_RECOVER = 1220,
EVENT_OBJECT_BEGSHIELD = 1221,
EVENT_OBJECT_ENDSHIELD = 1222,
EVENT_OBJECT_RTANK = 1223,
EVENT_OBJECT_RFLY = 1224,
EVENT_OBJECT_RTHUMP = 1225,
EVENT_OBJECT_RCANON = 1226,
EVENT_OBJECT_RTOWER = 1227,
EVENT_OBJECT_RPHAZER = 1228,
EVENT_OBJECT_RSHIELD = 1229,
EVENT_OBJECT_RATOMIC = 1230,
EVENT_OBJECT_RiPAW = 1231,
EVENT_OBJECT_RiGUN = 1232,
EVENT_OBJECT_RESET = 1233,
EVENT_OBJECT_DIMSHIELD = 1234,
EVENT_OBJECT_TARGET = 1235,
EVENT_OBJECT_PROGLIST = 1310,
EVENT_OBJECT_PROGRUN = 1311,
EVENT_OBJECT_PROGEDIT = 1312,
EVENT_OBJECT_PROGSTART = 1313,
EVENT_OBJECT_PROGSTOP = 1314,
EVENT_OBJECT_INFOOK = 1340,
EVENT_OBJECT_DELETE = 1350,
EVENT_OBJECT_GENERGY = 1360,
EVENT_OBJECT_GSHIELD = 1361,
EVENT_OBJECT_GRANGE = 1362,
EVENT_OBJECT_COMPASS = 1363,
EVENT_OBJECT_MAP = 1364,
EVENT_OBJECT_MAPZOOM = 1365,
EVENT_OBJECT_GPROGRESS = 1366,
EVENT_OBJECT_GRADAR = 1367,
EVENT_OBJECT_GINFO = 1368,
EVENT_OBJECT_TYPE = 1369,
EVENT_OBJECT_CROSSHAIR = 1370,
EVENT_OBJECT_CORNERul = 1371,
EVENT_OBJECT_CORNERur = 1372,
EVENT_OBJECT_CORNERdl = 1373,
EVENT_OBJECT_CORNERdr = 1374,
EVENT_OBJECT_MAPi = 1375,
EVENT_OBJECT_MAPg = 1376,
EVENT_OBJECT_CAMERA = 1400,
EVENT_OBJECT_HELP = 1401,
EVENT_OBJECT_SOLUCE = 1402,
EVENT_OBJECT_CAMERAleft = 1403,
EVENT_OBJECT_CAMERAright= 1404,
EVENT_OBJECT_CAMERAnear = 1405,
EVENT_OBJECT_CAMERAaway = 1406,
EVENT_OBJECT_SHORTCUT00 = 1500,
EVENT_OBJECT_SHORTCUT01 = 1501,
EVENT_OBJECT_SHORTCUT02 = 1502,
EVENT_OBJECT_SHORTCUT03 = 1503,
EVENT_OBJECT_SHORTCUT04 = 1504,
EVENT_OBJECT_SHORTCUT05 = 1505,
EVENT_OBJECT_SHORTCUT06 = 1506,
EVENT_OBJECT_SHORTCUT07 = 1507,
EVENT_OBJECT_SHORTCUT08 = 1508,
EVENT_OBJECT_SHORTCUT09 = 1509,
EVENT_OBJECT_SHORTCUT10 = 1510,
EVENT_OBJECT_SHORTCUT11 = 1511,
EVENT_OBJECT_SHORTCUT12 = 1512,
EVENT_OBJECT_SHORTCUT13 = 1513,
EVENT_OBJECT_SHORTCUT14 = 1514,
EVENT_OBJECT_SHORTCUT15 = 1515,
EVENT_OBJECT_SHORTCUT16 = 1516,
EVENT_OBJECT_SHORTCUT17 = 1517,
EVENT_OBJECT_SHORTCUT18 = 1518,
EVENT_OBJECT_SHORTCUT19 = 1519,
EVENT_OBJECT_MOVIELOCK = 1550,
EVENT_OBJECT_EDITLOCK = 1551,
EVENT_OBJECT_LIMIT = 1560,
EVENT_OBJECT_PEN0 = 1570,
EVENT_OBJECT_PEN1 = 1571,
EVENT_OBJECT_PEN2 = 1572,
EVENT_OBJECT_PEN3 = 1573,
EVENT_OBJECT_PEN4 = 1574,
EVENT_OBJECT_PEN5 = 1575,
EVENT_OBJECT_PEN6 = 1576,
EVENT_OBJECT_PEN7 = 1577,
EVENT_OBJECT_PEN8 = 1578,
EVENT_OBJECT_REC = 1580,
EVENT_OBJECT_STOP = 1581,
EVENT_STUDIO_OK = 2000,
EVENT_STUDIO_CANCEL = 2001,
EVENT_STUDIO_EDIT = 2002,
EVENT_STUDIO_LIST = 2003,
EVENT_STUDIO_NEW = 2010,
EVENT_STUDIO_OPEN = 2011,
EVENT_STUDIO_SAVE = 2012,
EVENT_STUDIO_UNDO = 2013,
EVENT_STUDIO_CUT = 2014,
EVENT_STUDIO_COPY = 2015,
EVENT_STUDIO_PASTE = 2016,
EVENT_STUDIO_SIZE = 2017,
EVENT_STUDIO_TOOL = 2018,
EVENT_STUDIO_HELP = 2019,
EVENT_STUDIO_COMPILE = 2050,
EVENT_STUDIO_RUN = 2051,
EVENT_STUDIO_REALTIME = 2052,
EVENT_STUDIO_STEP = 2053,
EVENT_USER = 10000,
EVENT_FORCE_LONG = 0x7fffffff
};

View File

@ -24,6 +24,7 @@
#include "common/metafile.h"
#include "common/event.h"
#include "common/error_ids.h"
extern CMetaFile g_metafile;
@ -67,139 +68,6 @@ const int CLASS_MAX = 30;
enum Error
{
ERR_OK = 0, // ok
ERR_GENERIC = 1, // any error
ERR_CONTINUE = 2, // continues
ERR_STOP = 3, // stops
ERR_CMD = 4, // unknown command
ERR_INSTALL = 20, // incorrectly installed program
ERR_NOCD = 21, // CD not found
ERR_MANIP_VEH = 100, // inappropriate vehicle
ERR_MANIP_FLY = 101, // impossible in flight
ERR_MANIP_BUSY = 102, // taking: hands already occupied
ERR_MANIP_NIL = 103, // taking: nothing has to take
ERR_MANIP_MOTOR = 105, // busy: impossible to move
ERR_MANIP_OCC = 106, // busy: location already occupied
ERR_MANIP_FRIEND = 107, // no other vehicle
ERR_MANIP_RADIO = 108, // impossible because radioactive
ERR_MANIP_WATER = 109, // not possible under water
ERR_MANIP_EMPTY = 110, // nothing to deposit
ERR_BUILD_FLY = 120, // not possible in flight
ERR_BUILD_WATER = 121, // not possible under water
ERR_BUILD_ENERGY = 122, // not enough energy
ERR_BUILD_METALAWAY = 123, // lack of metal (too far)
ERR_BUILD_METALNEAR = 124, // lack of metal (too close)
ERR_BUILD_METALINEX = 125, // lack of metal
ERR_BUILD_FLAT = 126, // not enough flat ground
ERR_BUILD_FLATLIT = 127, // not enough flat ground space
ERR_BUILD_BUSY = 128, // location occupied
ERR_BUILD_BASE = 129, // too close to the rocket
ERR_BUILD_NARROW = 130, // buildings too close
ERR_BUILD_MOTOR = 131, // built: not possible in movement
ERR_SEARCH_FLY = 140, // not possible in flight
ERR_SEARCH_VEH = 141, // inappropriate vehicle
ERR_SEARCH_MOTOR = 142, // impossible in movement
ERR_TERRA_VEH = 150, // inappropriate vehicle
ERR_TERRA_ENERGY = 151, // not enough energy
ERR_TERRA_FLOOR = 152, // inappropriate ground
ERR_TERRA_BUILDING = 153, // building too close
ERR_TERRA_OBJECT = 154, // object too close
ERR_FIRE_VEH = 160, // inappropriate vehicle
ERR_FIRE_ENERGY = 161, // not enough energy
ERR_FIRE_FLY = 162, // not possible in flight
ERR_RECOVER_VEH = 170, // inappropriate vehicle
ERR_RECOVER_ENERGY = 171, // not enough energy
ERR_RECOVER_NULL = 172, // lack of ruin
ERR_CONVERT_EMPTY = 180, // no stone was transformed
ERR_SHIELD_VEH = 190, // inappropriate vehicle
ERR_SHIELD_ENERGY = 191, // not enough energy
ERR_MOVE_IMPOSSIBLE = 200, // move impossible
ERR_FIND_IMPOSSIBLE = 201, // find impossible
ERR_GOTO_IMPOSSIBLE = 210, // goto impossible
ERR_GOTO_ITER = 211, // goto too complicated
ERR_GOTO_BUSY = 212, // goto destination occupied
ERR_DERRICK_NULL = 300, // no ore underground
ERR_STATION_NULL = 301, // no energy underground
ERR_TOWER_POWER = 310, // no battery
ERR_TOWER_ENERGY = 311, // more energy
ERR_RESEARCH_POWER = 320, // no battery
ERR_RESEARCH_ENERGY = 321, // more energy
ERR_RESEARCH_TYPE = 322, // the wrong type of battery
ERR_RESEARCH_ALREADY = 323, // research already done
ERR_ENERGY_NULL = 330, // no energy underground
ERR_ENERGY_LOW = 331, // not enough energy
ERR_ENERGY_EMPTY = 332, // lack of metal
ERR_ENERGY_BAD = 333, // transforms only the metal
ERR_BASE_DLOCK = 340, // doors locked
ERR_BASE_DHUMAN = 341, // you must be on spaceship
ERR_LABO_NULL = 350, // nothing to analyze
ERR_LABO_BAD = 351, // analyzes only organic ball
ERR_LABO_ALREADY = 352, // analysis already made
ERR_NUCLEAR_NULL = 360, // no energy underground
ERR_NUCLEAR_LOW = 361, // not enough energy
ERR_NUCLEAR_EMPTY = 362, // lack of uranium
ERR_NUCLEAR_BAD = 363, // transforms only uranium
ERR_FACTORY_NULL = 370, // no metal
ERR_FACTORY_NEAR = 371, // vehicle too close
ERR_RESET_NEAR = 380, // vehicle too close
ERR_INFO_NULL = 390, // no information terminal
ERR_VEH_VIRUS = 400, // vehicle infected by a virus
ERR_BAT_VIRUS = 401, // building infected by a virus
ERR_VEH_POWER = 500, // no battery
ERR_VEH_ENERGY = 501, // more energy
ERR_FLAG_FLY = 510, // impossible in flight
ERR_FLAG_WATER = 511, // impossible during swimming
ERR_FLAG_MOTOR = 512, // impossible in movement
ERR_FLAG_BUSY = 513, // taking: already creating flag
ERR_FLAG_CREATE = 514, // too many flags
ERR_FLAG_PROXY = 515, // too close
ERR_FLAG_DELETE = 516, // nothing to remove
ERR_MISSION_NOTERM = 600, // Mission not completed
ERR_DELETEMOBILE = 700, // vehicle destroyed
ERR_DELETEBUILDING = 701, // building destroyed
ERR_TOOMANY = 702, // too many objects
ERR_OBLIGATORYTOKEN = 800, // compulsory instruction missing
ERR_PROHIBITEDTOKEN = 801, // instruction prohibited
INFO_FIRST = 10000, // first information
INFO_BUILD = 10001, // construction builded
INFO_CONVERT = 10002, // metal available
INFO_RESEARCH = 10003, // search ended
INFO_FACTORY = 10004, // vehicle manufactured
INFO_LABO = 10005, // analysis ended
INFO_ENERGY = 10006, // battery available
INFO_NUCLEAR = 10007, // nuclear battery available
INFO_FINDING = 10008, // nuclear battery available
INFO_MARKPOWER = 10020, // location for station found
INFO_MARKURANIUM = 10021, // location for derrick found
INFO_MARKSTONE = 10022, // location for derrick found
INFO_MARKKEYa = 10023, // location for derrick found
INFO_MARKKEYb = 10024, // location for derrick found
INFO_MARKKEYc = 10025, // location for derrick found
INFO_MARKKEYd = 10026, // location for derrick found
INFO_RESEARCHTANK = 10030, // research ended
INFO_RESEARCHFLY = 10031, // research ended
INFO_RESEARCHTHUMP = 10032, // research ended
INFO_RESEARCHCANON = 10033, // research ended
INFO_RESEARCHTOWER = 10034, // research ended
INFO_RESEARCHPHAZER = 10035, // research ended
INFO_RESEARCHSHIELD = 10036, // research ended
INFO_RESEARCHATOMIC = 10037, // research ended
INFO_WIN = 10040, // win
INFO_LOST = 10041, // lost
INFO_LOSTq = 10042, // lost immediately
INFO_WRITEOK = 10043, // record done
INFO_DELETEPATH = 10050, // way mark deleted
INFO_DELETEMOTHER = 10100, // insect killed
INFO_DELETEANT = 10101, // insect killed
INFO_DELETEBEE = 10102, // insect killed
INFO_DELETEWORM = 10103, // insect killed
INFO_DELETESPIDER = 10104, // insect killed
INFO_BEGINSATCOM = 10105, // use your SatCom
};
// Keyboard state.

File diff suppressed because it is too large Load Diff

View File

@ -18,15 +18,12 @@
#pragma once
#include "common/restext_ids.h"
#include "common/event.h"
class CD3DEngine;
// Possible types of the text resources.
enum ResType
@ -40,119 +37,19 @@ enum ResType
};
// Resources of type RES_TEXT.
enum ResTextType
{
RT_VERSION_ID = 1,
RT_DISINFO_TITLE = 2,
RT_WINDOW_MAXIMIZED = 3,
RT_WINDOW_MINIMIZED = 4,
RT_WINDOW_STANDARD = 5,
RT_WINDOW_CLOSE = 6,
RT_STUDIO_TITLE = 10,
RT_SCRIPT_NEW = 20,
RT_NAME_DEFAULT = 21,
RT_IO_NEW = 22,
RT_KEY_OR = 23,
RT_TITLE_BASE = 40,
RT_TITLE_INIT = 41,
RT_TITLE_TRAINER = 42,
RT_TITLE_DEFI = 43,
RT_TITLE_MISSION = 44,
RT_TITLE_FREE = 45,
RT_TITLE_PROTO = 46,
RT_TITLE_SETUP = 47,
RT_TITLE_NAME = 48,
RT_TITLE_PERSO = 49,
RT_TITLE_WRITE = 50,
RT_TITLE_READ = 51,
RT_TITLE_USER = 52,
RT_TITLE_TEEN = 53,
RT_PLAY_CHAPt = 60,
RT_PLAY_CHAPd = 61,
RT_PLAY_CHAPm = 62,
RT_PLAY_CHAPf = 63,
RT_PLAY_CHAPp = 64,
RT_PLAY_LISTt = 65,
RT_PLAY_LISTd = 66,
RT_PLAY_LISTm = 67,
RT_PLAY_LISTf = 68,
RT_PLAY_LISTp = 69,
RT_PLAY_RESUME = 70,
RT_PLAY_CHAPu = 71,
RT_PLAY_LISTu = 72,
RT_PLAY_CHAPte = 73,
RT_PLAY_LISTk = 74,
RT_SETUP_DEVICE = 80,
RT_SETUP_MODE = 81,
RT_SETUP_KEY1 = 82,
RT_SETUP_KEY2 = 83,
RT_PERSO_FACE = 90,
RT_PERSO_GLASSES = 91,
RT_PERSO_HAIR = 92,
RT_PERSO_COMBI = 93,
RT_PERSO_BAND = 94,
RT_DIALOG_TITLE = 100,
RT_DIALOG_ABORT = 101,
RT_DIALOG_QUIT = 102,
RT_DIALOG_YES = 103,
RT_DIALOG_NO = 104,
RT_DIALOG_DELOBJ = 105,
RT_DIALOG_DELGAME = 106,
RT_DIALOG_YESDEL = 107,
RT_DIALOG_NODEL = 108,
RT_DIALOG_LOADING = 109,
RT_DIALOG_YESQUIT = 110,
RT_DIALOG_NOQUIT = 111,
RT_STUDIO_LISTTT = 120,
RT_STUDIO_COMPOK = 121,
RT_STUDIO_PROGSTOP = 122,
RT_SATCOM_LIST = 140,
RT_SATCOM_BOT = 141,
RT_SATCOM_BUILDING = 142,
RT_SATCOM_FRET = 143,
RT_SATCOM_ALIEN = 144,
RT_SATCOM_NULL = 145,
RT_SATCOM_ERROR1 = 146,
RT_SATCOM_ERROR2 = 147,
RT_IO_OPEN = 150,
RT_IO_SAVE = 151,
RT_IO_LIST = 152,
RT_IO_NAME = 153,
RT_IO_DIR = 154,
RT_IO_PRIVATE = 155,
RT_IO_PUBLIC = 156,
RT_GENERIC_DEV1 = 170,
RT_GENERIC_DEV2 = 171,
RT_GENERIC_EDIT1 = 172,
RT_GENERIC_EDIT2 = 173,
RT_INTERFACE_REC = 180,
RT_MESSAGE_WIN = 200,
RT_MESSAGE_LOST = 201,
};
static CD3DEngine* g_engine = 0;
static char g_gamerName[100];
extern void SetEngine(CD3DEngine *engine);
extern void SetGlobalGamerName(char *name);
extern bool SearchKey(char *cmd, KeyRank &key);
extern void PutKeyName(char* dst, char* src);
extern bool GetResource(ResType type, int num, char* text);
extern bool GetResourceBase(ResType type, int num, char* text);
extern const char * const strings_text[];
extern const char * const strings_event[];
extern const char * const strings_object[];
extern const char * const strings_err[];
extern const char * const strings_cbot[];
extern const int strings_text_len;
extern const int strings_event_len;
extern const int strings_object_len;
extern const int strings_err_len;
extern const int strings_cbot_len;

119
src/common/restext_ids.h Normal file
View File

@ -0,0 +1,119 @@
// * This file is part of the COLOBOT source code
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
// *
// * This program is free software: you can redistribute it and/or modify
// * it under the terms of the GNU General Public License as published by
// * the Free Software Foundation, either version 3 of the License, or
// * (at your option) any later version.
// *
// * This program is distributed in the hope that it will be useful,
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// * GNU General Public License for more details.
// *
// * You should have received a copy of the GNU General Public License
// * along with this program. If not, see http://www.gnu.org/licenses/.
#pragma once
enum ResTextType
{
RT_VERSION_ID = 1,
RT_DISINFO_TITLE = 2,
RT_WINDOW_MAXIMIZED = 3,
RT_WINDOW_MINIMIZED = 4,
RT_WINDOW_STANDARD = 5,
RT_WINDOW_CLOSE = 6,
RT_STUDIO_TITLE = 10,
RT_SCRIPT_NEW = 20,
RT_NAME_DEFAULT = 21,
RT_IO_NEW = 22,
RT_KEY_OR = 23,
RT_TITLE_BASE = 40,
RT_TITLE_INIT = 41,
RT_TITLE_TRAINER = 42,
RT_TITLE_DEFI = 43,
RT_TITLE_MISSION = 44,
RT_TITLE_FREE = 45,
RT_TITLE_PROTO = 46,
RT_TITLE_SETUP = 47,
RT_TITLE_NAME = 48,
RT_TITLE_PERSO = 49,
RT_TITLE_WRITE = 50,
RT_TITLE_READ = 51,
RT_TITLE_USER = 52,
RT_TITLE_TEEN = 53,
RT_PLAY_CHAPt = 60,
RT_PLAY_CHAPd = 61,
RT_PLAY_CHAPm = 62,
RT_PLAY_CHAPf = 63,
RT_PLAY_CHAPp = 64,
RT_PLAY_LISTt = 65,
RT_PLAY_LISTd = 66,
RT_PLAY_LISTm = 67,
RT_PLAY_LISTf = 68,
RT_PLAY_LISTp = 69,
RT_PLAY_RESUME = 70,
RT_PLAY_CHAPu = 71,
RT_PLAY_LISTu = 72,
RT_PLAY_CHAPte = 73,
RT_PLAY_LISTk = 74,
RT_SETUP_DEVICE = 80,
RT_SETUP_MODE = 81,
RT_SETUP_KEY1 = 82,
RT_SETUP_KEY2 = 83,
RT_PERSO_FACE = 90,
RT_PERSO_GLASSES = 91,
RT_PERSO_HAIR = 92,
RT_PERSO_COMBI = 93,
RT_PERSO_BAND = 94,
RT_DIALOG_TITLE = 100,
RT_DIALOG_ABORT = 101,
RT_DIALOG_QUIT = 102,
RT_DIALOG_YES = 103,
RT_DIALOG_NO = 104,
RT_DIALOG_DELOBJ = 105,
RT_DIALOG_DELGAME = 106,
RT_DIALOG_YESDEL = 107,
RT_DIALOG_NODEL = 108,
RT_DIALOG_LOADING = 109,
RT_DIALOG_YESQUIT = 110,
RT_DIALOG_NOQUIT = 111,
RT_STUDIO_LISTTT = 120,
RT_STUDIO_COMPOK = 121,
RT_STUDIO_PROGSTOP = 122,
RT_SATCOM_LIST = 140,
RT_SATCOM_BOT = 141,
RT_SATCOM_BUILDING = 142,
RT_SATCOM_FRET = 143,
RT_SATCOM_ALIEN = 144,
RT_SATCOM_NULL = 145,
RT_SATCOM_ERROR1 = 146,
RT_SATCOM_ERROR2 = 147,
RT_IO_OPEN = 150,
RT_IO_SAVE = 151,
RT_IO_LIST = 152,
RT_IO_NAME = 153,
RT_IO_DIR = 154,
RT_IO_PRIVATE = 155,
RT_IO_PUBLIC = 156,
RT_GENERIC_DEV1 = 170,
RT_GENERIC_DEV2 = 171,
RT_GENERIC_EDIT1 = 172,
RT_GENERIC_EDIT2 = 173,
RT_INTERFACE_REC = 180,
RT_MESSAGE_WIN = 200,
RT_MESSAGE_LOST = 201,
};

View File

@ -0,0 +1,776 @@
// * This file is part of the COLOBOT source code
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
// *
// * This program is free software: you can redistribute it and/or modify
// * it under the terms of the GNU General Public License as published by
// * the Free Software Foundation, either version 3 of the License, or
// * (at your option) any later version.
// *
// * This program is distributed in the hope that it will be useful,
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// * GNU General Public License for more details.
// *
// * You should have received a copy of the GNU General Public License
// * along with this program. If not, see http://www.gnu.org/licenses/.
#include "common/restext_ids.h"
#include "common/event_ids.h"
#include "object/object_ids.h"
#include "common/error_ids.h"
#include "CBot/resource.h"
const char * const strings_text[] =
{
#if _FULL
[RT_VERSION_ID] = "1.18 /e",
#endif
#if _NET
[RT_VERSION_ID] = "CeeBot-A 1.18",
#endif
#if _SCHOOL & _EDU
#if _TEEN
[RT_VERSION_ID] = "CeeBot-Teen EDU 1.18",
#else
[RT_VERSION_ID] = "CeeBot-A EDU 1.18",
#endif
#endif
#if _SCHOOL & _PERSO
#if _TEEN
[RT_VERSION_ID] = "CeeBot-Teen PERSO 1.18",
#else
[RT_VERSION_ID] = "CeeBot-A PERSO 1.18",
#endif
#endif
#if _SCHOOL & _CEEBOTDEMO
#if _TEEN
[RT_VERSION_ID] = "CeeBot-Teen DEMO 1.18",
#else
[RT_VERSION_ID] = "CeeBot-A DEMO 1.18",
#endif
#endif
#if _DEMO
[RT_VERSION_ID] = "Demo 1.18 /e",
#endif
[RT_DISINFO_TITLE] = "SatCom",
[RT_WINDOW_MAXIMIZED] = "Maximize",
[RT_WINDOW_MINIMIZED] = "Minimize",
[RT_WINDOW_STANDARD] = "Normal size",
[RT_WINDOW_CLOSE] = "Close",
[RT_STUDIO_TITLE] = "Program editor",
[RT_SCRIPT_NEW] = "New",
[RT_NAME_DEFAULT] = "Player",
[RT_IO_NEW] = "New ...",
[RT_KEY_OR] = " or ",
#if _NEWLOOK
[RT_TITLE_BASE] = "CeeBot",
[RT_TITLE_INIT] = "CeeBot",
#else
[RT_TITLE_BASE] = "COLOBOT",
[RT_TITLE_INIT] = "COLOBOT",
#endif
[RT_TITLE_TRAINER] = "Programming exercises",
[RT_TITLE_DEFI] = "Challenges",
[RT_TITLE_MISSION] = "Missions",
[RT_TITLE_FREE] = "Free game",
[RT_TITLE_TEEN] = "Free game",
[RT_TITLE_USER] = "User levels",
[RT_TITLE_PROTO] = "Prototypes",
[RT_TITLE_SETUP] = "Options",
[RT_TITLE_NAME] = "Player's name",
[RT_TITLE_PERSO] = "Customize your appearance",
[RT_TITLE_WRITE] = "Save the current mission",
[RT_TITLE_READ] = "Load a saved mission",
[RT_PLAY_CHAPt] = " Chapters:",
[RT_PLAY_CHAPd] = " Chapters:",
[RT_PLAY_CHAPm] = " Planets:",
[RT_PLAY_CHAPf] = " Planets:",
[RT_PLAY_CHAPu] = " User levels:",
[RT_PLAY_CHAPp] = " Planets:",
[RT_PLAY_CHAPte] = " Chapters:",
[RT_PLAY_LISTt] = " Exercises in the chapter:",
[RT_PLAY_LISTd] = " Challenges in the chapter:",
[RT_PLAY_LISTm] = " Missions on this planet:",
[RT_PLAY_LISTf] = " Free game on this planet:",
[RT_PLAY_LISTu] = " Missions on this level:",
[RT_PLAY_LISTp] = " Prototypes on this planet:",
[RT_PLAY_LISTk] = " Free game on this chapter:",
[RT_PLAY_RESUME] = " Summary:",
[RT_SETUP_DEVICE] = " Drivers:",
[RT_SETUP_MODE] = " Resolution:",
[RT_SETUP_KEY1] = "1) First click on the key you want to redefine.",
[RT_SETUP_KEY2] = "2) Then press the key you want to use instead.",
[RT_PERSO_FACE] = "Face type:",
[RT_PERSO_GLASSES] = "Eyeglasses:",
[RT_PERSO_HAIR] = "Hair color:",
[RT_PERSO_COMBI] = "Suit color:",
[RT_PERSO_BAND] = "Strip color:",
#if _NEWLOOK
[RT_DIALOG_QUIT] = "Do you want to quit CeeBot ?",
[RT_DIALOG_TITLE] = "CeeBot",
[RT_DIALOG_YESQUIT] = "Quit\\Quit CeeBot",
#else
[RT_DIALOG_QUIT] = "Do you want to quit COLOBOT ?",
[RT_DIALOG_TITLE] = "COLOBOT",
[RT_DIALOG_YESQUIT] = "Quit\\Quit COLOBOT",
#endif
[RT_DIALOG_ABORT] = "Quit the mission?",
[RT_DIALOG_YES] = "Abort\\Abort the current mission",
[RT_DIALOG_NO] = "Continue\\Continue the current mission",
[RT_DIALOG_NOQUIT] = "Continue\\Continue the game",
[RT_DIALOG_DELOBJ] = "Do you really want to destroy the selected building?",
[RT_DIALOG_DELGAME] = "Do you want to delete %s's saved games? ",
[RT_DIALOG_YESDEL] = "Delete",
[RT_DIALOG_NODEL] = "Cancel",
[RT_DIALOG_LOADING] = "LOADING",
[RT_STUDIO_LISTTT] = "Keyword help(\\key cbot;)",
[RT_STUDIO_COMPOK] = "Compilation ok (0 errors)",
[RT_STUDIO_PROGSTOP] = "Program finished",
[RT_SATCOM_LIST] = "\\b;List of objects\n",
[RT_SATCOM_BOT] = "\\b;Robots\n",
[RT_SATCOM_BUILDING] = "\\b;Buildings\n",
[RT_SATCOM_FRET] = "\\b;Moveable objects\n",
[RT_SATCOM_ALIEN] = "\\b;Aliens\n",
[RT_SATCOM_NULL] = "\\c; (none)\\n;\n",
[RT_SATCOM_ERROR1] = "\\b;Error\n",
[RT_SATCOM_ERROR2] = "The list is only available if a \\l;radar station\\u object\\radar; is working.\n",
[RT_IO_OPEN] = "Open",
[RT_IO_SAVE] = "Save",
[RT_IO_LIST] = "Folder: %s",
[RT_IO_NAME] = "Name:",
[RT_IO_DIR] = "Folder:",
[RT_IO_PRIVATE] = "Private\\Private folder",
[RT_IO_PUBLIC] = "Public\\Common folder",
[RT_GENERIC_DEV1] = "Developed by :",
[RT_GENERIC_DEV2] = "www.epsitec.com",
[RT_GENERIC_EDIT1] = " ",
[RT_GENERIC_EDIT2] = " ",
[RT_INTERFACE_REC] = "Recorder"
};
const char * const strings_event[] =
{
[EVENT_BUTTON_OK] = "OK",
[EVENT_BUTTON_CANCEL] = "Cancel",
[EVENT_BUTTON_NEXT] = "Next",
[EVENT_BUTTON_PREV] = "Previous",
[EVENT_BUTTON_QUIT] = "Menu (\\key quit;)",
[EVENT_DIALOG_OK] = "OK",
[EVENT_DIALOG_CANCEL] = "Cancel",
[EVENT_INTERFACE_TRAINER] = "Exercises\\Programming exercises",
[EVENT_INTERFACE_DEFI] = "Challenges\\Programming challenges",
[EVENT_INTERFACE_MISSION] = "Missions\\Select mission",
[EVENT_INTERFACE_FREE] = "Free game\\Free game without a specific goal",
[EVENT_INTERFACE_TEEN] = "Free game\\Free game without a specific goal",
[EVENT_INTERFACE_USER] = "User\\User levels",
[EVENT_INTERFACE_PROTO] = "Proto\\Prototypes under development",
[EVENT_INTERFACE_NAME] = "New player\\Choose player's name",
[EVENT_INTERFACE_SETUP] = "Options\\Preferences",
[EVENT_INTERFACE_AGAIN] = "Restart\\Restart the mission from the beginning",
[EVENT_INTERFACE_WRITE] = "Save\\Save the current mission ",
[EVENT_INTERFACE_READ] = "Load\\Load a saved mission",
#if _NEWLOOK
[EVENT_INTERFACE_ABORT] = "\\Return to CeeBot",
[EVENT_INTERFACE_QUIT] = "Quit\\Quit CeeBot",
#else
[EVENT_INTERFACE_ABORT] = "\\Return to COLOBOT",
[EVENT_INTERFACE_QUIT] = "Quit\\Quit COLOBOT",
#endif
[EVENT_INTERFACE_BACK] = "<< Back \\Back to the previous screen",
[EVENT_INTERFACE_PLAY] = "Play\\Start mission!",
[EVENT_INTERFACE_SETUPd] = "Device\\Driver and resolution settings",
[EVENT_INTERFACE_SETUPg] = "Graphics\\Graphics settings",
[EVENT_INTERFACE_SETUPp] = "Game\\Game settings",
[EVENT_INTERFACE_SETUPc] = "Controls\\Keyboard, joystick and mouse settings",
[EVENT_INTERFACE_SETUPs] = "Sound\\Music and game sound volume",
[EVENT_INTERFACE_DEVICE] = "Unit",
[EVENT_INTERFACE_RESOL] = "Resolution",
[EVENT_INTERFACE_FULL] = "Full screen\\Full screen or window mode",
[EVENT_INTERFACE_APPLY] = "Apply changes\\Activates the changed settings",
[EVENT_INTERFACE_TOTO] = "Robbie\\Your assistant",
[EVENT_INTERFACE_SHADOW] = "Shadows\\Shadows on the ground",
[EVENT_INTERFACE_GROUND] = "Marks on the ground\\Marks on the ground",
[EVENT_INTERFACE_DIRTY] = "Dust\\Dust and dirt on bots and buildings",
[EVENT_INTERFACE_FOG] = "Fog\\Fog",
[EVENT_INTERFACE_LENS] = "Sunbeams\\Sunbeams in the sky",
[EVENT_INTERFACE_SKY] = "Sky\\Clouds and nebulae",
[EVENT_INTERFACE_PLANET] = "Planets and stars\\Astronomical objects in the sky",
[EVENT_INTERFACE_LIGHT] = "Dynamic lighting\\Mobile light sources",
[EVENT_INTERFACE_PARTI] = "Number of particles\\Explosions, dust, reflections, etc.",
[EVENT_INTERFACE_CLIP] = "Depth of field\\Maximum visibility",
[EVENT_INTERFACE_DETAIL] = "Details\\Visual quality of 3D objects",
[EVENT_INTERFACE_TEXTURE] = "Textures\\Quality of textures ",
[EVENT_INTERFACE_GADGET] = "Num of decorative objects\\Number of purely ornamental objects",
[EVENT_INTERFACE_RAIN] = "Particles in the interface\\Steam clouds and sparks in the interface",
[EVENT_INTERFACE_GLINT] = "Reflections on the buttons \\Shiny buttons",
[EVENT_INTERFACE_TOOLTIP] = "Help balloons\\Explain the function of the buttons",
[EVENT_INTERFACE_MOVIES] = "Film sequences\\Films before and after the missions",
[EVENT_INTERFACE_NICERST] = "Exit film\\Film at the exit of exercises",
[EVENT_INTERFACE_HIMSELF] = "Friendly fire\\Your shooting can damage your own objects ",
[EVENT_INTERFACE_SCROLL] = "Scrolling\\Scrolling when the mouse touches right or left border",
[EVENT_INTERFACE_INVERTX] = "Mouse inversion X\\Inversion of the scrolling direction on the X axis",
[EVENT_INTERFACE_INVERTY] = "Mouse inversion Y\\Inversion of the scrolling direction on the Y axis",
[EVENT_INTERFACE_EFFECT] = "Quake at explosions\\The screen shakes at explosions",
[EVENT_INTERFACE_MOUSE] = "Mouse shadow\\Gives the mouse a shadow",
[EVENT_INTERFACE_EDITMODE] = "Automatic indent\\When program editing",
[EVENT_INTERFACE_EDITVALUE] = "Big indent\\Indent 2 or 4 spaces per level defined by braces",
[EVENT_INTERFACE_SOLUCE4] = "Access to solutions\\Show program \"4: Solution\" in the exercises",
[EVENT_INTERFACE_KDEF] = "Standard controls\\Standard key functions",
[EVENT_INTERFACE_KLEFT] = "Turn left\\turns the bot to the left",
[EVENT_INTERFACE_KRIGHT] = "Turn right\\turns the bot to the right",
[EVENT_INTERFACE_KUP] = "Forward\\Moves forward",
[EVENT_INTERFACE_KDOWN] = "Backward\\Moves backward",
[EVENT_INTERFACE_KGUP] = "Climb\\Increases the power of the jet",
[EVENT_INTERFACE_KGDOWN] = "Descend\\Reduces the power of the jet",
[EVENT_INTERFACE_KCAMERA] = "Change camera\\Switches between onboard camera and following camera",
[EVENT_INTERFACE_KDESEL] = "Previous object\\Selects the previous object",
[EVENT_INTERFACE_KACTION] = "Standard action\\Standard action of the bot (take/grab, shoot, sniff, etc)",
[EVENT_INTERFACE_KNEAR] = "Camera closer\\Moves the camera forward",
[EVENT_INTERFACE_KAWAY] = "Camera back\\Moves the camera backward",
[EVENT_INTERFACE_KNEXT] = "Next object\\Selects the next object",
[EVENT_INTERFACE_KHUMAN] = "Select the astronaut\\Selects the astronaut",
[EVENT_INTERFACE_KQUIT] = "Quit\\Quit the current mission or exercise",
[EVENT_INTERFACE_KHELP] = "Instructions\\Shows the instructions for the current mission",
[EVENT_INTERFACE_KPROG] = "Programming help\\Gives more detailed help with programming",
[EVENT_INTERFACE_KCBOT] = "Key word help\\More detailed help about key words",
[EVENT_INTERFACE_KVISIT] = "Origin of last message\\Shows where the last message was sent from",
[EVENT_INTERFACE_KSPEED10] = "Speed 1.0x\\Normal speed",
[EVENT_INTERFACE_KSPEED15] = "Speed 1.5x\\1.5 times faster",
[EVENT_INTERFACE_KSPEED20] = "Speed 2.0x\\Double speed",
[EVENT_INTERFACE_KSPEED30] = "Speed 3.0x\\Three times faster",
[EVENT_INTERFACE_VOLSOUND] = "Sound effects:\\Volume of engines, voice, shooting, etc.",
[EVENT_INTERFACE_VOLMUSIC] = "Background sound :\\Volume of audio tracks on the CD",
[EVENT_INTERFACE_SOUND3D] = "3D sound\\3D positioning of the sound",
[EVENT_INTERFACE_MIN] = "Lowest\\Minimum graphic quality (highest frame rate)",
[EVENT_INTERFACE_NORM] = "Normal\\Normal graphic quality",
[EVENT_INTERFACE_MAX] = "Highest\\Highest graphic quality (lowest frame rate)",
[EVENT_INTERFACE_SILENT] = "Mute\\No sound",
[EVENT_INTERFACE_NOISY] = "Normal\\Normal sound volume",
[EVENT_INTERFACE_JOYSTICK] = "Use a joystick\\Joystick or keyboard",
[EVENT_INTERFACE_SOLUCE] = "Access to solution\\Shows the solution (detailed instructions for missions)",
[EVENT_INTERFACE_NEDIT] = "\\New player name",
[EVENT_INTERFACE_NOK] = "OK\\Choose the selected player",
[EVENT_INTERFACE_NCANCEL] = "Cancel\\Keep current player name",
[EVENT_INTERFACE_NDELETE] = "Delete player\\Deletes the player from the list",
[EVENT_INTERFACE_NLABEL] = "Player name",
[EVENT_INTERFACE_IOWRITE] = "Save\\Saves the current mission",
[EVENT_INTERFACE_IOREAD] = "Load\\Loads the selected mission",
[EVENT_INTERFACE_IOLIST] = "List of saved missions",
[EVENT_INTERFACE_IOLABEL] = "Filename:",
[EVENT_INTERFACE_IONAME] = "Mission name",
[EVENT_INTERFACE_IOIMAGE] = "Photography",
[EVENT_INTERFACE_IODELETE] = "Delete\\Deletes the selected file",
[EVENT_INTERFACE_PERSO] = "Appearance\\Choose your appearance",
[EVENT_INTERFACE_POK] = "OK",
[EVENT_INTERFACE_PCANCEL] = "Cancel",
[EVENT_INTERFACE_PDEF] = "Standard\\Standard appearance settings",
[EVENT_INTERFACE_PHEAD] = "Head\\Face and hair",
[EVENT_INTERFACE_PBODY] = "Suit\\Astronaut suit",
[EVENT_INTERFACE_PLROT] = "\\Turn left",
[EVENT_INTERFACE_PRROT] = "\\Turn right",
[EVENT_INTERFACE_PCRa] = "Red",
[EVENT_INTERFACE_PCGa] = "Green",
[EVENT_INTERFACE_PCBa] = "Blue",
[EVENT_INTERFACE_PCRb] = "Red",
[EVENT_INTERFACE_PCGb] = "Green",
[EVENT_INTERFACE_PCBb] = "Blue",
[EVENT_INTERFACE_PFACE1] = "\\Face 1",
[EVENT_INTERFACE_PFACE2] = "\\Face 4",
[EVENT_INTERFACE_PFACE3] = "\\Face 3",
[EVENT_INTERFACE_PFACE4] = "\\Face 2",
[EVENT_INTERFACE_PGLASS0] = "\\No eyeglasses",
[EVENT_INTERFACE_PGLASS1] = "\\Eyeglasses 1",
[EVENT_INTERFACE_PGLASS2] = "\\Eyeglasses 2",
[EVENT_INTERFACE_PGLASS3] = "\\Eyeglasses 3",
[EVENT_INTERFACE_PGLASS4] = "\\Eyeglasses 4",
[EVENT_INTERFACE_PGLASS5] = "\\Eyeglasses 5",
[EVENT_OBJECT_DESELECT] = "Previous selection (\\key desel;)",
[EVENT_OBJECT_LEFT] = "Turn left (\\key left;)",
[EVENT_OBJECT_RIGHT] = "Turn right (\\key right;)",
[EVENT_OBJECT_UP] = "Forward (\\key up;)",
[EVENT_OBJECT_DOWN] = "Backward (\\key down;)",
[EVENT_OBJECT_GASUP] = "Up (\\key gup;)",
[EVENT_OBJECT_GASDOWN] = "Down (\\key gdown;)",
[EVENT_OBJECT_HTAKE] = "Grab or drop (\\key action;)",
[EVENT_OBJECT_MTAKE] = "Grab or drop (\\key action;)",
[EVENT_OBJECT_MFRONT] = "..in front",
[EVENT_OBJECT_MBACK] = "..behind",
[EVENT_OBJECT_MPOWER] = "..power cell",
[EVENT_OBJECT_BHELP] = "Instructions for the mission (\\key help;)",
[EVENT_OBJECT_BTAKEOFF] = "Take off to finish the mission",
[EVENT_OBJECT_BDERRICK] = "Build a derrick",
[EVENT_OBJECT_BSTATION] = "Build a power station",
[EVENT_OBJECT_BFACTORY] = "Build a bot factory",
[EVENT_OBJECT_BREPAIR] = "Build a repair center",
[EVENT_OBJECT_BCONVERT] = "Build a converter",
[EVENT_OBJECT_BTOWER] = "Build a defense tower",
[EVENT_OBJECT_BRESEARCH] = "Build a research center",
[EVENT_OBJECT_BRADAR] = "Build a radar station",
[EVENT_OBJECT_BENERGY] = "Build a power cell factory",
[EVENT_OBJECT_BLABO] = "Build an autolab",
[EVENT_OBJECT_BNUCLEAR] = "Build a nuclear power plant",
[EVENT_OBJECT_BPARA] = "Build a lightning conductor",
[EVENT_OBJECT_BINFO] = "Build a exchange post",
[EVENT_OBJECT_GFLAT] = "Show if the ground is flat",
[EVENT_OBJECT_FCREATE] = "Plant a flag",
[EVENT_OBJECT_FDELETE] = "Remove a flag",
[EVENT_OBJECT_FCOLORb] = "\\Blue flags",
[EVENT_OBJECT_FCOLORr] = "\\Red flags",
[EVENT_OBJECT_FCOLORg] = "\\Green flags",
[EVENT_OBJECT_FCOLORy] = "\\Yellow flags",
[EVENT_OBJECT_FCOLORv] = "\\Violet flags",
[EVENT_OBJECT_FACTORYfa] = "Build a winged grabber",
[EVENT_OBJECT_FACTORYta] = "Build a tracked grabber",
[EVENT_OBJECT_FACTORYwa] = "Build a wheeled grabber",
[EVENT_OBJECT_FACTORYia] = "Build a legged grabber",
[EVENT_OBJECT_FACTORYfc] = "Build a winged shooter",
[EVENT_OBJECT_FACTORYtc] = "Build a tracked shooter",
[EVENT_OBJECT_FACTORYwc] = "Build a wheeled shooter",
[EVENT_OBJECT_FACTORYic] = "Build a legged shooter",
[EVENT_OBJECT_FACTORYfi] = "Build a winged orga shooter",
[EVENT_OBJECT_FACTORYti] = "Build a tracked orga shooter",
[EVENT_OBJECT_FACTORYwi] = "Build a wheeled orga shooter",
[EVENT_OBJECT_FACTORYii] = "Build a legged orga shooter",
[EVENT_OBJECT_FACTORYfs] = "Build a winged sniffer",
[EVENT_OBJECT_FACTORYts] = "Build a tracked sniffer",
[EVENT_OBJECT_FACTORYws] = "Build a wheeled sniffer",
[EVENT_OBJECT_FACTORYis] = "Build a legged sniffer",
[EVENT_OBJECT_FACTORYrt] = "Build a thumper",
[EVENT_OBJECT_FACTORYrc] = "Build a phazer shooter",
[EVENT_OBJECT_FACTORYrr] = "Build a recycler",
[EVENT_OBJECT_FACTORYrs] = "Build a shielder",
[EVENT_OBJECT_FACTORYsa] = "Build a subber",
[EVENT_OBJECT_RTANK] = "Run research program for tracked bots",
[EVENT_OBJECT_RFLY] = "Run research program for winged bots",
[EVENT_OBJECT_RTHUMP] = "Run research program for thumper",
[EVENT_OBJECT_RCANON] = "Run research program for shooter",
[EVENT_OBJECT_RTOWER] = "Run research program for defense tower",
[EVENT_OBJECT_RPHAZER] = "Run research program for phazer shooter",
[EVENT_OBJECT_RSHIELD] = "Run research program for shielder",
[EVENT_OBJECT_RATOMIC] = "Run research program for nuclear power",
[EVENT_OBJECT_RiPAW] = "Run research program for legged bots",
[EVENT_OBJECT_RiGUN] = "Run research program for orga shooter",
[EVENT_OBJECT_RESET] = "Return to start",
[EVENT_OBJECT_SEARCH] = "Sniff (\\key action;)",
[EVENT_OBJECT_TERRAFORM] = "Thump (\\key action;)",
[EVENT_OBJECT_FIRE] = "Shoot (\\key action;)",
[EVENT_OBJECT_RECOVER] = "Recycle (\\key action;)",
[EVENT_OBJECT_BEGSHIELD] = "Extend shield (\\key action;)",
[EVENT_OBJECT_ENDSHIELD] = "Withdraw shield (\\key action;)",
[EVENT_OBJECT_DIMSHIELD] = "Shield radius",
[EVENT_OBJECT_PROGRUN] = "Execute the selected program",
[EVENT_OBJECT_PROGEDIT] = "Edit the selected program",
[EVENT_OBJECT_INFOOK] = "\\SatCom on standby",
[EVENT_OBJECT_DELETE] = "Destroy the building",
[EVENT_OBJECT_GENERGY] = "Energy level",
[EVENT_OBJECT_GSHIELD] = "Shield level",
[EVENT_OBJECT_GRANGE] = "Jet temperature",
[EVENT_OBJECT_GPROGRESS] = "Still working ...",
[EVENT_OBJECT_GRADAR] = "Number of insects detected",
[EVENT_OBJECT_GINFO] = "Transmitted information",
[EVENT_OBJECT_COMPASS] = "Compass",
[EVENT_OBJECT_MAPZOOM] = "Zoom mini-map",
[EVENT_OBJECT_CAMERA] = "Camera (\\key camera;)",
[EVENT_OBJECT_CAMERAleft] = "Camera to left",
[EVENT_OBJECT_CAMERAright] = "Camera to right",
[EVENT_OBJECT_CAMERAnear] = "Camera nearest",
[EVENT_OBJECT_CAMERAaway] = "Camera awayest",
[EVENT_OBJECT_HELP] = "Help about selected object",
[EVENT_OBJECT_SOLUCE] = "Show the solution",
[EVENT_OBJECT_SHORTCUT00] = "Switch bots <-> buildings",
[EVENT_OBJECT_LIMIT] = "Show the range",
[EVENT_OBJECT_PEN0] = "\\Raise the pencil",
[EVENT_OBJECT_PEN1] = "\\Use the black pencil",
[EVENT_OBJECT_PEN2] = "\\Use the yellow pencil",
[EVENT_OBJECT_PEN3] = "\\Use the orange pencil",
[EVENT_OBJECT_PEN4] = "\\Use the red pencil",
[EVENT_OBJECT_PEN5] = "\\Use the purple pencil",
[EVENT_OBJECT_PEN6] = "\\Use the blue pencil",
[EVENT_OBJECT_PEN7] = "\\Use the green pencil",
[EVENT_OBJECT_PEN8] = "\\Use the brown pencil",
[EVENT_OBJECT_REC] = "\\Start recording",
[EVENT_OBJECT_STOP] = "\\Stop recording",
[EVENT_DT_VISIT0] = "Show the place",
[EVENT_DT_VISIT1] = "Show the place",
[EVENT_DT_VISIT2] = "Show the place",
[EVENT_DT_VISIT3] = "Show the place",
[EVENT_DT_VISIT4] = "Show the place",
[EVENT_DT_END] = "Continue",
[EVENT_CMD] = "Command line",
[EVENT_SPEED] = "Game speed",
[EVENT_HYPER_PREV] = "Back",
[EVENT_HYPER_NEXT] = "Forward",
[EVENT_HYPER_HOME] = "Home",
[EVENT_HYPER_COPY] = "Copy",
[EVENT_HYPER_SIZE1] = "Size 1",
[EVENT_HYPER_SIZE2] = "Size 2",
[EVENT_HYPER_SIZE3] = "Size 3",
[EVENT_HYPER_SIZE4] = "Size 4",
[EVENT_HYPER_SIZE5] = "Size 5",
[EVENT_SATCOM_HUSTON] = "Instructions from Houston",
#if _TEEN
[EVENT_SATCOM_SAT] = "Dictionnary",
#else
[EVENT_SATCOM_SAT] = "Satellite report",
#endif
[EVENT_SATCOM_LOADING] = "Programs dispatched by Houston",
[EVENT_SATCOM_OBJECT] = "List of objects",
[EVENT_SATCOM_PROG] = "Programming help",
[EVENT_SATCOM_SOLUCE] = "Solution",
[EVENT_STUDIO_OK] = "OK\\Close program editor and return to game",
[EVENT_STUDIO_CANCEL] = "Cancel\\Cancel all changes",
[EVENT_STUDIO_NEW] = "New",
[EVENT_STUDIO_OPEN] = "Open (Ctrl+o)",
[EVENT_STUDIO_SAVE] = "Save (Ctrl+s)",
[EVENT_STUDIO_UNDO] = "Undo (Ctrl+z)",
[EVENT_STUDIO_CUT] = "Cut (Ctrl+x)",
[EVENT_STUDIO_COPY] = "Copy (Ctrl+c)",
[EVENT_STUDIO_PASTE] = "Paste (Ctrl+v)",
[EVENT_STUDIO_SIZE] = "Font size",
[EVENT_STUDIO_TOOL] = "Instructions (\\key help;)",
[EVENT_STUDIO_HELP] = "Programming help (\\key prog;)",
[EVENT_STUDIO_COMPILE] = "Compile",
[EVENT_STUDIO_RUN] = "Execute/stop",
[EVENT_STUDIO_REALTIME] = "Pause/continue",
[EVENT_STUDIO_STEP] = "One step"
};
const char * const strings_object[] =
{
[OBJECT_PORTICO] = "Gantry crane",
[OBJECT_BASE] = "Spaceship",
[OBJECT_DERRICK] = "Derrick",
[OBJECT_FACTORY] = "Bot factory",
[OBJECT_REPAIR] = "Repair center",
[OBJECT_DESTROYER] = "Destroyer",
[OBJECT_STATION] = "Power station",
[OBJECT_CONVERT] = "Converts ore to titanium",
[OBJECT_TOWER] = "Defense tower",
[OBJECT_NEST] = "Nest",
[OBJECT_RESEARCH] = "Research center",
[OBJECT_RADAR] = "Radar station",
[OBJECT_INFO] = "Information exchange post",
#if _TEEN
[OBJECT_ENERGY] = "Disintegrator",
#else
[OBJECT_ENERGY] = "Power cell factory",
#endif
[OBJECT_LABO] = "Autolab",
[OBJECT_NUCLEAR] = "Nuclear power station",
[OBJECT_PARA] = "Lightning conductor",
[OBJECT_SAFE] = "Vault",
[OBJECT_HUSTON] = "Houston Mission Control",
[OBJECT_TARGET1] = "Target",
[OBJECT_TARGET2] = "Target",
[OBJECT_START] = "Start",
[OBJECT_END] = "Finish",
[OBJECT_STONE] = "Titanium ore",
[OBJECT_URANIUM] = "Uranium ore",
[OBJECT_BULLET] = "Organic matter",
[OBJECT_METAL] = "Titanium",
[OBJECT_POWER] = "Power cell",
[OBJECT_ATOMIC] = "Nuclear power cell",
[OBJECT_BBOX] = "Black box",
[OBJECT_KEYa] = "Key A",
[OBJECT_KEYb] = "Key B",
[OBJECT_KEYc] = "Key C",
[OBJECT_KEYd] = "Key D",
[OBJECT_TNT] = "Explosive",
[OBJECT_BOMB] = "Fixed mine",
[OBJECT_BAG] = "Survival kit",
[OBJECT_WAYPOINT] = "Checkpoint",
[OBJECT_FLAGb] = "Blue flag",
[OBJECT_FLAGr] = "Red flag",
[OBJECT_FLAGg] = "Green flag",
[OBJECT_FLAGy] = "Yellow flag",
[OBJECT_FLAGv] = "Violet flag",
[OBJECT_MARKPOWER] = "Energy deposit (site for power station)",
[OBJECT_MARKURANIUM] = "Uranium deposit (site for derrick)",
[OBJECT_MARKKEYa] = "Found key A (site for derrick)",
[OBJECT_MARKKEYb] = "Found key B (site for derrick)",
[OBJECT_MARKKEYc] = "Found key C (site for derrick)",
[OBJECT_MARKKEYd] = "Found key D (site for derrick)",
[OBJECT_MARKSTONE] = "Titanium deposit (site for derrick)",
[OBJECT_MOBILEft] = "Practice bot",
[OBJECT_MOBILEtt] = "Practice bot",
[OBJECT_MOBILEwt] = "Practice bot",
[OBJECT_MOBILEit] = "Practice bot",
[OBJECT_MOBILEfa] = "Winged grabber",
[OBJECT_MOBILEta] = "Tracked grabber",
[OBJECT_MOBILEwa] = "Wheeled grabber",
[OBJECT_MOBILEia] = "Legged grabber",
[OBJECT_MOBILEfc] = "Winged shooter",
[OBJECT_MOBILEtc] = "Tracked shooter",
[OBJECT_MOBILEwc] = "Wheeled shooter",
[OBJECT_MOBILEic] = "Legged shooter",
[OBJECT_MOBILEfi] = "Winged orga shooter",
[OBJECT_MOBILEti] = "Tracked orga shooter",
[OBJECT_MOBILEwi] = "Wheeled orga shooter",
[OBJECT_MOBILEii] = "Legged orga shooter",
[OBJECT_MOBILEfs] = "Winged sniffer",
[OBJECT_MOBILEts] = "Tracked sniffer",
[OBJECT_MOBILEws] = "Wheeled sniffer",
[OBJECT_MOBILEis] = "Legged sniffer",
[OBJECT_MOBILErt] = "Thumper",
[OBJECT_MOBILErc] = "Phazer shooter",
[OBJECT_MOBILErr] = "Recycler",
[OBJECT_MOBILErs] = "Shielder",
[OBJECT_MOBILEsa] = "Subber",
[OBJECT_MOBILEtg] = "Target bot",
[OBJECT_MOBILEdr] = "Drawer bot",
[OBJECT_TECH] = "Engineer",
[OBJECT_TOTO] = "Robbie",
[OBJECT_MOTHER] = "Alien Queen",
[OBJECT_ANT] = "Ant",
[OBJECT_SPIDER] = "Spider",
[OBJECT_BEE] = "Wasp",
[OBJECT_WORM] = "Worm",
[OBJECT_EGG] = "Egg",
[OBJECT_RUINmobilew1] = "Wreckage",
[OBJECT_RUINmobilew2] = "Wreckage",
[OBJECT_RUINmobilet1] = "Wreckage",
[OBJECT_RUINmobilet2] = "Wreckage",
[OBJECT_RUINmobiler1] = "Wreckage",
[OBJECT_RUINmobiler2] = "Wreckage",
[OBJECT_RUINfactory] = "Ruin",
[OBJECT_RUINdoor] = "Ruin",
[OBJECT_RUINsupport] = "Waste",
[OBJECT_RUINradar] = "Ruin",
[OBJECT_RUINconvert] = "Ruin",
[OBJECT_RUINbase] = "Spaceship ruin",
[OBJECT_RUINhead] = "Spaceship ruin",
[OBJECT_APOLLO1] = "Remains of Apollo mission",
[OBJECT_APOLLO3] = "Remains of Apollo mission",
[OBJECT_APOLLO4] = "Remains of Apollo mission",
[OBJECT_APOLLO5] = "Remains of Apollo mission",
[OBJECT_APOLLO2] = "Lunar Roving Vehicle"
};
const char * const strings_err[] =
{
[ERR_CMD] = "Unknown command",
#if _NEWLOOK
[ERR_INSTALL] = "CeeBot not installed.",
[ERR_NOCD] = "Please insert the CeeBot CD\nand re-run the game.",
#else
[ERR_INSTALL] = "COLOBOT not installed.",
[ERR_NOCD] = "Please insert the COLOBOT CD\nand re-run the game.",
#endif
[ERR_MANIP_VEH] = "Inappropriate bot",
[ERR_MANIP_FLY] = "Impossible when flying",
[ERR_MANIP_BUSY] = "Already carrying something",
[ERR_MANIP_NIL] = "Nothing to grab",
[ERR_MANIP_MOTOR] = "Impossible when moving",
[ERR_MANIP_OCC] = "Place occupied",
[ERR_MANIP_FRIEND] = "No other robot",
[ERR_MANIP_RADIO] = "You can not carry a radioactive object",
[ERR_MANIP_WATER] = "You can not carry an object under water",
[ERR_MANIP_EMPTY] = "Nothing to drop",
[ERR_BUILD_FLY] = "Impossible when flying",
[ERR_BUILD_WATER] = "Impossible under water",
[ERR_BUILD_ENERGY] = "Not enough energy",
[ERR_BUILD_METALAWAY] = "Titanium too far away",
[ERR_BUILD_METALNEAR] = "Titanium too close",
[ERR_BUILD_METALINEX] = "No titanium around",
[ERR_BUILD_FLAT] = "Ground not flat enough",
[ERR_BUILD_FLATLIT] = "Flat ground not large enough",
[ERR_BUILD_BUSY] = "Place occupied",
[ERR_BUILD_BASE] = "Too close to space ship",
[ERR_BUILD_NARROW] = "Too close to a building",
[ERR_BUILD_MOTOR] = "Impossible when moving",
[ERR_SEARCH_FLY] = "Impossible when flying",
[ERR_SEARCH_VEH] = "Inappropriate bot",
[ERR_SEARCH_MOTOR] = "Impossible when moving",
[ERR_TERRA_VEH] = "Inappropriate bot",
[ERR_TERRA_ENERGY] = "Not enough energy",
[ERR_TERRA_FLOOR] = "Ground inappropriate",
[ERR_TERRA_BUILDING] = "Building too close",
[ERR_TERRA_OBJECT] = "Object too close",
[ERR_RECOVER_VEH] = "Inappropriate bot",
[ERR_RECOVER_ENERGY] = "Not enough energy",
[ERR_RECOVER_NULL] = "Nothing to recycle",
[ERR_SHIELD_VEH] = "Inappropriate bot",
[ERR_SHIELD_ENERGY] = "No more energy",
[ERR_MOVE_IMPOSSIBLE] = "Error in instruction move",
[ERR_FIND_IMPOSSIBLE] = "Object not found",
[ERR_GOTO_IMPOSSIBLE] = "Goto: inaccessible destination",
[ERR_GOTO_ITER] = "Goto: inaccessible destination",
[ERR_GOTO_BUSY] = "Goto: destination occupied",
[ERR_FIRE_VEH] = "Inappropriate bot",
[ERR_FIRE_ENERGY] = "Not enough energy",
[ERR_FIRE_FLY] = "Impossible when flying",
[ERR_CONVERT_EMPTY] = "No titanium ore to convert",
[ERR_DERRICK_NULL] = "No ore in the subsoil",
[ERR_STATION_NULL] = "No energy in the subsoil",
[ERR_TOWER_POWER] = "No power cell",
[ERR_TOWER_ENERGY] = "No more energy",
[ERR_RESEARCH_POWER] = "No power cell",
[ERR_RESEARCH_ENERGY] = "Not enough energy",
[ERR_RESEARCH_TYPE] = "Inappropriate cell type",
[ERR_RESEARCH_ALREADY]= "Research program already performed",
[ERR_ENERGY_NULL] = "No energy in the subsoil",
[ERR_ENERGY_LOW] = "Not enough energy yet",
[ERR_ENERGY_EMPTY] = "No titanium to transform",
[ERR_ENERGY_BAD] = "Transforms only titanium",
[ERR_BASE_DLOCK] = "Doors blocked by a robot or another object ",
[ERR_BASE_DHUMAN] = "You must get on the spaceship to take off ",
[ERR_LABO_NULL] = "Nothing to analyze",
[ERR_LABO_BAD] = "Analyzes only organic matter",
[ERR_LABO_ALREADY] = "Analysis already performed",
[ERR_NUCLEAR_NULL] = "No energy in the subsoil",
[ERR_NUCLEAR_LOW] = "Not yet enough energy",
[ERR_NUCLEAR_EMPTY] = "No uranium to transform",
[ERR_NUCLEAR_BAD] = "Transforms only uranium",
[ERR_FACTORY_NULL] = "No titanium",
[ERR_FACTORY_NEAR] = "Object too close",
[ERR_RESET_NEAR] = "Place occupied",
[ERR_INFO_NULL] = "No information exchange post within range",
[ERR_VEH_VIRUS] = "Program infected by a virus",
[ERR_BAT_VIRUS] = "Infected by a virus, temporarily out of order",
[ERR_VEH_POWER] = "No power cell",
[ERR_VEH_ENERGY] = "No more energy",
[ERR_FLAG_FLY] = "Impossible when flying",
[ERR_FLAG_WATER] = "Impossible when swimming",
[ERR_FLAG_MOTOR] = "Impossible when moving",
[ERR_FLAG_BUSY] = "Impossible when carrying an object",
[ERR_FLAG_CREATE] = "Too many flags of this color (maximum 5)",
[ERR_FLAG_PROXY] = "Too close to an existing flag",
[ERR_FLAG_DELETE] = "No flag nearby",
[ERR_MISSION_NOTERM] = "The mission is not accomplished yet (press \\key help; for more details)",
[ERR_DELETEMOBILE] = "Bot destroyed",
[ERR_DELETEBUILDING] = "Building destroyed",
[ERR_TOOMANY] = "Can not create this, there are too many objects",
[ERR_OBLIGATORYTOKEN] = "\"%s\" missing in this exercise",
[ERR_PROHIBITEDTOKEN] = "Do not use in this exercise",
[INFO_BUILD] = "Building completed",
[INFO_CONVERT] = "Titanium available",
[INFO_RESEARCH] = "Research program completed",
[INFO_RESEARCHTANK] = "Plans for tracked robots available ",
[INFO_RESEARCHFLY] = "You can fly with the keys (\\key gup;) and (\\key gdown;)",
[INFO_RESEARCHTHUMP] = "Plans for thumper available",
[INFO_RESEARCHCANON] = "Plans for shooter available",
[INFO_RESEARCHTOWER] = "Plans for defense tower available",
[INFO_RESEARCHPHAZER] = "Plans for phazer shooter available",
[INFO_RESEARCHSHIELD] = "Plans for shielder available",
[INFO_RESEARCHATOMIC] = "Plans for nuclear power plant available",
[INFO_FACTORY] = "New bot available",
[INFO_LABO] = "Analysis performed",
[INFO_ENERGY] = "Power cell available",
[INFO_NUCLEAR] = "Nuclear power cell available",
[INFO_FINDING] = "You found a usable object",
[INFO_MARKPOWER] = "Found a site for power station",
[INFO_MARKURANIUM] = "Found a site for a derrick",
[INFO_MARKSTONE] = "Found a site for a derrick",
[INFO_MARKKEYa] = "Found a site for a derrick",
[INFO_MARKKEYb] = "Found a site for a derrick",
[INFO_MARKKEYc] = "Found a site for a derrick",
[INFO_MARKKEYd] = "Found a site for a derrick",
[INFO_WIN] = "<<< Well done, mission accomplished >>>",
[INFO_LOST] = "<<< Sorry, mission failed >>>",
[INFO_LOSTq] = "<<< Sorry, mission failed >>>",
[INFO_WRITEOK] = "Current mission saved",
[INFO_DELETEPATH] = "Checkpoint crossed",
[INFO_DELETEMOTHER] = "Alien Queen killed",
[INFO_DELETEANT] = "Ant fatally wounded",
[INFO_DELETEBEE] = "Wasp fatally wounded",
[INFO_DELETEWORM] = "Worm fatally wounded",
[INFO_DELETESPIDER] = "Spider fatally wounded",
[INFO_BEGINSATCOM] = "Press \\key help; to read instructions on your SatCom"
};
const char * const strings_cbot[] =
{
[TX_OPENPAR] = "Opening bracket missing",
[TX_CLOSEPAR] = "Closing bracket missing ",
[TX_NOTBOOL] = "The expression must return a boolean value",
[TX_UNDEFVAR] = "Variable not declared",
[TX_BADLEFT] = "Assignment impossible",
[TX_ENDOF] = "Semicolon terminator missing",
[TX_OUTCASE] = "Instruction \"case\" outside a block \"switch\"",
[TX_NOTERM] = "Instructions after the final closing brace",
[TX_CLOSEBLK] = "End of block missing",
[TX_ELSEWITHOUTIF] = "Instruction \"else\" without corresponding \"if\" ",
[TX_OPENBLK] = "Opening brace missing ",
[TX_BADTYPE] = "Wrong type for the assignment",
[TX_REDEFVAR] = "A variable can not be declared twice",
[TX_BAD2TYPE] = "The types of the two operands are incompatible ",
[TX_UNDEFCALL] = "Unknown function",
[TX_MISDOTS] = "Sign \" : \" missing",
[TX_WHILE] = "Keyword \"while\" missing",
[TX_BREAK] = "Instruction \"break\" outside a loop",
[TX_LABEL] = "A label must be followed by \"for\", \"while\", \"do\" or \"switch\"",
[TX_NOLABEL] = "This label does not exist",
[TX_NOCASE] = "Instruction \"case\" missing",
[TX_BADNUM] = "Number missing",
[TX_VOID] = "Void parameter",
[TX_NOTYP] = "Type declaration missing",
[TX_NOVAR] = "Variable name missing",
[TX_NOFONC] = "Function name missing",
[TX_OVERPARAM] = "Too many parameters",
[TX_REDEF] = "Function already exists",
[TX_LOWPARAM] = "Parameters missing ",
[TX_BADPARAM] = "No function with this name accepts this kind of parameter",
[TX_NUMPARAM] = "No function with this name accepts this number of parameters",
[TX_NOITEM] = "This is not a member of this class",
[TX_DOT] = "This object is not a member of a class",
[TX_NOCONST] = "Appropriate constructor missing",
[TX_REDEFCLASS] = "This class already exists",
[TX_CLBRK] = "\" ] \" missing",
[TX_RESERVED] = "Reserved keyword of CBOT language",
[TX_BADNEW] = "Bad argument for \"new\"",
[TX_OPBRK] = "\" [ \" expected",
[TX_BADSTRING] = "String missing",
[TX_BADINDEX] = "Incorrect index type",
[TX_PRIVATE] = "Private element",
[TX_NOPUBLIC] = "Public required",
[TX_DIVZERO] = "Dividing by zero",
[TX_NOTINIT] = "Variable not initialized",
[TX_BADTHROW] = "Negative value rejected by \"throw\"",
[TX_NORETVAL] = "The function returned no value ",
[TX_NORUN] = "No function running",
[TX_NOCALL] = "Calling an unknown function",
[TX_NOCLASS] = "This class does not exist",
[TX_NULLPT] = "Unknown Object",
[TX_OPNAN] = "Operation impossible with value \"nan\"",
[TX_OUTARRAY] = "Access beyond array limit",
[TX_STACKOVER] = "Stack overflow",
[TX_DELETEDPT] = "Illegal object",
[TX_FILEOPEN] = "Can't open file",
[TX_NOTOPEN] = "File not open",
[TX_ERRREAD] = "Read error",
[TX_ERRWRITE] = "Write error"
};
#define N_ELTS(Array) (sizeof(Array) / sizeof(Array[0]))
const int strings_text_len = N_ELTS(strings_text);
const int strings_event_len = N_ELTS(strings_event);
const int strings_object_len = N_ELTS(strings_object);
const int strings_err_len = N_ELTS(strings_err);
const int strings_cbot_len = N_ELTS(strings_cbot);

View File

@ -22,6 +22,7 @@
#include "graphics/engine/engine.h"
#include "graphics/engine/camera.h"
#include "sound/sound.h"
#include "object/object_ids.h"
class CInstanceManager;
@ -45,251 +46,6 @@ const int OBJECTMAXDESELLIST = 10;
const int OBJECTMAXINFO = 10;
const int OBJECTMAXCMDLINE = 20;
enum ObjectType
{
OBJECT_NULL = 0, // object destroyed
OBJECT_FIX = 1, // stationary scenery
OBJECT_PORTICO = 2, // gantry
OBJECT_BASE = 3, // great main base
OBJECT_DERRICK = 4, // derrick set
OBJECT_FACTORY = 5, // factory set
OBJECT_STATION = 6, // recharging station
OBJECT_CONVERT = 7, // converter station
OBJECT_REPAIR = 8, // reparation
OBJECT_TOWER = 9, // defense tower
OBJECT_NEST = 10, // nest
OBJECT_RESEARCH = 11, // research center
OBJECT_RADAR = 12, // radar
OBJECT_ENERGY = 13, // energy factory
OBJECT_LABO = 14, // analytical laboratory for insect
OBJECT_NUCLEAR = 15, // nuclear power plant
OBJECT_START = 16, // starting
OBJECT_END = 17, // finish
OBJECT_INFO = 18, // information terminal
OBJECT_PARA = 19, // lightning conductor
OBJECT_TARGET1 = 20, // gate target
OBJECT_TARGET2 = 21, // center target
OBJECT_SAFE = 22, // safe
OBJECT_HUSTON = 23, // control centre
OBJECT_DESTROYER = 24, // destroyer
OBJECT_FRET = 30, // transportable
OBJECT_STONE = 31, // stone
OBJECT_URANIUM = 32, // uranium
OBJECT_METAL = 33, // metal
OBJECT_POWER = 34, // normal battery
OBJECT_ATOMIC = 35, // atomic battery
OBJECT_BULLET = 36, // bullet
OBJECT_BBOX = 37, // black-box
OBJECT_TNT = 38, // box of TNT
OBJECT_SCRAP1 = 40, // metal waste
OBJECT_SCRAP2 = 41, // metal waste
OBJECT_SCRAP3 = 42, // metal waste
OBJECT_SCRAP4 = 43, // plastic waste
OBJECT_SCRAP5 = 44, // plastic waste
OBJECT_MARKPOWER = 50, // mark underground energy source
OBJECT_MARKSTONE = 51, // mark underground ore
OBJECT_MARKURANIUM = 52, // mark underground uranium
OBJECT_MARKKEYa = 53, // mark underground key
OBJECT_MARKKEYb = 54, // mark underground key
OBJECT_MARKKEYc = 55, // mark underground key
OBJECT_MARKKEYd = 56, // mark underground key
OBJECT_BOMB = 60, // bomb
OBJECT_WINFIRE = 61, // fireworks
OBJECT_SHOW = 62, // shows a place
OBJECT_BAG = 63, // survival bag
OBJECT_PLANT0 = 70, // plant 0
OBJECT_PLANT1 = 71, // plant 1
OBJECT_PLANT2 = 72, // plant 2
OBJECT_PLANT3 = 73, // plant 3
OBJECT_PLANT4 = 74, // plant 4
OBJECT_PLANT5 = 75, // plant 5
OBJECT_PLANT6 = 76, // plant 6
OBJECT_PLANT7 = 77, // plant 7
OBJECT_PLANT8 = 78, // plant 8
OBJECT_PLANT9 = 79, // plant 9
OBJECT_PLANT10 = 80, // plant 10
OBJECT_PLANT11 = 81, // plant 11
OBJECT_PLANT12 = 82, // plant 12
OBJECT_PLANT13 = 83, // plant 13
OBJECT_PLANT14 = 84, // plant 14
OBJECT_PLANT15 = 85, // plant 15
OBJECT_PLANT16 = 86, // plant 16
OBJECT_PLANT17 = 87, // plant 17
OBJECT_PLANT18 = 88, // plant 18
OBJECT_PLANT19 = 89, // plant 19
OBJECT_TREE0 = 90, // tree 0
OBJECT_TREE1 = 91, // tree 1
OBJECT_TREE2 = 92, // tree 2
OBJECT_TREE3 = 93, // tree 3
OBJECT_TREE4 = 94, // tree 4
OBJECT_TREE5 = 95, // tree 5
OBJECT_TREE6 = 96, // tree 6
OBJECT_TREE7 = 97, // tree 7
OBJECT_TREE8 = 98, // tree 8
OBJECT_TREE9 = 99, // tree 9
OBJECT_MOBILEwt = 100, // wheel-trainer
OBJECT_MOBILEtt = 101, // track-trainer
OBJECT_MOBILEft = 102, // fly-trainer
OBJECT_MOBILEit = 103, // insect-trainer
OBJECT_MOBILEwa = 110, // wheel-arm
OBJECT_MOBILEta = 111, // track-arm
OBJECT_MOBILEfa = 112, // fly-arm
OBJECT_MOBILEia = 113, // insect-arm
OBJECT_MOBILEwc = 120, // wheel-cannon
OBJECT_MOBILEtc = 121, // track-cannon
OBJECT_MOBILEfc = 122, // fly-cannon
OBJECT_MOBILEic = 123, // insect-cannon
OBJECT_MOBILEwi = 130, // wheel-insect-cannon
OBJECT_MOBILEti = 131, // track-insect-cannon
OBJECT_MOBILEfi = 132, // fly-insect-cannon
OBJECT_MOBILEii = 133, // insect-insect-cannon
OBJECT_MOBILEws = 140, // wheel-search
OBJECT_MOBILEts = 141, // track-search
OBJECT_MOBILEfs = 142, // fly-search
OBJECT_MOBILEis = 143, // insect-search
OBJECT_MOBILErt = 200, // roller-terraform
OBJECT_MOBILErc = 201, // roller-canon
OBJECT_MOBILErr = 202, // roller-recover
OBJECT_MOBILErs = 203, // roller-shield
OBJECT_MOBILEsa = 210, // submarine
OBJECT_MOBILEtg = 211, // training target
OBJECT_MOBILEdr = 212, // robot drawing
OBJECT_WAYPOINT = 250, // waypoint
OBJECT_FLAGb = 260, // blue flag
OBJECT_FLAGr = 261, // red flag
OBJECT_FLAGg = 262, // green flag
OBJECT_FLAGy = 263, // yellow flag
OBJECT_FLAGv = 264, // violet flag
OBJECT_KEYa = 270, // key a
OBJECT_KEYb = 271, // key b
OBJECT_KEYc = 272, // key c
OBJECT_KEYd = 273, // key d
OBJECT_HUMAN = 300, // human
OBJECT_TOTO = 301, // toto
OBJECT_TECH = 302, // technician
OBJECT_BARRIER0 = 400, // barrier
OBJECT_BARRIER1 = 401, // barrier
OBJECT_BARRIER2 = 402, // barrier
OBJECT_BARRIER3 = 403, // barrier
OBJECT_BARRIER4 = 404, // barrier
OBJECT_MOTHER = 500, // insect queen
OBJECT_EGG = 501, // egg
OBJECT_ANT = 502, // ant
OBJECT_SPIDER = 503, // spider
OBJECT_BEE = 504, // bee
OBJECT_WORM = 505, // worm
OBJECT_RUINmobilew1 = 600, // ruin 1
OBJECT_RUINmobilew2 = 601, // ruin 1
OBJECT_RUINmobilet1 = 602, // ruin 2
OBJECT_RUINmobilet2 = 603, // ruin 2
OBJECT_RUINmobiler1 = 604, // ruin 3
OBJECT_RUINmobiler2 = 605, // ruin 3
OBJECT_RUINfactory = 606, // ruin 4
OBJECT_RUINdoor = 607, // ruin 5
OBJECT_RUINsupport = 608, // ruin 6
OBJECT_RUINradar = 609, // ruin 7
OBJECT_RUINconvert = 610, // ruin 8
OBJECT_RUINbase = 611, // ruin 9
OBJECT_RUINhead = 612, // ruin 10
OBJECT_TEEN0 = 620, // toy
OBJECT_TEEN1 = 621, // toy
OBJECT_TEEN2 = 622, // toy
OBJECT_TEEN3 = 623, // toy
OBJECT_TEEN4 = 624, // toy
OBJECT_TEEN5 = 625, // toy
OBJECT_TEEN6 = 626, // toy
OBJECT_TEEN7 = 627, // toy
OBJECT_TEEN8 = 628, // toy
OBJECT_TEEN9 = 629, // toy
OBJECT_TEEN10 = 630, // toy
OBJECT_TEEN11 = 631, // toy
OBJECT_TEEN12 = 632, // toy
OBJECT_TEEN13 = 633, // toy
OBJECT_TEEN14 = 634, // toy
OBJECT_TEEN15 = 635, // toy
OBJECT_TEEN16 = 636, // toy
OBJECT_TEEN17 = 637, // toy
OBJECT_TEEN18 = 638, // toy
OBJECT_TEEN19 = 639, // toy
OBJECT_TEEN20 = 640, // toy
OBJECT_TEEN21 = 641, // toy
OBJECT_TEEN22 = 642, // toy
OBJECT_TEEN23 = 643, // toy
OBJECT_TEEN24 = 644, // toy
OBJECT_TEEN25 = 645, // toy
OBJECT_TEEN26 = 646, // toy
OBJECT_TEEN27 = 647, // toy
OBJECT_TEEN28 = 648, // toy
OBJECT_TEEN29 = 649, // toy
OBJECT_TEEN30 = 650, // toy
OBJECT_TEEN31 = 651, // toy
OBJECT_TEEN32 = 652, // toy
OBJECT_TEEN33 = 653, // toy
OBJECT_TEEN34 = 654, // toy
OBJECT_TEEN35 = 655, // toy
OBJECT_TEEN36 = 656, // toy
OBJECT_TEEN37 = 657, // toy
OBJECT_TEEN38 = 658, // toy
OBJECT_TEEN39 = 659, // toy
OBJECT_TEEN40 = 660, // toy
OBJECT_TEEN41 = 661, // toy
OBJECT_TEEN42 = 662, // toy
OBJECT_TEEN43 = 663, // toy
OBJECT_TEEN44 = 664, // toy
OBJECT_TEEN45 = 665, // toy
OBJECT_TEEN46 = 666, // toy
OBJECT_TEEN47 = 667, // toy
OBJECT_TEEN48 = 668, // toy
OBJECT_TEEN49 = 669, // toy
OBJECT_QUARTZ0 = 700, // crystal 0
OBJECT_QUARTZ1 = 701, // crystal 1
OBJECT_QUARTZ2 = 702, // crystal 2
OBJECT_QUARTZ3 = 703, // crystal 3
OBJECT_QUARTZ4 = 704, // crystal 4
OBJECT_QUARTZ5 = 705, // crystal 5
OBJECT_QUARTZ6 = 706, // crystal 6
OBJECT_QUARTZ7 = 707, // crystal 7
OBJECT_QUARTZ8 = 708, // crystal 8
OBJECT_QUARTZ9 = 709, // crystal 9
OBJECT_ROOT0 = 710, // root 0
OBJECT_ROOT1 = 711, // root 1
OBJECT_ROOT2 = 712, // root 2
OBJECT_ROOT3 = 713, // root 3
OBJECT_ROOT4 = 714, // root 4
OBJECT_ROOT5 = 715, // root 5
OBJECT_ROOT6 = 716, // root 6
OBJECT_ROOT7 = 717, // root 7
OBJECT_ROOT8 = 718, // root 8
OBJECT_ROOT9 = 719, // root 9
OBJECT_SEAWEED0 = 720, // seaweed 0
OBJECT_SEAWEED1 = 721, // seaweed 1
OBJECT_SEAWEED2 = 722, // seaweed 2
OBJECT_SEAWEED3 = 723, // seaweed 3
OBJECT_SEAWEED4 = 724, // seaweed 4
OBJECT_SEAWEED5 = 725, // seaweed 5
OBJECT_SEAWEED6 = 726, // seaweed 6
OBJECT_SEAWEED7 = 727, // seaweed 7
OBJECT_SEAWEED8 = 728, // seaweed 8
OBJECT_SEAWEED9 = 729, // seaweed 9
OBJECT_MUSHROOM0 = 730, // mushroom 0
OBJECT_MUSHROOM1 = 731, // mushroom 1
OBJECT_MUSHROOM2 = 732, // mushroom 2
OBJECT_MUSHROOM3 = 733, // mushroom 3
OBJECT_MUSHROOM4 = 734, // mushroom 4
OBJECT_MUSHROOM5 = 735, // mushroom 5
OBJECT_MUSHROOM6 = 736, // mushroom 6
OBJECT_MUSHROOM7 = 737, // mushroom 7
OBJECT_MUSHROOM8 = 738, // mushroom 8
OBJECT_MUSHROOM9 = 739, // mushroom 9
OBJECT_APOLLO1 = 900, // apollo lem
OBJECT_APOLLO2 = 901, // apollo jeep
OBJECT_APOLLO3 = 902, // apollo flag
OBJECT_APOLLO4 = 903, // apollo module
OBJECT_APOLLO5 = 904, // apollo antenna
OBJECT_HOME1 = 910, // home 1
OBJECT_MAX = 1000,
};
enum ObjectMaterial
{
OM_METAL = 0, // metal

262
src/object/object_ids.h Normal file
View File

@ -0,0 +1,262 @@
// * This file is part of the COLOBOT source code
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
// *
// * This program is free software: you can redistribute it and/or modify
// * it under the terms of the GNU General Public License as published by
// * the Free Software Foundation, either version 3 of the License, or
// * (at your option) any later version.
// *
// * This program is distributed in the hope that it will be useful,
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// * GNU General Public License for more details.
// *
// * You should have received a copy of the GNU General Public License
// * along with this program. If not, see http://www.gnu.org/licenses/.
#pragma once
enum ObjectType
{
OBJECT_NULL = 0, // object destroyed
OBJECT_FIX = 1, // stationary scenery
OBJECT_PORTICO = 2, // gantry
OBJECT_BASE = 3, // great main base
OBJECT_DERRICK = 4, // derrick set
OBJECT_FACTORY = 5, // factory set
OBJECT_STATION = 6, // recharging station
OBJECT_CONVERT = 7, // converter station
OBJECT_REPAIR = 8, // reparation
OBJECT_TOWER = 9, // defense tower
OBJECT_NEST = 10, // nest
OBJECT_RESEARCH = 11, // research center
OBJECT_RADAR = 12, // radar
OBJECT_ENERGY = 13, // energy factory
OBJECT_LABO = 14, // analytical laboratory for insect
OBJECT_NUCLEAR = 15, // nuclear power plant
OBJECT_START = 16, // starting
OBJECT_END = 17, // finish
OBJECT_INFO = 18, // information terminal
OBJECT_PARA = 19, // lightning conductor
OBJECT_TARGET1 = 20, // gate target
OBJECT_TARGET2 = 21, // center target
OBJECT_SAFE = 22, // safe
OBJECT_HUSTON = 23, // control centre
OBJECT_DESTROYER = 24, // destroyer
OBJECT_FRET = 30, // transportable
OBJECT_STONE = 31, // stone
OBJECT_URANIUM = 32, // uranium
OBJECT_METAL = 33, // metal
OBJECT_POWER = 34, // normal battery
OBJECT_ATOMIC = 35, // atomic battery
OBJECT_BULLET = 36, // bullet
OBJECT_BBOX = 37, // black-box
OBJECT_TNT = 38, // box of TNT
OBJECT_SCRAP1 = 40, // metal waste
OBJECT_SCRAP2 = 41, // metal waste
OBJECT_SCRAP3 = 42, // metal waste
OBJECT_SCRAP4 = 43, // plastic waste
OBJECT_SCRAP5 = 44, // plastic waste
OBJECT_MARKPOWER = 50, // mark underground energy source
OBJECT_MARKSTONE = 51, // mark underground ore
OBJECT_MARKURANIUM = 52, // mark underground uranium
OBJECT_MARKKEYa = 53, // mark underground key
OBJECT_MARKKEYb = 54, // mark underground key
OBJECT_MARKKEYc = 55, // mark underground key
OBJECT_MARKKEYd = 56, // mark underground key
OBJECT_BOMB = 60, // bomb
OBJECT_WINFIRE = 61, // fireworks
OBJECT_SHOW = 62, // shows a place
OBJECT_BAG = 63, // survival bag
OBJECT_PLANT0 = 70, // plant 0
OBJECT_PLANT1 = 71, // plant 1
OBJECT_PLANT2 = 72, // plant 2
OBJECT_PLANT3 = 73, // plant 3
OBJECT_PLANT4 = 74, // plant 4
OBJECT_PLANT5 = 75, // plant 5
OBJECT_PLANT6 = 76, // plant 6
OBJECT_PLANT7 = 77, // plant 7
OBJECT_PLANT8 = 78, // plant 8
OBJECT_PLANT9 = 79, // plant 9
OBJECT_PLANT10 = 80, // plant 10
OBJECT_PLANT11 = 81, // plant 11
OBJECT_PLANT12 = 82, // plant 12
OBJECT_PLANT13 = 83, // plant 13
OBJECT_PLANT14 = 84, // plant 14
OBJECT_PLANT15 = 85, // plant 15
OBJECT_PLANT16 = 86, // plant 16
OBJECT_PLANT17 = 87, // plant 17
OBJECT_PLANT18 = 88, // plant 18
OBJECT_PLANT19 = 89, // plant 19
OBJECT_TREE0 = 90, // tree 0
OBJECT_TREE1 = 91, // tree 1
OBJECT_TREE2 = 92, // tree 2
OBJECT_TREE3 = 93, // tree 3
OBJECT_TREE4 = 94, // tree 4
OBJECT_TREE5 = 95, // tree 5
OBJECT_TREE6 = 96, // tree 6
OBJECT_TREE7 = 97, // tree 7
OBJECT_TREE8 = 98, // tree 8
OBJECT_TREE9 = 99, // tree 9
OBJECT_MOBILEwt = 100, // wheel-trainer
OBJECT_MOBILEtt = 101, // track-trainer
OBJECT_MOBILEft = 102, // fly-trainer
OBJECT_MOBILEit = 103, // insect-trainer
OBJECT_MOBILEwa = 110, // wheel-arm
OBJECT_MOBILEta = 111, // track-arm
OBJECT_MOBILEfa = 112, // fly-arm
OBJECT_MOBILEia = 113, // insect-arm
OBJECT_MOBILEwc = 120, // wheel-cannon
OBJECT_MOBILEtc = 121, // track-cannon
OBJECT_MOBILEfc = 122, // fly-cannon
OBJECT_MOBILEic = 123, // insect-cannon
OBJECT_MOBILEwi = 130, // wheel-insect-cannon
OBJECT_MOBILEti = 131, // track-insect-cannon
OBJECT_MOBILEfi = 132, // fly-insect-cannon
OBJECT_MOBILEii = 133, // insect-insect-cannon
OBJECT_MOBILEws = 140, // wheel-search
OBJECT_MOBILEts = 141, // track-search
OBJECT_MOBILEfs = 142, // fly-search
OBJECT_MOBILEis = 143, // insect-search
OBJECT_MOBILErt = 200, // roller-terraform
OBJECT_MOBILErc = 201, // roller-canon
OBJECT_MOBILErr = 202, // roller-recover
OBJECT_MOBILErs = 203, // roller-shield
OBJECT_MOBILEsa = 210, // submarine
OBJECT_MOBILEtg = 211, // training target
OBJECT_MOBILEdr = 212, // robot drawing
OBJECT_WAYPOINT = 250, // waypoint
OBJECT_FLAGb = 260, // blue flag
OBJECT_FLAGr = 261, // red flag
OBJECT_FLAGg = 262, // green flag
OBJECT_FLAGy = 263, // yellow flag
OBJECT_FLAGv = 264, // violet flag
OBJECT_KEYa = 270, // key a
OBJECT_KEYb = 271, // key b
OBJECT_KEYc = 272, // key c
OBJECT_KEYd = 273, // key d
OBJECT_HUMAN = 300, // human
OBJECT_TOTO = 301, // toto
OBJECT_TECH = 302, // technician
OBJECT_BARRIER0 = 400, // barrier
OBJECT_BARRIER1 = 401, // barrier
OBJECT_BARRIER2 = 402, // barrier
OBJECT_BARRIER3 = 403, // barrier
OBJECT_BARRIER4 = 404, // barrier
OBJECT_MOTHER = 500, // insect queen
OBJECT_EGG = 501, // egg
OBJECT_ANT = 502, // ant
OBJECT_SPIDER = 503, // spider
OBJECT_BEE = 504, // bee
OBJECT_WORM = 505, // worm
OBJECT_RUINmobilew1 = 600, // ruin 1
OBJECT_RUINmobilew2 = 601, // ruin 1
OBJECT_RUINmobilet1 = 602, // ruin 2
OBJECT_RUINmobilet2 = 603, // ruin 2
OBJECT_RUINmobiler1 = 604, // ruin 3
OBJECT_RUINmobiler2 = 605, // ruin 3
OBJECT_RUINfactory = 606, // ruin 4
OBJECT_RUINdoor = 607, // ruin 5
OBJECT_RUINsupport = 608, // ruin 6
OBJECT_RUINradar = 609, // ruin 7
OBJECT_RUINconvert = 610, // ruin 8
OBJECT_RUINbase = 611, // ruin 9
OBJECT_RUINhead = 612, // ruin 10
OBJECT_TEEN0 = 620, // toy
OBJECT_TEEN1 = 621, // toy
OBJECT_TEEN2 = 622, // toy
OBJECT_TEEN3 = 623, // toy
OBJECT_TEEN4 = 624, // toy
OBJECT_TEEN5 = 625, // toy
OBJECT_TEEN6 = 626, // toy
OBJECT_TEEN7 = 627, // toy
OBJECT_TEEN8 = 628, // toy
OBJECT_TEEN9 = 629, // toy
OBJECT_TEEN10 = 630, // toy
OBJECT_TEEN11 = 631, // toy
OBJECT_TEEN12 = 632, // toy
OBJECT_TEEN13 = 633, // toy
OBJECT_TEEN14 = 634, // toy
OBJECT_TEEN15 = 635, // toy
OBJECT_TEEN16 = 636, // toy
OBJECT_TEEN17 = 637, // toy
OBJECT_TEEN18 = 638, // toy
OBJECT_TEEN19 = 639, // toy
OBJECT_TEEN20 = 640, // toy
OBJECT_TEEN21 = 641, // toy
OBJECT_TEEN22 = 642, // toy
OBJECT_TEEN23 = 643, // toy
OBJECT_TEEN24 = 644, // toy
OBJECT_TEEN25 = 645, // toy
OBJECT_TEEN26 = 646, // toy
OBJECT_TEEN27 = 647, // toy
OBJECT_TEEN28 = 648, // toy
OBJECT_TEEN29 = 649, // toy
OBJECT_TEEN30 = 650, // toy
OBJECT_TEEN31 = 651, // toy
OBJECT_TEEN32 = 652, // toy
OBJECT_TEEN33 = 653, // toy
OBJECT_TEEN34 = 654, // toy
OBJECT_TEEN35 = 655, // toy
OBJECT_TEEN36 = 656, // toy
OBJECT_TEEN37 = 657, // toy
OBJECT_TEEN38 = 658, // toy
OBJECT_TEEN39 = 659, // toy
OBJECT_TEEN40 = 660, // toy
OBJECT_TEEN41 = 661, // toy
OBJECT_TEEN42 = 662, // toy
OBJECT_TEEN43 = 663, // toy
OBJECT_TEEN44 = 664, // toy
OBJECT_TEEN45 = 665, // toy
OBJECT_TEEN46 = 666, // toy
OBJECT_TEEN47 = 667, // toy
OBJECT_TEEN48 = 668, // toy
OBJECT_TEEN49 = 669, // toy
OBJECT_QUARTZ0 = 700, // crystal 0
OBJECT_QUARTZ1 = 701, // crystal 1
OBJECT_QUARTZ2 = 702, // crystal 2
OBJECT_QUARTZ3 = 703, // crystal 3
OBJECT_QUARTZ4 = 704, // crystal 4
OBJECT_QUARTZ5 = 705, // crystal 5
OBJECT_QUARTZ6 = 706, // crystal 6
OBJECT_QUARTZ7 = 707, // crystal 7
OBJECT_QUARTZ8 = 708, // crystal 8
OBJECT_QUARTZ9 = 709, // crystal 9
OBJECT_ROOT0 = 710, // root 0
OBJECT_ROOT1 = 711, // root 1
OBJECT_ROOT2 = 712, // root 2
OBJECT_ROOT3 = 713, // root 3
OBJECT_ROOT4 = 714, // root 4
OBJECT_ROOT5 = 715, // root 5
OBJECT_ROOT6 = 716, // root 6
OBJECT_ROOT7 = 717, // root 7
OBJECT_ROOT8 = 718, // root 8
OBJECT_ROOT9 = 719, // root 9
OBJECT_SEAWEED0 = 720, // seaweed 0
OBJECT_SEAWEED1 = 721, // seaweed 1
OBJECT_SEAWEED2 = 722, // seaweed 2
OBJECT_SEAWEED3 = 723, // seaweed 3
OBJECT_SEAWEED4 = 724, // seaweed 4
OBJECT_SEAWEED5 = 725, // seaweed 5
OBJECT_SEAWEED6 = 726, // seaweed 6
OBJECT_SEAWEED7 = 727, // seaweed 7
OBJECT_SEAWEED8 = 728, // seaweed 8
OBJECT_SEAWEED9 = 729, // seaweed 9
OBJECT_MUSHROOM0 = 730, // mushroom 0
OBJECT_MUSHROOM1 = 731, // mushroom 1
OBJECT_MUSHROOM2 = 732, // mushroom 2
OBJECT_MUSHROOM3 = 733, // mushroom 3
OBJECT_MUSHROOM4 = 734, // mushroom 4
OBJECT_MUSHROOM5 = 735, // mushroom 5
OBJECT_MUSHROOM6 = 736, // mushroom 6
OBJECT_MUSHROOM7 = 737, // mushroom 7
OBJECT_MUSHROOM8 = 738, // mushroom 8
OBJECT_MUSHROOM9 = 739, // mushroom 9
OBJECT_APOLLO1 = 900, // apollo lem
OBJECT_APOLLO2 = 901, // apollo jeep
OBJECT_APOLLO3 = 902, // apollo flag
OBJECT_APOLLO4 = 903, // apollo module
OBJECT_APOLLO5 = 904, // apollo antenna
OBJECT_HOME1 = 910, // home 1
OBJECT_MAX = 1000,
};

2097
src/po/de.po Normal file

File diff suppressed because it is too large Load Diff

2097
src/po/fr.po Normal file

File diff suppressed because it is too large Load Diff

2097
src/po/pl.po Normal file

File diff suppressed because it is too large Load Diff