rnd-20030313-1-src
authorHolger Schemel <info@artsoft.org>
Wed, 12 Mar 2003 23:29:36 +0000 (00:29 +0100)
committerHolger Schemel <info@artsoft.org>
Sat, 30 Aug 2014 08:40:44 +0000 (10:40 +0200)
16 files changed:
Makefile
src/conf_e2g.c
src/conf_gfx.c
src/conf_gfx.h
src/conf_snd.c
src/conf_snd.h
src/conftime.h
src/game.c
src/init.c
src/libgame/misc.c
src/libgame/misc.h
src/libgame/random.c
src/libgame/random.h
src/main.h
src/screens.c
src/tools.c

index a5b3d976bc18c017122120838fca0ac01a041943..ea7b1525e1dbbaadc35142d61dbcbb4b23100a80 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -49,8 +49,8 @@ CROSS_PATH_WIN32=/usr/local/cross-tools/i386-mingw32msvc
 SRC_DIR = src
 MAKE_CMD = $(MAKE) -C $(SRC_DIR)
 
-DEFAULT_TARGET = x11
-DEFAULT_TARGET = sdl
+DEFAULT_TARGET = x11
+DEFAULT_TARGET = sdl
 
 all:
        @$(MAKE_CMD) TARGET=$(DEFAULT_TARGET)
index 90cd877524c580fabae9bbab1b0fc0756b26380d..73e1a725d86925cc8695d011c1e770e8fbe9e78e 100644 (file)
@@ -1904,6 +1904,22 @@ element_to_graphic[] =
     EL_PLAYER_1,                               ACTION_DIGGING, MV_BIT_RIGHT,
     IMG_PLAYER_1_DIGGING_RIGHT
   },
+  {
+    EL_PLAYER_1,                               ACTION_COLLECTING, MV_BIT_DOWN,
+    IMG_PLAYER_1_COLLECTING_DOWN
+  },
+  {
+    EL_PLAYER_1,                               ACTION_COLLECTING, MV_BIT_UP,
+    IMG_PLAYER_1_COLLECTING_UP
+  },
+  {
+    EL_PLAYER_1,                               ACTION_COLLECTING, MV_BIT_LEFT,
+    IMG_PLAYER_1_COLLECTING_LEFT
+  },
+  {
+    EL_PLAYER_1,                               ACTION_COLLECTING, MV_BIT_RIGHT,
+    IMG_PLAYER_1_COLLECTING_RIGHT
+  },
   {
     EL_PLAYER_1,                               ACTION_PUSHING, MV_BIT_DOWN,
     IMG_PLAYER_1_PUSHING_DOWN
@@ -1988,6 +2004,22 @@ element_to_graphic[] =
     EL_PLAYER_2,                               ACTION_DIGGING, MV_BIT_RIGHT,
     IMG_PLAYER_2_DIGGING_RIGHT
   },
+  {
+    EL_PLAYER_2,                               ACTION_COLLECTING, MV_BIT_DOWN,
+    IMG_PLAYER_2_COLLECTING_DOWN
+  },
+  {
+    EL_PLAYER_2,                               ACTION_COLLECTING, MV_BIT_UP,
+    IMG_PLAYER_2_COLLECTING_UP
+  },
+  {
+    EL_PLAYER_2,                               ACTION_COLLECTING, MV_BIT_LEFT,
+    IMG_PLAYER_2_COLLECTING_LEFT
+  },
+  {
+    EL_PLAYER_2,                               ACTION_COLLECTING, MV_BIT_RIGHT,
+    IMG_PLAYER_2_COLLECTING_RIGHT
+  },
   {
     EL_PLAYER_2,                               ACTION_PUSHING, MV_BIT_DOWN,
     IMG_PLAYER_2_PUSHING_DOWN
@@ -2072,6 +2104,22 @@ element_to_graphic[] =
     EL_PLAYER_3,                               ACTION_DIGGING, MV_BIT_RIGHT,
     IMG_PLAYER_3_DIGGING_RIGHT
   },
+  {
+    EL_PLAYER_3,                               ACTION_COLLECTING, MV_BIT_DOWN,
+    IMG_PLAYER_3_COLLECTING_DOWN
+  },
+  {
+    EL_PLAYER_3,                               ACTION_COLLECTING, MV_BIT_UP,
+    IMG_PLAYER_3_COLLECTING_UP
+  },
+  {
+    EL_PLAYER_3,                               ACTION_COLLECTING, MV_BIT_LEFT,
+    IMG_PLAYER_3_COLLECTING_LEFT
+  },
+  {
+    EL_PLAYER_3,                               ACTION_COLLECTING, MV_BIT_RIGHT,
+    IMG_PLAYER_3_COLLECTING_RIGHT
+  },
   {
     EL_PLAYER_3,                               ACTION_PUSHING, MV_BIT_DOWN,
     IMG_PLAYER_3_PUSHING_DOWN
@@ -2156,6 +2204,22 @@ element_to_graphic[] =
     EL_PLAYER_4,                               ACTION_DIGGING, MV_BIT_RIGHT,
     IMG_PLAYER_4_DIGGING_RIGHT
   },
