Merge branch 'MihailRis:main' into main

This commit is contained in:
Xertis 2026-03-02 20:48:35 +03:00 • committed by GitHub
commit 8e2d915dd7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
26 changed files with 368 additions and 64 deletions

View file

@ -70,7 +70,7 @@ void ContentGfxCache::refresh(const Block& def, const Atlas& atlas) {
refreshVariant(def, def.defaults, 0, atlas);
if (def.variants) {
const auto& variants = def.variants->variants;
for (int i = 1; i < variants.size() - 1; i++) {
for (int i = 1; i < variants.size(); i++) {
refreshVariant(def, variants[i], i, atlas);
}
def.variants->variants.at(0) = def.defaults;

View file

@ -114,7 +114,7 @@ LevelScreen::~LevelScreen() {
}
scripting::on_frontend_close();
input.getBindings().enableAll();
playerController->getPlayer()->chunks->saveAndClear();
playerController->getPlayer().chunks->saveAndClear();
controller->onWorldQuit();
}
@ -168,12 +168,12 @@ void LevelScreen::saveDecorations() {
void LevelScreen::saveWorldPreview() {
try {
logger.info() << "saving world preview";
auto player = playerController->getPlayer();
auto& settings = engine.getSettings();
const Player& player = playerController->getPlayer();
const auto& settings = engine.getSettings();
int previewSize = settings.ui.worldPreviewSize.get();
// camera special copy for world preview
Camera camera = *player->fpCamera;
Camera& camera = *player.fpCamera;
camera.setFov(glm::radians(70.0f));
DrawContext pctx(nullptr, engine.getWindow(), batch.get());
@ -215,18 +215,18 @@ void LevelScreen::updateHotkeys() {
}
void LevelScreen::updateAudio() {
auto player = playerController->getPlayer();
auto camera = player->currentCamera;
Player& player = playerController->getPlayer();
Camera& camera = *player.currentCamera;
bool paused = hud->isPause();
audio::get_channel("regular")->setPaused(paused);
audio::get_channel("ambient")->setPaused(paused);
glm::vec3 velocity {};
if (auto hitbox = player->getHitbox()) {
if (auto hitbox = player.getHitbox()) {
velocity = hitbox->velocity;
}
audio::set_listener(
camera->position, velocity, camera->dir, glm::vec3(0, 1, 0)
camera.position, velocity, camera.dir, glm::vec3(0, 1, 0)
);
}
@ -257,22 +257,22 @@ void LevelScreen::update(float delta) {
hud->update(hudVisible);
const auto& weather = renderer->getWeather();
const auto& player = *playerController->getPlayer();
const auto& camera = *player.currentCamera;
const Weather& weather = renderer->getWeather();
const Player& player = playerController->getPlayer();
const Camera& camera = *player.currentCamera;
decorator->update(paused ? 0.0f : delta, camera, weather);
}
void LevelScreen::draw(float delta) {
auto camera = playerController->getPlayer()->currentCamera;
Camera& camera = *playerController->getPlayer().currentCamera;
DrawContext ctx(nullptr, engine.getWindow(), batch.get());
const DrawContext ctx(nullptr, engine.getWindow(), batch.get());
if (!hud->isPause()) {
scripting::on_entities_render(engine.getTime().getDelta());
}
renderer->update(*camera, delta * !hud->isPause());
renderer->renderFrame(ctx, *camera, hudVisible, *postProcessing);
renderer->update(camera, delta * !hud->isPause());
renderer->renderFrame(ctx, camera, hudVisible, *postProcessing);
if (!hud->isPause()) {
scripting::on_frontend_render();
}