Commit Graph

550 Commits

Author SHA1 Message Date
Christoph Oelckers 621a9338e5 - render camera textures with the hardware renderer.
This removes the last active use case for the software renderer and allows rendering the camera views at a higher resolution.
For Shadow Warrior this necessitated a split of JS_DrawMirrors, because it processed cameras and mirrors in the same loop which cannot be done with the hardware renderer.
2020-03-29 14:01:46 +02:00
Christoph Oelckers 8f3cc0b5af - removed screen tilting code for software renderer.
Since this doesn't work anymore the code is no longer needed - and it stands in the way of doing camera textures purely in hardware.
2020-03-29 08:36:39 +02:00
Mitchell Richters 2cbbe9ec61 Remove last vestiges of input latency from Duke3D and RR main game loops.
- Hack code to break loop early removed. If game code is running slow, that's not the fix.
- Get input and fill the input_t struct in same loop as G_DoMoveThings().
- Remove unnecessary do/while (0) loop.
2020-03-25 14:42:51 +01:00
Mitchell Richters b1ebb897e8 Repair HUD scaling returning to 100% when relaunching Duke or RR games.
- Resolves https://forum.zdoom.org/viewtopic.php?f=340&t=67811
2020-03-22 10:37:43 +01:00
Mitchell Richters e272286df5 Repair vehicle acceleration following changes to input handling.
- Make localInput.fvel only equal to input.fvel + pPlayer->moto_speed.
- Define MOTOTURN and MAXVELMOTO in line with other defines used throughout P_GetInput*() functions.
- Clamped minimum fvel value is also now correct.
2020-03-21 11:30:36 +01:00
Mitchell Richters f1b7707f7a Repair vehicle input functions following changes to input handling.
- Calculate turnAmount in 1st 'if (turn)' statement to save on a 2nd.
- Divide all subsequent values from turAmount for cascasing effect.
- Rearrange some code to save on if statements checking the same condition.
- Remove q16horz code since player has no vertical movement on a vehicle.
- Remove horizAngleAdjust code as it's not necessary and has a jarring effect.
2020-03-20 23:21:54 +01:00
Mitchell Richters 88502f9962 Manually merge missed aliasing from EDuke32 SVN commit 8555. 2020-03-20 17:04:34 +01:00
Mitchell Richters 8bef451ed9 Manually merge EDuke32 SVN commit 8619. 2020-03-20 17:04:33 +01:00
Mitchell Richters 029b0bbb45 Manually merge EDuke32 SVN commit 8617. 2020-03-20 17:04:33 +01:00
Mitchell Richters 15a362f9ac Manually merge EDuke32 SVN commit 8605. 2020-03-20 17:04:33 +01:00
Mitchell Richters a5612b1a02 Manually merge EDuke32 SVN commit 8565. 2020-03-20 17:04:33 +01:00
Mitchell Richters 1222a3a56a Manually merge parts of EDuke32 SVN commit 8559. 2020-03-20 17:04:33 +01:00
Mitchell Richters 062850c30a Manually merge parts of EDuke32 SVN commit 8243. 2020-03-20 17:04:32 +01:00
Mitchell Richters 53c9d8425c Manually merge EDuke32 SVN commit 8555. 2020-03-20 17:04:32 +01:00
Mitchell Richters 2124862a9a Manually merge EDuke32 SVN commit 8554. 2020-03-20 17:04:32 +01:00
Mitchell Richters e964837219 Manually merge EDuke32 SVN commit 8552. 2020-03-20 17:04:32 +01:00
Mitchell Richters 84c518a067 Manually merge EDuke32 SVN commit 8551. 2020-03-20 17:04:31 +01:00
Mitchell Richters 61135e2635 Manually merge EDuke32 SVN commit 8541. 2020-03-20 17:04:31 +01:00
Mitchell Richters 71ada1d674 Manually merge EDuke32 SVN commit 8539. 2020-03-20 17:04:31 +01:00
Mitchell Richters 63edfcf7c7 Manually merge EDuke32 SVN commit 7775. 2020-03-20 17:04:31 +01:00
Christoph Oelckers de2c07aa6a - revert all consolidation efforts between Duke and RR frontends.
Too many problems with different code.
2020-03-18 08:24:31 +01:00
Christoph Oelckers ef63e47cbf - fixed per-level music in RR. 2020-03-14 18:14:50 +01:00
Christoph Oelckers 80cc12001f - a bit of cleanup. 2020-03-08 13:54:00 +01:00
Christoph Oelckers 73a4e0d1fe - made Blood's FullMap flag global and removed the hacks to show the full automap.
Also refactor show2dsector into a bit array to get rid of the bit shifting code at play here.
2020-03-07 19:30:18 +01:00
Christoph Oelckers 2c203fbf80 - more consolidation between RR and Duke. 2020-03-06 19:29:13 +01:00
Christoph Oelckers 6095808503 - consolidation of dynamic sound remapping 2020-03-06 17:23:30 +01:00
Christoph Oelckers a5c2152530 - consolidated the dynamic tile handling for Duke and RR frontends 2020-03-06 17:12:38 +01:00
Christoph Oelckers 4a76674f4b - deleted a few unused files 2020-03-05 01:20:58 +01:00
Christoph Oelckers 4788dc42fb - cleanup of the screentext consolidation
Since SetIfGreater is only used by the text code, the redundant copies could be removed.
2020-03-05 01:17:31 +01:00
Christoph Oelckers 822079abe0 fixed some compiler warnings listed by XCode 2020-03-05 01:01:05 +01:00
Christoph Oelckers a00bb4cbea - started consolidation of EDuke/RedNukem code by moving the identical parts of actor.h to a shared namespace. 2020-03-05 01:01:05 +01:00
Christoph Oelckers f59bfa1224 - consolidation of screentext code 2020-03-05 00:58:38 +01:00
Christoph Oelckers 6656547908 - fixed some warnings in Deer Huntin' code 2020-03-02 15:41:30 +01:00
Christoph Oelckers 4bc0531bf7 - disabled help screen in Exhumed and save menus in Deer Huntin'. 2020-02-29 12:55:12 +01:00
Christoph Oelckers b68cbddb7d - fixed missing crosshair in RR after merging the Deer Huntin' code. 2020-02-29 08:58:30 +01:00
Christoph Oelckers 9d934d22b2 - silence MSVC warnings. 2020-02-27 19:50:29 +01:00
nukeykt bb3009c8a7 Rednukem: dh wip
# Conflicts:
#	source/rr/src/rrdh.h
2020-02-27 19:44:24 +01:00
nukeykt 882b061ee1 Rednukem: add dh specific code
# Conflicts:
#	source/rr/src/rrdh.cpp
#	source/rr/src/rrdh.h
2020-02-27 19:44:00 +01:00
nukeykt 8c37e94061 Rednukem: dh player code
# Conflicts:
#	source/rr/src/rrdh.h
2020-02-27 19:36:15 +01:00
Christoph Oelckers dbf446ee6c - ported the menu changes of the last commit. 2020-02-27 19:26:30 +01:00
nukeykt 95cc4a8aab Rednukem: dh menu
# Conflicts:
#	source/rr/src/menus.cpp
#	source/rr/src/rrdh.h
2020-02-27 18:28:14 +01:00
Christoph Oelckers 80768e2fa8 - register the correct menu classes. 2020-02-26 20:31:49 +01:00
Christoph Oelckers 1eb00949e3 - manually added the RRDH menu stuff. 2020-02-26 20:31:49 +01:00
nukeykt 16052577a4 Rednukem: dh wip
# Conflicts:
#	source/rr/src/game.cpp
#	source/rr/src/menus.cpp
2020-02-26 20:31:49 +01:00
nukeykt ac2a17f5ea Rednukem: dh wip
# Conflicts:
#	GNUmakefile
#	platform/Windows/rednukem.vcxproj
#	platform/Windows/rednukem.vcxproj.filters
#	source/rr/src/common_game.h
#	source/rr/src/screens.cpp
2020-02-26 20:31:48 +01:00
Christoph Oelckers 9945131d3a - RR: Do not start the "8-track player" when a map got a dedicated music track defined.
Otherwise it may become a bit annoying.
2020-02-25 21:11:19 +01:00
Christoph Oelckers 3aea6d1fad - refactored sound user data to be easier to serialize. 2020-02-23 18:30:48 +01:00
Christoph Oelckers 9fab46b7d7 - initialize the secret hint system for each level. 2020-02-22 08:57:18 +01:00
Christoph Oelckers 7dc26a3162 - stop all playing sound when starting a new game.
- give all bonus screen sounds in Duke the CHANF_UI flag.
2020-02-17 19:43:58 +01:00
Christoph Oelckers 57a3f89105 - workaround for cl_autoaim not being set anymore.
Only for singleplayer for now, the network implementation for this flag leaves a lot to be desired.
2020-02-16 21:31:29 +01:00
nukeykt a604152e39 Rednukem: fix kill counter
# Conflicts:
#	source/rr/src/gameexec.cpp
2020-02-12 23:14:53 +01:00
Christoph Oelckers 1e8e5d3732 - fixed: CON_ADDKILLS in RedNukem code was performing RR-only checks even when playing Duke.
Original code looks like this:

