From 8658a170bc4514208c98f8d899079de0f9b77f77 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Thu, 7 Mar 2024 10:55:19 +0300 Subject: [PATCH 01/13] BlockMaterial struct + minor refactor and docs --- src/content/Content.cpp | 37 +++++++++++----------- src/content/Content.h | 20 +++++++----- src/content/ContentLUT.h | 6 ++-- src/voxels/Block.h | 66 ++++++++++++++++++++++++++++++++-------- 4 files changed, 86 insertions(+), 43 deletions(-) diff --git a/src/content/Content.cpp b/src/content/Content.cpp index 99db7f5c..db574e17 100644 --- a/src/content/Content.cpp +++ b/src/content/Content.cpp @@ -10,8 +10,7 @@ #include "ContentPack.h" #include "../logic/scripting/scripting.h" -ContentBuilder::~ContentBuilder() { -} +ContentBuilder::~ContentBuilder() {} void ContentBuilder::add(Block* def) { checkIdentifier(def->name); @@ -127,25 +126,25 @@ Content* ContentBuilder::build() { ContentIndices::ContentIndices( std::vector blockDefs, - std::vector itemDefs) - : blockDefs(blockDefs), - itemDefs(itemDefs) { -} + std::vector itemDefs +) : blockDefs(blockDefs), + itemDefs(itemDefs) +{} -Content::Content(ContentIndices* indices, - std::unique_ptr drawGroups, - std::unordered_map blockDefs, - std::unordered_map itemDefs, - std::unordered_map> packs) - : blockDefs(blockDefs), - itemDefs(itemDefs), - indices(indices), - packs(std::move(packs)), - drawGroups(std::move(drawGroups)) { -} +Content::Content( + ContentIndices* indices, + std::unique_ptr drawGroups, + std::unordered_map blockDefs, + std::unordered_map itemDefs, + std::unordered_map> packs +) : blockDefs(blockDefs), + itemDefs(itemDefs), + indices(indices), + packs(std::move(packs)), + drawGroups(std::move(drawGroups)) +{} -Content::~Content() { -} +Content::~Content() {} Block* Content::findBlock(std::string id) const { auto found = blockDefs.find(id); diff --git a/src/content/Content.h b/src/content/Content.h index 01921b9b..9f201fa9 100644 --- a/src/content/Content.h +++ b/src/content/Content.h @@ -65,13 +65,15 @@ public: Content* build(); }; -/* Runtime defs cache: indices */ +/// @brief Runtime defs cache: indices class ContentIndices { std::vector blockDefs; std::vector itemDefs; public: - ContentIndices(std::vector blockDefs, - std::vector itemDefs); + ContentIndices( + std::vector blockDefs, + std::vector itemDefs + ); inline Block* getBlockDef(blockid_t id) const { if (id >= blockDefs.size()) @@ -112,11 +114,13 @@ class Content { public: std::unique_ptr const drawGroups; - Content(ContentIndices* indices, - std::unique_ptr drawGroups, - std::unordered_map blockDefs, - std::unordered_map itemDefs, - std::unordered_map> packs); + Content( + ContentIndices* indices, + std::unique_ptr drawGroups, + std::unordered_map blockDefs, + std::unordered_map itemDefs, + std::unordered_map> packs + ); ~Content(); inline ContentIndices* getIndices() const { diff --git a/src/content/ContentLUT.h b/src/content/ContentLUT.h index 6219c696..8b3f5886 100644 --- a/src/content/ContentLUT.h +++ b/src/content/ContentLUT.h @@ -19,9 +19,9 @@ struct contententry { // TODO: make it unified for all types of content -/* Content indices lookup table or report - used to convert world with different indices - Building with indices.json */ +/// @brief Content indices lookup table or report +/// used to convert world with different indices +/// Building with indices.json class ContentLUT { std::vector blocks; std::vector blockNames; diff --git a/src/voxels/Block.h b/src/voxels/Block.h index d0403261..8d941d00 100644 --- a/src/voxels/Block.h +++ b/src/voxels/Block.h @@ -43,11 +43,8 @@ struct CoordSystem { void transform(AABB& aabb) const; - static bool isVectorHasNegatives(glm::ivec3 vec) { - if (vec.x < 0 || vec.y < 0 || vec.z < 0) { - return true; - } - else return false; + inline bool isVectorHasNegatives(glm::ivec3 vec) { + return (vec.x < 0 || vec.y < 0 || vec.z < 0); } }; @@ -56,56 +53,99 @@ struct BlockRotProfile { std::string name; CoordSystem variants[MAX_COUNT]; - /* Wood logs, pillars, pipes */ + /// @brief Wood logs, pillars, pipes static const BlockRotProfile PIPE; - /* Doors, signs and other panes */ + /// @brief Doors, signs and other panes static const BlockRotProfile PANE; }; enum class BlockModel { - none, // invisible - block, // default shape - xsprite, // X-shape (grass) - aabb, // box shaped as block hitbox + /// @brief invisible + none, + /// @brief default cube shape + block, + /// @brief X-shape (grass) + xsprite, + /// @brief box shape sized as block hitbox + aabb, + /// @brief custom model defined in json custom }; using BoxModel = AABB; + +/// @brief Common kit of block properties applied to groups of blocks +struct BlockMaterial { + std::string name; + std::string stepsSound; + std::string placeSound; + std::string breakSound; +}; + +/// @brief Block properties definition class Block { public: + /// @brief Block string id (with prefix included) std::string const name; - // 0 1 2 3 4 5 + /// @brief Textures set applied to block sides std::string textureFaces[6]; // -x,x, -y,y, -z,z + std::vector modelTextures = {}; std::vector modelBoxes = {}; std::vector modelExtraPoints = {}; //initially made for tetragons std::vector modelUVs = {}; // boxes' tex-UVs also there + + /// @brief Light emission R, G, B, S (sky lights: sun, moon, radioactive clouds) uint8_t emission[4] {0, 0, 0, 0}; + /// @brief Influences visible block sides for transparent blocks uint8_t drawGroup = 0; + /// @brief Block model type BlockModel model = BlockModel::block; + /// @brief Does the block passing lights into itself bool lightPassing = false; + /// @brief Does the block passing top-down sky lights into itself bool skyLightPassing = false; + /// @brief Is the block a physical obstacle bool obstacle = true; + /// @brief Can the block be selected bool selectable = true; + /// @brief Can the block be replaced with other. + /// Examples of replaceable blocks: air, flower, water bool replaceable = false; + /// @brief Can player destroy the block bool breakable = true; + /// @brief Can the block be oriented different ways bool rotatable = false; + /// @brief Can the block exist without physical support be a solid block below bool grounded = false; + /// @brief Turns off block item generation bool hidden = false; + /// @brief Set of block physical hitboxes std::vector hitboxes; + /// @brief Set of available block rotations (coord-systems) BlockRotProfile rotations; + /// @brief Item will be picked on MMB click on the block std::string pickingItem = name+BLOCK_ITEM_SUFFIX; - std::string scriptName = name.substr(name.find(':')+1); + /// @brief Block script name in blocks/ without extension + std::string scriptName = name.substr(name.find(':')+1); + /// @brief Default block layout will be used by hud.open_block(...) std::string uiLayout = name; + /// @brief Block inventory size. 0 - no inventory uint inventorySize = 0; struct { + /// @brief block runtime integer id blockid_t id; + /// @brief is the block completely opaque for render and raycast bool solid = true; + /// @brief does the block emit any lights bool emissive = false; + /// @brief set of hitboxes sets with all coord-systems precalculated std::vector hitboxes[BlockRotProfile::MAX_COUNT]; + /// @brief set of block callbacks flags block_funcs_set funcsset {}; + /// @brief picking item integer id itemid_t pickingItem = 0; } rt; From 547c80b3f08109a65233a45c3c179c52e8ef717f Mon Sep 17 00:00:00 2001 From: MihailRis Date: Thu, 7 Mar 2024 11:11:40 +0300 Subject: [PATCH 02/13] Player.cpp indents fix --- src/objects/Player.cpp | 278 ++++++++++++++++++++--------------------- 1 file changed, 139 insertions(+), 139 deletions(-) diff --git a/src/objects/Player.cpp b/src/objects/Player.cpp index 93b294cd..42900c84 100644 --- a/src/objects/Player.cpp +++ b/src/objects/Player.cpp @@ -19,14 +19,14 @@ const float CHEAT_SPEED_MUL = 5.0f; const float JUMP_FORCE = 8.0f; Player::Player(glm::vec3 position, float speed, std::shared_ptr inv) : - speed(speed), - chosenSlot(0), - inventory(inv), - camera(new Camera(position, glm::radians(90.0f))), - spCamera(new Camera(position, glm::radians(90.0f))), - tpCamera(new Camera(position, glm::radians(90.0f))), + speed(speed), + chosenSlot(0), + inventory(inv), + camera(new Camera(position, glm::radians(90.0f))), + spCamera(new Camera(position, glm::radians(90.0f))), + tpCamera(new Camera(position, glm::radians(90.0f))), currentCamera(camera), - hitbox(new Hitbox(position, glm::vec3(0.3f,0.9f,0.3f))) + hitbox(new Hitbox(position, glm::vec3(0.3f,0.9f,0.3f))) { } @@ -34,116 +34,116 @@ Player::~Player() { } void Player::updateInput( - Level* level, - PlayerInput& input, - float delta) { - bool crouch = input.shift && hitbox->grounded && !input.sprint; - float speed = this->speed; - if (flight){ - speed *= FLIGHT_SPEED_MUL; - } - if (input.cheat){ - speed *= CHEAT_SPEED_MUL; - } + Level* level, + PlayerInput& input, + float delta) { + bool crouch = input.shift && hitbox->grounded && !input.sprint; + float speed = this->speed; + if (flight){ + speed *= FLIGHT_SPEED_MUL; + } + if (input.cheat){ + speed *= CHEAT_SPEED_MUL; + } - if (crouch) { - speed *= CROUCH_SPEED_MUL; - } else if (input.sprint) { - speed *= RUN_SPEED_MUL; - } + if (crouch) { + speed *= CROUCH_SPEED_MUL; + } else if (input.sprint) { + speed *= RUN_SPEED_MUL; + } - glm::vec3 dir(0,0,0); - if (input.moveForward){ - dir.x += camera->dir.x; - dir.z += camera->dir.z; - } - if (input.moveBack){ - dir.x -= camera->dir.x; - dir.z -= camera->dir.z; - } - if (input.moveRight){ - dir.x += camera->right.x; - dir.z += camera->right.z; - } - if (input.moveLeft){ - dir.x -= camera->right.x; - dir.z -= camera->right.z; - } - if (glm::length(dir) > 0.0f){ - dir = glm::normalize(dir); - hitbox->velocity.x += dir.x * speed * delta * 9; - hitbox->velocity.z += dir.z * speed * delta * 9; - } + glm::vec3 dir(0,0,0); + if (input.moveForward){ + dir.x += camera->dir.x; + dir.z += camera->dir.z; + } + if (input.moveBack){ + dir.x -= camera->dir.x; + dir.z -= camera->dir.z; + } + if (input.moveRight){ + dir.x += camera->right.x; + dir.z += camera->right.z; + } + if (input.moveLeft){ + dir.x -= camera->right.x; + dir.z -= camera->right.z; + } + if (glm::length(dir) > 0.0f){ + dir = glm::normalize(dir); + hitbox->velocity.x += dir.x * speed * delta * 9; + hitbox->velocity.z += dir.z * speed * delta * 9; + } float vel = std::max(glm::length(hitbox->velocity * 0.25f), 1.0f); - int substeps = int(delta * vel * 1000); - substeps = std::min(100, std::max(1, substeps)); - level->physics->step(level->chunks.get(), hitbox.get(), - delta, substeps, - crouch, flight ? 0.0f : 1.0f, - !noclip); + int substeps = int(delta * vel * 1000); + substeps = std::min(100, std::max(1, substeps)); + level->physics->step(level->chunks.get(), hitbox.get(), + delta, substeps, + crouch, flight ? 0.0f : 1.0f, + !noclip); - if (flight && hitbox->grounded) { - flight = false; - } + if (flight && hitbox->grounded) { + flight = false; + } - if (input.jump && hitbox->grounded){ - hitbox->velocity.y = JUMP_FORCE; - } + if (input.jump && hitbox->grounded){ + hitbox->velocity.y = JUMP_FORCE; + } - if ((input.flight && !noclip) || - (input.noclip && flight == noclip)){ - flight = !flight; - if (flight){ - hitbox->grounded = false; - } - } - if (input.noclip) { - noclip = !noclip; - } + if ((input.flight && !noclip) || + (input.noclip && flight == noclip)){ + flight = !flight; + if (flight){ + hitbox->grounded = false; + } + } + if (input.noclip) { + noclip = !noclip; + } - hitbox->linear_damping = PLAYER_GROUND_DAMPING; - if (flight){ - hitbox->linear_damping = PLAYER_AIR_DAMPING; - hitbox->velocity.y *= 1.0f - delta * 9; - if (input.jump){ - hitbox->velocity.y += speed * delta * 9; - } - if (input.shift){ - hitbox->velocity.y -= speed * delta * 9; - } - } - if (!hitbox->grounded) { - hitbox->linear_damping = PLAYER_AIR_DAMPING; - } + hitbox->linear_damping = PLAYER_GROUND_DAMPING; + if (flight){ + hitbox->linear_damping = PLAYER_AIR_DAMPING; + hitbox->velocity.y *= 1.0f - delta * 9; + if (input.jump){ + hitbox->velocity.y += speed * delta * 9; + } + if (input.shift){ + hitbox->velocity.y -= speed * delta * 9; + } + } + if (!hitbox->grounded) { + hitbox->linear_damping = PLAYER_AIR_DAMPING; + } - input.noclip = false; - input.flight = false; + input.noclip = false; + input.flight = false; - if (spawnpoint.y <= 0.1) { - attemptToFindSpawnpoint(level); - } + if (spawnpoint.y <= 0.1) { + attemptToFindSpawnpoint(level); + } } void Player::teleport(glm::vec3 position) { - hitbox->position = position; + hitbox->position = position; } void Player::attemptToFindSpawnpoint(Level* level) { - glm::vec3 ppos = hitbox->position; - glm::vec3 newpos {ppos.x + (rand() % 200 - 100), - rand() % 80 + 100, - ppos.z + (rand() % 200 - 100)}; - while (newpos.y > 0 && !level->chunks->isObstacleBlock(newpos.x, newpos.y-2, newpos.z)) { - newpos.y--; - } + glm::vec3 ppos = hitbox->position; + glm::vec3 newpos {ppos.x + (rand() % 200 - 100), + rand() % 80 + 100, + ppos.z + (rand() % 200 - 100)}; + while (newpos.y > 0 && !level->chunks->isObstacleBlock(newpos.x, newpos.y-2, newpos.z)) { + newpos.y--; + } - voxel* headvox = level->chunks->get(newpos.x, newpos.y+1, newpos.z); - if (level->chunks->isObstacleBlock(newpos.x, newpos.y, newpos.z) || - headvox == nullptr || headvox->id != 0) - return; - spawnpoint = newpos + glm::vec3(0.5f, 0.0f, 0.5f); - teleport(spawnpoint); + voxel* headvox = level->chunks->get(newpos.x, newpos.y+1, newpos.z); + if (level->chunks->isObstacleBlock(newpos.x, newpos.y, newpos.z) || + headvox == nullptr || headvox->id != 0) + return; + spawnpoint = newpos + glm::vec3(0.5f, 0.0f, 0.5f); + teleport(spawnpoint); } void Player::setChosenSlot(int index) { @@ -155,7 +155,7 @@ int Player::getChosenSlot() const { } float Player::getSpeed() const { - return speed; + return speed; } std::shared_ptr Player::getInventory() const { @@ -163,62 +163,62 @@ std::shared_ptr Player::getInventory() const { } void Player::setSpawnPoint(glm::vec3 spawnpoint) { - this->spawnpoint = spawnpoint; + this->spawnpoint = spawnpoint; } glm::vec3 Player::getSpawnPoint() const { - return spawnpoint; + return spawnpoint; } std::unique_ptr Player::serialize() const { - glm::vec3 position = hitbox->position; - auto root = std::make_unique(); - auto& posarr = root->putList("position"); - posarr.put(position.x); - posarr.put(position.y); - posarr.put(position.z); + glm::vec3 position = hitbox->position; + auto root = std::make_unique(); + auto& posarr = root->putList("position"); + posarr.put(position.x); + posarr.put(position.y); + posarr.put(position.z); - auto& rotarr = root->putList("rotation"); - rotarr.put(cam.x); - rotarr.put(cam.y); + auto& rotarr = root->putList("rotation"); + rotarr.put(cam.x); + rotarr.put(cam.y); - auto& sparr = root->putList("spawnpoint"); - sparr.put(spawnpoint.x); - sparr.put(spawnpoint.y); - sparr.put(spawnpoint.z); + auto& sparr = root->putList("spawnpoint"); + sparr.put(spawnpoint.x); + sparr.put(spawnpoint.y); + sparr.put(spawnpoint.z); - root->put("flight", flight); - root->put("noclip", noclip); + root->put("flight", flight); + root->put("noclip", noclip); root->put("chosen-slot", chosenSlot); root->put("inventory", inventory->serialize().release()); return root; } void Player::deserialize(dynamic::Map *src) { - auto posarr = src->list("position"); - glm::vec3& position = hitbox->position; - position.x = posarr->num(0); - position.y = posarr->num(1); - position.z = posarr->num(2); - camera->position = position; + auto posarr = src->list("position"); + glm::vec3& position = hitbox->position; + position.x = posarr->num(0); + position.y = posarr->num(1); + position.z = posarr->num(2); + camera->position = position; - auto rotarr = src->list("rotation"); - cam.x = rotarr->num(0); - cam.y = rotarr->num(1); + auto rotarr = src->list("rotation"); + cam.x = rotarr->num(0); + cam.y = rotarr->num(1); - if (src->has("spawnpoint")) { - auto sparr = src->list("spawnpoint"); - setSpawnPoint(glm::vec3( - sparr->num(0), - sparr->num(1), - sparr->num(2) - )); - } else { - setSpawnPoint(position); - } + if (src->has("spawnpoint")) { + auto sparr = src->list("spawnpoint"); + setSpawnPoint(glm::vec3( + sparr->num(0), + sparr->num(1), + sparr->num(2) + )); + } else { + setSpawnPoint(position); + } - src->flag("flight", flight); - src->flag("noclip", noclip); + src->flag("flight", flight); + src->flag("noclip", noclip); setChosenSlot(src->getInt("chosen-slot", getChosenSlot())); auto invmap = src->map("inventory"); From 7ca410b24d011911d43aa1828a31d44212f52188 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Thu, 7 Mar 2024 11:25:10 +0300 Subject: [PATCH 03/13] minor reformat --- src/objects/Player.cpp | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/src/objects/Player.cpp b/src/objects/Player.cpp index 42900c84..cd787113 100644 --- a/src/objects/Player.cpp +++ b/src/objects/Player.cpp @@ -19,14 +19,14 @@ const float CHEAT_SPEED_MUL = 5.0f; const float JUMP_FORCE = 8.0f; Player::Player(glm::vec3 position, float speed, std::shared_ptr inv) : - speed(speed), - chosenSlot(0), - inventory(inv), - camera(new Camera(position, glm::radians(90.0f))), - spCamera(new Camera(position, glm::radians(90.0f))), - tpCamera(new Camera(position, glm::radians(90.0f))), - currentCamera(camera), - hitbox(new Hitbox(position, glm::vec3(0.3f,0.9f,0.3f))) + speed(speed), + chosenSlot(0), + inventory(inv), + camera(std::make_shared(position, glm::radians(90.0f))), + spCamera(std::make_shared(position, glm::radians(90.0f))), + tpCamera(std::make_shared(position, glm::radians(90.0f))), + currentCamera(camera), + hitbox(std::make_unique(position, glm::vec3(0.3f,0.9f,0.3f))) { } @@ -78,10 +78,15 @@ void Player::updateInput( float vel = std::max(glm::length(hitbox->velocity * 0.25f), 1.0f); int substeps = int(delta * vel * 1000); substeps = std::min(100, std::max(1, substeps)); - level->physics->step(level->chunks.get(), hitbox.get(), - delta, substeps, - crouch, flight ? 0.0f : 1.0f, - !noclip); + level->physics->step( + level->chunks.get(), + hitbox.get(), + delta, + substeps, + crouch, + flight ? 0.0f : 1.0f, + !noclip + ); if (flight && hitbox->grounded) { flight = false; @@ -131,9 +136,11 @@ void Player::teleport(glm::vec3 position) { void Player::attemptToFindSpawnpoint(Level* level) { glm::vec3 ppos = hitbox->position; - glm::vec3 newpos {ppos.x + (rand() % 200 - 100), - rand() % 80 + 100, - ppos.z + (rand() % 200 - 100)}; + glm::vec3 newpos ( + ppos.x + (rand() % 200 - 100), + rand() % 80 + 100, + ppos.z + (rand() % 200 - 100) + ); while (newpos.y > 0 && !level->chunks->isObstacleBlock(newpos.x, newpos.y-2, newpos.z)) { newpos.y--; } From d47732ee68028cd45f77b6954ecd4907316502ba Mon Sep 17 00:00:00 2001 From: MihailRis Date: Sat, 9 Mar 2024 00:22:59 +0300 Subject: [PATCH 04/13] PlayerController.h indent fix --- src/logic/PlayerController.cpp | 10 +++---- src/logic/PlayerController.h | 54 +++++++++++++++++----------------- src/voxels/Block.cpp | 10 +++---- 3 files changed, 36 insertions(+), 38 deletions(-) diff --git a/src/logic/PlayerController.cpp b/src/logic/PlayerController.cpp index 1ebe8d0a..1479b6f5 100644 --- a/src/logic/PlayerController.cpp +++ b/src/logic/PlayerController.cpp @@ -32,11 +32,11 @@ const float CROUCH_SHIFT_Y = -0.2f; CameraControl::CameraControl(std::shared_ptr player, const CameraSettings& settings) - : player(player), - camera(player->camera), - currentViewCamera(player->currentCamera), - settings(settings), - offset(0.0f, 0.7f, 0.0f) { + : player(player), + camera(player->camera), + currentViewCamera(player->currentCamera), + settings(settings), + offset(0.0f, 0.7f, 0.0f) { } void CameraControl::refresh() { diff --git a/src/logic/PlayerController.h b/src/logic/PlayerController.h index 2bf3c437..e1ae47e4 100644 --- a/src/logic/PlayerController.h +++ b/src/logic/PlayerController.h @@ -12,43 +12,43 @@ class Level; class BlocksController; class CameraControl { - std::shared_ptr player; - std::shared_ptr camera, currentViewCamera; - const CameraSettings& settings; - glm::vec3 offset; - float shake = 0.0f; - float shakeTimer = 0.0f; - glm::vec3 interpVel {0.0f}; + std::shared_ptr player; + std::shared_ptr camera, currentViewCamera; + const CameraSettings& settings; + glm::vec3 offset; + float shake = 0.0f; + float shakeTimer = 0.0f; + glm::vec3 interpVel {0.0f}; public: - CameraControl(std::shared_ptr player, const CameraSettings& settings); - void updateMouse(PlayerInput& input); - void update(PlayerInput& input, float delta, Chunks* chunks); - void refresh(); + CameraControl(std::shared_ptr player, const CameraSettings& settings); + void updateMouse(PlayerInput& input); + void update(PlayerInput& input, float delta, Chunks* chunks); + void refresh(); }; class PlayerController { - Level* level; - std::shared_ptr player; - PlayerInput input; - CameraControl camControl; + Level* level; + std::shared_ptr player; + PlayerInput input; + CameraControl camControl; BlocksController* blocksController; - void updateKeyboard(); - void updateCamera(float delta, bool movement); - void resetKeyboard(); - void updateControls(float delta); - void updateInteraction(); + void updateKeyboard(); + void updateCamera(float delta, bool movement); + void resetKeyboard(); + void updateControls(float delta); + void updateInteraction(); public: - static glm::vec3 selectedBlockPosition; - static glm::ivec3 selectedBlockNormal; - static glm::vec3 selectedPointPosition; - static int selectedBlockId; - static int selectedBlockStates; + static glm::vec3 selectedBlockPosition; + static glm::ivec3 selectedBlockNormal; + static glm::vec3 selectedPointPosition; + static int selectedBlockId; + static int selectedBlockStates; - PlayerController(Level* level, + PlayerController(Level* level, const EngineSettings& settings, BlocksController* blocksController); - void update(float delta, bool input, bool pause); + void update(float delta, bool input, bool pause); Player* getPlayer(); }; diff --git a/src/voxels/Block.cpp b/src/voxels/Block.cpp index 0b3491bd..dd4ff3bf 100644 --- a/src/voxels/Block.cpp +++ b/src/voxels/Block.cpp @@ -2,10 +2,8 @@ #include "../core_defs.h" -using glm::vec3; - CoordSystem::CoordSystem(glm::ivec3 axisX, glm::ivec3 axisY, glm::ivec3 axisZ) - : axisX(axisX), axisY(axisY), axisZ(axisZ) + : axisX(axisX), axisY(axisY), axisZ(axisZ) { fix = glm::ivec3(0); if (isVectorHasNegatives(axisX)) fix -= axisX; @@ -14,9 +12,9 @@ CoordSystem::CoordSystem(glm::ivec3 axisX, glm::ivec3 axisY, glm::ivec3 axisZ) } void CoordSystem::transform(AABB& aabb) const { - vec3 X(axisX); - vec3 Y(axisY); - vec3 Z(axisZ); + glm::vec3 X(axisX); + glm::vec3 Y(axisY); + glm::vec3 Z(axisZ); aabb.a = X * aabb.a.x + Y * aabb.a.y + Z * aabb.a.z; aabb.b = X * aabb.b.x + Y * aabb.b.y + Z * aabb.b.z; aabb.a += fix; From 87dd1dd6b2450dd1d27cc272262f8da40a555cd4 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Sat, 9 Mar 2024 01:56:45 +0300 Subject: [PATCH 05/13] player blocks interaction callbacks --- src/logic/PlayerController.cpp | 201 ++++++++++++++++++++++++--------- src/logic/PlayerController.h | 49 +++++++- 2 files changed, 194 insertions(+), 56 deletions(-) diff --git a/src/logic/PlayerController.cpp b/src/logic/PlayerController.cpp index 58763cec..8d5c3add 100644 --- a/src/logic/PlayerController.cpp +++ b/src/logic/PlayerController.cpp @@ -20,10 +20,14 @@ #include "../core_defs.h" +#define _USE_MATH_DEFINES +#include + const float CAM_SHAKE_OFFSET = 0.025f; const float CAM_SHAKE_OFFSET_Y = 0.031f; const float CAM_SHAKE_SPEED = 1.75f; const float CAM_SHAKE_DELTA_K = 10.0f; +const float STEPS_SPEED = 1.75f; const float ZOOM_SPEED = 16.0f; const float CROUCH_ZOOM = 0.9f; const float RUN_ZOOM = 1.1f; @@ -33,8 +37,7 @@ const float CROUCH_SHIFT_Y = -0.2f; CameraControl::CameraControl(std::shared_ptr player, const CameraSettings& settings) : player(player), - camera(player->camera), - currentViewCamera(player->currentCamera), + camera(player->camera), settings(settings), offset(0.0f, 0.7f, 0.0f) { } @@ -46,7 +49,10 @@ void CameraControl::refresh() { void CameraControl::updateMouse(PlayerInput& input) { glm::vec2& cam = player->cam; - float sensitivity = (input.zoom ? settings.sensitivity / 4.f : settings.sensitivity); + float sensitivity = (input.zoom + ? settings.sensitivity / 4.f + : settings.sensitivity); + cam -= glm::degrees(Events::delta / (float)Window::height * sensitivity); if (cam.y < -89.9f) { @@ -66,66 +72,93 @@ void CameraControl::updateMouse(PlayerInput& input) { camera->rotate(glm::radians(cam.y), glm::radians(cam.x), 0); } -void CameraControl::update(PlayerInput& input, float delta, Chunks* chunks) { - Hitbox* hitbox = player->hitbox.get(); +glm::vec3 CameraControl::updateCameraShaking(float delta) { + glm::vec3 offset {}; + auto hitbox = player->hitbox.get(); + const float k = CAM_SHAKE_DELTA_K; + const float oh = CAM_SHAKE_OFFSET; + const float ov = CAM_SHAKE_OFFSET_Y; + const glm::vec3& vel = hitbox->velocity; + interpVel = interpVel * (1.0f - delta * 5) + vel * delta * 0.1f; + if (hitbox->grounded && interpVel.y < 0.0f){ + interpVel.y *= -30.0f; + } + shake = shake * (1.0f - delta * k); + if (hitbox->grounded) { + float f = glm::length(glm::vec2(vel.x, vel.z)); + shakeTimer += delta * f * CAM_SHAKE_SPEED; + shake += f * delta * k; + } + offset += camera->right * glm::sin(shakeTimer) * oh * shake; + offset += camera->up * glm::abs(glm::cos(shakeTimer)) * ov * shake; + offset -= glm::min(interpVel * 0.05f, 1.0f); + return offset; +} + +void CameraControl::updateFovEffects(const PlayerInput& input, float delta) { + auto hitbox = player->hitbox.get(); + bool crouch = input.shift && hitbox->grounded && !input.sprint; + + float dt = fmin(1.0f, delta * ZOOM_SPEED); + float zoomValue = 1.0f; + if (crouch){ + offset += glm::vec3(0.f, CROUCH_SHIFT_Y, 0.f); + zoomValue = CROUCH_ZOOM; + } else if (input.sprint){ + zoomValue = RUN_ZOOM; + } + if (input.zoom) + zoomValue *= C_ZOOM; + camera->zoom = zoomValue * dt + camera->zoom * (1.0f - dt); +} + +// temporary solution +// more extensible but uglier +void CameraControl::switchCamera() { + const std::vector> playerCameras { + camera, player->tpCamera, player->spCamera + }; + + auto index = std::distance( + playerCameras.begin(), + std::find_if( + playerCameras.begin(), + playerCameras.end(), + [=](auto ptr) { + return ptr.get() == player->currentCamera.get(); + } + ) + ); + if (static_cast(index) != playerCameras.size()) { + index = (index + 1) % playerCameras.size(); + player->currentCamera = playerCameras.at(index); + } +} + +void CameraControl::update(PlayerInput& input, float delta, Chunks* chunks) { offset = glm::vec3(0.0f, 0.7f, 0.0f); if (settings.shaking && !input.cheat) { - const float k = CAM_SHAKE_DELTA_K; - const float oh = CAM_SHAKE_OFFSET; - const float ov = CAM_SHAKE_OFFSET_Y; - const glm::vec3& vel = hitbox->velocity; - - interpVel = interpVel * (1.0f - delta * 5) + vel * delta * 0.1f; - if (hitbox->grounded && interpVel.y < 0.0f){ - interpVel.y *= -30.0f; - } - shake = shake * (1.0f - delta * k); - if (hitbox->grounded) { - float f = glm::length(glm::vec2(vel.x, vel.z)); - shakeTimer += delta * f * CAM_SHAKE_SPEED; - shake += f * delta * k; - } - offset += camera->right * glm::sin(shakeTimer) * oh * shake; - offset += camera->up * glm::abs(glm::cos(shakeTimer)) * ov * shake; - offset -= glm::min(interpVel * 0.05f, 1.0f); + offset += updateCameraShaking(delta); } - if (settings.fovEvents){ - bool crouch = input.shift && hitbox->grounded && !input.sprint; - - float dt = fmin(1.0f, delta * ZOOM_SPEED); - float zoomValue = 1.0f; - if (crouch){ - offset += glm::vec3(0.f, CROUCH_SHIFT_Y, 0.f); - zoomValue = CROUCH_ZOOM; - } else if (input.sprint){ - zoomValue = RUN_ZOOM; - } - if (input.zoom) - zoomValue *= C_ZOOM; - camera->zoom = zoomValue * dt + camera->zoom * (1.0f - dt); + updateFovEffects(input, delta); + } + if (input.cameraMode) { + switchCamera(); } auto spCamera = player->spCamera; auto tpCamera = player->tpCamera; - if (input.cameraMode) { //ugly but effective - if (player->currentCamera == camera) - player->currentCamera = tpCamera; - else if (player->currentCamera == spCamera) - player->currentCamera = camera; - else if (player->currentCamera == tpCamera) - player->currentCamera = spCamera; - } if (player->currentCamera == spCamera) { - spCamera->position = chunks->rayCastToObstacle(camera->position, camera->front, 3.0f) - 0.2f*(camera->front); + spCamera->position = chunks->rayCastToObstacle(camera->position, camera->front, 3.0f) - 0.2f * camera->front; spCamera->dir = -camera->dir; spCamera->front = -camera->front; } else if (player->currentCamera == tpCamera) { - tpCamera->position = chunks->rayCastToObstacle(camera->position, -camera->front, 3.0f) + 0.2f * (camera->front); + tpCamera->position = chunks->rayCastToObstacle(camera->position, -camera->front, 3.0f) + 0.2f * camera->front; tpCamera->dir = camera->dir; tpCamera->front = camera->front; } @@ -140,11 +173,60 @@ int PlayerController::selectedBlockStates = 0; PlayerController::PlayerController( Level* level, const EngineSettings& settings, - BlocksController* blocksController) - : level(level), - player(level->getObject(0)), - camControl(player, settings.camera), - blocksController(blocksController) { + BlocksController* blocksController +) : level(level), + player(level->getObject(0)), + camControl(player, settings.camera), + blocksController(blocksController) +{} + +void PlayerController::onBlockInteraction( + glm::ivec3 pos, + const Block* def, + BlockInteraction type +) { + for (auto callback : blockInteractionCallbacks) { + callback(player.get(), pos, def, type); + } +} + +void PlayerController::onFootstep() { + auto hitbox = player->hitbox.get(); + glm::vec3 pos = hitbox->position; + glm::vec3 half = hitbox->halfsize; + + for (int offsetZ = -1; offsetZ <= 1; offsetZ++) { + for (int offsetX = -1; offsetX <= 1; offsetX++) { + int x = std::floor(pos.x+half.x*offsetX); + int y = std::floor(pos.y-half.y*1.1f); + int z = std::floor(pos.z+half.z*offsetZ); + auto vox = level->chunks->get(x, y, z); + if (vox) { + auto def = level->content->getIndices()->getBlockDef(vox->id); + if (!def->obstacle) + continue; + onBlockInteraction( + glm::ivec3(x, y, z), def, + BlockInteraction::step + ); + return; + } + } + } +} + +void PlayerController::updateFootsteps(float delta) { + auto hitbox = player->hitbox.get(); + + if (hitbox->grounded) { + const glm::vec3& vel = hitbox->velocity; + float f = glm::length(glm::vec2(vel.x, vel.z)); + stepsTimer += delta * f * STEPS_SPEED; + if (stepsTimer >= M_PI) { + stepsTimer = fmod(stepsTimer, M_PI); + onFootstep(); + } + } } void PlayerController::update(float delta, bool input, bool pause) { @@ -154,6 +236,7 @@ void PlayerController::update(float delta, bool input, bool pause) { } else { resetKeyboard(); } + updateFootsteps(delta); updateCamera(delta, input); updateControls(delta); @@ -289,6 +372,11 @@ void PlayerController::updateInteraction(){ uint8_t states = determine_rotation(def, norm, camera->dir); if (lclick && !input.shift && item->rt.funcsset.on_block_break_by) { + onBlockInteraction( + glm::ivec3(x, y, z), def, + BlockInteraction::destruction + ); + // TODO: move scripting to interaction callbacks if (scripting::on_item_break_block(player.get(), item, x, y, z)) return; } @@ -334,6 +422,11 @@ void PlayerController::updateInteraction(){ chunks->set(x, y, z, chosenBlock, states); lighting->onBlockSet(x,y,z, chosenBlock); if (def->rt.funcsset.onplaced) { + onBlockInteraction( + glm::ivec3(x, y, z), def, + BlockInteraction::placing + ); + // TODO: move scripting to interaction callbacks scripting::on_block_placed(player.get(), def, x, y, z); } blocksController->updateSides(x, y, z); @@ -358,3 +451,7 @@ void PlayerController::updateInteraction(){ Player* PlayerController::getPlayer() { return player.get(); } + +void PlayerController::listenBlockInteraction(on_block_interaction callback) { + blockInteractionCallbacks.push_back(callback); +} diff --git a/src/logic/PlayerController.h b/src/logic/PlayerController.h index e1ae47e4..3dd6a337 100644 --- a/src/logic/PlayerController.h +++ b/src/logic/PlayerController.h @@ -2,6 +2,8 @@ #define PLAYER_CONTROL_H_ #include +#include +#include #include #include "../settings.h" @@ -9,16 +11,30 @@ class Camera; class Level; +class Block; class BlocksController; class CameraControl { std::shared_ptr player; - std::shared_ptr camera, currentViewCamera; + std::shared_ptr camera; const CameraSettings& settings; glm::vec3 offset; float shake = 0.0f; float shakeTimer = 0.0f; glm::vec3 interpVel {0.0f}; + + /// @brief Update shaking timer and calculate camera offset + /// @param delta delta time + /// @return camera offset + glm::vec3 updateCameraShaking(float delta); + + /// @brief Update field-of-view effects + /// @param input player inputs + /// @param delta delta time + void updateFovEffects(const PlayerInput& input, float delta); + + /// @brief Switch active player camera + void switchCamera(); public: CameraControl(std::shared_ptr player, const CameraSettings& settings); void updateMouse(PlayerInput& input); @@ -26,6 +42,16 @@ public: void refresh(); }; +enum class BlockInteraction { + step, + destruction, + placing +}; + +using on_block_interaction = std::function; + class PlayerController { Level* level; std::shared_ptr player; @@ -33,11 +59,22 @@ class PlayerController { CameraControl camControl; BlocksController* blocksController; + std::vector blockInteractionCallbacks; + void updateKeyboard(); void updateCamera(float delta, bool movement); void resetKeyboard(); void updateControls(float delta); void updateInteraction(); + void onBlockInteraction( + glm::ivec3 pos, + const Block* def, + BlockInteraction type + ); + + float stepsTimer = 0.0f; + void onFootstep(); + void updateFootsteps(float delta); public: static glm::vec3 selectedBlockPosition; static glm::ivec3 selectedBlockNormal; @@ -45,12 +82,16 @@ public: static int selectedBlockId; static int selectedBlockStates; - PlayerController(Level* level, - const EngineSettings& settings, - BlocksController* blocksController); + PlayerController( + Level* level, + const EngineSettings& settings, + BlocksController* blocksController + ); void update(float delta, bool input, bool pause); Player* getPlayer(); + + void listenBlockInteraction(on_block_interaction callback); }; #endif /* PLAYER_CONTROL_H_ */ From bfc3182ed3a27afed506a885cdbcbfc524713f1e Mon Sep 17 00:00:00 2001 From: MihailRis Date: Sat, 9 Mar 2024 02:10:19 +0300 Subject: [PATCH 06/13] sounds variability + first step fix --- src/audio/audio.cpp | 6 ++++++ src/logic/LevelController.cpp | 4 ++++ src/logic/LevelController.h | 20 +++++++++++--------- src/logic/PlayerController.cpp | 2 ++ 4 files changed, 23 insertions(+), 9 deletions(-) diff --git a/src/audio/audio.cpp b/src/audio/audio.cpp index b5e61b15..9280d882 100644 --- a/src/audio/audio.cpp +++ b/src/audio/audio.cpp @@ -249,6 +249,12 @@ speakerid_t audio::play( int priority, int channel ) { + if (!sound->variants.empty()) { + size_t index = rand() % (sound->variants.size() + 1); + if (index < sound->variants.size()) { + sound = sound->variants.at(index).get(); + } + } Speaker* speaker = sound->newInstance(priority, channel); if (speaker == nullptr) { remove_lower_priority_speaker(priority); diff --git a/src/logic/LevelController.cpp b/src/logic/LevelController.cpp index 4e938dec..3839928d 100644 --- a/src/logic/LevelController.cpp +++ b/src/logic/LevelController.cpp @@ -57,3 +57,7 @@ Level* LevelController::getLevel() { Player* LevelController::getPlayer() { return player->getPlayer(); } + +PlayerController* LevelController::getPlayerController() { + return player.get(); +} diff --git a/src/logic/LevelController.h b/src/logic/LevelController.h index d70d49a0..e6fefd29 100644 --- a/src/logic/LevelController.h +++ b/src/logic/LevelController.h @@ -11,7 +11,7 @@ class Level; class Player; -/* LevelController manages other controllers */ +/// @brief LevelController manages other controllers class LevelController { EngineSettings& settings; std::unique_ptr level; @@ -22,20 +22,22 @@ class LevelController { public: LevelController(EngineSettings& settings, Level* level); - /* - @param delta time elapsed since the last update - @param input is user input allowed to be handled - @param pause is world and player simulation paused - */ - void update(float delta, - bool input, - bool pause); + /// @param delta time elapsed since the last update + /// @param input is user input allowed to be handled + /// @param pause is world and player simulation paused + void update( + float delta, + bool input, + bool pause + ); void onWorldSave(); void onWorldQuit(); Level* getLevel(); Player* getPlayer(); + + PlayerController* getPlayerController(); }; #endif // LOGIC_LEVEL_CONTROLLER_H_ diff --git a/src/logic/PlayerController.cpp b/src/logic/PlayerController.cpp index 8d5c3add..adce1ba4 100644 --- a/src/logic/PlayerController.cpp +++ b/src/logic/PlayerController.cpp @@ -226,6 +226,8 @@ void PlayerController::updateFootsteps(float delta) { stepsTimer = fmod(stepsTimer, M_PI); onFootstep(); } + } else { + stepsTimer = M_PI; } } From 620c17c15056d8e8a39978b2aac5d1f30db6b06d Mon Sep 17 00:00:00 2001 From: MihailRis Date: Sat, 9 Mar 2024 02:18:36 +0300 Subject: [PATCH 07/13] added base steps sounds --- res/content/base/sounds/steps/grass_0.ogg | Bin 0 -> 6452 bytes res/content/base/sounds/steps/grass_1.ogg | Bin 0 -> 6633 bytes res/content/base/sounds/steps/grass_2.ogg | Bin 0 -> 6409 bytes res/content/base/sounds/steps/grass_3.ogg | Bin 0 -> 5991 bytes res/content/base/sounds/steps/ground_0.ogg | Bin 0 -> 8463 bytes res/content/base/sounds/steps/ground_1.ogg | Bin 0 -> 7486 bytes res/content/base/sounds/steps/ground_2.ogg | Bin 0 -> 7915 bytes res/content/base/sounds/steps/ground_3.ogg | Bin 0 -> 7945 bytes res/content/base/sounds/steps/sand_0.ogg | Bin 0 -> 6451 bytes res/content/base/sounds/steps/sand_1.ogg | Bin 0 -> 6377 bytes res/content/base/sounds/steps/sand_2.ogg | Bin 0 -> 6439 bytes res/content/base/sounds/steps/sand_3.ogg | Bin 0 -> 6616 bytes res/content/base/sounds/steps/snow_0.ogg | Bin 0 -> 9648 bytes res/content/base/sounds/steps/snow_1.ogg | Bin 0 -> 8446 bytes res/content/base/sounds/steps/snow_2.ogg | Bin 0 -> 8333 bytes res/content/base/sounds/steps/snow_3.ogg | Bin 0 -> 7371 bytes res/content/base/sounds/steps/snow_4.ogg | Bin 0 -> 10053 bytes res/content/base/sounds/steps/stone_0.ogg | Bin 0 -> 5841 bytes res/content/base/sounds/steps/stone_1.ogg | Bin 0 -> 5713 bytes res/content/base/sounds/steps/stone_2.ogg | Bin 0 -> 6170 bytes res/content/base/sounds/steps/stone_3.ogg | Bin 0 -> 7288 bytes res/content/base/sounds/steps/wood_0.ogg | Bin 0 -> 6399 bytes res/content/base/sounds/steps/wood_1.ogg | Bin 0 -> 5509 bytes res/content/base/sounds/steps/wood_2.ogg | Bin 0 -> 5845 bytes res/content/base/sounds/steps/wood_3.ogg | Bin 0 -> 5595 bytes 25 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 res/content/base/sounds/steps/grass_0.ogg create mode 100644 res/content/base/sounds/steps/grass_1.ogg create mode 100644 res/content/base/sounds/steps/grass_2.ogg create mode 100644 res/content/base/sounds/steps/grass_3.ogg create mode 100644 res/content/base/sounds/steps/ground_0.ogg create mode 100644 res/content/base/sounds/steps/ground_1.ogg create mode 100644 res/content/base/sounds/steps/ground_2.ogg create mode 100644 res/content/base/sounds/steps/ground_3.ogg create mode 100644 res/content/base/sounds/steps/sand_0.ogg create mode 100644 res/content/base/sounds/steps/sand_1.ogg create mode 100644 res/content/base/sounds/steps/sand_2.ogg create mode 100644 res/content/base/sounds/steps/sand_3.ogg create mode 100644 res/content/base/sounds/steps/snow_0.ogg create mode 100644 res/content/base/sounds/steps/snow_1.ogg create mode 100644 res/content/base/sounds/steps/snow_2.ogg create mode 100644 res/content/base/sounds/steps/snow_3.ogg create mode 100644 res/content/base/sounds/steps/snow_4.ogg create mode 100644 res/content/base/sounds/steps/stone_0.ogg create mode 100644 res/content/base/sounds/steps/stone_1.ogg create mode 100644 res/content/base/sounds/steps/stone_2.ogg create mode 100644 res/content/base/sounds/steps/stone_3.ogg create mode 100644 res/content/base/sounds/steps/wood_0.ogg create mode 100644 res/content/base/sounds/steps/wood_1.ogg create mode 100644 res/content/base/sounds/steps/wood_2.ogg create mode 100644 res/content/base/sounds/steps/wood_3.ogg diff --git a/res/content/base/sounds/steps/grass_0.ogg b/res/content/base/sounds/steps/grass_0.ogg new file mode 100644 index 0000000000000000000000000000000000000000..07560d4b2d1992650a3cda6a9291260b3ab70595 GIT binary patch literal 6452 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 literal 0 HcmV?d00001 diff --git a/res/content/base/sounds/steps/grass_2.ogg b/res/content/base/sounds/steps/grass_2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..969687a0905c532ecc25d9f3d8c373ca7dd3ecb8 GIT binary patch literal 6409 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 ZIS6i(6}CQi6sfxj^c1M;PM-h9{{fU9$Y1~f literal 0 HcmV?d00001 diff --git a/res/content/base/sounds/steps/grass_3.ogg b/res/content/base/sounds/steps/grass_3.ogg new file mode 100644 index 0000000000000000000000000000000000000000..645ebd53f9d60c3f93c894f3c03be81b51720ac0 GIT binary patch literal 5991 zcmai23p|ut*MBDWOPY{Ip;5$4l+jF#b1DYKAPl1r)iBC626cKv$`HjQCNYNG1~V=p zm*}2m$UQPbg_KKlbxL>Np3ym{@BO~t`|jViXFq%Gz1Ci9{nvWd!|~uj7ibCevpMbD zQO2U8GeWw6cmmU zNr6c%GC>h6-C&R`Si#sM`LR8zWC(&o(0(11Qo5flio?v;KbFa~5zY8UNtw(fKEfv% zBlv4TVtrRYkR%kVFUKgHunp+KA4KReXnA=5U8W^SnKRC#c)7bD*87AM*A@qcbfI)* zm%2+qz(VFW+VQF+(LhPmPC$U+v<9tJyM#@XN0;WEk~eNe#@QQB7p3nqn=UP6n7!1m z?I9=_*7g$ZG5u~nl{cilqQblIlkA^^oLCPexC=pA-4{-f6|ql56=%`_t3|btP%Kar z+Ie2pwpz8lTBGxUj^ld+XBFIo&DJii4rI_Gy>=g=4jhRbI1=ri8Si;D+Wl(0=c9P9 z`S=5fgrEIW^vJxZi&aO$puBbXjB!-K+EoS5@C6d|gz_bjugD}wxwN&Yv_jirzko{r z?D|7x^}+2m2JJP9;w=yiY!S6Qe^&AT>3;4R)c@Yi54EBpb70GsFpZWl9cz+K3(Y`A zY~fZ2_|%+az^7q%hGSd8e+PYMgw=hfednL{%l>kL$n6khj?v(UY1{|aAQ|@2aJ$2| z4um@l08@x8@}JvDF4U{II(IPfK^EsLL*)x!$!vQ=bp7H7wlvt=r{yKa`a`Tc|i*PGpS2R{Z*Bn@Q;Hp+Q{*=Jw& z>rOe*+P}lc9Qf_PBZMI56f&A2O;Ob@)=t-oIH#1JhiOF>X{9iB5V>(qBy~Mb#3`}n zNC=|C#VG!35JPzp#YJgn&~5rxI*i*5L_>LVm)T5JGu%=U15j*$11L_Zo5&5X#M=aN z>VzH}I7|`|#aWCf;8dhF(y5EZ{V?yXMua?J<7^zL^W&dR!=KQK0Q z*}RqPO5S}W*!^PUa6`P;qsWng=#hbxeJd0G9aw)y4g`XRE{;hiB^lGgj@w0$TXgVW zkrSrca$e*9c^$hN9fw|n&i7cyIqU-!YiF#3%L=atDUs4iQ)`f$`fGPVB*b+Df5 z*%0ks|1)3~!)9b4@|VaFg~(bwW85Z9@}J1b(`P(0WvsJJ({WE*e=Or*5{sLaJIyVS z|F_6FbfzTpOiALI$wY>JQigvLi`Q5X)K)pu^k4hmk+YMg13HKtYnsk4k#ifPVF{wC z#=v22QOB(hfI%aySN`e%2)doBXeZ7i&LqQr60V_svSYX%-5Tp)4 z>wuH#@H4bjLde!VvX}`SseHV2{yhY}1io1jzjSRxs)gRxt7-UV#kocYt7FkA6@ob+B>lwk&9GfKBu*=L+x z*lT;gh>5T}lT)PZlT-l?K{DV^A-^Ye1i&#bMwAwiAnUb|tr~ko#T9!)gxXdR+$<2Zujh$tu?57397Q2Xb9-H`bP*yOQ0HP~GRr zyM@tqfa>BfxPnZsCl7uICTB#CMUcIAQwQhC?rJff1My=YqsI^;&IA3CfO(17@h+u z1-zF{==PgH5azMqu*Nkb4X@!XfRIyDp%CrUIxp89I4lVJYBv5cvhcE^T+2Ct4VVZU zDsATZ+8dU{n!+Gy?MYP^IGT@)fRkP#i(E0%+Tpv1d<~`(F+iL75G_EuGHhGf>B_`I zC}uB7CZFR(49sT=NrBbH4=JyZMQTKULuRi>09WwPBYC+G+<3Ccx64+JQ!63>R+D)} zN(3UONY##L=+*&%T-a-2!!1&FvE|kQR-7U=J0hlD)iVSm)Bq=nls#=x0#%n_Ljh}@ z00~YP^3c#+8jtg_!X@g$ERjF3$V!hu@> zR%yf_LxG2Q+uFFB#5v%Le0z)tptBC#;BH>)VnkNGYcL~H5 z3j;(1&)}^>RyeUj_>hzW2tL6#`dP={{G~Z1z)&EhREUJ5t1qMh;S)n1$#`Zj1+YpZ zC4&>5L5;;30f4|FovoV~3J=14eCSawl3@ql5aH(PxHNkL3PtX)kkzg0!lO`pAzoIOqh^OT9_=-jP=4AmVxuMXEmVwHyTS3rE!l*cK74L_n+ibXn-5=uSj5DjrU> z)#ZRvS6&0ub3r}KJsRLbi+NewRULRRzzKi=>b?9pFmRZ?A_9pxjRb2bPK1cSB*{Y%IuukyRnETQr_SeroVf%# zCd!#ayi7iG2TFisrjdX+pc0p+2yDl96A_pmvq%7qAlwl+fR(_*l32mt6IiLu5mL%= z0|3Nz6RbcYAOvMn!A!C(Wl{W0P~#LM zM5PCK$%^WaWIzCq0zkk|YKR7QIOCtfp)66rl0zmH90W!ZOF9R*etajUJidv;$Akq=81PZ<8OmJgqO?m=q zs)!EUlW$4H>+1rPpilrlAflNb#H?@<39ZY?5T%ZX9z;XHTSk{7Bn1E|X0n{xhaypr zENoC5p~qQ65OPHDNJ+*ekiZuHBT6}@sFwud6X8=10>~o}Ts_bbRVSn**8%&33?ZbP z#R)wWpwW;}DAuMbEa5`YmAel{#lF@C#Wq1~ZPAAT3HTyUgcfZpB0!Z0BieM}hQ&2{ z>fdW{v<h0YFVI?qfO;#L$w>2Wu!z05W~?Oc%`L77I8r80pHOlw$(Ui)&0}AVXZ< zF-ams0@H{HVyKE|a@rzui8pI6o)y)C0HPA2EWBCUbB%e*su%oBa;FOKaNoVjotEo2Xd_+GJ!%=l11x~Rk$!YKSp8mxP*?C zFTLpAb4gt>Sv1JXE`F*=is#}_Wy!doWYMRxNKA2ZFhK#`+& zCa)5sB?Pne=v6o=SZv&!2J3i4+xJ!f+IoL%+saE?Ujxj_8@e2oZI4{>9mhKCRM4Dq zM69zNh^-e$y?V!;PT$_R|L%0Ve&3gm6-VAGbW;6N=T#WJdokb9hscD`6IPTBJ18nM zUGiZIz5W}OjCq}UuZ$LEBftN#boucJE&EbdSOK+w4BKwj`fbIRrq@AbcjS2`2vr*P zib3EynDCX2P+@-Z*yP-)Qz+AKlX7UerCKJg$gJWuZeK=_+}yhdWMe~39rh~I)MXvb zpv2wvgDGG56-X<$VLXrrjCE# zA$Tar8`wB29Eb@v!y;U;;USN)_PhLOp9`k$wb*3s>|4Ld`2;(yvFjV7#>3XT$-BS_ zkz#m1?eMA{N%*^;Z(gxq$$HS#7c_XMk?+__TkY}i+xa)B7RIyJ)Az3*#yry4%(1cR zsCyh(bH4QX*wiQUs+!BiSHf?oE|Z5hXa@bxy^O{TP3*);cJI|4Ga#4rduugNvGo3j z*yDW%iXLlSy|5JW-l?c)H@{#ydQ?{MCYS;}U$QI3hkVmYI`0zr*GHJrQ1*#et?!On zeleQc8$zGI$p8BNzLoN;5|wAlhsiIt?DM|N3I6e|c`d+nl(*6CRr3=^u}WU0Pe>I^ zW|{Zf+R)X0er&_7ODftAAKekYK)Jxj2Io&BtFHH6zOykZv;Kal7Ikl@Yq{WLpRZpM%CnPW>}uc5~_E1?6TdHi3yr$G>92|U${&q zsEB&i4`&&LH-G;7@|fMOns)D&y;bOcas04B)itR0#p!m02?rXT>Tk33Ej`438u9vd z$tvURoUDsc#d~+fJc_`5FFp2~%6QUnpVKfScbDsr=ayOVQcn}#G)i$ZVy@>f3Z36w zmb}Rh95`6hbyNxV`-mOLN(a{Ddy@2)wB{Y@eFjTn$C6mfiaJ(r&0Vngly`Zb-7b}pXD>SE zzSj4ZT>as9ysNfgo!6!3HUm4Z4KZcSMtHA0vTqbgn|D3ZT6=Z$8+E{wN14)^diL2z z!A+s(L}Xp?1GY!lCx$5pjwT}7I1Ui)R=RhqmD7a%b(d|JS%*L^y^t+~*98~sKS?yi zbwzhpZlUIHh?{9^F+8-rQzcaxIx^+5jy`<)Z89lRlqCIeEpgi%6s4dWh4Dz*=*s!H~BbII*&Sk^sRbfflS5KHywxuc!LZ*6WpFD-9y z(JI$^zeJN?dyKC?QPuSL&gBS>S=jlXEGH+ku3eDkZ1~vrfh(EcMPFpLOH&SD$!Tpzd7w95yuHlFuJ6Q8&M{zi;T? zxqKvw+(vlUb|e4s^0%Fan7ad(A*)|2pW1lnY4E}Fy_*hCMg3-d>1^AK1mx|equn;P zy>{dssvh=q(9e7rFKd2TP@Qb-A`dl`>14;xZi-QO6F!po$A|nGovWq~UE4j@r$2wb z<~w$G0Cm{xM&R++9D;-kS~(wUiitm1_<1|)N5PN`?@Nx5`sCi`OUsk+B~l7j)ZI_O`n{rPiPk47aXD2bDV9;{V&KJK5ZNMiuGnWADeYC z_X)JQ=%{!f^F24E51jSC@DVd5bc*!ZlDngUF_+(Gw`R*;{-sYIkhdRQ?qbRbrBAW@ zzZJ`+W@tf~Hk>j2z#Lc}`I-+ z>4|61#bRMLTI%!Ea5ksr+f7n(yGfu0LbD};NnID3-!q>4wkcZAu$g`Kt!B(yx_1xcHS1Q&2xGrG{6yt|2J6sSGa&fd~G)kfB zBTlCDeOa>58a8@zxa>*C748XPQsJ9zj-1Mbg<)^v<4e&WiKc9}j@`?GsL3ZM%5^=- zPuG0<^R;`03c`7P>I{w0YIl9wDuusx_T0+!)i)`3bWEmqTI)J3G5Vf!<_vUm;dRXP zl}@!nd#wf)svQ*dIdoI-(eW(LjaRd(<>q5AbYE&$T`7b^cORY=ZeBk>w;5I%>)-eX P!7|_!H#`NW76|&~6~x#!+d(mMeR1H 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 literal 0 HcmV?d00001 diff --git a/res/content/base/sounds/steps/sand_0.ogg b/res/content/base/sounds/steps/sand_0.ogg new file mode 100644 index 0000000000000000000000000000000000000000..ada388c3649615f376f859f6da37ca97cab65b7a GIT binary patch literal 6451 zcmai12Ut@{*S-kSg$MybqXq;a2uNreibAAF0FgkbqSB>G5mXl3NRuvxh*YH|NFWFZ zQLuoN(2F2J1Q!G;QdTUKwXFXnZ2R~BpYNMzGMPJP=A4;x-goY~R^Hw=&=%;Al6tnz zj@@PD_U`A}!xer$#LXv^J-}sD!Ttl~A{XcHA(s_<S|~$HME)*QgJFb_OFU!E9cs}xfX>z2K4iT5wr!e zjX01_fFKwIos~n0WO$jODC9!L%UR^(>|UE%Viq~EP0Bq5&HS@LYI;aO5D!FD6i6$c zHS_JmcuOgyg%n_XP8=>p@+DbMVg#C3_qzvDYpH&LeJFYUZH`+Z;24ABGI4M`yKzg9 ziI)P+HAF~LSyON9(I`8flr|B#x)(&8WRB8ut7U*F+_sS={ zE|H;qn7O<^8UfBZkYF!ZUTF^)mY=OY0Y%LU0jf5Sg@lOUn2_lWxLGy4yBg8^T+ZsF zvbDI@a}8q~TT22cVJ`OJo+II5BjHhwS#iz}qZ}W`Ilqi^S&ws-ivOc-L`|%-E9dA) zE~sE1CUY89B)hX{3RA=#8(*;n@?g6JDL|4%k&4ZzUcQw+xr}q=jDYSM6X zOktM-pB(D{sa}qmp8vfXoa<1641h1&gAwh)a>jVM_7G)0j)yxS5K{xZa$AU|X{cs< zs2-@M7mPZ|7QLS>ME?u|JM0i-fJU?hBRYXM@G3(gTK1v(BcYZfz!hwd{O59&gBNfR znS8HIUn0Lox+}*mM4(oxkpGzQrX?^Tq3|s-XCUWOFGeJ1rl1U-JM=8kHdmp(EGw52 zLH|DKX%I_PS9V)L_CQW(pP6tDWwUo#ESHa7HVDR~=ki3D(ym~h&tMK;*{B0p>o|}z zd$%4AdWqy*g}Qp%O?`jBqU>~D-!se`up;qQu3x=?3+Vmkk@st_0DJ7;@G$^!bA2hr z%#TJ!rSZDKWvDV4doElT$tXZ~pi1_nrkUW%Vou_v6(|>?IVVR#P%Mmt;y)V>ls8da zLP}EVQoP@z-mT1TDq8w<7OPrd$Ar-U#mZU$#i@0(w?iv2$NeaEET;n$G9HJbY%&T2 z73q;~$SchuNqkmF7pfGn;-7(Ak?Y^S`}sd={|AJ%m^`S@)m3aX^a-{E`|tqATVZ1l z;#^*aO^ifMjHI5~5&v&s{ly#zkS3PHNwQlCx;-!E1Xf@(z<)9)7~XyZ(RoA8yhhG) zP`US`rqw6S=iiIK2> zFo#VMSxnmWaT3qp%qdVzn>w7f&x|DJNZNln(>pPzEc^DmvLeBMG3Q)TX;xBcLegA9 znqp$6Pht+OzR16;aQZOznEW;2KR!L`Q& zSwj#J-GOeE3h6WJEHLUr3*?hKFbb56K{J#}rj!Oso+{=(omV_))>%T9GEd4c5pz$Z zgGCS@_z4vbq)Tuaz#+&@7%zy5Bjfu}v+4LQ^b7)z!<6RP^kMjS$9AE4^J8Er3c{uj z)sBemF`UVZ88B3YAY>C4_+b?_J&Ylk0yG&U*Po$j4wp9jZmNlsS;vSdK~%2n@pL zY5*ZK>dgg$i@oRQI>Ax$it|X^o3*GnQf$p5!(l+`%JOu55H_LcljGxCbeEQ+NTZd} z7y-0Ox^vMyt%%lD<4voq=&HF_Ug^IGq?LDRHOe%aa(PX~SDNx7<1Vd%-c?hTTUoxy zcrVnVyx0&#tE?=qSz=2Y=!?wY#Rj!VDyo}WzR*zC&=9!T5ZuEEKorv!o+@=WS9R6A zUu-y78zy5-2zyO-nYIV#2sm@`w)1*iO@MAA{c9IcFt~x~KaZ#f%kBs60%Oci2adWP zPNR6|fSuClxwP`dn!p1s6^mGFLX^u*&xu1WjynP;4y8Gdq!!T@8kD-90z>F==6S>; zHH6EUHW1|3(1oJhJJtpI{l=KVUv;L}!iw(+3$$Mc*x+JgL%hqNQ0BlE;$bd`S7r`w z15;{4UVz~jkR`TgUYXDnxHbg&B+gfc{6dL|v`sVX$jcDJokNia@qC4plQ_RZG7Ill zO?~0Ej4YAF`KXWwoqWrfFPu`gyTjDyN<8|^1Sqv^0Z=tpP$GiGQA*(EI2F4d0OaC9 z!{cQoVm4-FbwCxRMA96GX26{T(JTa5Q6lDShGN2P0#uke``t5yoo&3VP0~3H7`O4$qOyG10_OmIR!%66&U%4Q z1p@bgC&M{Ez5ny%ZoVo^mK&XIT&emd2^gP!<&=UU54r(WBzy{3;p|^e&GZF=9DH)! z?5j|Jt+f|U6>J;k;0+Oay?zy>kxfKy$bcx|S-`$R*t9iF!1tN?z(RU3N&?s(j6zw6 z1r~)O^ceEX*Y#mgs5TacU!EdquB6gt=Z8XpQ>cKvgF{o3F)q?>I3=0Gx z-z$s(4TU_&7T|I3kYEf&xxf~X@q!Sf6a+G&Dr=9>=o zNqArm9H}fs82GNujx8WNEg=Ck{I$Yi09H(=V>o)7gI}c#h2>VEH3C3fH=E;!0|LL^ zdI%cd$_G_(?=sd_kP=YR^xzzVhy-p-LC3@0lF)N`$M{igSs=%uO0iQ9@RDWcA1Ocp z9+^OZnM1IfywJ426O+Gt0{_n;%0QmA-4491nNqv>H?wjRG0vmA{~t+u*5>0sa`wNo z_y5#$_M-#H{j-4#8U^{FAAGy)Ob?@W3MsSC2onK`UP~6(G4Jl!c+`AJEC^5GF&suw z9-st;0`LKhCOhG>L-BYec}gbx>UiOVQvtg9%}s z!+}S)6s>qXn9}yrtpZ&#hzIK!)uu&SaU*wd`CFK$M$(3-6nkEAEo@*L>5=eezrf4k8LeQ1DCNMHH(8*_IcZ zX&##%0&`Q{j!(jvR(l?oZj%}&qbYD3yx)ADTZ*++zB>-xQbD%EDc*=445_FK?*X5b zNPb8SCZloHfD10w0Sv|RprC@PrUCRR9-g;i>Vm?8?XjVQKHLy2wnO+vf`hP_IPGeY zn-1h~>TCxeQ8+cVHd$z1y=kkK_qkJysdw>*WSB#|6xOYMa`qfa?(Q8 z40GH3%E{#m>jY%XHI>pOCNqn9Cu(mx%k=t*l}VaOUDvqBFCL8P`+OqY7TbjqzE?KM z+6fN&T*(&DyQKX?fLW{RtBO+yJMqo=?Y=0Fuf5s!KC_Y*_NmERjJDl#DmcFFyrG(9 zu!?4i&irX(^OV!6voUIZaeb_Ha}fbEJ;;B1x7p-dmjpS{PZtg)U$r&}Su^q4m6J02 z`QBFD{^qH+7Yo=z6aVcOgSHtC8yKqXzEfquyW=d*W+{1O;l-0;FDJO6QtFhdk}%|SHARo>2loI zxQDVlu8SBTFJ2GxAJ-|5YrYkucuX{7&aO%~C^dCdBz6bg8~!7eBD=fha?-nZL%vt9 z7?-rGz5c!=j)|$Jk7(|R@91jwCP&Lk6zr^S^*vg!K&~~n&D9O$f2I;>xN4sJ@u-b# z%03(Kpi6tWHGN!+M6bm89O8zcJ*Eig$O_bWbq;ywDh~`UVmMy$5~ycv$gH5?;Z`+*z5FZf9Iv-I-k|P8NMgI&VHdEPVV2~6W8i& zew*~hn{`6c)A}m?fX;|uE3wtbp`y=#yQuWN$zsL)_OcL=85qT!a=WG1CDMozaAfI^ z+ELfErEeCH1XozX4cA(3KlM)@wyyvAVt&C{zuF317Gh6W&Am|t4@vH^z zql)}#{Xt(4r)mE2)wOB2S$iOZEG_Sw_3z$v-+LwcyVCTJ?4Lh2=3CMCHX_!il9Qhu z%!}Ad^M*9keNLD>PIKrtNWK=m_UwW9-sN&##LCon$;Mg|@f0n5Z)|eGx(Bh5(LNJ> zL|2C~+Kv>g@^KXKg_{6%X#VTzk?g{waDmWi?py_TP8*Y03F2SFc#&z_ICocqY> z`{SVH&JUj5S|RQ)8$;3kVdU2An}M?=16GhyU4oQ9!=sA^-S1JthizYDSvBZ6*%75Ho(Yep11?I z{J3RX&DerD$&iFTxPNT({Wx zzxkN7f3;k*tKx&1&*M`|2PO4P9$&&Gx+>|`CO!R4!`U29>s-(Yz}{I~owcfcJ2d_L zemYg0(N;?t|Jre~w7i(^J3mKzr<96vHru{L10 zO>bqa7XuAlTpXne-TqzLx-gHKUz zou||j4_>tD>ghLN3%8b{8zl)|GvYlOIjow(w zM~N9HQ}0mbwclLT&$>$-X%zp}K2b1Zm+PL~b8_-iSj(fI;=3O`)xZib99>jgw8?d0 zJh2hF`=j4r(Gc?}+zhoEjYZ}kGB)7`6hz3)2#Br-jkoJYi51Xs?wHpQ^w8_|+LwIC zh~I`U?ilR7)xUNya2(g0-10W^YnvJ>Tx#!uCsX%5i}Yt*mGgfWxz_Ya(bvnrfpqC? zQ5#GnL#(GsnxUH2HMEi1E&8IjVt!RjAt&pdLc(cm-`aN)Id5_4v&*CN)}21{N1xp9 zcbwaK;#(~|4sA3wenX|GR9|+q(DJH$Sxn#7gfH0-ZJK1s1Aca=R8?k-)=2&3XFB(N zbP$Jb8zXph=J_{xtPY9lSIfIr(C!}V;)86N!#ie6-a9hU!&#B5i$T9XRq35Gzijv5 ziQM&w(i0L-cp9wh_qs|-pE7xNCiBfVOnUPr?5@c@W-qu*AIGXrT=uV7fj#ZjoYwtW zuT{Tnhsw+cW4;B!v?YY%q~-?GKLBTEGf_$hSHhO)}o{ z3TbV>RYn+!A`y|HRh5m$R7`RCgu`3Ed>$A%IsCKJ%{SFQ!M7@XKaRRaDc-^+V(}vo z&kbRT@m!N5G-5Eh+@i<^BJS;p)X_gYHle!bm(E_~Wl!pL?d8FZ$?1qgRHxGHqeG;2 zy^Oa#s!9%n3Ss7J54!ZV)7tibJ}Bz>+GW?1LUVMOY4Y6j1|9qNjXO_ir;d%Th?^?G zm*6V)89A2AGv$qq9pVuRI=?=?W|ekgO#bAVCq(G+ypv`+bKD0OJyp6CCE2g*E>O_1 zP}3^I%9yc~w<UcUkV)@RskXtp&%?EOGEJXT^UY(Jc>92~{tA^^VhXfoq z7TzD&qW%8&*Uibv%kN7v;5Z9Ne(#RHBah7D#RM~hnhnf;Bo(p{|73l7i0hc literal 0 HcmV?d00001 diff --git a/res/content/base/sounds/steps/sand_1.ogg b/res/content/base/sounds/steps/sand_1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..caa96930adc9715cfe6c16bff570d17c6e0d951b GIT binary patch literal 6377 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 literal 0 HcmV?d00001 diff --git a/res/content/base/sounds/steps/sand_2.ogg b/res/content/base/sounds/steps/sand_2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..ef6a59226f722abe9f2c487162d1e2b5f547d71f GIT binary patch literal 6439 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 literal 0 HcmV?d00001 diff --git a/res/content/base/sounds/steps/sand_3.ogg b/res/content/base/sounds/steps/sand_3.ogg new file mode 100644 index 0000000000000000000000000000000000000000..dc309eb58811e51929b975cad362ea31c2a08ad7 GIT binary patch literal 6616 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 fcfrWM&#`^ literal 0 HcmV?d00001 diff --git a/res/content/base/sounds/steps/snow_0.ogg b/res/content/base/sounds/steps/snow_0.ogg new file mode 100644 index 0000000000000000000000000000000000000000..e50bd5fcfb7ed4c0c44536e063da2ce9a23ad674 GIT binary patch literal 9648 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 A*Z=?k literal 0 HcmV?d00001 diff --git a/res/content/base/sounds/steps/snow_2.ogg b/res/content/base/sounds/steps/snow_2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..b4f44e98f7986dad63095f07e4e778fd0a0f7bd0 GIT binary patch literal 8333 zcmaiY2|SeF_y05YeI24E4H09BvBZe77Q=*L>{}R&t!$;FlqGwX30cZEWEorb5+(b- z4WTGSXt(we{?G8){@>s4_5Iz~o%`J9o_o)^=bZPs_dH|d=4J}e0DqPh&sHO9_mpu} z6hsJe<&vKh!Jj$+(J7-oz;YF`|7d_1QCI$5s4J-yB_^mTm)hR{SGs8r7)gV4OTuOM zlSY1Sa4&+B`96ENK3rZ7sU(M#Q-Vvp&kX;&BB;zE^apDZTH59ifC(Hy8p7K{hZ1oB zzy$z~q6m%@SA7JDm@9EDov26cwaZ1P6QkP&oa2xke>HGL7d`->141R36Y>}IJqA#2 z0^$jNIVi#fl_EG}jL95|`Q`cvXP?5FLQkIogcuXM6+HkNMng|H0*a+JPEo><0$_6& z=GP@$l;y`F`8ekei+mS6%us%*AmxJU(&PLD)n$pAAuU#!nh~@ia@^dxyqUr7hW`L+ zG3(EUd0!7WxEC!3K^HD9CMx?VL}9ug$m&2XI1mb|37k)Y>Q_N~t6=@ZqDDWZO?Z`t z6?9F_FgUOT+F4w|Ph1I{xDsNO9%0iEV$~2~GZ|sG8F5h{^3S>zGP_Bw`>MksK+bVg z>O3M(QPR}taC4|^X{#d?yY9qp8`O@Db$if z$SC|D)zvB$|9@8v_by351GHtQFRas7R2M7S=_k#&Z{aQg^r;3`y4_FlyuV_nzZzK2 z2k3MY4g1#&IsbA3)$IVFfrPdD!n#3gU}Z-Alq~$!C;TxJped*p`S0cSK3+gYgtJ{! zJwllj5-;wXB@|>Ukjtdab|49y5S9A@o-vfM+K=MM_?S}+%^ZCZZI&tCSe%}@??JBt z!FkY^h@J=SIS+<1{0H>eGDru#Ydo2Z1*!3io{D4Ze`aE~J;2ib)v5Q+komyWgC|^8xlmZv=WHo_}Ybs{^ck=Pf{(#T8c!(q7kHnhytAo zcS+P_5Zn)v$aKFRL=hMj|90GW(LwH`!~d#-KVT+2VqhJXmoZgP$C=?Qu6SFe1y0vT z*i8n`PK3-(#5){{{7+#09XS9PG~xR(Npy-sc4mcL&|*Gt@L!SR3++sTbtj1$REuIp zr2Bs=8m%f0^Xi%?Vodq$hWP?V`SGTw>_(OFqd5Hd75wWuyiI+GRo$Nfa}YMO6M_GV z9BPP&pc3ZwlIi}5oE(XS_bLg;^^--dl22Sqb&Jj@e(-RqIFIE&BF8xdnCI0~zS8u6*1sd?yq_po!N}3|6a81@v?5{JU^G=rV^$AzR38Qn8lZdV z-wptP)IH&8pq1u%+&vT#DLUsMa-xoXxRGzAP4}*K_`cE#rP#^`KVhm zAs0mHb5RVruLQ!2xD?n>>>>e)n&RpW$*4BA)j6yLpN?TzyqIzVoc(2?t^P+9Ch*v! z155xQ6xoG*CEz!p-<_i~fMm`lcA>;cDI@v_nN$GpPuxM0KmgxYB>1cQlk|8^c3qgXJ z4j?*V;eDDPv%-cnB>({43ITsw5{fRm0GBv0cUg2WMbQ8%X27dE2*pqEVkYh@_A4rx znBjVPapPvVX?_f@P7K3~!K|6#cy)1nxY1M$uGV`{5&zl@_l6%gUWcFNziE*gIIDoM z0$(X0HE<#|#DU^%m;NU!40NB>DcnSzl1Tv01c$dW!&zOyTW#VjC?N(Q)fDrZ4~MJ6 zygUvJ{9_;1=wM7-Mwc_%>SJTV>!QZG{Q7wZFOB?uV=kG#hv84@KW z#U*v#CFNwByiX;0B|X({CFNy3)fJ`XUMnEA{BcRObV-SHX?59liS$a{jT-pQ+R)@=AyAN|W4;LPT$2>2gzXQ*(qiTJ#d#T}@^Uaqik=9`u~<@ZDCO-w4dFU}NsQ2Vw(4#RhMWMy{|FO{fY4 zU=UseQxM5^cmNl68D3z9WDxehfNqBojnN*$#4*VZxLJaJS5^uS+8se0!7}EOjM1LC zL<-iks&LHd3%r0IO^_juSbG$Aj9JHVJ9Eh|7Pt)PGm~nl1d!EYP63A&np6NaK+Bl- zfk4h5(bOw0;4#%Nt_4|<3iu7s$U3Nv50U}{R}}Er=p#Cyrrt6g8OJ-|AggYw@O>E{ z(}^If2Vu!*H2Hoqwl6D%$|@`Yt&gZnMjL{=LZho9u-0BkN*2~j3EUOPDjDr1(_w96 zSR2S?&APuUa;>?i2e|_jE=CeCKv&iBd-@<34x zWcZ`Wlrd~PNO1OU9?uB=_Lt^P9x@#iCo)yIWYzs-Q24@>bsUN~;smlv#>RmwY`hu^ zQ$0XJ1~#^KVanf2X=BW~j4HzbydnJWHLjb3r%os>pb^T9&!HY6)Uefz!Vc&YxcvH1 zlFV9tDDh%HLoEaX*Qd!ORy%+~AlfM?CNUDffuu~kxhDbvY9RyW9s6O+fQfF0u&`S( z13F+7cfi4Ohe41e5H=)G0CnaPAqjwfAwiu%+Y0z|Xh{k>4`@mt!i~|AhzKsUz8DG2 za9LnrKIb(=w1j~hIygrh*__yrk?;UBc}ebYL$rADZP23RKoAO~_C9M5a?PX$6FGt+ zZy*Lj!Ik_f-C7C&K7$+jynl{}0f~%&hCn_j7v;v~)Q9>6Qv^>&SU87dM^+ez784)1 z4e+k&LxByK7Dxc|z1%RcArVKY1T1<94vry60aOAJ%K`wBm%)sv(!|C8PErndX3_xH zsAnb`#h6PxhvH%J|)chk3B!I6SAOW=qqc&Oo3I8M}|MZyu7bS|pJd4{LysbL~jxZf$<>z?z zU!A@FOw!X2UjLP||C7D{x1NnB8HC)w8$hFlg%Q|eJYs%c1#y^FnyMog2bk!!rGqs7W7396)nO#Xb@FY zj0lH=Za5eVPyBm~OLg%8S|Fen59Se#wf3RKlnag_j)EYQ*zbvfJ?4W1ZXb-{JYXtE z1UVm!5qUrv`{^AKOGPAT8Y*EQs{1`=VXC?ICkr2}rRIVlL}{s~@bOQg`8^_Ditk?1 z8oPI)flxL8@SXHnK~TEj?OEZe2H}Z*Tuvvsu`#IgRd_wYc7bssk_0uydVb1siZe0F zc19!H%82G@iKIIter2^+`oK?0I1?bpC9H5;0|FK30tJQBA%L99)*+-V9o+{Wc@{R7 z&T#(`0xiH5-o=&_Wy!|FTXH+kNfofPb?jmcWs8rmiDmsH-%4*c69^B7(+NklL!gPF zVZ1&;@7awSUNEcbk~j{&fFXbo03@@+MMN@C2^{x06S351H$ zM@2=sCgiux(~9c2gcrQ}Kqt0OrZ!AW2cIf*`~8D2dv~Jeciz_mZguEiJI%p;Qv_sJa2vUx_PJFa6&)~$x_*nUn zjcRYrjZApi$#UtXevY{*rDY*M6|FO)QZ7-d8Ng?*3ingQIZpZ?H6hB#+m2V)Qs0#5 z^H@ZysKfNPd#{@a+|pzffs~m8I($mm0ujWs^4+H~=cgy=1JIXK5;}b=Q#UZf*)?Bm z`EWtw=g7ap{GLP1*b(fCDaUHzZrr}BCV%S%FE5Q8mkn|unHP__r(@q%~EP@Kzje@}R}p9-CT7z!eq&HM5y)}F(a z$M1%+84BLmnJMv2eM8@P{#H&0PNHs4Vke`0_4mgK+AXLc^9{ieRim-klTfdlheLvI z&|8FYPG@H_o|u0coKnvms)Xa0mfKqIy1lf>YZZ^QcNydaviRs9iGR>N301_bUwk}A z1G}}ma^t~;f!^!EEE?N)r9`Yv1wVBW`RRVB(AVjzi~wMG_`IWm?i&q2UN}Ynwhxtl%cOi)h_Wc6>7eoP7A#lb@Zyq_*}$Ltn!Vf5jheh zbd~M~JHpKI#qB#m^1M89w;fkdUq%_~^3EBQHxl+zANMq=eS@{ob!!vtBC3aj9`IoA%i9ATEvy0pmZ z;lzo54AmyEVylaP)@dy9#q3;N+meQGJ=f3!h=S^QBWnd8`4urw?IDTWLb~M4`xGX( zM_vt&nSW_D1c$4PfBQW92LzjKLmS7ZRMB7PJ))!cLb32#v-V34K{e!p@p~ zAlhg}HtjWb@&VfxNcm{ z$+?zM=)qpVV6m9wjFzO>s-`L=XMMJ1zQ=Wzj_Aiudmg9}%)KyGPZkrQZ&Uo@z}wXT zBsZ65o6l5ZHyII?JCBMs@UDS}&jwe;?vASKAgkAWOm71m!c64&PU&yH8)waMoTZ8MIFLGFRA`)aq#S zNh7fRSJIW#$!94+x<#h-J}-MzQk+nO-8YaNC)+tNK9S?sT=-WKk zCrNn*U3KhceP0ZGpO6QDQ$4iyu6>RoTYH4WXIvXC^3Btf7j%Z1OP0t#puqRdZy$}q zj`<(E`Bv~4CnsL%d%N@C!Yn5%0%4a1dz@`H@$2!Js<$}H5aGy%V2SC=2D%Q!+$a9D z^(BAB(hCl4?=qCP0+acFe~B~uC{$q?$K5v>)N^WByu`%tNZhnRa^sA+T8ea(I_`@d z{`2XGCSTTL#$lP4@+QJ)j*h&hkXi1Ua=etr-jUWEdF~|Ovq?8l7@me(h0}UUTlBBl z0B784=nW~mM#JvCj65B0MGv2FEF*aF+KoVf!g{tdB*7Y#_xD@J(AzGT=A|;d!}td= zU#3Y%etd9+$ z?Pu9-ja}#5mCE7gdLV$*8KM=u+FWcRW3+*0$9B1s}G#p*QB5zjuOr zr>{oH$yVc9BWL5$kH#32&RZ__jPdV+A{AmX2&F&er%8o*jwK#UYC(hF4#lV(Z96{E z$X&`VD0{N-jVDY{V@crn4eud0dv}36V`ZM8ts!<^gDH5O!hA!m)U86gvWdM+8bGgd z6#Crt1LDxu+5Qs?jMcu%+1paaodp=F)2W6p09Vd|X8|9U>^quUS~&M^{Ne1e@h#4d zRqa+zy-G~^iS?x+&5U*oP4tH}!q_J%oi+2B``hXZq3zLP84`pkA;Dt0$6vfmi;vSjpU5F!ju>&Sg#=6%**BTRYL zQfLOCKcK>(%Om)o%~>s4^>nswmKLLb)UwiR&Jy)fzfaPIJ`t~i*t_b)MIrap54Y2F z+@LLvFTM|SEXO*Jsm9W=IZ_syV<)E4I$AhkH|2H)(;nQ~dwyN`$l$`&BNd`$-hmfc zE=s+r7>tTFZVls;OEThYI-5d~T)O&!*~H97NFB~vu!;I0pwZ8%eXe7~T=}h>?zO#_ zx0?5!q+u)1K6O@_u^{Sx{=C}kf5(<_4zl~z;Lyj8Gsb9U`m2IE&#mcX8h)_wmEw$$ zjf}rGO1jlQ4j!`4@ZV;k1tISjJhyih#kh+fV`u!qn9LD3IBgd6nAR?$6fI!R)*7^@ zcHBOFrtet#^=Gzuqs0zK6%}i8i-P6dV=Ytc`IM^@CIcKdoqXGW-+Yy)Yvmg}Ibb5M_*UqF?a%0Z8Yhk~F%Os)*!VmqOp|Eu z!5^N~+RpdLNWR;skO(=MGJF5iI641jPL= zw%s}E#wqbw}Q~|Ils0ahlzmF_xE?IleWV3aBHt z$f(^vF+6;Aq=9^xVkSHsq-%CJX~EN&^K8qtb$iUMZ~Cg2UlBifoZB(zD-u{-`Qs#m z037m!{J^{v6&ksxB&HyZdPzSm@EjGVx&p6z9^E#wO_YKdH zoXXl8L(lp+)LTpjFKCbVV4eixZSF=-x_(~w7l}__h1obn=>v|VoSIpORUWytDZCd3 zfe(!+o!oN`W$CzAzryn5U5=#MiGjm3nvls`>e@fm2EooSuB&sx@B34Xv<_)Wp&}Ql{s8i!Vr;MDAg<@4t9iuMm@fPl}9O z68PG#XDBQY`g-Z^>Ow-g&B6tB<&Pg96>*Z1aw-PpA9DIE7hT*Mc*YRy|NSjtKy*ag z*Xx>eG;{lXjBFxeYbN7jnk9Tsv@v*b_S3Q8^wDPK(i2@dN=Rf&{HnsYOX4yqLZx@6 zMUQ5w%@6oGX}7&$KWX|1EAB11DMX&kCI5!MUtOkm@veG4`9MHsE&t(rNv~s(nFV5T zKf3wipS7i#a;J@-CO9s<#!fa~a+hsol!ff#U&R}_?geXnda-q-F>2wkqiVu^*;x}; zVEU9#-PkJBnR4&ynFWfsDqix3(^|_@ieGMpHf&iCf{97hgIb!WXcmNZ9>p7+lBiQO z@pd1r_5bX1Z-~6MQS*I3F@rhxqHtl;@wVK?<6LxPhvkN!^#$LzaMkAt#qE4Gak0;t z{MAD0DwAn>W|GbZ%g|t5n9ml_{l0uR3hzQ#ch^p~@04H`c}iTg+i9tKj9F*%%sm1h3UOV^bGxe4!>7!p+<5z0a7rS@#2HNZWabj4stUOXtCs9^xT3mn}O+(|75ns{L0;%ZZz>ckEgvS%Ce& z8tB3e|M{zddaLEtG$0`*Z}H*0>>I}5BY>8dodpiCE zi1l)QM5bw7R3J4#)wezmUXbwz95J{0Q-6zb&nRXCYTrK>wwRjHv{rRK$gm!?reQPf kjo*H-+f>ymi(cg!b+F*3^VHfNlRhf|=7-{$1!R>6E*Vu3Y3jy7j+GC&LaSIY2+@ zanAjqxxX9A+kQ8KU7Nq<)~ojHtYXDwPs*BS<~f)R`fiWWMM zK!6}#2y&7@b0@hPp{e8?nM8<7(;MPVu^U35 ziA4H$h!te`v&$A{UuRe9K!uwqEl`ro)E5f#;?+OMR1fHI$X5^HOfaL?&gG5Fj==$a z*!he<8@6pdP+%`Q%))1Qby(@_Z=&;4{Q;{TwNOwfP!lq^4L7QUcUK~N2PMpxa&|j;j%;g>L*=e}+u2((AVBC>WHz zADi+9ohvSq`x=|eK)O-73pztL35qRI9G#eFl<(?U?vY;WUQ+ART_x9D#koBNf`KXY zlI@X}|9`5hZHmi(uUhUMvXBXO3B0g0HSqej<|qgv@ouB|uVx#{J1C|k zM$2}|Jm^vCmZLYNt$pf?6|KCwoEU&&IaPq-xSF|p0p(ajFKW%0-2o~Yk3&;;A__Pa zbtXZZS$I20ZlwBmp$kA%{L^t?B>MUG4F03`e??mGOM*J6ByXv#L9im&ocFQ46EyiS z!tr^~^mxehc-*PoH~t-1e@6}kf`+smlVoBnradFvOowg9!GA@LAH4lGvh%itag~JW zkX-MwiupH{K>>XW6;n%u;~*kvSkT4tkmInb%P_%Z^t{VNt&9D`5Zl^617;^|rpJT+ z5jpe_5y!^AF-&CqSL9^N#J^UH-*1#CVVfv*Da9=+t?2H(g`!;ce~TRV=z`Sff}7Fv zH{)fZQaqy4itBQ{yUG{q|7-m_at!<>Kn0Pb?=SI>$Z5tPbwM;$$(erJ(NSX%7&K6S z_dgu~LCp!A#@pwJ1zvs>uR4mCCs=9x=ZFE+Q5Dl+6=2w82oi>%{lLj2-e~^>9bb); zte80orW`DD&NCrW0k1MAmPw)E-@)je8Y?*V z7$FM?3dM9_o(cK)8Fgms^VLKZTP&ZO`= zN0os^5DWNm_fLBNj=){GQtP6WgrOE3b4a~>ZJ0@TxEE~g&`P0M(sd3fd)7N^M+ z7Z(-R`V^O!+2_75&Moe$aw{$`?W($8QtrJ7sO5#lRdU6}awS!zzl!A+YYU6(%ety6 z(#uO0Yd>?e$}QHPD=sfDsam2_>&q6~{1)pKgY(hd`6VCfi|Xrr7wi3cYJHG-#UGkv zyPsBcRefHpSEvpWvmgXbksaUI06lz8UASkz8d2qQuC$|4AvJNbJ;42Eo z+P)poJgpW_bxQ*~EiOwhE?KPdJ{Qh)O!DDOTeTl+154Hz980$o};Vh47G zs=**;v3a;9uPhA}$cz7gqF7;=#RAN5G$i>1&Qpv$BHMfmK^E{ zoL3Hc4DVH$KSKP7q6p$Vcx6u2=? z-ns_>Id4eYu!zEMX;f4LSWzj0#yCtZ+};;6h6F1p{PsrZHn^pad|TT7HWXmhNf*8? z<6SBlu(}(bh{Kg7C*pfDlIX0$<8eml+C-cQ*cA>}8G*O+#*Ag)y;Z@k0INitw|twO zy-7_FuN}wsuF7hxy*$g>fN)8wkTI^ZM$pR_Gbe)cD5DE6q6yl^1L2lls`+D{bb`H) z##mYau54@s9|s7|K8>SkS3duxInh(TZH!n(7cN_woCt)^y|9bLl81`8k{6*QKWr&)WU(Lf7%kaui{EwgD94aUx8 z%LeIzC~iZ6bB9@&Dil5-M1ec=ic^JvU#M_rU|XR8ZXH=+=RR#2H0cCR79GKhGm@l& z43`}V@;UDT@<}Av(9SvH#7X4D+&~3dDarDYOmNagVZfqgK>!L=T92J)S@m-**0P8( zC1Xhd1=q4?sdfh-XbEg+Y5N?Jgc4XFEulOh7wg7L?7_ZAs(_ObN#d4m%LwPzVMTy# zfOl077Bsv%fB^EnoN&-k$wPDk9=Cu3V`yq1oj}I3Ly+t_kP%f_oC&yoI~$ytyP!+- zGZTkp$sr#{x1q?1cpwg_ROHVIY)7-E6UcT;C;$y_)$_anR&92=xH8&FuW~W!7_n4! z9DulHF3k%E2wuH)5cHCX1*%{W)juRH#3rk9W?P9+6fk2f<_4S?jhWBTWku6cL5`Cz zL{B}yOO~F0!~z0%Yy$-BJd)mI1jPR-XzG|<>mZ+<9iMYHLUQvkxY5;bZ}q*4ef;{bGOzzR0GdMNAI|P({ax7zwyx zXN;8a_ZYAG{0_7Lpyqexkx%GsLyI*BjG^}ckjZTKBtegDCxP1rBZ(iRa%8}HXN=4b zWNfE*WIP>_z%+EiHdMEJY+`hCZBG{4Sxe6a0Yn+-r||yw5_w(X-YTfpS6^CTy~Kyg?uQ5`zz;MBnq${80|9mDZnshP>~We|#lVidbcgTWI*!v%aVzUDH2 z)WW8&PvzdZ0mGoZ5R}M;5*JUy#&h4|N#MQBm&l(aKnC!Ipcz;w4-_iFbo1s-*Z92F zHw+SbXGoN1Zy6=G$@GSmb?2(WxZU5rAv5Y8-XYU($aFEo%S=>hWsIV-qLTChMFotK zw2Ul9QBe*pt*oeU;D9owx#q#c*0!c6PiQspJ>9x*YV$)B;S|gJ;#!EDPrF+g zrXlvK)uY7Gz7Fb!XqMm*eJEkCH4n@I!NJ=crSNjH|6-VsYX-~GVQ2Q|m6;>=Y}O=9 zH|^P=wZ^=5wQ)?l(>o8LSy@;HqT8Oj61lN^gVwj)$cbXsMov9EbjEAK?s3v>`QA)l zw3$+Wjk~4h0_SUw1g&ekOJEIrA-N$@EZ?LP987)?j&lmQe3;wkhlnh)>^e@42^cdF zIy&la|Gr?8ILh4ef*X2<2vYHCI=q&C?=A86lU=gU?sK^ro>rpl?ChQ9Vhvdc8An8#XK9~2Ram&oL6}2PO>;RsK2BPtDHqU|rG2$&Q z{F*%j6*gzHUv!|Re=Qyv(>p3UU*K@E6B=JB^kRhi>|i~J3nEf0xA#pXI%IcFv-7sH zw1h68dLLC-e$uus*so)K>hsUMy6X2+m21=7T4*1}K*WXIL+ksWP$S+R{F2Q74Aloa zWVUHlX%nYwrvLU=cjrR}#XXO6bK9m?Q&so21LvW(Qopb z2)M9M$SgbJC1b<2jT&Oe#Z*`}Yv%XmCJIIK!Kt^e?xxzWj;v6bdl1GqF*NlJBk{VE zHNuC#ht15jo6adp=&cz|Df>0xaO2mjSHJSJL4^&w$cPyCR+RKs#LtP%0w(dW?8#}T z0f98snf?dNmns{04tu}Q@E3=^u<3Dit8kfZFhpmk8?ja3&IJq#bPE{OZQKdo^HJVp zk4r}!+z7e~l_DNKTm5`xZM zz7==nonkH2!`H1m!*Z>QDsKE(buU!dTw#}_l4b37+8J7dAs}jZkaTKRce--VH>i(8*)S4UcaB!Z(pfbA zO!aTUUEZii87irX3C|qQUQZSrJE2&2&RA$&!2$;L2s8+HbIQ!m?tdt;+j&Jki1=PR zc%|E16sV~?94YCu|D(hs8NzK0Q5XzKDRr;p=XIBGMZy1=VfU@ zcO6EfgArP>l}W=5X$)STjIOzueq@~Mb7t!T?=PAlN>oabhr8tYX^-v;HaY53b*+aP_*@C|%_T8jT6dz3*~xBJR?=2o5pw8U&$z>~6>@aB zWu2&SN&4d*zx;lU;EO-XR*qemk{;f_66K^Q#bd_kBeR^1@G>%;`aY8rrc+XWoc+*- z&FSBnoE^(q$FABX8-Fs+Y-Bp}ma$dJEugRryUDvAV=VD~zpM%|8BV^b&euI}b^$fh zh>XcVQSN>4DXTv)`bzkHQ{(s9u0;3!Q>Nur`yypG`ojwD3eS8rV}&+dk$URSw$LY* zUA-@_;WhS7g<-7IB}guOC@7)w@T+^tYU&!QNt)kWCtacpvYP6@E_JLQT^pS_cTC{N zy2{*l?TPBShKNGrA3c=Dg@%tDnfAKytouVti#;EQw)To>iJhD(i_;qBK)cP!>tb8EgnO}a9ZC;v%-Z)%}~74_lEXxyfU?+;=@`02Tl0}it3uZAyA zdg)oq6sTH#*1Ug(1!@-D^UAfyPtA5COUGcmS#M#8=bQldQ@^1$nYt___}tjD){?W^ zXf1&K!8J;g@yE%lS>-~huqeDuiMn z{k^K`84;CtPQUnGWmNIrf*It-WhORu4RK}Gv8|L{c2{iodwQSG(Jh(gQPA22-~p-i zYz=2)ox~fflNg$IGe5x;c@X$HQNLkutuE=s-kAFezSH=%;mKDq8~3N|wrZ|z&A0U2 zI(2p`1ZP{;Z+$Fk%Bs@4dnD%8)>ZKn89s5QUMWLfFZL{K{vx0%KD8_pq9(;3JDd?w zURw_76c;&Zfz-&m@pIi7{W#v@tg`F=THvKiZ_|IJ~& zcSV>p?4Vb(4fXMaa*T}FV?pypUdyn<}b&UqaXVQ zjb2@V2*c+CwQbMPpd}y8zN>4~nzc_hO)ss81sp?$gp^-eh+dl3d^vx(v!!*#{QCj} z(%d(W)|}TPE(I_BHt4>F5z`s>qUu`fln8~BD6zBOUIzd1>Ina;W|>-Xu~-so+^?a) zoc>`<%q461hteBPr?P104Dc@a z7*cLysz)by-yOAAyJe{ru?Zq@f-6hk?=n||OTY9!ONLMrjm~_C+~wuMt)$8#j38SPN(N-iAZYl`o#p*)HFoQ@Hl^ zmEpsQ??%eM%lZ0jO8lfRB=(ypGWUl0)uUL`ou%p?R*2Vs5!EHVj>xi#8)8D<&EGU+ zC$9%0Id*+}Qe@6+Kr_D*`OxHbM4*q1UP9$eUaS;qoY~-s4_EzN*vGr4%$eREJ2sK~ z@H1-vJCesyPyP0+!ffe*NO+}4q*dDWQwxxZ3agYeS87(f_v6B>x*?We(+GnImQ5Eu zWzN@6!rpKkZ@Ht-Fd+dsr{yCUhS=I6>yg8rb0HG;GfM4uBm1{La)}zx1$PBDz8tY+ zEow6E8*(g2@{+zNY@GSLX4h`Dt(k_~qR7u#Az7mbmDFdvArdBN(i!tq*vs*2SaNw&!J?ay z3W+;wF}zLi7#hMEn+!d#?u+8-{jtwd_M4Do^ZP83^AOm69P7q~(0z*0Q`R0Q)k2MG zeCiV8RT(ZGT77Ijbo892nd7l*E?t}J&86YHtNa!-JDoSZ(*z?kpO_6FXT-&&7(}Sy zZO6j#>+mi<&bVvQ{0)|~b0;hLjxCOfEks?J`g#vib{Kv7TqE4)lf(UKJrOsvQw?x` zojkuv-|HPKnxAwcLJlZ~UYO-sx%H_-FC88e*U+8%S>>L9LC@58?c*Dx0&8C+t?t-C zPEVdw9~~hJrN}405K(u`D6vm}BlTFEAG+#7;v#+D*DPB462bnWo}Kij+Ehm}gwX`H z(L1R!_;saD)y%wK?o`8h=e65czD^5%o_O4T=Zn)p<_`*CZa4F3Lf+ipe)l|*=}y?H z5*p1yNWDXJjf}t*?<*c1C+N>z-5Ri{#5#2&R!2TMJoK+WEafy&{{78x^!n}^7qa`j zF8`0oj82E;T~};1wFJ%IujiCU3j7dkS=EKt7K@ww-cy$7mahD3HzPDc5t&(k-s(qW G6!;&>v!+S_ literal 0 HcmV?d00001 diff --git a/res/content/base/sounds/steps/snow_4.ogg b/res/content/base/sounds/steps/snow_4.ogg new file mode 100644 index 0000000000000000000000000000000000000000..5ad40d6d610a83fa5e097b308576a453ea391040 GIT binary patch literal 10053 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 literal 0 HcmV?d00001 diff --git a/res/content/base/sounds/steps/stone_0.ogg b/res/content/base/sounds/steps/stone_0.ogg new file mode 100644 index 0000000000000000000000000000000000000000..b3d1a6d6ab8d3140dadb66cc6ff60186a484f02e GIT binary patch literal 5841 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 literal 0 HcmV?d00001 diff --git a/res/content/base/sounds/steps/stone_1.ogg b/res/content/base/sounds/steps/stone_1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..7e6a73c1702c3883cbdde1f53c62c2c935544fbf GIT binary patch literal 5713 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 literal 0 HcmV?d00001 diff --git a/res/content/base/sounds/steps/stone_2.ogg b/res/content/base/sounds/steps/stone_2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..70f8e2379e55b321570a51f2d10bc64b04f6a814 GIT binary patch literal 6170 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 literal 0 HcmV?d00001 diff --git a/res/content/base/sounds/steps/wood_0.ogg b/res/content/base/sounds/steps/wood_0.ogg new file mode 100644 index 0000000000000000000000000000000000000000..4075e43a8187932efc67b7effadd5274ad569d84 GIT binary patch literal 6399 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%0DRsvk&*{ne1y})==ZM`=o8^5*dOlUz$+Pat8uA9% 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 literal 0 HcmV?d00001 diff --git a/res/content/base/sounds/steps/wood_2.ogg b/res/content/base/sounds/steps/wood_2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..b4be1ff6d4a02bab347d5671eb3e7c4598350fe4 GIT binary patch literal 5845 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 literal 0 HcmV?d00001 From 2de3f0ddc660ca1653f551a79befab9681260d4a Mon Sep 17 00:00:00 2001 From: MihailRis Date: Sat, 9 Mar 2024 02:18:49 +0300 Subject: [PATCH 08/13] steps callback test --- src/assets/AssetsLoader.cpp | 1 + src/frontend/screens.cpp | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/src/assets/AssetsLoader.cpp b/src/assets/AssetsLoader.cpp index fe837533..20e9af4a 100644 --- a/src/assets/AssetsLoader.cpp +++ b/src/assets/AssetsLoader.cpp @@ -80,6 +80,7 @@ void AssetsLoader::addDefaults(AssetsLoader& loader, const Content* content) { loader.add(ASSET_TEXTURE, TEXTURES_FOLDER"/misc/moon.png", "misc/moon"); loader.add(ASSET_TEXTURE, TEXTURES_FOLDER"/misc/sun.png", "misc/sun"); loader.add(ASSET_TEXTURE, TEXTURES_FOLDER"/gui/crosshair.png", "gui/crosshair"); + loader.add(ASSET_SOUND, SOUNDS_FOLDER"/steps/grass.ogg", "steps/grass"); addLayouts(0, "core", loader.getPaths()->getMainRoot()/fs::path("layouts"), loader); for (auto& entry : content->getPacks()) { diff --git a/src/frontend/screens.cpp b/src/frontend/screens.cpp index 8c12074e..fb057c5a 100644 --- a/src/frontend/screens.cpp +++ b/src/frontend/screens.cpp @@ -100,6 +100,25 @@ LevelScreen::LevelScreen(Engine* engine, Level* level) : Screen(engine) { worldRenderer = std::make_unique(engine, frontend.get(), controller->getPlayer()); hud = std::make_unique(engine, frontend.get(), controller->getPlayer()); + controller->getPlayerController()->listenBlockInteraction( + [=](Player*, glm::ivec3 pos, const Block* def, BlockInteraction type) { + if (type != BlockInteraction::step) { + return; + } + auto sound = assets->getSound("steps/grass"); + audio::play( + sound, + glm::vec3(), + true, + 1.0f, + 1.0f, + false, + audio::PRIORITY_LOW, + audio::get_channel_index("regular") + ); + } + ); + backlight = settings.graphics.backlight; animator = std::make_unique(); From 90f3373f4680cb69c2f8fc4ac5a33e248cef47bf Mon Sep 17 00:00:00 2001 From: MihailRis Date: Sat, 9 Mar 2024 02:42:53 +0300 Subject: [PATCH 09/13] even more steps sounds test --- res/content/base/blocks/grass_block.json | 1 + res/content/base/blocks/pane.json | 1 + res/content/base/blocks/planks.json | 3 +- res/content/base/blocks/wood.json | 1 + src/assets/AssetsLoader.cpp | 6 ++++ src/audio/audio.cpp | 3 ++ src/content/ContentLoader.cpp | 2 ++ src/frontend/LevelFrontend.cpp | 35 ++++++++++++++++++++++-- src/frontend/LevelFrontend.h | 3 ++ src/frontend/screens.cpp | 19 +------------ src/voxels/Block.h | 4 +++ 11 files changed, 56 insertions(+), 22 deletions(-) diff --git a/res/content/base/blocks/grass_block.json b/res/content/base/blocks/grass_block.json index 8c3cfb14..4c7ecf7b 100644 --- a/res/content/base/blocks/grass_block.json +++ b/res/content/base/blocks/grass_block.json @@ -1,4 +1,5 @@ { + "material": "base:grass", "texture-faces": [ "grass_side", "grass_side", diff --git a/res/content/base/blocks/pane.json b/res/content/base/blocks/pane.json index f82f9e2d..0eebec49 100644 --- a/res/content/base/blocks/pane.json +++ b/res/content/base/blocks/pane.json @@ -7,6 +7,7 @@ "pane", "pane" ], + "material": "base:wood", "model": "aabb", "hitbox": [0.0, 0.0, 0.0, 1.0, 1.0, 0.2], "light-passing": true, diff --git a/res/content/base/blocks/planks.json b/res/content/base/blocks/planks.json index c3e31ff3..508fac23 100644 --- a/res/content/base/blocks/planks.json +++ b/res/content/base/blocks/planks.json @@ -1,3 +1,4 @@ { - "texture": "planks" + "texture": "planks", + "material": "base:wood" } \ No newline at end of file diff --git a/res/content/base/blocks/wood.json b/res/content/base/blocks/wood.json index e29d126a..db77a6bc 100644 --- a/res/content/base/blocks/wood.json +++ b/res/content/base/blocks/wood.json @@ -1,4 +1,5 @@ { + "material": "base:wood", "texture-faces": [ "wood", "wood", diff --git a/src/assets/AssetsLoader.cpp b/src/assets/AssetsLoader.cpp index 20e9af4a..74b3d41d 100644 --- a/src/assets/AssetsLoader.cpp +++ b/src/assets/AssetsLoader.cpp @@ -80,7 +80,13 @@ void AssetsLoader::addDefaults(AssetsLoader& loader, const Content* content) { loader.add(ASSET_TEXTURE, TEXTURES_FOLDER"/misc/moon.png", "misc/moon"); loader.add(ASSET_TEXTURE, TEXTURES_FOLDER"/misc/sun.png", "misc/sun"); loader.add(ASSET_TEXTURE, TEXTURES_FOLDER"/gui/crosshair.png", "gui/crosshair"); + + // (test code) + // TODO: remove loader.add(ASSET_SOUND, SOUNDS_FOLDER"/steps/grass.ogg", "steps/grass"); + loader.add(ASSET_SOUND, SOUNDS_FOLDER"/steps/stone.ogg", "steps/stone"); + loader.add(ASSET_SOUND, SOUNDS_FOLDER"/steps/wood.ogg", "steps/wood"); + loader.add(ASSET_SOUND, SOUNDS_FOLDER"/steps/ground.ogg", "steps/ground"); addLayouts(0, "core", loader.getPaths()->getMainRoot()/fs::path("layouts"), loader); for (auto& entry : content->getPacks()) { diff --git a/src/audio/audio.cpp b/src/audio/audio.cpp index 9280d882..6476aeb0 100644 --- a/src/audio/audio.cpp +++ b/src/audio/audio.cpp @@ -249,6 +249,9 @@ speakerid_t audio::play( int priority, int channel ) { + if (sound == nullptr) { + return 0; + } if (!sound->variants.empty()) { size_t index = rand() % (sound->variants.size() + 1); if (index < sound->variants.size()) { diff --git a/src/content/ContentLoader.cpp b/src/content/ContentLoader.cpp index 951e522c..eccedf16 100644 --- a/src/content/ContentLoader.cpp +++ b/src/content/ContentLoader.cpp @@ -144,6 +144,8 @@ void ContentLoader::loadBlock(Block& def, std::string name, fs::path file) { def.model = BlockModel::none; } + root->str("material", def.material); + // rotation profile std::string profile = "none"; root->str("rotation", profile); diff --git a/src/frontend/LevelFrontend.cpp b/src/frontend/LevelFrontend.cpp index 9561dfb2..c406ebce 100644 --- a/src/frontend/LevelFrontend.cpp +++ b/src/frontend/LevelFrontend.cpp @@ -1,11 +1,17 @@ #include "LevelFrontend.h" -#include "../world/Level.h" -#include "../assets/Assets.h" -#include "../graphics/Atlas.h" #include "BlocksPreview.h" #include "ContentGfxCache.h" +#include "../audio/audio.h" +#include "../world/Level.h" +#include "../voxels/Block.h" +#include "../assets/Assets.h" +#include "../graphics/Atlas.h" + +#include "../logic/LevelController.h" +#include "../logic/PlayerController.h" + LevelFrontend::LevelFrontend(Level* level, Assets* assets) : level(level), assets(assets), @@ -13,6 +19,29 @@ LevelFrontend::LevelFrontend(Level* level, Assets* assets) blocksAtlas(BlocksPreview::build(contentCache.get(), assets, level->content)) { } +void LevelFrontend::observe(LevelController* controller) { + controller->getPlayerController()->listenBlockInteraction( + [=](Player*, glm::ivec3 pos, const Block* def, BlockInteraction type) { + if (type != BlockInteraction::step) { + return; + } + // (test code) + // TODO: replace with BlockMaterial properties access + auto sound = assets->getSound("steps/"+def->material.substr(def->material.find(':')+1)); + audio::play( + sound, + glm::vec3(), + true, + 0.333f, + 1.0f, + false, + audio::PRIORITY_LOW, + audio::get_channel_index("regular") + ); + } + ); +} + LevelFrontend::~LevelFrontend() { } diff --git a/src/frontend/LevelFrontend.h b/src/frontend/LevelFrontend.h index 772c5309..ea8cbe33 100644 --- a/src/frontend/LevelFrontend.h +++ b/src/frontend/LevelFrontend.h @@ -8,6 +8,7 @@ class Level; class Assets; class BlocksPreview; class ContentGfxCache; +class LevelController; class LevelFrontend { Level* level; @@ -18,6 +19,8 @@ public: LevelFrontend(Level* level, Assets* assets); ~LevelFrontend(); + void observe(LevelController* controller); + Level* getLevel() const; Assets* getAssets() const; ContentGfxCache* getContentGfxCache() const; diff --git a/src/frontend/screens.cpp b/src/frontend/screens.cpp index fb057c5a..c127e2a7 100644 --- a/src/frontend/screens.cpp +++ b/src/frontend/screens.cpp @@ -100,24 +100,7 @@ LevelScreen::LevelScreen(Engine* engine, Level* level) : Screen(engine) { worldRenderer = std::make_unique(engine, frontend.get(), controller->getPlayer()); hud = std::make_unique(engine, frontend.get(), controller->getPlayer()); - controller->getPlayerController()->listenBlockInteraction( - [=](Player*, glm::ivec3 pos, const Block* def, BlockInteraction type) { - if (type != BlockInteraction::step) { - return; - } - auto sound = assets->getSound("steps/grass"); - audio::play( - sound, - glm::vec3(), - true, - 1.0f, - 1.0f, - false, - audio::PRIORITY_LOW, - audio::get_channel_index("regular") - ); - } - ); + frontend->observe(controller.get()); backlight = settings.graphics.backlight; diff --git a/src/voxels/Block.h b/src/voxels/Block.h index 8d941d00..698d29d9 100644 --- a/src/voxels/Block.h +++ b/src/voxels/Block.h @@ -20,6 +20,8 @@ inline constexpr uint FACE_PZ = 5; inline constexpr uint BLOCK_AABB_GRID = 16; +inline std::string DEFAULT_MATERIAL = "base:stone"; + struct block_funcs_set { bool init: 1; bool update: 1; @@ -96,6 +98,8 @@ public: std::vector modelExtraPoints = {}; //initially made for tetragons std::vector modelUVs = {}; // boxes' tex-UVs also there + std::string material = DEFAULT_MATERIAL; + /// @brief Light emission R, G, B, S (sky lights: sun, moon, radioactive clouds) uint8_t emission[4] {0, 0, 0, 0}; /// @brief Influences visible block sides for transparent blocks From f4cc413f61747de28f32c1af7df13721deb8d2cc Mon Sep 17 00:00:00 2001 From: MihailRis Date: Sat, 9 Mar 2024 03:36:08 +0300 Subject: [PATCH 10/13] block materials loading --- res/content/base/block_materials/grass.json | 3 + res/content/base/block_materials/stone.json | 3 + res/content/base/block_materials/wood.json | 3 + src/assets/AssetsLoader.cpp | 20 +++++-- src/assets/AssetsLoader.h | 2 + src/content/Content.cpp | 27 ++++++++- src/content/Content.h | 12 +++- src/content/ContentLoader.cpp | 18 ++++++ src/content/ContentLoader.h | 12 ++-- src/frontend/LevelFrontend.cpp | 20 ++++--- src/voxels/Block.h | 64 +++++++++++++++------ 11 files changed, 144 insertions(+), 40 deletions(-) create mode 100644 res/content/base/block_materials/grass.json create mode 100644 res/content/base/block_materials/stone.json create mode 100644 res/content/base/block_materials/wood.json diff --git a/res/content/base/block_materials/grass.json b/res/content/base/block_materials/grass.json new file mode 100644 index 00000000..ed16063e --- /dev/null +++ b/res/content/base/block_materials/grass.json @@ -0,0 +1,3 @@ +{ + "steps-sound": "steps/grass" +} diff --git a/res/content/base/block_materials/stone.json b/res/content/base/block_materials/stone.json new file mode 100644 index 00000000..2d9d5a91 --- /dev/null +++ b/res/content/base/block_materials/stone.json @@ -0,0 +1,3 @@ +{ + "steps-sound": "steps/stone" +} diff --git a/res/content/base/block_materials/wood.json b/res/content/base/block_materials/wood.json new file mode 100644 index 00000000..9c6839e2 --- /dev/null +++ b/res/content/base/block_materials/wood.json @@ -0,0 +1,3 @@ +{ + "steps-sound": "steps/wood" +} diff --git a/src/assets/AssetsLoader.cpp b/src/assets/AssetsLoader.cpp index 74b3d41d..615df567 100644 --- a/src/assets/AssetsLoader.cpp +++ b/src/assets/AssetsLoader.cpp @@ -61,6 +61,14 @@ void addLayouts(int env, const std::string& prefix, const fs::path& folder, Asse } } +void AssetsLoader::tryAddSound(std::string name) { + if (name.empty()) { + return; + } + fs::path file = SOUNDS_FOLDER"/"+name+".ogg"; + add(ASSET_SOUND, file, name); +} + void AssetsLoader::addDefaults(AssetsLoader& loader, const Content* content) { loader.add(ASSET_FONT, FONTS_FOLDER"/font", "normal"); loader.add(ASSET_SHADER, SHADERS_FOLDER"/ui", "ui"); @@ -81,12 +89,12 @@ void AssetsLoader::addDefaults(AssetsLoader& loader, const Content* content) { loader.add(ASSET_TEXTURE, TEXTURES_FOLDER"/misc/sun.png", "misc/sun"); loader.add(ASSET_TEXTURE, TEXTURES_FOLDER"/gui/crosshair.png", "gui/crosshair"); - // (test code) - // TODO: remove - loader.add(ASSET_SOUND, SOUNDS_FOLDER"/steps/grass.ogg", "steps/grass"); - loader.add(ASSET_SOUND, SOUNDS_FOLDER"/steps/stone.ogg", "steps/stone"); - loader.add(ASSET_SOUND, SOUNDS_FOLDER"/steps/wood.ogg", "steps/wood"); - loader.add(ASSET_SOUND, SOUNDS_FOLDER"/steps/ground.ogg", "steps/ground"); + for (auto& entry : content->getBlockMaterials()) { + auto& material = entry.second; + loader.tryAddSound(material.stepsSound); + loader.tryAddSound(material.placeSound); + loader.tryAddSound(material.breakSound); + } addLayouts(0, "core", loader.getPaths()->getMainRoot()/fs::path("layouts"), loader); for (auto& entry : content->getPacks()) { diff --git a/src/assets/AssetsLoader.h b/src/assets/AssetsLoader.h index 736216ff..2c277418 100644 --- a/src/assets/AssetsLoader.h +++ b/src/assets/AssetsLoader.h @@ -49,6 +49,8 @@ class AssetsLoader { std::map loaders; std::queue entries; const ResPaths* paths; + + void tryAddSound(std::string name); public: AssetsLoader(Assets* assets, const ResPaths* paths); void addLoader(int tag, aloader_func func); diff --git a/src/content/Content.cpp b/src/content/Content.cpp index 7c6ecac1..2652a4a5 100644 --- a/src/content/Content.cpp +++ b/src/content/Content.cpp @@ -28,6 +28,10 @@ void ContentBuilder::add(ContentPackRuntime* pack) { packs.emplace(pack->getId(), pack); } +void ContentBuilder::add(BlockMaterial material) { + blockMaterials.emplace(material.name, material); +} + Block& ContentBuilder::createBlock(std::string id) { auto found = blockDefs.find(id); if (found != blockDefs.end()) { @@ -109,7 +113,12 @@ Content* ContentBuilder::build() { auto indices = new ContentIndices(blockDefsIndices, itemDefsIndices); auto content = std::make_unique( - indices, std::move(groups), blockDefs, itemDefs, std::move(packs) + indices, + std::move(groups), + blockDefs, + itemDefs, + std::move(packs), + std::move(blockMaterials) ); // Now, it's time to resolve foreign keys @@ -136,11 +145,13 @@ Content::Content( std::unique_ptr drawGroups, std::unordered_map blockDefs, std::unordered_map itemDefs, - std::unordered_map> packs + std::unordered_map> packs, + std::unordered_map blockMaterials ) : blockDefs(blockDefs), itemDefs(itemDefs), indices(indices), packs(std::move(packs)), + blockMaterials(std::move(blockMaterials)), drawGroups(std::move(drawGroups)) {} @@ -178,6 +189,14 @@ ItemDef& Content::requireItem(std::string id) const { return *found->second; } +const BlockMaterial* Content::findBlockMaterial(std::string id) const { + auto found = blockMaterials.find(id); + if (found == blockMaterials.end()) { + return nullptr; + } + return &found->second; +} + const ContentPackRuntime* Content::getPackRuntime(std::string id) const { auto found = packs.find(id); if (found == packs.end()) { @@ -186,6 +205,10 @@ const ContentPackRuntime* Content::getPackRuntime(std::string id) const { return found->second.get(); } +const std::unordered_map& Content::getBlockMaterials() const { + return blockMaterials; +} + const std::unordered_map>& Content::getPacks() const { return packs; } diff --git a/src/content/Content.h b/src/content/Content.h index 9f201fa9..1f921010 100644 --- a/src/content/Content.h +++ b/src/content/Content.h @@ -8,10 +8,10 @@ #include #include #include "../typedefs.h" +#include "../voxels/Block.h" using DrawGroups = std::set; -class Block; class ItemDef; class Content; class ContentPackRuntime; @@ -48,6 +48,8 @@ class ContentBuilder { std::unordered_map itemDefs; std::vector itemIds; + std::unordered_map blockMaterials; + std::unordered_map> packs; public: ~ContentBuilder(); @@ -55,6 +57,7 @@ public: void add(Block* def); void add(ItemDef* def); void add(ContentPackRuntime* pack); + void add(BlockMaterial material); Block& createBlock(std::string id); ItemDef& createItem(std::string id); @@ -111,6 +114,7 @@ class Content { std::unordered_map itemDefs; std::unique_ptr indices; std::unordered_map> packs; + std::unordered_map blockMaterials; public: std::unique_ptr const drawGroups; @@ -119,7 +123,8 @@ public: std::unique_ptr drawGroups, std::unordered_map blockDefs, std::unordered_map itemDefs, - std::unordered_map> packs + std::unordered_map> packs, + std::unordered_map blockMaterials ); ~Content(); @@ -133,8 +138,11 @@ public: ItemDef* findItem(std::string id) const; ItemDef& requireItem(std::string id) const; + const BlockMaterial* findBlockMaterial(std::string id) const; + const ContentPackRuntime* getPackRuntime(std::string id) const; + const std::unordered_map& getBlockMaterials() const; const std::unordered_map>& getPacks() const; }; diff --git a/src/content/ContentLoader.cpp b/src/content/ContentLoader.cpp index eccedf16..146cb695 100644 --- a/src/content/ContentLoader.cpp +++ b/src/content/ContentLoader.cpp @@ -303,6 +303,15 @@ void ContentLoader::loadItem(ItemDef& def, std::string full, std::string name) { } } +BlockMaterial ContentLoader::loadBlockMaterial(fs::path file, std::string full) { + auto root = files::read_json(file); + BlockMaterial material {full}; + root->str("steps-sound", material.stepsSound); + root->str("place-sound", material.placeSound); + root->str("break-sound", material.breakSound); + return material; +} + void ContentLoader::load(ContentBuilder& builder) { std::cout << "-- loading pack [" << pack->id << "]" << std::endl; @@ -363,4 +372,13 @@ void ContentLoader::load(ContentBuilder& builder) { stats.totalItems++; } } + + fs::path materialsDir = folder / fs::u8path("block_materials"); + if (fs::is_directory(materialsDir)) { + for (auto entry : fs::directory_iterator(materialsDir)) { + fs::path file = entry.path(); + std::string name = pack->id+":"+file.stem().u8string(); + builder.add(loadBlockMaterial(file, name)); + } + } } diff --git a/src/content/ContentLoader.h b/src/content/ContentLoader.h index 2606e71d..b176b861 100644 --- a/src/content/ContentLoader.h +++ b/src/content/ContentLoader.h @@ -1,12 +1,13 @@ #ifndef CONTENT_CONTENT_LOADER_H_ #define CONTENT_CONTENT_LOADER_H_ +#include "../voxels/Block.h" + #include #include namespace fs = std::filesystem; -class Block; class ItemDef; struct ContentPack; class ContentBuilder; @@ -22,12 +23,15 @@ class ContentLoader { void loadBlock(Block& def, std::string full, std::string name); void loadCustomBlockModel(Block& def, dynamic::Map* primitives); void loadItem(ItemDef& def, std::string full, std::string name); + BlockMaterial loadBlockMaterial(fs::path file, std::string full); public: ContentLoader(ContentPack* pack); - bool fixPackIndices(std::filesystem::path folder, - dynamic::Map* indicesRoot, - std::string contentSection); + bool fixPackIndices( + fs::path folder, + dynamic::Map* indicesRoot, + std::string contentSection + ); void fixPackIndices(); void loadBlock(Block& def, std::string name, fs::path file); void loadItem(ItemDef& def, std::string name, fs::path file); diff --git a/src/frontend/LevelFrontend.cpp b/src/frontend/LevelFrontend.cpp index c406ebce..707699a3 100644 --- a/src/frontend/LevelFrontend.cpp +++ b/src/frontend/LevelFrontend.cpp @@ -8,16 +8,17 @@ #include "../voxels/Block.h" #include "../assets/Assets.h" #include "../graphics/Atlas.h" +#include "../content/Content.h" #include "../logic/LevelController.h" #include "../logic/PlayerController.h" LevelFrontend::LevelFrontend(Level* level, Assets* assets) -: level(level), - assets(assets), - contentCache(std::make_unique(level->content, assets)), - blocksAtlas(BlocksPreview::build(contentCache.get(), assets, level->content)) { -} + : level(level), + assets(assets), + contentCache(std::make_unique(level->content, assets)), + blocksAtlas(BlocksPreview::build(contentCache.get(), assets, level->content)) +{} void LevelFrontend::observe(LevelController* controller) { controller->getPlayerController()->listenBlockInteraction( @@ -25,9 +26,12 @@ void LevelFrontend::observe(LevelController* controller) { if (type != BlockInteraction::step) { return; } - // (test code) - // TODO: replace with BlockMaterial properties access - auto sound = assets->getSound("steps/"+def->material.substr(def->material.find(':')+1)); + auto material = level->content->findBlockMaterial(def->material); + if (material == nullptr) { + return; + } + + auto sound = assets->getSound(material->stepsSound); audio::play( sound, glm::vec3(), diff --git a/src/voxels/Block.h b/src/voxels/Block.h index 698d29d9..a3ee44d3 100644 --- a/src/voxels/Block.h +++ b/src/voxels/Block.h @@ -18,6 +18,8 @@ inline constexpr uint FACE_PY = 3; inline constexpr uint FACE_MZ = 4; inline constexpr uint FACE_PZ = 5; +/// @brief Grid size used for physics solver collision checking with +/// complex hitboxes inline constexpr uint BLOCK_AABB_GRID = 16; inline std::string DEFAULT_MATERIAL = "base:stone"; @@ -37,7 +39,7 @@ struct CoordSystem { glm::ivec3 axisY; glm::ivec3 axisZ; - // Grid 3d position fix offset (for negative vectors) + /// @brief Grid 3d position fix offset (for negative vectors) glm::ivec3 fix; CoordSystem() = default; @@ -57,6 +59,7 @@ struct BlockRotProfile { /// @brief Wood logs, pillars, pipes static const BlockRotProfile PIPE; + /// @brief Doors, signs and other panes static const BlockRotProfile PANE; }; @@ -80,9 +83,9 @@ using BoxModel = AABB; /// @brief Common kit of block properties applied to groups of blocks struct BlockMaterial { std::string name; - std::string stepsSound; - std::string placeSound; - std::string breakSound; + std::string stepsSound {""}; + std::string placeSound {""}; + std::string breakSound {""}; }; /// @brief Block properties definition @@ -90,7 +93,8 @@ class Block { public: /// @brief Block string id (with prefix included) std::string const name; - /// @brief Textures set applied to block sides + + /// @brief Textures set applied to block sides std::string textureFaces[6]; // -x,x, -y,y, -z,z std::vector modelTextures = {}; @@ -98,57 +102,81 @@ public: std::vector modelExtraPoints = {}; //initially made for tetragons std::vector modelUVs = {}; // boxes' tex-UVs also there + /// @brief id of used BlockMaterial, may specify non-existing material std::string material = DEFAULT_MATERIAL; /// @brief Light emission R, G, B, S (sky lights: sun, moon, radioactive clouds) uint8_t emission[4] {0, 0, 0, 0}; + /// @brief Influences visible block sides for transparent blocks uint8_t drawGroup = 0; - /// @brief Block model type + + /// @brief Block model type BlockModel model = BlockModel::block; - /// @brief Does the block passing lights into itself + + /// @brief Does the block passing lights into itself bool lightPassing = false; - /// @brief Does the block passing top-down sky lights into itself + + /// @brief Does the block passing top-down sky lights into itself bool skyLightPassing = false; - /// @brief Is the block a physical obstacle + + /// @brief Is the block a physical obstacle bool obstacle = true; - /// @brief Can the block be selected + + /// @brief Can the block be selected bool selectable = true; - /// @brief Can the block be replaced with other. + + /// @brief Can the block be replaced with other. /// Examples of replaceable blocks: air, flower, water bool replaceable = false; - /// @brief Can player destroy the block + + /// @brief Can player destroy the block bool breakable = true; - /// @brief Can the block be oriented different ways + + /// @brief Can the block be oriented different ways bool rotatable = false; + /// @brief Can the block exist without physical support be a solid block below bool grounded = false; + /// @brief Turns off block item generation bool hidden = false; + /// @brief Set of block physical hitboxes std::vector hitboxes; - /// @brief Set of available block rotations (coord-systems) + + /// @brief Set of available block rotations (coord-systems) BlockRotProfile rotations; + /// @brief Item will be picked on MMB click on the block std::string pickingItem = name+BLOCK_ITEM_SUFFIX; + /// @brief Block script name in blocks/ without extension std::string scriptName = name.substr(name.find(':')+1); - /// @brief Default block layout will be used by hud.open_block(...) + + /// @brief Default block layout will be used by hud.open_block(...) std::string uiLayout = name; + /// @brief Block inventory size. 0 - no inventory uint inventorySize = 0; + /// @brief Runtime indices (content indexing results) struct { /// @brief block runtime integer id blockid_t id; - /// @brief is the block completely opaque for render and raycast + + /// @brief is the block completely opaque for render and raycast bool solid = true; - /// @brief does the block emit any lights + + /// @brief does the block emit any lights bool emissive = false; + /// @brief set of hitboxes sets with all coord-systems precalculated std::vector hitboxes[BlockRotProfile::MAX_COUNT]; - /// @brief set of block callbacks flags + + /// @brief set of block callbacks flags block_funcs_set funcsset {}; + /// @brief picking item integer id itemid_t pickingItem = 0; } rt; From 3ee350fc0c4be6c93e74c37032bd1e04f8525414 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Sat, 9 Mar 2024 04:04:53 +0300 Subject: [PATCH 11/13] fixes + more materials --- res/content/base/block_materials/glass.json | 5 ++ res/content/base/block_materials/grass.json | 4 +- res/content/base/block_materials/ground.json | 5 ++ res/content/base/block_materials/sand.json | 5 ++ res/content/base/block_materials/stone.json | 4 +- res/content/base/block_materials/wood.json | 4 +- res/content/base/blocks/dirt.json | 3 +- res/content/base/blocks/glass.json | 1 + res/content/base/blocks/sand.json | 3 +- .../base/sounds/blocks/glass_break.ogg | Bin 0 -> 20367 bytes .../base/sounds/blocks/ground_break.ogg | Bin 0 -> 10296 bytes .../base/sounds/blocks/ground_place.ogg | Bin 0 -> 27271 bytes .../base/sounds/blocks/stone_break.ogg | Bin 0 -> 9285 bytes .../base/sounds/blocks/stone_place.ogg | Bin 0 -> 13080 bytes res/content/base/sounds/blocks/wood_break.ogg | Bin 0 -> 11164 bytes res/content/base/sounds/blocks/wood_place.ogg | Bin 0 -> 8234 bytes src/frontend/LevelFrontend.cpp | 49 +++++++++++++----- src/frontend/screens.cpp | 2 +- src/logic/PlayerController.cpp | 16 +++--- 19 files changed, 73 insertions(+), 28 deletions(-) create mode 100644 res/content/base/block_materials/glass.json create mode 100644 res/content/base/block_materials/ground.json create mode 100644 res/content/base/block_materials/sand.json create mode 100644 res/content/base/sounds/blocks/glass_break.ogg create mode 100644 res/content/base/sounds/blocks/ground_break.ogg create mode 100644 res/content/base/sounds/blocks/ground_place.ogg create mode 100644 res/content/base/sounds/blocks/stone_break.ogg create mode 100644 res/content/base/sounds/blocks/stone_place.ogg create mode 100644 res/content/base/sounds/blocks/wood_break.ogg create mode 100644 res/content/base/sounds/blocks/wood_place.ogg diff --git a/res/content/base/block_materials/glass.json b/res/content/base/block_materials/glass.json new file mode 100644 index 00000000..86693a6e --- /dev/null +++ b/res/content/base/block_materials/glass.json @@ -0,0 +1,5 @@ +{ + "steps-sound": "steps/wood", + "place-sound": "blocks/wood_place", + "break-sound": "blocks/glass_break" +} diff --git a/res/content/base/block_materials/grass.json b/res/content/base/block_materials/grass.json index ed16063e..148c80c0 100644 --- a/res/content/base/block_materials/grass.json +++ b/res/content/base/block_materials/grass.json @@ -1,3 +1,5 @@ { - "steps-sound": "steps/grass" + "steps-sound": "steps/grass", + "place-sound": "steps/grass", + "break-sound": "steps/grass" } diff --git a/res/content/base/block_materials/ground.json b/res/content/base/block_materials/ground.json new file mode 100644 index 00000000..af6eba38 --- /dev/null +++ b/res/content/base/block_materials/ground.json @@ -0,0 +1,5 @@ +{ + "steps-sound": "steps/ground", + "place-sound": "steps/ground_place", + "break-sound": "steps/ground_break" +} diff --git a/res/content/base/block_materials/sand.json b/res/content/base/block_materials/sand.json new file mode 100644 index 00000000..00901142 --- /dev/null +++ b/res/content/base/block_materials/sand.json @@ -0,0 +1,5 @@ +{ + "steps-sound": "steps/sand", + "steps-sound": "blocks/ground_place", + "break-sound": "blocks/ground_break" +} diff --git a/res/content/base/block_materials/stone.json b/res/content/base/block_materials/stone.json index 2d9d5a91..a5b6df37 100644 --- a/res/content/base/block_materials/stone.json +++ b/res/content/base/block_materials/stone.json @@ -1,3 +1,5 @@ { - "steps-sound": "steps/stone" + "steps-sound": "steps/stone", + "place-sound": "blocks/stone_place", + "break-sound": "blocks/stone_break" } diff --git a/res/content/base/block_materials/wood.json b/res/content/base/block_materials/wood.json index 9c6839e2..d29b8a63 100644 --- a/res/content/base/block_materials/wood.json +++ b/res/content/base/block_materials/wood.json @@ -1,3 +1,5 @@ { - "steps-sound": "steps/wood" + "steps-sound": "steps/wood", + "place-sound": "blocks/wood_place", + "break-sound": "blocks/wood_break" } diff --git a/res/content/base/blocks/dirt.json b/res/content/base/blocks/dirt.json index 023bf65f..1495377a 100644 --- a/res/content/base/blocks/dirt.json +++ b/res/content/base/blocks/dirt.json @@ -1,3 +1,4 @@ { - "texture": "dirt" + "texture": "dirt", + "material": "base:ground" } \ No newline at end of file diff --git a/res/content/base/blocks/glass.json b/res/content/base/blocks/glass.json index c56bdd55..902a2cf1 100644 --- a/res/content/base/blocks/glass.json +++ b/res/content/base/blocks/glass.json @@ -1,5 +1,6 @@ { "texture": "glass", + "material": "base:glass", "draw-group": 2, "light-passing": true, "sky-light-passing": true diff --git a/res/content/base/blocks/sand.json b/res/content/base/blocks/sand.json index 46b50319..08a7d4f4 100644 --- a/res/content/base/blocks/sand.json +++ b/res/content/base/blocks/sand.json @@ -1,3 +1,4 @@ { - "texture": "sand" + "texture": "sand", + "material": "base:sand" } \ No newline at end of file diff --git a/res/content/base/sounds/blocks/glass_break.ogg b/res/content/base/sounds/blocks/glass_break.ogg new file mode 100644 index 0000000000000000000000000000000000000000..1da0b6a4c5a2417955471c34652d1e1a619c498f GIT binary patch literal 20367 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

