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.38 by root, Sun Jan 7 02:39:14 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);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines