├── win32 ├── SDL2-2.32.10 │ ├── .git-hash │ ├── lib │ │ ├── x64 │ │ │ ├── SDL2.dll │ │ │ ├── SDL2.lib │ │ │ ├── SDL2.pdb │ │ │ ├── SDL2main.lib │ │ │ └── SDL2test.lib │ │ └── x86 │ │ │ ├── SDL2.dll │ │ │ ├── SDL2.lib │ │ │ ├── SDL2.pdb │ │ │ ├── SDL2main.lib │ │ │ └── SDL2test.lib │ ├── docs │ │ ├── README-hg.md │ │ ├── README-platforms.md │ │ ├── README-wince.md │ │ ├── README-git.md │ │ ├── README-pandora.md │ │ ├── README-psp.md │ │ ├── release_checklist.md │ │ ├── README-n3ds.md │ │ ├── README-kmsbsd.md │ │ ├── README-ngage.md │ │ ├── README-vita.md │ │ ├── README-ps2.md │ │ ├── README-riscos.md │ │ ├── README-porting.md │ │ ├── README.md │ │ ├── README-windows.md │ │ └── README-versions.md │ ├── include │ │ ├── SDL_revision.h │ │ ├── SDL_opengles2_gl2platform.h │ │ ├── SDL_copying.h │ │ ├── SDL_types.h │ │ ├── SDL_name.h │ │ ├── SDL_opengles.h │ │ ├── close_code.h │ │ ├── SDL_opengles2.h │ │ ├── SDL_test_memory.h │ │ ├── SDL_quit.h │ │ ├── SDL_config.h │ │ ├── SDL_test_log.h │ │ ├── SDL_test.h │ │ ├── SDL_test_compare.h │ │ └── SDL_test_images.h │ ├── README-SDL.txt │ ├── BUGS.txt │ ├── README.md │ ├── LICENSE.txt │ └── cmake │ │ └── sdl2-config-version.cmake ├── SDL2_mixer-2.8.1 │ ├── .git-hash │ ├── lib │ │ ├── x64 │ │ │ ├── SDL2_mixer.dll │ │ │ ├── SDL2_mixer.lib │ │ │ ├── SDL2_mixer.pdb │ │ │ └── optional │ │ │ │ ├── libgme.dll │ │ │ │ ├── libxmp.dll │ │ │ │ ├── libogg-0.dll │ │ │ │ ├── libopus-0.dll │ │ │ │ ├── libwavpack-1.dll │ │ │ │ ├── libopusfile-0.dll │ │ │ │ ├── LICENSE.xmp.txt │ │ │ │ ├── LICENSE.wavpack.txt │ │ │ │ ├── LICENSE.ogg-vorbis.txt │ │ │ │ ├── LICENSE.opusfile.txt │ │ │ │ └── LICENSE.opus.txt │ │ └── x86 │ │ │ ├── SDL2_mixer.dll │ │ │ ├── SDL2_mixer.lib │ │ │ ├── SDL2_mixer.pdb │ │ │ └── optional │ │ │ ├── libgme.dll │ │ │ ├── libxmp.dll │ │ │ ├── libogg-0.dll │ │ │ ├── libopus-0.dll │ │ │ ├── libwavpack-1.dll │ │ │ ├── libopusfile-0.dll │ │ │ ├── LICENSE.xmp.txt │ │ │ ├── LICENSE.wavpack.txt │ │ │ ├── LICENSE.ogg-vorbis.txt │ │ │ ├── LICENSE.opusfile.txt │ │ │ └── LICENSE.opus.txt │ ├── LICENSE.txt │ ├── README.txt │ └── cmake │ │ ├── sdl2_mixer-config-version.cmake │ │ └── sdl2_mixer-config.cmake ├── dlls-vc-win32 │ ├── SDL2.dll │ ├── libogg-0.dll │ ├── libopus-0.dll │ ├── SDL2_mixer.dll │ ├── libwavpack-1.dll │ ├── samplerate.dll │ └── libopusfile-0.dll └── libsamplerate-0.2.2-win32 │ ├── lib │ ├── cmake │ │ └── SampleRate │ │ │ ├── SampleRateConfig.cmake │ │ │ └── SampleRateTargets-release.cmake │ └── samplerate.lib │ ├── bin │ └── samplerate.dll │ └── share │ └── doc │ └── libsamplerate │ ├── SRC.png │ ├── license.md │ ├── lists.md │ ├── download.md │ ├── win32.md │ ├── bugs.md │ ├── history.md │ ├── api.md │ └── api_simple.md ├── data ├── doom.ico ├── doom.png ├── doom.desktop ├── README └── convert-icon ├── iwad └── cry.wad ├── cmake ├── triplets │ ├── x86-windows-static-release.cmake │ ├── x64-windows-static-release.cmake │ └── x64-linux-dynamic-release.cmake ├── config.h.cin └── Findm.cmake ├── COPYING-RES.txt ├── src ├── doom.desktop.in ├── resource.rc.in ├── doom-res.rc.in ├── manifest.xml ├── doom │ ├── f_finale.h │ ├── doomstat.c │ ├── f_wipe.h │ ├── doomdef.c │ ├── wi_stuff.h │ ├── d_main.h │ ├── am_map.h │ ├── ct_chat.h │ ├── CMakeLists.txt │ ├── d_think.h │ ├── g_game.h │ ├── m_menu.h │ ├── s_sound.h │ ├── st_bar.h │ ├── id_func.h │ └── sounds.h ├── w_main.h ├── w_merge.h ├── mus2mid.h ├── v_postproc.h ├── m_bbox.h ├── m_random.h ├── midifallback.h ├── m_bbox.c ├── i_swap.h ├── i_timer.h ├── memio.h ├── m_fixed.c ├── m_argv.h ├── i_glob.h ├── m_fixed.h ├── v_patch.h ├── d_iwad.h ├── m_config.h ├── d_ticcmd.h ├── d_event.c ├── net_defs.h ├── doom.appdata.xml.in ├── i_input.h ├── w_file.c ├── v_video.h ├── z_zone.h ├── i_system.h ├── w_file_stdc.c ├── v_trans.h ├── i_timer.c ├── w_file.h ├── i_main.c └── w_wad.h ├── vcpkg.json ├── opl ├── CMakeLists.txt ├── opl_queue.h └── opl_internal.h ├── miniz ├── CMakeLists.txt └── LICENSE └── README.md /win32/SDL2-2.32.10/.git-hash: -------------------------------------------------------------------------------- 1 | 5d249570393f7a37e037abf22cd6012a4cc56a71 2 | -------------------------------------------------------------------------------- /data/doom.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/data/doom.ico -------------------------------------------------------------------------------- /data/doom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/data/doom.png -------------------------------------------------------------------------------- /iwad/cry.wad: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/iwad/cry.wad -------------------------------------------------------------------------------- /win32/SDL2_mixer-2.8.1/.git-hash: -------------------------------------------------------------------------------- 1 | 171eb2d420d5643e4ee11514a06e04a41a463bbd 2 | -------------------------------------------------------------------------------- /win32/dlls-vc-win32/SDL2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/dlls-vc-win32/SDL2.dll -------------------------------------------------------------------------------- /win32/dlls-vc-win32/libogg-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/dlls-vc-win32/libogg-0.dll -------------------------------------------------------------------------------- /win32/dlls-vc-win32/libopus-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/dlls-vc-win32/libopus-0.dll -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/lib/x64/SDL2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/SDL2-2.32.10/lib/x64/SDL2.dll -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/lib/x64/SDL2.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/SDL2-2.32.10/lib/x64/SDL2.lib -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/lib/x64/SDL2.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/SDL2-2.32.10/lib/x64/SDL2.pdb -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/lib/x86/SDL2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/SDL2-2.32.10/lib/x86/SDL2.dll -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/lib/x86/SDL2.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/SDL2-2.32.10/lib/x86/SDL2.lib -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/lib/x86/SDL2.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/SDL2-2.32.10/lib/x86/SDL2.pdb -------------------------------------------------------------------------------- /win32/dlls-vc-win32/SDL2_mixer.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/dlls-vc-win32/SDL2_mixer.dll -------------------------------------------------------------------------------- /win32/dlls-vc-win32/libwavpack-1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/dlls-vc-win32/libwavpack-1.dll -------------------------------------------------------------------------------- /win32/dlls-vc-win32/samplerate.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/dlls-vc-win32/samplerate.dll -------------------------------------------------------------------------------- /win32/dlls-vc-win32/libopusfile-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/dlls-vc-win32/libopusfile-0.dll -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/lib/x64/SDL2main.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/SDL2-2.32.10/lib/x64/SDL2main.lib -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/lib/x64/SDL2test.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/SDL2-2.32.10/lib/x64/SDL2test.lib -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/lib/x86/SDL2main.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/SDL2-2.32.10/lib/x86/SDL2main.lib -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/lib/x86/SDL2test.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/SDL2-2.32.10/lib/x86/SDL2test.lib -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/docs/README-hg.md: -------------------------------------------------------------------------------- 1 | We are no longer hosted in Mercurial. Please see README-git.md for details. 2 | 3 | Thanks! 4 | 5 | -------------------------------------------------------------------------------- /win32/libsamplerate-0.2.2-win32/lib/cmake/SampleRate/SampleRateConfig.cmake: -------------------------------------------------------------------------------- 1 | include(${CMAKE_CURRENT_LIST_DIR}/SampleRateTargets.cmake) 2 | -------------------------------------------------------------------------------- /win32/SDL2_mixer-2.8.1/lib/x64/SDL2_mixer.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/SDL2_mixer-2.8.1/lib/x64/SDL2_mixer.dll -------------------------------------------------------------------------------- /win32/SDL2_mixer-2.8.1/lib/x64/SDL2_mixer.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/SDL2_mixer-2.8.1/lib/x64/SDL2_mixer.lib -------------------------------------------------------------------------------- /win32/SDL2_mixer-2.8.1/lib/x64/SDL2_mixer.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/SDL2_mixer-2.8.1/lib/x64/SDL2_mixer.pdb -------------------------------------------------------------------------------- /win32/SDL2_mixer-2.8.1/lib/x86/SDL2_mixer.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/SDL2_mixer-2.8.1/lib/x86/SDL2_mixer.dll -------------------------------------------------------------------------------- /win32/SDL2_mixer-2.8.1/lib/x86/SDL2_mixer.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/SDL2_mixer-2.8.1/lib/x86/SDL2_mixer.lib -------------------------------------------------------------------------------- /win32/SDL2_mixer-2.8.1/lib/x86/SDL2_mixer.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/SDL2_mixer-2.8.1/lib/x86/SDL2_mixer.pdb -------------------------------------------------------------------------------- /win32/SDL2_mixer-2.8.1/lib/x64/optional/libgme.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/SDL2_mixer-2.8.1/lib/x64/optional/libgme.dll -------------------------------------------------------------------------------- /win32/SDL2_mixer-2.8.1/lib/x64/optional/libxmp.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/SDL2_mixer-2.8.1/lib/x64/optional/libxmp.dll -------------------------------------------------------------------------------- /win32/SDL2_mixer-2.8.1/lib/x86/optional/libgme.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/SDL2_mixer-2.8.1/lib/x86/optional/libgme.dll -------------------------------------------------------------------------------- /win32/SDL2_mixer-2.8.1/lib/x86/optional/libxmp.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/SDL2_mixer-2.8.1/lib/x86/optional/libxmp.dll -------------------------------------------------------------------------------- /win32/libsamplerate-0.2.2-win32/bin/samplerate.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/libsamplerate-0.2.2-win32/bin/samplerate.dll -------------------------------------------------------------------------------- /win32/libsamplerate-0.2.2-win32/lib/samplerate.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/libsamplerate-0.2.2-win32/lib/samplerate.lib -------------------------------------------------------------------------------- /win32/SDL2_mixer-2.8.1/lib/x64/optional/libogg-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/SDL2_mixer-2.8.1/lib/x64/optional/libogg-0.dll -------------------------------------------------------------------------------- /win32/SDL2_mixer-2.8.1/lib/x64/optional/libopus-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/SDL2_mixer-2.8.1/lib/x64/optional/libopus-0.dll -------------------------------------------------------------------------------- /win32/SDL2_mixer-2.8.1/lib/x86/optional/libogg-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/SDL2_mixer-2.8.1/lib/x86/optional/libogg-0.dll -------------------------------------------------------------------------------- /win32/SDL2_mixer-2.8.1/lib/x86/optional/libopus-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/SDL2_mixer-2.8.1/lib/x86/optional/libopus-0.dll -------------------------------------------------------------------------------- /win32/SDL2_mixer-2.8.1/lib/x64/optional/libwavpack-1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/SDL2_mixer-2.8.1/lib/x64/optional/libwavpack-1.dll -------------------------------------------------------------------------------- /win32/SDL2_mixer-2.8.1/lib/x86/optional/libwavpack-1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/SDL2_mixer-2.8.1/lib/x86/optional/libwavpack-1.dll -------------------------------------------------------------------------------- /win32/SDL2_mixer-2.8.1/lib/x64/optional/libopusfile-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/SDL2_mixer-2.8.1/lib/x64/optional/libopusfile-0.dll -------------------------------------------------------------------------------- /win32/SDL2_mixer-2.8.1/lib/x86/optional/libopusfile-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/SDL2_mixer-2.8.1/lib/x86/optional/libopusfile-0.dll -------------------------------------------------------------------------------- /data/doom.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Application 3 | Name=CRY 4 | Exec=cry %F 5 | Icon=cry 6 | TryExec=cry 7 | Categories=Game; 8 | MimeType=application/x-doom-wad; 9 | -------------------------------------------------------------------------------- /win32/libsamplerate-0.2.2-win32/share/doc/libsamplerate/SRC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JNechaevsky/CRY/HEAD/win32/libsamplerate-0.2.2-win32/share/doc/libsamplerate/SRC.png -------------------------------------------------------------------------------- /data/README: -------------------------------------------------------------------------------- 1 | CRY icon was created by Polina "Aura" N. and is licensed under the 2 | Creative Commons Attribution 4.0 International license. 3 | https://creativecommons.org/licenses/by/4.0/ 4 | -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/include/SDL_revision.h: -------------------------------------------------------------------------------- 1 | #ifdef SDL_VENDOR_INFO 2 | #define SDL_REVISION SDL_VENDOR_INFO 3 | #else 4 | #define SDL_REVISION "" 5 | #endif 6 | #define SDL_REVISION_NUMBER 0 7 | -------------------------------------------------------------------------------- /cmake/triplets/x86-windows-static-release.cmake: -------------------------------------------------------------------------------- 1 | set(VCPKG_TARGET_ARCHITECTURE x86) 2 | set(VCPKG_CRT_LINKAGE static) 3 | set(VCPKG_LIBRARY_LINKAGE static) 4 | 5 | set(VCPKG_BUILD_TYPE release) 6 | -------------------------------------------------------------------------------- /COPYING-RES.txt: -------------------------------------------------------------------------------- 1 | * IWAD contents Copyright(C) 1994 Id Software, Inc. 2 | Licensed to Atari Corporation. 3 | 4 | * M_TITLE background art made from Adrian Carmack's sketch 5 | published by John Romero and extended to 32:9 widescreen mode. 6 | -------------------------------------------------------------------------------- /cmake/triplets/x64-windows-static-release.cmake: -------------------------------------------------------------------------------- 1 | set(VCPKG_TARGET_TRIPLET "x64-windows-static-release") 2 | set(VCPKG_TARGET_ARCHITECTURE x64) 3 | set(VCPKG_CRT_LINKAGE static) 4 | set(VCPKG_LIBRARY_LINKAGE static) 5 | 6 | set(VCPKG_BUILD_TYPE release) 7 | -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/docs/README-platforms.md: -------------------------------------------------------------------------------- 1 | Platforms 2 | ========= 3 | 4 | We maintain the list of supported platforms on our wiki now, and how to 5 | build and install SDL for those platforms: 6 | 7 | https://wiki.libsdl.org/Installation 8 | 9 | -------------------------------------------------------------------------------- /src/doom.desktop.in: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=@PACKAGE_SHORTNAME@ Doom 3 | Exec=@PROGRAM_PREFIX@doom 4 | Icon=@PROGRAM_PREFIX@doom 5 | Type=Application 6 | Comment=@PACKAGE_SHORTDESC@ 7 | Categories=Game;ActionGame; 8 | Keywords=first;person;shooter;vanilla; 9 | -------------------------------------------------------------------------------- /vcpkg.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cry", 3 | "version": "1.0", 4 | "dependencies": [ 5 | "sdl2", 6 | { 7 | "name": "sdl2-mixer", 8 | "features": [ "libflac", "libmodplug", "mpg123", "opusfile" ] 9 | }, 10 | "libsamplerate" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /cmake/triplets/x64-linux-dynamic-release.cmake: -------------------------------------------------------------------------------- 1 | set(VCPKG_TARGET_ARCHITECTURE x64) 2 | set(VCPKG_CRT_LINKAGE dynamic) 3 | set(VCPKG_LIBRARY_LINKAGE dynamic) 4 | 5 | set(VCPKG_CMAKE_SYSTEM_NAME Linux) 6 | 7 | set(VCPKG_FIXUP_ELF_RPATH ON) 8 | 9 | set(VCPKG_BUILD_TYPE release) 10 | -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/docs/README-wince.md: -------------------------------------------------------------------------------- 1 | WinCE 2 | ===== 3 | 4 | Windows CE is no longer supported by SDL. 5 | 6 | We have left the CE support in SDL 1.2 for those that must have it, and we 7 | have support for Windows Phone 8 and WinRT in SDL2, as of SDL 2.0.3. 8 | 9 | --ryan. 10 | 11 | -------------------------------------------------------------------------------- /cmake/config.h.cin: -------------------------------------------------------------------------------- 1 | #cmakedefine PACKAGE_NAME "@PACKAGE_NAME@" 2 | #cmakedefine PACKAGE_FULLNAME "CRY @PACKAGE_VERSION_CRY@" 3 | #cmakedefine PACKAGE_TARNAME "@PACKAGE_TARNAME@" 4 | #cmakedefine PACKAGE_VERSION "@PACKAGE_VERSION@" 5 | #cmakedefine PACKAGE_STRING "@PACKAGE_STRING@" 6 | #cmakedefine PROGRAM_PREFIX "@PROGRAM_PREFIX@" 7 | 8 | #cmakedefine HAVE_LIBSAMPLERATE 9 | #cmakedefine HAVE_DIRENT_H 10 | #cmakedefine01 HAVE_DECL_STRCASECMP 11 | #cmakedefine01 HAVE_DECL_STRNCASECMP 12 | -------------------------------------------------------------------------------- /win32/libsamplerate-0.2.2-win32/share/doc/libsamplerate/license.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 | 5 | # License 6 | 7 | From its first release in 2002, Secret Rabbit Code was under a dual licensing 8 | scheme where people could chose to use it under the terms of the GNU General 9 | Public License or pay for a commercial use license. 10 | 11 | In 2016, thanks to a generous offer from Epic Games International, Secret Rabbit 12 | Code was relicensed under the 2-clause BSD license. 13 | -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/README-SDL.txt: -------------------------------------------------------------------------------- 1 | 2 | Please distribute this file with the SDL runtime environment: 3 | 4 | The Simple DirectMedia Layer (SDL for short) is a cross-platform library 5 | designed to make it easy to write multi-media software, such as games 6 | and emulators. 7 | 8 | The Simple DirectMedia Layer library source code is available from: 9 | https://www.libsdl.org/ 10 | 11 | This library is distributed under the terms of the zlib license: 12 | http://www.zlib.net/zlib_license.html 13 | 14 | -------------------------------------------------------------------------------- /opl/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(opl STATIC 2 | opl.c opl.h 3 | opl_internal.h 4 | opl_queue.c opl_queue.h 5 | opl_sdl.c 6 | opl3.c opl3.h) 7 | target_include_directories(opl 8 | INTERFACE "." 9 | PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/../" "../src/") 10 | target_link_libraries(opl SDL2::SDL2) 11 | if(ENABLE_SDL2_MIXER) 12 | target_link_libraries(opl SDL2_mixer::SDL2_mixer) 13 | endif() 14 | -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/BUGS.txt: -------------------------------------------------------------------------------- 1 | 2 | Bugs are now managed in the SDL issue tracker, here: 3 | 4 | https://github.com/libsdl-org/SDL/issues 5 | 6 | You may report bugs there, and search to see if a given issue has already 7 | been reported, discussed, and maybe even fixed. 8 | 9 | 10 | You may also find help at the SDL forums/mailing list: 11 | 12 | https://discourse.libsdl.org/ 13 | 14 | Bug reports are welcome here, but we really appreciate if you use the issue 15 | tracker, as bugs discussed on the mailing list may be forgotten or missed. 16 | 17 | -------------------------------------------------------------------------------- /win32/libsamplerate-0.2.2-win32/share/doc/libsamplerate/lists.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 | 5 | # Mailing Lists 6 | 7 | There are currently two mailings lists for Secret Rabbit Code: 8 | 9 | - **src-announce\@mega-nerd.com**   10 | [Subscribe](mailto:src-announce-request@mega-nerd.com?subject=subscribe) 11 | 12 | A read only announcement list. 13 | - **src\@mega-nerd.com**   14 | [Subscribe](mailto:src-request@mega-nerd.com?subject=subscribe) 15 | 16 | A general list which will also carry all the email from the announce 17 | list. Posting to this list is restricted to subscribers. 18 | -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/README.md: -------------------------------------------------------------------------------- 1 | 2 | # Simple DirectMedia Layer (SDL) Version 2.0 3 | 4 | https://www.libsdl.org/ 5 | 6 | Simple DirectMedia Layer is a cross-platform development library designed 7 | to provide low level access to audio, keyboard, mouse, joystick, and graphics 8 | hardware via OpenGL and Direct3D. It is used by video playback software, 9 | emulators, and popular games including Valve's award winning catalog 10 | and many Humble Bundle games. 11 | 12 | More extensive documentation is available in the docs directory, starting 13 | with README.md 14 | 15 | Enjoy! 16 | 17 | Sam Lantinga (slouken@libsdl.org) 18 | -------------------------------------------------------------------------------- /win32/libsamplerate-0.2.2-win32/share/doc/libsamplerate/download.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 | 5 | # Download 6 | 7 | The latest version of Secret Rabbit Code is {{ site.version }}. 8 | 9 | Download it on [GitHub releases page](https://github.com/libsndfile/libsamplerate/releases/latest). 10 | 11 | Compiling libsamplerate is relatively easy. The INSTALL file in the top level 12 | directory gives instructions on compiling and installing libsamplerate on 13 | Unix-like systems (including MacOSX). For Win32 there are instructions in the 14 | docs/ directory of the tarball. These instructions are mirrored 15 | [here](win32.md). 16 | -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/docs/README-git.md: -------------------------------------------------------------------------------- 1 | git 2 | ========= 3 | 4 | The latest development version of SDL is available via git. 5 | Git allows you to get up-to-the-minute fixes and enhancements; 6 | as a developer works on a source tree, you can use "git" to mirror that 7 | source tree instead of waiting for an official release. Please look 8 | at the Git website ( https://git-scm.com/ ) for more 9 | information on using git, where you can also download software for 10 | macOS, Windows, and Unix systems. 11 | 12 | git clone https://github.com/libsdl-org/SDL 13 | 14 | If you are building SDL via configure, you will need to run autogen.sh 15 | before running configure. 16 | 17 | There is a web interface to the Git repository at: 18 | http://github.com/libsdl-org/SDL/ 19 | 20 | -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/include/SDL_opengles2_gl2platform.h: -------------------------------------------------------------------------------- 1 | #ifndef __gl2platform_h_ 2 | #define __gl2platform_h_ 3 | 4 | /* 5 | ** Copyright 2017-2020 The Khronos Group Inc. 6 | ** SPDX-License-Identifier: Apache-2.0 7 | */ 8 | 9 | /* Platform-specific types and definitions for OpenGL ES 2.X gl2.h 10 | * 11 | * Adopters may modify khrplatform.h and this file to suit their platform. 12 | * Please contribute modifications back to Khronos as pull requests on the 13 | * public github repository: 14 | * https://github.com/KhronosGroup/OpenGL-Registry 15 | */ 16 | 17 | /*#include */ 18 | 19 | #ifndef GL_APICALL 20 | #define GL_APICALL KHRONOS_APICALL 21 | #endif 22 | 23 | #ifndef GL_APIENTRY 24 | #define GL_APIENTRY KHRONOS_APIENTRY 25 | #endif 26 | 27 | #endif /* __gl2platform_h_ */ 28 | -------------------------------------------------------------------------------- /win32/libsamplerate-0.2.2-win32/share/doc/libsamplerate/win32.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 | 5 | # Compiling on Win32 6 | 7 | You can use [CMake](https://cmake.org/) to generate Visual Studio project. The 8 | configuration process is described [here](https://cmake.org/runningcmake/). 9 | 10 | The libsamplerate library itself does not require any dependencies, but if you 11 | want to build examples and tests, you will need the [libsndfile](https://github.com/libsndfile/libsndfile) 12 | and [FFTW](http://www.fftw.org/) libraries. The easiest way to install them is 13 | to use a package manager, such as [Vcpkg](https://github.com/microsoft/vcpkg). Their README.md contains detailed 14 | installation instructions for supported platforms. Libsamplerate requires the 15 | `libsndfile` and `fftw3` packages. 16 | -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/docs/README-pandora.md: -------------------------------------------------------------------------------- 1 | Pandora 2 | ===================================================================== 3 | 4 | ( http://openpandora.org/ ) 5 | - A pandora specific video driver was written to allow SDL 2.0 with OpenGL ES 6 | support to work on the pandora under the framebuffer. This driver do not have 7 | input support for now, so if you use it you will have to add your own control code. 8 | The video driver name is "pandora" so if you have problem running it from 9 | the framebuffer, try to set the following variable before starting your application : 10 | "export SDL_VIDEODRIVER=pandora" 11 | 12 | - OpenGL ES support was added to the x11 driver, so it's working like the normal 13 | x11 driver one with OpenGLX support, with SDL input event's etc.. 14 | 15 | 16 | David Carré (Cpasjuste) 17 | cpasjuste@gmail.com 18 | -------------------------------------------------------------------------------- /src/resource.rc.in: -------------------------------------------------------------------------------- 1 | 1 ICON "@top_srcdir@/data/doom.ico" 2 | 3 | #include 4 | 5 | CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "@top_srcdir@/src/manifest.xml" 6 | 7 | 1 VERSIONINFO 8 | PRODUCTVERSION @PACKAGE_VERSION@ 9 | FILEVERSION @PACKAGE_VERSION@ 10 | FILETYPE 1 11 | { 12 | BLOCK "StringFileInfo" 13 | { 14 | BLOCK "040904E4" 15 | { 16 | VALUE "FileVersion", "@PACKAGE_VERSION@" 17 | VALUE "FileDescription", "@PACKAGE_STRING@" 18 | VALUE "InternalName", "@PACKAGE_TARNAME@" 19 | VALUE "CompanyName", "@PACKAGE_BUGREPORT@" 20 | VALUE "LegalCopyright", "@PACKAGE_COPYRIGHT@. Licensed under @PACKAGE_LICENSE@" 21 | VALUE "ProductName", "@PACKAGE_NAME@" 22 | VALUE "ProductVersion", "@PACKAGE_VERSION@" 23 | } 24 | } 25 | BLOCK "VarFileInfo" 26 | { 27 | VALUE "Translation", 0x409, 1252 28 | } 29 | } 30 | 31 | -------------------------------------------------------------------------------- /src/doom-res.rc.in: -------------------------------------------------------------------------------- 1 | 1 ICON "@top_srcdir@/data/doom.ico" 2 | 3 | #include 4 | 5 | CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "@top_srcdir@/src/manifest.xml" 6 | 7 | 1 VERSIONINFO 8 | PRODUCTVERSION @WINDOWS_RC_VERSION@ 9 | FILEVERSION @WINDOWS_RC_VERSION@ 10 | FILETYPE 1 11 | { 12 | BLOCK "StringFileInfo" 13 | { 14 | BLOCK "040904E4" 15 | { 16 | VALUE "FileVersion", "@PACKAGE_VERSION_CRY@.0" 17 | VALUE "FileDescription", "@PACKAGE_FULLNAME@" 18 | VALUE "InternalName", "@PACKAGE_TARNAME@" 19 | VALUE "CompanyName", "@PACKAGE_BUGREPORT@" 20 | VALUE "LegalCopyright", "@PACKAGE_COPYRIGHT@. Licensed under @PACKAGE_LICENSE@" 21 | VALUE "ProductName", "@PACKAGE_NAME@" 22 | VALUE "ProductVersion", "@PACKAGE_VERSION_CRY@" 23 | } 24 | } 25 | BLOCK "VarFileInfo" 26 | { 27 | VALUE "Translation", 0x409, 1252 28 | } 29 | } 30 | 31 | -------------------------------------------------------------------------------- /miniz/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | file(STRINGS "miniz.h" MINIZ_VERSION_MAJOR_LINE REGEX "^#define[ \t]+MZ_VER_MAJOR[ \t]+[0-9]+$") 2 | string(REGEX REPLACE "^#define[ \t]+MZ_VER_MAJOR[ \t]+([0-9]+)$" "\\1" MINIZ_VERSION_MAJOR "${MINIZ_VERSION_MAJOR_LINE}") 3 | math(EXPR MINIZ_VERSION_MAJOR "${MINIZ_VERSION_MAJOR} - 8" OUTPUT_FORMAT DECIMAL) 4 | 5 | add_library(miniz STATIC EXCLUDE_FROM_ALL 6 | miniz.c miniz.h 7 | ) 8 | target_include_directories(miniz INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}") 9 | target_compile_definitions(miniz PRIVATE $<$:_GNU_SOURCE>) 10 | set_target_properties(miniz PROPERTIES 11 | INTERFACE_miniz_MAJOR_VERSION "${MINIZ_VERSION_MAJOR}" 12 | COMPATIBLE_INTERFACE_STRING "miniz_MAJOR_VERSION" 13 | C_STANDARD 90 14 | C_STANDARD_REQUIRED ON 15 | ) 16 | add_library(miniz::miniz ALIAS miniz) 17 | 18 | unset(MINIZ_VERSION_MAJOR_LINE) 19 | unset(MINIZ_VERSION_MAJOR) 20 | -------------------------------------------------------------------------------- /src/manifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | true 9 | 10 | 11 | 12 | 13 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/doom/f_finale.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 2005-2014 Simon Howard 4 | // Copyright(C) 2016-2025 Julia Nechaevskaya 5 | // 6 | // This program is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU General Public License 8 | // as published by the Free Software Foundation; either version 2 9 | // of the License, or (at your option) any later version. 10 | // 11 | // This program is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | // GNU General Public License for more details. 15 | // 16 | 17 | #pragma once 18 | 19 | #include "d_event.h" 20 | 21 | 22 | extern boolean F_Responder (const event_t *ev); 23 | extern void F_Ticker (void); 24 | extern void F_Drawer (void); 25 | extern void F_StartFinale (void); 26 | -------------------------------------------------------------------------------- /src/doom/doomstat.c: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 2005-2014 Simon Howard 4 | // Copyright(C) 2016-2025 Julia Nechaevskaya 5 | // 6 | // This program is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU General Public License 8 | // as published by the Free Software Foundation; either version 2 9 | // of the License, or (at your option) any later version. 10 | // 11 | // This program is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | // GNU General Public License for more details. 15 | // 16 | // DESCRIPTION: 17 | // Put all global tate variables here. 18 | // 19 | 20 | #include 21 | 22 | #include "doomstat.h" 23 | 24 | 25 | // Set if homebrew PWAD stuff has been added. 26 | boolean modifiedgame; 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /src/doom/f_wipe.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 2005-2014 Simon Howard 4 | // Copyright(C) 2016-2025 Julia Nechaevskaya 5 | // 6 | // This program is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU General Public License 8 | // as published by the Free Software Foundation; either version 2 9 | // of the License, or (at your option) any later version. 10 | // 11 | // This program is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | // GNU General Public License for more details. 15 | // 16 | // DESCRIPTION: 17 | // Mission start screen wipe/melt, special effects. 18 | // 19 | 20 | 21 | #pragma once 22 | 23 | 24 | extern void wipe_StartScreen (void); 25 | extern void wipe_EndScreen (void); 26 | extern boolean wipe_ScreenWipe (const int ticks); 27 | -------------------------------------------------------------------------------- /win32/SDL2_mixer-2.8.1/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (C) 1997-2025 Sam Lantinga 2 | 3 | This software is provided 'as-is', without any express or implied 4 | warranty. In no event will the authors be held liable for any damages 5 | arising from the use of this software. 6 | 7 | Permission is granted to anyone to use this software for any purpose, 8 | including commercial applications, and to alter it and redistribute it 9 | freely, subject to the following restrictions: 10 | 11 | 1. The origin of this software must not be misrepresented; you must not 12 | claim that you wrote the original software. If you use this software 13 | in a product, an acknowledgment in the product documentation would be 14 | appreciated but is not required. 15 | 2. Altered source versions must be plainly marked as such, and must not be 16 | misrepresented as being the original software. 17 | 3. This notice may not be removed or altered from any source distribution. 18 | -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (C) 1997-2025 Sam Lantinga 2 | 3 | This software is provided 'as-is', without any express or implied 4 | warranty. In no event will the authors be held liable for any damages 5 | arising from the use of this software. 6 | 7 | Permission is granted to anyone to use this software for any purpose, 8 | including commercial applications, and to alter it and redistribute it 9 | freely, subject to the following restrictions: 10 | 11 | 1. The origin of this software must not be misrepresented; you must not 12 | claim that you wrote the original software. If you use this software 13 | in a product, an acknowledgment in the product documentation would be 14 | appreciated but is not required. 15 | 2. Altered source versions must be plainly marked as such, and must not be 16 | misrepresented as being the original software. 17 | 3. This notice may not be removed or altered from any source distribution. 18 | 19 | -------------------------------------------------------------------------------- /src/doom/doomdef.c: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 2005-2014 Simon Howard 4 | // Copyright(C) 2016-2025 Julia Nechaevskaya 5 | // 6 | // This program is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU General Public License 8 | // as published by the Free Software Foundation; either version 2 9 | // of the License, or (at your option) any later version. 10 | // 11 | // This program is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | // GNU General Public License for more details. 15 | // 16 | // DESCRIPTION: 17 | // DoomDef - basic defines for DOOM, e.g. Version, game mode 18 | // and skill level, and display parameters. 19 | // 20 | 21 | 22 | 23 | #include "doomdef.h" 24 | 25 | // Location for any defines turned variables. 26 | 27 | // None. 28 | 29 | 30 | -------------------------------------------------------------------------------- /src/doom/wi_stuff.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 2005-2014 Simon Howard 4 | // Copyright(C) 2016-2025 Julia Nechaevskaya 5 | // 6 | // This program is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU General Public License 8 | // as published by the Free Software Foundation; either version 2 9 | // of the License, or (at your option) any later version. 10 | // 11 | // This program is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | // GNU General Public License for more details. 15 | // 16 | 17 | #pragma once 18 | 19 | 20 | // States for the intermission 21 | typedef enum 22 | { 23 | NoState = -1, 24 | StatCount, 25 | } stateenum_t; 26 | 27 | extern void WI_Drawer (void); 28 | extern void WI_Init (void); 29 | extern void WI_Start (wbstartstruct_t *wbstartstruct); 30 | extern void WI_Ticker (void); 31 | -------------------------------------------------------------------------------- /src/w_main.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 2005-2014 Simon Howard 3 | // Copyright(C) 2016-2025 Julia Nechaevskaya 4 | // 5 | // This program is free software; you can redistribute it and/or 6 | // modify it under the terms of the GNU General Public License 7 | // as published by the Free Software Foundation; either version 2 8 | // of the License, or (at your option) any later version. 9 | // 10 | // This program is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // DESCRIPTION: 16 | // Common code to parse command line, identifying WAD files to load. 17 | // 18 | 19 | #ifndef W_MAIN_H 20 | #define W_MAIN_H 21 | 22 | #include "d_mode.h" 23 | 24 | boolean W_ParseCommandLine(void); 25 | 26 | // Autoload all .wad files from the given directory: 27 | void W_AutoLoadWADs(const char *path); 28 | 29 | #endif /* #ifndef W_MAIN_H */ 30 | 31 | -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/include/SDL_copying.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2025 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/docs/README-psp.md: -------------------------------------------------------------------------------- 1 | PSP 2 | ====== 3 | SDL2 port for the Sony PSP contributed by: 4 | - Captian Lex 5 | - Francisco Javier Trujillo Mata 6 | - Wouter Wijsman 7 | 8 | 9 | Credit to 10 | Marcus R.Brown,Jim Paris,Matthew H for the original SDL 1.2 for PSP 11 | Geecko for his PSP GU lib "Glib2d" 12 | 13 | ## Building 14 | To build SDL2 library for the PSP, make sure you have the latest PSPDev status and run: 15 | ```bash 16 | cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=$PSPDEV/psp/share/pspdev.cmake 17 | cmake --build build 18 | cmake --install build 19 | ``` 20 | 21 | 22 | ## Getting PSP Dev 23 | [Installing PSP Dev](https://github.com/pspdev/pspdev) 24 | 25 | ## Running on PPSSPP Emulator 26 | [PPSSPP](https://github.com/hrydgard/ppsspp) 27 | 28 | [Build Instructions](https://github.com/hrydgard/ppsspp/wiki/Build-instructions) 29 | 30 | 31 | ## Compiling a HelloWorld 32 | [PSP Hello World](https://psp-dev.org/doku.php?id=tutorial:hello_world) 33 | 34 | ## To Do 35 | - PSP Screen Keyboard 36 | - Dialogs 37 | -------------------------------------------------------------------------------- /win32/libsamplerate-0.2.2-win32/lib/cmake/SampleRate/SampleRateTargets-release.cmake: -------------------------------------------------------------------------------- 1 | #---------------------------------------------------------------- 2 | # Generated CMake target import file for configuration "Release". 3 | #---------------------------------------------------------------- 4 | 5 | # Commands may need to know the format version. 6 | set(CMAKE_IMPORT_FILE_VERSION 1) 7 | 8 | # Import target "SampleRate::samplerate" for configuration "Release" 9 | set_property(TARGET SampleRate::samplerate APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) 10 | set_target_properties(SampleRate::samplerate PROPERTIES 11 | IMPORTED_IMPLIB_RELEASE "${_IMPORT_PREFIX}/lib/samplerate.lib" 12 | IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/bin/samplerate.dll" 13 | ) 14 | 15 | list(APPEND _IMPORT_CHECK_TARGETS SampleRate::samplerate ) 16 | list(APPEND _IMPORT_CHECK_FILES_FOR_SampleRate::samplerate "${_IMPORT_PREFIX}/lib/samplerate.lib" "${_IMPORT_PREFIX}/bin/samplerate.dll" ) 17 | 18 | # Commands beyond this point should not need to know the version. 19 | set(CMAKE_IMPORT_FILE_VERSION) 20 | -------------------------------------------------------------------------------- /src/w_merge.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 2005-2014 Simon Howard 3 | // Copyright(C) 2016-2025 Julia Nechaevskaya 4 | // 5 | // This program is free software; you can redistribute it and/or 6 | // modify it under the terms of the GNU General Public License 7 | // as published by the Free Software Foundation; either version 2 8 | // of the License, or (at your option) any later version. 9 | // 10 | // This program is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // DESCRIPTION: 16 | // Handles merging of PWADs, similar to deutex's -merge option 17 | // 18 | // Ideally this should work exactly the same as in deutex, but trying to 19 | // read the deutex source code made my brain hurt. 20 | // 21 | 22 | #ifndef W_MERGE_H 23 | #define W_MERGE_H 24 | 25 | // Add a new WAD and merge it into the main directory 26 | 27 | void W_MergeFile(const char *filename); 28 | 29 | #endif /* #ifndef W_MERGE_H */ 30 | 31 | -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/include/SDL_types.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2025 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /* DEPRECATED */ 23 | 24 | #include "SDL_stdinc.h" 25 | -------------------------------------------------------------------------------- /src/mus2mid.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 2005-2014 Simon Howard 4 | // Copyright(C) 2006 Ben Ryves 2006 5 | // Copyright(C) 2016-2025 Julia Nechaevskaya 6 | // 7 | // This program is free software; you can redistribute it and/or 8 | // modify it under the terms of the GNU General Public License 9 | // as published by the Free Software Foundation; either version 2 10 | // of the License, or (at your option) any later version. 11 | // 12 | // This program is distributed in the hope that it will be useful, 13 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | // GNU General Public License for more details. 16 | // 17 | // 18 | // mus2mid.h - Ben Ryves 2006 - http://benryves.com - benryves@benryves.com 19 | // Use to convert a MUS file into a single track, type 0 MIDI file. 20 | 21 | #ifndef MUS2MID_H 22 | #define MUS2MID_H 23 | 24 | #include "doomtype.h" 25 | #include "memio.h" 26 | 27 | boolean mus2mid(MEMFILE *musinput, MEMFILE *midioutput); 28 | 29 | #endif /* #ifndef MUS2MID_H */ 30 | 31 | -------------------------------------------------------------------------------- /src/v_postproc.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 2025 Polina "Aura" N. 3 | // Copyright(C) 2025 Julia Nechaevskaya 4 | // 5 | // This program is free software; you can redistribute it and/or 6 | // modify it under the terms of the GNU General Public License 7 | // as published by the Free Software Foundation; either version 2 8 | // of the License, or (at your option) any later version. 9 | // 10 | // This program is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // DESCRIPTION: 16 | // Video post processing effects for software renderer. 17 | // 18 | 19 | 20 | #pragma once 21 | 22 | #include "i_video.h" 23 | #include "id_vars.h" 24 | 25 | extern void V_PProc_SupersampledSmoothing (boolean st_background_on, int st_height); 26 | 27 | extern boolean pproc_display_effects; 28 | extern boolean pproc_plyrview_effects; 29 | extern boolean V_PProc_EffectsActive (void); 30 | 31 | extern void V_PProc_Display (boolean supress); 32 | extern void V_PProc_PlayerView (void); 33 | -------------------------------------------------------------------------------- /src/m_bbox.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 2005-2014 Simon Howard 4 | // Copyright(C) 2016-2025 Julia Nechaevskaya 5 | // 6 | // This program is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU General Public License 8 | // as published by the Free Software Foundation; either version 2 9 | // of the License, or (at your option) any later version. 10 | // 11 | // This program is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | // GNU General Public License for more details. 15 | // 16 | // DESCRIPTION: 17 | // Nil. 18 | // 19 | 20 | 21 | #ifndef __M_BBOX__ 22 | #define __M_BBOX__ 23 | 24 | #include 25 | 26 | #include "m_fixed.h" 27 | 28 | 29 | // Bounding box coordinate storage. 30 | enum 31 | { 32 | BOXTOP, 33 | BOXBOTTOM, 34 | BOXLEFT, 35 | BOXRIGHT 36 | }; // bbox coordinates 37 | 38 | // Bounding box functions. 39 | void M_ClearBox (fixed_t* box); 40 | 41 | void 42 | M_AddToBox 43 | ( fixed_t* box, 44 | fixed_t x, 45 | fixed_t y ); 46 | 47 | 48 | #endif 49 | -------------------------------------------------------------------------------- /win32/SDL2_mixer-2.8.1/lib/x64/optional/LICENSE.xmp.txt: -------------------------------------------------------------------------------- 1 | Extended Module Player 2 | Copyright (C) 1996-2024 Claudio Matsuoka and Hipolito Carraro Jr 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a 5 | copy of this software and associated documentation files (the "Software"), 6 | to deal in the Software without restriction, including without limitation 7 | the rights to use, copy, modify, merge, publish, distribute, sublicense, 8 | and/or sell copies of the Software, and to permit persons to whom the 9 | Software is furnished to do so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /win32/SDL2_mixer-2.8.1/lib/x86/optional/LICENSE.xmp.txt: -------------------------------------------------------------------------------- 1 | Extended Module Player 2 | Copyright (C) 1996-2024 Claudio Matsuoka and Hipolito Carraro Jr 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a 5 | copy of this software and associated documentation files (the "Software"), 6 | to deal in the Software without restriction, including without limitation 7 | the rights to use, copy, modify, merge, publish, distribute, sublicense, 8 | and/or sell copies of the Software, and to permit persons to whom the 9 | Software is furnished to do so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /miniz/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2013-2014 RAD Game Tools and Valve Software 2 | Copyright 2010-2014 Rich Geldreich and Tenacious Software LLC 3 | 4 | All Rights Reserved. 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/include/SDL_name.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2025 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | #ifndef SDLname_h_ 23 | #define SDLname_h_ 24 | 25 | #if defined(__STDC__) || defined(__cplusplus) 26 | #define NeedFunctionPrototypes 1 27 | #endif 28 | 29 | #define SDL_NAME(X) SDL_##X 30 | 31 | #endif /* SDLname_h_ */ 32 | 33 | /* vi: set ts=4 sw=4 expandtab: */ 34 | -------------------------------------------------------------------------------- /src/m_random.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 1993-2008 Raven Software 4 | // Copyright(C) 2005-2014 Simon Howard 5 | // Copyright(C) 2024-2025 Polina "Aura" N. 6 | // Copyright(C) 2016-2025 Julia Nechaevskaya 7 | // 8 | // This program is free software; you can redistribute it and/or 9 | // modify it under the terms of the GNU General Public License 10 | // as published by the Free Software Foundation; either version 2 11 | // of the License, or (at your option) any later version. 12 | // 13 | // This program is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | 19 | #pragma once 20 | 21 | 22 | #include "d_mode.h" // GameMission_t 23 | 24 | 25 | // Most damage defined using HITDICE. Used in Heretic and Hexen. 26 | #define HITDICE(a) ((1+(P_Random()&7))*a) 27 | 28 | extern int ID_Random (void); 29 | extern int ID_RealRandom (void); 30 | extern int ID_SubRandom (void); 31 | extern int M_Random (void); 32 | extern int P_Random (void); 33 | extern int P_SubRandom (void); 34 | extern void M_ClearRandom (void); 35 | extern void M_InitRandom (void); 36 | 37 | extern int m_rndindex; 38 | -------------------------------------------------------------------------------- /src/midifallback.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 2022 ceski 3 | // 4 | // This program is free software; you can redistribute it and/or 5 | // modify it under the terms of the GNU General Public License 6 | // as published by the Free Software Foundation; either version 2 7 | // of the License, or (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // DESCRIPTION: 15 | // MIDI instrument fallback support 16 | // 17 | 18 | #ifdef _WIN32 19 | 20 | #ifndef MIDIFALLBACK_H 21 | #define MIDIFALLBACK_H 22 | 23 | #include "doomtype.h" 24 | #include "midifile.h" 25 | 26 | typedef enum midi_fallback_type_t 27 | { 28 | FALLBACK_NONE, 29 | FALLBACK_BANK_MSB, 30 | FALLBACK_BANK_LSB, 31 | FALLBACK_DRUMS, 32 | } midi_fallback_type_t; 33 | 34 | typedef struct midi_fallback_t 35 | { 36 | midi_fallback_type_t type; 37 | byte value; 38 | } midi_fallback_t; 39 | 40 | void MIDI_CheckFallback(const midi_event_t *event, midi_fallback_t *fallback, 41 | boolean allow_sysex); 42 | void MIDI_ResetFallback(void); 43 | void MIDI_InitFallback(void); 44 | 45 | #endif // MIDIFALLBACK_H 46 | 47 | #endif // _WIN32 48 | -------------------------------------------------------------------------------- /src/m_bbox.c: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 2005-2014 Simon Howard 4 | // Copyright(C) 2016-2025 Julia Nechaevskaya 5 | // 6 | // This program is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU General Public License 8 | // as published by the Free Software Foundation; either version 2 9 | // of the License, or (at your option) any later version. 10 | // 11 | // This program is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | // GNU General Public License for more details. 15 | // 16 | // DESCRIPTION: 17 | // Main loop menu stuff. 18 | // Random number LUT. 19 | // Default Config File. 20 | // PCX Screenshots. 21 | // 22 | 23 | 24 | 25 | #include "m_bbox.h" 26 | 27 | 28 | 29 | 30 | void M_ClearBox (fixed_t *box) 31 | { 32 | box[BOXTOP] = box[BOXRIGHT] = INT_MIN; 33 | box[BOXBOTTOM] = box[BOXLEFT] = INT_MAX; 34 | } 35 | 36 | void 37 | M_AddToBox 38 | ( fixed_t* box, 39 | fixed_t x, 40 | fixed_t y ) 41 | { 42 | if (xbox[BOXRIGHT]) 45 | box[BOXRIGHT] = x; 46 | if (ybox[BOXTOP]) 49 | box[BOXTOP] = y; 50 | } 51 | 52 | 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/docs/release_checklist.md: -------------------------------------------------------------------------------- 1 | # Release checklist 2 | 3 | When changing the version, run `build-scripts/update-version.sh X Y Z`, 4 | where `X Y Z` are the major version, minor version, and patch level. So 5 | `2 28 1` means "change the version to 2.28.1". This script does much of the 6 | mechanical work. 7 | 8 | 9 | ## New feature release 10 | 11 | * Update `WhatsNew.txt` 12 | 13 | * Bump version number to 2.EVEN.0: 14 | 15 | * `./build-scripts/update-version.sh 2 EVEN 0` 16 | 17 | * Do the release 18 | 19 | * Update the website file include/header.inc.php to reflect the new version 20 | 21 | ## New bugfix release 22 | 23 | * Check that no new API/ABI was added 24 | 25 | * If it was, do a new feature release (see above) instead 26 | 27 | * Bump version number from 2.Y.Z to 2.Y.(Z+1) (Y is even) 28 | 29 | * `./build-scripts/update-version.sh 2 Y Z+1` 30 | 31 | * Do the release 32 | 33 | * Update the website file include/header.inc.php to reflect the new version 34 | 35 | ## After a feature release 36 | 37 | * Create a branch like `release-2.24.x` 38 | 39 | * Bump version number to 2.ODD.0 for next development branch 40 | 41 | * `./build-scripts/update-version.sh 2 ODD 0` 42 | 43 | ## New development prerelease 44 | 45 | * Bump version number from 2.Y.Z to 2.Y.(Z+1) (Y is odd) 46 | 47 | * `./build-scripts/update-version.sh 2 Y Z+1` 48 | 49 | * Do the release 50 | -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/include/SDL_opengles.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2025 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /* 23 | * This is a simple file to encapsulate the OpenGL ES 1.X API headers. 24 | */ 25 | 26 | #include "SDL_config.h" 27 | 28 | #ifdef __IPHONEOS__ 29 | #include 30 | #include 31 | #else 32 | #include 33 | #include 34 | #endif 35 | 36 | #ifndef APIENTRY 37 | #define APIENTRY 38 | #endif 39 | -------------------------------------------------------------------------------- /src/doom/d_main.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 2005-2014 Simon Howard 4 | // Copyright(C) 2016-2025 Julia Nechaevskaya 5 | // 6 | // This program is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU General Public License 8 | // as published by the Free Software Foundation; either version 2 9 | // of the License, or (at your option) any later version. 10 | // 11 | // This program is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | // GNU General Public License for more details. 15 | // 16 | // DESCRIPTION: 17 | // System specific interface stuff. 18 | // 19 | 20 | 21 | #ifndef __D_MAIN__ 22 | #define __D_MAIN__ 23 | 24 | #include "doomdef.h" 25 | 26 | 27 | 28 | 29 | // Read events from all input devices 30 | 31 | void D_ProcessEvents (void); 32 | 33 | 34 | // 35 | // BASE LEVEL 36 | // 37 | extern void D_DoomLoop (void); 38 | extern void D_CheckNetGame (void); 39 | extern void D_PageTicker (void); 40 | extern void D_PageDrawer (void); 41 | extern void D_AdvanceDemo (void); 42 | extern void D_DoAdvanceDemo (void); 43 | extern void D_StartTitle (void); 44 | 45 | // 46 | // GLOBAL VARIABLES 47 | // 48 | 49 | extern boolean advancedemo; 50 | 51 | extern gameaction_t gameaction; 52 | 53 | #endif 54 | 55 | -------------------------------------------------------------------------------- /src/i_swap.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 2005-2014 Simon Howard 4 | // Copyright(C) 2016-2025 Julia Nechaevskaya 5 | // 6 | // This program is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU General Public License 8 | // as published by the Free Software Foundation; either version 2 9 | // of the License, or (at your option) any later version. 10 | // 11 | // This program is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | // GNU General Public License for more details. 15 | // 16 | // DESCRIPTION: 17 | // Endianess handling, swapping 16bit and 32bit. 18 | // 19 | 20 | 21 | #ifndef __I_SWAP__ 22 | #define __I_SWAP__ 23 | 24 | #include "SDL_endian.h" 25 | 26 | // Endianess handling. 27 | // WAD files are stored little endian. 28 | 29 | // Just use SDL's endianness swapping functions. 30 | 31 | // These are deliberately cast to signed values; this is the behaviour 32 | // of the macros in the original source and some code relies on it. 33 | 34 | #define SHORT(x) ((signed short) SDL_SwapLE16(x)) 35 | #define LONG(x) ((signed int) SDL_SwapLE32(x)) 36 | 37 | // Defines for checking the endianness of the system. 38 | 39 | #if SDL_BYTEORDER == SDL_BIG_ENDIAN 40 | #define SYS_BIG_ENDIAN 41 | #endif 42 | 43 | #endif 44 | 45 | -------------------------------------------------------------------------------- /src/i_timer.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 2005-2014 Simon Howard 4 | // Copyright(C) 2016-2025 Julia Nechaevskaya 5 | // 6 | // This program is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU General Public License 8 | // as published by the Free Software Foundation; either version 2 9 | // of the License, or (at your option) any later version. 10 | // 11 | // This program is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | // GNU General Public License for more details. 15 | // 16 | // DESCRIPTION: 17 | // System-specific timer interface 18 | // 19 | 20 | 21 | #ifndef __I_TIMER__ 22 | #define __I_TIMER__ 23 | 24 | #include "m_fixed.h" // [crispy] 25 | 26 | #define TICRATE 35 27 | 28 | // Called by D_DoomLoop, 29 | // returns current time in tics. 30 | int I_GetTime (void); 31 | 32 | // returns current time in ms 33 | int I_GetTimeMS (void); 34 | 35 | // returns current time in us 36 | uint64_t I_GetTimeUS(void); // [crispy] 37 | 38 | // Pause for a specified number of ms 39 | void I_Sleep(int ms); 40 | 41 | // Initialize timer 42 | void I_InitTimer(void); 43 | 44 | // Wait for vertical retrace or pause a bit. 45 | void I_WaitVBL(int count); 46 | 47 | // [crispy] 48 | fixed_t I_GetFracRealTime(void); 49 | #endif 50 | 51 | -------------------------------------------------------------------------------- /src/memio.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 2005-2014 Simon Howard 4 | // Copyright(C) 2016-2025 Julia Nechaevskaya 5 | // 6 | // This program is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU General Public License 8 | // as published by the Free Software Foundation; either version 2 9 | // of the License, or (at your option) any later version. 10 | // 11 | // This program is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | // GNU General Public License for more details. 15 | // 16 | 17 | #ifndef MEMIO_H 18 | #define MEMIO_H 19 | 20 | typedef struct _MEMFILE MEMFILE; 21 | 22 | typedef enum 23 | { 24 | MEM_SEEK_SET, 25 | MEM_SEEK_CUR, 26 | MEM_SEEK_END, 27 | } mem_rel_t; 28 | 29 | MEMFILE *mem_fopen_read(void *buf, size_t buflen); 30 | size_t mem_fread(void *buf, size_t size, size_t nmemb, MEMFILE *stream); 31 | MEMFILE *mem_fopen_write(void); 32 | size_t mem_fwrite(const void *ptr, size_t size, size_t nmemb, MEMFILE *stream); 33 | int mem_fputs(const char *str, MEMFILE *stream); 34 | void mem_get_buf(MEMFILE *stream, void **buf, size_t *buflen); 35 | void mem_fclose(MEMFILE *stream); 36 | long mem_ftell(MEMFILE *stream); 37 | int mem_fseek(MEMFILE *stream, signed long offset, mem_rel_t whence); 38 | 39 | #endif /* #ifndef MEMIO_H */ 40 | 41 | -------------------------------------------------------------------------------- /src/m_fixed.c: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 2005-2014 Simon Howard 4 | // Copyright(C) 2016-2025 Julia Nechaevskaya 5 | // 6 | // This program is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU General Public License 8 | // as published by the Free Software Foundation; either version 2 9 | // of the License, or (at your option) any later version. 10 | // 11 | // This program is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | // GNU General Public License for more details. 15 | // 16 | // DESCRIPTION: 17 | // Fixed point implementation. 18 | // 19 | 20 | 21 | 22 | #include "stdlib.h" 23 | 24 | #include "doomtype.h" 25 | #include "i_system.h" 26 | 27 | #include "m_fixed.h" 28 | 29 | 30 | 31 | 32 | // Fixme. __USE_C_FIXED__ or something. 33 | 34 | fixed_t 35 | FixedMul 36 | ( fixed_t a, 37 | fixed_t b ) 38 | { 39 | return ((int64_t) a * (int64_t) b) >> FRACBITS; 40 | } 41 | 42 | 43 | 44 | // 45 | // FixedDiv, C version. 46 | // 47 | 48 | fixed_t FixedDiv(fixed_t a, fixed_t b) 49 | { 50 | if ((abs(a) >> 14) >= abs(b)) 51 | { 52 | return (a^b) < 0 ? INT_MIN : INT_MAX; 53 | } 54 | else 55 | { 56 | int64_t result; 57 | 58 | result = ((int64_t) a << FRACBITS) / b; 59 | 60 | return (fixed_t) result; 61 | } 62 | } 63 | 64 | -------------------------------------------------------------------------------- /src/doom/am_map.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 2005-2014 Simon Howard 4 | // Copyright(C) 2016-2025 Julia Nechaevskaya 5 | // 6 | // This program is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU General Public License 8 | // as published by the Free Software Foundation; either version 2 9 | // of the License, or (at your option) any later version. 10 | // 11 | // This program is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | // GNU General Public License for more details. 15 | // 16 | 17 | #pragma once 18 | 19 | 20 | #include "d_event.h" 21 | #include "st_bar.h" 22 | 23 | 24 | typedef struct 25 | { 26 | int64_t x,y; 27 | } mpoint_t; 28 | 29 | extern boolean AM_Responder (const event_t *ev); 30 | 31 | extern cheatseq_t cheat_amap; 32 | 33 | extern int iddt_cheating; 34 | extern int markpointnum, markpointnum_max; 35 | 36 | extern mpoint_t *markpoints; 37 | 38 | extern int followplayer; 39 | 40 | extern void AM_clearMarks (void); 41 | extern void AM_Drawer (void); 42 | extern void AM_Init (void); 43 | extern void AM_initVariables (void); 44 | extern void AM_LevelInit (boolean reinit); 45 | extern void AM_LevelNameDrawer (void); 46 | extern void AM_SetdrawFline (void); 47 | extern void AM_Start (void); 48 | extern void AM_Stop (void); 49 | extern void AM_Ticker (void); 50 | -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/docs/README-n3ds.md: -------------------------------------------------------------------------------- 1 | # Nintendo 3DS 2 | 3 | SDL port for the Nintendo 3DS [Homebrew toolchain](https://devkitpro.org/) contributed by: 4 | 5 | - [Pierre Wendling](https://github.com/FtZPetruska) 6 | 7 | Credits to: 8 | 9 | - The awesome people who ported SDL to other homebrew platforms. 10 | - The Devkitpro team for making all the tools necessary to achieve this. 11 | 12 | ## Building 13 | 14 | To build for the Nintendo 3DS, make sure you have devkitARM and cmake installed and run: 15 | 16 | ```bash 17 | cmake -S. -Bbuild -DCMAKE_TOOLCHAIN_FILE="$DEVKITPRO/cmake/3DS.cmake" -DCMAKE_BUILD_TYPE=Release 18 | cmake --build build 19 | cmake --install build 20 | ``` 21 | 22 | ## Notes 23 | 24 | - Currently only software rendering is supported. 25 | - SDL2main should be used to ensure ROMFS is enabled. 26 | - By default, the extra L2 cache and higher clock speeds of the New 2/3DS lineup are enabled. If you wish to turn it off, use `osSetSpeedupEnable(false)` in your main function. 27 | - `SDL_GetBasePath` returns the romfs root instead of the executable's directory. 28 | - The Nintendo 3DS uses a cooperative threading model on a single core, meaning a thread will never yield unless done manually through the `SDL_Delay` functions, or blocking waits (`SDL_LockMutex`, `SDL_SemWait`, `SDL_CondWait`, `SDL_WaitThread`). To avoid starving other threads, `SDL_SemTryWait` and `SDL_SemWaitTimeout` will yield if they fail to acquire the semaphore, see https://github.com/libsdl-org/SDL/pull/6776 for more information. 29 | -------------------------------------------------------------------------------- /opl/opl_queue.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 2005-2014 Simon Howard 3 | // 4 | // This program is free software; you can redistribute it and/or 5 | // modify it under the terms of the GNU General Public License 6 | // as published by the Free Software Foundation; either version 2 7 | // of the License, or (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // DESCRIPTION: 15 | // OPL callback queue. 16 | // 17 | 18 | #ifndef OPL_QUEUE_H 19 | #define OPL_QUEUE_H 20 | 21 | #include "opl.h" 22 | 23 | typedef struct opl_callback_queue_s opl_callback_queue_t; 24 | 25 | opl_callback_queue_t *OPL_Queue_Create(void); 26 | int OPL_Queue_IsEmpty(opl_callback_queue_t *queue); 27 | void OPL_Queue_Clear(opl_callback_queue_t *queue); 28 | void OPL_Queue_Destroy(opl_callback_queue_t *queue); 29 | void OPL_Queue_Push(opl_callback_queue_t *queue, 30 | opl_callback_t callback, void *data, 31 | uint64_t time); 32 | int OPL_Queue_Pop(opl_callback_queue_t *queue, 33 | opl_callback_t *callback, void **data); 34 | uint64_t OPL_Queue_Peek(opl_callback_queue_t *queue); 35 | void OPL_Queue_AdjustCallbacks(opl_callback_queue_t *queue, 36 | uint64_t time, float factor); 37 | 38 | #endif /* #ifndef OPL_QUEUE_H */ 39 | 40 | -------------------------------------------------------------------------------- /src/m_argv.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 2005-2014 Simon Howard 4 | // Copyright(C) 2016-2025 Julia Nechaevskaya 5 | // 6 | // This program is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU General Public License 8 | // as published by the Free Software Foundation; either version 2 9 | // of the License, or (at your option) any later version. 10 | // 11 | // This program is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | // GNU General Public License for more details. 15 | // 16 | // DESCRIPTION: 17 | // Nil. 18 | // 19 | 20 | 21 | #ifndef __M_ARGV__ 22 | #define __M_ARGV__ 23 | 24 | #include "doomtype.h" 25 | 26 | // 27 | // MISC 28 | // 29 | extern int myargc; 30 | extern char** myargv; 31 | 32 | extern char *exedir; 33 | void M_SetExeDir(void); 34 | 35 | // Returns the position of the given parameter 36 | // in the arg list (0 if not found). 37 | int M_CheckParm (const char* check); 38 | 39 | // Same as M_CheckParm, but checks that num_args arguments are available 40 | // following the specified argument. 41 | int M_CheckParmWithArgs(const char *check, int num_args); 42 | 43 | void M_AddLooseFiles(void); 44 | 45 | // Parameter has been specified? 46 | 47 | boolean M_ParmExists(const char *check); 48 | 49 | // Get name of executable used to run this program: 50 | 51 | const char *M_GetExecutableName(void); 52 | 53 | #endif 54 | -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/docs/README-kmsbsd.md: -------------------------------------------------------------------------------- 1 | KMSDRM on *BSD 2 | ================================================== 3 | 4 | KMSDRM is supported on FreeBSD and OpenBSD. DragonFlyBSD works but requires being a root user. NetBSD isn't supported yet because the application will crash when creating the KMSDRM screen. 5 | 6 | WSCONS support has been brought back, but only as an input backend. It will not be brought back as a video backend to ease maintenance. 7 | 8 | OpenBSD note: Note that the video backend assumes that the user has read/write permissions to the /dev/drm* devices. 9 | 10 | 11 | SDL2 WSCONS input backend features 12 | =================================================== 13 | 1. It is keymap-aware; it will work properly with different keymaps. 14 | 2. It has mouse support. 15 | 3. Accent input is supported. 16 | 4. Compose keys are supported. 17 | 5. AltGr and Meta Shift keys work as intended. 18 | 19 | Partially working or no input on OpenBSD/NetBSD. 20 | ================================================== 21 | 22 | The WSCONS input backend needs read/write access to the /dev/wskbd* devices, without which it will not work properly. /dev/wsmouse must also be read/write accessible, otherwise mouse input will not work. 23 | 24 | Partially working or no input on FreeBSD. 25 | ================================================== 26 | 27 | The evdev devices are only accessible to the root user by default. Edit devfs rules to allow access to such devices. The /dev/kbd* devices are also only accessible to the root user by default. Edit devfs rules to allow access to such devices. 28 | -------------------------------------------------------------------------------- /src/i_glob.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 2018 Simon Howard 3 | // 4 | // This program is free software; you can redistribute it and/or 5 | // modify it under the terms of the GNU General Public License 6 | // as published by the Free Software Foundation; either version 2 7 | // of the License, or (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // DESCRIPTION: 15 | // System specific file globbing interface. 16 | // 17 | 18 | 19 | #ifndef __I_GLOB__ 20 | #define __I_GLOB__ 21 | 22 | #define GLOB_FLAG_NOCASE 0x01 23 | #define GLOB_FLAG_SORTED 0x02 24 | 25 | typedef struct glob_s glob_t; 26 | 27 | // Start reading a list of file paths from the given directory which match 28 | // the given glob pattern. I_EndGlob() must be called on completion. 29 | glob_t *I_StartGlob(const char *directory, const char *glob, int flags); 30 | 31 | // Same as I_StartGlob but multiple glob patterns can be provided. The list 32 | // of patterns must be terminated with NULL. 33 | glob_t *I_StartMultiGlob(const char *directory, int flags, 34 | const char *glob, ...); 35 | 36 | // Finish reading file list. 37 | void I_EndGlob(glob_t *glob); 38 | 39 | // Read the name of the next globbed filename. NULL is returned if there 40 | // are no more found. 41 | const char *I_NextGlob(glob_t *glob); 42 | 43 | #endif 44 | 45 | -------------------------------------------------------------------------------- /src/m_fixed.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 2005-2014 Simon Howard 4 | // Copyright(C) 2016-2025 Julia Nechaevskaya 5 | // 6 | // This program is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU General Public License 8 | // as published by the Free Software Foundation; either version 2 9 | // of the License, or (at your option) any later version. 10 | // 11 | // This program is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | // GNU General Public License for more details. 15 | // 16 | // DESCRIPTION: 17 | // Fixed point arithemtics, implementation. 18 | // 19 | 20 | 21 | #ifndef __M_FIXED__ 22 | #define __M_FIXED__ 23 | 24 | #include 25 | 26 | 27 | 28 | // 29 | // Fixed point, 32bit as 16.16. 30 | // 31 | #define FRACBITS 16 32 | #define FRACUNIT (1<> FRACBITS); 43 | } 44 | 45 | #define MIN(a, b) (((a) < (b)) ? (a) : (b)) 46 | 47 | #define MAX(a, b) (((a) > (b)) ? (a) : (b)) 48 | 49 | #define BETWEEN(l, u, x) ((l) > (x) ? (l) : (x) > (u) ? (u) : (x)) 50 | 51 | inline static int DivRoundClosest(const int n, const int d) 52 | { 53 | return ((n < 0) == (d < 0)) ? ((n + d / 2) / d) : ((n - d / 2) / d); 54 | } 55 | 56 | 57 | #endif 58 | -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/include/close_code.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2025 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * \file close_code.h 24 | * 25 | * This file reverses the effects of begin_code.h and should be included 26 | * after you finish any function and structure declarations in your headers 27 | */ 28 | 29 | #ifndef SDL_begin_code_h 30 | #error close_code.h included without matching begin_code.h 31 | #endif 32 | #undef SDL_begin_code_h 33 | 34 | /* Reset structure packing at previous byte alignment */ 35 | #if defined(_MSC_VER) || defined(__MWERKS__) || defined(__BORLANDC__) 36 | #ifdef __BORLANDC__ 37 | #pragma nopackwarning 38 | #endif 39 | #pragma pack(pop) 40 | #endif /* Compiler needs structure packing set */ 41 | -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/docs/README-ngage.md: -------------------------------------------------------------------------------- 1 | Nokia N-Gage 2 | ============ 3 | 4 | SDL2 port for Symbian S60v1 and v2 with a main focus on the Nokia N-Gage 5 | (Classic and QD) by [Michael Fitzmayer](https://github.com/mupfdev). 6 | 7 | Compiling 8 | --------- 9 | 10 | SDL is part of the [N-Gage SDK.](https://github.com/ngagesdk) project. 11 | The library is included in the 12 | [toolchain](https://github.com/ngagesdk/ngage-toolchain) as a 13 | sub-module. 14 | 15 | A complete example project based on SDL2 can be found in the GitHub 16 | account of the SDK: [Wordle](https://github.com/ngagesdk/wordle). 17 | 18 | Current level of implementation 19 | ------------------------------- 20 | 21 | The video driver currently provides full screen video support with 22 | keyboard input. 23 | 24 | At the moment only the software renderer works. 25 | 26 | Audio is not yet implemented. 27 | 28 | Acknowledgements 29 | ---------------- 30 | 31 | Thanks to Hannu Viitala, Kimmo Kinnunen and Markus Mertama for the 32 | valuable insight into Symbian programming. Without the SDL 1.2 port 33 | which was specially developed for CDoom (Doom for the Nokia 9210), this 34 | adaptation would not have been possible. 35 | 36 | I would like to thank my friends 37 | [Razvan](https://twitter.com/bewarerazvan) and [Dan 38 | Whelan](https://danwhelan.ie/), for their continuous support. Without 39 | you and the [N-Gage community](https://discord.gg/dbUzqJ26vs), I would 40 | have lost my patience long ago. 41 | 42 | Last but not least, I would like to thank the development team of 43 | [EKA2L1](https://12z1.com/) (an experimental Symbian OS emulator). Your 44 | patience and support in troubleshooting helped me a lot. 45 | -------------------------------------------------------------------------------- /win32/SDL2_mixer-2.8.1/lib/x64/optional/LICENSE.wavpack.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 1998 - 2022 David Bryant 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | 7 | * Redistributions of source code must retain the above copyright notice, 8 | this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above copyright notice, 10 | this list of conditions and the following disclaimer in the 11 | documentation and/or other materials provided with the distribution. 12 | * Neither the name of Conifer Software nor the names of its contributors 13 | may be used to endorse or promote products derived from this software 14 | without specific prior written permission. 15 | 16 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 17 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19 | ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR 20 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 22 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 23 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 24 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 25 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | -------------------------------------------------------------------------------- /win32/SDL2_mixer-2.8.1/lib/x86/optional/LICENSE.wavpack.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 1998 - 2022 David Bryant 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | 7 | * Redistributions of source code must retain the above copyright notice, 8 | this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above copyright notice, 10 | this list of conditions and the following disclaimer in the 11 | documentation and/or other materials provided with the distribution. 12 | * Neither the name of Conifer Software nor the names of its contributors 13 | may be used to endorse or promote products derived from this software 14 | without specific prior written permission. 15 | 16 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 17 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19 | ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR 20 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 22 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 23 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 24 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 25 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | -------------------------------------------------------------------------------- /src/v_patch.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 2005-2014 Simon Howard 4 | // Copyright(C) 2016-2025 Julia Nechaevskaya 5 | // 6 | // This program is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU General Public License 8 | // as published by the Free Software Foundation; either version 2 9 | // of the License, or (at your option) any later version. 10 | // 11 | // This program is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | // GNU General Public License for more details. 15 | // 16 | // DESCRIPTION: 17 | // Refresh/rendering module, shared data struct definitions. 18 | // 19 | 20 | 21 | #ifndef V_PATCH_H 22 | #define V_PATCH_H 23 | 24 | // Patches. 25 | // A patch holds one or more columns. 26 | // Patches are used for sprites and all masked pictures, 27 | // and we compose textures from the TEXTURE1/2 lists 28 | // of patches. 29 | 30 | typedef PACKED_STRUCT ( 31 | { 32 | short width; // bounding box size 33 | short height; 34 | short leftoffset; // pixels to the left of origin 35 | short topoffset; // pixels below the origin 36 | int columnofs[8]; // only [width] used 37 | // the [0] is &columnofs[width] 38 | }) patch_t; 39 | 40 | // posts are runs of non masked source pixels 41 | typedef PACKED_STRUCT ( 42 | { 43 | byte topdelta; // -1 is the last post in a column 44 | byte length; // length data bytes follows 45 | }) post_t; 46 | 47 | // column_t is a list of 0 or more post_t, (byte)-1 terminated 48 | typedef post_t column_t; 49 | 50 | #endif 51 | 52 | -------------------------------------------------------------------------------- /win32/SDL2_mixer-2.8.1/lib/x64/optional/LICENSE.ogg-vorbis.txt: -------------------------------------------------------------------------------- 1 | The source code to this library used with SDL_mixer can be found here: 2 | https://hg.libsdl.org/SDL_mixer/file/default/external 3 | --- 4 | 5 | Copyright (c) 2002-2018 Xiph.org Foundation 6 | 7 | Redistribution and use in source and binary forms, with or without 8 | modification, are permitted provided that the following conditions 9 | are met: 10 | 11 | - Redistributions of source code must retain the above copyright 12 | notice, this list of conditions and the following disclaimer. 13 | 14 | - Redistributions in binary form must reproduce the above copyright 15 | notice, this list of conditions and the following disclaimer in the 16 | documentation and/or other materials provided with the distribution. 17 | 18 | - Neither the name of the Xiph.org Foundation nor the names of its 19 | contributors may be used to endorse or promote products derived from 20 | this software without specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 23 | ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 24 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 25 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION 26 | OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 27 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 28 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 29 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 30 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 31 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 32 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 33 | -------------------------------------------------------------------------------- /win32/SDL2_mixer-2.8.1/lib/x86/optional/LICENSE.ogg-vorbis.txt: -------------------------------------------------------------------------------- 1 | The source code to this library used with SDL_mixer can be found here: 2 | https://hg.libsdl.org/SDL_mixer/file/default/external 3 | --- 4 | 5 | Copyright (c) 2002-2018 Xiph.org Foundation 6 | 7 | Redistribution and use in source and binary forms, with or without 8 | modification, are permitted provided that the following conditions 9 | are met: 10 | 11 | - Redistributions of source code must retain the above copyright 12 | notice, this list of conditions and the following disclaimer. 13 | 14 | - Redistributions in binary form must reproduce the above copyright 15 | notice, this list of conditions and the following disclaimer in the 16 | documentation and/or other materials provided with the distribution. 17 | 18 | - Neither the name of the Xiph.org Foundation nor the names of its 19 | contributors may be used to endorse or promote products derived from 20 | this software without specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 23 | ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 24 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 25 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION 26 | OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 27 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 28 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 29 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 30 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 31 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 32 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 33 | -------------------------------------------------------------------------------- /src/d_iwad.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 2005-2014 Simon Howard 3 | // Copyright(C) 2016-2025 Julia Nechaevskaya 4 | // 5 | // This program is free software; you can redistribute it and/or 6 | // modify it under the terms of the GNU General Public License 7 | // as published by the Free Software Foundation; either version 2 8 | // of the License, or (at your option) any later version. 9 | // 10 | // This program is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // DESCRIPTION: 16 | // Find IWAD and initialize according to IWAD type. 17 | // 18 | 19 | 20 | #ifndef __D_IWAD__ 21 | #define __D_IWAD__ 22 | 23 | #include "d_mode.h" 24 | 25 | #define IWAD_MASK_DOOM ((1 << doom) \ 26 | | (1 << doom2) \ 27 | | (1 << pack_tnt) \ 28 | | (1 << pack_plut) \ 29 | | (1 << pack_chex) \ 30 | | (1 << pack_hacx)) 31 | #define IWAD_MASK_HERETIC (1 << heretic) 32 | #define IWAD_MASK_HEXEN (1 << hexen) 33 | #define IWAD_MASK_STRIFE (1 << strife) 34 | 35 | typedef struct 36 | { 37 | const char *name; 38 | GameMission_t mission; 39 | GameMode_t mode; 40 | const char *description; 41 | } iwad_t; 42 | 43 | boolean D_IsIWADName(const char *name); 44 | char *D_FindWADByName(const char *filename); 45 | char *D_TryFindWADByName(const char *filename); 46 | char *D_FindIWAD(int mask, GameMission_t *mission); 47 | const iwad_t **D_FindAllIWADs(int mask); 48 | void D_CheckCorrectIWAD(GameMission_t mission); 49 | 50 | #endif 51 | 52 | -------------------------------------------------------------------------------- /win32/SDL2_mixer-2.8.1/lib/x64/optional/LICENSE.opusfile.txt: -------------------------------------------------------------------------------- 1 | The source code to this library used with SDL_mixer can be found here: 2 | https://hg.libsdl.org/SDL_mixer/file/default/external 3 | --- 4 | 5 | Copyright (c) 1994-2013 Xiph.Org Foundation and contributors 6 | 7 | Redistribution and use in source and binary forms, with or without 8 | modification, are permitted provided that the following conditions 9 | are met: 10 | 11 | - Redistributions of source code must retain the above copyright 12 | notice, this list of conditions and the following disclaimer. 13 | 14 | - Redistributions in binary form must reproduce the above copyright 15 | notice, this list of conditions and the following disclaimer in the 16 | documentation and/or other materials provided with the distribution. 17 | 18 | - Neither the name of the Xiph.Org Foundation nor the names of its 19 | contributors may be used to endorse or promote products derived from 20 | this software without specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 23 | ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 24 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 25 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION 26 | OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 27 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 28 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 29 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 30 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 31 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 32 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 33 | -------------------------------------------------------------------------------- /win32/SDL2_mixer-2.8.1/lib/x86/optional/LICENSE.opusfile.txt: -------------------------------------------------------------------------------- 1 | The source code to this library used with SDL_mixer can be found here: 2 | https://hg.libsdl.org/SDL_mixer/file/default/external 3 | --- 4 | 5 | Copyright (c) 1994-2013 Xiph.Org Foundation and contributors 6 | 7 | Redistribution and use in source and binary forms, with or without 8 | modification, are permitted provided that the following conditions 9 | are met: 10 | 11 | - Redistributions of source code must retain the above copyright 12 | notice, this list of conditions and the following disclaimer. 13 | 14 | - Redistributions in binary form must reproduce the above copyright 15 | notice, this list of conditions and the following disclaimer in the 16 | documentation and/or other materials provided with the distribution. 17 | 18 | - Neither the name of the Xiph.Org Foundation nor the names of its 19 | contributors may be used to endorse or promote products derived from 20 | this software without specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 23 | ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 24 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 25 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION 26 | OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 27 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 28 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 29 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 30 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 31 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 32 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 33 | -------------------------------------------------------------------------------- /src/m_config.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 2005-2014 Simon Howard 4 | // Copyright(C) 2016-2025 Julia Nechaevskaya 5 | // 6 | // This program is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU General Public License 8 | // as published by the Free Software Foundation; either version 2 9 | // of the License, or (at your option) any later version. 10 | // 11 | // This program is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | // GNU General Public License for more details. 15 | // 16 | // DESCRIPTION: 17 | // Configuration file interface. 18 | // 19 | 20 | 21 | #ifndef __M_CONFIG__ 22 | #define __M_CONFIG__ 23 | 24 | #include "doomtype.h" 25 | 26 | void M_LoadDefaults(void); 27 | void M_SaveDefaults(void); 28 | void M_SaveDefaultsAlternate(const char *main); 29 | void M_SetConfigDir(const char *dir); 30 | void M_SetMusicPackDir(void); 31 | void M_BindIntVariable(const char *name, int *variable); 32 | void M_BindFloatVariable(const char *name, float *variable); 33 | void M_BindStringVariable(const char *name, char **variable); 34 | boolean M_SetVariable(const char *name, const char *value); 35 | int M_GetIntVariable(const char *name); 36 | const char *M_GetStringVariable(const char *name); 37 | float M_GetFloatVariable(const char *name); 38 | void M_SetConfigFilenames(const char *main_config); 39 | char *M_GetSaveGameDir(const char *iwadname); 40 | char *M_GetAutoloadDir(const char *iwadname); 41 | void M_SetScreenshotDir (void); 42 | 43 | extern const char *configdir; 44 | extern char *SavePathConfig; 45 | extern char *screenshotdir; 46 | extern char *ShotPathConfig; 47 | 48 | #endif 49 | -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/include/SDL_opengles2.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2025 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /* 23 | * This is a simple file to encapsulate the OpenGL ES 2.0 API headers. 24 | */ 25 | 26 | #include "SDL_config.h" 27 | 28 | #if !defined(_MSC_VER) && !defined(SDL_USE_BUILTIN_OPENGL_DEFINITIONS) 29 | 30 | #ifdef __IPHONEOS__ 31 | #include 32 | #include 33 | #else 34 | #include 35 | #include 36 | #include 37 | #endif 38 | 39 | #else /* _MSC_VER */ 40 | 41 | /* OpenGL ES2 headers for Visual Studio */ 42 | #include "SDL_opengles2_khrplatform.h" 43 | #include "SDL_opengles2_gl2platform.h" 44 | #include "SDL_opengles2_gl2.h" 45 | #include "SDL_opengles2_gl2ext.h" 46 | 47 | #endif /* _MSC_VER */ 48 | 49 | #ifndef APIENTRY 50 | #define APIENTRY GL_APIENTRY 51 | #endif 52 | -------------------------------------------------------------------------------- /src/doom/ct_chat.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 1993-2008 Raven Software 4 | // Copyright(C) 2005-2014 Simon Howard 5 | // Copyright(C) 2016-2025 Julia Nechaevskaya 6 | // 7 | // This program is free software; you can redistribute it and/or 8 | // modify it under the terms of the GNU General Public License 9 | // as published by the Free Software Foundation; either version 2 10 | // of the License, or (at your option) any later version. 11 | // 12 | // This program is distributed in the hope that it will be useful, 13 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | // GNU General Public License for more details. 16 | // 17 | 18 | #pragma once 19 | 20 | #include "d_player.h" 21 | #include "v_patch.h" 22 | 23 | 24 | #define HU_FONTSTART '!' // the first font characters 25 | #define HU_FONTEND '_' // the last font characters 26 | // Calculate # of glyphs in font. 27 | #define HU_FONTSIZE_S (HU_FONTEND - HU_FONTSTART + 1) 28 | 29 | // [JN] Jaguar: big font 30 | #define HU_FONTSTART2 '!' // the first font characters 31 | #define HU_FONTEND2 'z' // the last font characters 32 | #define HU_FONTSIZE_B (HU_FONTEND2 - HU_FONTSTART2 + 1) 33 | 34 | // Message timeout. 35 | #define MESSAGETICS (TICRATE*4) 36 | 37 | extern void CT_Init (void); 38 | extern void CT_SetMessage (player_t *player, const char *message, boolean ultmsg, byte *table); 39 | extern void CT_SetMessageCentered (player_t *player, const char *message, byte *table); 40 | extern void CT_Ticker (void); 41 | 42 | extern boolean ultimatemsg; 43 | extern boolean chatmodeon; 44 | 45 | extern const char *lastmessage; 46 | 47 | extern int showMessages; 48 | 49 | extern patch_t *hu_font_s[HU_FONTSIZE_S]; 50 | extern patch_t *hu_font_b[HU_FONTSIZE_B]; 51 | -------------------------------------------------------------------------------- /src/d_ticcmd.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 1993-2008 Raven Software 4 | // Copyright(C) 2005-2014 Simon Howard 5 | // Copyright(C) 2016-2025 Julia Nechaevskaya 6 | // 7 | // This program is free software; you can redistribute it and/or 8 | // modify it under the terms of the GNU General Public License 9 | // as published by the Free Software Foundation; either version 2 10 | // of the License, or (at your option) any later version. 11 | // 12 | // This program is distributed in the hope that it will be useful, 13 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | // GNU General Public License for more details. 16 | // 17 | // DESCRIPTION: 18 | // System specific interface stuff. 19 | // 20 | 21 | 22 | #ifndef __D_TICCMD__ 23 | #define __D_TICCMD__ 24 | 25 | #include "doomtype.h" 26 | 27 | 28 | // The data sampled per tick (single player) 29 | // and transmitted to other peers (multiplayer). 30 | // Mainly movements/button commands per game tick, 31 | // plus a checksum for internal state consistency. 32 | 33 | typedef struct 34 | { 35 | signed char forwardmove; // *2048 for move 36 | signed char sidemove; // *2048 for move 37 | short angleturn; // <<16 for angle delta 38 | byte chatchar; 39 | byte buttons; 40 | // villsa [STRIFE] according to the asm, 41 | // consistancy is a short, not a byte 42 | byte consistancy; // checks for net game 43 | 44 | // villsa - Strife specific: 45 | 46 | byte buttons2; 47 | int inventory; 48 | 49 | // Heretic/Hexen specific: 50 | 51 | byte lookfly; // look/fly up/down/centering 52 | byte arti; // artitype_t to use 53 | 54 | int lookdir; 55 | } ticcmd_t; 56 | 57 | 58 | 59 | #endif 60 | -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/docs/README-vita.md: -------------------------------------------------------------------------------- 1 | PS Vita 2 | ======= 3 | SDL port for the Sony Playstation Vita and Sony Playstation TV 4 | 5 | Credit to 6 | * xerpi, cpasjuste and rsn8887 for initial (vita2d) port 7 | * vitasdk/dolcesdk devs 8 | * CBPS discord (Namely Graphene and SonicMastr) 9 | 10 | Building 11 | -------- 12 | To build for the PSVita, make sure you have vitasdk and cmake installed and run: 13 | ``` 14 | cmake -S. -Bbuild -DCMAKE_TOOLCHAIN_FILE=${VITASDK}/share/vita.toolchain.cmake -DCMAKE_BUILD_TYPE=Release 15 | cmake --build build 16 | cmake --install build 17 | ``` 18 | 19 | 20 | Notes 21 | ----- 22 | * gles1/gles2 support and renderers are disabled by default and can be enabled by configuring with `-DVIDEO_VITA_PVR=ON` 23 | These renderers support 720p and 1080i resolutions. These can be specified with: 24 | `SDL_setenv("VITA_RESOLUTION", "720", 1);` and `SDL_setenv("VITA_RESOLUTION", "1080", 1);` 25 | * Desktop GL 1.X and 2.X support and renderers are also disabled by default and also can be enabled with `-DVIDEO_VITA_PVR=ON` as long as gl4es4vita is present in your SDK. 26 | They support the same resolutions as the gles1/gles2 backends and require specifying `SDL_setenv("VITA_PVR_OGL", "1", 1);` 27 | anytime before video subsystem initialization. 28 | * gles2 support via PIB is disabled by default and can be enabled by configuring with `-DVIDEO_VITA_PIB=ON` 29 | * By default SDL emits mouse events for touch events on every touchscreen. 30 | Vita has two touchscreens, so it's recommended to use `SDL_SetHint(SDL_HINT_TOUCH_MOUSE_EVENTS, "0");` and handle touch events instead. 31 | Individual touchscreens can be disabled with: 32 | `SDL_setenv("VITA_DISABLE_TOUCH_FRONT", "1", 1);` and `SDL_setenv("VITA_DISABLE_TOUCH_BACK", "1", 1);` 33 | * Support for L2/R2/R3/R3 buttons, haptic feedback and gamepad led only available on PSTV, or when using external ds4 gamepad on vita. 34 | -------------------------------------------------------------------------------- /src/d_event.c: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 2005-2014 Simon Howard 4 | // Copyright(C) 2016-2025 Julia Nechaevskaya 5 | // 6 | // This program is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU General Public License 8 | // as published by the Free Software Foundation; either version 2 9 | // of the License, or (at your option) any later version. 10 | // 11 | // This program is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | // GNU General Public License for more details. 15 | // 16 | // 17 | // DESCRIPTION: Event handling. 18 | // 19 | // Events are asynchronous inputs generally generated by the game user. 20 | // Events can be discarded if no responder claims them 21 | // 22 | 23 | #include 24 | #include "d_event.h" 25 | 26 | #define MAXEVENTS 64 27 | 28 | // [crispy] For fast polling 29 | // Written by ceski, Michael Day and Roman Fomin, thanks! 30 | event_t fastmouse; 31 | boolean newfastmouse; 32 | 33 | static event_t events[MAXEVENTS]; 34 | static int eventhead; 35 | static int eventtail; 36 | 37 | // 38 | // D_PostEvent 39 | // Called by the I/O functions when input is detected 40 | // 41 | void D_PostEvent (event_t* ev) 42 | { 43 | events[eventhead] = *ev; 44 | eventhead = (eventhead + 1) % MAXEVENTS; 45 | } 46 | 47 | // Read an event from the queue. 48 | 49 | event_t *D_PopEvent(void) 50 | { 51 | event_t *result; 52 | 53 | // No more events waiting. 54 | 55 | if (eventtail == eventhead) 56 | { 57 | return NULL; 58 | } 59 | 60 | result = &events[eventtail]; 61 | 62 | // Advance to the next event in the queue. 63 | 64 | eventtail = (eventtail + 1) % MAXEVENTS; 65 | 66 | return result; 67 | } 68 | 69 | 70 | -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/docs/README-ps2.md: -------------------------------------------------------------------------------- 1 | PS2 2 | ====== 3 | SDL2 port for the Sony Playstation 2 contributed by: 4 | - Francisco Javier Trujillo Mata 5 | 6 | 7 | Credit to 8 | - The guys that ported SDL to PSP & Vita because I'm taking them as reference. 9 | - David G. F. for helping me with several issues and tests. 10 | 11 | ## Building 12 | To build SDL2 library for the PS2, make sure you have the latest PS2Dev status and run: 13 | ```bash 14 | cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=$PS2DEV/ps2sdk/ps2dev.cmake 15 | cmake --build build 16 | cmake --install build 17 | ``` 18 | 19 | ## Hints 20 | The PS2 port has a special Hint for having a dynamic VSYNC. The Hint is `SDL_HINT_PS2_DYNAMIC_VSYNC`. 21 | If you enabled the dynamic vsync having as well `SDL_RENDERER_PRESENTVSYNC` enabled, then if the app is not able to run at 60 FPS, automatically the `vsync` will be disabled having a better performance, instead of droping FPS to 30. 22 | 23 | ## Notes 24 | If you trying to debug a SDL app through [ps2client](https://github.com/ps2dev/ps2client) you need to avoid the IOP reset, otherwise you will lose the conection with your computer. 25 | So to avoid the reset of the IOP CPU, you need to call to the macro `SDL_PS2_SKIP_IOP_RESET();`. 26 | It could be something similar as: 27 | ```c 28 | ..... 29 | 30 | SDL_PS2_SKIP_IOP_RESET(); 31 | 32 | int main(int argc, char *argv[]) 33 | { 34 | ..... 35 | ``` 36 | For a release binary is recommendable to reset the IOP always. 37 | 38 | Remember to do a clean compilation everytime you enable or disable the `SDL_PS2_SKIP_IOP_RESET` otherwise the change won't be reflected. 39 | 40 | ## Getting PS2 Dev 41 | [Installing PS2 Dev](https://github.com/ps2dev/ps2dev) 42 | 43 | ## Running on PCSX2 Emulator 44 | [PCSX2](https://github.com/PCSX2/pcsx2) 45 | 46 | [More PCSX2 information](https://pcsx2.net/) 47 | 48 | ## To Do 49 | - PS2 Screen Keyboard 50 | - Dialogs 51 | - Others 52 | -------------------------------------------------------------------------------- /src/net_defs.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 2005-2014 Simon Howard 3 | // Copyright(C) 2016-2025 Julia Nechaevskaya 4 | // 5 | // This program is free software; you can redistribute it and/or 6 | // modify it under the terms of the GNU General Public License 7 | // as published by the Free Software Foundation; either version 2 8 | // of the License, or (at your option) any later version. 9 | // 10 | // This program is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License for more details. 14 | // 15 | // DESCRIPTION: 16 | // Definitions for use in networking code. 17 | // 18 | 19 | #ifndef NET_DEFS_H 20 | #define NET_DEFS_H 21 | 22 | #include 23 | 24 | #include "doomtype.h" 25 | #include "d_ticcmd.h" 26 | 27 | 28 | // The maximum number of players, multiplayer/networking. 29 | // This is the maximum supported by the networking code; individual games 30 | // have their own values for MAXPLAYERS that can be smaller. 31 | 32 | #define NET_MAXPLAYERS 2 33 | 34 | // Networking and tick handling related. 35 | 36 | #define BACKUPTICS 128 37 | 38 | // Game settings sent by client to server when initiating game start, 39 | // and received from the server by clients when the game starts. 40 | 41 | typedef struct 42 | { 43 | int ticdup; 44 | int extratics; 45 | int deathmatch; 46 | int episode; 47 | int nomonsters; 48 | int fast_monsters; 49 | int respawn_monsters; 50 | int map; 51 | int skill; 52 | int gameversion; 53 | int lowres_turn; 54 | int new_sync; 55 | int loadgame; 56 | 57 | // These fields are only used by the server when sending a game 58 | // start message: 59 | 60 | int num_players; 61 | int consoleplayer; 62 | 63 | } net_gamesettings_t; 64 | 65 | 66 | 67 | #endif /* #ifndef NET_DEFS_H */ 68 | -------------------------------------------------------------------------------- /win32/libsamplerate-0.2.2-win32/share/doc/libsamplerate/bugs.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 | 5 | # Bug Reporting 6 | 7 | If you are a user and have a problem using libsamplerate with another piece of 8 | software, you should contact the author of that other software and get them to 9 | explore their use of this library and possibly submit a bug report. If you are a 10 | coder and think you have found a bug in libsamplerate then read on. 11 | 12 | Secret Rabbit Code is an extremely complex piece of code but I do think that it 13 | is relatively bug free. In addition, the source code distribution includes a 14 | comprehensive test suite for regression testing. This means it is extremely 15 | unlikely that new bugs creep in when modifications are made to the code. 16 | 17 | SRC is also not the most simple library to use which means that I do get a 18 | number of bug reports which turn out to be bugs in the user's program rather 19 | than bugs in SRC. Up until now, I have investigated each bug report as 20 | thoroughly as possible. Unfortunately, this chews up a lot of my time which 21 | could otherwise be spent improving SRC, working on other Free Software or 22 | spending time with my family. 23 | 24 | I have therefore decided, that I cannot investigate any bug report unless the 25 | person reporting the problem can supply me with a short self contained test 26 | program or a modification to one of the existing test programs in the tests/ 27 | directory of the source code distribution. The test program should meet the 28 | following criteria: 29 | 30 | - Written in C or C++. 31 | - Does not use any libraries or header files other than the ones which are 32 | standard for the relevant languages. (Of course libsamplerate can be used :-)). 33 | - It is the minimal program which can adequately display the problem. 34 | - It clearly displays the criteria for pass or fail. 35 | 36 | Supplying a good test program will maximize the speed with which your bug report 37 | gets dealt with. 38 | -------------------------------------------------------------------------------- /cmake/Findm.cmake: -------------------------------------------------------------------------------- 1 | # Findm.cmake 2 | # 3 | # Copyright (c) 2018, Alex Mayfield 4 | # All rights reserved. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions are met: 8 | # * Redistributions of source code must retain the above copyright 9 | # notice, this list of conditions and the following disclaimer. 10 | # * Redistributions in binary form must reproduce the above copyright 11 | # notice, this list of conditions and the following disclaimer in the 12 | # documentation and/or other materials provided with the distribution. 13 | # * Neither the name of the nor the 14 | # names of its contributors may be used to endorse or promote products 15 | # derived from this software without specific prior written permission. 16 | # 17 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 18 | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 19 | # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 20 | # DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY 21 | # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 22 | # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 23 | # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 24 | # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 26 | # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | # 28 | # Finds libm, so we can link against it for math functions. If libm doesn't 29 | # exist, linking against the m target will have no effect. 30 | 31 | find_library(M_LIBRARY m) 32 | 33 | add_library(m INTERFACE) 34 | if(M_LIBRARY) 35 | target_link_libraries(m INTERFACE "${M_LIBRARY}") 36 | endif() 37 | -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/docs/README-riscos.md: -------------------------------------------------------------------------------- 1 | RISC OS 2 | ======= 3 | 4 | Requirements: 5 | 6 | * RISC OS 3.5 or later. 7 | * [SharedUnixLibrary](http://www.riscos.info/packages/LibraryDetails.html#SharedUnixLibraryarm). 8 | * [DigitalRenderer](http://www.riscos.info/packages/LibraryDetails.html#DRendererarm), for audio support. 9 | * [Iconv](http://www.netsurf-browser.org/projects/iconv/), for `SDL_iconv` and related functions. 10 | 11 | 12 | Compiling: 13 | ---------- 14 | 15 | Currently, SDL2 for RISC OS only supports compiling with GCCSDK under Linux. Both the autoconf and CMake build systems are supported. 16 | 17 | The following commands can be used to build SDL2 for RISC OS using autoconf: 18 | 19 | ./configure --host=arm-unknown-riscos --prefix=$GCCSDK_INSTALL_ENV --disable-gcc-atomics 20 | make 21 | make install 22 | 23 | The following commands can be used to build SDL2 for RISC OS using CMake: 24 | 25 | cmake -Bbuild-riscos -DCMAKE_TOOLCHAIN_FILE=$GCCSDK_INSTALL_ENV/toolchain-riscos.cmake -DRISCOS=ON -DCMAKE_INSTALL_PREFIX=$GCCSDK_INSTALL_ENV -DCMAKE_BUILD_TYPE=Release -DSDL_GCC_ATOMICS=OFF 26 | cmake --build build-riscos 27 | cmake --build build-riscos --target install 28 | 29 | 30 | Current level of implementation 31 | ------------------------------- 32 | 33 | The video driver currently provides full screen video support with keyboard and mouse input. Windowed mode is not yet supported, but is planned in the future. Only software rendering is supported. 34 | 35 | The filesystem APIs return either Unix-style paths or RISC OS-style paths based on the value of the `__riscosify_control` symbol, as is standard for UnixLib functions. 36 | 37 | The audio, loadso, thread and timer APIs are currently provided by UnixLib. 38 | 39 | GCC atomics are currently broken on some platforms, meaning it's currently necessary to compile with `--disable-gcc-atomics` using autotools or `-DSDL_GCC_ATOMICS=OFF` using CMake. 40 | 41 | The joystick, locale and power APIs are not yet implemented. 42 | -------------------------------------------------------------------------------- /src/doom/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(doom STATIC 2 | am_map.c am_map.h 3 | ct_chat.c ct_chat.h 4 | d_englsh.h 5 | d_main.c d_main.h 6 | d_net.c 7 | doomdef.c doomdef.h 8 | doomstat.c doomstat.h 9 | d_player.h 10 | d_think.h 11 | f_finale.c f_finale.h 12 | f_wipe.c f_wipe.h 13 | g_game.c g_game.h 14 | info.c info.h 15 | id_func.c id_func.h 16 | m_menu.c m_menu.h 17 | p_ceilng.c 18 | p_doors.c 19 | p_enemy.c 20 | p_floor.c 21 | p_inter.c 22 | p_lights.c 23 | p_local.h 24 | p_map.c 25 | p_maputl.c 26 | p_mobj.c 27 | p_plats.c 28 | p_pspr.c 29 | p_saveg.c 30 | p_setup.c 31 | p_sight.c 32 | p_spec.c 33 | p_switch.c 34 | p_telept.c 35 | p_tick.c 36 | p_user.c 37 | r_bmaps.c 38 | r_bsp.c 39 | r_collit.c r_collit.h 40 | r_data.c 41 | r_draw.c 42 | r_local.h 43 | r_main.c 44 | r_plane.c 45 | r_segs.c 46 | r_swirl.c 47 | r_things.c 48 | s_sound.c s_sound.h 49 | sounds.c sounds.h 50 | st_bar.c st_bar.h 51 | wi_stuff.c wi_stuff.h) 52 | 53 | target_include_directories(doom PRIVATE "../" "${CMAKE_CURRENT_BINARY_DIR}/../../") 54 | target_link_libraries(doom SDL2::SDL2 miniz::miniz) 55 | if(ENABLE_SDL2_MIXER) 56 | target_link_libraries(doom SDL2_mixer::SDL2_mixer) 57 | endif() 58 | if(ENABLE_SDL2_NET) 59 | target_link_libraries(doom SDL2_net::SDL2_net) 60 | endif() 61 | -------------------------------------------------------------------------------- /src/doom/d_think.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 2005-2014 Simon Howard 4 | // Copyright(C) 2016-2025 Julia Nechaevskaya 5 | // 6 | // This program is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU General Public License 8 | // as published by the Free Software Foundation; either version 2 9 | // of the License, or (at your option) any later version. 10 | // 11 | // This program is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | // GNU General Public License for more details. 15 | // 16 | // DESCRIPTION: 17 | // MapObj data. Map Objects or mobjs are actors, entities, 18 | // thinker, take-your-pick... anything that moves, acts, or 19 | // suffers state changes of more or less violent nature. 20 | // 21 | 22 | 23 | #ifndef __D_THINK__ 24 | #define __D_THINK__ 25 | 26 | 27 | 28 | 29 | 30 | // 31 | // Experimental stuff. 32 | // To compile this as "ANSI C with classes" 33 | // we will need to handle the various 34 | // action functions cleanly. 35 | // 36 | typedef void (*actionf_v)(void); 37 | typedef void (*actionf_p1)( void* ); 38 | typedef void (*actionf_p2)( void*, void* ); 39 | typedef void (*actionf_p3)( void*, void*, void* ); // [crispy] let pspr action pointers get called from mobj states 40 | 41 | typedef union 42 | { 43 | actionf_v acv; 44 | actionf_p1 acp1; 45 | actionf_p2 acp2; 46 | actionf_p3 acp3; // [crispy] let pspr action pointers get called from mobj states 47 | 48 | } actionf_t; 49 | 50 | 51 | 52 | 53 | 54 | // Historically, "think_t" is yet another 55 | // function pointer to a routine to handle 56 | // an actor. 57 | typedef actionf_t think_t; 58 | 59 | 60 | // Doubly linked list of actors. 61 | typedef struct thinker_s 62 | { 63 | struct thinker_s* prev; 64 | struct thinker_s* next; 65 | think_t function; 66 | 67 | } thinker_t; 68 | 69 | 70 | 71 | #endif 72 | -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/include/SDL_test_memory.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2025 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /* 23 | * \file SDL_test_memory.h 24 | * 25 | * Include file for SDL test framework. 26 | * 27 | * This code is a part of the SDL2_test library, not the main SDL library. 28 | */ 29 | 30 | #ifndef SDL_test_memory_h_ 31 | #define SDL_test_memory_h_ 32 | 33 | #include "begin_code.h" 34 | /* Set up for C function definitions, even when using C++ */ 35 | #ifdef __cplusplus 36 | extern "C" { 37 | #endif 38 | 39 | 40 | /* 41 | * \brief Start tracking SDL memory allocations 42 | * 43 | * \note This should be called before any other SDL functions for complete tracking coverage 44 | */ 45 | int SDLTest_TrackAllocations(void); 46 | 47 | /* 48 | * \brief Print a log of any outstanding allocations 49 | * 50 | * \note This can be called after SDL_Quit() 51 | */ 52 | void SDLTest_LogAllocations(void); 53 | 54 | 55 | /* Ends C function definitions when using C++ */ 56 | #ifdef __cplusplus 57 | } 58 | #endif 59 | #include "close_code.h" 60 | 61 | #endif /* SDL_test_memory_h_ */ 62 | 63 | /* vi: set ts=4 sw=4 expandtab: */ 64 | -------------------------------------------------------------------------------- /src/doom.appdata.xml.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | @PROGRAM_PREFIX@doom.desktop 5 | CC0-1.0 6 | GPL-2.0+ 7 | @PACKAGE_MAINTAINER@ 8 | @PACKAGE_URL@ 9 | @PACKAGE_ISSUES@ 10 | 11 |

