projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rnd-20030411-1-src
[rocksndiamonds.git]
/
src
/
libgame
/
system.h
diff --git
a/src/libgame/system.h
b/src/libgame/system.h
index 72dbb28d46de2766ff0b1bf8360c3a8b88ec9630..8126eb0490a6d2e18d33135569430dfec1defda6 100644
(file)
--- a/
src/libgame/system.h
+++ b/
src/libgame/system.h
@@
-17,7
+17,12
@@
#include "platform.h"
#include "types.h"
#include "platform.h"
#include "types.h"
-#if defined(PLATFORM_MSDOS)
+
+#if defined(PLATFORM_MACOSX)
+#include "macosx.h"
+#elif defined(PLATFORM_WIN32)
+#include "windows.h"
+#elif defined(PLATFORM_MSDOS)
#include "msdos.h"
#endif
#include "msdos.h"
#endif
@@
-27,14
+32,6
@@
#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,6
+40,11
@@
#define DEFAULT_DEPTH 0
#define DEFAULT_DEPTH 0
+#define BLIT_OPAQUE 0
+#define BLIT_MASKED 1
+#define BLIT_INVERSE 2
+#define BLIT_ON_BACKGROUND 3
+
#define FULLSCREEN_NOT_AVAILABLE FALSE
#define FULLSCREEN_AVAILABLE TRUE
#define FULLSCREEN_NOT_AVAILABLE FALSE
#define FULLSCREEN_AVAILABLE TRUE
@@
-66,6
+68,7
@@
#define DEFAULT_KEY_LOAD_GAME KSYM_F2
#define DEFAULT_KEY_TOGGLE_PAUSE KSYM_space
#define DEFAULT_KEY_LOAD_GAME KSYM_F2
#define DEFAULT_KEY_TOGGLE_PAUSE KSYM_space
+
/* values for move directions and special "button" keys */
#define MV_BIT_LEFT 0
#define MV_BIT_RIGHT 1
/* values for move directions and special "button" keys */
#define MV_BIT_LEFT 0
#define MV_BIT_RIGHT 1
@@
-88,6
+91,7
@@
(x) == MV_RIGHT ? MV_BIT_RIGHT : \
(x) == MV_UP ? MV_BIT_UP : MV_BIT_DOWN)
(x) == MV_RIGHT ? MV_BIT_RIGHT : \
(x) == MV_UP ? MV_BIT_UP : MV_BIT_DOWN)
+
/* values for button status */
#define MB_NOT_PRESSED FALSE
#define MB_NOT_RELEASED TRUE
/* values for button status */
#define MB_NOT_PRESSED FALSE
#define MB_NOT_RELEASED TRUE
@@
-101,6
+105,17
@@
#define MB_MIDDLEBUTTON 2
#define MB_RIGHTBUTTON 3
#define MB_MIDDLEBUTTON 2
#define MB_RIGHTBUTTON 3
+
+/* values for animation mode (frame order and direction) */
+#define ANIM_NONE 0
+#define ANIM_LOOP (1 << 0)
+#define ANIM_LINEAR (1 << 1)
+#define ANIM_PINGPONG (1 << 2)
+#define ANIM_PINGPONG2 (1 << 3)
+#define ANIM_RANDOM (1 << 4)
+#define ANIM_REVERSE (1 << 5)
+
+
/* values for redraw_mask */
#define REDRAW_NONE (0)
#define REDRAW_ALL (1 << 0)
/* values for redraw_mask */
#define REDRAW_NONE (0)
#define REDRAW_ALL (1 << 0)
@@
-126,6
+141,12
@@
#define REDRAW_FPS (1 << 11)
#define REDRAWTILES_THRESHOLD (SCR_FIELDX * SCR_FIELDY / 2)
#define REDRAW_FPS (1 << 11)
#define REDRAWTILES_THRESHOLD (SCR_FIELDX * SCR_FIELDY / 2)
+
+/* values for mouse cursor */
+#define CURSOR_DEFAULT 0
+#define CURSOR_PLAYFIELD 1
+
+
/* 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
@@
-147,6
+168,9
@@
/* default value for undefined filename */
#define UNDEFINED_FILENAME "[NONE]"
/* default value for undefined filename */
#define UNDEFINED_FILENAME "[NONE]"
+/* default value for undefined parameter */
+#define ARG_DEFAULT "[DEFAULT]"
+
/* default values for undefined configuration file parameters */
#define ARG_UNDEFINED "-1000000"
#define ARG_UNDEFINED_VALUE (atoi(ARG_UNDEFINED))
/* default values for undefined configuration file parameters */
#define ARG_UNDEFINED "-1000000"
#define ARG_UNDEFINED_VALUE (atoi(ARG_UNDEFINED))
@@
-231,7
+255,7
@@
struct ProgramInfo
char *x11_icon_filename;
char *x11_iconmask_filename;
char *x11_icon_filename;
char *x11_iconmask_filename;
- char *msdos_
pointe
r_filename;
+ char *msdos_
curso
r_filename;
char *cookie_prefix;
char *filename_prefix; /* prefix to cut off from DOS filenames */
char *cookie_prefix;
char *filename_prefix; /* prefix to cut off from DOS filenames */
@@
-290,15
+314,18
@@
struct AudioSystemInfo
int first_sound_channel;
};
int first_sound_channel;
};
-struct FontInfo
+struct Font
Bitmap
Info
{
Bitmap *bitmap;
int src_x, src_y; /* start position of animation frames */
int width, height; /* width/height of each animation frame */
int draw_x, draw_y; /* offset for drawing font characters */
{
Bitmap *bitmap;
int src_x, src_y; /* start position of animation frames */
int width, height; /* width/height of each animation frame */
int draw_x, draw_y; /* offset for drawing font characters */
+ int num_chars;
+ int num_chars_per_line;
#if defined(TARGET_X11_NATIVE_PERFORMANCE_WORKAROUND)
Pixmap *clip_mask; /* single-char-only clip mask array for X11 */
#if defined(TARGET_X11_NATIVE_PERFORMANCE_WORKAROUND)
Pixmap *clip_mask; /* single-char-only clip mask array for X11 */
+ int last_num_chars; /* to free last font clip masks */
#endif
};
#endif
};
@@
-319,18
+346,16
@@
struct GfxInfo
int draw_deactivation_mask;
int draw_background_mask;
int draw_deactivation_mask;
int draw_background_mask;
+ Bitmap *field_save_buffer;
+
Bitmap *background_bitmap;
int background_bitmap_mask;
Bitmap *background_bitmap;
int background_bitmap_mask;
- boolean menu_main_hide_static_text;
-
int num_fonts;
int num_fonts;
- struct Font
Info *font
;
-
}
;
+ struct Font
BitmapInfo *font_bitmap_info
;
+
int (*select_font_function)(int)
;
-struct AnimInfo
-{
- int random_frame;
+ int anim_random_frame;
};
struct JoystickInfo
};
struct JoystickInfo
@@
-386,6
+411,12
@@
struct SetupShortcutInfo
Key toggle_pause;
};
Key toggle_pause;
};
+struct SetupSystemInfo
+{
+ char *sdl_audiodriver;
+ int audio_fragment_size;
+};
+
struct SetupInfo
{
char *player_name;
struct SetupInfo
{
char *player_name;
@@
-418,6
+449,8
@@
struct SetupInfo
struct SetupEditorInfo editor;
struct SetupShortcutInfo shortcut;
struct SetupInputInfo input[MAX_PLAYERS];
struct SetupEditorInfo editor;
struct SetupShortcutInfo shortcut;
struct SetupInputInfo input[MAX_PLAYERS];
+ struct SetupSystemInfo system;
+ struct OptionInfo options;
};
#define TREE_TYPE_GENERIC 0
};
#define TREE_TYPE_GENERIC 0
@@
-496,6
+529,12
@@
struct ArtworkInfo
char *mus_current_identifier;
};
char *mus_current_identifier;
};
+struct ValueTextInfo
+{
+ int value;
+ char *text;
+};
+
struct ConfigInfo
{
char *token;
struct ConfigInfo
{
char *token;
@@
-616,15
+655,14
@@
extern int FrameCounter;
/* function definitions */
/* function definitions */
-void InitCommandName(char *);
+void InitProgramInfo(char *, char *, char *, char *, char *, char *, char *,
+ char *, char *, char *, int);
+
void InitExitFunction(void (*exit_function)(int));
void InitPlatformDependantStuff(void);
void ClosePlatformDependantStuff(void);
void InitExitFunction(void (*exit_function)(int));
void InitPlatformDependantStuff(void);
void ClosePlatformDependantStuff(void);
-void InitProgramInfo(char *, char *, char *, char *, char *, char *, char *,
- char *, char *, int);
-
-void InitGfxFieldInfo(int, int, int, int, int, int, int, int);
+void InitGfxFieldInfo(int, int, int, int, int, int, int, int, Bitmap *);
void InitGfxDoor1Info(int, int, int, int);
void InitGfxDoor2Info(int, int, int, int);
void InitGfxScrollbufferInfo(int, int);
void InitGfxDoor1Info(int, int, int, int);
void InitGfxDoor2Info(int, int, int, int);
void InitGfxScrollbufferInfo(int, int);
@@
-640,6
+678,7
@@
inline Bitmap *CreateBitmapStruct(void);
inline Bitmap *CreateBitmap(int, int, int);
inline void FreeBitmap(Bitmap *);
inline void BlitBitmap(Bitmap *, Bitmap *, int, int, int, int, int, int);
inline Bitmap *CreateBitmap(int, int, int);
inline void FreeBitmap(Bitmap *);
inline void BlitBitmap(Bitmap *, Bitmap *, int, int, int, int, int, int);
+inline void FillRectangle(Bitmap *, int, int, int, int, Pixel);
inline void ClearRectangle(Bitmap *, int, int, int, int);
inline void ClearRectangleOnBackground(Bitmap *, int, int, int, int);
inline void SetClipMask(Bitmap *, GC, Pixmap);
inline void ClearRectangle(Bitmap *, int, int, int, int);
inline void ClearRectangleOnBackground(Bitmap *, int, int, int, int);
inline void SetClipMask(Bitmap *, GC, Pixmap);
@@
-669,6
+708,8
@@
void ReloadCustomImage(Bitmap *, char *);
Bitmap *ZoomBitmap(Bitmap *, int, int);
void CreateBitmapWithSmallBitmaps(Bitmap *);
Bitmap *ZoomBitmap(Bitmap *, int, int);
void CreateBitmapWithSmallBitmaps(Bitmap *);
+void SetMouseCursor(int);
+
inline void OpenAudio(void);
inline void CloseAudio(void);
inline void SetAudioMode(boolean);
inline void OpenAudio(void);
inline void CloseAudio(void);
inline void SetAudioMode(boolean);