Christoph Oelckers
4c7662b4ea
- Duke/RR: guard all calls to EGS with a null pointer check.
...
Spawning sprites into the void will crash the engine so these must be blocked which requires a failure check here.
With this pressing fire while in the void no longer crashes the game - it won't fire anything, either, though.
2021-11-29 00:56:31 +01:00
Christoph Oelckers
8972dbe5da
- actorstayput
2021-11-29 00:56:31 +01:00
Christoph Oelckers
09c2677fe7
- lots of EGS calls.
2021-11-29 00:56:29 +01:00
Christoph Oelckers
3d05020f4c
- checkhitceiling + ceilingglass are sector[] free.
2021-11-29 00:56:28 +01:00
Christoph Oelckers
09e75ddca2
- change wall parameter of checkhitwall.
2021-11-29 00:56:21 +01:00
Christoph Oelckers
00edd16834
- Duke: get rid of the remaining wall[] references in actors_d.cpp
2021-11-29 00:55:41 +01:00
Christoph Oelckers
e0260bc709
- Duke/RR: weaponhitwall cleaned up (both variants)
2021-11-29 00:55:40 +01:00
Christoph Oelckers
5bb805663e
- Duke/RR: cleaned up the rest of hitradius* as well
...
Using wallsofsector iterator plus defining local variables more locally.
2021-11-29 00:55:40 +01:00
Christoph Oelckers
63985ce6be
- Duke/RR: redo the supremely ugly code to access the third point in hitradius*
2021-11-29 00:55:40 +01:00
Christoph Oelckers
821f341e03
- use BFSSearch in hitradius_d
2021-11-29 00:55:39 +01:00
Christoph Oelckers
ad030d7e23
- Duke: SE20 + SE128 are wall-free
...
Also use symbolic constantfor SE_128 to make it easier to find.
2021-11-29 00:55:39 +01:00
Christoph Oelckers
2fe71a65a8
- added a few fallthrough annotations that were missed last time.
2021-11-29 00:55:31 +01:00
Christoph Oelckers
01abe7b2ac
- addressed most unused/uninitialized variable warnings from MSVC.
2021-11-29 00:55:30 +01:00
Christoph Oelckers
dcccb0d653
- Duke: added [[fallthrough]] annotations wherever needed.
2021-11-29 00:55:29 +01:00
Christoph Oelckers
5cda9d0858
- tabified two files in Duke that were missed somehow, plus some comment cleanup elsewhere.
2021-11-29 00:53:35 +01:00
Christoph Oelckers
aac02d52db
- Duke/RR: fixed hitradius
...
The recent optimization did not update the sector pointer inside the loop
2021-11-15 00:18:52 +01:00
Christoph Oelckers
2e1ff313b0
- Duke: only use the main clipmove function and match clipmove_ex’s interface
2021-11-08 23:11:29 +01:00
Christoph Oelckers
066896db8e
- warnings fix
2021-11-08 18:37:20 +01:00
Christoph Oelckers
fd2764dc6e
- Duke: eliminated all local short variables in actors*.cpp.
2021-11-07 16:30:55 +01:00
Christoph Oelckers
0eba3335c6
- eliminated some leftover 16 bit values used for storing indices.
2021-11-07 16:30:44 +01:00
Christoph Oelckers
a594e6465c
- added nextSector access function to walltype and used it to eliminate a few more sector[] references.
2021-11-07 15:56:29 +01:00
Christoph Oelckers
e0f3fa2aa0
-Duke: replaced sector array accesses in actors_d.cpp.
2021-11-07 15:00:07 +01:00
Christoph Oelckers
d45f687d4b
- pass a sector pointer to floorspace/ceilingspace.
2021-11-07 15:00:06 +01:00
Christoph Oelckers
1c0e3d849b
- addressed the updatesector related deprecation warnings with Duke.
2021-11-06 20:46:08 +01:00
Christoph Oelckers
83fe41e71e
- made updatesector receive a 32 bit int pointer and deprecated the 16 bit variant.
2021-11-06 15:53:16 +01:00
Christoph Oelckers
f4cc5b5b89
- Duke: const-ify SE24 tile lists
2021-11-06 14:19:55 +01:00
Christoph Oelckers
c8d65a1f06
- use sector wrappers where easily doable with search and replace.
2021-11-06 14:19:55 +01:00
Christoph Oelckers
b548d9eca2
- a few more quick sector[] replacements.
2021-11-06 14:19:55 +01:00
Christoph Oelckers
8818a3f1cb
- Duke: added a getSector method to DDukeActor.
2021-11-06 14:19:54 +01:00
Mitch Richters
a1570c185f
- Duke: Remove posx
/posy
/posz
variables and replace with points in the previously unionised pos
vec3_t
variable.
2021-10-31 17:52:52 +11:00
Christoph Oelckers
821f3d356b
- renamed DDukeActor::GetIndex to GetSpriteIndex to bring it in line with the other games.
2021-10-24 09:22:35 +02:00
Christoph Oelckers
b1ac1ad585
- more changesprite* renaming.
2021-10-12 21:36:42 +02:00
Christoph Oelckers
2e37cc627c
- function renaming for clarity and easier lookup.
2021-10-12 21:36:42 +02:00
Mitchell Richters
ec20f66eda
- Duke/RR: Always ensure player's wantweaponfire
is reset to -1
after switching weapon.
...
* Fixes #333 .
2021-07-17 12:12:12 +10:00
Christoph Oelckers
d311792e06
- engine side preparations for Duke Statusbar scriptification.
...
Mainly, gotweapon had to be reverted to a flat bool array to avoid implementing FixedBitArray for the VM.
Also adding a few new tile names and PushV for string arrays.
2021-05-15 10:44:35 +02:00
Christoph Oelckers
cf22a70d82
- fixed all warnings in Duke.
2021-05-12 21:50:01 +02:00
Christoph Oelckers
60d007fa93
- Duke: fixed non-scrolling SE24.
2021-05-02 19:32:20 +02:00
Christoph Oelckers
96d78ab9e6
- made DukeActor::s a pointer.
...
As a reference we would never be able to export this to scripting
2021-04-15 19:21:43 +02:00
Christoph Oelckers
68b7628f56
- RRRA: Sector effector type 156 is not supposed to scroll the floor texture.
2021-04-07 18:12:25 +02:00
Christoph Oelckers
9828cd7129
- this better have a null check...
2021-04-04 13:02:26 +02:00
Mitchell Richters
18fbc8996b
- Duke: Remove a few redundant sprite backups and change some backups to what's actually needed.
2021-01-06 06:22:31 +11:00
Mitchell Richters
97159c20c1
- Duke: Leverage new spritetype
methods within Duke, removing bposx
/bposy
/bposz
from hittype.
2021-01-06 06:22:29 +11:00
Mitchell Richters
5124c0daec
- Amalgamate ksgn and sgn into Sgn in cmdlib.h, and remove pragmas.h.
2021-01-05 07:31:37 +11:00
Mitchell Richters
868aa7f07a
- Replace mulscale()
calls with MulScale()
from common.
2021-01-05 07:31:24 +11:00
Mitchell Richters
2396179dfc
- Replace mulscale##()
calls with MulScale()
from common.
...
* Regex for reference: mulscale([0-9]+)\((.+)(\)+)
2021-01-05 07:31:15 +11:00
Christoph Oelckers
3787e103d2
- use the same camera sprite selection logic as EDuke32 and RedNukem.
...
This is the only one that makes some sense.
2020-12-13 14:13:51 +01:00
Christoph Oelckers
72df9c26d8
- Duke: fixed: SE31's handler overwrote the interpolation coordinates, which rendered interpolation ineffective.
...
Also removing some redundant coordinate copying. Since we save all sprite coordinates at the start of a frame, there is no need to do the same again in the stat handlers.
Fixes #237
2020-12-11 19:17:41 +01:00
Christoph Oelckers
7ad0750839
- grouped all of Duke's constant per-session state in a single struct.
...
Mainly done so later the script export can be done more easily.
This also renames a few of the affected variables for clarity.
2020-11-29 13:54:58 +01:00
Christoph Oelckers
daf71fa470
- replaced a few more literal numbers.
2020-11-27 20:06:38 +01:00
Mitchell Richters
abc49fed62
- buildutils: Replace sintable[]
use within Duke's actors_d.cpp with bsin()
/bcos()
.
2020-11-22 21:18:03 +01:00