Implemented gameflow; Added load (bugged) and save;

This commit is contained in:
MontyTRC89 2018-09-03 21:08:40 +02:00
parent 6c051717d6
commit 59db94695d
26 changed files with 667 additions and 219 deletions

View file

@ -8,7 +8,10 @@ GameScript::GameScript()
"screenWidth", &GameScriptSettings::ScreenWidth,
"screenHeight", &GameScriptSettings::ScreenHeight,
"windowTitle", &GameScriptSettings::WindowTitle,
"enableDynamicShadows", &GameScriptSettings::EnableDynamicShadows
"enableDynamicShadows", &GameScriptSettings::EnableDynamicShadows,
"windowed", &GameScriptSettings::Windowed,
"enableWaterCaustics", &GameScriptSettings::EnableWaterCaustics,
"drawingDistance", &GameScriptSettings::DrawingDistance
);
m_lua.new_usertype<GameScriptSkyLayer>("SkyLayer",
@ -37,16 +40,21 @@ GameScript::GameScript()
"layer2", &GameScriptLevel::Layer2,
"fog", &GameScriptLevel::Fog,
"horizon", &GameScriptLevel::Horizon,
"coladdhorizon", &GameScriptLevel::ColAddHorizon
"coladdhorizon", &GameScriptLevel::ColAddHorizon,
"storm", &GameScriptLevel::Storm,
"background", &GameScriptLevel::Background
);
m_levels.resize(NUM_LEVELS);
m_lua["levels"] = &m_levels;
m_lua.new_usertype<GameScript>("GameScript",
"levels", &GameScript::m_levels,
"settings", &GameScript::m_settings,
"strings", &GameScript::m_strings,
"addLevel", &GameScript::AddLevel
);
m_lua["settings"] = &m_settings;
m_strings.resize(NUM_STRINGS);
m_lua["strings"] = &m_strings;
m_lua["Gameflow"] = this;
}
GameScript::~GameScript()
@ -79,7 +87,7 @@ bool GameScript::LoadGameSettings(char* luaFilename)
{
string script = loadScriptFromFile(luaFilename);
m_lua.script(script);
return true;
}
@ -106,11 +114,6 @@ GameScriptLevel* GameScript::GetLevel(__int32 id)
return m_levels[id];
}
GameScriptLevel* GameScript::GetTitle()
{
return m_title;
}
void GameScript::SetHorizon(bool horizon, bool colAddHorizon)
{
DrawHorizon = horizon;
@ -152,4 +155,14 @@ void GameScript::SetFog(byte r, byte g, byte b, __int16 startDistance, __int16 e
FogOutDistance = endDistance;
}
__int32 GameScript::GetNumLevels()
{
return m_levels.size();
}
void GameScript::AddLevel(GameScriptLevel* level)
{
m_levels.push_back(level);
}
GameScript* g_Script;