Christoph Oelckers
5ed69f4965
precaching abstraction.
...
Due to the use of SEQ IDs this is a bit ugly, with named SEQs the whole thing is more straightforward.
2023-10-12 18:05:43 +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
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
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
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
44214d4d23
added 5 missing states and renamed a few.
2023-10-08 13:21:51 +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
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
27a9def748
- fixed bunny 'run' sequence.
2023-10-08 09:41:17 +02:00
Christoph Oelckers
24a3d91d0d
scriptified the things
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
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
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
64d8fd6072
Blood: scriptified item spawning
...
This was merely a testbed with a limited amount of code, the biggest gain here is that the spawning no longer depends on item IDs but classes so new ones can be added later.
2023-10-08 09:41:11 +02:00
Christoph Oelckers
d83c9f51c3
added texture and class definitions for the 18 items that have no coded function
2023-10-08 09:39:46 +02:00
Mitchell Richters
3c4eb21484
- SW: Remove DSWPlayer::drive_avel
, we can just use DCoreActor::lastcmd
for this.
2023-10-03 23:07:43 +11:00
Christoph Oelckers
09754467ee
Revert "fixed CollisionData export."
...
This reverts commit fe02190604
.
2023-10-03 13:36:19 +02:00
Christoph Oelckers
8dc0505a65
made SW's panel sprites into actual DObjects
...
so that they can a) cleanly be exposed to scripting later and b) serialized for savegames without using gross hacks.
2023-10-03 12:27:15 +02:00
Christoph Oelckers
dd2ea96d6c
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-10-02 21:03:59 +02:00
Christoph Oelckers
d60834be3d
fixed GC handling of players.
...
These were missing null checks, the player pointers also weren't nulled after deleting the objects.
2023-10-02 19:03:27 +02:00
Christoph Oelckers
762263671a
exported the main structures in Blood that make up a BloodActor.
...
nnext stuff was omitted for now.
This also eliminates the DUDEEXTRA_STATS substructure and integrates its content directly into DUDEEXTRA.
2023-10-01 22:25:08 +02:00
Christoph Oelckers
fe02190604
fixed CollisionData export.
2023-10-01 21:06:53 +02:00
Christoph Oelckers
3aafcb94f1
exported XSECTOR and XWALL.
...
this required an extension to the ZScript front end to allow defining the bitfield flag variables which cannot have their address taken.
2023-10-01 20:39:40 +02:00
Christoph Oelckers
5a26989d06
exported the game specific sector/wall properties.
2023-10-01 18:54:10 +02:00
Christoph Oelckers
f71000fe6f
wrapped all remaining access to type.
2023-10-01 14:06:59 +02:00
Christoph Oelckers
7379288f4b
directory structure cleanup
2023-10-01 14:03:44 +02:00
Christoph Oelckers
7e225a65f1
Blood spawnclasses list
2023-10-01 14:03:23 +02:00
Christoph Oelckers
051aa14830
added skeleton classes for Blood's actors.
2023-10-01 14:03:23 +02:00
Christoph Oelckers
19dfd84320
use global stat manager in SW
2023-10-01 10:33:07 +02:00
Christoph Oelckers
3e821c5849
use global stat manager in Duke
2023-10-01 10:07:54 +02:00
Christoph Oelckers
b05b409695
Blood: removed 3 unused members in PLAYER
2023-09-28 11:45:16 +02:00
Mitchell Richters
29e021b5bf
- Move crouch toggling back into the backend so the toggle key can be used as a swim key.
...
* Reverts 272dfa762d
, but is a fresh implementation.
* I doubted anyone was doing this but apparently not.
* Exhumed needed a bit more work as it has very specific underwater checks.
2023-09-24 14:15:49 +10:00
Christoph Oelckers
0480a5e992
- fixed language menu selection.
2023-09-23 14:10:42 +02:00
Christoph Oelckers
aa63e39fa5
- fixed broken gamedef for the fixed DukeDC.
2023-09-23 14:03:46 +02:00
Christoph Oelckers
696a587dc3
- RR: fixed inheritance of two items.
2023-09-23 11:59:33 +02:00
Christoph Oelckers
4a87003408
- backend update from GZDoom.
...
* Vulkan backend updated.
* zlib replaced with miniz.
* FileReader is now 64 bit capable.
* jpeg replaced with stb-image.
* CMake project warnings fixed.
2023-09-23 09:56:27 +02:00
Christoph Oelckers
a41ebfeb73
- Duke: fixed the explosion's lighting hackery.
...
The animatesprites handler in the old code got called on the already animated sprite, meaning it will only activate for the first frame.
To do this right the code had to be moved to applyanimations and be guarded by a flag.
2023-09-10 20:42:26 +02:00