2145 Commits

Author SHA1 Message Date
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
Roman Fomin
d08749244d add CheckExtensions function, cleanup 2024-01-10 00:02:21 +07:00
Roman Fomin
c2ea692e3a
add GameVariant_t, don't autoload from doom-all for FreeDoom and miniwad (#1384)
* Rename vx_filenames->vxfiles
2024-01-09 22:18:18 +07:00
Roman Fomin
48e102489f
use m_array in dsdhacked.c, formatting (#1383) 2024-01-09 20:13:19 +07:00
Roman Fomin
f4e3e29579
implement growable arrays (#1380)
Growable arrays of homogeneous values of any type, similar to a std::vector in
C++. The array must be initialised to NULL. Inspired by
https://github.com/nothings/stb/blob/master/stb_ds.h
2024-01-09 16:19:16 +07:00
Fabian Greffrath
7f19988f65
adjust automap level title color with preset (#1379)
* adjust automap level title color with preset

Fixes #1378

* grammar
2024-01-09 09:35:22 +01:00
Fabian Greffrath
6cccb75184
fix garbage lines at the top of weapon sprites (#1377)
Make sure that the product of the weapon sprite scale factor
and its reciprocal is always at least FRACUNIT to
fix garbage lines at the top of weapon sprites.

See
b8aa0e7d8b

Fixes #1371
2024-01-06 19:37:14 +01:00
Roman Fomin
1a907867af remove excessive warnings, formatting 2024-01-07 01:28:00 +07:00
Roman Fomin
2914d96495 update NORETURN macro for MSVC, cleanup 2024-01-07 00:59:22 +07:00
Roman Fomin
c744db3a86 create mutex on music module init
Avoid crashing when changing volume between tracks.
2024-01-07 00:05:42 +07:00
Roman Fomin
63e625e295
savegame fixes (#1376)
* restore function pointer reading

There seems to be a check for NULL somewhere.

* remove saveg_compat checks in write function, formatting
2024-01-06 17:40:03 +07:00
Fabian Greffrath
dd4e2b55b6
demote WI_drawOnLnode() logging to debug (#1373)
* demote WI_drawOnLnode() logging to debug

* remove redundant checks
2024-01-05 17:13:04 +01:00
ceski
7d1cee03bc
Use 1:1 mouse turning/looking sensitivity (#1372)
* Remove `MLOOKUNIT`

* Use 1:1 mouse turning/looking sensitivity

* Use `finetangent`
2024-01-05 02:05:45 -08:00
Fabian Greffrath
5de216d785
apply the non-amigaos4 specific parts of the AmigaOS4 patch (#1369)
* apply the non-amigaos4 specific parts of the AmigaOS4 patch

* move SDL_Quit() to the end of StartGame()

* replace atexit() with I_AtExit()
2024-01-04 17:41:55 +01:00
Roman Fomin
9d1570c019
use intprt_t instead of size_t (#1370) 2024-01-04 23:31:30 +07:00
Fabian Greffrath
d6e0bb8ca8
enable -Wbad-function-cast compiler warning (#1366)
* experiment with -Wbad-function-cast

* cast FRACUNIT to double, instead of function return value

* assign sqrt() result to variable, cast and bit-shift this

* restore thinker function to intermediate variable

* cast pointer to int

* assign ShellExecute() return value to intermediate pointer, cast and compare this

* more compact fixes

* add -Wcast-function-type

* attempt to fix i_winmusic:PlayerProc()

* attempt to fix MSVC build

* back to PrBoom's float version of P_GetOffset()

* improve consistency with Win API

* attempt to fix P_DegenMobjThinker() signature

* add -Wno-cast-function-type-strict

* get rid of -Wcast-function-type again
2024-01-04 13:20:31 +01:00
Roman Fomin
a519206829
fix crash on Chex intermission (#1368) 2024-01-04 18:39:17 +07:00