diff options
author | 2016-04-17 11:39:18 +0200 | |
---|---|---|
committer | 2016-04-17 14:12:31 +0200 | |
commit | 60eb6d0494144c7bd2ba23fff16aca4e3334b995 (patch) | |
tree | 2e2f5e181e8729084d4b193a98fdcd3536a73843 /src/emu/render.cpp | |
parent | 74dd3287e5e951fd1ffc942c62600d840fc8b3a8 (diff) |
Added reasonable texcoord handling without known examples (nw)
Diffstat (limited to 'src/emu/render.cpp')
-rw-r--r-- | src/emu/render.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/emu/render.cpp b/src/emu/render.cpp index 6f42d26c3c7..a26bab1849e 100644 --- a/src/emu/render.cpp +++ b/src/emu/render.cpp @@ -1890,16 +1890,16 @@ void render_target::add_container_primitives(render_primitive_list &list, const if (PRIMFLAG_GET_VECTORBUF(curitem.flags())) { - // flags S swap-xy, Y flip-y, X flip-x + // flags X(1) flip-x, Y(2) flip-y, S(4) swap-xy // - // S Y X e.g. flips + // X Y S e.g. flips // 0 0 0 asteroid !X !Y - // 0 0 1 - + // 0 0 1 - X Y // 0 1 0 speedfrk !X Y - // 0 1 1 solarq X Y - // 1 0 0 - - // 1 0 1 - - // 1 1 0 tempest !X Y + // 0 1 1 tempest !X Y + // 1 0 0 - X !Y + // 1 0 1 - x !Y + // 1 1 0 solarq X Y // 1 1 1 barrier !X !Y bool flip_x = (manager().machine().system().flags & ORIENTATION_FLIP_X) == ORIENTATION_FLIP_X; @@ -1915,13 +1915,13 @@ void render_target::add_container_primitives(render_primitive_list &list, const { vectororient |= ORIENTATION_FLIP_Y; } - if (flip_x && flip_y && swap_xy) + if ((flip_x && flip_y && swap_xy) || (!flip_x && !flip_y && swap_xy)) { - vectororient ^= ORIENTATION_FLIP_Y; vectororient ^= ORIENTATION_FLIP_X; + vectororient ^= ORIENTATION_FLIP_Y; } - // determine the final orientation (textures are up-side down, so flip y-axis for vectors to immitate that behavior) + // determine the final orientation (textures are up-side down, so flip axis for vectors to immitate that behavior) int finalorient = orientation_add(vectororient, container_xform.orientation); // determine UV coordinates |