Commit Graph

21231 Commits

Author SHA1 Message Date
Ricardo Luís Vaz Silva 1957c15a41 give error instead of warning for zscript 4.12+ on return count mismatch 2023-10-15 18:51:05 +02:00
Ricardo Luís Vaz Silva d699ba248e warn when fewer returns than expected are given for a function 2023-10-15 18:51:05 +02:00
Rachael Alexanderson e2a9208c56 - fix error in last commit, >> should be << 2023-10-15 11:16:24 -04:00
Rachael Alexanderson bac12948e5 - add `forcecullbackfaces` in `modeldef` 2023-10-14 14:37:40 -04:00
Ricardo Luís Vaz Silva dccce46d5b allow "&" instead of "out" in function pointer parameters 2023-10-11 19:46:53 +02:00
Ricardo Luís Vaz Silva c935a95cb0 Add function pointer Properties 2023-10-11 19:12:48 +02:00
Ricardo Luís Vaz Silva 0e9135132d Allow FindFunctionPointer to return non-virtual methods 2023-10-11 19:12:48 +02:00
Ricardo Luís Vaz Silva d9a88d7080 Fix deserialization of methods inside function pointers 2023-10-11 19:12:48 +02:00
Ricardo Luís Vaz Silva e61bd10bbf Finish implementing function pointers
Allow using function literals with function pointers, allow narrowing classes parameter types, and widening classes in return types, allow pointers to non-static, non-virtual functions, add null checking to function calls
2023-10-11 19:12:48 +02:00
Ricardo Luís Vaz Silva 23c21b23c3 cleanup. 2023-10-11 19:12:48 +02:00
Ricardo Luís Vaz Silva 0ce4b3e7fb update/cleanup function pointers 2023-10-11 19:12:48 +02:00
Ricardo Luís Vaz Silva e3704605d8 Implement Static Function Pointers 2023-10-11 19:12:48 +02:00
Rachael Alexanderson 88b5d9aba1 - fix $PROGDIR expansion being case sensitive 2023-10-10 10:29:01 -04:00
Christoph Oelckers 0044da1ca2 added missing VMFunction struct definition 2023-10-09 19:20:44 +02:00
Christoph Oelckers 79f2fc6553 backend update from Raze.
Mainly a VMFunction script type and some associated utilities.
2023-10-09 18:45:30 +02:00
Christoph Oelckers 06466b9017 add missing include to a_quake.cpp.
The GCC AppImage build reported

