rnd-20030422-1-src
[rocksndiamonds.git] / src / main.c
index e4f9e1923958d3573d01d802540633bdd5bd0ba7..836b436fd9b30bc5a2e4adc2f016e42aa081437b 100644 (file)
@@ -17,6 +17,7 @@
 #include "init.h"
 #include "game.h"
 #include "events.h"
+#include "config.h"
 
 #if 0
 GC                     tile_clip_gc;
@@ -46,6 +47,7 @@ short                 MovDelay[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 short                  Store[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 short                  Store2[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 short                  StorePlayer[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
+short                  Back[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 boolean                        Stop[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 short                  JustStopped[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 short                  AmoebaNr[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
@@ -54,12 +56,12 @@ short                       AmoebaCnt2[MAX_NUM_AMOEBA];
 short                  ExplodePhase[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 short                  ExplodeField[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 
-unsigned long          Properties1[MAX_NUM_ELEMENTS];
-unsigned long          Properties2[MAX_NUM_ELEMENTS];
+unsigned long          Properties[MAX_NUM_ELEMENTS][NUM_EP_BITFIELDS];
 
 int                    GfxFrame[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 int                    GfxAction[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 int                    GfxRandom[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
+int                    GfxElement[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 
 int                    lev_fieldx, lev_fieldy;
 int                    scroll_x, scroll_y;
@@ -993,64 +995,64 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] =
     "letter 'Z'"
   },
   {
-    "char_ae",
+    "char_bracketleft",
     "char",
-    "letter 'Ä'"
+    "letter '['"
   },
   {
-    "char_oe",
+    "char_backslash",
     "char",
-    "letter 'Ö'"
+    "letter '\\'"
   },
   {
-    "char_ue",
+    "char_bracketright",
     "char",
-    "letter 'Ü'"
+    "letter ']'"
   },
   {
-    "char_copyright",
+    "char_asciicircum",
     "char",
     "letter '^'"
   },
   {
     "char_underscore",
     "char",
-    "letter ''"
+    "letter '_'"
   },
   {
-    "char_empty",
+    "char_copyright",
     "char",
-    "letter ''"
+    "letter '©'"
   },
   {
-    "char_degree",
+    "char_aumlaut",
     "char",
-    "letter ''"
+    "letter 'Ä'"
   },
   {
-    "char_tm",
+    "char_oumlaut",
     "char",
-    "letter ''"
+    "letter 'Ö'"
   },
   {
-    "char_cursor",
+    "char_uumlaut",
     "char",
-    "letter ''"
+    "letter 'Ü'"
   },
   {
-    "char_unused",
+    "char_degree",
     "char",
-    "letter ''"
+    "letter '°'"
   },
   {
-    "char_unused",
+    "char_trademark",
     "char",
-    "letter ''"
+    "letter '®'"
   },
   {
-    "char_unused",
+    "char_cursor",
     "char",
-    "letter ''"
+    "letter ' '"
   },
   {
     "char_unused",
@@ -3034,7 +3036,12 @@ struct FontInfo font_info[NUM_FONTS + 1] =
 
 int main(int argc, char *argv[])
 {
-  InitCommandName(argv[0]);
+  InitProgramInfo(argv[0], USERDATA_DIRECTORY,
+                 PROGRAM_TITLE_STRING, getWindowTitleString(),
+                 ICON_TITLE_STRING, X11_ICON_FILENAME, X11_ICONMASK_FILENAME,
+                 MSDOS_POINTER_FILENAME,
+                 COOKIE_PREFIX, FILENAME_PREFIX, GAME_VERSION_ACTUAL);
+
   InitExitFunction(CloseAllAndExit);
   InitPlatformDependantStuff();