1294 Commits

Author SHA1 Message Date
Roman Fomin
94efdea7c3 winmidi: bring back MIDI_EVENT_SYSEX_SPLIT 2022-12-01 12:48:38 +07:00
Roman Fomin
9953ba7b67 winmidi: cosmetic changes 2022-12-01 10:26:39 +07:00
Roman Fomin
6323ef42f6 winmidi: fix SysEx messages
Tested with Yamaha S-YXG50 software emulation.
2022-12-01 04:24:23 +07:00
Roman Fomin
d3e0001d90 winmidi: cosmetic fixes 2022-11-30 20:12:20 +07:00
Fabian Greffrath
b596220967
support dedicated music for Episode 4 of Ultimate Doom (#818)
* support dedicated music for Episode 4 of Ultimate Doom

* suppoer UMAPINFO music in the IDMUS cheat
2022-11-30 12:52:11 +01:00
Roman Fomin
c338701fea
winmidi: send SysEx messages, use SysEx reset (#816)
* initial implementation of SysEx messages

* don't use memio

* send SysEx reset message, don't use `midiOutShortMsg`, cosmetic fixes

* try to fix cppcheck warning

* another attempt to fix cppcheck warning

* remove unused variable

* fix looping, another type of SysEx

* round buffer size

* use GS Reset message instead of GM System On

* move up MIDI_CONTROLLER_MAIN_VOLUME, add comment

* fix title and MAP03 tracks in MAYhem19.wad

* bring back `native_event_t`

* another looping fix

* cosmetic fixes

* fix looping delay

* use PADDED_SIZE macro

* remove master_vol message

* more cosmetic fixes

* delete unused variable

* send reset at shutdown

* Revert "send reset at shutdown"

This reverts commit 6bed6016caeeb38dd352fc8319c113796a5c1164.

* reset device at shutdown

* fix comments
2022-11-30 09:30:27 +01:00
Roman Fomin
60d15ea920
fix NULL string comparison in deh parser (#817) 2022-11-29 06:42:51 +01:00
Fabian Greffrath
b3ff45d15c make the condition to start a new sequence less critical
In paticular, if less time than required for a full shading sequence has passed,
don't start a new one. This allows to skip a gametic between two rendered frames,
which apparently happens sometimes.
2022-11-28 20:10:44 +01:00
Fabian Greffrath
a63e16b14c introduce 2022-11-28 08:45:44 +01:00
Fabian Greffrath
1fb4a96cab introduce automap_on/automap_off macros 2022-11-28 08:41:09 +01:00
Fabian Greffrath
fbf6b42237 user overlay_t everywhere 2022-11-28 08:32:49 +01:00
Fabian Greffrath
e087e44d8b fix comment 2022-11-28 08:31:47 +01:00
Alaux
a599174b61
Implement dark automap overlay (#813)
* Implement dark automap overlay

* Second implementation

* Third implementation

* Fourth implementation

* Introduce `M_MenuIsShaded()`
2022-11-28 08:31:08 +01:00
Fabian Greffrath
31dd96a2ec always force checking for gamemode for doom1.wad IWAD 2022-11-27 18:32:39 +01:00
Fabian Greffrath
01caf9c5f5 do not allow autoloading in shareware gamemode 2022-11-27 18:31:26 +01:00
Fabian Greffrath
c2204bc56a
Update CHANGELOG.md 2022-11-23 15:41:01 +01:00
Fabian Greffrath
c527b4acb1 update SDL to 2.26.0 2022-11-23 08:25:26 +01:00
Alaux
d1ea5173a1
Remove V_MarkRect() (#812) 2022-11-23 07:51:16 +01:00
Fabian Greffrath
f70d372907
fix all cppcheck 2.9 warnings (#771)
* fix most cppcheck 2.9 warnings

* simplify matters

* simplify a bit more

* simplify

* more/better fixes

* whitespace cosmetic

* use I_Realloc() in u_mapinfo.c
2022-11-23 07:51:01 +01:00
Fabian Greffrath
d39d15a76b
Update CHANGELOG.md 2022-11-22 08:59:45 +01:00
Fabian Greffrath
3f6a03263c
add VGA "porch" behaviour emulation (#811) 2022-11-21 20:28:14 +01:00
Alaux
e5d9de2cf3
Add enums for stat and auto setup menus (#810) 2022-11-21 06:18:40 +01:00
Fabian Greffrath
77d6a6bf9c color armor widgets gray we well in invulnerability mode 2022-11-20 21:22:34 +01:00
Fabian Greffrath
375a2084ce increase parallel_sfx_limit default value to 4 2022-11-20 14:15:34 +01:00
Alaux
bbff21bb59
Make color of health count gray when invulnerable (#809) 2022-11-18 06:41:43 +01:00
Fabian Greffrath
d2a411bd20 rename max_instances back to parallel_sfx_limit and make configurable 2022-11-17 21:41:44 +01:00
Fabian Greffrath
4ea5788c90 some rearrangement in the sound code 2022-11-17 21:34:16 +01:00
Fabian Greffrath
df7a1d45bf CI: all cppcheck calls on one line 2022-11-17 21:32:00 +01:00
Fabian Greffrath
f73f189abb
limit the number of identical sounds playing at once, based on priority ordering (#807)
* Revert "add parallel same-sound limit from DSDA-Doom (#796)"

This reverts commit d7849c8fa7ba4b2c92a1784b92127df267f4e8db.

* first shot at sorting sounds by priority

* fix build

* our S_AdjustSoundParams() already mangles volume into priority

* add/fix comments

* newer same-priority sounds are supposed to stop older ones

* use qsort() instead of undocumented (whoops\!) SDL_qsort()

* back to newer same-priority sounds let older ones finish

* keep the singularity concept alive

* get rid of the lowestpriority concept, we already ordered channels by priority

* keep the "snd_channels = 16" default

* Revert "keep the "snd_channels = 16" default"

This reverts commit 79fc9b3332304aa7cd9f7ac687c46089f1d40918.

* Update s_sound.c

* maintain a stable sort (newer sounds have precedence)

* fix typo/thinko

* fix sort order

* fix comparison function return value

* Update s_sound.c

* last nit-pick (hopefully!)
2022-11-17 16:26:20 +01:00
Alaux
9bcf2be8a0
Have "Clear Marks" key clear just the last mark (#808) 2022-11-17 07:41:40 +01:00
Fabian Greffrath
cb26aa9b89 use regular qsort() instead of undocumented SDL_qsort() 2022-11-16 14:43:14 +01:00
Alaux
f15680d4f0
Remove unused function arguments (#806) 2022-11-16 09:06:37 +01:00
Fabian Greffrath
e1274e6481
implement SDL-native sound looping for moving walls (#803)
* implement SDL-native sound looping for moving walls

* add an extra check that new and oldlooping sound are same

* stop looping sounds during menus and pause

* stop looping sounds on level exit

* stop looping sounds if P_Ticker() didn't run through

* do not iterate through sound channels more than necessary

* correctly count looping sounds
2022-11-14 20:21:55 +01:00
Roman Fomin
49f2ec0ac4 Revert "move ST_doPaletteStuff() from ST_Drawer() to ST_Ticker() (#791)"
This reverts commit 7e6d90c01a659808a500f9147f3b12eaad83d881.
Fix skipping level in multilevel demos showing palette changes.
2022-11-15 00:40:13 +07:00
Fabian Greffrath
6623e5cf15
allow the SSG in Doom 1 if the corresponding assets are available (#801)
* allow the SSG in Doom 1 if the corresponding resources are available

Fixes #799

* improve SSG resources availability check

* s/SSG resources/SSG assets/g
2022-11-14 09:15:36 +01:00
Fabian Greffrath
501c263277
allow COMP cheat to change complevel in-game (#798)
* allow COMP cheat to change complevel in-game

* fix variable redefinition

* less verbosity

* add a function parameter to G_ReloadDefaults()

* cosmetic function parameter name change

* back to reporting complevel names

* avoid reserved keyword "new"
2022-11-14 09:14:58 +01:00
Fabian Greffrath
d7849c8fa7
add parallel same-sound limit from DSDA-Doom (#796)
* add parallel same-sound limit from DSDA-Doom

Fixes #546

* remove redundant declaration

* rearrange menu item into General menu
2022-11-14 09:14:23 +01:00
Roman Fomin
6fcb0fe888
umapinfo: don't show menu for only one episode (#805) 2022-11-14 11:36:22 +07:00
Fabian Greffrath
e72887abbc fix reported savegame slot number 2022-11-11 11:20:49 +01:00
Fabian Greffrath
947463c624
fix background drawing on screen size 3 in 21:9 widescreen mode (#795)
Fixes #794
2022-11-10 10:36:50 +01:00
Fabian Greffrath
df7e980f49
some minor clean-up in the sound code (#797) 2022-11-10 09:59:44 +01:00
Fabian Greffrath
bfce51a5c8 fix midi_player config setting description 2022-11-09 12:32:30 +01:00
Fabian Greffrath
d7a017ff25
report most significant audio device properties (#792) 2022-11-08 12:25:24 +01:00
Fabian Greffrath
6be8c38aed allow SDL2_Mixer to adjust sample size 2022-11-08 11:20:14 +01:00
Fabian Greffrath
59d3a6a80e
remove stray trailing '0' from status bar face lump name 2022-11-04 13:56:20 +01:00
Fabian Greffrath
7e6d90c01a
move ST_doPaletteStuff() from ST_Drawer() to ST_Ticker() (#791)
Thanks @JNechaevsky
2022-11-04 11:29:38 +01:00
Fabian Greffrath
473febad55
support face gib animations as in the 3DO/Jaguar/PSX ports (#790)
* initial support for 6 STFXDTH frames with a 10 tic timing

* support 5 or 6 frames, bind to player's xdeathstate

* `state` is at least zero, if `have_xdthfaces` is zero, we will return `ST_XDTHFACE - 1` which is equal to `ST_DEADFACE`

* adapt to the canonical naming scheme

* better safe than sorry

* back to the old naming scheme

* support up to 9 frames

* add comments
2022-11-04 11:29:14 +01:00
Fabian Greffrath
c1a7a8e71d fix menu category for compat-breaking features 2022-11-02 09:57:17 +01:00
Fabian Greffrath
c2f9c62179
add "Walk Under Solid Hanging Bodies" from PrBoom+ (#786) 2022-11-02 09:56:11 +01:00
Roman Fomin
a1cc6c6be3 do not switch timer if fastdemo is not enabled 2022-11-02 15:07:23 +07:00