├── MAIN ├── maps │ ├── boss1.script │ ├── boss2.script │ ├── castle.script │ ├── church.script │ ├── crypt1.script │ ├── crypt2.script │ ├── dam.script │ ├── dark.script │ ├── dig.script │ ├── end.script │ ├── forest.script │ ├── norway.script │ ├── rocket.script │ ├── sfm.script │ ├── swf.script │ ├── tram.script │ ├── xlabs.script │ ├── assault.script │ ├── baseout.script │ ├── chateau.script │ ├── cutscene1.script │ ├── cutscene11.script │ ├── cutscene14.script │ ├── cutscene19.script │ ├── cutscene6.script │ ├── cutscene9.script │ ├── escape1.script │ ├── escape2.script │ ├── factory.script │ ├── trainyard.script │ ├── village1.script │ └── village2.script ├── rtcwpro_assets.dat ├── gfx │ ├── 2d │ │ ├── arrow.tga │ │ ├── black.tga │ │ ├── wpro.tga │ │ ├── rtcwpro.tga │ │ ├── trigger.jpg │ │ ├── blender_180.tga │ │ ├── closeWidget.tga │ │ ├── closeWindow.tga │ │ ├── crosshairk.tga │ │ ├── crosshairp.tga │ │ ├── openWidget.tga │ │ ├── hudchars_OSP1.tga │ │ ├── hudchars_OSP2.tga │ │ ├── resizeWindow.tga │ │ ├── crosshairl_alt.tga │ │ ├── maximizeWindow.tga │ │ └── rtcw-red-layered.tga │ ├── limbo │ │ ├── ic_medic.tga │ │ ├── ic_soldier.tga │ │ ├── ic_engineer.tga │ │ └── ic_lieutenant.tga │ └── flags │ │ └── world_flags.tga ├── icons │ ├── icon_arrow.tga │ ├── icon_arrow_left.tga │ ├── iconw_colt_1_sc.tga │ ├── iconw_knife_1_sc.tga │ ├── iconw_luger_1_sc.tga │ ├── iconw_mauser_1_sc.tga │ ├── iconw_mp40_1_sc.tga │ ├── iconw_pliers_1_sc.tga │ ├── iconw_sten_1_sc.tga │ ├── iconw_venom_1_sc.tga │ ├── iconw_ammopack_1_sc.tga │ ├── iconw_dynamite_1_sc.tga │ ├── iconw_grenade_1_sc.tga │ ├── iconw_medheal_1_sc.tga │ ├── iconw_syringe_1_sc.tga │ ├── iconw_thompson_1_sc.tga │ ├── iconw_panzerfaust_1_sc.tga │ ├── iconw_pineapple_1_sc.tga │ ├── iconw_flamethrower_1_sc.tga │ └── iconw_smokegrenade_1_sc.tga ├── sound │ ├── match │ │ ├── cn_1.wav │ │ ├── cn_2.wav │ │ ├── cn_3.wav │ │ ├── cn_4.wav │ │ ├── cn_5.wav │ │ ├── fight.wav │ │ ├── goat.wav │ │ ├── pause.wav │ │ ├── klaxon1.wav │ │ ├── klaxon2.wav │ │ ├── pause_m.wav │ │ ├── prepare.wav │ │ ├── referee.wav │ │ ├── teamchat.wav │ │ ├── vote-no.wav │ │ ├── vote-yes.wav │ │ ├── winaxis.wav │ │ ├── humiliation.wav │ │ ├── normalchat.wav │ │ ├── winallies.wav │ │ ├── winaxis_pro.wav │ │ └── winallies_pro.wav │ └── hitsounds │ │ ├── hitbody1.wav │ │ ├── hitbody2.wav │ │ ├── hitbody3.wav │ │ ├── hitbody4.wav │ │ ├── hitbody5.wav │ │ ├── hithead1.wav │ │ ├── hithead2.wav │ │ ├── hithead3.wav │ │ ├── hithead4.wav │ │ ├── hithead5.wav │ │ ├── hithead6.wav │ │ ├── hithead7.wav │ │ ├── hithead8.wav │ │ ├── hithead9.wav │ │ ├── hitteam1.wav │ │ └── hitteam2.wav ├── ui_mp │ ├── french │ │ ├── main.menu │ │ ├── options.menu │ │ ├── ingame_options.menu │ │ └── ingame_callvote.menu │ ├── german │ │ ├── credit.menu │ │ ├── demos.menu │ │ ├── ingame.menu │ │ ├── multi.menu │ │ ├── setup.menu │ │ ├── controls.menu │ │ ├── options.menu │ │ ├── ingame_options.menu │ │ ├── ingame_system.menu │ │ ├── ingame_callvote.menu │ │ └── ingame_controls.menu │ ├── italian │ │ ├── demos.menu │ │ ├── controls.menu │ │ ├── options.menu │ │ ├── ingame_callvote.menu │ │ ├── ingame_controls.menu │ │ └── ingame_options.menu │ ├── spanish │ │ ├── demos.menu │ │ ├── main.menu │ │ ├── controls.menu │ │ ├── ingame.menu │ │ ├── options.menu │ │ ├── ingame_callvote.menu │ │ ├── ingame_controls.menu │ │ └── ingame_options.menu │ ├── assets │ │ ├── WOLFICON.tga │ │ ├── backscreen.jpg │ │ ├── cursor_OSP.tga │ │ ├── menu_load.jpg │ │ ├── menu_start.jpg │ │ ├── WOLFICONBACK.tga │ │ ├── menu_select.jpg │ │ ├── WOLFICON - Copy.tga │ │ ├── wolficonback4.tga │ │ ├── WOLFFLAMELOGO - Copy.tga │ │ └── portraits │ │ │ └── spectator.jpg │ ├── connect.menu │ ├── menus.txt │ └── ingame.txt └── scripts │ ├── chars.shader │ ├── triggers.shader │ └── smoke.shader ├── Assets ├── rtcwpro_assets.dat ├── rtcwpro_models.dat ├── xhair │ ├── rtcwpro_xhair.dat │ └── gfx │ │ └── 2d │ │ ├── crosshairq.tga │ │ ├── crosshairr.tga │ │ ├── crosshairs.tga │ │ ├── crosshairt.tga │ │ ├── crosshairu.tga │ │ ├── crosshairv.tga │ │ ├── crosshairw.tga │ │ ├── crosshairx.tga │ │ └── crosshairy.tga ├── rtcwmp.png ├── WOLFICON.tga ├── WOLFICON.xcf ├── medpack.jpg ├── old │ ├── pro.xcf │ ├── wpro.png │ ├── wpro.xcf │ ├── metal.jpg │ ├── metal.xcf │ ├── wolf128.png │ ├── wolf512.png │ ├── rtcw-logo.png │ ├── wolfmetal.gif │ ├── wpro-flat.xcf │ ├── rtcw-metal.png │ ├── rtcwlogo1_2.png │ ├── wpro-flat2.xcf │ ├── wpro-white.png │ ├── rtcw-linelayer.xcf │ ├── rtcw-logo-layered.xcf │ ├── rtcw-red-layered.png │ ├── rtcw-chrome-layered.png │ ├── rtcw-chrome-layered.xcf │ ├── rtcw-metal-layered.png │ ├── rtcw-metal-layered.xcf │ ├── rtcw-white-layered.png │ └── rtcw-white-layered.xcf ├── proicon.ico ├── rtcwpro.png ├── rtcwpro.tga ├── rtcwpro.xcf ├── icons │ ├── arrow.tga │ ├── arrow.xcf │ ├── iconw_MP40_1_sc.xcf │ ├── iconw_colt_1_sc.xcf │ ├── iconw_sten_1_sc.xcf │ ├── iconw_knife_1_sc.xcf │ ├── iconw_luger_1_sc.xcf │ ├── iconw_mauser_1_sc.xcf │ ├── iconw_pliers_1_sc.xcf │ ├── iconw_venom_1_sc.xcf │ ├── iconw_dynamite_1_sc.xcf │ ├── iconw_grenade_1_sc.xcf │ ├── iconw_pineapple_1_sc.xcf │ ├── iconw_syringe_1_sc.xcf │ ├── iconw_thompson_1_sc.xcf │ ├── iconw_panzerfaust_1_sc.xcf │ ├── iconw_flamethrower_1_sc.xcf │ └── iconw_smokegrenade_1_sc.xcf ├── world_flags.xcf ├── RtCWProVector.png ├── RtCWProVector.tga ├── RtCWProVector.xcf ├── WOLFICONBACK.tga ├── rtcwpro-icon.png ├── wolficonback4.tga ├── wolficonback4.xcf ├── RtCWProVectorSmall.xcf ├── rtcwpro-icon.afdesign ├── RtCWProVector-black.png ├── wolficonback4-backup.tga └── ProBinds.txt ├── src ├── renderer │ └── ref_trin.def ├── ui │ ├── ui.def │ ├── makefile │ ├── makefile.valgrind │ ├── makefile.w32 │ ├── makefile_x86_64 │ └── ui.vcxproj.user ├── cgame │ ├── cgame.def │ ├── makefile.w32 │ ├── makefile │ ├── makefile.valgrind │ ├── cgame.vcxproj.user │ ├── makefile_x86_64 │ └── cg_ndp.h ├── game │ ├── game.def │ ├── makefile.w32 │ ├── g_sha1.c │ ├── makefile │ ├── makefile.valgrind │ ├── game.vcxproj.user │ ├── be_ai_gen.h │ └── g_shared.h ├── win32 │ ├── qe3.ico │ ├── clear.bmp │ ├── wolf.ico │ ├── winquake.res │ ├── background.bmp │ └── winquake.rc ├── extractfuncs │ ├── extractfuncs.bat │ ├── extractfuncs.exe │ ├── Construct │ ├── Conscript │ └── ChangeLog ├── client │ └── cl_keys.c ├── macosx │ ├── Quake3.icns │ ├── Wolf.icns │ ├── banner.jpg │ ├── pWolf.icns │ ├── Quake3.nib │ │ ├── objects.nib │ │ ├── info.nib │ │ └── classes.nib │ ├── RecordDemo.zsh │ ├── BuildRelease │ ├── timedemo.zsh │ ├── CGMouseDeltaFix.h │ ├── Q3Controller.h │ ├── macosx_glsmp_null.m │ └── macosx_glimp.h ├── unix │ ├── crashes.txt │ ├── run.sh │ ├── ldebug.sh │ ├── update_mp_bin.sh │ ├── ldd_check.pm │ ├── build_mappack.sh │ ├── Conscript-ui │ ├── sdl_local.h │ ├── extract-dedicated.pl │ ├── snapvector.nasm │ ├── unix_glw.h │ ├── Conscript-cgame │ └── sdl_core.c ├── resource.h ├── qcommon │ ├── crypto │ │ └── sha-1 │ │ │ ├── license.txt │ │ │ └── sha1.h │ ├── md5.h │ └── crash.h ├── server │ └── sv_control.c ├── botlib │ ├── be_aas_optimize.h │ └── be_aas_cluster.h ├── botai │ ├── ai_team.h │ └── ai_cmd.h ├── null │ └── null_input.c ├── bspc │ ├── aas_prunenodes.h │ ├── nodraw.c │ ├── aas_areamerging.h │ ├── aas_edgemelting.h │ ├── aas_map.h │ ├── aas_facemerging.h │ ├── aas_file.h │ ├── aas_gsubdiv.h │ └── be_aas_bspc.h ├── ProjectMacros.props └── splines │ └── Splines.vcxproj.filters ├── GeoIP.dat ├── changelog ├── 1.2.3-changelog.txt ├── 1.1.2-changelog.txt ├── 1.2.5-changelog.txt ├── 1.3.1-changelog.txt ├── 1.2.2-changelog.txt ├── 1.3-changelog.txt ├── 1.1.1-changelog.txt ├── 1.0-changelog.txt ├── 1.1-changelog.txt ├── 1.2.8-changelog.txt └── 1.2.7-changelog.txt ├── docker-scripts ├── WIN │ ├── WIN-BUILD-CONTAINER.bat │ ├── WIN-COMPILE-ALL.bat │ ├── WIN-COMPILE-UI.bat │ ├── WIN-COMPILE-CGAME.bat │ ├── WIN-COMPILE-GAME.bat │ ├── WIN-COMPILE-SERVER.bat │ ├── WIN-COMPILE-PK3.bat │ ├── copyDlls-newclient.bat │ ├── copyDlls.bat │ ├── copyDllsNoCgame.bat │ └── copyDlls-nopk3.bat ├── build-image-devserver.sh ├── run-compile-test.sh ├── build-image-compile-test.sh ├── run-compile-master.sh ├── build-image-compile-develop.sh ├── build-image-compile-master.sh ├── build-image-compile-develop-18.sh ├── build-image-compile-sandbox-18.sh ├── build-image-devserver-valgrind.sh ├── build-image-compile-develop-valgrind.sh ├── dockerfiles │ ├── scripts │ │ ├── make-all.sh │ │ ├── make-test.sh │ │ ├── make-master.sh │ │ ├── make-develop.sh │ │ ├── make-develop-18.sh │ │ ├── make-sandbox-18.sh │ │ └── make-develop-valgrind.sh │ ├── rtcwpro-compile-master │ ├── rtcwpro-compile-test │ ├── rtcwpro-compile-develop │ ├── rtcwpro-compile-sandbox-18 │ ├── rtcwpro-compile-develop-18 │ ├── rtcwpro-compile-develop-valgrind │ ├── rtcwpro-server-git │ ├── rtcwpro-compile │ ├── rtcwpro-compile-18 │ ├── basegame │ ├── rtcwpro-server-dev │ └── rtcwpro-server-dev-valgrind ├── run-compile-dev.sh ├── run-compile-dev-18.sh ├── Dockerfile ├── run-compile-sandbox-18.sh ├── run-compile-dev-valgrind.sh ├── build-image-git-server.sh ├── run-git-server.sh ├── run-devserver.sh ├── run-devserver-valgrind.sh ├── build │ ├── build-server.sh │ ├── build-pk3-assets.sh │ ├── build-pk3-bin.sh │ ├── build-all.sh │ ├── build-ui.sh │ ├── build-cgame.sh │ └── build-game.sh ├── build-image-basegame.sh ├── HOW ├── build-image-git-branch.sh └── build-image-git-branch-18.sh ├── cross-make.sh ├── .github └── ISSUE_TEMPLATE │ ├── config.yml │ ├── bug_report.md │ └── feature_request.md ├── SECURITY.md └── cross-make-mingw.sh /MAIN/maps/boss1.script: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /MAIN/maps/boss2.script: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /MAIN/maps/castle.script: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /MAIN/maps/church.script: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /MAIN/maps/crypt1.script: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /MAIN/maps/crypt2.script: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /MAIN/maps/dam.script: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /MAIN/maps/dark.script: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /MAIN/maps/dig.script: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /MAIN/maps/end.script: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /MAIN/maps/forest.script: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /MAIN/maps/norway.script: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /MAIN/maps/rocket.script: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /MAIN/maps/sfm.script: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /MAIN/maps/swf.script: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /MAIN/maps/tram.script: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /MAIN/maps/xlabs.script: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /MAIN/maps/assault.script: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /MAIN/maps/baseout.script: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /MAIN/maps/chateau.script: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /MAIN/maps/cutscene1.script: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /MAIN/maps/cutscene11.script: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /MAIN/maps/cutscene14.script: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /MAIN/maps/cutscene19.script: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /MAIN/maps/cutscene6.script: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /MAIN/maps/cutscene9.script: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /MAIN/maps/escape1.script: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /MAIN/maps/escape2.script: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /MAIN/maps/factory.script: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /MAIN/maps/trainyard.script: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /MAIN/maps/village1.script: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /MAIN/maps/village2.script: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /MAIN/rtcwpro_assets.dat: -------------------------------------------------------------------------------- 1 | rtcwpro_assets -------------------------------------------------------------------------------- /Assets/rtcwpro_assets.dat: -------------------------------------------------------------------------------- 1 | rtcwpro_assets -------------------------------------------------------------------------------- /Assets/rtcwpro_models.dat: -------------------------------------------------------------------------------- 1 | rtcwpro_models -------------------------------------------------------------------------------- /Assets/xhair/rtcwpro_xhair.dat: -------------------------------------------------------------------------------- 1 | rtcwpro_xhair -------------------------------------------------------------------------------- /src/renderer/ref_trin.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | GetRefAPI 3 | -------------------------------------------------------------------------------- /src/ui/ui.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | vmMain 3 | dllEntry 4 | -------------------------------------------------------------------------------- /src/cgame/cgame.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | vmMain 3 | dllEntry 4 | -------------------------------------------------------------------------------- /src/game/game.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | dllEntry 3 | vmMain 4 | -------------------------------------------------------------------------------- /GeoIP.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/GeoIP.dat -------------------------------------------------------------------------------- /Assets/rtcwmp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/rtcwmp.png -------------------------------------------------------------------------------- /src/win32/qe3.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/src/win32/qe3.ico -------------------------------------------------------------------------------- /Assets/WOLFICON.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/WOLFICON.tga -------------------------------------------------------------------------------- /Assets/WOLFICON.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/WOLFICON.xcf -------------------------------------------------------------------------------- /Assets/medpack.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/medpack.jpg -------------------------------------------------------------------------------- /Assets/old/pro.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/old/pro.xcf -------------------------------------------------------------------------------- /Assets/old/wpro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/old/wpro.png -------------------------------------------------------------------------------- /Assets/old/wpro.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/old/wpro.xcf -------------------------------------------------------------------------------- /Assets/proicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/proicon.ico -------------------------------------------------------------------------------- /Assets/rtcwpro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/rtcwpro.png -------------------------------------------------------------------------------- /Assets/rtcwpro.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/rtcwpro.tga -------------------------------------------------------------------------------- /Assets/rtcwpro.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/rtcwpro.xcf -------------------------------------------------------------------------------- /src/extractfuncs/extractfuncs.bat: -------------------------------------------------------------------------------- 1 | cd ..\game 2 | ..\extractfuncs\extractfuncs *.c 3 | cd .. -------------------------------------------------------------------------------- /src/win32/clear.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/src/win32/clear.bmp -------------------------------------------------------------------------------- /src/win32/wolf.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/src/win32/wolf.ico -------------------------------------------------------------------------------- /Assets/icons/arrow.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/icons/arrow.tga -------------------------------------------------------------------------------- /Assets/icons/arrow.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/icons/arrow.xcf -------------------------------------------------------------------------------- /Assets/old/metal.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/old/metal.jpg -------------------------------------------------------------------------------- /Assets/old/metal.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/old/metal.xcf -------------------------------------------------------------------------------- /Assets/old/wolf128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/old/wolf128.png -------------------------------------------------------------------------------- /Assets/old/wolf512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/old/wolf512.png -------------------------------------------------------------------------------- /Assets/world_flags.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/world_flags.xcf -------------------------------------------------------------------------------- /MAIN/gfx/2d/arrow.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/gfx/2d/arrow.tga -------------------------------------------------------------------------------- /MAIN/gfx/2d/black.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/gfx/2d/black.tga -------------------------------------------------------------------------------- /MAIN/gfx/2d/wpro.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/gfx/2d/wpro.tga -------------------------------------------------------------------------------- /src/client/cl_keys.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/src/client/cl_keys.c -------------------------------------------------------------------------------- /src/macosx/Quake3.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/src/macosx/Quake3.icns -------------------------------------------------------------------------------- /src/macosx/Wolf.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/src/macosx/Wolf.icns -------------------------------------------------------------------------------- /src/macosx/banner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/src/macosx/banner.jpg -------------------------------------------------------------------------------- /src/macosx/pWolf.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/src/macosx/pWolf.icns -------------------------------------------------------------------------------- /src/unix/crashes.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/src/unix/crashes.txt -------------------------------------------------------------------------------- /src/win32/winquake.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/src/win32/winquake.res -------------------------------------------------------------------------------- /Assets/RtCWProVector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/RtCWProVector.png -------------------------------------------------------------------------------- /Assets/RtCWProVector.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/RtCWProVector.tga -------------------------------------------------------------------------------- /Assets/RtCWProVector.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/RtCWProVector.xcf -------------------------------------------------------------------------------- /Assets/WOLFICONBACK.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/WOLFICONBACK.tga -------------------------------------------------------------------------------- /Assets/old/rtcw-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/old/rtcw-logo.png -------------------------------------------------------------------------------- /Assets/old/wolfmetal.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/old/wolfmetal.gif -------------------------------------------------------------------------------- /Assets/old/wpro-flat.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/old/wpro-flat.xcf -------------------------------------------------------------------------------- /Assets/rtcwpro-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/rtcwpro-icon.png -------------------------------------------------------------------------------- /Assets/wolficonback4.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/wolficonback4.tga -------------------------------------------------------------------------------- /Assets/wolficonback4.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/wolficonback4.xcf -------------------------------------------------------------------------------- /MAIN/gfx/2d/rtcwpro.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/gfx/2d/rtcwpro.tga -------------------------------------------------------------------------------- /MAIN/gfx/2d/trigger.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/gfx/2d/trigger.jpg -------------------------------------------------------------------------------- /src/win32/background.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/src/win32/background.bmp -------------------------------------------------------------------------------- /Assets/old/rtcw-metal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/old/rtcw-metal.png -------------------------------------------------------------------------------- /Assets/old/rtcwlogo1_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/old/rtcwlogo1_2.png -------------------------------------------------------------------------------- /Assets/old/wpro-flat2.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/old/wpro-flat2.xcf -------------------------------------------------------------------------------- /Assets/old/wpro-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/old/wpro-white.png -------------------------------------------------------------------------------- /MAIN/gfx/2d/blender_180.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/gfx/2d/blender_180.tga -------------------------------------------------------------------------------- /MAIN/gfx/2d/closeWidget.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/gfx/2d/closeWidget.tga -------------------------------------------------------------------------------- /MAIN/gfx/2d/closeWindow.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/gfx/2d/closeWindow.tga -------------------------------------------------------------------------------- /MAIN/gfx/2d/crosshairk.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/gfx/2d/crosshairk.tga -------------------------------------------------------------------------------- /MAIN/gfx/2d/crosshairp.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/gfx/2d/crosshairp.tga -------------------------------------------------------------------------------- /MAIN/gfx/2d/openWidget.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/gfx/2d/openWidget.tga -------------------------------------------------------------------------------- /MAIN/gfx/limbo/ic_medic.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/gfx/limbo/ic_medic.tga -------------------------------------------------------------------------------- /MAIN/icons/icon_arrow.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/icons/icon_arrow.tga -------------------------------------------------------------------------------- /MAIN/sound/match/cn_1.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/match/cn_1.wav -------------------------------------------------------------------------------- /MAIN/sound/match/cn_2.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/match/cn_2.wav -------------------------------------------------------------------------------- /MAIN/sound/match/cn_3.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/match/cn_3.wav -------------------------------------------------------------------------------- /MAIN/sound/match/cn_4.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/match/cn_4.wav -------------------------------------------------------------------------------- /MAIN/sound/match/cn_5.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/match/cn_5.wav -------------------------------------------------------------------------------- /MAIN/sound/match/fight.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/match/fight.wav -------------------------------------------------------------------------------- /MAIN/sound/match/goat.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/match/goat.wav -------------------------------------------------------------------------------- /MAIN/sound/match/pause.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/match/pause.wav -------------------------------------------------------------------------------- /MAIN/ui_mp/french/main.menu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/french/main.menu -------------------------------------------------------------------------------- /changelog/1.2.3-changelog.txt: -------------------------------------------------------------------------------- 1 | - server: fix early airstrikes bug 2 | - server: add vote_allow_cointoss 3 | -------------------------------------------------------------------------------- /docker-scripts/WIN/WIN-BUILD-CONTAINER.bat: -------------------------------------------------------------------------------- 1 | docker build --pull --rm -f "../Dockerfile" -t rtcwpro:build "." -------------------------------------------------------------------------------- /Assets/RtCWProVectorSmall.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/RtCWProVectorSmall.xcf -------------------------------------------------------------------------------- /Assets/old/rtcw-linelayer.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/old/rtcw-linelayer.xcf -------------------------------------------------------------------------------- /Assets/rtcwpro-icon.afdesign: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/rtcwpro-icon.afdesign -------------------------------------------------------------------------------- /MAIN/gfx/2d/hudchars_OSP1.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/gfx/2d/hudchars_OSP1.tga -------------------------------------------------------------------------------- /MAIN/gfx/2d/hudchars_OSP2.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/gfx/2d/hudchars_OSP2.tga -------------------------------------------------------------------------------- /MAIN/gfx/2d/resizeWindow.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/gfx/2d/resizeWindow.tga -------------------------------------------------------------------------------- /MAIN/gfx/limbo/ic_soldier.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/gfx/limbo/ic_soldier.tga -------------------------------------------------------------------------------- /MAIN/sound/match/klaxon1.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/match/klaxon1.wav -------------------------------------------------------------------------------- /MAIN/sound/match/klaxon2.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/match/klaxon2.wav -------------------------------------------------------------------------------- /MAIN/sound/match/pause_m.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/match/pause_m.wav -------------------------------------------------------------------------------- /MAIN/sound/match/prepare.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/match/prepare.wav -------------------------------------------------------------------------------- /MAIN/sound/match/referee.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/match/referee.wav -------------------------------------------------------------------------------- /MAIN/sound/match/teamchat.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/match/teamchat.wav -------------------------------------------------------------------------------- /MAIN/sound/match/vote-no.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/match/vote-no.wav -------------------------------------------------------------------------------- /MAIN/sound/match/vote-yes.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/match/vote-yes.wav -------------------------------------------------------------------------------- /MAIN/sound/match/winaxis.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/match/winaxis.wav -------------------------------------------------------------------------------- /MAIN/ui_mp/german/credit.menu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/german/credit.menu -------------------------------------------------------------------------------- /MAIN/ui_mp/german/demos.menu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/german/demos.menu -------------------------------------------------------------------------------- /MAIN/ui_mp/german/ingame.menu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/german/ingame.menu -------------------------------------------------------------------------------- /MAIN/ui_mp/german/multi.menu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/german/multi.menu -------------------------------------------------------------------------------- /MAIN/ui_mp/german/setup.menu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/german/setup.menu -------------------------------------------------------------------------------- /MAIN/ui_mp/italian/demos.menu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/italian/demos.menu -------------------------------------------------------------------------------- /MAIN/ui_mp/spanish/demos.menu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/spanish/demos.menu -------------------------------------------------------------------------------- /MAIN/ui_mp/spanish/main.menu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/spanish/main.menu -------------------------------------------------------------------------------- /Assets/RtCWProVector-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/RtCWProVector-black.png -------------------------------------------------------------------------------- /Assets/icons/iconw_MP40_1_sc.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/icons/iconw_MP40_1_sc.xcf -------------------------------------------------------------------------------- /Assets/icons/iconw_colt_1_sc.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/icons/iconw_colt_1_sc.xcf -------------------------------------------------------------------------------- /Assets/icons/iconw_sten_1_sc.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/icons/iconw_sten_1_sc.xcf -------------------------------------------------------------------------------- /Assets/old/rtcw-logo-layered.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/old/rtcw-logo-layered.xcf -------------------------------------------------------------------------------- /Assets/old/rtcw-red-layered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/old/rtcw-red-layered.png -------------------------------------------------------------------------------- /Assets/wolficonback4-backup.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/wolficonback4-backup.tga -------------------------------------------------------------------------------- /MAIN/gfx/2d/crosshairl_alt.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/gfx/2d/crosshairl_alt.tga -------------------------------------------------------------------------------- /MAIN/gfx/2d/maximizeWindow.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/gfx/2d/maximizeWindow.tga -------------------------------------------------------------------------------- /MAIN/gfx/2d/rtcw-red-layered.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/gfx/2d/rtcw-red-layered.tga -------------------------------------------------------------------------------- /MAIN/gfx/flags/world_flags.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/gfx/flags/world_flags.tga -------------------------------------------------------------------------------- /MAIN/gfx/limbo/ic_engineer.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/gfx/limbo/ic_engineer.tga -------------------------------------------------------------------------------- /MAIN/gfx/limbo/ic_lieutenant.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/gfx/limbo/ic_lieutenant.tga -------------------------------------------------------------------------------- /MAIN/icons/icon_arrow_left.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/icons/icon_arrow_left.tga -------------------------------------------------------------------------------- /MAIN/icons/iconw_colt_1_sc.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/icons/iconw_colt_1_sc.tga -------------------------------------------------------------------------------- /MAIN/icons/iconw_knife_1_sc.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/icons/iconw_knife_1_sc.tga -------------------------------------------------------------------------------- /MAIN/icons/iconw_luger_1_sc.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/icons/iconw_luger_1_sc.tga -------------------------------------------------------------------------------- /MAIN/icons/iconw_mauser_1_sc.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/icons/iconw_mauser_1_sc.tga -------------------------------------------------------------------------------- /MAIN/icons/iconw_mp40_1_sc.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/icons/iconw_mp40_1_sc.tga -------------------------------------------------------------------------------- /MAIN/icons/iconw_pliers_1_sc.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/icons/iconw_pliers_1_sc.tga -------------------------------------------------------------------------------- /MAIN/icons/iconw_sten_1_sc.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/icons/iconw_sten_1_sc.tga -------------------------------------------------------------------------------- /MAIN/icons/iconw_venom_1_sc.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/icons/iconw_venom_1_sc.tga -------------------------------------------------------------------------------- /MAIN/sound/match/humiliation.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/match/humiliation.wav -------------------------------------------------------------------------------- /MAIN/sound/match/normalchat.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/match/normalchat.wav -------------------------------------------------------------------------------- /MAIN/sound/match/winallies.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/match/winallies.wav -------------------------------------------------------------------------------- /MAIN/sound/match/winaxis_pro.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/match/winaxis_pro.wav -------------------------------------------------------------------------------- /MAIN/ui_mp/assets/WOLFICON.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/assets/WOLFICON.tga -------------------------------------------------------------------------------- /MAIN/ui_mp/assets/backscreen.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/assets/backscreen.jpg -------------------------------------------------------------------------------- /MAIN/ui_mp/assets/cursor_OSP.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/assets/cursor_OSP.tga -------------------------------------------------------------------------------- /MAIN/ui_mp/assets/menu_load.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/assets/menu_load.jpg -------------------------------------------------------------------------------- /MAIN/ui_mp/assets/menu_start.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/assets/menu_start.jpg -------------------------------------------------------------------------------- /MAIN/ui_mp/french/options.menu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/french/options.menu -------------------------------------------------------------------------------- /MAIN/ui_mp/german/controls.menu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/german/controls.menu -------------------------------------------------------------------------------- /MAIN/ui_mp/german/options.menu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/german/options.menu -------------------------------------------------------------------------------- /MAIN/ui_mp/italian/controls.menu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/italian/controls.menu -------------------------------------------------------------------------------- /MAIN/ui_mp/italian/options.menu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/italian/options.menu -------------------------------------------------------------------------------- /MAIN/ui_mp/spanish/controls.menu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/spanish/controls.menu -------------------------------------------------------------------------------- /MAIN/ui_mp/spanish/ingame.menu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/spanish/ingame.menu -------------------------------------------------------------------------------- /MAIN/ui_mp/spanish/options.menu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/spanish/options.menu -------------------------------------------------------------------------------- /Assets/icons/iconw_knife_1_sc.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/icons/iconw_knife_1_sc.xcf -------------------------------------------------------------------------------- /Assets/icons/iconw_luger_1_sc.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/icons/iconw_luger_1_sc.xcf -------------------------------------------------------------------------------- /Assets/icons/iconw_mauser_1_sc.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/icons/iconw_mauser_1_sc.xcf -------------------------------------------------------------------------------- /Assets/icons/iconw_pliers_1_sc.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/icons/iconw_pliers_1_sc.xcf -------------------------------------------------------------------------------- /Assets/icons/iconw_venom_1_sc.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/icons/iconw_venom_1_sc.xcf -------------------------------------------------------------------------------- /Assets/old/rtcw-chrome-layered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/old/rtcw-chrome-layered.png -------------------------------------------------------------------------------- /Assets/old/rtcw-chrome-layered.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/old/rtcw-chrome-layered.xcf -------------------------------------------------------------------------------- /Assets/old/rtcw-metal-layered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/old/rtcw-metal-layered.png -------------------------------------------------------------------------------- /Assets/old/rtcw-metal-layered.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/old/rtcw-metal-layered.xcf -------------------------------------------------------------------------------- /Assets/old/rtcw-white-layered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/old/rtcw-white-layered.png -------------------------------------------------------------------------------- /Assets/old/rtcw-white-layered.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/old/rtcw-white-layered.xcf -------------------------------------------------------------------------------- /Assets/xhair/gfx/2d/crosshairq.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/xhair/gfx/2d/crosshairq.tga -------------------------------------------------------------------------------- /Assets/xhair/gfx/2d/crosshairr.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/xhair/gfx/2d/crosshairr.tga -------------------------------------------------------------------------------- /Assets/xhair/gfx/2d/crosshairs.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/xhair/gfx/2d/crosshairs.tga -------------------------------------------------------------------------------- /Assets/xhair/gfx/2d/crosshairt.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/xhair/gfx/2d/crosshairt.tga -------------------------------------------------------------------------------- /Assets/xhair/gfx/2d/crosshairu.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/xhair/gfx/2d/crosshairu.tga -------------------------------------------------------------------------------- /Assets/xhair/gfx/2d/crosshairv.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/xhair/gfx/2d/crosshairv.tga -------------------------------------------------------------------------------- /Assets/xhair/gfx/2d/crosshairw.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/xhair/gfx/2d/crosshairw.tga -------------------------------------------------------------------------------- /Assets/xhair/gfx/2d/crosshairx.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/xhair/gfx/2d/crosshairx.tga -------------------------------------------------------------------------------- /Assets/xhair/gfx/2d/crosshairy.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/xhair/gfx/2d/crosshairy.tga -------------------------------------------------------------------------------- /MAIN/icons/iconw_ammopack_1_sc.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/icons/iconw_ammopack_1_sc.tga -------------------------------------------------------------------------------- /MAIN/icons/iconw_dynamite_1_sc.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/icons/iconw_dynamite_1_sc.tga -------------------------------------------------------------------------------- /MAIN/icons/iconw_grenade_1_sc.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/icons/iconw_grenade_1_sc.tga -------------------------------------------------------------------------------- /MAIN/icons/iconw_medheal_1_sc.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/icons/iconw_medheal_1_sc.tga -------------------------------------------------------------------------------- /MAIN/icons/iconw_syringe_1_sc.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/icons/iconw_syringe_1_sc.tga -------------------------------------------------------------------------------- /MAIN/icons/iconw_thompson_1_sc.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/icons/iconw_thompson_1_sc.tga -------------------------------------------------------------------------------- /MAIN/sound/hitsounds/hitbody1.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/hitsounds/hitbody1.wav -------------------------------------------------------------------------------- /MAIN/sound/hitsounds/hitbody2.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/hitsounds/hitbody2.wav -------------------------------------------------------------------------------- /MAIN/sound/hitsounds/hitbody3.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/hitsounds/hitbody3.wav -------------------------------------------------------------------------------- /MAIN/sound/hitsounds/hitbody4.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/hitsounds/hitbody4.wav -------------------------------------------------------------------------------- /MAIN/sound/hitsounds/hitbody5.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/hitsounds/hitbody5.wav -------------------------------------------------------------------------------- /MAIN/sound/hitsounds/hithead1.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/hitsounds/hithead1.wav -------------------------------------------------------------------------------- /MAIN/sound/hitsounds/hithead2.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/hitsounds/hithead2.wav -------------------------------------------------------------------------------- /MAIN/sound/hitsounds/hithead3.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/hitsounds/hithead3.wav -------------------------------------------------------------------------------- /MAIN/sound/hitsounds/hithead4.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/hitsounds/hithead4.wav -------------------------------------------------------------------------------- /MAIN/sound/hitsounds/hithead5.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/hitsounds/hithead5.wav -------------------------------------------------------------------------------- /MAIN/sound/hitsounds/hithead6.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/hitsounds/hithead6.wav -------------------------------------------------------------------------------- /MAIN/sound/hitsounds/hithead7.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/hitsounds/hithead7.wav -------------------------------------------------------------------------------- /MAIN/sound/hitsounds/hithead8.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/hitsounds/hithead8.wav -------------------------------------------------------------------------------- /MAIN/sound/hitsounds/hithead9.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/hitsounds/hithead9.wav -------------------------------------------------------------------------------- /MAIN/sound/hitsounds/hitteam1.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/hitsounds/hitteam1.wav -------------------------------------------------------------------------------- /MAIN/sound/hitsounds/hitteam2.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/hitsounds/hitteam2.wav -------------------------------------------------------------------------------- /MAIN/sound/match/winallies_pro.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/sound/match/winallies_pro.wav -------------------------------------------------------------------------------- /MAIN/ui_mp/assets/WOLFICONBACK.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/assets/WOLFICONBACK.tga -------------------------------------------------------------------------------- /MAIN/ui_mp/assets/menu_select.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/assets/menu_select.jpg -------------------------------------------------------------------------------- /src/extractfuncs/extractfuncs.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/src/extractfuncs/extractfuncs.exe -------------------------------------------------------------------------------- /src/macosx/Quake3.nib/objects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/src/macosx/Quake3.nib/objects.nib -------------------------------------------------------------------------------- /Assets/icons/iconw_dynamite_1_sc.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/icons/iconw_dynamite_1_sc.xcf -------------------------------------------------------------------------------- /Assets/icons/iconw_grenade_1_sc.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/icons/iconw_grenade_1_sc.xcf -------------------------------------------------------------------------------- /Assets/icons/iconw_pineapple_1_sc.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/icons/iconw_pineapple_1_sc.xcf -------------------------------------------------------------------------------- /Assets/icons/iconw_syringe_1_sc.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/icons/iconw_syringe_1_sc.xcf -------------------------------------------------------------------------------- /Assets/icons/iconw_thompson_1_sc.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/icons/iconw_thompson_1_sc.xcf -------------------------------------------------------------------------------- /MAIN/icons/iconw_panzerfaust_1_sc.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/icons/iconw_panzerfaust_1_sc.tga -------------------------------------------------------------------------------- /MAIN/icons/iconw_pineapple_1_sc.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/icons/iconw_pineapple_1_sc.tga -------------------------------------------------------------------------------- /MAIN/ui_mp/assets/WOLFICON - Copy.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/assets/WOLFICON - Copy.tga -------------------------------------------------------------------------------- /MAIN/ui_mp/assets/wolficonback4.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/assets/wolficonback4.tga -------------------------------------------------------------------------------- /MAIN/ui_mp/french/ingame_options.menu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/french/ingame_options.menu -------------------------------------------------------------------------------- /MAIN/ui_mp/german/ingame_options.menu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/german/ingame_options.menu -------------------------------------------------------------------------------- /MAIN/ui_mp/german/ingame_system.menu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/german/ingame_system.menu -------------------------------------------------------------------------------- /Assets/icons/iconw_panzerfaust_1_sc.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/icons/iconw_panzerfaust_1_sc.xcf -------------------------------------------------------------------------------- /MAIN/icons/iconw_flamethrower_1_sc.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/icons/iconw_flamethrower_1_sc.tga -------------------------------------------------------------------------------- /MAIN/icons/iconw_smokegrenade_1_sc.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/icons/iconw_smokegrenade_1_sc.tga -------------------------------------------------------------------------------- /MAIN/ui_mp/french/ingame_callvote.menu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/french/ingame_callvote.menu -------------------------------------------------------------------------------- /MAIN/ui_mp/german/ingame_callvote.menu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/german/ingame_callvote.menu -------------------------------------------------------------------------------- /MAIN/ui_mp/german/ingame_controls.menu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/german/ingame_controls.menu -------------------------------------------------------------------------------- /MAIN/ui_mp/italian/ingame_callvote.menu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/italian/ingame_callvote.menu -------------------------------------------------------------------------------- /MAIN/ui_mp/italian/ingame_controls.menu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/italian/ingame_controls.menu -------------------------------------------------------------------------------- /MAIN/ui_mp/italian/ingame_options.menu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/italian/ingame_options.menu -------------------------------------------------------------------------------- /MAIN/ui_mp/spanish/ingame_callvote.menu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/spanish/ingame_callvote.menu -------------------------------------------------------------------------------- /MAIN/ui_mp/spanish/ingame_controls.menu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/spanish/ingame_controls.menu -------------------------------------------------------------------------------- /MAIN/ui_mp/spanish/ingame_options.menu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/spanish/ingame_options.menu -------------------------------------------------------------------------------- /Assets/icons/iconw_flamethrower_1_sc.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/icons/iconw_flamethrower_1_sc.xcf -------------------------------------------------------------------------------- /Assets/icons/iconw_smokegrenade_1_sc.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/Assets/icons/iconw_smokegrenade_1_sc.xcf -------------------------------------------------------------------------------- /MAIN/ui_mp/assets/WOLFFLAMELOGO - Copy.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/assets/WOLFFLAMELOGO - Copy.tga -------------------------------------------------------------------------------- /MAIN/ui_mp/assets/portraits/spectator.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtcwmp-com/rtcwPro/HEAD/MAIN/ui_mp/assets/portraits/spectator.jpg -------------------------------------------------------------------------------- /src/unix/run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cd `dirname $0` 3 | cd debug-x86-Linux-2.2/out 4 | ./wolf.x86 +set fs_basepath /usr/local/games/wolfenstein 5 | -------------------------------------------------------------------------------- /docker-scripts/build-image-devserver.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | docker build -t rtcwpro/server-dev:1.0 -f dockerfiles/rtcwpro-server-dev ./dockerfiles 3 | -------------------------------------------------------------------------------- /docker-scripts/run-compile-test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | docker run --mount type=bind,src=`pwd`../build,dst=/home/compile/mnt rtcwpro/compile-test:1.0 3 | -------------------------------------------------------------------------------- /docker-scripts/build-image-compile-test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | docker build -t rtcwpro/compile-test:1.0 -f dockerfiles/rtcwpro-compile-test ./dockerfiles 3 | -------------------------------------------------------------------------------- /docker-scripts/run-compile-master.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | docker run --mount type=bind,src=`pwd`../build,dst=/home/compile/mnt rtcwpro/compile-master:1.0 3 | -------------------------------------------------------------------------------- /docker-scripts/build-image-compile-develop.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | docker build -t rtcwpro/compile-dev:1.0 -f dockerfiles/rtcwpro-compile-develop ./dockerfiles 3 | -------------------------------------------------------------------------------- /docker-scripts/build-image-compile-master.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | docker build -t rtcwpro/compile-master:1.0 -f dockerfiles/rtcwpro-compile-master ./dockerfiles 3 | -------------------------------------------------------------------------------- /docker-scripts/build-image-compile-develop-18.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | docker build -t rtcwpro/compile-dev-18:1.0 -f dockerfiles/rtcwpro-compile-develop-18 ./dockerfiles 3 | -------------------------------------------------------------------------------- /docker-scripts/build-image-compile-sandbox-18.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | docker build -t rtcwpro/compile-sandbox-18:1.0 -f dockerfiles/rtcwpro-compile-sandbox-18 ./dockerfiles 3 | -------------------------------------------------------------------------------- /docker-scripts/build-image-devserver-valgrind.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | docker build -t rtcwpro/server-dev-valgrind:1.0 -f dockerfiles/rtcwpro-server-dev-valgrind ./dockerfiles 3 | -------------------------------------------------------------------------------- /cross-make.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | PREFIX=/usr/local/cross-tools 4 | TARGET=i386-mingw32msvc 5 | PATH="$PREFIX/bin:$PREFIX/$TARGET/bin:$PATH" 6 | export PATH 7 | exec make $* 8 | -------------------------------------------------------------------------------- /docker-scripts/build-image-compile-develop-valgrind.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | docker build -t rtcwpro/compile-dev-valgrind:1.0 -f dockerfiles/rtcwpro-compile-develop-valgrind ./dockerfiles 3 | -------------------------------------------------------------------------------- /docker-scripts/dockerfiles/scripts/make-all.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | argv=("$@") 3 | 4 | git clone -b ${argv[0]} https://github.com/rtcwmp-com/rtcwPro rtcwpro 5 | cd rtcwpro/src 6 | make all 7 | -------------------------------------------------------------------------------- /docker-scripts/dockerfiles/scripts/make-test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | output=/tmp/rtcwpro-test 3 | 4 | git clone -b test https://github.com/rtcwmp-com/rtcwPro $output 5 | cd $output/src 6 | make all 7 | -------------------------------------------------------------------------------- /docker-scripts/dockerfiles/scripts/make-master.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | output=/tmp/rtcwpro-master 3 | 4 | git clone -b master https://github.com/rtcwmp-com/rtcwPro $output 5 | cd $output/src 6 | make all 7 | -------------------------------------------------------------------------------- /docker-scripts/run-compile-dev.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | if [ ! -d "../build" ]; then 3 | mkdir ../build 4 | fi 5 | docker run --mount type=bind,src=`pwd`/../build,dst=/home/compile/mnt rtcwpro/compile-dev:1.0 6 | -------------------------------------------------------------------------------- /docker-scripts/run-compile-dev-18.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | if [ ! -d "../build" ]; then 3 | mkdir ../build 4 | fi 5 | docker run --mount type=bind,src=`pwd`/../build,dst=/home/compile/mnt rtcwpro/compile-dev-18:1.0 6 | -------------------------------------------------------------------------------- /docker-scripts/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:18.04 2 | RUN dpkg --add-architecture i386 3 | RUN apt-get update && apt-get install -y g++-multilib mingw-w64 make dos2unix zip libgl-dev nasm libjansson-dev zlib1g-dev:i386 curl -------------------------------------------------------------------------------- /docker-scripts/run-compile-sandbox-18.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | if [ ! -d "../build" ]; then 3 | mkdir ../build 4 | fi 5 | docker run --mount type=bind,src=`pwd`/../build,dst=/home/compile/mnt rtcwpro/compile-sandbox-18:1.0 6 | -------------------------------------------------------------------------------- /docker-scripts/run-compile-dev-valgrind.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | if [ ! -d "../build" ]; then 3 | mkdir ../build 4 | fi 5 | docker run --mount type=bind,src=`pwd`/../build,dst=/home/compile/mnt rtcwpro/compile-dev-valgrind:1.0 6 | -------------------------------------------------------------------------------- /src/extractfuncs/Construct: -------------------------------------------------------------------------------- 1 | # extractfunc top-level Construct 2 | # 3 | # Sep. 2001 TTimo 4 | # 5 | 6 | Default '.'; 7 | Link 'out' => '../..'; 8 | Build 'out/src/extractfuncs/Conscript'; 9 | 10 | -------------------------------------------------------------------------------- /src/macosx/RecordDemo.zsh: -------------------------------------------------------------------------------- 1 | #!/bin/zsh -x 2 | 3 | /Local/Public/bungi/BuildOutput/Quake3.app/Contents/MacOS/Quake3 \ 4 | +set sv_pure 0 \ 5 | +set g_syncronousClients 1 \ 6 | +map q3dm6 \ 7 | +record foo 8 | 9 | 10 | -------------------------------------------------------------------------------- /docker-scripts/dockerfiles/scripts/make-develop.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | git clone -b develop https://github.com/rtcwmp-com/rtcwPro rtcwPro-develop 4 | cd rtcwPro-develop/src 5 | make all 6 | cp -R /home/compile/rtcwPro-develop/build/* /home/compile/mnt 7 | -------------------------------------------------------------------------------- /docker-scripts/WIN/WIN-COMPILE-ALL.bat: -------------------------------------------------------------------------------- 1 | cd ../.. 2 | docker run -it --rm -v %cd%:/rtcwpro rtcwpro:build dos2unix /rtcwpro/docker-scripts/build/build-all.sh 3 | docker run -it --rm -v %cd%:/rtcwpro rtcwpro:build ./rtcwpro/docker-scripts/build/build-all.sh 4 | pause -------------------------------------------------------------------------------- /docker-scripts/WIN/WIN-COMPILE-UI.bat: -------------------------------------------------------------------------------- 1 | cd ../.. 2 | docker run -it --rm -v %cd%:/rtcwpro rtcwpro:build dos2unix /rtcwpro/docker-scripts/build/build-ui.sh 3 | docker run -it --rm -v %cd%:/rtcwpro rtcwpro:build ./rtcwpro/docker-scripts/build/build-ui.sh 4 | pause -------------------------------------------------------------------------------- /docker-scripts/dockerfiles/scripts/make-develop-18.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | git clone -b develop https://github.com/rtcwmp-com/rtcwPro rtcwPro-develop 4 | cd rtcwPro-develop/src 5 | make all 6 | cp -R /home/compile/rtcwPro-develop/build/* /home/compile/mnt 7 | -------------------------------------------------------------------------------- /docker-scripts/dockerfiles/scripts/make-sandbox-18.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | git clone -b sandbox https://github.com/rtcwmp-com/rtcwPro rtcwPro-sandbox 4 | cd rtcwPro-sandbox/src 5 | make all 6 | cp -R /home/compile/rtcwPro-sandbox/build/* /home/compile/mnt 7 | -------------------------------------------------------------------------------- /docker-scripts/WIN/WIN-COMPILE-CGAME.bat: -------------------------------------------------------------------------------- 1 | cd ../.. 2 | docker run -it --rm -v %cd%:/rtcwpro rtcwpro:build dos2unix/rtcwpro/docker-scripts/build/build-cgame.sh 3 | docker run -it --rm -v %cd%:/rtcwpro rtcwpro:build ./rtcwpro/docker-scripts/build/build-cgame.sh 4 | pause -------------------------------------------------------------------------------- /docker-scripts/WIN/WIN-COMPILE-GAME.bat: -------------------------------------------------------------------------------- 1 | cd ../.. 2 | docker run -it --rm -v %cd%:/rtcwpro rtcwpro:build dos2unix /rtcwpro/docker-scripts/build/build-game.sh 3 | docker run -it --rm -v %cd%:/rtcwpro rtcwpro:build ./rtcwpro/docker-scripts/build/build-game.sh 4 | pause -------------------------------------------------------------------------------- /docker-scripts/WIN/WIN-COMPILE-SERVER.bat: -------------------------------------------------------------------------------- 1 | cd ../.. 2 | docker run -it --rm -v %cd%:/rtcwpro rtcwpro:build dos2unix /rtcwpro/docker-scripts/build/build-server.sh 3 | docker run -it --rm -v %cd%:/rtcwpro rtcwpro:build ./rtcwpro/docker-scripts/build/build-server.sh 4 | pause -------------------------------------------------------------------------------- /Assets/ProBinds.txt: -------------------------------------------------------------------------------- 1 | // RtcwPro binds not in OSP 2 | 3 | +stats // stats window 4 | forcetapout // helps not miss spawn at the last second (you can add this to your jump bind i.e. bind key +moveup; forcetapout or create a new bind) 5 | minimize // minimize the client 6 | -------------------------------------------------------------------------------- /docker-scripts/dockerfiles/scripts/make-develop-valgrind.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | git clone -b develop https://github.com/rtcwmp-com/rtcwPro rtcwPro-develop 4 | cd rtcwPro-develop/src 5 | make all-valgrind 6 | cp -R /home/compile/rtcwPro-develop/build/* /home/compile/mnt 7 | -------------------------------------------------------------------------------- /changelog/1.1.2-changelog.txt: -------------------------------------------------------------------------------- 1 | Release 1.1.2 2 | 3 | Changelog 4 | 5 | added nopicmip to tree/ivy/truss shaders so high values of picmip will not remove them 6 | Addressed some of known exploits (including GC command) 7 | do not allow damage from world during pause (barbwire, etc) -------------------------------------------------------------------------------- /src/extractfuncs/Conscript: -------------------------------------------------------------------------------- 1 | # extractfuncs building 2 | 3 | $env = new cons( 4 | CC => 'gcc', 5 | CFLAGS => '-g -DSCREWUP ' 6 | ); 7 | 8 | Program $env 'extractfuncs', 'extractfuncs.c', 'l_log.c', 'l_memory.c', 'l_precomp.c', 'l_script.c'; 9 | Install $env '#', 'extractfuncs'; 10 | -------------------------------------------------------------------------------- /src/macosx/Quake3.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBMainMenuLocation 6 | 15 329 121 44 0 47 1152 801 7 | 8 | 9 | -------------------------------------------------------------------------------- /changelog/1.2.5-changelog.txt: -------------------------------------------------------------------------------- 1 | - client/server: revert #323 fix that 'broke' hitreg 2 | - server: clean out SP entities on the server side to prevent crashes when loading SP maps 3 | - server: make sv_checkversion read only 4 | - client: revert events to 1.2.3 state 5 | - client: deprecate cg_pauseMusic due to a possible crash 6 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: true 2 | contact_links: 3 | - name: Ask a question 4 | about: Ask questions and discuss with other users of the library. 5 | url: https://github.com/rtcwmp-com/rtcwPro/discussions 6 | - name: Discord Server 7 | about: Use our official Discord server to ask for help and questions as well. 8 | url: https://discord.gg/q83dkY36 -------------------------------------------------------------------------------- /src/macosx/BuildRelease: -------------------------------------------------------------------------------- 1 | #!/bin/zsh 2 | 3 | APPNAME="Quake3" 4 | PACKAGENAME= Quake3 5 | 6 | (cd $OMNI_SOURCE_ROOT; ./Build Quake3 install) 7 | 8 | rm -rf "/tmp/$APPNAME" 9 | mkdir "/tmp/$APPNAME" 10 | cp "Read Me.rtf" "/tmp/$APPNAME" 11 | 12 | cd /Users/Shared/$USER/InstalledProducts 13 | gnutar cf - FAKK2.app | (cd "/tmp/$APPNAME"; gnutar xf -) 14 | 15 | cd "/tmp/$APPNAME" 16 | sudo ~bungi/Unix/bin/files2image $PACKAGENAME ./* 17 | 18 | -------------------------------------------------------------------------------- /src/unix/ldebug.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # quick hacky script to make my life easier 3 | 4 | DIR=debug-x86-Linux-2.2-light/out 5 | 6 | echo -e "cd $DIR; export DISPLAY=spoutnik:0.0; gvd wolfded.x86 --pargs +set fs_basepath /usr/local/games/wolfenstein-dedicated +set fs_debug 1 +set developer 1 +set sv_pure 1 +set dedicated 2 +set g_gametype 7 +map mp_trenchtoast" > .debug.sh.tmp 7 | 8 | chmod +x .debug.sh.tmp 9 | xterm -e "./.debug.sh.tmp" 10 | 11 | -------------------------------------------------------------------------------- /docker-scripts/build-image-git-server.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | argv=("$@") 4 | if [ -z "${argv[0]}" ] 5 | then 6 | echo "Usage: $0 " 7 | exit 1 8 | fi 9 | 10 | if [ -d "dockerfiles/build" ]; then 11 | rm -rf dockerfiles/build 12 | fi 13 | cp -r ../build dockerfiles 14 | 15 | docker build --build-arg IMAGE="${argv[0]}:${argv[1]}" -t ${argv[0]}-server:${argv[1]} -f dockerfiles/rtcwpro-server-git ./dockerfiles 16 | -------------------------------------------------------------------------------- /docker-scripts/WIN/WIN-COMPILE-PK3.bat: -------------------------------------------------------------------------------- 1 | cd ../.. 2 | docker run -it --rm -v %cd%:/rtcwpro rtcwpro:build dos2unix /rtcwpro/docker-scripts/build/build-pk3-assets.sh 3 | docker run -it --rm -v %cd%:/rtcwpro rtcwpro:build ./rtcwpro/docker-scripts/build/build-pk3-assets.sh 4 | 5 | docker run -it --rm -v %cd%:/rtcwpro rtcwpro:build dos2unix /rtcwpro/docker-scripts/build/build-pk3-bin.sh 6 | docker run -it --rm -v %cd%:/rtcwpro rtcwpro:build ./rtcwpro/docker-scripts/build/build-pk3-bin.sh 7 | pause -------------------------------------------------------------------------------- /docker-scripts/run-git-server.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | argv=("$@") 3 | if [ -z "${argv[0]}" ] 4 | then 5 | echo "Usage: $0 " 6 | exit 1 7 | fi 8 | 9 | docker pull snappas/rtcwpro-server:${argv[0]} 10 | 11 | addrs=(`hostname -I`) 12 | docker run -d \ 13 | -p "${addrs[0]}:27960:27960/udp" \ 14 | -e "MAPS=adlernest_b3:te_escape2:te_frostbite" \ 15 | -e "PASSWORD=war" \ 16 | -e "REFEREEPASSWORD=pass123" \ 17 | -e "SERVERCONF=comp" \ 18 | snappas/rtcwpro-server:${argv[0]} 19 | -------------------------------------------------------------------------------- /src/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by wolf.rc 4 | // 5 | #define IDI_ICON1 101 6 | 7 | // Next default values for new objects 8 | // 9 | #ifdef APSTUDIO_INVOKED 10 | #ifndef APSTUDIO_READONLY_SYMBOLS 11 | #define _APS_NEXT_RESOURCE_VALUE 102 12 | #define _APS_NEXT_COMMAND_VALUE 40001 13 | #define _APS_NEXT_CONTROL_VALUE 1001 14 | #define _APS_NEXT_SYMED_VALUE 101 15 | #endif 16 | #endif 17 | -------------------------------------------------------------------------------- /changelog/1.3.1-changelog.txt: -------------------------------------------------------------------------------- 1 | 🛠️ Enhancements: 2 | 3 | - shoutcast - added F1-12 follow keys for shoutcast mode - /scsfollow enters shoutcast input mode for F1-12 hotkeys, enter exits shoutcast input mode 4 | 5 | 🔧 Bug Fixes: 6 | 7 | - fixed crosshair health bar of teammates 8 | - backed out pause music changes 9 | - shoutcast - revert small change that is messing up demo controls 10 | - shoutcast - turn off scs input mode if scs logs out 11 | 12 | No client changes made from 1.3.0 - updating client is not needed -------------------------------------------------------------------------------- /docker-scripts/run-devserver.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | addrs=(`hostname -I`) 3 | corepath=(`cat /proc/sys/kernel/core_pattern`) 4 | docker run -d \ 5 | --mount type=bind,src=`pwd`/../build,dst=/home/game/dev \ 6 | --mount type=bind,src=${corepath%/*},dst=${corepath%/*} \ 7 | --ulimit core=-1 \ 8 | -p "${addrs[0]}:27960:27960/udp" \ 9 | -e "MAPS=adlernest_b3:te_escape2:te_frostbite" \ 10 | -e "PASSWORD=war" \ 11 | -e "REFEREEPASSWORD=pass123" \ 12 | -e "SERVERCONF=comp" \ 13 | rtcwpro/server-dev:1.0 14 | -------------------------------------------------------------------------------- /MAIN/ui_mp/connect.menu: -------------------------------------------------------------------------------- 1 | #include "ui_mp/menudef.h" 2 | 3 | 4 | { 5 | 6 | menuDef { 7 | name "Connect" 8 | background "gfx/2d/black.tga" 9 | rect 0 0 640 480 10 | fullScreen MENU_FALSE 11 | visible MENU_FALSE 12 | style WINDOW_STYLE_SHADER 13 | 14 | itemDef { 15 | name window 16 | group connect 17 | rect 475 390 142 80 18 | //rect 175 250 300 175 19 | background "gfx/2d/rtcwpro.tga" 20 | visible MENU_TRUE 21 | style WINDOW_STYLE_SHADER 22 | decoration 23 | } 24 | 25 | } // menuDef 26 | } // context -------------------------------------------------------------------------------- /docker-scripts/run-devserver-valgrind.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | addrs=(`hostname -I`) 3 | corepath=(`cat /proc/sys/kernel/core_pattern`) 4 | docker run -ti \ 5 | --mount type=bind,src=`pwd`/../build,dst=/home/game/dev \ 6 | --mount type=bind,src=${corepath%/*},dst=${corepath%/*} \ 7 | --ulimit core=-1 \ 8 | -p "${addrs[0]}:27960:27960/udp" \ 9 | -e "MAPS=adlernest_b3:te_escape2:te_frostbite" \ 10 | -e "PASSWORD=war" \ 11 | -e "REFEREEPASSWORD=pass123" \ 12 | -e "SERVERCONF=comp" \ 13 | rtcwpro/server-dev-valgrind:1.0 14 | -------------------------------------------------------------------------------- /src/macosx/Quake3.nib/classes.nib: -------------------------------------------------------------------------------- 1 | { 2 | IBClasses = ( 3 | { 4 | ACTIONS = {showHelp = id; }; 5 | CLASS = FirstResponder; 6 | LANGUAGE = ObjC; 7 | SUPERCLASS = NSObject; 8 | }, 9 | { 10 | ACTIONS = {paste = id; requestTerminate = id; }; 11 | CLASS = Q3Controller; 12 | LANGUAGE = ObjC; 13 | OUTLETS = {bannerPanel = id; }; 14 | SUPERCLASS = NSObject; 15 | } 16 | ); 17 | IBVersion = 1; 18 | } -------------------------------------------------------------------------------- /src/unix/update_mp_bin.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # hardcoding some stuff to make it easier 3 | # $1 : path of the existing pk3 4 | # $2 : the path to the .so to update 5 | 6 | UPTMP="/tmp/update_mp_bin" 7 | 8 | CGAME="cgame.mp.i386.so" 9 | UI="ui.mp.i386.so" 10 | ZIPFILE="$1" 11 | # we need absolute path 12 | TEST=`echo "$ZIPFILE" | grep '^/'` 13 | if [ "x" == "x$TEST" ] 14 | then 15 | ZIPFILE="$PWD/$ZIPFILE" 16 | fi 17 | shift 18 | rm -rf $UPTMP 19 | mkdir $UPTMP 20 | cp $1/$CGAME $1/$UI $UPTMP 21 | cd $UPTMP 22 | strip *.so 23 | zip $ZIPFILE $CGAME $UI 24 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | ## Supported Versions 4 | 5 | Only the latest version of the project is supported with security updates. 6 | Users are encouraged to upgrade their server or client version to the latest release as soon as possible. 7 | 8 | ## Reporting a Vulnerability 9 | 10 | If you have discovered an issue that you believe is a vulnerability, please reach us by using one of the resources below: 11 | 12 | Post issue on Github https://github.com/rtcwmp-com/rtcwPro/issues 13 | 14 | RtcwMP Discord http://discord.gg/fn9JVWnbTx 15 | -------------------------------------------------------------------------------- /changelog/1.2.2-changelog.txt: -------------------------------------------------------------------------------- 1 | - server: lowercase expected file name for map configs (linux) 2 | - server: lowercase expected file name for .spawns files (linux) 3 | - server: only exec map configs on map load (not map restart) 4 | - server: fix ready status being reset on client death 5 | - server: shoutcasters can follow other shoutcasters by /follow id 6 | - server: shoutcasters can /followobj to follow active obj carrier (if any) 7 | - server: shoutcasters can /noclip 8 | - server: add map name search on /callvote map 9 | - server: add /maps to list maps on server 10 | -------------------------------------------------------------------------------- /docker-scripts/build/build-server.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | OUTPUT_FOLDER=/rtcwpro/output 4 | mkdir -p "$OUTPUT_FOLDER" 5 | 6 | echo '############################################################################################' 7 | echo '################################## BUILD SERVER #######################################' 8 | echo '############################################################################################' 9 | cd /rtcwpro/src/unix 10 | echo '' 11 | echo '' 12 | echo '' 13 | make -f makefile-win 14 | rm ../*/*.o 15 | mv wolfded.x86 $OUTPUT_FOLDER 16 | -------------------------------------------------------------------------------- /docker-scripts/build-image-basegame.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | read -p "Steam username: " username 4 | read -p "Steam password: " password 5 | read -p "Steam guardcode (press enter to skip): " guardcode 6 | 7 | if [[ -z "$guardcode" ]]; 8 | then 9 | docker build --build-arg STEAM_USER="${username}" --build-arg STEAM_PASS="${password}" -t rtcwpro/rtcw-base:1.0 -f dockerfiles/basegame ./dockerfiles 10 | else 11 | docker build --build-arg STEAM_USER="${username}" --build-arg STEAM_PASS="${password}" --build-arg GUARDCODE="${guardcode}" -t rtcwpro/rtcw-base:1.0 -f dockerfiles/basegame ./dockerfiles 12 | fi 13 | -------------------------------------------------------------------------------- /changelog/1.3-changelog.txt: -------------------------------------------------------------------------------- 1 | 🛠️ Changelog Highlights: 2 | 3 | - Fixed panzer ammo issue where player loses 1 rocket when picking up ammo pack right after spawning 4 | - Debug logging for ConfigString changes 5 | - Colored player names in stats output 6 | - Client HTTP downloads from RtcwPub 7 | - Shoutcast Overlay: Shoutcast overlay added to enhance your broadcasting and spectating experience. 8 | - Backed out pmext changes to sten/venom overheat 9 | 10 | 🔧 Bug Fixes and Improvements: 11 | 12 | Backed out original HTTP downloads that didn't work. 13 | Various under-the-hood optimizations and stability improvements. 14 | -------------------------------------------------------------------------------- /src/unix/ldd_check.pm: -------------------------------------------------------------------------------- 1 | package ldd_check; 2 | 3 | # Package constructor 4 | sub new 5 | { 6 | my $this = {}; 7 | bless $this; 8 | 9 | return $this; 10 | } 11 | 12 | sub do_check { 13 | ($path, $abort) = @_; 14 | print("ldd check on $path\n"); 15 | $line = `ldd -r $path 2>&1 | grep 'undefined symbol'`; 16 | chop($line); 17 | if (length($line) > 0) 18 | { 19 | # verbose it 20 | print("ldd -r $path\n"); 21 | system("ldd -r $path 2>&1"); 22 | # error out if asked for 23 | if ($abort == 1) 24 | { 25 | die "Undefined symbols in $path, aborting"; 26 | } 27 | } 28 | } 29 | 30 | # Close package 31 | 1; 32 | -------------------------------------------------------------------------------- /MAIN/scripts/chars.shader: -------------------------------------------------------------------------------- 1 | // OSP character-set definitions 2 | 3 | gfx/2d/hudchars_OSP1 4 | { 5 | nopicmip 6 | nomipmaps 7 | { 8 | map gfx/2d/hudchars_OSP1.tga 9 | blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA 10 | rgbgen vertex 11 | } 12 | } 13 | 14 | gfx/2d/hudchars_OSP2 15 | { 16 | nopicmip 17 | nomipmaps 18 | { 19 | map gfx/2d/hudchars_OSP2.tga 20 | blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA 21 | rgbgen vertex 22 | } 23 | } 24 | 25 | fonts/courbd_0_30 26 | { 27 | nopicmip 28 | nomipmaps 29 | { 30 | map fonts/courbd_0_30.tga 31 | blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA 32 | rgbgen vertex 33 | } 34 | } -------------------------------------------------------------------------------- /src/macosx/timedemo.zsh: -------------------------------------------------------------------------------- 1 | #!/bin/zsh 2 | 3 | buildRoot=./build 4 | executable=$buildRoot/Quake3.app/Contents/MacOS/Quake3 5 | ls -l $executable 6 | 7 | flags="$flags +set timedemo 1" 8 | flags="$flags +set s_initsound 0" 9 | flags="$flags +set vm_cgame 1" 10 | flags="$flags +set vm_game 1" 11 | flags="$flags +set r_texturebits 16" 12 | flags="$flags +set r_depthbits 16" 13 | flags="$flags +set r_colorbits 16" 14 | flags="$flags +set stencilbits 8" 15 | 16 | flags="$flags +set r_appleTransformHint 1" 17 | 18 | echo flags=$flags 19 | 20 | function demo { 21 | echo Demo $* 22 | $executable $flags +demo $* |& egrep "(seconds|VM)" 23 | } 24 | 25 | demo foo 26 | 27 | -------------------------------------------------------------------------------- /src/qcommon/crypto/sha-1/license.txt: -------------------------------------------------------------------------------- 1 | Copyright (C) 1998 2 | Paul E. Jones 3 | All Rights Reserved. 4 | 5 | This software is licensed as "freeware." Permission to distribute 6 | this software in source and binary forms is hereby granted without 7 | a fee. THIS SOFTWARE IS PROVIDED 'AS IS' AND WITHOUT ANY EXPRESSED 8 | OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 9 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 10 | THE AUTHOR SHALL NOT BE HELD LIABLE FOR ANY DAMAGES RESULTING 11 | FROM THE USE OF THIS SOFTWARE, EITHER DIRECTLY OR INDIRECTLY, INCLUDING, 12 | BUT NOT LIMITED TO, LOSS OF DATA OR DATA BEING RENDERED INACCURATE. 13 | 14 | -------------------------------------------------------------------------------- /src/ui/makefile: -------------------------------------------------------------------------------- 1 | CC = gcc 2 | CFLAGS = -pipe -fsigned-char -DNDEBUG -O6 -m32 \ 3 | -fcommon -fomit-frame-pointer -ffast-math -falign-loops=2 -falign-jumps=2 \ 4 | -falign-functions=2 -fno-strict-aliasing -fstrength-reduce -fPIC \ 5 | -I../../deps/jansson/build/include 6 | 7 | LDFLAGS = -shared -ldl -lm 8 | 9 | SOURCES = $(shell ls ui_*.c ../game/bg_misc.c ../game/bg_stats.c ../qcommon/q_math.c ../qcommon/q_shared.c) 10 | MODULES = $(SOURCES:.c=.o) 11 | 12 | all: gameclean clean ui.mp.i386.so 13 | 14 | gameclean: 15 | rm -rf ../game/*.o 16 | 17 | ui.mp.i386.so: $(MODULES) 18 | $(CC) $(CFLAGS) -o $@ $? $(LDFLAGS) 19 | 20 | .c.o: 21 | $(CC) $(CFLAGS) -c $< -o $@ 22 | 23 | clean: 24 | rm -f *.o *.so 25 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: bug 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots or videos** 24 | If applicable, add screenshots or video links to help explain your problem. 25 | 26 | **Additional context** 27 | Add any other context about the problem here. 28 | -------------------------------------------------------------------------------- /docker-scripts/dockerfiles/rtcwpro-compile-master: -------------------------------------------------------------------------------- 1 | FROM ubuntu:22.04 2 | 3 | ENV DEBIAN_FRONTEND noninteractive 4 | RUN dpkg --add-architecture i386 && \ 5 | apt-get update && \ 6 | apt-get -y upgrade && \ 7 | apt-get install -y wget libc6:i386 zip unzip git gdb-multiarch gcc cmake perl curl gcc-multilib autoconf libtool nasm mingw-w64 g++ 8 | 9 | RUN useradd -ms /bin/bash compile 10 | 11 | USER compile 12 | WORKDIR /home/compile 13 | 14 | RUN mkdir -p /home/compile/build && \ 15 | ln -sf /home/compile/mnt/ /home/compile/build 16 | 17 | COPY --chown=compile:compile scripts/make-master.sh /home/compile/start 18 | RUN chmod +x /home/compile/start 19 | 20 | ENTRYPOINT ["/home/compile/start"] 21 | -------------------------------------------------------------------------------- /docker-scripts/dockerfiles/rtcwpro-compile-test: -------------------------------------------------------------------------------- 1 | FROM ubuntu:22.04 2 | 3 | ENV DEBIAN_FRONTEND noninteractive 4 | RUN dpkg --add-architecture i386 && \ 5 | apt-get update && \ 6 | apt-get -y upgrade && \ 7 | apt-get install -y wget libc6:i386 zip unzip git gdb-multiarch gcc cmake perl curl gcc-multilib autoconf libtool nasm mingw-w64 g++ 8 | 9 | RUN useradd -ms /bin/bash compile 10 | 11 | USER compile 12 | WORKDIR /home/compile 13 | 14 | RUN mkdir -p /home/compile/build && \ 15 | ln -sf /home/compile/mnt/ /home/compile/build 16 | 17 | COPY --chown=compile:compile scripts/make-test.sh /home/compile/start 18 | RUN chmod +x /home/compile/start 19 | 20 | ENTRYPOINT ["/home/compile/start"] 21 | -------------------------------------------------------------------------------- /docker-scripts/dockerfiles/rtcwpro-compile-develop: -------------------------------------------------------------------------------- 1 | FROM ubuntu:22.04 2 | 3 | ENV DEBIAN_FRONTEND noninteractive 4 | RUN dpkg --add-architecture i386 && \ 5 | apt-get update && \ 6 | apt-get -y upgrade && \ 7 | apt-get install -y wget libc6:i386 zip unzip git gdb-multiarch gcc cmake perl curl gcc-multilib autoconf libtool nasm mingw-w64 g++ 8 | 9 | RUN useradd -ms /bin/bash compile 10 | 11 | USER compile 12 | WORKDIR /home/compile 13 | 14 | RUN mkdir -p /home/compile/build && \ 15 | ln -sf /home/compile/mnt/ /home/compile/build 16 | 17 | COPY --chown=compile:compile scripts/make-develop.sh /home/compile/start 18 | RUN chmod +x /home/compile/start 19 | 20 | ENTRYPOINT ["/home/compile/start"] 21 | -------------------------------------------------------------------------------- /docker-scripts/dockerfiles/rtcwpro-compile-sandbox-18: -------------------------------------------------------------------------------- 1 | FROM ubuntu:18.04 2 | 3 | ENV DEBIAN_FRONTEND noninteractive 4 | RUN dpkg --add-architecture i386 && \ 5 | apt-get update && \ 6 | apt-get -y upgrade && \ 7 | apt-get install -y wget libc6:i386 zip unzip git gdb-multiarch gcc cmake perl curl gcc-multilib autoconf libtool nasm mingw-w64 8 | 9 | RUN useradd -ms /bin/bash compile 10 | 11 | USER compile 12 | WORKDIR /home/compile 13 | 14 | RUN mkdir -p /home/compile/build && \ 15 | ln -sf /home/compile/mnt/ /home/compile/build 16 | 17 | COPY --chown=compile:compile scripts/make-sandbox-18.sh /home/compile/start 18 | RUN chmod +x /home/compile/start 19 | 20 | ENTRYPOINT ["/home/compile/start"] 21 | -------------------------------------------------------------------------------- /docker-scripts/dockerfiles/rtcwpro-compile-develop-18: -------------------------------------------------------------------------------- 1 | FROM ubuntu:18.04 2 | 3 | ENV DEBIAN_FRONTEND noninteractive 4 | RUN dpkg --add-architecture i386 && \ 5 | apt-get update && \ 6 | apt-get -y upgrade && \ 7 | apt-get install -y wget libc6:i386 zip unzip git gdb-multiarch gcc cmake perl curl gcc-multilib autoconf libtool nasm mingw-w64 g++ 8 | 9 | RUN useradd -ms /bin/bash compile 10 | 11 | USER compile 12 | WORKDIR /home/compile 13 | 14 | RUN mkdir -p /home/compile/build && \ 15 | ln -sf /home/compile/mnt/ /home/compile/build 16 | 17 | COPY --chown=compile:compile scripts/make-develop-18.sh /home/compile/start 18 | RUN chmod +x /home/compile/start 19 | 20 | ENTRYPOINT ["/home/compile/start"] 21 | -------------------------------------------------------------------------------- /src/ui/makefile.valgrind: -------------------------------------------------------------------------------- 1 | CC = gcc 2 | CFLAGS = -g -pipe -fsigned-char -DNDEBUG -O0 -m32 \ 3 | -fcommon -fomit-frame-pointer -ffast-math -falign-loops=2 -falign-jumps=2 \ 4 | -falign-functions=2 -fno-strict-aliasing -fstrength-reduce -fPIC \ 5 | -I../../deps/jansson/build/include 6 | 7 | LDFLAGS = -shared -ldl -lm 8 | 9 | SOURCES = $(shell ls ui_*.c ../game/bg_misc.c ../game/bg_stats.c ../qcommon/q_math.c ../qcommon/q_shared.c) 10 | MODULES = $(SOURCES:.c=.o) 11 | 12 | all: gameclean clean ui.mp.i386.so 13 | 14 | gameclean: 15 | rm -rf ../game/*.o 16 | 17 | ui.mp.i386.so: $(MODULES) 18 | $(CC) $(CFLAGS) -o $@ $? $(LDFLAGS) 19 | 20 | .c.o: 21 | $(CC) $(CFLAGS) -c $< -o $@ 22 | 23 | clean: 24 | rm -f *.o *.so 25 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: enhancement 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /docker-scripts/dockerfiles/rtcwpro-compile-develop-valgrind: -------------------------------------------------------------------------------- 1 | FROM ubuntu:22.04 2 | 3 | ENV DEBIAN_FRONTEND noninteractive 4 | RUN dpkg --add-architecture i386 && \ 5 | apt-get update && \ 6 | apt-get -y upgrade && \ 7 | apt-get install -y wget libc6:i386 zip unzip git gdb-multiarch gcc cmake perl curl gcc-multilib autoconf libtool nasm mingw-w64 g++ 8 | 9 | RUN useradd -ms /bin/bash compile 10 | 11 | USER compile 12 | WORKDIR /home/compile 13 | 14 | RUN mkdir -p /home/compile/build && \ 15 | ln -sf /home/compile/mnt/ /home/compile/build 16 | 17 | COPY --chown=compile:compile scripts/make-develop-valgrind.sh /home/compile/start 18 | RUN chmod +x /home/compile/start 19 | 20 | ENTRYPOINT ["/home/compile/start"] 21 | -------------------------------------------------------------------------------- /src/extractfuncs/ChangeLog: -------------------------------------------------------------------------------- 1 | 2001-12-07 Timothee Besset 2 | 3 | Imported from the Wolf MP version, Mac/Linux friendly version 4 | Fixed argbase bug in *nix main 5 | Escape BoxOnPlaneSide on linux (taken out by preprocessing) 6 | 7 | 2001-11-02 Timothee Besset 8 | 9 | Modified extractfuncs to works on linux 10 | Would still need to integrate it correctly with the build system 11 | Changed the command line syntax of the linux ver: 12 | screwup [-o ] [ ..] 13 | 14 | if none specified, is "g_funcs" 15 | 16 | on linux at least, those header files need to be tweaked by hand 17 | because unresolved externs are not ignored by gcc (otherwise harmless on win32) 18 | -------------------------------------------------------------------------------- /src/ui/makefile.w32: -------------------------------------------------------------------------------- 1 | CC = i686-w64-mingw32-gcc 2 | CFLAGS = -pipe -fsigned-char -DNDEBUG -O6 -fcommon \ 3 | -fomit-frame-pointer -ffast-math -falign-loops=2 -falign-jumps=2 \ 4 | -falign-functions=2 -fno-strict-aliasing -fstrength-reduce \ 5 | -DWIN32 -D_WINDOWS -D_MBCS -D_USRDLL -DUI_EXPORTS -DC_ONLY \ 6 | -I../../deps/jansson/build-win/include 7 | 8 | SOURCES = $(shell ls ui_*.c ../game/bg_misc.c ../qcommon/q_math.c ../qcommon/q_shared.c) 9 | MODULES = $(SOURCES:.c=.o) 10 | 11 | all: clean gameclean ui_mp_x86.dll 12 | 13 | gameclean: 14 | rm -rf ../game/*.o 15 | rm -rf ../ui/*.o 16 | rm -rf ../qcommon/*.o 17 | 18 | 19 | ui_mp_x86.dll: $(MODULES) 20 | $(CC) --shared -static-libgcc -lm -o $@ $? 21 | 22 | .c.o: 23 | $(CC) $(CFLAGS) -c $< -o $@ 24 | 25 | clean: 26 | rm -f *.o *.dll 27 | -------------------------------------------------------------------------------- /docker-scripts/WIN/copyDlls-newclient.bat: -------------------------------------------------------------------------------- 1 | cd ../.. 2 | docker run -it --rm -v %cd%:/rtcwpro rtcwpro:build dos2unix /rtcwpro/docker-scripts/build/build-pk3-newclient.sh 3 | docker run -it --rm -v %cd%:/rtcwpro rtcwpro:build ./rtcwpro/docker-scripts/build/build-pk3-newclient.sh 4 | 5 | copy "J:\GitHub\RTCW-Pro\src\Builds\Debug\cgame\cgame_mp_x86.dll" "C:\Program Files (x86)\Return to Castle Wolfenstein Copy\rtcwpro" /Y 6 | copy "J:\GitHub\RTCW-Pro\src\Builds\Debug\qagame\qagame_mp_x86.dll" "C:\Program Files (x86)\Return to Castle Wolfenstein Copy\rtcwpro" /Y 7 | copy "J:\GitHub\RTCW-Pro\src\Builds\Debug\ui\ui_mp_x86.dll" "C:\Program Files (x86)\Return to Castle Wolfenstein Copy\rtcwpro" /Y 8 | 9 | copy "J:\GitHub\RTCW-Pro\output\rtcwpro.pk3" "C:\Program Files (x86)\Return to Castle Wolfenstein Copy\rtcwpro" /Y 10 | pause 11 | -------------------------------------------------------------------------------- /src/cgame/makefile.w32: -------------------------------------------------------------------------------- 1 | CC = i686-w64-mingw32-gcc 2 | CFLAGS = -pipe -fsigned-char -DNDEBUG -O6 -fcommon \ 3 | -fomit-frame-pointer -ffast-math -falign-loops=2 -falign-jumps=2 \ 4 | -falign-functions=2 -fno-strict-aliasing -fstrength-reduce \ 5 | -DWIN32 -D_WINDOWS -DC_ONLY -DCGAMEDLL -I../../deps/jansson/build-win/include 6 | 7 | SOURCES = $(shell ls cg_*.c ../qcommon/q_math.c ../qcommon/q_shared.c ../game/bg_animation.c ../game/bg_misc.c ../game/bg_pmove.c ../game/bg_slidemove.c ../ui/ui_shared.c) 8 | MODULES = $(SOURCES:.c=.o) 9 | 10 | all: clean gameclean cgame_mp_x86.dll 11 | 12 | gameclean: 13 | rm -rf ../game/*.o ../ui/*.o ../cgame/*.o ../qcommon/*.o 14 | 15 | cgame_mp_x86.dll: $(MODULES) 16 | $(CC) --shared -static-libgcc -lm -o $@ $? 17 | 18 | .c.o: 19 | $(CC) $(CFLAGS) -c $< -o $@ 20 | 21 | clean: 22 | rm -f *.o *.dll 23 | -------------------------------------------------------------------------------- /docker-scripts/build/build-pk3-assets.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | PK3_NAME=rtcwpro_assets.pk3 4 | OUTPUT_FOLDER=/rtcwpro/output 5 | CONTENT_FOLDER=/rtcwpro/MAIN 6 | 7 | if [ ! -d "$OUTPUT_FOLDER" ]; then 8 | echo "Output folder does not exist: $OUTPUT_FOLDER" 9 | exit; 10 | fi 11 | 12 | echo '############################################################################################' 13 | echo '################################## BUILD PK3 ASSETS ##################################' 14 | echo '############################################################################################' 15 | rm -f $OUTPUT_FOLDER/$PK3_NAME 16 | cd $CONTENT_FOLDER && zip -r $OUTPUT_FOLDER/$PK3_NAME ./* #&& cd - 17 | #zip -j -r $OUTPUT_FOLDER/$PK3_NAME 18 | # $OUTPUT_FOLDER/ui*.dll $OUTPUT_FOLDER/cgame*.dll $OUTPUT_FOLDER/ui*.so $OUTPUT_FOLDER/cgame*.so 19 | -------------------------------------------------------------------------------- /src/unix/build_mappack.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | MEDIADIR=$HOME/Id/media/WolfMedia-GOTY-maps 4 | MAKESELF=makeself/makeself.sh 5 | SPDIR=../../../WolfSP 6 | 7 | VERSION=`cat $SPDIR/src/game/q_shared.h | grep Q3_VERSION | sed -e 's/.*Wolf \(.*\)"/\1/'` 8 | echo "Building GOTY map pack (version $VERSION)" 9 | DIRNAME=GOTY-map-$VERSION 10 | 11 | rm -rf $DIRNAME 12 | mkdir $DIRNAME 13 | 14 | # we rely on new sdk-setup, and push our own tweaks on top 15 | cp -R sdk-setup/* $DIRNAME 16 | cp -R mappack-setup/* $DIRNAME 17 | 18 | # copy the content 19 | cp -R $MEDIADIR/* $DIRNAME 20 | 21 | # final pass: cleanup CVS entries 22 | find $DIRNAME -name CVS -exec rm -rf {} \; 2>/dev/null 23 | 24 | # build the setup -------------------- 25 | $MAKESELF $DIRNAME wolf-linux-GOTY-maps.x86.run "Return To Castle Wolfenstein GOTY Map Pack" ./setup.sh $VERSION 26 | -------------------------------------------------------------------------------- /docker-scripts/build/build-pk3-bin.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | PK3_NAME=rtcwpro_bin.pk3 4 | OUTPUT_FOLDER=/rtcwpro/output 5 | CONTENT_FOLDER=/rtcwpro/MAIN 6 | 7 | if [ ! -d "$OUTPUT_FOLDER" ]; then 8 | echo "Output folder does not exist: $OUTPUT_FOLDER" 9 | exit; 10 | fi 11 | 12 | echo '############################################################################################' 13 | echo '################################## BUILD PK3 BIN #####################################' 14 | echo '############################################################################################' 15 | rm -f $OUTPUT_FOLDER/$PK3_NAME 16 | cd $CONTENT_FOLDER ./* && cd - 17 | zip -j -r $OUTPUT_FOLDER/$PK3_NAME $OUTPUT_FOLDER/ui*.dll $OUTPUT_FOLDER/cgame*.dll $OUTPUT_FOLDER/qagame*.dll $OUTPUT_FOLDER/ui*.so $OUTPUT_FOLDER/cgame*.so $OUTPUT_FOLDER/qagame*.so 18 | -------------------------------------------------------------------------------- /src/ui/makefile_x86_64: -------------------------------------------------------------------------------- 1 | CC = gcc 2 | CFLAGS = -Wall -fno-strict-aliasing -pipe -DUSE_ICON -DARCH_STRING="x86_64" -m64 -DNO_GZIP -Icode/zlib-1.2.11 \ 3 | -DUSE_INTERNAL_JPEG -Icode/jpeg-8c -DBUILD_FREETYPE -Icode/freetype-2.9/include -DFT2_BUILD_LIBRARY \ 4 | -DUSE_LOCAL_HEADERS -Wformat=2 -Wformat-security -Wno-format-nonliteral \ 5 | -Wstrict-aliasing=2 -Wmissing-format-attribute -Wdisabled-optimization -MMD -DNDEBUG -O3 -ffast-math -fPIC 6 | 7 | SOURCES = $(shell ls ui_*.c ../game/bg_misc.c ../game/bg_stats.c ../qcommon/q_math.c ../qcommon/q_shared.c) 8 | MODULES = $(SOURCES:.c=.o) 9 | 10 | all: gameclean ui.mp.x86_64.so 11 | 12 | gameclean: 13 | rm -rf ../game/*.o 14 | 15 | ui.mp.x86_64.so: $(MODULES) 16 | $(CC) -shared -ldl -lm -o $@ $? 17 | 18 | .c.o: 19 | $(CC) $(CFLAGS) -c $< -o $@ 20 | 21 | clean: 22 | rm -f *.o *.so 23 | -------------------------------------------------------------------------------- /docker-scripts/dockerfiles/rtcwpro-server-git: -------------------------------------------------------------------------------- 1 | 2 | ARG IMAGE 3 | FROM ${IMAGE} as image 4 | 5 | FROM ubuntu:22.04 6 | 7 | 8 | ENV DEBIAN_FRONTEND noninteractive 9 | RUN dpkg --add-architecture i386 && \ 10 | apt-get update && \ 11 | apt-get -y upgrade && \ 12 | apt-get install -y wget libc6:i386 unzip bbe git 13 | 14 | RUN useradd -ms /bin/bash game 15 | 16 | USER game 17 | WORKDIR /home/game 18 | 19 | RUN mkdir /home/game/main 20 | COPY --chown=game:game --from="msh100/rtcw" /home/game/main /home/game/main 21 | COPY --chown=game:game build/. /home/game 22 | 23 | RUN git clone --depth 1 "https://github.com/msh100/rtcw-config.git" \ 24 | /home/game/settings/ 25 | 26 | COPY --chown=game:game scripts/entrypoint.sh /home/game/start 27 | RUN chmod +x /home/game/start 28 | 29 | EXPOSE 27960/udp 30 | 31 | ENTRYPOINT ["/home/game/start"] 32 | -------------------------------------------------------------------------------- /src/cgame/makefile: -------------------------------------------------------------------------------- 1 | CC = gcc 2 | 3 | 4 | CFLAGS = -pipe -fsigned-char -DNDEBUG -O6 -m32 \ 5 | -fcommon -fomit-frame-pointer -ffast-math -falign-loops=2 -falign-jumps=2 \ 6 | -falign-functions=2 -fno-strict-aliasing -fstrength-reduce -fPIC -DCGAMEDLL \ 7 | -I../../deps/jansson/build/include 8 | 9 | LDFLAGS = -shared -ldl -lm 10 | 11 | SOURCES = $(shell ls cg_*.c ../game/bg_animation.c ../game/bg_misc.c ../game/bg_pmove.c ../game/bg_slidemove.c ../qcommon/q_math.c ../qcommon/q_shared.c ../ui/ui_shared.c) 12 | MODULES = $(SOURCES:.c=.o) 13 | 14 | 15 | 16 | all: clean gameclean cgame.mp.i386.so 17 | 18 | gameclean: 19 | rm -rf ../qcommon/q_math.o 20 | rm -rf ../qcommon/q_shared.o 21 | rm -rf ../game/*.o ../ui/*.o 22 | 23 | cgame.mp.i386.so: $(MODULES) 24 | $(CC) $(CFLAGS) -o $@ $? $(LDFLAGS) 25 | 26 | .c.o: 27 | $(CC) $(CFLAGS) -c $< -o $@ 28 | 29 | clean: 30 | rm -f *.o *.so 31 | -------------------------------------------------------------------------------- /src/cgame/makefile.valgrind: -------------------------------------------------------------------------------- 1 | CC = gcc 2 | 3 | 4 | CFLAGS = -g -pipe -fsigned-char -DNDEBUG -O0 -m32 \ 5 | -fcommon -fomit-frame-pointer -ffast-math -falign-loops=2 -falign-jumps=2 \ 6 | -falign-functions=2 -fno-strict-aliasing -fstrength-reduce -fPIC -DCGAMEDLL \ 7 | -I../../deps/jansson/build/include 8 | 9 | LDFLAGS = -shared -ldl -lm 10 | 11 | SOURCES = $(shell ls cg_*.c ../game/bg_animation.c ../game/bg_misc.c ../game/bg_pmove.c ../game/bg_slidemove.c ../qcommon/q_math.c ../qcommon/q_shared.c ../ui/ui_shared.c) 12 | MODULES = $(SOURCES:.c=.o) 13 | 14 | 15 | 16 | all: clean gameclean cgame.mp.i386.so 17 | 18 | gameclean: 19 | rm -rf ../qcommon/q_math.o 20 | rm -rf ../qcommon/q_shared.o 21 | rm -rf ../game/*.o ../ui/*.o 22 | 23 | cgame.mp.i386.so: $(MODULES) 24 | $(CC) $(CFLAGS) -o $@ $? $(LDFLAGS) 25 | 26 | .c.o: 27 | $(CC) $(CFLAGS) -c $< -o $@ 28 | 29 | clean: 30 | rm -f *.o *.so 31 | -------------------------------------------------------------------------------- /src/game/makefile.w32: -------------------------------------------------------------------------------- 1 | CC = i686-w64-mingw32-gcc 2 | 3 | CFLAGS = -pipe -fsigned-char -DNDEBUG -O6 -fcommon \ 4 | -fomit-frame-pointer -ffast-math -falign-loops=2 -falign-jumps=2 \ 5 | -falign-functions=2 -fno-strict-aliasing -fstrength-reduce \ 6 | -DWIN32 -D_WINDOWS -DC_ONLY -DGAMEDLL -I../../deps/jansson/build-win/include 7 | 8 | SOURCES = $(shell ls g_*.c ../qcommon/q_math.c ../qcommon/q_shared.c ai_*.c bg_animation.c bg_misc.c bg_pmove.c bg_stats.c bg_slidemove.c ../botai/*.c ../qcommon/crypto/sha-1/sha1.c) 9 | MODULES = $(SOURCES:.c=.o) 10 | 11 | 12 | all: clean gameclean qagame_mp_x86.dll 13 | 14 | gameclean: 15 | rm -rf ../botai/*.o 16 | rm -rf ../qcommon/crypto/sha-1/*.o 17 | rm -rf ../qcommon/*.o 18 | 19 | qagame_mp_x86.dll: $(MODULES) 20 | $(CC) --shared -static-libgcc -lm -o $@ $? -L../../deps/jansson/build-win/lib -ljansson 21 | 22 | .c.o: 23 | $(CC) $(CFLAGS) -c $< -o $@ 24 | 25 | clean: 26 | rm -f *.o *.dll 27 | -------------------------------------------------------------------------------- /src/game/g_sha1.c: -------------------------------------------------------------------------------- 1 | /** 2 | * @file g_sha1.c 3 | * @brief Used for Lua and map configs 4 | * @copyright This code is taken from ETPub. All credits go to their team especially quad and pheno! 5 | * http://etpub.org 6 | */ 7 | #include "g_local.h" 8 | 9 | #include "../qcommon/crypto/sha-1/sha1.h" 10 | 11 | /** 12 | * @brief G_SHA1 13 | * @param[in] string 14 | * @return 15 | */ 16 | char *G_SHA1(const char *string) 17 | { 18 | SHA1Context sha; 19 | 20 | SHA1Reset(&sha); 21 | SHA1Input(&sha, (const unsigned char *)string, strlen(string)); 22 | 23 | if (!SHA1Result(&sha)) 24 | { 25 | G_Error("sha1: could not compute message digest"); 26 | return ""; 27 | } 28 | else 29 | { 30 | return va("%08X%08X%08X%08X%08X", 31 | sha.Message_Digest[0], 32 | sha.Message_Digest[1], 33 | sha.Message_Digest[2], 34 | sha.Message_Digest[3], 35 | sha.Message_Digest[4]); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /docker-scripts/dockerfiles/rtcwpro-compile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:22.04 2 | 3 | ARG BRANCH 4 | ENV BRANCH=${BRANCH} 5 | 6 | ENV DEBIAN_FRONTEND noninteractive 7 | 8 | RUN useradd -ms /bin/bash compile 9 | 10 | RUN dpkg --add-architecture i386 && \ 11 | apt-get update && \ 12 | apt-get -y upgrade && \ 13 | apt-get install -y wget libc6:i386 zip \ 14 | unzip git gdb-multiarch gcc cmake perl curl gcc-multilib g++-multilib \ 15 | autoconf libtool nasm mingw-w64 mingw-w64-tools g++ \ 16 | libgl-dev libsdl2-dev:i386 clang-tools-15 lld-15 17 | 18 | RUN ln -s /usr/bin/clang-15 /usr/bin/clang && \ 19 | ln -s /usr/bin/clang-cl-15 /usr/bin/clang-cl && \ 20 | ln -s /usr/bin/llvm-lib-15 /usr/bin/llvm-lib && \ 21 | ln -s /usr/bin/lld-link-15 /usr/bin/lld-link && \ 22 | ln -s /usr/bin/llvm-rc-15 /usr/bin/llvm-rc 23 | 24 | RUN mkdir /output 25 | RUN chown compile:compile /output 26 | 27 | USER compile 28 | WORKDIR /home/compile 29 | -------------------------------------------------------------------------------- /docker-scripts/dockerfiles/rtcwpro-compile-18: -------------------------------------------------------------------------------- 1 | FROM ubuntu:18.04 2 | 3 | ARG BRANCH 4 | ENV BRANCH=${BRANCH} 5 | 6 | ENV DEBIAN_FRONTEND noninteractive 7 | 8 | RUN useradd -ms /bin/bash compile 9 | 10 | RUN dpkg --add-architecture i386 && \ 11 | apt-get update && \ 12 | apt-get -y upgrade && \ 13 | apt-get install -y wget libc6:i386 zip \ 14 | unzip git gdb-multiarch gcc cmake perl curl gcc-multilib g++-multilib \ 15 | autoconf libtool nasm mingw-w64 mingw-w64-tools g++ \ 16 | libgl-dev libsdl2-dev:i386 clang-tools-10 lld-10 17 | 18 | RUN ln -s /usr/bin/clang-10 /usr/bin/clang && \ 19 | ln -s /usr/bin/clang-cl-10 /usr/bin/clang-cl && \ 20 | ln -s /usr/bin/llvm-lib-10 /usr/bin/llvm-lib && \ 21 | ln -s /usr/bin/lld-link-10 /usr/bin/lld-link && \ 22 | ln -s /usr/bin/llvm-rc-10 /usr/bin/llvm-rc 23 | 24 | RUN mkdir /output 25 | RUN chown compile:compile /output 26 | 27 | USER compile 28 | WORKDIR /home/compile 29 | -------------------------------------------------------------------------------- /src/ui/ui.vcxproj.user: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | $(RTCWBASE)\$(RTCW_MOD_NAME) 5 | WindowsLocalDebugger 6 | $(RTCWBASE)\wolfMP.exe 7 | true 8 | 9 | 10 | $(RTCWBASE)\wolfMP.exe 11 | WindowsLocalDebugger 12 | $(RTCWBASE)\$(RTCW_MOD_NAME) 13 | true 14 | 15 | -------------------------------------------------------------------------------- /docker-scripts/dockerfiles/basegame: -------------------------------------------------------------------------------- 1 | FROM ubuntu:22.04 AS basegame 2 | 3 | ENV DEBIAN_FRONTEND noninteractive 4 | 5 | ARG STEAM_USER 6 | ARG STEAM_PASS 7 | ARG GUARDCODE 8 | 9 | RUN : "${STEAM_USER:?STEAM_USER is required.}" 10 | RUN : "${STEAM_PASS:?STEAM_PASS is required.}" 11 | 12 | RUN echo steam steam/question select "I AGREE" | debconf-set-selections && \ 13 | echo steam steam/license note '' | debconf-set-selections 14 | 15 | RUN dpkg --add-architecture i386 && \ 16 | apt-get update && \ 17 | apt-get -y upgrade && \ 18 | apt-get install -y steamcmd wget unzip 19 | 20 | RUN /usr/games/steamcmd \ 21 | +@sSteamCmdForcePlatformType windows \ 22 | +force_install_dir /gamefiles/ \ 23 | +login "${STEAM_USER}" "${STEAM_PASS}" "${GUARDCODE}" \ 24 | +app_update 9010 \ 25 | +quit 26 | 27 | RUN mkdir -p /output/main/ && \ 28 | cp /gamefiles/Main/mp_*.pk3 /output/main/ && \ 29 | cp /gamefiles/Main/pak0.pk3 /output/main/ 30 | 31 | -------------------------------------------------------------------------------- /changelog/1.1.1-changelog.txt: -------------------------------------------------------------------------------- 1 | Release 1.1.1 2 | 3 | Issue Fixes 4 | 5 | #145 Team overlay gib status 6 | #166 Authorized ref messages now only printed to user authorized 7 | #212 minor format/color changes for in-game messages 8 | #213 Fixed objective getting lost through objects/walls 9 | #214 Do not allow knockback for a player getting revived 10 | #215 team ready status reset on player disconnect/change teams 11 | 12 | Other Fixes 13 | 14 | fix for the ending of match during pause (when pause is longer than game clock) 15 | fixed defaultpublic config and removed duplicate cvars 16 | fixed extra prepare to fight messages on unpause 17 | added new pro logo 18 | enhanced JSON stats to be saved in subdirectory (date) and added objective dropped event 19 | make crosshair names disappear faster 20 | changed LT ammo information to tinytext 21 | 22 | New Features 23 | 24 | Added UPS meter (cg_drawSpeed) 25 | Added headshot damage cvar to help with antilag/hitbox changes (g_hsDamage) 26 | -------------------------------------------------------------------------------- /src/game/makefile: -------------------------------------------------------------------------------- 1 | CC = gcc 2 | 3 | 4 | CFLAGS = -pipe -fsigned-char -DNDEBUG -O6 -m32 \ 5 | -fcommon -fomit-frame-pointer -ffast-math -falign-loops=2 -falign-jumps=2 \ 6 | -falign-functions=2 -fno-strict-aliasing -fstrength-reduce -fPIC -DGAMEDLL -I../../deps/jansson/build/include 7 | 8 | LDFLAGS = -shared -ldl -lm -L../../deps/jansson/build/lib 9 | 10 | SOURCES = $(shell ls g_*.c ../qcommon/q_math.c ../qcommon/q_shared.c ai_*.c bg_animation.c bg_misc.c bg_pmove.c bg_stats.c bg_slidemove.c ../botai/*.c ../qcommon/crypto/sha-1/sha1.c ) 11 | MODULES = $(SOURCES:.c=.o) 12 | 13 | all: gameclean qagame.mp.i386.so 14 | 15 | gameclean: 16 | rm -rf *.o ../botai/*.o 17 | rm -rf ../qcommon/crypto/sha-1/*.o 18 | rm -rf ../qcommon/*.o 19 | 20 | qagame.mp.i386.so: $(MODULES) 21 | $(CC) $(CFLAGS) -o $@ $? ../../deps/jansson/build/lib/libjansson.a $(LDFLAGS) 22 | 23 | 24 | .c.o: 25 | $(CC) $(CFLAGS) -c $< -o $@ $(LDFLAGS) 26 | 27 | 28 | clean: 29 | rm -f *.o *.so ../botai/*.o 30 | -------------------------------------------------------------------------------- /src/game/makefile.valgrind: -------------------------------------------------------------------------------- 1 | CC = gcc 2 | 3 | 4 | CFLAGS = -g -pipe -fsigned-char -DNDEBUG -O0 -m32 \ 5 | -fcommon -fomit-frame-pointer -ffast-math -falign-loops=2 -falign-jumps=2 \ 6 | -falign-functions=2 -fno-strict-aliasing -fstrength-reduce -fPIC -DGAMEDLL -I../../deps/jansson/build/include 7 | 8 | LDFLAGS = -shared -ldl -lm -L../../deps/jansson/build/lib 9 | 10 | SOURCES = $(shell ls g_*.c ../qcommon/q_math.c ../qcommon/q_shared.c ai_*.c bg_animation.c bg_misc.c bg_pmove.c bg_stats.c bg_slidemove.c ../botai/*.c ../qcommon/crypto/sha-1/sha1.c ) 11 | MODULES = $(SOURCES:.c=.o) 12 | 13 | all: gameclean qagame.mp.i386.so 14 | 15 | gameclean: 16 | rm -rf *.o ../botai/*.o 17 | rm -rf ../qcommon/crypto/sha-1/*.o 18 | rm -rf ../qcommon/*.o 19 | 20 | qagame.mp.i386.so: $(MODULES) 21 | $(CC) $(CFLAGS) -o $@ $? ../../deps/jansson/build/lib/libjansson.a $(LDFLAGS) 22 | 23 | 24 | .c.o: 25 | $(CC) $(CFLAGS) -c $< -o $@ $(LDFLAGS) 26 | 27 | 28 | clean: 29 | rm -f *.o *.so ../botai/*.o 30 | -------------------------------------------------------------------------------- /src/cgame/cgame.vcxproj.user: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | WindowsLocalDebugger 5 | true 6 | $(RTCWBASE)\wolfMP.exe 7 | $(RTCWBASE)\$(RTCW_MOD_NAME) 8 | 9 | 10 | $(RTCWBASE)\wolfMP.exe 11 | $(RTCWBASE)\$(RTCW_MOD_NAME) 12 | true 13 | WindowsLocalDebugger 14 | 15 | 16 | false 17 | 18 | -------------------------------------------------------------------------------- /changelog/1.0-changelog.txt: -------------------------------------------------------------------------------- 1 | Release 1.0 2 | 3 | Initial Version includes all OSP commands except forcefps and mvall (multiview) 4 | 5 | New Commands 6 | 7 | +stats | stats window 8 | forcetapout | helps not miss spawn at last second (bind key "+moveup; forcetapout" or create a new bind) 9 | minimize | minimize the client 10 | 11 | New Features 12 | 13 | unlag antilag 14 | updated head hitbox animation (RtcwPub port) 15 | faster PK3 downloads - sv_dlRate (ioRtcw port) 16 | antiwarp - prevents players warping around on your screen 17 | player HUD names during spectating 18 | updated statistics - added Headshots, Accuracy, and Revives in the end-of-round stats 19 | global level server configuration (ET port) - comp, public, and pug configurations 20 | server cvar restrictions (ET port) - replacing Punkbuster cvar restriction 21 | sv_fps fix for flamethrower - high sv_fps setting will result in flamethrower shooting across the map 22 | mapping setting allow_teams added for ET map porting (i.e. specific team can open doors with lock) 23 | minimizer using "minimize" console command -------------------------------------------------------------------------------- /cross-make-mingw.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Note: This works in Linux and cygwin 4 | 5 | if [ "$ARCH" = "x86_64" ]; 6 | then 7 | CMD_PREFIX="amd64-mingw32msvc x86_64-w64-mingw32" 8 | else 9 | CMD_PREFIX="i586-mingw32msvc i686-w64-mingw32" 10 | export ARCH=x86 11 | fi 12 | 13 | if [ "$CC" = "cc" ] || [ "$CC" = "gcc" ]; 14 | then 15 | CC= 16 | fi 17 | 18 | if [ "X$CC" = "X" ]; then 19 | for check in $CMD_PREFIX; do 20 | full_check="${check}-gcc" 21 | which "$full_check" > /dev/null 2>&1 22 | if [ "$?" = "0" ]; then 23 | export CC="$full_check" 24 | fi 25 | done 26 | fi 27 | 28 | if [ "X$WINDRES" = "X" ]; then 29 | for check in $CMD_PREFIX; do 30 | full_check="${check}-windres" 31 | which "$full_check" > /dev/null 2>&1 32 | if [ "$?" = "0" ]; then 33 | export WINDRES="$full_check" 34 | fi 35 | done 36 | fi 37 | 38 | if [ "X$WINDRES" = "X" -o "X$CC" = "X" ]; then 39 | echo "Error: Must define or find WINDRES and CC" 40 | exit 1 41 | fi 42 | 43 | export PLATFORM=mingw32 44 | 45 | exec make $* 46 | -------------------------------------------------------------------------------- /docker-scripts/build/build-all.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | #move to src dir 3 | #cd /rtcwpro/src 4 | dos2unix /rtcwpro/docker-scripts/build/build-game.sh && ./rtcwpro/docker-scripts/build/build-game.sh 5 | dos2unix /rtcwpro/docker-scripts/build/build-cgame.sh && ./rtcwpro/docker-scripts/build/build-cgame.sh 6 | dos2unix /rtcwpro/docker-scripts/build/build-ui.sh && ./rtcwpro/docker-scripts/build/build-ui.sh 7 | dos2unix /rtcwpro/docker-scripts/build/build-pk3-assets.sh && ./rtcwpro/docker-scripts/build/build-pk3-assets.sh 8 | dos2unix /rtcwpro/docker-scripts/build/build-pk3-bin.sh && ./rtcwpro/docker-scripts/build/build-pk3-bin.sh 9 | dos2unix /rtcwpro/docker-scripts/build/build-server.sh && ./rtcwpro/docker-scripts/build/build-server.sh 10 | #move into game dir 11 | # cd game 12 | # make -f makefile 13 | # rm ../*/*.o 14 | # make -f makefile.w32 15 | # rm ../*/*.o 16 | # cd ../cgame 17 | # make -f makefile 18 | # rm ../*/*.o 19 | # make -f makefile.w32 20 | # rm ../*/*.o 21 | # cd ../ui 22 | # make -f makefile 23 | # rm ../*/*.o 24 | # make -f makefile.w32 25 | # rm ../*/*.o 26 | # cd ../ 27 | # mv */*.dll ../output/ 28 | # mv */*.so ../output/ -------------------------------------------------------------------------------- /src/qcommon/md5.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This code implements the MD5 message-digest algorithm. 3 | * The algorithm is due to Ron Rivest. This code was 4 | * written by Colin Plumb in 1993, no copyright is claimed. 5 | * This code is in the public domain; do with it what you wish. 6 | * 7 | * Equivalent code is available from RSA Data Security, Inc. 8 | * This code has been tested against that, and is equivalent, 9 | * except that you don't need to include two pages of legalese 10 | * with every copy. 11 | * 12 | * To compute the message digest of a chunk of bytes, declare an 13 | * MD5Context structure, pass it to MD5Init, call MD5Update as 14 | * needed on buffers full of bytes, and then call MD5Final, which 15 | * will fill a supplied 16-byte array with the digest. 16 | */ 17 | #ifndef __MD5_H 18 | #define __MD5_H 19 | 20 | #include 21 | #include "q_shared.h" 22 | #include "qcommon.h" 23 | 24 | typedef struct MD5Context { 25 | uint32_t buf[4]; 26 | uint32_t bits[2]; 27 | unsigned char in[64]; 28 | } MD5_CTX; 29 | 30 | // MD5 31 | char* Com_MD5File(const char* fn, int length, const char* prefix, int prefix_len); 32 | char* Com_MD5(const void* data, int length, const char* prefix, int prefix_len, int hexcase); 33 | 34 | #endif // __MD5_H 35 | -------------------------------------------------------------------------------- /docker-scripts/build/build-ui.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | OUTPUT_FOLDER=/rtcwpro/output 4 | mkdir -p "$OUTPUT_FOLDER" 5 | 6 | echo '############################################################################################' 7 | echo '################################## BUILD UI #######################################' 8 | echo '############################################################################################' 9 | 10 | cd /rtcwpro/src/ui 11 | echo '' 12 | echo '' 13 | echo '' 14 | echo '############################################################################################' 15 | echo '################################## LINUX UI #######################################' 16 | echo '############################################################################################' 17 | make -f makefile 18 | rm ../*/*.o 19 | mv ui.mp.i386.so $OUTPUT_FOLDER 20 | #echo '' 21 | #echo '' 22 | #echo '' 23 | #echo '############################################################################################' 24 | #echo '################################## WIN32 UI #######################################' 25 | #echo '############################################################################################' 26 | #make -f makefile.w32 27 | #rm ../*/*.o 28 | #mv ui_mp_x86.dll $OUTPUT_FOLDER 29 | -------------------------------------------------------------------------------- /docker-scripts/build/build-cgame.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | OUTPUT_FOLDER=/rtcwpro/output 4 | mkdir -p "$OUTPUT_FOLDER" 5 | 6 | echo '############################################################################################' 7 | echo '################################## BUILD CGAME #######################################' 8 | echo '############################################################################################' 9 | cd /rtcwpro/src/cgame 10 | echo '' 11 | echo '' 12 | echo '' 13 | echo '############################################################################################' 14 | echo '################################## LINUX CGAME #######################################' 15 | echo '############################################################################################' 16 | make -f makefile 17 | rm ../*/*.o 18 | mv cgame.mp.i386.so $OUTPUT_FOLDER 19 | #echo '' 20 | #echo '' 21 | #echo '' 22 | #echo '############################################################################################' 23 | #echo '################################## WIN32 CGAME #######################################' 24 | #echo '############################################################################################' 25 | #make -f makefile.w32 26 | #rm ../*/*.o 27 | #mv cgame_mp_x86.dll $OUTPUT_FOLDER 28 | -------------------------------------------------------------------------------- /docker-scripts/build/build-game.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | OUTPUT_FOLDER=/rtcwpro/output 4 | mkdir -p "$OUTPUT_FOLDER" 5 | 6 | echo '############################################################################################' 7 | echo '################################## BUILD GAME ########################################' 8 | echo '############################################################################################' 9 | cd /rtcwpro/src/game 10 | echo '' 11 | echo '' 12 | echo '' 13 | echo '############################################################################################' 14 | echo '################################## LINUX GAME ########################################' 15 | echo '############################################################################################' 16 | make -f makefile 17 | rm ../*/*.o 18 | mv qagame.mp.i386.so $OUTPUT_FOLDER 19 | #echo '' 20 | #echo '' 21 | #echo '' 22 | #echo '############################################################################################' 23 | #echo '################################## WIN32 GAME ########################################' 24 | #echo '############################################################################################' 25 | #make -f makefile.w32 26 | #rm ../*/*.o 27 | #mv qagame_mp_x86.dll $OUTPUT_FOLDER 28 | -------------------------------------------------------------------------------- /src/cgame/makefile_x86_64: -------------------------------------------------------------------------------- 1 | CC = gcc 2 | #CFLAGS = -pipe -fsigned-char -DNDEBUG -O6 -mtune=pentiumpro -march=pentium -m32\ 3 | #-fomit-frame-pointer -ffast-math -falign-loops=2 -falign-jumps=2 \ 4 | #-falign-functions=2 -fno-strict-aliasing -fstrength-reduce -fPIC 5 | CFLAGS = -Wall -fno-strict-aliasing -pipe -DUSE_ICON -DARCH_STRING="x86_64" -m64 -DNO_GZIP -Icode/zlib-1.2.11 \ 6 | -DUSE_INTERNAL_JPEG -Icode/jpeg-8c -DBUILD_FREETYPE -Icode/freetype-2.9/include -DFT2_BUILD_LIBRARY \ 7 | -DUSE_LOCAL_HEADERS -Wformat=2 -Wformat-security -Wno-format-nonliteral \ 8 | -Wstrict-aliasing=2 -Wmissing-format-attribute -Wdisabled-optimization -MMD -DNDEBUG -O3 -ffast-math -fPIC 9 | #SOURCES = $(shell ls cg_*.c ../game/bg_animation.c ../game/bg_misc.c ../game/bg_pmove.c ../game/bg_stats.c ../game/bg_slidemove.c ../qcommon/q_math.c ../qcommon/q_shared.c ../ui/ui_shared.c) 10 | SOURCES = $(shell ls cg_*.c ../game/bg_animation.c ../game/bg_misc.c ../game/bg_pmove.c ../game/bg_slidemove.c ../qcommon/q_math.c ../qcommon/q_shared.c ../ui/ui_shared.c) 11 | MODULES = $(SOURCES:.c=.o) 12 | 13 | all: clean gameclean cgame.mp.x86_64.so 14 | 15 | gameclean: 16 | rm -rf ../game/*.o ../ui/*.o 17 | 18 | cgame.mp.x86_64.so: $(MODULES) 19 | $(CC) -shared -ldl -lm -o $@ $? 20 | 21 | .c.o: 22 | $(CC) $(CFLAGS) -c $< -o $@ 23 | 24 | clean: 25 | rm -f *.o *.so 26 | 27 | 28 | -------------------------------------------------------------------------------- /docker-scripts/WIN/copyDlls.bat: -------------------------------------------------------------------------------- 1 | copy "J:\GitHub\RTCW-Pro\output\qagame_mp_x86.dll" "J:\GitHub\Rtcw-Pro\src\rtcwpro\" /Y 2 | copy "J:\GitHub\RTCW-Pro\output\cgame_mp_x86.dll" "J:\GitHub\RTCW-Pro\src\rtcwpro\" /Y 3 | copy "J:\GitHub\RTCW-Pro\output\ui_mp_x86.dll" "J:\GitHub\RTCW-Pro\src\rtcwpro\" /Y 4 | 5 | copy "J:\GitHub\RTCW-Pro\output\qagame_mp_x86.dll" "C:\Program Files (x86)\Return to Castle Wolfenstein Copy\rtcwpro" /Y 6 | copy "J:\GitHub\RTCW-Pro\output\cgame_mp_x86.dll" "C:\Program Files (x86)\Return to Castle Wolfenstein Copy\rtcwpro" /Y 7 | copy "J:\GitHub\RTCW-Pro\output\ui_mp_x86.dll" "C:\Program Files (x86)\Return to Castle Wolfenstein Copy\rtcwpro" /Y 8 | 9 | cd ../.. 10 | docker run -it --rm -v %cd%:/rtcwpro rtcwpro:build dos2unix /rtcwpro/docker-scripts/build/build-pk3.sh 11 | docker run -it --rm -v %cd%:/rtcwpro rtcwpro:build ./rtcwpro/docker-scripts/build/build-pk3.sh 12 | 13 | copy "J:\GitHub\RTCW-Pro\output\qagame_mp_x86.dll" "J:\GitHub\RTCW-Pro\src\rtcwpro" /Y 14 | copy "J:\GitHub\RTCW-Pro\output\cgame_mp_x86.dll" "J:\GitHub\RTCW-Pro\src\rtcwpro" /Y 15 | copy "J:\GitHub\RTCW-Pro\output\ui_mp_x86.dll" "J:\GitHub\RTCW-Pro\src\rtcwpro" /Y 16 | copy "J:\GitHub\RTCW-Pro\output\rtcwpro.pk3" "J:\GitHub\RTCW-Pro\src\rtcwpro" /Y 17 | copy "J:\GitHub\RTCW-Pro\output\rtcwpro.pk3" "C:\Program Files (x86)\Return to Castle Wolfenstein Copy\rtcwpro" /Y 18 | pause 19 | -------------------------------------------------------------------------------- /docker-scripts/HOW: -------------------------------------------------------------------------------- 1 | Build the basegame with steam's rtcw pk3s, you'll need an account that has purchased rtcw. Tag it as rtcw-base to appear in docker images ls 2 | docker build --build-arg STEAM_USER="XXXXXXXX" --build-arg STEAM_PASS="XXXXXXXXXXXXX" -t rtcwpro/rtcw-base:1.0 -f basegame . 3 | 4 | If you have steam multi-factor authentication, youll need to run the command again with the guard code you received as a --build-arg GUARDCODE=XXXXX: 5 | docker build --build-arg STEAM_USER="YOUR USERNAME" --build-arg STEAM_PASS="YOUR PW" --build-arg GUARDCODE= -t rtcwpro/rtcw-base:1.0 -f basegame . 6 | 7 | Build the dev rtcw server: 8 | docker build -t rtcwpro/server-dev:1.0 -f rtcwpro-server-dev . 9 | 10 | Run a msh100 equivalent server using development binaries 11 | docker run --mount type=bind,src=`pwd`../build,dst=/home/game/dev -p ":27960:27960/udp" -e "MAPS=adlernest_b3:te_escape2:te_frostbite" -e "PASSWORD=war" -e "REFEREEPASSWORD=pass123" -e "SERVERCONF=comp" rtcwpro/server-dev:1.0 12 | 13 | Attach to a running docker image: 14 | docker ps 15 | shown 16 | docker exec -i -t /bin/bash 17 | 18 | 19 | Create the build image 20 | docker build -t rtcwpro/compile-dev:1.0 -f rtcwpro-compile-develop . 21 | 22 | docker run --mount type=bind,src=`pwd`../build,dst=/home/compile/mnt rtcwpro/compile-dev:1.0 23 | 24 | 25 | -------------------------------------------------------------------------------- /docker-scripts/WIN/copyDllsNoCgame.bat: -------------------------------------------------------------------------------- 1 | copy "J:\GitHub\RTCW-Pro\output\qagame_mp_x86.dll" "J:\GitHub\Rtcw-Pro\src\rtcwpro\" /Y 2 | copy "J:\GitHub\RTCW-Pro\output\cgame_mp_x86.dll" "J:\GitHub\RTCW-Pro\src\rtcwpro\" /Y 3 | copy "J:\GitHub\RTCW-Pro\output\ui_mp_x86.dll" "J:\GitHub\RTCW-Pro\src\rtcwpro\" /Y 4 | 5 | copy "J:\GitHub\RTCW-Pro\output\qagame_mp_x86.dll" "C:\Program Files (x86)\Return to Castle Wolfenstein Copy\rtcwpro" /Y 6 | copy "J:\GitHub\RTCW-Pro\output\cgame_mp_x86.dll" "C:\Program Files (x86)\Return to Castle Wolfenstein Copy\rtcwpro" /Y 7 | copy "J:\GitHub\RTCW-Pro\output\ui_mp_x86.dll" "C:\Program Files (x86)\Return to Castle Wolfenstein Copy\rtcwpro" /Y 8 | 9 | cd ../.. 10 | docker run -it --rm -v %cd%:/rtcwpro rtcwpro:build dos2unix /rtcwpro/docker-scripts/build/build-pk3-nocgame.sh 11 | docker run -it --rm -v %cd%:/rtcwpro rtcwpro:build ./rtcwpro/docker-scripts/build/build-pk3-nocgame.sh 12 | 13 | copy "J:\GitHub\RTCW-Pro\output\qagame_mp_x86.dll" "J:\GitHub\RTCW-Pro\src\rtcwpro" /Y 14 | copy "J:\GitHub\RTCW-Pro\output\cgame_mp_x86.dll" "J:\GitHub\RTCW-Pro\src\rtcwpro" /Y 15 | copy "J:\GitHub\RTCW-Pro\output\ui_mp_x86.dll" "J:\GitHub\RTCW-Pro\src\rtcwpro" /Y 16 | copy "J:\GitHub\RTCW-Pro\output\rtcwpro.pk3" "J:\GitHub\RTCW-Pro\src\rtcwpro" /Y 17 | copy "J:\GitHub\RTCW-Pro\output\rtcwpro.pk3" "C:\Program Files (x86)\Return to Castle Wolfenstein Copy\rtcwpro" /Y 18 | 19 | pause 20 | -------------------------------------------------------------------------------- /src/unix/Conscript-ui: -------------------------------------------------------------------------------- 1 | # ui 2 | 3 | Import qw( BASE_CFLAGS CONFIG_DIR BUILD_DIR BASEGAME do_lddabort CC CXX LINK ); 4 | 5 | $env = new cons( 6 | CC => $CC, 7 | CXX => $CXX, 8 | LINK => $LINK, 9 | CPPPATH => '#../game', # needed for ui_ files 10 | CFLAGS => $BASE_CFLAGS . '-fPIC', 11 | LDFLAGS => '-shared -ldl -lm' 12 | ); 13 | 14 | # some files are compiled and linked in to several .so 15 | # this confuses gdb when setting breakpoints 16 | 17 | @UI_FILES_IN = qw ( 18 | ../game/bg_misc.c 19 | ../game/q_math.c 20 | ../game/q_shared.c 21 | ); 22 | 23 | # run through and process into ui specific 24 | my @UI_FILES_OUT; 25 | foreach (@UI_FILES_IN) 26 | { 27 | $source = $_; 28 | $source =~ s/.*\/(.*)/..\/ui\/ui_\1/; 29 | push @UI_FILES_OUT, $source; 30 | } 31 | 32 | InstallAs $env [@UI_FILES_OUT], [@UI_FILES_IN]; 33 | 34 | $UI_FILESREF = \@UI_FILES_OUT; 35 | 36 | @FILES = qw( 37 | ../ui/ui_atoms.c 38 | ../ui/ui_gameinfo.c 39 | ../ui/ui_main.c 40 | ../ui/ui_players.c 41 | ../ui/ui_shared.c 42 | ../ui/ui_syscalls.c 43 | ../ui/ui_util.c 44 | ); 45 | $FILESREF = \@FILES; 46 | 47 | # FIXME CPU string 48 | Program $env 'ui.mp.i386.so', @$FILESREF, @$UI_FILESREF; 49 | my $path = FilePath('ui.mp.i386.so'); 50 | AfterBuild $env 'ui.mp.i386.so', "[perl] &ldd_check::do_check(\'$path\', $do_lddabort)"; 51 | 52 | Install $env '#' . $CONFIG_DIR . '/out/' . $BASEGAME, 'ui.mp.i386.so'; 53 | -------------------------------------------------------------------------------- /src/game/game.vcxproj.user: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | $(RTCWBASE)\$(RTCW_MOD_NAME) 5 | WindowsLocalDebugger 6 | $(RTCWBASE)\wolfMP.exe 7 | true 8 | 9 | 10 | $(RTCWBASE)\wolfDED.exe 11 | $(RTCWBASE)\$(RTCW_MOD_NAME) 12 | true 13 | WindowsLocalDebugger 14 | 15 | 16 | $(RTCWBASE)\wolfMP.exe 17 | $(RTCWBASE)\$(RTCW_MOD_NAME) 18 | true 19 | WindowsLocalDebugger 20 | 21 | 22 | false 23 | 24 | -------------------------------------------------------------------------------- /src/unix/sdl_local.h: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | Parts taken from CNQ3: 4 | Copyright (C) 2017-2019 Gian 'myT' Schellenbaum 5 | 6 | This file is part of RtcwPro. 7 | 8 | RtcwPro is free software; you can redistribute it 9 | and/or modify it under the terms of the GNU General Public License as 10 | published by the Free Software Foundation; either version 2 of the License, 11 | or (at your option) any later version. 12 | 13 | RtcwPro is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License 19 | along with RtcwPro. If not, see . 20 | =========================================================================== 21 | */ 22 | 23 | #pragma once 24 | 25 | 26 | #define MAX_MONITOR_COUNT 16 27 | 28 | 29 | typedef struct { 30 | SDL_Rect rect; 31 | int sdlIndex; 32 | } monitor_t; 33 | 34 | typedef struct { 35 | SDL_Window* window; 36 | SDL_GLContext glContext; 37 | 38 | monitor_t monitors[MAX_MONITOR_COUNT]; 39 | int monitorCount; 40 | int monitor; // indexes monitors 41 | } glImp_t; 42 | 43 | void sdl_Window( const SDL_WindowEvent* event ); 44 | qbool sdl_Version_AtLeast( int major, int minor, int patch ); 45 | 46 | extern glImp_t glimp; 47 | 48 | -------------------------------------------------------------------------------- /docker-scripts/build-image-git-branch.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | argv=("$@") 4 | if [ -z "${argv[0]}" ] 5 | then 6 | echo "Usage: $0 " 7 | exit 1 8 | fi 9 | 10 | RTCWPRO_SRC=$(dirname `pwd`) 11 | 12 | 13 | # build the files from github branch (these are baked into the image) 14 | docker build \ 15 | --build-arg BRANCH="${argv[1]}" \ 16 | -t ${argv[0]}:${argv[1]} \ 17 | -f dockerfiles/rtcwpro-compile ./dockerfiles 18 | 19 | # build the files from the local volume inside the container 20 | # artifacts go to /build/ 21 | docker run -it \ 22 | -v $RTCWPRO_SRC:/home/compile/code \ 23 | --workdir /home/compile/code/src \ 24 | ${argv[0]}:${argv[1]} \ 25 | make all 26 | 27 | rm -rf $RTCWPRO_SRC/build/objs 28 | 29 | mv $RTCWPRO_SRC/build/rtcwpro/rtcwpro_bin.pk3 $RTCWPRO_SRC/build/rtcwpro/rtcwpro_bin-$(date +%Y%m%d).pk3 30 | mv $RTCWPRO_SRC/build/rtcwpro/rtcwpro_assets.pk3 $RTCWPRO_SRC/build/rtcwpro/rtcwpro_assets-$(date +%Y%m%d).pk3 31 | mv $RTCWPRO_SRC/build/rtcwpro/rtcwpro_models.pk3 $RTCWPRO_SRC/build/rtcwpro/rtcwpro_models-$(date +%Y%m%d).pk3 32 | mv $RTCWPRO_SRC/build/rtcwpro/rtcwpro_xhairs.pk3 $RTCWPRO_SRC/build/rtcwpro/rtcwpro_xhairs-$(date +%Y%m%d).pk3 33 | 34 | # load a shell into the image 35 | #docker run -it -v /var/run/docker.sock:/var/run/docker.sock \ 36 | #-v $(dirname `pwd`):/home/compile/code \ 37 | #--workdir /home/compile/code/src \ 38 | #snappas/rtcwpro:develop /bin/bash 39 | 40 | 41 | bash build-image-git-server.sh ${argv[0]} ${argv[1]} -------------------------------------------------------------------------------- /docker-scripts/build-image-git-branch-18.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | argv=("$@") 4 | if [ -z "${argv[0]}" ] 5 | then 6 | echo "Usage: $0 " 7 | exit 1 8 | fi 9 | 10 | RTCWPRO_SRC=$(dirname `pwd`) 11 | 12 | 13 | # build the files from github branch (these are baked into the image) 14 | docker build \ 15 | --build-arg BRANCH="${argv[1]}" \ 16 | -t ${argv[0]}:${argv[1]} \ 17 | -f dockerfiles/rtcwpro-compile-18 ./dockerfiles 18 | 19 | # build the files from the local volume inside the container 20 | # artifacts go to /build/ 21 | docker run -it \ 22 | -v $RTCWPRO_SRC:/home/compile/code \ 23 | --workdir /home/compile/code/src \ 24 | ${argv[0]}:${argv[1]} \ 25 | make all 26 | 27 | rm -rf $RTCWPRO_SRC/build/objs 28 | 29 | mv $RTCWPRO_SRC/build/rtcwpro/rtcwpro_bin.pk3 $RTCWPRO_SRC/build/rtcwpro/rtcwpro_bin-$(date +%Y%m%d).pk3 30 | mv $RTCWPRO_SRC/build/rtcwpro/rtcwpro_assets.pk3 $RTCWPRO_SRC/build/rtcwpro/rtcwpro_assets-$(date +%Y%m%d).pk3 31 | mv $RTCWPRO_SRC/build/rtcwpro/rtcwpro_models.pk3 $RTCWPRO_SRC/build/rtcwpro/rtcwpro_models-$(date +%Y%m%d).pk3 32 | mv $RTCWPRO_SRC/build/rtcwpro/rtcwpro_xhairs.pk3 $RTCWPRO_SRC/build/rtcwpro/rtcwpro_xhairs-$(date +%Y%m%d).pk3 33 | 34 | # load a shell into the image 35 | #docker run -it -v /var/run/docker.sock:/var/run/docker.sock \ 36 | #-v $(dirname `pwd`):/home/compile/code \ 37 | #--workdir /home/compile/code/src \ 38 | #snappas/rtcwpro:develop /bin/bash 39 | 40 | 41 | #bash build-image-git-server.sh ${argv[0]} ${argv[1]} 42 | -------------------------------------------------------------------------------- /docker-scripts/dockerfiles/rtcwpro-server-dev: -------------------------------------------------------------------------------- 1 | FROM ubuntu:22.04 2 | 3 | ENV DEBIAN_FRONTEND noninteractive 4 | RUN dpkg --add-architecture i386 && \ 5 | apt-get update && \ 6 | apt-get -y upgrade && \ 7 | apt-get install -y wget libc6:i386 unzip bbe git gdb-multiarch gcc 8 | 9 | RUN useradd -ms /bin/bash game 10 | 11 | USER game 12 | WORKDIR /home/game 13 | 14 | COPY --chown=game:game --from="rtcwpro/rtcw-base:1.0" /output/ /home/game 15 | 16 | RUN mkdir /home/game/dev && \ 17 | mkdir -p /home/game/rtcwpro/configs && \ 18 | ln -sf /home/game/dev/wolfded.x86 /home/game/wolfded.x86 && \ 19 | ln -sf /home/game/dev/rtcwpro/qagame.mp.i386.so /home/game/rtcwpro/qagame.mp.i386.so && \ 20 | ln -sf /home/game/dev/rtcwpro/rtcwpro_assets.pk3 /home/game/rtcwpro/rtcwpro_assets.pk3 && \ 21 | ln -sf /home/game/dev/rtcwpro/rtcwpro_models.pk3 /home/game/rtcwpro/rtcwpro_models.pk3 && \ 22 | ln -sf /home/game/dev/rtcwpro/rtcwpro_bin.pk3 /home/game/rtcwpro/rtcwpro_bin.pk3 && \ 23 | ln -sf /home/game/dev/rtcwpro/GeoIP.dat /home/game/rtcwpro/GeoIP.dat && \ 24 | ln -sf /home/game/dev/rtcwpro/configs/defaultcomp.config /home/game/rtcwpro/configs/defaultcomp.config && \ 25 | ln -sf /home/game/dev/rtcwpro/configs/unlag.config /home/game/rtcwpro/configs/unlag.config 26 | 27 | RUN git clone --depth 1 "https://github.com/msh100/rtcw-config.git" \ 28 | /home/game/settings/ 29 | 30 | COPY --chown=game:game scripts/entrypoint.sh /home/game/start 31 | RUN chmod +x /home/game/start 32 | 33 | EXPOSE 27960/udp 34 | 35 | ENTRYPOINT ["/home/game/start"] 36 | -------------------------------------------------------------------------------- /changelog/1.1-changelog.txt: -------------------------------------------------------------------------------- 1 | Release 1.1 2 | 3 | Issue Fixes 4 | 5 | #119 instant respawn bug 6 | #152 do not reset ammo clips when picking up weapon 7 | #161 game server list broken 8 | #162 only team that pauses match may unpause it 9 | #166 do not print ref authorization information to all users 10 | #167 ref unlock not working 11 | #173 cvar restrictions causing lag spike at round start 12 | #174 weapon restrictions 13 | #177 do not include gibs during warmup into stats 14 | #178 do not start match when referee puts player on a team 15 | #185 allow spectating player during pause 16 | #186 updated GeoIP database 17 | #189 fixed gib stats when damage > 190 18 | #193 player ready status; fixed 19 | 20 | Other Fixes 21 | 22 | goat sound for knife kill (random with humiliation) 23 | added REF tag in /players command 24 | g_weapon and antilag 25 | make crosshair health info disappear faster 26 | do not show LT ammo info during spectating 27 | ignore complaint popups during warmup 28 | moved referee message to popup message instead of printing to all 29 | updated sv dlrate 30 | minor fix for uninitialized variable wstats 31 | fixed wstats when printed outside of stats/removed duplicates 32 | only log disconnects during a a match 33 | small adjustment for instant respawn fix 34 | fixed overlay gib status 35 | fixed cvar negative values 36 | fixed sten magic ammo 37 | prevent weaponbank 7 bug 38 | 39 | New Features 40 | 41 | implemented JSON stats 42 | updated bullet fire logic for animation hitboxes 43 | implemented #43 dead bodies should not grab spawn flags 44 | implemented #182 freecam pick player by +attack -------------------------------------------------------------------------------- /src/qcommon/crypto/sha-1/sha1.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 1998 3 | * Paul E. Jones 4 | * All Rights Reserved 5 | */ 6 | /** 7 | * @file sha1.h 8 | * @brief This class implements the Secure Hashing Standard as defined 9 | * in FIPS PUB 180-1 published April 17, 1995. 10 | * 11 | * Many of the variable names in the SHA1Context, especially the 12 | * single character names, were used because those were the names 13 | * used in the publication. 14 | * 15 | * Please read the file sha1.c for more information. 16 | */ 17 | 18 | #ifndef INCLUDE_SHA1_H 19 | #define INCLUDE_SHA1_H 20 | 21 | /* 22 | * This structure will hold context information for the hashing 23 | * operation 24 | */ 25 | typedef struct SHA1Context 26 | { 27 | unsigned Message_Digest[5]; /* Message Digest (output) */ 28 | 29 | unsigned Length_Low; /* Message length in bits */ 30 | unsigned Length_High; /* Message length in bits */ 31 | 32 | unsigned char Message_Block[64]; /* 512-bit message blocks */ 33 | int Message_Block_Index; /* Index into message block array */ 34 | 35 | int Computed; /* Is the digest computed? */ 36 | int Corrupted; /* Is the message digest corruped? */ 37 | } SHA1Context; 38 | 39 | /* 40 | * Function Prototypes 41 | */ 42 | void SHA1Reset(SHA1Context *); 43 | int SHA1Result(SHA1Context *); 44 | void SHA1Input(SHA1Context *, 45 | const unsigned char *, 46 | unsigned); 47 | 48 | #endif // #ifndef INCLUDE_SHA1_H 49 | -------------------------------------------------------------------------------- /src/unix/extract-dedicated.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env perl 2 | 3 | # build a pk3 for dedicated-only server from a file list 4 | # suggested file list .. mp_*.pk3 5 | # steps: 6 | # scan for the .bsp and .script 7 | # extract them (following FS search order) 8 | # build pk3 9 | 10 | # typical command line: 11 | # ./extract-dedicated.pl /usr/local/games/wolfenstein/main/mp_* 12 | 13 | # .bsp and .script are only part of the work anyway 14 | # there are some other files needed 15 | # but the architecture could be re-used to extract files in an easy way 16 | # with a system similar to the FS 17 | 18 | # get file list, alphabetical order 19 | my @FILES = sort @ARGV; 20 | print "FILES: @FILES\n"; 21 | 22 | my %TABLE; 23 | 24 | # build a table, file name, where to extract from 25 | for ($i = 0; $i < scalar(@ARGV); $i++) 26 | { 27 | my $FILENAME = $FILES[$i]; 28 | open( $log, 'unzip -l ' . "$FILENAME" . ' | egrep \'maps.*\.script\' | sed -e \'s/.*\(maps.*\)/\1/\' |'); 29 | my $line = <$log>; 30 | do { 31 | chop $line; 32 | $TABLE{"$line"} = "$FILENAME"; 33 | } until (!($line = <$log>)); 34 | open( $log, 'unzip -l ' . "$FILENAME" . ' | egrep \'maps.*\.bsp\' | sed -e \'s/.*\(maps.*\)/\1/\' |'); 35 | my $line = <$log>; 36 | do { 37 | chop $line; 38 | $TABLE{"$line"} = "$FILENAME"; 39 | } until (!($line = <$log>)); 40 | } 41 | 42 | system('rm -rf extract.tmp; mkdir extract.tmp'); 43 | 44 | my @FILELIST = keys(%TABLE); 45 | for ($i = 0; $i < scalar(@FILELIST); $i++) 46 | { 47 | print "File: $FILELIST[$i] $TABLE{$FILELIST[$i]}\n"; 48 | system("unzip $TABLE{$FILELIST[$i]} $FILELIST[$i] -d extract.tmp"); 49 | } 50 | 51 | -------------------------------------------------------------------------------- /src/server/sv_control.c: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | 4 | Return to Castle Wolfenstein multiplayer GPL Source Code 5 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 6 | 7 | This file is part of the Return to Castle Wolfenstein multiplayer GPL Source Code (“RTCW MP Source Code”). 8 | 9 | RTCW MP Source Code 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 3 of the License, or 12 | (at your option) any later version. 13 | 14 | RTCW MP Source Code is distributed in the hope that it will be useful, 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | GNU General Public License for more details. 18 | 19 | You should have received a copy of the GNU General Public License 20 | along with RTCW MP Source Code. If not, see . 21 | 22 | In addition, the RTCW MP Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the RTCW MP Source Code. If not, please request a copy in writing from id Software at the address below. 23 | 24 | If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA. 25 | 26 | =========================================================================== 27 | */ 28 | -------------------------------------------------------------------------------- /docker-scripts/dockerfiles/rtcwpro-server-dev-valgrind: -------------------------------------------------------------------------------- 1 | FROM ubuntu:22.04 2 | 3 | ENV DEBIAN_FRONTEND noninteractive 4 | RUN dpkg --add-architecture i386 && \ 5 | apt-get update && \ 6 | apt-get -y upgrade && \ 7 | apt-get install -y wget libc6:i386 unzip bbe git gdb-multiarch gcc valgrind:i386 libc6-dbg:i386 8 | 9 | RUN useradd -ms /bin/bash game 10 | 11 | USER game 12 | WORKDIR /home/game 13 | 14 | COPY --chown=game:game --from="rtcwpro/rtcw-base:1.0" /output/ /home/game 15 | 16 | RUN mkdir /home/game/dev && \ 17 | mkdir -p /home/game/rtcwpro/configs && \ 18 | ln -sf /home/game/dev/wolfded.x86 /home/game/wolfded.x86 && \ 19 | ln -sf /home/game/dev/rtcwpro/qagame.mp.i386.so /home/game/rtcwpro/qagame.mp.i386.so && \ 20 | ln -sf /home/game/dev/rtcwpro/rtcwpro_assets.pk3 /home/game/rtcwpro/rtcwpro_assets.pk3 && \ 21 | ln -sf /home/game/dev/rtcwpro/rtcwpro_models.pk3 /home/game/rtcwpro/rtcwpro_models.pk3 && \ 22 | ln -sf /home/game/dev/rtcwpro/rtcwpro_bin.pk3 /home/game/rtcwpro/rtcwpro_bin.pk3 && \ 23 | ln -sf /home/game/dev/rtcwpro/GeoIP.dat /home/game/rtcwpro/GeoIP.dat && \ 24 | ln -sf /home/game/dev/rtcwpro/configs/defaultcomp.config /home/game/rtcwpro/configs/defaultcomp.config && \ 25 | ln -sf /home/game/dev/rtcwpro/configs/unlag.config /home/game/rtcwpro/configs/unlag.config 26 | 27 | RUN git clone --depth 1 "https://github.com/msh100/rtcw-config.git" \ 28 | /home/game/settings/ 29 | 30 | COPY --chown=game:game scripts/entrypoint-valgrind.sh /home/game/start 31 | RUN chmod +x /home/game/start 32 | 33 | EXPOSE 27960/udp 34 | 35 | #run this when attached so valgrind can build reports at termination 36 | #ENTRYPOINT ["/home/game/start"] 37 | -------------------------------------------------------------------------------- /MAIN/scripts/triggers.shader: -------------------------------------------------------------------------------- 1 | gfx/2d/customTrigger 2 | { 3 | cull none 4 | noPicmip 5 | surfaceparm trans 6 | { 7 | map gfx/2d/trigger.jpg 8 | blendFunc GL_SRC_ALPHA GL_ONE 9 | rgbGen const ( 1 0 1 ) 10 | alphaGen const 0.1 11 | } 12 | } 13 | 14 | gfx/2d/objTrigger 15 | { 16 | cull none 17 | noPicmip 18 | surfaceparm trans 19 | { 20 | map gfx/2d/trigger.jpg 21 | blendFunc GL_SRC_ALPHA GL_ONE 22 | rgbGen const ( 0 1 0 ) 23 | alphaGen const 0.1 24 | } 25 | } 26 | 27 | gfx/2d/transmitTrigger 28 | { 29 | cull none 30 | noPicmip 31 | surfaceparm trans 32 | { 33 | map gfx/2d/trigger.jpg 34 | blendFunc GL_SRC_ALPHA GL_ONE 35 | rgbGen const ( 1 0 0 ) 36 | alphaGen const 0.1 37 | } 38 | } 39 | 40 | gfx/2d/customTriggerEdges 41 | { 42 | cull none 43 | noPicmip 44 | surfaceparm trans 45 | { 46 | map gfx/2d/trigger.jpg 47 | blendFunc GL_SRC_ALPHA GL_ONE 48 | rgbGen const ( 1 0 1 ) 49 | alphaGen const 1 50 | } 51 | } 52 | 53 | gfx/2d/objTriggerEdges 54 | { 55 | cull none 56 | noPicmip 57 | surfaceparm trans 58 | { 59 | map gfx/2d/trigger.jpg 60 | blendFunc GL_SRC_ALPHA GL_ONE 61 | rgbGen const ( 0 1 0 ) 62 | alphaGen const 1 63 | } 64 | } 65 | 66 | gfx/2d/transmitTriggerEdges 67 | { 68 | cull none 69 | noPicmip 70 | surfaceparm trans 71 | { 72 | map gfx/2d/trigger.jpg 73 | blendFunc GL_SRC_ALPHA GL_ONE 74 | rgbGen const ( 1 0 0 ) 75 | alphaGen const 1 76 | } 77 | } 78 | 79 | -------------------------------------------------------------------------------- /src/unix/snapvector.nasm: -------------------------------------------------------------------------------- 1 | ; 2 | ; Sys_SnapVector NASM code (Andrew Henderson) 3 | ; See win32/win_shared.c for the Win32 equivalent 4 | ; This code is provided to ensure that the 5 | ; rounding behavior (and, if necessary, the 6 | ; precision) of DLL and QVM code are identical 7 | ; e.g. for network-visible operations. 8 | ; See ftol.nasm for operations on a single float, 9 | ; as used in compiled VM and DLL code that does 10 | ; not use this system trap. 11 | ; 12 | 13 | 14 | segment .data 15 | 16 | fpucw dd 0 17 | cw037F dd 0x037F ; Rounding to nearest (even). 18 | 19 | segment .text 20 | 21 | ; void Sys_SnapVector( float *v ) 22 | global Sys_SnapVector 23 | Sys_SnapVector: 24 | push eax 25 | push ebp 26 | mov ebp, esp 27 | 28 | fnstcw [fpucw] 29 | mov eax, dword [ebp + 12] 30 | fldcw [cw037F] 31 | fld dword [eax] 32 | fistp dword [eax] 33 | fild dword [eax] 34 | fstp dword [eax] 35 | fld dword [eax + 4] 36 | fistp dword [eax + 4] 37 | fild dword [eax + 4] 38 | fstp dword [eax + 4] 39 | fld dword [eax + 8] 40 | fistp dword [eax + 8] 41 | fild dword [eax + 8] 42 | fstp dword [eax + 8] 43 | fldcw [fpucw] 44 | 45 | pop ebp 46 | pop eax 47 | ret 48 | 49 | ; void Sys_SnapVectorCW( float *v, unsigned short int cw ) 50 | global Sys_SnapVectorCW 51 | Sys_SnapVector_cw: 52 | push eax 53 | push ebp 54 | mov ebp, esp 55 | 56 | fnstcw [fpucw] 57 | mov eax, dword [ebp + 12] 58 | fldcw [ebp + 16] 59 | fld dword [eax] 60 | fistp dword [eax] 61 | fild dword [eax] 62 | fstp dword [eax] 63 | fld dword [eax + 4] 64 | fistp dword [eax + 4] 65 | fild dword [eax + 4] 66 | fstp dword [eax + 4] 67 | fld dword [eax + 8] 68 | fistp dword [eax + 8] 69 | fild dword [eax + 8] 70 | fstp dword [eax + 8] 71 | fldcw [fpucw] 72 | 73 | pop ebp 74 | pop eax 75 | ret -------------------------------------------------------------------------------- /src/cgame/cg_ndp.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef cg_ndp_h 3 | #define cg_ndp_h 4 | //Syscalls to Client 5 | qbool trap_CNQ3_NDP_Enable(void); 6 | int trap_CNQ3_NDP_Seek(int servertime); 7 | void trap_CNQ3_NDP_ReadUntil(int serverTime); 8 | void trap_CNQ3_NDP_StartVideo(void); 9 | void trap_CNQ3_NDP_StopVideo(void); 10 | void trap_LocateInteropData(void* bufferIn, int bufferInSize, void* bufferOut, int bufferOutSize); 11 | 12 | //Syscalls from Client 13 | void CG_NDP_EndAnalysis(const char* filePath, int firstServerTime, int lastServerTime, qboolean videoRestart); 14 | void CG_NDP_AnalyzeCommand(int serverTime); 15 | qbool CG_NDP_AnalyzeSnapshot(int progress); 16 | 17 | //Public functions 18 | void CG_NDP_ResetStateWhenBackInTime(void); 19 | void CG_NDP_SeekAbsolute(int serverTime); 20 | void CG_NDP_SeekRelative(int serverTime); 21 | void CG_NDP_GoToNextFrag(qbool forward); 22 | void CG_NDP_SetGameTime(); 23 | 24 | extern int ndp_myKills[1024]; 25 | extern int ndp_myKillsSize; 26 | extern int ndp_alliesWins[1024]; 27 | extern int ndp_axisWins[1024]; 28 | extern int ndp_alliesWinsSize; 29 | extern int ndp_axisWinsSize; 30 | extern int ndp_lastgamestate; 31 | extern int ndp_currentRound; 32 | extern int ndp_nextTimeLimit; 33 | extern int ndp_round1End[32]; 34 | extern int ndp_round2End[32]; 35 | extern int ndp_round1EndSize; 36 | extern int ndp_round2EndSize; 37 | extern int ndp_docDropTime[1024]; 38 | extern int ndp_docPickupTime[1024]; 39 | extern int ndp_docDropSize; 40 | extern int ndp_docPickupSize; 41 | extern qbool ndp_killStreak[1024]; 42 | extern qbool isRtcwPro; 43 | extern qbool isRtcwProV128; 44 | extern qbool isRtcwProV129; 45 | extern qbool isRtcwProV130; 46 | extern qbool isRtcwProV140; 47 | extern qbool gameVersionFound; 48 | extern int m_currServerTime; 49 | extern int m_firstServerTime; 50 | extern int m_lastServerTime; 51 | #endif -------------------------------------------------------------------------------- /src/qcommon/crash.h: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | Copyright (C) 2017-2020 Gian 'myT' Schellenbaum 4 | 5 | This file is part of Challenge Quake 3 (CNQ3). 6 | 7 | Challenge Quake 3 is free software; you can redistribute it 8 | and/or modify it under the terms of the GNU General Public License as 9 | published by the Free Software Foundation; either version 2 of the License, 10 | or (at your option) any later version. 11 | 12 | Challenge Quake 3 is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with Challenge Quake 3. If not, see . 19 | =========================================================================== 20 | */ 21 | // save and print useful data for JSON crash report files 22 | 23 | #include "q_shared.h" 24 | #include "qcommon.h" 25 | 26 | #include 27 | 28 | 29 | // json.c 30 | void JSONW_BeginFile(FILE* file); 31 | void JSONW_EndFile(); 32 | void JSONW_BeginObject(); 33 | void JSONW_BeginNamedObject(const char* name); 34 | void JSONW_EndObject(); 35 | void JSONW_BeginArray(); 36 | void JSONW_BeginNamedArray(const char* name); 37 | void JSONW_EndArray(); 38 | void JSONW_IntegerValue(const char* name, int number); 39 | void JSONW_HexValue(const char* name, uint64_t number); 40 | void JSONW_BooleanValue(const char* name, qbool value); 41 | void JSONW_StringValue(const char* name, PRINTF_FORMAT_STRING const char* format, ...); 42 | void JSONW_UnnamedHex(uint64_t number); 43 | void JSONW_UnnamedString(PRINTF_FORMAT_STRING const char* format, ...); 44 | 45 | -------------------------------------------------------------------------------- /docker-scripts/WIN/copyDlls-nopk3.bat: -------------------------------------------------------------------------------- 1 | copy "J:\GitHub\RTCW-Pro\output\qagame_mp_x86.dll" "J:\GitHub\Rtcw-Pro\src\rtcwpro\" /Y 2 | copy "J:\GitHub\RTCW-Pro\output\cgame_mp_x86.dll" "J:\GitHub\RTCW-Pro\src\rtcwpro\" /Y 3 | copy "J:\GitHub\RTCW-Pro\output\ui_mp_x86.dll" "J:\GitHub\RTCW-Pro\src\rtcwpro\" /Y 4 | copy "J:\GitHub\RTCW-Pro\output\qagame_mp_x86.dll" "C:\Program Files (x86)\Return to Castle Wolfenstein\rtcwpro" /Y 5 | copy "J:\GitHub\RTCW-Pro\output\cgame_mp_x86.dll" "C:\Program Files (x86)\Return to Castle Wolfenstein\rtcwpro" /Y 6 | copy "J:\GitHub\RTCW-Pro\output\ui_mp_x86.dll" "C:\Program Files (x86)\Return to Castle Wolfenstein\rtcwpro" /Y 7 | 8 | copy "J:\GitHub\RTCW-Pro\output\qagame_mp_x86.dll" "C:\Program Files (x86)\Return to Castle Wolfenstein Copy\rtcwpro" /Y 9 | copy "J:\GitHub\RTCW-Pro\output\cgame_mp_x86.dll" "C:\Program Files (x86)\Return to Castle Wolfenstein Copy\rtcwpro" /Y 10 | copy "J:\GitHub\RTCW-Pro\output\ui_mp_x86.dll" "C:\Program Files (x86)\Return to Castle Wolfenstein Copy\rtcwpro" /Y 11 | 12 | rem cd ../.. 13 | rem docker run -it --rm -v %cd%:/rtcwpro rtcwpro:build dos2unix /rtcwpro/docker-scripts/build/build-pk3.sh 14 | rem docker run -it --rm -v %cd%:/rtcwpro rtcwpro:build ./rtcwpro/docker-scripts/build/build-pk3.sh 15 | 16 | copy "J:\GitHub\RTCW-Pro\output\qagame_mp_x86.dll" "J:\GitHub\RTCW-Pro\src\rtcwpro" /Y 17 | copy "J:\GitHub\RTCW-Pro\output\cgame_mp_x86.dll" "J:\GitHub\RTCW-Pro\src\rtcwpro" /Y 18 | copy "J:\GitHub\RTCW-Pro\output\ui_mp_x86.dll" "J:\GitHub\RTCW-Pro\src\rtcwpro" /Y 19 | copy "J:\GitHub\RTCW-Pro\output\rtcwpro.pk3" "J:\GitHub\RTCW-Pro\src\rtcwpro" /Y 20 | copy "J:\GitHub\RTCW-Pro\output\rtcwpro.pk3" "C:\Program Files (x86)\Return to Castle Wolfenstein\rtcwpro" /Y 21 | copy "J:\GitHub\RTCW-Pro\output\rtcwpro.pk3" "C:\Program Files (x86)\Return to Castle Wolfenstein Copy\rtcwpro" /Y 22 | pause 23 | -------------------------------------------------------------------------------- /src/win32/winquake.rc: -------------------------------------------------------------------------------- 1 | //Microsoft Developer Studio generated resource script. 2 | // 3 | #include "resource.h" 4 | 5 | #define APSTUDIO_READONLY_SYMBOLS 6 | ///////////////////////////////////////////////////////////////////////////// 7 | // 8 | // Generated from the TEXTINCLUDE 2 resource. 9 | // 10 | #include "winres.h" 11 | 12 | ///////////////////////////////////////////////////////////////////////////// 13 | #undef APSTUDIO_READONLY_SYMBOLS 14 | 15 | ///////////////////////////////////////////////////////////////////////////// 16 | // English (U.S.) resources 17 | 18 | #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) 19 | #ifdef _WIN32 20 | LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US 21 | #pragma code_page(1252) 22 | #endif //_WIN32 23 | 24 | #ifdef APSTUDIO_INVOKED 25 | ///////////////////////////////////////////////////////////////////////////// 26 | // 27 | // TEXTINCLUDE 28 | // 29 | 30 | 1 TEXTINCLUDE DISCARDABLE 31 | BEGIN 32 | "resource.h\0" 33 | END 34 | 35 | 2 TEXTINCLUDE DISCARDABLE 36 | BEGIN 37 | "#include ""winres.h""\r\n" 38 | "\0" 39 | END 40 | 41 | 3 TEXTINCLUDE DISCARDABLE 42 | BEGIN 43 | "\0" 44 | END 45 | 46 | #endif // APSTUDIO_INVOKED 47 | 48 | 49 | ///////////////////////////////////////////////////////////////////////////// 50 | // 51 | // Icon 52 | // 53 | 54 | // Icon with lowest ID value placed first to ensure application icon 55 | // remains consistent on all systems. 56 | IDI_ICON1 ICON DISCARDABLE "qe3.ico" 57 | 58 | ///////////////////////////////////////////////////////////////////////////// 59 | // 60 | // String Table 61 | // 62 | 63 | STRINGTABLE DISCARDABLE 64 | BEGIN 65 | IDS_STRING1 "Wolfenstein" 66 | END 67 | 68 | #endif // English (U.S.) resources 69 | ///////////////////////////////////////////////////////////////////////////// 70 | 71 | 72 | -------------------------------------------------------------------------------- /src/macosx/CGMouseDeltaFix.h: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | 4 | Return to Castle Wolfenstein multiplayer GPL Source Code 5 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 6 | 7 | This file is part of the Return to Castle Wolfenstein multiplayer GPL Source Code (“RTCW MP Source Code”). 8 | 9 | RTCW MP Source Code 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 3 of the License, or 12 | (at your option) any later version. 13 | 14 | RTCW MP Source Code is distributed in the hope that it will be useful, 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | GNU General Public License for more details. 18 | 19 | You should have received a copy of the GNU General Public License 20 | along with RTCW MP Source Code. If not, see . 21 | 22 | In addition, the RTCW MP Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the RTCW MP Source Code. If not, please request a copy in writing from id Software at the address below. 23 | 24 | If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA. 25 | 26 | =========================================================================== 27 | */ 28 | 29 | #import 30 | 31 | extern void CGFix_Initialize(); 32 | 33 | extern void CGFix_GetLastMouseDelta( CGMouseDelta *dx, CGMouseDelta *dy ); 34 | 35 | -------------------------------------------------------------------------------- /MAIN/scripts/smoke.shader: -------------------------------------------------------------------------------- 1 | // SHADER for Airstrike and Artillery Smoke with nopicmip option 2 | 3 | smokePuffPro 4 | { 5 | nopicmip 6 | nofog 7 | cull none 8 | entityMergable // allow all the sprites to be merged together 9 | { 10 | map gfx/misc/smokepuff.tga 11 | blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA 12 | rgbGen vertex 13 | alphaGen vertex 14 | } 15 | } 16 | 17 | // Rafael - black smoke 18 | // prerotated texture for smoke 19 | smokePuffblackPro1 20 | { 21 | // nofog 22 | nopicmip 23 | cull none 24 | { 25 | map gfx/misc/smokepuff_b1.tga 26 | // blendFunc GL_ZERO GL_ONE_MINUS_SRC_ALPHA 27 | blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA // (SA) I put it back for DM 28 | alphaGen vertex 29 | } 30 | 31 | } 32 | 33 | smokePuffblackPro2 34 | { 35 | // nofog 36 | nopicmip 37 | cull none 38 | { 39 | map gfx/misc/smokepuff_b2.tga 40 | // blendFunc GL_ZERO GL_ONE_MINUS_SRC_ALPHA 41 | blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA // (SA) I put it back for DM 42 | alphaGen vertex 43 | } 44 | 45 | } 46 | 47 | smokePuffblackPro3 48 | { 49 | // nofog 50 | nopicmip 51 | cull none 52 | { 53 | map gfx/misc/smokepuff_b3.tga 54 | // blendFunc GL_ZERO GL_ONE_MINUS_SRC_ALPHA 55 | blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA // (SA) I put it back for DM 56 | alphaGen vertex 57 | } 58 | 59 | } 60 | 61 | smokePuffblackPro4 62 | { 63 | // nofog 64 | nopicmip 65 | cull none 66 | { 67 | map gfx/misc/smokepuff_b4.tga 68 | // blendFunc GL_ZERO GL_ONE_MINUS_SRC_ALPHA 69 | blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA // (SA) I put it back for DM 70 | alphaGen vertex 71 | } 72 | 73 | } 74 | 75 | smokePuffblackPro5 76 | { 77 | // nofog 78 | nopicmip 79 | cull none 80 | { 81 | map gfx/misc/smokepuff_b5.tga 82 | // blendFunc GL_ZERO GL_ONE_MINUS_SRC_ALPHA 83 | blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA // (SA) I put it back for DM 84 | alphaGen vertex 85 | } 86 | 87 | } 88 | // done -------------------------------------------------------------------------------- /src/botlib/be_aas_optimize.h: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | 4 | Return to Castle Wolfenstein multiplayer GPL Source Code 5 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 6 | 7 | This file is part of the Return to Castle Wolfenstein multiplayer GPL Source Code (“RTCW MP Source Code”). 8 | 9 | RTCW MP Source Code 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 3 of the License, or 12 | (at your option) any later version. 13 | 14 | RTCW MP Source Code is distributed in the hope that it will be useful, 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | GNU General Public License for more details. 18 | 19 | You should have received a copy of the GNU General Public License 20 | along with RTCW MP Source Code. If not, see . 21 | 22 | In addition, the RTCW MP Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the RTCW MP Source Code. If not, please request a copy in writing from id Software at the address below. 23 | 24 | If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA. 25 | 26 | =========================================================================== 27 | */ 28 | 29 | 30 | /***************************************************************************** 31 | * name: be_aas_optimize.h 32 | * 33 | * desc: AAS 34 | * 35 | * 36 | *****************************************************************************/ 37 | 38 | void AAS_Optimize( void ); 39 | 40 | -------------------------------------------------------------------------------- /src/botai/ai_team.h: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | 4 | Return to Castle Wolfenstein multiplayer GPL Source Code 5 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 6 | 7 | This file is part of the Return to Castle Wolfenstein multiplayer GPL Source Code (“RTCW MP Source Code”). 8 | 9 | RTCW MP Source Code 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 3 of the License, or 12 | (at your option) any later version. 13 | 14 | RTCW MP Source Code is distributed in the hope that it will be useful, 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | GNU General Public License for more details. 18 | 19 | You should have received a copy of the GNU General Public License 20 | along with RTCW MP Source Code. If not, see . 21 | 22 | In addition, the RTCW MP Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the RTCW MP Source Code. If not, please request a copy in writing from id Software at the address below. 23 | 24 | If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA. 25 | 26 | =========================================================================== 27 | */ 28 | 29 | 30 | /***************************************************************************** 31 | * name: ai_team.h 32 | * 33 | * desc: Quake3 bot AI 34 | * 35 | * 36 | *****************************************************************************/ 37 | 38 | void BotTeamAI( bot_state_t *bs ); 39 | 40 | 41 | -------------------------------------------------------------------------------- /MAIN/ui_mp/menus.txt: -------------------------------------------------------------------------------- 1 | // menu defs 2 | // 3 | { 4 | loadMenu { "ui_mp/main.menu" } 5 | loadMenu { "ui_mp/multi.menu" } // NERVE - ATS 6 | loadMenu { "ui_mp/demos.menu" } 7 | loadMenu { "ui_mp/joinserver.menu" } // NERVE - SMF - commented in for multiplayer 8 | loadMenu { "ui_mp/multi_setup.menu" } // NERVE - ATS 9 | loadMenu { "ui_mp/setup.menu" } 10 | loadMenu { "ui_mp/createserver.menu" } // NERVE - SMF - commented in for multiplayer 11 | loadMenu { "ui_mp/controls.menu" } 12 | loadMenu { "ui_mp/cdkey.menu" } 13 | loadMenu { "ui_mp/system.menu" } 14 | loadMenu { "ui_mp/options.menu" } 15 | loadMenu { "ui_mp/credit.menu" } 16 | loadMenu { "ui_mp/connect.menu" } 17 | loadMenu { "ui_mp/password.menu" } 18 | loadMenu { "ui_mp/quit.menu" } 19 | loadMenu { "ui_mp/single_player.menu" } // NERVE - SMF 20 | loadMenu { "ui_mp/vid_restart.menu" } 21 | loadMenu { "ui_mp/default.menu" } 22 | loadMenu { "ui_mp/quitcredit.menu" } 23 | loadMenu { "ui_mp/createfavorite.menu" } 24 | loadMenu { "ui_mp/filter.menu" } 25 | loadMenu { "ui_mp/in_rec_restart.menu" } //NERVE - ATS 26 | loadMenu { "ui_mp/rec_restart.menu" } //NERVE - ATS 27 | // end copy from menus.txt 28 | 29 | loadMenu { "ui_mp/ingame.menu" } 30 | loadMenu { "ui_mp/ingame_controls.menu" } 31 | loadMenu { "ui_mp/ingame_options.menu" } 32 | loadMenu { "ui_mp/ingame_system.menu" } 33 | loadMenu { "ui_mp/ingame_leave.menu" } 34 | loadMenu { "ui_mp/ingame_callvote.menu" } 35 | 36 | // NERVE - SMF 37 | loadMenu { "ui_mp/wm_limbo.menu" } 38 | loadMenu { "ui_mp/wm_quickmessage.menu" } 39 | loadMenu { "ui_mp/wm_quickmessageAlt.menu" } 40 | // -NERVE - SMF 41 | 42 | // some of these are modal and dialog boxes, they need to be at the end for correct drawing order 43 | loadMenu { "ui_mp/error.menu" } 44 | loadMenu { "ui_mp/serverinfo.menu" } 45 | loadMenu { "ui_mp/pbinfo.menu" } //NERVE - DHM 46 | loadMenu { "ui_mp/mods.menu" } //NERVE - DHM 47 | loadMenu { "ui_mp/auto_update.menu" } //NERVE - DHM 48 | loadMenu { "ui_mp/urls.menu" } // TTimo 49 | } 50 | -------------------------------------------------------------------------------- /src/macosx/Q3Controller.h: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | 4 | Return to Castle Wolfenstein multiplayer GPL Source Code 5 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 6 | 7 | This file is part of the Return to Castle Wolfenstein multiplayer GPL Source Code (“RTCW MP Source Code”). 8 | 9 | RTCW MP Source Code 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 3 of the License, or 12 | (at your option) any later version. 13 | 14 | RTCW MP Source Code is distributed in the hope that it will be useful, 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | GNU General Public License for more details. 18 | 19 | You should have received a copy of the GNU General Public License 20 | along with RTCW MP Source Code. If not, see . 21 | 22 | In addition, the RTCW MP Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the RTCW MP Source Code. If not, please request a copy in writing from id Software at the address below. 23 | 24 | If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA. 25 | 26 | =========================================================================== 27 | */ 28 | 29 | // $Header$ 30 | 31 | #import 32 | 33 | @interface Q3Controller : NSObject 34 | { 35 | IBOutlet NSPanel *bannerPanel; 36 | } 37 | 38 | #ifndef DEDICATED 39 | -(IBAction)paste : (id)sender; 40 | -(IBAction)requestTerminate : (id)sender; 41 | 42 | -(void) showBanner; 43 | #endif 44 | 45 | -(void)quakeMain; 46 | 47 | @end 48 | 49 | -------------------------------------------------------------------------------- /src/botai/ai_cmd.h: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | 4 | Return to Castle Wolfenstein multiplayer GPL Source Code 5 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 6 | 7 | This file is part of the Return to Castle Wolfenstein multiplayer GPL Source Code (“RTCW MP Source Code”). 8 | 9 | RTCW MP Source Code 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 3 of the License, or 12 | (at your option) any later version. 13 | 14 | RTCW MP Source Code is distributed in the hope that it will be useful, 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | GNU General Public License for more details. 18 | 19 | You should have received a copy of the GNU General Public License 20 | along with RTCW MP Source Code. If not, see . 21 | 22 | In addition, the RTCW MP Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the RTCW MP Source Code. If not, please request a copy in writing from id Software at the address below. 23 | 24 | If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA. 25 | 26 | =========================================================================== 27 | */ 28 | 29 | 30 | /***************************************************************************** 31 | * name: ai_cmd.h 32 | * 33 | * desc: Quake3 bot AI 34 | * 35 | * 36 | *****************************************************************************/ 37 | 38 | int BotMatchMessage( bot_state_t *bs, char *message ); 39 | void BotPrintTeamGoal( bot_state_t *bs ); 40 | 41 | -------------------------------------------------------------------------------- /src/game/be_ai_gen.h: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | 4 | Return to Castle Wolfenstein multiplayer GPL Source Code 5 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 6 | 7 | This file is part of the Return to Castle Wolfenstein multiplayer GPL Source Code (“RTCW MP Source Code”). 8 | 9 | RTCW MP Source Code 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 3 of the License, or 12 | (at your option) any later version. 13 | 14 | RTCW MP Source Code is distributed in the hope that it will be useful, 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | GNU General Public License for more details. 18 | 19 | You should have received a copy of the GNU General Public License 20 | along with RTCW MP Source Code. If not, see . 21 | 22 | In addition, the RTCW MP Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the RTCW MP Source Code. If not, please request a copy in writing from id Software at the address below. 23 | 24 | If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA. 25 | 26 | =========================================================================== 27 | */ 28 | 29 | 30 | /***************************************************************************** 31 | * name: be_ai_gen.h 32 | * 33 | * desc: genetic selection 34 | * 35 | * 36 | *****************************************************************************/ 37 | 38 | int GeneticParentsAndChildSelection( int numranks, float *ranks, int *parent1, int *parent2, int *child ); 39 | -------------------------------------------------------------------------------- /src/game/g_shared.h: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | 4 | Return to Castle Wolfenstein multiplayer GPL Source Code 5 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 6 | 7 | This file is part of the Return to Castle Wolfenstein multiplayer GPL Source Code (?RTCW MP Source Code?). 8 | 9 | RTCW MP Source Code 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 3 of the License, or 12 | (at your option) any later version. 13 | 14 | RTCW MP Source Code is distributed in the hope that it will be useful, 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | GNU General Public License for more details. 18 | 19 | You should have received a copy of the GNU General Public License 20 | along with RTCW MP Source Code. If not, see . 21 | 22 | In addition, the RTCW MP Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the RTCW MP Source Code. If not, please request a copy in writing from id Software at the address below. 23 | 24 | If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA. 25 | 26 | =========================================================================== 27 | */ 28 | 29 | #ifndef __G_SHARED_H 30 | #define __G_SHARED_H 31 | 32 | // Tardo -- Moved these here. 33 | 34 | int is_numeric(const char *p); 35 | int is_alnum(const char *p); 36 | void stripChars( char *input, char *output, int cutSize ); 37 | //void DecolorString( char *in, char *out); 38 | void setGuid( char *in, char *out ); 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /src/null/null_input.c: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | 4 | Return to Castle Wolfenstein multiplayer GPL Source Code 5 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 6 | 7 | This file is part of the Return to Castle Wolfenstein multiplayer GPL Source Code (“RTCW MP Source Code”). 8 | 9 | RTCW MP Source Code 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 3 of the License, or 12 | (at your option) any later version. 13 | 14 | RTCW MP Source Code is distributed in the hope that it will be useful, 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | GNU General Public License for more details. 18 | 19 | You should have received a copy of the GNU General Public License 20 | along with RTCW MP Source Code. If not, see . 21 | 22 | In addition, the RTCW MP Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the RTCW MP Source Code. If not, please request a copy in writing from id Software at the address below. 23 | 24 | If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA. 25 | 26 | =========================================================================== 27 | */ 28 | 29 | #include "../client/client.h" 30 | 31 | void IN_Init( void ) { 32 | } 33 | 34 | void IN_Frame( void ) { 35 | } 36 | 37 | void IN_Shutdown( void ) { 38 | } 39 | 40 | void Sys_SendKeyEvents( void ) { 41 | } 42 | 43 | // TTimo: added for win32 dedicated 44 | void IN_MouseEvent( int mstate ) { 45 | } 46 | 47 | void IN_Activate( qboolean active ) { 48 | } 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /src/botlib/be_aas_cluster.h: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | 4 | Return to Castle Wolfenstein multiplayer GPL Source Code 5 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 6 | 7 | This file is part of the Return to Castle Wolfenstein multiplayer GPL Source Code (“RTCW MP Source Code”). 8 | 9 | RTCW MP Source Code 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 3 of the License, or 12 | (at your option) any later version. 13 | 14 | RTCW MP Source Code is distributed in the hope that it will be useful, 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | GNU General Public License for more details. 18 | 19 | You should have received a copy of the GNU General Public License 20 | along with RTCW MP Source Code. If not, see . 21 | 22 | In addition, the RTCW MP Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the RTCW MP Source Code. If not, please request a copy in writing from id Software at the address below. 23 | 24 | If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA. 25 | 26 | =========================================================================== 27 | */ 28 | 29 | 30 | /***************************************************************************** 31 | * name: be_aas_cluster.h 32 | * 33 | * desc: AAS 34 | * 35 | * 36 | *****************************************************************************/ 37 | 38 | #ifdef AASINTERN 39 | //initialize the AAS clustering 40 | void AAS_InitClustering( void ); 41 | #endif //AASINTERN 42 | 43 | -------------------------------------------------------------------------------- /src/unix/unix_glw.h: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | 4 | Return to Castle Wolfenstein multiplayer GPL Source Code 5 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 6 | 7 | This file is part of the Return to Castle Wolfenstein multiplayer GPL Source Code (“RTCW MP Source Code”). 8 | 9 | RTCW MP Source Code 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 3 of the License, or 12 | (at your option) any later version. 13 | 14 | RTCW MP Source Code is distributed in the hope that it will be useful, 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | GNU General Public License for more details. 18 | 19 | You should have received a copy of the GNU General Public License 20 | along with RTCW MP Source Code. If not, see . 21 | 22 | In addition, the RTCW MP Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the RTCW MP Source Code. If not, please request a copy in writing from id Software at the address below. 23 | 24 | If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA. 25 | 26 | =========================================================================== 27 | */ 28 | 29 | #if !( defined __linux__ || defined __FreeBSD__ ) 30 | #error You should include this file only on Linux/FreeBSD platforms 31 | #endif 32 | 33 | #ifndef __GLW_LINUX_H__ 34 | #define __GLW_LINUX_H__ 35 | 36 | typedef struct 37 | { 38 | void *OpenGLLib; // instance of OpenGL library 39 | 40 | FILE *log_fp; 41 | } glwstate_t; 42 | 43 | extern glwstate_t glw_state; 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /MAIN/ui_mp/ingame.txt: -------------------------------------------------------------------------------- 1 | // menu defs 2 | // 3 | { 4 | // copied over from menus.txt 5 | loadMenu { "ui_mp/main.menu" } 6 | loadMenu { "ui_mp/demos.menu" } 7 | loadMenu { "ui_mp/multi.menu" } // NERVE - ATS 8 | loadMenu { "ui_mp/joinserver.menu" } // NERVE - SMF - commented in for multiplayer 9 | loadMenu { "ui_mp/multi_setup.menu" } // NERVE - ATS 10 | loadMenu { "ui_mp/setup.menu" } 11 | loadMenu { "ui_mp/createserver.menu" } // NERVE - SMF - commented in for multiplayer 12 | loadMenu { "ui_mp/controls.menu" } 13 | loadMenu { "ui_mp/cdkey.menu" } 14 | loadMenu { "ui_mp/system.menu" } 15 | loadMenu { "ui_mp/options.menu" } 16 | loadMenu { "ui_mp/credit.menu" } 17 | loadMenu { "ui_mp/connect.menu" } 18 | loadMenu { "ui_mp/password.menu" } 19 | loadMenu { "ui_mp/quit.menu" } 20 | loadMenu { "ui_mp/single_player.menu" } // NERVE - SMF 21 | loadMenu { "ui_mp/vid_restart.menu" } 22 | loadMenu { "ui_mp/default.menu" } 23 | loadMenu { "ui_mp/quitcredit.menu" } 24 | loadMenu { "ui_mp/createfavorite.menu" } 25 | loadMenu { "ui_mp/filter.menu" } 26 | loadMenu { "ui_mp/in_rec_restart.menu" } //NERVE - ATS 27 | loadMenu { "ui_mp/rec_restart.menu" } //NERVE - ATS 28 | // end copy from menus.txt 29 | 30 | loadMenu { "ui_mp/ingame.menu" } 31 | loadMenu { "ui_mp/ingame_controls.menu" } 32 | loadMenu { "ui_mp/ingame_options.menu" } 33 | loadMenu { "ui_mp/ingame_system.menu" } 34 | loadMenu { "ui_mp/ingame_leave.menu" } 35 | loadMenu { "ui_mp/ingame_callvote.menu" } 36 | 37 | // NERVE - SMF 38 | loadMenu { "ui_mp/wm_limbo.menu" } 39 | loadMenu { "ui_mp/wm_quickmessage.menu" } 40 | loadMenu { "ui_mp/wm_quickmessageAlt.menu" } 41 | // -NERVE - SMF 42 | 43 | // some of these are modal and dialog boxes, they need to be at the end for correct drawing order 44 | loadMenu { "ui_mp/error.menu" } 45 | loadMenu { "ui_mp/serverinfo.menu" } 46 | loadMenu { "ui_mp/pbinfo.menu" } //NERVE - DHM 47 | loadMenu { "ui_mp/mods.menu" } //NERVE - DHM 48 | loadMenu { "ui_mp/auto_update.menu" } //NERVE - DHM 49 | loadMenu { "ui_mp/urls.menu" } // TTimo 50 | } 51 | -------------------------------------------------------------------------------- /src/bspc/aas_prunenodes.h: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | 4 | Return to Castle Wolfenstein multiplayer GPL Source Code 5 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 6 | 7 | This file is part of the Return to Castle Wolfenstein multiplayer GPL Source Code (“RTCW MP Source Code”). 8 | 9 | RTCW MP Source Code 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 3 of the License, or 12 | (at your option) any later version. 13 | 14 | RTCW MP Source Code is distributed in the hope that it will be useful, 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | GNU General Public License for more details. 18 | 19 | You should have received a copy of the GNU General Public License 20 | along with RTCW MP Source Code. If not, see . 21 | 22 | In addition, the RTCW MP Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the RTCW MP Source Code. If not, please request a copy in writing from id Software at the address below. 23 | 24 | If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA. 25 | 26 | =========================================================================== 27 | */ 28 | 29 | //=========================================================================== 30 | // 31 | // Name: aas_prunenodes.h 32 | // Function: Prune Nodes 33 | // Programmer: Mr Elusive (MrElusive@demigod.demon.nl) 34 | // Last update: 1997-12-04 35 | // Tab Size: 3 36 | //=========================================================================== 37 | 38 | void AAS_PruneNodes( void ); 39 | 40 | -------------------------------------------------------------------------------- /changelog/1.2.8-changelog.txt: -------------------------------------------------------------------------------- 1 | client - only draw timer during round when using cg_drawTimer 1 2 | client - allow changes to cg_gun[xyz] 3 | client - added cg_antilag so users can turn antilag on/off 4 | client - move connection interrupted out of the center to small text on lagometer 5 | client - added priority objective status prints using cg_showPriorityText 1 6 | client - move /minimize to engine so it works in main menu 7 | 8 | render - #408 - fixed MAX_SHADERS on radar 9 | 10 | server - added client command logging 11 | server - fixed unpause so it counts down to 0 before restarting match 12 | server - minor change for antiwarp for warping player that has stopped but still has velocity 13 | server - fixed objDestroyed stats 14 | server - correctly restore players view angle on revive 15 | server - added g_allowEnemySpawnTimer to control ERT on server level 16 | server - always show Clock Set To message in warmup regardless of value for g_noTeamSwitching 17 | server - use g_tournament instead of g_noTeamSwitching in checkgamestate 18 | server - update ref option messages 19 | server - removed unncessary code in round-end logic 20 | server - #375 changed json round_end to exclude pause time 21 | server - fixed team locks after round starts 22 | server - #324 fixed voting information so it is not empty 23 | server - #390 fixed speclock swapping on swapteams vote 24 | server - fixed invalid health pickup notifications i.e. "50 health" picked up 25 | server - #397 fixed engineer objPlanted and objDestroyed stats 26 | server - fixed end of round sound duplication 27 | server - fixed starting health based on # of medics 28 | server - updated template configs and GeoIP dat file 29 | server - combined round end sounds into one file 30 | server - removed old latchvictorysound code 31 | server - #345 Correct fix for player killed holding primed grenade 32 | server - fix for the multiple objective captures in end of round stats 33 | server - increased max_cvars to avoid max cvars error 34 | server - corrected sten number of bullets shot with com_maxfps 250 35 | server - updated GeoIP database 36 | -------------------------------------------------------------------------------- /src/macosx/macosx_glsmp_null.m: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | 4 | Return to Castle Wolfenstein multiplayer GPL Source Code 5 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 6 | 7 | This file is part of the Return to Castle Wolfenstein multiplayer GPL Source Code (“RTCW MP Source Code”). 8 | 9 | RTCW MP Source Code 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 3 of the License, or 12 | (at your option) any later version. 13 | 14 | RTCW MP Source Code is distributed in the hope that it will be useful, 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | GNU General Public License for more details. 18 | 19 | You should have received a copy of the GNU General Public License 20 | along with RTCW MP Source Code. If not, see . 21 | 22 | In addition, the RTCW MP Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the RTCW MP Source Code. If not, please request a copy in writing from id Software at the address below. 23 | 24 | If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA. 25 | 26 | =========================================================================== 27 | */ 28 | 29 | #import "macosx_glimp.h" 30 | 31 | #include "tr_local.h" 32 | #import "macosx_local.h" 33 | 34 | qboolean GLimp_SpawnRenderThread( void ( *function )( void ) ) { 35 | return qfalse; 36 | } 37 | 38 | void *GLimp_RendererSleep( void ) { 39 | return NULL; 40 | } 41 | 42 | void GLimp_FrontEndSleep( void ) { 43 | 44 | } 45 | 46 | void GLimp_WakeRenderer( void *data ) { 47 | 48 | } 49 | 50 | -------------------------------------------------------------------------------- /src/bspc/nodraw.c: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | 4 | Return to Castle Wolfenstein multiplayer GPL Source Code 5 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 6 | 7 | This file is part of the Return to Castle Wolfenstein multiplayer GPL Source Code (“RTCW MP Source Code”). 8 | 9 | RTCW MP Source Code 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 3 of the License, or 12 | (at your option) any later version. 13 | 14 | RTCW MP Source Code is distributed in the hope that it will be useful, 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | GNU General Public License for more details. 18 | 19 | You should have received a copy of the GNU General Public License 20 | along with RTCW MP Source Code. If not, see . 21 | 22 | In addition, the RTCW MP Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the RTCW MP Source Code. If not, please request a copy in writing from id Software at the address below. 23 | 24 | If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA. 25 | 26 | =========================================================================== 27 | */ 28 | 29 | 30 | #include "qbsp.h" 31 | 32 | vec3_t draw_mins, draw_maxs; 33 | qboolean drawflag; 34 | 35 | void Draw_ClearWindow( void ) { 36 | } 37 | 38 | //============================================================ 39 | 40 | #define GLSERV_PORT 25001 41 | 42 | 43 | void GLS_BeginScene( void ) { 44 | } 45 | 46 | void GLS_Winding( winding_t *w, int code ) { 47 | } 48 | 49 | void GLS_EndScene( void ) { 50 | } 51 | -------------------------------------------------------------------------------- /src/bspc/aas_areamerging.h: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | 4 | Return to Castle Wolfenstein multiplayer GPL Source Code 5 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 6 | 7 | This file is part of the Return to Castle Wolfenstein multiplayer GPL Source Code (“RTCW MP Source Code”). 8 | 9 | RTCW MP Source Code 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 3 of the License, or 12 | (at your option) any later version. 13 | 14 | RTCW MP Source Code is distributed in the hope that it will be useful, 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | GNU General Public License for more details. 18 | 19 | You should have received a copy of the GNU General Public License 20 | along with RTCW MP Source Code. If not, see . 21 | 22 | In addition, the RTCW MP Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the RTCW MP Source Code. If not, please request a copy in writing from id Software at the address below. 23 | 24 | If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA. 25 | 26 | =========================================================================== 27 | */ 28 | 29 | //=========================================================================== 30 | // 31 | // Name: aas_areamerging.h 32 | // Function: Merging of Areas 33 | // Programmer: Mr Elusive (MrElusive@demigod.demon.nl) 34 | // Last update: 1997-12-04 35 | // Tab Size: 3 36 | //=========================================================================== 37 | 38 | 39 | void AAS_MergeAreas( void ); 40 | 41 | -------------------------------------------------------------------------------- /src/unix/Conscript-cgame: -------------------------------------------------------------------------------- 1 | # cgame 2 | 3 | Import qw( BASE_CFLAGS CONFIG_DIR BUILD_DIR BASEGAME do_lddabort CC CXX LINK ); 4 | 5 | $env = new cons( 6 | CC => $CC, 7 | CXX => $CXX, 8 | LINK => $LINK, 9 | CPPPATH => '#../game:#../ui', # needed for cg_ files 10 | CFLAGS => $BASE_CFLAGS . '-fPIC -DCGAMEDLL', 11 | LDFLAGS => '-shared -ldl -lm' 12 | ); 13 | 14 | # some files are compiled and linked in to several .so 15 | # this confuses gdb when setting breakpoints 16 | 17 | @CG_FILES_IN = qw ( 18 | ../game/bg_animation.c 19 | ../game/bg_misc.c 20 | ../game/bg_pmove.c 21 | ../game/bg_slidemove.c 22 | ../game/q_math.c 23 | ../game/q_shared.c 24 | ../ui/ui_shared.c 25 | ); 26 | 27 | # run through and process into cgame specific 28 | my @CG_FILES_OUT; 29 | foreach (@CG_FILES_IN) 30 | { 31 | $source = $_; 32 | $source =~ s/.*\/(.*)/..\/cgame\/cg_\1/; 33 | push @CG_FILES_OUT, $source; 34 | } 35 | 36 | InstallAs $env [@CG_FILES_OUT], [@CG_FILES_IN]; 37 | 38 | $CG_FILESREF = \@CG_FILES_OUT; 39 | 40 | @FILES = qw( 41 | ../cgame/cg_consolecmds.c 42 | ../cgame/cg_draw.c 43 | ../cgame/cg_drawtools.c 44 | ../cgame/cg_effects.c 45 | ../cgame/cg_ents.c 46 | ../cgame/cg_event.c 47 | ../cgame/cg_flamethrower.c 48 | ../cgame/cg_info.c 49 | ../cgame/cg_localents.c 50 | ../cgame/cg_main.c 51 | ../cgame/cg_marks.c 52 | ../cgame/cg_newDraw.c 53 | ../cgame/cg_particles.c 54 | ../cgame/cg_players.c 55 | ../cgame/cg_playerstate.c 56 | ../cgame/cg_predict.c 57 | ../cgame/cg_scoreboard.c 58 | ../cgame/cg_servercmds.c 59 | ../cgame/cg_snapshot.c 60 | ../cgame/cg_sound.c 61 | ../cgame/cg_spawn.c 62 | ../cgame/cg_syscalls.c 63 | ../cgame/cg_trails.c 64 | ../cgame/cg_view.c 65 | ../cgame/cg_weapons.c 66 | ); 67 | $FILESREF = \@FILES; 68 | 69 | # FIXME CPU string 70 | Program $env 'cgame.mp.i386.so', @$FILESREF, @$CG_FILESREF; 71 | my $path = FilePath('cgame.mp.i386.so'); 72 | AfterBuild $env 'cgame.mp.i386.so', "[perl] &ldd_check::do_check(\'$path\', $do_lddabort)"; 73 | 74 | Install $env '#' . $CONFIG_DIR . '/out/' . $BASEGAME, 'cgame.mp.i386.so'; 75 | -------------------------------------------------------------------------------- /src/bspc/aas_edgemelting.h: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | 4 | Return to Castle Wolfenstein multiplayer GPL Source Code 5 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 6 | 7 | This file is part of the Return to Castle Wolfenstein multiplayer GPL Source Code (“RTCW MP Source Code”). 8 | 9 | RTCW MP Source Code 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 3 of the License, or 12 | (at your option) any later version. 13 | 14 | RTCW MP Source Code is distributed in the hope that it will be useful, 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | GNU General Public License for more details. 18 | 19 | You should have received a copy of the GNU General Public License 20 | along with RTCW MP Source Code. If not, see . 21 | 22 | In addition, the RTCW MP Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the RTCW MP Source Code. If not, please request a copy in writing from id Software at the address below. 23 | 24 | If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA. 25 | 26 | =========================================================================== 27 | */ 28 | 29 | //=========================================================================== 30 | // 31 | // Name: aas_edgemelting.h 32 | // Function: Melting of Edges 33 | // Programmer: Mr Elusive (MrElusive@demigod.demon.nl) 34 | // Last update: 1997-12-04 35 | // Tab Size: 3 36 | //=========================================================================== 37 | 38 | 39 | void AAS_MeltAreaFaceWindings( void ); 40 | 41 | -------------------------------------------------------------------------------- /src/bspc/aas_map.h: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | 4 | Return to Castle Wolfenstein multiplayer GPL Source Code 5 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 6 | 7 | This file is part of the Return to Castle Wolfenstein multiplayer GPL Source Code (“RTCW MP Source Code”). 8 | 9 | RTCW MP Source Code 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 3 of the License, or 12 | (at your option) any later version. 13 | 14 | RTCW MP Source Code is distributed in the hope that it will be useful, 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | GNU General Public License for more details. 18 | 19 | You should have received a copy of the GNU General Public License 20 | along with RTCW MP Source Code. If not, see . 21 | 22 | In addition, the RTCW MP Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the RTCW MP Source Code. If not, please request a copy in writing from id Software at the address below. 23 | 24 | If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA. 25 | 26 | =========================================================================== 27 | */ 28 | 29 | //=========================================================================== 30 | // 31 | // Name: aas_map.h 32 | // Function: 33 | // Programmer: Mr Elusive (MrElusive@demigod.demon.nl) 34 | // Last update: 1997-12-04 35 | // Tab Size: 3 36 | //=========================================================================== 37 | 38 | void AAS_CreateMapBrushes( mapbrush_t *brush, entity_t *mapent, int addbevels ); 39 | -------------------------------------------------------------------------------- /src/bspc/aas_facemerging.h: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | 4 | Return to Castle Wolfenstein multiplayer GPL Source Code 5 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 6 | 7 | This file is part of the Return to Castle Wolfenstein multiplayer GPL Source Code (“RTCW MP Source Code”). 8 | 9 | RTCW MP Source Code 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 3 of the License, or 12 | (at your option) any later version. 13 | 14 | RTCW MP Source Code is distributed in the hope that it will be useful, 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | GNU General Public License for more details. 18 | 19 | You should have received a copy of the GNU General Public License 20 | along with RTCW MP Source Code. If not, see . 21 | 22 | In addition, the RTCW MP Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the RTCW MP Source Code. If not, please request a copy in writing from id Software at the address below. 23 | 24 | If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA. 25 | 26 | =========================================================================== 27 | */ 28 | 29 | //=========================================================================== 30 | // 31 | // Name: aas_facemerging.h 32 | // Function: Merging of Faces 33 | // Programmer: Mr Elusive (MrElusive@demigod.demon.nl) 34 | // Last update: 1997-12-04 35 | // Tab Size: 3 36 | //=========================================================================== 37 | 38 | void AAS_MergeAreaFaces( void ); 39 | void AAS_MergeAreaPlaneFaces( void ); 40 | -------------------------------------------------------------------------------- /src/macosx/macosx_glimp.h: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | 4 | Return to Castle Wolfenstein multiplayer GPL Source Code 5 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 6 | 7 | This file is part of the Return to Castle Wolfenstein multiplayer GPL Source Code (“RTCW MP Source Code”). 8 | 9 | RTCW MP Source Code 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 3 of the License, or 12 | (at your option) any later version. 13 | 14 | RTCW MP Source Code is distributed in the hope that it will be useful, 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | GNU General Public License for more details. 18 | 19 | You should have received a copy of the GNU General Public License 20 | along with RTCW MP Source Code. If not, see . 21 | 22 | In addition, the RTCW MP Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the RTCW MP Source Code. If not, please request a copy in writing from id Software at the address below. 23 | 24 | If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA. 25 | 26 | =========================================================================== 27 | */ 28 | 29 | #include 30 | #include 31 | #include 32 | #ifndef GL_EXT_abgr 33 | #include 34 | #endif 35 | 36 | // This can be defined to use the CGLMacro.h support which avoids looking up 37 | // the current context. 38 | //#define USE_CGLMACROS 39 | 40 | #ifdef USE_CGLMACROS 41 | #include "macosx_local.h" 42 | #define cgl_ctx glw_state._cgl_ctx 43 | #include 44 | #endif 45 | -------------------------------------------------------------------------------- /changelog/1.2.7-changelog.txt: -------------------------------------------------------------------------------- 1 | Asset - Added quake head hitsound - headStyle 9 2 | Asset - Added new country flags 3 | Asset - Added new medpack image with more red color 4 | 5 | Config - Added cg_errordecay, r_showtris, and r_shownormals to server template configs 6 | 7 | Client - Added custom console colors and alpha 8 | Client - Adjusted raw mouse input 9 | Client - Fixed cdkey generation 10 | Client - Added cg_muzzleFlash 2 to show flash on client and enemy 11 | Client - Added mouse buttons 4 and 5 12 | 13 | Client/Server - Print who issued /readyteam in console 14 | Client/Server - Center print when opponent loses objective 15 | Client/Server - Improved end of round sound duplication 16 | Client/Server - Added download message for invalid client version 17 | Client/Server - Fixed footstep bobbing for high FPS 18 | Client/Server - Fixed cg gun frame crash on team switch 19 | 20 | Server - Kick players with shared guids that are messing up stats 21 | Server - Fixed kick voting so it only looks at player count on the team that called the vote 22 | Server - Fixed team locking during warmup/disconnects 23 | Server - Prevent document revive bug 24 | Server - Fixed artillery instant kill bug 25 | Server - Added cvar to control forcetapout 26 | Server - Fixed map voting when loading mapindex 0 27 | Server - Fixed knockback for fps 28 | Server - Fixed maxlives so players do not respawn 29 | Server - Fixed objective capture stats 30 | Server - Fixed vote percent for non startmatch votes 31 | Server - Record filename when FS_FileForHandle is NULL 32 | Server - #387 Fixed grenade splash damage 33 | Server - Added a few logging prints for json stats submit to API 34 | Server - Fixed stats sync issue 35 | Server - #345 change to next best weapon when killed with primed grenade 36 | Server - Fixed spawn flag stats 37 | Server - #382 reset objective and dyno stats on end of AB round 38 | Server - Issue #379 Fixed warmup stats 39 | Server - Issue #372 Fixed objective destroyed stats 40 | Server - Added 'true' ping from rtcwPub 41 | Server - Fixed physics for FPS (1.2.61 already released to a few servers) 42 | Server - Added /maps command 43 | -------------------------------------------------------------------------------- /src/ProjectMacros.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | J:\Games\RtcwProDev 6 | rtcwproTest 7 | $(ProjectName)_mp_$(PlatformShortName)$(TargetExt) 8 | ..\..\libs\zip.exe -uj "$(RTCWBASE)\$(RTCW_MOD_NAME)\rtcwpro_bin.pk3" "$(SolutionDir)Builds\$(Configuration)\$(ProjectName)\$(RTCWPRO_MP_LIB)" 9 | copy $(SolutionDir)Builds\$(Configuration)\$(ProjectName)\$(RTCWPRO_MP_LIB) "$(RTCWBASE)\$(RTCW_MOD_NAME)" 10 | echo "Adding to PK3" & $(RTCWPRO_BIN_DEV_PK3) && echo "Adding to mod dir" & $(RTCWPRO_BIN_DEV_DEPLOY) 11 | defaultcomp 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | true 20 | 21 | 22 | 23 | 24 | $(RTCWBASE) 25 | 26 | 27 | $(RTCW_MOD_NAME) 28 | 29 | 30 | $(RTCWPRO_MP_LIB) 31 | 32 | 33 | $(RTCWPRO_BIN_DEV_PK3) 34 | 35 | 36 | $(RTCWPRO_BIN_DEV_DEPLOY) 37 | 38 | 39 | $(RTCWPRO_BIN_POST-BUILD) 40 | 41 | 42 | $(RTCWPRO_GAMECONFIG) 43 | 44 | 45 | -------------------------------------------------------------------------------- /src/bspc/aas_file.h: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | 4 | Return to Castle Wolfenstein multiplayer GPL Source Code 5 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 6 | 7 | This file is part of the Return to Castle Wolfenstein multiplayer GPL Source Code (“RTCW MP Source Code”). 8 | 9 | RTCW MP Source Code 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 3 of the License, or 12 | (at your option) any later version. 13 | 14 | RTCW MP Source Code is distributed in the hope that it will be useful, 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | GNU General Public License for more details. 18 | 19 | You should have received a copy of the GNU General Public License 20 | along with RTCW MP Source Code. If not, see . 21 | 22 | In addition, the RTCW MP Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the RTCW MP Source Code. If not, please request a copy in writing from id Software at the address below. 23 | 24 | If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA. 25 | 26 | =========================================================================== 27 | */ 28 | 29 | //=========================================================================== 30 | // 31 | // Name: aas_write.h 32 | // Function: 33 | // Programmer: Mr Elusive (MrElusive@demigod.demon.nl) 34 | // Last update: 1997-12-04 35 | // Tab Size: 3 36 | //=========================================================================== 37 | 38 | qboolean AAS_WriteAASFile( char *filename ); 39 | qboolean AAS_LoadAASFile( char *filename, int fpoffset, int fplength ); 40 | 41 | -------------------------------------------------------------------------------- /src/bspc/aas_gsubdiv.h: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | 4 | Return to Castle Wolfenstein multiplayer GPL Source Code 5 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 6 | 7 | This file is part of the Return to Castle Wolfenstein multiplayer GPL Source Code (“RTCW MP Source Code”). 8 | 9 | RTCW MP Source Code 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 3 of the License, or 12 | (at your option) any later version. 13 | 14 | RTCW MP Source Code is distributed in the hope that it will be useful, 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | GNU General Public License for more details. 18 | 19 | You should have received a copy of the GNU General Public License 20 | along with RTCW MP Source Code. If not, see . 21 | 22 | In addition, the RTCW MP Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the RTCW MP Source Code. If not, please request a copy in writing from id Software at the address below. 23 | 24 | If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA. 25 | 26 | =========================================================================== 27 | */ 28 | 29 | //=========================================================================== 30 | // 31 | // Name: aas_gsubdiv.h 32 | // Function: Gravitational subdivision 33 | // Programmer: Mr Elusive (MrElusive@demigod.demon.nl) 34 | // Last update: 1997-12-04 35 | // Tab Size: 3 36 | //=========================================================================== 37 | 38 | //works with the global tmpaasworld 39 | void AAS_GravitationalSubdivision( void ); 40 | void AAS_LadderSubdivision( void ); 41 | -------------------------------------------------------------------------------- /src/bspc/be_aas_bspc.h: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | 4 | Return to Castle Wolfenstein multiplayer GPL Source Code 5 | Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company. 6 | 7 | This file is part of the Return to Castle Wolfenstein multiplayer GPL Source Code (“RTCW MP Source Code”). 8 | 9 | RTCW MP Source Code 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 3 of the License, or 12 | (at your option) any later version. 13 | 14 | RTCW MP Source Code is distributed in the hope that it will be useful, 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | GNU General Public License for more details. 18 | 19 | You should have received a copy of the GNU General Public License 20 | along with RTCW MP Source Code. If not, see . 21 | 22 | In addition, the RTCW MP Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the RTCW MP Source Code. If not, please request a copy in writing from id Software at the address below. 23 | 24 | If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA. 25 | 26 | =========================================================================== 27 | */ 28 | 29 | //=========================================================================== 30 | // 31 | // Name: b_aas_bspc.h 32 | // Function: Area Awareness System 33 | // Programmer: Mr Elusive (MrElusive@demigod.demon.nl) 34 | // Last update: 1999-02-28 35 | // Tab Size: 3 36 | //=========================================================================== 37 | 38 | void AAS_CalcReachAndClusters( struct quakefile_s *qf ); 39 | 40 | // Ridah 41 | void AAS_SetWorldPointer( aas_t *newaasworld ); 42 | // done. 43 | -------------------------------------------------------------------------------- /src/splines/Splines.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Source Files 6 | 7 | 8 | Source Files 9 | 10 | 11 | Source Files 12 | 13 | 14 | Source Files 15 | 16 | 17 | Source Files 18 | 19 | 20 | Source Files 21 | 22 | 23 | Source Files 24 | 25 | 26 | Source Files 27 | 28 | 29 | 30 | 31 | Header Files 32 | 33 | 34 | Header Files 35 | 36 | 37 | Header Files 38 | 39 | 40 | Header Files 41 | 42 | 43 | Header Files 44 | 45 | 46 | Header Files 47 | 48 | 49 | Header Files 50 | 51 | 52 | Header Files 53 | 54 | 55 | 56 | 57 | {3b5a5855-2679-482c-9fe7-987cad51fa5e} 58 | 59 | 60 | {a3692e09-ea57-43bc-bf49-fd2bf67cc459} 61 | 62 | 63 | -------------------------------------------------------------------------------- /src/unix/sdl_core.c: -------------------------------------------------------------------------------- 1 | /* 2 | =========================================================================== 3 | Parts taken from CNQ3: 4 | Copyright (C) 2017-2019 Gian 'myT' Schellenbaum 5 | 6 | This file is part of RtcwPro. 7 | 8 | RtcwPro is free software; you can redistribute it 9 | and/or modify it under the terms of the GNU General Public License as 10 | published by the Free Software Foundation; either version 2 of the License, 11 | or (at your option) any later version. 12 | 13 | RtcwPro is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License 19 | along with RtcwPro. If not, see . 20 | =========================================================================== 21 | */ 22 | 23 | #include "linux_local.h" 24 | #include 25 | #include "sdl_local.h" 26 | 27 | 28 | qbool sdl_Version_AtLeast( int major, int minor, int patch ) 29 | { 30 | SDL_version v; 31 | SDL_GetVersion(&v); 32 | 33 | // has to be SDL 2 34 | if (v.major != major) 35 | return qfalse; 36 | 37 | if (v.minor < minor) 38 | return qfalse; 39 | 40 | if (v.minor > minor) 41 | return qtrue; 42 | 43 | return v.patch >= patch; 44 | } 45 | 46 | qbool sdl_Init() 47 | { 48 | atexit(SDL_Quit); 49 | if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_EVENTS) < 0) { 50 | fprintf(stderr, "Failed to initialize SDL 2: %s\n", SDL_GetError()); 51 | return qfalse; 52 | } 53 | 54 | SDL_version version; 55 | SDL_GetVersion(&version); 56 | printf("Opened SDL %d.%d.%d\n", version.major, version.minor, version.patch); 57 | 58 | // @TODO: investigate/test these? 59 | // SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH 60 | // SDL_HINT_MOUSE_RELATIVE_MODE_WARP 61 | #if SDL_VERSION_ATLEAST(2, 0, 4) 62 | if (sdl_Version_AtLeast(2, 0, 4)) 63 | SDL_SetHintWithPriority(SDL_HINT_NO_SIGNAL_HANDLERS, "1", SDL_HINT_OVERRIDE); 64 | #endif 65 | SDL_LogSetAllPriority(SDL_LOG_PRIORITY_CRITICAL); 66 | SDL_StartTextInput(); // enables SDL_TEXTINPUT events 67 | SDL_EventState(SDL_SYSWMEVENT, SDL_ENABLE); 68 | 69 | return qtrue; 70 | } 71 | --------------------------------------------------------------------------------