Atrinik Server 2.5
Functions
random_maps/exit.c File Reference
#include <global.h>

Go to the source code of this file.

Functions

void find_in_layout (int mode, char target, int *fx, int *fy, char **layout, RMParms *RP)
void place_exits (mapstruct *map, char **maze, char *exitstyle, int orientation, RMParms *RP)
void unblock_exits (mapstruct *map, char **maze, RMParms *RP)

Detailed Description

Handle exit placement in map.

Definition in file exit.c.


Function Documentation

void find_in_layout ( int  mode,
char  target,
int *  fx,
int *  fy,
char **  layout,
RMParms RP 
)

Find a character in the layout.

Parameters:
modeHow to look:
  • 1: From top/left to bottom/right.
  • 2: From top/right to bottom/left.
  • 3: From bottom/left to top/right.
  • 4: From bottom/right to top/left.
  • Other: One random order is chosen.
targetCharacter to search.
layoutMaze layout.
RPRandom map parameters.

Definition at line 43 of file exit.c.

void place_exits ( mapstruct map,
char **  maze,
char *  exitstyle,
int  orientation,
RMParms RP 
)

Place exits in the map.

Parameters:
mapMap to put exits into.
mazeMap layout.
exitstyleWhat style to use. If NULL uses a random one.
orientationHow exits should be oriented:
  • 0: Random.
  • 1: Descending dungeon.
  • 2: Ascending dungeon.
RPRandom map parameters.
Note:
unblock_exits() should be called at some point, as exits will be blocking everything to avoid putting other objects on them.

Definition at line 159 of file exit.c.

void unblock_exits ( mapstruct map,
char **  maze,
RMParms RP 
)

This function unblocks the exits. We blocked them to keep things from being dumped on them during the other phases of random map generation.

Parameters:
mapMap to alter.
mazeMap layout.
RPRandom map parameters.

Definition at line 447 of file exit.c.