Commit Graph

156 Commits

Author SHA1 Message Date
Alibek Omarov 412c635499 public: add float_bits_t union to access float as 32-bit signed or unsigned integer 2023-03-14 21:29:35 +03:00
Alibek Omarov fb6e310eab public: move va() function back to engine, it's not recommended to use in shared modules 2023-03-13 02:44:59 +03:00
Alibek Omarov 5c1e06ae74 public: crclib: optimize COM_HashKey, implement typical djb hashing as this function is used for hashtables with string lookup 2023-03-13 02:37:19 +03:00
fgsfds 7424b29e56 engine: initial psvita build support 2023-03-11 07:09:14 +03:00
Alibek Omarov 3c64d2ad80 public: build: don't confuse other libcs with built with glibc game libraries by specifying them into separate platform, like Android 2023-03-11 05:45:11 +03:00
Alibek Omarov 3765686077 public: make va() buffer size public 2023-03-11 05:28:17 +03:00
Alibek Omarov f4069de7f2 engine: move SlerpBones, CalcBonePosition/Quaternion from engine to libpublic 2023-02-13 05:23:13 +03:00
fgsfds 0e7ebf6d44 Merge branch 'master' of https://github.com/FWGS/xash3d-fwgs into switch_newer 2023-02-08 00:56:20 +01:00
Alibek Omarov 03a7c67731 public: build: revert arm64 renaming to aarch64, we shouldn't enforce naming changes without a reason 2023-02-08 00:03:15 +03:00
fgsfds 25a1cb8ce7 Nintendo Switch support (again) 2023-02-05 02:09:32 +01:00
Xav101 9466461ce0
engine: preliminary support for SGI IRIX (#1211)
* Added definitions for IRIX

* Patchset to get dedicated server to compile on IRIX.

* Cleaned up debug statements in wscript

* Potential bug in IRIX implementation of isnan? For now just use the portable macro.

* Include the platform port files in the build

* Temporary execution script for setting appropriate library search paths to the right locations in the build directory. This should probably get replaced with a more permanent script at some point which lives in the same directory as the normal xash binary, or be replaced by a solution that sets the rpath during config or modifies rpath during install.

* Clean up formatting and remove unneeded debugging statements

* Added GPL copyright notice and description

* Moved to irix platform folder and edited script

* Re-introduced _inline macro

* Replace spaces with tabs

Co-authored-by: Xav101 <xaviernye@msn.com>
2023-01-14 09:35:30 +03:00
Alibek Omarov 5d98e13fb8 public: add Q_ArcitectureStringByID function to get library naming compliant CPU and ABI string 2023-01-09 22:53:05 +03:00
Alibek Omarov 113904ea91 public: fix build 2023-01-09 22:47:54 +03:00
Alibek Omarov 1dc3cc2d57 public: add Q_PlatformStringByID function that returns library naming compliant string by platform identifier from buildenums 2023-01-09 08:06:58 +03:00
Alibek Omarov 15a5975abf public: build.h refactoring, removed XASH_MSVC, XASH_MINGW, as this header never intended to detect the compiler 2023-01-09 08:05:59 +03:00
Alibek Omarov 65debeb738 public: add header buildenums.h declaring all platforms, architectures and ABIs as integer constants. 2023-01-09 08:04:58 +03:00
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