Crossfire Client, Trunk  R20507
Functions
proto.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void AccountPlayersCmd (char *buf, int len)
 This handles the accountplayers command. More...
 
void AddMeFail (char *data, int len)
 Handles when the server says we can't be added. More...
 
void AddMeSuccess (char *data, int len)
 This is really a throwaway command - there really isn't any reason to send addme_success commands. More...
 
void AddspellCmd (unsigned char *data, int len)
 
void animate_objects (void)
 
void AnimCmd (unsigned char *data, int len)
 
int can_write_spell_on (item *it)
 
void clear_fire (void)
 
void clear_run (void)
 
void client_init (void)
 Called ONCE during client startup to initialize configuration and other variables to reasonable defaults. More...
 
void client_reset (void)
 Clear client variables between connections to different servers. More...
 
void client_send_apply (int tag)
 
void client_send_examine (int tag)
 
void client_send_move (int loc, int tag, int nrof)
 Request to move 'nrof' objects with 'tag' to 'loc'. More...
 
void command_take (const char *command, const char *cpnext)
 
void CompleteCmd (unsigned char *data, int len)
 
itemcreate_new_item (item *env, gint32 tag)
 
int cs_print_string (GSocketConnection *c, const char *str,...)
 Send a printf-formatted packet to the socket. More...
 
void DeleteInventory (unsigned char *data, int len)
 
void DeleteItem (unsigned char *data, int len)
 
void DeleteSpell (unsigned char *data, int len)
 
void display_newpng (int face, guint8 *buf, int buflen, int setnum)
 This function is called when the server has sent us the actual png data for an image. More...
 
void DrawExtInfoCmd (char *data, int len)
 We must extract color, type, subtype and dispatch to callback. More...
 
void DrawInfoCmd (char *data, int len)
 Draws a string in the info window. More...
 
void ExtendedInfoSetCmd (char *data, int len)
 
int ExtSmooth (unsigned char *data, int len, int x, int y, int layer)
 Extract smoothing infos from an extendedmapinfo packet part data is located at the beginning of the smooth datas. More...
 
void Face2Cmd (guint8 *data, int len)
 We only get here if the server believes we are caching images. More...
 
void FailureCmd (char *buf, int len)
 Handles a failure return from the server. More...
 
void finish_face_cmd (int pnum, guint32 checksum, int has_sum, char *face, int faceset)
 This is common for all the face commands (face2, face1, face). More...
 
void fire_dir (int dir)
 
void free_all_items (item *op)
 
void free_all_race_class_info (Race_Class_Info *data, int num_entries)
 This function clears the data from the Race_Class_Info array. More...
 
void get_image_info (guint8 *data, int len)
 Takes the data from a replyinfo image_info and breaks it down. More...
 
void get_image_sums (char *data, int len)
 This gets a block of checksums from the server. More...
 
const char * get_number (guint32 i)
 
guint8 get_type_from_name (const char *name)
 
char GetChar_String (const unsigned char *data)
 
gint64 GetInt64_String (const unsigned char *data)
 The reverse of SockList_AddInt, but on strings instead. More...
 
int GetInt_String (const unsigned char *data)
 The reverse of SockList_AddInt, but on strings instead. More...
 
short GetShort_String (const unsigned char *data)
 
void GoodbyeCmd (char *data, int len)
 
void handle_query (char *data, int len)
 Prompts the user for input. More...
 
void Image2Cmd (guint8 *data, int len)
 
void init_common_cache_data (void)
 
void inscribe_magical_scroll (item *scroll, Spell *spell)
 
void Item2Cmd (unsigned char *data, int len)
 
void item_actions (item *op)
 
itemlocate_item (gint32 tag)
 
void LOG (LogLevel level, const char *origin, const char *format,...)
 Log messages of a certain importance to stderr. More...
 
void look_at (int x, int y)
 
void MagicMapCmd (unsigned char *data, int len)
 
int make_path_to_file (char *filename)
 If any directories in the given path doesn't exist, they are created. More...
 
void Map2Cmd (unsigned char *data, int len)
 
itemmap_item (void)
 
void map_scrollCmd (char *data, int len)
 Scrolls the map on the client by some amount. More...
 
void MapExtendedCmd (unsigned char *data, int len)
 Handle MapExtended command Warning! if you add commands to extended, take care that the 'layer' argument of main loop is the opposite of the layer of the map so if you reference a layer, use NUM_LAYERS-layer. More...
 
void new_player (long tag, char *name, long weight, long face)
 Initialize player object using information from the server. More...
 
void NewmapCmd (unsigned char *data, int len)
 
int num_free_items (void)
 
void PickupCmd (guint8 *data, int len)
 Server gives us current player's pickup. More...
 
itemplayer_item (void)
 
void PlayerCmd (unsigned char *data, int len)
 Gets the player information. More...
 
void print_inventory (item *op)
 
void remove_item (item *op)
 
void remove_item_inventory (item *op)
 
void ReplyInfoCmd (guint8 *buf, int len)
 
void requestface (int pnum, char *facename)
 
void reset_image_cache_data (void)
 We can now connect to different servers, so we need to clear out any old images. More...
 
void reset_player_data (void)
 Reset player experience data. More...
 
void run_dir (int dir)
 
int script_lua_command (const char *command, const char *param)
 
void script_lua_kill (const char *param)
 
void script_lua_list (const char *param)
 
