projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rocksndiamonds-2.1.1
[rocksndiamonds.git]
/
src
/
libgame
/
system.h
diff --git
a/src/libgame/system.h
b/src/libgame/system.h
index 17411f8d0464a4d685bcccfbc557ebdac97a5b9d..743a8b9bfd013d47940fce121c5fe20edd431f97 100644
(file)
--- a/
src/libgame/system.h
+++ b/
src/libgame/system.h
@@
-1,7
+1,7
@@
/***********************************************************
* Artsoft Retro-Game Library *
*----------------------------------------------------------*
/***********************************************************
* Artsoft Retro-Game Library *
*----------------------------------------------------------*
-* (c) 1994-200
1
Artsoft Entertainment *
+* (c) 1994-200
2
Artsoft Entertainment *
* Holger Schemel *
* Detmolder Strasse 189 *
* 33604 Bielefeld *
* Holger Schemel *
* Detmolder Strasse 189 *
* 33604 Bielefeld *
@@
-27,6
+27,14
@@
#include "x11.h"
#endif
#include "x11.h"
#endif
+#if defined(PLATFORM_MACOSX)
+/* some symbols are already defined on Mac OS X */
+#define Delay Delay_internal
+#define DrawLine DrawLine_internal
+#define DrawText DrawText_internal
+#define GetPixel GetPixel_internal
+#endif
+
/* the additional 'b' is needed for Win32 to open files in binary mode */
#define MODE_READ "rb"
/* the additional 'b' is needed for Win32 to open files in binary mode */
#define MODE_READ "rb"
@@
-43,21
+51,32
@@
#define DEFAULT_KEY_RIGHT KSYM_Right
#define DEFAULT_KEY_UP KSYM_Up
#define DEFAULT_KEY_DOWN KSYM_Down
#define DEFAULT_KEY_RIGHT KSYM_Right
#define DEFAULT_KEY_UP KSYM_Up
#define DEFAULT_KEY_DOWN KSYM_Down
+#if defined(PLATFORM_MACOSX)
+#define DEFAULT_KEY_SNAP KSYM_Control_L
+#define DEFAULT_KEY_BOMB KSYM_KP_Enter
+#else
#define DEFAULT_KEY_SNAP KSYM_Shift_L
#define DEFAULT_KEY_BOMB KSYM_Shift_R
#define DEFAULT_KEY_SNAP KSYM_Shift_L
#define DEFAULT_KEY_BOMB KSYM_Shift_R
+#endif
#define DEFAULT_KEY_OKAY KSYM_Return
#define DEFAULT_KEY_CANCEL KSYM_Escape
/* default shortcut keys */
#define DEFAULT_KEY_SAVE_GAME KSYM_F1
#define DEFAULT_KEY_LOAD_GAME KSYM_F2
#define DEFAULT_KEY_OKAY KSYM_Return
#define DEFAULT_KEY_CANCEL KSYM_Escape
/* default shortcut keys */
#define DEFAULT_KEY_SAVE_GAME KSYM_F1
#define DEFAULT_KEY_LOAD_GAME KSYM_F2
+#define DEFAULT_KEY_TOGGLE_PAUSE KSYM_space
-/* values for move directions */
+/* values for move directions
and special "button" keys
*/
#define MV_NO_MOVING 0
#define MV_LEFT (1 << 0)
#define MV_RIGHT (1 << 1)
#define MV_UP (1 << 2)
#define MV_DOWN (1 << 3)
#define MV_NO_MOVING 0
#define MV_LEFT (1 << 0)
#define MV_RIGHT (1 << 1)
#define MV_UP (1 << 2)
#define MV_DOWN (1 << 3)
+#define KEY_BUTTON_1 (1 << 4)
+#define KEY_BUTTON_2 (1 << 5)
+#define KEY_MOTION (MV_LEFT | MV_RIGHT | MV_UP | MV_DOWN)
+#define KEY_BUTTON (KEY_BUTTON_1 | KEY_BUTTON_2)
+#define KEY_ACTION (KEY_MOTION | KEY_BUTTON)
/* values for button status */
#define MB_NOT_PRESSED FALSE
/* values for button status */
#define MB_NOT_PRESSED FALSE
@@
-109,6
+128,9
@@
/* default name for unknown player names */
#define ANONYMOUS_NAME "anonymous"
/* default name for unknown player names */
#define ANONYMOUS_NAME "anonymous"
+/* default text for non-existant artwork */
+#define NOT_AVAILABLE "(not available)"
+
/* default name for new levels */
#define NAMELESS_LEVEL_NAME "nameless level"
/* default name for new levels */
#define NAMELESS_LEVEL_NAME "nameless level"
@@
-166,6
+188,10
@@
#define VERSION_MINOR(x) (((x) % 10000) / 100)
#define VERSION_PATCH(x) ((x) % 100)
#define VERSION_MINOR(x) (((x) % 10000) / 100)
#define VERSION_PATCH(x) ((x) % 100)
+/* functions for parent/child process identification */
+#define IS_PARENT_PROCESS(pid) ((pid) > 0)
+#define IS_CHILD_PROCESS(pid) ((pid) == 0)
+
/* type definitions */
typedef int (*EventFilter)(const Event *);
/* type definitions */
typedef int (*EventFilter)(const Event *);
@@
-211,6
+237,7
@@
struct OptionInfo
boolean network;
boolean verbose;
boolean debug;
boolean network;
boolean verbose;
boolean debug;
+ char *debug_command;
};
struct VideoSystemInfo
};
struct VideoSystemInfo
@@
-224,21
+251,20
@@
struct VideoSystemInfo
struct AudioSystemInfo
{
boolean sound_available;
struct AudioSystemInfo
{
boolean sound_available;
- boolean music_available;
boolean loops_available;
boolean loops_available;
- boolean mods_available;
- boolean sound_enabled;
+ boolean music_available;
+ boolean sound_enabled;
boolean sound_deactivated; /* for temporarily disabling sound */
boolean sound_deactivated; /* for temporarily disabling sound */
- int
soundserv
er_pipe[2];
- int
soundserv
er_pid;
+ int
mix
er_pipe[2];
+ int
mix
er_pid;
char *device_name;
int device_fd;
char *device_name;
int device_fd;
- int channels;
+ int
num_
channels;
int music_channel;
int music_channel;
- int
music_nr
;
+ int
first_sound_channel
;
};
struct GfxInfo
};
struct GfxInfo
@@
-295,6
+321,7
@@
struct SetupShortcutInfo
{
Key save_game;
Key load_game;
{
Key save_game;
Key load_game;
+ Key toggle_pause;
};
struct SetupInfo
};
struct SetupInfo
@@
-322,6
+349,9
@@
struct SetupInfo
char *graphics_set;
char *sounds_set;
char *music_set;
char *graphics_set;
char *sounds_set;
char *music_set;
+ boolean override_level_graphics;
+ boolean override_level_sounds;
+ boolean override_level_music;
struct SetupShortcutInfo shortcut;
struct SetupInputInfo input[MAX_PLAYERS];
struct SetupShortcutInfo shortcut;
struct SetupInputInfo input[MAX_PLAYERS];
@@
-370,6
+400,7
@@
struct TreeInfo
typedef struct TreeInfo TreeInfo;
typedef struct TreeInfo LevelDirTree;
typedef struct TreeInfo TreeInfo;
typedef struct TreeInfo LevelDirTree;
+typedef struct TreeInfo ArtworkDirTree;
typedef struct TreeInfo GraphicsDirTree;
typedef struct TreeInfo SoundsDirTree;
typedef struct TreeInfo MusicDirTree;
typedef struct TreeInfo GraphicsDirTree;
typedef struct TreeInfo SoundsDirTree;
typedef struct TreeInfo MusicDirTree;
@@
-383,9
+414,9
@@
struct ArtworkInfo
MusicDirTree *mus_first;
MusicDirTree *mus_current;
MusicDirTree *mus_first;
MusicDirTree *mus_current;
- char *graphics_set_current;
- char *sounds_set_current;
- char *music_set_current;
+ char *graphics_set_current
_name
;
+ char *sounds_set_current
_name
;
+ char *music_set_current
_name
;
};
};