this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix tic_modulo (#2676)

* use modulus to loop map

* use tic_modulo in drawMap

* fix tic_modulo for large negative values

authored by

Matt Zykan and committed by
GitHub
794ee52b e62e8922

+6 -11
+2 -7
src/core/draw.c
··· 279 279 for (s32 j = y, jj = sy; j < y + height; j++, jj += size) 280 280 for (s32 i = x, ii = sx; i < x + width; i++, ii += size) 281 281 { 282 - s32 mi = i; 283 - s32 mj = j; 284 - 285 - while (mi < 0) mi += TIC_MAP_WIDTH; 286 - while (mj < 0) mj += TIC_MAP_HEIGHT; 287 - while (mi >= TIC_MAP_WIDTH) mi -= TIC_MAP_WIDTH; 288 - while (mj >= TIC_MAP_HEIGHT) mj -= TIC_MAP_HEIGHT; 282 + s32 mi = tic_modulo(i, TIC_MAP_WIDTH); 283 + s32 mj = tic_modulo(j, TIC_MAP_HEIGHT); 289 284 290 285 s32 index = mi + mj * TIC_MAP_WIDTH; 291 286 RemapResult retile = { *(src->data + index), tic_no_flip, tic_no_rotate };
+4 -4
src/tools.h
··· 81 81 82 82 inline s32 tic_modulo(s32 x, s32 m) 83 83 { 84 - if(x >= m) return x % m; 85 - if(x < 0) return x % m + m; 86 - 87 - return x; 84 + s32 r = x % m; 85 + if (r < 0) 86 + r += m; 87 + return r; 88 88 } 89 89 90 90 tic_blitpal tic_tool_palette_blit(const tic_palette* src, tic80_pixel_color_format fmt);