projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added optional button to restart game (door, panel and touch variants)
[rocksndiamonds.git]
/
src
/
libgame
/
system.c
diff --git
a/src/libgame/system.c
b/src/libgame/system.c
index 7d1f5893d8d281c5b8b35ae84aa219d5ac7cdc93..c1abb8a41ab1d11d7d43f34f5c128dea14694e99 100644
(file)
--- a/
src/libgame/system.c
+++ b/
src/libgame/system.c
@@
-69,13
+69,14
@@
int FrameCounter = 0;
// init/close functions
// ============================================================================
// init/close functions
// ============================================================================
-void InitProgramInfo(char *argv0, char *config_filename, char *userdata_subdir,
+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 *program_basename, char *program_title,
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.config_filename = config_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;
@@
-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)
@@
-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)