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
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
62ace9371f
- moved the 3 actor properties out of the global data.
2023-04-12 20:07:12 +02:00
Christoph Oelckers
7f758eef2b
- got rid of the script-side flag wrappers.
2023-04-09 09:46:09 +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
3dd87cfd7f
- got rid of checkType.
2023-04-07 12:22:46 +02:00
Christoph Oelckers
f2d802b537
- exported RR's remaining controllers.
2023-04-07 12:22:45 +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
Christoph Oelckers
52ea497b50
- fixed lotsofstuff VM export.
2023-04-02 13:19:35 +02:00
Christoph Oelckers
7f240a0a7a
- converted all remaining classes used by PicForName.
...
This means all functions using this can now pass class pointers directly to the native code.
2023-04-02 13:13:45 +02:00
Christoph Oelckers
9b96f8312a
- pig cop converted
2023-04-02 13:13:06 +02:00
Christoph Oelckers
bc50f596e8
- exported two more classes used by PicForName.
2023-04-02 13:10:34 +02:00
Christoph Oelckers
7b4d5eb26d
- scriptified SHRINKEREXPLOSION and WATERBUBBLE.
2023-04-02 13:10:26 +02:00
Christoph Oelckers
673ea69d35
- scriptified a few more skeleton items needed by PicforName.
2023-04-02 13:00:13 +02:00
Christoph Oelckers
ccc048136f
- exported TOILETWATER, BURNING and EXPLOSION2.
...
All types needed for cleaning up PicForName
2023-04-02 13:00:13 +02:00
Mitchell Richters
81650036e6
- Duke/RR: Remove vehForward/Reverse variables from player struct.
...
* Back in 2020, I was trying to tidy stuff up and had no idea about network awareness, etc.
* The original game misused network bits here, however I don't see why the player's angle can't just be tested for signedness. Again, something I didn't see way back when...
2023-03-19 20:55:39 +11:00
Mitchell Richters
37e9cfed45
- Duke/RR: Remove vehBraking variable from player struct.
...
* Back in 2020, I was trying to tidy stuff up and had no idea about network awareness, etc.
* We must continue the misuse of network bits like the original game did to make sure the RRRA vehicles are network aware.
2023-03-19 20:54:43 +11:00
Mitchell Richters
31f8de3854
- Duke/RR: Remove vehTurn variables from player struct.
...
* Back in 2020, I was trying to tidy stuff up and had no idea about network awareness, etc.
* The original game misused network bits here, however I don't see why the player's angle can't just be tested for signedness. Something I didn't see way back when...
2023-03-19 20:54:19 +11:00
Mitchell Richters
d6b68dec5e
- Duke: Remove player_struct::resurrected
flag I added in 2021 and fix issue properly.
...
* The check for `player_struct::dead_flag` in `FinalizeInput()` was overzealous and is not checked in the original code in this instance.
2023-03-17 12:29:37 +11:00
Christoph Oelckers
4328016963
- move the remaining parts of spawninitdefault to DukeActor::Initialize.
...
This ensures proper execution of all code - spawninitdefault was designed to be the fallback for actors without a special case in spawninit.
2023-01-28 16:33:35 +01:00
Christoph Oelckers
9783b8c402
- scriptified World Tour's flamethrowerflame.
...
The first of 3 mixed native/CON items which are the last things remaining in the main thinker loops.
2023-01-28 16:31:45 +01:00
Christoph Oelckers
d064706f93
- got rid of wallpicnum and overpicnum.
...
All map geometry npw uses texture IDs and no longer depends on Build's tile system.
(What's missing is a new map format, though, but this was a necessary prerequisite to make that worthwile...)
2022-12-29 14:14:53 +01:00
Christoph Oelckers
90702ae2f5
- consolidated the animwall code by using texture flags.
...
This is way too hacky for generalization. For that newly defined control actors are surely a better option.
2022-12-29 14:14:53 +01:00
Christoph Oelckers
8dfbbc8220
- migrated floorpicnum and ceilingpicnum to FTextures.
...
The sky code still needs some work.
2022-12-18 14:32:52 +01: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
1a98f9b478
- Duke: change all checks for mirrors to texture IDs
2022-12-18 13:52:10 +01:00
Christoph Oelckers
6848af9b6c
- use texture IDs in Duke's texture flag checkers.
2022-12-18 13:42:28 +01:00
Christoph Oelckers
e9acd74157
- added a fallback in shoot_* for incompletely ported items.
2022-12-18 00:34:17 +01:00
Christoph Oelckers
f45265352d
- added a few class types needed for RR's UFO spawners.
2022-12-13 15:49:09 +01:00
Christoph Oelckers
13e6718153
- added mapSpawned member to DDukeActor
...
Duke uses the owner a lot to check if an actor was spawned at map start or in-game, but that depends a lot on stale pointers being maintained, which our garbage collected system does not allow. So this field now serves as a more reliable stand-in for these cases.
No actual changes yet.
2022-12-13 10:36:45 +01:00
Christoph Oelckers
87ff99caa1
- fixed typo
2022-12-12 09:26:43 +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
e26d9106aa
- handle all occurences of tileWidth and tileHeight using spritetypebase::picnum.
2022-12-11 19:44:01 +01:00
Christoph Oelckers
ede5b017ab
- renamed walltype::picnum to wallpicnum for easier searching.
2022-12-11 19:43:58 +01:00
Christoph Oelckers
a08db47528
- exported all breakable ceilings.
...
Very simple stuff with instant profit. :)
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
Christoph Oelckers
c1a09196f0
- implemented breakable walls with external definitions.
...
The scripted case does not work yet due to bad loading order of files.
2022-12-11 19:43:57 +01:00
Mitchell Richters
470b4efac8
- Remove PlayerAngles::setYaw()
method usage and remaining associated code.
2022-12-11 19:43:56 +01:00
Mitchell Richters
7a7758efaa
- Remove PlayerAngles::addPitch()
method usage.
2022-12-11 19:43:56 +01:00
Christoph Oelckers
6fb263d61b
- converted the two last non-CON-based active items - RRRA's empty bike and boat.
2022-12-11 19:43:54 +01:00
Christoph Oelckers
6de147b77f
- moved the CON execute call to DDukeActor::Tick and removed a large portion of the special handling for scriptified actors.
2022-12-11 19:43:54 +01:00
Christoph Oelckers
1cfba8e989
- cleaned up the main thinker loops, using a flag to denote actors that are not on STAT_ACTOR but need to run CON code.
...
This should not be automatic as it may cause problems with mods not expecting this.
2022-12-11 19:43:54 +01:00
Christoph Oelckers
bdc474d04f
- scriptified all remaining Duke actors with specific init code and no CON part.
2022-12-11 19:43:53 +01:00
Christoph Oelckers
d83e203b8d
- renamed a few RR sprites plus one associated global variable.
2022-12-11 19:43:53 +01:00
Christoph Oelckers
15bee4ca6a
- scriptified the remaining Duke destructibles, except the toilets.
2022-12-11 19:43:52 +01:00
Christoph Oelckers
e6c466fcba
- scriptified several of Duke's destructible items.
2022-12-11 19:43:52 +01:00
Christoph Oelckers
dc06a93a4f
- scriptified RR's UFO teleporter.
2022-12-11 19:43:52 +01:00
Christoph Oelckers
5a155730b4
- scriptified RR's bowling stuff.
2022-12-11 19:43:52 +01:00