Files
Client/GameTools/Zallad3D SceneClass/Z3D_CONSTANTS.h
LGram16 dd97ddec92 Restructure repository to include all source folders
Move git root from Client/ to src/ to track all source code:
- Client: Game client source (moved to Client/Client/)
- Server: Game server source
- GameTools: Development tools
- CryptoSource: Encryption utilities
- database: Database scripts
- Script: Game scripts
- rylCoder_16.02.2008_src: Legacy coder tools
- GMFont, Game: Additional resources

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 20:17:20 +09:00

446 lines
9.3 KiB
C

// Z3D_CONSTANTS.h: constants & enums
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_Z3D_CONSTANTS_H__3ADE1A0A_F343_43A2_B978_BEB6807C664A__INCLUDED_)
#define AFX_Z3D_CONSTANTS_H__3ADE1A0A_F343_43A2_B978_BEB6807C664A__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
enum Z3D_CHR_ACTION
{
// 전신동작
Z3D_CA_WAIT = 0, // 대기
Z3D_CA_WALK, // 걷기
Z3D_CA_WALK_BACK, // 뒤로걷기
Z3D_CA_RUN, // 달리기
Z3D_CA_CASTING_BEGIN, // 캐스팅시작
Z3D_CA_CASTING_END, // 캐스팅 끝
Z3D_CA_DRINK_BEGIN, // 마시기 시작
Z3D_CA_DRINKING, // 마시기
Z3D_CA_DRINK_END, // 마시기 끝
Z3D_CA_EAT, // 먹기
Z3D_CA_USE, // 아이템사용
Z3D_CA_SLEEP_BEGIN, // 잠들기(자기 시작)
Z3D_CA_SLEEPING, // 잠자기
Z3D_CA_SLEEP_END, // 잠에서 깨기(자기 끝)
Z3D_CA_ATTACK_BEGIN, // 공격 시작
Z3D_CA_ATTACK_END, // 공격 끝
Z3D_CA_ATTACK2_BEGIN, // 공격2 시작
Z3D_CA_ATTACK2_END, // 공격2 끝
Z3D_CA_ATTACK3_BEGIN, // 공격3 시작
Z3D_CA_ATTACK3_END, // 공격3 끝
Z3D_CA_PARRIED, // 패링당함
Z3D_CA_WEAPON_PARRYING, // 무기로 패링
Z3D_CA_SHIELD_PARRYING, // 방패로 패링
Z3D_CA_ATTACKED_BEGIN, // 공격당함 시작
Z3D_CA_ATTACKED_END, // 공격당함 끝
Z3D_CA_CRITICAL_ATTACKED_BEGIN, // 크리티컬 공격 시작
Z3D_CA_CRITICAL_ATTACKED_END, // 크리티컬 공격 끝
Z3D_CA_STUN, // 스턴
Z3D_CA_DIE_BACK, // 뒤로 자빠져 죽음
Z3D_CA_DIE_FRONT, // 앞으로 넘어져 죽음
Z3D_CA_RESURRECT_BACK, // 자빠진 상태에서 부활
Z3D_CA_RESURRECT_FRONT, // 엎어진 상태에서 부활
Z3D_CA_PUT_IN_WEAPON, // 무기를 집어넣는 동작
Z3D_CA_RESTORE_HAND, // 무기를 집어넣은 손을 대기동작으로 이동
Z3D_CA_GRIP_WEAPON, // 무기 꺼내기 중 손을 무기위치로 옮겨 쥐는동작까지
Z3D_CA_TAKE_OUT_WEAPON, // 무기가 손에 붙은(-_-;)후 대기동작으로 옮기기까지
Z3D_CA_SIT_DOWN, // 앉기
Z3D_CA_GET_UP, // 일어서기
// 하체만 동작
Z3D_CA_WAIT_LOWER, // 대기
Z3D_CA_WALK_LOWER, // 걷기
Z3D_CA_WALK_BACK_LOWER, // 뒤로걷기
Z3D_CA_RUN_LOWER, // 달리기
// 상체만 동작
Z3D_CA_ATTACK_BEGIN_UPPER,
Z3D_CA_ATTACK_END_UPPER,
Z3D_CA_ATTACK2_BEGIN_UPPER,
Z3D_CA_ATTACK2_END_UPPER,
Z3D_CA_ATTACK3_BEGIN_UPPER,
Z3D_CA_ATTACK3_END_UPPER,
// 추가되거나 begin/end가 사라진 동작. 남자캐릭터 동작까지 수정 후 정리할것임
Z3D_CA_ATTACKED,
Z3D_CA_FALLDOWN,
Z3D_CA_CAST_BEGIN,
Z3D_CA_CASTING,
Z3D_CA_CAST_END,
Z3D_CA_CAST_RETURN,
Z3D_CA_ATTACK,
Z3D_CA_ATTACK_SIDE_LEFT,
Z3D_CA_ATTACK_SIDE_RIGHT,
Z3D_CA_ATTACK_ADVANCE,
Z3D_CA_ATTACK_RETREAT,
// 추가되었으나 아직 구현안된 동작들
Z3D_CA_WALK_SIDE_LEFT,
Z3D_CA_WALK_SIDE_RIGHT,
Z3D_CA_RUN_SIDE_LEFT,
Z3D_CA_RUN_SIDE_RIGHT,
// skill motion
Z3D_CA_BASH,
Z3D_CA_MOTION_COUNT, // 동작형 action류의 갯수 상한체크용(실제 사용 안함)
// 비 동작형 action들(상태변경, 테스트용 등..)
Z3D_CA_NOTIFY_HIT_BY_FIREBALL, // 파이어볼에 맞다.
Z3D_CA_MOTION_FINISHED, // 동작종료 notification(현재 사용안함)
Z3D_CA_BEGIN_SET_PART,
Z3D_CA_END_SET_PART,
Z3D_CA_SET_HEAD_PART, // 머리부분(투구) 파츠 세팅
Z3D_CA_SET_BODY_PART, // 몸체 파츠 세팅
Z3D_CA_SET_HAND_PART, // 손(장갑) 파츠 세팅
Z3D_CA_SET_LEG_PART, // 다리(바지) 파츠 세팅
Z3D_CA_SET_FOOT_PART, // 발(신발) 파츠 세팅
Z3D_CA_SET_BATTLE_MODE, // 전투모드로 전환
Z3D_CA_SET_NORMAL_MODE, // 일반모드(비전투모드)로 전환
Z3D_CA_SET_SITDOWN_MODE,// 앉아있는 모드로 전환
Z3D_CA_SET_LOD_LEVEL, // LOD 레벨 설정
Z3D_CA_WEAPON_TRAIL_ON, // 검기 on
Z3D_CA_WEAPON_TRAIL_OFF,// 검기 off
Z3D_CA_WEAPON_FIRE_ON, // 불칼 on
Z3D_CA_WEAPON_FIRE_OFF, // 불칼 off
Z3D_CA_BODY_FLAME_ON, // 전신에서 불꽃 on
Z3D_CA_BODY_FLAME_OFF, // 전신에서 불꽃 off
Z3D_CA_EFFECT_HEALING, // Healing effect
Z3D_CA_EFFECT_CASTING, // Casting effect
Z3D_CA_EFFECT_BLEEDING, // 피흘리기 effect
Z3D_CA_EFFECT_FIREBALL, // Fireball effect
Z3D_CA_EFFECT_RESPAWN, // Respawn
Z3D_CA_EFFECT_LEVELUP, // Level up
Z3D_CA_SET_FACE_TYPE, // 얼굴(면상) 종류 세팅
Z3D_CA_SET_HAIR_STYLE, // 헤어스타일 종류 세팅
Z3D_CA_SET_DEFAULT_TYPE,// 기본형(옷 하나도 안 입혔을때 밑바탕 종류) 세팅
Z3D_CA_TEST1, // 테스트용 1,2,3 (사용안함)
Z3D_CA_TEST2,
Z3D_CA_TEST3,
// 새로운 캐릭터 클래스용 actions
Z3D_CA_SET_MOTION_SHEET, // motion sheet
Z3D_CA_ACT_MOTION, // 새로운 동작
Z3D_CA_SET_STATIC_SLOT, // static slot(얼굴, 헤어스타일)세팅
Z3D_CA_BEGIN_OUTFIT_SET, // slot 세팅 시작(복장 설정)
Z3D_CA_SET_OUTFIT_SLOT, // slot 세팅
Z3D_CA_END_OUTFIT_SET, // slot 세팅 종료
Z3D_CA_SET_WEAPON, // 무기 세팅
Z3D_CA_SET_SHIELD, // 방패 세팅
Z3D_CA_FORCE_DWORD = 0x7FFFFFFF
};
// 하체나 상체만 동작시키기 위한 파라미터(lParam1 에 적용)
#define Z3D_CA_BOTH 0
#define Z3D_CA_UPPER 1
#define Z3D_CA_LOWER 2
enum Z3D_CHR_NOTIFICATION
{
Z3D_CN_NOTHING = 0,
Z3D_CN_HIT_BY_FIREBALL,
Z3D_CN_FORCE_DWORD = 0x7FFFFFFF
};
enum Z3D_CHR_TYPE
{
// 남자 여자..
Z3D_CT_MAN = 0, Z3D_CT_WOMAN,
// unique NPC, monster 는 아래에 추가아~
// monster~ (수정+추가분)
Z3D_CT_MON_ELOYEE,
Z3D_CT_MON_GOBLIN,
Z3D_CT_MON_HIDDENEYE,
Z3D_CT_MON_ORC,
Z3D_CT_MON_GORGON,
Z3D_CT_MON_FIELD,
Z3D_CT_MON_BEAR,
Z3D_CT_MON_DEADSUCKER,
Z3D_CT_MON_YANG,
Z3D_CT_MON_LIZARDMAN,
Z3D_CT_MON_SKELETON,
Z3D_CT_MON_ZOMBIE,
Z3D_CT_MON_FRINCLE,
Z3D_CT_MON_GOLEM,
Z3D_CT_MON_CARRION,
Z3D_CT_MON_PAWNPAWN,
Z3D_CT_MON_AMPHIBIAN,
Z3D_CT_MON_GOBLIN_WARRIOR,
Z3D_CT_MON_DARK_WARRIOR,
Z3D_CT_MON_LIZARDMAN_LEADER,
Z3D_CT_MON_SKELETON_WARRIOR,
Z3D_CT_MON_SLUG,
Z3D_CT_MON_CHULPAWN,
Z3D_CT_MON_GIANT_SPIDER,
Z3D_CT_MON_NIGHT_WOLF,
Z3D_CT_MON_WOLF,
Z3D_CT_MON_ZOMBIE_DOG,
Z3D_CT_MON_KILLER_BEETLE,
Z3D_CT_MON_GRUB,
Z3D_CT_MON_FLOATING_RAY,
Z3D_CT_MON_BRUTAL_TRIBE,
Z3D_CT_MON_THAITIG,
Z3D_CT_MON_TROLL,
Z3D_CT_MON_SEA_MAN,
Z3D_CT_MON_GIANT_SQUIRREL,
Z3D_CT_MON_DIRE_SQUIRREL,
// NPC
Z3D_CT_NPC_M_01,
Z3D_CT_NPC_M_02,
Z3D_CT_NPC_M_03,
Z3D_CT_NPC_M_04,
Z3D_CT_NPC_M_05,
Z3D_CT_NPC_M_06,
Z3D_CT_NPC_M_07,
Z3D_CT_NPC_M_08,
Z3D_CT_NPC_M_09,
Z3D_CT_NPC_M_10,
Z3D_CT_NPC_M_11,
Z3D_CT_NPC_M_12,
Z3D_CT_NPC_M_13,
Z3D_CT_NPC_M_14,
Z3D_CT_NPC_M_15,
Z3D_CT_NPC_M_16,
Z3D_CT_NPC_W_01,
Z3D_CT_NPC_W_02,
Z3D_CT_NPC_W_03,
Z3D_CT_NPC_W_04,
Z3D_CT_NPC_W_05,
Z3D_CT_NPC_W_06,
Z3D_CT_NPC_DONKEY,
Z3D_CT_PC_AKHAN_A,
Z3D_CT_FORCE_DWORD = 0x7FFFFFFF
};
enum Z3D_CHR_HAIR_STYLE
{
Z3D_CHS_NONE = 0, // 대머리 있냐-_-? .... 있구나-_-;;
Z3D_CHS_LONG1,
Z3D_CHS_LONG2,
Z3D_CHS_LONG3,
Z3D_CHS_LONG4,
Z3D_CHS_LONG5,
Z3D_CHS_SHORT1,
Z3D_CHS_SHORT2,
Z3D_CHS_SHORT3,
Z3D_CHS_SHORT4,
Z3D_CHS_TYPE1,
Z3D_CHS_TYPE2,
Z3D_CHS_TYPE3,
Z3D_CHS_TYPE4,
Z3D_CHS_TYPE5,
Z3D_CHS_TYPE6,
Z3D_CHS_TYPE7,
Z3D_CHS_TYPE8,
Z3D_CHS_TYPE9,
Z3D_CHS_FORCE_DWORD = 0x7FFFFFFF
};
enum Z3D_CHR_FACE_TYPE
{
Z3D_CFT_TYPE1 = 0,
Z3D_CFT_TYPE2,
Z3D_CFT_TYPE3,
Z3D_CFT_TYPE4,
Z3D_CFT_TYPE5,
Z3D_CFT_TYPE6,
Z3D_CFT_TYPE7,
Z3D_CFT_TYPE8,
Z3D_CFT_TYPE9,
Z3D_CFT_TYPE10,
Z3D_CFT_FORCE_DWORD = 0x7FFFFFFF
};
enum Z3D_CHR_DEFAULT_TYPE
{
Z3D_CDT_TYPE1 = 0,
Z3D_CDT_TYPE2,
Z3D_CDT_TYPE3,
/*Z3D_CDT_TYPE4,
Z3D_CDT_TYPE5,
Z3D_CDT_TYPE6,*/
Z3D_CDT_FORCE_DWORD = 0x7FFFFFFF
};
enum Z3D_CHR_SKELETONPART
{
Z3D_SP_NONE = 0,
Z3D_SP_HEAD,
Z3D_SP_NECK,
Z3D_SP_CHEST,
Z3D_SP_WAIST,
Z3D_SP_PELVIS,
Z3D_SP_R_HAND,
Z3D_SP_R_FOREARM,
Z3D_SP_R_UPPERARM,
Z3D_SP_R_THIGH,
Z3D_SP_R_CALF,
Z3D_SP_R_FOOT,
Z3D_SP_L_HAND,
Z3D_SP_L_FOREARM,
Z3D_SP_L_UPPERARM,
Z3D_SP_L_THIGH,
Z3D_SP_L_CALF,
Z3D_SP_L_FOOT
};
enum Z3D_CHR_EQUIPMENT
{
Z3D_CE_NONE = 0,
Z3D_CE_ARBALEST,
Z3D_CE_BATTLE_AXE,
Z3D_CE_BROAD_SWORD,
Z3D_CE_BUCKLER,
Z3D_CE_CLAYMORE,
Z3D_CE_COMPOSITE_BOW,
Z3D_CE_CROSSBOW,
Z3D_CE_CUTLAS,
Z3D_CE_DART,
Z3D_CE_DOUBLE_BLADED_AXE,
Z3D_CE_FALCHION,
Z3D_CE_GREAT_AXE,
Z3D_CE_GREAT_SWORD,
Z3D_CE_HAND_AXE,
Z3D_CE_HEAVY_CROSSBOW,
Z3D_CE_KITE_SHIELD,
Z3D_CE_KNIFE,
Z3D_CE_LONG_SPEAR,
Z3D_CE_LONG_SWORD,
Z3D_CE_LONGBOW,
Z3D_CE_MACE,
Z3D_CE_MILITARY_FORK,
Z3D_CE_MORNING_STAR,
Z3D_CE_PUNCHING_DAGGER,
Z3D_CE_QUARTER_STAFF,
Z3D_CE_RAPIER,
Z3D_CE_SABER,
Z3D_CE_SHARPEN_AXE,
Z3D_CE_SHORT_SPEAR,
Z3D_CE_SHORT_SWORD,
Z3D_CE_SLING,
Z3D_CE_STAFF,
Z3D_CE_THROWING_DAGGER,
Z3D_CE_TOWER_SHIELD,
Z3D_CE_TRIDENT,
Z3D_CE_TWO_HANDED_SWORD,
Z3D_CE_VIKING_SWORD,
Z3D_CE_WAR_HAMMER,
Z3D_CE_COUNT, // enumerator to count the number
Z3D_CE_FORCE_DWORD = 0x7FFFFFFF
};
enum Z3D_CHR_OUTFIT // head, body, hand, leg, foot 다섯가지로 나눠짐
{
// 기본형... 다중겹침부위(body나 leg)의 경우 '없음'을 나타내기도 한다.
Z3D_CO_DEFAULT = 0, // head, body, hand, leg, foot 모두에 사용가능
Z3D_CO_DEFAULT_BODY, // 캐릭터모델 내부 기재에는 사용되지 않으나, 저장용 인덱스로 사용(?)
Z3D_CO_DEFAULT_HAND,
Z3D_CO_DEFAULT_LEG,
Z3D_CO_DEFAULT_FOOT,
// head - 헬멧 타입(없을 경우 머리카락드러냄..맞겠지-_-? )
Z3D_CO_LEATHER_HELMET,
Z3D_CO_CHAIN_HELMET,
Z3D_CO_KNIGHT_HELM,
Z3D_CO_FULL_HELM,
Z3D_CO_OPEN_HELM,
Z3D_CO_CLOSED_HELM,
// body
Z3D_CO_LEATHER_SHIRTS,
Z3D_CO_CHAIN_SHIRTS,
Z3D_CO_SCALE_MAIL,
Z3D_CO_LEATHER_TUNIC,
Z3D_CO_CHAIN_TUNIC,
Z3D_CO_PLATE_MAIL,
Z3D_CO_SCALE_BREAST,
Z3D_CO_PLATE_BREAST,
Z3D_CO_SHIRTS_A, // 날림추가 제멋대로 작명 셔츠->기본형에서 옮겨옴
Z3D_CO_SHIRTS_B,
Z3D_CO_SHIRTS_C,
// hand
Z3D_CO_LEATHER_GLOVE,
Z3D_CO_CHAIN_GLOVE,
Z3D_CO_GAUNTLET,
// leg
Z3D_CO_TROUSERS,
Z3D_CO_CHAIN_TROUSERS,
Z3D_CO_PLATE_TROUSERS,
Z3D_CO_PLATE_TROUSERS2,
// foot
Z3D_CO_CHAIN_BOOTS,
Z3D_CO_LEATHER_BOOTS,
Z3D_CO_PLATE_BOOTS,
//enumerator to count total available enum.s
Z3D_CO_COUNT,
Z3D_CO_FORCE_DWORD = 0x7FFFFFFF
};
#endif // !defined(AFX_Z3D_CONSTANTS_H__3ADE1A0A_F343_43A2_B978_BEB6807C664A__INCLUDED_)