projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
changed sorting and coloring in level sets and custom artwork menu
[rocksndiamonds.git]
/
src
/
libgame
/
system.h
diff --git
a/src/libgame/system.h
b/src/libgame/system.h
index 68a94cec543e27646cbc54344c64edcd974f1d49..9b3dfe752f127bb1b41ace4bd0005cbba18823bf 100644
(file)
--- a/
src/libgame/system.h
+++ b/
src/libgame/system.h
@@
-353,16
+353,21
@@
#define ANIM_DEFAULT ANIM_LOOP
#define ANIM_DEFAULT ANIM_LOOP
-// values for special drawing styles
(currently only for crumbled graphics)
+// values for special drawing styles
and event handling
#define STYLE_NONE 0
#define STYLE_NONE 0
+
+// values used for crumbled graphics
#define STYLE_ACCURATE_BORDERS (1 << 0)
#define STYLE_INNER_CORNERS (1 << 1)
#define STYLE_ACCURATE_BORDERS (1 << 0)
#define STYLE_INNER_CORNERS (1 << 1)
+
+// values used for game panel graphics
#define STYLE_REVERSE (1 << 2)
#define STYLE_REVERSE (1 << 2)
+#define STYLE_LEFTMOST_POSITION (1 << 3)
-// values
for special event handling style (used for global animation)
-#define STYLE_BLOCK (1 <<
3
)
-#define STYLE_PASSTHROUGH (1 <<
4
)
-#define STYLE_MULTIPLE_ACTIONS (1 <<
5
)
+// values
used for global animations
+#define STYLE_BLOCK (1 <<
4
)
+#define STYLE_PASSTHROUGH (1 <<
5
)
+#define STYLE_MULTIPLE_ACTIONS (1 <<
6
)
#define STYLE_DEFAULT STYLE_NONE
#define STYLE_DEFAULT STYLE_NONE
@@
-510,6
+515,9
@@
// maximum number of parallel players supported by libgame functions
#define MAX_PLAYERS 4
// maximum number of parallel players supported by libgame functions
#define MAX_PLAYERS 4
+// maximum number of player names
+#define MAX_PLAYER_NAMES 12
+
// maximum allowed length of player name
#define MAX_PLAYER_NAME_LEN 10
// maximum allowed length of player name
#define MAX_PLAYER_NAME_LEN 10
@@
-573,6
+581,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"
@@
-627,6
+638,7
@@
#define CACHE_DIRECTORY "cache"
#define CONF_DIRECTORY "conf"
#define NETWORK_DIRECTORY "network"
#define CACHE_DIRECTORY "cache"
#define CONF_DIRECTORY "conf"
#define NETWORK_DIRECTORY "network"
+#define USERS_DIRECTORY "users"
#define GFX_CLASSIC_SUBDIR "gfx_classic"
#define SND_CLASSIC_SUBDIR "snd_classic"
#define GFX_CLASSIC_SUBDIR "gfx_classic"
#define SND_CLASSIC_SUBDIR "snd_classic"
@@
-645,6
+657,7
@@
// file names and filename extensions
#define LEVELSETUP_DIRECTORY "levelsetup"
#define SETUP_FILENAME "setup.conf"
// file names and filename extensions
#define LEVELSETUP_DIRECTORY "levelsetup"
#define SETUP_FILENAME "setup.conf"
+#define USERSETUP_FILENAME "usersetup.conf"
#define AUTOSETUP_FILENAME "autosetup.conf"
#define LEVELSETUP_FILENAME "levelsetup.conf"
#define EDITORSETUP_FILENAME "editorsetup.conf"
#define AUTOSETUP_FILENAME "autosetup.conf"
#define LEVELSETUP_FILENAME "levelsetup.conf"
#define EDITORSETUP_FILENAME "editorsetup.conf"
@@
-756,9
+769,15
@@
#define TREE_TYPE_MUSIC_DIR ARTWORK_TYPE_MUSIC
#define TREE_TYPE_LEVEL_DIR 3
#define TREE_TYPE_LEVEL_NR 4
#define TREE_TYPE_MUSIC_DIR ARTWORK_TYPE_MUSIC
#define TREE_TYPE_LEVEL_DIR 3
#define TREE_TYPE_LEVEL_NR 4
+#define TREE_TYPE_PLAYER_NAME 5
#define NUM_BASE_TREE_TYPES 4
#define NUM_BASE_TREE_TYPES 4
-#define NUM_TREE_TYPES 5
+#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_UNDEFINED ""
#define INFOTEXT_GRAPHICS_DIR "Custom Graphics"
@@
-766,8
+785,15
@@
#define INFOTEXT_MUSIC_DIR "Custom Music"
#define INFOTEXT_LEVEL_DIR "Level Sets"
#define INFOTEXT_LEVEL_NR "Levels"
#define INFOTEXT_MUSIC_DIR "Custom Music"
#define INFOTEXT_LEVEL_DIR "Level Sets"
#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_LEVEL_NR ? \
+#define TREE_INFOTEXT(t) ((t) == TREE_TYPE_PLAYER_NAME ? \
+ INFOTEXT_PLAYER_NAME : \
+ (t) == TREE_TYPE_LEVEL_NR ? \
INFOTEXT_LEVEL_NR : \
(t) == TREE_TYPE_LEVEL_DIR ? \
INFOTEXT_LEVEL_DIR : \
INFOTEXT_LEVEL_NR : \
(t) == TREE_TYPE_LEVEL_DIR ? \
INFOTEXT_LEVEL_DIR : \
@@
-779,6
+805,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 ? \
@@
-1270,6
+1300,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;
};
@@
-1278,6
+1310,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;
@@
-1390,6
+1427,8
@@
struct SetupInfo
{
char *player_name;
{
char *player_name;
+ boolean multiple_users;
+
boolean sound;
boolean sound_loops;
boolean sound_music;
boolean sound;
boolean sound_loops;
boolean sound_music;
@@
-1409,7
+1448,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;
@@
-1423,6
+1463,7
@@
struct SetupInfo
boolean input_on_focus;
boolean prefer_aga_graphics;
boolean prefer_lowpass_sounds;
boolean input_on_focus;
boolean prefer_aga_graphics;
boolean prefer_lowpass_sounds;
+ boolean prefer_extra_panel_items;
boolean game_speed_extended;
int game_frame_delay;
boolean sp_show_border_elements;
boolean game_speed_extended;
int game_frame_delay;
boolean sp_show_border_elements;
@@
-1445,6
+1486,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;
@@
-1457,6
+1500,11
@@
struct SetupInfo
struct OptionInfo options;
};
struct OptionInfo options;
};
+struct UserInfo
+{
+ int nr;
+};
+
struct TreeInfo
{
struct TreeInfo **node_top; // topmost node in tree
struct TreeInfo
{
struct TreeInfo **node_top; // topmost node in tree
@@
-1777,6
+1825,7
@@
extern struct AnimInfo anim;
extern struct ArtworkInfo artwork;
extern struct JoystickInfo joystick;
extern struct SetupInfo setup;
extern struct ArtworkInfo artwork;
extern struct JoystickInfo joystick;
extern struct SetupInfo setup;
+extern struct UserInfo user;
extern LevelDirTree *leveldir_first_all;
extern LevelDirTree *leveldir_first;
extern LevelDirTree *leveldir_first_all;
extern LevelDirTree *leveldir_first;