Commit Graph

211 Commits

Author SHA1 Message Date
Christoph Oelckers ec6ce8b1ec - hooked up ZMusic. 2019-11-11 19:10:46 +01:00
Christoph Oelckers 29d16868c9 - fixed compile errors. 2019-11-11 17:51:30 +01:00
Christoph Oelckers f6a9bb770d - fixed most issues with newly added music files 2019-11-11 01:01:18 +01:00
Christoph Oelckers ae06d19008 - added remaining music files to project 2019-11-11 00:31:36 +01:00
Christoph Oelckers 5e95ef5322 - added the rest of GZDoom's music interface.
This still needs to be integrated.
2019-11-11 00:23:52 +01:00
Christoph Oelckers 9f9748ede6 - initial ZMusic hookup. 2019-11-10 23:58:51 +01:00
Christoph Oelckers 5fc81d1bd4 - made brightmaps operational.
The logic is not yet optimal but at least it works.
2019-11-10 19:42:26 +01:00
Christoph Oelckers 21ac5e87b5 - added blend table translucency estimation instead of using a lame default.
- draw fullscreen blends below the console.
- moved all mouse event processing out of the SDL backend to D_PostEvent.
- removed all remaining code for dealing with mouse buttons directly.
2019-11-10 15:15:14 +01:00
Christoph Oelckers 55018aae7e - fixed mouse scaling 2019-11-10 11:59:22 +01:00
Christoph Oelckers a1a9770b44 - reworked the FPS display to use ZDoom's fstat class to get rid of the microscopic font it used.
- changed time display for rendering to exclude VSync and playsim times to get more meaningful information.
2019-11-10 11:42:25 +01:00
Christoph Oelckers cae710bd59 - fixed alpha threshold.
Not only is this a deprecated feature - it also does not work right when complex lighting is at play, it must be done in the shader to get proper results.
2019-11-10 10:01:31 +01:00
Christoph Oelckers 7e70c217fe - fixed console event processing and added a texture memory calculator. 2019-11-09 23:58:26 +01:00
Christoph Oelckers 39df3d0560 - added 'logfile' CCMD. 2019-11-09 22:27:33 +01:00
Christoph Oelckers 2997bb6292 - the keybinding menu is finally working.
Obviously the existing menu implementation from Duke Nukem needs to be tossed out at some point, but at least the functionality is there again.
2019-11-09 22:22:51 +01:00
Christoph Oelckers 299f596afc - Changed EDuke menu to receive all settings storage locations as CVARs.
With this out of the way the only part that needs a real replacement immediately is the keybinds menu.
2019-11-09 19:15:03 +01:00
Christoph Oelckers d3e6807f61 - fixed infinite loop in compression code. 2019-11-08 17:50:32 +01:00
Christoph Oelckers f52a58d9ac - fixed compilation. 2019-11-08 17:41:19 +01:00
Christoph Oelckers 9aa275f996 - got rid of some editor-only code and the entire buildvfs header
Nearly all file write access now uses the FileWriter class, which is UTF-8-safe on all platforms - unlike stdio.
2019-11-08 02:02:54 +01:00
Christoph Oelckers 4fc56203c2 - implemented savegame compression
Unfortunately necessary because Ion Fury savegames store 120 GB(!!) of data, mostly zeros.

Unlike the old method, this compresses the entire savegame as one block using a ZLib stream so it should be a lot more efficient now.
2019-11-08 01:36:32 +01:00
Christoph Oelckers a40be954f1 - same change for RedNukem front end. 2019-11-08 01:04:27 +01:00
Christoph Oelckers 47227fc90f - replaced FILE * with FileReader in savegame code.
FILE* is too inflexible, with FileReader I can plug in a transparent compressor.
2019-11-08 00:26:14 +01:00
Christoph Oelckers d2cbd71dbf - adjustments 2019-11-07 20:30:56 +01:00
Christoph Oelckers b6a3a60251 - console output is functional. 2019-11-06 23:40:10 +01:00
Christoph Oelckers 81e9c867da - fixed key binding 2019-11-06 20:34:00 +01:00
Christoph Oelckers 5d31119a49 - fixed the Shadow Warrior menu, but it doesn't do much good. The game appears to be thoroughly broken. 2019-11-06 19:22:14 +01:00
Christoph Oelckers 88bf056176 - added a class for cleaner savegame writing 2019-11-06 12:29:08 +01:00
Christoph Oelckers e87642e197 - cleaned out the remains of the savegame compression hacks
This broke the savegame reader which still assumed it was working on compressed data. Everything will now take the uncompressed path.

