Mitchell Richters
3b3e926fd3
- gameinput.h: For PlayerAngle
struct, add int settarget()
overload and change one true call with a float to bvectangf()
.
2020-11-22 21:18:11 +01:00
Mitchell Richters
2341ed4e25
- gameinput.h: For PlayerAngle
struct, add extra addadjustment()
overloads to remove type conversions game-side, and when incoming.
2020-11-22 21:18:11 +01:00
Mitchell Richters
35845a63e2
- binaryangle.h: Expand all classes with bit-shift operators and binangle
/lookangle
classes with some lt/le/ge/gt bools to have parity with the fixedhoriz
class.
2020-11-22 21:18:11 +01:00
Mitchell Richters
42689e02c4
- gameinput.cpp: Define getincanglebam()
and slightly clean up other getincangle*() functions.
2020-11-22 21:18:11 +01:00
Mitchell Richters
d6d74c2712
- buildutils: Replace sintable[]
use within core with bsin()
/bcos()
.
2020-11-22 21:18:02 +01:00
Mitchell Richters
32a1796728
- buildutils: Replace sintable[]
use within Build with bsin()
/bcos()
, using bsinf()
/bcosf()
where appropriate.
...
* Includes a few header include shuffles to make it all come together.
2020-11-22 21:18:02 +01:00
Mitchell Richters
85bb248309
- binaryangle.h: Extend file with sine/cosine inline helper functions.
2020-11-22 21:18:02 +01:00
Christoph Oelckers
921a7a7166
- RRRA: fixed progression from E1L7 to E2L1 plus a texture related crash.
...
Fixes #189 .
2020-11-22 18:46:20 +01:00
Christoph Oelckers
dced173cda
- JSON serializer for actor.
...
Also cleaned up use of gAffectedSectors and gAffectedXWalls. These are merely needed as local worker variables, not as global persistent status.
2020-11-22 12:48:42 +01:00
Mitchell Richters
d7c4e5e59f
- searchpaths.cpp: Add registry detection for Powerslave/Exhumed from GOG.
...
* Fixes #191 .
2020-11-22 22:23:01 +11:00
Christoph Oelckers
b2a7a0635b
- Blood: JSON serializer for triggers
...
Also renaming members of struct BUSY.
2020-11-21 20:25:06 +01:00
Christoph Oelckers
7945242fa8
- removed some redundant utility functions.
2020-11-21 18:13:10 +01:00
Christoph Oelckers
4aa06ff702
- use a static table for SEQ callbacks.
...
This ensures that callback indices are consistent. Runtime registration as performed by NBlood has undefined order and will make savegames non-transferrable.
2020-11-21 16:34:32 +01:00
Christoph Oelckers
1535182577
- simplified the event management further and added a JSON serializer for it.
2020-11-21 15:09:38 +01:00
Christoph Oelckers
5f54eac297
- made palette loader part of the game interface.
...
This gets rid of the Blood 'replace' hook for thus.
2020-11-21 12:54:09 +01:00
Christoph Oelckers
36479b623d
- re-fixed crosshair scale to only use one CVAR for everything.
2020-11-13 17:56:55 +01:00
sinisterseed
913239ee5d
- minor adjustment to the level stats widget.
...
Since the widget was right on top of the status bar, the shadows behind it were slightly bleeding into it.
2020-11-13 17:12:01 +02:00
Christoph Oelckers
483e0b6574
- fixed voxel rendering in palette emulation mode.
...
The recent changes for replacing fonts with hires versions made the paletted handling kick in, although the voxel textures are not suitable for that.
Fixes #178
2020-11-12 19:26:16 +01:00
Mitchell Richters
735d89bfb6
- SW: Ensure save code backs up crouch_toggle
and player's current input.
...
* Fixes #166 .
2020-11-12 23:31:32 +11:00
Christoph Oelckers
2ee18b3a11
- fixed voxel rendering.
2020-11-11 20:31:27 +01:00
Christoph Oelckers
a92b4943f9
- Duke: use original colors for inventory status display.
...
I took one liberty and still use green/yellow/red for the percentage, but this now uses palette translations so that it works better with hires replacements.
2020-11-11 11:49:05 +01:00
Christoph Oelckers
85edf38eba
- do not grayscale all hires tinting.
2020-11-11 07:57:25 +01:00
Christoph Oelckers
e2b6ebec91
- partially fixed colorization for hires replacements.
2020-11-10 23:59:04 +01:00
Christoph Oelckers
96fbfdcf86
- made hires replacements work for untranslated fonts.
2020-11-10 21:34:49 +01:00
Christoph Oelckers
8ac6a4d321
- removed redundant declaration of PickTexture.
2020-11-10 20:30:37 +01:00
Christoph Oelckers
873f4d7c0c
- link hires replacements to textures instead of tile numbers.
...
This is needed to connect them to fonts as well because its glyphs have no tile index.
2020-11-10 20:12:46 +01:00
Christoph Oelckers
ed599d0f05
- moved the hires texture replacement logic into a backend callback.
...
This way it can be handled transparently to the calling code.
Fonts do not work yet, though.
2020-11-10 16:22:02 +01:00
Christoph Oelckers
601680d08e
- moved widthBits and heightBits into engine.
...
These functions will go away with the rest of the renderer when the time comes, so this is the right place.
2020-11-09 20:56:28 +01:00
Christoph Oelckers
61b42ea448
- fixed font color in SW's menus
...
fixes #165
2020-11-09 16:56:59 +01:00
Christoph Oelckers
aed8a450fd
- SW: fixed episode menu display.
...
The subtitle needs to use the game specific drawer, not the generic one.
Fixes #162
2020-11-08 10:12:12 +01:00
Mitchell Richters
8178d20f97
- c_notifybuffer.cpp: Center and pulse text for all RR games in DrawNative()
.
...
* Fixes #163 .
2020-11-08 10:39:45 +11:00
Mitchell Richters
f9f365a593
- Ensure crouch_toggle
bool from 6e3d414b3c
is serialised when saving game, and cleared when InputState::ClearAllInput()
is called.
2020-11-08 07:30:48 +11:00
Mitchell Richters
ade1a80515
- gameinput.cpp: Remove crouch bool from applylook()
since we can now just rely in the actions bitfield that's already incoming as required and default scaleAdjust
in the prototype to 1
.
2020-11-07 18:25:06 +11:00
Mitchell Richters
6e3d414b3c
- inputstate.cpp: Move checkCrouchToggle()
from gameinput.ccp into ApplyGlobalInput()
and use static bool for crouch toggling vs. game-side bool.
2020-11-07 18:16:16 +11:00
Mitchell Richters
a153ebab7e
- SW: Migrate crouch toggling to backend solution implemented in 4ef0d20e0e
.
2020-11-07 17:53:11 +11:00
Mitchell Richters
4ef0d20e0e
- gameinput.cpp: Consolidate checkCrouchToggle()
from Duke with discrete implementations from Blood in 7c8efde38c
and Exhumed in 032db82f82
to unify the functionality.
2020-11-07 13:44:25 +11:00
Mitchell Richters
c9708a5464
- CONTROL_GetInput()
: Reverse polarity of dx/dz and update processMovement()
appropriately.
2020-11-07 09:56:57 +11:00
Christoph Oelckers
7a482c6284
- make DHUDFont an object.
2020-10-31 13:20:54 +01:00
Christoph Oelckers
7de6528a1f
- the status bars work as objects.
...
# Conflicts:
# source/common/menu/menudef.cpp
2020-10-31 13:20:54 +01:00
Christoph Oelckers
3b7ce26c86
- final function moves and renamed hud_scale to hud_scalefactor.
2020-10-31 13:20:00 +01:00
Christoph Oelckers
0270dcd5f6
- cleaned up leftovers.
2020-10-31 13:20:00 +01:00
Christoph Oelckers
37024df405
- Status bar draw code is now identical with GZDoom's.
2020-10-31 13:20:00 +01:00
Christoph Oelckers
3a0c84d3ca
- split statusbar.cpp in two.
...
To keep Raze-exclusive content out of the main file that's about to be edited.
2020-10-31 13:19:59 +01:00
Christoph Oelckers
c53653106e
- fixed compilation.
2020-10-31 12:46:53 +01:00
Christoph Oelckers
e5ce1da9a3
- this is 0.7.3.
2020-10-31 12:41:17 +01:00
Christoph Oelckers
74df8f55da
- moved c_console.cpp to 'common'.
2020-10-25 13:26:40 +01:00
Christoph Oelckers
8d3585afe1
- console cleanup.
...
The bulk of the console is now free of game dependencies.
2020-10-25 13:14:42 +01:00
Christoph Oelckers
273ad5e133
- backend update
2020-10-25 09:20:26 +01:00
Christoph Oelckers
570897005c
- added sound playback to the Smacker video player.
...
Thanks to Blood's weird setup and the resulting lack of sound support in NBlood's player I never realized that this is a fully featured movie format that actually has sound support.
Now the soundtrack will play if present.
2020-10-25 00:46:39 +02:00
Christoph Oelckers
aeda977bc2
- fixed incomplete font initialization.
2020-10-24 21:02:00 +02:00
Christoph Oelckers
f02cf7e067
- fixed issues with fog setup and added missing fog to Exhumed's red palette.
...
Foggy lookups should not attempt to calculate a fade ramp, that does not work if the color gets brighter with distance.
Fixes #143
2020-10-24 20:33:33 +02:00
Christoph Oelckers
8868be659f
- make snd_speech toggle work in SW.
2020-10-23 22:53:02 +02:00
Christoph Oelckers
e702a13ef4
- close the quickload and quicksave confirmation screens after selection.
...
Fixes #139
2020-10-22 01:01:28 +02:00
Mitchell Richters
c98f7ac491
- gameinput.cpp: Don't set a target when serialising PlayerHorizon
struct.
...
* Fixes #131 .
2020-10-22 09:41:21 +11:00
Christoph Oelckers
699c32ff4a
- fixed quicksave setup
...
Fixes #133
2020-10-20 23:34:30 +02:00
Mitchell Richters
a00da23654
- searchpaths.cpp: When filtering duplicate games to delete, if CRC matches and CRC == 0, test whether name matches as well.
...
* Cryptic Passage for Blood has no CRC and therefore was failing this catch.
* Fixes #130
2020-10-19 20:46:22 +11:00
Mitchell Richters
ff9c7bf0bb
- binaryangle.h: Create osum()
for PlayerHorizon
and PlayerAngle
structs and use within each struct's interpolatedsum()
method.
...
* Already doubled up by calculating `sum()` again within `interpolatedsum()` and no point changing that out without an `osum()`.
2020-10-18 22:43:42 +11:00
Mitchell Richters
cd683e6511
- binaryangle.h: Add missed line from 4e07942cff
to calculate interpolation ratio using multiply instead of divide. Hopefully in the future we can just use a true double between 0 and 1 like GZDoom...
2020-10-18 22:05:21 +11:00
Mitchell Richters
4e07942cff
- binaryangle.h: Minor clean up of PlayerHorizon/PlayerAngle structs.
...
* Sync PlayerHorizon's `settarget()` with changes to PlayerAngle's from 19d9e1a947
.
* For each struct's `addadjustment()`, multiply value by unit there rather than always within `processhelpers()`.
* Properly use `xs_CRoundToUInt()` within PlayerAngle's `processhelpers()` method instead of the signed version.
* Use `abs()` within PlayerAngle's `processhelpers()` like PlayerHorizon's.
2020-10-18 22:00:39 +11:00
Mitchell Richters
19d9e1a947
- binaryangle.h: Fix issues with PlayerAngle.settarget()
following changes in bf5bd01164
.
...
* Just was not working whatsoever, really...
2020-10-18 21:31:36 +11:00
Christoph Oelckers
c2828fe2e3
fixed undefined end of list behavior of iterators
...
Also fixed a few warnings
2020-10-18 12:14:05 +02:00
Mitchell Richters
a9ad043c36
- Partially resolve issues loading autoexec.cfg files.
...
* This works for Raze's running directory, but is not pulling in autoexec.cfg files from subdirectories from Raze's running directory (Duke, Duke.Duke) or paths where game content resides (Steam, for instance).
* Partially addresses #110
2020-10-17 12:58:00 +11:00
Mitchell Richters
6385539144
- Port over i_timescale
CVAR from GZDoom for use with debugging.
...
* Had situations where this would have been useful instead of manipulating GameTicRate and rebuilding.
2020-10-16 10:31:11 +11:00
Christoph Oelckers
eb78b88598
- all Blood stat iterators ported.
2020-10-15 20:22:39 +02:00
Mitchell Richters
fb91fc49a3
- processMovement(): Add commentary around avel constants used within function and how they came to be. Also clean up some left-over code.
2020-10-15 20:12:34 +11:00
Christoph Oelckers
25d79285a3
- added the resource file name to the listmaps printout.
2020-10-14 01:13:36 +02:00
Christoph Oelckers
c17808d789
- extended 'listmaps' by also printing the display name for the map.
2020-10-14 00:58:43 +02:00
Mitchell Richters
fcfeafdbe9
- mapinfo.cpp: Create CCMD listmaps
to return map filenames.
2020-10-14 09:38:37 +11:00
Christoph Oelckers
129aa864dd
- do not accept any input in the first 0.1 seconds of running a screen job.
...
This is to avoid accidental skipping by pending game input.
2020-10-13 23:36:27 +02:00
Christoph Oelckers
df86a11d23
- fixed palette of Exhumed's game over screen.
2020-10-13 23:29:12 +02:00
Christoph Oelckers
ef15ac8b6e
- fixed: For the episode and skill menu, autoselection for single entries did not work.
2020-10-13 22:16:43 +02:00
Christoph Oelckers
99b4a64a67
- removed the PSPTwoDSetter
...
This is no longer needed because all weapon drawing is using the proper interface now.
2020-10-13 21:38:24 +02:00
Christoph Oelckers
817fa8aba3
- save the entire engine state as JSON.
...
The sprite lists may still need optimization. Due to different handling between Blood and the core engine they need to be written out completely which is quite wasteful.
2020-10-13 20:18:08 +02:00
Christoph Oelckers
742917c6d7
- re-enabled the autoload-after-death function.
...
This had to be disabled for the menu but somehow was missed when reenabling these things again.
2020-10-12 19:42:16 +02:00
Christoph Oelckers
86ad576675
- fixed lockup on Shareware screen when quitting Duke
...
Two errors: the menu wasn’t closed and the shareware check was inverted.
2020-10-12 08:07:51 +02:00
Mitchell Richters
a792f329ca
- binaryangle.h/PlayerAngle: Fix incorrect variable declaration on dang
within interpolatedsum()
method.
...
* Didn't seem to be causing an issue but better it be correct.
2020-10-12 16:28:05 +11:00
Mitchell Richters
bf5bd01164
- binaryangle.h/PlayerAngle: Make settarget()
method consistent with PlayerHorizon
class and fix incorrect variable declaration.
2020-10-12 14:51:53 +11:00
Christoph Oelckers
b4a011300a
- implemented proper delta serialization for sectors and walls.
2020-10-11 21:11:38 +02:00
Christoph Oelckers
f12c6b0319
- removed wallext because its only member 'blend' is not used by anything.
...
This is a feature not worth preserving, render style + alpha should be done directly, not via indirect lookup tables.
2020-10-11 18:44:16 +02:00
Christoph Oelckers
fd31da3115
- save sectors and walls as JSON
...
This is not optimized yet so saves are a bit larger than necessary.
2020-10-11 18:10:52 +02:00
Christoph Oelckers
cb8d2eb94c
- added serializers for PlayerAngle and PlayerHorizon.
2020-10-11 16:55:12 +02:00
Christoph Oelckers
1757ef2aa6
- split the game input code off gamecontrol.cpp into its own file.
2020-10-11 16:33:43 +02:00
Christoph Oelckers
8e1c71b867
Merge branch 'InputContinuation'
2020-10-11 15:24:51 +02:00
Christoph Oelckers
fc82b3bc8a
- Duke: replaced the game type macros with inline functions.
2020-10-11 14:30:42 +02:00
Christoph Oelckers
8b8c6a5e3a
- fixed episode default.
2020-10-11 07:44:51 +02:00
Mitchell Richters
5011b10549
- binaryangle.h/cpp: Inline the functions created in 271eb1c3fa
. No real need to have a separate file for these.
2020-10-11 15:34:18 +11:00
Christoph Oelckers
820b37721b
- moved tab completion code into 'common' as well.
2020-10-11 00:08:07 +02:00
Christoph Oelckers
242a70e610
- split the command line buffer off from c_console.cpp and reactivated the check for CONBACK.
2020-10-10 23:16:08 +02:00
Christoph Oelckers
fe2e96d3a6
Merge branch 'master' into InputContinuation
...
# Conflicts:
# source/games/duke/src/duke3d.h
2020-10-10 21:39:27 +02:00
Christoph Oelckers
dcde91b0c9
- do not wrap the simple value wrappers into a JSON object when being serialized.
...
It only adds to the processing time - they can just be written out as-is.
2020-10-10 21:36:12 +02:00
Christoph Oelckers
16a4d49268
- added background dimming for the menu when in overlay mode.
2020-10-10 18:29:15 +02:00
Christoph Oelckers
f9ab77f700
- create named texture copies for 'tilefromtexture' replacements.
...
We want to be able later to find them in the texture manager again.
2020-10-10 16:52:04 +02:00
Christoph Oelckers
c478d1add2
- properly uninit the menus.
2020-10-10 15:16:28 +02:00
Mitchell Richters
271eb1c3fa
- binaryangle.h/cpp: Hook up FSerializer and use within Duke for saving objects.
2020-10-11 00:10:53 +11:00
Christoph Oelckers
91e23b3ab5
- Exhumed: play the menu advance sound when starting a game
2020-10-10 13:30:23 +02:00
Christoph Oelckers
294a806793
- fixed some issues with prematurely terminated sounds.
2020-10-10 12:57:43 +02:00
Christoph Oelckers
db21d5e946
- took all script exports out of the namespaces.
...
It looks like GCC cannot deal with this - on MSVC it works fine.
2020-10-10 10:11:22 +02:00
Christoph Oelckers
16fd505f9a
- make sure that sfxinfo_t is always fully initialized by adding initializer values to all fields.
...
Let's hope this finally fixes those sound hiccups.
2020-10-10 09:47:00 +02:00
Christoph Oelckers
2237113a77
- fixed font scaling in RR's confirmation screens.
2020-10-10 00:51:26 +02:00
Christoph Oelckers
03e57fa3d7
- fixed Exhumed's game startup.
2020-10-09 23:58:34 +02:00