Commit graph

14367 commits

Author SHA1 Message Date
Mitchell Richters
f67a09680e - Blood: Rename CVAR cl_bloodhudinterp to cl_bloodqavinterp. 2021-08-21 19:55:02 +10:00
Mitchell Richters
9251ce11c7 - Blood: Remove unused isOriginalQAV() function from weapon.cpp. 2021-08-21 13:35:41 +10:00
Mitchell Richters
20ea0acbec - Add Contains() method to TArray class, returning a true/false bool as appropriate. 2021-08-21 13:34:58 +10:00
Mitchell Richters
968708a649 - Blood: Remove the extern for weaponQAV[] and move kQAVEnd enum into new enum from 9e84dd1ef6051f4e54d99dcfc6e3468560175e16 2021-08-18 20:02:35 +10:00
Mitchell Richters
84496029a9 - Blood: Replace a few missed numerical constants with enums. 2021-08-18 20:02:32 +10:00
Mitchell Richters
77704d54d9 - Blood: Replace all numerical constants in calls to StartQAV() with enum values. 2021-08-18 20:02:30 +10:00
Mitchell Richters
6a2a0da819 - Blood: Replace all numerical constants for player's weaponQav with enum values. 2021-08-18 20:02:27 +10:00
Mitchell Richters
cd5e01818a - Blood: Replace all numerical constants for player's nextWeapon with enum values. 2021-08-18 20:02:24 +10:00
Mitchell Richters
6f08eb2292 - Blood: Replace all numerical constants for player's newWeapon with enum values. 2021-08-18 20:02:22 +10:00
Mitchell Richters
ba94614078 - Blood: Replace all numerical constants for player's curWeapon with enum values. 2021-08-18 20:02:20 +10:00
Mitchell Richters
d939602875 - Blood: Define enum values for weapon numbers. Not in use yet. 2021-08-18 20:02:14 +10:00
Mitchell Richters
6fec5d582e - Blood: Define enum values for QAVs. Not in use yet. 2021-08-18 20:01:34 +10:00
Mitchell Richters
db5aa4ba17 - Blood: Backport voodoo doll fix from BloodGDX. 2021-08-18 20:00:52 +10:00
Mitchell Richters
b01cef7f15 - Blood: Remove lastframetic hack from QAV::Draw() added in 99508e6f15 since we now use proper timing code. 2021-08-18 20:00:49 +10:00
Mitchell Richters
24fbaa527c - Blood: Re-time weapon and scene QAV code based on reworked timer and QAV struct code. 2021-08-18 20:00:44 +10:00
Mitchell Richters
ab502ebc66 - Blood: Ensure looped QAVs interpolate using last frame in the array. 2021-08-18 20:00:36 +10:00
Mitchell Richters
c75778c08d - Blood: Re-time menu's blood dripping based on reworked timer and QAV struct code. 2021-08-18 20:00:32 +10:00
Mitchell Richters
502b76af70 - Blood: Parse the values of the QAV files instead of casting the binary data so we can extend the struct. 2021-08-18 20:00:22 +10:00
Mitchell Richters
4a70f6efd0 - Allow ticrate to be specified to timer code, while still defaulting to GameTicRate. Move out I_GetBuildTime() from common code to gamefuncs.h as part of this.
* Allow specification of floating point ticrates as it's possible Blood's QAVs could have a fractional ticrate.
2021-08-05 14:52:55 +10:00
Mitchell Richters
0d9afc1aaf - Extend menu's ImageScroller ZScript class with mAnimated and use with Blood for the help and credits menu. 2021-08-05 14:52:51 +10:00
Mitchell Richters
1ed1222e10 - Extend menu's ListMenu ZScript class with mAnimated already natively available, and use with Blood where BloodDripDrawer is defined.
* Finalises the interpolated blood dripping code changes from 9884d5f396.
2021-08-04 10:31:45 +10:00
Christoph Oelckers
888f8888bb - backported some fixes in the common backend from GZDoom 2021-08-03 13:00:09 +02:00
Mitchell Richters
17b2154e9a - Blood: Expose legacy 1.0 weapon handling game option as a CVAR. 2021-08-03 00:47:05 +10:00
alexey.lysiuk
7522a3e359 - added detection of Steam's Powerslave on macOS 2021-07-31 12:51:21 +03:00
alexey.lysiuk
33167b2a0d - fixed detection of Steam's Duke3D on macOS 2021-07-31 12:47:10 +03:00
Mitchell Richters
a9b75e7e7d - Blood: Put QAV interpolation code behind a CVAR for now until some final minor issues are resolved.
* Thanks to Dzierzan for testing and the reports.
2021-07-31 10:15:51 +10:00
Mitchell Richters
f6c7ed3984 - Blood: Restore originally intended isRunning code that never worked behind two CVARs to offer an alternative playing experience.
* `cl_bloodvanillarun` enables/disables the `isRunning` code that affects AI, bobbing and swaying.
* `cl_bloodvanillabobbing` enables/disables the `isRunning` code that affects bobbing and swaying, allowing only the `isRunning` AI changes.
2021-07-31 10:14:56 +10:00
Mitchell Richters
9884d5f396 - Blood: Perform interpolation of menu's blood dripping.
* All supporting code is here, is tested and works, need to determine best how to flag the menu as "Animated" to uncap the frame-rate.
2021-07-31 10:05:25 +10:00
Mitchell Richters
a67c126129 - Blood: Extend 99508e6f15 to find picnum of previous frame in all previous frame's tile indices if the current frame's tile index doesn't match.
* Allows more interpolation magic.
* Revealed an issue with `interpolatedanglef()` that was undetected. Removed in place of a binangle version returned as floating point build.
2021-07-29 19:23:00 +10:00
Mitchell Richters
019922dcf1 - Fix constexpr issue with interpolatedanglef() since fmod() isn't available as constexpr. 2021-07-29 18:38:07 +10:00
Mitchell Richters
32215ba570 - SW: Tidy some extra panel coordinate math that was missed in 4d4946fb6b. 2021-07-29 17:53:57 +10:00
Mitchell Richters
99508e6f15 - Blood: Perform interpolation between frames for each tile coordinate when there is more than one frame and the picnum between frames match. 2021-07-29 17:39:22 +10:00
Christoph Oelckers
bd23ea144c - validate 'nextsector' fields on walls.
Build utterly relied on the map having these right and put the entire responsibility on the mapper.
There's maps, however which have bad values here causing either render glitches or crashes so these bad indices need to be fixed.
Two good examples where this causes problems are RR's E3L1 and the second map of SW's Last Warrior mod where this even glitches in Polymost.
2021-07-27 22:12:29 +02:00
Christoph Oelckers
9a8ee00aec - set currentLevel before calling engineLoadBoard.
This is needed if the compatibility patcher needs to alter mapinfo data.
2021-07-27 22:12:29 +02:00
NoOneBlood
a40d036623 Fix max players range check for kModernPlayerControl
Add power up control for kModernPlayerControl
2021-07-27 08:05:31 +10:00
Mitchell Richters
1fa0863a52 - Duke: Amend af9f2f3eb6 to not reset the skill if incoming skill is -1; 2021-07-26 19:41:17 +10:00
nukeykt
adb9547ba9 Blood: fix impact sprite OOB issue 2021-07-26 19:19:41 +10:00
Mitchell Richters
1685890bc5 - Replace calcSinTableValue() with game's native bsin() export.
* Also repair light for Duke's `DrawCursor()` with a multiply and shift down to get the `bsin()` output up to 24 and not 21.33 etc
2021-07-26 17:28:32 +10:00
nukeykt
ced8a83331 Blood: fix potential view sprite overflows 2021-07-26 16:06:56 +10:00
nukeykt
557cd7e734 Blood: fix view sprites overflow in ROR code 2021-07-26 16:00:13 +10:00
nukeykt
39547e2df5 Blood: fix OOB issue in aiPatrolSetMarker 2021-07-26 15:55:13 +10:00
Christoph Oelckers
1fde9f2173 - workaround to allow playing SW's Last Warrior mod in one go.
This disables the boss's death in L4 ending the game and just advances to the next level.
This seems to be the intent with this mod as the second episode starting at L5 is not defined and the first episode's subtitle advertises the full game.
2021-07-26 00:58:00 +02:00
Christoph Oelckers
1a5a2aba2b - Blood: fixed path validation for cutscene files. 2021-07-25 17:27:52 +02:00
Christoph Oelckers
a12dfbe1d8 - fixed bad operator grouping in cheat code. 2021-07-25 17:17:29 +02:00
Christoph Oelckers
5c5799c21f - quote argument for sending cheats from the chat editor. 2021-07-25 12:48:27 +02:00
Christoph Oelckers
c69efe5817 - fix crash issue with empty VOCs.
Pointer to empty data causes undefined behavior if length is 0.
2021-07-25 12:43:42 +02:00
Christoph Oelckers
dfb18ef9a9 - Duke/RR: Call Bowling lane reset code only when playing RR.
This may alter some tile references which will cause problems with hires replacements in Duke .
2021-07-25 12:43:03 +02:00
Christoph Oelckers
c51c6fa524 - adapted the Zip root folder eliminator to deal with archives that do not add proper folder records to their central directory. 2021-07-25 12:18:53 +02:00
Christoph Oelckers
3864dcfc17 - adapted cheat input handler to treat spaces as '0' when entering parts of numeric fields. 2021-07-25 11:59:12 +02:00
Christoph Oelckers
fa586d6d7c - Blood: fixed parser for 'mario' cheat to treat a leading space for the level number as 0. 2021-07-25 11:53:20 +02:00