From 42e820b32f8ff2a7f9fc6daa4e5a831e95c63ad8 Mon Sep 17 00:00:00 2001 From: Holger Schemel Date: Sun, 11 Jan 2004 03:35:18 +0100 Subject: [PATCH] rnd-20040111-1-src --- src/conf_grp.h | 0 src/conftime.h | 2 +- src/game.c | 37 ++++++++---- src/main.c | 160 +++++++++++++++++++++++++++++++++++++++++++++++++ src/main.h | 14 ++++- 5 files changed, 200 insertions(+), 13 deletions(-) create mode 100644 src/conf_grp.h diff --git a/src/conf_grp.h b/src/conf_grp.h new file mode 100644 index 00000000..e69de29b diff --git a/src/conftime.h b/src/conftime.h index 2fa059f4..b229b8e3 100644 --- a/src/conftime.h +++ b/src/conftime.h @@ -1 +1 @@ -#define COMPILE_DATE_STRING "[2004-01-10 14:06]" +#define COMPILE_DATE_STRING "[2004-01-11 01:00]" diff --git a/src/game.c b/src/game.c index 20c68e41..a4ecac8a 100644 --- a/src/game.c +++ b/src/game.c @@ -6484,6 +6484,11 @@ static byte PlayerActions(struct PlayerInfo *player, byte player_action) if (!player->active || tape.pausing) return 0; +#if 0 + printf("::: [%d %d %d %d] [%d %d]\n", + left, right, up, down, button1, button2); +#endif + if (player_action) { #if 0 @@ -8526,7 +8531,7 @@ int DigField(struct PlayerInfo *player, /* automatically move to the next field with double speed */ player->programmed_action = move_direction; -#if 0 +#if 1 if (player->move_delay_reset_counter == 0) { player->move_delay_reset_counter = 2; /* two double speed steps */ @@ -8534,9 +8539,9 @@ int DigField(struct PlayerInfo *player, DOUBLE_PLAYER_SPEED(player); } #else - DOUBLE_PLAYER_SPEED(player); - player->move_delay_reset_counter = 2; + + DOUBLE_PLAYER_SPEED(player); #endif PlayLevelSound(x, y, SND_CLASS_SP_PORT_PASSING); @@ -8651,9 +8656,9 @@ int DigField(struct PlayerInfo *player, DOUBLE_PLAYER_SPEED(player); } #else - DOUBLE_PLAYER_SPEED(player); - player->move_delay_reset_counter = 2; + + DOUBLE_PLAYER_SPEED(player); #endif PlayLevelSoundAction(x, y, ACTION_PASSING); @@ -9100,9 +9105,14 @@ boolean SnapField(struct PlayerInfo *player, int dx, int dy) player->MovDir = snap_direction; - player->is_moving = FALSE; - player->is_digging = FALSE; - player->is_collecting = FALSE; +#if 1 + if (player->MovPos == 0) +#endif + { + player->is_moving = FALSE; + player->is_digging = FALSE; + player->is_collecting = FALSE; + } player->is_dropping = FALSE; @@ -9111,9 +9121,14 @@ boolean SnapField(struct PlayerInfo *player, int dx, int dy) player->is_snapping = TRUE; - player->is_moving = FALSE; - player->is_digging = FALSE; - player->is_collecting = FALSE; +#if 1 + if (player->MovPos == 0) +#endif + { + player->is_moving = FALSE; + player->is_digging = FALSE; + player->is_collecting = FALSE; + } DrawLevelField(x, y); BackToFront(); diff --git a/src/main.c b/src/main.c index 7e73ba2b..ad9f4f99 100644 --- a/src/main.c +++ b/src/main.c @@ -3234,6 +3234,166 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] = "envelope", "mail envelope 4" }, + { + "group_1", + "group", + "group element 1" + }, + { + "group_2", + "group", + "group element 2" + }, + { + "group_3", + "group", + "group element 3" + }, + { + "group_4", + "group", + "group element 4" + }, + { + "group_5", + "group", + "group element 5" + }, + { + "group_6", + "group", + "group element 6" + }, + { + "group_7", + "group", + "group element 7" + }, + { + "group_8", + "group", + "group element 8" + }, + { + "group_9", + "group", + "group element 9" + }, + { + "group_10", + "group", + "group element 10" + }, + { + "group_11", + "group", + "group element 11" + }, + { + "group_12", + "group", + "group element 12" + }, + { + "group_13", + "group", + "group element 13" + }, + { + "group_14", + "group", + "group element 14" + }, + { + "group_15", + "group", + "group element 15" + }, + { + "group_16", + "group", + "group element 16" + }, + { + "group_17", + "group", + "group element 17" + }, + { + "group_18", + "group", + "group element 18" + }, + { + "group_19", + "group", + "group element 19" + }, + { + "group_20", + "group", + "group element 20" + }, + { + "group_21", + "group", + "group element 21" + }, + { + "group_22", + "group", + "group element 22" + }, + { + "group_23", + "group", + "group element 23" + }, + { + "group_24", + "group", + "group element 24" + }, + { + "group_25", + "group", + "group element 25" + }, + { + "group_26", + "group", + "group element 26" + }, + { + "group_27", + "group", + "group element 27" + }, + { + "group_28", + "group", + "group element 28" + }, + { + "group_29", + "group", + "group element 29" + }, + { + "group_30", + "group", + "group element 30" + }, + { + "group_31", + "group", + "group element 31" + }, + { + "group_32", + "group", + "group element 32" + }, /* ----------------------------------------------------------------------- */ /* "real" (and therefore drawable) runtime elements */ diff --git a/src/main.h b/src/main.h index 786c8e68..2b8c6303 100644 --- a/src/main.h +++ b/src/main.h @@ -342,6 +342,9 @@ #define IS_CUSTOM_ELEMENT(e) ((e) >= EL_CUSTOM_START && \ (e) <= EL_CUSTOM_END) +#define IS_GROUP_ELEMENT(e) ((e) >= EL_GROUP_START && \ + (e) <= EL_GROUP_END) + #define IS_ENVELOPE(e) ((e) >= EL_ENVELOPE_1 && \ (e) <= EL_ENVELOPE_4) @@ -824,7 +827,16 @@ #define EL_ENVELOPE_3 622 #define EL_ENVELOPE_4 623 -#define NUM_FILE_ELEMENTS 624 +/* ---------- begin of group elements section ------------------------------ */ +#define EL_GROUP_START 624 + +#include "conf_grp.h" /* include auto-generated data structure definitions */ + +#define NUM_GROUP_ELEMENTS 32 +#define EL_GROUP_END 655 +/* ---------- end of custom elements section ------------------------------- */ + +#define NUM_FILE_ELEMENTS 656 /* "real" (and therefore drawable) runtime elements */ -- 2.34.1