Christoph Oelckers
7d0ad4897f
use proper access functions to ResourceData.
2023-12-10 10:32:16 +01:00
Christoph Oelckers
4da196a416
UTF8 conversion stuff.
...
This is for dealing with Unicode file names which cannot be handled with an idealized Unicode approach as was present before.
utf8proc was included to handle normalization because with externally provided filenames we have no control over enforcing our pld rules.
2023-12-10 10:29:38 +01:00
Christoph Oelckers
df56fc65e0
rework some of the friend-dependent access to FResourceLump.
2023-12-10 10:26:44 +01:00
Christoph Oelckers
ebc808e2a9
did some cleanup of the FResourceFile interface.
...
* making all members protected (but adding friend overrides for the classes which still need it)
* allowing to read data without retrieving the FResourceLump object.
2023-12-10 10:24:39 +01:00
Christoph Oelckers
fc84579319
let FileReader::Read return an opaque buffer instead of std::vector.
...
This can later allow returning a pointer to a static buffer from a cache without creating copies.
2023-12-10 09:07:49 +01:00
Christoph Oelckers
54fb37e39e
changed SoundEngine::ReadSound back to a TArray.
2023-12-10 09:07:48 +01:00
Christoph Oelckers
41573df58f
added STL compatible access functions to TArray.
...
This allows using them in templates made for STL containers.
2023-12-10 09:07:48 +01:00
Tyler Schneider
429d402dc4
Fixed console rendering crash on wide consoles
2023-12-10 07:18:28 +01:00
Rachael Alexanderson
102c467de5
- add option to override renderflags +BILLBOARD[NO]FACECAMERA
2023-12-09 18:18:28 -05:00
Rachael Alexanderson
b4d5c7d669
- add actor flag +BILLBOARDNOFACECAMERA which forces sprite aimed at camera heading instead of camera position when gl_billboard_faces_camera is true
...
```
class ZombieManNoFaceCamera : Zombieman replaces Zombieman
{
default
{
+BILLBOARDNOFACECAMERA;
}
}
```
2023-12-09 05:57:51 -05:00
Rachael Alexanderson
97336cf7c2
- add missing nullptr check
2023-12-08 16:22:22 -05:00
Rachael Alexanderson
3caa6247be
- add flag +BILLBOARDFACECAMERA - renders actor billboard to always face the camera
...
tested with this code snippet:
```
class ZombieManFaceCamera : Zombieman replaces Zombieman
{
default
{
+BILLBOARDFACECAMERA;
}
}
```
2023-12-08 10:12:58 -05:00
Ricardo Luís Vaz Silva
43c70cdf9d
JIT-Compile all functions during startup
2023-12-06 17:44:51 -05:00
Ricardo Luís Vaz Silva
aed85a25a2
serialize cvars
2023-11-25 21:06:39 -05:00
Ricardo Luís Vaz Silva
74ace89d6e
properly serialize int-backed keys for maps
2023-11-25 21:06:39 -05:00
Rachael Alexanderson
4b54aac288
- rename ZSprites to VisualThinkers
2023-11-22 12:11:57 -05:00
Professor Hastig
c42b51d5eb
fix floorclipping on slopes.
2023-11-21 18:55:00 -05:00
Ricardo Luís Vaz Silva
4ec76afc40
move all doom-specific loops out of common code
2023-11-20 22:11:05 -05:00
Ricardo Luís Vaz Silva
71999e7cf6
add foreach(a/type a : thinkeriterator/actoriterator)
2023-11-20 22:11:05 -05:00
Ricardo Luís Vaz Silva
f5507a7373
add foreach(a/l/a,p/l,p/a,p,f/l,p,f : blocklinesiterator/blockthingsiterator)
2023-11-20 22:11:05 -05:00
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
Ricardo Luís Vaz Silva
b6b6b0cb89
fix gcc/clang
2023-11-20 22:08:33 -05:00
Ricardo Luís Vaz Silva
5d5e7ca042
Decoupled IQM Model Animations
2023-11-20 22:08:33 -05:00
Ricardo Luís Vaz Silva
1a8dfd2dfa
ActorModelData cleanup in preparation for decoupled model animations
2023-11-20 22:08:33 -05:00
Major Cooke
848dbd4d3d
Fixed uninitialized variables causing issues with other compilers.
2023-11-20 22:07:58 -05:00
Major Cooke
0498236f68
- Exposed PrevRoll, enabling roll interpolation disabling without affecting position interpolation.
...
- Added translation parameter to the `Spawn` function again.
2023-11-20 22:07:47 -05:00
Christoph Oelckers
c73f805110
restore accidentally deleted 'else'.
2023-11-19 13:01:08 +01:00
Christoph Oelckers
0b36beb10d
serialize the remap data of custom translations defined at run time.
2023-11-19 12:44:22 +01:00
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
Ricardo Luís Vaz Silva
11f2fc10ea
invert mouse again for movement, so that it cancels out the first inversion
2023-11-18 15:20:58 -05:00
Major Cooke
1f847301cb
Updated ZSprites to use new translation code.
2023-11-17 08:06:11 -05:00
Major Cooke
8fcd2c5f43
Fixed compilation with CI
2023-11-17 08:06:11 -05:00
Major Cooke
48e7c2d994
- Proper heap handling of HWSprite
pointer
...
- Added `Construct()` method and ensure it's called when created from any means
2023-11-17 08:06:11 -05:00
Major Cooke
0b6bae59ee
Added scolor
property, allowing for colorizing ZSprites.
...
- fixed ZSprites not updating important variables while frozen.
2023-11-17 08:06:11 -05:00
Major Cooke
052b3cd89c
- serialize LightLevel
2023-11-17 08:06:11 -05: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
nashmuhandes
a04f909d06
Add sv_coopsharekeys
- in coop, picking up a key will distribute it to all online players
2023-11-11 20:50:31 -05: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
c426094d54
use translation IDs in the software 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
Professor Hastig
3781c43aec
allow defining zero gravity through MAPINFO
2023-11-09 07:17:16 -05: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
Christoph Oelckers
fb6e4becaa
added rudimentary support for DSDA's COMPLVL lumo.
...
This cannot of course set real complevels, so what it does is set all appropriate compatibility flags from the respective preset.
It does leave out a few flags that are preferably left to the user, like infinitely tall actors or wall running.
2023-11-04 12:36:26 +01:00
Ricardo Luís Vaz Silva
06af5f2164
add master levels to game list for steam
2023-11-02 21:41:58 +01:00
Ricardo Luís Vaz Silva
a11346cf66
change which config to look for library folders in
...
steam changed library config from config.vdf to libraryfolders.vdf, at least on windows, might need a change on posix/i_steam.cpp as well, but i don't have a linux machine, so i can't check there
2023-11-02 21:41:58 +01:00
Christoph Oelckers
299728d3d9
fix copy/paste error in HWWallDispatcher
2023-11-02 21:40:08 +01:00
Professor Hastig
677e1c888b
fixed: Skewing to front and back floor was swapped.
2023-11-02 16:27:43 +01:00
alexey.lysiuk
5d12598409
- bumped minimum OS version to 10.13 in .plist file
2023-11-02 11:45:40 +02: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
Christoph Oelckers
f1017ef362
fixed DEHSUPP multiple load prevention.
...
The code in place did not work reliably, it now just checks if the StateMap could be created and if so, skips any subsequent load while only unloading everything in the finalization step.
2023-10-31 13:05:56 +01:00
Christoph Oelckers
61c2f5f8c0
Revert "When compat_floormove is enabled prevent sector floor from lowering if a thing is stuck in the ceiling (vanilla behavior)"
...
This reverts commit 4ad76f549e
.
This broke several maps so the implementation is obviously not correct.
2023-10-31 08:05:36 +01:00
Christoph Oelckers
ad778b0bcc
added DSDA's thrust properties for UDMF
2023-10-29 23:18:06 +01:00
Christoph Oelckers
bdee1f3d34
added per-sector sky UDMF properties.
...
(Hardware rendering only, the SW renderer is not in a state where this is easily done.)
2023-10-29 17:49:59 +01:00
Christoph Oelckers
9a94472650
added friction and colormap related properties from DSDA.
2023-10-29 16:50:20 +01:00
Christoph Oelckers
4ddffd233a
added UDMF wall scrolling properties from DSDA.
2023-10-29 16:07:27 +01:00
Christoph Oelckers
2b0731a5a7
implemented DSDA's sector scrolling properties.
...
The major new additions are flags to specify which kind of actor is supposed to be scrolled and carrying ceiling scrollers.
2023-10-29 13:51:44 +01:00
Christoph Oelckers
2fb41a7956
added all required names for the new DSDA UDMF properties to the list of names.
2023-10-29 08:48:32 +01:00
Christoph Oelckers
12bc9db609
hooked up the per-level colormaps with the hardware renderer.
2023-10-29 08:13:01 +01:00
Ricardo Luís Vaz Silva
e12f2ce0fe
Allow setting the colormap from mapinfo (dsda-doom)
2023-10-29 07:40:56 +01:00
Christoph Oelckers
478a832515
fixed handling of DSDHacked sound replacement in the index range between the regular sounds and the MBF21 extensions.
2023-10-28 09:20:56 +02:00
Professor Hastig
4d88e82e32
added Wads.GetLumpLength.
2023-10-26 09:41:27 -04:00
Professor Hastig
77e5fd3081
fixed skewing for lower tiers.
2023-10-26 09:40:31 -04:00
Professor Hastig
a8c1f7a637
always save the map WAD in a savegame's metadata, even if it is from the IWAD
...
Otherwise the savegame loader will not be able to validate an IWAD savegame while the actual level comes from a different file.
2023-10-26 07:49:17 -04:00
Professor Hastig
1e8b3ea65d
fix map WAD check for savegame validation.
2023-10-26 07:49:17 -04:00
Christoph Oelckers
eeac40fffc
take most direct drawinfo references out of HWWall.
2023-10-25 21:35:42 +02:00
Christoph Oelckers
1f5df23818
took several functions out of HWDrawInfo.
...
The only thing they needed from that class is the Level pointer and the light mode, this is better passed in as function argument.
2023-10-25 21:19:58 +02: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
70e4dd17b7
fix UMAPINFO's intermusic being used at the summary screen.
2023-10-25 16:25:24 +02:00
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