Crossfire Server, Trunk
sockproto.h
Go to the documentation of this file.
1 /* image.c */
2 int is_valid_faceset(int fsn);
3 void set_face_mode_cmd(char *buf, int len, socket_struct *ns);
4 void send_face_cmd(char *buff, int len, socket_struct *ns);
5 void esrv_send_face(socket_struct *ns, const Face *face, int nocache);
7 void send_image_sums(socket_struct *ns, char *params);
8 /* info.c */
9 void print_ext_msg(socket_struct *ns, int color, uint8_t type, uint8_t subtype, const char *message);
10 void draw_ext_info(int flags, int pri, const object *pl, uint8_t type, uint8_t subtype, const char *message);
11 void draw_ext_info_format(int flags, int pri, const object *pl, uint8_t type, uint8_t subtype, const char *format, ...) PRINTF_ARGS(6, 7);
12 void ext_info_map(int color, const mapstruct *map, uint8_t type, uint8_t subtype, const char *str1);
13 void ext_info_map_except(int color, const mapstruct *map, const object *op, uint8_t type, uint8_t subtype, const char *str1);
14 void ext_info_map_except2(int color, const mapstruct *map, const object *op1, const object *op2, int type, int subtype, const char *str1);
15 void rangetostring(const object *pl, char *obuf, size_t len);
16 void set_title(const object *pl, char *buf, size_t len);
17 void magic_mapping_mark(object *pl, char *map_mark, int strength);
18 void draw_magic_map(object *pl);
19 /* init.c */
20 void init_connection(socket_struct *ns, const char *from_ip);
22 void init_server(void);
23 void free_all_newserver(void);
26 /* item.c */
27 void esrv_draw_look(object *pl);
28 void esrv_send_inventory(object *pl, object *op);
29 void esrv_update_item(int flags, object *pl, object *op);
30 void esrv_send_item(object *pl, object *op);
31 void esrv_del_item(player *pl, object *ob);
32 void examine_cmd(char *buf, int len, player *pl);
33 void apply_cmd(char *buf, int len, player *pl);
34 void lock_item_cmd(uint8_t *data, int len, player *pl);
35 void mark_item_cmd(uint8_t *data, int len, player *pl);
36 void look_at(object *op, int dx, int dy);
37 void look_at_cmd(char *buf, int len, player *pl);
38 void esrv_move_object(object *pl, tag_t to, tag_t tag, long nrof);
39 void inscribe_scroll_cmd(char *buf, int len, player *pl);
40 /* loop.c */
41 void request_info_cmd(char *buf, int len, socket_struct *ns);
43 void watchdog(void);
44 void do_server(void);
45 void update_players(void);
46 /* lowlevel.c */
47 void SockList_Init(SockList *sl);
48 void SockList_Term(SockList *sl);
49 void SockList_Reset(SockList *sl);
51 void SockList_AddChar(SockList *sl, unsigned char c);
52 void SockList_AddShort(SockList *sl, uint16_t data);
53 void SockList_AddInt(SockList *sl, uint32_t data);
54 void SockList_AddInt64(SockList *sl, uint64_t data);
55 size_t SockList_Avail(const SockList *sl);
56 void SockList_AddString(SockList *sl, const char *data);
57 void SockList_AddData(SockList *sl, const void *data, size_t len);
58 void SockList_AddLen8Data(SockList *sl, const void *data, size_t len);
59 void SockList_AddLen16Data(SockList *sl, const void *data, size_t len);
60 void SockList_AddPrintf(SockList *sl, const char *format, ...);
63 int GetInt_String(const unsigned char *data);
64 short GetShort_String(const unsigned char *data);
65 int SockList_ReadPacket(int fd, SockList *sl, int len);
67 void write_cs_stats(void);
68 /* metaserver.c */
69 int count_players(void);
70 void metaserver_update(void);
71 int metaserver2_init(void);
72 void metaserver2_exit();
73 /* request.c */
74 void set_up_cmd(char *buf, int len, socket_struct *ns);
75 void add_me_cmd(char *buf, int len, socket_struct *ns);
76 void toggle_extended_infos_cmd(char *buf, int len, socket_struct *ns);
77 void toggle_extended_text_cmd(char *buf, int len, socket_struct *ns);
78 void ask_smooth_cmd(char *buf, int len, socket_struct *ns);
79 void new_player_cmd(uint8_t *buf, int len, player *pl);
80 void reply_cmd(char *buf, int len, player *pl);
81 void version_cmd(char *buf, int len, socket_struct *ns);
82 void set_sound_cmd(char *buf, int len, socket_struct *ns);
84 void move_cmd(char *buf, int len, player *pl);
85 void send_query(socket_struct *ns, uint8_t flags, const char *text);
87 void esrv_new_player(player *pl, uint32_t weight);
89 void draw_client_map(object *pl);
90 void esrv_map_scroll(socket_struct *ns, int dx, int dy);
91 void send_plugin_custom_message(object *pl, char *buf);
93 void send_skill_info(socket_struct *ns, char *params);
94 void send_skill_extra(socket_struct *ns, char *params);
97 void send_race_info(socket_struct *ns, char *params);
99 void send_class_info(socket_struct *ns, char *params);
101 void esrv_remove_spell(player *pl, object *spell);
102 void esrv_send_pickup(player *pl);
103 void esrv_add_spells(player *pl, object *spell);
104 void send_tick(player *pl);
105 void send_file(socket_struct *ns, const char *file);
106 void account_login_cmd(char *buf, int len, socket_struct *ns);
107 void account_new_cmd(char *buf, int len, socket_struct *ns);
108 void account_add_player_cmd(char *buf, int len, socket_struct *ns);
109 void account_play_cmd(char *buf, int len, socket_struct *ns);
111 void create_player_cmd(char *buf, int len, socket_struct *ns);
112 void account_password(char *buf, int len, socket_struct *ns);
113 /* requestinfo.c */
115 void send_map_info(socket_struct *ns);
116 /* sounds.c */
117 void play_sound_player_only(player *pl, int8_t sound_type, object *emitter, int dir, const char *action);
118 void play_sound_map(int8_t sound_type, object *emitter, int dir, const char *action);
119 void send_background_music(player *pl, const char *music);
120 void player_update_bg_music(object *player);
send_image_info
void send_image_info(socket_struct *ns)
Definition: image.cpp:113
SockList_AddInt
void SockList_AddInt(SockList *sl, uint32_t data)
Definition: lowlevel.cpp:124
send_image_sums
void send_image_sums(socket_struct *ns, char *params)
Definition: image.cpp:138
reply_cmd
void reply_cmd(char *buf, int len, player *pl)
Definition: request.cpp:571
print_ext_msg
void print_ext_msg(socket_struct *ns, int color, uint8_t type, uint8_t subtype, const char *message)
Definition: info.cpp:62
SockList_AddInt64
void SockList_AddInt64(SockList *sl, uint64_t data)
Definition: lowlevel.cpp:137
init_connection
void init_connection(socket_struct *ns, const char *from_ip)
Definition: init.cpp:85
request_info_cmd
void request_info_cmd(char *buf, int len, socket_struct *ns)
Definition: loop.cpp:134
player
Definition: player.h:105
esrv_map_scroll
void esrv_map_scroll(socket_struct *ns, int dx, int dy)
Definition: request.cpp:1668
CFweardisguise.tag
tag
Definition: CFweardisguise.py:25
socket_struct
Definition: newserver.h:89
init_server
void init_server(void)
Definition: init.cpp:272
esrv_new_player
void esrv_new_player(player *pl, uint32_t weight)
Definition: request.cpp:991
esrv_send_inventory
void esrv_send_inventory(object *pl, object *op)
Definition: item.cpp:316
c
static event_registration c
Definition: citylife.cpp:425
SockList_AddString
void SockList_AddString(SockList *sl, const char *data)
Definition: lowlevel.cpp:154
PRINTF_ARGS
#define PRINTF_ARGS(x, y)
Definition: global.h:44
do_server
void do_server(void)
Definition: loop.cpp:564
esrv_send_pickup
void esrv_send_pickup(player *pl)
Definition: request.cpp:1795
guildjoin.ob
ob
Definition: guildjoin.py:42
mark_item_cmd
void mark_item_cmd(uint8_t *data, int len, player *pl)
Definition: item.cpp:764
draw_ext_info_format
void draw_ext_info_format(int flags, int pri, const object *pl, uint8_t type, uint8_t subtype, const char *format,...) PRINTF_ARGS(6
mad_mage_user.file
file
Definition: mad_mage_user.py:15
play_sound_player_only
void play_sound_player_only(player *pl, int8_t sound_type, object *emitter, int dir, const char *action)
Definition: sounds.cpp:51
send_new_char_info
void send_new_char_info(socket_struct *ns)
Definition: requestinfo.cpp:520
free_all_newserver
void free_all_newserver(void)
Definition: init.cpp:403
play_sound_map
void play_sound_map(int8_t sound_type, object *emitter, int dir, const char *action)
Definition: sounds.cpp:113
flags
static const flag_definition flags[]
Definition: gridarta-types-convert.cpp:101
send_map_info
void send_map_info(socket_struct *ns)
Definition: requestinfo.cpp:441
esrv_update_spells
void esrv_update_spells(player *pl)
Definition: main.cpp:386
send_exp_table
void send_exp_table(socket_struct *ns)
Definition: requestinfo.cpp:158
send_account_players
void send_account_players(socket_struct *ns)
Definition: request.cpp:2032
esrv_add_spells
void esrv_add_spells(player *pl, object *spell)
Definition: request.cpp:1909
SockList_AddLen16Data
void SockList_AddLen16Data(SockList *sl, const void *data, size_t len)
Definition: lowlevel.cpp:188
toggle_extended_infos_cmd
void toggle_extended_infos_cmd(char *buf, int len, socket_struct *ns)
smoking_pipe.color
color
Definition: smoking_pipe.py:5
SockList_Reset
void SockList_Reset(SockList *sl)
Definition: lowlevel.cpp:71
buf
StringBuffer * buf
Definition: readable.cpp:1552
SockList
Definition: newclient.h:670
esrv_send_item
void esrv_send_item(object *pl, object *op)
Definition: main.cpp:354
SockList_Avail
size_t SockList_Avail(const SockList *sl)
Definition: lowlevel.cpp:243
GetShort_String
short GetShort_String(const unsigned char *data)
Definition: lowlevel.cpp:255
account_password
void account_password(char *buf, int len, socket_struct *ns)
Definition: request.cpp:3026
send_skill_info
void send_skill_info(socket_struct *ns, char *params)
Definition: requestinfo.cpp:71
account_login_cmd
void account_login_cmd(char *buf, int len, socket_struct *ns)
Definition: request.cpp:2159
look_at_cmd
void look_at_cmd(char *buf, int len, player *pl)
Definition: item.cpp:860
set_title
void set_title(const object *pl, char *buf, size_t len)
Definition: info.cpp:334
esrv_remove_spell
void esrv_remove_spell(player *pl, object *spell)
Definition: request.cpp:1772
disinfect.map
map
Definition: disinfect.py:4
final_free_player
void final_free_player(player *pl)
Definition: init.cpp:455
esrv_send_face
void esrv_send_face(socket_struct *ns, const Face *face, int nocache)
Definition: image.cpp:72
esrv_update_stats
void esrv_update_stats(player *pl)
Definition: request.cpp:849
ext_info_map_except2
void ext_info_map_except2(int color, const mapstruct *map, const object *op1, const object *op2, int type, int subtype, const char *str1)
Definition: info.cpp:245
handle_client
bool handle_client(socket_struct *ns, player *pl)
Definition: loop.cpp:255
SockList_AddShort
void SockList_AddShort(SockList *sl, uint16_t data)
Definition: lowlevel.cpp:113
ext_info_map
void void ext_info_map(int color, const mapstruct *map, uint8_t type, uint8_t subtype, const char *str1)
Definition: main.cpp:334
SockList_AddChar
void SockList_AddChar(SockList *sl, unsigned char c)
Definition: lowlevel.cpp:103
convert.action
action
Definition: convert.py:25
metaserver2_init
int metaserver2_init(void)
Definition: metaserver.cpp:324
message
TIPS on SURVIVING Crossfire is populated with a wealth of different monsters These monsters can have varying immunities and attack types In some of them can be quite a bit smarter than others It will be important for new players to learn the abilities of different monsters and learn just how much it will take to kill them This section discusses how monsters can interact with players Most monsters in the game are out to mindlessly kill and destroy the players These monsters will help boost a player s after he kills them When fighting a large amount of monsters in a single attempt to find a narrower hallway so that you are not being attacked from all sides Charging into a room full of Beholders for instance would not be open the door and fight them one at a time For there are several maps designed for them Find these areas and clear them out All throughout these a player can find signs and books which they can read by stepping onto them and hitting A to apply the book sign These messages will help the player to learn the system One more always keep an eye on your food If your food drops to your character will soon so BE CAREFUL ! NPCs Non Player Character are special monsters which have intelligence Players may be able to interact with these monsters to help solve puzzles and find items of interest To speak with a monster you suspect to be a simply move to an adjacent square to them and push the double ie Enter your message
Definition: survival-guide.txt:34
send_background_music
void send_background_music(player *pl, const char *music)
Definition: sounds.cpp:141
draw_magic_map
void draw_magic_map(object *pl)
Definition: info.cpp:474
send_tick
void send_tick(player *pl)
Definition: request.cpp:1968
navar-midane_time.data
data
Definition: navar-midane_time.py:11
spell
with a maximum of six This is not so if you are wearing plate you receive no benefit Armour is additive with all the supplementry forms of which means that it lasts until the next semi permanent spell effect is cast upon the character spell
Definition: tome-of-magic.txt:44
set_sound_cmd
void set_sound_cmd(char *buf, int len, socket_struct *ns)
ask_smooth_cmd
void ask_smooth_cmd(char *buf, int len, socket_struct *ns)
Definition: request.cpp:479
account_add_player_cmd
void account_add_player_cmd(char *buf, int len, socket_struct *ns)
Definition: request.cpp:2372
tag_t
uint32_t tag_t
Definition: object.h:14
animate.anim
string anim
Definition: animate.py:20
create_player_cmd
void create_player_cmd(char *buf, int len, socket_struct *ns)
Definition: request.cpp:2606
new_player_cmd
void new_player_cmd(uint8_t *buf, int len, player *pl)
Definition: request.cpp:503
account_play_cmd
void account_play_cmd(char *buf, int len, socket_struct *ns)
Definition: request.cpp:2501
SockList_Init
void SockList_Init(SockList *sl)
Definition: lowlevel.cpp:52
weight
TIPS on SURVIVING Crossfire is populated with a wealth of different monsters These monsters can have varying immunities and attack types In some of them can be quite a bit smarter than others It will be important for new players to learn the abilities of different monsters and learn just how much it will take to kill them This section discusses how monsters can interact with players Most monsters in the game are out to mindlessly kill and destroy the players These monsters will help boost a player s after he kills them When fighting a large amount of monsters in a single attempt to find a narrower hallway so that you are not being attacked from all sides Charging into a room full of Beholders for instance would not be open the door and fight them one at a time For there are several maps designed for them Find these areas and clear them out All throughout these a player can find signs and books which they can read by stepping onto them and hitting A to apply the book sign These messages will help the player to learn the system One more always keep an eye on your food If your food drops to your character will soon so BE CAREFUL ! NPCs Non Player Character are special monsters which have intelligence Players may be able to interact with these monsters to help solve puzzles and find items of interest To speak with a monster you suspect to be a simply move to an adjacent square to them and push the double ie Enter your and press< Return > You can also use say if you feel like typing a little extra Other NPCs may not speak to but display intelligence with their movement Some monsters can be and may attack the nearest of your enemies Others can be in that they follow you around and help you in your quest to kill enemies and find treasure SPECIAL ITEMS There are many special items which can be found in of these the most important may be the signs all a player must do is apply the handle In the case of the player must move items over the button to hold it down Some of the larger buttons may need very large items to be moved onto before they can be activated Gates and locked but be for you could fall down into a pit full of ghosts or dragons and not be able to get back out Break away sometimes it may be worth a player s time to test the walls of a map for secret doors Fire such as missile weapons and spells you will notice them going up in smoke ! So be careful not to destroy valuable items Spellbooks sometimes a player can learn the other times they cannot There are many different types of books and scrolls out there Improve item have lower weight
Definition: survival-guide.txt:100
move_cmd
void move_cmd(char *buf, int len, player *pl)
Definition: request.cpp:690
send_class_info
void send_class_info(socket_struct *ns, char *params)
Definition: requestinfo.cpp:413
look_at
void look_at(object *op, int dx, int dy)
Definition: item.cpp:795
esrv_del_item
void esrv_del_item(player *pl, object *ob)
Definition: main.cpp:381
version_cmd
void version_cmd(char *buf, int len, socket_struct *ns)
Definition: request.cpp:633
send_plugin_custom_message
void send_plugin_custom_message(object *pl, char *buf)
Definition: request.cpp:1706
SockList_Term
void SockList_Term(SockList *sl)
Definition: lowlevel.cpp:62
metaserver2_exit
void metaserver2_exit()
Definition: metaserver.cpp:485
set_face_mode_cmd
void set_face_mode_cmd(char *buf, int len, socket_struct *ns)
send_race_list
void send_race_list(socket_struct *ns)
Definition: requestinfo.cpp:326
to
**Media tags please refer to the protocol file in doc Developers protocol Quick for your pleasure an example[/b][i] This is an old full of dirt and partially destroyed[hand] My dear as you two years i had to leave quickly Words have come to me of powerful magic scrolls discovered in an old temple by my uncle I have moved to study them I not forgot your knowledge in ancient languages I need your help for[print][b] Some parts of document are to damaged to be readable[/b][arcane] Arghis[color=Red] k h[color=dark slate blue] ark[color=#004000] fido[/color][hand] please come as fast as possible my friend[print][b] The bottom of letter seems deliberatly shredded What is but not limited to
Definition: media-tags.txt:30
esrv_send_animation
void esrv_send_animation(socket_struct *ns, const Animations *anim)
Definition: request.cpp:1021
free_newsocket
void free_newsocket(socket_struct *ns)
Definition: init.cpp:420
ext_info_map_except
void ext_info_map_except(int color, const mapstruct *map, const object *op, uint8_t type, uint8_t subtype, const char *str1)
Definition: info.cpp:219
inscribe_scroll_cmd
void inscribe_scroll_cmd(char *buf, int len, player *pl)
Definition: item.cpp:955
SockList_AddData
void SockList_AddData(SockList *sl, const void *data, size_t len)
Definition: lowlevel.cpp:164
esrv_move_object
void esrv_move_object(object *pl, tag_t to, tag_t tag, long nrof)
Definition: item.cpp:890
send_class_list
void send_class_list(socket_struct *ns)
Definition: requestinfo.cpp:392
toggle_extended_text_cmd
void toggle_extended_text_cmd(char *buf, int len, socket_struct *ns)
metaserver_update
void metaserver_update(void)
Definition: metaserver.cpp:80
mapstruct
Definition: map.h:314
write_cs_stats
void write_cs_stats(void)
give.op
op
Definition: give.py:33
update_players
void update_players(void)
Definition: loop.cpp:707
SockList_AddLen8Data
void SockList_AddLen8Data(SockList *sl, const void *data, size_t len)
Definition: lowlevel.cpp:176
format
Python Guilds Quick outline Add a guild(mapmakers) this is still a problem *after dropping the token to gain access to the stove a woodfloor now appears which is Toolshed Token(found in Guild_HQ) *Note also have multiple gates in place to protect players and items from the mana explosion drop x for Jewelers room *Jewelers room works just need to determine what x is drop x for Thaumaturgy room *Thaumaturgy room works just need to determine what x is drop gold dropping the Firestar named fearless allows access to but I suspect that the drop location of the chest is not as intended because the player is in the way once you enter the chest the exit back to the basement is things such as the message et al reside on teleporters which then transport items to the map as they are when the map is already purchased items reappear in that area From my this does not cause any problems at the moment But this should be corrected fixed Major it s now possible to buy guilds Ryo Update Uploaded guild package to CVS Changes the cauldrons and the charging room I spent a while agonizing over They were natural guild enhancements but much too much value for any reasonable expense to buy them Then I thought that they should be pay access but at a greatly reduced rate SO when you buy a forge or whatever for your guild it is available on a perplayer daily rate but it will be accessable for testing and to DMs to play with Like I said lots still to do with the especially comingt up with quest items for buying things like the new workshops and stuff One of the things I would like some input on would be proposals for additional fields for either the guildhouses or guild datafiles to play with Currently the Guildhouse but there is no reason we can t have more than one measure of a guild perhaps have dues relate to Dues and use points for some other suspended or inactive or when a guild is founded inactive active Guilds have the format
Definition: README.txt:140
esrv_update_item
void esrv_update_item(int flags, object *pl, object *op)
Definition: main.cpp:359
esrv_draw_look
void esrv_draw_look(object *pl)
Definition: item.cpp:193
send_file
void send_file(socket_struct *ns, const char *file)
Definition: requestinfo.cpp:479
roll-o-matic.params
params
Definition: roll-o-matic.py:193
examine_cmd
void examine_cmd(char *buf, int len, player *pl)
Definition: item.cpp:643
magic_mapping_mark
void magic_mapping_mark(object *pl, char *map_mark, int strength)
Definition: info.cpp:427
SockList_ResetRead
void SockList_ResetRead(SockList *sl)
Definition: lowlevel.cpp:80
send_skill_extra
void send_skill_extra(socket_struct *ns, char *params)
Definition: requestinfo.cpp:102
send_spell_paths
void send_spell_paths(socket_struct *ns)
Definition: requestinfo.cpp:132
account_new_cmd
void account_new_cmd(char *buf, int len, socket_struct *ns)
Definition: request.cpp:2258
watchdog
void watchdog(void)
map_newmap_cmd
void map_newmap_cmd(socket_struct *ns)
Definition: request.cpp:669
GetInt_String
int GetInt_String(const unsigned char *data)
Definition: lowlevel.cpp:251
lock_item_cmd
void lock_item_cmd(uint8_t *data, int len, player *pl)
Definition: item.cpp:705
Face
Definition: face.h:14
draw_ext_info
void draw_ext_info(int flags, int pri, const object *pl, uint8_t type, uint8_t subtype, const char *message)
Definition: main.cpp:308
SockList_AddStringBuffer
void SockList_AddStringBuffer(SockList *sl, StringBuffer *sb)
Definition: lowlevel.cpp:222
Animations
Definition: face.h:25
count_players
int count_players(void)
Definition: metaserver.cpp:48
is_valid_faceset
int is_valid_faceset(int fsn)
Definition: image.cpp:117
SockList_ReadPacket
int SockList_ReadPacket(int fd, SockList *sl, int len)
Definition: lowlevel.cpp:272
StringBuffer
Definition: stringbuffer.cpp:25
set_up_cmd
void set_up_cmd(char *buf, int len, socket_struct *ns)
Definition: request.cpp:119
text
Crossfire Protocol most of the time after the actual code was already omit certain important and possibly make life miserable any new developer or curious player should be able to find most of the relevant information here If inconsistencies are found or this documentation proves to be consider the latest server side protocol code in the public source code repository as the authoritative reference Introduction If you were ever curious enough to telnet or netcat to a Crossfire chances are you were sorely disappointed While the protocol may seem to use plain text at it actually uses a mix of ASCII and binary data This handbook attempts to document various aspects of the Crossfire protocol As consult the README file to find out how to get in touch with helpful people via mailing and more History the communications plan was set to be a text based system It was up to the server and client to parse these messages and determine what to do These messages were assumed to be line per message At a reasonably early stage of Eric Anderson wrote a then the data itself you could send many data and after the other end could decode these commands This works fairly but I think the creation of numerous sub packets has some performance hit the eutl was not especially well so writing a client for a different platform became more Eric left to work on other products shortly after writing his which didn t really leave anyone with a full understanding of the socket code I have decided to remove the eutl dependency At least one advantage is that having this network related code directly in the client and server makes error handling a bit easier cleaner Packet Format the outside packet method the byte size for the size information is not included here Eutl originally used bytes for the size to bytes seems it makes a least some sense The actual data is something of the nature of the commands listed below It is a text followed by possible other data The remaining data can be binary it is up to the client and server to decode what it sent The commands as described below is just the data portion of the packet If writing a new remember that you must take into account the size of the packet There is no termination of other than knowing how long it should be For most everything that is sent is text This is more or less how things worked under except it packed the ints into bytes in a known order In some we handle ints as in they are sent as binary information How any command handles it is detailed below in the command description The S and C represent the direction of the we use MSB as well as any ints or shorts that get sent inside the packets All packets are defined to have at least one word of text
Definition: protocol.txt:84
send_race_info
void send_race_info(socket_struct *ns, char *params)
Definition: requestinfo.cpp:347
altar_valkyrie.pl
pl
Definition: altar_valkyrie.py:28
add_me_cmd
void add_me_cmd(char *buf, int len, socket_struct *ns)
Definition: request.cpp:391
draw_client_map
void draw_client_map(object *pl)
Definition: request.cpp:1607
send_query
void send_query(socket_struct *ns, uint8_t flags, const char *text)
Definition: request.cpp:728
Send_With_Handling
void Send_With_Handling(socket_struct *ns, SockList *sl)
Definition: lowlevel.cpp:444
apply_cmd
void apply_cmd(char *buf, int len, player *pl)
Definition: item.cpp:665
SockList_NullTerminate
void SockList_NullTerminate(SockList *sl)
Definition: lowlevel.cpp:234
send_face_cmd
void send_face_cmd(char *buff, int len, socket_struct *ns)
Definition: image.cpp:45
rangetostring
void rangetostring(const object *pl, char *obuf, size_t len)
Definition: info.cpp:264
is_valid_types_gen.type
list type
Definition: is_valid_types_gen.py:25
SockList_AddPrintf
void SockList_AddPrintf(SockList *sl, const char *format,...)
Definition: lowlevel.cpp:199
player_update_bg_music
void player_update_bg_music(object *player)
Definition: sounds.cpp:161
init_listening_socket
void init_listening_socket(socket_struct *ns)
Definition: init.cpp:181