Alibek Omarov
b5b6dad39c
engine: fix a typo in scroll lock (missing L)
2025-01-15 23:49:13 +03:00
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
785632a437
filesystem: minor refactoring in MD5_HashFile, use initializer instead of memset, limit buffer variable scope
2025-01-14 11:36:13 +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
dcdca01e86
ref: gl: declare VBO globals static
2025-01-14 11:30:35 +03:00
Alibek Omarov
201d9c8f80
public: split VCS info to separate file for slightly better compilation speeds
2025-01-13 20:02:59 +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
3532a77643
public: move git commit and branch private to libpublic
2025-01-13 20:02:59 +03:00
Alibek Omarov
35dc072b26
filesystem: on Android, assume all paths are case-sensitive because doing Linux-specific ioctl check crashes FUSE driver and kills our app
2025-01-13 13:56:15 +03:00
Alibek Omarov
f92a3695b3
filesystem: fix fd leak in Platform_GetDirectoryCaseSensitivity
2025-01-13 13:54:42 +03:00
Alibek Omarov
a7b776f3b9
Revert "wscript: disable /showIncludes based msvcdeps for now, it causes issues with non-English locales"
...
Add option --enable-msvcdeps that we only enable on CI.
This reverts commit e58007aab3
.
2025-01-10 21:48:43 +03:00
Alibek Omarov
f2fb668c9e
android: now run exit() from Java side, as the next engine run is expected to be clean
2025-01-09 21:29:01 +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
823642b10d
readme: add link to ipa-reader.com for Xash word pronounciation [skip ci]
2025-01-09 17:13:56 +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
80bac157eb
Update SDL to 2.30.11, use GitHub links for SDL, as it might be faster on Actions virtual machines
2025-01-08 09:42:53 +03:00
Alibek Omarov
b45581c630
Documentation: gameinfo: add a note about liblist.gam and gameinfo.txt changes
2025-01-08 01:22:23 +03:00
Alibek Omarov
d4fe3d6f8a
filesystem: wscript: check d_type field in struct dirent, as this is an extension and some supported ports (like psvita) don't have it
2025-01-08 01:22:23 +03:00
Alibek Omarov
1907485895
filesystem: re-enable folder check for array returned by listdirectory with dirs_only set to true
...
According to glibc manual, not all filesystems support it and some might return DT_UNKNOWN.
2025-01-08 01:22:23 +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
f9a0057c28
wscript: fix bsp2 build bruh
2025-01-08 01:22:23 +03:00
Alibek Omarov
ceb2b0c5e4
filesystem: add utility function FS_CheckForQuakePak that parses Quake PAK file and looks for specific files in it's root
...
Used to properly detect Quake game dirs.
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
Andrey Akhmichin
b7150c3208
Documentation: opensource-mods.md: add "Earth Special Forces".
2025-01-02 05:35:33 +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
03eac904c1
public: make COM_FixSlashes inlined
2024-12-29 09:05:15 +03:00
Alibek Omarov
62f3354f4e
mainui: update
2024-12-29 08:06:58 +03:00
Alibek Omarov
d5b6eff0c0
game_launch: fix --disable-menu-changegame by request
2024-12-29 08:06:50 +03:00