Files
2022-10-26 12:25:11 +08:00

136 lines
8.9 KiB
C

struct PROTOCOL_STRUCT_CATEINDEX
{
DWORD dwIndex;
CHAR* pCategoryName;
PROTOCOL_STRUCT* pProtocols;
};
#define CATENAME_ASSOCIATE_POINTER(name, idx) idx, "MSG_" #name, s##name##_PROTOCOL
#define CATENAME_ASSOCIATE_POINTER_PACK(name, idx) idx, "MSG_" #name "_PACK", s##name##_PROTOCOL
PROTOCOL_STRUCT_CATEINDEX idxCG_CATEGORY[]=
{
CATENAME_ASSOCIATE_POINTER(CG_CONNECTION , CATEGORY_GENERATOR_001),
CATENAME_ASSOCIATE_POINTER(CG_CHARINFO , CATEGORY_GENERATOR_002), // 캐릭터 선택 및 캐릭터 정보
CATENAME_ASSOCIATE_POINTER(CG_MAP , CATEGORY_GENERATOR_003), // 맵 초기화 및 맵 이동
CATENAME_ASSOCIATE_POINTER(CG_SYNC , CATEGORY_GENERATOR_004), // 객체간 동기화
CATENAME_ASSOCIATE_POINTER(CG_BATTLE , CATEGORY_GENERATOR_005), // 전투
CATENAME_ASSOCIATE_POINTER(CG_STYLE , CATEGORY_GENERATOR_006), // 스타일
CATENAME_ASSOCIATE_POINTER(CG_SKILL , CATEGORY_GENERATOR_007), // 스킬
CATENAME_ASSOCIATE_POINTER(CG_CONVERSATION , CATEGORY_GENERATOR_008), // 채팅
CATENAME_ASSOCIATE_POINTER(CG_ZONE , CATEGORY_GENERATOR_009),
CATENAME_ASSOCIATE_POINTER(CG_ITEM , CATEGORY_GENERATOR_010), // 아이템
CATENAME_ASSOCIATE_POINTER(CG_TRADE , CATEGORY_GENERATOR_011), // 거래
CATENAME_ASSOCIATE_POINTER(CG_PARTY , CATEGORY_GENERATOR_012), // 파티
CATENAME_ASSOCIATE_POINTER(CG_TRIGGER , CATEGORY_GENERATOR_013), // 트리거
CATENAME_ASSOCIATE_POINTER(CG_GM , CATEGORY_GENERATOR_014), // GM 명령 처리
CATENAME_ASSOCIATE_POINTER(CG_ETC , CATEGORY_GENERATOR_015), // 기타 등등
CATENAME_ASSOCIATE_POINTER(CG_STATUS , CATEGORY_GENERATOR_016), // 상태 변화
CATENAME_ASSOCIATE_POINTER(CG_VENDOR , CATEGORY_GENERATOR_017), // 개인상점
CATENAME_ASSOCIATE_POINTER(CG_WAREHOUSE , CATEGORY_GENERATOR_018), // 창고 : 기능별 분리를 위해 추가
CATENAME_ASSOCIATE_POINTER(CG_PVP , CATEGORY_GENERATOR_019),
CATENAME_ASSOCIATE_POINTER(CG_SUMMON , CATEGORY_GENERATOR_020), // 소환
CATENAME_ASSOCIATE_POINTER(CG_GUILD , CATEGORY_GENERATOR_021),
CATENAME_ASSOCIATE_POINTER(CG_EVENT , CATEGORY_GENERATOR_022), // 이벤트 인벤토리
CATENAME_ASSOCIATE_POINTER(CG_QUEST , CATEGORY_GENERATOR_023),
CATENAME_ASSOCIATE_POINTER(CG_CRYPTOGRAPHY , CATEGORY_GENERATOR_025), // 보안 관련
CATENAME_ASSOCIATE_POINTER(CG_ARMORKIT , CATEGORY_GENERATOR_027), // ArmorKit 관련
CATENAME_ASSOCIATE_POINTER(CG_CHUNTING , CATEGORY_GENERATOR_028), // 경쟁 헌팅
CATENAME_ASSOCIATE_POINTER(CG_AREACONQUEST , CATEGORY_GENERATOR_029), // AC 시스템
CATENAME_ASSOCIATE_POINTER(CG_MISSION , CATEGORY_GENERATOR_030), // 미션
CATENAME_ASSOCIATE_POINTER(CG_WAYPOINT , CATEGORY_GENERATOR_031), // 웨이포인트
CATENAME_ASSOCIATE_POINTER(CG_CHAO , CATEGORY_GENERATOR_032), // 카오시스템
CATENAME_ASSOCIATE_POINTER(CG_SHOP , CATEGORY_GENERATOR_033),
CATENAME_ASSOCIATE_POINTER(CG_ZONE_EX , CATEGORY_GENERATOR_034),
CATENAME_ASSOCIATE_POINTER(CG_COLLECT , CATEGORY_GENERATOR_035),
#if defined(_NA000000_CW_PROTOCOL_UNIFICATION)
CATENAME_ASSOCIATE_POINTER(CW_CONNECTION , CATEGORY_GENERATOR_050),
CATENAME_ASSOCIATE_POINTER(CW_CHAT , CATEGORY_GENERATOR_051), // 캐릭터 선택), 캐릭터 생성
CATENAME_ASSOCIATE_POINTER(CW_GM , CATEGORY_GENERATOR_052), // GM 명령어
CATENAME_ASSOCIATE_POINTER(CW_VIEWPORT , CATEGORY_GENERATOR_053), // 유저 뷰포트 상태
CATENAME_ASSOCIATE_POINTER(CW_ARMORKIT , CATEGORY_GENERATOR_054), // ArmorKit 관련
CATENAME_ASSOCIATE_POINTER(CW_FRIEND , CATEGORY_GENERATOR_055), // 친구 관련
CATENAME_ASSOCIATE_POINTER(CW_GUILD , CATEGORY_GENERATOR_056), // 길드 관련
CATENAME_ASSOCIATE_POINTER(CW_CRYPTOGRAPHY , CATEGORY_GENERATOR_057), // 보안 관련
CATENAME_ASSOCIATE_POINTER(CW_COMMUNITY , CATEGORY_GENERATOR_058), // 기타 커뮤니티 관련
CATENAME_ASSOCIATE_POINTER(CW_REVENGE , CATEGORY_GENERATOR_059), // 리벤지(나쁜친구) 세팅 관련
CATENAME_ASSOCIATE_POINTER(CW_MEMO , CATEGORY_GENERATOR_060), // 쪽지 관련
//CATENAME_ASSOCIATE_POINTER(CW_SYNC , CATEGORY_GENERATOR_061),
CATENAME_ASSOCIATE_POINTER(CW_GROUP , CATEGORY_GENERATOR_062), // 그룹 맺기 시스템 관련 프로토콜
CATENAME_ASSOCIATE_POINTER(CW_LOTTO , CATEGORY_GENERATOR_063), // 하임 로또 관련
CATENAME_ASSOCIATE_POINTER(CW_PARTY , CATEGORY_GENERATOR_064), // 파티 관련 프로토콜
//CATENAME_ASSOCIATE_POINTER(CG_MAX , CATEGORY_GENERATOR_065), // UPPER-BOUNDARY
#endif //_NA000000_CW_PROTOCOL_UNIFICATION
#ifdef __NA001021_080421_PACKET_COMPRESS_V02__
// Packet Packing Info - Do not use
// <reference> PacketControl/CategoryLinkPair.h
// 1) 새로운 카테고리 추가시 CG_cate --> CG_cate_PACK 추가
// 2) CategoryLinkValue.h에도 값을 추가할 것.
CATENAME_ASSOCIATE_POINTER_PACK(CG_CONNECTION , CATEGORY_GENERATOR_101),
CATENAME_ASSOCIATE_POINTER_PACK(CG_CHARINFO , CATEGORY_GENERATOR_102), // 캐릭터 선택 및 캐릭터 정보
CATENAME_ASSOCIATE_POINTER_PACK(CG_MAP , CATEGORY_GENERATOR_103), // 맵 초기화 및 맵 이동
CATENAME_ASSOCIATE_POINTER_PACK(CG_SYNC , CATEGORY_GENERATOR_104), // 객체간 동기화
CATENAME_ASSOCIATE_POINTER_PACK(CG_BATTLE , CATEGORY_GENERATOR_105), // 전투
CATENAME_ASSOCIATE_POINTER_PACK(CG_STYLE , CATEGORY_GENERATOR_106), // 스타일
CATENAME_ASSOCIATE_POINTER_PACK(CG_SKILL , CATEGORY_GENERATOR_107), // 스킬
CATENAME_ASSOCIATE_POINTER_PACK(CG_CONVERSATION , CATEGORY_GENERATOR_108), // 채팅
CATENAME_ASSOCIATE_POINTER_PACK(CG_ZONE , CATEGORY_GENERATOR_109),
CATENAME_ASSOCIATE_POINTER_PACK(CG_ITEM , CATEGORY_GENERATOR_100), // 아이템
CATENAME_ASSOCIATE_POINTER_PACK(CG_TRADE , CATEGORY_GENERATOR_111), // 거래
CATENAME_ASSOCIATE_POINTER_PACK(CG_PARTY , CATEGORY_GENERATOR_112), // 파티
CATENAME_ASSOCIATE_POINTER_PACK(CG_TRIGGER , CATEGORY_GENERATOR_113), // 트리거
CATENAME_ASSOCIATE_POINTER_PACK(CG_GM , CATEGORY_GENERATOR_114), // GM 명령 처리
CATENAME_ASSOCIATE_POINTER_PACK(CG_ETC , CATEGORY_GENERATOR_115), // 기타 등등
CATENAME_ASSOCIATE_POINTER_PACK(CG_STATUS , CATEGORY_GENERATOR_116), // 상태 변화
CATENAME_ASSOCIATE_POINTER_PACK(CG_VENDOR , CATEGORY_GENERATOR_117), // 개인상점
CATENAME_ASSOCIATE_POINTER_PACK(CG_WAREHOUSE , CATEGORY_GENERATOR_118), // 창고 : 기능별 분리를 위해 추가
CATENAME_ASSOCIATE_POINTER_PACK(CG_PVP , CATEGORY_GENERATOR_119),
CATENAME_ASSOCIATE_POINTER_PACK(CG_SUMMON , CATEGORY_GENERATOR_120), // 소환
CATENAME_ASSOCIATE_POINTER_PACK(CG_GUILD , CATEGORY_GENERATOR_121),
CATENAME_ASSOCIATE_POINTER_PACK(CG_EVENT , CATEGORY_GENERATOR_122), // 이벤트 인벤토리
CATENAME_ASSOCIATE_POINTER_PACK(CG_QUEST , CATEGORY_GENERATOR_123),
CATENAME_ASSOCIATE_POINTER_PACK(CG_CRYPTOGRAPHY , CATEGORY_GENERATOR_125), // 보안 관련
CATENAME_ASSOCIATE_POINTER_PACK(CG_ARMORKIT , CATEGORY_GENERATOR_127), // ArmorKit 관련
CATENAME_ASSOCIATE_POINTER_PACK(CG_CHUNTING , CATEGORY_GENERATOR_128), // 경쟁 헌팅
CATENAME_ASSOCIATE_POINTER_PACK(CG_AREACONQUEST , CATEGORY_GENERATOR_129), // AC 시스템
CATENAME_ASSOCIATE_POINTER_PACK(CG_MISSION , CATEGORY_GENERATOR_130), // 미션
CATENAME_ASSOCIATE_POINTER_PACK(CG_WAYPOINT , CATEGORY_GENERATOR_131), // 웨이포인트
CATENAME_ASSOCIATE_POINTER_PACK(CG_CHAO , CATEGORY_GENERATOR_132), // 카오시스템
CATENAME_ASSOCIATE_POINTER_PACK(CG_SHOP , CATEGORY_GENERATOR_133),
CATENAME_ASSOCIATE_POINTER_PACK(CG_ZONE_EX , CATEGORY_GENERATOR_134),
CATENAME_ASSOCIATE_POINTER_PACK(CG_COLLECT , CATEGORY_GENERATOR_135),
#if defined(_NA000000_CW_PROTOCOL_UNIFICATION)
CATENAME_ASSOCIATE_POINTER_PACK(CW_CONNECTION , CATEGORY_GENERATOR_150),
CATENAME_ASSOCIATE_POINTER_PACK(CW_CHAT , CATEGORY_GENERATOR_151), // 캐릭터 선택), 캐릭터 생성
CATENAME_ASSOCIATE_POINTER_PACK(CW_GM , CATEGORY_GENERATOR_152), // GM 명령어
CATENAME_ASSOCIATE_POINTER_PACK(CW_VIEWPORT , CATEGORY_GENERATOR_153), // 유저 뷰포트 상태
CATENAME_ASSOCIATE_POINTER_PACK(CW_ARMORKIT , CATEGORY_GENERATOR_154), // ArmorKit 관련
CATENAME_ASSOCIATE_POINTER_PACK(CW_FRIEND , CATEGORY_GENERATOR_155), // 친구 관련
CATENAME_ASSOCIATE_POINTER_PACK(CW_GUILD , CATEGORY_GENERATOR_156), // 길드 관련
CATENAME_ASSOCIATE_POINTER_PACK(CW_CRYPTOGRAPHY , CATEGORY_GENERATOR_157), // 보안 관련
CATENAME_ASSOCIATE_POINTER_PACK(CW_COMMUNITY , CATEGORY_GENERATOR_158), // 기타 커뮤니티 관련
CATENAME_ASSOCIATE_POINTER_PACK(CW_REVENGE , CATEGORY_GENERATOR_159), // 리벤지(나쁜친구) 세팅 관련
CATENAME_ASSOCIATE_POINTER_PACK(CW_MEMO , CATEGORY_GENERATOR_160), // 쪽지 관련
//CATENAME_ASSOCIATE_POINTER_PACK(CW_SYNC , CATEGORY_GENERATOR_161),
CATENAME_ASSOCIATE_POINTER_PACK(CW_GROUP , CATEGORY_GENERATOR_162), // 그룹 맺기 시스템 관련 프로토콜
CATENAME_ASSOCIATE_POINTER_PACK(CW_LOTTO , CATEGORY_GENERATOR_163), // 하임 로또 관련
CATENAME_ASSOCIATE_POINTER_PACK(CW_PARTY , CATEGORY_GENERATOR_164), // 파티 관련 프로토콜
CATENAME_ASSOCIATE_POINTER_PACK(CG_MAX , CATEGORY_GENERATOR_165), // UPPER-BOUNDARY
#endif //_NA000000_CW_PROTOCOL_UNIFICATION
#endif
0, NULL, NULL
};