Commit graph

13936 commits

Author SHA1 Message Date
Christoph Oelckers
8172a9ac0c - moved all flags into the actor definitions. 2023-04-09 09:35:37 +02:00
Christoph Oelckers
672374c5f4 - added fullbright flags where appropriate 2023-04-09 09:35:37 +02:00
Christoph Oelckers
f4c176988a - first round of flag additions. 2023-04-09 09:35:36 +02:00
Christoph Oelckers
50d406be4e - Duke: Do not call Initialize() for player actors.
The base function is doing things not meant for players, and we do not have a proper class yet that can deal with it.
2023-04-09 08:15:23 +02:00
Christoph Oelckers
7554808104 - Blood: fixed bad damage scaling in ConcussSprite
This uses the square of the distance, so the factor between Build's Q28.4 format and floats is not 16, but 16*16 = 256.
2023-04-08 10:46:35 +02:00
Christoph Oelckers
307276a276 - WIP for a default scale property.
For now a NOP, we need to get a little further with the scriptification work before this can be made operational.
2023-04-08 09:38:46 +02:00
Christoph Oelckers
e2db4a834e - Duke: apply default scale only to enemies defined in CON.
This code does not apply to the Recon!
2023-04-08 09:37:51 +02:00
Christoph Oelckers
9c164ad290 - fixed crash when stomping shrunk enemies. 2023-04-08 07:14:07 +02:00
Christoph Oelckers
60339a217c - moved a lot of shareable code out of the CON interpreter. 2023-04-07 13:15:06 +02:00
Christoph Oelckers
9ba0b18013 - moved the 3 health related instructions out of the CON interpreter.
This code can be shared with ZScript so it needs to be elsewhere.
2023-04-07 13:15:06 +02:00
Christoph Oelckers
980b3f257a - converted the final set of actor classes the native code needs to reference. 2023-04-07 13:15:06 +02:00
Christoph Oelckers
2ba204444c - merged the spawn init code now that all differences are externalized 2023-04-07 13:15:06 +02:00
Christoph Oelckers
aae2c2dc3c - exported RR's enemies 2023-04-07 13:15:06 +02:00
Christoph Oelckers
779026162d - exported all of RR's pickup items. 2023-04-07 13:14:19 +02:00
Christoph Oelckers
3dd87cfd7f - got rid of checkType. 2023-04-07 12:22:46 +02:00
Christoph Oelckers
f2d802b537 - exported RR's remaining controllers. 2023-04-07 12:22:45 +02:00
Christoph Oelckers
98d5a2686e - use for loop instead of repeating the same line 10x. 2023-04-07 12:22:45 +02:00
Christoph Oelckers
0e169759d5 - animatesprites_r.cpp cleanup 2023-04-07 12:22:45 +02:00
Christoph Oelckers
f9e5f2c137 - final clenaup on animatesprites_d.cpp.
Only the player actor is left, which is also the messiest part...
2023-04-07 12:22:44 +02:00
Christoph Oelckers
ce00183707 - scriptified PlayerOnWater. 2023-04-07 12:17:56 +02:00
Christoph Oelckers
3106c8e6f5 - exported most of the remaining content in spawn_d.cpp 2023-04-07 12:14:16 +02:00
Christoph Oelckers
8b04f42ab5 - exported several fire related actors. 2023-04-07 11:52:53 +02:00
Christoph Oelckers
ef6a8c010a - exported ceilingsteam and consolidated movefallers functions. 2023-04-07 11:52:53 +02:00
Christoph Oelckers
82d04756be - exported a few of Duke's decorations 2023-04-07 11:52:53 +02:00
Christoph Oelckers
551e0af58d - exported the egg, also marking it non-killcount. 2023-04-07 11:52:53 +02:00
Christoph Oelckers
b4dcf8ddcf - exported the remaining Duke enemies. 2023-04-07 11:52:53 +02:00
Christoph Oelckers
0636358b5f - fixes for RR items. 2023-04-07 11:52:53 +02:00
Christoph Oelckers
1bc7c53351 - move the recon's FTA sound into the scripted actor. 2023-04-07 11:52:52 +02:00
Christoph Oelckers
ef54987a58 - exported WT's Firefly 2023-04-07 11:52:52 +02:00
Christoph Oelckers
4e0dad54a5 - exported all of Duke's pickup items. 2023-04-07 11:51:41 +02:00
Christoph Oelckers
7a699e032f - cleaned up Duke's very broken kill count system.
This now uses a static flag to denote an actor as countable and an internal flag to track its killed state, because CON can toggle that at will.
2023-04-07 09:49:20 +02:00
Mitchell Richters
85482b0951 - Fix CVAR comments from previous commit. 2023-04-05 17:59:04 +10:00
Mitchell Richters
32e6e1ce5f - Allow disabling of level start/end cutscenes if a user desires.
* Allows for situations where in Blood or Exhumed, you wish to have a shortcut that directly gets you into a level.
* Could be used for seamless playing options if a user doesn't care for level ending screens.
* Not exposing this to the menu for now as I doubt demand would be high for such a thing.
2023-04-05 17:46:40 +10:00
Mitchell Richters
0f07ea9e37 - Fix skip size in SkipTicCmd() missed during 8bfcb8c939. 2023-04-05 15:00:47 +10:00
Mitchell Richters
c4bd550483 - Change InputState::KeyStatus to be a FixedBitArray object. 2023-04-05 12:57:48 +10:00
Mitchell Richters
2658af9fd0 - Use weapon enums when determining max slot numbers. 2023-04-05 10:22:18 +10:00
Mitchell Richters
4d82a0effa - Put SB_QUICK_KICK into the correct mask. 2023-04-05 10:20:54 +10:00
Mitchell Richters
3951407b68 - Fix issue with memset calls from 0eba341ac1. 2023-04-05 07:39:31 +10:00
Mitchell Richters
6403c7291f - Update player camera angles right before drawing a frame.
* Also stops situations where `GameInput::getInput()` was being called incessantly while in the menu, during screenjobs, etc.
2023-04-04 20:55:09 +10:00
Mitchell Richters
0eba341ac1 - Remove GameInput::prepareHidInput() and GameInput::resetHidInput().
* Also reverts 23bff9f701, but changes the loop into a `memset()` call instead.
2023-04-04 20:07:06 +10:00
Mitchell Richters
d454455d22 - Move invertmouse CVARs into common code.
* Removes duplication of CVAR definitions between Raze and GZDoom.
2023-04-04 20:01:21 +10:00
Mitchell Richters
12c50b4af0 - Blood: Fix missing input bit in GameInteface::reapplyInputBits(). 2023-04-04 16:55:44 +10:00
Mitchell Richters
bf58879b08 - Duke/RRRA: Fix HUD tilting when reversing motorcycle backwards. 2023-04-04 15:14:44 +10:00
Mitchell Richters
b4ea03b8ef - Ensure GameInput::Clear() clears the entire object.
* Unused mouse input could still accumulate during screenjobs (level end stats, etc).
2023-04-04 10:53:19 +10:00
Mitchell Richters
23bff9f701 - Don't loop through all joystick axes and zero them in I_GetAxes().
* The caller should be passing a 0-init'd array through.
2023-04-04 09:55:44 +10:00
Mitchell Richters
133c8fa80b - Only scale the mouse input in GameInput::processMovement(), where it's needed.
* Also fixes a potential signedness issue for `processVehicle()` if `m_yaw` is negatively set.
2023-04-04 09:53:43 +10:00
Mitchell Richters
a68fcfc71c - Remove GameInterface::getConsoleAngles(), it's not needed anymore. 2023-04-04 07:02:39 +10:00
Mitchell Richters
3ef431a428 - Make scaleAdjust a float since it's what's needed anyway. 2023-04-03 19:38:00 +10:00
Mitchell Richters
69c65dfe7e - Internalise InputPacket used in movement functions. 2023-04-03 19:35:35 +10:00
Mitchell Richters
dbba0abb2e - Move all mouse handling into GameInput class. 2023-04-03 18:47:14 +10:00
Mitchell Richters
8d11fef916 - Initial conversion of game input into class GameInput. 2023-04-03 18:46:36 +10:00
Mitchell Richters
23186cd8bb - Relocate processCrouchToggle(). 2023-04-03 18:38:10 +10:00
Mitchell Richters
31d3349d93 - Rearrange bools in processVehicleInput(). 2023-04-03 18:37:38 +10:00
Mitchell Richters
fb519e9c53 - Move PlayerAngles constants into the class. 2023-04-03 17:07:34 +10:00
Christoph Oelckers
0706a8a5bb - exported LizTrooper and Lizman. 2023-04-02 17:37:30 +02:00
Christoph Oelckers
240b24d771 - exported all females. 2023-04-02 17:34:37 +02:00
Christoph Oelckers
810977f19f - made RR thunder effect also work for Duke.
This mainly meant adding support for random sounds and playing the thunder sound by name instead of by index.
2023-04-02 17:20:06 +02:00
Christoph Oelckers
0cd0f28317 - fixed initialization of RR's thunder effect 2023-04-02 17:09:28 +02:00
Christoph Oelckers
eee551ce15 - take care of the last tileGetTexture call in Duke. 2023-04-02 16:45:43 +02:00
Christoph Oelckers
6248c8813b - make RR's ingame thunder effect not depend on having seen one specific texture.
This really should check if the player has seen one sector where the effect is active.
2023-04-02 16:45:43 +02:00
Christoph Oelckers
8208c7fc0b - some texture name cleanup 2023-04-02 16:45:43 +02:00
Johan Mattsson
cebab8f85d
Small fixes (#910)
* Fix potential index out of bounds

* Fix potential index out of bounds

* Use 'MAXGEOSECTORS' instead of magic constant
2023-04-02 22:10:57 +10:00
Christoph Oelckers
52ea497b50 - fixed lotsofstuff VM export. 2023-04-02 13:19:35 +02:00
Christoph Oelckers
30d066cee9 - added script exports for Duke's bosses.
This allows removing a few hack checks.
2023-04-02 13:13:45 +02:00
Christoph Oelckers
26c8e948f7 deleted debug code 2023-04-02 13:13:45 +02:00
Christoph Oelckers
7f240a0a7a - converted all remaining classes used by PicForName.
This means all functions using this can now pass class pointers directly to the native code.
2023-04-02 13:13:45 +02:00
Christoph Oelckers
c9888ae6cb - exported several RR enemies/animals needed for the UFO spawner. 2023-04-02 13:13:06 +02:00
Christoph Oelckers
9b96f8312a - pig cop converted 2023-04-02 13:13:06 +02:00
Christoph Oelckers
bc50f596e8 - exported two more classes used by PicForName. 2023-04-02 13:10:34 +02:00
Christoph Oelckers
7b4d5eb26d - scriptified SHRINKEREXPLOSION and WATERBUBBLE. 2023-04-02 13:10:26 +02:00
Christoph Oelckers
673ea69d35 - scriptified a few more skeleton items needed by PicforName. 2023-04-02 13:00:13 +02:00
Christoph Oelckers
ccc048136f - exported TOILETWATER, BURNING and EXPLOSION2.
All types needed for cleaning up PicForName
2023-04-02 13:00:13 +02:00
Christoph Oelckers
e0bd038391 - scriptified the native parts of TRANSPORTERSTAR and TRANSPORTERBEAM 2023-04-02 13:00:13 +02:00
Mitchell Richters
07ea5d06ae - Update version.h. 2023-04-02 20:11:51 +10:00
Mitchell Richters
2c6d8b50ea - Exhumed: Tidy up bubbles.cpp.
* Extend `BuildBubbles()` to use the actual player's angle for if we ever get multiplayer going.
2023-04-02 19:56:54 +10:00
Mitchell Richters
4c11fb1b2a - Exhumed: Tidy up remainder of anubis.cpp. 2023-04-02 19:56:54 +10:00
Mitchell Richters
754d27a8f0 - Exhumed: Tidy up AIAnubis::Tick(). 2023-04-02 19:56:54 +10:00
Mitchell Richters
8d48252f1a - Exhumed: Backup actor location in BuildAnubis(). 2023-04-02 19:56:54 +10:00
Mitchell Richters
b10b909440 - Exhumed: Rename last argument in seq_MoveSequence() to nFrame. 2023-04-02 19:56:53 +10:00
Mitchell Richters
cf63d1ab74 - Exhumed: Tidy up remainder of anims.cpp. 2023-04-02 19:56:53 +10:00
Mitchell Richters
a2bd2b17a2 - Exhumed: Tidy up BuildAnim().
* Also rename two rather unnamed args to something more appropriate.
2023-04-02 19:56:53 +10:00
Mitchell Richters
b5d4bc8573 - Exhumed: Tidy up 2d.cpp. 2023-04-02 19:56:53 +10:00
Mitchell Richters
345f45ed12 - Fixed messed up formatting in savegamehelp.cpp. 2023-04-02 19:56:53 +10:00
Mitchell Richters
10445635cf - Tidy up autosaving for all the games.
* There's not really any reason to need the game's world to tic once, it's already fully loaded during the `gi->NewGame()`/`gi->NextLevel()` calls.
2023-04-02 19:56:52 +10:00
Mitchell Richters
0052ae4172 - Duke: Ensure we backup player angles and not just pos when loading a save. 2023-04-02 19:51:12 +10:00
Mitchell Richters
bcbebc5c1a - Blood: Fix potential null actor access in gi->CanSave(). 2023-04-02 19:51:12 +10:00
Mitchell Richters
9dfb805b38 - Duke: Fix potential null actor access in gi->CanSave(). 2023-04-02 19:51:12 +10:00
Mitchell Richters
7217ce6ff9 - Duke: Ensure hard landing check is done after pitch keys.
* Oversight from e9a5f745fc.
2023-04-02 19:51:12 +10:00
Mitchell Richters
272dfa762d - Remove backend crouch toggle solution redeploy with Duke/Exhumed/Blood using new ESyncBit bit.
* I tried to make this work in 2020 but its been nothing but headache. It's something for the game to control via a flag, not the backend to determine.
* For SW, this restores its original implementation.
2023-04-02 18:32:40 +10:00
Mitchell Richters
b9cf8a13c6 - Inline the remainder of InputState methods. 2023-04-02 18:32:40 +10:00
Mitchell Richters
ea4e850674 - Move remaining mouse CVARs from inputstate.cpp to gameinput.cpp. 2023-04-02 18:32:39 +10:00
Mitchell Richters
13cb52a0db - Move HIDInput struct from inputstate.h to gameinput.h. 2023-04-02 18:32:39 +10:00
Mitchell Richters
10cd63f383 - Use an FVector2 inside HIDInput. 2023-04-02 18:32:39 +10:00
Mitchell Richters
4387294aff - Eliminate the duplicate mouse storage since we have things in the right spot now. 2023-04-02 18:32:39 +10:00
Mitchell Richters
eeb67a2cdd - Move all mouse CVARs from inputstate.cpp to gameinput.cpp. 2023-04-02 18:32:39 +10:00
Mitchell Richters
64b05b6f06 - Move remaining CCMDs and non-inputstate related items to gameinput.cpp. 2023-04-02 18:32:38 +10:00
Mitchell Richters
43febd5aa1 - Stop passing inputBuffer around within gameinput.cpp since everything's local now. 2023-04-02 18:32:38 +10:00
Mitchell Richters
3c82014d0e - Move ApplyGlobalInput() into gameinput.cpp.
* Doesn't really belong in inputstate.cpp, it was just placed there in 2020 for lack of a better spot at the time.
2023-04-02 18:32:38 +10:00
Mitchell Richters
9e1ca0cb8f - Make the turbo turn functions static within gameinput.cpp. 2023-04-02 18:32:38 +10:00
Mitchell Richters
359371527b - Move Duke's vehicle input processor into gameinput.cpp. 2023-04-02 18:32:36 +10:00