Skip to content

Fixed team score digit placements#301

Merged
darkshade9 merged 1 commit intosync/aq2-tngfrom
ghud_scoreboard
Mar 4, 2026
Merged

Fixed team score digit placements#301
darkshade9 merged 1 commit intosync/aq2-tngfrom
ghud_scoreboard

Conversation

@darkshade9
Copy link

No description provided.

@darkshade9 darkshade9 merged commit 88c66e2 into sync/aq2-tng Mar 4, 2026
8 checks passed
@darkshade9 darkshade9 deleted the ghud_scoreboard branch March 4, 2026 14:44
darkshade9 added a commit that referenced this pull request Mar 4, 2026
* Fix double assignment.

* Fix missing break statement.

* Make hash map allocations tagged.

* Templatize BSP loading code.

* Update libjpeg-turbo to 3.0.4.

* Update libpng to 1.6.44.

* Update libcurl to 8.10.1.

* Update openal-soft to 1.23.1.

* Update khr-headers to 20240924.

* Unignore subprojects/packagefiles.

* Update README.md.

* Silence compiler warning.

* Add CI workflow for nightly builds.

* Use enum instead of magic constant.

* Warn if DECOUPLED_LM lump has invalid offsets.

* Added check if roundtimelimit >= 1 to make announcement

* Added bot_reportasclient cvar to de-list bots as players

* Revamped a lot of USE_AQTION macro conditional compilation, change to check if stats are enabled

* Removed redundant -lcurl from meson

* Re-arranged writing stats functionality

* Some cleanup, formatting

* Some cleanup, menu add, taking care for cases where the option isn't available

* Added documentation, use_pickup to enable/disable

* Synced with skuller build changes

* Missed updating OpenAL-soft

* Updated libjpeg-turbo and linpng as well

* Removed unneeded preprocessor

* Somehow git is not picking up changes to g_cmds.c

* MSVC is a joke

* Windows is amazing

* Added support for multiple game modes

* Changed some preprocessing items, reverting small/large in Cmd_Players_f to test

* Moved Windows-specific botlib stuff to its own file

* helps to add your source files

* Removed windows.h from botlib

* Simpler method

* Done with the windows nonsense, just renaming the vars

* Simplified allocating buffer room for request message

* Simplified format for pickup requests

* Add COM_ParseToken().

Allow parsing into user supplied buffer. Also add line number counter.

* Set bot_enable checks in various places

* Some documentation additions

* Retrying reverting small and large

* Trying adding LEAN_AND_MEAN to rpc.h

* Define, not include, dummy

* Replaced small/large with playerInfo/playerList in g_cmds.c

* Some documentation editing

* Use real JSON parser to parse MD5 scales.

* Factor MD5 skin loading into separate function.

* Refactor MD5 code more.

Use longjmp instead of macros for error handling.
Get rid of md5_joint_t::parent.
Get rid of md5_model_t::base_skeleton.
Verify joint parent has been processed before use.
Reduce size of md5_vertex_t and md5_weight_t to 16 bytes.
Allow joint names up to 48 chars.

* Simplify Quat_SLerp() close angle check.

* Add VectorRotate() macro.

* Optimize MD5 interpolation more.

Get rid of Quat_RotatePoint() in hot path. Replace it with matrix
multiply. Gives some nice FPS boost.

* Un-inline quaternion functions.

* Only warn if MD5 has less frames than MD2.

* Added comments

* Added sv_load_ent toggle cvar

* Fixed documentation

* Fixed crashing bug that tried to find a null edict

* Build changes to fix sync/aq2-tng

* Fixed ETV capture issue, client crash on GL_ColorBytePointer and GL_VertexPointer

* Refactored setting and determining espionage modes, removed atl/etv cvars

* Removed redundant settings

* Added TestEntityPosition check on leader respawns

* Needed to rename VectorRotate because it was reintroduced..?

* Returning if bots are disabled

* Removed extra debug info

* Flush uniform buffer explicitly.

* Add GL_DeleteBuffer() function.

* Add R_Malloc() macro.

* Prepare hunk API for GPU lerp.

Add Hunk_FreeToWatermark(). Make Hunk_*Alloc() accept alignment
parameter.

* Add GL_BindingForTarget().

* Allow binding VA_NONE.

* Reduce scope of variable.

* Move glBindBufferBase to GL 3.0.

* Print freed models count.

* Fixing bot scaling issues in teamplay

* Commenting out TE_DAMAGE_DEALT

* Support alias model interpolation on GPU.

Can work on ≥ GL 3.1, but only enable on ≥ GL 4.3 by default to avoid
performance regressions.

Depending on hardware capabilities, this can make MD5 rendering a lot
(up to 10x) faster.

* Always use 16-bit indices for meshes.

* Update bug report template.

* Update INSTALL.md.

Mention that pkg-config search path must be updated in cross files.
Closes #360.

* Optimize skipping MD5 bounds.

* Update FreeBSD VM to 14.1.

* Fix rendering error if classic sky texture is missing.

Don't attempt to use cubemap as classic sky. Regression since 47656f8.

* Use VectorRotate() macro in more places.

* Use system meson package.

* No longer precaching AQtion gun sounds, saves us memory and sound slots

* Allow message write buffer to overflow.

With extended protocol limits, overflowing MAX_MSGLEN with single
message is possible in MVD and client demo code.

Allow msg_write to overflow and add explicit overflow checks to avoid
crashing with fatal error.

* Fixed Espionage bugs

* Added weapon options in docs

* Set timelimit and fraglimit to 0 if we issue nav_edit

* Quick and dirty expose gl_shaders value to gamelib

* Reduced special weapon/item respawn timers if bots are in the game

* Added option to not include bots in highscores, ctf fix

* Synced with skuller build changes

* Reverted mingw change, why fix if not broken

* Changed bot radio to use streakKills instead of score

* Use mat4_t for GL matrices.

* Add re-release fog effect support.

Keep fog parameters in player_state_t for proper delta compression.
Height fog seems broken but that's how it is in re-release.

* Set fog params too if only for sky factor.

* Explicitly use ubuntu-24.04 for mingw CI.

* Enable fog for shadows/celshading.

* Make ‘gl_fog’ a simple off/on toggle.

* rebased ch_hide_while_zoomed

* Fixed some old typos

* renamed to currently_scoped_in

* Set hc_boost default to 0, zoom crosshair default to 1

* Nade bonk is a little more accurate on hit location

* Nade bonk is a little more accurate on hit location

* Setup CTFSetupStatusbar

* Added documentation

* Statically linking some libraries

* Building libjansson from source

* sudo make install

* Fixed wording on pickup command errors

