Crossfire Server, Trunk  R20608
newclient.h File Reference
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  CS_Stats
 
struct  SockList
 

Macros

#define ACL_CLASS   2
 
#define ACL_FACE   5
 
#define ACL_FACE_NUM   8
 
#define ACL_LEVEL   4
 
#define ACL_MAP   7
 
#define ACL_NAME   1
 
#define ACL_PARTY   6
 
#define ACL_RACE   3
 
#define ANIM_FLAGS_MASK   0x6000
 
#define ANIM_MASK   0x1fff
 
#define ANIM_RANDOM   1<<13
 
#define ANIM_SYNC   2<<13
 
#define CS_NUM_SKILLS   50
 
#define CS_QUERY_HIDEINPUT   0x4
 
#define CS_QUERY_SINGLECHAR   0x2
 
#define CS_QUERY_YESNO   0x1
 
#define CS_SAY_GSAY   0x4
 
#define CS_SAY_NORMAL   0x1
 
#define CS_SAY_SHOUT   0x2
 
#define CS_STAT_AC   14
 
#define CS_STAT_APPLIED_CHA   51
 
#define CS_STAT_APPLIED_CON   50
 
#define CS_STAT_APPLIED_DEX   49
 
#define CS_STAT_APPLIED_INT   47
 
#define CS_STAT_APPLIED_POW   52
 
#define CS_STAT_APPLIED_STR   46
 
#define CS_STAT_APPLIED_WIS   48
 
#define CS_STAT_ARMOUR   16
 
#define CS_STAT_BASE_CHA   44
 
#define CS_STAT_BASE_CON   43
 
#define CS_STAT_BASE_DEX   42
 
#define CS_STAT_BASE_INT   40
 
#define CS_STAT_BASE_POW   45
 
#define CS_STAT_BASE_STR   39
 
#define CS_STAT_BASE_WIS   41
 
#define CS_STAT_CHA   10
 
#define CS_STAT_CON   9
 
#define CS_STAT_DAM   15
 
#define CS_STAT_DEX   8
 
#define CS_STAT_EXP   11
 
#define CS_STAT_EXP64   28
 
#define CS_STAT_FLAGS   25
 
#define CS_STAT_FOOD   18
 
#define CS_STAT_GOLEM_HP   53
 
#define CS_STAT_GOLEM_MAXHP   54
 
#define CS_STAT_GRACE   23
 
#define CS_STAT_HP   1
 
#define CS_STAT_INT   6
 
#define CS_STAT_LEVEL   12
 
#define CS_STAT_MAXGRACE   24
 
#define CS_STAT_MAXHP   2
 
#define CS_STAT_MAXSP   4
 
#define CS_STAT_POW   22
 
#define CS_STAT_RACE_CHA   37
 
#define CS_STAT_RACE_CON   36
 
#define CS_STAT_RACE_DEX   35
 
#define CS_STAT_RACE_INT   33
 
#define CS_STAT_RACE_POW   38
 
#define CS_STAT_RACE_STR   32
 
#define CS_STAT_RACE_WIS   34
 
#define CS_STAT_RANGE   20
 
#define CS_STAT_RES_ACID   106
 
#define CS_STAT_RES_BLIND   117
 
#define CS_STAT_RES_COLD   104
 
#define CS_STAT_RES_CONF   105
 
#define CS_STAT_RES_DEATH   115
 
#define CS_STAT_RES_DEPLETE   114
 
#define CS_STAT_RES_DRAIN   107
 
#define CS_STAT_RES_ELEC   103
 
#define CS_STAT_RES_FEAR   113
 
#define CS_STAT_RES_FIRE   102
 
#define CS_STAT_RES_GHOSTHIT   108
 
#define CS_STAT_RES_HOLYWORD   116
 
#define CS_STAT_RES_MAG   101
 
#define CS_STAT_RES_PARA   111
 
#define CS_STAT_RES_PHYS   100
 
#define CS_STAT_RES_POISON   109
 
#define CS_STAT_RES_SLOW   110
 
#define CS_STAT_RESIST_END   117
 
