Bumps max client fps from 120 (125) to 1000 (#29467)

* 300 > 120

* ooooh i don't need sql change

* same but descending + fix issue about DB

* well, i should update bd

* default is 100, keep only divisors of 1000

* fuck you byon d!!!!

* cleanup
This commit is contained in:
kyunkyunkyun
2025-08-08 01:07:23 +05:00
committed by GitHub
parent 2fae84052c
commit f8c97bfed8
7 changed files with 32 additions and 13 deletions
@@ -865,16 +865,16 @@
return
active_character.pda_ringtone = ringtone
if("clientfps")
var/version_message
if(user.client && user.client.byond_version < 511)
version_message = "\nYou need to be using byond version 511 or later to take advantage of this feature, your version of [user.client.byond_version] is too low"
if(world.byond_version < 511)
version_message += "\nThis server does not currently support client side fps. You can set now for when it does."
var/desiredfps = tgui_input_number(user, "Choose your desired fps.[version_message]\n(Min = synced with server tick rate)", "Character Preference", clientfps, 120, world.fps)
var/desiredfps = tgui_input_list(user, "Choose your desired fps. Listed variants work better than custom", "Character Preference", list("\[CUSTOM\]") + GLOB.client_fps_options, clientfps)
if(!isnull(desiredfps))
if(desiredfps == "\[CUSTOM\]")
desiredfps = tgui_input_number(user, "Set your desired fps. Remember that this value will be converted to one that server can actually work with!", "Character Preference", parent.fps, 1000, world.fps)
if(isnull(desiredfps)) // we closed the window
return
if(round(1000 / floor(1000 / desiredfps), 1) != desiredfps) // don't ask
desiredfps = floor(1000 / round(1000 / desiredfps, 1))
clientfps = desiredfps
if(world.byond_version >= 511 && user.client && user.client.byond_version >= 511)
parent.fps = clientfps
parent.fps = clientfps
else
switch(href_list["preference"])
@@ -70,7 +70,8 @@ GLOBAL_LIST_INIT(special_role_times, list(
var/glowlevel = GLOW_MED
var/UI_style_color = "#ffffff"
var/UI_style_alpha = 255
var/clientfps = 63
/// This value will be converted by BYOND, don't set already converted values there, otherwise it will set client's fps 1 step higher than it should've
var/clientfps = 100
var/atklog = ATKLOG_ALL
/// Forum userid
var/fuid
@@ -420,7 +421,7 @@ GLOBAL_LIST_INIT(special_role_times, list(
dat += "<b>Colourblind Mode:</b> <a href='byond://?_src_=prefs;preference=cbmode'>[colourblind_mode]</a><br>"
if(user.client.donator_level > 0)
dat += "<b>Donator Publicity:</b> <a href='byond://?_src_=prefs;preference=donor_public'><b>[(toggles & PREFTOGGLE_DONATOR_PUBLIC) ? "Public" : "Hidden"]</b></a><br>"
dat += "<b>FPS:</b> <a href='byond://?_src_=prefs;preference=clientfps;task=input'>[clientfps]</a><br>"
dat += "<b>FPS:</b> <a href='byond://?_src_=prefs;preference=clientfps;task=input'>[user.client.fps]</a><br>"
dat += "<b>Ghost Ears:</b> <a href='byond://?_src_=prefs;preference=ghost_ears'><b>[(toggles & PREFTOGGLE_CHAT_GHOSTEARS) ? "All Speech" : "Nearest Creatures"]</b></a><br>"
dat += "<b>Ghost Radio:</b> <a href='byond://?_src_=prefs;preference=ghost_radio'><b>[(toggles & PREFTOGGLE_CHAT_GHOSTRADIO) ? "All Chatter" : "Nearest Speakers"]</b></a><br>"
dat += "<b>Ghost Sight:</b> <a href='byond://?_src_=prefs;preference=ghost_sight'><b>[(toggles & PREFTOGGLE_CHAT_GHOSTSIGHT) ? "All Emotes" : "Nearest Creatures"]</b></a><br>"