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
1f6035a047
- add one common 'move' item.
2023-04-30 10:51:47 +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
4e8dfe8986
- got rid of the laat picnums in Blood.
2023-04-29 11:32:04 +02:00
Christoph Oelckers
a662a3bd12
- another bunch of picnums in Blood removed.
...
4 remaining after this.
2023-04-29 11:32:04 +02:00
Christoph Oelckers
83dfd77bd0
- eliminate picnums in QAV code.
2023-04-29 11:32:04 +02:00
Christoph Oelckers
9a703639cb
- final cleanup of Blood/Exhumed changes.
2023-04-29 11:32:04 +02:00
Christoph Oelckers
01b6d9f27f
- eliminated all remaining uses of picnum in Exhumed.
2023-04-29 11:32:03 +02:00
Christoph Oelckers
44e9a66319
- handle 3 more of Exhumed's picnums that were quick to refactor
2023-04-29 11:32:03 +02:00
Christoph Oelckers
0e097903c4
- got rid of a large chunk of picnum accesses in Exhumed.
2023-04-29 11:32:03 +02:00
Christoph Oelckers
f115f9427d
- got rid of a few more picnum references in Blood.
2023-04-29 11:32:03 +02:00
Christoph Oelckers
76c0de2ef1
- moved some of Blood's precaching info to external data.
2023-04-29 11:32:03 +02:00
Christoph Oelckers
52706e9afd
- handle the direct assignments of values to picnum in Blood.
2023-04-29 11:32:02 +02:00
Christoph Oelckers
36c07aaca5
- did some simple picnum replacements in Blood.
2023-04-29 11:32:02 +02:00
Christoph Oelckers
330cb9eacb
- fix two errors.
2023-04-29 11:31:05 +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
bf577916ec
- made the is*** checkers compiler intrinsics.
...
With the exception of isWorldTour, isPlutoPak and isShareware when playing Duke these are always constant and this way can be used to completely eliminate unneeded code.
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
ef81e713e2
- Exhumed: Clamp off vale in fix from adbd5c3c69
.
...
* Fixes example situations where the player is underwater and smashing against the ceiling, etc.
2023-04-28 19:30:14 +10:00
Mitchell Richters
742d76a4bf
- Exhumed: Tidy up some unnecessarily nested if statements in movespritez()
.
2023-04-27 22:51:30 +10:00
Mitchell Richters
adbd5c3c69
- Exhumed: Fix velocity loss in movespritez()
when warping.
...
* Old code was adjusting the actor's Z to right off the ceiling with no factoring in of the old interpolation position.
* Due to this, we were hitting the `nCamerapos.Z = min(max(nCamerapos.Z, pSector->ceilingz + 1), pSector->floorz - 1);` bounding in the draw code.
* Since game puts you right at the ceiling, we apply this to the old interpolation position, as well as the current position, however we then add their velocity back onto the current position to make the warp seamless.
2023-04-27 22:51:30 +10:00
Mitchell Richters
78df82e1ed
- Exhumed: Clean up loHit
global in move.cpp
.
...
* More lazy arg passing via a global...
2023-04-27 22:51:30 +10:00
Mitchell Richters
4c5339274d
- Exhumed: Fix bad velocity zeroing from ece41ac84c
.
2023-04-27 21:32:36 +10:00
Mitchell Richters
3edc1a5a5a
- Exhumed: Make getSequence()
return a pointer instead of a reference.
...
* Gets rid of the awkward `operator[]()` calls.
* Gets rid of `std::ref()` setup in gun.cpp.
* Ensures a copy isn't made if the caller accidentally leaves off an ampersand.
* Allows us to use a consistent getter for native code and VM exports.
2023-04-27 20:16:14 +10:00
Mitchell Richters
ea7fe0e0b4
- Exhumed: Add fixSeqs()
and use it to patch OOB issue with skulstrt.seq
.
2023-04-26 20:27:28 +10:00
Mitchell Richters
33d4809663
- Exhumed: Ensure sequence data cannot be changed via the getters.
2023-04-26 20:13:26 +10:00
Mitchell Richters
64c47b0385
- Exhumed: Slightly tune damage pushback from previous commit.
...
* The logic here is that the player's running/double speed velocity is scaled by 0.375 in `updatePlayerVelocity()`, so 0.1875 is half of that scale.
2023-04-25 20:07:10 +10:00