Mitch Richters
3c4afaa6ee
- InputScale()
: Add enabled-by-default scaler to returned value from function to correct drift that occurs as the frame-rate increases, taking into account different scaling ratios needed for differing ticrates.
2021-11-10 20:27:19 +11:00
Mitch Richters
5a33caa635
- InputScale()
: Add enabled-by-default scaler to returned value from function to correct drift that occurs as the frame-rate increases, taking into account different scaling ratios needed for differing ticrates.
2021-11-10 20:13:06 +11:00
Christoph Oelckers
9433e9bdb1
- trPlayerCtrlStartScene + changing index to initiator pointer in QAVSCENE.
...
- clear QAVSCENE's initiator pointer at the start of a level or when it holds an actor that's about to be deleted.
Seems there is no proper bookkeeping here, so until we can GC actors it needs to be done manually.
2021-11-09 23:16:16 +01:00
Christoph Oelckers
ad36916fd3
- formatting again and fallthrough annotations.
2021-11-09 23:11:54 +01:00
Christoph Oelckers
bb094fd003
- 3 smaller functions.
2021-11-09 23:10:34 +01:00
Christoph Oelckers
733d9b2e2b
- debrisMove
2021-11-09 23:10:03 +01:00
Christoph Oelckers
942e93b2e7
- debris functions.
2021-11-09 22:51:01 +01:00
Christoph Oelckers
6e2f8ec47f
- vel replacements.
2021-11-09 22:49:43 +01:00
Christoph Oelckers
7430a630bd
- yet another commit with extracted formatting stuff and minor cleanup.
...
# Conflicts:
# source/games/blood/src/nnexts.cpp
2021-11-09 22:49:28 +01:00
Christoph Oelckers
5558c3e896
- debrisGetIndex and some related code.
2021-11-09 22:18:38 +01:00
Christoph Oelckers
ce622c9c88
- two missed lines
2021-11-09 21:51:51 +01:00
Christoph Oelckers
5b057415da
- sanitized tileGetSurfType.
2021-11-09 21:42:51 +01:00
Christoph Oelckers
9221262dfc
- refactoring of all getzrange code to use the Collision struct.
2021-11-09 21:39:59 +01:00
Christoph Oelckers
55362edce4
- cleanup and formatting in getSpriteMassBySize
2021-11-09 21:00:27 +01:00
Christoph Oelckers
6f8fe44bb0
- getSpriteMassBySize
2021-11-09 20:59:52 +01:00
Christoph Oelckers
81c3443af9
- nnExtProcessSuperSprites, plus replacing xindex with actor in TRCONDITION.
2021-11-09 20:58:27 +01:00
Christoph Oelckers
a898dfc4ec
- some cleanup in nnExtProcessSuperSprites before refactoring.
2021-11-09 20:46:54 +01:00
Christoph Oelckers
754042e10a
- windGenDoVerticalWind
2021-11-09 20:45:10 +01:00
Christoph Oelckers
06be31daea
- pure formatting stuff split out of following commit.
2021-11-09 20:43:11 +01:00
Christoph Oelckers
18b608df1a
- randomDropPickupObject + randomSpawnDude
2021-11-09 20:40:39 +01:00
Christoph Oelckers
c427669595
- randomGetDataValue
2021-11-09 20:37:10 +01:00
Christoph Oelckers
1cc5dbccb9
- GetDataVal
2021-11-09 20:33:16 +01:00
Christoph Oelckers
5465c9976c
- replaced a few chars in Exhumed
2021-11-09 17:46:39 +01:00
Christoph Oelckers
baa3e531d4
- Exhumed: more ints for shorts
2021-11-09 17:32:50 +01:00
Christoph Oelckers
c46c8a68cd
- fixed nextsectorneighborzptr
2021-11-09 17:29:03 +01:00
Christoph Oelckers
9b52b3b451
- made all nSector variables full ints.
...
This already takes care of most sector[] accesses in Exhumed
2021-11-09 17:27:54 +01:00
Christoph Oelckers
366df9d4b6
- Exhumed: use the sprite's sector() member where possible.
2021-11-09 00:26:46 +01:00
Christoph Oelckers
ef241acda2
- Exhumed: some quick sector[] substitution
2021-11-09 00:12:18 +01:00
Christoph Oelckers
a35900362e
- only use un-deprecated variants of updatesector(z) in SW.
2021-11-09 00:09:48 +01:00
Christoph Oelckers
94b2b0af31
- widen sector index in engineLoadBoard to 32 bit
2021-11-09 00:07:00 +01:00
Christoph Oelckers
762ebafc2a
- made clipmoveboxtracenum a function argument of clipmove
...
There’e zero need for hackery here.
2021-11-08 23:22:48 +01:00
Christoph Oelckers
0ffe52791e
- delete deprecated pushmove variants
2021-11-08 23:22:06 +01:00
Christoph Oelckers
2d91786516
- changed all sector variables being passed to pushmove to full ints
2021-11-08 23:18:40 +01:00
Christoph Oelckers
4aa0477574
- make internal pushmove use a 32 bit sector index.
2021-11-08 23:17:40 +01:00
Christoph Oelckers
52a2862963
- removed the deprecated clipmove wrappers.
2021-11-08 23:15:05 +01:00
Christoph Oelckers
a5f51cfd88
- SW: migrate everything to the main clipmove function
2021-11-08 23:11:30 +01:00
Christoph Oelckers
16f9d4ec36
- got rid of COVERupdatesector
...
Not needed as it just forwards to the engine’s updatesector - and it gets in the way of other changes
2021-11-08 23:11:30 +01:00
Christoph Oelckers
3811147f70
- use proper clipmove variant in Blood and Exhumed
...
This merely extends some shorts to full ints to match the desired parameter's size.
2021-11-08 23:11:30 +01:00
Christoph Oelckers
2e1ff313b0
- Duke: only use the main clipmove function and match clipmove_ex’s interface
2021-11-08 23:11:29 +01:00
Christoph Oelckers
567d054d42
- remove unused clipmovex function, extend clipmove sector return to 32bit, mark obsolete clipmove variants deprecated
2021-11-08 23:11:29 +01:00
Christoph Oelckers
5510efd920
- removed TROR specific parts of updatesectorz
...
None of this is ever called, in particular the parts that muck around with the sectorindex and add magic bits to it.
2021-11-08 23:11:29 +01:00
Christoph Oelckers
5ba005276f
Revert "- redid the 'inside' function."
...
This reverts commit c034c2a299
.
While the function works, it is subtly different for points exactly on a line - enough to cause problems with Shadow Warrior's waypoint implementation.
2021-11-08 23:11:20 +01:00
Christoph Oelckers
c034c2a299
- redid the 'inside' function.
...
This is based on external information and does not use any of the original Build code.
Despite being a lot clearer than Build's bit masking voodoo and using 64 bit math to avoid overflows it is roughly 10% faster. :)
Code was moved to gamefuncs.cpp because this no longer falls under the Build license.
2021-11-08 21:29:21 +01:00
Christoph Oelckers
5cfc418c5f
- did some tests with the inside function and decided to only retain the 'old' one.
...
The one from EDuke32 is ambiguous - it considers any point on a wall to be part of both sectors touching that wall. This wasn't used anyway with the current engine compatibility settings.
I was not able to get different values out of the 'ps' version - this seems to only be important for demo playback concerns, for regular playback the differences appear to be totally irrelevant.
Ultimately this should be replaced anyway with a license-unencumbered variant of the same basic common algorithm.
2021-11-08 19:46:22 +01:00
Christoph Oelckers
eeaa7f98f0
- inlines for validating sector and wall indices.
2021-11-08 18:56:10 +01:00
Christoph Oelckers
2840b5f25d
- added reverse iterators to tarray.h
2021-11-08 18:55:46 +01:00
Christoph Oelckers
94f40d11ae
- SparseArrayView class
...
We need this to merge the game specific sector/wall extensions with the base but still allow the engine to access such arrays. For that they need a runtime settable stride.
2021-11-08 18:55:35 +01:00
Christoph Oelckers
477a2a23e6
- nextSector in runlist
2021-11-08 18:37:21 +01:00
Christoph Oelckers
52389ae02e
- sectp in osdcmd_spawn
2021-11-08 18:37:21 +01:00
Christoph Oelckers
066896db8e
- warnings fix
2021-11-08 18:37:20 +01:00
Christoph Oelckers
f51cbf31ba
- sectp in runlist_ProcessSectorTag
2021-11-08 18:37:20 +01:00
Christoph Oelckers
afec39aded
- reworked non-functional anim detection when picking up an item.
...
This would not unregister the item's run list entries because the logic was insufficient.
2021-11-08 01:13:54 +01:00
Christoph Oelckers
43fdc1bb56
- Exhumed: fixed uninitialized variable in bullet code.
2021-11-07 23:33:39 +01:00
Christoph Oelckers
5d0c9a9fc8
- flush the network timer righr after loading and before starting a level.
...
Without this the entire load time may get registered as skipped frames-
2021-11-07 22:51:02 +01:00
Christoph Oelckers
0da2250efe
- Exhumed: try to improve timing of the menu plasma.
2021-11-07 22:14:58 +01:00
Christoph Oelckers
60faceaf59
- Exhumed: fixed serialization.
...
The exhumedActors array was not written out, resulting in all kinds of strange effects.
2021-11-07 21:45:51 +01:00
Christoph Oelckers
6b6c3f26a5
- use wallsofsector in a few more places.
2021-11-07 18:08:22 +01:00
Christoph Oelckers
59df3b0e19
- added a little utility that allows iterating over the walls of a sector with C++ for's.
2021-11-07 17:27:05 +01:00
Christoph Oelckers
4b0ffe5443
- looks I missed a few shorts.
...
Now all local short variables are gone, except for 2 lotags arrays.
2021-11-07 16:58:48 +01:00
Christoph Oelckers
ae08ae1d8d
- some leftover shorts plus utilities that ended up unused but may be useful later.
2021-11-07 16:46:23 +01:00
Christoph Oelckers
35b9318580
- Duke/RR: checked the rest of the code for shorts and replaced most local ones with ints.
2021-11-07 16:33:13 +01:00
Christoph Oelckers
3a73a9f8ed
- Duke/RR: replaced more local short variables with ints.
2021-11-07 16:30:56 +01:00
Christoph Oelckers
98f57a7ad4
- use explicitly sized types for static const arrays.
2021-11-07 16:30:56 +01:00
Christoph Oelckers
fd2764dc6e
- Duke: eliminated all local short variables in actors*.cpp.
2021-11-07 16:30:55 +01:00
Christoph Oelckers
9b2b34a026
- removed a few unneeded type casts.
2021-11-07 16:30:55 +01:00
Christoph Oelckers
15be44a931
- use explicitly sized types for static const arrays.
2021-11-07 16:30:55 +01:00
Christoph Oelckers
1eeb8864a4
- Duke/RR: eliminated all uses of 'char' outside of text management
2021-11-07 16:30:55 +01:00
Christoph Oelckers
e2faeec2ce
renamed all signed and unsigned chars to int8_t/uint8_t.
2021-11-07 16:30:55 +01:00
Christoph Oelckers
0eba3335c6
- eliminated some leftover 16 bit values used for storing indices.
2021-11-07 16:30:44 +01:00
Christoph Oelckers
977d668bef
- extended animatetarget to 32 bit.
2021-11-07 16:21:44 +01:00
Christoph Oelckers
f95af3368b
- use ints in hitscan wrapper as well.
2021-11-07 16:20:59 +01:00
Christoph Oelckers
de7a06bea4
- Duke: extended neartag wrapper to use 32 bit integers as return values.
2021-11-07 16:20:59 +01:00
Christoph Oelckers
887279f8a5
- RR: Use int instead of short in bowling functions.
2021-11-07 16:20:59 +01:00
Christoph Oelckers
b13398c268
- quick global wall[] replacements.
2021-11-07 15:57:29 +01:00
Christoph Oelckers
a594e6465c
- added nextSector access function to walltype and used it to eliminate a few more sector[] references.
2021-11-07 15:56:29 +01:00
Christoph Oelckers
0c64560fd8
- Duke: wall[] replacement in script code.
2021-11-07 15:00:08 +01:00
Christoph Oelckers
c8c8ca05d3
- Duke: sector[] handled in one more premap loop.
2021-11-07 15:00:08 +01:00
Christoph Oelckers
5eed73f7af
- Duke/RR: sector[] replacement in spawn code.
2021-11-07 15:00:08 +01:00
Christoph Oelckers
ca5a014a2d
- Duke: a few more sector[] replacements in precaching code.
2021-11-07 15:00:08 +01:00
Christoph Oelckers
2c1881530a
- Duke: use a sector pointer in spawneffector.
2021-11-07 15:00:07 +01:00
Christoph Oelckers
c068054fa0
- RR: most sector[] accesses replaced by pointers in actors_r.cpp.
2021-11-07 15:00:07 +01:00
Christoph Oelckers
7749bcbedf
- Duke: clean up actors_lava.cpp.
...
Use sector pointer variables and extend all arrays holding sector indices to 32 bit.
2021-11-07 15:00:07 +01:00
Christoph Oelckers
e0f3fa2aa0
-Duke: replaced sector array accesses in actors_d.cpp.
2021-11-07 15:00:07 +01:00
Christoph Oelckers
8c5e4a7fa9
- Duke: a large batch of quick'n easy sector[] replacements with pointers.
2021-11-07 15:00:07 +01:00
Christoph Oelckers
d45f687d4b
- pass a sector pointer to floorspace/ceilingspace.
2021-11-07 15:00:06 +01:00
Christoph Oelckers
060da8ec1d
- Duke: replaced most sector array accesses with pointers in actors.cpp.
...
This already helped to find one 16 bit value that stored a sector index.
2021-11-07 15:00:06 +01:00
Mitch Richters
bc9ea38aba
- Duke: Fix issue where calculated value for old player variable return_to_center
could have been negative, causing undefined behaviour.
2021-11-07 21:14:29 +11:00
Mitch Richters
bb20827027
- processMovement()
: Fix prescaling for Exhumed when using mouse or controller.
...
* Controller input before was too fast compared to other games, now it's 1:1.
* Mouse input when used without mouse look was too slow, now it's also 1:1 with the other games.
* `hid` in the context of `hidprescale` refers to 'Human Interface Device'.
2021-11-07 18:32:02 +11:00
Mitch Richters
b27f5e3be0
- gameinput.cpp/h: Internalise if statements used before calling PlayerHorizon
and PlayerAngle
class method scaletozero()
into method itself.
2021-11-07 18:25:37 +11:00
Mitch Richters
72531e61db
- gameinput.cpp/h: Consolidate all the return to zero code for angles and horizons into class members, using technique from horizoff
as basis.
2021-11-07 11:37:12 +11:00
Christoph Oelckers
9a1c80c464
- Duke: added a wrapper for player_struct::cursectnum to directly return the sector pointer.
...
This eliminates more than 10% of the existing direct references to the sector[] array.
2021-11-06 21:59:42 +01:00
Christoph Oelckers
c3cbd1b1eb
- Duke: cleanup of cycler code.
...
Now uses a struct instead of an array with magic indices.
2021-11-06 21:53:15 +01:00
Christoph Oelckers
1c0e3d849b
- addressed the updatesector related deprecation warnings with Duke.
2021-11-06 20:46:08 +01:00
Christoph Oelckers
d20aa47adf
- made sector parameter of updatesectorz an int and deprecated the short version.
2021-11-06 19:27:51 +01:00
Christoph Oelckers
13306e900d
- silence some warnings.
2021-11-06 18:26:47 +01:00
Christoph Oelckers
e69e1b9908
- some ?vel replacements.
2021-11-06 18:16:18 +01:00
Christoph Oelckers
cce3d8f440
- some minor stuff
2021-11-06 18:14:39 +01:00
Christoph Oelckers
41316f7f8f
- evSend
2021-11-06 18:14:08 +01:00
Christoph Oelckers
b8f8c0fe04
- more changesprite* renaming.
2021-11-06 18:13:16 +01:00
Christoph Oelckers
1bbcca5f28
- nnExtInitModernStuff
2021-11-06 17:21:08 +01:00
Christoph Oelckers
a184d919b8
- brace placement part taken out of following commit.
2021-11-06 17:19:24 +01:00
Christoph Oelckers
5f56423e88
- nnExtEraseModernStuff
2021-11-06 17:19:24 +01:00
Christoph Oelckers
9a1bcdbc84
- let's hope this works better.
...
CI complained about the iterator but the messages were very unclear about the problem.
2021-11-06 17:18:07 +01:00
Christoph Oelckers
6a96d6c354
- nnExtIsImmune
2021-11-06 17:00:52 +01:00
Christoph Oelckers
6846b50a21
- nnExtSpawnDude
2021-11-06 16:57:24 +01:00
Christoph Oelckers
5ee7505d11
- proper handling of actors in TRCONDITION.
2021-11-06 16:55:27 +01:00
Christoph Oelckers
19363ac23e
- project contortions to make MSVC print our own deprecations but silence the ones from the compiler.
...
Since everything uses the same warning number, the old setup resulted in [[deprecated]] being silenced.
So this explicitly adds the needed #defines to silence the very noisy warning from the MSVC headers but leaves warning 4996 active otherwise.
In particlular this does:
* silence all warnings in the subprojects
* do not derive TIterator from std::iterator anymore as C++17 deprecates this.
* silence the above for RapidJSON because altering that code is not desirable.
* explicitly disable warning 4996 in some Windows files that call the deprecated (but still needed) GetVersionEx function.
* define _CRT_SECURE_NO_DEPRECATE, _CRT_SECURE_NO_WARNINGS and _CRT_NONSTDC_NO_WARNINGS through CMake to disable the CRT's deprecation and security warnings.
Currently this will print several (intended) deprecation warnings about 'updatesector' that point to code that needs to be changed but cannot yet without other refactorings being done first.
2021-11-06 16:48:31 +01:00
Christoph Oelckers
83fe41e71e
- made updatesector receive a 32 bit int pointer and deprecated the 16 bit variant.
2021-11-06 15:53:16 +01:00
Christoph Oelckers
f2adeff8c1
- Duke: extended 3 arrays holding sector and wall indices to full ints.
...
Just to be prepared for the future.
2021-11-06 14:22:16 +01:00
Christoph Oelckers
f4cc5b5b89
- Duke: const-ify SE24 tile lists
2021-11-06 14:19:55 +01:00
Christoph Oelckers
c8d65a1f06
- use sector wrappers where easily doable with search and replace.
2021-11-06 14:19:55 +01:00
Christoph Oelckers
ba2d4acc18
- added a sector() method to spritetype.
...
For making game code working with sectors a bit easier to read.
2021-11-06 14:19:55 +01:00
Christoph Oelckers
9e4afd543c
- Duke/RR: Some quick wall[] replacements.
2021-11-06 14:19:55 +01:00
Christoph Oelckers
b548d9eca2
- a few more quick sector[] replacements.
2021-11-06 14:19:55 +01:00
Christoph Oelckers
bc56b5a28f
- RR: cleaned up STAT_DESTRUCT init code a bit
2021-11-06 14:19:54 +01:00
Christoph Oelckers
8818a3f1cb
- Duke: added a getSector method to DDukeActor.
2021-11-06 14:19:54 +01:00
Mitch Richters
a2a75fccc2
- Add support for Duke Nukem's Penthouse Paradise as shipped with the Zoom release of Duke Nukem 3D Atomic.
2021-11-06 23:26:56 +11:00
Mitch Richters
8cf115c444
- searchpaths.cpp: Patch in registry detection for Duke 3D Atomic + Expansions from Zoom on Windows.
...
* Fixes #567 .
2021-11-06 22:59:56 +11:00
Mitch Richters
8f37097e1b
- Exhumed: Revert change from edf54b4b0a
that wasn't meant to be committed.
2021-11-06 19:54:12 +11:00
Mitch Richters
edf54b4b0a
- Exhumed: Remove some dead input code that isn't in any usage.
2021-11-06 19:44:59 +11:00
Mitch Richters
3778327818
- Duke: Back up rotscrnang
if script sets target to new value so we can interpolate the changes.
2021-11-06 17:57:37 +11:00
Mitch Richters
5050947dca
- PlayerAngle::applyinput()
: Consolidate some mostly duplicated code into a lambda.
2021-11-06 17:57:00 +11:00
Mitch Richters
1bb0c04e61
Revert "- Blood: Add mechanism to be able to force QAV interpolation based on picnum for testing purposes and not for end-user usage."
...
This reverts commit 276c000f9f
.
* This was added for testing/debugging etc but it really doesn't work unless the QAV is built for it. As such, just get rid of it.
2021-11-06 17:32:55 +11:00
Mitch Richters
ed67d5d395
- PlayerHorizon::applyinput()
: Only run through all the horizon to pitch and back code if we have input to process.
2021-11-06 15:34:10 +11:00
Mitch Richters
8bd2b960ee
- Blood: Consolidate duplicated code in viewUpdateShake()
into a lambda.
2021-11-06 15:14:25 +11:00
Mitch Richters
5f8c8fe0a4
- PlayerHorizon::applyinput()
: Consolidate some mostly duplicated code into a lambda.
2021-11-06 15:07:28 +11:00
Mitch Richters
7499c84d0b
- Add interpolatedhorizon()
inlines to handle interpolating fixedhoriz
objects without having to convert old and new values back to Q16.16 first.
2021-11-06 14:07:58 +11:00
Mitch Richters
5ec5321034
- gameinput.h/cpp: Abstract the angle/horizon adjustment math into a few inlines to avoid repetition and having to cast enums as doubles for C++20 compliance.
2021-11-06 14:07:53 +11:00
Mitch Richters
4c02663842
- PlayerAngle::applyinput()
: Re-add addition of +/- 1. when returning rotscrnang to 0 lost long, long ago.
2021-11-06 14:07:36 +11:00
Mitch Richters
ab99b6b29d
- PlayerHorizon::calcviewpitch()
: Make returning horizoff
to 0 speed uniform across all games.
2021-11-06 13:31:29 +11:00
Mitch Richters
91f6b2954c
- binangle
class: Tidy up missed C++20 warning fixed about enum used in floating-point arithmetic.
2021-11-06 10:27:04 +11:00
Mitch Richters
0eb4ff4ad2
- PlayerHorizon::calcviewpitch()
: Provide commentary on how numeric literals used in function came to be and place into an enum for clarity.
2021-11-06 10:27:00 +11:00
Mitch Richters
1df2ba80ed
- PlayerAngle::applyinput()
: Provide commentary on how numeric literals used in rotscrnang/look_ang/spin math came to be and place into an enum for clarity.
2021-11-06 10:26:54 +11:00
Mitch Richters
8e8dfa9f9a
- PlayerHorizon::applyinput()
: Provide commentary on how numeric literals used in aim/look up/down and return to centre math came to be and place into an enum for clarity.
2021-11-06 09:30:03 +11:00
Mitch Richters
c424f7c8dd
- processMovement()
. Remove cl_exhumedoldturn
CVAR and tidy up numeric literals in use.
...
* In our older codebase before the input code was refactored, Exhumed's turning was broken and was only applying the base factor of 12, significantly slower than the other games.
* Upon doing some testing in PCExhumed, I noticed their turning was faster as when the counter meets its target, the turn value is shifted left by 2, effectively making it 48: b90417ed8e/source/exhumed/src/player.cpp (L336-L337)
* Removed this CVAR because of this.
* Reworked turning code so that pressing left+right together cancel each other out and that pressing both doesn't call `updateTurnHeldAmt(scaleAdjust)` twice.
* Redid turn averages factoring in Exhumed's speeds, rounded off values and stored in an enum for clarity.
2021-11-06 09:28:47 +11:00
Christoph Oelckers
389f760d45
- address C++20 deprecation warnings with enums in floating point arithmetic.
2021-11-02 23:32:31 +01:00
Mitch Richters
59850fa768
- SW: When adjusting horizon in DoPlayerDeathHoriz()
, just use integer horizon values and not Q16.16.
2021-11-02 10:29:31 +11:00
Mitch Richters
523285b9b0
- Duke (RR): Clean up some unnecessary FixedToFloat()
usage with the fixedhoriz
asbuildf()
method.
2021-11-02 10:29:26 +11:00
Christoph Oelckers
86166f5e67
Revert "- xs_Float.h
: Make all inlines return an unsigned value, and change previous unsigned inlines to signed."
...
Revert "- `xs_Float.h`: Add `getint()` getter to `_xs_doubleints` struct."
Revert "- SW: When adjusting horizon in `DoPlayerDeathHoriz()`, just use integer horizon values and not Q16.16."
Revert "- Duke (RR): Clean up some unnecessary `FixedToFloat()` usage with the `fixedhoriz` `asbuildf()` method."
Revert "- `binaryangle.h`: Use `constexpr` on inline functions where it was previously not possible to do so."
Revert "- `m_fixed.h`: Use `constexpr` on inline functions where it was previously not possible to do so."
Revert "- `xs_Float.h`: Convert header to `constexpr`."
This does nor work as it violates the constexpr rules for unions. The code will error out on compilation for accessing an inactive member of a union.
2021-11-01 20:25:38 +01:00
Mitch Richters
d9bbe1fa61
- xs_Float.h
: Make all inlines return an unsigned value, and change previous unsigned inlines to signed.
...
* Removes situations where calling `xs_CRoundToUInt()` and other unsigned inlines would go through extra casts (`uint32_t` > `int32_t` > `uint32_t`).
* Because the native data in the `_xs_doubleints` struct is a union of a double and `uint32_t`, it makes sense to do everything unsigned and convert to `int32_t` if needed instead.
2021-11-01 23:57:40 +11:00
Mitch Richters
d1274e76dc
- xs_Float.h
: Add getint()
getter to _xs_doubleints
struct.
2021-11-01 23:42:49 +11:00
Mitch Richters
3e25637385
- SW: When adjusting horizon in DoPlayerDeathHoriz()
, just use integer horizon values and not Q16.16.
2021-11-01 23:37:32 +11:00
Mitch Richters
1363ed654c
- Duke (RR): Clean up some unnecessary FixedToFloat()
usage with the fixedhoriz
asbuildf()
method.
2021-11-01 23:37:32 +11:00
Mitch Richters
f3a2de92a4
- binaryangle.h
: Use constexpr
on inline functions where it was previously not possible to do so.
2021-11-01 23:37:31 +11:00
Mitch Richters
306c0a3ebb
- m_fixed.h
: Use constexpr
on inline functions where it was previously not possible to do so.
2021-11-01 23:37:31 +11:00
Mitch Richters
a84aa84838
- xs_Float.h
: Convert header to constexpr
.
...
* Allow use of this library in static initialisers.
* Required re-arranging a little bit to order everything so inlines could be used without prototypes.
2021-11-01 23:37:31 +11:00
Mitch Richters
eb8b075727
- binaryangle.h
: Change binangle
bitshift operators to operate on signed value to properly handle angles > 1024.
2021-11-01 22:13:39 +11:00
Mitch Richters
a1570c185f
- Duke: Remove posx
/posy
/posz
variables and replace with points in the previously unionised pos
vec3_t
variable.
2021-10-31 17:52:52 +11:00
Mitch Richters
6ca6d5639b
- SW: Fix horizon of camera screens originating from changes in 09a05f354c
.
2021-10-31 11:06:13 +11:00
Mitch Richters
9495b9e6d0
- SW: Interpolate the player's weapon recoil.
...
* Reported as missing by @nashmuhandes.
2021-10-31 08:53:26 +11:00
Christoph Oelckers
e8f9afb174
- DoScaleSprite.
2021-10-30 17:30:03 +02:00
Christoph Oelckers
e84d61e80a
- redid the iterators in _polymost.cpp.
2021-10-30 17:30:03 +02:00
Christoph Oelckers
d6bdc735d6
- patch up Blood's GetZRange to compile with getzrange_old being gone.
2021-10-30 17:30:03 +02:00
Mitch Richters
f0a347263a
- SW: Replace use of getzrange_old()
inline wrapper with getzrange()
and remove inline wrappers.
2021-10-30 17:30:02 +02:00
Mitch Richters
1d39bb371e
- Exhumed: Replace use of getzrange_old()
inline wrapper with getzrange()
.
2021-10-30 17:30:02 +02:00
Mitch Richters
add3481e40
- SW: Replace use of pushmove_old()
inline wrapper with pushmove()
and remove inline wrappers.
2021-10-30 17:30:02 +02:00
Mitch Richters
bdbe57a6b6
- Exhumed: Replace use of pushmove_old()
inline wrapper with pushmove()
.
2021-10-30 17:30:02 +02:00
Mitch Richters
0ee3b5af1c
- Blood: Replace use of pushmove_old()
inline wrapper with pushmove()
.
2021-10-30 17:30:02 +02:00
Mitch Richters
adcdbdc931
- SW: Replace use of clipmove_old()
inline wrapper with clipmove()
and remove inline wrappers.
2021-10-30 17:30:02 +02:00
Mitch Richters
0ac63fd663
- Exhumed: Replace use of clipmove_old()
inline wrapper with clipmove()
.
2021-10-30 17:30:01 +02:00
Mitch Richters
b793bc8327
- Blood: Replace use of clipmove_old()
inline wrapper with clipmove()
.
2021-10-30 17:30:01 +02:00
Mitch Richters
0fe5ac6a56
- gameinput.h: Correctly use targetset()
in PlayerHorizon
and PlayerAngle
structs.
2021-10-30 17:30:01 +02:00
Mitch Richters
15c4d38694
- gameinput.h: Add initial structure for PlayerPosition
as companion to PlayerAngle
and PlayerHorizon
structs.
2021-10-30 17:30:01 +02:00
Mitch Richters
7ee4f49649
- gameinput.h: Remove some of the verticality from the PlayerHorizon
and PlayerAngle
structs.
2021-10-30 17:30:01 +02:00
alexey.lysiuk
9d310c7d6a
- fixed compilation on Linux with glibc
...
source/glbackend/glbackend.h:201:22: error: use of undeclared identifier 'SHRT_MIN'
source/glbackend/pm_renderstate.h:93:15: error: use of undeclared identifier 'SHRT_MIN'
2021-10-30 16:26:16 +03:00
Christoph Oelckers
c7da8ca9d4
- fixed compilation on non-Windows.
...
In this header we must explicitly use the std:: namespace for min/max.
2021-10-30 11:38:55 +02:00
Christoph Oelckers
6e0fbb2043
- removed templates.h includes.
2021-10-30 10:51:03 +02:00
Mitch Richters
b02a6a3ec9
- Replace MIN()
from templates.h
with version provided in STL.
2021-10-30 10:36:15 +02:00
Mitch Richters
9894729fc2
- Replace MAX()
from templates.h
with version provided in STL.
...
# Conflicts:
# source/common/textures/hw_ihwtexture.cpp
# source/common/utility/templates.h
2021-10-30 10:36:02 +02:00
Christoph Oelckers
57b638f26f
- use std::clamp instead of our homegrown version.
2021-10-30 10:35:00 +02:00
Mitch Richters
059a99f7c8
- Blood: Remove costable[]
.
2021-10-30 10:24:16 +02:00
Mitch Richters
5a57beb343
- Blood: Replace remaining uses of costable[]
with Sin()
inlines.
2021-10-30 10:24:16 +02:00
Mitch Richters
ad183b5a3e
- Blood: Replace internals of Cos()
to use sintable[]
array instead of costable[]
array.
2021-10-30 10:24:16 +02:00
Mitch Richters
79b3e10f2a
- Blood: Replace internals of Sin()
to use sintable[]
array instead of costable[]
array.
2021-10-30 10:24:15 +02:00
Mitch Richters
ead877450d
- Blood: Replace CosScale16()
with bsin()
from backend.
2021-10-30 10:24:15 +02:00
Mitch Richters
3ec1767791
- Blood: Replace SinScale16()
with bsin()
from backend.
2021-10-30 10:24:15 +02:00
Mitch Richters
879e2f3ce4
- Build: Promote sintable[]
array values to precision Blood uses in prep for replacing Blood's costable[]
.
2021-10-30 10:24:15 +02:00
Mitch Richters
e699c264f0
- Blood: Fix missed change integer to enum change for StartQAV()
call missed from 77704d54d9
.
2021-10-30 10:24:15 +02:00
Mitch Richters
98d3850b95
- Blood: Fix horizon adjustment for death camera to avoid Fixed > Float > Fixed conversion.
2021-10-30 10:24:14 +02:00
Mitch Richters
20d958e0a9
- Exhumed: Don't run through the slopetilting math if the view is locked.
2021-10-30 10:24:14 +02:00
Mitch Richters
738491d9e5
- Exhumed: Repair player look/aim code.
2021-10-30 10:24:14 +02:00
Mitch Richters
8f679ecf61
- Exhumed: Repair math for chase camp gi
functions.
2021-10-30 10:24:14 +02:00
Mitch Richters
3663c4c742
- Split out sine/cosine scaling from bsinf()
and bcosf()
into its own inline.
2021-10-30 10:24:14 +02:00
Mitch Richters
07fc3b77b1
- Privatise tosigned()
method in binangle
class.
2021-10-30 10:24:14 +02:00
Mitch Richters
156b796e0b
- Cleanup header duplicates in g_pch.h
.
2021-10-30 10:24:14 +02:00
Christoph Oelckers
9071949a46
- backend upate from GZDoom
...
* Vulkan SDK and dependencies updated.
* better interface for buffers in the render backend.
2021-10-30 09:34:38 +02:00
Christoph Oelckers
509124c1dd
- redid SW action interface to use a separate wrapper class from USER.
...
Turned out that not all sprites in the world have a USER, so we need something different to wrap the game's sprite data.
2021-10-29 20:55:31 +02:00
Christoph Oelckers
8bad95c7c6
- reinstated deleted saveable_code entries with dummy pointers.
...
This is to preserve savegame compatibility for now.
Later the code pointer saving needs a thorough cleanup.
2021-10-29 09:16:07 +02:00
Christoph Oelckers
e241e7dc52
- SW: changed Animator interface to use USERp parameters.
2021-10-28 23:37:07 +02:00
Christoph Oelckers
bb3a141c42
- fixed last commit.
2021-10-28 23:16:03 +02:00
Christoph Oelckers
7e191fb29b
- fixed damage amount in the runlist dispatcher.
2021-10-28 23:04:50 +02:00
Christoph Oelckers
f1b40b7878
- bumped savegame version for Exhumed.
2021-10-28 18:59:40 +02:00
Christoph Oelckers
91ecda2fcb
- cleaned up the run list interface.
...
Due to serialization concerns it still isn't optimal, though, because we cannot get rid of the index table yet.
2021-10-28 18:57:50 +02:00
Christoph Oelckers
791240786d
- use a wrapper function to check for the radial damage event.
2021-10-28 18:43:54 +02:00
Christoph Oelckers
7a65cc46d0
- moved AI wrappers out of the main sources.
...
This is mainly to reduce commit noise for what follows. These functions will soon be deleted.
2021-10-28 18:39:49 +02:00
Christoph Oelckers
3842936012
- feebtag.
2021-10-28 14:25:28 +02:00
Christoph Oelckers
07ad50d97c
- sound API
2021-10-28 14:23:31 +02:00
Christoph Oelckers
97b4116f28
- run list API
2021-10-28 14:23:15 +02:00
Christoph Oelckers
4197a7ed84
- BlockInfo
2021-10-28 14:08:53 +02:00
Christoph Oelckers
3a5ea07951
- some smaller changes.
2021-10-28 14:06:36 +02:00
Christoph Oelckers
ee03eb1b3d
- movement and elevators.
2021-10-28 13:54:36 +02:00
Christoph Oelckers
9cfd682c9e
- eliminated Player::nSprite.
2021-10-28 13:54:09 +02:00
Christoph Oelckers
076a995c6e
- besttarget and Player::nTarget.
2021-10-28 13:51:32 +02:00
Christoph Oelckers
8e13bb6e35
- RestartPlayer, plus wrapper removal.
2021-10-28 13:43:39 +02:00
Christoph Oelckers
2195bc0b76
- got rid of several inline wrappers.
2021-10-28 10:51:12 +02:00
Christoph Oelckers
2b8893762c
- movesprite family mostly done.
2021-10-28 10:46:16 +02:00
Christoph Oelckers
30541b09a4
- PlotCourseToSprite, FindPlayer and GetUpAngle.
2021-10-28 09:57:35 +02:00
Christoph Oelckers
49c1163a33
- eliminated AngleChase inline.
2021-10-28 09:54:10 +02:00
Christoph Oelckers
be19dbb2ce
- nDoppleSprite
2021-10-28 09:47:29 +02:00
Christoph Oelckers
eae1d589ec
- playerFloorSprite
2021-10-28 09:25:13 +02:00
Christoph Oelckers
1e10cef556
- PostProcess
2021-10-28 09:21:49 +02:00
Christoph Oelckers
9d642e18e7
- BuildDrip / ProcessTrailSprite
2021-10-28 08:51:50 +02:00
Christoph Oelckers
e6c7e5bc18
- radial stuff.
2021-10-28 08:32:08 +02:00
Christoph Oelckers
df9d1b1ceb
- the rest of object.cpp
2021-10-27 23:04:33 +02:00
Christoph Oelckers
b59cb67f05
- Object, part 1.
2021-10-27 23:03:59 +02:00
Christoph Oelckers
d3e55739c7
- energy blocks.
2021-10-27 23:02:56 +02:00
Christoph Oelckers
51202cba78
- nFinaleSpr.
2021-10-27 20:58:13 +02:00
Christoph Oelckers
b480bb3634
- BuildSpark
2021-10-27 20:56:43 +02:00
Christoph Oelckers
56d0f41a36
- BuildTrap
2021-10-27 20:56:43 +02:00
Christoph Oelckers
11912486de
- moved all loose player related arrays into the Player struct.
2021-10-27 20:56:42 +02:00
Christoph Oelckers
c01c9122de
- slideData cleanup.
2021-10-27 20:56:42 +02:00
Christoph Oelckers
73d415369d
- AddFlow API cleanup.
2021-10-27 20:56:42 +02:00
Christoph Oelckers
6bf6ac5b34
- Flashes
2021-10-27 20:56:42 +02:00
Christoph Oelckers
a4306d9bab
- renamed some fields.
2021-10-27 20:56:42 +02:00
Christoph Oelckers
ca6724a3f5
- make nNetStartSprite an actor array.
2021-10-27 20:56:42 +02:00
Christoph Oelckers
1591d6fbdb
- Regenerates.
...
MP only so not really relevant - the code looked broken anyway.
2021-10-27 20:56:41 +02:00
Christoph Oelckers
2f511b3cff
- UseItem + subfunctions.
2021-10-27 20:56:41 +02:00
Christoph Oelckers
d04d92fd49
- destroyItemAnim, other replacements in AIPlayer::Tick
2021-10-27 20:56:41 +02:00
Christoph Oelckers
587cd09e8e
- BuildItemAnim
2021-10-27 20:56:41 +02:00
Christoph Oelckers
6a1423d92f
- sprite[] in gun.cpp.
2021-10-27 20:56:41 +02:00
Christoph Oelckers
9ef4f0fa99
- Gravity function.
2021-10-27 20:56:41 +02:00
Christoph Oelckers
5234481370
- fixed bad actor conversion.
2021-10-27 20:56:30 +02:00
Christoph Oelckers
14ccb74aac
- for radial damage the 'other' actor is always undefined.
2021-10-27 16:12:56 +02:00
Christoph Oelckers
f60d20b50a
- handle the grenade.
2021-10-27 15:46:18 +02:00
Christoph Oelckers
525ea72bfa
- use pointers for grenades.
2021-10-27 00:37:17 +02:00
Christoph Oelckers
6b3aa44211
- first pass over grenade.cpp.
...
Mainly field renaming.
2021-10-27 00:37:17 +02:00
Christoph Oelckers
c9d391634d
- some missing queen bits.
2021-10-27 00:37:17 +02:00
Christoph Oelckers
2a28908b1a
- pass radial damage inflictor through event struct
2021-10-27 00:30:57 +02:00
Christoph Oelckers
a09f2d8a51
- migrated deletesprite calls in spawn function.
2021-10-27 00:25:00 +02:00
Christoph Oelckers
6d3f9ca0d6
- migrated a few functions to use actors.
2021-10-27 00:24:28 +02:00
Christoph Oelckers
345667f945
- handle the remaining old-style iterators.
2021-10-27 00:18:23 +02:00
Christoph Oelckers
2397bf48f2
- fixed uninitialized ObjectList.
...
This needs to clear each entry each time it is allocated for use.
The object where this frequently caused problems is the drum being spawned by the Anubis drummers.
2021-10-26 23:52:21 +02:00
Christoph Oelckers
75b8a0579e
- elevator stuff.
2021-10-26 22:08:26 +02:00
Christoph Oelckers
c59ec14ba4
- fixed wasp event dispatcher to pass along the damage amount.
2021-10-26 21:55:59 +02:00
Christoph Oelckers
331ba71473
- BuildCreatureChunk wrapper.
2021-10-26 21:15:07 +02:00
Christoph Oelckers
70a7656619
- handle the queen itself.
2021-10-26 21:10:51 +02:00
Christoph Oelckers
52ab800548
- QueenAngleChase.
2021-10-26 20:52:25 +02:00
Christoph Oelckers
ae271b272a
- made QueenEgg use actor pointers.
2021-10-26 20:13:03 +02:00
Christoph Oelckers
47929972c0
- replaced sprite indices in QueenHead.
2021-10-26 19:55:20 +02:00
Christoph Oelckers
c7d4779b7e
- fixed some warnings.
2021-10-26 18:54:43 +02:00
Christoph Oelckers
839292ac91
- renamed fields in the queen structs to match DExhumedActor.
2021-10-26 18:50:46 +02:00
Christoph Oelckers
c4ea5cf336
- restore original krand formula.
...
Note: The only game module actually using this is Duke/RR.
2021-10-26 18:48:54 +02:00
Christoph Oelckers
3971c8ffd2
- fixed compilation
2021-10-26 08:13:23 +02:00
Christoph Oelckers
ae786bff98
- removed the last references to sprite[] in bullet.cpp.
2021-10-25 23:16:35 +02:00
Christoph Oelckers
99e189fa2b
- IgniteSprite
2021-10-25 23:15:59 +02:00
Christoph Oelckers
c1598185f7
- parameter cleanup of BuildBullet.
2021-10-25 23:09:01 +02:00
Christoph Oelckers
eece69fbbd
- renamed variables in BuildBullet and removed unused parameters.
2021-10-25 23:07:58 +02:00
Christoph Oelckers
fa657e23a3
- bullet.cpp, enemy pointer.
2021-10-25 23:07:42 +02:00
Christoph Oelckers
3d35ceecb0
- bullet.cpp, first part.
2021-10-25 22:24:20 +02:00
Christoph Oelckers
bf1f87eff9
- converted Ra.
2021-10-25 21:19:32 +02:00
Christoph Oelckers
d023f9633a
- converted the snake
2021-10-25 21:09:33 +02:00
Christoph Oelckers
4980e0ea41
- refactor Set to use actors.
2021-10-25 19:02:44 +02:00
Christoph Oelckers
48a5448f94
- access SetList through a pointer.
2021-10-25 18:57:10 +02:00
Christoph Oelckers
0b37c9afec
- did the bubbles.
2021-10-25 17:52:31 +02:00
Emile Belanger
14ebe23f0d
Fix compilation with USE_GLES2 = 1
2021-10-25 17:50:48 +02:00
Christoph Oelckers
5cc1a8934e
- refactored Anim to use actors.
2021-10-24 21:50:03 +02:00
Christoph Oelckers
3b0df0e9b4
- renamed fields in Anim to match DExhumedActor.
2021-10-24 20:14:36 +02:00
Christoph Oelckers
e8e0294929
- access AnimList through a pointer.
2021-10-24 20:06:46 +02:00
Christoph Oelckers
43e849ca40
- BuildSplash and BuildExplosion.
2021-10-24 19:18:11 +02:00
Christoph Oelckers
a7b71c724e
- use the actor variant of BuildAnim wherever trivially doable.
2021-10-24 19:12:06 +02:00
Christoph Oelckers
5ff8852d12
- refactor the wasp to use actors.
2021-10-24 18:35:13 +02:00
Christoph Oelckers
a46a8c21a3
- access WaspList through a pointer.
2021-10-24 13:15:40 +02:00
Christoph Oelckers
2c8da6fe72
- refactor the spider to use actors.
2021-10-24 13:06:41 +02:00
Christoph Oelckers
6821fef5e1
- refactor scorpion to use actors.
2021-10-24 12:22:32 +02:00
Christoph Oelckers
6903404718
- access scorpion through a pointer.
2021-10-24 12:20:26 +02:00
Christoph Oelckers
937e71cfbb
- refactor Roach to use actors.
2021-10-24 12:11:33 +02:00
Christoph Oelckers
3a051b8acb
- access RoachList through a pointer.
2021-10-24 12:10:18 +02:00
Emile Belanger
ff009cbf7a
Re-enable depth clamping
2021-10-24 12:06:54 +02:00
Christoph Oelckers
f0f0ca020b
- refactor rex to use actors.
2021-10-24 10:59:45 +02:00
Christoph Oelckers
1cf616c7ba
- access RexList through a pointer.
2021-10-24 10:58:27 +02:00
Christoph Oelckers
821f3d356b
- renamed DDukeActor::GetIndex to GetSpriteIndex to bring it in line with the other games.
2021-10-24 09:22:35 +02:00
Christoph Oelckers
7ebe492e94
- fixed map-spawned actor indexing in Blood.
...
This is needed for error reporting and the secret hint system.
2021-10-24 09:11:43 +02:00
Christoph Oelckers
d101a2b51f
- removed pointless address check.
...
This array was once a pointer but the check was forgotten.
2021-10-24 08:26:10 +02:00
Christoph Oelckers
54fc724b25
- fixed bad initialization of local variable.
...
Probably went unnoticed because it is in an unlikely code path.
2021-10-24 08:24:02 +02:00
Christoph Oelckers
5d0ee1478c
- fixed bad pointer comparison.
...
MSVC did not catch this, only GCC 11 and Clang errored out on this one. :(
2021-10-24 08:21:54 +02:00
Christoph Oelckers
da817a234b
- fixed bad actor use in actCheckDudes.
2021-10-24 00:06:02 +02:00
Christoph Oelckers
e88627b72a
- refactor the rat to use actors.
2021-10-23 21:57:13 +02:00
Christoph Oelckers
9c8fda9a4d
- access RatList through a pointer.
2021-10-23 21:50:57 +02:00
Christoph Oelckers
cd97fdaa30
- refactor the mummy to use actors.
2021-10-23 20:49:03 +02:00
Christoph Oelckers
fab0fff1fe
- access LionList through a pointer.
2021-10-23 20:06:48 +02:00
Christoph Oelckers
cd2c796574
- refactor the lion to use actors.
2021-10-23 19:37:04 +02:00
Christoph Oelckers
3de4bc29c1
- access LionList through a pointer.
2021-10-23 19:31:53 +02:00
Christoph Oelckers
77525cecf0
- refactor the lava dude to use actors.
2021-10-23 18:51:52 +02:00
Christoph Oelckers
f12faa9279
- access LavaList through a pointer.
2021-10-23 18:41:05 +02:00
Christoph Oelckers
657e5ef6be
- refactor the fish to use actors.
2021-10-23 13:02:43 +02:00
Christoph Oelckers
f8cab790d4
- access FishList through a pointer.
...
To make the following commmit more readably.
2021-10-23 12:33:33 +02:00
Christoph Oelckers
5d7d4ce496
- fixed radial damage for actors.
2021-10-22 23:57:46 +02:00
Christoph Oelckers
0ac449ab95
- refactored Anubis.
...
This now stores its data in the actor, not a static array.
2021-10-22 22:09:02 +02:00
Christoph Oelckers
fa8edc7493
- quick replacement of some sprite[] accesses.
2021-10-22 22:05:02 +02:00
Christoph Oelckers
944b7b8776
- DeleteActor implementation.
2021-10-22 22:04:44 +02:00
Christoph Oelckers
491c27caa6
- fixed runlist handling for actor targets.
2021-10-22 22:04:04 +02:00
Christoph Oelckers
51ee9cf6c6
- fixed bad interpolation setup in AddFlow, plus some variable renaming.
2021-10-22 21:55:51 +02:00
Christoph Oelckers
4ee3505dde
- Exhumed: fixed return value of BuildTrap
2021-10-22 08:06:24 +02:00
Mitch Richters
d30c94c709
- Blood: Re-fix lighter when changing from TNT to aerosol.
...
* Fixes #564 .
2021-10-20 20:58:10 +11:00
Mitch Richters
fc73c67bb1
- Blood: Fix TNT pickup accidentally equipping player with voodoo doll.
...
* Fixes #544 .
* Thanks to @carnivoroussociety for pointing me in the right direction.
2021-10-20 19:58:07 +11:00
Christoph Oelckers
1214f8ba00
- properly macro-fy parsed strings from Blood's INI.
2021-10-19 21:49:03 +02:00
Christoph Oelckers
4d94fa9b03
- Duke/RR: strip trailing spaces off strings parsed in CON.
2021-10-19 21:49:02 +02:00
Christoph Oelckers
6e919f2364
- Exhumed: fixed handling of torch messages for localization
2021-10-19 21:49:02 +02:00
Christoph Oelckers
2cece35902
Replaced sprite[] in some smaller functions
2021-10-19 21:49:02 +02:00
Mitch Richters
df88b23f63
- Blood: Backport GDX fix for lighter just appearing when switching to the aerosol.
...
* Fixes #564 .
* Thanks to @carnivoroussociety for the heads up.
2021-10-19 11:20:44 +11:00
Christoph Oelckers
5a9978a27b
- extended the run list to handle actor targets.
...
Also renamed fields to be more descriptive.
2021-10-17 16:22:25 +02:00
Christoph Oelckers
1b8d3f9a89
- Exhumed: some inlines for upcoming actor refactoring.
2021-10-17 15:21:29 +02:00
Emile Belanger
2a905e8026
Fix palette mode for GLES
2021-10-16 18:42:02 +02:00
Christoph Oelckers
86c58649ba
- fixed black rendered sectors in Exhumed/Polymost.
...
More a hack than a fix, thanks to Polymost's poor state handling
2021-10-16 15:36:34 +02:00
Christoph Oelckers
33261db902
- some quick sprite[] replacements.
2021-10-16 15:36:34 +02:00
Christoph Oelckers
3419d6a901
- fixed compilation.
2021-10-16 15:36:34 +02:00
Christoph Oelckers
1839634d79
- small stuff
2021-10-16 15:36:33 +02:00
Christoph Oelckers
b1d15811c5
- make nBodygunSprite an actor array.
2021-10-16 15:36:33 +02:00
Christoph Oelckers
fe9ddabd35
- made nChunkSprite an actor array
...
# Conflicts:
# source/games/exhumed/src/move.cpp
2021-10-16 15:36:33 +02:00
Christoph Oelckers
c2467dc47b
- made nBodySprite an actor array.
...
# Conflicts:
# source/games/exhumed/src/aistuff.h
# source/games/exhumed/src/player.cpp
# Conflicts:
# source/games/exhumed/src/aistuff.h
# source/games/exhumed/src/player.cpp
2021-10-16 15:36:33 +02:00
Christoph Oelckers
dbe4aa3515
- renamed disassembly variables in bubbles.cpp.
...
# Conflicts:
# source/games/exhumed/src/bubbles.cpp
# source/games/exhumed/src/exhumedactor.h
2021-10-16 15:36:33 +02:00
Christoph Oelckers
0d0326f8c1
- argument of BelowNear
2021-10-16 15:36:32 +02:00
Christoph Oelckers
9badd2e78b
- converted switches to classes.
2021-10-16 15:36:32 +02:00
Christoph Oelckers
601d358b49
- converted FuncWasp to a class.
2021-10-16 15:36:32 +02:00
Christoph Oelckers
8d7f37066f
- converted FuncSpider to a class
2021-10-16 15:36:32 +02:00
Christoph Oelckers
5a424bdd06
- converted FuncSnake to a class.
2021-10-16 15:36:32 +02:00
Christoph Oelckers
61df236588
- converted FuncSet/FuncSoul to a class.
2021-10-16 15:36:32 +02:00
Christoph Oelckers
d77a5208f3
- converted FuncScorp to a class.
2021-10-16 15:36:31 +02:00
Christoph Oelckers
5418c4326f
- converted FuncRoach to a class.
2021-10-16 15:36:31 +02:00
Christoph Oelckers
25de6fe4c5
- converted FuncRex to a class.
2021-10-16 15:36:31 +02:00
Christoph Oelckers
89d98ddf34
- fixed the rat.
...
- converted FuncRat to a class.
2021-10-16 15:36:11 +02:00
Christoph Oelckers
39ca524185
- converted FuncRa to a class.
2021-10-15 22:57:53 +02:00
Christoph Oelckers
335ebe9272
- converted queen funcs to classes
2021-10-15 22:55:03 +02:00
Christoph Oelckers
93b0a35927
- converted FuncPlayer into a class
2021-10-15 22:19:07 +02:00
Christoph Oelckers
f13e1f2127
- converted all FuncObjects to classes.
2021-10-15 22:14:14 +02:00
Christoph Oelckers
3bda4d5b07
- converted FuncMummy into a class
2021-10-15 22:02:06 +02:00
Christoph Oelckers
008825fe32
- converted FuncCreatureChunk into a class.
2021-10-15 21:58:07 +02:00
Christoph Oelckers
b772200dd4
- converted FuncLion into a class
2021-10-15 21:29:24 +02:00
Christoph Oelckers
45e7b7c4d5
- converted FuncLavaDude(Limb) into classes
2021-10-15 21:25:53 +02:00
Christoph Oelckers
e73725a40e
- converted FuncGrenade into a class.
2021-10-15 21:20:28 +02:00
Christoph Oelckers
cdc7fba8a0
- converted AIFish(Limb) into classes
2021-10-15 21:17:25 +02:00
Christoph Oelckers
8f9e9de4b4
- converted FuncBullets into a class.
2021-10-15 21:11:01 +02:00
Christoph Oelckers
832b394561
- converted FuncBubble into a class.
2021-10-15 21:07:58 +02:00
Christoph Oelckers
0fc490bf40
- converted FuncAnubis into a class.
2021-10-15 21:07:33 +02:00
Christoph Oelckers
ce78b23fb6
- converted FuncAnim into a class
2021-10-15 21:06:53 +02:00
Christoph Oelckers
d130a43aa0
- preparations for cleaning up Exhumed's event dispatcher.
2021-10-15 18:51:22 +02:00
Christoph Oelckers
b725adc426
- Exhumed: split up the message word for event messages.
2021-10-15 18:49:35 +02:00
Christoph Oelckers
2ee7be0382
- Exhumed: split up the value parameter of the run list.
2021-10-15 18:37:39 +02:00
Christoph Oelckers
719081824a
- exhumedactor.h added.
2021-10-15 00:18:37 +02:00
Christoph Oelckers
d2beee587d
- updated version.h.
2021-10-14 22:50:12 +02:00
Christoph Oelckers
2396c89fb9
- migrated EVENT to use its actor pointer.
2021-10-14 21:59:49 +02:00
Christoph Oelckers
f430c28f88
- split up evSend
...
# Conflicts:
# source/games/blood/src/nnexts.cpp
2021-10-14 21:59:49 +02:00
Christoph Oelckers
efc791ee00
- route all remaining calls to evPost and evKill through type specific variants.
2021-10-14 21:59:41 +02:00
Christoph Oelckers
b64aede68e
- made patrolBonkles local to the only function using this array.
2021-10-14 20:31:45 +02:00
Christoph Oelckers
71b144023d
- renamed evPost to evPostActor and evKill to evKillActor for clarity.
2021-10-14 20:31:17 +02:00
Christoph Oelckers
0ab33b7ffe
- need to pass the actor separately to getDataFieldOfObject.
...
We cannot use rxindex anymore.
2021-10-14 20:28:56 +02:00
Christoph Oelckers
e32ac93d96
- use the actor pointer in rxBuckets.
2021-10-14 20:27:36 +02:00
Christoph Oelckers
b449e0a43b
- event redirectors for rxBuckets.
2021-10-14 20:26:42 +02:00
Christoph Oelckers
40a8cd7fa3
- playerQavSceneProcess handled for rxBuckets
2021-10-14 20:25:10 +02:00
Christoph Oelckers
db9d4efdc9
- handled 4 aiFight functions for rxBuckets.
2021-10-14 19:53:08 +02:00
Christoph Oelckers
0ef388538d
- refactored 'mate' function for rxBucket.
2021-10-14 19:51:49 +02:00
Christoph Oelckers
1d04ce90e4
- first batch of rxBucket refactoring.
2021-10-14 19:49:18 +02:00
Christoph Oelckers
5d0086cb49
- renamed RXBUCKET.index to rxindex.
...
This will be needed for refactoring for easier lookup.
2021-10-14 19:41:22 +02:00
Christoph Oelckers
93e909dd58
- use actors in the CFX interface.
2021-10-14 19:41:01 +02:00
Christoph Oelckers
77c827e817
- renamed evKill and added an actor pointer to EVENT struct.
2021-10-14 19:37:53 +02:00
Christoph Oelckers
1e1764eda6
- got rid of fxSpawn.
2021-10-14 19:36:25 +02:00
Christoph Oelckers
085bd3a165
- replaced all fxSpawn calls with fxSpawnActor.
2021-10-14 19:35:05 +02:00
Christoph Oelckers
fbe2373972
- started cleanup of evPost calls by renaming the internal functions.
...
This just renames things - no changes in functionality.
2021-10-14 19:07:51 +02:00
Christoph Oelckers
2a1f31581c
- added null pointer checks to all event callback functions.
2021-10-14 19:07:24 +02:00
Christoph Oelckers
add368433e
- sanitized callback interface.
2021-10-14 19:07:00 +02:00
Christoph Oelckers
143e947839
- renamed variable for consistency.
2021-10-14 19:02:48 +02:00
Christoph Oelckers
562968262c
- moved spriteMass into DBloodActor
2021-10-14 19:01:10 +02:00
Christoph Oelckers
5519596a94
- refactored global sprite index arrays into pointer arrays.
2021-10-14 18:43:56 +02:00
Christoph Oelckers
b60caa362e
- fixed bad merge
2021-10-14 01:15:05 +02:00
Christoph Oelckers
62d0d3712e
- use a sprite flag to mark mapped sprites.
...
This avoids another global array which needs to be addressed by sprite index.
2021-10-14 15:09:43 +02:00
Christoph Oelckers
88e86b4248
- added 0 checks to all divisions for calculating dudeSlope.
...
I had it happen once that an actor was targeting itself here which resulted in zero distance and a division by zero exception.
2021-10-14 00:06:34 +02:00
Christoph Oelckers
46d2c52b19
- use correct math to access a texel's center for rendering voxels.
...
No idea if this was causing problem, but it surely wasn't 100% correct.
2021-10-13 00:12:58 +02:00
Christoph Oelckers
8d9d3d5f8f
- disabled palette emulation for the GLES backend.
...
Right now the shader does not support it and will require significant redesign to work well with the target hardware.
2021-10-13 00:09:18 +02:00
Christoph Oelckers
a358cf8516
- SW: eliminated all SPRITE_TAG# macros.
2021-10-12 22:21:08 +02:00
Christoph Oelckers
b1ac1ad585
- more changesprite* renaming.
2021-10-12 21:36:42 +02:00
Christoph Oelckers
2e37cc627c
- function renaming for clarity and easier lookup.
2021-10-12 21:36:42 +02:00
Christoph Oelckers
895ecc81bc
- const-ified some static arrays.
...
# Conflicts:
# source/games/blood/src/nnexts.cpp
2021-10-12 21:36:42 +02:00
Christoph Oelckers
3ea4c94266
- removed a few static array references.
2021-10-12 21:36:42 +02:00
Christoph Oelckers
a318129ff3
- iterators in ambient sound code.
2021-10-12 21:36:41 +02:00
Christoph Oelckers
3454fc397e
- a few target_i removed.
...
# Conflicts:
# source/games/blood/src/ai.cpp
2021-10-12 21:36:41 +02:00
Christoph Oelckers
dc5d32f510
- two missed iterators.
2021-10-12 21:36:41 +02:00
Christoph Oelckers
13348ca428
- a tiny bit of code cleanup.
2021-10-12 21:36:41 +02:00
Christoph Oelckers
b240d2b5bd
- aiunicult.cpp is done.
2021-10-12 21:36:41 +02:00
Christoph Oelckers
013eadfd9f
- genDudePrepare
2021-10-12 21:36:18 +02:00
Christoph Oelckers
fb5916a3dd
- canSwim et.al.
2021-10-12 21:29:12 +02:00
Christoph Oelckers
acec23e034
- ensure the 'slave' array in genDudeExtra is always free of gaps.
...
This will ensure that adding entries won't accidentally overwrite things.
2021-10-12 21:29:11 +02:00
Christoph Oelckers
6bee3b5ba0
- updateTargetOfSlaves, also storing the slave data as pointers and major cleanup of this function.
2021-10-12 21:29:11 +02:00
Christoph Oelckers
c42e26351e
- genDudeSpawn, genDudeTransform and updateTargetOfLeech.
2021-10-12 21:29:11 +02:00
Christoph Oelckers
e41fcb92ab
- cleanup and formatting noise again.
2021-10-12 21:29:11 +02:00
Christoph Oelckers
f4fd2a770b
- dudeLeechOperate
2021-10-12 21:29:11 +02:00
Christoph Oelckers
e415d93283
- doexplosion
2021-10-12 19:23:25 +02:00
Christoph Oelckers
b1f55434a2
- getRecoilChance + getDodgeChance
2021-10-12 19:23:25 +02:00
Christoph Oelckers
b70368050a
- getDispersionModifier and getRangeAttackDist.
2021-10-12 19:23:25 +02:00
Christoph Oelckers
9801ce25dd
- scaleDamage
2021-10-12 19:23:24 +02:00
Christoph Oelckers
544145fe4b
- reformatting noise split from a larger commit.
2021-10-12 19:23:24 +02:00
Christoph Oelckers
c715ded287
- dudeIsMelee
2021-10-12 19:23:24 +02:00
Christoph Oelckers
eb478ba580
- getNextIncarnation
...
Event queue handling not refactored yet.
2021-10-12 19:23:24 +02:00
Christoph Oelckers
d892efb78a
- killDudeLeech
2021-10-12 19:23:24 +02:00
Christoph Oelckers
040049f83e
- more leech stuff.
...
# Conflicts:
# source/games/blood/src/ai.cpp
2021-10-12 19:23:23 +02:00
Christoph Oelckers
d2f16ec8ab
- leechIsDropped, pLifeLeech
2021-10-12 19:23:23 +02:00
Christoph Oelckers
d907627156
- spriteIsUnderwater
2021-10-12 19:23:23 +02:00
Christoph Oelckers
75258c8b29
- playGenDudeSound.
2021-10-12 19:23:23 +02:00
Christoph Oelckers
ea63229251
- some minor cleanup in aiunicult.cpp.
...
# Conflicts:
# source/games/blood/src/aiunicult.cpp
2021-10-12 19:23:22 +02:00
Christoph Oelckers
05571de93a
- genDudeUpdate handled.
2021-10-12 19:23:22 +02:00
Christoph Oelckers
49f75e6f51
- 2 more function changed to use actor parameters.
2021-10-12 19:23:22 +02:00
Christoph Oelckers
805ae48607
- ThrowThing cleanup.
...
Mostly use of VS's rename function.
2021-10-12 19:23:22 +02:00
Christoph Oelckers
c848518746
- use actor parameter in all calls to aiGenDudeNewState.
...
# Conflicts:
# source/games/blood/src/aiunicult.cpp
2021-10-12 19:23:22 +02:00
Christoph Oelckers
9de6c7df46
- reformatting commit.
...
# Conflicts:
# source/games/blood/src/ai.cpp
2021-10-12 19:23:22 +02:00
Christoph Oelckers
062b3dbf76
- route all access to genDudeExtra through the method in DBloodActor
2021-10-12 19:23:21 +02:00
Christoph Oelckers
cdacf8e470
- fixed badly resolved merge conflict
2021-10-12 00:07:24 +02:00
Christoph Oelckers
64b67291bc
- properly write out the genPatrolStates in savegames.
2021-10-11 23:41:44 +02:00
Christoph Oelckers
f370c0f22f
- fixed bad null check in aiProcessDudes.
2021-10-11 23:41:04 +02:00
Christoph Oelckers
c6dc564788
- fixed bad target check (again.)
2021-10-11 23:34:49 +02:00
Christoph Oelckers
ff0c4359e0
- deleted unused inlines.
2021-10-11 23:03:11 +02:00
Christoph Oelckers
afce1aba88
- SW: eliminated the only use of the SPRITE_TAG1 macro.
2021-10-11 23:02:54 +02:00
Hugo Locurcio
91ce22931d
Add cvars to control automap line alpha and thickness
...
This can be used to improve automap readability on high-resolution
displays.
2021-10-11 22:30:39 +02:00
Christoph Oelckers
83944a7191
- fixed uninitialized light index variable for floor sprites.
2021-10-11 22:28:26 +02:00
Christoph Oelckers
351dabdb90
- actFireMissile.
2021-10-10 22:36:12 +02:00
Christoph Oelckers
7eac8b71d5
- removed unused constants
2021-10-10 11:47:19 +02:00
Christoph Oelckers
2af688dd62
- replaced RANDOM_RANGE macro with direct calls to RandomRange
2021-10-10 11:47:19 +02:00
Christoph Oelckers
cc912fbf93
- removed pointless BOUND_4PIX macro
2021-10-10 11:47:19 +02:00
Christoph Oelckers
3220a6d786
- some SW cleanup
2021-10-10 11:47:19 +02:00
Christoph Oelckers
bbe49eee7c
- reformatting commit
2021-10-10 11:47:18 +02:00
Christoph Oelckers
6f8a5ee2d2
- Exhumed: replaced a large amount of sprite array accesses with pointers.
...
No logic changes, this is mainly search & replace.
2021-10-10 11:47:18 +02:00
Christoph Oelckers
c485fce958
- reformatted the actor and ai sources.
2021-10-10 11:47:18 +02:00
Christoph Oelckers
0ee81b2bb8
- refactored the remaining pieces in the ai code to use actors.
2021-10-10 11:47:18 +02:00
Christoph Oelckers
d4439b879c
- Blood: added checks to the SEQ code to handle situation where their attached object has been removed from the game.
2021-10-10 11:46:38 +02:00
Christoph Oelckers
62502439d7
- eliminated HITINFO.hitsprite.
...
This was one of the more annoying sprite index variables because it is part of static global data.
2021-10-09 23:09:09 +02:00
Christoph Oelckers
9b4ee3dc2c
- some remaining sprite[] access in ai.cpp
...
# Conflicts:
# source/games/blood/src/ai.cpp
2021-10-09 23:09:08 +02:00
Christoph Oelckers
f712a674ce
- removed the few remaining uses of actDamageSprite_.
2021-10-09 23:09:08 +02:00
Christoph Oelckers
3ab636a13a
- sfxPlay3DSound calls partially migrated.
2021-10-09 23:09:08 +02:00
Christoph Oelckers
741d24b9df
- iterators in teslaHit.
2021-10-09 23:09:07 +02:00
Christoph Oelckers
ea7ff0b5eb
- parameter stuff in a few weapon functions.
2021-10-09 23:09:07 +02:00
Christoph Oelckers
e64e359d07
- iterators in StompSeqCallback
2021-10-09 23:09:07 +02:00
Christoph Oelckers
39b9ddc04c
- target stuff in aiInitSprite
2021-10-09 23:09:07 +02:00
Christoph Oelckers
b8d55feb1e
- actor parameter substitution and a few bad constants.
2021-10-09 23:08:44 +02:00
Christoph Oelckers
fbae41ee0a
- renamed the sprite variant of aiDamageSprite.
2021-10-09 23:08:43 +02:00
Christoph Oelckers
bbe3f333fa
- replaced some GetSpriteExtents calls with GetActorExtents.
2021-10-09 23:08:43 +02:00
Christoph Oelckers
44b0e59127
- aiProcessDudes and aiInitSprite done, completing the main pass over ai.cpp.
2021-10-09 23:08:43 +02:00
Christoph Oelckers
29e245dfce
- aiProcessDudes, getting rid of the global cumulDamage array and some reformatting
2021-10-09 23:04:29 +02:00
Christoph Oelckers
6968a072ae
- another formatting-only commit.
...
# Conflicts:
# source/games/blood/src/ai.cpp
2021-10-09 23:04:29 +02:00
Christoph Oelckers
fe92188b0c
- removed the dudeIsPlayingSeq variant taking a sprite parameter.
2021-10-09 23:03:09 +02:00
Christoph Oelckers
890cc4947b
- use actor parameters for aiSetTarget and aiActivateDude in several places.
2021-10-09 23:03:09 +02:00
Christoph Oelckers
61d9cd1b17
- switched all aiPlay3DSound calls to use actors.
2021-10-09 23:02:40 +02:00
Christoph Oelckers
bdba52aede
- refactored aiDamageSprite.
2021-10-09 23:02:20 +02:00
Christoph Oelckers
10b0bba53e
- fixed warnings in Exhumed.
2021-10-08 19:24:45 +02:00
Christoph Oelckers
948f194064
- fixed warnings in Duke.
2021-10-08 19:21:29 +02:00
Christoph Oelckers
8606b2ea5a
- fixed warnings in Blood.
2021-10-08 19:09:26 +02:00
Christoph Oelckers
39319a9582
- fixed warnings in common code.
2021-10-08 19:07:56 +02:00
Christoph Oelckers
29769dd673
- fixed engine code warnings pointed out by XCode 13.
2021-10-08 19:06:41 +02:00
Christoph Oelckers
9b047c771c
- reformatting of aiDamageSprite, no logic change here.
2021-10-07 22:54:18 +02:00
Christoph Oelckers
c8501f8ea6
- refactored aiSetTarget
2021-10-07 22:54:18 +02:00
carnivoroussociety
e6e9bac04b
Add ifdef'd correct code for DUDEEXTRA struct saving
2021-10-07 22:51:43 +02:00
carnivoroussociety
8998d92688
Restore original savename variables for DUDEEXTRA struct
2021-10-07 22:51:42 +02:00
carnivoroussociety
8dbd0f10d3
Refactored DUDEEXTRA struct and correctly init state
...
# Conflicts:
# source/games/blood/src/aiboneel.cpp
# source/games/blood/src/aicerber.cpp
# source/games/blood/src/aigarg.cpp
# source/games/blood/src/aighost.cpp
# source/games/blood/src/aitchern.cpp
2021-10-07 22:51:42 +02:00
Christoph Oelckers
8168c6f85c
- use the vel() wrappers in a few more places.
2021-10-07 22:48:08 +02:00
Christoph Oelckers
595893a9a0
- added a few more ValidateTarget calls.
2021-10-07 22:48:08 +02:00
Christoph Oelckers
a3a5e7e90b
- renamed aiSetTarget.
2021-10-07 22:48:08 +02:00
Christoph Oelckers
2348dd8848
- backend update from GZDoom
...
* GLES backend fixes.
* font colorization fixes.
* option menu spacing fix
2021-10-07 22:46:45 +02:00
Christoph Oelckers
49e0c461c2
- Backend update from GZDoom.
...
This is mainly bringing the GLES backend up to date.
2021-10-07 22:46:45 +02:00
Mitch Richters
61ba58c529
- Duke: Use DeferredGameStart()
instead of ChangeLevel()
in cheatLevel()
to instantly warp to the targeted map, matching DOS behaviour.
...
* Fixes #529 .
2021-10-05 08:50:05 +11:00
Mitch Richters
5732ea0233
Revert "- Blood: Use more precision for flicker, quake and tilt effects."
...
This reverts commit 3c09f41b43
.
* Fixes #554 .
2021-10-05 08:43:32 +11:00
Christoph Oelckers
95acafdbac
- manual update of NBlood commit 24908021f3b844a73de05632565d55d5b71b577c
...
- Fix kModernCustomDude is not inheriting sprite size if SEQ have zero repeats
- Damage scale tweaks for kModernCustomDude
- Fix hitscan kModernCondition
2021-09-19 16:35:02 +02:00
Christoph Oelckers
1732d206bd
- Blood: fixed flare gun no longer being able to set trees on fire.
...
Somehow a bad damage type got in here...
2021-09-18 20:13:05 +02:00
Christoph Oelckers
0d4e0d72fb
- fixed vertex generation when splitting walls by planes on old hardware.
2021-09-18 13:04:46 +02:00
Christoph Oelckers
01e9d8e5e1
- remaining parts of GLES.
2021-09-18 13:03:36 +02:00
Christoph Oelckers
a3d9cd9a68
- Backend update from GZDoom - mainly for GLES2 support.
2021-09-18 12:20:28 +02:00
Christoph Oelckers
11aea1c5d4
- more target replacements.
2021-09-17 20:49:27 +02:00
Christoph Oelckers
b9f6120380
- handle target validations in AI functions properly.
...
Now they will all print the function name along with the message and not rely on assert abuse.
2021-09-17 20:49:27 +02:00
Christoph Oelckers
261301bdea
- replacing target_i, batch 1.
...
This was the simple stuff, mostly done by search&replacing common patterns.
2021-09-17 20:49:27 +02:00
Christoph Oelckers
90091965ba
- replaced most occurences of target_i in already refactored code.
2021-09-17 20:49:27 +02:00
Christoph Oelckers
7a6629ce6a
- renamed XSPRITE::target to target_i.
...
This is to make searching for it easier as 'target' is a very common word in the source.
2021-09-17 20:49:26 +02:00
Christoph Oelckers
774a015e6b
- aiChooseDirection and its subfunctions.
2021-09-17 20:49:26 +02:00
Christoph Oelckers
a79d362b40
- dudeIsPlayingSeq + aiPlay3DSound.
2021-09-17 20:49:26 +02:00
Christoph Oelckers
7054313dd4
- formatting only.
2021-09-17 20:49:26 +02:00
Christoph Oelckers
00d0099333
- removed a few compatibility wrappers.
2021-09-17 20:49:26 +02:00
Christoph Oelckers
6a1ffca34f
- actCheckExplosion, removed array access from SEQ callbacks in actor.cpp and renamed the two which still had assembly names.
2021-09-17 20:49:25 +02:00
Christoph Oelckers
663ecc79d1
- actFireVector
2021-09-17 20:49:25 +02:00
Christoph Oelckers
d6724185b3
- removed a few redundant one-liner functions.
2021-09-17 20:49:25 +02:00
Christoph Oelckers
d7078dda48
- actGetRespawnTime + actCheckRespawn.
2021-09-17 20:49:25 +02:00
Christoph Oelckers
6db18e61d9
- Blood: use a TArray for gPost and store actors as pointers.
...
This also does not need to be serialized because it gets cleared at the end of each game tick and will always be empty when saving is done.
2021-09-17 20:49:05 +02:00
Christoph Oelckers
4526f4149b
- actSpawnThing and actFireThing.
2021-09-16 00:11:20 +02:00
Christoph Oelckers
7c1826e909
- fixed typo in the actor variant of seqKill.
2021-09-16 00:04:18 +02:00
Christoph Oelckers
c5d7455317
- actSpawnDude.
2021-09-16 00:01:16 +02:00
Christoph Oelckers
e8187b4a99
- fixed bad serializers for vec2_t and vec3_t.
2021-09-12 18:42:58 +02:00
Christoph Oelckers
6be611fd94
- fixed merge.
2021-09-12 18:32:11 +02:00
Christoph Oelckers
d466ea155f
- Exhumed: Avoid masking bits into the sector index as well.
...
# Conflicts:
# source/games/exhumed/src/player.cpp
2021-09-12 18:28:47 +02:00
Christoph Oelckers
9991e6665c
- Exhumed: Avoid masking sound flags into the sprite index.
...
This put a hard 4096 sprites limit into the engine. It's also a blocker for refactoring.
2021-09-12 18:27:30 +02:00
Christoph Oelckers
d82b7ff51c
- Exhumed: renamed disassembly variable.
2021-09-12 18:27:30 +02:00
Christoph Oelckers
f7a475aa94
- Exhumed: fixed sound origin in DoRegenerates.
...
Should be the actual sprite, not the table index...
# Conflicts:
# source/games/exhumed/src/items.cpp
2021-09-12 18:27:17 +02:00
Christoph Oelckers
7f485bfab1
- split off the extended sprite flags into their own word.
...
Some code overwrites the cstat field entirely (thanks Duke, for being sloppy with this...!)
2021-09-12 18:26:35 +02:00
Christoph Oelckers
99ecfe133d
- flag sprites for automapping regardless of the 'automapping' variable's value.
...
Duke should show its floor sprites, too.
2021-09-12 18:22:38 +02:00
Kevin Caccamo
2297c9351a
Attempt to fix music replacement definitions again
...
Store per-map music replacements in a TMap, and perform the replacements after parsing the MAPINFO
2021-09-12 18:21:42 +02:00
Christoph Oelckers
6dcd7e2557
- do not crash on badly defined walls where the end point is missing.
2021-09-12 18:18:26 +02:00
Christoph Oelckers
585f841f96
- core shader override block, backported from GZDoom.
2021-09-12 18:18:26 +02:00
Christoph Oelckers
61bc90949b
- Blood: fixed super secret notification on the level summary screen.
2021-09-12 18:17:51 +02:00
Christoph Oelckers
0e82d75325
- SW: fixed recursive saving of panel sprites
2021-09-12 18:17:50 +02:00
Christoph Oelckers
bad57f6a5f
- clear pspAsArray at the beginning of a save/load operation, not at the end.
...
If done at the end it may leave behind some stale data if saving or loading fails for some reason.
2021-09-12 18:17:50 +02:00
Christoph Oelckers
e13426ec6e
- SW: avoid crashing when unwinding from a savegame loading error.
...
The linked list may be incomplete in this case.
Also kept the macro unmangling done to debug this code.
2021-09-12 18:17:50 +02:00
Christoph Oelckers
3c3da13d3f
- fixed seqKill actor variant.
2021-09-12 18:17:27 +02:00
Christoph Oelckers
fefc9e91da
- rename weaponhit to DDukeActor.
...
Just make do with one name instead of aliasing it.
2021-08-30 08:12:39 +02:00
Christoph Oelckers
2b6bc414f5
- Duke: fixed a few places using a sprite index where a player index is needed.
2021-08-30 08:08:33 +02:00
Christoph Oelckers
0bd0923f44
- cleaned up some dirty code.
2021-08-30 08:07:40 +02:00
Christoph Oelckers
07eda3cb4a
- Duke: don't process input when not in a game.
2021-08-30 08:06:26 +02:00
Christoph Oelckers
bac1480997
- Blood: fixed use of bad index variable in condCheckSector
2021-08-28 18:00:13 +02:00
carnivoroussociety
deefbcf431
Use PlayerName()
2021-08-28 16:46:01 +10:00
carnivoroussociety
2b44f8e79d
Carry over team flag fix from nblood
2021-08-28 16:46:01 +10:00
carnivoroussociety
049665e03e
Fixed bug collecting lifeleech with ignited tnt/spray
2021-08-28 16:46:01 +10:00
Mitchell Richters
2fbfa82fe8
- Blood: Add interpolated weapon QAVs to WeaponInit()
and WeaponPrecache()
functions.
2021-08-28 16:43:17 +10:00
Mitchell Richters
726edc199e
- Blood: Add SetQAV()
static function to abstract away from directly setting the player's weaponQav
variable to allow us to properly reset the framerate QAV timer values to 0 as well.
2021-08-28 16:43:17 +10:00
Mitchell Richters
3c09f41b43
- Blood: Use more precision for flicker, quake and tilt effects.
2021-08-28 16:43:16 +10:00
Christoph Oelckers
dc0d201275
- Blood: added serialization for the tracking conditions array.
2021-08-27 18:23:04 +02:00
Mitchell Richters
656ec8ef06
- Blood: Apply a slightly better fix for the akimbo shotgun animation kQAV2SHOTF2
(res_id: 61).
...
* The issue here is that `pPlayer->weaponTimer` reaches 0 before the animation plays out. This is because the QAV timer has its own ticrate independent of the game's timer.
* A workaround like this is still the best approach for now as its not easily possible to remove `weaponTimer` within the game without messing up the trigger system that runs at ticrate.
2021-08-27 22:18:57 +10:00
Christoph Oelckers
f3e10a595d
- Blood: fixed pod fireballs not exploding.
...
Looks like something went wrong with cleaning out the broken code that once was here.
2021-08-27 13:25:01 +02:00
Christoph Oelckers
e010dce812
- Blood: fixed occasionally disappearing sprites when hitting something with the tesla gun.
2021-08-26 09:31:32 +02:00
Christoph Oelckers
9b061f9829
- Blood: fixed crash with Gargoyle projectiles.
...
Thanks, MSVC, for not warning about this... :(
2021-08-26 08:18:24 +02:00
Christoph Oelckers
1fbaeceada
- Blood: avoid double free of sprites.
...
This happened to me once in Death Wish.
2021-08-26 08:18:23 +02:00
carnivoroussociety
03e6bb3696
Skip CheckProximityWall when newSectCheckMethod is set
...
Fixes edge case where CheckProximityWall misses
2021-08-26 08:02:11 +02:00
Mitchell Richters
6d06f063f6
- Blood: Directly use the incoming loopable
bool from gi->AddQAVInterpProps()
in the QAVInterpProps
struct.
...
* During the initial implementation, there were more flags than this single one. I don't foresee any further flags coming so lets go for cleaner code.
2021-08-26 11:20:26 +10:00
Mitchell Richters
37f8fc8b0d
- Allow disabling of load screens like how they were before the move of ScreenJob from native code to ZScript.
2021-08-26 10:34:00 +10:00
Mitchell Richters
f44d695245
- Fix some warning messages in the defineqav
DEF parser.
2021-08-26 10:33:24 +10:00
Christoph Oelckers
c80831555c
- Blood: fixed broken missile collision checks.
...
Curse that stupid bit masking madness in clipmove. As long as this code isn't properly abstracted, we still need to handle it on the game side.
2021-08-25 08:47:40 +02:00
Christoph Oelckers
0cad0b9258
- reformatting the mess created by TortoiseMerge.
2021-08-25 08:46:31 +02:00
Christoph Oelckers
c288de920d
- Blood: don't abort the INI scanner if it finds a file with resource file index 0.
...
0 is also used for on-the-fly addition of data to the file system, so this must run through the entire directory to be safe.
2021-08-24 18:40:29 +02:00
Mitchell Richters
fd149e50ee
- Remove early return from GrpScan()
that was allowing addons to come through even if they weren't valid.
...
* Raze configured to only search $PROGDIR with a single `worldtour.grp` file would attempt to autoload even if its dependency CRC wasn't present. Attempted to re-arrange function but had mixed results. Removing this early return is what worked under all test cases.
2021-08-24 20:56:28 +10:00
Christoph Oelckers
90b7524706
- SW: fixed episode indexing resulting in bad display on the automap.
2021-08-24 09:57:36 +02:00
Mitchell Richters
5a32000d1e
- Blood: Interpolate the alpha and shade values when interpolating QAVs.
2021-08-24 10:07:58 +10:00
Mitchell Richters
b1fa923f02
- Blood: Re-organise QAVInterpProps
struct so that when statically declaring forcedinterpdata
, only the required value needs passing.
2021-08-24 10:06:54 +10:00
Mitchell Richters
542f005565
- Blood: Fixed weapon switching while using Voodoo Doll playing its idle animation.
...
* Fixes #517 .
2021-08-24 07:25:52 +10:00
Christoph Oelckers
feb11a2f9a
- fixed one merge conflict that managed to slip through.
2021-08-23 19:24:56 +02:00
Christoph Oelckers
0e7c61dc33
- tabified code.
2021-08-23 19:21:41 +02:00
Christoph Oelckers
ac40e86ab2
- actSpawnSprite
...
# Conflicts:
# source/games/blood/src/actor.cpp
# Conflicts:
# source/games/blood/src/actor.cpp
2021-08-23 19:20:05 +02:00
Christoph Oelckers
ebdb4927cc
- got rid of a few sprite/xsprite references.
...
# Conflicts:
# source/games/blood/src/actor.cpp
2021-08-23 19:19:36 +02:00
Christoph Oelckers
2cfb4f908e
- actProcessSprites done.
...
# Conflicts:
# source/games/blood/src/actor.cpp
# Conflicts:
# source/games/blood/src/actor.cpp
# Conflicts:
# source/games/blood/src/actor.cpp
2021-08-23 19:18:22 +02:00
Christoph Oelckers
7faebdcbf1
- first two loops of actProcessSprites split off and redone.
...
# Conflicts:
# source/games/blood/src/actor.cpp
2021-08-23 19:15:18 +02:00
Christoph Oelckers
ddcb12a8b2
- MoveMissile + actExplodeSprite.
...
# Conflicts:
# source/games/blood/src/actor.cpp
2021-08-23 19:15:08 +02:00
Christoph Oelckers
29c2e68270
- tabified MoveDude
...
# Conflicts:
# source/games/blood/src/actor.cpp
2021-08-23 19:13:29 +02:00
Christoph Oelckers
8c01c363a9
- replaced remaining access to sprite[] and xsprite[] in processed code.
...
# Conflicts:
# source/games/blood/src/actor.cpp
# Conflicts:
# source/games/blood/src/actor.cpp
# Conflicts:
# source/games/blood/src/actor.cpp
2021-08-23 19:13:28 +02:00
Christoph Oelckers
c1d52f7393
- replaced all occurences of gDudeExtra and moved that struct into DBloodActor.
...
# Conflicts:
# source/games/blood/src/ai.cpp
2021-08-23 19:13:28 +02:00
Christoph Oelckers
4fed1debe4
- moveDude part 1.
2021-08-23 19:13:28 +02:00
Christoph Oelckers
3aa9d6f8be
- MoveThing.
...
# Conflicts:
# source/games/blood/src/actor.cpp
2021-08-23 19:12:58 +02:00
Christoph Oelckers
6d958135e0
- give TMap a proper move constructor and assignment operator.
2021-08-23 19:05:31 +02:00
carnivoroussociety
e74e581637
Fix issues with self collision on MoveMissile()
...
Only with new accurate clipmove() use
2021-08-23 18:40:38 +02:00
Mitchell Richters
4ffd02b1e1
- Blood: Declare qavGetInterpType()
as static within qav.cpp.
2021-08-23 21:00:45 +10:00
Mitchell Richters
276c000f9f
- Blood: Add mechanism to be able to force QAV interpolation based on picnum for testing purposes and not for end-user usage.
2021-08-23 20:54:30 +10:00
carnivoroussociety
2365be7c95
Add modern map kViewEffectSpotProgress support
...
Fix kViewEffectShowWeapon positional/angle offset for voodoo doll
2021-08-23 19:28:32 +10:00
Mitchell Richters
1d0924e45a
- Fix invocation name in FileSystem::GetLongName()
error output.
...
* Thanks to @Gaerzi for spotting this.
2021-08-23 18:55:42 +10:00
Mitchell Richters
a920fc5aef
- Add support for first
and last
keyword for defineqav
parser when process interpolate ignore
block.
2021-08-23 15:34:30 +10:00
Mitchell Richters
23be5ffe8c
- Add support for all
keyword for defineqav
parser when process interpolate ignore
block, and ensure the lowest value can't be below 0.
2021-08-23 15:06:04 +10:00
Mitchell Richters
e68b793852
- Add some extra safety to defineqav
parser to ensure some unsupported actions can't be performed.
2021-08-23 14:19:33 +10:00
Mitchell Richters
62e1fdf709
- Blood: Fix handling of QAVs defined as loopable while interpolating.
2021-08-23 12:05:13 +10:00
Mitchell Richters
ddc7b3d730
Merge branch 'master' into master
2021-08-23 11:40:05 +10:00
Mitchell Richters
ebdc9c31f2
- Blood: Ensure new QAV timer doesn't process while game is paused.
2021-08-23 11:05:08 +10:00
Mitchell Richters
1ee6fd76c4
Merge branch 'blood-qavrework'
...
# Conflicts:
# source/core/gamecvars.cpp
# source/core/gamecvars.h
# source/games/blood/src/weapon.cpp
2021-08-23 11:02:09 +10:00
Mitchell Richters
d7450e12f0
- Blood: Re-add interpolated weapon QAVs in an externalised, disabled-by-default fashion.
2021-08-23 10:55:08 +10:00
Mitchell Richters
6975997ae3
- Blood: Remove weaponQAV[]
array entirely.
2021-08-23 10:49:47 +10:00
Mitchell Richters
5bfdd74844
- Blood: Revert "- Blood: Ensure looped QAVs interpolate using last frame in the array."
2021-08-23 09:32:00 +10:00
Mitchell Richters
916241dcdb
- Blood: Implement defineqav
DEF parser with hookup to game-side code.
2021-08-23 09:00:47 +10:00
Mitchell Richters
da78160cd1
- Blood: Revert code to dump out QAVs to disk and remove all hard-coded interpolation repairs.
2021-08-22 21:20:15 +10:00
carnivoroussociety
72225c9b8c
Added various missing item/ammo types to common_game.h
...
Renamed kAmmoItemVoodooDoll->kItemAmmoVoodooDoll
Renamed kMissileFireballNapam->kMissileFireballNapalm
2021-08-22 17:49:02 +10:00
Mitchell Richters
499e400cdb
- Blood: Add command-line switch to dump repaired QAVs back out to disk so that they can be included in raze.pk3.
...
* This required restoring the original struct temporarily to ensure contents dumped to disk were 1:1 with how they came in.
2021-08-22 15:22:58 +10:00
Mitchell Richters
907e0974e9
- Add GetLongName()
method to FileSystem
class.
2021-08-22 15:03:28 +10:00
Mitchell Richters
a681aad281
- Blood: Add interpolation repair and properties for kQAVLITEFLAM
(res_id: 5).
2021-08-22 15:03:20 +10:00
Mitchell Richters
6256de8013
- Blood: Extend interpolation repair for kQAVBUNUP
(res_id: 16) to add missing tile in first frame.
2021-08-22 11:23:29 +10:00
Mitchell Richters
2edbd3447c
- Blood: Extend interpolation properties for kQAVBUNFUSE
(res_id: 21) to stop interpolating all tiles after frame 6 and not just tile index 4.
2021-08-22 10:55:01 +10:00
Mitchell Richters
7e8ec89a68
- Blood: Add interpolation repair for kQAVSTAFDOWN
(res_id: 119).
2021-08-22 08:18:17 +10:00
Mitchell Richters
a03848d1f8
- Blood: Add interpolation repair for kQAVSTAFIRE4
(res_id: 116).
2021-08-22 08:18:14 +10:00
Mitchell Richters
fb084734e3
- Blood: Add interpolation repair for kQAVVDSPEL1
(res_id: 110).
2021-08-22 08:18:00 +10:00
Mitchell Richters
0172373650
- Blood: Add interpolation repair for kQAVVDDOWN
(res_id: 109).
2021-08-22 08:17:50 +10:00
Mitchell Richters
95878bcea1
- Blood: Add interpolation repair for kQAVVDFIRE4
(res_id: 106) and kQAVVDFIRE5
(res_id: 107).
2021-08-22 08:17:47 +10:00
Mitchell Richters
d34fd124b7
- Blood: Add interpolation repair for kQAVVDFIRE3
(res_id: 105).
2021-08-22 08:17:44 +10:00
Mitchell Richters
a3a2cd8da8
- Blood: Add interpolation repair for kQAVVDFIRE1
(res_id: 103) and kQAVVDFIRE2
(res_id: 104).
2021-08-22 08:17:37 +10:00
Mitchell Richters
dd1e716082
- Blood: Extend backported voodoo doll fix from BloodGDX to always use kQAVVDIDLE2
when the player is moving. As kQAVVDIDLE2
has moving frames and is not a static idle animation, call it via StartQAV()
so that weaponTimer
is started.
2021-08-22 08:17:33 +10:00
Mitchell Richters
cd092153eb
- Blood: Mark kQAVVDIDLE2
(res_id: 102) as being loopable.
2021-08-22 08:17:14 +10:00
Mitchell Richters
803e9f8a04
- Blood: Add interpolation repair for kQAVVDIDLE2
(res_id: 102).
2021-08-22 08:16:41 +10:00
Mitchell Richters
1fd66681d2
- Blood: Add interpolation repair for kQAVVDUP
(res_id: 100).
2021-08-22 08:15:53 +10:00
Mitchell Richters
3a656c91cb
- Blood: Mark kQAVNAPFIRE
(res_id: 91) as being loopable.
2021-08-22 08:15:43 +10:00
Mitchell Richters
d4fe734afa
- Blood: Add interpolation repair for kQAVNAPUP
(res_id: 89).
2021-08-22 08:14:47 +10:00
Mitchell Richters
99ab8fa726
- Blood: Add interpolation repair for kQAV2SGUNPRE
(res_id: 86). Thanks again to @Phredreeke for the tiles with overlays baked in for this to work properly.
2021-08-22 08:14:45 +10:00
Mitchell Richters
ed92ec9af9
- Blood: Add interpolation repair for kQAV2SGUNALT
(res_id: 85). Thanks again to @Phredreeke for the tiles with overlays baked in for this to work properly.
2021-08-22 08:14:42 +10:00
Mitchell Richters
b2637050e8
- Blood: Mark kQAV2SGUNFIR
(res_id: 84) as being loopable.
2021-08-22 08:14:33 +10:00
Mitchell Richters
22e348613f
- Blood: Add interpolation repair for kQAV2SGUNFIR
(res_id: 84). Thanks to @Phredreeke for the tiles with overlays baked in for this to work properly.
2021-08-22 08:14:05 +10:00
Mitchell Richters
073f0d953f
- Blood: Add interpolation repair for kQAV2SGUNUP
(res_id: 82).
2021-08-22 08:14:03 +10:00
Mitchell Richters
7bbf478859
- Blood: Add interpolation repair for kQAVSGUNPOST
(res_id: 80). Thanks again to @Phredreeke for the tiles with overlays baked in for this to work properly.
2021-08-22 08:14:00 +10:00
Mitchell Richters
df3bc4d90a
- Blood: Add interpolation repair for kQAVSGUNPRE
(res_id: 79). Thanks again to @Phredreeke for the tiles with overlays baked in for this to work properly.
2021-08-22 08:13:58 +10:00
Mitchell Richters
1033049b8c
- Blood: Add interpolation repair for kQAVSGUNFIR4
(res_id: 78). Thanks again to @Phredreeke for the tiles with overlays baked in for this to work properly.
2021-08-22 08:13:49 +10:00
Mitchell Richters
1f6bfd7693
- Blood: Mark kQAVSGUNFIR1
(res_id: 77) as being loopable.
2021-08-22 07:58:40 +10:00
Mitchell Richters
2ff1bdfd7d
- Blood: Add interpolation repair for kQAVSGUNFIR1
(res_id: 77). Thanks to @Phredreeke for the tiles with overlays baked in for this to work properly.
2021-08-22 07:58:14 +10:00
Mitchell Richters
5160b7649c
- Blood: Add interpolation repair for kQAVSGUNIDL1
(res_id: 75).
2021-08-22 07:58:11 +10:00
Mitchell Richters
7eca7ea166
- Blood: Add interpolation repair for kQAVSGUNUP
(res_id: 74).
2021-08-22 07:58:09 +10:00
Mitchell Richters
df5185038f
- Blood: Mark kQAV2TOMALT
(res_id: 73) as being loopable.
2021-08-22 07:57:57 +10:00
Mitchell Richters
c46c52a724
- Blood: Add interpolation properties for kQAV2TOMFIRE
(res_id: 71).
2021-08-22 07:57:57 +10:00
Mitchell Richters
c6c7ae76d6
- Blood: Mark kQAVTOMSPRED
(res_id: 67) as being loopable.
2021-08-22 07:57:01 +10:00
Mitchell Richters
6998772487
- Blood: Add interpolation properties for kQAVTOMFIRE
(res_id: 66).
2021-08-22 07:56:23 +10:00
Mitchell Richters
3cd868c9f9
- Blood: Add interpolation repair for kQAV2SHOTFIR
(res_id: 62).
2021-08-22 07:55:57 +10:00
Mitchell Richters
cdff574ef6
- Blood: Add interpolation repair for kQAV2SHOTF2
(res_id: 61).
2021-08-22 07:55:54 +10:00
Mitchell Richters
bfa509e45e
- Blood: Add interpolation properties for kQAVSHOTL1
(res_id: 57).
2021-08-22 07:55:42 +10:00
Mitchell Richters
ba91590028
- Blood: Add interpolation repair for kQAVSHOTUP
(res_id: 50).
2021-08-22 07:55:14 +10:00
Mitchell Richters
e00f76b0aa
- Blood: Add interpolation repair for kQAVFLAR2FIR
(res_id: 48).
2021-08-22 07:55:11 +10:00
Mitchell Richters
e0bcd2d9e9
- Blood: Add interpolation repair for kQAVFLARDOWN
(res_id: 44).
2021-08-22 07:55:09 +10:00
Mitchell Richters
37f7bcde20
- Blood: Mark kQAVFLARFIR2
(res_id: 43) as being loopable.
2021-08-22 07:54:08 +10:00
Mitchell Richters
e70b395d76
- Blood: Add interpolation repair for kQAVFLARFIR2
(res_id: 43).
2021-08-22 07:53:38 +10:00
Mitchell Richters
dfa3a52fa8
- Blood: Add interpolation repair for kQAVFLARUP
(res_id: 41).
2021-08-22 07:53:35 +10:00
Mitchell Richters
7e3307eb33
- Blood: Add interpolation repair for kQAVREMTHRO
(res_id: 39).
2021-08-22 07:53:33 +10:00
Mitchell Richters
6d888bebd9
- Blood: Add interpolation repair for kQAVREMDROP
(res_id: 38).
2021-08-22 07:53:30 +10:00
Mitchell Richters
92c5a53074
- Blood: Mark kQAVREMIDLE1
(res_id: 36) and kQAVREMIDLE2
(res_id: 37) as being loopable.
2021-08-22 07:52:55 +10:00
Mitchell Richters
55b6453415
- Blood: Add interpolation repair for kQAVREMDOWN2
(res_id: 34).
2021-08-22 07:51:53 +10:00
Mitchell Richters
226ba1477a
- Blood: Add interpolation repair for kQAVREMDOWN1
(res_id: 33).
2021-08-22 07:51:50 +10:00
Mitchell Richters
3cc2a6a486
- Blood: Add interpolation repair for kQAVREMUP1
(res_id: 30) and kQAVREMUP2
(res_id: 31).
2021-08-22 07:51:44 +10:00
Mitchell Richters
679903b90f
- Blood: Add interpolation repair for kQAVPROXDOWN
(res_id: 26).
2021-08-22 07:51:40 +10:00
Mitchell Richters
34f31e535c
- Blood: Add interpolation repair for kQAVPROXUP
(res_id: 25).
2021-08-22 07:51:36 +10:00
Mitchell Richters
8944f2e57d
- Blood: Add interpolation repair for kQAVBUNTHRO
(res_id: 23).
2021-08-22 07:51:34 +10:00
Mitchell Richters
7f9f57e4e6
- Blood: Add interpolation repair for kQAVBUNDROP
(res_id: 22).
2021-08-22 07:51:30 +10:00
Mitchell Richters
54cdc8ffc3
- Blood: Add interpolation repair and properties for kQAVBUNFUSE
(res_id: 21).
2021-08-22 07:50:45 +10:00
Mitchell Richters
da95af0c04
- Blood: Add interpolation repair for kQAVBUNDOWN2
(res_id: 19).
2021-08-22 07:50:16 +10:00
Mitchell Richters
cb62692e37
- Blood: Add interpolation repair for kQAVBUNUP2
(res_id: 18).
2021-08-22 07:50:14 +10:00
Mitchell Richters
037fcfd446
- Blood: Add interpolation repair for kQAVBUNDOWN
(res_id: 17).
2021-08-22 07:50:10 +10:00
Mitchell Richters
33d63724f7
- Blood: Add interpolation repair for kQAVBUNUP
(res_id: 16).
2021-08-22 07:50:06 +10:00
Mitchell Richters
28cbec5704
- Blood: Add interpolation repair and properties for kQAVCANFIRE2
(res_id: 12).
2021-08-22 07:49:49 +10:00
Mitchell Richters
bcfcbf2666
- Blood: Add interpolation repair for kQAVCANDOWN
(res_id: 11).
2021-08-22 07:48:57 +10:00
Mitchell Richters
f5533374ca
- Blood: Disable interpolation for kQAVLITEFLAM
(res_id: 5).
2021-08-22 07:48:48 +10:00
Mitchell Richters
6d06f002bc
- Blood: Mark kQAVPFORK
(res_id: 2) as being loopable.
2021-08-22 07:47:42 +10:00
Mitchell Richters
e273b93d12
- Blood: Overhaul entire QAV interpolation setup in preparation to exposing to DEF parsing.
2021-08-21 21:25:33 +10:00
carnivoroussociety
8ec6cdaf91
Renamed SpidPoisonTarget to SpidPoisonPlayer
2021-08-21 20:53:38 +10:00
carnivoroussociety
44e6ccb3d4
Eliminate misused DemoRecordStatus usages
2021-08-21 20:29:01 +10:00
Mitchell Richters
f67a09680e
- Blood: Rename CVAR cl_bloodhudinterp
to cl_bloodqavinterp
.
2021-08-21 19:55:02 +10:00
carnivoroussociety
1f6181fa99
Renamed untitled spider functions
2021-08-21 19:52:24 +10:00
Mitchell Richters
9251ce11c7
- Blood: Remove unused isOriginalQAV()
function from weapon.cpp.
2021-08-21 13:35:41 +10:00
Mitchell Richters
20ea0acbec
- Add Contains()
method to TArray
class, returning a true/false bool as appropriate.
2021-08-21 13:34:58 +10:00
carnivoroussociety
cd53e4c966
Fix teleport triggers not updating player angle
2021-08-21 12:44:01 +10:00
carnivoroussociety
28d7f0de58
Do not use accurate clipmove for flame missiles
...
Changes gameplay too much
2021-08-19 22:34:49 +10:00
carnivoroussociety
6d4a3243b7
Lower flame damage if using accurate clipmove
...
The eduke clipmove will cause a higher hit %, lower all flame damage from 8->3 to compensate with overall higher sprite hit result
2021-08-19 22:18:52 +10:00
carnivoroussociety
f0627fa6c2
enginecompatibilitymode -> enginecompatibility_mode
2021-08-19 20:44:13 +10:00
carnivoroussociety
0e0c4e692f
Set thing/missile to use accurate clipmove
2021-08-19 20:38:31 +10:00
carnivoroussociety
db9a413f21
Added new cl_bloodvanillaenemies CVAR
...
GetClosestSpriteSectors(): If newSectCheckMethod is set, then always test midpoints at least once
Use new CVAR for tiny Caleb/burning cultists/Cerberus fixes
Do not use new GetClosestSpriteSectors() fix for teslaHit() if vanilla explosions is set
Do not use GetClosestSpriteSectors() fix for enemies sight scanning if vanilla enemies is set
2021-08-19 14:26:53 +10:00
carnivoroussociety
24b5673130
GetClosestSpriteSectors - Fixed typo with nLength check
2021-08-18 22:34:20 +02:00
carnivoroussociety
440fa3b70e
GetClosestSpriteSectors - Fixed typo with nLength check
2021-08-19 03:21:41 +10:00
carnivoroussociety
6606f0bc5a
Improved GetClosestSpriteSectors() detection
...
Enables/disables new sector searching behavior for dude owned explosions
Added new CVAR cl_bloodvanillaexplosions
Swap ExplosBehavior menu settings
2021-08-18 15:52:15 +02:00
Mitchell Richters
968708a649
- Blood: Remove the extern for weaponQAV[]
and move kQAVEnd
enum into new enum from 9e84dd1ef6051f4e54d99dcfc6e3468560175e16
2021-08-18 20:02:35 +10:00
Mitchell Richters
84496029a9
- Blood: Replace a few missed numerical constants with enums.
2021-08-18 20:02:32 +10:00
Mitchell Richters
77704d54d9
- Blood: Replace all numerical constants in calls to StartQAV()
with enum values.
2021-08-18 20:02:30 +10:00
Mitchell Richters
6a2a0da819
- Blood: Replace all numerical constants for player's weaponQav
with enum values.
2021-08-18 20:02:27 +10:00
Mitchell Richters
cd5e01818a
- Blood: Replace all numerical constants for player's nextWeapon
with enum values.
2021-08-18 20:02:24 +10:00
Mitchell Richters
6f08eb2292
- Blood: Replace all numerical constants for player's newWeapon
with enum values.
2021-08-18 20:02:22 +10:00
Mitchell Richters
ba94614078
- Blood: Replace all numerical constants for player's curWeapon
with enum values.
2021-08-18 20:02:20 +10:00
Mitchell Richters
d939602875
- Blood: Define enum values for weapon numbers. Not in use yet.
2021-08-18 20:02:14 +10:00
Mitchell Richters
6fec5d582e
- Blood: Define enum values for QAVs. Not in use yet.
2021-08-18 20:01:34 +10:00
Mitchell Richters
db5aa4ba17
- Blood: Backport voodoo doll fix from BloodGDX.
2021-08-18 20:00:52 +10:00
Mitchell Richters
b01cef7f15
- Blood: Remove lastframetic
hack from QAV::Draw()
added in 99508e6f15
since we now use proper timing code.
2021-08-18 20:00:49 +10:00
Mitchell Richters
24fbaa527c
- Blood: Re-time weapon and scene QAV code based on reworked timer and QAV struct code.
2021-08-18 20:00:44 +10:00
Mitchell Richters
ab502ebc66
- Blood: Ensure looped QAVs interpolate using last frame in the array.
2021-08-18 20:00:36 +10:00
Mitchell Richters
c75778c08d
- Blood: Re-time menu's blood dripping based on reworked timer and QAV struct code.
2021-08-18 20:00:32 +10:00
Mitchell Richters
502b76af70
- Blood: Parse the values of the QAV files instead of casting the binary data so we can extend the struct.
2021-08-18 20:00:22 +10:00
Christoph Oelckers
adf9747e5b
- Blood: removed redundant STAT_Update call in StartLevel.
...
This was killing the level times for the 'printstats' display.
2021-08-17 23:44:46 +02:00
carnivoroussociety
a29303cde5
Don't trigger fall scream after player has died
2021-08-16 09:05:51 +02:00
carnivoroussociety
7ac662e0c8
Apply burning bypass to correct sprite type
2021-08-15 12:24:41 +02:00
carnivoroussociety
bd98096527
Fix burning Caleb's state
2021-08-15 12:24:41 +02:00
carnivoroussociety
52025fce68
Fixed burning Caleb state
2021-08-15 12:24:41 +02:00
carnivoroussociety
cd88bb1a67
Fixed burning cultists switching type in water
...
Fixed glitched burning enemy state
Fixed burning Caleb using innocent burning sprite
2021-08-15 12:24:41 +02:00
Christoph Oelckers
38c9d3f702
- Exhumed: fixed crash when ending the game.
2021-08-14 10:40:14 +02:00
Christoph Oelckers
a5e3a85c98
- changed palette lookup to consider the remapping of color 0 to 255.
...
This is to ensure that black maps to the proper index, even if there's duplicates.
2021-08-14 10:26:04 +02:00
Christoph Oelckers
bad2c2e55f
- backend update from GZDoom
...
* replacement of 'long' in string code.
* palette removal in V_GetColor.
* fixes to DShape2D buffer management.
2021-08-14 10:04:45 +02:00
Christoph Oelckers
c4c9f4acbe
- call ColorMatcher.Pick instead of BestColor when remapping a voxel.
...
This was the only place in the engine using BestColor directly with the game palette.
2021-08-14 09:49:03 +02:00
Christoph Oelckers
5d3f7947bf
- avoid calling the node builder to triangulate degenerate sectors.
...
This tends to crash.
2021-08-14 09:48:05 +02:00
carnivoroussociety
c3d03f21da
Cleaned underwater next/prev weapon fix
2021-08-14 07:59:14 +02:00
carnivoroussociety
1957fc53be
Tweaked next/prev weapon behavior underwater
2021-08-14 07:59:14 +02:00
Christoph Oelckers
5aa27bad3b
- flag SW's cutscenes as 'boss death only'.
2021-08-13 22:25:13 +02:00
Christoph Oelckers
d5c9768414
- append an empty line to thr RFS file to be parsed.
...
Looks like the parser needs the last line to be properly terminated.
2021-08-13 21:44:23 +02:00
carnivoroussociety
8765b583f0
Fix spray -> tnt -> spray animation bug
2021-08-12 15:15:35 +02:00
carnivoroussociety
715bca4d53
input.newWeapon -> newWeapon
2021-08-12 13:59:44 +02:00
carnivoroussociety
1a344fe09b
Fix ignited spray/TNT issue when going underwater
2021-08-12 13:59:44 +02:00
Christoph Oelckers
23b8707fc2
- added means to define resource IDs in all container formats allowing long file names.
...
To define these, construct a file name like "basename.{resourceid}.extension", e.g. blaster.{65}.qav will define 'blaster.qav' with a resource ID of 65.
2021-08-11 12:04:53 +02:00
Christoph Oelckers
b2f7eb5b4f
- fixed: Raze did not have gl_lights yet, but recent additions need this CVAR.
...
Put it in v_video.cpp so that it is in a common backend file.
2021-08-11 12:02:56 +02:00
Christoph Oelckers
8106d788f6
- backend update from GZDoom.
...
Fixes:
* do not strip 'filter' as a directory prefix.
* proper spacing for scaled sheet fonts.
* fix of transparent color in BMF fonts.
* fix restart button on error pane in Windows.
* do not skip over empty 'if's with a condition that would error out.
2021-08-11 10:28:21 +02:00
Mitchell Richters
4a70f6efd0
- Allow ticrate to be specified to timer code, while still defaulting to GameTicRate
. Move out I_GetBuildTime()
from common code to gamefuncs.h
as part of this.
...
* Allow specification of floating point ticrates as it's possible Blood's QAVs could have a fractional ticrate.
2021-08-05 14:52:55 +10:00
Mitchell Richters
0d9afc1aaf
- Extend menu's ImageScroller
ZScript class with mAnimated
and use with Blood for the help and credits menu.
2021-08-05 14:52:51 +10:00
Mitchell Richters
1ed1222e10
- Extend menu's ListMenu
ZScript class with mAnimated
already natively available, and use with Blood where BloodDripDrawer
is defined.
...
* Finalises the interpolated blood dripping code changes from 9884d5f396
.
2021-08-04 10:31:45 +10:00
Christoph Oelckers
888f8888bb
- backported some fixes in the common backend from GZDoom
2021-08-03 13:00:09 +02:00
Mitchell Richters
17b2154e9a
- Blood: Expose legacy 1.0 weapon handling game option as a CVAR.
2021-08-03 00:47:05 +10:00
alexey.lysiuk
7522a3e359
- added detection of Steam's Powerslave on macOS
2021-07-31 12:51:21 +03:00
alexey.lysiuk
33167b2a0d
- fixed detection of Steam's Duke3D on macOS
2021-07-31 12:47:10 +03:00
Mitchell Richters
a9b75e7e7d
- Blood: Put QAV interpolation code behind a CVAR for now until some final minor issues are resolved.
...
* Thanks to Dzierzan for testing and the reports.
2021-07-31 10:15:51 +10:00
Mitchell Richters
f6c7ed3984
- Blood: Restore originally intended isRunning
code that never worked behind two CVARs to offer an alternative playing experience.
...
* `cl_bloodvanillarun` enables/disables the `isRunning` code that affects AI, bobbing and swaying.
* `cl_bloodvanillabobbing` enables/disables the `isRunning` code that affects bobbing and swaying, allowing only the `isRunning` AI changes.
2021-07-31 10:14:56 +10:00
Mitchell Richters
9884d5f396
- Blood: Perform interpolation of menu's blood dripping.
...
* All supporting code is here, is tested and works, need to determine best how to flag the menu as "Animated" to uncap the frame-rate.
2021-07-31 10:05:25 +10:00
Mitchell Richters
a67c126129
- Blood: Extend 99508e6f15
to find picnum of previous frame in all previous frame's tile indices if the current frame's tile index doesn't match.
...
* Allows more interpolation magic.
* Revealed an issue with `interpolatedanglef()` that was undetected. Removed in place of a binangle version returned as floating point build.
2021-07-29 19:23:00 +10:00
Mitchell Richters
019922dcf1
- Fix constexpr issue with interpolatedanglef()
since fmod()
isn't available as constexpr.
2021-07-29 18:38:07 +10:00
Mitchell Richters
32215ba570
- SW: Tidy some extra panel coordinate math that was missed in 4d4946fb6b
.
2021-07-29 17:53:57 +10:00
Mitchell Richters
99508e6f15
- Blood: Perform interpolation between frames for each tile coordinate when there is more than one frame and the picnum between frames match.
2021-07-29 17:39:22 +10:00
Christoph Oelckers
bd23ea144c
- validate 'nextsector' fields on walls.
...
Build utterly relied on the map having these right and put the entire responsibility on the mapper.
There's maps, however which have bad values here causing either render glitches or crashes so these bad indices need to be fixed.
Two good examples where this causes problems are RR's E3L1 and the second map of SW's Last Warrior mod where this even glitches in Polymost.
2021-07-27 22:12:29 +02:00
Christoph Oelckers
9a8ee00aec
- set currentLevel before calling engineLoadBoard.
...
This is needed if the compatibility patcher needs to alter mapinfo data.
2021-07-27 22:12:29 +02:00
NoOneBlood
a40d036623
Fix max players range check for kModernPlayerControl
...
Add power up control for kModernPlayerControl
2021-07-27 08:05:31 +10:00
Mitchell Richters
1fa0863a52
- Duke: Amend af9f2f3eb6
to not reset the skill if incoming skill is -1;
2021-07-26 19:41:17 +10:00
nukeykt
adb9547ba9
Blood: fix impact sprite OOB issue
2021-07-26 19:19:41 +10:00
nukeykt
ced8a83331
Blood: fix potential view sprite overflows
2021-07-26 16:06:56 +10:00
nukeykt
557cd7e734
Blood: fix view sprites overflow in ROR code
2021-07-26 16:00:13 +10:00
nukeykt
39547e2df5
Blood: fix OOB issue in aiPatrolSetMarker
2021-07-26 15:55:13 +10:00
Christoph Oelckers
1fde9f2173
- workaround to allow playing SW's Last Warrior mod in one go.
...
This disables the boss's death in L4 ending the game and just advances to the next level.
This seems to be the intent with this mod as the second episode starting at L5 is not defined and the first episode's subtitle advertises the full game.
2021-07-26 00:58:00 +02:00
Christoph Oelckers
1a5a2aba2b
- Blood: fixed path validation for cutscene files.
2021-07-25 17:27:52 +02:00
Christoph Oelckers
a12dfbe1d8
- fixed bad operator grouping in cheat code.
2021-07-25 17:17:29 +02:00
Christoph Oelckers
5c5799c21f
- quote argument for sending cheats from the chat editor.
2021-07-25 12:48:27 +02:00
Christoph Oelckers
c69efe5817
- fix crash issue with empty VOCs.
...
Pointer to empty data causes undefined behavior if length is 0.
2021-07-25 12:43:42 +02:00
Christoph Oelckers
dfb18ef9a9
- Duke/RR: Call Bowling lane reset code only when playing RR.
...
This may alter some tile references which will cause problems with hires replacements in Duke .
2021-07-25 12:43:03 +02:00
Christoph Oelckers
c51c6fa524
- adapted the Zip root folder eliminator to deal with archives that do not add proper folder records to their central directory.
2021-07-25 12:18:53 +02:00
Christoph Oelckers
3864dcfc17
- adapted cheat input handler to treat spaces as '0' when entering parts of numeric fields.
2021-07-25 11:59:12 +02:00
Christoph Oelckers
fa586d6d7c
- Blood: fixed parser for 'mario' cheat to treat a leading space for the level number as 0.
2021-07-25 11:53:20 +02:00
Christoph Oelckers
b23db149e3
- use snprintf in condError.
...
While sprintf is generally problematic, it is particularly dangerous here where it is impossible to estimate the length of the messages.
2021-07-25 11:50:23 +02:00
Mitchell Richters
9fad44bab2
- Blood: Replace use of non-standard strupr()
from 754554a493
with an FString object.
2021-07-25 19:44:07 +10:00
Mitchell Richters
3b82a08123
Revert "- Fix non-Windows and non-MSVC builds due to missing header for strupr()
."
...
This reverts commit 2217dcb632
.
2021-07-25 19:38:06 +10:00
sirlemonhead
e4fb67bc25
Rides Again: Possible array index by -1 in Proj_DoHitscan(). Added check to prevent this.
2021-07-25 19:37:02 +10:00
Mitchell Richters
2217dcb632
- Fix non-Windows and non-MSVC builds due to missing header for strupr()
.
2021-07-25 19:27:31 +10:00
Christoph Oelckers
7702b3bb92
- rewrote the sound handling in the patrolling code for Raze's sound backend.
2021-07-25 10:42:15 +02:00
Christoph Oelckers
eae355110f
- use enums instead of #defines.
2021-07-25 10:30:14 +02:00
Christoph Oelckers
cc3e6b74f3
- handle newly activated 'unused' fields properly for serialization.
2021-07-25 10:29:50 +02:00
Christoph Oelckers
b588abbca6
- deleted two unused functions that got back in again by accident.
2021-07-25 08:50:46 +02:00
Mitchell Richters
4298399e00
- Build: Change MAXSPRITESONSCREEN
from constant of 2560 to 1/4 of MAXSPRITES.
...
* Mods like Blood's Eviction are pushing these limits hard. Bumping the onscreen limit resolved recurring crash on `sstation.map` with no apparent ill-effects.
2021-07-25 15:38:51 +10:00
Mitchell Richters
ffe62da3c7
- Blood: Add some nullptr checks to the aiPatrol*()
inline bools.
2021-07-25 15:37:50 +10:00
Mitchell Richters
7329cb8f1f
- Blood: Comment out bonk
code from 754554a493
to get things building for now.
2021-07-25 13:12:29 +10:00
NoOneBlood
754554a493
Increase kMaxSuperXSprites from 128 to 512.
...
Fix mirror (ROR) intialization so it won't crash if more than 1024 sectors used.
Fix random item generator so items that inherits TX ID won't send command at respawn.
Fix for things (400 - 433) that affected by modern physics so it won't return to vanilla physics after getting damage.
Fix kTeleportTarget so teleported sprites won't stuck in floors or ceilings.
Corpses won't gib as gargoyles anymore (gModernMap).
kModernCondition:
- remove bool comparison (condCmpb).
- remove no extra comparison (condCmpne).
- remove "else if" search at level start.
- add global (game) conditions type.
- add more conditions.
- make error report a bit more informative.
Add more options and damage effects for kModernSpriteDamager.
Add more options for kModernMissileGen and allow to spawn projectile on TX ID sprites location.
Add more options and vertical wind processing for kModernWindGen.
Add more options and effects for kModernEffectGen.
Allow kMarkerDudeSpawn to spawn enemies on TX ID sprites location (gModernMap).
Allow kModernCustomDudeSpawn to spawn dude on TX ID sprites location.
Add Screen and Aim trigger flags for sprites that can be triggered with Sight (gModernMap).
Patrolling enemies:
- add turn AI state.
- add "return back" option for path markers.
- add "turning while waiting" option for markers.
- make enemies to hear some sounds assuming that player generates and hears it too.
- add kModernStealthRegion type to affect current spot progress velocity.
- replace AI's CanMove and aiChooseDirection to a better versions.
- make flying enemies to not spin around the marker.
- treat Phantasm as flying enemy!
- allow to continue patrol when falling in water.
Fix compile warnings
Various minor fixes / cleanup.
2021-07-25 13:11:55 +10:00
Mitchell Richters
a55b8f716d
- Blood: Repair some missing nullptr checks causing a crash upon reloading after dying.
...
* Reported by Spill.
2021-07-24 21:39:29 +10:00
Mitchell Richters
ef05eec531
- Change a68d5aae70
to not do a leading zero, but add an extra space of frameDelay
less than 10.
...
* Thanks, Graf. It's better :)
2021-07-24 17:51:14 +10:00
Christoph Oelckers
8e8b3a32fe
- fixed initialization pf upscale state properly.
...
This avoids indirectly calling FlushAll during startup.
2021-07-24 09:10:21 +02:00
Christoph Oelckers
ccce75667e
Revert "- Remove CVAR_NOINITCALL
bit from gl_texture_hqresize*
CVARs."
...
This reverts commit e03d532670
.
2021-07-24 09:08:29 +02:00
Mitchell Richters
e03d532670
- Remove CVAR_NOINITCALL
bit from gl_texture_hqresize*
CVARs.
...
* Fixes https://forum.zdoom.org/viewtopic.php?f=340&t=72466 .
2021-07-24 15:58:05 +10:00
Mitchell Richters
a68d5aae70
- Add leading zero to statFPS()
output (vid_fps
) so that the text doesn't bounce continually when alternating between 10 ms and <10 ms.
2021-07-24 15:40:47 +10:00
alexey.lysiuk
56d313f08d
- use SDL Vulkan window flag directly
2021-07-21 17:37:52 +03:00
Vanfanel
2aea69b48a
Pass the missing fullscreen flag when creating a Vukan window.
2021-07-21 14:41:28 +03:00
Mitchell Richters
d9a7465c08
- SW: Remove gi->FreeGameData()
from game as its inside code wasn't freeing game data but level data already freed in gi->FreeLevelData()
.
...
* This was causing `GameMain()` to try to call `TerminateLevel()` after tile data had been freed, causing a hard stop.
* Fixes #464 .
2021-07-20 20:11:29 +10:00
Mitchell Richters
c5f63b95e5
- Capitalise CPART07.AR_
and CPART15.AR_
in ProcessOptions()
. The original files are in capitals and this is important as POSIX systems are case-sensitive. We can't cater towards every use-case but this should cover most bases.
...
* Fixes #308 .
2021-07-20 19:06:45 +10:00
Mitchell Richters
af9f2f3eb6
- Duke: Ensure gi->NextLevel()
sets the skill level upon invocation.
2021-07-20 18:55:16 +10:00
Mitchell Richters
675356be1a
- Ensure g_nextskill
is used everywhere so that setting skill for next level works properly.
2021-07-20 18:51:34 +10:00
Mitchell Richters
33845c4a23
- Add skill
CCMD to return player's current skill, while also being able to set skill for next game.
...
* Fixes #332 .
2021-07-20 18:50:58 +10:00
Mitchell Richters
77630dcbc7
- Rename DeferedStartGame()
to DeferredStartGame()
.
2021-07-20 18:43:17 +10:00
Mitchell Richters
4ac1376b9f
- Make naming of multiplayer episode exclusion stuff from d0e6a7ea29
more generic and exclude invalid episodes from "Duke It Out in DC", "Duke Nuclear Winter" and "Duke Caribbean".
2021-07-19 12:24:47 +10:00
Mitchell Richters
0f5243c39e
- Blood: Lock input after setting angle/horizon targets in nnexts.cpp code, then unlock in ProcessInput()
where resetForcedSyncInput()
is called.
2021-07-18 19:26:24 +10:00
Mitchell Richters
ca65c4c9da
- Allow ticker to lock input to player's angle and horizon without having to force use of synchronised input.
2021-07-18 19:25:41 +10:00
Mitchell Richters
58ed7f8745
- Blood: Restore original horizon algorithm in trPlayerCtrlSetLookAngle()
and adjust to Raze's backend input code.
2021-07-18 18:52:21 +10:00
Mitchell Richters
b4af9e87c1
- Blood: Make delirium rotscrnang smoother with use of more precision.
2021-07-18 18:13:48 +10:00
Mitchell Richters
c62e5db2bc
- Blood: Fix angle issues with NHIS.
2021-07-18 17:35:11 +10:00
Mitchell Richters
9432f9ec90
- Blood: Add nullptr check for actor2
in ProcessTouchObjects()
.
...
* Fixes crash during testing of NHIS.
2021-07-18 16:56:49 +10:00
Mitchell Richters
bcff74f5e4
Revert "- Duke: Restore a little bit of original code to make comparisons between us and the source easier."
...
This reverts commit 7607190dad
.
* Not good in hindsight... We need the actual value from the backend to ensure we can match up against `WeaponSel_Next`/`WeaponSel_Prev`/`WeaponSel_Alt` as required.
2021-07-17 22:42:58 +10:00
Christoph Oelckers
4ee93de36c
- added 'endofgame' CCMD.
...
Not really good yet, but it does what's needed, i.e. write out the statistics for the current session.
2021-07-17 09:42:59 +02:00
Mitchell Richters
2a8e636066
- Exhumed: Extend 7b8dcde5d2
by showing the M60's clip/magazine amount available when cl_showmagamt 1
is set.
2021-07-17 14:57:43 +10:00
Mitchell Richters
6940384625
- Exhumed: Move pistol clip/magazine recalculation code that was added in 593bbe10ef
from FillWeapons()
to CheckClip()
.
2021-07-17 14:57:00 +10:00
Mitchell Richters
052429f350
- Exhumed: Change M60's clip/magazine capacity from 99 to 100 to better match the max ammo capacity of the weapon. This does not increase the player's available ammunition.
2021-07-17 14:56:05 +10:00
Mitchell Richters
f9b75b1aa9
- Exhumed: Make FillWeapons()
fill the ammo count to the maximum allowed by the game for all weapons (300).
2021-07-17 14:54:36 +10:00
Mitchell Richters
7607190dad
- Duke: Restore a little bit of original code to make comparisons between us and the source easier.
2021-07-17 12:12:36 +10:00
Mitchell Richters
ec20f66eda
- Duke/RR: Always ensure player's wantweaponfire
is reset to -1
after switching weapon.
...
* Fixes #333 .
2021-07-17 12:12:12 +10:00
Mitchell Richters
0bb0896985
- Duke: Fix BOSS2 (Cycloid Emperor) killing himself issue by removing some lines left behind from a2e3bb5725
.
...
* Fixes #455 .
2021-07-17 10:56:21 +10:00
Mitchell Richters
f022f197ab
- Blood: Repair weapon switching issue by adding missing guard from 6980e8b355
that got lost during e375c799ce
.
...
* Fixes #366 .
2021-07-17 09:14:08 +10:00
Mitchell Richters
d77e143ee8
- allow palette emulation for indexed hightiles.
2021-07-17 07:40:13 +10:00
Christoph Oelckers
3e76f71f02
- support for indexed hightiles.
2021-07-17 07:40:05 +10:00
Mitchell Richters
d0e6a7ea29
- Allow CON-based games to have multiplayer episodes filtered from menu.
...
* Fixes #461 .
* Fixes #462 .
2021-07-16 20:55:29 +02:00
Mitchell Richters
593bbe10ef
- Exhumed: Ensure FillWeapons()
recalculates the pistol clip amount after filling.
...
* When cheating, this wasn't done which lead to the clip having 6 rounds when via modulo it should have only had 3.
2021-07-17 00:11:37 +10:00
Mitchell Richters
7b8dcde5d2
- Exhumed: Make use of cl_showmagamt
.
...
* Fixes #463 .
2021-07-16 23:52:56 +10:00
Mitchell Richters
76554f5f4d
- Repair incorrect method call to IniFile
class from 6576adb80b
.
...
* Fixes #473 .
2021-07-16 23:01:07 +10:00
Christoph Oelckers
a614f741fd
- relaxed consistency checks for VOC files.
...
Rampage Warrior contains a few sounds that failed validation so this check does not exist in the original 3D Realms sound code.
2021-07-14 23:22:41 +02:00
Christoph Oelckers
6576adb80b
- Blood: validate .ini files before using them.
...
They must at least have one "Episode?" section to be accepted.
2021-07-13 12:34:35 +02:00
Christoph Oelckers
7a99b6376e
- forgot to save this...
2021-07-13 12:31:14 +02:00
Christoph Oelckers
b06ad5c77f
- Blood: fixed order of initialization for voxels.
...
Just like Shadow Warrior it needs to load its voxel table before .def files.
2021-07-13 12:11:17 +02:00
Christoph Oelckers
e3737d3330
- fixed texture lookup for hightile lookup.
...
Not all commands had the proper flags to also look in the root folder.
2021-07-13 08:38:24 +02:00
Mitchell Richters
5af06923d8
- Blood: Revise 6018213c71
and use the proper volume flag VF_HIDEFROMSP
to hide multiplayer episodes from the menu.
2021-07-11 22:30:59 +10:00
Mitchell Richters
5441272bec
- SW: Create inline function pspPresentRetractScale()
to scale the rate at which weapons present and retract based on the current tile's height vs. the original asset's height.
...
* Reported to me by @Phredreeke, who had it reported to him from someone else.
* The sword in the widescreen assets pack we load by default has a height of 216px vs 136px of the default tile.
* Because the game presents and retracts weapons at a set rate, the time it took to swap between the sword and other weapons took ~1.58x longer than the original assets.
* This speeds up the present/retract rate based on the loaded asset's height to ensure the weapon switches in the same elapsed time.
* This may be extended to other weapons if required but the sword is the only one I'm aware of that has more height.
* Confirmed no matter what motion the sword was performing, `psp->picndx` was always 2080 so we shouldn't need a hashtable or anything like this.
2021-07-11 19:22:59 +10:00
Christoph Oelckers
8a8379f5fc
- Backend update from GZDoom.
2021-07-11 09:50:36 +02:00
alexey.lysiuk
577c6cb374
- fixed crash when parsing malformed .def file
...
This fixes #439
2021-07-11 10:16:26 +03:00
Christoph Oelckers
a98507f737
- fixed endless loop in replay gain analyzer when getting passed music with an unhandled sample rate.
2021-07-11 09:11:59 +02:00
Christoph Oelckers
1b45c83d59
- SW: fixed countermeasure for empty lower skills
2021-07-11 08:24:10 +02:00
Mitchell Richters
3e30869aeb
- Remove some remains of Redneck Deer Huntin'.
2021-07-11 12:44:31 +10:00
Mitchell Richters
32283037ed
- Use isWW2GI()
in more places.
2021-07-11 12:42:33 +10:00
Mitchell Richters
fe652c9348
- Use isNamWW2GI()
in more places.
2021-07-11 12:41:08 +10:00
Mitchell Richters
aa13b50504
- Use isRR()
in more places.
2021-07-11 12:40:46 +10:00
Mitchell Richters
6894be4ad1
- Use the new isSWALL()
wrapper everywhere.
2021-07-11 12:40:01 +10:00
Mitchell Richters
ffba10a7c5
- SW: Set default skill level to match original release and what the manual says is default.
2021-07-11 12:08:12 +10:00
Mitchell Richters
172b77b9e7
- SW: Ensure PANEL_SPRITEstruct
's ox
/oy
values are in the save data.
2021-07-11 12:05:53 +10:00
Mitchell Richters
9d64779da0
- SW: Replace all uses of NULL
with nullptr
.
2021-07-10 22:25:18 +10:00
Mitchell Richters
e3f2d76378
- SW: Declare and initialise variables in pWeaponBob()
vs declaring and initialising later on to reduce warnings about variables being uninitialised.
2021-07-10 22:16:51 +10:00
Mitchell Richters
b5b9452adb
- Optimise fFindDistance2D()
to multiply by inverse rather than divide by a constant.
2021-07-10 22:08:48 +10:00
Mitchell Richters
5d7938c24e
- SW: Rename cl_smoothsway
to cl_swsmoothsway
and enable by default
2021-07-10 22:07:05 +10:00
Mitchell Richters
55cef642b6
- SW: Factor out bob coordinate backups.
2021-07-10 22:01:42 +10:00
Mitchell Richters
9575f8a3d3
- SW: Factor out panel interpolation backups;
2021-07-10 22:01:40 +10:00
Mitchell Richters
4d4946fb6b
- SW: Factor out repeated panel coordinate math into inline functions.
2021-07-10 22:01:37 +10:00
Mitchell Richters
27f1e487a2
- SW: Remove fixed-point math from panel x/y coordinate updating.
2021-07-10 22:01:35 +10:00
Dino Bollinger
8dd0f947f7
Remove useless code introduced in bad17f29
2021-07-07 21:31:32 +02:00
Christoph Oelckers
62a5a720e8
- Check for maps with bad setup of their wall lists.
...
Lo Wang In Time's map 11 does not include wall 0 into its sector, which caused crashes when trying to triangulate this sector.
2021-07-06 10:29:24 +02:00
Christoph Oelckers
64fc0b66b2
- SW: added countermeasure to re-enable lower skills on mods not implementing them.
...
Aside from spawning the enemies from the lowest supported skill it will also reduce the threat level by reducing health of some enemies or by replacing the harder Ninja variants with the base type.
2021-07-06 10:26:43 +02:00
Christoph Oelckers
e5cb1976d3
- disable texture name truncation for textures/ directory.
...
Unlike Doom, a similar limit does not exist here and must not be enforced. Any texture from this folder needs to be usable by its full name without extension to be able to replace named tiles.
2021-07-05 22:39:24 +02:00
Mitchell Richters
1dbf34fe56
- Repair some potential issues from 1354d52c05
that might be causing issues with #455 .
2021-07-04 21:06:13 +10:00
Christoph Oelckers
5d67987fe1
- don't attempt to decode animation frames at offsets beyond the end of the current page.
...
Copied from EDuke32.
2021-07-02 20:33:53 +02:00
Mitchell Richters
0724b3326c
- SW: Promote PANEL_SPRITEstruct
's xorig
/yorig
values from int to double to match x
/ox
and y
/oy
respectively.
...
* Makes bobbing a touch smoother.
* Removes 47 explicit casts.
2021-06-27 22:40:33 +10:00
Christoph Oelckers
5e96e955f3
- add hitscan only autoaim for SW.
...
# Conflicts:
# source/games/sw/src/weapon.cpp
2021-06-26 12:22:10 +02:00
Christoph Oelckers
2af2d29084
- add hitscan only autoaim for SW.
2021-06-26 12:18:27 +02:00
Christoph Oelckers
e9b2bf9e4e
- shortened the message for not found game data and restrict to non-Windows systems.
2021-06-26 12:10:46 +02:00
Hugo Locurcio
a10018bc36
Display game data path when no game data files are found
...
This helps users find the location where they should place
game data files.
2021-06-26 12:06:35 +02:00
Christoph Oelckers
4dd293d551
- zero-terminate the buffer for reading Blood's INI files.
2021-06-26 12:04:21 +02:00
Christoph Oelckers
0f7d3d0cbb
- streamlined and fixed game startup with '-map' option.
...
* Blood: Initialize global pointers in app_init so that they are not NULL.
* consider Mapinfo data when checking for a given level name.
* removed redundant level name output.
2021-06-26 10:11:50 +02:00
Christoph Oelckers
63bc36e3c4
- renamed some constants.
...
Manually copied from NBlood because the underlying code has changed too much already.
2021-06-24 14:14:16 +02:00
Mitchell Richters
acadd716f8
- For Unix systems, ensure that the root of the player's .config directory is scanned for content, not just subdirectories.
...
* Fixes #430 .
2021-06-24 20:47:14 +10:00
Mitchell Richters
b015bc0685
- Duke (RRRA): Fix alt weapon slot for CHICKEN_WEAPON
and CROSSBOW_WEAPON
.
...
* Fixes #440 .
2021-06-24 18:56:12 +10:00
Mitchell Richters
39983f8144
- Fix maps loaded from the command line starting with corrupted sectors.
...
* Starting game same way `map` CCMD does it for now.
2021-06-24 18:50:10 +10:00
Mitchell Richters
9645009b28
- Fix -map
command-line argument not working.
...
* Fixes #441 .
2021-06-24 18:49:26 +10:00
Mitchell Richters
6018213c71
- Blood: Don't parse BloodBathOnly levels in the INI loader.
...
* Fixes #442 .
2021-06-24 18:21:06 +10:00
Emile Belanger
b6e76337e0
Fix so small font is displayed correctly
2021-06-20 16:34:26 +02:00
Christoph Oelckers
0069af02e7
- use a slightly higher depth bias for translucent elements.
...
These can otherwise cause z-fighting when being used with non-translucent floor and wall sprites.
2021-06-13 09:39:07 +02:00
Christoph Oelckers
5556756d43
- map fix for Hickston Swamp (RR mod) E1L3:
...
Wall sprite is placed in the wrong sector which makes the new renderer's far stricter checks to reduce sprite flicker fail to position it correctly.
2021-06-13 09:32:30 +02:00
Christoph Oelckers
20ca676539
- RR: fixed crash in function that handles acts of mass destruction (like blowing up gas stations.)
...
With bad setups 'spr' could be left uninitialized. This crashed E1L1 of 'The Hickston Swamp' mod.
2021-06-11 23:20:50 +02:00
Christoph Oelckers
15635ec7c8
- fixed crash when trying to triangulate broken sectors.
...
In these cases it is possible that the wall index may go below 0.
2021-06-11 23:18:46 +02:00
Christoph Oelckers
d270d75d74
- re-added line of code that got lost during refactoring.
2021-06-10 00:14:04 +02:00
Christoph Oelckers
4b35a30de5
- RR: fixed the bowling lane lights.
...
Tiles had not been made writable.
Also renamed a few bowling related things.
2021-06-09 23:53:05 +02:00
Christoph Oelckers
1cea743536
- restrict lookup of engine/engine.def to the main game files.
...
Mods should not use this to load their data.
2021-06-09 08:38:40 +02:00
Christoph Oelckers
9d36e61d3f
- depth bias fixes.
2021-06-09 00:47:13 +02:00
Christoph Oelckers
5b38343407
- fixed sprite exclusion logic in getzrange.
...
This was using the wrong flag.
2021-06-09 00:31:54 +02:00
Christoph Oelckers
a32489be31
- wall sprite positioning tweaks.
...
Turns out that a distance of one Build unit from a wall alone is not enough to render them glitch-free, some depth bias is still needed.
2021-06-09 00:31:54 +02:00
Christoph Oelckers
89344a6023
- Exhumed: precache all frames of tile animations.
2021-06-02 21:31:38 +02:00
Christoph Oelckers
207298aeb4
- fixed compilation (again.)
2021-06-02 21:00:39 +02:00
NoOneBlood
73683b3ebe
Remove viewSetSystemMessage() when setting dude flags via command
...
# Conflicts:
# source/blood/src/nnexts.cpp
2021-06-02 20:52:49 +02:00
Christoph Oelckers
86082d4c10
- fixed last commit
2021-06-02 20:52:48 +02:00
NoOneBlood
f433c6ee11
Use dude physics as base for debris physics
...
Remove dude flags commands
Update kModernSlopeChanger
Add stealth dude flag
Update for sector pause/continue motion
# Conflicts:
# source/blood/src/db.h
# source/blood/src/nnexts.cpp
# source/blood/src/nnexts.h
# Conflicts:
# source/blood/src/nnexts.cpp
2021-06-02 20:52:48 +02:00
Christoph Oelckers
7fa690082e
- fixed cherry picked commit.
...
# Conflicts:
# source/core/gamecontrol.h
2021-06-02 20:52:47 +02:00
NoOneBlood
3a59243ea0
- Fixed getPlayeById() function in multiplayer.
...
- Fixed debris physics flags was not properly reset on level restart.
- Added new modern type "kModernSlopeChanger" that can manipulate sector and sprite slopes.
- Allow to drop items and keys for players in multiplayer (gModernMap only).
- Added event commands to manipulate dude flags.
- Patrol enemies (xsprite.dudeFlag4, gModernMap only):
- Added path markers following.
- Added stealth mechanics.
- Added spot target progress bar.
- Added alarm dude flag.
- Added blind dude flag.
- Added deaf dude flag.
- Added conditions for kModernCondition related to patrol enemies.
- kModernDamager can work like generator and damage anyone in sectors or in map.
- kSectorDamage is not does the damage if in Off state (gModernMap only).
- Additional options kModernSeqSpawner.
- Effects that created with kModernEffectSpawner now inherits offset of the sprite.
- Added kCmdSectorMotionPause and kCmdSectorMotionContinue event commands that allows to pause or continue sector motion (gModernMap only, WIP).
- Various minor fixes.
# Conflicts:
# source/blood/src/ai.cpp
# source/blood/src/common_game.h
# source/blood/src/eventq.cpp
# source/blood/src/nnexts.cpp
# source/blood/src/nnexts.h
# source/blood/src/triggers.cpp
# source/blood/src/triggers.h
# source/blood/src/view.cpp
# Conflicts:
# source/games/blood/src/ai.cpp
# source/games/blood/src/nnexts.h
# Conflicts:
# source/games/blood/src/actor.cpp
# source/games/blood/src/ai.cpp
2021-06-02 20:51:47 +02:00
Christoph Oelckers
c4fa99c891
- ProcessTouchObjects
2021-06-02 20:44:55 +02:00
Christoph Oelckers
f7668fc074
- first pass over ProcessTouchObject
2021-06-02 20:44:54 +02:00
Christoph Oelckers
a7572bca0a
- actImpactMissile.
2021-06-02 20:43:14 +02:00
Christoph Oelckers
f96521a7f4
- fixed: Floor sprites must set their view orientation.
...
The translucent element sorter needs this to operate properly.
2021-06-02 20:32:35 +02:00
Christoph Oelckers
3c5ef9c8e6
- properly render geometry that's fully shrouded in fog.
2021-06-01 21:48:39 +02:00
Christoph Oelckers
dc846dcd49
- Duke: avoid clipping against self when executing script logic for floor sprites.
...
A good place to see the result is a kitchen knife in E4L2 that went missing due to the faulty check.
2021-06-01 21:21:39 +02:00
Christoph Oelckers
f0d2aef9d9
- fixed hires replacements for colorized font characters.
2021-06-01 11:29:39 +02:00
Christoph Oelckers
454816299e
- reorganized loading of textures.
...
Due to dependencies on initializing some data in app_init it was not possible to cleanly set up the fonts.
This adds a game-side function for loading the entire palettes before starting with the texture data and another one for loading game-side texture data.
This now allows fully setting up the palettes before starting with the textures and to fully set up the textures before reading the .def files.
All this is needed because to properly initialize, the fonts need to be able to access the fully initialized texture state, including replacements and hires substitutions from the .def files.
2021-06-01 11:05:26 +02:00
Christoph Oelckers
8b507ed606
- enabled the ENDOOM-like text screens when quitting Duke and SW.
...
Turned out that all they needed was the font.
2021-05-31 23:16:52 +02:00
Christoph Oelckers
1636ddc00e
- set the main resource file's index in the file system.
...
Some checks need this.
2021-05-31 21:20:32 +02:00
Christoph Oelckers
25e57763af
- implemented substitution for incomplete fonts.
2021-05-31 21:20:32 +02:00
Christoph Oelckers
9c60ab791b
- implemented all needed font overrides for localization.
2021-05-31 21:20:31 +02:00
Christoph Oelckers
d174b61c3c
- allow switching between the two Duke BigFonts and fix Y in Duke's BigFont13.
2021-05-31 21:20:31 +02:00
Christoph Oelckers
90bcba302e
- layout adjustments for localized texts.
...
In particular SW's main menu was far too tightly spaced, allowing no room for accents.
2021-05-31 21:20:31 +02:00
Christoph Oelckers
af781e0422
- moved all font setup out of the C++ code.
...
All internal fonts now get defined through FONTDEFS.
Also fixing a few offsets.
2021-05-31 21:20:31 +02:00
Christoph Oelckers
42b70a7d93
- added internationalized fonts.
...
This still needs a bit of fixing and tweaking but most is working.
2021-05-31 21:20:30 +02:00
Christoph Oelckers
cd56fd66d2
- RR: fixed advanced notify display's font size.
...
At some point the scale multiplier must have gotten lost, which with the twice as large fonts in this game resulted in text being too large.
2021-05-31 21:20:28 +02:00
Christoph Oelckers
f97b4e830d
- pass fonts instead of indices to Blood's viewDrawText function.
...
As preparation for building a proper font system.
2021-05-31 21:20:28 +02:00
Christoph Oelckers
d7e1707b37
- removed the Doom specific font init code.
...
This has no use in Raze and only got in the way by enforcing unwanted defaults.
2021-05-31 21:20:28 +02:00
Christoph Oelckers
a7921e4c01
- use the same formula as Duke to offset SW's shadows in Polymost.
2021-05-29 14:04:57 +02:00
Christoph Oelckers
1ea09cd3d2
- removed bogus assert in SW's track setup.
...
One of the stock maps (WT $airport map.) triggers this assert so it cannot remain.
2021-05-29 13:22:14 +02:00
Christoph Oelckers
2b8a80c6ce
- added the out-of-bounds vertex handler to the secondary triangulator as well.
...
If SW does this, triangulation must not be attempted as it will inevitably fail.
2021-05-29 13:19:44 +02:00
Christoph Oelckers
db21313c96
- add some hackery to deal with WT's bosses.
...
This was the result of some gross change to the spawning code which suddenly changed the rules about minibosses.
To reduce the impact, it is only enabled for the "Alien World Order" maps.
2021-05-29 13:12:50 +02:00
Christoph Oelckers
2e9732ce79
- fixed new renderer's use of fog on skies: The palette value from the wall was used instead of the one from the sky plane.
2021-05-29 12:09:16 +02:00
Christoph Oelckers
8fae793341
- defined a new constant, CR_NATIVEPAL, to use the font functions with a predefined palette.
...
This is mainly for code clarification, the value is the same as CR_UNDEFINED.
2021-05-29 11:47:05 +02:00
Christoph Oelckers
22be26bd2d
- font system fixes.
2021-05-28 12:16:07 +02:00
Christoph Oelckers
d44500863b
- removed the multiplayer scoreboard screens.
...
Since there is no plan to keep them in case MP gets implemented there's no need to maintain them.
These should later be replaced by a generic screen using a better font and a layout that takes higher resolutions into account.
2021-05-27 13:33:54 +02:00
Rachael Alexanderson
fd97da05b7
- allow UNC search paths on Windows
2021-05-26 10:47:36 -04:00
Christoph Oelckers
4ff4fa643b
- rewrote the default translation handling to be compatible with luminosity translations.
2021-05-25 12:59:09 +02:00
Christoph Oelckers
8b1757eee2
- got rid of most of the font system's baggage that's no longer needed.
...
Mainly this means that it's no longer necessary to reorder the palette to get working translated glyphs, so the FFontChar1 class and the TranslatedPic member and its invasive handling could all be cleaned out.
All font operations now take place on true color data, with the sole execption of FSpecialFont's 'notranslate' handling.
2021-05-25 12:59:09 +02:00
Christoph Oelckers
9769f346ec
- refactored the special fonts away from BuildTranslation so that this function and the entire large heap of ugly baggage it drags in can finally be deleted.
...
Function is gone, baggage will come next.
2021-05-25 12:59:09 +02:00
Christoph Oelckers
372d425e01
- use luminosity translations for single lump fonts and let them use their original palette.
2021-05-25 12:59:08 +02:00
Christoph Oelckers
377829d6a2
- let hex fonts use the luminosity translations.
2021-05-25 12:59:08 +02:00
Christoph Oelckers
0bab333f36
- redid font translation so that it doesn't need to crush the font characters' color set to the base palette.
...
Right now it creates a special type of luminance translation that can operate on a true color bitmap.
2021-05-25 12:59:08 +02:00
Christoph Oelckers
0b181c67b9
- don't skip lines when an empty one gets deleted.
2021-05-23 17:22:29 +02:00
Christoph Oelckers
f212421547
- don't let the triangulator choke on empty sectors.
2021-05-23 17:19:01 +02:00
Christoph Oelckers
8aed9063f8
- sector splitting hack for SW $bath.map.
2021-05-23 17:06:47 +02:00
Christoph Oelckers
572f45ca53
- delete lines in proper order when eliminating a pair.
...
Deleting the lower one first will delete the wrong second one.
2021-05-23 16:36:06 +02:00
Christoph Oelckers
b2545f8042
- PlayMusic script function.
2021-05-23 16:21:04 +02:00
Christoph Oelckers
d98a567597
- halt the game timer when setting up a cutscene and when starting movie playback.
...
These are both lengthy operations that can take several 100s of milliseconds, so when starting a streaming video they can throw off the timing quite significantly.
With this the intermissiondelay counter could be removed as it was only there to flush the accumulated time before starting video playback.
2021-05-23 14:36:54 +02:00
Christoph Oelckers
cc1def8d77
- fixed: When the node builder is used for triangulation, all zero-length lines must be eliminated first.
...
These can cause triangulation errors.
2021-05-23 09:16:30 +02:00
Brian Koropoff
bea0379830
Fix off-by-one error in group search
...
This could be hit when loading raze.pk3 from the build directory while
the file search path contains only one grp file
2021-05-23 08:51:32 +02:00
Brian Koropoff
9394ebe768
Resolve raze.pk3 via search paths
...
Linux installs typically don't have it next to the program binary
2021-05-23 08:51:32 +02:00
Brian Koropoff
e4e949877d
Fix buffer overflow at maploader.cpp:392
2021-05-22 22:31:16 +02:00
Christoph Oelckers
b899b63843
- Raze must still use zmusiclite due to license restrictions... :(
...
This was a copy/paste error when cleaning up some things in the project file.
2021-05-22 19:23:47 +02:00
Christoph Oelckers
0c6e2f0c9e
- silenced some warnings.
2021-05-22 15:34:04 +02:00
Christoph Oelckers
d7a47b2f3a
- route all accesses to gameaction from the backend through the sysCallbacks.
...
gameactions are frontend specific so this needs to be decoupled.
2021-05-22 13:02:34 +02:00
Christoph Oelckers
6ae09f8ec9
- ported Doom's type-on text screens as a screen job overlay.
2021-05-22 12:08:08 +02:00
Christoph Oelckers
5337513044
- ported GZDoom's subtitle drawer to the cutscene framework.
...
For later use, this isn't used yet.
2021-05-22 10:26:53 +02:00
Christoph Oelckers
f69fe334fc
- removed duplicate variable.
2021-05-22 09:22:30 +02:00
Christoph Oelckers
0d793a59fd
- moved the cutscene core to 'engine'.
...
More adjustments for making this code compatible with GZDoom.
2021-05-22 02:15:49 +02:00
Christoph Oelckers
e10bcf6294
- split the screen job code into a generic and a Raze specific part.
...
Preparations for porting this to GZDoom.
2021-05-22 01:35:50 +02:00
Christoph Oelckers
1dff0502b0
- moved libvpx and libsmackerdec to more fitting places, plus some project cleanup.
2021-05-22 01:06:51 +02:00
Christoph Oelckers
16c6e2db05
- silence float truncation warnings for explicit casts.
2021-05-21 21:06:48 +02:00
Christoph Oelckers
4739c71b39
- PNG 16 bit support from GZDoom.
2021-05-21 21:06:11 +02:00
Christoph Oelckers
264d42179e
- optimized the wall drawer a bit to avoid repeated calls to the render API's deoth bias function.
...
The setters in FRenderState should check if the value actually changes and the wall drawer should only call it for non-translucent wall sprites.
2021-05-21 19:07:22 +02:00
Christoph Oelckers
4bb57cfab5
- fixed flickering floor sprites.
...
The SetDepthBias call was somehow gotten lost.
2021-05-21 19:03:39 +02:00
Christoph Oelckers
234f303348
- fixed typo in line segment culler.
2021-05-21 18:40:34 +02:00
Christoph Oelckers
f7a424cd06
- fixed precision issues with GetClosestPointOnWall for orthogonal lines.
...
The math failed for some large wall sprites (e.g. Blood E2M4, sprite #181 ), and in orthogonal cases it is better anyway to perform direct checks of the coordinates
2021-05-21 18:25:30 +02:00
Christoph Oelckers
b0cc5c14e2
- fixed bad argument count in ScreenJobRunner.Validate call.
2021-05-21 17:32:36 +02:00
Christoph Oelckers
24dbfc7827
- fixed BunchInFront to do a more thorough comparison in case it encounters colinear walls.
2021-05-21 14:32:01 +02:00
Christoph Oelckers
716b8840af
- when using the node builder to triangulate sectors we must delete overlapping walls.
...
The node builder can create bad geometry from them because it does bad ordering when two lines facing in opposite directions overlap.
2021-05-21 14:32:01 +02:00
Christoph Oelckers
079a95a0a3
- use a higher depth bias for non-orthogonal wall sprites.
...
Due to minor angular inaccuracies they are more sensitive to z-ordering than orthogonal ones when things are closely stacked.
2021-05-21 14:32:01 +02:00
Christoph Oelckers
d572e56839
- removed the indirection for the global arrays.
...
No idea what part of EDuke32 needed this, but it is not necessary.
2021-05-21 14:32:01 +02:00
Cacodemon345
75ecd173b6
Destroy FStartupScreen before initializing video
...
Fixes terminal output cutoff on console tab completion on Unix systems.
2021-05-20 19:32:48 +02:00
Christoph Oelckers
be97ee04f9
- re-enable flat sprite rendering.
...
This was commented out for testing but forgotten afterward.
2021-05-20 19:21:14 +02:00
Christoph Oelckers
5cfd810311
- new renderer: take fog properties for walls and ceilings from the proper elements.
2021-05-20 19:17:21 +02:00
Christoph Oelckers
ec976d9db7
- RR: fixed double negation in pitch math when throwing dynamite.
2021-05-20 19:06:11 +02:00
Christoph Oelckers
e5236d3423
- SW: fixed sector transfers involving a portal for real this time.
...
It is not enough to just copy the properties - if this happens the entire portal needs to be reinitialized. The only way to do this is to run CollectPortals again to reset all portals in the map.
2021-05-20 18:52:27 +02:00
Christoph Oelckers
b5358bc03c
- fixed typo in wall sprite offsetting code.
2021-05-20 18:25:19 +02:00
Rachael Alexanderson
a75ed91796
- this crash was handled by nothing more than an assert...
2021-05-20 11:02:11 -04:00
Christoph Oelckers
d4eb54d686
- render free standing wall sprites without depth bias.
...
Otherwise they can end up badly ordered with walls.
2021-05-20 12:36:35 +02:00
Christoph Oelckers
e99567cd70
- fixed bad array of arrays access in sector splitting code.
2021-05-20 00:30:54 +02:00
Christoph Oelckers
5ee4bc5cca
- Blood: handle title screens so that mods changing the original one still display it.
...
The rules are:
* If CRC of tile 2518 has changed, use that.
* If CRC of tile 2046 has changed, use that.
* If tile 2518 is not present, use tile 2046
* otherwise use tile 2518.
This allows display of Cryptic Passage's title screen while still using the "with Plasma" version for the regular game.
2021-05-19 00:07:50 +02:00
Christoph Oelckers
5fd41ab910
- new renderer: draw the fog layer for skies.
...
Code was active but alpha wasn't set.
2021-05-18 00:42:45 +02:00
Christoph Oelckers
1d7f4c1f2b
- SW: fix sector property transfers involving a portal.
2021-05-18 00:26:57 +02:00
Christoph Oelckers
eae97ded1b
- backend update from GZDoom.
2021-05-17 20:33:40 +02:00
Christoph Oelckers
24ce5d6130
- Exhumed: fix animation stopping for inventory torch item.
...
I have no idea how the old code could ever work...
2021-05-16 20:25:56 +02:00
Christoph Oelckers
395de23b21
- Exhumed: Don't autoaim backwards.
2021-05-16 19:20:36 +02:00
Christoph Oelckers
5e94eaff8e
- new renderer: handle light level underflows.
2021-05-16 18:50:54 +02:00
Christoph Oelckers
a348508779
- handle the wall sprite clipping properly.
2021-05-16 16:00:00 +02:00
Christoph Oelckers
028a196777
- removed deleted files from project.
2021-05-16 12:32:52 +02:00
Christoph Oelckers
5e57b738d5
- removed redundant menu initializsation in M_StartControlPanel.
...
This was a leftover of early development and is no longer needed.
2021-05-16 12:21:08 +02:00
Christoph Oelckers
5bb438b817
- new renderer: fixed bad positioning when a y-flipped wall sprite had to be clipped to floor or ceiling.
2021-05-16 12:17:26 +02:00
Christoph Oelckers
60fe1d32fb
- Blood: unpositioned sounds must be limited to one per channel.
2021-05-16 11:51:51 +02:00
Christoph Oelckers
98ca5d5db4
- added 'load' and 'save' CCMDs.
2021-05-16 11:24:08 +02:00
Christoph Oelckers
7358f4344f
- pause the game when app is not active.
2021-05-16 10:53:38 +02:00
Christoph Oelckers
f2d75d4146
- made status bar configurable through rmapinfo.
2021-05-16 10:43:47 +02:00
Christoph Oelckers
ee559b7ba9
- removed all leftover parts of the native status bars.
2021-05-16 10:35:33 +02:00
Christoph Oelckers
83f151529b
- fixed SW status bar.
2021-05-16 10:25:56 +02:00
Christoph Oelckers
8d8b3cda46
- scriptified SW's status bar.
...
Not tested yet. This just compiles without errors.
2021-05-16 09:34:08 +02:00
Christoph Oelckers
f136330628
- removed the native versions of Duke's and RR's status bar.
2021-05-15 17:15:29 +02:00
Christoph Oelckers
781cb32dcf
- fixed all issues with Duke's/RR's status bar.
2021-05-15 16:46:08 +02:00
Christoph Oelckers
f84f58e714
- ported Duke and RR status bars.
...
Compiles but not tested yet.
2021-05-15 14:27:32 +02:00
Christoph Oelckers
d311792e06
- engine side preparations for Duke Statusbar scriptification.
...
Mainly, gotweapon had to be reverted to a flat bool array to avoid implementing FixedBitArray for the VM.
Also adding a few new tile names and PushV for string arrays.
2021-05-15 10:44:35 +02:00
Christoph Oelckers
845ce63348
- make sure that all objects rendered as shadow reset the object color after the draw call.
2021-05-15 10:40:25 +02:00
Christoph Oelckers
b520d38bc0
- removed the native implementation od Exhumed's status bar.
2021-05-15 10:25:39 +02:00
Christoph Oelckers
663f330684
- fixed GetChunkFrame implementation and one bad GetString call.
...
Exhumed's status bar is fully working with this.
2021-05-15 10:25:38 +02:00
Christoph Oelckers
b71c725e3e
- ported Exhumed's status bar.
...
Not tested yet.
2021-05-15 10:25:38 +02:00
Christoph Oelckers
5a6121d424
- status bar interface work.
2021-05-15 10:25:38 +02:00
Christoph Oelckers
c716900a3c
- handled the remaining arrays that got accessed by the status bar.
2021-05-15 10:25:38 +02:00
Christoph Oelckers
12b7c73393
- turning some of the player arrays into Player members.
...
For script code we do not want the arrays accessible so all that get accessed need to be moved into the struct first.
2021-05-15 10:25:38 +02:00
Christoph Oelckers
4e182ea5ee
- Exhumed: made the status bar independent of static global state.
...
It will now perform all state change checks itself
2021-05-15 10:25:38 +02:00
Christoph Oelckers
c9361aff76
- Exhumed: moved nPlayerItem into PlayerList
2021-05-15 10:25:37 +02:00
Christoph Oelckers
71f4946879
- Exhumed: changed lung display as well.
2021-05-15 10:25:37 +02:00
Christoph Oelckers
35c07500c3
-Exhumed: changed key display on status bar to be controlled from the status bar itself.
...
First of 6 externally controlled status bar indicators.
2021-05-15 10:25:37 +02:00
Christoph Oelckers
317238147b
- Blood: fixed scriptified MP statusbar code to the point where it compiles.
...
Mainly to avoid code rot by future changes, this probably cannot remain as it is if MP gets reimplemented.
2021-05-15 10:25:37 +02:00
Christoph Oelckers
55abb261c6
- this was in the wrong place. :(
2021-05-15 10:25:37 +02:00
Christoph Oelckers
db8572dbcc
- newrenderer: clip wall angles before doing any math with them.
...
In some cases these unclipped ranges ended up in other data structures, causing problems with bunch ordering.
2021-05-14 12:56:37 +02:00
Christoph Oelckers
3d6ae40bc0
- normalize all angles to the actual viewing range in the drawer.
...
This simplifies the debugging of this code a lot because we no longer have to deal with range overflows and can do direct comparisons everywhere.
2021-05-14 10:50:22 +02:00
Christoph Oelckers
5ae1c334fa
- Duke: fixed bad check in 'ifnotmoving' CON command.
2021-05-14 10:03:07 +02:00
Christoph Oelckers
645ea1e1ae
- SW: better handling for bogus ladders.
...
If there is no back sector, use the front sector of the wall as the ladder sector.
This at least fixes the badly defined ladder in Wanton Destruction's first map.
2021-05-13 23:28:29 +02:00
Christoph Oelckers
d14d539144
- fixed issues with MAPINFO parser.
...
These cause problems with map progression, particularly with Exhumed.
2021-05-13 22:49:19 +02:00
Christoph Oelckers
bdfe40af7c
- properly terminate base64 data.
2021-05-13 22:28:36 +02:00
Emile Belanger
a6f62773cb
Give -1 to model light index otherwise mLightIndex in renderstate ends up getting set to 0 which is a valid light index
2021-05-13 10:04:40 +02:00
Christoph Oelckers
e5dd4a8638
- made the scripted version of Blood's status bar functional.
2021-05-12 21:50:02 +02:00
Christoph Oelckers
778378fd5c
- scriptified version of Blood's status bar compiles.
...
Not tested yet.
2021-05-12 21:50:02 +02:00
Christoph Oelckers
4ad20e4c00
- more preparations for scriptification of Blood's status bar.
...
* restructured some code that could not be converted as-is due to access to data that should be off-limits to scripts.
* exporting most of PLAYER's member fields.
2021-05-12 21:50:02 +02:00
Christoph Oelckers
5859188d3a
- Blood: use names instead of indices to address textures in the status bar drawer.
...
This is a preparation for scriptification of the status bars. Blood's wasn't using any symbolic constants at all aside from the new HUD fonts.
2021-05-12 21:50:01 +02:00
Christoph Oelckers
acb4830eb5
- ported the BaseStatusBar class to ZScript.
...
Not hooked up yet, but it compiles.
2021-05-12 21:50:01 +02:00
Christoph Oelckers
cb2bc7967a
- fixed the remaining warnings.
2021-05-12 21:50:01 +02:00
Christoph Oelckers
cf22a70d82
- fixed all warnings in Duke.
2021-05-12 21:50:01 +02:00
Christoph Oelckers
694066c4ec
- fixed all warnings in Exhumed.
2021-05-12 21:50:01 +02:00
Christoph Oelckers
fb21e39de5
- fixed remaining SW warnings.
2021-05-12 21:50:00 +02:00
Christoph Oelckers
1085b0b7a2
- first batch of SW warning fixes.
2021-05-12 21:49:34 +02:00
Christoph Oelckers
3e2cacfaf6
- silenced warnings in Blood.
2021-05-12 21:49:06 +02:00
Christoph Oelckers
d097c8e635
- removed the non-functional and long abandoned level music alias feature.
...
With RMAPINFO such a hack is no longer needed for anything.
2021-05-12 21:48:40 +02:00
Christoph Oelckers
783b94f922
- more warning fixes in 'core'.
2021-05-12 21:48:14 +02:00
Christoph Oelckers
1168341d5a
- fixed more warnings in 'core'.
2021-05-12 21:47:32 +02:00
Christoph Oelckers
b6dd834420
- fixed warnings in Build code.
2021-05-12 21:47:32 +02:00
Christoph Oelckers
7283de0084
- fixed some very noisy warnings in two headers.
2021-05-12 21:47:32 +02:00
Christoph Oelckers
03289f5097
- silenced some warnings.
2021-05-12 21:47:32 +02:00
Christoph Oelckers
fd6dd7f467
- Skip the load screen if the level is started from the console.
...
In this case the load screen is not helpful as it blocks the actual level start, requiring closing and reopening the console first before entering any commands that need the level.
2021-05-12 00:36:04 +02:00
Christoph Oelckers
9dd9dc8efd
- handle savegame loads like GZDoom.
...
They are synchronized with the game loop and should not be initiated directly from the menu.
2021-05-12 00:31:49 +02:00
Christoph Oelckers
499ed52972
- route savegame requests through the newwork, just like GZDoom does.
...
Although a bit overkill for single player saves only, this will ensure consistent behavior between both engines regarding the menu.
2021-05-12 00:21:26 +02:00
Christoph Oelckers
4c161ae403
- SW: fixed signed-ness issues with SOP-related angle checks.
2021-05-12 00:10:02 +02:00
Christoph Oelckers
633d205d80
- SW: fixed ammo pickup amount.
2021-05-12 00:01:19 +02:00
Christoph Oelckers
bde644f77f
- SW: replaced some asserts with proper value checks.
...
These asserts can actually be triggered by some maps with incorrect setups.
2021-05-11 00:59:23 +02:00
Christoph Oelckers
ae94fb921c
- SW: Abort GetInput immediately if no valid sprite is attached to the given player.
2021-05-11 00:52:39 +02:00
Christoph Oelckers
5d5af0cb09
- fixed error message spam when trying to load a non-existent voxel using .def.
2021-05-11 00:48:35 +02:00
Christoph Oelckers
3194efc646
- SW: processWeapon must check for valid player sprites.
...
On map start it can happen that this gets called with an incompletely set up map.
2021-05-11 00:21:50 +02:00
Christoph Oelckers
10a6515b9a
- Exhumed: Fixed weapon swaying intensity, introduced by e76f63e2c0
...
Note that shifting right by 17 bits vs. shifting right by 16 bits and then multiplying the entire result by 0.5 is not the same here!
2021-05-11 00:12:03 +02:00
Christoph Oelckers
c6991add46
- Blood: fixed null pointer crash in actBurnSprite.
2021-05-11 00:02:26 +02:00
Christoph Oelckers
d90b23ba9a
- take down the savegame loader's resources in proper order.
2021-05-10 20:14:38 +02:00
Christoph Oelckers
e40ed2262e
- cleanup of 'gotpic' handling.
2021-05-10 20:13:28 +02:00
Christoph Oelckers
e74aca291c
- position tweaking for Nam's skies.
...
Why is this such an utter mess to get skies placed correctly? :(
2021-05-10 20:13:28 +02:00
Christoph Oelckers
fc11f9327a
- refactored actDamageSprite
2021-05-10 20:13:28 +02:00
Christoph Oelckers
b8dcd09f77
- reformatting.
2021-05-10 20:13:28 +02:00
Christoph Oelckers
965939957e
- split up actKillSprite into several smaller functions.
...
The biggest problem in here was tracking the lifetime of local variables.
2021-05-10 20:13:28 +02:00
Cacodemon345
36b910a253
Fix compilation on OpenBSD
2021-05-10 08:25:14 +02:00
Cacodemon345
ce4b748ff0
Fix compilation with Clang on FreeBSD
2021-05-09 19:52:52 +02:00
Christoph Oelckers
0efe15ae98
- deleted some unused utilities.
2021-05-08 18:06:57 +02:00
Christoph Oelckers
43981bff85
- Duke: fixed mirror setup for new renderer.
...
A wall must be marked one-way to be used as a mirror.
2021-05-08 16:27:01 +02:00
Christoph Oelckers
de904d3052
. Duke: made the 'lonely effector' error non fatal.
...
Instead just move the bogus effector sprite out of the way.
2021-05-08 15:41:49 +02:00
Christoph Oelckers
3dfc3e73d2
- only process actually existing mirrors when updating their state.
2021-05-08 15:23:45 +02:00
Kevin Caccamo
6e1554d7ae
Fix mirror updates in Shadow Warrior
2021-05-08 14:58:20 +02:00
Christoph Oelckers
8e070343c5
- added default crosshair for Exhumed.
...
See 1abadb6f1c
2021-05-08 14:49:49 +02:00
Christoph Oelckers
9a5a32c826
- Blood: split out the 'modern dude' part of actKillDude.
2021-05-08 14:43:09 +02:00
Christoph Oelckers
34b7bfc10b
- handled the actDrop* functions.
2021-05-08 14:43:08 +02:00
Christoph Oelckers
d1cc7403b3
- actNapalmMove - another previously unnamed function.
...
# Conflicts:
# source/games/blood/src/aiunicult.cpp
2021-05-08 14:43:08 +02:00
Christoph Oelckers
23df336ebe
- complete cleanup of sub_2A620, now renamed to actRadiusDamage.
2021-05-08 14:43:08 +02:00
Christoph Oelckers
6110ec5cfd
- redid ConcussSprite.
2021-05-08 14:43:08 +02:00
Christoph Oelckers
d466ec081a
- fixed incorrect order of resource deallocation in savegame reader.
2021-05-08 09:22:08 +02:00
Christoph Oelckers
325af156e7
- fixed loop in ProcessBunch to account for array reallocation.
2021-05-08 09:16:06 +02:00
Christoph Oelckers
df6a9823e3
- fixed incorrect license in sw/d_menu.cpp.
...
Should be GPL 2+, not GPL 2.
2021-05-08 00:13:50 +02:00
Christoph Oelckers
79823b430c
- reinstate the old code for rendering the first portal without stencil
...
The previous commit fixes the true issue causing the problems - with this back the restriction is not needed anymore.
2021-05-07 00:26:22 +02:00
Christoph Oelckers
db1cf63e7a
- SW: fixed bad type for ceiling portals.
2021-05-07 00:23:56 +02:00
Christoph Oelckers
b644000b02
- fixed texture y-flipping on bottom tiers of walls.
...
The flip flag was taken from the wrong side of the wall.
2021-05-07 00:18:13 +02:00
Christoph Oelckers
29b0106a96
- fixed yet another problem with the local 'sprite' variables in HWWall causing problems.
...
This variable and its companions in HWFlat and HWSprite have now been renamed to avoid these issues.
2021-05-07 00:09:30 +02:00
Christoph Oelckers
34a5fb5a6a
- make testnewrenderer persistent.
2021-05-06 18:12:23 +02:00
Christoph Oelckers
3fce8ab693
- added support for the 3 missing Duke Vacation SSIs.
2021-05-06 17:14:18 +02:00
Christoph Oelckers
d54a8724b5
- default 'testnewrenderer' to false.
2021-05-06 17:04:48 +02:00
Christoph Oelckers
2f9e32f748
Merge branch 'newrenderer'
2021-05-06 17:04:35 +02:00
Christoph Oelckers
72e4220929
- added an option to dump the list of discovered games to a JSON file.
2021-05-06 12:03:33 +02:00
Rachael Alexanderson
7b45144023
- these changes were missing from the last Vulkan update
2021-05-06 04:27:58 -04:00
Christoph Oelckers
c679f83f75
- make all games return to the main menu when the game is ended with F10.
...
Duke still went to the intro movies which was a bit problematic.
2021-05-04 11:32:09 +02:00
Christoph Oelckers
0659bda6b6
- SW: clear old user content before allocating a new one.
...
If old data gets in here it may break the game.
https://github.com/coelckers/Raze/issues/349
2021-05-04 11:11:38 +02:00
Christoph Oelckers
a7adef360b
- fixed compilation with Clang.
2021-05-04 00:11:43 +02:00
Christoph Oelckers
a303da37a9
- added a mapinfo dumper and used it to verify correctness of the data generated from game-native definitions.
...
Also simplified the levelnumber setup a bit.
2021-05-03 23:00:24 +02:00
Christoph Oelckers
020a636c2f
- removed some more useless stuff from headers.
2021-05-03 19:16:26 +02:00
Christoph Oelckers
0db8fc6163
- removed UNREFERENCED_PARAMETER macro.
...
Using C++ standard of not naming such parameters instead.
2021-05-03 19:10:53 +02:00
Christoph Oelckers
7d77b2315f
- merged the few remaining contents of mmulti.h into d_net.h
2021-05-03 19:01:00 +02:00
Christoph Oelckers
6589222da6
Merge branch 'scriptable_cutscenes' into newrenderer
2021-05-03 18:50:41 +02:00
Christoph Oelckers
d206a767b2
- added render workaround for CP07.
2021-05-03 17:48:35 +02:00
Christoph Oelckers
d8b808576f
- restrict the sky portal shortcut to skies in scenes where there are no other portals.
...
This entire setup does not work with sector portals, causing various render glitches in Shadow Warrior's portals. This also applies to skies within portals so it is now restricted to single sky setups.
2021-05-03 14:52:23 +02:00
Christoph Oelckers
56fcf904b5
- Backend update from GZDoom.
2021-05-03 14:48:55 +02:00
Christoph Oelckers
389340f97c
- use sections for rendering.
2021-05-03 00:15:09 +02:00
Christoph Oelckers
30b1b046e4
- added an intermediate data structure to decouple the rendering from the immediate map data.
...
This will be needed for sectors consisting of disjoint parts and for providing some help with addressing rendering anomalies
2021-05-03 00:04:36 +02:00
Christoph Oelckers
f40e52ab34
- fixed issues with validation of command line specified main game GRP file name.
2021-05-02 22:56:53 +02:00
Christoph Oelckers
8003ab6fa3
Merge branch 'scriptable_cutscenes' into newrenderer
2021-05-02 22:37:46 +02:00
Emile Belanger
b83928f437
Clear Viewpointbuffer position so it does not go to infinity
2021-05-02 22:22:43 +02:00
Christoph Oelckers
c9791bc148
- renamed PlayerHorizon function to deconflict with the same-named struct
2021-05-02 21:56:45 +02:00
Christoph Oelckers
698d62bbc6
- merged FixMapInfo into loadcons.
...
No need to delay the remaining content. The reasons for the separate function no longer exist.
2021-05-02 19:41:24 +02:00
Christoph Oelckers
60d007fa93
- Duke: fixed non-scrolling SE24.
2021-05-02 19:32:20 +02:00
Christoph Oelckers
a1381c0ff2
- fixed Blood cutscene setup to avoid dependency on the sound code initialization.
...
It now only stores the sound name or ID but not the internal index which is only looked up when needed.
2021-05-02 18:10:59 +02:00
Christoph Oelckers
575a38d835
- added RMAPINFO handler for Blood's message array.
2021-05-02 18:00:11 +02:00
Christoph Oelckers
c1b4fdff83
- added a "clearall" instruction to RMAPINFO.
...
Since, unlike GZDoom, this format is additive and uses defaults for map progression it would otherwise a bit tricky to compile new episodes without accidentally pulling in some original special features.
2021-05-02 17:42:19 +02:00
Christoph Oelckers
dfd47ea33a
- migrated SW to RMAPINFO as well.
...
Also removed the 'definecutscene' code from the .def parser as this was never meant to be more than a temporary solution.
2021-05-02 17:35:25 +02:00
Christoph Oelckers
4b064b9f34
- migrated Exhumed's level setup to RMAPINFO.
...
This game never had a proper setup so this also fixes the crashes with visiting the multiplayer maps.
2021-05-02 15:54:19 +02:00
Christoph Oelckers
bb9d492db6
- migrated RRRA as well.
2021-05-02 14:01:10 +02:00
Christoph Oelckers
a28b4ea06a
- migrated Route66 and fixed some issues pointed out by this mod.
2021-05-02 13:29:41 +02:00
Christoph Oelckers
6f4e380728
- migrated RR's cutscene definitions.
...
Also turned several level-specific init options into map flags or map parameters.
2021-05-02 13:12:24 +02:00
Christoph Oelckers
15f9861633
- summary screens, too.
2021-05-02 12:28:32 +02:00
Christoph Oelckers
4458f8c929
- migrated the global cutscenes to RMAPINFO as well.
2021-05-02 12:22:40 +02:00
Christoph Oelckers
2d4e91615f
- migrated Duke's cutscene definitions to the new RMAPINFO.txt.
2021-05-02 12:02:55 +02:00
Christoph Oelckers
dbd179be5c
- RR progression fixes.
...
* E1L7 abuses an 'end the game' command to progress to E2L1, this needs special treatment.
* handle ENDGAME.MAP more cleanly by injecting an 'engine.con' into the compilation chain to define its map record. The main issue with this is that it needs to be defined before the regular CONs run.
* check the already defined 'clearinventory' and 'clearweapons' flags that are exposed through RMAPINFO (Duke/RR only so far.)
2021-05-02 10:55:22 +02:00
Christoph Oelckers
9bc210fe35
- fixed RR weapon clearing in E2L2 and RRRA E1L3.
2021-05-02 10:37:20 +02:00
Christoph Oelckers
1798380f23
- adapted map transition in Duke/RR.
...
There's still some issues which will be taken care of by adding map flags.
2021-05-02 10:35:43 +02:00
Christoph Oelckers
e9385ed4e8
- adapted Blood to the new level progression features and simplified several parts, particularly the clumsy retrieval of the next level.
...
Some cheats in Duke will not work correctly with this commit!
2021-05-02 09:08:57 +02:00
Christoph Oelckers
93bfc35ad6
- use the volumes to find the starting maps for the menu and the clusters for the cutscenes.
2021-05-02 01:01:30 +02:00
Christoph Oelckers
825963661b
- migrated volumes to the new storage.
2021-05-02 00:35:56 +02:00
Christoph Oelckers
727244d52d
- changed 3 places to call the proper map progression function.
...
These ignored the explicit settings in the map definition.
2021-05-01 23:10:04 +02:00
Christoph Oelckers
f3eb476fbf
- minor cleanup.
2021-05-01 23:09:24 +02:00
Christoph Oelckers
13b21d3ed9
- removed script access to variables that no longer contain what they once did.
2021-05-01 23:08:51 +02:00
Christoph Oelckers
f732d4ec64
- added MAPINFO parser, based on GZDoom's.
...
This isn't hooked up yet, but all necessary structures and fields have been added so that selected pieces can be tested.
2021-05-01 22:52:28 +02:00
Emile Belanger
4a05b9cb5b
Clear Viewpointbuffer position so it does not go to infinity
2021-05-01 21:29:03 +02:00
Christoph Oelckers
4c2266ee88
- fixed incomplete SW ending cutscene.
2021-05-01 20:31:51 +02:00
Christoph Oelckers
e0ec0f24d0
- fixed Blood's HUD time display.
...
This somehow got lost.
2021-05-01 20:08:51 +02:00
Christoph Oelckers
b21dadeef0
- we need to wait a bit before starting the intro scene.
...
The game timer actually starts before the main loop is ready so we have to wait with the cutscene until the loop is in sync with the timer.
2021-05-01 19:46:17 +02:00
Christoph Oelckers
27799def63
- rewrote movie player so that the decoder backends only perform the decoding but do not draw the frames themselves.
...
This caused twq problems:
1. It made it impossible to let the client apply effects to the video.
2. The client had no control when rendering stopped.
Now the backends only provide a texture handle that the client must draw. One immediate benefit is that Blood's fixed viewport scaling is now available to all video formats.
2021-05-01 18:59:16 +02:00
sinisterseed
47a09b4f14
- this line also needs to go.
...
The file doesn't exist anymore, causing project generation to fail.
2021-05-01 15:58:22 +03:00
Christoph Oelckers
6e0089a10d
- deleted blood/credits.cpp from the project file.
2021-04-30 22:03:45 +02:00
Christoph Oelckers
10395688bf
- must restore the laptop background of Exhumed's LEV20 cutscene each frame.
...
Also fixed the variable names in this function.
2021-04-30 20:08:36 +02:00
Christoph Oelckers
4069a5096a
- scriptified Exhumed's 2D content (minus the programmatic textures.)
2021-04-30 20:08:36 +02:00
Christoph Oelckers
5b54e9c1ad
- removed the 26 factor from Duke's par times.
...
What were they thinking?
2021-04-30 20:08:36 +02:00
Christoph Oelckers
5959543380
- hooked up SW's intermission handling.
2021-04-30 20:08:36 +02:00
Christoph Oelckers
aa148d602c
- scriptified SW's 2D screens.
...
Compiles but not tested yet.
2021-04-30 20:08:35 +02:00
Christoph Oelckers
d5db898236
- fixed bad level number for weapon removal in RRRA.
2021-04-30 20:08:35 +02:00
Christoph Oelckers
fa2bcf563a
- forgot to save these.
2021-04-30 20:08:35 +02:00
Christoph Oelckers
b65dfb6145
- check r_precache in all games.
2021-04-30 20:08:35 +02:00
Christoph Oelckers
cd1306dd05
- fixed mapinfo array.
...
Due to reallocations it must be an array of pointers.
2021-04-30 20:08:34 +02:00
Christoph Oelckers
eaf5e1fba5
- Cutscene support in Blood.
...
Intro tested, rest to do.
2021-04-30 20:08:34 +02:00
Christoph Oelckers
869dbd70e5
- fixed the design by merging the episode start handler into ShowIntermission.
...
Tying the start-of-episode cutscene to the cluster does not really work because it gets triggered by all maps of the cluster.
All currently existing intro cutscenes are tied to the map anyway.
Also correcting transition movie name for RRRA E2L1.
2021-04-30 20:08:34 +02:00
Christoph Oelckers
cdccdec3e7
- final cleanup on new cutscene interfacw
...
* fixed frame gaps when exiting a cutscene. This must be properly synchronized with the state handler in the main loop.
* reactivated the loading screens. With texture precaching working the delay when loading a map becomes significant enough to require a visual feedback.
* RR does not play 'bonusmusic' on its summary screen.
2021-04-30 20:08:34 +02:00
Christoph Oelckers
ad01aee5ec
- fixed RR summary screen
2021-04-30 20:08:33 +02:00
Christoph Oelckers
6d743ce921
- most of the summary screen is working
2021-04-30 20:08:33 +02:00
Christoph Oelckers
0dc6980e5c
- made episode intro cutscenes a game independent feature.
...
So far only defined for Duke E4 but all the logic is outside the game code now and can be universally handled.
2021-04-30 20:08:33 +02:00
Christoph Oelckers
3c27ec8cbd
- tested all of Duke's and RR's cutscenes.
2021-04-30 20:08:33 +02:00
Christoph Oelckers
06abc0cfe2
- removed debug output and fixed fade flag setup and missing OnTick return
2021-04-30 20:08:33 +02:00
Christoph Oelckers
26a7700579
- Duke's intro works, without fading.
2021-04-30 20:08:32 +02:00
Christoph Oelckers
1166b00af2
- switched intro movie playing over to the new system
...
Not tested yet.
2021-04-30 20:08:32 +02:00
Christoph Oelckers
af8d06994a
- implemented the scripting interface layer.
2021-04-30 20:08:32 +02:00
Christoph Oelckers
ef6d8c2c67
- added cutscene definitions for Duke and finalized the definecutscene parser.
2021-04-30 20:08:32 +02:00
Christoph Oelckers
021f1b7832
- make SummaryInfo a struct instead of passing a list of values to the script classes.
2021-04-30 20:08:32 +02:00
Christoph Oelckers
e05f900315
- added the data structures to hold the cutscene data.
2021-04-30 20:08:31 +02:00
Christoph Oelckers
21aa5c9234
- added game flags for all supported add-ons.
2021-04-30 20:08:31 +02:00
Christoph Oelckers
88dfb93865
- redid Duke cutscene code to use functions, not classes as exports and added the missing screens.
...
Functions are better because they allow doing more in the internal setup code.
2021-04-30 20:08:31 +02:00
Christoph Oelckers
b515543016
- added varargs pushv function to Array<int>.
...
We'll need this for the ANM sound arrays.
Support for other array<> types to be done later.
2021-04-30 20:08:30 +02:00
Christoph Oelckers
66799d9a6d
- more screen job setup work.
...
* interface for movie player done.
* first cutscene definition done.
* all converted classes removed from C++ code.
2021-04-30 20:08:30 +02:00
Christoph Oelckers
4ff2010bd1
- moved the entire screen job management to the script side.
...
This isn't hooked up yet and lots of code is commented out, the games won't start with this commit.
2021-04-30 20:08:30 +02:00
Christoph Oelckers
d853b63a1a
- RR summary screen
2021-04-30 20:08:29 +02:00
Christoph Oelckers
c07fcbee08
- migrated level summary screen.
2021-04-30 20:08:24 +02:00
Christoph Oelckers
4636a52699
- MP summary screen ported.
2021-04-30 20:08:24 +02:00
Christoph Oelckers
7fbe153ae7
- more Duke screen porting.
2021-04-30 20:08:24 +02:00
Christoph Oelckers
b0163ff729
- made the end of E1 cutscene a bit more scripting friendly.
2021-04-30 20:08:24 +02:00
Christoph Oelckers
e75f0c17e4
- ported the TitleScreen class.
2021-04-30 20:08:23 +02:00
Christoph Oelckers
1022564cab
- initial framework for scriptification of screen jobs.
2021-04-30 20:08:23 +02:00
Christoph Oelckers
4a7430c8e4
- got rid of JobDesc.
2021-04-30 20:08:23 +02:00
Christoph Oelckers
805b91b721
- put ScreenJobRunner declaration into header.
2021-04-30 20:08:23 +02:00
Christoph Oelckers
71e5f9b70f
- changed screen job list to work without per-job completion callbacks.
...
They made things more complex than necessary and do not translate well to scripting.
2021-04-30 20:08:22 +02:00
Christoph Oelckers
fb5e2fe0c0
- use flags instead of bools.
2021-04-30 20:08:22 +02:00
Christoph Oelckers
af3eac8456
- simplified screen job setup where all elements can be skipped in one go.
2021-04-30 20:08:22 +02:00
Mitchell Richters
9bebd7fabf
- Remove max ammo fudging for when showing the magazine amount for Duke since it overrides ammo maximums set from CON.
2021-04-26 12:35:07 +10:00
Christoph Oelckers
aa6bd8ffcc
- factor in angoff when placing sprites.
2021-04-25 11:58:03 +02:00
Christoph Oelckers
8c379f7a44
Merge branch 'master' into newrenderer
2021-04-25 11:33:47 +02:00
Christoph Oelckers
79875d44e0
- moved MD4 calculator out of backend.
...
Only map hacks use MD4, this does not need to be shared.
2021-04-25 11:33:38 +02:00
Christoph Oelckers
dca964444b
- backend fixes from GZDoom.
2021-04-25 11:32:50 +02:00
Christoph Oelckers
ad28630df6
- offloaded map patches to data files.
...
This is a lot easier to manage than having them in the code.
For now it piggybacks on the map hack feature, later this should use the same scripted approach as GZDoom.
2021-04-24 23:07:35 +02:00
Christoph Oelckers
a7046eaee4
- fixed animations on skies.
...
Lunatic Fringe made this very obvious.
2021-04-24 20:04:02 +02:00
Christoph Oelckers
5585351c0f
- added a hack to help the new renderer with Lunatic Fringe.
...
This is by no means a permanent solution but having it buys some time to find something more universal that won't affect performance too badly and investigate the need for a more robust solution.
The idea here is to define pairs of walls where when the first element of the pair is seen, it will treat the second one as view blocking.
This is used as the two offending windows (sectors 151 and 152) to cope with the lack of a height sensitive clipper.
2021-04-24 20:00:54 +02:00
Christoph Oelckers
be08a2f800
- clipper rework
...
* let the clipper work on relative angles to simplify the math.
* properly initialize the initial visible range and preserve it for multiple invocations.
* track the maximum visible angular range per sector. While possibly not sufficient to handle every edge case imaginable it has low overhead and is still useful to eliminate obvious cases that do not need more complex checks. It is enough to fix the blue door in Duke E3L4.
* removed unused elements of the clipper.
2021-04-24 12:08:38 +02:00
Christoph Oelckers
c05df44ad4
- fixed the check for RR's geometry effect.
...
This always got triggered for Duke which made the entire map render 3 times. The most obvious effect was reduced translucency.
2021-04-23 21:36:51 +02:00
Christoph Oelckers
3ad4a869c1
- handle the case that a deleted sprite has inserted its bogus sector reference into the clip list.
...
We got one report of Blood crashing on this.
2021-04-23 20:11:46 +02:00
Christoph Oelckers
3766c5aed0
- restored original palette handling for access cards that got broken in 242f958c41
...
Unlike all the other HUD sprites this one works differently.
2021-04-23 19:36:55 +02:00
Christoph Oelckers
bf23d6c3b0
- corrected level number for RR's summary screen.
2021-04-23 16:07:04 +02:00
Christoph Oelckers
53e698e707
- 0.10.0
2021-04-22 22:03:50 +02:00
Christoph Oelckers
db7527fa43
- fix sky palette in Polymost mode.
2021-04-22 22:03:16 +02:00
Mitchell Richters
6fca2de7f3
- Fix clocking of timer when doing cumulative loads in loaddefinitionsfile()
.
2021-04-22 18:57:41 +10:00
Mitchell Richters
8e53489487
- Remove some leftover stuff from gamecontrol.h
.
2021-04-22 18:53:14 +10:00
Mitchell Richters
733f4f7aea
- Move all the timing code from LoadDefinitions()
to loaddefinitionsfile()
2021-04-22 18:50:49 +10:00
Mitchell Richters
27767f61ae
- Move for (auto& m : *userConfig.AddDefs)
loop from loaddefinitionsfile()
into LoadDefinitions()
and rework debug timer code to accommodate.
...
* Change also reverts 5af7be42a2
.
2021-04-22 16:33:45 +10:00
Mitchell Richters
c0e5599478
Merge branch 'master' into newrenderer
2021-04-22 08:58:26 +10:00
Mitchell Richters
ab4c18a73a
- processMovement()
: Remove attenuation of hidInput->dyaw
that was missed when scaling was removed from backend in 44e4c5ff78
.
2021-04-22 08:58:17 +10:00
Mitchell Richters
5af7be42a2
- LoadDefinitions()
: Remove if statement added in 1ea25e5d0e
that was causing added DEF files not to load.
...
* The loop for `userConfig.AddDefs` feels like it should be moved out of `loaddefinitionsfile()` and into `LoadDefinitions()`, but that's subject to discussion.
2021-04-22 08:44:59 +10:00
Christoph Oelckers
14971f9569
Merge branch 'master' into newrenderer
2021-04-22 00:10:37 +02:00
Christoph Oelckers
729928c576
- SW: fixed bad serialization of sector object pointers
2021-04-22 00:03:18 +02:00
Christoph Oelckers
a4f5a32680
- fixed issue with restoring SO sprite array.
...
This array has -1 for empty entries so it cannot be saved partially.
2021-04-22 00:03:17 +02:00
Christoph Oelckers
c3e5cf322e
- SW: cleaned up the depth variable handling in SECT_USER which was endian dependent, including the savegame handler
2021-04-22 00:03:17 +02:00
Christoph Oelckers
c17ec5fa45
- cleanup of savegame framework
2021-04-22 00:03:17 +02:00
Christoph Oelckers
97d8aee2e8
- savegame code cleanup.
2021-04-22 00:03:17 +02:00
Christoph Oelckers
b85da221d7
- SW: save tracks as JSON.
2021-04-22 00:03:17 +02:00
Christoph Oelckers
bb8309831c
- SW: eliminated the int pointer in ANIM.
...
# Conflicts:
# source/games/sw/src/save.cpp
2021-04-22 00:03:16 +02:00
Christoph Oelckers
c49c5fcf1d
- SW: serialize SO interpolations as JSON.
2021-04-22 00:03:16 +02:00
Christoph Oelckers
2d571586bd
- save sector objects as JSON
2021-04-22 00:03:16 +02:00
Christoph Oelckers
e9b1342ffd
- SW: save globals as JSON.
2021-04-22 00:03:16 +02:00
Christoph Oelckers
66e5b9ada7
- SW: save SectUser as JSON, also store in a managed array.
2021-04-22 00:03:16 +02:00
Christoph Oelckers
06b03f7301
- SW: save the player and related data as JSON.
2021-04-22 00:03:15 +02:00
Christoph Oelckers
9bae2295cc
- better USER clearing.
2021-04-22 00:03:15 +02:00
Christoph Oelckers
8fee2b3ed7
- save SW's User array as JSON.
2021-04-22 00:03:15 +02:00
Christoph Oelckers
32955621f8
- removed all parental lock garbage from SW.
...
Better get rid of it as it's a major complication as implemented.
2021-04-22 00:03:15 +02:00
Christoph Oelckers
bbb53bc717
- refactored the main User array into something that's automatically managed.
2021-04-22 00:03:14 +02:00
Christoph Oelckers
cd45a1f035
- made more parts of USER serialization friendly.
2021-04-22 00:03:14 +02:00
Christoph Oelckers
dcb393bc44
- started reorganizing SW's memory management.
...
Need to get rid of all those unmanaged allocations and present game data in an easily serializable form.
This adds a managed TPointer class that replicates the useful parts of std::unique_pointer but steers clear of its properties that often render it useless.
2021-04-22 00:03:14 +02:00
Christoph Oelckers
9c3aa7bb6c
- use the proper file names for loading -adddefs.
2021-04-21 23:55:40 +02:00
Christoph Oelckers
eb573bea23
- removed all compensation for the clamped shades.
...
None of this is needed, the shader can work with out of range shades to produce proper lighting.
2021-04-21 22:48:55 +02:00
Christoph Oelckers
dc0df7d081
- don't clamp shade values in the setup pass.
...
We need their proper values when setting up the lighting.
2021-04-21 22:32:27 +02:00
Christoph Oelckers
9092b5c392
- removed some unused stuff from engine.
2021-04-21 22:32:27 +02:00
Christoph Oelckers
b8f9bdb7c1
- made savepic work with new renderer.
2021-04-21 22:32:27 +02:00
Mitchell Richters
98a9963bb5
- Fix release builds of project and remove old def_.cpp
stub file.
2021-04-22 06:30:44 +10:00
Christoph Oelckers
c67a3e76b4
- seems I missed a bit...
2021-04-21 18:34:34 +02:00
Christoph Oelckers
35594a5516
- def parser cleanup, plus some better error messages.
2021-04-21 18:16:08 +02:00
Christoph Oelckers
ba5e7d419c
- cleaned up the remains of the old def parser.
2021-04-21 18:15:55 +02:00
Christoph Oelckers
1ea25e5d0e
- reworked the def parser's main loop.
2021-04-21 18:15:25 +02:00
Christoph Oelckers
8c854441bc
- model command migrated
2021-04-21 18:15:12 +02:00
Christoph Oelckers
542e1b2ba7
- ported all simple model commands.
...
'model' is the last remaining one.
2021-04-21 18:15:12 +02:00
Mitchell Richters
93edeac791
- Clean-up of input functions.
...
* Remove unused `getincanglef()`.
* Remove unused `getincangleq16()`.
* In `PlayerHorizon` struct, clamp value when setting target in `__settarget()`, not each public `settarget()` overload.
* Rename `PlayerAngle` method `applylook()` to `applyinput()`.
* Rename `PlayerHorizon` method `sethorizon()` to `applyinput()`.
* In `PlayerHorizon::applylook()`, slightly clean return to centre code so it doesn't do math if already at 0.
* In `PlayerAngle::applylook()`, slightly clean rotscrnang/look_ang code so it doesn't do math if already at 0 and reposition where mouse input is applied so that if input is applied, the player never enters a spin.
* In `Duke3d::player_struct::apply_seasick()`, use `buildfang()` method instead of scaling float to BAM within function.
2021-04-21 20:41:04 +10:00
Christoph Oelckers
b49de68c86
- migrated highpalookup, basepalette and undefbasepaletterange.
2021-04-20 22:43:02 +02:00
Christoph Oelckers
f51872db25
Merge branch 'master' into newrenderer
2021-04-20 20:46:06 +02:00
Christoph Oelckers
16f45ffe3d
- fixed small oversight in makepalookup parser.
2021-04-20 20:44:22 +02:00
Christoph Oelckers
512411d0fa
- parseUndefTexture(Range)
2021-04-20 20:41:15 +02:00
Christoph Oelckers
1518156386
- parseUndefPalookupRange
2021-04-20 20:41:15 +02:00
Christoph Oelckers
276fd19462
- parseMakePalookup
2021-04-20 20:41:15 +02:00
Christoph Oelckers
6fb09f36c7
- fixed a few parsing errors.
2021-04-20 20:41:04 +02:00
Christoph Oelckers
aaad546729
- palookup.
2021-04-20 20:21:51 +02:00
Christoph Oelckers
bb119fa928
- parseNumAlphaTabs
2021-04-20 20:21:51 +02:00
Christoph Oelckers
82a0b0502b
- parseBlendTable
2021-04-20 20:21:51 +02:00
Christoph Oelckers
01f93f4cca
- several smaller texture (un)definition commands.
2021-04-20 20:05:35 +02:00
Christoph Oelckers
8c5a9c23c3
- tileimportfromtexture and copytile.
2021-04-20 20:04:44 +02:00
Christoph Oelckers
97637e4d2d
- parseArtFile.
2021-04-20 20:03:19 +02:00
Christoph Oelckers
2761ced670
- handle 2 dead .def commands.
2021-04-20 20:02:19 +02:00
Christoph Oelckers
afb2cd3b82
- fixed NoFullbrightRange.
...
Ever since the texture system switchover this only set a dead bit, it has to explicitly mark the texture as not having a brightmap.
2021-04-20 20:02:08 +02:00
Christoph Oelckers
588fa5ffe2
- fixed: FileSystem.CreatePathlessCopy must set the copy to not have a full path.
...
Otherwise it may evade special lookup rules for music and not be found
2021-04-20 20:00:47 +02:00
Christoph Oelckers
40a632a2ae
- rffdefineid
2021-04-20 19:39:12 +02:00
Christoph Oelckers
643b969dff
- added another weird Build specialty: no vertical sprite offset flipping for face sprites.
...
Just... why...? :?
2021-04-20 19:37:32 +02:00
Christoph Oelckers
be20b6a839
- fixed: wall sprites do not need NPOT emulation.
2021-04-20 16:58:18 +02:00
Christoph Oelckers
9e40e49c2c
- generalized the special key handling for skipping cutscenes.
2021-04-20 15:01:26 +02:00
Christoph Oelckers
d078b511b8
- flip backwards oriented wall sprites before submitting them to the render list.
...
Backwards orientation will break the translucent object sorter so this needs to be sorted out beforehand.
2021-04-20 14:30:22 +02:00
Mitchell Richters
0c5729b0f6
- SW: Ensure all sprite angles are backed up in the ticker.
...
* Fixes #326 .
2021-04-20 21:33:42 +10:00
Mitchell Richters
d34070b8ae
- gameinput.h: Remove precise bool from horizsumfrac()
, look_anghalf()
and looking_arc()
added in a4895cb270
.
...
* It looks terrible to have low precision math versions of look_anghalf and looking_arc since we always interpolate `look_ang` now, so lets just not.
2021-04-20 21:12:17 +10:00
Mitchell Richters
321bfe86f8
- DSkippableScreenJob::OnEvent()
: Ensure previously ignored keys don't cause a screenjob to skip.
...
* Volume up/down on the keyboard when trying to listen to a cut-scene shouldn't skip it.
2021-04-20 20:07:20 +10:00
Christoph Oelckers
ccdf9d13f1
- do not render sprites that are extremely close to the camera.
...
These can temorarily cover the entire screen so everything with a distance of less than 4 map units will now be skipped if it is a face sprite.
2021-04-20 00:15:11 +02:00
Christoph Oelckers
a919e526ec
- SW: the intro's sound may not be paused when the menu opens.
2021-04-19 21:39:44 +02:00
Mitchell Richters
2f696e1a95
Merge branch 'master' into newrenderer
2021-04-19 20:50:37 +10:00
Mitchell Richters
de06030ea0
- gameinput.cpp: Make sethorizon()
, applylook()
and calcviewpitch()
class functions of PlayerHorizon
and PlayerAngle
where appropriate.
2021-04-19 20:50:10 +10:00
Christoph Oelckers
c8e466c995
- delete the "New savegame" node before starting work on the savegame.
...
This caused an off-by-one issue in the displayed list.
2021-04-19 12:48:06 +02:00
Mitchell Richters
1daa346fdd
- Exhumed: Make SB_CENTERVIEW
work properly when cl_syncinput 1
is set.
2021-04-19 20:24:11 +10:00
Mitchell Richters
4eaf05d95e
- Duke: Fix bad vehicle speed clamp change from e79c6bacd3
.
...
- Fixes #325 .
- 🤦
2021-04-19 19:33:13 +10:00
Mitchell Richters
171d541112
Merge branch 'master' into newrenderer
2021-04-18 10:05:10 +10:00
Mitchell Richters
3961fcc28a
- Exhumed: When returning to center after going up/down stairs etc (slope tilting), don't use the backend's aim/look up/down return to center code as it's slower.
2021-04-18 10:04:17 +10:00
Christoph Oelckers
eb912604d2
- RFS compatibility with GDX: The outermost path component can be left out.
2021-04-17 23:59:10 +02:00
Christoph Oelckers
27ca71a6ec
- allow specifying a .def file in GAMEINFO.
...
This will be loaded on top of the regular .def files and not replace them.
2021-04-17 23:52:45 +02:00
Christoph Oelckers
3906d5cfb0
- fixed: the fullscreen color blends did not set their command's screenFade member.
...
Since this remained 0, those blends lost their color.
2021-04-17 23:43:16 +02:00
Christoph Oelckers
eff7d66742
- fixed Clang compilation error.
2021-04-17 18:47:15 +02:00
Christoph Oelckers
cdf89b9175
- portal rendering fix when viewing through two-sided walls outside the actual portal area.
...
If there's more portal area behind such a line its range in the clipper needs to be cleared again.
2021-04-17 18:32:40 +02:00
Christoph Oelckers
82194bbf6b
Merge branch 'master' into newrenderer
...
# Conflicts:
# source/games/exhumed/src/2d.cpp
2021-04-17 13:22:30 +02:00
Christoph Oelckers
cd58b1d055
- made the tile size getters a bit more robust.
...
They should not crash on invalid sprites.
2021-04-17 12:40:23 +02:00
Christoph Oelckers
d2c9b5979d
- gave key 7 a proper spawn record using the blue outline as image.
...
A proper definition here is needed to allow dropping this item.
The original code had a picnum of -1 here which caused crashes.
2021-04-17 12:05:37 +02:00
Christoph Oelckers
0cdb7a53ce
- more char removal - mostly weapon.cpp
2021-04-17 10:34:12 +02:00
Christoph Oelckers
9828b0228e
- made type of shade variables consistent.
...
Some were char, some signed char and the initializers needed type casts.
This wasn't serious but created a lot of casting noise.
2021-04-17 10:22:00 +02:00
Christoph Oelckers
ada28d8d04
- Blood: replaced 'unsigned char' with 'uint8_t' and 'signed char' with 'int8_t'.
...
Preparation for getting rid of all those excessively used plain chars which are a menace to code stability.
2021-04-17 10:14:03 +02:00
Christoph Oelckers
839547a9fc
- Blood: gave FXDATA meaningful member names
2021-04-17 10:12:40 +02:00
Christoph Oelckers
42b87362ee
- When keeping around a dummy sprite, make sure that the engine's utilities cannot find it anymore.
...
This was causing issues with the master switch sprites in Duke that have to be kept for sound purposes.
Unfortunately, both hitscan and neartag are far too dumb to analyze sprites they may hit in any way and needed some help skipping such sprites.
2021-04-17 09:37:38 +02:00
Christoph Oelckers
962e313eb2
- fixed screen job fadeout.
2021-04-17 00:16:18 +02:00
Christoph Oelckers
091a9b7fef
- fixed Exhumed laptop cutscene.
2021-04-17 00:01:28 +02:00
Christoph Oelckers
2b9a527aba
- added a 'Start' method to DScreenJob.
...
Since the menu pauses the ticker this is needed to perform initial setup before the first frame.
2021-04-16 23:29:53 +02:00
Christoph Oelckers
49e07a47c6
- now that everything is fixed, the map in Exhumed can be initiated from the console.
2021-04-16 22:40:21 +02:00
Christoph Oelckers
584e4bfb4a
- explicitly check for opening the console when running a screen job.
2021-04-16 22:39:48 +02:00
Christoph Oelckers
3910146740
- skip the fade-in of the screen job if it starts while the game is paused.
...
While this works with the current code it simply does not look good.
2021-04-16 22:21:57 +02:00
Christoph Oelckers
03d517c509
- removed debug assert.
2021-04-16 22:16:21 +02:00
Christoph Oelckers
f28aa8f06c
- properly pause streaming soundtracks of movies as well.
...
This is not relevant for any of the stock movies as they use separate sound files, we need to be aware of mods using the streaming sound capabilities of MVE and SMK.
2021-04-16 22:14:11 +02:00
Christoph Oelckers
1852c0b802
- properly pause the screen job player if the menu is open.
...
Still needs a bit of work for movies with embedded streaming sound.
2021-04-16 22:03:01 +02:00
Christoph Oelckers
2942e011bf
- cleaned up the screen job's fade handling, now that the jobs no longer depend on an external timer.
2021-04-16 21:27:54 +02:00
Christoph Oelckers
e580407d7d
- the remaining Exhumed screens.
...
These are not tested yet, a bit more work is needed to allow this.
2021-04-16 20:48:40 +02:00
Christoph Oelckers
a43259c40c
- Exhumed's map.
2021-04-16 20:10:46 +02:00
Christoph Oelckers
fed15a79e4
- Exhumed's intro screens.
2021-04-16 20:08:20 +02:00
Christoph Oelckers
4950b556c9
- handled SW's screens.
2021-04-16 18:43:59 +02:00
Christoph Oelckers
9dff494e6c
- handle all of RR's screens.
2021-04-16 17:38:05 +02:00