void script_lua_load (const char *name)
 
void script_lua_stats (void)
 
int send_command (const char *command, int repeat, int must_send)
 
void send_mark_obj (item *op)
 
void send_reply (const char *text)
 Sends a reply to the server. More...
 
void SendAddMe (ClientSocket csock)
 
void SendVersion (ClientSocket csock)
 
void set_item_values (item *op, char *name, gint32 weight, guint16 face, guint16 flags, guint16 anim, guint16 animspeed, guint32 nrof, guint16 type)
 
void setTextManager (int type, ExtTextManager callback)
 
void SetupCmd (char *buf, int len)
 Received a response to a setup from the server. More...
 
void SinkCmd (unsigned char *data, int len)
 
void SmoothCmd (unsigned char *data, int len)
 Receives the smooth mapping from the server. More...
 
void SockList_AddChar (SockList *sl, char c)
 
void SockList_AddInt (SockList *sl, guint32 data)
 
void SockList_AddShort (SockList *sl, guint16 data)
 
void SockList_AddString (SockList *sl, const char *str)
 
void SockList_Init (SockList *sl, guint8 *buf)
 
bool SockList_ReadPacket (GSocketConnection c[static 1], SockList sl[static 1], size_t len, GError **error)
 Reads from the socket and puts data into a socklist. More...
 
int SockList_Send (SockList *sl, GSocketConnection *c)
 Send data from a socklist to the socket. More...
 
void StatsCmd (unsigned char *data, int len)
 Updates the local copy of the stats and displays it. More...
 
void stop_fire (void)
 
void stop_run (void)
 
void TickCmd (guint8 *data, int len)
 Got a tick from the server. More...
 
void toggle_locked (item *op)
 
void update_item (int tag, int loc, char *name, int weight, int face, int flags, int anim, int animspeed, guint32 nrof, int type)
 
void update_item_sort (item *it)
 
void UpdateItemCmd (unsigned char *data, int len)
 Updates some attributes of an item. More...
 
void UpdspellCmd (unsigned char *data, int len)
 
void use_skill (int skill_id)
 Maintain the last_used_skills LRU list for displaying the recently used skills first. More...
 
void VersionCmd (char *data, int len)
 

Function Documentation

void AccountPlayersCmd ( char *  buf,
int  len 
)

This handles the accountplayers command.

Definition at line 2432 of file commands.c.

References ACL_CLASS, ACL_FACE, ACL_FACE_NUM, ACL_LEVEL, ACL_MAP, ACL_NAME, ACL_PARTY, ACL_RACE, choose_character_init(), GetShort_String(), LOG(), LOG_ERROR, map, MAX_BUF, name, and update_character_choose().

Here is the call graph for this function:

void AddMeFail ( char *  data,
int  len 
)

Handles when the server says we can't be added.

In reality, we need to close the connection and quit out, because the client is going to close us down anyways.

Parameters
data
len

Definition at line 1083 of file commands.c.

References LOG(), and LOG_INFO.

Here is the call graph for this function:

void AddMeSuccess ( char *  data,
int  len 
)

This is really a throwaway command - there really isn't any reason to send addme_success commands.

Parameters
data
len

Definition at line 1099 of file commands.c.

References hide_all_login_windows(), LOG(), and LOG_DEBUG.

Here is the call graph for this function:

void animate_objects ( void  )
void AnimCmd ( unsigned char *  data,
int  len 
)
Parameters
data
len

Definition at line 1134 of file commands.c.

References Animations::faces, Animations::flags, GetShort_String(), LOG(), LOG_DEBUG, LOG_WARNING, MAXANIM, Animations::num_animations, Animations::phase, Animations::speed, and Animations::speed_left.

Here is the call graph for this function:

int can_write_spell_on ( item it)

Definition at line 778 of file item.c.

References item_struct::type.

void clear_fire ( void  )

Definition at line 98 of file player.c.

References dfire, SC_FIRERUN, and send_command().

Referenced by focusoutfunc(), map_button_event(), and parse_key_release().

Here is the call graph for this function:

Here is the caller graph for this function:

void clear_run ( void  )

Definition at line 105 of file player.c.

References drun, SC_FIRERUN, and send_command().

Referenced by focusoutfunc(), and parse_key_release().

Here is the call graph for this function:

Here is the caller graph for this function:

void client_init ( void  )

Called ONCE during client startup to initialize configuration and other variables to reasonable defaults.

Future resets (i.e. after a connection) should use client_reset() instead.

Definition at line 184 of file init.c.

References Player_Struct::below, FaceSets_struct::comment, cpl, exp_table, exp_table_max, FaceSets_struct::extension, face_info, Face_Information_struct::facesets, FaceSets_struct::fallback, FaceSets_struct::fullname, init_commands(), init_config(), init_paths(), last_used_skills, map_item(), MAX_FACE_SETS, MAX_SKILL, ms_init(), Player_Struct::ob, Face_Information_struct::old_bmaps_checksum, player_item(), FaceSets_struct::prefix, reset_vars_common(), FaceSets_struct::size, skill_names, and Face_Information_struct::want_faceset.

Referenced by main().

Here is the call graph for this function:

Here is the caller graph for this function:

void client_reset ( void  )

Clear client variables between connections to different servers.

This MUST be called AFTER client_init() because that performs some allocations.

Definition at line 239 of file init.c.

