Commit graph

184 commits

Author SHA1 Message Date
alexey.lysiuk
62f37079a7 - fixed compilation with Clang
src/common/scripting/backend/vmbuilder.cpp:869:88: error: cannot pass non-trivial object of type 'FString' to variadic method; expected type from format string was 'char *' [-Wnon-pod-varargs]
src/common/scripting/backend/vmbuilder.cpp:916:85: error: cannot pass non-trivial object of type 'FString' to variadic method; expected type from format string was 'char *' [-Wnon-pod-varargs]
2023-07-22 13:22:53 +03: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
71d4eb66f2 Clear Services Map during VM Shutdown 2023-06-28 20:19:43 +02:00
Ricardo Luís Vaz Silva
c6978c23ab Disable FName as a native parameter 2023-06-26 00:36:36 -04:00
Ricardo Luís Vaz Silva
49eae74272 assert that FName is a POD and as such is passed directly on registers, so that if it changes to be a non-pod, it won't silently break parameters 2023-06-26 00:36:36 -04:00
Ricardo Luís Vaz Silva
30e7b30c45 Simplify DirectNativeDesc, allow FName as a native parameter 2023-06-26 00:36:36 -04:00
l2ksolkov
245dac814e Add missing include guards 2023-05-29 07:35:26 +02:00
Christoph Oelckers
acfe82b9a8 - Backend update from Raze. 2023-05-27 09:31:17 +02:00
Ricardo Luís Vaz Silva
86bc9cafd4 Fix value of X = Y when Y is an int constant 2023-04-12 22:57:06 +02:00
Christoph Oelckers
9fbac8f1d4 - moved all service code to 'common'.
This needs to work on Raze as well!
2023-03-26 10:55:09 +02:00
Ricardo Luís Vaz Silva
590475a8e3 Improve Services 2023-02-19 08:11:08 +01:00
Rachael Alexanderson
ea720605d4 Revert "Fixed an error where implicit pointer casts should've failed but didn't."
This reverts commit 68d3f474ce.

# Conflicts:
#	src/common/scripting/backend/codegen.cpp
2023-02-11 11:30:05 -05:00
Christoph Oelckers
f6bfc48d9f - Backend update from Raze. 2023-02-11 12:05:45 +01:00
CandiceJoy
68d3f474ce Fixed an error where implicit pointer casts should've failed but didn't.
Signed-off-by: CandiceJoy <candice@candicejoy.com>
2023-02-11 00:02:51 -05:00
Ricardo Luís Vaz Silva
1dcdfcc4d3 Mark const methods as const in pseudo-generics 2023-02-09 17:02:40 +01:00
Ricardo Luís Vaz Silva
569263efe9 Extend pseudo-generics system used by maps to dynarrays 2023-02-09 17:02:40 +01:00
Ricardo Luís Vaz Silva
b50d7f4db5 Let custom CVar handlers to be called on cloned cvars 2023-02-01 10:35:28 -05:00
CandiceJoy
70d355cfa3 Fixed a bug where calling an invalid virtual function would cause a crash. 2023-01-26 08:52:23 -05:00
Ricardo Luís Vaz Silva
4c7e9c6193 Change CheckValue to multi-return, due to unsupported out int/bool 2023-01-25 17:32:54 +01:00
CandiceJoy
1e39202484 Added check for invalid class on in-VM instantiation
Signed-off-by: CandiceJoy <candice@candicejoy.com>
2023-01-24 22:10:34 +01:00
Ricardo Luís Vaz Silva
b47aa37919 Add missing methods (GetIfExists/CheckValue) to Map pseudo-generics 2023-01-23 17:15:08 +01:00
Ricardo Luís Vaz Silva
a397a93c25 Add Missing Read Barriers to Map Get Functions 2023-01-21 16:40:47 +01:00
Ricardo Luís Vaz Silva
fed2d11be5 Fix iterator invalidation for Map::Get 2023-01-21 16:40:47 +01:00
Ricardo Luís Vaz Silva
decba68225 Map::GetIfExists and Map::CheckValue 2023-01-21 16:40:47 +01: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
da06212134 Add mDefFileNo to Fields 2023-01-20 22:34:26 +01:00
Ricardo Luís Vaz Silva
5ba1e96d29 Add mDefFileNo to Classes/Structs 2023-01-20 22:34:26 +01:00
Ricardo Luís Vaz Silva
80d1c61714 Fix MapIterator<X, String>::GetValue 2023-01-14 00:30:43 +01:00
0e5c6e37b1 Prevent important messages from being accidentally filtered. 2023-01-04 17:54:09 +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
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