ref: ae7d809837d788a32a28c4ce50ece3e037c4d069
parent: b844bf5d93d962c5db583fe342c3c1f80130fe44
author: Tanguy Fautre <tanguy@fautre.com>
date: Sat Feb 22 13:19:19 EST 2020
Fix screenshots not working.
--- a/Engine/src/display.c
+++ b/Engine/src/display.c
@@ -690,15 +690,17 @@
}
// Capture BMP of the current frame
-int screencapture(char *filename, uint8_t inverseit)
+void screencapture(char *filename)
{
// FIX_00006: better naming system for screenshots + message when pic is taken.
// Use ./screenshots folder. Screenshot code rerwritten. Faster and
// makes smaller files. Doesn't freeze or lag the game anymore.
- SDL_SaveBMP(surface, filename);
- return 0;
-} /* screencapture */
+ if (SDL_SaveBMP(surface, filename))
+ {
+ printf("SDL failed to save screenshot '%s' (%s)\n", filename, SDL_GetError());
+ }
+}
void setvmode(int mode)
--- a/Engine/src/engine.h
+++ b/Engine/src/engine.h
@@ -69,7 +69,7 @@
void plotpixel(int32_t x, int32_t y, uint8_t col);
uint8_t getpixel(int32_t x, int32_t y);
void setbrightness(uint8_t dabrightness, uint8_t *dapal);
-int screencapture(char *filename, uint8_t inverseit);
+void screencapture(char *filename);
void getmousevalues(int16_t *mousx, int16_t *mousy, int16_t *bstatus);
int clipmove (int32_t *x, int32_t *y, int32_t *z, int16_t *sectnum, int32_t xvect,int32_t yvect, int32_t walldist, int32_t ceildist,int32_t flordist, uint32_t cliptype);
void getzrange(int32_t x, int32_t y, int32_t z, int16_t sectnum,int32_t *ceilz, int32_t *ceilhit, int32_t *florz, int32_t *florhit,int32_t walldist, uint32_t cliptype);
--- a/Game/src/game.c
+++ b/Game/src/game.c
@@ -10597,7 +10597,7 @@
else
strcat(text, " vs ");
}
- tempbuf[strlen(text)-4]=0; // remove last vs
+ text[strlen(text)-4]=0; // remove last vs
strcat(text, "]");
}
strcat(text, ".bmp");
@@ -10608,23 +10608,23 @@
{
sprintf(szFilename, "%s\\%s", getGameDir(), SCREENSHOTPATH);
mkdir(szFilename);
- sprintf(szFilename, "%s\\%s\\%s", getGameDir(), SCREENSHOTPATH, tempbuf);
+ sprintf(szFilename, "%s\\%s\\%s", getGameDir(), SCREENSHOTPATH, text);
}
// otherwise let's save it to the root.
else
{
mkdir(SCREENSHOTPATH);
- sprintf(szFilename, "%s\\%s", SCREENSHOTPATH, tempbuf);
+ sprintf(szFilename, "%s\\%s", SCREENSHOTPATH, text);
}
if(SafeFileExists(szFilename) == 0)
{
- screencapture(szFilename,0);
+ screencapture(szFilename);
sprintf(fta_quotes[103],"SCREEN SAVED");
sound(EXITMENUSOUND);
}
else
- sprintf(fta_quotes[103],"CAN'T WRITE FILE!");
+ sprintf(fta_quotes[103],"CAN'T WRITE FILE! FILE ALREADY EXISTS!");
FTA(103,&ps[screenpeek],1);