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
35342526a5
- WIP search path code
...
The Steam/GOG path getters were taken out of the frontends.
This also switches the Windows directory reader touse the wide string version to get Unicode file names.
Some paths were added to the config file instead of hard coding them.
2019-10-29 01:00:44 +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
5148fc877d
- consolidate the 3 instances of input.cpp.
...
Some stuff had to be disabled to make it work but that's hardly relevant considering that the goal is to transition off MACT for input handling.
2019-10-28 18:32:05 +01:00
Christoph Oelckers
a72863112b
- fix compilation
2019-10-28 17:50:08 +01:00
Christoph Oelckers
21f6178ade
- avoid writing directly to a backend status variable
2019-10-28 07:10:56 +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
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
68b64d2091
- fixed compilation.
2019-10-27 23:18:44 +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
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
038c1ba4ba
- more CVARs.
2019-10-27 09:53:09 +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
7023e1e992
- store game vars in the new config file.
2019-10-27 00:29:46 +02: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
288b230ab8
- only let the CON script access the defaults of CVARs, not their actual value.
...
That allows using them for initialization but not for messing around with user settings.
2019-10-26 18:39:52 +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
1c29169492
-perform a proper exit, i.e. make sure that the deinit code can run, by throwing a special exception and actually catching it in the main function.
2019-10-26 10:30:08 +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
6f6c850d80
- fixed some search&replace errors
2019-10-25 19:02:27 +02:00
Christoph Oelckers
9648c026a9
- small adjustments
2019-10-24 20:36:18 +02:00
Christoph Oelckers
8730ce552b
- make things compile again.
...
Let's hope it still works...
2019-10-24 20:28:46 +02:00
hendricks266
c6c7c91d7c
Add MIDI_GetDevice and use it so that the default driver value doesn't show as "Custom" in the menu
...
git-svn-id: https://svn.eduke32.com/eduke32@8261 1a8010ca-5511-0410-912e-c29ae57300e0
2019-10-24 19:44:22 +02:00
hendricks266
7650cbe592
Fix calls to FX_ErrorString and MUSIC_ErrorString
...
git-svn-id: https://svn.eduke32.com/eduke32@8260 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/duke3d/src/sounds.cpp
# source/duke3d/src/sounds_mapster32.cpp
# source/sw/src/sounds.cpp
2019-10-24 19:44:21 +02:00
hendricks266
553dfb3544
Prefer early return on error in sound and MIDI init functions
...
git-svn-id: https://svn.eduke32.com/eduke32@8259 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/duke3d/src/sounds.cpp
# source/duke3d/src/sounds_mapster32.cpp
# source/sw/src/sounds.cpp
2019-10-24 19:43:51 +02:00
hendricks266
14996d930b
Prefer "MIDI driver" to "Music device"
...
git-svn-id: https://svn.eduke32.com/eduke32@8258 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/duke3d/src/sounds_mapster32.cpp
# source/sw/src/sounds.cpp
2019-10-24 19:42:54 +02:00
terminx
f0acbc1ca5
Fix AdLib timbre loading
...
git-svn-id: https://svn.eduke32.com/eduke32@8231 1a8010ca-5511-0410-912e-c29ae57300e0
2019-10-24 19:27:16 +02:00
terminx
4ff4fddf62
The constening
...
git-svn-id: https://svn.eduke32.com/eduke32@8224 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/audiolib/include/al_midi.h
2019-10-24 19:26:23 +02:00
terminx
8eb5233232
Further audiolib work... I think this is almost done!
...
git-svn-id: https://svn.eduke32.com/eduke32@8219 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# GNUmakefile
# platform/Windows/audiolib.vcxproj
# platform/Windows/audiolib.vcxproj.filters
# platform/Windows/build.vcxproj
# platform/Windows/build.vcxproj.filters
# source/audiolib/include/al_midi.h
# source/audiolib/src/_al_midi.h
# source/duke3d/src/osdcmds.cpp
# source/duke3d/src/sounds.cpp
2019-10-24 19:25:48 +02:00
terminx
8a1681fb5a
More audiolib work
...
git-svn-id: https://svn.eduke32.com/eduke32@8218 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/audiolib/src/music.cpp
# Conflicts:
# GNUmakefile
# platform/Windows/audiolib.vcxproj
# platform/Windows/audiolib.vcxproj.filters
# source/duke3d/src/menus.cpp
2019-10-24 19:25:09 +02:00
terminx
8b20118026
Audiolib rework WIP
...
This attempts to rectify the differences between versions of JFAudiolib created after we forked the code, and the extra features contained in Nuke.YKT's fork of our version.
git-svn-id: https://svn.eduke32.com/eduke32@8216 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# GNUmakefile
# platform/Windows/audiolib.vcxproj
# platform/Windows/audiolib.vcxproj.filters
# platform/Windows/eduke32.vcxproj
# platform/Windows/eduke32.vcxproj.filters
# source/audiolib/include/fx_man.h
# source/audiolib/include/multivoc.h
# source/audiolib/src/flac.cpp
# source/audiolib/src/formats.cpp
# source/audiolib/src/fx_man.cpp
# source/audiolib/src/vorbis.cpp
# source/audiolib/src/xa.cpp
# source/audiolib/src/xmp.cpp
# source/duke3d/src/sounds_mapster32.cpp
# Conflicts:
# Common.mak
# GNUmakefile
# platform/Windows/audiolib.vcxproj
# platform/Windows/audiolib.vcxproj.filters
# platform/Windows/eduke32.vcxproj
# platform/Windows/eduke32.vcxproj.filters
# source/audiolib/include/multivoc.h
# source/audiolib/src/vorbis.cpp
# source/duke3d/src/config.cpp
# source/duke3d/src/game.h
# source/duke3d/src/osdcmds.cpp
# source/duke3d/src/sounds_mapster32.cpp
2019-10-24 19:24:31 +02:00
terminx
a1f08f2465
New files for audiolib
...
This is in a separate commit just to make the changes to existing files easier to go through.
git-svn-id: https://svn.eduke32.com/eduke32@8215 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/audiolib/include/midi.h
# source/audiolib/src/_midi.h
# source/audiolib/src/al_midi.cpp
# source/audiolib/src/midi.cpp
# source/audiolib/src/music.cpp
# source/audiolib/src/oplmidi.cpp
# source/duke3d/src/midi.cpp
# Conflicts:
# source/audiolib/src/al_midi.cpp
# source/audiolib/src/midi.cpp
# source/audiolib/src/music.cpp
2019-10-24 19:22:49 +02:00
terminx
d6e52ed526
Use SDL audiolib driver on Windows
...
This shitcans the SDL_mixer requirement but leaves platforms other than Windows without built-in MIDI playback capability until Nuke.YKT's OPL3 emulator is merged. This also reworks sdlmusic.cpp into music_external.cpp, including an untested port of the code to Windows.
git-svn-id: https://svn.eduke32.com/eduke32@8214 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# GNUmakefile
# platform/Windows/eduke32.vcxproj
# platform/Windows/props/build_common.props
# source/audiolib/src/sdlmusic.cpp
# Conflicts:
# Common.mak
# GNUmakefile
# platform/Windows/audiolib.vcxproj
# platform/Windows/eduke32.vcxproj
# platform/Windows/eduke32.vcxproj.filters
# platform/Windows/props/build_common.props
# source/audiolib/src/driver_sdl.cpp
# source/audiolib/src/sdlmusic.cpp
# source/build/include/vfs.h
# source/build/include/winbits.h
# source/build/src/winbits.cpp
2019-10-24 19:22:06 +02:00
hendricks266
89cd122d14
Initialize sound before music
...
git-svn-id: https://svn.eduke32.com/eduke32@8255 1a8010ca-5511-0410-912e-c29ae57300e0
2019-10-24 19:06:04 +02:00
Christoph Oelckers
3efb54e167
- ported most of the remaining HUD CVars
2019-10-24 01:30:33 +02:00
Christoph Oelckers
966751b7e8
- added GZDoom's font code and some dependencies.
2019-10-24 01:20:58 +02:00
Christoph Oelckers
20df360778
- converted the Polymost CVARs.
2019-10-23 21:11:37 +02:00
Christoph Oelckers
ee5f0a7cf6
- cleaned out the remains of the frontends' CVAR definitions.
2019-10-23 18:58:34 +02:00
Christoph Oelckers
21d90fd08b
- fixed compilation.
2019-10-23 18:36:48 +02:00
Christoph Oelckers
02fff2df06
- refactored wchoice and sensitivity CVARS
...
This is all that's needed for now, the remaining ones can wait.
2019-10-23 17:21:14 +02:00
Christoph Oelckers
18430c6c9f
- refactored r_fpslimit
...
Also removed the entire cruft related to this - the pointless offsetting value and the precalculation of the timer value (as if we could not afford a single division for something that WAITS!
Unfortunately this required removal of the menu option for the time being.
2019-10-23 17:07:29 +02:00
Christoph Oelckers
43413e4dff
- r_useprecache
2019-10-23 14:39:33 +02:00
Christoph Oelckers
63f020996e
- a few more CVARs
2019-10-23 01:30:43 +02:00
Christoph Oelckers
5dec4736ce
- r_drawweapon, r_showfps, r_showfpsperiod
2019-10-23 01:04:07 +02:00
Christoph Oelckers
e5d38b2d30
- in_mouseflip and in_mousesmoothing
...
in_mousemode removed from persistent state because of how it is used.
Saving it makes no sense.
2019-10-23 00:59:01 +02:00
Christoph Oelckers
b73cf76f05
- in_mousebias and in_mousedeadzone
...
Actually, two totally useless options being preserved for historical significance.
Urgh.
2019-10-23 00:55:48 +02:00
Christoph Oelckers
c0c62fe367
- in_mouseaiming
2019-10-23 00:51:49 +02:00
Christoph Oelckers
7501120dc8
- in_mouse and in_joystick
2019-10-23 00:41:28 +02:00
Christoph Oelckers
713250cc64
- refactored a few more CVARs.
2019-10-23 00:20:27 +02:00
Christoph Oelckers
d476037f45
- hooked up hud_custom.
2019-10-22 23:43:16 +02:00
Christoph Oelckers
e5aa6c5df0
- refactored the HUD scaling into something manageable.
...
Blood was fine, albeit with an inverted scale, but the EDuke implementation was something very special - and not in a good way, using 4 CVARs to store the scaling state instead of one.
2019-10-22 23:31:46 +02:00
Christoph Oelckers
a829f1cb52
- fixed all compile errors.
2019-10-22 17:47:24 +02:00
Christoph Oelckers
edce0d33e3
- refactored crosshairscale CVAR
2019-10-22 17:00:22 +02:00
Christoph Oelckers
bdf2d24b21
- refactored cl_weaponswitch
2019-10-22 02:31:14 +02:00
Christoph Oelckers
8431266d27
- refactoring of music CVARs
...
This is a lot of changes in a lot of code because nothing here was abstracted into the sound system. :(
Hopefully most of the affected code here can be tossed out soon, it's not pretty.
2019-10-22 02:01:05 +02:00
Christoph Oelckers
d2be5a4db9
- removed the OSD CVARs
...
They'll be removed anyway when the current OSD is tossed.
No need to bother.
2019-10-22 01:16:02 +02:00
Christoph Oelckers
38187a1870
- simple to convert demo CVARs
2019-10-22 01:06:02 +02:00
Christoph Oelckers
c5cb86bf2b
- sevral simple CVARs ported
2019-10-22 01:00:22 +02:00
Christoph Oelckers
279c0caea4
- autosave variables
2019-10-22 00:58:51 +02:00
Christoph Oelckers
dbe3cadd0f
- refactored autorunning CVARs
2019-10-22 00:52:07 +02:00
Christoph Oelckers
39c6af9b0a
- cl_automsg
2019-10-22 00:14:39 +02:00
Christoph Oelckers
30e9eed1b3
- the next CVAR, cl_autoaim
2019-10-22 00:05:21 +02:00
Christoph Oelckers
79d02a405e
- started transitioning the CVARs.
...
This is going to be a lot of work consolidating the 3 frontends' settings but a necessary evil for eventually getting Shadow Warrior to work as it is quite lacking here.
2019-10-21 23:29:48 +02:00
Christoph Oelckers
bc8578e153
- brought in GZDoom's gameconfigfile so that the settings can be transitioned to a more robust implementation.
2019-10-21 21:36:05 +02:00
Christoph Oelckers
0d737ee130
- removed all code related to the -usecwd command line switch.
...
While feature-wise ok this was far too scattered throughout the frontends and needs to be done in a more concise way.
2019-10-21 19:51:12 +02:00
Christoph Oelckers
5022c58a63
- refactored the file access in the rest of the DN3D frontend and in some duplicated code in the Blood frontend.
2019-10-20 23:37:07 +02:00
Christoph Oelckers
d3c2d8e96f
- refactored file access in the movie player.
2019-10-20 22:48:21 +02:00
Christoph Oelckers
449a5a4717
- refactoring of palette loader.
2019-10-20 22:26:53 +02:00
terminx
9aae157e27
This helps the player not fall off of the edges of certain types of moving sectors as easily
...
git-svn-id: https://svn.eduke32.com/eduke32@8245 1a8010ca-5511-0410-912e-c29ae57300e0
2019-10-20 21:08:53 +02:00
terminx
4c28d25e3f
Don't activate gamefunc_Toggle_Crouch if cheat_phase is non-zero
...
git-svn-id: https://svn.eduke32.com/eduke32@8244 1a8010ca-5511-0410-912e-c29ae57300e0
2019-10-20 21:08:51 +02:00
terminx
6f6d568720
This fixes most issues with the player clipping through the walls of rotating sectors
...
git-svn-id: https://svn.eduke32.com/eduke32@8243 1a8010ca-5511-0410-912e-c29ae57300e0
2019-10-20 21:08:50 +02:00
terminx
21025ea18f
Prefer assignment of .vec2 union inside vec3_t instead of explicitly assigning .x and .y members
...
git-svn-id: https://svn.eduke32.com/eduke32@8242 1a8010ca-5511-0410-912e-c29ae57300e0
2019-10-20 21:08:49 +02:00
Christoph Oelckers
2be5727137
- refactored all file reading in the savegame code to the FileReader interface.
...
In this case a different open function is used because this is normally files on the hard drive and not assets, so being able to have a different setup for finding them is important.
2019-10-20 21:04:55 +02:00
Christoph Oelckers
1b96861615
- consolidated RTS code, because there were 3 copies.
...
Also completely rewritten to get rid of the cache dependency.
2019-10-20 19:13:44 +02:00
Christoph Oelckers
bf8a2ee573
- started refactoring of file handling, starting with some nasty bits in Shadow Warrior.
2019-10-20 17:09:58 +02:00
Christoph Oelckers
75205ca69c
- do not throw exceptions to exit without proper handling.
2019-10-20 11:28:16 +02:00
Christoph Oelckers
489170b12c
- fixed compilation again.
2019-10-20 10:52:38 +02:00
terminx
63d6e70e21
Apparently, a long while back when I limited snd_numvoices to 128 I forgot to change the menu to reflect it
...
git-svn-id: https://svn.eduke32.com/eduke32@8234 1a8010ca-5511-0410-912e-c29ae57300e0
2019-10-20 10:45:51 +02:00
Christoph Oelckers
76bceb81cd
- removed time consuming load indicator from Duke3D frontend as well.
2019-10-20 10:45:50 +02:00
terminx
c68c50ddca
Add snd_tryformats cvar to disable automatic loading of .ogg and .flac versions of sound and music
...
git-svn-id: https://svn.eduke32.com/eduke32@8212 1a8010ca-5511-0410-912e-c29ae57300e0
2019-10-20 10:45:50 +02:00
terminx
873440f06c
Fix tiny header issue
...
git-svn-id: https://svn.eduke32.com/eduke32@8208 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/duke3d/src/osdcmds.cpp
# source/duke3d/src/osdcmds.h
2019-10-20 10:45:50 +02:00
terminx
b8f4651ab4
Don't try videoSetGameMode() if there aren't any valid modes
...
git-svn-id: https://svn.eduke32.com/eduke32@8207 1a8010ca-5511-0410-912e-c29ae57300e0
2019-10-20 10:45:50 +02:00
Christoph Oelckers
215a7cdff3
- removed unused animlock variable.
2019-10-20 10:45:49 +02:00
terminx
ca789dc4d0
Wait to run G_MoveLoop() until a frame has just been rendered
...
This should give G_MoveLoop() a better chance to not run past the time when another frame is to be drawn.
git-svn-id: https://svn.eduke32.com/eduke32@8195 1a8010ca-5511-0410-912e-c29ae57300e0
2019-10-20 10:45:49 +02:00
terminx
ba02bbaf67
Add #pragma once to debugbreak.h and remove it from separate inclusion in a couple of translation units as we're including it directly in compat.h now
...
git-svn-id: https://svn.eduke32.com/eduke32@8192 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/sdlayer.cpp
# source/duke3d/src/gamedef.cpp
2019-10-20 10:45:48 +02:00
terminx
d7f779eaec
Use EXIT_FAILURE and EXIT_SUCCESS from stdlib.h when calling exit()
...
git-svn-id: https://svn.eduke32.com/eduke32@8190 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/build.cpp
# source/build/src/polymost.cpp
# source/build/src/tiles.cpp
# source/duke3d/src/astub.cpp
2019-10-20 10:45:48 +02:00
Christoph Oelckers
462bd8d292
- cleaned out some commented out code.
2019-10-20 10:44:51 +02:00
Christoph Oelckers
2316957026
- made things compile again after updating enet. Also removed the redundant dumb and game_music_emu libraries which just got imported by accident when using other things from GZDoom.
...
Note: enet uses 'malloc' and 'free' as field names in a struct - this does not work with any compiler using some sort of heap instrumentation that #defines these names!
This had to be changed to allow MSVC debug builds to compile again.
2019-10-20 09:16:01 +02:00
terminx
63713002b3
Swap out our old deprecated version of ENet for a single-file header-based fork, including features like IPv6 support
...
git-svn-id: https://svn.eduke32.com/eduke32@8175 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# GNUmakefile
# libraries/enet/LICENSE
# libraries/enet/callbacks.c
# libraries/enet/compress.c
# libraries/enet/enet/callbacks.h
# libraries/enet/enet/enet.h
# libraries/enet/enet/list.h
# libraries/enet/enet/protocol.h
# libraries/enet/enet/time.h
# libraries/enet/enet/types.h
# libraries/enet/enet/unix.h
# libraries/enet/enet/utility.h
# libraries/enet/enet/win32.h
# libraries/enet/host.c
# libraries/enet/list.c
# libraries/enet/packet.c
# libraries/enet/peer.c
# libraries/enet/protocol.c
# libraries/enet/unix.c
# libraries/enet/win32.c
# platform/Windows/build.vcxproj
# platform/Windows/build.vcxproj.filters
# platform/Windows/eduke32.sln
# platform/Windows/eduke32.vcxproj
# source/duke3d/src/player.cpp
2019-10-20 08:43:36 +02:00
terminx
ad6d94b0f5
Patch from Doom64hunter to address a couple of issues with per-map art
...
git-svn-id: https://svn.eduke32.com/eduke32@8167 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/tiles.cpp
2019-10-20 08:28:44 +02:00