Files
Client/GameTools/Zallad3D SceneClass/RenderOption.cpp
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

162 lines
4.9 KiB
C++
Raw Permalink Blame History

// RenderOption.cpp: implementation of the CRenderOption class.
//
//////////////////////////////////////////////////////////////////////
#include "RenderOption.h"
#include "BaseDataDefine.h"
#include <stdio.h>
#include <string>
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
int CRenderOption::m_GrassRendering=1;
int CRenderOption::m_GrassAnimationUseVertexShader=0;
int CRenderOption::m_GrassRenderRange=9;
int CRenderOption::m_RangeGrassRender=0;
int CRenderOption::m_FullSceneGlare=0;
int CRenderOption::m_FullSceneAnti=0;
int CRenderOption::m_FullSceneSpecularGlare=0;
int CRenderOption::m_WaterBumpEnvRendering=0;
int CRenderOption::m_TerrainMultiDetalTexture=1;
int CRenderOption::m_TerrainRange=7;
int CRenderOption::m_BuildingLightmap=1;
int CRenderOption::m_TreeAnimation=1;
int CRenderOption::m_CharacterPerPixelLighting=0;
int CRenderOption::m_CharacterPerPixelSpecularLighting=0;
int CRenderOption::m_CharacterSelfShadow=0;
int CRenderOption::m_DepthOfField=0;
int CRenderOption::m_CharacterProjectShadowTerrain=1;
int CRenderOption::m_CharacterProjectShadowBuilding=1;
int CRenderOption::m_ObjectLOD=4;
int CRenderOption::m_TextureMethod=1;
char CRenderOption::m_strBaseGraphicsDataPath[256];
int CRenderOption::m_ObjectProjectShadow=0;
int CRenderOption::m_TreeProjectShadow=0;
int CRenderOption::m_BSPDiffusePerPixel=0;
int CRenderOption::m_BSPSpecularPerPixel=0;
int CRenderOption::m_AllObjectBump=0;
int CRenderOption::m_bFullSceneGlare = 1;
int CRenderOption::m_bRain = 1;
int CRenderOption::m_bWaterBump = 0;
bool CRenderOption::m_bFullSceneEffect = false;
bool CRenderOption::m_bShadowMap = true;
float CRenderOption::m_fBumpScale = 20.0f;
bool CRenderOption::m_bWaterEnvBump2 = false;
//bool CRenderOption::LoadZoneInfo(CRenderOption::ZoneInfo *); // <20> info File Load
CRenderOption::CRenderOption()
{
}
CRenderOption::~CRenderOption()
{
}
void CRenderOption::Save(char *strFilename)
{
FILE *fp=fopen(strFilename,"wb");
if(fp)
{
fwrite(&m_GrassRendering,sizeof(int),1,fp);
fwrite(&m_GrassAnimationUseVertexShader,sizeof(int),1,fp);
fwrite(&m_GrassRenderRange,sizeof(int),1,fp);
fwrite(&m_RangeGrassRender,sizeof(int),1,fp);
fwrite(&m_FullSceneGlare,sizeof(int),1,fp);
fwrite(&m_FullSceneAnti,sizeof(int),1,fp);
fwrite(&m_FullSceneSpecularGlare,sizeof(int),1,fp);
fwrite(&m_WaterBumpEnvRendering,sizeof(int),1,fp);
fwrite(&m_TerrainMultiDetalTexture,sizeof(int),1,fp);
fwrite(&m_TerrainRange,sizeof(int),1,fp);
fwrite(&m_BuildingLightmap,sizeof(int),1,fp);
fwrite(&m_TreeAnimation,sizeof(int),1,fp);
fwrite(&m_CharacterPerPixelLighting,sizeof(int),1,fp);
fwrite(&m_CharacterPerPixelSpecularLighting,sizeof(int),1,fp);
fwrite(&m_CharacterSelfShadow,sizeof(int),1,fp);
fwrite(&m_DepthOfField,sizeof(int),1,fp);
fwrite(&m_CharacterProjectShadowTerrain,sizeof(int),1,fp);
fwrite(&m_CharacterProjectShadowBuilding,sizeof(int),1,fp);
fwrite(&m_ObjectLOD,sizeof(int),1,fp);
fwrite(&m_TextureMethod,sizeof(int),1,fp);
fclose(fp);
}
}
bool CRenderOption::Load(char *strFilename)
{
FILE *fp=fopen(strFilename,"rb");
if(fp)
{
fread(&m_GrassRendering,sizeof(int),1,fp);
fread(&m_GrassAnimationUseVertexShader,sizeof(int),1,fp);
fread(&m_GrassRenderRange,sizeof(int),1,fp);
fread(&m_RangeGrassRender,sizeof(int),1,fp);
fread(&m_FullSceneGlare,sizeof(int),1,fp);
fread(&m_FullSceneAnti,sizeof(int),1,fp);
fread(&m_FullSceneSpecularGlare,sizeof(int),1,fp);
fread(&m_WaterBumpEnvRendering,sizeof(int),1,fp);
fread(&m_TerrainMultiDetalTexture,sizeof(int),1,fp);
fread(&m_TerrainRange,sizeof(int),1,fp);
fread(&m_BuildingLightmap,sizeof(int),1,fp);
fread(&m_TreeAnimation,sizeof(int),1,fp);
fread(&m_CharacterPerPixelLighting,sizeof(int),1,fp);
fread(&m_CharacterPerPixelSpecularLighting,sizeof(int),1,fp);
fread(&m_CharacterSelfShadow,sizeof(int),1,fp);
fread(&m_DepthOfField,sizeof(int),1,fp);
fread(&m_CharacterProjectShadowTerrain,sizeof(int),1,fp);
fread(&m_CharacterProjectShadowBuilding,sizeof(int),1,fp);
fread(&m_ObjectLOD,sizeof(int),1,fp);
fread(&m_TextureMethod,sizeof(int),1,fp);
fclose(fp);
return true;
}
return false;
}
bool CRenderOption::LoadZoneInfo(ZoneInfo *pZoneInfo) // <20> info File Load
{
if(pZoneInfo == NULL)
return false;
if(!strcmp(CRenderOption::m_strBaseGraphicsDataPath,""))
{
pZoneInfo->m_bZoneInfo = false;
return false;
}
FILE *fp = NULL;
char strInfo[256] = {0};
sprintf(strInfo,"%s%s.info",ROOTPATH,m_strBaseGraphicsDataPath);
fp = fopen(strInfo,"rb");
if(fp == NULL)
{
pZoneInfo->m_bZoneInfo = false;
return false;
}
// Data Load
pZoneInfo->m_bZoneInfo = true;
fread((int *)pZoneInfo->m_iZoneInfo,sizeof(int),30,fp); // Int Value Load
fread((float *)pZoneInfo->m_fZoneInfo,sizeof(float),30,fp); // float Value Load
fclose(fp);
return true;
}