Christoph Oelckers
f6ae967c52
- fix bad asserts.
2022-04-29 08:40:00 +02:00
Christoph Oelckers
0dc670da8e
- added wipe transitions to screen job
...
Mainly to have the crossfade, the other styles are mostly bonus.
This also adds proper scoping to the cutscene code, which needs to run in UI scope.
2022-04-25 17:26:17 +02:00
Christoph Oelckers
21b4862460
- Backend update from GZDoom
...
* music system improvements
* Zip64 support
* fixes for menu scaling on ultrawide screens
* Mac default paths fixed
* lightmap code (not active yet)
2022-04-25 11:13:55 +02:00
Christoph Oelckers
380864d6fb
- pass shade values to sky renderer
2022-04-19 14:44:10 +02:00
Christoph Oelckers
6354c1889d
- fixed bad search path setup on macOS
...
This cannot include „Raze“ in the app_support path strings because some of these parts point to elsewhere. The two places where it is needed must be explicit.
2022-04-19 14:02:51 +02:00
Christoph Oelckers
c4bfee070e
- don’t crash on sector-less walls.
2022-04-19 13:39:26 +02:00
Rachael Alexanderson
761502d0b8
- lock cvar shader uniforms behind a command line parameter for now
2022-04-16 12:12:43 -04:00
Christoph Oelckers
a071479339
- Duke: set game palette before rendering the automap
2022-04-04 00:16:54 +02:00
Rachael Alexanderson
16c81f0b1f
Pull commit eeb67bcec3
from GZDoom: Use RDTSC equivalent on AARCH64.
2022-03-25 14:58:51 -04:00
Christoph Oelckers
26179c56cf
- improved the secret hint management for Blood.
...
This now uses sprite and sector indices directly instead of encoding them into a larger number. Sprite secrets will use a $t prefix instead of $s now.
2022-03-20 12:47:23 +01:00
Christoph Oelckers
3114059145
- fixed sprite indices for map spawned sprites.
2022-03-20 12:08:47 +01:00
Christoph Oelckers
3b5203132f
- optimize fcos and fsin to use the BAM value directly for table lookup.
...
No need to convert back and forth to rad.
2022-03-20 12:08:46 +01:00
Rachael Alexanderson
735740e453
- add level names to title bar (and by proxy, to RPC)
2022-03-18 05:06:58 -04:00
Rachael Alexanderson
4be214e33d
- pull RDTSC for Linux from GZDoom
2022-03-18 04:35:20 -04:00
Rachael Alexanderson
da5d9fcde2
- implement discord rich presence, expand window title code. (still wip)
2022-03-18 04:17:46 -04:00
Rachael Alexanderson
3fda2b032c
- copy-paste is simultaneously the most useful feature in the world, and a programmer's greatest curse. use with care.
2022-03-12 00:54:18 -05:00
Rachael Alexanderson
8002e9de29
- only overwrite rpath if not already defined
2022-03-11 23:11:56 -05:00
Rachael Alexanderson
0edfc5a85c
- add $ORIGIN to rpath for Linux
2022-03-09 17:33:52 -05:00
1e1cf9dd9c
Fix tesla cultist prone state
2022-03-08 15:17:12 +01:00
Christoph Oelckers
b6eadbccb5
-Blood: fix crashes when trying to exit from a fatal error during startup.
...
soundEngine can be null here.
2022-02-21 00:26:51 +01:00
Christoph Oelckers
789794539c
- added script exports for Duke's main structures.
2022-02-21 00:19:26 +01:00
Christoph Oelckers
df7e6dfec8
- added scripting exports for the global map types and a few more actor utilities.
2022-02-21 00:12:51 +01:00
Christoph Oelckers
cc6629a95f
- do not call tileUpdatePicnum for voxelized tsprites.
2022-02-20 23:36:04 +01:00
Christoph Oelckers
2f55d2a1c7
- Blood: fixed bad marker check in OperatePath
2022-02-20 23:28:20 +01:00
Christoph Oelckers
a1339f014c
- store indices in sectionsPerSector.
2022-02-20 23:11:04 +01:00
Mitchell Richters
009c03f430
- Exhumed: Properly fix interpolation issues when at the end of the level instead of trying to back up everything.
...
Revert "- Exhumed: Don't force the framerate to reduce to ticrate at end of each level, instead interpolate player's position to prevent draw errors."
This reverts commit 57d54a2105
.
Revert "- Exhumed: Extend 57d54a2105
to back up the player's `bobangle` variable as well at the map's end."
This reverts commit 520c03b4f1
.
Revert "- Exhumed: Extend 520c03b4f1
to back up the player's `totalvel` variable as well at the map's end."
This reverts commit 1446486871
.
2022-02-20 20:35:35 +11:00
Christoph Oelckers
f1859c69f0
- fixed bad assumption about g_visibility == 0 meaning fullbright.
...
This merely means that there should be no fog, but the shade must still be applied.
2022-02-19 11:30:35 +01:00
Christoph Oelckers
892c361449
- avoid pointer arithmetic in feebtag.
2022-02-19 10:11:12 +01:00
Christoph Oelckers
951b93123a
- fixed incorrect symbolic constant for statnum.
2022-02-19 09:50:05 +01:00
Christoph Oelckers
fd6d09273f
- reverted wall pointer fix for FANSPRITE setup.
...
Turns out the bug came from the DOS code, but changing this breaks the fans.
2022-02-18 00:19:57 +01:00
Rachael Alexanderson
9325f1d536
- replicate commit 28d9fe68ae
2022-02-17 01:15:18 -05:00
Christoph Oelckers
de1cbb9ee0
- fixed validation issue with maps that have a wall with nextwall == -1 and nextsector > -1.
...
In this case the bogus nextsector was not reset.
2022-02-15 22:47:53 +01:00
Christoph Oelckers
21fddd6c54
- spriteset management.
2022-02-15 22:34:48 +01:00
Christoph Oelckers
e396798198
- made DCoreActor's properties functional.
...
They cannot be parsed directly into the actor's sprite because that gets used in ways that require a different setup.
This alsp adds a property parser and a setter function for the SpriteSet array. The idea here is to write code that does not need to use actual tile indices so it can later be refactored to real textures.
2022-02-15 22:34:03 +01:00
Christoph Oelckers
e3f1893e02
- avoid conversions for vertex comparisons in CollectLoops and for sectorgeometry.cpp's poscompare values.
2022-02-15 22:34:03 +01:00
Christoph Oelckers
680a87085a
- SW: remap LIGHT_Tics to the otherwise unused spritetype::detail.
...
We should not hijack a coordinate for this due to access rights for scripting and potential value ranme issues. Since this value is never loaded from a map this is safe.
2022-02-15 22:34:03 +01:00
Christoph Oelckers
37fda9cf89
- added position getters/setters to DCoreActor.
...
Scripting should not be subjected to that awful mixed fixed point format, but we cannot easily swap out the internals without risking breakage all over the place.
2022-02-15 22:33:49 +01:00
Christoph Oelckers
536c7e0c7b
- SW: floatify slidor.cpp
2022-02-15 22:18:27 +01:00
Christoph Oelckers
71943abed0
- changed math utilities to floating point coordinate system.
2022-02-15 22:18:26 +01:00
Christoph Oelckers
8cc8ebf30c
- preparations for more floatification.
2022-02-15 22:18:26 +01:00
Christoph Oelckers
4e2a9f6e59
- use float wall positions in portal code.
2022-02-15 22:18:26 +01:00
Christoph Oelckers
b641456152
- use floats directly for WallStart/End/X/Y.
2022-02-15 22:18:26 +01:00
Christoph Oelckers
73aa84e9f3
- floatified the user map display.
2022-02-15 22:18:26 +01:00
Christoph Oelckers
c18a46b98a
- fixed dofurniture
2022-02-15 22:18:26 +01:00
Christoph Oelckers
651c25a7be
- do the 'inside' check with integers.
...
Using floats and multiplications is not robust enough. This is a bit slower, but doesn't run the risk of underflows and other nasties.
Q: How many bits of fractional precision should we use? 16 seems fine
2022-02-15 22:18:26 +01:00
Christoph Oelckers
63f1a968d6
- do not update the sector for sector effectors moving themselves.
...
They need to stay in their originally assigned sector forever, or really bad things can happen.
If due to some math imprecisions they change their sector, they can screw up the entire map.
2022-02-15 22:18:25 +01:00
Christoph Oelckers
b8ea49ee0e
- SW: bumped two hard limits because there's maps out there that exceed them.
2022-02-15 22:18:25 +01:00
Christoph Oelckers
7374364527
- doFurniture floatified and inside rewritten as a floating point algorithm that works without bit masking.
2022-02-15 22:18:25 +01:00
Christoph Oelckers
4d38f62a14
- cleaned up and floatified the jaildoor code
...
(which should probably be renamed to 'slidedoor' because it gets used for lots of stuff other than actual jail doors...)
2022-02-15 22:18:25 +01:00
Christoph Oelckers
6fbecf2348
- RR: cleaned up and floatified the mine cart code
2022-02-15 22:18:25 +01:00
Christoph Oelckers
13d01bc98b
- lower the value of MAXSO.
...
This was causing overflow issues and resulted in bad int <-> float conversions.
2022-02-15 22:18:25 +01:00
Christoph Oelckers
6e96b1ee81
- floatify SW's sector object rotation.
2022-02-15 22:18:25 +01:00
Christoph Oelckers
a12093af04
- use full precision math for rotating sectors in Blood.
2022-02-15 22:18:24 +01:00
Christoph Oelckers
a781517780
- renamed PlanesAtPointf to PlanesAtPoint
...
The old PlanesAtPoint is not needed anymore.
2022-02-15 22:18:24 +01:00
Christoph Oelckers
08500ca757
- eliminated coordinate factors from UV generator.
2022-02-15 22:18:24 +01:00
Christoph Oelckers
bd95da423a
- use PlanesAtPointf in most places where PlanesAtPoint was used.
2022-02-15 22:18:24 +01:00
Christoph Oelckers
02d508baef
- renamed floatified wall coordinate to 'pos'.
2022-02-15 22:18:24 +01:00
Christoph Oelckers
7d461fa768
- PlanesAtPointf
2022-02-15 22:18:24 +01:00
Christoph Oelckers
cd55658786
- use floats for vertices.
2022-02-15 22:18:23 +01:00
Christoph Oelckers
cf17cffb26
- missed one place where wall coordinates are set from map loading.
2022-02-15 22:18:23 +01:00
Christoph Oelckers
59e834fdad
- Duke: changed animation storage to be independent of the animated values' types.
2022-02-15 22:18:23 +01:00
Christoph Oelckers
a9cf6feb60
- SW: changed sector object interpolation to be independent of the interpolated values' types.
2022-02-15 22:18:23 +01:00
Christoph Oelckers
bc0e8b4a8d
- use a method for setting wall coordinates when loading a map.
2022-02-15 22:18:23 +01:00
Christoph Oelckers
f44736a5b6
-use an access function for reading wall positions so that we have a non-modifiable value wherever this is possible.
2022-02-15 22:18:23 +01:00
Christoph Oelckers
89ef81da55
- renamed walltype::pos as preparation for refactoring.
...
no functional changes here
2022-02-15 22:18:22 +01:00
carnivoroussociety
1d8a11601d
Fix ceiling panning angle
2022-02-15 16:02:00 +01:00
Rachael Alexanderson
0d54237eec
- pull cvar uniform fixes from gzdoom
2022-02-09 07:26:59 -05:00
Rachael Alexanderson
c2b35fee41
- allow floats for uniform cvar defaults
2022-02-06 10:32:55 -05:00
Rachael Alexanderson
9fc6d40dcf
- fix compile on clang - it's a whack-a-mole, we'll get em eventually
2022-02-01 12:49:58 -05:00
Rachael Alexanderson
b7cb878ad8
- fix compiling on Linux/et-al
2022-02-01 12:36:26 -05:00
Rachael Alexanderson
942acc04c1
- pull fix from GZDoom - handle situations where the uniform cvar may already exist
2022-02-01 11:45:29 -05:00
Rachael Alexanderson
cc57914bbf
- fully implement uniform cvars
2022-02-01 11:03:39 -05:00
Christoph Oelckers
dab1f7fcec
- handle walls where a sloped floor intersects with the visible part.
2022-01-30 08:54:11 +01:00
Christoph Oelckers
11b21cce2c
- handle wall sprites on orthogonal walls better.
...
This covers the case that a wall sprite may overlap two walls with a slight deviation in their position - always pick the closest one.
2022-01-30 08:28:52 +01:00
Christoph Oelckers
ce325e6453
- disabled assert in FAFhitscan.
...
There's maps out there which trigger this - so it should better be silenced, despite being a mapping error.
2022-01-30 08:13:35 +01:00
Christoph Oelckers
12b25df582
- Exhumed: handle unterminated strings in LoadSound without reading beyond their end.
2022-01-29 13:29:59 +01:00
Christoph Oelckers
f98765ce95
- fixed handling of badly placed sprites in map validation code.
2022-01-29 12:33:11 +01:00
Christoph Oelckers
ca9936a601
- Exhumed: fix issues with uninitialized buffer data in seq_ReadSequence.
2022-01-29 12:25:48 +01:00
Christoph Oelckers
b82198b351
- Blood: fixed bad alignment flags for HUD flames.
2022-01-29 11:38:24 +01:00
Christoph Oelckers
a015958f66
- Duke: had to give the trip bomb yet another flag.
...
Unlike every other actor this has scripted animation logic attached that is not supposed to be used. Weird.
2022-01-29 10:45:36 +01:00
Christoph Oelckers
686a648aa1
- fixed inverted logic when checking for dragged sectors.
2022-01-29 09:59:29 +01:00
Christoph Oelckers
8487d693f5
- flags for the bolts.
2022-01-27 01:05:12 +01:00
Christoph Oelckers
82898e42a6
- fix the camera.
...
- camera flag added
2022-01-27 01:05:12 +01:00
Christoph Oelckers
8e89bc29e4
- new explosion flags
2022-01-27 01:05:12 +01:00
Christoph Oelckers
fba8f54bb3
- two more flags to get sprite indices out of movecrack.
...
# Conflicts:
# source/games/duke/src/constants.h
2022-01-27 00:48:39 +01:00
Christoph Oelckers
d3f2d50088
- added NOFLOORPAL flag to remove some special cases from animatesprites.
...
# Conflicts:
# source/games/duke/src/constants.h
2022-01-27 00:48:00 +01:00
Christoph Oelckers
c0a40cb7d7
- renamed RR's TRIPBOMBSPRITE to POWDERKEG
2022-01-27 00:46:46 +01:00
Christoph Oelckers
3d0c794224
- two more flags for LASERLINE.
2022-01-27 00:46:24 +01:00
Christoph Oelckers
a776e5c56e
- turned the exclude lists for initspriteforspawn into a flag.
2022-01-27 00:45:55 +01:00
Christoph Oelckers
e4cfc374be
- another trip bomb flag.
2022-01-27 00:42:57 +01:00
Christoph Oelckers
0574da7cd4
- SE24 cleanup using flags.
...
The whole setup is actually very simple, once all the mess got removed from the code.
2022-01-27 00:42:49 +01:00
Christoph Oelckers
eae5ca93d0
- cleanup - flag name and removal of unused code.
2022-01-27 00:42:40 +01:00
Christoph Oelckers
2468debe34
- added a new flag for non-teleporting items.
2022-01-27 00:42:16 +01:00
Christoph Oelckers
fc94fb9651
- replaced checktimetosleep with a flag.
2022-01-27 00:42:07 +01:00
Christoph Oelckers
72510a47fa
- replaced one more actor list check in hitradius with a flag.
2022-01-27 00:41:57 +01:00
Christoph Oelckers
125c3e8004
- flammable flags.
2022-01-27 00:41:33 +01:00
Christoph Oelckers
913b0622b8
- use symbolic constants
2022-01-27 00:35:45 +01:00
Christoph Oelckers
58b718d2a2
- turn all special actor type checks in moveflammable into flags.
...
Also wrap all flag checks in actorflag function
2022-01-27 00:34:21 +01:00
Christoph Oelckers
cbd8de36a9
- added spawn number parser to .DEF.
...
This is for mapping actor classes to whatever the games use to decide what kind of actor a sprite is.
2022-01-26 23:53:05 +01:00
Christoph Oelckers
d9fee902de
- setSpritesetImage export added.
2022-01-26 23:35:53 +01:00
Christoph Oelckers
ef22a78618
- moved all VM exports to their own file.
2022-01-26 23:35:46 +01:00
Christoph Oelckers
5fe5dbd5aa
- added spriteSet property to DukeActor
...
The idea here is to abstract picnum manipulation. Since all this is strongly index based it translates poorly to a system with named textures.
This allows a class to define a set of sprite images it intends to operate on as if it was still a simple indexed resource, even if the underlying storage changes.
2022-01-26 00:36:34 +01:00
Christoph Oelckers
c27976b2e5
- added script exports for Duke's iterators
2022-01-26 00:16:21 +01:00
Christoph Oelckers
5bc8b1c2d3
- Duke: added two more flags to eliminate the references to the crane's tile numbers.
2022-01-25 22:26:53 +01:00
Christoph Oelckers
e3103fff02
- fixed sky tiling.
2022-01-25 19:00:52 +01:00
Christoph Oelckers
0e89bffabd
- Exhumed: fixed surace collisions of projectiles.
...
There was some commented out undefined behavior here, we need to properly define this case.
2022-01-25 00:57:59 +01:00
Christoph Oelckers
30adac6e7f
- Exhumed: removed erroneous target assignment in Anubis AI.
2022-01-25 00:25:52 +01:00
Christoph Oelckers
58f535d3a4
- Duke: fixed gamevars not being allocated for map spawned actors.
2022-01-24 23:05:22 +01:00
Christoph Oelckers
d19e2e3e40
- version bump.
2022-01-24 10:29:16 +01:00
Christoph Oelckers
2022de845a
- did some reshuffling on Exhumed's menu.
...
To allow adding a "User map" item and prevent accidental reset of ongoing games, both the items for starting the campaign and the training map are now in a submenu.
This allows the game to go through the regular startup procedure common to all games, which in turn allows adding the "User map" item to the episode selection.
2022-01-24 01:00:05 +01:00
Christoph Oelckers
a252b206d1
- exported DukeActor's native member variables.
...
This includes renaming two native ones because they shared the same name with members of spritetype.
2022-01-24 00:24:47 +01:00
Christoph Oelckers
f194fb6c90
- added a name to tilenum function so that we can define picnums by name in scripted actors.
2022-01-24 00:24:47 +01:00
Christoph Oelckers
e206a71448
- added the native property handlers for CoreActor.
2022-01-24 00:24:47 +01:00
Christoph Oelckers
0a6a5fe871
- set a default bitmask for the cstat flags.
...
These need to be combined with the flags from the map, so we need to know which ones are being used by the actor defaults.
2022-01-24 00:24:46 +01:00
Christoph Oelckers
04a380ce14
- added script exports for DCoreActor's member variables.
2022-01-24 00:24:46 +01:00
Christoph Oelckers
531a42e801
- added the flag parsing utilities.
2022-01-23 13:03:39 +01:00
Christoph Oelckers
e035ce00b6
- hooked up the compiler extension and the static actor data setup.
2022-01-23 13:03:39 +01:00
Christoph Oelckers
0398ba4ff0
- added all parts needed to implement the actor property parser.
...
Not hooked up yet with the rest of the code, this just adds the needed files in compilable form.
2022-01-23 13:03:39 +01:00
Christoph Oelckers
b5a5d24bf4
- SW: fixed Polymost sky panning
2022-01-23 12:51:14 +01:00
Christoph Oelckers
bd22aeb0d9
- SW: use correct sky scale in Polymost.
2022-01-23 12:44:22 +01:00
Christoph Oelckers
e64a6f7e30
- Blood: Fixed choking hand with new renderer.
...
This gets directed to the weapon 3D drawer, but for that it was processed too late.
2022-01-23 12:23:55 +01:00
Christoph Oelckers
a23124a201
- Exhumed: fixed check for bad ending cutscene.
2022-01-22 23:11:34 +01:00
Christoph Oelckers
747648ce78
- added guards against badly defined skies.
2022-01-22 22:52:45 +01:00
Christoph Oelckers
276597fc36
- normalize line endings.
2022-01-22 14:37:17 +01:00
Christoph Oelckers
c11000e4cd
- Blood: do color highlighting for trigger messages, like NBlood does.
2022-01-22 09:38:01 +01:00
Rachael Alexanderson
7b560a3d79
- add debug ccmds for custom shaders
2022-01-20 22:31:31 -05:00
Rachael Alexanderson
f4c9c5df72
- hook up GLDEFS parser and do some final fixes
2022-01-21 01:16:22 +01:00
Rachael Alexanderson
0e4eeddb93
- add a stripped-down GLDEFS parser
2022-01-21 01:15:59 +01:00
Rachael Alexanderson
43a2437071
- fix compile error
2022-01-21 01:15:22 +01:00
Rachael Alexanderson
85aee83bf8
- backend sync with GZDoom
2022-01-21 01:15:22 +01:00
Rachael Alexanderson
13ca744ef8
- replicate GZDoom commit 12ed24d066
2022-01-21 01:15:22 +01:00
Rachael Alexanderson
c6f991a798
- in progress
2022-01-21 01:13:35 +01:00
Christoph Oelckers
19d8d65fd0
- split names into common and Raze-specific
2022-01-20 01:11:23 +01:00
Mitchell Richters
1446486871
- Exhumed: Extend 520c03b4f1
to back up the player's totalvel
variable as well at the map's end.
2022-01-19 23:00:04 +11:00
Mitchell Richters
f91f3eacca
- Blood: Fix off-by-one error in trProcessBusy()
loop.
...
* Originated from 0beb91e17e
.
2022-01-16 23:44:53 +11:00
Christoph Oelckers
f888b1da9c
- sky parser improvements.
2022-01-16 12:12:44 +01:00
Christoph Oelckers
82be7db269
- give the tree sky of DukeDC an offset of -40 to better hide its poor design in the new renderer.
2022-01-16 12:12:44 +01:00
Christoph Oelckers
3aff12cf4c
- sky management rework.
2022-01-16 12:12:43 +01:00
Christoph Oelckers
0beb91e17e
- Blood: don't use references to address gBusy.
...
This will fail if the callback in trProcessBusy adds new entries to the array which would invalidate the reference.
2022-01-16 12:02:38 +01:00
Mitchell Richters
520c03b4f1
- Exhumed: Extend 57d54a2105
to back up the player's bobangle
variable as well at the map's end.
2022-01-16 08:32:22 +11:00
Christoph Oelckers
4b9ea92969
- gracefully handle when a map tries to exit twice.
...
This case left a broken ScreenJobRunner behind which later crashed on garbage collection.
2022-01-15 19:20:58 +01:00
Christoph Oelckers
40cee808a1
- Exhumed: use proper distance calculations when spawning weapon flashes.
...
The cheap distance approximation here tended to fail on longer walls.
2022-01-15 18:33:37 +01:00
Christoph Oelckers
b1d3e8ee54
- Exhumed: Avoid playing the same pickup sound while another copy of it is already active.
...
The pickup code here is not robust enough to play the sound only once per pickup.
2022-01-15 16:11:42 +01:00
Christoph Oelckers
4ee64df844
- uncouple the fist animation for being shrunk from the display frame rate.
2022-01-15 15:48:50 +01:00
Christoph Oelckers
26d89e932a
- Duke: add back a limit to the teleporter sound.
...
Due to broken game logic it is possible for this to play in very large quantities.
2022-01-15 11:56:38 +01:00
Christoph Oelckers
c5b382907d
- SW: fixed velocity issue in InitEnemyFireball.
...
The value of the first shot was retrieved too early.
2022-01-15 10:36:55 +01:00
Christoph Oelckers
e2061dbcc6
- fixed bad wall array access when handling a sector that got split up.
2022-01-14 22:56:00 +01:00
Christoph Oelckers
7b1d99373b
- fixed last commit and optimized wall lookup code a bit.
...
No need to continue if a matching wall has been found.
2022-01-14 20:20:47 +01:00
Christoph Oelckers
ef711f0b2d
- allow a bit of tolerance for attached orthogonal wall sprites.
...
We have to account for mappers adding some 'safe' distance (which isn't really safe!)
2022-01-14 16:27:24 +01:00
Christoph Oelckers
8281374551
- do not use floor sprites for splitting geometry.
...
This is way too expensive on maps with lots of sprites. Instead, run them through the case for slope sprites which should be sufficient here
Also let rendered_* count the actual draw calls, not processed objects, because that is the most relevant metric for checking performance issues.
2022-01-14 00:49:57 +01:00