Christoph Oelckers
d17650f885
- removed the ValidateTarget call from HackSeqCallback.
...
The original function does not validate its target, it just uses undefined memory instead when this case happens.
2023-03-16 17:49:50 +01:00
Mitchell Richters
c4041affb1
- Duke: Reduce boilerplate from previous commit.
2023-03-16 22:24:34 +11:00
Mitchell Richters
9a17d33579
- Duke: Ensure spawned player actor has view height baked in up until the first getzrange()
call.
...
* The original game spawning the player's sprite/actor would set the sprite's pos with the Z matching the player's, which had a height offset already applied.
* This baked in height offset was carried through up until the `SetActor()` call in `processinput()`, where the original game would then strip off `gs.playerheight`.
* This baked in height offset within the actor is critical on the first tic for pre-activated elevators on level spawn to function right, such as E1L2 and E2L3.
* Properly setting the player actor's Z immediately after the initial `getzrange()` call, but before other functions like `movement()`, etc further down in `processinput()` is the best spot.
* Fixes #870 .
2023-03-16 22:15:11 +11:00
Mitchell Richters
8bcbc1b892
- Null the roll angle used for weapon drawing when looking left/right and with Blood's delirium for now.
...
* Intended to make the look left/right keys better, but doesn't work properly for weapons made up of layered parts of varying sizes.
* Fixes #879 .
2023-03-16 16:34:31 +11:00
Mitchell Richters
528eb0ea9a
- Blood: Fix state checks when using TNT while diving underwater.
...
* A mess of bloody proportions...
* Originates from d30c94c709
.
* Fixes #878 .
2023-03-16 15:50:52 +11:00
Mitchell Richters
cb1e4e7a34
- Exhumed: Ensure Player::items[]
is signed.
...
* Change originates from b71c725e3e
.
* Matches PCExhumed and GDX.
* Logic in game requires this variable to be signed.
* Fixes #415 .
* Fixes #888 .
2023-03-16 13:05:22 +11:00
Mitchell Richters
3d6f1e1a04
- Exhumed: Store dedicated player velocity in Player struct.
...
* Changes implementation in 67c7dd65f9
.
* Cannot rely on the actor's velocity alone as parts of the game modify this, such as getting hit by lava dudes, but game nullifies this at the start of the player's tic.
2023-03-16 12:17:42 +11:00
Mitchell Richters
b42b9de2a2
Revert "- SW: Tune shadow drawing code so that it by default uses the sector's interpolated floorz when possible."
...
This reverts commit 3271c2011e
.
* Fixes #884
* Fixes #892
2023-03-16 11:23:05 +11:00
Mitchell Richters
0d62e6befe
- Exhumed: Optimise UnlinkIgnitedAnim()
from fb97e3c6ca
a bit.
...
* Bad cherry pick caused a stat iteration over the wrong stat number.
* Cleaned up commentary to reflect that we have actors and not so much sprites or an anim array anymore.
2023-03-15 22:52:14 +11:00
Mitchell Richters
07a82508fa
- Blood: Fix palette of actor sprite on 2D automap.
...
* Fixes #846 .
2023-03-15 22:22:52 +11:00
Mitchell Richters
e8f2f98473
- Repair voxel 2D vector adjustment.
...
* Originates from a6fb831894
.
* Division taken off, probably mixing up x/yrepeat and x/yoffset.
* Fixes #869 .
2023-03-15 20:42:24 +11:00
Mitchell Richters
a4bca328bc
- SW: Remove Player::siang
since we have the same data in
2023-03-15 19:57:45 +11:00
Mitchell Richters
7da3c62ea8
- Blood: Repair velocity scaling in ConcussSprite()
.
...
* Issue originates back from 645c606e39
.
* During initial floatification, the velocity addition was changed a mulscale of 16 to 12, quadrupling the amplification.
* A lot's changed since then, but we can restore the size of the velocity by simply dividing the size value by 4x.
* Turned into a reciprocal as well to avoid division.
* Fixes #860 .
2023-03-15 19:42:33 +11:00
Mitchell Richters
39624da390
- SW: Remove getViewHeightDiff()
call in player sprite draw code.
...
* I added this when removing the player's pos vector in lieu of the sprite vector to further smooth out the sprite's Z in chase cam mode, but it just doesn't look good.
2023-03-15 19:42:33 +11:00
sirlemonhead
fb97e3c6ca
PCExhumed: Fixed Ignited sprite anim issue that could cause invalid array access.
...
* Fixes #638 .
2023-03-15 17:20:29 +11:00
Mitchell Richters
0dba1af7c0
- Move canslopetilt
test for PlayerAngles::doViewPitch()
.
2023-03-15 16:36:56 +11:00
Mitchell Richters
2162e51424
- Blood: Amend how QAVs process when game is paused.
...
* Repair of initial implementation in ebdc9c31f2
.
* Fixes #883 .
2023-03-14 21:45:47 +11:00
Mitchell Richters
016016b7ab
- Blood: Fix max weapons slot test preventing slot 12
from being called.
...
* Fixes #891 .
2023-03-14 21:45:46 +11:00
Mitchell Richters
a90665732c
- Clean up other PlayerAngles interfaces for consistency.
2023-03-14 21:45:38 +11:00
Mitchell Richters
62561d863e
- Tidy up PlayerAngles::doPitchKeys()
interface by passing the whole sync packet through.
2023-03-14 21:45:37 +11:00
Mitchell Richters
9ffc65fa48
- Exhumed: Eliminate PlayerInput
struct in favour of InputPacket
object PlayerList::input
.
2023-03-14 21:45:37 +11:00
Mitchell Richters
67c7dd65f9
- Exhumed: Remove PlayerInput::vel
in favour of just using actor's velocity.
2023-03-14 21:45:37 +11:00
Mitchell Richters
73acffac2c
- Exhumed: Move PlayerInput::nItem
to Player
struct as Player::nCurrentItem
.
2023-03-14 21:45:37 +11:00
Mitchell Richters
f77b1007be
- Exhumed: Remove unused PlayerInput::buttons
2023-03-14 21:45:37 +11:00
Mitchell Richters
c73ee5f848
- Exhumed: Move PlayerInput::pTarget
to Player
struct.
2023-03-14 21:45:37 +11:00
Mitchell Richters
c1f52b1137
- Adjust PlayerAngles::doViewPitch()
so that view pitch always resets to 0 upon enabling mouse aiming.
2023-03-14 21:45:36 +11:00
Mitchell Richters
18ef460a99
- Tidy up interface for PlayerAngles::doViewPitch()
since we have internal access to the player's actor.
2023-03-14 21:45:36 +11:00
alexey.lysiuk
41d7118099
- fixed compilation error
...
source\core\razefont.cpp(60,3): error C2181: illegal else without matching if
2023-02-21 10:30:44 +02:00
Christoph Oelckers
07d87940f2
- completed all of Blood's and Duke's fonts.
2023-02-20 16:52:51 +01:00
Christoph Oelckers
b645929035
- fixed some message mappings.
2023-02-19 13:01:20 +01:00
Christoph Oelckers
6729c342af
- undid bad code from a broken GZDoom PR.
2023-02-11 19:49:49 +01:00
Christoph Oelckers
09c8430e4e
- removed bad include.
2023-02-11 12:36:31 +01:00
Christoph Oelckers
8c99d7b034
- Backend update from GZDoom
...
* scriptable CVARs.
* GLES update
* various ZScript improvements.
2023-02-11 12:06:58 +01:00
Christoph Oelckers
fd04cda324
- added a font option to have lower case for Latin only.
...
This is meant for SW's SmallFont to avoid creating lowercase Greek or Cyrillic letters. The font is too small to render them adequately.
2023-02-11 10:43:59 +01:00
Christoph Oelckers
29de90beb6
- Duke: disable the 1.5 BigFont for languages using the Cyrillic or Greek alphabet
...
This font is incomplete, unlike the 1.3 variant, so for these languages use the font that can render them.
2023-02-11 10:43:09 +01:00
Rachael Alexanderson
3c4ab95664
- reflect https://github.com/ZDoom/gzdoom/pull/1983
2023-02-09 18:30:55 -05:00
Christoph Oelckers
6c77d1c39e
- Duke: fixed setup of purely scripted enemies,
...
Some band-aid is still needed for the time being.
2023-02-09 17:34:59 +01:00
Mitchell Richters
17392fe400
- Change viewport aspect calculation from 6aa94a9b8e
to be a reciprocal multiplication.
2023-02-06 19:58:08 +11:00
Mitchell Richters
f8035bb4ba
- Re-calculate the sector for each eye if it has a shift factor applied.
2023-02-06 19:55:46 +11:00
Mitchell Richters
2020860ffe
- For I_GetInputFrac()
, just have the caller check if input is synchronised.
2023-02-05 08:40:25 +11:00
Mitchell Richters
9961a66a1f
- Remove inputScale
global and make static in mainloop.cpp
.
2023-02-05 08:37:37 +11:00
Mitchell Richters
1938efabe6
- Fix bad return in scaletozero()
from 924b601199
.
2023-02-05 08:27:44 +11:00
Mitchell Richters
924b601199
- Change scaletozero()
to return true when back at 0 to save callers having to test angle's signum again.
2023-02-04 19:01:01 +11:00
Mitchell Richters
cbcc4f7729
- SW: Repair pitch setup for all weapons not accounting for the player's view pitch offset.
...
* Long-standing omission from back in 0e3604ac9e
.
2023-02-04 17:18:47 +11:00
Simon
e28088380f
Fix crash in Shadow Warrior when player dies
2023-02-04 17:05:20 +11:00
Mitchell Richters
5fd4fbfde5
- Remove some leftover debug code.
2023-02-04 17:05:20 +11:00
Mitchell Richters
ca4b9c5044
- Slight tidy-up in vectors.h.
2023-02-04 17:05:20 +11:00
Mitchell Richters
30de9c1922
- Factor in view pitch when clamping player's actor pitch.
2023-02-04 17:05:19 +11:00
Mitchell Richters
991ef5c27f
- Minor input tidy-up.
2023-02-04 17:05:18 +11:00
Christoph Oelckers
8052bc7e46
- fixed bad vector addition to incorrect variable.
2023-01-29 09:05:35 +01:00
Christoph Oelckers
4328016963
- move the remaining parts of spawninitdefault to DukeActor::Initialize.
...
This ensures proper execution of all code - spawninitdefault was designed to be the fallback for actors without a special case in spawninit.
2023-01-28 16:33:35 +01:00
Christoph Oelckers
38b278b12d
- fixed enemy setup.
...
All enemies now run a native init function to reduce script-induced problems.
this required adding a NOGRAVITY flag so that the recon can use the same code as well which was the only enemy relying on custom code.
2023-01-28 16:33:15 +01:00
Christoph Oelckers
0db441accb
- scriptified the native parts of the powder keg.
...
This was the last remaining actor with its own native ticking part.
2023-01-28 16:31:46 +01:00
Christoph Oelckers
9f01c87ccb
- scriptified the native part of FireflyFlyingEffect.
2023-01-28 16:31:45 +01:00
Christoph Oelckers
9783b8c402
- scriptified World Tour's flamethrowerflame.
...
The first of 3 mixed native/CON items which are the last things remaining in the main thinker loops.
2023-01-28 16:31:45 +01:00
Christoph Oelckers
dce0afe499
- Blood: fixed application of push velocity.
2023-01-28 12:43:46 +01:00
Christoph Oelckers
432021b8e7
- Exhumed: avoid shade hacks with palette emulation on.
...
This code only makes sense with true color rendering.
2023-01-28 11:44:05 +01:00
Christoph Oelckers
fc547f5ada
- Blood: fixed bad array resize.
2023-01-28 10:59:27 +01:00
Christoph Oelckers
3b8956c728
- Blood: make sure that tracking condition data is always properly initialized.
2023-01-28 10:11:34 +01:00
Christoph Oelckers
acac74715f
partially Revert "- pass shade values to sky renderer"
...
This reverts commit 380864d6fb
.
The report this was supposed to address was bogus.
2023-01-28 09:21:53 +01:00
Rachael Alexanderson
2778ee72cd
- fix commit 532a726ae3
- i_pauseinbackground is not supposed to bypass menu/console pause
2023-01-27 03:02:13 -05:00
Christoph Oelckers
5ebce5afba
- fix last commit
2023-01-21 15:08:47 +01:00
Christoph Oelckers
dbef2f74d1
- print an error when a sound file cannot be found.
2023-01-21 14:51:43 +01:00
Christoph Oelckers
33f0d229fa
- Exhumed: fixed bad return values for two HUD functions.
2023-01-21 14:37:57 +01:00
Christoph Oelckers
19a58ddeb0
- Blood: fixed velocity for ejected shell casings.
2023-01-21 14:33:42 +01:00
Christoph Oelckers
9cc7f90410
- Blood: reverted GetSpriteExtents to integer math.
...
The change in precision was enough to make the game misbehave.
2023-01-21 13:56:14 +01:00
Christoph Oelckers
f92d20afc0
- fixed bad slope sprite offset in clipmove.
2023-01-21 13:39:16 +01:00
Christoph Oelckers
2198782ecb
- SW: make player sounds always follow the source.
...
Let's hope this fixes the issues with weapon sounds.
2023-01-21 12:01:32 +01:00
Christoph Oelckers
81f6899e72
- C++20 constant fixes.
...
Use of enums is deprecated in floating point calculations.
2023-01-21 10:34:44 +01:00
Christoph Oelckers
9379e873b3
- error out when encountering an unknown $ token in SNSINFO.
...
No need to preserve this insanity from old ZDoom times.
2023-01-21 09:34:25 +01:00
Christoph Oelckers
8e5e52f80e
- enable Spanish for Duke and related games.
...
Nam/WW2GI was completed by machine translated texts, this was all simple stuff like item names.
2023-01-20 17:13:18 +01:00
Christoph Oelckers
a570e77509
- clear menuDelegate in case of an error in MENUDEF parsing.
2023-01-20 17:10:25 +01:00
Christoph Oelckers
acfca3fbdc
- fixed SNDINFO parser to actually read new sound definitions.
2023-01-18 06:58:37 +01:00
Christoph Oelckers
f6ff02c51e
- Blood: fixed incorrect defaults for relative sound volume in two places
2023-01-18 06:58:37 +01:00
Christoph Oelckers
3ab1ae5f7a
- allow setting Blood's relative volume hack value via SNDINFO.
2023-01-15 16:18:48 +01:00
Christoph Oelckers
bb7f00988a
- give Blood's sounds well defined names so they can be defined via SNDINFO.
2023-01-15 16:15:28 +01:00
Christoph Oelckers
841402a776
- allow setting loop points for WAV sounds or other simple formats.
2023-01-15 15:19:21 +01:00
Christoph Oelckers
57695a3e07
- cleaned up the pitch management in the sound backend.
2023-01-15 14:06:01 +01:00
Christoph Oelckers
f1c3a6548f
- use backend pitch features for Duke instead of replicating them on the game side.
2023-01-15 13:18:54 +01:00
Christoph Oelckers
8859712a7b
- copied $pitchset SNDINFO command from GZDoom.
2023-01-15 12:22:07 +01:00
Christoph Oelckers
8de7aa5975
- corrected error messages.
2023-01-15 12:14:47 +01:00
Christoph Oelckers
ad0bff921b
- allow setting Duke's relevant sound properties through SNDINFO.
2023-01-15 11:54:24 +01:00
Christoph Oelckers
fca0bdf379
- Backend update from GZDoom.
2023-01-15 09:30:01 +01:00
Christoph Oelckers
8001c4041f
- Duke: fixed hitscan vector for pistol's aim check.
2023-01-14 16:48:28 +01:00
Christoph Oelckers
1bfccbcb6e
- explicitly destroy the AltHUD when exiting.
...
This is to avoid problems with the GC on shutdown.
2023-01-14 14:09:25 +01:00
Christoph Oelckers
6c3d03cd48
- fixed incorrect sector in a few sprites of World Tour E5L1.
2023-01-14 13:18:53 +01:00
Christoph Oelckers
97f14c0e0e
- Duke: fixed projectile offsetting for BOSS2 and BOSS3
2023-01-14 11:53:13 +01:00
Mitchell Richters
62c6131901
- Duke: Make screen backdrop setup the same as the other games.
2023-01-13 11:06:42 +11:00
Mitchell Richters
7f1add4786
- Exhumed: Remove unused local variable left over from 087aa7b2ee
.
2023-01-13 10:34:31 +11:00
Mitchell Richters
c7d2a64af0
- Blood: Use nullAngle
in one place.
2023-01-13 09:03:02 +11:00
Mitchell Richters
8ef7e0e4f3
- Duke: Only draw the screen border when the viewport isn't 100%.
2023-01-13 08:56:12 +11:00
Mitchell Richters
087aa7b2ee
- Exhumed: Tidy up DrawMap()
entrypoint.
2023-01-12 18:59:32 +11:00
Mitchell Richters
c606fc11da
- Add call to resetForcedSyncInput()
for all games.
...
* Blood was missing it.
* If it's pre-added to all games, it never needs thinking about.
2023-01-12 18:59:32 +11:00
Christoph Oelckers
b991af2dbc
- fixed incomplete statnum setup.
2023-01-09 23:39:20 +01:00
Christoph Oelckers
b7799a5a3c
- fix kill counter in Blood (for real this time.)
2023-01-08 20:12:28 +01:00
Christoph Oelckers
d7d4bfe04b
- Blood: use a 3D unit vector to set Blood's projectile velocity.
2023-01-08 19:16:58 +01:00
Christoph Oelckers
532f994ccb
- RR: stop the bowling pins' tumbling animation when they come to a rest.
...
Fixes an original RR bug.
2023-01-08 18:46:42 +01:00
Christoph Oelckers
ff33dd7188
- Duke: fixed bad surface check.
...
Surfaces are not bit flags, they are values.
2023-01-08 18:32:38 +01:00
Christoph Oelckers
deaec2d91d
- disabled property-type definition of spritetype members.
...
As it turned out this is simply too dangerous - these should be left to be loaded from the map data or set manually.
All remaining setups using this feature have either been moved to Initialize or other meta properties that are not affected by map loading.
2023-01-08 16:45:09 +01:00
Mitchell Richters
4f8909db96
- SW: Don't interpolate the player's sprite in InterpSectorSprites()
, it's interpolated elsewhere.
...
* Fixes #845 .
2023-01-08 23:25:45 +11:00