void BindCompatibilityVariables(void) { if (gamemission == doom || gamemission == strife) { M_BindVariable("vanilla_savegame_limit", &vanilla_savegame_limit); M_BindVariable("vanilla_demo_limit", &vanilla_demo_limit); } }
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_BindVariable("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_BindVariable(name, &key_multi_msgplayer[i]); } }
void M_BindHereticControls(void) { M_BindVariable("key_flyup", &key_flyup); M_BindVariable("key_flydown", &key_flydown); M_BindVariable("key_flycenter", &key_flycenter); M_BindVariable("key_lookup", &key_lookup); M_BindVariable("key_lookdown", &key_lookdown); M_BindVariable("key_lookcenter", &key_lookcenter); M_BindVariable("key_invleft", &key_invleft); M_BindVariable("key_invright", &key_invright); M_BindVariable("key_useartifact", &key_useartifact); }
void I_BindJoystickVariables(void) { M_BindVariable("use_joystick", &usejoystick); M_BindVariable("joystick_index", &joystick_index); M_BindVariable("joystick_x_axis", &joystick_x_axis); M_BindVariable("joystick_y_axis", &joystick_y_axis); M_BindVariable("joystick_strafe_axis", &joystick_strafe_axis); M_BindVariable("joystick_x_invert", &joystick_x_invert); M_BindVariable("joystick_y_invert", &joystick_y_invert); M_BindVariable("joystick_strafe_invert",&joystick_strafe_invert); }
void BindJoystickVariables(void) { int i; M_BindVariable("use_joystick", &usejoystick); M_BindVariable("joystick_index", &joystick_index); M_BindVariable("joystick_x_axis", &joystick_x_axis); M_BindVariable("joystick_y_axis", &joystick_y_axis); M_BindVariable("joystick_strafe_axis", &joystick_strafe_axis); M_BindVariable("joystick_x_invert", &joystick_x_invert); M_BindVariable("joystick_y_invert", &joystick_y_invert); M_BindVariable("joystick_strafe_invert",&joystick_strafe_invert); for (i = 0; i < NUM_VIRTUAL_BUTTONS; ++i) { char name[32]; M_snprintf(name, sizeof(name), "joystick_physical_button%i", i); M_BindVariable(name, &joystick_physical_buttons[i]); } }
static void BindMiscVariables(void) { if (gamemission == doom) { M_BindVariable("detaillevel", &detailLevel); M_BindVariable("show_messages", &showMessages); } if (gamemission == hexen) { M_BindVariable("savedir", &savedir); M_BindVariable("messageson", &showMessages); // Hexen has a variable to control the savegame directory // that is used. savedir = M_GetSaveGameDir("hexen.wad"); // On Windows, hexndata\ is the default. if (!strcmp(savedir, "")) { free(savedir); savedir = "hexndata" DIR_SEPARATOR_S; } } if (gamemission == strife) { M_BindVariable("back_flat", &back_flat); M_BindVariable("screensize" , &screenblocks); M_BindVariable("comport", &comport); M_BindVariable("nickname", &nickname); } else { M_BindVariable("screenblocks", &screenblocks); } }
void M_BindMenuControls(void) { M_BindVariable("key_menu_activate", &key_menu_activate); M_BindVariable("key_menu_up", &key_menu_up); M_BindVariable("key_menu_down", &key_menu_down); M_BindVariable("key_menu_left", &key_menu_left); M_BindVariable("key_menu_right", &key_menu_right); M_BindVariable("key_menu_back", &key_menu_back); M_BindVariable("key_menu_forward", &key_menu_forward); M_BindVariable("key_menu_confirm", &key_menu_confirm); M_BindVariable("key_menu_abort", &key_menu_abort); M_BindVariable("key_menu_help", &key_menu_help); M_BindVariable("key_menu_save", &key_menu_save); M_BindVariable("key_menu_load", &key_menu_load); M_BindVariable("key_menu_volume", &key_menu_volume); M_BindVariable("key_menu_detail", &key_menu_detail); M_BindVariable("key_menu_qsave", &key_menu_qsave); M_BindVariable("key_menu_endgame", &key_menu_endgame); M_BindVariable("key_menu_messages", &key_menu_messages); M_BindVariable("key_menu_qload", &key_menu_qload); M_BindVariable("key_menu_quit", &key_menu_quit); M_BindVariable("key_menu_gamma", &key_menu_gamma); M_BindVariable("key_menu_incscreen", &key_menu_incscreen); M_BindVariable("key_menu_decscreen", &key_menu_decscreen); M_BindVariable("key_menu_screenshot",&key_menu_screenshot); M_BindVariable("key_demo_quit", &key_demo_quit); M_BindVariable("key_spy", &key_spy); }
void M_BindMapControls(void) { M_BindVariable("key_map_north", &key_map_north); M_BindVariable("key_map_south", &key_map_south); M_BindVariable("key_map_east", &key_map_east); M_BindVariable("key_map_west", &key_map_west); M_BindVariable("key_map_zoomin", &key_map_zoomin); M_BindVariable("key_map_zoomout", &key_map_zoomout); M_BindVariable("key_map_toggle", &key_map_toggle); M_BindVariable("key_map_maxzoom", &key_map_maxzoom); M_BindVariable("key_map_follow", &key_map_follow); M_BindVariable("key_map_grid", &key_map_grid); M_BindVariable("key_map_mark", &key_map_mark); M_BindVariable("key_map_clearmark", &key_map_clearmark); }
void M_BindWeaponControls(void) { M_BindVariable("key_weapon1", &key_weapon1); M_BindVariable("key_weapon2", &key_weapon2); M_BindVariable("key_weapon3", &key_weapon3); M_BindVariable("key_weapon4", &key_weapon4); M_BindVariable("key_weapon5", &key_weapon5); M_BindVariable("key_weapon6", &key_weapon6); M_BindVariable("key_weapon7", &key_weapon7); M_BindVariable("key_weapon8", &key_weapon8); M_BindVariable("key_prevweapon", &key_prevweapon); M_BindVariable("key_nextweapon", &key_nextweapon); M_BindVariable("joyb_prevweapon", &joybprevweapon); M_BindVariable("joyb_nextweapon", &joybnextweapon); M_BindVariable("mouseb_prevweapon", &mousebprevweapon); M_BindVariable("mouseb_nextweapon", &mousebnextweapon); }
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_BindVariable("key_jump", &key_jump); M_BindVariable("key_lookUp", &key_lookup); M_BindVariable("key_lookDown", &key_lookdown); M_BindVariable("key_invLeft", &key_invleft); M_BindVariable("key_invRight", &key_invright); // Custom Strife-only Keys: M_BindVariable("key_useHealth", &key_usehealth); M_BindVariable("key_invquery", &key_invquery); M_BindVariable("key_mission", &key_mission); M_BindVariable("key_invPop", &key_invpop); M_BindVariable("key_invKey", &key_invkey); M_BindVariable("key_invHome", &key_invhome); M_BindVariable("key_invEnd", &key_invend); M_BindVariable("key_invUse", &key_invuse); M_BindVariable("key_invDrop", &key_invdrop); // Strife also supports jump on mouse and joystick, and in the exact same // manner as Hexen! M_BindVariable("mouseb_jump", &mousebjump); M_BindVariable("joyb_jump", &joybjump); }
void I_BindSoundVariables(void) { extern int use_libsamplerate; extern float libsamplerate_scale; M_BindVariable("snd_musicdevice", &snd_musicdevice); M_BindVariable("snd_sfxdevice", &snd_sfxdevice); M_BindVariable("snd_sbport", &snd_sbport); M_BindVariable("snd_sbirq", &snd_sbirq); M_BindVariable("snd_sbdma", &snd_sbdma); M_BindVariable("snd_mport", &snd_mport); M_BindVariable("snd_maxslicetime_ms", &snd_maxslicetime_ms); M_BindVariable("snd_musiccmd", &snd_musiccmd); M_BindVariable("snd_samplerate", &snd_samplerate); M_BindVariable("snd_cachesize", &snd_cachesize); M_BindVariable("opl_io_port", &opl_io_port); M_BindVariable("timidity_cfg_path", &timidity_cfg_path); M_BindVariable("gus_patch_path", &gus_patch_path); M_BindVariable("gus_ram_kb", &gus_ram_kb); #ifdef FEATURE_SOUND M_BindVariable("use_libsamplerate", &use_libsamplerate); M_BindVariable("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 }
void M_BindBaseControls(void) { M_BindVariable("key_right", &key_right); M_BindVariable("key_left", &key_left); M_BindVariable("key_up", &key_up); M_BindVariable("key_down", &key_down); M_BindVariable("key_strafeleft", &key_strafeleft); M_BindVariable("key_straferight", &key_straferight); M_BindVariable("key_fire", &key_fire); M_BindVariable("key_use", &key_use); M_BindVariable("key_strafe", &key_strafe); M_BindVariable("key_speed", &key_speed); M_BindVariable("mouseb_fire", &mousebfire); M_BindVariable("mouseb_strafe", &mousebstrafe); M_BindVariable("mouseb_forward", &mousebforward); M_BindVariable("joyb_fire", &joybfire); M_BindVariable("joyb_strafe", &joybstrafe); M_BindVariable("joyb_use", &joybuse); M_BindVariable("joyb_speed", &joybspeed); M_BindVariable("joyb_menu_activate", &joybmenu); // Extra controls that are not in the Vanilla versions: M_BindVariable("joyb_strafeleft", &joybstrafeleft); M_BindVariable("joyb_straferight", &joybstraferight); M_BindVariable("mouseb_strafeleft", &mousebstrafeleft); M_BindVariable("mouseb_straferight", &mousebstraferight); M_BindVariable("mouseb_use", &mousebuse); M_BindVariable("mouseb_backward", &mousebbackward); M_BindVariable("dclick_use", &dclick_use); M_BindVariable("key_pause", &key_pause); M_BindVariable("key_message_refresh", &key_message_refresh); }
void BindCompatibilityVariables(void) { if (gamemission == doom || gamemission == strife) { M_BindVariable("vanilla_savegame_limit", &vanilla_savegame_limit); M_BindVariable("vanilla_demo_limit", &vanilla_demo_limit); if (gamemission == doom) { M_BindVariable("crispy_translucency", &crispy_translucency); M_BindVariable("crispy_coloredhud", &crispy_coloredhud); M_BindVariable("crispy_automapstats", &crispy_automapstats); M_BindVariable("crispy_secretmessage", &crispy_secretmessage); M_BindVariable("crispy_crosshair", &crispy_crosshair); M_BindVariable("crispy_jump", &crispy_jump); M_BindVariable("crispy_freelook", &crispy_freelook); M_BindVariable("crispy_mouselook", &crispy_mouselook); M_BindVariable("crispy_freeaim", &crispy_freeaim); M_BindVariable("crispy_overunder", &crispy_overunder); M_BindVariable("crispy_recoil", &crispy_recoil); } } }
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_BindVariable("mouse_sensitivity", &mouseSensitivity); M_BindVariable("sfx_volume", &sfxVolume); M_BindVariable("music_volume", &musicVolume); M_BindVariable("voice_volume", &voiceVolume); M_BindVariable("show_talk", &dialogshowtext); M_BindVariable("screensize", &screenblocks); M_BindVariable("snd_channels", &snd_channels); M_BindVariable("vanilla_savegame_limit", &vanilla_savegame_limit); M_BindVariable("vanilla_demo_limit", &vanilla_demo_limit); M_BindVariable("show_endoom", &show_endoom); M_BindVariable("back_flat", &back_flat); M_BindVariable("graphical_startup", &graphical_startup); M_BindVariable("nickname", &nickname); M_BindVariable("comport", &comport); // Multiplayer chat macros for (i=0; i<10; ++i) { char buf[12]; M_snprintf(buf, sizeof(buf), "chatmacro%i", i); M_BindVariable(buf, &chat_macros[i]); } }
void I_BindVideoVariables(void) { 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("screen_bpp", &screen_bpp); 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); // 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_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_BindVariable("mouse_sensitivity", &mouseSensitivity); M_BindVariable("sfx_volume", &sfxVolume); M_BindVariable("music_volume", &musicVolume); M_BindVariable("show_messages", &showMessages); M_BindVariable("screenblocks", &screenblocks); M_BindVariable("detaillevel", &detailLevel); M_BindVariable("snd_channels", &snd_channels); M_BindVariable("vanilla_savegame_limit", &vanilla_savegame_limit); M_BindVariable("vanilla_demo_limit", &vanilla_demo_limit); M_BindVariable("show_endoom", &show_endoom); // Multiplayer chat macros for (i=0; i<10; ++i) { char buf[12]; M_snprintf(buf, sizeof(buf), "chatmacro%i", i); M_BindVariable(buf, &chat_macros[i]); } }
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("screen_bpp", &screen_bpp); M_BindVariable("startup_delay", &startup_delay); M_BindVariable("video_driver", &video_driver); M_BindVariable("window_position", &window_position); M_BindVariable("usegamma", &usegamma); if (gamemission == doom || gamemission == heretic || gamemission == strife) { M_BindVariable("show_endoom", &show_endoom); } if (gamemission == heretic || gamemission == hexen || gamemission == strife) { M_BindVariable("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 #ifdef __ANDROID__ //NOT WORKING fullscreen = 0; screen_width = 640; screen_height = 400; #endif }
void M_BindHexenControls(void) { M_BindVariable("key_jump", &key_jump); M_BindVariable("mouseb_jump", &mousebjump); M_BindVariable("joyb_jump", &joybjump); M_BindVariable("key_arti_all", &key_arti_all); M_BindVariable("key_arti_health", &key_arti_health); M_BindVariable("key_arti_poisonbag", &key_arti_poisonbag); M_BindVariable("key_arti_blastradius", &key_arti_blastradius); M_BindVariable("key_arti_teleport", &key_arti_teleport); M_BindVariable("key_arti_teleportother", &key_arti_teleportother); M_BindVariable("key_arti_egg", &key_arti_egg); M_BindVariable("key_arti_invulnerability", &key_arti_invulnerability); }
void BindKeyboardVariables(void) { M_BindVariable("vanilla_keyboard_mapping", &vanilla_keyboard_mapping); }
void M_BindBaseControls(void) { M_BindVariable("sfx_volume", &sfxVolume); M_BindVariable("music_volume", &musicVolume); /* M_BindVariable("show_talk", &dialogshowtext); M_BindVariable("voice_volume", &voiceVolume); */ M_BindVariable("screensize", &screenblocks); M_BindVariable("walking_speed", &forwardmove); M_BindVariable("turning_speed", &turnspeed); M_BindVariable("strafing_speed", &sidemove); // M_BindVariable("freelook_speed", &mspeed); M_BindVariable("use_gamma", &usegamma); /* M_BindVariable("mouse_look", &mouselook); M_BindVariable("voices", &disable_voices); M_BindVariable("fps", &display_fps); // FOR PSP: DON'T ACTIVATE (WIPE = CRASH) M_BindVariable("framelimit", &frame_limit); */ M_BindVariable("map_grid", &drawgrid); M_BindVariable("follow_player", &followplayer); M_BindVariable("showstats", &show_stats); M_BindVariable("show_messages", &showMessages); /* M_BindVariable("cpu", &mhz333); M_BindVariable("ticker", &display_ticker); // FOR PSP: DON'T ACTIVATE (WIPE = CRASH) */ M_BindVariable("map_rotate", &am_rotate); M_BindVariable("detail", &detailLevel); #ifdef OGG_SUPPORT M_BindVariable("opl_mode", &opl); #endif // M_BindVariable("btn_layout", &button_layout); M_BindVariable("vanilla_weapon_change", &use_vanilla_weapon_change); M_BindVariable("xhair", &crosshair); M_BindVariable("jump", &jumping); M_BindVariable("key_fire", &joy_r); M_BindVariable("key_use", &joy_l); M_BindVariable("key_menu", &joy_minus); M_BindVariable("key_weapon_left", &joy_left); M_BindVariable("key_automap", &joy_down); M_BindVariable("key_weapon_right", &joy_right); M_BindVariable("key_automap_zoom_in", &joy_zl); M_BindVariable("key_automap_zoom_out", &joy_zr); M_BindVariable("key_jump", &joy_home); M_BindVariable("key_run", &joy_1); /* M_BindVariable("key_righttrigger", &joy_r); M_BindVariable("key_zl", &joy_zl); M_BindVariable("key_zr", &joy_zr); M_BindVariable("key_a", &joy_a); M_BindVariable("key_b", &joy_b); M_BindVariable("key_x", &joy_x); M_BindVariable("key_y", &joy_y); */ /* M_BindVariable("key_uparrow", &key_up); M_BindVariable("key_downarrow", &key_down); M_BindVariable("key_leftarrow", &key_left); M_BindVariable("key_rightarrow", &key_right); M_BindVariable("key_select", &key_strafeleft); M_BindVariable("key_lefttrigger", &key_use); M_BindVariable("key_righttrigger", &key_fire); */ /* M_BindVariable("use_mouse", &usemouse); M_BindVariable("key_invDrop", &key_invdrop); M_BindVariable("key_straferight", &key_straferight); M_BindVariable("key_strafe", &key_strafe); M_BindVariable("key_speed", &key_speed); M_BindVariable("mouseb_fire", &mousebfire); M_BindVariable("mouseb_strafe", &mousebstrafe); M_BindVariable("mouseb_forward", &mousebforward); M_BindVariable("joyb_fire", &joybfire); M_BindVariable("joyb_strafe", &joybstrafe); M_BindVariable("joyb_use", &joybuse); M_BindVariable("joyb_speed", &joybspeed); M_BindVariable("joyb_menu_activate", &joybmenu); // Extra controls that are not in the Vanilla versions: M_BindVariable("joyb_strafeleft", &joybstrafeleft); M_BindVariable("joyb_straferight", &joybstraferight); M_BindVariable("mouseb_strafeleft", &mousebstrafeleft); M_BindVariable("mouseb_straferight", &mousebstraferight); M_BindVariable("mouseb_use", &mousebuse); M_BindVariable("mouseb_backward", &mousebbackward); M_BindVariable("dclick_use", &dclick_use); M_BindVariable("key_pause", &key_pause); M_BindVariable("key_message_refresh", &key_message_refresh); */ }