Instead of maintaining the short description of each sub-mod
manually in a giant README file, distribute the short descriptions
into each relevant mod, and then build the README listings
automatically at deploy time.
This should:
- Make it harder to forget to add/remove mods in the list
- Prevent them from being out of alphabetical order
- Ensure each mod has a description for in-menu use
Waypoints can be added/removed via chat
commands. This makes it easier to adapt to
various "points of interest" that may evolve over
time with the world.
By default, players joining the server who are
configured to act as cinematic cameras only
should not see the server status message ...
unless specifically configured to see it.
Instead of using mod_storage and privs to control
cinecam, just use settings. The priv checks every
globalstep per player, in particular, were expensive,
and using "/grantme all" with the mod installed
would cause the player to teleport as a camera
player.
- Check destination medium against source, since it's possible
to transition from a fluid to air and raycast will NOT collide
with the air, causing from-fluid-to-air transitions not to be
detected.
- Pre-cache fluid medium data for all node defs instead of running
through logic at runtime.
Deeper dimming/vignette when server is empty
to make it a little more visually interesting, plus
add a clearer indication that the server is in
a different state than normal play.
If only one player is online and they are idling in
darkness, it makes the "Watching: " caption show
up too frequently. Instead, only show the caption
when we change to a different player.
See if we can get rid of that one step worth of jank after
moving the player before their lookdir is set correctly, which
might be due to the delay involved in the work of moving the
player's position.
If no player is connected, just show random views around "spawn"
(the origin for now, not actually testing to find the real spawn
location or honoring static_spawn setting yet) every ~10s.
Make sure the camera is never placed inside a solid; if it is,
then it needs to be moved immediately.
This leads to uneven times between cycling to
a particular player; it's probably best to just use
the naive order and let players rotate through
deterministically.
This was especially noticeable when a player
was last in the queue and then first in the next
queue, so you'd see a "Watching: ..." HUD
announcement but no actual change in perspective
and the player would just run twice as long.