Christoph Oelckers
51a5fecc02
- something can be heard, but it's crap.
...
This sound code is really strange.
2019-11-11 19:53:06 +01:00
Christoph Oelckers
29d16868c9
- fixed compile errors.
2019-11-11 17:51:30 +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
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
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
94baca8b1e
- same changes in RedNukem frontend.
2019-11-09 19:39:35 +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
0f74a5c3a4
- make the ImGui popup close on request.
2019-11-09 14:05:52 +01:00
Christoph Oelckers
fd4680c347
Merge commit '3061e3860cd212893e7d08a09223d4e9ad78b204' into Dear_ImGui
2019-11-09 13:42:59 +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
2d46827ecc
font
...
- Dear ImGUI test.
2019-11-07 20:32:49 +01:00
Christoph Oelckers
e4735fdff1
- dead code removal.
2019-11-07 00:49:19 +01:00
Christoph Oelckers
b6a3a60251
- console output is functional.
2019-11-06 23:40:10 +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
6ee807f225
- two things I forgot to save before committing.
2019-11-06 17:57:10 +01:00
Christoph Oelckers
cf6b4c64b1
- little bit of code cleanup
...
dead code removal and splitting app_main in two to separate its init part from the game loop
2019-11-06 14:12:50 +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
341ca9dd3a
- removed the EDuke revision data and replaced it with Demolition's own.
2019-11-05 20:48:34 +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
570696fc09
- added ZDoom's CCMD code.
...
Not tested yet.
2019-11-04 23:01:50 +01:00
Christoph Oelckers
1ee4efebb0
- fixed compilation.
2019-11-04 17:58:18 +01:00
Christoph Oelckers
e7f4433df6
- consolidation of mouse code and obsolete code removal
2019-11-04 02:07:59 +01:00
Christoph Oelckers
0b6db7eede
- cleanup of baselayer.cpp
2019-11-04 01:18:38 +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
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
c7af86bd00
- use proper key names.
2019-11-03 22:20:19 +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
b179767d4a
- do not use the command line but the module filename to create the progdir path.
...
argv[0] is not guaranteed to contain anything usable and in cmd.exe it doesn't.
2019-11-03 13:39:42 +01:00
Christoph Oelckers
250fa0b847
- consolidation of exit and quit CCMDs.
2019-11-03 13:31:03 +01:00
Christoph Oelckers
59fce59a26
- fixed god mode being activated automatically, thanks to a variable that got initialized in the wrong place.
2019-11-03 12:46:53 +01:00
Christoph Oelckers
3c7151810f
- made the game interfaces classes instead of function pointer lists because that is far better at error catching.
...
- fixed: Blood's monster flag is a 'have_monsters', not 'nomonsters' flag. As a result none were spawned.
2019-11-03 12:32:58 +01:00
Christoph Oelckers
e24b1e8903
- replaced all uses of xxhash with SuperFastHash.
...
That's one more third party dependency down.
Not only are two hashing algorithms redundant, there was also a large size discrepancy: SuperFastHash is 3 kb of source code while xxhash is 120kb and generally extremely awful code.
It was easy to make a choice here. None of the use cases require this kind of performance tweaking, the longest hashed block of data is a 768 byte palette.
2019-11-02 22:52:13 +01:00
Christoph Oelckers
d25691881b
- removed unused lz4 library.
...
It looks like this was already unused and a leftover.
2019-11-02 22:27:05 +01:00
Christoph Oelckers
7853a9db6c
- do not use EDuke32's savegame identifiers.
...
The engine may be incopatible already and the format will certainly change in the future.
2019-11-02 22:22:57 +01:00
Christoph Oelckers
3530c52264
- no need to have 2 CRC32 implementations.
...
Just let Bcrc32 point to zlib instead of having its own implementation.
2019-11-02 22:10:53 +01:00
Christoph Oelckers
cfbcf33c8c
- fixed CVAR saving.
...
- do not use snd_enabled for temporarily hacking the sound state. userConfig.noSound is better suited for such antics.
2019-11-02 21:21:48 +01:00
Christoph Oelckers
dc9d75685e
- fixed keybind setup.
2019-11-02 20:13:00 +01:00
Christoph Oelckers
e4ecc5d8df
- some reshuffling on OSD code.
...
* moved the binding commands to osd.cpp. They were in the global namespace already and this way everything to be tossed out is in the same place when the time comes.
* removed support for the OSDs native CVARs. The only ones left were some internal ones I won't need until this code can be replaced.
* same for the custpmization code the games added. Duke Nukem was the only one anyway to have a decent font for it.
2019-11-02 14:25:35 +01:00
Christoph Oelckers
906e56a2b1
- fixed some startup errors.
2019-11-02 13:27:40 +01:00
Christoph Oelckers
8fb54b51c3
- rewrote the screenshot code to use m_png as its backend.
...
Mainly to finally get rid of kplib. There's really no use to keep such code around if alternatives are already present.
2019-11-02 12:59:59 +01:00
Christoph Oelckers
c54ae1be83
- removed the remaining parts of cache1d. The only thing left is the dummy cacheAllocateBlock function that needs to stick around until a working cache is present.
...
- disabled the user maps menu because it is hopelessly dependent on functionality that cannot be fixed. Better wait until the menu refactor to do it right - it'd be a waste of time fixing the current menus.
2019-11-02 01:30:21 +01:00