Backlight setting
This commit is contained in:
+20
-1
@@ -246,7 +246,7 @@ Panel* create_settings_panel(Engine* engine, PagesControl* menu) {
|
||||
panel->add(trackbar);
|
||||
}
|
||||
|
||||
{
|
||||
/* V-Sync checkbox */{
|
||||
Panel* checkpanel = new Panel(vec2(400, 32), vec4(5.0f), 1.0f);
|
||||
checkpanel->color(vec4(0.0f));
|
||||
checkpanel->orientation(Orientation::horizontal);
|
||||
@@ -265,6 +265,25 @@ Panel* create_settings_panel(Engine* engine, PagesControl* menu) {
|
||||
panel->add(checkpanel);
|
||||
}
|
||||
|
||||
/* Backlight checkbox */{
|
||||
Panel* checkpanel = new Panel(vec2(400, 32), vec4(5.0f), 1.0f);
|
||||
checkpanel->color(vec4(0.0f));
|
||||
checkpanel->orientation(Orientation::horizontal);
|
||||
|
||||
CheckBox* checkbox = new CheckBox();
|
||||
checkbox->margin(vec4(0.0f, 0.0f, 5.0f, 0.0f));
|
||||
checkbox->supplier([=]() {
|
||||
return engine->getSettings().graphics.backlight != 0;
|
||||
});
|
||||
checkbox->consumer([=](bool checked) {
|
||||
engine->getSettings().graphics.backlight = checked;
|
||||
});
|
||||
checkpanel->add(checkbox);
|
||||
checkpanel->add(new Label(L"Backlight"));
|
||||
|
||||
panel->add(checkpanel);
|
||||
}
|
||||
|
||||
panel->add(gotoButton(L"Controls", "controls", menu));
|
||||
panel->add(backButton(menu));
|
||||
panel->refresh();
|
||||
|
||||
@@ -87,12 +87,14 @@ void MenuScreen::draw(float delta) {
|
||||
batch->render();
|
||||
}
|
||||
|
||||
static bool backlight;
|
||||
LevelScreen::LevelScreen(Engine* engine, Level* level)
|
||||
: Screen(engine),
|
||||
level(level) {
|
||||
cache = new ContentGfxCache(level->content, engine->getAssets());
|
||||
worldRenderer = new WorldRenderer(engine, level, cache);
|
||||
hud = new HudRenderer(engine, level, cache);
|
||||
backlight = engine->getSettings().graphics.backlight;
|
||||
}
|
||||
|
||||
LevelScreen::~LevelScreen() {
|
||||
@@ -130,6 +132,10 @@ void LevelScreen::update(float delta) {
|
||||
if (!gui->isFocusCaught()) {
|
||||
updateHotkeys();
|
||||
}
|
||||
if (settings.graphics.backlight != backlight) {
|
||||
level->chunks->clear();
|
||||
backlight = settings.graphics.backlight;
|
||||
}
|
||||
level->updatePlayer(delta, !inputLocked, hud->isPause(), !inputLocked);
|
||||
level->update();
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ using std::shared_ptr;
|
||||
WorldRenderer::WorldRenderer(Engine* engine, Level* level, const ContentGfxCache* cache)
|
||||
: engine(engine), level(level) {
|
||||
lineBatch = new LineBatch(4096);
|
||||
renderer = new ChunksRenderer(level, cache);
|
||||
renderer = new ChunksRenderer(level, cache, engine->getSettings());
|
||||
frustumCulling = new Frustum();
|
||||
level->events->listen(EVT_CHUNK_HIDDEN, [this](lvl_event_type type, Chunk* chunk) {
|
||||
renderer->unload(chunk);
|
||||
|
||||
Reference in New Issue
Block a user