X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fscreens.c;h=079745e98a5cb7d0a2e98b1bf1ddcb8e927d8978;hb=aca666256c715771b11d3277e10ff971aea44af8;hp=c7fd1da47d3774cfab6204228677651904eccde9;hpb=8c3a8e72f2bebc6a732f11cac24a4f3ca21dd730;p=rocksndiamonds.git diff --git a/src/screens.c b/src/screens.c index c7fd1da4..079745e9 100644 --- a/src/screens.c +++ b/src/screens.c @@ -201,13 +201,8 @@ static void PlayMenuMusic() void DrawHeadline() { - int text1_width = getTextWidth(PROGRAM_TITLE_STRING, FONT_TITLE_1); - int text2_width = getTextWidth(PROGRAM_COPYRIGHT_STRING, FONT_TITLE_2); - int x1 = SX + (SXSIZE - text1_width) / 2; - int x2 = SX + (SXSIZE - text2_width) / 2; - - DrawText(x1, SY + 8, PROGRAM_TITLE_STRING, FONT_TITLE_1); - DrawText(x2, SY + 46, PROGRAM_COPYRIGHT_STRING, FONT_TITLE_2); + DrawTextSCentered(8, FONT_TITLE_1, PROGRAM_TITLE_STRING); + DrawTextSCentered(46, FONT_TITLE_2, PROGRAM_COPYRIGHT_STRING); } static void ToggleFullscreenIfNeeded() @@ -238,8 +233,7 @@ void DrawMainMenu() { static LevelDirTree *leveldir_last_valid = NULL; char *name_text = (!options.network && setup.team_mode ? "Team:" : "Name:"); - int name_width = getTextWidth("Name:", FONT_MENU_1); - int level_width = getTextWidth("Level:", FONT_MENU_1); + int name_width, level_width; int i; UnmapAllGadgets(); @@ -306,6 +300,10 @@ void DrawMainMenu() DrawText(mSX + 32, mSY + 8*32, "Setup", FONT_MENU_1); DrawText(mSX + 32, mSY + 9*32, "Quit", FONT_MENU_1); + /* calculated after (possible) reload of custom artwork */ + name_width = getTextWidth(name_text, FONT_MENU_1); + level_width = getTextWidth("Level:", FONT_MENU_1); + DrawText(mSX + 32 + name_width, mSY + 2*32, setup.player_name, FONT_INPUT_1); DrawText(mSX + level_width + 5 * 32, mSY + 3*32, int2str(level_nr,3), FONT_VALUE_1); @@ -330,7 +328,7 @@ void DrawMainMenu() drawCursorXY(level_width/32 + 4, 1, IMG_MENU_BUTTON_LEFT); drawCursorXY(level_width/32 + 8, 1, IMG_MENU_BUTTON_RIGHT); - DrawText(SX + 56, SY + 326, "A Game by Artsoft Entertainment", FONT_TITLE_2); + DrawTextSCentered(326, FONT_TITLE_2, "A Game by Artsoft Entertainment"); FadeToFront(); InitAnimation(); @@ -996,6 +994,10 @@ void HandleInfoScreen_Music(int button) { int y = 0; + if (button != MB_MENU_INITIALIZE) + if (list != NULL) + list = list->next; + if (list == NULL) { info_mode = INFO_MODE_MAIN; @@ -1011,7 +1013,12 @@ void HandleInfoScreen_Music(int button) if (list->is_sound) { - PlaySound(list->music); + int sound = list->music; + + if (sound_info[sound].loop) + PlaySoundLoop(sound); + else + PlaySound(sound); DrawTextSCentered(100, FONT_TEXT_1, "The Game Background Sounds:"); } @@ -1062,9 +1069,10 @@ void HandleInfoScreen_Music(int button) DrawTextSCentered(ybottom, FONT_TEXT_4, "Press any key or button for next page"); - - list = list->next; } + + if (list != NULL && list->is_sound && sound_info[list->music].loop) + PlaySoundLoop(list->music); } void DrawInfoScreen_Credits() @@ -1944,7 +1952,9 @@ static struct TokenInfo setup_info_game[] = static struct TokenInfo setup_info_editor[] = { +#if 0 { TYPE_STRING, NULL, "Offer Special Elements:"}, +#endif { TYPE_SWITCH, &setup.editor.el_boulderdash, "BoulderDash:" }, { TYPE_SWITCH, &setup.editor.el_emerald_mine, "Emerald Mine:" }, { TYPE_SWITCH, &setup.editor.el_more, "More:" }, @@ -2200,8 +2210,14 @@ static void DrawSetupScreen_Generic() (value_ptr == &setup.fullscreen && !video.fullscreen_available)) setup_info[i].type |= TYPE_GHOSTED; +#if 0 + if (setup_info[i].type & TYPE_STRING || + (setup_info[i].type & TYPE_SWITCH && setup_mode == SETUP_MODE_EDITOR)) + font_nr = FONT_MENU_2; +#else if (setup_info[i].type & TYPE_STRING) font_nr = FONT_MENU_2; +#endif DrawText(mSX + 32, mSY + ypos * 32, setup_info[i].text, font_nr);