/usr/bin/ld: CMakeFiles/zdoom.dir/playsim/mapthinkers/a_quake.cpp.o: in function `AActor::Distance2D(AActor*, bool) const':
a_quake.cpp:(.text._ZNK6AActor10Distance2DEPS_b[_ZNK6AActor10Distance2DEPS_b]+0x2c): undefined reference to `AActor::PosRelative(AActor const*) const'
2023-10-08 12:14:50 +02:00
Christoph Oelckers ac646e96be use copystring instead of strdup when reading environments.
The mismatched the underlying code which allocates via copystring.
2023-10-08 11:54:14 +02:00
Christoph Oelckers 4f5df7b9ef allocate temporary state label strings from the compiler backend's allocator.
They share appoximate lifetime so this gets rid of 3 more copystring calls.
2023-10-08 11:40:34 +02:00
Christoph Oelckers c8ee0cd5cc fixed another bad string validation check involving GetChars 2023-10-08 09:37:12 +02:00
Christoph Oelckers 56929833f0 fixed two bad validations of FName's. 2023-10-08 09:27:46 +02:00
Christoph Oelckers 448ca88bfd fixed some signed-ness issues. 2023-10-08 08:11:56 +02:00
Ricardo Luís Vaz Silva bfe589fecd try to fix gcc thinking the vectors are uninitialized 2023-10-08 07:31:59 +02:00
Ricardo Luís Vaz Silva 04c167f181 final final GetChars fix on linux 2023-10-08 07:31:59 +02:00
Ricardo Luís Vaz Silva f0be58e862 hopefully the last few GetChars fixes for linux 2023-10-08 07:31:59 +02:00
Ricardo Luís Vaz Silva f4fb583c6c more GetChars fixes in linux/macOS 2023-10-08 07:31:59 +02:00
Ricardo Luís Vaz Silva c69941e49d fix GetChars in linux/macOS 2023-10-08 07:31:59 +02:00
Christoph Oelckers 6055ff029d the remaining GetChars additions.
The offending operator const char * no longer exists.
2023-10-07 23:44:01 +02:00
Christoph Oelckers 7a5a2858a2 yet even more GetChars calls added. 2023-10-07 23:29:24 +02:00
Christoph Oelckers c94c63110e added a third batch of GetChars call to FStrings. 2023-10-07 23:03:40 +02:00
Christoph Oelckers 89535b803a Backend update from Raze. 2023-10-07 18:42:24 +02:00
Cacodemon345 61b7a4922a Fix typo 2023-10-07 17:31:24 +02:00
Cacodemon345 07582a6bf7 Remove Aes, BraIA64.c and Lzma86 files 2023-10-07 17:31:24 +02:00
Cacodemon345 56c44182d1 Fix wrong define for PPMd 2023-10-07 17:31:24 +02:00
Cacodemon345 4497d7fdaa Update LZMA SDK to 23.01
As a bonus, add support for XZ-compressed files in ZIP
2023-10-07 17:31:24 +02:00
Ricardo Luís Vaz Silva 5e96dbc981 Add final and sealed as class options 2023-10-07 17:29:29 +02:00
Ricardo Luís Vaz Silva 42df40941c change version, improve errors for array/map/struct copy 2023-10-07 17:27:35 +02:00
Ricardo Luís Vaz Silva b9104e8aa9 Turn Map/Array assignments into Copy
Better error checking for struct assignment

Lock assignments behind version, don't break or "fix" existing code using older ZScript versions
2023-10-07 17:27:35 +02:00
Ricardo Luís Vaz Silva a13b19815c allow "&" instead of "out" in function parameters 2023-10-07 17:27:35 +02:00
Ricardo Luís Vaz Silva 7a9ca1ad3f Allow dumping jit for mod functions only 2023-10-07 17:27:35 +02:00
Ricardo Luís Vaz Silva 3cb8f1be44 Don't try to generate code for abstract functions during JIT dump 2023-10-07 17:27:35 +02:00
Ricardo Luís Vaz Silva fa8df5a4e5 make Array::Append faster for simple structs
This makes appending arrays of simple types faster
2023-10-07 17:27:35 +02:00
Ricardo Luís Vaz Silva 65ea4f91b6 fix TMap move insertion, was using the copy constructor due to a missing std::move 2023-10-07 17:27:35 +02:00
Ricardo Luís Vaz Silva b60b3fc09a fix PStruct::AddField not passing mDefFileNo 2023-10-07 17:27:35 +02:00
Ricardo Luís Vaz Silva 86e4d064e2 fix possible null dereference in FxStructMember::RequestAddress 2023-10-07 17:27:35 +02:00
Ricardo Luís Vaz Silva fad350ff80 Make sure maps in return type don't segfault 2023-10-07 17:27:35 +02:00
Ricardo Luís Vaz Silva 3fc195c5b2 Improve handling of field names in error messages during Map/MapIterator compilation 2023-10-07 17:27:35 +02:00
Ricardo Luís Vaz Silva 87fcaab512 Fix Typo in Comment 2023-10-07 17:27:35 +02:00
Ricardo Luís Vaz Silva 766c61b3ed Deduplicate Map/MapIterator Types' Code 2023-10-07 17:27:35 +02:00
Rachael Alexanderson 29368f0f4e - make zs Actor.GetReplacement and Actor.GetReplacee clearscope 2023-10-05 12:29:20 -04:00
Ricardo Luís Vaz Silva 3e7de9aafa Fix inheritance for bNoSaveGame 2023-10-05 16:44:12 +02:00