#define CS_STAT_RESIST_START   100
 
#define CS_STAT_SKILLINFO   140
 
#define CS_STAT_SP   3
 
#define CS_STAT_SPEED   17
 
#define CS_STAT_SPELL_ATTUNE   29
 
#define CS_STAT_SPELL_DENY   31
 
#define CS_STAT_SPELL_REPEL   30
 
#define CS_STAT_STR   5
 
#define CS_STAT_TITLE   21
 
#define CS_STAT_TURN_UNDEAD   112
 
#define CS_STAT_WC   13
 
#define CS_STAT_WEAP_SP   19
 
#define CS_STAT_WEIGHT_LIM   26
 
#define CS_STAT_WIS   7
 
#define EMI_HASMOREBITS   0x80
 
#define EMI_NOREDRAW   0x01
 
#define EMI_SMOOTH   0x02
 
#define F_APPLIED   0x000F
 
#define F_BLESSED   0x0100
 
#define F_CURSED   0x0800
 
#define F_DAMNED   0x1000
 
#define F_LOCKED   0x8000
 
#define F_MAGIC   0x0400
 
#define F_NOPICK   0x4000
 
#define F_OPEN   0x2000
 
#define F_UNIDENTIFIED   0x0010
 
#define F_UNPAID   0x0200
 
#define FACE_COLOR_MASK   0xf
 
#define FACE_FLOOR   0x80
 
#define FACE_IS_ANIM   1<<15
 
#define FACE_WALL   0x40
 
#define FLOAT_MULTF   100000.0
 
#define FLOAT_MULTI   100000
 
#define INFO_MAP_ARCH_NAME   1
 
#define INFO_MAP_DESCRIPTION   3
 
#define INFO_MAP_NAME   2
 
#define MAP2_COORD_ENCODE(x, y, flags)   ((((x)+MAP2_COORD_OFFSET)&0x3f)<<10|(((y)+MAP2_COORD_OFFSET)&0x3f)<<4|(flags&0x0f))
 
#define MAP2_COORD_OFFSET   15
 
#define MAP2_LAYER_START   0x10
 
#define MAP2_TYPE_CLEAR   0x0
 
#define MAP2_TYPE_DARKNESS   0x1
 
#define MAXSOCKBUF   (2+65535+1)
 
#define MSG_SUBTYPE_NONE   0
 
#define MSG_TYPE_ADMIN   8
 
#define MSG_TYPE_ADMIN_DM   4
 
#define MSG_TYPE_ADMIN_ERROR   9
 
#define MSG_TYPE_ADMIN_HISCORE   5
 
#define MSG_TYPE_ADMIN_LOADSAVE   6
 
#define MSG_TYPE_ADMIN_LOGIN   7
 
#define MSG_TYPE_ADMIN_NEWS   2
 
#define MSG_TYPE_ADMIN_PLAYER   3
 
#define MSG_TYPE_ADMIN_RULES   1
 
#define MSG_TYPE_ADMIN_VERSION   8
 
#define MSG_TYPE_APPLY   13
 
#define MSG_TYPE_APPLY_BADBODY   7
 
#define MSG_TYPE_APPLY_BUILD   9
 
#define MSG_TYPE_APPLY_CURSED   5
 
#define MSG_TYPE_APPLY_ERROR   1
 
#define MSG_TYPE_APPLY_FAILURE   4
 
#define MSG_TYPE_APPLY_PROHIBITION   8
 
#define MSG_TYPE_APPLY_SUCCESS   3
 
#define MSG_TYPE_APPLY_TRAP   6
 
#define MSG_TYPE_APPLY_UNAPPLY   2
 
#define MSG_TYPE_ATTACK   14
 
#define MSG_TYPE_ATTACK_DID_HIT   1
 
#define MSG_TYPE_ATTACK_DID_KILL   4
 
#define MSG_TYPE_ATTACK_FUMBLE   3
 
#define MSG_TYPE_ATTACK_MISS   9
 
#define MSG_TYPE_ATTACK_NOATTACK   7
 
#define MSG_TYPE_ATTACK_NOKEY   6
 
