Commit Graph

13015 Commits

Author SHA1 Message Date
Mitchell Richters 2c1b53ad1c - Exhumed: Get GOG music playing without any user intervention required. 2020-11-22 22:35:45 +11: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 f73ca55c79 - renamed more disasm stuff. 2020-11-21 20:10:45 +01:00
Christoph Oelckers 27dfefef6c - JSON serializer for warp.cpp 2020-11-21 19:39:24 +01:00
Christoph Oelckers 678dedf224 - more renaming. 2020-11-21 19:30:00 +01:00
Christoph Oelckers c13dd52e34 - renamed a few functions with disasm names. 2020-11-21 19:19:02 +01:00
Christoph Oelckers a319687373 - use static init for QAV callbacks.
runtime init order is undefined, so this is not safe.
2020-11-21 18:28:29 +01:00
Christoph Oelckers 9bd02634d9 - renamed a few things with disasm names. 2020-11-21 18:18:58 +01:00
Christoph Oelckers 7945242fa8 - removed some redundant utility functions. 2020-11-21 18:13:10 +01:00
Christoph Oelckers 8bfc6d98d4 - Blood: cleanup and simplification of SEQ code.
* removed all the large instance arrays. None of this is really necessary, all we need is a single dynamic array with only the active sequences that can expand as needed.
* added JSON serialization. With the above change this part now becomes trivial.
* renamed all 'atxx' variables in this code.
2020-11-21 18:12:51 +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 fe845d7e12 - renamed some of those annoying 'atxx' variables. 2020-11-21 15:45:37 +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 71e70f8d15 - simplified the event code by removing the priority queue layer.
We do not need that compatibility handling so the high level code can use the multiset directly.
2020-11-21 12:49:24 +01:00
Christoph Oelckers b97f12a2eb - did some global search & replace to reduce the number of accesses to the tilesiz wrapper. 2020-11-20 08:18:26 +01:00
Christoph Oelckers 9a43886be6 - Duke: fixed parsing of overlong CON identifiers. 2020-11-15 07:35:39 +01:00
alexey.lysiuk 07eeba88fa - fixed incorrect autosegs section addresses on macOS
It appeared that getsectbyname() returns address stored in executable header as is, i.e. without adjusting it for ASLR
2020-11-14 12:48:39 +02:00
Christoph Oelckers 36479b623d - re-fixed crosshair scale to only use one CVAR for everything. 2020-11-13 17:56:55 +01:00
sinisterseed 34dfb6c5fc - fixed crosshair scaling in Exhumed & the other games.
The problem was that the CVARs operating the scale were different between Exhumed and the other titles, meaning that "crosshairscale" worked in one, but not the others. They have now been split.
Also lowered the default crosshair size as it was too much for Exhumed.
Fixes #180.
2020-11-13 18:33:18 +02: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 d089aa8d2e - moved Blood's and Exhumed's d_menu.cpp back into the gameprojects
With the new autoseg code this separation is not needed anymore.
2020-11-13 11:25:43 +01:00
alexey.lysiuk 555007539d - eliminate dependency on linking order for autosegs registration
This fixes #164
2020-11-13 09:41:58 +01:00
Mitchell Richters 7673766d19 - Duke: Apply same zvel fix from 13839fc3e9 to `shootgrowspark()` that was accidentally changed in f276a5f443. I don't believe this to be an issue in any other spot for Duke. 2020-11-13 10:02:12 +11: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
Christoph Oelckers f9a776e71c - iterate linearly over sector effectors.
Apparently they aren't all properly linked into the required statnums.
Fixes #179
2020-11-12 19:12:58 +01:00
alexey.lysiuk 50beb113ff - extended continuous integration targets 2020-11-12 15:48:51 +02: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
Mitchell Richters 70b75f72b5 - Duke: Fix issues with crane angle adjustment in `movecrane()` following changes in fca846272e.
* Fixes #170.
2020-11-12 23:21:03 +11:00
Mitchell Richters 13839fc3e9 - Duke: Fix `shootstuff()` zvel calculation error following changes in badf536fef.
* Fixes #177.
2020-11-12 22:07:16 +11:00
alexey.lysiuk 6b12514a29 - fixed compilation with MSVC 14.28.29333 from VS2019 16.8.0
This fixes #175

include\algorithm(7419,1): error C2678: binary '=': no operator found which takes a left-hand operand of type 'const T' (or there is no acceptable conversion) (compiling source file source\common\scripting\jit\jit.cpp)
include\algorithm(7419,17): error C3892: '_First': you cannot assign to a variable that is const (compiling source file source\core\searchpaths.cpp)
2020-11-12 11:38:53 +02:00
Mitchell Richters 4dc1797345 - Duke: Reset `p->dead_flag` when enabling the god cheat as per original behaviour.
* Fixes #172.
2020-11-12 18:21:42 +11:00
Christoph Oelckers 2ee18b3a11 - fixed voxel rendering. 2020-11-11 20:31:27 +01:00
sinisterseed a7dd547dc1 - fixed some typos in SW's digi.h file. 2020-11-11 17:45:01 +02:00
sinisterseed 9e0e3c649c - marked a missed Wang speech line.
Sneaky one no less, took a while to find... (this was still playing on WT's Skyline when Wang was jumping between rooftops).
2020-11-11 17:37:21 +02:00
Christoph Oelckers 4bded16b09 - removed leftover Polymer checks. 2020-11-11 13:03:47 +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 3558289d70 - give forward declared enum a type. 2020-11-10 21:44:15 +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 8c241afc40 - undid texture substitution in 2D code. 2020-11-10 10:08:17 +01:00
Christoph Oelckers 40358febc1 - changed render interface to resolve textures to materials in the backend.
This is needed to have a unified spot where to resolve textures for both 2D and 3D.
2020-11-10 09:08:48 +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 51115e75df - avoid using widthBits and heightBits outside of engine code. 2020-11-09 20:51:30 +01:00
Christoph Oelckers f24786af71 - Exhumed: Use 0 as transparent color index for the energy tile. 2020-11-09 19:16:43 +01:00