Commit graph

692 commits

Author SHA1 Message Date
Mitchell Richters
e9e4590f6a - gameinput.h: For PlayerHorizon and PlayerAngle struct methods settarget(), always set the angle directly if backup set to true. 2020-11-26 16:42:07 +11:00
Mitchell Richters
b9e1cbb5de - gamecontrol.h: Move getHalfLookAng() into PlayerAngle struct as look_anghalf().
* Uses internal struct variables at full BAM precision.
2020-11-26 16:37:37 +11:00
Christoph Oelckers
5a5f9b8e02 - backend update from GZDoom. 2020-11-23 15:54:06 +01:00
Christoph Oelckers
fde6407266 - removed the local duplication of the player name in Blood.
Using the global CVAR instead - once multiplayer support is in this will work for all players.
2020-11-23 09:53:58 +01:00
Christoph Oelckers
169d708547 - removed all remaining uses of tilesiz. 2020-11-23 08:55:02 +01:00
Mitchell Richters
3f14886830 - binaryangle.h: Return BAngToBAM() as int64_t to handle signed values without overflowing on unsigned values. 2020-11-23 10:49:47 +11:00
Mitchell Richters
89048c8e70 - binaryangle.h: Use cmath.h functions for binangle/lookangle trig methods as well. 2020-11-23 08:40:18 +11:00
Christoph Oelckers
b89cd6d14c - cleanup on binaryangle.h
* why the reference parameters? These should be passed by value.
* removed the < and > operators from binangle class because angles should not be ordered.
* instead of calling the CRT trig functions, use the ones from cmath.h which are more reliable
2020-11-22 21:54:39 +01:00
Mitchell Richters
5ba2e7863d - binaryangle.h: Add asbuildf() method to all classes and use where appropriate. 2020-11-22 21:18:12 +01:00
Mitchell Richters
e57d6f8785 - Duke: Fix crane's angle settarget() call.
* Fixes #185.
2020-11-22 21:18:12 +01:00
Mitchell Richters
c42771228d - binaryangle.h: Reverse order of binangle and lookangle classes and declare binangle class a friend of lookangle.
* In-prep for addressing #185.
2020-11-22 21:18:11 +01:00
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