aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/facade
diff options
context:
space:
mode:
authorheavydemon21 <nielsstunnebrink1@gmail.com>2024-12-17 09:08:06 +0100
committerheavydemon21 <nielsstunnebrink1@gmail.com>2024-12-17 09:08:06 +0100
commit2f8d36a33854715828d412792663f355b9e393ae (patch)
treed7cd864f17f91965e80f2cde015b5a5d5e009ecc /src/crepe/facade
parentc0dc5f5d785cb4d0b0f5c05174c36fab9eef9cfb (diff)
idk
Diffstat (limited to 'src/crepe/facade')
-rw-r--r--src/crepe/facade/Font.cpp4
-rw-r--r--src/crepe/facade/SDLContext.cpp23
2 files changed, 16 insertions, 11 deletions
diff --git a/src/crepe/facade/Font.cpp b/src/crepe/facade/Font.cpp
index 83e8519..a9f1633 100644
--- a/src/crepe/facade/Font.cpp
+++ b/src/crepe/facade/Font.cpp
@@ -1,5 +1,6 @@
#include "../api/Config.h"
#include "util/Log.h"
+#include <iostream>
#include "Font.h"
@@ -10,7 +11,8 @@ Font::Font(const Asset & src, Mediator & mediator)
: Resource(src, mediator) {
dbg_trace();
Config & config = Config::get_instance();
- const std::string FONT_PATH = src.get_path();
+ const std::string & FONT_PATH = src.get_path();
+ cout << FONT_PATH.c_str() << endl;
TTF_Font * font = TTF_OpenFont(FONT_PATH.c_str(), config.font.size);
if (font == NULL)
throw runtime_error(format("Font: {} (path: {})", TTF_GetError(), FONT_PATH));
diff --git a/src/crepe/facade/SDLContext.cpp b/src/crepe/facade/SDLContext.cpp
index 4e969b9..a06940d 100644
--- a/src/crepe/facade/SDLContext.cpp
+++ b/src/crepe/facade/SDLContext.cpp
@@ -34,9 +34,6 @@ using namespace std;
SDLContext::SDLContext(Mediator & mediator) {
dbg_trace();
- if (TTF_Init() == -1) {
- throw runtime_error(format("SDL_ttf initialization failed: {}", TTF_GetError()));
- }
if (SDL_Init(SDL_INIT_VIDEO) != 0) {
throw runtime_error(format("SDLContext: SDL_Init error: {}", SDL_GetError()));
}
@@ -65,6 +62,10 @@ SDLContext::SDLContext(Mediator & mediator) {
throw runtime_error("SDLContext: SDL_image could not initialize!");
}
+ if (TTF_Init() == -1) {
+ throw runtime_error(format("SDL_ttf initialization failed: {}", TTF_GetError()));
+ }
+
mediator.sdl_context = *this;
}
@@ -77,8 +78,8 @@ SDLContext::~SDLContext() {
// TODO: how are we going to ensure that these are called from the same
// thread that SDL_Init() was called on? This has caused problems for me
// before.
- IMG_Quit();
TTF_Quit();
+ IMG_Quit();
SDL_Quit();
}
@@ -297,13 +298,15 @@ void SDLContext::draw_text(const Text & text, const Font & font){
SDL_Texture * font_texture = SDL_CreateTextureFromSurface(this->game_renderer.get(), font_surface);
SDL_FreeSurface(font_surface);
- SDL_FRect dstrect {
- .x = text.offset.x,
- .y = text.offset.y,
- .w = text.dimensions.x,
- .h = text.dimensions.y,
+ SDL_Rect dstrect {
+ .x = (int)text.offset.x,
+ .y = (int)text.offset.y,
+ .w = (int)text.dimensions.x,
+ .h = (int)text.dimensions.y,
};
- SDL_RenderCopyExF(this->game_renderer.get(), font_texture, NULL, &dstrect , 0 , NULL, SDL_FLIP_NONE);
+
+ SDL_RenderCopy(this->game_renderer.get(), font_texture, NULL, NULL);
+ SDL_RenderCopyExF(this->game_renderer.get(), font_texture, NULL, NULL, 0 , NULL, SDL_FLIP_NONE);
SDL_DestroyTexture(font_texture);
}