diff --git a/examples/PoolBox/application/src/Overlay/GTETest/gte_test.cpp b/examples/PoolBox/application/src/Overlay/GTETest/gte_test.cpp index 4ea9ef1a..368454fd 100644 --- a/examples/PoolBox/application/src/Overlay/GTETest/gte_test.cpp +++ b/examples/PoolBox/application/src/Overlay/GTETest/gte_test.cpp @@ -30,9 +30,9 @@ namespace GTETest { return true; } - const auto matrix = GTE::MATRIX::rotation(0, 0, rotation); - GTE::set_trans_matrix(matrix); - GTE::set_rot_matrix(matrix); + auto matrix = GTE::MATRIX::rotation(0, rotation, rotation); + matrix.trans[0] = (Assets::Main::DoenerFishInfo.size.width/2); + matrix.trans[1] = (Assets::Main::DoenerFishInfo.size.height/2); doener_fish.apply(matrix); rotation += 5_DEG; diff --git a/examples/PoolBox/application/src/Overlay/GTETest/include/GTE_Sprite.hpp b/examples/PoolBox/application/src/Overlay/GTETest/include/GTE_Sprite.hpp index 41a793e7..44121684 100644 --- a/examples/PoolBox/application/src/Overlay/GTETest/include/GTE_Sprite.hpp +++ b/examples/PoolBox/application/src/Overlay/GTETest/include/GTE_Sprite.hpp @@ -19,10 +19,15 @@ namespace GTETest { void apply(const GTE::MATRIX& matrix) { static const auto apply_to = [](const GTE::MATRIX& matrix, GTE::SVECTOR vector) -> GPU::Vertex { + GTE::MATRIX move_back = GTE::MATRIX::identity(); GTE::SVECTOR output; int32_t flag; - return GTE::apply_matrix(matrix, vector, output).to(); + move_back.trans[0] = -matrix.trans[0]; + move_back.trans[1] = -matrix.trans[1]; + move_back.trans[2] = -matrix.trans[2]; + + return GTE::apply_matrix(matrix, GTE::apply_matrix(move_back, vector, output), output).to(); }; const auto& area = this->area; diff --git a/src/Library/src/GTE/gte.cpp b/src/Library/src/GTE/gte.cpp index 48571278..61b85023 100644 --- a/src/Library/src/GTE/gte.cpp +++ b/src/Library/src/GTE/gte.cpp @@ -45,10 +45,10 @@ namespace JabyEngine { SVECTOR& apply_matrix(const MATRIX& m0, const SVECTOR& v0, SVECTOR& v1) { // TODO: Do we want to push here? - set_rot_matrix(m0); + set_matrix(m0); JabyEngine::GTE::ldv0(v0); - JabyEngine::GTE::rtv0(); + JabyEngine::GTE::rt(); JabyEngine::GTE::stsv(v1); return v1; }