RaveYard
31ac1bd414
Initial implementation of Quaternion type in ZScript
2022-11-13 22:48:19 +01:00
Christoph Oelckers
1047b766df
- added PlusZ intrinsic to Vector3 and ToVector intrinsic to numeric values.
...
These just mirror features of the internal vector classes.
2022-11-13 08:07:20 +01:00
Christoph Oelckers
f3b33f7cf8
- added LengthSquared and Angle intrinsics for all vector types, also allow calling VectorAngle with a full vector as a single parameter.
2022-11-13 08:07:12 +01:00
RaveYard
31db5847cc
Finish Vector4 implementation
2022-11-12 09:04:38 +01:00
Shiny Metagross
a525233914
Attempted to add Vector4 to ZScript
2022-11-12 09:04:38 +01:00
Christoph Oelckers
9c75a38ec3
- added [[noreturn]] to several functions that always throw exceptions.
2022-11-05 09:09:00 +01:00
Christoph Oelckers
453688ccc6
- reworked CVARs to not use a linked list and to be initialized manually.
...
This solves two problems:
* The linked list is too slow, a map is better. A map cannot be used with statically allocated CVARs because order of initialization is undefined.
* The current CVAR system is an unordered mishmash of static variables and dynamically allocated ones and the means of identification are unsafe. With this everything is allocated on the heap so it can all be handled the same by the cleanup code.
2022-10-21 18:56:43 +02:00
Christoph Oelckers
ef887403cf
- marked a few Printf calls in critical error paths as PRINT_NONOTIFY.
2022-10-20 23:55:29 +02:00
Christoph Oelckers
ba8a334862
- removed two bogus asserts from the script compiler.
2022-10-20 18:39:51 +02:00
Christoph Oelckers
e6615629b3
- move two more backend->frontend calls to the interface
2022-10-02 18:29:57 +02:00
Player701
78360c1888
- Exported GetDisplayTopOffset for font characters to ZScript
2022-09-30 10:07:41 +02:00
Alison Watson
18a67cfdb2
use constexpr constructor for PARAM_COLOR_AT
2022-09-16 20:50:33 +02:00
Chronos Ouroboros
12995b84c7
- fixed FDynArray_Obj not performing write barriers properly.
2022-09-16 20:45:39 +02:00
Christoph Oelckers
c87e87365d
- fixed: all script methods adding an object to a dynamic array must perform a write barrier.
2022-09-08 13:30:00 +02:00
Christoph Oelckers
4032576519
- blocked off direct access to TAngle’s internal storage.
2022-08-26 18:09:29 +02:00
Christoph Oelckers
3d2578820b
- block direct comparisons of TAngle with floats
2022-08-26 18:01:52 +02:00
Christoph Oelckers
f0fbdba593
- disable implicit conversions from float to TAngle
2022-08-26 18:01:26 +02:00
Christoph Oelckers
c89ae6358e
- Backend update from Raze, mostly maintenance changes without new functionality.
2022-08-11 22:51:19 +02:00
931211b9db
Export FindLumpFullName to ZScript.
2022-08-05 20:25:02 +02:00
Marisa Heit
4c6d0e4209
Better error message for unknown nested types
2022-08-04 07:42:46 +02:00
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