projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added score server request handling for Emscripten platform
[rocksndiamonds.git]
/
src
/
main.h
diff --git
a/src/main.h
b/src/main.h
index 8c12cf95b93e7973c7d96645a72325368bac21ac..1b3498875fe6221c68aa2173adf08dafb29c470f 100644
(file)
--- a/
src/main.h
+++ b/
src/main.h
@@
-596,7
+596,7
@@
#define GFX_CRUMBLED(e) HAS_PROPERTY(GFX_ELEMENT(e), EP_GFX_CRUMBLED)
// macros for pre-defined properties
#define GFX_CRUMBLED(e) HAS_PROPERTY(GFX_ELEMENT(e), EP_GFX_CRUMBLED)
// macros for pre-defined properties
-#define
ELEM_IS_PLAYER(e)
HAS_PROPERTY(e, EP_PLAYER)
+#define
IS_PLAYER_ELEMENT(e)
HAS_PROPERTY(e, EP_PLAYER)
#define CAN_PASS_MAGIC_WALL(e) HAS_PROPERTY(e, EP_CAN_PASS_MAGIC_WALL)
#define CAN_PASS_DC_MAGIC_WALL(e) HAS_PROPERTY(e, EP_CAN_PASS_DC_MAGIC_WALL)
#define IS_SWITCHABLE(e) HAS_PROPERTY(e, EP_SWITCHABLE)
#define CAN_PASS_MAGIC_WALL(e) HAS_PROPERTY(e, EP_CAN_PASS_MAGIC_WALL)
#define CAN_PASS_DC_MAGIC_WALL(e) HAS_PROPERTY(e, EP_CAN_PASS_DC_MAGIC_WALL)
#define IS_SWITCHABLE(e) HAS_PROPERTY(e, EP_SWITCHABLE)
@@
-850,7
+850,7
@@
(ge == EL_ANY_ELEMENT ? TRUE : \
IS_GROUP_ELEMENT(ge) ? IS_IN_GROUP(e, GROUP_NR(ge)) : (e) == (ge))
(ge == EL_ANY_ELEMENT ? TRUE : \
IS_GROUP_ELEMENT(ge) ? IS_IN_GROUP(e, GROUP_NR(ge)) : (e) == (ge))
-#define IS_PLAYER(x, y) (
ELEM_IS_PLAYER
(StorePlayer[x][y]))
+#define IS_PLAYER(x, y) (
IS_PLAYER_ELEMENT
(StorePlayer[x][y]))
#define IS_FREE(x, y) (Tile[x][y] == EL_EMPTY && !IS_PLAYER(x, y))
#define IS_FREE_OR_PLAYER(x, y) (Tile[x][y] == EL_EMPTY)
#define IS_FREE(x, y) (Tile[x][y] == EL_EMPTY && !IS_PLAYER(x, y))
#define IS_FREE_OR_PLAYER(x, y) (Tile[x][y] == EL_EMPTY)
@@
-2574,9
+2574,9
@@
enum
// program information and versioning definitions
#define PROGRAM_VERSION_SUPER 4
// program information and versioning definitions
#define PROGRAM_VERSION_SUPER 4
-#define PROGRAM_VERSION_MAJOR
2
-#define PROGRAM_VERSION_MINOR
3
-#define PROGRAM_VERSION_PATCH
2
+#define PROGRAM_VERSION_MAJOR
3
+#define PROGRAM_VERSION_MINOR
0
+#define PROGRAM_VERSION_PATCH
0
#define PROGRAM_VERSION_EXTRA ""
#define PROGRAM_TITLE_STRING "Rocks'n'Diamonds"
#define PROGRAM_VERSION_EXTRA ""
#define PROGRAM_TITLE_STRING "Rocks'n'Diamonds"
@@
-2624,7
+2624,7
@@
enum
// values for game_emulation
#define EMU_NONE 0
#define EMU_BOULDERDASH 1
// values for game_emulation
#define EMU_NONE 0
#define EMU_BOULDERDASH 1
-#define EMU_
SOKOBAN
2
+#define EMU_
UNUSED_2
2
#define EMU_SUPAPLEX 3
// values for level file type identifier
#define EMU_SUPAPLEX 3
// values for level file type identifier
@@
-2655,7
+2655,9
@@
enum
#define AUTOPLAY_FFWD (1 << 1)
#define AUTOPLAY_WARP (1 << 2)
#define AUTOPLAY_TEST (1 << 3)
#define AUTOPLAY_FFWD (1 << 1)
#define AUTOPLAY_WARP (1 << 2)
#define AUTOPLAY_TEST (1 << 3)
-#define AUTOPLAY_FIX (1 << 4)
+#define AUTOPLAY_SAVE (1 << 4)
+#define AUTOPLAY_UPLOAD (1 << 5)
+#define AUTOPLAY_FIX (1 << 6)
#define AUTOPLAY_WARP_NO_DISPLAY AUTOPLAY_TEST
#define AUTOPLAY_MODE_NONE 0
#define AUTOPLAY_WARP_NO_DISPLAY AUTOPLAY_TEST
#define AUTOPLAY_MODE_NONE 0
@@
-2663,6
+2665,8
@@
enum
#define AUTOPLAY_MODE_FFWD (AUTOPLAY_MODE_PLAY | AUTOPLAY_FFWD)
#define AUTOPLAY_MODE_WARP (AUTOPLAY_MODE_FFWD | AUTOPLAY_WARP)
#define AUTOPLAY_MODE_TEST (AUTOPLAY_MODE_WARP | AUTOPLAY_TEST)
#define AUTOPLAY_MODE_FFWD (AUTOPLAY_MODE_PLAY | AUTOPLAY_FFWD)
#define AUTOPLAY_MODE_WARP (AUTOPLAY_MODE_FFWD | AUTOPLAY_WARP)
#define AUTOPLAY_MODE_TEST (AUTOPLAY_MODE_WARP | AUTOPLAY_TEST)
+#define AUTOPLAY_MODE_SAVE (AUTOPLAY_MODE_TEST | AUTOPLAY_SAVE)
+#define AUTOPLAY_MODE_UPLOAD (AUTOPLAY_MODE_TEST | AUTOPLAY_UPLOAD)
#define AUTOPLAY_MODE_FIX (AUTOPLAY_MODE_TEST | AUTOPLAY_FIX)
#define AUTOPLAY_MODE_WARP_NO_DISPLAY AUTOPLAY_MODE_TEST
#define AUTOPLAY_MODE_FIX (AUTOPLAY_MODE_TEST | AUTOPLAY_FIX)
#define AUTOPLAY_MODE_WARP_NO_DISPLAY AUTOPLAY_MODE_TEST
@@
-3040,8
+3044,10
@@
struct ViewportInfo
struct ScoreEntry
{
struct ScoreEntry
{
+ char tape_basename[MAX_FILENAME_LEN + 1];
char name[MAX_PLAYER_NAME_LEN + 1];
int score;
char name[MAX_PLAYER_NAME_LEN + 1];
int score;
+ int time; // time (in frames) or steps played
};
struct ScoreInfo
};
struct ScoreInfo
@@
-3053,6
+3059,12
@@
struct ScoreInfo
int level_nr;
int num_entries;
int level_nr;
int num_entries;
+ int last_added;
+ int last_added_local;
+
+ boolean updated;
+ boolean uploaded;
+ boolean force_last_added;
struct ScoreEntry entry[MAX_SCORE_ENTRIES];
};
struct ScoreEntry entry[MAX_SCORE_ENTRIES];
};
@@
-3120,6
+3132,7
@@
struct LevelInfo
int time; // available time (seconds)
int gems_needed;
boolean auto_count_gems;
int time; // available time (seconds)
int gems_needed;
boolean auto_count_gems;
+ boolean rate_time_over_score;
char name[MAX_LEVEL_NAME_LEN + 1];
char author[MAX_LEVEL_AUTHOR_LEN + 1];
char name[MAX_LEVEL_NAME_LEN + 1];
char author[MAX_LEVEL_AUTHOR_LEN + 1];
@@
-3205,6
+3218,7
@@
struct LevelInfo
boolean auto_exit_sokoban; // automatically finish solved Sokoban levels
boolean solved_by_one_player; // level is solved if one player enters exit
boolean finish_dig_collect; // only finished dig/collect triggers ce action
boolean auto_exit_sokoban; // automatically finish solved Sokoban levels
boolean solved_by_one_player; // level is solved if one player enters exit
boolean finish_dig_collect; // only finished dig/collect triggers ce action
+ boolean keep_walkable_ce; // keep walkable CE if it changes to the player
boolean continuous_snapping; // repeated snapping without releasing key
boolean block_snap_field; // snapping blocks field to show animation
boolean continuous_snapping; // repeated snapping without releasing key
boolean block_snap_field; // snapping blocks field to show animation
@@
-3254,8
+3268,9
@@
struct GlobalInfo
{
char *autoplay_leveldir;
int autoplay_level[MAX_TAPES_PER_SET];
{
char *autoplay_leveldir;
int autoplay_level[MAX_TAPES_PER_SET];
+ int autoplay_mode;
boolean autoplay_all;
boolean autoplay_all;
-
boolean autoplay_mod
e;
+
time_t autoplay_tim
e;
char *patchtapes_mode;
char *patchtapes_leveldir;
char *patchtapes_mode;
char *patchtapes_leveldir;
@@
-3265,7
+3280,14
@@
struct GlobalInfo
char *convert_leveldir;
int convert_level_nr;
char *convert_leveldir;
int convert_level_nr;
- char *create_images_dir;
+ char *dumplevel_leveldir;
+ int dumplevel_level_nr;
+
+ char *dumptape_leveldir;
+ int dumptape_level_nr;
+
+ char *create_sketch_images_dir;
+ char *create_collect_images_dir;
int num_toons;
int num_toons;
@@
-3762,7
+3784,7
@@
extern boolean network_player_action_received;
extern int graphics_action_mapping[];
extern struct LevelInfo level, level_template;
extern int graphics_action_mapping[];
extern struct LevelInfo level, level_template;
-extern struct ScoreInfo scores;
+extern struct ScoreInfo scores
, server_scores
;
extern struct TapeInfo tape;
extern struct GlobalInfo global;
extern struct BorderInfo border;
extern struct TapeInfo tape;
extern struct GlobalInfo global;
extern struct BorderInfo border;