Mitchell Richters
a179527209
- Slight clean-up in gameinput.cpp.
2023-10-05 19:23:33 +11:00
Mitchell Richters
35aa81d912
- Re-add lost paused
check in GameInput::GetInput()
.
2023-10-05 15:08:24 +11:00
Mitchell Richters
29fc1240b4
- Remove unnecessary clamp in PlayerAngles::doViewPitch()
.
2023-10-05 13:25:02 +11:00
Mitchell Richters
03a69c24b3
- Move syncinput mechanism into GameInput
object.
2023-10-05 13:10:47 +11:00
Mitchell Richters
98e83fcc3a
- Use DCorePlayer::GetActor()
inside of CCMD(warptocoords)
.
2023-10-04 19:32:24 +11:00
Mitchell Richters
7e3a1dfb1e
- 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-10-04 19:28:26 +11:00
Mitchell Richters
94e23343e1
- Store scaleAdjust
directly inside the GameInput
object.
2023-10-04 19:28:25 +11:00
Mitchell Richters
80dd01aef0
- Remove GameInput
friendships inside PlayerAngles
in lieu of a local inline function.
2023-10-04 19:28:25 +11:00
Mitchell Richters
cf38a7b1c1
- Add player's view angles to stat coord
.
2023-10-04 09:51:20 +11:00
Mitchell Richters
686b121e45
- Duke: Repair SB_CENTERVIEW
not re-applying on the first tic.
2023-10-04 09:27:15 +11:00
Mitchell Richters
fd07347bce
- Centralise input clamping to occur centrally when the engine requests a packet.
2023-10-04 08:56:19 +11:00
Christoph Oelckers
77f61004c3
fix Vectoe3 clamp for real.
2023-10-03 14:57:17 +02:00
Mitchell Richters
d6de57095d
- 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-10-03 23:07:45 +11:00
Mitchell Richters
1732cd2e83
- Change InputPacket
angles to an FRotator
.
2023-10-03 23:07:45 +11:00
Mitchell Richters
95fc2ac6f1
- Make the last commit compile.
2023-10-03 23:07:45 +11:00
Mitchell Richters
f88d435335
- 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-10-03 23:07:44 +11:00
Mitchell Richters
828e46a8da
- 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-10-03 23:07:44 +11:00
Mitchell Richters
f570cb5d21
- Change InputPacket
velocities to an FVector3
.
2023-10-03 23:07:44 +11:00
Mitchell Richters
6cff02d33b
- SW: Consistently apply SOP angle scaling to pitch as well as yaw.
2023-10-03 23:07:43 +11:00
Mitchell Richters
a2185644e1
- Clean up serialisers in savegamehelp.cpp
.
2023-10-03 23:07:41 +11:00
Christoph Oelckers
3eeee794e5
use a TArray for the screenshot buffer.
2023-10-03 13:41:35 +02:00
Christoph Oelckers
09754467ee
Revert "fixed CollisionData export."
...
This reverts commit fe02190604
.
2023-10-03 13:36:19 +02:00
Mitchell Richters
03d957ffdf
- Centralise the saving of player actions within DCorePlayer
's serialiser.
2023-10-03 09:28:01 +11:00
Christoph Oelckers
d815eff5d1
fix saving.
2023-10-02 21:38:58 +02:00
Christoph Oelckers
dd2ea96d6c
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-10-02 21:03:59 +02:00
Christoph Oelckers
d60834be3d
fixed GC handling of players.
...
These were missing null checks, the player pointers also weren't nulled after deleting the objects.
2023-10-02 19:03:27 +02:00
Christoph Oelckers
02c6b68581
Merge remote-tracking branch 'remotes/origin/playerArray' into blood-script-export
2023-10-02 18:51:51 +02: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
762263671a
exported the main structures in Blood that make up a BloodActor.
...
nnext stuff was omitted for now.
This also eliminates the DUDEEXTRA_STATS substructure and integrates its content directly into DUDEEXTRA.
2023-10-01 22:25:08 +02:00
Christoph Oelckers
fe02190604
fixed CollisionData export.
2023-10-01 21:06:53 +02:00
Christoph Oelckers
3aafcb94f1
exported XSECTOR and XWALL.
...
this required an extension to the ZScript front end to allow defining the bitfield flag variables which cannot have their address taken.
2023-10-01 20:39:40 +02:00
Christoph Oelckers
5a26989d06
exported the game specific sector/wall properties.
2023-10-01 18:54:10 +02:00
Christoph Oelckers
f71000fe6f
wrapped all remaining access to type.
2023-10-01 14:06:59 +02: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