Mitchell Richters
9529e8fa67
- Duke: Clean up player/actor accesses in game.cpp
.
2023-12-05 22:39:10 +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
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
6d6872fea7
- Duke: Ensure player_struct::GetActor()
is exclusively used to get the player's actor.
2023-10-02 15:30:34 +11:00
Christoph Oelckers
76e77d4e64
- Duke: fix enemy counting
2023-08-06 09:59:33 +02:00
Christoph Oelckers
ce34ef2921
- Duke: fixed skill filter handling for CON defined enemies.
2023-07-17 00:32:27 +02:00
Christoph Oelckers
43bc6edba3
- print errors in red.
2023-05-20 09:11:14 +02:00
Christoph Oelckers
513de38723
- pass the spawner to Initialize as an explicit parameter.
...
Using ownerActor is not robust, for some actors this will have unwanted side effects.
2023-05-19 22:57:26 +02:00
Christoph Oelckers
7bb678bb7e
- fixed 'move' property handler to properly store its z value.
2023-04-30 13:33:05 +02:00
Christoph Oelckers
ecfa45c3ec
- Duke: fixed animation lookup code.
2023-04-30 10:51:48 +02:00
Christoph Oelckers
4010fc1aa7
- Duke: init the animation arrays early.
...
app_init is too late for having the data set up during script compilation.
2023-04-30 10:51:48 +02:00
Christoph Oelckers
96b0542cd8
- flag all actors that override RunState.
...
This is for allowing quick checks of actors which need the special consideration.
2023-04-30 09:01:28 +02:00
Christoph Oelckers
21a37d2c07
- added helpers needed to run CON replacement code.
...
* killit must exit to the top level right away. Use an exception for this.
* two new flags to make checking easier.
* do not export killit_flag to scripting.
2023-04-30 08:11:30 +02:00
Christoph Oelckers
960e58cdf2
- move the action default propeerties into FActorInfo
2023-04-30 08:07:10 +02:00
Christoph Oelckers
47f9642294
- added compile time validation for SetAction, SetAI and SetMove.
...
the expression classes were deleted again, this can be done without them.
2023-04-29 10:09:36 +02:00
Christoph Oelckers
f1f1e54e04
- moved the remaining content of the flags* files directly into game.cpp
2023-04-29 09:59:54 +02:00
Christoph Oelckers
6fd4368592
- moved Duke/RR's tile name list to raze.pk3, now that internally it is not used anymore.
...
This way it can later also be used by editors.
2023-04-29 09:55:48 +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
1c7ca7b63a
- moved all indirect precaching info to external definition files.
2023-04-23 17:43:22 +02:00
Christoph Oelckers
1bace1d508
- use texture IDs in the spawn records.
2023-04-23 17:33:50 +02:00
Christoph Oelckers
125ea52e57
- handle special case for activation sounds when player bumps into other actors.
2023-04-23 17:33:35 +02:00
Christoph Oelckers
46f7e38e46
- cleaned up movesprite_ex.
...
This needed 5 actor flags to handle some really inane special cases!
2023-04-23 09:42:27 +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
a3da3a4c43
- added a large bunch of script exports.
2023-04-16 17:35:15 +02:00
Christoph Oelckers
cb8137c32b
- consolidated shoot_d and shoot_r.
2023-04-16 16:53:52 +02:00
Christoph Oelckers
0a91a9a199
- route checkhitsprite fully through the virtual interface so that the player class can finally be exported.
2023-04-12 22:02:01 +02:00
Christoph Oelckers
c418356420
- added the action, move and ai properties.
2023-04-12 21:52:56 +02:00
Christoph Oelckers
ebf7b4a121
- copy the CON defined info into the actual actors.
...
Only using the strength value right now.
2023-04-12 20:29:37 +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
da0b429751
- migrated attackertype to class objects.
2023-04-09 09:46:09 +02:00
Mitchell Richters
b07732bae4
- Duke: Remove duplicated call to SetupGameButtons()
that's done globally in RunGame()
.
2023-03-18 09:15:17 +11:00
Mitchell Richters
a93342df85
- Duke: Only store one VMValue
member on the stack in CallInitialize()
.
2023-01-05 20:56:04 +11:00
Christoph Oelckers
b980789ddf
- skip switch animation checks for custom switch actors.
2022-12-29 14:01:39 +01:00
Christoph Oelckers
2386ea9930
- implemented the 3 special switches
...
That's the developer commentary icon in World Tour, the deactivation switch for the chicken processing plant in RR and one shootable alarm bell in RRRA.
2022-12-29 13:32:30 +01:00
Mitchell Richters
adc2396f31
- Duke: Extend fix from previous commit to appropriately resize the VMValue
array also.
2022-12-24 15:41:37 +11:00
CandiceJoy
a943652799
Fixed a Mac debug build crash where CallAnimate attempted to pass one too many parameters to the VM.
2022-12-23 10:38:59 +01:00
Christoph Oelckers
837e4d1438
- eliminated many uses of wallpicnum.
...
The ones left require a bit more work on the data first.
2022-12-18 15:11:08 +01:00
Christoph Oelckers
e78fd90f67
- adapted sky code for using texture IDs.
2022-12-18 14:42:27 +01:00
Christoph Oelckers
1a98f9b478
- Duke: change all checks for mirrors to texture IDs
2022-12-18 13:52:10 +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
Christoph Oelckers
58db09969c
- moved tileForName out of BuildTiles.
...
Just pulling one change out of the big upcoming refactor commit.
2022-12-11 19:45:18 +01:00
Christoph Oelckers
ede5b017ab
- renamed walltype::picnum to wallpicnum for easier searching.
2022-12-11 19:43:58 +01:00
Christoph Oelckers
51ad64f71e
- initialize all special tiles to their intended type before starting the game.
...
This ensures that we have an immutable mapping of tile number to texture ID now.
2022-12-11 19:43:58 +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