+  {
+    EL_PLAYER_4,                               ACTION_COLLECTING, MV_BIT_DOWN,
+    IMG_PLAYER_4_COLLECTING_DOWN
+  },
+  {
+    EL_PLAYER_4,                               ACTION_COLLECTING, MV_BIT_UP,
+    IMG_PLAYER_4_COLLECTING_UP
+  },
+  {
+    EL_PLAYER_4,                               ACTION_COLLECTING, MV_BIT_LEFT,
+    IMG_PLAYER_4_COLLECTING_LEFT
+  },
+  {
+    EL_PLAYER_4,                               ACTION_COLLECTING, MV_BIT_RIGHT,
+    IMG_PLAYER_4_COLLECTING_RIGHT
+  },
   {
     EL_PLAYER_4,                               ACTION_PUSHING, MV_BIT_DOWN,
     IMG_PLAYER_4_PUSHING_DOWN
index be5985472db2d25198ba3cf4f04f3b812bd3ee43..a898cd152e4d23ba44abf0e1de0506d9f3bcf74d 100644 (file)
@@ -2222,6 +2222,30 @@ struct ConfigInfo image_config[] =
   { "player_1.digging.right.frames",           "4"                     },
   { "player_1.digging.right.start_frame",      "1"                     },
   { "player_1.digging.right.delay",            "4"                     },
+  { "player_1.collecting.down",                        "RocksHeroes.pcx"       },
+  { "player_1.collecting.down.xpos",           "0"                     },
+  { "player_1.collecting.down.ypos",           "0"                     },
+  { "player_1.collecting.down.frames",         "4"                     },
+  { "player_1.collecting.down.start_frame",    "1"                     },
+  { "player_1.collecting.down.delay",          "4"                     },
+  { "player_1.collecting.up",                  "RocksHeroes.pcx"       },
+  { "player_1.collecting.up.xpos",             "4"                     },
+  { "player_1.collecting.up.ypos",             "0"                     },
+  { "player_1.collecting.up.frames",           "4"                     },
+  { "player_1.collecting.up.start_frame",      "1"                     },
+  { "player_1.collecting.up.delay",            "4"                     },
+  { "player_1.collecting.left",                        "RocksHeroes.pcx"       },
+  { "player_1.collecting.left.xpos",           "0"                     },
+  { "player_1.collecting.left.ypos",           "1"                     },
+  { "player_1.collecting.left.frames",         "4"                     },
+  { "player_1.collecting.left.start_frame",    "1"                     },
+  { "player_1.collecting.left.delay",          "4"                     },
+  { "player_1.collecting.right",               "RocksHeroes.pcx"       },
+  { "player_1.collecting.right.xpos",          "4"                     },
+  { "player_1.collecting.right.ypos",          "1"                     },
+  { "player_1.collecting.right.frames",                "4"                     },
+  { "player_1.collecting.right.start_frame",   "1"                     },
+  { "player_1.collecting.right.delay",         "4"                     },
   { "player_1.pushing.down",                   "RocksHeroes.pcx"       },
   { "player_1.pushing.down.xpos",              "0"                     },
   { "player_1.pushing.down.ypos",              "0"                     },
@@ -2286,34 +2310,74 @@ struct ConfigInfo image_config[] =
   { "player_2.moving.down.xpos",               "0"                     },
   { "player_2.moving.down.ypos",               "3"                     },
   { "player_2.moving.down.frames",             "4"                     },
+  { "player_2.moving.down.start_frame",                "1"                     },
+  { "player_2.moving.down.delay",              "4"                     },
   { "player_2.moving.up",                      "RocksHeroes.pcx"       },
   { "player_2.moving.up.xpos",                 "4"                     },
   { "player_2.moving.up.ypos",                 "3"                     },
   { "player_2.moving.up.frames",               "4"                     },
+  { "player_2.moving.up.start_frame",          "1"                     },
+  { "player_2.moving.up.delay",                        "4"                     },
   { "player_2.moving.left",                    "RocksHeroes.pcx"       },
   { "player_2.moving.left.xpos",               "0"                     },
   { "player_2.moving.left.ypos",               "4"                     },
   { "player_2.moving.left.frames",             "4"                     },
+  { "player_2.moving.left.start_frame",                "1"                     },
+  { "player_2.moving.left.delay",              "4"                     },
   { "player_2.moving.right",                   "RocksHeroes.pcx"       },
   { "player_2.moving.right.xpos",              "4"                     },
   { "player_2.moving.right.ypos",              "4"                     },
   { "player_2.moving.right.frames",            "4"                     },
+  { "player_2.moving.right.start_frame",       "1"                     },
+  { "player_2.moving.right.delay",             "4"                     },
   { "player_2.digging.down",                   "RocksHeroes.pcx"       },
   { "player_2.digging.down.xpos",              "0"                     },
   { "player_2.digging.down.ypos",              "3"                     },
   { "player_2.digging.down.frames",            "4"                     },
+  { "player_2.digging.down.start_frame",       "1"                     },
+  { "player_2.digging.down.delay",             "4"                     },
   { "player_2.digging.up",                     "RocksHeroes.pcx"       },
   { "player_2.digging.up.xpos",                        "4"                     },
   { "player_2.digging.up.ypos",                        "3"                     },
   { "player_2.digging.up.frames",              "4"                     },
+  { "player_2.digging.up.start_frame",         "1"                     },
+  { "player_2.digging.up.delay",               "4"                     },
   { "player_2.digging.left",                   "RocksHeroes.pcx"       },
   { "player_2.digging.left.xpos",              "0"                     },
   { "player_2.digging.left.ypos",              "4"                     },
   { "player_2.digging.left.frames",            "4"                     },
+  { "player_2.digging.left.start_frame",       "1"                     },
+  { "player_2.digging.left.delay",             "4"                     },
   { "player_2.digging.right",                  "RocksHeroes.pcx"       },
   { "player_2.digging.right.xpos",             "4"                     },
   { "player_2.digging.right.ypos",             "4"                     },
   { "player_2.digging.right.frames",           "4"                     },
+  { "player_2.digging.right.start_frame",      "1"                     },
+  { "player_2.digging.right.delay",            "4"                     },
+  { "player_2.collecting.down",                        "RocksHeroes.pcx"       },
+  { "player_2.collecting.down.xpos",           "0"                     },
+  { "player_2.collecting.down.ypos",           "3"                     },
+  { "player_2.collecting.down.frames",         "4"                     },
+  { "player_2.collecting.down.start_frame",    "1"                     },
+  { "player_2.collecting.down.delay",          "4"                     },
+  { "player_2.collecting.up",                  "RocksHeroes.pcx"       },
+  { "player_2.collecting.up.xpos",             "4"                     },
+  { "player_2.collecting.up.ypos",             "3"                     },
+  { "player_2.collecting.up.frames",           "4"                     },
+  { "player_2.collecting.up.start_frame",      "1"                     },
+  { "player_2.collecting.up.delay",            "4"                     },
+  { "player_2.collecting.left",                        "RocksHeroes.pcx"       },
+  { "player_2.collecting.left.xpos",           "0"                     },
+  { "player_2.collecting.left.ypos",           "4"                     },
+  { "player_2.collecting.left.frames",         "4"                     },
+  { "player_2.collecting.left.start_frame",    "1"                     },
+  { "player_2.collecting.left.delay",          "4"                     },
+  { "player_2.collecting.right",               "RocksHeroes.pcx"       },
+  { "player_2.collecting.right.xpos",          "4"                     },
+  { "player_2.collecting.right.ypos",          "4"                     },
+  { "player_2.collecting.right.frames",                "4"                     },
+  { "player_2.collecting.right.start_frame",   "1"                     },
+  { "player_2.collecting.right.delay",         "4"                     },
   { "player_2.pushing.down",                   "RocksHeroes.pcx"       },
   { "player_2.pushing.down.xpos",              "0"                     },
   { "player_2.pushing.down.ypos",              "3"                     },
@@ -2378,34 +2442,74 @@ struct ConfigInfo image_config[] =
   { "player_3.moving.down.xpos",               "0"                     },
   { "player_3.moving.down.ypos",               "6"                     },
   { "player_3.moving.down.frames",             "4"                     },
+  { "player_3.moving.down.start_frame",                "1"                     },
+  { "player_3.moving.down.delay",              "4"                     },
   { "player_3.moving.up",                      "RocksHeroes.pcx"       },
   { "player_3.moving.up.xpos",                 "4"                     },
   { "player_3.moving.up.ypos",                 "6"                     },
   { "player_3.moving.up.frames",               "4"                     },
+  { "player_3.moving.up.start_frame",          "1"                     },
+  { "player_3.moving.up.delay",                        "4"                     },
   { "player_3.moving.left",                    "RocksHeroes.pcx"       },
   { "player_3.moving.left.xpos",               "0"                     },
   { "player_3.moving.left.ypos",               "7"                     },
   { "player_3.moving.left.frames",             "4"                     },
+  { "player_3.moving.left.start_frame",                "1"                     },
+  { "player_3.moving.left.delay",              "4"                     },
   { "player_3.moving.right",                   "RocksHeroes.pcx"       },
   { "player_3.moving.right.xpos",              "4"                     },
   { "player_3.moving.right.ypos",              "7"                     },
   { "player_3.moving.right.frames",            "4"                     },
+  { "player_3.moving.right.start_frame",       "1"                     },
+  { "player_3.moving.right.delay",             "4"                     },
   { "player_3.digging.down",                   "RocksHeroes.pcx"       },
   { "player_3.digging.down.xpos",              "0"                     },
   { "player_3.digging.down.ypos",              "6"                     },
   { "player_3.digging.down.frames",            "4"                     },
+  { "player_3.digging.down.start_frame",       "1"                     },
+  { "player_3.digging.down.delay",             "4"                     },
   { "player_3.digging.up",                     "RocksHeroes.pcx"       },
   { "player_3.digging.up.xpos",                        "4"                     },
   { "player_3.digging.up.ypos",                        "6"                     },
   { "player_3.digging.up.frames",              "4"                     },
+  { "player_3.digging.up.start_frame",         "1"                     },
+  { "player_3.digging.up.delay",               "4"                     },
   { "player_3.digging.left",                   "RocksHeroes.pcx"       },
   { "player_3.digging.left.xpos",              "0"                     },
   { "player_3.digging.left.ypos",              "7"                     },
   { "player_3.digging.left.frames",            "4"                     },
+  { "player_3.digging.left.start_frame",       "1"                     },
+  { "player_3.digging.left.delay",             "4"                     },
   { "player_3.digging.right",                  "RocksHeroes.pcx"       },
   { "player_3.digging.right.xpos",             "4"                     },
   { "player_3.digging.right.ypos",             "7"                     },
   { "player_3.digging.right.frames",           "4"                     },
+  { "player_3.digging.right.start_frame",      "1"                     },
+  { "player_3.digging.right.delay",            "4"                     },
+  { "player_3.collecting.down",                        "RocksHeroes.pcx"       },
+  { "player_3.collecting.down.xpos",           "0"                     },
+  { "player_3.collecting.down.ypos",           "6"                     },
+  { "player_3.collecting.down.frames",         "4"                     },
+  { "player_3.collecting.down.start_frame",    "1"                     },
+  { "player_3.collecting.down.delay",          "4"                     },
+  { "player_3.collecting.up",                  "RocksHeroes.pcx"       },
+  { "player_3.collecting.up.xpos",             "4"                     },
+  { "player_3.collecting.up.ypos",             "6"                     },
+  { "player_3.collecting.up.frames",           "4"                     },
+  { "player_3.collecting.up.start_frame",      "1"                     },
+  { "player_3.collecting.up.delay",            "4"                     },
+  { "player_3.collecting.left",                        "RocksHeroes.pcx"       },
+  { "player_3.collecting.left.xpos",           "0"                     },
+  { "player_3.collecting.left.ypos",           "7"                     },
+  { "player_3.collecting.left.frames",         "4"                     },
+  { "player_3.collecting.left.start_frame",    "1"                     },
+  { "player_3.collecting.left.delay",          "4"                     },
+  { "player_3.collecting.right",               "RocksHeroes.pcx"       },
+  { "player_3.collecting.right.xpos",          "4"                     },
+  { "player_3.collecting.right.ypos",          "7"                     },
+  { "player_3.collecting.right.frames",                "4"                     },
+  { "player_3.collecting.right.start_frame",   "1"                     },
+  { "player_3.collecting.right.delay",         "4"                     },
   { "player_3.pushing.down",                   "RocksHeroes.pcx"       },
   { "player_3.pushing.down.xpos",              "0"                     },
   { "player_3.pushing.down.ypos",              "6"                     },
@@ -2470,34 +2574,74 @@ struct ConfigInfo image_config[] =
   { "player_4.moving.down.xpos",               "0"                     },
   { "player_4.moving.down.ypos",               "9"                     },
   { "player_4.moving.down.frames",             "4"                     },
+  { "player_4.moving.down.start_frame",                "1"                     },
+  { "player_4.moving.down.delay",              "4"                     },
   { "player_4.moving.up",                      "RocksHeroes.pcx"       },
   { "player_4.moving.up.xpos",                 "4"                     },
   { "player_4.moving.up.ypos",                 "9"                     },
   { "player_4.moving.up.frames",               "4"                     },
+  { "player_4.moving.up.start_frame",          "1"                     },
+  { "player_4.moving.up.delay",                        "4"                     },
   { "player_4.moving.left",                    "RocksHeroes.pcx"       },
   { "player_4.moving.left.xpos",               "0"                     },
   { "player_4.moving.left.ypos",               "10"                    },
   { "player_4.moving.left.frames",             "4"                     },
+  { "player_4.moving.left.start_frame",                "1"                     },
+  { "player_4.moving.left.delay",              "4"                     },
   { "player_4.moving.right",                   "RocksHeroes.pcx"       },
   { "player_4.moving.right.xpos",              "4"                     },
   { "player_4.moving.right.ypos",              "10"                    },
   { "player_4.moving.right.frames",            "4"                     },
+  { "player_4.moving.right.start_frame",       "1"                     },
+  { "player_4.moving.right.delay",             "4"                     },
   { "player_4.digging.down",                   "RocksHeroes.pcx"       },
   { "player_4.digging.down.xpos",              "0"                     },
   { "player_4.digging.down.ypos",              "9"                     },
   { "player_4.digging.down.frames",            "4"                     },
+  { "player_4.digging.down.start_frame",       "1"                     },
+  { "player_4.digging.down.delay",             "4"                     },
   { "player_4.digging.up",                     "RocksHeroes.pcx"       },
   { "player_4.digging.up.xpos",                        "4"                     },
   { "player_4.digging.up.ypos",                        "9"                     },
   { "player_4.digging.up.frames",              "4"                     },
+  { "player_4.digging.up.start_frame",         "1"                     },
+  { "player_4.digging.up.delay",               "4"                     },
   { "player_4.digging.left",                   "RocksHeroes.pcx"       },
   { "player_4.digging.left.xpos",              "0"                     },
   { "player_4.digging.left.ypos",              "10"                    },
   { "player_4.digging.left.frames",            "4"                     },
+  { "player_4.digging.left.start_frame",       "1"                     },
+  { "player_4.digging.left.delay",             "4"                     },
   { "player_4.digging.right",                  "RocksHeroes.pcx"       },
   { "player_4.digging.right.xpos",             "4"                     },
   { "player_4.digging.right.ypos",             "10"                    },
   { "player_4.digging.right.frames",           "4"                     },
+  { "player_4.digging.right.start_frame",      "1"                     },
+  { "player_4.digging.right.delay",            "4"                     },
+  { "player_4.collecting.down",                        "RocksHeroes.pcx"       },
+  { "player_4.collecting.down.xpos",           "0"                     },
+  { "player_4.collecting.down.ypos",           "9"                     },
+  { "player_4.collecting.down.frames",         "4"                     },
+  { "player_4.collecting.down.start_frame",    "1"                     },
+  { "player_4.collecting.down.delay",          "4"                     },
+  { "player_4.collecting.up",                  "RocksHeroes.pcx"       },
+  { "player_4.collecting.up.xpos",             "4"                     },
+  { "player_4.collecting.up.ypos",             "9"                     },
+  { "player_4.collecting.up.frames",           "4"                     },
+  { "player_4.collecting.up.start_frame",      "1"                     },
+  { "player_4.collecting.up.delay",            "4"                     },
+  { "player_4.collecting.left",                        "RocksHeroes.pcx"       },
+  { "player_4.collecting.left.xpos",           "0"                     },
+  { "player_4.collecting.left.ypos",           "10"                    },
+  { "player_4.collecting.left.frames",         "4"                     },
+  { "player_4.collecting.left.start_frame",    "1"                     },
+  { "player_4.collecting.left.delay",          "4"                     },
+  { "player_4.collecting.right",               "RocksHeroes.pcx"       },
+  { "player_4.collecting.right.xpos",          "4"                     },
+  { "player_4.collecting.right.ypos",          "10"                    },
+  { "player_4.collecting.right.frames",                "4"                     },
+  { "player_4.collecting.right.start_frame",   "1"                     },
+  { "player_4.collecting.right.delay",         "4"                     },
   { "player_4.pushing.down",                   "RocksHeroes.pcx"       },
   { "player_4.pushing.down.xpos",              "0"                     },
   { "player_4.pushing.down.ypos",              "9"                     },
index 87886239919e914dd06e73600137b88c53feff64..f58852508a7f64214c46ff08eb45268200ccaa8c 100644 (file)
 #define IMG_PLAYER_1_DIGGING_UP                                451
 #define IMG_PLAYER_1_DIGGING_LEFT                      452
 #define IMG_PLAYER_1_DIGGING_RIGHT                     453
-#define IMG_PLAYER_1_PUSHING_DOWN                      454
-#define IMG_PLAYER_1_PUSHING_UP                                455
-#define IMG_PLAYER_1_PUSHING_LEFT                      456
-#define IMG_PLAYER_1_PUSHING_RIGHT                     457
-#define IMG_PLAYER_1_SNAPPING_DOWN                     458
-#define IMG_PLAYER_1_SNAPPING_UP                       459
-#define IMG_PLAYER_1_SNAPPING_LEFT                     460
-#define IMG_PLAYER_1_SNAPPING_RIGHT                    461
-#define IMG_PLAYER_2                                   462
-#define IMG_PLAYER_2_EDITOR                            463
-#define IMG_PLAYER_2_DOWN                              464
-#define IMG_PLAYER_2_UP                                        465
-#define IMG_PLAYER_2_LEFT                              466
-#define IMG_PLAYER_2_RIGHT                             467
-#define IMG_PLAYER_2_MOVING_DOWN                       468
-#define IMG_PLAYER_2_MOVING_UP                         469
-#define IMG_PLAYER_2_MOVING_LEFT                       470
-#define IMG_PLAYER_2_MOVING_RIGHT                      471
-#define IMG_PLAYER_2_DIGGING_DOWN                      472
-#define IMG_PLAYER_2_DIGGING_UP                                473
-#define IMG_PLAYER_2_DIGGING_LEFT                      474
-#define IMG_PLAYER_2_DIGGING_RIGHT                     475
-#define IMG_PLAYER_2_PUSHING_DOWN                      476
-#define IMG_PLAYER_2_PUSHING_UP                                477
-#define IMG_PLAYER_2_PUSHING_LEFT                      478
-#define IMG_PLAYER_2_PUSHING_RIGHT                     479
-#define IMG_PLAYER_2_SNAPPING_DOWN                     480
-#define IMG_PLAYER_2_SNAPPING_UP                       481
-#define IMG_PLAYER_2_SNAPPING_LEFT                     482
-#define IMG_PLAYER_2_SNAPPING_RIGHT                    483
-#define IMG_PLAYER_3                                   484
-#define IMG_PLAYER_3_EDITOR                            485
-#define IMG_PLAYER_3_DOWN                              486
-#define IMG_PLAYER_3_UP                                        487
-#define IMG_PLAYER_3_LEFT                              488
-#define IMG_PLAYER_3_RIGHT                             489
-#define IMG_PLAYER_3_MOVING_DOWN                       490
-#define IMG_PLAYER_3_MOVING_UP                         491
-#define IMG_PLAYER_3_MOVING_LEFT                       492
-#define IMG_PLAYER_3_MOVING_RIGHT                      493
-#define IMG_PLAYER_3_DIGGING_DOWN                      494
-#define IMG_PLAYER_3_DIGGING_UP                                495
-#define IMG_PLAYER_3_DIGGING_LEFT                      496
-#define IMG_PLAYER_3_DIGGING_RIGHT                     497
-#define IMG_PLAYER_3_PUSHING_DOWN                      498
-#define IMG_PLAYER_3_PUSHING_UP                                499
-#define IMG_PLAYER_3_PUSHING_LEFT                      500
-#define IMG_PLAYER_3_PUSHING_RIGHT                     501
-#define IMG_PLAYER_3_SNAPPING_DOWN                     502
-#define IMG_PLAYER_3_SNAPPING_UP                       503
-#define IMG_PLAYER_3_SNAPPING_LEFT                     504
-#define IMG_PLAYER_3_SNAPPING_RIGHT                    505
-#define IMG_PLAYER_4                                   506
-#define IMG_PLAYER_4_EDITOR                            507
-#define IMG_PLAYER_4_DOWN                              508
-#define IMG_PLAYER_4_UP                                        509
-#define IMG_PLAYER_4_LEFT                              510
-#define IMG_PLAYER_4_RIGHT                             511
-#define IMG_PLAYER_4_MOVING_DOWN                       512
-#define IMG_PLAYER_4_MOVING_UP                         513
-#define IMG_PLAYER_4_MOVING_LEFT                       514
-#define IMG_PLAYER_4_MOVING_RIGHT                      515
-#define IMG_PLAYER_4_DIGGING_DOWN                      516
-#define IMG_PLAYER_4_DIGGING_UP                                517
-#define IMG_PLAYER_4_DIGGING_LEFT                      518
-#define IMG_PLAYER_4_DIGGING_RIGHT                     519
-#define IMG_PLAYER_4_PUSHING_DOWN                      520
-#define IMG_PLAYER_4_PUSHING_UP                                521
-#define IMG_PLAYER_4_PUSHING_LEFT                      522
-#define IMG_PLAYER_4_PUSHING_RIGHT                     523
-#define IMG_PLAYER_4_SNAPPING_DOWN                     524
-#define IMG_PLAYER_4_SNAPPING_UP                       525
-#define IMG_PLAYER_4_SNAPPING_LEFT                     526
-#define IMG_PLAYER_4_SNAPPING_RIGHT                    527
-#define IMG_EXPLOSION                                  528
-#define IMG_TWINKLE_BLUE                               529
-#define IMG_TWINKLE_WHITE                              530
-#define IMG_STEELWALL_TOPLEFT                          531
-#define IMG_STEELWALL_TOPRIGHT                         532
-#define IMG_STEELWALL_BOTTOMLEFT                       533
-#define IMG_STEELWALL_BOTTOMRIGHT                      534
-#define IMG_STEELWALL_HORIZONTAL                       535
-#define IMG_STEELWALL_VERTICAL                         536
-#define IMG_STEELWALL_TOPLEFT_EDITOR                   537
-#define IMG_STEELWALL_TOPRIGHT_EDITOR                  538
-#define IMG_STEELWALL_BOTTOMLEFT_EDITOR                        539
-#define IMG_STEELWALL_BOTTOMRIGHT_EDITOR               540
-#define IMG_STEELWALL_HORIZONTAL_EDITOR                        541
-#define IMG_STEELWALL_VERTICAL_EDITOR                  542
-#define IMG_INVISIBLE_STEELWALL_TOPLEFT                        543
-#define IMG_INVISIBLE_STEELWALL_TOPRIGHT               544
-#define IMG_INVISIBLE_STEELWALL_BOTTOMLEFT             545
-#define IMG_INVISIBLE_STEELWALL_BOTTOMRIGHT            546
-#define IMG_INVISIBLE_STEELWALL_HORIZONTAL             547
-#define IMG_INVISIBLE_STEELWALL_VERTICAL               548
-#define IMG_INVISIBLE_STEELWALL_TOPLEFT_EDITOR         549
-#define IMG_INVISIBLE_STEELWALL_TOPRIGHT_EDITOR                550
-#define IMG_INVISIBLE_STEELWALL_BOTTOMLEFT_EDITOR      551
-#define IMG_INVISIBLE_STEELWALL_BOTTOMRIGHT_EDITOR     552
-#define IMG_INVISIBLE_STEELWALL_HORIZONTAL_EDITOR      553
-#define IMG_INVISIBLE_STEELWALL_VERTICAL_EDITOR                554
-#define IMG_ARROW_LEFT                                 555
-#define IMG_ARROW_RIGHT                                        556
-#define IMG_ARROW_UP                                   557
-#define IMG_ARROW_DOWN                                 558
-#define IMG_CHAR_SPACE                                 559
-#define IMG_CHAR_EXCLAM                                        560
-#define IMG_CHAR_QUOTEDBL                              561
-#define IMG_CHAR_NUMBERSIGN                            562
-#define IMG_CHAR_DOLLAR                                        563
-#define IMG_CHAR_PROCENT                               564
-#define IMG_CHAR_AMPERSAND                             565
-#define IMG_CHAR_APOSTROPHE                            566
-#define IMG_CHAR_PARENLEFT                             567
-#define IMG_CHAR_PARENRIGHT                            568
-#define IMG_CHAR_ASTERISK                              569
-#define IMG_CHAR_PLUS                                  570
-#define IMG_CHAR_COMMA                                 571
-#define IMG_CHAR_MINUS                                 572
-#define IMG_CHAR_PERIOD                                        573
-#define IMG_CHAR_SLASH                                 574
-#define IMG_CHAR_0                                     575
-#define IMG_CHAR_1                                     576
-#define IMG_CHAR_2                                     577
-#define IMG_CHAR_3                                     578
-#define IMG_CHAR_4                                     579
-#define IMG_CHAR_5                                     580
-#define IMG_CHAR_6                                     581
-#define IMG_CHAR_7                                     582
-#define IMG_CHAR_8                                     583
-#define IMG_CHAR_9                                     584
-#define IMG_CHAR_COLON                                 585
-#define IMG_CHAR_SEMICOLON                             586
-#define IMG_CHAR_LESS                                  587
-#define IMG_CHAR_EQUAL                                 588
-#define IMG_CHAR_GREATER                               589
-#define IMG_CHAR_QUESTION                              590
-#define IMG_CHAR_AT                                    591
-#define IMG_CHAR_A                                     592
-#define IMG_CHAR_B                                     593
-#define IMG_CHAR_C                                     594
-#define IMG_CHAR_D                                     595
-#define IMG_CHAR_E                                     596
-#define IMG_CHAR_F                                     597
-#define IMG_CHAR_G                                     598
-#define IMG_CHAR_H                                     599
-#define IMG_CHAR_I                                     600
-#define IMG_CHAR_J                                     601
-#define IMG_CHAR_K                                     602
-#define IMG_CHAR_L                                     603
-#define IMG_CHAR_M                                     604
-#define IMG_CHAR_N                                     605
-#define IMG_CHAR_O                                     606
-#define IMG_CHAR_P                                     607
-#define IMG_CHAR_Q                                     608
-#define IMG_CHAR_R                                     609
-#define IMG_CHAR_S                                     610
-#define IMG_CHAR_T                                     611
-#define IMG_CHAR_U                                     612
-#define IMG_CHAR_V                                     613
-#define IMG_CHAR_W                                     614
-#define IMG_CHAR_X                                     615
-#define IMG_CHAR_Y                                     616
-#define IMG_CHAR_Z                                     617
-#define IMG_CHAR_AE                                    618
-#define IMG_CHAR_OE                                    619
-#define IMG_CHAR_UE                                    620
-#define IMG_CHAR_COPYRIGHT                             621
-#define IMG_CHAR_UNDERSCORE                            622
-#define IMG_CHAR_EMPTY                                 623
-#define IMG_CHAR_DEGREE                                        624
-#define IMG_CHAR_TM                                    625
-#define IMG_CHAR_CURSOR                                        626
-#define IMG_CUSTOM_1                                   627
-#define IMG_CUSTOM_2                                   628
-#define IMG_CUSTOM_3                                   629
-#define IMG_CUSTOM_4                                   630
-#define IMG_CUSTOM_5                                   631
-#define IMG_CUSTOM_6                                   632
-#define IMG_CUSTOM_7                                   633
-#define IMG_CUSTOM_8                                   634
-#define IMG_CUSTOM_9                                   635
-#define IMG_CUSTOM_10                                  636
-#define IMG_CUSTOM_11                                  637
-#define IMG_CUSTOM_12                                  638
-#define IMG_CUSTOM_13                                  639
-#define IMG_CUSTOM_14                                  640
-#define IMG_CUSTOM_15                                  641
-#define IMG_CUSTOM_16                                  642
-#define IMG_CUSTOM_17                                  643
-#define IMG_CUSTOM_18                                  644
-#define IMG_CUSTOM_19                                  645
-#define IMG_CUSTOM_20                                  646
-#define IMG_CUSTOM_21                                  647
-#define IMG_CUSTOM_22                                  648
-#define IMG_CUSTOM_23                                  649
-#define IMG_CUSTOM_24                                  650
-#define IMG_CUSTOM_25                                  651
-#define IMG_CUSTOM_26                                  652
-#define IMG_CUSTOM_27                                  653
-#define IMG_CUSTOM_28                                  654
-#define IMG_CUSTOM_29                                  655
-#define IMG_CUSTOM_30                                  656
-#define IMG_CUSTOM_31                                  657
-#define IMG_CUSTOM_32                                  658
-#define IMG_CUSTOM_33                                  659
-#define IMG_CUSTOM_34                                  660
-#define IMG_CUSTOM_35                                  661
-#define IMG_CUSTOM_36                                  662
-#define IMG_CUSTOM_37                                  663
-#define IMG_CUSTOM_38                                  664
-#define IMG_CUSTOM_39                                  665
-#define IMG_CUSTOM_40                                  666
-#define IMG_CUSTOM_41                                  667
-#define IMG_CUSTOM_42                                  668
-#define IMG_CUSTOM_43                                  669
-#define IMG_CUSTOM_44                                  670
-#define IMG_CUSTOM_45                                  671
-#define IMG_CUSTOM_46                                  672
-#define IMG_CUSTOM_47                                  673
-#define IMG_CUSTOM_48                                  674
-#define IMG_CUSTOM_49                                  675
-#define IMG_CUSTOM_50                                  676
-#define IMG_CUSTOM_51                                  677
-#define IMG_CUSTOM_52                                  678
-#define IMG_CUSTOM_53                                  679
-#define IMG_CUSTOM_54                                  680
-#define IMG_CUSTOM_55                                  681
-#define IMG_CUSTOM_56                                  682
-#define IMG_CUSTOM_57                                  683
-#define IMG_CUSTOM_58                                  684
-#define IMG_CUSTOM_59                                  685
-#define IMG_CUSTOM_60                                  686
-#define IMG_CUSTOM_61                                  687
-#define IMG_CUSTOM_62                                  688
-#define IMG_CUSTOM_63                                  689
-#define IMG_CUSTOM_64                                  690
-#define IMG_CUSTOM_65                                  691
-#define IMG_CUSTOM_66                                  692
-#define IMG_CUSTOM_67                                  693
-#define IMG_CUSTOM_68                                  694
-#define IMG_CUSTOM_69                                  695
-#define IMG_CUSTOM_70                                  696
-#define IMG_CUSTOM_71                                  697
-#define IMG_CUSTOM_72                                  698
-#define IMG_CUSTOM_73                                  699
-#define IMG_CUSTOM_74                                  700
-#define IMG_CUSTOM_75                                  701
-#define IMG_CUSTOM_76                                  702
-#define IMG_CUSTOM_77                                  703
-#define IMG_CUSTOM_78                                  704
-#define IMG_CUSTOM_79                                  705
-#define IMG_CUSTOM_80                                  706
-#define IMG_CUSTOM_81                                  707
-#define IMG_CUSTOM_82                                  708
-#define IMG_CUSTOM_83                                  709
-#define IMG_CUSTOM_84                                  710
-#define IMG_CUSTOM_85                                  711
-#define IMG_CUSTOM_86                                  712
-#define IMG_CUSTOM_87                                  713
-#define IMG_CUSTOM_88                                  714
-#define IMG_CUSTOM_89                                  715
-#define IMG_CUSTOM_90                                  716
-#define IMG_CUSTOM_91                                  717
-#define IMG_CUSTOM_92                                  718
-#define IMG_CUSTOM_93                                  719
-#define IMG_CUSTOM_94                                  720
-#define IMG_CUSTOM_95                                  721
-#define IMG_CUSTOM_96                                  722
-#define IMG_CUSTOM_97                                  723
-#define IMG_CUSTOM_98                                  724
-#define IMG_CUSTOM_99                                  725
-#define IMG_CUSTOM_100                                 726
-#define IMG_CUSTOM_101                                 727
-#define IMG_CUSTOM_102                                 728
-#define IMG_CUSTOM_103                                 729
-#define IMG_CUSTOM_104                                 730
-#define IMG_CUSTOM_105                                 731
-#define IMG_CUSTOM_106                                 732
-#define IMG_CUSTOM_107                                 733
-#define IMG_CUSTOM_108                                 734
-#define IMG_CUSTOM_109                                 735
-#define IMG_CUSTOM_110                                 736
-#define IMG_CUSTOM_111                                 737
-#define IMG_CUSTOM_112                                 738
-#define IMG_CUSTOM_113                                 739
-#define IMG_CUSTOM_114                                 740
-#define IMG_CUSTOM_115                                 741
-#define IMG_CUSTOM_116                                 742
-#define IMG_CUSTOM_117                                 743
-#define IMG_CUSTOM_118                                 744
-#define IMG_CUSTOM_119                                 745
-#define IMG_CUSTOM_120                                 746
-#define IMG_CUSTOM_121                                 747
-#define IMG_CUSTOM_122                                 748
-#define IMG_CUSTOM_123                                 749
-#define IMG_CUSTOM_124                                 750
-#define IMG_CUSTOM_125                                 751
-#define IMG_CUSTOM_126                                 752
-#define IMG_CUSTOM_127                                 753
-#define IMG_CUSTOM_128                                 754
-#define IMG_TOON_1                                     755
-#define IMG_TOON_2                                     756
-#define IMG_TOON_3                                     757
-#define IMG_TOON_4                                     758
-#define IMG_TOON_5                                     759
-#define IMG_TOON_6                                     760
-#define IMG_TOON_7                                     761
-#define IMG_TOON_8                                     762
-#define IMG_TOON_9                                     763
-#define IMG_TOON_10                                    764
-#define IMG_TOON_11                                    765
-#define IMG_TOON_12                                    766
-#define IMG_TOON_13                                    767
-#define IMG_TOON_14                                    768
-#define IMG_TOON_15                                    769
-#define IMG_TOON_16                                    770
-#define IMG_TOON_17                                    771
-#define IMG_TOON_18                                    772
-#define IMG_TOON_19                                    773
-#define IMG_TOON_20                                    774
-#define IMG_MENU_CALIBRATE_RED                         775
-#define IMG_MENU_CALIBRATE_BLUE                                776
-#define IMG_MENU_CALIBRATE_YELLOW                      777
-#define IMG_MENU_BUTTON                                        778
-#define IMG_MENU_BUTTON_ACTIVE                         779
-#define IMG_MENU_BUTTON_LEFT                           780
-#define IMG_MENU_BUTTON_RIGHT                          781
-#define IMG_MENU_BUTTON_UP                             782
-#define IMG_MENU_BUTTON_DOWN                           783
-#define IMG_MENU_BUTTON_LEFT_ACTIVE                    784
-#define IMG_MENU_BUTTON_RIGHT_ACTIVE                   785
-#define IMG_MENU_BUTTON_UP_ACTIVE                      786
-#define IMG_MENU_BUTTON_DOWN_ACTIVE                    787
-#define IMG_MENU_SCROLLBAR                             788
-#define IMG_MENU_SCROLLBAR_ACTIVE                      789
-#define IMG_FONT_INITIAL_1                             790
-#define IMG_FONT_INITIAL_2                             791
-#define IMG_FONT_INITIAL_3                             792
-#define IMG_FONT_INITIAL_4                             793
-#define IMG_FONT_TITLE_1                               794
-#define IMG_FONT_TITLE_1_LEVELS                                795
-#define IMG_FONT_TITLE_2                               796
-#define IMG_FONT_MENU_1                                        797
-#define IMG_FONT_MENU_2                                        798
-#define IMG_FONT_TEXT_1                                        799
-#define IMG_FONT_TEXT_1_LEVELS                         800
-#define IMG_FONT_TEXT_1_SCORES                         801
-#define IMG_FONT_TEXT_1_PREVIEW                                802
-#define IMG_FONT_TEXT_2                                        803
-#define IMG_FONT_TEXT_2_LEVELS                         804
-#define IMG_FONT_TEXT_2_SCORES                         805
-#define IMG_FONT_TEXT_2_PREVIEW                                806
-#define IMG_FONT_TEXT_3                                        807
-#define IMG_FONT_TEXT_3_LEVELS                         808
-#define IMG_FONT_TEXT_3_SCORES                         809
-#define IMG_FONT_TEXT_3_PREVIEW                                810
-#define IMG_FONT_TEXT_4                                        811
-#define IMG_FONT_TEXT_4_LEVELS                         812
-#define IMG_FONT_TEXT_4_SCORES                         813
-#define IMG_FONT_INPUT                                 814
-#define IMG_FONT_INPUT_MAIN                            815
-#define IMG_FONT_INPUT_ACTIVE                          816
-#define IMG_FONT_INPUT_ACTIVE_MAIN                     817
-#define IMG_FONT_INPUT_ACTIVE_SETUP                    818
-#define IMG_FONT_OPTION_OFF                            819
-#define IMG_FONT_OPTION_ON                             820
-#define IMG_FONT_VALUE_1                               821
-#define IMG_FONT_VALUE_2                               822
-#define IMG_FONT_VALUE_OLD                             823
-#define IMG_FONT_LEVEL_NUMBER                          824
-#define IMG_FONT_TAPE_RECORDER                         825
-#define IMG_GLOBAL_BORDER                              826
-#define IMG_GLOBAL_DOOR                                        827
-#define IMG_EDITOR_ELEMENT_BORDER                      828
-#define IMG_BACKGROUND                                 829
-#define IMG_BACKGROUND_MAIN                            830
-#define IMG_BACKGROUND_LEVELS                          831
-#define IMG_BACKGROUND_SCORES                          832
-#define IMG_BACKGROUND_EDITOR                          833
-#define IMG_BACKGROUND_INFO                            834
-#define IMG_BACKGROUND_SETUP                           835
-#define IMG_BACKGROUND_DOOR                            836
-#define IMG_INFO_FONT_EM_1                             837
-#define IMG_INFO_FONT_EM_2                             838
-#define IMG_INFO_FONT_EM_3                             839
-#define IMG_INFO_FONT_EM_4                             840
-#define IMG_INFO_FONT_EM_5                             841
+#define IMG_PLAYER_1_COLLECTING_DOWN                   454
+#define IMG_PLAYER_1_COLLECTING_UP                     455
+#define IMG_PLAYER_1_COLLECTING_LEFT                   456
+#define IMG_PLAYER_1_COLLECTING_RIGHT                  457
+#define IMG_PLAYER_1_PUSHING_DOWN                      458
+#define IMG_PLAYER_1_PUSHING_UP                                459
+#define IMG_PLAYER_1_PUSHING_LEFT                      460
+#define IMG_PLAYER_1_PUSHING_RIGHT                     461
+#define IMG_PLAYER_1_SNAPPING_DOWN                     462
+#define IMG_PLAYER_1_SNAPPING_UP                       463
+#define IMG_PLAYER_1_SNAPPING_LEFT                     464
+#define IMG_PLAYER_1_SNAPPING_RIGHT                    465
+#define IMG_PLAYER_2                                   466
+#define IMG_PLAYER_2_EDITOR                            467
+#define IMG_PLAYER_2_DOWN                              468
+#define IMG_PLAYER_2_UP                                        469
+#define IMG_PLAYER_2_LEFT                              470
+#define IMG_PLAYER_2_RIGHT                             471
+#define IMG_PLAYER_2_MOVING_DOWN                       472
+#define IMG_PLAYER_2_MOVING_UP                         473
+#define IMG_PLAYER_2_MOVING_LEFT                       474
+#define IMG_PLAYER_2_MOVING_RIGHT                      475
+#define IMG_PLAYER_2_DIGGING_DOWN                      476
+#define IMG_PLAYER_2_DIGGING_UP                                477
+#define IMG_PLAYER_2_DIGGING_LEFT                      478
+#define IMG_PLAYER_2_DIGGING_RIGHT                     479
+#define IMG_PLAYER_2_COLLECTING_DOWN                   480
+#define IMG_PLAYER_2_COLLECTING_UP                     481
+#define IMG_PLAYER_2_COLLECTING_LEFT                   482
+#define IMG_PLAYER_2_COLLECTING_RIGHT                  483
+#define IMG_PLAYER_2_PUSHING_DOWN                      484
+#define IMG_PLAYER_2_PUSHING_UP                                485
+#define IMG_PLAYER_2_PUSHING_LEFT                      486
+#define IMG_PLAYER_2_PUSHING_RIGHT                     487
+#define IMG_PLAYER_2_SNAPPING_DOWN                     488
+#define IMG_PLAYER_2_SNAPPING_UP                       489
+#define IMG_PLAYER_2_SNAPPING_LEFT                     490
+#define IMG_PLAYER_2_SNAPPING_RIGHT                    491
+#define IMG_PLAYER_3                                   492
+#define IMG_PLAYER_3_EDITOR                            493
+#define IMG_PLAYER_3_DOWN                              494
+#define IMG_PLAYER_3_UP                                        495
+#define IMG_PLAYER_3_LEFT                              496
+#define IMG_PLAYER_3_RIGHT                             497
+#define IMG_PLAYER_3_MOVING_DOWN                       498
+#define IMG_PLAYER_3_MOVING_UP                         499
+#define IMG_PLAYER_3_MOVING_LEFT                       500
+#define IMG_PLAYER_3_MOVING_RIGHT                      501
+#define IMG_PLAYER_3_DIGGING_DOWN                      502
+#define IMG_PLAYER_3_DIGGING_UP                                503
+#define IMG_PLAYER_3_DIGGING_LEFT                      504
+#define IMG_PLAYER_3_DIGGING_RIGHT                     505
+#define IMG_PLAYER_3_COLLECTING_DOWN                   506
+#define IMG_PLAYER_3_COLLECTING_UP                     507
+#define IMG_PLAYER_3_COLLECTING_LEFT                   508
+#define IMG_PLAYER_3_COLLECTING_RIGHT                  509
+#define IMG_PLAYER_3_PUSHING_DOWN                      510
+#define IMG_PLAYER_3_PUSHING_UP                                511
+#define IMG_PLAYER_3_PUSHING_LEFT                      512
+#define IMG_PLAYER_3_PUSHING_RIGHT                     513
+#define IMG_PLAYER_3_SNAPPING_DOWN                     514
+#define IMG_PLAYER_3_SNAPPING_UP                       515
+#define IMG_PLAYER_3_SNAPPING_LEFT                     516
+#define IMG_PLAYER_3_SNAPPING_RIGHT                    517
+#define IMG_PLAYER_4                                   518
+#define IMG_PLAYER_4_EDITOR                            519
+#define IMG_PLAYER_4_DOWN                              520
+#define IMG_PLAYER_4_UP                                        521
+#define IMG_PLAYER_4_LEFT                              522
+#define IMG_PLAYER_4_RIGHT                             523
+#define IMG_PLAYER_4_MOVING_DOWN                       524
+#define IMG_PLAYER_4_MOVING_UP                         525
+#define IMG_PLAYER_4_MOVING_LEFT                       526
+#define IMG_PLAYER_4_MOVING_RIGHT                      527
+#define IMG_PLAYER_4_DIGGING_DOWN                      528
+#define IMG_PLAYER_4_DIGGING_UP                                529
+#define IMG_PLAYER_4_DIGGING_LEFT                      530
+#define IMG_PLAYER_4_DIGGING_RIGHT                     531
+#define IMG_PLAYER_4_COLLECTING_DOWN                   532
+#define IMG_PLAYER_4_COLLECTING_UP                     533
+#define IMG_PLAYER_4_COLLECTING_LEFT                   534
+#define IMG_PLAYER_4_COLLECTING_RIGHT                  535
+#define IMG_PLAYER_4_PUSHING_DOWN                      536
+#define IMG_PLAYER_4_PUSHING_UP                                537
+#define IMG_PLAYER_4_PUSHING_LEFT                      538
+#define IMG_PLAYER_4_PUSHING_RIGHT                     539
+#define IMG_PLAYER_4_SNAPPING_DOWN                     540
+#define IMG_PLAYER_4_SNAPPING_UP                       541
+#define IMG_PLAYER_4_SNAPPING_LEFT                     542
+#define IMG_PLAYER_4_SNAPPING_RIGHT                    543
+#define IMG_EXPLOSION                                  544
+#define IMG_TWINKLE_BLUE                               545
+#define IMG_TWINKLE_WHITE                              546
+#define IMG_STEELWALL_TOPLEFT                          547
+#define IMG_STEELWALL_TOPRIGHT                         548
+#define IMG_STEELWALL_BOTTOMLEFT                       549
+#define IMG_STEELWALL_BOTTOMRIGHT                      550
+#define IMG_STEELWALL_HORIZONTAL                       551
+#define IMG_STEELWALL_VERTICAL                         552
+#define IMG_STEELWALL_TOPLEFT_EDITOR                   553
+#define IMG_STEELWALL_TOPRIGHT_EDITOR                  554
+#define IMG_STEELWALL_BOTTOMLEFT_EDITOR                        555
+#define IMG_STEELWALL_BOTTOMRIGHT_EDITOR               556
+#define IMG_STEELWALL_HORIZONTAL_EDITOR                        557
+#define IMG_STEELWALL_VERTICAL_EDITOR                  558
+#define IMG_INVISIBLE_STEELWALL_TOPLEFT                        559
+#define IMG_INVISIBLE_STEELWALL_TOPRIGHT               560
+#define IMG_INVISIBLE_STEELWALL_BOTTOMLEFT             561
+#define IMG_INVISIBLE_STEELWALL_BOTTOMRIGHT            562
+#define IMG_INVISIBLE_STEELWALL_HORIZONTAL             563
+#define IMG_INVISIBLE_STEELWALL_VERTICAL               564
+#define IMG_INVISIBLE_STEELWALL_TOPLEFT_EDITOR         565
+#define IMG_INVISIBLE_STEELWALL_TOPRIGHT_EDITOR                566
+#define IMG_INVISIBLE_STEELWALL_BOTTOMLEFT_EDITOR      567
+#define IMG_INVISIBLE_STEELWALL_BOTTOMRIGHT_EDITOR     568
+#define IMG_INVISIBLE_STEELWALL_HORIZONTAL_EDITOR      569
+#define IMG_INVISIBLE_STEELWALL_VERTICAL_EDITOR                570
+#define IMG_ARROW_LEFT                                 571
+#define IMG_ARROW_RIGHT                                        572
+#define IMG_ARROW_UP                                   573
+#define IMG_ARROW_DOWN                                 574
+#define IMG_CHAR_SPACE                                 575
+#define IMG_CHAR_EXCLAM                                        576
+#define IMG_CHAR_QUOTEDBL                              577
+#define IMG_CHAR_NUMBERSIGN                            578
+#define IMG_CHAR_DOLLAR                                        579
+#define IMG_CHAR_PROCENT                               580
+#define IMG_CHAR_AMPERSAND                             581
+#define IMG_CHAR_APOSTROPHE                            582
+#define IMG_CHAR_PARENLEFT                             583
+#define IMG_CHAR_PARENRIGHT                            584
+#define IMG_CHAR_ASTERISK                              585
+#define IMG_CHAR_PLUS                                  586
+#define IMG_CHAR_COMMA                                 587
+#define IMG_CHAR_MINUS                                 588
+#define IMG_CHAR_PERIOD                                        589
+#define IMG_CHAR_SLASH                                 590
+#define IMG_CHAR_0                                     591
+#define IMG_CHAR_1                                     592
+#define IMG_CHAR_2                                     593
+#define IMG_CHAR_3                                     594
+#define IMG_CHAR_4                                     595
+#define IMG_CHAR_5                                     596
+#define IMG_CHAR_6                                     597
+#define IMG_CHAR_7                                     598
+#define IMG_CHAR_8                                     599
+#define IMG_CHAR_9                                     600
+#define IMG_CHAR_COLON                                 601
+#define IMG_CHAR_SEMICOLON                             602
+#define IMG_CHAR_LESS                                  603
+#define IMG_CHAR_EQUAL                                 604
+#define IMG_CHAR_GREATER                               605
+#define IMG_CHAR_QUESTION                              606
+#define IMG_CHAR_AT                                    607
+#define IMG_CHAR_A                                     608
+#define IMG_CHAR_B                                     609
+#define IMG_CHAR_C                                     610
+#define IMG_CHAR_D                                     611
+#define IMG_CHAR_E                                     612
+#define IMG_CHAR_F                                     613
+#define IMG_CHAR_G                                     614
+#define IMG_CHAR_H                                     615
+#define IMG_CHAR_I                                     616
+#define IMG_CHAR_J                                     617
+#define IMG_CHAR_K                                     618
+#define IMG_CHAR_L                                     619
+#define IMG_CHAR_M                                     620
+#define IMG_CHAR_N                                     621
+#define IMG_CHAR_O                                     622
+#define IMG_CHAR_P                                     623
+#define IMG_CHAR_Q                                     624
+#define IMG_CHAR_R                                     625
+#define IMG_CHAR_S                                     626
+#define IMG_CHAR_T                                     627
+#define IMG_CHAR_U                                     628
+#define IMG_CHAR_V                                     629
+#define IMG_CHAR_W                                     630
+#define IMG_CHAR_X                                     631
+#define IMG_CHAR_Y                                     632
+#define IMG_CHAR_Z                                     633
+#define IMG_CHAR_AE                                    634
+#define IMG_CHAR_OE                                    635
+#define IMG_CHAR_UE                                    636
+#define IMG_CHAR_COPYRIGHT                             637
+#define IMG_CHAR_UNDERSCORE                            638
+#define IMG_CHAR_EMPTY                                 639
+#define IMG_CHAR_DEGREE                                        640
+#define IMG_CHAR_TM                                    641
+#define IMG_CHAR_CURSOR                                        642
+#define IMG_CUSTOM_1                                   643
+#define IMG_CUSTOM_2                                   644
+#define IMG_CUSTOM_3                                   645
+#define IMG_CUSTOM_4                                   646
+#define IMG_CUSTOM_5                                   647
+#define IMG_CUSTOM_6                                   648
+#define IMG_CUSTOM_7                                   649
+#define IMG_CUSTOM_8                                   650
+#define IMG_CUSTOM_9                                   651
+#define IMG_CUSTOM_10                                  652
+#define IMG_CUSTOM_11                                  653
+#define IMG_CUSTOM_12                                  654
+#define IMG_CUSTOM_13                                  655
+#define IMG_CUSTOM_14                                  656
+#define IMG_CUSTOM_15                                  657
+#define IMG_CUSTOM_16                                  658
+#define IMG_CUSTOM_17                                  659
+#define IMG_CUSTOM_18                                  660
+#define IMG_CUSTOM_19                                  661
+#define IMG_CUSTOM_20                                  662
+#define IMG_CUSTOM_21                                  663
+#define IMG_CUSTOM_22                                  664
+#define IMG_CUSTOM_23                                  665
+#define IMG_CUSTOM_24                                  666
+#define IMG_CUSTOM_25                                  667
+#define IMG_CUSTOM_26                                  668
+#define IMG_CUSTOM_27                                  669
+#define IMG_CUSTOM_28                                  670
+#define IMG_CUSTOM_29                                  671
+#define IMG_CUSTOM_30                                  672
+#define IMG_CUSTOM_31                                  673
+#define IMG_CUSTOM_32                                  674
+#define IMG_CUSTOM_33                                  675
+#define IMG_CUSTOM_34                                  676
+#define IMG_CUSTOM_35                                  677
+#define IMG_CUSTOM_36                                  678
+#define IMG_CUSTOM_37                                  679
+#define IMG_CUSTOM_38                                  680
+#define IMG_CUSTOM_39                                  681
+#define IMG_CUSTOM_40                                  682
+#define IMG_CUSTOM_41                                  683
+#define IMG_CUSTOM_42                                  684
+#define IMG_CUSTOM_43                                  685
+#define IMG_CUSTOM_44                                  686
+#define IMG_CUSTOM_45                                  687
+#define IMG_CUSTOM_46                                  688
+#define IMG_CUSTOM_47                                  689
+#define IMG_CUSTOM_48                                  690
+#define IMG_CUSTOM_49                                  691
+#define IMG_CUSTOM_50                                  692
+#define IMG_CUSTOM_51                                  693
+#define IMG_CUSTOM_52                                  694
+#define IMG_CUSTOM_53                                  695
+#define IMG_CUSTOM_54                                  696
+#define IMG_CUSTOM_55                                  697
+#define IMG_CUSTOM_56                                  698
+#define IMG_CUSTOM_57                                  699
+#define IMG_CUSTOM_58                                  700
+#define IMG_CUSTOM_59                                  701
+#define IMG_CUSTOM_60                                  702
+#define IMG_CUSTOM_61                                  703
+#define IMG_CUSTOM_62                                  704
+#define IMG_CUSTOM_63                                  705
+#define IMG_CUSTOM_64                                  706
+#define IMG_CUSTOM_65                                  707
+#define IMG_CUSTOM_66                                  708
+#define IMG_CUSTOM_67                                  709
+#define IMG_CUSTOM_68                                  710
+#define IMG_CUSTOM_69                                  711
+#define IMG_CUSTOM_70                                  712
+#define IMG_CUSTOM_71                                  713
+#define IMG_CUSTOM_72                                  714
+#define IMG_CUSTOM_73                                  715
+#define IMG_CUSTOM_74                                  716
+#define IMG_CUSTOM_75                                  717
+#define IMG_CUSTOM_76                                  718
+#define IMG_CUSTOM_77                                  719
+#define IMG_CUSTOM_78                                  720
+#define IMG_CUSTOM_79                                  721
+#define IMG_CUSTOM_80                                  722
+#define IMG_CUSTOM_81                                  723
+#define IMG_CUSTOM_82                                  724
+#define IMG_CUSTOM_83                                  725
+#define IMG_CUSTOM_84                                  726
+#define IMG_CUSTOM_85                                  727
+#define IMG_CUSTOM_86                                  728
+#define IMG_CUSTOM_87                                  729
+#define IMG_CUSTOM_88                                  730
+#define IMG_CUSTOM_89                                  731
+#define IMG_CUSTOM_90                                  732
+#define IMG_CUSTOM_91                                  733
+#define IMG_CUSTOM_92                                  734
+#define IMG_CUSTOM_93                                  735
+#define IMG_CUSTOM_94                                  736
+#define IMG_CUSTOM_95                                  737
+#define IMG_CUSTOM_96                                  738
+#define IMG_CUSTOM_97                                  739
+#define IMG_CUSTOM_98                                  740
+#define IMG_CUSTOM_99                                  741
+#define IMG_CUSTOM_100                                 742
+#define IMG_CUSTOM_101                                 743
+#define IMG_CUSTOM_102                                 744
+#define IMG_CUSTOM_103                                 745
+#define IMG_CUSTOM_104                                 746
+#define IMG_CUSTOM_105                                 747
+#define IMG_CUSTOM_106                                 748
+#define IMG_CUSTOM_107                                 749
+#define IMG_CUSTOM_108                                 750
+#define IMG_CUSTOM_109                                 751
+#define IMG_CUSTOM_110                                 752
+#define IMG_CUSTOM_111                                 753
+#define IMG_CUSTOM_112                                 754
+#define IMG_CUSTOM_113                                 755
+#define IMG_CUSTOM_114                                 756
+#define IMG_CUSTOM_115                                 757
+#define IMG_CUSTOM_116                                 758
+#define IMG_CUSTOM_117                                 759
+#define IMG_CUSTOM_118                                 760
+#define IMG_CUSTOM_119                                 761
+#define IMG_CUSTOM_120                                 762
+#define IMG_CUSTOM_121                                 763
+#define IMG_CUSTOM_122                                 764
+#define IMG_CUSTOM_123                                 765
+#define IMG_CUSTOM_124                                 766
+#define IMG_CUSTOM_125                                 767
+#define IMG_CUSTOM_126                                 768
+#define IMG_CUSTOM_127                                 769
+#define IMG_CUSTOM_128                                 770
+#define IMG_TOON_1                                     771
+#define IMG_TOON_2                                     772
+#define IMG_TOON_3                                     773
+#define IMG_TOON_4                                     774
+#define IMG_TOON_5                                     775
+#define IMG_TOON_6                                     776
+#define IMG_TOON_7                                     777
+#define IMG_TOON_8                                     778
+#define IMG_TOON_9                                     779
+#define IMG_TOON_10                                    780
+#define IMG_TOON_11                                    781
+#define IMG_TOON_12                                    782
+#define IMG_TOON_13                                    783
+#define IMG_TOON_14                                    784
+#define IMG_TOON_15                                    785
+#define IMG_TOON_16                                    786
+#define IMG_TOON_17                                    787
+#define IMG_TOON_18                                    788
+#define IMG_TOON_19                                    789
+#define IMG_TOON_20                                    790
+#define IMG_MENU_CALIBRATE_RED                         791
+#define IMG_MENU_CALIBRATE_BLUE                                792
+#define IMG_MENU_CALIBRATE_YELLOW                      793
+#define IMG_MENU_BUTTON                                        794
+#define IMG_MENU_BUTTON_ACTIVE                         795
+#define IMG_MENU_BUTTON_LEFT                           796
+#define IMG_MENU_BUTTON_RIGHT                          797
+#define IMG_MENU_BUTTON_UP                             798
+#define IMG_MENU_BUTTON_DOWN                           799
+#define IMG_MENU_BUTTON_LEFT_ACTIVE                    800
+#define IMG_MENU_BUTTON_RIGHT_ACTIVE                   801
+#define IMG_MENU_BUTTON_UP_ACTIVE                      802
+#define IMG_MENU_BUTTON_DOWN_ACTIVE                    803
+#define IMG_MENU_SCROLLBAR                             804
+#define IMG_MENU_SCROLLBAR_ACTIVE                      805
+#define IMG_FONT_INITIAL_1                             806
+#define IMG_FONT_INITIAL_2                             807
+#define IMG_FONT_INITIAL_3                             808
+#define IMG_FONT_INITIAL_4                             809
+#define IMG_FONT_TITLE_1                               810
+#define IMG_FONT_TITLE_1_LEVELS                                811
+#define IMG_FONT_TITLE_2                               812
+#define IMG_FONT_MENU_1                                        813
+#define IMG_FONT_MENU_2                                        814
+#define IMG_FONT_TEXT_1                                        815
+#define IMG_FONT_TEXT_1_LEVELS                         816
+#define IMG_FONT_TEXT_1_SCORES                         817
+#define IMG_FONT_TEXT_1_PREVIEW                                818
+#define IMG_FONT_TEXT_2                                        819
+#define IMG_FONT_TEXT_2_LEVELS                         820
+#define IMG_FONT_TEXT_2_SCORES                         821
+#define IMG_FONT_TEXT_2_PREVIEW                                822
+#define IMG_FONT_TEXT_3                                        823
+#define IMG_FONT_TEXT_3_LEVELS                         824
+#define IMG_FONT_TEXT_3_SCORES                         825
+#define IMG_FONT_TEXT_3_PREVIEW                                826
+#define IMG_FONT_TEXT_4                                        827
+#define IMG_FONT_TEXT_4_LEVELS                         828
+#define IMG_FONT_TEXT_4_SCORES                         829
+#define IMG_FONT_INPUT                                 830
+#define IMG_FONT_INPUT_MAIN                            831
+#define IMG_FONT_INPUT_ACTIVE                          832
+#define IMG_FONT_INPUT_ACTIVE_MAIN                     833
+#define IMG_FONT_INPUT_ACTIVE_SETUP                    834
+#define IMG_FONT_OPTION_OFF                            835
+#define IMG_FONT_OPTION_ON                             836
+#define IMG_FONT_VALUE_1                               837
+#define IMG_FONT_VALUE_2                               838
+#define IMG_FONT_VALUE_OLD                             839
+#define IMG_FONT_LEVEL_NUMBER                          840
+#define IMG_FONT_TAPE_RECORDER                         841
+#define IMG_GLOBAL_BORDER                              842
+#define IMG_GLOBAL_DOOR                                        843
+#define IMG_EDITOR_ELEMENT_BORDER                      844
+#define IMG_BACKGROUND                                 845
+#define IMG_BACKGROUND_MAIN                            846
+#define IMG_BACKGROUND_LEVELS                          847
+#define IMG_BACKGROUND_SCORES                          848
+#define IMG_BACKGROUND_EDITOR                          849
+#define IMG_BACKGROUND_INFO                            850
+#define IMG_BACKGROUND_SETUP                           851
+#define IMG_BACKGROUND_DOOR                            852
+#define IMG_INFO_FONT_EM_1                             853
+#define IMG_INFO_FONT_EM_2                             854
+#define IMG_INFO_FONT_EM_3                             855
+#define IMG_INFO_FONT_EM_4                             856
+#define IMG_INFO_FONT_EM_5                             857
 
-#define NUM_IMAGE_FILES                                        842
+#define NUM_IMAGE_FILES                                        858
 
 #endif /* CONF_GFX_H */
index dc002cc7738a48742b6e61f2caa02f3bda9b4ca9..7c61a715d58ce3c1236fa171a16dbaa6fd510a23 100644 (file)
@@ -217,14 +217,14 @@ struct ConfigInfo sound_config[] =
   { "game.sokoban_solving",            "buing.wav"             },
 
   /* sounds for other non-game actions */
-  { "menu.door_opening",               "oeffnen.wav"           },
-  { "menu.door_closing",               "oeffnen.wav"           },
+  { "door.opening",                    "oeffnen.wav"           },
+  { "door.closing",                    "oeffnen.wav"           },
 
-  { "menu.hall_of_fame",               "halloffame.wav"        },
-  { "menu.hall_of_fame.mode_loop",     "false"                 },
+  { "background.SCORES",               "halloffame.wav"        },
+  { "background.SCORES.mode_loop",     "false"                 },
 
-  { "menu.info_screen",                        "rhythmloop.wav"        },
-  { "menu.info_screen.mode_loop",      "true"                  },
+  { "background.INFO",                 "rhythmloop.wav"        },
+  { "background.INFO.mode_loop",       "true"                  },
 
 #if 0
   { "[not used]",                      "antigrav.wav"          },
index f869225dade260d19a310d0911090abf5588b033..91438f127c7fad2ab9e1eaeb73594ffcb86fff0e 100644 (file)
 #define SND_GAME_LOSING                                        161
 #define SND_GAME_WINNING                                       162
 #define SND_GAME_SOKOBAN_SOLVING                               163
-#define SND_MENU_DOOR_OPENING                          164
-#define SND_MENU_DOOR_CLOSING                          165
-#define SND_MENU_HALL_OF_FAME                          166
-#define SND_MENU_INFO_SCREEN                           167
+#define SND_DOOR_OPENING                                       164
+#define SND_DOOR_CLOSING                                       165
+#define SND_BACKGROUND_SCORES                          166
+#define SND_BACKGROUND_INFO                                    167
 
 #define NUM_SOUND_FILES                                168
 
index 2024351ec37401c53af0704079a5db69dd42c2fd..49644471435bf97769da1e61cca1303e72ea581c 100644 (file)
@@ -1 +1 @@
-#define COMPILE_DATE_STRING "[2003-03-12 00:07]"
+#define COMPILE_DATE_STRING "[2003-03-13 00:27]"
index a9d0e2698361c6f1869024455056e3e6ea869e0d..4b726a43f39fc7a5221077ba13f39c9c0fb819a5 100644 (file)
@@ -658,6 +658,8 @@ void InitGame()
 
     player->is_moving = FALSE;
     player->is_waiting = FALSE;
+    player->is_digging = FALSE;
+    player->is_collecting = FALSE;
 
     player->move_delay       = game.initial_move_delay;
     player->move_delay_value = game.initial_move_delay_value;
@@ -5664,7 +5666,10 @@ int DigField(struct PlayerInfo *player,
   int element;
 
   if (player->MovPos == 0)
+  {
     player->is_digging = FALSE;
+    player->is_collecting = FALSE;
+  }
 
   if (player->MovPos == 0)
     player->Pushing = FALSE;
@@ -6368,8 +6373,13 @@ int DigField(struct PlayerInfo *player,
 
   player->push_delay = 0;
 
-  if (Feld[x][y] != element)           /* really digged something */
-    player->is_digging = TRUE;
+  if (Feld[x][y] != element)           /* really digged/collected something */
+  {
+    if (GfxElement[x][y] == EL_SAND)
+      player->is_digging = TRUE;
+    else
+      player->is_collecting = TRUE;
+  }
 
   return MF_MOVING;
 }
@@ -6393,7 +6403,10 @@ boolean SnapField(struct PlayerInfo *player, int dx, int dy)
     player->snapped = FALSE;
 
     if (player->MovPos == 0)
+    {
       player->is_digging = FALSE;
+      player->is_collecting = FALSE;
+    }
 
     return FALSE;
   }
@@ -6411,6 +6424,8 @@ boolean SnapField(struct PlayerInfo *player, int dx, int dy)
 
   player->snapped = TRUE;
   player->is_digging = FALSE;
+  player->is_collecting = FALSE;
+
   DrawLevelField(x, y);
   BackToFront();
 
index 62109f0009e33f5e4ff5d755d5dc8c8a320b9b24..46f27d80a291445d1526f05172838d991cc3fdb1 100644 (file)
@@ -2462,7 +2462,7 @@ static void InitArtworkConfig()
                special_id_suffix, ignore_image_tokens);
   InitSoundList(sound_config, NUM_SOUND_FILES, sound_config_suffix,
                sound_id_prefix, action_id_suffix, dummy,
-               dummy, ignore_sound_tokens);
+               special_id_suffix, ignore_sound_tokens);
 }
 
 static void InitMixer()
