Commit graph

21286 commits

Author SHA1 Message Date
Christoph Oelckers
7f0b501aa2 final fixes.
Restore one hard coded seq access.
When changing actor type, also copy the dmgControl table to have the correct values available.
delete unused thinginfo table.
2023-10-09 16:58:09 +02:00
Christoph Oelckers
1260873add converted the remaining accesses to dudeInfo and removed the table. 2023-10-09 16:58:09 +02:00
Christoph Oelckers
5ea03b339f fixed problem with retrieving mass from a former dude actor in actFireVector.
This was accessing undefined memory because the new metadata no longer had the field. Moved mass to BloodActor so that access remains safe and defined.
This seems to be the only place where this happened.
2023-10-09 16:58:09 +02:00
Christoph Oelckers
49ee6fcc30 somewhere in here there's a bug! 2023-10-09 16:58:05 +02:00
Christoph Oelckers
99b055de7f dudeinfo in player.cpp 2023-10-09 16:58:05 +02:00
Christoph Oelckers
e92cb971eb replacements in 3 files with smaller numbers of places. 2023-10-09 16:58:05 +02:00
Christoph Oelckers
7450e82dd8 moving nnext stuff plus some replacements in inactive code. 2023-10-09 16:58:04 +02:00
Christoph Oelckers
92eb20e1ad adapted all AI files 2023-10-09 16:58:04 +02:00
Christoph Oelckers
55621e9a38 access functions for the dudeinfo properties.
These get used quite often so look them up only once.
2023-10-09 16:58:04 +02:00
Christoph Oelckers
7bf6702a6a added all dudeinfo data to the dude classes. 2023-10-09 16:58:04 +02:00
Christoph Oelckers
8af7049c00 use symbolic constants for explosion types. 2023-10-09 16:58:00 +02:00
Christoph Oelckers
8bb286abe0 replace sprintf with snprintf. 2023-10-09 16:57:13 +02:00
Christoph Oelckers
9f0fa74a9a fixed Mac compilation.
Unlike the other platforms this builds its config paths from variable data.
2023-10-09 16:46:54 +02:00
Mitchell Richters
fed196d8ec - Apply last remaining .GetChars() fixes for POSIX targets. 2023-10-09 19:08:31 +11:00
Christoph Oelckers
15963c7b61 fix compilation of non-windows targets. 2023-10-09 19:02:37 +11:00
Christoph Oelckers
90969d7ce1 make TrapExploder feature controlled by a flag.
This part of nnext can be retained easily this way.
2023-10-08 17:15:26 +02:00
Christoph Oelckers
e1ae2a091e activated the state pointer serializer. 2023-10-08 17:09:14 +02:00
Christoph Oelckers
60c44d74ca migrate Blood to engine states.
This both enables saving again and allows efficient state searching.
2023-10-08 16:55:58 +02:00
Christoph Oelckers
d898d1e53d helper function 2023-10-08 14:08:00 +02:00
Christoph Oelckers
71e8757a81 #ifdef some nnext stuff 2023-10-08 13:37:45 +02:00
Christoph Oelckers
2d37705921 fix a memory leak 2023-10-08 13:25:53 +02:00
Christoph Oelckers
44214d4d23 added 5 missing states and renamed a few. 2023-10-08 13:21:51 +02:00
Christoph Oelckers
bd44d87ce7 compile AI states into the engine's state array. 2023-10-08 13:21:15 +02:00
Christoph Oelckers
6528bb7e69 remove static declarators from exported action functions.
This made GCC error out.
2023-10-08 13:20:45 +02:00
Christoph Oelckers
8ee7c188b7 remove the native AISTATEs. 2023-10-08 10:07:06 +02:00
Christoph Oelckers
a7317e700d use the script defined states.
Not fully working yet.
2023-10-08 10:07:05 +02:00
Christoph Oelckers
0ba188b7f2 add the converted states to the BloodDudeBase class. 2023-10-08 10:07:05 +02:00
Christoph Oelckers
865cbd2fd9 parse AI states into a temp array. 2023-10-08 10:07:05 +02:00
Christoph Oelckers
f61dc0467f Blood: route all state actions through the VM interface and renamed all states and functions with disassembly names 2023-10-08 10:07:05 +02:00
Christoph Oelckers
495e236764 allow Blood to compile with NOONE_EXTENSIONS disabled. 2023-10-08 10:07:05 +02:00
Christoph Oelckers
c4ded2f133 - compile the states. 2023-10-08 10:06:57 +02:00
Christoph Oelckers
27a9def748 - fixed bunny 'run' sequence. 2023-10-08 09:41:17 +02:00
Christoph Oelckers
5ee909ab6f - reduce footprint of the Rot member variable. 2023-10-08 09:41:17 +02:00
Christoph Oelckers
71e44ac7ae patch over the savegame problems with FState. 2023-10-08 09:41:16 +02:00
Christoph Oelckers
a1cbeb1b0d migrate to engine states.
Savegames do not work for this yet.
2023-10-08 09:41:16 +02:00
Christoph Oelckers
031fb2ea4e - SW: refactored states to use a Doom-like state model. 2023-10-08 09:41:16 +02:00
Christoph Oelckers
24a3d91d0d scriptified the things 2023-10-08 09:41:15 +02:00
Christoph Oelckers
c7e993d949 got rid of missileInfo 2023-10-08 09:41:15 +02:00
Christoph Oelckers
6250906879 implemented proper handling of VM functions as identifiers. 2023-10-08 09:41:15 +02:00
Christoph Oelckers
2c08ee0c5d refactored SEQ callbacks as well. 2023-10-08 09:41:15 +02:00
Christoph Oelckers
11f094c7fb reference event callbacks by name, not by internal index.
This is needed to allow writing new callbacks.
2023-10-08 09:41:15 +02:00
Christoph Oelckers
47f09c61fc WIP for event callback refactor 2023-10-08 09:41:14 +02:00
Christoph Oelckers
d86e99a2e1 added class registration code for Blood 2023-10-08 09:41:14 +02:00
Christoph Oelckers
cb443d443c Blood projectile scriptification. 2023-10-08 09:41:14 +02:00
Christoph Oelckers
93dde24ae1 added native script exports for all functions referenced b AISTATEs. 2023-10-08 09:41:13 +02:00
Christoph Oelckers
d3867cba5f removed the unused int parameter from state callbacks.
This makes handling a lot easier because all state related functions have the same signature
2023-10-08 09:41:13 +02:00
Christoph Oelckers
40ca77c6b5 use a feature flag for the enemy attacks in 3 callback functions.
This is simple enough to handle without gModernMap
2023-10-08 09:41:13 +02:00
Christoph Oelckers
11caee7477 exported actGetRespawnTime as a first simple test case. 2023-10-08 09:41:13 +02:00
Christoph Oelckers
79ae66d5ec exported gGameOptions. 2023-10-08 09:41:12 +02:00
Christoph Oelckers
8e5f2cceda we really do not need to pack the GAMEOPTIONS struct... 2023-10-08 09:41:12 +02:00