References Face_Information_struct::bmaps_checksum, classes, FaceSets_struct::comment, FaceSets_struct::extension, face_info, Face_Information_struct::facesets, FaceSets_struct::fallback, free_all_race_class_info(), FREE_AND_CLEAR, FaceSets_struct::fullname, MAX_FACE_SETS, MAX_SKILL, motd, news, num_classes, num_races, Face_Information_struct::old_bmaps_checksum, FaceSets_struct::prefix, races, reset_vars_common(), rules, serverloginmethod, FaceSets_struct::size, skill_names, used_classes, and used_races.

Referenced by main().

Here is the call graph for this function:

Here is the caller graph for this function:

void client_send_apply ( int  tag)

Definition at line 69 of file player.c.

References cs_print_string(), csocket, and ClientSocket::fd.

Referenced by list_item_action(), and list_row_collapse().

Here is the call graph for this function:

Here is the caller graph for this function:

void client_send_examine ( int  tag)

Definition at line 73 of file player.c.

References cs_print_string(), csocket, and ClientSocket::fd.

Referenced by list_item_action().

Here is the call graph for this function:

Here is the caller graph for this function:

void client_send_move ( int  loc,
int  tag,
int  nrof 
)

Request to move 'nrof' objects with 'tag' to 'loc'.

Definition at line 80 of file player.c.

References cs_print_string(), csocket, and ClientSocket::fd.

Referenced by list_item_action().

Here is the call graph for this function:

Here is the caller graph for this function:

void command_take ( const char *  command,
const char *  cpnext 
)

Definition at line 227 of file player.c.

References Player_Struct::container, Player_Struct::count, cpl, cs_print_string(), csocket, draw_ext_info(), ClientSocket::fd, item_struct::inv, MSG_TYPE_CLIENT, MSG_TYPE_CLIENT_NOTICE, NDI_BLACK, Player_Struct::ob, send_command(), and item_struct::tag.

Referenced by do_take().

Here is the call graph for this function:

Here is the caller graph for this function:

void CompleteCmd ( unsigned char *  data,
int  len 
)

Definition at line 212 of file player.c.

References ClientSocket::command_received, ClientSocket::command_sent, ClientSocket::command_time, csocket, GetInt_String(), GetShort_String(), LOG(), LOG_ERROR, and script_sync().

Here is the call graph for this function:

item* create_new_item ( item env,
gint32  tag 
)

Definition at line 435 of file item.c.

References add_item(), alloc_items(), free_items, item_struct::locked, item_struct::next, NROF_ITEMS, item_struct::prev, and item_struct::tag.

Referenced by update_item().

Here is the call graph for this function:

Here is the caller graph for this function:

int cs_print_string ( GSocketConnection *  fd,
const char *  str,
  ... 
)

Send a printf-formatted packet to the socket.

Parameters
fdThe socket to send to.
strThe printf format string.
...An optional list of values to fulfill the format string.

Definition at line 245 of file newsocket.c.

References SockList::buf, SockList::len, MAX_BUF, script_monitor_str(), SockList_Init(), and SockList_Send().

Referenced by client_mapsize(), client_negotiate(), client_send_apply(), client_send_examine(), client_send_move(), cmd_raw(), command_take(), create_character_window_show(), get_image_info(), get_new_char_info(), look_at(), read_config_dialog(), ReplyInfoCmd(), requestface(), script_process_cmd(), send_command(), send_reply(), SendAddMe(), SendVersion(), and SetupCmd().

Here is the call graph for this function:

Here is the caller graph for this function:

void DeleteInventory ( unsigned char *  data,
int  len 
)
Parameters
data
len

Definition at line 1822 of file commands.c.

References locate_item(), LOG(), LOG_WARNING, and remove_item_inventory().

Here is the call graph for this function:

void DeleteItem ( unsigned char *  data,
int  len 
)
Parameters
data
len

Definition at line 1796 of file commands.c.

References GetInt_String(), locate_item(), LOG(), LOG_WARNING, and remove_item().

Here is the call graph for this function:

void display_newpng ( int  face,
guint8 *  buf,
int  buflen,
int  setnum 
)

This function is called when the server has sent us the actual png data for an image.

If caching, we need to write this data to disk (this is handled in the function cache_newpng).

Definition at line 669 of file image.c.

References cache_newpng(), CONFIG_CACHE, create_and_rescale_image_from_data(), facetoname, height, LOG(), LOG_ERROR, LOG_WARNING, png_to_data(), use_config, and width.

Referenced by Image2Cmd().

Here is the call graph for this function:

Here is the caller graph for this function:

void DrawExtInfoCmd ( char *  data,
int  len 
)

We must extract color, type, subtype and dispatch to callback.

Parameters
data
len

Definition at line 1263 of file commands.c.

References getTextManager(), LOG(), and LOG_WARNING.

Here is the call graph for this function:

void DrawInfoCmd ( char *  data,
int  len 
)

Draws a string in the info window.

Parameters
data
len

Definition at line 1199 of file commands.c.

References draw_ext_info(), LOG(), LOG_WARNING, MSG_TYPE_CLIENT, and MSG_TYPE_CLIENT_COMMAND.

Here is the call graph for this function:

void ExtendedInfoSetCmd ( char *  data,
int  len 
)
void Face2Cmd ( guint8 *  data,
int  len 
)

We only get here if the server believes we are caching images.

We rely on the fact that the server will only send a face command for a particular number once - at current time, we have no way of knowing if we have already received a face for a particular number.

