Crossfire Server, Trunk
weather.c File Reference
#include <global.h>
#include <tod.h>
#include <map.h>
#include <sproto.h>
#include <assert.h>
+ Include dependency graph for weather.c:

Go to the source code of this file.

Functions

static void dawn_to_dusk (const timeofday_t *tod)
 
void set_darkness_map (mapstruct *m)
 
void tick_the_clock (void)
 

Variables

static const int season_timechange [5][HOURS_PER_DAY]
 

Detailed Description

Time-related functions.

Definition in file weather.c.

Function Documentation

◆ dawn_to_dusk()

static void dawn_to_dusk ( const timeofday_t tod)
static

Compute the darkness level for all loaded maps in the game.

Parameters
todtime of day to compute darkness for.

Definition at line 68 of file weather.c.

References change_map_light(), first_map, _timeofday::hour, m, _timeofday::season, and season_timechange.

Referenced by tick_the_clock().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ set_darkness_map()

void set_darkness_map ( mapstruct m)

Set the darkness level for a map, based on the time of the day.

Parameters
mmap to alter.

Definition at line 44 of file weather.c.

References change_map_light(), get_tod(), _timeofday::hour, HOURS_PER_DAY, m, _timeofday::season, and season_timechange.

+ Here is the call graph for this function:

◆ tick_the_clock()

void tick_the_clock ( void  )

This performs the basic function of advancing the clock one tick forward. Every 20 ticks, the clock is saved to disk. It is also saved on shutdown. Any time dependant functions should be called from this function, and probably be passed tod as an argument. Please don't modify tod in the dependant function.

Definition at line 94 of file weather.c.

References dawn_to_dusk(), get_tod(), todtick, and write_todclock().

Referenced by block_until_new_connection(), and do_specials().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ season_timechange

const int season_timechange[5][HOURS_PER_DAY]
static
Initial value:
= {
{ 0, 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1 },
{ 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0 },
{ 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0 },
{ 0, 0, 0, 0, 0,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0 },
{ 0, 0, 0, 0, 0, 0,-1,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0 }
}

How to alter darkness, based on time of day and season.

Definition at line 29 of file weather.c.

Referenced by dawn_to_dusk(), and set_darkness_map().