Mana
Loading...
Searching...
No Matches
Classes | Typedefs | Enumerations | Functions | Variables
TmwAthena Namespace Reference

Warning: buffers and other variables are shared, so there can be only one connection active at a time. More...

Classes

class  AbilityHandler
 
class  AdminHandler
 
class  BeingHandler
 
class  BuySellHandler
 
class  CharServerHandler
 Deals with incoming messages from the character server. More...
 
class  ChatHandler
 
class  EquipBackend
 
class  GameHandler
 
class  GeneralHandler
 
class  GuildHandler
 
class  GuildTab
 A tab for a guild chat channel. More...
 
class  InventoryHandler
 
struct  InventoryItem
 Used to cache storage data until we get size data for it. More...
 
class  ItemHandler
 
class  LoginHandler
 
class  MessageHandler
 
class  MessageIn
 Used for parsing an incoming message from eAthena. More...
 
class  MessageOut
 Used for building an outgoing message to eAthena. More...
 
class  Network
 
class  NpcHandler
 
struct  PacketInfo
 
class  PartyHandler
 
class  PartyTab
 A tab for a party chat channel. More...
 
class  PlayerHandler
 
class  TaItemDB
 Item information database TmwAthena specific class. More...
 
struct  Token
 
class  TradeHandler
 

Typedefs

using MessageHandlerPtr = const std::unique_ptr< MessageHandler >
 

Enumerations

enum  { debugInventory = 1 }
 
enum  ServerFlags { FLAG_REGISTRATION = 1 }
 
enum  {
  JOB = 0xa , STRENGTH = 0xd , AGILITY , VITALITY ,
  INTELLIGENCE , DEXTERITY , LUCK , ATK ,
  DEF , MATK , MDEF , HIT ,
  FLEE , CRIT
}
 
enum  {
  SPRITE_BASE = 0 , SPRITE_SHOE , SPRITE_BOTTOMCLOTHES , SPRITE_TOPCLOTHES ,
  SPRITE_MISC1 , SPRITE_MISC2 , SPRITE_HAIR , SPRITE_HAT ,
  SPRITE_CAPE , SPRITE_GLOVES , SPRITE_WEAPON , SPRITE_SHIELD ,
  SPRITE_VECTOREND
}
 
enum class  LOOK : uint8_t {
  BASE = 0 , HAIR = 1 , WEAPON = 2 , HEAD_BOTTOM = 3 ,
  HEAD_TOP = 4 , HEAD_MID = 5 , HAIR_COLOR = 6 , CLOTHES_COLOR = 7 ,
  SHIELD = 8 , SHOES = 9 , GLOVES = 10 , CAPE = 11 ,
  MISC1 = 12 , MISC2 = 13
}
 
enum class  DIR : uint8_t {
  S = 0 , SW = 1 , W = 2 , NW = 3 ,
  N = 4 , NE = 5 , E = 6 , SE = 7 ,
  COUNT
}
 
enum class  SEX : uint8_t { FEMALE = 0 , MALE = 1 , UNSPECIFIED = 2 , NEUTRAL = 3 }
 
enum  NpcCommand {
  NPC_REQUEST_LANG = 0 , NPC_CAMERA_ACTOR = 1 , NPC_CAMERA_POS = 2 , NPC_CAMERA_RESTORE = 3 ,
  NPC_CAMERA_RELATIVE = 4 , NPC_CLOSE_DIALOG = 5 , NPC_SHOW_AVATAR = 6 , NPC_SET_AVATAR_DIRECTION = 7 ,
  NPC_SET_AVATAR_ACTION = 8 , NPC_CLEAR_DIALOG = 9 , NPC_REQUEST_ITEM = 10 , NPC_REQUEST_ITEM_INDEX = 11 ,
  NPC_REQUEST_ITEMS = 12
}
 
