├── .editorconfig ├── .github └── workflows │ ├── linux_ci.yml │ ├── macos_ci.yml │ ├── mingw_ci.yml │ └── windows_ci.yml ├── .gitignore ├── CMakeLists.txt ├── LICENSE.txt ├── Linux ├── CodeBlocks │ └── QuakeSpasm-SDL2.cbp └── sgml │ ├── Makefile.sgml │ ├── Quakespasm.sgml │ └── sgml2rawtxt ├── Misc ├── QuakeSpasm_512.png ├── cmake │ └── ExtractVersion.cmake ├── fitzquake080.txt ├── fitzquake080sdl.txt ├── fitzquake085.txt ├── fix_externaltex.patch ├── fs_search_order.patch ├── mk_header.c ├── pak │ ├── .gitattributes │ ├── Makefile │ ├── default.cfg │ ├── default.cfg.diff │ ├── gfx │ │ ├── conback.lmp │ │ ├── menumods.lmp │ │ ├── p_skill.lmp │ │ ├── skillmenu.lmp │ │ └── sp_maps.lmp │ ├── maps │ │ ├── e1m1.diff │ │ ├── e1m1@c49d.ent │ │ ├── e1m2.diff │ │ ├── e1m2@0caa.ent │ │ ├── e1m4.diff │ │ ├── e1m4@958e.ent │ │ ├── e2m2.diff │ │ ├── e2m2@fbfe.ent │ │ ├── e2m3.diff │ │ ├── e2m3@237a.ent │ │ ├── e2m7.diff │ │ └── e2m7@10a8.ent │ └── mkpak.sh └── systest.c ├── Quake ├── Makefile ├── Makefile.w32 ├── Makefile.w64 ├── anorm_dots.h ├── anorms.h ├── arch_def.h ├── bgmusic.c ├── bgmusic.h ├── bspfile.h ├── build_cross_haiku32-sdl2.sh ├── build_cross_haiku64-sdl2.sh ├── build_cross_win32-sdl2.sh ├── build_cross_win32.sh ├── build_cross_win64-sdl2.sh ├── build_cross_win64.sh ├── cd_null.c ├── cdaudio.h ├── cfgfile.c ├── cfgfile.h ├── chase.c ├── cl_demo.c ├── cl_input.c ├── cl_main.c ├── cl_parse.c ├── cl_tent.c ├── client.h ├── cmd.c ├── cmd.h ├── common.c ├── common.h ├── console.c ├── console.h ├── crc.c ├── crc.h ├── cvar.c ├── cvar.h ├── default_cfg.h ├── detect.sh ├── draw.h ├── filenames.h ├── gl_draw.c ├── gl_fog.c ├── gl_mesh.c ├── gl_model.c ├── gl_model.h ├── gl_refrag.c ├── gl_rlight.c ├── gl_rmain.c ├── gl_rmisc.c ├── gl_screen.c ├── gl_shaders.c ├── gl_shaders.h ├── gl_sky.c ├── gl_texmgr.c ├── gl_texmgr.h ├── gl_vidsdl.c ├── gl_warp.c ├── gl_warp_sin.h ├── glquake.h ├── host.c ├── host_cmd.c ├── image.c ├── image.h ├── in_sdl.c ├── input.h ├── ironwail.pak ├── jsmn.h ├── json.c ├── json.h ├── keys.c ├── keys.h ├── lodepng.c ├── lodepng.h ├── main_sdl.c ├── mathlib.c ├── mathlib.h ├── menu.c ├── menu.h ├── miniz.c ├── miniz.h ├── modelgen.h ├── net.h ├── net_bsd.c ├── net_defs.h ├── net_dgrm.c ├── net_dgrm.h ├── net_loop.c ├── net_loop.h ├── net_main.c ├── net_sys.h ├── net_udp.c ├── net_udp.h ├── net_win.c ├── net_wins.c ├── net_wins.h ├── net_wipx.c ├── net_wipx.h ├── pl_linux.c ├── pl_osx.m ├── pl_win.c ├── platform.h ├── pr_cmds.c ├── pr_comp.h ├── pr_edict.c ├── pr_exec.c ├── progdefs.h ├── progdefs.q1 ├── progs.h ├── protocol.h ├── q_ctype.h ├── q_sound.h ├── q_stdinc.h ├── qs_bmp.h ├── quakedef.c ├── quakedef.h ├── r_alias.c ├── r_brush.c ├── r_part.c ├── r_sprite.c ├── r_world.c ├── render.h ├── resource.h ├── sbar.c ├── sbar.h ├── screen.h ├── server.h ├── snd_codec.c ├── snd_codec.h ├── snd_codeci.h ├── snd_dma.c ├── snd_flac.c ├── snd_flac.h ├── snd_mem.c ├── snd_mikmod.c ├── snd_mikmod.h ├── snd_mix.c ├── snd_modplug.c ├── snd_modplug.h ├── snd_mp3.c ├── snd_mp3.h ├── snd_mp3tag.c ├── snd_mpg123.c ├── snd_opus.c ├── snd_opus.h ├── snd_sdl.c ├── snd_umx.c ├── snd_umx.h ├── snd_vorbis.c ├── snd_vorbis.h ├── snd_wave.c ├── snd_wave.h ├── snd_xmp.c ├── snd_xmp.h ├── spritegn.h ├── stb_image.h ├── stb_image_write.h ├── steam.c ├── steam.h ├── strl_fn.h ├── strlcat.c ├── strlcpy.c ├── sv_main.c ├── sv_move.c ├── sv_phys.c ├── sv_user.c ├── sys.h ├── sys_sdl_unix.c ├── sys_sdl_win.c ├── unicode_translit.h ├── vid.h ├── view.c ├── view.h ├── wad.c ├── wad.h ├── world.c ├── world.h ├── wsaerror.h ├── zone.c └── zone.h ├── Quakespasm-Music.txt ├── Quakespasm.html ├── Quakespasm.txt ├── README.md └── Windows ├── CodeBlocks ├── QuakeSpasm-SDL2.cbp └── QuakeSpasm.cbp ├── QuakeSpasm-old.ico ├── QuakeSpasm.ico ├── QuakeSpasm.rc ├── SDL ├── BUGS ├── COPYING ├── README-SDL.txt ├── bin │ └── sdl-config ├── include │ ├── SDL.h │ ├── SDL_active.h │ ├── SDL_audio.h │ ├── SDL_byteorder.h │ ├── SDL_cdrom.h │ ├── SDL_config.h │ ├── SDL_config_win32.h │ ├── SDL_copying.h │ ├── SDL_cpuinfo.h │ ├── SDL_endian.h │ ├── SDL_error.h │ ├── SDL_events.h │ ├── SDL_getenv.h │ ├── SDL_joystick.h │ ├── SDL_keyboard.h │ ├── SDL_keysym.h │ ├── SDL_loadso.h │ ├── SDL_main.h │ ├── SDL_mouse.h │ ├── SDL_mutex.h │ ├── SDL_name.h │ ├── SDL_opengl.h │ ├── SDL_platform.h │ ├── SDL_quit.h │ ├── SDL_rwops.h │ ├── SDL_stdinc.h │ ├── SDL_syswm.h │ ├── SDL_thread.h │ ├── SDL_timer.h │ ├── SDL_types.h │ ├── SDL_version.h │ ├── SDL_video.h │ ├── begin_code.h │ └── close_code.h ├── lib │ ├── SDL.dll │ ├── SDL.lib │ ├── SDLmain.lib │ ├── libSDL.dll.a │ └── libSDLmain.a ├── lib64 │ ├── SDL.dll │ ├── SDL.lib │ ├── SDLmain.lib │ ├── libSDL.dll.a │ └── libSDLmain.a ├── main │ └── SDL_win32_main.c └── watcom │ ├── SDL.def │ ├── SDL.exp │ ├── SDL.lib │ ├── def2lbc.awk │ └── makefile ├── SDL2 ├── BUGS.txt ├── LICENSE.txt ├── README-SDL.txt ├── README.md ├── WhatsNew.txt ├── bin │ └── sdl2-config ├── include │ ├── SDL.h │ ├── SDL_assert.h │ ├── SDL_atomic.h │ ├── SDL_audio.h │ ├── SDL_bits.h │ ├── SDL_blendmode.h │ ├── SDL_clipboard.h │ ├── SDL_config.h │ ├── SDL_config_windows.h │ ├── SDL_cpuinfo.h │ ├── SDL_egl.h │ ├── SDL_endian.h │ ├── SDL_error.h │ ├── SDL_events.h │ ├── SDL_filesystem.h │ ├── SDL_gamecontroller.h │ ├── SDL_gesture.h │ ├── SDL_guid.h │ ├── SDL_haptic.h │ ├── SDL_hidapi.h │ ├── SDL_hints.h │ ├── SDL_joystick.h │ ├── SDL_keyboard.h │ ├── SDL_keycode.h │ ├── SDL_loadso.h │ ├── SDL_locale.h │ ├── SDL_log.h │ ├── SDL_main.h │ ├── SDL_messagebox.h │ ├── SDL_metal.h │ ├── SDL_misc.h │ ├── SDL_mouse.h │ ├── SDL_mutex.h │ ├── SDL_name.h │ ├── SDL_opengl.h │ ├── SDL_opengl_glext.h │ ├── SDL_opengles.h │ ├── SDL_opengles2.h │ ├── SDL_opengles2_gl2.h │ ├── SDL_opengles2_gl2ext.h │ ├── SDL_opengles2_gl2platform.h │ ├── SDL_opengles2_khrplatform.h │ ├── SDL_pixels.h │ ├── SDL_platform.h │ ├── SDL_power.h │ ├── SDL_quit.h │ ├── SDL_rect.h │ ├── SDL_render.h │ ├── SDL_revision.h │ ├── SDL_rwops.h │ ├── SDL_scancode.h │ ├── SDL_sensor.h │ ├── SDL_shape.h │ ├── SDL_stdinc.h │ ├── SDL_surface.h │ ├── SDL_system.h │ ├── SDL_syswm.h │ ├── SDL_thread.h │ ├── SDL_timer.h │ ├── SDL_touch.h │ ├── SDL_types.h │ ├── SDL_version.h │ ├── SDL_video.h │ ├── SDL_vulkan.h │ ├── begin_code.h │ └── close_code.h ├── lib │ ├── SDL2.dll │ ├── SDL2.lib │ ├── SDL2main.lib │ ├── libSDL2.dll.a │ └── libSDL2main.a ├── lib64 │ ├── SDL2.dll │ ├── SDL2.lib │ ├── SDL2main.lib │ ├── libSDL2.dll.a │ └── libSDL2main.a ├── main │ ├── SDL_windows.h │ └── SDL_windows_main.c └── watcom │ ├── SDL2.def │ ├── SDL2.exp │ ├── SDL2.lib │ ├── def2lbc.awk │ └── makefile ├── VisualStudio ├── custom_build.props ├── ironwail.natvis ├── ironwail.sln ├── ironwail.vcxproj └── ironwail.vcxproj.filters ├── cmake-modules ├── FindBundledCODECS.cmake ├── FindCURL.cmake └── FindSDL2.cmake ├── codecs ├── include │ ├── FLAC │ │ ├── callback.h │ │ ├── export.h │ │ ├── format.h │ │ ├── ordinals.h │ │ └── stream_decoder.h │ ├── flac_config.txt │ ├── mad.h │ ├── mikmod.h │ ├── mikmod_config.txt │ ├── mpg123.h │ ├── mpg123_config.txt │ ├── ogg │ │ ├── config_types.h │ │ ├── ogg.h │ │ └── os_types.h │ ├── opus │ │ ├── opus.h │ │ ├── opus_defines.h │ │ ├── opus_multistream.h │ │ ├── opus_types.h │ │ └── opusfile.h │ ├── opusfile.h │ ├── vorbis │ │ ├── codec.h │ │ └── vorbisfile.h │ └── xmp.h ├── x64 │ ├── libFLAC-8.dll │ ├── libFLAC.dll.a │ ├── libFLAC.lib │ ├── libmad-0.dll │ ├── libmad.dll.a │ ├── libmad.lib │ ├── libmikmod-3.dll │ ├── libmikmod.dll.a │ ├── libmikmod.lib │ ├── libmpg123-0.dll │ ├── libmpg123.dll.a │ ├── libmpg123.lib │ ├── libogg-0.dll │ ├── libogg.dll.a │ ├── libogg.lib │ ├── libopus-0.dll │ ├── libopus.dll.a │ ├── libopus.lib │ ├── libopusfile-0.dll │ ├── libopusfile.dll.a │ ├── libopusfile.lib │ ├── libvorbis-0.dll │ ├── libvorbis.dll.a │ ├── libvorbis.lib │ ├── libvorbisfile-3.dll │ ├── libvorbisfile.dll.a │ ├── libvorbisfile.lib │ ├── libxmp.dll │ ├── libxmp.dll.a │ └── libxmp.lib ├── x86-watcom │ ├── FLAC.lib │ ├── libxmp.lib │ ├── mad.lib │ ├── mikmod.lib │ ├── mpg123.lib │ ├── ogg.lib │ ├── opus.lib │ ├── opusfile.lib │ ├── vorbis.lib │ └── vorbisfile.lib └── x86 │ ├── libFLAC-8.dll │ ├── libFLAC.dll.a │ ├── libFLAC.lib │ ├── libmad-0.dll │ ├── libmad.dll.a │ ├── libmad.lib │ ├── libmikmod-3.dll │ ├── libmikmod.dll.a │ ├── libmikmod.lib │ ├── libmpg123-0.dll │ ├── libmpg123.dll.a │ ├── libmpg123.lib │ ├── libogg-0.dll │ ├── libogg.dll.a │ ├── libogg.lib │ ├── libopus-0.dll │ ├── libopus.dll.a │ ├── libopus.lib │ ├── libopusfile-0.dll │ ├── libopusfile.dll.a │ ├── libopusfile.lib │ ├── libvorbis-0.dll │ ├── libvorbis.dll.a │ ├── libvorbis.lib │ ├── libvorbisfile-3.dll │ ├── libvorbisfile.dll.a │ ├── libvorbisfile.lib │ ├── libxmp.dll │ ├── libxmp.dll.a │ └── libxmp.lib ├── curl ├── include │ └── curl │ │ ├── curl.h │ │ ├── curlver.h │ │ ├── easy.h │ │ ├── header.h │ │ ├── mprintf.h │ │ ├── multi.h │ │ ├── options.h │ │ ├── stdcheaders.h │ │ ├── system.h │ │ ├── typecheck-gcc.h │ │ ├── urlapi.h │ │ └── websockets.h └── lib │ ├── x64 │ ├── libcurl.dll │ ├── libcurl.lib │ └── libcurl.pdb │ └── x86 │ ├── libcurl.dll │ ├── libcurl.lib │ └── libcurl.pdb ├── misc └── include │ └── msinttypes │ ├── README.txt │ ├── changelog.txt │ ├── inttypes.h │ └── stdint.h └── zlib ├── x64 ├── zlib.pdb └── zlib1.dll └── x86 ├── zlib.pdb └── zlib1.dll /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = tab 5 | indent_size = 4 6 | cpp_space_before_function_open_parenthesis = insert 7 | -------------------------------------------------------------------------------- /.github/workflows/linux_ci.yml: -------------------------------------------------------------------------------- 1 | name: Linux CI 2 | on: [push, pull_request] 3 | jobs: 4 | build: 5 | name: Linux / ${{ matrix.compiler }} 6 | runs-on: ubuntu-22.04 7 | strategy: 8 | fail-fast: false 9 | matrix: 10 | compiler: ["clang", "gcc"] 11 | steps: 12 | - uses: actions/checkout@v4 13 | - name: Install Dependencies 14 | run: sudo apt update && sudo apt install libcurl4-openssl-dev libmpg123-dev libsdl2-dev libvorbis-dev 15 | - name: Build 16 | run: make --jobs=3 --keep-going --directory=Quake CC=${{ matrix.compiler }} 17 | -------------------------------------------------------------------------------- /.github/workflows/macos_ci.yml: -------------------------------------------------------------------------------- 1 | name: macOS CI 2 | on: [push, pull_request] 3 | jobs: 4 | build: 5 | name: macOS 6 | runs-on: macos-12 7 | strategy: 8 | fail-fast: false 9 | steps: 10 | - uses: actions/checkout@v4 11 | - name: Install Dependencies 12 | run: brew install libvorbis mad sdl2 13 | - name: Build 14 | run: make --jobs=3 --keep-going --directory=Quake COMMON_LIBS="-framework CoreFoundation -framework IOKit -framework OpenGL -Wl,-alias -Wl,_SDL_main -Wl,_main" 15 | -------------------------------------------------------------------------------- /.github/workflows/mingw_ci.yml: -------------------------------------------------------------------------------- 1 | name: MinGW CI 2 | 3 | on: [push, pull_request] 4 | 5 | jobs: 6 | build-linux: 7 | name: Build MinGW 8 | runs-on: ubuntu-22.04 9 | strategy: 10 | fail-fast: false 11 | matrix: 12 | config: 13 | - target: win32 14 | package: i686-win32 15 | - target: win64 16 | package: x86-64 17 | 18 | steps: 19 | - uses: actions/checkout@v4 20 | 21 | - name: Install Dependencies 22 | run: sudo apt update && sudo apt install gcc-mingw-w64-${{ matrix.config.package }} 23 | 24 | - name: Build MinGW ${{ matrix.config.target }} 25 | run: | 26 | export MAKEFLAGS=--jobs=3\ --keep-going 27 | cd Quake && ./build_cross_${{ matrix.config.target }}-sdl2.sh 28 | -------------------------------------------------------------------------------- /.github/workflows/windows_ci.yml: -------------------------------------------------------------------------------- 1 | name: Windows CI 2 | on: [push, pull_request] 3 | jobs: 4 | build: 5 | name: Windows / ${{ matrix.platform }} 6 | runs-on: windows-2022 7 | strategy: 8 | fail-fast: false 9 | matrix: 10 | platform: [x64, Win32] 11 | steps: 12 | - uses: actions/checkout@v4 13 | - name: Set environment variables 14 | run: | 15 | $gitrev = $(git describe --always) 16 | $gitbranch = $(git branch --show-current) 17 | $ver_suffix = ("$gitbranch" -eq "master" -Or "$gitbranch" -eq "main") ? "-$gitrev" : "-$gitbranch-$gitrev" 18 | $platform_alt = ("${{matrix.platform}}" -eq "x64") ? "win64" : "win32" 19 | $platform_short = ("${{matrix.platform}}" -eq "Win32") ? "x86" : "${{matrix.platform}}" 20 | $build_artifact = "ironwail${ver_suffix}-${platform_alt}" 21 | echo "VER_SUFFIX=$ver_suffix" >> ${env:GITHUB_ENV} 22 | echo "BUILD_ARTIFACT=$build_artifact" >> ${env:GITHUB_ENV} 23 | echo "BUILD_DIR=$build_artifact" >> ${env:GITHUB_ENV} 24 | echo "PLATFORM_ALT=$platform_alt" >> ${env:GITHUB_ENV} 25 | echo "PLATFORM_SHORT=$platform_short" >> ${env:GITHUB_ENV} 26 | echo "ForceImportBeforeCppTargets=${env:GITHUB_WORKSPACE}\Windows\VisualStudio\custom_build.props" >> ${env:GITHUB_ENV} 27 | - name: Build 28 | run: | 29 | $vswhere = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" 30 | $msbuild = & "$vswhere" -latest -requires Microsoft.Component.MSBuild -find MSBuild\**\Bin\MSBuild.exe | select-object -first 1 31 | $options = @( ` 32 | '-property:Configuration=Release', ` 33 | '-property:Platform=${{ matrix.platform }}', ` 34 | '-maxcpucount', ` 35 | '-verbosity:minimal' ` 36 | ) 37 | & $msbuild Windows\VisualStudio\ironwail.sln $options 38 | if (-not $?) { throw "Build failed" } 39 | - name: Prepare archive 40 | if: github.ref == 'refs/heads/master' && github.event_name != 'pull_request' 41 | run: | 42 | $compiledir = "Windows\VisualStudio\${env:BUILD_DIR}" 43 | $zipdir = "artifact\${env:BUILD_ARTIFACT}" 44 | mkdir $zipdir | out-null 45 | copy ${compiledir}\*.exe $zipdir 46 | copy ${compiledir}\*.dll $zipdir 47 | copy Quake\ironwail.pak $zipdir 48 | copy Quakespasm.html $zipdir 49 | copy Quakespasm.txt $zipdir 50 | copy Quakespasm-Music.txt $zipdir 51 | copy LICENSE.txt $zipdir 52 | - name: Upload archive 53 | if: github.ref == 'refs/heads/master' && github.event_name != 'pull_request' 54 | uses: actions/upload-artifact@v4 55 | with: 56 | name: ${{ env.BUILD_ARTIFACT }} 57 | path: artifact/* 58 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | Windows/VisualStudio/.vs/ 2 | Windows/VisualStudio/Build-*/ 3 | Windows/VisualStudio/ironwail.vcxproj.user 4 | Quake/*.o 5 | Quake/*.d 6 | Quake/*.res 7 | Quake/*.exe 8 | Quake/ironwail 9 | build/ 10 | /.vs 11 | /out/ 12 | -------------------------------------------------------------------------------- /Linux/sgml/Makefile.sgml: -------------------------------------------------------------------------------- 1 | # sgml tools are from linuxdoc-tools 2 | default: Quakespasm.sgml 3 | sgml2html -s 0 -T 2 Quakespasm.sgml 2>/dev/null 4 | all: default text 5 | text txt: Quakespasm.sgml 6 | ./sgml2rawtxt Quakespasm 7 | -------------------------------------------------------------------------------- /Linux/sgml/sgml2rawtxt: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | sgml2txt -b 2 "$1" 3 | cat "$1.txt" | sed -e 's/[^m]*m//g' -e 's/.//g' >tmp$$ 4 | mv tmp$$ "$1.txt" 5 | -------------------------------------------------------------------------------- /Misc/QuakeSpasm_512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Misc/QuakeSpasm_512.png -------------------------------------------------------------------------------- /Misc/cmake/ExtractVersion.cmake: -------------------------------------------------------------------------------- 1 | if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/Quake/quakedef.h") 2 | file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/Quake/quakedef.h" IRONWAIL_VERSION_MAJOR_LINE REGEX "^#define[ \t]+IRONWAIL_VER_MAJOR[ \t]+[0-9]+$") 3 | file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/Quake/quakedef.h" IRONWAIL_VERSION_MINOR_LINE REGEX "^#define[ \t]+IRONWAIL_VER_MINOR[ \t]+[0-9]+$") 4 | file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/Quake/quakedef.h" IRONWAIL_VERSION_PATCH_LINE REGEX "^#define[ \t]+IRONWAIL_VER_PATCH[ \t]+[0-9]+$") 5 | string(REGEX REPLACE "^#define[ \t]+IRONWAIL_VER_MAJOR[ \t]+([0-9]+)$" "\\1" IRONWAIL_VERSION_MAJOR "${IRONWAIL_VERSION_MAJOR_LINE}") 6 | string(REGEX REPLACE "^#define[ \t]+IRONWAIL_VER_MINOR[ \t]+([0-9]+)$" "\\1" IRONWAIL_VERSION_MINOR "${IRONWAIL_VERSION_MINOR_LINE}") 7 | string(REGEX REPLACE "^#define[ \t]+IRONWAIL_VER_PATCH[ \t]+([0-9]+)$" "\\1" IRONWAIL_VERSION_PATCH "${IRONWAIL_VERSION_PATCH_LINE}") 8 | set(IRONWAIL_VERSION ${IRONWAIL_VERSION_MAJOR}.${IRONWAIL_VERSION_MINOR}.${IRONWAIL_VERSION_PATCH}) 9 | unset(IRONWAIL_VERSION_MAJOR_LINE) 10 | unset(IRONWAIL_VERSION_MINOR_LINE) 11 | unset(IRONWAIL_VERSION_PATCH_LINE) 12 | unset(IRONWAIL_VERSION_MAJOR) 13 | unset(IRONWAIL_VERSION_MINOR) 14 | unset(IRONWAIL_VERSION_PATCH) 15 | endif() 16 | -------------------------------------------------------------------------------- /Misc/fs_search_order.patch: -------------------------------------------------------------------------------- 1 | allow plain files to override files inside a PAK -- Sander van Dijk. 2 | 3 | diff --git a/Quake/common.c b/Quake/common.c 4 | index c80450f..6074711 100644 5 | --- a/Quake/common.c 6 | +++ b/Quake/common.c 7 | @@ -2107,13 +2107,6 @@ static void COM_AddGameDirectory (const char *base, const char *dir) 8 | else path_id = 1U; 9 | 10 | _add_path: 11 | - // add the directory to the search path 12 | - search = (searchpath_t *) Z_Malloc(sizeof(searchpath_t)); 13 | - search->path_id = path_id; 14 | - q_strlcpy (search->filename, com_gamedir, sizeof(search->filename)); 15 | - search->next = com_searchpaths; 16 | - com_searchpaths = search; 17 | - 18 | // add any pak files in the format pak0.pak pak1.pak, ... 19 | for (i = 0; ; i++) 20 | { 21 | @@ -2145,6 +2138,13 @@ _add_path: 22 | if (!pak) break; 23 | } 24 | 25 | + // add the directory to the search path -- moved here from before the pakX.pak loop -- svdijk. 26 | + search = (searchpath_t *) Z_Malloc(sizeof(searchpath_t)); 27 | + search->path_id = path_id; 28 | + q_strlcpy (search->filename, com_gamedir, sizeof(search->filename)); 29 | + search->next = com_searchpaths; 30 | + com_searchpaths = search; 31 | + 32 | if (!been_here && host_parms->userdir != host_parms->basedir) 33 | { 34 | been_here = true; 35 | -------------------------------------------------------------------------------- /Misc/mk_header.c: -------------------------------------------------------------------------------- 1 | /* 2 | gcc -Wall mk_header.c -o mk_header 3 | 4 | dumps the bytes of given input to a C header as 5 | comma separated hexadecimal values. the output 6 | header can be used in a C source like: 7 | 8 | const char bin[] = 9 | { 10 | # include "output.h" 11 | }; 12 | 13 | */ 14 | 15 | #include 16 | #include 17 | #include 18 | 19 | int main (int argc, char **argv) 20 | { 21 | FILE *f; 22 | struct stat s; 23 | unsigned char *buf, *ptr; 24 | const char *output; 25 | long i, j; 26 | 27 | if (argc != 2 && argc != 3) 28 | { 29 | printf ("Usage: mk_header [output]\n" 30 | "Default output file is \"output.h\"\n"); 31 | return 1; 32 | } 33 | 34 | if (stat(argv[1], &s) == -1 || 35 | ! S_ISREG(s.st_mode) ) 36 | { 37 | printf ("Couldn't stat %s\n", argv[1]); 38 | return 1; 39 | } 40 | 41 | if (s.st_size == 0) 42 | { 43 | printf ("%s is an empty file\n", argv[1]); 44 | return 1; 45 | } 46 | 47 | buf = (unsigned char *) malloc (s.st_size); 48 | if (buf == NULL) 49 | { 50 | printf ("Couldn't malloc %ld bytes\n", 51 | (long)s.st_size); 52 | return 1; 53 | } 54 | 55 | f = fopen (argv[1], "rb"); 56 | if (f == NULL) 57 | { 58 | free(buf); 59 | printf ("Couldn't open %s\n", argv[1]); 60 | return 1; 61 | } 62 | 63 | if (fread (buf, 1, s.st_size, f) != (size_t) s.st_size) 64 | { 65 | fclose (f); 66 | free (buf); 67 | printf ("Error reading %s\n", argv[1]); 68 | return 1; 69 | } 70 | fclose (f); 71 | 72 | output = (argc == 3) ? argv[2] : "output.h"; 73 | f = fopen (output, "wb"); 74 | if (!f) 75 | { 76 | free (buf); 77 | printf ("Couldn't open %s\n", output); 78 | return 1; 79 | } 80 | 81 | for (i = 0, j = 0, ptr = buf; i < s.st_size; ++i) 82 | { 83 | fprintf (f, "0x%02x", *ptr++); 84 | if (i == s.st_size - 1) 85 | break; 86 | fprintf (f, ","); 87 | if (++j < 16) 88 | fprintf (f, " "); 89 | else 90 | { 91 | j = 0; 92 | fprintf (f, "\n"); 93 | } 94 | } 95 | fprintf (f, "\n"); 96 | 97 | fclose (f); 98 | free (buf); 99 | 100 | return 0; 101 | } 102 | 103 | -------------------------------------------------------------------------------- /Misc/pak/.gitattributes: -------------------------------------------------------------------------------- 1 | # disable newline normalization for ent files 2 | maps/*.ent binary 3 | maps/*.ent.orig binary 4 | -------------------------------------------------------------------------------- /Misc/pak/Makefile: -------------------------------------------------------------------------------- 1 | INPUT := gfx/menumods.lmp \ 2 | gfx/p_skill.lmp \ 3 | gfx/skillmenu.lmp \ 4 | gfx/sp_maps.lmp \ 5 | default.cfg 6 | 7 | OUTPUT := ironwail.pak 8 | 9 | $(OUTPUT): $(INPUT) 10 | ./mkpak.sh $(INPUT) > $(OUTPUT) 11 | 12 | .PHONY: clean 13 | clean: 14 | rm -f $(OUTPUT) 15 | 16 | -------------------------------------------------------------------------------- /Misc/pak/default.cfg: -------------------------------------------------------------------------------- 1 | // 2 | // load keybindings 3 | // 4 | // commands with a leading + will also be called for key up events with 5 | // the + changed to a - 6 | unbindall 7 | 8 | // 9 | // character controls 10 | // 11 | 12 | bind ALT +strafe 13 | 14 | bind , +moveleft 15 | bind a +moveleft 16 | bind . +moveright 17 | bind d +moveright 18 | bind DEL +lookdown 19 | bind PGDN +lookup 20 | bind END centerview 21 | 22 | bind e +moveup 23 | bind c +movedown 24 | bind SHIFT +speed 25 | bind CTRL +attack 26 | bind UPARROW +forward 27 | bind w +forward 28 | bind DOWNARROW +back 29 | bind s +back 30 | bind LEFTARROW +left 31 | bind RIGHTARROW +right 32 | 33 | bind SPACE +jump 34 | //bind ENTER +jump 35 | 36 | bind TAB +showscores 37 | 38 | bind 1 "impulse 1" 39 | bind 2 "impulse 2" 40 | bind 3 "impulse 3" 41 | bind 4 "impulse 4" 42 | bind 5 "impulse 5" 43 | bind 6 "impulse 6" 44 | bind 7 "impulse 7" 45 | bind 8 "impulse 8" 46 | 47 | bind 0 "impulse 0" 48 | 49 | bind / "impulse 10" // change weapon 50 | bind MWHEELDOWN "impulse 10" 51 | bind MWHEELUP "impulse 12" 52 | 53 | // zoom 54 | alias zoom_in "togglezoom" 55 | alias zoom_out "togglezoom" 56 | bind F11 zoom_in 57 | 58 | // Function keys 59 | bind F1 "help" 60 | bind F2 "menu_save" 61 | bind F3 "menu_load" 62 | bind F4 "menu_options" 63 | bind F5 "menu_multiplayer" 64 | bind F6 "echo Quicksaving...; wait; save quick" 65 | bind F9 "echo Quickloading...; wait; load quick" 66 | bind F10 "quit" 67 | bind F12 "screenshot" 68 | 69 | bind PRINTSCREEN "screenshot" 70 | 71 | // mouse options 72 | bind \ +mlook 73 | 74 | // 75 | // client environment commands 76 | // 77 | bind PAUSE "pause" 78 | bind ESCAPE "togglemenu" 79 | bind ~ "toggleconsole" 80 | bind ` "toggleconsole" 81 | 82 | bind t "messagemode" 83 | 84 | bind + "sizeup" 85 | bind = "sizeup" 86 | bind - "sizedown" 87 | 88 | bind INS +klook 89 | 90 | // 91 | // mouse buttons 92 | // 93 | bind MOUSE1 +attack 94 | //bind MOUSE2 +forward 95 | bind MOUSE2 +jump 96 | //bind MOUSE3 +mlook 97 | 98 | // 99 | // game controller 100 | // 101 | bind LSHOULDER "impulse 12" 102 | bind RSHOULDER "impulse 10" 103 | bind LTRIGGER +jump 104 | bind RTRIGGER +attack 105 | 106 | // 107 | // default cvars 108 | // 109 | gamma 0.95 110 | contrast 1.2 111 | volume 0.7 112 | sensitivity 3 113 | 114 | //viewsize 100 115 | viewsize 110 116 | scr_autoscale 117 | 118 | // default to mouse-look enabled 119 | +mlook 120 | -------------------------------------------------------------------------------- /Misc/pak/default.cfg.diff: -------------------------------------------------------------------------------- 1 | --- default.cfg~ 2 | +++ default.cfg 3 | @@ -12,24 +12,26 @@ 4 | bind ALT +strafe 5 | 6 | bind , +moveleft 7 | +bind a +moveleft 8 | bind . +moveright 9 | +bind d +moveright 10 | bind DEL +lookdown 11 | bind PGDN +lookup 12 | bind END centerview 13 | -bind z +lookdown 14 | -bind a +lookup 15 | 16 | -bind d +moveup 17 | +bind e +moveup 18 | bind c +movedown 19 | bind SHIFT +speed 20 | bind CTRL +attack 21 | bind UPARROW +forward 22 | +bind w +forward 23 | bind DOWNARROW +back 24 | +bind s +back 25 | bind LEFTARROW +left 26 | bind RIGHTARROW +right 27 | 28 | bind SPACE +jump 29 | -bind ENTER +jump 30 | +//bind ENTER +jump 31 | 32 | bind TAB +showscores 33 | 34 | @@ -45,6 +47,8 @@ 35 | bind 0 "impulse 0" 36 | 37 | bind / "impulse 10" // change weapon 38 | +bind MWHEELDOWN "impulse 10" 39 | +bind MWHEELUP "impulse 12" 40 | 41 | // zoom 42 | alias zoom_in "sensitivity 2;fov 90;wait;fov 70;wait;fov 50;wait;fov 30;wait;fov 10;wait;fov 5;bind F11 zoom_out" 43 | @@ -85,14 +89,30 @@ 44 | // mouse buttons 45 | // 46 | bind MOUSE1 +attack 47 | -bind MOUSE2 +forward 48 | -bind MOUSE3 +mlook 49 | +//bind MOUSE2 +forward 50 | +bind MOUSE2 +jump 51 | +//bind MOUSE3 +mlook 52 | + 53 | +// 54 | +// game controller 55 | +// 56 | +bind LSHOULDER "impulse 12" 57 | +bind RSHOULDER "impulse 10" 58 | +bind LTRIGGER +jump 59 | +bind RTRIGGER +attack 60 | 61 | // 62 | // default cvars 63 | // 64 | -viewsize 100 65 | gamma 1.0 66 | volume 0.7 67 | sensitivity 3 68 | 69 | +//viewsize 100 70 | +viewsize 110 71 | +scr_conscale 1.6 72 | +scr_menuscale 1.6 73 | +scr_sbarscale 1.6 74 | + 75 | +// default to mouse-look enabled 76 | ++mlook 77 | -------------------------------------------------------------------------------- /Misc/pak/gfx/conback.lmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Misc/pak/gfx/conback.lmp -------------------------------------------------------------------------------- /Misc/pak/gfx/menumods.lmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Misc/pak/gfx/menumods.lmp -------------------------------------------------------------------------------- /Misc/pak/gfx/p_skill.lmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Misc/pak/gfx/p_skill.lmp -------------------------------------------------------------------------------- /Misc/pak/gfx/skillmenu.lmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Misc/pak/gfx/skillmenu.lmp -------------------------------------------------------------------------------- /Misc/pak/gfx/sp_maps.lmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Misc/pak/gfx/sp_maps.lmp -------------------------------------------------------------------------------- /Misc/pak/maps/e1m1.diff: -------------------------------------------------------------------------------- 1 | --- e1m1.ent 2 | +++ e1m1@c49d.ent 3 | @@ -715,14 +715,15 @@ 4 | { 5 | "classname" "func_door" 6 | "targetname" "t4" 7 | "angle" "-2" 8 | "spawnflags" "1" 9 | "sounds" "2" 10 | "model" "*15" 11 | +"lip" "7" // svdijk -- added to prevent z-fighting 12 | } 13 | { 14 | "classname" "trigger_multiple" 15 | "target" "t4" 16 | "health" "1" 17 | "model" "*16" 18 | } 19 | -------------------------------------------------------------------------------- /Misc/pak/maps/e1m2.diff: -------------------------------------------------------------------------------- 1 | --- e1m2.ent 2 | +++ e1m2@0caa.ent 3 | @@ -1567,23 +1567,23 @@ 4 | { 5 | "light" "200" 6 | "origin" "-612 -500 548" 7 | "classname" "light" 8 | } 9 | { 10 | "classname" "func_door" 11 | -"angle" "90" 12 | +"angle" "91" // svdijk -- changed to prevent z-fighting (was "90") 13 | "targetname" "t110" 14 | "wait" "-1" 15 | "model" "*33" 16 | } 17 | { 18 | "sounds" "3" 19 | "classname" "func_door" 20 | -"angle" "270" 21 | +"angle" "269" // svdijk -- changed to prevent z-fighting (was "270") 22 | "wait" "-1" 23 | "model" "*34" 24 | } 25 | { 26 | "classname" "trigger_once" 27 | "target" "t110" 28 | "model" "*35" 29 | -------------------------------------------------------------------------------- /Misc/pak/maps/e1m4.diff: -------------------------------------------------------------------------------- 1 | --- e1m4.ent 2 | +++ e1m4@958e.ent 3 | @@ -2143,12 +2143,13 @@ 4 | { 5 | "classname" "func_door_secret" 6 | "angle" "0" 7 | "spawnflags" "1" 8 | "targetname" "t91" 9 | "model" "*53" 10 | +"t_length" "73" // svdijk -- added to prevent z-fighting 11 | } 12 | { 13 | "classname" "func_button" 14 | "angle" "-2" 15 | "wait" "-1" 16 | "target" "t92" 17 | @@ -2202,12 +2203,13 @@ 18 | { 19 | "spawnflags" "3" 20 | "angle" "0" 21 | "classname" "func_door_secret" 22 | "targetname" "t91" 23 | "model" "*60" 24 | +"t_length" "73" // svdijk -- added to prevent z-fighting 25 | } 26 | { 27 | "light" "150" 28 | "origin" "680 -256 1144" 29 | "classname" "light" 30 | } 31 | -------------------------------------------------------------------------------- /Misc/pak/maps/e2m2.diff: -------------------------------------------------------------------------------- 1 | --- e2m2.ent 2 | +++ e2m2@fbfe.ent 3 | @@ -908,20 +908,21 @@ 4 | { 5 | "classname" "func_door" 6 | "angle" "-2" 7 | "spawnflags" "33" 8 | "speed" "10" 9 | "sounds" "3" 10 | "wait" "-1" 11 | "targetname" "t16" 12 | "dmg" "100" 13 | "model" "*13" 14 | +"lip" "7" // svdijk -- added to prevent z-fighting 15 | } 16 | { 17 | "sounds" "3" 18 | "classname" "func_door" 19 | "angle" "90" 20 | "spawnflags" "2056" 21 | "wait" "-1" 22 | "model" "*14" 23 | } 24 | { 25 | @@ -1423,27 +1424,27 @@ 26 | { 27 | "target" "t39" 28 | "targetname" "t40" 29 | "origin" "-216 280 104" 30 | "classname" "path_corner" 31 | } 32 | { 33 | "target" "t40" 34 | "targetname" "t38" 35 | "classname" "path_corner" 36 | -"origin" "-16 280 104" 37 | +"origin" "-15 280 104" // svdijk -- changed to prevent z-fighting (was "-16 280 104") 38 | } 39 | { 40 | "target" "t38" 41 | "wait" "-1" 42 | "targetname" "t39" 43 | -"origin" "-16 280 104" 44 | +"origin" "-15 280 104" // svdijk -- changed to prevent z-fighting (was "-16 280 104") 45 | "classname" "path_corner" 46 | } 47 | { 48 | "angle" "180" 49 | "origin" "680 1472 24" 50 | "classname" "monster_ogre" 51 | "spawnflags" "256" 52 | } 53 | { 54 | "spawnflags" "256" 55 | -------------------------------------------------------------------------------- /Misc/pak/maps/e2m3.diff: -------------------------------------------------------------------------------- 1 | --- e2m3.ent 2 | +++ e2m3@237a.ent 3 | @@ -1226,21 +1226,23 @@ 4 | { 5 | "classname" "func_door" 6 | "angle" "-2" 7 | "spawnflags" "1" 8 | "targetname" "t11" 9 | "wait" "10" 10 | "model" "*25" 11 | +"lip" "7" // svdijk -- added to prevent z-fighting 12 | } 13 | { 14 | "classname" "func_door_secret" 15 | "angle" "90" 16 | "spawnflags" "8" 17 | "targetname" "t11" 18 | "model" "*26" 19 | +"t_length" "65" // svdijk -- added to prevent z-fighting 20 | } 21 | { 22 | "classname" "light" 23 | "origin" "1248 -288 312" 24 | "light" "150" 25 | } 26 | { 27 | @@ -1907,14 +1909,15 @@ 28 | } 29 | { 30 | "classname" "func_door_secret" 31 | "spawnflags" "2051" 32 | "targetname" "t36" 33 | "angle" "90" 34 | "model" "*37" 35 | +"t_length" "65" // svdijk -- added to prevent z-fighting 36 | } 37 | { 38 | "classname" "light" 39 | "origin" "-1288 640 -80" 40 | "light" "160" 41 | } 42 | { 43 | @@ -1939,14 +1942,15 @@ 44 | } 45 | { 46 | "classname" "func_door_secret" 47 | "targetname" "t36" 48 | "angle" "270" 49 | "spawnflags" "2049" 50 | "model" "*38" 51 | +"t_length" "65" // svdijk -- added to prevent z-fighting 52 | } 53 | { 54 | "classname" "item_armor2" 55 | "origin" "1128 600 -176" 56 | "spawnflags" "1024" 57 | } 58 | { 59 | @@ -2643,14 +2647,15 @@ 60 | } 61 | { 62 | "classname" "func_door_secret" 63 | "angle" "180" 64 | "spawnflags" "2" 65 | "targetname" "t41" 66 | "model" "*66" 67 | +"t_length" "65" // svdijk -- added to prevent z-fighting 68 | } 69 | { 70 | "classname" "trigger_multiple" 71 | "target" "t41" 72 | "model" "*67" 73 | } 74 | { 75 | -------------------------------------------------------------------------------- /Misc/pak/maps/e2m7.diff: -------------------------------------------------------------------------------- 1 | --- e2m7.ent 2 | +++ e2m7@10a8.ent 3 | @@ -1449,18 +1449,19 @@ 4 | { 5 | "targetname" "t119" 6 | "classname" "func_door" 7 | "wait" "-1" 8 | "angle" "-1" 9 | "speed" "30" 10 | "message" "Go for a swim first..." 11 | "sounds" "3" 12 | "model" "*40" 13 | +"origin" "-1 0 0" // svdijk -- added to prevent z-fighting 14 | } 15 | { 16 | "classname" "func_button" 17 | "angle" "0" 18 | "wait" "-1" 19 | "target" "t45" 20 | "model" "*41" 21 | } 22 | { 23 | -------------------------------------------------------------------------------- /Quake/bgmusic.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Background music handling for Quakespasm (adapted from uHexen2) 3 | * Handles streaming music as raw sound samples and runs the midi driver 4 | * 5 | * Copyright (C) 1999-2005 Id Software, Inc. 6 | * Copyright (C) 2010-2012 O.Sezer 7 | * 8 | * This program is free software; you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation; either version 2 of the License, or (at 11 | * your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, but 14 | * WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 16 | * 17 | * See the GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License along 20 | * with this program; if not, write to the Free Software Foundation, Inc., 21 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 22 | * 23 | */ 24 | 25 | #ifndef _BGMUSIC_H_ 26 | #define _BGMUSIC_H_ 27 | 28 | extern qboolean bgmloop; 29 | extern cvar_t bgm_extmusic; 30 | 31 | qboolean BGM_Init (void); 32 | void BGM_Shutdown (void); 33 | 34 | void BGM_Play (const char *filename); 35 | void BGM_Stop (void); 36 | void BGM_Update (void); 37 | void BGM_Pause (void); 38 | void BGM_Resume (void); 39 | 40 | void BGM_PlayCDtrack (byte track, qboolean looping); 41 | 42 | #endif /* _BGMUSIC_H_ */ 43 | 44 | -------------------------------------------------------------------------------- /Quake/build_cross_haiku32-sdl2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Change this script to meet your needs and/or environment. 4 | 5 | TARGET=i586-pc-haiku 6 | 7 | MAKE_CMD=make 8 | 9 | CC="$TARGET-gcc" 10 | AS="$TARGET-as" 11 | RANLIB="$TARGET-ranlib" 12 | AR="$TARGET-ar" 13 | STRIP="$TARGET-strip" 14 | LDFLAGS=-L/usr/lib32 # hack 15 | export CC AS AR RANLIB STRIP LDFLAGS 16 | 17 | exec $MAKE_CMD HOST_OS=haiku USE_SDL2=1 LDFLAGS=$LDFLAGS CC=$CC AS=$AS RANLIB=$RANLIB AR=$AR STRIP=$STRIP -f Makefile $* 18 | -------------------------------------------------------------------------------- /Quake/build_cross_haiku64-sdl2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Change this script to meet your needs and/or environment. 4 | 5 | TARGET=x86_64-unknown-haiku 6 | 7 | MAKE_CMD=make 8 | 9 | CC="$TARGET-gcc" 10 | AS="$TARGET-as" 11 | RANLIB="$TARGET-ranlib" 12 | AR="$TARGET-ar" 13 | STRIP="$TARGET-strip" 14 | export CC AS AR RANLIB STRIP 15 | 16 | exec $MAKE_CMD HOST_OS=haiku USE_SDL2=1 CC=$CC AS=$AS RANLIB=$RANLIB AR=$AR STRIP=$STRIP -f Makefile $* 17 | -------------------------------------------------------------------------------- /Quake/build_cross_win32-sdl2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Change this script to meet your needs and/or environment. 4 | 5 | TARGET=i686-w64-mingw32 6 | PREFIX=/opt/cross_win32 7 | 8 | PATH="$PREFIX/bin:$PATH" 9 | export PATH 10 | 11 | MAKE_CMD=make 12 | 13 | CC="$TARGET-gcc" 14 | AS="$TARGET-as" 15 | RANLIB="$TARGET-ranlib" 16 | AR="$TARGET-ar" 17 | WINDRES="$TARGET-windres" 18 | STRIP="$TARGET-strip" 19 | export PATH CC AS AR RANLIB WINDRES STRIP 20 | 21 | exec $MAKE_CMD USE_SDL2=1 WINSOCK2=1 CC=$CC AS=$AS RANLIB=$RANLIB AR=$AR WINDRES=$WINDRES STRIP=$STRIP -f Makefile.w32 $* 22 | -------------------------------------------------------------------------------- /Quake/build_cross_win32.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Change this script to meet your needs and/or environment. 4 | 5 | #TARGET=i686-w64-mingw32 6 | TARGET=i686-pc-mingw32 7 | #PREFIX=/opt/cross_win32 8 | PREFIX=/usr/local/cross-win32 9 | 10 | PATH="$PREFIX/bin:$PATH" 11 | export PATH 12 | 13 | MAKE_CMD=make 14 | 15 | CC="$TARGET-gcc" 16 | AS="$TARGET-as" 17 | RANLIB="$TARGET-ranlib" 18 | AR="$TARGET-ar" 19 | WINDRES="$TARGET-windres" 20 | STRIP="$TARGET-strip" 21 | export PATH CC AS AR RANLIB WINDRES STRIP 22 | 23 | exec $MAKE_CMD CC=$CC AS=$AS RANLIB=$RANLIB AR=$AR WINDRES=$WINDRES STRIP=$STRIP -f Makefile.w32 $* 24 | -------------------------------------------------------------------------------- /Quake/build_cross_win64-sdl2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Change this script to meet your needs and/or environment. 4 | 5 | TARGET=x86_64-w64-mingw32 6 | PREFIX=/opt/cross_win64 7 | 8 | PATH="$PREFIX/bin:$PATH" 9 | export PATH 10 | 11 | MAKE_CMD=make 12 | 13 | CC="$TARGET-gcc" 14 | AS="$TARGET-as" 15 | RANLIB="$TARGET-ranlib" 16 | AR="$TARGET-ar" 17 | WINDRES="$TARGET-windres" 18 | STRIP="$TARGET-strip" 19 | export PATH CC AS AR RANLIB WINDRES STRIP 20 | 21 | exec $MAKE_CMD USE_SDL2=1 CC=$CC AS=$AS RANLIB=$RANLIB AR=$AR WINDRES=$WINDRES STRIP=$STRIP -f Makefile.w64 $* 22 | -------------------------------------------------------------------------------- /Quake/build_cross_win64.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Change this script to meet your needs and/or environment. 4 | 5 | TARGET=x86_64-w64-mingw32 6 | PREFIX=/opt/cross_win64 7 | 8 | PATH="$PREFIX/bin:$PATH" 9 | export PATH 10 | 11 | MAKE_CMD=make 12 | 13 | CC="$TARGET-gcc" 14 | AS="$TARGET-as" 15 | RANLIB="$TARGET-ranlib" 16 | AR="$TARGET-ar" 17 | WINDRES="$TARGET-windres" 18 | STRIP="$TARGET-strip" 19 | export PATH CC AS AR RANLIB WINDRES STRIP 20 | 21 | exec $MAKE_CMD CC=$CC AS=$AS RANLIB=$RANLIB AR=$AR WINDRES=$WINDRES STRIP=$STRIP -f Makefile.w64 $* 22 | -------------------------------------------------------------------------------- /Quake/cd_null.c: -------------------------------------------------------------------------------- 1 | /* 2 | * cd_null.c 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or (at 7 | * your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, but 10 | * WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * 13 | * See the GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 18 | */ 19 | 20 | 21 | #include "quakedef.h" 22 | 23 | int CDAudio_Play(byte track, qboolean looping) 24 | { 25 | return -1; 26 | } 27 | 28 | void CDAudio_Stop(void) 29 | { 30 | } 31 | 32 | void CDAudio_Pause(void) 33 | { 34 | } 35 | 36 | void CDAudio_Resume(void) 37 | { 38 | } 39 | 40 | void CDAudio_Update(void) 41 | { 42 | } 43 | 44 | int CDAudio_Init(void) 45 | { 46 | return -1; 47 | } 48 | 49 | void CDAudio_Shutdown(void) 50 | { 51 | } 52 | 53 | -------------------------------------------------------------------------------- /Quake/cdaudio.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 1996-2001 Id Software, Inc. 3 | Copyright (C) 2010-2014 QuakeSpasm developers 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. 13 | 14 | See the GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program; if not, write to the Free Software 18 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 19 | 20 | */ 21 | 22 | #ifndef __CDAUDIO_H 23 | #define __CDAUDIO_H 24 | 25 | int CDAudio_Init (void); 26 | int CDAudio_Play (byte track, qboolean looping); 27 | /* returns 0 for success, -1 for failure. */ 28 | void CDAudio_Stop (void); 29 | void CDAudio_Pause (void); 30 | void CDAudio_Resume (void); 31 | void CDAudio_Shutdown (void); 32 | void CDAudio_Update (void); 33 | 34 | #endif /* __CDAUDIO_H */ 35 | 36 | -------------------------------------------------------------------------------- /Quake/cfgfile.h: -------------------------------------------------------------------------------- 1 | /* 2 | * cfgfile.h -- misc reads from the config file 3 | * 4 | * Copyright (C) 2008-2012 O.Sezer 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or (at 9 | * your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, but 12 | * WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * 15 | * See the GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License along 18 | * with this program; if not, write to the Free Software Foundation, Inc., 19 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef __CFGFILE_H 23 | #define __CFGFILE_H 24 | 25 | int CFG_OpenConfig (const char *cfg_name); 26 | // opens the given config file. only one open config file is 27 | // kept: previosly opened one, if any, will be closed. 28 | 29 | void CFG_CloseConfig (void); 30 | // closes the currently open config file. 31 | 32 | void CFG_ReadCvars (const char **vars, int num_vars); 33 | // reads the values of cvars in the given list from the opened 34 | // config file. 35 | 36 | void CFG_ReadCvarOverrides (const char **vars, int num_vars); 37 | // convenience function, reading the "+" command line override 38 | // values of cvars in the given list. doesn't do anything with 39 | // the config file. call this after CFG_ReadCvars() and before 40 | // locking your cvars. 41 | 42 | #endif /* __CFGFILE_H */ 43 | -------------------------------------------------------------------------------- /Quake/console.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 1996-2001 Id Software, Inc. 3 | Copyright (C) 2002-2009 John Fitzgibbons and others 4 | Copyright (C) 2010-2014 QuakeSpasm developers 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. 14 | 15 | See the GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with this program; if not, write to the Free Software 19 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 20 | 21 | */ 22 | 23 | #ifndef __CONSOLE_H 24 | #define __CONSOLE_H 25 | 26 | // 27 | // console 28 | // 29 | extern int con_totallines; 30 | extern int con_backscroll; 31 | extern qboolean con_forcedup; // because no entities to refresh 32 | extern qboolean con_initialized; 33 | extern byte *con_chars; 34 | 35 | extern char con_lastcenterstring[]; //johnfitz 36 | 37 | void Con_CheckResize (void); 38 | void Con_Scroll (int lines); 39 | void Con_Init (void); 40 | void Con_DrawConsole (int lines, qboolean drawbg, qboolean drawinput); 41 | void Con_Printf (const char *fmt, ...) FUNC_PRINTF(1,2); 42 | void Con_DWarning (const char *fmt, ...) FUNC_PRINTF(1,2); //ericw 43 | void Con_Warning (const char *fmt, ...) FUNC_PRINTF(1,2); //johnfitz 44 | void Con_DPrintf (const char *fmt, ...) FUNC_PRINTF(1,2); 45 | void Con_DPrintf2 (const char *fmt, ...) FUNC_PRINTF(1,2); //johnfitz 46 | void Con_LinkPrintf (const char *addr, const char *fmt, ...) FUNC_PRINTF(2,3); 47 | void Con_SafePrintf (const char *fmt, ...) FUNC_PRINTF(1,2); 48 | void Con_DrawNotify (void); 49 | void Con_ClearNotify (void); 50 | void Con_ToggleConsole_f (void); 51 | 52 | void Con_NotifyBox (const char *text); // during startup for sound / cd warnings 53 | 54 | typedef enum { 55 | TABCOMPLETE_AUTOHINT, 56 | TABCOMPLETE_USER, 57 | } tabcomplete_t; 58 | 59 | const char *Con_Quakebar (int len); 60 | void Con_TabComplete (tabcomplete_t mode); 61 | void Con_AddToTabList (const char *name, const char *partial, const char *type); 62 | qboolean Con_Match (const char *str, const char *partial); 63 | void Con_LogCenterPrint (const char *str); 64 | 65 | void Con_Mousemove (int x, int y); 66 | void Con_ForceMouseMove (void); 67 | void Con_SelectAll (void); 68 | qboolean Con_CopySelectionToClipboard (void); 69 | 70 | // 71 | // debuglog 72 | // 73 | void LOG_Init (quakeparms_t *parms); 74 | void LOG_Close (void); 75 | void Con_DebugLog (const char *msg); 76 | 77 | #endif /* __CONSOLE_H */ 78 | 79 | -------------------------------------------------------------------------------- /Quake/crc.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 1996-2001 Id Software, Inc. 3 | Copyright (C) 2002-2009 John Fitzgibbons and others 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. 13 | 14 | See the GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program; if not, write to the Free Software 18 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 19 | 20 | */ 21 | 22 | #ifndef _QUAKE_CRC_H 23 | #define _QUAKE_CRC_H 24 | 25 | /* crc.h */ 26 | 27 | unsigned short CRC_Block (const void *start, int count); //johnfitz -- texture crc 28 | 29 | #endif /* _QUAKE_CRC_H */ 30 | 31 | -------------------------------------------------------------------------------- /Quake/default_cfg.h: -------------------------------------------------------------------------------- 1 | // keep in sync with Misc/qs_pak/default.cfg 2 | 3 | static const char default_cfg[] = 4 | "unbindall\n" 5 | 6 | "bind ALT +strafe\n" 7 | 8 | "bind , +moveleft\n" 9 | "bind a +moveleft\n" 10 | "bind . +moveright\n" 11 | "bind d +moveright\n" 12 | "bind DEL +lookdown\n" 13 | "bind PGDN +lookup\n" 14 | "bind END centerview\n" 15 | 16 | "bind e +moveup\n" 17 | "bind c +movedown\n" 18 | "bind SHIFT +speed\n" 19 | "bind CTRL +attack\n" 20 | "bind UPARROW +forward\n" 21 | "bind w +forward\n" 22 | "bind DOWNARROW +back\n" 23 | "bind s +back\n" 24 | "bind LEFTARROW +left\n" 25 | "bind RIGHTARROW +right\n" 26 | 27 | "bind SPACE +jump\n" 28 | 29 | "bind TAB +showscores\n" 30 | 31 | "bind 1 \"impulse 1\"\n" 32 | "bind 2 \"impulse 2\"\n" 33 | "bind 3 \"impulse 3\"\n" 34 | "bind 4 \"impulse 4\"\n" 35 | "bind 5 \"impulse 5\"\n" 36 | "bind 6 \"impulse 6\"\n" 37 | "bind 7 \"impulse 7\"\n" 38 | "bind 8 \"impulse 8\"\n" 39 | 40 | "bind 0 \"impulse 0\"\n" 41 | 42 | "bind / \"impulse 10\"\n" 43 | "bind MWHEELDOWN \"impulse 10\"\n" 44 | "bind MWHEELUP \"impulse 12\"\n" 45 | 46 | "alias zoom_in \"togglezoom\"\n" 47 | "alias zoom_out \"togglezoom\"\n" 48 | "bind F11 zoom_in\n" 49 | 50 | "bind F1 \"help\"\n" 51 | "bind F2 \"menu_save\"\n" 52 | "bind F3 \"menu_load\"\n" 53 | "bind F4 \"menu_options\"\n" 54 | "bind F5 \"menu_multiplayer\"\n" 55 | "bind F6 \"echo Quicksaving...; wait; save quick\"\n" 56 | "bind F9 \"echo Quickloading...; wait; load quick\"\n" 57 | "bind F10 \"quit\"\n" 58 | "bind F12 \"screenshot\"\n" 59 | 60 | "bind PRINTSCREEN \"screenshot\"\n" 61 | 62 | "bind \\ +mlook\n" 63 | 64 | "bind PAUSE \"pause\"\n" 65 | "bind ESCAPE \"togglemenu\"\n" 66 | "bind ~ \"toggleconsole\"\n" 67 | "bind ` \"toggleconsole\"\n" 68 | 69 | "bind t \"messagemode\"\n" 70 | 71 | "bind + \"sizeup\"\n" 72 | "bind = \"sizeup\"\n" 73 | "bind - \"sizedown\"\n" 74 | 75 | "bind INS +klook\n" 76 | 77 | "bind MOUSE1 +attack\n" 78 | "bind MOUSE2 +jump\n" 79 | 80 | "bind LSHOULDER \"impulse 12\"\n" 81 | "bind RSHOULDER \"impulse 10\"\n" 82 | "bind LTRIGGER +jump\n" 83 | "bind RTRIGGER +attack\n" 84 | 85 | "gamma 0.95\n" 86 | "contrast 1.2\n" 87 | "volume 0.7\n" 88 | "sensitivity 3\n" 89 | 90 | "viewsize 110\n" 91 | "scr_autoscale\n" 92 | 93 | "+mlook\n"; 94 | -------------------------------------------------------------------------------- /Quake/detect.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | # script from loki_setup tools 4 | 5 | DetectARCH() 6 | { 7 | status=1 8 | case `uname -m` in 9 | amd64 | x86_64) 10 | echo "x86_64" 11 | status=0;; 12 | i?86 | i86*) 13 | echo "x86" 14 | status=0;; 15 | 90*/*) 16 | echo "hppa" 17 | status=0;; 18 | *) 19 | case `uname -s` in 20 | IRIX*) 21 | echo "mips" 22 | status=0;; 23 | AIX*) 24 | echo "ppc" 25 | status=0;; 26 | *) 27 | arch=`uname -p 2> /dev/null || uname -m` 28 | if test "$arch" = powerpc; then 29 | echo "ppc" 30 | else 31 | echo $arch 32 | fi 33 | status=0;; 34 | esac 35 | esac 36 | return $status 37 | } 38 | 39 | DetectOS() 40 | { 41 | os=`uname -s` 42 | if test "$os" = "OpenUNIX"; then 43 | echo SCO_SV 44 | else 45 | echo $os 46 | fi 47 | return 0 48 | } 49 | 50 | if test "$1" = "os"; then 51 | result=`DetectOS` 52 | elif test "$1" = "arch"; then 53 | result=`DetectARCH` 54 | else 55 | result="OS: `DetectOS`, Arch: `DetectARCH`" 56 | fi 57 | 58 | status="$?" 59 | echo $result 60 | 61 | exit $status 62 | 63 | -------------------------------------------------------------------------------- /Quake/draw.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 1996-2001 Id Software, Inc. 3 | Copyright (C) 2002-2009 John Fitzgibbons and others 4 | Copyright (C) 2010-2014 QuakeSpasm developers 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. 14 | 15 | See the GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with this program; if not, write to the Free Software 19 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 20 | 21 | */ 22 | 23 | #ifndef _QUAKE_DRAW_H 24 | #define _QUAKE_DRAW_H 25 | 26 | // draw.h -- these are the only functions outside the refresh allowed 27 | // to touch the vid buffer 28 | 29 | extern qpic_t *draw_disc; // also used on sbar 30 | extern qboolean custom_conchars; 31 | 32 | extern const vec3_t rgb_black; 33 | extern const vec3_t rgb_white; 34 | 35 | #define CHARSIZE 8 36 | 37 | void Draw_Init (void); 38 | void Draw_Character (int x, int y, int num); 39 | void Draw_CharacterEx (float x, float y, float dimx, float dimy, int num); 40 | void Draw_Pic (int x, int y, qpic_t *pic); 41 | void Draw_SubPic (float x, float y, float w, float h, qpic_t *pic, float s1, float t1, float s2, float t2, const float *rgb, float alpha); 42 | void Draw_TransPicTranslate (int x, int y, qpic_t *pic, int top, int bottom); //johnfitz -- more parameters 43 | void Draw_ConsoleBackground (void); //johnfitz -- removed parameter int lines 44 | void Draw_TileClear (int x, int y, int w, int h); 45 | void Draw_Fill (int x, int y, int w, int h, int c, float alpha); //johnfitz -- added alpha 46 | void Draw_FillEx (float x, float y, float w, float h, const float *rgb, float alpha); 47 | void Draw_PartialFadeScreen (float x0, float x1, float y0, float y1, float alpha); 48 | void Draw_FadeScreen (float alpha); 49 | void Draw_String (int x, int y, const char *str); 50 | void Draw_StringEx (float x, float y, float dim, const char *str); 51 | qpic_t *Draw_PicFromWad2 (const char *name, unsigned int texflags); 52 | qpic_t *Draw_PicFromWad (const char *name); 53 | qpic_t *Draw_CachePic (const char *path); 54 | qpic_t *Draw_TryCachePic (const char *path, unsigned int texflags); 55 | void Draw_Flush (void); 56 | void Draw_NewGame (void); 57 | 58 | void Draw_SetClipRect (float x, float y, float width, float height); 59 | void Draw_ResetClipping (void); 60 | 61 | void Draw_GetCanvasTransform (canvastype canvas, drawtransform_t *transform); 62 | void Draw_GetTransformBounds (const drawtransform_t *transform, float *left, float *top, float *right, float *bottom); 63 | 64 | void GL_SetCanvas (canvastype newcanvas); //johnfitz 65 | void GL_SetCanvasColor (float r, float g, float b, float a); 66 | void GL_PushCanvasColor (float r, float g, float b, float a); 67 | void GL_PopCanvasColor (void); 68 | 69 | #endif /* _QUAKE_DRAW_H */ 70 | 71 | -------------------------------------------------------------------------------- /Quake/gl_warp.c: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 1996-2001 Id Software, Inc. 3 | Copyright (C) 2002-2009 John Fitzgibbons and others 4 | Copyright (C) 2010-2014 QuakeSpasm developers 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. 14 | 15 | See the GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with this program; if not, write to the Free Software 19 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 20 | */ 21 | //gl_warp.c -- warping animation support 22 | 23 | #include "quakedef.h" 24 | 25 | cvar_t r_waterwarp = {"r_waterwarp", "1", CVAR_ARCHIVE}; 26 | -------------------------------------------------------------------------------- /Quake/image.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 1996-2001 Id Software, Inc. 3 | Copyright (C) 2002-2009 John Fitzgibbons and others 4 | Copyright (C) 2010-2014 QuakeSpasm developers 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. 14 | 15 | See the GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with this program; if not, write to the Free Software 19 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 20 | 21 | */ 22 | 23 | #ifndef GL_IMAGE_H 24 | #define GL_IMAGE_H 25 | 26 | //image.h -- image reading / writing 27 | enum srcformat; 28 | 29 | //be sure to free the hunk after using this loading function 30 | byte *Image_LoadImage (const char *name, int *width, int *height, enum srcformat *fmt); 31 | 32 | byte* Image_CopyFlipped (const void *src, int width, int height, int bpp); 33 | 34 | qboolean Image_WriteTGA (const char *name, byte *data, int width, int height, int bpp, qboolean upsidedown); 35 | qboolean Image_WritePNG (const char *name, byte *data, int width, int height, int bpp, qboolean upsidedown); 36 | qboolean Image_WriteJPG (const char *name, byte *data, int width, int height, int bpp, int quality, qboolean upsidedown); 37 | 38 | #endif /* GL_IMAGE_H */ 39 | 40 | -------------------------------------------------------------------------------- /Quake/input.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 1996-2001 Id Software, Inc. 3 | Copyright (C) 2010-2014 QuakeSpasm developers 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. 13 | 14 | See the GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program; if not, write to the Free Software 18 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 19 | 20 | */ 21 | 22 | #ifndef QUAKE_INPUT_H 23 | #define QUAKE_INPUT_H 24 | 25 | // input.h -- external (non-keyboard) input devices 26 | 27 | void IN_Init (void); 28 | 29 | void IN_Shutdown (void); 30 | 31 | void IN_Commands (void); 32 | // oportunity for devices to stick commands on the script buffer 33 | 34 | // mouse moved by dx and dy pixels 35 | void IN_MouseMotion(int dx, int dy); 36 | 37 | // 38 | // controller gyro 39 | // 40 | typedef enum gyromode_t 41 | { 42 | GYRO_BUTTON_IGNORED, 43 | GYRO_BUTTON_ENABLES, 44 | GYRO_BUTTON_DISABLES, 45 | GYRO_BUTTON_INVERTS_DIR, 46 | 47 | GYRO_MODE_COUNT, 48 | } gyromode_t; 49 | 50 | qboolean IN_HasGyro (void); 51 | float IN_GetRawGyroMagnitude (void); 52 | void IN_StartGyroCalibration (void); 53 | qboolean IN_IsCalibratingGyro (void); 54 | float IN_GetGyroCalibrationProgress (void); 55 | 56 | float IN_GetRawLookMagnitude (void); 57 | float IN_GetRawMoveMagnitude (void); 58 | float IN_GetRawTriggerMagnitude (void); 59 | 60 | typedef enum gamepadtype_t 61 | { 62 | GAMEPAD_NONE, 63 | GAMEPAD_XBOX, 64 | GAMEPAD_PLAYSTATION, 65 | GAMEPAD_NINTENDO, 66 | } gamepadtype_t; 67 | 68 | qboolean IN_HasRumble (void); 69 | qboolean IN_HasGamepad (void); 70 | const char *IN_GetGamepadName (void); 71 | gamepadtype_t IN_GetGamepadType (void); 72 | void IN_UseNextGamepad (int dir, qboolean allow_disable); 73 | 74 | void IN_SendKeyEvents (void); 75 | // used as a callback for Sys_SendKeyEvents() by some drivers 76 | 77 | void IN_UpdateInputMode (void); 78 | // do stuff if input mode (text/non-text) changes matter to the keyboard driver 79 | 80 | qboolean IN_EmulatedCharEvents (void); 81 | 82 | enum keydevice_t IN_GetLastActiveDeviceType (void); 83 | 84 | void IN_Move (usercmd_t *cmd); 85 | // add additional movement on top of the keyboard move cmd 86 | 87 | void IN_ClearStates (void); 88 | // restores all button and position states to defaults 89 | 90 | // called when the app becomes active 91 | void IN_Activate (void); 92 | 93 | // called when the app becomes inactive 94 | void IN_Deactivate (qboolean free_cursor); 95 | void IN_DeactivateForConsole (void); 96 | void IN_DeactivateForMenu (void); 97 | 98 | #endif 99 | -------------------------------------------------------------------------------- /Quake/ironwail.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Quake/ironwail.pak -------------------------------------------------------------------------------- /Quake/json.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This program is free software; you can redistribute it and/or 4 | modify it under the terms of the GNU General Public License 5 | as published by the Free Software Foundation; either version 2 6 | of the License, or (at your option) any later version. 7 | 8 | This program is distributed in the hope that it will be useful, 9 | but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 11 | 12 | See the GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with this program; if not, write to the Free Software 16 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 | 18 | */ 19 | 20 | #ifndef _JSON_H_ 21 | #define _JSON_H_ 22 | 23 | typedef enum jsontype_t 24 | { 25 | JSON_INVALID, 26 | JSON_OBJECT, 27 | JSON_ARRAY, 28 | JSON_STRING, 29 | JSON_NUMBER, 30 | JSON_BOOLEAN, 31 | JSON_NULL, 32 | } jsontype_t; 33 | 34 | typedef struct jsonentry_s jsonentry_t; 35 | 36 | struct jsonentry_s 37 | { 38 | union 39 | { 40 | const char *string; 41 | double number; 42 | qboolean boolean; 43 | }; 44 | jsontype_t type; 45 | jsonentry_t *parent; 46 | jsonentry_t *firstchild; 47 | jsonentry_t *lastchild; 48 | jsonentry_t *next; 49 | }; 50 | 51 | typedef struct json_s 52 | { 53 | int numentries; 54 | jsonentry_t *root; 55 | const char *strings; 56 | } json_t; 57 | 58 | 59 | json_t *JSON_Parse (const char *text); 60 | void JSON_Free (json_t *json); 61 | const jsonentry_t *JSON_Find (const jsonentry_t *entry, const char *name, jsontype_t type); 62 | const char *JSON_FindString (const jsonentry_t *entry, const char *name); 63 | const double *JSON_FindNumber (const jsonentry_t *entry, const char *name); 64 | const qboolean *JSON_FindBoolean (const jsonentry_t *entry, const char *name); 65 | 66 | #endif /* _JSON_H_ */ 67 | -------------------------------------------------------------------------------- /Quake/menu.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 1996-2001 Id Software, Inc. 3 | Copyright (C) 2002-2009 John Fitzgibbons and others 4 | Copyright (C) 2010-2014 QuakeSpasm developers 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. 14 | 15 | See the GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with this program; if not, write to the Free Software 19 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 20 | 21 | */ 22 | 23 | #ifndef _QUAKE_MENU_H 24 | #define _QUAKE_MENU_H 25 | 26 | enum m_state_e { 27 | m_none, 28 | m_main, 29 | m_singleplayer, 30 | m_load, 31 | m_save, 32 | m_maps, 33 | m_skill, 34 | m_multiplayer, 35 | m_setup, 36 | m_net, 37 | m_options, 38 | m_video, 39 | m_graphics, 40 | m_interface, 41 | m_game, 42 | m_keys, 43 | m_calibration, 44 | m_gamepad, 45 | m_mods, 46 | m_modinfo, 47 | m_help, 48 | m_quit, 49 | m_lanconfig, 50 | m_gameoptions, 51 | m_search, 52 | m_slist 53 | }; 54 | 55 | extern enum m_state_e m_state; 56 | extern enum m_state_e m_return_state; 57 | 58 | extern qboolean m_entersound; 59 | 60 | // 61 | // menus 62 | // 63 | void M_Init (void); 64 | void M_Keydown (int key); 65 | void M_Charinput (int key); 66 | void M_Mousemove (int x, int y); 67 | enum textmode_t M_TextEntry (void); 68 | qboolean M_WaitingForKeyBinding (void); 69 | qboolean M_WantsConsole (float *alpha); 70 | qboolean M_ForcedCenterPrint (float *alpha); 71 | qboolean M_ForcedUnderwater (void); 72 | void M_ToggleMenu_f (void); 73 | 74 | void M_RefreshMods (void); 75 | void M_OnModInstall (const char *name); 76 | 77 | void M_Menu_Main_f (void); 78 | void M_Menu_Options_f (void); 79 | void M_Menu_Quit_f (void); 80 | 81 | void M_Print (int cx, int cy, const char *str); 82 | void M_PrintWhite (int cx, int cy, const char *str); 83 | 84 | void M_Draw (void); 85 | void M_DrawCharacter (int cx, int line, int num); 86 | 87 | void M_DrawPic (int x, int y, qpic_t *pic); 88 | void M_DrawSubpic (int x, int y, qpic_t *pic, int left, int top, int width, int height); 89 | void M_DrawTransPic (int x, int y, qpic_t *pic); 90 | void M_DrawCheckbox (int x, int y, float value); 91 | void M_DrawTextBox (int x, int y, int width, int lines); 92 | 93 | #endif /* _QUAKE_MENU_H */ 94 | 95 | -------------------------------------------------------------------------------- /Quake/net_bsd.c: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 1996-1997 Id Software, Inc. 3 | Copyright (C) 2010-2014 QuakeSpasm developers 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. 13 | 14 | See the GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program; if not, write to the Free Software 18 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 19 | 20 | */ 21 | 22 | #include "q_stdinc.h" 23 | #include "arch_def.h" 24 | #include "net_sys.h" 25 | #include "quakedef.h" 26 | #include "net_defs.h" 27 | 28 | #include "net_dgrm.h" 29 | #include "net_loop.h" 30 | 31 | net_driver_t net_drivers[] = 32 | { 33 | { "Loopback", 34 | false, 35 | Loop_Init, 36 | Loop_Listen, 37 | Loop_SearchForHosts, 38 | Loop_Connect, 39 | Loop_CheckNewConnections, 40 | Loop_GetMessage, 41 | Loop_SendMessage, 42 | Loop_SendUnreliableMessage, 43 | Loop_CanSendMessage, 44 | Loop_CanSendUnreliableMessage, 45 | Loop_Close, 46 | Loop_Shutdown 47 | }, 48 | 49 | { "Datagram", 50 | false, 51 | Datagram_Init, 52 | Datagram_Listen, 53 | Datagram_SearchForHosts, 54 | Datagram_Connect, 55 | Datagram_CheckNewConnections, 56 | Datagram_GetMessage, 57 | Datagram_SendMessage, 58 | Datagram_SendUnreliableMessage, 59 | Datagram_CanSendMessage, 60 | Datagram_CanSendUnreliableMessage, 61 | Datagram_Close, 62 | Datagram_Shutdown 63 | } 64 | }; 65 | 66 | const int net_numdrivers = Q_COUNTOF(net_drivers); 67 | 68 | #include "net_udp.h" 69 | 70 | net_landriver_t net_landrivers[] = 71 | { 72 | { "UDP", 73 | false, 74 | 0, 75 | UDP_Init, 76 | UDP_Shutdown, 77 | UDP_Listen, 78 | UDP_OpenSocket, 79 | UDP_CloseSocket, 80 | UDP_Connect, 81 | UDP_CheckNewConnections, 82 | UDP_Read, 83 | UDP_Write, 84 | UDP_Broadcast, 85 | UDP_AddrToString, 86 | UDP_StringToAddr, 87 | UDP_GetSocketAddr, 88 | UDP_GetNameFromAddr, 89 | UDP_GetAddrFromName, 90 | UDP_AddrCompare, 91 | UDP_GetSocketPort, 92 | UDP_SetSocketPort 93 | } 94 | }; 95 | 96 | const int net_numlandrivers = Q_COUNTOF(net_landrivers); 97 | -------------------------------------------------------------------------------- /Quake/net_dgrm.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 1996-2001 Id Software, Inc. 3 | Copyright (C) 2010-2014 QuakeSpasm developers 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. 13 | 14 | See the GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program; if not, write to the Free Software 18 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 19 | 20 | */ 21 | 22 | #ifndef __NET_DATAGRAM_H 23 | #define __NET_DATAGRAM_H 24 | 25 | int Datagram_Init (void); 26 | void Datagram_Listen (qboolean state); 27 | void Datagram_SearchForHosts (qboolean xmit); 28 | qsocket_t *Datagram_Connect (const char *host); 29 | qsocket_t *Datagram_CheckNewConnections (void); 30 | int Datagram_GetMessage (qsocket_t *sock); 31 | int Datagram_SendMessage (qsocket_t *sock, sizebuf_t *data); 32 | int Datagram_SendUnreliableMessage (qsocket_t *sock, sizebuf_t *data); 33 | qboolean Datagram_CanSendMessage (qsocket_t *sock); 34 | qboolean Datagram_CanSendUnreliableMessage (qsocket_t *sock); 35 | void Datagram_Close (qsocket_t *sock); 36 | void Datagram_Shutdown (void); 37 | 38 | #endif /* __NET_DATAGRAM_H */ 39 | 40 | -------------------------------------------------------------------------------- /Quake/net_loop.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 1996-2001 Id Software, Inc. 3 | Copyright (C) 2010-2014 QuakeSpasm developers 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. 13 | 14 | See the GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program; if not, write to the Free Software 18 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 19 | 20 | */ 21 | 22 | #ifndef __NET_LOOP_H 23 | #define __NET_LOOP_H 24 | 25 | // net_loop.h 26 | int Loop_Init (void); 27 | void Loop_Listen (qboolean state); 28 | void Loop_SearchForHosts (qboolean xmit); 29 | qsocket_t *Loop_Connect (const char *host); 30 | qsocket_t *Loop_CheckNewConnections (void); 31 | int Loop_GetMessage (qsocket_t *sock); 32 | int Loop_SendMessage (qsocket_t *sock, sizebuf_t *data); 33 | int Loop_SendUnreliableMessage (qsocket_t *sock, sizebuf_t *data); 34 | qboolean Loop_CanSendMessage (qsocket_t *sock); 35 | qboolean Loop_CanSendUnreliableMessage (qsocket_t *sock); 36 | void Loop_Close (qsocket_t *sock); 37 | void Loop_Shutdown (void); 38 | 39 | #endif /* __NET_LOOP_H */ 40 | 41 | -------------------------------------------------------------------------------- /Quake/net_udp.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 1996-1997 Id Software, Inc. 3 | Copyright (C) 2010-2014 QuakeSpasm developers 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. 13 | 14 | See the GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program; if not, write to the Free Software 18 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 19 | 20 | */ 21 | 22 | #ifndef __net_udp_h 23 | #define __net_udp_h 24 | 25 | sys_socket_t UDP_Init (void); 26 | void UDP_Shutdown (void); 27 | void UDP_Listen (qboolean state); 28 | sys_socket_t UDP_OpenSocket (int port); 29 | int UDP_CloseSocket (sys_socket_t socketid); 30 | int UDP_Connect (sys_socket_t socketid, struct qsockaddr *addr); 31 | sys_socket_t UDP_CheckNewConnections (void); 32 | int UDP_Read (sys_socket_t socketid, byte *buf, int len, struct qsockaddr *addr); 33 | int UDP_Write (sys_socket_t socketid, byte *buf, int len, struct qsockaddr *addr); 34 | int UDP_Broadcast (sys_socket_t socketid, byte *buf, int len); 35 | const char *UDP_AddrToString (struct qsockaddr *addr); 36 | int UDP_StringToAddr (const char *string, struct qsockaddr *addr); 37 | int UDP_GetSocketAddr (sys_socket_t socketid, struct qsockaddr *addr); 38 | int UDP_GetNameFromAddr (struct qsockaddr *addr, char *name); 39 | int UDP_GetAddrFromName (const char *name, struct qsockaddr *addr); 40 | int UDP_AddrCompare (struct qsockaddr *addr1, struct qsockaddr *addr2); 41 | int UDP_GetSocketPort (struct qsockaddr *addr); 42 | int UDP_SetSocketPort (struct qsockaddr *addr, int port); 43 | 44 | #endif /* __net_udp_h */ 45 | 46 | -------------------------------------------------------------------------------- /Quake/net_win.c: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 1996-2001 Id Software, Inc. 3 | Copyright (C) 2010-2014 QuakeSpasm developers 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. 13 | 14 | See the GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program; if not, write to the Free Software 18 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 19 | 20 | */ 21 | 22 | #include "quakedef.h" 23 | #include "q_stdinc.h" 24 | #include "arch_def.h" 25 | #include "net_sys.h" 26 | #include "net_defs.h" 27 | 28 | #include "net_dgrm.h" 29 | #include "net_loop.h" 30 | 31 | net_driver_t net_drivers[] = 32 | { 33 | { "Loopback", 34 | false, 35 | Loop_Init, 36 | Loop_Listen, 37 | Loop_SearchForHosts, 38 | Loop_Connect, 39 | Loop_CheckNewConnections, 40 | Loop_GetMessage, 41 | Loop_SendMessage, 42 | Loop_SendUnreliableMessage, 43 | Loop_CanSendMessage, 44 | Loop_CanSendUnreliableMessage, 45 | Loop_Close, 46 | Loop_Shutdown 47 | }, 48 | 49 | { "Datagram", 50 | false, 51 | Datagram_Init, 52 | Datagram_Listen, 53 | Datagram_SearchForHosts, 54 | Datagram_Connect, 55 | Datagram_CheckNewConnections, 56 | Datagram_GetMessage, 57 | Datagram_SendMessage, 58 | Datagram_SendUnreliableMessage, 59 | Datagram_CanSendMessage, 60 | Datagram_CanSendUnreliableMessage, 61 | Datagram_Close, 62 | Datagram_Shutdown 63 | } 64 | }; 65 | 66 | const int net_numdrivers = Q_COUNTOF(net_drivers); 67 | 68 | 69 | #include "net_wins.h" 70 | #include "net_wipx.h" 71 | 72 | net_landriver_t net_landrivers[] = 73 | { 74 | { "Winsock TCPIP", 75 | false, 76 | 0, 77 | WINS_Init, 78 | WINS_Shutdown, 79 | WINS_Listen, 80 | WINS_OpenSocket, 81 | WINS_CloseSocket, 82 | WINS_Connect, 83 | WINS_CheckNewConnections, 84 | WINS_Read, 85 | WINS_Write, 86 | WINS_Broadcast, 87 | WINS_AddrToString, 88 | WINS_StringToAddr, 89 | WINS_GetSocketAddr, 90 | WINS_GetNameFromAddr, 91 | WINS_GetAddrFromName, 92 | WINS_AddrCompare, 93 | WINS_GetSocketPort, 94 | WINS_SetSocketPort 95 | }, 96 | 97 | { "Winsock IPX", 98 | false, 99 | 0, 100 | WIPX_Init, 101 | WIPX_Shutdown, 102 | WIPX_Listen, 103 | WIPX_OpenSocket, 104 | WIPX_CloseSocket, 105 | WIPX_Connect, 106 | WIPX_CheckNewConnections, 107 | WIPX_Read, 108 | WIPX_Write, 109 | WIPX_Broadcast, 110 | WIPX_AddrToString, 111 | WIPX_StringToAddr, 112 | WIPX_GetSocketAddr, 113 | WIPX_GetNameFromAddr, 114 | WIPX_GetAddrFromName, 115 | WIPX_AddrCompare, 116 | WIPX_GetSocketPort, 117 | WIPX_SetSocketPort 118 | } 119 | }; 120 | 121 | const int net_numlandrivers = Q_COUNTOF(net_landrivers); 122 | -------------------------------------------------------------------------------- /Quake/net_wins.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 1996-2001 Id Software, Inc. 3 | Copyright (C) 2010-2014 QuakeSpasm developers 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. 13 | 14 | See the GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program; if not, write to the Free Software 18 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 19 | 20 | */ 21 | 22 | #ifndef __NET_WINSOCK_H 23 | #define __NET_WINSOCK_H 24 | 25 | sys_socket_t WINS_Init (void); 26 | void WINS_Shutdown (void); 27 | void WINS_Listen (qboolean state); 28 | sys_socket_t WINS_OpenSocket (int port); 29 | int WINS_CloseSocket (sys_socket_t socketid); 30 | int WINS_Connect (sys_socket_t socketid, struct qsockaddr *addr); 31 | sys_socket_t WINS_CheckNewConnections (void); 32 | int WINS_Read (sys_socket_t socketid, byte *buf, int len, struct qsockaddr *addr); 33 | int WINS_Write (sys_socket_t socketid, byte *buf, int len, struct qsockaddr *addr); 34 | int WINS_Broadcast (sys_socket_t socketid, byte *buf, int len); 35 | const char *WINS_AddrToString (struct qsockaddr *addr); 36 | int WINS_StringToAddr (const char *string, struct qsockaddr *addr); 37 | int WINS_GetSocketAddr (sys_socket_t socketid, struct qsockaddr *addr); 38 | int WINS_GetNameFromAddr (struct qsockaddr *addr, char *name); 39 | int WINS_GetAddrFromName (const char *name, struct qsockaddr *addr); 40 | int WINS_AddrCompare (struct qsockaddr *addr1, struct qsockaddr *addr2); 41 | int WINS_GetSocketPort (struct qsockaddr *addr); 42 | int WINS_SetSocketPort (struct qsockaddr *addr, int port); 43 | 44 | #endif /* __NET_WINSOCK_H */ 45 | 46 | -------------------------------------------------------------------------------- /Quake/net_wipx.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 1996-2001 Id Software, Inc. 3 | Copyright (C) 2010-2014 QuakeSpasm developers 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. 13 | 14 | See the GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program; if not, write to the Free Software 18 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 19 | 20 | */ 21 | 22 | #ifndef __NET_WINIPX_H 23 | #define __NET_WINIPX_H 24 | 25 | sys_socket_t WIPX_Init (void); 26 | void WIPX_Shutdown (void); 27 | void WIPX_Listen (qboolean state); 28 | sys_socket_t WIPX_OpenSocket (int port); 29 | int WIPX_CloseSocket (sys_socket_t socketid); 30 | int WIPX_Connect (sys_socket_t socketid, struct qsockaddr *addr); 31 | sys_socket_t WIPX_CheckNewConnections (void); 32 | int WIPX_Read (sys_socket_t socketid, byte *buf, int len, struct qsockaddr *addr); 33 | int WIPX_Write (sys_socket_t socketid, byte *buf, int len, struct qsockaddr *addr); 34 | int WIPX_Broadcast (sys_socket_t socketid, byte *buf, int len); 35 | const char *WIPX_AddrToString (struct qsockaddr *addr); 36 | int WIPX_StringToAddr (const char *string, struct qsockaddr *addr); 37 | int WIPX_GetSocketAddr (sys_socket_t socketid, struct qsockaddr *addr); 38 | int WIPX_GetNameFromAddr (struct qsockaddr *addr, char *name); 39 | int WIPX_GetAddrFromName (const char *name, struct qsockaddr *addr); 40 | int WIPX_AddrCompare (struct qsockaddr *addr1, struct qsockaddr *addr2); 41 | int WIPX_GetSocketPort (struct qsockaddr *addr); 42 | int WIPX_SetSocketPort (struct qsockaddr *addr, int port); 43 | 44 | #endif /* __NET_WINIPX_H */ 45 | 46 | -------------------------------------------------------------------------------- /Quake/pl_linux.c: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 1996-2001 Id Software, Inc. 3 | Copyright (C) 2002-2005 John Fitzgibbons and others 4 | Copyright (C) 2007-2008 Kristian Duske 5 | Copyright (C) 2010-2014 QuakeSpasm developers 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. 15 | 16 | See the GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License 19 | along with this program; if not, write to the Free Software 20 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 21 | 22 | */ 23 | 24 | #include "quakedef.h" 25 | #if defined(SDL_FRAMEWORK) || defined(NO_SDL_CONFIG) 26 | #if defined(USE_SDL2) 27 | #include 28 | #else 29 | #include 30 | #endif 31 | #else 32 | #include "SDL.h" 33 | #endif 34 | 35 | static const Uint8 bmp_bytes[] = 36 | { 37 | #include "qs_bmp.h" 38 | }; 39 | 40 | void PL_SetWindowIcon (void) 41 | { 42 | SDL_RWops *rwop; 43 | SDL_Surface *icon; 44 | Uint32 colorkey; 45 | 46 | /* SDL_RWFromConstMem() requires SDL >= 1.2.7 */ 47 | rwop = SDL_RWFromConstMem(bmp_bytes, sizeof(bmp_bytes)); 48 | if (rwop == NULL) 49 | return; 50 | icon = SDL_LoadBMP_RW(rwop, 1); 51 | if (icon == NULL) 52 | return; 53 | /* make pure magenta (#ff00ff) tranparent */ 54 | colorkey = SDL_MapRGB(icon->format, 255, 0, 255); 55 | #if defined(USE_SDL2) 56 | SDL_SetColorKey(icon, SDL_TRUE, colorkey); 57 | SDL_SetWindowIcon((SDL_Window*) VID_GetWindow(), icon); 58 | #else 59 | SDL_SetColorKey(icon, SDL_SRCCOLORKEY, colorkey); 60 | SDL_WM_SetIcon(icon, NULL); 61 | #endif 62 | SDL_FreeSurface(icon); 63 | } 64 | 65 | void PL_VID_Shutdown (void) 66 | { 67 | } 68 | 69 | #define MAX_CLIPBOARDTXT MAXCMDLINE /* 256 */ 70 | char *PL_GetClipboardData (void) 71 | { 72 | char *data = NULL; 73 | #if defined(USE_SDL2) 74 | char *cliptext = SDL_GetClipboardText(); 75 | 76 | if (cliptext != NULL) 77 | { 78 | size_t size = strlen(cliptext) + 1; 79 | /* this is intended for simple small text copies 80 | * such as an ip address, etc: do chop the size 81 | * here, otherwise we may experience Z_Malloc() 82 | * failures and all other not-oh-so-fun stuff. */ 83 | size = q_min((size_t)(MAX_CLIPBOARDTXT), size); 84 | data = (char *) Z_Malloc((int)size); 85 | q_strlcpy (data, cliptext, size); 86 | } 87 | #endif 88 | 89 | return data; 90 | } 91 | 92 | void PL_ErrorDialog (const char *errorMsg) 93 | { 94 | SDL_ShowSimpleMessageBox (SDL_MESSAGEBOX_ERROR, "Quake Error", errorMsg, NULL); 95 | } 96 | 97 | -------------------------------------------------------------------------------- /Quake/pl_win.c: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 1996-2001 Id Software, Inc. 3 | Copyright (C) 2002-2005 John Fitzgibbons and others 4 | Copyright (C) 2007-2008 Kristian Duske 5 | Copyright (C) 2010-2014 QuakeSpasm developers 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. 15 | 16 | See the GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License 19 | along with this program; if not, write to the Free Software 20 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 21 | 22 | */ 23 | 24 | #include "quakedef.h" 25 | #include 26 | #if defined(SDL_FRAMEWORK) || defined(NO_SDL_CONFIG) 27 | #include 28 | #include 29 | #else 30 | #include "SDL.h" 31 | #include "SDL_syswm.h" 32 | #endif 33 | 34 | static HICON icon; 35 | 36 | void PL_SetWindowIcon (void) 37 | { 38 | HINSTANCE handle; 39 | SDL_SysWMinfo wminfo; 40 | HWND hwnd; 41 | 42 | handle = GetModuleHandle(NULL); 43 | icon = LoadIcon(handle, "icon"); 44 | 45 | if (!icon) 46 | return; /* no icon in the exe */ 47 | 48 | SDL_VERSION(&wminfo.version); 49 | 50 | if (SDL_GetWindowWMInfo((SDL_Window*) VID_GetWindow(), &wminfo) != SDL_TRUE) 51 | return; /* wrong SDL version */ 52 | 53 | hwnd = wminfo.info.win.window; 54 | #ifdef _WIN64 55 | SetClassLongPtr(hwnd, GCLP_HICON, (LONG_PTR) icon); 56 | #else 57 | SetClassLong(hwnd, GCL_HICON, (LONG) icon); 58 | #endif 59 | } 60 | 61 | void PL_VID_Shutdown (void) 62 | { 63 | DestroyIcon(icon); 64 | } 65 | 66 | #define MAX_CLIPBOARDTXT MAXCMDLINE /* 256 */ 67 | char *PL_GetClipboardData (void) 68 | { 69 | char *data = NULL; 70 | char *cliptext; 71 | 72 | if (OpenClipboard(NULL) != 0) 73 | { 74 | HANDLE hClipboardData; 75 | 76 | if ((hClipboardData = GetClipboardData(CF_TEXT)) != NULL) 77 | { 78 | cliptext = (char *) GlobalLock(hClipboardData); 79 | if (cliptext != NULL) 80 | { 81 | size_t size = GlobalSize(hClipboardData) + 1; 82 | /* this is intended for simple small text copies 83 | * such as an ip address, etc: do chop the size 84 | * here, otherwise we may experience Z_Malloc() 85 | * failures and all other not-oh-so-fun stuff. */ 86 | size = q_min((size_t)(MAX_CLIPBOARDTXT), size); 87 | data = (char *) Z_Malloc((int)size); 88 | q_strlcpy (data, cliptext, size); 89 | GlobalUnlock (hClipboardData); 90 | } 91 | } 92 | CloseClipboard (); 93 | } 94 | return data; 95 | } 96 | 97 | static wchar_t error_buffer[1024]; 98 | 99 | void PL_ErrorDialog(const char *errorMsg) 100 | { 101 | wchar_t *msg; 102 | if (!MultiByteToWideChar (CP_UTF8, 0, errorMsg, -1, error_buffer, countof (error_buffer))) 103 | msg = L"An unknown error occurred"; 104 | else 105 | msg = error_buffer; 106 | MessageBoxW (NULL, msg, L"Quake Error", MB_OK | MB_SETFOREGROUND | MB_ICONSTOP); 107 | } 108 | 109 | -------------------------------------------------------------------------------- /Quake/platform.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 1996-2001 Id Software, Inc. 3 | Copyright (C) 2002-2005 John Fitzgibbons and others 4 | Copyright (C) 2007-2008 Kristian Duske 5 | Copyright (C) 2010-2014 QuakeSpasm developers 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. 15 | 16 | See the GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License 19 | along with this program; if not, write to the Free Software 20 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 21 | 22 | */ 23 | 24 | #ifndef _QUAKE_PLATFORM_H 25 | #define _QUAKE_PLATFORM_H 26 | 27 | #ifdef __cplusplus 28 | extern "C" { 29 | #endif 30 | 31 | /* platform dependent way to set the window icon */ 32 | void PL_SetWindowIcon(void); 33 | 34 | /* platform dependent cleanup */ 35 | void PL_VID_Shutdown (void); 36 | 37 | /* retrieve text from the clipboard (returns Z_Malloc()'ed data) */ 38 | char *PL_GetClipboardData (void); 39 | 40 | /* show an error dialog */ 41 | void PL_ErrorDialog(const char *text); 42 | 43 | #ifdef __cplusplus 44 | } 45 | #endif 46 | 47 | #endif /* _QUAKE_PLATFORM_H */ 48 | 49 | -------------------------------------------------------------------------------- /Quake/progdefs.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 1996-2001 Id Software, Inc. 3 | Copyright (C) 2002-2009 John Fitzgibbons and others 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. 13 | 14 | See the GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program; if not, write to the Free Software 18 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 19 | 20 | */ 21 | 22 | #ifndef __PROGDEFS_H 23 | #define __PROGDEFS_H 24 | 25 | #include "progdefs.q1" 26 | 27 | #endif /* __PROGDEFS_H */ 28 | 29 | -------------------------------------------------------------------------------- /Quake/progdefs.q1: -------------------------------------------------------------------------------- 1 | 2 | /* file generated by qcc, do not modify */ 3 | 4 | typedef struct 5 | { int pad[28]; 6 | int self; 7 | int other; 8 | int world; 9 | float time; 10 | float frametime; 11 | float force_retouch; 12 | string_t mapname; 13 | float deathmatch; 14 | float coop; 15 | float teamplay; 16 | float serverflags; 17 | float total_secrets; 18 | float total_monsters; 19 | float found_secrets; 20 | float killed_monsters; 21 | float parm1; 22 | float parm2; 23 | float parm3; 24 | float parm4; 25 | float parm5; 26 | float parm6; 27 | float parm7; 28 | float parm8; 29 | float parm9; 30 | float parm10; 31 | float parm11; 32 | float parm12; 33 | float parm13; 34 | float parm14; 35 | float parm15; 36 | float parm16; 37 | vec3_t v_forward; 38 | vec3_t v_up; 39 | vec3_t v_right; 40 | float trace_allsolid; 41 | float trace_startsolid; 42 | float trace_fraction; 43 | vec3_t trace_endpos; 44 | vec3_t trace_plane_normal; 45 | float trace_plane_dist; 46 | int trace_ent; 47 | float trace_inopen; 48 | float trace_inwater; 49 | int msg_entity; 50 | func_t main; 51 | func_t StartFrame; 52 | func_t PlayerPreThink; 53 | func_t PlayerPostThink; 54 | func_t ClientKill; 55 | func_t ClientConnect; 56 | func_t PutClientInServer; 57 | func_t ClientDisconnect; 58 | func_t SetNewParms; 59 | func_t SetChangeParms; 60 | } globalvars_t; 61 | 62 | typedef struct 63 | { 64 | float modelindex; 65 | vec3_t absmin; 66 | vec3_t absmax; 67 | float ltime; 68 | float movetype; 69 | float solid; 70 | vec3_t origin; 71 | vec3_t oldorigin; 72 | vec3_t velocity; 73 | vec3_t angles; 74 | vec3_t avelocity; 75 | vec3_t punchangle; 76 | string_t classname; 77 | string_t model; 78 | float frame; 79 | float skin; 80 | float effects; 81 | vec3_t mins; 82 | vec3_t maxs; 83 | vec3_t size; 84 | func_t touch; 85 | func_t use; 86 | func_t think; 87 | func_t blocked; 88 | float nextthink; 89 | int groundentity; 90 | float health; 91 | float frags; 92 | float weapon; 93 | string_t weaponmodel; 94 | float weaponframe; 95 | float currentammo; 96 | float ammo_shells; 97 | float ammo_nails; 98 | float ammo_rockets; 99 | float ammo_cells; 100 | float items; 101 | float takedamage; 102 | int chain; 103 | float deadflag; 104 | vec3_t view_ofs; 105 | float button0; 106 | float button1; 107 | float button2; 108 | float impulse; 109 | float fixangle; 110 | vec3_t v_angle; 111 | float idealpitch; 112 | string_t netname; 113 | int enemy; 114 | float flags; 115 | float colormap; 116 | float team; 117 | float max_health; 118 | float teleport_time; 119 | float armortype; 120 | float armorvalue; 121 | float waterlevel; 122 | float watertype; 123 | float ideal_yaw; 124 | float yaw_speed; 125 | int aiment; 126 | int goalentity; 127 | float spawnflags; 128 | string_t target; 129 | string_t targetname; 130 | float dmg_take; 131 | float dmg_save; 132 | int dmg_inflictor; 133 | int owner; 134 | vec3_t movedir; 135 | string_t message; 136 | float sounds; 137 | string_t noise; 138 | string_t noise1; 139 | string_t noise2; 140 | string_t noise3; 141 | } entvars_t; 142 | 143 | #define PROGHEADER_CRC 5927 144 | -------------------------------------------------------------------------------- /Quake/q_ctype.h: -------------------------------------------------------------------------------- 1 | /* Locale insensitive ctype.h functions taken from the RPM library - 2 | * RPM is Copyright (c) 1998 by Red Hat Software, Inc. 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or (at 7 | * your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, but 10 | * WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * 13 | * See the GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 18 | */ 19 | 20 | #ifndef Q_CTYPE_H 21 | #define Q_CTYPE_H 22 | 23 | static inline int q_isascii(int c) 24 | { 25 | return ((c & ~0x7f) == 0); 26 | } 27 | 28 | static inline int q_islower(int c) 29 | { 30 | return (c >= 'a' && c <= 'z'); 31 | } 32 | 33 | static inline int q_isupper(int c) 34 | { 35 | return (c >= 'A' && c <= 'Z'); 36 | } 37 | 38 | static inline int q_isalpha(int c) 39 | { 40 | return (q_islower(c) || q_isupper(c)); 41 | } 42 | 43 | static inline int q_isdigit(int c) 44 | { 45 | return (c >= '0' && c <= '9'); 46 | } 47 | 48 | static inline int q_isxdigit(int c) 49 | { 50 | return (q_isdigit(c) || (c >= 'a' && c <= 'f') || 51 | (c >= 'A' && c <= 'F')); 52 | } 53 | 54 | static inline int q_isalnum(int c) 55 | { 56 | return (q_isalpha(c) || q_isdigit(c)); 57 | } 58 | 59 | static inline int q_isblank(int c) 60 | { 61 | return (c == ' ' || c == '\t'); 62 | } 63 | 64 | static inline int q_isspace(int c) 65 | { 66 | switch(c) { 67 | case ' ': case '\t': 68 | case '\n': case '\r': 69 | case '\f': case '\v': return 1; 70 | } 71 | return 0; 72 | } 73 | 74 | static inline int q_isgraph(int c) 75 | { 76 | return (c > 0x20 && c <= 0x7e); 77 | } 78 | 79 | static inline int q_isprint(int c) 80 | { 81 | return (c >= 0x20 && c <= 0x7e); 82 | } 83 | 84 | static inline int q_toascii(int c) 85 | { 86 | return (c & 0x7f); 87 | } 88 | 89 | static inline int q_tolower(int c) 90 | { 91 | return ((q_isupper(c)) ? (c | ('a' - 'A')) : c); 92 | } 93 | 94 | static inline int q_toupper(int c) 95 | { 96 | return ((q_islower(c)) ? (c & ~('a' - 'A')) : c); 97 | } 98 | 99 | #endif /* Q_CTYPE_H */ 100 | -------------------------------------------------------------------------------- /Quake/quakedef.c: -------------------------------------------------------------------------------- 1 | /* 2 | This program is free software; you can redistribute it and/or 3 | modify it under the terms of the GNU General Public License 4 | as published by the Free Software Foundation; either version 2 5 | of the License, or (at your option) any later version. 6 | 7 | This program is distributed in the hope that it will be useful, 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 10 | 11 | See the GNU General Public License for more details. 12 | 13 | You should have received a copy of the GNU General Public License 14 | along with this program; if not, write to the Free Software 15 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 16 | */ 17 | 18 | #include "quakedef.h" 19 | -------------------------------------------------------------------------------- /Quake/resource.h: -------------------------------------------------------------------------------- 1 | #ifndef _QUAKE_RESOURCE_H 2 | #define _QUAKE_RESOURCE_H 3 | 4 | //{{NO_DEPENDENCIES}} 5 | // Microsoft Developer Studio generated include file. 6 | // Used by winquake.rc 7 | // 8 | #define IDS_STRING1 1 9 | #define IDI_ICON2 1 10 | #define IDD_DIALOG1 108 11 | #define IDD_PROGRESS 109 12 | #define IDC_PROGRESS 1000 13 | 14 | // Next default values for new objects 15 | // 16 | #ifdef APSTUDIO_INVOKED 17 | #ifndef APSTUDIO_READONLY_SYMBOLS 18 | #define _APS_NEXT_RESOURCE_VALUE 113 19 | #define _APS_NEXT_COMMAND_VALUE 40001 20 | #define _APS_NEXT_CONTROL_VALUE 1004 21 | #define _APS_NEXT_SYMED_VALUE 101 22 | #endif 23 | #endif 24 | 25 | #endif /* _QUAKE_RESOURCE_H */ 26 | 27 | -------------------------------------------------------------------------------- /Quake/sbar.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 1996-2001 Id Software, Inc. 3 | Copyright (C) 2002-2009 John Fitzgibbons and others 4 | Copyright (C) 2010-2014 QuakeSpasm developers 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. 14 | 15 | See the GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with this program; if not, write to the Free Software 19 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 20 | 21 | */ 22 | 23 | #ifndef _QUAKE_SBAR_H 24 | #define _QUAKE_SBAR_H 25 | 26 | // the status bar is only redrawn if something has changed, but if anything 27 | // does, the entire thing will be redrawn for the next vid.numpages frames. 28 | 29 | extern int sb_lines; // scan lines to draw 30 | 31 | void Sbar_Init (void); 32 | void Sbar_LoadPics (void); 33 | 34 | void Sbar_Changed (void); 35 | // call whenever any of the client stats represented on the sbar changes 36 | 37 | void Sbar_Draw (void); 38 | // called every frame by screen 39 | 40 | void Sbar_IntermissionOverlay (void); 41 | // called each frame after the level has been completed 42 | 43 | void Sbar_FinaleOverlay (void); 44 | 45 | #endif /* _QUAKE_SBAR_H */ 46 | 47 | -------------------------------------------------------------------------------- /Quake/snd_codeci.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Audio Codecs: Adapted from ioquake3 with changes. 3 | * For now, only handles streaming music, not sound effects. 4 | * 5 | * Copyright (C) 1999-2005 Id Software, Inc. 6 | * Copyright (C) 2005 Stuart Dalton 7 | * Copyright (C) 2010-2012 O.Sezer 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or (at 12 | * your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 17 | * 18 | * See the GNU General Public License for more details. 19 | * 20 | * You should have received a copy of the GNU General Public License along 21 | * with this program; if not, write to the Free Software Foundation, Inc., 22 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 23 | * 24 | */ 25 | 26 | #ifndef _SND_CODECI_H_ 27 | #define _SND_CODECI_H_ 28 | 29 | /* Codec internals */ 30 | typedef qboolean (*CODEC_INIT)(void); 31 | typedef void (*CODEC_SHUTDOWN)(void); 32 | typedef qboolean (*CODEC_OPEN)(snd_stream_t *stream); 33 | typedef int (*CODEC_READ)(snd_stream_t *stream, int bytes, void *buffer); 34 | typedef int (*CODEC_REWIND)(snd_stream_t *stream); 35 | typedef int (*CODEC_JUMP)(snd_stream_t *stream, int order); 36 | typedef void (*CODEC_CLOSE)(snd_stream_t *stream); 37 | 38 | struct snd_codec_s 39 | { 40 | unsigned int type; /* handled data type. (1U << n) */ 41 | qboolean initialized; /* init succeedded */ 42 | const char *ext; /* expected extension */ 43 | CODEC_INIT initialize; 44 | CODEC_SHUTDOWN shutdown; 45 | CODEC_OPEN codec_open; 46 | CODEC_READ codec_read; 47 | CODEC_REWIND codec_rewind; 48 | CODEC_JUMP codec_jump; 49 | CODEC_CLOSE codec_close; 50 | snd_codec_t *next; 51 | }; 52 | 53 | qboolean S_CodecForwardStream (snd_stream_t *stream, unsigned int type); 54 | /* Forward a stream to another codec of 'type' type. */ 55 | 56 | #endif /* _SND_CODECI_H_ */ 57 | 58 | -------------------------------------------------------------------------------- /Quake/snd_flac.h: -------------------------------------------------------------------------------- 1 | /* fLaC streaming music support. */ 2 | 3 | #if !defined(_SND_FLAC_H_) 4 | #define _SND_FLAC_H_ 1 5 | 6 | #if defined(USE_CODEC_FLAC) 7 | 8 | extern snd_codec_t flac_codec; 9 | 10 | #endif /* USE_CODEC_FLAC */ 11 | 12 | #endif /* ! _SND_FLAC_H_ */ 13 | 14 | -------------------------------------------------------------------------------- /Quake/snd_mikmod.h: -------------------------------------------------------------------------------- 1 | /* module tracker decoding support using libmikmod */ 2 | 3 | #if !defined(_SND_MIKMOD_H_) 4 | #define _SND_MIKMOD_H_ 5 | 6 | #if defined(USE_CODEC_MIKMOD) 7 | 8 | extern snd_codec_t mikmod_codec; 9 | 10 | #endif /* USE_CODEC_MIKMOD */ 11 | 12 | #endif /* ! _SND_MIKMOD_H_ */ 13 | 14 | -------------------------------------------------------------------------------- /Quake/snd_modplug.h: -------------------------------------------------------------------------------- 1 | /* module tracker decoding support using libmodplug */ 2 | #if !defined(_SND_MODPLUG_H_) 3 | #define _SND_MODPLUG_H_ 4 | 5 | #if defined(USE_CODEC_MODPLUG) 6 | 7 | extern snd_codec_t modplug_codec; 8 | 9 | #endif /* USE_CODEC_MODPLUG */ 10 | 11 | #endif /* ! _SND_MODPLUG_H_ */ 12 | 13 | -------------------------------------------------------------------------------- /Quake/snd_mp3.h: -------------------------------------------------------------------------------- 1 | /* MP3 decoding support using libmad or libmpg123. */ 2 | 3 | #if !defined(_SND_MP3_H_) 4 | #define _SND_MP3_H_ 5 | 6 | #if defined(USE_CODEC_MP3) 7 | 8 | extern snd_codec_t mp3_codec; 9 | int mp3_skiptags(snd_stream_t *); 10 | 11 | #endif /* USE_CODEC_MP3 */ 12 | 13 | #endif /* ! _SND_MP3_H_ */ 14 | 15 | -------------------------------------------------------------------------------- /Quake/snd_opus.h: -------------------------------------------------------------------------------- 1 | /* Ogg/Opus streaming music support. */ 2 | 3 | #if !defined(_SND_OPUS_H_) 4 | #define _SND_OPUS_H_ 1 5 | 6 | #if defined(USE_CODEC_OPUS) 7 | 8 | extern snd_codec_t opus_codec; 9 | 10 | #endif /* USE_CODEC_OPUS */ 11 | 12 | #endif /* ! _SND_OPUS_H_ */ 13 | 14 | -------------------------------------------------------------------------------- /Quake/snd_umx.h: -------------------------------------------------------------------------------- 1 | /* Unreal UMX format support */ 2 | #if !defined(_SND_UMX_H_) 3 | #define _SND_UMX_H_ 4 | 5 | #if defined(USE_CODEC_UMX) 6 | 7 | extern snd_codec_t umx_codec; 8 | 9 | #endif /* USE_CODEC_UMX */ 10 | 11 | #endif /* ! _SND_UMX_H_ */ 12 | 13 | -------------------------------------------------------------------------------- /Quake/snd_vorbis.h: -------------------------------------------------------------------------------- 1 | /* Ogg/Vorbis streaming music support. */ 2 | 3 | #if !defined(_SND_VORBIS_H_) 4 | #define _SND_VORBIS_H_ 1 5 | 6 | #if defined(USE_CODEC_VORBIS) 7 | 8 | extern snd_codec_t vorbis_codec; 9 | 10 | #endif /* USE_CODEC_VORBIS */ 11 | 12 | #endif /* ! _SND_VORBIS_H_ */ 13 | 14 | -------------------------------------------------------------------------------- /Quake/snd_wave.h: -------------------------------------------------------------------------------- 1 | /* WAV streaming music support. */ 2 | 3 | #if !defined(_SND_WAVE_H_) 4 | #define _SND_WAVE_H_ 5 | 6 | #if defined(USE_CODEC_WAVE) 7 | 8 | extern snd_codec_t wav_codec; 9 | 10 | #endif /* USE_CODEC_WAVE */ 11 | 12 | #endif /* ! _SND_WAVE_H_ */ 13 | 14 | -------------------------------------------------------------------------------- /Quake/snd_xmp.h: -------------------------------------------------------------------------------- 1 | /* module tracker decoding support using libxmp */ 2 | #if !defined(_SND_XMP_H_) 3 | #define _SND_XMP_H_ 4 | 5 | #if defined(USE_CODEC_XMP) 6 | 7 | extern snd_codec_t xmp_codec; 8 | 9 | #endif /* USE_CODEC_XMP */ 10 | 11 | #endif /* ! _SND_XMP_H_ */ 12 | 13 | -------------------------------------------------------------------------------- /Quake/steam.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 2022 A. Drexler 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. 12 | 13 | See the GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program; if not, write to the Free Software 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | 19 | */ 20 | 21 | #ifndef _STEAM_H_ 22 | #define _STEAM_H_ 23 | 24 | #define QUAKE_STEAM_APPID 2310 25 | 26 | #define QUAKE_EGS_NAMESPACE "f57987ad149c43b3a7a66a7f10828f92" 27 | #define QUAKE_EGS_ITEM_ID "19e3c0be6d6c4d4b84b1bc2248f94b43" 28 | #define QUAKE_EGS_APP_NAME "18161d3ef68e4166968036626d173f25" 29 | 30 | typedef enum { 31 | QUAKE_FLAVOR_ORIGINAL, 32 | QUAKE_FLAVOR_REMASTERED, 33 | } quakeflavor_t; 34 | 35 | typedef struct steamgame_s { 36 | int appid; 37 | char *subdir; 38 | char library[MAX_OSPATH]; 39 | } steamgame_t; 40 | 41 | qboolean Steam_IsValidPath (const char *path); 42 | qboolean Steam_FindGame (steamgame_t *game, int appid); 43 | qboolean Steam_ResolvePath (char *path, size_t pathsize, const steamgame_t *game); 44 | 45 | qboolean Steam_Init (const steamgame_t *game); 46 | qboolean Steam_SetAchievement (const char *name); 47 | void Steam_ClearStatus (void); 48 | void Steam_SetStatus_Menu (void); 49 | void Steam_SetStatus_SinglePlayer (const char *map); 50 | void Steam_SetStatus_Multiplayer (int players, int maxplayers, const char *map); 51 | qboolean Steam_SaveScreenshot (const void *rgb, int width, int height); 52 | void Steam_Shutdown (void); 53 | 54 | qboolean EGS_FindGame (char *path, size_t pathsize, const char *nspace, const char *itemid, const char *appname); 55 | 56 | quakeflavor_t ChooseQuakeFlavor (void); 57 | 58 | #endif /*_STEAM_H */ 59 | -------------------------------------------------------------------------------- /Quake/strl_fn.h: -------------------------------------------------------------------------------- 1 | /* strl_fn.h - header file for BSD strlcat and strlcpy */ 2 | 3 | #ifndef __STRLFUNCS_H 4 | #define __STRLFUNCS_H 5 | 6 | /* use our own copies of strlcpy and strlcat taken from OpenBSD */ 7 | #ifdef __cplusplus 8 | extern "C" { 9 | #endif 10 | extern size_t q_strlcpy (char *dst, const char *src, size_t size); 11 | extern size_t q_strlcat (char *dst, const char *src, size_t size); 12 | #ifdef __cplusplus 13 | } 14 | #endif 15 | 16 | #endif /* __STRLFUNCS_H */ 17 | -------------------------------------------------------------------------------- /Quake/strlcat.c: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: strlcat.c,v 1.13 2005/08/08 08:05:37 espie Exp $ */ 2 | 3 | /* 4 | * Copyright (c) 1998 Todd C. Miller 5 | * 6 | * Permission to use, copy, modify, and distribute this software for any 7 | * purpose with or without fee is hereby granted, provided that the above 8 | * copyright notice and this permission notice appear in all copies. 9 | * 10 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17 | */ 18 | 19 | #include 20 | #include 21 | 22 | #include "strl_fn.h" 23 | 24 | /* 25 | * Appends src to string dst of size siz (unlike strncat, siz is the 26 | * full size of dst, not space left). At most siz-1 characters 27 | * will be copied. Always NUL terminates (unless siz <= strlen(dst)). 28 | * Returns strlen(src) + MIN(siz, strlen(initial dst)). 29 | * If retval >= siz, truncation occurred. 30 | */ 31 | 32 | size_t 33 | q_strlcat (char *dst, const char *src, size_t siz) 34 | { 35 | char *d = dst; 36 | const char *s = src; 37 | size_t n = siz; 38 | size_t dlen; 39 | 40 | /* Find the end of dst and adjust bytes left but don't go past end */ 41 | while (n-- != 0 && *d != '\0') 42 | d++; 43 | dlen = d - dst; 44 | n = siz - dlen; 45 | 46 | if (n == 0) 47 | return(dlen + strlen(s)); 48 | while (*s != '\0') { 49 | if (n != 1) { 50 | *d++ = *s; 51 | n--; 52 | } 53 | s++; 54 | } 55 | *d = '\0'; 56 | 57 | return(dlen + (s - src)); /* count does not include NUL */ 58 | } 59 | 60 | -------------------------------------------------------------------------------- /Quake/strlcpy.c: -------------------------------------------------------------------------------- 1 | /* $OpenBSD: strlcpy.c,v 1.11 2006/05/05 15:27:38 millert Exp $ */ 2 | 3 | /* 4 | * Copyright (c) 1998 Todd C. Miller 5 | * 6 | * Permission to use, copy, modify, and distribute this software for any 7 | * purpose with or without fee is hereby granted, provided that the above 8 | * copyright notice and this permission notice appear in all copies. 9 | * 10 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17 | */ 18 | 19 | #include 20 | #include 21 | 22 | #include "strl_fn.h" 23 | 24 | /* 25 | * Copy src to string dst of size siz. At most siz-1 characters 26 | * will be copied. Always NUL terminates (unless siz == 0). 27 | * Returns strlen(src); if retval >= siz, truncation occurred. 28 | */ 29 | 30 | size_t 31 | q_strlcpy (char *dst, const char *src, size_t siz) 32 | { 33 | char *d = dst; 34 | const char *s = src; 35 | size_t n = siz; 36 | 37 | /* Copy as many bytes as will fit */ 38 | if (n != 0) { 39 | while (--n != 0) { 40 | if ((*d++ = *s++) == '\0') 41 | break; 42 | } 43 | } 44 | 45 | /* Not enough room in dst, add NUL and traverse rest of src */ 46 | if (n == 0) { 47 | if (siz != 0) 48 | *d = '\0'; /* NUL-terminate dst */ 49 | while (*s++) 50 | ; 51 | } 52 | 53 | return(s - src - 1); /* count does not include NUL */ 54 | } 55 | 56 | -------------------------------------------------------------------------------- /Quake/vid.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 1996-2001 Id Software, Inc. 3 | Copyright (C) 2002-2009 John Fitzgibbons and others 4 | Copyright (C) 2007-2008 Kristian Duske 5 | Copyright (C) 2010-2014 QuakeSpasm developers 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. 15 | 16 | See the GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License 19 | along with this program; if not, write to the Free Software 20 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 21 | 22 | */ 23 | 24 | #ifndef __VID_DEFS_H 25 | #define __VID_DEFS_H 26 | 27 | // vid.h -- video driver defs 28 | 29 | #define VID_CBITS 6 30 | #define VID_GRADES (1 << VID_CBITS) 31 | 32 | #define GAMMA_MAX 3.0 33 | 34 | // moved here for global use -- kristian 35 | typedef enum { MS_UNINIT, MS_WINDOWED, MS_FULLSCREEN } modestate_t; 36 | 37 | extern modestate_t modestate; 38 | 39 | // a pixel can be one, two, or four bytes 40 | typedef byte pixel_t; 41 | 42 | typedef struct vrect_s 43 | { 44 | int x, y, width, height; 45 | } vrect_t; 46 | 47 | typedef struct 48 | { 49 | pixel_t *colormap; // 256 * VID_GRADES size 50 | int fullbright; // index of first fullbright color 51 | int rowbytes; // may be > width if displayed in a window 52 | int width; 53 | int height; 54 | qboolean resized; 55 | int maxscale; // maximum r_scale value, based on height 56 | int refreshrate; 57 | int numpages; 58 | int recalc_refdef; // if true, recalc vid-based stuff 59 | int conrowbytes; 60 | int conwidth; 61 | int conheight; 62 | float guipixelaspect; // 2D pixel aspect ratio (1 = square) 63 | int guiwidth; // 2D width 64 | int guiheight; // 2D height 65 | } viddef_t; 66 | 67 | extern viddef_t vid; // global video state 68 | 69 | typedef struct 70 | { 71 | int width; 72 | int height; 73 | int refreshrate; 74 | int bpp; 75 | } vmode_t; 76 | 77 | #define MAX_MODE_LIST 600 //johnfitz -- was 30 78 | 79 | extern vmode_t modelist[MAX_MODE_LIST]; 80 | extern int nummodes; 81 | 82 | void VID_Init (void); //johnfitz -- removed palette from argument list 83 | void VID_Shutdown (void); // Called at shutdown 84 | 85 | void VID_SyncCvars (void); 86 | void VID_Toggle (void); 87 | 88 | typedef enum 89 | { 90 | MOUSECURSOR_DEFAULT, 91 | MOUSECURSOR_HAND, 92 | MOUSECURSOR_IBEAM, 93 | } mousecursor_t; 94 | 95 | void *VID_GetWindow (void); 96 | qboolean VID_HasMouseOrInputFocus (void); 97 | qboolean VID_IsMinimized (void); 98 | void VID_Lock (void); 99 | void VID_SetWindowTitle (const char *title); 100 | void VID_SetMouseCursor (mousecursor_t cursor); 101 | void VID_RecalcConsoleSize (void); 102 | void VID_RecalcInterfaceSize (void); 103 | 104 | #endif /* __VID_DEFS_H */ 105 | 106 | -------------------------------------------------------------------------------- /Quake/view.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 1996-2001 Id Software, Inc. 3 | Copyright (C) 2002-2009 John Fitzgibbons and others 4 | Copyright (C) 2010-2014 QuakeSpasm developers 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. 14 | 15 | See the GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with this program; if not, write to the Free Software 19 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 20 | 21 | */ 22 | 23 | #ifndef _QUAKE_VIEW_H 24 | #define _QUAKE_VIEW_H 25 | 26 | extern cvar_t vid_gamma; 27 | extern cvar_t vid_contrast; 28 | 29 | extern float v_blend[4]; 30 | 31 | void V_Init (void); 32 | void V_RenderView (void); 33 | void V_CalcBlend (void); 34 | void V_UpdateBlend (void); 35 | void V_ResetEffects (void); 36 | float V_CalcRoll (vec3_t angles, vec3_t velocity); 37 | void V_RestoreAngles (void); 38 | 39 | #endif /* _QUAKE_VIEW_H */ 40 | 41 | -------------------------------------------------------------------------------- /Quake/wad.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 1996-2001 Id Software, Inc. 3 | Copyright (C) 2002-2009 John Fitzgibbons and others 4 | Copyright (C) 2010-2014 QuakeSpasm developers 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. 14 | 15 | See the GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with this program; if not, write to the Free Software 19 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 20 | 21 | */ 22 | 23 | #ifndef _QUAKE_WAD_H 24 | #define _QUAKE_WAD_H 25 | 26 | //=============== 27 | // TYPES 28 | //=============== 29 | 30 | #define CMP_NONE 0 31 | #define CMP_LZSS 1 32 | 33 | #define TYP_NONE 0 34 | #define TYP_LABEL 1 35 | 36 | #define TYP_LUMPY 64 // 64 + grab command number 37 | #define TYP_PALETTE 64 38 | #define TYP_QTEX 65 39 | #define TYP_QPIC 66 40 | #define TYP_SOUND 67 41 | #define TYP_MIPTEX 68 42 | 43 | #define WADFILENAME "gfx.wad" //johnfitz -- filename is now hard-coded for honesty 44 | 45 | typedef struct 46 | { 47 | int width, height; 48 | byte data[4]; // variably sized 49 | } qpic_t; 50 | 51 | typedef struct 52 | { 53 | char identification[4]; // should be WAD2 or 2DAW 54 | int numlumps; 55 | int infotableofs; 56 | } wadinfo_t; 57 | 58 | typedef struct 59 | { 60 | int filepos; 61 | int disksize; 62 | int size; // uncompressed 63 | char type; 64 | char compression; 65 | char pad1, pad2; 66 | char name[16]; // must be null terminated 67 | } lumpinfo_t; 68 | 69 | extern int wad_numlumps; 70 | extern lumpinfo_t *wad_lumps; 71 | extern byte *wad_base; 72 | 73 | void W_LoadWadFile (void); //johnfitz -- filename is now hard-coded for honesty 74 | void W_CleanupName (const char *in, char *out); 75 | lumpinfo_t *W_GetLumpinfo (const char *name); 76 | void *W_GetLumpName (const char *name, lumpinfo_t **out_info); 77 | void *W_GetLumpNum (int num); 78 | 79 | void SwapPic (qpic_t *pic); 80 | 81 | #endif /* _QUAKE_WAD_H */ 82 | 83 | -------------------------------------------------------------------------------- /Quake/world.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 1996-2001 Id Software, Inc. 3 | Copyright (C) 2002-2009 John Fitzgibbons and others 4 | Copyright (C) 2010-2014 QuakeSpasm developers 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. 14 | 15 | See the GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with this program; if not, write to the Free Software 19 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 20 | 21 | */ 22 | 23 | #ifndef _QUAKE_WORLD_H 24 | #define _QUAKE_WORLD_H 25 | 26 | typedef struct 27 | { 28 | vec3_t normal; 29 | float dist; 30 | } plane_t; 31 | 32 | typedef struct 33 | { 34 | qboolean allsolid; // if true, plane is not valid 35 | qboolean startsolid; // if true, the initial point was in a solid area 36 | qboolean inopen, inwater; 37 | float fraction; // time completed, 1.0 = didn't hit anything 38 | vec3_t endpos; // final position 39 | plane_t plane; // surface normal at impact 40 | edict_t *ent; // entity the surface is on 41 | } trace_t; 42 | 43 | 44 | #define MOVE_NORMAL 0 45 | #define MOVE_NOMONSTERS 1 46 | #define MOVE_MISSILE 2 47 | 48 | 49 | void SV_ClearWorld (void); 50 | // called after the world model has been loaded, before linking any entities 51 | 52 | void SV_UnlinkEdict (edict_t *ent); 53 | // call before removing an entity, and before trying to move one, 54 | // so it doesn't clip against itself 55 | // flags ent->v.modified 56 | 57 | void SV_LinkEdict (edict_t *ent, qboolean touch_triggers); 58 | // Needs to be called any time an entity changes origin, mins, maxs, or solid 59 | // flags ent->v.modified 60 | // sets ent->v.absmin and ent->v.absmax 61 | // if touchtriggers, calls prog functions for the intersected triggers 62 | 63 | int SV_PointContents (vec3_t p); 64 | int SV_TruePointContents (vec3_t p); 65 | // returns the CONTENTS_* value from the world at the given point. 66 | // does not check any entities at all 67 | // the non-true version remaps the water current contents to content_water 68 | 69 | edict_t *SV_TestEntityPosition (edict_t *ent); 70 | 71 | trace_t SV_Move (vec3_t start, vec3_t mins, vec3_t maxs, vec3_t end, int type, edict_t *passedict); 72 | // mins and maxs are reletive 73 | 74 | // if the entire move stays in a solid volume, trace.allsolid will be set 75 | 76 | // if the starting point is in a solid, it will be allowed to move out 77 | // to an open area 78 | 79 | // nomonsters is used for line of sight or edge testing, where mosnters 80 | // shouldn't be considered solid objects 81 | 82 | // passedict is explicitly excluded from clipping checks (normally NULL) 83 | 84 | qboolean SV_RecursiveHullCheck (hull_t *hull, int num, float p1f, float p2f, vec3_t p1, vec3_t p2, trace_t *trace); 85 | 86 | #endif /* _QUAKE_WORLD_H */ 87 | 88 | -------------------------------------------------------------------------------- /Windows/QuakeSpasm-old.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/QuakeSpasm-old.ico -------------------------------------------------------------------------------- /Windows/QuakeSpasm.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/QuakeSpasm.ico -------------------------------------------------------------------------------- /Windows/QuakeSpasm.rc: -------------------------------------------------------------------------------- 1 | #include 2 | #include "../Quake/quakedef.h" 3 | 4 | icon ICON "QuakeSpasm.ico" 5 | 6 | //////////////////////////////////////////////////////////////// 7 | 8 | #define VER_FILEVERSION IRONWAIL_VER_MAJOR,IRONWAIL_VER_MINOR,IRONWAIL_VER_PATCH,0 9 | #define VER_FILEVERSION_STR QS_STRINGIFY(IRONWAIL_VER_MAJOR) "." QS_STRINGIFY(IRONWAIL_VER_MINOR) "." QS_STRINGIFY(IRONWAIL_VER_PATCH) IRONWAIL_VER_SUFFIX 10 | 11 | #define VER_PRODUCTVERSION VER_FILEVERSION 12 | #define VER_PRODUCTVERSION_STR VER_FILEVERSION_STR 13 | 14 | #ifdef DEBUG 15 | #define VER_DEBUG VS_FF_DEBUG 16 | #else 17 | #define VER_DEBUG 0 18 | #endif 19 | 20 | //////////////////////////////////////////////////////////////// 21 | 22 | VS_VERSION_INFO VERSIONINFO 23 | FILEVERSION VER_FILEVERSION 24 | PRODUCTVERSION VER_PRODUCTVERSION 25 | FILEFLAGSMASK VS_FFI_FILEFLAGSMASK 26 | FILEFLAGS VER_DEBUG 27 | FILEOS VOS__WINDOWS32 28 | FILETYPE VFT_APP 29 | FILESUBTYPE 0 30 | BEGIN 31 | BLOCK "StringFileInfo" 32 | BEGIN 33 | BLOCK "040904E4" 34 | BEGIN 35 | VALUE "FileDescription", "Ironwail Quake engine" 36 | VALUE "FileVersion", VER_FILEVERSION_STR 37 | VALUE "LegalCopyright", "\xA9 2022" 38 | VALUE "OriginalFilename", "ironwail.exe" 39 | VALUE "ProductName", "Ironwail" 40 | VALUE "ProductVersion", VER_PRODUCTVERSION_STR 41 | END 42 | END 43 | 44 | BLOCK "VarFileInfo" 45 | BEGIN 46 | VALUE "Translation", 0x409, 1252 47 | END 48 | END 49 | -------------------------------------------------------------------------------- /Windows/SDL/BUGS: -------------------------------------------------------------------------------- 1 | 2 | Bugs are now managed in the SDL bug tracker, here: 3 | 4 | http://bugzilla.libsdl.org/ 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 | 11 | You may also find help at the SDL mailing list. Subscription information: 12 | 13 | http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org 14 | 15 | Bug reports are welcome here, but we really appreciate if you use Bugzilla, as 16 | bugs discussed on the mailing list may be forgotten or missed. 17 | 18 | 19 | -------------------------------------------------------------------------------- /Windows/SDL/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-platfrom library 5 | designed to make it easy to write multi-media software, such as games and 6 | emulators. 7 | 8 | The Simple DirectMedia Layer library source code is available from: 9 | http://www.libsdl.org/ 10 | 11 | This library is distributed under the terms of the GNU LGPL license: 12 | http://www.gnu.org/copyleft/lesser.html 13 | 14 | -------------------------------------------------------------------------------- /Windows/SDL/bin/sdl-config: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | prefix=/opt/cross_sdl12 4 | exec_prefix=${prefix} 5 | exec_prefix_set=no 6 | lib_suffix= 7 | 8 | usage="\ 9 | Usage: sdl-config [--prefix[=DIR]] [--exec-prefix[=DIR]] [--lib-suffix=SUFFIX] [--version] [--cflags] [--libs]" 10 | 11 | if test $# -eq 0; then 12 | echo "${usage}" 1>&2 13 | exit 1 14 | fi 15 | 16 | while test $# -gt 0; do 17 | case "$1" in 18 | -*=*) optarg=`echo "$1" | LC_ALL="C" sed 's/[-_a-zA-Z0-9]*=//'` ;; 19 | *) optarg= ;; 20 | esac 21 | 22 | case $1 in 23 | --prefix=*) 24 | prefix=$optarg 25 | if test $exec_prefix_set = no ; then 26 | exec_prefix=$optarg 27 | fi 28 | ;; 29 | --prefix) 30 | echo $prefix 31 | ;; 32 | --exec-prefix=*) 33 | exec_prefix=$optarg 34 | exec_prefix_set=yes 35 | ;; 36 | --exec-prefix) 37 | echo $exec_prefix 38 | ;; 39 | --lib-suffix=*) 40 | lib_suffix=$optarg 41 | ;; 42 | --version) 43 | echo 1.2.16 44 | ;; 45 | --cflags) 46 | echo -I${prefix}/include -Dmain=SDL_main 47 | ;; 48 | --libs) 49 | echo -L${exec_prefix}/lib${lib_suffix} -lmingw32 -lSDLmain -lSDL -mwindows 50 | ;; 51 | *) 52 | echo "${usage}" 1>&2 53 | exit 1 54 | ;; 55 | esac 56 | shift 57 | done 58 | 59 | -------------------------------------------------------------------------------- /Windows/SDL/include/SDL_active.h: -------------------------------------------------------------------------------- 1 | /* 2 | SDL - Simple DirectMedia Layer 3 | Copyright (C) 1997-2012 Sam Lantinga 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library 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 GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Sam Lantinga 20 | slouken@libsdl.org 21 | */ 22 | 23 | /** 24 | * @file SDL_active.h 25 | * Include file for SDL application focus event handling 26 | */ 27 | 28 | #ifndef _SDL_active_h 29 | #define _SDL_active_h 30 | 31 | #include "SDL_stdinc.h" 32 | #include "SDL_error.h" 33 | 34 | #include "begin_code.h" 35 | /* Set up for C function definitions, even when using C++ */ 36 | #ifdef __cplusplus 37 | extern "C" { 38 | #endif 39 | 40 | /** @name The available application states */ 41 | /*@{*/ 42 | #define SDL_APPMOUSEFOCUS 0x01 /**< The app has mouse coverage */ 43 | #define SDL_APPINPUTFOCUS 0x02 /**< The app has input focus */ 44 | #define SDL_APPACTIVE 0x04 /**< The application is active */ 45 | /*@}*/ 46 | 47 | /* Function prototypes */ 48 | /** 49 | * This function returns the current state of the application, which is a 50 | * bitwise combination of SDL_APPMOUSEFOCUS, SDL_APPINPUTFOCUS, and 51 | * SDL_APPACTIVE. If SDL_APPACTIVE is set, then the user is able to 52 | * see your application, otherwise it has been iconified or disabled. 53 | */ 54 | extern DECLSPEC Uint8 SDLCALL SDL_GetAppState(void); 55 | 56 | 57 | /* Ends C function definitions when using C++ */ 58 | #ifdef __cplusplus 59 | } 60 | #endif 61 | #include "close_code.h" 62 | 63 | #endif /* _SDL_active_h */ 64 | -------------------------------------------------------------------------------- /Windows/SDL/include/SDL_byteorder.h: -------------------------------------------------------------------------------- 1 | /* 2 | SDL - Simple DirectMedia Layer 3 | Copyright (C) 1997-2012 Sam Lantinga 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library 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 GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Sam Lantinga 20 | slouken@libsdl.org 21 | */ 22 | 23 | /** 24 | * @file SDL_byteorder.h 25 | * @deprecated Use SDL_endian.h instead 26 | */ 27 | 28 | /* DEPRECATED */ 29 | #include "SDL_endian.h" 30 | -------------------------------------------------------------------------------- /Windows/SDL/include/SDL_config.h: -------------------------------------------------------------------------------- 1 | /* 2 | SDL - Simple DirectMedia Layer 3 | Copyright (C) 1997-2012 Sam Lantinga 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library 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 GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Sam Lantinga 20 | slouken@libsdl.org 21 | */ 22 | 23 | #ifndef _SDL_config_h 24 | #define _SDL_config_h 25 | 26 | #include "SDL_platform.h" 27 | 28 | /* Add any platform that doesn't build using the configure system */ 29 | #if defined(__DREAMCAST__) 30 | #include "SDL_config_dreamcast.h" 31 | #elif defined(__MACOS__) 32 | #include "SDL_config_macos.h" 33 | #elif defined(__MACOSX__) 34 | #include "SDL_config_macosx.h" 35 | #elif defined(__SYMBIAN32__) 36 | #include "SDL_config_symbian.h" /* must be before win32! */ 37 | #elif defined(__WIN32__) 38 | #include "SDL_config_win32.h" 39 | #elif defined(__OS2__) 40 | #include "SDL_config_os2.h" 41 | #else 42 | #include "SDL_config_minimal.h" 43 | #endif /* platform config */ 44 | 45 | #endif /* _SDL_config_h */ 46 | -------------------------------------------------------------------------------- /Windows/SDL/include/SDL_copying.h: -------------------------------------------------------------------------------- 1 | /* 2 | SDL - Simple DirectMedia Layer 3 | Copyright (C) 1997-2012 Sam Lantinga 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library 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 GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Sam Lantinga 20 | slouken@libsdl.org 21 | */ 22 | 23 | -------------------------------------------------------------------------------- /Windows/SDL/include/SDL_cpuinfo.h: -------------------------------------------------------------------------------- 1 | /* 2 | SDL - Simple DirectMedia Layer 3 | Copyright (C) 1997-2012 Sam Lantinga 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library 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 GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Sam Lantinga 20 | slouken@libsdl.org 21 | */ 22 | 23 | /** 24 | * @file SDL_cpuinfo.h 25 | * CPU feature detection for SDL 26 | */ 27 | 28 | #ifndef _SDL_cpuinfo_h 29 | #define _SDL_cpuinfo_h 30 | 31 | #include "SDL_stdinc.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 | /** This function returns true if the CPU has the RDTSC instruction */ 40 | extern DECLSPEC SDL_bool SDLCALL SDL_HasRDTSC(void); 41 | 42 | /** This function returns true if the CPU has MMX features */ 43 | extern DECLSPEC SDL_bool SDLCALL SDL_HasMMX(void); 44 | 45 | /** This function returns true if the CPU has MMX Ext. features */ 46 | extern DECLSPEC SDL_bool SDLCALL SDL_HasMMXExt(void); 47 | 48 | /** This function returns true if the CPU has 3DNow features */ 49 | extern DECLSPEC SDL_bool SDLCALL SDL_Has3DNow(void); 50 | 51 | /** This function returns true if the CPU has 3DNow! Ext. features */ 52 | extern DECLSPEC SDL_bool SDLCALL SDL_Has3DNowExt(void); 53 | 54 | /** This function returns true if the CPU has SSE features */ 55 | extern DECLSPEC SDL_bool SDLCALL SDL_HasSSE(void); 56 | 57 | /** This function returns true if the CPU has SSE2 features */ 58 | extern DECLSPEC SDL_bool SDLCALL SDL_HasSSE2(void); 59 | 60 | /** This function returns true if the CPU has AltiVec features */ 61 | extern DECLSPEC SDL_bool SDLCALL SDL_HasAltiVec(void); 62 | 63 | /* Ends C function definitions when using C++ */ 64 | #ifdef __cplusplus 65 | } 66 | #endif 67 | #include "close_code.h" 68 | 69 | #endif /* _SDL_cpuinfo_h */ 70 | -------------------------------------------------------------------------------- /Windows/SDL/include/SDL_error.h: -------------------------------------------------------------------------------- 1 | /* 2 | SDL - Simple DirectMedia Layer 3 | Copyright (C) 1997-2012 Sam Lantinga 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library 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 GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Sam Lantinga 20 | slouken@libsdl.org 21 | */ 22 | 23 | /** 24 | * @file SDL_error.h 25 | * Simple error message routines for SDL 26 | */ 27 | 28 | #ifndef _SDL_error_h 29 | #define _SDL_error_h 30 | 31 | #include "SDL_stdinc.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 | * @name Public functions 41 | */ 42 | /*@{*/ 43 | extern DECLSPEC void SDLCALL SDL_SetError(const char *fmt, ...); 44 | extern DECLSPEC char * SDLCALL SDL_GetError(void); 45 | extern DECLSPEC void SDLCALL SDL_ClearError(void); 46 | /*@}*/ 47 | 48 | /** 49 | * @name Private functions 50 | * @internal Private error message function - used internally 51 | */ 52 | /*@{*/ 53 | #define SDL_OutOfMemory() SDL_Error(SDL_ENOMEM) 54 | #define SDL_Unsupported() SDL_Error(SDL_UNSUPPORTED) 55 | typedef enum { 56 | SDL_ENOMEM, 57 | SDL_EFREAD, 58 | SDL_EFWRITE, 59 | SDL_EFSEEK, 60 | SDL_UNSUPPORTED, 61 | SDL_LASTERROR 62 | } SDL_errorcode; 63 | extern DECLSPEC void SDLCALL SDL_Error(SDL_errorcode code); 64 | /*@}*/ 65 | 66 | /* Ends C function definitions when using C++ */ 67 | #ifdef __cplusplus 68 | } 69 | #endif 70 | #include "close_code.h" 71 | 72 | #endif /* _SDL_error_h */ 73 | -------------------------------------------------------------------------------- /Windows/SDL/include/SDL_getenv.h: -------------------------------------------------------------------------------- 1 | /* 2 | SDL - Simple DirectMedia Layer 3 | Copyright (C) 1997-2012 Sam Lantinga 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library 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 GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Sam Lantinga 20 | slouken@libsdl.org 21 | */ 22 | 23 | /** @file SDL_getenv.h 24 | * @deprecated Use SDL_stdinc.h instead 25 | */ 26 | 27 | /* DEPRECATED */ 28 | #include "SDL_stdinc.h" 29 | -------------------------------------------------------------------------------- /Windows/SDL/include/SDL_loadso.h: -------------------------------------------------------------------------------- 1 | /* 2 | SDL - Simple DirectMedia Layer 3 | Copyright (C) 1997-2012 Sam Lantinga 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library 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 GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Sam Lantinga 20 | slouken@libsdl.org 21 | */ 22 | 23 | /** @file SDL_loadso.h 24 | * System dependent library loading routines 25 | */ 26 | 27 | /** @file SDL_loadso.h 28 | * Some things to keep in mind: 29 | * - These functions only work on C function names. Other languages may 30 | * have name mangling and intrinsic language support that varies from 31 | * compiler to compiler. 32 | * - Make sure you declare your function pointers with the same calling 33 | * convention as the actual library function. Your code will crash 34 | * mysteriously if you do not do this. 35 | * - Avoid namespace collisions. If you load a symbol from the library, 36 | * it is not defined whether or not it goes into the global symbol 37 | * namespace for the application. If it does and it conflicts with 38 | * symbols in your code or other shared libraries, you will not get 39 | * the results you expect. :) 40 | */ 41 | 42 | 43 | #ifndef _SDL_loadso_h 44 | #define _SDL_loadso_h 45 | 46 | #include "SDL_stdinc.h" 47 | #include "SDL_error.h" 48 | 49 | #include "begin_code.h" 50 | /* Set up for C function definitions, even when using C++ */ 51 | #ifdef __cplusplus 52 | extern "C" { 53 | #endif 54 | 55 | /** 56 | * This function dynamically loads a shared object and returns a pointer 57 | * to the object handle (or NULL if there was an error). 58 | * The 'sofile' parameter is a system dependent name of the object file. 59 | */ 60 | extern DECLSPEC void * SDLCALL SDL_LoadObject(const char *sofile); 61 | 62 | /** 63 | * Given an object handle, this function looks up the address of the 64 | * named function in the shared object and returns it. This address 65 | * is no longer valid after calling SDL_UnloadObject(). 66 | */ 67 | extern DECLSPEC void * SDLCALL SDL_LoadFunction(void *handle, const char *name); 68 | 69 | /** Unload a shared object from memory */ 70 | extern DECLSPEC void SDLCALL SDL_UnloadObject(void *handle); 71 | 72 | /* Ends C function definitions when using C++ */ 73 | #ifdef __cplusplus 74 | } 75 | #endif 76 | #include "close_code.h" 77 | 78 | #endif /* _SDL_loadso_h */ 79 | -------------------------------------------------------------------------------- /Windows/SDL/include/SDL_name.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef _SDLname_h_ 3 | #define _SDLname_h_ 4 | 5 | #if defined(__STDC__) || defined(__cplusplus) 6 | #define NeedFunctionPrototypes 1 7 | #endif 8 | 9 | #define SDL_NAME(X) SDL_##X 10 | 11 | #endif /* _SDLname_h_ */ 12 | -------------------------------------------------------------------------------- /Windows/SDL/include/SDL_platform.h: -------------------------------------------------------------------------------- 1 | /* 2 | SDL - Simple DirectMedia Layer 3 | Copyright (C) 1997-2012 Sam Lantinga 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library 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 GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Sam Lantinga 20 | slouken@libsdl.org 21 | */ 22 | 23 | /** @file SDL_platform.h 24 | * Try to get a standard set of platform defines 25 | */ 26 | 27 | #ifndef _SDL_platform_h 28 | #define _SDL_platform_h 29 | 30 | #if defined(_AIX) 31 | #undef __AIX__ 32 | #define __AIX__ 1 33 | #endif 34 | #if defined(__BEOS__) 35 | #undef __BEOS__ 36 | #define __BEOS__ 1 37 | #endif 38 | #if defined(__HAIKU__) 39 | #undef __HAIKU__ 40 | #define __HAIKU__ 1 41 | #endif 42 | #if defined(bsdi) || defined(__bsdi) || defined(__bsdi__) 43 | #undef __BSDI__ 44 | #define __BSDI__ 1 45 | #endif 46 | #if defined(_arch_dreamcast) 47 | #undef __DREAMCAST__ 48 | #define __DREAMCAST__ 1 49 | #endif 50 | #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__) 51 | #undef __FREEBSD__ 52 | #define __FREEBSD__ 1 53 | #endif 54 | #if defined(__HAIKU__) 55 | #undef __HAIKU__ 56 | #define __HAIKU__ 1 57 | #endif 58 | #if defined(hpux) || defined(__hpux) || defined(__hpux__) 59 | #undef __HPUX__ 60 | #define __HPUX__ 1 61 | #endif 62 | #if defined(sgi) || defined(__sgi) || defined(__sgi__) || defined(_SGI_SOURCE) 63 | #undef __IRIX__ 64 | #define __IRIX__ 1 65 | #endif 66 | #if defined(linux) || defined(__linux) || defined(__linux__) 67 | #undef __LINUX__ 68 | #define __LINUX__ 1 69 | #endif 70 | #if defined(__APPLE__) 71 | #undef __MACOSX__ 72 | #define __MACOSX__ 1 73 | #elif defined(macintosh) 74 | #undef __MACOS__ 75 | #define __MACOS__ 1 76 | #endif 77 | #if defined(__NetBSD__) 78 | #undef __NETBSD__ 79 | #define __NETBSD__ 1 80 | #endif 81 | #if defined(__OpenBSD__) 82 | #undef __OPENBSD__ 83 | #define __OPENBSD__ 1 84 | #endif 85 | #if defined(__OS2__) || defined(__EMX__) 86 | #undef __OS2__ 87 | #define __OS2__ 1 88 | #endif 89 | #if defined(osf) || defined(__osf) || defined(__osf__) || defined(_OSF_SOURCE) 90 | #undef __OSF__ 91 | #define __OSF__ 1 92 | #endif 93 | #if defined(__QNXNTO__) 94 | #undef __QNXNTO__ 95 | #define __QNXNTO__ 1 96 | #endif 97 | #if defined(riscos) || defined(__riscos) || defined(__riscos__) 98 | #undef __RISCOS__ 99 | #define __RISCOS__ 1 100 | #endif 101 | #if defined(__SVR4) 102 | #undef __SOLARIS__ 103 | #define __SOLARIS__ 1 104 | #endif 105 | #if defined(WIN32) || defined(_WIN32) 106 | #undef __WIN32__ 107 | #define __WIN32__ 1 108 | #endif 109 | 110 | #endif /* _SDL_platform_h */ 111 | -------------------------------------------------------------------------------- /Windows/SDL/include/SDL_quit.h: -------------------------------------------------------------------------------- 1 | /* 2 | SDL - Simple DirectMedia Layer 3 | Copyright (C) 1997-2012 Sam Lantinga 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library 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 GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Sam Lantinga 20 | slouken@libsdl.org 21 | */ 22 | 23 | /** @file SDL_quit.h 24 | * Include file for SDL quit event handling 25 | */ 26 | 27 | #ifndef _SDL_quit_h 28 | #define _SDL_quit_h 29 | 30 | #include "SDL_stdinc.h" 31 | #include "SDL_error.h" 32 | 33 | /** @file SDL_quit.h 34 | * An SDL_QUITEVENT is generated when the user tries to close the application 35 | * window. If it is ignored or filtered out, the window will remain open. 36 | * If it is not ignored or filtered, it is queued normally and the window 37 | * is allowed to close. When the window is closed, screen updates will 38 | * complete, but have no effect. 39 | * 40 | * SDL_Init() installs signal handlers for SIGINT (keyboard interrupt) 41 | * and SIGTERM (system termination request), if handlers do not already 42 | * exist, that generate SDL_QUITEVENT events as well. There is no way 43 | * to determine the cause of an SDL_QUITEVENT, but setting a signal 44 | * handler in your application will override the default generation of 45 | * quit events for that signal. 46 | */ 47 | 48 | /** @file SDL_quit.h 49 | * There are no functions directly affecting the quit event 50 | */ 51 | 52 | #define SDL_QuitRequested() \ 53 | (SDL_PumpEvents(), SDL_PeepEvents(NULL,0,SDL_PEEKEVENT,SDL_QUITMASK)) 54 | 55 | #endif /* _SDL_quit_h */ 56 | -------------------------------------------------------------------------------- /Windows/SDL/include/SDL_types.h: -------------------------------------------------------------------------------- 1 | /* 2 | SDL - Simple DirectMedia Layer 3 | Copyright (C) 1997-2012 Sam Lantinga 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library 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 GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Sam Lantinga 20 | slouken@libsdl.org 21 | */ 22 | 23 | /** @file SDL_types.h 24 | * @deprecated Use SDL_stdinc.h instead. 25 | */ 26 | 27 | /* DEPRECATED */ 28 | #include "SDL_stdinc.h" 29 | -------------------------------------------------------------------------------- /Windows/SDL/include/SDL_version.h: -------------------------------------------------------------------------------- 1 | /* 2 | SDL - Simple DirectMedia Layer 3 | Copyright (C) 1997-2012 Sam Lantinga 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library 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 GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | 19 | Sam Lantinga 20 | slouken@libsdl.org 21 | */ 22 | 23 | /** @file SDL_version.h 24 | * This header defines the current SDL version 25 | */ 26 | 27 | #ifndef _SDL_version_h 28 | #define _SDL_version_h 29 | 30 | #include "SDL_stdinc.h" 31 | 32 | #include "begin_code.h" 33 | /* Set up for C function definitions, even when using C++ */ 34 | #ifdef __cplusplus 35 | extern "C" { 36 | #endif 37 | 38 | /** @name Version Number 39 | * Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL 40 | */ 41 | /*@{*/ 42 | #define SDL_MAJOR_VERSION 1 43 | #define SDL_MINOR_VERSION 2 44 | #define SDL_PATCHLEVEL 16 45 | /*@}*/ 46 | 47 | typedef struct SDL_version { 48 | Uint8 major; 49 | Uint8 minor; 50 | Uint8 patch; 51 | } SDL_version; 52 | 53 | /** 54 | * This macro can be used to fill a version structure with the compile-time 55 | * version of the SDL library. 56 | */ 57 | #define SDL_VERSION(X) \ 58 | { \ 59 | (X)->major = SDL_MAJOR_VERSION; \ 60 | (X)->minor = SDL_MINOR_VERSION; \ 61 | (X)->patch = SDL_PATCHLEVEL; \ 62 | } 63 | 64 | /** This macro turns the version numbers into a numeric value: 65 | * (1,2,3) -> (1203) 66 | * This assumes that there will never be more than 100 patchlevels 67 | */ 68 | #define SDL_VERSIONNUM(X, Y, Z) \ 69 | ((X)*1000 + (Y)*100 + (Z)) 70 | 71 | /** This is the version number macro for the current SDL version */ 72 | #define SDL_COMPILEDVERSION \ 73 | SDL_VERSIONNUM(SDL_MAJOR_VERSION, SDL_MINOR_VERSION, SDL_PATCHLEVEL) 74 | 75 | /** This macro will evaluate to true if compiled with SDL at least X.Y.Z */ 76 | #define SDL_VERSION_ATLEAST(X, Y, Z) \ 77 | (SDL_COMPILEDVERSION >= SDL_VERSIONNUM(X, Y, Z)) 78 | 79 | /** This function gets the version of the dynamically linked SDL library. 80 | * it should NOT be used to fill a version structure, instead you should 81 | * use the SDL_Version() macro. 82 | */ 83 | extern DECLSPEC const SDL_version * SDLCALL SDL_Linked_Version(void); 84 | 85 | /* Ends C function definitions when using C++ */ 86 | #ifdef __cplusplus 87 | } 88 | #endif 89 | #include "close_code.h" 90 | 91 | #endif /* _SDL_version_h */ 92 | -------------------------------------------------------------------------------- /Windows/SDL/include/close_code.h: -------------------------------------------------------------------------------- 1 | /* 2 | SDL - Simple DirectMedia Layer 3 | Copyright (C) 1997-2012 Sam Lantinga 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Library General Public 7 | License as published by the Free Software Foundation; either 8 | version 2 of the License, or (at your option) any later version. 9 | 10 | This library 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 GNU 13 | Library General Public License for more details. 14 | 15 | You should have received a copy of the GNU Library General Public 16 | License along with this library; if not, write to the Free 17 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 | 19 | Sam Lantinga 20 | slouken@libsdl.org 21 | */ 22 | 23 | /** 24 | * @file close_code.h 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 _begin_code_h 30 | #error close_code.h included without matching begin_code.h 31 | #endif 32 | #undef _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 | #if (defined(__MWERKS__) && defined(__MACOS__)) 40 | #pragma options align=reset 41 | #pragma enumsalwaysint reset 42 | #else 43 | #pragma pack(pop) 44 | #endif 45 | #endif /* Compiler needs structure packing set */ 46 | -------------------------------------------------------------------------------- /Windows/SDL/lib/SDL.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/SDL/lib/SDL.dll -------------------------------------------------------------------------------- /Windows/SDL/lib/SDL.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/SDL/lib/SDL.lib -------------------------------------------------------------------------------- /Windows/SDL/lib/SDLmain.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/SDL/lib/SDLmain.lib -------------------------------------------------------------------------------- /Windows/SDL/lib/libSDL.dll.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/SDL/lib/libSDL.dll.a -------------------------------------------------------------------------------- /Windows/SDL/lib/libSDLmain.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/SDL/lib/libSDLmain.a -------------------------------------------------------------------------------- /Windows/SDL/lib64/SDL.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/SDL/lib64/SDL.dll -------------------------------------------------------------------------------- /Windows/SDL/lib64/SDL.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/SDL/lib64/SDL.lib -------------------------------------------------------------------------------- /Windows/SDL/lib64/SDLmain.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/SDL/lib64/SDLmain.lib -------------------------------------------------------------------------------- /Windows/SDL/lib64/libSDL.dll.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/SDL/lib64/libSDL.dll.a -------------------------------------------------------------------------------- /Windows/SDL/lib64/libSDLmain.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/SDL/lib64/libSDLmain.a -------------------------------------------------------------------------------- /Windows/SDL/watcom/SDL.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/SDL/watcom/SDL.lib -------------------------------------------------------------------------------- /Windows/SDL/watcom/def2lbc.awk: -------------------------------------------------------------------------------- 1 | # get uppercased module name 2 | /^[ \t]*LIBRARY/ { ModuleName = toupper( $2 ); next } 3 | 4 | # skip uninteresting lines 5 | /^[ \t]*(EXPORTS|;)/ { next } 6 | 7 | # NB: Calling conventions essentially do not exist on non-x86 platforms, 8 | # we simply strip the decoration unless 'cpu' equals 386. 9 | 10 | # process fastcall symbols "@symbol@size" 11 | /^[ \t]*@[A-Za-z0-9_]+@[0-9]+/ { 12 | split( $1, parts, "@" ) # split the import name on the at signs 13 | if( cpu == "386" ) 14 | printf( "++'%s'.'%s'..'%s'\n", $1, ModuleName, parts[2] ) 15 | else 16 | printf( "++'%s'.'%s'\n", parts[2], ModuleName ) 17 | next 18 | } 19 | 20 | # process stdcall symbols using "symbol@size" format 21 | /^[ \t]*[A-Za-z0-9_]+@[0-9]+/ { 22 | split( $1, parts, "@" ) # split the import name on the at sign 23 | if( cpu == "386" ) 24 | printf( "++'_%s'.'%s'..'%s'\n", $1, ModuleName, parts[1] ) 25 | else 26 | printf( "++'%s'.'%s'\n", parts[1], ModuleName ) 27 | next 28 | } 29 | 30 | # process cdecl symbols using plain "symbol" format 31 | /^[ \t]*[A-Za-z0-9_]+/ { 32 | split( $1, parts, "@" ) # split the import name on the at sign 33 | if( cpu == "386" ) 34 | printf( "++'_%s'.'%s'..'%s'\n", $1, ModuleName, $1 ) 35 | else 36 | printf( "++'%s'.'%s'\n", parts[1], ModuleName ) 37 | next 38 | } 39 | -------------------------------------------------------------------------------- /Windows/SDL/watcom/makefile: -------------------------------------------------------------------------------- 1 | # Open Watcom makefile to generate SDL.lib 2 | # def2lbc.awk (from OW source tree) requires 'awk' 3 | # run 'wmake' 4 | 5 | all: SDL.lib 6 | 7 | SDL.exp: SDL.def def2lbc.awk 8 | awk -v cpu=386 -f def2lbc.awk SDL.def > SDL.exp 9 | 10 | SDL.lib: SDL.exp 11 | wlib -q -b -n -c -pa -s -t -zld -ii -io SDL.lib @SDL.exp 12 | -------------------------------------------------------------------------------- /Windows/SDL2/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 | -------------------------------------------------------------------------------- /Windows/SDL2/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (C) 1997-2024 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 | -------------------------------------------------------------------------------- /Windows/SDL2/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 | -------------------------------------------------------------------------------- /Windows/SDL2/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 | -------------------------------------------------------------------------------- /Windows/SDL2/bin/sdl2-config: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | prefix=/opt/cross_sdl2 4 | exec_prefix=${prefix} 5 | exec_prefix_set=no 6 | lib_suffix= 7 | 8 | usage="\ 9 | Usage: $0 [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version] [--cflags] [--lib-suffix=SUFFIX] [--libs]" 10 | 11 | if test $# -eq 0; then 12 | echo "${usage}" 1>&2 13 | exit 1 14 | fi 15 | 16 | while test $# -gt 0; do 17 | case "$1" in 18 | -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;; 19 | *) optarg= ;; 20 | esac 21 | 22 | case $1 in 23 | --prefix=*) 24 | prefix=$optarg 25 | if test $exec_prefix_set = no ; then 26 | exec_prefix=$optarg 27 | fi 28 | ;; 29 | --prefix) 30 | echo $prefix 31 | ;; 32 | --exec-prefix=*) 33 | exec_prefix=$optarg 34 | exec_prefix_set=yes 35 | ;; 36 | --exec-prefix) 37 | echo $exec_prefix 38 | ;; 39 | --lib-suffix=*) 40 | lib_suffix=$optarg 41 | ;; 42 | --version) 43 | echo 2.30.9 44 | ;; 45 | --cflags) 46 | echo -I${prefix}/include -Dmain=SDL_main 47 | ;; 48 | --libs) 49 | echo -L${exec_prefix}/lib${lib_suffix} -lmingw32 -lSDL2main -lSDL2 -mwindows 50 | ;; 51 | *) 52 | echo "${usage}" 1>&2 53 | exit 1 54 | ;; 55 | esac 56 | shift 57 | done 58 | -------------------------------------------------------------------------------- /Windows/SDL2/include/SDL_config.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2024 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 | /** 28 | * \file SDL_config.h 29 | */ 30 | 31 | /* Add any platform that doesn't build using the configure system. */ 32 | #if defined(__WIN32__) 33 | #include "SDL_config_windows.h" 34 | #elif defined(__WINRT__) 35 | #include "SDL_config_winrt.h" 36 | #elif defined(__WINGDK__) 37 | #include "SDL_config_wingdk.h" 38 | #elif defined(__XBOXONE__) || defined(__XBOXSERIES__) 39 | #include "SDL_config_xbox.h" 40 | #elif defined(__MACOSX__) 41 | #include "SDL_config_macosx.h" 42 | #elif defined(__IPHONEOS__) 43 | #include "SDL_config_iphoneos.h" 44 | #elif defined(__ANDROID__) 45 | #include "SDL_config_android.h" 46 | #elif defined(__OS2__) 47 | #include "SDL_config_os2.h" 48 | #elif defined(__EMSCRIPTEN__) 49 | #include "SDL_config_emscripten.h" 50 | #elif defined(__NGAGE__) 51 | #include "SDL_config_ngage.h" 52 | #else 53 | /* This is a minimal configuration just to get SDL running on new platforms. */ 54 | #include "SDL_config_minimal.h" 55 | #endif /* platform config */ 56 | 57 | #ifdef USING_GENERATED_CONFIG_H 58 | #error Wrong SDL_config.h, check your include path? 59 | #endif 60 | 61 | #endif /* SDL_config_h_ */ 62 | -------------------------------------------------------------------------------- /Windows/SDL2/include/SDL_misc.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2024 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_misc.h 24 | * 25 | * \brief Include file for SDL API functions that don't fit elsewhere. 26 | */ 27 | 28 | #ifndef SDL_misc_h_ 29 | #define SDL_misc_h_ 30 | 31 | #include "SDL_stdinc.h" 32 | 33 | #include "begin_code.h" 34 | 35 | /* Set up for C function definitions, even when using C++ */ 36 | #ifdef __cplusplus 37 | extern "C" { 38 | #endif 39 | 40 | /** 41 | * Open a URL/URI in the browser or other appropriate external application. 42 | * 43 | * Open a URL in a separate, system-provided application. How this works will 44 | * vary wildly depending on the platform. This will likely launch what makes 45 | * sense to handle a specific URL's protocol (a web browser for `http://`, 46 | * etc), but it might also be able to launch file managers for directories and 47 | * other things. 48 | * 49 | * What happens when you open a URL varies wildly as well: your game window 50 | * may lose focus (and may or may not lose focus if your game was fullscreen 51 | * or grabbing input at the time). On mobile devices, your app will likely 52 | * move to the background or your process might be paused. Any given platform 53 | * may or may not handle a given URL. 54 | * 55 | * If this is unimplemented (or simply unavailable) for a platform, this will 56 | * fail with an error. A successful result does not mean the URL loaded, just 57 | * that we launched _something_ to handle it (or at least believe we did). 58 | * 59 | * All this to say: this function can be useful, but you should definitely 60 | * test it on every platform you target. 61 | * 62 | * \param url A valid URL/URI to open. Use `file:///full/path/to/file` for 63 | * local files, if supported. 64 | * \returns 0 on success, or -1 on error; call SDL_GetError() for more 65 | * information. 66 | * 67 | * \since This function is available since SDL 2.0.14. 68 | */ 69 | extern DECLSPEC int SDLCALL SDL_OpenURL(const char *url); 70 | 71 | /* Ends C function definitions when using C++ */ 72 | #ifdef __cplusplus 73 | } 74 | #endif 75 | #include "close_code.h" 76 | 77 | #endif /* SDL_misc_h_ */ 78 | 79 | /* vi: set ts=4 sw=4 expandtab: */ 80 | -------------------------------------------------------------------------------- /Windows/SDL2/include/SDL_name.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2024 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 | -------------------------------------------------------------------------------- /Windows/SDL2/include/SDL_opengles.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2024 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_opengles.h 24 | * 25 | * This is a simple file to encapsulate the OpenGL ES 1.X API headers. 26 | */ 27 | #include "SDL_config.h" 28 | 29 | #ifdef __IPHONEOS__ 30 | #include 31 | #include 32 | #else 33 | #include 34 | #include 35 | #endif 36 | 37 | #ifndef APIENTRY 38 | #define APIENTRY 39 | #endif 40 | -------------------------------------------------------------------------------- /Windows/SDL2/include/SDL_opengles2.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2024 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_opengles2.h 24 | * 25 | * This is a simple file to encapsulate the OpenGL ES 2.0 API headers. 26 | */ 27 | #include "SDL_config.h" 28 | 29 | #if !defined(_MSC_VER) && !defined(SDL_USE_BUILTIN_OPENGL_DEFINITIONS) 30 | 31 | #ifdef __IPHONEOS__ 32 | #include 33 | #include 34 | #else 35 | #include 36 | #include 37 | #include 38 | #endif 39 | 40 | #else /* _MSC_VER */ 41 | 42 | /* OpenGL ES2 headers for Visual Studio */ 43 | #include "SDL_opengles2_khrplatform.h" 44 | #include "SDL_opengles2_gl2platform.h" 45 | #include "SDL_opengles2_gl2.h" 46 | #include "SDL_opengles2_gl2ext.h" 47 | 48 | #endif /* _MSC_VER */ 49 | 50 | #ifndef APIENTRY 51 | #define APIENTRY GL_APIENTRY 52 | #endif 53 | -------------------------------------------------------------------------------- /Windows/SDL2/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 | -------------------------------------------------------------------------------- /Windows/SDL2/include/SDL_quit.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2024 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_quit.h 24 | * 25 | * Include file for SDL quit event handling. 26 | */ 27 | 28 | #ifndef SDL_quit_h_ 29 | #define SDL_quit_h_ 30 | 31 | #include "SDL_stdinc.h" 32 | #include "SDL_error.h" 33 | 34 | /** 35 | * \file SDL_quit.h 36 | * 37 | * An ::SDL_QUIT event is generated when the user tries to close the application 38 | * window. If it is ignored or filtered out, the window will remain open. 39 | * If it is not ignored or filtered, it is queued normally and the window 40 | * is allowed to close. When the window is closed, screen updates will 41 | * complete, but have no effect. 42 | * 43 | * SDL_Init() installs signal handlers for SIGINT (keyboard interrupt) 44 | * and SIGTERM (system termination request), if handlers do not already 45 | * exist, that generate ::SDL_QUIT events as well. There is no way 46 | * to determine the cause of an ::SDL_QUIT event, but setting a signal 47 | * handler in your application will override the default generation of 48 | * quit events for that signal. 49 | * 50 | * \sa SDL_Quit() 51 | */ 52 | 53 | /* There are no functions directly affecting the quit event */ 54 | 55 | #define SDL_QuitRequested() \ 56 | (SDL_PumpEvents(), (SDL_PeepEvents(NULL,0,SDL_PEEKEVENT,SDL_QUIT,SDL_QUIT) > 0)) 57 | 58 | #endif /* SDL_quit_h_ */ 59 | -------------------------------------------------------------------------------- /Windows/SDL2/include/SDL_revision.h: -------------------------------------------------------------------------------- 1 | /* #undef SDL_VENDOR_INFO */ 2 | #define SDL_REVISION_NUMBER 0 3 | 4 | #ifdef SDL_VENDOR_INFO 5 | #define SDL_REVISION "SDL-2.30.9 (" SDL_VENDOR_INFO ")" 6 | #else 7 | #define SDL_REVISION "SDL-2.30.9" 8 | #endif 9 | -------------------------------------------------------------------------------- /Windows/SDL2/include/SDL_types.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2024 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_types.h 24 | * 25 | * \deprecated 26 | */ 27 | 28 | /* DEPRECATED */ 29 | #include "SDL_stdinc.h" 30 | -------------------------------------------------------------------------------- /Windows/SDL2/include/close_code.h: -------------------------------------------------------------------------------- 1 | /* 2 | Simple DirectMedia Layer 3 | Copyright (C) 1997-2024 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 | -------------------------------------------------------------------------------- /Windows/SDL2/lib/SDL2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/SDL2/lib/SDL2.dll -------------------------------------------------------------------------------- /Windows/SDL2/lib/SDL2.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/SDL2/lib/SDL2.lib -------------------------------------------------------------------------------- /Windows/SDL2/lib/SDL2main.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/SDL2/lib/SDL2main.lib -------------------------------------------------------------------------------- /Windows/SDL2/lib/libSDL2.dll.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/SDL2/lib/libSDL2.dll.a -------------------------------------------------------------------------------- /Windows/SDL2/lib/libSDL2main.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/SDL2/lib/libSDL2main.a -------------------------------------------------------------------------------- /Windows/SDL2/lib64/SDL2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/SDL2/lib64/SDL2.dll -------------------------------------------------------------------------------- /Windows/SDL2/lib64/SDL2.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/SDL2/lib64/SDL2.lib -------------------------------------------------------------------------------- /Windows/SDL2/lib64/SDL2main.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/SDL2/lib64/SDL2main.lib -------------------------------------------------------------------------------- /Windows/SDL2/lib64/libSDL2.dll.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/SDL2/lib64/libSDL2.dll.a -------------------------------------------------------------------------------- /Windows/SDL2/lib64/libSDL2main.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/SDL2/lib64/libSDL2main.a -------------------------------------------------------------------------------- /Windows/SDL2/watcom/SDL2.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/SDL2/watcom/SDL2.lib -------------------------------------------------------------------------------- /Windows/SDL2/watcom/def2lbc.awk: -------------------------------------------------------------------------------- 1 | # get uppercased module name 2 | /^[ \t]*LIBRARY/ { ModuleName = toupper( $2 ); next } 3 | 4 | # skip uninteresting lines 5 | /^[ \t]*(EXPORTS|;)/ { next } 6 | 7 | # NB: Calling conventions essentially do not exist on non-x86 platforms, 8 | # we simply strip the decoration unless 'cpu' equals 386. 9 | 10 | # process fastcall symbols "@symbol@size" 11 | /^[ \t]*@[A-Za-z0-9_]+@[0-9]+/ { 12 | split( $1, parts, "@" ) # split the import name on the at signs 13 | if( cpu == "386" ) 14 | printf( "++'%s'.'%s'..'%s'\n", $1, ModuleName, parts[2] ) 15 | else 16 | printf( "++'%s'.'%s'\n", parts[2], ModuleName ) 17 | next 18 | } 19 | 20 | # process stdcall symbols using "symbol@size" format 21 | /^[ \t]*[A-Za-z0-9_]+@[0-9]+/ { 22 | split( $1, parts, "@" ) # split the import name on the at sign 23 | if( cpu == "386" ) 24 | printf( "++'_%s'.'%s'..'%s'\n", $1, ModuleName, parts[1] ) 25 | else 26 | printf( "++'%s'.'%s'\n", parts[1], ModuleName ) 27 | next 28 | } 29 | 30 | # process cdecl symbols using plain "symbol" format 31 | /^[ \t]*[A-Za-z0-9_]+/ { 32 | split( $1, parts, "@" ) # split the import name on the at sign 33 | if( cpu == "386" ) 34 | printf( "++'_%s'.'%s'..'%s'\n", $1, ModuleName, $1 ) 35 | else 36 | printf( "++'%s'.'%s'\n", parts[1], ModuleName ) 37 | next 38 | } 39 | -------------------------------------------------------------------------------- /Windows/SDL2/watcom/makefile: -------------------------------------------------------------------------------- 1 | # Open Watcom makefile to generate SDL2.lib 2 | # def2lbc.awk (from OW source tree) requires 'awk' 3 | # run 'wmake' 4 | 5 | all: SDL2.lib 6 | 7 | SDL2.exp: SDL2.def def2lbc.awk 8 | awk -v cpu=386 -f def2lbc.awk SDL2.def > SDL2.exp 9 | 10 | SDL2.lib: SDL2.exp 11 | wlib -q -b -n -c -pa -s -t -zld -ii -io SDL2.lib @SDL2.exp 12 | -------------------------------------------------------------------------------- /Windows/VisualStudio/custom_build.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | /DIRONWAIL_VER_SUFFIX=\"$(VER_SUFFIX)\" %(AdditionalOptions) 6 | 7 | 8 | 9 | $(SolutionDir)$(BUILD_DIR)\ 10 | $(BUILD_DIR)\Out\ 11 | 12 | 13 | -------------------------------------------------------------------------------- /Windows/VisualStudio/ironwail.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.28307.1622 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ironwail", "ironwail.vcxproj", "{AE77266F-0A23-4F08-A491-369DE664B273}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Win32 = Debug|Win32 11 | Debug|x64 = Debug|x64 12 | Release|Win32 = Release|Win32 13 | Release|x64 = Release|x64 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {AE77266F-0A23-4F08-A491-369DE664B273}.Debug|Win32.ActiveCfg = Debug|Win32 17 | {AE77266F-0A23-4F08-A491-369DE664B273}.Debug|Win32.Build.0 = Debug|Win32 18 | {AE77266F-0A23-4F08-A491-369DE664B273}.Debug|x64.ActiveCfg = Debug|x64 19 | {AE77266F-0A23-4F08-A491-369DE664B273}.Debug|x64.Build.0 = Debug|x64 20 | {AE77266F-0A23-4F08-A491-369DE664B273}.Release|Win32.ActiveCfg = Release|Win32 21 | {AE77266F-0A23-4F08-A491-369DE664B273}.Release|Win32.Build.0 = Release|Win32 22 | {AE77266F-0A23-4F08-A491-369DE664B273}.Release|x64.ActiveCfg = Release|x64 23 | {AE77266F-0A23-4F08-A491-369DE664B273}.Release|x64.Build.0 = Release|x64 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | GlobalSection(ExtensibilityGlobals) = postSolution 29 | SolutionGuid = {B10E09FB-6D61-4004-A8FD-D146808E20C6} 30 | EndGlobalSection 31 | EndGlobal 32 | -------------------------------------------------------------------------------- /Windows/cmake-modules/FindCURL.cmake: -------------------------------------------------------------------------------- 1 | 2 | set(CURL_PATH "" CACHE STRING "CURL path") 3 | 4 | if (CMAKE_SIZEOF_VOID_P EQUAL 8) 5 | set(CURL_LIB_PATH x64) 6 | else() 7 | set(CURL_LIB_PATH x86) 8 | endif() 9 | 10 | find_path(CURL_INCLUDE_DIR curl/curl.h 11 | PATH_SUFFIXES include 12 | PATHS ${CURL_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/Windows/curl") 13 | 14 | set(CURL_INCLUDE_DIRS "${CURL_INCLUDE_DIR}") 15 | 16 | find_library(CURL_LIBRARY 17 | NAMES curl curllib libcurl_imp curllib_static libcurl libcurl_a 18 | PATH_SUFFIXES lib/${CURL_LIB_PATH} 19 | PATHS "${CURL_PATH}" "${CMAKE_CURRENT_SOURCE_DIR}/Windows/curl") 20 | 21 | set(CURL_LIBRARIES "${CURL_LIBRARY}") 22 | 23 | find_file(CURL_DLL 24 | NAMES libcurl.dll 25 | PATH_SUFFIXES lib/${CURL_LIB_PATH} 26 | PATHS ${SDL2_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/Windows/curl") 27 | 28 | find_file(ZLIB1_DLL names zlib1.dll PATHS ${CMAKE_CURRENT_SOURCE_DIR}/Windows/zlib PATH_SUFFIXES ${CURL_LIB_PATH}) 29 | 30 | if (CURL_INCLUDE_DIR AND EXISTS "${CURL_INCLUDE_DIR}/curl/curlver.h") 31 | file(STRINGS "${CURL_INCLUDE_DIR}/curl/curlver.h" CURL_VERSION_MAJOR_LINE REGEX "^#define[ \t]+LIBCURL_VERSION_MAJOR[ \t]+[0-9]+$") 32 | file(STRINGS "${CURL_INCLUDE_DIR}/curl/curlver.h" CURL_VERSION_MINOR_LINE REGEX "^#define[ \t]+LIBCURL_VERSION_MINOR[ \t]+[0-9]+$") 33 | file(STRINGS "${CURL_INCLUDE_DIR}/curl/curlver.h" CURL_VERSION_PATCH_LINE REGEX "^#define[ \t]+LIBCURL_VERSION_PATCH[ \t]+[0-9]+$") 34 | string(REGEX REPLACE "^#define[ \t]+LIBCURL_VERSION_MAJOR[ \t]+([0-9]+)$" "\\1" CURL_VERSION_MAJOR "${CURL_VERSION_MAJOR_LINE}") 35 | string(REGEX REPLACE "^#define[ \t]+LIBCURL_VERSION_MINOR[ \t]+([0-9]+)$" "\\1" CURL_VERSION_MINOR "${CURL_VERSION_MINOR_LINE}") 36 | string(REGEX REPLACE "^#define[ \t]+LIBCURL_VERSION_PATCH[ \t]+([0-9]+)$" "\\1" CURL_VERSION_PATCH "${CURL_VERSION_PATCH_LINE}") 37 | set(CURL_VERSION_STRING ${CURL_VERSION_MAJOR}.${CURL_VERSION_MINOR}.${CURL_VERSION_PATCH}) 38 | unset(CURL_VERSION_MAJOR_LINE) 39 | unset(CURL_VERSION_MINOR_LINE) 40 | unset(CURL_VERSION_PATCH_LINE) 41 | unset(CURL_VERSION_MAJOR) 42 | unset(CURL_VERSION_MINOR) 43 | unset(CURL_VERSION_PATCH) 44 | endif() 45 | 46 | include(FindPackageHandleStandardArgs) 47 | 48 | FIND_PACKAGE_HANDLE_STANDARD_ARGS(CURL REQUIRED_VARS CURL_LIBRARY CURL_INCLUDE_DIR VERSION_VAR CURL_VERSION_STRING) 49 | 50 | if (CURL_FOUND) 51 | if (CURL_LIBRARY) 52 | add_library(CURL::libcurl SHARED IMPORTED GLOBAL) 53 | set_target_properties(CURL::libcurl PROPERTIES IMPORTED_IMPLIB "${CURL_LIBRARY}" IMPORTED_LOCATION "${CURL_DLL}" INTERFACE_INCLUDE_DIRECTORIES "${CURL_INCLUDE_DIR}") 54 | endif() 55 | endif() -------------------------------------------------------------------------------- /Windows/cmake-modules/FindSDL2.cmake: -------------------------------------------------------------------------------- 1 | 2 | set(SDL2_PATH "" CACHE STRING "SDL2 path") 3 | 4 | if(CMAKE_SIZEOF_VOID_P EQUAL 8) 5 | set(SDL2_LIB_PATH lib64) 6 | else() 7 | set(SDL2_LIB_PATH lib) 8 | endif() 9 | 10 | find_path(SDL2_INCLUDE_DIR SDL.h 11 | PATH_SUFFIXES include 12 | PATHS ${SDL2_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/Windows/SDL2") 13 | 14 | set(SDL2_INCLUDE_DIRS "${SDL2_INCLUDE_DIR}") 15 | 16 | find_library(SDL2_LIBRARY 17 | NAMES SDL2 18 | PATH_SUFFIXES ${SDL2_LIB_PATH} 19 | PATHS ${SDL2_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/Windows/SDL2") 20 | 21 | find_library(SDL2_MAIN_LIBRARY 22 | NAMES SDL2main 23 | PATH_SUFFIXES ${SDL2_LIB_PATH} 24 | PATHS ${SDL2_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/Windows/SDL2") 25 | 26 | find_file(SDL2_DLL 27 | NAMES SDL2.dll 28 | PATH_SUFFIXES ${SDL2_LIB_PATH} 29 | PATHS ${SDL2_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/Windows/SDL2") 30 | 31 | set(SDL2_LIBRARIES "${SDL2_LIBRARY}" "${SDL2_MAIN_LIBRARY}") 32 | 33 | if (SDL2_INCLUDE_DIR AND EXISTS "${SDL2_INCLUDE_DIR}/SDL_version.h") 34 | file(STRINGS "${SDL2_INCLUDE_DIR}/SDL_version.h" SDL2_VERSION_MAJOR_LINE REGEX "^#define[ \t]+SDL_MAJOR_VERSION[ \t]+[0-9]+$") 35 | file(STRINGS "${SDL2_INCLUDE_DIR}/SDL_version.h" SDL2_VERSION_MINOR_LINE REGEX "^#define[ \t]+SDL_MINOR_VERSION[ \t]+[0-9]+$") 36 | file(STRINGS "${SDL2_INCLUDE_DIR}/SDL_version.h" SDL2_VERSION_PATCH_LINE REGEX "^#define[ \t]+SDL_PATCHLEVEL[ \t]+[0-9]+$") 37 | string(REGEX REPLACE "^#define[ \t]+SDL_MAJOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL2_VERSION_MAJOR "${SDL2_VERSION_MAJOR_LINE}") 38 | string(REGEX REPLACE "^#define[ \t]+SDL_MINOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL2_VERSION_MINOR "${SDL2_VERSION_MINOR_LINE}") 39 | string(REGEX REPLACE "^#define[ \t]+SDL_PATCHLEVEL[ \t]+([0-9]+)$" "\\1" SDL2_VERSION_PATCH "${SDL2_VERSION_PATCH_LINE}") 40 | set(SDL2_VERSION_STRING ${SDL2_VERSION_MAJOR}.${SDL2_VERSION_MINOR}.${SDL2_VERSION_PATCH}) 41 | unset(SDL2_VERSION_MAJOR_LINE) 42 | unset(SDL2_VERSION_MINOR_LINE) 43 | unset(SDL2_VERSION_PATCH_LINE) 44 | unset(SDL2_VERSION_MAJOR) 45 | unset(SDL2_VERSION_MINOR) 46 | unset(SDL2_VERSION_PATCH) 47 | endif() 48 | 49 | include(FindPackageHandleStandardArgs) 50 | 51 | FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2 REQUIRED_VARS SDL2_LIBRARY SDL2_INCLUDE_DIR VERSION_VAR SDL2_VERSION_STRING) 52 | 53 | if (SDL2_FOUND) 54 | if (SDL2_LIBRARY) 55 | add_library(SDL2::SDL2 SHARED IMPORTED GLOBAL) 56 | set_target_properties(SDL2::SDL2 PROPERTIES IMPORTED_IMPLIB "${SDL2_LIBRARY}" IMPORTED_LOCATION "${SDL2_DLL}" INTERFACE_INCLUDE_DIRECTORIES "${SDL2_INCLUDE_DIR}") 57 | 58 | if (SDL2_MAIN_LIBRARY) 59 | add_library(SDL2::main UNKNOWN IMPORTED) 60 | set_target_properties(SDL2::main PROPERTIES IMPORTED_LOCATION "${SDL2_MAIN_LIBRARY}") 61 | if (NOT MINGW) 62 | set_property(TARGET SDL2::SDL2 APPEND PROPERTY INTERFACE_LINK_LIBRARIES SDL2::main) 63 | endif() 64 | endif() 65 | endif() 66 | endif() -------------------------------------------------------------------------------- /Windows/codecs/include/FLAC/ordinals.h: -------------------------------------------------------------------------------- 1 | /* libFLAC - Free Lossless Audio Codec library 2 | * Copyright (C) 2000-2009 Josh Coalson 3 | * Copyright (C) 2011-2013 Xiph.Org Foundation 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions 7 | * are met: 8 | * 9 | * - Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * 12 | * - Redistributions in binary form must reproduce the above copyright 13 | * notice, this list of conditions and the following disclaimer in the 14 | * documentation and/or other materials provided with the distribution. 15 | * 16 | * - Neither the name of the Xiph.org Foundation nor the names of its 17 | * contributors may be used to endorse or promote products derived from 18 | * this software without specific prior written permission. 19 | * 20 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 21 | * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 22 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 23 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR 24 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 25 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 26 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 27 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 28 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 29 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 30 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 | */ 32 | 33 | #ifndef FLAC__ORDINALS_H 34 | #define FLAC__ORDINALS_H 35 | 36 | #if defined(_MSC_VER) && _MSC_VER < 1600 37 | 38 | /* Microsoft Visual Studio earlier than the 2010 version did not provide 39 | * the 1999 ISO C Standard header file . 40 | */ 41 | 42 | typedef __int8 FLAC__int8; 43 | typedef unsigned __int8 FLAC__uint8; 44 | 45 | typedef __int16 FLAC__int16; 46 | typedef __int32 FLAC__int32; 47 | typedef __int64 FLAC__int64; 48 | typedef unsigned __int16 FLAC__uint16; 49 | typedef unsigned __int32 FLAC__uint32; 50 | typedef unsigned __int64 FLAC__uint64; 51 | 52 | #else 53 | 54 | /* For MSVC 2010 and everything else which provides . */ 55 | 56 | #include 57 | 58 | typedef int8_t FLAC__int8; 59 | typedef uint8_t FLAC__uint8; 60 | 61 | typedef int16_t FLAC__int16; 62 | typedef int32_t FLAC__int32; 63 | typedef int64_t FLAC__int64; 64 | typedef uint16_t FLAC__uint16; 65 | typedef uint32_t FLAC__uint32; 66 | typedef uint64_t FLAC__uint64; 67 | 68 | #endif 69 | 70 | typedef int FLAC__bool; 71 | 72 | typedef FLAC__uint8 FLAC__byte; 73 | 74 | 75 | #ifdef true 76 | #undef true 77 | #endif 78 | #ifdef false 79 | #undef false 80 | #endif 81 | #ifndef __cplusplus 82 | #define true 1 83 | #define false 0 84 | #endif 85 | 86 | #endif 87 | -------------------------------------------------------------------------------- /Windows/codecs/include/flac_config.txt: -------------------------------------------------------------------------------- 1 | FLAC v1.3.0 release + several fixes from the flac git repo at xiph.org. 2 | Decoder-only functionality, which is what we need: the encoder stuff is 3 | left out of the build. 4 | -------------------------------------------------------------------------------- /Windows/codecs/include/mikmod_config.txt: -------------------------------------------------------------------------------- 1 | libmikmod-3.3.9 (mercurial repo as of 2016-08-12) 2 | only the "nosound" driver (drv_nos) is included, all of 3 | the other libmikmod drivers were made "MISSING" drivers. 4 | we only need/register/use drv_nos here and nothing else. 5 | -------------------------------------------------------------------------------- /Windows/codecs/include/mpg123_config.txt: -------------------------------------------------------------------------------- 1 | mpg123-1.22.4, configured using: 2 | --disable-modules --disable-debug --disable-fifo --disable-ipv6 --disable-network --disable-messages --disable-lfs-alias --with-audio=dummy 3 | edited src/libmpg123/mpg123lib_intern.h and changed macros 4 | NOQUIET, VERBOSE* and PVERB() to be 0, in order to disable 5 | some debug messages from the library. 6 | -------------------------------------------------------------------------------- /Windows/codecs/include/ogg/config_types.h: -------------------------------------------------------------------------------- 1 | #ifndef __CONFIG_TYPES_H__ 2 | #define __CONFIG_TYPES_H__ 3 | 4 | /* these are filled in by configure */ 5 | #define INCLUDE_INTTYPES_H 0 6 | #define INCLUDE_STDINT_H 0 7 | #define INCLUDE_SYS_TYPES_H 1 8 | 9 | #if INCLUDE_INTTYPES_H 10 | # include 11 | #endif 12 | #if INCLUDE_STDINT_H 13 | # include 14 | #endif 15 | #if INCLUDE_SYS_TYPES_H 16 | # include 17 | #endif 18 | 19 | typedef short ogg_int16_t; 20 | typedef unsigned short ogg_uint16_t; 21 | typedef int ogg_int32_t; 22 | typedef unsigned int ogg_uint32_t; 23 | typedef long long ogg_int64_t; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /Windows/codecs/include/opusfile.h: -------------------------------------------------------------------------------- 1 | /* just a wrapper to bypass the pkg-config thingy: the 2 | * headers under opus/ are edited accordingly for this */ 3 | #include 4 | -------------------------------------------------------------------------------- /Windows/codecs/x64/libFLAC-8.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x64/libFLAC-8.dll -------------------------------------------------------------------------------- /Windows/codecs/x64/libFLAC.dll.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x64/libFLAC.dll.a -------------------------------------------------------------------------------- /Windows/codecs/x64/libFLAC.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x64/libFLAC.lib -------------------------------------------------------------------------------- /Windows/codecs/x64/libmad-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x64/libmad-0.dll -------------------------------------------------------------------------------- /Windows/codecs/x64/libmad.dll.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x64/libmad.dll.a -------------------------------------------------------------------------------- /Windows/codecs/x64/libmad.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x64/libmad.lib -------------------------------------------------------------------------------- /Windows/codecs/x64/libmikmod-3.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x64/libmikmod-3.dll -------------------------------------------------------------------------------- /Windows/codecs/x64/libmikmod.dll.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x64/libmikmod.dll.a -------------------------------------------------------------------------------- /Windows/codecs/x64/libmikmod.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x64/libmikmod.lib -------------------------------------------------------------------------------- /Windows/codecs/x64/libmpg123-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x64/libmpg123-0.dll -------------------------------------------------------------------------------- /Windows/codecs/x64/libmpg123.dll.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x64/libmpg123.dll.a -------------------------------------------------------------------------------- /Windows/codecs/x64/libmpg123.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x64/libmpg123.lib -------------------------------------------------------------------------------- /Windows/codecs/x64/libogg-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x64/libogg-0.dll -------------------------------------------------------------------------------- /Windows/codecs/x64/libogg.dll.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x64/libogg.dll.a -------------------------------------------------------------------------------- /Windows/codecs/x64/libogg.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x64/libogg.lib -------------------------------------------------------------------------------- /Windows/codecs/x64/libopus-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x64/libopus-0.dll -------------------------------------------------------------------------------- /Windows/codecs/x64/libopus.dll.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x64/libopus.dll.a -------------------------------------------------------------------------------- /Windows/codecs/x64/libopus.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x64/libopus.lib -------------------------------------------------------------------------------- /Windows/codecs/x64/libopusfile-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x64/libopusfile-0.dll -------------------------------------------------------------------------------- /Windows/codecs/x64/libopusfile.dll.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x64/libopusfile.dll.a -------------------------------------------------------------------------------- /Windows/codecs/x64/libopusfile.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x64/libopusfile.lib -------------------------------------------------------------------------------- /Windows/codecs/x64/libvorbis-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x64/libvorbis-0.dll -------------------------------------------------------------------------------- /Windows/codecs/x64/libvorbis.dll.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x64/libvorbis.dll.a -------------------------------------------------------------------------------- /Windows/codecs/x64/libvorbis.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x64/libvorbis.lib -------------------------------------------------------------------------------- /Windows/codecs/x64/libvorbisfile-3.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x64/libvorbisfile-3.dll -------------------------------------------------------------------------------- /Windows/codecs/x64/libvorbisfile.dll.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x64/libvorbisfile.dll.a -------------------------------------------------------------------------------- /Windows/codecs/x64/libvorbisfile.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x64/libvorbisfile.lib -------------------------------------------------------------------------------- /Windows/codecs/x64/libxmp.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x64/libxmp.dll -------------------------------------------------------------------------------- /Windows/codecs/x64/libxmp.dll.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x64/libxmp.dll.a -------------------------------------------------------------------------------- /Windows/codecs/x64/libxmp.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x64/libxmp.lib -------------------------------------------------------------------------------- /Windows/codecs/x86-watcom/FLAC.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86-watcom/FLAC.lib -------------------------------------------------------------------------------- /Windows/codecs/x86-watcom/libxmp.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86-watcom/libxmp.lib -------------------------------------------------------------------------------- /Windows/codecs/x86-watcom/mad.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86-watcom/mad.lib -------------------------------------------------------------------------------- /Windows/codecs/x86-watcom/mikmod.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86-watcom/mikmod.lib -------------------------------------------------------------------------------- /Windows/codecs/x86-watcom/mpg123.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86-watcom/mpg123.lib -------------------------------------------------------------------------------- /Windows/codecs/x86-watcom/ogg.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86-watcom/ogg.lib -------------------------------------------------------------------------------- /Windows/codecs/x86-watcom/opus.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86-watcom/opus.lib -------------------------------------------------------------------------------- /Windows/codecs/x86-watcom/opusfile.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86-watcom/opusfile.lib -------------------------------------------------------------------------------- /Windows/codecs/x86-watcom/vorbis.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86-watcom/vorbis.lib -------------------------------------------------------------------------------- /Windows/codecs/x86-watcom/vorbisfile.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86-watcom/vorbisfile.lib -------------------------------------------------------------------------------- /Windows/codecs/x86/libFLAC-8.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86/libFLAC-8.dll -------------------------------------------------------------------------------- /Windows/codecs/x86/libFLAC.dll.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86/libFLAC.dll.a -------------------------------------------------------------------------------- /Windows/codecs/x86/libFLAC.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86/libFLAC.lib -------------------------------------------------------------------------------- /Windows/codecs/x86/libmad-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86/libmad-0.dll -------------------------------------------------------------------------------- /Windows/codecs/x86/libmad.dll.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86/libmad.dll.a -------------------------------------------------------------------------------- /Windows/codecs/x86/libmad.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86/libmad.lib -------------------------------------------------------------------------------- /Windows/codecs/x86/libmikmod-3.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86/libmikmod-3.dll -------------------------------------------------------------------------------- /Windows/codecs/x86/libmikmod.dll.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86/libmikmod.dll.a -------------------------------------------------------------------------------- /Windows/codecs/x86/libmikmod.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86/libmikmod.lib -------------------------------------------------------------------------------- /Windows/codecs/x86/libmpg123-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86/libmpg123-0.dll -------------------------------------------------------------------------------- /Windows/codecs/x86/libmpg123.dll.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86/libmpg123.dll.a -------------------------------------------------------------------------------- /Windows/codecs/x86/libmpg123.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86/libmpg123.lib -------------------------------------------------------------------------------- /Windows/codecs/x86/libogg-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86/libogg-0.dll -------------------------------------------------------------------------------- /Windows/codecs/x86/libogg.dll.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86/libogg.dll.a -------------------------------------------------------------------------------- /Windows/codecs/x86/libogg.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86/libogg.lib -------------------------------------------------------------------------------- /Windows/codecs/x86/libopus-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86/libopus-0.dll -------------------------------------------------------------------------------- /Windows/codecs/x86/libopus.dll.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86/libopus.dll.a -------------------------------------------------------------------------------- /Windows/codecs/x86/libopus.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86/libopus.lib -------------------------------------------------------------------------------- /Windows/codecs/x86/libopusfile-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86/libopusfile-0.dll -------------------------------------------------------------------------------- /Windows/codecs/x86/libopusfile.dll.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86/libopusfile.dll.a -------------------------------------------------------------------------------- /Windows/codecs/x86/libopusfile.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86/libopusfile.lib -------------------------------------------------------------------------------- /Windows/codecs/x86/libvorbis-0.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86/libvorbis-0.dll -------------------------------------------------------------------------------- /Windows/codecs/x86/libvorbis.dll.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86/libvorbis.dll.a -------------------------------------------------------------------------------- /Windows/codecs/x86/libvorbis.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86/libvorbis.lib -------------------------------------------------------------------------------- /Windows/codecs/x86/libvorbisfile-3.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86/libvorbisfile-3.dll -------------------------------------------------------------------------------- /Windows/codecs/x86/libvorbisfile.dll.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86/libvorbisfile.dll.a -------------------------------------------------------------------------------- /Windows/codecs/x86/libvorbisfile.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86/libvorbisfile.lib -------------------------------------------------------------------------------- /Windows/codecs/x86/libxmp.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86/libxmp.dll -------------------------------------------------------------------------------- /Windows/codecs/x86/libxmp.dll.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86/libxmp.dll.a -------------------------------------------------------------------------------- /Windows/codecs/x86/libxmp.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/codecs/x86/libxmp.lib -------------------------------------------------------------------------------- /Windows/curl/include/curl/curlver.h: -------------------------------------------------------------------------------- 1 | #ifndef CURLINC_CURLVER_H 2 | #define CURLINC_CURLVER_H 3 | /*************************************************************************** 4 | * _ _ ____ _ 5 | * Project ___| | | | _ \| | 6 | * / __| | | | |_) | | 7 | * | (__| |_| | _ <| |___ 8 | * \___|\___/|_| \_\_____| 9 | * 10 | * Copyright (C) Daniel Stenberg, , et al. 11 | * 12 | * This software is licensed as described in the file COPYING, which 13 | * you should have received as part of this distribution. The terms 14 | * are also available at https://curl.se/docs/copyright.html. 15 | * 16 | * You may opt to use, copy, modify, merge, publish, distribute and/or sell 17 | * copies of the Software, and permit persons to whom the Software is 18 | * furnished to do so, under the terms of the COPYING file. 19 | * 20 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 21 | * KIND, either express or implied. 22 | * 23 | * SPDX-License-Identifier: curl 24 | * 25 | ***************************************************************************/ 26 | 27 | /* This header file contains nothing but libcurl version info, generated by 28 | a script at release-time. This was made its own header file in 7.11.2 */ 29 | 30 | /* This is the global package copyright */ 31 | #define LIBCURL_COPYRIGHT "Daniel Stenberg, ." 32 | 33 | /* This is the version number of the libcurl package from which this header 34 | file origins: */ 35 | #define LIBCURL_VERSION "8.10.1-DEV" 36 | 37 | /* The numeric version number is also available "in parts" by using these 38 | defines: */ 39 | #define LIBCURL_VERSION_MAJOR 8 40 | #define LIBCURL_VERSION_MINOR 10 41 | #define LIBCURL_VERSION_PATCH 1 42 | 43 | /* This is the numeric version of the libcurl version number, meant for easier 44 | parsing and comparisons by programs. The LIBCURL_VERSION_NUM define will 45 | always follow this syntax: 46 | 47 | 0xXXYYZZ 48 | 49 | Where XX, YY and ZZ are the main version, release and patch numbers in 50 | hexadecimal (using 8 bits each). All three numbers are always represented 51 | using two digits. 1.2 would appear as "0x010200" while version 9.11.7 52 | appears as "0x090b07". 53 | 54 | This 6-digit (24 bits) hexadecimal number does not show pre-release number, 55 | and it is always a greater number in a more recent release. It makes 56 | comparisons with greater than and less than work. 57 | 58 | Note: This define is the full hex number and _does not_ use the 59 | CURL_VERSION_BITS() macro since curl's own configure script greps for it 60 | and needs it to contain the full number. 61 | */ 62 | #define LIBCURL_VERSION_NUM 0x080a01 63 | 64 | /* 65 | * This is the date and time when the full source package was created. The 66 | * timestamp is not stored in git, as the timestamp is properly set in the 67 | * tarballs by the maketgz script. 68 | * 69 | * The format of the date follows this template: 70 | * 71 | * "2007-11-23" 72 | */ 73 | #define LIBCURL_TIMESTAMP "[unreleased]" 74 | 75 | #define CURL_VERSION_BITS(x,y,z) ((x)<<16|(y)<<8|(z)) 76 | #define CURL_AT_LEAST_VERSION(x,y,z) \ 77 | (LIBCURL_VERSION_NUM >= CURL_VERSION_BITS(x, y, z)) 78 | 79 | #endif /* CURLINC_CURLVER_H */ 80 | -------------------------------------------------------------------------------- /Windows/curl/include/curl/header.h: -------------------------------------------------------------------------------- 1 | #ifndef CURLINC_HEADER_H 2 | #define CURLINC_HEADER_H 3 | /*************************************************************************** 4 | * _ _ ____ _ 5 | * Project ___| | | | _ \| | 6 | * / __| | | | |_) | | 7 | * | (__| |_| | _ <| |___ 8 | * \___|\___/|_| \_\_____| 9 | * 10 | * Copyright (C) Daniel Stenberg, , et al. 11 | * 12 | * This software is licensed as described in the file COPYING, which 13 | * you should have received as part of this distribution. The terms 14 | * are also available at https://curl.se/docs/copyright.html. 15 | * 16 | * You may opt to use, copy, modify, merge, publish, distribute and/or sell 17 | * copies of the Software, and permit persons to whom the Software is 18 | * furnished to do so, under the terms of the COPYING file. 19 | * 20 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 21 | * KIND, either express or implied. 22 | * 23 | * SPDX-License-Identifier: curl 24 | * 25 | ***************************************************************************/ 26 | 27 | #ifdef __cplusplus 28 | extern "C" { 29 | #endif 30 | 31 | struct curl_header { 32 | char *name; /* this might not use the same case */ 33 | char *value; 34 | size_t amount; /* number of headers using this name */ 35 | size_t index; /* ... of this instance, 0 or higher */ 36 | unsigned int origin; /* see bits below */ 37 | void *anchor; /* handle privately used by libcurl */ 38 | }; 39 | 40 | /* 'origin' bits */ 41 | #define CURLH_HEADER (1<<0) /* plain server header */ 42 | #define CURLH_TRAILER (1<<1) /* trailers */ 43 | #define CURLH_CONNECT (1<<2) /* CONNECT headers */ 44 | #define CURLH_1XX (1<<3) /* 1xx headers */ 45 | #define CURLH_PSEUDO (1<<4) /* pseudo headers */ 46 | 47 | typedef enum { 48 | CURLHE_OK, 49 | CURLHE_BADINDEX, /* header exists but not with this index */ 50 | CURLHE_MISSING, /* no such header exists */ 51 | CURLHE_NOHEADERS, /* no headers at all exist (yet) */ 52 | CURLHE_NOREQUEST, /* no request with this number was used */ 53 | CURLHE_OUT_OF_MEMORY, /* out of memory while processing */ 54 | CURLHE_BAD_ARGUMENT, /* a function argument was not okay */ 55 | CURLHE_NOT_BUILT_IN /* if API was disabled in the build */ 56 | } CURLHcode; 57 | 58 | CURL_EXTERN CURLHcode curl_easy_header(CURL *easy, 59 | const char *name, 60 | size_t index, 61 | unsigned int origin, 62 | int request, 63 | struct curl_header **hout); 64 | 65 | CURL_EXTERN struct curl_header *curl_easy_nextheader(CURL *easy, 66 | unsigned int origin, 67 | int request, 68 | struct curl_header *prev); 69 | 70 | #ifdef __cplusplus 71 | } /* end of extern "C" */ 72 | #endif 73 | 74 | #endif /* CURLINC_HEADER_H */ 75 | -------------------------------------------------------------------------------- /Windows/curl/include/curl/options.h: -------------------------------------------------------------------------------- 1 | #ifndef CURLINC_OPTIONS_H 2 | #define CURLINC_OPTIONS_H 3 | /*************************************************************************** 4 | * _ _ ____ _ 5 | * Project ___| | | | _ \| | 6 | * / __| | | | |_) | | 7 | * | (__| |_| | _ <| |___ 8 | * \___|\___/|_| \_\_____| 9 | * 10 | * Copyright (C) Daniel Stenberg, , et al. 11 | * 12 | * This software is licensed as described in the file COPYING, which 13 | * you should have received as part of this distribution. The terms 14 | * are also available at https://curl.se/docs/copyright.html. 15 | * 16 | * You may opt to use, copy, modify, merge, publish, distribute and/or sell 17 | * copies of the Software, and permit persons to whom the Software is 18 | * furnished to do so, under the terms of the COPYING file. 19 | * 20 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 21 | * KIND, either express or implied. 22 | * 23 | * SPDX-License-Identifier: curl 24 | * 25 | ***************************************************************************/ 26 | 27 | #ifdef __cplusplus 28 | extern "C" { 29 | #endif 30 | 31 | typedef enum { 32 | CURLOT_LONG, /* long (a range of values) */ 33 | CURLOT_VALUES, /* (a defined set or bitmask) */ 34 | CURLOT_OFF_T, /* curl_off_t (a range of values) */ 35 | CURLOT_OBJECT, /* pointer (void *) */ 36 | CURLOT_STRING, /* (char * to null-terminated buffer) */ 37 | CURLOT_SLIST, /* (struct curl_slist *) */ 38 | CURLOT_CBPTR, /* (void * passed as-is to a callback) */ 39 | CURLOT_BLOB, /* blob (struct curl_blob *) */ 40 | CURLOT_FUNCTION /* function pointer */ 41 | } curl_easytype; 42 | 43 | /* Flag bits */ 44 | 45 | /* "alias" means it is provided for old programs to remain functional, 46 | we prefer another name */ 47 | #define CURLOT_FLAG_ALIAS (1<<0) 48 | 49 | /* The CURLOPTTYPE_* id ranges can still be used to figure out what type/size 50 | to use for curl_easy_setopt() for the given id */ 51 | struct curl_easyoption { 52 | const char *name; 53 | CURLoption id; 54 | curl_easytype type; 55 | unsigned int flags; 56 | }; 57 | 58 | CURL_EXTERN const struct curl_easyoption * 59 | curl_easy_option_by_name(const char *name); 60 | 61 | CURL_EXTERN const struct curl_easyoption * 62 | curl_easy_option_by_id(CURLoption id); 63 | 64 | CURL_EXTERN const struct curl_easyoption * 65 | curl_easy_option_next(const struct curl_easyoption *prev); 66 | 67 | #ifdef __cplusplus 68 | } /* end of extern "C" */ 69 | #endif 70 | #endif /* CURLINC_OPTIONS_H */ 71 | -------------------------------------------------------------------------------- /Windows/curl/include/curl/stdcheaders.h: -------------------------------------------------------------------------------- 1 | #ifndef CURLINC_STDCHEADERS_H 2 | #define CURLINC_STDCHEADERS_H 3 | /*************************************************************************** 4 | * _ _ ____ _ 5 | * Project ___| | | | _ \| | 6 | * / __| | | | |_) | | 7 | * | (__| |_| | _ <| |___ 8 | * \___|\___/|_| \_\_____| 9 | * 10 | * Copyright (C) Daniel Stenberg, , et al. 11 | * 12 | * This software is licensed as described in the file COPYING, which 13 | * you should have received as part of this distribution. The terms 14 | * are also available at https://curl.se/docs/copyright.html. 15 | * 16 | * You may opt to use, copy, modify, merge, publish, distribute and/or sell 17 | * copies of the Software, and permit persons to whom the Software is 18 | * furnished to do so, under the terms of the COPYING file. 19 | * 20 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 21 | * KIND, either express or implied. 22 | * 23 | * SPDX-License-Identifier: curl 24 | * 25 | ***************************************************************************/ 26 | 27 | #include 28 | 29 | size_t fread(void *, size_t, size_t, FILE *); 30 | size_t fwrite(const void *, size_t, size_t, FILE *); 31 | 32 | int strcasecmp(const char *, const char *); 33 | int strncasecmp(const char *, const char *, size_t); 34 | 35 | #endif /* CURLINC_STDCHEADERS_H */ 36 | -------------------------------------------------------------------------------- /Windows/curl/include/curl/websockets.h: -------------------------------------------------------------------------------- 1 | #ifndef CURLINC_WEBSOCKETS_H 2 | #define CURLINC_WEBSOCKETS_H 3 | /*************************************************************************** 4 | * _ _ ____ _ 5 | * Project ___| | | | _ \| | 6 | * / __| | | | |_) | | 7 | * | (__| |_| | _ <| |___ 8 | * \___|\___/|_| \_\_____| 9 | * 10 | * Copyright (C) Daniel Stenberg, , et al. 11 | * 12 | * This software is licensed as described in the file COPYING, which 13 | * you should have received as part of this distribution. The terms 14 | * are also available at https://curl.se/docs/copyright.html. 15 | * 16 | * You may opt to use, copy, modify, merge, publish, distribute and/or sell 17 | * copies of the Software, and permit persons to whom the Software is 18 | * furnished to do so, under the terms of the COPYING file. 19 | * 20 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 21 | * KIND, either express or implied. 22 | * 23 | * SPDX-License-Identifier: curl 24 | * 25 | ***************************************************************************/ 26 | 27 | #ifdef __cplusplus 28 | extern "C" { 29 | #endif 30 | 31 | struct curl_ws_frame { 32 | int age; /* zero */ 33 | int flags; /* See the CURLWS_* defines */ 34 | curl_off_t offset; /* the offset of this data into the frame */ 35 | curl_off_t bytesleft; /* number of pending bytes left of the payload */ 36 | size_t len; /* size of the current data chunk */ 37 | }; 38 | 39 | /* flag bits */ 40 | #define CURLWS_TEXT (1<<0) 41 | #define CURLWS_BINARY (1<<1) 42 | #define CURLWS_CONT (1<<2) 43 | #define CURLWS_CLOSE (1<<3) 44 | #define CURLWS_PING (1<<4) 45 | #define CURLWS_OFFSET (1<<5) 46 | 47 | /* 48 | * NAME curl_ws_recv() 49 | * 50 | * DESCRIPTION 51 | * 52 | * Receives data from the websocket connection. Use after successful 53 | * curl_easy_perform() with CURLOPT_CONNECT_ONLY option. 54 | */ 55 | CURL_EXTERN CURLcode curl_ws_recv(CURL *curl, void *buffer, size_t buflen, 56 | size_t *recv, 57 | const struct curl_ws_frame **metap); 58 | 59 | /* flags for curl_ws_send() */ 60 | #define CURLWS_PONG (1<<6) 61 | 62 | /* 63 | * NAME curl_ws_send() 64 | * 65 | * DESCRIPTION 66 | * 67 | * Sends data over the websocket connection. Use after successful 68 | * curl_easy_perform() with CURLOPT_CONNECT_ONLY option. 69 | */ 70 | CURL_EXTERN CURLcode curl_ws_send(CURL *curl, const void *buffer, 71 | size_t buflen, size_t *sent, 72 | curl_off_t fragsize, 73 | unsigned int flags); 74 | 75 | /* bits for the CURLOPT_WS_OPTIONS bitmask: */ 76 | #define CURLWS_RAW_MODE (1<<0) 77 | 78 | CURL_EXTERN const struct curl_ws_frame *curl_ws_meta(CURL *curl); 79 | 80 | #ifdef __cplusplus 81 | } 82 | #endif 83 | 84 | #endif /* CURLINC_WEBSOCKETS_H */ 85 | -------------------------------------------------------------------------------- /Windows/curl/lib/x64/libcurl.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/curl/lib/x64/libcurl.dll -------------------------------------------------------------------------------- /Windows/curl/lib/x64/libcurl.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/curl/lib/x64/libcurl.lib -------------------------------------------------------------------------------- /Windows/curl/lib/x64/libcurl.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/curl/lib/x64/libcurl.pdb -------------------------------------------------------------------------------- /Windows/curl/lib/x86/libcurl.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/curl/lib/x86/libcurl.dll -------------------------------------------------------------------------------- /Windows/curl/lib/x86/libcurl.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/curl/lib/x86/libcurl.lib -------------------------------------------------------------------------------- /Windows/curl/lib/x86/libcurl.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/curl/lib/x86/libcurl.pdb -------------------------------------------------------------------------------- /Windows/misc/include/msinttypes/README.txt: -------------------------------------------------------------------------------- 1 | 2 | msinttypes-r29 from: 3 | 4 | http://msinttypes.googlecode.com/ 5 | http://code.google.com/p/msinttypes/ 6 | 7 | -------------------------------------------------------------------------------- /Windows/zlib/x64/zlib.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/zlib/x64/zlib.pdb -------------------------------------------------------------------------------- /Windows/zlib/x64/zlib1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/zlib/x64/zlib1.dll -------------------------------------------------------------------------------- /Windows/zlib/x86/zlib.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/zlib/x86/zlib.pdb -------------------------------------------------------------------------------- /Windows/zlib/x86/zlib1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrei-drexler/ironwail/a7a703a9e1ca06674769f8869343f87aca71c89a/Windows/zlib/x86/zlib1.dll --------------------------------------------------------------------------------