Merge pull request #144 from A-lex-Ra/main

minor changes
This commit is contained in:
MihailRis 2024-02-14 10:27:23 +03:00 committed by GitHub
commit c42ffb4047
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 29 additions and 9 deletions

View File

@ -34,6 +34,7 @@ settings.Load Speed=Скорость Загрузки
settings.Fog Curve=Кривая Тумана
settings.Backlight=Подсветка
settings.V-Sync=Вертикальная Синхронизация
settings.Camera Shaking=Тряска Камеры
settings.FOV=Поле Зрения
settings.Mouse Sensitivity=Чувствительность Мыши

View File

@ -15,21 +15,23 @@
#endif
bool is_big_endian(void){
union {
uint32_t i;
char c[4];
} bint = {0x01020304};
uint32_t ui32_v = 0x01020304;
char bytes[sizeof(uint32_t)];
std::memcpy(bytes, &ui32_v, sizeof(uint32_t));
return bint.c[0] == 1;
return bytes[0] == 1;
}
std::int32_t convert_to_int(char* buffer, std::size_t len){
std::int32_t a = 0;
if(!is_big_endian())
if (!is_big_endian()) {
std::memcpy(&a, buffer, len);
else
for(std::size_t i = 0; i < len; ++i)
}
else {
for (std::size_t i = 0; i < len; ++i) {
reinterpret_cast<char*>(&a)[3 - i] = buffer[i];
}
}
return a;
}

View File

@ -1,6 +1,7 @@
#include "panels.h"
#include <stdexcept>
#include <algorithm>
#include "../../window/Window.h"
#include "../../assets/Assets.h"

View File

@ -596,6 +596,19 @@ void create_settings_panel(Engine* engine) {
panel->add(checkbox);
}
/* Camera shaking checkbox */ {
auto checkbox = std::make_shared<FullCheckBox>(
langs::get(L"Camera Shaking", L"settings"), vec2(400, 32)
);
checkbox->setSupplier([=]() {
return engine->getSettings().camera.shaking;
});
checkbox->setConsumer([=](bool checked) {
engine->getSettings().camera.shaking = checked;
});
panel->add(checkbox);
}
std::string langName = langs::locales_info.at(langs::current->getId()).name;
panel->add(guiutil::gotoButton(
langs::get(L"Language", L"settings")+L": "+

View File

@ -1,4 +1,7 @@
#include "Inventories.h"
#include <algorithm>
#include "../world/Level.h"
#include "../world/World.h"
@ -18,7 +21,7 @@ std::shared_ptr<Inventory> Inventories::create(size_t size) {
std::shared_ptr<Inventory> Inventories::createVirtual(size_t size) {
int64_t id;
do {
id = -std::max(1L, std::abs(random.rand64()));
id = -std::max<int64_t>(1LL, std::llabs(random.rand64()));
} while (map.find(id) != map.end());
auto inv = std::make_shared<Inventory>(id, size);