case 88:
	insptr++;
	ps[g_p].actors_killed += *insptr;
	hittype[g_i].actorstayput = -1;
	insptr++;
	break;
2020-02-12 23:14:42 +01:00
nukeykt f2b98f9abc Rednukem: WW2GI weapon code fixes 2020-02-12 20:28:15 +01:00
nukeykt 88eacbcc1b Rednukem: fix ifvare instruction 2020-02-12 20:28:14 +01:00
Christoph Oelckers f3d953513b - make things compile again. 2020-02-12 20:27:43 +01:00
nukeykt b9e9b25cc6 Rednukem: fix WW2GI events 2020-02-12 20:27:43 +01:00
nukeykt d5e3be61c2 Rednukem: WW2GI fixes
# Conflicts:
#	source/rr/src/menus.cpp
2020-02-12 20:27:43 +01:00
nukeykt 365b7bfe79 Rednukem: implement WW2GI weapons
# Conflicts:
#	source/rr/src/actors.cpp
#	source/rr/src/gamevars.cpp
#	source/rr/src/sbar.cpp
2020-02-12 20:27:42 +01:00
nukeykt 972f2c4f0d Rednukem: WW2GI events
# Conflicts:
#	source/rr/src/events_defs.h
#	source/rr/src/game.cpp
#	source/rr/src/gameexec.h
2020-02-12 20:27:42 +01:00
nukeykt 47572cc01a Rednukem: Readd gamevars from eduke32 for WW2GI support
# Conflicts:
#	platform/Windows/rednukem.vcxproj
#	platform/Windows/rednukem.vcxproj.filters
#	source/rr/src/events_defs.h
#	source/rr/src/gamedef.h
#	source/rr/src/gamevars.cpp
#	source/rr/src/savegame.cpp
2020-02-12 20:27:42 +01:00
Christoph Oelckers 7909f29691 - allow starting Duke, NAM and WW2GI with the RedNukem-based game code for Redneck Rampage.
This mainly required some rework of the menu setup to be less explicit about the frontend's menu classes.
2020-02-12 20:25:59 +01:00
Christoph Oelckers f2043c4e3d - fixed palette in 3D Realms screen and first end-of-episode animation in Duke3D. 2020-02-11 19:29:05 +01:00
Christoph Oelckers 37f3bb37d4 - re-added menu opening sound for Duke and RR. 2020-02-11 18:13:15 +01:00
alexey.lysiuk 1479e1feae - unified demo path handling for all platforms
The current game subdirectory is now created on all platforms
2020-02-06 12:04:51 +01:00
Christoph Oelckers 67a2952ead - fixed RR's music. 2020-02-05 22:03:42 +01:00
Christoph Oelckers f6d9b5602b - fixed hud_scale. 2020-02-05 19:06:36 +01:00
Christoph Oelckers a90185bea9 - cleaned up the remaining dependencies on windows.h
This file now only gets included by code that really needs it.
2020-02-03 21:30:57 +01:00
Christoph Oelckers 4350a4dd31 - netcode cleanup.
This moves all parts in the Duke/Redneck modules that access ENet into net.cpp/network.cpp and changes global ENet structs to use C++ notation instead of typedefs so that anonymous definitions for them can be added where needed.
These changes are done to avoid including enet.h globally which is a major issue because this file does not work without including windows.h, making it extremely dirty.
2020-02-03 21:06:03 +01:00
Christoph Oelckers ca21852945 - hook up -nologo. 2020-02-02 20:44:57 +01:00
Christoph Oelckers 4d7a43004c - use the new SW interpolation function for all games. 2020-02-02 10:27:47 +01:00
Christoph Oelckers 0e1eeea037 - use the game palette directly for palette lookups.
The setup here is far too messy for having a copy in a better format - it can be changed in some non-obvious places.
2020-02-01 23:05:43 +01:00
Christoph Oelckers 1cce5d8de2 - fixed RR was still generating input events when the game was paused. 2020-02-01 13:07:58 +01:00
Christoph Oelckers eac1007c56 - automap color fix. 2020-01-30 22:05:18 +01:00
Christoph Oelckers 4bf519dcb0 - fixed copy/pasted broken 'map' CCMD. 2020-01-30 20:25:52 +01:00
Christoph Oelckers 8657ecb35d - implemented 'map' CCMD for all games. 2020-01-28 11:20:30 +01:00
Christoph Oelckers 809b687969 - removed the Build color matching code
For the handful of lookups it got used for the needed data is too large and the lookup not precise enough. ZDoom's BestColor yields better results, does not need any tables and for the small amount of lookups being performed is more than adequate.
2020-01-28 10:31:59 +01:00
Rachael Alexanderson 212cfde186 - add levelwarp cheat to Redneck and Duke 2020-01-27 22:29:47 -05:00
Christoph Oelckers 9ca1e56713 - added extended sound lookup as well plus menu options. 2020-01-27 22:29:45 +01:00
Christoph Oelckers 5de7fbca37 - consolidation of music lookup code for user maps. 2020-01-27 20:53:41 +01:00
alexey.lysiuk 5510df77be - streamlined CMake configuration of game libraries
https://forum.zdoom.org/viewtopic.php?t=67121
2020-01-27 18:11:35 +01:00
Christoph Oelckers 6f3bbcba46 - fixed the demo setup for Blood.
This failed to read the demos in the game directory.
For those who find demos annoying there's now a demo_playloop CVAR.
Currently this is only active in Blood because the other games have demos disabled because they are non-functional.
2020-01-26 22:22:41 +01:00
Christoph Oelckers 00da92377a - clear the screen before drawing a scene. Thanks to ability to layer scenes with scripting it is not possible to render solid geometry fully opaque. 2020-01-26 11:54:50 +01:00
Christoph Oelckers cb652ad147 - use Pal_2D for Duke's title screen.
This has transparent overlays so it must not disable translucency.
2020-01-26 11:47:40 +01:00
Christoph Oelckers 245aa5d3bc - reworked global palette state for robustness. 2020-01-26 10:58:00 +01:00
Christoph Oelckers f8a807e3bb - cleaned out a tiny bit of the garbage that has accumulated in compat.h.
This file really needs to go away, we do not need this kind of "compatibility".
2020-01-25 10:56:30 +01:00
Christoph Oelckers 493525a58e - consolidation of engine save code.
This had discrepancies between the game modules so now all use the same code to save the common engine state.
2020-01-21 21:51:05 +01:00
Christoph Oelckers ef3ade08d3 - silence debug diagnostics for non-test builds 2020-01-20 00:42:40 +01:00
BSzili bd1523ef2d Rednukem: fix building with NETCODE_DISABLE
# Conflicts:
#	source/rr/src/game.cpp
#	source/rr/src/net.h
2020-01-19 23:54:04 +01:00
Christoph Oelckers 2bc1708870 - removed the complete crosshair color hackery.
The code needs to be refactored anyway to allow better crosshair control but this also seemed to affect global render state, considering how poorly it was all implemented.
2020-01-18 16:14:31 +01:00
Christoph Oelckers 8cd9775513 - fixed VP8 video player.
Also do the color space conversion on the CPU to avoid the shader hassle, performance wise it is utterly irrelevant here.
2020-01-18 16:14:30 +01:00
Christoph Oelckers 298bbb4c97 - removed some leftover pieces of the original savepic code in RR. 2020-01-15 20:52:36 +01:00
Christoph Oelckers a4d8e68b9f - added an engine credits menu page. 2020-01-15 20:39:41 +01:00
Christoph Oelckers 6ace2f8bf0 - added savepic generation to RR. 2020-01-14 20:12:08 +01:00
Christoph Oelckers 45a93fc57e - fixed a few bad or missing string labels. 2020-01-13 18:05:43 +01:00
Christoph Oelckers dc5b8d27f8 - infrastructure for savegame pics.
Savepic generation implemented for Duke 3D, but results in a black image.
2020-01-12 23:16:21 +01:00
Christoph Oelckers 95f917a408 - added the main vertex buffer and some code to maintain it on systems where persistent mapping is not possible.
All games combined there's 11(!!!) scene render blocks, not counting the sub-blocks for ROR and mirrors.
Does it surprise anyone that most of these sub-blocks do not feature all engine capabilities?
2020-01-12 20:28:07 +01:00
Christoph Oelckers 9ca2819ad1 - added missing validation to S_GetUserFlags functions. 2020-01-12 09:32:30 +01:00
Christoph Oelckers 55dab6d3d3 - hooked up the high color texture colorization code.
Not tested and probably still not working correctly, the entire feature was a nearly impenetrable mess of convoluted code. This definitely needs verification with multiple mods using it.
2020-01-11 22:18:06 +01:00
Christoph Oelckers 6305714493 - fixed some issues with RR's Route66 add-on.
The new movies weren't played because the names did not match.
Transition from the last level of Ep1 to the first one of Ep2 did not work.
Selection with command line switch wasn't reliable.
2020-01-10 21:36:46 +01:00
Christoph Oelckers dc6e7c52c1 - don't pop up the menu over the intro movies when ending a game. 2020-01-08 17:36:21 +01:00
nukeykt dfd6796159 Rednukem: fix thunder effect timing 2020-01-07 20:13:06 +01:00
Christoph Oelckers fb985d2503 - more macOS compilation fixes
Still not complete…
2020-01-07 01:11:19 +01:00
Christoph Oelckers 134122335b - first attempt to compile on a Mac
This could have gone better, there's far too many warnings here
2020-01-06 02:41:47 +01:00
Christoph Oelckers 746aa4da82 - added a ClearScreen function to the 2D drawer to wrap the frequent occurence of this use case. 2020-01-05 10:48:44 +01:00
Christoph Oelckers e2d64a1c4a - copied anim fix to RR. 2020-01-03 11:47:10 +01:00
Evan Ramos a6c2641c20 Rednukem: Fix tspr->clipdist bits 2020-01-03 08:07:28 +01:00
Evan Ramos d7a7bb3e78 Make use of renderAddTSpriteFromSprite
# Conflicts:
#	source/blood/src/m32exec.cpp
#	source/rr/src/m32exec.cpp
2020-01-03 08:07:27 +01:00
Evan Ramos e363cd53a5 tspritetype cleanup
# Conflicts:
#	source/blood/src/m32common.cpp
#	source/blood/src/m32exec.cpp
#	source/blood/src/m32structures.cpp
#	source/blood/src/mapedit.cpp
#	source/rr/src/astub.cpp
#	source/rr/src/m32common.cpp
#	source/rr/src/m32exec.cpp
#	source/rr/src/m32structures.cpp
2020-01-03 08:07:10 +01:00
Christoph Oelckers d09b83d4a5 - moved the last remaining function out of baselayer.cpp and removed that file.
g_logFlushWindow was deleted entirely because with the current console this is not needed anymore.
2020-01-01 12:01:26 +01:00
Christoph Oelckers d464017363 - cleaned up the input code a bit. 2020-01-01 11:35:47 +01:00
Christoph Oelckers bcb48d8441 - added handling for changing the screen size (dragging the window borders / change scale factor) 2020-01-01 09:49:06 +01:00
Christoph Oelckers 05e381ff6d - fixed screen clearing for the automap.
This should only affect the active window, not the entire screen.
2019-12-31 19:50:27 +01:00
Christoph Oelckers d3a57e6e74 - route all clearscreen calls that happen after drawing the scene through the 2D drawer.
Otherwise they aren't synchronized with the remaining content.
2019-12-31 19:25:49 +01:00
Christoph Oelckers ad24a1ce31 - place weapon sprites in a separate render list.
They need to be drawn in a different pass than the 2D overlay HUD so the backend must have them separately.
2019-12-30 20:16:51 +01:00
nukeykt cdb08f22dd Fix redneck compiling
# Conflicts:
#	platform/Windows/eduke32.sln
#	platform/Windows/rednukem.vcxproj
#	platform/Windows/rednukem.vcxproj.filters
#	source/rr/src/config.cpp
#	source/rr/src/game.cpp
#	source/rr/src/game.h
#	source/rr/src/osdcmds.cpp
#	source/rr/src/sounds.cpp
2019-12-29 22:34:16 +01:00
Christoph Oelckers 6dc064a178 - another unused one. 2019-12-29 17:13:12 +01:00
Christoph Oelckers 3a6d0b8f84 - more cleanup. 2019-12-29 17:04:38 +01:00
Christoph Oelckers f6dee38d28 - route all 2D drawing through the 2D drawer unconditionally.
This is needed so that the postprocessor receives a clean 3D view to process without messing up the 2D parts.
2019-12-28 19:10:23 +01:00
Christoph Oelckers a021b96119 - added the needed parts of GZDoom's render backend to have the postprocessor working.
Not hooked up yet.
2019-12-28 18:20:47 +01:00
Christoph Oelckers 2b95808d42 - fixed ambient sounds not restarting in DN3D and RR. 2019-12-28 12:59:19 +01:00
Christoph Oelckers 6373b75d22 Merge branch 'master' into powerslave
# Conflicts:
#	source/common/gamecontrol.cpp
#	source/common/version.h
#	wadsrc/static/engine/grpinfo.txt
2019-12-26 14:46:14 +01:00
Christoph Oelckers d473f9c590 - replaced all uses of Bfree with Xfree so they are subjected to debug instrumentation, uses FStrings in a few cases where it made sense.
- fixed: Sound channels weren't freed.
2019-12-26 14:43:44 +01:00
Christoph Oelckers 62e9112133 - renamed the internal resource directory to "engine" and routed most literal mentions of the engine name through version.h
All this comes from a time when I didn't use version.h so it's better to do it the same way as GZDoom to allow easy renaming of the engine.
2019-12-26 14:04:53 +01:00
Christoph Oelckers d8dfe752b5 - fixed handling of music in Redneck Rampage and Shadow Warrior.
After merging the CD enabling CVAR they had the same default (off) as Blood which is wrong.
This also addresses other music related issues, like not properly cycling through the RR music.
2019-12-26 13:04:29 +01:00
Christoph Oelckers 1a8f11e01d Merge branch 'master' into powerslave
# Conflicts:
#	source/build/src/sdlayer.cpp
#	source/common/menu/menu.cpp
#	source/sw/src/config.cpp
#	source/sw/src/game.cpp
2019-12-26 00:21:04 +01:00
Christoph Oelckers 414201e741 - fixed palette translucency after aborting movie playback. 2019-12-25 17:13:10 +01:00
Christoph Oelckers 120a985b98 - disable palette transparency for color 255 when running an animation.
There's several intro cutscenes using the full palette and for these the color must not be nulled as it should for in-game textures.
2019-12-25 14:13:15 +01:00
Christoph Oelckers b0cefdedce - plugged all memory leaks that were reported with Shadow Warrior when starting the first level. 2019-12-25 11:26:19 +01:00
Christoph Oelckers 5e821de481 - replaced the leaky hash table that was used to handle the animations.
Just replaced with a linear array - for a hash table indexed with a string to be efficient, a much larger amount of data is needed than 20 or 30 entries.
This is also hardly the kind of data where losing a microsecond for performing the search matters.
2019-12-25 09:51:44 +01:00
Christoph Oelckers 055b310d60 - rewrote all remaining places that used wm_msgbox to throw a fatal error instead so that the global error handler can deal with the messages.
This eliminates another piece of hideous code.
This commit also moves the memory error handler to the common code, so that all games can call it if triggered.
2019-12-24 19:59:14 +01:00
Christoph Oelckers 2820dc85a8 - plugged more memory leaks.
I can now start the first Duke Nukem level, exit with Alt-F4 and no leaked memory blocks get reported.
2019-12-24 18:53:29 +01:00
Christoph Oelckers 0d908960ed - started fixing memory leaks: Console and clip shapes done. 2019-12-24 16:09:43 +01:00
Christoph Oelckers 1b9a2f5932 - disabled the message entering code.
This needs to be replaced with the game independent ZDoom version and hooked up properly, but it of low priority because it's a multiplayer only feature.
2019-12-24 13:21:36 +01:00
Christoph Oelckers a870df840e - hooked up the input system and did a major cleanup.
Much of the old system is no longer needed with all buttons being handled as keys.
Mouse axis movement is not working yet.
2019-12-24 12:59:26 +01:00
Christoph Oelckers 9ab8a8c737 - refactored the coordinate printout to a stat and removed printext256 and the associated font. 2019-12-23 20:55:12 +01:00
Christoph Oelckers 3b98635170 - removed all remaining references to SDL. The Windows version is now fully native. 2019-12-23 20:03:03 +01:00
Christoph Oelckers 62ecedf1f8 - got it to the point where it can render to the GL surface from the native backend. 2019-12-23 19:37:40 +01:00
Christoph Oelckers 6e9631f2d8 - fixed all undefined symbols except OpenGLFrameBuffer. 2019-12-23 10:53:58 +01:00
Christoph Oelckers 773be7db26 - moved around a few bits of code to get rid of winbits.cpp/h. 2019-12-22 18:53:58 +01:00
Christoph Oelckers 3cb68b2bf0 - replaced the semi-broken screenshot name generator.
Also took this file out of the 'build' folder, now that all code in here comes from elsewhere.
This also removes a few dead declarations.
2019-12-19 19:47:51 +01:00
Christoph Oelckers ef01c34346 - fixed status bar initialization for all games.
Also deleted a few obsolete config variables for the old menu.
2019-12-19 09:31:39 +01:00
Christoph Oelckers 2cf9a4a626 - removed leftpver music calls as well.
The code should now be free of the old audio backend.
2019-12-18 22:32:09 +01:00
Christoph Oelckers 75c76ccf66 - changed SW's PlaySound interface to take pointers to objects instead of pointers to coordinates.
With pointers to coordinates the sound engine cannot work, so this had to be changed globally.
2019-12-18 11:09:01 +01:00
Christoph Oelckers a7075bc1b0 - SW sound WIP
* removed old sound loading code, which was the last bit to use cacheAllocateBlock which is also gone now.
* cleanup of player sound code. All game side tracking of the sound resources has been removed.

does not compile yet.
2019-12-17 23:25:07 +01:00
Christoph Oelckers 7916b16efc - fixed undefined behavior with iterating over null unique_ptrs.
I have no idea why this works most of the time - it should crash right away.
2019-12-17 20:08:59 +01:00
Christoph Oelckers 706157d623 - converted Blood's sound system to the OpenAL sound engine.
Now, this code was one big mess of strange design, let's hope it sounds better with a real 3D mixer now.
2019-12-17 19:37:05 +01:00
Christoph Oelckers 4d5755ca67 - update of the sound engine for unlimited channels per source.
Blood needs this.
2019-12-17 00:29:38 +01:00
Christoph Oelckers fa7638c446 - removed the old sound system header from Duke and RR frontends and fixed every report this produced:
* reverb/echo is not yet implemented, so there's two stub functions for now.
* RTS needs to be done differently, because the sound engine cannot play raw buffers without any control data.
2019-12-16 19:18:03 +01:00
Christoph Oelckers fbfb1972b8 - fixed a few places where the wrong sound ID was checked. 2019-12-16 17:41:44 +01:00
Christoph Oelckers 3cba51cfd4 - missed one line. 2019-12-16 17:02:35 +01:00