projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
renamed another preprocessor constant
[rocksndiamonds.git]
/
src
/
libgame
/
system.c
diff --git
a/src/libgame/system.c
b/src/libgame/system.c
index 5a63172f72421e6c0fe58095bce1864945d636cb..a1f009f77c8470f5d0b7e0fcbe85eb97db53ecd0 100644
(file)
--- a/
src/libgame/system.c
+++ b/
src/libgame/system.c
@@
-121,7
+121,7
@@
void InitNetworkInfo(boolean enabled, boolean connected, boolean serveronly,
network.is_server_thread = FALSE;
}
network.is_server_thread = FALSE;
}
-void InitRuntimeInfo()
+void InitRuntimeInfo(
void
)
{
#if defined(HAS_TOUCH_DEVICE)
runtime.uses_touch_device = TRUE;
{
#if defined(HAS_TOUCH_DEVICE)
runtime.uses_touch_device = TRUE;
@@
-287,11
+287,16
@@
void InitGfxDrawGlobalBorderFunction(void (*draw_global_border_function)(int))
gfx.draw_global_border_function = draw_global_border_function;
}
gfx.draw_global_border_function = draw_global_border_function;
}
-void InitGfxDrawTileCursorFunction(void (*draw_tile_cursor_function)(int))
+void InitGfxDrawTileCursorFunction(void (*draw_tile_cursor_function)(int
, int
))
{
gfx.draw_tile_cursor_function = draw_tile_cursor_function;
}
{
gfx.draw_tile_cursor_function = draw_tile_cursor_function;
}
+void InitGfxDrawEnvelopeRequestFunction(void (*draw_envelope_request_function)(int))
+{
+ gfx.draw_envelope_request_function = draw_envelope_request_function;
+}
+
void InitGfxCustomArtworkInfo(void)
{
gfx.override_level_graphics = FALSE;
void InitGfxCustomArtworkInfo(void)
{
gfx.override_level_graphics = FALSE;
@@
-594,9
+599,22
@@
void FreeBitmap(Bitmap *bitmap)
free(bitmap);
}
free(bitmap);
}
+void ResetBitmapAlpha(Bitmap *bitmap)
+{
+ bitmap->alpha[0][0] = -1;
+ bitmap->alpha[0][1] = -1;
+ bitmap->alpha[1][0] = -1;
+ bitmap->alpha[1][1] = -1;
+ bitmap->alpha_next_blit = -1;
+}
+
Bitmap *CreateBitmapStruct(void)
{
Bitmap *CreateBitmapStruct(void)
{
- return checked_calloc(sizeof(Bitmap));
+ Bitmap *new_bitmap = checked_calloc(sizeof(Bitmap));
+
+ ResetBitmapAlpha(new_bitmap);
+
+ return new_bitmap;
}
Bitmap *CreateBitmap(int width, int height, int depth)
}
Bitmap *CreateBitmap(int width, int height, int depth)
@@
-606,7
+624,7
@@
Bitmap *CreateBitmap(int width, int height, int depth)
int real_height = MAX(1, height); // prevent zero bitmap height
int real_depth = GetRealDepth(depth);
int real_height = MAX(1, height); // prevent zero bitmap height
int real_depth = GetRealDepth(depth);
-
SDLCreateBitmapContent(new_bitmap,
real_width, real_height, real_depth);
+
new_bitmap->surface = SDLCreateNativeSurface(
real_width, real_height, real_depth);
new_bitmap->width = real_width;
new_bitmap->height = real_height;
new_bitmap->width = real_width;
new_bitmap->height = real_height;
@@
-767,6
+785,12
@@
static boolean InClippedRectangle(Bitmap *bitmap, int *x, int *y,
return TRUE;
}
return TRUE;
}
+void SetBitmapAlphaNextBlit(Bitmap *bitmap, int alpha)
+{
+ // set alpha value for next blitting of bitmap
+ bitmap->alpha_next_blit = alpha;
+}
+
void BlitBitmap(Bitmap *src_bitmap, Bitmap *dst_bitmap,
int src_x, int src_y, int width, int height,
int dst_x, int dst_y)
void BlitBitmap(Bitmap *src_bitmap, Bitmap *dst_bitmap,
int src_x, int src_y, int width, int height,
int dst_x, int dst_y)
@@
-914,6
+938,12
@@
void BlitBitmapMasked(Bitmap *src_bitmap, Bitmap *dst_bitmap,
int src_x, int src_y, int width, int height,
int dst_x, int dst_y)
{
int src_x, int src_y, int width, int height,
int dst_x, int dst_y)
{
+ if (program.headless)
+ return;
+
+ if (src_bitmap == NULL || dst_bitmap == NULL)
+ return;
+
if (DrawingDeactivated(dst_x, dst_y))
return;
if (DrawingDeactivated(dst_x, dst_y))
return;
@@
-1638,6
+1668,8
@@
void OpenAudio(void)
audio.device_name = NULL;
audio.device_fd = -1;
audio.device_name = NULL;
audio.device_fd = -1;
+ audio.sample_rate = DEFAULT_AUDIO_SAMPLE_RATE;
+
audio.num_channels = 0;
audio.music_channel = 0;
audio.first_sound_channel = 0;
audio.num_channels = 0;
audio.music_channel = 0;
audio.first_sound_channel = 0;