Crossfire Server, Branches 1.12  R18729
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)
 
int similar_direction (int a, int b)
 
void tick_the_clock (void)
 

Variables

static const int season_timechange [5][HOURS_PER_DAY]
 
unsigned long todtick
 

Detailed Description

Time-related functions.

Definition in file weather.c.

Function Documentation

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 85 of file weather.c.

References change_map_light(), first_map, _timeofday::hour, mapdef::next, mapdef::outdoor, _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:

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 61 of file weather.c.

References change_map_light(), mapdef::darkness, get_tod(), _timeofday::hour, HOURS_PER_DAY, mapdef::outdoor, _timeofday::season, and season_timechange.

+ Here is the call graph for this function:

int similar_direction ( int  a,
int  b 
)

Is direction a similar to direction b? Find out in this exciting function below.

Parameters
a
bdirections to compare.
Returns
1 if similar, 0 if not.

Definition at line 132 of file weather.c.

Referenced by player_fire_bow().

+ Here is the caller graph for this function:

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 111 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

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 46 of file weather.c.

Referenced by dawn_to_dusk(), and set_darkness_map().

unsigned long todtick

Ingame time

Definition at line 418 of file init.c.

Referenced by tick_the_clock().