File: global.h

package info (click to toggle)
bzflag 2.4.30-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 26,488 kB
  • sloc: cpp: 150,376; ansic: 3,463; sh: 2,535; makefile: 2,194; perl: 486; python: 260; objc: 246; php: 206
file content (142 lines) | stat: -rw-r--r-- 3,665 bytes parent folder | download
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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
/* bzflag
 * Copyright (c) 1993-2025 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"


// values affecting struct and class layout
const int       CallSignLen = 32;   // including terminating NUL
const int       PasswordLen = 32;   // including terminating NUL
const int       MottoLen = 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

// world->maxPlayers do not work as bzfs uses more player slot than
// real players. Any tcp connection is assigned a slot.
// So I put now 216. We should fix it though.
const int       maxRemotePlayers = 216;

// types of things we can be
enum PlayerType
{
    TankPlayer,
    ComputerPlayer
};

// types of text messages
enum MessageType
{
    ChatMessage,
    ActionMessage
};

// team info
const int       NumTeams = 8;
const int       CtfTeams = 5;
enum TeamColor
{
    AutomaticTeam = -2,
    NoTeam = -1,
    RogueTeam = 0,
    RedTeam = 1,
    GreenTeam = 2,
    BlueTeam = 3,
    PurpleTeam = 4,
    ObserverTeam = 5,
    RabbitTeam = 6,
    HunterTeam = 7
};

#ifdef ROBOT
// robots
#define MAX_ROBOTS 100
#else
#define MAX_ROBOTS 0
#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 types
enum GameType
{
    TeamFFA,       // normal teamed FFA
    ClassicCTF,    // your normal CTF
    OpenFFA,       // teamless FFA
    RabbitChase    // hunt the rabbit mode
};
// game styles
enum GameOptions
{
    SuperFlagGameStyle =   0x0002, // superflags allowed
    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)
    NoTeamKillsGameStyle = 0x0400
                           // add here before reusing old ones above
};

// map object flags
#define _DRIVE_THRU  ( 1 << 0 )
#define _SHOOT_THRU  ( 1 << 1 )
#define _FLIP_Z      ( 1 << 2 )
#define _RICOCHET    ( 1 << 3 )

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[];

#endif // BZF_GLOBAL_H

// Local Variables: ***
// mode: C++ ***
// tab-width: 4 ***
// c-basic-offset: 4 ***
// indent-tabs-mode: nil ***
// End: ***
// ex: shiftwidth=4 tabstop=4