@@ -2785,8 +2785,10 @@ void OpenAll()
 
   InitCounter();
 
-  InitJoysticks();
   InitRND(NEW_RANDOMIZE);
+  InitSimpleRND(NEW_RANDOMIZE);
+
+  InitJoysticks();
 
   InitVideoDisplay();
   InitVideoBuffer(&backbuffer, &window, WIN_XSIZE, WIN_YSIZE, DEFAULT_DEPTH,
index e5cdfe26da8efec03bb294f2c2218c7081074b01..d94b37d55c174a63a3684ca2266ac19ed349dc12 100644 (file)
@@ -261,74 +261,66 @@ void WaitUntilDelayReached(unsigned long *counter_var, unsigned long delay)
 /* random generator functions                                                */
 /* ------------------------------------------------------------------------- */
 
+#if 0
 unsigned int SimpleRND(unsigned int max)
 {
-#if defined(TARGET_SDL)
-  static unsigned long root = 654321;
-  unsigned long current_ms;
+  return (random_linux_libc(RND_FREE) % max);
+}
 
-  current_ms = SDL_GetTicks();
-  root = root * 4253261 + current_ms;
-  return (root % max);
-#else
-  static unsigned long root = 654321;
-  struct timeval current_time;
+unsigned int InitSimpleRND(long seed)
+{
+  if (seed == NEW_RANDOMIZE)
+  {
+    struct timeval current_time;
 
-  gettimeofday(&current_time, NULL);
-  root = root * 4253261 + current_time.tv_sec + current_time.tv_usec;
-  return (root % max);
-#endif
-}
+    gettimeofday(&current_time, NULL);
+    seed = (long)current_time.tv_usec;
+  }
 
-#ifdef DEBUG
-static unsigned int last_RND_value = 0;
+  srandom_linux_libc(RND_FREE, (unsigned int) seed);
 
-unsigned int last_RND()
-{
-  return last_RND_value;
+  return (unsigned int) seed;
 }
-#endif
 
 unsigned int RND(unsigned int max)
 {
-#ifdef DEBUG
-  return (last_RND_value = random_linux_libc() % max);
-#else
-  return (random_linux_libc() % max);
-#endif
+  return (random_linux_libc(RND_GAME) % max);
 }
 
 unsigned int InitRND(long seed)
 {
-#if defined(TARGET_SDL)
-  unsigned long current_ms;
-
   if (seed == NEW_RANDOMIZE)
   {
-    current_ms = SDL_GetTicks();
-    srandom_linux_libc((unsigned int) current_ms);
-    return (unsigned int) current_ms;
-  }
-  else
-  {
-    srandom_linux_libc((unsigned int) seed);
-    return (unsigned int) seed;
+    struct timeval current_time;
+
+    gettimeofday(&current_time, NULL);
+    seed = (long)current_time.tv_usec;
   }
-#else
-  struct timeval current_time;
 
+  srandom_linux_libc(RND_GAME, (unsigned int) seed);
+
+  return (unsigned int) seed;
+}
+#endif
+
+unsigned int init_random_number(int nr, long seed)
+{
   if (seed == NEW_RANDOMIZE)
   {
+    struct timeval current_time;
+
     gettimeofday(&current_time, NULL);
-    srandom_linux_libc((unsigned int) current_time.tv_usec);
-    return (unsigned int) current_time.tv_usec;
-  }
-  else
-  {
-    srandom_linux_libc((unsigned int) seed);
-    return (unsigned int) seed;
+    seed = (long)current_time.tv_usec;
   }
-#endif
+
+  srandom_linux_libc(nr, (unsigned int) seed);
+
+  return (unsigned int) seed;
+}
+
+unsigned int get_random_number(int nr, unsigned int max)
+{
+  return (random_linux_libc(nr) % max);
 }
 
 
index 18565c7210fb57e142154c3cb60919d9184581b2..6b05533ad7a30e80b94ef4fa2bb1488c70a0f6c2 100644 (file)
 /* values for InitRND() */
 #define NEW_RANDOMIZE                  -1
 
+#define InitRND(seed)                  init_random_number(0, seed)
+#define InitSimpleRND(seed)            init_random_number(1, seed)
+#define RND(max)                       get_random_number(0, max)
+#define SimpleRND(max)                 get_random_number(1, max)
+
 /* values for Error() */
 #define ERR_RETURN                     0
 #define ERR_RETURN_LINE                        (1 << 0)
@@ -65,9 +70,15 @@ boolean FrameReached(unsigned long *, unsigned long);
 boolean DelayReached(unsigned long *, unsigned long);
 void WaitUntilDelayReached(unsigned long *, unsigned long);
 
+#if 0
 unsigned int SimpleRND(unsigned int);
+unsigned int InitSimpleRND(long);
 unsigned int RND(unsigned int);
 unsigned int InitRND(long);
+#endif
+
+unsigned int init_random_number(int, long);
+unsigned int get_random_number(int, unsigned int);
 
 char *getLoginName(void);
 char *getRealName(void);
index 08626fcab08584cc38957324a2a5624e8fff9bbe..1bf4ce316f1021e05c602ef9953b0d092f99f109 100644 (file)
    position of the rear pointer is just
        (MAX_TYPES * (rptr - state)) + TYPE_3 == TYPE_3.  */
 
-static long int randtbl[DEG_3 + 1] =
+static long int randtbl_0[DEG_3 + 1] =
 {
   TYPE_3,
   -851904987, -43806228, -2029755270, 1390239686, -1912102820,
@@ -139,6 +139,17 @@ static long int randtbl[DEG_3 + 1] =
   -607508183, -205999574, -1696891592, 1492211999, -1528267240,
   -952028296, -189082757, 362343714, 1424981831, 2039449641,
 };
+static long int randtbl_1[DEG_3 + 1] =
+{
+  TYPE_3,
+  -851904987, -43806228, -2029755270, 1390239686, -1912102820,
+  -485608943, 1969813258, -1590463333, -1944053249, 455935928, 508023712,
+  -1714531963, 1800685987, -2015299881, 654595283, -1149023258,
+  -1470005550, -1143256056, -1325577603, -1568001885, 1275120390,
+  -607508183, -205999574, -1696891592, 1492211999, -1528267240,
+  -952028296, -189082757, 362343714, 1424981831, 2039449641,
+};
+
 
 /* FPTR and RPTR are two pointers into the state info, a front and a rear
    pointer.  These two pointers are always rand_sep places aparts, as they
@@ -150,8 +161,8 @@ static long int randtbl[DEG_3 + 1] =
    in the initialization of randtbl) because the state table pointer is set
    to point to randtbl[1] (as explained below).)  */
 
-static long int *fptr = &randtbl[SEP_3 + 1];
-static long int *rptr = &randtbl[1];
+static long int *fptr[2] = { &randtbl_0[SEP_3 + 1], &randtbl_1[SEP_3 + 1] };
+static long int *rptr[2] = { &randtbl_0[1],         &randtbl_1[1]         };
 
 
 
@@ -165,13 +176,17 @@ static long int *rptr = &randtbl[1];
    indexing every time to find the address of the last element to see if
    the front and rear pointers have wrapped.  */
 
-static long int *state = &randtbl[1];
+static long int *state[2] = { &randtbl_0[1], &randtbl_1[1] };
 
-static int rand_type = TYPE_3;
-static int rand_deg = DEG_3;
-static int rand_sep = SEP_3;
+static int rand_type[2] = { TYPE_3,    TYPE_3  };
+static int rand_deg[2]  = { DEG_3,     DEG_3   };
+static int rand_sep[2]  = { SEP_3,     SEP_3   };
 
-static long int *end_ptr = &randtbl[sizeof(randtbl) / sizeof(randtbl[0])];
+static long int *end_ptr[2] =
+{
+  &randtbl_0[sizeof(randtbl_0) / sizeof(randtbl_0[0])],
+  &randtbl_1[sizeof(randtbl_1) / sizeof(randtbl_1[0])]
+};
 
 /* Initialize the random number generator based on the given seed.  If the
    type is the trivial no-state-information type, just remember the seed.
@@ -182,18 +197,22 @@ static long int *end_ptr = &randtbl[sizeof(randtbl) / sizeof(randtbl[0])];
    introduced by the L.C.R.N.G.  Note that the initialization of randtbl[]
    for default usage relies on values produced by this routine.  */
 
-void srandom_linux_libc(unsigned int x)
+void srandom_linux_libc(int nr, unsigned int x)
 {
-  state[0] = x;
-  if (rand_type != TYPE_0)
+  state[nr][0] = x;
+
+  if (rand_type[nr] != TYPE_0)
   {
     register long int i;
-    for (i = 1; i < rand_deg; ++i)
-      state[i] = (1103515145 * state[i - 1]) + 12345;
-    fptr = &state[rand_sep];
-    rptr = &state[0];
-    for (i = 0; i < 10 * rand_deg; ++i)
-      (void) random_linux_libc();
+
+    for (i = 1; i < rand_deg[nr]; ++i)
+      state[nr][i] = (1103515145 * state[nr][i - 1]) + 12345;
+
+    fptr[nr] = &state[nr][rand_sep[nr]];
+    rptr[nr] = &state[nr][0];
+
+    for (i = 0; i < 10 * rand_deg[nr]; ++i)
+      random_linux_libc(nr);
   }
 }
 
@@ -208,31 +227,35 @@ void srandom_linux_libc(unsigned int x)
    rear pointers can't wrap on the same call by not testing the rear
    pointer if the front one has wrapped.  Returns a 31-bit random number.  */
 
-long int random_linux_libc()
+long int random_linux_libc(int nr)
 {
-  if (rand_type == TYPE_0)
+  if (rand_type[nr] == TYPE_0)
   {
-    state[0] = ((state[0] * 1103515245) + 12345) & LONG_MAX;
-    return state[0];
+    state[nr][0] = ((state[nr][0] * 1103515245) + 12345) & LONG_MAX;
+    return state[nr][0];
   }
   else
   {
     long int i;
-    *fptr += *rptr;
+
+    *fptr[nr] += *rptr[nr];
+
     /* Chucking least random bit.  */
-    i = (*fptr >> 1) & LONG_MAX;
-    ++fptr;
-    if (fptr >= end_ptr)
+    i = (*fptr[nr] >> 1) & LONG_MAX;
+    fptr[nr]++;
+
+    if (fptr[nr] >= end_ptr[nr])
     {
-      fptr = state;
-      ++rptr;
+      fptr[nr] = state[nr];
+      rptr[nr]++;
     }
     else
     {
-      ++rptr;
-      if (rptr >= end_ptr)
-       rptr = state;
+      rptr[nr]++;
+      if (rptr[nr] >= end_ptr[nr])
+       rptr[nr] = state[nr];
     }
+
     return i;
   }
 }
index 540bc6679c885cf910b8f0f7418ad2493b7fdfea..ed01196dee47358e80d7de178bc7b5f45cee0950 100644 (file)
@@ -14,7 +14,7 @@
 #ifndef RANDOM_H
 #define RANDOM_H
 
-void srandom_linux_libc(unsigned int);
-long int random_linux_libc(void);
+void srandom_linux_libc(int, unsigned int);
+long int random_linux_libc(int);
 
 #endif
index 5cb0c2256a8eaca7a2ce0423a86e76153c8b8ae5..4275ba7e8785de52ab07eaa4e401605349e63a40 100644 (file)
@@ -935,9 +935,9 @@ struct PlayerInfo
 
   int last_move_dir;
   boolean is_moving;
-
-  boolean is_digging;
   boolean is_waiting;
+  boolean is_digging;
+  boolean is_collecting;
 
   unsigned long move_delay;
   int move_delay_value;
index 285aa2cf0a97e74cd7d77cb913381aa196af814b..18fe8f12b44f4b4a272d54e9fd1607de748eb848 100644 (file)
@@ -1156,9 +1156,9 @@ void DrawHelpScreen()
   InitAnimation();
 
 #if 0
-  PlaySoundLoop(SND_MENU_INFO_SCREEN);
+  PlaySoundLoop(SND_BACKGROUND_INFO);
 #else
-  PlaySound_Menu_Start(SND_MENU_INFO_SCREEN);
+  PlaySound_Menu_Start(SND_BACKGROUND_INFO);
 #endif
 }
 
