1 | /* |
1 | /* |
2 | * This file is part of Deliantra, the Roguelike Realtime MMORPG. |
2 | * This file is part of Deliantra, the Roguelike Realtime MMORPG. |
3 | * |
3 | * |
4 | * Copyright (©) 2005,2006,2007,2008 Marc Alexander Lehmann / Robin Redeker / the Deliantra team |
4 | * Copyright (©) 2005,2006,2007,2008,2009,2010 Marc Alexander Lehmann / Robin Redeker / the Deliantra team |
5 | * Copyright (©) 2002,2007 Mark Wedel & Crossfire Development Team |
5 | * Copyright (©) 2002 Mark Wedel & Crossfire Development Team |
6 | * Copyright (©) 1992,2007 Frank Tore Johansen |
6 | * Copyright (©) 1992 Frank Tore Johansen |
7 | * |
7 | * |
8 | * Deliantra is free software: you can redistribute it and/or modify it under |
8 | * Deliantra is free software: you can redistribute it and/or modify it under |
9 | * the terms of the Affero GNU General Public License as published by the |
9 | * the terms of the Affero GNU General Public License as published by the |
10 | * Free Software Foundation, either version 3 of the License, or (at your |
10 | * Free Software Foundation, either version 3 of the License, or (at your |
11 | * option) any later version. |
11 | * option) any later version. |
… | |
… | |
28 | //#define _GLIBCXX_CONCEPT_CHECKS |
28 | //#define _GLIBCXX_CONCEPT_CHECKS |
29 | |
29 | |
30 | #ifndef EXTERN |
30 | #ifndef EXTERN |
31 | #define EXTERN extern |
31 | #define EXTERN extern |
32 | #endif |
32 | #endif |
33 | |
|
|
34 | #include "includes.h" |
|
|
35 | #include "config.h" |
|
|
36 | #include "compiler.h" |
|
|
37 | #include "define.h" |
|
|
38 | #include "logger.h" |
|
|
39 | |
|
|
40 | #ifndef TRUE |
|
|
41 | #define TRUE 1 |
|
|
42 | #endif |
|
|
43 | |
|
|
44 | #ifndef FALSE |
|
|
45 | #define FALSE 0 |
|
|
46 | #endif |
|
|
47 | |
|
|
48 | extern short freearr_x[SIZEOFFREE], freearr_y[SIZEOFFREE]; |
|
|
49 | extern int freedir[SIZEOFFREE]; |
|
|
50 | extern int rightof_x[9], rightof_y[9]; |
|
|
51 | extern int leftof_x[9], leftof_y[9]; |
|
|
52 | |
33 | |
53 | // used only for tagging structure members so scripting languages |
34 | // used only for tagging structure members so scripting languages |
54 | // can easily parse the include files. |
35 | // can easily parse the include files. |
55 | #define INTERFACE_CLASS(name) |
36 | #define INTERFACE_CLASS(name) |
56 | #define ACC(meta,member) member |
37 | #define ACC(meta,member) member |
57 | #define MTH |
38 | #define MTH |
|
|
39 | #define GENCONST_IV(patterns) |
|
|
40 | |
|
|
41 | #include "includes.h" |
|
|
42 | #include "config.h" |
|
|
43 | #include "compiler.h" |
|
|
44 | #include "define.h" |
|
|
45 | #include "traits.h" |
|
|
46 | |
|
|
47 | #ifndef TRUE |
|
|
48 | #define TRUE 1 |
|
|
49 | #endif |
|
|
50 | |
|
|
51 | #ifndef FALSE |
|
|
52 | #define FALSE 0 |
|
|
53 | #endif |
|
|
54 | |
|
|
55 | extern short freearr_x[SIZEOFFREE], freearr_y[SIZEOFFREE]; |
|
|
56 | extern int freedir[SIZEOFFREE]; |
|
|
57 | extern int rightof_x[9], rightof_y[9]; |
|
|
58 | extern int leftof_x[9], leftof_y[9]; |
|
|
59 | |
|
|
60 | extern sint64 levels [MAXNUMLEVELS]; |
58 | |
61 | |
59 | #include "keyword.h" |
62 | #include "keyword.h" |
60 | #include "traits.h" |
63 | #include "logger.h" |
61 | #include "dynbuf.h" |
64 | #include "dynbuf.h" |
62 | #include "util.h" |
65 | #include "util.h" |
|
|
66 | #include "rng.h" |
63 | #include "shstr.h" |
67 | #include "shstr.h" |
64 | #include "cfperl.h" |
68 | #include "cfperl.h" |
65 | |
69 | |
66 | /* This blob, in this order, is needed to actually define maps */ |
70 | /* This blob, in this order, is needed to actually define maps */ |
67 | #include "face.h" |
71 | #include "face.h" |
68 | #include "sounds.h" |
72 | #include "sounds.h" |
69 | |
73 | |
70 | #include "spells.h" |
74 | #include "spells.h" |
71 | |
75 | |
72 | #include "attack.h" /* needs to be before material.h */ |
76 | #include "attack.h" /* needs to be before material.h */ |
73 | #include "material.h" |
77 | #include "material.h" /* needs to be before freezethaw.h */ |
74 | #include "living.h" |
78 | #include "living.h" |
75 | #include "object.h" |
79 | #include "object.h" |
76 | #include "region.h" |
80 | #include "region.h" |
77 | #include "map.h" |
81 | #include "map.h" |
78 | #include "tod.h" |
82 | #include "tod.h" |
… | |
… | |
86 | /* Pull in the player structure */ |
90 | /* Pull in the player structure */ |
87 | #include "player.h" |
91 | #include "player.h" |
88 | |
92 | |
89 | /* pull in treasure structure */ |
93 | /* pull in treasure structure */ |
90 | #include "treasure.h" |
94 | #include "treasure.h" |
91 | |
|
|
92 | #include "commands.h" |
|
|
93 | |
95 | |
94 | /* pull in book structures */ |
96 | /* pull in book structures */ |
95 | #include "book.h" |
97 | #include "book.h" |
96 | /* |
98 | /* |
97 | * So far only used when dealing with artifacts. |
99 | * So far only used when dealing with artifacts. |
… | |
… | |
176 | const char *ACC (RO, mapdir); /* Where the map files are */ |
178 | const char *ACC (RO, mapdir); /* Where the map files are */ |
177 | const char *ACC (RO, archetypes); /* name of the archetypes file - libdir is prepended */ |
179 | const char *ACC (RO, archetypes); /* name of the archetypes file - libdir is prepended */ |
178 | const char *ACC (RO, regions); /* name of the regions file - libdir is prepended */ |
180 | const char *ACC (RO, regions); /* name of the regions file - libdir is prepended */ |
179 | const char *ACC (RO, treasures); /* location of the treasures file. */ |
181 | const char *ACC (RO, treasures); /* location of the treasures file. */ |
180 | const char *ACC (RO, uniquedir); /* directory for the unique items */ |
182 | const char *ACC (RO, uniquedir); /* directory for the unique items */ |
181 | const char *ACC (RO, templatedir); /* directory for the template map */ |
183 | const char *templatedir; /* directory for the template map */ |
182 | const char *ACC (RO, tmpdir); /* Directory to use for temporary files */ |
184 | const char *ACC (RO, tmpdir); /* Directory to use for temporary files */ |
183 | sint16 ACC (RW, pk_luck_penalty); /* Amount by which player luck is reduced if they PK */ |
185 | sint16 ACC (RW, pk_luck_penalty); /* Amount by which player luck is reduced if they PK */ |
184 | uint8 ACC (RW, stat_loss_on_death); /* If true, chars lose a random stat when they die */ |
186 | uint8 ACC (RW, stat_loss_on_death); /* If true, chars lose a random stat when they die */ |
185 | uint8 ACC (RW, permanent_exp_ratio); /* how much exp should be 'permenant' and unable to be lost*/ |
187 | uint8 ACC (RW, permanent_exp_ratio); /* how much exp should be 'permenant' and unable to be lost*/ |
186 | uint8 ACC (RW, death_penalty_ratio); /* how much exp should be lost at death */ |
188 | uint8 ACC (RW, death_penalty_ratio); /* how much exp should be lost at death */ |