Definition at line 526 of file image.c.

References checksum, CONFIG_CACHE, finish_face_cmd(), GetInt_String(), GetShort_String(), LOG(), LOG_WARNING, and use_config.

Here is the call graph for this function:

void FailureCmd ( char *  buf,
int  len 
)

Handles a failure return from the server.

Parameters
bufbuffer sent by server.
lenlength of data.

Definition at line 2390 of file commands.c.

References account_add_character_failure(), account_change_password_failure(), account_creation_failure(), account_login_failure(), create_new_character_failure(), LOG(), and LOG_ERROR.

Here is the call graph for this function:

void finish_face_cmd ( int  pnum,
guint32  checksum,
int  has_sum,
char *  face,
int  faceset 
)

This is common for all the face commands (face2, face1, face).

For face1 and face commands, faceset should always be zero. for face commands, has_sum and checksum will be zero. pnum is the face number, while face is the name. We actually don't care what the set it - it could be useful right now, but in the current caching scheme, we look through all the facesets for the image and if the checksum matches, we assume we have match. This approach makes sure that we don't have to store the same image multiple times simply because the set number may be different.

Definition at line 429 of file image.c.

References associate_cache_entry(), cache_dir, create_and_rescale_image_from_data(), Cache_Entry::filename, Cache_Entry::image_data, image_find_cache_entry(), image_remove_hash(), Cache_Entry::ispublic, load_image(), LOG(), LOG_WARNING, png_to_data(), and requestface().

Referenced by Face2Cmd(), and get_image_sums().

Here is the call graph for this function:

Here is the caller graph for this function:

void fire_dir ( int  dir)

Definition at line 112 of file player.c.

References Player_Struct::count, cpl, dfire, Player_Struct::input_state, MAX_BUF, Playing, SC_NORMAL, and send_command().

Referenced by map_button_event(), and parse_key().

Here is the call graph for this function:

Here is the caller graph for this function:

void free_all_items ( item op)

Definition at line 264 of file item.c.

References free_all_items(), item_struct::inv, and item_struct::next.

Referenced by free_all_items().

Here is the call graph for this function:

Here is the caller graph for this function:

void free_all_race_class_info ( Race_Class_Info data,
int  num_entries 
)

This function clears the data from the Race_Class_Info array.

Because the structure itself contains data that is allocated, some work needs to be done to clear that data.

Parameters
dataarray to clear
num_entriessize of the array.

Definition at line 420 of file commands.c.

References Race_Class_Info::num_rc_choice, RC_Choice::num_values, and Race_Class_Info::rc_choice.

Referenced by client_reset(), and ReplyInfoCmd().

Here is the caller graph for this function:

void get_image_info ( guint8 *  data,
int  len 
)

Takes the data from a replyinfo image_info and breaks it down.

The info contained is the checkums, number of images, and faceset information. It stores this data into the face_info structure. Since we know data is null terminated, we can use the strchr operations with safety. In each block, we find the newline - if we find one, we presume the data is good, and update the face_info accordingly. if we don't find a newline, we return.

Definition at line 706 of file image.c.

References Face_Information_struct::bmaps_checksum, FaceSets_struct::comment, cs_print_string(), csocket, draw_ext_info(), FaceSets_struct::extension, Face_Information_struct::faceset, Face_Information_struct::facesets, FaceSets_struct::fallback, ClientSocket::fd, FaceSets_struct::fullname, Face_Information_struct::have_faceset_info, LOG(), LOG_WARNING, MAX_BUF, MAX_FACE_SETS, MSG_TYPE_CLIENT, MSG_TYPE_CLIENT_CONFIG, NDI_RED, Face_Information_struct::num_images, FaceSets_struct::prefix, replyinfo_status, RI_IMAGE_INFO, FaceSets_struct::size, and Face_Information_struct::want_faceset.

Referenced by ReplyInfoCmd().

Here is the call graph for this function:

Here is the caller graph for this function:

void get_image_sums ( char *  data,
int  len 
)

This gets a block of checksums from the server.

This lets it prebuild the images or what not. It would probably be nice to add a gui callback someplace that gives a little status display (18% done or whatever) - that probably needs to be done further up.

The start and stop values are not meaningful - they are here because the semantics of the requestinfo/replyinfo is that replyinfo includes the same request data as the requestinfo (thus, if the request failed for some reason, the client would know which one failed and then try again). Currently, we don't have any logic in the function below to deal with failures.

Definition at line 802 of file image.c.

References checksum, finish_face_cmd(), GetInt_String(), GetShort_String(), LOG(), LOG_WARNING, and replyinfo_last_face.

Referenced by ReplyInfoCmd().

Here is the call graph for this function:

Here is the caller graph for this function:

const char* get_number ( guint32  i)

Definition at line 190 of file item.c.

References MAX_BUF.

Referenced by set_item_values().

Here is the caller graph for this function:

guint8 get_type_from_name ( const char *  name)

Definition at line 42 of file item.c.

References item_types, LOG(), LOG_WARNING, and NUM_ITEM_TYPES.

Referenced by set_item_values().

Here is the call graph for this function:

Here is the caller graph for this function:

char GetChar_String ( const unsigned char *  data)
Parameters
data
Returns

Definition at line 130 of file newsocket.c.

Referenced by AddspellCmd(), ExtSmooth(), get_new_char_info(), MapExtendedCmd(), process_race_class_info(), and UpdspellCmd().

