Ricardo Luís Vaz Silva
6072260b3f
Fix FxMultiAssignDecl type
2022-12-23 15:54:23 +01:00
Ricardo Luís Vaz Silva
c8fe074041
Multi-Assign Declarations
2022-12-20 23:22:37 +01:00
Ricardo Luís Vaz Silva
43880bbbe1
Expose StripLeft and StripLeftRight to ZScript
2022-12-19 14:00:09 +01:00
Ricardo Luís Vaz Silva
fb33a29400
Error out instead of crashing for vector out variables
2022-12-18 19:46:22 +01:00
Christoph Oelckers
941c0850ba
- Backend update from Raze.
...
Mainly optimizations for the sound system and texture manager.
2022-12-18 16:19:18 +01:00
Ricardo Luís Vaz Silva
46d36cf5c7
add BobWeapon3D
2022-12-09 21:49:38 +01:00
Ricardo Luís Vaz Silva
dce456783d
Add support for Vector types as properties
2022-12-08 18:12:27 +01:00
Ricardo Luís Vaz Silva
b610f4206f
Fix wrong assumptions about actor initialization in Map/MapIterator
2022-12-05 19:23:42 +01:00
Ricardo Luís Vaz Silva
24d27a6746
Fix PMapValueReader warning on Clang/GCC
2022-12-04 23:53:51 +01:00
Ricardo Luís Vaz Silva
92761feee1
Add casts to F32 Map/MapIterator functions to get rid of double to float conversion warnings
2022-12-04 21:15:46 +01:00
Ricardo Luís Vaz Silva
8b6a714d41
Map<K,V> and MapIterator<K,V> for ZScript
2022-12-04 15:11:00 +01:00
Christoph Oelckers
1e5e65546d
Revert "- add support for not localizing some text functions, and modify menu text fields to use this"
...
This reverts commit 91d3c4b606 .
This completely breaks the menus, so it needs to go.
2022-12-04 08:13:04 +01:00
Gutawer
91d3c4b606
- add support for not localizing some text functions, and modify menu text fields to use this
2022-12-03 23:30:38 +01:00
Ricardo Luís Vaz Silva
1a7a56ce39
Fix GC ignoring DynArrays inside fixed Arrays
2022-11-27 08:19:41 +01:00
Marisa Heit
70df34674b
AST debug cleanup
...
- Add ArrayIterationStmt printer.
- Mark ZCC_TreeNodes as const for the AST printers.
- Use static_assert to catch missing printers without needing to run with -dumpast.
2022-11-25 19:20:24 +01:00
Christoph Oelckers
ffdd0a11ea
- fixed memory leak in ZScript backend.
...
This allocated some memory and never freed it again. A TArray would have been better - but since we know the maximum size is 4 we may just use a static array here to keep things as efficient as possible.
2022-11-24 23:52:53 +01:00
Christoph Oelckers
65a26d6779
- removed the string constructors from FSoundID.
...
Due to C++ conversion rules this was a bit too volatile. There's really not enough places where being able to pass a string directly into the sound API was beneficial - the two most frequent functions now got overloaded variants.
2022-11-24 23:52:52 +01:00
Christoph Oelckers
d173c0453c
- handle all remaining places of sound ID conversions after removing the conversion operators.
2022-11-24 23:52:52 +01:00
Christoph Oelckers
160633a4a2
- migrate a large part of the sound code to FSoundIDs.
...
This has always been a wild mixture of IDs and ints.
2022-11-24 23:52:52 +01:00
Gutawer
63c2d93033
- quaternion improvements
2022-11-21 07:20:43 +01:00
Gutawer
9f0c518be9
- add remaining quaternion function implementations
2022-11-21 07:20:43 +01:00
RaveYard
540f778047
Quaternion structure and math ops
2022-11-21 07:20:43 +01:00
Ricardo Luís Vaz Silva
802f77ab19
Fix checking of wrong variable in String..Float concatenation
2022-11-19 23:55:17 +01:00
Christoph Oelckers
29b4418c3a
- added 'foreach' loop to ZScript.
...
Syntax:
foreach(variable : array)
{
}
the variable's type is automatically deducted.
2022-11-15 21:34:45 +01:00
Christoph Oelckers
4994e114c8
- backported Vector*::Sum() from Raze.
2022-11-14 19:49:37 +01:00
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