Dystopia 1.5.6
This update is mostly about overdue changes.
First, a feature that's been in other games for ages; Damage Indicators, to go alongside our first-in-class hitbeep system.
The Half-Life 2-era Pickup Indcators have been re-positioned, re-colored and animated.
Importantly, with a month before Dystopia's 21st anniversary, we've added credits screen. And, most overdue of all: Dystopia now speaks your language, translated into 30+ tongues that follow your Steam setting automatically.
Of course, a nice pile of fixes for broken stuff from ages ago (or recently.)
Now in your language
Dystopia is translated into 30+ languages. The whole interface, menus, HUD, scoreboard, options, the cyberspace hacking programs, dialogs, the in-world map screens, and the mission briefings, now follows your Steam language automatically.
Languages: Arabic, Bulgarian, Chinese (Simplified & Traditional), Czech, Danish, Dutch, Finnish, French, German, Greek, Hungarian, Indonesian, Italian, Japanese, Korean, Spanish (Spain & Latin America), Malay, Norwegian, Polish, Portuguese (Portugal & Brazil), Romanian, Russian, Swedish, Thai, Turkish, Ukrainian, Vietnamese, plus English (duh.)
Damage numbers
Floating damage numbers, on by default, switchable off in the options menu. Every hit puts a number where it landed, then slide clear of the body, then sweep up and gather above the head into a total that fades when you stop.
Enemy numbers match your IFF color; friendly fire is flat grey so it doesn't look like scoring.
Kills fold their damage into the "+N frag" text to see killing damage that you did over the last few seconds.
Distance-aware. Numbers shrink and fade the farther the target is, to prevent clutter, and scoped zoom is accounted for.
Customisable per client. The defaults are tuned, but every part is a cvar available in the options menu:
Visibility: dys_damagenumbers (0/1), dys_damagenumbers_alpha (0-255 opacity), dys_damagenumbers_friendly (0/1, show friendly-fire hits).
Motion: dys_damagenumbers_gather_time (spread out), dys_damagenumbers_rest_time (hold), dys_damagenumbers_rise_time (sweep up), dys_damagenumbers_spread (distance off the body, px), dys_damagenumbers_headroom (height above the head, px), dys_damagenumbers_merge_time, dys_damagenumbers_lifetime, dys_damagenumbers_rise (fade drift).
Distance: dys_damagenumbers_dist_near / dys_damagenumbers_dist_far (full-size and faded-out ranges, units), dys_damagenumbers_far_scale (size at the far edge, fraction of near), dys_damagenumbers_zoom_comp (0/1, scope awareness).
Credits
A credits window on the main menu: everyone who has worked on Dystopia, 215 people over the years. This is long, long overdue for these great people.
Missing or listed wrongly? There's a punyhuman.com/contact link at the top of the window.
Dying and respawning
The HUD fades out when you die instead of vanishing in a single frame.
Swapping weapons on the spawn pad no longer replays the whole spawn effect. Changing class still does because that's a new body.
The deploy panel no longer reappears when you open the loadout menu while alive.
Interface
A new Interface tab, and the old Advanced Multiplayer button is gone. Now everything is immediately apparent, split into scrollable lists: HUD and visual settings on Interface, gameplay and input on Multiplayer.
Crosshair color is now a color picker button that opens a full picker for any color, instead of three RGB sliders.
Corps IFF on turrets is no longer grey when using per-team IFF colors (red punks / blue corps). A mangled color key in the scheme (since 2019) meant corps turrets were always gray.
The same typo had also caused the corps TAC-scan radar blip end early, which was fixed.
IFF overlays no longer get cut off on ultrawide monitors, and kill scores no longer clip near the right edge on ordinary widescreen either. (reported and tested by Falldog)
Chat wraps while you type instead of scrolling the start of your message out of view. The box is narrower and the font now follows your resolution properly.
The team/class/loadout menu (M) is properly centered at every resolution, and colored for your team while you're in-game.
Punk's ammo icon no longer turns corp blue while reloading.
Boltgun bolts trail are your team's color, so red instead of blue for punks.
While in a server, the menu leads with a big RESUME GAME where PLAY NOW usually sits, but with DISCONNECT just below it.
The ammo dispenser animates properly again, mostly: spin up, loop while dispensing, wind down.
The Options > Keyboard tab has its buttons back. Enlarging the scrollable box in 1.5.5 messed that up, sorry.
The pickup feed is redesigned. No more flat-yellow Half-Life 2 stack climbing into the radar. Pickups now slide in along the bottom next to your ammo, team-colored, and your whole loadout (grenades included, finally) flies in when you spawn.
The server browser is now "Browse Servers" (was "Search Servers"), matching the button that opens it.
Spectating
A round restart no longer freezes spectators. Restarting the round (or a map_restart) used to leave anyone already spectating stuck on a frozen camera, unable to change spectate modes. Spectators now carry on normally across the restart.
Third-person spectate no longer tilts sideways. Chasing a decker as they came out of cyberspace left the camera rolled over on its side; it now stays level (while still keeping the intended tilt during actual cyberspace flight).
A quieter console
The developer console is now much, much cleaner.
Tickrate and net rates
New tickrate command: Servers report the tickrate actually in effect; players see the server's tickrate next to their own effective rates, so a 128-tick server no longer looks like a 64-tick one from the client.
-tickrate on the command line is now all a high-tick server needs: Rate bounds are derived from it and reported at map load. Setting them by hand while the derivation is active warns instead of doing nothing (sv_rate_bounds_follow_tickrate 0 to opt out. Thanks D3ST)
New players start at updaterate/cmdrate 128 and rate 196608: clamped by the server, so it costs nothing on a 66-tick server and just works on a high-tick one. Existing configs keep their values; sv_minrate is the server-side lever for dialup-era rates.
Stability
Fixed two potential server crashes involving turrets taking damage from map hazards or without an attacking player.
Fixed the music player logging an FMOD error every time a track ended.
Thanks to everyone playing 1.5.5 this past week. Keep the reports coming.