2089 Commits

Author SHA1 Message Date
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
ceski
e3dd725b4b
Add adjustable FOV (#1364)
* Add adjustable FOV

* Always use custom FOV when non-zero

* Fix pixels at edge of screen for 32:9 aspect ratio

* Remove in-game aspect ratio selection for now

* Revert "Fix pixels at edge of screen for 32:9 aspect ratio"

This reverts commit ab1df333f610f4097bca0256694b3c99f69eb9de.
2024-01-03 23:13:36 -08:00
Fabian Greffrath
f67fb0784e
Merge pull request #1365 from fabiangreffrath/noreturn
mark I_ErrorOrSuccess() with attribute NORETURN
2024-01-03 12:18:53 +01:00
Fabian Greffrath
5a5c46f6b0 define the __GNUC__ macro for cppcheck CI 2024-01-03 11:43:33 +01:00
Fabian Greffrath
c7b2362a59 properly error out of G_NextWeapon() in case of error 2024-01-03 11:24:35 +01:00
Fabian Greffrath
67b45b701a mark I_ErrorOrSuccess() with attribute NORETURN 2024-01-03 11:17:28 +01:00
Roman Fomin
6a8688b85b fix nomusic parameter 2024-01-03 13:24:39 +07:00