X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsystem.c;h=e77e6fe67bfede76ebdcf56b619f281172bea158;hb=1856b32b9d7b3c80596362cf7a3dd8e032cd83fc;hp=c1abb8a41ab1d11d7d43f34f5c128dea14694e99;hpb=3eeac0d62d19cbdd926ed329ffb70a3105a94d27;p=rocksndiamonds.git diff --git a/src/libgame/system.c b/src/libgame/system.c index c1abb8a4..e77e6fe6 100644 --- 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; } -void InitRuntimeInfo() +void InitRuntimeInfo(void) { #if defined(HAS_TOUCH_DEVICE) runtime.uses_touch_device = TRUE; @@ -624,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); - 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; @@ -938,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) { + if (program.headless) + return; + + if (src_bitmap == NULL || dst_bitmap == NULL) + return; + if (DrawingDeactivated(dst_x, dst_y)) return; @@ -1662,6 +1668,8 @@ void OpenAudio(void) 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; @@ -1835,6 +1843,28 @@ void PushUserEvent(int code, int value1, int value2) SDL_PushEvent((SDL_Event *)&event); } +void PushDropEvent(char *file) +{ + SDL_DropEvent event; + + SDL_memset(&event, 0, sizeof(event)); + + event.type = SDL_DROPBEGIN; + event.file = NULL; + + SDL_PushEvent((SDL_Event *)&event); + + event.type = SDL_DROPFILE; + event.file = getStringCopy(file); + + SDL_PushEvent((SDL_Event *)&event); + + event.type = SDL_DROPCOMPLETE; + event.file = NULL; + + SDL_PushEvent((SDL_Event *)&event); +} + boolean PendingEscapeKeyEvent(void) { if (PendingEvent())