bfE5q~6M#^|2L%P0M&xv^!%|Ba`{(}J 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%0Ai5mmGeUu$iVUp^_UfUqrxxkA z2vYYhYXboeh7;3Dlac)oQs~J)Zo`E=LV97WMkZ@`@u>&Jon}xxpn8jbc=p?hX{9LA5Uap%{zi~NeZ4&`uhumkg+@T|lgL5hhj!=TXScJc9;)}L>L;8!N{kXgy~S7@(v zTHfk)w&yRS@8ta5dsa`-tdO5wW}WEfa^UKpC{3-}n%SK96kGe=;eB$*gg{hb7=7)Z z>QCD(P7Htp^K{lzm4gJjVwShgMCm!_U!WYvmd=j?%B%=^Apz2?LJhiJD+T>{d!(L#-VrF5;& z%$tvsbO$>{%7^#D7)9*HLVgCLk(nc|P%54zDi3eXsL5Eqr zk;{?nyOu=S^QV*^4>L#yn|V~WH~11rl6L36Nk|ALffW)E;1lE*5QBZJDS2I8Q<_Cx&iElrxmNGGwAY?PaEw;Eyn})? zYH|^g7JL2YW$36O1;ZX@U7!q}W4-nH{g_cPNSPK^S8S2hOs zmg8_B??xl_19ruan5~jg)1`?Y{k+N)eqLJxm&aHq8Vr9n=5KAsvHi@VEsn~x;*|TL z@5H%_fW))!o+&CO9-Z1%NBW&&iEON_TtmMEq_U3x$%APaq9n!L73g<{)%%oq7BD(= z#B>gPC%M(I9}E5*T52~CO;fUC?&%BF@*334Wku0Y@)qDW#S}}R-=AjA`q2C-Rp+pM zEo3O&RJ+Pv2ETc%$Ghv-q)bwLl)VpNe(G8QrL(budWjw0!_hKA1=Mp<-Ja2c4IEV! zbCb0@#PJ2hS2YU4=9nBiO|^KG+6X)+6I9-EC=P3woe;fYv#McpLHSD5861Y-rxSX) zy(63tTX$7d5c{H0L0+edNrldf7a>J&jLQLREP=mrDL12E!_VmTT7CklFL-{hCplS`5Vfu( z0r4zJjz>@2dwAJgaO}+_%ra_aF)zF1?nlSFF9n#DJ=`v~wfjm`#M0r3U$R8rnIj3g zWxb7~RBM(Ed^k9__uXn=`w65n?X3mGkA*zcS;ze5)+ySTshRMJ5>dPbqJwOat!PT~ z)hNqn-o({?`z^XimZ)nTX=AH4@~#PV&4pem`-Ao$D9WD)>n-va)F($rTTeR^qFEHf zTF~Fy^xZ?7@bCaa?wp@e5G_6mz-rXfooe}40Ts@FkhO^2|ICTsct~r1y@y4JadiP# zL!2t0KRfqigMi(_WO(OYkaOhZu)z>P(mQ-KJNcR8*BGOK6^ZFr2g8u|=7$aeKQ$i; zIv$3F4>Z1+(*0rP6UR$R@xj}St=)h?NzTDACXDHwT!SNr!ls9DT4N`7<4S`A`9sP) zB=QRX6K3FX|CPr>9clVIz1p8Qm8MM<&&r>%T77(8S1T%V=V^nHc#%wgvfVt-ljAIz zFDc)S;YTh)>)ztRmIJ|q^|kVao^#|sx^t0ACmg&j_Z%&HzPd|LtWwAa9exhr# z^QdDiJ*Udg^ty47>N2rXiog3!1-G3ibI0Ctd1 z{0`G+|6;n74uvQ=`Yi><`HJfh@z*OWT<8Dz(}iW6 zeDS5|WwHqTHMwHxbo-}8r>tRG{GLPR)BGrKB@3LC)2lm&LQb7s^yi#PEFw^ze-E^rco2~g!X5L_=6ko zrHoD_r&k2XCF>WG8%5fgh@0HMdR^XV-5=%2rh5MHD_NJT^qQdZR^8yAIe!A+yM6nC z@o%s4W1V=?Yc#*)noV+st>+mGfZV-lkEW^7n;!S|_6+T*%D`t8cv%aJ8wWcro&;?UitBY6zoH+@1U;Z;MCu zWEA}E29u-rQk`RVw!(Gr0S*TOuWgEN&8Ji|W=UfK5Dk&hh6kT10P4__Ih!xROSXM4 z-?CpbcD9@j;Li%#>t@RMSetC7sR>2*yH+0KIgN-5UrBiRV=X4d^jbb2doA&k$pB|k zk*rOTeOcD3wf>%9l#La#{AKxj@AB2FJNY6QNB;w~!c`8&4VOP+&-Wzrw>Cdp{NkFy zY7AVvi5g#)Cw;+7S{R-6a`#T&iAV41Zt29p-CtvB->3%|rJHLZP4+uGz9N_2A5eKs z7hWREOMXCGIDC^R{3v%rDKkDdck9>vh2L`%(?=6q?l@|DkMI3cTDzUE@g)s!KoyZs z)G`&Sczk3Nb+Fnq9kuKW-}URSySw7rI|&@0A@&CEnmcvN-jaJa!Q)8&hy^<_tyLND-z}zBiWOUS=*ETDpal0FJW<3lGVThI5bCyt3tUBptq- z)vm_B#NKMuQ@Cfw?9EWWNnF6ZVDBwsDgEfyHR?K2$s|dHQ!7`doRObIPlQV4qUL24 zXBv(hc1J^($Ui8zmRfaIUhN8hE?AvMVA?I2>iOKU;E_aDIP;4wTz$nr;TsCnDX@>& ziMsBh>s&*o8^T)fXe&WuxY4h$H{fH%ARl{^{dW12osr<0@yZvW_Y{O4Fd2MT+N@=LN;6l|uDc-g9K-u?ThYhM(Iq11yPcJL* z?avJ&QLa3AW$ZV4VdXz<`3{vqE!XYc>q`<%O; zo}OM^-BsOHZ}qBf7NcZkr3L^8{Ody59u{~nLM|?zff0jwI=PzKxV=|^1$DlEfi5qw zzh7U$l-_&(_x0ZModSz5h>Xhr_W!%aA^u^+0HSN#I9oF*xmuCh+n8$pWlt(Y%ErRV z$->IQNlLqu6Z+o?_|6;*>Yu(qQ87(004%76Ri1P>=v$%&0DuYr7*hg~Q!HhGrKyFq zKAEY~@1jrlfp!+ zZ1chm+)|r4mbH}GInDs7V3Bm703gK(OOu6Rs=jBYk!0bxpe%yWb&RY$*AT8?Q3S@8IaztuMNPB1ZfFC4w;A5U+<#?of9F988jC12 zo;j*0>^u8NU|FUsh}A#SA_WA2rU{Tr!jx&moNOeV{!XcM#h`-0`JG)tO=Y#|m zBaiZ5MtC=}mcmYj>EYC9CHVBqI z(d4gMf3t`0&|B(c05LviKn*A;NdYTtGd%vI(GiSa(N3_XMIOO30kyN4%Z91^p$+P*^DXC{khu^t&1404B<~Yx zKs>Z5CRrI-3bA_va!LW~7_fvmE?!c$GDKMwkEYc9)8Cns0sx_?e^LBj*C%^`s>%XO|M4i0 zQAy1cMWFHiI!Sn@>jbbIo>$1r`xp>)mh9YaEeLqQG8;5(MbJhp`zm%%)z#k_{aqNl}=HVeHk0Xl8}a+rVI zW^38wKRoB%MaX&Mccqgd|Lr*iwDCJU@f0%2lsd`OKIv9b*_BzJk1C7c|A*&TN0( z;5$g6?h-ivX#fDAFA-7h?>eHQ%DAY?xv0vhp)T;hdkl!W$e}RL0a9!l0DuPoP=Jga ziW=>jDC#Jn4a<5!3024oT{wgrT8_$&$cseoo+v^i@HLrt5b=6jl@?1}J|vEcJDwD2 zpiEz8p9dDS>_Gxl0DvIYG1ehm*BP1d0`VDExV+RcUYgRBIT;{hIxahqstnz1H@A3B zX1pX7S1vlQ1l=sE7Sss<1NtBoeoMpx6UGDpOc7P#fnlktGr)sH)d|*pLRDGb@?5nU zURa{g30CO55L93(q1p^^lrVHkWIs3Ln+PocK-vce`iRnUm`eaqX#m^Kl(Q)ua+p+d z7!tFX7Rwk4%V`|b9GoiZ8j~0ri|QI{*a{kLR0?0du*{Q=zwmQKva+A^Z=tJ2ZPLiu~NYN%Zf{5xs6lBT|-5~LPuRg z$J0XRUPEgsKn_GzQ}}_Uq0y%CaLihJlvFk9!Rr?2mfOVL$Hze&W7!US9M7 zQB9UCOul$*(b{C&*cMe(Wz$wwRaUh*RMpk$75%Czs+wrBs;aA*XsWNSvp)e*>nf_6 z7^Z(uLE)WJ8PCA^c>guYSPT#2=wI?GkCmk&QWx&a@ z>f?^ejt<9@4wtDm2g2g2;~u)nfrg2ui<1uK77sEN4UdgfgIz7qJRFR?KI`3wH936f zt$m&VF_?ScopmB?2X$+9BmmWoT+<7g@Whu|WrIdqRhv^)ebVGeKUi}js-h8KkY=&P zZJ>kWxWyf>w;Wegb=*NW*#i>9x<2AW*vUd@u*L-<CV;R3_KppV3E@IAdhj3~FaR{!A*LEC-7u*;s_HRmi8?DZnVX{QFkz~)tSwpU z0^JCydc4e7ZVI}rH86Ef6{fIMS=O#FbxGB(v24NgjI;z>)`l^4PS>__WI;C;%?y?8 zu*7^u2ClT_od9BWSWtp2DqC8DDJRRQIRyf8@tlZsWeK{POl2#GRcQ&foGfb_rk*3~ z5+SHZ3A&yPa0FA$fpH|8VuTdLYW!XJUm5$EsUTKaA<43`wQ0$!Q@JVctU}^tWq@tT zvhtu&$;vi{sp{IZF6FA)bAm<%VwEgw&p4v1C*SIUs*CV^RGoY~Klb4gyQrZnCvY3#xG-f|*12Vz%GKf6d&~ zmT_dswDw&%U1M4@Nch33ZY*!=oGFM^vT7`-hn{_VS-LHVkgXcida&wd&w00?Tk|eM z4)la@OK88<1g$zj5CGvIIE#Y!CFI?0MIu#aWNc7fr+De$M5lOZDqZD8fk2HZ5m>6$ z8D1c8c!?L5suWv}j&WGi4hRIzf)NyV{B>Jsg{WaLcqAP-fH=sDM@T{I4m4gVZpb&> z5==8x@={!oT}m;{K)S_sLl&jOGn)~i1%@ii(gDLzWo4*JK@l!IAt;`+|CXvv2pZ5o z>xeO;DI#k)sk=HG9a^ZoEKOxFNTanLASjd$PwCp$wyX%l)`l&y$x(rzU|BnqsY?$4 zoPq{)`ga|n0wlr!gmH^Oa(S&#O{aK&5psZ5M#4~Jx{=%vWKmcw&@e#HswrMjhAIjo zfa1Nv5KvZ{I`>Xcl|3Q_)d5T0-wCOz@BjdvGbkczP%(G=lvDs(Gr<8q?`x(kFHB*o zByfZ@HCYuT4m71oS45ERhBe;_sk*16AZXZgdZL10HKHpfTRW_6S4UR5WLm?y3<7cM zLAISNh+sF}4gjn}!2lW{2qd^@aN+1U%>Pazh!mv8Sk`b%(`eSiTrpVSa3(0mDZ_ma zJwOlH_xK|gL;&56fC#*Ygzs6dTl~KRlYf`s{x6fL1jSisnxLok2rdEaKT)|P`rlhK z`+o)Lng87WN6h~3=>2~y>DkqSAorgcK)4qk2Ji+$pee-z#7AIwpCc+VD9{_s1dSM) zC^Q`St0WX;oBcaETuv5rYZ}WLt_o^0ykc6zS~8~!@=si|8ju6&+JS~{#|Ug) zGL3Bo=^wO0ESbh|F6klwwjG@TLDCH_;b|q!1K+p*+L{a$Y>WQY_WQ;_6=aKoceId+ z%Ysn#juEm@kQx4|3r+m*I#j;Hf1m{d)ZstvQk6yjLJPJKR0kvifsFQVi3(JL`zL_= z3&v1%P$-uQ;`~otDmqBU-|#L~^&OEQ)w~n_LiKM6j_h4se;bqi)Av0V1VI$yeHEto zMOi#SZqM;^07BV%OcoG?2mrXO*q#8F#z=>AL(}C#6J1eFnb1_Dd8HaHr16Gv7gJeF zG1XMP#}mJIDdQvD^rXRxsUY*irtmjBry3rqb& ze%~R#i@~NJo5o^e=2~A`SXsJQ+g{z++FV*++dAL1*PV2k{d!h~-le2Xn!=89*lgbw zadeei{>Og$W7+RNLr70J$-O2>-FXBCosPioUVs|U?jekD3FmG>V^Y?>>(^R7!Dhn^ zw%^~*GL#<(4bn4Rmxyir-cGkDztSP3(JlB2tiTq0YEtyzuvS-p733mNgLmy(d=eDM zKf)fBsbx#p4?j9huVvQTwT210jA8dsJha&$8pH>eGlqi2 zVfA&eGccbBDAU@g+uB^|e(>VPW>Mh+8^b+iff4B9r3S1y8R< zvU6n)8Bk=RB9u5<$vBooMhXEO;>ru_CJu-KHI3o7j~~)(>znj#T}s(;>BgY>;w8Hu zA>8=6j4fd6-m+L5iNRTBBq^@qy;VP89_V19Fz4NSq$&#EvX^nP%tU0)*@ma%l|!VV z`=1YT?sn!_MF@T;8RZByIYkav?*>zFr| zpFae-s5;2&FHoCgn|AJ}Aq?uBuB{Q~D5W$m)yGZAJJ8^5W?TRAS%DLJ1V{-v@6lugS7M{(S=FYmL?;hnTsd?7Y6^)-FJc{@@50vekSVp zo{v@jEp*sy#jL~20rg0Ii6y_mN2ti8DEirtvYGxwupmm!hd0^5ljMqDo*|+lrxy73({RT<#`Ls{|{H=>f$2;eBBK z0Ou`;LC_J2?)Qx7eIPG<6$&<6tc-l&^NA5WfuLobz$A@;{T};>v_*{g*^TJb$=Afz z`V*{-;kJCRAhbgdfx~=_+Y@U)xP#(i_tCnHyJABc(xgR+aRd7b#`R-of6S}UpByec zP*;eWH7jv<>0SF^Ds+zWG7l8+Oa^7nI3KxaY0MjOu?0q*8zErqXO=BL0{`^bPVa94 z*_lKuz1N4nf1QY2+h?xO6 zH?lz^X7g?EYU5R+z(Nf0RF%6Yo2n=o=76DwRGE5d^`Y6zr;G%}$=8F8-Xt7?d(ht0 zNNaO5Oe|oEW#~?wxb|<=$JyFf z@e_(w@{)2y_EilOMcF945iHVgz^bKw87iVj(Z0E7_F$Tj1h47%CR4{m-Z%pgL9 z^EawOcGud-xvUeAsq>f7O_64F#}cVsIhBG76^Y2+dcE0t9#7MbcgbD zJX@gG>h#k<16m69fVq*YoubR0MebGQ3({!g%Ly;8t@VACtnLR4_4Lu~5%)IUL@(y& z+?{`H#KJ{DIvRXhf%`0HxfsfV%Hra`l|s!SWlPKwkCmPxTkVU9cyF)XaVoEVzNGW! zqG5DSvq0_P%w7KFoJ9IYu7F$HNrQvNzVVj>^+Q#wmiW>L0nG$M*Y?Aita^I61%UNlJsVMGury-?&PA8Fy zJei{5dDMZk=H`+xQ;S-fpY1UQU-d5tzGbrKfp&)@^fUOWeR7v`1SC-^$Dt4|rZ1FL z&g@t5@&}HeIJ&9%t{=XhE2Kf(D2+0EM@2kZ%si^<87Tb72sRfkcN_#_0R;K)WT01| zjb9WYjF&b5C7j2ab=r%nkQD5TclA=6ZT)}VUM@YKeao9X%@WKA(z;7hJ5Pv6&tp^r z#W53Z^^L;&c{cnCvEX)Q98;lfc)jmvx6my=9yIY5OaH7ePXFR4o29L%^TEe}!P>U7 zT0iLvClVX5=q#Fskc%?S+o<{D2~#p!QM+l3qT=%~JzlS&pvOLgh|zctzX11d3K>0) zIxdIvu49sQb(*{UvZorchVP?V<`1cK~kE!$wnRZ+-MX_ zt_4jl<*a`{bhwikIlN{2V87bS{FwZ7`dk0y`z|?AH=VX)Mk)?5V(T*-lIIMid@CKE zm!m>n_1LUMI%<6b*`@xbaUlD3(m>9q`-NepZnyZB7oe|i$&#NWcvHI}#kax;j}uRP zX~-QlQAlih@}D+-;(W8={p$^AlYI_TiKI$v}yy<=K=gas%jIe6B zG)|aYyH3?{Q;=T6_Ecm8Ww7LtD*GuJW@Hh_h{zuy4gJzpU~nLW4MCQ}6t1s&srog+ zdX5fYczOI_Nz!GtmJV_4F+ugTW9O9(H*uM+yTfJ?wH4ROE7MH;@un5*3StHvKx}&uj6fWO zH6sKH5lb9Oo1{}2?r~MD0W7!I$A3CK{{+g14)cxhZ>-+mf0a2|(w|ry;=O)mt|hB_ z-g%sMzXH^+G0o3%OEQ{A;Y#J|_sh+K4++SMms02Z>rt%==g7IS6w2K1h1jpNjw)AI zX2Ylm1iaz~wYI9B%PoGiXkyq_@eL7;amZcqLs1D`^OgyRyQK4aR6hGH!E}amU>2Ah zb`2eUfTM`^_#Be_e4I>ER-^{YRlknMQF=vPZ%t%XbEmMt-AO0MCI82l;ecofx zt;IL~^FjIEgN)B(0iBGI&23|4?f{=1gOD2-{F}|FvD|2k0vagoD(??N><&e#@GS)1 zd9k^3;|dS2rmi!fC?^lIx3};QczT%Q7`6of@X=QSAEFgd5TI57W=Hz1%%TW5sLM0p z^-Op)`TQz)s#8H=hw$V?z(tZ#?PDVFVzZgg4dYg5h;2hYV5&nUlB`*O3PXJ=#J@Xr zQO7UuVU_q8inB$P5Wl<|^*twaEm2^FeK*bU_28aCH|Iw%=#;PebUja*a!iee^yF-` z#=6}S_?nUdeHfVPe|}f^rC$mUz19uC^E}DKIVJr5oGc(~KUW~ay(RQKD_WY7O(3;1=&HO zT@smS*13+YORZwli%(C5JHeHrY06$8G3yKGP?r&=DPsQI1JZ)%dyyfiYmC29!xCn9Lnf~ zX+a%zS{PEmcBg2$ytMqBzXb1Ps9V#`esA+tWz5|&_cP9G_SsS4!kJTs(<|DvI+=l$oN#O(cWt4NVS;0wbC_aIyZo_U=R5|-ZI6u@yT>w>I=mjg^qbW2VOnx- zJF=E=)=4e8C_b=3swIrLwBaZN5 z2z2B|SWd6q+h5bvCh*q}Qt9rhc>UzRT09Jnnc|CnYZN=vIH@GW!$L#4vnhp?3Fl;~ zvh&f^397YzDT;fG7@uYZBZeh}1T7+cIiG}A3NG+*N1YkiJH+Xp=I;Br*{eSde1BWt zqgKMr5pWOK?N2x|ihN=b0Q#f|SL#2+F`^*QnrTklZ(O1?qgc+X}aV)8=XT zq4mg=r2Z2*nVf=FTf563h)<5e82^Pd;M*JNd4hXZReU7e({Ox`<27mD2~A=#`({w9 z`nYbS{%#XT)eloOTWjLQCYR$4$IL_)3{szJfeVM8#lT>JHhuQUm(LHk8YXsvng)xV z-MQ{|F#37FY^AY01r^{hHbyU{^TTWtqhA?LwbA^^Y&L5^B>2s# ze$;NdO#MQ9^;E9Y{u{dlDZ?{&_z_Mw$6!V5klO965C7L*LVodO#bB`F7au`(hSZ~5 zNzus)9E0hOj9(LH2a`E;+6EjBd*3f-(gqjhoi_!Z%F52CC!Kmlf{Q0MWfaX|!qi#3 z=z%jHHuwgR``5LcA!Q2Qb@Iwv7rKoS{#Y1hNKW&QrANBLl=wE$MY1?<*V5z%?eRi7 zSv{L8Z7|;oGupnJO&w#`WUNJCbNaJW+exN58Sw^W(*i&k07G|%Lx=5Mj#4xPLzlNZ zEmF5ROHJ%qEE|V^OAE>W3~o|WQR(jA#@%;Eb))u2A+NmgTn52mGEAZmGvNG0A(3->PA9u8O@`k=lV5FGP4e{ z8>}1WgH0Xrl<$$VLm@qA1=e_X3K_OlgRq|m7BlQZ+gRMpGg1U zOqmfY3s1&ch;}JJ5>R~$#%K3VgczdJQH-49lqj?^=le28vdDHjsB5w^d9anM>m)#l zY-PEnkZbWZbCCI3)iy1)uXr)$mPv_{ENdWHs&Xd|kz>V;%z{@J{01>!sHXF-g&$X| zFth86jHp<~t6PlDB=c_1W)2F&FYi0q3(sZz4(iCMC~*RQT(h6f7&@O7b0dp@(c)5S zHjMQo`;syFnZ-6}A95L|nHiT)AX90DEFh@D8xkV(B_ZZ;w?ai2ySs!)UWN>x$%Hry zque8wqQ;d{2Q8N^9}K&?=5cdxi#p55!I$tt?hhe)w5Cj<7#dXi?gi1ai3gyAIBo}{ zNQx~fN)kx0wc?Y%q)irwy&N4bEn2-1;n{brNXxE%IVC^;n4N%;>}0Eial!qvdtyLd z+uZt=;GFe!So6n{OxhPL7jese#vm=6p6wV1u~ZbOOS#Oh%8}_N`W=$ORwOvwE*E5Y z7wMPPbjqI{SGqJD5jJeUPruX&Bl?iivAb(*;8CElH3zQMpS>CyjX*ZZi+pK+J}UFF zL?gvv5B4k}{$y9q@6|p+oL$1jgq6^-n4$bLiOi87&s+cW)o|Z)#6iMF51V4$*2mw~wN@vU zi{F03P)|11{V~l?;~?P6l)vNrkgls?RzpoRj%&d0+CB^Ev@p@ep=U}R`r!T1h;l2oDe`K@9$f8At;c) zJ_w^?-a^e!y5oSmR;{@2Rh%sNj7n=|aXd4f?|s%H#Dp9}4VCC02rw(4`W@6(Rm;JO zR0;VrA~?T`Ywx4JQ^T|4o!j-*;luUnq|~R#M}Ok9*JSEi5_SCm`yie+UT?Io zf;iqTPgPqC$DwK9GVYy88#_>>g_z)HoVm_Fe!CKpS6zQ5rVYGmFI2IF@eRgq!1tXA z14L!<$4Bp$3e(6y3Qzj_#W!0$u$C)sPd8yq1E-pEkJ~TIU3GAY%s7n_fiT26q!e0E zdC9=mw9eYS(Ft7c+u!T-aID(22TEz0pnWfX?&@avQNq^z=O=wG%k>~v9y&n5E9hmL zk1TCzXXD?~o11O~*c3b5351;;UcYrlAgc}PDcR3{`>8}@lSlY8lBYy{+gtao@?tx4 zi;uB>Lao#px%ji?k+H#}H@i&t^rgZaBg-7mvrq84nYa5O*;(ul;!!7K=a^!L4|nM! zyjZQH&7(a!0&v|I6v$&Xm$4KErkk%k0_y@yt8bA0HC!j6VvCw+=Fj@)JJCCgPJ0<; zodJ|0X<|=bdglz85E%5S!JE0^D8p%vx;M7wvqvh$s~BRDnX4{k{gWF%$VVs&DIvD2)+V)X#xuI6GGm-H>sW`-zoV|pVqXr^NHI@}3;?e91j4KQ$Vw%Q7K?9V$$_l_+ zCz1aOG!mv8JP550nbW2Dtobu{1Wd6+IBrRisA8^Vm-rS^oe3}mB^NMP(1NthQ4hd5 zMhR$)CsV9((K}{drSOKUC05JiOu)<^taj;og^wxCQ|{Ow7jgp}t;`%ZY!FO*g%^@_ zj6q|<&WMUn4}Lf%yp4kIZEh#DL=Hp&UnleO=C}WCnhAKRgf@jM{?%@O9X;%r#d^0g z<@(avMhsNE%Vms7NmojGuB%V4Tt?LOT&HcjR6y9L15972ZJGyk<|GrBLr~KTmwrT? zljJda(%Z_yR=_98?nH&<)v`dD_o{ayvYgQ)Z_@Q_w{b4DZmnn&N{*6y`Y1xxP;XYS zd5psvBFFhap7+^bgPKuhv-{efy48E>nPA3iEYHsgEX`Rc`hW-NeEH}PF{t$fP zGYIY_fj5lKIZ(Zx1-Sy_XvDLE;^B^78*w~S;{kj!bSzU3;tPe#_5U#lr zy6f~QY{kJ4v1*i5Nm*qW)&h#yp6jTzEYwgwpU(3pnS6b*d=^^ZaP6QH>7#V<^yao^ zj*oWQC-NB%61^F5jr6C-8uGN~KK#*Q#;vi@?a$5U@5w`UH`7gjtTf0epswj#pr7*Z zfS0O1A}N`nV^Dt!Y6(om@upckVm|gWXexhd&)#Ch%U(gc26KjRqJYPi;pQ^W%Clr} z7ZYtQ*FpgsXPFd*nP5|*bK!sfe2`W{Q8@kWblAnNj9~?0F)YEXA4~O%(Rd%Y*suGz zpIhQ}R9CPfpn~&Mjx9d?kgmK92{R({G!f-{>KFJJQrbmt5AN zo$0&I&m_BLb5rt6+|Ksk+R1t3(478=+uyM-xKjJHB+}yKD3=cyy7lzNtC6F$$Ena^ z`7U$%!#GNs8}4buwTq{#LAJg-nHY1uI#k;nyz9{u7TURu6>(GwC`{9kU$jG~vbrO= z==+kcW;UX5FkwL(OR{8?1lDy1f9pB;`Q$Sy%jyIqAzBX6MLDdBp|~f8b-#y5QP26l z`7;)`XbNO*>RH|GYKbZ%d&Tc{#C+UfiDv~oUQH2vCKCz$3P)};yvrlltbHQ_%$mmu z_mRB)oha1JZd-84DwJVvT=ao#L)q|3?fH|Jw^5u)tO^(sD)is<`bdF6xWp-A=-#W) zxS`SbL9G+J9*mPs4{Mxg#1S>e-oL7sq*5(*C1{|#UZcCi^W4;jk_z(4gFJ4heFUe> zsL$!FrmH#Mpz0@>{hijVC8c}Fi>$}vB|2dA0s(tuM#Vv-&1A}Db6-e^^j}~5BXWHD zzG}ZI4e|GF&v1C)fK4~>k9Te~heF8&{C%5^>c0+(i5P#)nI zUo#c5m5h*6Xrp-sEWOx~!o5GV5TLT=g4Ntk_#jqL*1&3n9D?&i=OH5xXT`Qy1?Drd zm+$Grnbmmz8kwkb7`57Ofs(sDEnuL~%61DfG=2^SuT0w960IZeNz@>aqQpNNxYdGf zVMqUr?0!^tzv_g#XaLnobiFJdYE1jJ{N8hXBD;$awtIyOdS{79#;v+ z0$JzlXuGcCXw)c%`$H>5*{G*j^Tknqx8}O#&weIHgFNlaYJ?pC#cCnA~ z8$o6uutLszsFb`+_@r*+c7t>`#-WkoH6~8jEVDCbdeQ=Svs0<*1Ul}%YRM$95Q50`A_ry?ROSlbQG2p>Yrt?w}6oHrfLn|zGcszvOt0fP~jJ}}%(n~|l zYZFo?nR)KM1^W~>@bC!EZlvk)Zt}uD@J_a8;aO*L(!r#GA&DXUr3o!o#@_#_Yy=SE zXMI4>Ne3HciDi4|*Bs-_+}|xVPk}K(CuQT|fT)3wTKy>S`uV}HZkOvuK<4uL<1CMG zrvMA9qD}vY2uMJ4@2ROnr~ueO^nPUdScwHz;F)SoDx1*Hjp)7yrI#cY{|p4I?d*{QGyTt1YSIaHfyb%IVG= zntNw?E+v*UQE36b%a9C&u(I&xyv-LYu!U&)HcRwpud6oTx-}BXznHl0(TIJXL^`_l zz^&=7tH4LO>`;TU7&ooSLp#|-aZ;W22%xpwFNxbx7&q~|{phWC8BpxxNX35KFs2O; zH`BU3IPE+KvWZx1Eg-HQPIj~X=!V^=5y9BII`oA?d=&&LRVIg60CC-#!LJ>bD1k|X5g?9{=|>3=Z@F033uSm>qFJ^tBmJ`4TNu|nU-zmFB(Ut;K` zB~uarQc-hoaIDkOQM0hK(bCb<0_m7oSudU%25g1s7cT1r>C2J`JJp(oY}dUc|QR}g%{X=5g4 zctX0m_xud8G4+s}%MgM>DfhWW9CKE1;qgWALo>ydGt(O%9Khz2S$>=X=g*21{l>2O z(?4q^2P--fw>><<8taz1$irFl%D(+uL8&HJ{hY2>LOc zc-iZaBg-dr{IJ*uPFzzj3artgrzbLq**poM$ppOtT2z(2_aAL$#%SExxcf5WWk^%; zHKS<*gg%u|jxsn&ufka(-zcpmgt(7ffnIs#o{g`so!XhB>R7XpF4pX!>YlUqE zcMbm_8D}gkcyt^NX@{FIe}Ao)p4OvQHZ9BwX|>TER}o{YUUv`;=HMa!rFucnw-xc2 z{Cu0tnM)88_I3iPGs~~g$5P)vyXAL8Xv+nT(W>yu7nsxL_Lkbu)*Gm<+O;L%Qu5)+ zU-ZvmKOPO(oi`wg+iTu9hqlRu&4|c*g+{6*Lnt^)GC5-NA?x3I9wUXwwW)|6Xkj2A zl9z>FtU|i1wtdX&N}3P)0o9~+d12+c4je@+xtxfS_j3@;Om?Sc-Uk2ROZr`%`KWa~ zTkQ*Gg1VR)cR6849}1UkC2r{D#1U3WB^=>poMj(rlm4NSiq)A$@8 z{SgKN`Pb+!;#y_&y`qHsGiK{PwJ^Sxl~95 zu}}!^l8q41shqL^bQ^{gvljC;iPp`@<{X_xbG0$un_QcOne|rRj6cgr6Npi(dOiW} za0oUORf|b+CV_zIP<0d~e0+2p!el4bI2m&J9Rqk|9Zsf!lwiBp>r5{fmr7?7e07j7 z13r7Y@2DdQ)3B1XDo&?TY5AW|(qOwrRPt?II{#VLns8I);zRIE*!8gtzkA)*;_6(Ed%!tPa11V6OKm{m6Yzc z4t7B9tEXsb*jUiVDz5EF?Yq$ul_<@nW;=*SX$>yRXut&G!NH8KwNLr$b+|Q2A*9b6FsDD=QeI&mb-gpgA%|Q1DlT$|R3;HcXomgj>5Sq0q z$fZ0&pg$#B4ikp5ZgW5Y`r9dbTP(~0`*@?WN$6{|_=kZ$Kqc2cxXP%Z>y2|daGG=d z;VI$n`Oog3R)!OEafc;&*FSF6oo;G>jA26Iqj5==w=;hlto~=fj&)di2{My8*q>_zxIJ9e2 zIsQTVY?Fh+=GEK76}PL{wxYw%ccQZdqZD_Zg{P(ILJ0mr%PBwmhe$jzr(K86Bt9Db zjG-bBT;*?Cn#yYF3q8WWHV&4?6js@o?i9xP#mj z;=R?rfPhv0uvp~Qu9Rh2M>oa<)Q6Ch{3Bh?Bl(rCB5*S6B15Do^?)7|J4rtXwr z@{gVm!TY9=_~^585NJ`iDkfdg!suu25=8WQ1-G#}p5P;D^18tq=K8O7ss+uakUle( z!Nr-(b?FP~e-^ckE|^`NMa2~fL57XGcM&GO$@AXl3BJ~w$;~6ImMOl8bu+aRuTAidG)mq<6pA^1W zE6T;=k@`3hMOpwl*!qgYxeZRhh9r^ABb5A`hPI9)8(ZDzBrIRB9k?WIWNiOfR~X_6 z0E_Q&XppY9y6Eok={7lkeGw^u_^#;pnvnj73lC^X?GWhXEq9)rzlzrk=MHB?1HlH# zWgxuuThiCLC1TS82d@mt!H~)5dy+|Bz_b3BE_6R>;IcAQa9xbZoRoVI{%Y7ds_6j# zMh{oT@9rpvymBkt1LF{w0Zw2F7;c)2u58C4b7x+Pm)CP`1e)Ki*ukNe)B%4cF->Eb z`7%I9D{6X?|RR9y4>75OerB@usFfmAhph2}g%f73@zYos*)RAYIG+pdUP5 zvT-O+hr)6ldc^QO66D!Znu^Y%;N9Rqadil6GAj3hlw{(=-7yo;ErzQ4_F6G7J$I4I z6f)^4(CJK&SImTixj%Fe#!n5vd6Uo;I(dXW(S~d^xO*r1VMbJI$FV&mBAv4PN^>{i zC$MdCS<5)~Keu>ITJSDX-))D{#sUPx_rj25Xu@Fqoghmv7p#qI@Evx{YvaiHnGGcG zCFktYtTqMwU-R&I6Yke3ec;^Y-FK5N&!Wl><_I66Y*|DKadTnwtl$KTc@0KcwFkGb z#v2M|FL9qvaCgFRXd-bsay-4Z?|KiH6URAMkTojp zvI$MGM{|9?>g+gNdFG_TXc8**E86utq;vp!ej`r=HV5gOoiBY*CBWg^wA@Qr6Oz8C zJ6-JO1!E>}t=0-Q=Q}!ce4y0iei&|D>xj$~Rx?4zLBEzT3|B8jk|Zz$oGlivGchRHH{$VBzcNU9oxi9LwbR}kWJ0C5yRo9iH~;{0rOmtwlPb^};aLDZHu1sgAe z0Qhxw&Fah`b~aWQHcHo?+NL``ckkp&ls|!URm@bzJhSVSXTG#c_C{o}yIQ@j5B z8O~upR&rc8HI}H@{wpq$N%dMnA3Wn3)BMG;LHFc`?^Z>3D%}+KrKC;*Lrq)WleZDd z1-sDu{O3Z?ezBanU0K1w({DpXX!Tb*`M*4wfUDg^&)sZyY;lf4IvBlB;+rC+Ke*7c zIH(F<2K!dk!6|R+7F+U?Mu`|h51@>l_u>zZ$uzdl%y&rA;f6ChCZA^Ka187E1MI~? z5kt7i-VX3;%wz))TSlwYck<$w&N|R!iVE{!s{yx@Aiea9Eb}IKJsThoHt9}^xe;^9 z!3<{&izQ#AAd`u@)+#l7%v;2ERcEh9AT@~46$$45$U#(1vFLCR$({#hp4zVvv8cS` zbx^-Sy(n?_rMZwP{7XO96Qny>45V?G_e{wfo(yU~5IJy0SVZO+Dp2ZLm>Dyu^v!Df z?X8&FP}su#))Q7TcJtnS2a|J~R+3qPy5?7}UEZ2y!kdX*8v9?T0~n2vU6QVP68#mFgo z=A73?=jz3H9)YMpAnhpa!?O;Ujnc?a@zY|uKb9>b!>gyS0NELYJ>G*jwz+h--9=~V zn8#1-<&KXAOc7TUZC2f<_3lN<6S|r5ZE`0$f+*QxQ}FS;OOR+3n*{aUGd#yD{cRAj zW*T_CMd*qh^(uM|AJ+l}&@N_NpO3tE_2$AyJAnkxS#sJe$di_K`!_ANOPQDlwG3>` zx_m4hD@l`9gpLE|ci$jv3<-o{`*Ua!WoANq;TLt;g`ur?Lt-v`?sT>)}fH$k~ z_3IMnAwXLiB9urm{20+pce&Aw5&J+5XISXO{ltCoVM}_cQ1G^`L}}~%G_bfbWFGA8 zTFY|cX2?-N$7^y}emXh^ep|!9kaQlO#iiOVOxi59 zM+);xw=4*9bAzAUJMxDp$|e~q(uwPu5F$YsK|PrGqo=LBC=P_O^vyW>>K|PSKW2W!s^eF~ zaQmHDlv*(Tv*=rS6+V92V|kp!Pm`i9_E9Nch^}%k#BbhS^RW1;aoAI!)gR%b`$$)z z6|WPwBXJRb5alJRa%GSh5VMc13=MrU<0b%xB@T(-%0l6lK6hgx@A^amn8pO6QIo0` z^nY%1md)ip5!13ZN{%wx)oOE?-@@~g{;ok4eYk)wNLi0OpJWk-4v&!0+z4ZbE4=$I z5*EBH3%&@h{yM=y&4~avQ4UvPHo)B|MNMbbSb-Gq)XKNrXS-@<2_1vNippL=U=6<@ z3p9tTr#e-P(tKEmdj$r^R?Kqmxqk`;z0P>t2QhC1Yx*3YjQi00y_6$wN&`!vkWH}X z2^9H?e~?_JZRZfIsfYH3ApQ{OOXalcTjgho^4vLiiT7HuuADsOE;!ZxC5}g%aA6%M z2~ix(NTh{wPpT1dr%euAs&Tm=yfJQ0VN1P0*f% za@vmh8(i#CeX=S!sh`(QXMZ9&3I5w? zuMKx=FXm%l9c^Bx+#?4*+bpd`31ng+k`PYnSF}1t#DM9h4d7)!`4IDy`b0F~;Vi;` zm0RJbGPLCHWedI&fj88fLEc%-ge>$iPr$!k#{dT%B!aH@fARqRZU8{Vob`o&>;90I z4s;yC%Fe!fOijzm%FenEIz*uYmDpIBS*dC0XhFYvKn==Rfi$da%&aVIEG+Cl#%bv2 zI6sCFA~J%`&x0;Lm1n_*mb;K+bdtvzAIZHQ>g+VfvM1bI)e1WG_|W=Q-kp9nyos=L z^ChntOXp(BrJ{v+n#;dKAR$TGqwql1Jar#_+#VsJd8xfrvIZf2WGV%|P4_l{gYUTZc>0`RuSE6>i5XvCIVQUjL(=Z*viF!A%q zynujiKwB6hU{)LgvLIm9Djb=%}y}yupreWDq&^kDp9+daKx{wG;cVY9|<|{6#kP zI`}1gW}VuoeO=dWm!ECV&$-ff@zG0yV;-`XN9eNHl#yw`m|Sc6R-wth+@aewbwt?c zSHR0yg!JA}&=b)#8kF?dutA9s>yW1k)l&MR@Po;9hxgmi3p3^I0Al-~i4lCL_`7@g z`266Agl7q$N?GtK6IH{;^rSuG1;p5S_c<~#FN-Q z{^||V{s|WP_yQGfJESS>pb3Vvl0bFF_e0YFWwCotcflrQ0c>4NpL)`!2*Uq0nx9Z6 zvn|-tdK=R7p&zw50CC`)+U@e`Px4RkDy$`r5gj)3|1XmzY}x_Kd5pk^1QaPxb%2Iq zPwV$id7>|cr_YL7D)2S;Da~M7+nr@33asRSf(@}mAP3JQ4<{Y*QYN^;=q0;KaY)i-&ySK z$J@z2DpMh)-0L)z?O~nJ~MREt$$pe-oI+O8`X%LpO86b-+MG}HdX1WLO>aH4ZR?Ymir!l%Zlm9jaJs? zqnM;M(NfuFlPYS_eHNoWlIV@ zbg{mp_i?jOW+VP;<;2zmmsK;ShE&HZQxiq25GN$P9iJIH9=3H1F~?)Ph&>jCxi4bA zx879fxic1^YMfLI8Kbl;eT}(>Gk$lj;U+QRtK-N`%E_E`5ZN8*;fP)+!w0IY({ZT~#b0_3;aMCrPfuveJz_zHmVuM-)=)s`$!xYj&)cPqesc zi1(M`vjZUj^^k1D&S-sG)fE{=Qbx&=g-WQ>C z0@pty`L;Hk|J*kpAEdNtL+M);IIAGVmMx=2%h{HA`>aTEO(CGuiyT{vRMk&US@AY~ z!xe3(6$Q_4nFA?|`ATR5n2f+QPXk8qX;WvRl%~7=O%vZ_-@wIsUA;pOQFXzE4Xg=0 zI)JMUh%$YrfJSbF&T9bh0~&VX#@eUqdZ~6BN>K4Uz&Ib z+c;Z!NT%#-wJ5>zQWd;C@v?)^-rD*V8r-Uq1yLJPbpmw#3cMhxn+5c3K^gUbj!zcd zv|8fmMiw-WIOPf2LkiSEJu^0F5S2`4RZ?9Ym_Y_){fY}bFrYzt?c1R&w(%*AC3he* zUcTrcvV7g>t&d9`L32CZfhl47p7i_HK*p9vngL7!3%mw|ot5Fa^cO(7;%Bm)gj}vW zUCwu^5k?VXg+qPBo6O=;rp~;1wH~VVDU<=Sg$x1WAOk4idvYg#O8q+62EbS~MwiG= zhaBOB19z`tADv%2$`hJRs)z6V$6gIy$!*skSVbdmh^F6e-ISpg{s78ib#+x1)A*O_m?LyBgyU+0t9rB;G zw+{7Ugm94&AjCD)gdxk#2t?d(60;qT^IMDeXx_*J)bF~UHMd%^O6=mWp4qYq#CFE^a!WaRi76OdvE#;ELJKcO|cRI>yr|q~#JM1ScDq*l%P7cVITDx(y6T3^!W| zmsnT~%qdj#wKhOuBZlDT{27|Nfo@inb=6$~Tmj1f5ULo+!Pu-0DJV-~7(~0Xk7a~4 zsm(HpVA;&LmcH|+mzabFi#3Jd6kKnV4UE8c7T!n-$_C!ojhr#zl0f&sVKeR)K-+XY z`N}8*f({#m*-TEr2rfp=A5bcp@QS5YIO2%aPqRm98Mx~{&8`Df0gE)xQvqT_?yC>$ z*uVb`PBZM?D(S&O)z%%ZvzL37vls|^x?kuL*$1w9m~jNBk?|1tm(SI^986M=2l zSt!&4GxhI0E9ZG~`P!eqlnJgF8<(@hO2vx-90hmj0YE|degKKbHh*Pytz_G8r_Zqe zn9+TUzf8fA(a>z+pWa+D+EdlGJ*PQL2@CYVzy&FM|B`?k^;I&Ro7>gY+j8ZAet%T) z(NVd+y7=NiOb>fS1TuFHwu3|YXX08pj zgiForW$JA8JemPWHd)g*+k}y9w>#7lLuZ`bOH5+9yCe<^bJEA_4AoDde2zDZ4?j6ADGtSo|c=5tld^R z7kqVvy;dG9m92yYg!M{914Rrj|!6<5vN_I#0=pY((wxQ|@TgEEF5ehv0V98HUNH3Prt;ztv zsxWsvL{}1KIfkFA!*-jv#?{JN#;a{XTx?JKj)04n6AbkHuIfA?6?G;Ao25vjcFv`1 z8~uJ59ksV{So}K==ZK~gyEw_H?8IWuFMmD#W|;_F1xtO}m{c-IA2nc&`g?0IE_-$R z!Qq(Q{@l+Yo!e%oWv(gG*1*K>yb`Z>O4+gtWc79l3M$yiGsm2c1Uf|QQQH!i78<9E z-OolOUR&Ht6>jyr!GZ{C<&60XMYc(ZW^`^=g`7KUNhc+upQ#m&stxu;eQ`J_?k$gEYVA{-bf31Pa*0b;3S}drBakYWApFpk#tAI_N;Ufd zMgjC8z#6sLk5_hQep8WW3J%ZX9bEhbO^Yp7%Yt#k-0gLsIh zI5tfWlKqxClndL#O2VQ?Uv=B=J;S(t7UyK=nr7WF$x$>P33LVhC@^FdxI(i^NMy{| zK4`KjF}%F@UHDP>JPLq-{PYfM)a^2^=XOD! zAKgOVRXbJg4HWv{y2K4+n%2}T??_uzrmpfh6%++u0|T1?2_dO@RRPkd_f)2J-PO$e za2c*Y)^vaWX#Cq+BjDIO8E&)(*L~7SmFu1YI)=0{Apj%-Abk9f^2wa0wHxR_oAfHm zo@1pn;jH#;WlV=JKBk&9eT(ts^}ReZ#xlfnJ=hqDmvP+huPHLl%y!#ic#8kc{`>rv zPAmwJ2UTK%thcqCg;!GBlOpNw7W8I3XKkUAfw@mmqsr?-mZ}_->KF4mBOq|R0vK^cqqqj>`~>h2pV6o4jpneCzp zg*TRjSz9LLK*0r&+5^ERPuySRxz{jTWh27 z3{%&q!9Qz7DCdrM^`G~pry~Ea_FdoCEbTIsh5$VMO7t3n@d09T%?2<6d+q13L)9uK zsl^$Et=fgkT}&rAT;n582u%5ky+D~dnvwG4r`m1c0vj{Ot|W1rs5-wK*yY}}L0~vZ z4$RaqzLat-0gJqzY=Iae1o52LfL;kJ9$pOsIxRhT!pJRkB$19u8)<^n*RUp*0CWKh zL>my#3?1oCtyRLqy86ZKDd*>TtJ-)!$%9+7+#~+>!s_^B(wbZ$C4t%Ll?e<-A_Y%p zXHx(Gz&!x~0000058%Z;1^@s6r*cu8J1@{GF)-iC#=tN(F*P+b=H(|TCo(ZJC^9lI zG~g^KDJUu@C@?TCCn+c3?h0HU8If!6k0RQVDjxLgYc5#48f?6Yd zt(j%Q%jf6$)$(X=Rk(~!WA(nNKOY_#Jk;3p#-5ZOwV1%SG7wV_bRTkH^3--XRpVyO&2RB!P%0Lcc!4MW>`Bi2%%P|6OZP2w26U0ktG z#s(y|klVjyJJqqKxJ9Bug@MFMsTZ`oS=w1oW=WUhr74mt9|1}c1TUAil-7MOGyJKa z&8DBEQeO6%?#1aW*`)RFtmQ)^ni1#oH1Gg~`ShA$gl&6d3dCmUM7hA8^f_@7HCTB` zRHds@g6aVdf?SpUt@)cM09^e_3hV&@8U9^BB8|Nbn&gA#t(0+^wmL+x{(9ZUFgP=B^-kD)!K>G0C=wXJ)ox$R6ODs zgjPeX45s+>(vhDGgF>p+)ye5UcYUX+jV08hewD=QN-a>lTY-#;mm9UiqRsUbs^VG6 zglP%pS~?@0V$LGU%H90hM?rsC;zR*KU1b@bHJTX?CC`=1ITetrjJw0S2<%{;$D+kl zI520)pJX0eI<_T)5~jw{JIEuRh0GcSY;RzI_&W>ln`r`iMfy_O6RcSiJ}z7G$4Bn$ z-Rw=huzNjk&I1!0-!^}H&*LJ7X*}^;*<=)!rwXof5^dU)0g#m!WX!n19FVT=!y*s^ zNz?5Xy|#C$G(v691i=+z8eLRy&}E@qPnnqvwZ9X7RxfU$yT(oJ75^J*u8Kn^KuGQMtI}MCm!-skwAoaPx2a-^A)uvDWI*K@kpzcW?A~uxq<(m&U@@Wx1eBU z+688S{}L8G^=UH2=#e(pl{fbgubqj8!>hQ4h^W-F@d|ds4%6*V$U-K81=HOP{?Q~L zZj%Dfz`GJAjq0asZcqr}RG-&2qs#zi&(*UwfsNOa=JPPET>#@#-_e(Kl|vG>G9c*} z5W-6DaV8nYt(hD-)Vzcx&hRlf>g)~*CG5x-3PDX*G4QY@Zw&0(=E^eqb1r zK>pJ}xq5jRM)x?@Dd$`>cRuMeGG*rR1mCyly0(64NOIMJpsY5H1+4vwd>*Y*1A&UT z)+zuk0Ha=ytIaXHnaP=Too(?`2A(iV+s}=d0-`ot+}Wm`Gv5YESX>M2`TQOa)Ub$D z$F~H^)%&-WS)T-~Y+tBiQLJ*_D$e6~3`xzCgKNaeop#wq(U$!L%mqtmb;dT@W0o3_4FWP0Zm6H2U{Er9&SM(MP;nFaV_WgyMwOvLvA4 zBz-d~U_zbQ2Q9;JetUjY@O>AuWNfR_Ya+R|;oBKkAhRyUco*c`)l1OJe?f zol_~9gZ0rirIMLM0X1Rw9!7?hl)T>Vn(~&UW8w3?EeQ>2V&|gB!-mnd(JfMh z8XTZ$?u2Gc(_!^Sk;&ZN8s@>}Tm;k8P-tA4wxz2{)9VAOX9ec%doOmKGVbS<_+_rA zCZLoew>QLPm#^F}k;qt4J6VLsu70csO+olNJ3%)#(yfoXP@NH%EZR8mdE8cey^c^8 zX*PZMe}{)acaU#IgE5rG8K3d=Dl??)pH;q*8$kJe{i zu+~g-3+K)T?mm>7xoy75aDO^^@L+NU3C}hFGoEx|EXOB@du!UY#V)P)*sd29Icf_P zsN%64w0Q!X9hsl{@vq~gc#AkE6G*Hk^5cI)UcB$9Rt%X%Cw&-F1M<1KQB)E)U*!zx zw81DD$coqNkF)srAPTMk29Ez#XZ5odS>*0s<#8 z+Pv+woM^423-=4|Td2cch%6Srx+^4)q}a`|i|TVB0yO=~^hz^uD3~Y!y}(R_#bbED3i2 z+ZLP=*S;8la`m8LEUH1hEEP1`_uyO9U+qV?C3{~l3Xle~<@(Q8h&G|Xh5#f1cVj~d zqiu+lJ^@gUz5Vxd%A8{GvSU;jOYz=z(dua4!vA+^Oew>Wc5*c`G@lME1$XE?BlKdV z4WW-wuKs;tZgyg9PW?70PKCu&;)!js^Uk{()N$c-dOcF0O#`|4}HU@lPeeh^d*OFVV}CfGh4=~z7-d~hl;F;8E3vC!z9 z_ecjpkiWB6#ufi6TJ%JIjrm@)UJO(POGSGtP^IV;!+MR<2weTwYroINXN1Tcz+Tpn&Dv~Nsv3_7;-3kQx%6kJz4W}T8nhjp= zf|P9R*(|AK!5^*Cm|9LjC0_JayDchbU8r!!`2-a8UKNcP4xly*B#y|(2L{$+Xx`zi zicg8wC&lO9;lVdo%T~tq>T&P|`J*q4n zgdQdvE2jWl`HJ-@88ifmeId|EW~SREmKdONv(d;z9#N@r777`IvN}L$RA@*gCp&d0Q~H(^Vvp)*dngJslp}S zUHj0aF=3<}fk=IBNnzDKbT+16kqd7HEcLF6nhn7Y1((ht1-g2 z=8^!ONPoht_jcG89R12`2C4!;D*ojhz&bNmrg1cB;?S!EtxXGut@J?YvAU@RjPzNi z8VTX(noc_abp7<@Jll-`5cRRvsn1*!Tu-kvC+nJWw(B9W3>B3Pv!^2BF++3-ppV zA2;$@bm8lr^k?+ylumxg#-Qxvk##hRG67uq3MgQ~Gu&jJqXZ%Xt8+MgrB!l#6MxV{ zw;%jE0Y7|JppNV^2M;v)$~25hXrajy6@a5OHRX+USc^WO9hFYSY6Yp9@6?>+NgS;K zGy%(L5{gJPp&7vl?C_C~OLB+WrdGtFyy1B?v(-T$k<2IEK`a4_1kV_V?J0sX55PM1 zFnf@ZjdbkR>f_w;@BD59NB_Rfo{p(1I{gRO$GYGAKUEfF{k)nDaoZrw6s|u9q*32U zJF|6KJ17LgPI0vAwgRxIc~53CWOuRT@PIP)pb~}-O#MprWOG>nao7iuuDBo4*SRrg zu*xa)S+L?&=(soC=~U<_@w;1$UXMqe7yC@{3iJ}q9Cu@IGz&nJoSsb%%7ANZ+;F3hVNmSf`-hTlYNx%x;Ky`Sw;;Nibu(z`kfh2D zEcJ>#+EBb@6sq#PEFdM5oAtzxAswfgD%Ep%I@?ys7$7`Kx!Lmp6alXRjP0ZuKpF*L z1Qs>z%(O`9l^xz?mxPiv8iuf;B=jA1h)nlO z45-bnaZW+oYsKM^0z3svG@x8spvdE26EK3pfsxfJN~;hedvq(Tg7~G0{*Lu6o9yBW z9Q}$5JsQA()EWjzy!zH#yF+2|C$GmkkP`aKb6b2(ZR-+qthr^)etpUI4azphfCLl) zuM~Qg00L|uBGMHZPw&reE5j0ud(M4LcAN2vCO_DfJ!ffN(==e9aMabN07L=(e#6e$ z86d1{03Ly8CjjLl07Aw0>>OX` za*Npx(11ysUC}RDmYFDhtLmEm^+Zhgk$CY*k>J zbhv=N((XE@{*aW7?NCtfOeDz0jmPHm^+@4M36zBll-6+*o~17D_hR#{%>UAn&L>*= z+*CGRjxvE?8&U^Wc}jqg<@p6vnp!md&R@b^eTamw)qLx$KJ39ejmWVp)E8#lOyZSZ zgE-U)gRry<6qc2+WN!uvJoBkQli7X&gqmig&>wwIQP3A5+FAEs^u_c5Nvnv=CP|CE zhmzWEJOEE;XHx(Kg{)+_Go*hKDA7$v3PVO1F1Ty&VO=-<@-(uv!_>=sX}T_@8zPMEL@FSuiOY z`8>t03OTpxi0tR%5UykMb;nhJ;&ub+qa57sRU0bhi`er=;{lbxiLG&XDW%KP z5*1h+H)E8~5<}%Pot5h57ysB+aye%vGH+>f#u`nM|MB3l*!Bmv9xba2>2u)hLu zJvQHKY8(Aza_IRsus>e)!L=uqjH5Ql4q|vMVU31Iu=hrDNRMIX@%-90f}dvNxz6n;U^mRR$yM4NC#pL(9TQ3n0BGrN_2i zv#H#@DLJ~g)I#8`#ggtFm7PSzZU;2FdcW<6_le@ni(=gwQXE#tzEI{SrQ>PD<{7zP?LZ#uML8nwff zr(L*rI=tv1li!i*UD+37Zy$EM^S^=buYKRj7@eIg<2bHe&r6WO0viSX@zh=B#f56b-K1`i))4Y4npmO4QF^UJLxBR+2+IMc9AilYI%LfPFp{rMZOX3|m-H%L z2$h@}glw1ps;3A(c?;(N92NBlfMVgEpKbu1fZ@T`*o3lVC)j-N{y@z8duB@KUQ(Ge z8Vn8fB2bP5(^M0k&60Ck*i8=3c05(wwZd*W15}aC{QwjZJpj0>3Sl-^0!C0k zrW7L+dW-nZ_E%Wm-sBi0_X)Mlu_^%U2t7o@nFJ4gAj$;C$J=3Wn@aBXCPXR)T`!n6 zvPDcVmBZSs%@p)ntB>@Tyfn!r%%s>SNCva{=!;Dp0X|2s~`W)4B`jT!86)2&eZVhS4a*>6$2SvfR literal 0 HcmV?d00001 diff --git a/res/content/base/sounds/blocks/stone_break.ogg b/res/content/base/sounds/blocks/stone_break.ogg new file mode 100644 index 0000000000000000000000000000000000000000..b54a78a84412459869e223175ca7338254649157 GIT binary patch literal 9285 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 My@w=@jugQE12nc%djJ3c literal 0 HcmV?d00001 diff --git a/res/content/base/sounds/blocks/stone_place.ogg b/res/content/base/sounds/blocks/stone_place.ogg new file mode 100644 index 0000000000000000000000000000000000000000..12b0a27c1d8c3d535c8130654e2c7ab5eaee23ef GIT binary patch literal 13080 zcmaia1zc1?*Y{l-1f)Yk8kUkS0g(_`Kwx1(N|f#f6$Fuz&IMrs=`QIG>F$tHLOKK` zMdZ8SQ{VG_zxTbr+1a^sX3m*8=YP&Ub9dD(EwunN;2&3tZmZmN(?Hn90YVS)aC9-T zcD?R^$QNIKf!7Pj%~u^n{d(rVuIriCly~MmVnmWx|JT)r{+AIqNPlAOWW}rQV##1< zZK89-o;`P6q07Mh*ZNfG-DbWY)T}&9Jy76?>#h zy14aYu{;LsP|YQA-1cKOQ-|EDTw8}>C@T(u9wq=PMn;J-kPLoZnFKQiQGwMvT9;nN zyc8Ea&ir&gJb_*Ye^r64?6}7gTlra$65AYAqq4Vns>Wfe{8KunrOjAIuU&`5H&Xsl z;oj_n0bGkL7PT3XEY3CiU}$cl3&`s4wip0kaGQW)44HB{*+4n%&=`yQ4{l9T;W0r4 zEp0Ufc)1(tdYI36xX*Za>m>#n)OqXG1sZ$~G&&7@P8IZza_0T@^t#+^odE)*Gm9sz zLNl4}WUh#3q6Y*OqXA~uDq+BlWrD_LDd$?)lv*d(SQXXS4^(guRN&tX0U+Rz>nq(F zmHYn`3%vyM|Gmgq^>P9-pe}oyX?vVm6yPj9F5K8R8tw%^o65ksyIh16U4?pFCBdTT zCf|ot9Xe9I{ZAuYn;igT_-VVGY5PEJz6 zf{ibZVD$4FwfKT;sWNcn@c&8z2Lxw)V?d3feh!HfqSn$2$dV^Mg=i><{5y_x(3~WI($;|4h}L z>c`+6iDg2@n9CSP?-oTEm(Je{&8Cltd;}}-*ML*A=eYUZ?3@7r0*G!<{LktJ%70Ou z9UIEo&rvxjFu;9X6?Y6v?0oDXlEdc*QOqq2qBx>@{ex?%xRPy7^|U@$4iXN7=KS?2 z(5MV%(GRhxZ=573(WM`n2YSVS8t#B)gqUvZKg!4OVFs2OpZ(#k)a{$n30&aW~X%f!glj8qa7Wc1#|LHl-WIZvoeK9O5 z6)bAw+(SQv)PD+%kt%2kscDfLjgh-gP?&3p7)=P9Paw>vJj`cn%nfS2^=kg%Fn`_V z>x}z_+jG)6B3HyBnU!N%^kUgwC0K@_3X(o-6=dT5m*-f8<|T&a z1&3|~M{oe{8OLrRn*YYpVQFLJe3+OotE-e4yIc@y3a-cU=aI5|NyGN-p zP@!%Ll>cb}0BDQGSGkEJnsA;exbPI52ca$XKYI*Fof1-;5CRn&4*=8vzziBWfGE@@ zTGm182@d}{3ucBmRz@dPKpv4GzBmDsTl7PAsk&J44*Z`>a1L^LRsRT9(MSe@_FO~d zH8C78>|p?!0N~5t%il@mGOXN}E2Ae7}`S{F!*pS#eei62LLd%LBNkJhme^9K*SC#IkAky38|2=s*oy-keSbr zs?Ed;4G9TrY9j_n5mVZTc?vZ|4XYZdn%a>zf>Z%Pj+jVLLsZ+32$|1nBNizTQ#I!E z6h68M?q3Df^uXI`km^2@;B7o@ZjH?g8Q&He(}NJG_b<{erw4^KgeMGOnk(V zwjP{T=|BVab^qjg@LVi1#}Wmuw6G+(uxO{kfvclUZcf!T0c5q2 zo=qqV%gH8Ff$``Jfym5X1zi*d zk)UubTjAVkn`?rBz0@?y6;?7m36B5?ruNNKD6jAT+_{MjPxrJ*$+d9K^7vR#`1+iF zxHxj$1Y{Kp4+m!$*wyDI*nk8SJgj;-Q@ zjh48BP{`>T)VC?A`YeM}5;!fO!U{scqNFoXp9=tX!3FK!#1U2?8XJ(I$^zwzTN0TJ zif_^ifsv6mfRM90#h*|Xha6l6_^cWf2P-03kO1a;8UA3EgB-smz+qbqU>`Kc?V5mu z;{gDt6POWw)HHMTi%AD#CK~YSI%dMeu``g5pxq3}SU4yS+){xHKB&7coofP8f0qG- zhMlkn5eTbpeK}Z3*Av@P#++%BV&NGO#MSF4TNp^N9jXU_1x#$^e{LRWAk=)#x+WjL*PyBoPA36KKv-kh0WnfzZLhe5+K&BNB z8@R%z(NPqG-nqqny+L`0X-V24@+`| z!#P=V60SqXq&|!X47@c77Y>4hL%Kej z6!T|~!$JR~GA#xjNZ%G*x-Ad1dfFts8q_}+A*M~jgs1gy0ZR@}fUnX==b-rP%J#9P z8(TAi$+ql`wyzHcaL^X%*Jxpshk>ZN#t35oXokOi0nz{JBa+zo3oQ^(8-K?kHDqs~ zg_8mHLFqt{aon_6!4~e{1nvfm0VH55hXgtQ?L(4)GH%j4B>WnYplYrOH&DH4;WA#U z>t-nO~;$&%I2WGA%Tj;>+V3j=)d0l@jQ%?@rkI3ls;8R5_&bV`IxvnHzj2r1YL7wiNXdW$@DVWz zzLkNHQT2j?0x+OJ`p33WenSk5ZzKYE_;@`5uH)9|08v0MeoXKad=k>ax0xmqz!Sq~ zz1Y6^5fN2kw>AaZFpU=683GtE7=ybYWYNCh`L!oSZ0)kxZ?CfNBh$l_u*VpQIfyXT6@n4WIqif3P~Sw&aCNH1dsyxuUs{a=T*dC za%esJ^5$#d1-A9>PoEbUsNVaPX0O+cuc$TC_VIR2+$k``#jMImWEw<%lL}J5=lS*e z)_s$%kZG0EoF;`~s*b+p^20k_O(hg!^Qd$@7B6gcoresbs5Fc86!F79Nq{q1deh;)Z`-=0^ zuBaAW4mK^Sl*?0wz)D-Qfz_lGe{GAVDGn^k$4dvMK}K-cUQ{$RSbwW8^v9Oi^Exvirn#a5wWk7^j#t_K|@yL~ z`}vV=R)ys|f)!BugZ;&CCPZO7mUPN{Zq{`bM}@yBW&x~{WY^R9~{>62>fHIjxVmo|6>i~&1q+8pTSjnW~bANQQ~@nX)#Mls3DBIgfv&Q_0^kV zJDgH|?y2qPj!v~{J^1h7ot?v@Ar>@*#+66bQYkaPh+C9Orfv_=z=(oQ-`i9NP2Ab@ zgUwQ51xb_;v3MICQ<$SP^C@=pv~q)LJ6#OVEnDq*bz1M?I}J{DFBG)?@p$|tlt)b$ zpKBA{aDFBZJ%n$G`4db0W#^_oG)6J(jV0*^HuvoY+T?m$@ra?saC7|i zgY|FAn1)K)0je6m)NeiEqs2Gf+Y2|j+j3gvAr)nG$l)a|qpoE5JDu-PQCOl_b^Ms8 z9C2`G$S_`5l}Vu2OP%Uh|GunP_B_X&`&dHR{oix`3F;V?s2*CX)8{`h(Jf>z?O4vR z7G@4Ktz5qf#1ua^#4f6|so=&y{_u!-fty*K;Mt2vvq8d9_(}6j{XK{Q0!$id{rE0y zB4F-CGYvz7YacF^x6y|aIhRS*@|MMXTBXRXiyh6U9%jhHwzN+*g2_>8E@QX*=9(}T zJ|A@ZRSeBJ6ekb6wuTx*28^O8=4fls{QF$jH>qkilDdX2#qK_j@!#>mnf@JHsw^Ri z+9IVQ9MVQcemF~vQKR2t9ma*epB(VIcor)8!RKB`lU*?_em{YA|2 z_|s8xNg3@o{xkdD?&P!4*_f_d&&kcBTOQ4A{cvl=-0o(Mr5D7v^Xq?~S;W~E@IrKd z%9y)Ysb1+qP51uD?pw-=G{xU#F`fD3b#Y#UuqXp5jL9||fv}3jz?Lt(?=6yaWE`BO zy~cBuSsT$+1vGJy8>$cf_&}(`n}YlB$RqmK$|+~}ocO1Ua_nqheGJ|O-;YqGeZ*45 zv(~rYUgpI`Uo0A-=(loJDIS-gv`G_@X3rh5CAE0BNu!?W9W*tUJUOKF?7}E)D-zy_z0hCYFv}cN_D$_8?w4bQbA;@I z+S}z3M%POkcz5Ej`z^D26Ejm|dcWd~zw<0nEZCf*I~2nVX;pHuCTHi9Ne2pg)lO#g zX&)3c-dw5v!g6!=G^Zf?iKZ<;Qy-B5{Zh9&4n-I$Q8-JN_C&VhUtm1Cff z<*^Z0;9btCru(7!PJvH1-GX%OfTOKY@q2oYb6DQJqie%FMdzND(pc0iXKr=L8p3QQ zv~j$6xH_7|&ihVFyb>bBTa5#tt<(5^a%Ng;%_!66v}X)X!JQ?ZIv>!R;KJ#spsY%v zk*9}X1a2bm;{20CDBE!DER#cCvXee{T(QbH4vsYoAGj||CUt=U;O{qS$mPpnnru8) z3dSMPs*HKUSrq&0l7~VRQl(S;IFsnRYoit~z)gY~Lt}opq&yF}#d@KiZC9m@I%vaR zMk4MNuxEM87%u+rHAzgRIJJ8bZWnib-H!T3U6kgUh2Z_Cw55M|LAB{;GAN&dBGz}>$0|A>bj~? zYUe2u7vlcy950?&#;7Y)Rh&Ax2E8BsaNTFQmRp@1jiKJtJ`-{3QHhPzXVl=W}k~qtl zW=g)V@*t_*krOVYV{yNbu9i#AHR+iw8`(|#81=zZ5`fSOM!OdSRQ}atIW$qT9e!d0 zW&b?dxynDbmkMicMG|gVIlzN1rAlK6KGrSnHd%(kUBLQ@+OxA*WzW9I-;x=-E5AwP z{gQO|S^3UM$@wddv>_~ifgU&QhuN8 ziyJL~kE5jtEOSa9KT6_HaPs=RwR9dk9LuA>GH=UvaGE3x2gtD8@r1@OzS;qg(#_G+ z_xHcJy*}W%Z?UhqnUXJ_FORbqcx?HeBaJtFH#zegkg@z2rZ zj|{8rm3z@*sAtr;ImB@rVU7671%{BhGp)cjQAwa}enfG1fE)Y17Iykvp%tf%n$7y@ z>Dmehz54M7qlquAdLFJ9Js%&uyjt$S&dXb6dF`PxC{52{m15Q7qm~Tw!tvgf{`=F~(#dHEzhhnT zmk1csIbDCei|dmYughnqQkBw^GEZFh@AI+R3_e>5U+_-lZ0IV)+O9bs=M>O*i{^pz ztw}~ynhuz*edG3SV>>afUQ~jw+esgR>U}irCgRDJ>$JnrkaOj{=x{guUfSY=s06CU zyC1gLD=s{}PsG@?N$jX0%6cJR66UwBi0(F}Gxaz+*Kc4s=U97%SwH$N?IswQFc1)| zp>OKo%c1t^8#ir&#CHGC^qucH>9Td5C zbFWExTzvNO_WFP}%#s$!#44~DCeo1QhA{v?S zdg4(DUR7C|v>Pf(<(a^ag$^3a9ZZO7dURkCY$^XErQkVBX=m)%1>^Wty<3eyqpw@y z=s~p%`XJ^lHwKkl0U@DQg0`#*$+uXRQi6yz2HD8RmjwfxJtzAVv+)rHRs>D94}jgZ zCL$agjOe(HQViaYr61o8RU=8TXEzdWqraOKo_caQlrK@{;fyZsBNP7% z#(AqFn})MEQFwkeu_Ilt#MhZO9IxNwENs1&natj&jol*8!dNr$)RaN@SoqvIiCR3K zaNd5LmX}p6Da|UN^yOD}r$1jovq=0tP<7rVaE4b&+@^b-=-HCU2{TOeG2^#oPL{PF{ z-$|Eg57sM|_zDv1M|0#lgd6xDxQyy6ukO)a1TZ>|+b( zz(3mJQ>4feaotynd!0)SjxTFR9O5^J-(aZRY3k0azYU=l~s+P0% zT8~5P@7jeOHT93q@^gQF-Ix#_-wu^RL?u2B`o&!qGRK8^IYV#KMNZxJ10LM z9|teLAP1C_8!99!xI8?-#>L6XConv5v=+(~S<1zL{}qVkijj<*~qn!PT^JxE0*C?=!r(PAm6lyy{%Z@71Ly?MFe)M5fO!rWZ03q zB5{^==N3_v0L7{t+EjT|p-g@EUd{wADgCyFywb<$w*n{GPOY@4zEe$4JrOCAZ`B%V zbk&4a$43k=xzpPZy3njUA9}=aS!fr;&Xpyn4p6Ew^4PoPQHP;d^izi0+&yX0fPNp`wRFTY_Wp z#MUO{=W{Vhk?A}Fp3E;(>G<~}9o~Mp&u_kEgm|ew_u}1J>GWGp)q8!?XXEo|l^uv` zE-OX0j#xTpImdMeJ9zDzOcCt9=a3~*+Q^*~oob``z2)LW-;Vucw&%KP-9elrN$d2D zT*yC5Gw)$zz_g+^{1rUJ4`bnlbO^5CvKN`%91&(X=|oJ0R)tB{!5d!e`i{oKIlIRW za>jP0S5MR~`}Xee8cYIvwsd*$^^(d88Lm)*VsIy?!>Js@Ye1ny>LMrDhn`1&z z$WY&WXftmNXB;Xoy`vyl?IelC z;4`~5hk2=O)$dosHmiB;JxhSWy?)VZtmB}ap-qgsHfc5ecF)Y%`4sj$-cw=EYdjOI z9U4zD?|c$j*y=~j)MbY=1qoQ*Vo*x|eg&U+9AEs){OB_dAyKhmk2YV+bc-Tt6|Hj? zFI9k3oA?6q9f;g`>KiwKo}>L_yn)h6<>_IOHq+VA)8Ke@+gX$pBV=-~pWR$*jvJ%e z@m@J^4Smb_$h~#X@0*V&(DGcrd@b_!5&y1lo6z7B%o%4s!+K?T;#q`_@#A%(cRm@N z?6NMqQdaU+Sd7H`9mm4?@;4aaQPp#}wU$@yp9-wiY%dvC->iS3O?v+l2RxEk5qh@M z+u{82g1k_h_o02!SS(>*m_4$alJ>K~utEI_&g-7Z3S+f^!7}!_#^P}?Nc?;1ygtu9 z`sv~8RwDA&U>|$>;MnK%?AOlnp74{FhK0QC z#^yV_BH+kMUhNVJOkzmUJ|r@h*^nDZI?gqG)*oGaUet)Vx&)#OH43!N2>>$s_0K@G!2`4s`OU%_Pev!e|gA)BnHfJadh zZ=rTj^s?KnFEnk@<};=hc2$9`i3&EfLIOFMvyYzD?*`yr3whQHM9|Q zmLHqncJbp0tn>Xwq#zs}&WEGDg2gzGn~j~WE>SI_-*s~rvAsW|#4wKN__O@WD# zzSWr`zNu4!%`Z70&)4yCe%-6-yd06#YW<$_`Q2smrGz^EGjoq|bV(9|D%g*ut?0>P zLf{S=vjYZ!S66W?((LZE%?s|nrxr>rZ3CxtyBrA*zW&NPb3gl9><$QQqMI`EWiURF zMyEG@Im6PrQN1G;TmOnLC=cO6GoFyn^l4^EfNdk+baGN~iqc@U`|+$@63R=^>38qO zV%5FyFrvMezn8fNPIbSvx#(5aB9mLz_4-3EmNO^cKWj_16&3kO{-Aep$kOA5B8g5y zY*muDWrQ((=HSu5qy{^NNCUY;Nx!&o-)ZxnaeVTpj+x?c3Sl4Ofk&9m?T!g=_ga~W zt?S+(^weouBH!lHGURn(7ej!SY)=}zCHh>dHa>UT#IqRD*LIp{Y_!-X&Lqb0Y#pz3 zH0^=%qgfa%S4J6(?y~k3G%|+YmVqWrZwNq^YwsJA0z7GjmE;tXQ7_8UwK%pP_Rb{($rF&E&W)b3Ce; zILj3*lGoTuq_4%7LYpOf@fDg+4y0EqM_laH7T(b(3(YE=G`C8ZsOq}iO8w-u2z-M) zOgEpb^IL2v-@gmUr>a-V6Kxj05Pc#)WrT8XoUKj zO&;3d;p^F{!p!)kD`|ikmpMzqmhQ);QUp5N+gC|BV;&A^rJr9@P6G?aqitt#doQC& znp|t5iQp^Bwuy4AhgGJgGY&G#_pN?!|IDSPi>NUMvvneLd@VuJ73n={d86h7$6E3I zifz*}%lBoDf~0Bo+Rv?ihj2y0)DF)?uioHD0Crn=46`2L68^e8EXb^;PRxp78}p;5 zXVTg2@1ae5a=D4;s}&@scwPsyD&Z>rSWU+af+q3O(6sZ37>3kpzeJg-NqySEhla41 zFWoKJr4xQ2Rs zR{*=9VE)ev8Q!+Gn*27@9*=(W(?h=*HIsk-nf z;aaIC9xhk-*|`m$Yys8xR6m3nAjO&Ht!nQR#onl(GK19+>KhFpXYoRu7dV*cyqrxP za06I=qxvnew7cl^xVU4>n?i{^<3F)d$dp})gfEv0nMcEwE7Z}3^?>Gpf_(}_IiALs zBM@;*<&$kuYC2Dt*_5Z+A57$0sYr6w^e{b534xAqU4TrtKhFR&YwS?v^+Im4sPzL zM@Js_W5H_G`w1G4MbKrak1Z(&65kt&r@RhtkT?CE;n^aKRbqUo|I=gStfm_3{TwGMBB_3q-XDqk>%*w)OXzn>BO zxq5l_+^FYXbDs21C#GEY)Xp6GRH#p9lG#%dN_aZiL|WQv*vnx< zKE`j;3V4Cu+8KrV)~?|ADWOl=x#>%r^31CQ4;`H`tjF%Ao8D3m-{s&ln@(-!J2Md9 z#=C8>sv>oid9Wm>cxv!r{DF^X^^=OIu#^m-?arj_QjKd>CFSS9)ZSSQ6W?6!;FUeD z8l54XJs$kPoW2a!;_%V6vJ`Y_(Ex`}%fgVeRyv4$`{NBZh+BoqPnXC1lv-yCB6Snv z@^?3G;g8mxJ>$;x!p1)sjR&I%z zcrwA}KHF|l@Z_>_WBsr=dJFG-`Rff<02;nP9l3G7m!jaxn4T2lsX)rp%n<1Gs!*iU zS|%Ph=NzH6Dlh7hrKScK_DNxir!jogK|BxHwr$+I$p|JVABEn?LN&F2^5r_=}7j zaNBAkWDykR<)N;C1h8=7av!~_uKf&)7jAFX?F{R(Qz%#%BYpQoED{|Ou;oVaWX6g} zhKp#Zlcet3yn|K=6S5R?NY^Ylbm!H`BQy)d*T7LREr$^jXAsxgXR+#g_$w0nKw33-omoDt-1vZQ=950$k4VlI4KRKs)|gB^WVL*#u0NBy z>+rG(<5p^mBzq!KHvv5o@E@empj(aY9Jv~d=e)z$!m3^Cl&VoH2F?7?6KnsoqoHV= zB1DznNAMo54gBgM&GU0U9wWc*eLl#inHK3*^eXQ~8Z4z-Y8-Bv2?6p@>62$@oxi+( zjlXK)Eh!#32kkq+mlb55pdL{k35BQw2D)MCQ^ZYhoA4s!#=&T$yd zH@4r9SPO=&8j?E?1)~!lPVqLfFD_C-X9E6-zISN1EPx7awp;gQq zPJTRI@AU3Z_Lyodk7?x8V=6Sh+Dt1?Q4#3+u9O|-7c0aTnTU$&l*T)Cc+%TfO3mmq zBuBl+J?ug<6kZB`3da-e@|ew}T4)?8Ug&&iHr#E8g@VnYF&-thl!83Jx%MVKEE|fS z(~rxb*TNK2FI0SZ= z_X*$QD~FJ+Ma*}-S#uC3>BFKI*)<(n3mVfy3!FLMt%)%`rUY`yxq^aK!(|~Of4tU~ zv0Gb6a`V1lT^$U5x@X*Y)UT_^T#agVvz}sO5A zyBfk}AO1P~UdcKc%aimN8K^)|W{EStZu)g{wcxz#8g@6r-7&;8k&Z5dr)k>nN>j literal 0 HcmV?d00001 diff --git a/res/content/base/sounds/blocks/wood_break.ogg b/res/content/base/sounds/blocks/wood_break.ogg new file mode 100644 index 0000000000000000000000000000000000000000..d0fa78ccdd6e01dbb4ee724cdf039d2df4a2141e GIT binary patch literal 11164 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 W8)xmtNPsCL?mGiTLx<-8$^QYvxX?8K literal 0 HcmV?d00001 diff --git a/res/content/base/sounds/blocks/wood_place.ogg b/res/content/base/sounds/blocks/wood_place.ogg new file mode 100644 index 0000000000000000000000000000000000000000..fea805629ae2e3b21113fad1e58c63020e2ee2ff GIT binary patch literal 8234 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 literal 0 HcmV?d00001 diff --git a/src/frontend/LevelFrontend.cpp b/src/frontend/LevelFrontend.cpp index 707699a3..493b4f80 100644 --- a/src/frontend/LevelFrontend.cpp +++ b/src/frontend/LevelFrontend.cpp @@ -23,25 +23,46 @@ LevelFrontend::LevelFrontend(Level* level, Assets* assets) void LevelFrontend::observe(LevelController* controller) { controller->getPlayerController()->listenBlockInteraction( [=](Player*, glm::ivec3 pos, const Block* def, BlockInteraction type) { - if (type != BlockInteraction::step) { - return; - } auto material = level->content->findBlockMaterial(def->material); if (material == nullptr) { return; } - auto sound = assets->getSound(material->stepsSound); - audio::play( - sound, - glm::vec3(), - true, - 0.333f, - 1.0f, - false, - audio::PRIORITY_LOW, - audio::get_channel_index("regular") - ); + if (type == BlockInteraction::step) { + auto sound = assets->getSound(material->stepsSound); + audio::play( + sound, + glm::vec3(), + true, + 0.333f, + 1.0f + (rand() % 6 - 3) * 0.05f, + false, + audio::PRIORITY_LOW, + audio::get_channel_index("regular") + ); + } else { + audio::Sound* sound = nullptr; + switch (type) { + case BlockInteraction::placing: + sound = assets->getSound(material->placeSound); + break; + case BlockInteraction::destruction: + sound = assets->getSound(material->breakSound); + break; + case BlockInteraction::step: + break; + } + audio::play( + sound, + glm::vec3(pos.x, pos.y, pos.z) + 0.5f, + false, + 1.0f, + 1.0f + (rand() % 6 - 3) * 0.05f, + false, + audio::PRIORITY_NORMAL, + audio::get_channel_index("regular") + ); + } } ); } diff --git a/src/frontend/screens.cpp b/src/frontend/screens.cpp index c127e2a7..468e0ae1 100644 --- a/src/frontend/screens.cpp +++ b/src/frontend/screens.cpp @@ -160,7 +160,7 @@ void LevelScreen::update(float delta) { audio::set_listener( camera->position, player->hitbox->velocity, - camera->position+camera->dir, + camera->dir, camera->up ); diff --git a/src/logic/PlayerController.cpp b/src/logic/PlayerController.cpp index adce1ba4..b7cfdffa 100644 --- a/src/logic/PlayerController.cpp +++ b/src/logic/PlayerController.cpp @@ -374,10 +374,6 @@ void PlayerController::updateInteraction(){ uint8_t states = determine_rotation(def, norm, camera->dir); if (lclick && !input.shift && item->rt.funcsset.on_block_break_by) { - onBlockInteraction( - glm::ivec3(x, y, z), def, - BlockInteraction::destruction - ); // TODO: move scripting to interaction callbacks if (scripting::on_item_break_block(player.get(), item, x, y, z)) return; @@ -385,6 +381,10 @@ void PlayerController::updateInteraction(){ Block* target = indices->getBlockDef(vox->id); if (lclick && target->breakable){ + onBlockInteraction( + glm::ivec3(x, y, z), def, + BlockInteraction::destruction + ); blocksController->breakBlock(player.get(), target, x, y, z); } if (rclick && !input.shift) { @@ -421,13 +421,13 @@ void PlayerController::updateInteraction(){ chosenBlock = 0; } if (chosenBlock != vox->id && chosenBlock) { + onBlockInteraction( + glm::ivec3(x, y, z), def, + BlockInteraction::placing + ); chunks->set(x, y, z, chosenBlock, states); lighting->onBlockSet(x,y,z, chosenBlock); if (def->rt.funcsset.onplaced) { - onBlockInteraction( - glm::ivec3(x, y, z), def, - BlockInteraction::placing - ); // TODO: move scripting to interaction callbacks scripting::on_block_placed(player.get(), def, x, y, z); } From 8ac51752d348ee5ee580b7f16b31e546e762934f Mon Sep 17 00:00:00 2001 From: MihailRis Date: Sat, 9 Mar 2024 12:15:11 +0300 Subject: [PATCH 12/13] audio fixes --- .../base/block_materials/grass_block.json | 5 +++++ res/content/base/block_materials/ground.json | 4 ++-- res/content/base/blocks/flower.json | 1 + res/content/base/blocks/grass.json | 1 + res/content/base/blocks/grass_block.json | 2 +- res/content/base/blocks/leaves.json | 3 ++- src/audio/AL/ALAudio.cpp | 17 ++++++++++++++++- src/audio/AL/alutil.h | 9 ++++++++- src/audio/audio.cpp | 4 ++++ src/audio/audio.h | 3 +++ src/frontend/debug_panel.cpp | 5 +++++ src/logic/PlayerController.cpp | 2 +- 12 files changed, 49 insertions(+), 7 deletions(-) create mode 100644 res/content/base/block_materials/grass_block.json diff --git a/res/content/base/block_materials/grass_block.json b/res/content/base/block_materials/grass_block.json new file mode 100644 index 00000000..d866ff40 --- /dev/null +++ b/res/content/base/block_materials/grass_block.json @@ -0,0 +1,5 @@ +{ + "steps-sound": "steps/grass", + "place-sound": "blocks/ground_place", + "break-sound": "blocks/ground_break" +} diff --git a/res/content/base/block_materials/ground.json b/res/content/base/block_materials/ground.json index af6eba38..36b15aed 100644 --- a/res/content/base/block_materials/ground.json +++ b/res/content/base/block_materials/ground.json @@ -1,5 +1,5 @@ { "steps-sound": "steps/ground", - "place-sound": "steps/ground_place", - "break-sound": "steps/ground_break" + "place-sound": "blocks/ground_place", + "break-sound": "blocks/ground_break" } diff --git a/res/content/base/blocks/flower.json b/res/content/base/blocks/flower.json index 7d2f9c73..db0609f8 100644 --- a/res/content/base/blocks/flower.json +++ b/res/content/base/blocks/flower.json @@ -1,5 +1,6 @@ { "texture": "flower", + "material": "base:grass", "draw-group": 1, "light-passing": true, "obstacle": false, diff --git a/res/content/base/blocks/grass.json b/res/content/base/blocks/grass.json index 844d7baa..8d43b1a7 100644 --- a/res/content/base/blocks/grass.json +++ b/res/content/base/blocks/grass.json @@ -1,5 +1,6 @@ { "texture": "grass", + "material": "base:grass", "draw-group": 1, "light-passing": true, "obstacle": false, diff --git a/res/content/base/blocks/grass_block.json b/res/content/base/blocks/grass_block.json index 4c7ecf7b..c0f6fa48 100644 --- a/res/content/base/blocks/grass_block.json +++ b/res/content/base/blocks/grass_block.json @@ -1,5 +1,5 @@ { - "material": "base:grass", + "material": "base:grass_block", "texture-faces": [ "grass_side", "grass_side", diff --git a/res/content/base/blocks/leaves.json b/res/content/base/blocks/leaves.json index ee0e38de..d8731480 100644 --- a/res/content/base/blocks/leaves.json +++ b/res/content/base/blocks/leaves.json @@ -1,3 +1,4 @@ { - "texture": "leaves" + "texture": "leaves", + "material": "base:grass" } \ No newline at end of file diff --git a/src/audio/AL/ALAudio.cpp b/src/audio/AL/ALAudio.cpp index 72627dae..0b4e76a3 100644 --- a/src/audio/AL/ALAudio.cpp +++ b/src/audio/AL/ALAudio.cpp @@ -38,6 +38,11 @@ ALStream::ALStream(ALAudio* al, std::shared_ptr source, bool keepSour ALStream::~ALStream() { bindSpeaker(0); source = nullptr; + + while (!unusedBuffers.empty()) { + al->freeBuffer(unusedBuffers.front()); + unusedBuffers.pop(); + } } std::shared_ptr ALStream::getSource() const { @@ -135,6 +140,11 @@ void ALStream::update(double delta) { return; } ALSpeaker* alspeaker = dynamic_cast(speaker); + if (alspeaker->stopped) { + speaker = 0; + return; + } + uint alsource = alspeaker->source; unqueueBuffers(alsource); @@ -194,6 +204,8 @@ ALSpeaker::~ALSpeaker() { } void ALSpeaker::update(const Channel* channel, float masterVolume) { + if (source == 0) + return; float gain = this->volume * channel->getVolume()*masterVolume; AL_CHECK(alSourcef(source, AL_GAIN, gain)); @@ -265,7 +277,9 @@ void ALSpeaker::stop() { AL_CHECK(alSourceUnqueueBuffers(source, 1, &buffer)); al->freeBuffer(buffer); } + AL_CHECK(alSourcei(source, AL_BUFFER, 0)); al->freeSource(source); + source = 0; } } @@ -395,8 +409,9 @@ uint ALAudio::getFreeSource(){ } ALuint id; alGenSources(1, &id); - if (!AL_GET_ERROR()) + if (!AL_GET_ERROR()) { return 0; + } allsources.push_back(id); return id; } diff --git a/src/audio/AL/alutil.h b/src/audio/AL/alutil.h index f07dbc46..193fa0d3 100644 --- a/src/audio/AL/alutil.h +++ b/src/audio/AL/alutil.h @@ -17,7 +17,8 @@ #define AL_CHECK(STATEMENT) STATEMENT; AL::check_errors(__FILE__, __LINE__) #define AL_GET_ERROR() AL::check_errors(__FILE__, __LINE__) -namespace AL { +namespace AL { + /// @return true if no errors bool check_errors(const std::string& filename, const std::uint_fast32_t line); /// @brief alGetSourcef wrapper @@ -27,6 +28,8 @@ namespace AL { /// @return field value or default inline float getSourcef(uint source, ALenum field, float def=0.0f) { float value = def; + if (source == 0) + return def; AL_CHECK(alGetSourcef(source, field, &value)); return value; } @@ -38,6 +41,8 @@ namespace AL { /// @return field value or default inline glm::vec3 getSource3f(uint source, ALenum field, glm::vec3 def={}) { glm::vec3 value = def; + if (source == 0) + return def; AL_CHECK(alGetSource3f(source, field, &value.x, &value.y, &value.z)); return value; } @@ -49,6 +54,8 @@ namespace AL { /// @return field value or default inline float getSourcei(uint source, ALenum field, int def=0) { int value = def; + if (source == 0) + return def; AL_CHECK(alGetSourcei(source, field, &value)); return value; } diff --git a/src/audio/audio.cpp b/src/audio/audio.cpp index 6476aeb0..ebcd4e9c 100644 --- a/src/audio/audio.cpp +++ b/src/audio/audio.cpp @@ -368,6 +368,10 @@ size_t audio::count_speakers() { return speakers.size(); } +size_t audio::count_streams() { + return streams.size(); +} + void audio::update(double delta) { backend->update(delta); diff --git a/src/audio/audio.h b/src/audio/audio.h index 61609b41..63407cb4 100644 --- a/src/audio/audio.h +++ b/src/audio/audio.h @@ -484,6 +484,9 @@ namespace audio { /// @brief Get alive speakers number (including paused) extern size_t count_speakers(); + /// @brief Get playing streams number (including paused) + extern size_t count_streams(); + /// @brief Update audio streams and sound instanced /// @param delta time elapsed since the last update (seconds) extern void update(double delta); diff --git a/src/frontend/debug_panel.cpp b/src/frontend/debug_panel.cpp index 0fb20427..bb41880b 100644 --- a/src/frontend/debug_panel.cpp +++ b/src/frontend/debug_panel.cpp @@ -2,6 +2,7 @@ #include #include "gui/controls.h" +#include "../audio/audio.h" #include "../graphics/Mesh.h" #include "../objects/Player.h" #include "../physics/Hitbox.h" @@ -52,6 +53,10 @@ std::shared_ptr create_debug_panel( panel->add(create_label([](){ return L"meshes: " + std::to_wstring(Mesh::meshesCount); })); + panel->add(create_label([](){ + return L"speakers: " + std::to_wstring(audio::count_speakers())+ + L" streams: " + std::to_wstring(audio::count_streams()); + })); panel->add(create_label([=](){ auto& settings = engine->getSettings(); bool culling = settings.graphics.frustumCulling; diff --git a/src/logic/PlayerController.cpp b/src/logic/PlayerController.cpp index b7cfdffa..0c0daca4 100644 --- a/src/logic/PlayerController.cpp +++ b/src/logic/PlayerController.cpp @@ -382,7 +382,7 @@ void PlayerController::updateInteraction(){ Block* target = indices->getBlockDef(vox->id); if (lclick && target->breakable){ onBlockInteraction( - glm::ivec3(x, y, z), def, + glm::ivec3(x, y, z), target, BlockInteraction::destruction ); blocksController->breakBlock(player.get(), target, x, y, z); From 4ba6b4b98c0b9f17eeb38e88f64ac858da6695c1 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Sat, 9 Mar 2024 14:29:13 +0300 Subject: [PATCH 13/13] some assets update --- .../base/sounds/blocks/ground_place.ogg | Bin 27271 -> 44865 bytes res/content/base/sounds/steps/stone_0.ogg | Bin 5841 -> 6924 bytes res/content/base/sounds/steps/stone_1.ogg | Bin 5713 -> 6336 bytes res/content/base/sounds/steps/stone_2.ogg | Bin 6170 -> 7008 bytes res/content/base/sounds/steps/stone_3.ogg | Bin 7288 -> 8344 bytes .../base/textures/blocks/grass_top.png | Bin 7360 -> 6384 bytes res/content/base/textures/blocks/metal.png | Bin 6655 -> 6883 bytes src/frontend/screens.cpp | 2 +- 8 files changed, 1 insertion(+), 1 deletion(-) diff --git a/res/content/base/sounds/blocks/ground_place.ogg b/res/content/base/sounds/blocks/ground_place.ogg index a9cdecccd371c59ca94781911db5feab880124e5..af8ab36b53aad5d67b3f90ca14bc827f54a33385 100644 GIT binary patch delta 43804 zcmZ^K1yoeQ`{<<`38lMJ8tE3LyO!=QNvXS}N=Qgbs)UquBO%@0Ez;c$Z_(dB-aF^r zbC{i(ujb1;JIubDfNNcZ2UV=CH2`?vKhF*a#^1i^W@-o=1)Qhz8#7zCM;IKm;UCH} z%|GN?xWAPDp#y+NN;uevR#eFwSLWgWevA?RapHv`=-Rs2JXd*RP32%~rtKUXfX2ej z$@zklmx@W<(!#^s*2$XcrIV-a8)qj+ODA{cM*(n1|HxU(@}WpzP6sM=2o83zsu{MF zE++FU(Mu{Wi}-P>kesJxc)mEF%_0RE>S}OULQ%gO*hk{fcDmwlo2xVTNM6R-F$2##@k&x{&th9iW^?17^m4kHm{q<2%6XUeHkmAAt+ z$KmeEwiuK{qpy4_Z(AHZto|2ZpI-&huq*S#QAf|IB#^gduX<{3S3LQi3pK?}oqHoY zL>+>WlbtBYm=heMjzXOiryfC{L%_O`?LG{uZBb=ws(&cXergWm6{j9apF^Y{QC3Z4 zkCjuY{SOdc+(}?w{3w0nuk?RHV9SE>8kCfSQ7FiF962s2W%*e${Y$?7MN2x2`S{N(zgE}>5+UjME2PKEj@yLiokpTrlNji zRW*@Yan+=e{k|xS0;VDiP}XT=U;NYSe{|P=)ct=+cl&>&7qfR7XxQ_?SSb~EfDpGm z!A=t2f4tbM4eX0Wr^tNS0l=gM4xnlY;a0WjmItWN0RZOEPAcARrVgTzPO2QDU>xR- zWH)t|93q$@I+NXS)O(2Bu%+avL)6u6nL}{o<@28bfa)>;;FtvGw*Lk~!-^0ADR_X$ zJl?Eda3ecAUOhMlRF4!y`4S%wv4^>vYlA92PTfA?aqf|gUGd+!5LJ2kVoTUudI%nj zb#)}y23ZK6yj*_O^gldUk4SifDnwmgj=5^m3`UEmE|;G(ZMI7VTZbHT&ZJpnPQ3cR zxuUZ8N4&?mvfOx3-44datf*`fHk%J4jx3w}46$dg{yPWJurID6Fo(@S>|yDMf(^?a z*JT7n5{6)FuB6g+;F&2W8E;NP^jO)f+5>NUCQ=Lj-vc)`fLK2 zzV7PW%+xum>J0SRnh;nf?!pYb3${ox@mkOWF(^O_6)Zj?1>gNOM4B`za|e;zAaf3p zIm}q`>XBUQX>O5RooQ}^f}KR>gMu4mZZJTa+sDTSHvHRAx&Q6qz}&^+0syF`Y8Gxm zv01Pzg$MEhAcRYvYn?1aog@^-S`amdR~~$1izA=^$PwlT^~d3`+-rIm7=;?6SC_olG zsrD-YW)cjxze>UZ(8nr(N*#>kPW=n$?>BA9%b z$rT@)NWr{EKxgvb#%=I%4(0|T^S^HRFaIPzI)v;IkmjZgOM*ZIKmr;?lZqdS`0PAc$^t*d$bXA>!;@m7PtYdGN&AE+1v4P5RMF>XLhRUc`vsYq6CRcEgr&n{ zNEeoUic$X?l~Lp&nvigqM)tc@@#7Gfz6P)&0z-iXGenyCF>s6drXcF!?9~waV!n-k zCUN^Anm1`ySk-CZHYiy|0K#xKKD%Kd1IZ!+fCT-tK%4xi-inROUrWpbfGjgC;GA4>8^&K>a_`>0uGaobxFCKNRZnXn*k@LlK6D2gCcO`3nVr;lDn`O&~DKBi5k^q(vuY z_?KpnFGK3bH3q^OYMIC8k?=7bTg%$ATGIH97Bwos<38JBRolh`xgb z8!ViB2Yy~;D9E#Ses&wI+sN=8guT%0BkR`Z-3CQ3Mjs&TD>o)Y*JNQ{cVh`i@7X@6z0J@`G00{%mxEP_n($V*% zDlIsHuu^~yyoUpbf~c4XC;=e(?`s69fm@-FKRi{aCqfL>PwJI}Y?y(3hoUl~sJb+} zb`UwF70U=9cuX)VSi(`k6dw@e?v=CW+rT0IL)WpWV1;THW5!0!BP(djm#a#hoi+g` z%Xh__shiv7n9EB#A38R-{q|kdV27Wq?`|9bjVPbjKuw zgR2XPgb)73wUXvO3jm1J+|qP31i|egc3Iz(u>k@?qGLEJX>;1W-|+RAE|P>^mtY>f^VzRRlU2i;(R0KZx`% z>Hi`?fn@}MN)L|aYf8%M=HVrPhD%J%%q1u(rv@vb|9Rly|7|B9w~p}e|F)DZJpX`? zTgpeMvJ!6qg`u9V(Zh!a(FaiAf&PK+f$@Rjf#HGtffd%{c%avm9m#T?+or=@rJ%?V zuW@R!uONFdcHNRJK2`E`7NM<%W6y8NDNV%Rj(1~#M4>P-6v>UsE`Nfc@8CLN!kjZ! zWYfGXyM9#V6>61orq80q?Pl?JBnNl93sqDg#44fERPX28t$U@sX>iNvrAJfA;0g%#o9X>nb5HC zD6ja512rU;b>Wv*Th?+3G9l!V%|cTLB@yyDx1}Qc3%&Q+O5o*7UZB256M%1rhmKWv zUkiDBbBd<4U*;fV+|_c_^Iz3QGj8aw$sQk6z>ALWlc(b=tIJ5L{tGlW{W$HXH%&3)oNK^U_>;sL9BfCy+_I~>y;tHtH57he5DLmBV9pKMZ{40d{Hc(pK)f8XL(iPU zcY1QO1qdsDJ3IK13zo%!mOE;I181P-SC^OyPgAhrY8{MHFqJ}7C2q)M^Y3Q3pk&tZ zk61NdHTO6;t>BkAP`qP-J9C$=vOG77@7&yZ6HUv3F>veCL(I=@&G==>LLG5(36MZB z7S}B4^CN%NBp~wn}K}MBVOM+{idjJrQbi) zzDoT0)mXlZIAqIZos&U6!?bGDLzG#J+Uuh|{G>~8E%}a0j3R~cgw%;!Ppsn>Z~qu{ z6MHd7awf%3%~2t|D6+Dfy8iZ|?lm?v!3(SSC)j;?lYU=ud@);znIOB0vAMQmdZQfv ztlPFL z%|Mwlq)GCt3frh$08#7d`|bgT2jmVBl0c^S`61(GP+}D#8BXt)%1;I^mU><2OH4xv z%fZGQj*EferH=h?e!;TSz-!46<4_0|Ka~;QR`1oMIs2LR3;h~)yC+E>f6|-k3yxxa zlEoZAmcal9=J{2VmeI@m*~*cCTT{ZvD$`UD+JbNkMc=tQ_-fZ6EF0NFM^7X9ZW0HzN2Yy+XO;Exl3Cdx>a z=;J`fLIZ4X>SmwxFNxe2d|7Zfcd3J^#9HMcqr8f9?oRb<%ag1vji!9DqzWN)Ab0LS z^}$?@F9pUSjUKc`H?U(`LqT;WK=!KzlgaLK#B{RgcuP?>Zo$TTSA8_=$vI+^NImw6 zfSc}oxgo}2Pf}UILLML?cn#D)1j%ovZnVRUN8Ly71>PmElrp^ zJN+FzbKiW@sxQWRSLR*BSPrIv2-k}0jI$gsvwgZEZzjmbhqu#_N%CE;g2E%^Ij z=!Y$_hmZo<@lK+X@VStJayc3;bwDNjprG=3XweB}X86hGrYCqtny<#wckQ|~v&OBK zzT`k@rm}xMnF(AKiLv#Yh;pn zw+vM02zY*2G{}Rk3sIC?vWEHRp74oE=93)*?uA zxf&EYTTh|JO%;e{Hm!SyNwr5yUX)~o{aYIav;A3qWLn~hf$8xNWBNGx#iHD&Dh@wz zW!q}4D$tv9_mz)PCi{saBOj_AQ_J)*j)s&d`7gwUBlr>RW?Joor(F{Ca)S8aR zz^h-q*d78^pFyXt(~NY}GT>=Xj4FHZcAlJ7ujw`8y-pgkga%T-q_1(TES;oYd`F#~ z9TnO_K&EDvM^v|{v3M(P?U(u%q4JbH)uHkMDPOZXly1E**ytlF_A{-?>lD(lPP zSpM>v&XzNwM@iWZE)uDuPjXc#fq65wr@D2&lwL7WtHQl&Ivwxi+9h}A>kb>@u`4@6 zOx*qgkiu}~t(MNnhmC^?0pwhE-NI@{jQ*R1o7Xna6ijb~p7mL`jOfW%0~*gK92>B3 z5!da;?fc&MjPpblla=kI%6CC<-O|#e22Z(LUc@}xh?IOSmb1l&MM)s13L4)R-{7)dqfWJjXDe5w{x3X*U5j{ z^lM~`8aAeW<8%2{&+EH4B!kRu!u!C%r*vAnTjfFMP!@avJKiF4ZviMG93xtIC=j6j z59dD!ziVi8IUK*GHD=uVfT8}ZC2;Q>)s9&w>+N3bQ(Fc@u>)4b#97+Z9OR-vGg`K0C6U}^=ogeqD$f{&IHNj zfZ=Nir1|Ui5~!QGi?v_wxi$z44}q{i)e`y5%P+2nE+h zW9s~B;82|oTP7ufUuK}&g-Dtt%`%l$fOZKF8J7NyxulIR)Qi3v(Pk>*>Fno;^q;q+ zC^vCY7eQez=#mURHsvEN?%pp#!cMdFJ~NgoCCX;7%Qy~cZWABHv2hm*J(mQ{&n{3d zKV4a%V6Op2Ge}g(sHMMFQUO5zCb()MRxQC4=mG%Fqrlp9)X{yZV^teuTsc+G9+-3`XhrZ^wP#6?eTj=vTj8#-jO@z_%nKKFRIEEg@% zzRHT%Nd8D*_9>>L`oO)>vIArUY|0j}@J-EA5s2e)MMr*KiPBzQQ==BCF?b(bi%9Fw zRFShCLs_7f1)ud7LekoA431^zg`Fj1Zld;I9DPjrIQ-TbDUon?bLYWH{k_uQN2(#Q zO^T>fG4I%O_UVXYvD?@-c#F$!3(DXs4A0S{S2TqFBjHA>slB~;q0c}@rE0X3+%Vwl zw6NDK2Ys8Qnf=59Q(PS0yCxNfIxcOf9;(lr~;4tqh8w>z%?a+GxeT`YDEm zl-!I4aEi@N7qEU{&wmbRq5=Isc~Zl@IyZBjF}VcItXIQ_yZu;=>*8Oe8;88jbTR*I zHma>+ivf5_^d)$yq_BckW4umtcQ2iqbMuV!X6O+~<`$v_qQXv-Q^Epe{KC9UTVH!( zkx{Vo@$M=|KN*(Xs8(6SU6f*We?c1%zInglDv_geM)z!I&wD-Pi^6MkeJ_UBxYhgB z`37OasG@eQTfu-sbtA?0O#M8j#7mM-s66{YA3mnHcrs9T3K6t`HXH`qno{*d#KGvI zRVRDlTKsN>r?l-FHK)5q?oEpBw_^S9_nq8$uVI3oi4%n{MNfBh? zxZ=}Ohl;m97Q`?503}r}dcA!;7gk-Q;T^$4G_A}uVdi!{S8K?SuL)x2o0k1T3?C&?#3%$j z%be+?&^4>jbqTexz81mDF=5+TvTOaiMx55n8JX}qy|Jn>HYgGZI~%*I9$MJMF}wkg zq23e#lmVn7=3vE{UiVT2fPd#DP|L?}GXMSshXDJWt(H5WcwmAZjYRSDnwwj|j!oEM zXC=I_KlTTfhcJGAuBPcf08%3Ycjd*C*XrqzSkc zL`S4S-y69NZF`d{O*iJRT&_P-?lTlN!fEU}Kq0qgh@9J~(m$#Sj%pHDd`!Z-a-->+ z(cT8{RudYV;g;2!2ba7okgNAv$<_`#Gm@_w6KW}-L2+y&Xuv*Chi)k5fg?oI7G#+} z@U>o#et~Q#4%rTPb(Jd*AlHdes2^CpgC^!|y<-$gyolyCy)QYSprxt65gqa1$gF*P z=;IsZp80kabFE~SmVE(^q+gg4hq#a&;KyuPYOWv83#Ozx@_e?hAh!~`)0Co6iU(v| zt^)8LXxt2oLPIse7UTKcph86<20glFYS`w>LxcHv6bH%`%uXHI7XFP2&l0PHQ}7xk zP&L3)Naux<-}tDZrQPOCbZunoqK?9$kbyBID7i`1oi6B|we?9`8RiLl^>(oFQ;fOX zqfTj+T=uxEwDNxRiw#pHwot3ci!zA!t#(FSXe2u;$#lbqHf7~GkRWu4 z-|M)Rq5stf8HZAw=?U#2fZlssV05BU@XR1y{sc9AXN0h}8ls}6vWdid@|=Wh{0FpM zhgzj{SdLLLSAewx6dk7+vu+m4oZ#-f-N}7Zq;15u(8tWSM+le5Ux`K`iw^i?E(%$a z#pY4>xJ`Wyr7d%_#NV4xdX-Teay~Xp7IeJ$HB~aHc$6*-PS{KA`M~P@!h_81-4G9> zMN=tb@sXKY$84zF^4(2jet6YPD#`da>+w0GpsCNV4hz!gK-)Tko@3%VU_fSU?Beol zIP6JmpqPQvbf! zy5w}HQ{aL8L>Zx9=u1j^6Snsho!R0s83W@cd5rd6N%_5a4B7W$zNY#p*sqUh8=p}r@~JmeFGPc=aVs4-#BtP(|}ef!4BlZark%=^A!`-T~F`t z1&d{8(;;u6waTU}YnhmeH32#zqUk{ULhmUFayb%h`&(fSUX2kv^zC1R%j28Y9D-XC z#HVhVu70Twvdx(5MW1BILmDA-SsKSz(tlQZ(Ws_NBeyRgq%2u!rB3Z-j<`2eX+K@V z{ktIj>fptK$S=|py>08OuINQ=r@26d?`XGs*{GTyu-}{Sm5`Os+!fEJR{Waji8yem z^1W$9%Z6)&vlVqAMZo~8BNIFi0vtR;!Oq3;#G%wq?unqG z2!@9CcVay^?G0Y+nY&|WvR1))d``p#e#|n`iVxp;O;~VwYi3>%UZC7~d5iz(O<76_ zTVP#^v6J3y1_kD^JaFi$fJLLV7xgm}LZ7wDo*l3@EC`)!lFc1!zPc%_ zNXiFK#+U^fD)+I9b*D4WE9SXNJFhsjW#{KmR#z|*Opk{^q@27nziLNefq9+9B`o{( zw8U|P?SrpH4+s@6NJ9W2f_^llh3~XM7PA|K>0IdtmbUr?Pu3l+X6M)n?*a&48ylFC zg6HknZ?OvvJk>s8?*(Ex)F{o9AUid;e~JNBuD{Y#0_D%-cHfGh?fAReMjFnPSWSK> zEsN&LsuL)k(F%jIR4oQ~_-)mkBVAN142&sli}SQ#sv4i)8Pf9qZrnESHCT_zEQ+g( zKG!afjBlRoyNhn?*@BfnQRjL=6L>mG(>Y$=9fau$>5bLz*W2c;eFtxLnE^Gf zKNaDnkT3L|0JYpf-J(7I#tw2(WAfPO&;4q>HZj3UQGpuHIkFJ9u8V2`YCK>uw+|mZ z3qW#lvfl0;Ov(6aTVYYH-nFm%QdCXrt3=HQrfQ~1i<4sas2T<5xhGE(jO&%bi+M-E z8c1pVMAEK7ki+{9y#^DNW6cQ~MaN;ti!;6jMiZ-z3}uBRk@kXe8L#aS8Fiy45Cy@s zUz#528TMrc+m76R8E;m(57j*R``FTiCA$*pi0;pS_tM;JE{OT3heJ6wc$PIf!8Xwj zL!(@u)$vGbXb=D;f1 zb}GDmo%i;P@qr9)A-S@#at`cU0-N*&*_6MMJ?yb$d%af~0^SOe2o?}-e+Z`Up8j5# zHR1JxVw#j7^!uA+-ZvKlEZe@nx5K={D7PC05%@;8^P>eDIHHU$FsR_TaQ>Rx7&N~y%x-s}q;zLzR@HXX;1?HLmm^Jwgqcv|j z{i1N(^W88!%({5cI7*jlrP|l&j`yG4=mMwsUt~Bp{_$34J>gE{fxhapNt_v&bxJK^ zy{$iJTd$%ZwcrrQ`|_cD5d87Jcd94j7OCywjx*MdoZ?$Rw4kEq&KR(I!QSdg7xa@c z#7U@>*`LAW&`;M?K{VfW97B>uI@OmQlfX1%@PjwJh0`}CX^*9zs}2$$-MJ>R##*)H zJE8p4V!FzXMWC*-&Xwu|n*!UER9r!_}b~}Q3vtCSZ zua4=2@s&<}y?aPeF<)FowMwznM|1kc3DR7a80L9EfDL2dwOh8daL_E*N)0k8F*6^X z8dTM?%klTVkht}O?(@GJLdT$ zUgDUNPGiRyKGT{z*F4&%{VmcNuhdsddU8*!Tu^RRpS$>xA|Legb~n4uoRRwcD>pUK z_0kG8iwE9+c0CB=z5-v>ww=^wOhR_H>%do^n(yZJ1Lb8$hHtQE{hBm}Td8;o5j2Mw zYN(*CPxjOW!g&86{J~RT-=nD*{r((-8ZATxz(dkG+#1yRF$j)&?AqNNWp7pV-O7dZp;N0Rl{V;)Wpw)+t=w~cK*JnMR?&*p z*AFntPZcN~=;A3HANS4`uZiJG-KfO=^l`diF+TBSdhWT?_>0dajSlQS4ve`J(L*@t z8xhmhZ^t9HBpvy$IZej-l-Q@52Ul(tqn_YlWN<_%ja7r6ftXZ{XQ2W@l^TcpNF;jk z-5xmI-IxBO*=!5-aHh&UYhO6K&mFrvg^aCczWdbCt`3(^$EZE&2qW!dE62vHK-$vD z|8X~opQXq$gc^pBhPk~L#}}3P$%t5@!?Cd=EkTGiP31cFg7jcqsZRbQm%!^GP)GEY zV|!HqV3Z5?!97z2plL65VI~I8ynT(#z%i$F$*2rLsPD`&ir<< zpLa&se_eG@A5DKSGQ#U&%hvHL>0Dv~RnYK6ggFZ&_?}wlpN{lJUi439uX-Kk=<7ID zl8P3mdn2+D8$?T*)>C_actgpAixwzUY0zh0R@#%N?N)1+Q@YqF2)?xvv|-MXfgsk; z6cO=|mWqmtxvV%ghwhlURDAPFY`GBc(RV`4(z;|rK*D^NGzilCpwOw{Sf;GlC=^0m zecKG4ix!zSi#4uuRo2S7FhQTyS?grd>fVLFNDLTp9%>k|8C!A)h+)MDbqHc^LhhG? zw?W4{+-FUeDaQZ4cP(A89=olKw-qOc0JRM+gPiL&t84Z+w{>}(dd6f3-PLX@F^`Mh zKaitQxER&C_*b=wh`G81;TP7kYU5r~@SuPNm^=w&3p)IJ!|AVewth2P=cQ~G&QOuh z!$)$DEW9_`E@XD3Ke3JvWwe@(}g8e)xpW)(G86Vq*DL;z62zeJdkK zr*44vRu#O-n%QWccC(Gj7fFShH|fqM2NWjQMX!9UxLC&c z8HFE;k%ptN_L|=CI*^8N?#=XaLP~Zh%kWd54d$knt5p>5*Yf6A4Q*}_yEkn<6|a`C z{e3hG5fK=&sBAj3eO)8FJCL{!{`h15>6j$Dx9j?#X7ZT%Ffz=x1DClWhkNsg@;gmB z!W|MX0=qQTAk=S$M04@JJ=NWpg9IWqY(&04Rr$-#qdmxV1S#^AoIN?(JepCwgzS(1 z=|ptcyQ@p-T1;}4_=Rx357}d8af3IxQB5&$gbeqoZXYOQl{W-e9#%Tmz#v<@vtp}~ zXhXO3%@<>-&kU4e`%M6YmEPN|*^pcLDs%JILC9iN?gsas1 zyda6}9Xx%fp6a%Z8%NlsUl4X*7=T9nJ#qMZ>lYE$9iA~NV&dlD*3~zC2!|a!q;m3b zaqb3W(c=ipuQ+_oh)^gtw87MxIrwz+5#gX+}M-)pF+ zA|C#zJ4JK|E*qwnMSU)$vTH0jSS-WvTf2S97FEm;Bu4%jw8Kb~!gah@?JQ%-(2mt7 zDRiYlvg-_(tfXKg8;<+|^h4kxk8UZfc-u?A<&@k6yyJCozQ0r3j}Z*l z*~P(X=QRsj^;}*ihwhsVClp*-9pFnPisE7tM*uBtVI=PvD9^j__u$JO7V$1Ko!1sN zfJR&-wbqGITS>yCC8N2wx0l7iHA2RYv=KuM;w2tqwKHA(H5y`e1FfbUpi3!P^^`BW zZwi~GW7$bUrAEuUNfsA8REZ>;fN({4I4Wy>Zxb+v!e<)!`#TU7Xy1}iyOts(#GPA= z(7V}Nt-dvijyCdgZ9DgJJXdj`6g7T*bKx9XZJ7L={bwg8tp^uTN`g-r!^2W|`w_xD zzfG-bIrXGI14$~)AUmx+Sv=%W#Qt6_fMV28XzIV43CfS1d|;?Y39G<7=C(`OdDJ z@r^^eMV_NgtNMGUyrdr{*O7u7`#3y3tB>#!C@mYpj|F3|tR4nd!+EzJ@D}Lm_r%U> z806hZlV=UWr6w_}GH_Y;V{e`d80YOhZO zIDWl6)fh@Wa&~r$81yk&K9~eRzb0d?f~_%rew!IJ(a_42dEKbFX$sV1tP^kIa6LxF zmzy&Y$lH0CH}_H3WzkhZC)HWL{6wFmkl*4RD`-@I)LS#Idnmpf(q1Ue4fuiK&Km^U z7ioBw?|~E#8tv9Som`T(v8rh6sp=y;4os-`K4dvnA0w3=#W`J3rG1;GI}e)e2& zPrvA!plpapxoNKbS zXPF5awJFpRHzOOSx6&gORZhCBH)c=py96vd%MKi=N)!r_m>YQ*O*vJqSSQE8O6b{z z^EBog?LhqWYc0sHT&KPa8<*FnUM<9~F2{8?$qWxh(!cy?Fx_4q<1ToJ$`*@U3S)Lh zn)*b4@GL`cnvP6wKbh!KpLpTZMDcWVJ;bF~jtPx9 zFZUXW7z&wMq;6+E_+5{ik``bF2XC>V)ft{cBasml^B|u@RfrhXH4o)XA?W9~iDbneB zOm8h)bG^mHZ6V1j^xw_Q-)*IC;@vYu^!7x9JT~%a4M#{mwF(JRd-mUdQq4?tTducd z_!B-a%X3|TH|VnGP(k?$w7+n!M^zruXTJZ0p#V2DeNo=vhj1WH_Tb8r_2pb!7GW7; z(p?A{GPd>1&v0IIPT>)zVAm7$_~T8U)MZ_D-TR`u(Yb*{&=$EK|CeFhm)~lLH+LFH zMoh3X(ifxt_O1Rcu(X862H05IDO>z1%P)qDBqDC`i+Yn z;UX908xYOcpyIG?2UeM6)F)^LbvAg)3NrJE|ANlHsqE`Xr9lD?yTxLeU6cCogDrkW zB&f_mQ6w4>J^e(#MvoW@Ra;CC)y;&vmuWFg+;JuZFcMNN95#E?uZiaF50Ncqe%K)A zOJQTgFCP|p@@Oy%5JlPSnGROzehj^2h#G(XqV8=2$3A>B_?EWQy*cxl-- zr)`>UEO`xS`1If}S8LQHu86M5L|JjA@Gsk9@Kzu0`oJ50Vf^zetQodjWVS7%FA0VW z1_1eTDUfFNY+02x(VrZ4qgG%egov@O0FPb1Hc1^%>_n_&em)ggqJv_2!^fE8M_%E? zI!fN5j!bug350u`>+cdLs%z~>qw4l-qN8kSk@pVV-$jHDX6*%s9_5qTE3U4Jd=_GR z=0K0B5}zG_#T3P+$a-OX;<}3kINV2Q0{|9j<_q9d@DimFP2p>}y3XtS+S7$O?wvXQ z2g6AQ?fsN!V<+0;JuJogt-3vDA$B%4^U7!yqI7a_Y*#bM2agV`RW!aa0y?*`Nr&_i zc1;rrfNDTBDsuUM^Q>v$l@D~KE*>Ei;=ImKJ+Rw*xOF9p(!gwdcxUz~bi^zt=%bo#&dS!${ zcUa(o6lhFoadis_M88zOPbA-%+Nvd5`lQpiTi-;SJoND3YTZ}M1rc^6oSi9cxx5_r zpbg`iWUG>?3W@V0puh~wz0QrFk!X3N#Kb^{Sv2v!cejIJIU~~=ArCHcuM|*yDq&oc z={vFRwQzbwwj(^9^8KgpyQtR7YD>qvsaB91NOEf2owcgFL9ssmvw$NlV1i&JWsJlb z&j_FboG3Piz&wylAi~2v3<){QLWV~@y!f&;j^L4T!kC(;!CTd^x+*Y+bZ(}&dl$H0 z>LA`lpbr&hLs5udH zUso2c{Uq8cKuC9KLkztm{BUor0|$=h`wk8V`@Nx2p;a9|D5XXmkY4HJdrhZ9 z#so=qdsZq#Xgp2)OZ#c{EVLOQtK$Xmq7)vmxU#_|dWPcVtE5vk=yj&gJy3CDU7W8? za9;_yACP$8&z}<*!O!bK2(UK5RED3-Qe3i!ca#8;bOeBn7X?Sf3?S42fQ=xPw|NMG z!yfOG?+y?syZOS;eh-fGSx+u(O6%q{Epe*oIZ*6{Vs&SDbuO3DB6}+G#G6iH>igSg zFKWcP;|szCp+<82p+G!rhp80>P{FZb06v}pS6!%>D3N>~K2$$mx`TiI?5TwMc~zv; zM_gz`z7!PcGFn~z=4yVMuKe-q&0*VmSM^N8&$(6^EX*+`r5=xAnNFg4msv($c#h{U z%s3wcWquvWqgs?7m)+aq9XbcXVmF>zZQy;Df&0h^*HBH#WoPc)Py3^u^Rj_XN(bR% zXL4K>j4=Un^~EVZg%~iTsAN*#9hU}wkq_d#Hc=7b>-I~!aZf+3$85XuEh>?CMfq`T zahidw+FMpsEZ~~AG8;aX1xJ%-A*c9b{7_c)%ZYh{tdnBUo{#!_2I z)}r&s%qd-%g9?d!fWwoFW7zWNNU&703r;opg0t{Ym}Y65uYy?sj!J5V zxD&tiW(5(O_IIPSA}Re6`LSJNYj=!A9J~)7%M=xW@}%K*=N460Plw;XJy`#D-}!8z zh5Ao%0*v|dq1rugCpG0|-VA|B2P2AMLHM7UJTu|3`MmN}w#9 z?1IL*PEpKzv*%UKxsd!oI(f|{*so=r`yH5uL|zF zPDFtiWt`(T%!m=CMB_i-qtESOTYOOdC9Nzm3Nztvbq+KaBK|~Y>q?qXg9yhWiCem( zRs<;#5K%?^%M)q?)tksJI+2xdK7c5M%wu;3BItk&`oNM9%2vpokwy za3)t|YCZPP-r)`!%%D?ks@vU~g??#dp{F9Vebx1?haBgdELQ^)jsQGL(bE=0ssIXGvo26A+Vp_0b&~R-2z-X`Vc-|6CPj z7ni2KF5e3yJp)}nJ}wR}E)E@ohjdl*2Rwpe3_;ebK}ktY3~W$i1fQcVuM549tM>pIs98GK;B+!Nzo$5OF*j&5 zw3qyDYqyfu_5OBwJ@lr*=k9hmD|ih_gKvS41!+_F8xr8e>(z}#^Q&?M5OCO>`!a(4 zt?L3o0v|pw58C3L>jYGup}ySiG;|o)_1IhTSa(|x6%x;}o#IH}Yaw&%yDl=#7wAKq zTC6B4_MPDZ*EfV$MsEK+-xd@Sxyw%cl5rM9f$tWG!t}sF$3#RZ*V~E4rPz)QNGKvk zh{DC+ac1FGyWCP!KHRUqygB@VaZ;b39_?l)en(&Fnikm*;k505b%COz>rQOX`H{;g zF`<*yMu)#FW^{dmo$PKlInQ`KCUXuOiK_M!D#BAK5UAI|B&lrU3~^sWm+62vH*=7> zToMUmGQs6^TYgga~=MRJ@UPSZ>`r3vR^*l*58acHiS+rmNTF1T-#(@6$TbO!@bYF-*C_+ zo4Z<*9g%Jpg?!DsQEz&9a5hGLgHpGD@hM|3=83YQw=q260C%SRmHP>T|3|Q)*`mYz zG;OPDSJdA*y0A)kok);>C+tU9!;KMbeM!J6*jM6EXq;OslwpMDHD*hH!%JR5%MyA5 zM*4qEGD6<$D~7)E{j{4rJ1F)rw6vD&g$4M*aq(8z=Z+%Xoxo>?E~pqnf{;trXkUY z3xiSPPfO*WmQ-S<#yuZ$Ib^{bIQK1gq%4=%&F^^G6J~%=t3h;Zo$_VlffDiVwd#)~ zs5k}dn@@=G9OB*T8zqP3Ia6r?CW|B%;F`OS6|0N_t`sM^7)ut0w#yD{LhkpC<_=fN zGG?7hQ3O#cuxf&?LC>4g$Mmn1N3hYYyTq9V&2 zP)1RqSiqqn$;Pxs*D%b1woQKX0dIAgSC?IPeXP4Y{d`|G)U}`U64e;GWcG-iP6YaF1TGLTgmEOWPVtnMk;e=NN;kb~bPE2l_ z7013#W~{wUnbaqKI~f*Jjqt*$9#j1CY{Vlk)KO3IG>k~uYr?5fosF9Ku-0r? zdIQA-?s5YDN!`0*L_or&wx#6U>pBczJCl*8hXN;~zn-(JQ_OKRm`^q@;#QZ+3K<_ZyW@HVt2{CilYz$q`>)!Ad;5lmpu9#o65EfQGMdba(C`j){-N@x9}N;=mOi z|N7RV#<>amHxC0$A%sulWA3K48)Q-DNR!%{+P~;RT_cd?HooDIl^!JGlomT8BU&hb z8HNL*;12BrMPjXy0L7zlt}%y8hs=BY9B#R7X7pvmauwWX-0ZWTo-43bE8V|4tDfha zI{G>_5f+VrijQ*&*5NyBg)`+7lgMKn<@Yn-p<+fTAE;DKzIkT*djMe!D`Jh?s+e<) z;Pqu~Lzha=lzRn&=3cn!TOJl9P%-}6<`ohNQNlnI<4RuKNMb}nnP!=kDv3qd%!%_< z;Nt$tP3nviq5~3_Cw^A2|H1G7L)2G>MbXCn&eB~XosvqoND2x_OLuo8okOPrBGM@( z(%s$N-7V6c%btDS^PcO>ewZ)&VfLE6Xa2vuSB`EjLRWi*me_RN$@v{dJ;5%w8u{V- z&RkA~J-Hvqmn6rjf6PQ+6Kc7k`L>=WQwiI&MzrNz^O1phE&TCLAvWjE_YQ$ zcgO2umr3hfD)FA;-F|GE8l3BwVG=3EFdYtTBRPVN zOX2h9a>PW^y!@gl_d?F!{|yQQ$|eFpf80VQs(dX!d*pcv<+(@ipW_LuMDvj}lM{ba`bAg+ z=)O8eh4bCPSyZI={$uUKMG25+LGh8=Hn zwnPCChDOMA|9)+%(q@IhQOD~4g4LcQ!-sFv>p5BM=U!30*kC(RemRlt5J`;^Ilo-) z(YU@sUt{Zwf}cYN(u{t62ifntaKx%STn`%uE$uBOquXK7AFKbAzgLeTe7IKz;uVd$ zsFK||e2$%OL4JkvxQk41dm&;5oH+~^XuC>{FB~NH7AaMR@#M2U&bL#O_O;7>lr3z- zZ=M%rXE?cZCTr!hKEoa#=T@xme;4&!ntPlHdDhqX{O_r<|_zhXSOxoqXS&tSd2PeM7@u za`~IKCJc{`t{|Q%g+fB)&jHtT62BJ_oR8Iz9rv8PS*r1%#dDrO(| z1#OX?b7CEF(Vjc$o)TaF`l*LX9CgO`;rbRPV%z!zO+$YlWbVI|ADX|9$+*g~FVvlB zTd-NS`s`}9rm#0Zqxj?O`6F+M53Yx9{mR8=GI7RI%;|miypPK(bkezA_u%tr_YwD8p2D%zpXNqt z3EkgAxk{%SecC)$=jy*yADHHd43I7&h)XChU)cA}r&`iwk3cSXu}B%Fgm1P3e!TJ< z&*7T0-rco6caxQBXDyb_x#8rpc+ZLry0>T~^ORbeI65Hg_0`n>x^EM&ul7OW){IOk zw)$6g{>?3+RlY}~1kwS04!2CCg6T1O9FF!$Xc1{7SNG_OahwO&v8U=@`Fh;$T|*33 zTbukAS5L~<3$wz#)!uY;OiV>7iltllPgr#f@F;4`UY9ceMV-c)7)n=uY|D5AwHYs^ zhkk3D;eV6kTnQ5V=hRSxJR^qGu_BRJ`+89K*G?^B&VvxyXWqT~*P|Vc>D%bSS8dl@ z72sR70JWXnOsTQG3LY&{7*-6@mz00KvLek`oZAS*4T{fxC)Ax^yAhrKi^sP}lb>L~ zEGs!m*_;HVm(!wy085lK>L*ih!OkdOmf899MkLeGuOo0PngITFAe#gML)f|V@|Uku z=L|OBB($?{_g0Tx^UDxHgCQdETM8V2`E`ir*6{ADUR9YZQ$5arY4>tQaRkKed;fmV zSFFcTf!Gb29QgG%ZQr(fx$91=v0mmLC5N$8^f{7$K?CqGKkWLxGcpI`Sel+jxC3Y> zEIy%`>lSduFu;bQsqTmii>vVOmX=eSX+~-f%^nkCq@I5?BI@m8ASqTP56C=ouw|%* z(oQrEq4a%}>?rv@y1M^f17CRZqjnhemvi>6#2fPRh%E6o2qOH+VA~M^NG$p^E)C%0 zVW?EeU9GYHI=Z=5-%STIqBhR#4=vo}S8ra0Zv6T&qS?0Fj^yoY{X&`NNqhjIhHrn|28ZS)ZZ@KJ2zo8R@0b6T}ZE zt02%S$1YL%d+4ci?upnRbh|u_4eAS@#`egs zJ~3d5qx~67I#ABTNw~KfDLnQuOHDi&&Y!O%8#Oi+>&q`ca1>V5jI^geh_d>HR8N=u zxe+BK$hUChP0Hv>K7qS!dm8)Ym*_aOq-9#hMT3Fq$FFRBzT$}TcoKjaa_Lx)^Se7S z-!#JuyLU^gJ{Jt&`5;vJuH-=K;fYYE&Bn#ByQsXWMiw?bD?B2V8(pyaJ^bSN;Bud_ zblm0pe8EWS#rMUiZpTqqH)&YjQG4V@;CL`Vh>kB7h|Dokc;PPkVa`&=e@$s+#n8s- z*0)vlX>{PS;HYLwGud9AY4Y9fsU3+!qjXWxby*+i-RRk`UT0G|@0s}UR+g|2*xj+2t65T~30C=^GAuE@5P7P&aoSjL5}gD5D#mM zo%h=6LDKXfK(RX{{NcS+&`xQdV2KJ1lKC)CZu&k|ro>N{sHgkp+Mp!a@?GRJ#;sze zBYZy|^I?$#1d0P$U!CuS!zkayo)@a$;Nc8D`hC61L|tEtEzu})Aksfw7Fg>slWF>u zmVKCmGPk>L&;7sg3Si*B_4R)_2RO?J0vnN%uQ>ShO<*yw2pw>?2hR1AcuS69at# z9z$&gx05O z*;aQpC21+y-?Yg5=lsQ!GP}8$w`zR}fIKun3P<_fN1yYmqZT&l{r1CFmUvKc3g!Uj z$=zN2Qa4nn^3h&x-q!aTu+cSslLUs3qlOi!Bm_I^oIml{@c7Mj=DX3ITnh;PpgSel z6)jL7g^uhNzgA-w#|J(@8zLs1@Mq2&zEQ`Y;JQ#W#cv(;v_`%kIbm&0ZR(d% zYS7!>vc1cps4mf2vW)*O8V#Dxk2beRyLxoPgdG1o;>lmi-A{AZ-XHSHZF8mX*R`f! zr{{<+c|w;Z0Uf@O@1}(w0Tp+rS(kXxT?0a)ObSd(Sz{v8I?hdJ@2=pH#dB~6#n|u2?teXv48yUYrUQI`c_aoFp)v0i03B)o0?VgedtwRdjZQG4D?8EVy3a^l9OY* zm+%~2n)ccbkrc|lJy3Os7CAJ!d=V}wo2jLClZ6_ORf*OjlB{ln(ezlbaQ7@`bbk2N zz%@|K!h?xycw0}e%brp-!ydTmG5#dbe0A0KR2`AEPF|O~s|mK$V6RM2qT!E8)1{ z;@rgD$&dSHkNwJ&8+I?};`2v--N?Y?Ic*|`+W;!eqbP$51sSGuPQ33%28oKdyAh+C z2)!Em?a#MS>ELCw*Z#WM(yrX2sAV~4aE?BXx&NB=&9MWYEH12oK5Zcska%} z+bNp$JgJ3$l`gA2D>iQ}T_LNl?qO7R$RpArlmP!lg%t@HG z6A_NJ-l;w(EPo@V`Em}!Z1Co(w2p#>T`WZ~^I5QY3{0;R>oZgMnFWn<#9gjYYfH({ zluv!H@c1f=hA(jg#RpTYnbvUJiLY>HnFZRlSdNy()l}B}A{fH~$2y(P<@1>n8b^PI zRx?$^d;a!w@uA$z?%2PrdbZOMt&(cDsmf~eHzKdgN}I{lP!cz1nD)r|i|kExDMZL) z2VE{5Sis#DQyklG%7xGPK$qY*52M^fv%D?YK$jqob4@7wyk^IUAJ9RBDS?-(UtV;l zgU?}pt!VnbAXpgsxK_O$Y0#-JW{E5e{qVu41A%;9sebagFvHeE)&G)hcJIa^_LZ1c zq5Cqvi|^Tj9WEuJ&^{{S$sEX^{iP3(e(@q)1>E!86p~{$lj{LGG`P%Bf_XJ&IOm{vVhYq~=GjLGM*D4U|zFfOnPSo6-c0ND!H)FCE*QjN+ zXN=cDyVHOr%aAgDtBjpj{O*czl4fr$;pKL*!03Dcu`TO(C)eQ`g?zuW-eRDV|4@FNRJc&udIg@qDo@x%@m&&Qn@YGFZhe2tyhv zqVr(Y<9e92QBi?1uOIJDjt55wiS{&0@=LVaueWlQJ3s(l2rV-Gc!uq*_vB#xf%(c| z6=$E9^~LqQ(}(DQua;O{yh!QIjWz6YPE8Txq3^%V-=+LECHf3I z)=8)EDqt#IeYfs2juW4u4(1aOLI4WLYcj$V%u1aVz9l&#yqLB+R1 zo@A#Z+u_m8#<=L0>X+rnlXv$MFK1G|PRIK{U)%_X5_d->HaV7$FGVZKHK~I{^-n1z z>&0)fW@jm#v^o`E0Usb-dFsiG0jWENd*^Rryq73B3d3z*i>5zx=Qdjvs3r%Ob~j}B zy-YGKzpoC=f1Zh3d_$B5R_53JbI@y2^pdUQsMd5NQ(sTiro1O3VK$bUn|j`dZVi75 zjt1zFA=r6uxL?h>tY_?BY%_p- zO+{-|gGD{?*%FB>Y9i2G!d>FW1!dhBPc0b@w{5>5g2 z`Vu31Nja8dA}d9>gk)>3tgIZ~?`Lfu|1YbK#kj&$ zAM1U;ZYb^dGZxbGB%CmcX2WX^F!-BNLT?MVJNAP6 zCOHKFHE05eqow|)U?N&~Ki$7dp^pC4ZO`5@v)yUE=7E$6TO>u(r8skN&;O-&GAh4h z@Jw!nR${=a~qJY89CR9!~5nK1Y}c!kZYb6?5&{r2TOY1u`^* zg!h&5atm1xxSDJlnuh|VVO9yQ9Wd2=B!8AKl(&CVJ$)ppljG}vq`@+#|Pzq)Tq{h7+h zH{bu-MAF7tWhm|MUFDhbhkbb5o9MRfv}6H%_3br4fegU_FuISM1^Dds$EY*)>!Znb z^*e9;a@(iBn1zLhVSP{g@en_EpkLnQJOijNC}nm*2l6?8zC#;N3PC{e(5!q+K6iW( z>Tg7+ZaH4dI4CeOeA_1iU?G1*P~#);Hd$%Ipp)x=*DIsHSWkA0Bt%7B9UM6phMWX; z_xY>I2iu$`J<#Xq3uo8Jyr#*|ZIf7^|yOSFi5QyRsQkJAy_j0aQ8h~n64GV}v!uszT3Gd};MCzu*HUpiDONG_tv$jYC53O}|f4OKHGV?zGM;fkjt0#AtaRD^;+$zS+S-fa=Z zJK~{h{roCjlq3KTY?;Hw8d5SkF(d-ZXnJTWtK!ZwibSdAprcY9Zj)e`U`s7&O zdOmHq1YNE+LFZaq4`$luU1uT$XUvNq4^PaDrbzwTDoj#Ivg9w*5u>FF>o!P_kGmyd zBnaJ+DhJ0*6gR`b+37O5que4{+k%)kjFf)@!VAG{5XJyS-?nda`FnWn7grM31$#~% z)MPAOHKX)hMU_~lXAxy`xCR$#rG1~OX*-nrInUuAJ#O_SS-qM+CS)Pxb_W$e-arG; z2gEZ25RY9psM9ZVCGUmo(5=x>PUjX+Lj10pEp^=&))c7wpT_T8jeKFIvj6JV_deV5 zWRjj7N(q4b6h}v^%^qE9r#Ts(0_wPSC1jV5IXSyrpDX52P}vj|@dUry)yyq*z?kAZ z#4gX+5eW~4e$;=u5ZT%YgHWbh5kvlLk-rqE`5-UNg3_tPp(5te1ya46o3DlKB zNeo2!UH8fO(G&enY(!1iT5^kc2#wfk=_ZEnjzcu)I7B-yu@MA8lL=yq-XLKAPSMH2 z3U#Nk(?0z;v$F4X+WWzoaEz4k+(2UJj*ETagB8B&mqI_4!}iZHeOoz|zwpGLeKseq1k?@Hy9 z$M+88Ytk2~1Cz`wjV?#Fbx%e(Rw2~Nkn8$73``s0&Br{PVr|-~?nnAc1>U8S z`y&7XVw8;o>mI?EU;qU}`b8X`V|y*)+2P}UuC4{(dW}a-LP4>zVB5WR^)In<-@9yo z_WJqH-ToS}ZadE(=n`QisHjls@x$69l@mN@uo80&nfZIwV@55!)%(yjPFwQQUK&Gc^b_}qSro1{mb`BQRwpz`#J6SX|iF_{ib1Hq)nNssr{+|FM)pQ)3=7s1A= zECl0ssSfam3-ZSg@4qAVc^D9>nmO`a4@;;_e_yRuc=Dn9xbVWy7Ct7<>8u_xknycj z$1^nd)(JUq@^oJwHsZ;h4ieu>pU3v`(a!Zqycntax&62ASM%=E^SSWjGb5bLfeR*h zYB)%T?ah%p0ci9;iY+p^|I%vx*aW>E?&%d5?tRuYW()Q(t%CbqKRq%cS_Clz@&_15 zQQtoqlbn`v4N!!tP7GSMd&2xe@C_%fhi-Ek+|PR-|L%uNQKD7kT6%WJnlJ(s2Sd>) zdFGf3=kYP!?7z_h`P~U-@11qNZENkGx3mZQ?z7$6wjTSmwVS!_<$s!dUkg&d0nCnl zy(2fYTFUCL7k_02=V*Q9YZsC%dMQDv@5*-nq0z>a#v(%Q^Dj%YD+yA41Syaj=eo3C``q(qS;Nm zAIKG+uup25|57oLyMfZ_2NX=rdlY;YoL@PAWs|3i`HQUpkKq3mLG1nyQSm?S2zXyF z5GBL&flt?npHF~KUr(1`fR9hWP!ATy$E~EOz@?+7$;+#!r_0C7!>40tz{{m)$jz+_ zcT4E$>+4Y1h9!a?$i$XuPZC8%}fXFHe4@By5jV|9^>Ag}f{ zZL1K(7S;ssi@$2jjgb2{w>F9WbU4m`mwFaY;YsRa3@$CAoQ}A>Nmz2p^84t^f<(C#%-` zOs_yX1gKa|@8$XVaxDH+L|IZ@?QOxmZima-4Tu-%n;0c8@tR%t!W3WaK$c54VI`J# z$l~&}FAM>dkK*F;<11}~%Rsz&m2E#~QzNY8rS;3?C{N55+BR3muy~7~g;+;N?&wrn zTi;1WZTWcFgG@KFqcHOR%}>YDK75EUJ~@5@r=~u^ zJ2YxQf?qVtfiC8FBIIIsblA>v#?VhyGRM76pU(tdWCtkG015XA7R70|pCaA+O`Ev- zDi;l3e>yI6zt#1>iP93|#wPB)DO>$UE&}pQpIfdF=FSBCp60{lJHa9OFj{dsx3=Am zPw{5X&S2lpTQZAiJAOnXy(+>O`7pcxga}CuQaJ!I4_Ym9-H$x5@fP%T9kXs}scDm1 zULEy;j&|QrpCn~E$GEc}YC`{^+D4Pzn>To#evzzz&(ND&Eu3a$39P5`U{yO8uQ7m8`@G zw=OnMOFD|zPR9%8$H;G<3rCWhpscGqeG0;#%Xvtc1g zoOitK_V?zXDeM(_sbhmE14_1=Cp^)GafK3RA0)(F7!C>fJ-+eeZELc74a$`xC%WBK z$~zyn{+9bkrPQZrJt|g&$$mE&Oqd8F0u<+X_@tx=#1-~ymdz(+-#*%S%)^bJZszmp zT=LcCZ(z2yKkXe$j{o#;AE6iNUEX|66eBIbA*ZE5BCD+2j?Q|{eFy~vFn)B>)DVAa! z{_#h__Yf7nJSpQn*MNz;)4ihw*n>yX3+JR?2J!X-*{uchQE6B?ZmpzD4#03te{O;EQxGEc(={H2>VyX zi9Jj90Y1h$+M2`oL+?qodm*-}6FiWe2|Gew_Vy!DIlQK@gV zhELu0FK&Vz=?EHOMg6$QLF}1|BWu4ro%66W$?uC*)x}3k9GM!^N_}>CS6DWuIb!{D zgnG44-ls34<%ZCsDxz^Z8MO)9=9^h;G~kfW#uJ1a9F`<=f}UQ_rpW!DE#1yM2bMTp zX%aT9FoKk?nPPg`kNUJokFiCWPj=Ll<6Kmo_w?8Oez!Sf@8A5nu6~mUA2`v+5IU%Z zUi)Jtg^hlIP!8WU!t}e}VnKX%+sdQ!E-!wqbkvH$A^0u^FAbr>6b8t^L7by3N#lJi zk9pivc8l;6CDoL`kHI-Hp4i~ogVwL;&P}5xbl9`Ia=k?F;5tTcA3J+S=rGBKuej7Z& zIb5UCc!x$h4LP)WvAs6wZscdPd4HMIft<)kF=AW;%CqDdP503qv4yPwC>2X6zy=0D zE{-?~03B$0(1Z?(JH`(CTmOr0tA5zK)jA!mgUyP1m`Q85P4CcJYhtj-#ziaZ(I9Q2 z4y~7gOIb3!M@gKGhh7B%5J!%uf2kpk3ZU%~-~d8!KS2J51V)E z4S3{~G!9!oN_OgysMj`Jfe;frp=v$gO@+h!gMZZmOE^k2NT!{nObinMNsTf9R6qc# z$xTiGuCNJXgw>-E;^j-)AclxzBYIC|z3N&fGkKCN>%U+UkDwKRh@-CqcbyUlcms+h z!sz(FHZHW#6=HN@>3d#DWlO#y(x)I-=r~a|l;2b@MsS+PyI*m6j!&w&bI*i5<@c0K zGSy19*Ngn_c+~BWN*}V4vJ3e|VMxlA+9)ARU!OmA32_+zE6_(!yRJY52v^2ME)6!5 z!`1D|IkLn^ujmf0pXUs8)7%rK6UUYOcxq2qD?P${%gn7K#*SDE)mcYk59GlQ6XJR+ zB3|2)4NPVT&d29BI*uZP7i_#JW-Y#Y`PEv@P%(XzF-3GxNBj<^l)GOp&C4{*^{D%qx zYFg}HfNg7QLI9P1H_G*BVh7~pe%ZoL9W>O-6=b=-HgDbOux>@mjCfp?4^M`q} zOxUNZ^EFqEdF9ve0fh@ejfk{h;VMfcrqwF1<-|ZEe|qS`>-NGug9DtdF*?jl@!)Gv zb_uUfHEtzQPU)@WGcj)+^5(mRhe1bBmNhl9&{C=%~Qz2;*|q?q*EN@W+kB zVQjNY=*HuCV&f~jG%(j|Q3>1h>FVZ$*~eh}#m^s}kJGa*4 zo4wh)8HdEBFdg}c_M;kG5r;ZI?szLICVGDh_w~G7Nz2uB+sempGF}0@*Va$jgKq0z zM$+FePuli}k-M1?w{DSbhbQ}DWn#Y|I+!1aQ+ZL$0TCbKr@%iJC}Bae>S>EFekD7~ z_Nu;l#CZ{3lhXL#%VpC511&B&`hl1+@^A>@!BCD0IszS?#4|G_G$^$wH%1*J zlr!8H{U*j~{4l1c&+*lzHtt;0KUVw^C6<3B9CW~k1L1dc1o}aL+nty`Q{dxdv~>v0 zRJ(6myR>)K7@dNeCeatUr2R6opCmscE=AG&Lby(a;Oan{ReKe zY4Wk51*DR?uD3@2Jphe&{ObF@5Lt z``fWMhOiu%OsSEj$4bw88#>b>YAMRki7Hb-L>(^Dm<#rl9OC0LB~Q0k!`7OL8+|ns zJ6x9)3q|9uruB`7mQ_mzKK{qkML_W48s=HRgT6M))8!g#r6uDh=YQ50A9a$e8%TKk zo~~swK0zyazs%_J)~mI#3R0qwf5%IxsOk1?m}qZi+(+e1XH2SI z<6e}g6&x8w!4if*umOZ8=>roX&w?kz(;6}V^^*l{*hY8HaJfNJD+66iN^KouQ+tm#W{UC0L4wQZP%NYX!1psHD7l&h=Eq}w({+X1i}nbbbx;So+yvoeNE|1!SW(~Sdk!l zb3}*bC@)EbyC?1X5QL#LY_?yd!n2R5+y7CIh{WPXvo!L|=nBBx{zrTGa#%Ju^v?hv_|CC%+0Z1=3Oi7ds4QRNdnW)mWW2XP*<)|fvl>H} zzYjp6SN`xtd44^{VcOO2=xq2DRWkSZ?yQu|5QT}OpE{Pc#$$ZFm-kgL8;fCDuw!iX z@1j32(aN+OPFOlaC?Tw7viK7hF)+eGv-7o;L_Bx49C>HE9XS9I3-Xx^Y~XtB@uXzh zJmMuP0^9sZO{Oid!bLiKJW_|~V&}0Sv=BYK7}|Q#t)E_RM+0)1gem*|%V0i6=Op+k z?|*vx0w;<04TVlkR@-Np&~8B_hg+iJgg|1kUyyy;gFaGclJdaBLiZ7o`+LOrsccQTp( zYwch%j>=T~M%5jT8Sb;u@@Tf1b#H`5ecO8shQ`BdsLn^{{HYvX_E>*Cu51`+CaWX2 zZ~ZjmWIJKj$t^tX@AvRTMXL0paPqVJsSjZAL!$U7Ay&Mf8H-yU&*L6r3|NoNGNQqkQ3ilDkbV5@ zpnow^R&@R8lLq+6w2srrUC4%`s{MuB_J_~8+nBGV-GU-pf7!>S)PB7&sHK ztvKz*3(ZKOPd6Vu+`q!uYD5)0@9~e9xxN*bh9bpCetb(!PqHm1EjOP5J@!!drV80w zC0-x@L7n|LX`5$Q9%kl)Uq2;vR>O&c3R?YaE0!sbKHY6fPV4*Y`4$;b3ap`{{tl^)y3)b9!S5CMuTS@UR&v34Tt9(Roo>uO z8B^7{2NG@8@LTs1qd+Av^L^zb&9c!!>E6!Oq1~Gplm6DHzayH}?>$EQy#KBUXo5Gn z@`qkx!fn~!IB8HZYH88;GydyVR1de~)MP>C%wY-ZB~*T++~N$X%eLR{hC$euzicdJ zAK_vVen^IT=Xd8d{ltX1Bj_!)*2&#N7w4%>Cg^)^X<5U!;k1fkTMsEA=CAWb>ezx0 z8RdZxyDP?>J%4-}JUk@{GGJp=9DdKUvnNQ|A-u@Q5-D9sIg5wqssp$5x@oP3#&sfB zdu+Cc$r%T$bloO?eJHn}o2k*`-YR7Y+o>cyHx?eEe$_x6od&aeL>=2FDuTywV|bwR zvKWC};veSGWEh0v7(>~}Tv9uNd-`THm&4aJ}k^8;ji_qWVUaW52oIU}9DWxbZ>_O)2SpLj?hd!^FyDmms0 zARumy#tiE?3iyFk2W5hHsD9srq>E?v++*?jww^$INmZ zT1E9;d5^$~j^9JWszvTk(ZQ01&-S-Kv z8TY<(xMvn^6>92KPX6IbOArcx1b>NmBm}Ob6kJMQy z$!w^-ZS)*SKXYkk=1Z+$f+XX%2l52O!k)&4b4Nw%(d0p7L6oFX7EdwFrJJ|)(7C}e z+0^Z|ScIerXEyw$wEhLxiezoB;~7q)#Vjbb7ds`<6t;B=^LBiRv> ze90sBM2Bl>GYA}^xiP=S+UX$`^Doqo^?htH7gkz1w#sFNR@_1NCbpwHc@_2=4h(#+ zEf#u>e2slWRJunUT+Tlsru35QiRc{G$i~8jF!1Aw$%#`)JQNL*>A1M=ltS=?2EoSa zq{oJ-iq@~{?|W}1E{j;4?G``a!F>D2LT9<{NHUCFJMDZhRUeJWw3^e4bn=BtzIj;S zcZkPXqyN~kc!&=sg)ak=ZHj_r@b>iGEpcO7JOl~-Ggd-8K6hXJnCYXUhh;%8uZiy( z=w0zxU}|S6&)T9_F6e4+i%CpO3}|t&B2&dlAfn9>u{~1>M1&zAwMo&W(ip+b`Z5s| z0r&u#Jd_(5>0_mph;Jcm&9$m^-emqupeX-w{A%S%F!FW!;$01Svfju zA#NKTlA2|A6fHYPiF!6*IdQ)ZFtR@N@Hm!|`4f!`RH8D+IoN{zHKYLmT!{M0i3D^& zX!N|>AoTZN(fFlg;vXAfM<*$UUr!_t4UR~Wj@G`_Q~H|K@aT^%4{vBMfqt`7dZt3C zg5oS@w3PJOOGbDhB){Q2K)@_E9lZWn9A`oY+ALTCf2Y%8d@T*`aITlDf7;C$t@5>7 z{PL)0_=_iP30G^x`L9_W=xM)lgu<9RCs$J(?ddd&A&K=KGqx!HC&%250(P6Bcmy(Y zK6wCHWF7U^{3+(0FXqTQP#DTQ^MMcH=(PFs{IS}xx!vRT*q+YQbf0_4{Xos2dlLU} zEb8N?QB_GSSATO^+L8P3+VAa_olk~x5(w~Jlays1>he?|Mq_NZA-<)xYypM}*$C+# zfr+;uiTr(nfe8=XDDAlZ?%>nNZ7|mjs_8?dgQ)3crt`4AC0XnU=&(sd=UNwLoJ_qu z?rA$+)x=PFGeD-#2D_=R z{AwI0HXKe!VTMGvdlnxbUZzECz@Khio``4UXhyF&bCYbe7=WjhA;@lu-Ukw%U$@^B zsPH#9L(qcszT_y=g7aGGJ9P#MIDwWUv0~bIZ^@l=`88}lArnH{V32 z5oJR>9{?iGI6PtZqyd;afCwJIxZv~FH#3XhZP|Ti95Wh3f^t)Sq_j6$V0G!d_)x+1 z?Z8(c#g_W%Xge{iLfE5W;vGe?RVjLE`5*%>qIduyL5V=ZfH1yBvu?AalU8j20xRUd z1P(WVoT>(2SKRay~&ldap`phvC{&+$hqSGI_R>0Z55UmA4lEbD(!g;-ygX*>sMw6ue7KQ|7<=j^}9_GgFRC( z*O`jUIQ(vj>%AGjWth^z3$e@(aERW@h&Vf!n93kP zXUR@|K(iakY8@#esYv%fO|k7p-F2Di~4NCJom4dtr>-YUr;00E^) zi6))I<4-Ls@yJNXZWLy5orl-DS

