Mitchell Richters
8f9b413d38
- Always clear object in PlayerAngles::initialize()
rather than expecting the caller to do it.
2023-09-28 22:16:30 +10:00
Mitchell Richters
59acdde9c9
- Favour value initialisation in GameInput::Clear()
instead of a memset()
.
2023-09-28 22:16:30 +10:00
Mitchell Richters
7fa5df934b
- Make playercmds[]
non-global and pass through as pointer.
2023-09-28 22:16:30 +10:00
Mitchell Richters
80da809e0c
- Apply cl_noturnscaling
CVAR from feaaf2c15a
to GameInput::processVehicle()
.
2023-09-28 22:16:29 +10:00
Christoph Oelckers
8a0f79141b
code cleanup
...
* gave reverb functions the proper 'S_' prefix for consistency.
* Blood: fixed license of 4 files which do not contain any NBlood code anymore (sound code was completely rewritten, and all such code has long been moved out of d_menu.cpp)
* Blood: renamed VIEWPOS_* constants
2023-09-26 23:30:38 +02:00
Mitchell Richters
e0e459216d
- Reduce GameInput::processVehicle()
interface by changing three bools to a bitfield.
2023-09-25 19:51:53 +10:00
Mitchell Richters
8d8c30d10e
- Reset the crouch toggle only when loading a new game, not every time we clear out the input.
...
* We need to preserve the crouch toggle when loading saves.
* Deliberately not resetting during level transitions as each level in an episode is interconnecting.
2023-09-24 17:51:22 +10:00
Mitchell Richters
ae192df7b7
- Consolidate two gi->FreeLevelData()
into NewGame()
.
2023-09-24 17:28:52 +10:00
Mitchell Richters
22077c5b50
- Ensure crouch_toggle
is cleared when clearing all input.
2023-09-24 15:53:39 +10:00
Mitchell Richters
feaaf2c15a
- Allow disabling turn scaling (turbo turn).
2023-09-24 14:15:50 +10:00
Mitchell Richters
29e021b5bf
- Move crouch toggling back into the backend so the toggle key can be used as a swim key.
...
* Reverts 272dfa762d
, but is a fresh implementation.
* I doubted anyone was doing this but apparently not.
* Exhumed needed a bit more work as it has very specific underwater checks.
2023-09-24 14:15:49 +10:00
Christoph Oelckers
a703acea00
- consider swvoxfil.txt a known name for SW mods.
...
This allows the voxel pack to be dragged and dropped.
2023-09-23 14:51:18 +02:00
Christoph Oelckers
711813c36f
- fixed flat debug helper.
2023-09-23 14:03:59 +02:00
Christoph Oelckers
6e4dcc5bff
- fixed clipping range of artificially split sectors.
...
This caused render glitches on the barn in RR E1L1.
2023-09-23 13:32:09 +02:00
Christoph Oelckers
4a87003408
- backend update from GZDoom.
...
* Vulkan backend updated.
* zlib replaced with miniz.
* FileReader is now 64 bit capable.
* jpeg replaced with stb-image.
* CMake project warnings fixed.
2023-09-23 09:56:27 +02:00
Mitchell Richters
a3aa2e877e
- Exhumed: Repair use key clearing issue from ed2c557297
.
...
* It's important that the use button is cleared for Exhumed, just not in the game code like it was previously done.
* Fixes #971 .
2023-09-23 09:51:45 +10:00
Christoph Oelckers
1fe1359e5b
- fix incomplete palette generation for paletted rendering.
2023-09-22 21:26:40 +02:00
Christoph Oelckers
a41ebfeb73
- Duke: fixed the explosion's lighting hackery.
...
The animatesprites handler in the old code got called on the already animated sprite, meaning it will only activate for the first frame.
To do this right the code had to be moved to applyanimations and be guarded by a flag.
2023-09-10 20:42:26 +02:00
alexey.lysiuk
ecc0301f5b
- removed obsolete forward declarations
...
source/core/savegamehelp.h:10:1: error: declaration conflicts with target of using declaration already in scope
source/core/savegamehelp.h:13:24: error: reference to 'FileReader' is ambiguous
source/core/gameconfigfile.h:40:1: error: declaration conflicts with target of using declaration already in scope
source/core/gameconfigfile.h:61:27: error: reference to 'FileWriter' is ambiguous
2023-09-07 12:44:51 +03:00
Christoph Oelckers
e88d2fb6b4
- fixed directory loader
2023-08-23 22:09:09 +02:00
Christoph Oelckers
4ff6e9bc72
- fix altered virtuals and gave them an override qualifier.
2023-08-23 21:26:42 +02:00
Christoph Oelckers
ec18e022ca
- fix allocation for tile buffer.
2023-08-23 21:05:00 +02:00
Christoph Oelckers
82057bcd5a
- Backend update from GZDoom-
...
This compiles but doesn't run.
2023-08-23 20:36:19 +02:00
Christoph Oelckers
f2740e434a
- adapted game code.
2023-08-20 02:25:12 +02:00
Christoph Oelckers
2095a2120c
- consolidated the 4 ReadSound functions.
2023-08-19 18:11:19 +02:00
Christoph Oelckers
3c695a5abd
- adapted to backend changes.
2023-08-19 18:08:27 +02:00
Christoph Oelckers
6aa61e72b5
- backend update from GZDoom.
...
* cleanup on the sound init code.
* added #pragma once in several headers.
* macOS version detection overhaul.
2023-07-22 09:54:00 +02:00
Christoph Oelckers
8adc32c6c9
-fixed: tilenum 0 is a valid image for flat and wall sprites.
...
It's only invalid for face sprites.
2023-06-05 23:35:24 +02:00
Christoph Oelckers
fcb8e7614f
- new names and SWActor properties.
...
Not used yet
2023-06-03 10:16:48 +02:00
Christoph Oelckers
61bc698029
- sprite init code.
2023-06-01 22:08:42 +02:00
Christoph Oelckers
d7a00b76f1
- added extensions to texnames parser to handle fully rotated sprite animations in one line
...
Also define all sprites for Shadow Warrior.
2023-05-30 22:32:58 +02:00
Christoph Oelckers
54335f7215
- got rid of the tilenum variant of hud_drawsprite.
2023-05-30 19:08:26 +02:00
Christoph Oelckers
beb8368819
- more stateGroup wrapping
2023-05-28 08:24:56 +02:00
Christoph Oelckers
7eb713ab04
- wrap state setters so they can use state names.
2023-05-28 08:13:20 +02:00
Christoph Oelckers
c72e2dbbe0
- fix missing #include
2023-05-27 10:37:00 +02:00
Christoph Oelckers
d20c37e708
- reinstated the state's sprite frame code.
...
Having frames makes management a lot easier so let's keep it.
2023-05-27 10:11:30 +02:00
Christoph Oelckers
f3ea1e312a
- Backend update from GZDoom.
2023-05-27 10:10:42 +02:00
Christoph Oelckers
5dfb0c902a
- consolidation of sound init code.
2023-05-27 09:12:51 +02:00
Christoph Oelckers
92f2503160
- did a bit of optimization on sfxinfo_t.
...
Using two bytes of alignment gap to add a userval variable.
2023-05-27 09:03:10 +02:00
Christoph Oelckers
1468bedf4c
- don't print file-not-found errors for internal SNDINFO definitions.
2023-05-27 07:15:43 +02:00
Christoph Oelckers
1cb86af5f9
- give SW's sounds proper names and move their definition out of the EXE.
...
Also handle custom rolloff by the sound engine
2023-05-26 23:27:46 +02:00
Christoph Oelckers
0e64a38812
- ported a few SNDINFO options from GZDoom.
2023-05-26 18:56:42 +02:00
Mitchell Richters
b69dbe1db3
- Remove some debug leftovers.
2023-05-21 20:01:17 +10:00
Christoph Oelckers
147f5ac8a0
- added GZDoom's state manager.
...
We will need this for SW's actors
2023-05-21 09:59:22 +02:00
Christoph Oelckers
f58504250c
- remove DCoreActor::picnum's script export.
...
This is something we definitely do not want to export.
2023-05-21 07:54:16 +02:00
Christoph Oelckers
56f5e01c84
fix tileCRC
2023-05-20 18:08:58 +02:00
Christoph Oelckers
a2b2e2ec87
- got rid of tileHeight and tileWidth.
2023-05-20 18:08:40 +02:00
Christoph Oelckers
058f1b4233
- handle exclusion of tilenum 0 for sprites in the backend.
2023-05-20 12:55:58 +02:00
Christoph Oelckers
de6b5fec7b
- got rid of some 'picnum's that don't reference spritetype.
2023-05-20 10:59:03 +02:00
Christoph Oelckers
4e6023ea34
add a bit of vertical tolerance to neartag's sprite check.
...
This is not pitch aware and can cause problems with very small sprites on occasion.
2023-05-20 09:01:46 +02:00
Christoph Oelckers
a8e03723ef
- NOSHADOW flag.
2023-05-19 23:03:20 +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
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
3b0da4c221
- fix '-gamegrp' path
2023-05-19 22:53:16 +02:00
Christoph Oelckers
28e451311b
- fixed ActorInfo inheritance.
2023-05-19 22:50:47 +02:00
Christoph Oelckers
ecfa45c3ec
- Duke: fixed animation lookup code.
2023-04-30 10:51:48 +02:00
Christoph Oelckers
960e58cdf2
- move the action default propeerties into FActorInfo
2023-04-30 08:07:10 +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
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
Christoph Oelckers
5d4f137623
- migrated Duke's entire HUD weapon code to texture names.
2023-04-29 09:16:46 +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
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
918789705f
- Duke: Use the player's angle when adjusting vehicle's HUD rotation.
2023-04-24 22:44:22 +10:00
Mitchell Richters
14629e7b2b
- Clamp vehicle input to 1.5x the calculated velocity.
2023-04-24 22:18:40 +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
Christoph Oelckers
1c7ca7b63a
- moved all indirect precaching info to external definition files.
2023-04-23 17:43:22 +02:00
Christoph Oelckers
6924869895
- store texture IDs in the sprite set.
2023-04-23 17:42:07 +02:00
Christoph Oelckers
1bace1d508
- use texture IDs in the spawn records.
2023-04-23 17:33:50 +02:00
Christoph Oelckers
4692cc55f7
- cleaned up checkhitdefault
...
Only required 4 new flags plus one property...
2023-04-23 17:33:36 +02:00
Christoph Oelckers
524df20d26
- renamed most local picnum variables in shaded code to reduce search noise.
2023-04-23 17:33:35 +02:00
Mitchell Richters
a731db95ae
- Add initial support for up/down movement within the game, either by key or joystick axis.
...
* Started with Duke's jetpack, other games to follow for swimming, etc.
2023-04-23 19:53:45 +10:00
Mitchell Richters
e60e767232
- Break down some increasingly long lines in GameInput::processMovement()
.
2023-04-23 19:19:26 +10:00
Christoph Oelckers
fc0c8e0787
- NOHITJIBS flag.
2023-04-23 10:45:44 +02:00
Christoph Oelckers
cc83438e31
- replace dispicnum with dispictex
2023-04-23 10:32:58 +02:00
Christoph Oelckers
b2493116f8
- use texture IDs in the model interface.
2023-04-23 09:52:56 +02:00
Christoph Oelckers
1bc9de1cf0
- the last picnums in actors_r.cpp
2023-04-23 09:52:56 +02:00
Christoph Oelckers
14bf74c0f9
- turned adjustfall into a 'gravityfactor' property.
2023-04-23 09:51:24 +02:00
Christoph Oelckers
4812e1431e
- made fallspecial game independent and eliminated all the wrapping and callback weirdness with fall.
2023-04-23 09:43:20 +02:00
Christoph Oelckers
5a2410cbbb
- more properties to get rid of the remaining actor type checks in move_d and move_r.
2023-04-23 09:42:29 +02:00
Christoph Oelckers
c4c035a527
- handle more of move's special cases with flags and properties.
2023-04-23 09:42:28 +02:00
Christoph Oelckers
2d4eee4153
- eliminated the last references to picnum in actors.cpp.
2023-04-23 09:42:28 +02:00
Christoph Oelckers
0249725ed8
- got rid of all TILE_* globals, except TILE_CROSSHAIR.
2023-04-23 09:42:28 +02:00
Christoph Oelckers
46f7e38e46
- cleaned up movesprite_ex.
...
This needed 5 actor flags to handle some really inane special cases!
2023-04-23 09:42:27 +02:00
Mitchell Richters
175f858047
- Make scaletozero()
static again within gameinput.cpp.
2023-04-23 09:06:31 +10:00
Mitchell Richters
05cb6563f3
- Add roll output to stat coord
since we're now using this angle.
...
* Do a line split between coords and angles since it was getting a bit long.
* Was going to allow warping to a specific roll as well, but its pretty useless.
2023-04-23 09:03:02 +10:00
Mitchell Richters
0a90ed4802
- Remove some duplicated lines in PlayerAngles::doViewTilting()
.
2023-04-23 08:51:14 +10:00
Mitchell Richters
b179079168
- Move constant from previous commit into the class with the other constants.
2023-04-22 22:45:12 +10:00
Mitchell Richters
df30c01472
- Rework cl_viewtilting 1
to be consistent across games.
...
* Setup before from when it was Exhumed-only assumed a 30Hz clock. Needed adjusted variables and setup for Shadow Warrior.
2023-04-22 21:40:57 +10:00
Christoph Oelckers
927d014cea
- final cleanup on hitradius.
...
Several dead code paths were also removed that are unable to be triggered by any event in the game - due to the spaghetti-style checks this hadn't been obvious before.
Also one more flag that handles the WT flamethrower's special case of not hurting any actors of the shooter's kind in a more generalized form
2023-04-22 12:08:47 +02:00
Christoph Oelckers
ac430e6bc7
- another flag and the second old one renamed.
2023-04-22 12:08:47 +02:00
Christoph Oelckers
9ddb5987cd
- two new flags and one renamed one for hitradius.
...
slowly getting closer to sorting this one out. The new flags already make operation a lot clearer.
2023-04-22 12:08:47 +02:00
Christoph Oelckers
19f4e4ff63
- added a new flag and split out the geometry destruction part from the hitradius functions
...
... which suddenly look a lot less menacing...
2023-04-22 12:08:47 +02:00
Christoph Oelckers
65e66a573d
- Duke: look up all internally used actor classes at game startup.
...
This allows early validation of the names but is also more efficient.
2023-04-22 12:08:46 +02:00
Christoph Oelckers
36d5ab74bb
- eliminated lots of direct tile references in spawn() calls.
2023-04-22 12:08:46 +02:00