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
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
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
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
81fb9a26b2
- backend update from Raze.
...
* add QualifiedName to VMFunction and allocate these static names from the class data memory arena instead of using FStrings.
* null pointer type checks in the VM added to avoid crash on bad codegen.
2023-07-22 09:55:49 +02:00
Ricardo Luís Vaz Silva
ed6384edc6
Add internal variable support to files outside gzdoom.pk3
2023-01-20 22:34:26 +01:00
Ricardo Luís Vaz Silva
d4e9438273
rename CheckWritable to IsWritable, and invert its output since it's always negated
2023-01-20 22:34:26 +01:00
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
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
dce456783d
Add support for Vector types as properties
2022-12-08 18:12:27 +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
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
RaveYard
540f778047
Quaternion structure and math ops
2022-11-21 07:20:43 +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
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
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
5cee2b5803
- fixed: The compile context for constant evaluation did not initialize its Version member.
2022-08-03 08:44:38 +02:00
RaveYard
f9bf6f9311
Implement FVector ZScript for Actor Scale
2022-06-12 17:57:44 +02:00
Christoph Oelckers
e60e6967c0
- whitespace cleanup, updated from Raze.
2022-01-02 12:23:42 +01:00
Player701
387abf81a0
- Added a new intrinsic for class pointers to check if the class is abstract ( #1308 )
2021-02-18 11:17:23 +01:00
Christoph Oelckers
565a5acd85
- changed order of identifier types to be checked to what it was in 4.3
2020-10-17 15:13:14 +02:00
Christoph Oelckers
d71ef66957
- fixes copied from Raze.
2020-04-29 23:58:50 +02:00
Christoph Oelckers
a28182fe35
- moved the script compiler's backend to 'common'.
2020-04-11 20:20:55 +02:00