ML(Pj-Gp_LQPxf)A9dG&Hf|m|Q%!hBsb}OmL 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 mWcF=`1{)HdX? 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 delta 4327 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 diff --git a/res/content/base/sounds/steps/stone_2.ogg b/res/content/base/sounds/steps/stone_2.ogg index 70f8e2379e55b321570a51f2d10bc64b04f6a814..6802e5f964f68a684e395d602f07faf278764438 100644 GIT binary patch delta 5647 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 JX~O~BzX0XImCOJD delta 4788 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 diff --git a/res/content/base/sounds/steps/stone_3.ogg b/res/content/base/sounds/steps/stone_3.ogg index 772a5b29020c76924765fd027224e3b8308b703b..87d2377fcfb2d1d10d70893b57d3bd29546cbd45 100644 GIT binary patch delta 6994 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 Hu0mjf6Lxv# delta 3332 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 Z3dXC2Qp!V0v-bWk%*N8eqKb4n=0D<{-#GvP diff --git a/res/content/base/textures/blocks/metal.png b/res/content/base/textures/blocks/metal.png index fc1ac447b9f75bdf031ed0ad2e57505393831447..c1fde6324f0676584861514f300c89e8cd7b514a 100644 GIT binary patch delta 2275 zcmV<92psqSGvhUoBmu&aB_Ds;mFy@C{U?eS0uqQN92RrVWH8~s3kJFhSAF!1=`vWz z+O8zr>iYMervBh!?X|MvgNx2-TsGRs35%fbD~&s8JMQyAuf-c(?F|OWU^e$-aFc)0 zNxw;=gq6Gq3T1BO_l;<${BQ`GicGhNv8Yo}oPrGB8#D!^+b!*4@UMR^VY69>q19oe8+d@Na)I|+#0h%j;l?lRn3jBJg-@edV zF9jkUcC26*a}PGm=*aau*nkMN8B`eoUgNwvt_BE7k8&@Oh`@j5TSON6=>%o~ZNMm) z?{XnurvQWqss+ZN0xSVFGD42DXZA!0WB@=3rlWv30|64@3M1JXMPs;{BOnl8GKN|(Lla+klt6|dBgYR#x-n>5#a3oW*^QJb(n#xGE#i5d^2 zI-}pHf$IGdLA{+w#|(h6vIN9^hX4u99Wx!sTJFeo%yfTbRE02%l#W@Yju;TM7qK*2 z*eSjd?a2Kv+?2O(xbc5QPIc&hiQE&nPpH*?43&Y{U4=cU+MxO_;gImx&${~b?M)03=7w$G~6Q>T}Aq_)@kjJe~rldYP1Hgwy!WmIrSD)f$e zzy2deNWBJz>uJj!h)8yBm95BbUvE3%nyrgumOy_wW0m8n>$FO}n)k+8&s^p+8S|?F z!!?Nuw|vUo<}L+9kE$6g>NP~Clt(hT#Zh)@t|+L70?v=LmDAe~nWEmSXcyr^X&VzB zrRdgzM?$_xF*|p1J1T}BIhhW*>I*3GC#p21{8*Qk9tqo7b>?q8U7!c-kM`h3(Y_d= zAK-t_UWX5e6_97Ql3o4jQAF3#$@H0nkD?NFARNDN(k`3b0nOTqacA~v!2^L$=f-=y z)HkE)?Dt3`bYE>!@b`WvMP@ODD6>-!m6rn<>62Y(i;4laMr zx;nTDg5VE`vxAeOi%UJ*nO z%{aPbW*M`Rl!EX0x<`QTcQKyjU-#$eQ}Y%B0wVDYGfbO!op@@~HaPDSM_5T#iO-40 zOu8WPBi9v=-#8at7Iz`pby6&(={(`%A9DQ?xfF73fRSS!6=;xMKlmT~ z?yXgrhtiOaBZ-s8RJ@p$n0d)LS0InXK=gEI9q-4}_o?wQEkaKP^&bb1xZ5w@m*C8U8h+o4D z`#K9DpsLLCTtN1Hr@y!gaGocs+UVq*v8!V3hN?166J~}R$FW?LVu%!;6{I9Ka+n$3 z`}R_&sx0eTDz*gI0xG!bNlIJu#ryp(0A|K843{W%I?M_MHN{LZEBve2kH@1JErjsf zz6N&W_-1~OeZ3LY}*FV99dl{A~-2NsNY&_-%E~5DKU=Y&t-j01$TUoES_s!B=;5&3bV$R%P3fv)T5`<``Oi80c39XV(EzUOwk5o2uYd7hh? xp;k{R0Wb^$+g94;y(gvADAhl59LMI9e}LW;)Tj-fz5oCK07*p#PDHLkV1j)aAbJ1* delta 2186 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 auto camera = player->camera; audio::set_listener( - camera->position, + camera->position-camera->dir, player->hitbox->velocity, camera->dir, camera->up