enum  {
  SMSG_UPDATE_HOST = 0x0063 , CMSG_LOGIN_REGISTER = 0x0064 , SMSG_LOGIN_DATA = 0x0069 , SMSG_LOGIN_ERROR = 0x006a ,
  CMSG_CHAR_PASSWORD_CHANGE = 0x0061 , SMSG_CHAR_PASSWORD_RESPONSE = 0x0062 , CMSG_CHAR_SERVER_CONNECT = 0x0065 , CMSG_CHAR_SELECT = 0x0066 ,
  CMSG_CHAR_CREATE = 0x0067 , CMSG_CHAR_DELETE = 0x0068 , SMSG_CHAR_LOGIN = 0x006b , SMSG_CHAR_LOGIN_ERROR = 0x006c ,
  SMSG_CHAR_CREATE_SUCCEEDED = 0x006d , SMSG_CHAR_CREATE_FAILED = 0x006e , SMSG_CHAR_DELETE_SUCCEEDED = 0x006f , SMSG_CHAR_DELETE_FAILED = 0x0070 ,
  SMSG_CHAR_MAP_INFO = 0x0071 , CMSG_MAP_SERVER_CONNECT = 0x0072 , SMSG_MAP_LOGIN_SUCCESS = 0x0073 , SMSG_BEING_VISIBLE = 0x0078 ,
  SMSG_BEING_MOVE = 0x007b , SMSG_BEING_SPAWN = 0x007c , CMSG_MAP_LOADED = 0x007d , CMSG_MAP_PING = 0x007e ,
  SMSG_SERVER_PING = 0x007f , SMSG_BEING_REMOVE = 0x0080 , CMSG_PLAYER_CHANGE_DEST = 0x0085 , SMSG_WALK_RESPONSE = 0x0087 ,
  SMSG_PLAYER_STOP = 0x0088 , CMSG_PLAYER_CHANGE_ACT = 0x0089 , SMSG_BEING_ACTION = 0x008a , CMSG_CHAT_MESSAGE = 0x008c ,
  SMSG_BEING_CHAT = 0x008d , SMSG_PLAYER_CHAT = 0x008e , CMSG_NPC_TALK = 0x0090 , SMSG_PLAYER_WARP = 0x0091 ,
  SMSG_CHANGE_MAP_SERVER = 0x0092 , CMSG_NAME_REQUEST = 0x0094 , SMSG_BEING_NAME_RESPONSE = 0x0095 , CMSG_CHAT_WHISPER = 0x0096 ,
  SMSG_WHISPER = 0x0097 , SMSG_WHISPER_RESPONSE = 0x0098 , SMSG_GM_CHAT = 0x009a , CMSG_PLAYER_CHANGE_DIR = 0x009b ,
  SMSG_BEING_CHANGE_DIRECTION = 0x009c , SMSG_ITEM_VISIBLE = 0x009d , SMSG_ITEM_DROPPED = 0x009e , CMSG_ITEM_PICKUP = 0x009f ,
  SMSG_PLAYER_INVENTORY_ADD = 0x00a0 , SMSG_ITEM_REMOVE = 0x00a1 , CMSG_PLAYER_INVENTORY_DROP = 0x00a2 , SMSG_PLAYER_EQUIPMENT = 0x00a4 ,
  SMSG_PLAYER_STORAGE_EQUIP = 0x00a6 , CMSG_PLAYER_INVENTORY_USE = 0x00a7 , SMSG_ITEM_USE_RESPONSE = 0x00a8 , CMSG_PLAYER_EQUIP = 0x00a9 ,
  SMSG_PLAYER_EQUIP = 0x00aa , CMSG_PLAYER_UNEQUIP = 0x00ab , SMSG_PLAYER_UNEQUIP = 0x00ac , SMSG_PLAYER_INVENTORY_REMOVE = 0x00af ,
  SMSG_PLAYER_STAT_UPDATE_1 = 0x00b0 , SMSG_PLAYER_STAT_UPDATE_2 = 0x00b1 , CMSG_PLAYER_REBOOT = 0x00b2 , SMSG_CHAR_SWITCH_RESPONSE = 0x00b3 ,
  SMSG_NPC_MESSAGE = 0x00b4 , SMSG_NPC_NEXT = 0x00b5 , SMSG_NPC_CLOSE = 0x00b6 , SMSG_NPC_CHOICE = 0x00b7 ,
  CMSG_NPC_LIST_CHOICE = 0x00b8 , CMSG_NPC_NEXT_REQUEST = 0x00b9 , CMSG_STAT_UPDATE_REQUEST = 0x00bb , SMSG_PLAYER_STAT_UPDATE_4 = 0x00bc ,
  SMSG_PLAYER_STAT_UPDATE_5 = 0x00bd , SMSG_PLAYER_STAT_UPDATE_6 = 0x00be , CMSG_PLAYER_EMOTE = 0x00bf , SMSG_BEING_EMOTION = 0x00c0 ,
  SMSG_NPC_BUY_SELL_CHOICE = 0x00c4 , CMSG_NPC_BUY_SELL_REQUEST = 0x00c5 , SMSG_NPC_BUY = 0x00c6 , SMSG_NPC_SELL = 0x00c7 ,
  CMSG_NPC_BUY_REQUEST = 0x00c8 , CMSG_NPC_SELL_REQUEST = 0x00c9 , SMSG_NPC_BUY_RESPONSE = 0x00ca , SMSG_NPC_SELL_RESPONSE = 0x00cb ,
  SMSG_ADMIN_KICK_ACK = 0x00cd , CMSG_TRADE_REQUEST = 0x00e4 , SMSG_TRADE_REQUEST = 0x00e5 , CMSG_TRADE_RESPONSE = 0x00e6 ,
  SMSG_TRADE_RESPONSE = 0x00e7 , CMSG_TRADE_ITEM_ADD_REQUEST = 0x00e8 , SMSG_TRADE_ITEM_ADD = 0x00e9 , CMSG_TRADE_ADD_COMPLETE = 0x00eb ,
  SMSG_TRADE_OK = 0x00ec , CMSG_TRADE_CANCEL_REQUEST = 0x00ed , SMSG_TRADE_CANCEL = 0x00ee , CMSG_TRADE_OK = 0x00ef ,
  SMSG_TRADE_COMPLETE = 0x00f0 , SMSG_PLAYER_STORAGE_STATUS = 0x00f2 , CMSG_MOVE_TO_STORAGE = 0x00f3 , SMSG_PLAYER_STORAGE_ADD = 0x00f4 ,
  CMSG_MOVE_FROM_STORAGE = 0x00f5 , SMSG_PLAYER_STORAGE_REMOVE = 0x00f6 , CMSG_CLOSE_STORAGE = 0x00f7 , SMSG_PLAYER_STORAGE_CLOSE = 0x00f8 ,
  CMSG_PARTY_CREATE = 0x00f9 , SMSG_PARTY_CREATE = 0x00fa , SMSG_PARTY_INFO = 0x00fb , CMSG_PARTY_INVITE = 0x00fc ,
  SMSG_PARTY_INVITE_RESPONSE = 0x00fd , SMSG_PARTY_INVITED = 0x00fe , CMSG_PARTY_INVITED = 0x00ff , CMSG_PARTY_LEAVE = 0x0100 ,
  SMSG_PARTY_SETTINGS = 0x0101 , CMSG_PARTY_SETTINGS = 0x0102 , CMSG_PARTY_KICK = 0x0103 , SMSG_PARTY_LEAVE = 0x0105 ,
  SMSG_PARTY_UPDATE_HP = 0x0106 , SMSG_PARTY_UPDATE_COORDS = 0x0107 , CMSG_PARTY_MESSAGE = 0x0108 , SMSG_PARTY_MESSAGE = 0x0109 ,
  SMSG_PLAYER_SKILL_UP = 0x010e , SMSG_PLAYER_SKILLS = 0x010f , SMSG_SKILL_FAILED = 0x0110 , CMSG_SKILL_LEVELUP_REQUEST = 0x0112 ,
  CMSG_PLAYER_STOP_ATTACK = 0x0118 , SMSG_PLAYER_STATUS_CHANGE = 0x0119 , SMSG_PLAYER_MOVE_TO_ATTACK = 0x0139 , SMSG_PLAYER_ATTACK_RANGE = 0x013a ,
  SMSG_PLAYER_ARROW_MESSAGE = 0x013b , SMSG_PLAYER_ARROW_EQUIP = 0x013c , SMSG_PLAYER_STAT_UPDATE_3 = 0x0141 , SMSG_NPC_INT_INPUT = 0x0142 ,
  CMSG_NPC_INT_RESPONSE = 0x0143 , CMSG_NPC_CLOSE = 0x0146 , SMSG_BEING_RESURRECT = 0x0148 , CMSG_CLIENT_QUIT = 0x018a ,
  SMSG_MAP_QUIT_RESPONSE = 0x018b , SMSG_PLAYER_GUILD_PARTY_INFO = 0x0195 , SMSG_BEING_STATUS_CHANGE = 0x0196 , SMSG_PVP_MAP_MODE = 0x0199 ,
  SMSG_PVP_SET = 0x019a , SMSG_BEING_SELFEFFECT = 0x019b , SMSG_TRADE_ITEM_ADD_RESPONSE = 0x01b1 , SMSG_PLAYER_INVENTORY_USE = 0x01c8 ,
  SMSG_NPC_STR_INPUT = 0x01d4 , CMSG_NPC_STR_RESPONSE = 0x01d5 , SMSG_BEING_CHANGE_LOOKS2 = 0x01d7 , SMSG_PLAYER_UPDATE_1 = 0x01d8 ,
  SMSG_PLAYER_UPDATE_2 = 0x01d9 , SMSG_PLAYER_MOVE = 0x01da , SMSG_SKILL_DAMAGE = 0x01de , SMSG_PLAYER_INVENTORY = 0x01ee ,
  SMSG_PLAYER_STORAGE_ITEMS = 0x01f0 , SMSG_BEING_IP_RESPONSE = 0x020c , CMSG_ONLINE_LIST = 0x0210 , SMSG_ONLINE_LIST = 0x0211 ,
  SMSG_NPC_COMMAND = 0x0212 , SMSG_QUEST_SET_VAR = 0x0214 , SMSG_QUEST_PLAYER_VARS = 0x0215 , SMSG_BEING_MOVE3 = 0x0225 ,
  SMSG_MAP_MASK = 0x0226 , SMSG_MAP_MUSIC = 0x0227 , SMSG_NPC_CHANGETITLE = 0x0228 , SMSG_SCRIPT_MESSAGE = 0x0229 ,
  SMSG_PLAYER_CLIENT_COMMAND = 0x0230 , SMSG_MAP_SET_TILES_TYPE = 0x0231 , SMSG_PLAYER_HP = 0x0232 , SMSG_PLAYER_HP_FULL = 0x0233 ,
  SMSG_CONNECTION_PROBLEM = 0x0081 , CMSG_SERVER_VERSION_REQUEST = 0x7530 , SMSG_SERVER_VERSION_RESPONSE = 0x7531 , CMSG_CLIENT_DISCONNECT = 0x7532
}
 
