Files
Client/Engine/Zalla3D Scene Class/MapStorage.h
LGram16 e067522598 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>
2025-11-29 16:24:34 +09:00

154 lines
6.9 KiB
C++
Raw Blame History

// MapStorage.h: interface for the CMapStorage class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_MAPSTORAGE_H__E37090A2_3209_4878_8E2D_59AC76DAA3E6__INCLUDED_)
#define AFX_MAPSTORAGE_H__E37090A2_3209_4878_8E2D_59AC76DAA3E6__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "SectorDungeonMap.h"
#include "SectorHeightMap.h"
#include "SectorMeshMap.h"
#include "SectorPlantMap.h"
#include "SectorWideMap.h"
#include "SectorDefine.h"
#include "SectorHouseMap.h"
#include "SectorWaterMap.h"
#include "SectorFallMap.h"
#include "InHouseObjectMap.h"
#include "SectorMustDivideVertexMap.h"
#include "SectorEffectMap.h"
#include "SectorLandscapeEffectMap.h"
//#include "SectorSoundMap.h"
#include "StateLog.h"
#include "SectorLight.h"
#include <vector.h>
#define MAXSECTOR 144
class CMapStorage
{
CSectorDungeonMap* m_DundeonMapTable[MAXSECTOR];
CSectorMeshMap* m_MeshMapTable[MAXSECTOR];
CSectorPlantMap* m_PlantMapTable[MAXSECTOR];
CSectorHouseMap* m_HouseMapTable[MAXSECTOR];
CSectorWaterMap* m_WaterMapTable[MAXSECTOR];
CSectorFallMap* m_FallMapTable[MAXSECTOR];
CInHouseObjectMap *m_InHouseMapTable[MAXSECTOR];
CSectorMustDivideVertexMap* m_MustDivideVertexMapTable[MAXSECTOR];
CSectorEffectMap* m_EffectMapTable[MAXSECTOR];
CSectorLightMap *m_LightMapTable[MAXSECTOR];
std::vector<CSectorDungeonMap*> m_DundeonMap;
std::vector<CSectorMeshMap*> m_MeshMap;
std::vector<CSectorPlantMap*> m_PlantMap;
std::vector<CSectorWaterMap*> m_WaterMap;
std::vector<CSectorFallMap*> m_FallMap;
std::vector<CInHouseObjectMap*> m_InHouseMap;
std::vector<CSectorMustDivideVertexMap*> m_MustDivideVertexMap;
std::vector<CSectorEffectMap*> m_EffectMap;
std::vector<CSectorLightMap *> m_LightMap;
int m_LoadMode;
char m_strMapFilename[256];
public:
std::vector<CSectorHouseMap*> m_HouseMap;
CSectorLandscapeEffectMap* m_LandscapeEffectMapTable[MAXSECTOR];
CSectorHeightMap *m_HeightMapTable[MAXSECTOR];
CSectorWideMap *m_WideMapTable[MAXSECTOR];
std::vector<CSectorLandscapeEffectMap*> m_LandscapeEffectMap;
std::vector<CSectorHeightMap*> m_HeightMap;
std::vector<CSectorWideMap*> m_WideMap;//<2F>̰<EFBFBD> <20><><EFBFBD>ľ<EFBFBD> <20><>
void AddSectorLight(float fAddx,float fAddy,float fAddz,float fR,float fG,float fB,float fRad,int iLights,int Shadows,float fShadow,int iAmb,char *strEffect,float fExpose);
void DeleteSectorLight(float fAddx,float fAddy,float fAddz);
CSectorLightMap *FindLightMap(float fFindx, float fFindy);
void AddLandscapeEffect(float fAddx,float fAddy,float fAddz,int nEffectMethod,DWORD dwBlend[2],float Param[50],int IntParam[20],char *strTextureName,char *eff);
void DeleteLandscapeEffect(CSectorLandscapeEffectMap*);
void Read( void* tBuf, INT len, const char* sBuf, LONG& seek );
void ConvertData(char * data, LONG len);
void LoadGF3(char *strFilename);
void LoadGF3Mem(char *strFilename);
void SaveGF3(char *strFilename);
// void LoadSoundMap(char *strSoundMapFilename);
// void SaveSoundMap(char *strSoundMapFilename);
// CSectorSoundMap* FindSoundMap(float fFindx,float fFindy);
// void AddSoundMap(float fAddx,float fAddy,float fAddz,char *strFilename,float fMinRange,float fMaxRange);
void SetLoadMode(int mode){m_LoadMode=mode;};
void DeleteAllObject();
void BugFix_Tree2(char *strFilename);
void BugFix_Hangul2English();
void BugFix_Tree();
void DelMeshMap(float fDelx,float fDely,float fDelz,long ObjectSceneID);
void AddMeshMap(float fAddx,float fAddy,float fAddz,char *strObjectName,matrix matTM,bool isAlpha,bool isLight);
void DelPlantMap(float fDelx,float fDelY,float fDelz);
void DelInHouseLight(char *strOutName, char *strMedName, char *strInName,long LightID);
void DelInHouseObject(char *strOutName, char *strMedName, char *strInName,long ObjectID);
void DeleteAllData();
long m_TotalHouseSceneCount;
long m_TotalInHouseLightSceneCount;
long m_TotalInHouseObjectSceneCount;
long m_TotalObjectSceneCount;
long m_totalEffectSceneCount;
long m_TotalLightCount;
void AddMustDivideVertex(CSectorMustDivideVertexMap *pMustDivideVertex);
void AddPlantMap(float fAddx,float fAddy,float fAddz,unsigned char PlantKind);
void AddInHouseLight(char *strOutName, char *strMedName, char *strInName, char *strBspName,char *strLightName, matrix matTM,float fLightRange,color LightColor);
void AddInHouseObject(char *strOutName,char *strMedName,char *strInName,char *strBspName,char *strObjectName,matrix matTM,bool isAlpha,bool isLight);
void AddFallMap(float fAddx,float fAddy,float fAddz,float fFallPosX,float fFallPosY,float fFallRot,std::vector<float> &FallHeight,std::vector<float> &FallLeft,std::vector<float> &FallRight,std::vector<float> &FallAddX,std::vector<color> &WaterFallColor);
void AddWideMap(float fAddx,float fAddy,float fAddz,char *strWideMapName,char *strDetailMapName,char *strWideMapName1,char *strDetailMapName1,char *strWideMapName2,char *strDetailMapName2);
void AddHouseMap(float fAddx,float fAddy,float fAddz,char *strOutName,char *strMedName,char *strInName,char *strBspName);
void AddHeightMap(float fAddx,float fAddy,float fAddz,float *fHeightData);
void AddWaterMap(float fAddx,float fAddy,float fAddz,float fWaterHeight,float fWaterSizeX,float fWaterSizeY,float fWaterPosX,float fWaterPosY,color WaterColor,bool bWaterRelection);
void AddEffectMap(float fAddx,float fAddy,float fAddz,char *filename,float xrot,float yrot,float zrot);
void DelEffectMap(float fAddx,float fAddy,float fAddz,char *filename);
void DelHouseMap(float fDelx,float fDely,float fDelz,long HouseSceneID);
void DeleteHouseMap(float fDelx,float fDely,float fDelz,char *filename);
CSectorMustDivideVertexMap* FindMustDivideVertexMap(float fFindX,float fFindY);
CInHouseObjectMap* FindInHouseMap(char *strOutName, char *strMedName, char *strInName,char *strBspName);
CSectorHouseMap* FindHouseMap(float fFindx,float fFindy);
CSectorDungeonMap* FindDungeonMap(float fFindx,float fFindy);
CSectorHeightMap* FindHeightMap(float fFindx, float fFindy);
CSectorMeshMap* FindMeshMap(float fFindx, float fFindy);
CSectorPlantMap* FindPlantMap(float fFindx, float fFindy);
CSectorWideMap* FindWideMap(float fFindx, float fFindy);
CSectorWaterMap* FindWaterMap(float fFindx, float fFindy);
CSectorFallMap* FindFallMap(float fFindx,float fFindy);
CSectorEffectMap* FindEffectMap(float fFindx, float fFindy);
CSectorEffectMap* FindEffectMap(int indexX,int indexY);
CSectorEffectMap* FindEffectMap(int &index);
CSectorLandscapeEffectMap* FindLandscapeEffect(float fFindx,float fFindy);
void Save(char *strFilename);
void Load(char *strFilename);
void LoadInHouseMap(char *strFilename);
void SaveInHouseMap(char *strFilename);
void OldLoad(char *strFilename);
void SaveSector(char *strFilename,long SectorX,long SectorY);
void LoadSector(char *strFilename,long SectorX,long SectorY);
// void LoadMapOutHouse();
CMapStorage();
virtual ~CMapStorage();
};
#endif // !defined(AFX_MAPSTORAGE_H__E37090A2_3209_4878_8E2D_59AC76DAA3E6__INCLUDED_)