feat(dev-panel): add tick freeze toggle and fix TickType sign

Add checkbox to freeze tick advancement in dev panel.
Change TickType from unsigned long long to signed long long to prevent underflow.
This commit is contained in:
2026-06-17 19:15:16 +08:00
parent 31bf337f6f
commit be425a705c
5 changed files with 17 additions and 4 deletions

View File

@@ -46,6 +46,7 @@ private:
int m_theme = 0;
int m_pre_set_day_tick = 0;
int m_pre_set_tick_speed = 1;
bool m_tick_frezze = false;
void show_about_table_bar();
void show_biome_table_bar();
void show_time_table_bar();

View File

@@ -1,6 +1,7 @@
#pragma once
using TickType = unsigned long long;
// Prevent unsigned underflow issues in subtraction
using TickType = long long;
constexpr int DEFAULT_PER_TICK_TIME = 50;

View File

@@ -69,7 +69,7 @@ private:
std::atomic<bool> m_is_rebuilding{false};
std::atomic<bool> m_chunk_gen_finished{false};
std::atomic<bool> m_could_gen{true};
std::atomic<bool> m_day_night_cycle{true};
std::atomic<bool> m_tick_running{true};
std::atomic<int> m_rendering_distance{24};
std::atomic<float> m_chunk_gen_fraction{0.0f};
@@ -149,6 +149,9 @@ public:
void day_tick(TickType tick);
int per_tick_time() const;
void per_tick_time(int ms);
bool is_tick_running() const;
void tick_running(bool run);
};
} // namespace Cubed