From 6c991885bf82a231341056b7158b8668888c9b6d Mon Sep 17 00:00:00 2001 From: ugetab Date: Mon, 10 May 2010 16:52:27 +0000 Subject: [PATCH] Added a few options to emu.getscreenpixel. Can now fully distinguish between LUA and Emu pixels, or ignore distinction. --- src/lua-engine.cpp | 5 +++-- src/video.cpp | 16 ++++++++++++---- src/video.h | 4 ++-- vc/Help/fceux.hnd | Bin 222148 -> 222323 bytes 4 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/lua-engine.cpp b/src/lua-engine.cpp index 2a0cec5a..3a51f328 100644 --- a/src/lua-engine.cpp +++ b/src/lua-engine.cpp @@ -3186,6 +3186,7 @@ static int emu_getscreenpixel(lua_State *L) { int x = luaL_checkinteger(L, 1); int y = luaL_checkinteger(L,2); + bool getemuscreen = (lua_toboolean(L,3) == 1); int r, g, b; int palette; @@ -3208,10 +3209,10 @@ static int emu_getscreenpixel(lua_State *L) { return 4; } - uint32 pixelinfo = GetScreenPixel(x,y); + uint32 pixelinfo = GetScreenPixel(x,y,getemuscreen); LUA_DECOMPOSE_PIXEL(pixelinfo, palette, r, g, b); - palette = GetScreenPixelPalette(x,y); + palette = GetScreenPixelPalette(x,y,getemuscreen); lua_pushinteger(L, r); lua_pushinteger(L, g); diff --git a/src/video.cpp b/src/video.cpp index a18e879d..7d2e9743 100644 --- a/src/video.cpp +++ b/src/video.cpp @@ -414,24 +414,32 @@ static int WritePNGChunk(FILE *fp, uint32 size, char *type, uint8 *data) return 1; } -uint32 GetScreenPixel(int x, int y) { +uint32 GetScreenPixel(int x, int y, bool usebackup) { uint8 r,g,b; if (((x < 0) || (x > 255)) || ((y < 0) || (y > 255))) return -1; - FCEUD_GetPalette(XBuf[(y*256)+x],&r,&g,&b); + if (usebackup) + FCEUD_GetPalette(XBackBuf[(y*256)+x],&r,&g,&b); + else + FCEUD_GetPalette(XBuf[(y*256)+x],&r,&g,&b); + return ((int) (r) << 16) | ((int) (g) << 8) | (int) (b); } -int GetScreenPixelPalette(int x, int y) { +int GetScreenPixelPalette(int x, int y, bool usebackup) { if (((x < 0) || (x > 255)) || ((y < 0) || (y > 255))) return -1; - return XBuf[(y*256)+x] & 0x3f; + if (usebackup) + return XBackBuf[(y*256)+x] & 0x3f; + else + return XBuf[(y*256)+x] & 0x3f; + } int SaveSnapshot(void) diff --git a/src/video.h b/src/video.h index 1de5f115..c97b620f 100644 --- a/src/video.h +++ b/src/video.h @@ -1,8 +1,8 @@ int FCEU_InitVirtualVideo(void); void FCEU_KillVirtualVideo(void); int SaveSnapshot(void); -uint32 GetScreenPixel(int x, int y); -int GetScreenPixelPalette(int x, int y); +uint32 GetScreenPixel(int x, int y, bool usebackup); +int GetScreenPixelPalette(int x, int y, bool usebackup); extern uint8 *XBuf; extern uint8 *XBackBuf; extern int ClipSidesOffset; diff --git a/vc/Help/fceux.hnd b/vc/Help/fceux.hnd index 48e7f990dff1ec6405e3421cab60c22c85d712bd..01b4edd695c066b3fa2e3ab92b09fb4feef85dad 100644 GIT binary patch delta 13644 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 delta 13473 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