Crossfire Server, Trunk
|
Go to the source code of this file.
Data Structures | |
struct | string_array |
Macros | |
#define | LO_NEWFILE 2 |
#define | MAX_SIZE 64 |
#define | NA "n/a" |
Typedefs | |
typedef struct string_array | String_Array |
Functions | |
int | apply_auto (object *op) |
void | apply_auto_fix (mapstruct *m) |
static char * | cat_template (char *source, char *add) |
void | clean_tmp_files (void) |
static char * | do_template (const char *template, const char **vars, const char **values) |
void | dragon_ability_gain (object *ob, int x, int y) |
void | draw_ext_info (int flags, int pri, const object *pl, uint8_t type, uint8_t subtype, const char *txt) |
void | draw_ext_info_format (int flags, int pri, const object *pl, uint8_t type, uint8_t subtype, const char *format,...) |
void | emergency_save (int x) |
void | esrv_del_item (player *pl, object *ob) |
void | esrv_send_item (object *ob, object *obx) |
void | esrv_update_spells (player *pl) |
void | ext_info_map (int color, const mapstruct *map, uint8_t type, uint8_t subtype, const char *str1) |
object * | find_skill_by_number (object *who, int skillno) |
void | free_data (String_Array *array) |
static void | free_if_used (char *p) |
const char * | join_with_comma (String_Array *array) |
int | main (int argc, char *argv[]) |
void | move_firewall (object *ob) |
void | push (String_Array *array, const char *string) |
static int | read_template (const char *name, char **buffer) |
void | set_darkness_map (mapstruct *m) |
void | set_map_timeout (void) |
static int | sort_archetypes (const void *a, const void *b) |
static int | sortbyname (const void *a, const void *b) |
Variables | |
const char *const | flag_names [NUM_FLAGS+1] |
char * | monster_attack_row |
char * | monster_canuse_row |
char * | monster_entry |
char * | monster_lore_row |
char * | monster_page_foot |
char * | monster_page_head |
char * | monster_protected_row |
char * | monster_special_row |
char * | monster_vulnerable_row |
typedef struct string_array String_Array |
int apply_auto | ( | object * | op | ) |
Map was just loaded, handle op's initialization.
Generates shop floor's item, and treasures.
op | object to initialize. |
Definition at line 702 of file bwp.c.
References CLEAR_FLAG, create_treasure(), FLAG_AUTO_APPLY, FLAG_CURSED, FLAG_DAMNED, FLAG_UNPAID, generate_treasure(), GT_ENVIRONMENT, HAS_RANDOM_ITEMS, identify(), object_free_drop_inventory(), object_insert_in_map_at(), object_remove(), give::op, QUERY_FLAG, SET_FLAG, SHOP_FLOOR, Ice::tmp, and TREASURE.
Referenced by apply_auto_fix().
void apply_auto_fix | ( | mapstruct * | m | ) |
Go through the entire map (only the first time when an original map is loaded) and performs special actions for certain objects (most initialization of chests and creation of treasures and stuff). Calls apply_auto() if appropriate.
m | map to fix. |
Those are dummy functions defined to resolve all symboles. Added as part of glue cleaning. Ryo 2005-07-15
Definition at line 745 of file bwp.c.
References apply_auto(), check_trigger(), CONTAINER, create_treasure(), FLAG_AUTO_APPLY, FLAG_MONSTER, GET_MAP_OB, HAS_RANDOM_ITEMS, m, MAP_HEIGHT, MAP_WIDTH, monster_check_apply_all(), PLAYER, QUERY_FLAG, Ice::tmp, TREASURE, TRIGGER_BUTTON, TRIGGER_PEDESTAL, diamondslots::x, and diamondslots::y.
|
static |
void clean_tmp_files | ( | void | ) |
|
static |
Processes a template.
Variables in the form #VARIABLE#
will be substituted for specified values.
template | template to process. |
vars | variables to replace. Array must be NULL-terminated. |
values | variables to replace by. Must be the same size as vars, no NULL element allowed. |
Definition at line 186 of file bwp.c.
References disinfect::count, and rotate-tower::result.
Referenced by main().
void dragon_ability_gain | ( | object * | ob, |
int | x, | ||
int | y | ||
) |
void draw_ext_info | ( | int | flags, |
int | pri, | ||
const object * | pl, | ||
uint8_t | type, | ||
uint8_t | subtype, | ||
const char * | txt | ||
) |
void draw_ext_info_format | ( | int | flags, |
int | pri, | ||
const object * | pl, | ||
uint8_t | type, | ||
uint8_t | subtype, | ||
const char * | format, | ||
... | |||
) |
void emergency_save | ( | int | x | ) |
void esrv_update_spells | ( | player * | pl | ) |
void ext_info_map | ( | int | color, |
const mapstruct * | map, | ||
uint8_t | type, | ||
uint8_t | subtype, | ||
const char * | str1 | ||
) |
This returns the first skill pointer of the given subtype (the one that accumulates exp, has the level, etc).
It is presumed that the player will be needing to actually use the skill, so a skill tool will be equipped if one if found to benefit from its bonuses.
This code is basically the same as find_skill_by_name() above, but instead of a skill name, we search by matching subtype.
Warning: skill subtypes are not unique to skills, various skills (eg harvesting-like) will share the same subtype, so this function should only be used if the skill's subtype is known to be used only by one skill.
who | player applying a skill. |
skillno | skill subtype. |
void free_data | ( | String_Array * | array | ) |
|
static |
Frees memory if the pointer was ever given a string.
There's probably a cleaner way to do this, but this frees the memory given to a pointer if the pointer points to a string longer than zero length. It's to get rid of "in free(): warning: junk pointer, too high to make sense" errors.
p | Pointer to free memory from |
const char* join_with_comma | ( | String_Array * | array | ) |
Joins strings with a comma and space.
Takes an array of strings and joins them togther with a comma and a space between each of them.
array | Pointer to struct of type String_Array, containing strings to join |
Definition at line 345 of file bwp.c.
References sortbyname().
Referenced by main().
int main | ( | int | argc, |
char * | argv[] | ||
) |
Definition at line 362 of file bwp.c.
References living::ac, object::attacktype, attacktype_desc, buf, archetype::clone, string_array::count, do_template(), living::exp, object::face, FLAG_ALIVE, FLAG_MONSTER, flag_names, free_data(), get_next_archetype(), living::hp, init_globals(), init_gods(), init_library(), init_readable(), string_array::item, join_with_comma(), castle_read::key, llevError, llevInfo, LOG(), object::lore, MAX_BUF, monster_attack_row, monster_canuse_row, monster_entry, monster_lore_row, monster_page_foot, monster_page_head, monster_protected_row, monster_special_row, monster_vulnerable_row, NA, Face::name, object::name, archetype::name, NROFATTACKS, NUM_FLAGS, push(), QUERY_FLAG, object::race, read_template(), altar_valkyrie::res, object::resist, sort_archetypes(), object::stats, and tolower.
void move_firewall | ( | object * | ob | ) |
void push | ( | String_Array * | array, |
const char * | string | ||
) |
Add a string to a String_Array struct
Adds the new string to the struct's 'item' array, and updates the 'count'value.
array | The array to be appended |
string | The new string to append |
Definition at line 311 of file bwp.c.
References strdup_local.
Referenced by check_trigger(), and main().
|
static |
Reads a file in memory.
name | file path to read. |
buffer | where to store. Can be left uninitialized in case of errors. |
Definition at line 132 of file bwp.c.
References mad_mage_user::file, and give::name.
Referenced by main().
void set_darkness_map | ( | mapstruct * | m | ) |
|
static |
Sort archetypes alphabetically
Used by qsort to sort archetypes alphabetically without regard to case
a | First value |
b | Second value |
Definition at line 289 of file bwp.c.
References disinfect::a, Ice::b, archetype::clone, object::name, and strcasecmp().
Referenced by main().
|
static |
Sort values alphabetically
Used by qsort to sort values alphabetically without regard to case
a | First value |
b | Second value |
Definition at line 272 of file bwp.c.
References disinfect::a, Ice::b, and strcasecmp().
Referenced by join_with_comma().
const char* const flag_names[NUM_FLAGS+1] |
This is a list of pointers that correspond to the FLAG_.. values. This is a simple 1:1 mapping - if FLAG_FRIENDLY is 15, then the 15'th element of this array should match that name. If an entry is NULL, that is a flag not to loaded/saved.
Copied from common/loader.c; perhaps should be defined elsewhere?
Definition at line 70 of file bwp.c.
Referenced by main().