projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
changed drawing of global borders to more generic approach (again)
[rocksndiamonds.git]
/
src
/
libgame
/
system.h
diff --git
a/src/libgame/system.h
b/src/libgame/system.h
index 85ab383f89342e3c37d9297645e89c36362af49b..7e6bcc1f812150d0d2ea611f80951871f5be0b85 100644
(file)
--- a/
src/libgame/system.h
+++ b/
src/libgame/system.h
@@
-165,6
+165,14
@@
/* values for special "focus player" bitmasks */
#define BIT_SET_FOCUS 6
/* values for special "focus player" bitmasks */
#define BIT_SET_FOCUS 6
+/* values for drawing stages for global animations */
+#define DRAW_GLOBAL_ANIM_STAGE_1 1
+#define DRAW_GLOBAL_ANIM_STAGE_2 2
+
+/* values for drawing target for global border */
+#define DRAW_BORDER_TO_BACKBUFFER 0
+#define DRAW_BORDER_TO_SCREEN 1
+
/* values for move directions and special "button" key bitmasks */
#define MV_NONE 0
#define MV_LEFT (1 << MV_BIT_LEFT)
/* values for move directions and special "button" key bitmasks */
#define MV_NONE 0
#define MV_LEFT (1 << MV_BIT_LEFT)
@@
-221,6
+229,7
@@
MV_NONE)
/* values for animation mode (frame order and direction) */
MV_NONE)
/* values for animation mode (frame order and direction) */
+/* (stored in level files -- never change existing values) */
#define ANIM_NONE 0
#define ANIM_LOOP (1 << 0)
#define ANIM_LINEAR (1 << 1)
#define ANIM_NONE 0
#define ANIM_LOOP (1 << 0)
#define ANIM_LINEAR (1 << 1)
@@
-234,10
+243,13
@@
#define ANIM_OPAQUE_PLAYER (1 << 9)
/* values for special (non game element) animation modes */
#define ANIM_OPAQUE_PLAYER (1 << 9)
/* values for special (non game element) animation modes */
+/* (not stored in level files -- can be changed, if needed) */
#define ANIM_HORIZONTAL (1 << 10)
#define ANIM_VERTICAL (1 << 11)
#define ANIM_CENTERED (1 << 12)
#define ANIM_STATIC_PANEL (1 << 13)
#define ANIM_HORIZONTAL (1 << 10)
#define ANIM_VERTICAL (1 << 11)
#define ANIM_CENTERED (1 << 12)
#define ANIM_STATIC_PANEL (1 << 13)
+#define ANIM_ALL (1 << 14)
+#define ANIM_ONCE (1 << 15)
#define ANIM_DEFAULT ANIM_LOOP
#define ANIM_DEFAULT ANIM_LOOP
@@
-255,7
+267,8
@@
#define FADE_TYPE_TRANSFORM (1 << 2)
#define FADE_TYPE_CROSSFADE (1 << 3)
#define FADE_TYPE_MELT (1 << 4)
#define FADE_TYPE_TRANSFORM (1 << 2)
#define FADE_TYPE_CROSSFADE (1 << 3)
#define FADE_TYPE_MELT (1 << 4)
-#define FADE_TYPE_SKIP (1 << 5)
+#define FADE_TYPE_CURTAIN (1 << 5)
+#define FADE_TYPE_SKIP (1 << 6)
#define FADE_MODE_NONE (FADE_TYPE_NONE)
#define FADE_MODE_FADE_IN (FADE_TYPE_FADE_IN)
#define FADE_MODE_NONE (FADE_TYPE_NONE)
#define FADE_MODE_FADE_IN (FADE_TYPE_FADE_IN)
@@
-264,11
+277,23
@@
#define FADE_MODE_TRANSFORM (FADE_TYPE_TRANSFORM | FADE_TYPE_FADE_IN)
#define FADE_MODE_CROSSFADE (FADE_MODE_TRANSFORM | FADE_TYPE_CROSSFADE)
#define FADE_MODE_MELT (FADE_MODE_TRANSFORM | FADE_TYPE_MELT)
#define FADE_MODE_TRANSFORM (FADE_TYPE_TRANSFORM | FADE_TYPE_FADE_IN)
#define FADE_MODE_CROSSFADE (FADE_MODE_TRANSFORM | FADE_TYPE_CROSSFADE)
#define FADE_MODE_MELT (FADE_MODE_TRANSFORM | FADE_TYPE_MELT)
+#define FADE_MODE_CURTAIN (FADE_MODE_TRANSFORM | FADE_TYPE_CURTAIN)
#define FADE_MODE_SKIP_FADE_IN (FADE_TYPE_SKIP | FADE_TYPE_FADE_IN)
#define FADE_MODE_SKIP_FADE_OUT (FADE_TYPE_SKIP | FADE_TYPE_FADE_OUT)
#define FADE_MODE_DEFAULT FADE_MODE_FADE
#define FADE_MODE_SKIP_FADE_IN (FADE_TYPE_SKIP | FADE_TYPE_FADE_IN)
#define FADE_MODE_SKIP_FADE_OUT (FADE_TYPE_SKIP | FADE_TYPE_FADE_OUT)
#define FADE_MODE_DEFAULT FADE_MODE_FADE
+/* values for toon positions */
+#define POS_UNDEFINED -1
+#define POS_LEFT 0
+#define POS_RIGHT 1
+#define POS_TOP 2
+#define POS_UPPER 3
+#define POS_MIDDLE 4
+#define POS_LOWER 5
+#define POS_BOTTOM 6
+#define POS_ANY 7
+
/* values for text alignment */
#define ALIGN_LEFT (1 << 0)
#define ALIGN_RIGHT (1 << 1)
/* values for text alignment */
#define ALIGN_LEFT (1 << 0)
#define ALIGN_RIGHT (1 << 1)
@@
-655,7
+680,6
@@
struct ProgramInfo
char *maindata_path; /* main game data (installation) directory */
char *userdata_subdir; /* personal user game data directory */
char *maindata_path; /* main game data (installation) directory */
char *userdata_subdir; /* personal user game data directory */
- char *userdata_subdir_unix; /* personal user game data directory (Unix) */
char *userdata_path; /* resulting full path to game data directory */
char *program_title;
char *userdata_path; /* resulting full path to game data directory */
char *program_title;
@@
-786,13
+810,21
@@
struct GfxInfo
int draw_deactivation_mask;
int draw_background_mask;
int draw_deactivation_mask;
int draw_background_mask;
- boolean drawing_area_changed;
-
Bitmap *field_save_buffer;
Bitmap *background_bitmap;
int background_bitmap_mask;
Bitmap *field_save_buffer;
Bitmap *background_bitmap;
int background_bitmap_mask;
+ Bitmap *fade_bitmap_source;
+ Bitmap *fade_bitmap_target;
+ Bitmap *fade_bitmap_black;
+
+ Bitmap *masked_border_bitmap_ptr;
+
+#if USE_FINAL_SCREEN_BITMAP
+ Bitmap *final_screen_bitmap;
+#endif
+
boolean clipping_enabled;
int clip_x, clip_y;
int clip_width, clip_height;
boolean clipping_enabled;
int clip_x, clip_y;
int clip_width, clip_height;
@@
-811,6
+843,8
@@
struct GfxInfo
int anim_random_frame;
void (*draw_busy_anim_function)(void);
int anim_random_frame;
void (*draw_busy_anim_function)(void);
+ void (*draw_global_anim_function)(int);
+ void (*draw_global_border_function)(int);
int cursor_mode;
};
int cursor_mode;
};
@@
-947,6
+981,9
@@
struct SetupInternalInfo
char *default_level_series;
char *default_level_series;
+ int default_window_width;
+ int default_window_height;
+
boolean choose_from_top_leveldir;
};
boolean choose_from_top_leveldir;
};
@@
-982,6
+1019,7
@@
struct SetupInfo
int game_frame_delay;
boolean sp_show_border_elements;
boolean small_game_graphics;
int game_frame_delay;
boolean sp_show_border_elements;
boolean small_game_graphics;
+ boolean show_snapshot_buttons;
char *graphics_set;
char *sounds_set;
char *graphics_set;
char *sounds_set;
@@
-1287,7
+1325,7
@@
extern int FrameCounter;
/* function definitions */
void InitProgramInfo(char *, char *, char *, char *, char *, char *, char *,
/* function definitions */
void InitProgramInfo(char *, char *, char *, char *, char *, char *, char *,
-
char *,
int);
+ int);
void SetWindowTitle();
void SetWindowTitle();
@@
-1306,6
+1344,8
@@
void InitGfxWindowInfo(int, int);
void InitGfxScrollbufferInfo(int, int);
void InitGfxClipRegion(boolean, int, int, int, int);
void InitGfxDrawBusyAnimFunction(void (*draw_busy_anim_function)(void));
void InitGfxScrollbufferInfo(int, int);
void InitGfxClipRegion(boolean, int, int, int, int);
void InitGfxDrawBusyAnimFunction(void (*draw_busy_anim_function)(void));
+void InitGfxDrawGlobalAnimFunction(void (*draw_global_anim_function)(int));
+void InitGfxDrawGlobalBorderFunction(void (*draw_global_border_function)(int));
void InitGfxCustomArtworkInfo();
void InitGfxOtherSettings();
void SetDrawDeactivationMask(int);
void InitGfxCustomArtworkInfo();
void InitGfxOtherSettings();
void SetDrawDeactivationMask(int);
@@
-1313,6
+1353,7
@@
void SetDrawBackgroundMask(int);
void SetWindowBackgroundBitmap(Bitmap *);
void SetMainBackgroundBitmap(Bitmap *);
void SetDoorBackgroundBitmap(Bitmap *);
void SetWindowBackgroundBitmap(Bitmap *);
void SetMainBackgroundBitmap(Bitmap *);
void SetDoorBackgroundBitmap(Bitmap *);
+void SetRedrawMaskFromArea(int, int, int, int);
void LimitScreenUpdates(boolean);
void LimitScreenUpdates(boolean);
@@
-1334,6
+1375,10
@@
void BlitBitmapMasked(Bitmap *, Bitmap *, int, int, int, int, int, int);
boolean DrawingOnBackground(int, int);
boolean DrawingAreaChanged();
void BlitBitmapOnBackground(Bitmap *, Bitmap *, int, int, int, int, int, int);
boolean DrawingOnBackground(int, int);
boolean DrawingAreaChanged();
void BlitBitmapOnBackground(Bitmap *, Bitmap *, int, int, int, int, int, int);
+void BlitTexture(Bitmap *, int, int, int, int, int, int);
+void BlitTextureMasked(Bitmap *, int, int, int, int, int, int);
+void BlitToScreen(Bitmap *, int, int, int, int, int, int);
+void BlitToScreenMasked(Bitmap *, int, int, int, int, int, int);
void DrawSimpleBlackLine(Bitmap *, int, int, int, int);
void DrawSimpleWhiteLine(Bitmap *, int, int, int, int);
void DrawLines(Bitmap *, struct XY *, int, Pixel);
void DrawSimpleBlackLine(Bitmap *, int, int, int, int);
void DrawSimpleWhiteLine(Bitmap *, int, int, int, int);
void DrawLines(Bitmap *, struct XY *, int, Pixel);
@@
-1353,6
+1398,8
@@
void ReloadCustomImage(Bitmap *, char *);
Bitmap *ZoomBitmap(Bitmap *, int, int);
void ReCreateGameTileSizeBitmap(Bitmap **);
void CreateBitmapWithSmallBitmaps(Bitmap **, int, int);
Bitmap *ZoomBitmap(Bitmap *, int, int);
void ReCreateGameTileSizeBitmap(Bitmap **);
void CreateBitmapWithSmallBitmaps(Bitmap **, int, int);
+void CreateBitmapTextures(Bitmap **);
+void FreeBitmapTextures(Bitmap **);
void ScaleBitmap(Bitmap **, int);
void SetMouseCursor(int);
void ScaleBitmap(Bitmap **, int);
void SetMouseCursor(int);