enum  EquipmentSlot {
  EQUIP_TORSO_SLOT = 0 , EQUIP_ARMS_SLOT = 1 , EQUIP_HEAD_SLOT = 2 , EQUIP_LEGS_SLOT = 3 ,
  EQUIP_FEET_SLOT = 4 , EQUIP_RING1_SLOT = 5 , EQUIP_RING2_SLOT = 6 , EQUIP_NECKLACE_SLOT = 7 ,
  EQUIP_FIGHT1_SLOT = 8 , EQUIP_FIGHT2_SLOT = 9 , EQUIP_PROJECTILE_SLOT = 10 , EQUIP_VECTOR_END = 11
}
 

Functions

int networkThread (void *data)
 
Gender sexToGender (SEX sex)
 

Variables

ServerInfo charServer
 
ServerInfo mapServer
 
GuildtaGuild
 
PartytaParty
 
GuildTabguildTab = nullptr
 
PartyTabpartyTab = nullptr
 
constexpr uint16_t VAR = 1
 
const unsigned int BUFFER_SIZE = 65536
 

Detailed Description

Warning: buffers and other variables are shared, so there can be only one connection active at a time.

Typedef Documentation

◆ MessageHandlerPtr

using TmwAthena::MessageHandlerPtr = typedef const std::unique_ptr<MessageHandler>

