// Bind all variables controlling input options. void I_BindInputVariables(void) { M_BindFloatVariable("mouse_acceleration", &mouse_acceleration); M_BindIntVariable("mouse_threshold", &mouse_threshold); M_BindIntVariable("vanilla_keyboard_mapping", &vanilla_keyboard_mapping); M_BindIntVariable("novert", &novert); }
void BindMouseVariables(void) { M_BindIntVariable("use_mouse", &usemouse); M_BindIntVariable("novert", &novert); M_BindIntVariable("grabmouse", &grabmouse); M_BindIntVariable("mouse_sensitivity", &mouseSensitivity); M_BindIntVariable("mouse_threshold", &mouse_threshold); M_BindFloatVariable("mouse_acceleration", &mouse_acceleration); }
void M_BindChatControls(unsigned int num_players) { char name[32]; // haleyjd: 20 not large enough - Thank you, come again! unsigned int i; // haleyjd: signedness conflict M_BindIntVariable("key_multi_msg", &key_multi_msg); for (i=0; i<num_players; ++i) { M_snprintf(name, sizeof(name), "key_multi_msgplayer%i", i + 1); M_BindIntVariable(name, &key_multi_msgplayer[i]); } }
void D_BindVariables(void) { int i; M_ApplyPlatformDefaults(); I_BindVideoVariables(); I_BindJoystickVariables(); I_BindSoundVariables(); M_BindBaseControls(); M_BindMapControls(); M_BindMenuControls(); M_BindWeaponControls(); M_BindChatControls(MAXPLAYERS); M_BindHereticControls(); M_BindHexenControls(); key_multi_msgplayer[0] = CT_KEY_BLUE; key_multi_msgplayer[1] = CT_KEY_RED; key_multi_msgplayer[2] = CT_KEY_YELLOW; key_multi_msgplayer[3] = CT_KEY_GREEN; key_multi_msgplayer[4] = CT_KEY_PLAYER5; key_multi_msgplayer[5] = CT_KEY_PLAYER6; key_multi_msgplayer[6] = CT_KEY_PLAYER7; key_multi_msgplayer[7] = CT_KEY_PLAYER8; #ifdef FEATURE_MULTIPLAYER NET_BindVariables(); #endif M_BindIntVariable("graphical_startup", &graphical_startup); M_BindIntVariable("mouse_sensitivity", &mouseSensitivity); M_BindIntVariable("sfx_volume", &snd_MaxVolume); M_BindIntVariable("music_volume", &snd_MusicVolume); M_BindIntVariable("messageson", &messageson); M_BindIntVariable("screenblocks", &screenblocks); M_BindIntVariable("snd_channels", &snd_Channels); M_BindIntVariable("vanilla_savegame_limit", &vanilla_savegame_limit); M_BindIntVariable("vanilla_demo_limit", &vanilla_demo_limit); M_BindStringVariable("savedir", &SavePathConfig); // Multiplayer chat macros for (i=0; i<10; ++i) { char buf[12]; M_snprintf(buf, sizeof(buf), "chatmacro%i", i); M_BindStringVariable(buf, &chat_macros[i]); } }
void M_BindHereticControls(void) { M_BindIntVariable("key_flyup", &key_flyup); M_BindIntVariable("key_flydown", &key_flydown); M_BindIntVariable("key_flycenter", &key_flycenter); M_BindIntVariable("key_lookup", &key_lookup); M_BindIntVariable("key_lookdown", &key_lookdown); M_BindIntVariable("key_lookcenter", &key_lookcenter); M_BindIntVariable("key_invleft", &key_invleft); M_BindIntVariable("key_invright", &key_invright); M_BindIntVariable("key_useartifact", &key_useartifact); }
void M_BindHexenControls(void) { // [crispy] *_jump moved to M_BindBaseControls() M_BindIntVariable("key_arti_all", &key_arti_all); M_BindIntVariable("key_arti_health", &key_arti_health); M_BindIntVariable("key_arti_poisonbag", &key_arti_poisonbag); M_BindIntVariable("key_arti_blastradius", &key_arti_blastradius); M_BindIntVariable("key_arti_teleport", &key_arti_teleport); M_BindIntVariable("key_arti_teleportother", &key_arti_teleportother); M_BindIntVariable("key_arti_egg", &key_arti_egg); M_BindIntVariable("key_arti_invulnerability", &key_arti_invulnerability); }
void BindMouseVariables(void) { M_BindIntVariable("use_mouse", &usemouse); M_BindIntVariable("novert", &novert); M_BindIntVariable("grabmouse", &grabmouse); M_BindIntVariable("mouse_sensitivity", &mouseSensitivity); M_BindIntVariable("mouse_threshold", &mouse_threshold); M_BindFloatVariable("mouse_acceleration", &mouse_acceleration); if (gamemission == doom) // [crispy] { M_BindIntVariable("mouse_sensitivity_y", &mouseSensitivity_y); M_BindIntVariable("mouse_threshold_y", &mouse_threshold_y); M_BindFloatVariable("mouse_acceleration_y", &mouse_acceleration_y); M_BindIntVariable("mouse_y_invert", &mouse_y_invert); } }
void M_BindHereticControls(void) { M_BindIntVariable("key_flyup", &key_flyup); M_BindIntVariable("key_flydown", &key_flydown); M_BindIntVariable("key_flycenter", &key_flycenter); // [crispy] key_look* moved to M_BindBaseControls() M_BindIntVariable("key_invleft", &key_invleft); M_BindIntVariable("key_invright", &key_invright); M_BindIntVariable("key_useartifact", &key_useartifact); }
void M_BindBaseControls(void) { M_BindIntVariable("key_right", &key_right); M_BindIntVariable("key_left", &key_left); M_BindIntVariable("key_up", &key_up); M_BindIntVariable("key_down", &key_down); M_BindIntVariable("key_strafeleft", &key_strafeleft); M_BindIntVariable("key_straferight", &key_straferight); M_BindIntVariable("key_fire", &key_fire); M_BindIntVariable("key_use", &key_use); M_BindIntVariable("key_strafe", &key_strafe); M_BindIntVariable("key_speed", &key_speed); M_BindIntVariable("mouseb_fire", &mousebfire); M_BindIntVariable("mouseb_strafe", &mousebstrafe); M_BindIntVariable("mouseb_forward", &mousebforward); M_BindIntVariable("joyb_fire", &joybfire); M_BindIntVariable("joyb_strafe", &joybstrafe); M_BindIntVariable("joyb_use", &joybuse); M_BindIntVariable("joyb_speed", &joybspeed); M_BindIntVariable("joyb_menu_activate", &joybmenu); M_BindIntVariable("joyb_toggle_automap", &joybautomap); // Extra controls that are not in the Vanilla versions: M_BindIntVariable("joyb_strafeleft", &joybstrafeleft); M_BindIntVariable("joyb_straferight", &joybstraferight); M_BindIntVariable("mouseb_strafeleft", &mousebstrafeleft); M_BindIntVariable("mouseb_straferight", &mousebstraferight); M_BindIntVariable("mouseb_use", &mousebuse); M_BindIntVariable("mouseb_backward", &mousebbackward); M_BindIntVariable("dclick_use", &dclick_use); M_BindIntVariable("key_pause", &key_pause); M_BindIntVariable("key_message_refresh", &key_message_refresh); }
void BindSoundVariables(void) { M_BindIntVariable("snd_sfxdevice", &snd_sfxdevice); M_BindIntVariable("snd_musicdevice", &snd_musicdevice); M_BindIntVariable("snd_channels", &numChannels); M_BindIntVariable("snd_samplerate", &snd_samplerate); M_BindIntVariable("sfx_volume", &sfxVolume); M_BindIntVariable("music_volume", &musicVolume); M_BindIntVariable("use_libsamplerate", &use_libsamplerate); M_BindFloatVariable("libsamplerate_scale", &libsamplerate_scale); M_BindIntVariable("gus_ram_kb", &gus_ram_kb); M_BindStringVariable("gus_patch_path", &gus_patch_path); M_BindStringVariable("music_pack_path", &music_pack_path); M_BindStringVariable("timidity_cfg_path", &timidity_cfg_path); M_BindIntVariable("snd_sbport", &snd_sbport); M_BindIntVariable("snd_sbirq", &snd_sbirq); M_BindIntVariable("snd_sbdma", &snd_sbdma); M_BindIntVariable("snd_mport", &snd_mport); M_BindIntVariable("snd_maxslicetime_ms", &snd_maxslicetime_ms); M_BindStringVariable("snd_musiccmd", &snd_musiccmd); M_BindStringVariable("snd_dmxoption", &snd_dmxoption); M_BindIntVariable("snd_cachesize", &snd_cachesize); M_BindIntVariable("opl_io_port", &opl_io_port); M_BindIntVariable("snd_pitchshift", &snd_pitchshift); if (gamemission == strife) { M_BindIntVariable("voice_volume", &voiceVolume); M_BindIntVariable("show_talk", &show_talk); } music_pack_path = M_StringDuplicate(""); timidity_cfg_path = M_StringDuplicate(""); gus_patch_path = M_StringDuplicate(""); // All versions of Heretic and Hexen did pitch-shifting. // Most versions of Doom did not and Strife never did. snd_pitchshift = gamemission == heretic || gamemission == hexen; // Default sound volumes - different games use different values. switch (gamemission) { case doom: default: sfxVolume = 8; musicVolume = 8; break; case heretic: case hexen: sfxVolume = 10; musicVolume = 10; break; case strife: sfxVolume = 8; musicVolume = 13; break; } }
void M_BindMenuControls(void) { M_BindIntVariable("key_menu_activate", &key_menu_activate); M_BindIntVariable("key_menu_up", &key_menu_up); M_BindIntVariable("key_menu_down", &key_menu_down); M_BindIntVariable("key_menu_left", &key_menu_left); M_BindIntVariable("key_menu_right", &key_menu_right); M_BindIntVariable("key_menu_back", &key_menu_back); M_BindIntVariable("key_menu_forward", &key_menu_forward); M_BindIntVariable("key_menu_confirm", &key_menu_confirm); M_BindIntVariable("key_menu_abort", &key_menu_abort); M_BindIntVariable("key_menu_help", &key_menu_help); M_BindIntVariable("key_menu_save", &key_menu_save); M_BindIntVariable("key_menu_load", &key_menu_load); M_BindIntVariable("key_menu_volume", &key_menu_volume); M_BindIntVariable("key_menu_detail", &key_menu_detail); M_BindIntVariable("key_menu_qsave", &key_menu_qsave); M_BindIntVariable("key_menu_endgame", &key_menu_endgame); M_BindIntVariable("key_menu_messages", &key_menu_messages); M_BindIntVariable("key_menu_qload", &key_menu_qload); M_BindIntVariable("key_menu_quit", &key_menu_quit); M_BindIntVariable("key_menu_gamma", &key_menu_gamma); M_BindIntVariable("key_menu_incscreen", &key_menu_incscreen); M_BindIntVariable("key_menu_decscreen", &key_menu_decscreen); M_BindIntVariable("key_menu_screenshot",&key_menu_screenshot); M_BindIntVariable("key_demo_quit", &key_demo_quit); M_BindIntVariable("key_spy", &key_spy); }
void M_BindMapControls(void) { M_BindIntVariable("key_map_north", &key_map_north); M_BindIntVariable("key_map_south", &key_map_south); M_BindIntVariable("key_map_east", &key_map_east); M_BindIntVariable("key_map_west", &key_map_west); M_BindIntVariable("key_map_zoomin", &key_map_zoomin); M_BindIntVariable("key_map_zoomout", &key_map_zoomout); M_BindIntVariable("key_map_toggle", &key_map_toggle); M_BindIntVariable("key_map_maxzoom", &key_map_maxzoom); M_BindIntVariable("key_map_follow", &key_map_follow); M_BindIntVariable("key_map_grid", &key_map_grid); M_BindIntVariable("key_map_mark", &key_map_mark); M_BindIntVariable("key_map_clearmark", &key_map_clearmark); }
void M_BindWeaponControls(void) { M_BindIntVariable("key_weapon1", &key_weapon1); M_BindIntVariable("key_weapon2", &key_weapon2); M_BindIntVariable("key_weapon3", &key_weapon3); M_BindIntVariable("key_weapon4", &key_weapon4); M_BindIntVariable("key_weapon5", &key_weapon5); M_BindIntVariable("key_weapon6", &key_weapon6); M_BindIntVariable("key_weapon7", &key_weapon7); M_BindIntVariable("key_weapon8", &key_weapon8); M_BindIntVariable("key_prevweapon", &key_prevweapon); M_BindIntVariable("key_nextweapon", &key_nextweapon); M_BindIntVariable("joyb_prevweapon", &joybprevweapon); M_BindIntVariable("joyb_nextweapon", &joybnextweapon); M_BindIntVariable("mouseb_prevweapon", &mousebprevweapon); M_BindIntVariable("mouseb_nextweapon", &mousebnextweapon); }
void M_BindBaseControls(void) { M_BindIntVariable("key_right", &key_right); M_BindIntVariable("key_left", &key_left); M_BindIntVariable("key_up", &key_up); M_BindIntVariable("key_alt_up", &key_alt_up); // [crispy] M_BindIntVariable("key_down", &key_down); M_BindIntVariable("key_alt_down", &key_alt_down); // [crispy] M_BindIntVariable("key_strafeleft", &key_strafeleft); M_BindIntVariable("key_alt_strafeleft", &key_alt_strafeleft); // [crispy] M_BindIntVariable("key_straferight", &key_straferight); M_BindIntVariable("key_alt_straferight", &key_alt_straferight); // [crispy] M_BindIntVariable("key_fire", &key_fire); M_BindIntVariable("key_use", &key_use); M_BindIntVariable("key_strafe", &key_strafe); M_BindIntVariable("key_speed", &key_speed); M_BindIntVariable("mouseb_fire", &mousebfire); M_BindIntVariable("mouseb_strafe", &mousebstrafe); M_BindIntVariable("mouseb_forward", &mousebforward); M_BindIntVariable("joyb_fire", &joybfire); M_BindIntVariable("joyb_strafe", &joybstrafe); M_BindIntVariable("joyb_use", &joybuse); M_BindIntVariable("joyb_speed", &joybspeed); M_BindIntVariable("joyb_menu_activate", &joybmenu); M_BindIntVariable("joyb_toggle_automap", &joybautomap); // Extra controls that are not in the Vanilla versions: M_BindIntVariable("joyb_strafeleft", &joybstrafeleft); M_BindIntVariable("joyb_straferight", &joybstraferight); M_BindIntVariable("mouseb_strafeleft", &mousebstrafeleft); M_BindIntVariable("mouseb_straferight", &mousebstraferight); M_BindIntVariable("mouseb_use", &mousebuse); M_BindIntVariable("mouseb_backward", &mousebbackward); M_BindIntVariable("dclick_use", &dclick_use); M_BindIntVariable("key_pause", &key_pause); M_BindIntVariable("key_message_refresh", &key_message_refresh); M_BindIntVariable("key_lookup", &key_lookup); // [crispy] M_BindIntVariable("key_lookdown", &key_lookdown); // [crispy] M_BindIntVariable("key_lookcenter", &key_lookcenter); // [crispy] M_BindIntVariable("key_jump", &key_jump); // [crispy] M_BindIntVariable("mouseb_jump", &mousebjump); // [crispy] M_BindIntVariable("joyb_jump", &joybjump); // [crispy] M_BindIntVariable("mouseb_mouselook", &mousebmouselook); // [crispy] M_BindIntVariable("mouseb_reverse", &mousebreverse); // [crispy] M_BindIntVariable("key_reverse", &key_reverse); // [crispy] M_BindIntVariable("key_toggleautorun", &key_toggleautorun); // [crispy] M_BindIntVariable("key_togglenovert", &key_togglenovert); // [crispy] }
void BindDisplayVariables(void) { M_BindIntVariable("aspect_ratio_correct", &aspect_ratio_correct); M_BindIntVariable("integer_scaling", &integer_scaling); M_BindIntVariable("fullscreen", &fullscreen); M_BindIntVariable("fullscreen_width", &fullscreen_width); M_BindIntVariable("fullscreen_height", &fullscreen_height); M_BindIntVariable("window_width", &window_width); M_BindIntVariable("window_height", &window_height); 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); M_BindIntVariable("vga_porch_flash", &vga_porch_flash); M_BindIntVariable("force_software_renderer", &force_software_renderer); M_BindIntVariable("max_scaling_buffer_pixels", &max_scaling_buffer_pixels); if (gamemission == doom || gamemission == heretic || gamemission == strife) { M_BindIntVariable("show_endoom", &show_endoom); } if (gamemission == doom || gamemission == strife) { M_BindIntVariable("show_diskicon", &show_diskicon); } if (gamemission == heretic || gamemission == hexen || gamemission == strife) { M_BindIntVariable("graphical_startup", &graphical_startup); } }
void I_BindSoundVariables(void) { extern char *snd_dmxoption; extern int use_libsamplerate; extern float libsamplerate_scale; M_BindIntVariable("snd_musicdevice", &snd_musicdevice); M_BindIntVariable("snd_sfxdevice", &snd_sfxdevice); M_BindIntVariable("snd_sbport", &snd_sbport); M_BindIntVariable("snd_sbirq", &snd_sbirq); M_BindIntVariable("snd_sbdma", &snd_sbdma); M_BindIntVariable("snd_mport", &snd_mport); M_BindIntVariable("snd_maxslicetime_ms", &snd_maxslicetime_ms); M_BindStringVariable("snd_musiccmd", &snd_musiccmd); M_BindStringVariable("snd_dmxoption", &snd_dmxoption); M_BindIntVariable("snd_samplerate", &snd_samplerate); M_BindIntVariable("snd_cachesize", &snd_cachesize); M_BindIntVariable("opl_io_port", &opl_io_port); M_BindIntVariable("snd_pitchshift", &snd_pitchshift); M_BindStringVariable("music_pack_path", &music_pack_path); M_BindStringVariable("timidity_cfg_path", &timidity_cfg_path); M_BindStringVariable("gus_patch_path", &gus_patch_path); M_BindIntVariable("gus_ram_kb", &gus_ram_kb); M_BindIntVariable("use_libsamplerate", &use_libsamplerate); M_BindFloatVariable("libsamplerate_scale", &libsamplerate_scale); }
void BindSoundVariables(void) { M_BindIntVariable("snd_sfxdevice", &snd_sfxdevice); M_BindIntVariable("snd_musicdevice", &snd_musicdevice); M_BindIntVariable("snd_channels", &numChannels); M_BindIntVariable("snd_samplerate", &snd_samplerate); M_BindIntVariable("sfx_volume", &sfxVolume); M_BindIntVariable("music_volume", &musicVolume); M_BindIntVariable("use_libsamplerate", &use_libsamplerate); M_BindFloatVariable("libsamplerate_scale", &libsamplerate_scale); M_BindIntVariable("gus_ram_kb", &gus_ram_kb); M_BindStringVariable("gus_patch_path", &gus_patch_path); M_BindStringVariable("timidity_cfg_path", &timidity_cfg_path); M_BindIntVariable("snd_sbport", &snd_sbport); M_BindIntVariable("snd_sbirq", &snd_sbirq); M_BindIntVariable("snd_sbdma", &snd_sbdma); M_BindIntVariable("snd_mport", &snd_mport); M_BindIntVariable("snd_maxslicetime_ms", &snd_maxslicetime_ms); M_BindStringVariable("snd_musiccmd", &snd_musiccmd); M_BindStringVariable("snd_dmxoption", &snd_dmxoption); M_BindIntVariable("snd_cachesize", &snd_cachesize); M_BindIntVariable("opl_io_port", &opl_io_port); M_BindIntVariable("snd_pitchshift", &snd_pitchshift); if (gamemission == strife) { M_BindIntVariable("voice_volume", &voiceVolume); M_BindIntVariable("show_talk", &show_talk); } timidity_cfg_path = M_StringDuplicate(""); gus_patch_path = M_StringDuplicate(""); // All versions of Heretic and Hexen did pitch-shifting. // Most versions of Doom did not and Strife never did. snd_pitchshift = gamemission == heretic || gamemission == hexen; // Default sound volumes - different games use different values. switch (gamemission) { case doom: default: sfxVolume = 8; musicVolume = 8; break; case heretic: case hexen: sfxVolume = 10; musicVolume = 10; break; case strife: sfxVolume = 8; musicVolume = 13; break; } // Before SDL_mixer version 1.2.11, MIDI music caused the game // to crash when it looped. If this is an old SDL_mixer version, // disable MIDI. #ifdef __MACOSX__ { const SDL_version *v = Mix_Linked_Version(); if (SDL_VERSIONNUM(v->major, v->minor, v->patch) < SDL_VERSIONNUM(1, 2, 11)) { snd_musicdevice = SNDDEVICE_NONE; } } #endif }
void BindDisplayVariables(void) { 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("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) { M_BindIntVariable("show_endoom", &show_endoom); } if (gamemission == doom || gamemission == strife) { M_BindIntVariable("show_diskicon", &show_diskicon); } if (gamemission == heretic || gamemission == hexen || gamemission == strife) { M_BindIntVariable("graphical_startup", &graphical_startup); } }
void BindDisplayVariables(void) { 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) { M_BindIntVariable("show_endoom", &show_endoom); } if (gamemission == heretic || gamemission == hexen || gamemission == strife) { 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. #ifdef __MACOSX__ fullscreen = 0; screen_width = 800; screen_height = 600; #endif }
void D_BindVariables(void) { int i; M_ApplyPlatformDefaults(); I_BindVideoVariables(); I_BindJoystickVariables(); I_BindSoundVariables(); M_BindBaseControls(); M_BindWeaponControls(); M_BindMapControls(); M_BindMenuControls(); M_BindStrifeControls(); // haleyjd 09/01/10: [STRIFE] M_BindChatControls(MAXPLAYERS); // haleyjd 20130915: Strife chat keys key_multi_msgplayer[0] = '1'; key_multi_msgplayer[1] = '2'; key_multi_msgplayer[2] = '3'; key_multi_msgplayer[3] = '4'; key_multi_msgplayer[4] = '5'; key_multi_msgplayer[5] = '6'; key_multi_msgplayer[6] = '7'; key_multi_msgplayer[7] = '8'; #ifdef FEATURE_MULTIPLAYER NET_BindVariables(); #endif // haleyjd 08/29/10: [STRIFE] // * Added voice volume // * Added back flat // * Removed show_messages // * Added show_talk // fraggle 03/06/10: [STRIFE] // * Removed detailLevel // * screenblocks -> screensize // * Added nickname, comport M_BindIntVariable("mouse_sensitivity", &mouseSensitivity); M_BindIntVariable("sfx_volume", &sfxVolume); M_BindIntVariable("music_volume", &musicVolume); M_BindIntVariable("voice_volume", &voiceVolume); M_BindIntVariable("show_talk", &dialogshowtext); M_BindIntVariable("screensize", &screenblocks); M_BindIntVariable("snd_channels", &snd_channels); M_BindIntVariable("vanilla_savegame_limit", &vanilla_savegame_limit); M_BindIntVariable("vanilla_demo_limit", &vanilla_demo_limit); M_BindIntVariable("show_endoom", &show_endoom); M_BindIntVariable("graphical_startup", &graphical_startup); M_BindStringVariable("back_flat", &back_flat); M_BindStringVariable("nickname", &nickname); M_BindIntVariable("comport", &comport); // Multiplayer chat macros for (i=0; i<10; ++i) { char buf[12]; M_snprintf(buf, sizeof(buf), "chatmacro%i", i); M_BindStringVariable(buf, &chat_macros[i]); } }
void I_BindVideoVariables(void) { 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 // Disable fullscreen by default on OS X, as there is an SDL bug // where some old versions of OS X (<= Snow Leopard) crash. #ifdef __MACOSX__ fullscreen = 0; screen_width = 800; screen_height = 600; #endif }
void M_BindHexenControls(void) { M_BindIntVariable("key_jump", &key_jump); M_BindIntVariable("mouseb_jump", &mousebjump); M_BindIntVariable("joyb_jump", &joybjump); M_BindIntVariable("key_arti_all", &key_arti_all); M_BindIntVariable("key_arti_health", &key_arti_health); M_BindIntVariable("key_arti_poisonbag", &key_arti_poisonbag); M_BindIntVariable("key_arti_blastradius", &key_arti_blastradius); M_BindIntVariable("key_arti_teleport", &key_arti_teleport); M_BindIntVariable("key_arti_teleportother", &key_arti_teleportother); M_BindIntVariable("key_arti_egg", &key_arti_egg); M_BindIntVariable("key_arti_invulnerability", &key_arti_invulnerability); }
void D_BindVariables(void) { int i; M_ApplyPlatformDefaults(); I_BindVideoVariables(); I_BindJoystickVariables(); I_BindSoundVariables(); M_BindBaseControls(); M_BindWeaponControls(); M_BindMapControls(); M_BindMenuControls(); M_BindChatControls(MAXPLAYERS); key_multi_msgplayer[0] = HUSTR_KEYGREEN; key_multi_msgplayer[1] = HUSTR_KEYINDIGO; key_multi_msgplayer[2] = HUSTR_KEYBROWN; key_multi_msgplayer[3] = HUSTR_KEYRED; #ifdef FEATURE_MULTIPLAYER NET_BindVariables(); #endif M_BindIntVariable("mouse_sensitivity", &mouseSensitivity); M_BindIntVariable("sfx_volume", &sfxVolume); M_BindIntVariable("music_volume", &musicVolume); M_BindIntVariable("show_messages", &showMessages); M_BindIntVariable("screenblocks", &screenblocks); M_BindIntVariable("detaillevel", &detailLevel); M_BindIntVariable("snd_channels", &snd_channels); M_BindIntVariable("vanilla_savegame_limit", &vanilla_savegame_limit); M_BindIntVariable("vanilla_demo_limit", &vanilla_demo_limit); M_BindIntVariable("show_endoom", &show_endoom); M_BindIntVariable("show_diskicon", &show_diskicon); // Multiplayer chat macros for (i=0; i<10; ++i) { char buf[12]; M_snprintf(buf, sizeof(buf), "chatmacro%i", i); M_BindStringVariable(buf, &chat_macros[i]); } }
void M_BindStrifeControls(void) { // These are shared with all games, but have different defaults: key_message_refresh = '/'; // These keys are shared with Heretic/Hexen but have different defaults: key_jump = 'a'; key_lookup = KEY_PGUP; key_lookdown = KEY_PGDN; key_invleft = KEY_INS; key_invright = KEY_DEL; M_BindIntVariable("key_jump", &key_jump); M_BindIntVariable("key_lookUp", &key_lookup); M_BindIntVariable("key_lookDown", &key_lookdown); M_BindIntVariable("key_invLeft", &key_invleft); M_BindIntVariable("key_invRight", &key_invright); // Custom Strife-only Keys: M_BindIntVariable("key_useHealth", &key_usehealth); M_BindIntVariable("key_invquery", &key_invquery); M_BindIntVariable("key_mission", &key_mission); M_BindIntVariable("key_invPop", &key_invpop); M_BindIntVariable("key_invKey", &key_invkey); M_BindIntVariable("key_invHome", &key_invhome); M_BindIntVariable("key_invEnd", &key_invend); M_BindIntVariable("key_invUse", &key_invuse); M_BindIntVariable("key_invDrop", &key_invdrop); // Strife also supports jump on mouse and joystick, and in the exact same // manner as Hexen! M_BindIntVariable("mouseb_jump", &mousebjump); M_BindIntVariable("joyb_jump", &joybjump); }
void I_BindSoundVariables(void) { extern char *snd_dmxoption; extern int use_libsamplerate; extern float libsamplerate_scale; M_BindIntVariable("snd_musicdevice", &snd_musicdevice); M_BindIntVariable("snd_sfxdevice", &snd_sfxdevice); M_BindIntVariable("snd_sbport", &snd_sbport); M_BindIntVariable("snd_sbirq", &snd_sbirq); M_BindIntVariable("snd_sbdma", &snd_sbdma); M_BindIntVariable("snd_mport", &snd_mport); M_BindIntVariable("snd_maxslicetime_ms", &snd_maxslicetime_ms); M_BindStringVariable("snd_musiccmd", &snd_musiccmd); M_BindStringVariable("snd_dmxoption", &snd_dmxoption); M_BindIntVariable("snd_samplerate", &snd_samplerate); M_BindIntVariable("snd_cachesize", &snd_cachesize); M_BindIntVariable("opl_io_port", &opl_io_port); M_BindStringVariable("timidity_cfg_path", &timidity_cfg_path); M_BindStringVariable("gus_patch_path", &gus_patch_path); M_BindIntVariable("gus_ram_kb", &gus_ram_kb); #ifdef FEATURE_SOUND M_BindIntVariable("use_libsamplerate", &use_libsamplerate); M_BindFloatVariable("libsamplerate_scale", &libsamplerate_scale); #endif // Before SDL_mixer version 1.2.11, MIDI music caused the game // to crash when it looped. If this is an old SDL_mixer version, // disable MIDI. #ifdef __MACOSX__ { const SDL_version *v = Mix_Linked_Version(); if (SDL_VERSIONNUM(v->major, v->minor, v->patch) < SDL_VERSIONNUM(1, 2, 11)) { snd_musicdevice = SNDDEVICE_NONE; } } #endif }
// Bind all variables controlling video options into the configuration // file system. void I_BindVideoVariables(void) { M_BindIntVariable("use_mouse", &usemouse); M_BindIntVariable("fullscreen", &fullscreen); M_BindIntVariable("video_display", &video_display); M_BindIntVariable("aspect_ratio_correct", &aspect_ratio_correct); M_BindIntVariable("integer_scaling", &integer_scaling); M_BindIntVariable("vga_porch_flash", &vga_porch_flash); M_BindIntVariable("startup_delay", &startup_delay); M_BindIntVariable("fullscreen_width", &fullscreen_width); M_BindIntVariable("fullscreen_height", &fullscreen_height); M_BindIntVariable("force_software_renderer", &force_software_renderer); M_BindIntVariable("max_scaling_buffer_pixels", &max_scaling_buffer_pixels); M_BindIntVariable("window_width", &window_width); M_BindIntVariable("window_height", &window_height); M_BindIntVariable("grabmouse", &grabmouse); M_BindStringVariable("video_driver", &video_driver); M_BindStringVariable("window_position", &window_position); M_BindIntVariable("usegamma", &usegamma); M_BindIntVariable("png_screenshots", &png_screenshots); }