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>
162 lines
4.9 KiB
C++
162 lines
4.9 KiB
C++
// 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;
|
||
|
||
} |