Alibek Omarov
a5619e9960
engine: take keydefs header from Quake-2 source code (client/keys.h)
2025-01-15 23:47:55 +03:00
Alibek Omarov
a75666a3cd
engine: common: fix dedicated build by defining SV_GetMaxClients before CL_GetMaxClients stub (that redirects to it)
...
Also remove CL_Shutdown from dedicated stub lists.
2025-01-14 13:10:02 +03:00
Alibek Omarov
49426721d8
engine: use zero initializers instead of memset
2025-01-14 12:11:27 +03:00
Alibek Omarov
04125284a3
engine: dedicated: make some stubs inlined
2025-01-14 12:10:31 +03:00
Alibek Omarov
1d4f7b2f94
engine: server: slight refactoring, make SV_ModelHandle inlined, move PlayerIsFrozen to sv_client, fix packet loss data type
2025-01-14 12:09:23 +03:00
Alibek Omarov
38c82a3f76
engine: don't bother calculating crc32 for local clients for better performance (thanks @tyabus for the idea)
2025-01-14 11:55:28 +03:00
Alibek Omarov
4be75af214
engine: client: always write buffer.dat so we will be able to request it from users. Append protocol number to it
2025-01-14 11:31:10 +03:00
Alibek Omarov
69341e36a3
public: expose commit and branch as global variables instead of functions
2025-01-13 20:02:59 +03:00
Alibek Omarov
90e493fa3a
engine: common: add Host_ExitInMain function that will force engine return from Host_Main() function, essentially making engine gracefully exit on Android
...
In future, this might be used everywhere, so users would be able to add custom
cleanup in some advanced game_launch implementation, on any platform.
2025-01-09 20:31:26 +03:00
Alibek Omarov
692bcc4073
engine: client: cl_tent: rewrite fizz effect, fix incorrect positoning along the way
2025-01-09 19:23:40 +03:00
Alibek Omarov
07189ca2f5
engine: client: remove spammy message about not precached model on client side
...
Recently, mods (Brutal Half-Life v3 and MMod) started to call this function
every frame as a hacky way to detect presence of some model on the level. I
don't know why they do that, but users (who co-incidentally run engine with
-dev) has been complaining about console spam.
This is why we can't have things.
2025-01-09 17:10:54 +03:00
Alibek Omarov
0d55441830
engine: properly pass shutdown reason down to close log, helps to finally get rid of global finalmsg
2025-01-09 08:04:18 +03:00
Alibek Omarov
98ff33d9e2
engine: mod_bmodel: rewrite .lit file loader using normal stream io functions
2025-01-09 08:02:39 +03:00
Alibek Omarov
baa8fbaaec
engine: mod_bmodel: fix misleading debug message telling about monochrome lighting when .lit file is used
2025-01-09 08:02:39 +03:00
Alibek Omarov
a0b46da04b
engine: consolidate all box clipnodes used in studio models, pmove and server in a single place
2025-01-09 08:02:39 +03:00
Alibek Omarov
e70ba7ad64
engine: now, remove SUPPORT_BSP2_FORMAT macro, only prevent ref_soft from loading such maps
2025-01-09 08:02:39 +03:00
Alibek Omarov
8a41be9d47
engine: server: finally, make a union for large leaf indices in edict_t so we can run bsp2 maps without recompiling
2025-01-09 08:02:39 +03:00
Alibek Omarov
47aff9e30b
engine: hack mnode_t struct so we can have 24-bit face and children indices to support BSP2 format in runtime
2025-01-09 08:02:39 +03:00
Alibek Omarov
ced8744ac9
engine: split edge struct into two with 16-bit indicies and 32-bit indicies to support BSP2 format in runtime
2025-01-08 14:46:07 +03:00
Alibek Omarov
734c07ddab
engine: split clipnodes struct into two with 16-bit indicies and 32-bit indicies to support BSP2 format in runtime
2025-01-08 14:46:07 +03:00
Alibek Omarov
ceb603488a
engine: platform: sdl: set up our custom log output function to catch all SDL errors in engine log file
2025-01-08 10:10:45 +03:00
Alibek Omarov
cfebb3e1d6
filesystem: massively rework how scanning game directories work
...
* No more conversion from liblist.gam to gameinfo.txt. We are using liblist.gam directly now.
gameinfo.txt being native format to Xash3D not only remains, it takes priority over liblist.gam.
* Quake game directories now don't receive autogenerated gameinfo.txt.
* Empty directories don't get gameinfo.txt either, finally making it easier to support HD addon folders.
* If user still wishes to generate gameinfo.txt, there is now command fs_make_gameinfo that creates
gameinfo.txt for currently running game.
* No more creating empty folders for RoDir. They are now created on demand.
2025-01-08 01:22:23 +03:00
Alibek Omarov
83b5edea88
engine: platform: sdl: clear key states on losing window focus
2025-01-06 16:38:16 +03:00
Alibek Omarov
9d2a85f11f
engine: client: clear mouse state along with everything else in Key_ClearStates
2025-01-06 16:38:16 +03:00
Alibek Omarov
93d3df81ee
engine: client: small refactoring and better explanation for char input handler for menus that don't query our extended API
2025-01-06 16:00:11 +03:00
Alibek Omarov
2a7f13151a
engine: cmd: when command is already defined and has the same function pointer, show it as warning
2025-01-06 13:51:25 +03:00
Alibek Omarov
0c4f6ae61d
engine: client: like GoldSrc, use cancelselect command for escape key. It is handled in client.dll and allows mods to override Esc key behavior
2025-01-06 13:51:25 +03:00
Alibek Omarov
d6ebff81e2
engine: client: vgui: track textures upload to avoid issues in buggy mods (that are probably will never get fixed)
2024-12-30 07:28:33 +03:00
Alibek Omarov
ce4148f351
engine: client: vgui: deprecate VGUI_CreateTexture and VGUI_UploadTextureBlock functions, as they never used by vgui_support module
...
* vgui_support used them in old engine for font cache, but we don't have that anymore.
2024-12-30 07:16:30 +03:00
Alibek Omarov
08c2632c14
engine: platform: nswitch: export _Unwind_GetIPInfo as required by cs16-client
2024-12-29 09:11:21 +03:00
Alibek Omarov
687c9b004f
engine: platform: sdl: set directsound as default audio driver on Windows, due to incompatibilities with mods
2024-12-29 02:01:23 +03:00
Alibek Omarov
14e79f04ac
engine: prevent extra malloc in exec by checking if cfg already contains newline at EOL and appending it to cbuf if required
2024-12-28 16:03:49 +03:00
Alibek Omarov
5d6cf48687
engine: client: fix lightstyle timings on GoldSrc protocol, share the parser with Quake protocol handler
2024-12-28 01:40:59 +03:00
Alibek Omarov
88949a9ee6
engine: launcher: drop support for changing games from within internal launcher for platforms that do not have execv equivalent
2024-12-27 18:45:31 +03:00
Alibek Omarov
2d1e76199b
engine: host: always print Host_Error text to log, even if console hasn't been enabled
2024-12-27 18:37:25 +03:00
Alibek Omarov
a5d78ecfd7
engine: be more verbose on why the engine is going to be shut down
2024-12-27 18:30:46 +03:00
Alibek Omarov
3576e474e6
engine: get rid of SendKeyEvents function, it only listened for WM_QUIT on Windows and we don't use that with SDL
2024-12-27 18:30:01 +03:00
Alibek Omarov
9811988cce
engine: server: set mapname globals field before making first call into DLL, as some mods tend to read it too early
2024-12-26 02:50:30 +03:00
Alibek Omarov
48bdd4238e
engine: always include reason to server shutdown
2024-12-26 02:13:13 +03:00
Alibek Omarov
fd2b7e9197
engine: client: declare music command as overridable as the same command exists in HLU SDK
2024-12-26 01:16:48 +03:00
Alibek Omarov
0e42e5b9e3
engine: command: introduce new type of commands that can be overriden by a mod DLL for better compatibility
2024-12-26 01:15:32 +03:00
Alibek Omarov
65750f0cf3
engine: server: hack save fields that use types unsupported by Half-Life Unified SDK through array types
2024-12-26 00:36:28 +03:00
Alibek Omarov
6469b0a5f5
engine: common: shut up warn-unused-result on log write functions, only fetch system time for system logs when necessary
2024-12-24 11:27:34 +03:00
Alibek Omarov
4f98187e9a
engine: move select-based stdin input function to platform/posix
2024-12-24 11:13:05 +03:00
Alibek Omarov
74c19a1557
engine: client: leave SDL2 client.dll detection for Windows only
2024-12-24 10:46:39 +03:00
Alibek Omarov
cfebee6ea8
engine: split crashhandler to win32 and posix versions
2024-12-24 10:37:49 +03:00
Alibek Omarov
bd0d6644e0
engine: move Sys_SendKeyEvents to platform/win32
2024-12-24 09:59:47 +03:00
Alibek Omarov
70897af362
public: add dll helpers to simplify basic interaction with exported functions lists
2024-12-23 04:43:15 +03:00
Alibek Omarov
f1d7101ad8
engine: client: get rid of NULL sentinels at the end of arrays
2024-12-22 07:43:26 +03:00
Alibek Omarov
ac9d960eef
engine: common: get rid of NULL sentinels at the end of arrays
2024-12-22 07:22:10 +03:00