MACRO_CONFIG_INT(ClAntiPingLimit,cl_antiping_limit,0,0,200,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Antiping limit (0 to disable)")
MACRO_CONFIG_INT(ClAntiPing,cl_antiping,0,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Enable antiping, i. e. more aggressive prediction.")
MACRO_CONFIG_INT(ClAntiPingPlayers,cl_antiping_players,1,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Predict other player's movement more aggressively (only enabled if cl_antiping is set to 1)")
MACRO_CONFIG_INT(ClAntiPingGrenade,cl_antiping_grenade,1,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Predict grenades (only enabled if cl_antiping is set to 1)")
MACRO_CONFIG_INT(ClAntiPingWeapons,cl_antiping_weapons,1,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Predict weapon projectiles (only enabled if cl_antiping is set to 1)")
MACRO_CONFIG_INT(ClAntiPingSmooth,cl_antiping_smooth,0,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Make the prediction of other player's movement smoother")
MACRO_CONFIG_INT(ClAntiPingGunfire,cl_antiping_gunfire,1,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Predict gunfire and show predicted weapon physics (with cl_antiping_grenade 1 and cl_antiping_weapons 1)")
MACRO_CONFIG_INT(ClPredictionMargin,cl_prediction_margin,10,1,300,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Prediction margin in ms (adds latency, can reduce lag from ping jumps)")
MACRO_CONFIG_INT(ClSubTickAiming,cl_sub_tick_aiming,0,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Send aiming data at sub-tick accuracy")
MACRO_CONFIG_INT(ClNameplates,cl_nameplates,1,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Show name plates")
MACRO_CONFIG_INT(ClAfkEmote,cl_afk_emote,1,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Show zzz emote next to afk players")
MACRO_CONFIG_INT(ClNameplatesAlways,cl_nameplates_always,1,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Always show name plates disregarding of distance")
MACRO_CONFIG_INT(ClNameplatesTeamcolors,cl_nameplates_teamcolors,1,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Use team colors for name plates")
MACRO_CONFIG_INT(ClNameplatesSize,cl_nameplates_size,50,0,100,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Size of the name plates from 0 to 100%")
MACRO_CONFIG_INT(ClNameplatesClan,cl_nameplates_clan,0,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Show clan in name plates")
MACRO_CONFIG_INT(ClNameplatesClanSize,cl_nameplates_clan_size,30,0,100,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Size of the clan plates from 0 to 100%")
MACRO_CONFIG_INT(ClNameplatesIDs,cl_nameplates_ids,0,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Show IDs in name plates")
MACRO_CONFIG_INT(ClNameplatesOwn,cl_nameplates_own,0,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Show own name plate (useful for demo recording)")
MACRO_CONFIG_INT(ClNameplatesFriendMark,cl_nameplates_friendmark,0,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Show friend mark (♥) in name plates")
MACRO_CONFIG_INT(ClNameplatesStrong,cl_nameplates_strong,0,0,2,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Show strong/weak in name plates (0 - off, 1 - icons, 2 - icons + numbers)")
MACRO_CONFIG_INT(ClTextEntitiesSize,cl_text_entities_size,100,1,100,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Size of textual entity data from 1 to 100%")
MACRO_CONFIG_INT(ClStreamerMode,cl_streamer_mode,0,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Censor sensitive information such as /save password")
MACRO_CONFIG_COL(ClAuthedPlayerColor,cl_authed_player_color,5898211,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Color of name of authenticated player in scoreboard")
MACRO_CONFIG_COL(ClSameClanColor,cl_same_clan_color,5898211,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Clan color of players with the same clan as you in scoreboard.")
MACRO_CONFIG_INT(ClEnablePingColor,cl_enable_ping_color,1,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Whether ping is colored in scoreboard.")
MACRO_CONFIG_INT(ClAutoswitchWeapons,cl_autoswitch_weapons,1,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Auto switch weapon on pickup")
MACRO_CONFIG_INT(ClAutoswitchWeaponsOutOfAmmo,cl_autoswitch_weapons_out_of_ammo,0,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Auto switch weapon when out of ammo")
MACRO_CONFIG_INT(ClShowhudJumpsIndicator,cl_showhud_jumps_indicator,1,0,1,CFGFLAG_SAVE|CFGFLAG_CLIENT,"Show ingame HUD (Jumps you have and have used)")
MACRO_CONFIG_INT(ClShowFreezeBars,cl_show_freeze_bars,1,0,1,CFGFLAG_SAVE|CFGFLAG_CLIENT,"Whether to show a freeze bar under frozen players to indicate the thaw time")
MACRO_CONFIG_INT(ClWarningTeambalance,cl_warning_teambalance,1,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Warn about team balance")
MACRO_CONFIG_INT(ClMouseDeadzone,cl_mouse_deadzone,0,0,3000,CFGFLAG_CLIENT|CFGFLAG_SAVE|CFGFLAG_INSENSITIVE,"Deadzone for the camera to follow the cursor")
MACRO_CONFIG_INT(ClMouseFollowfactor,cl_mouse_followfactor,0,0,200,CFGFLAG_CLIENT|CFGFLAG_SAVE|CFGFLAG_INSENSITIVE,"Factor for the camera to follow the cursor")
MACRO_CONFIG_INT(ClDyncamMaxDistance,cl_dyncam_max_distance,1000,0,2000,CFGFLAG_CLIENT|CFGFLAG_SAVE|CFGFLAG_INSENSITIVE,"Maximum dynamic camera cursor distance")
MACRO_CONFIG_INT(ClDyncamMinDistance,cl_dyncam_min_distance,0,0,2000,CFGFLAG_CLIENT|CFGFLAG_SAVE|CFGFLAG_INSENSITIVE,"Minimum dynamic camera cursor distance")
MACRO_CONFIG_INT(ClDyncamMousesens,cl_dyncam_mousesens,0,0,100000,CFGFLAG_CLIENT|CFGFLAG_SAVE|CFGFLAG_INSENSITIVE,"Mouse sens used when dyncam is toggled on")
MACRO_CONFIG_INT(ClDyncamDeadzone,cl_dyncam_deadzone,300,1,1300,CFGFLAG_CLIENT|CFGFLAG_SAVE|CFGFLAG_INSENSITIVE,"Deadzone for the dynamic camera to follow the cursor")
MACRO_CONFIG_INT(ClDyncamFollowFactor,cl_dyncam_follow_factor,60,0,200,CFGFLAG_CLIENT|CFGFLAG_SAVE|CFGFLAG_INSENSITIVE,"Factor for the dynamic camera to follow the cursor")
MACRO_CONFIG_INT(ClDyncamSmoothness,cl_dyncam_smoothness,0,0,100,CFGFLAG_CLIENT|CFGFLAG_SAVE|CFGFLAG_INSENSITIVE,"Transition amount of the camera movement, 0=instant, 100=slow and smooth")
MACRO_CONFIG_INT(ClDyncamStabilizing,cl_dyncam_stabilizing,0,0,100,CFGFLAG_CLIENT|CFGFLAG_SAVE|CFGFLAG_INSENSITIVE,"Amount of camera slowdown during fast cursor movement. High value can cause delay in camera movement")
MACRO_CONFIG_INT(ClMultiViewSensitivity,cl_multiview_sensitivity,100,0,200,CFGFLAG_CLIENT|CFGFLAG_INSENSITIVE,"Set how fast the camera will move to the desired location (higher = faster)")
MACRO_CONFIG_INT(ClMultiViewZoomSmoothness,cl_multiview_zoom_smoothness,1300,50,5000,CFGFLAG_CLIENT|CFGFLAG_INSENSITIVE,"Set the smoothness of the multi-view zoom (in ms, higher = slower)")
MACRO_CONFIG_INT(EdAutosaveInterval,ed_autosave_interval,10,0,240,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Interval in minutes at which a copy of the current editor map is automatically saved to the 'auto' folder (0 for off)")
MACRO_CONFIG_INT(EdAutosaveMax,ed_autosave_max,10,0,1000,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Maximum number of autosaves that are kept per map name (0 = no limit)")
MACRO_CONFIG_INT(EdSmoothZoomTime,ed_smooth_zoom_time,250,0,5000,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Time of smooth zoom animation in the editor in ms (0 for off)")
MACRO_CONFIG_INT(EdLimitMaxZoomLevel,ed_limit_max_zoom_level,1,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Specifies, if zooming in the editor should be limited or not (0 = no limit)")
MACRO_CONFIG_INT(EdZoomTarget,ed_zoom_target,0,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Zoom to the current mouse target")
MACRO_CONFIG_INT(EdAlignQuads,ed_align_quads,1,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Enable/disable quad alignment. When enabled, red lines appear to show how quad/points are aligned and snapped to other quads/points when moving them")
MACRO_CONFIG_INT(EdShowQuadsRect,ed_show_quads_rect,0,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Show the bounds of the selected quad. In case of multiple quads, it shows the bounds of the englobing rect. Can be helpful when aligning a group of quads")
MACRO_CONFIG_INT(ClShowWelcome,cl_show_welcome,1,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Show welcome message indicating the first launch of the client")
MACRO_CONFIG_INT(ClMotdTime,cl_motd_time,10,0,100,CFGFLAG_CLIENT|CFGFLAG_SAVE,"How long to show the server message of the day")
// http map download
MACRO_CONFIG_STR(ClMapDownloadUrl,cl_map_download_url,100,"https://maps.ddnet.org",CFGFLAG_CLIENT|CFGFLAG_SAVE,"URL used to download maps (can start with http:// or https://)")
MACRO_CONFIG_INT(ClMapDownloadConnectTimeoutMs,cl_map_download_connect_timeout_ms,2000,0,100000,CFGFLAG_CLIENT|CFGFLAG_SAVE,"HTTP map downloads: timeout for the connect phase in milliseconds (0 to disable)")
MACRO_CONFIG_INT(ClMapDownloadLowSpeedLimit,cl_map_download_low_speed_limit,4000,0,100000,CFGFLAG_CLIENT|CFGFLAG_SAVE,"HTTP map downloads: Set low speed limit in bytes per second (0 to disable)")
MACRO_CONFIG_INT(ClMapDownloadLowSpeedTime,cl_map_download_low_speed_time,3,0,100000,CFGFLAG_CLIENT|CFGFLAG_SAVE,"HTTP map downloads: Set low speed limit time period (0 to disable)")
MACRO_CONFIG_STR(ClLanguagefile,cl_languagefile,255,"",CFGFLAG_CLIENT|CFGFLAG_SAVE,"What language file to use")
MACRO_CONFIG_STR(ClSkinDownloadUrl,cl_skin_download_url,100,"https://skins.ddnet.org/skin/",CFGFLAG_CLIENT|CFGFLAG_SAVE,"URL used to download skins")
MACRO_CONFIG_STR(ClSkinCommunityDownloadUrl,cl_skin_community_download_url,100,"https://skins.ddnet.org/skin/community/",CFGFLAG_CLIENT|CFGFLAG_SAVE,"URL used to download community skins")
MACRO_CONFIG_INT(ClVanillaSkinsOnly,cl_vanilla_skins_only,0,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Only show skins available in Vanilla Teeworlds")
MACRO_CONFIG_INT(ClDownloadSkins,cl_download_skins,1,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Download skins from cl_skin_download_url on-the-fly")
MACRO_CONFIG_INT(ClDownloadCommunitySkins,cl_download_community_skins,0,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Allow to download skins created by the community. Uses cl_skin_community_download_url instead of cl_skin_download_url for the download")
MACRO_CONFIG_INT(ClAutoStatboardScreenshot,cl_auto_statboard_screenshot,0,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Automatically take game over statboard screenshot")
MACRO_CONFIG_INT(ClAutoStatboardScreenshotMax,cl_auto_statboard_screenshot_max,10,0,1000,CFGFLAG_SAVE|CFGFLAG_CLIENT,"Maximum number of automatically created statboard screenshots (0 = no limit)")
MACRO_CONFIG_INT(ClSmoothZoomTime,cl_smooth_zoom_time,250,0,5000,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Time of smooth zoom animation ingame in ms (0 for off)")
MACRO_CONFIG_INT(ClLimitMaxZoomLevel,cl_limit_max_zoom_level,1,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Specifies, if zooming ingame should be limited or not (0 = no limit)")
MACRO_CONFIG_INT(ClPlayerUseCustomColor,player_use_custom_color,0,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE|CFGFLAG_INSENSITIVE,"Toggles usage of custom colors")
MACRO_CONFIG_COL(ClPlayerColorBody,player_color_body,65408,CFGFLAG_CLIENT|CFGFLAG_SAVE|CFGFLAG_COLLIGHT|CFGFLAG_INSENSITIVE,"Player body color")
MACRO_CONFIG_STR(UiServerAddress,ui_server_address,1024,"localhost:8303",CFGFLAG_CLIENT|CFGFLAG_SAVE|CFGFLAG_INSENSITIVE,"Interface server address")
MACRO_CONFIG_INT(UiMousesens,ui_mousesens,200,1,100000,CFGFLAG_SAVE|CFGFLAG_CLIENT,"Mouse sensitivity for menus/editor")
MACRO_CONFIG_INT(UiControllerSens,ui_controller_sens,100,1,100000,CFGFLAG_SAVE|CFGFLAG_CLIENT,"Controller sensitivity for menus/editor")
MACRO_CONFIG_INT(UiSmoothScrollTime,ui_smooth_scroll_time,500,0,5000,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Time of smooth scrolling animation in menus/editor in ms (0 for off)")
MACRO_CONFIG_INT(UiCloseWindowAfterChangingSetting,ui_close_window_after_changing_setting,1,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Close window after changing setting")
MACRO_CONFIG_INT(UiUnreadNews,ui_unread_news,0,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Whether there is unread news")
MACRO_CONFIG_INT(ClDummy,cl_dummy,0,0,1,CFGFLAG_CLIENT|CFGFLAG_INSENSITIVE,"0 - player / 1 - dummy")
MACRO_CONFIG_INT(ClDummyHammer,cl_dummy_hammer,0,0,1,CFGFLAG_CLIENT|CFGFLAG_INSENSITIVE,"Whether dummy is hammering for a hammerfly")
MACRO_CONFIG_INT(ClDummyResetOnSwitch,cl_dummy_resetonswitch,0,0,2,CFGFLAG_CLIENT|CFGFLAG_SAVE|CFGFLAG_INSENSITIVE,"Whether dummy or player should stop pressing keys when you switch. 0 = off, 1 = dummy, 2 = player")
MACRO_CONFIG_INT(ClDummyRestoreWeapon,cl_dummy_restore_weapon,1,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE|CFGFLAG_INSENSITIVE,"Whether dummy should switch to last weapon after hammerfly")
MACRO_CONFIG_INT(ClDummyCopyMoves,cl_dummy_copy_moves,0,0,1,CFGFLAG_CLIENT|CFGFLAG_INSENSITIVE,"Whether dummy should copy your moves")
// more controllable dummy command
MACRO_CONFIG_INT(ClDummyControl,cl_dummy_control,0,0,1,CFGFLAG_CLIENT|CFGFLAG_INSENSITIVE,"Whether can you control dummy at the same time (cl_dummy_jump, cl_dummy_fire, cl_dummy_hook)")
MACRO_CONFIG_INT(ClDummyJump,cl_dummy_jump,0,0,1,CFGFLAG_CLIENT|CFGFLAG_INSENSITIVE,"Whether dummy is jumping (requires cl_dummy_control 1)")
MACRO_CONFIG_INT(ClDummyFire,cl_dummy_fire,0,0,1,CFGFLAG_CLIENT|CFGFLAG_INSENSITIVE,"Whether dummy is firing (requires cl_dummy_control 1)")
MACRO_CONFIG_INT(ClDummyHook,cl_dummy_hook,0,0,1,CFGFLAG_CLIENT|CFGFLAG_INSENSITIVE,"Whether dummy is hooking (requires cl_dummy_control 1)")
// start menu
MACRO_CONFIG_INT(ClShowStartMenuImages,cl_show_start_menu_images,1,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Show start menu images")
MACRO_CONFIG_INT(ClSkipStartMenu,cl_skip_start_menu,0,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Skip the start menu")
// server
MACRO_CONFIG_INT(SvWarmup,sv_warmup,0,0,0,CFGFLAG_SERVER,"Number of seconds to do warmup before round starts")
MACRO_CONFIG_STR(SvMotd,sv_motd,900,"",CFGFLAG_SERVER,"Message of the day to display for the clients")
MACRO_CONFIG_INT(SvSpectatorSlots,sv_spectator_slots,0,0,MAX_CLIENTS,CFGFLAG_SERVER,"Number of slots to reserve for spectators")
MACRO_CONFIG_INT(SvInactiveKickTime,sv_inactivekick_time,0,0,1000,CFGFLAG_SERVER,"How many minutes to wait before taking care of inactive players")
MACRO_CONFIG_INT(SvInactiveKick,sv_inactivekick,0,0,2,CFGFLAG_SERVER,"How to deal with inactive players (0=move to spectator, 1=move to free spectator slot/kick, 2=kick)")
MACRO_CONFIG_INT(SvStrictSpectateMode,sv_strict_spectate_mode,0,0,1,CFGFLAG_SERVER,"Restricts information in spectator mode")
MACRO_CONFIG_INT(SvVoteSpectate,sv_vote_spectate,1,0,1,CFGFLAG_SERVER,"Allow voting to move players to spectators")
MACRO_CONFIG_INT(SvVoteSpectateRejoindelay,sv_vote_spectate_rejoindelay,3,0,1000,CFGFLAG_SERVER,"How many minutes to wait before a player can rejoin after being moved to spectators by vote")
MACRO_CONFIG_INT(SvVoteKick,sv_vote_kick,1,0,1,CFGFLAG_SERVER,"Allow voting to kick players")
MACRO_CONFIG_INT(SvVoteKickMin,sv_vote_kick_min,0,0,MAX_CLIENTS,CFGFLAG_SERVER,"Minimum number of players required to start a kick vote")
MACRO_CONFIG_INT(SvVoteKickBantime,sv_vote_kick_bantime,5,0,1440,CFGFLAG_SERVER,"The time in seconds to ban a player if kicked by vote. 0 makes it just use kick")
MACRO_CONFIG_INT(SvJoinVoteDelay,sv_join_vote_delay,300,0,1000,CFGFLAG_SERVER,"Add a delay before recently joined players can call any vote or participate in a kick/spec vote (in seconds)")
MACRO_CONFIG_INT(SvOldTeleportWeapons,sv_old_teleport_weapons,0,0,1,CFGFLAG_SERVER|CFGFLAG_GAME,"Teleporting of all weapons (deprecated, use special entities instead)")
MACRO_CONFIG_INT(SvOldTeleportHook,sv_old_teleport_hook,0,0,1,CFGFLAG_SERVER|CFGFLAG_GAME,"Hook through teleporter (deprecated, use special entities instead)")
MACRO_CONFIG_INT(SvTeleportHoldHook,sv_teleport_hold_hook,0,0,1,CFGFLAG_SERVER|CFGFLAG_GAME,"Hold hook when teleported")
MACRO_CONFIG_INT(SvTeleportLoseWeapons,sv_teleport_lose_weapons,0,0,1,CFGFLAG_SERVER|CFGFLAG_GAME,"Lose weapons when teleported (useful for some race maps)")
MACRO_CONFIG_INT(SvDeepfly,sv_deepfly,1,0,1,CFGFLAG_SERVER|CFGFLAG_GAME,"Allow fire non auto weapons when deep")
MACRO_CONFIG_INT(SvDestroyBulletsOnDeath,sv_destroy_bullets_on_death,1,0,1,CFGFLAG_SERVER|CFGFLAG_GAME,"Destroy bullets when their owner dies")
MACRO_CONFIG_INT(SvDestroyLasersOnDeath,sv_destroy_lasers_on_death,0,0,1,CFGFLAG_SERVER|CFGFLAG_GAME,"Destroy lasers when their owner dies")
MACRO_CONFIG_INT(SvMapUpdateRate,sv_mapupdaterate,5,1,100,CFGFLAG_SERVER,"64 player id <-> vanilla id players map update rate")
MACRO_CONFIG_STR(SvServerType,sv_server_type,64,"none",CFGFLAG_SERVER,"Type of the server (novice, moderate, ...)")
MACRO_CONFIG_INT(SvSendVotesPerTick,sv_send_votes_per_tick,5,1,15,CFGFLAG_SERVER,"Number of vote options being send per tick")
MACRO_CONFIG_INT(SvRescue,sv_rescue,0,0,1,CFGFLAG_SERVER,"Allow /rescue command so players can teleport themselves out of freeze (setting only works in initial config)")
MACRO_CONFIG_INT(SvRescueDelay,sv_rescue_delay,1,0,1000,CFGFLAG_SERVER,"Number of seconds between two rescues")
MACRO_CONFIG_INT(SvPractice,sv_practice,1,0,1,CFGFLAG_SERVER,"Enable practice mode for teams. Means you can use /rescue, but in turn your rank doesn't count.")
MACRO_CONFIG_INT(ClVideoPauseWithDemo,cl_video_pausewithdemo,1,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Pause video rendering when demo playing pause")
MACRO_CONFIG_INT(ClVideoShowhud,cl_video_showhud,0,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Show ingame HUD when rendering video")
MACRO_CONFIG_INT(ClVideoShowChat,cl_video_showchat,1,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Show chat when rendering video")
MACRO_CONFIG_INT(ClVideoSndEnable,cl_video_sound_enable,1,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Use sound when rendering video")
MACRO_CONFIG_INT(ClVideoShowHookCollOther,cl_video_show_hook_coll_other,0,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Show other players' hook collision lines when rendering video")
MACRO_CONFIG_INT(ClVideoShowDirection,cl_video_show_direction,0,0,3,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Show players' key presses when rendering video (1 = other players', 2 = also your own, 3 = only your own)")
MACRO_CONFIG_INT(ClVideoX264Crf,cl_video_crf,18,0,51,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Set crf when encode video with libx264 (0 for highest quality, 51 for lowest)")
MACRO_CONFIG_INT(ClVideoX264Preset,cl_video_preset,5,0,9,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Set preset when encode video with libx264, default is 5 (medium), 0 is ultrafast, 9 is placebo (the slowest, not recommend)")
// debug
#ifdef CONF_DEBUG
MACRO_CONFIG_INT(DbgDummies,dbg_dummies,0,0,MAX_CLIENTS,CFGFLAG_SERVER,"Add debug dummies to server (Debug build only)")
#endif
MACRO_CONFIG_INT(DbgTuning,dbg_tuning,0,0,2,CFGFLAG_CLIENT,"Display information about the tuning parameters that affect the own player (0 = off, 1 = show changed, 2 = show all)")
MACRO_CONFIG_INT(Events,events,1,0,1,CFGFLAG_SAVE|CFGFLAG_CLIENT|CFGFLAG_SERVER,"Enable triggering of events, (eye emotes on some holidays in server, christmas skins in client).")
MACRO_CONFIG_STR(Logfile,logfile,128,"",CFGFLAG_SAVE|CFGFLAG_CLIENT|CFGFLAG_SERVER,"Filename to log all output to")
MACRO_CONFIG_INT(Logappend,logappend,1,0,1,CFGFLAG_SAVE|CFGFLAG_CLIENT|CFGFLAG_SERVER,"Append to logfile instead of overwriting it every time")
MACRO_CONFIG_INT(Loglevel,loglevel,0,-3,2,CFGFLAG_SAVE|CFGFLAG_CLIENT|CFGFLAG_SERVER,"Adjusts the amount of information in the logfile (-3 = none, -2 = error only, -1 = warn, 0 = info, 1 = debug, 2 = trace)")
MACRO_CONFIG_INT(StdoutOutputLevel,stdout_output_level,0,-3,2,CFGFLAG_SAVE|CFGFLAG_CLIENT|CFGFLAG_SERVER,"Adjusts the amount of information in the system console (-3 = none, -2 = error only, -1 = warn, 0 = info, 1 = debug, 2 = trace)")
MACRO_CONFIG_INT(ConsoleOutputLevel,console_output_level,0,-3,2,CFGFLAG_SAVE|CFGFLAG_CLIENT|CFGFLAG_SERVER,"Adjusts the amount of information in the local/remote console (-3 = none, -2 = error only, -1 = warn, 0 = info, 1 = debug, 2 = trace)")
MACRO_CONFIG_INT(ConsoleEnableColors,console_enable_colors,1,0,1,CFGFLAG_SAVE|CFGFLAG_CLIENT|CFGFLAG_SERVER,"Enable colors in console output")
MACRO_CONFIG_INT(ClRefreshRate,cl_refresh_rate,0,0,10000,CFGFLAG_SAVE|CFGFLAG_CLIENT,"Refresh rate for updating the game (in Hz)")
MACRO_CONFIG_INT(ClRefreshRateInactive,cl_refresh_rate_inactive,120,0,10000,CFGFLAG_SAVE|CFGFLAG_CLIENT,"Refresh rate for updating the game when the window is inactive (in Hz)")
MACRO_CONFIG_INT(ClEditorMaxHistory,cl_editor_max_history,50,1,500,CFGFLAG_SAVE|CFGFLAG_CLIENT,"Maximum number of undo actions in the editor history (not shared between editor, envelope editor and server settings editor)")
MACRO_CONFIG_INT(ClAutoDemoOnConnect,cl_auto_demo_on_connect,0,0,1,CFGFLAG_SAVE|CFGFLAG_CLIENT,"Only start a new demo when connect while automatically record demos")
MACRO_CONFIG_INT(ClAutoDemoMax,cl_auto_demo_max,10,0,1000,CFGFLAG_SAVE|CFGFLAG_CLIENT,"Maximum number of automatically recorded demos (0 = no limit)")
MACRO_CONFIG_INT(ClAutoScreenshot,cl_auto_screenshot,0,0,1,CFGFLAG_SAVE|CFGFLAG_CLIENT,"Automatically take game over screenshot")
MACRO_CONFIG_INT(ClAutoScreenshotMax,cl_auto_screenshot_max,10,0,1000,CFGFLAG_SAVE|CFGFLAG_CLIENT,"Maximum number of automatically created screenshots (0 = no limit)")
MACRO_CONFIG_INT(ClAutoCSV,cl_auto_csv,0,0,1,CFGFLAG_SAVE|CFGFLAG_CLIENT,"Automatically create game over csv")
MACRO_CONFIG_INT(ClAutoCSVMax,cl_auto_csv_max,10,0,1000,CFGFLAG_SAVE|CFGFLAG_CLIENT,"Maximum number of automatically created csvs (0 = no limit)")
MACRO_CONFIG_STR(ClAssetExtras,cl_asset_extras,50,"default",CFGFLAG_SAVE|CFGFLAG_CLIENT,"The asset for the game graphics that do not come from Teeworlds")
MACRO_CONFIG_INT(BrFilterFull,br_filter_full,0,0,1,CFGFLAG_SAVE|CFGFLAG_CLIENT,"Filter out full server in browser")
MACRO_CONFIG_INT(BrFilterEmpty,br_filter_empty,0,0,1,CFGFLAG_SAVE|CFGFLAG_CLIENT,"Filter out empty server in browser")
MACRO_CONFIG_INT(BrFilterSpectators,br_filter_spectators,0,0,1,CFGFLAG_SAVE|CFGFLAG_CLIENT,"Filter out spectators from player numbers")
MACRO_CONFIG_INT(BrFilterFriends,br_filter_friends,0,0,1,CFGFLAG_SAVE|CFGFLAG_CLIENT,"Filter out servers with no friends")
MACRO_CONFIG_INT(BrFilterCountry,br_filter_country,0,0,1,CFGFLAG_SAVE|CFGFLAG_CLIENT,"Filter out servers with non-matching player country")
MACRO_CONFIG_INT(BrFilterCountryIndex,br_filter_country_index,-1,-1,999,CFGFLAG_SAVE|CFGFLAG_CLIENT,"Player country to filter by in the server browser")
MACRO_CONFIG_INT(BrFilterPw,br_filter_pw,0,0,1,CFGFLAG_SAVE|CFGFLAG_CLIENT,"Filter out password protected servers in browser")
MACRO_CONFIG_STR(BrFilterGametype,br_filter_gametype,128,"",CFGFLAG_SAVE|CFGFLAG_CLIENT,"Game types to filter")
MACRO_CONFIG_INT(BrIndicateFinished,br_indicate_finished,1,0,1,CFGFLAG_SAVE|CFGFLAG_CLIENT,"Show whether you have finished a DDNet map (transmits your player name to info.ddnet.org/info)")
MACRO_CONFIG_STR(BrLocation,br_location,16,"auto",CFGFLAG_SAVE|CFGFLAG_CLIENT,"Override location for ping estimation, available: auto, af, as, as:cn, eu, na, oc, sa (Automatic, Africa, Asia, China, Europe, North America, Oceania/Australia, South America")
MACRO_CONFIG_STR(BrCachedBestServerinfoUrl,br_cached_best_serverinfo_url,256,"",CFGFLAG_SAVE|CFGFLAG_CLIENT,"Do not set this variable, instead create a ddnet-serverlist-urls.cfg next to settings_ddnet.cfg to specify all possible serverlist URLs")
MACRO_CONFIG_INT(BrMaxRequests,br_max_requests,100,0,1000,CFGFLAG_SAVE|CFGFLAG_CLIENT,"Number of concurrent requests to use when refreshing server browser")
MACRO_CONFIG_INT(GfxBackgroundRender,gfx_backgroundrender,1,0,1,CFGFLAG_SAVE|CFGFLAG_CLIENT,"Render graphics when window is in background")
MACRO_CONFIG_INT(GfxTextOverlay,gfx_text_overlay,10,1,100,CFGFLAG_SAVE|CFGFLAG_CLIENT,"Stop rendering textoverlay in editor or with entities: high value = less details = more speed")
MACRO_CONFIG_INT(GfxAsyncRenderOld,gfx_asyncrender_old,1,0,1,CFGFLAG_SAVE|CFGFLAG_CLIENT,"During an update cycle, skip the render cycle, if the render cycle would need to wait for the previous render cycle to finish")
MACRO_CONFIG_INT(GfxQuadAsTriangle,gfx_quad_as_triangle,0,0,1,CFGFLAG_SAVE|CFGFLAG_CLIENT,"Render quads as triangles (fixes quad coloring on some GPUs)")
MACRO_CONFIG_INT(InpImeNativeUi,inp_ime_native_ui,0,0,1,CFGFLAG_SAVE|CFGFLAG_CLIENT,"Use native UI for IME (may cause IME to not work in fullscreen mode) (changing requires restart)")
MACRO_CONFIG_STR(InpControllerGUID,inp_controller_guid,34,"",CFGFLAG_SAVE|CFGFLAG_CLIENT,"Controller GUID which uniquely identifies the active controller")
MACRO_CONFIG_INT(ClPort,cl_port,0,0,65535,CFGFLAG_SAVE|CFGFLAG_CLIENT,"Port to use for client connections to server (0 to choose a random port, 1024 or higher to set a manual port, requires a restart)")
MACRO_CONFIG_INT(ClDummyPort,cl_dummy_port,0,0,65535,CFGFLAG_SAVE|CFGFLAG_CLIENT,"Port to use for dummy connections to server (0 to choose a random port, 1024 or higher to set a manual port, requires a restart)")
MACRO_CONFIG_INT(ClContactPort,cl_contact_port,0,0,65535,CFGFLAG_SAVE|CFGFLAG_CLIENT,"Port to use for serverinfo connections to server (0 to choose a random port, 1024 or higher to set a manual port, requires a restart)")
MACRO_CONFIG_INT(SvPort,sv_port,0,0,0,CFGFLAG_SERVER,"Port to use for the server (Only ports 8303-8310 work in LAN server browser, 0 to automatically find a free port in 8303-8310)")
MACRO_CONFIG_INT(SvMaxClients,sv_max_clients,MAX_CLIENTS,1,MAX_CLIENTS,CFGFLAG_SERVER,"Maximum number of clients that are allowed on a server")
MACRO_CONFIG_INT(SvMaxClientsPerIP,sv_max_clients_per_ip,4,1,MAX_CLIENTS,CFGFLAG_SERVER,"Maximum number of clients with the same IP that can connect to the server")
MACRO_CONFIG_INT(SvHighBandwidth,sv_high_bandwidth,0,0,1,CFGFLAG_SERVER,"Use high bandwidth mode. Doubles the bandwidth required for the server. LAN use only")
MACRO_CONFIG_STR(SvRegister,sv_register,16,"1",CFGFLAG_SERVER,"Register server with master server for public listing, can also accept a comma-separated list of protocols to register on, like 'ipv4,ipv6'")
MACRO_CONFIG_STR(SvRegisterExtra,sv_register_extra,256,"",CFGFLAG_SERVER,"Extra headers to send to the register endpoint, comma separated 'Header: Value' pairs")
MACRO_CONFIG_INT(SvRconBantime,sv_rcon_bantime,5,0,1440,CFGFLAG_SERVER,"The time a client gets banned if remote console authentication fails. 0 makes it just use kick")
MACRO_CONFIG_INT(SvTeeHistorian,sv_tee_historian,0,0,1,CFGFLAG_SERVER,"Activate the tee historian that writes complete gameplay data to disk (WARNING: This will use a lot of disk space)")
MACRO_CONFIG_INT(SvServerInfoPerSecond,sv_server_info_per_second,50,0,10000,CFGFLAG_SERVER,"Maximum number of complete server info responses that are sent out per second (0 for no limit)")
MACRO_CONFIG_INT(SvVanConnPerSecond,sv_van_conn_per_second,10,0,10000,CFGFLAG_SERVER,"Antispoof specific ratelimit (0 for no limit)")
MACRO_CONFIG_INT(EcBantime,ec_bantime,0,0,1440,CFGFLAG_ECON,"The time a client gets banned if econ authentication fails. 0 just closes the connection")
MACRO_CONFIG_INT(HttpAllowInsecure,http_allow_insecure,0,0,1,CFGFLAG_CLIENT|CFGFLAG_SERVER,"Allow insecure HTTP protocol in addition to the secure HTTPS one. Mostly useful for testing.")
MACRO_CONFIG_STR(SvReservedSlotsPass,sv_reserved_slots_pass,256,"",CFGFLAG_SERVER|CFGFLAG_NONTEEHISTORIC,"The password that is required to use a reserved slot")
MACRO_CONFIG_INT(SvReservedSlotsAuthLevel,sv_reserved_slots_auth_level,1,1,4,CFGFLAG_SERVER,"Minimum rcon auth level needed to use a reserved slot. 4 = rcon auth disabled")
MACRO_CONFIG_INT(SvTestingCommands,sv_test_cmds,0,0,1,CFGFLAG_SERVER,"Turns testing commands aka cheats on/off (setting only works in initial config)")
MACRO_CONFIG_INT(SvFreezeDelay,sv_freeze_delay,3,1,30,CFGFLAG_SERVER|CFGFLAG_GAME,"How many seconds the players will remain frozen (applies to all except delayed freeze in switch layer & deepfreeze)")
MACRO_CONFIG_INT(ClDDRaceBindsSet,cl_race_binds_set,0,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"What level the DDRace binds are set to (this is automated, you don't need to use this)")
MACRO_CONFIG_INT(SvSaveWorseScores,sv_save_worse_scores,1,0,1,CFGFLAG_SERVER|CFGFLAG_GAME,"Whether to save worse scores when you already have a better one")
MACRO_CONFIG_INT(SvPauseable,sv_pauseable,0,0,1,CFGFLAG_SERVER|CFGFLAG_GAME,"Whether players can pause their char or not")
MACRO_CONFIG_INT(SvEmotionalTees,sv_emotional_tees,1,-1,1,CFGFLAG_SERVER,"Whether eye change of tees is enabled with emoticons = 1, not = 0, -1 not at all")
MACRO_CONFIG_INT(SvEmoticonMsDelay,sv_emoticon_ms_delay,3000,20,999999999,CFGFLAG_SERVER,"The time in ms a player has to wait before allowing the next over-head emoticons")
MACRO_CONFIG_INT(SvGlobalEmoticonMsDelay,sv_global_emoticon_ms_delay,3000,20,999999999,CFGFLAG_SERVER,"The time in ms a player has to wait before allowing the next over-head emoticons that is send to all clients (this config must be higher or equal to sv_emoticon_ms_delay to have an effect)")
MACRO_CONFIG_INT(SvChatDelay,sv_chat_delay,1,0,9999,CFGFLAG_SERVER,"The time in seconds between chat messages")
MACRO_CONFIG_INT(SvTeamChangeDelay,sv_team_change_delay,3,0,9999,CFGFLAG_SERVER,"The time in seconds between team changes (spectator/in game)")
MACRO_CONFIG_INT(SvInfoChangeDelay,sv_info_change_delay,5,0,9999,CFGFLAG_SERVER,"The time in seconds between info changes (name/skin/color), to avoid ranbow mod set this to a very high time")
MACRO_CONFIG_INT(SvVoteYesPercentage,sv_vote_yes_percentage,50,1,99,CFGFLAG_SERVER,"More than this percentage of players need to agree for a vote to succeed")
MACRO_CONFIG_INT(SvVoteMajority,sv_vote_majority,0,0,1,CFGFLAG_SERVER,"Whether non-voting players are considered as votes for \"no\" (0) or are ignored (1)")
MACRO_CONFIG_INT(SvVoteMaxTotal,sv_vote_max_total,0,0,MAX_CLIENTS,CFGFLAG_SERVER,"How many players can participate in a vote at max (0 = no limit)")
MACRO_CONFIG_INT(SvVoteVetoTime,sv_vote_veto_time,20,0,1000,CFGFLAG_SERVER,"Minutes of time on a server until a player can veto map change votes (0 = disabled)")
MACRO_CONFIG_INT(SvUseSQL,sv_use_sql,0,0,1,CFGFLAG_SERVER,"Enables MySQL backend instead of SQLite backend (sv_sqlite_file is still used as fallback write server when no MySQL server is reachable)")
MACRO_CONFIG_STR(SvSqliteFile,sv_sqlite_file,64,"ddnet-server.sqlite",CFGFLAG_SERVER,"File to store ranks in case sv_use_sql is turned off or used as backup sql server")
MACRO_CONFIG_INT(SvTeam,sv_team,1,0,3,CFGFLAG_SERVER|CFGFLAG_GAME,"Teams configuration (0 = off, 1 = on but optional, 2 = must play only with teams, 3 = forced random team only for you)")
MACRO_CONFIG_INT(SvMinTeamSize,sv_min_team_size,2,1,MAX_CLIENTS,CFGFLAG_SERVER|CFGFLAG_GAME,"Minimum team size (finishing in a team smaller than this size gives you no teamrank)")
MACRO_CONFIG_INT(SvMaxTeamSize,sv_max_team_size,MAX_CLIENTS,1,MAX_CLIENTS,CFGFLAG_SERVER|CFGFLAG_GAME,"Maximum team size")
MACRO_CONFIG_STR(SvAnnouncementFileName,sv_announcement_filename,24,"announcement.txt",CFGFLAG_SERVER,"file which will have the announcement, each one at a line")
MACRO_CONFIG_INT(SvAnnouncementInterval,sv_announcement_interval,300,1,9999,CFGFLAG_SERVER,"time(minutes) in which the announcement will be displayed from the announcement file")
MACRO_CONFIG_INT(SvOldLaser,sv_old_laser,0,0,1,CFGFLAG_SERVER|CFGFLAG_GAME,"Whether lasers can hit you if you shot them and that they pull you towards the bounce origin (0 for all new maps) or lasers can't hit you if you shot them, and they pull others towards the shooter")
MACRO_CONFIG_INT(SvNoWeakHook,sv_no_weak_hook,0,0,1,CFGFLAG_SERVER|CFGFLAG_GAME,"Whether to use an alternative calculation for world ticks, that makes the hook behave like all players have strong.")
MACRO_CONFIG_INT(ClReconnectTimeout,cl_reconnect_timeout,120,0,600,CFGFLAG_CLIENT|CFGFLAG_SAVE,"How many seconds to wait before reconnecting (after timeout, 0 for off)")
MACRO_CONFIG_INT(ClReconnectFull,cl_reconnect_full,5,0,600,CFGFLAG_CLIENT|CFGFLAG_SAVE,"How many seconds to wait before reconnecting (when server is full, 0 for off)")
MACRO_CONFIG_INT(ClRaceGhostStrictMap,cl_race_ghost_strict_map,0,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Match ghosts by map version instead of only map name")
MACRO_CONFIG_INT(ClRaceGhostSaveBest,cl_race_ghost_save_best,1,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Save only ghosts that are better than the previous record.")
MACRO_CONFIG_INT(ClShowOthersAlpha,cl_show_others_alpha,40,0,100,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Show players in other teams (alpha value, 0 invisible, 100 fully visible)")
MACRO_CONFIG_INT(ClOverlayEntities,cl_overlay_entities,0,0,100,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Overlay game tiles with a percentage of opacity")
MACRO_CONFIG_INT(ClShowQuads,cl_showquads,1,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Show quads (only interesting for mappers, or if your system has extremely bad performance)")
MACRO_CONFIG_INT(ClBackgroundShowTilesLayers,cl_background_show_tiles_layers,0,0,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Whether draw tiles layers when using custom background (entities)")
MACRO_CONFIG_INT(SvShowOthersDefault,sv_show_others_default,0,0,2,CFGFLAG_SERVER|CFGFLAG_GAME,"Whether players see others by default (2 for own team)")
MACRO_CONFIG_STR(SvResetFile,sv_reset_file,128,"reset.cfg",CFGFLAG_SERVER,"File to execute on map change or reload to set the default server settings")
MACRO_CONFIG_INT(SvDDRaceTuneReset,sv_ddrace_tune_reset,1,0,1,CFGFLAG_SERVER,"Whether DDRace tuning (sv_hit, sv_endless_drag and sv_old_laser) is reset after each map change or not")
MACRO_CONFIG_INT(SvNamelessScore,sv_nameless_score,1,0,1,CFGFLAG_SERVER,"Whether nameless tee has a score or not")
MACRO_CONFIG_INT(SvDefaultTimerType,sv_default_timer_type,0,0,3,CFGFLAG_SERVER,"Default way of displaying time either game/round timer or broadcast. 0 = game/round timer, 1 = broadcast, 2 = 0+1, 3 = none")
MACRO_CONFIG_INT(SvChatPenalty,sv_chat_penalty,250,50,1000,CFGFLAG_SERVER,"chat score will be increased by this on every message, and decremented by 1 on every tick.")
MACRO_CONFIG_INT(SvChatThreshold,sv_chat_threshold,1000,50,10000,CFGFLAG_SERVER,"if chats score exceeds this, the player will be muted for sv_spam_mute_duration seconds")
MACRO_CONFIG_INT(SvSpamMuteDuration,sv_spam_mute_duration,60,0,3600,CFGFLAG_SERVER,"how many seconds to mute, if player triggers mute on spam. 0 = off")
MACRO_CONFIG_INT(SvShutdownWhenEmpty,sv_shutdown_when_empty,0,0,1,CFGFLAG_SERVER,"Shutdown server as soon as no one is on it anymore")
MACRO_CONFIG_INT(SvReloadWhenEmpty,sv_reload_when_empty,0,0,2,CFGFLAG_SERVER,"Reload map when server is empty (1 = reload once, 2 = reload every time server gets empty)")
MACRO_CONFIG_INT(SvSoloServer,sv_solo_server,0,0,1,CFGFLAG_SERVER|CFGFLAG_GAME,"Set server to solo mode (no player interactions, has to be set before loading the map)")
MACRO_CONFIG_STR(SvClientSuggestion,sv_client_suggestion,128,"Get DDNet client from DDNet.org to use all features on DDNet!",CFGFLAG_SERVER,"Broadcast to display to players without DDNet client")
MACRO_CONFIG_STR(SvClientSuggestionOld,sv_client_suggestion_old,128,"Your DDNet client is old, update it on DDNet.org!",CFGFLAG_SERVER,"Broadcast to display to players with an old version of DDNet client")
MACRO_CONFIG_STR(SvClientSuggestionBot,sv_client_suggestion_bot,128,"Your client has bots and can be remotely controlled!\nPlease use another client like DDNet client from DDNet.org",CFGFLAG_SERVER,"Broadcast to display to players with a known botting client")
MACRO_CONFIG_INT(ClUnpredictedShadow,cl_unpredicted_shadow,0,-1,1,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Show unpredicted shadow tee (0 = off, 1 = on, -1 = don't even show in debug mode)")
MACRO_CONFIG_INT(ClPredictFreeze,cl_predict_freeze,1,0,2,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Predict freeze tiles (0 = off, 1 = on, 2 = partial (allow a small amount of movement in freeze)")
MACRO_CONFIG_INT(ClShowHookCollOther,cl_show_hook_coll_other,1,0,2,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Show other players' hook collision line (2 to always show)")
MACRO_CONFIG_INT(ClShowHookCollOwn,cl_show_hook_coll_own,1,0,2,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Show own players' hook collision line (2 to always show)")
MACRO_CONFIG_INT(ClHookCollAlpha,cl_hook_coll_alpha,100,0,100,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Alpha of hook collision line (0 invisible, 100 fully visible)")
MACRO_CONFIG_COL(ClHookCollColorNoColl,cl_hook_coll_color_no_coll,65407,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Specifies the color of a hookline that hits nothing.")
MACRO_CONFIG_COL(ClHookCollColorHookableColl,cl_hook_coll_color_hookable_coll,6401973,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Specifies the color of a hookline that hits hookable tiles.")
MACRO_CONFIG_COL(ClHookCollColorTeeColl,cl_hook_coll_color_tee_coll,2817919,CFGFLAG_CLIENT|CFGFLAG_SAVE,"Specifies the color of a hookline that hits tees.")
MACRO_CONFIG_INT(ClShowDirection,cl_show_direction,1,0,3,CFGFLAG_SAVE|CFGFLAG_CLIENT,"Show key presses (1 = other players', 2 = also your own, 3 = only your own")
MACRO_CONFIG_INT(ClOldGunPosition,cl_old_gun_position,0,0,1,CFGFLAG_SAVE|CFGFLAG_CLIENT,"Tees hold gun a bit higher like in TW 0.6.1 and older")
MACRO_CONFIG_INT(ClConfirmDisconnectTime,cl_confirm_disconnect_time,20,-1,1440,CFGFLAG_SAVE|CFGFLAG_CLIENT,"Confirmation popup before disconnecting after game time (in minutes, -1 to turn off, 0 to always turn on)")
MACRO_CONFIG_INT(ClConfirmQuitTime,cl_confirm_quit_time,20,-1,1440,CFGFLAG_SAVE|CFGFLAG_CLIENT,"Confirmation popup before quitting after game time (in minutes, -1 to turn off, 0 to always turn on)")
MACRO_CONFIG_STR(ClTimeoutCode,cl_timeout_code,64,"",CFGFLAG_SAVE|CFGFLAG_CLIENT,"Timeout code to use")
MACRO_CONFIG_STR(ClDummyTimeoutCode,cl_dummy_timeout_code,64,"",CFGFLAG_SAVE|CFGFLAG_CLIENT,"Dummy Timeout code to use")
MACRO_CONFIG_STR(ClInputFifo,cl_input_fifo,128,"",CFGFLAG_SAVE|CFGFLAG_CLIENT,"Fifo file (non-Windows) or Named Pipe (Windows) to use as input for client console")
MACRO_CONFIG_INT(Gfx3DTextureAnalysisRan,gfx_3d_texture_analysis_ran,0,0,1,CFGFLAG_SAVE|CFGFLAG_CLIENT,"Ran an analyzer to check if sampling 3D/2D array textures works correctly")
MACRO_CONFIG_STR(Gfx3DTextureAnalysisRenderer,gfx_3d_texture_analysis_renderer,128,"",CFGFLAG_SAVE|CFGFLAG_CLIENT,"The renderer on which the analysis was performed")
MACRO_CONFIG_STR(Gfx3DTextureAnalysisVersion,gfx_3d_texture_analysis_version,128,"",CFGFLAG_SAVE|CFGFLAG_CLIENT,"The version on which the analysis was performed")
MACRO_CONFIG_STR(GfxGPUName,gfx_gpu_name,256,"auto",CFGFLAG_SAVE|CFGFLAG_CLIENT,"The GPU's name, which will be selected by the backend. (if supported by the backend)")
MACRO_CONFIG_INT(GfxRenderThreadCount,gfx_render_thread_count,3,0,0,CFGFLAG_SAVE|CFGFLAG_CLIENT,"Number of threads the backend can use for rendering. (note: the value can be ignored by the backend)")