Server: resized body parts are off unless a server allows them

- bone_scale_limit defaults to 1: every skater shows at the game's own
  proportions. A server that wants "big head" mods and the like to show
  sets a higher limit, or "bone-scale off"
This commit is contained in:
AyeZeeBB committed 2026-10-07 19:46:23 -05:00
1 parent 91c939ea4f
commit 98e07f6899
3 files changed
+6 -5

No files matched your search

+2 -2
View File
@@ -62,8 +62,8 @@ send_rate The most the server sends one player, in KB/s (default 900,
lost. Console: rate <KB/s>, also for the players already on.
bone_scale_limit How far a mod may resize part of a skater for the other
players (a "big head" mod and the like): the most a bone may
be scaled, 1 to 8. 1 shows every skater at the game's own
proportions; 0 (default) is no limit. The player with the
be scaled, 1 to 8. 1 (default) shows every skater at the
game's own proportions; 0 is no limit. The player with the
mod still sees it on their own screen. Console:
bone-scale <1-8>|off.
crowd_budget The most position updates a second one player is sent
+1 -1
View File
@@ -66,7 +66,7 @@ int run() {
ServerConfig rate;
rate.send_rate = 64;
check(config_error(rate).find("send_rate") != std::string::npos, "A send rate too low to play with was accepted");
check(has("bone_scale_limit") && config.bone_scale_limit == 0, "bone_scale_limit is not a new setting of no limit");
check(has("bone_scale_limit") && config.bone_scale_limit == 1, "bone_scale_limit is not a new setting of 1");
ServerConfig scaled;
scaled.bone_scale_limit = 0.5f;
check(config_error(scaled).find("bone_scale_limit") != std::string::npos, "A bone scale limit under 1 was accepted");
+3 -2
View File
@@ -43,8 +43,9 @@ struct ServerConfig {
// The most poses a second one player is sent (crowd_limits); 0: no limit.
unsigned crowd_budget = crowd_pose_budget;
// The most a mod may resize part of a skater for the other players, as a factor (and its
// inverse the least): 1 shows every skater at the game's own proportions, 0 is no limit.
float bone_scale_limit = 0;
// inverse the least): 1, the default, shows every skater at the game's own proportions;
// 0 is no limit.
float bone_scale_limit = 1;
// What the server may send each player, in KB/s (128-16384).
unsigned send_rate = 900;
std::vector<std::uint64_t> reserved;