Professor Hastig
82c492f3d7
widen the special field in FBoomArgs.
...
This code still assumed that all special types fit into 8 bits which is no longer the case.
2023-10-25 16:24:21 +02: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
inkoalawetrust
f3d44f8131
Exposed P_GetMidTexturePosition() to ZScript.
2023-10-25 16:23:29 +02:00
Christoph Oelckers
b48caddb96
reworked the skewing properties.
...
The Eternity-based definitions are currently disabled due to unclear semantics and overall unsatisfying design. They can be re-enabled once their precise working has been established.
New properties were added to replace them with something that will be clearly specified and is fully ortohonal i.e. they will allow to align an upper tier skew with the floor as well and a lower tier's skew with a ceiling.
2023-10-20 18:14:20 +02:00
Professor Hastig
f92f6b8de4
added wall texture skewing.
...
This uses the same UDMF properties as Eternity recently introduced for the same feature.
2023-10-20 08:23:56 +02:00
Christoph Oelckers
9cd57faec1
rewrite of HWWalls to allow grabbing the output from the render item generator.
2023-10-19 18:35:51 +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
Rachael Alexanderson
e2a9208c56
- fix error in last commit, >> should be <<
2023-10-15 11:16:24 -04:00
Rachael Alexanderson
bac12948e5
- add forcecullbackfaces
in modeldef
2023-10-14 14:37:40 -04: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
06466b9017
add missing include to a_quake.cpp.
...
The GCC AppImage build reported
/usr/bin/ld: CMakeFiles/zdoom.dir/playsim/mapthinkers/a_quake.cpp.o: in function `AActor::Distance2D(AActor*, bool) const':
a_quake.cpp:(.text._ZNK6AActor10Distance2DEPS_b[_ZNK6AActor10Distance2DEPS_b]+0x2c): undefined reference to `AActor::PosRelative(AActor const*) const'
2023-10-08 12:14:50 +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
4f5df7b9ef
allocate temporary state label strings from the compiler backend's allocator.
...
They share appoximate lifetime so this gets rid of 3 more copystring calls.
2023-10-08 11:40:34 +02:00
Christoph Oelckers
c8ee0cd5cc
fixed another bad string validation check involving GetChars
2023-10-08 09:37:12 +02:00
Christoph Oelckers
56929833f0
fixed two bad validations of FName's.
2023-10-08 09:27:46 +02:00
Christoph Oelckers
448ca88bfd
fixed some signed-ness issues.
2023-10-08 08:11:56 +02:00
Ricardo Luís Vaz Silva
bfe589fecd
try to fix gcc thinking the vectors are uninitialized
2023-10-08 07:31:59 +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
Ricardo Luís Vaz Silva
3e7de9aafa
Fix inheritance for bNoSaveGame
2023-10-05 16:44:12 +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
alexey.lysiuk
a3eb1ec1fd
- fixed compilation with Clang
...
src/console/c_cmds.cpp:1310:40: error: cannot pass non-trivial object of type 'FString' to variadic function; expected type from format string was 'char *' [-Wnon-pod-varargs]
2023-10-02 10:24:24 +03:00
Christoph Oelckers
a7258de82e
print proper level and music names for mapinfo CCMD
2023-10-01 23:38:14 +02:00
Rachael Alexanderson
99fac235eb
- make clang happy
2023-10-01 20:36:12 +02:00
Rachael Alexanderson
a53d3d6a6e
- add 'mapinfo' ccmd
2023-10-01 20:36:12 +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
Professor Hastig
3d6664c28e
fix DSDHacked state creation.
...
Several problems here:
* the crucial call did not override 'mustexist'.
* once created an extended stare would not be looked at anymore.
* extended states received no usage flags.
2023-09-25 16:10:10 +02:00
Professor Hastig
22e8bea91b
fixed actor class creation for DSDHacked
...
* the did not get defaults assigned.
* the RETARGETAFTERSLAM flag must also be set for newly created classes here
2023-09-25 16:10:10 +02:00
Christoph Oelckers
79831526cd
- disable survey code again.
2023-09-25 00:08:12 +02: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
955b8bae1a
Revert "Add more information in saved game comments"
...
This reverts commit 56c2bd018d
.
Considering the follow-up I think it's best to scrap this.
2023-09-21 19:26:56 +02:00
Rachael Alexanderson
00e0a9fd76
- address GCC error in d_anonstats.cpp
2023-09-20 23:58:30 -04:00
Hugo Locurcio
ffcfec66b3
Store kills/items/secrets in save comment only if visible on HUD
...
This prevents spoiling levels when the HUD information is disabled.
This change is not retroactive: it has no effect on existing savegames.
You need to save again for this change to have an effect.
2023-09-20 23:51:58 -04:00
Christoph Oelckers
5870ec2e7a
- fix missing prototype in Linux
2023-09-20 23:58:01 +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
Rachael Alexanderson
9b3409b28d
- update stats script
2023-09-17 06:13:21 -04:00
Rachael Alexanderson
25e9561279
- change anonstats cvars in order to allow easier updates to them in the future
2023-09-17 04:46:06 -04:00
Christoph Oelckers
084301f4d6
- refined light mode selection.
...
This is to ensure that if the map specifies light mode Doom (i.e. hardware approximation of software lighting) it is not overridden by the user-selected software emulating light mode.
gl_lightmode should only apply if neither the map nor gl_maplightmode set an explicit light mode.
2023-09-17 08:40:36 +02:00
Christoph Oelckers
5f11fd051b
- fixed the overlapping sector handler in hw_fakeflat.cpp.
...
this picked the wrong plane as the proper texture cutoff.
2023-09-16 22:17:09 +02:00
Christoph Oelckers
f7c379b720
- fixed: The UDMF loader did not adjust the floor/ceiling overlap state after processing UDMF sector plane properties.
2023-09-16 21:55:35 +02:00
Christoph Oelckers
d596e5a8fa
- fixed: EV_DoDonut checked the wrong compatibility variable.
...
This missed all map specified flags.
2023-09-16 21:35:01 +02:00
Christoph Oelckers
e86de4463f
fixed CheckswitchRange logic for multiple switches on a line.
2023-09-16 21:06:10 +02:00
Christoph Oelckers
f55e388d3f
- add description to gl_lightmode
2023-09-16 12:09:57 +02:00
Christoph Oelckers
7fbd99ca0f
- fixed flags for gl_lightmode.
...
With how this is being handled now, the CVAR needs to have the CVAR_GLOBALCONFIG flag and CVAR_NOINITCALL unset or it simply won't work right.
Since its meaning has completely changed now (i.e. it's mainly a performance switch to a less demanding implementation instead of being able to select vastly different lighting methods) making it global is more sensible.
2023-09-16 12:06:42 +02:00
Christoph Oelckers
23ffaaecb0
- changed last commit to not translate the text written to the savegame info.
...
This would be a bit problematic if it was transferred to other systems if the source language cannot be understood.
2023-09-16 11:45:00 +02:00
Hugo Locurcio
56c2bd018d
Add more information in saved game comments
...
Save games now store kills/items/secrets and player health/armor
in the comment string, which is displayed in the save/load game menu.
This change is not retroactive: old savegames will not display
this information until they are overwritten.
2023-09-16 11:42:29 +02:00
John Stebbins
bd4f4f739a
Fix gameinfo load from same directory as file containing gameinfo lump
...
Fixes scenario 2 in https://github.com/ZDoom/gzdoom/issues/2011#issuecomment-1440997829
2023-09-16 10:53:53 +02:00
Christoph Oelckers
ea51c92fda
- validate partner seg index in LoadGLZSegs before using it
...
KDiZD Z1M10 has something bogus in there, this case will now trigger a node rebuild.
2023-09-16 09:48:43 +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
ef79ec193f
- let P_CheckSwitchRange always check all 3 tiers.
...
To account for cases that a switch is unreachable but another tier got a reachable one.
2023-09-15 22:33:03 +02: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
Christoph Oelckers
cd31c74ecc
- stop all cutscenes before the ENDOOM screen.
2023-09-15 20:48:39 +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
Christoph Oelckers
096b9cdc4f
- fixed. Boom's generalized crushers must stop 8 units above the floor
...
This required changing the special, so a new one was added to avoid altering Generic_Crusher.
2023-09-15 00:35:20 +02:00
Sally Coolatta
15521e5181
Fix a very rare crash with complex Polyobjects
...
If all of the worst stars align when compiling Polyobject BSP and splitting a seg into two sets:
- The very first seg in the current set fails all of the metrics for determining which side of a split it is on, and doesn't know which side it should go to. Since there are 0 are in front, it goes to front by default.
- Every other seg in the same set don't fail their metrics, and they all decide they are meant to go to the front side.
- Oops! Now there's nothing in the back side!
I've fixed this by collecting all of the undecided segs in a split, and setting the new side after the other segs. Doing it in the normal loop means there's a non-zero chance the crash prevention will fail depending on how the segs are in memory.
This can technically happen with even the most simplistic Polyobjects, but it becomes more common the more complex it is (add tons of lines, move and rotate it at the same time, so on). Quite an annoying crash since it doesn't always replicate consistently.
2023-09-15 00:13:22 +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
04815f9db4
- let Dehacked set the implicit missile flags.
2023-09-14 23:08:59 +02:00
Christoph Oelckers
4fd5f00c4b
- made all FileReader implementations 64 bit capable.
2023-09-14 21:45:38 +02:00