Add optional define for no console
svn-id: r10410
This commit is contained in:
parent
a30eb131bb
commit
68c060405c
2 changed files with 48 additions and 2 deletions
|
@ -85,6 +85,12 @@ const char *gScummVMFullVersion = "ScummVM 0.5.3cvs (" __DATE__ " " __TIME__ ")"
|
|||
Config *g_config = 0;
|
||||
NewGui *g_gui = 0;
|
||||
|
||||
#if defined(WIN32) && defined(NO_CONSOLE)
|
||||
#include <cstdio>
|
||||
#define STDOUT_FILE TEXT("stdout.txt")
|
||||
#define STDERR_FILE TEXT("stderr.txt")
|
||||
#endif
|
||||
|
||||
#if defined(QTOPIA)
|
||||
// FIXME - why exactly is this needed?
|
||||
extern "C" int main(int argc, char *argv[]);
|
||||
|
@ -222,6 +228,41 @@ int main(int argc, char *argv[]) {
|
|||
#endif
|
||||
#endif
|
||||
|
||||
// Code copied from SDL_main
|
||||
#if defined(WIN32) && defined(NO_CONSOLE)
|
||||
|
||||
/* Flush the output in case anything is queued */
|
||||
fclose(stdout);
|
||||
fclose(stderr);
|
||||
|
||||
/* Redirect standard input and standard output */
|
||||
FILE *newfp = freopen(STDOUT_FILE, "w", stdout);
|
||||
if ( newfp == NULL ) { /* This happens on NT */
|
||||
#if !defined(stdout)
|
||||
stdout = fopen(STDOUT_FILE, "w");
|
||||
#else
|
||||
newfp = fopen(STDOUT_FILE, "w");
|
||||
if ( newfp ) {
|
||||
*stdout = *newfp;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
newfp = freopen(STDERR_FILE, "w", stderr);
|
||||
if ( newfp == NULL ) { /* This happens on NT */
|
||||
#if !defined(stderr)
|
||||
stderr = fopen(STDERR_FILE, "w");
|
||||
#else
|
||||
newfp = fopen(STDERR_FILE, "w");
|
||||
if ( newfp ) {
|
||||
*stderr = *newfp;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
setvbuf(stdout, NULL, _IOLBF, BUFSIZ); /* Line buffered */
|
||||
setbuf(stderr, NULL); /* No buffering */
|
||||
|
||||
#endif //defined(WIN32) && defined(USE_CONSOLE)
|
||||
|
||||
// Read the config file
|
||||
g_config = new Config(scummhome, "scummvm");
|
||||
g_config->set("versioninfo", gScummVMVersion);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue