Mitchell Richters
d034d20cd1
- Duke: Use checkp()
in ParseState::parse()
to remove some duplicated code.
2023-11-10 12:00:50 +11:00
Mitchell Richters
fd394cddad
- Duke: Remove a few remaining triple negations missed in 7498be6f5d
.
2023-11-10 12:00:49 +11:00
Mitchell Richters
3625a6af52
- Move PlayerAngles
class directly into DCorePlayer
.
...
* No refactoring around it yet.
* The #includes could use some cleaning up...
2023-11-04 19:10:03 +11:00
Christoph Oelckers
6975b95402
Duke fixed two issues with displaying incorrect sprites
...
* We cannot check a projectiles owner because it may have been destroyed, so copy all info over
* CON changing an actor's type to one without class did not do anything at all.
2023-10-22 23:09:11 +02:00
Mitchell Richters
03a69c24b3
- Move syncinput mechanism into GameInput
object.
2023-10-05 13:10:47 +11:00
Mitchell Richters
c67af979cb
- Duke: Manual sweep for last replacements of player index for pointer.
2023-10-04 12:00:04 +11:00
Mitchell Richters
0d25bbe84a
- Duke: Remove PlayerInput()
wrapper.
...
* Regex used: `PlayerInput\(\w+\,\s?(SB_\w+)\)` -> `!!(p->cmd.ucmd.actions & $1)`.
2023-10-03 23:07:46 +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
c974e35a6b
- Duke: Clean up player/actor accesses in ParseState::parse()
.
2023-10-03 23:07:43 +11: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
Mitchell Richters
95d5e1f57d
- Duke: Clean up player/actor accesses in gameexec.cpp
.
2023-10-02 21:14:32 +11:00
Mitchell Richters
d90aca9640
- Directly store a ticcmd_t
object within CorePlayer
.
2023-10-02 17:00:50 +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
6d6872fea7
- Duke: Ensure player_struct::GetActor()
is exclusively used to get the player's actor.
2023-10-02 15:30:34 +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
c19653262e
- Duke: fix management of killit_flag.
...
This cannot be in the actor because event scripts can be called without a valid actor.
It is now part of the parse state, but execute allows returning it to the caller, which is needed in one place.
2023-07-22 10:24:20 +02:00
Christoph Oelckers
2a38e83a2f
- moved the animation code out of execute so it can be used without CON.
2023-04-30 08:57:28 +02:00
Christoph Oelckers
29322777dd
- adapt the animation init code for CON replaced actors and consolidated the two cases.
2023-04-30 08:46:51 +02:00
Christoph Oelckers
9d43729e8c
get rid of the killit_flag in the parse state.
...
Use the one in the actor instead.
2023-04-30 08:04:56 +02:00
Christoph Oelckers
44f4104eda
- got rid of the last tilenum uses in Duke.
...
This meant refactoring the crosshair drawer to work on a named texture called "CROSSHAIR" and hard coding the magic numbers for spawndebris.
2023-04-29 09:54:15 +02:00
Christoph Oelckers
8a331e226f
- handle cases where CON tries to spawn unknown actors.
...
It must fall back to spawning an inert sprite in these cases, not just fail.
2023-04-29 07:06:53 +02:00
Christoph Oelckers
1bace1d508
- use texture IDs in the spawn records.
2023-04-23 17:33:50 +02:00
Christoph Oelckers
fd7a4e050a
- no more picnum in gameexec.cpp
2023-04-23 12:15:36 +02:00
Christoph Oelckers
a6600c200f
- a lot of simple picnum or TILE_* replacements.
2023-04-23 10:45:43 +02:00
Christoph Oelckers
5d43975467
- store class pointers in weaprecs.
2023-04-23 10:36:39 +02:00
Christoph Oelckers
2f78a10ce1
- don't use picnum to address gs.actorinfo
2023-04-23 10:36:39 +02:00
Christoph Oelckers
cc83438e31
- replace dispicnum with dispictex
2023-04-23 10:32:58 +02:00
Christoph Oelckers
4812e1431e
- made fallspecial game independent and eliminated all the wrapping and callback weirdness with fall.
2023-04-23 09:43:20 +02:00
Christoph Oelckers
0b3f18a903
- consolidated move functions.
2023-04-23 09:42:29 +02:00
Christoph Oelckers
b78d268ef2
- clean up the lotsofstuff calls by correcting the class pointers on game load.
2023-04-23 09:42:27 +02:00
Christoph Oelckers
542083af30
- merged both hitradius variants, now that all the critical differences are properly handled by actor flags.
2023-04-22 12:08:47 +02:00
Christoph Oelckers
f78c971eac
- refactored shoot API to exclusively work with class pointers.
2023-04-22 12:08:46 +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
07102fbd39
- fixed missing CANNONBALLS texture alias.
2023-04-16 21:47:06 +02:00
Christoph Oelckers
a3da3a4c43
- added a large bunch of script exports.
2023-04-16 17:35:15 +02:00
Christoph Oelckers
ea96c66a93
- made some annotations in concmd_shoot how to deal with RRRA's merged projectiles.
2023-04-16 16:53:52 +02:00
Christoph Oelckers
cb8137c32b
- consolidated shoot_d and shoot_r.
2023-04-16 16:53:52 +02:00
Christoph Oelckers
60af1b4c62
- renamed temp_data[0] to 'counter' and map temp_data[5] to the now free temp_data[0].
...
This not only matches its use in CON but seems to be used as a counter in most other places as well.
The main reason is to improve readability of CON to ZScript conversions.
2023-04-12 21:54:33 +02:00
Christoph Oelckers
8bd88b8678
- migrate all script related info to the data stored in the actor classes.
...
This also needs cactor to really change the class descriptor now so that the correct script code is found.
2023-04-12 21:54:20 +02:00
Christoph Oelckers
947d427a9d
- merged tileinfo and actorinfo.
2023-04-12 21:52:28 +02:00
Christoph Oelckers
cc8495c31e
- got rid of the g_t pointer in the CON interpreter.
...
Using g_ac->temp_data now.
2023-04-12 20:07:12 +02:00
Christoph Oelckers
f0637cfc83
- moved actioncounter and curframe to a dedicated variable.
...
The third generic counter is not as easy to fix as its use is far more widespread
2023-04-12 20:07:12 +02:00
Christoph Oelckers
14dd9c3711
- refactored AI storage as well to not use ScriptCode anymore.
2023-04-12 20:07:11 +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
30ccbe2710
- moved actions out of the ScriptCode array and gave them a dedicated struct with meaningful member names.
2023-04-12 20:07:11 +02:00
Christoph Oelckers
c76c511da2
- moved sprite animation code out of 'execute'.
2023-04-12 20:07:10 +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