Here is the caller graph for this function:

gint64 GetInt64_String ( const unsigned char *  data)

The reverse of SockList_AddInt, but on strings instead.

Same for the GetShort, but for 64 bits

Parameters
data
Returns

Definition at line 154 of file newsocket.c.

Referenced by get_exp_info(), script_watch(), and StatsCmd().

Here is the caller graph for this function:

int GetInt_String ( const unsigned char *  data)

The reverse of SockList_AddInt, but on strings instead.

Same for the GetShort, but for 16 bits.

Parameters
data
Returns

Definition at line 142 of file newsocket.c.

Referenced by AddspellCmd(), common_item_command(), CompleteCmd(), DeleteItem(), DeleteSpell(), Face2Cmd(), get_image_sums(), Image2Cmd(), PickupCmd(), PlayerCmd(), script_watch(), StatsCmd(), TickCmd(), UpdateItemCmd(), and UpdspellCmd().

Here is the caller graph for this function:

short GetShort_String ( const unsigned char *  data)
void GoodbyeCmd ( char *  data,
int  len 
)
Parameters
data
len

Definition at line 1114 of file commands.c.

References LOG(), and LOG_WARNING.

Here is the call graph for this function:

void handle_query ( char *  data,
int  len 
)

Prompts the user for input.

Parameters
data
len

Definition at line 1528 of file commands.c.

References cpl, CS_QUERY_HIDEINPUT, CS_QUERY_SINGLECHAR, CS_QUERY_YESNO, draw_ext_info(), draw_prompt(), Player_Struct::input_state, LOG(), LOG_DEBUG, MSG_TYPE_CLIENT, MSG_TYPE_CLIENT_QUERY, NDI_BLACK, Player_Struct::no_echo, Reply_Many, Reply_One, and x_set_echo().

Here is the call graph for this function:

void Image2Cmd ( guint8 *  data,
int  len 
)

Definition at line 552 of file image.c.

References display_newpng(), GetInt_String(), LOG(), and LOG_WARNING.

Here is the call graph for this function:

void init_common_cache_data ( void  )

Definition at line 359 of file image.c.

References cache_dir, CONFIG_CACHE, draw_ext_info(), facetoname, FD_Cache::fd, fd_cache, image_cache, IMAGE_HASH, image_process_line(), MAX_BUF, MAX_FACE_SETS, MAXPIXMAPNUM, MSG_TYPE_CLIENT, MSG_TYPE_CLIENT_NOTICE, FD_Cache::name, NDI_RED, and want_config.

Referenced by init_image_cache_data().

Here is the call graph for this function:

Here is the caller graph for this function:

void inscribe_magical_scroll ( item scroll,
Spell spell 
)
void Item2Cmd ( unsigned char *  data,
int  len 
)
Parameters
data
len

Definition at line 1701 of file commands.c.

References common_item_command().

Here is the call graph for this function:

void item_actions ( item op)
Parameters
op

Definition at line 1628 of file commands.c.

References close_container(), Player_Struct::container, cpl, item_struct::open, open_container(), and item_struct::was_open.

Referenced by common_item_command(), and UpdateItemCmd().

Here is the call graph for this function:

Here is the caller graph for this function:

item* locate_item ( gint32  tag)

Definition at line 300 of file item.c.

References Player_Struct::container, cpl, item_struct::inv, locate_item_from_item(), map, and item_struct::tag.

Referenced by common_item_command(), DeleteInventory(), DeleteItem(), main(), update_item(), and UpdateItemCmd().

Here is the call graph for this function:

Here is the caller graph for this function:

void LOG ( LogLevel  level,
const char *  origin,
const char *  format,
  ... 
)

Log messages of a certain importance to stderr.

See 'client.h' for a full list of possible log levels.

Definition at line 109 of file misc.c.

References getLogLevelText(), and MINLOG.

Referenced by AccountPlayersCmd(), add_marked_text_to_pane(), add_to_textbuf(), AddMeFail(), AddMeSuccess(), AddspellCmd(), AnimCmd(), cache_newpng(), client_disconnect(), client_negotiate(), client_run(), common_item_command(), CompleteCmd(), config_check(), config_load_legacy(), DeleteInventory(), DeleteItem(), DeleteSpell(), display_newpng(), do_num_free_items(), draw_ext_info(), draw_magic_map(), DrawExtInfoCmd(), DrawInfoCmd(), event_loop(), Face2Cmd(), FailureCmd(), finish_face_cmd(), get_class_info(), get_exp_info(), get_image_info(), get_image_sums(), get_new_char_info(), get_race_info(), get_skill_info(), get_starting_map_info(), get_type_from_name(), GoodbyeCmd(), handle_query(), Image2Cmd(), image_add_hash(), image_find_hash(), image_process_line(), image_remove_hash(), init_default_keybindings(), init_image_cache_data(), init_ui(), inventory_get_styles(), inventory_init(), keybind_insert(), keybinding_get_data(), keybinding_selection_func(), keyfunc(), list_selection_func(), load_image(), load_theme(), MagicMapCmd(), Map2Cmd(), map_scrollCmd(), mapdata_init(), menu_quit_program(), message_callback(), metaserver_connect_to(), MusicCmd(), on_combobox_rcs_changed(), on_keybinding_button_remove_clicked(), on_keybinding_button_update_clicked(), on_spell_cast_clicked(), on_spell_invoke_clicked(), on_spell_treeview_row_activated(), on_window_destroy_event(), parse_args(), parse_keybind_line(), parse_keys_file(), pickup_init(), PlayerCmd(), png_to_data(), process_race_class_info(), ReplyInfoCmd(), rescale_rgba_data(), save_keys(), save_msgctrl_configuration(), script_init(), send_command(), setup_config_dialog(), SetupCmd(), SockList_AddChar(), SockList_AddInt(), SockList_AddShort(), SockList_Send(), Sound2Cmd(), spell_get_styles(), stats_get_styles(), StatsCmd(), trigger_skill(), unbind_key(), UpdateItemCmd(), UpdspellCmd(), and VersionCmd().

