projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rnd-20070401-1-src
[rocksndiamonds.git]
/
src
/
tools.c
diff --git
a/src/tools.c
b/src/tools.c
index d3909d5eedbfff6901940af9c64a692d8481f1fc..9530644e204d1787fbe18e240867c44b5923b7e9 100644
(file)
--- a/
src/tools.c
+++ b/
src/tools.c
@@
-523,7
+523,11
@@
void FadeExt(int fade_mask, int fade_mode)
{
static int fade_mode_skip = FADE_MODE_NONE;
void (*draw_border_function)(void) = NULL;
{
static int fade_mode_skip = FADE_MODE_NONE;
void (*draw_border_function)(void) = NULL;
- Bitmap *bitmap = (fade_mode == FADE_MODE_CROSSFADE ? bitmap_db_cross : NULL);
+#if 0
+ Bitmap *bitmap = (fade_mode != FADE_MODE_FADE_IN ? bitmap_db_cross : NULL);
+#else
+ Bitmap *bitmap = (fade_mode & FADE_TYPE_TRANSFORM ? bitmap_db_cross : NULL);
+#endif
int x, y, width, height;
int fade_delay, post_delay;
int x, y, width, height;
int fade_delay, post_delay;
@@
-531,6
+535,10
@@
void FadeExt(int fade_mask, int fade_mode)
if (fade_mode & FADE_TYPE_SKIP)
{
if (fade_mode & FADE_TYPE_SKIP)
{
+#if 0
+ printf("::: will skip %d ... [%d]\n", fade_mode, fade_mode_skip);
+#endif
+
fade_mode_skip = fade_mode;
return;
fade_mode_skip = fade_mode;
return;
@@
-549,6
+557,11
@@
void FadeExt(int fade_mask, int fade_mode)
return;
}
return;
}
+#if 1
+ if (global.autoplay_leveldir)
+ fading.fade_mode = FADE_MODE_NONE;
+#endif
+
#if 1
if (fading.fade_mode == FADE_MODE_NONE)
return;
#if 1
if (fading.fade_mode == FADE_MODE_NONE)
return;
@@
-599,6
+612,14
@@
void FadeExt(int fade_mask, int fade_mode)
void FadeIn(int fade_mask)
{
void FadeIn(int fade_mask)
{
+#if 1
+ // printf("::: now fading in...\n");
+
+ if (fading.fade_mode & FADE_TYPE_TRANSFORM)
+ FadeExt(fade_mask, fading.fade_mode);
+ else
+ FadeExt(fade_mask, FADE_MODE_FADE_IN);
+#else
#if 1
if (fading.fade_mode == FADE_MODE_CROSSFADE)
FadeExt(fade_mask, FADE_MODE_CROSSFADE);
#if 1
if (fading.fade_mode == FADE_MODE_CROSSFADE)
FadeExt(fade_mask, FADE_MODE_CROSSFADE);
@@
-607,10
+628,19
@@
void FadeIn(int fade_mask)
#else
FadeExt(fade_mask, FADE_MODE_FADE_IN);
#endif
#else
FadeExt(fade_mask, FADE_MODE_FADE_IN);
#endif
+#endif
}
void FadeOut(int fade_mask)
{
}
void FadeOut(int fade_mask)
{
+#if 1
+ // printf("::: fading.fade_mode == %d\n", fading.fade_mode);
+
+ if (fading.fade_mode & FADE_TYPE_TRANSFORM)
+ FadeCrossSaveBackbuffer();
+ else
+ FadeExt(fade_mask, FADE_MODE_FADE_OUT);
+#else
#if 1
if (fading.fade_mode == FADE_MODE_CROSSFADE)
FadeCrossSaveBackbuffer();
#if 1
if (fading.fade_mode == FADE_MODE_CROSSFADE)
FadeCrossSaveBackbuffer();
@@
-619,6
+649,7
@@
void FadeOut(int fade_mask)
#else
FadeExt(fade_mask, FADE_MODE_FADE_OUT);
#endif
#else
FadeExt(fade_mask, FADE_MODE_FADE_OUT);
#endif
+#endif
}
void FadeCross(int fade_mask)
}
void FadeCross(int fade_mask)
@@
-631,25
+662,46
@@
void FadeCrossSaveBackbuffer()
BlitBitmap(backbuffer, bitmap_db_cross, 0, 0, WIN_XSIZE, WIN_YSIZE, 0, 0);
}
BlitBitmap(backbuffer, bitmap_db_cross, 0, 0, WIN_XSIZE, WIN_YSIZE, 0, 0);
}
+static void FadeSetLeaveNext(struct TitleFadingInfo fading_leave, boolean set)
+{
+ static struct TitleFadingInfo fading_leave_stored;
+
+ if (set)
+ fading_leave_stored = fading_leave;
+ else
+ fading = fading_leave_stored;
+}
+
void FadeSetEnterMenu()
{
fading = menu.enter_menu;
void FadeSetEnterMenu()
{
fading = menu.enter_menu;
+
+ FadeSetLeaveNext(fading, TRUE); /* (keep same fade mode) */
}
void FadeSetLeaveMenu()
{
fading = menu.leave_menu;
}
void FadeSetLeaveMenu()
{
fading = menu.leave_menu;
+
+ FadeSetLeaveNext(fading, TRUE); /* (keep same fade mode) */
}
}
-void FadeSet
StartItem
()
+void FadeSet
EnterScreen
()
{
{
- fading = menu.start_item;
+ fading = menu.enter_screen[game_status];
+
+ FadeSetLeaveNext(menu.leave_screen[game_status], TRUE); /* store */
+}
+
+void FadeSetLeaveScreen()
+{
+ FadeSetLeaveNext(menu.leave_screen[game_status], FALSE); /* recall */
}
void FadeSetFromType(int type)
{
if (type & TYPE_ENTER_SCREEN)
}
void FadeSetFromType(int type)
{
if (type & TYPE_ENTER_SCREEN)
- FadeSet
StartItem
();
+ FadeSet
EnterScreen
();
else if (type & TYPE_ENTER)
FadeSetEnterMenu();
else if (type & TYPE_LEAVE)
else if (type & TYPE_ENTER)
FadeSetEnterMenu();
else if (type & TYPE_LEAVE)
@@
-1781,15
+1833,29
@@
void getPreviewGraphicSource(int graphic, Bitmap **bitmap, int *x, int *y,
{
int width_mult, width_div;
int height_mult, height_div;
{
int width_mult, width_div;
int height_mult, height_div;
- } offset_calc[4] =
+#if 1
+ }
+ offset_calc[6] =
+#else
+ offset_calc[4] =
+#endif
{
{ 0, 1, 0, 1 },
{ 0, 1, 2, 3 },
{ 1, 2, 2, 3 },
{ 3, 4, 2, 3 },
{
{ 0, 1, 0, 1 },
{ 0, 1, 2, 3 },
{ 1, 2, 2, 3 },
{ 3, 4, 2, 3 },
+#if 1
+ { 7, 8, 2, 3 },
+ { 15, 16, 2, 3 },
+#endif
};
};
+#if 1
+ int offset_calc_pos = (tilesize < MICRO_TILESIZE / 4 ||
+ tilesize > TILESIZE ? 5 : 5 - log_2(tilesize));
+#else
int offset_calc_pos = (tilesize < MICRO_TILESIZE || tilesize > TILESIZE ? 3 :
5 - log_2(tilesize));
int offset_calc_pos = (tilesize < MICRO_TILESIZE || tilesize > TILESIZE ? 3 :
5 - log_2(tilesize));
+#endif
Bitmap *src_bitmap = graphic_info[graphic].bitmap;
int width_mult = offset_calc[offset_calc_pos].width_mult;
int width_div = offset_calc[offset_calc_pos].width_div;
Bitmap *src_bitmap = graphic_info[graphic].bitmap;
int width_mult = offset_calc[offset_calc_pos].width_mult;
int width_div = offset_calc[offset_calc_pos].width_div;