Magnus Norddahl
805bce1166
Merge remote-tracking branch 'gzdoom/master'
2024-01-10 04:03:35 +01:00
Christoph Oelckers
83aa9388ca
backend update from Raze
...
* moving large allocations off the stack
* use proper printf formatters for size_t and ptrdiff_t.
* adding some missing 'noexcept'.
2024-01-06 15:24:10 +01:00
Christoph Oelckers
ec227383ed
fixed bad comment with non-UTF-8 extended character which MSVC warns about when compiling with /utf-8
2024-01-02 21:05:31 +01:00
Magnus Norddahl
73ada7f84b
Merge remote-tracking branch 'gzdoom/staging'
2024-01-02 17:10:47 +01:00
Christoph Oelckers
958303556f
warnings and debug code cleanup
2023-12-26 22:16:21 +01:00
Cacodemon345
a368588db6
Export FScanner parser to ZScript as ScriptScanner
2023-12-25 10:52:56 +01:00
Christoph Oelckers
aaea3d52aa
fixed more warnings.
2023-12-14 17:22:29 +01:00
Ricardo Luís Vaz Silva
43c70cdf9d
JIT-Compile all functions during startup
2023-12-06 17:44:51 -05:00
Ricardo Luís Vaz Silva
74ace89d6e
properly serialize int-backed keys for maps
2023-11-25 21:06:39 -05:00
Ricardo Luís Vaz Silva
4ec76afc40
move all doom-specific loops out of common code
2023-11-20 22:11:05 -05:00
Ricardo Luís Vaz Silva
71999e7cf6
add foreach(a/type a : thinkeriterator/actoriterator)
2023-11-20 22:11:05 -05:00
Ricardo Luís Vaz Silva
f5507a7373
add foreach(a/l/a,p/l,p/a,p,f/l,p,f : blocklinesiterator/blockthingsiterator)
2023-11-20 22:11:05 -05:00
Ricardo Luís Vaz Silva
5cb0e3bc5b
add foreach v loop for maps
2023-11-20 22:11:05 -05:00
Ricardo Luís Vaz Silva
c58bd6efb5
add foreach k,v loop for maps
...
* make FxFunctionCall and FxMemberFunctionCall take a temporary for args, since they always move it
* fix type for cast
2023-11-20 22:11:05 -05:00
Christoph Oelckers
c73f805110
restore accidentally deleted 'else'.
2023-11-19 13:01:08 +01:00
Christoph Oelckers
8e319a7669
allow comparisons between ints and translation IDs in pre 4.12 ZScript.
2023-11-19 07:47:23 +01:00
Christoph Oelckers
eaf43dfb96
fixed potential nullptr dereference.
2023-11-19 07:22:12 +01:00
Ricardo Luís Vaz Silva
3056786f38
Add missing loop
2023-11-14 20:14:48 +01:00
Ricardo Luís Vaz Silva
fc130ccaac
Serialize Name Keys as Strings for maps
2023-11-13 06:19:10 +01:00
Christoph Oelckers
8c5eb2c807
use FTranslationID in all places where strict type checking is needed.
...
This means all properties in serializable classes now use this wrapper type. The backend hasn't been changed yet
2023-11-09 23:04:10 +01:00
Christoph Oelckers
f0c9b1765e
gave translations a dedicated scripted type.
...
This is needed for implementing reliable serialization of custom translations. As long as they are merely ints they cannot be restored on loading a savegame because the serialization code does not know that these variables are special.
2023-11-09 23:04:10 +01:00
Christoph Oelckers
d5e9783324
fixed bad parameter types in direct native functions.
...
bool can cause undefined behavior here, these should be int.
2023-11-07 18:06:50 +01:00
Ricardo Luís Vaz Silva
e26f9fb13d
fix int assign optimization constants generating broken code because they weren't expected
2023-11-01 16:51:26 +01:00
Magnus Norddahl
d93c1798f6
Merge remote-tracking branch 'gzdoom/master'
2023-10-27 20:44:09 +02:00
Professor Hastig
4d88e82e32
added Wads.GetLumpLength.
2023-10-26 09:41:27 -04:00
Magnus Norddahl
e75e5a387b
Merge remote-tracking branch 'gzdoom/master' into merge-gzdoom
2023-10-19 21:05:17 +02:00
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
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
e3704605d8
Implement Static Function Pointers
2023-10-11 19:12:48 +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
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
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
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