Commit graph

8880 commits

Author SHA1 Message Date
Christoph Oelckers
556c61b60b - fixed compile errors.
(Include dependencies suck, it's time for modules to become an option.)
2019-11-25 17:19:48 +01:00
Christoph Oelckers
a9ee5940fc - localization wrappers
Currently a no-op, but if it's in it won't be forgotten later.
2019-11-25 00:28:59 +01:00
Christoph Oelckers
1f1e39fac0 - consolidation of texts for episode and skill menus
So far without localization capability - the engine cannot handle it yet.
2019-11-25 00:02:00 +01:00
Christoph Oelckers
d7bc013eee - empty templates for the programmatically generated menus 2019-11-24 23:12:58 +01:00
Grind Core
0dbf3bbb1e - Custom Dude updates and refactor
- Player Control updates
- Minor modern types updates
- There was removed GDX prefix for all modern stuff

# Conflicts:
#	source/blood/src/aiunicult.cpp
#	source/blood/src/aiunicult.h
#	source/blood/src/mapedit.cpp
#	source/blood/src/player.h
#	source/blood/src/sfx.h
2019-11-24 22:38:21 +01:00
Christoph Oelckers
28a05422fc Merge branch 'master' into menu_for_real 2019-11-24 22:31:53 +01:00
Christoph Oelckers
42b3d12630 - Ion Fury's main menu now looks correct. 2019-11-24 22:31:27 +01:00
Christoph Oelckers
6e3bd75b1a - fixed Blood fullscreen tinting.
The lookup table for blend equations was missing one entry at the start. No idea why this became apparent only now.
2019-11-24 21:21:31 +01:00
Christoph Oelckers
a4fcf9ee2b - fixed savegame writing for Ion Fury.
The composite's writers may not be deleted, they are needed for creating the final savegame file.
2019-11-24 21:21:15 +01:00
Christoph Oelckers
57b542671c - Ion Fury main menu fixes. 2019-11-24 20:40:53 +01:00
Christoph Oelckers
b3b5ac440a - fixed Blood fullscreen tinting.
The lookup table for blend equations was missing one entry at the start. No idea why this became apparent only now.
2019-11-24 19:07:23 +01:00
Christoph Oelckers
a96f1b25f7 - fixed recursion issue with menu and CON scripting.
Curse all those busy loops in the engine.
2019-11-24 17:52:54 +01:00
Christoph Oelckers
52cfb7fb92 - completely disconnected the old menu from the rest of the game to allow rebuilding the new one.
Sadly this uncovered a few more places where script events are allowed too broad access to the game state.
2019-11-23 23:05:24 +01:00
Christoph Oelckers
326d0f5f76 - the new menu displays something. 2019-11-23 17:50:36 +01:00
Christoph Oelckers
9529adb3e1 - font tables moved. 2019-11-23 12:41:13 +01:00
Christoph Oelckers
f2fc3fc2cb - WIP commit. 2019-11-23 12:38:38 +01:00
Christoph Oelckers
ceb07280cf - more work on the menu.
Duke Nukem's menu title is getting rendered.
2019-11-22 22:52:11 +01:00
Christoph Oelckers
5f9b57519a - hooked up the menu code so that it can receive events.
Nothing pretty yet but a start is made.
2019-11-21 22:31:46 +01:00
Christoph Oelckers
2740913c60 - added a redirection hack for rotatesprite so that it can be transitionally used in the 2D drawer. 2019-11-21 19:30:27 +01:00
Christoph Oelckers
81ddf22d5d - added ZDoom's menu system as a base to build a new menu on.
# Conflicts:
#	source/CMakeLists.txt
#	source/build/src/engine.cpp
2019-11-21 18:03:09 +01:00
Christoph Oelckers
4be63d55d3 - added a stripped down version of ZDoom's DObject.
This only retains the objecct factory feature, but removes the garbage collector which I have no use for.

# Conflicts:
#	source/CMakeLists.txt
2019-11-21 18:02:22 +01:00
Christoph Oelckers
728635c1c0 - correct application of in_mouseflip flag. 2019-11-20 23:29:13 +01:00
Christoph Oelckers
200f54ad47 - mouse turning works. 2019-11-20 22:50:37 +01:00
Christoph Oelckers
2da4294ba5 - hooked up the event processing for Shadow Warrior, so keyboard input is working now. Mouse movement is not being processed yet.
Also removed some leftover code from the old input system.
2019-11-20 22:01:44 +01:00
Christoph Oelckers
caa450dcb9 - debugprintf 2019-11-20 20:07:33 +01:00
Christoph Oelckers
6d40c9202c - deleted a batch of code from engine.cpp which is only needed for the assembly drawers. 2019-11-20 19:33:36 +01:00
Christoph Oelckers
234283ca8a - SW: added validation checks to WallSetup.
This code wrote to array index -1.
With this change the level finally gets rendered, although it still doesn't work.
2019-11-19 23:04:22 +01:00
Christoph Oelckers
fd31d4fa6a - replaced 32 bit SDL library - the preincluded one appeared to be broken.
- fixed main group autochoice.
- fixed uninitialized player links for Shadow Warrior.
2019-11-19 22:35:52 +01:00
Christoph Oelckers
f24de03501 - fixed auto-picking of game GRPS from the command line. 2019-11-19 21:35:35 +01:00
Christoph Oelckers
557bd201fb - removed unused code. (MDA screen hack - huh???)
- Shadow Warrior updates from SWP.
2019-11-19 20:43:11 +01:00
Christoph Oelckers
dc60c7f72e - fixed use of brightmaps.
Due to the blending they are essentially inactive on translucent content and Duke Nukem heavily abuses this.
2019-11-15 20:51:02 +01:00
Christoph Oelckers
3e0075a34d - disabled the broken savegame pic code for the GL renderer.
I have no idea how this is supposed to work, but all it does is create corrupt images, so for now it reverts to the software renderer which generates working 320x200 images.
2019-11-15 19:07:24 +01:00
Christoph Oelckers
ab9c532d89 - save custom data as JSON.
This makes it a lot easier to debug and test than binary blobs.
2019-11-15 18:57:26 +01:00
Christoph Oelckers
619a7541f1 - "fixed" keybinding not responding for all keys.
This looks like an ImGui bug - it doesn't like two identically labelled buttons on the same page, it seems. I now work around this by using strings with different numbers of spaces. Stupid but effective.
2019-11-14 22:48:23 +01:00
Christoph Oelckers
def63209be - fixed savegame loading in Blood. 2019-11-14 21:22:42 +01:00
Christoph Oelckers
ba117554b0 - fixed savegame issues.
Since the code is extremely volatile I changed the setup so that the save is a zip file with the regular snapshot plus all added data as separate entries.
This allows compressing everything properly without savegame breaking interference.

Blood does not yet load its savegames, need to check.
2019-11-14 21:07:43 +01:00
Magnus Norddahl
0ae9d3b93e Fix crash when fluidsynth is not compiled in 2019-11-13 22:56:01 +01:00
Magnus Norddahl
04504a4901 Add build folder to .gitignore 2019-11-13 22:55:15 +01:00
Rachael Alexanderson
5002dd866c - fix compile on vs2017, change pow2char to static
- include nullptr check for mapname in music.cpp
2019-11-13 16:40:08 -05:00
Christoph Oelckers
7f3d00446d - removed the unused File* functions which were the last remaining places to use stdio FILE for reading.
For writing FILE is mostly fine, but reading should exclusively use FileReader to ensure interoperability with the virtual file system.
2019-11-13 18:34:05 +01:00
Christoph Oelckers
c6a38faf39 - add savegame support for the statistics and secret hint feature. 2019-11-13 18:23:45 +01:00
Christoph Oelckers
8055d10362 - hooked up the secret hint system 2019-11-13 00:44:33 +01:00
Christoph Oelckers
35bc7f56fc - added secret hint code.
Not hooked up yet.
2019-11-12 23:23:22 +01:00
Christoph Oelckers
dee1cba849 - hooked up Blood with the statistics code. 2019-11-12 22:59:51 +01:00
Christoph Oelckers
6ccef7201e - hooked up the statistics code with EDuke and RedNukem frontends.
Not sure about the end of game conditions, I wasn't able to test that part yet.
2019-11-12 22:45:11 +01:00
Christoph Oelckers
74ed8fd1d9 - added GZDoom's statistics code
Not hooked up yet.
2019-11-12 22:00:33 +01:00
Christoph Oelckers
0bdec4ea2e - fixed: Events were processed as key events without checking their type. 2019-11-12 20:17:17 +01:00
Christoph Oelckers
22ccea8677 - reworked music interface a bit.
Conmsidering how hard it is in Duke Nukem based games to modify the level music, there is now a setting for this in mussetting.txt to make the job easier and even allow setting level music in Redneck Rampage without replacing game data.
2019-11-12 00:43:07 +01:00
Christoph Oelckers
022c074ece - fixed brightmaps again - hopefully for real this time.
The lighting model being used here is not really good for implementing render effect.
2019-11-11 23:54:09 +01:00
Christoph Oelckers
3be9deb070 - removed the different shadeDiv for Ion Fury.
This isn't necessary and was apparently caused by a bug that got fixed in the mean time.
2019-11-11 23:24:31 +01:00