Definition at line 51 of file messagehandler.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
debugInventory 

Definition at line 79 of file inventoryhandler.cpp.

◆ anonymous enum

anonymous enum
Enumerator
JOB 
STRENGTH 
AGILITY 
VITALITY 
INTELLIGENCE 
DEXTERITY 
LUCK 
ATK 
DEF 
MATK 
MDEF 
HIT 
FLEE 
CRIT 

Definition at line 30 of file protocol.h.

◆ anonymous enum

anonymous enum
Enumerator
SPRITE_BASE 
SPRITE_SHOE 
SPRITE_BOTTOMCLOTHES 
SPRITE_TOPCLOTHES 
SPRITE_MISC1 
SPRITE_MISC2 
SPRITE_HAIR 
SPRITE_HAT 
SPRITE_CAPE 
SPRITE_GLOVES 
SPRITE_WEAPON 
SPRITE_SHIELD 
SPRITE_VECTOREND 

Definition at line 49 of file protocol.h.

◆ anonymous enum

anonymous enum
Enumerator
SMSG_UPDATE_HOST 
CMSG_LOGIN_REGISTER 
SMSG_LOGIN_DATA 
SMSG_LOGIN_ERROR 
CMSG_CHAR_PASSWORD_CHANGE 
SMSG_CHAR_PASSWORD_RESPONSE 
CMSG_CHAR_SERVER_CONNECT 
CMSG_CHAR_SELECT 
CMSG_CHAR_CREATE 
CMSG_CHAR_DELETE 
SMSG_CHAR_LOGIN 
SMSG_CHAR_LOGIN_ERROR 
SMSG_CHAR_CREATE_SUCCEEDED 
SMSG_CHAR_CREATE_FAILED 
SMSG_CHAR_DELETE_SUCCEEDED 
SMSG_CHAR_DELETE_FAILED 
SMSG_CHAR_MAP_INFO 
CMSG_MAP_SERVER_CONNECT 
SMSG_MAP_LOGIN_SUCCESS 
SMSG_BEING_VISIBLE 
SMSG_BEING_MOVE 
SMSG_BEING_SPAWN 
CMSG_MAP_LOADED 
CMSG_MAP_PING 
SMSG_SERVER_PING 
SMSG_BEING_REMOVE 
CMSG_PLAYER_CHANGE_DEST 
SMSG_WALK_RESPONSE 
SMSG_PLAYER_STOP 
CMSG_PLAYER_CHANGE_ACT 
SMSG_BEING_ACTION 
CMSG_CHAT_MESSAGE 
SMSG_BEING_CHAT 
SMSG_PLAYER_CHAT 
CMSG_NPC_TALK 
SMSG_PLAYER_WARP 
SMSG_CHANGE_MAP_SERVER 
CMSG_NAME_REQUEST 
SMSG_BEING_NAME_RESPONSE 
CMSG_CHAT_WHISPER 
SMSG_WHISPER 
SMSG_WHISPER_RESPONSE 
SMSG_GM_CHAT 
CMSG_PLAYER_CHANGE_DIR 
SMSG_BEING_CHANGE_DIRECTION 
SMSG_ITEM_VISIBLE 
SMSG_ITEM_DROPPED 
CMSG_ITEM_PICKUP 
SMSG_PLAYER_INVENTORY_ADD 
SMSG_ITEM_REMOVE 
CMSG_PLAYER_INVENTORY_DROP 
SMSG_PLAYER_EQUIPMENT 
SMSG_PLAYER_STORAGE_EQUIP 
CMSG_PLAYER_INVENTORY_USE 
SMSG_ITEM_USE_RESPONSE 
CMSG_PLAYER_EQUIP 
SMSG_PLAYER_EQUIP 
CMSG_PLAYER_UNEQUIP 
SMSG_PLAYER_UNEQUIP 
SMSG_PLAYER_INVENTORY_REMOVE 
SMSG_PLAYER_STAT_UPDATE_1 
SMSG_PLAYER_STAT_UPDATE_2 
CMSG_PLAYER_REBOOT 
SMSG_CHAR_SWITCH_RESPONSE 
SMSG_NPC_MESSAGE 
SMSG_NPC_NEXT 
SMSG_NPC_CLOSE 
SMSG_NPC_CHOICE 
CMSG_NPC_LIST_CHOICE 
CMSG_NPC_NEXT_REQUEST 
CMSG_STAT_UPDATE_REQUEST 
SMSG_PLAYER_STAT_UPDATE_4 
SMSG_PLAYER_STAT_UPDATE_5 
SMSG_PLAYER_STAT_UPDATE_6 
CMSG_PLAYER_EMOTE 
SMSG_BEING_EMOTION 
SMSG_NPC_BUY_SELL_CHOICE 
CMSG_NPC_BUY_SELL_REQUEST 
SMSG_NPC_BUY 
SMSG_NPC_SELL 
CMSG_NPC_BUY_REQUEST 
CMSG_NPC_SELL_REQUEST 
SMSG_NPC_BUY_RESPONSE 
SMSG_NPC_SELL_RESPONSE 
SMSG_ADMIN_KICK_ACK 
CMSG_TRADE_REQUEST 
SMSG_TRADE_REQUEST 
CMSG_TRADE_RESPONSE 
SMSG_TRADE_RESPONSE 
CMSG_TRADE_ITEM_ADD_REQUEST 
SMSG_TRADE_ITEM_ADD 
CMSG_TRADE_ADD_COMPLETE 
SMSG_TRADE_OK 
CMSG_TRADE_CANCEL_REQUEST 
SMSG_TRADE_CANCEL 
CMSG_TRADE_OK 
SMSG_TRADE_COMPLETE 
SMSG_PLAYER_STORAGE_STATUS 
CMSG_MOVE_TO_STORAGE 
SMSG_PLAYER_STORAGE_ADD 
CMSG_MOVE_FROM_STORAGE 
SMSG_PLAYER_STORAGE_REMOVE 
CMSG_CLOSE_STORAGE 
SMSG_PLAYER_STORAGE_CLOSE 
CMSG_PARTY_CREATE 
SMSG_PARTY_CREATE 
SMSG_PARTY_INFO 
CMSG_PARTY_INVITE 
SMSG_PARTY_INVITE_RESPONSE 
SMSG_PARTY_INVITED 
CMSG_PARTY_INVITED 
CMSG_PARTY_LEAVE 
SMSG_PARTY_SETTINGS 
CMSG_PARTY_SETTINGS 
CMSG_PARTY_KICK 
SMSG_PARTY_LEAVE 
SMSG_PARTY_UPDATE_HP 
SMSG_PARTY_UPDATE_COORDS 
CMSG_PARTY_MESSAGE 
SMSG_PARTY_MESSAGE 
SMSG_PLAYER_SKILL_UP 
SMSG_PLAYER_SKILLS 
SMSG_SKILL_FAILED 
CMSG_SKILL_LEVELUP_REQUEST 
CMSG_PLAYER_STOP_ATTACK 
SMSG_PLAYER_STATUS_CHANGE 
SMSG_PLAYER_MOVE_TO_ATTACK 
SMSG_PLAYER_ATTACK_RANGE 
SMSG_PLAYER_ARROW_MESSAGE 
SMSG_PLAYER_ARROW_EQUIP 
SMSG_PLAYER_STAT_UPDATE_3 
SMSG_NPC_INT_INPUT 
CMSG_NPC_INT_RESPONSE 
CMSG_NPC_CLOSE 
SMSG_BEING_RESURRECT 
CMSG_CLIENT_QUIT 
SMSG_MAP_QUIT_RESPONSE 
SMSG_PLAYER_GUILD_PARTY_INFO 
SMSG_BEING_STATUS_CHANGE 
SMSG_PVP_MAP_MODE 
SMSG_PVP_SET 
SMSG_BEING_SELFEFFECT 
SMSG_TRADE_ITEM_ADD_RESPONSE 
SMSG_PLAYER_INVENTORY_USE 
SMSG_NPC_STR_INPUT 
CMSG_NPC_STR_RESPONSE 
SMSG_BEING_CHANGE_LOOKS2 
SMSG_PLAYER_UPDATE_1 
SMSG_PLAYER_UPDATE_2 
SMSG_PLAYER_MOVE 
SMSG_SKILL_DAMAGE 
SMSG_PLAYER_INVENTORY 
SMSG_PLAYER_STORAGE_ITEMS 
SMSG_BEING_IP_RESPONSE 
CMSG_ONLINE_LIST 
SMSG_ONLINE_LIST 
SMSG_NPC_COMMAND 
SMSG_QUEST_SET_VAR 
SMSG_QUEST_PLAYER_VARS 
SMSG_BEING_MOVE3 
SMSG_MAP_MASK 
SMSG_MAP_MUSIC 
SMSG_NPC_CHANGETITLE 
SMSG_SCRIPT_MESSAGE 
SMSG_PLAYER_CLIENT_COMMAND 
SMSG_MAP_SET_TILES_TYPE 
SMSG_PLAYER_HP 
SMSG_PLAYER_HP_FULL 
SMSG_CONNECTION_PROBLEM 
CMSG_SERVER_VERSION_REQUEST 
SMSG_SERVER_VERSION_RESPONSE 
CMSG_CLIENT_DISCONNECT 