Here is the call graph for this function:

void look_at ( int  x,
int  y 
)

Definition at line 65 of file player.c.

References cs_print_string(), csocket, and ClientSocket::fd.

Referenced by map_button_event().

Here is the call graph for this function:

Here is the caller graph for this function:

int make_path_to_file ( char *  filename)

If any directories in the given path doesn't exist, they are created.

Definition at line 85 of file misc.c.

Referenced by save_keys().

Here is the caller graph for this function:

item* map_item ( void  )

Definition at line 633 of file item.c.

References map, new_item(), and item_struct::weight.

Referenced by client_init().

Here is the call graph for this function:

Here is the caller graph for this function:

void new_player ( long  tag,
char *  name,
long  weight,
long  face 
)

Initialize player object using information from the server.

Definition at line 41 of file player.c.

References copy_name, cpl, item_struct::d_name, item_struct::face, keybindings_init(), Spell_struct::next, item_struct::nrof, Player_Struct::ob, Player_Struct::spelldata, item_struct::tag, and item_struct::weight.

Referenced by PlayerCmd().

Here is the call graph for this function:

Here is the caller graph for this function:

int num_free_items ( void  )

Definition at line 458 of file item.c.

References item_struct::next.

Referenced by do_num_free_items().

Here is the caller graph for this function:

void PickupCmd ( guint8 *  data,
int  len 
)

Server gives us current player's pickup.

Parameters
databuffer sent by server.
lenlength of data.

Definition at line 2376 of file commands.c.

References client_pickup(), and GetInt_String().

Here is the call graph for this function:

item* player_item ( void  )

Definition at line 627 of file item.c.

References new_item(), and player.

Referenced by client_init().

Here is the call graph for this function:

Here is the caller graph for this function:

void PlayerCmd ( unsigned char *  data,
int  len 
)

Gets the player information.

This function copies relevant data from the archetype to the object. Only copies data that was not set in the object structure.

Parameters
data
len

Definition at line 1601 of file commands.c.

References GetInt_String(), LOG(), LOG_WARNING, MAX_BUF, name, new_player(), and reset_player_data().

Here is the call graph for this function:

void print_inventory ( item op)

Definition at line 678 of file item.c.

References item_struct::d_name, draw_ext_info(), item_struct::flags, get_info_width(), item_struct::inv, MAX_BUF, MSG_TYPE_CLIENT, MSG_TYPE_CLIENT_DEBUG, NDI_BLACK, item_struct::next, item_struct::nrof, print_inventory(), item_struct::tag, and item_struct::weight.

Referenced by do_inv(), and print_inventory().

Here is the call graph for this function:

Here is the caller graph for this function:

void remove_item ( item op)
void remove_item_inventory ( item op)

Definition at line 393 of file item.c.

References item_struct::inv, item_struct::inv_updated, item_event_container_clearing(), and remove_item().

Referenced by DeleteInventory(), main(), and remove_item().

Here is the call graph for this function:

Here is the caller graph for this function:

void ReplyInfoCmd ( guint8 *  buf,
int  len 
)
void requestface ( int  pnum,
char *  facename 
)

Definition at line 412 of file image.c.

References Face_Information_struct::cache_misses, cs_print_string(), csocket, facetoname, and ClientSocket::fd.

Referenced by finish_face_cmd().

Here is the call graph for this function:

Here is the caller graph for this function:

void reset_image_cache_data ( void  )

We can now connect to different servers, so we need to clear out any old images.

We try to free the data also to prevent memory leaks. Note that we don't touch our hashed entries - so that when we connect to a new server, we still have all that information.

Definition at line 509 of file image.c.

References CONFIG_CACHE, facetoname, MAXPIXMAPNUM, and want_config.

Referenced by reset_image_data().

Here is the caller graph for this function:

void reset_player_data ( void  )

Reset player experience data.

Definition at line 226 of file init.c.

References cpl, MAX_SKILL, Stat_struct::skill_exp, Stat_struct::skill_level, and Player_Struct::stats.

Referenced by PlayerCmd(), and reset_vars_common().

Here is the caller graph for this function:

void run_dir ( int  dir)

Definition at line 133 of file player.c.

References drun, MAX_BUF, SC_NORMAL, and send_command().

Referenced by map_button_event(), and parse_key().

Here is the call graph for this function:

Here is the caller graph for this function:

int script_lua_command ( const char *  command,
const char *  param 
)

Referenced by extended_command().

Here is the caller graph for this function:

void script_lua_kill ( const char *  param)
void script_lua_list ( const char *  param)
void script_lua_load ( const char *  name)
void script_lua_stats ( void  )

Referenced by StatsCmd().

