Christoph Oelckers
031fb2ea4e
- SW: refactored states to use a Doom-like state model.
2023-10-08 09:41:16 +02:00
Christoph Oelckers
6250906879
implemented proper handling of VM functions as identifiers.
2023-10-08 09:41:15 +02:00
Christoph Oelckers
11f094c7fb
reference event callbacks by name, not by internal index.
...
This is needed to allow writing new callbacks.
2023-10-08 09:41:15 +02:00
Christoph Oelckers
cb443d443c
Blood projectile scriptification.
2023-10-08 09:41:14 +02:00
Christoph Oelckers
9340f39053
use the actor's metadata in PickupAmmo
...
This allows removing the AmmoItemData array.
Also make some tweaks to handle the nnext extension for customizable ammo amount given. Instead of tying it to gModernMap this now also uses a feature flag that will later be exposed to RMAPINFO.
2023-10-08 09:41:11 +02:00
Christoph Oelckers
64d8fd6072
Blood: scriptified item spawning
...
This was merely a testbed with a limited amount of code, the biggest gain here is that the spawning no longer depends on item IDs but classes so new ones can be added later.
2023-10-08 09:41:11 +02:00
Christoph Oelckers
4c34f414dc
added the remaining needed GetChars calls.
2023-10-08 09:15:32 +02:00
Christoph Oelckers
a2b93fdc23
a few Getchars
2023-10-08 08:09:05 +02:00
Mitchell Richters
6b35be636a
- Bump MAXVOXELS
from 1024 to 2048.
2023-10-08 08:18:05 +11:00
Mitchell Richters
961770ea31
- Add getTicrateAngle()
to reduce the amount of times DAngle::fromDeg()
needs to be called in input code.
2023-10-08 08:17:40 +11:00
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