2261 Commits

Author SHA1 Message Date
Roman Fomin
fee8764c9b
reset set_tab_on on menu switching (#1431) 2024-02-06 08:11:13 +07:00
Roman Fomin
a21a70641a
add "Helper Dogs" item to Enemies menu (#1425)
* Add size 4 thermo

* Fix S_LEVPARM/S_PRGWARN for thermo

* Bark sound
2024-02-04 22:00:47 +07:00
ceski
144ee61175
Dynamically update HUD mode strings (#1423)
* Dynamically update HUD mode strings

* Simplify
2024-02-03 12:03:34 -08:00
ceski
8842307ca6
Improve menu option for FOV (#1422)
* Improve menu option for FOV

* Simplify math a bit
2024-02-03 09:59:28 -08:00
Roman Fomin
74dce51731
fix setting minimum value for thermo (#1421) 2024-02-04 00:22:00 +07:00
Fabian Greffrath
7bf8fd048b
switch order of shaded and gold translation für submenu bar (#1420)
My sentiment is: If `v_lightest_color` is plain white, then this color
translated to gold may result in a very desaturated color, which then
gets shaded. I'd prefer if we translate a light shade of gray to gold
instead. Also, the colors in the HUD font are in general not full
bright, so translating from a moderate gray to gold may fit better.
2024-02-03 13:32:55 +01:00
Roman Fomin
65dff4019f fix buffer overflow 2024-02-03 19:30:48 +07:00
Fabian Greffrath
ac8202b60c
declare all color translation tables as , i.e. (#1419)
They must not get negative anyway.
2024-02-03 12:55:22 +01:00
Alaux
f1059cf22d
Use-button timer (#1414)
* Use-button timer

* Add 1 when storing time

* Fix conditions in `HU_widget_build_sttime()`

* Different rebuilding approach

* Reset `btuse_tics` in `G_PlayerFinishLevel()`

* Add comment

* Tabs instead of spaces

* Move tab

* Change format string

* Combine time and use-time

---------

Co-authored-by: Roman Fomin <rfomin@gmail.com>
2024-02-03 08:54:40 -03:00
Roman Fomin
1503cfed67
menu and related improvements (#1402)
* Use m_array in m_input, cleanup and formatting.

* M_Responder refactoring, mouse cursor in the menu.

* Windows console exit message.

* Highlight menu patches/strings.

* Convert v_trans.c to double (there were auto conversions due to double
  constants anyway).

* Implement resolution scale thermo.

* Menu items with different heights.

* Mouse support in save/load and volume menu.

* Remove S_STRING, cleanup.

* Remove dynamic help screen.

* Rearrange menus using Ceski's layout.

* Add `static` everywhere.

* Improve help messages.

* Hide mouse cursor when keys or pad buttons are pressed.

* Disable complevel menu item if COMPLVL lump is present.

* Enable mouse capture for exclusive fullscreen.

* Adjust resolution scale thermo:
  - First step is from 100% to 200%
  - 50px steps
  - Last value is native resolution height

* Remove "Mouse Treshhold" from the menu.

* Add autostrafe50 to compat menu.

* Implement S_ONOFF (alias for S_YESNO).

* Remove S_NEXT/S_PREV, implementation of tabs for page switching (thanks Ceski!)

* Add LB/RB for menu Left/Right keys.

* Add color codes support to M_DrawStringCR.

* Shaded help string.

* Cycle pages in Save/Load screen using mouse.

* Reformat and fix M_ResetDefaults function, don't reset MIDI device

---------

Co-authored-by: ceski <56656010+ceski-1@users.noreply.github.com>
2024-02-03 16:27:34 +07:00
Roman Fomin
addcf65628 update actions/upload-artifact version 2024-02-02 07:36:39 +07:00
Fabian Greffrath
491e64c400 fix tab-alignment for right-aligned HUD widgets 2024-02-01 08:20:13 +01:00
Fabian Greffrath
3cf72c4212 update update_wiki.yml to use checkout@v4 2024-01-31 09:59:02 +01:00
Fabian Greffrath
b6dc82aee9 never call CreateUpscaledTexture() if smooth_scaling is disabled
Fixes #1417
2024-01-30 13:28:23 +01:00
Fabian Greffrath
b66517dc47
precalculate gamma table (#1416) 2024-01-30 10:05:45 +01:00
Fabian Greffrath
4f7a4f70d7
do not create upscaled texture for scaling factor 1 (#1415)
Fixes #1404

Co-authored-by: ceski
2024-01-30 08:34:49 +01:00
Fabian Greffrath
8412588aff get rid of -Wbad-function-cast again 2024-01-25 12:54:46 +01:00
Roman Fomin
d6075142c1
always run R_SetupMouselook in R_ExecuteSetViewSize (#1412)
Fixes exclusive fullscreen switching.
2024-01-24 13:18:54 +07:00
ceski
906d5f7df4 Call G_UpdateSideMove() after variables are set 2024-01-23 16:33:34 -08:00
ceski
2ff1d8b801
Add auto "strafe50" option (#1411)
* Always use sidemove speed for gamepad

It's more conservative to use sidemove by default outside of strict mode.

* Prevent `ticcmd` overflow when using `-turbo`

* Simplify side speed rounding

* Add auto "strafe50" option
2024-01-23 15:42:10 -08:00
ceski
a8b898a813
Smoother frametimes (#1408) 2024-01-22 22:29:38 -08:00
Roman Fomin
7f5a0a9419
fix smooth light reset (#1409) 2024-01-23 13:01:53 +07:00
Roman Fomin
2f06e9fcb4
another attempt to fix integer overflow problem on high resolutions (#1401)
* increase VX_MINZ
2024-01-20 08:17:12 +07:00
ceski
c29b89cae2
Clean up FOV math, prevent overflow (#1400)
* Clean up FOV math, prevent overflow

* Include math.h
2024-01-19 08:10:27 -08:00
Roman Fomin
093dad5890
netgame fixes (#1399)
* Fix SDL_Net shutdown.

* Remove some demos/netgame warnings from the menu. We disable all relevant
  options anyway, so there is nothing to warn about.

* remobe bootstrap
2024-01-18 19:32:45 +07:00
Roman Fomin
cbaaff41af
use Lerp* functions everywhere (#1397)
* remove redundant declaration
2024-01-18 17:22:24 +07:00
ceski
f99bebca8e
Gamepad improvements (#1394)
* Gamepad improvements

* Prep event handler for frequent gamepad updates

* Prep responder for frequent gamepad updates

* Prep mouse for frequent gamepad updates

* Move raw input setting to config only

* Add interpolation helper functions

* Add fast gamepad polling

* Restrict side movement in strict mode or net games

* Don't use SDL_FLT_EPSILON

* Remove redundant calculation

* Menu adjustments

Remove "enable/disable gamepad" and add "extra turn sensitivity".

* Tune defaults

* Skip controller updates if not found
2024-01-17 00:01:27 -08:00
Roman Fomin
824ed291d3
save player pitch and slope (#1395) 2024-01-17 14:43:21 +07:00
Fabian Greffrath
89c64ec226
show smart kill count in stats widget (#1393)
* show smart kill count in stats widget

Fixes #949

* provide silent savegame backward compatibliity with Woof! 6.0.0+

* simplify matters

* fix typo

* function instead of macro

* cosmetics
2024-01-16 16:23:04 +01:00
Roman Fomin
ebba555e1f use I_Realloc in m_array.h 2024-01-16 20:08:11 +07:00
Fabian Greffrath
ae45b03db3 Merge branch 'master' of github.com:fabiangreffrath/woof 2024-01-16 13:50:06 +01:00
Fabian Greffrath
9702f3756a better fix for the widget string width check 2024-01-16 13:49:55 +01:00
Roman Fomin
e6c8b4d56e DRS updates
* Introduce drs_skip_frame flag, skip DRS after resolution switch, wipe, save
  game, window event.

* Move V_InitFlexTranTable to R_Init (don't want to skip DRS for it).

* Disable DRS when menu is active.

* Tweak DRS parameters.
2024-01-16 19:34:41 +07:00
Roman Fomin
3afbc9141d cleanup and formatting 2024-01-16 18:46:23 +07:00
Roman Fomin
5e1e614c63 make m_array header only 2024-01-16 18:28:42 +07:00
ceski
62cf2e2517
Additional mouselook tweaks (#1391)
* Use 1:1 turn/look response

* Use pitch directly for 3d audio

Since pitch is now an angle in BAM units, the related helper function can be simplified.

* Adjust recoil and centering angles

A bit closer to the exact height-to-angle calculations.
2024-01-16 00:49:15 -08:00
Fabian Greffrath
9b7d4c884e do not check line length against right margin value 2024-01-16 08:35:14 +01:00
Fabian Greffrath
083825d282 check for Crispy HUD being actually drawn 2024-01-16 08:12:17 +01:00
Roman Fomin
b05273d319
adapt mouselook from PrBoom+ (#1389)
* reduce recoil pitch values
2024-01-15 21:47:15 +07:00
Fabian Greffrath
0d73d370fd fix widget bottom alignment with Crispy HUD 2024-01-14 21:36:19 +01:00
Roman Fomin
d32e4912f8 remove M_ArrayIncreaseSize, fix array_free() pointer zeroing 2024-01-14 20:07:17 +07:00
Roman Fomin
c047cfbeee only use latest tag of vcpkg
Hopefully it will be more stable.
2024-01-13 08:18:53 +07:00
Roman Fomin
37dec7a4ea precalc "flex" translucency only if smooth lines are enabled 2024-01-13 08:17:02 +07:00
Fabian Greffrath
1797adf6ac enable smooth automap lines by default 2024-01-12 15:42:27 +01:00
Fabian Greffrath
c6b87a9f44 move V_InitFlexTranTable() call to am_map.c 2024-01-12 15:41:45 +01:00
Fabian Greffrath
63124579ae
adapt Eternity Engine's smooth Automap line drawing approach (#1388)
* adapt Eternity Engine's smooth Automap line drawing approach

* get rid of flexTranInit
2024-01-12 14:34:38 +01:00
Roman Fomin
e1aa7430ea try to fix vcpkg 2024-01-11 00:04:02 +07:00
Roman Fomin
1c1b3f1e8f use m_array for file handles 2024-01-10 22:38:49 +07:00
Roman Fomin
849eb0ed71 use m_array for MIDI device list 2024-01-10 22:20:49 +07:00
Roman Fomin
4b85007596 fix excessive memory allocation in dsdhacked 2024-01-10 13:23:50 +07:00