Commit graph

172 commits

Author SHA1 Message Date
Mitchell Richters
71fb91940d Revert "- Simplify PlayerHorizon::settarget() by adding a dedicated angle setter that resets interpolated value as well."
This reverts commit 0416834d9d.

Revert "- Simplify `PlayerAngle::settarget()` by adding a dedicated angle setter that resets interpolated value as well."

This reverts commit 5a550613f3.

Revert "- Add bool `lock` to `PlayerHorizon::settarget()` when setting target from the ticker without having to call setters and resetters."

This reverts commit 18541d1ab4.

Revert "- Add bool `lock` to `PlayerAngle::settarget()` when setting target from the ticker without having to call setters and resetters."

This reverts commit 1ac58dc41c.

* We need to ensure only the ticker can unlock the player's input if it's telling us to lock the input.
2022-06-06 18:41:45 +10:00
Mitchell Richters
5a550613f3 - Simplify PlayerAngle::settarget() by adding a dedicated angle setter that resets interpolated value as well. 2022-05-30 21:22:10 +10:00
Mitchell Richters
0416834d9d - Simplify PlayerHorizon::settarget() by adding a dedicated angle setter that resets interpolated value as well. 2022-05-30 21:21:52 +10:00
Mitchell Richters
7282e0d8bf - Remove multiple addadjustment()/settarget() overloads in favour of native binangle/fixedhoriz versions only.
* Simplifies these classes a bit.
* Better shows intent in actual game code.
* Removes unnecessary int to double conversions.
2022-05-30 20:35:41 +10:00
Christoph Oelckers
aab13addb7 -renamed spritetype’s owner field to ‚intowner‘
Mainly for easier searching.
Also remove the duplicate ‚detail‘ field.
2022-05-24 00:30:41 +02:00
Christoph Oelckers
892c361449 - avoid pointer arithmetic in feebtag. 2022-02-19 10:11:12 +01:00
Christoph Oelckers
a23124a201 - Exhumed: fixed check for bad ending cutscene. 2022-01-22 23:11:34 +01:00
Christoph Oelckers
9c07f05f0f - Exhumed: clear all pointers in the player struct when starting a level. 2022-01-04 12:42:45 +01:00
Christoph Oelckers
5498699faf - use DCoreActor::sector() wherever possible. 2021-12-30 16:51:56 +01:00
Mitchell Richters
8f468607ff - Exhumed: Replace Player velocity and damage variables with vectors. 2021-12-31 00:19:33 +11:00
Mitchell Richters
9bbb54fe2e - Replace every line that just contains spaces or tabs with an empty line feed in all files except 3rd party libraries. 2021-12-30 20:30:21 +11:00
Christoph Oelckers
de3e66016c - removed the Actor() access method from Exhumed's player as well. 2021-12-30 09:58:06 +01:00
Mitchell Richters
95d270fbdd - Exhumed: Clean up local functions variables to prevent redefinition conflicts. 2021-12-30 09:57:31 +01:00
Christoph Oelckers
fd78cb57c1 - fixed some bad flag replacements.
0x7fff is not ~CSTAT_SPRITE_BLOCK but ~CSTAT_SPRITE_INVISIBLE.
2021-12-30 09:57:29 +01:00
Christoph Oelckers
4610fc6e99 - remaining s() in player.cpp. 2021-12-30 09:57:27 +01:00
Christoph Oelckers
b641da3959 - Exhumed: pActor->s() in player.cpp and view.cpp. 2021-12-30 09:57:25 +01:00
Mitchell Richters
baf78848eb - Replace spritetypebase z with pos.Z calls and eliminate spritetypebase pos union. 2021-12-30 09:57:06 +01:00
Mitchell Richters
cecb8dc48e - Replace spritetypebase y with pos.Y calls. 2021-12-30 09:57:05 +01:00
Mitchell Richters
33ca55023f - Replace spritetypebase x with pos.X calls. 2021-12-30 09:57:05 +01:00
Mitchell Richters
68e2691be7 - Capitalise vec3_t y variable. 2021-12-30 09:57:03 +01:00
Mitchell Richters
c549cc5276 - Capitalise vec3_t x variable. 2021-12-30 09:57:02 +01:00
Christoph Oelckers
d9d05e90b5 - globally replaced all occurences of '->s().' with '->spr.' 2021-12-30 09:57:00 +01:00
Christoph Oelckers
988a91904a - a large of Exhumed flags, most search& replace plus a few local variable types. 2021-12-30 09:56:49 +01:00
Christoph Oelckers
8d0013128e - Exhumed: use symbolic constant CSTAT_SPRITE_INVISIBLE 2021-12-30 09:56:45 +01:00
Christoph Oelckers
6a43a270fa - use sectno() access function where we really need a sector index. 2021-12-26 23:10:01 +01:00
Christoph Oelckers
8dde6a3074 - Added GC support to Exhumed 2021-12-26 23:09:59 +01:00
Christoph Oelckers
a22634f228 - sectnum reduction. 2021-12-26 23:09:47 +01:00
Christoph Oelckers
b7a5ea8ef6 - moved some common utilities into the backend. 2021-12-26 23:09:44 +01:00
Christoph Oelckers
729076b79d - adapted neartag in SW and Exhumed. 2021-12-26 23:09:42 +01:00
Christoph Oelckers
91e2391911 - adapted neartag in Duke. 2021-12-26 23:09:42 +01:00
Christoph Oelckers
b3bbf8932e - same procedure for Exhumed. 2021-12-26 23:08:58 +01:00
Christoph Oelckers
b1b7608cf7 - most remaining sectnum references. 2021-12-25 21:29:04 +01:00
Christoph Oelckers
2027c6ebaf - the last sector[] 2021-12-25 21:29:04 +01:00
Christoph Oelckers
80f80ed5e5 - initsect 2021-12-25 21:29:03 +01:00
Christoph Oelckers
f09e7ed32f - spawn functions. 2021-12-25 21:29:03 +01:00
Christoph Oelckers
a3f1821670 - nPlayerViewSect 2021-12-25 21:29:03 +01:00
Christoph Oelckers
b191bca49e - BuildAnim 2021-12-25 21:29:01 +01:00
Christoph Oelckers
2394420f48 - quick replacements 2021-12-25 21:29:01 +01:00
Christoph Oelckers
109ff8c3cb - Above and Below 2021-12-25 21:29:01 +01:00
Christoph Oelckers
78d9b78193 - most of the rest of the walls. 2021-12-25 21:29:00 +01:00
Christoph Oelckers
5374dafb56 - switches 2021-12-25 21:29:00 +01:00
Christoph Oelckers
cdef530597 - PlayerPushSect 2021-12-25 21:29:00 +01:00
Christoph Oelckers
5e01841f1e - MoveSector et.al. 2021-12-25 21:29:00 +01:00
Christoph Oelckers
dfbb5192fb - addFlash at.al. 2021-12-25 21:28:59 +01:00
Christoph Oelckers
e179b9332d - all shorts reviewed.
Should be all clear now - the biggest limiter in Exhumed is the run list with ~25000 entries which may need more work if it is to be extended.
2021-12-25 21:28:53 +01:00
Christoph Oelckers
83a928adde - next 100 shorts reviewed.
seq.cpp/seq.h was just renamed to int16_t.
2021-12-25 21:28:52 +01:00
Christoph Oelckers
d73c7aa543 - short review and disasm variable renaming
(down to 200 shorts)
2021-12-25 21:28:52 +01:00
Christoph Oelckers
1790ced1f8 - Exhumed: renamed disassembly fields in player struct. 2021-12-25 21:28:52 +01:00
Christoph Oelckers
30b42d24a0 - Exhumed short review
(down to < 550)
2021-12-25 21:28:52 +01:00
Christoph Oelckers
a21f6b6240 - migrated Exhumed's sector extensions to the actual struct. 2021-12-25 21:28:49 +01:00
Christoph Oelckers
7daa501a4d - removed all #include "compat.h" except the one in build.h
Still all compiles fine.
2021-12-14 12:24:10 +01:00
Christoph Oelckers
4f493d3de1 - Exhumed: made all nPlayer variables ints
This looks safe
2021-11-29 00:55:43 +01:00
Christoph Oelckers
d63b6cda37 - exhumed: made all nAngle variables full ints 2021-11-29 00:55:42 +01:00
Christoph Oelckers
01abe7b2ac - addressed most unused/uninitialized variable warnings from MSVC. 2021-11-29 00:55:30 +01:00
Christoph Oelckers
9b52b3b451 - made all nSector variables full ints.
This already takes care of most sector[] accesses in Exhumed
2021-11-09 17:27:54 +01:00
Christoph Oelckers
366df9d4b6 - Exhumed: use the sprite's sector() member where possible. 2021-11-09 00:26:46 +01:00
Christoph Oelckers
2d91786516 - changed all sector variables being passed to pushmove to full ints 2021-11-08 23:18:40 +01:00
Christoph Oelckers
3811147f70 - use proper clipmove variant in Blood and Exhumed
This merely extends some shorts to full ints to match the desired parameter's size.
2021-11-08 23:11:30 +01:00
Christoph Oelckers
afec39aded - reworked non-functional anim detection when picking up an item.
This would not unregister the item's run list entries because the logic was insufficient.
2021-11-08 01:13:54 +01:00
Mitch Richters
bdbe57a6b6 - Exhumed: Replace use of pushmove_old() inline wrapper with pushmove(). 2021-10-30 17:30:02 +02:00
Mitch Richters
0ac63fd663 - Exhumed: Replace use of clipmove_old() inline wrapper with clipmove(). 2021-10-30 17:30:01 +02:00
Christoph Oelckers
57b638f26f - use std::clamp instead of our homegrown version. 2021-10-30 10:35:00 +02:00
Mitch Richters
20d958e0a9 - Exhumed: Don't run through the slopetilting math if the view is locked. 2021-10-30 10:24:14 +02:00
Mitch Richters
738491d9e5 - Exhumed: Repair player look/aim code. 2021-10-30 10:24:14 +02:00
Christoph Oelckers
91ecda2fcb - cleaned up the run list interface.
Due to serialization concerns it still isn't optimal, though, because we cannot get rid of the index table yet.
2021-10-28 18:57:50 +02:00
Christoph Oelckers
791240786d - use a wrapper function to check for the radial damage event. 2021-10-28 18:43:54 +02:00
Christoph Oelckers
7a65cc46d0 - moved AI wrappers out of the main sources.
This is mainly to reduce commit noise for what follows. These functions will soon be deleted.
2021-10-28 18:39:49 +02:00
Christoph Oelckers
3842936012 - feebtag. 2021-10-28 14:25:28 +02:00
Christoph Oelckers
07ad50d97c - sound API 2021-10-28 14:23:31 +02:00
Christoph Oelckers
4197a7ed84 - BlockInfo 2021-10-28 14:08:53 +02:00
Christoph Oelckers
3a5ea07951 - some smaller changes. 2021-10-28 14:06:36 +02:00
Christoph Oelckers
ee03eb1b3d - movement and elevators. 2021-10-28 13:54:36 +02:00
Christoph Oelckers
9cfd682c9e - eliminated Player::nSprite. 2021-10-28 13:54:09 +02:00
Christoph Oelckers
8e13bb6e35 - RestartPlayer, plus wrapper removal. 2021-10-28 13:43:39 +02:00
Christoph Oelckers
2195bc0b76 - got rid of several inline wrappers. 2021-10-28 10:51:12 +02:00
Christoph Oelckers
2b8893762c - movesprite family mostly done. 2021-10-28 10:46:16 +02:00
Christoph Oelckers
be19dbb2ce - nDoppleSprite 2021-10-28 09:47:29 +02:00
Christoph Oelckers
eae1d589ec - playerFloorSprite 2021-10-28 09:25:13 +02:00
Christoph Oelckers
e6c7e5bc18 - radial stuff. 2021-10-28 08:32:08 +02:00
Christoph Oelckers
11912486de - moved all loose player related arrays into the Player struct. 2021-10-27 20:56:42 +02:00
Christoph Oelckers
ca6724a3f5 - make nNetStartSprite an actor array. 2021-10-27 20:56:42 +02:00
Christoph Oelckers
1591d6fbdb - Regenerates.
MP only so not really relevant - the code looked broken anyway.
2021-10-27 20:56:41 +02:00
Christoph Oelckers
d04d92fd49 - destroyItemAnim, other replacements in AIPlayer::Tick 2021-10-27 20:56:41 +02:00
Christoph Oelckers
587cd09e8e - BuildItemAnim 2021-10-27 20:56:41 +02:00
Christoph Oelckers
f60d20b50a - handle the grenade. 2021-10-27 15:46:18 +02:00
Christoph Oelckers
6d3f9ca0d6 - migrated a few functions to use actors. 2021-10-27 00:24:28 +02:00
Christoph Oelckers
345667f945 - handle the remaining old-style iterators. 2021-10-27 00:18:23 +02:00
Christoph Oelckers
75b8a0579e - elevator stuff. 2021-10-26 22:08:26 +02:00
Christoph Oelckers
5cc1a8934e - refactored Anim to use actors. 2021-10-24 21:50:03 +02:00
Christoph Oelckers
3b0df0e9b4 - renamed fields in Anim to match DExhumedActor. 2021-10-24 20:14:36 +02:00
Christoph Oelckers
a7b71c724e - use the actor variant of BuildAnim wherever trivially doable. 2021-10-24 19:12:06 +02:00
Christoph Oelckers
5a9978a27b - extended the run list to handle actor targets.
Also renamed fields to be more descriptive.
2021-10-17 16:22:25 +02:00
Christoph Oelckers
3419d6a901 - fixed compilation. 2021-10-16 15:36:34 +02:00
Christoph Oelckers
b1d15811c5 - make nBodygunSprite an actor array. 2021-10-16 15:36:33 +02:00
Christoph Oelckers
93b0a35927 - converted FuncPlayer into a class 2021-10-15 22:19:07 +02:00
Christoph Oelckers
b725adc426 - Exhumed: split up the message word for event messages. 2021-10-15 18:49:35 +02:00
Christoph Oelckers
2ee7be0382 - Exhumed: split up the value parameter of the run list. 2021-10-15 18:37:39 +02:00
Christoph Oelckers
6f8a5ee2d2 - Exhumed: replaced a large amount of sprite array accesses with pointers.
No logic changes, this is mainly search & replace.
2021-10-10 11:47:18 +02:00
Christoph Oelckers
d466ea155f - Exhumed: Avoid masking bits into the sector index as well.
# Conflicts:
#	source/games/exhumed/src/player.cpp
2021-09-12 18:28:47 +02:00
Christoph Oelckers
9991e6665c - Exhumed: Avoid masking sound flags into the sprite index.
This put a hard 4096 sprites limit into the engine. It's also a blocker for refactoring.
2021-09-12 18:27:30 +02:00