Commit graph

62 commits

Author SHA1 Message Date
Christoph Oelckers
c769de1828 reverted all the state work on Shadow Warrior. 2024-02-24 10:33:03 +01:00
Christoph Oelckers
e97dfb3687 - moved ActorActionFunc and Personality out of __LegacyState again. 2023-05-28 21:07:34 +02:00
Christoph Oelckers
fb79228600 - get rid of all ANIMATOR function pointers.
Everything now uses VMFunctions.
2023-05-28 09:06:51 +02:00
Christoph Oelckers
f12cc01055 - wrap all personality decision actions in VM functions. 2023-05-28 08:52:46 +02:00
Christoph Oelckers
1b685d8652 - wrap all action functions in a VMFunction.
To allow piece-by-piece refactoring.
2023-05-28 08:35:19 +02:00
Christoph Oelckers
89cce849e8 - wrapped more direct access to the states. 2023-05-28 08:32:52 +02:00
Christoph Oelckers
beb8368819 - more stateGroup wrapping 2023-05-28 08:24:56 +02:00
Christoph Oelckers
7eb713ab04 - wrap state setters so they can use state names. 2023-05-28 08:13:20 +02:00
Christoph Oelckers
12266a3693 - SW: inline setting the end state. 2023-05-27 12:11:41 +02: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
f3e652da84 - preparations and annotations for places in SW where textures are stored in tags. 2022-12-18 13:44:36 +01:00
Mitchell Richters
2e0b9490e1 - Change spritetypebase::angle to a DRotator named Angles.
* Major pre-requisite for the next steps I'm undertaking, let's get it into the branch now.
2022-12-11 18:41:52 +01:00
Christoph Oelckers
bd79d544d6 - UpdateChange 2022-10-15 18:22:07 +02:00
Christoph Oelckers
ba044ac2f4 - first bunch of wrapping xvel. 2022-10-14 23:02:11 +02:00
Christoph Oelckers
231107921e - handle a few more operators 2022-10-14 20:31:56 +02:00
Christoph Oelckers
35d74c7f9f - some MOVExy replacements. 2022-10-14 20:31:54 +02:00
Christoph Oelckers
8bb609fbb1 - set_int_change_z 2022-10-14 17:17:01 +02:00
Christoph Oelckers
8bb4bc55eb - set_int_change_y 2022-10-14 17:17:01 +02:00
Christoph Oelckers
b6c0560430 - set_int_change_x 2022-10-14 17:17:01 +02:00
Christoph Oelckers
10e08556c1 - put more access to user.change behind wrappers 2022-10-14 17:16:59 +02:00
Christoph Oelckers
4a486f5a10 - deal with an extremely redundant code fragment
Consolidates almost 100 lines that still need work in a small subfunction. :)
2022-10-13 22:54:43 +02:00
Christoph Oelckers
84bafe6d02 - manual merge of latest nnext update. 2022-05-11 08:31:58 +02:00
Christoph Oelckers
3fcecedf32 - deleted ClearContent functions from actor classes.
this is a leftover from pre-DObject times and no longer needed.
2021-12-30 09:58:47 +01:00
Christoph Oelckers
d340a7e80c - u() and USERp are gone. 2021-12-30 09:58:05 +01:00
Christoph Oelckers
db240ea2b0 - GC support in SW.
- SW GC WIP
2021-12-26 23:10:00 +01:00
Christoph Oelckers
588f88c9cc - migrated the actors to DObjects.
No GC yet, only the classes have been altered and some GC-related features been added.
Full switchover will require adding GC support to all data in the game.
2021-12-26 23:09:57 +01:00
Christoph Oelckers
fa05cfbaf1 - use a real pointer in DSWActor for owner tracking. 2021-12-26 23:09:56 +01:00
Christoph Oelckers
8a2385dd89 - actor clearing cleaned up.
We still need this until we can get rid of the static arrays...
2021-12-26 23:09:55 +01:00
Christoph Oelckers
4cecb6f955 - removed the old actor savegame code and instead implemented a virtual Serialize function.
This isn't hooked up yet, currently savegames are non-functional. They will come back once the global actor arrays are no longer relevant for maintenance.
2021-12-26 23:09:55 +01:00
Christoph Oelckers
6600f55543 - separate map loading from actor spawning for the other games, too.
It still uses the horribly messed up original spawn logic, though.
2021-12-26 23:09:51 +01:00
Christoph Oelckers
b7a5ea8ef6 - moved some common utilities into the backend. 2021-12-26 23:09:44 +01:00
Christoph Oelckers
bbb860ccf3 - consolidate the iterators in the backend.
Using a template class that can adapt to the game specific types.
2021-12-26 23:09:44 +01:00
Christoph Oelckers
30f36e4871 - use backend's collision struct in SW. 2021-12-26 23:08:58 +01:00
Christoph Oelckers
96b9572905 - moved parts of the HitInfo subclasses into the backend.
All the game code now needs to do is a single 'using' statement.
2021-12-26 23:08:57 +01:00
Christoph Oelckers
a5ccd2ccd2 - adapted FAFhitscan to the new backend API.
Lots of search & replace to change the names of the HitInfo struct, no manual edits outside of FAFhitscan.
2021-12-26 23:08:57 +01:00
Christoph Oelckers
3f43f48b57 - adapted all SW hitscan calls outside of FAFhitscan. 2021-12-26 23:08:56 +01:00
Christoph Oelckers
9380819e4e - initialize actorArray for all games.
- the foundation for an actor aware backend.
2021-12-26 23:08:56 +01:00
Christoph Oelckers
52c80f187a - added coreactor.h 2021-12-26 23:08:55 +01:00
Christoph Oelckers
6ae8e93de8 - hitinfo.hitwall is also gone. 2021-12-26 23:08:51 +01:00
Christoph Oelckers
270a443c88 - hitinfo.hitsect is gone. 2021-12-26 23:08:51 +01:00
Christoph Oelckers
f495097663 - first step of replacing hitinfo.hitsect with a pointer.
This takes care of easy to handle common patterns
2021-12-26 23:08:50 +01:00
Christoph Oelckers
e3ad05d4d7 - quick cursectnum replacements. 2021-12-26 23:08:46 +01:00
Christoph Oelckers
9c21483279 - wall[] in light.cpp and player.cpp 2021-12-26 23:08:44 +01:00
Christoph Oelckers
82447233a7 - several getangle(delta) blocks. 2021-12-26 23:08:41 +01:00
Christoph Oelckers
0a0cc85407 - renamed HITINFO fields. 2021-12-26 23:08:41 +01:00
Christoph Oelckers
f6db4a8e51 - SW: move User into DSWActor. 2021-12-25 21:28:39 +01:00
Christoph Oelckers
adf3133fdc - use sectnum and wallnum to get an index from pointers instead of subtracting the array base. 2021-11-29 00:56:26 +01:00
Christoph Oelckers
e12ae040de - collision code cleanup.
# Conflicts:
#	source/games/sw/src/game.h
#	source/games/sw/src/sprite.cpp

# Conflicts:
#	source/games/sw/src/game.h
2021-11-29 00:56:17 +01:00
Christoph Oelckers
898f56dd86 - User[] is mostly gone.
All access is now through the actor.
2021-11-29 00:56:16 +01:00
Christoph Oelckers
5b10e9f2d5 - got rid of SpriteP pointers in PLAYER and USER. 2021-11-29 00:56:15 +01:00