Commit graph

3286 commits

Author SHA1 Message Date
Christoph Oelckers
a8e03723ef - NOSHADOW flag. 2023-05-19 23:03:20 +02:00
Christoph Oelckers
b993f05c8f - fixed missing handling for BADGUYSTAYPUT flag. 2023-05-19 23:00:27 +02:00
Christoph Oelckers
11ba136df1 - make autosaving happen immediately for other games than Blood only.
Blood does not like it, but for the others it should be ok.
2023-05-19 22:59:47 +02:00
Christoph Oelckers
513de38723 - pass the spawner to Initialize as an explicit parameter.
Using ownerActor is not robust, for some actors this will have unwanted side effects.
2023-05-19 22:57:26 +02:00
Christoph Oelckers
22415d0d22 - Duke: for camera textures, set display_mirror to 2, not 1.
This avoids actually mirroring the sprites while otherwise retaining the effects on player visibility. Although a value of 1 was working previously it was merely by happenstance, not by design.
Also remove two redundant local copies of display_mirror in Blood and SW.
2023-05-19 22:53:17 +02:00
Christoph Oelckers
6e060c2e83 Revert "- Tidy up autosaving for all the games."
This reverts commit 10445635cf.

Contrary to what the reverted commit states, it is absolutely essential to have this delay. Duke and Blood initialize a lot of things in their first tick that are necessary before the world is stable to save.
2023-05-19 22:53:17 +02:00
Christoph Oelckers
cf349fbd7d - Duke: clear resource ID when setting up the original sounds for World Tour.
This made them unconditionally override the replacements - bad as they are.
2023-05-19 22:53:16 +02:00
Christoph Oelckers
e0de0893a9 - autoaim must never apply to WW2GI's pistol. 2023-05-19 22:53:16 +02:00
Christoph Oelckers
bab432ed72 - refinement of aiming fix. 2023-05-19 22:53:15 +02:00
Christoph Oelckers
fa1e667140 - Duke/RR: Use the exact same trajectory for autoaiming and the actual attack hitscan for the pistol.
These were not identical so the pistol was likely to miss small targets the autoaim acquired. This was particularly bad for Duke's ceiling turret and RR's mosquito.
2023-05-19 22:52:36 +02:00
Christoph Oelckers
94a80dda11 - initialize the angle of script spawned actors. 2023-05-19 22:52:00 +02:00
Christoph Oelckers
e8a3e2ee53 - fixed sprite rotation in mirrors. 2023-05-19 22:51:45 +02:00
Christoph Oelckers
aee26c2637 - reset counter in SetMove 2023-05-19 22:50:02 +02:00
Christoph Oelckers
8aaa8b4113 - use the native implementation for Duke.rnd.
This ensures that results are consistent.
2023-05-19 22:46:43 +02:00
Christoph Oelckers
7bb678bb7e - fixed 'move' property handler to properly store its z value. 2023-04-30 13:33:05 +02:00
Christoph Oelckers
b07a43a9db - Duke: fixed ChangeType to also change the actor's base pic. 2023-04-30 13:33:05 +02:00
alexey.lysiuk
a69d904192 - fix GCC/Clang compilation error
source/games/duke/src/types.h:178:14: error: exception specification of overriding function is more lax than base version
2023-04-30 13:14:45 +03:00
Christoph Oelckers
ecfa45c3ec - Duke: fixed animation lookup code. 2023-04-30 10:51:48 +02:00
Christoph Oelckers
b55d39e58d - fixed invocation of RunState. 2023-04-30 10:51:48 +02:00
Christoph Oelckers
83c401574c - remove debug check 2023-04-30 10:51:48 +02:00
Christoph Oelckers
4010fc1aa7 - Duke: init the animation arrays early.
app_init is too late for having the data set up during script compilation.
2023-04-30 10:51:48 +02:00
Christoph Oelckers
96b0542cd8 - flag all actors that override RunState.
This is for allowing quick checks of actors which need the special consideration.
2023-04-30 09:01:28 +02:00
Christoph Oelckers
2a38e83a2f - moved the animation code out of execute so it can be used without CON. 2023-04-30 08:57:28 +02:00
Christoph Oelckers
29322777dd - adapt the animation init code for CON replaced actors and consolidated the two cases. 2023-04-30 08:46:51 +02:00
Christoph Oelckers
21a37d2c07 - added helpers needed to run CON replacement code.
* killit must exit to the top level right away. Use an exception for this.
* two new flags to make checking easier.
* do not export killit_flag to scripting.
2023-04-30 08:11:30 +02:00
Christoph Oelckers
960e58cdf2 - move the action default propeerties into FActorInfo 2023-04-30 08:07:10 +02:00
Christoph Oelckers
9d43729e8c get rid of the killit_flag in the parse state.
Use the one in the actor instead.
2023-04-30 08:04:56 +02:00
Christoph Oelckers
47f9642294 - added compile time validation for SetAction, SetAI and SetMove.
the expression classes were deleted again, this can be done without them.
2023-04-29 10:09:36 +02:00
Christoph Oelckers
f1f1e54e04 - moved the remaining content of the flags* files directly into game.cpp 2023-04-29 09:59:54 +02:00
Christoph Oelckers
bfcceccc98 - consolidated checkhitdefault functions. 2023-04-29 09:58:42 +02:00
Christoph Oelckers
6fd4368592 - moved Duke/RR's tile name list to raze.pk3, now that internally it is not used anymore.
This way it can later also be used by editors.
2023-04-29 09:55:48 +02:00
Christoph Oelckers
44f4104eda - got rid of the last tilenum uses in Duke.
This meant refactoring the crosshair drawer to work on a named texture called "CROSSHAIR" and hard coding the magic numbers for spawndebris.
2023-04-29 09:54:15 +02:00
Christoph Oelckers
bb08a118d9 - replaced the sprite precaching code with one that scans the actual content.
This will currently not do proper precacing for Duke, which requires actions to be defined as the ones from CON cannot be assigned to an actor.
2023-04-29 09:53:52 +02:00
Christoph Oelckers
83eb4852f7 - do not use literal tile numbers for initializing WW2GI's weapon gamevars.
Instead use the type numbers of the items to be spawned so it is derived from configurable data.
2023-04-29 09:51:51 +02:00
Mitchell Richters
312b649d93 - Duke: Pass HUD offsets to bike/moto drawers by const reference. 2023-04-29 09:19:09 +02:00
Christoph Oelckers
f278a29fad - migrated all RR weapons to texture names. 2023-04-29 09:16:55 +02:00
Christoph Oelckers
5d4f137623 - migrated Duke's entire HUD weapon code to texture names. 2023-04-29 09:16:46 +02:00
Christoph Oelckers
d5f1a82f21 - Duke shotgun and chaingun handled. 2023-04-29 09:13:42 +02:00
Christoph Oelckers
1aa88bd201 - more HUD refactoring 2023-04-29 09:13:28 +02:00
Christoph Oelckers
8f61abdf75 - more HUD refactoring and fixed issues with badly named textures crashing the precacher. 2023-04-29 09:08:42 +02:00
Christoph Oelckers
8a331e226f - handle cases where CON tries to spawn unknown actors.
It must fall back to spawning an inert sprite in these cases, not just fail.
2023-04-29 07:06:53 +02:00
Christoph Oelckers
34160a4354 - ported the scuba mask drawers to texture IDs.
These were also the last places in Duke using tileWidth and tileHeight.
2023-04-29 07:06:42 +02:00
Mitchell Richters
52ab0fae19 - Duke: Allow reversing while moving forwards to act as the brake.
* Much more intuitive for controllers.
2023-04-25 11:30:48 +10:00
Mitchell Richters
6d2e114dec - Duke: Move moto tilt scaling into main tilt function, not within the draw code. 2023-04-25 08:37:38 +10:00
Mitchell Richters
fd1c3dffe8 - Duke: Allow view tilting for RRRA vehicles on separate CVAR.
* Tilts at the same angle as the HUD.
2023-04-24 23:20:14 +10:00
Mitchell Richters
918789705f - Duke: Use the player's angle when adjusting vehicle's HUD rotation. 2023-04-24 22:44:22 +10:00
Mitchell Richters
6ac2af9f3c - Duke: Convert RRRA's vehicle HUD tilting to a DAngle. 2023-04-24 22:17:37 +10:00
Mitchell Richters
11181f51f8 - Allow roll input through the packet system, giving us 6DOF for VR usage, etc. 2023-04-24 21:31:21 +10:00
Mitchell Richters
afcc65c332 - Duke: Hook up InputPacket::uvel to remainder of relevant code. 2023-04-24 18:27:44 +10:00
Mitchell Richters
09ab66b8c9 - Duke: Clean up p->GetActor() calls in movement() funcs. 2023-04-24 16:16:07 +10:00