projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed graphical bug when fading out screen after player has died
[rocksndiamonds.git]
/
src
/
main.c
diff --git
a/src/main.c
b/src/main.c
index 683276e94c6d672a07c5c435f3c474eb344c04c1..5de7b263d52437374d3dfe228024eefa16ded56d 100644
(file)
--- a/
src/main.c
+++ b/
src/main.c
@@
-41,9
+41,6
@@
SDL_Thread *server_thread;
int key_joystick_mapping = 0;
int key_joystick_mapping = 0;
-boolean redraw[2 + MAX_LEV_FIELDX + 2][2 + MAX_LEV_FIELDY + 2];
-int redraw_x1 = 0, redraw_y1 = 0;
-
short Feld[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
short MovPos[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
short MovDir[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
short Feld[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
short MovPos[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
short MovDir[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
@@
-104,6
+101,10
@@
int FULL_SYSIZE = 2 + SYSIZE_DEFAULT + 2;
int SXSIZE = SXSIZE_DEFAULT;
int SYSIZE = SYSIZE_DEFAULT;
int SXSIZE = SXSIZE_DEFAULT;
int SYSIZE = SYSIZE_DEFAULT;
+int FADE_SX = 6, FADE_SY = 6;
+int FADE_SXSIZE = 2 + SXSIZE_DEFAULT + 2;
+int FADE_SYSIZE = 2 + SXSIZE_DEFAULT + 2;
+
int DXSIZE = 100;
int DYSIZE = 280;
int VXSIZE = 100;
int DXSIZE = 100;
int DYSIZE = 280;
int VXSIZE = 100;
@@
-5578,7
+5579,9
@@
static void print_usage()
" \"print helptext.conf\" print default helptext config\n"
" \"dump level FILE\" dump level data from FILE\n"
" \"dump tape FILE\" dump tape data from FILE\n"
" \"print helptext.conf\" print default helptext config\n"
" \"dump level FILE\" dump level data from FILE\n"
" \"dump tape FILE\" dump tape data from FILE\n"
+ " \"autotest LEVELDIR [NR ...]\" test level tapes for LEVELDIR\n"
" \"autoplay LEVELDIR [NR ...]\" play level tapes for LEVELDIR\n"
" \"autoplay LEVELDIR [NR ...]\" play level tapes for LEVELDIR\n"
+ " \"autoffwd LEVELDIR [NR ...]\" ffwd level tapes for LEVELDIR\n"
" \"convert LEVELDIR [NR]\" convert levels in LEVELDIR\n"
" \"create images DIRECTORY\" write BMP images to DIRECTORY\n"
" \"create CE image DIRECTORY\" write BMP image to DIRECTORY\n"
" \"convert LEVELDIR [NR]\" convert levels in LEVELDIR\n"
" \"create images DIRECTORY\" write BMP images to DIRECTORY\n"
" \"create CE image DIRECTORY\" write BMP image to DIRECTORY\n"
@@
-5627,16
+5630,27
@@
static void print_version()
static void InitProgramConfig(char *command_filename)
{
static void InitProgramConfig(char *command_filename)
{
- char *command_basename = getBaseName(command_filename);
- char *config_filename = getProgramConfigFilename(command_filename);
char *program_title = PROGRAM_TITLE_STRING;
char *program_icon_file = PROGRAM_ICON_FILENAME;
char *program_title = PROGRAM_TITLE_STRING;
char *program_icon_file = PROGRAM_ICON_FILENAME;
+ char *config_filename = getProgramConfigFilename(command_filename);
+ char *userdata_basename = getBaseNameNoSuffix(command_filename);
char *userdata_subdir;
char *userdata_subdir_unix;
// read default program config, if existing
if (fileExists(config_filename))
char *userdata_subdir;
char *userdata_subdir_unix;
// read default program config, if existing
if (fileExists(config_filename))
+ {
+ // if program config file exists, derive Unix user data directory from it
+ userdata_basename = getBaseName(config_filename);
+
+ if (strSuffix(userdata_basename, ".conf"))
+ userdata_basename[strlen(userdata_basename) - 4] = '\0';
+
LoadSetupFromFilename(config_filename);
LoadSetupFromFilename(config_filename);
+ }
+
+ // set user data directory for Linux/Unix (but not Mac OS X)
+ userdata_subdir_unix = getStringCat2(".", userdata_basename);
// set program title from potentially redefined program title
if (setup.internal.program_title != NULL &&
// set program title from potentially redefined program title
if (setup.internal.program_title != NULL &&
@@
-5648,12
+5662,6
@@
static void InitProgramConfig(char *command_filename)
strlen(setup.internal.program_icon_file) > 0)
program_icon_file = getStringCopy(setup.internal.program_icon_file);
strlen(setup.internal.program_icon_file) > 0)
program_icon_file = getStringCopy(setup.internal.program_icon_file);
- // strip trailing executable suffix from command basename
- if (strSuffix(command_basename, ".exe"))
- command_basename[strlen(command_basename) - 4] = '\0';
-
- userdata_subdir_unix = getStringCat2(".", command_basename);
-
#if defined(PLATFORM_WIN32) || defined(PLATFORM_MACOSX)
userdata_subdir = program_title;
#elif defined(PLATFORM_UNIX)
#if defined(PLATFORM_WIN32) || defined(PLATFORM_MACOSX)
userdata_subdir = program_title;
#elif defined(PLATFORM_UNIX)
@@
-5665,7
+5673,6
@@
static void InitProgramConfig(char *command_filename)
InitProgramInfo(command_filename,
config_filename,
userdata_subdir,
InitProgramInfo(command_filename,
config_filename,
userdata_subdir,
- userdata_subdir_unix,
program_title,
program_title,
program_icon_file,
program_title,
program_title,
program_icon_file,
@@
-5682,7
+5689,7
@@
int main(int argc, char *argv[])
InitExitFunction(CloseAllAndExit);
InitPlatformDependentStuff();
InitExitFunction(CloseAllAndExit);
InitPlatformDependentStuff();
- GetOptions(argv, print_usage, print_version);
+ GetOptions(arg
c, arg
v, print_usage, print_version);
OpenAll();
EventLoop();
OpenAll();
EventLoop();