openclonk/src/config/C4Constants.h

185 lines
4.4 KiB
C

/*
* OpenClonk, http://www.openclonk.org
*
* Copyright (c) 1998-2000, Matthes Bender
* Copyright (c) 2001-2009, RedWolf Design GmbH, http://www.clonk.de/
* Copyright (c) 2009-2016, The OpenClonk Team and contributors
*
* Distributed under the terms of the ISC license; see accompanying file
* "COPYING" for details.
*
* "Clonk" is a registered trademark of Matthes Bender, used with permission.
* See accompanying file "TRADEMARK" for details.
*
* To redistribute this file separately, substitute the full license texts
* for the above references.
*/
/* Lots of constants */
#ifndef INC_C4Constants
#define INC_C4Constants
//============================= Main =====================================================
const size_t C4MaxTitle = 512;
const int
C4MaxDefString = 100,
C4MaxMessage = 256,
C4RetireDelay = 60,
C4MaxKey = 12,
C4MaxKeyboardSet = 4,
C4MaxControlSet = C4MaxKeyboardSet+4, // keyboard sets+gamepads
C4MaxControlRate = 20,
C4MaxGammaUserRamps = 8,
C4MaxGammaRamps = C4MaxGammaUserRamps+1;
// gamma ramp indices
#define C4GRI_SCENARIO 0
#define C4GRI_SEASON 1
#define C4GRI_RESERVED1 2
#define C4GRI_DAYTIME 3
#define C4GRI_RESERVED2 4
#define C4GRI_LIGHTNING 5
#define C4GRI_MAGIC 6
#define C4GRI_RESERVED3 7
#define C4GRI_USER 8
const int
C4M_MaxName = 15,
C4M_MaxDefName = 2*C4M_MaxName+1,
C4M_MaxTexIndex = 255; // last texture map index is reserved for diff
const int C4S_MaxPlayer = 4;
const int C4D_MaxVertex = 30;
const int
C4SymbolSize = 35,
C4UpperBoardHeight = 50,
C4PictureSize = 64,
C4MaxBigIconSize = 64;
const int C4P_MaxPosition = 4;
const int C4ViewportScrollBorder = 40; // scrolling past landscape allowed at range of this border
//============================= Engine Return Values ======================================
const int
C4XRV_Completed = 0,
C4XRV_Failure = 1,
C4XRV_Aborted = 2;
//============================= Object Character Flags ====================================
const uint32_t
OCF_None = 0,
OCF_All = ~OCF_None,
OCF_Normal = 1,
OCF_Construct = 1<<1,
OCF_Grab = 1<<2,
OCF_Carryable = 1<<3,
OCF_OnFire = 1<<4,
OCF_HitSpeed1 = 1<<5,
OCF_FullCon = 1<<6,
OCF_Inflammable = 1<<7,
OCF_Rotate = 1<<9,
OCF_Exclusive = 1<<10,
OCF_Entrance = 1<<11,
OCF_HitSpeed2 = 1<<12,
OCF_HitSpeed3 = 1<<13,
OCF_Collection = 1<<14,
OCF_HitSpeed4 = 1<<16,
OCF_AttractLightning = 1<<17,
OCF_NotContained = 1<<18,
OCF_CrewMember = 1<<19,
OCF_InLiquid = 1<<20,
OCF_InSolid = 1<<21,
OCF_InFree = 1<<22,
OCF_Available = 1<<23,
OCF_Container = 1<<24,
OCF_Alive = 1<<25;
//================================== Contact / Attachment ==============================================
const BYTE // Directional
CNAT_None = 0,
CNAT_Left = 1,
CNAT_Right = 2,
CNAT_Top = 4,
CNAT_Bottom = 8,
CNAT_Center = 16,
// Additional flags
CNAT_MultiAttach = 32, // new attachment behaviour; see C4Shape::Attach
CNAT_NoCollision = 64, // turn off collision for this vertex
CNAT_PhaseHalfVehicle = 128;
const BYTE CNAT_Flags = CNAT_MultiAttach | CNAT_NoCollision | CNAT_PhaseHalfVehicle; // all attchment flags that can be combined with regular attachment
//=================================== Control Commands ======================================================
const BYTE
COM_MenuEnter = 38,
COM_MenuEnterAll = 39,
COM_MenuClose = 40,
COM_MenuShowText = 42,
COM_MenuLeft = 52,
COM_MenuRight = 53,
COM_MenuUp = 54,
COM_MenuDown = 55,
COM_MenuSelect = 60;
//=================================== Owners ==============================================
const int
NO_OWNER = -1,
ANY_OWNER = -2;
//=================================== League (escape those damn circular includes =========
enum C4LeagueDisconnectReason
{
C4LDR_Unknown,
C4LDR_ConnectionFailed,
C4LDR_Desync
};
//=================================== Player (included by C4PlayerInfo and C4Player)
enum C4PlayerType
{
C4PT_None = 0,
C4PT_User = 1, // Normal player
C4PT_Script = 2 // AI players, etc.
};
//=================================== AllowPictureStack (DefCore value)
enum C4AllowPictureStack
{
APS_Color = 1<<0,
APS_Graphics = 1<<1,
APS_Name = 1<<2,
APS_Overlay = 1<<3
};
// Material constants
// Material Density Levels
const int32_t
C4M_Vehicle = 100,
C4M_Solid = 50,
C4M_SemiSolid = 25,
C4M_Liquid = 25,
C4M_Background = 0;
const int32_t MNone = -1;
// Object size
const int32_t FullCon = 100000;
#endif // INC_C4Constants