diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/crepe/api/Config.h | 2 | ||||
-rw-r--r-- | src/crepe/facade/Font.cpp | 4 | ||||
-rw-r--r-- | src/crepe/facade/SDLContext.cpp | 23 | ||||
-rw-r--r-- | src/crepe/system/RenderSystem.cpp | 2 | ||||
-rw-r--r-- | src/example/rendering_particle.cpp | 2 |
5 files changed, 19 insertions, 14 deletions
diff --git a/src/crepe/api/Config.h b/src/crepe/api/Config.h index c20287d..b86faff 100644 --- a/src/crepe/api/Config.h +++ b/src/crepe/api/Config.h @@ -85,7 +85,7 @@ struct Config final { * This config option is the font size at which all fonts will be loaded initially. * */ - unsigned int size = 16; + unsigned int size = 32; } font; //! Audio system settings 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); } diff --git a/src/crepe/system/RenderSystem.cpp b/src/crepe/system/RenderSystem.cpp index f2ed97d..9611a9e 100644 --- a/src/crepe/system/RenderSystem.cpp +++ b/src/crepe/system/RenderSystem.cpp @@ -84,7 +84,7 @@ void RenderSystem::render_text(){ for (const Text & text : texts) { if (!text.active) continue; const Font & res = resource_manager.get<Font>(text.font); - //ctx.draw_text(text, font); + ctx.draw_text(text, res); } } diff --git a/src/example/rendering_particle.cpp b/src/example/rendering_particle.cpp index 3857acc..21ed7fc 100644 --- a/src/example/rendering_particle.cpp +++ b/src/example/rendering_particle.cpp @@ -66,7 +66,7 @@ public: .bg_color = Color::WHITE, }); - game_object.add_component<Text>(vec2{200,200}, vec2{0,0}, "test test", "OpenSymbol", Text::Data{}); + game_object.add_component<Text>(vec2{200,200}, vec2{0,0}, "test test", "", Text::Data{}); } string get_name() const { return "TestScene"; }; |