@@ -1220,9 +1220,9 @@ void HandleHelpScreen(int button)
        must therefore periodically be reactivated with the current sound
        engine !!! */
 #if 0
-    PlaySoundLoop(SND_MENU_INFO_SCREEN);
+    PlaySoundLoop(SND_BACKGROUND_INFO);
 #else
-    PlaySound_Menu_Continue(SND_MENU_INFO_SCREEN);
+    PlaySound_Menu_Continue(SND_BACKGROUND_INFO);
 #endif
 
     DoAnimation();
@@ -1638,9 +1638,9 @@ void DrawHallOfFame(int highlight_position)
   HandleHallOfFame(highlight_position,0, 0,0, MB_MENU_INITIALIZE);
 
 #if 0
-  PlaySound(SND_MENU_HALL_OF_FAME);
+  PlaySound(SND_BACKGROUND_SCORES);
 #else
-  PlaySound_Menu_Start(SND_MENU_HALL_OF_FAME);
+  PlaySound_Menu_Start(SND_BACKGROUND_SCORES);
 #endif
 }
 
@@ -1715,7 +1715,7 @@ void HandleHallOfFame(int mx, int my, int dx, int dy, int button)
 
   if (button_released)
   {
-    FadeSound(SND_MENU_HALL_OF_FAME);
+    FadeSound(SND_BACKGROUND_SCORES);
     game_status = MAINMENU;
     DrawMainMenu();
   }
