Marisa Heit
66460bfeb8
Add support for nested user types
...
The grammar already understood these constructs. Now the compiler does too.
2022-08-04 07:42:46 +02:00
Christoph Oelckers
ef0e9c025e
- fixed comparison checks.
2022-08-03 10:58:37 +02:00
Christoph Oelckers
3563c99ead
- made adjustments for proper int type promotion to allow internal ZScript to compile with it on.
...
* Emit a warning when relational comparisons are made between signed and unsigned ints.
* Handle shift operators so that they do not fail for constant definitions.
* changed return type of Array::Size() to signed int as most code out there is using it this way and would otherwise drown in warnings.
* fixed a few deprecation warnings.
2022-08-03 10:26:29 +02:00
Christoph Oelckers
388a5cb481
- ZScript: fixed integer type promotion for shift operator
...
* the first operand must never be sign-changed.
* the second operand should always be made unsigned. Shift by negative values is undefined and may produce undefined behavior on some systems.
2022-08-03 09:03:03 +02:00
Christoph Oelckers
8eabaf61c9
- version-restrict int to uint promotion.
...
Some mods depend on this not happening.
2022-08-03 08:45:37 +02:00
Christoph Oelckers
5cee2b5803
- fixed: The compile context for constant evaluation did not initialize its Version member.
2022-08-03 08:44:38 +02:00
Marisa Heit
f7f9746a0f
Don't throw away unsignedness when passing unsigned constants to the codegen
2022-08-02 07:48:21 +02:00
Marisa Heit
7ce29fe855
Add signed->unsigned promotion for binary operators
...
The C-style rules for integer promotion are that when you have a signed int and an unsigned int, if you can't promote to a wider type, then the signed type is promoted to an unsigned type.
2022-08-02 07:48:21 +02:00
Christoph Oelckers
4422f9079c
- fix menu commands with semicolon separated commands
...
C_DoCommand only executes one command, to do full processing AddCommandString is needed.
2022-07-29 08:38:34 +02:00
Marisa Heit
b9501a7291
Fix definition order of ZScript structs
...
Do a first pass over the Structs array in CompileAllFields() to reorder them such that if a struct uses other structs, those structs will be resolved first.
2022-07-29 08:17:33 +02:00
Magnus Norddahl
e2778ba442
Move TexMan.GetCanvas and GetTextureCanvas to common
2022-07-25 18:50:16 +02:00
Ricardo Luís Vaz Silva
12660b0015
Add special case for relative includes from top-level files
2022-07-24 09:05:16 +02:00
Ricardo Luís Vaz Silva
365131e1e3
rename PrintString to PrintfEx and make it a vararg function
2022-07-11 19:35:51 +02:00
Ricardo Luís Vaz Silva
03c8da8a44
Expose Print Flags to ZScript
2022-07-11 19:35:51 +02:00
RaveYard
9a083d2d13
Fix FVector to Vector comparison
2022-06-24 21:38:14 +02:00
alexey.lysiuk
59458cf463
- fixed compilation without JIT
...
src/common/scripting/vm/vmframe.cpp:674:16: error: call to 'JitCaptureStackTrace' is ambiguous
2022-06-23 13:26:36 +03:00
RaveYard
4c588077c2
Fix FVector incompatible operands errors
2022-06-23 10:54:31 +02:00
Christoph Oelckers
2d10ad9d2d
- removed incorrect assert.
...
This may fail if a narrow data type is negated.
2022-06-23 10:43:43 +02:00
Magnus Norddahl
e08965b0b3
Improve vk_debug output a lot by throwing away the useless parts of the message and limit the callstack to the first 5 gzdoom calls
2022-06-22 07:55:19 +02:00
Christoph Oelckers
14fc2a011e
- ZScript: don't allow multiple assignment syntax with only one element.
2022-06-16 10:47:11 +02:00
Christoph Oelckers
18115ef455
- fixed JIT target function for GetTimeFrac.
...
I_GetTimeFrac has default parameters so it cannot be used directly.
2022-06-16 09:34:40 +02:00
Christoph Oelckers
e62fe65d00
- silenced a few more float conversion warnings.
2022-06-16 08:21:27 +02:00
Christoph Oelckers
851a211be2
- fixed some warnings
2022-06-13 00:08:08 +02:00
RaveYard
519f9f4298
Fix JIT pointer offsets
2022-06-12 17:57:44 +02:00
RaveYard
f9bf6f9311
Implement FVector ZScript for Actor Scale
2022-06-12 17:57:44 +02:00
Ricardo Luís Vaz Silva
121045e48d
move relative path resolution earlier, to prevent problems with include deduplication
2022-06-07 20:16:50 +02:00
Ricardo Luís Vaz Silva
6f6942609c
fix relative include path when loading folders
2022-06-07 10:02:12 -04:00
Christoph Oelckers
c62e14d2c1
- Backend update from Raze
...
Mostly cleanup and better separation of game/backend concerns.
2022-06-06 12:09:29 +02:00
RicardoLuis0
d6516f5c3b
Relative Includes for ZScript
2022-05-31 09:09:42 +02:00
Christoph Oelckers
4e72ea1cfa
- Backend update from Raze
2022-04-26 20:50:36 +02:00
Christoph Oelckers
a97a2ec133
- backend sync with Raze
...
Nothing really useful here…
2022-04-11 00:26:50 +02:00
Christoph Oelckers
e0289eb0ac
- fixed Font struct export and removed the duplicate handler.
2022-04-07 15:11:50 +02:00
Chronos Ouroboros
590f45441f
- fix the wrong register type being freed when initializing arrays.
2022-02-17 00:19:34 -05:00
Chronos Ouroboros
238952da35
- fixed local array initialization for const values.
2022-02-13 22:42:15 -05:00
Chronos Ouroboros
2f56ff3833
- fixed local vector array initialization.
2022-02-12 10:44:58 -05:00
Christoph Oelckers
e60e6967c0
- whitespace cleanup, updated from Raze.
2022-01-02 12:23:42 +01:00
Christoph Oelckers
1c517d19fa
- Backend update from Raze.
...
This is mainly code cleanup from setting the compiler to a stricter warning level.
2022-01-02 11:39:17 +01:00
Christoph Oelckers
77d74a11d1
- removed most templates.h includes.
2021-10-30 10:49:12 +02:00
Christoph Oelckers
eb69bbcae0
- replaced MIN/MAX in common code.
2021-10-30 10:46:17 +02:00
nashmuhandes
ab3146054b
Fixed: SBar_DrawTextureRotated was missing the angle parameter
2021-10-19 11:44:34 +02:00
Christoph Oelckers
109069f718
- removed the unused palette parameter from the V_GetColor family of functions.
2021-08-14 09:57:23 +02:00
Christoph Oelckers
c3772fe203
- changed FString API to use ptrdiff_t instead of long for signed size arguments.
2021-08-12 00:45:59 +02:00
Christoph Oelckers
03b7324f71
- reorder evaluation for 'if' statements to handle the condition first.
...
Otherwise this won't emit errors if a bad condition is used with an empty conditional part.
2021-08-10 19:03:40 +02:00
Christoph Oelckers
c1a8776a15
- updated common code from screenjob branch.
...
That is, all parts not related to cutscenes.
2021-08-03 12:30:44 +02:00
Christoph Oelckers
4e46a83734
- fixed bad type in FxFontCast.
2021-06-14 08:00:08 +02:00
Christoph Oelckers
b3fd8ce12a
- fixed permission validation in OptionMenuItemCommand.DoCommand.
...
This was missing the InMenu check like the other critical menu functions.
2021-06-07 08:16:53 +02:00
Christoph Oelckers
bd0ca55a35
- fixed: explicit float to int casts should not emit truncation warnings.
2021-05-19 18:35:36 +02:00
Christoph Oelckers
8a4fa8b65f
- backend update from Raze.
2021-05-17 20:44:19 +02:00
Christoph Oelckers
97b8c0ccfb
Revert "- fixed some uses of postincre,ment/decrements on narrow types."
...
This reverts commit 668f8f2cf6 .
Revert "- added a proper error message when '--' or '++' gets used on 8 or 16 bit values."
This reverts commit a94f5dd1b3 .
None of this was necessary - the triggered assert was bogus and had to be removed.
2021-05-17 18:13:30 +02:00
Christoph Oelckers
5bf2a26b82
- removed bogus assert from FxMinMax.
...
This would also trigger on signed/unsigned mismatches which it is not supposed to do.
2021-05-17 12:48:22 +02:00