12 | @PACKAGE_SHORTNAME@ Doom is a conservative, 13 | historically-accurate Doom source port, which is compatible with 14 | the thousands of mods and levels that were made before the Doom 15 | source code was released. Unlike other source ports, the goal 16 | is to preserve the original look, feel, limitations, and bugs of 17 | the original DOS executable. 18 |

19 |

20 | Full support for single- and multi-player games is provided, for 21 | all of the original Doom games, Chex Quest, and Hacx. Unlike 22 | the original executable, network play is implemented on the IP 23 | network stack, allowing it to function on modern LANs and the 24 | Internet. 25 |

26 |
27 | 28 | 29 | https://www.chocolate-doom.org/wiki/images/9/97/GNOME_FreeDM_DEMO4.png 30 | FreeDM, DM05: Metal 31 | 32 | 33 | https://www.chocolate-doom.org/wiki/images/a/a6/GNOME_Doom_II_DEMO2.png 34 | Doom II, Level 5: The Waste Tunnels 35 | 36 | 37 | https://www.chocolate-doom.org/wiki/images/4/41/GNOME_Doomsday_of_UAC.png 38 | Doomsday of UAC (uac_dead.wad) 39 | 40 | 41 | https://www.chocolate-doom.org/wiki/images/2/2a/GNOME_Freedoom_DTWID_DEMO3.png 42 | Doom the Way id Did, on Freedoom. Level 3-2: City of Corpses 43 | 44 | 45 |
46 | -------------------------------------------------------------------------------- /win32/libsamplerate-0.2.2-win32/share/doc/libsamplerate/history.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 | 5 | # History 6 | 7 | - Version 0.0.0 (Oct 06 2002) First alpha release (friends and family only). 8 | - Version 0.0.2 (Oct 10 2002) Second alpha release (fools rush in ....). 9 | - ... 10 | - Version 0.0.7 (Nov 17 2002) The last mono only version. 11 | - Version 0.0.9 (Nov 21 2002) Full multi channel support. First pass at 12 | documentation. Still not ready for release. 13 | - Version 0.0.11 (Nov 26 2002) Incorporated some suggestions from Conrad Parker. 14 | - Version 0.0.12 (Nov 28 2002) First public release. 15 | - Version 0.0.13 (Dec 03 2002) Fixes for MacOSX and Solaris. 16 | - Version 0.0.14 (Jan 13 2003) Now compiles on Win32. Major code speedup. Minor 17 | bug fixes. 18 | - Version 0.0.15 (May 02 2003) Minor bug fixes. 19 | - Version 0.1.0 (Mar 14 2004) Add callback API, functions for short to float and 20 | float to short conversion. Minor bug fixes. 21 | - Version 0.1.1 (Jul 17 2004) Callback API bug fix. Bugfix for aggressive 22 | gcc-3.4 optimisations. 23 | - Version 0.1.2 (Sep 12 2004) Callback API reset bug fix. 24 | - Version 0.1.3 (Mar 23 2008) Huge quality improvements to two best SINC based 25 | converters. 26 | - Version 0.1.4 (Jul 02 2008) Fix segfault when using extremely low conversion 27 | ratios. 28 | - Version 0.1.5 (Jan 11 2009) Optimisation resulting in dramatic throughput 29 | improvements ([See here.](http://www.mega-nerd.com/erikd/Blog/CodeHacking/SecretRabbitCode/rel_0_1_5.html)). 30 | - Version 0.1.6 (Jan 27 2009) Minor bug fix in test suite (account for rounding 31 | error on x86_64). 32 | - Version 0.1.7 (Feb 14 2009) Fix a segfault bug. Fix compilation under MSVC. 33 | - Version 0.1.8 (Aug 15 2011) Minor bug fixes and updates. 34 | - Version 0.1.9 (Sep 19 2016) Fix for a segfault. Relicense under BSD license. 35 | - Version 0.2.0 (Jan 21 2021) Cleaned up build system. 36 | - Version 0.2.1 (Jan 23 2021) Fix libtool ABI versioning. 37 | - Version 0.2.2 (Sep 05 2021) Fix ABI version incompatibility between Autotools 38 | and CMake build on Apple platforms. Minor bug fixes and updates. 39 | -------------------------------------------------------------------------------- /src/i_input.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 2005-2014 Simon Howard 4 | // Copyright(C) 2016-2025 Julia Nechaevskaya 5 | // 6 | // This program is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU General Public License 8 | // as published by the Free Software Foundation; either version 2 9 | // of the License, or (at your option) any later version. 10 | // 11 | // This program is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | // GNU General Public License for more details. 15 | // 16 | // DESCRIPTION: 17 | // System-specific keyboard/mouse input. 18 | // 19 | 20 | 21 | #ifndef __I_INPUT__ 22 | #define __I_INPUT__ 23 | 24 | #include "doomtype.h" 25 | 26 | #include "SDL.h" 27 | 28 | 29 | #define MAX_MOUSE_BUTTONS 8 30 | 31 | extern int mouse_sensitivity; 32 | extern int mouse_sensitivity_y; // [crispy] 33 | extern float mouse_acceleration; 34 | extern int mouse_threshold; 35 | extern float mouse_acceleration_y; // [crispy] 36 | extern int mouse_threshold_y; // [crispy] 37 | extern int mouse_y_invert; // [crispy] 38 | extern int mouse_novert; // [crispy] 39 | extern int SDL_mouseButton; // [JN] Catch mouse button number to provide into mouse binding menu. 40 | 41 | // [crispy] 42 | double I_AccelerateMouse(int val); 43 | double I_AccelerateMouseY(int val); 44 | void I_BindInputVariables(void); 45 | void I_ReadMouse(void); 46 | void I_ReadMouseUncapped(void); // [crispy] 47 | 48 | // I_StartTextInput begins text input, activating the on-screen keyboard 49 | // (if one is used). The caller indicates that any entered text will be 50 | // displayed in the rectangle given by the provided set of coordinates. 51 | void I_StartTextInput(int x1, int y1, int x2, int y2); 52 | 53 | // I_StopTextInput finishes text input, deactivating the on-screen keyboard 54 | // (if one is used). 55 | void I_StopTextInput(void); 56 | 57 | void I_HandleKeyboardEvent(SDL_Event *sdlevent); 58 | void I_HandleMouseEvent(SDL_Event *sdlevent); 59 | 60 | 61 | #endif 62 | -------------------------------------------------------------------------------- /src/w_file.c: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 2005-2014 Simon Howard 4 | // Copyright(C) 2016-2025 Julia Nechaevskaya 5 | // 6 | // This program is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU General Public License 8 | // as published by the Free Software Foundation; either version 2 9 | // of the License, or (at your option) any later version. 10 | // 11 | // This program is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | // GNU General Public License for more details. 15 | // 16 | // DESCRIPTION: 17 | // WAD I/O functions. 18 | // 19 | 20 | #include 21 | 22 | #include "config.h" 23 | 24 | #include "doomtype.h" 25 | #include "m_argv.h" 26 | 27 | #include "w_file.h" 28 | 29 | 30 | static wad_file_class_t *wad_file_classes[] = 31 | { 32 | #ifdef _WIN32 33 | &win32_wad_file, 34 | #endif 35 | #ifdef HAVE_MMAP 36 | &posix_wad_file, 37 | #endif 38 | &stdc_wad_file, 39 | }; 40 | 41 | wad_file_t *W_OpenFile(const char *path) 42 | { 43 | wad_file_t *result; 44 | int i; 45 | 46 | //! 47 | // @category obscure 48 | // 49 | // Use the OS's virtual memory subsystem to map WAD files 50 | // directly into memory. 51 | // 52 | 53 | if (!M_CheckParm("-mmap")) 54 | { 55 | return stdc_wad_file.OpenFile(path); 56 | } 57 | 58 | // Try all classes in order until we find one that works 59 | 60 | result = NULL; 61 | 62 | for (i=0; iOpenFile(path); 65 | 66 | if (result != NULL) 67 | { 68 | break; 69 | } 70 | } 71 | 72 | return result; 73 | } 74 | 75 | void W_CloseFile(wad_file_t *wad) 76 | { 77 | wad->file_class->CloseFile(wad); 78 | } 79 | 80 | size_t W_Read(wad_file_t *wad, unsigned int offset, 81 | void *buffer, size_t buffer_len) 82 | { 83 | return wad->file_class->Read(wad, offset, buffer, buffer_len); 84 | } 85 | 86 | -------------------------------------------------------------------------------- /win32/libsamplerate-0.2.2-win32/share/doc/libsamplerate/api.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 | 5 | # Applications Programming Interface 6 | 7 | The publically callable functions of libsamplerate are all listed in the 8 | **\** header file. In order to use any of the functionality of 9 | libsamplerate, you need to add 10 | 11 | ```c 12 | #include 13 | ``` 14 | 15 | to the top of any function that call any of the following functions. You will 16 | also need to link you binary with the libsamplerate library. 17 | 18 | The API allows three methods for accessing the capabilies of the library: 19 | 20 | - A [simple interface](api_simple.md) which can sample rate convert a single 21 | block of samples (one or more channels) in one go. The simple API is less 22 | capable than the full API. 23 | - A [more fully featured interface](api_full.md) which allows time varying 24 | sample rate conversion on streaming data (again one or more channels). 25 | - A [callback interface](api_callback.md) which has the same functionality as 26 | the interface above but allows the details of input and output to be 27 | separated. The output is generated by call a read function and the library 28 | calls a user supplied callback function to obtain its input. This interface is 29 | particularly well suited to applications where the output sample rate is 30 | varied with time. 31 | 32 | **NB :** All three access methods are able to process multi channel interleaved 33 | data. 34 | 35 | The parts of the API which are common to all three interfaces are: 36 | 37 | - The [error reporting](api_misc.md#error-reporting) mechanisim. 38 | - The available [converter](api_misc.md#converters) types. 39 | - The [SRC_DATA](api_misc.md#src_data) struct. 40 | 41 | All three versions of the API are restricted to operating on buffers of ISO C 42 | Standard **float** data. However, there are two [auxillary functions](api_misc.md#auxillary-functions) 43 | for converting arrays of float data to and from short data. 44 | 45 | **Note:** The **tests/** and **examples/** directories of the source code 46 | distribution contain numerous example programs showing the use of the library. 47 | -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/include/SDL_quit.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2025 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /** 23 | * # CategoryQuit 24 | * 25 | * An SDL_QUIT event is generated when the user tries to close the application 26 | * window. If it is ignored or filtered out, the window will remain open. If 27 | * it is not ignored or filtered, it is queued normally and the window is 28 | * allowed to close. When the window is closed, screen updates will complete, 29 | * but have no effect. 30 | * 31 | * SDL_Init() installs signal handlers for SIGINT (keyboard interrupt) and 32 | * SIGTERM (system termination request), if handlers do not already exist, 33 | * that generate SDL_QUIT events as well. There is no way to determine the 34 | * cause of an SDL_QUIT event, but setting a signal handler in your 35 | * application will override the default generation of quit events for that 36 | * signal. 37 | */ 38 | 39 | #ifndef SDL_quit_h_ 40 | #define SDL_quit_h_ 41 | 42 | #include "SDL_stdinc.h" 43 | #include "SDL_error.h" 44 | 45 | /* There are no functions directly affecting the quit event */ 46 | 47 | #define SDL_QuitRequested() \ 48 | (SDL_PumpEvents(), (SDL_PeepEvents(NULL,0,SDL_PEEKEVENT,SDL_QUIT,SDL_QUIT) > 0)) 49 | 50 | #endif /* SDL_quit_h_ */ 51 | -------------------------------------------------------------------------------- /src/doom/g_game.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 2005-2014 Simon Howard 4 | // Copyright(C) 2016-2025 Julia Nechaevskaya 5 | // 6 | // This program is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU General Public License 8 | // as published by the Free Software Foundation; either version 2 9 | // of the License, or (at your option) any later version. 10 | // 11 | // This program is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | // GNU General Public License for more details. 15 | // 16 | // DESCRIPTION: 17 | // Duh. 18 | // 19 | 20 | 21 | #pragma once 22 | 23 | #include "doomdef.h" 24 | #include "d_event.h" 25 | #include "d_ticcmd.h" 26 | 27 | 28 | extern boolean G_CheckDemoStatus (void); 29 | extern boolean G_Responder (event_t *ev); 30 | void G_FastResponder (void); // [crispy] 31 | void G_PrepTiccmd (void); // [crispy] 32 | 33 | extern fixed_t forwardmove[2]; 34 | extern fixed_t sidemove[2]; 35 | 36 | 37 | extern void G_BuildTiccmd (ticcmd_t *cmd, int maketic); 38 | extern void G_DeferedInitNew (skill_t skill, int episode, int map); 39 | extern void G_DoCompleted (void); 40 | extern void G_DoLoadGame (void); 41 | extern void G_DoLoadLevel (void); 42 | extern void G_DoNewGame (void); 43 | extern void G_DoPlayDemo (void); 44 | extern void G_DoReborn (int playernum); 45 | extern void G_DoSaveGame (void); 46 | extern void G_DoVictory (void); 47 | extern void G_DoWorldDone (void); 48 | extern void G_DrawMouseSpeedBox (void); 49 | extern void G_ExitLevel (void); 50 | extern void G_InitNew (skill_t skill, int episode, int map); 51 | extern void G_InitSkyTextures (void); 52 | extern void G_LoadGame (char *name); 53 | extern void G_PlayerReborn (int player); 54 | extern void G_SaveGame (int slot, char *description); 55 | extern void G_ScreenShot (void); 56 | extern void G_SecretExitLevel (void); 57 | extern void G_Ticker (void); 58 | extern void G_WorldDone (void); 59 | 60 | // [crispy] holding down the "Run" key may trigger special behavior 61 | extern boolean speedkeydown (void); 62 | -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/include/SDL_config.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2025 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | #ifndef SDL_config_h_ 23 | #define SDL_config_h_ 24 | 25 | #include "SDL_platform.h" 26 | 27 | /* WIKI CATEGORY: - */ 28 | 29 | /* Add any platform that doesn't build using the configure system. */ 30 | #if defined(__WIN32__) 31 | #include "SDL_config_windows.h" 32 | #elif defined(__WINRT__) 33 | #include "SDL_config_winrt.h" 34 | #elif defined(__WINGDK__) 35 | #include "SDL_config_wingdk.h" 36 | #elif defined(__XBOXONE__) || defined(__XBOXSERIES__) 37 | #include "SDL_config_xbox.h" 38 | #elif defined(__MACOSX__) 39 | #include "SDL_config_macosx.h" 40 | #elif defined(__IPHONEOS__) 41 | #include "SDL_config_iphoneos.h" 42 | #elif defined(__ANDROID__) 43 | #include "SDL_config_android.h" 44 | #elif defined(__OS2__) 45 | #include "SDL_config_os2.h" 46 | #elif defined(__EMSCRIPTEN__) 47 | #include "SDL_config_emscripten.h" 48 | #elif defined(__NGAGE__) 49 | #include "SDL_config_ngage.h" 50 | #else 51 | /* This is a minimal configuration just to get SDL running on new platforms. */ 52 | #include "SDL_config_minimal.h" 53 | #endif /* platform config */ 54 | 55 | #ifdef USING_GENERATED_CONFIG_H 56 | #error Wrong SDL_config.h, check your include path? 57 | #endif 58 | 59 | #endif /* SDL_config_h_ */ 60 | -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/include/SDL_test_log.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2025 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /* 23 | * \file SDL_test_log.h 24 | * 25 | * Include file for SDL test framework. 26 | * 27 | * This code is a part of the SDL2_test library, not the main SDL library. 28 | */ 29 | 30 | /* 31 | * 32 | * Wrapper to log in the TEST category 33 | * 34 | */ 35 | 36 | #ifndef SDL_test_log_h_ 37 | #define SDL_test_log_h_ 38 | 39 | #include "begin_code.h" 40 | /* Set up for C function definitions, even when using C++ */ 41 | #ifdef __cplusplus 42 | extern "C" { 43 | #endif 44 | 45 | /* 46 | * \brief Prints given message with a timestamp in the TEST category and INFO priority. 47 | * 48 | * \param fmt Message to be logged 49 | */ 50 | void SDLTest_Log(SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(1); 51 | 52 | /* 53 | * \brief Prints given message with a timestamp in the TEST category and the ERROR priority. 54 | * 55 | * \param fmt Message to be logged 56 | */ 57 | void SDLTest_LogError(SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(1); 58 | 59 | /* Ends C function definitions when using C++ */ 60 | #ifdef __cplusplus 61 | } 62 | #endif 63 | #include "close_code.h" 64 | 65 | #endif /* SDL_test_log_h_ */ 66 | 67 | /* vi: set ts=4 sw=4 expandtab: */ 68 | -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/docs/README-porting.md: -------------------------------------------------------------------------------- 1 | Porting 2 | ======= 3 | 4 | * Porting To A New Platform 5 | 6 | The first thing you have to do when porting to a new platform, is look at 7 | include/SDL_platform.h and create an entry there for your operating system. 8 | The standard format is "__PLATFORM__", where PLATFORM is the name of the OS. 9 | Ideally SDL_platform.h will be able to auto-detect the system it's building 10 | on based on C preprocessor symbols. 11 | 12 | There are two basic ways of building SDL at the moment: 13 | 14 | 1. The "UNIX" way: ./configure; make; make install 15 | 16 | If you have a GNUish system, then you might try this. Edit configure.ac, 17 | take a look at the large section labelled: 18 | 19 | "Set up the configuration based on the host platform!" 20 | 21 | Add a section for your platform, and then re-run autogen.sh and build! 22 | 23 | 2. Using an IDE: 24 | 25 | If you're using an IDE or other non-configure build system, you'll probably 26 | want to create a custom SDL_config.h for your platform. Edit SDL_config.h, 27 | add a section for your platform, and create a custom SDL_config_{platform}.h, 28 | based on SDL_config_minimal.h and SDL_config.h.in 29 | 30 | Add the top level include directory to the header search path, and then add 31 | the following sources to the project: 32 | 33 | src/*.c 34 | src/atomic/*.c 35 | src/audio/*.c 36 | src/cpuinfo/*.c 37 | src/events/*.c 38 | src/file/*.c 39 | src/haptic/*.c 40 | src/joystick/*.c 41 | src/power/*.c 42 | src/render/*.c 43 | src/render/software/*.c 44 | src/stdlib/*.c 45 | src/thread/*.c 46 | src/timer/*.c 47 | src/video/*.c 48 | src/audio/disk/*.c 49 | src/audio/dummy/*.c 50 | src/filesystem/dummy/*.c 51 | src/video/dummy/*.c 52 | src/haptic/dummy/*.c 53 | src/joystick/dummy/*.c 54 | src/main/dummy/*.c 55 | src/thread/generic/*.c 56 | src/timer/dummy/*.c 57 | src/loadso/dummy/*.c 58 | 59 | 60 | Once you have a working library without any drivers, you can go back to each 61 | of the major subsystems and start implementing drivers for your platform. 62 | 63 | If you have any questions, don't hesitate to ask on the SDL mailing list: 64 | http://www.libsdl.org/mailing-list.php 65 | 66 | Enjoy! 67 | Sam Lantinga (slouken@libsdl.org) 68 | 69 | -------------------------------------------------------------------------------- /win32/SDL2_mixer-2.8.1/lib/x64/optional/LICENSE.opus.txt: -------------------------------------------------------------------------------- 1 | The source code to this library used with SDL_mixer can be found here: 2 | https://hg.libsdl.org/SDL_mixer/file/default/external 3 | --- 4 | 5 | Copyright 2001-2011 Xiph.Org, Skype Limited, Octasic, 6 | Jean-Marc Valin, Timothy B. Terriberry, 7 | CSIRO, Gregory Maxwell, Mark Borgerding, 8 | Erik de Castro Lopo 9 | 10 | Redistribution and use in source and binary forms, with or without 11 | modification, are permitted provided that the following conditions 12 | are met: 13 | 14 | - Redistributions of source code must retain the above copyright 15 | notice, this list of conditions and the following disclaimer. 16 | 17 | - Redistributions in binary form must reproduce the above copyright 18 | notice, this list of conditions and the following disclaimer in the 19 | documentation and/or other materials provided with the distribution. 20 | 21 | - Neither the name of Internet Society, IETF or IETF Trust, nor the 22 | names of specific contributors, may be used to endorse or promote 23 | products derived from this software without specific prior written 24 | permission. 25 | 26 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 27 | ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 28 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 29 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 30 | OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 31 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 32 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 33 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 34 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 35 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 36 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | 38 | Opus is subject to the royalty-free patent licenses which are 39 | specified at: 40 | 41 | Xiph.Org Foundation: 42 | https://datatracker.ietf.org/ipr/1524/ 43 | 44 | Microsoft Corporation: 45 | https://datatracker.ietf.org/ipr/1914/ 46 | 47 | Broadcom Corporation: 48 | https://datatracker.ietf.org/ipr/1526/ 49 | -------------------------------------------------------------------------------- /win32/SDL2_mixer-2.8.1/lib/x86/optional/LICENSE.opus.txt: -------------------------------------------------------------------------------- 1 | The source code to this library used with SDL_mixer can be found here: 2 | https://hg.libsdl.org/SDL_mixer/file/default/external 3 | --- 4 | 5 | Copyright 2001-2011 Xiph.Org, Skype Limited, Octasic, 6 | Jean-Marc Valin, Timothy B. Terriberry, 7 | CSIRO, Gregory Maxwell, Mark Borgerding, 8 | Erik de Castro Lopo 9 | 10 | Redistribution and use in source and binary forms, with or without 11 | modification, are permitted provided that the following conditions 12 | are met: 13 | 14 | - Redistributions of source code must retain the above copyright 15 | notice, this list of conditions and the following disclaimer. 16 | 17 | - Redistributions in binary form must reproduce the above copyright 18 | notice, this list of conditions and the following disclaimer in the 19 | documentation and/or other materials provided with the distribution. 20 | 21 | - Neither the name of Internet Society, IETF or IETF Trust, nor the 22 | names of specific contributors, may be used to endorse or promote 23 | products derived from this software without specific prior written 24 | permission. 25 | 26 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 27 | ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 28 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 29 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 30 | OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 31 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 32 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 33 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 34 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 35 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 36 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | 38 | Opus is subject to the royalty-free patent licenses which are 39 | specified at: 40 | 41 | Xiph.Org Foundation: 42 | https://datatracker.ietf.org/ipr/1524/ 43 | 44 | Microsoft Corporation: 45 | https://datatracker.ietf.org/ipr/1914/ 46 | 47 | Broadcom Corporation: 48 | https://datatracker.ietf.org/ipr/1526/ 49 | -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/include/SDL_test.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2025 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /* 23 | * \file SDL_test.h 24 | * 25 | * Include file for SDL test framework. 26 | * 27 | * This code is a part of the SDL2_test library, not the main SDL library. 28 | */ 29 | 30 | #ifndef SDL_test_h_ 31 | #define SDL_test_h_ 32 | 33 | #include "SDL.h" 34 | #include "SDL_test_assert.h" 35 | #include "SDL_test_common.h" 36 | #include "SDL_test_compare.h" 37 | #include "SDL_test_crc32.h" 38 | #include "SDL_test_font.h" 39 | #include "SDL_test_fuzzer.h" 40 | #include "SDL_test_harness.h" 41 | #include "SDL_test_images.h" 42 | #include "SDL_test_log.h" 43 | #include "SDL_test_md5.h" 44 | #include "SDL_test_memory.h" 45 | #include "SDL_test_random.h" 46 | 47 | #include "begin_code.h" 48 | /* Set up for C function definitions, even when using C++ */ 49 | #ifdef __cplusplus 50 | extern "C" { 51 | #endif 52 | 53 | /* Global definitions */ 54 | 55 | /* 56 | * Note: Maximum size of SDLTest log message is less than SDL's limit 57 | * to ensure we can fit additional information such as the timestamp. 58 | */ 59 | #define SDLTEST_MAX_LOGMESSAGE_LENGTH 3584 60 | 61 | /* Ends C function definitions when using C++ */ 62 | #ifdef __cplusplus 63 | } 64 | #endif 65 | #include "close_code.h" 66 | 67 | #endif /* SDL_test_h_ */ 68 | 69 | /* vi: set ts=4 sw=4 expandtab: */ 70 | -------------------------------------------------------------------------------- /data/convert-icon: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # 3 | # Copyright(C) 2005-2014 Simon Howard 4 | # 5 | # This program is free software; you can redistribute it and/or 6 | # modify it under the terms of the GNU General Public License 7 | # as published by the Free Software Foundation; either version 2 8 | # of the License, or (at your option) any later version. 9 | # 10 | # This program is distributed in the hope that it will be useful, 11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | # GNU General Public License for more details. 14 | # 15 | # 16 | # Converts images into C structures to be inserted in programs 17 | # 18 | 19 | import sys 20 | import os 21 | import re 22 | 23 | try: 24 | import Image 25 | except ImportError: 26 | try: 27 | from PIL import Image 28 | except ImportError: 29 | print("WARNING: Could not update %s. " 30 | "Please install the Python Imaging library or Pillow." 31 | % sys.argv[2]) 32 | sys.exit(0) 33 | 34 | 35 | def convert_image(filename, output_filename): 36 | 37 | im = Image.open(filename) 38 | 39 | outfile = open(output_filename, "w") 40 | 41 | size = im.size 42 | 43 | struct_name = os.path.basename(output_filename) 44 | struct_name = re.sub(re.compile("\\..*$"), "", struct_name) 45 | struct_name = re.sub(re.compile("\W"), "_", struct_name) 46 | 47 | outfile.write("static int %s_w = %i;\n" % (struct_name, size[0])) 48 | outfile.write("static int %s_h = %i;\n" % (struct_name, size[1])) 49 | 50 | outfile.write("\n") 51 | outfile.write("static const unsigned int %s_data[] = {\n" % (struct_name)) 52 | 53 | elements_on_line = 0 54 | 55 | outfile.write(" ") 56 | 57 | for y in range(size[1]): 58 | for x in range(size[0]): 59 | val = im.getpixel((x, y)) 60 | outfile.write("0x%02x%02x%02x%02x, " % val) 61 | elements_on_line += 1 62 | 63 | if elements_on_line >= 6: 64 | elements_on_line = 0 65 | outfile.write("\n") 66 | outfile.write(" ") 67 | 68 | outfile.write("\n") 69 | outfile.write("};\n") 70 | 71 | convert_image(sys.argv[1], sys.argv[2]) 72 | 73 | -------------------------------------------------------------------------------- /src/v_video.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 2005-2014 Simon Howard 4 | // Copyright(C) 2016-2025 Julia Nechaevskaya 5 | // Copyright(C) 2025 Polina "Aura" N. 6 | // 7 | // This program is free software; you can redistribute it and/or 8 | // modify it under the terms of the GNU General Public License 9 | // as published by the Free Software Foundation; either version 2 10 | // of the License, or (at your option) any later version. 11 | // 12 | // This program is distributed in the hope that it will be useful, 13 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | // GNU General Public License for more details. 16 | // 17 | // DESCRIPTION: 18 | // Gamma correction LUT. 19 | // Functions to draw patches (by post) directly to screen. 20 | // Functions to blit a block to the screen. 21 | // 22 | 23 | 24 | #pragma once 25 | 26 | #include "v_patch.h" 27 | #include "w_wad.h" // [crispy] for lumpindex_t 28 | 29 | extern byte *dp_translation; 30 | extern boolean V_IsPatchLump(const int lump); 31 | extern boolean dp_translucent; 32 | extern pixel_t *palette_pointer; 33 | 34 | void V_MarkRect(int x, int y, int width, int height); 35 | void V_CopyRect(int srcx, int srcy, pixel_t *source, int width, int height, int destx, int desty); 36 | void V_DrawPatch(int x, int y, patch_t *patch); 37 | void V_DrawShadowedPatchOptional(int x, int y, patch_t *patch); 38 | void V_DrawPatchFullScreen(patch_t *patch, boolean flipped); 39 | extern void V_DrawPatchFlipped(int x, int y, patch_t *patch); 40 | void V_DrawPatchFinale(int x, int y, patch_t *patch); 41 | void V_DrawFadePatch(int x, int y, const patch_t *restrict patch, int alpha); 42 | void V_DrawBlock(int x, int y, int width, int height, pixel_t *src); 43 | void V_DrawScaledBlock(int x, int y, int width, int height, byte *src); 44 | void V_DrawFilledBox(int x, int y, int w, int h, int c); 45 | void V_DrawHorizLine(int x, int y, int w, int c); 46 | void V_DrawVertLine(int x, int y, int h, int c); 47 | void V_DrawBox(int x, int y, int w, int h, int c); 48 | void V_FillFlat(int y_start, int y_stop, int x_start, int x_stop, const byte *src, pixel_t *dest); // [crispy] 49 | void V_Init (void); 50 | void V_UseBuffer(pixel_t *buffer); 51 | void V_RestoreBuffer(void); 52 | void V_ScreenShot(const char *format); 53 | -------------------------------------------------------------------------------- /src/doom/m_menu.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 2005-2014 Simon Howard 4 | // Copyright(C) 2016-2025 Julia Nechaevskaya 5 | // 6 | // This program is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU General Public License 8 | // as published by the Free Software Foundation; either version 2 9 | // of the License, or (at your option) any later version. 10 | // 11 | // This program is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | // GNU General Public License for more details. 15 | // 16 | // DESCRIPTION: 17 | // Menu widget stuff, episode selection and such. 18 | // 19 | 20 | 21 | #ifndef __M_MENU__ 22 | #define __M_MENU__ 23 | 24 | 25 | 26 | #include "d_event.h" 27 | 28 | // 29 | // MENUS 30 | // 31 | // Called by main loop, 32 | // saves config file and calls I_Quit when user exits. 33 | // Even when the menu is not displayed, 34 | // this can resize the view and change game parameters. 35 | // Does all the real work of the menu interaction. 36 | boolean M_Responder (event_t *ev); 37 | 38 | 39 | // Called by main loop, 40 | // only used for menu (skull cursor) animation. 41 | void M_Ticker (void); 42 | 43 | // Called by main loop, 44 | // draws the menus directly into the screen buffer. 45 | void M_Drawer (void); 46 | 47 | // Called by D_DoomMain, 48 | // loads the config file. 49 | void M_Init (void); 50 | 51 | // Called by intro code to force menu up upon a keypress, 52 | // does nothing if menu is already up. 53 | void M_StartControlPanel (void); 54 | 55 | 56 | extern void M_ConfirmDeleteGame (void); 57 | 58 | extern void M_WriteText (int x, int y, const char *string, byte *table); 59 | extern void M_WriteTextCentered (const int y, const char *string, byte *table); 60 | extern void M_WriteTextGlow (int x, int y, const char *string, byte *table1, byte *table2, int alpha); 61 | extern int M_StringWidth (const char *string); 62 | extern void M_WriteTextBig (int x, int y, const char *string, byte *table); 63 | extern void M_WriteTextBigCentered (const int y, const char *string, byte *table); 64 | extern void M_WriteTextBigGlow (int x, int y, const char *string, byte *table1, byte *table2, int alpha); 65 | 66 | // [FG] support up to 8 pages of savegames 67 | // extern int savepage; 68 | 69 | #endif 70 | -------------------------------------------------------------------------------- /src/z_zone.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 2005-2014 Simon Howard 4 | // Copyright(C) 2016-2025 Julia Nechaevskaya 5 | // 6 | // This program is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU General Public License 8 | // as published by the Free Software Foundation; either version 2 9 | // of the License, or (at your option) any later version. 10 | // 11 | // This program is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | // GNU General Public License for more details. 15 | // 16 | // DESCRIPTION: 17 | // Zone Memory Allocation, perhaps NeXT ObjectiveC inspired. 18 | // Remark: this was the only stuff that, according 19 | // to John Carmack, might have been useful for 20 | // Quake. 21 | // 22 | 23 | 24 | 25 | #ifndef __Z_ZONE__ 26 | #define __Z_ZONE__ 27 | 28 | #include 29 | 30 | // 31 | // ZONE MEMORY 32 | // PU - purge tags. 33 | 34 | enum 35 | { 36 | PU_STATIC = 1, // static entire execution time 37 | PU_SOUND, // static while playing 38 | PU_MUSIC, // static while playing 39 | PU_FREE, // a free block 40 | PU_LEVEL, // static until level exited 41 | PU_LEVSPEC, // a special thinker in a level 42 | 43 | // Tags >= PU_PURGELEVEL are purgable whenever needed. 44 | 45 | PU_PURGELEVEL, 46 | PU_CACHE, 47 | 48 | // Total number of different tag types 49 | 50 | PU_NUM_TAGS 51 | }; 52 | 53 | 54 | void Z_Init (void); 55 | void* Z_Malloc (int size, int tag, void *ptr); 56 | void Z_Free (void *ptr); 57 | void Z_FreeTags (int lowtag, int hightag); 58 | void Z_DumpHeap (int lowtag, int hightag); 59 | void Z_FileDumpHeap (FILE *f); 60 | void Z_CheckHeap (void); 61 | void Z_ChangeTag2 (void *ptr, int tag, const char *file, int line); 62 | void Z_ChangeUser(void *ptr, void **user); 63 | int Z_FreeMemory (void); 64 | unsigned int Z_ZoneSize(void); 65 | 66 | // 67 | // This is used to get the local FILE:LINE info from CPP 68 | // prior to really call the function in question. 69 | // 70 | #define Z_ChangeTag(p,t) \ 71 | Z_ChangeTag2((p), (t), __FILE__, __LINE__) 72 | 73 | 74 | #endif 75 | -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/include/SDL_test_compare.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2025 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /* 23 | * \file SDL_test_compare.h 24 | * 25 | * Include file for SDL test framework. 26 | * 27 | * This code is a part of the SDL2_test library, not the main SDL library. 28 | */ 29 | 30 | /* 31 | 32 | Defines comparison functions (i.e. for surfaces). 33 | 34 | */ 35 | 36 | #ifndef SDL_test_compare_h_ 37 | #define SDL_test_compare_h_ 38 | 39 | #include "SDL.h" 40 | 41 | #include "SDL_test_images.h" 42 | 43 | #include "begin_code.h" 44 | /* Set up for C function definitions, even when using C++ */ 45 | #ifdef __cplusplus 46 | extern "C" { 47 | #endif 48 | 49 | /* 50 | * \brief Compares a surface and with reference image data for equality 51 | * 52 | * \param surface Surface used in comparison 53 | * \param referenceSurface Test Surface used in comparison 54 | * \param allowable_error Allowable difference (=sum of squared difference for each RGB component) in blending accuracy. 55 | * 56 | * \returns 0 if comparison succeeded, >0 (=number of pixels for which the comparison failed) if comparison failed, -1 if any of the surfaces were NULL, -2 if the surface sizes differ. 57 | */ 58 | int SDLTest_CompareSurfaces(SDL_Surface *surface, SDL_Surface *referenceSurface, int allowable_error); 59 | 60 | 61 | /* Ends C function definitions when using C++ */ 62 | #ifdef __cplusplus 63 | } 64 | #endif 65 | #include "close_code.h" 66 | 67 | #endif /* SDL_test_compare_h_ */ 68 | 69 | /* vi: set ts=4 sw=4 expandtab: */ 70 | -------------------------------------------------------------------------------- /opl/opl_internal.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 2005-2014 Simon Howard 3 | // 4 | // This program is free software; you can redistribute it and/or 5 | // modify it under the terms of the GNU General Public License 6 | // as published by the Free Software Foundation; either version 2 7 | // of the License, or (at your option) any later version. 8 | // 9 | // This program is distributed in the hope that it will be useful, 10 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | // GNU General Public License for more details. 13 | // 14 | // DESCRIPTION: 15 | // OPL internal interface. 16 | // 17 | 18 | 19 | #ifndef OPL_INTERNAL_H 20 | #define OPL_INTERNAL_H 21 | 22 | #include "opl.h" 23 | 24 | typedef int (*opl_init_func)(unsigned int port_base); 25 | typedef void (*opl_shutdown_func)(void); 26 | typedef unsigned int (*opl_read_port_func)(opl_port_t port); 27 | typedef void (*opl_write_port_func)(opl_port_t port, unsigned int value); 28 | typedef void (*opl_set_callback_func)(uint64_t us, 29 | opl_callback_t callback, 30 | void *data); 31 | typedef void (*opl_clear_callbacks_func)(void); 32 | typedef void (*opl_lock_func)(void); 33 | typedef void (*opl_unlock_func)(void); 34 | typedef void (*opl_set_paused_func)(int paused); 35 | typedef void (*opl_adjust_callbacks_func)(float value); 36 | 37 | typedef struct 38 | { 39 | const char *name; 40 | 41 | opl_init_func init_func; 42 | opl_shutdown_func shutdown_func; 43 | opl_read_port_func read_port_func; 44 | opl_write_port_func write_port_func; 45 | opl_set_callback_func set_callback_func; 46 | opl_clear_callbacks_func clear_callbacks_func; 47 | opl_lock_func lock_func; 48 | opl_unlock_func unlock_func; 49 | opl_set_paused_func set_paused_func; 50 | opl_adjust_callbacks_func adjust_callbacks_func; 51 | } opl_driver_t; 52 | 53 | // Sample rate to use when doing software emulation. 54 | 55 | extern unsigned int opl_sample_rate; 56 | 57 | 58 | #if (defined(__i386__) || defined(__x86_64__)) && defined(HAVE_IOPERM) 59 | extern opl_driver_t opl_linux_driver; 60 | #endif 61 | #if defined(HAVE_LIBI386) || defined(HAVE_LIBAMD64) 62 | extern opl_driver_t opl_openbsd_driver; 63 | #endif 64 | #ifdef _WIN32 65 | extern opl_driver_t opl_win32_driver; 66 | #endif 67 | extern opl_driver_t opl_sdl_driver; 68 | 69 | 70 | #endif /* #ifndef OPL_INTERNAL_H */ 71 | 72 | -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/docs/README.md: -------------------------------------------------------------------------------- 1 | # Simple DirectMedia Layer 2 | 3 | https://www.libsdl.org/ 4 | 5 | Simple DirectMedia Layer is a cross-platform development library designed 6 | to provide low level access to audio, keyboard, mouse, joystick, and graphics 7 | hardware via OpenGL and Direct3D. It is used by video playback software, 8 | emulators, and popular games including Valve's award winning catalog 9 | and many Humble Bundle games. 10 | 11 | SDL officially supports Windows, macOS, Linux, iOS, and Android. 12 | Support for other platforms may be found in the source code. 13 | 14 | SDL is written in C, works natively with C++, and there are bindings 15 | available for several other languages, including C# and Python. 16 | 17 | This library is distributed under the zlib license, which can be found 18 | in the file "LICENSE.txt". 19 | 20 | The best way to learn how to use SDL is to check out the header files in 21 | the "include" subdirectory and the programs in the "test" subdirectory. 22 | The header files and test programs are well commented and always up to date. 23 | 24 | More documentation and FAQs are available online at [the wiki](http://wiki.libsdl.org/) 25 | 26 | - [Android](README-android.md) 27 | - [CMake](README-cmake.md) 28 | - [DirectFB](README-directfb.md) 29 | - [DynAPI](README-dynapi.md) 30 | - [Emscripten](README-emscripten.md) 31 | - [GDK](README-gdk.md) 32 | - [Gesture](README-gesture.md) 33 | - [Git](README-git.md) 34 | - [iOS](README-ios.md) 35 | - [Linux](README-linux.md) 36 | - [macOS](README-macos.md) 37 | - [OS/2](README-os2.md) 38 | - [Native Client](README-nacl.md) 39 | - [Pandora](README-pandora.md) 40 | - [Supported Platforms](README-platforms.md) 41 | - [Porting information](README-porting.md) 42 | - [PSP](README-psp.md) 43 | - [PS2](README-ps2.md) 44 | - [Raspberry Pi](README-raspberrypi.md) 45 | - [Touch](README-touch.md) 46 | - [Versions](README-versions.md) 47 | - [WinCE](README-wince.md) 48 | - [Windows](README-windows.md) 49 | - [WinRT](README-winrt.md) 50 | - [PSVita](README-vita.md) 51 | - [Nokia N-Gage](README-ngage.md) 52 | 53 | If you need help with the library, or just want to discuss SDL related 54 | issues, you can join the [SDL Discourse](https://discourse.libsdl.org/), 55 | which can be used as a web forum or a mailing list, at your preference. 56 | 57 | If you want to report bugs or contribute patches, please submit them to 58 | [our bug tracker](https://github.com/libsdl-org/SDL/issues) 59 | 60 | Enjoy! 61 | 62 | 63 | Sam Lantinga 64 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![](https://raw.githubusercontent.com/JNechaevsky/jnechaevsky.github.io/main/cry/cry-logo-dw.png) 2 | ### About 3 | CRY is a reimagining of Jaguar Doom for PC, built on top of the [International Doom](https://github.com/jnechaevsky/international-doom) engine. To ensure high emulation accuracy, substantial parts of the original Jaguar Doom code were integrated — including damage formulas, monster behavior, Nightmare difficulty mechanics, and sector/line specials. 4 | 5 | The goal was never to create a 1:1 port of Jaguar Doom for modern systems. Instead, I aimed to strike a balance between authenticity, visual polish, and overall enjoyment — while paying close attention to detail wherever possible. 6 | 7 | The project is created by [Julia Nechaevskaya](https://jnechaevsky.github.io/author.html). 8 | 9 | ### Download 10 | 11 | **CRY 2.2 (released: May 25, 2025)** 12 | *    [Windows (64-bit)](https://github.com/JNechaevsky/CRY/releases/download/2.2/cry-2.2-win-64.zip) 13 | *    [Windows (32-bit)](https://github.com/JNechaevsky/CRY/releases/download/2.2/cry-2.2-win-32.zip) 14 | *    [Linux AppImage (64-bit)](https://github.com/JNechaevsky/CRY/releases/download/2.2/cry-2.2-linux-64-appimage.zip) 15 | *    [Jaguar and PSX music packs](https://drive.google.com/drive/folders/18H-U2EbzDsLFjfE3hVn3UiwjybsuGFIa?usp=sharing) (optional) 16 | 17 | ### Major features 18 | 19 | * True Color rendering. 20 | * Rendering resolutions up to 6× (1200p). 21 | * Uncapped framerate. 22 | * Colored sector lighting. 23 | * Additional darker gamma-correction levels. 24 | * Post-processing effects. 25 | * In-game keyboard and mouse bindings. 26 | * Various optional visual and gameplay enhancements. 27 | * Preserved most original Jaguar Doom playstate quirks. 28 | 29 | ### License 30 | 31 | CRY source code is licensed under the [GNU General Public License v2](https://github.com/JNechaevsky/CRY/blob/main/COPYING.txt) and [Jaguar Doom Source Code license](https://github.com/JNechaevsky/CRY/blob/main/COPYING-JAG.txt). 32 |
Information about game assets is provided in [COPYING-RES.txt](https://github.com/JNechaevsky/CRY/blob/main/COPYING-RES.txt) file. 33 | -------------------------------------------------------------------------------- /src/doom/s_sound.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 2005-2014 Simon Howard 4 | // Copyright(C) 2016-2025 Julia Nechaevskaya 5 | // 6 | // This program is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU General Public License 8 | // as published by the Free Software Foundation; either version 2 9 | // of the License, or (at your option) any later version. 10 | // 11 | // This program is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | // GNU General Public License for more details. 15 | // 16 | // DESCRIPTION: 17 | // The not so system specific sound interface. 18 | // 19 | 20 | 21 | #ifndef __S_SOUND__ 22 | #define __S_SOUND__ 23 | 24 | #include "sounds.h" 25 | 26 | // 27 | // Initializes sound stuff, including volume 28 | // Sets channels, SFX and music volume, 29 | // allocates channel buffer, sets S_sfx lookup. 30 | // 31 | 32 | void S_Init(int sfxVolume, int musicVolume); 33 | 34 | 35 | // Shut down sound 36 | 37 | void S_Shutdown(void); 38 | 39 | 40 | 41 | // 42 | // Per level startup code. 43 | // Kills playing sounds at start of level, 44 | // determines music if any, changes music. 45 | // 46 | 47 | void S_Start(void); 48 | 49 | // 50 | // Start sound for thing at 51 | // using from sounds.h 52 | // 53 | 54 | void S_StartSound(void *origin, int sound_id); 55 | void S_StartSoundOnce(void *origin, int sound_id); 56 | 57 | // Stop sound for thing at 58 | void S_StopSound(mobj_t *origin); 59 | void S_UnlinkSound(mobj_t *origin); 60 | 61 | 62 | 63 | // Start music using from sounds.h, 64 | // and set whether looping 65 | void S_ChangeMusic(int music_id, int looping); 66 | 67 | // query if music is playing 68 | boolean S_MusicPlaying(void); 69 | 70 | // Stops the music fer sure. 71 | void S_StopMusic(void); 72 | 73 | // Stop and resume music, during game PAUSE. 74 | void S_PauseSound(void); 75 | void S_ResumeSound(void); 76 | 77 | 78 | // 79 | // Updates music & sounds 80 | // 81 | void S_UpdateSounds(mobj_t *listener); 82 | 83 | void S_SetMusicVolume(int volume); 84 | void S_SetSfxVolume(int volume); 85 | 86 | extern void S_ChangeSFXSystem (void); 87 | extern void S_UpdateStereoSeparation (void); 88 | extern void S_MuteUnmuteSound (boolean mute); 89 | 90 | extern int current_mus_num; 91 | 92 | // [JN] jff 3/17/98 holds last IDMUS number, or -1 93 | extern int idmusnum; 94 | 95 | #endif 96 | 97 | -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/include/SDL_test_images.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2025 Sam Lantinga 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | */ 21 | 22 | /* 23 | * \file SDL_test_images.h 24 | * 25 | * Include file for SDL test framework. 26 | * 27 | * This code is a part of the SDL2_test library, not the main SDL library. 28 | */ 29 | 30 | /* 31 | 32 | Defines some images for tests. 33 | 34 | */ 35 | 36 | #ifndef SDL_test_images_h_ 37 | #define SDL_test_images_h_ 38 | 39 | #include "SDL.h" 40 | 41 | #include "begin_code.h" 42 | /* Set up for C function definitions, even when using C++ */ 43 | #ifdef __cplusplus 44 | extern "C" { 45 | #endif 46 | 47 | /* 48 | *Type for test images. 49 | */ 50 | typedef struct SDLTest_SurfaceImage_s { 51 | int width; 52 | int height; 53 | unsigned int bytes_per_pixel; /* 3:RGB, 4:RGBA */ 54 | const char *pixel_data; 55 | } SDLTest_SurfaceImage_t; 56 | 57 | /* Test images */ 58 | SDL_Surface *SDLTest_ImageBlit(void); 59 | SDL_Surface *SDLTest_ImageBlitColor(void); 60 | SDL_Surface *SDLTest_ImageBlitAlpha(void); 61 | SDL_Surface *SDLTest_ImageBlitBlendAdd(void); 62 | SDL_Surface *SDLTest_ImageBlitBlend(void); 63 | SDL_Surface *SDLTest_ImageBlitBlendMod(void); 64 | SDL_Surface *SDLTest_ImageBlitBlendNone(void); 65 | SDL_Surface *SDLTest_ImageBlitBlendAll(void); 66 | SDL_Surface *SDLTest_ImageFace(void); 67 | SDL_Surface *SDLTest_ImagePrimitives(void); 68 | SDL_Surface *SDLTest_ImagePrimitivesBlend(void); 69 | 70 | /* Ends C function definitions when using C++ */ 71 | #ifdef __cplusplus 72 | } 73 | #endif 74 | #include "close_code.h" 75 | 76 | #endif /* SDL_test_images_h_ */ 77 | 78 | /* vi: set ts=4 sw=4 expandtab: */ 79 | -------------------------------------------------------------------------------- /src/i_system.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 2005-2014 Simon Howard 4 | // Copyright(C) 2016-2025 Julia Nechaevskaya 5 | // 6 | // This program is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU General Public License 8 | // as published by the Free Software Foundation; either version 2 9 | // of the License, or (at your option) any later version. 10 | // 11 | // This program is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | // GNU General Public License for more details. 15 | // 16 | // DESCRIPTION: 17 | // System specific interface stuff. 18 | // 19 | 20 | 21 | #ifndef __I_SYSTEM__ 22 | #define __I_SYSTEM__ 23 | 24 | #include "d_ticcmd.h" 25 | #include "d_event.h" 26 | 27 | 28 | typedef void (*atexit_func_t)(void); 29 | 30 | // Called by DoomMain. 31 | void I_Init (void); 32 | 33 | // Called by startup code 34 | // to get the ammount of memory to malloc 35 | // for the zone management. 36 | byte* I_ZoneBase (int *size); 37 | 38 | 39 | // Asynchronous interrupt functions should maintain private queues 40 | // that are read by the synchronous functions 41 | // to be converted into events. 42 | 43 | // Either returns a null ticcmd, 44 | // or calls a loadable driver to build it. 45 | // This ticcmd will then be modified by the gameloop 46 | // for normal input. 47 | ticcmd_t* I_BaseTiccmd (void); 48 | 49 | 50 | // Called by M_Responder when quit is selected. 51 | // Clean exit, displays sell blurb. 52 | void I_Quit (void) NORETURN; 53 | 54 | extern boolean i_error_safe; 55 | void I_Error (const char *error, ...) NORETURN PRINTF_ATTR(1, 2); 56 | 57 | void *I_Realloc(void *ptr, size_t size); 58 | 59 | boolean I_GetMemoryValue(unsigned int offset, void *value, int size); 60 | 61 | // Schedule a function to be called when the program exits. 62 | // If run_if_error is true, the function is called if the exit 63 | // is due to an error (I_Error) 64 | 65 | void I_AtExit(atexit_func_t func, boolean run_if_error); 66 | 67 | // Add all system-specific config file variable bindings. 68 | 69 | void I_BindVariables(void); 70 | 71 | // Print startup banner copyright message. 72 | 73 | void I_PrintStartupBanner(const char *gamedescription); 74 | 75 | // Print a centered text banner displaying the given string. 76 | 77 | void I_PrintBanner(const char *text); 78 | 79 | // Print a dividing line for startup banners. 80 | 81 | void I_PrintDivider(void); 82 | 83 | #endif 84 | 85 | -------------------------------------------------------------------------------- /win32/SDL2_mixer-2.8.1/README.txt: -------------------------------------------------------------------------------- 1 | 2 | SDL_mixer 2.0 3 | 4 | The latest version of this library is available from GitHub: 5 | https://github.com/libsdl-org/SDL_mixer/releases 6 | 7 | Due to popular demand, here is a simple multi-channel audio mixer. 8 | It supports 8 channels of 16 bit stereo audio, plus a single channel of music. It can load FLAC, MP3, Ogg, VOC, and WAV format audio. It can also load MIDI, MOD, and Opus audio, depending on build options (see the note below for details.) 9 | 10 | See the header file SDL_mixer.h and the examples playwave.c and playmus.c for documentation on this mixer library. This documentation is also available online at https://wiki.libsdl.org/SDL2_mixer 11 | 12 | The process of mixing MIDI files to wave output is very CPU intensive, so if playing regular WAVE files sound great, but playing MIDI files sound choppy, try using 8-bit audio, mono audio, or lower frequencies. 13 | 14 | If you have built with FluidSynth support, you'll need to set the SDL_SOUNDFONTS environment variable to a Sound Font 2 (.sf2) file containing the musical instruments you want to use for MIDI playback. 15 | (On some Linux distributions you can install the fluid-soundfont-gm package) 16 | 17 | To play MIDI files using Timidity, you'll need to get a complete set of GUS patches from: 18 | http://www.libsdl.org/projects/mixer/timidity/timidity.tar.gz 19 | and unpack them in /usr/local/lib under UNIX, and C:\ under Win32. 20 | 21 | This library is under the zlib license, see the file "LICENSE.txt" for details. 22 | 23 | Note: 24 | Support for software MIDI, MOD, and Opus are not included by default because of the size of the decode libraries, but you can get them by running external/download.sh 25 | - When building with CMake, you can enable the appropriate SDL2MIXER_* options defined in CMakeLists.txt. SDL2MIXER_VENDORED allows switching between system and vendored libraries. 26 | - When building with configure/make, you can build and install them normally and the configure script will detect and use them. 27 | - When building with Visual Studio, you will need to build the libraries and then add the appropriate LOAD_* preprocessor define to the Visual Studio project. 28 | - When building with Xcode, you can edit the config at the top of the project to enable them, and you will need to include the appropriate framework in your application. 29 | - For Android, you can edit the config at the top of Android.mk to enable them. 30 | 31 | The default MP3 support is provided using minimp3. SDL_mixer also supports using libmpg123: you can enable it by passing --enable-music-mp3-mpg123 to configure. 32 | -------------------------------------------------------------------------------- /src/w_file_stdc.c: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 2005-2014 Simon Howard 4 | // Copyright(C) 2016-2025 Julia Nechaevskaya 5 | // 6 | // This program is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU General Public License 8 | // as published by the Free Software Foundation; either version 2 9 | // of the License, or (at your option) any later version. 10 | // 11 | // This program is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | // GNU General Public License for more details. 15 | // 16 | // DESCRIPTION: 17 | // WAD I/O functions. 18 | // 19 | 20 | #include 21 | 22 | #include "m_misc.h" 23 | #include "w_file.h" 24 | #include "z_zone.h" 25 | 26 | typedef struct 27 | { 28 | wad_file_t wad; 29 | FILE *fstream; 30 | } stdc_wad_file_t; 31 | 32 | 33 | static wad_file_t *W_StdC_OpenFile(const char *path) 34 | { 35 | stdc_wad_file_t *result; 36 | FILE *fstream; 37 | 38 | fstream = M_fopen(path, "rb"); 39 | 40 | if (fstream == NULL) 41 | { 42 | return NULL; 43 | } 44 | 45 | // Create a new stdc_wad_file_t to hold the file handle. 46 | 47 | result = Z_Malloc(sizeof(stdc_wad_file_t), PU_STATIC, 0); 48 | result->wad.file_class = &stdc_wad_file; 49 | result->wad.mapped = NULL; 50 | result->wad.length = M_FileLength(fstream); 51 | result->wad.path = M_StringDuplicate(path); 52 | result->fstream = fstream; 53 | 54 | return &result->wad; 55 | } 56 | 57 | static void W_StdC_CloseFile(wad_file_t *wad) 58 | { 59 | stdc_wad_file_t *stdc_wad; 60 | 61 | stdc_wad = (stdc_wad_file_t *) wad; 62 | 63 | fclose(stdc_wad->fstream); 64 | Z_Free(stdc_wad); 65 | } 66 | 67 | // Read data from the specified position in the file into the 68 | // provided buffer. Returns the number of bytes read. 69 | 70 | size_t W_StdC_Read(wad_file_t *wad, unsigned int offset, 71 | void *buffer, size_t buffer_len) 72 | { 73 | stdc_wad_file_t *stdc_wad; 74 | size_t result; 75 | 76 | stdc_wad = (stdc_wad_file_t *) wad; 77 | 78 | // Jump to the specified position in the file. 79 | 80 | fseek(stdc_wad->fstream, offset, SEEK_SET); 81 | 82 | // Read into the buffer. 83 | 84 | result = fread(buffer, 1, buffer_len, stdc_wad->fstream); 85 | 86 | return result; 87 | } 88 | 89 | 90 | wad_file_class_t stdc_wad_file = 91 | { 92 | W_StdC_OpenFile, 93 | W_StdC_CloseFile, 94 | W_StdC_Read, 95 | }; 96 | 97 | 98 | -------------------------------------------------------------------------------- /src/v_trans.h: -------------------------------------------------------------------------------- 1 | // Emacs style mode select -*- C++ -*- 2 | //----------------------------------------------------------------------------- 3 | // 4 | // $Id: v_video.h,v 1.9 1998/05/06 11:12:54 jim Exp $ 5 | // 6 | // BOOM, a modified and improved DOOM engine 7 | // Copyright (C) 1999 by 8 | // id Software, Chi Hoang, Lee Killough, Jim Flynn, Rand Phares, Ty Halderman 9 | // 10 | // This program is free software; you can redistribute it and/or 11 | // modify it under the terms of the GNU General Public License 12 | // as published by the Free Software Foundation; either version 2 13 | // of the License, or (at your option) any later version. 14 | // 15 | // This program is distributed in the hope that it will be useful, 16 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | // GNU General Public License for more details. 19 | // 20 | // You should have received a copy of the GNU General Public License 21 | // along with this program; if not, write to the Free Software 22 | // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 23 | // 02111-1307, USA. 24 | // 25 | // DESCRIPTION: 26 | // Gamma correction LUT. 27 | // Color range translation support 28 | // Functions to draw patches (by post) directly to screen. 29 | // Functions to blit a block to the screen. 30 | // 31 | //----------------------------------------------------------------------------- 32 | 33 | 34 | #pragma once 35 | 36 | #include "doomtype.h" 37 | 38 | 39 | enum 40 | { 41 | CR_MENU_BRIGHT5, 42 | CR_MENU_BRIGHT4, 43 | CR_MENU_BRIGHT3, 44 | CR_MENU_BRIGHT2, 45 | CR_MENU_BRIGHT1, 46 | CR_MENU_DARK1, 47 | CR_MENU_DARK2, 48 | CR_MENU_DARK3, 49 | CR_MENU_DARK4, 50 | 51 | CR_RED, 52 | CR_RED_BRIGHT, 53 | 54 | CR_DARKRED, 55 | 56 | CR_GREEN, 57 | CR_GREEN_BRIGHT, 58 | 59 | CR_DARKGREEN, 60 | CR_DARKGREEN_BRIGHT, 61 | 62 | CR_OLIVE, 63 | CR_OLIVE_BRIGHT, 64 | 65 | CR_BLUE2, 66 | CR_BLUE2_BRIGHT, 67 | 68 | CR_YELLOW, 69 | CR_YELLOW_BRIGHT, 70 | 71 | CR_ORANGE, 72 | CR_ORANGE_BRIGHT, 73 | 74 | CR_WHITE, 75 | 76 | CR_GRAY, 77 | CR_GRAY_BRIGHT, 78 | 79 | CR_LIGHTGRAY, 80 | CR_LIGHTGRAY_BRIGHT, 81 | CR_LIGHTGRAY_DARK, 82 | 83 | CR_RED2BLUE, 84 | CR_RED2GREEN, 85 | 86 | CRMAX, 87 | CR_NONE, 88 | }; 89 | 90 | extern byte *cr[CRMAX]; 91 | extern char **crstr; 92 | 93 | #define cr_esc '~' 94 | 95 | 96 | int V_GetPaletteIndex(byte *palette, int r, int g, int b); 97 | byte V_Colorize (byte *playpal, int cr, byte source, boolean keepgray109); 98 | -------------------------------------------------------------------------------- /src/i_timer.c: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 2005-2014 Simon Howard 4 | // Copyright(C) 2016-2025 Julia Nechaevskaya 5 | // 6 | // This program is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU General Public License 8 | // as published by the Free Software Foundation; either version 2 9 | // of the License, or (at your option) any later version. 10 | // 11 | // This program is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | // GNU General Public License for more details. 15 | // 16 | // DESCRIPTION: 17 | // Timer functions. 18 | // 19 | 20 | #include "SDL.h" 21 | 22 | #include "i_timer.h" 23 | #include "m_fixed.h" // [crispy] 24 | #include "doomtype.h" 25 | 26 | // 27 | // I_GetTime 28 | // returns time in 1/35th second tics 29 | // 30 | 31 | static Uint32 basetime = 0; 32 | static uint64_t basecounter = 0; // [crispy] 33 | static uint64_t basefreq = 0; // [crispy] 34 | 35 | int I_GetTime (void) 36 | { 37 | Uint32 ticks; 38 | 39 | ticks = SDL_GetTicks(); 40 | 41 | if (basetime == 0) 42 | basetime = ticks; 43 | 44 | ticks -= basetime; 45 | 46 | return (ticks * TICRATE) / 1000; 47 | } 48 | 49 | // 50 | // Same as I_GetTime, but returns time in milliseconds 51 | // 52 | 53 | int I_GetTimeMS(void) 54 | { 55 | Uint32 ticks; 56 | 57 | ticks = SDL_GetTicks(); 58 | 59 | if (basetime == 0) 60 | basetime = ticks; 61 | 62 | return ticks - basetime; 63 | } 64 | 65 | // [crispy] Get time in microseconds 66 | 67 | uint64_t I_GetTimeUS(void) 68 | { 69 | uint64_t counter; 70 | 71 | counter = SDL_GetPerformanceCounter(); 72 | 73 | if (basecounter == 0) 74 | basecounter = counter; 75 | 76 | return ((counter - basecounter) * 1000000ull) / basefreq; 77 | } 78 | 79 | // Sleep for a specified number of ms 80 | 81 | void I_Sleep(int ms) 82 | { 83 | SDL_Delay(ms); 84 | } 85 | 86 | void I_WaitVBL(int count) 87 | { 88 | I_Sleep((count * 1000) / 70); 89 | } 90 | 91 | 92 | void I_InitTimer(void) 93 | { 94 | // initialize timer 95 | 96 | SDL_SetHint(SDL_HINT_WINDOWS_DISABLE_THREAD_NAMING, "1"); 97 | 98 | SDL_Init(SDL_INIT_TIMER); 99 | 100 | basefreq = SDL_GetPerformanceFrequency(); // [crispy] 101 | } 102 | 103 | // [crispy] 104 | 105 | fixed_t I_GetFracRealTime(void) 106 | { 107 | return (int64_t)I_GetTimeMS() * TICRATE % 1000 * FRACUNIT / 1000; 108 | } 109 | -------------------------------------------------------------------------------- /src/w_file.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 2005-2014 Simon Howard 4 | // Copyright(C) 2016-2025 Julia Nechaevskaya 5 | // 6 | // This program is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU General Public License 8 | // as published by the Free Software Foundation; either version 2 9 | // of the License, or (at your option) any later version. 10 | // 11 | // This program is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | // GNU General Public License for more details. 15 | // 16 | // DESCRIPTION: 17 | // WAD I/O functions. 18 | // 19 | 20 | 21 | #ifndef __W_FILE__ 22 | #define __W_FILE__ 23 | 24 | #include 25 | #include "doomtype.h" 26 | 27 | typedef struct _wad_file_s wad_file_t; 28 | 29 | typedef struct 30 | { 31 | // Open a file for reading. 32 | wad_file_t *(*OpenFile)(const char *path); 33 | 34 | // Close the specified file. 35 | void (*CloseFile)(wad_file_t *file); 36 | 37 | // Read data from the specified position in the file into the 38 | // provided buffer. Returns the number of bytes read. 39 | size_t (*Read)(wad_file_t *file, unsigned int offset, 40 | void *buffer, size_t buffer_len); 41 | } wad_file_class_t; 42 | 43 | 44 | extern wad_file_class_t stdc_wad_file; 45 | 46 | #ifdef _WIN32 47 | extern wad_file_class_t win32_wad_file; 48 | #endif 49 | 50 | #ifdef HAVE_MMAP 51 | extern wad_file_class_t posix_wad_file; 52 | #endif 53 | 54 | 55 | struct _wad_file_s 56 | { 57 | // Class of this file. 58 | wad_file_class_t *file_class; 59 | 60 | // If this is NULL, the file cannot be mapped into memory. If this 61 | // is non-NULL, it is a pointer to the mapped file. 62 | byte *mapped; 63 | 64 | // Length of the file, in bytes. 65 | unsigned int length; 66 | 67 | // File's location on disk. 68 | const char *path; 69 | }; 70 | 71 | // Open the specified file. Returns a pointer to a new wad_file_t 72 | // handle for the WAD file, or NULL if it could not be opened. 73 | 74 | wad_file_t *W_OpenFile(const char *path); 75 | 76 | // Close the specified WAD file. 77 | 78 | void W_CloseFile(wad_file_t *wad); 79 | 80 | // Read data from the specified file into the provided buffer. The 81 | // data is read from the specified offset from the start of the file. 82 | // Returns the number of bytes read. 83 | 84 | size_t W_Read(wad_file_t *wad, unsigned int offset, 85 | void *buffer, size_t buffer_len); 86 | 87 | #endif /* #ifndef __W_FILE__ */ 88 | -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/cmake/sdl2-config-version.cmake: -------------------------------------------------------------------------------- 1 | # based on the files generated by CMake's write_basic_package_version_file 2 | 3 | # SDL2 CMake version configuration file: 4 | # This file is meant to be placed in a cmake subfolder of SDL2-devel-2.x.y-VC 5 | 6 | if(NOT EXISTS "${CMAKE_CURRENT_LIST_DIR}/../include/SDL_version.h") 7 | message(AUTHOR_WARNING "Could not find SDL_version.h. This script is meant to be placed in the root of SDL2-devel-2.x.y-VC") 8 | return() 9 | endif() 10 | 11 | file(READ "${CMAKE_CURRENT_LIST_DIR}/../include/SDL_version.h" _sdl_version_h) 12 | string(REGEX MATCH "#define[ \t]+SDL_MAJOR_VERSION[ \t]+([0-9]+)" _sdl_major_re "${_sdl_version_h}") 13 | set(_sdl_major "${CMAKE_MATCH_1}") 14 | string(REGEX MATCH "#define[ \t]+SDL_MINOR_VERSION[ \t]+([0-9]+)" _sdl_minor_re "${_sdl_version_h}") 15 | set(_sdl_minor "${CMAKE_MATCH_1}") 16 | string(REGEX MATCH "#define[ \t]+SDL_PATCHLEVEL[ \t]+([0-9]+)" _sdl_patch_re "${_sdl_version_h}") 17 | set(_sdl_patch "${CMAKE_MATCH_1}") 18 | if(_sdl_major_re AND _sdl_minor_re AND _sdl_patch_re) 19 | set(PACKAGE_VERSION "${_sdl_major}.${_sdl_minor}.${_sdl_patch}") 20 | else() 21 | message(AUTHOR_WARNING "Could not extract version from SDL_version.h.") 22 | return() 23 | endif() 24 | 25 | if(PACKAGE_FIND_VERSION_RANGE) 26 | # Package version must be in the requested version range 27 | if ((PACKAGE_FIND_VERSION_RANGE_MIN STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION_MIN) 28 | OR ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_GREATER PACKAGE_FIND_VERSION_MAX) 29 | OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND PACKAGE_VERSION VERSION_GREATER_EQUAL PACKAGE_FIND_VERSION_MAX))) 30 | set(PACKAGE_VERSION_COMPATIBLE FALSE) 31 | else() 32 | set(PACKAGE_VERSION_COMPATIBLE TRUE) 33 | endif() 34 | else() 35 | if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION) 36 | set(PACKAGE_VERSION_COMPATIBLE FALSE) 37 | else() 38 | set(PACKAGE_VERSION_COMPATIBLE TRUE) 39 | if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION) 40 | set(PACKAGE_VERSION_EXACT TRUE) 41 | endif() 42 | endif() 43 | endif() 44 | 45 | # if the using project doesn't have CMAKE_SIZEOF_VOID_P set, fail. 46 | if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "") 47 | set(PACKAGE_VERSION_UNSUITABLE TRUE) 48 | endif() 49 | 50 | # check that the installed version has the same 32/64bit-ness as the one which is currently searching: 51 | if(NOT (CMAKE_SIZEOF_VOID_P STREQUAL "8" OR CMAKE_SIZEOF_VOID_P STREQUAL "4")) 52 | set(PACKAGE_VERSION "${PACKAGE_VERSION} (32+64bit)") 53 | set(PACKAGE_VERSION_UNSUITABLE TRUE) 54 | endif() 55 | -------------------------------------------------------------------------------- /src/doom/st_bar.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 2005-2014 Simon Howard 4 | // Copyright(C) 2016-2025 Julia Nechaevskaya 5 | // 6 | // This program is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU General Public License 8 | // as published by the Free Software Foundation; either version 2 9 | // of the License, or (at your option) any later version. 10 | // 11 | // This program is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | // GNU General Public License for more details. 15 | // 16 | // DESCRIPTION: 17 | // Status bar code. 18 | // Does the face/direction indicator animatin. 19 | // Does palette indicators as well (red pain/berserk, bright pickup) 20 | // 21 | 22 | #ifndef __STSTUFF_H__ 23 | #define __STSTUFF_H__ 24 | 25 | #include "doomtype.h" 26 | #include "d_event.h" 27 | 28 | // Size of statusbar. 29 | // Now sensitive for scaling. 30 | #define ST_HEIGHT 40 31 | #define ST_WIDTH ORIGWIDTH 32 | #define ST_Y (ORIGHEIGHT - ST_HEIGHT) 33 | 34 | 35 | // 36 | // STATUS BAR 37 | // 38 | 39 | // Called by main loop. 40 | boolean ST_Responder (event_t* ev); 41 | 42 | // Called by main loop. 43 | void ST_Ticker (void); 44 | 45 | // Called by main loop. 46 | void ST_Drawer (boolean force); 47 | 48 | // Called when the console player is spawned on each level. 49 | void ST_Start (void); 50 | 51 | // Called by startup code. 52 | void ST_Init (void); 53 | 54 | // [JN] Allocate rectangle sizes for status bar buffered drawing. 55 | extern void ST_InitElementsBackground (void); 56 | 57 | extern int st_palette; 58 | extern boolean st_fullupdate; 59 | 60 | // 61 | // CHEAT SEQUENCE PACKAGE 62 | // 63 | 64 | #define CHEAT(value, parameters) \ 65 | { value, sizeof(value) - 1, parameters, 0, 0, "" } 66 | 67 | #define MAX_CHEAT_LEN 25 68 | #define MAX_CHEAT_PARAMS 5 69 | 70 | typedef struct 71 | { 72 | // settings for this cheat 73 | 74 | char sequence[MAX_CHEAT_LEN]; 75 | size_t sequence_len; 76 | int parameter_chars; 77 | 78 | // state used during the game 79 | 80 | size_t chars_read; 81 | int param_chars_read; 82 | char parameter_buf[MAX_CHEAT_PARAMS]; 83 | } cheatseq_t; 84 | 85 | extern cheatseq_t cheat_mus; 86 | extern cheatseq_t cheat_god; 87 | extern cheatseq_t cheat_ammo; 88 | extern cheatseq_t cheat_ammonokey; 89 | extern cheatseq_t cheat_noclip; 90 | extern cheatseq_t cheat_commercial_noclip; 91 | extern cheatseq_t cheat_powerup[5]; 92 | extern cheatseq_t cheat_choppers; 93 | extern cheatseq_t cheat_clev; 94 | extern cheatseq_t cheat_mypos; 95 | 96 | #endif 97 | -------------------------------------------------------------------------------- /src/i_main.c: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 2005-2014 Simon Howard 4 | // Copyright(C) 2016-2025 Julia Nechaevskaya 5 | // 6 | // This program is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU General Public License 8 | // as published by the Free Software Foundation; either version 2 9 | // of the License, or (at your option) any later version. 10 | // 11 | // This program is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | // GNU General Public License for more details. 15 | // 16 | // DESCRIPTION: 17 | // Main program, simply calls D_DoomMain high level loop. 18 | // 19 | 20 | #include 21 | #include 22 | #include 23 | #include // [crispy] setlocale 24 | #include 25 | 26 | #ifdef _WIN32 27 | #ifndef WIN32_LEAN_AND_MEAN 28 | #define WIN32_LEAN_AND_MEAN 29 | #endif 30 | #include 31 | #endif 32 | 33 | #include "config.h" 34 | #include "doomtype.h" 35 | #include "i_system.h" 36 | #include "m_argv.h" 37 | #include "m_misc.h" 38 | 39 | 40 | // 41 | // D_DoomMain() 42 | // Not a globally visible function, just included for source reference, 43 | // calls all startup code, parses command line options. 44 | // 45 | 46 | void D_DoomMain (void); 47 | 48 | int main(int argc, char **argv) 49 | { 50 | // save arguments 51 | 52 | myargc = argc; 53 | myargv = malloc(argc * sizeof(char *)); 54 | assert(myargv != NULL); 55 | 56 | for (int i = 0; i < argc; i++) 57 | { 58 | myargv[i] = M_StringDuplicate(argv[i]); 59 | } 60 | 61 | // [crispy] Print date and time in the Load/Save Game menus in the current locale 62 | setlocale(LC_TIME, ""); 63 | 64 | #if defined(_WIN32) 65 | // [JN] Create console output window if "-console" parameter is present. 66 | if (M_CheckParm ("-console")) 67 | { 68 | // Allocate console. 69 | AllocConsole(); 70 | SetConsoleTitle("Console"); 71 | 72 | // Head text outputs. 73 | freopen("CONIN$", "r",stdin); 74 | freopen("CONOUT$","w",stdout); 75 | freopen("CONOUT$","w",stderr); 76 | 77 | // Set a proper codepage. 78 | SetConsoleOutputCP(CP_UTF8); 79 | SetConsoleCP(CP_UTF8); 80 | } 81 | #endif 82 | 83 | // [FG] compose a proper command line from loose file paths passed as arguments 84 | // to allow for loading WADs and DEHACKED patches by drag-and-drop 85 | M_AddLooseFiles(); 86 | 87 | M_SetExeDir(); 88 | 89 | // start doom 90 | 91 | D_DoomMain (); 92 | 93 | return 0; 94 | } 95 | 96 | -------------------------------------------------------------------------------- /win32/SDL2_mixer-2.8.1/cmake/sdl2_mixer-config-version.cmake: -------------------------------------------------------------------------------- 1 | # based on the files generated by CMake's write_basic_package_version_file 2 | 3 | # SDL2_mixer CMake version configuration file: 4 | # This file is meant to be placed in a cmake subfolder of SDL2_mixer-devel-2.x.y-VC 5 | 6 | if(NOT EXISTS "${CMAKE_CURRENT_LIST_DIR}/../include/SDL_mixer.h") 7 | message(AUTHOR_WARNING "Could not find SDL_mixer.h. This script is meant to be placed in a CMake subfolder of SDL2_mixer-devel-2.x.y-VC") 8 | return() 9 | endif() 10 | 11 | file(READ "${CMAKE_CURRENT_LIST_DIR}/../include/SDL_mixer.h" _sdl_mixer_h) 12 | string(REGEX MATCH "#define[ \t]+SDL_MIXER_MAJOR_VERSION[ \t]+([0-9]+)" _sdl_major_re "${_sdl_mixer_h}") 13 | set(_sdl_major "${CMAKE_MATCH_1}") 14 | string(REGEX MATCH "#define[ \t]+SDL_MIXER_MINOR_VERSION[ \t]+([0-9]+)" _sdl_minor_re "${_sdl_mixer_h}") 15 | set(_sdl_minor "${CMAKE_MATCH_1}") 16 | string(REGEX MATCH "#define[ \t]+SDL_MIXER_PATCHLEVEL[ \t]+([0-9]+)" _sdl_patch_re "${_sdl_mixer_h}") 17 | set(_sdl_patch "${CMAKE_MATCH_1}") 18 | if(_sdl_major_re AND _sdl_minor_re AND _sdl_patch_re) 19 | set(PACKAGE_VERSION "${_sdl_major}.${_sdl_minor}.${_sdl_patch}") 20 | else() 21 | message(AUTHOR_WARNING "Could not extract version from SDL_mixer.h.") 22 | return() 23 | endif() 24 | 25 | if(PACKAGE_FIND_VERSION_RANGE) 26 | # Package version must be in the requested version range 27 | if ((PACKAGE_FIND_VERSION_RANGE_MIN STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION_MIN) 28 | OR ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_GREATER PACKAGE_FIND_VERSION_MAX) 29 | OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND PACKAGE_VERSION VERSION_GREATER_EQUAL PACKAGE_FIND_VERSION_MAX))) 30 | set(PACKAGE_VERSION_COMPATIBLE FALSE) 31 | else() 32 | set(PACKAGE_VERSION_COMPATIBLE TRUE) 33 | endif() 34 | else() 35 | if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION) 36 | set(PACKAGE_VERSION_COMPATIBLE FALSE) 37 | else() 38 | set(PACKAGE_VERSION_COMPATIBLE TRUE) 39 | if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION) 40 | set(PACKAGE_VERSION_EXACT TRUE) 41 | endif() 42 | endif() 43 | endif() 44 | 45 | # if the using project doesn't have CMAKE_SIZEOF_VOID_P set, fail. 46 | if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "") 47 | set(PACKAGE_VERSION_UNSUITABLE TRUE) 48 | endif() 49 | 50 | # check that the installed version has the same 32/64bit-ness as the one which is currently searching: 51 | if(NOT (CMAKE_SIZEOF_VOID_P STREQUAL "8" OR CMAKE_SIZEOF_VOID_P STREQUAL "4")) 52 | set(PACKAGE_VERSION "${PACKAGE_VERSION} (32+64bit)") 53 | set(PACKAGE_VERSION_UNSUITABLE TRUE) 54 | endif() 55 | -------------------------------------------------------------------------------- /src/w_wad.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 2005-2014 Simon Howard 4 | // Copyright(C) 2016-2025 Julia Nechaevskaya 5 | // 6 | // This program is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU General Public License 8 | // as published by the Free Software Foundation; either version 2 9 | // of the License, or (at your option) any later version. 10 | // 11 | // This program is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | // GNU General Public License for more details. 15 | // 16 | // DESCRIPTION: 17 | // WAD I/O functions. 18 | // 19 | 20 | 21 | #ifndef __W_WAD__ 22 | #define __W_WAD__ 23 | 24 | #include 25 | 26 | #include "doomtype.h" 27 | #include "w_file.h" 28 | 29 | 30 | // 31 | // TYPES 32 | // 33 | 34 | typedef PACKED_STRUCT ( 35 | { 36 | // Should be "IWAD" or "PWAD". 37 | char identification[4]; 38 | int numlumps; 39 | int infotableofs; 40 | }) wadinfo_t; 41 | 42 | 43 | typedef PACKED_STRUCT ( 44 | { 45 | int filepos; 46 | int size; 47 | char name[8]; 48 | }) filelump_t; 49 | 50 | // 51 | // WADFILE I/O related stuff. 52 | // 53 | 54 | typedef struct lumpinfo_s lumpinfo_t; 55 | typedef int lumpindex_t; 56 | 57 | struct lumpinfo_s 58 | { 59 | char name[8]; 60 | wad_file_t *wad_file; 61 | int position; 62 | int size; 63 | void *cache; 64 | 65 | // Used for hash table lookups 66 | lumpindex_t next; 67 | }; 68 | 69 | 70 | extern lumpinfo_t **lumpinfo; 71 | extern unsigned int numlumps; 72 | 73 | wad_file_t *W_AddFile(const char *filename); 74 | 75 | int W_CheckMultipleLumps (char *name); 76 | lumpindex_t W_CheckNumForName(const char *name); 77 | lumpindex_t W_GetNumForName(const char *name); 78 | lumpindex_t W_CheckNumForNameFromTo(const char *name, int from, int to); 79 | void W_HashNumForNameFromTo(int from, int to, int size); 80 | 81 | int W_LumpLength(lumpindex_t lump); 82 | void W_ReadLump(lumpindex_t lump, void *dest); 83 | 84 | void *W_CacheLumpNum(lumpindex_t lump, int tag); 85 | void *W_CacheLumpName(const char *name, int tag); 86 | 87 | void W_GenerateHashTable(void); 88 | 89 | extern unsigned int W_LumpNameHash(const char *s); 90 | 91 | void W_ReleaseLumpNum(lumpindex_t lump); 92 | void W_ReleaseLumpName(const char *name); 93 | 94 | const char *W_WadNameForLump(const lumpinfo_t *lump); 95 | boolean W_IsIWADLump(const lumpinfo_t *lump); 96 | 97 | char **W_GetWADFileNames(void); 98 | 99 | #endif 100 | -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/docs/README-windows.md: -------------------------------------------------------------------------------- 1 | # Windows 2 | 3 | ## LLVM and Intel C++ compiler support 4 | 5 | SDL will build with the Visual Studio project files with LLVM-based compilers, such as the Intel oneAPI C++ 6 | compiler, but you'll have to manually add the "-msse3" command line option 7 | to at least the SDL_audiocvt.c source file, and possibly others. This may 8 | not be necessary if you build SDL with CMake instead of the included Visual 9 | Studio solution. 10 | 11 | Details are here: https://github.com/libsdl-org/SDL/issues/5186 12 | 13 | 14 | ## OpenGL ES 2.x support 15 | 16 | SDL has support for OpenGL ES 2.x under Windows via two alternative 17 | implementations. 18 | 19 | The most straightforward method consists in running your app in a system with 20 | a graphic card paired with a relatively recent (as of November of 2013) driver 21 | which supports the WGL_EXT_create_context_es2_profile extension. Vendors known 22 | to ship said extension on Windows currently include nVidia and Intel. 23 | 24 | The other method involves using the 25 | [ANGLE library](https://code.google.com/p/angleproject/). If an OpenGL ES 2.x 26 | context is requested and no WGL_EXT_create_context_es2_profile extension is 27 | found, SDL will try to load the libEGL.dll library provided by ANGLE. 28 | 29 | To obtain the ANGLE binaries, you can either compile from source from 30 | https://chromium.googlesource.com/angle/angle or copy the relevant binaries 31 | from a recent Chrome/Chromium install for Windows. The files you need are: 32 | 33 | - libEGL.dll 34 | - libGLESv2.dll 35 | - d3dcompiler_46.dll (supports Windows Vista or later, better shader 36 | compiler) *or* d3dcompiler_43.dll (supports Windows XP or later) 37 | 38 | If you compile ANGLE from source, you can configure it so it does not need the 39 | d3dcompiler_* DLL at all (for details on this, see their documentation). 40 | However, by default SDL will try to preload the d3dcompiler_46.dll to 41 | comply with ANGLE's requirements. If you wish SDL to preload 42 | d3dcompiler_43.dll (to support Windows XP) or to skip this step at all, you 43 | can use the SDL_HINT_VIDEO_WIN_D3DCOMPILER hint (see SDL_hints.h for more 44 | details). 45 | 46 | Known Bugs: 47 | 48 | - SDL_GL_SetSwapInterval is currently a no op when using ANGLE. It appears 49 | that there's a bug in the library which prevents the window contents from 50 | refreshing if this is set to anything other than the default value. 51 | 52 | ## Vulkan Surface Support 53 | 54 | Support for creating Vulkan surfaces is configured on by default. To disable 55 | it change the value of `SDL_VIDEO_VULKAN` to 0 in `SDL_config_windows.h`. You 56 | must install the [Vulkan SDK](https://www.lunarg.com/vulkan-sdk/) in order to 57 | use Vulkan graphics in your application. 58 | 59 | -------------------------------------------------------------------------------- /win32/libsamplerate-0.2.2-win32/share/doc/libsamplerate/api_simple.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 | 5 | # Simple API 6 | 7 | **Important Note:** The simple API is not designed to work on small chunks of a 8 | larger piece of audio. If you attempt to use it this way you are doing it wrong 9 | and will not get the results you want. For processing audio data in chunks you 10 | **must** use the [full api](api_full.md) or the [callback based api](api_callback.md). 11 | 12 | The simple API consists of a single function: 13 | 14 | ```c 15 | int src_simple (SRC_DATA *data, int converter_type, int channels) ; 16 | ``` 17 | 18 | The use of this function rather than the more fully featured API requires the 19 | caller to know the total length of the input data before hand and that all input 20 | and output data can be held in the system's memory at once. It also assumes that 21 | there is a single constant ratio between input and output sample rates. 22 | 23 | Dealing with the easy stuff first, the **converter_type** parameter should be 24 | one of the values defined in **samplerate.h** and documented [here](api_misc.md#converters) 25 | while the **channels** parameter specifies the number of interleaved channels 26 | that the sample rate converter is being asked to process (number of input 27 | channels and output channels is always equal). There is no hard upper limit on 28 | the number of channels; it is limited purely by the amount of memory available. 29 | 30 | The first parameter to **src_simple** is a pointer to an **SRC_DATA** struct 31 | (more info [here](api_misc.md#src_data)) defined as follows: 32 | 33 | ```c 34 | typedef struct 35 | { const float *data_in; 36 | float *data_out ; 37 | 38 | long input_frames, output_frames ; 39 | long input_frames_used, output_frames_gen ; 40 | 41 | int end_of_input ; 42 | 43 | double src_ratio ; 44 | } SRC_DATA ; 45 | ``` 46 | 47 | The fields of this struct which must be filled in by the caller are: 48 | 49 | data_in 50 | : A pointer to the input data samples. 51 | 52 | input_frames 53 | : The number of frames of data pointed to by data_in. 54 | 55 | data_out 56 | : A pointer to the output data samples. 57 | 58 | output_frames 59 | : Maximum number of frames pointer to by data_out. 60 | 61 | src_ratio 62 | : Equal to output_sample_rate / input_sample_rate. 63 | 64 | When the **src_simple** function returns **output_frames_gen** will be set to 65 | the number of output frames generated and **input_frames_used** will be set to 66 | the number of input frames used to generate the provided number of output 67 | frames. 68 | 69 | The **src_simple** function returns a non-zero value when an error occurs. See 70 | [here](api_misc.md#error-reporting) for how to convert the error value into a 71 | text string. 72 | -------------------------------------------------------------------------------- /src/doom/id_func.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 2005-2014 Simon Howard 4 | // Copyright(C) 2014-2017 RestlessRodent 5 | // Copyright(C) 2015-2018 Fabian Greffrath 6 | // Copyright(C) 2016-2025 Julia Nechaevskaya 7 | // 8 | // This program is free software; you can redistribute it and/or 9 | // modify it under the terms of the GNU General Public License 10 | // as published by the Free Software Foundation; either version 2 11 | // of the License, or (at your option) any later version. 12 | // 13 | // This program is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | 19 | 20 | #pragma once 21 | 22 | 23 | // 24 | // Data types 25 | // 26 | 27 | // Render counters data. 28 | typedef struct ID_Data_s 29 | { 30 | int numsprites; // [JN] Number of sprites. 31 | int numsegs; // [JN] Number of wall segments. 32 | int numplanes; // [JN] Number of visplanes. 33 | int numopenings; // [JN] Number of openings. 34 | } ID_Render_t; 35 | 36 | extern ID_Render_t IDRender; 37 | 38 | // Widgets data. 39 | typedef struct ID_Widget_s 40 | { 41 | int x; // Player X coord 42 | int y; // Player Y coord 43 | int ang; // Player angle 44 | 45 | int time; // Time spent on the level. 46 | 47 | int kills; // Current kill count 48 | int totalkills; // Total enemy count on the level 49 | int items; // Current items count 50 | int totalitems; // Total item count on the level 51 | int secrets; // Current secrets count 52 | int totalsecrets; // Total secrets on the level 53 | } ID_Widget_t; 54 | 55 | extern ID_Widget_t IDWidget; 56 | 57 | extern char ID_Level_Time[64]; 58 | extern char ID_Total_Time[64]; 59 | extern char ID_Local_Time[64]; 60 | 61 | // 62 | // Render Counters and Widgets 63 | // 64 | 65 | extern void ID_LeftWidgets (void); 66 | extern void ID_RightWidgets (void); 67 | extern void ID_DrawTargetsHealth (void); 68 | 69 | // 70 | // Crosshair 71 | // 72 | 73 | extern void ID_DrawCrosshair (void); 74 | 75 | // 76 | // Spectator Mode 77 | // 78 | 79 | extern fixed_t CRL_camera_x, CRL_camera_y, CRL_camera_z; 80 | extern fixed_t CRL_camera_oldx, CRL_camera_oldy, CRL_camera_oldz; 81 | extern angle_t CRL_camera_ang; 82 | extern angle_t CRL_camera_oldang; 83 | 84 | extern void CRL_GetCameraPos (fixed_t *x, fixed_t *y, fixed_t *z, angle_t *a); 85 | extern void CRL_ReportPosition (fixed_t x, fixed_t y, fixed_t z, angle_t angle); 86 | extern void CRL_ImpulseCamera (fixed_t fwm, fixed_t swm, angle_t at); 87 | extern void CRL_ImpulseCameraVert (boolean direction, fixed_t intensity); 88 | -------------------------------------------------------------------------------- /win32/SDL2_mixer-2.8.1/cmake/sdl2_mixer-config.cmake: -------------------------------------------------------------------------------- 1 | # SDL2_mixer CMake configuration file: 2 | # This file is meant to be placed in a cmake subfolder of SDL2_mixer-devel-2.x.y-VC 3 | 4 | include(FeatureSummary) 5 | set_package_properties(SDL2_mixer PROPERTIES 6 | URL "https://www.libsdl.org/projects/SDL_mixer/" 7 | DESCRIPTION "SDL_mixer is a sample multi-channel audio mixer library" 8 | ) 9 | 10 | cmake_minimum_required(VERSION 3.0...3.5) 11 | 12 | set(SDL2_mixer_FOUND TRUE) 13 | 14 | set(SDL2MIXER_VENDORED TRUE) 15 | 16 | set(SDL2MIXER_CMD FALSE) 17 | 18 | set(SDL2MIXER_FLAC_LIBFLAC FALSE) 19 | set(SDL2MIXER_FLAC_DRFLAC TRUE) 20 | 21 | set(SDL2MIXER_GME FALSE) 22 | 23 | set(SDL2MIXER_MOD TRUE) 24 | set(SDL2MIXER_MOD_MODPLUG TRUE) 25 | set(SDL2MIXER_MOD_XMP FALSE) 26 | set(SDL2MIXER_MOD_XMP_LITE FALSE) 27 | 28 | set(SDL2MIXER_MP3 TRUE) 29 | set(SDL2MIXER_MP3_MINIMP3 TRUE) 30 | set(SDL2MIXER_MP3_MPG123 FALSE) 31 | 32 | set(SDL2MIXER_MIDI TRUE) 33 | set(SDL2MIXER_MIDI_FLUIDSYNTH FALSE) 34 | set(SDL2MIXER_MIDI_NATIVE TRUE) 35 | set(SDL2MIXER_MIDI_TIMIDITY TRUE) 36 | 37 | set(SDL2MIXER_OPUS TRUE) 38 | 39 | set(SDL2MIXER_VORBIS STB) 40 | set(SDL2MIXER_VORBIS_STB TRUE) 41 | set(SDL2MIXER_VORBIS_TREMOR FALSE) 42 | set(SDL2MIXER_VORBIS_VORBISFILE FALSE) 43 | 44 | set(SDL2MIXER_WAVE TRUE) 45 | 46 | if(CMAKE_SIZEOF_VOID_P STREQUAL "4") 47 | set(_sdl_arch_subdir "x86") 48 | elseif(CMAKE_SIZEOF_VOID_P STREQUAL "8") 49 | set(_sdl_arch_subdir "x64") 50 | else() 51 | unset(_sdl_arch_subdir) 52 | set(SDL2_mixer_FOUND FALSE) 53 | return() 54 | endif() 55 | 56 | set(_sdl2mixer_incdir "${CMAKE_CURRENT_LIST_DIR}/../include") 57 | set(_sdl2mixer_library "${CMAKE_CURRENT_LIST_DIR}/../lib/${_sdl_arch_subdir}/SDL2_mixer.lib") 58 | set(_sdl2mixer_dll "${CMAKE_CURRENT_LIST_DIR}/../lib/${_sdl_arch_subdir}/SDL2_mixer.dll") 59 | 60 | # All targets are created, even when some might not be requested though COMPONENTS. 61 | # This is done for compatibility with CMake generated SDL2_mixer-target.cmake files. 62 | 63 | if(NOT TARGET SDL2_mixer::SDL2_mixer) 64 | add_library(SDL2_mixer::SDL2_mixer SHARED IMPORTED) 65 | set_target_properties(SDL2_mixer::SDL2_mixer 66 | PROPERTIES 67 | INTERFACE_INCLUDE_DIRECTORIES "${_sdl2mixer_incdir}" 68 | IMPORTED_IMPLIB "${_sdl2mixer_library}" 69 | IMPORTED_LOCATION "${_sdl2mixer_dll}" 70 | COMPATIBLE_INTERFACE_BOOL "SDL2_SHARED" 71 | INTERFACE_SDL2_SHARED "ON" 72 | ) 73 | endif() 74 | 75 | unset(_sdl_arch_subdir) 76 | unset(_sdl2mixer_incdir) 77 | unset(_sdl2mixer_library) 78 | unset(_sdl2mixer_dll) 79 | -------------------------------------------------------------------------------- /win32/SDL2-2.32.10/docs/README-versions.md: -------------------------------------------------------------------------------- 1 | # Versioning 2 | 3 | ## Since 2.23.0 4 | 5 | SDL follows an "odd/even" versioning policy, similar to GLib, GTK, Flatpak 6 | and older versions of the Linux kernel: 7 | 8 | * The major version (first part) increases when backwards compatibility 9 | is broken, which will happen infrequently. 10 | 11 | * If the minor version (second part) is divisible by 2 12 | (for example 2.24.x, 2.26.x), this indicates a version of SDL that 13 | is believed to be stable and suitable for production use. 14 | 15 | * In stable releases, the patchlevel or micro version (third part) 16 | indicates bugfix releases. Bugfix releases should not add or 17 | remove ABI, so the ".0" release (for example 2.24.0) should be 18 | forwards-compatible with all the bugfix releases from the 19 | same cycle (for example 2.24.1). 20 | 21 | * The minor version increases when new API or ABI is added, or when 22 | other significant changes are made. Newer minor versions are 23 | backwards-compatible, but not fully forwards-compatible. 24 | For example, programs built against SDL 2.24.x should work fine 25 | with SDL 2.26.x, but programs built against SDL 2.26.x will not 26 | necessarily work with 2.24.x. 27 | 28 | * If the minor version (second part) is not divisible by 2 29 | (for example 2.23.x, 2.25.x), this indicates a development prerelease 30 | of SDL that is not suitable for stable software distributions. 31 | Use with caution. 32 | 33 | * The patchlevel or micro version (third part) increases with 34 | each prerelease. 35 | 36 | * Each prerelease might add new API and/or ABI. 37 | 38 | * Prereleases are backwards-compatible with older stable branches. 39 | For example, 2.25.x will be backwards-compatible with 2.24.x. 40 | 41 | * Prereleases are not guaranteed to be backwards-compatible with 42 | each other. For example, new API or ABI added in 2.25.1 43 | might be removed or changed in 2.25.2. 44 | If this would be a problem for you, please do not use prereleases. 45 | 46 | * Only upgrade to a prerelease if you can guarantee that you will 47 | promptly upgrade to the stable release that follows it. 48 | For example, do not upgrade to 2.23.x unless you will be able to 49 | upgrade to 2.24.0 when it becomes available. 50 | 51 | * Software distributions that have a freeze policy (in particular Linux 52 | distributions with a release cycle, such as Debian and Fedora) 53 | should usually only package stable releases, and not prereleases. 54 | 55 | ## Before 2.23.0 56 | 57 | Older versions of SDL followed a similar policy, but instead of the 58 | odd/even rule applying to the minor version, it applied to the patchlevel 59 | (micro version, third part). For example, 2.0.22 was a stable release 60 | and 2.0.21 was a prerelease. 61 | -------------------------------------------------------------------------------- /src/doom/sounds.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright(C) 1993-1996 Id Software, Inc. 3 | // Copyright(C) 2005-2014 Simon Howard 4 | // Copyright(C) 2016-2025 Julia Nechaevskaya 5 | // 6 | // This program is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU General Public License 8 | // as published by the Free Software Foundation; either version 2 9 | // of the License, or (at your option) any later version. 10 | // 11 | // This program is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | // GNU General Public License for more details. 15 | // 16 | // DESCRIPTION: 17 | // Created by the sound utility written by Dave Taylor. 18 | // Kept as a sample, DOOM2 sounds. Frozen. 19 | // 20 | 21 | #ifndef __SOUNDS__ 22 | #define __SOUNDS__ 23 | 24 | #include "i_sound.h" 25 | 26 | // the complete set of sound effects 27 | extern sfxinfo_t S_sfx[]; 28 | 29 | // the complete set of music 30 | extern musicinfo_t S_music[]; 31 | 32 | /* 33 | * Identifiers for all music in game. 34 | */ 35 | 36 | typedef enum 37 | { 38 | mus_None, 39 | mus_None1, 40 | mus_map01, 41 | mus_map02, 42 | mus_map03, 43 | mus_map04, 44 | mus_map05, 45 | mus_map06, 46 | mus_map07, 47 | mus_map08, 48 | mus_map09, 49 | mus_map10, 50 | mus_map11, 51 | mus_map12, 52 | mus_map13, 53 | mus_map14, 54 | mus_map15, 55 | mus_map16, 56 | mus_map17, 57 | mus_map18, 58 | mus_map19, 59 | mus_map20, 60 | mus_map21, 61 | mus_map22, 62 | mus_map23, 63 | mus_map24, 64 | mus_intro, 65 | mus_inter, 66 | NUMMUSIC, 67 | } musicenum_t; 68 | 69 | 70 | /* 71 | * Identifiers for all sfx in game. 72 | */ 73 | 74 | typedef enum 75 | { 76 | sfx_None, 77 | sfx_pistol, 78 | sfx_shotgn, 79 | sfx_sgcock, 80 | sfx_plasma, 81 | sfx_bfg, 82 | sfx_sawup, 83 | sfx_sawidl, 84 | sfx_sawful, 85 | sfx_sawhit, 86 | sfx_rlaunc, 87 | sfx_rxplod, 88 | sfx_firsht, 89 | sfx_firxpl, 90 | sfx_pstart, 91 | sfx_pstop, 92 | sfx_doropn, 93 | sfx_dorcls, 94 | sfx_stnmov, 95 | sfx_swtchn, 96 | sfx_swtchx, 97 | sfx_plpain, 98 | sfx_dmpain, 99 | sfx_popain, 100 | sfx_slop, 101 | sfx_itemup, 102 | sfx_wpnup, 103 | sfx_oof, 104 | sfx_telept, 105 | sfx_posit1, 106 | sfx_posit2, 107 | sfx_posit3, 108 | sfx_bgsit1, 109 | sfx_bgsit2, 110 | sfx_sgtsit, 111 | sfx_cacsit, 112 | sfx_brssit, 113 | sfx_sklatk, 114 | sfx_sgtatk, 115 | sfx_claw, 116 | sfx_pldeth, 117 | sfx_podth1, 118 | sfx_podth2, 119 | sfx_podth3, 120 | sfx_bgdth1, 121 | sfx_bgdth2, 122 | sfx_sgtdth, 123 | sfx_cacdth, 124 | sfx_brsdth, 125 | sfx_posact, 126 | sfx_bgact, 127 | sfx_dmact, 128 | sfx_noway, 129 | sfx_barexp, 130 | sfx_punch, 131 | sfx_chgun, 132 | sfx_itmbk, 133 | NUMSFX 134 | } sfxenum_t; 135 | 136 | #endif 137 | --------------------------------------------------------------------------------