Commit Graph

2779 Commits

Author SHA1 Message Date
sirlemonhead ec2f8715fc Fix branching bug that prevented the main menu from appearing. Also removed early return from DoTitle() so this function now runs. Have temporarily disabled the title screens for now by setting 'doTitle' to false. This has now made a new bug appear that causes the plasma effect to not display correctly - this is due to totalclock being 0 when menu_DoPlasma() is first called, resulting in nRandom being set to 0. 2019-11-21 23:59:59 +01:00
nukeykt 941e47cc61 Start rewriting input code 2019-11-21 23:59:58 +01:00
nukeykt 4dcde5dde7 Fix air meter in status bar 2019-11-21 23:59:57 +01:00
nukeykt 308885d92c Fix and improve background drawing code 2019-11-21 23:59:56 +01:00
nukeykt 308f36d0e8 Make screensize independent on screen resolution 2019-11-21 23:59:55 +01:00
nukeykt eea4fa80f1 Rough approximation of PLUs using gl fog
This includes GLOBAL_NO_GL_TILESHADES fix from Fox

# Conflicts:
#	source/build/include/polymost.h
#	source/build/src/palette.cpp
#	source/build/src/polymer.cpp
#	source/build/src/polymost.cpp
#	source/build/src/polymost1Frag.glsl
2019-11-21 23:59:53 +01:00
nukeykt 200cfa45f5 Fix torch palette remapping 2019-11-21 23:52:33 +01:00
sirlemonhead 1a01ee6130 Fix (most) issues with status bar. Health markers and animations should now work. Air gauge still needs to be fixed. 2019-11-21 23:52:32 +01:00
sirlemonhead 5acd37d3ee Fix crash when pressing enter in Holly mode without typing anything (empty string buffer) 2019-11-21 23:52:31 +01:00
nukeykt c2f30de350 Use correct formula for bullet hitscan 2019-11-21 23:52:29 +01:00
nukeykt d85c5d8dd8 This should be unsigned 2019-11-21 23:52:28 +01:00
nukeykt e948d78fd0 Backport horiz correction code for polymost
# Conflicts:
#	source/build/include/polymost.h
#	source/build/src/polymost.cpp
2019-11-21 23:27:12 +01:00
nukeykt ff6820aa92 Rework green palette and torch effects to not modify palookup array
In other words make these effects polymost friendly
2019-11-21 23:22:41 +01:00
sirlemonhead e0255789da Set Queen health to correct values. Had been lowered for testing purposes. 2019-11-21 23:22:39 +01:00
sirlemonhead c06526f24b Fix typo in RefreshBackground(), for viewable area resizing 2019-11-21 23:22:38 +01:00
nukeykt aa4bf2bb26 Fix palette corruption 2019-11-21 23:22:37 +01:00
sirlemonhead 11845bb247 World map code fixes and tidying. Should now work correctly. Fixes issue #4 2019-11-21 23:21:38 +01:00
nukeykt 57ae890140 More gl related palette fixes 2019-11-21 23:21:37 +01:00
nukeykt aa922dcd25 Implement tint in gl modes
# Conflicts:
#	source/build/include/palette.h
#	source/build/src/palette.cpp
#	source/build/src/sdlayer.cpp
#	source/build/src/sdlayer12.cpp
#	source/build/src/winlayer.cpp
2019-11-21 23:21:35 +01:00
nukeykt 2ef835fcb8 Rework palette related code. This fixes black screen issue with polymost 2019-11-21 23:19:38 +01:00
nukeykt 89552466d3 Fix sprite shading, cleanup analyzesprites 2019-11-21 23:19:37 +01:00
nukeykt 54621d20d2 Add widescreen aspect correction 2019-11-21 23:19:36 +01:00
sirlemonhead 1dda8027ab Fix Sector effect Lotag 24 not working. Fixes issue #5 2019-11-21 23:19:35 +01:00
sirlemonhead 0f383cbe5c Revert "Fix Issue #5"
This reverts commit 800a900958ce66c7f16c2381e0612f4aaa0ff9af.
2019-11-21 23:19:34 +01:00
sirlemonhead 14fc2a76cf Fix Issue #5
Was incorrectly passing floorz instead of ceilingz to BuildElevC()
2019-11-21 23:19:32 +01:00
nukeykt d4bdf01958 Fix bullets 2019-11-21 23:19:31 +01:00
nukeykt 83a4485140 Clean up bullet code a bit 2019-11-21 23:19:30 +01:00
nukeykt a1ce0830db Clipmask fix 2019-11-21 23:18:14 +01:00
nukeykt e9d2a25f7f Add exhumed collision emulation 2019-11-21 23:14:42 +01:00
nukeykt 721ab04da1 Fix sound pitch shifting 2019-11-21 23:10:19 +01:00
nukeykt bda7eb58f2 Uncomment sound calls 2019-11-21 23:10:18 +01:00
nukeykt fe7cbf87b7 Sound code fixes 2019-11-21 23:10:17 +01:00
sirlemonhead 213437deea Fixed incorrect code flow in menu_NewGameMenu() function. 2019-11-21 23:10:16 +01:00
sirlemonhead b97c9d119c Revert "Fixed incorrect code flow in menu_NewGameMenu() function."
This reverts commit e3926772d1f80ea64450d6bda0bd281345a21b2f.
2019-11-21 23:10:14 +01:00
sirlemonhead df4d4cc009 Fixed incorrect code flow in menu_NewGameMenu() function. 2019-11-21 23:10:13 +01:00
sirlemonhead 9d5a6ac807 Fix lava floor and crushing ceilings not damaging the player. Fixes issues #2 and #3 2019-11-21 23:10:12 +01:00
nukeykt bf07930b8c wip 2019-11-21 23:10:11 +01:00
nukeykt 6c9e6a3bfc Sound wip
# Conflicts:
#	source/audiolib/include/fx_man.h
#	source/audiolib/include/multivoc.h
2019-11-21 23:09:04 +01:00
nukeykt 6f0163af45 Add reverse engineered sound code 2019-11-21 23:06:53 +01:00
nukeykt 67f370f17c Fix compile error 2019-11-21 23:05:08 +01:00
nukeykt 48d95eee00 Fix skies 2019-11-21 23:01:38 +01:00
nukeykt 3b40420b84 Hopefully fix overwritesprite issues 2019-11-21 23:01:37 +01:00
nukeykt 664596e369 clean up GetLocalInput 2019-11-21 23:01:35 +01:00
nukeykt a00d0f5986 Fix level restart 2019-11-21 23:01:34 +01:00
nukeykt 0023ae625d Make status bar code polymost friendly 2019-11-21 23:01:33 +01:00
nukeykt 48b9ca7f7f Minor fixes 2019-11-21 23:01:32 +01:00
nukeykt b13e57efa4 Clean up game loop function 2019-11-21 23:01:31 +01:00
nukeykt 6b2ebdd444 Fix input, fix menu crash 2019-11-21 23:01:29 +01:00
nukeykt c458223f9d Fix level loading 2019-11-21 23:01:28 +01:00
nukeykt 708483ca78 wip 2019-11-21 22:59:46 +01:00
nukeykt e0858d501c Game compiles now
# Conflicts:
#	platform/Windows/exhumed.vcxproj
#	platform/Windows/exhumed.vcxproj.filters
2019-11-21 22:59:45 +01:00
nukeykt 50349a6b3d wip
# Conflicts:
#	platform/Windows/exhumed.vcxproj
#	platform/Windows/exhumed.vcxproj.filters
#	source/build/include/build.h
#	source/build/src/palette.cpp
2019-11-21 22:59:33 +01:00
nukeykt 738aca5fe9 wip 2019-11-21 22:54:42 +01:00
nukeykt 936ce5a866 wip
# Conflicts:
#	platform/Windows/exhumed.vcxproj
#	platform/Windows/exhumed.vcxproj.filters
2019-11-21 22:52:46 +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
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
Grind Core 0d82280b87 - Added event initiator for sectors and walls
- Added dynamic dispersion for custom dude
- Added dynamic attack distance for custom dude
- Added dynamic damage resistance scale for custom dude
- There was some refactor actions performed
- Added player RX channels for triggering the players
- Updates for modern types
- There was added player control modern type which can do a lot things. It's
still WIP
- Other updates and fixes mainly related to gModernMap

Note that your save games will be no longer compatible

# Conflicts:
#	source/blood/src/actor.h
#	source/blood/src/aiunicult.h
#	source/blood/src/db.h
#	source/blood/src/player.h
#	source/blood/src/triggers.h
#	source/blood/src/weapon.cpp
2019-11-11 22:59:05 +01:00
Grind Core d79c45584a - No weapon fix
I just forget to set default values
2019-11-11 22:54:03 +01:00
Christoph Oelckers 0f2c4f7760 - added stripped down SNDINFO parser so that the music related settings can be specified. 2019-11-11 22:52:07 +01:00
Christoph Oelckers cee5891409 - so music is finally working but I don't know - adding a second sound backend because the existing one is such a piece of shit is certainly not the best solution.
I'll probably replace the SDL and DirectSound outputs with OpenAL later - let's hope that the mixer is at least flexible enough to handle that...
2019-11-11 21:50:20 +01:00
Christoph Oelckers 16a6cd909a - this should work but doesn't... 2019-11-11 20:37:57 +01:00
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 9782b8180a - removed libxmp. 2019-11-11 19:12:04 +01:00
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 79561ace09 - use the precalculated or script-specified fade colors, if present. 2019-11-10 21:11:17 +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 87acd7fef6 - fixed blend mode for the 2D drawer. 2019-11-10 12:12:15 +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 672498be1d - hooked up the keybind menu for Blood as well and disabled some obsolete mouse settings. 2019-11-09 22:58:34 +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 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 d3e6807f61 - fixed infinite loop in compression code. 2019-11-08 17:50:32 +01:00
hendricks266 dc10a8b03d SW, KenBuild: Replace strupr with Bstrupr
git-svn-id: https://svn.eduke32.com/eduke32@8283 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/kenbuild/src/kdmeng.cpp
#	source/sw/src/bldscript.cpp
#	source/sw/src/jbhlp.cpp
2019-11-08 17:42:09 +01:00
hendricks266 fbb75aae0b SW: Replace UCHAR with unsigned char
git-svn-id: https://svn.eduke32.com/eduke32@8282 1a8010ca-5511-0410-912e-c29ae57300e0
2019-11-08 17:41:40 +01:00
hendricks266 125ec7ad2c SW: Replace MAXLONG with INT32_MAX
git-svn-id: https://svn.eduke32.com/eduke32@8281 1a8010ca-5511-0410-912e-c29ae57300e0
2019-11-08 17:41:39 +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 2d46827ecc font
- Dear ImGUI test.
2019-11-07 20:32:49 +01:00
Christoph Oelckers d2cbd71dbf - adjustments 2019-11-07 20:30:56 +01:00
Christoph Oelckers e4735fdff1 - dead code removal. 2019-11-07 00:49:19 +01:00
Christoph Oelckers 51658de730 - fixed savegame path generation 2019-11-06 23:41: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 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 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 341ca9dd3a - removed the EDuke revision data and replaced it with Demolition's own. 2019-11-05 20:48:34 +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 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 4bf6c306ab - added handling for cleariung mouse wheel events 2019-11-04 01:07:34 +01:00