X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ftools.c;h=c1509c1d09d81bd4a49a3a7a6a09432a49e125a6;hb=83542c237bd00dad76dcd103e0343d648418e765;hp=f730529956853b6397486378f7b5f956c80017d3;hpb=8758e1099fab693460be47636e56c779fceec08b;p=rocksndiamonds.git diff --git a/src/tools.c b/src/tools.c index f7305299..c1509c1d 100644 --- a/src/tools.c +++ b/src/tools.c @@ -242,8 +242,7 @@ void DrawMaskedBorder_ALL() void DrawMaskedBorder(int redraw_mask) { /* do not draw masked screen borders when displaying title screens */ - if (effectiveGameStatus() == GAME_MODE_TITLE || - effectiveGameStatus() == GAME_MODE_MESSAGE) + if (effectiveGameStatus() == GAME_MODE_TITLE) return; if (redraw_mask & REDRAW_ALL) @@ -546,8 +545,8 @@ void FadeExt(int fade_mask, int fade_mode) width = WIN_XSIZE; height = WIN_YSIZE; - fade_delay = title.fade_delay_final; - post_delay = (fade_mode == FADE_MODE_FADE_OUT ? title.post_delay_final : 0); + fade_delay = title.fade_delay; + post_delay = (fade_mode == FADE_MODE_FADE_OUT ? title.post_delay : 0); } redraw_mask |= fade_mask; @@ -1766,7 +1765,7 @@ static void DrawPreviewLevelExt(int from_x, int from_y) int real_preview_xsize = MIN(level_xsize, preview.xsize); int real_preview_ysize = MIN(level_ysize, preview.ysize); int dst_x = SX + ALIGNED_XPOS(preview.x, preview_width, preview.align); - int dst_y = SY + preview.y; + int dst_y = SY + ALIGNED_YPOS(preview.y, preview_height, preview.valign); int x, y; DrawBackground(dst_x, dst_y, preview_width, preview_height); @@ -1820,6 +1819,15 @@ static void DrawPreviewLevelLabelExt(int mode) struct TextPosInfo *pos = &menu.main.text.level_info_2; char label_text[MAX_OUTPUT_LINESIZE + 1]; int max_len_label_text; +#if 1 + int font_nr = pos->font; + int i; + + if (mode == MICROLABEL_LEVEL_AUTHOR_HEAD || + mode == MICROLABEL_IMPORTED_FROM_HEAD || + mode == MICROLABEL_IMPORTED_BY_HEAD) + font_nr = pos->font_alt; +#else int font_nr = FONT_TEXT_2; int i; @@ -1827,6 +1835,7 @@ static void DrawPreviewLevelLabelExt(int mode) mode == MICROLABEL_IMPORTED_FROM_HEAD || mode == MICROLABEL_IMPORTED_BY_HEAD) font_nr = FONT_TEXT_3; +#endif #if 1 max_len_label_text = getMaxTextLength(pos, font_nr); @@ -1893,8 +1902,10 @@ void DrawPreviewLevel(boolean restart) int level_ysize = lev_fieldy + (show_level_border ? 2 : 0); int last_game_status = game_status; /* save current game status */ +#if 0 /* force PREVIEW font on preview level */ game_status = GAME_MODE_PSEUDO_PREVIEW; +#endif if (restart) { @@ -1927,7 +1938,11 @@ void DrawPreviewLevel(boolean restart) { struct TextPosInfo *pos = &menu.main.text.level_info_1; char label_text[MAX_OUTPUT_LINESIZE + 1]; +#if 1 + int font_nr = pos->font; +#else int font_nr = FONT_TEXT_1; +#endif #if 1 int max_len_label_text = getMaxTextLength(pos, font_nr); #else @@ -2610,7 +2625,7 @@ boolean Request(char *text, unsigned int req_state) /* clear door drawing field */ DrawBackground(DX, DY, DXSIZE, DYSIZE); - /* force DOOR font on preview level */ + /* force DOOR font inside door area */ game_status = GAME_MODE_PSEUDO_DOOR; /* write text for request */ @@ -5736,7 +5751,8 @@ void ResetGfxAnimation_EM(int x, int y, int tile) } void getGraphicSourceObjectExt_EM(int tile, int frame_em, - Bitmap **src_bitmap, int *src_x, int *src_y) + Bitmap **src_bitmap, int *src_x, int *src_y, + int x, int y) { int element = object_mapping[tile].element_rnd; int action = object_mapping[tile].action; @@ -5760,6 +5776,8 @@ void getGraphicSourceObjectExt_EM(int tile, int frame_em, else sync_frame = 7 - frame_em; + SetRandomAnimationValue(x, y); + int frame = getAnimationFrame(g->anim_frames, g->anim_delay, g->anim_mode, @@ -6427,10 +6445,8 @@ void InitGraphicInfo_EM(void) #endif } -void PlayMenuSound() +void PlayMenuSoundExt(int sound) { - int sound = menu.sound[game_status]; - if (sound == SND_UNDEFINED) return; @@ -6444,6 +6460,11 @@ void PlayMenuSound() PlaySound(sound); } +void PlayMenuSound() +{ + PlayMenuSoundExt(menu.sound[game_status]); +} + void PlayMenuSoundStereo(int sound, int stereo_position) { if (sound == SND_UNDEFINED) @@ -6459,10 +6480,8 @@ void PlayMenuSoundStereo(int sound, int stereo_position) PlaySoundStereo(sound, stereo_position); } -void PlayMenuSoundIfLoop() +void PlayMenuSoundIfLoopExt(int sound) { - int sound = menu.sound[game_status]; - if (sound == SND_UNDEFINED) return; @@ -6474,10 +6493,13 @@ void PlayMenuSoundIfLoop() PlaySoundLoop(sound); } -void PlayMenuMusic() +void PlayMenuSoundIfLoop() { - int music = menu.music[game_status]; + PlayMenuSoundIfLoopExt(menu.sound[game_status]); +} +void PlayMenuMusicExt(int music) +{ if (music == MUS_UNDEFINED) return; @@ -6487,6 +6509,11 @@ void PlayMenuMusic() PlayMusic(music); } +void PlayMenuMusic() +{ + PlayMenuMusicExt(menu.music[game_status]); +} + void PlaySoundActivating() { #if 0