In-stream optional compression is not a good idea anyway, this can and should be done better.

Also: Why  is the savegame format architecture dependent???
2019-11-06 01:01:16 +01:00
Christoph Oelckers f252eaffbc - fixed font translation setup. 2019-11-06 00:00:33 +01:00
Christoph Oelckers de829128ea - hooked up the 2D drawer
compiles but not tested yet.
2019-11-05 23:35:38 +01:00
Christoph Oelckers 3a0b8364f7 - removed the OSD entirely. 2019-11-05 20:31:30 +01:00
Christoph Oelckers 8321bc6208 - removed most of the old OSD's hooks. 2019-11-05 20:25:57 +01:00
Christoph Oelckers c46b22e52e - more cleanup of obsolete OSD code. 2019-11-05 20:16:53 +01:00
Christoph Oelckers a4483f131d - Printf related cleanup. 2019-11-05 20:07:16 +01:00
Christoph Oelckers d943fe036d - added the ZDoom console and made all needed changes to get it compiled. 2019-11-05 19:57:48 +01:00
Christoph Oelckers ffa16b2a53 - removed all command related code from the OSD.
None of this was used anymore.
2019-11-05 00:48:27 +01:00
Christoph Oelckers e37cb782ca - fixed dependency problems with OSD definitions being used in another header. 2019-11-05 00:39:00 +01:00
Christoph Oelckers 5b67d653ed - removed the bind command set from the osdcmd files to make sure that they don't get called anympre. All input should be routed through the new console code now.
# Conflicts:
#	source/blood/src/osdcmd.cpp
#	source/build/src/osd.cpp
#	source/common/console/c_cmdline.h
#	source/common/console/c_dispatch.cpp
#	source/common/console/c_dispatch.h
#	source/duke3d/src/osdcmds.cpp
#	source/rr/src/osdcmds.cpp
2019-11-05 00:22:42 +01:00
Christoph Oelckers 44f81ebd56 - let OSD_Dispatch forward everything to the ZDoom-based command dispatcher.
Essentially making the OSD a dumb terminal. :P
2019-11-05 00:12:20 +01:00
Christoph Oelckers 189ce21acf - reactivated the binding reladed CCMDs. 2019-11-04 23:52:08 +01:00
Christoph Oelckers 8d089a11fa - for initializing tab commands a separate static lookup function must be used to get the button names.
Because order of initialization for static objects is undefined.
2019-11-04 23:11:10 +01:00
Christoph Oelckers 570696fc09 - added ZDoom's CCMD code.
Not tested yet.
2019-11-04 23:01:50 +01:00
Christoph Oelckers bbf0a73471 - input works again. 2019-11-04 20:29:07 +01:00
Christoph Oelckers 25341c7221 - hook up the buttons.
This is still just glue code, the Build implementation suffers from poor support for multiple keys bound to a single button so they are due for replacement as soon as input is working again.
2019-11-04 18:17:14 +01:00
Christoph Oelckers 1ee4efebb0 - fixed compilation. 2019-11-04 17:58:18 +01:00
Christoph Oelckers 29b7e1cf79 - moved all mouse button handling to the input state
Yet again an unbelievable piece of code working around how input works on modern systems to keep the old 90's code alive.
2019-11-04 01:01:54 +01:00
Christoph Oelckers b4f91de7d3 - major refactoring on the input code.
* moved the ASCII conversion hackery in SDLayer to a subfunction because this made things just messy.
* integrated the keyboard callback's functionality directly into inputState for consolidation purposes. This was yet another independent layer in the keyboard management.
* hook up D_PostEvent as the central place to dispatch keyboard input. This is now the only function that is getting called from the backend and a major prerequiside for swapping out the backend for GZDoom's.

Todo: Route mouse input through that, too.
2019-11-04 00:55:49 +01:00
Christoph Oelckers b747df60ee - moved all keyboard related code into the InputState class, so that looking for this stuff is easier.
Sadly there's 1ß00 lines of code using this...
2019-11-04 00:53:55 +01:00
Christoph Oelckers 1b958a7f9f - removed more backing data for the old keybinding code.
Unfortunately this means that the keybinding menus in all games except Blood are shot to shit right now because of how they passed the data on to its destination.
These menus are not fixable, this will have to wait until the replacement is up.
2019-11-03 20:58:10 +01:00
Christoph Oelckers eb049abc3a - it compiles again (safety commit) 2019-11-03 20:24:50 +01:00
Christoph Oelckers 73e64ff0b2 - added ZDoom's keybinding class and some needed support code.
Not hooked up yet with the game.
2019-11-03 18:19:29 +01:00