Here is the caller graph for this function:

int send_command ( const char *  command,
int  repeat,
int  must_send 
)
void send_mark_obj ( item op)

Definition at line 610 of file item.c.

References csocket, item_struct::env, ClientSocket::fd, MAX_BUF, script_monitor_str(), SockList_AddInt(), SockList_AddString(), SockList_Init(), SockList_Send(), and item_struct::tag.

Referenced by list_item_action().

Here is the call graph for this function:

Here is the caller graph for this function:

void send_reply ( const char *  text)

Sends a reply to the server.

This function basically just packs the stuff up.

Parameters
textcontains the null terminated string of text to send.

Definition at line 1584 of file commands.c.

References cpl, cs_print_string(), csocket, ClientSocket::fd, Player_Struct::no_echo, and x_set_echo().

Referenced by keyfunc(), and on_entry_commands_activate().

Here is the call graph for this function:

Here is the caller graph for this function:

void SendAddMe ( ClientSocket  csock)

Definition at line 75 of file init.c.

References cs_print_string(), and ClientSocket::fd.

Referenced by client_negotiate().

Here is the call graph for this function:

Here is the caller graph for this function:

void SendVersion ( ClientSocket  csock)

Definition at line 70 of file init.c.

References cs_print_string(), ClientSocket::fd, VERSION_CS, VERSION_INFO, and VERSION_SC.

Referenced by client_negotiate().

Here is the call graph for this function:

Here is the caller graph for this function:

void set_item_values ( item op,
char *  name,
gint32  weight,
guint16  face,
guint16  flags,
guint16  anim,
guint16  animspeed,
guint32  nrof,
guint16  type 
)
void setTextManager ( int  type,
ExtTextManager  callback 
)
Parameters
type
callback

Definition at line 1223 of file commands.c.

References TextManager::callback, firstTextManager, TextManager::next, and TextManager::type.

void SetupCmd ( char *  buf,
int  len 
)

Received a response to a setup from the server.

This function is basically the same as the server side function - we just do some different processing on the data.

Parameters
buf
len

Definition at line 901 of file commands.c.

References client_disconnect(), CONFIG_CACHE, CONFIG_MAPHEIGHT, CONFIG_MAPWIDTH, cs_print_string(), csocket, draw_ext_info(), face_info, Face_Information_struct::faceset, ClientSocket::fd, LOG(), LOG_DEBUG, LOG_INFO, LOG_WARNING, mapdata_set_size(), MAX_BUF, MSG_TYPE_CLIENT, MSG_TYPE_CLIENT_SERVER, NDI_RED, resize_map_window(), spellmon_level, start_login(), and use_config.

Here is the call graph for this function:

void SinkCmd ( unsigned char *  data,
int  len 
)
Parameters
data
len

Definition at line 2348 of file commands.c.

void SmoothCmd ( unsigned char *  data,
int  len 
)

Receives the smooth mapping from the server.

Because this information is reference a lot, the smoothing face is stored in the pixmap data - this makes access much faster than searching an array of data for the face to use.

Parameters
data
len

Definition at line 1179 of file commands.c.

References addsmooth(), and GetShort_String().

Here is the call graph for this function:

void SockList_AddChar ( SockList sl,
char  c 
)
Parameters
sl
c

Definition at line 43 of file newsocket.c.

References SockList::buf, SockList::len, LOG(), LOG_ERROR, and MAX_BUF.

Referenced by add_character_to_account(), create_new_character(), do_account_change(), do_account_create(), do_account_login(), inscribe_magical_scroll(), script_process_cmd(), send_create_player_to_server(), and toggle_locked().

Here is the call graph for this function:

Here is the caller graph for this function:

void SockList_AddInt ( SockList sl,
guint32  data 
)
Parameters
sl
data

Definition at line 80 of file newsocket.c.

References SockList::buf, SockList::len, LOG(), LOG_ERROR, and MAX_BUF.

Referenced by inscribe_magical_scroll(), script_process_cmd(), send_command(), send_mark_obj(), and toggle_locked().

Here is the call graph for this function:

Here is the caller graph for this function:

void SockList_AddShort ( SockList sl,
guint16  data 
)
Parameters
sl
data

Definition at line 64 of file newsocket.c.

References SockList::buf, SockList::len, LOG(), LOG_ERROR, and MAX_BUF.

Referenced by send_command().

Here is the call graph for this function:

Here is the caller graph for this function:

void SockList_AddString ( SockList sl,
const char *  str 
)
void SockList_Init ( SockList sl,
guint8 *  buf 
)
bool SockList_ReadPacket ( GSocketConnection  c[static 1],
SockList  sl[static 1],
size_t  len,
GError **  error 
)

Reads from the socket and puts data into a socklist.

The only processing done is to remove the initial size value. An assumption made is that the buffer is at least 2 bytes long.

Parameters
fdSocket to read from.
slPointer to a buffer to put the read data.
lenSize of the buffer allocated to accept data.
Returns
Return true if we think we have a full packet, 0 if we have a partial packet, or -1 if an error occurred.

Definition at line 206 of file newsocket.c.

References SockList::buf, CLIENT_ERROR, CLIENT_ERROR_TOOBIG, csocket, cst_lst, cst_tot, ClientSocket::fd, GetUShort_String(), CS_Stats::ibytes, in, and SockList::len.

Referenced by client_run().

Here is the call graph for this function:

