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.11 by root, Wed Sep 13 02:05:18 2006 UTC vs.
Revision 1.13 by root, Thu Sep 14 22:33:58 2006 UTC

16 16
17 You should have received a copy of the GNU General Public License 17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software 18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 19 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20 20
21 The authors can be reached via e-mail at crossfire-devel@real-time.com 21 The authors can be reached via e-mail at <crossfire@schmorp.de>
22*/ 22*/
23 23
24#define EXTERN // horrible hack 24#define EXTERN // horrible hack
25 25
26#include <global.h> 26#include <global.h>
214void 214void
215init_library (void) 215init_library (void)
216{ 216{
217 init_environ (); 217 init_environ ();
218 init_globals (); 218 init_globals ();
219 init_objects ();
220 init_vars (); 219 init_vars ();
221 init_block (); 220 init_block ();
222 ReadBmapNames (); 221 ReadBmapNames ();
223 ReadSmooth (); 222 ReadSmooth ();
224 init_anim (); /* Must be after we read in the bitmaps */ 223 init_anim (); /* Must be after we read in the bitmaps */
277 276
278void 277void
279init_globals (void) 278init_globals (void)
280{ 279{
281 if (settings.logfilename[0] == 0) 280 if (settings.logfilename[0] == 0)
282 {
283 logfile = stderr; 281 logfile = stderr;
284 }
285 else if ((logfile = fopen (settings.logfilename, "a")) == NULL) 282 else if ((logfile = fopen (settings.logfilename, "a")) == NULL)
286 { 283 {
287 fprintf (stderr, "Unable to open %s as the logfile - will use stderr instead\n", settings.logfilename); 284 fprintf (stderr, "Unable to open %s as the logfile - will use stderr instead\n", settings.logfilename);
288 logfile = stderr; 285 logfile = stderr;
289 } 286 }
290 else 287 else
291 {
292 setvbuf (logfile, NULL, _IOLBF, 0); 288 setvbuf (logfile, NULL, _IOLBF, 0);
293 }
294 exiting = 0;
295 first_player = NULL;
296 first_friendly_object = NULL;
297 first_map = NULL;
298 first_treasurelist = NULL;
299 first_artifactlist = NULL;
300 first_archetype = NULL;
301 *first_map_ext_path = 0;
302 warn_archetypes = 0;
303 nroftreasures = 0;
304 nrofartifacts = 0;
305 nrofallowedstr = 0;
306 ring_arch = NULL;
307 amulet_arch = NULL;
308 staff_arch = NULL;
309 trying_emergency_save = 0;
310 num_animations = 0;
311 animations_allocated = 0;
312 init_defaults ();
313} 289}
314
315/*
316 * Sets up and initialises the linked list of free and used objects.
317 * Allocates a certain chunk of objects and puts them on the free list.
318 * Called by init_library();
319 */
320
321void
322init_objects (void)
323{
324 /* Initialize all objects: */
325 objects = NULL;
326 active_objects = NULL;
327}
328
329/*
330 * Initialises global variables which can be changed by options.
331 * Called by init_library().
332 */
333
334void
335init_defaults (void)
336{
337 editor = 0;
338 nroferrors = 0;
339}
340
341 290
342void 291void
343init_dynamic (void) 292init_dynamic (void)
344{ 293{
345 archetype *at = first_archetype; 294 archetype *at = first_archetype;
347 while (at) 296 while (at)
348 { 297 {
349 if (at->clone.type == MAP) 298 if (at->clone.type == MAP)
350 { 299 {
351 if (at->clone.race) 300 if (at->clone.race)
352 {
353 strcpy (first_map_ext_path, at->clone.race); 301 strcpy (first_map_ext_path, at->clone.race);
354 } 302
355 if (EXIT_PATH (&at->clone)) 303 if (EXIT_PATH (&at->clone))
356 { 304 {
357 strcpy (first_map_path, EXIT_PATH (&at->clone)); 305 strcpy (first_map_path, EXIT_PATH (&at->clone));
358 return; 306 return;
359 } 307 }
360 } 308 }
309
361 at = at->next; 310 at = at->next;
362 } 311 }
312
363 LOG (llevDebug, "You Need a archetype called 'map' and it have to contain start map\n"); 313 LOG (llevDebug, "You Need a archetype called 'map' and it have to contain start map\n");
364 exit (-1); 314 exit (-1);
365} 315}
366 316
367unsigned long todtick; 317unsigned long todtick;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines