Commit Graph

140 Commits

Author SHA1 Message Date
Alibek Omarov 209a03a12a engine, public: prepare to removal of XASH_MSVC macro 2023-01-09 08:01:52 +03:00
Alibek Omarov 4684f174ee public: completely get rid of PATH_SEPARATOR macros 2023-01-05 06:06:07 +03:00
Alibek Omarov 75ccd2283b public: fix Q_memmem counting haystack size incorrectly 2023-01-04 17:17:18 +03:00
Alibek Omarov 07e622f224 public: add generic implementation for Q_memmem 2023-01-03 06:58:58 +03:00
Alibek Omarov e1ea3387ee common: rename PATH_SPLITTER to PATH_SEPARATOR, change it's type to character 2022-12-27 02:31:46 +03:00
Alibek Omarov 071638794a public: redefine Q_strpbrk to C standard version, add Q_strchrnul 2022-12-27 02:31:46 +03:00
Andrey Akhmichin 3488d4e65f public: simplified strings operations. 2022-11-18 19:32:17 +03:00
Andrey Akhmichin c1fe547925 public: update miniz to version 3.0.0 from upstream. 2022-11-06 12:35:04 +06:00
Alibek Omarov e54289f811 public: wscript: add dummy sdk_includes target that only exposes standard HLSDK include paths 2022-09-10 22:52:52 +03:00
Alibek Omarov 7f1bb9b4a6 public: introduce Q_strnicmpext function
The goal is to provide both string compare with fixed length and simple pattern match
2022-08-25 19:21:47 +03:00
Alibek Omarov 5e4fc64430 filesystem: introduce new module, based on engine filesystem.
The goal is to share filesystem code between engine and
utilities and provide C++ VFileSystem interface in the future
2022-07-28 18:56:02 +03:00
Alibek Omarov 12ea6dcfd7 public: move build.c from engine to public library, in preparation of filesystem_stdio merge 2022-07-26 04:10:36 +03:00
Alibek Omarov a9c82dbe21 public: make crtlib linkable with C++ 2022-07-26 03:17:11 +03:00
Alibek Omarov 5350d88f57 public: crtlib: add quotation mark support for ParseFile, required for filesystem_stdio 2022-07-26 03:17:11 +03:00
Alibek Omarov a2d11f670a engine, public: fix float precision issues in mathlib and monster navigation code 2022-07-13 19:26:38 +03:00
Alibek Omarov fb43a5590f public: Q_strstr should return pointer to non-const data 2022-06-29 04:02:40 +03:00
Alibek Omarov 12815bfbf2 public: remove naive implementations of standard function, add them with standard C with few extensions 2022-06-29 02:42:47 +03:00
Jesse Buhagiar b23d5ed354 Build: Add SerenityOS to list of compatible systems
This is required by the build system to spit out a library with
the correct name/platform.
2022-06-20 00:01:37 +03:00
Alibek Omarov ab6214142f public: remove custom str(r)chr functions 2022-06-14 03:23:46 +03:00
Velaron 15dc25d2cd engine: rename Q_cleanstr to something more meaningful 2022-06-13 23:36:13 +03:00
Velaron 568c7fd917 engine: strip color codes when writing to log 2022-06-13 23:36:13 +03:00
Alibek Omarov 9ce8edcb38 public: moved compiler attributes to xash3d_types.h 2022-05-28 17:57:43 +03:00
SNMetamorph 24ea8fba4b engine: common: fixed lightmap shifting caused by insufficent precision in Mod_CalcSurfaceExtents 2022-02-28 16:54:28 +03:00
Alibek Omarov 56103a90eb engine: client: limit token size in client dll parsefile to 1024 (GoldSrc value) 2022-01-27 03:32:52 +03:00
Alibek Omarov ccf90beb7d public: crtlib: add Q_isspace function 2022-01-04 02:22:20 +03:00
Alibek Omarov 4f89288ccf common: cleanup port.h 2021-12-23 19:17:11 +03:00
Alibek Omarov f60112773f public: crtlib: include string.h for strlen 2021-12-10 01:13:08 +03:00
Alibek Omarov 3771a1d6c5 public: replace our Q_strlen with standard strlen with nullptr check in macro 2021-12-03 09:44:51 +03:00
Alibek Omarov 207675990e public: build: fix missing define value 2021-10-28 20:11:31 +03:00
Alibek Omarov ab256e294e public: build: add RISC-V support(based on @archanox patches), add forcing endianness from build system 2021-10-27 20:33:21 +03:00
Alibek Omarov e5e1570aed public: redeclare ParseFile flags to be exactly same as in exported API headers 2021-10-08 17:31:32 +03:00
Alibek Omarov f3fedbfdba engine: add safe ParseFile to menu extended API 2021-10-08 17:31:32 +03:00
Alibek Omarov 378c4f30f3 public: ParseFile drops const qualifier, return -1 length on overflow
As we usually put allocated data to ParseFile, we don't need const qualifier
2021-10-08 17:31:32 +03:00
Alibek Omarov cce7c7d782 public: declare unsafe ParseFile as ParseFileLegacy 2021-10-08 17:31:32 +03:00
Alibek Omarov 9e5d5e0ea3 public: moved COM_ParseFileSafe to libpublic, added optional argument for length and overflow checking 2021-10-08 17:31:32 +03:00
SNMetamorph af3c0686c5 engine: mathlib: added Q_equal macros 2021-07-09 14:57:49 +03:00
Alibek Omarov 4723eb2586 public: crtlib: fix error in COM_SlashPathFix 2021-07-02 19:27:04 +03:00
Alibek Omarov 91ee9bd32a engine: merge tests for imagelib 2021-06-20 20:26:22 +03:00
exstrim401 b7922368bd
engine: Haiku OS support (#478) 2021-06-05 10:54:37 +03:00
Alibek Omarov 29902f48d5 public: oops, fix broken crtlib 2021-03-10 13:38:36 +03:00
Alibek Omarov d25a661701 public: moar int to size_t for string length 2021-03-10 13:18:23 +03:00
Alibek Omarov 6cc2205321 public: strlen must return size_t, not int 2021-03-07 03:38:54 +03:00
Alibek Omarov 385cc3f497 public: remote obsolete header 2021-03-05 16:09:59 +03:00
mittorn 5884cf88d3 crtlib: fix undefined behaviour when stripping extenstion from empty string 2021-02-14 21:33:41 +00:00
Gleb Mazovetskiy 5e0a0765ce Trim all trailing whitespace
The `.editorconfig` file in this repo is configured to trim all trailing
whitespace regardless of whether the line is modified.

Trims all trailing whitespace in the repository to make the codebase easier
to work with in editors that respect `.editorconfig`.

`git blame` becomes less useful on these lines but it already isn't very useful.

Commands:

```
find . -type f -name '*.h' -exec sed --in-place 's/[[:space:]]\+$//' {} \+
find . -type f -name '*.c' -exec sed --in-place 's/[[:space:]]\+$//' {} \+
```
2021-01-04 20:55:10 +03:00
Andrey Akhmichin abd9778ef3 engine: common: simplified strings operations. 2020-11-28 23:20:14 +03:00
Alibek Omarov eb652d53ac public: fix compiling 2020-11-22 19:08:51 +03:00
mittorn 341e440c07 public,sprites: fix -Wcast-align, disable -Werror for it 2020-11-18 12:15:54 +03:00
Alibek Omarov 2aaa6c6e04 public: build: add ARMv8 32-bit support, in case of someone actually uses it 2020-09-28 16:17:08 +03:00
Andrey Akhmichin 23ea7ecbcc public: optimize MD5_Print function. 2020-09-14 14:28:47 +03:00
Alibek Omarov d30605c09f engine: fixes for dedicated 2020-08-23 19:02:15 +03:00
Alibek Omarov 4c6fd79f07 tgmath: remove including tgmath.h in everything that uses xash3d_mathlib, as it's included already 2020-03-30 00:42:10 +03:00
Alibek Omarov 293b42b9d4 public: add stdint.h implementation by Paul Hsich http://www.azillionmonkeys.com/qed/pstdint.h 2020-03-30 00:13:20 +03:00
Andrey Akhmichin 7a58813254 utils: add studio model decompiler. 2020-03-04 09:23:12 +03:00
Alibek Omarov 3c8ce640c4 Merge neko/mathlib into master 2020-03-04 05:38:30 +03:00
mittorn a967caa91f
Merge pull request #125 from nekonomicon/crtlib
public: crtlib.c: reduce memory usage.
2020-02-18 03:52:36 +07:00
Andrey Akhmichin 9a0da3cd4f public: crtlib.c: reduce memory usage. 2020-02-12 14:40:19 +05:00
Andrey Akhmichin e3b547c8a9 public: rename mathlib to xash3d_mathlib. 2020-02-12 14:32:26 +05:00
mittorn e602ca1d66 public: synchronize build.h with hlsdk 2020-02-12 15:10:10 +07:00
mittorn d8f20f3642 common: add DOS4GW platform 2020-02-08 23:15:40 +07:00
mittorn adc718f4d5 public: add XASH_POSIX platform define 2020-02-08 23:15:40 +07:00
mittorn c8be38e75d mathlib: use tgmath in SinCos 2020-02-08 23:15:40 +07:00
mittorn 3a416636f1 engine: mark GAME_EXPORT's 2020-01-19 08:15:54 +07:00
Alibek Omarov 0fe18ae6dc engine: fix -Wmaybe-uninitialized 2019-12-24 02:47:51 +03:00
Alibek Omarov 5a17e7f425 build: add XASH_ARMvX defines(buildsystem integration), add oneliner to generate #undef list 2019-11-11 00:38:40 +03:00
Alibek Omarov 0cb591821a Merge sdl12-port into master 2019-11-06 22:29:04 +03:00
Alibek Omarov 8700f44175 public: unittest: use static everywhere to prevent collision when tests may be linked into engine 2019-11-05 11:35:39 +03:00
Alibek Omarov 4b97d8bcda public: add simple C89-compatible testing framework (wip) 2019-11-05 11:22:16 +03:00
Alibek Omarov 15924aebaa xash3d-fwgs: check if HAVE_TGMATH_H is set to positive value rather it's just defined 2019-11-05 01:41:35 +03:00
Alibek Omarov dfed24c290 public: build: add new ARMv6 detect macro 2019-11-02 08:56:07 +03:00
Alibek Omarov 7e9f90a09d public: fix detecting ARM on gcc3 2019-11-02 08:56:07 +03:00
Alibek Omarov 78baf568ae engine: more double promotion fixes 2019-10-18 16:46:54 +03:00
Alibek Omarov 14be566401 public: include tgmath in mathlib.h, so macros will be used inside Vector macros 2019-10-18 16:46:54 +03:00
Alibek Omarov 0577ecbccf public: initial fix of double promotion 2019-10-18 16:46:54 +03:00
Alibek Omarov e0d993a5a8 public: fix tautological-compare 2019-10-18 07:23:34 +03:00
Alibek Omarov cb62e65f9f public: fix implicit fallthrough 2019-10-05 02:49:04 +03:00
Alibek Omarov f71619d541 public: build: fix wrong hardfp abi detection 2019-07-29 06:53:42 +03:00
Alibek Omarov 2f8fec6b70 Remove trailing spaces, convert mistakenly put spaces to tabs. The most useful commit ever. 2019-07-19 20:23:08 +03:00
Alibek Omarov 4beba75159 engine: fix various compiler warnings 2019-07-13 23:25:03 +03:00
Alibek Omarov 6f121b90c1 public: wscript: skip installation 2019-07-11 03:59:56 +03:00
Alibek Omarov e700a7498e engine: move matchpattern from old engine 2019-07-09 16:36:15 +03:00
Alibek Omarov 76a8fe4873 engine: use build.h for printing architecture and operating system, also implement architecture names from library naming scheme proposal (#39) 2019-06-21 17:25:43 +03:00
Alibek Omarov f010e2be12 public: build: add a header that defines some build-time information, like target OS or platform 2019-06-21 17:20:57 +03:00
Alibek Omarov 70d45f23de public: crclib now is part of public library 2019-06-06 04:33:57 +03:00
Alibek Omarov 94ec8cb997 wscript: add -fPIC for static libraries globally 2019-05-28 04:12:02 +03:00
mittorn bd6532fae4 wscript: Add shared lib flags to public 2019-04-17 06:42:34 +07:00
Alibek Omarov d17fdea884 waflib: remove get_subproject_name function 2019-04-11 00:13:59 +03:00
Alibek Omarov 17f719558c wscript: move build env setup to main wscript 2019-03-25 01:25:44 +03:00
Alibek Omarov f3a2f46fb3 wscript: remove libm linking to static public, it's useless. Correct include path order 2019-03-20 02:40:47 +03:00
Alibek Omarov fb6fd61cd9 public: initial moving some common code into static public library, that can be linked to any engine part 2019-03-20 01:17:46 +03:00