X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fscreens.c;h=b97c44a134777973bdf98284cb50733a7e7728ee;hb=1150bdce04915bf329bd816307fb2507eba80e15;hp=eb550cb9406818e3951927ce27bd262067302109;hpb=6d639c557d602855b9866959445f3f5b5513d289;p=rocksndiamonds.git diff --git a/src/screens.c b/src/screens.c index eb550cb9..b97c44a1 100644 --- a/src/screens.c +++ b/src/screens.c @@ -60,7 +60,7 @@ void DrawHeadline() int x = SX + (SXSIZE - strlen(PROGRAM_TITLE_STRING) * FONT1_XSIZE) / 2; DrawText(x, SY + 8, PROGRAM_TITLE_STRING, FS_BIG, FC_YELLOW); - DrawTextFCentered(46, FC_RED, COPYRIGHT_STRING); + DrawTextFCentered(46, FC_RED, WINDOW_SUBTITLE_STRING); } void DrawMainMenu() @@ -84,6 +84,12 @@ void DrawMainMenu() /* needed if last screen was the editor screen */ UndrawSpecialEditorDoor(); + /* needed if last screen was the setup screen and fullscreen state changed */ + ChangeVideoModeIfNeeded(); +#ifdef TARGET_SDL + SetDrawtoField(DRAW_BACKBUFFER); +#endif + /* map gadgets for main menu screen */ MapTapeButtons(); @@ -327,7 +333,7 @@ void HandleMainMenu(int mx, int my, int dx, int dy, int button) if (setup.autorecord) TapeStartRecording(); -#ifndef MSDOS +#if defined(PLATFORM_UNIX) if (options.network) SendToServer_StartPlaying(); else @@ -822,15 +828,16 @@ void HandleTypeName(int newxpos, Key key) return; } - if (((key >= KEY_A && key <= KEY_Z) || (key >= KEY_a && key <= KEY_z)) && + if (((key >= KSYM_A && key <= KSYM_Z) || + (key >= KSYM_a && key <= KSYM_z)) && xpos < MAX_PLAYER_NAME_LEN) { char ascii; - if (key >= KEY_A && key <= KEY_Z) - ascii = 'A' + (char)(key - KEY_A); + if (key >= KSYM_A && key <= KSYM_Z) + ascii = 'A' + (char)(key - KSYM_A); else - ascii = 'a' + (char)(key - KEY_a); + ascii = 'a' + (char)(key - KSYM_a); setup.player_name[xpos] = ascii; setup.player_name[xpos + 1] = 0; @@ -841,14 +848,14 @@ void HandleTypeName(int newxpos, Key key) setup.player_name, FS_BIG, FC_YELLOW); DrawGraphic(xpos + 6, ypos, GFX_KUGEL_ROT); } - else if ((key == KEY_Delete || key == KEY_BackSpace) && xpos > 0) + else if ((key == KSYM_Delete || key == KSYM_BackSpace) && xpos > 0) { xpos--; setup.player_name[xpos] = 0; DrawGraphic(xpos + 6, ypos, GFX_KUGEL_ROT); DrawGraphic(xpos + 7, ypos, GFX_LEERRAUM); } - else if (key == KEY_Return && xpos > 0) + else if (key == KSYM_Return && xpos > 0) { DrawText(SX + 6*32, SY + ypos*32, setup.player_name, FS_BIG, FC_RED); DrawGraphic(xpos + 6, ypos, GFX_LEERRAUM); @@ -1036,7 +1043,7 @@ void HandleChooseLevel(int mx, int my, int dx, int dy, int button) else x = y = 0; /* no action */ - if (ABS(dy) == SCR_FIELDY) /* handle KEY_Page_Up, KEY_Page_Down */ + if (ABS(dy) == SCR_FIELDY) /* handle KSYM_Page_Up, KSYM_Page_Down */ { dy = SIGN(dy); step = num_page_entries - 1; @@ -1224,7 +1231,7 @@ void HandleHallOfFame(int mx, int my, int dx, int dy, int button) return; } - if (ABS(dy) == SCR_FIELDY) /* handle KEY_Page_Up, KEY_Page_Down */ + if (ABS(dy) == SCR_FIELDY) /* handle KSYM_Page_Up, KSYM_Page_Down */ step = MAX_LEVEL_SERIES_ON_SCREEN - 1; if (dy < 0) @@ -1283,7 +1290,10 @@ void DrawSetupScreen() #endif { &setup.scroll_delay, "Scroll Delay:" }, { &setup.soft_scrolling, "Soft Scroll.:" }, +#if 0 { &setup.fading, "Fading:" }, +#endif + { &setup.fullscreen, "Fullscreen:" }, { &setup.quick_doors, "Quick Doors:" }, { &setup.autorecord, "Auto-Record:" }, { &setup.team_mode, "Team-Mode:" }, @@ -1399,7 +1409,7 @@ void HandleSetupScreen(int mx, int my, int dx, int dy, int button) { int yy = y-1; - if (y==3 && sound_status==SOUND_AVAILABLE) + if (y == 3 && sysinfo.audio_available) { if (setup.sound) { @@ -1413,7 +1423,7 @@ void HandleSetupScreen(int mx, int my, int dx, int dy, int button) DrawText(SX+14*32, SY+yy*32,"on ",FS_BIG,FC_YELLOW); setup.sound = !setup.sound; } - else if (y==4 && sound_loops_allowed) + else if (y == 4 && sysinfo.audio_loops_available) { if (setup.sound_loops) DrawText(SX+14*32, SY+yy*32,"off",FS_BIG,FC_BLUE); @@ -1425,7 +1435,7 @@ void HandleSetupScreen(int mx, int my, int dx, int dy, int button) } setup.sound_loops = !setup.sound_loops; } - else if (y==5 && sound_loops_allowed) + else if (y == 5 && sysinfo.audio_loops_available) { if (setup.sound_music) DrawText(SX+14*32, SY+yy*32,"off",FS_BIG,FC_BLUE); @@ -1439,7 +1449,7 @@ void HandleSetupScreen(int mx, int my, int dx, int dy, int button) } #if 0 - else if (y==6) + else if (y == 6) { if (setup.toons) DrawText(SX+14*32, SY+yy*32,"off",FS_BIG,FC_BLUE); @@ -1447,7 +1457,7 @@ void HandleSetupScreen(int mx, int my, int dx, int dy, int button) DrawText(SX+14*32, SY+yy*32,"on ",FS_BIG,FC_YELLOW); setup.toons = !setup.toons; } - else if (y==7) + else if (y == 7) { #if 0 if (setup.double_buffering) @@ -1464,7 +1474,7 @@ void HandleSetupScreen(int mx, int my, int dx, int dy, int button) } #endif - else if (y==6) + else if (y == 6) { if (setup.scroll_delay) DrawText(SX+14*32, SY+yy*32,"off",FS_BIG,FC_BLUE); @@ -1472,7 +1482,7 @@ void HandleSetupScreen(int mx, int my, int dx, int dy, int button) DrawText(SX+14*32, SY+yy*32,"on ",FS_BIG,FC_YELLOW); setup.scroll_delay = !setup.scroll_delay; } - else if (y==7) + else if (y == 7) { if (setup.soft_scrolling) DrawText(SX+14*32, SY+yy*32,"off",FS_BIG,FC_BLUE); @@ -1480,7 +1490,8 @@ void HandleSetupScreen(int mx, int my, int dx, int dy, int button) DrawText(SX+14*32, SY+yy*32,"on ",FS_BIG,FC_YELLOW); setup.soft_scrolling = !setup.soft_scrolling; } - else if (y==8) +#if 0 + else if (y == 8) { if (setup.fading) DrawText(SX+14*32, SY+yy*32,"off",FS_BIG,FC_BLUE); @@ -1488,7 +1499,16 @@ void HandleSetupScreen(int mx, int my, int dx, int dy, int button) DrawText(SX+14*32, SY+yy*32,"on ",FS_BIG,FC_YELLOW); setup.fading = !setup.fading; } - else if (y==9) +#endif + else if (y == 8 && fullscreen_available) + { + if (setup.fullscreen) + DrawText(SX+14*32, SY+yy*32,"off",FS_BIG,FC_BLUE); + else + DrawText(SX+14*32, SY+yy*32,"on ",FS_BIG,FC_YELLOW); + setup.fullscreen = !setup.fullscreen; + } + else if (y == 9) { if (setup.quick_doors) DrawText(SX+14*32, SY+yy*32,"off",FS_BIG,FC_BLUE); @@ -1496,7 +1516,7 @@ void HandleSetupScreen(int mx, int my, int dx, int dy, int button) DrawText(SX+14*32, SY+yy*32,"on ",FS_BIG,FC_YELLOW); setup.quick_doors = !setup.quick_doors; } - else if (y==10) + else if (y == 10) { if (setup.autorecord) DrawText(SX+14*32, SY+yy*32,"off",FS_BIG,FC_BLUE); @@ -1504,7 +1524,7 @@ void HandleSetupScreen(int mx, int my, int dx, int dy, int button) DrawText(SX+14*32, SY+yy*32,"on ",FS_BIG,FC_YELLOW); setup.autorecord = !setup.autorecord; } - else if (y==11) + else if (y == 11) { if (setup.team_mode) DrawText(SX+14*32, SY+yy*32,"off",FS_BIG,FC_BLUE); @@ -1512,7 +1532,7 @@ void HandleSetupScreen(int mx, int my, int dx, int dy, int button) DrawText(SX+14*32, SY+yy*32,"on ",FS_BIG,FC_YELLOW); setup.team_mode = !setup.team_mode; } - else if (y==12) + else if (y == 12) { if (setup.handicap) DrawText(SX+14*32, SY+yy*32,"off",FS_BIG,FC_BLUE); @@ -1520,7 +1540,7 @@ void HandleSetupScreen(int mx, int my, int dx, int dy, int button) DrawText(SX+14*32, SY+yy*32,"on ",FS_BIG,FC_YELLOW); setup.handicap = !setup.handicap; } - else if (y==13) + else if (y == 13) { if (setup.time_limit) DrawText(SX+14*32, SY+yy*32,"off",FS_BIG,FC_BLUE); @@ -1528,7 +1548,7 @@ void HandleSetupScreen(int mx, int my, int dx, int dy, int button) DrawText(SX+14*32, SY+yy*32,"on ",FS_BIG,FC_YELLOW); setup.time_limit = !setup.time_limit; } - else if (y==14) + else if (y == 14) { game_status = SETUPINPUT; DrawSetupInputScreen(); @@ -1544,7 +1564,7 @@ void HandleSetupScreen(int mx, int my, int dx, int dy, int button) SaveJoystickData(); */ -#ifdef MSDOS +#if defined(PLATFORM_MSDOS) save_joystick_data(JOYSTICK_FILENAME); #endif @@ -1898,14 +1918,18 @@ void CustomizeKeyboard(int player_nr) { Key key = GetEventKey((KeyEvent *)&event, TRUE); - if (key == KEY_Escape || (key == KEY_Return && step_nr == 6)) + if (key == KSYM_Escape || (key == KSYM_Return && step_nr == 6)) { finished = TRUE; break; } + /* all keys configured -- wait for "Escape" or "Return" key */ + if (step_nr == 6) + break; + /* press 'Enter' to keep the existing key binding */ - if (key == KEY_Return || step_nr == 6) + if (key == KSYM_Return) key = *customize_step[step_nr].key; /* check if key already used */ @@ -1985,7 +2009,7 @@ void CalibrateJoystick(int player_nr) } joy_ctrl; #endif -#ifndef MSDOS +#if !defined(PLATFORM_MSDOS) int new_joystick_xleft = 128, new_joystick_xright = 128; int new_joystick_yupper = 128, new_joystick_ylower = 128; int new_joystick_xmiddle, new_joystick_ymiddle; @@ -2007,7 +2031,7 @@ void CalibrateJoystick(int player_nr) ClearWindow(); -#ifndef MSDOS +#if !defined(PLATFORM_MSDOS) DrawText(SX, SY + 6*32, " ROTATE JOYSTICK ", FS_BIG, FC_YELLOW); DrawText(SX, SY + 7*32, "IN ALL DIRECTIONS", FS_BIG, FC_YELLOW); DrawText(SX + 16, SY + 9*32, " IF ALL BALLS ", FS_BIG, FC_YELLOW); @@ -2062,12 +2086,12 @@ void CalibrateJoystick(int player_nr) case EVENT_KEYPRESS: switch(GetEventKey((KeyEvent *)&event, TRUE)) { - case KEY_Return: + case KSYM_Return: if (check_remaining == 0) result = 1; break; - case KEY_Escape: + case KSYM_Escape: result = 0; break; @@ -2086,9 +2110,9 @@ void CalibrateJoystick(int player_nr) } } -#ifndef MSDOS +#if !defined(PLATFORM_MSDOS) -#ifdef USE_SDL_LIBRARY +#if defined(TARGET_SDL) joy_ctrl.x = Get_SDL_Joystick_Axis(joystick_fd, 0); joy_ctrl.y = Get_SDL_Joystick_Axis(joystick_fd, 1); #else @@ -2125,7 +2149,7 @@ void CalibrateJoystick(int player_nr) { result = 1; -#ifdef MSDOS +#if defined(PLATFORM_MSDOS) if (calibration_step == 1) { remove_joystick(); @@ -2166,7 +2190,7 @@ void CalibrateJoystick(int player_nr) if (x != last_x || y != last_y) { -#ifndef MSDOS +#if !defined(PLATFORM_MSDOS) DrawGraphic(xpos + last_x, ypos + last_y, GFX_KUGEL_GELB); #else DrawGraphic(xpos + last_x, ypos + last_y, GFX_KUGEL_BLAU);