mirror of
https://github.com/TombEngine/TombEngine.git
synced 2025-05-01 09:18:00 +03:00
Missed these in the last commit.
This commit is contained in:
parent
e6c076eb41
commit
b566e33f68
2 changed files with 52 additions and 242 deletions
|
@ -2,6 +2,9 @@
|
|||
#include "LanguageScript.h"
|
||||
#include "LuaHandler.h"
|
||||
#include "GameScriptColor.h"
|
||||
#include "GameScriptLevel.h"
|
||||
#include "GameScriptSettings.h"
|
||||
#include "GameScriptAudioTrack.h"
|
||||
|
||||
enum TITLE_TYPE
|
||||
{
|
||||
|
@ -9,163 +12,15 @@ enum TITLE_TYPE
|
|||
TITLE_BACKGROUND
|
||||
};
|
||||
|
||||
enum WEATHER_TYPE
|
||||
{
|
||||
WEATHER_NORMAL,
|
||||
WEATHER_RAIN,
|
||||
WEATHER_SNOW
|
||||
};
|
||||
|
||||
enum LARA_DRAW_TYPE
|
||||
{
|
||||
LARA_NORMAL = 1,
|
||||
LARA_YOUNG = 2,
|
||||
LARA_BUNHEAD = 3,
|
||||
LARA_CATSUIT = 4,
|
||||
LARA_DIVESUIT = 5,
|
||||
LARA_INVISIBLE = 7
|
||||
};
|
||||
|
||||
struct GameScriptSettings
|
||||
{
|
||||
int ScreenWidth;
|
||||
int ScreenHeight;
|
||||
bool EnableLoadSave;
|
||||
bool EnableDynamicShadows;
|
||||
bool EnableWaterCaustics;
|
||||
bool Windowed;
|
||||
std::string WindowTitle;
|
||||
int DrawingDistance;
|
||||
bool ShowRendererSteps;
|
||||
bool ShowDebugInfo;
|
||||
};
|
||||
|
||||
struct GameScriptInventoryObject
|
||||
{
|
||||
std::string name;
|
||||
short slot;
|
||||
float yOffset;
|
||||
float scale;
|
||||
float xRot;
|
||||
float yRot;
|
||||
float zRot;
|
||||
short rotationFlags;
|
||||
int meshBits;
|
||||
__int64 operation;
|
||||
|
||||
GameScriptInventoryObject(std::string name, short slot, float yOffset, float scale, float xRot, float yRot, float zRot, short rotationFlags, int meshBits, __int64 operation)
|
||||
{
|
||||
this->name = name;
|
||||
this->slot = slot;
|
||||
this->yOffset = yOffset;
|
||||
this->scale = scale;
|
||||
this->xRot = xRot;
|
||||
this->yRot = yRot;
|
||||
this->zRot = zRot;
|
||||
this->rotationFlags = rotationFlags;
|
||||
this->meshBits = meshBits;
|
||||
this->operation = operation;
|
||||
}
|
||||
};
|
||||
|
||||
struct GameScriptSkyLayer
|
||||
{
|
||||
bool Enabled;
|
||||
byte R;
|
||||
byte G;
|
||||
byte B;
|
||||
short CloudSpeed;
|
||||
|
||||
GameScriptSkyLayer()
|
||||
{
|
||||
Enabled = false;
|
||||
R = G = B = CloudSpeed = 0;
|
||||
}
|
||||
|
||||
GameScriptSkyLayer(byte r, byte g, byte b, short speed)
|
||||
{
|
||||
R = r;
|
||||
G = g;
|
||||
B = b;
|
||||
CloudSpeed = speed;
|
||||
Enabled = true;
|
||||
}
|
||||
};
|
||||
|
||||
struct GameScriptMirror
|
||||
{
|
||||
short Room;
|
||||
int StartX;
|
||||
int EndX;
|
||||
int StartZ;
|
||||
int EndZ;
|
||||
|
||||
GameScriptMirror()
|
||||
{
|
||||
Room = -1;
|
||||
StartX = EndX = StartZ = EndZ = 0;
|
||||
}
|
||||
|
||||
GameScriptMirror(short room, int startX, int endX, int startZ, int endZ)
|
||||
{
|
||||
Room = room;
|
||||
StartX = startX;
|
||||
EndX = endX;
|
||||
StartZ = startZ;
|
||||
EndZ = endZ;
|
||||
}
|
||||
};
|
||||
|
||||
struct GameScriptLevel
|
||||
{
|
||||
std::string NameStringKey;
|
||||
std::string FileName;
|
||||
std::string ScriptFileName;
|
||||
std::string LoadScreenFileName;
|
||||
std::string Background;
|
||||
int Name;
|
||||
std::string AmbientTrack;
|
||||
GameScriptSkyLayer Layer1;
|
||||
GameScriptSkyLayer Layer2;
|
||||
bool Horizon{ false };
|
||||
bool Sky;
|
||||
bool ColAddHorizon{ false };
|
||||
GameScriptColor Fog{ 0,0,0 };
|
||||
bool Storm{ false };
|
||||
WEATHER_TYPE Weather{ WEATHER_NORMAL };
|
||||
bool ResetHub{ false };
|
||||
bool Rumble{ false };
|
||||
LARA_DRAW_TYPE LaraType{ LARA_NORMAL };
|
||||
GameScriptMirror Mirror;
|
||||
byte UVRotate;
|
||||
int LevelFarView;
|
||||
bool UnlimitedAir{ false };
|
||||
std::vector<GameScriptInventoryObject> InventoryObjects;
|
||||
};
|
||||
|
||||
struct GameScriptAudioTrack
|
||||
{
|
||||
std::string trackName;
|
||||
bool looped;
|
||||
|
||||
GameScriptAudioTrack(std::string trackName, bool looped)
|
||||
{
|
||||
this->trackName = trackName;
|
||||
this->looped = looped;
|
||||
}
|
||||
};
|
||||
|
||||
bool __cdecl LoadScript();
|
||||
|
||||
class GameFlow : public LuaHandler
|
||||
{
|
||||
private:
|
||||
GameScriptSettings m_settings;
|
||||
GameScriptSettings m_settings;
|
||||
|
||||
std::unordered_map < std::string, std::vector<std::string > > m_translationsMap;
|
||||
std::vector<std::string> m_languageNames;
|
||||
|
||||
std::map<short, short> m_itemsMap;
|
||||
std::map<short, short> m_itemsMap;
|
||||
|
||||
public:
|
||||
Vector3 SkyColorLayer1{};
|
||||
|
@ -185,7 +40,7 @@ public:
|
|||
bool DebugMode{ false };
|
||||
int LevelFarView{ 0 };
|
||||
TITLE_TYPE TitleType{ TITLE_BACKGROUND };
|
||||
char const* Intro{ nullptr };
|
||||
std::string IntroImagePath{};
|
||||
|
||||
// Selected language set
|
||||
std::vector<GameScriptLevel*> Levels;
|
||||
|
@ -193,7 +48,6 @@ public:
|
|||
GameFlow(sol::state* lua);
|
||||
~GameFlow();
|
||||
|
||||
void WriteDefaults();
|
||||
void AddLevel(GameScriptLevel const& level);
|
||||
void SetAudioTracks(sol::as_table_t<std::vector<GameScriptAudioTrack>>&& src);
|
||||
bool LoadGameFlowScript();
|
||||
|
@ -208,4 +62,5 @@ public:
|
|||
void SetFog(byte r, byte g, byte b, short startDistance, short endDistance);
|
||||
int GetNumLevels();
|
||||
bool DoGameflow();
|
||||
void SetIntroImagePath(std::string const& path);
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue