Christoph Oelckers
8e319a7669
allow comparisons between ints and translation IDs in pre 4.12 ZScript.
2023-11-19 07:47:23 +01:00
Christoph Oelckers
eaf43dfb96
fixed potential nullptr dereference.
2023-11-19 07:22:12 +01:00
Major Cooke
b6b1b25035
Added ZSprites.
...
- Effectively similar to Actors, but without the excess.
- Can be created with either the `level` function or the static `Spawn` function in ZSprite.
- STAT_SPRITE belongs to ZSprites only; ZSprites cannot be moved out of, nor can anything else be moved in to, this statnum.
Misc:
- Fixed (Sprite)Offset taking roll into account.
Crediting phantombeta, RicardoLuis0 and RaveYard for assistance.
2023-11-17 08:06:11 -05:00
Ricardo Luís Vaz Silva
3056786f38
Add missing loop
2023-11-14 20:14:48 +01:00
Rachael Alexanderson
747e55ce60
- fix GL ES switch appearing as 'Unknown' in the menu sometimes
2023-11-13 17:12:00 -05:00
Ricardo Luís Vaz Silva
fc130ccaac
Serialize Name Keys as Strings for maps
2023-11-13 06:19:10 +01:00
Christoph Oelckers
578a398981
use FTranslationID in the 2D code.
2023-11-09 23:04:11 +01:00
Christoph Oelckers
9f90c64727
use FTranslationID in the high level parts of the hardware renderer.
2023-11-09 23:04:11 +01:00
Christoph Oelckers
c5c822ea75
use FTranslationID in the model code.
2023-11-09 23:04:11 +01: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
Christoph Oelckers
d5e9783324
fixed bad parameter types in direct native functions.
...
bool can cause undefined behavior here, these should be int.
2023-11-07 18:06:50 +01:00
Ricardo Luís Vaz Silva
e26f9fb13d
fix int assign optimization constants generating broken code because they weren't expected
2023-11-01 16:51:26 +01:00
Professor Hastig
4d88e82e32
added Wads.GetLumpLength.
2023-10-26 09:41:27 -04:00
Christoph Oelckers
28400a12f1
fixed savegame file name check.
...
Writer and reader for the savegame metadata were mismatched so the readback of non-ASCII filenames failed.
2023-10-25 17:27:41 +02:00
Rachael Alexanderson
6d1ebf5f27
- allow FORCEBACKCULLFACES to work with hud models
2023-10-25 10:57:48 -04:00
Professor Hastig
731cad7553
do not print all GL extensions to the log for the GLES renderer.
2023-10-25 16:23:44 +02:00
Christoph Oelckers
d65d1a3b82
minor backend update from Raze.
2023-10-17 20:54:27 +02:00
Ricardo Luís Vaz Silva
1957c15a41
give error instead of warning for zscript 4.12+ on return count mismatch
2023-10-15 18:51:05 +02:00
Ricardo Luís Vaz Silva
d699ba248e
warn when fewer returns than expected are given for a function
2023-10-15 18:51:05 +02:00
Ricardo Luís Vaz Silva
dccce46d5b
allow "&" instead of "out" in function pointer parameters
2023-10-11 19:46:53 +02:00
Ricardo Luís Vaz Silva
c935a95cb0
Add function pointer Properties
2023-10-11 19:12:48 +02:00
Ricardo Luís Vaz Silva
0e9135132d
Allow FindFunctionPointer to return non-virtual methods
2023-10-11 19:12:48 +02:00
Ricardo Luís Vaz Silva
d9a88d7080
Fix deserialization of methods inside function pointers
2023-10-11 19:12:48 +02: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
23c21b23c3
cleanup.
2023-10-11 19:12:48 +02:00
Ricardo Luís Vaz Silva
0ce4b3e7fb
update/cleanup function pointers
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
Rachael Alexanderson
88b5d9aba1
- fix $PROGDIR expansion being case sensitive
2023-10-10 10:29:01 -04: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
ac646e96be
use copystring instead of strdup when reading environments.
...
The mismatched the underlying code which allocates via copystring.
2023-10-08 11:54:14 +02:00
Christoph Oelckers
448ca88bfd
fixed some signed-ness issues.
2023-10-08 08:11:56 +02:00
Ricardo Luís Vaz Silva
04c167f181
final final GetChars fix on linux
2023-10-08 07:31:59 +02:00
Ricardo Luís Vaz Silva
f0be58e862
hopefully the last few GetChars fixes for linux
2023-10-08 07:31:59 +02:00
Ricardo Luís Vaz Silva
f4fb583c6c
more GetChars fixes in linux/macOS
2023-10-08 07:31:59 +02:00
Ricardo Luís Vaz Silva
c69941e49d
fix GetChars in linux/macOS
2023-10-08 07:31:59 +02:00
Christoph Oelckers
6055ff029d
the remaining GetChars additions.
...
The offending operator const char * no longer exists.
2023-10-07 23:44:01 +02:00
Christoph Oelckers
7a5a2858a2
yet even more GetChars calls added.
2023-10-07 23:29:24 +02:00
Christoph Oelckers
c94c63110e
added a third batch of GetChars call to FStrings.
2023-10-07 23:03:40 +02:00
Christoph Oelckers
89535b803a
Backend update from Raze.
2023-10-07 18:42:24 +02:00
Cacodemon345
4497d7fdaa
Update LZMA SDK to 23.01
...
As a bonus, add support for XZ-compressed files in ZIP
2023-10-07 17:31:24 +02:00
Ricardo Luís Vaz Silva
5e96dbc981
Add final and sealed as class options
2023-10-07 17:29:29 +02:00
Ricardo Luís Vaz Silva
42df40941c
change version, improve errors for array/map/struct copy
2023-10-07 17:27:35 +02:00
Ricardo Luís Vaz Silva
b9104e8aa9
Turn Map/Array assignments into Copy
...
Better error checking for struct assignment
Lock assignments behind version, don't break or "fix" existing code using older ZScript versions
2023-10-07 17:27:35 +02:00
Ricardo Luís Vaz Silva
a13b19815c
allow "&" instead of "out" in function parameters
2023-10-07 17:27:35 +02:00
Ricardo Luís Vaz Silva
7a9ca1ad3f
Allow dumping jit for mod functions only
2023-10-07 17:27:35 +02:00
Ricardo Luís Vaz Silva
3cb8f1be44
Don't try to generate code for abstract functions during JIT dump
2023-10-07 17:27:35 +02:00
Ricardo Luís Vaz Silva
fa8df5a4e5
make Array::Append faster for simple structs
...
This makes appending arrays of simple types faster
2023-10-07 17:27:35 +02:00
Ricardo Luís Vaz Silva
65ea4f91b6
fix TMap move insertion, was using the copy constructor due to a missing std::move
2023-10-07 17:27:35 +02:00
Ricardo Luís Vaz Silva
b60b3fc09a
fix PStruct::AddField not passing mDefFileNo
2023-10-07 17:27:35 +02:00
Ricardo Luís Vaz Silva
86e4d064e2
fix possible null dereference in FxStructMember::RequestAddress
2023-10-07 17:27:35 +02:00
Ricardo Luís Vaz Silva
fad350ff80
Make sure maps in return type don't segfault
2023-10-07 17:27:35 +02:00
Ricardo Luís Vaz Silva
3fc195c5b2
Improve handling of field names in error messages during Map/MapIterator compilation
2023-10-07 17:27:35 +02:00
Ricardo Luís Vaz Silva
87fcaab512
Fix Typo in Comment
2023-10-07 17:27:35 +02:00
Ricardo Luís Vaz Silva
766c61b3ed
Deduplicate Map/MapIterator Types' Code
2023-10-07 17:27:35 +02:00
Professor Hastig
ab8711b57a
removed several bad casts to 'long'.
...
The 'long' type should generally be avoided because its size differs on Windows and Linux/Mac so it is almost guaranteed to cause undefined behavior
2023-10-04 16:47:43 +02:00
Christoph Oelckers
48ba63c022
added even more explicit GetChars() calls.
2023-10-03 15:55:08 +02:00
Christoph Oelckers
1717ff47b2
add GetChars() accessors to many FString uses where const char* is wanted.
...
By no means complete, it's just a start to get rid of that automatic type conversion operator.
2023-10-03 14:27:39 +02:00
Rachael Alexanderson
d33f2697a3
- set default backend to Vulkan, if Vulkan fails go GLES not OpenGL
2023-10-01 10:35:11 -04:00
alexey.lysiuk
678cab7994
- fixed DumpCPUInfo()
definition for non-x64 platforms
...
fix #2188
2023-09-26 09:48:11 +03:00
Christoph Oelckers
7491361863
- do some cleansing of the GPU string and add CPU name when only getting an anonymous series name.
...
The cleansing is mainly for AMD's Linux drivers which report too much extraneous info here.
The CPU name helps when classifying anonymous iGPU series.
2023-09-24 22:20:50 +02:00
Christoph Oelckers
7f9df12431
- Survey: return more meaningful info for current OS and Vulkan version.
2023-09-20 20:03:07 +02:00
Christoph Oelckers
b3cb2fafc7
stats
2023-09-20 19:49:54 +02:00
Cacodemon345
ba9ce0e83f
Switch to miniz from zlib
2023-09-17 23:52:51 +02:00
Christoph Oelckers
71cc93f42c
- fixed: ZScript's lump reader may not truncate strings at 0 bytes, like all other callers of GetStringFromLump need.
2023-09-16 07:44:58 +02:00
Magnus Norddahl
45a2cbe081
Update zvulkan to latest version
2023-09-16 00:32:15 -04:00
Christoph Oelckers
b082c50502
- fixed doublebind check with automap.
...
When no doublebinds get passed to C_DoKey it may not set the doubleclick flag.
For the automap C_DoKey gets called twice, once with the automap bindings and once with the regular bindings and doubleclicks.
2023-09-15 22:00:05 +02:00
Christoph Oelckers
7f7edc4f72
- clear the Dehacked string table after passing it to GStrings.
...
For some reason std::move does not work here so make sure it won't stick around.
2023-09-15 21:46:53 +02:00
Christoph Oelckers
d001c3464d
- removed another bad assert from codegen.cpp
2023-09-15 20:51:05 +02:00
Professor Hastig
85ba35a1f1
- fix Strife-style startup asset check.
...
The STARTUP0 check is not only redundant but also was wrong. It already gets checked and validated in the asset loading loop, and this up-front check did not handle placement as a graphic.
2023-09-15 19:44:12 +02:00
Christoph Oelckers
eb93c764ee
- restrict msglevel filtering only to the notify display, not the console, log and debug output.
2023-09-15 00:40:41 +02:00
Gutawer
23b489960e
- put DTA_Localize at the end of the enum for backwards compat with integer usage
2023-09-14 23:24:42 +02:00
Gutawer
44d134298a
- add support for not localizing some text functions, and modify menu text fields to use this
2023-09-14 23:24:42 +02:00
Christoph Oelckers
4fd5f00c4b
- made all FileReader implementations 64 bit capable.
2023-09-14 21:45:38 +02:00
Christoph Oelckers
30c2524742
- validate text data before drawing the console.
2023-09-14 16:45:06 +02:00
Christoph Oelckers
ffa7891719
- remove pointless assert.
2023-09-14 16:39:21 +02:00
Professor Hastig
a5e1f3bcad
- fixed M_GetSavegamesPath for Linux.
2023-09-14 16:31:48 +02:00
Ricardo Luís Vaz Silva
0e70e95fa4
Add Inventory::ModifyBob and Inventory::ModifyBob3D
2023-09-14 16:28:38 +02:00
Ricardo Luís Vaz Silva
e61ab4cbe2
Expose OF_Transient to actors as bNoSaveGame
2023-09-14 16:28:23 +02:00
Christoph Oelckers
52ec2b2a5b
- listsounds CCMD
2023-09-13 21:10:08 +02:00
Professor Hastig
8b31e0d3b6
- fix bad stringpool setup in filesystem.
...
Doing it in the constructor does not work because InitMultipleFiles will clear everything again before building up the directory so it would always be null.
This triggered another bug in file_directory.cpp which used the constructor's unvalidated parameter.
2023-09-13 16:42:22 +02:00
Christoph Oelckers
7f61266621
- fixed memory leaks in file system management
2023-09-11 23:22:24 +02:00
Ricardo Luís Vaz Silva
0243efd851
Fix pointer math in FileSystem to stop debug assertions in std::vector
2023-09-11 04:41:00 -04:00
Christoph Oelckers
a44f7a72ca
- fixed voxel loader
2023-09-10 21:31:53 +02:00
Ricardo Luís Vaz Silva
bf0e74447d
add float.equal_epsilon and double.equal_epsilon
2023-09-07 10:19:10 -04:00
Christoph Oelckers
e7a79b0d44
- string conversion fixes
2023-09-06 00:19:36 +02:00
Christoph Oelckers
17ab6e851a
- make sure that FileWriter::Printf never writes null characters.
2023-09-03 23:48:42 +02:00
Christoph Oelckers
ef8fd472a8
- fixed bad virtual override in FSheetTexture.
2023-09-03 19:52:53 +02:00
Christoph Oelckers
4baabf98c4
- use stb-image for JPEG decoding.
...
the statically provided library did not provide any advantage over it whatsoever and even libjpeg-turbo's better performance cannot really play out here so ease of use and getting rid of a dependency wins.
2023-09-03 08:34:58 +02:00
Ricardo Luís Vaz Silva
d0a955fef0
Allow disabling colors for NameAllKeys
2023-09-01 18:25:22 +02:00
Christoph Oelckers
ccd39d6df7
- code cleanup
2023-08-25 20:07:48 +02:00
Christoph Oelckers
afecb1ca0f
- avoid high stack usage in anmtexture.cpp
...
MSVC warned about this one.
2023-08-25 20:07:48 +02:00
Christoph Oelckers
e0b3bdaadc
- fixed directory loader.
2023-08-23 22:09:58 +02:00
Christoph Oelckers
c6e2e0add2
- fix compilation
2023-08-23 18:26:42 +02:00
Cacodemon345
7c90ea6b84
- Convert the entire image backend infrastructure to be animation-friendly
2023-08-23 18:18:45 +02:00
Christoph Oelckers
53d8a5bb2c
- Reverted JPEG XL support because the project is not really usable on vcpkg.
2023-08-23 18:18:45 +02:00
alexey.lysiuk
79be69ec4a
- implemented FS_FullPath()
function for POSIX
2023-08-23 14:57:22 +03:00
alexey.lysiuk
bfefc12427
- fixed a bunch of Linux and macOS compilation errors
2023-08-23 12:34:33 +03:00
Christoph Oelckers
e28d3b7f0b
- fix directory check in POSIX directory loader.
2023-08-22 23:15:23 +02:00
Cacodemon345
99fd354dd9
Fix copyright mistake
2023-08-22 23:11:00 +02:00