diff --git a/32blit/graphics/mode7.cpp b/32blit/graphics/mode7.cpp index ea9fe25e4..da394ce31 100644 --- a/32blit/graphics/mode7.cpp +++ b/32blit/graphics/mode7.cpp @@ -75,10 +75,10 @@ namespace blit { forward *= Mat3::rotation(angle); Vec2 left = forward; - left *= Mat3::rotation((fov / 2.0f)); + left *= Mat3::rotation(-(fov / 2.0f)); Vec2 right = forward; - right *= Mat3::rotation(-(fov / 2.0f)); + right *= Mat3::rotation((fov / 2.0f)); float distance = ((far - near) / float(s.y - viewport.y)) + near; diff --git a/32blit/types/mat3.cpp b/32blit/types/mat3.cpp index 9448d8b88..80472bca4 100644 --- a/32blit/types/mat3.cpp +++ b/32blit/types/mat3.cpp @@ -8,9 +8,9 @@ namespace blit { Mat3::Mat3() { - v00 = 0.0f; v10 = 0.0f; v20 = 0.0f; - v01 = 0.0f; v11 = 0.0f; v21 = 0.0f; - v02 = 0.0f; v12 = 0.0f; v22 = 0.0f; + v00 = 0.0f; v01 = 0.0f; v02 = 0.0f; + v10 = 0.0f; v11 = 0.0f; v12 = 0.0f; + v20 = 0.0f; v21 = 0.0f; v22 = 0.0f; } Mat3 Mat3::identity() { @@ -26,8 +26,8 @@ namespace blit { Mat3 r = Mat3::identity(); r.v00 = c; - r.v01 = s; - r.v10 = -s; + r.v01 = -s; + r.v10 = s; r.v11 = c; return r; diff --git a/32blit/types/mat3.hpp b/32blit/types/mat3.hpp index 5ab3b02ea..595eeee21 100644 --- a/32blit/types/mat3.hpp +++ b/32blit/types/mat3.hpp @@ -4,9 +4,9 @@ namespace blit { struct Vec2; struct Mat3 { - float v00, v10, v20; - float v01, v11, v21; - float v02, v12, v22; + float v00, v01, v02; + float v10, v11, v12; + float v20, v21, v22; Mat3(); diff --git a/32blit/types/mat4.cpp b/32blit/types/mat4.cpp index ac4aa14dd..0d101fa83 100644 --- a/32blit/types/mat4.cpp +++ b/32blit/types/mat4.cpp @@ -10,10 +10,10 @@ namespace blit { Mat4::Mat4() { - v00 = 0.0f; v10 = 0.0f; v20 = 0.0f; v30 = 0.0f; - v01 = 0.0f; v11 = 0.0f; v21 = 0.0f; v31 = 0.0f; - v02 = 0.0f; v12 = 0.0f; v22 = 0.0f; v32 = 0.0f; - v03 = 0.0f; v13 = 0.0f; v23 = 0.0f; v33 = 0.0f; + v00 = 0.0f; v01 = 0.0f; v02 = 0.0f; v03 = 0.0f; + v10 = 0.0f; v11 = 0.0f; v12 = 0.0f; v13 = 0.0f; + v20 = 0.0f; v21 = 0.0f; v22 = 0.0f; v23 = 0.0f; + v30 = 0.0f; v31 = 0.0f; v32 = 0.0f; v33 = 0.0f; } Mat4 Mat4::identity() { diff --git a/32blit/types/mat4.hpp b/32blit/types/mat4.hpp index 95f437af1..67567cb37 100644 --- a/32blit/types/mat4.hpp +++ b/32blit/types/mat4.hpp @@ -5,10 +5,10 @@ namespace blit { struct Vec3; struct Mat4 { - float v00, v10, v20, v30; - float v01, v11, v21, v31; - float v02, v12, v22, v32; - float v03, v13, v23, v33; + float v00, v01, v02, v03; + float v10, v11, v12, v13; + float v20, v21, v22, v23; + float v30, v31, v32, v33; Mat4(); diff --git a/examples/flight/flight.cpp b/examples/flight/flight.cpp index dc9ac8e5b..2f07f44c5 100644 --- a/examples/flight/flight.cpp +++ b/examples/flight/flight.cpp @@ -260,10 +260,10 @@ void update(uint32_t time) { float target_speed; float lerp_value = 0.002f; - if (pressed(Button::DPAD_LEFT)) { angle_delta += 0.05f; } - if (pressed(Button::DPAD_RIGHT)) { angle_delta -= 0.05f; } + if (pressed(Button::DPAD_LEFT)) { angle_delta -= 0.05f; } + if (pressed(Button::DPAD_RIGHT)) { angle_delta += 0.05f; } - angle_delta -= joystick.x / 80.0f ; + angle_delta += joystick.x / 80.0f ; if (pressed(Button::Y)) { // boost button diff --git a/examples/geometry/geometry.cpp b/examples/geometry/geometry.cpp index ea345c97b..970dc8e4d 100644 --- a/examples/geometry/geometry.cpp +++ b/examples/geometry/geometry.cpp @@ -202,7 +202,7 @@ std::vector random_convex_polygon(Vec2 origin, float radius) { void rotate_polygon(std::vector &points, float angle, Vec2 origin) { Mat3 t = Mat3::identity(); t *= Mat3::translation(origin); - t *= Mat3::rotation(angle); + t *= Mat3::rotation(-angle); t *= Mat3::translation(-origin); for (auto &p : points) { p *= t;