projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rnd-20030406-1-src
[rocksndiamonds.git]
/
src
/
libgame
/
system.h
diff --git
a/src/libgame/system.h
b/src/libgame/system.h
index 9b914a8aadf64935a00ebe1c60c0617cb130d9d9..0474bc7570405d8d376bf3017db47ad7732a744b 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,9
@@
#define DEFAULT_DEPTH 0
#define DEFAULT_DEPTH 0
+#define BLIT_OPAQUE 0
+#define BLIT_MASKED 1
+
#define FULLSCREEN_NOT_AVAILABLE FALSE
#define FULLSCREEN_AVAILABLE TRUE
#define FULLSCREEN_NOT_AVAILABLE FALSE
#define FULLSCREEN_AVAILABLE TRUE
@@
-66,6
+66,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
+89,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
+103,7
@@
#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)
/* values for animation mode (frame order and direction) */
#define ANIM_NONE 0
#define ANIM_LOOP (1 << 0)
@@
-110,6
+113,7
@@
#define ANIM_RANDOM (1 << 4)
#define ANIM_REVERSE (1 << 5)
#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)
@@
-135,6
+139,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
@@
-156,6
+166,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))
@@
-240,7
+253,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 */
@@
-305,9
+318,12
@@
struct FontBitmapInfo
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 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
};
@@
-328,12
+344,15
@@
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;
int num_fonts;
struct FontBitmapInfo *font_bitmap_info;
int (*select_font_function)(int);
Bitmap *background_bitmap;
int background_bitmap_mask;
int num_fonts;
struct FontBitmapInfo *font_bitmap_info;
int (*select_font_function)(int);
+ Pixel inverse_text_color;
int anim_random_frame;
};
int anim_random_frame;
};
@@
-391,6
+410,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;
@@
-423,6
+448,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
@@
-621,15
+648,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);
@@
-645,6
+671,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);
@@
-674,6
+701,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);