mirror of
https://github.com/TombEngine/TombEngine.git
synced 2025-05-03 18:27:59 +03:00

# Conflicts: # TR5Main/Renderer/Renderer11DrawEffect.cpp # TR5Main/TombEngine.vcxproj.filters
68 lines
1.5 KiB
C++
68 lines
1.5 KiB
C++
#pragma once
|
|
#include <string>
|
|
#include "GameScriptSkyLayer.h"
|
|
#include "GameScriptMirror.h"
|
|
#include "GameScriptColor.h"
|
|
#include "GameScriptInventoryObject.h"
|
|
#include <GameScriptFog.h>
|
|
|
|
enum class WeatherType
|
|
{
|
|
None,
|
|
Rain,
|
|
Snow
|
|
};
|
|
|
|
static const std::unordered_map<std::string, WeatherType> kWeatherTypes
|
|
{
|
|
{"None", WeatherType::None},
|
|
{"Rain", WeatherType::Rain},
|
|
{"Snow", WeatherType::Snow}
|
|
};
|
|
|
|
enum LaraType
|
|
{
|
|
Normal = 1,
|
|
Young = 2,
|
|
Bunhead = 3,
|
|
Catsuit = 4,
|
|
Divesuit = 5,
|
|
Invisible = 7
|
|
};
|
|
|
|
static const std::unordered_map<std::string, LaraType> kLaraTypes
|
|
{
|
|
{"Normal", LaraType::Normal},
|
|
{"Young", LaraType::Young},
|
|
{"Bunhead", LaraType::Bunhead},
|
|
{"Catsuit", LaraType::Catsuit},
|
|
{"Divesuit", LaraType::Divesuit},
|
|
{"Invisible", LaraType::Invisible}
|
|
};
|
|
|
|
struct GameScriptLevel
|
|
{
|
|
std::string NameStringKey;
|
|
std::string FileName;
|
|
std::string ScriptFileName;
|
|
std::string LoadScreenFileName;
|
|
std::string AmbientTrack;
|
|
GameScriptSkyLayer Layer1;
|
|
GameScriptSkyLayer Layer2;
|
|
bool Horizon{ false };
|
|
bool ColAddHorizon{ false };
|
|
GameScriptFog Fog;
|
|
bool Storm{ false };
|
|
WeatherType Weather{ WeatherType::None };
|
|
float WeatherStrength{ 1.0f };
|
|
bool Rumble{ false };
|
|
LaraType LaraType{ LaraType::Normal };
|
|
GameScriptMirror Mirror;
|
|
int LevelFarView{ 0 };
|
|
bool UnlimitedAir{ false };
|
|
std::vector<GameScriptInventoryObject> InventoryObjects;
|
|
|
|
void SetWeatherStrength(float val);
|
|
void SetLevelFarView(byte val);
|
|
static void Register(sol::state* state);
|
|
};
|