Mitchell Richters
b83d321c4b
- SW: Don't use pp->setHeightAndZ()
when setting PLAYER_CRAWL_HEIGHTF
.
2022-12-15 18:06:07 +11:00
Mitchell Richters
6e4e2b04eb
- Fix pitch direction for controller input.
2022-12-15 08:42:43 +11:00
Christoph Oelckers
d5414da096
- added a - sign to FindBestSector' default return.
...
This somehow get lost when the code was moved out of clipmove into a separate utility function.
2022-12-14 11:48:34 +01:00
Christoph Oelckers
9fc17a4bcf
- fixed velocity handling in a few enemy swimChase functions.
...
The one for the gill beast was particularly bad.
2022-12-14 11:32:56 +01:00
Christoph Oelckers
ff09257d47
- Exhumed: allow Anubis to get out of the walking state if he loses his target.
...
This happened on occasion on the first map
2022-12-14 10:25:01 +01:00
Mitchell Richters
53dfac5327
- Duke: Fix bad sector variable check in floorspace()
.
...
* Originated from 1b3f551216
.
* Was causing the player to die quite easily when coming out of the transporter at the start of E2L2.
2022-12-14 18:14:06 +11:00
Christoph Oelckers
cd28c818b0
- fixed bad hitradius distance calculation.
...
Player offset was retrieved from the wrong actor here.
2022-12-13 17:19:04 +01:00
Christoph Oelckers
fba882e368
- fixed SE30 moving player twice each step.
...
With the changes in dd5834444e
it was applying movement to the player in both the player and the actor loop.
2022-12-13 16:16:48 +01:00
Christoph Oelckers
f45265352d
- added a few class types needed for RR's UFO spawners.
2022-12-13 15:49:09 +01:00
Christoph Oelckers
efd6d2cf07
- fix initialization issues with a few serializer functions.
2022-12-13 14:38:58 +01:00
Kevin Caccamo
4cdb0c3c55
Attempt to fix #787
2022-12-13 14:08:02 +01:00
Christoph Oelckers
4f388c3589
- fixed bad direction setup for vertically moving SE 0.
...
This also adds missing interpolation for this case.
2022-12-13 13:46:55 +01:00
Christoph Oelckers
5f6cd0da79
- Duke/RR: fixed floor alignment of flames in sloped sectors
2022-12-13 12:01:34 +01:00
Christoph Oelckers
6b0c067d46
- Duke: fixed flames not being floor aligned.
...
The same code was correct in the RR variant, so it just got copied over.
2022-12-13 11:51:14 +01:00
Christoph Oelckers
13e6718153
- added mapSpawned member to DDukeActor
...
Duke uses the owner a lot to check if an actor was spawned at map start or in-game, but that depends a lot on stale pointers being maintained, which our garbage collected system does not allow. So this field now serves as a more reliable stand-in for these cases.
No actual changes yet.
2022-12-13 10:36:45 +01:00
Christoph Oelckers
9c1fc93e1c
- Exhumed: The ObjectList was not properly garbage collected.
2022-12-13 08:49:56 +01:00
Christoph Oelckers
629dc8e163
- fixed kill counting in Blood.
2022-12-13 08:37:22 +01:00
Christoph Oelckers
87ff99caa1
- fixed typo
2022-12-12 09:26:43 +01:00
Christoph Oelckers
1f7954fc29
- fixed World Tour fallback sound lookup.
2022-12-12 08:25:02 +11:00
Christoph Oelckers
1e249d3536
- fixed bad actor type check.
2022-12-11 20:15:14 +01:00
Mitchell Richters
28b97486cd
- SW: For single player games, call PlayerDeathReset()
from TerminateLevel()
and not DoPlayerDeathCheckKeys()
.
...
* This fixes issues where player stats like health, etc are shown onscreen as reset before the entire view reloads.
2022-12-11 19:46:27 +01:00
Mitchell Richters
b8a8164b24
- SW: Don't call DoSpawnTeleporterEffect()
upon death.
...
* This causes an air bubble to spawn above the player for a single tic, even while on land until the level truly restarts.
* Since we're restarting, its better to just not do this.
2022-12-11 19:46:27 +01:00
Mitchell Richters
9b73f46aff
- SW: Don't reset player pitch upon death.
...
* This _somewhat_ addresses #770 by hiding the effects of it.
* Since we re-init `Player::Angles` when a new actor is spawned, this all resets anyway.
2022-12-11 19:46:27 +01:00
Mitchell Richters
7d6eb2bae6
- Remove some pitch/yaw deltaangle additions in lieu of setting the angle directly.
...
* This deltaangle addition was needed with the old input setup.
2022-12-11 19:46:27 +01:00
Mitchell Richters
c3f276a08a
- Tidy up remaining Build angle constants in gamefuncs.h
.
2022-12-11 19:46:27 +01:00
Mitchell Richters
de8353f085
- Eliminate BAngToDegree
constant.
2022-12-11 19:46:26 +01:00
Mitchell Richters
67b40ee1d5
- Convert angle in hud_drawsprite()
to work on true degrees, and in the right direction.
2022-12-11 19:46:26 +01:00
Mitchell Richters
3a1729a9ce
- Duke (RR): Final tidy-up of displayweapon_r()
.
2022-12-11 19:46:26 +01:00
Mitchell Richters
3eb3a29a7e
- Duke: Tidy up animateshrunken()
.
2022-12-11 19:46:26 +01:00
Mitchell Richters
c45b755773
- Duke (RR): Tidy up remaining uses of old weapon offset code.
2022-12-11 19:46:26 +01:00
Mitchell Richters
7ec2c1a0fa
- Duke (RR): Move displaysaw()
lambda to new weapon offsets.
2022-12-11 19:46:26 +01:00
Mitchell Richters
6d9b53af3d
- Duke (RR): Move displayblaster()
lambda to new weapon offsets.
2022-12-11 19:46:26 +01:00
Mitchell Richters
21fe395c2e
- Duke (RR): Move displaytits()
lambda to new weapon offsets.
2022-12-11 19:46:25 +01:00
Mitchell Richters
717955d5ab
- Duke (RR): Move displaythrowingdynamite()
lambda to new weapon offsets.
2022-12-11 19:46:25 +01:00
Mitchell Richters
70d7210462
- Duke (RR): Move displaydynamite()
lambda to new weapon offsets.
2022-12-11 19:46:25 +01:00
Mitchell Richters
387e0286ac
- Duke (RR): Move displaypistol()
lambda to new weapon offsets.
2022-12-11 19:46:25 +01:00
Mitchell Richters
755e2be0a4
- Duke (RR): Move displayrifle()
lambda to new weapon offsets.
2022-12-11 19:46:25 +01:00
Mitchell Richters
82e9b96174
- Duke (RR): Move displayshotgun()
lambda to new weapon offsets.
2022-12-11 19:46:25 +01:00
Mitchell Richters
c6380bfd7a
- Duke (RR): Move displaychicken()
lambda to new weapon offsets.
2022-12-11 19:46:25 +01:00
Mitchell Richters
79ae9e1f97
- Duke (RR): Move displaycrossbow()
lambda to new weapon offsets.
2022-12-11 19:46:24 +01:00
Mitchell Richters
be439918dc
- Duke (RR): Move displaypowderkeg()
lambda to new weapon offsets.
2022-12-11 19:46:24 +01:00
Mitchell Richters
40ec46e323
- Duke (RR): Move displaybowlingball()
lambda to new weapon offsets.
2022-12-11 19:46:24 +01:00
Mitchell Richters
6193d17dac
- Duke (RR): Move displayslingblade()
lambda to new weapon offsets.
2022-12-11 19:46:24 +01:00
Mitchell Richters
50c1c5b48d
- Duke (RR): Initial hookup of new weapon drawing offsets from the backend, starting with displaycrowbar()
.
2022-12-11 19:46:24 +01:00
Mitchell Richters
5d3710d677
- Duke: Always use tsprite pos/angle when used in conjunction with viewvec or viewang.
...
* This solves the issue of jittery picnum changes when circle-strafing actors at high speeds.
2022-12-11 19:45:38 +01:00
Christoph Oelckers
bea6834f8e
- code cleanup.
2022-12-11 19:45:38 +01:00
Christoph Oelckers
3874cf365c
- use TEXMAN_ForceLookup where it was missing.
2022-12-11 19:45:38 +01:00
Christoph Oelckers
c1abd6fe22
- rewrote drawtile CVAR handling to render the image larger and allow using aliases.
2022-12-11 19:45:38 +01:00
Christoph Oelckers
97d76a01e4
- SW: do a proper implementation for sprites which do not want texture animations.
...
Instead of hacking the picanm table it is far more preferable to flag the sprite as non-animating and let the renderer handle it.
2022-12-11 19:45:38 +01:00
Christoph Oelckers
281b102fac
- gave all textures that were accessed with their "#0xxxx" name a descriptive names.
...
Only the fallback fonts were intentionally excluded because these are supposed to get the ART file content.
2022-12-11 19:45:18 +01:00
Christoph Oelckers
58db09969c
- moved tileForName out of BuildTiles.
...
Just pulling one change out of the big upcoming refactor commit.
2022-12-11 19:45:18 +01:00
Christoph Oelckers
630276f7e0
- migrated texture flags parsing from .def to RMAPINFO.
...
This was the final piece of non-tile-related data to be in there.
.def should be restricted to existing use cases concerning setup of render data, not for game content.
2022-12-11 19:45:18 +01:00
Christoph Oelckers
0bacb05c1b
- wrapped hiofs in a getter function.
...
This makes it a lot easier later to refactor.
2022-12-11 19:45:01 +01:00
Christoph Oelckers
aa58b152ab
- use a TArray in BuildTiles for the tile descriptors.
...
For some reason MSVC wants to put this in the EXE now and the array is quite large.
2022-12-11 19:45:00 +01:00
Christoph Oelckers
71ca2c4677
- eliminate the last remaining references to the tile manager in the core renderer files.
...
The only thing left is the sky which needs more refactoring first and the tileUpdatePicnum call for sprites which cannot be resolved by the texture manager because Blood has a randomization factor included here.
2022-12-11 19:44:01 +01:00
Christoph Oelckers
e26d9106aa
- handle all occurences of tileWidth and tileHeight using spritetypebase::picnum.
2022-12-11 19:44:01 +01:00
Christoph Oelckers
1258ddc551
- cleaned out tileHeight calls in SW's panel.cpp.
...
Direct access to tile numbers has been significantly reduced.
2022-12-11 19:44:01 +01:00
Christoph Oelckers
f479f995a1
- transitioned all tileLeftOffset and tileTopOffset calls to use the texture manager.
2022-12-11 19:44:01 +01:00
Christoph Oelckers
e37de147dc
- disabled the automatic location feature in the texture manager.
...
For something that was never used it is simply too costly as it sits in a critical segment of code where it prevents optimization of multiple calls to GetGameTexture in a code block.
If this ever gets reimplemented it must be on a higher level - this simply does not work right.
2022-12-11 19:44:01 +01:00
Christoph Oelckers
afa821c2fd
- removed redundant voxel/model code in Blood's animatesprites.
...
This just duplicated the generic handling in the renderer so it is not needed.
2022-12-11 19:44:01 +01:00
Christoph Oelckers
0869497ecb
- rewrote the tile pixel cache to work on texture IDs instead of tile IDs.
...
This allows using the related checking features with other textures as well.
2022-12-11 19:44:00 +01:00
Christoph Oelckers
8b0e86e88b
- wrap a few more accesses to picnum variables
2022-12-11 19:44:00 +01:00
Christoph Oelckers
a6db974a62
- refactored Blood's tile property arrays to texture IDs.
...
The data structure here can be optimized later when the other games get to the same point, but this allows to rid Blood of all references to wallpicnunm, floorpicnum and ceilingpicnum except one place in the precacher.
2022-12-11 19:44:00 +01:00
Christoph Oelckers
483617d3e1
- use the texture wrappers in a few places.
2022-12-11 19:44:00 +01:00
Christoph Oelckers
4ecb4aacb2
- mark all return values from the texture() getters as const.
...
This is necessary to evade C++ stupidity which happily allows assignment to non-const struct type return values and won't even warn about it.
As const these will throw an error when that happens.
2022-12-11 19:44:00 +01:00
Christoph Oelckers
ffa265ae1d
- gave Blood's and SW's mirror/ROR tiles proper names.
2022-12-11 19:44:00 +01:00
Christoph Oelckers
63c1630cda
- more texture wrappers and minor cleanup.
2022-12-11 19:44:00 +01:00
Christoph Oelckers
e5225e98e0
- migrated SW's portal setup code to texture IDs.
2022-12-11 19:43:59 +01:00
Christoph Oelckers
fe3a32d692
- SW: fixed camera validation
2022-12-11 19:43:59 +01:00
Christoph Oelckers
9879aa90a6
- more texture handling cleanup.
...
Most of the renderer now bypasses the tile manager and goes directly to the low level texture manager.
The gotpic array was removed and replaced by a new texture flag. Since there are only 3 places in the entire code that check this, this is a lot easier to handle.
2022-12-11 19:43:59 +01:00
Christoph Oelckers
868fece7f6
- using texture IDs in a few more places where it is simple.
2022-12-11 19:43:59 +01:00
Christoph Oelckers
f4bda94dad
- added tileGetTextureID and tested it with Blood's mirror/portal setup code.
2022-12-11 19:43:59 +01:00
Christoph Oelckers
bfef616981
- let tileDelete create a new null texture instead of using the default one.
...
This is to ensure that marker textures are still unique.
2022-12-11 19:43:59 +01:00
Christoph Oelckers
028cf2daf5
- added access wrappers for getting texture IDs from the map and used that to rid a large chunk of the renderer of direct tilenum access.
2022-12-11 19:43:59 +01:00
Christoph Oelckers
49f87e6227
- got rid of gotpic.
...
Now everything uses the 'seen' flag in the texture which indicates that the texture was actually used for hardware rendering since the last check.
It's also only the 3 places checking this flag which are responsible for clearing it.
2022-12-11 19:43:58 +01:00
Christoph Oelckers
a0722c55ea
- removed canvas hack stuff from Buildtiles after cleaning up the mess in SW.
2022-12-11 19:43:58 +01:00
Christoph Oelckers
ede5b017ab
- renamed walltype::picnum to wallpicnum for easier searching.
2022-12-11 19:43:58 +01:00
Christoph Oelckers
51ad64f71e
- initialize all special tiles to their intended type before starting the game.
...
This ensures that we have an immutable mapping of tile number to texture ID now.
2022-12-11 19:43:58 +01:00
Christoph Oelckers
faeb19a485
- do the handling of 90° rotated wall textures in the renderer instead of duplicating the texture.
...
Aside from less resource use this also works with hires replacement - which the old code was incapable of.
2022-12-11 19:43:58 +01:00
Christoph Oelckers
6a690849e6
- cleanup on the tile management.
...
* removed the long defunct EDuke32-based map art system. With our move to named textures this will not work anymore so fixing the existing problems would be pointless.
* moving .def related parsing stuff out of buildtiles.cpp.
* some initial refactoring to make the tile store a static, non-modifyable resource after initial setup.
2022-12-11 19:43:58 +01:00
Christoph Oelckers
a08db47528
- exported all breakable ceilings.
...
Very simple stuff with instant profit. :)
2022-12-11 19:43:58 +01:00
Christoph Oelckers
a63ee8079a
- implemented customizable breakable walls and ported all hard coded variants to use this.
2022-12-11 19:43:57 +01:00
Christoph Oelckers
241636a907
- removed caching of the minifont.
...
Since this does not get used directly anymore, caching these images is rather pointless.
2022-12-11 19:43:57 +01:00
Christoph Oelckers
0df5be7ad0
- also renamed all RR tile names.
2022-12-11 19:43:57 +01:00
Christoph Oelckers
e9b6e84d47
- renamed all tile constants for Duke to DTILE_*.
...
We need to be able to find them for the ongoing work
2022-12-11 19:43:57 +01:00
Christoph Oelckers
9e3318a2fb
- moved spawnclasses and breakwall definitions from .def to RMAPINFO.
...
.def is not the right place for this - it needs to run very early in the process, before scripted actors are loaded, so doing this stuff there means that half the initialization has to be postponed and error reporting is sub-par.
These are now part of RMAPINFO which gets parsed as one of the very last things - it is also where GZDoom is doing some of these things.
The better error reporting also allowed fixing some errors in these definitions.
2022-12-11 19:43:57 +01:00
Christoph Oelckers
c1a09196f0
- implemented breakable walls with external definitions.
...
The scripted case does not work yet due to bad loading order of files.
2022-12-11 19:43:57 +01:00
Christoph Oelckers
8e17f1f0f5
- removed the limit of 64 on-state switches from the init code.
...
No other place in the engine needs this, it was just the chosen size for a local check array.
2022-12-11 19:43:56 +01:00
Mitchell Richters
ba3e8a9842
- Change most input constants to be doubles, and not DAngle objects.
...
* These are base scales that when divided by the game's ticrate, become degrees of angle. Too confusing...
* 3x genuine degree values remain.
2022-12-11 19:43:56 +01:00
Mitchell Richters
2c592405fa
- Separate pitch/yaw key input into separate functions and apply from the ticker.
2022-12-11 19:43:56 +01:00
Mitchell Richters
470b4efac8
- Remove PlayerAngles::setYaw()
method usage and remaining associated code.
2022-12-11 19:43:56 +01:00
Mitchell Richters
f58e3c58aa
- Remove PlayerAngles::setPitch()
method usage.
2022-12-11 19:43:56 +01:00
Mitchell Richters
491a42d2bb
- Remove PlayerAngles::addYaw()
method usage.
2022-12-11 19:43:56 +01:00
Mitchell Richters
7a7758efaa
- Remove PlayerAngles::addPitch()
method usage.
2022-12-11 19:43:56 +01:00
Mitchell Richters
1944d04014
- Duke: Fix pitch alteration in dokneeattack()
.
2022-12-11 19:43:55 +01:00
Mitchell Richters
968d0ae0d2
- Implement new scaled angle change setup and remove enforcement of synchronised input.
2022-12-11 19:43:55 +01:00
Mitchell Richters
9437ea9622
- Move input vector rotation for Duke and SW into the playsim.
...
* The next commit needs this to ensure the vector is rotated using the most current angle.
2022-12-11 19:43:55 +01:00
Mitchell Richters
15b101870d
- Completely remove current scaled angle change setup.
...
* During this transition, temporarily enforce synchronised input at all times.
2022-12-11 19:43:55 +01:00
Christoph Oelckers
4078c6d6bd
- converted several of RR's static init sprite types to the class system.
2022-12-11 19:43:55 +01:00
Christoph Oelckers
5b34917f62
- split the sprite animation code for CON-based actors into a separate function.
...
Like the shadow code this is virtually identical for Duke and RR.
2022-12-11 19:43:55 +01:00
Christoph Oelckers
0d7288c543
- moved the shadow creation code out of animatesprites into a common subfunction.
...
Also removing several checks for non-enemy actors for which shadows are generally not being created.
2022-12-11 19:43:55 +01:00
Christoph Oelckers
6fb263d61b
- converted the two last non-CON-based active items - RRRA's empty bike and boat.
2022-12-11 19:43:54 +01:00
Christoph Oelckers
fd26f7fd2d
- set some more flags.
2022-12-11 19:43:54 +01:00
Christoph Oelckers
9641d3f712
- scriptified two of RRRA's special effects.
2022-12-11 19:43:54 +01:00
Christoph Oelckers
3ee28eb600
- use tickstat for all thinker loops that have no more special cases.
2022-12-11 19:43:54 +01:00
Christoph Oelckers
6de147b77f
- moved the CON execute call to DDukeActor::Tick and removed a large portion of the special handling for scriptified actors.
2022-12-11 19:43:54 +01:00
Christoph Oelckers
1cfba8e989
- cleaned up the main thinker loops, using a flag to denote actors that are not on STAT_ACTOR but need to run CON code.
...
This should not be automatic as it may cause problems with mods not expecting this.
2022-12-11 19:43:54 +01:00
Christoph Oelckers
23640988db
- define several of RR's fullbright decorative sprites via spawnclasses remapping.
2022-12-11 19:43:53 +01:00
Christoph Oelckers
bdc474d04f
- scriptified all remaining Duke actors with specific init code and no CON part.
2022-12-11 19:43:53 +01:00
Christoph Oelckers
c9628db264
- scriptified the toilet.
2022-12-11 19:43:53 +01:00
Christoph Oelckers
cbb3b0ebfb
- preparations for the next script exports.
2022-12-11 19:43:53 +01:00
Christoph Oelckers
10e4c90d37
- minor cleanup.
2022-12-11 19:43:53 +01:00
Christoph Oelckers
d83e203b8d
- renamed a few RR sprites plus one associated global variable.
2022-12-11 19:43:53 +01:00
Christoph Oelckers
e5ac32e329
- scriptified the remaining RR destructibles.
2022-12-11 19:43:53 +01:00
Christoph Oelckers
15bee4ca6a
- scriptified the remaining Duke destructibles, except the toilets.
2022-12-11 19:43:52 +01:00
Christoph Oelckers
e6c466fcba
- scriptified several of Duke's destructible items.
2022-12-11 19:43:52 +01:00
Christoph Oelckers
066c4c88b2
- scriptified the two final special stat items from RRRA.
2022-12-11 19:43:52 +01:00
Christoph Oelckers
7cbc713b4e
- scriptified stat121 special effect.
2022-12-11 19:43:52 +01:00
Christoph Oelckers
dc06a93a4f
- scriptified RR's UFO teleporter.
2022-12-11 19:43:52 +01:00
Christoph Oelckers
5a155730b4
- scriptified RR's bowling stuff.
2022-12-11 19:43:52 +01:00
Christoph Oelckers
9ad8f67ce9
- added isEffector inline and exported NATURALLIGHTNING which got a bit in the way.
2022-12-11 19:43:52 +01:00
Christoph Oelckers
be6ead173a
- scriptified several smaller actors
2022-12-11 19:43:51 +01:00
Christoph Oelckers
0dc526899b
- scriptified FrameEffect
2022-12-11 19:43:51 +01:00
Christoph Oelckers
44d4e7a20a
- scriptified the mortar projectiles.
...
This was split off heavyhbomb for clarity and to avoid interference with the pickup code.
2022-12-11 19:43:51 +01:00
Christoph Oelckers
0bc9023e17
- scriptified the pipe bomb and RR's dynamite, which is mostly the same thing.
...
The mortars were split off because they made the code too convoluted.
2022-12-11 19:43:51 +01:00
Christoph Oelckers
b9caa23357
- gave proper names to ST_160 and ST_161.
2022-12-11 19:43:51 +01:00
Christoph Oelckers
ff6a9b89ac
- scriptified the green slimer.
2022-12-11 19:43:51 +01:00
Christoph Oelckers
bc34746227
- scriptified transport vehicles.
2022-12-11 19:43:50 +01:00
Christoph Oelckers
f1d6e0e6bb
- scriptified Duke's shooting gallery targets.
2022-12-11 19:43:50 +01:00
Christoph Oelckers
e69772637c
- define Duke's skies by name.
2022-12-11 19:43:50 +01:00
Christoph Oelckers
5358b3d98c
- added a new sprite flag for those types which can trigger respawn actions.
2022-12-11 19:43:50 +01:00
Christoph Oelckers
4397e65443
- cleaned up the generic destructible code and used it for several more things.
2022-12-11 19:43:50 +01:00
Christoph Oelckers
f89ccec829
- scriptified Duke's reactor.
2022-12-11 19:43:50 +01:00
Christoph Oelckers
f6fe639233
- avoid propagating owner flags where easily doable.
...
This particular case is done a lot better by setting a special flag.
2022-12-11 19:43:50 +01:00
Christoph Oelckers
59659bc284
- scriptified the last two RR projectiles.
...
These are particularly messy - they have different looks depending on the shooter...
2022-12-11 19:43:49 +01:00
Christoph Oelckers
403141807f
- scriptified all simple and explosive RR projectiles.
2022-12-11 19:43:49 +01:00
Christoph Oelckers
82515e1d76
- scriptified the World Tour's flamethrower#s fireball.
...
Also using a better method to mark the trailing balls than checking the owner.
2022-12-11 19:43:49 +01:00
Christoph Oelckers
26d9511087
- scriptified the octabrain projectile.
2022-12-11 19:43:49 +01:00
Christoph Oelckers
6a83a72f71
- removed some leftover debug code.
2022-12-11 19:43:49 +01:00
Christoph Oelckers
f2df8a162f
- scriptified Duke's spit projectile.
2022-12-11 19:43:49 +01:00
Christoph Oelckers
fcd05e38c9
- scriptified the freezer projectile.
2022-12-11 19:43:49 +01:00
Christoph Oelckers
83080beed4
- added SMALLSMOKE to the spawn list for ZScript.
2022-12-11 19:43:49 +01:00
Christoph Oelckers
f4bc5d6df8
- scriptified Duke's RPG.
2022-12-11 19:43:48 +01:00
Christoph Oelckers
c1545a1eaa
- scriptified the shrink spark.
2022-12-11 19:43:48 +01:00
Christoph Oelckers
a756b71647
- scriptified the firelaser projectile.
...
This also fixes the animation of the RR variant, which used a bad value with '&'.
2022-12-11 19:43:48 +01:00
Christoph Oelckers
44fa420387
- added a few new flags and renamed some sprites.
...
All this is preparations for scriptifying the projectiles.
2022-12-11 19:43:48 +01:00
Christoph Oelckers
15fb7dab35
- virtualized the 'shoot' interface and scriptified the bloodsplats to test it.
...
This calls virtual functions on the actor defaults now to allow writing specific shoot functions for subclasses.
2022-12-11 19:43:48 +01:00
Christoph Oelckers
8a921c98bd
- scriptified ooz.
2022-12-11 19:43:47 +01:00
Christoph Oelckers
9d1384449c
- scriptified the Recon.
2022-12-11 19:43:47 +01:00
Christoph Oelckers
2ab5e63386
- added a few new actor flags.
2022-12-11 19:43:47 +01:00
Christoph Oelckers
7db953e0ea
- scriptified the force sphere.
...
Doesn't seem to be used anywhere, though...
2022-12-11 19:43:47 +01:00
Christoph Oelckers
bbfb811e1e
- simplified PicForName
2022-12-11 19:43:47 +01:00
Christoph Oelckers
6d9a8bfaa5
- scriptified the pool balls.
2022-12-11 19:43:47 +01:00
Christoph Oelckers
1ef61c8588
- exported a bunch of stuff we're going to need soon.
2022-12-11 19:43:47 +01:00
Christoph Oelckers
f138798e26
- scriptified the rat.
2022-12-11 19:43:46 +01:00
Christoph Oelckers
99413651b3
- scriptified the respawn marker.
2022-12-11 19:43:46 +01:00
Christoph Oelckers
b485d7a450
- use isPlayer function where possible.
2022-12-11 19:43:46 +01:00
Christoph Oelckers
dbb7965550
- added two new flags for later use.
2022-12-11 19:43:46 +01:00
Christoph Oelckers
f43dc9d925
- Duke: fixed Jibs animation and scale.
2022-12-11 19:43:46 +01:00
Christoph Oelckers
a6a4e628df
- scriptified RRRA's gambling machines.
...
These were fallout from the generic destructibles because the code to destroy them was removed along with that.
2022-12-11 19:43:46 +01:00
Christoph Oelckers
1d52963d4b
- converted all simple destructible sprites.
...
Ironically the first item I used for testing needed a dedicated class, so here's that, too...
2022-12-11 19:43:46 +01:00
Christoph Oelckers
9e29c3970d
- generic destructibles
2022-12-11 19:43:45 +01:00
Christoph Oelckers
2b7e094019
- fixed: aliases for null textures must still be set.
...
Also added 'listtexturealiases' CCMD for debugging.
2022-12-11 19:43:12 +01:00
Christoph Oelckers
786c335489
- added SFLAG2_NORADIUSPUSH flag.
2022-12-11 18:46:40 +01:00
Christoph Oelckers
93ef4b34d7
- scriptified the guts spawning function.
2022-12-11 18:46:40 +01:00
Christoph Oelckers
f39eaba109
- backported sound volume fix from NBlood.
2022-12-11 18:46:40 +01:00
Christoph Oelckers
3ac8bd02f5
- scriptified the jibs
2022-12-11 18:46:40 +01:00
Christoph Oelckers
1b3f551216
- use a flag for outer space textures.
2022-12-11 18:42:02 +01:00
Christoph Oelckers
006f1b3fdf
- disabled the message for missing sprite set textures.
2022-12-11 18:42:02 +01:00
Christoph Oelckers
c7cdf96a62
- exported two more settings to tile flags.
2022-12-11 18:42:02 +01:00
Christoph Oelckers
67e807de26
- exported the tile flag setters to .def.
2022-12-11 18:42:01 +01:00
Christoph Oelckers
5a2819239c
- moved Duke's tile flags into the tile manager.
...
This is so that .def can access them. Later the other games also might make use of this.
2022-12-11 18:42:01 +01:00
Mitchell Richters
bb1113c251
- Remove the whole angle locking concept, we can just force synchronised input instead which is cleaner.
2022-12-11 18:42:01 +01:00
Mitchell Richters
6c0493868e
- Implement new method for applying scaled angle changes.
...
* This method works more accurately to how an angle change would occur under interpolated circumstances.
2022-12-11 18:42:01 +01:00
Mitchell Richters
5a8612110d
- Process scaled angle adjustments in each game's render function, not from the input function.
...
* Previous config had the potential to call `I_GetInputFrac()` nearly twice in a row, which would have resulted in some hitching.
* Calling from each game's render function avoids the above and means we can start applying scaled angle changes one frame faster.
2022-12-11 18:42:01 +01:00
Mitchell Richters
2a284c73c9
- SW: Remove all remaining angle wrapper usage and the wrappers themselves.
2022-12-11 18:42:00 +01:00
Mitchell Richters
58c1efb8de
- Exhumed: Remove all remaining angle wrapper usage.
2022-12-11 18:42:00 +01:00
Mitchell Richters
dfb55c39ca
- Duke: Remove all remaining angle wrapper usage.
2022-12-11 18:42:00 +01:00
Mitchell Richters
d3bc2f39a4
- Blood: Remove all remaining angle wrapper usage.
2022-12-11 18:42:00 +01:00
Mitchell Richters
1aad5eacfa
- Remove all remaining legacy wrappers.
2022-12-11 18:42:00 +01:00
Mitchell Richters
a7a5d4b946
- Preserve one legacy getter that's needed extensively in Duke.
2022-12-11 18:42:00 +01:00
Mitchell Richters
cca36b8061
- Make legacy weapon drawers in PlayerAngles local to Redneck code, they will eventually go.
2022-12-11 18:42:00 +01:00
Mitchell Richters
318ff64f36
- Allow passing angle through when drawing the generic crosshair.
2022-12-11 18:42:00 +01:00
Mitchell Richters
e972818db5
- Tidy up modern crosshair/weapon offset drawers.
2022-12-11 18:41:59 +01:00
Mitchell Richters
25de63ffb5
- Cleanup of render draw code to use new angle getter.
2022-12-11 18:41:59 +01:00
Mitchell Richters
599a375d67
- Rename DCoreActor::interpolatedangle()
to DCoreActor::interpolatedyaw()
2022-12-11 18:41:59 +01:00
Mitchell Richters
abdeeac205
- Rework PlayerAngles::doViewPitch()
to apply at ticrate like PlayerAngles::doViewYaw()
.
2022-12-11 18:41:59 +01:00
Mitchell Richters
fdcf8bbe2f
- Reorder variables in getscaledangle()
.
2022-12-11 18:41:59 +01:00
Mitchell Richters
f9aeee5b4a
- Split out view angle stuff out of PlayerAngles::applyYaw()
into PlayerAngles::doViewYaw()
.
...
* Do all the view angle stuff as interpolated changes in the playsim as well, there's no need for these to be done at ticrate.
2022-12-11 18:41:59 +01:00
Mitchell Richters
2b9e3f804d
- Remove wrapper usage within gameinput.cpp.
2022-12-11 18:41:59 +01:00
Mitchell Richters
d7d76d5fc4
- Move all PlayerAngles view angle properties into new DRotator objects.
2022-12-11 18:41:58 +01:00
Mitchell Richters
175b182805
- Invert rotscrnang
so it rolls forward, consistent with all other angles.
2022-12-11 18:41:58 +01:00
Mitchell Richters
bef4536c1f
- Remove old PlayerAngles
backup/restore methods.
2022-12-11 18:41:58 +01:00
Mitchell Richters
630c10856e
- Re-write PlayerAngles
scaled adjustment methods.
2022-12-11 18:41:58 +01:00
Mitchell Richters
aa868232c8
- Clean up all previously annotated angle/yaw checks.
2022-12-11 18:41:58 +01:00
Mitchell Richters
01d9877c8c
- Blood: Repair synchronised input interpolation issues following changes.
2022-12-11 18:41:58 +01:00
Mitchell Richters
24ec58f4e6
- Change wrapper internals for previous yaw to the actor's sprite DRotator and make sure all the games load a level.
2022-12-11 18:41:57 +01:00
Mitchell Richters
a84e09048e
- Change wrapper internals for current yaw to the actor's sprite DRotator and make sure all the games load a level.
2022-12-11 18:41:57 +01:00
Mitchell Richters
16a48cba17
- Change wrapper internals for previous pitch to the actor's sprite DRotator and make sure all the games load a level.
2022-12-11 18:41:57 +01:00
Mitchell Richters
7f5b97a0b7
- Change wrapper internals for current pitch to the actor's sprite DRotator and make sure all the games load a level.
2022-12-11 18:41:57 +01:00
Mitchell Richters
850c988dfa
- Wrap access to previous yaw.
2022-12-11 18:41:57 +01:00
Mitchell Richters
be466fec8d
- Wrap access to current yaw.
2022-12-11 18:41:57 +01:00
Mitchell Richters
fd05d320ff
- Wrap access to previous pitch.
2022-12-11 18:41:56 +01:00
Mitchell Richters
15f1d89855
- Wrap access to current pitch.
2022-12-11 18:41:56 +01:00
Mitchell Richters
60a97f781e
- Add DCoreActor
pointer as PlayerAngles::pActor
, setting and nulling where the player's actor is set.
2022-12-11 18:41:56 +01:00
Mitchell Richters
b9f5bb71cc
- Merge PlayerHorizon
and PlayerAngle
structs into PlayerAngles
struct.
2022-12-11 18:41:56 +01:00
Mitchell Richters
d75ac9e445
- Rename PlayerAngle
prototypes in preparation for replacement work.
2022-12-11 18:41:56 +01:00
Mitchell Richters
9b6f01dff0
- Rename PlayerAngle
private members in preparation for replacement work.
2022-12-11 18:41:56 +01:00
Mitchell Richters
353c2a20fd
- Rename remaining PlayerAngle
methods.
2022-12-11 18:41:55 +01:00
Mitchell Richters
f305fbb370
- Rename PlayerAngle
getters in preparation for replacement work.
2022-12-11 18:41:55 +01:00
Mitchell Richters
a061f2baef
- Rename PlayerAngle::spin
to its destined final name.
2022-12-11 18:41:55 +01:00
Mitchell Richters
a42750f37f
- Rename PlayerAngle::orotscrnang
in preparation for replacement work.
2022-12-11 18:41:55 +01:00
Mitchell Richters
7d34288290
- Rename PlayerAngle::rotscrnang
in preparation for replacement work.
2022-12-11 18:41:55 +01:00
Mitchell Richters
3a0ec29c18
- Rename PlayerAngle::olook_ang
in preparation for replacement work.
2022-12-11 18:41:55 +01:00
Mitchell Richters
644cf82238
- Rename PlayerAngle::look_ang
in preparation for replacement work.
2022-12-11 18:41:55 +01:00
Mitchell Richters
50cf22ec53
- Rename PlayerAngle::oang
in preparation for replacement work.
2022-12-11 18:41:55 +01:00
Mitchell Richters
bd063de5f5
- Rename PlayerAngle::ang
in preparation for replacement work.
2022-12-11 18:41:54 +01:00
Mitchell Richters
d810afa2e9
- Rename PlayerHorizon
prototypes in preparation for replacement work.
2022-12-11 18:41:54 +01:00
Mitchell Richters
b38f9a8779
- Rename PlayerHorizon
private members in preparation for replacement work.
2022-12-11 18:41:54 +01:00
Mitchell Richters
9ab8db04db
- Rename remaining PlayerHorizon
methods.
2022-12-11 18:41:54 +01:00
Mitchell Richters
3758d93ad8
- Rename PlayerHorizon
getters in preparation for replacement work.
2022-12-11 18:41:54 +01:00
Mitchell Richters
723631cc81
- Rename PlayerHorizon::ohorizoff
in preparation for replacement work.
2022-12-11 18:41:54 +01:00
Mitchell Richters
216fad7e18
- Rename PlayerHorizon::horizoff
in preparation for replacement work.
2022-12-11 18:41:53 +01:00
Mitchell Richters
0c53990c87
- Rename PlayerHorizon::ohoriz
in preparation for replacement work.
2022-12-11 18:41:53 +01:00
Mitchell Richters
401a829d54
- Rename PlayerHorizon::horiz
in preparation for replacement work.
2022-12-11 18:41:53 +01:00
Mitchell Richters
f027d07ae5
- Annotate all player angles that are being set as the sprite angles to review later.
...
* Once the angles between player and sprite have been unified, these will be much harder to identify.
2022-12-11 18:41:53 +01:00
Mitchell Richters
110cc5149d
- Annotate all sprite angles that are being set as the player angle to review later.
...
* Once the angles between player and sprite have been unified, these will be much harder to identify.
2022-12-11 18:41:53 +01:00
Mitchell Richters
901000bee5
- Change DCoreActor::oang
to a DRotator named PrevAngles
.
2022-12-11 18:41:53 +01:00
Mitchell Richters
2e0b9490e1
- Change spritetypebase::angle
to a DRotator named Angles
.
...
* Major pre-requisite for the next steps I'm undertaking, let's get it into the branch now.
2022-12-11 18:41:52 +01:00
Christoph Oelckers
347d725ba0
- Duke: gave all switch animation phases proper texture names.
2022-12-11 18:41:52 +01:00
Christoph Oelckers
10c552fb66
- did a bit of optimization on FGameTexture.
...
Since all material layers except the brightmaps are relatively rare encounters these were taken out of the main texture object and offloaded to a substructure that is only allocated on demand.
2022-12-11 18:41:52 +01:00
Christoph Oelckers
52e5e2f59a
- use a sepate file system filter for 'duke-like' games, i.e. Duke, NAM and WW2GI combined.
...
These 3 all require the same SNDINFO being loaded.
2022-12-11 18:41:52 +01:00
Christoph Oelckers
797c122363
fixed the sound controller's sound selection.
...
In this case the game-side resource ID was silently cast to a sound ID but it needs explicit conversion.
2022-12-11 18:41:52 +01:00
Christoph Oelckers
c60fea678d
- replace the homegrown hash chain in the sound engine with a TMap.
2022-12-11 18:41:52 +01:00
Christoph Oelckers
a825dfb8ca
- Duke sound is working again.
2022-12-11 18:41:52 +01:00
Christoph Oelckers
f103e33300
- fixed code up to the point where everything compiles again. Duke sounds are currently non-functional.
...
All Duke script code has been changed to use strings as sound names now, just like GZDoom these will be looked up at compile time.
Original Duke sound indices still exist but are now being managed as resource IDs, not sound engine indices anymore.
2022-12-11 18:41:51 +01:00
Christoph Oelckers
4983f8e671
wipstuff
2022-12-11 18:41:51 +01:00
Mitchell Richters
a5e35637ac
- Duke: Remove 2x player sprite Z setters that shouldn't be necessary.
2022-12-11 18:41:51 +01:00
Mitchell Richters
4848a844af
- Duke: Use getPosWithOffsetZ()
in a few places.
2022-12-11 18:41:51 +01:00
Mitchell Richters
4a6e2683f2
- Duke/RR: Properly fix movement()
so the player's Z always makes it back to floorz.
...
* The `abs(k)` here was really messing it up.
* RR's height of 40 is actually a fix of Duke's 38, which left the player slightly off the ground.
* Duke when returning from crouching, jumping, or otherwise changing the Z always correctly ends up at the floor's Z now.
2022-12-11 18:41:51 +01:00
Mitchell Richters
7e6bc02d45
- Make stat coord
show full floating point values.
2022-12-11 18:41:51 +01:00
Mitchell Richters
597b291252
- Blood: Fix gi->WarpToCoords()
that messed up the Z.
2022-12-11 18:41:51 +01:00
Mitchell Richters
e991116abf
- SW: Take full advantage of our floating point work for the wall blood drips.
2022-12-11 18:41:50 +01:00
Christoph Oelckers
1ac4aee0c1
- RR cactus stuff
2022-12-11 18:41:50 +01:00
Christoph Oelckers
c48dfc082f
- scriptified RR's lumber blade.
2022-12-11 18:41:50 +01:00
Christoph Oelckers
7188956702
- minor cleanup.
2022-12-11 18:41:50 +01:00
Christoph Oelckers
76fabcd1c7
- chickenplant scriptified.
2022-12-11 18:41:50 +01:00
Mitchell Richters
397acfa242
- Blood: Migrate to new actor viewzoffset
property (sort of).
...
* The way this game does it player Z in a distinct variable needs to be maintained as it's impossible to maintain proper Z velocities when trying to do without it.
2022-12-11 18:41:50 +01:00
Mitchell Richters
13be5f7923
- Exhumed: Migrate to new actor viewzoffset
property.
2022-12-11 18:41:50 +01:00
Mitchell Richters
e3f6b5ff85
- SW: Clean up a useless test function.
2022-12-11 18:41:50 +01:00
Mitchell Richters
c43bde9b4d
- SW: Remove all the player oldpos
stuff.
...
* This only had one valid use, for a bad setup in `DoPlayerRun()` where `DoPlayerBob()` was called before `DoPlayerMove()`.
2022-12-11 18:41:49 +01:00
Mitchell Richters
703db0e3c3
- SW: Remove PLAYER::posGet()
.
2022-12-11 18:41:49 +01:00
Mitchell Richters
be06582062
- SW: Remove PLAYER::posAdd()
.
2022-12-11 18:41:49 +01:00
Mitchell Richters
7eba7aacbd
- SW: Remove last PLAYER::posSet()
calls.
2022-12-11 18:41:49 +01:00
Mitchell Richters
bf0f0345b3
- SW: Remove most PLAYER::posSet()
calls.
2022-12-11 18:41:49 +01:00
Mitchell Richters
0917434888
- SW: Remove PLAYER::posXY()
.
2022-12-11 18:41:49 +01:00
Mitchell Richters
ff75fa513a
- SW: Remove PLAYER::posZadd()
.
2022-12-11 18:41:48 +01:00
Mitchell Richters
3b961ccae9
- SW: Remove PLAYER::posZget()
.
...
- SW: Remove `PLAYER::posZget()`.
2022-12-11 18:41:48 +01:00
Mitchell Richters
fe795e6cfb
- SW: Remove PLAYER::posZset()
in favour of new utilities.
2022-12-11 18:41:48 +01:00
Mitchell Richters
f18512e270
- SW: Ladder fixes where centering of player was effectively occurring twice.
2022-12-11 18:41:48 +01:00
Mitchell Richters
7624f8b77d
- SW: Death sequence fixes.
2022-12-11 18:41:48 +01:00
Mitchell Richters
88bace9dd7
- SW: Slightly increase the range check in DoPlayerDeathHoriz()
.
2022-12-11 18:41:48 +01:00
Mitchell Richters
61086d7a8b
- SW: Don't bob the actual sprite's Z since we apply it as an offset in the draw code.
2022-12-11 18:41:48 +01:00
Mitchell Richters
e6044bc0fd
- SW: Repair player height issues.
2022-12-11 18:41:48 +01:00
Mitchell Richters
6d736aea19
- SW: Swap out the internals of the player's pos methods and get the game going again.
...
* Leave `PLAYER::PlayerOldPosition` for now.
2022-12-11 18:41:47 +01:00
Mitchell Richters
c14d1587f0
- SW: Move PLAYER
struct underneath include for swactor.h
.
...
* Needed by the next commit since the forward declaration isn't working.
2022-12-11 18:41:47 +01:00
Mitchell Richters
97a07cd83c
- SW: Wrap remaining calls to PLAYER::PlayerOldPosition
.
2022-12-11 18:41:47 +01:00
Mitchell Richters
9ab5fd0801
- SW: Wrap calls to PLAYER::PlayerOldPosition.XY()
.
2022-12-11 18:41:47 +01:00
Mitchell Richters
f711355f2f
- SW: Wrap calls that get PLAYER::PlayerPrevPosition
.
2022-12-11 18:41:47 +01:00
Mitchell Richters
ad7a626b92
- SW: Wrap calls that set PLAYER::PlayerPrevPosition
.
2022-12-11 18:41:47 +01:00
Mitchell Richters
2d351b2c28
- SW: Wrap calls that set PLAYER::PlayerPrevPosition.Z
.
2022-12-11 18:41:47 +01:00
Mitchell Richters
bf833fcfa3
- SW: Wrap calls to PLAYER::PlayerPrevPosition.XY()
.
2022-12-11 18:41:47 +01:00
Mitchell Richters
82e0e25b7e
- SW: Manual fixes to last commit I wanted to keep separate.
2022-12-11 18:41:46 +01:00
Mitchell Richters
a54d0f7639
- SW: Wrap calls that get PLAYER::PlayerNowPosition
.
2022-12-11 18:41:46 +01:00
Mitchell Richters
964557ab6b
- SW: Wrap calls that add to PLAYER::PlayerNowPosition
.
2022-12-11 18:41:46 +01:00
Mitchell Richters
11f9d82239
- SW: Wrap calls that set PLAYER::PlayerNowPosition
.
2022-12-11 18:41:46 +01:00
Mitchell Richters
4bf202bee4
- SW: Wrap calls that get PLAYER::PlayerNowPosition.Z
.
2022-12-11 18:41:46 +01:00
Mitchell Richters
4e0aa1add1
- SW: Wrap calls that add/subtract PLAYER::PlayerNowPosition.Z
.
2022-12-11 18:41:46 +01:00
Mitchell Richters
6226d302f5
- SW: Wrap calls that set PLAYER::PlayerNowPosition.Z
.
2022-12-11 18:41:46 +01:00
Mitchell Richters
7757288d33
- SW: Tidy up one vector equality test.
2022-12-11 18:41:45 +01:00
Mitchell Richters
7d0b2fba69
- SW: Wrap calls to PLAYER::PlayerNowPosition.XY()
.
2022-12-11 18:41:45 +01:00
Mitchell Richters
f0074a913e
- SW: Rename Player::oldpos
to Player::PlayerOldPosition
to make it easier to search upon.
2022-12-11 18:41:45 +01:00
Mitchell Richters
bf10d9816f
- SW: Rename Player::opos
to Player::PlayerPrevPosition
to make it easier to search upon.
2022-12-11 18:41:45 +01:00
Mitchell Richters
cf25884675
- SW: Rename Player::pos
to Player::PlayerNowPosition
to make it easier to search upon.
2022-12-11 18:41:45 +01:00
Mitchell Richters
e55412f240
- Remove DCoreActor::ZeroVelocity()
.
2022-12-11 18:41:45 +01:00
Mitchell Richters
39d1a758ed
- Remove DCoreActor::ZeroVelocityXY()
.
2022-12-11 18:41:44 +01:00
Mitchell Richters
7dd5cdb86c
- Get rid of 2x unnecessary scope change calls on interpolatedvalue()
calls.
2022-12-11 18:41:44 +01:00
Mitchell Richters
4de1b8ad86
- Create DCoreActor::getRenderPos()
and use within Duke.
2022-12-11 18:41:44 +01:00
Mitchell Richters
d1c5f9516f
- Duke: Remove player_struct::posoldAdd()
and player_struct::posoldGet()
.
2022-12-11 18:41:44 +01:00
Mitchell Richters
f10f1b9154
- Duke: Remove player_struct::posoldZset()
and player_struct::posoldZget()
.
2022-12-11 18:41:44 +01:00
Mitchell Richters
66a08a26e8
- Duke: Remove player_struct::posoldX()
, player_struct::posoldY()
, and player_struct::posoldXY()
.
2022-12-11 18:41:44 +01:00
Mitchell Richters
4551274e7d
- Duke: Remove player_struct::posSet()
.
2022-12-11 18:41:44 +01:00
Mitchell Richters
a1e68f88a5
- Duke: Remove player_struct::posAdd()
.
2022-12-11 18:41:44 +01:00
Mitchell Richters
27be72c7ec
- Duke: Remove player_struct::posGet()
.
2022-12-11 18:41:43 +01:00
Mitchell Richters
b42672dcf9
- Duke: Remove player_struct::posZget()
.
2022-12-11 18:41:43 +01:00
Mitchell Richters
bd8a6dd956
- Duke: Remove player_struct::posZadd()
.
2022-12-11 18:41:43 +01:00
Mitchell Richters
78b04649f1
- Duke: Remove player_struct::posZset()
.
2022-12-11 18:41:43 +01:00
Mitchell Richters
92dd6c9795
- Duke: Remove player_struct::posXY()
.
2022-12-11 18:41:43 +01:00
Mitchell Richters
6f102e1171
- Duke: Remove player_struct::posX()
and player_struct::posY()
.
2022-12-11 18:41:43 +01:00
Mitchell Richters
b1bd59db41
- Duke: Clean up all player position calls referencing gs.playerheight
that don't need it when using the sprite height.
2022-12-11 18:41:42 +01:00
Mitchell Richters
29f2212d8f
- Duke: Remove player_struct::backupz()
in lieu of actor variant.
2022-12-11 18:41:42 +01:00
Mitchell Richters
a8c923f05c
- Duke: Remove player_struct::backupxy()
in lieu of actor variant.
2022-12-11 18:41:42 +01:00
Mitchell Richters
6eeedbd38a
- Duke: Move player_struct::restorexyz()
to DCoreActor::restorepos()
.
2022-12-11 18:41:42 +01:00
Mitchell Richters
a78d976352
- Duke: Remove player_struct::backupxyz()
in lieu of actor variant.
2022-12-11 18:41:42 +01:00
Mitchell Richters
4e4e457cfe
- Duke: Fix doanimations()
following position change to sprite.
2022-12-11 18:41:42 +01:00
Mitchell Richters
6d1370dcab
- Duke: Fix a few more sector effector after position change to sprite.
2022-12-11 18:41:42 +01:00
Mitchell Richters
4a9775fde7
- Duke: Fix SE17 elevators after change to player position internals.
2022-12-11 18:41:41 +01:00
Christoph Oelckers
bfa7fddcea
- always set the sound listener position to something valid.
...
Otherwise OpenAL throws lots of warning messages.
2022-12-11 18:41:41 +01:00
Mitchell Richters
dd5834444e
- Duke: Swap out the internals of the player's pos methods and get the game going again.
2022-12-11 18:41:41 +01:00
Mitchell Richters
202137ed69
- Duke: Fix interpolation issues with player's XY coordinates while drawing using the sprite.
2022-12-11 18:41:41 +01:00
Mitchell Richters
9972c65842
- Duke: Back up all sprites as soon as possible.
...
* The player's input is processed before the sprites were backed up, causing interpolation issues with the player's Z.
2022-12-11 18:41:41 +01:00
Mitchell Richters
abd6275f17
- Add new double DCoreActor::viewzoffset
set in spawning code during level loads.
...
* Interpolated backup copy isn't needed for Duke, but will be for SW.
2022-12-11 18:41:41 +01:00
Mitchell Richters
b0c95f69c5
- Duke: Wrap calls that get player_struct::PlayerOldPosition
.
2022-12-11 18:41:41 +01:00
Mitchell Richters
1962d85f99
- Duke: Wrap calls that subtract from player_struct::PlayerOldPosition
.
2022-12-11 18:41:40 +01:00
Mitchell Richters
fffc1915a9
- Duke: Wrap calls that add to player_struct::PlayerOldPosition
.
2022-12-11 18:41:40 +01:00
Mitchell Richters
e4dd69f5b0
- Duke: Wrap calls that get player_struct::PlayerOldPosition.Z
.
2022-12-11 18:41:40 +01:00
Mitchell Richters
830480b8b9
- Duke: Wrap calls that set player_struct::PlayerOldPosition.Z
.
2022-12-11 18:41:40 +01:00
Mitchell Richters
4027f7256d
- Duke: Wrap calls to player_struct::PlayerOldPosition.Y
.
2022-12-11 18:41:40 +01:00
Mitchell Richters
823c5a7a47
- Duke: Wrap calls to player_struct::PlayerOldPosition.X
.
2022-12-11 18:41:40 +01:00
Mitchell Richters
fa16d5d344
- Duke: Wrap calls to player_struct::PlayerOldPosition.XY()
.
2022-12-11 18:41:40 +01:00
Mitchell Richters
a3b1ab10fe
- Duke: Wrap calls that get player_struct::PlayerNowPosition
.
2022-12-11 18:41:39 +01:00
Mitchell Richters
e9dcffc5ec
- Duke: Route all clipmove()
/pushmove()
calls through a new interface that accepts a separated Z coordinate.
2022-12-11 18:41:39 +01:00
Mitchell Richters
a6a4cefa6c
- Duke: Wrap calls that add to player_struct::PlayerNowPosition
.
...
* The only adds were from DVector2 objects.
2022-12-11 18:41:39 +01:00
Mitchell Richters
58381c6eca
- Duke: Wrap calls that set player_struct::PlayerNowPosition
.
2022-12-11 18:41:39 +01:00
Mitchell Richters
25e6c4ecf8
- Duke: Wrap calls that get player_struct::PlayerNowPosition.Z
.
2022-12-11 18:41:39 +01:00
Mitchell Richters
adc78c81c6
- Duke: Wrap calls that subtract from player_struct::PlayerNowPosition.Z
.
2022-12-11 18:41:39 +01:00
Mitchell Richters
44166ae9e6
- Duke: Wrap calls that add to player_struct::PlayerNowPosition.Z
.
2022-12-11 18:41:39 +01:00
Mitchell Richters
93189037c3
- Duke: Wrap calls that set player_struct::PlayerNowPosition.Z
.
2022-12-11 18:41:38 +01:00
Mitchell Richters
008c05710b
- Duke: Wrap calls to player_struct::PlayerNowPosition.Y
.
2022-12-11 18:41:38 +01:00
Mitchell Richters
3a07c05af7
- Duke: Wrap calls to player_struct::PlayerNowPosition.X
.
2022-12-11 18:41:38 +01:00
Mitchell Richters
5d3878eb55
- Duke: Wrap calls to player_struct::PlayerNowPosition.XY()
.
2022-12-11 18:41:38 +01:00
Mitchell Richters
4b7d2fcfcc
- Duke: Rename player's opos to something identifiable.
2022-12-11 18:41:38 +01:00
Mitchell Richters
4aa63b5446
- Duke: Rename player's pos to something identifiable.
2022-12-11 18:41:38 +01:00
Mitchell Richters
59e8821332
- Use the interpolated sine table for tangent instead of Cephis math in TAngle<T>
.
...
* Performed testing and it's ~6.5x faster this way.
2022-12-11 18:41:38 +01:00
Mitchell Richters
17914db418
- SW: Utilise new weapon drawing offsets from the backend.
2022-12-11 18:41:38 +01:00
Mitchell Richters
f524abdf47
- Blood: Utilise new weapon drawing offsets from the backend.
2022-12-11 18:41:37 +01:00
Christoph Oelckers
0741570ba9
- we're past 1.6 now.
2022-12-11 18:31:07 +01:00
Christoph Oelckers
9cd1e9adb1
- updated Vulkan backend to use ZVulkan.
2022-12-11 18:30:01 +01:00
Christoph Oelckers
fbf5cdc18f
- pulled in the ZScript map fixes from GZDoom.
2022-12-11 16:38:20 +01:00
Christoph Oelckers
e412a34f4e
- bump savegame version.
2022-12-11 16:31:00 +01:00
Kevin Caccamo
b1c0614d93
Attempt to fix #647
...
I'm guessing the `nWalls < -1` is a typo, and it should have been `nWalls <= -1` all along. I decided to write `nWalls < 0` instead.
I don't know if I broke anything with this commit, but hopefully everything else still works as intended.
2022-12-11 16:26:25 +01:00
Mitchell Richters
64e53ffc7e
Revert "- Duke: Invert the horizon offset in displayweapon_d()
as it makes more sense."
...
This reverts commit 2d2f628b95
.
This made sense for things such as cracking knuckles on idle as if you're looking up, the Y should drop down, however the setup of other areas such as `animateknee()` depend on the pitch being inverted like this.
2022-12-11 20:01:41 +11:00
Mitchell Richters
4bf8ea140c
- Fix IWADBoxCallback()
and MENUDEF setup for GLES backend.
2022-12-11 19:45:07 +11:00
Mitchell Richters
c762505b02
- Use the game's display name for defaultiwad
, not the filename.
...
* Add-ons don't have a FileName entry, but everything has a display name therefore all bases are covered.
* Fixes #616 .
2022-12-11 17:02:36 +11:00
Mitchell Richters
33975a083f
- Draw crosshair at 1:1 scale when crosshairscale
is 0, just like GZDoom.
...
* Fixes #767 .
2022-12-11 16:16:16 +11:00
Christoph Oelckers
7d82ae28f4
- Duke/RR: fixed: animates array must be cleared on map change.
...
There was also some undefined behavior when an entry was deleted, this seems to originate from the original code.
2022-12-10 10:20:01 +01:00
Mitchell Richters
dc41057984
- In SetupGame()
, test userConfig.DefaultCon
before userConfig.gamegrp
so addons work properly.
2022-12-10 10:48:34 +11:00
Mitchell Richters
25460e8e98
- Fix change to constant in last commit.
...
* How did that little `3` not make it in...
2022-12-09 20:00:37 +11:00
Mitchell Richters
2a82ef85b8
- Minor optimisation to the return to centre code.
2022-12-09 18:00:56 +11:00
Mitchell Richters
92bf00d3e9
- Fix incorrect sector usage in calcviewpitch()
.
2022-12-09 17:48:26 +11:00