Commit graph

117 commits

Author SHA1 Message Date
Christoph Oelckers
41e1e9b51c - ifhitbyweapon.
# Conflicts:
#	source/games/duke/src/actors_d.cpp
#	source/games/duke/src/actors_r.cpp
2020-10-31 13:19:26 +01:00
Christoph Oelckers
28d0bc7477 - movecrane interface cleanup. 2020-10-31 13:19:26 +01:00
Christoph Oelckers
08f3e9e722 - variable renaming in movecrane for clarity 2020-10-31 13:19:25 +01:00
Christoph Oelckers
d95131cb4d - actor iterators for movefx and its RRRA subfunction. 2020-10-31 13:19:25 +01:00
Christoph Oelckers
801e94ca54 - renamed variables in movefx for clarity. 2020-10-31 13:19:25 +01:00
Christoph Oelckers
be0880f106 - iterators in movedummyplayers and moveplayers updated. 2020-10-31 13:19:25 +01:00
Christoph Oelckers
cf8da6c6e3 - variable renaming for clarity. 2020-10-31 13:19:25 +01:00
Christoph Oelckers
b03a637e10 - ms function. 2020-10-31 13:19:24 +01:00
Christoph Oelckers
acda4b7799 - fixed Duke's RPG explosion
Fixes #146
2020-10-24 19:44:10 +02:00
Christoph Oelckers
8fd0fe5955 - changed the spriteq to use pointers instead of indices. 2020-10-24 09:40:10 +02:00
Christoph Oelckers
34e39dd221 - pass spawner as an actor pointer to 'lotsofstuff'.
Allows doing this without using sprite indices.
2020-10-24 09:36:35 +02:00
Christoph Oelckers
a5b3681630 - foundation for a better collision info management.
The way this is handled is the main reason why Build maps are size limited, but since it is extremely invasive it needs to be taken out of the game code piece by piece, this is the framework for doing this for Duke.
2020-10-24 09:31:15 +02:00
Christoph Oelckers
87e4c0fa7d - experimented a bit with optimizing the spawn function's use. 2020-10-24 09:05:54 +02:00
Christoph Oelckers
46d90f5d49 - clearcamera and ssp. 2020-10-23 22:37:38 +02:00
Christoph Oelckers
9cdaaff42b - migrated EGS and deletesprite to new actor interface.
Inline wrappers for old code exist.
The backupplayer inline was moved into player.cpp because that's the only place it gets used.
2020-10-21 19:14:41 +02:00
Christoph Oelckers
b8b79b6fa9 - renamed a few things. 2020-10-21 18:42:47 +02:00
Christoph Oelckers
72329eb01b - wackedbyactor, too. 2020-10-21 16:31:18 +02:00
Christoph Oelckers
e94274a543 - holoduke_on is now a pointer as well. 2020-10-21 16:31:18 +02:00
Christoph Oelckers
d7604a3160 - made on_crane a pointer as well. 2020-10-21 16:31:17 +02:00
Christoph Oelckers
7c88de0b42 - made player.actorsqu a pointer and added the needed infrastructure for that. 2020-10-21 16:31:17 +02:00
Christoph Oelckers
39c154dc15 - fixed compile errors 2020-10-21 16:31:17 +02:00
Christoph Oelckers
0f2c19522e - defined the iterators. 2020-10-21 16:31:17 +02:00
Christoph Oelckers
05c095e448 - fixed parameter ordering for WW2GI's change weapon event call.
This happens when variables are ambiguously named... :?
2020-10-21 07:31:21 +02:00
Christoph Oelckers
66c097b3b8 - fixed bad Holoduke check in alterang. 2020-10-18 21:54:30 +02:00
Christoph Oelckers
4d3135f4b8 - cleanup and consolidation of moveweapons_r. 2020-10-18 10:42:26 +02:00
Mitchell Richters
3582717c43 - Duke: Fix issues in recordoldspritepos() following changes in 7043092fd0.
* Fixes #129.
2020-10-16 14:17:19 +11:00
Christoph Oelckers
595ec11609 - replaced all sector iterators in actors.cpp. 2020-10-15 01:34:26 +02:00
Christoph Oelckers
7043092fd0 - all stat iterators in Duke:actors.cpp replaced. 2020-10-15 01:34:26 +02:00
Christoph Oelckers
13093aef56 - a few quick ones, mostly simple search & replace. 2020-10-15 01:34:26 +02:00
Christoph Oelckers
69e6bee64a - Interators for SE00 and a few others. 2020-10-15 01:34:25 +02:00
Christoph Oelckers
5d734eafa0 - Iterators and pointers for movefx, moveflammable and detonate 2020-10-15 01:34:25 +02:00
Christoph Oelckers
2358f14cd1 use iterators for moveplayers, movedummyplayers and movefallers_d. 2020-10-15 01:34:25 +02:00
Christoph Oelckers
bfed4e179b - little bit of array access removal.
(It's going to be a long way to refactor the sprite system to not rely on indices...)
2020-10-14 00:30:14 +02:00
Christoph Oelckers
fe2e96d3a6 Merge branch 'master' into InputContinuation
# Conflicts:
#	source/games/duke/src/duke3d.h
2020-10-10 21:39:27 +02:00
Christoph Oelckers
78d5b2aa95 - Duke: fixed: The Recon's roaming sound was poorly checked resulting in garbled output.
It checked for two instances globally, which made the same actor repeat its sound all over again, but if more recons were present some were silent.
Now each one is allowed to play its effect separately.
2020-10-10 19:17:23 +02:00
Mitchell Richters
fca846272e - gamecontrol: Initial setup of PlayerAngle struct and deployment within Duke.
* Struct made up of binangle class units.
* Create signed clone of binangle for use with look_ang and rotscrnang.
* Append currently outgoing function names with `2` at the end to avoid conflict.
2020-10-07 23:13:29 +11:00
Christoph Oelckers
57945d2baf - eliminated a few overlooked 'long's. 2020-10-02 22:18:08 +02:00
Mitchell Richters
081dfb187c - Duke: Make changes in ce7af5fe0e easier to read by way of aliases. 2020-09-24 09:05:42 +10:00
Mitchell Richters
ce7af5fe0e - Duke: Fix security cameras skewing over time.
* Fixes regression from e1ee9bc83c. +='ing the angle by 16 gave a noticeable hiccup, but was keeping the poor math before in-check so the angle didn't drift.
* Using more temp data fields in hittype, properly define a min/max using the initial camera angle and the hitag which is conveniently the camera's viewing arc.
2020-09-23 18:31:12 +10:00
Mitchell Richters
470f481619 - Duke: Simplify entire camera angle setup. 2020-09-23 15:34:03 +10:00
Mitchell Richters
88608e0682 - Duke: Interpolate camera sprite angle in animatecamsprite(). Fixes a "fixme". 2020-09-23 14:42:33 +10:00
Mitchell Richters
f806cdcec6 - Blood/Duke/RR/SW: Unify the player's angle/horizon helper functions. 2020-09-21 17:12:51 +10:00
Mitchell Richters
1900cf1fcc - Move Duke's getincangle() function to the backend, create Q16.16 variant (getincangleq16()) and replace Shadow Warrior's discrete implementations shared versions.
* Need SW's input helpers available for Blood but therefore also need an angle delta function that does not seem to exist in Blood.
* Realise that gamecontrol.h/cpp might not be the most appropriate place, but it's a shared location and these will go into binaryangle.h when its utilisation can be more realised.
* Because SW's logic was reversed, in that param #1 was the new angle and param #2 was the current, all calls have been reversed.
* By happenstance, also fixes an issue with multiple 180° turns in quick succession.
2020-09-20 16:21:13 +10:00
Mitchell Richters
e1ee9bc83c - Duke: Fix camera advancing angle by 16 instead of 8 under circumstances. 2020-09-17 18:31:09 +10:00
Mitchell Richters
ce82eaf899 - Duke/RR: Address weapon drawer interpolation concerns raised in #403. 2020-09-16 21:01:09 +10:00
Christoph Oelckers
1f7bc6d69e - interpolation fix from EDuke: "Patch from Striker to improve sprite interpolation"
Fixes #109
2020-09-11 22:54:52 +02:00
Christoph Oelckers
b9e0f493b2 - transitioned the 5 primary action keys: Open, Jump, Crouch and Fire/AltFire. 2020-08-28 23:25:08 +02:00
Christoph Oelckers
80d1b71899 - fixed sounds disappearing when the owning actor was deleted.
These sounds now get unlinked so that they can play out normally.

Fixes #119.
2020-08-12 20:15:02 +02:00
Mitchell Richters
47dbc46213 - fixed the interpolation issues while on a crane.
* Partially addresses issues discussed in #105 and #106.
2020-08-06 15:39:45 +10:00
Mitchell Richters
03bccb3a06 - functionalise significant portions of 0ee3ab4df8. 2020-08-05 19:24:42 +10:00