/* * @brief Initializes the client console. */ void Cl_InitConsole(void) { memset(&cl_console, 0, sizeof(cl_console)); cl_console.Append = Cl_Print; Con_AddConsole(&cl_console); file_t *file = Fs_OpenRead("history"); if (file) { Con_ReadHistory(&cl_console, file); Fs_Close(file); } else { Com_Debug("Couldn't read history"); } memset(&cl_chat_console, 0, sizeof(cl_chat_console)); cl_chat_console.level = PRINT_CHAT | PRINT_TEAM_CHAT; cl_draw_chat = Cvar_Get("cl_draw_chat", "1", 0, "Draw recent chat messages"); cl_draw_notify = Cvar_Get("cl_draw_notify", "1", 0, "Draw recent console activity"); cl_notify_lines = Cvar_Get("cl_console_notify_lines", "3", CVAR_ARCHIVE, NULL); cl_notify_time = Cvar_Get("cl_notify_time", "3.0", CVAR_ARCHIVE, NULL); cl_chat_lines = Cvar_Get("cl_chat_lines", "3", CVAR_ARCHIVE, NULL); cl_chat_time = Cvar_Get("cl_chat_time", "10.0", CVAR_ARCHIVE, NULL); Cmd_Add("cl_toggle_console", Cl_ToggleConsole_f, CMD_SYSTEM | CMD_CLIENT, "Toggle the console"); Cmd_Add("cl_message_mode", Cl_MessageMode_f, CMD_CLIENT, "Activate chat"); Cmd_Add("cl_message_mode_2", Cl_MessageMode2_f, CMD_CLIENT, "Activate team chat"); Com_Print("Client console initialized\n"); }
/* * @brief */ void Cl_InitInput(void) { Cmd_Add("center_view", Cl_CenterView_f, CMD_CLIENT, NULL); Cmd_Add("+move_up", Cl_Up_down_f, CMD_CLIENT, NULL); Cmd_Add("-move_up", Cl_Up_up_f, CMD_CLIENT, NULL); Cmd_Add("+move_down", Cl_Down_down_f, CMD_CLIENT, NULL); Cmd_Add("-move_down", Cl_Down_up_f, CMD_CLIENT, NULL); Cmd_Add("+left", Cl_Left_down_f, CMD_CLIENT, NULL); Cmd_Add("-left", Cl_Left_up_f, CMD_CLIENT, NULL); Cmd_Add("+right", Cl_Right_down_f, CMD_CLIENT, NULL); Cmd_Add("-right", Cl_Right_up_f, CMD_CLIENT, NULL); Cmd_Add("+forward", Cl_Forward_down_f, CMD_CLIENT, NULL); Cmd_Add("-forward", Cl_Forward_up_f, CMD_CLIENT, NULL); Cmd_Add("+back", Cl_Back_down_f, CMD_CLIENT, NULL); Cmd_Add("-back", Cl_Back_up_f, CMD_CLIENT, NULL); Cmd_Add("+look_up", Cl_LookUp_down_f, CMD_CLIENT, NULL); Cmd_Add("-look_up", Cl_LookUp_up_f, CMD_CLIENT, NULL); Cmd_Add("+look_down", Cl_LookDown_down_f, CMD_CLIENT, NULL); Cmd_Add("-look_down", Cl_LookDown_up_f, CMD_CLIENT, NULL); Cmd_Add("+move_left", Cl_MoveLeft_down_f, CMD_CLIENT, NULL); Cmd_Add("-move_left", Cl_MoveLeft_up_f, CMD_CLIENT, NULL); Cmd_Add("+move_right", Cl_MoveRight_down_f, CMD_CLIENT, NULL); Cmd_Add("-move_right", Cl_MoveRight_up_f, CMD_CLIENT, NULL); Cmd_Add("+speed", Cl_Speed_down_f, CMD_CLIENT, NULL); Cmd_Add("-speed", Cl_Speed_up_f, CMD_CLIENT, NULL); Cmd_Add("+attack", Cl_Attack_down_f, CMD_CLIENT, NULL); Cmd_Add("-attack", Cl_Attack_up_f, CMD_CLIENT, NULL); cl_run = Cvar_Get("cl_run", "1", CVAR_ARCHIVE, NULL); cl_forward_speed = Cvar_Get("cl_forward_speed", "100.0", 0, NULL); cl_pitch_speed = Cvar_Get("cl_pitch_speed", "0.15", 0, NULL); cl_right_speed = Cvar_Get("cl_right_speed", "100.0", 0, NULL); cl_up_speed = Cvar_Get("cl_up_speed", "100.0", 0, NULL); cl_yaw_speed = Cvar_Get("cl_yaw_speed", "0.2", 0, NULL); m_grab = Cvar_Get("m_grab", "1", 0, NULL); m_interpolate = Cvar_Get("m_interpolate", "0", CVAR_ARCHIVE, NULL); m_invert = Cvar_Get("m_invert", "0", CVAR_ARCHIVE, "Invert the mouse"); m_pitch = Cvar_Get("m_pitch", "0.022", 0, NULL); m_sensitivity = Cvar_Get("m_sensitivity", "3.0", CVAR_ARCHIVE, NULL); m_sensitivity_zoom = Cvar_Get("m_sensitivity_zoom", "1.0", CVAR_ARCHIVE, NULL); m_yaw = Cvar_Get("m_yaw", "0.022", 0, NULL); Cl_ClearInput(); cls.mouse_state.grabbed = true; }
/* * @brief */ void Cl_InitView(void) { Cmd_Add("cl_view_size_up", Cl_ViewSizeUp_f, CMD_CLIENT, NULL); Cmd_Add("cl_view_size_down", Cl_ViewSizeDown_f, CMD_CLIENT, NULL); }
/* * @brief Initializes console variables and commands for the renderer. */ static void R_InitLocal(void) { // development tools r_clear = Cvar_Get("r_clear", "0", 0, "Controls buffer clearing (developer tool)"); r_cull = Cvar_Get("r_cull", "1", CVAR_LO_ONLY, "Controls bounded box culling routines (developer tool)"); r_lock_vis = Cvar_Get("r_lock_vis", "0", CVAR_LO_ONLY, "Temporarily locks the PVS lookup for world surfaces (developer tool)"); r_no_vis = Cvar_Get("r_no_vis", "0", CVAR_LO_ONLY, "Disables PVS refresh and lookup for world surfaces (developer tool)"); r_draw_bsp_leafs = Cvar_Get("r_draw_bsp_leafs", "0", CVAR_LO_ONLY, "Controls the rendering of BSP leafs (developer tool)"); r_draw_bsp_lights = Cvar_Get("r_draw_bsp_lights", "0", CVAR_LO_ONLY, "Controls the rendering of static BSP light sources (developer tool)"); r_draw_bsp_lightmaps = Cvar_Get("r_draw_bsp_lightmaps", "0", CVAR_LO_ONLY, "Controls the rendering of BSP lightmap textures (developer tool)"); r_draw_bsp_normals = Cvar_Get("r_draw_bsp_normals", "0", CVAR_LO_ONLY, "Controls the rendering of BSP surface normals (developer tool)"); r_draw_wireframe = Cvar_Get("r_draw_wireframe", "0", CVAR_LO_ONLY, "Controls the rendering of polygons as wireframe (developer tool)"); // settings and preferences r_anisotropy = Cvar_Get("r_anisotropy", "1", CVAR_ARCHIVE | CVAR_R_MEDIA, "Controls anisotropic texture filtering"); r_brightness = Cvar_Get("r_brightness", "1.0", CVAR_ARCHIVE | CVAR_R_MEDIA, "Controls texture brightness"); r_bumpmap = Cvar_Get("r_bumpmap", "1.0", CVAR_ARCHIVE | CVAR_R_MEDIA, "Controls the intensity of bump-mapping effects"); r_contrast = Cvar_Get("r_contrast", "1.0", CVAR_ARCHIVE | CVAR_R_MEDIA, "Controls texture contrast"); r_coronas = Cvar_Get("r_coronas", "1", CVAR_ARCHIVE, "Controls the rendering of coronas"); r_draw_buffer = Cvar_Get("r_draw_buffer", "GL_BACK", CVAR_ARCHIVE, NULL); r_flares = Cvar_Get("r_flares", "1.0", CVAR_ARCHIVE, "Controls the rendering of light source flares"); r_fog = Cvar_Get("r_fog", "1", CVAR_ARCHIVE, "Controls the rendering of fog effects"); r_fullscreen = Cvar_Get("r_fullscreen", "1", CVAR_ARCHIVE | CVAR_R_CONTEXT, "Controls fullscreen mode"); r_gamma = Cvar_Get("r_gamma", "1.0", CVAR_ARCHIVE | CVAR_R_CONTEXT, "Controls video gamma (brightness)"); r_hardness = Cvar_Get("r_hardness", "1.0", CVAR_ARCHIVE, "Controls the hardness of bump-mapping effects"); r_height = Cvar_Get("r_height", "0", CVAR_ARCHIVE | CVAR_R_CONTEXT, NULL); r_invert = Cvar_Get("r_invert", "0", CVAR_ARCHIVE | CVAR_R_MEDIA, "Inverts the RGB values of all world textures"); r_lightmap_block_size = Cvar_Get("r_lightmap_block_size", "4096", CVAR_ARCHIVE | CVAR_R_MEDIA, NULL); r_lighting = Cvar_Get("r_lighting", "1.0", CVAR_ARCHIVE, "Controls intensity of hardware lighting effects"); r_line_alpha = Cvar_Get("r_line_alpha", "0.5", CVAR_ARCHIVE, NULL); r_line_width = Cvar_Get("r_line_width", "1.0", CVAR_ARCHIVE, NULL); r_materials = Cvar_Get("r_materials", "1", CVAR_ARCHIVE, "Enables or disables the materials (progressive texture effects) system"); r_modulate = Cvar_Get("r_modulate", "3.0", CVAR_ARCHIVE | CVAR_R_MEDIA, "Controls the brightness of world surface lightmaps"); r_monochrome = Cvar_Get("r_monochrome", "0", CVAR_ARCHIVE | CVAR_R_MEDIA, "Loads all world textures as monochrome"); r_multisample = Cvar_Get("r_multisample", "0", CVAR_ARCHIVE | CVAR_R_CONTEXT, "Controls multisampling (anti-aliasing)"); r_optimize = Cvar_Get("r_optimize", "1", CVAR_ARCHIVE, "Controls BSP recursion optimization strategy"); r_parallax = Cvar_Get("r_parallax", "1.0", CVAR_ARCHIVE, "Controls the intensity of parallax mapping effects"); r_programs = Cvar_Get("r_programs", "1", CVAR_ARCHIVE, "Controls GLSL shaders"); r_render_mode = Cvar_Get("r_render_mode", "default", CVAR_ARCHIVE, "Specifies the active renderer plugin (default or pro)"); r_saturation = Cvar_Get("r_saturation", "1.0", CVAR_ARCHIVE | CVAR_R_MEDIA, "Controls texture saturation"); r_screenshot_quality = Cvar_Get("r_screenshot_quality", "95", CVAR_ARCHIVE, "Screenshot image quality (JPEG compression 0 - 100)"); r_shadows = Cvar_Get("r_shadows", "1", CVAR_ARCHIVE, "Controls the rendering of mesh model shadows"); r_specular = Cvar_Get("r_specular", "1.0", CVAR_ARCHIVE, "Controls the specularity of bump-mapping effects"); r_swap_interval = Cvar_Get("r_swap_interval", "0", CVAR_ARCHIVE | CVAR_R_CONTEXT, "Controls vertical refresh synchronization (v-sync)"); r_texture_mode = Cvar_Get("r_texture_mode", "GL_LINEAR_MIPMAP_LINEAR", CVAR_ARCHIVE | CVAR_R_MEDIA, "Specifies the active texture filtering mode"); r_vertex_buffers = Cvar_Get("r_vertex_buffers", "1", CVAR_ARCHIVE, "Controls the use of vertex buffer objects (VBO)"); r_warp = Cvar_Get("r_warp", "1", CVAR_ARCHIVE, "Controls warping surface effects (e.g. water)"); r_width = Cvar_Get("r_width", "0", CVAR_ARCHIVE | CVAR_R_CONTEXT, NULL); r_windowed_height = Cvar_Get("r_windowed_height", "0", CVAR_ARCHIVE | CVAR_R_CONTEXT, NULL); r_windowed_width = Cvar_Get("r_windowed_width", "0", CVAR_ARCHIVE | CVAR_R_CONTEXT, NULL); Cvar_ClearAll(CVAR_R_MASK); Cmd_Add("r_list_media", R_ListMedia_f, CMD_RENDERER, "List all currently loaded media"); Cmd_Add("r_screenshot", R_Screenshot_f, CMD_SYSTEM | CMD_RENDERER, "Take a screenshot"); Cmd_Add("r_sky", R_Sky_f, CMD_RENDERER, NULL); Cmd_Add("r_toggle_fullscreen", R_ToggleFullscreen_f, CMD_SYSTEM | CMD_RENDERER, "Toggle fullscreen"); Cmd_Add("r_restart", R_Restart_f, CMD_RENDERER, "Restart the rendering subsystem"); }
/** * @brief */ static void Init(void) { SDL_Init(SDL_INIT_TIMER); Mem_Init(); Cmd_Init(); Cvar_Init(); verbose = Cvar_Add("verbose", "0", 0, "Print verbose debugging information"); dedicated = Cvar_Add("dedicated", "0", CVAR_NO_SET, "Run a dedicated server"); if (strstr(Sys_ExecutablePath(), "-dedicated")) { Cvar_ForceSet("dedicated", "1"); } if (dedicated->value) { Cvar_ForceSet("threads", "0"); } game = Cvar_Add("game", DEFAULT_GAME, CVAR_LATCH | CVAR_SERVER_INFO, "The game module name"); game->modified = g_strcmp0(game->string, DEFAULT_GAME); threads = Cvar_Add("threads", "0", CVAR_ARCHIVE, "Specifies the number of threads to create"); threads->modified = false; time_demo = Cvar_Add("time_demo", "0", CVAR_LO_ONLY, "Benchmark and stress test"); time_scale = Cvar_Add("time_scale", "1.0", CVAR_LO_ONLY, "Controls time lapse"); const char *s = va("Quetoo %s %s %s", VERSION, __DATE__, BUILD_HOST); Cvar_Add("version", s, CVAR_SERVER_INFO | CVAR_NO_SET, NULL); quetoo.Debug = Debug; quetoo.Error = Error; quetoo.Print = Print; quetoo.Verbose = Verbose; quetoo.Warn = Warn; Fs_Init(true); Thread_Init(threads->integer); Con_Init(); Cmd_Add("mem_stats", MemStats_f, CMD_SYSTEM, "Print memory stats"); Cmd_Add("debug", Debug_f, CMD_SYSTEM, "Control debugging output"); Cmd_Add("quit", Quit_f, CMD_SYSTEM, "Quit Quetoo"); Netchan_Init(); Sv_Init(); Cl_Init(); Com_Print("Quetoo %s %s %s initialized\n", VERSION, __DATE__, BUILD_HOST); // reset debug value since Cbuf may change it from Com's "all" init Com_SetDebug("0"); // execute any +commands specified on the command line Cbuf_InsertFromDefer(); Cbuf_Execute(); // dedicated server, nothing specified, use Edge if (dedicated->value && !Com_WasInit(QUETOO_SERVER)) { Cbuf_AddText("map edge\n"); Cbuf_Execute(); } }