-/***********************************************************
-* Rocks'n'Diamonds -- McDuffin Strikes Back! *
-*----------------------------------------------------------*
-* (c) 1995-2006 Artsoft Entertainment *
-* Holger Schemel *
-* Detmolder Strasse 189 *
-* 33604 Bielefeld *
-* Germany *
-* e-mail: info@artsoft.org *
-*----------------------------------------------------------*
-* main.c *
-***********************************************************/
+// ============================================================================
+// Rocks'n'Diamonds - McDuffin Strikes Back!
+// ----------------------------------------------------------------------------
+// (c) 1995-2014 by Artsoft Entertainment
+// Holger Schemel
+// info@artsoft.org
+// http://www.artsoft.org/
+// ----------------------------------------------------------------------------
+// main.c
+// ============================================================================
#include "libgame/libgame.h"
Bitmap *bitmap_db_cross;
Bitmap *bitmap_db_field;
Bitmap *bitmap_db_panel;
-#if 0
-Bitmap *bitmap_db_door;
-#endif
Bitmap *bitmap_db_door_1;
Bitmap *bitmap_db_door_2;
Bitmap *bitmap_db_toons;
int key_joystick_mapping = 0;
-#if 1
-#if NEW_SCROLL
boolean redraw[2 + MAX_LEV_FIELDX + 2][2 + MAX_LEV_FIELDY + 2];
-#else
-boolean redraw[MAX_LEV_FIELDX + 2][MAX_LEV_FIELDY + 2];
-#endif
-#else
-boolean redraw[MAX_BUF_XSIZE][MAX_BUF_YSIZE];
-#endif
int redraw_x1 = 0, redraw_y1 = 0;
short Feld[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
int EYSIZE = 144;
int TILESIZE_VAR = TILESIZE;
-#if 1
int FX, FY;
-#else
-int FX = SX, FY = SY;
-#endif
int ScrollStepSize;
int ScreenMovDir = MV_NONE, ScreenMovPos = 0;
int ScreenGfxPos = 0;
int BorderElement = EL_STEELWALL;
int GameFrameDelay = GAME_FRAME_DELAY;
int FfwdFrameDelay = FFWD_FRAME_DELAY;
-#if 1
int BX1, BY1;
int BX2, BY2;
-#else
-int BX1 = 0, BY1 = 0;
-int BX2 = SCR_FIELDX - 1, BY2 = SCR_FIELDY - 1;
-#endif
int SBX_Left, SBX_Right;
int SBY_Upper, SBY_Lower;
int ZX, ZY;
" -n, --network network multiplayer game\n"
" --serveronly only start network server\n"
" -v, --verbose verbose mode\n"
+ " -V, --version show program version\n"
" --debug display debugging information\n"
" --debug-x11-sync enable X11 synchronous mode\n"
" -e, --execute COMMAND execute batch COMMAND\n"
program.command_basename);
}
+static void print_version()
+{
+ printf("%s %d.%d.%d.%d\n",
+ PROGRAM_TITLE_STRING,
+ PROGRAM_VERSION_MAJOR,
+ PROGRAM_VERSION_MINOR,
+ PROGRAM_VERSION_PATCH,
+ PROGRAM_VERSION_BUILD);
+
+ if (options.debug)
+ {
+ SDL_version sdl_version;
+
+ SDL_VERSION(&sdl_version);
+ printf("- SDL %d.%d.%d\n",
+ sdl_version.major,
+ sdl_version.minor,
+ sdl_version.patch);
+
+ SDL_IMAGE_VERSION(&sdl_version);
+ printf("- SDL_image %d.%d.%d\n",
+ sdl_version.major,
+ sdl_version.minor,
+ sdl_version.patch);
+
+ SDL_MIXER_VERSION(&sdl_version);
+ printf("- SDL_mixer %d.%d.%d\n",
+ sdl_version.major,
+ sdl_version.minor,
+ sdl_version.patch);
+
+ SDL_NET_VERSION(&sdl_version);
+ printf("- SDL_net %d.%d.%d\n",
+ sdl_version.major,
+ sdl_version.minor,
+ sdl_version.patch);
+ }
+}
+
int main(int argc, char *argv[])
{
InitProgramInfo(argv[0], USERDATA_DIRECTORY, USERDATA_DIRECTORY_UNIX,
InitExitFunction(CloseAllAndExit);
InitPlatformDependentStuff();
- GetOptions(argv, print_usage);
+ GetOptions(argv, print_usage, print_version);
OpenAll();
EventLoop();