Definition at line 136 of file protocol.h.

◆ DIR

enum class TmwAthena::DIR : uint8_t
strong
Enumerator
SW 
NW 
NE 
SE 
COUNT 

Definition at line 84 of file protocol.h.

◆ EquipmentSlot

Enumerator
EQUIP_TORSO_SLOT 
EQUIP_ARMS_SLOT 
EQUIP_HEAD_SLOT 
EQUIP_LEGS_SLOT 
EQUIP_FEET_SLOT 
EQUIP_RING1_SLOT 
EQUIP_RING2_SLOT 
EQUIP_NECKLACE_SLOT 
EQUIP_FIGHT1_SLOT 
EQUIP_FIGHT2_SLOT 
EQUIP_PROJECTILE_SLOT 
EQUIP_VECTOR_END 

Definition at line 161 of file iteminfo.h.

◆ LOOK

enum class TmwAthena::LOOK : uint8_t
strong
Enumerator
BASE 
HAIR 
WEAPON 
HEAD_BOTTOM 
HEAD_TOP 
HEAD_MID 
HAIR_COLOR 
CLOTHES_COLOR 
SHIELD 
SHOES 
GLOVES 
CAPE 
MISC1 
MISC2 

Definition at line 66 of file protocol.h.

◆ NpcCommand

