Commit Graph

2889 Commits

Author SHA1 Message Date
Christoph Oelckers 6ef1f96b40 - added SWP's parser for theme music definitions.
Because, why not? The SWCustom I use already contains them.
However, since the original source does not play theme MIDIs - only CDA, there's a switch to disable them.
2019-12-09 20:12:54 +01:00
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 782dfcdc54 - changed licenses in a few files.
These originated from GZDoom and originally contained original Doom code, but for Demolition the offending parts are no longer present so the ZDoom-BSD license applies now.
2019-12-09 17:29:31 +01:00
Christoph Oelckers f658b0f33d - deleted duplicated music code.
Apparently this got back in with some cherry pick.
2019-12-09 17:29:31 +01:00
hendricks266 0d7fc1263e Improve diagnostic printing of slopalookup overflows
git-svn-id: https://svn.eduke32.com/eduke32@8419 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-09 17:25:25 +01:00
hendricks266 b71ef4a140 Fix regression in software rendering of slopes in r8363
git-svn-id: https://svn.eduke32.com/eduke32@8418 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-09 17:25:16 +01:00
Christoph Oelckers ba978ab0d9 - text update and missing includes. 2019-12-09 17:17:15 +01:00
Christoph Oelckers 5e9b874610 - exported most of Blood's text to the string table
MP messages with %s yet to do.
2019-12-09 02:01:30 +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 4ef9ec6708 - call STAT_StartNewGame globally from the menu 2019-12-09 01:00:46 +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 a74797b97c - fix merge errors. 2019-12-08 08:51:54 +01:00
terminx 0456d8f36d These shouldn't be references
git-svn-id: https://svn.eduke32.com/eduke32@8408 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-08 08:39:20 +01:00
terminx 694863a8a1 Fix cacheAllSounds() being called before .def parsing... oops!
git-svn-id: https://svn.eduke32.com/eduke32@8404 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-08 08:37:51 +01:00
terminx f5e3b4bb5a Fix osdcmd_changelevel
git-svn-id: https://svn.eduke32.com/eduke32@8397 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-08 08:30:57 +01:00
terminx 0b2f550f09 This change to Gv_DivVar() is faster when benchmarked
git-svn-id: https://svn.eduke32.com/eduke32@8396 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-08 08:30:35 +01:00
terminx a2fd43da2f Clean up CON_FOR a little
git-svn-id: https://svn.eduke32.com/eduke32@8395 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-08 08:29:24 +01:00
terminx 949d2f311e Remove driver_nosound from audiolib
Why? Because it's fucking useless. If we want to waste CPU on outputting nothing, SDL has us covered with its "dummy" audio backend.

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

# Conflicts:
#	GNUmakefile
#	platform/Windows/audiolib.vcxproj
#	platform/Windows/audiolib.vcxproj.filters
#	source/audiolib/src/driver_nosound.cpp
#	source/audiolib/src/driver_nosound.h
#	source/audiolib/src/drivers.cpp
2019-12-08 08:21:59 +01:00
terminx 9146dc9a89 Remove duplicate call to cacheAllSounds() from S_SoundStartup()
git-svn-id: https://svn.eduke32.com/eduke32@8375 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/duke3d/src/sounds.cpp
2019-12-08 08:13:15 +01:00
terminx fd1656fbf2 Move atoi_safe() from editor.h to compat.h and #define Batoi atoi_safe
They were the same thing so they might as well be in the same place.

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

# Conflicts:
#	source/build/include/editor.h
2019-12-08 08:11:04 +01:00
terminx 0af13dcde0 Minor changes to hash table code
git-svn-id: https://svn.eduke32.com/eduke32@8372 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/include/hash.h
2019-12-08 08:09:13 +01:00
terminx 15b76f2041 Add Xaligned_calloc()
git-svn-id: https://svn.eduke32.com/eduke32@8371 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/include/compat.h
2019-12-08 08:08:55 +01:00
terminx c851da92a6 Improve interaction between cheat entry and player input
git-svn-id: https://svn.eduke32.com/eduke32@8369 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/duke3d/src/cheats.cpp
#	source/duke3d/src/player.cpp
2019-12-08 08:05:14 +01:00
terminx cf0a74a888 Fix noclip in Duke3d
git-svn-id: https://svn.eduke32.com/eduke32@8368 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-08 07:59:31 +01:00
terminx 441b0460aa Map SDL joystick device trackball input to mouse input
git-svn-id: https://svn.eduke32.com/eduke32@8367 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/sdlayer.cpp
2019-12-08 07:59:14 +01:00
terminx cbfb675577 Shitcan the few uses of the bool type in the VM after reading some things and dicking around on godbolt.org
git-svn-id: https://svn.eduke32.com/eduke32@8366 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/duke3d/src/gameexec.cpp
#	source/duke3d/src/gameexec.h
2019-12-08 07:56:50 +01:00
terminx 265e7109aa Equivalent to 04e7e6af69
git-svn-id: https://svn.eduke32.com/eduke32@8363 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-08 07:53:27 +01:00
terminx 8452f01310 A small amount of driver_adlib cleanup
git-svn-id: https://svn.eduke32.com/eduke32@8361 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	platform/Windows/audiolib.vcxproj
#	platform/Windows/audiolib.vcxproj.filters
#	source/audiolib/src/driver_adlib.cpp
#	source/audiolib/src/driver_adlib.h
#	source/audiolib/src/fx_man.cpp
2019-12-08 07:52:52 +01:00
Christoph Oelckers b4f8960d95 - removed unused code. 2019-12-08 07:51:49 +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 ff50a1681f - simplified the music playing interface a bit.
#
2019-12-07 18:28:30 +01:00
Christoph Oelckers a05dab66f7 - color tweaking for the options menu. 2019-12-07 15:45:29 +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 13c7dcecf6 - exported all game relevant texts from Duke Nukem and Redneck Rampage. 2019-12-07 14:53:13 +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 0b8da78ff5 - toupperlookup was no longer referenced anywhere. 2019-12-07 10:56:35 +01:00
Christoph Oelckers 0342b96335 - cleaned out the remaining wrappers from cache1d.h and use the file system directly instead. 2019-12-07 10:49:23 +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 ddfb2223db - added a directory list function to the file system.
- fixed lookup for resources by ID - it always picked the first candidate from the hash chain without checking the actual ID.
2019-12-07 09:44:43 +01:00
Christoph Oelckers 7d7507d453 - always add movie and music subdirectories. 2019-12-07 00:57:45 +01:00
Christoph Oelckers 5c7b05a791 - made THINGINFO const. 2019-12-07 00:07:02 +01:00
Christoph Oelckers 7a8208eb2f - fixed out of bounds memory access. 2019-12-06 23:20:18 +01:00
Christoph Oelckers 06d2f9fcf1 - fixed music names in Blood 2019-12-06 20:31:17 +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 a0fe7f4048 - more mouse fixes. Most of the menu is now mouse controllable again.
The exceptions are the text screens which do not react to the mouse and the confirmation screen which treats a mouse click as a cancel event.
2019-12-06 00:06:41 +01:00
Christoph Oelckers 3d10d006a7 - fixing mouse menu control, part 1. 2019-12-05 23:49:32 +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
nukeykt 9a71545c51 Fix rednukem compiling
# Conflicts:
#	source/rr/src/anim.cpp
#	source/rr/src/common.cpp
#	source/rr/src/common_game.h
#	source/rr/src/game.cpp
#	source/rr/src/grpscan.cpp
#	source/rr/src/menus.cpp
#	source/rr/src/menus.h
#	source/rr/src/net.cpp
#	source/rr/src/net.h
#	source/rr/src/osdcmds.cpp
#	source/rr/src/player.cpp
#	source/rr/src/rts.cpp
#	source/rr/src/savegame.cpp
#	source/rr/src/screens.cpp
#	source/rr/src/sounds.cpp
#	source/rr/src/startosx.game.mm
#	source/rr/src/startwin.game.cpp
2019-12-05 20:59:10 +01:00
Christoph Oelckers 1b9d1943c9 - initialize all dynamic music related menus. 2019-12-05 20:50:19 +01:00
Christoph Oelckers 54177cd27d - added the animated player display. 2019-12-05 19:52: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 d1ed4063eb Fix the widescreen alignment of weapons when shrinking the screen with + or - (currently disabled by default)
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@8356 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-05 17:23:07 +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 6914408453 - fixed writeback of hud_size CVAR
G_ChangeHudLayout must ensure that the written value is ok, otherwise the auto validation in the CVAR can screw things up.
2019-12-05 00:54:55 +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 1b1fad6e13 - forgot to save this. 2019-12-05 01:17:28 +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 525cf28d29 - commented FBaseCVar::GetHumanString back in.
This had to be deactivated when adding the code, but was forgotten when everything was ready.
2019-12-04 23:09:09 +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 5b0033c08c - minor menu tweaks and fixes. 2019-12-04 18:52:39 +01:00
Christoph Oelckers dca118881a - added graphics for the mouse back button and reactivated the code for it. 2019-12-04 17:55:43 +01:00
Christoph Oelckers 138326314e - text update. 2019-12-04 17:30:41 +01:00
Christoph Oelckers 4cefc1db83 Merge branch 'master' into menu_for_real 2019-12-04 17:25:40 +01:00
Christoph Oelckers 7d1eb74b5e - more menus implemented 2019-12-04 01:38:51 +01:00
Christoph Oelckers 6a6d6e3694 - fixed quote init. 2019-12-04 00:38:43 +01:00
Christoph Oelckers 72857db17b - refactor of the quote storage.
This was consolidated for both EDuke and RedNukem frontends, put into a class with strict access control and the length limit was lifted.
The new class will eventually allow better localization control.
2019-12-04 00:28:28 +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 fb5d944170 - made the mouse sensitivity CVARs floating point so that the menu can display them properly.
- disabled the mouse movement sensitivity CVARs pending a refactoring of the code to handle them in the input backend instead of the individual input handlers.
2019-12-03 20:49:56 +01:00
Christoph Oelckers 49e0e551d6 - fixed the sliders. 2019-12-03 20:32:35 +01:00
Christoph Oelckers 6f9494435a - adjustment for last commit. 2019-12-03 17:40:35 +01:00
hendricks266 53e2a8297d Fix STARTUP_WINDOW=0 on modern macOS
git-svn-id: https://svn.eduke32.com/eduke32@8351 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/sdlayer.cpp
#	source/build/src/startosx.editor.mm
#	source/platform/macos/osxbits.h
#	source/platform/macos/startosx.game.mm
2019-12-03 17:34:36 +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 6245a0e2e2 - added mouse and controller menus
The controller menu obviously does not work yet, it needs quite a bit of backing code fron GZDoom first.
2019-12-03 01:21:27 +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 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 d55f55c04d - now, where this that 6 come from...? 2019-12-02 19:27:35 +01:00
Christoph Oelckers bc3a921a72 - fixed newly added menu content. 2019-12-02 19:21:45 +01:00
Christoph Oelckers 026cc7153c - externalized the controller bindings and removed all code responsible for maintaining them separately.
Bindings were changed a bit because what was there was a very poor default for my own controller.
2019-12-02 18:33:11 +01:00
Christoph Oelckers 26daff79db - fixed compile errors and updated string table. 2019-12-02 18:11:10 +01:00
Christoph Oelckers 00b2467eea - WIP keybinding cleanup 2019-12-02 02:07:32 +01:00
Christoph Oelckers 36cf2583e4 - removed some dead code. 2019-12-02 00:19:35 +01:00