aboutsummaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorTatsuya792018-02-09 18:44:47 +0100
committerTatsuya792018-02-09 18:44:47 +0100
commit4c887d89f8cd9ce8e6f135ce5caa92b2b23491e0 (patch)
tree6b97607a61e3d1eadc15ae8766208babb851593b /source
parent5a20ff0dc7c6a2fcde0b1e382f3d5a92aefa4ab9 (diff)
downloadsnesemu-4c887d89f8cd9ce8e6f135ce5caa92b2b23491e0.tar.gz
snesemu-4c887d89f8cd9ce8e6f135ce5caa92b2b23491e0.tar.bz2
snesemu-4c887d89f8cd9ce8e6f135ce5caa92b2b23491e0.zip
Add sprite limit hack.
Diffstat (limited to 'source')
-rw-r--r--source/gfx.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/source/gfx.c b/source/gfx.c
index 6dd9ff5..1b9928d 100644
--- a/source/gfx.c
+++ b/source/gfx.c
@@ -36,6 +36,8 @@ extern SLineMatrixData LineMatrixData [240];
extern uint8_t Mode7Depths [2];
+extern bool reduce_sprite_flicker;
+
#define CLIP_10_BIT_SIGNED(a) \
((a) & ((1 << 10) - 1)) + (((((a) & (1 << 13)) ^ (1 << 13)) - (1 << 13)) >> 3)
@@ -611,7 +613,7 @@ void S9xSetupOBJ(void)
for (i = 0; i < SNES_HEIGHT_EXTENDED; i++)
{
GFX.OBJLines[i].RTOFlags = 0;
- GFX.OBJLines[i].Tiles = 34;
+ GFX.OBJLines[i].Tiles = (reduce_sprite_flicker ? 60 : 34);
}
FirstSprite = PPU.FirstSprite;
S = FirstSprite;
@@ -733,7 +735,7 @@ void S9xSetupOBJ(void)
for (Y = 0; Y < SNES_HEIGHT_EXTENDED; Y++)
{
GFX.OBJLines[Y].RTOFlags = Y ? GFX.OBJLines[Y - 1].RTOFlags : 0;
- GFX.OBJLines[Y].Tiles = 34;
+ GFX.OBJLines[Y].Tiles = (reduce_sprite_flicker ? 60 : 34);
j = 0;
if (AnyOBJOnLine[Y])
{