Christoph Oelckers
e62f6cbc20
- weapon and ammo names are now also localizable.
2019-12-09 19:49:36 +01:00
Christoph Oelckers
da1900dc8a
- same for inventory pickup messages.
2019-12-09 19:00:30 +01:00
Christoph Oelckers
670c8b1408
- use the quote array to store the key, door and fortune cookie messages in Shadow Warrior.
...
This is infinitely better than leaking char pointers.
2019-12-09 18:40:07 +01:00
Christoph Oelckers
ba978ab0d9
- text update and missing includes.
2019-12-09 17:17:15 +01:00
Christoph Oelckers
0604c72586
- code cleanup
...
removed some unused definitions
replaced the copybuf* functions with memcpy. These days doing homegrown copy loops is not efficient anymore.
2019-12-09 01:39:40 +01:00
Christoph Oelckers
66218dd074
- connect SW with statistics code and added missing function for Blood
...
# Conflicts:
# source/blood/src/blood.h
# source/common/menu/messagebox.cpp
# source/sw/src/game.cpp
# source/sw/src/game.h
2019-12-09 01:03:18 +01:00
Christoph Oelckers
9f25c9c117
- some string rework
...
* removed temporary placeholder content from string init function. All this gets properly read from definition files now.
* preinitialize a few quotes that are used for status display purposes and are needed in all games
* only use the global episode name table in Blood to avoid redundancy
* let SW's swcustom parser write to the global tables instead of local ones.
2019-12-09 01:00:46 +01:00
Christoph Oelckers
f2d0665557
- connected the screen size CVAR and slider with Shadow Warrior's internal setting.
2019-12-07 21:39:17 +01:00
Christoph Oelckers
8f90cc8324
- more Shadow Warrior cleanup.
2019-12-07 20:48:16 +01:00
Christoph Oelckers
0157446ad1
- thorough cleanup of the Shadow Warrior music code.
...
This was one huge mess where nothing fit together.
Also added an enhancement that the CD Audio boss theme tracks are also played when CD music is generally off, because these have no equivalent in MIDI. This needs to be checked if it's stylistically ok, though.
2019-12-07 19:57:19 +01:00
Christoph Oelckers
2ed03214b1
- disable the save option in SW's main menu if no game is running.
2019-12-07 15:07:43 +01:00
Christoph Oelckers
9960b505e8
- added captions to SW's game menus.
...
- made Duke Nukem's quote strings localizable.
2019-12-07 12:42:25 +01:00
Christoph Oelckers
a45b1ca637
- fixed anim loading in Shadow Warrior.
2019-12-07 11:48:41 +01:00
Christoph Oelckers
30cbcb54b1
- renamed the remaining file system access wrappers in cache1d.h
2019-12-07 10:31:27 +01:00
Christoph Oelckers
749eda32c5
- moved kopenfilereader into the FileSystem class.
2019-12-07 10:14:51 +01:00
Christoph Oelckers
ef87d2d4f9
- always pause the game when the console is open.
2019-12-07 10:01:03 +01:00
Christoph Oelckers
66756bfa13
- final fixes for Blood's and Duke Nukem's menus.
2019-12-06 18:36:49 +01:00
Christoph Oelckers
7a9138cde0
- made the confirmation screen functional.
...
This works but still needs a bit of visual work.
2019-12-05 23:17:55 +01:00
Christoph Oelckers
db425a1228
- fixed keybinding and mouse cursor display.
...
- fixed some merge issues in Shadow Warrior.
2019-12-05 21:39:02 +01:00
Christoph Oelckers
223c6d628e
Merge branch 'master' into menu_for_real
2019-12-05 21:08:46 +01:00
Christoph Oelckers
169d68f583
- fixed stuff and cleaned out most of the old menu code.
2019-12-05 19:00:40 +01:00
hendricks266
5624c9b5b0
SW: Avoid a one-pixel tall hall of mirrors above the full status bar
...
git-svn-id: https://svn.eduke32.com/eduke32@8355 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-05 17:23:06 +01:00
hendricks266
007d16712c
SW: Draw the status bar under the menu instead of over it
...
git-svn-id: https://svn.eduke32.com/eduke32@8354 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-05 17:23:05 +01:00
hendricks266
22a778a22c
SW: Don't show the status bar during the end of level screen
...
git-svn-id: https://svn.eduke32.com/eduke32@8353 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-05 17:23:04 +01:00
hendricks266
1507e9fd15
SW: Left-pin the mini HUD in widescreen
...
git-svn-id: https://svn.eduke32.com/eduke32@8352 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/sw/src/text.cpp
2019-12-05 17:23:03 +01:00
Christoph Oelckers
628bd9efc6
Filled in the rest of the menus
...
Sound is only partially functional, video mode completely nonfunctional, but it makes no sense adjusting them to the current backend code when it's due for replacement.
2019-12-05 00:47:05 +01:00
Christoph Oelckers
cb0538d0f2
- mouse aiming cleanup.
...
Reverted this to a sane setting, as it was in the original games and in all other games I have ever seen, i.e. there is a global setting to enable mouse view, and a button to manually trigger it. The toggle can be easily handled by flipping the CVAR directly.
The main problem here was that it triggered a few cases for mouse-less gameplay in the default case with a mouse present, because the mouseaim CVAR was no longer what the game expected.
This misguided change seems to have originated in JFDuke but by now had propagated to all the other games as well, the code was in all 4 frontends.
2019-12-05 01:08:35 +01:00
Christoph Oelckers
3ea526055f
- added a generic message display, using ZDoom's code.
...
This is mainly meant for Nam and WW2GI which have an ugly-as-hell font for these texts.
2019-12-04 23:07:02 +01:00
Christoph Oelckers
6d04f0f159
- added option to print custom messages with Duke Nukem's quote system.
...
- hooked up all front ends with a generic message printing function so that common code can access the native message displays. This is needed for consolidation of some input actions which are mostly identical but print messages.
- preparations for a generic message system.
2019-12-04 21:35:35 +01:00
Christoph Oelckers
4cefc1db83
Merge branch 'master' into menu_for_real
2019-12-04 17:25:40 +01:00
Christoph Oelckers
c561255018
- moved the application of in_mousebias and in_mousedeadzone into the backend code.
...
This piece was repeated 6x for each call to CONTROL_GetInput, creating quite a bit of redundancy.
2019-12-03 20:58:43 +01:00
Christoph Oelckers
6f9494435a
- adjustment for last commit.
2019-12-03 17:40:35 +01:00
hendricks266
c27616508e
SW: Move HIT_PLAX_WALL out of the bit range used for limit raised struct IDs
...
git-svn-id: https://svn.eduke32.com/eduke32@8350 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-03 17:32:50 +01:00
hendricks266
863d35d7c2
SW: Activate ASSERT macro with RELEASE=0 builds
...
git-svn-id: https://svn.eduke32.com/eduke32@8349 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-03 17:32:49 +01:00
hendricks266
823e47f3e8
SW: Fix assertions and OOB so that the player can noclip OOB
...
git-svn-id: https://svn.eduke32.com/eduke32@8348 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-03 17:32:48 +01:00
hendricks266
f19848a1b3
SW: Address Sanitization commenceth
...
git-svn-id: https://svn.eduke32.com/eduke32@8347 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-03 17:32:46 +01:00
hendricks266
820bd2545c
SW: Get widescreen aspect working
...
git-svn-id: https://svn.eduke32.com/eduke32@8346 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-03 17:32:45 +01:00
Christoph Oelckers
65ae00fb74
- completion of controls menu
...
- some message printing cleanup in SW frontend. This still has its native console that needs to be removed.
2019-12-03 00:57:03 +01:00
Christoph Oelckers
79ced02d36
- implemented the Shadow Warrior menu interface.
2019-12-03 00:01:04 +01:00
Christoph Oelckers
51083f6d51
Merge branch 'master' into powerslave
2019-12-02 21:14:08 +01:00
Christoph Oelckers
702f91b6b5
- disconnected Shadow Warrior's menu so it can be replaced.
...
Unlike the other games this was a lot more invasive
2019-12-02 21:05:19 +01:00
Christoph Oelckers
26daff79db
- fixed compile errors and updated string table.
2019-12-02 18:11:10 +01:00
Christoph Oelckers
aed05840ae
- removed the mouseInactiveConditional interface function.
...
This was only a crutch to let the input interface work with the original menus.
Now that the one in Blood is gone, all the conditions are no longer relevant. (Shadow Warrior never got far enough to implement this)
2019-12-01 10:31:44 +01:00
Christoph Oelckers
55ba1116ec
- fixing the last commit.
2019-12-01 09:03:51 +01:00
Christoph Oelckers
8a98f9b3ca
- removed quitevent.
...
This was some meticulously preserved relic of bad old DOS times used to block OS facilities to close an app.
Since this has been worked around at a lower level already the variable was essentially without function but some quite bad code depended on it.
2019-12-01 09:02:17 +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
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
Christoph Oelckers
07ac12110f
- removed some piece of obsolete code merged from upstream.
2019-11-30 01:07:46 +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
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
Christoph Oelckers
115675417a
Merge branch 'master' into powerslave
2019-11-28 17:07:11 +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
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
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
0f4d80b5d3
Merge branch 'master' into menu_for_real
2019-11-26 19:19:21 +01:00
Christoph Oelckers
abdd807e7f
- fixed merge errors.
2019-11-26 19:10:24 +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
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
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
8d11990494
- more work on making Exhumed compile.
...
Almost done, down to 20 compile errors.
2019-11-24 13:59:36 +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
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
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
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
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
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
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
b6a3a60251
- console output is functional.
2019-11-06 23:40:10 +01:00
Christoph Oelckers
5d31119a49
- fixed the Shadow Warrior menu, but it doesn't do much good. The game appears to be thoroughly broken.
2019-11-06 19:22:14 +01:00
Christoph Oelckers
c46b22e52e
- more cleanup of obsolete OSD code.
2019-11-05 20:16:53 +01:00
Christoph Oelckers
a4483f131d
- Printf related cleanup.
2019-11-05 20:07:16 +01:00
Christoph Oelckers
570696fc09
- added ZDoom's CCMD code.
...
Not tested yet.
2019-11-04 23:01:50 +01:00
Christoph Oelckers
1ee4efebb0
- fixed compilation.
2019-11-04 17:58:18 +01:00
Christoph Oelckers
b747df60ee
- moved all keyboard related code into the InputState class, so that looking for this stuff is easier.
...
Sadly there's 1ß00 lines of code using this...
2019-11-04 00:53:55 +01:00
Christoph Oelckers
1b958a7f9f
- removed more backing data for the old keybinding code.
...
Unfortunately this means that the keybinding menus in all games except Blood are shot to shit right now because of how they passed the data on to its destination.
These menus are not fixable, this will have to wait until the replacement is up.
2019-11-03 20:58:10 +01:00
Christoph Oelckers
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
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
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
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
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
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
266dc9e04e
- added SW search paths to new code and cleaned up the init code.
2019-10-30 19:26:55 +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
ac87665972
- use std::filesystem for directory traversal.
...
So far implemented for scanning search paths
2019-10-29 19:53:46 +01:00
Christoph Oelckers
762f174743
- moved the command line parser out of the game frontends.
...
Some part are not done yet, and the file system data is currently ignored - there's no way to properly set this up with the file system code Build came with.
2019-10-28 22:19:50 +01:00
Christoph Oelckers
a72863112b
- fix compilation
2019-10-28 17:50:08 +01:00
Christoph Oelckers
901b86577e
- more cleanup
...
Moving init code and key binding getter to backend
2019-10-28 07:05:32 +01:00
Christoph Oelckers
4f4fc1a8d4
- Cleanup
2019-10-28 07:02:42 +01:00
Christoph Oelckers
c589a6ab82
- replaced KEY_PRESSED globally
...
This was just a redundant name getting in the way.
2019-10-28 07:01:01 +01:00
Christoph Oelckers
065721c62b
- simplified the button state maintenance
...
This removes all unused parts of the implementation and moves the rest to the InputState class for easier replacement later. All MACT is doing now here is to call the UpdateStatus function, the internal workings are no longer relevant.
2019-10-28 07:00:31 +01:00
Christoph Oelckers
f8203ac766
- fixed the compile errors and consolidated the key binding CCMDs.
2019-10-28 06:47:49 +01:00
Christoph Oelckers
e7f75cbf4d
WIP
2019-10-28 01:12:31 +01:00
Christoph Oelckers
19b9e34726
- removed empty #includes.
2019-10-27 22:17:21 +01:00
Christoph Oelckers
d962a7810d
- deleted unused headers
2019-10-27 22:15:21 +01:00
Christoph Oelckers
cee194fd05
- removed the MACT scriplib after completing the config transition.
2019-10-27 17:31:23 +01:00
Christoph Oelckers
bfea07570a
- mapped the remaining Shadow Warrior options to the CVARs.
2019-10-27 16:53:00 +01:00
Christoph Oelckers
2e7ba30068
- a bit more config cleanup.
2019-10-27 14:09:56 +01:00
Christoph Oelckers
c0d5ca8ab8
- Config work almost done.
...
The only thing still referencing the old config file is Shadow Warrior's config read function.
2019-10-27 13:40:24 +01:00
Christoph Oelckers
cdc5044f07
- converted noautoload and forcesetup flags to CVARs.
2019-10-27 09:38:55 +01:00
Christoph Oelckers
4b5ec2aabb
- transitioned the combat macros to the new config and made them independent for all games, so that everything can use the original text. (But considering that they are a multiplayer feature I'm not sure how much that is worth.)
...
- sort the config output alphabetically.
- do not use [=] as key names for the bindings.
2019-10-27 08:14:58 +01:00
Christoph Oelckers
249f6e9d62
- consolidated the joystick and mouse setup code.
2019-10-26 23:45:55 +02:00
Christoph Oelckers
b2d7179dbe
- consolidated the 4 sets of mouse and joystick configuration variables.
2019-10-26 21:50:49 +02:00
Christoph Oelckers
db1a9a9363
- the config finally get saved.
...
Still with a few errors, though.
2019-10-26 20:47:37 +02:00
Christoph Oelckers
cd47582632
- disabled the settings.cfg console script so that the newly added config code can take over its duties.
...
- write the console log to the folder returned by M_GetDocumentsPath and not to the root game directory.
- removed G_ExtPreInit because it has become redundant. The search path setup will have to be redone anyway.
2019-10-26 13:41:42 +02:00
Christoph Oelckers
1e0d49f947
- game starts again.
2019-10-26 13:16:32 +02:00
Christoph Oelckers
0d878a8604
- some needed cleanup on the control code before testing can start.
2019-10-26 10:16:39 +02:00
Christoph Oelckers
cfaafcede7
- everything compiles again (not tested yet.)
2019-10-26 00:32:49 +02:00
Christoph Oelckers
8730ce552b
- make things compile again.
...
Let's hope it still works...
2019-10-24 20:28:46 +02:00
hendricks266
4ca1af72c3
SW: Load swtimbr.tmb
...
git-svn-id: https://svn.eduke32.com/eduke32@8262 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/sw/src/sounds.cpp
2019-10-24 19:46:29 +02:00