Here is the caller graph for this function:

int SockList_Send ( SockList sl,
GSocketConnection *  c 
)

Send data from a socklist to the socket.

Definition at line 112 of file newsocket.c.

References SockList::buf, SockList::len, LOG(), and LOG_WARNING.

Referenced by add_character_to_account(), create_new_character(), cs_print_string(), do_account_change(), do_account_create(), do_account_login(), inscribe_magical_scroll(), play_character(), script_process_cmd(), send_command(), send_create_player_to_server(), send_mark_obj(), and toggle_locked().

Here is the call graph for this function:

Here is the caller graph for this function:

void StatsCmd ( unsigned char *  data,
int  len 
)

Updates the local copy of the stats and displays it.

Parameters
data
len

Definition at line 1340 of file commands.c.

References Stat_struct::ac, Stat_struct::attuned, Stat_struct::Cha, Stat_struct::Con, cpl, CS_NUM_SKILLS, CS_STAT_AC, CS_STAT_ARMOUR, CS_STAT_CHA, CS_STAT_CON, CS_STAT_DAM, CS_STAT_DEX, CS_STAT_EXP, CS_STAT_EXP64, CS_STAT_FLAGS, CS_STAT_FOOD, CS_STAT_GRACE, CS_STAT_HP, CS_STAT_INT, CS_STAT_LEVEL, CS_STAT_MAXGRACE, CS_STAT_MAXHP, CS_STAT_MAXSP, CS_STAT_POW, CS_STAT_RANGE, CS_STAT_RESIST_END, CS_STAT_RESIST_START, CS_STAT_SKILLINFO, CS_STAT_SP, CS_STAT_SPEED, CS_STAT_SPELL_ATTUNE, CS_STAT_SPELL_DENY, CS_STAT_SPELL_REPEL, CS_STAT_STR, CS_STAT_TITLE, CS_STAT_WC, CS_STAT_WEAP_SP, CS_STAT_WEIGHT_LIM, CS_STAT_WIS, Stat_struct::dam, Stat_struct::denied, Stat_struct::Dex, draw_message_window(), draw_stats(), Stat_struct::exp, Stat_struct::flags, Stat_struct::food, GetInt64_String(), GetInt_String(), GetShort_String(), Stat_struct::grace, Stat_struct::hp, Stat_struct::Int, item_struct::inv_updated, Stat_struct::level, LOG(), LOG_WARNING, Stat_struct::maxgrace, Stat_struct::maxhp, Stat_struct::maxsp, Player_Struct::ob, Stat_struct::Pow, Player_Struct::range, redraw(), Stat_struct::repelled, Stat_struct::resist_change, Stat_struct::resists, script_lua_stats(), set_weight_limit(), Stat_struct::skill_exp, Stat_struct::skill_level, Stat_struct::sp, Stat_struct::speed, Player_Struct::spells_updated, Player_Struct::stats, Stat_struct::Str, Player_Struct::title, use_skill(), Stat_struct::wc, Stat_struct::weapon_sp, Stat_struct::weight_limit, and Stat_struct::Wis.

Here is the call graph for this function:

void stop_fire ( void  )

Definition at line 91 of file player.c.

References cpl, dfire, Player_Struct::input_state, and Playing.

Referenced by keyfunc().

Here is the caller graph for this function:

void stop_run ( void  )

Definition at line 128 of file player.c.

References drun, SC_FIRERUN, and send_command().

Referenced by keyfunc(), and map_button_event().

Here is the call graph for this function:

Here is the caller graph for this function:

void TickCmd ( guint8 *  data,
int  len 
)

Got a tick from the server.

We currently don't care what tick number it is, but just have the code in case at some time we do.

Parameters
data
len

Definition at line 2359 of file commands.c.

References client_tick(), GetInt_String(), and tick.

Here is the call graph for this function:

void toggle_locked ( item op)

Definition at line 592 of file item.c.

References csocket, item_struct::env, ClientSocket::fd, item_struct::locked, MAX_BUF, script_monitor_str(), SockList_AddChar(), SockList_AddInt(), SockList_AddString(), SockList_Init(), SockList_Send(), and item_struct::tag.

Referenced by list_item_action().

Here is the call graph for this function:

Here is the caller graph for this function:

void update_item ( int  tag,
int  loc,
char *  name,
int  weight,
int  face,
int  flags,
int  anim,
int  animspeed,
guint32  nrof,
int  type 
)
void update_item_sort ( item it)

Definition at line 91 of file item.c.

References item_struct::applied, item_struct::env, insert_item_before_item(), item_struct::inv, item_struct::locked, item_struct::next, item_struct::prev, item_struct::s_name, and item_struct::type.

Referenced by set_item_values().

Here is the call graph for this function:

Here is the caller graph for this function:

void UpdateItemCmd ( unsigned char *  data,
int  len 
)
void use_skill ( int  skill_id)

Maintain the last_used_skills LRU list for displaying the recently used skills first.

Parameters
skill_id

Definition at line 1315 of file commands.c.

References last_used_skills.

Referenced by StatsCmd().

Here is the caller graph for this function:

void VersionCmd ( char *  data,
int  len 
)

Definition at line 44 of file init.c.

References ClientSocket::cs_version, csocket, LOG(), LOG_DEBUG, LOG_WARNING, ClientSocket::sc_version, VERSION_CS, and VERSION_SC.

Here is the call graph for this function: