Commit graph

184 commits

Author SHA1 Message Date
Mitchell Richters
7e393e04a5 - Duke: Remove casts from setting RR vehicle velocities and consolidate setup into an inline. 2023-12-05 22:39:24 +01:00
Mitchell Richters
66a77ea860 - Duke: Manual sweep for last replacements of player index for pointer. 2023-12-05 22:39:21 +01:00
Mitchell Richters
74a5a7584e - Duke: Clean up player/actor accesses in checkcursectnums(). 2023-12-05 22:39:15 +01:00
Mitchell Richters
2720c6f8c6 - Duke: Move PlayerUseItem() wrapper into DDukePlayer. 2023-12-05 22:39:14 +01:00
Mitchell Richters
4aeb19df84 - Duke: Move PlayerUseItem() wrapper into DDukePlayer.
* Regex used: `PlayerUseItem\(\w+\,\s?(\w+)\)` -> `p->itemUsed($1)`.
2023-12-05 22:39:14 +01:00
Mitchell Richters
487459afd7 - Duke: Remove PlayerInput() wrapper.
* Regex used: `PlayerInput\(\w+\,\s?(SB_\w+)\)` -> `!!(p->cmd.ucmd.actions & $1)`.
2023-12-05 22:39:13 +01:00
Mitchell Richters
14cf143739 - Duke: Remove PlayerInputBits() wrapper. 2023-12-05 22:39:13 +01:00
Mitchell Richters
97504df124 - Duke: Remove PlayerSetInput() wrapper. 2023-12-05 22:39:13 +01:00
Mitchell Richters
d7fbd8b348 - Duke: Remove PlayerNewWeapon() wrapper. 2023-12-05 22:39:13 +01:00
Mitchell Richters
beb083e471 - Duke: Got rid of two more InputPacket wrappers. 2023-12-05 22:39:13 +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
592d416485 - Change InputPacket velocities to an FVector3. 2023-12-05 22:39:12 +01:00
Mitchell Richters
4e9f2ef3f7 - Duke: Get rid of two InputPacket wrappers. 2023-12-05 22:39:11 +01:00
Mitchell Richters
54d307a7e6 - Move doslopetilting() into DDukePlayer. 2023-12-05 22:39:11 +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
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
6d2124dd01 - Duke: Initial setup to convert PlayerArray array to array of DukePlayer pointers. 2023-10-02 15:43:00 +11:00
Mitchell Richters
6a367c6184 - Duke: Rename ps[] array to PlayerArray[] and wrap its access. 2023-10-02 15:41:15 +11:00
Mitchell Richters
bd9e42bb40 - Duke: Rename player_struct struct to DukePlayer. 2023-10-02 15:41:13 +11:00
Mitchell Richters
719cc75fd2 - Duke: Rename player_struct::sync to player_struct::input to match the other games. 2023-10-02 15:30:32 +11:00
Christoph Oelckers
3e821c5849 use global stat manager in Duke 2023-10-01 10:07:54 +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
4692cc55f7 - cleaned up checkhitdefault
Only required 4 new flags plus one property...
2023-04-23 17:33:36 +02:00
Christoph Oelckers
cd2cb8d60e - minor cleanup 2023-04-23 12:15:36 +02:00
Christoph Oelckers
2f78a10ce1 - don't use picnum to address gs.actorinfo 2023-04-23 10:36:39 +02:00
Christoph Oelckers
b56aa1e1a3 - no more picnum in spawn CCMD 2023-04-23 10:36:38 +02:00
Christoph Oelckers
0249725ed8 - got rid of all TILE_* globals, except TILE_CROSSHAIR. 2023-04-23 09:42:28 +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
947d427a9d - merged tileinfo and actorinfo. 2023-04-12 21:52:28 +02:00
Christoph Oelckers
a155a09f9f - deleted the setflag inlines. 2023-04-12 20:07:12 +02:00
Christoph Oelckers
b9702fbb66 - moved 'move' data out of the ScriptCode array as well. 2023-04-12 20:07:11 +02:00
Christoph Oelckers
94b676bd7c - wrapped access to the current 'move' values read from CON. 2023-04-12 20:07:11 +02:00
Christoph Oelckers
da0b429751 - migrated attackertype to class objects. 2023-04-09 09:46:09 +02:00
Christoph Oelckers
ae4ef6401c - use the actual actor flags.
Not fully working yet...
2023-04-09 09:45:42 +02:00
Christoph Oelckers
f4c176988a - first round of flag additions. 2023-04-09 09:35:36 +02:00
Christoph Oelckers
60339a217c - moved a lot of shareable code out of the CON interpreter. 2023-04-07 13:15:06 +02:00
Christoph Oelckers
7a699e032f - cleaned up Duke's very broken kill count system.
This now uses a static flag to denote an actor as countable and an internal flag to track its killed state, because CON can toggle that at will.
2023-04-07 09:49:20 +02:00
Mitchell Richters
c4041affb1 - Duke: Reduce boilerplate from previous commit. 2023-03-16 22:24:34 +11:00
Mitchell Richters
18ef460a99 - Tidy up interface for PlayerAngles::doViewPitch() since we have internal access to the player's actor. 2023-03-14 21:45:36 +11:00
Christoph Oelckers
4a306a21dc - split several texture flags off into a surface type value.
Using the same field in the TexExtInfo struct as Blood's surfType.
This frees up a lot of flags for later use.
2022-12-18 13:56:54 +01:00
Christoph Oelckers
6848af9b6c - use texture IDs in Duke's texture flag checkers. 2022-12-18 13:42:28 +01:00
Christoph Oelckers
8a789b9015 - voxel management cleanup.
Moving the voxel index into the texExtInfo array and removing most of Blood's and SW's special handling.
2022-12-18 13:18:43 +01:00
Christoph Oelckers
20edd800f9 - big texture system refactor.
Finally that quickly slapped together BuildTiles class is gone and replaced with something that better integrates with the underlying texture manager
2022-12-18 13:05:58 +01:00
Mitchell Richters
3eb3a29a7e - Duke: Tidy up animateshrunken(). 2022-12-11 19:46:26 +01:00
Christoph Oelckers
a63ee8079a - implemented customizable breakable walls and ported all hard coded variants to use this. 2022-12-11 19:43:57 +01:00
Mitchell Richters
2c592405fa - Separate pitch/yaw key input into separate functions and apply from the ticker. 2022-12-11 19:43:56 +01:00
Mitchell Richters
9437ea9622 - Move input vector rotation for Duke and SW into the playsim.
* The next commit needs this to ensure the vector is rotated using the most current angle.
2022-12-11 19:43:55 +01:00
Christoph Oelckers
9ad8f67ce9 - added isEffector inline and exported NATURALLIGHTNING which got a bit in the way. 2022-12-11 19:43:52 +01:00