ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/common/init.C
(Generate patch)

Comparing deliantra/server/common/init.C (file contents):
Revision 1.4 by root, Sun Sep 3 07:57:54 2006 UTC vs.
Revision 1.7 by root, Thu Sep 7 13:34:56 2006 UTC

1/* 1/*
2 * static char *rcsid_init_c = 2 * static char *rcsid_init_c =
3 * "$Id: init.C,v 1.4 2006/09/03 07:57:54 root Exp $"; 3 * "$Id: init.C,v 1.7 2006/09/07 13:34:56 root Exp $";
4 */ 4 */
5 5
6/* 6/*
7 CrossFire, A Multiplayer game for X-windows 7 CrossFire, A Multiplayer game for X-windows
8 8
24 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 24 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
25 25
26 The authors can be reached via e-mail at crossfire-devel@real-time.com 26 The authors can be reached via e-mail at crossfire-devel@real-time.com
27*/ 27*/
28 28
29#define EXTERN 29#define EXTERN // horrible hack
30#define INIT_C 30
31#include <global.h> 31#include <global.h>
32#include <object.h> 32#include <object.h>
33
34extern const char* const attacktype_desc[NROFATTACKS] = {
35# define def(uc, name, lc, plus, change) # name,
36# include "attackinc.h"
37# undef def
38};
39
40extern const keyword resist_save[NROFATTACKS] = {
41# define def(uc, name, lc, plus, change) KW_resist_ ## lc,
42# include "attackinc.h"
43# undef def
44};
45
46extern const char* const resist_plus[NROFATTACKS] = {
47# define def(uc, name, lc, plus, change) # plus
48# include "attackinc.h"
49# undef def
50};
51
52extern const char* const change_resist_msg[NROFATTACKS] = {
53# define def(uc, name, lc, plus, change) # change
54# include "attackinc.h"
55# undef def
56};
57
58int resist_table[NROFATTACKS] = {
59# define def(uc, name, lc, plus, change) ATNR_ ## uc,
60# include "attackinc.h"
61# undef def
62};
33 63
34/* You unforunately need to looking in include/global.h to see what these 64/* You unforunately need to looking in include/global.h to see what these
35 * correspond to. 65 * correspond to.
36 */ 66 */
37struct Settings settings = { 67struct Settings settings = {
266 * Sets up and initialises the linked list of free and used objects. 296 * Sets up and initialises the linked list of free and used objects.
267 * Allocates a certain chunk of objects and puts them on the free list. 297 * Allocates a certain chunk of objects and puts them on the free list.
268 * Called by init_library(); 298 * Called by init_library();
269 */ 299 */
270 300
301void
271void init_objects(void) { 302init_objects(void)
272 int i; 303{
273/* Initialize all objects: */ 304 /* Initialize all objects: */
274 objects=NULL; 305 objects = NULL;
275 active_objects = NULL; 306 active_objects = NULL;
276
277#ifdef MEMORY_DEBUG
278 free_objects=NULL;
279#else
280 free_objects=objarray;
281 objarray[0].prev=NULL,
282 objarray[0].next= &objarray[1],
283 SET_FLAG(&objarray[0], FLAG_REMOVED);
284 SET_FLAG(&objarray[0], FLAG_FREED);
285 for(i=1;i<STARTMAX-1;i++) {
286 objarray[i].next= &objarray[i+1];
287 objarray[i].prev= &objarray[i-1];
288 SET_FLAG(&objarray[i], FLAG_REMOVED);
289 SET_FLAG(&objarray[i], FLAG_FREED);
290 }
291 objarray[STARTMAX-1].next=NULL;
292 objarray[STARTMAX-1].prev= &objarray[STARTMAX-2];
293 SET_FLAG(&objarray[STARTMAX-1], FLAG_REMOVED);
294 SET_FLAG(&objarray[STARTMAX-1], FLAG_FREED);
295#endif
296} 307}
297 308
298/* 309/*
299 * Initialises global variables which can be changed by options. 310 * Initialises global variables which can be changed by options.
300 * Called by init_library(). 311 * Called by init_library().

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines