commit 1430facdb3ae25a92d515bc1daf71c860ef20f1e
Merge: 42445b60 f30f390e
Author: Simon Howard <fraggle@soulsphere.org>
AuthorDate: Thu Jun 4 21:07:07 2015 -0400
Commit: Simon Howard <fraggle@soulsphere.org>
CommitDate: Thu Jun 4 21:07:07 2015 -0400
Merge branch 'master' into sdl2-branch
Conflicts:
src/i_video.c
src/setup/display.c
textscreen/txt_sdl.c
HACKING | 13 +-
NEWS | 115 +++
PHILOSOPHY | 32 +-
codeblocks/doom.cbp | 3 +
configure.ac | 2 +-
data/Makefile.am | 4 +-
man/Makefile.am | 98 ++-
man/chocolate-server.6 | 2 +-
man/docgen | 2 +
man/environ.man | 2 +-
opl/examples/Makefile.am | 2 +-
opl/examples/droplay.c | 1 +
opl/opl.c | 82 +-
opl/opl.h | 6 +-
opl/opl_sdl.c | 41 +-
src/Makefile.am | 6 +-
src/aes_prng.c | 1717 +++++++++++++++++-------------------
src/d_iwad.c | 6 +-
src/d_loop.c | 27 +-
src/deh_io.c | 6 +-
src/doom.desktop.in | 1 +
src/doom/Makefile.am | 2 +-
src/doom/d_main.c | 36 +-
src/doom/d_player.h | 2 +-
src/doom/doom.desktop.in | 7 -
src/doom/g_game.c | 37 +-
src/doom/p_inter.c | 15 +-
src/doom/p_map.c | 2 +-
src/doom/p_maputl.c | 4 +-
src/doom/p_saveg.c | 4 +-
src/doom/p_setup.c | 5 +-
src/doom/p_tick.c | 8 +-
src/doom/s_sound.c | 4 +-
src/doom/st_stuff.c | 11 +-
src/doomtype.h | 4 +
src/gusconf.c | 2 +-
src/gusconf.h | 2 +-
src/heretic.desktop.in | 1 +
src/heretic/Makefile.am | 10 +-
src/heretic/d_main.c | 23 +-
src/heretic/f_finale.c | 4 +-
src/heretic/g_game.c | 11 +-
src/heretic/i_ibm.c | 1642 ----------------------------------
src/heretic/i_sound.c | 426 ---------
src/heretic/in_lude.c | 13 +-
src/heretic/mn_menu.c | 1 +
src/heretic/p_enemy.c | 4 +-
src/heretic/p_map.c | 2 +-
src/heretic/p_maputl.c | 2 +-
src/heretic/p_pspr.c | 2 +-
src/heretic/p_saveg.c | 2 +
src/heretic/p_tick.c | 6 +-
src/heretic/r_things.c | 2 +-
src/heretic/s_sound.c | 1 +
src/heretic/sb_bar.c | 7 +-
src/hexen.desktop.in | 1 +
src/hexen/Makefile.am | 10 +-
src/hexen/a_action.c | 6 +-
src/hexen/am_map.c | 16 +-
src/hexen/ct_chat.c | 6 +-
src/hexen/d_net.c | 6 +-
src/hexen/f_finale.c | 5 +-
src/hexen/g_game.c | 45 +-
src/hexen/h2_main.c | 88 +-
src/hexen/h2def.h | 1 +
src/hexen/i_header.h | 92 --
src/hexen/i_ibm.c | 1837 ---------------------------------------
src/hexen/i_sound.c | 402 ---------
src/hexen/in_lude.c | 17 +-
src/hexen/m_misc.c | 21 -
src/hexen/mn_menu.c | 4 +-
src/hexen/p_acs.c | 4 +-
src/hexen/p_enemy.c | 8 +-
src/hexen/p_inter.c | 6 +
src/hexen/p_map.c | 2 +-
src/hexen/p_maputl.c | 2 +-
src/hexen/p_mobj.c | 6 +-
src/hexen/p_setup.c | 14 +-
src/hexen/p_spec.c | 2 +-
src/hexen/p_switch.c | 23 +-
src/hexen/p_tick.c | 14 +-
src/hexen/p_user.c | 4 +-
src/hexen/r_draw.c | 4 +-
src/hexen/r_things.c | 6 +-
src/hexen/s_sound.c | 1 +
src/hexen/sb_bar.c | 47 +-
src/hexen/sv_save.c | 52 +-
src/i_joystick.c | 18 +-
src/i_main.c | 96 --
src/i_oplmusic.c | 308 ++++++-
src/i_scale.c | 4 -
src/i_sdlmusic.c | 11 +-
src/i_sdlsound.c | 4 +-
src/i_sound.c | 37 +-
src/i_sound.h | 8 +
src/i_video.c | 120 +++
src/m_config.c | 69 +-
src/m_config.h | 6 +-
src/m_controls.c | 250 +++---
src/m_misc.c | 10 +-
src/midifile.c | 8 +-
src/net_client.c | 6 +-
src/net_sdl.c | 26 +-
src/net_server.c | 3 +-
src/net_structrw.c | 2 +-
src/resource.rc.in | 4 +-
src/setup-res.rc.in | 4 +-
src/setup/Makefile.am | 2 +-
src/setup/compatibility.c | 10 +-
src/setup/display.c | 31 +-
src/setup/execute.c | 1 +
src/setup/joystick.c | 94 +-
src/setup/keyboard.c | 10 +-
src/setup/mainmenu.c | 6 +-
src/setup/mode.c | 19 +-
src/setup/mouse.c | 18 +-
src/setup/multiplayer.c | 21 +-
src/setup/sound.c | 107 ++-
src/setup/txt_joyaxis.c | 4 +
src/sha1.c | 6 +-
src/strife.desktop.in | 1 +
src/strife/Makefile.am | 2 +-
src/strife/d_englsh.h | 2 +-
src/strife/d_main.c | 47 +-
src/strife/f_finale.c | 8 +-
src/strife/g_game.c | 12 +-
src/strife/p_dialog.c | 1 +
src/strife/p_enemy.c | 4 +-
src/strife/p_inter.c | 10 +-
src/strife/p_map.c | 2 +-
src/strife/p_maputl.c | 2 +-
src/strife/p_saveg.c | 4 +-
src/strife/p_setup.c | 7 +-
src/strife/p_tick.c | 7 +-
src/strife/r_things.c | 14 +-
src/strife/s_sound.c | 8 +-
src/strife/st_stuff.c | 4 +-
src/w_wad.c | 87 +-
src/w_wad.h | 1 +
src/z_zone.c | 86 +-
textscreen/Makefile.am | 2 +-
textscreen/examples/Makefile.am | 2 +-
textscreen/examples/guitest.c | 2 +
textscreen/txt_desktop.c | 85 +-
textscreen/txt_desktop.h | 2 +-
textscreen/txt_gui.c | 4 +-
textscreen/txt_io.c | 4 +-
textscreen/txt_sdl.c | 10 +-
textscreen/txt_window.c | 75 +-
textscreen/txt_window.h | 22 +
textscreen/txt_window_action.c | 1 +
151 files changed, 2875 insertions(+), 6190 deletions(-)
diff --cc src/i_video.c
index af409ba6,ec0fc58f..5e90c1df
--- a/src/i_video.c
+++ b/src/i_video.c
@@@ -433,35 -449,94 +433,121 @@@ void I_EnableLoadingDisk(void
// Translates the SDL key
//
-static int TranslateKey(SDL_keysym *sym)
+static int TranslateKey(SDL_Keysym *sym)
{
++<<<<<<< HEAD
+ int scancode = sym->scancode;
+
+ switch (scancode)
+ {
+ case SDL_SCANCODE_LCTRL:
+ case SDL_SCANCODE_RCTRL:
+ return KEY_RCTRL;
+
+ case SDL_SCANCODE_LSHIFT:
+ case SDL_SCANCODE_RSHIFT:
+ return KEY_RSHIFT;
++=======
+ switch(sym->sym)
+ {
+ case SDLK_LEFT: return KEY_LEFTARROW;
+ case SDLK_RIGHT: return KEY_RIGHTARROW;
+ case SDLK_DOWN: return KEY_DOWNARROW;
+ case SDLK_UP: return KEY_UPARROW;
+ case SDLK_ESCAPE: return KEY_ESCAPE;
+ case SDLK_RETURN: return KEY_ENTER;
+ case SDLK_TAB: return KEY_TAB;
+ case SDLK_F1: return KEY_F1;
+ case SDLK_F2: return KEY_F2;
+ case SDLK_F3: return KEY_F3;
+ case SDLK_F4: return KEY_F4;
+ case SDLK_F5: return KEY_F5;
+ case SDLK_F6: return KEY_F6;
+ case SDLK_F7: return KEY_F7;
+ case SDLK_F8: return KEY_F8;
+ case SDLK_F9: return KEY_F9;
+ case SDLK_F10: return KEY_F10;
+ case SDLK_F11: return KEY_F11;
+ case SDLK_F12: return KEY_F12;
+ case SDLK_PRINT: return KEY_PRTSCR;
+
+ case SDLK_BACKSPACE: return KEY_BACKSPACE;
+ case SDLK_DELETE: return KEY_DEL;
+
+ case SDLK_PAUSE: return KEY_PAUSE;
+
+ case SDLK_EQUALS: return KEY_EQUALS;
+
+ case SDLK_MINUS: return KEY_MINUS;
+
+ case SDLK_LSHIFT:
+ case SDLK_RSHIFT:
+ return KEY_RSHIFT;
+
+ case SDLK_LCTRL:
+ case SDLK_RCTRL:
+ return KEY_RCTRL;
+
+ case SDLK_LALT:
+ case SDLK_RALT:
+ case SDLK_LMETA:
+ case SDLK_RMETA:
+ return KEY_RALT;
+
+ case SDLK_CAPSLOCK: return KEY_CAPSLOCK;
+ case SDLK_SCROLLOCK: return KEY_SCRLCK;
+ case SDLK_NUMLOCK: return KEY_NUMLOCK;
+
+ case SDLK_KP0: return KEYP_0;
+ case SDLK_KP1: return KEYP_1;
+ case SDLK_KP2: return KEYP_2;
+ case SDLK_KP3: return KEYP_3;
+ case SDLK_KP4: return KEYP_4;
+ case SDLK_KP5: return KEYP_5;
+ case SDLK_KP6: return KEYP_6;
+ case SDLK_KP7: return KEYP_7;
+ case SDLK_KP8: return KEYP_8;
+ case SDLK_KP9: return KEYP_9;
+
+ case SDLK_KP_PERIOD: return KEYP_PERIOD;
+ case SDLK_KP_MULTIPLY: return KEYP_MULTIPLY;
+ case SDLK_KP_PLUS: return KEYP_PLUS;
+ case SDLK_KP_MINUS: return KEYP_MINUS;
+ case SDLK_KP_DIVIDE: return KEYP_DIVIDE;
+ case SDLK_KP_EQUALS: return KEYP_EQUALS;
+ case SDLK_KP_ENTER: return KEYP_ENTER;
+
+ case SDLK_HOME: return KEY_HOME;
+ case SDLK_INSERT: return KEY_INS;
+ case SDLK_END: return KEY_END;
+ case SDLK_PAGEUP: return KEY_PGUP;
+ case SDLK_PAGEDOWN: return KEY_PGDN;
+
+ #ifdef SDL_HAVE_APP_KEYS
+ case SDLK_APP1: return KEY_F1;
+ case SDLK_APP2: return KEY_F2;
+ case SDLK_APP3: return KEY_F3;
+ case SDLK_APP4: return KEY_F4;
+ case SDLK_APP5: return KEY_F5;
+ case SDLK_APP6: return KEY_F6;
+ #endif
++>>>>>>> master
- default:
- return tolower(sym->sym);
+ case SDL_SCANCODE_LALT:
+ return KEY_LALT;
+
+ case SDL_SCANCODE_RALT:
+ return KEY_RALT;
+
+ default:
+ if (scancode >= 0 && scancode < arrlen(scancode_translate_table))
+ {
+ return scancode_translate_table[scancode];
+ }
+ else
+ {
+ return 0;
+ }
}
}
@@@ -882,8 -922,8 +968,13 @@@ static void UpdateGrab(void
// because we're at an end of level intermission screen, for
// example.
++<<<<<<< HEAD
+ SDL_GetWindowSize(screen, &screen_w, &screen_h);
+ SDL_WarpMouseInWindow(screen, screen_w - 16, screen_h - 16);
++=======
+ SDL_WarpMouse(screen->w - 16, screen->h - 16);
+ SDL_PumpEvents();
++>>>>>>> master
SDL_GetRelativeMouseState(NULL, NULL);
}
@@@ -1934,6 -2008,12 +2025,15 @@@ void I_InitGraphics(void
I_Error("Failed to initialize video: %s", SDL_GetError());
}
++<<<<<<< HEAD
++=======
+ // Set up title and icon. Windows cares about the ordering; this
+ // has to be done before the call to SDL_SetVideoMode.
+
+ I_InitWindowTitle();
+ I_InitWindowIcon();
+
++>>>>>>> master
// Warning to OS X users... though they might never see it :(
#ifdef __MACOSX__
if (fullscreen)
@@@ -2052,22 -2148,44 +2152,42 @@@
void I_BindVideoVariables(void)
{
++<<<<<<< HEAD
+ M_BindVariable("use_mouse", &usemouse);
+ M_BindVariable("autoadjust_video_settings", &autoadjust_video_settings);
+ M_BindVariable("fullscreen", &fullscreen);
+ M_BindVariable("aspect_ratio_correct", &aspect_ratio_correct);
+ M_BindVariable("startup_delay", &startup_delay);
+ M_BindVariable("screen_width", &screen_width);
+ M_BindVariable("screen_height", &screen_height);
+ M_BindVariable("grabmouse", &grabmouse);
+ M_BindVariable("mouse_acceleration", &mouse_acceleration);
+ M_BindVariable("mouse_threshold", &mouse_threshold);
+ M_BindVariable("video_driver", &video_driver);
+ M_BindVariable("window_position", &window_position);
+ M_BindVariable("usegamma", &usegamma);
+ M_BindVariable("vanilla_keyboard_mapping", &vanilla_keyboard_mapping);
+ M_BindVariable("novert", &novert);
+ M_BindVariable("png_screenshots", &png_screenshots);
++=======
+ M_BindIntVariable("use_mouse", &usemouse);
+ M_BindIntVariable("autoadjust_video_settings", &autoadjust_video_settings);
+ M_BindIntVariable("fullscreen", &fullscreen);
+ M_BindIntVariable("aspect_ratio_correct", &aspect_ratio_correct);
+ M_BindIntVariable("startup_delay", &startup_delay);
+ M_BindIntVariable("screen_width", &screen_width);
+ M_BindIntVariable("screen_height", &screen_height);
+ M_BindIntVariable("screen_bpp", &screen_bpp);
+ M_BindIntVariable("grabmouse", &grabmouse);
+ M_BindFloatVariable("mouse_acceleration", &mouse_acceleration);
+ M_BindIntVariable("mouse_threshold", &mouse_threshold);
+ M_BindStringVariable("video_driver", &video_driver);
+ M_BindStringVariable("window_position", &window_position);
+ M_BindIntVariable("usegamma", &usegamma);
+ M_BindIntVariable("vanilla_keyboard_mapping", &vanilla_keyboard_mapping);
+ M_BindIntVariable("novert", &novert);
+ M_BindIntVariable("png_screenshots", &png_screenshots);
-
- // Windows Vista or later? Set screen color depth to
- // 32 bits per pixel, as 8-bit palettized screen modes
- // don't work properly in recent versions.
-
-#if defined(_WIN32) && !defined(_WIN32_WCE)
- {
- OSVERSIONINFOEX version_info;
-
- ZeroMemory(&version_info, sizeof(OSVERSIONINFOEX));
- version_info.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
-
- GetVersionEx((OSVERSIONINFO *) &version_info);
-
- if (version_info.dwPlatformId == VER_PLATFORM_WIN32_NT
- && version_info.dwMajorVersion >= 6)
- {
- screen_bpp = 32;
- }
- }
-#endif
++>>>>>>> master
// Disable fullscreen by default on OS X, as there is an SDL bug
// where some old versions of OS X (<= Snow Leopard) crash.
diff --cc src/setup/display.c
index 6811f37a,e94db94e..3ebdb931
--- a/src/setup/display.c
+++ b/src/setup/display.c
@@@ -464,18 -706,19 +470,17 @@@ void ConfigDisplay(void
void BindDisplayVariables(void)
{
- M_BindVariable("autoadjust_video_settings", &autoadjust_video_settings);
- M_BindVariable("aspect_ratio_correct", &aspect_ratio_correct);
- M_BindVariable("fullscreen", &fullscreen);
- M_BindVariable("screen_width", &screen_width);
- M_BindVariable("screen_height", &screen_height);
- M_BindVariable("startup_delay", &startup_delay);
- M_BindVariable("video_driver", &video_driver);
- M_BindVariable("window_position", &window_position);
- M_BindVariable("usegamma", &usegamma);
- M_BindVariable("png_screenshots", &png_screenshots);
-
+ M_BindIntVariable("autoadjust_video_settings", &autoadjust_video_settings);
+ M_BindIntVariable("aspect_ratio_correct", &aspect_ratio_correct);
+ M_BindIntVariable("fullscreen", &fullscreen);
+ M_BindIntVariable("screen_width", &screen_width);
+ M_BindIntVariable("screen_height", &screen_height);
- M_BindIntVariable("screen_bpp", &screen_bpp);
+ M_BindIntVariable("startup_delay", &startup_delay);
+ M_BindStringVariable("video_driver", &video_driver);
+ M_BindStringVariable("window_position", &window_position);
+ M_BindIntVariable("usegamma", &usegamma);
+ M_BindIntVariable("png_screenshots", &png_screenshots);
-
if (gamemission == doom || gamemission == heretic
|| gamemission == strife)
{
@@@ -484,9 -727,30 +489,9 @@@
if (gamemission == heretic || gamemission == hexen || gamemission == strife)
{
- M_BindVariable("graphical_startup", &graphical_startup);
+ M_BindIntVariable("graphical_startup", &graphical_startup);
}
- // Windows Vista or later? Set screen color depth to
- // 32 bits per pixel, as 8-bit palettized screen modes
- // don't work properly in recent versions.
-
-#if defined(_WIN32) && !defined(_WIN32_WCE)
- {
- OSVERSIONINFOEX version_info;
-
- ZeroMemory(&version_info, sizeof(OSVERSIONINFOEX));
- version_info.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
-
- GetVersionEx((OSVERSIONINFO *) &version_info);
-
- if (version_info.dwPlatformId == VER_PLATFORM_WIN32_NT
- && version_info.dwMajorVersion >= 6)
- {
- screen_bpp = 32;
- }
- }
-#endif
-
// Disable fullscreen by default on OS X, as there is an SDL bug
// where some old versions of OS X (<= Snow Leopard) crash.
diff --cc src/setup/sound.c
index 5778e588,092a5dd8..aeb52d1c
--- a/src/setup/sound.c
+++ b/src/setup/sound.c
@@@ -55,8 -58,15 +57,14 @@@ static char *musicmode_strings[]
"OPL (Adlib/SB)",
"GUS (emulated)",
"Native MIDI",
- "CD audio"
};
+ static char *opltype_strings[] =
+ {
+ "OPL2",
+ "OPL3"
+ };
+
static char *cfg_extension[] = { "cfg", NULL };
// Config file variables: