From 599e354b9007ff52dde54758b051a37d867369d6 Mon Sep 17 00:00:00 2001 From: Dominic Masters Date: Wed, 5 Apr 2023 22:13:24 -0700 Subject: [PATCH] Fixed weird fmod bug I guess --- assets/games/rose/textures/Player.png | Bin 0 -> 9662 bytes src/dawn/display/RenderPipeline.cpp | 4 +--- src/dawn/display/RenderPipeline.hpp | 1 - src/dawn/display/shader/ShaderManager.cpp | 1 + src/dawn/display/shader/ShaderManager.hpp | 2 +- src/dawn/scene/debug/SceneDebugLine.cpp | 5 +++++ src/dawn/util/random.hpp | 3 +-- src/dawnopengl/display/RenderManager.cpp | 3 ++- .../scene/components/entity/EntityAIWalk.cpp | 9 +++++---- 9 files changed, 16 insertions(+), 12 deletions(-) create mode 100644 assets/games/rose/textures/Player.png diff --git a/assets/games/rose/textures/Player.png b/assets/games/rose/textures/Player.png new file mode 100644 index 0000000000000000000000000000000000000000..b5e1a8492d687f11d5ddc3b84989426cc89212f2 GIT binary patch literal 9662 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 z61?pZw`EJ?RWw*m-rh0xt3hBcrrenderManager->getShaderManager()->lockShader(); } void RenderPipeline::render() { @@ -160,7 +159,7 @@ void RenderPipeline::renderSceneCamera(Scene *scene, Camera *camera) { &lineMesh, &lineIndex, camera, - this->renderManager->getShaderManager()->getShader(this->simpleTexturedShaderLock) + this->renderManager->simpleTexturedShader ); shaderPassItems.push_back(item); itDebugLine = scene->debugLines.erase(itDebugLine); @@ -262,5 +261,4 @@ void RenderPipeline::renderSceneCamera(Scene *scene, Camera *camera) { } RenderPipeline::~RenderPipeline() { - this->renderManager->getShaderManager()->releaseShader(this->simpleTexturedShaderLock); } \ No newline at end of file diff --git a/src/dawn/display/RenderPipeline.hpp b/src/dawn/display/RenderPipeline.hpp index a57d4acf..da1bcd64 100644 --- a/src/dawn/display/RenderPipeline.hpp +++ b/src/dawn/display/RenderPipeline.hpp @@ -17,7 +17,6 @@ namespace Dawn { class RenderPipeline { private: int_fast16_t renderId = -1; - shaderlock_t simpleTexturedShaderLock; public: RenderManager *renderManager; diff --git a/src/dawn/display/shader/ShaderManager.cpp b/src/dawn/display/shader/ShaderManager.cpp index 33f92a0b..527a4cf7 100644 --- a/src/dawn/display/shader/ShaderManager.cpp +++ b/src/dawn/display/shader/ShaderManager.cpp @@ -8,6 +8,7 @@ using namespace Dawn; ShaderManager::ShaderManager() { + this->nextId = 0; this->nextLock = 0; } diff --git a/src/dawn/display/shader/ShaderManager.hpp b/src/dawn/display/shader/ShaderManager.hpp index 042c466d..88d494a3 100644 --- a/src/dawn/display/shader/ShaderManager.hpp +++ b/src/dawn/display/shader/ShaderManager.hpp @@ -59,7 +59,7 @@ namespace Dawn { shaderId = shader->shaderId; } - shaderlock_t lock = this->nextId++; + shaderlock_t lock = this->nextLock++; this->shaderLocks[lock] = shaderId; this->shaderLocksByShader[shaderId].push_back(lock); return lock; diff --git a/src/dawn/scene/debug/SceneDebugLine.cpp b/src/dawn/scene/debug/SceneDebugLine.cpp index e6954cec..82c404fe 100644 --- a/src/dawn/scene/debug/SceneDebugLine.cpp +++ b/src/dawn/scene/debug/SceneDebugLine.cpp @@ -20,6 +20,11 @@ struct ShaderPassItem SceneDebugLine::createShaderItem( Camera *camera, SimpleTexturedShader *shader ) { + assertNotNull(mesh); + assertNotNull(lineIndex); + assertNotNull(camera); + assertNotNull(shader); + struct ShaderPassItem item; item.priority = this->priority; diff --git a/src/dawn/util/random.hpp b/src/dawn/util/random.hpp index 0d10da91..fc55f99b 100644 --- a/src/dawn/util/random.hpp +++ b/src/dawn/util/random.hpp @@ -44,8 +44,7 @@ namespace Dawn { } static inline float_t randRange(float_t min, float_t max) { - float_t n = randomGenerate(); - return mathMod(n, (max - min)) + min; + return mathMod(randomGenerate(), (max - min)) + min; } static inline glm::vec2 randRange(glm::vec2 min, glm::vec2 max) { diff --git a/src/dawnopengl/display/RenderManager.cpp b/src/dawnopengl/display/RenderManager.cpp index dbf4c45c..f004107a 100644 --- a/src/dawnopengl/display/RenderManager.cpp +++ b/src/dawnopengl/display/RenderManager.cpp @@ -19,8 +19,9 @@ RenderManager::RenderManager(DawnGame *game) : void RenderManager::init() { // Lock the common shaders this->lockSimpleTextured = this->shaderManager.lockShader(); - this->lockUIShaderProgram = this->shaderManager.lockShader(); this->simpleTexturedShader = this->shaderManager.getShader(this->lockSimpleTextured); + + this->lockUIShaderProgram = this->shaderManager.lockShader(); this->uiShader = this->shaderManager.getShader(this->lockUIShaderProgram); this->renderPipeline.init(); diff --git a/src/dawnrose/scene/components/entity/EntityAIWalk.cpp b/src/dawnrose/scene/components/entity/EntityAIWalk.cpp index b05cca38..3538ad45 100644 --- a/src/dawnrose/scene/components/entity/EntityAIWalk.cpp +++ b/src/dawnrose/scene/components/entity/EntityAIWalk.cpp @@ -50,8 +50,8 @@ void EntityAIWalk::updateWander(float_t delta) { wanderTimeToNextDecision = randRange(wanderTimeRandomRange.x, wanderTimeRandomRange.y); // Do we want to move? - float_t rr = randRange(0.0f, 3.0f); - if(rr < wanderDoNotMoveChance) { + float_t n = randRange(0.0f, 1.0f); + if(n < wanderDoNotMoveChance) { wanderDestination = physics3Dto2D(transform->getLocalPosition()); return; } @@ -81,9 +81,10 @@ void EntityAIWalk::updateWander(float_t delta) { // Stop moving if we're close enough if(glm::length(diff) < 0.1f) { - wanderTimeToNextDecision = 0; + entityMove->direction = glm::vec2(0, 0); + } else { + entityMove->direction = diff; } - entityMove->direction = diff; } void EntityAIWalk::updateFollowTarget(float_t delta) {