Commit graph

21300 commits

Author SHA1 Message Date
Christoph Oelckers
54858fc4e7 use a class pointer to store the initial type of an actor.
This decouples it from the type numbers.
2023-10-11 00:30:19 +02:00
Christoph Oelckers
c400a20c5a fix compilation of release builds. 2023-10-11 00:17:28 +02:00
Christoph Oelckers
49e5919229 enabled nnext's grow and shrink shrooms by feature flag.
This is a contained feature with no wide reaching impact so it's fine to support.
2023-10-11 00:05:56 +02:00
Christoph Oelckers
4deb01bc42 fix some bad English 2023-10-10 23:42:39 +02:00
Christoph Oelckers
c0d1c8c5ba floorhitdamage for several dudes. 2023-10-10 23:40:37 +02:00
Christoph Oelckers
ecf15a35cb use a flag for checking if a dude is burning. 2023-10-10 23:29:27 +02:00
Christoph Oelckers
4f7ed35655 deathMorphType property 2023-10-10 23:20:53 +02:00
Christoph Oelckers
16bde524ff clean up burning dude handling in actCheckDudes 2023-10-10 23:12:50 +02:00
Christoph Oelckers
142ca04d80 named sequences WIP. 2023-10-10 22:51:08 +02:00
Christoph Oelckers
e0195ecab5 allow passing resource IDs to sound properties and added some test code. 2023-10-10 20:10:58 +02:00
Christoph Oelckers
7851b686ec scriptified the onHit block in actCheckThings. 2023-10-10 19:01:29 +02:00
Christoph Oelckers
3b39e1db99 scriptified and split up actSpawnThing 2023-10-09 23:11:55 +02:00
Christoph Oelckers
0abba1ab7d cleaned up actInitDude.
Moved the modernDude stuff to a commented out stub in aiunicult and made custom monster health an engine feature.
2023-10-09 19:07:14 +02:00
Christoph Oelckers
2f6998f980 removed all calls to getMassBySize.
This should be handled more transparently if it gets reimplemented.
2023-10-09 18:58:27 +02:00
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