* Added ctf_dyn_respawn, sv bots fixed in TP mode, some optimizations..

* Adjusted the respawn timer to use a static value to subtract from

* Check for invalid node on dropped flag and return to avoid segfault

* Adjusted messaging criteria, updated docs

* Moved SteamCloud definition before fs_game/fs_home

* Refined documentation around bots

* unified AQTION_EXTENSION check to an #ifdef instead of an #if

* Fixed AQTION_EXTENSION pmove fields being stripped when player state was packed

* removed hack to strip protocol 38 support on non-listen servers

* restored customizeentityforclient, restored CvarSync_Updated

* fixed double tempent parse and filtered hitmarker sending

* Additional check on round number > 0

* Better CTF rules messages, fixed highscores crash

* Report all players in a pickup match in the Discord webhook

* Set bot ping to BOT if bot_reportasclient is 0

* Re-added duplicate CL_ParseTEnt();

* Initial save point on player stat bar in GHUD

* Looking a little better

* Re-colorized, fixed stat bar drawing

* Fixed team 1 bug

* Added center clock timer

* Hiding timer if timelimit is 0

* Reduced timer border thickness

* SetAnchor'd timer

* Using SetAnchor, center stat bar compatible with scr_scale

* Using SetAnchor, center stat bar compatible with scr_scale

* Fixed vertical alignment of stat values

* Moved stats horizontally, added award tallies

* GHUD Player stat and timer Deathmatch compatible

* Removed MOD_TELEFRAG from recording 100000 damage

* Set timer values to 0 if negative (overtime)

* Some cleanup, darkened gray bar

* A/I/E icons

* Unhide timer elements

* Re-draw the GHUD if going spectator

* Support for CTF scores in GHUD

* Moved HUD score a bit, CTF/Esp team logos render in GHUD now

* Team scores moved to center, matchmode has its own format

* Save point

* Static link libjpeg

* re-add xhair

* Added nice features from TNG upstream, thanks Raptor007

* Updated doc on missing stats_mode code

* Added teamnone command

* Added check for Espionage leader and documentation

* Updated documentation

* A potential fix for crashing when refreshing due to crosshair loading

* MSVC always bitches about something

* Removed debug statements

* Removed scr_crosshair_changed in scr_scale_changed

* Fix for Espionage not starting in ATL mode

* Set chosenItem to 0 if no item to log

* Check gl_shaders value before using legacy gl in DrawNullModel

