Christoph Oelckers
74f6ff0c03
we really do not need to pack the GAMEOPTIONS struct...
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
Mitchell Richters
52b20e1f59
- Move syncinput mechanism into GameInput
object.
2023-12-05 22:39:24 +01:00
Mitchell Richters
526db7f8b0
- Fix all GCC warnings in the game-side code.
...
* Most of these were due to mixed spaces/tabs playing nastiness with non-braced if/else statements.
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
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
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
8bed6c9241
- Centralise the saving of player actions within DCorePlayer
's serialiser.
2023-12-05 22:39:08 +01:00
Mitchell Richters
7a408582bc
- Blood: Fix missing call to Super while saving.
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
Christoph Oelckers
6dd27f2262
directory structure cleanup
2023-12-05 21:58:36 +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
23d4cbc3bd
- Remove all game-side PlayerArray[]
objects and store within common code.
2023-10-02 15:43:00 +11:00
Mitchell Richters
0aac044da6
- Blood: Initial setup to convert PlayerArray
array to array of BloodPlayer
pointers.
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
0ed54ed719
- Blood: Rename gPlayer[]
array to PlayerArray[]
and wrap its access.
2023-10-02 15:31:05 +11:00
Mitchell Richters
49104f9b24
- Blood: Rename PLAYER
struct to BloodPlayer
.
2023-10-02 15:30:51 +11:00
Mitchell Richters
2755b17fd5
- Blood: Wrap access to player's actor pointer.
2023-10-02 15:30:34 +11:00
Christoph Oelckers
295d9e690b
remove unneeded non-standard includes from inifile.cpp
2023-10-01 14:00:26 +02:00
Christoph Oelckers
716e059374
use shared SplitPath function
2023-10-01 13:09:22 +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
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
Christoph Oelckers
bb6d6ae83b
replaced Ini-parser with a reworked version from Blood RE.
...
This was mainly for the license.
2023-09-30 21:47:17 +02:00
Christoph Oelckers
31541fd8ae
correct else placement in calebSwimChase.
2023-09-29 20:22:56 +02:00
Christoph Oelckers
e072380470
Blood: fixed bad order of random numbers.
2023-09-29 20:11:34 +02: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
7fa5df934b
- Make playercmds[]
non-global and pass through as pointer.
2023-09-28 22:16:30 +10:00
Mitchell Richters
4958241c57
- Blood: Slight cleanup on 32480dde16
.
2023-09-28 22:16:29 +10:00
Christoph Oelckers
b05b409695
Blood: removed 3 unused members in PLAYER
2023-09-28 11:45:16 +02:00
Christoph Oelckers
f46db83ab3
removed two leftover floatification helpers.
2023-09-28 11:43:14 +02:00
Christoph Oelckers
aea46548bd
moved all Is***Sprite function to animatesprite.cpp because that's the only place they still get used from.
...
Naked sprite pointers have been removed everywhere else.
2023-09-28 11:41:35 +02:00
Christoph Oelckers
7e63ccd57a
Blood: get rid of the mirror struct and related data.
...
This is a relic of Polymost.
2023-09-26 23:34:08 +02:00
Christoph Oelckers
bcad8a85d2
renamed at* fields in gib.cpp
2023-09-26 23:34:08 +02:00
Christoph Oelckers
3625a510d2
took a hint from Blood-RE and replaced that awful reconstructed sorting function with the qsort call it most likely originally was.
2023-09-26 23:34:08 +02: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
ce236c795f
- Blood: Don't attenuate view rolling when swimming.
...
* Blood's input and drag system is much more developed than the other games and further attenuation is not needed here.
2023-09-25 17:00:10 +10:00
Mitchell Richters
9ad0af4479
- Blood: Better fix for view rolling under all circumstances.
...
* Why is everything so difficult in Blood? 😕
* Do StrafeVel drag/resistance before `MoveDude()` as it may never be called if there's no velocity.
* Avoid using `mulscale16r()` in algorithm as we simply don't need to here.
* Move `doRollInput()` call into same area where drag is applied so all the code is concentrated in one spot.
2023-09-25 16:42:11 +10:00
Mitchell Richters
2916fe596f
- Blood: Fix view rolling while underwater.
2023-09-24 20:00:11 +10:00