2533 Commits

Author SHA1 Message Date
Roman Fomin
b1f0684083 fix M_StringJoin 2024-09-08 13:53:41 +07:00
Roman Fomin
7a50a0317e
more efficient use of zone memory features (#1888)
* use PU_RENDERER for allocation of renderer buffers

* add Z_StrDup function
2024-09-08 11:47:27 +07:00
Roman Fomin
be5f634318 net: Hide public IP addresses for privacy (from Chocolate Doom)
labnove19 on the Chocolate Doom Discord expressed safety concerns [1]
about playing on public servers and pointed out that the lobby screen
reveals the IP address of every player that is connected to the server.
There's no actual reason why we need to do this, and an IP address is
usually considered personally identifiable information that can also be
used to identify a person's physical location.

This change therefore changes the server code so that players on the
public Internet will not be able to see each others' IP addresses.
However, I've been careful to preserve the behavior for non-public
addresses:

1. If a localhost player and a public player are both connected to the
   server, the localhost player can see public IP addresses, since the
   owner of the server ought to be able to see the addresses of players
   who connect to their own server. Conversely, public players can see
   localhost addresses since they're not publicly accessible and reveal
   no private information anyway.

2. If two LAN players are connected to a server they can see each
   others' IP addresses, since they're presumably physically colocated
   anyway. It could actually be pretty frustrating for players to not
   be able to see each others' IP addresses if they're trying to set
   up a LAN game, having problems and could use the address to debug.

3. If a LAN player and a public player are both connected to the server,
   situation, the server and the LAN player are presumably physically
   colocated, which effectively is the same case as (1) above, so the
   LAN player can see the public player's IP address. However, the
   public player only sees "[LAN player]" as we should not disclose
   details of the server owner's internal network.

This change is consistent with the "pet name" change we already made to
hide people's names unless they make a deliberate choice to reveal them.

[1] https://discord.com/channels/435469554173476866/829452135078428722/1281374017164677161
2024-09-08 11:22:41 +07:00
Roman Fomin
388ee0b8ad rewrite win_opendir.c (from Chocolate Doom) 2024-09-08 10:47:13 +07:00
ceski
3ee1bb572c
Add gamepad rumble support (#1876) 2024-09-07 07:13:47 -07:00
Roman Fomin
10c64223e9
same rules for highlight thermo as for other items (#1886) 2024-09-07 18:46:51 +07:00
Roman Fomin
246864ff75
rename "Level Brightness"->"Extra Lighting", like in KEX port (#1887) 2024-09-07 18:46:29 +07:00
Fabian Greffrath
e61b634d8a
move Exit Sequence to the Misc menu, remove Menu Backdrop (#1881)
* move Exit Sequence to the Misc menu

* remove Menu Backdrop from the menu

* remove Menu Backdrop remnants
2024-09-06 17:39:13 +02:00
Roman Fomin
6f1d7f1beb fix variable initialization in U_BuildEpisodes 2024-09-06 14:30:06 +07:00
Fabian Greffrath
a34a6662b9 update README.md 2024-09-06 09:17:18 +02:00
Roman Fomin
a5796a3b9b simplify 2024-09-05 22:01:04 +07:00
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