@@ -1726,7 +1726,7 @@ void HandleHallOfFame(int mx, int my, int dx, int dy, int button)
   {
     DoAnimation();
 #if 1
-    PlaySound_Menu_Continue(SND_MENU_HALL_OF_FAME);
+    PlaySound_Menu_Continue(SND_BACKGROUND_SCORES);
 #endif
   }
 }
index 7a4f101441a034297fd0ea207fbe1fdeda18fb70..4a97ee8ede78654d89c1978f2cea293521c4f806 100644 (file)
@@ -562,6 +562,7 @@ void DrawPlayer(struct PlayerInfo *player)
 
   current_action = (player->Pushing ? ACTION_PUSHING :
                    player->is_digging ? ACTION_DIGGING :
+                   player->is_collecting ? ACTION_COLLECTING :
                    player->is_moving ? ACTION_MOVING :
                    player->snapped ? ACTION_SNAPPING : ACTION_DEFAULT);
 
@@ -2086,8 +2087,8 @@ unsigned int MoveDoor(unsigned int door_state)
     stepsize = 20;
     door_delay_value = 0;
 
-    StopSound(SND_MENU_DOOR_OPENING);
-    StopSound(SND_MENU_DOOR_CLOSING);
+    StopSound(SND_DOOR_OPENING);
+    StopSound(SND_DOOR_CLOSING);
   }
 
   if (global.autoplay_leveldir)
