mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-07 20:11:50 +00:00
Merge branch 'main' into animation
This commit is contained in:
commit
8c1d8bd794
24 changed files with 56 additions and 50 deletions
|
|
@ -413,7 +413,7 @@ namespace audio {
|
|||
/// @brief Load audio file info and PCM data
|
||||
/// @param file audio file
|
||||
/// @param headerOnly read header only
|
||||
/// @throws std::runtime_error if I/O error ocurred or format is unknown
|
||||
/// @throws std::runtime_error if I/O error occurred or format is unknown
|
||||
/// @return PCM audio data
|
||||
std::unique_ptr<PCM> load_PCM(const io::path& file, bool headerOnly);
|
||||
|
||||
|
|
@ -421,7 +421,7 @@ namespace audio {
|
|||
/// @param file audio file path
|
||||
/// @param keepPCM store PCM data in sound to make it accessible with
|
||||
/// Sound::getPCM
|
||||
/// @throws std::runtime_error if I/O error ocurred or format is unknown
|
||||
/// @throws std::runtime_error if I/O error occurred or format is unknown
|
||||
/// @return new Sound instance
|
||||
std::unique_ptr<Sound> load_sound(const io::path& file, bool keepPCM);
|
||||
|
||||
|
|
@ -434,7 +434,7 @@ namespace audio {
|
|||
|
||||
/// @brief Open new PCM stream from file
|
||||
/// @param file audio file path
|
||||
/// @throws std::runtime_error if I/O error ocurred or format is unknown
|
||||
/// @throws std::runtime_error if I/O error occurred or format is unknown
|
||||
/// @return new PCMStream instance
|
||||
std::unique_ptr<PCMStream> open_PCM_stream(const io::path& file);
|
||||
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ public:
|
|||
return 0;
|
||||
}
|
||||
if (in.fail()) {
|
||||
logger.error() << "Wav::load_pcm: I/O error ocurred";
|
||||
logger.error() << "Wav::load_pcm: I/O error occurred";
|
||||
return -1;
|
||||
}
|
||||
return in.gcount();
|
||||
|
|
|
|||
|
|
@ -119,7 +119,7 @@ class Hud : public util::ObjectsKeeper {
|
|||
/// @brief Allow actual pause
|
||||
bool allowPause = true;
|
||||
bool debug = false;
|
||||
/// @brief UI element will be dynamicly positioned near to inventory or in screen center
|
||||
/// @brief UI element will be dynamically positioned near to inventory or in screen center
|
||||
std::shared_ptr<gui::UINode> secondUI;
|
||||
|
||||
std::shared_ptr<gui::UINode> debugMinimap;
|
||||
|
|
|
|||
|
|
@ -145,6 +145,9 @@ private:
|
|||
|
||||
// Does block allow to see other blocks sides (is it transparent)
|
||||
bool isOpen(const glm::ivec3& pos, const Block& def, const Variant& variant) const {
|
||||
if (pos.y >= CHUNK_H) {
|
||||
return true;
|
||||
}
|
||||
const auto& vox = voxelsBuffer->pickBlock(
|
||||
chunk->x * CHUNK_W + pos.x, pos.y, chunk->z * CHUNK_D + pos.z
|
||||
);
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ namespace gui {
|
|||
virtual ~BasePanel() = default;
|
||||
|
||||
virtual void setOrientation(Orientation orientation) {
|
||||
this->mainScrollDir = orientation;
|
||||
this->orientation = orientation;
|
||||
refresh();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -114,7 +114,7 @@ void Container::act(float delta) {
|
|||
|
||||
void Container::scrolled(int value) {
|
||||
auto size = getSize();
|
||||
bool isVertical = actualLengthY > size.y;
|
||||
bool isVertical = mainScrollDir == Orientation::VERTICAL;
|
||||
int diff = (isVertical ? actualLengthY - size.y : actualLengthX - size.x);
|
||||
int& scroll = (isVertical ? scrollY : scrollX);
|
||||
|
||||
|
|
@ -245,6 +245,7 @@ void Container::setSize(const glm::vec2& size) {
|
|||
for (auto& node : nodes) {
|
||||
node->reposition();
|
||||
}
|
||||
scrolled(0);
|
||||
}
|
||||
|
||||
int Container::getScrollStep() const {
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ namespace gui {
|
|||
int actualLengthY = 0;
|
||||
int actualLengthX = 0;
|
||||
bool scrollable = true;
|
||||
Orientation mainScrollDir = Orientation::VERTICAL;
|
||||
|
||||
bool isScrolling() const {
|
||||
return scrollbarTriggered;
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ static std::unique_ptr<xml::xmlelement> toxml(lua::State* L) {
|
|||
break;
|
||||
}
|
||||
auto key = lua::require_lstring(L, -1);
|
||||
if (key == "@") {
|
||||
if (key == TAG_ATTR) {
|
||||
break;
|
||||
}
|
||||
auto value = lua::require_lstring(L, -2);
|
||||
|
|
|
|||
|
|
@ -323,7 +323,7 @@ namespace lua {
|
|||
|
||||
if (found == usertypeNames.end()) {
|
||||
log_error(
|
||||
"usertype is not registred: " + std::string(typeid(T).name())
|
||||
"usertype is not registered: " + std::string(typeid(T).name())
|
||||
);
|
||||
} else if (getglobal(L, found->second)) {
|
||||
setmetatable(L);
|
||||
|
|
|
|||
|
|
@ -128,11 +128,10 @@ static int l_noise(lua::State* L) {
|
|||
}
|
||||
|
||||
float noiseValue = fnlGetNoise2D(noise, u, v);
|
||||
float t = 1.0f / static_cast<float>(1 << c) * multiplier;
|
||||
if (normalizedNoise) {
|
||||
float t = 1.0f / (static_cast<float>(1 << c) * multiplier);
|
||||
value = value * (1.0f - t) + noiseValue * t;
|
||||
} else {
|
||||
float t = 1.0f / static_cast<float>(1 << c) * multiplier;
|
||||
value += noiseValue * t;
|
||||
}
|
||||
heights[i] = value;
|
||||
|
|
|
|||
|
|
@ -161,7 +161,7 @@ public:
|
|||
state = ConnectionState::CLOSED;
|
||||
break;
|
||||
} else if (size < 0) {
|
||||
logger.warning() << "an error ocurred while receiving from "
|
||||
logger.warning() << "an error occurred while receiving from "
|
||||
<< to_string(addr);
|
||||
auto error = handle_socket_error("recv(...) error");
|
||||
closesocket(descriptor);
|
||||
|
|
|
|||
|
|
@ -8,10 +8,10 @@
|
|||
#include "util/EnumMetadata.hpp"
|
||||
|
||||
enum class ParticleSpawnShape {
|
||||
/// @brief Coordinates are regulary distributed within
|
||||
/// @brief Coordinates are regularly distributed within
|
||||
/// the volume of a ball.
|
||||
BALL = 0,
|
||||
/// @brief Coordinates are regulary distributed on
|
||||
/// @brief Coordinates are regularly distributed on
|
||||
/// a sphere.
|
||||
SPHERE,
|
||||
/// @brief Coordinates are uniform distributed within
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ namespace util {
|
|||
|
||||
/// @brief Simple heap implementation for memory-optimal sparse array of
|
||||
/// small different structures
|
||||
/// @note alignment is not impemented
|
||||
/// @note alignment is not implemented
|
||||
/// (impractical in the context of scripting and memory consumption)
|
||||
/// @tparam Tindex entry index type
|
||||
/// @tparam Tsize entry size type
|
||||
|
|
|
|||
|
|
@ -323,7 +323,7 @@ void WorldRegions::processBlocksData(int x, int z, const BlockDataProc& func) {
|
|||
try {
|
||||
func(&blocksData, std::move(voxData));
|
||||
} catch (const std::exception& err) {
|
||||
logger.error() << "an error ocurred while processing blocks "
|
||||
logger.error() << "an error occurred while processing blocks "
|
||||
"data in chunk (" << gx << ", " << gz << "): " << err.what();
|
||||
blocksData = {};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue