aboutsummaryrefslogtreecommitdiff
path: root/resource-manager/TextureMap.cpp
diff options
context:
space:
mode:
authorLoek Le Blansch <loek@pipeframe.xyz>2024-10-23 21:27:01 +0200
committerLoek Le Blansch <loek@pipeframe.xyz>2024-10-23 21:27:01 +0200
commit080ad535e6fc6666b919b1a21b6986aaf9b678eb (patch)
treef4d96cb68769ddd06087977ad7d26c3fd31ff4e8 /resource-manager/TextureMap.cpp
parentde356f60b91fab37b1456992dc66ada8bd8e4dd7 (diff)
initial nitpicking
Diffstat (limited to 'resource-manager/TextureMap.cpp')
-rw-r--r--resource-manager/TextureMap.cpp74
1 files changed, 0 insertions, 74 deletions
diff --git a/resource-manager/TextureMap.cpp b/resource-manager/TextureMap.cpp
deleted file mode 100644
index 847bab9..0000000
--- a/resource-manager/TextureMap.cpp
+++ /dev/null
@@ -1,74 +0,0 @@
-#include "TextureMap.h"
-
-
-#define STB_IMAGE_IMPLEMENTATION
-#include "stb_image.h"
-
-#include <iostream>
-#include <cstdint>
-
-TextureMap::TextureMap()
- : m_texture(nullptr)
-{
-
-}
-
-TextureMap::~TextureMap()
-{
- if (m_texture)
- {
- SDL_DestroyTexture(m_texture);
- }
-}
-
-//public
-bool TextureMap::loadFromFile(const std::string& path, SDL_Renderer* renderer)
-{
- assert(renderer != nullptr);
- assert(!path.empty());
-
- std::int32_t x = 0;
- std::int32_t y = 0;
- std::int32_t c = 0;
- unsigned char* data = stbi_load(path.c_str(), &x, &y, &c, 0);
-
- if (data)
- {
- std::int32_t pitch = x * c;
- pitch = (pitch + 3) & ~3;
-
- constexpr std::int32_t rmask = 0x000000ff;
- constexpr std::int32_t gmask = 0x0000ff00;
- constexpr std::int32_t bmask = 0x00ff0000;
- const std::int32_t amask = c == 4 ? 0xff000000 : 0;
-
- auto* surface = SDL_CreateRGBSurfaceFrom(data, x, y, c * 8, pitch, rmask, gmask, bmask, amask);
-
- if (!surface)
- {
- std::cerr << "Unable to create texture surface: " << SDL_GetError() << "\n";
- stbi_image_free(data);
- return false;
- }
-
- m_texture = SDL_CreateTextureFromSurface(renderer, surface);
-
- SDL_FreeSurface(surface);
- stbi_image_free(data);
-
- if (!m_texture)
- {
- std::cerr << "Failed to create texture for " << path << "\n";
- return false;
- }
-
- //sets alpha blending
- //SDL_SetTextureBlendMode(m_texture, SDL_BLENDMODE_BLEND);
- m_size.x = x;
- m_size.y = y;
-
- return true;
- }
-
- return false;
-}