@@ -2102,9 +2103,9 @@ unsigned int MoveDoor(unsigned int door_state)
     {
       /* opening door sound has priority over simultaneously closing door */
       if (door_state & (DOOR_OPEN_1 | DOOR_OPEN_2))
-       PlaySoundStereo(SND_MENU_DOOR_OPENING, SOUND_MAX_RIGHT);
+       PlaySoundStereo(SND_DOOR_OPENING, SOUND_MIDDLE);
       else if (door_state & (DOOR_CLOSE_1 | DOOR_CLOSE_2))
-       PlaySoundStereo(SND_MENU_DOOR_CLOSING, SOUND_MAX_RIGHT);
+       PlaySoundStereo(SND_DOOR_CLOSING, SOUND_MIDDLE);
     }
 
     start = ((door_state & DOOR_NO_DELAY) ? DXSIZE : 0);
@@ -2202,8 +2203,8 @@ unsigned int MoveDoor(unsigned int door_state)
 
   if (setup.quick_doors)
   {
-    StopSound(SND_MENU_DOOR_OPENING);
-    StopSound(SND_MENU_DOOR_CLOSING);
+    StopSound(SND_DOOR_OPENING);
+    StopSound(SND_DOOR_CLOSING);
   }
 
   if (door_state & DOOR_ACTION_1)