#define MSG_TYPE_ATTACK_PET_DIED   5
 
#define MSG_TYPE_ATTACK_PET_HIT   2
 
#define MSG_TYPE_ATTACK_PUSHED   8
 
#define MSG_TYPE_ATTRIBUTE   11
 
#define MSG_TYPE_ATTRIBUTE_ATTACKTYPE_GAIN   1
 
#define MSG_TYPE_ATTRIBUTE_ATTACKTYPE_LOSS   2
 
#define MSG_TYPE_ATTRIBUTE_BAD_EFFECT_END   8
 
#define MSG_TYPE_ATTRIBUTE_BAD_EFFECT_START   7
 
#define MSG_TYPE_ATTRIBUTE_GOD   15
 
#define MSG_TYPE_ATTRIBUTE_GOOD_EFFECT_END   14
 
#define MSG_TYPE_ATTRIBUTE_GOOD_EFFECT_START   13
 
#define MSG_TYPE_ATTRIBUTE_LEVEL_GAIN   11
 
#define MSG_TYPE_ATTRIBUTE_LEVEL_LOSS   12
 
#define MSG_TYPE_ATTRIBUTE_MOVE   5
 
#define MSG_TYPE_ATTRIBUTE_PROTECTION_GAIN   3
 
#define MSG_TYPE_ATTRIBUTE_PROTECTION_LOSS   4
 
#define MSG_TYPE_ATTRIBUTE_RACE   6
 
#define MSG_TYPE_ATTRIBUTE_STAT_GAIN   9
 
#define MSG_TYPE_ATTRIBUTE_STAT_LOSS   10
 
#define MSG_TYPE_BOOK   1
 
#define MSG_TYPE_BOOK_CLASP_1   1
 
#define MSG_TYPE_BOOK_CLASP_2   2
 
#define MSG_TYPE_BOOK_ELEGANT_1   3
 
#define MSG_TYPE_BOOK_ELEGANT_2   4
 
#define MSG_TYPE_BOOK_QUARTO_1   5
 
#define MSG_TYPE_BOOK_QUARTO_2   6
 
#define MSG_TYPE_BOOK_SPELL_EVOKER   7
 
#define MSG_TYPE_BOOK_SPELL_PRAYER   8
 
#define MSG_TYPE_BOOK_SPELL_PYRO   9
 
#define MSG_TYPE_BOOK_SPELL_SORCERER   10
 
#define MSG_TYPE_BOOK_SPELL_SUMMONER   11
 
#define MSG_TYPE_CARD   2
 
#define MSG_TYPE_CARD_ELEGANT_1   4
 
#define MSG_TYPE_CARD_ELEGANT_2   5
 
#define MSG_TYPE_CARD_ELEGANT_3   6
 
#define MSG_TYPE_CARD_MONEY_1   10
 
#define MSG_TYPE_CARD_MONEY_2   11
 
#define MSG_TYPE_CARD_MONEY_3   12
 
#define MSG_TYPE_CARD_SIMPLE_1   1
 
#define MSG_TYPE_CARD_SIMPLE_2   2
 
#define MSG_TYPE_CARD_SIMPLE_3   3
 
#define MSG_TYPE_CARD_STRANGE_1   7
 
#define MSG_TYPE_CARD_STRANGE_2   8
 
#define MSG_TYPE_CARD_STRANGE_3   9
 
#define MSG_TYPE_CLIENT   20
 
#define MSG_TYPE_CLIENT_COMMAND   3
 
#define MSG_TYPE_CLIENT_CONFIG   1
 
#define MSG_TYPE_CLIENT_DEBUG   5
 
#define MSG_TYPE_CLIENT_ERROR   9
 
#define MSG_TYPE_CLIENT_METASERVER   7
 
#define MSG_TYPE_CLIENT_NOTICE   6
 
#define MSG_TYPE_CLIENT_QUERY   4
 
#define MSG_TYPE_CLIENT_SCRIPT   8
 
#define MSG_TYPE_CLIENT_SERVER   2
 
#define MSG_TYPE_COMMAND   10
 
