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,2009,2010 Marc Alexander Lehmann / Robin Redeker / the Deliantra team |
4 | * Copyright (©) 2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016 Marc Alexander Lehmann / Robin Redeker / the Deliantra team |
5 | * Copyright (©) 2002 Mark Wedel & Crossfire Development Team |
5 | * Copyright (©) 2002 Mark Wedel & Crossfire Development Team |
6 | * Copyright (©) 1992 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. |
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 Affero GNU General Public License |
18 | * You should have received a copy of the Affero GNU General Public License |
19 | * and the GNU General Public License along with this program. If not, see |
19 | * and the GNU General Public License along with this program. If not, see |
20 | * <http://www.gnu.org/licenses/>. |
20 | * <http://www.gnu.org/licenses/>. |
21 | * |
21 | * |
22 | * The authors can be reached via e-mail to <support@deliantra.net> |
22 | * The authors can be reached via e-mail to <support@deliantra.net> |
23 | */ |
23 | */ |
24 | |
24 | |
25 | #ifndef GLOBAL_H |
25 | #ifndef GLOBAL_H |
26 | #define GLOBAL_H |
26 | #define GLOBAL_H |
… | |
… | |
50 | |
50 | |
51 | #ifndef FALSE |
51 | #ifndef FALSE |
52 | #define FALSE 0 |
52 | #define FALSE 0 |
53 | #endif |
53 | #endif |
54 | |
54 | |
55 | extern short freearr_x[SIZEOFFREE], freearr_y[SIZEOFFREE]; |
55 | extern int freearr_x[SIZEOFFREE]; |
|
|
56 | extern int freearr_y[SIZEOFFREE]; |
56 | extern int freedir[SIZEOFFREE]; |
57 | extern int freedir[SIZEOFFREE]; |
57 | extern int rightof_x[9], rightof_y[9]; |
58 | extern int rightof_x[9], rightof_y[9]; |
58 | extern int leftof_x[9], leftof_y[9]; |
59 | extern int leftof_x[9], leftof_y[9]; |
59 | |
60 | |
60 | extern sint64 levels [MAXNUMLEVELS]; |
61 | extern sint64 levels [MAXNUMLEVELS]; |
… | |
… | |
93 | /* pull in treasure structure */ |
94 | /* pull in treasure structure */ |
94 | #include "treasure.h" |
95 | #include "treasure.h" |
95 | |
96 | |
96 | /* pull in book structures */ |
97 | /* pull in book structures */ |
97 | #include "book.h" |
98 | #include "book.h" |
|
|
99 | |
|
|
100 | #include "quadland.h" |
|
|
101 | |
98 | /* |
102 | /* |
99 | * So far only used when dealing with artifacts. |
103 | * So far only used when dealing with artifacts. |
100 | * (now used by alchemy and other code too. Nov 95 b.t). |
104 | * (now used by alchemy and other code too. Nov 95 b.t). |
101 | */ |
105 | */ |
102 | struct linked_char |
106 | struct linked_char |
… | |
… | |
134 | */ |
138 | */ |
135 | |
139 | |
136 | EXTERN bool init_done; /* Ignores signals until init_done is true */ |
140 | EXTERN bool init_done; /* Ignores signals until init_done is true */ |
137 | EXTERN bool in_cleanup; /* True when cleanup() is reached */ |
141 | EXTERN bool in_cleanup; /* True when cleanup() is reached */ |
138 | |
142 | |
139 | extern tick_t pticks; /* used by various function to determine */ |
143 | extern tick_t server_tick; /* used by various function to determine */ |
140 | /* how often to save the character */ |
144 | /* how often to save the character */ |
141 | /* |
145 | /* |
142 | * Misc global variables: |
146 | * Misc global variables: |
143 | */ |
147 | */ |
144 | EXTERN shstr first_map_path; /* The start-level */ |
148 | EXTERN shstr first_map_path; /* The start-level */ |
… | |
… | |
162 | #include "sockproto.h" |
166 | #include "sockproto.h" |
163 | |
167 | |
164 | INTERFACE_CLASS (Settings) |
168 | INTERFACE_CLASS (Settings) |
165 | struct Settings { |
169 | struct Settings { |
166 | const char *ACC (RO, logfilename); /* logfile to use */ |
170 | const char *ACC (RO, logfilename); /* logfile to use */ |
167 | int ACC (RW, csport); /* port for new client/server */ |
|
|
168 | int ACC (RW, debug); /* Default debugging level */ |
171 | int ACC (RW, debug); /* Default debugging level */ |
169 | uint8 dumpvalues; /* Set to dump various values/tables */ |
172 | int argc; |
170 | const char *dumparg; /* additional argument for some dump functions */ |
173 | char **argv; |
171 | uint8 daemonmode; /* If true, detach and become daemon */ |
|
|
172 | int argc; /* parameters that were passed to the program */ |
|
|
173 | char **argv; /* Only used by xio.c, so will go away at some time */ |
|
|
174 | const char *ACC (RO, confdir); /* configuration files */ |
174 | const char *ACC (RO, confdir); /* configuration files */ |
175 | const char *ACC (RO, datadir); /* read only data files */ |
175 | const char *ACC (RO, datadir); /* read only data files */ |
176 | const char *ACC (RO, localdir); /* read/write data files */ |
176 | const char *ACC (RO, localdir); /* read/write data files */ |
177 | const char *ACC (RO, playerdir); /* Where the player files are */ |
177 | const char *ACC (RO, playerdir); /* Where the player files are */ |
178 | const char *ACC (RO, mapdir); /* Where the map files are */ |
178 | const char *ACC (RO, mapdir); /* Where the map files are */ |
179 | const char *ACC (RO, archetypes); /* name of the archetypes file - libdir is prepended */ |
|
|
180 | const char *ACC (RO, regions); /* name of the regions file - libdir is prepended */ |
|
|
181 | const char *ACC (RO, treasures); /* location of the treasures file. */ |
|
|
182 | const char *ACC (RO, uniquedir); /* directory for the unique items */ |
179 | const char *ACC (RO, uniquedir); /* directory for the unique items */ |
183 | const char *templatedir; /* directory for the template map */ |
|
|
184 | const char *ACC (RO, tmpdir); /* Directory to use for temporary files */ |
180 | const char *ACC (RO, tmpdir); /* Directory to use for temporary files */ |
185 | sint16 ACC (RW, pk_luck_penalty); /* Amount by which player luck is reduced if they PK */ |
181 | sint16 ACC (RW, pk_luck_penalty); /* Amount by which player luck is reduced if they PK */ |
186 | uint8 ACC (RW, stat_loss_on_death); /* If true, chars lose a random stat when they die */ |
182 | uint8 ACC (RW, stat_loss_on_death); /* If true, chars lose a random stat when they die */ |
187 | uint8 ACC (RW, permanent_exp_ratio); /* how much exp should be 'permenant' and unable to be lost*/ |
183 | uint8 ACC (RW, permanent_exp_ratio); /* how much exp should be 'permenant' and unable to be lost*/ |
188 | uint8 ACC (RW, death_penalty_ratio); /* how much exp should be lost at death */ |
184 | uint8 ACC (RW, death_penalty_ratio); /* how much exp should be lost at death */ |
… | |
… | |
194 | uint8 ACC (RW, resurrection); /* ressurection possible w/ permadeth on */ |
190 | uint8 ACC (RW, resurrection); /* ressurection possible w/ permadeth on */ |
195 | uint8 ACC (RW, search_items); /* search_items command */ |
191 | uint8 ACC (RW, search_items); /* search_items command */ |
196 | uint8 ACC (RW, spell_encumbrance); /* encumbrance effects spells */ |
192 | uint8 ACC (RW, spell_encumbrance); /* encumbrance effects spells */ |
197 | uint8 ACC (RW, spell_failure_effects); /* nasty backlash to spell failures */ |
193 | uint8 ACC (RW, spell_failure_effects); /* nasty backlash to spell failures */ |
198 | uint16 ACC (RW, set_friendly_fire); /* Percent of damage done by peaceful player vs player damage */ |
194 | uint16 ACC (RW, set_friendly_fire); /* Percent of damage done by peaceful player vs player damage */ |
199 | uint8 dummy_001; |
|
|
200 | uint8 dummy_002; |
|
|
201 | uint8 dummy_000; |
|
|
202 | uint8 ACC (RW, spellpoint_level_depend); /* spell costs go up with level */ |
195 | uint8 ACC (RW, spellpoint_level_depend); /* spell costs go up with level */ |
203 | |
196 | |
204 | int ACC (RW, max_level); /* This is read out of exp_table */ |
197 | int ACC (RW, max_level); /* This is read out of exp_table */ |
205 | float ACC (RW, item_power_factor); /* See note in setings file */ |
198 | float ACC (RW, item_power_factor); /* See note in setings file */ |
206 | |
199 | |