diff --git a/inc/racer_game.hpp b/inc/racer_game.hpp index 01436c6..c2f5a14 100644 --- a/inc/racer_game.hpp +++ b/inc/racer_game.hpp @@ -14,6 +14,10 @@ class RacerGame : public Tyra::Game { private: Tyra::Engine* engine; + void loadTexture(); + void loadSprite(); + + Tyra::Sprite sprite; }; } // namespace Racer diff --git a/linux-pcsx2.sh b/linux-pcsx2.sh index 0dccbe7..8ba76da 100755 --- a/linux-pcsx2.sh +++ b/linux-pcsx2.sh @@ -71,8 +71,7 @@ run_pcsx2() { echo "Running PCSX2: $pcsx2_cmd -elf $target_file" - nohup "${pcsx2_args[@]}" -elf "$target_file" > /dev/null 2>&1 & - disown + "${pcsx2_args[@]}" -elf "$target_file" } run_pcsx2 diff --git a/res/.gitignore b/res/.gitignore index 44c5ea8..7b197ce 100644 --- a/res/.gitignore +++ b/res/.gitignore @@ -1,4 +1,6 @@ # Ignore everything in this directory * # Except this file -!.gitignore \ No newline at end of file +!.gitignore + +!*.png \ No newline at end of file diff --git a/res/chicken.png b/res/chicken.png new file mode 100644 index 0000000..152882b Binary files /dev/null and b/res/chicken.png differ diff --git a/src/racer_game.cpp b/src/racer_game.cpp index a004e61..3970f08 100644 --- a/src/racer_game.cpp +++ b/src/racer_game.cpp @@ -5,10 +5,54 @@ namespace Racer { using namespace Tyra; RacerGame::RacerGame(Engine* t_engine) { engine = t_engine; } -RacerGame::~RacerGame() {} +RacerGame::~RacerGame() { + engine->renderer.getTextureRepository().freeBySprite(sprite); +} -void RacerGame::init() { TYRA_LOG("Hello!"); } +void RacerGame::init() { + engine->renderer.setClearScreenColor(Color(32.0F, 32.0F, 32.0F)); -void RacerGame::loop() { TYRA_LOG("Loop!"); } + loadSprite(); + + loadTexture(); +} + +void RacerGame::loop() { + auto& renderer = engine->renderer; + + renderer.beginFrame(); + + renderer.renderer2D.render(sprite); + + renderer.endFrame(); +} + +void RacerGame::loadSprite() { + const auto& screenSettings = engine->renderer.core.getSettings(); + + sprite.mode = SpriteMode::MODE_STRETCH; + + sprite.size = Vec2(256.0F, 128.0F); + + sprite.position = + Vec2(screenSettings.getWidth() / 2.0F - sprite.size.x / 2.0F, + screenSettings.getHeight() / 2.0F - sprite.size.y / 2.0F); + + TYRA_LOG("Sprite created"); +} + +void RacerGame::loadTexture() { + auto& renderer = engine->renderer; + + auto& textureRepository = renderer.getTextureRepository(); + + auto filepath = FileUtils::fromCwd("chicken.png"); + + auto* texture = textureRepository.add(filepath); + + texture->addLink(sprite.id); + + TYRA_LOG("Texture loaded and linked to sprite"); +} } // namespace Racer