diff options
-rw-r--r-- | screenshot.c | 8 | ||||
-rw-r--r-- | settings_gui.c | 2 |
2 files changed, 7 insertions, 3 deletions
diff --git a/screenshot.c b/screenshot.c index c352844e5..fa94c8acd 100644 --- a/screenshot.c +++ b/screenshot.c @@ -376,8 +376,12 @@ void SetScreenshotFormat(int i) // screenshot generator that dumps the current video buffer void CurrentScreenCallback(void *userdata, byte *buf, uint y, uint pitch, uint n) { - assert(_screen.pitch == (int)pitch); - memcpy(buf, _screen.dst_ptr + y * _screen.pitch, n * _screen.pitch); + for (; n > 0; --n) + { + memcpy(buf, _screen.dst_ptr + y * _screen.pitch, _screen.width); + ++y; + buf += pitch; + } } extern void ViewportDoDraw(ViewPort *vp, int left, int top, int right, int bottom); diff --git a/settings_gui.c b/settings_gui.c index 9c158569e..4e7501305 100644 --- a/settings_gui.c +++ b/settings_gui.c @@ -174,7 +174,7 @@ static void GameOptionsWndProc(Window *w, WindowEvent *e) break; // change screenshot format - case 30: + case 31: SetScreenshotFormat(e->dropdown.index); SetWindowDirty(w); break; |