Commit graph

69 commits

Author SHA1 Message Date
Christoph Oelckers
3c1970e9e0 - floatified alterang and changed return type of furthestangle 2022-10-21 00:00:01 +02:00
Christoph Oelckers
591dcc995a - added a float version of gs.playerheight. 2022-10-02 20:46:58 +02:00
Christoph Oelckers
b853e9caa0 - Duke: cleanup on z-checks, part 1. 2022-10-02 20:46:57 +02:00
Christoph Oelckers
4d38f62a14 - cleaned up and floatified the jaildoor code
(which should probably be renamed to 'slidedoor' because it gets used for lots of stuff other than actual jail doors...)
2022-02-15 22:18:25 +01:00
Christoph Oelckers
a015958f66 - Duke: had to give the trip bomb yet another flag.
Unlike every other actor this has scripted animation logic attached that is not supposed to be used. Weird.
2022-01-29 10:45:36 +01:00
Christoph Oelckers
8487d693f5 - flags for the bolts. 2022-01-27 01:05:12 +01:00
Christoph Oelckers
82898e42a6 - fix the camera.
- camera flag added
2022-01-27 01:05:12 +01:00
Christoph Oelckers
8e89bc29e4 - new explosion flags 2022-01-27 01:05:12 +01:00
Christoph Oelckers
fba8f54bb3 - two more flags to get sprite indices out of movecrack.
# Conflicts:
#	source/games/duke/src/constants.h
2022-01-27 00:48:39 +01:00
Christoph Oelckers
d3f2d50088 - added NOFLOORPAL flag to remove some special cases from animatesprites.
# Conflicts:
#	source/games/duke/src/constants.h
2022-01-27 00:48:00 +01:00
Christoph Oelckers
3d0c794224 - two more flags for LASERLINE. 2022-01-27 00:46:24 +01:00
Christoph Oelckers
a776e5c56e - turned the exclude lists for initspriteforspawn into a flag. 2022-01-27 00:45:55 +01:00
Christoph Oelckers
e4cfc374be - another trip bomb flag. 2022-01-27 00:42:57 +01:00
Christoph Oelckers
0574da7cd4 - SE24 cleanup using flags.
The whole setup is actually very simple, once all the mess got removed from the code.
2022-01-27 00:42:49 +01:00
Christoph Oelckers
2468debe34 - added a new flag for non-teleporting items. 2022-01-27 00:42:16 +01:00
Christoph Oelckers
fc94fb9651 - replaced checktimetosleep with a flag. 2022-01-27 00:42:07 +01:00
Christoph Oelckers
72510a47fa - replaced one more actor list check in hitradius with a flag. 2022-01-27 00:41:57 +01:00
Christoph Oelckers
125c3e8004 - flammable flags. 2022-01-27 00:41:33 +01:00
Christoph Oelckers
58b718d2a2 - turn all special actor type checks in moveflammable into flags.
Also wrap all flag checks in actorflag function
2022-01-27 00:34:21 +01:00
Christoph Oelckers
5bc8b1c2d3 - Duke: added two more flags to eliminate the references to the crane's tile numbers. 2022-01-25 22:26:53 +01:00
Christoph Oelckers
a252b206d1 - exported DukeActor's native member variables.
This includes renaming two native ones because they shared the same name with members of spritetype.
2022-01-24 00:24:47 +01:00
Christoph Oelckers
0398ba4ff0 - added all parts needed to implement the actor property parser.
Not hooked up yet with the rest of the code, this just adds the needed files in compilable form.
2022-01-23 13:03:39 +01:00
Christoph Oelckers
fcf04a7df1 - delete unused variable. 2022-01-13 12:27:40 +01:00
Christoph Oelckers
da5a92852f - cleanup of Duke's actor flags. 2022-01-11 00:12:32 +01:00
Mitchell Richters
771a84338e - Fix typo in MOVEFTA flag (was NOVEFTA). Thanks Gaerzi! 2022-01-08 22:30:34 +11:00
Christoph Oelckers
cc6d52013d - made Duke actor flags type safe and added a few new definitions that are not active yet. 2022-01-02 10:17:44 +01:00
Christoph Oelckers
f9cea2b1db - turning one check in hitradius into a flag. 2021-12-30 09:58:48 +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
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
6ebbf1288d - Duke/RR: Don't delete master switch sprites.
The sound system may play sounds on them after their deletion - this resulted in undefined behavior. To ensure properly defined behavior the sprite needs to be retained at least as long as the sound controller may still need it - which cannot be reliably determined so it has to be kept around forever. This would be easier if the sound controller code had proper start and stop events instead of inferring what to do from secondary information.
Fixes #288.
2021-04-04 13:01:32 +02:00
Christoph Oelckers
40593b866f - WW2GI: fixed event numbering.
There is a typo in the CON files that assigns EVENT_AIMUP and EVENT_AIMDOWN the same number. The source did not replicate this which caused several events to call the wrong handler.
Fixes #252
2021-01-30 23:42:44 +01:00
Christoph Oelckers
bc6ae872ae - cleaned up the checkhitswitch interface to receive sprites as pointers. 2020-11-04 19:55:15 +01:00
Christoph Oelckers
08e29396e5 - split moveweapons_d further up into more smaller parts. 2020-10-18 09:45:41 +02:00
Christoph Oelckers
3d36381752 - converted all stat iterators outside sector*.cpp. 2020-10-15 01:34:28 +02:00
Christoph Oelckers
060b66b96b - replaced all stat iterators in actors_r.cpp. 2020-10-15 01:34:27 +02:00
Christoph Oelckers
8e1c71b867 Merge branch 'InputContinuation' 2020-10-11 15:24:51 +02:00
Christoph Oelckers
fc82b3bc8a - Duke: replaced the game type macros with inline functions. 2020-10-11 14:30:42 +02:00
Mitchell Richters
09a05f354c - Re-standardise horizon around 0 and not 100.
* Blood had this right. It makes sense that the horizon be based around as it's easier to work with.
* Removed all associated game math to deduct default horizon of 100 when doing weapon zvel etc, meaning actual horizon can just be used.
* Re-did return to center function to work on the already converted pitch. Return speed should be 1:1 with previous code.
2020-10-07 13:28:45 +11:00
Christoph Oelckers
f5d14f826a - added the SHOOT event and fixed some issues with poor code generation for the game data accessors.
They created different code depending on the passed index, this was changed to always emit the optional parameter, even when not needed, so that the interpreter does not need to second-guess.
2020-09-17 23:06:54 +02:00
Christoph Oelckers
a2e3bb5725 - fixed WT's incinerator and a few other minor things I found while comparing Raze's WT support code with BuildGDX's.
Fixes #357
2020-09-07 21:38:17 +02:00
Christoph Oelckers
e5e8c02f1d - WIP level transition refactored to a game independent event system. 2020-09-04 19:43:35 +02:00
Christoph Oelckers
3e5e956b72 - run most cheats through the network.
The remaining excpetions are the "give" CCMD and any level change action.
Unfortunately the implementation of most cheats is not multiplayer safe so right now it'd only be useful for demo recording (assuming that worked to begin with... ;))
2020-09-03 01:32:51 +02:00
Christoph Oelckers
a0874a26a7 - noclip cheat and splitting of Exhumed's cheat code into its own file. 2020-09-03 00:41:32 +02:00
Christoph Oelckers
2f05a93547 Merge branch 'Packet' into back_to_basics2
# Conflicts:
#	source/core/gamestruct.h
#	source/games/duke/src/gameloop.cpp
#	source/games/duke/src/player_d.cpp
2020-08-31 00:09:56 +02:00
Mitchell Richters
1617938d4f - Duke: When using cl_showmagamt 1, increase pistol maximum by 4 so that when you have full ammunition, you have a full clip.
* On the fence about this. Lower makes the game harder, and higher could mean the difference between life and death. I do think that if we're showing amounts in the magazine, full ammo should constitute a full magazine. I think the max of 200 is an oversight from the original devs as all other games have proper defaults that reflect the magazine or cylinder capacity.
2020-08-30 20:24:38 +02:00
Christoph Oelckers
dc1f56e8f9 Merge remote-tracking branch 'remotes/Github_private/back_to_basics2' into Packet
# Conflicts:
#	source/core/inputstate.cpp
#	source/exhumed/src/exhumed.h
2020-08-29 01:19:48 +02:00
Mitchell Richters
a2b51edcdb - Duke: Delete enum created in 3e79e7b63f and move CRACK_TIME to miscConstants.
* Didn't have a very good look, apparently...
2020-08-27 16:09:18 +10:00
Mitchell Richters
3e79e7b63f - Duke: Fix bug where player wasn't cracking knuckles after 777 idle tics while cl_syncinput was 1.
* Use opportunity to replace the literal constant of `777` with an enum.
2020-08-27 15:54:49 +10:00
Christoph Oelckers
f597f7c265 - made the GameFunc constants global again.
With most of the more specific features being migrated to CCMDs the list is relatively clean now, with merely 2 buttons that are game specific.
2020-08-27 00:25:59 +02:00
Christoph Oelckers
abf715eace - unified the packet structures of all games.
Currently the bit fields are still separate and they have to be merged, but for now the added memory does not matter.
Having this structure in the common parts will allow work on consolidating the input code, though.
2020-08-26 17:12:48 +02:00