From 42b753d485d86464d7e40208edd9e9285fcf1570 Mon Sep 17 00:00:00 2001 From: Cogi Asd Date: Mon, 8 Jul 2024 12:26:01 +0300 Subject: [PATCH] ref set/get_vel_time() --- src/logic/scripting/lua/libworld.cpp | 11 ++++++++--- src/world/World.cpp | 3 ++- src/world/World.hpp | 5 +---- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/logic/scripting/lua/libworld.cpp b/src/logic/scripting/lua/libworld.cpp index aca3bb7f..6db890d7 100644 --- a/src/logic/scripting/lua/libworld.cpp +++ b/src/logic/scripting/lua/libworld.cpp @@ -54,12 +54,16 @@ static int l_world_set_day_time(lua::State* L) { return 0; } -static int l_wolrd_set_speed_time(lua::State* L) { +static int l_wolrd_set_vel_time(lua::State* L) { auto value = lua::tonumber(L, 1); - level->getWorld()->factorSpeedTime = std::abs(value); + level->getWorld()->daytimeSpeed = std::abs(value); return 0; } +static int l_wolrd_get_vel_time(lua::State* L) { + return lua::pushnumber(L, level->getWorld()->daytimeSpeed); +} + static int l_world_get_seed(lua::State* L) { return lua::pushinteger(L, level->getWorld()->getSeed()); } @@ -85,7 +89,8 @@ const luaL_Reg worldlib [] = { {"get_total_time", lua::wrap}, {"get_day_time", lua::wrap}, {"set_day_time", lua::wrap}, - {"set_speed_time", lua::wrap}, + {"set_vel_time", lua::wrap}, + {"get_vel_time", lua::wrap}, {"get_seed", lua::wrap}, {"is_day", lua::wrap}, {"is_night", lua::wrap}, diff --git a/src/world/World.cpp b/src/world/World.cpp index 5d559a46..39b7aeab 100644 --- a/src/world/World.cpp +++ b/src/world/World.cpp @@ -19,6 +19,7 @@ #include static debug::Logger logger("world"); +const float DAYIME_SPECIFIC_SPEED = 1.0f/1440.0f; //1.0f/60.0f/24.0f; world_load_error::world_load_error(const std::string& message) : std::runtime_error(message) { @@ -44,7 +45,7 @@ World::~World(){ } void World::updateTimers(float delta) { - daytime += delta * daytimeSpeed * factorSpeedTime; + daytime += delta * daytimeSpeed * DAYIME_SPECIFIC_SPEED; daytime = fmod(daytime, 1.0f); totalTime += delta; } diff --git a/src/world/World.hpp b/src/world/World.hpp index 1015dec3..9b0acf36 100644 --- a/src/world/World.hpp +++ b/src/world/World.hpp @@ -42,11 +42,8 @@ public: /// 0.5 - is noon float daytime = timeutil::time_value(10, 00, 00); - // factor speed time - float factorSpeedTime = 1.0f; - // looking bad - float daytimeSpeed = 1.0f/1440.0f; //1.0f/60.0f/24.0f; + float daytimeSpeed = 1.0f; /// @brief total time passed in the world (not depending on daytimeSpeed) double totalTime = 0.0;