Files
Leviathan/Client/Game/engine/TerrainEngine/ScriptDefine.h
T
2026-06-01 12:46:52 +02:00

45 lines
1.1 KiB
C++

#pragma once
//#include <string>
#include <list>
// 스크립트 파일
#define NFSFILE_SIGN "nFlavor Script"
const DWORD c_dwNFSCurrentVer = 2;
#pragma pack(push, 1)
struct NFS_HEADER_V02
{
char szSign[16];
DWORD dwVersion;
DWORD dwEventLocationOffset; ///< 이벤트 영역 정보 시작 위치
DWORD dwEventScriptOffset; ///< 이벤트 영역 스크립트 정보 시작 위치
DWORD dwPropScriptOffset; ///< 장식물 스크립트 정보 시작 위치
};
typedef NFS_HEADER_V02 NFS_HEADER_V01;
typedef NFS_HEADER_V02 NFS_LATESTHEADER;
#pragma pack(pop)
/// Trigger 정의 (대상 타입 -NPC, EventLoc등- 에 따라 이중 일부만을 사용하게 될 것이다.)
enum SCRIPT_TRIGGER
{
SCRTRG_INITIALIZE = 0,
SCRTRG_CONTACT = 1,
SCRTRG_ENTER = 2,
SCRTRG_LEAVE = 3,
SCRTRG_CLIENTWATER = 4,
SCRTRG_MINIMAPINFO = 5,
};
/// Trigger와 Function이름
struct ScriptFunction
{
SCRIPT_TRIGGER m_Trigger;
std::string m_strFuncName;
ScriptFunction( SCRIPT_TRIGGER Trigger, const char* szFuncName )
: m_Trigger( Trigger ), m_strFuncName( szFuncName ) { }
};
typedef std::list<ScriptFunction> SCRIPTFUNC_LIST;