#define MSG_TYPE_COMMAND_BODY   3
 
#define MSG_TYPE_COMMAND_CONFIG   7
 
#define MSG_TYPE_COMMAND_DEBUG   10
 
#define MSG_TYPE_COMMAND_DM   17
 
#define MSG_TYPE_COMMAND_ERROR   11
 
#define MSG_TYPE_COMMAND_EXAMINE   14
 
#define MSG_TYPE_COMMAND_FAILURE   13
 
#define MSG_TYPE_COMMAND_HELP   16
 
#define MSG_TYPE_COMMAND_INFO   8
 
#define MSG_TYPE_COMMAND_INVENTORY   15
 
#define MSG_TYPE_COMMAND_MALLOC   4
 
#define MSG_TYPE_COMMAND_MAPS   2
 
#define MSG_TYPE_COMMAND_NEWPLAYER   18
 
#define MSG_TYPE_COMMAND_QUESTS   9
 
#define MSG_TYPE_COMMAND_STATISTICS   6
 
#define MSG_TYPE_COMMAND_SUCCESS   12
 
#define MSG_TYPE_COMMAND_WEATHER   5
 
#define MSG_TYPE_COMMAND_WHO   1
 
#define MSG_TYPE_COMMUNICATION   15
 
#define MSG_TYPE_COMMUNICATION_CHAT   8
 
#define MSG_TYPE_COMMUNICATION_EMOTE   5
 
#define MSG_TYPE_COMMUNICATION_ME   3
 
#define MSG_TYPE_COMMUNICATION_PARTY   6
 
#define MSG_TYPE_COMMUNICATION_RANDOM   1
 
#define MSG_TYPE_COMMUNICATION_SAY   2
 
#define MSG_TYPE_COMMUNICATION_SHOUT   7
 
#define MSG_TYPE_COMMUNICATION_TELL   4
 
#define MSG_TYPE_DIALOG   6
 
#define MSG_TYPE_DIALOG_ALTAR   2
 
#define MSG_TYPE_DIALOG_MAGIC_EAR   3
 
#define MSG_TYPE_DIALOG_NPC   1
 
#define MSG_TYPE_ITEM   17
 
#define MSG_TYPE_ITEM_ADD   2
 
#define MSG_TYPE_ITEM_CHANGE   3
 
#define MSG_TYPE_ITEM_INFO   4
 
#define MSG_TYPE_ITEM_REMOVE   1
 
#define MSG_TYPE_LAST   21
 
#define MSG_TYPE_MISC   18
 
#define MSG_TYPE_MONUMENT   5
 
#define MSG_TYPE_MONUMENT_GRAVESTONE_1   7
 
#define MSG_TYPE_MONUMENT_GRAVESTONE_2   8
 
#define MSG_TYPE_MONUMENT_GRAVESTONE_3   9
 
#define MSG_TYPE_MONUMENT_STATUE_1   4
 
#define MSG_TYPE_MONUMENT_STATUE_2   5
 
#define MSG_TYPE_MONUMENT_STATUE_3   6
 
#define MSG_TYPE_MONUMENT_STONE_1   1
 
#define MSG_TYPE_MONUMENT_STONE_2   2
 
#define MSG_TYPE_MONUMENT_STONE_3   3
 
#define MSG_TYPE_MONUMENT_WALL_1   10
 
#define MSG_TYPE_MONUMENT_WALL_2   11
 
#define MSG_TYPE_MONUMENT_WALL_3   12
 
#define MSG_TYPE_MOTD   7
 
#define MSG_TYPE_PAPER   3
 
#define MSG_TYPE_PAPER_ENVELOPE_1   8
 
#define MSG_TYPE_PAPER_ENVELOPE_2   9
 
#define MSG_TYPE_PAPER_LETTER_NEW_1   6
 
#define MSG_TYPE_PAPER_LETTER_NEW_2   7
 
#define MSG_TYPE_PAPER_LETTER_OLD_1   4
 
#define MSG_TYPE_PAPER_LETTER_OLD_2   5
 
#define MSG_TYPE_PAPER_NOTE_1   1
 
