projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added marking nodes in "last played level sets" sub-tree as copy
[rocksndiamonds.git]
/
src
/
libgame
/
system.h
diff --git
a/src/libgame/system.h
b/src/libgame/system.h
index ce239f1d3a5c2ead14c370d2c3edd8546ed3b462..2db4961c53cbedd3c9d939c9e13339b8c7558025 100644
(file)
--- a/
src/libgame/system.h
+++ b/
src/libgame/system.h
@@
-22,6
+22,8
@@
#include "windows.h"
#elif defined(PLATFORM_ANDROID)
#include "android.h"
#include "windows.h"
#elif defined(PLATFORM_ANDROID)
#include "android.h"
+#elif defined(PLATFORM_EMSCRIPTEN)
+#include "emscripten.h"
#endif
#include "sdl.h"
#endif
#include "sdl.h"
@@
-581,6
+583,9
@@
JOY_BUTTON_2 : \
JOY_NO_ACTION)
JOY_BUTTON_2 : \
JOY_NO_ACTION)
+// maximum number of level sets in the level set history
+#define MAX_LEVELDIR_HISTORY 12
+
// default name for empty highscore entry
#define EMPTY_PLAYER_NAME "no name"
// default name for empty highscore entry
#define EMPTY_PLAYER_NAME "no name"
@@
-771,6
+776,11
@@
#define NUM_BASE_TREE_TYPES 4
#define NUM_TREE_TYPES 6
#define NUM_BASE_TREE_TYPES 4
#define NUM_TREE_TYPES 6
+#define TREE_TYPE_IS_DIR(type) ((type) == TREE_TYPE_GRAPHICS_DIR || \
+ (type) == TREE_TYPE_SOUNDS_DIR || \
+ (type) == TREE_TYPE_MUSIC_DIR || \
+ (type) == TREE_TYPE_LEVEL_DIR)
+
#define INFOTEXT_UNDEFINED ""
#define INFOTEXT_GRAPHICS_DIR "Custom Graphics"
#define INFOTEXT_SOUNDS_DIR "Custom Sounds"
#define INFOTEXT_UNDEFINED ""
#define INFOTEXT_GRAPHICS_DIR "Custom Graphics"
#define INFOTEXT_SOUNDS_DIR "Custom Sounds"
@@
-779,6
+789,10
@@
#define INFOTEXT_LEVEL_NR "Levels"
#define INFOTEXT_PLAYER_NAME "Players & Teams"
#define INFOTEXT_LEVEL_NR "Levels"
#define INFOTEXT_PLAYER_NAME "Players & Teams"
+#define BACKLINK_TEXT_MAIN ".. (main menu)"
+#define BACKLINK_TEXT_SETUP ".. (setup menu)"
+#define BACKLINK_TEXT_PARENT ".. (parent directory)"
+
#define TREE_INFOTEXT(t) ((t) == TREE_TYPE_PLAYER_NAME ? \
INFOTEXT_PLAYER_NAME : \
(t) == TREE_TYPE_LEVEL_NR ? \
#define TREE_INFOTEXT(t) ((t) == TREE_TYPE_PLAYER_NAME ? \
INFOTEXT_PLAYER_NAME : \
(t) == TREE_TYPE_LEVEL_NR ? \
@@
-793,6
+807,10
@@
INFOTEXT_MUSIC_DIR : \
INFOTEXT_UNDEFINED)
INFOTEXT_MUSIC_DIR : \
INFOTEXT_UNDEFINED)
+#define TREE_BACKLINK_TEXT(t) ((t) == TREE_TYPE_LEVEL_DIR ? \
+ BACKLINK_TEXT_MAIN : \
+ BACKLINK_TEXT_SETUP)
+
#define TREE_USERDIR(t) ((t) == TREE_TYPE_LEVEL_DIR ? \
getUserLevelDir(NULL) : \
(t) == TREE_TYPE_GRAPHICS_DIR ? \
#define TREE_USERDIR(t) ((t) == TREE_TYPE_LEVEL_DIR ? \
getUserLevelDir(NULL) : \
(t) == TREE_TYPE_GRAPHICS_DIR ? \
@@
-1284,6
+1302,8
@@
struct SetupEditorInfo
boolean show_element_token;
boolean show_element_token;
+ boolean show_read_only_warning;
+
boolean use_template_for_new_levels;
};
boolean use_template_for_new_levels;
};
@@
-1292,6
+1312,11
@@
struct SetupAutoSetupInfo
int editor_zoom_tilesize;
};
int editor_zoom_tilesize;
};
+struct SetupLevelSetupInfo
+{
+ char *last_level_series[MAX_LEVELDIR_HISTORY + 1];
+};
+
struct SetupEditorCascadeInfo
{
boolean el_bd;
struct SetupEditorCascadeInfo
{
boolean el_bd;
@@
-1425,7
+1450,8
@@
struct SetupInfo
boolean skip_levels;
boolean increment_levels;
boolean auto_play_next_level;
boolean skip_levels;
boolean increment_levels;
boolean auto_play_next_level;
- boolean skip_scores_after_game;
+ boolean count_score_after_game;
+ boolean show_scores_after_game;
boolean time_limit;
boolean fullscreen;
int window_scaling_percent;
boolean time_limit;
boolean fullscreen;
int window_scaling_percent;
@@
-1435,6
+1461,8
@@
struct SetupInfo
boolean ask_on_escape;
boolean ask_on_escape_editor;
boolean ask_on_game_over;
boolean ask_on_escape;
boolean ask_on_escape_editor;
boolean ask_on_game_over;
+ boolean ask_on_quit_game;
+ boolean ask_on_quit_program;
boolean quick_switch;
boolean input_on_focus;
boolean prefer_aga_graphics;
boolean quick_switch;
boolean input_on_focus;
boolean prefer_aga_graphics;
@@
-1462,6
+1490,8
@@
struct SetupInfo
char *network_server_hostname;
struct SetupAutoSetupInfo auto_setup;
char *network_server_hostname;
struct SetupAutoSetupInfo auto_setup;
+ struct SetupLevelSetupInfo level_setup;
+
struct SetupEditorInfo editor;
struct SetupEditorCascadeInfo editor_cascade;
struct SetupShortcutInfo shortcut;
struct SetupEditorInfo editor;
struct SetupEditorCascadeInfo editor_cascade;
struct SetupShortcutInfo shortcut;
@@
-1535,6
+1565,7
@@
struct TreeInfo
boolean level_group; // directory contains more level series directories
boolean parent_link; // entry links back to parent directory
boolean level_group; // directory contains more level series directories
boolean parent_link; // entry links back to parent directory
+ boolean is_copy; // this entry is a copy of another entry in the tree
boolean in_user_dir; // user defined levels are stored in home directory
boolean user_defined; // levels in user directory and marked as "private"
boolean readonly; // readonly levels can not be changed with editor
boolean in_user_dir; // user defined levels are stored in home directory
boolean user_defined; // levels in user directory and marked as "private"
boolean readonly; // readonly levels can not be changed with editor