Tim Angus and smallmodel
e299031470
Reduce duplication in FS path search code
...
Co-authored-by: smallmodel <15067410+smallmodel@users.noreply.github.com >
2025-09-04 23:28:07 +02:00
smallmodel
ecf70528a7
Move all C++ core classes to the corepp directory
2025-08-24 16:51:11 +02:00
Tim Angus
5136eb3856
Add DEFAULT_RELATIVE_BASEDIR
...
Sys_BinaryPathRelative takes a parameter which is path concatenated with
Sys_BinaryPath, and resolved to a canonical path. The intended use case
is to facilitate the situation where you want the game data directory to
exist outside the same directory in which the binary lives, but relative
to it. More specifically, if you want to distriute multiple binaries for
different architectures, in the same tree, this allows for a means of
having said binaries in architecture subdirectories, with a shared data
directory, e.g.:
ioq3/x86/ioquake3.exe etc.
ioq3/x86_64/ioquake3.exe etc.
ioq3/baseq3/pak0.pk3 etc.
Here, when building you would define DEFAULT_RELATIVE_BASEDIR=".." by
appending it to the build system CFLAGS, and then the executables will
by default look in their parent directory for the data.
2025-08-23 23:30:58 +02:00
smallmodel
f529358357
Move updatecheck variables to the update checker source file
2025-08-22 23:34:48 +02:00
Tim Angus
fa047b7bf9
http -> https on URLs
2025-08-08 22:53:00 +02:00
smallmodel and Tim Angus
e556f58cc4
Reimplement CMake from upstream ioq3 ( #781 )
...
This reuse the CMake build system from ioq3, modified to make it work with the C++ code.
---------
Co-authored-by: Tim Angus <tim@ngus.net >
2025-08-08 01:03:07 +02:00
Pan7 and smallmodel
6d2d6e1429
Replace USE_LOCAL_HEADERS with USE_INTERNAL_*
...
Co-authored-by: smallmodel <15067410+smallmodel@users.noreply.github.com >
2025-08-01 23:02:06 +02:00
J.Ingram
88e41fd6e5
Call SHGetFolderPathA directly
...
Removing shfolder.h satisfies MSVC, and calling the function directly makes PFNSHGETFOLDERPATHA unnecessary.
2025-08-01 22:43:04 +02:00
J.Ingram
8336e48566
Use PFNGETFOLDERPATHA typedef
...
FARPROC is defined with an empty parameter list, which newer versions of GCC consider equivalent to (void). Compilation fails when qSHGetFolderPath gets called with arguments.
2025-07-17 21:00:52 +02:00
smallmodel
89a748673c
Catch all exceptions when parsing json
2025-06-17 21:45:21 +02:00
smallmodel
099a67f1fd
Make cURL loosely coupled ( #739 )
...
This makes it so the project doesn't link against the library. The project must be able to run without the presence of the library.
2025-06-07 20:36:15 +02:00
smallmodel
da9979f887
Remove the architecture suffix from binary names
...
- Avoids conflicts with third-party DLLs (like SDL, OpenAL) which have no suffix.
- Easier to build an installer and document.
- More clarity as the architecture is already indicated in the archive name.
- Simplifies launchers & automation (no need to guess the architecture).
- The architecture is still visible when typing `version` in the console or when the executable starts
2025-05-13 20:44:35 +02:00
smallmodel
49fd4acef8
Wrap WriteCallback around HAS_LIBCURL define
2025-03-17 11:50:41 +01:00
smallmodel
e6f5d76abe
Set the appropriate headers to use API versioning
2025-03-13 23:42:50 +01:00
smallmodel
fecd1eb505
Preallocate and set the maximum buffer size to receive the request
2025-03-13 23:37:20 +01:00
smallmodel
9536a8ec64
Specify a small timeout for each request
2025-03-13 22:41:01 +01:00
smallmodel
06a12246f5
Notify the request thread of shutdown only if it's waiting
...
This avoids a deadlock that would occur if notify_all() is called before the thread is waiting
2025-03-13 22:37:21 +01:00
smallmodel
456b660b2a
Improve the update checker so it can be opt-out ( #696 )
...
* Add a cvar to enable/disable update checking
* Refactor update checker
This splits the thread part from the main part to clarify the code
* Move and update the configuration documentation, for a more general approach
2025-03-13 21:09:42 +01:00
smallmodel
c854df8ffa
Don't start the update thread if it shouldn't be active or if the network doesn't work
2025-03-12 23:58:24 +01:00
smallmodel
22a34d8d68
Fix compile error when libcurl is not installed
2025-03-12 23:18:11 +01:00
smallmodel
79af8a46d1
Increase update thread sleep time
...
This prevents wasting time in scheduling the thread
2025-03-11 23:57:40 +01:00
smallmodel
4fe11b5ea9
Always return false for CheckNewVersion() if libcurl is not used
2025-03-11 23:37:34 +01:00
smallmodel
7a20bb4deb
Add a new method that return version numbers
2025-03-11 23:32:18 +01:00
smallmodel
58f7e6f1fe
Use cURL instead of cpp-httplib
2025-03-05 23:40:05 +01:00
smallmodel
01381ed084
Add HTTP support and update checking
2025-02-24 02:20:31 +01:00
ysdragon
833408c663
Don't link against rt for musl and *BSD platforms
2025-02-08 04:03:24 +02:00
smallmodel
f22ea9eb21
Link against rt
2025-01-11 23:50:33 +01:00
smallmodel
ec95b6bfbe
Fix localization not working properly
2025-01-08 22:52:47 +01:00
smallmodel
6a31381c8e
Format localization source files
2025-01-08 21:26:41 +01:00
smallmodel
7f8bcf8075
Don't read localization.txt file twice
2025-01-08 21:07:13 +01:00
smallmodel
b84a47ad3f
Localization files should be sorted case-insensitive
2025-01-08 21:04:09 +01:00
ysdragon
2ec2ef8bbf
Update sys CMake configuration to link execinfo for BSD variants
2025-01-08 11:27:09 +02:00
smallmodel
387ccd5cc3
Bump the minimum CMake version to 3.12
2024-11-30 00:36:33 +01:00
smallmodel
83a874e4fd
Add an option for CMake to specify when targeting the local system
2024-11-29 20:59:47 +01:00
ysdragon
8d0b7b77c6
Check for libc and link against execinfo lib for musl libc
2024-11-24 16:04:30 +01:00
smallmodel
2ce8450a7e
Use fprintf to stderr
2024-11-21 01:14:08 +01:00
smallmodel
58d8a73269
Don't abort() on interrupt or on program termination
2024-11-20 12:46:04 +01:00
smallmodel
c788d57c52
Use abort() rather than doing a segfault
2024-11-19 23:15:01 +01:00
smallmodel
01dfbcdbfe
Properly print the backtrace and generate a core dump on both Windows/Unix
2024-11-19 21:45:49 +01:00
smallmodel
b0a683c188
Don't localize if the localization hasn't been initialized
2024-11-12 23:09:32 +01:00
smallmodel
afc431c413
Add a basic launcher
2024-11-04 01:00:53 +01:00
smallmodel
1a3122bef3
Fix pointer to integer warning
2024-10-18 22:14:45 +02:00
smallmodel
b1c5d6c62a
Increase the backtrace size to 64
2024-10-13 11:32:20 +02:00
smallmodel
1fd6c2bd52
Merge pull request #360 from pryon/UINotepad-fixes
...
UINotepad fixes and improvements
2024-09-22 19:35:52 +02:00
smallmodel
764b95f617
Set a better name for binaries to properly distinguish the name of the architecture
2024-09-22 14:56:02 +02:00
pryon
6b91846b0c
Reimplement Sys_ListFiles and Sys_ListFilteredFiles
...
They had several bugs, like showing the current and parent directory entires twice, not seeing files but only directories, etc.
2024-09-21 19:36:13 +02:00
pryon
92190220aa
Implement clipboard functionality
2024-09-21 19:32:23 +02:00
smallmodel
f9d264058b
Use safe version of sprintf and strcpy
2024-09-20 23:08:53 +02:00
smallmodel
a69d9d4483
Fix compilation errors for MacOS, and add support for MacOS
2024-09-20 21:31:27 +02:00
smallmodel
08c5186426
Use stdlib.h as malloc.h is deprecated
2024-09-20 21:27:53 +02:00