QuakeSpasm 0.90.0 released

QuakeSpasm 0.90.0 is finally out! This is the first proper release with BSP2 support, and lots of other fixes and improvements.


Full change list:

]Fix issues on Windows systems with DPI scaling./]
]Unix/Mac user directories support. Disabled by default, ‘make DO_USERDIRS=1’ to enable it./]
]SDL2 support. Disabled by default, ‘make USE_SDL2=1’ to enable it./]
]Revised keyboard input code./]
]Revised/improved the ‘game’ command, i.e. on-the-fly mod changing. It now accepts an optional second argument for mission packs or quoth support i.e. -hipnotic, -rogue, or -quoth. For example, for WarpSpasm: “game warp -quoth”/]
]Command line: “-game {quoth/hipnotic/rogue}” is now treated the same as -quoth, -hipnotic, or -rogue./]
]Console speed now resolution-independent./]
]Disabled gl_zfix, which caused glitches and is undesirable for new maps. Replacement .ent files to fix z-fighting for several id1 maps added to quakespasm.pak./]
]PF_VarString buffer bumped to 1024, avoids truncated centerprints from the ‘In The Shadows’ mod./]
]Support for opengl non-power-of-two-textures extension (disable with command line: “-notexturenpot”.)/]
]Support for OpenGL vertex buffer objects (VBO, OpenGL 1.5 or newer) for world and brush models (disable with command line: “-novbo”.)/]
]Antialiasing (FSAA) support (command line: -fsaa x, where x can be 0, 2, 4, 8)./]
]Fence textures support./]
]Dynamic light speedup. Speedup loading of tga and pcx external images./]
]Brush model drawing speedup./]
]Support for BSP2 and 2PSB map formats./]
]Support for Opus, FLAC, and tracker music (S3M, IT, UMX, etc.), as compile-time options./]
]Music and sfx now mixed at 44100Hz to avoid downsampling music. Low-pass filter applied to the sfx if -sndspeed is 11025 (the default), to preserve the same sound quality as 0.85.9. New -mixspeed option sets the rate for mixing sfx and music, and output to the OS (default 44100), setting it to 11025 reverts to 0.85.9 behaviour. New snd_filterquality cvar, value can be between 1 (emulate OS X resampler) and 5 (emulate Windows resampler), controls the sound of the low-pass filter./]
]Better Hor+ field of view (FOV) scaling behavior./]
]Better cross-map demo playback support./]
]Fix screenshots when screen width isn’t a multiple of 4./]
]Fix a lighting glitch due to floating point precision./]
]Fix a looping sounds glitch./]
]Fix a vulnerability in file extension handling. Tighten path handling safety./]
]Initialize opengl with 24-bit depth buffer at 32 bpp./]
]Reset all models upon gamedir changes. (Fixes failures with mods using custom content.)/]
]Fix broken behavior upon gamedir changes if -basedir is specified on the command line./]
]NET_MAXMESSAGE and MAX_MSGLEN limits bumped to 64000./]
]MAX_EFRAGS bumped to 4096, and MAX_CHANNELS to 1024./]
]MAX_ENT_LEAFS bumped from 16 to 32 to work around disappearing or flickering brush models in some situations. Also, if an entity is visible from MAX_ENT_LEAFS or more leafs, we now always send it to the client./]
]Fix cvar cycle command not working sometimes./]
]Host_Error upon missing models. (Prevents segmentation faults.)/]
]Change sv_aim default value to 1 (i.e. turn off autoaim)/]
]Add ‘prev’ and ‘next’ keywords to the ‘cd’ command./]
]Work around a linux cdrom issue (playback might not start for a while after a stop)./]
]Quakespasm content customization moved from engine-embedded into a new optional quakespasm.pak file./]
]Version bumped to 0.90.0 (because Quakespasm has a decent life of it’s own)/]
]Other fixes and clean-ups./]