Commit graph

15258 commits

Author SHA1 Message Date
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
Christoph Oelckers
a35adc45c2 - use correct CVAR for menu's statusbar scale setting.
Fixes #169
2020-11-09 17:23:58 +01:00
Christoph Oelckers
918425469a - fixed crosshair setup.
Fixes #168
2020-11-09 17:20:14 +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
Christoph Oelckers
8a4b2e792e - set a default font for list menus. 2020-11-08 10:11:00 +01:00
Christoph Oelckers
40a9a4c86d - removed redundant local variable in SW status bar code. 2020-11-08 09:12:15 +01:00
alexey.lysiuk
7f0d94798d - fail CMake configuration process if libvpx was not found
This helps to avoid #160
2020-11-08 10:00:20 +02:00