#define MSG_TYPE_PAPER_NOTE_2   2
 
#define MSG_TYPE_PAPER_NOTE_3   3
 
#define MSG_TYPE_PAPER_SCROLL_MAGIC   14
 
#define MSG_TYPE_PAPER_SCROLL_NEW_1   12
 
#define MSG_TYPE_PAPER_SCROLL_NEW_2   13
 
#define MSG_TYPE_PAPER_SCROLL_OLD_1   10
 
#define MSG_TYPE_PAPER_SCROLL_OLD_2   11
 
#define MSG_TYPE_SHOP   9
 
#define MSG_TYPE_SHOP_LISTING   1
 
#define MSG_TYPE_SHOP_MISC   4
 
#define MSG_TYPE_SHOP_PAYMENT   2
 
#define MSG_TYPE_SHOP_SELL   3
 
#define MSG_TYPE_SIGN   4
 
#define MSG_TYPE_SIGN_BASIC   1
 
#define MSG_TYPE_SIGN_DIR_BOTH   4
 
#define MSG_TYPE_SIGN_DIR_LEFT   2
 
#define MSG_TYPE_SIGN_DIR_RIGHT   3
 
#define MSG_TYPE_SIGN_MAGIC_MOUTH   5
 
#define MSG_TYPE_SKILL   12
 
#define MSG_TYPE_SKILL_ERROR   2
 
#define MSG_TYPE_SKILL_FAILURE   4
 
#define MSG_TYPE_SKILL_LIST   6
 
#define MSG_TYPE_SKILL_MISSING   1
 
#define MSG_TYPE_SKILL_PRAY   5
 
#define MSG_TYPE_SKILL_SUCCESS   3
 
#define MSG_TYPE_SPELL   16
 
#define MSG_TYPE_SPELL_END   4
 
#define MSG_TYPE_SPELL_ERROR   6
 
#define MSG_TYPE_SPELL_FAILURE   3
 
#define MSG_TYPE_SPELL_HEAL   1
 
#define MSG_TYPE_SPELL_INFO   9
 
#define MSG_TYPE_SPELL_PERCEIVE_SELF   7
 
#define MSG_TYPE_SPELL_PET   2
 
#define MSG_TYPE_SPELL_SUCCESS   5
 
#define MSG_TYPE_SPELL_TARGET   8
 
#define MSG_TYPE_VICTIM   19
 
#define MSG_TYPE_VICTIM_DIED   5
 
#define MSG_TYPE_VICTIM_SPELL   4
 
#define MSG_TYPE_VICTIM_STEAL   3
 
#define MSG_TYPE_VICTIM_SWAMP   1
 
#define MSG_TYPE_VICTIM_WAS_HIT   2
 
#define MSG_TYPE_VICTIM_WAS_PUSHED   6
 
#define NDI_ALL   0x200
 
#define NDI_ALL_DMS   0x400
 
#define NDI_BLACK   0
 
#define NDI_BLUE   5
 
#define NDI_BROWN   10
 
#define NDI_COLOR_MASK   0xff
 
#define NDI_DK_ORANGE   6
 
#define NDI_GOLD   11
 
#define NDI_GREEN   7
 
#define NDI_GREY   9
 
#define NDI_LT_GREEN   8
 
#define NDI_MAX_COLOR   12
 
#define NDI_NAVY   2
 
#define NDI_ORANGE   4
 
#define NDI_RED   3
 
#define NDI_TAN   12
 
#define NDI_UNIQUE   0x100
 
#define NDI_WHITE   1
 
#define SF_FIREON   0x01
 
#define SF_RUNON   0x02
 
#define SOUND_TYPE_GROUND   4
 
#define SOUND_TYPE_HIT   5
 
#define SOUND_TYPE_HIT_BY   6
 
#define SOUND_TYPE_ITEM   3
 
#define SOUND_TYPE_LIVING   1
 
#define SOUND_TYPE_SPELL   2
 
#define UPD_ALL   0xFF
 
#define UPD_ANIM   0x20
 
