From d365763209b97d8f7c858d7bac6530e56452ad9a Mon Sep 17 00:00:00 2001 From: john Date: Sun, 18 Oct 2026 14:24:36 -0400 Subject: [PATCH] last onewfds --- Engine.cpp | 7 ++++--- Mesh.h | 2 ++ assets/blacktexture.png | Bin 70 -> 0 bytes assets/shockwave.png | Bin 60 -> 686 bytes 4 files changed, 6 insertions(+), 3 deletions(-) delete mode 100644 assets/blacktexture.png diff --git a/Engine.cpp b/Engine.cpp index cadd991..fcc6a1d 100644 --- a/Engine.cpp +++ b/Engine.cpp @@ -128,7 +128,6 @@ void Engine::Initiate() // ------------------------------------------------------------------------ Font* arial = new Font("assets/ft/arial.ttf"); Texture* blanktex = new Texture("assets/blanktexture.png"); - Texture* blacktex = new Texture("assets/blacktexture.png"); Texture* magic = new Texture("assets/itsmagicbitch.jpg"); Texture* snowflake = new Texture("assets/snowflake.png"); Texture* shockwavetex = new Texture("assets/shockwave.png"); @@ -472,7 +471,8 @@ void Engine::Initiate() glm::vec3 grappleLineEnd(0.0f); Mesh* grappleLine = CreateCubeMesh(); grappleLine->name = "grappleline"; - grappleLine->meshTexture = blacktex; + grappleLine->meshTexture = blanktex; + grappleLine->colorOverride = glm::vec4(0.0f, 0.0f, 0.0f, 1.0f); // black grappleLine->t.TranslateTo({ 0.0f, -1000.0f, 0.0f }); // hidden until a grapple latches grappleLine->BindToRenderSystem(); mainf->AddChild(grappleLine); @@ -1034,7 +1034,8 @@ void Engine::Initiate() if (len > 0.01f) { grappleLine->t.TranslateTo(handPos + delta * 0.5f); grappleLine->t.ScaleTo({ 0.05f, 0.05f, len }); - grappleLine->t.RotateToQuaternion(LookAt(delta)); + // Plain shortest-arc rotation of the box's long (z) axis onto the rope; LookAt breaks on straight up/down + grappleLine->t.RotateToQuaternion(RotationBetweenVectors(glm::vec3(0.0f, 0.0f, 1.0f), delta)); } } else grappleLine->t.TranslateTo(hiddenPos); diff --git a/Mesh.h b/Mesh.h index 21adfd9..3acf753 100644 --- a/Mesh.h +++ b/Mesh.h @@ -37,6 +37,7 @@ class Mesh : public Object , public Renderable, public t_package , public MeshDa protected: public: Texture* meshTexture = nullptr; + glm::vec4 colorOverride = glm::vec4(0.0f); // rgb + strength; 0 = use the texture's own colour VAO vao; VBO vbo; @@ -469,6 +470,7 @@ public: else glBindTexture(GL_TEXTURE_2D, 0); ShaderProgram.SetMat4("modl", topass); + ShaderProgram.Set4F("colorOverride", colorOverride); vao.Bind(); glDrawElements(GL_TRIANGLES, indices.size(), GL_UNSIGNED_INT, 0); vao.Unbind(); diff --git a/assets/blacktexture.png b/assets/blacktexture.png deleted file mode 100644 index 8ef45ceaba2fe131dadaa6ba1983d8211a6b6d2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1|;Q0k92}1TpU9x<|HR1B>doKU}Rxrh<|$6 Q8z{lx>FVdQ&MBb@0Ha_Ih5!Hn diff --git a/assets/shockwave.png b/assets/shockwave.png index 03534e9e367ac06d74683ae5dd4ad9fb3e5f3edc..ed6a1e4cf0f8a67749f047e8003f72a40dbddcdd 100644 GIT binary patch literal 686 zcmeAS@N?(olHy`uVBq!ia0vp^DImDfxm{?tYntJQm}e@oPx2Qi zbnoR@|GLud{`VbrEs1;%ZX pRl%;teG^`Gz2_BqGH?CMFZ}P;adW#cq(y+zil?ie%Q~loCIA$Q_P785 literal 60 zcmWIYbaOLdU|NC@y7_)oTb^;!M{n=<2s3mG5kb$PeWR{CYn PxU$x9OI1wJZzcu+4Fwb@