X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ftools.c;h=2d59752b4d554be69669e7530f2986651c8d99dd;hb=9f4e306d9d5c5a7f9c8a3aa0a92e206ad3bc05a2;hp=176b56f683c6ad6b05fcd7145344900251d6f357;hpb=42ffe4ef1bde9f93619d259af377083cdcd96da6;p=rocksndiamonds.git diff --git a/src/tools.c b/src/tools.c index 176b56f6..2d59752b 100644 --- a/src/tools.c +++ b/src/tools.c @@ -439,6 +439,8 @@ void BackToFront() #endif #else + +#if 0 ffx = (scroll_x - SBX_Left) * TILEX_VAR + dx * TILESIZE_VAR / TILESIZE; if (EVEN(SCR_FIELDX)) @@ -451,6 +453,54 @@ void BackToFront() printf("::: %d (%d, %d) [%d] [%d] => %d\n", ffx, SBX_Left * TILEX_VAR, SBX_Right * TILEX_VAR, dx, FX, fx); } +#else + +#if 0 + ffx = (scroll_x - SBX_Left) * TILEX_VAR + dx * TILESIZE_VAR / TILESIZE; + + if (EVEN(SCR_FIELDX)) + { + if (ffx < SBX_Right * TILEX_VAR + TILEX_VAR / 2 + 0 * TILEX_VAR / 2) + { + fx = fx + dx * TILESIZE_VAR / TILESIZE - MIN(ffx, TILEX_VAR / 2) + + 1 * TILEX_VAR; + } + else + { + fx = fx - (dx <= 0 ? TILEX_VAR : 0) + 1 * TILEX_VAR; + + printf("::: STOPPED\n"); + } + + printf("::: %d (%d, %d) [%d] [%d] => %d\n", + ffx, SBX_Left * TILEX_VAR, SBX_Right * TILEX_VAR, dx, FX, fx); + } +#else + /* !!! THIS WORKS !!! */ + + ffx = (scroll_x - SBX_Left) * TILEX_VAR + dx * TILESIZE_VAR / TILESIZE; + + if (EVEN(SCR_FIELDX)) + { + if (ffx < SBX_Right * TILEX_VAR + TILEX_VAR / 2 + 2 * TILEX_VAR / 2) + { + fx = fx + dx * TILESIZE_VAR / TILESIZE - MIN(ffx, TILEX_VAR / 2) + + 1 * TILEX_VAR; + } + else + { + fx = fx - (dx <= 0 ? TILEX_VAR : 0) + 1 * TILEX_VAR; + + printf("::: STOPPED\n"); + } + + printf("::: %d (%d, %d) [%d] [%d] => %d\n", + ffx, SBX_Left * TILEX_VAR, SBX_Right * TILEX_VAR, dx, FX, fx); + } +#endif + +#endif + #endif #if 0