Christoph Oelckers
c12b94cf48
fix handling of super secrets in statistics code.
2023-12-05 22:39:29 +01:00
Christoph Oelckers
b67f2cb727
added some awful hackery to handle the different offsetting of Blood's native voxels vs. those imported via .DEF.
2023-12-05 22:39:29 +01:00
Christoph Oelckers
6229a6256c
fix compilation of release builds.
2023-12-05 22:39:28 +01:00
Mitchell Richters
395a4e5421
- Apply last remaining .GetChars()
fixes for POSIX targets.
2023-12-05 22:39:27 +01:00
Christoph Oelckers
0c397033f1
added the remaining needed GetChars calls.
2023-12-05 22:39:27 +01:00
Christoph Oelckers
7cffe6e3f0
a few Getchars
2023-12-05 22:39:26 +01:00
Mitchell Richters
7ba5d22d5d
- Bump MAXVOXELS
from 1024 to 2048.
2023-12-05 22:39:26 +01:00
Mitchell Richters
d3811c7816
- Add getTicrateAngle()
to reduce the amount of times DAngle::fromDeg()
needs to be called in input code.
2023-12-05 22:39:26 +01:00
Mitchell Richters
2ddd15b932
- Slight clean-up in gameinput.cpp.
2023-12-05 22:39:25 +01:00
Mitchell Richters
ddd39775e6
- Re-add lost paused
check in GameInput::GetInput()
.
2023-12-05 22:39:25 +01:00
Mitchell Richters
1e6ee7ee61
- Remove unnecessary clamp in PlayerAngles::doViewPitch()
.
2023-12-05 22:39:24 +01:00
Mitchell Richters
52b20e1f59
- Move syncinput mechanism into GameInput
object.
2023-12-05 22:39:24 +01:00
Mitchell Richters
0f1f3d804f
- Use DCorePlayer::GetActor()
inside of CCMD(warptocoords)
.
2023-12-05 22:39:23 +01:00
Mitchell Richters
0c13d4fe3a
- Fix most GCC warnings in the backend/common code code.
...
* Most of them were just signedness issues. Hopefully I got everything right here.
* 3rd party stuff deliberately not touched.
2023-12-05 22:39:23 +01:00
Mitchell Richters
084be1a45c
- Store scaleAdjust
directly inside the GameInput
object.
2023-12-05 22:39:23 +01:00
Mitchell Richters
bdf566b348
- Remove GameInput
friendships inside PlayerAngles
in lieu of a local inline function.
2023-12-05 22:39:23 +01:00
Mitchell Richters
18f362d68e
- Add player's view angles to stat coord
.
2023-12-05 22:39:19 +01:00
Mitchell Richters
561d756baa
- Duke: Repair SB_CENTERVIEW
not re-applying on the first tic.
2023-12-05 22:39:18 +01:00
Mitchell Richters
a6396cb491
- Centralise input clamping to occur centrally when the engine requests a packet.
2023-12-05 22:39:18 +01:00
Christoph Oelckers
60a36f4902
fix Vectoe3 clamp for real.
2023-12-05 22:39:17 +01:00
Mitchell Richters
e8451d3ddb
- Take better advantage of InputPacket::ang
's FRotator
status.
...
* Change it to a DRotator as that's what the game is expecting. Too many narrowings against DAngle objects needed.
* Utilise object methods where possible.
* Do all math against the object where possible, not its members.
2023-12-05 22:39:13 +01:00
Mitchell Richters
af8f3139ed
- Change InputPacket
angles to an FRotator
.
2023-12-05 22:39:12 +01:00
Mitchell Richters
3eaf7d2b87
- Make the last commit compile.
2023-12-05 22:39:12 +01:00
Mitchell Richters
e2a949949c
- Take better advantage of InputPacket::vel
's FVector3
status.
...
* Change it to a DVector3 as that's what the game is expecting. Too many narrowings against DAngle objects needed.
* Utilise object methods where possible.
* Do all math against the object where possible, not its members.
2023-12-05 22:39:12 +01:00
Mitchell Richters
8c1e392afc
- Remove the TVector2 (const TVector3<vec_t> &other)
constructor.
...
* This narrowing constructor was causing a problem with a `clamp()` overload in the next commit.
* Believe this is a product of a by-gone time before we had the `XY()` method on `TVector3<T>` objects.
2023-12-05 22:39:12 +01:00
Mitchell Richters
592d416485
- Change InputPacket
velocities to an FVector3
.
2023-12-05 22:39:12 +01:00
Mitchell Richters
19c64e55c4
- SW: Consistently apply SOP angle scaling to pitch as well as yaw.
2023-12-05 22:39:11 +01:00
Mitchell Richters
ae0de2d6aa
- Clean up serialisers in savegamehelp.cpp
.
2023-12-05 22:39:09 +01:00
Christoph Oelckers
a6467d2c9a
use a TArray for the screenshot buffer.
2023-12-05 22:39:09 +01:00
Christoph Oelckers
3e47edb677
Revert "fixed CollisionData export."
...
This reverts commit fe02190604
.
2023-12-05 22:39:09 +01:00
Mitchell Richters
8bed6c9241
- Centralise the saving of player actions within DCorePlayer
's serialiser.
2023-12-05 22:39:08 +01:00
Christoph Oelckers
c02cff1e48
fix saving.
2023-12-05 22:39:07 +01:00
Christoph Oelckers
5448f6ec2c
turn players into DObjects and fix several bugs with bad memory access.
...
* DObjects may not be memset to 0.
* There was still code trying to retrieve the player index with pointer artithmetic. With an array of pointers this does not work.
2023-12-05 22:38:34 +01:00
Christoph Oelckers
1ce8ceac5d
fixed GC handling of players.
...
These were missing null checks, the player pointers also weren't nulled after deleting the objects.
2023-12-05 22:03:57 +01:00
Mitchell Richters
ac35e09d1c
- Move each game's stored nPlayer/pnum value to CorePlayer
.
2023-10-02 18:44:04 +11:00
Mitchell Richters
16189ff7f9
- Remove GameInterface::getConsoleActor()
in place of direct access.
2023-10-02 18:11:53 +11:00
Mitchell Richters
6de8fc91d6
- Remove GameInterface::reapplyInputBits()
and directly perform operation in GameTicker()
.
2023-10-02 18:11:51 +11:00
Mitchell Richters
02bd017d07
- Directly set CorePlayer::ucmd
rather than copying it to a temporary array.
2023-10-02 17:00:50 +11:00
Mitchell Richters
d90aca9640
- Directly store a ticcmd_t
object within CorePlayer
.
2023-10-02 17:00:50 +11:00
Mitchell Richters
7953fe7425
- Delete all players upon engine shutdown.
2023-10-02 17:00:50 +11:00
Mitchell Richters
23d4cbc3bd
- Remove all game-side PlayerArray[]
objects and store within common code.
2023-10-02 15:43:00 +11:00
Mitchell Richters
1604cf009c
- Move the actor pointer for each game's player structures into CorePlayer
.
...
* Something strange was going on here with Blood where the static_cast would not work... Moved the player structure into `bloodactor.h` for now to work around it.
2023-10-02 15:42:59 +11:00
Mitchell Richters
6beec5eed2
- Set up initial implementation of CorePlayer
struct and make game-side player structs inherit from it.
2023-10-02 15:42:59 +11:00
Mitchell Richters
eeb9f48436
- Fix uncommitted change missed from 7fa5df934b
.
2023-10-02 15:30:32 +11:00
Christoph Oelckers
ee07ae35aa
retrieve time in fillSummary.
2023-10-01 12:10:56 +02:00
Christoph Oelckers
4dcf0fd3c4
get rid of the GetStats interface function.
...
Now that all data it retrieves is available in shared code it is no longer needed.
2023-10-01 11:48:32 +02:00
Christoph Oelckers
19dfd84320
use global stat manager in SW
2023-10-01 10:33:07 +02:00
Christoph Oelckers
3e821c5849
use global stat manager in Duke
2023-10-01 10:07:54 +02:00
Christoph Oelckers
4af7a649b6
move kill/secret management into the shared code
...
Implemented for Blood so far, this gets rid of gKillMgr and gSecretMgr
2023-10-01 10:07:45 +02:00
Christoph Oelckers
26ba62dc62
Blood: cleanup of INI loading
...
* use snprintf instead of sprintf
* keep the IniFile object local
* get rid of the FreeGameData interface function, it only existed to free the global INI object.
2023-09-30 22:34:09 +02:00
Mitchell Richters
88939a9c60
- Do a memset()
in PlayerAngles::initialize()
instead of value initialisation.
2023-09-29 08:31:48 +10:00
Mitchell Richters
092d8e7937
Revert "- Favour value initialisation in GameInput::Clear()
instead of a memset()
."
...
This reverts commit 59acdde9c9
.
Apparently this can generate terrible code with MSVC for some reason.
2023-09-29 08:31:03 +10:00
Mitchell Richters
f8ee893529
- Move I_GetEvent()
call into GameInput::getInput()
.
2023-09-28 22:16:31 +10:00
Mitchell Richters
04ac4561a8
- Exhumed: Set up cl_viewbob
so its disabled by default since the game never had it.
2023-09-28 22:16:30 +10:00
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