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
Professor Hastig
ab8711b57a
removed several bad casts to 'long'.
...
The 'long' type should generally be avoided because its size differs on Windows and Linux/Mac so it is almost guaranteed to cause undefined behavior
2023-10-04 16:47:43 +02:00
Christoph Oelckers
48ba63c022
added even more explicit GetChars() calls.
2023-10-03 15:55:08 +02:00
Christoph Oelckers
1717ff47b2
add GetChars() accessors to many FString uses where const char* is wanted.
...
By no means complete, it's just a start to get rid of that automatic type conversion operator.
2023-10-03 14:27:39 +02:00
alexey.lysiuk
a3eb1ec1fd
- fixed compilation with Clang
...
src/console/c_cmds.cpp:1310:40: error: cannot pass non-trivial object of type 'FString' to variadic function; expected type from format string was 'char *' [-Wnon-pod-varargs]
2023-10-02 10:24:24 +03:00
Christoph Oelckers
a7258de82e
print proper level and music names for mapinfo CCMD
2023-10-01 23:38:14 +02:00
Rachael Alexanderson
99fac235eb
- make clang happy
2023-10-01 20:36:12 +02:00