Commit graph

17223 commits

Author SHA1 Message Date
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
b1f971aa9b - add gl_satformula == 2 - an optional 'more accurate' desaturation 2022-03-18 04:32:34 -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
Rachael Alexanderson
13c44cc32f
Update copyright year in README.md 2022-02-19 05:01:00 -05: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
7ddd0dc22e - fixed bad filter name for DukeDC's SSI variant fpr 1.5 2022-02-18 23:58:49 +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