Commit graph

7178 commits

Author SHA1 Message Date
Christoph Oelckers
615267dbd4 - fixed incorrect setup in Blood map loader. 2023-09-23 21:13:03 +02:00
Christoph Oelckers
4bb66fb44e - Duke: Fixed WT fallback for classic sounds in cases the user data does not exist.
currently that's only the case for CRANEGRAB which is aliased because of differences between Duke and RR.
2023-09-23 14:29:41 +02:00
Christoph Oelckers
d96a928738 - Exhumed: fixed sprite positioning issues
Apparently tile #1 has some significance here.
2023-09-23 10:30:52 +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
Christoph Oelckers
230c1b9041 - fix animatesprite loop aborts on sector effectors 2023-09-10 19:55:41 +02:00
Christoph Oelckers
82057bcd5a - Backend update from GZDoom-
This compiles but doesn't run.
2023-08-23 20:36:19 +02:00
Christoph Oelckers
b95a5a4b2b - yet another backend update. 2023-08-20 02:15:57 +02:00
Christoph Oelckers
d34bad3045 - adapted game side code. 2023-08-19 19:41:40 +02:00
Christoph Oelckers
32ede813e9 - new files for backend update. 2023-08-19 18:17:17 +02:00
Christoph Oelckers
2095a2120c - consolidated the 4 ReadSound functions. 2023-08-19 18:11:19 +02:00
Christoph Oelckers
3c695a5abd - adapted to backend changes. 2023-08-19 18:08:27 +02:00
Christoph Oelckers
76e77d4e64 - Duke: fix enemy counting 2023-08-06 09:59:33 +02:00
Christoph Oelckers
f0623c7098 - fix compilation 2023-08-06 09:22:07 +02:00
Christoph Oelckers
bd078cc3e6 - SW: Clear FinishTimer when starting a new level. 2023-08-03 17:53:25 +02:00
Christoph Oelckers
20b96501b6 - moved rnd_plasma into global space again.
C++'s init rules for local static variables are so dumb that this will cause undefined behavior with the RNG management, it's also very inefficient.
2023-08-03 12:55:23 +02:00
Christoph Oelckers
c19653262e - Duke: fix management of killit_flag.
This cannot be in the actor because event scripts can be called without a valid actor.
It is now part of the parse state, but execute allows returning it to the caller, which is needed in one place.
2023-07-22 10:24:20 +02:00
Christoph Oelckers
ce34ef2921 - Duke: fixed skill filter handling for CON defined enemies. 2023-07-17 00:32:27 +02:00
Christoph Oelckers
0380ef3b80 - SW: remove redundant ; in sector object serializer.
This caused the animtype field not to be saved.
2023-07-16 10:59:39 +02:00
Kevin Caccamo
80ac9f6416 Fix a memory write issue with plasma_{A,B,C}
plasma_A[5] = {}; will write the default value for int to the sixth element of plasma_A, causing a global-buffer-overflow.

I assume the intention here was to fill these three arrays with zeroes, which is what I did with the memset calls.
2023-07-12 19:13:05 +10:00
Christoph Oelckers
1e2b5c2747 - added missing range checks to PlaySpriteSound.
This can be called with attr_none!
2023-06-29 18:28:16 +02:00
Christoph Oelckers
c4cb44f5f0 - RR: thunder may only be triggered when the player sees a sector with an activating texture as sky. 2023-06-19 20:45:16 +02:00
Christoph Oelckers
5bbcb82ef2 - unlimited the number of sectors to have window lightning. 2023-06-19 20:34:04 +02:00
Christoph Oelckers
b31e8dd8b4 - some initial preparations for exporting SW's actors. 2023-06-01 22:07:47 +02:00
Christoph Oelckers
d74c2ba52f - added a few texture names for picnum literals. 2023-05-31 21:53:14 +02:00
Christoph Oelckers
54335f7215 - got rid of the tilenum variant of hud_drawsprite. 2023-05-30 19:08:26 +02:00
Christoph Oelckers
0b158dbdd0 - Blood: use texture IDs in drawElements. 2023-05-30 19:05:33 +02:00
Christoph Oelckers
117874bb72 - Blood: fixed bad scaling in viewBurnTime. 2023-05-30 18:57:44 +02:00
Christoph Oelckers
af4189c2a1 - RR: fixed shotgun HUD placement
This original code is technically dead wrong - it just works by happenstance.
2023-05-30 18:26:05 +02:00
Christoph Oelckers
f8de8eb7a3 - Duke: fixed bad range check in tripbomb drawer. 2023-05-30 17:18:31 +02:00
Christoph Oelckers
517b77bfdc - RR: spawn the correct player class. 2023-05-30 00:11:49 +02:00
Christoph Oelckers
27d17bc413 - moving around some constants. 2023-05-29 22:16:23 +02:00
Christoph Oelckers
a2f0bfb073 - clean out digi.h
It's only the enum now - all the rest is externally defined.
2023-05-29 22:16:22 +02:00
Christoph Oelckers
d163e67a36 - named all breakable sprites. 2023-05-29 22:16:11 +02:00
Christoph Oelckers
e97dfb3687 - moved ActorActionFunc and Personality out of __LegacyState again. 2023-05-28 21:07:34 +02:00
Christoph Oelckers
b07a182df4 - change type of AF() 2023-05-28 11:19:36 +02:00
Christoph Oelckers
8d57281101 - turn the SO's Animator and PostMoveAnimator into non-functions as well.
What little is here can be done just as easily by more traditional means which are easier to serialize.
2023-05-28 11:19:35 +02:00
Christoph Oelckers
5e64d6c7aa - call ScaleSectorObject directly.
It's the only PreMoveAnimator so a bool can be used as easily as the full pointer.
2023-05-28 11:19:35 +02:00
Christoph Oelckers
20b39c6a0d - removed several non-actions from player.cpp's saveable code. 2023-05-28 11:19:35 +02:00
Christoph Oelckers
4bf0029c32 - remove lots of unneeded SAVE_CODE and SAVE_DATA declarations.
Everything ported to VMFunctions can now be saved natively and the DECISIONs never get stored in serialized pointers.
2023-05-28 11:19:35 +02:00
Christoph Oelckers
ddfb485424 - added a serializer for VMFunction pointers. 2023-05-28 11:19:34 +02:00
Christoph Oelckers
64d012b073 - implement the VM call's return value 2023-05-28 11:19:23 +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
280d685774 - get rid of more ANIMATOR declarations. 2023-05-28 09:01:43 +02:00
Christoph Oelckers
4e5372133c - removed the godawful hack to use function addresses as identifier for playing sounds.
This already required a bad workaround, but let's do it cleanly now so it can be used from scripts properly.
In most places this wasn't even used to decide on sound playing at all - only the 'broadcast' decision matters.
2023-05-28 09:01:05 +02:00
Christoph Oelckers
f12cc01055 - wrap all personality decision actions in VM functions. 2023-05-28 08:52:46 +02:00
Christoph Oelckers
540f96407d - clean up ANIMATOR declarations. 2023-05-28 08:46:03 +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