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.59 by root, Thu Apr 29 07:32:33 2010 UTC vs.
Revision 1.68 by root, Sun Jan 29 02:47:04 2017 UTC

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#define EXTERN // horrible hack 25#define EXTERN // horrible hack
26 26
27#include <global.h> 27#include <global.h>
28#include <object.h> 28#include <object.h>
29 29
30dynbuf_text msg_dynbuf (65536, 65536); 30dynbuf_text msg_dynbuf (65536, 65536);
31 31
32extern const char *const attacktype_name[NROFATTACKS] = {
33# define def(uc, lc, desc, plus, change) # lc,
34# include "attackinc.h"
35# undef def
36};
37
32extern const char *const attacktype_desc[NROFATTACKS] = { 38extern const char *const attacktype_desc[NROFATTACKS] = {
33# define def(uc, lc, name, plus, change) # name, 39# define def(uc, lc, desc, plus, change) # desc,
34# include "attackinc.h" 40# include "attackinc.h"
35# undef def 41# undef def
36}; 42};
37 43
38extern const char *const resist_plus[NROFATTACKS] = { 44extern const char *const resist_plus[NROFATTACKS] = {
39# define def(uc, lc, name, plus, change) # plus, 45# define def(uc, lc, desc, plus, change) # plus,
40# include "attackinc.h" 46# include "attackinc.h"
41# undef def 47# undef def
42}; 48};
43 49
44extern const char *const change_resist_msg[NROFATTACKS] = { 50extern const char *const change_resist_msg[NROFATTACKS] = {
45# define def(uc, lc, name, plus, change) # change, 51# define def(uc, lc, desc, plus, change) # change,
46# include "attackinc.h" 52# include "attackinc.h"
47# undef def 53# undef def
48}; 54};
49 55
50int resist_table[NROFATTACKS] = { 56int resist_table[NROFATTACKS] = {
51# define def(uc, lc, name, plus, change) ATNR_ ## uc, 57# define def(uc, lc, desc, plus, change) ATNR_ ## uc,
52# include "attackinc.h" 58# include "attackinc.h"
53# undef def 59# undef def
54}; 60};
55 61
56/* You unforunately need to looking in include/global.h to see what these 62/* You unforunately need to looking in include/global.h to see what these
57 * correspond to. 63 * correspond to.
58 */ 64 */
59struct Settings settings = { 65struct Settings settings = {
60 LOGFILE, /* Logfile */ 66 LOGFILE, /* Logfile */
61 CSPORT, /* Client/server port */
62 llevTrace, /* Log level */ 67 llevTrace, /* Log level */
63 0, NULL, 0, /* dumpvalues, dumparg, daemonmode */
64 0, /* argc */ 68 0, /* argc */
65 NULL, /* argv */ 69 NULL, /* argv */
66 CONFDIR, 70 CONFDIR,
67 DATADIR, 71 DATADIR,
68 LOCALDIR, 72 LOCALDIR,
69 PLAYERDIR, MAPDIR, ARCHETYPES, REGIONS, TREASURES, 73 PLAYERDIR,
74 MAPDIR,
70 UNIQUE_DIR, "", 75 UNIQUE_DIR,
71 TMPDIR, 76 TMPDIR,
72 PK_LUCK_PENALTY, 77 PK_LUCK_PENALTY,
73 STAT_LOSS_ON_DEATH, 78 STAT_LOSS_ON_DEATH,
74 PERMANENT_EXPERIENCE_RATIO, 79 PERMANENT_EXPERIENCE_RATIO,
75 DEATH_PENALTY_RATIO, 80 DEATH_PENALTY_RATIO,
81 RESURRECTION, 86 RESURRECTION,
82 SEARCH_ITEMS, 87 SEARCH_ITEMS,
83 SPELL_ENCUMBRANCE, 88 SPELL_ENCUMBRANCE,
84 SPELL_FAILURE_EFFECTS, 89 SPELL_FAILURE_EFFECTS,
85 SET_FRIENDLY_FIRE, 90 SET_FRIENDLY_FIRE,
86 0,
87 0,
88 EXPLORE_MODE,
89 SPELLPOINT_LEVEL_DEPEND, 91 SPELLPOINT_LEVEL_DEPEND,
90 0, 92 0,
91 1.0, 93 1.25,
92 94
93/* Armor enchantment stuff */ 95/* Armor enchantment stuff */
94 ARMOR_MAX_ENCHANT, 96 ARMOR_MAX_ENCHANT,
95 ARMOR_WEIGHT_REDUCTION, 97 ARMOR_WEIGHT_REDUCTION,
96 ARMOR_WEIGHT_LINEAR, 98 ARMOR_WEIGHT_LINEAR,
132void 134void
133init_environ () 135init_environ ()
134{ 136{
135 const char *cp; 137 const char *cp;
136 138
137 if (cp = getenv ("DELIANTRA_CONFDIR" )) settings.confdir = cp; 139 if (cp = getenv ("DELIANTRA_CONFDIR" )) settings.confdir = cp;
140
141 if (cp = getenv ("DELIANTRA_LIBDIR" )) settings.datadir = cp; /* deprecated */
138 if (cp = getenv ("DELIANTRA_LIBDIR" )) settings.datadir = cp; 142 if (cp = getenv ("DELIANTRA_DATADIR" )) settings.datadir = cp;
143 if (cp = getenv ("DELIANTRA_MAPDIR" )) settings.mapdir = cp;
144
139 if (cp = getenv ("DELIANTRA_LOCALDIR" )) settings.localdir = cp; 145 if (cp = getenv ("DELIANTRA_LOCALDIR" )) settings.localdir = cp;
140 if (cp = getenv ("DELIANTRA_PLAYERDIR" )) settings.playerdir = cp; 146 if (cp = getenv ("DELIANTRA_PLAYERDIR" )) settings.playerdir = cp;
141 if (cp = getenv ("DELIANTRA_MAPDIR" )) settings.mapdir = cp;
142 if (cp = getenv ("DELIANTRA_ARCHETYPES" )) settings.archetypes = cp;
143 if (cp = getenv ("DELIANTRA_TREASURES" )) settings.treasures = cp;
144 if (cp = getenv ("DELIANTRA_UNIQUEDIR" )) settings.uniquedir = cp; 147 if (cp = getenv ("DELIANTRA_UNIQUEDIR" )) settings.uniquedir = cp;
145 if (cp = getenv ("DELIANTRA_TEMPLATEDIR")) settings.templatedir = cp;
146 if (cp = getenv ("DELIANTRA_TMPDIR" )) settings.tmpdir = cp; 148 if (cp = getenv ("DELIANTRA_TMPDIR" )) settings.tmpdir = cp;
147
148 if (cp = getenv ("DELIANTRA_LOGFILE" )) settings.logfilename = cp; 149 if (cp = getenv ("DELIANTRA_LOGFILE" )) settings.logfilename = cp;
149} 150}
150 151
151/* 152/*
152 * Initialises all global variables. 153 * Initialises all global variables.
155void 156void
156init_globals () 157init_globals ()
157{ 158{
158 if (settings.logfilename[0] == 0) 159 if (settings.logfilename[0] == 0)
159 log_setfd (-1); 160 log_setfd (-1);
160 else 161 else
161 { 162 {
162 int logfd = open (settings.logfilename, O_CREAT|O_WRONLY|O_APPEND, 0666); 163 int logfd = open (settings.logfilename, O_CREAT|O_WRONLY|O_APPEND, 0666);
163 164
164 if (logfd >= 0) 165 if (logfd >= 0)
165 log_setfd (logfd); 166 log_setfd (logfd);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines