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 1b2a41f46679848cd852454466cabcfd5252fdd2..a1f009f77c8470f5d0b7e0fcbe85eb97db53ecd0 100644
(file)
--- a/
src/libgame/system.c
+++ b/
src/libgame/system.c
@@
-69,22
+69,23
@@
int FrameCounter = 0;
// init/close functions
// ============================================================================
// init/close functions
// ============================================================================
-void InitProgramInfo(char *argv0, char *config_filename, char *userdata_subdir,
- char *program_title, char *icon_title,
+void InitProgramInfo(char *command_filename,
+ char *config_filename, char *userdata_subdir,
+ char *program_basename, char *program_title,
char *icon_filename, char *cookie_prefix,
char *program_version_string, int program_version)
{
char *icon_filename, char *cookie_prefix,
char *program_version_string, int program_version)
{
- program.command_basepath = getBasePath(
argv0
);
- program.command_basename = getBaseName(
argv0
);
+ program.command_basepath = getBasePath(
command_filename
);
+ program.command_basename = getBaseName(
command_filename
);
program.config_filename = config_filename;
program.userdata_subdir = userdata_subdir;
program.userdata_path = getMainUserGameDataDir();
program.config_filename = config_filename;
program.userdata_subdir = userdata_subdir;
program.userdata_path = getMainUserGameDataDir();
+ program.program_basename = program_basename;
program.program_title = program_title;
program.window_title = "(undefined)";
program.program_title = program_title;
program.window_title = "(undefined)";
- program.icon_title = icon_title;
program.icon_filename = icon_filename;
program.icon_filename = icon_filename;
@@
-98,10
+99,8
@@
void InitProgramInfo(char *argv0, char *config_filename, char *userdata_subdir,
program.version_string = program_version_string;
program.version_string = program_version_string;
- program.log_filename[LOG_OUT_ID] = getLogFilename(LOG_OUT_BASENAME);
- program.log_filename[LOG_ERR_ID] = getLogFilename(LOG_ERR_BASENAME);
- program.log_file[LOG_OUT_ID] = program.log_file_default[LOG_OUT_ID] = stdout;
- program.log_file[LOG_ERR_ID] = program.log_file_default[LOG_ERR_ID] = stderr;
+ program.log_filename = getLogFilename(getLogBasename(program_basename));
+ program.log_file = program.log_file_default = stdout;
program.api_thread_count = 0;
program.api_thread_count = 0;
@@
-122,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;
@@
-169,7
+168,7
@@
void InitPlatformDependentStuff(void)
// this is initialized in GetOptions(), but may already be used before
options.verbose = TRUE;
// this is initialized in GetOptions(), but may already be used before
options.verbose = TRUE;
- OpenLogFile
s
();
+ OpenLogFile();
int sdl_init_flags = SDL_INIT_EVENTS | SDL_INIT_NOPARACHUTE;
int sdl_init_flags = SDL_INIT_EVENTS | SDL_INIT_NOPARACHUTE;
@@
-181,7
+180,7
@@
void InitPlatformDependentStuff(void)
void ClosePlatformDependentStuff(void)
{
void ClosePlatformDependentStuff(void)
{
- CloseLogFile
s
();
+ CloseLogFile();
}
void InitGfxFieldInfo(int sx, int sy, int sxsize, int sysize,
}
void InitGfxFieldInfo(int sx, int sy, int sxsize, int sysize,
@@
-288,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;
@@
-595,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)
@@
-607,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;
@@
-768,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)
@@
-915,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;
@@
-1639,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;