* screens.c *
***********************************************************/
+#include "libgame/libgame.h"
+
#include "screens.h"
#include "events.h"
-#include "sound.h"
#include "game.h"
#include "tools.h"
#include "editor.h"
-#include "misc.h"
#include "files.h"
-#include "buttons.h"
#include "tape.h"
#include "joystick.h"
#include "cartoons.h"
UndrawSpecialEditorDoor();
/* needed if last screen was the setup screen and fullscreen state changed */
- ChangeVideoModeIfNeeded();
+ setup.fullscreen = ChangeVideoModeIfNeeded(setup.fullscreen);
+#ifdef TARGET_SDL
+ SetDrawtoField(DRAW_BACKBUFFER);
+#endif
/* map gadgets for main menu screen */
MapTapeButtons();
level_nr = new_level_nr;
- DrawTextExt(drawto, gc, SX + 11 * 32, SY + 3 * 32,
+ DrawTextExt(drawto, SX + 11 * 32, SY + 3 * 32,
int2str(level_nr, 3), FS_BIG, font_color);
- DrawTextExt(window, gc, SX + 11 * 32, SY + 3 * 32,
+ DrawTextExt(window, SX + 11 * 32, SY + 3 * 32,
int2str(level_nr, 3), FS_BIG, font_color);
LoadLevel(level_nr);
if (setup.autorecord)
TapeStartRecording();
-#if !defined(MSDOS) && !defined(WIN32)
+#if defined(PLATFORM_UNIX)
if (options.network)
SendToServer_StartPlaying();
else
}
j++;
- DrawGraphicExt(drawto, gc, xstart, ystart+(i-start)*ystep, graphic+frame);
+ DrawGraphicExt(drawto, xstart, ystart+(i-start)*ystep, graphic+frame);
i++;
}
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;
xpos++;
- DrawTextExt(drawto, gc, SX + 6*32, SY + ypos*32,
+ DrawTextExt(drawto, SX + 6*32, SY + ypos*32,
setup.player_name, FS_BIG, FC_YELLOW);
- DrawTextExt(window, gc, SX + 6*32, SY + ypos*32,
+ DrawTextExt(window, SX + 6*32, SY + ypos*32,
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);
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;
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)
{
int yy = y-1;
- if (y==3 && sound_status==SOUND_AVAILABLE)
+ if (y == 3 && audio.sound_available)
{
if (setup.sound)
{
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 && audio.loops_available)
{
if (setup.sound_loops)
DrawText(SX+14*32, SY+yy*32,"off",FS_BIG,FC_BLUE);
}
setup.sound_loops = !setup.sound_loops;
}
- else if (y==5 && sound_loops_allowed)
+ else if (y == 5 && audio.loops_available)
{
if (setup.sound_music)
DrawText(SX+14*32, SY+yy*32,"off",FS_BIG,FC_BLUE);
}
#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);
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)
}
#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);
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);
setup.soft_scrolling = !setup.soft_scrolling;
}
#if 0
- else if (y==8)
+ else if (y == 8)
{
if (setup.fading)
DrawText(SX+14*32, SY+yy*32,"off",FS_BIG,FC_BLUE);
setup.fading = !setup.fading;
}
#endif
- else if (y==8 && fullscreen_available)
+ else if (y == 8 && video.fullscreen_available)
{
if (setup.fullscreen)
DrawText(SX+14*32, SY+yy*32,"off",FS_BIG,FC_BLUE);
DrawText(SX+14*32, SY+yy*32,"on ",FS_BIG,FC_YELLOW);
setup.fullscreen = !setup.fullscreen;
}
- else if (y==9)
+ else if (y == 9)
{
if (setup.quick_doors)
DrawText(SX+14*32, SY+yy*32,"off",FS_BIG,FC_BLUE);
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);
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);
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);
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);
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();
SaveJoystickData();
*/
-#ifdef MSDOS
+#if defined(PLATFORM_MSDOS)
save_joystick_data(JOYSTICK_FILENAME);
#endif
{
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;
break;
/* press 'Enter' to keep the existing key binding */
- if (key == KEY_Return)
+ if (key == KSYM_Return)
key = *customize_step[step_nr].key;
/* check if key already used */
} 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;
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);
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;
}
}
-#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
{
result = 1;
-#ifdef MSDOS
+#if defined(PLATFORM_MSDOS)
if (calibration_step == 1)
{
remove_joystick();
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);