* Client will not try to download jpg textures if r_override_textures is 0 (#245)

* Client will not try to download jpg textures if r_override_textures is 0

* Lovely how Mac built it fine but Linux did not

* Compiler warnings

* Non-static declarations, also checking for r_texture_overrides

* Non-static declarations, also checking for r_texture_overrides

* Removed commented cvars

* Setting r_override_textures to 2 for downloading jpg files now

* Variety of null/value checks (#244)

* Added knife_catch (#224)

* Fix uncommon spawnpoints (#255)

* Fixed one more warning

* This should fix maps with only one info_player_start spawn

* trying to fix a meson bug

* trying to fix a meson bug

* trying to fix a meson bug

* trying to fix a meson bug

* trying to fix a meson bug

* Gamemode fixes (#260)

* Moved gamemode server settings to Gamemode()

* Fixed some gamemodes, bots serverinfo

* Fixed 'atl' and 'etv' settings

* Add missing stats (#258)

* Fixed one more warning

* Added shot stats for punches and grenade throws

* auto_menu 2 and gl_shader check (#250)

* Fixed one more warning

* auto_menu 2 prints the menu AFTER the motd is printed

* Added IS_BOT macro, bot_reportpings cvar (#246)

* Minor CTF revamp (#247)

* ctf_rewards added, replacing ctf_mode, fixed stat collection

* Models disappeared somehow

* vwep works

* Limiting briefcase pickup to guns isn't working yet

* Added two todos

* Updated to macos-15-intel

* Added lrcon support directly to the gamelib (#261)

* Support for Extended Status and Rules queries (#262)

* Autoghost (#259)

* Fixed one more warning

* use_ghosts 2 to autoghost restore

* Fail early if ghosts isnt even enabled

* NULL check and doc update

* Keeping track of CTF/Dom/TeamDM scores in t1/t2/t3 cvars now (#263)

* Fixed implicit declaration

* Automatic demo recording, including deathmatch, without lua needed (#243)

* Automatic demo recording, including deathmatch, without lua needed

* Set ServerAutoRecordDemo to static

* Auto demo recording and sv_status_ext doc

* training mode (#254)

* training mode bot spawnpoint initial support

* Added spawn settings for training mode

* A few more behavior flags, logic gates

* Initial minor success?

* Still some debug statements, but bots spawn in.. player doesn't

* Renamed training_mode to just training

* Segfaults look to be addressed

* Botflags are properly set

* Fixed a few edge cases

* Fixed respawning issue

* Added BOT_DUMMY and BOT_IGNORE_ALL aliases

* Minor cleanup

* Adjusted some training mode specific settings, and botflags

* Smarter about auto adding bots

* Keep the doors around in training mode

* Blocking idle sounds and auto disabling use_rewards

* Item drop timer reduce, giving bots only a knife to start with

* Fixed idle sounds played in training mode

* Reduced complexity of item/weapon respawn

* More elegant way to force item respawns

* Should finally silence insane sounds in training mode

* Testing if doors are causing bglass to pop

* Reverted door removal code

* Set glass to no_knockback to prevent movement

* Added comment in glass

* Experimental trigger_gravity changes

* Set the if statement above the trigger statement

* Trying CONTENTS_MIST as the 'vacuum of space' option

* Trying CONTENTS_MIST as the 'vacuum of space' option

* Added CONTENTS_MIST as part of MASK_WATER

* Revert "Added comment in glass"

This reverts commit 8efba3d.

* Reverted

* Fixed some training mode bugs

* Fixed static dec bug

* Add timeout functionality for matchmode (#253)

* Fixed one more warning

* Draft timeout feature

* Revert main.c changes

* Optional ref whistle sound, some minor changes

* Minor rearragement

* Grant the timeout before the next round begins

* Fixed a few critical bugs, added documentation

* CTF fixes, null checks (#264)

* More CTF Fixes (#265)

* CTF fixes, null checks

* More ctf_mode fixes

* Restored ctf_mode design, added docs, fixes (#266)

* Restored ctf_mode design

* If statement fix for CTB

* Lrcon map and limchasecam->spectatorhud fixes

* Aliasing lrcon map to lrcon softmap

* Skullernet to Sync branch merge (#267)

* Add command to set/inspect custom fog.

* Don't add heatbeam particles if paused.

* Interpolate BFG lightramp in extended mode.

* Improve RandomDir() uniformity.

* Improve tracker shell effect.

Make entity black. Add more particles and make particles larger
depending on radius.

* Avoid NaNs in heightfog shader.

Fixes small ‘dead pixel’ artifacts visible in dark areas.

* Reduce indentation.

* Add re-release bloom effect support.

Based on code from: Jonathan <jonno.5000@gmail.com>
Suggestions by: @res2k

Closes #362.

* Delete program if it fails to compile/link.

Using incomplete program may crash the GPU.

* Clean up uniforms binding code.

* Fix uniforms block size mismatch.

ANGLE doesn't like it, but Nvidia/Mesa are fine with it.

* Add GL_BindBufferBase() wrapper.

* Remove unused argument.

* Make glStateBits_t 64-bit.

* Print shader source with ‘developer 3’.

* Add color shell to weapon model too.

* Improve visibility of typewritten strings.

* Update mgu6m2 checksum.

* Don't OR contents in CM_ClipEntity().

It turns out fire_lead() water detection logic has been broken all this
time due to this change. Revert to original Q2 behavior.

* Fix BFG laser sparks color.

* Fix PSX skies.

* Draw PSX flare as default flare.

* Better smoothing of short steps.

* Re-add debug graph support.

Can still be useful for some things. Also include packet size mode from
R1Q2.

* Update libcurl to 8.11.0.

* Turn ‘PF_cprintf to a non-client’ error into warning.

No reason for this to be an error when other similar conditions are
warnings.

* Don't put shadows on alpha surfaces.

* Use separate cvar for skybox texture filter.

Skybox textures are typically very low-res, and having them nearest
filtered can be undesirable even if the rest of textures are.

* Remove unneeded image type bit.

* Reset flare visibility if entity disappeared.

Prevents previously visible flares from popping up behind the wall. Use
2.5 sec timeout so that flashing flares still work.

* Scale flares up with distance for occlusion.

* Fix BFG lightramp lerp with variable FPS.

Regression since 9e99f37.

* Add N64 electric sparks effect.

Partially based on:
Paril@fd255ef

* Only print 24-bit PCX warning in developer mode.

* Fix broken maps that set skyrotate but not skyaxis.

* Only call GL_InitFramebuffers() if using shaders.

* Allow arbitrary length image extensions.

Don't just assume 3 chars. Allows some broken maps to work.

* Only print game API warnings in developer mode.

* Mask vwep index with 255 in extended mode.

More data may be packed after it in the future.

* Fix misrendered window icon

* Add missing parens for Com_DWPrintf

Ran into this when trying to make a release build from ade82fd

* Add clipmask parameter to new pmove trace function.

Allows ladders to work more reliably in some re-release maps.

* Update comments.

* Merge brush contents into solid leaf contents.

Fixes annoying issue with CONTENTS_LADDER tracing not working as
expected, because solid leafs only have CONTENTS_SOLID bit.

To avoid regressions, only do this in extended protocol mode.

* Remove ill-defined ‘map_allsolid_bug’ cvar.

It could cause prediction misses if desynced between client/server.

* Reduce size of mnode_t/mleaf_t.

* Print missing models with ‘developer 2’.

* Build some CI targets in release mode.

To catch errors like 0b790d7.

* Cast zlib malloc size to size_t before multiply.

* Support scaling sprites too.

* Interpolate blend in extended mode.

* Remove unused defines.

* Add BSPX header presence flag.

* Ignore SURF_NODRAW bit in vanilla maps.

Commit 0dbe1bb disabled rendering of NODRAW surfaces in attempt to fix
re-release maps, but this in turn broke vanilla maps which have NODRAW
bit randomly set on visible surfaces.

Only account for NODRAW if map has BSPX header.

Originally reported in Paril#132.

* Allow lightmapped SURF_FLOWING faces.

These are allowed to have lightmaps in vanilla Q2.

* Show surface flags for ‘cl_surface’ macro.

* Remove fake sky faces if using cubemaps.

Some vanilla maps use fake sky faces for lighting and backface culling.
These faces should be invisible, and must be removed if using cubemaps.

Originally reported in Paril#132.

* Calc vertex buffer size after removing sky faces.

* Consider more flags for N64 detection.

* Align code for readability.

* Ignore prediction misses of 1/8 units or less.

Prevents tiny oscillations when standing on top of another entity in
some cases. Follow-up fix to d019074.

* Fix race condition when retrieving thread return value.

Return value is not used anywhere currently.

* Rename CHAR_WIDTH to CONCHAR_WIDTH.

Prevents conflict with limits.h when compiling in C23 mode. Also rename
CHAR_HEIGHT.

* Better protect against multiple nextserver commands.

Users could kill the server by sending multiple nextserver
commands with crafted spawncount.

* Change debug level comparisons to >= for readability.

* Add shadow alpha fading with distance.

Also fix wrong projected point being used for shadow culling.

* Count culled shadows separately.

* Const-ify server state pointers in client_t.

* Assert input field buffer is nul-terminated.

* Update libcurl to 8.11.1.

* Update libjpeg-turbo to 3.1.0.

* More strictly check stat index bounds.

Don't allow referencing stats >= 32 without protocol extensions.

* Tweak BSP feature detection logic a bit.

Lightmapped liquids are compiler specific feature independent from
DECOUPLED_LM. Make them depend on BSPX header instead.

Also restrict bmodel skies to BSPX maps only, not N64.

* Skip cinematic demos if running coop server.

Hack to prevent the server from being killed if mod uses demos as
cinematics. Serving demos to multiple clients has never worked
in vanilla Q2 anyway.

* Skip cinematic existence check if running dedicated server.

* Move CRC to common code, expose CRC_Block().

* Support hashed format for entity string overrides.

For compatibility with YQ2 mapfixes.

* Fixed a few warnings and one error

* Fixed CON_WIDTH error

---------

Co-authored-by: Andrey Nazarov <skuller32@gmail.com>
Co-authored-by: Karolis Stasaitis <contact@carlossless.io>

* Autodownload on map conflict (#272)

* Auto download map once if local copy does not match server

* Hopefully fixing client autodnld bug

* Testing a fix to the dead body projectile blocking bug (#269)

* Testing a fix to the dead body projectile blocking bug

* Added use_buggy_ent_hitbox to toggle this feature

* Added documentation

* Refined docs

* Decoupled gl_dynamic (#270)

* Decoupled gl_dynamic

* Added documentation

* Null cvar deref fix

* Fixed CRC check value

* Test fix on flashing team bars for 1 frame on player death (#273)

* Test fix on flashing team bars for 1 frame on player death

* Fixed protocol issue

* Hopefully fixing the flicker

* Issue 298 fix

* Added potential fedora build system (#274)

* Added potential fedora build system

* Removed install step since we only want to do this once (self hosted runner)

* Updated for Fedora, uuid, bot_file_path fix

* Some notes

* Resolved discrepancies with skin/index paths (#299)

* A few GHUD score fixes (#300)

* Fixed team score digit placements (#301)

---------

Co-authored-by: Andrey Nazarov <skuller@skuller.net>
Co-authored-by: Andrey Nazarov <skuller32@gmail.com>
Co-authored-by: Lovro Grgic <lovrogrgic0@gmail.com>
Co-authored-by: Reki <spiper212@gmail.com>
Co-authored-by: Karolis Stasaitis <contact@carlossless.io>
darkshade9 added a commit that referenced this pull request Mar 4, 2026
* Grab mouse when entering active state.

Fixes #329.

* Fix some issues with libavcodec cinematics.

Fix memory leaks. Fix draining decoder.

* Fix too early exit when one of the streams is shorter.

* Changed branch name in workflow

* Drop raw samples when resetting wrap counter.

* Fix buffer underruns when in minimized state.

If client is minimized, mix ahead 0.125 sec minimum. 0.1 sec results in
choppy sound when client runs at 10 FPS.

* Wrap debug printf macros in do { } while (0).

* Replace libogg/libvorbis music playback with libavcodec.

Has the benefit of supporting more than just Ogg Vorbis format for
music.

* Refuse downloading to ‘music’ or ‘video’ directories.

* Move casts in overflow checks.

* Fix crash if MD5 skin path is too long.

* Try different extensions for cinematics.

* Initialize configstring mapping before serverdata.

Some broken servers/demos may try to send configstring updates before
serverdata. This would result in error because configstring mapping is
not initialized yet.

Fixes #330.

* Account for terminating NUL for EntString lump.

* Store edge/surfedge indices rather than pointers.

* Fix dynamic lights on alpha faces.

* Add ‘autosave’ command.

Just save to fixed ‘save1’ slot for now. Needed to differentiate
regular saves from autosaves in the menu.

* Bind white texture for flare occlusion test.

Fixes GL_INVALID_ENUM error with GL ES 3.x.

* Reduce number of BSP_RecursiveLightPoint() arguments.

* Add struct for common frametime

Shared struct fields and computations common to client and server.

* Treat LOAD_LEVEL_START the same as level re-enter.

If we are loading LOAD_LEVEL_START autosave with existing level file,
this means we have re-entered this level from another level, and we need
to run it for 10 seconds.

Fixes buggy mgu3m2 -> mgu3m3 -> mgu3m2 transition if after re-entering
mgu3m2 player is killed and level is reloaded.

* Added ffmpeg deps

* Missed a space

* Sync to aqtion alpha (#142)

* Added listsound command for server

* Updated comment

* Backwards compat is broken currently

* Encapsulated AQtion-specific items with preprocessors

* Still no dice yet

* Works locally

* Had to hard-set some enums

* Converted #ifdef to #if for USE_AQTION

* Remove unused explosion type.

* Added handy message for badbyte, ListSounds prototype add

* Add monster muzzleflashes.

From Jonathan <jonno.5000@gmail.com>

* Add more remaster muzzleflash definitions.

* Add view weapon muzzleflashes.

From Jonathan <jonno.5000@gmail.com>

* Const-ify pointers to indices.

* Reduce mesh drawing code duplication.

* Allow muzzleflashes to be disabled.

* Allow custom footsteps to be disabled.

* Enable lit alpha faces for N64 maps too.

* Sync monster_flash_offset[] definitions with remaster.

Remaster fixes some offsets to better match the models.

* Store MD5 texcoords in a separate array.

* Replace qboolean with bool in hash map code.

* List images that have glowmaps.

* List models that have MD5 replacements.

* Make Win32 pthread wrapper symbols static.

Should avoid linking issues if some other library defines these
symbols as reported in #336.

Also simplify wrapper to avoid having global thread list.

* Add Meson 1.3.0 warning workaround.

When building with MSVC, Meson 1.3.0 now complains that c_std=gnu99
isn't supported. Switch to gnu11 and add a fallback to c11 for MSVC.

Multiple c_std values only work with Meson >= 1.3.0 so make this
conditional on Meson version.

* Remove unused prototypes.

* Fix typo.

* Convert MSG_* flags to BIT() macro.

* Refuse downloading to ‘save’ directory.

* Add Z_ReallocArray().

Use it to safeguard hash map allocations against integer overflow.

* Discard raw texture data when stopping cinematic.

* Fix decoding last frame in OGG_Load().

Last frame can be longer than remaining duration and needs to be
truncated.

* Fix crash when resampling too long WAV file.

DMA resampler can't handle more than 2^23-1 input samples, make this a
hard limit for WAV.

* Optimize sfx resampling for big-endian.

* Show MD5 feature if enabled.

* Limit OGG files to MAX_SFX_SAMPLES for symmetry with WAV.

* Fix ‘ogg info’ display.

Show source sample rate and number of channels. Skip path which can be
too long.

* Use entity radius for tracker shell and power splash effects.

Also fix tracker shell to use current lerp origin rather than from
previous frame.

* Fix wrong axis.

* Allow more fine-grained ‘gl_showtris’ control.

* Merge begin_/end_alias_mesh().

* Improve drawing transparent gun.

Make shell effect on re-release MD5 models a bit less ugly by not
drawing hidden faces.

* Avoid depth func manipulation.

It's already set to GL_LEQUAL by GL_ClearState().

* Simplify assert.

* Fix UB if LM_MAX_LIGHTMAPS is exceeded.

* Make BSP face hashing always on.

Lightmap batching will require it.

* Batch lightmap updates.

Attempt to crutch up inefficient drivers that can't handle lots of
glTexSubImage2D() calls per frame.

* Draw all lightmaps for debugging.

* Print lightmap extents if out of range.

Also change errors to warnings.

* Simplify checks for lightmap.

* Don't spam about missing glowmaps with ‘developer 2’.

* Print BSPX lumps found with ‘developer 2’.

* Use larger lightmaps for DECOUPLED_LM maps.

* Fit debug lightmaps on screen.

* Count uploaded lightmap texels.

* Update libcurl to 8.5.0.

* Simplify GL_RebuildLighting().

It's more correct to call LM_BeginBuilding() if toggling
lightmaps off, because it will reset nummaps/maxmaps.

* Fix previous commit and clean up.

Vertex lighting still needs full surface rebuild if lighting parameters
change.

Also merge LM_(Begin|End)Building calls into upload_world_surfaces().

* Fix UB after GL_RebuildLighting().

GL_RebuildLighting() replaces glr.fd.lightstyles with single fake
lightstyle, which can lead to out of array access later in frame.

To fix this, move GL_RebuildLighting() call up to ensure that
glr.fd.lightstyles gets overwritten with correct table.

* Fix transparent surfaces with vertex lighting.

* Test ent->area.next to determine if entity is linked.

list_t structure has next/prev members swapped compared to link_t.

This technically breaks game ABI, but doesn't matter in practice
because game library should never be using these fields, except for
testing them for NULL to determine if entity is linked.

Change the code to test the first structure member like original code
does to improve ABI compatibility.

* Fix UB in MenuList_PrevColumn().

* Don't always scroll menu list when sorting.

* Fix UB in touch functions when plane is NULL.

* Support PRINT_TYPEWRITER and centerprint queue.

* Give more time to read typewritten string.

* Made String layout errors easier to debug

* Lag scale graph scaling engage

* Updated meson.build to support c11 fallback

* Updated meson.build to support c11 fallback

* Reduce sizebuf_t size.

* Avoid using size_t where int is sufficient.

* Avoid having redundant fields in netchan_t.

* Avoid storing netchan methods in netchan_t.

* Unify netchan message overflow check.

Also remove useless fatal_error field.

* Reorder netchan_t fields to make it smaller.

* Simplify packing mvd_unicast/multicast length.

* Avoid caching some sound indices.

* Refresh global precache indices after savegame load.

Fixes long standing Quake 2 bug when loading savegame would mess up
monster sounds if SpawnEntities() precache order has changed compared to
savegame.

* Allow SZ_Write() with NULL data if len == 0.

* Revert "Fix UB after GL_RebuildLighting()."

This reverts commit 0f26547.

* Properly fix UB after GL_RebuildLighting().

Fix without crashing in LM_RebuildSurfaces() this time.

* Merge SV_HullForEntity2() into SV_HullForEntity().

* Add q_cold attribute and mark Com_Error() as such.

* Replace some Com_LPrintf with specific macros.

* Fixing protocol issue

* Scope stuff?

* Fixing Github huge screwup on not syncing parse.c correctly

* Add SignExtend() function.

* Fix more whitespace issues in game code.

* Use initializer for aim vector.

* Precaching hitsounds

* Removed unused sounds

* Removed unused sounds again

* Allows for multiple scopes

* Enable zoom autosensitivity

* Got rid of some nonsense

* Got rid of some nonsense

* Cleaning up some stuff + fix openal site link

* More fixes

* Trying something a little different

* Using a cvar rather than a struct entry

* Removed unused cvar, removed debug print

* Misc game code simplifications.

* Fix maps with 255 inline models and more.

* Free edicts without classname or spawn function.

* Use game.maxclients instead of maxclients->value.

* Use BIT_ULL() for all U_* defines.

Should prevent surprises if trying to do e.g. (mask & ~U_SOMEBIT).

* Reduce size of some BoxEdicts() lists.

* Get rid of clamp() macro.

Also add more efficient functions (stolen from FFmpeg) to clip integers
to power of two ranges. Add SSE optimized Q_clipf().

* Add and use Q_atoi().

Windows version of atoi() clamps returned value to INT_MIN/INT_MAX on
overflow. Add Q_atoi() to make this consistent on all platforms.

* Allow client messagelevel up to 256.

* Check for zero JPEG/PNG image dimensions.

This should never happen, but check anyway for completeness.

* Make CL_ParseZPacket() length variables unsigned.

Doesn't matter in practice, but makes code less surprising.

* Use MAX_EDICTS instead of magic constants.

* Properly check inuse flag in blocked functions.

* Make HashMap_Reserve() capacity argument unsigned.

* Fix use of uninitialized variable.

* Change MAX_MSGLEN back to 32 KiB.

Commit 6b4f63 bumped MAX_MSGLEN to 64 KiB without taking into account
that netchan fragmentation layer only allows up to 32 KiB messages.

* Scan client inventory up to game.num_items.

Should prevent out of array access if client inventory contains non-zero
values at positions >= game.num_items.

* Simplify sky drawing code.

* Avoid signed integer overflow in SortPlayers().

* Prefer libc versions of some string functions.

* Avoid using sizeof on pointer variable.

* Properly check inuse flag in ai_run().

* Debug print statements for sound caching

* Simplify hash map lookup code.

* Clean up UI player models listing.

* Update zlib to 1.3.1.

* Update libpng to 1.6.42.

* Update libjpeg-turbo to 3.0.2.

* Update libcurl to 8.6.0.

* Shorten code.

* Update CI workflow.

* Simplify code.

* Fix message overflow check.

* Update comment.

* Add link to nightly builds.

* Forgot to save file

* Fixed an issue in CL_PlayFootstepSfx where it always played a random step sound from all loaded step sounds in the player's sound directory. This was problematic because the default pak-file for action now contains twelve step sounds, unintentionally activating the func cl_enhanced_footsteps for everyone. This was not optimal as many players have only four original step sounds in their personal pak-files, resulting in the player having their personal step1.wav - step4.wav mixed up with step5 - step12.wav from baseaq/pak0.pkz

To address this, the use of the cvar cl_enhanced_footsteps has been enforced. Now, it must be set to 1 for CL_PlayFootstepSfx to play more than the first four step#.wav sounds.

* Set defines for referencing OpenAL header files for MacOS

* Changed PKG_CONFIG_PATH for Darwin build

* Revert AL import change as a test

* Testing Mac ARM builds

* Changed tag

* macos-latest is now ARM64, trying macos-13 for Intel builds

* Reverted pkgconfig path for Intel homebrew

* Updated arm release steps

* Updated upload-artifact to v4

* Updated checkout and upload actions

* Updated openal for Mac users

* Sync TNG to Q2Pro (#154)

* Fix double assignment.

* Fix missing break statement.

* Make hash map allocations tagged.

* Templatize BSP loading code.

* Update libjpeg-turbo to 3.0.4.

* Update libpng to 1.6.44.

* Update libcurl to 8.10.1.

* Update openal-soft to 1.23.1.

* Update khr-headers to 20240924.

* Unignore subprojects/packagefiles.

* Update README.md.

* Silence compiler warning.

* Add CI workflow for nightly builds.

* Use enum instead of magic constant.

* Warn if DECOUPLED_LM lump has invalid offsets.

* Added check if roundtimelimit >= 1 to make announcement

* Added bot_reportasclient cvar to de-list bots as players

* Revamped a lot of USE_AQTION macro conditional compilation, change to check if stats are enabled

* Removed redundant -lcurl from meson

* Re-arranged writing stats functionality

* Some cleanup, formatting

* Some cleanup, menu add, taking care for cases where the option isn't available

* Added documentation, use_pickup to enable/disable

* Synced with skuller build changes

* Missed updating OpenAL-soft

* Updated libjpeg-turbo and linpng as well

* Removed unneeded preprocessor

* Somehow git is not picking up changes to g_cmds.c

* MSVC is a joke

* Windows is amazing

* Added support for multiple game modes

* Changed some preprocessing items, reverting small/large in Cmd_Players_f to test

* Moved Windows-specific botlib stuff to its own file

* helps to add your source files

* Removed windows.h from botlib

* Simpler method

* Done with the windows nonsense, just renaming the vars

* Simplified allocating buffer room for request message

* Simplified format for pickup requests

* Add COM_ParseToken().

Allow parsing into user supplied buffer. Also add line number counter.

* Set bot_enable checks in various places

* Some documentation additions

* Retrying reverting small and large

* Trying adding LEAN_AND_MEAN to rpc.h

* Define, not include, dummy

* Replaced small/large with playerInfo/playerList in g_cmds.c

* Some documentation editing

* Use real JSON parser to parse MD5 scales.

* Factor MD5 skin loading into separate function.

* Refactor MD5 code more.

Use longjmp instead of macros for error handling.
Get rid of md5_joint_t::parent.
Get rid of md5_model_t::base_skeleton.
Verify joint parent has been processed before use.
Reduce size of md5_vertex_t and md5_weight_t to 16 bytes.
Allow joint names up to 48 chars.

* Simplify Quat_SLerp() close angle check.

* Add VectorRotate() macro.

* Optimize MD5 interpolation more.

Get rid of Quat_RotatePoint() in hot path. Replace it with matrix
multiply. Gives some nice FPS boost.

* Un-inline quaternion functions.

* Only warn if MD5 has less frames than MD2.

* Added comments

* Added sv_load_ent toggle cvar

* Fixed documentation

* Fixed crashing bug that tried to find a null edict

* Build changes to fix sync/aq2-tng

* Fixed ETV capture issue, client crash on GL_ColorBytePointer and GL_VertexPointer

* Refactored setting and determining espionage modes, removed atl/etv cvars

* Removed redundant settings

* Added TestEntityPosition check on leader respawns

* Needed to rename VectorRotate because it was reintroduced..?

* Returning if bots are disabled

* Removed extra debug info

* Flush uniform buffer explicitly.

* Add GL_DeleteBuffer() function.

* Add R_Malloc() macro.

* Prepare hunk API for GPU lerp.

Add Hunk_FreeToWatermark(). Make Hunk_*Alloc() accept alignment
parameter.

* Add GL_BindingForTarget().

* Allow binding VA_NONE.

* Reduce scope of variable.

* Move glBindBufferBase to GL 3.0.

* Print freed models count.

* Fixing bot scaling issues in teamplay

* Commenting out TE_DAMAGE_DEALT

* Support alias model interpolation on GPU.

Can work on ≥ GL 3.1, but only enable on ≥ GL 4.3 by default to avoid
performance regressions.

Depending on hardware capabilities, this can make MD5 rendering a lot
(up to 10x) faster.

* Always use 16-bit indices for meshes.

* Update bug report template.

* Update INSTALL.md.

Mention that pkg-config search path must be updated in cross files.
Closes #360.

* Optimize skipping MD5 bounds.

* Update FreeBSD VM to 14.1.

* Fix rendering error if classic sky texture is missing.

Don't attempt to use cubemap as classic sky. Regression since 47656f8.

* Use VectorRotate() macro in more places.

* Use system meson package.

* No longer precaching AQtion gun sounds, saves us memory and sound slots

* Allow message write buffer to overflow.

With extended protocol limits, overflowing MAX_MSGLEN with single
message is possible in MVD and client demo code.

Allow msg_write to overflow and add explicit overflow checks to avoid
crashing with fatal error.

* Fixed Espionage bugs

* Added weapon options in docs

* Set timelimit and fraglimit to 0 if we issue nav_edit

* Quick and dirty expose gl_shaders value to gamelib

* Reduced special weapon/item respawn timers if bots are in the game

* Added option to not include bots in highscores, ctf fix

* Synced with skuller build changes

* Reverted mingw change, why fix if not broken

* Changed bot radio to use streakKills instead of score

* Use mat4_t for GL matrices.

* Add re-release fog effect support.

Keep fog parameters in player_state_t for proper delta compression.
Height fog seems broken but that's how it is in re-release.

* Set fog params too if only for sky factor.

* Explicitly use ubuntu-24.04 for mingw CI.

* Enable fog for shadows/celshading.

* Make ‘gl_fog’ a simple off/on toggle.

* rebased ch_hide_while_zoomed

* Fixed some old typos

* renamed to currently_scoped_in

* Set hc_boost default to 0, zoom crosshair default to 1

* Nade bonk is a little more accurate on hit location

* Nade bonk is a little more accurate on hit location

* Setup CTFSetupStatusbar

* Added documentation

* Statically linking some libraries

* Building libjansson from source

* sudo make install

* Fixed wording on pickup command errors

* Added ctf_dyn_respawn, sv bots fixed in TP mode, some optimizations..

* Adjusted the respawn timer to use a static value to subtract from

* Check for invalid node on dropped flag and return to avoid segfault

* Adjusted messaging criteria, updated docs

* Moved SteamCloud definition before fs_game/fs_home

* Refined documentation around bots

* unified AQTION_EXTENSION check to an #ifdef instead of an #if

* Fixed AQTION_EXTENSION pmove fields being stripped when player state was packed

* removed hack to strip protocol 38 support on non-listen servers

* restored customizeentityforclient, restored CvarSync_Updated

* fixed double tempent parse and filtered hitmarker sending

* Additional check on round number > 0

* Better CTF rules messages, fixed highscores crash

* Report all players in a pickup match in the Discord webhook

* Set bot ping to BOT if bot_reportasclient is 0

* Re-added duplicate CL_ParseTEnt();

* Initial save point on player stat bar in GHUD

* Looking a little better

* Re-colorized, fixed stat bar drawing

* Fixed team 1 bug

* Added center clock timer

* Hiding timer if timelimit is 0

* Reduced timer border thickness

* SetAnchor'd timer

* Using SetAnchor, center stat bar compatible with scr_scale

* Using SetAnchor, center stat bar compatible with scr_scale

* Fixed vertical alignment of stat values

* Moved stats horizontally, added award tallies

* GHUD Player stat and timer Deathmatch compatible

* Removed MOD_TELEFRAG from recording 100000 damage

* Set timer values to 0 if negative (overtime)

* Some cleanup, darkened gray bar

* A/I/E icons

* Unhide timer elements

* Re-draw the GHUD if going spectator

* Support for CTF scores in GHUD

* Moved HUD score a bit, CTF/Esp team logos render in GHUD now

* Team scores moved to center, matchmode has its own format

* Save point

* Static link libjpeg

* re-add xhair

* Added nice features from TNG upstream, thanks Raptor007

* Updated doc on missing stats_mode code

* Added teamnone command

* Added check for Espionage leader and documentation

* Updated documentation

* A potential fix for crashing when refreshing due to crosshair loading

* MSVC always bitches about something

* Removed debug statements

* Removed scr_crosshair_changed in scr_scale_changed

* Fix for Espionage not starting in ATL mode

* Set chosenItem to 0 if no item to log

* Check gl_shaders value before using legacy gl in DrawNullModel

* Client will not try to download jpg textures if r_override_textures is 0 (#245)

* Client will not try to download jpg textures if r_override_textures is 0

* Lovely how Mac built it fine but Linux did not

* Compiler warnings

* Non-static declarations, also checking for r_texture_overrides

* Non-static declarations, also checking for r_texture_overrides

* Removed commented cvars

* Setting r_override_textures to 2 for downloading jpg files now

* Variety of null/value checks (#244)

* Added knife_catch (#224)

* Fix uncommon spawnpoints (#255)

* Fixed one more warning

* This should fix maps with only one info_player_start spawn

* trying to fix a meson bug

* trying to fix a meson bug

* trying to fix a meson bug

* trying to fix a meson bug

* trying to fix a meson bug

* Gamemode fixes (#260)

* Moved gamemode server settings to Gamemode()

* Fixed some gamemodes, bots serverinfo

* Fixed 'atl' and 'etv' settings

* Add missing stats (#258)

* Fixed one more warning

* Added shot stats for punches and grenade throws

* auto_menu 2 and gl_shader check (#250)

* Fixed one more warning

* auto_menu 2 prints the menu AFTER the motd is printed

* Added IS_BOT macro, bot_reportpings cvar (#246)

* Minor CTF revamp (#247)

* ctf_rewards added, replacing ctf_mode, fixed stat collection

* Models disappeared somehow

* vwep works

* Limiting briefcase pickup to guns isn't working yet

* Added two todos

* Updated to macos-15-intel

* Added lrcon support directly to the gamelib (#261)

* Support for Extended Status and Rules queries (#262)

* Autoghost (#259)

* Fixed one more warning

* use_ghosts 2 to autoghost restore

* Fail early if ghosts isnt even enabled

* NULL check and doc update

* Keeping track of CTF/Dom/TeamDM scores in t1/t2/t3 cvars now (#263)

* Fixed implicit declaration

* Automatic demo recording, including deathmatch, without lua needed (#243)

* Automatic demo recording, including deathmatch, without lua needed

* Set ServerAutoRecordDemo to static

* Auto demo recording and sv_status_ext doc

* training mode (#254)

* training mode bot spawnpoint initial support

* Added spawn settings for training mode

* A few more behavior flags, logic gates

* Initial minor success?

* Still some debug statements, but bots spawn in.. player doesn't

* Renamed training_mode to just training

* Segfaults look to be addressed

* Botflags are properly set

* Fixed a few edge cases

* Fixed respawning issue

* Added BOT_DUMMY and BOT_IGNORE_ALL aliases

* Minor cleanup

* Adjusted some training mode specific settings, and botflags

* Smarter about auto adding bots

* Keep the doors around in training mode

* Blocking idle sounds and auto disabling use_rewards

* Item drop timer reduce, giving bots only a knife to start with

* Fixed idle sounds played in training mode

* Reduced complexity of item/weapon respawn

* More elegant way to force item respawns

* Should finally silence insane sounds in training mode

* Testing if doors are causing bglass to pop

* Reverted door removal code

* Set glass to no_knockback to prevent movement

* Added comment in glass

* Experimental trigger_gravity changes

* Set the if statement above the trigger statement

* Trying CONTENTS_MIST as the 'vacuum of space' option

* Trying CONTENTS_MIST as the 'vacuum of space' option

* Added CONTENTS_MIST as part of MASK_WATER

* Revert "Added comment in glass"

This reverts commit 8efba3d.

* Reverted

* Fixed some training mode bugs

* Fixed static dec bug

* Add timeout functionality for matchmode (#253)

* Fixed one more warning

* Draft timeout feature

* Revert main.c changes

* Optional ref whistle sound, some minor changes

* Minor rearragement

* Grant the timeout before the next round begins

* Fixed a few critical bugs, added documentation

* CTF fixes, null checks (#264)

* More CTF Fixes (#265)

* CTF fixes, null checks

* More ctf_mode fixes

* Restored ctf_mode design, added docs, fixes (#266)

* Restored ctf_mode design

* If statement fix for CTB

* Lrcon map and limchasecam->spectatorhud fixes

* Aliasing lrcon map to lrcon softmap

* Skullernet to Sync branch merge (#267)

* Add command to set/inspect custom fog.

* Don't add heatbeam particles if paused.

* Interpolate BFG lightramp in extended mode.

* Improve RandomDir() uniformity.

* Improve tracker shell effect.

Make entity black. Add more particles and make particles larger
depending on radius.

* Avoid NaNs in heightfog shader.

Fixes small ‘dead pixel’ artifacts visible in dark areas.

* Reduce indentation.

* Add re-release bloom effect support.

Based on code from: Jonathan <jonno.5000@gmail.com>
Suggestions by: @res2k

Closes #362.

* Delete program if it fails to compile/link.

Using incomplete program may crash the GPU.

* Clean up uniforms binding code.

* Fix uniforms block size mismatch.

ANGLE doesn't like it, but Nvidia/Mesa are fine with it.

* Add GL_BindBufferBase() wrapper.

* Remove unused argument.

* Make glStateBits_t 64-bit.

* Print shader source with ‘developer 3’.

* Add color shell to weapon model too.

* Improve visibility of typewritten strings.

* Update mgu6m2 checksum.

* Don't OR contents in CM_ClipEntity().

It turns out fire_lead() water detection logic has been broken all this
time due to this change. Revert to original Q2 behavior.

* Fix BFG laser sparks color.

* Fix PSX skies.

* Draw PSX flare as default flare.

* Better smoothing of short steps.

* Re-add debug graph support.

Can still be useful for some things. Also include packet size mode from
R1Q2.

* Update libcurl to 8.11.0.

* Turn ‘PF_cprintf to a non-client’ error into warning.

No reason for this to be an error when other similar conditions are
warnings.

* Don't put shadows on alpha surfaces.

* Use separate cvar for skybox texture filter.

Skybox textures are typically very low-res, and having them nearest
filtered can be undesirable even if the rest of textures are.

* Remove unneeded image type bit.

* Reset flare visibility if entity disappeared.

Prevents previously visible flares from popping up behind the wall. Use
2.5 sec timeout so that flashing flares still work.

* Scale flares up with distance for occlusion.

* Fix BFG lightramp lerp with variable FPS.

Regression since 9e99f37.

* Add N64 electric sparks effect.

Partially based on:
Paril@fd255ef

* Only print 24-bit PCX warning in developer mode.

* Fix broken maps that set skyrotate but not skyaxis.

* Only call GL_InitFramebuffers() if using shaders.

* Allow arbitrary length image extensions.

Don't just assume 3 chars. Allows some broken maps to work.

* Only print game API warnings in developer mode.

* Mask vwep index with 255 in extended mode.

More data may be packed after it in the future.

* Fix misrendered window icon

* Add missing parens for Com_DWPrintf

Ran into this when trying to make a release build from ade82fd

* Add clipmask parameter to new pmove trace function.

Allows ladders to work more reliably in some re-release maps.

* Update comments.

* Merge brush contents into solid leaf contents.

Fixes annoying issue with CONTENTS_LADDER tracing not working as
expected, because solid leafs only have CONTENTS_SOLID bit.

To avoid regressions, only do this in extended protocol mode.

* Remove ill-defined ‘map_allsolid_bug’ cvar.

It could cause prediction misses if desynced between client/server.

* Reduce size of mnode_t/mleaf_t.

* Print missing models with ‘developer 2’.

* Build some CI targets in release mode.

To catch errors like 0b790d7.

* Cast zlib malloc size to size_t before multiply.

* Support scaling sprites too.

* Interpolate blend in extended mode.

* Remove unused defines.

* Add BSPX header presence flag.

* Ignore SURF_NODRAW bit in vanilla maps.

Commit 0dbe1bb disabled rendering of NODRAW surfaces in attempt to fix
re-release maps, but this in turn broke vanilla maps which have NODRAW
bit randomly set on visible surfaces.

Only account for NODRAW if map has BSPX header.

Originally reported in Paril#132.

* Allow lightmapped SURF_FLOWING faces.

These are allowed to have lightmaps in vanilla Q2.

* Show surface flags for ‘cl_surface’ macro.

* Remove fake sky faces if using cubemaps.

Some vanilla maps use fake sky faces for lighting and backface culling.
These faces should be invisible, and must be removed if using cubemaps.

Originally reported in Paril#132.

* Calc vertex buffer size after removing sky faces.

* Consider more flags for N64 detection.

* Align code for readability.

* Ignore prediction misses of 1/8 units or less.

Prevents tiny oscillations when standing on top of another entity in
some cases. Follow-up fix to d019074.

* Fix race condition when retrieving thread return value.

Return value is not used anywhere currently.

* Rename CHAR_WIDTH to CONCHAR_WIDTH.

Prevents conflict with limits.h when compiling in C23 mode. Also rename
CHAR_HEIGHT.

* Better protect against multiple nextserver commands.

Users could kill the server by sending multiple nextserver
commands with crafted spawncount.

* Change debug level comparisons to >= for readability.

* Add shadow alpha fading with distance.

Also fix wrong projected point being used for shadow culling.

* Count culled shadows separately.

* Const-ify server state pointers in client_t.

* Assert input field buffer is nul-terminated.

* Update libcurl to 8.11.1.

* Update libjpeg-turbo to 3.1.0.

* More strictly check stat index bounds.

Don't allow referencing stats >= 32 without protocol extensions.

* Tweak BSP feature detection logic a bit.

Lightmapped liquids are compiler specific feature independent from
DECOUPLED_LM. Make them depend on BSPX header instead.

Also restrict bmodel skies to BSPX maps only, not N64.

* Skip cinematic demos if running coop server.

Hack to prevent the server from being killed if mod uses demos as
cinematics. Serving demos to multiple clients has never worked
in vanilla Q2 anyway.

* Skip cinematic existence check if running dedicated server.

* Move CRC to common code, expose CRC_Block().

* Support hashed format for entity string overrides.

For compatibility with YQ2 mapfixes.

* Fixed a few warnings and one error

* Fixed CON_WIDTH error

---------

Co-authored-by: Andrey Nazarov <skuller32@gmail.com>
Co-authored-by: Karolis Stasaitis <contact@carlossless.io>

* Autodownload on map conflict (#272)

* Auto download map once if local copy does not match server

* Hopefully fixing client autodnld bug

* Testing a fix to the dead body projectile blocking bug (#269)

* Testing a fix to the dead body projectile blocking bug

* Added use_buggy_ent_hitbox to toggle this feature

* Added documentation

* Refined docs

* Decoupled gl_dynamic (#270)

* Decoupled gl_dynamic

* Added documentation

* Null cvar deref fix

* Fixed CRC check value

* Test fix on flashing team bars for 1 frame on player death (#273)

* Test fix on flashing team bars for 1 frame on player death

* Fixed protocol issue

* Hopefully fixing the flicker

* Issue 298 fix

* Added potential fedora build system (#274)

* Added potential fedora build system

* Removed install step since we only want to do this once (self hosted runner)

* Updated for Fedora, uuid, bot_file_path fix

* Some notes

* Resolved discrepancies with skin/index paths (#299)

* A few GHUD score fixes (#300)

* Fixed team score digit placements (#301)

---------

Co-authored-by: Andrey Nazarov <skuller@skuller.net>
Co-authored-by: Andrey Nazarov <skuller32@gmail.com>
Co-authored-by: Lovro Grgic <lovrogrgic0@gmail.com>
Co-authored-by: Reki <spiper212@gmail.com>
Co-authored-by: Karolis Stasaitis <contact@carlossless.io>

* zlib fallback fix

---------

Co-authored-by: Andrey Nazarov <skuller@skuller.net>
Co-authored-by: Frank Richter <frank.richter@gmail.com>
Co-authored-by: bAron <forum@davidbaron.se>
Co-authored-by: Andrey Nazarov <skuller32@gmail.com>
Co-authored-by: Lovro Grgic <lovrogrgic0@gmail.com>
Co-authored-by: Reki <spiper212@gmail.com>
Co-authored-by: Karolis Stasaitis <contact@carlossless.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant