Commit graph

3308 commits

Author SHA1 Message Date
sirlemonhead
a7e09febe4 Add another invalid target sprite index check for Spider (and made the lion check more consistent to other code) 2019-12-01 00:02:51 +01:00
sirlemonhead
66e3a53991 Fix another potential index of sprite array by -1 2019-12-01 00:02:49 +01:00
sirlemonhead
ceccc0c2ee Fix an issue where the game attempts to index sprite array with -1. This occurs when runlist_DamageEnemy() is called when no source sprite for the damage is specified (an enemy burning in lava??). The game passes -1 for the 2nd parameter to this function call, and then attempts to index sprite array. Added check. Hopefully fixes crashing on the final level? 2019-12-01 00:02:46 +01:00
Christoph Oelckers
0fc439a969 - fixed Redneck Rampage ingame menu and added selection validation to the load menu. 2019-11-30 23:59:22 +01:00
Christoph Oelckers
06d5705ae6 - formatting fix and null check for aborted transition. 2019-11-30 23:45:43 +01:00
Christoph Oelckers
c36402eb5c - fixed savegame validation and recursive ticker calls. 2019-11-30 23:33:04 +01:00
Christoph Oelckers
41b116e2f2 - save menu in Duke Nukem is working. 2019-11-30 22:46:00 +01:00
Christoph Oelckers
2a9e4fca46 WIP safety commit 2019-11-30 19:23:54 +01:00
Christoph Oelckers
9cb6c65223 - fixed errors in SW merge. 2019-11-30 10:07:25 +01:00
Christoph Oelckers
d5c3991c2e - fixed compile errors in menu code. 2019-11-30 10:03:20 +01:00
Christoph Oelckers
3c4c8af20c Merge branch 'master' into menu_for_real 2019-11-30 09:33:35 +01:00
hendricks266
68668058c9 SW: Fix cheats only granting one Uzi instead of two
git-svn-id: https://svn.eduke32.com/eduke32@8343 1a8010ca-5511-0410-912e-c29ae57300e0
2019-11-30 09:28:11 +01:00
hendricks266
769b359928 SW: Add Alt Weapon Mode gamefunc and bind it to MOUSE3 by default
git-svn-id: https://svn.eduke32.com/eduke32@8342 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/sw/src/_functio.h
#	source/sw/src/function.h
2019-11-30 09:28:10 +01:00
hendricks266
361a964067 SW: Fix NUMGAMEFUNCTIONS and mouse button select menu
git-svn-id: https://svn.eduke32.com/eduke32@8340 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/sw/src/function.h
#	source/sw/src/menus.cpp
2019-11-30 09:26:50 +01:00
hendricks266
15b8bc959f SW: Add Equip Pickups weapon auto-switching toggle
git-svn-id: https://svn.eduke32.com/eduke32@8339 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/sw/src/swconfig.cpp
2019-11-30 09:26:02 +01:00
hendricks266
8d2159ab70 SW: Implement Darts option, including bloody frames
git-svn-id: https://svn.eduke32.com/eduke32@8338 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/sw/src/menus.cpp
#	source/sw/src/panel.cpp
#	source/sw/src/sprite.cpp
#	source/sw/src/swconfig.cpp
2019-11-30 09:24:32 +01:00
hendricks266
69c01587c7 SW: Make quick save and load actually quick
git-svn-id: https://svn.eduke32.com/eduke32@8337 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/sw/src/game.cpp
#	source/sw/src/game.h
#	source/sw/src/menus.cpp
2019-11-30 09:23:47 +01:00
hendricks266
8b78440f76 SW: Upgrade SoundAngle() from the original 5-bit precision to EDuke32's 7-bit
git-svn-id: https://svn.eduke32.com/eduke32@8336 1a8010ca-5511-0410-912e-c29ae57300e0
2019-11-30 09:21:40 +01:00
hendricks266
1cac2c76c6 SW: Add debug_break() to _Assert()
git-svn-id: https://svn.eduke32.com/eduke32@8335 1a8010ca-5511-0410-912e-c29ae57300e0
2019-11-30 09:21:39 +01:00
Christoph Oelckers
d474478800 Merge branch 'master' into powerslave
# Conflicts:
#	wadsrc/static/demolition/demolition.grpinfo
2019-11-30 01:12:20 +01:00
sirlemonhead
7b60bfdb95 Fix infinite loop in DimLights(). Should fix game locking up when finishing the final level. 2019-11-30 01:09:58 +01:00
Christoph Oelckers
07ac12110f - removed some piece of obsolete code merged from upstream. 2019-11-30 01:07:46 +01:00
Christoph Oelckers
b3c335cd1d Merge branch 'menu_for_real' of https://github.com/coelckers/demolition into menu_for_real
# Conflicts:
#	source/common/menu/loadsavemenu.cpp
#	source/duke3d/src/d_menu.cpp
#	source/rr/src/d_menu.cpp
2019-11-30 01:06:37 +01:00
Christoph Oelckers
79ce4563eb - fixed game resuming when closing the load and save menus. 2019-11-30 01:03:14 +01:00
Christoph Oelckers
e266044391 - update of load/save menu to latest GZDoom code.
Input in save menu working.
2019-11-30 00:49:50 +01:00
Christoph Oelckers
6d110da209 - removed some piece of obsolete code merged from upstream. 2019-11-29 20:14:45 +01:00
Christoph Oelckers
a7bbd7324e Merge branch 'master' into menu_for_real 2019-11-29 19:55:16 +01:00
hendricks266
f19c9eb840 SW: Clean up startup messages
git-svn-id: https://svn.eduke32.com/eduke32@8328 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/sw/src/game.cpp
#	source/sw/src/grpscan.cpp
2019-11-29 17:29:11 +01:00
Christoph Oelckers
ebcc25f36d - prototyping the Blood fullscreen menu entries
These are a bit more sophisticated than what the other games have. ;)
2019-11-29 02:12:38 +01:00
Christoph Oelckers
90c5ea6acc - updated option menu code to latest scripted version
This mainly means being able to use the generic font.
This also adds more generalization to the menu sound handling, plus an option to turn menu sound off. This is motivated by the pig sounds which RR uses in the menu.
2019-11-29 01:28:13 +01:00
Christoph Oelckers
5590abd471 Merge branch 'master' into menu_for_real 2019-11-29 00:49:33 +01:00
hendricks266
0dbf0a36a1 SW: Rename the poorly named "Cool Stuff" menu entry to "Credits" and clean it up
git-svn-id: https://svn.eduke32.com/eduke32@8326 1a8010ca-5511-0410-912e-c29ae57300e0
2019-11-29 00:48:17 +01:00
hendricks266
d4eb10d10d SW: Fix saves
Dynamically-allocated structs strike again.

git-svn-id: https://svn.eduke32.com/eduke32@8325 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/sw/src/saveable.h
2019-11-29 00:48:16 +01:00
sirlemonhead
cdf44030d7 Silence nPlayerSprite check in DoKenTest() as this can fail in valid situations, such as in RestartPlayer() while the player is still being set up. 2019-11-29 00:39:24 +01:00
sirlemonhead
de5aa31674 Fix issue causing voodoo doll of player appearing when selecting No to starting Training when already in a level. Fixes issue #20 2019-11-29 00:39:23 +01:00
sirlemonhead
1928f3fbc1 Change cheat screen messages to not display player number - are cheats usable outside of single player?!. Also removed a redundant message in FillWeapons() which got overwritten immediately anyway 2019-11-29 00:39:22 +01:00
sirlemonhead
e115058cd3 Rewrote music playback to be more sensible. Hopefully this will get rid of the crashes that the handful of people reported. Needs to be fully tested.
Also, not sure what to do re: map screen. OG seems to keep playing the currently playing track, which seems slightly janky? should we just play track 19?

# Conflicts:
#	source/exhumed/src/cd.cpp
#	source/exhumed/src/cd.h
2019-11-29 00:39:20 +01:00
Christoph Oelckers
0cedad6390 - started work on load/save menus. 2019-11-29 00:37:19 +01:00
Christoph Oelckers
943cb64eda - image scroller menus working. 2019-11-28 23:27:10 +01:00
Christoph Oelckers
48f62ef1ed - cleaned out most of menus.cpp for RR. 2019-11-28 20:59:34 +01:00
Christoph Oelckers
299314b8a5 - Redneck Rampage menu looks correct. 2019-11-28 20:48:58 +01:00
Christoph Oelckers
1f1b927b6b - fixed a few issues. 2019-11-28 20:11:27 +01:00
Christoph Oelckers
59ebb10512 - fixed compilation and unhooked the Redneck Rampage menu so that it can be replaced. 2019-11-28 19:35:35 +01:00
Christoph Oelckers
115675417a Merge branch 'master' into powerslave 2019-11-28 17:07:11 +01:00
nukeykt
acc8f01269 Shifting is not needed here 2019-11-28 17:06:55 +01:00
nukeykt
6f4a6daaa2 Scale status text 2019-11-28 17:06:54 +01:00
sirlemonhead
ca80125aba Set bShowTowers back to it's default value
# Conflicts:
#	source/exhumed/src/map.cpp
2019-11-28 17:06:53 +01:00
sirlemonhead
c7e3aa4b46 Changed the order of some variable assignment in ThrowGrenade() to match disassembly. Don't think it really makes a difference? 2019-11-28 17:06:20 +01:00
sirlemonhead
2dddf19ce7 Add shade flash highlight for currently selected Load Game name 2019-11-28 17:06:18 +01:00
sirlemonhead
f56dd9a3e1 Fix incorrect bitwise OR operation in CheckSectorSprites() 2019-11-28 17:06:17 +01:00
sirlemonhead
8b9f15d5ea Fix DoAfterCinemaScene() not calling GoToTheCinema() 2019-11-28 17:06:16 +01:00
Christoph Oelckers
cd4ff92266 - handle Blood. 2019-11-28 03:32:02 +01:00
Christoph Oelckers
324056ad88 - more cleanup on music code
* removed some redundant functionality (e.g. Shift-F5 to change - use the console for that!)
* removed a few more leftover parts of the old music system
* savegames should not do more than resuming the music at the point of saving. (DN3D and RR only so far. Blood to be done.)
* handle music enabling/disabling in the backend, which simply knows better what to do. This was only working in the menu, so changing the CVAR had no effect.
2019-11-28 03:18:58 +01:00
Christoph Oelckers
a59917b35d - more cleanup of sound code
removed the remaining parts of the old music system in EDuke32 and RedNukem frontends.
2019-11-28 03:02:33 +01:00
Christoph Oelckers
d569cd76c1 - cleanup of sound code - removal of the cache lock
This has been inoperable for a long time and by now the cache is entirely gone.
2019-11-28 02:36:34 +01:00
Christoph Oelckers
6ad9c1c0e3 - set up d_menu.cpp for Redneck Rampage 2019-11-28 02:14:30 +01:00
Christoph Oelckers
f62611e90d - cleaned out a large chunk of menus.cpp
… leaving only the parts still needed for reference.
2019-11-28 01:49:50 +01:00
Christoph Oelckers
b12377962a - moved the game interface function to d_menu 2019-11-28 01:30:24 +01:00
Christoph Oelckers
4e5f59a373 - Menu WIP
* implemented single image screens
* implemented skeleton of the image scroller
* added RR-specific definitions to the menus (need to copy and adjust d_menu.cpp)
* added definitions for credits screens.
2019-11-28 01:02:45 +01:00
Christoph Oelckers
ef3ad690da - initial work on credits screens. 2019-11-28 00:02:36 +01:00
Christoph Oelckers
5f5fe271f7 - fixed handling of the custom game mode menus in Ion Fury.
Sadly the scripting which necessitates this all is such a hack that it's probably necessary to fix again if the next project comes along that uses the same kind of "creativity" instead of providing a robust implementation.
2019-11-27 23:35:12 +01:00
Christoph Oelckers
2c36e986b9 - fixed most issues with Ion Fury's game startup menus. 2019-11-27 22:41:15 +01:00
Christoph Oelckers
8492e3c67a - migrated SW's savegame code to the same containers as the other front ends.
Fortunately everything here was wrapped in macros so that it was relatively simple to change.
2019-11-27 19:31:58 +01:00
Christoph Oelckers
3bb46a4d8d Merge branch 'master' into menu_for_real 2019-11-27 18:04:44 +01:00
hendricks266
0a70c5e55f SW: Sanitize all uses of wall.nextwall to prevent OOBs
git-svn-id: https://svn.eduke32.com/eduke32@8322 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/sw/src/jnstub.cpp
#	source/sw/src/sector.cpp
2019-11-27 18:04:01 +01:00
hendricks266
ece20928a0 Fix buffer overflow in getclosestcol_lim
Patch from Nuke.YKT.

git-svn-id: https://svn.eduke32.com/eduke32@8315 1a8010ca-5511-0410-912e-c29ae57300e0
2019-11-27 18:01:58 +01:00
hendricks266
7698f73b55 Fix tautological comparison in savegame.cpp
git-svn-id: https://svn.eduke32.com/eduke32@8314 1a8010ca-5511-0410-912e-c29ae57300e0
2019-11-27 18:01:57 +01:00
Christoph Oelckers
a4a4b230fd - deleted a large batch of code from the menu that is no longer needed. 2019-11-27 17:58:14 +01:00
Christoph Oelckers
723b210c95 - major work on savegame code
Not tested yet!

* Added a JSON-based header to the savegames so that the unified menu can read from a common data source.
* moved loading and saving of frontend independent data to the wrapper so that support is automatic.
2019-11-27 00:41:26 +01:00
Christoph Oelckers
3b7aa74c27 - connecting the dots in the menu. Duke Nukem can now start a level. 2019-11-26 23:20:54 +01:00
Christoph Oelckers
46d1f8517a - animated transitions are working. 2019-11-26 22:05:52 +01:00
Christoph Oelckers
a5a0c38474 - removed DObject.
Just for the menu this can be done much simpler - the entire setup here doesn't work well with the game frontends being compiled as separate modules anyway.
2019-11-26 21:25:45 +01:00
Christoph Oelckers
1adceb82ef - consolidation of defbinds definitions.
Putting all the generic definitions in files used by all games greatly reduces the clutter and chance for errors.
2019-11-26 21:06:43 +01:00
Christoph Oelckers
0f4d80b5d3 Merge branch 'master' into menu_for_real 2019-11-26 19:19:21 +01:00
Christoph Oelckers
7cbe9615ea - fixed merge error. 2019-11-26 19:15:44 +01:00
nukeykt
1b0a036995 Add fov cvar
# Conflicts:
#	source/exhumed/src/config.cpp
#	source/exhumed/src/osdcmds.cpp
2019-11-26 19:13:48 +01:00
sirlemonhead
82767751a7 Fix credits screen
# Conflicts:
#	source/exhumed/src/exhumed.cpp
2019-11-26 19:12:52 +01:00
sirlemonhead
f34507813f Add some error handling for music playback 2019-11-26 19:12:22 +01:00
Christoph Oelckers
abdd807e7f - fixed merge errors. 2019-11-26 19:10:24 +01:00
hendricks266
348ccdfd5b Templatize the branchless negation method used for GV_FLAG_NEGATIVE
git-svn-id: https://svn.eduke32.com/eduke32@8312 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/include/compat.h
2019-11-26 18:09:00 +01:00
hendricks266
510e737360 SW: Fix "MV_GetVoice(): bad handle" log spam
git-svn-id: https://svn.eduke32.com/eduke32@8311 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/sw/src/draw.cpp
#	source/sw/src/menus.cpp
2019-11-26 18:08:43 +01:00
hendricks266
f411b72783 SW: Fix widescreen flickering in end of level screen
git-svn-id: https://svn.eduke32.com/eduke32@8310 1a8010ca-5511-0410-912e-c29ae57300e0
2019-11-26 18:06:41 +01:00
hendricks266
1a0b363ded SW: Allow the Run key to Walk when AutoRun is enabled
git-svn-id: https://svn.eduke32.com/eduke32@8309 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/sw/src/game.cpp
#	source/sw/src/player.cpp
2019-11-26 18:06:40 +01:00
hendricks266
7fb425aebb SW: Fix non-debug builds on Windows
git-svn-id: https://svn.eduke32.com/eduke32@8308 1a8010ca-5511-0410-912e-c29ae57300e0
2019-11-26 18:04:51 +01:00
hendricks266
83cfcb65a8 SW: Update the port credits
Still far from perfect.

git-svn-id: https://svn.eduke32.com/eduke32@8307 1a8010ca-5511-0410-912e-c29ae57300e0
2019-11-26 18:04:50 +01:00
hendricks266
9dde07ced9 SW: Copy the sln==1 GetUpperLowerSector case from the editor to the game
This avoids upper and lower remaining unmodified.

Sector 469 in Seppuku Station causes it!

git-svn-id: https://svn.eduke32.com/eduke32@8306 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/sw/src/brooms.cpp
2019-11-26 18:04:48 +01:00
hendricks266
a51e91d4e9 SW: Fix keyboard input
git-svn-id: https://svn.eduke32.com/eduke32@8303 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/duke3d/src/config.cpp
#	source/duke3d/src/menus.cpp
#	source/mact/include/control.h
#	source/mact/src/control.cpp
#	source/sw/src/config.cpp
#	source/sw/src/menus.cpp
2019-11-26 18:03:13 +01:00
hendricks266
383ecda2b2 SW: Avoid an OOB in GetUpperLowerSector
git-svn-id: https://svn.eduke32.com/eduke32@8302 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/sw/src/brooms.cpp
2019-11-26 17:59:30 +01:00
hendricks266
31f8cb4def SW: Fix an assertion failure in palette changing code
git-svn-id: https://svn.eduke32.com/eduke32@8300 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/palette.cpp
2019-11-26 17:59:01 +01:00
hendricks266
fd3ec56827 SW: Fix OOB access when viewing a mirror
git-svn-id: https://svn.eduke32.com/eduke32@8299 1a8010ca-5511-0410-912e-c29ae57300e0
2019-11-26 17:58:20 +01:00
hendricks266
2fc49b3489 SW: Fix mouse aiming
git-svn-id: https://svn.eduke32.com/eduke32@8298 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/sw/src/config.cpp
#	source/sw/src/game.cpp
2019-11-26 17:58:19 +01:00
hendricks266
46d4855901 Fix the ifcrc token: 0 is a valid CRC32 result!
git-svn-id: https://svn.eduke32.com/eduke32@8296 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/defs.cpp
2019-11-26 17:51:33 +01:00
hendricks266
92a699b7eb SW: Fix enough OOBs to get in-game
git-svn-id: https://svn.eduke32.com/eduke32@8295 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/sw/src/_functio.h
#	source/sw/src/config.cpp
#	source/sw/src/sector.cpp
2019-11-26 17:50:55 +01:00
hendricks266
41194f99f9 SW: Fix playing track 0 when entering the sound settings
git-svn-id: https://svn.eduke32.com/eduke32@8294 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/sw/src/menus.cpp
2019-11-26 17:49:49 +01:00
Christoph Oelckers
6782d817b7 - reformatting and deletion of unused code. 2019-11-26 17:43:31 +01:00
Christoph Oelckers
0597b4cf12 - enabled the menu transitions. 2019-11-26 00:43:20 +01:00
Christoph Oelckers
2ed598bb6c - menu transition animation added. 2019-11-26 00:29:51 +01:00
Christoph Oelckers
dce633de8b - use a floating point origin in the menu's implementation
Using fixed point here makes no sense, let's keep that to the code that still lives in the 90's.
2019-11-26 00:20:21 +01:00
Christoph Oelckers
f2cfad8d9b Merge branch 'master' into menu_for_real 2019-11-25 23:52:39 +01:00
sirlemonhead
aba3e85c8e Fix player taunt frequency (and there was much rejoicing) 2019-11-25 23:24:20 +01:00
sirlemonhead
979f40f900 Fix missing angle mask for Anubis AI 2019-11-25 23:24:18 +01:00
sirlemonhead
803f22904b Fix Ramses head being all tiny
# Conflicts:
#	source/exhumed/src/exhumed.cpp
2019-11-25 23:24:17 +01:00
Christoph Oelckers
a74a670c99 -- more work on the menu - episode and skill menus are working in DN3D. 2019-11-25 23:21:51 +01:00
Christoph Oelckers
d73f915c66 - episode menu setup. 2019-11-25 18:41:39 +01:00
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
sirlemonhead
326947d976 Initial music playback support code
# Conflicts:
#	source/exhumed/src/cd.cpp
#	source/exhumed/src/cd.h
2019-11-24 22:39:25 +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
28294c8a96 - use symbolic constants. 2019-11-24 16:37:31 +01:00
Christoph Oelckers
11b8017752 - Exhumed compiles without errors. 2019-11-24 16:34:23 +01:00
Christoph Oelckers
8d11990494 - more work on making Exhumed compile.
Almost done, down to 20 compile errors.
2019-11-24 13:59:36 +01:00
Christoph Oelckers
40772d9f0c - making more things compile. 2019-11-24 10:03:19 +01:00
Christoph Oelckers
6280b0b516 - started fixing things. 2019-11-24 00:04:15 +01:00
sirlemonhead
9ce8d5156c Fix missing text under laughing skull. 2019-11-23 23:37:33 +01:00
nukeykt
524d0dd496 Fix buffer overflow in getclosestcol_lim 2019-11-23 23:37:32 +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
0ad7f25a8a - added project and namespace wrappers to all Exhumed files. 2019-11-23 00:11:37 +01:00
Christoph Oelckers
762ade3fd8 - we do not need this. 2019-11-22 23:06:22 +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
nukeykt
af5f5aad77 Fix compiling errors
# Conflicts:
#	platform/Windows/pcexhumed.vcxproj
#	source/platform/win32/startwin.game.cpp
2019-11-22 17:41:30 +01:00
nukeykt
a55ea9a55c Fix black screen issue after training level 2019-11-22 17:39:31 +01:00
sirlemonhead
3977c3e3bd Check for a valid return value from BuildBullet() in FuncTrap() before trying to use it. Will need to check all instances of BuildBullet() return value uses as original game doesn't seem to check if they're valid before using them to index arrays. 2019-11-22 17:39:30 +01:00
Christoph Oelckers
ff3dec2f08 - looks like I missed one commit... 2019-11-22 00:17:59 +01:00
nukeykt
c1ad44bcc9 Remap screenshot key to F12 2019-11-22 00:14:59 +01:00
nukeykt
cd74f50e8c Fix silly error with gamefunctions data 2019-11-22 00:14:58 +01:00
nukeykt
47b8dd509b Properly read settings from cfg 2019-11-22 00:14:56 +01:00
nukeykt
2fe0a6c496 Properly save cfg files on exit 2019-11-22 00:14:55 +01:00
nukeykt
e626db8ce5 Parse exhumed.def if available 2019-11-22 00:14:54 +01:00
nukeykt
f3069bbe4f Fix movie in opengl 2019-11-22 00:14:53 +01:00
NY00123
2da94d33e8 Bring startgtk fixes from EDuke32 rev. 8134 into exhumed 2019-11-22 00:14:52 +01:00
sirlemonhead
3073f1780d Show BMG or PIE publisher logos and Exhumed or PowerSlave graphics depending on which DAT/GRP file is used. 2019-11-22 00:14:50 +01:00
nukeykt
0f874f6979 Disable intro fade effects for opengl mode 2019-11-22 00:14:49 +01:00
NY00123
27a3945583 Forgotten this comment in preceding demo-related commit 2019-11-22 00:14:48 +01:00
NY00123
e38dcc7c5f Exhumed: Disable demo playback for now 2019-11-22 00:14:47 +01:00
nukeykt
7660d74713 Unifdef HandleAsync in input.cpp 2019-11-22 00:14:45 +01:00
nukeykt
fc3ba66cb1 Rename app name to pcexhumed
# Conflicts:
#	GNUmakefile
#	platform/Windows/eduke32.sln
#	platform/Windows/pcexhumed.vcxproj
#	platform/Windows/pcexhumed.vcxproj.filters
2019-11-22 00:14:43 +01:00
sirlemonhead
be65a9863b Add License header to .h and .cpp files 2019-11-22 00:13:44 +01:00
sirlemonhead
6cb4456c91 Slow down the cinema text scroll speed a bit 2019-11-22 00:13:42 +01:00
sirlemonhead
f22d6b275b Working towards fixing Energy Towers. Tower texture should now animate but explosion effect still doesn't render when the tower is destroyed. 2019-11-22 00:13:41 +01:00
nukeykt
c261f76e5f Automap improvements using code from eduke32 2019-11-22 00:13:40 +01:00
nukeykt
73a3be9aa1 Clean up and fix snake code 2019-11-22 00:13:39 +01:00
nukeykt
7e7f74206d Fix flamethrower light rotation 2019-11-22 00:13:38 +01:00
nukeykt
f445dd45d7 Fix erroneous condition in FuncQueenHead 2019-11-22 00:13:36 +01:00
nukeykt
cf389bf3ef Clean up and some fixes for Queen ai code 2019-11-22 00:13:35 +01:00
sirlemonhead
4ca74ee06a Queen AI fixes. Still need to check Head and Egg code. 2019-11-22 00:13:34 +01:00
nukeykt
6da91a4c1f Fix rex animation speed 2019-11-22 00:13:33 +01:00
nukeykt
e65d2ef4f4 Fix cobra venom bowl damage 2019-11-22 00:13:31 +01:00
nukeykt
cabf25bc8b Detabulate gun.cpp 2019-11-22 00:13:30 +01:00
nukeykt
9048c0a75c Fix CheckCloseRange return value 2019-11-22 00:13:29 +01:00
sirlemonhead
eded50e873 Fix Set angle miscalculation 2019-11-22 00:13:28 +01:00
sirlemonhead
21459b4ba8 Fix Fish AI. Was miscalculating yvel (too many shifts) 2019-11-22 00:13:27 +01:00
sirlemonhead
69a6715997 Added Wall effect tag 20 2019-11-22 00:13:25 +01:00
sirlemonhead
87ef1331d9 Fix the Roach/Kilmaat sentry being unkillable. I was missing the line in BuildRoach() to set it's sprite's cstat value 2019-11-22 00:13:24 +01:00
sirlemonhead
fe24913d63 Hopefully finally fixed Lion AI. Should now attempt to go underground when shot 2019-11-22 00:13:23 +01:00
nukeykt
eb456e0dda Fix flow texture panning 2019-11-22 00:13:22 +01:00
nukeykt
c970aebb54 Fix invalid sector sound 2019-11-22 00:13:20 +01:00
nukeykt
337dea13e6 Add FPS counter 2019-11-22 00:12:57 +01:00
sirlemonhead
19dfc45321 Fix set AI. Shouldn't die so quickly now. 2019-11-22 00:12:56 +01:00
sirlemonhead
c365a79f81 Fix asserts firing for some sector tags. This code now handles cases where the effects aren't set up correctly in the .map file - a floor/ceiling is not in the expected starting position. The nextsectorneighborz() function would end up returning -1 but the game would use this value to index the sector array. It seems the developers were lucky and this resulted in the correct value being returned regardless. 2019-11-22 00:12:55 +01:00
nukeykt
6fef06453c Fix shadows in polymost 2019-11-22 00:12:54 +01:00
nukeykt
c2594ec4ea Fix background box drawing in Query 2019-11-22 00:12:52 +01:00
nukeykt
99a7195f5f Fix water splash sound 2019-11-22 00:12:51 +01:00
nukeykt
92dc6be003 Fix training level start from ingame menu 2019-11-22 00:12:50 +01:00
nukeykt
74e5b77982 Fix loadgame menu closing causing training level start 2019-11-22 00:12:49 +01:00
nukeykt
62ccf7712a Fix game pause 2019-11-22 00:12:47 +01:00
sirlemonhead
7049070721 Misc warning fixes (removed unused variables) 2019-11-22 00:12:46 +01:00
nukeykt
2f1a53e5c4 Fix weapon pickup sound 2019-11-22 00:12:45 +01:00
nukeykt
cd6bbd96a7 Fix push sector sound 2019-11-22 00:12:44 +01:00
nukeykt
f7fbcd09b4 Fix player taunts playing at full volume 2019-11-22 00:11:31 +01:00
nukeykt
7173ca9db9 Play correct sound on opening menu 2019-11-22 00:11:30 +01:00
sirlemonhead
2e6459d2f6 Fix Mummy's special red fireball attack - it wasn't turning the player into a Mummy 2019-11-22 00:11:29 +01:00
sirlemonhead
03f6b4c9ec Remove test assert 2019-11-22 00:11:28 +01:00
nukeykt
53c6e40d6d Fix some gcc related issues 2019-11-22 00:11:26 +01:00
NY00123
cab17d9ff7 CONFIG_ReadSetup should return some value 2019-11-22 00:11:25 +01:00
NY00123
3d82a745b3 exhumed.cpp: Comment out the "socket" variable and code that uses it.
This variable conflicts with library function named "socket".
2019-11-22 00:11:24 +01:00
sirlemonhead
7182190464 Fix multiplayer items instantly regenerating. Fixes issue #15 2019-11-22 00:11:17 +01:00
nukeykt
708a6ecba6 Fix linux compiling 2019-11-22 00:11:16 +01:00
nukeykt
e4c1d0e7c8 Add checks for invalid sound that can cause crash 2019-11-22 00:11:14 +01:00
nukeykt
7095abf5c1 Add startgtk.game.cpp and fix minor compiling error 2019-11-22 00:11:13 +01:00
nukeykt
0eee7776e7 GNU makefile, for some reason mingw build crashed upon start
# Conflicts:
#	GNUmakefile
2019-11-22 00:11:12 +01:00
nukeykt
291d7fd888 Fix procedural fire effect seed 2019-11-22 00:10:46 +01:00
nukeykt
1dbc06bfa0 Reset timer after closing menu 2019-11-22 00:10:44 +01:00
nukeykt
5a19f5cd4d Do not hide player sprite and temporarily disable interpolation in 3rd person mode 2019-11-22 00:10:43 +01:00
sirlemonhead
f0441860df Fix Kilmaat Sentry AI processing. Fixes issue #14 2019-11-22 00:10:42 +01:00
sirlemonhead
a216d8745e Fix incorrect Wasp type being set. Will fix incorrectly sized Wasps (and behaviour?) 2019-11-22 00:10:41 +01:00
nukeykt
12fd1318d9 Fix player sprite appearing on water surface 2019-11-22 00:10:39 +01:00
nukeykt
688fa2e778 Interpolate bob angle 2019-11-22 00:10:38 +01:00
nukeykt
aff6ef67c0 Interpolate eye level 2019-11-22 00:10:37 +01:00
nukeykt
590a165e16 Enable old collision 2019-11-22 00:10:36 +01:00
nukeykt
5b50236d18 Fix movement issues when emulating old engine code 2019-11-22 00:10:35 +01:00
nukeykt
d7b9af8b89 Fix player bouncing on sprite bridges 2019-11-22 00:10:33 +01:00
nukeykt
ed81a1c3fe Temporarily disable old collision code 2019-11-22 00:10:32 +01:00
nukeykt
bef08f4442 Fix getflor/ceilingofslope_old 2019-11-22 00:10:31 +01:00
nukeykt
6b6ecaf0fa Fix silly typo in cansee 2019-11-22 00:10:30 +01:00
nukeykt
525400d36c Fix Ramses head in polymost 2019-11-22 00:10:28 +01:00
nukeykt
cb0e728722 Disable interpolation for ramses head scene 2019-11-22 00:10:27 +01:00
nukeykt
6f9cdaccfc Fix annoying bug with ambient creature sound timer 2019-11-22 00:03:13 +01:00
nukeykt
4e21cf5cbf Start adding view interpolation using code from duke3d 2019-11-22 00:03:11 +01:00
nukeykt
6378082339 Fix palette issues with cinema code 2019-11-22 00:03:10 +01:00
sirlemonhead
f04de71065 Fix moving sector trail point bug. Sectors should now move on the correct path. 2019-11-22 00:03:09 +01:00
nukeykt
e7ee9cf722 Add exhumed grp detection 2019-11-22 00:03:08 +01:00
nukeykt
0e52ea85cc Add missing grpscan.* 2019-11-22 00:03:06 +01:00
sirlemonhead
f0b1a37615 Fix Cinema screens not showing correct cinemas on the correct levels 2019-11-22 00:03:05 +01:00
sirlemonhead
85dec18ee7 Fix branching in Lion AI code 2019-11-22 00:03:04 +01:00
sirlemonhead
102076dc5f Fix arrow trap - arrows were appearing to shoot out side-on 2019-11-22 00:03:03 +01:00
sirlemonhead
697948fdf0 Fix keys not opening locked doors 2019-11-22 00:03:02 +01:00
nukeykt
5298e97fc5 Add GRP/DEF code from eduke32
# Conflicts:
#	platform/Windows/exhumed.vcxproj
#	platform/Windows/exhumed.vcxproj.filters
#	source/platform/win32/startwin.game.cpp
2019-11-22 00:03:00 +01:00
nukeykt
1dd696df18 Initial work on input code improving 2019-11-22 00:00:08 +01:00
sirlemonhead
825b643370 Fixed code in LavaDude AI that would cause a switch break to be missed 2019-11-22 00:00:07 +01:00
sirlemonhead
911330ed37 Tidied up door handling key. Removed some repeated code and commented-out code 2019-11-22 00:00:06 +01:00
sirlemonhead
bff4d2b65d Fix branching in Queen Egg AI 2019-11-22 00:00:04 +01:00
sirlemonhead
bb821cf759 Fixed code in Set AI that would cause a switch break to be missed 2019-11-22 00:00:03 +01:00
sirlemonhead
223d83e7be Fixed incorrect SEQ index, causing the Cobra staff to appear briefly when changing from grenade to M-60. Fixes issue #6 .Also renamed a player field from field_34 to field_3FOUR to better visually differentiate it from field_3A 2019-11-22 00:00:02 +01:00
sirlemonhead
0dbb073b0a Fix typo in savegame file name in menu_GameLoad(). Have made this a macro now. 2019-11-22 00:00:01 +01:00
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
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
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
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
01d5d51f13 - pass key events to the event queue. 2019-11-03 22:46:01 +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
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
Christoph Oelckers
12a02cb456 - fixed: lump filters without any dot in the name did not work. 2019-11-03 15:54:18 +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
d7e7c516a0 - fixed: In case no game data can be found, the config needs to be written, to ensure there is one for editing. 2019-11-03 10:51:47 +01:00
Christoph Oelckers
94aa556953 - some work on a generic cache manager.
For main resource data this is probably unnecessary - most resources are never cached with the exception of sounds and textures, which are loaded permanently anyway.
But for hardware textures this is different. Due to the poor precaching it is impossible to selectively evict hardware textures that are not needed any longer, so for this an MRU cache is really needed so that they do not accumulate and congest the video RAM in the process.
2019-11-03 10:00:19 +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
4e3ad17e4a - tweaking of the game selection display. 2019-11-02 21:43:17 +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
e35a5bac79 - fixed: 0 is a valid resource ID for Blood.
Unfortunately this means that looking up ID 0 can be a bit more costly than the rest because all ID-less entries in RFF files also use 0.
For other file types -1 is used.
2019-11-02 20:37:15 +01:00
Christoph Oelckers
dc9d75685e - fixed keybind setup. 2019-11-02 20:13:00 +01:00
Christoph Oelckers
4cf62fca77 - do not load subdirectories of the game directory. They cannot contain anything useful because the original assets never used subdirectories.
- fixed RRRA game flags.
2019-11-02 19:12:01 +01:00
Christoph Oelckers
c5838df0c8 - fixed addition of main directory. 2019-11-02 18:46:11 +01:00
Christoph Oelckers
395ba5541c - fixed startup and sound issues with Redneck Rampage. 2019-11-02 18:28:50 +01:00
Christoph Oelckers
63d4fc1e1b - fixed flag parsing for grpinfo. 2019-11-02 18:03:41 +01:00
Christoph Oelckers
536c7d61a0 - Duke Nukem starts again.
Now for the other frontends.
2019-11-02 17:41:38 +01:00
Christoph Oelckers
768a75b712 - fixed video startup.
Make sure that SDL is initialized as the first thing and that the validmodecnt variable does not get cleared
2019-11-02 17:26:40 +01:00
Christoph Oelckers
d246ff1212 - fixed file system hasher. 2019-11-02 16:52:22 +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
edcfad6e11 - updated m_png.cpp from GZDoom. 2019-11-02 12:07:15 +01:00
Christoph Oelckers
1d7bfe14dc - removed kplib's compression code.
Its only use in savegames has already been disabled in favor of a format restructuring.
2019-11-02 11:29:23 +01:00
Christoph Oelckers
ab28697c18 - undid the very pointless pow2char (de)optimization by substituting the real array with an empty struct containing an inlined [] operator.
I think this shows a fundamental misunderstanding of what constexpr means, even when declared as such it requires a constant argument to be treated as a constant.
But since nearly all uses of this were not using constants, the compiler was emitting actual memory accesses to the array each time this was used.
2019-11-02 10:45:41 +01:00
Christoph Oelckers
fca3c2f5b5 - removed the directory scan code from compat.cpp.
It is only used by the user map menus which I had to disable already and on top of that is blissfully incapable of dealing with Unicode.
2019-11-02 10:39:31 +01:00
Christoph Oelckers
f44d309558 - made some adjustments to the RFS parser for the file system.
It's still not active but now should produce correct results when working inside the file system.
What it is missing is a file scanner that picks the data it needs to process.
2019-11-02 10:20:32 +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
Christoph Oelckers
1149b4f4aa - various fixes and improvements related to file location management:
* saving of demos and savegames no longer mindlessly writes to the mod directory. All such access is now being rerouted through the special paths interface so that the game data can reside in write protected locations.
* refactored all occurences of klistpath except fnlist_getnames.
* do not allow CON scripts to write to arbitrary files. This is a massive exploit and can be used to cause real damage if someone knows how to play this thing - it's far easier than people may think! It will now write any such data to a special section in the main config which is safe and cannot be manipulated to write to random locations on the hard drive.
2019-11-02 00:38:30 +01:00
Christoph Oelckers
cfca8060ba - gutted cache1d. The old file system is gone, excepr for klistpath, which still gets used in a few places.
- consolidated the 3 identical S_OpenAudio implementations. The replacement code is disabled for the time being because it needs a rewrite. The replacement logic is uses is a bit too volatile.
- removed the old GRP scan code.
2019-11-01 22:17:15 +01:00
Christoph Oelckers
2d7c0e26d2 - cleanup of the old file system initialization.
The real fun part is yet to come, i.e. removing the remaining dependencies on the old file system code.
2019-11-01 19:25:42 +01:00
Christoph Oelckers
24edfbe03b - removed the pointless double loading of CON files.
The condition for this was no longer present anyway so it was never done.
2019-11-01 09:40:29 +01:00
Christoph Oelckers
8d5e665caa - various initialization related changes
* reroute several error conditions to I_Error.
* removed some soon-to-be obsolete GRP loading code.
* explicitly trigger the SetDefaults script events which depended on side effects from the config implementation.
* removed the nonsensical file system switch. All this does is create instabilities because it is non-obvious from where data is loaded. If a resource is mounted, it should be checked for content no matter what. While this may affect the stray weird mod out there it is a necessity if we want to allow transparent project repackaging.
2019-11-01 09:30:28 +01:00
Christoph Oelckers
39bfd64fe9 - a bit more cleanup in app_init. 2019-11-01 08:24:10 +01:00
Christoph Oelckers
6c5d9c3507 - moved the net init code out of the game frontends to avoid having to call atexit for their deinit function.
When doing this during startup it can be done by regular cleanup measures.
This also moves two larger chunks of networking code out of game.cpp.

Nevertheless, the fact that enet is a very dirty library which directly depends on Windows types is a big problem because it bleeds Windows definitions everywhere thanks to poor abstraction in all relevant layers.
2019-11-01 07:26:49 +01:00
Christoph Oelckers
67acad3984 - startup cleanup. 2019-11-01 00:32:56 +01:00
Christoph Oelckers
57f879fa8b - moved the startup dialog out of the game front ends, now that there is a global cross-game list of playable configurations. 2019-10-31 23:25:21 +01:00
Christoph Oelckers
ba00fe4e66 - hooked up the file system with Blood's resource access. 2019-10-31 20:17:49 +01:00
Christoph Oelckers
d7e183d46d - fixed compilation of file system code. 2019-10-31 18:06:05 +01:00
Christoph Oelckers
8ef40c5083 - merged most of Blood's resource manager into the file system 2019-10-31 17:13:48 +01:00
Christoph Oelckers
261af9e401 - rework of the file system code.
Made more efficient by basing the lookup on names, not strings and some additions for acting as a stand-in for Blood's resource manager.
2019-10-31 01:48:10 +01:00
Christoph Oelckers
693095bffb - added access wrappers to the two fields of DICTNODE that are accessed from the outside.
The idea here is to completely merge the resource management into the file system so that Blood's DICTNODE is merely an alias to the internal FResourceLump.

A two-tiered resource system is not something I consider worthwile, it made sense to get around Builds crappy cache but in the long term this is not a good solution for a multi-game port to have a resource management system in the backend and another one put over it in the front end, both with their own caching logic that might interfere with each other. Better merge it into one that can handle everything.
2019-10-31 00:50:45 +01:00
Christoph Oelckers
c6753a3fec - tested and fixed game list loader. 2019-10-31 00:41:56 +01:00
Christoph Oelckers
2a7beeff69 - cleaned out some chunks of unused or useless code, most importantly the Build cache which was only used by the sound code for permanently loading the data into memory. 2019-10-30 21:51:04 +01:00
Christoph Oelckers
535c68fac1 - fixed Shadow Warrior startup.
It runs to the menu, unfortunately key input is broken.
2019-10-30 20:13:43 +01:00
Christoph Oelckers
5b1036093c - fixed startup. 2019-10-30 19:55:03 +01:00
Christoph Oelckers
266dc9e04e - added SW search paths to new code and cleaned up the init code. 2019-10-30 19:26:55 +01:00
CommonLoon102
bc6c1bbc3c Fix the game on non-Windows (#240) 2019-10-30 18:54:56 +01:00
hendricks266
d410694e40 SW: Fix 3D Realms and ANM palettes
git-svn-id: https://svn.eduke32.com/eduke32@8272 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/duke3d/src/astub.cpp
#	source/sw/src/anim.cpp
#	source/sw/src/colormap.cpp
#	source/sw/src/common_game.h
#	source/sw/src/game.cpp
2019-10-30 18:50:23 +01:00
hendricks266
d679603cab SW: Fix MIDI music
git-svn-id: https://svn.eduke32.com/eduke32@8271 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/sw/src/config.cpp
#	source/sw/src/config.h
#	source/sw/src/game.cpp
#	source/sw/src/menus.cpp
#	source/sw/src/sounds.cpp
2019-10-30 18:45:53 +01:00
hendricks266
dcba445f4e SW: Fix file loading and init sequence
git-svn-id: https://svn.eduke32.com/eduke32@8269 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/duke3d/src/common.cpp
#	source/duke3d/src/game.cpp
#	source/sw/src/common.cpp
#	source/sw/src/common_game.h
#	source/sw/src/game.cpp
#	source/sw/src/jnstub.cpp
2019-10-30 18:38:43 +01:00
Christoph Oelckers
ea10e01cc3 - adjustments for last commit. 2019-10-30 18:27:52 +01:00
hendricks266
797c79d4a5 Move registry reading to engine
git-svn-id: https://svn.eduke32.com/eduke32@8268 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/duke3d/src/common.cpp
2019-10-30 18:27:40 +01:00
Christoph Oelckers
418ec0d829 - adjustment to cherry-picked commit. 2019-10-30 18:21:59 +01:00
hendricks266
9b21fe0c28 Move VDF parsing to engine
git-svn-id: https://svn.eduke32.com/eduke32@8267 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/include/common.h
#	source/duke3d/src/common.cpp
2019-10-30 18:15:00 +01:00
hendricks266
de3215bcab Add sound and music code for Ken-Build
Patch from Nuke.YKT.

git-svn-id: https://svn.eduke32.com/eduke32@8266 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	GNUmakefile
#	platform/Windows/kenbuild.vcxproj
#	platform/Windows/kenbuild.vcxproj.filters
#	source/kenbuild/src/config.cpp
#	source/kenbuild/src/game.cpp
#	source/kenbuild/src/sound_stub.cpp
2019-10-30 18:10:54 +01:00
Christoph Oelckers
3e5d5a9a3d - it's "loadgrp". 2019-10-30 18:09:38 +01:00
Christoph Oelckers
7f250fc3e8 - WIP on game data search. 2019-10-30 18:09:00 +01:00
Christoph Oelckers
5e76fd659a - search path WIP. 2019-10-29 23:57:28 +01:00
Christoph Oelckers
b56dae0e9a - changed path scanner to return only absolute paths and fixed the directory iterator to construct the proper path.
Also avoid collecting duplicate paths.
2019-10-29 21:06:14 +01:00