1946 Commits

Author SHA1 Message Date
Fabian Greffrath
f3284e4ecd release Woof! 11.1.3 woof_11.1.3 2023-05-23 14:23:34 +02:00
Fabian Greffrath
153dd9f650 more fixes for DSDHacked sprites and sounds
Fixes #1072
2023-05-23 14:22:09 +02:00
Fabian Greffrath
626e5629bc release Woof! 11.1.2 woof_11.1.2 2023-05-23 10:25:21 +02:00
Roman Fomin
f6e3c01f1a
make cheat restrictions consistent for menu and player input (#1071)
* disable cheats in strictmode
2023-05-23 07:31:39 +07:00
Fabian Greffrath
6167d92086
avoid collisions between very long left/right aligned widgets (#1070)
* avoid collisions between very long left/right aligned widgets

* text widget with a cursor (i.e. chat widget) gets a line on its own

* build fix

* draw chat widget before messages

* add an align_topleft_exclusive mode for the chat and message widgets, which will always reserve a whole line for them
2023-05-22 11:59:08 +02:00
Fabian Greffrath
118d192ae6
implement centered widgets, avoid collisions with left/right aligned widgets (#1067) 2023-05-22 09:08:48 +02:00
ceski
e053e04331
winmidi: Prevent hanging notes when pausing game (#1069) 2023-05-22 13:54:59 +07:00
Roman Fomin
e89612a0c9
fix DSDHacked crash (#1066)
* fix sounds crash

* same issue with sprites
2023-05-21 15:46:22 +07:00
Roman Fomin
8a6e81ac29
fix automap overlay reset (#1064) 2023-05-20 09:04:08 +02:00
Roman Fomin
79bfb2b932 cmake: little clean up 2023-05-19 15:19:51 +07:00
Roman Fomin
9acc84de85 memio: init reset_eof field 2023-05-19 15:19:02 +07:00
Fabian Greffrath
d912403233 macroize the weapon state checks in P_MovePsprites() 2023-05-18 15:31:21 +02:00
Fabian Greffrath
6721c93497 release Woof! 11.1.1 woof_11.1.1 2023-05-17 22:21:01 +02:00
Roman Fomin
112fa537b2
set display resolution when toggle exclusive fullscreen (#1061)
If the game is started in windowed mode, when switching to exclusive fullscreen
mode, the the size of the window is applied to renderer instead of the size of
fullscreen. Tested on Win10.
2023-05-17 20:24:26 +02:00
Roman Fomin
cc058df7e0 remove disable widescreen mode menu item 2023-05-18 01:21:49 +07:00
ceski
fb03087079
winmidi: Sync with Chocolate Doom (#1060)
* Clean up `SendNullRPN()`

* Use GM as default case

* Use explicit casting for `MAKE_EVT` macro

* Limit max channel volume

* Rename `ConvertWideToUtf8()` to `M_ConvertWideToUtf8()`

Maintain consistency with other `M_*` functions.
2023-05-17 20:18:02 +02:00
Roman Fomin
feb602580e
fix setting EOF in memio (#1059) 2023-05-17 20:17:51 +02:00
Fabian Greffrath
3483ac7a96 release Woof! 11.1 woof_11.1.0 2023-05-17 10:13:23 +02:00
Fabian Greffrath
daabc909f0 fix 2023-05-17 08:22:07 +02:00
Fabian Greffrath
17bc0fb2c5 simplify invalid patch check on a per-patch base (instead of per-texture)
Also, improve PNG signature check, thanks @kraflab!
2023-05-17 08:18:56 +02:00
Fabian Greffrath
046a4bb83c
detect invalid patches, substitute dummy patch (#1058)
* add map announcements

* detect invalid patches, substitute dummy patch

Fixes crashes with WADs that use a PNG patch as sky, e.g. egregor.wad

* rename function to better reflect its, well, function

* Revert "add map announcements"

This reverts commit b285211727b55567a72d37aa0efdb0babd34f430.

* improve logging
2023-05-16 15:02:23 +02:00
Roman Fomin
c8b0b80545
Changelog update (#1057)
* update CHANGELOG.md

* fix formatting

* fix typos, add missed credit

* Update CHANGELOG.md

---------

Co-authored-by: Fabian Greffrath <fabian@greffrath.com>
2023-05-16 12:39:41 +02:00
Fabian Greffrath
3fd2db56ad
distinguish exit with message on error and on success (#1055) 2023-05-14 16:09:57 +02:00
Joan Bruguera
53024044fd
fix initialization with invalid video_display setting (#1054)
If the `video_display` setting is invalid (for example, due to a
disconnected monitor), it was reset on `I_GetWindowPosition`, which
is called during video initialization.

However, commit dc4182d6d81f ("add exclusive fullscreen to the menu")
reordered the initialization logic. As a result, an invalid
`video_display` can be passed to `SDL_GetCurrentDisplayMode`, causing
Woof to exit before the `video_display` reset logic is run.

Commit cab179594848 ("i_video.c refactor, resize upscaled texture on
window resize") somewhat mitigates the problem, but an exit still
happens when `fullscreen = 1` and `exclusive_fullscreen = 1`.

Fix this by moving the `video_display` reset logic to a separate
function which is called at the very start of video initialization.
2023-05-14 13:00:52 +02:00
Roman Fomin
2754a5d505
Merge pull request #1053 from ceski-1/winmidi-update
winmidi: Compatibility update
2023-05-14 16:17:49 +07:00
ceski
2c327067ea Use stdio.h instead of m_io.h 2023-05-13 14:17:21 -07:00
ceski
ca8dc6c3e1 Add MIDI compatibility levels
winmm_complevel:
0: Vanilla (Emulates DMX MPU-401 mode)
1: Standard (Emulates MS GS Synth) (Default)
2: Full (Send everything to device, including SysEx)
2023-05-13 02:25:27 -07:00
Roman Fomin
0fe727bd82 memio: make read_eof a MEMFILE property, remove printing 2023-05-13 15:34:40 +07:00
ceski
ba358c81a0 Add warning messages for MIDI instrument fallback 2023-05-12 23:44:00 -07:00
ceski
49c8450450 Add SysEx check for MIDI instrument fallback 2023-05-12 23:39:12 -07:00
ceski
4bc11c4371 Simplify reset, part 2
MS GS Synth checks fail when using custom MIDI mappers that hide the true MIDI device name.
2023-05-12 23:25:16 -07:00
ceski
bca0401993 Use consistent data types 2023-05-12 23:00:52 -07:00
ceski
84fe335294 Move meta message handling 2023-05-12 21:55:21 -07:00
ceski
79d6542dae Move SysEx message handling 2023-05-12 21:53:12 -07:00
ceski
e2bf6fb0d8 Move EMIDI message handling 2023-05-12 21:48:19 -07:00
ceski
2a6bcdca72 Clean up channel messages 2023-05-12 21:21:22 -07:00
ceski
02368558b2 Add missing consts 2023-05-12 20:55:47 -07:00
ceski
477fb17713 Simplify reset 2023-05-12 20:37:41 -07:00
Roman Fomin
590d410b13 fix upscale texture inconsistencies (now it should match Choco/Crispy) 2023-05-13 10:33:55 +07:00
ceski
ee415606ed Remove reverb and chorus config keys 2023-05-12 20:07:51 -07:00
ceski
cdf8987234 Clean up EMIDI device handling 2023-05-12 20:01:50 -07:00
ceski
0b9ca8a989 Fix EMIDI global looping
e.g. ALIENZ.MID
2023-05-12 19:54:49 -07:00
Roman Fomin
23edf7ef4c redo looping for music stream
* Fix looping off case for tracker music.

* Do not always loop if `LOOP_START`/`LOOP_END` tags are present.
2023-05-13 09:09:36 +07:00
Fabian Greffrath
c6735cb110
add -dumptables arg to export generated translation tables to PWAD (#1052)
* add -dumptables arg to export generated translation tables to PWAD

Fixes #1033

* start messages on a new line

* Revert "start messages on a new line"

This reverts commit 3896f9d49fecd6a17862cd19ad7b76c4dcd29c34.

* proper new line in message output
2023-05-12 13:48:44 +02:00
Roman Fomin
4b0cb33234
add initialization checks to music modules (#1051)
Now, for example, if OpenAL fails to initialize, Win Native MIDI can still
work.
2023-05-12 14:15:42 +07:00
Roman Fomin
b06439e4ab
replace sc_man with u_scanner for MUSINFO parsing (#1050) 2023-05-12 13:35:56 +07:00
Roman Fomin
7c72cb58f5 fix build on macOS < 10.5 2023-05-12 13:15:27 +07:00
Roman Fomin
6513419d39
reset musinfo.from_savegame on G_DoWorldDone and G_DeferedInitNew (#1049) 2023-05-12 13:09:33 +07:00
Roman Fomin
56ee1fbaa2 little clean up 2023-05-11 07:57:24 +07:00
Roman Fomin
f5276845cf more accurate emulation of fread in memio 2023-05-11 07:55:43 +07:00