network.is_server_thread = FALSE;
}
-void InitRuntimeInfo()
+void InitRuntimeInfo(void)
{
#if defined(HAS_TOUCH_DEVICE)
runtime.uses_touch_device = TRUE;
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;
}
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)
{
- 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)
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;
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)
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;
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;