Enumerator
NPC_REQUEST_LANG 
NPC_CAMERA_ACTOR 
NPC_CAMERA_POS 
NPC_CAMERA_RESTORE 
NPC_CAMERA_RELATIVE 
NPC_CLOSE_DIALOG 
NPC_SHOW_AVATAR 
NPC_SET_AVATAR_DIRECTION 
NPC_SET_AVATAR_ACTION 
NPC_CLEAR_DIALOG 
NPC_REQUEST_ITEM 
NPC_REQUEST_ITEM_INDEX 
NPC_REQUEST_ITEMS 

Definition at line 116 of file protocol.h.

◆ ServerFlags

Enumerator
FLAG_REGISTRATION 

Definition at line 44 of file loginhandler.cpp.

◆ SEX

enum class TmwAthena::SEX : uint8_t
strong
Enumerator
FEMALE 
MALE 
UNSPECIFIED 
NEUTRAL 

Definition at line 98 of file protocol.h.

Function Documentation

◆ networkThread()

int TmwAthena::networkThread ( void *  data)

Definition at line 234 of file network.cpp.

◆ sexToGender()

Gender TmwAthena::sexToGender ( SEX  sex)
inline

Definition at line 106 of file protocol.h.

Variable Documentation

◆ BUFFER_SIZE

const unsigned int TmwAthena::BUFFER_SIZE = 65536

Definition at line 232 of file network.cpp.

◆ charServer

ServerInfo TmwAthena::charServer

Definition at line 64 of file generalhandler.cpp.

◆ guildTab

GuildTab * TmwAthena::guildTab = nullptr

Definition at line 38 of file guildhandler.cpp.

◆ mapServer

ServerInfo TmwAthena::mapServer

Definition at line 44 of file gamehandler.cpp.

◆ partyTab

PartyTab * TmwAthena::partyTab = nullptr

Definition at line 47 of file partyhandler.cpp.

◆ taGuild

Guild * TmwAthena::taGuild

Definition at line 38 of file guildtab.cpp.

◆ taParty

Party * TmwAthena::taParty

Definition at line 48 of file partyhandler.cpp.

◆ VAR

constexpr uint16_t TmwAthena::VAR = 1
constexpr

Definition at line 48 of file network.cpp.