From 9a15db1bea7563ffd19c66b63006be568784f5a4 Mon Sep 17 00:00:00 2001 From: krzys-h Date: Sat, 15 Aug 2015 14:02:07 +0200 Subject: [PATCH] Split global.h --- src/app/app.cpp | 1 + src/app/app.h | 5 +- src/common/error.h | 159 +++++++++++++ src/common/global.h | 209 +----------------- src/common/language.h | 34 +++ src/common/restext.cpp | 2 +- src/common/restext.h | 2 - src/graphics/engine/engine.cpp | 2 +- src/graphics/engine/pyro.h | 3 +- src/level/build_type.h | 47 ++++ src/level/research_type.h | 42 ++++ src/level/robotmain.cpp | 3 +- src/level/robotmain.h | 4 +- src/level/scene_conditions.h | 1 + src/object/auto/auto.h | 3 +- src/object/auto/autofactory.cpp | 1 - src/object/auto/autolabo.cpp | 1 - src/object/auto/autolabo.h | 2 + src/object/auto/autoresearch.h | 3 +- .../implementation/programmable_impl.cpp | 2 + src/object/motion/motion.h | 2 +- src/object/object.cpp | 1 + src/object/object_manager.cpp | 1 + src/object/task/task.h | 2 +- src/object/task/taskdeletemark.cpp | 2 + src/object/task/taskgoto.cpp | 1 + src/object/task/taskinfo.cpp | 3 +- src/object/task/taskrecover.cpp | 2 + src/physics/physics.h | 2 +- src/script/script.h | 2 - src/script/scriptfunc.cpp | 1 + src/script/scriptfunc.h | 2 +- src/ui/displaytext.h | 3 +- src/ui/mainshort.cpp | 2 + src/ui/object_interface.cpp | 2 + src/ui/screen/screen_level_list.cpp | 2 + src/ui/screen/screen_player_select.cpp | 3 +- 37 files changed, 325 insertions(+), 234 deletions(-) create mode 100644 src/common/error.h create mode 100644 src/common/language.h create mode 100644 src/level/build_type.h create mode 100644 src/level/research_type.h diff --git a/src/app/app.cpp b/src/app/app.cpp index ed169904..4c0387f8 100644 --- a/src/app/app.cpp +++ b/src/app/app.cpp @@ -25,6 +25,7 @@ #include "app/input.h" #include "app/system.h" +#include "common/config_file.h" #include "common/image.h" #include "common/key.h" #include "common/logger.h" diff --git a/src/app/app.h b/src/app/app.h index bea0fdae..a269b444 100644 --- a/src/app/app.h +++ b/src/app/app.h @@ -24,9 +24,8 @@ #pragma once -#include "common/config_file.h" #include "common/event.h" -#include "common/global.h" +#include "common/language.h" #include "common/singleton.h" #include "graphics/core/device.h" @@ -43,12 +42,14 @@ class CController; class CSoundInterface; class CInput; class CPathManager; +class CConfigFile; class CSystemUtils; struct SystemTimeStamp; namespace Gfx { class CEngine; +struct DeviceConfig; } /** diff --git a/src/common/error.h b/src/common/error.h new file mode 100644 index 00000000..767bf395 --- /dev/null +++ b/src/common/error.h @@ -0,0 +1,159 @@ +/* + * This file is part of the Colobot: Gold Edition source code + * Copyright (C) 2001-2014, Daniel Roux, EPSITEC SA & TerranovaTeam + * http://epsiteс.ch; http://colobot.info; http://github.com/colobot + * + * 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://gnu.org/licenses + */ + +#pragma once + + +/** + * \enum Error + * \brief Type of error or info message + */ +enum Error +{ + ERR_OK = 0, //! < ok + ERR_UNKNOWN = 1, //! < any error + ERR_CONTINUE = 2, //! < continues + ERR_STOP = 3, //! < stops + ERR_CMD = 4, //! < unknown command + 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_BUILD_DISABLED = 132, //! < built: can not produce this object in this mission + ERR_BUILD_RESEARCH = 133, //! < built: can not produce not researched object + ERR_SEARCH_FLY = 140, //! < not possible in flight + ERR_SEARCH_MOTOR = 142, //! < impossible in movement + 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_ENERGY = 161, //! < not enough energy + ERR_FIRE_FLY = 162, //! < not possible in flight + ERR_RECOVER_ENERGY = 171, //! < not enough energy + ERR_RECOVER_NULL = 172, //! < lack of ruin + ERR_CONVERT_EMPTY = 180, //! < no stone was transformed + 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_DESTROY_NOTFOUND = 410, //! < not found anything to destroy + ERR_WRONG_OBJ = 420, //! < inappropriate vehicle + 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_ENEMY_OBJECT = 703, //! < can't control enemy object + ERR_OBLIGATORYTOKEN = 800, //! < compulsory instruction missing + ERR_PROHIBITEDTOKEN = 801, //! < instruction prohibited + ERR_AIM_IMPOSSIBLE = 900, //! < cannot aim at specified angle(s) + ERR_WRONG_BOT = 910, //! < inappropriate bot + + 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, //! < useful object found + 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 + + ERR_MAX //! < number of values +}; diff --git a/src/common/global.h b/src/common/global.h index 17d6f143..2855ef36 100644 --- a/src/common/global.h +++ b/src/common/global.h @@ -1,6 +1,6 @@ /* * This file is part of the Colobot: Gold Edition source code - * Copyright (C) 2001-2014, Daniel Roux, EPSITEC SA & TerranovaTeam + * Copyright (C) 2001-2015, Daniel Roux, EPSITEC SA & TerranovaTeam * http://epsiteс.ch; http://colobot.info; http://github.com/colobot * * This program is free software: you can redistribute it and/or modify @@ -17,214 +17,7 @@ * along with this program. If not, see http://gnu.org/licenses */ -/** - * \file common/global.h - * \brief Some common, global definitions - */ - #pragma once - -/** - * \enum Error - * \brief Type of error or info message - */ -enum Error -{ - ERR_OK = 0, //! < ok - ERR_UNKNOWN = 1, //! < any error - ERR_CONTINUE = 2, //! < continues - ERR_STOP = 3, //! < stops - ERR_CMD = 4, //! < unknown command - 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_BUILD_DISABLED = 132, //! < built: can not produce this object in this mission - ERR_BUILD_RESEARCH = 133, //! < built: can not produce not researched object - ERR_SEARCH_FLY = 140, //! < not possible in flight - ERR_SEARCH_MOTOR = 142, //! < impossible in movement - 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_ENERGY = 161, //! < not enough energy - ERR_FIRE_FLY = 162, //! < not possible in flight - ERR_RECOVER_ENERGY = 171, //! < not enough energy - ERR_RECOVER_NULL = 172, //! < lack of ruin - ERR_CONVERT_EMPTY = 180, //! < no stone was transformed - 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_DESTROY_NOTFOUND = 410, //! < not found anything to destroy - ERR_WRONG_OBJ = 420, //! < inappropriate vehicle - 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_ENEMY_OBJECT = 703, //! < can't control enemy object - ERR_OBLIGATORYTOKEN = 800, //! < compulsory instruction missing - ERR_PROHIBITEDTOKEN = 801, //! < instruction prohibited - ERR_AIM_IMPOSSIBLE = 900, //! < cannot aim at specified angle(s) - ERR_WRONG_BOT = 910, //! < inappropriate bot - - 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, //! < useful object found - 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 - - ERR_MAX //! < number of values -}; - -/** - * \enum Language - * \brief Application language - */ -enum Language -{ - LANGUAGE_ENV = -1, - LANGUAGE_ENGLISH = 0, - LANGUAGE_FRENCH = 1, - LANGUAGE_GERMAN = 2, - LANGUAGE_POLISH = 3, - LANGUAGE_RUSSIAN = 4 -}; - - -/** - * \enum BuildType - * \brief Construction actions (buildings, etc.) available to user - * - * TODO: refactor - */ -enum BuildType -{ - BUILD_FACTORY = (1<<0), //! < factory - BUILD_DERRICK = (1<<1), //! < derrick - BUILD_CONVERT = (1<<2), //! < converter - BUILD_RADAR = (1<<3), //! < radar - BUILD_ENERGY = (1<<4), //! < factory of cells - BUILD_NUCLEAR = (1<<5), //! < nuclear power plant - BUILD_STATION = (1<<6), //! < base station - BUILD_REPAIR = (1<<7), //! < repair center - BUILD_TOWER = (1<<8), //! < defense tower - BUILD_RESEARCH = (1<<9), //! < research center - BUILD_LABO = (1<<10), //! < laboratory - BUILD_PARA = (1<<11), //! < lightning protection - BUILD_INFO = (1<<12), //! < information terminal - BUILD_DESTROYER = (1<<13), //! < Destroyer - BUILD_GFLAT = (1<<16), //! < flat floor - BUILD_FLAG = (1<<17) //! < puts / removes colored flag -}; - -/** - * \enum ResearchType - * \brief Research actions available to user - */ -enum ResearchType -{ - RESEARCH_TANK = (1<<0), //! < caterpillars - RESEARCH_FLY = (1<<1), //! < wings - RESEARCH_CANON = (1<<2), //! < cannon - RESEARCH_TOWER = (1<<3), //! < defense tower - RESEARCH_ATOMIC = (1<<4), //! < nuclear - RESEARCH_THUMP = (1<<5), //! < thumper - RESEARCH_SHIELD = (1<<6), //! < shield - RESEARCH_PHAZER = (1<<7), //! < phazer gun - RESEARCH_iPAW = (1<<8), //! < legs of insects - RESEARCH_iGUN = (1<<9), //! < cannon of insects - RESEARCH_RECYCLER = (1<<10), //! < recycler - RESEARCH_SUBM = (1<<11), //! < submarine - RESEARCH_SNIFFER = (1<<12) //! < sniffer -}; - - // TODO: move to CRobotMain extern float g_unit; // conversion factor diff --git a/src/common/language.h b/src/common/language.h new file mode 100644 index 00000000..f27adfe5 --- /dev/null +++ b/src/common/language.h @@ -0,0 +1,34 @@ +/* + * This file is part of the Colobot: Gold Edition source code + * Copyright (C) 2001-2015, Daniel Roux, EPSITEC SA & TerranovaTeam + * http://epsiteс.ch; http://colobot.info; http://github.com/colobot + * + * 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://gnu.org/licenses + */ + +#pragma once + +/** + * \enum Language + * \brief Application language + */ +enum Language +{ + LANGUAGE_ENV = -1, + LANGUAGE_ENGLISH = 0, + LANGUAGE_FRENCH = 1, + LANGUAGE_GERMAN = 2, + LANGUAGE_POLISH = 3, + LANGUAGE_RUSSIAN = 4 +}; diff --git a/src/common/restext.cpp b/src/common/restext.cpp index 50a0ac79..81a01632 100644 --- a/src/common/restext.cpp +++ b/src/common/restext.cpp @@ -26,8 +26,8 @@ #include "app/input.h" +#include "common/error.h" #include "common/event.h" -#include "common/global.h" #include "common/logger.h" #include "common/stringutils.h" diff --git a/src/common/restext.h b/src/common/restext.h index 12b15f7c..c7929258 100644 --- a/src/common/restext.h +++ b/src/common/restext.h @@ -25,8 +25,6 @@ #pragma once -#include "common/global.h" - #include diff --git a/src/graphics/engine/engine.cpp b/src/graphics/engine/engine.cpp index 955371e6..6b329af5 100644 --- a/src/graphics/engine/engine.cpp +++ b/src/graphics/engine/engine.cpp @@ -4820,7 +4820,7 @@ void CEngine::DrawStats() drawStatsValue( "FPS", m_fps); drawStatsLine(); str.str(""); - str << std::fixed << std::setprecision(2) << m_statisticPos.x/g_unit << "; " << m_statisticPos.z/g_unit; + str << std::fixed << std::setprecision(2) << m_statisticPos.x << "; " << m_statisticPos.z; drawStatsLine( "Position", str.str()); } diff --git a/src/graphics/engine/pyro.h b/src/graphics/engine/pyro.h index 3f66b523..e5ce6f71 100644 --- a/src/graphics/engine/pyro.h +++ b/src/graphics/engine/pyro.h @@ -26,7 +26,7 @@ #include "common/event.h" -#include "common/global.h" +#include "common/error.h" #include "graphics/core/color.h" @@ -188,4 +188,3 @@ protected: } // namespace Gfx - diff --git a/src/level/build_type.h b/src/level/build_type.h new file mode 100644 index 00000000..1203c005 --- /dev/null +++ b/src/level/build_type.h @@ -0,0 +1,47 @@ +/* + * This file is part of the Colobot: Gold Edition source code + * Copyright (C) 2001-2014, Daniel Roux, EPSITEC SA & TerranovaTeam + * http://epsiteс.ch; http://colobot.info; http://github.com/colobot + * + * 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://gnu.org/licenses + */ + +#pragma once + + +/** + * \enum BuildType + * \brief Construction actions (buildings, etc.) available to user + * + * TODO: refactor + */ +enum BuildType +{ + BUILD_FACTORY = (1<<0), //! < BotFactory + BUILD_DERRICK = (1<<1), //! < Derrick + BUILD_CONVERT = (1<<2), //! < Converter + BUILD_RADAR = (1<<3), //! < RadarStation + BUILD_ENERGY = (1<<4), //! < PowerPlant + BUILD_NUCLEAR = (1<<5), //! < NuclearPlant + BUILD_STATION = (1<<6), //! < PowerStation + BUILD_REPAIR = (1<<7), //! < RepairCenter + BUILD_TOWER = (1<<8), //! < DefenseTower + BUILD_RESEARCH = (1<<9), //! < ResearchCenter + BUILD_LABO = (1<<10), //! < AutoLab + BUILD_PARA = (1<<11), //! < PowerCaptor + BUILD_INFO = (1<<12), //! < ExchangePost + BUILD_DESTROYER = (1<<13), //! < Destroyer + BUILD_GFLAT = (1<<16), //! < checking flat ground + BUILD_FLAG = (1<<17) //! < putting / removing flags +}; diff --git a/src/level/research_type.h b/src/level/research_type.h new file mode 100644 index 00000000..030e0d80 --- /dev/null +++ b/src/level/research_type.h @@ -0,0 +1,42 @@ +/* + * This file is part of the Colobot: Gold Edition source code + * Copyright (C) 2001-2014, Daniel Roux, EPSITEC SA & TerranovaTeam + * http://epsiteс.ch; http://colobot.info; http://github.com/colobot + * + * 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://gnu.org/licenses + */ + +#pragma once + + +/** + * \enum ResearchType + * \brief Research actions available to user + */ +enum ResearchType +{ + RESEARCH_TANK = (1<<0), //! < caterpillars + RESEARCH_FLY = (1<<1), //! < wings + RESEARCH_CANON = (1<<2), //! < cannon + RESEARCH_TOWER = (1<<3), //! < defense tower + RESEARCH_ATOMIC = (1<<4), //! < nuclear + RESEARCH_THUMP = (1<<5), //! < thumper + RESEARCH_SHIELD = (1<<6), //! < shield + RESEARCH_PHAZER = (1<<7), //! < phazer gun + RESEARCH_iPAW = (1<<8), //! < legs of insects + RESEARCH_iGUN = (1<<9), //! < cannon of insects + RESEARCH_RECYCLER = (1<<10), //! < recycler + RESEARCH_SUBM = (1<<11), //! < submarine + RESEARCH_SNIFFER = (1<<12) //! < sniffer +}; diff --git a/src/level/robotmain.cpp b/src/level/robotmain.cpp index 6a9088d5..27165b64 100644 --- a/src/level/robotmain.cpp +++ b/src/level/robotmain.cpp @@ -26,7 +26,6 @@ #include "common/config_file.h" #include "common/event.h" -#include "common/global.h" #include "common/logger.h" #include "common/make_unique.h" #include "common/misc.h" @@ -2253,7 +2252,7 @@ void CRobotMain::UpdateInfoText() if (obj != nullptr) { Math::Vector pos = obj->GetPosition(); - m_engine->SetStatisticPos(pos); + m_engine->SetStatisticPos(pos / g_unit); } } m_engine->SetTimerDisplay(m_missionTimerEnabled && m_missionTimerStarted ? TimeFormat(m_missionTimer) : ""); diff --git a/src/level/robotmain.h b/src/level/robotmain.h index 18134342..ac460b9b 100644 --- a/src/level/robotmain.h +++ b/src/level/robotmain.h @@ -26,11 +26,13 @@ #include "app/pausemanager.h" -#include "common/global.h" +#include "common/error.h" #include "common/singleton.h" +#include "level/build_type.h" #include "level/level_category.h" #include "level/mainmovie.h" +#include "level/research_type.h" #include "graphics/engine/camera.h" #include "graphics/engine/particle.h" diff --git a/src/level/scene_conditions.h b/src/level/scene_conditions.h index 5e593737..b0735360 100644 --- a/src/level/scene_conditions.h +++ b/src/level/scene_conditions.h @@ -24,6 +24,7 @@ #pragma once +#include "common/error.h" #include "common/global.h" #include "math/vector.h" diff --git a/src/object/auto/auto.h b/src/object/auto/auto.h index 2cc2f663..4cd15070 100644 --- a/src/object/auto/auto.h +++ b/src/object/auto/auto.h @@ -23,7 +23,7 @@ #include "common/event.h" -#include "common/global.h" +#include "common/error.h" #include "object/object_type.h" @@ -120,4 +120,3 @@ protected: float m_progressTime = 0.0f; float m_progressTotal = 0.0f; }; - diff --git a/src/object/auto/autofactory.cpp b/src/object/auto/autofactory.cpp index 20f3a95f..f2cb76ca 100644 --- a/src/object/auto/autofactory.cpp +++ b/src/object/auto/autofactory.cpp @@ -20,7 +20,6 @@ #include "object/auto/autofactory.h" -#include "common/global.h" #include "common/make_unique.h" #include "math/geometry.h" diff --git a/src/object/auto/autolabo.cpp b/src/object/auto/autolabo.cpp index d8e2ca8f..ab80c0b2 100644 --- a/src/object/auto/autolabo.cpp +++ b/src/object/auto/autolabo.cpp @@ -20,7 +20,6 @@ #include "object/auto/autolabo.h" -#include "common/global.h" #include "common/make_unique.h" #include "common/misc.h" diff --git a/src/object/auto/autolabo.h b/src/object/auto/autolabo.h index 47bf2af1..48942a23 100644 --- a/src/object/auto/autolabo.h +++ b/src/object/auto/autolabo.h @@ -24,6 +24,8 @@ #include "object/auto/auto.h" +#include "level/research_type.h" + class CPoweredObject; diff --git a/src/object/auto/autoresearch.h b/src/object/auto/autoresearch.h index 59e15d7d..ea38c71e 100644 --- a/src/object/auto/autoresearch.h +++ b/src/object/auto/autoresearch.h @@ -24,6 +24,8 @@ #include "object/auto/auto.h" +#include "level/research_type.h" + enum AutoResearchPhase { @@ -69,4 +71,3 @@ protected: int m_partiStop[6] = {}; int m_channelSound = 0; }; - diff --git a/src/object/implementation/programmable_impl.cpp b/src/object/implementation/programmable_impl.cpp index 84657d0a..79bc528c 100644 --- a/src/object/implementation/programmable_impl.cpp +++ b/src/object/implementation/programmable_impl.cpp @@ -19,6 +19,8 @@ #include "object/implementation/programmable_impl.h" +#include "common/global.h" + #include "level/robotmain.h" #include "math/all.h" diff --git a/src/object/motion/motion.h b/src/object/motion/motion.h index 074fe91a..cb512cd6 100644 --- a/src/object/motion/motion.h +++ b/src/object/motion/motion.h @@ -23,7 +23,7 @@ #include "common/event.h" -#include "common/global.h" +#include "common/error.h" #include "object/object_type.h" diff --git a/src/object/object.cpp b/src/object/object.cpp index 846b6846..b15f469e 100644 --- a/src/object/object.cpp +++ b/src/object/object.cpp @@ -19,6 +19,7 @@ #include "object/object.h" +#include "common/global.h" #include "common/restext.h" #include "common/stringutils.h" diff --git a/src/object/object_manager.cpp b/src/object/object_manager.cpp index 9c16b108..826ebf0c 100644 --- a/src/object/object_manager.cpp +++ b/src/object/object_manager.cpp @@ -19,6 +19,7 @@ #include "object/object_manager.h" +#include "common/global.h" #include "common/make_unique.h" #include "math/all.h" diff --git a/src/object/task/task.h b/src/object/task/task.h index 48c0b73f..f79be9fb 100644 --- a/src/object/task/task.h +++ b/src/object/task/task.h @@ -23,7 +23,7 @@ #include "common/event.h" -#include "common/global.h" +#include "common/error.h" #include "math/const.h" diff --git a/src/object/task/taskdeletemark.cpp b/src/object/task/taskdeletemark.cpp index 51e29dd8..ec17a274 100644 --- a/src/object/task/taskdeletemark.cpp +++ b/src/object/task/taskdeletemark.cpp @@ -20,6 +20,8 @@ #include "object/task/taskdeletemark.h" +#include "common/global.h" + #include "graphics/engine/particle.h" #include "graphics/engine/terrain.h" diff --git a/src/object/task/taskgoto.cpp b/src/object/task/taskgoto.cpp index 9b95fa2a..ee06621c 100644 --- a/src/object/task/taskgoto.cpp +++ b/src/object/task/taskgoto.cpp @@ -20,6 +20,7 @@ #include "object/task/taskgoto.h" +#include "common/global.h" #include "common/event.h" #include "common/make_unique.h" diff --git a/src/object/task/taskinfo.cpp b/src/object/task/taskinfo.cpp index cfbe72ea..798e3d73 100644 --- a/src/object/task/taskinfo.cpp +++ b/src/object/task/taskinfo.cpp @@ -20,6 +20,8 @@ #include "object/task/taskinfo.h" +#include "common/global.h" + #include "graphics/engine/particle.h" #include "object/object_manager.h" @@ -152,4 +154,3 @@ CExchangePost* CTaskInfo::FindExchangePost(float power) return dynamic_cast( CObjectManager::GetInstancePointer()->FindNearest(m_object, OBJECT_INFO, power/g_unit)); } - diff --git a/src/object/task/taskrecover.cpp b/src/object/task/taskrecover.cpp index 95d5e141..4c453ffb 100644 --- a/src/object/task/taskrecover.cpp +++ b/src/object/task/taskrecover.cpp @@ -20,6 +20,8 @@ #include "object/task/taskrecover.h" +#include "common/global.h" + #include "graphics/engine/particle.h" #include "level/robotmain.h" diff --git a/src/physics/physics.h b/src/physics/physics.h index fb4e2645..4647b4d0 100644 --- a/src/physics/physics.h +++ b/src/physics/physics.h @@ -25,7 +25,7 @@ #pragma once -#include "common/global.h" +#include "common/error.h" #include "math/vector.h" diff --git a/src/script/script.h b/src/script/script.h index 627c3fb9..0f1e3477 100644 --- a/src/script/script.h +++ b/src/script/script.h @@ -26,8 +26,6 @@ #include "CBot/CBotDll.h" -#include "common/global.h" - #include #include diff --git a/src/script/scriptfunc.cpp b/src/script/scriptfunc.cpp index 12535d6a..f8aa6141 100644 --- a/src/script/scriptfunc.cpp +++ b/src/script/scriptfunc.cpp @@ -23,6 +23,7 @@ #include "app/app.h" +#include "common/global.h" #include "common/logger.h" #include "common/make_unique.h" diff --git a/src/script/scriptfunc.h b/src/script/scriptfunc.h index 5af89864..8bab4647 100644 --- a/src/script/scriptfunc.h +++ b/src/script/scriptfunc.h @@ -26,7 +26,7 @@ #include "CBot/CBotDll.h" -#include "common/global.h" +#include "common/error.h" #include #include diff --git a/src/ui/displaytext.h b/src/ui/displaytext.h index eba49b94..b38d9ce3 100644 --- a/src/ui/displaytext.h +++ b/src/ui/displaytext.h @@ -22,7 +22,7 @@ #pragma once #include "common/event.h" -#include "common/global.h" +#include "common/error.h" #include @@ -106,4 +106,3 @@ protected: } // namespace Ui - diff --git a/src/ui/mainshort.cpp b/src/ui/mainshort.cpp index 698fc3af..33029714 100644 --- a/src/ui/mainshort.cpp +++ b/src/ui/mainshort.cpp @@ -32,6 +32,8 @@ #include "object/interface/controllable_object.h" #include "object/interface/programmable_object.h" +#include + namespace Ui { diff --git a/src/ui/object_interface.cpp b/src/ui/object_interface.cpp index 631d67b2..51f807f6 100644 --- a/src/ui/object_interface.cpp +++ b/src/ui/object_interface.cpp @@ -21,6 +21,8 @@ #include "app/app.h" +#include "common/global.h" + #include "graphics/core/color.h" #include "graphics/engine/terrain.h" diff --git a/src/ui/screen/screen_level_list.cpp b/src/ui/screen/screen_level_list.cpp index 6fff247e..060c42f8 100644 --- a/src/ui/screen/screen_level_list.cpp +++ b/src/ui/screen/screen_level_list.cpp @@ -39,6 +39,8 @@ #include "ui/controls/list.h" #include "ui/controls/window.h" +#include + namespace Ui { diff --git a/src/ui/screen/screen_player_select.cpp b/src/ui/screen/screen_player_select.cpp index 369f779f..b07bc7bb 100644 --- a/src/ui/screen/screen_player_select.cpp +++ b/src/ui/screen/screen_player_select.cpp @@ -30,12 +30,13 @@ #include "sound/sound.h" +#include "ui/maindialog.h" + #include "ui/controls/button.h" #include "ui/controls/edit.h" #include "ui/controls/interface.h" #include "ui/controls/label.h" #include "ui/controls/list.h" -#include "ui/maindialog.h" #include "ui/controls/window.h" namespace Ui