aboutsummaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authoraliaspider2014-10-30 01:51:26 +0100
committeraliaspider2014-10-30 01:51:26 +0100
commit2b16ed99405805c16260085f46c753792c1af32d (patch)
treef1980a92da37f4322033b5fea412a3aae6962623 /source
parent628df4d2923b5a42e0378c4ede89178f85e0e0c8 (diff)
downloadsnes9x2005-2b16ed99405805c16260085f46c753792c1af32d.tar.gz
snes9x2005-2b16ed99405805c16260085f46c753792c1af32d.tar.bz2
snes9x2005-2b16ed99405805c16260085f46c753792c1af32d.zip
add safety to buffer reads to deal with negative offsets.
Diffstat (limited to 'source')
-rw-r--r--source/gfx.h5
-rw-r--r--source/tile.c4
2 files changed, 5 insertions, 4 deletions
diff --git a/source/gfx.h b/source/gfx.h
index 55b31bf..18d74f8 100644
--- a/source/gfx.h
+++ b/source/gfx.h
@@ -114,6 +114,11 @@ void S9xSyncSpeed();
struct SGFX
{
// Initialize these variables
+ uint8* Screen_buffer;
+ uint8* SubScreen_buffer;
+ uint8* ZBuffer_buffer;
+ uint8* SubZBuffer_buffer;
+
uint8* Screen;
uint8* SubScreen;
uint8* ZBuffer;
diff --git a/source/tile.c b/source/tile.c
index 2211421..31c065a 100644
--- a/source/tile.c
+++ b/source/tile.c
@@ -467,8 +467,6 @@ static void WRITE_4PIXELS16_ADD(int32 Offset, uint8* Pixels,
uint16* ScreenColors)
{
uint8 Pixel, N;
- if (Offset < 0)
- Offset = 0;
uint16* Screen = (uint16*) GFX.S + Offset;
uint8* Depth = GFX.ZBuffer + Offset;
@@ -499,8 +497,6 @@ static void WRITE_4PIXELS16_FLIPPED_ADD(int32 Offset, uint8* Pixels,
uint16* ScreenColors)
{
uint8 Pixel, N;
- if (Offset < 0)
- Offset = 0;
uint16* Screen = (uint16*) GFX.S + Offset;
uint8* Depth = GFX.ZBuffer + Offset;