2012-06-26 20:23:05 +00:00
|
|
|
// * 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/.
|
|
|
|
|
2012-09-09 15:51:10 +00:00
|
|
|
/**
|
|
|
|
* \file common/global.h
|
|
|
|
* \brief Some common, global definitions
|
|
|
|
*/
|
2012-06-26 20:23:05 +00:00
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
2012-09-09 15:51:10 +00:00
|
|
|
#include "error_ids.h"
|
2012-06-26 20:23:05 +00:00
|
|
|
|
2012-09-09 15:51:10 +00:00
|
|
|
/**
|
|
|
|
* \enum Language
|
|
|
|
* \brief Application language
|
|
|
|
*/
|
|
|
|
enum Language
|
2012-06-26 20:23:05 +00:00
|
|
|
{
|
2012-09-09 15:51:10 +00:00
|
|
|
LANG_ENGLISH = 0,
|
|
|
|
LANG_FRENCH = 1,
|
|
|
|
LANG_GERMAN = 2,
|
|
|
|
LANG_POLISH = 3
|
2012-06-26 20:23:05 +00:00
|
|
|
};
|
|
|
|
|
2012-09-09 15:51:10 +00:00
|
|
|
/**
|
|
|
|
* \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_GFLAT = (1<<16), //! < flat floor
|
|
|
|
BUILD_FLAG = (1<<17) //! < puts / removes colored flag
|
|
|
|
};
|
2012-06-26 20:23:05 +00:00
|
|
|
|
2012-09-09 15:51:10 +00:00
|
|
|
/**
|
|
|
|
* \enum ResearchType
|
|
|
|
* \brief Research actions available to user
|
|
|
|
*/
|
2012-06-26 20:23:05 +00:00
|
|
|
enum ResearchType
|
|
|
|
{
|
2012-09-09 15:51:10 +00:00
|
|
|
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
|
2012-06-26 20:23:05 +00:00
|
|
|
};
|
|
|
|
|
2012-09-09 15:51:10 +00:00
|
|
|
/**
|
2012-09-19 16:32:18 +00:00
|
|
|
* \enum InputSlot
|
|
|
|
* \brief Available slots for input bindings
|
2012-09-09 15:51:10 +00:00
|
|
|
*/
|
2012-09-19 16:32:18 +00:00
|
|
|
enum InputSlot
|
2012-09-09 15:51:10 +00:00
|
|
|
{
|
2012-09-19 16:32:18 +00:00
|
|
|
INPUT_SLOT_LEFT = 0,
|
|
|
|
INPUT_SLOT_RIGHT = 1,
|
|
|
|
INPUT_SLOT_UP = 2,
|
|
|
|
INPUT_SLOT_DOWN = 3,
|
|
|
|
INPUT_SLOT_GUP = 4,
|
|
|
|
INPUT_SLOT_GDOWN = 5,
|
|
|
|
INPUT_SLOT_CAMERA = 6,
|
|
|
|
INPUT_SLOT_DESEL = 7,
|
|
|
|
INPUT_SLOT_ACTION = 8,
|
|
|
|
INPUT_SLOT_NEAR = 9,
|
|
|
|
INPUT_SLOT_AWAY = 10,
|
|
|
|
INPUT_SLOT_NEXT = 11,
|
|
|
|
INPUT_SLOT_HUMAN = 12,
|
|
|
|
INPUT_SLOT_QUIT = 13,
|
|
|
|
INPUT_SLOT_HELP = 14,
|
|
|
|
INPUT_SLOT_PROG = 15,
|
|
|
|
INPUT_SLOT_VISIT = 16,
|
|
|
|
INPUT_SLOT_SPEED10 = 17,
|
|
|
|
INPUT_SLOT_SPEED15 = 18,
|
|
|
|
INPUT_SLOT_SPEED20 = 19,
|
|
|
|
INPUT_SLOT_SPEED30 = 20,
|
|
|
|
INPUT_SLOT_AIMUP = 21,
|
|
|
|
INPUT_SLOT_AIMDOWN = 22,
|
|
|
|
INPUT_SLOT_CBOT = 23,
|
2012-09-12 21:43:04 +00:00
|
|
|
|
2012-09-19 16:32:18 +00:00
|
|
|
INPUT_SLOT_MAX
|
2012-09-09 15:51:10 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
// TODO: move to CRobotMain
|
2012-06-26 20:23:05 +00:00
|
|
|
extern long g_id; // unique identifier
|
2012-09-17 22:01:00 +00:00
|
|
|
extern int g_build; // constructible buildings
|
|
|
|
extern int g_researchDone; // research done
|
2012-06-26 20:23:05 +00:00
|
|
|
extern long g_researchEnable; // research available
|
|
|
|
extern float g_unit; // conversion factor
|