Commit Graph

14505 Commits

Author SHA1 Message Date
carnivoroussociety 8765b583f0 Fix spray -> tnt -> spray animation bug 2021-08-12 15:15:35 +02:00
carnivoroussociety 715bca4d53 input.newWeapon -> newWeapon 2021-08-12 13:59:44 +02:00
carnivoroussociety 1a344fe09b Fix ignited spray/TNT issue when going underwater 2021-08-12 13:59:44 +02:00
Christoph Oelckers 23b8707fc2 - added means to define resource IDs in all container formats allowing long file names.
To define these, construct a file name like "basename.{resourceid}.extension", e.g. blaster.{65}.qav will define 'blaster.qav' with a resource ID of 65.
2021-08-11 12:04:53 +02:00
Christoph Oelckers b2f7eb5b4f - fixed: Raze did not have gl_lights yet, but recent additions need this CVAR.
Put it in v_video.cpp so that it is in a common backend file.
2021-08-11 12:02:56 +02:00
Christoph Oelckers 8106d788f6 - backend update from GZDoom.
Fixes:
* do not strip 'filter' as a directory prefix.
* proper spacing for scaled sheet fonts.
* fix of transparent color in BMF fonts.
* fix restart button on error pane in Windows.
* do not skip over empty 'if's with a condition that would error out.
2021-08-11 10:28:21 +02: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
Christoph Oelckers b23db149e3 - use snprintf in condError.
While sprintf is generally problematic, it is particularly dangerous here where it is impossible to estimate the length of the messages.
2021-07-25 11:50:23 +02:00
Mitchell Richters 9fad44bab2 - Blood: Replace use of non-standard `strupr()` from 754554a493 with an FString object. 2021-07-25 19:44:07 +10:00
Mitchell Richters 3b82a08123 Revert "- Fix non-Windows and non-MSVC builds due to missing header for `strupr()`."
This reverts commit 2217dcb632.
2021-07-25 19:38:06 +10:00
sirlemonhead e4fb67bc25 Rides Again: Possible array index by -1 in Proj_DoHitscan(). Added check to prevent this. 2021-07-25 19:37:02 +10:00
Mitchell Richters 2217dcb632 - Fix non-Windows and non-MSVC builds due to missing header for `strupr()`. 2021-07-25 19:27:31 +10:00
Christoph Oelckers 7702b3bb92 - rewrote the sound handling in the patrolling code for Raze's sound backend. 2021-07-25 10:42:15 +02:00
Christoph Oelckers eae355110f - use enums instead of #defines. 2021-07-25 10:30:14 +02:00
Christoph Oelckers cc3e6b74f3 - handle newly activated 'unused' fields properly for serialization. 2021-07-25 10:29:50 +02:00
Christoph Oelckers b588abbca6 - deleted two unused functions that got back in again by accident. 2021-07-25 08:50:46 +02:00
Mitchell Richters 4298399e00 - Build: Change `MAXSPRITESONSCREEN` from constant of 2560 to 1/4 of MAXSPRITES.
* Mods like Blood's Eviction are pushing these limits hard. Bumping the onscreen limit resolved recurring crash on `sstation.map` with no apparent ill-effects.
2021-07-25 15:38:51 +10:00
Mitchell Richters ffe62da3c7 - Blood: Add some nullptr checks to the `aiPatrol*()` inline bools. 2021-07-25 15:37:50 +10:00
Mitchell Richters 7329cb8f1f - Blood: Comment out `bonk` code from 754554a493 to get things building for now. 2021-07-25 13:12:29 +10:00