2622 Commits

Author SHA1 Message Date
Roman Fomin
a95d35538d small CI workflow updates 2024-09-05 21:44:49 +07:00
Roman Fomin
2f7e6cd9a4 fix "update vcpkg" step 2024-09-05 20:49:50 +07:00
Roman Fomin
fd4e5e0f8c update vcpkg 2024-09-05 19:43:56 +07:00
ceski
0a5ac67a13 Add SDL version check for Joy-Cons 2024-09-04 21:05:37 -07:00
Roman Fomin
9b56ae1bd8 remove lump number "caching" in WI_Ticker 2024-09-04 15:42:32 +07:00
Roman Fomin
507e99a26e forgot target_woof_settings 2024-09-04 12:23:28 +07:00
Roman Fomin
cd63e89417
move libraries to "third-party" directory (#1879) 2024-09-04 01:52:17 +07:00
Roman Fomin
bbead25071 store the size of the decoded image for flats 2024-09-04 01:29:57 +07:00
Roman Fomin
4bc92a14c3 check background_lump, cosmetic changes 2024-09-04 01:27:29 +07:00
Roman Fomin
6663fba661
id24: intermissions (#1833)
* use cJSON library

* implement array_foreach, custom memory allocator for m_array

* use Doom 1 duration of the "entering" screen for id24 animation

* add player->visitedlevels array

* add U_BuildEpisodes function, try to emulate behaviour of KEX port and R&R
2024-09-03 14:44:46 +07:00
ceski
dfc450d844
Replace show_endoom with exit_sequence (#1873) 2024-09-02 08:36:59 -07:00
ceski
55a65d98dd
Add extra gyro calibration step, increase calibration time (#1875)
Give players time to place gamepad on a flat surface.
2024-09-02 00:07:38 -07:00
ceski
0514102a8d
Let mouse and gamepad advance through cast sequence (#1874) 2024-09-02 00:03:33 -07:00
ceski
eab8ca7c0e
Use same data type for pitch and angleturn (#1872) 2024-09-02 00:03:10 -07:00
Fabian Greffrath
d7e1a4550e allow drag-and-drop on non-Windows 2024-09-01 11:08:48 +02:00
Fabian Greffrath
80556a0eae update the woof.desktop file 2024-09-01 10:13:17 +02:00
gendlin
cbf2e289b8
Blit directly to texture (#1870)
* Blit directly to texture

* Omit unneeded vars
2024-08-28 14:54:35 +07:00
Roman Fomin
edff3f2009 remove unnecessary check 2024-08-27 13:55:09 +07:00
Roman Fomin
b5070cb54f
uniform color quantization (#1868)
* rename I_GetPaletteIndex->I_GetNearestColor
2024-08-27 09:02:05 +07:00
Fabian Greffrath
af359bac43
scan for soundfonts relative to executable and config directory (#1869)
* scan for soundfonts relative to executable and config directory

* fix string concat

* explicitly track recursive calls of ScanDir()

* free() strings early

* track recursion in-function

* scan relative directories recursively only

* back to per-call recursion tracking

* do not traverse up out of the config directory
2024-08-26 18:18:00 +02:00
Fabian Greffrath
387c0deb03
consistently check for _WIN32 macro 2024-08-26 11:34:40 +02:00
Roman Fomin
f34ad25931 remove V_LinearToPatch
It has a limitation: the maximum patch height is 256. Besides, the performance
difference is not that big.
2024-08-25 10:18:39 +07:00
Roman Fomin
dbd79350a8 restore R_IsPatchLump, add V_LumpSize 2024-08-25 01:44:07 +07:00
Roman Fomin
89150be730
remove credits screen, restore original demo loop (#1866) 2024-08-24 23:01:56 +07:00
Roman Fomin
f948d4efbc
add support for 32-bit PNGs, refactoring (#1867)
* speed up I_GetPaletteIndex

* fix patch translation

* cleanup
2024-08-24 23:01:35 +07:00
Roman Fomin
d61a8eb6e0 translate image after error checking 2024-08-23 17:08:47 +07:00
Fabian Greffrath
a34a846ce7 fix clean screenshots on demo and intermission screens 2024-08-23 11:39:59 +02:00
Roman Fomin
bc39a9b1fc
add PNG palette translation (#1865)
* fix m_butt1, m_butt2, m_vbox
2024-08-23 16:23:47 +07:00
ceski
23ae392ed6 Update sensor event state when sensor reporting is set 2024-08-21 17:15:22 -07:00
Julia Nechaevskaya
e67b6bef1c
Remember cursor position in Sound Volume menu (#1863) 2024-08-21 22:36:07 +03:00
Roman Fomin
15fd3af56e
menu cleanup, fix crash when switching tabs with mouse wheel (#1861)
* Restore `desc`.

* Use designators in structs initialization.

* Fix crash when switching tabs with mouse wheel.
2024-08-22 00:30:08 +07:00
Roman Fomin
a9e72109a7
fix crash with S_FUNC item instructions, simplify (#1859)
* cleanup
2024-08-21 21:18:46 +07:00
Roman Fomin
eaef531779
fix the background update of the credits screen, simplify (#1860) 2024-08-21 17:42:38 +07:00
Roman Fomin
a41654b4f1
fix building on Win7 (#1849) 2024-08-19 15:01:06 +07:00
Roman Fomin
8a8a47c29e
don't use SDL_RenderSetLogicalSize (#1847)
Fix the appearance of thin black bars in widescreen “auto” mode. Thanks to Gendlin.
2024-08-19 14:05:52 +07:00
Roman Fomin
7acf418027 rename "maximum"->"max" 2024-08-18 12:49:29 +07:00
Roman Fomin
3ce78778b6
rename last resolution scale option "native"->"maximum", DRS tweak (#1845) 2024-08-17 22:24:46 +07:00
Fabian Greffrath
7a51a2655e
allow to set gamedescription (and thus the window title) with DEHACKED (#1843)
* allow to set gamedescription (and thus the window title) with DEHACKED

* check for lookfor

* comments
2024-08-17 13:34:58 +02:00
Roman Fomin
794af9df85 cosmetic change 2024-08-17 12:43:23 +07:00
Roman Fomin
cfad4e9a35 simplify search in zip file directory
Some zip archives do not have separate entries for directories (hrs.zip).
2024-08-17 10:02:04 +07:00
Roman Fomin
0880d6f52c
umapinfo: fix levelpic for fullscreen patches (#1841) 2024-08-15 13:31:07 +07:00
ceski
5c4ef64c66
Center menu titles (#1839)
Unlike `MN_StringWidth`, `MN_GetPixelWidth` considers font kerning.
2024-08-14 20:25:27 -07:00
ceski
8507a60888
Cosmetic changes for menus (#1837) 2024-08-14 07:46:33 -07:00
ceski
49634df73d
Disable mouse acceleration by default (#1838) 2024-08-14 07:09:43 -07:00
Roman Fomin
5b4f27b5be
add more places to find IWADs (from Doom Retro) (#1831) 2024-08-12 17:24:29 +07:00
ceski
31d7a39490 Enable bluetooth gyro support for DualShock 4 and DualSense 2024-08-11 12:49:22 -07:00
ceski
9b91cec258
Add gamepad gyro and flick stick support (#1800)
* Remove obsolete camera update check

No longer needed since mouse and gamepad "prep" were separated.

* Use `MIN_F` constant

* Rename "swap" to "southpaw"

* Reorganize gamepad settings and menu items

* Update defaults

* Use consistent gamepad naming

A few exceptions made for joystick names.

* Simplify `deltatics` calculation

* Simplify `I_CalcGamepadAxes()`

* Track axis update time

* Use axis update time for `CalcExtraScale()`

* Extra sensitivity improvements, refactoring

* Add flick stick feature

* Flush gamepad events on reset

* Add separate touchpad touch and press inputs

* Add `joy_flick_mode`

* Add `joy_flick_rotation_speed`

* Enable float data type for events

* Add gyro support

* Update README.md

* Add option to disable analog sticks

Rename setting to be more descriptive and force new default value. Analog sticks can always navigate menus, regardless of this setting.

* Don't scale flick stick by regular stick sensitivity

When in flick stick mode and holding strafe modifier, regular stick sensitivity still applies.

* Add local space turn/lean options

* Add player space turn/lean options

* Add calibration option

* Remove "clear calibration" menu item

* Fix DisableItem and DisableItemFunc checks

* Add back gyro "tightening" menu item

Set a recommended default. Power users will want to disable this.

* Add gyro "steadying" menu item to combine smoothing and tightening

* Combine gyro space/enable into one setting

* Load gyro calibration once

* Lower max steadying and use 0.1 increments

Also update default steadying threshold to 3.0 degrees/second.

* Cosmetic changes

* Use degrees/second for analog stick speed

A default of 240 degrees/second is an unofficial standard used in many FPS games.

* Disable menu items if joy_enable is set to 0

* Show raw value dot on thermos for deadzone and steadying

Similar to the concept featured in Ironwail. Also reduce scope for some variables.

* Fix opening/closing a gamepad multiple times

SDL_CONTROLLERDEVICEREMOVED events send the instance ID, not the index.

* Enable/disable menu items when gamepad is opened/closed

* Cosmetic change

* Use button names that match gamepad platform

Can be overridden with `joy_platform`. Config read/write always uses Xbox-centric naming, as before.

* Improve touchpad key binding response

* Use sensor state for gyro data instead of events

Read the sensor state instead of using SDL_CONTROLLERSENSORUPDATE events as a workaround for low update rate gyro devices (e.g. Switch controllers). When the menu is active, temporarily enable SDL_CONTROLLERSENSORUPDATE events to capture as many samples as possible for calibration.

* Allow more actions to confirm/cancel "restore defaults"

So that gamepad users can confirm/cancel.

* Let MENU_BACKSPACE back out of menu item selection

Except for binding an input. This allows gamepad users to press B/circle to back out of menu items.

* Reduce scope for `motion`

* Reduce scope for `flick`

* Cosmetic changes

* Change menu item dots to meters with color

* Add "invert" gyro button action

* Use separate gyro space/enable (again)

Let players toggle gyro aiming on/off quickly without affecting the desired gyro space, which is an abstract concept.
2024-08-11 00:43:02 -07:00
Fabian Greffrath
2d48a6eca7 always print full weapon command in HUD widget 2024-08-09 17:20:34 +02:00
Roman Fomin
46f9050489
use actions/setup-python (#1827) 2024-08-09 20:03:06 +07:00
Roman Fomin
539f69b17d use PIP_BREAK_SYSTEM_PACKAGES=1 2024-08-09 19:18:08 +07:00