36 Commits

Author SHA1 Message Date
Mr. Myth
911f8940a6 Use $TMPDIR to find tempdir on Unix (#1748)
* Properly check for tempdir on Unix

* Properly check for tempdir on Unix

* Use M_getenv()

* Use M_getenv()

* Revert "Use M_getenv()"

This reverts commit eedd01409749c8e8edc1b0ca79081683dc67d911.

* Revert "Use M_getenv()"

This reverts commit 31437d6097047ba32092848ce980af57c4eb1791.

* Use spaces instead of tabs

* Consistancy and correct Unix environment variable

* Consistancy
2025-06-24 08:03:46 +02:00
MelodicSpaceship
1a8b2adbc0
Make Freedoom its own mission pack and add "freedoom-all" autoloads. (#2184)
* Make the Freedoom IWADs their own mission pack and add support for the freedoom-all autoload directory.

* Add freedoom1-all and freedoom2-all directories.

* Space after comma.
2025-02-06 13:46:30 +01:00
Roman Fomin
6afcfb206e
fix sdl2_compat build (#2173) 2025-01-31 12:13:57 +07:00
MelodicSpaceship
f07688a73d
Make chex3v.wad its own mission pack, add support for chex3d2.wad. (#2091)
* Make Chex 3 Vanilla its own mission pack, and add support for the modding version.

* Fix chex3d2 incorrectly using Final Doom behavior.
2024-12-15 12:38:40 +01:00
Fabian Greffrath
34b1291dff
quote PWAD file names in response file (#2057)
Fixes #2048
2024-11-28 10:28:39 +01:00
Roman Fomin
215c75a55a
add clang-tidy to CI and fix some warnings (#1717)
* fix replacement of `author` umapinfo string (assumed to be lump name)

* remove some variables that are never read

* remove `toolsrc` from the build (we don't package it anyway)

* make sure that `dropoff` parameter is boolean

* allow `i` values outside enum mobjtype_t range

* `oldgamestate` out of range for `gamestate_t` enum

* false positive (?) for leaking memory in U_SaveState

* use the `__VA_ARGS__` macro instead of functions with variable parameters

In standard C, using NULL to terminate the argument list of a variadic
function is undefined behaviour.
2024-05-30 20:20:46 +07:00
Roman Fomin
26ce44b216
remove extern from *.c files (#1686) 2024-05-13 16:43:07 +07:00
Roman Fomin
d2c8914adb
remove GameVariant_t, add more *-all autoload folders (#1623)
* remove pack_freedoom
2024-03-31 23:19:59 +07:00
Roman Fomin
5a4a47bed3
move config code to m_config (#1567)
* Use clang-format
2024-03-07 15:19:31 +07:00
Roman Fomin
a6836b314f
header cleanup using IWYU tool (#1467)
* Forward declaration of structures in headers where possible

* Use M_snprinf instead of sprintf

* Remove D_INTMAX D_INTMIN

* Don't change libtextscreen files

* Add miniz and win32 include directories
2024-02-20 19:26:28 +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
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
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
Fabian Greffrath
0b2023dfa3
fall back to "Player" as the default player name (#1300)
* fall back to "Player 1" as the default player name

While giving players pet names is funny for network games, the player
name's primary and most prominent use is obituaries. And since these
are enabled by default, we should fall back to a generic default that
may get changed again in-game (or in config) for network games.

* Update net_client.h
2023-12-05 13:57:44 +01:00
Roman Fomin
51ce2f38f4
remove escape strings in wad filenames in the setup tool (#1222)
It seems that `_wopen()` does not open escaped filenames in Windows.
2023-10-10 23:19:10 +07:00
Roman Fomin
e8822729d8 initialize timer for woof-setup (fixes crash) 2023-04-22 20:55:44 +07:00
Roman Fomin
077752e09c add controls to manifest.xml
Modern UI for MessageBox etc.
2023-04-02 10:56:23 +07:00
Fabian Greffrath
36060400fa sort source files alphabetically in CMakeLists.txt files 2023-01-05 09:57:52 +01:00
Fabian Greffrath
f70d372907
fix all cppcheck 2.9 warnings (#771)
* fix most cppcheck 2.9 warnings

* simplify matters

* simplify a bit more

* simplify

* more/better fixes

* whitespace cosmetic

* use I_Realloc() in u_mapinfo.c
2022-11-23 07:51:01 +01:00
Roman Fomin
000bcd5e72
implement M_getenv for compatibility with non-Latin paths on Windows (#667)
* implement M_getenv for compatibility with non-Latin paths on Windows

* use regular wcslen

SDL_wcslen is undocumented

* fix memory leak

* cache the `wenv == NULL` case
2022-07-18 21:07:33 +07:00
Fabian Greffrath
0e6e346b32
simplify and adapt z_zone.c to DSDA-Doom (#620)
* simplify and adapt z_zone.c to DSDA-Doom

* remove the INSTRUMENTED macro

* remove Z_Init() and Z_CheckHeap()

* remove PU_LOCKED

* eplicitly free all cached memory blocks on level setup

* assure proper pointer alignment

* fix headers

* reorder struct memblock, decrease padding

* add back historic changelogs
2022-06-24 09:01:49 +02:00
Fabian Greffrath
8e2ae605a8
rename Source/ directory to src/ (#598)
* rename Source/ directory to src/

* adjust cppcheck directories
2022-06-13 12:09:42 +02:00
Roman Fomin
5f5e0e2c19
implement Deathmatch 3.0 (from Crispy Doom) (#595) 2022-06-10 18:15:27 +02:00
Roman Fomin
3d1f4c2e35 remove unused code 2022-06-10 22:08:15 +07:00
Roman Fomin
467fc8c946
replace win_fopen.c with wrappers from Chocolate Doom (#592)
* replace win_fopen.c with wrappers from Chocolate Doom

* always include direct.h on Windows

* add missing header files, fix gcc warning

* move wrappers to m_io.c, formatting

* fix cmakedefine

* always include string.h

* use only strcasecmp and strncasecmp

* add missing thermo.h

* include config.h

* move str(n)casecmp define to doomtype.h
2022-06-10 07:49:38 +02:00
Roman Fomin
5162b8ba1a
fix setup manifest (#585) 2022-06-09 08:50:53 +02:00
Roman Fomin
08c9046d41
add setup icon (#579)
* add setup icon

* change icon

* update README.md
2022-06-09 06:36:28 +02:00
Roman Fomin
e8be294808 fix non-latin paths on Windows 2022-06-06 10:16:34 +07:00
Roman Fomin
7b5ce77ded remove crispy colors 2022-06-03 10:52:25 +07:00
Roman Fomin
8b936f5828 no quit confirmation 2022-06-03 02:04:23 +07:00
Roman Fomin
eec7053de3 fix gcc warnings 2022-06-02 23:37:33 +07:00
Roman Fomin
9145bb4cef fix skill and warp selection 2022-06-02 23:20:51 +07:00
Roman Fomin
53334b3a04 change window title 2022-06-02 23:19:02 +07:00
Roman Fomin
e60a38757c fix switch warning 2022-06-02 21:40:44 +07:00
Roman Fomin
e5e6eb8c2e fix gcc warnings 2022-06-02 21:37:08 +07:00
Roman Fomin
f99ae8ab05 implement multiplayer setup (based on Chocolate Doom) 2022-06-02 21:28:08 +07:00