Initial commit: ROW Client source code
Game client codebase including: - CharacterActionControl: Character and creature management - GlobalScript: Network, items, skills, quests, utilities - RYLClient: Main client application with GUI and event handlers - Engine: 3D rendering engine (RYLGL) - MemoryManager: Custom memory allocation - Library: Third-party dependencies (DirectX, boost, etc.) - Tools: Development utilities 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
123
Engine/Zalla3D Scene Class/SectorBGMTrigger.h
Normal file
123
Engine/Zalla3D Scene Class/SectorBGMTrigger.h
Normal file
@@ -0,0 +1,123 @@
|
||||
// SectorBGMTrigger.h: interface for the CSectorBGMTrigger class.
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
#if !defined(AFX_SECTORBGMTRIGGER_H__2A07FEDB_6BAC_4C12_A532_4D50FA18E18E__INCLUDED_)
|
||||
#define AFX_SECTORBGMTRIGGER_H__2A07FEDB_6BAC_4C12_A532_4D50FA18E18E__INCLUDED_
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif // _MSC_VER > 1000
|
||||
|
||||
#include "RenderTexture.h"
|
||||
#include <vector>
|
||||
using namespace std;
|
||||
|
||||
#define ZONE_NUM 15
|
||||
#define BGM_TEXTURESIZE 128
|
||||
|
||||
//==========================
|
||||
// Define Script Key
|
||||
//==========================
|
||||
#define APP_SET "SET"
|
||||
#define APP_BGM_TRIGGER "BGM_TRIGGER"
|
||||
#define KEY_TRIGGER "TRIGGER"
|
||||
#define KEY_ZONE "ZONE"
|
||||
#define KEY_SECTORX "SECTORX"
|
||||
#define KEY_SECTORY "SECTORY"
|
||||
#define KEY_BGM "BGM"
|
||||
#define KEY_ESF "ESF"
|
||||
#define KEY_COLOR "COLOR"
|
||||
#define KEY_TEXTURE "TEXTURE"
|
||||
#define KEY_EVENTNUM "EVENTNUM"
|
||||
#define KEY_EVENTKEY "EVENTKEY"
|
||||
|
||||
//===========================
|
||||
// Define Event Key
|
||||
//===========================
|
||||
//#define EK_BGM_ONCE 0
|
||||
//#define EK_BGM_LOOP 1
|
||||
#define EK_BGM_ONCE_SAFE 0
|
||||
#define EK_BGM_LOOP_SAFE 1
|
||||
#define EK_BGM_LOOP_UNSAFE 2
|
||||
#define EK_BGM_ONCE_UNSAFE 3
|
||||
#define EK_NOTBGM_SAFE 4
|
||||
#define EK_BGM_TURN_AMB_SAFE 5
|
||||
#define EK_BGM_TURN_AMB_UNSAFE 6
|
||||
#define EK_CAMP_UNCREATE 9
|
||||
#define EK_ESF_SAFE 10
|
||||
#define EK_ESF_UNSAFE 11
|
||||
|
||||
// 0 <20>ѹ<EFBFBD> <20>÷<EFBFBD><C3B7><EFBFBD> , <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƽ <20><> o
|
||||
// 1 <20>ݺ<EFBFBD> <20>÷<EFBFBD><C3B7><EFBFBD> , <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƽ <20><> o
|
||||
// 2 <20>ݺ<EFBFBD> <20>÷<EFBFBD><C3B7><EFBFBD> , <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƽ <20><> x
|
||||
// 3 <20>ѹ<EFBFBD> <20>÷<EFBFBD><C3B7><EFBFBD> , <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƽ <20><> x
|
||||
// 4 <20><><EFBFBD><EFBFBD> <20>÷<EFBFBD><C3B7><EFBFBD>x, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƽ <20><> o
|
||||
// 5 BGM 1<><31> <20>÷<EFBFBD><C3B7><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>н<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƽ <20><> o
|
||||
// 6 BGM 1<><31> <20>÷<EFBFBD><C3B7><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>н<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƽ <20><> x
|
||||
// 9 ķ<><C4B7> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// 10 <20><><EFBFBD><EFBFBD><EFBFBD≯<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƽ <20><> o
|
||||
// 11 <20><><EFBFBD><EFBFBD><EFBFBD≯<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƽ <20><> x
|
||||
|
||||
struct PerSectorTriggerInfo
|
||||
{
|
||||
int iSectorX;
|
||||
int iSectorY;
|
||||
char strTexFilename[MAX_PATH];
|
||||
int iEventNum;
|
||||
vector<int> EventKeyList;
|
||||
vector<DWORD> BGMColorKeyList;
|
||||
vector<char*> BGMFileList;
|
||||
vector<char*> ESFFileList;
|
||||
DWORD ColorTable[BGM_TEXTURESIZE][BGM_TEXTURESIZE];
|
||||
|
||||
void Destroy()
|
||||
{
|
||||
vector<char*>::iterator iter;
|
||||
for( iter = BGMFileList.begin(); iter != BGMFileList.end(); iter++ )
|
||||
{
|
||||
delete (*iter);
|
||||
}
|
||||
|
||||
for( iter = ESFFileList.begin(); iter != ESFFileList.end(); iter++ )
|
||||
{
|
||||
delete (*iter);
|
||||
}
|
||||
|
||||
BGMFileList.clear();
|
||||
ESFFileList.clear();
|
||||
BGMColorKeyList.clear();
|
||||
EventKeyList.clear();
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
class CSectorBGMTrigger
|
||||
{
|
||||
public:
|
||||
vector<PerSectorTriggerInfo*> m_ScriptDataList[ZONE_NUM];
|
||||
vector<PerSectorTriggerInfo*> m_SectorBgmList;
|
||||
LPDIRECT3DTEXTURE8 m_pBgmTexture;
|
||||
CRenderTexture m_ResizeTexture;
|
||||
|
||||
protected:
|
||||
void LoadBgmTexture( char* strFile );
|
||||
void DeleteScriptData();
|
||||
void MakeColorTable( DWORD* pDest, char* strSrcFile );
|
||||
|
||||
public:
|
||||
CSectorBGMTrigger();
|
||||
virtual ~CSectorBGMTrigger();
|
||||
|
||||
void DeleteBgmData();
|
||||
|
||||
void Create();
|
||||
void Destroy();
|
||||
void GetScriptData( const char* strFilename );
|
||||
void WriteBinData();
|
||||
void LoadZoneData( int Zone );
|
||||
void LoadData( char* strFile );
|
||||
PerSectorTriggerInfo* GetTrigger( int SectorX, int SectorY );
|
||||
};
|
||||
|
||||
#endif // !defined(AFX_SECTORBGMTRIGGER_H__2A07FEDB_6BAC_4C12_A532_4D50FA18E18E__INCLUDED_)
|
||||
Reference in New Issue
Block a user