Crossfire Server, Branches 1.12
R18729
|
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 | auto_apply (object *op) |
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 type, uint8 subtype, const char *txt, const char *txt2) |
void | draw_ext_info_format (int flags, int pri, const object *pl, uint8 type, uint8 subtype, const char *new_format, const char *old_format,...) |
void | emergency_save (int x) |
void | esrv_del_item (player *pl, int tag) |
void | esrv_send_item (object *ob, object *obx) |
void | esrv_update_spells (player *pl) |
int | execute_event (object *op, int eventcode, object *activator, object *third, const char *message, int fix) |
int | execute_global_event (int eventcode,...) |
void | ext_info_map (int color, const mapstruct *map, uint8 type, uint8 subtype, const char *str1, const char *str2) |
object * | find_skill_by_number (object *who, int skillno) |
void | fix_auto_apply (mapstruct *m) |
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 | monster_check_apply (object *ob, object *obt) |
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) |
void | trap_adjust (object *ob, int x) |
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 auto_apply | ( | object * | op | ) |
Map was just loaded, handle op's initialisation.
Generates shop floor's item, and treasures.
op | object to initialize. |
Definition at line 701 of file bwp.c.
References CLEAR_FLAG, create_treasure(), mapdef::difficulty, liv::exp, FLAG_AUTO_APPLY, FLAG_CURSED, FLAG_DAMNED, FLAG_UNPAID, free_object(), generate_treasure(), GT_ENVIRONMENT, HAS_RANDOM_ITEMS, liv::hp, identify(), insert_ob_in_map(), obj::map, QUERY_FLAG, obj::randomitems, remove_ob(), SET_FLAG, SHOP_FLOOR, obj::stats, TREASURE, obj::type, obj::x, and obj::y.
Referenced by fix_auto_apply().
|
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 185 of file bwp.c.
Referenced by main().
void dragon_ability_gain | ( | object * | ob, |
int | x, | ||
int | y | ||
) |
void draw_ext_info_format | ( | int | flags, |
int | pri, | ||
const object * | pl, | ||
uint8 | type, | ||
uint8 | subtype, | ||
const char * | new_format, | ||
const char * | old_format, | ||
... | |||
) |
Sends message to player(s).
This function is the same as draw_ext_info, but takes varargs format. Otherwise, the meaning of all the fields is the same. This is perhaps not the most efficient as we do vsnprintf on both the old and newbuf, but it simplifies the code greatly since we can just call draw_ext_info. Also, hopefully at some point, need for old_format will go away.
flags | Various flags - mostly color, plus a few specials. |
pri | Priority. It is a little odd - the lower the value, the more important it is. Thus, 0 gets sent no matter what. Otherwise, the value must be less than the listening level that the player has set. Unfortunately, there is no clear guideline on what each level does what. |
pl | Can be passed as NULL - in fact, this will be done if NDI_ALL is set in the flags. |
If message is black, and not NDI_UNIQUE, gets sent through output buffers. If the client supports the new readables, this is sent to the client without processing in the output buffers.
type | The type MSG_TYPE for the type of message. |
subtype | The type MSG_TYPE for the type of message. |
new_format | |
old_format |
Definition at line 794 of file bwp.c.
References logfile.
void emergency_save | ( | int | x | ) |
void esrv_del_item | ( | player * | pl, |
int | tag | ||
) |
void esrv_update_spells | ( | player * | pl | ) |
This returns the skill pointer of the given name (the one that accumlates 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 number.
who | player applying a skill. |
skillno | skill subtype. |
void fix_auto_apply | ( | 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 auto_apply() 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 746 of file bwp.c.
References obj::above, obj::arch, auto_apply(), check_trigger(), CONTAINER, create_treasure(), mapdef::difficulty, FLAG_AUTO_APPLY, GET_MAP_OB, GT_APPLY, HAS_RANDOM_ITEMS, liv::hp, MAP_HEIGHT, MAP_WIDTH, PLAYER, QUERY_FLAG, obj::randomitems, obj::stats, TREASURE, TRIGGER_BUTTON, TRIGGER_PEDESTAL, and obj::type.
void free_data | ( | String_Array * | array | ) |
Frees the item's data of specified String_Array.
Will free array->item and its fields.
array | element we want to clean. |
Definition at line 325 of file bwp.c.
References string_array::count, and string_array::item.
Referenced by main().
|
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 344 of file bwp.c.
References string_array::count, string_array::item, and sortbyname().
Referenced by main().
int main | ( | int | argc, |
char * | argv[] | ||
) |
Definition at line 361 of file bwp.c.
References liv::ac, obj::attacktype, attacktype_desc, archt::clone, string_array::count, do_template(), liv::exp, obj::face, first_archetype, FLAG_ALIVE, FLAG_MONSTER, flag_names, free_data(), liv::hp, init_archetypes(), init_artifacts(), init_formulae(), init_globals(), init_gods(), init_library(), init_readable(), string_array::item, join_with_comma(), llevError, llevInfo, LOG(), obj::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, new_face_struct::name, obj::name, archt::name, archt::next, NROFATTACKS, NUM_FLAGS, push(), QUERY_FLAG, obj::race, read_template(), obj::resist, snprintf(), sort_archetypes(), obj::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 310 of file bwp.c.
References string_array::count, string_array::item, and strdup_local().
Referenced by check_trigger(), and main().
|
static |
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 288 of file bwp.c.
References archt::clone, obj::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 271 of file bwp.c.
References strcasecmp().
Referenced by join_with_comma().
void trap_adjust | ( | object * | ob, |
int | x | ||
) |
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 69 of file bwp.c.
Referenced by main().