1461 Commits

Author SHA1 Message Date
Fabian Greffrath
3fc2346bdd tweaks to toolsrc/bin2c 2023-03-21 11:43:23 +01:00
Fabian Greffrath
0daf278ce4 update copyright information for textscreen fonts 2023-03-21 11:08:23 +01:00
Fabian Greffrath
ce2f4ff47c add alternative HUD examples to docs, thanks @liPillON 2023-03-21 07:57:58 +01:00
Roman Fomin
8e62cae31e
disable "180 turn" in strict mode (new DSDA rules) (#948) 2023-03-20 15:23:54 +01:00
Roman Fomin
5cbe63c196 FluidSynth music module fixes 2023-03-20 21:18:56 +07:00
Roman Fomin
dd192165e3
use performance counters (#947) 2023-03-19 10:13:23 +01:00
Fabian Greffrath
fc24be131c
render textscreen content to an upscaled intermediate texture (#944)
* render textscreen content to an upscaled intermediate texture

* scale upscaled texture only to double framebuffer size

Could you please repeat your tests with this one @liPillON ?

* only create intermediate texture for normal font, increase scaling factor to 4

* remove small and large font

* get rid of the highdpi_font, always initialize renderer with SDL_WINDOW_ALLOW_HIGHDPI

Why is this even optional?
2023-03-19 10:12:38 +01:00
Roman Fomin
9180d56ec9 fix typo 2023-03-18 22:22:31 +07:00
Roman Fomin
34e55fba78
menu rearrangements (#946)
* Move translucency to "Display Options"

* Move "Mouse Settings" to last page
2023-03-18 01:24:07 +07:00
Michael Day
381d9b697e
Add framerate limiting (#943)
* Introduce FPS limit

* Make `uncapped` enable for frame limiting

* Add frame limiting to menu, first attempt

* Restore previous frame limit enable logic

fpslimit == 0 -> disable framerate limit
uncapped is back to being a boolean

* Coerce `fpslimit` to 0 when below 35

* Disable FPS Limit in menu if Uncapped is off

* Frame rate limiting cleanup
2023-03-17 12:56:05 +01:00
Fabian Greffrath
64583c43c8
fix fullscreen overlay automap (#942) 2023-03-16 09:10:53 +01:00
Fabian Greffrath
688472f634
properly reset widget colors to original or none (#940)
Fixes #934
2023-03-12 14:45:16 +01:00
Fabian Greffrath
4c6892ce82
add a format description for the WOOFHUD lump (#939)
* add a format description for the WOOFHUD lump

* minor changes

* provide an alternative example using absolute screen coordinates

* formatting
2023-03-12 14:45:02 +01:00
Fabian Greffrath
26d4ff2c39
complete donut overrun emulation (from PrBoom+/Choco) (#937)
* complete donut overrun emulation (from PrBoom+/Choco)

* fix build

* fix format string

* fix pointer arithmetic in format string
2023-03-12 14:44:49 +01:00
Fabian Greffrath
cba9bd5454
play sound when hitting animated floor (#931)
* play sound when hitting animated floor

* play sounds instead of "oof" only

* fix sound group

* add support for "small" splash sounds when merely stepping down into liquid

* fix build

* compat fix

* introduce a flatterrain[] lookup table

* comments
2023-03-12 14:44:33 +01:00
Fabian Greffrath
3a97d652d7 fix fatal typo in V_InitColorTranslation() 2023-03-10 13:44:44 +01:00
Fabian Greffrath
e4add0d07a always draw demo status bar with the lightest and darkest color available
Fixes visibility in Tetanus
2023-03-10 12:03:35 +01:00
Roman Fomin
f1799e90de replace access() call with M_access() 2023-03-07 16:56:31 +07:00
Fabian Greffrath
0473620d46
use light blue for HUD font and dark blue for standard Doom font (#930) 2023-03-07 10:40:51 +01:00
Roman Fomin
60573fa667
remove one pixel trimming for each font character in setup menu (#926)
* set menu font spacing based on font width
2023-03-06 15:23:54 +07:00
Fabian Greffrath
f49693b204
generate color translation tables (#924)
* generate color translation tables

* improve color ranges

* build fixes

* fix signeness bug

* move CR_NONE from -1 to 14

* reuse the -tranmap parameter to force colormap generation ("fixes" BTSX)

* fix MSVC build

* hopefully fix MSVC build for real

* keep stnum shadow preservation condition out of V_Colorize()

* another attempt at silencing MSVC

* support the full range of color translation tables for all widgets

* add simple formulas for the missing color translation ranges

* refinements

* print menu warnings and instructions in red

* only preserve original translation ranges for the IWAD palette

* improvements to the orange and yellow ranges
2023-03-05 13:11:32 +01:00
ceski
5401a03622
Play quit sound only if showing ENDOOM (#923)
* Play quit sound only if showing ENDOOM

* Move extern to header

* Remove extra definitions

* Revert "Remove extra definitions"

This reverts commit ad4f3a69e363767e455b0b23e388ce4892be9802.

* Revert "Move extern to header"

This reverts commit eac8677ecea9f155d33dd1f32b1aa2c24b6e4232.

* Revert "Play quit sound only if showing ENDOOM"

This reverts commit 95e764030010eed1c62f0b66c88162e85fdabd0c.

* Play quit sound only if showing ENDOOM
2023-02-28 22:10:01 +01:00
Fabian Greffrath
d75ef3c308
some fixes to the dynamic HUD implementation (#916)
* build and align text widgets in HU_Ticker(), drawn then in HU_Drawer()

* fix widget scope

* fix clang build

* minor fix

* simplify

* back to alignment in HU_Drawer()

* fix the widgets jumping around when switching from status bar to fullscreen
2023-02-28 17:14:49 +01:00
Roman Fomin
1997a14c1f replace doomprintf with printf for "Unknown Thing type" message 2023-02-21 18:56:36 +07:00
Roman Fomin
81b2f88822
check for wrong indexes in P_LoadSegs() (#918)
Fix 1killtng.wad map13
2023-02-20 19:52:07 +07:00
Roman Fomin
ee3fff240a
Update strings edit in menu (#915)
* remove redundant declaration

* Update strings edit in menu

* Set cursor position at end of line.

* Backspace and Del work as expected.

* Cursor in insert mode.
2023-02-19 19:11:03 +07:00
Roman Fomin
c0908b5d98
Disable menu items with flags (#914)
* Disable menu items with flags

* Add menu flags for complevels, strict and critical modes.

* Consolidate all checks in `M_MenuItemDisabled()` function.

* Cosmetic fixes.

* darken disabled mini thermo

* remove redundant M_UpdateCriticalItems() call

* disable brightmaps menu item if forced or lump not found

* add ItemSelected() function, rename M_MenuItemDisabled->ItemDisabled, cosmetics

* restore S_COLOR flag, replace S_CHAT and S_NAME with S_STRING
2023-02-19 18:39:43 +07:00
Roman Fomin
6b1c41718f
ESC key resets a menu item with multiple options (#913) 2023-02-17 19:38:02 +07:00
Roman Fomin
888806ebfc
add S_NEXT_LINE flag, draw midi player on next line (#912)
* add S_NEXT_LINE flag, draw midi player on next line

* remove gen1_stub1, fix blinking arrows
2023-02-17 18:38:50 +07:00
Roman Fomin
6800a36634
fix desync due to randomly mirrored corpses feature (#910)
* fix desync due to randomly mirrored corpses feature

DBP31.wad has a DEHACKED lump that sets MT_KEEN spawnhealth to 1.

* fix flag value
2023-02-17 03:55:06 +07:00
Roman Fomin
e569f3daad
fix -dogs default value, add error message (#909)
* fix -dogs default value, add error message

* don't throw an error if `default_dogs` are set
2023-02-16 14:39:45 +07:00
Roman Fomin
8cd1f51f3a cmake: the installation of modules has been fixed in new SDL_Mixer 2023-02-16 10:30:40 +07:00
Roman Fomin
6cb97ddf1e cmake: add CMAKE_FIND_PACKAGE_PREFER_CONFIG option 2023-02-16 10:29:37 +07:00
Fabian Greffrath
c1009387ac
only delete the entire savegame name if not modified (#907)
* only delete the entire savegame name if not modified

* comment
2023-02-15 16:04:12 +01:00
Fabian Greffrath
21dccd8e5b correctly initialize w_secret's y coordinate 2023-02-15 15:44:06 +01:00
Fabian Greffrath
6f85897f8d
let the map title widget align by the WOOFHUD lump (#906)
* let the map title widget align by the WOOFHUD lump

* actually add w_title to the w_names[] array
2023-02-15 08:26:51 +01:00
Fabian Greffrath
9fd1100d8d
add support for loading Doom (< 1.2) IWADs (#905)
* add support for loading Doom (< 1.2) IWADs

* allow to choose Nightmare skill from the menu
2023-02-15 08:26:28 +01:00
Fabian Greffrath
c3377d49d7
optionally use standard Doom font for widgets (#903)
* optionally use standard Doom font for widgets

* reversed logic

* pass pointer to font patch array pointer
2023-02-15 08:26:11 +01:00
Fabian Greffrath
4bc045981e report file name when writing a screenshot 2023-02-14 16:52:05 +01:00
Fabian Greffrath
7665dda87d
add clean screenshots without any HUD elements (#900)
* add clean screenshots without any HUD elements

* try @rfomin's approach

* remove static declaration

* factor out actual frame rendering/blit into a separat function

* remove unnecessary extern variable declaration

* rename I_RenderFrame -> I_UpdateRender
2023-02-13 14:13:37 +01:00
Roman Fomin
5345d8ff17
support monster infight field in dehacked from Chocolate Doom (#902)
* support monster infight field in dehacked from PrBoom+

* rename monsters_infight->deh_species_infighting (from Chocolate Doom)
2023-02-13 17:42:53 +07:00
Roman Fomin
34892f73b7 move removal of temporary directories to I_Quit()
Don't leave garbage in the temporary directory on errors.
2023-02-11 09:57:03 +07:00
Fabian Greffrath
afcaf9415c fix a minor discrepancy between Boom and Crispy HUD
Thanks @rfomin, I hope this fixes what you meant lately
2023-02-11 00:40:53 +01:00
Fabian Greffrath
914a4ccf12
first attempt at dynamic HUD widget positioning (#890)
* factor out HUD widget generation from HU_Drawer() into HU_Ticker()

* removed unused dead code

* remove obsolete comment

* fix typo

* first attempt at dynamic HUD widget positioning

* fix build error

* proper alignment

* minor fixes

* be a bit more careful when calculating string lengths

* determine font height from the 'A' letter

* reset color range in the w_keys

* some clean-up

* replace coord widgets with a single widget, add fps widget

* git rid of separate K/I/S and time widgets

* add back STRICTMODE

* move HU_top() closer to HU_widget_build_keys()

* separate config keys for stats/time widgets on automap, hud, status bar

* add config key to choose HUD font

* no need for a separate setting for widgets above status bar

* factor out HU_ResetWidgets() and call it after rearranging HUD

* improve color scheme for the monsec widget

* fix ammo widget rendering bug with no ammo

* improve color scheme for the time widget

* some macros

* rearrange HU_Start()

* rearrange HU_Ticker()

* fix build

* add parser

* rename HU_ResetWidgetWidths() back to HU_ResetWidgets()

* working inplementation!

* init hud variable

* fix direct positioning for secret message widget

* move coord widget to the topright corner

* get rid of hud_distributed, iterate through HUD by hud_active

* fix Crispy HUD "off" state

* don't leave "empty" HUD completely empty actually
2023-02-10 12:37:23 +01:00
Fabian Greffrath
4d5adaf346 bump miniz to 3.0.2 2023-02-09 14:09:56 +01:00
Fabian Greffrath
76ad131d43 Merge branch 'master' of https://github.com/fabiangreffrath/woof 2023-02-08 14:25:19 +01:00
Fabian Greffrath
7ecfd34845 improve color scheme for the time widget 2023-02-08 14:19:59 +01:00
Fabian Greffrath
492f6d665c improve color scheme for the monsec widget 2023-02-08 14:19:53 +01:00
Roman Fomin
6efba9ba48 fix typo in u_scanner.c
Found it with clang_tidy.
2023-02-07 16:14:15 +07:00
Fabian Greffrath
e1d0b663e5 add PrBoom+ comment to previous fix 2023-02-07 08:23:47 +01:00