this repo has no description
0
fork

Configure Feed

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

fix incorrect rounding on negative texture coordinates (#2679)

authored by

Matt Zykan and committed by
GitHub
70ee0b6c 794ee52b

+6 -5
+6 -5
src/core/draw.c
··· 802 802 enum { MapWidth = TIC_MAP_WIDTH * TIC_SPRITESIZE, MapHeight = TIC_MAP_HEIGHT * TIC_SPRITESIZE, 803 803 WMask = TIC_SPRITESIZE - 1, HMask = TIC_SPRITESIZE - 1 }; 804 804 805 - s32 iu = tic_modulo(vars.x, MapWidth); 806 - s32 iv = tic_modulo(vars.y, MapHeight); 805 + s32 iu = tic_modulo(floor(vars.x), MapWidth); 806 + s32 iv = tic_modulo(floor(vars.y), MapHeight); 807 807 808 808 u8 idx = data->map[(iv >> 3) * TIC_MAP_WIDTH + (iu >> 3)]; 809 809 tic_tileptr tile = tic_tilesheet_gettile(&data->sheet, idx, true); ··· 821 821 822 822 enum { WMask = TIC_SPRITESHEET_SIZE - 1, HMask = TIC_SPRITESHEET_SIZE * TIC_SPRITE_BANKS - 1 }; 823 823 824 - return shaderEnd(a, &vars, pixel, data->mapping[tic_tilesheet_getpix(&data->sheet, (s32)vars.x & WMask, (s32)vars.y & HMask)]); 824 + return shaderEnd(a, &vars, pixel, data->mapping[tic_tilesheet_getpix(&data->sheet, 825 + (s32)floor(vars.x) & WMask, (s32)floor(vars.y) & HMask)]); 825 826 } 826 827 827 828 static tic_color triTexVbankShader(const ShaderAttr* a, s32 pixel) ··· 832 833 if(!shaderStart(a, &vars, pixel)) 833 834 return TRANSPARENT_COLOR; 834 835 835 - s32 iu = tic_modulo(vars.x, TIC80_WIDTH); 836 - s32 iv = tic_modulo(vars.y, TIC80_HEIGHT); 836 + s32 iu = tic_modulo(floor(vars.x), TIC80_WIDTH); 837 + s32 iv = tic_modulo(floor(vars.y), TIC80_HEIGHT); 837 838 838 839 return shaderEnd(a, &vars, pixel, data->mapping[tic_tool_peek4(data->vram->data, iv * TIC80_WIDTH + iu)]); 839 840 }