Christoph Oelckers
64f1029416
- Duke: pass a sector pointer to callsound.
2021-12-25 21:28:39 +01:00
Christoph Oelckers
d5a6be3d96
- cleaned up Duke's spawn code.
...
The paths for initializing a map placed sprite and spawning a new actor at run time are now fully separate aside from the actual initialization of the actor.
2021-11-29 00:56:31 +01:00
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
b0ced98d5e
- changed main EGS function.
2021-11-29 00:56:29 +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
a7634c4cad
- Duke: use pointers in interpolation interface.
2021-11-29 00:56:27 +01:00
Christoph Oelckers
0d8b380b05
- use wallsofsector for all remaining iterations over a sector's walls.
2021-11-29 00:56:27 +01:00
Christoph Oelckers
5c9327a788
- use pointer variant of nextsectorneighborz.
2021-11-29 00:56:27 +01:00
Christoph Oelckers
53122355fe
- more sectors in spawn.cpp
2021-11-29 00:56:24 +01:00
Christoph Oelckers
c79dace730
- eliminated sector[] in position checkers
2021-11-29 00:56:24 +01:00
Christoph Oelckers
27af8a52e9
- the final walls
...
What is left now of wall[] and wallnum() needs to remain.
2021-11-29 00:56:24 +01:00
Christoph Oelckers
35eb94b89a
- lotsofcolourglass
2021-11-29 00:56:23 +01:00
Christoph Oelckers
9d8e7ea759
- crane cleanup
...
This now uses its own struct where it can store the needed actor pointer directly.
2021-11-29 00:56:22 +01:00
Christoph Oelckers
c410b1be45
- glass stuff
2021-11-29 00:56:21 +01:00
Christoph Oelckers
a38fdd2890
-more in spawneffectors
2021-11-29 00:56:20 +01:00
Christoph Oelckers
94d0e9775f
- spawneffectors
2021-11-29 00:56:20 +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
01abe7b2ac
- addressed most unused/uninitialized variable warnings from MSVC.
2021-11-29 00:55:30 +01:00
Christoph Oelckers
c6bd5c04c7
- fixed most warnings GCC pointed out in game code.
2021-11-29 00:55:29 +01:00
Christoph Oelckers
dcccb0d653
- Duke: added [[fallthrough]] annotations wherever needed.
2021-11-29 00:55:29 +01:00
Christoph Oelckers
35b9318580
- Duke/RR: checked the rest of the code for shorts and replaced most local ones with ints.
2021-11-07 16:33:13 +01:00
Christoph Oelckers
3a73a9f8ed
- Duke/RR: replaced more local short variables with ints.
2021-11-07 16:30:56 +01:00
Christoph Oelckers
e2faeec2ce
renamed all signed and unsigned chars to int8_t/uint8_t.
2021-11-07 16:30:55 +01:00
Christoph Oelckers
2c1881530a
- Duke: use a sector pointer in spawneffector.
2021-11-07 15:00:07 +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
c8d65a1f06
- use sector wrappers where easily doable with search and replace.
2021-11-06 14:19:55 +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
62d0d3712e
- use a sprite flag to mark mapped sprites.
...
This avoids another global array which needs to be addressed by sprite index.
2021-10-14 15:09:43 +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
Christoph Oelckers
948f194064
- fixed warnings in Duke.
2021-10-08 19:21:29 +02:00
Christoph Oelckers
6be611fd94
- fixed merge.
2021-09-12 18:32:11 +02:00
Christoph Oelckers
de904d3052
. Duke: made the 'lonely effector' error non fatal.
...
Instead just move the bogus effector sprite out of the way.
2021-05-08 15:41:49 +02:00
Christoph Oelckers
dc8b72b2ce
Merge branch 'master' into newrenderer2
...
# Conflicts:
# source/games/duke/src/actors.cpp
# source/games/duke/src/hudweapon_d.cpp
# source/games/duke/src/hudweapon_r.cpp
# source/games/duke/src/render.cpp
2021-04-15 19:34:03 +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
Mitchell Richters
2176435831
- Duke: Replace sprite z pos numeric values with correct enum values for each game.
2021-04-15 18:02:16 +10: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
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
Christoph Oelckers
8a7b3dc667
- Interpolate Duke's wave floor effect.
2020-11-29 17:40:41 +01:00
Christoph Oelckers
92bf1232da
- Duke: documented global variables for eventual scriptification.
...
Most are only needed internally or for very special uses and do not need any scripting consideration.
2020-11-29 15:09:23 +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
Christoph Oelckers
b9477f147e
- migrated Duke's interpolations to the common system and added handling for texture scrollers.
2020-11-26 18:32:36 +01:00
Mitchell Richters
ad814f66b0
- buildutils: Replace sintable[]
use within Duke's spawn.cpp with bsin()
/bcos()
.
2020-11-22 21:18:06 +01:00
Christoph Oelckers
f9a776e71c
- iterate linearly over sector effectors.
...
Apparently they aren't all properly linked into the required statnums.
Fixes #179
2020-11-12 19:12:58 +01:00