ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/include/global.h
(Generate patch)

Comparing deliantra/server/include/global.h (file contents):
Revision 1.37 by pippijn, Sat Jan 6 14:42:30 2007 UTC vs.
Revision 1.42 by root, Thu Feb 15 15:00:01 2007 UTC

1/* 1/*
2 CrossFire, A Multiplayer game for X-windows 2 * CrossFire, A Multiplayer game for X-windows
3 3 *
4 Copyright (C) 2005, 2006, 2007 Marc Lehmann & Crossfire+ Development Team 4 * Copyright (C) 2005, 2006, 2007 Marc Lehmann & Crossfire+ Development Team
5 Copyright (C) 2002 Mark Wedel & Crossfire Development Team 5 * Copyright (C) 2002 Mark Wedel & Crossfire Development Team
6 Copyright (C) 1992 Frank Tore Johansen 6 * Copyright (C) 1992 Frank Tore Johansen
7 7 *
8 This program is free software; you can redistribute it and/or modify 8 * This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by 9 * it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 2 of the License, or 10 * the Free Software Foundation; either version 2 of the License, or
11 (at your option) any later version. 11 * (at your option) any later version.
12 12 *
13 This program is distributed in the hope that it will be useful, 13 * This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details. 16 * GNU General Public License for more details.
17 17 *
18 You should have received a copy of the GNU General Public License 18 * You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software 19 * along with this program; if not, write to the Free Software
20 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 20 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 21 *
22 The author can be reached via e-mail to crossfire@schmorp.de 22 * The author can be reached via e-mail to crossfire@schmorp.de
23*/ 23 */
24 24
25#ifndef GLOBAL_H 25#ifndef GLOBAL_H
26#define GLOBAL_H 26#define GLOBAL_H
27 27
28#ifndef EXTERN 28#ifndef EXTERN
109 109
110/***************************************************************************** 110/*****************************************************************************
111 * GLOBAL VARIABLES: * 111 * GLOBAL VARIABLES: *
112 *****************************************************************************/ 112 *****************************************************************************/
113 113
114extern New_Face *new_faces; 114extern facetile *new_faces;
115 115
116/* 116/*
117 * These are the beginnings of linked lists: 117 * These are the beginnings of linked lists:
118 */ 118 */
119EXTERN player *first_player;
120EXTERN region *first_region;
121EXTERN treasurelist *first_treasurelist; 119EXTERN treasurelist *first_treasurelist;
122EXTERN artifactlist *first_artifactlist; 120EXTERN artifactlist *first_artifactlist;
123EXTERN archetype *first_archetype; 121EXTERN archetype *first_archetype;
124EXTERN objectlink *first_friendly_object; /* Objects monsters will go after */ 122EXTERN objectlink *first_friendly_object; /* Objects monsters will go after */
125EXTERN godlink *first_god; 123EXTERN godlink *first_god;
155/* 153/*
156 * Used in treasure.c 154 * Used in treasure.c
157 */ 155 */
158EXTERN archetype *ring_arch,*amulet_arch,*staff_arch,*crown_arch; 156EXTERN archetype *ring_arch,*amulet_arch,*staff_arch,*crown_arch;
159 157
160EXTERN std::vector<Animations> animations; 158EXTERN std::vector<animation> animations;
161EXTERN int num_animations,animations_allocated, bmaps_checksum; 159EXTERN int num_animations,animations_allocated, bmaps_checksum;
162 160
163/* Rotate right from bsd sum. This is used in various places for checksumming */ 161/* Rotate right. This is used in various places for checksumming */
164#define ROTATE_RIGHT(c) if ((c) & 01) (c) = ((c) >>1) + 0x80000000; else (c) >>= 1; 162static inline uint32_t
163ROTATE_RIGHT (uint32_t c)
164{
165 return (c >> 31) | (c << 1);
166}
165 167
166#define SET_ANIMATION(ob,newanim) ob->face = new_faces + animations [ob->animation_id].faces [newanim] 168#define SET_ANIMATION(ob,newanim) ob->face = new_faces + animations [ob->animation_id].faces [newanim]
167#define GET_ANIMATION(ob,anim) animations [ob->animation_id].faces [anim] 169#define GET_ANIMATION(ob,anim) animations [ob->animation_id].faces [anim]
168#define GET_ANIM_ID(ob) (ob->animation_id) 170#define GET_ANIM_ID(ob) (ob->animation_id)
169/* NUM_ANIMATIONS returns the number of animations allocated. The last 171/* NUM_ANIMATIONS returns the number of animations allocated. The last
177extern short freearr_x[SIZEOFFREE], freearr_y[SIZEOFFREE]; 179extern short freearr_x[SIZEOFFREE], freearr_y[SIZEOFFREE];
178extern int maxfree[SIZEOFFREE], freedir[SIZEOFFREE]; 180extern int maxfree[SIZEOFFREE], freedir[SIZEOFFREE];
179extern int rightof_x[9], rightof_y[9]; 181extern int rightof_x[9], rightof_y[9];
180extern int leftof_x[9], leftof_y[9]; 182extern int leftof_x[9], leftof_y[9];
181 183
182extern New_Face *blank_face, *empty_face; 184extern facetile *blank_face, *empty_face;
183extern New_Face *dark_faces[]; 185extern facetile *dark_faces[];
184extern New_Face *smooth_face; 186extern facetile *smooth_face;
185 187
186extern client *init_sockets; 188extern client *init_sockets;
187 189
188extern void emergency_save (); 190extern void emergency_save ();
189extern void cleanup (const char *cause, bool make_core = false); 191extern void cleanup (const char *cause, bool make_core = false);
229 uint8 ACC (RW, spell_encumbrance); /* encumbrance effects spells */ 231 uint8 ACC (RW, spell_encumbrance); /* encumbrance effects spells */
230 uint8 ACC (RW, spell_failure_effects); /* nasty backlash to spell failures */ 232 uint8 ACC (RW, spell_failure_effects); /* nasty backlash to spell failures */
231 uint16 ACC (RW, set_friendly_fire); /* Percent of damage done by peaceful player vs player damage */ 233 uint16 ACC (RW, set_friendly_fire); /* Percent of damage done by peaceful player vs player damage */
232 uint8 ACC (RW, casting_time); /* it takes awhile to cast a spell */ 234 uint8 ACC (RW, casting_time); /* it takes awhile to cast a spell */
233 uint8 ACC (RW, real_wiz); /* use mud-like wizards */ 235 uint8 ACC (RW, real_wiz); /* use mud-like wizards */
234 uint8 ACC (RW, explore_mode); /* explore mode allowed? */ 236 uint8 dummy_000;
235 uint8 ACC (RW, spellpoint_level_depend); /* spell costs go up with level */ 237 uint8 ACC (RW, spellpoint_level_depend); /* spell costs go up with level */
236 char ACC (RW, motd)[MAX_BUF]; /* name of the motd file */ 238 char ACC (RW, motd)[MAX_BUF]; /* name of the motd file */
237 char *ACC (RO, rules); /* name of rules file*/ 239 char *ACC (RO, rules); /* name of rules file*/
238 char *ACC (RO, news); /* name of news file*/ 240 char *ACC (RO, news); /* name of news file*/
239 char ACC (RW, dm_mail)[MAX_BUF]; /* DM's Email address */ 241 char ACC (RW, dm_mail)[MAX_BUF]; /* DM's Email address */

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines