Commit Graph

1295 Commits

Author SHA1 Message Date
Christoph Oelckers 6dcd7e2557 - do not crash on badly defined walls where the end point is missing. 2021-09-12 18:18:26 +02:00
Mitchell Richters 37f8fc8b0d - Allow disabling of load screens like how they were before the move of ScreenJob from native code to ZScript. 2021-08-26 10:34:00 +10:00
Mitchell Richters f44d695245 - Fix some warning messages in the `defineqav` DEF parser. 2021-08-26 10:33:24 +10:00
Mitchell Richters fd149e50ee - Remove early return from `GrpScan()` that was allowing addons to come through even if they weren't valid.
* Raze configured to only search $PROGDIR with a single `worldtour.grp` file would attempt to autoload even if its dependency CRC wasn't present. Attempted to re-arrange function but had mixed results. Removing this early return is what worked under all test cases.
2021-08-24 20:56:28 +10:00
Mitchell Richters 276c000f9f - Blood: Add mechanism to be able to force QAV interpolation based on picnum for testing purposes and not for end-user usage. 2021-08-23 20:54:30 +10:00
Mitchell Richters a920fc5aef - Add support for `first` and `last` keyword for `defineqav` parser when process interpolate `ignore` block. 2021-08-23 15:34:30 +10:00
Mitchell Richters 23be5ffe8c - Add support for `all` keyword for `defineqav` parser when process interpolate `ignore` block, and ensure the lowest value can't be below 0. 2021-08-23 15:06:04 +10:00
Mitchell Richters e68b793852 - Add some extra safety to `defineqav` parser to ensure some unsupported actions can't be performed. 2021-08-23 14:19:33 +10:00
Mitchell Richters ddc7b3d730
Merge branch 'master' into master 2021-08-23 11:40:05 +10:00
Mitchell Richters 1ee6fd76c4 Merge branch 'blood-qavrework'
# Conflicts:
#	source/core/gamecvars.cpp
#	source/core/gamecvars.h
#	source/games/blood/src/weapon.cpp
2021-08-23 11:02:09 +10:00
Mitchell Richters d7450e12f0 - Blood: Re-add interpolated weapon QAVs in an externalised, disabled-by-default fashion. 2021-08-23 10:55:08 +10:00
Mitchell Richters 916241dcdb - Blood: Implement `defineqav` DEF parser with hookup to game-side code. 2021-08-23 09:00:47 +10:00
Mitchell Richters f67a09680e - Blood: Rename CVAR `cl_bloodhudinterp` to `cl_bloodqavinterp`. 2021-08-21 19:55:02 +10:00
carnivoroussociety db9a413f21 Added new cl_bloodvanillaenemies CVAR
GetClosestSpriteSectors(): If newSectCheckMethod is set, then always test midpoints at least once
Use new CVAR for tiny Caleb/burning cultists/Cerberus fixes
Do not use new GetClosestSpriteSectors() fix for teslaHit() if vanilla explosions is set
Do not use GetClosestSpriteSectors() fix for enemies sight scanning if vanilla enemies is set
2021-08-19 14:26:53 +10:00
carnivoroussociety 6606f0bc5a Improved GetClosestSpriteSectors() detection
Enables/disables new sector searching behavior for dude owned explosions
Added new CVAR cl_bloodvanillaexplosions
Swap ExplosBehavior menu settings
2021-08-18 15:52:15 +02:00
Christoph Oelckers a5e3a85c98 - changed palette lookup to consider the remapping of color 0 to 255.
This is to ensure that black maps to the proper index, even if there's duplicates.
2021-08-14 10:26:04 +02:00
Christoph Oelckers bad2c2e55f - backend update from GZDoom
* replacement of 'long' in string code.
* palette removal in V_GetColor.
* fixes to DShape2D buffer management.
2021-08-14 10:04:45 +02:00
Christoph Oelckers 5d3f7947bf - avoid calling the node builder to triangulate degenerate sectors.
This tends to crash.
2021-08-14 09:48:05 +02:00
Christoph Oelckers 5aa27bad3b - flag SW's cutscenes as 'boss death only'. 2021-08-13 22:25:13 +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 17b2154e9a - Blood: Expose legacy 1.0 weapon handling game option as a CVAR. 2021-08-03 00:47:05 +10: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 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 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 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 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 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 3864dcfc17 - adapted cheat input handler to treat spaces as '0' when entering parts of numeric fields. 2021-07-25 11:59:12 +02:00
Mitchell Richters ef05eec531 - Change a68d5aae70 to not do a leading zero, but add an extra space of `frameDelay` less than 10.
* Thanks, Graf. It's better :)
2021-07-24 17:51:14 +10:00
Christoph Oelckers 8e8b3a32fe - fixed initialization pf upscale state properly.
This avoids indirectly calling FlushAll during startup.
2021-07-24 09:10:21 +02:00
Mitchell Richters a68d5aae70 - Add leading zero to `statFPS()` output (`vid_fps`) so that the text doesn't bounce continually when alternating between 10 ms and <10 ms. 2021-07-24 15:40:47 +10:00
Mitchell Richters c5f63b95e5 - Capitalise `CPART07.AR_` and `CPART15.AR_` in `ProcessOptions()`. The original files are in capitals and this is important as POSIX systems are case-sensitive. We can't cater towards every use-case but this should cover most bases.
* Fixes #308.
2021-07-20 19:06:45 +10:00
Mitchell Richters 675356be1a - Ensure `g_nextskill` is used everywhere so that setting skill for next level works properly. 2021-07-20 18:51:34 +10:00
Mitchell Richters 33845c4a23 - Add `skill` CCMD to return player's current skill, while also being able to set skill for next game.
* Fixes #332.
2021-07-20 18:50:58 +10:00
Mitchell Richters 77630dcbc7 - Rename `DeferedStartGame()` to `DeferredStartGame()`. 2021-07-20 18:43:17 +10:00
Mitchell Richters 4ac1376b9f - Make naming of multiplayer episode exclusion stuff from d0e6a7ea29 more generic and exclude invalid episodes from "Duke It Out in DC", "Duke Nuclear Winter" and "Duke Caribbean". 2021-07-19 12:24:47 +10:00
Mitchell Richters ca65c4c9da - Allow ticker to lock input to player's angle and horizon without having to force use of synchronised input. 2021-07-18 19:25:41 +10:00
Christoph Oelckers 4ee93de36c - added 'endofgame' CCMD.
Not really good yet, but it does what's needed, i.e. write out the statistics for the current session.
2021-07-17 09:42:59 +02:00
Mitchell Richters d77e143ee8 - allow palette emulation for indexed hightiles. 2021-07-17 07:40:13 +10:00
Christoph Oelckers 3e76f71f02 - support for indexed hightiles. 2021-07-17 07:40:05 +10:00
Mitchell Richters d0e6a7ea29 - Allow CON-based games to have multiplayer episodes filtered from menu.
* Fixes #461.
* Fixes #462.
2021-07-16 20:55:29 +02:00
Christoph Oelckers e3737d3330 - fixed texture lookup for hightile lookup.
Not all commands had the proper flags to also look in the root folder.
2021-07-13 08:38:24 +02:00
alexey.lysiuk 577c6cb374 - fixed crash when parsing malformed .def file
This fixes #439
2021-07-11 10:16:26 +03:00
Mitchell Richters 3e30869aeb - Remove some remains of Redneck Deer Huntin'. 2021-07-11 12:44:31 +10:00
Mitchell Richters 32283037ed - Use `isWW2GI()` in more places. 2021-07-11 12:42:33 +10:00
Mitchell Richters fe652c9348 - Use `isNamWW2GI()` in more places. 2021-07-11 12:41:08 +10:00