1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
|
/* bzflag
* Copyright (c) 1993 - 2006 Tim Riker
*
* This package is free software; you can redistribute it and/or
* modify it under the terms of the license found in the file
* named COPYING that should have accompanied this file.
*
* THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*/
#ifndef BZF_GLOBAL_H
#define BZF_GLOBAL_H
/*
* Global constants
*/
#include "common.h"
/* system headers */
#include <math.h>
/* common headers */
#include "StateDatabase.h"
#include "bzfsAPI.h"
// values affecting struct and class layout
const int CallSignLen = 32; // including terminating NUL
const int PasswordLen = 32; // including terminating NUL
const int EmailLen = 128; // including terminating NUL
const int TokenLen = 22; // opaque string (now int(10)) and terminating NUL
const int VersionLen = 60; // including terminating NUL
const int MessageLen = 128; // including terminating NUL
// types of things we can be
enum PlayerType {
TankPlayer,
ComputerPlayer
};
// team info
const int NumTeams = 7;
const int CtfTeams = 5;
enum TeamColor {
AutomaticTeam = -2,
NoTeam = -1,
RogueTeam = 0,
RedTeam = 1,
GreenTeam = 2,
BlueTeam = 3,
PurpleTeam = 4,
ObserverTeam = 5,
RabbitTeam = 6
};
#ifdef ROBOT
// robots
#define MAX_ROBOTS 100
#endif
// epsilon and very far for ray intersections
const float Epsilon = ZERO_TOLERANCE; // arbitrary
const float Infinity = MAXFLOAT; // arbitrary
#define DEFAULT_WORLD 800
// readout stuff
const int MaxMessages = 20; // msg. history length
const int MinX = 256;
const int MinY = 192;
const int NoMotionSize = 10; // no motion zone size
const int MaxMotionSize = 37; // motion zone size
// game styles
enum GameStyle {
PlainGameStyle = 0x0000,
TeamFlagGameStyle = 0x0001, // capture the flag
SuperFlagGameStyle = 0x0002, // superflags allowed
//FormerRogueStyle = 0x0004, // used to be rogue, but now we have rogue maxplayers
JumpingGameStyle = 0x0008, // jumping allowed
InertiaGameStyle = 0x0010, // momentum for all
RicochetGameStyle = 0x0020, // all shots ricochet
ShakableGameStyle = 0x0040, // can drop bad flags
AntidoteGameStyle = 0x0080, // anti-bad flags
HandicapGameStyle = 0x0100, // handicap players based on score (eek! was TimeSyncGameStyle)
RabbitChaseGameStyle = 0x0200 // rabbit chase
// add here before reusing old ones above
};
// map object flags
#define _DRIVE_THRU 0x01
#define _SHOOT_THRU 0x02
#define _FLIP_Z 0x04
const int mapVersion = 1;
struct GlobalDBItem {
public:
const char* name;
const char* value;
bool persistent;
StateDatabase::Permission permission;
};
extern const unsigned int numGlobalDBItems;
extern const struct GlobalDBItem globalDBItems[];
bz_eTeamType convertTeam ( TeamColor team );
TeamColor convertTeam( bz_eTeamType team );
#endif // BZF_GLOBAL_H
// Local Variables: ***
// mode: C++ ***
// tab-width: 8 ***
// c-basic-offset: 2 ***
// indent-tabs-mode: t ***
// End: ***
// ex: shiftwidth=2 tabstop=8
|