The messages FTE sends a client after the level's model and sound lists and before the
client begins (SV_SendClientPrespawnInfo, SVQW_Spawn_f): the static entities
(makestatic), oldest first, then the static sounds (ambientsound), then each player
slot's info keys.
[message | _] = QuakeServer.Signon.messages(server)Each is a binary holding one server message:
- a static entity:
svc_spawnstatic(20), the index of its model in the server's model list in 16 bits, its frame, colormap (0) and skin as bytes, then for each axis its origin's coordinate and its angle - a static sound:
svc_spawnstaticsound(29), its origin's three coordinates, the index of its sound in the server's sound list as a byte, the volume × 255 and the attenuation × 64 as bytes; a sound past index 255 issvcfte_spawnstaticsound2(94) with a flags byte of 1 and the index in 16 bits after the coordinates. A sound not in the sound list is left out, as FTE'sambientsoundleaves it. - a player slot's info:
svc_updateuserinfo(40), the slot (the entity less one), the user id (the entity) in 32 bits, and the info string,\key\valuefor each key in order, withnameasQuakeServer.Server.player_name/2gives it
Coordinates and angles are written as the server's coords sets
(QuakeServer.Builtins.Write): 32-bit floats and 65536ths of a turn in 16 bits, or
eighths of a unit in 16 bits and 256ths of a turn in a byte.
Summary
Functions
The server's static entities, static sounds and player info, as messages in that order.
Functions
@spec messages(QuakeServer.Server.t()) :: [binary()]
The server's static entities, static sounds and player info, as messages in that order.