#define UPD_ANIMSPEED   0x40
 
#define UPD_FACE   0x08
 
#define UPD_FLAGS   0x02
 
#define UPD_LOCATION   0x01
 
#define UPD_NAME   0x10
 
#define UPD_NROF   0x80
 
#define UPD_SP_DAMAGE   0x04
 
#define UPD_SP_GRACE   0x02
 
#define UPD_SP_MANA   0x01
 
#define UPD_WEIGHT   0x04
 

Typedefs

typedef struct CS_Stats CS_Stats
 
typedef struct SockList SockList
 

Enumerations

enum  {
  a_none, a_readied, a_wielded, a_worn,
  a_active, a_applied
}
 

Variables

CS_Stats cst_lst
 
CS_Stats cst_tot
 

Detailed Description

Defines various flags that both the new client and new server use. These should never be changed, only expanded. Changing them will likely cause all old clients to not work properly. While called newclient, it is used by both the client and server to keep some values the same.

Name format is CS_(command)_(flag) CS = Client/Server. (command) is protocol command, ie ITEM (flag) is the flag name

Definition in file newclient.h.

Macro Definition Documentation

#define CS_QUERY_HIDEINPUT   0x4

Hide input being entered.

Definition at line 68 of file newclient.h.

Referenced by command_passwd(), confirm_password(), get_party_password(), get_password(), and receive_player_password().

#define CS_QUERY_SINGLECHAR   0x2

Single character response expected.

Definition at line 67 of file newclient.h.

Referenced by command_quit(), key_change_class(), key_roll_stat(), play_again(), and roll_again().

#define CS_QUERY_YESNO   0x1

Yes/no question.

Definition at line 66 of file newclient.h.

#define CS_SAY_GSAY   0x4

Text is group say command.

Definition at line 72 of file newclient.h.

#define CS_SAY_NORMAL   0x1

Normal say command.

Definition at line 70 of file newclient.h.

#define CS_SAY_SHOUT   0x2

Text is shouted.

Definition at line 71 of file newclient.h.

#define INFO_MAP_ARCH_NAME   1

Definitions for the requestion/replyinfo map data.Archetype name of this entry

Definition at line 673 of file newclient.h.

Referenced by send_map_info().

#define INFO_MAP_DESCRIPTION   3

Description of this map

Definition at line 675 of file newclient.h.

Referenced by send_map_info().

#define INFO_MAP_NAME   2

Proper name of this entry

Definition at line 674 of file newclient.h.

Referenced by send_map_info().

#define MAP2_COORD_ENCODE (   x,
  y,
  flags 
)    ((((x)+MAP2_COORD_OFFSET)&0x3f)<<10|(((y)+MAP2_COORD_OFFSET)&0x3f)<<4|(flags&0x0f))

Encodes a (x, y) pair suitable for map2 parameters. The coordinates must be between [-MAP2_COORD_OFFSET..63-MAP2_COORD_OFFSET]. The flags value must be between [0..15].

Parameters
xthe x-coordinate
ythe y-coordinate
flagsthe flags value

Definition at line 64 of file newclient.h.

Referenced by check_space_for_heads(), and draw_client_map2().

#define MAP2_COORD_OFFSET   15

How much the x,y coordinates in the map2 are off from actual upper left corner. Necessary for light sources that may be off the edge of the visible map.

Definition at line 32 of file newclient.h.

#define MAP2_LAYER_START   0x10

Definition at line 53 of file newclient.h.

Referenced by map2_add_ob().

#define MAXSOCKBUF   (2+65535+1)

Maximum size of a packet the client expects to get and that the server can send. Using a buffer of this size allows the client to avoid constant allocation and deallocation of the same buffer over and over again (at the cost of using extra memory). This also makes the code simpler. The size is big enough to receive any valid packet: 2 bytes for length, 65535 for maximum packet size, 1 for a trailing null character.

Definition at line 25 of file newclient.h.

Typedef Documentation

typedef struct CS_Stats CS_Stats

Statistics on server.

typedef struct SockList SockList

Contains the base information we use to make up a packet we want to send.

Variable Documentation