Improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World.

Open for everyone

OpenXRay Discord Financial Contributors

OpenXRay is an improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World.

Supported games

Call of Pripyat Clear Sky Shadow of Chernobyl
Yes Release Candidate (see #382) Not yet (see #392)

Build status

Codacy Badge

Platform Compiler Configurations Status
Windows MSVC Debug / Mixed / Release (x64/x86) Build status
Linux GCC Debug / Release (x64/x86) Build Status

Documentation

How to
Build and setup On Windows On Linux
Install and play On Windows -

Changelist and more is available in wiki.

More details

This repository contains OpenXRay Engine sources based on the X-Ray Engine version 1.6.02. The original engine is used in S.T.A.L.K.E.R.: Call of Pripyat game released by GSC Game World.

It is a place to share ideas on what to implement, gather people that want to work on the engine, and work on the source code.

If you find a bug or have an enhancement request, file an Issue.

Pull requests appreciated! However, the following things should be taken into consideration:

  • We want to keep the game as close as possible to the vanilla game, so instead of introducing new gameplay features, consider adding non-gameplay features, fixing bugs, improving performance and code quality
  • Major changes should be discussed before implementation
  • Follow the procedures

Be advised that this is a community project not sanctioned by GSC Game World in any way – and they remain the copyright holders of all the original source code and S.T.A.L.K.E.R. franchise.

Owner
We love S.T.A.L.K.E.R. and make it better! Join us on our Discord server: https://discord.gg/sjRMQwv
null
Comments
  • Compiling

    Compiling

    How do we go about creating a working executable or set of executables from the source? I'd be intrigued to try out the supposed new grass shadows, and then start looking at making changes of my own.

  • General Linux port discussion (Russian)

    General Linux port discussion (Russian)

    Буквально несколько дней назад, когда узнал о проекте в ридми была отметка что на линуксе собирается. Обновил гит и модули сегодня, получил ошибку при сборке. https://paste.ubuntu.com/p/TMTsGmMDHD/ лог

  • Recruit more programmers

    Recruit more programmers

    I think I would like to, and I hope others of you do to, start recruiting people from various programming forums, game dev forums to help make Open Xray great.

    Then people could assign themselves a different task, like maybe a couple people work on 64-bit, some more help with Vulkan, some others help trying to multi-thread a bit more.

  • Freeze start in linux

    Freeze start in linux

    After starting game, console logs freeze; game not showing.

    OS: Linux

    Console log:

    ! Couldn't create surface from image: Couldn't open logo.bmp
    OpenXRay Rx64 build 7973, Dec  5 2020
    Custom build from commit[690dba93e158be5c8df2ed4d5e50e61b09974fa3] branch[xd_dev]
     
    command line -fsltx ../fsgame.ltx -psp 
    
    * CPU features: RDTSC, MMX, SSE, SSE2, SSE3, SSE4.1, SSE4.2, AVX, AVX2
    * CPU cores/threads: 8/8
    * CPU current freq: 1465 MHz
    
    Initializing File System...
    $fs_root$ = /home/kotleni/stalker/game
    using fs-ltx ../fsgame.ltx
    
  • возможные баги и не только

    возможные баги и не только

    win7 x64 ЗП двиг open xray 1.6 x86 30.05.2018 -вылеты stack_trace во время выброса ближе к окончанию -в инвентаре используемое оружие снимается пкм st_unequip -в диалогах иногда приходится кликать по несколько раз чтобы он выбрался, также много строк текста иногда накладываются друг на друга, к примеру прокликав несколько раз -почему в логе консоли пишется о инвалид вертексах? -встречался баг с физикой трупа сталкера, когда его раскрутило во все стороны, жутко проседал фпс -после перезарядки обреза на мгновение резко смещается камера Еще пара вопросов: Можно ли сделать так как было в ТЧ при смерти гг камерой можно покрутить вокруг оси и использовать консоль? в ЗП блокируется можно разблокировать команды регулировки fov? в настройках рендера ниже есть только улучшенное полное освещение (не open gl), это dx9? а то фич там с 10, 11 не видно. поддержка api vulkan не планируется? вроде же лучше чем open gl... было бы очень круто и универсально для многих систем

  • Misery crash on start

    Misery crash on start

    Describe the bug Misery 2.2.1 doesn't work with open-xray.

    To Reproduce

    1. Install Stalker:CoP (I have the GoG version)
    2. Install open-xray x64
    3. Install Misery Switching 2. and 3. doesn't help either

    Screenshots image

    BugTrap error report No report available.

    Desktop

    • OS: Windows 7
    • OpenXRay build version 421
  • xray-16 -current on ARM64 (Nvidia Jetson Nano)

    xray-16 -current on ARM64 (Nvidia Jetson Nano)

    Compiled successfully the https://github.com/OpenXRay/xray-16 according to Linux instructions on the Nvidia Jetson Nano (aarch64)

    Linux nanojet 4.9.140 #2 SMP PREEMPT Sun Jan 5 22:32:23 EST 2020 aarch64 aarch64 aarch64 GNU/Linu

    OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: NVIDIA Tegra X1 (nvgpu)/integrated OpenGL core profile version string: 4.6.0 NVIDIA 32.3.1 OpenGL core profile shading language version string: 4.60 NVIDIA OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL core profile extensions: OpenGL version string: 4.6.0 NVIDIA 32.3.1 OpenGL shading language version string: 4.60 NVIDIA OpenGL context flags: (none) OpenGL profile mask: (none) OpenGL extensions: OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 32.3.1 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

    Using the legal owned GOG version of S.T.A.L.K.E.R - (works perfectly fine on Linux amd64) Im getting these errors

    [email protected]:/usr/local/bin$ ./xr_3da -fsltx /home/user/.local/share/GSC/SCOP/fsgame.ltx ! Couldn't create surface from image: Couldn't open logo.bmp OpenXRay Rx86 build 7855, Aug 9 2020 Custom build from commit[1579d1fdba9a9be9163f2932d41e82d1cf811b37] branch[xd_dev]

    command line -fsltx /home/user/.local/share/GSC/SCOP/fsgame.ltx

    • CPU features: RDTSC
    • CPU cores/threads: 4/4
    • CPU current freq: 1479 MHz

    Initializing File System... $fs_root$ = /home/user/.local/share/GSC/SCOP using fs-ltx /home/user/.local/share/GSC/SCOP/fsgame.ltx FS: 39676 files cached 29 archives, 10Kb memory used. Init FileSystem 0.837706 sec -----loading \home\user.local\share\GSC\SCOP\gamedata\configs\system.ltx -----loading \home\user.local\share\GSC\SCOP\gamedata\configs\system.ltx Starting INPUT device... No joysticks available Loading module: xrRender_GL Available render modes[2]: renderer_gl Executing config-script "user.ltx"... [\home\user.local\share\GSC\SCOP_appdata_\user.ltx] successfully loaded. Selected renderer: renderer_gl Loading module: xrGame Initializing Engine... Executing config-script "\home\user.local\share\GSC\SCOP\gamedata\configs\default_controls.ltx"... ! Can't find a key name for kPOWER ! Can't find a key name for kF13 ! Can't find a key name for kF14 ! Can't find a key name for kF15 ! Can't find a key name for kF16 ! Can't find a key name for kF17 ! Can't find a key name for kF18 ! Can't find a key name for kF19 ! Can't find a key name for kCUT ! Can't find a key name for kCOPY ! Can't find a key name for kPASTE ! Can't find a key name for kMUTE ! Can't find a key name for kVOLUMEUP ! Can't find a key name for kVOLUMEDOWN ! Can't find a key name for kINTERNATIONAL1 ! Can't find a key name for kINTERNATIONAL2 ! Can't find a key name for kYEN ! Can't find a key name for kINTERNATIONAL4 ! Can't find a key name for kINTERNATIONAL5 ! Can't find a key name for kINTERNATIONAL6 ! Can't find a key name for kINTERNATIONAL7 ! Can't find a key name for kINTERNATIONAL8 ! Can't find a key name for kINTERNATIONAL9 ! Can't find a key name for kHANGUL ! Can't find a key name for kHANJA ! Can't find a key name for kKATAKANA ! Can't find a key name for kHIRAGANA ! Can't find a key name for kZENHANKAKU ! Can't find a key name for kLANG6 ! Can't find a key name for kLANG7 ! Can't find a key name for kLANG8 ! Can't find a key name for kLANG9 ! Can't find a key name for kAUDIONEXT ! Can't find a key name for kAUDIOPREV ! Can't find a key name for kAUDIOSTOP ! Can't find a key name for kAUDIOPLAY ! Can't find a key name for kMEDIASELECT ! Can't find a key name for kWWW ! Can't find a key name for kMAIL ! Can't find a key name for kCALCULATOR ! Can't find a key name for kCOMPUTER ! Can't find a key name for kNUMPAD_AC_SEARCH ! Can't find a key name for kNUMPAD_AC_HOME ! Can't find a key name for kNUMPAD_AC_BACK ! Can't find a key name for kNUMPAD_AC_FORWARD ! Can't find a key name for kNUMPAD_AC_REFRESH ! Can't find a key name for kNUMPAD_AC_BOOKMARKS ! Can't find a key name for kBRIGHTNESSDOWN ! Can't find a key name for kBRIGHTNESSUP ! Can't find a key name for kDISPLAYSWITCH ! Can't find a key name for kKBDILLUMTOGGLE ! Can't find a key name for kKBDILLUMDOWN ! Can't find a key name for kKBDILLUMUP ! Can't find a key name for kEJECT ! Can't find a key name for kSLEEP ! Can't find a key name for kAPP1 ! Can't find a key name for kAPP2 [\home\user.local\share\GSC\SCOP\gamedata\configs\default_controls.ltx] successfully loaded. Executing config-script "user.ltx"... Executing config-script "\home\user.local\share\GSC\SCOP\gamedata\configs\rspec_high.ltx"... [\home\user.local\share\GSC\SCOP\gamedata\configs\rspec_high.ltx] successfully loaded. Executing config-script "\home\user.local\share\GSC\SCOP\gamedata\configs\default_controls.ltx"... [\home\user.local\share\GSC\SCOP\gamedata\configs\default_controls.ltx] successfully loaded. ! Unknown command: r2_fxaa ! Unknown command: r3_dynamic_wet_surfaces_opt ~ Invalid syntax in call to 'sv_adm_menu_ban_time' ~ Valid arguments: ui_mp_am_10_minutes/ui_mp_am_30_minutes/ui_mp_am_1_hour/ui_mp_am_6_hours/ui_mp_am_1_day/ui_mp_am_1_week/ui_mp_am_1_month/ui_mp_am_3_monthes/ui_mp_am_forever ~ Invalid syntax in call to 'sv_suspicious_actions_ban_time' ~ Valid arguments: ui_mp_am_10_minutes/ui_mp_am_30_minutes/ui_mp_am_1_hour/ui_mp_am_6_hours/ui_mp_am_1_day/ui_mp_am_1_week/ui_mp_am_1_month/ui_mp_am_3_monthes/ui_mp_am_forever [\home\user.local\share\GSC\SCOP_appdata_\user.ltx] successfully loaded. SOUND: OpenAL: enumerate devices... SOUND: OpenAL: EnumerationExtension Present devices OpenAL Soft SOUND: OpenAL: system default SndDevice name is OpenAL Soft SOUND: OpenAL: All available devices:

    1. OpenAL Soft, Spec Version 1.1 (default) eax[0] efx[yes] xram[no] SOUND: Selected device is OpenAL Soft
    • sound: EAX 2.0 extension: absent
    • sound: EAX 2.0 deferred: absent
    • sound : cache: 65537 kb, 4856 lines, 13820 bpl Starting RENDER device...
    • GPU vendor: [NVIDIA Corporation] device: [NVIDIA Tegra X1 (nvgpu)/integrated]
    • GPU OpenGL version: 4.1.0 NVIDIA 32.3.1
    • GPU OpenGL shading language version: 4.10 NVIDIA via Cg compiler
    • GPU OpenGL VTF units: [32] CTI units: [192]
    • DVB created: 4096K
    • DIB created: 512K ! Renderer doesn't support blender 'effects\shadow_world'

    SCRIPT RUNTIME ERROR

    FATAL ERROR

    [error] Expression : [error] Function : handler_base [error] File : /home/user/SRC/xray-16/src/xrCore/xrDebug.cpp [error] Line : 868 [error] Description : segmentation fault

    stack trace:

    xrDebug::GatherInfo(char*, unsigned long, ErrorLocation const&, char const*, char const*, char const*, char const*) xrDebug::Fail(bool&, ErrorLocation const&, char const*, char const*, char const*, char const*) /lib/xrCore.so(+0x450f4) [0x7f9da6b0f4] linux-vdso.so.1(__kernel_rt_sigreturn+0) [0x7f9dd286c0] /lib/xrLuajit.so(lua_getstack+0x58) [0x7f9d189ab0] /lib/xrLuajit.so(luaL_traceback+0x184) [0x7f9d18a144] CScriptEngine::print_stack(lua_State*) CScriptEngine::print_output(lua_State*, char const*, int, char const*) CScriptEngine::onErrorCallback(lua_State*, char const*, int, char const*) CScriptEngine::lua_pcall_failed(lua_State*) /lib/xrLuajit.so(+0x7c254) [0x7f9d1f4254] /lib/xrLuajit.so(+0xac2c) [0x7f9d182c2c] /lib/xrLuajit.so(+0xad2c) [0x7f9d182d2c] /lib/xrLuajit.so(+0xaf18) [0x7f9d182f18] /lib/xrLuajit.so(+0xfffc) [0x7f9d187ffc] /lib/xrLuajit.so(+0x7c844) [0x7f9d1f4844] /lib/xrLuajit.so(lua_pcall+0xc0) [0x7f9d192ca8] luabind::detail::pcall(lua_State*, int, int) /lib/xrRender_GL.so(+0x2e200) [0x7f88538200] /lib/xrRender_GL.so(+0x2e9ac) [0x7f885389ac] Trace/breakpoint trap (core dumped)

  • [Linux] Segmentation fault on start xr_3da with AMD/ATI GPU

    [Linux] Segmentation fault on start xr_3da with AMD/ATI GPU

    Система: ArchLinux Версия игры: GOG Коммит: 06bb7657f

    Версии пакетов:

    glew 2.1.0-1
    freeimage 3.18.0-2
    liblockfile 1.14_1.1-1
    openal 1.19.1-1
    intel-tbb 2019-1
    crypto++ 7.0.0-1
    pugixml 1.9-1
    libtheora 1.1.1-4
    libogg 1.3.3-3
    sdl 1.2.15-10
    sdl2 2.0.9-1
    lzo 2.10-2
    libjpeg-turbo 2.0.1-1
    

    Лог:

    > $ ./xr_3da.sh -fsltx ../fsgame.ltx                                                                                                                                                           
    free(): invalid pointer
    ./xr_3da.sh: строка 29: 14851 Аварийный останов         (стек памяти сброшен на диск) ${DEBUGGER} "${GAMEROOT}"/"${GAMEEXE}" "[email protected]"
    

    GDB:

    > $ DEBUGGER="gdb --ex=r --args" ./xr_3da.sh -fsltx ../fsgame.ltx
    GNU gdb (GDB) 8.2
    Copyright (C) 2018 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.
    Type "show copying" and "show warranty" for details.
    This GDB was configured as "x86_64-pc-linux-gnu".
    Type "show configuration" for configuration details.
    For bug reporting instructions, please see:
    <http://www.gnu.org/software/gdb/bugs/>.
    Find the GDB manual and other documentation resources online at:
        <http://www.gnu.org/software/gdb/documentation/>.
    
    For help, type "help".
    Type "apropos word" to search for commands related to "word"...
    Reading symbols from /data/games/wine64/drive_c/CoP_GOG/bin-linux-debug/xr_3da...done.
    Starting program: /data/games/wine64/drive_c/CoP_GOG/bin-linux-debug/xr_3da -fsltx ../fsgame.ltx
    [Thread debugging using libthread_db enabled]
    Using host libthread_db library "/usr/lib/libthread_db.so.1".
    free(): invalid pointer
    
    Program received signal SIGABRT, Aborted.
    0x00007ffff5c35d7f in raise () from /usr/lib/libc.so.6
    (gdb) break /data/build/xray-16/src/xrEngine/splash.cpp:32
    Breakpoint 1 at 0x7ffff7f6bb50: file /data/build/xray-16/src/xrEngine/splash.cpp, line 32.
    (gdb) start
    The program being debugged has been started already.
    Start it from the beginning? (y or n) y
    Temporary breakpoint 2 at 0x5555555562e0: file /data/build/xray-16/src/xr_3da/entry_point.cpp, line 77.
    Starting program: /data/games/wine64/drive_c/CoP_GOG/bin-linux-debug/xr_3da -fsltx ../fsgame.ltx
    [Thread debugging using libthread_db enabled]
    Using host libthread_db library "/usr/lib/libthread_db.so.1".
    
    Temporary breakpoint 2, main (argc=3, argv=0x7fffffffe008) at /data/build/xray-16/src/xr_3da/entry_point.cpp:77
    77      {
    (gdb) continue
    Continuing.
    
    Breakpoint 1, splash::show (topmost=true) at /data/build/xray-16/src/xrEngine/splash.cpp:32
    32      {
    (gdb) s
    33          if (logoWindow)
    (gdb) s
    45          SDL_CreateWindowAndRenderer(320, 240, SDL_WINDOW_RESIZABLE | SDL_WINDOW_BORDERLESS | SDL_WINDOW_HIDDEN, &logoWindow, &logoRenderer);
    (gdb) s
    free(): invalid pointer
    
    Program received signal SIGABRT, Aborted.
    0x00007ffff5c35d7f in raise () from /usr/lib/libc.so.6
    (gdb)
    
  • Current OpenXRay/dev is seriously broken

    Current OpenXRay/dev is seriously broken

    Once again - sry for my bad english. First - I'm not very good with Git yet. Second - I'm not very good in VS workflow\settings, programming is more like hobby for me. So sry again.


    I'm relatively "new" for OpenXRay (migrated to it from vanila VS2008 sources), and i found a lot of serious problems in this project, that doesn't allow me to work with it normaly.

    Here is a short list of what i remember: (For /dev branch)

    1. Incomplete build instruction (Armada651 currently work around this), "compiled binaries" from xray-16-libraries.zip (lib-files) for Ogg\Theora compiled with VS2013 and doesn't work in VS2015 (it easy to recompile them, but anyway ...)
    2. master branch is outdated for 2 years. There also no hint about what fixes exist in dev, and doesn't exist in master. (i can use commit history but again it's not user-friendly).
    3. Mixed (aka Debug) build configuration not setup properly. Generated .lib-files scattered around different folders and can't be linked without manual work. xrGame in Mixed mode require CXImage.lib which doesn't exist. (but i get it worked with renamed CXImage_static.lib) It also look's like in-game xrWeatherEditor now can't be compiled (?) unlike in older OpenXRay or vanila.
    4. I'm also still don't understand difference beetween Mixed\Debug configurations, but this "problem" goes from vanila engine, since Debug in vanila can't be compiled without tons of errors, unlike Mixed.
    5. ac222fe "When running the game in windowed mode, game window appears at the center of screen by default" - for god sake this change should be reverted back to vanila. A lot of mod-developers work in windowed mode cuz they whant to have some free space on screen. (and also for fast alt+tab) For players we should implement proper borderless-mode in future.
    6. 28261db, 0e56552 "Desktop cursor is confined by game window client space when game cursor is hidden" - this feature is also broken. Seems like nobody test it enough before pushing. ._. --> 6.1) Right-Down window limits are not-exist (cursor can go below window) - there is a typo-or-smth in code. --> 6.2) Since cursor is locked by OS now, it can be stick in "hiden window" limits sometimes, even is xrEngine.exe already terminated, or when game is hang\loading while alt+tab. --> I already partially-fixed some for myself, but it's still work not very good while game process are hanging, so i think this change should be reveted \ reworked.
    7. https://github.com/avoitishin/xray-16/wiki/List-of-Changes - as far as i know: Call of Chernobyl engine is forked from it. This fork have some crucial features, like ECO Render or Spawn Antifreeze, which (surprising for me) not exist in this repo. It also have proper Wiki - why this changes not in main OpenXRay? (probably cuz avoitishin didn't push them into main for some reason)
    8. MAIN PROBLEM - Lua is broken. Maybe it's my fault, and i build-it in a wrong way? (As far as i know there should be two version of LuaJit, but i don't know how to change them) It cause crashes in code, which work in vanila engine. It also dosen't generate proper log. Here is simple example of crash. (there many of them)
    [Spoiler]

    Example of vanila log:

    Expression    : fatal error
    Function      : CScriptEngine::lua_error
    File          : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
    Line          : 73
    Description   : <no expression>
    Arguments     : LUA error: ...hadow of chernobyl\gamedata\scripts\xr_danger.script:116: attempt to index field 'ignore_types' (a nil value)
    

    s_name - string i - number self:AddItemToList(s_name, i) <-- line 311

    1. What i see in current Release build while crash:
    FATAL ERROR
     
    [error] Expression    : !m_error_code
    [error] Function      : raii_guard::~raii_guard
    [error] File          : script_engine.cpp
    [error] Line          : 531
    [error] Description   : see call_stack for details!
    
    
    1. What i see after changing break_on_assert to false
    ! SCRIPT ERROR: see call_stack for details!
     
    FATAL ERROR
     
    [error] Expression    : <no expression>
    [error] Function      : CScriptEngine::lua_error
    [error] File          : script_engine.cpp
    [error] Line          : 749
    [error] Description   : fatal error
    [error] Arguments     : LUA error: No matching overload found, candidates:
    CUITextWnd* AddTextField(CUIListBoxItem&,char const*,custom [float])
    

    It even doesn't show file name \ line number in Release build! How am I supposed to fix lua-errors with it?

    1. What i see in Mixed (aka Debug) build:
    * Loading script: god_tbl.script
    ! [LUA] SCRIPT RUNTIME ERROR
    ! [LUA]  0 : [C] [C](-1) : 
    ! [LUA]  1 : [C  ] AddTextField
    ! [LUA]  2 : [Lua] ... - call of pripyat\gamedata\scripts\ui_god_dialog.script(818) : AddItemToList
    ! [LUA]  3 : [Lua] ... - call of pripyat\gamedata\scripts\ui_god_dialog.script(311) : 
    ! [LUA] No matching overload found, candidates:
    CUITextWnd* AddTextField(CUIListBoxItem&,char const*,custom [float])
    ! SCRIPT ERROR: see call_stack for details!
    ! [LUA] SCRIPT RUNTIME ERROR
    ! SCRIPT ERROR: see call_stack for details!
    
    1. It also more case-sensitive compared to vanilla Lua: False instead of false will crash the game. (I know it's bad code, but this example from vanila game)

    Once again - why such big changes doesn't tested enough before pushing. =\

    I know that everybody work for free, fully on enthusiasm. But if we want a new people to work with, then we should to fix what already we have. Currently there is no way to use it in any project

    I will try to fix what i can, but i'm not very good in complicated code such Luabind\LuaJit.

    PS: GitHub 2017... why i should to google about how to hide long text in spoiler.

  • Visual Studio 2017

    Visual Studio 2017

    Now that VS2017 is released, it might be worth migrating to the latest version.

    Benefits:

    • Latest C++ compiler
    • Latest IDE means improved development UX (noone really likes laggy VS)
    • Fixed C++ bugs and improved standard conformance (might improve #148 situation and improve portability)

    Disadvantages:

    • Requires migration of all submodules, probably wait for #160 to arrive?

    Russian (Русский)

    Наконец-то вышла VS2017. Необходимо рассмотреть возможность перехода на новую версию.

    Аргументы за:

    • Обновление C++ компилятора
    • Обновление среды VS, удобнее работать с кодом и VS стала быстрее работать
    • Исправление ошибок реализации стандарта C++ (может упростить нахождение ошибок, связанных с #148)

    Аргументы против:

    • Требуется также миграция всех подмодулей и библиотек, возможно, стоит подождать #160?
  • What  about  Direct3D 11 and 12 api  implementation ?!

    What about Direct3D 11 and 12 api implementation ?!

    I am a new into this repository xray-1.6. I understood DX9 old one is implemented into X-Ray , as i checkes some indications are about DX10 but fully not sure if implemented normally. what about DX11 or DX12 i want contribute :). And on what level is Graphics API i mean with bugs and so forth.

  • [xrRender] Fixed game crash when rendering wallmarks

    [xrRender] Fixed game crash when rendering wallmarks

    from an underbarrel grenade launcher (out-of-bounds vertex array)

    Detected with adress saitizer. If you iterate over vertices, you go to the next vertex without checking its existence (just using a increment of a vertex pointer). This worked fine for bullet hits, but caused a crash when using a grenade launcher (maybe more bones are affected for rendering?). In any case, the blood spatters in bullet hits are drawn, and in case of grenade hits there is no point in even drawing them - they are completely overlapped by the effects of the explosion.

  • [Linux] Flatpak support or other distro independent solution

    [Linux] Flatpak support or other distro independent solution

    Is your feature request related to a problem? Please describe. Currently project for Linux compiles only binary files for Ubuntu, while the guide have instructions for other major distros like Fedora or Arch, while Ubuntu users can simply download binary from github actions or other site listed, Arch users can use AUR to install engine users of other distros like Fedora or OpenSUSE have to compile it manually and this is not good solution for less experienced users also sometimes it may be problematic as my issue (1044) confirms it.

    Describe the solution you'd like Creating distro independent package like snap, flatpak or appimage can help both promoting the project, installing and maintaining for end user since then can simply run update command (snap or flatpak) or download latest appimage. Other source ports like various doom ports (gzdoom, chocolate doom), OpenJK or Augustus (Caesar 3 source port) uses this solution.

    Describe alternatives you've considered Alternative would be adding at least autobuilding rpm files since arch have AUR and Gentoo is mainly used by power users so they can maitain it themself while Fedora or OpenSUSE users are not as fluent in linux or in this case programming to fix if something happen during compiling. I am not a programmer and have never used Github actions but i've found this for building rpm's:

    https://github.com/marketplace/actions/rpm-build

    Additional context Sources:

    My issue: https://github.com/OpenXRay/xray-16/issues/1044

    Source port using distro independent packaging: https://snapcraft.io/openjk https://flathub.org/apps/details/org.zdoom.GZDoom https://flathub.org/apps/details/org.dhewm3.Dhewm3 https://github.com/Keriew/augustus/releases/tag/v3.1.0

  • [LuaJIT] LuaJIT garbage collection is now done by timeout (more stabl…

    [LuaJIT] LuaJIT garbage collection is now done by timeout (more stabl…

    По мотивам старых патчей на LuaJIT запилил сборщик мусора по таймауту. Всё, что остается сверху от 16 мс на кадр - отдается сборщику мусора. Получилось избавиться от пилорамы на графике FPS - теперь просадки стали почти неразличимы. К сожалению, на переход оффлайн->онлайн не повлияло, всё так же присутствует замирание. Зато во время боев значительно повысилась плавность прицеливания.

  • Can't compile on Fedora 36

    Can't compile on Fedora 36

    Fedora 36

    xray-16/Externals/cximage/ximajpg.h:33:11: fatal eror: jpeg/jpeglib.h: File not found

    I'm try to remove jpeglib-turbo and manualy install libjpeg9, but this error always show

    Any ideas?

  • Can't install RPM package on Fedora

    Can't install RPM package on Fedora

    Describe the bug I've tried to install OpenXray on my Fedora PC and i wanted to make it .rpm file so it would appear as program, but when i made it following guide i got error with conflicting icons with things like QEMU (i used it to create VM under which i compiled the engine) or distro icons

    To Reproduce Steps to reproduce the behavior:

    1. Go to linux compile guide
    2. make rpm package
    3. try to install it under CLI
    4. See error

    Expected behavior Engine installs and install dependencies if not installed already

    Desktop (please complete the following information):

    • OS: Fedore Workstation 36

    Additional context DNF error message:

    Error: Transaction test error: file /usr/share/icons/hicolor from install of OpenXRay-1.6.02-1.x86_64 conflicts with file from package fedora-logos-36.0.0-2.fc36.noarch file /usr/share/icons/hicolor/16x16 from install of OpenXRay-1.6.02-1.x86_64 conflicts with file from package fedora-logos-36.0.0-2.fc36.noarch file /usr/share/icons/hicolor/16x16/apps from install of OpenXRay-1.6.02-1.x86_64 conflicts with file from package fedora-logos-36.0.0-2.fc36.noarch file /usr/share/icons/hicolor/32x32 from install of OpenXRay-1.6.02-1.x86_64 conflicts with file from package fedora-logos-36.0.0-2.fc36.noarch file /usr/share/icons/hicolor/32x32/apps from install of OpenXRay-1.6.02-1.x86_64 conflicts with file from package fedora-logos-36.0.0-2.fc36.noarch file /usr/share/icons/hicolor/48x48 from install of OpenXRay-1.6.02-1.x86_64 conflicts with file from package fedora-logos-36.0.0-2.fc36.noarch file /usr/share/icons/hicolor/48x48/apps from install of OpenXRay-1.6.02-1.x86_64 conflicts with file from package fedora-logos-36.0.0-2.fc36.noarch file /usr/share/applications from install of OpenXRay-1.6.02-1.x86_64 conflicts with file from package filesystem-3.16-2.fc36.x86_64 file /usr/share/icons from install of OpenXRay-1.6.02-1.x86_64 conflicts with file from package filesystem-3.16-2.fc36.x86_64 file /usr/share/pixmaps from install of OpenXRay-1.6.02-1.x86_64 conflicts with file from package filesystem-3.16-2.fc36.x86_64 file /usr/share/icons/hicolor from install of OpenXRay-1.6.02-1.x86_64 conflicts with file from package hicolor-icon-theme-0.17-12.fc36.noarch file /usr/share/icons/hicolor/16x16 from install of OpenXRay-1.6.02-1.x86_64 conflicts with file from package hicolor-icon-theme-0.17-12.fc36.noarch file /usr/share/icons/hicolor/16x16/apps from install of OpenXRay-1.6.02-1.x86_64 conflicts with file from package hicolor-icon-theme-0.17-12.fc36.noarch file /usr/share/icons/hicolor/32x32 from install of OpenXRay-1.6.02-1.x86_64 conflicts with file from package hicolor-icon-theme-0.17-12.fc36.noarch file /usr/share/icons/hicolor/32x32/apps from install of OpenXRay-1.6.02-1.x86_64 conflicts with file from package hicolor-icon-theme-0.17-12.fc36.noarch file /usr/share/icons/hicolor/48x48 from install of OpenXRay-1.6.02-1.x86_64 conflicts with file from package hicolor-icon-theme-0.17-12.fc36.noarch file /usr/share/icons/hicolor/48x48/apps from install of OpenXRay-1.6.02-1.x86_64 conflicts with file from package hicolor-icon-theme-0.17-12.fc36.noarch file /usr/share/icons/hicolor/64x64 from install of OpenXRay-1.6.02-1.x86_64 conflicts with file from package hicolor-icon-theme-0.17-12.fc36.noarch file /usr/share/icons/hicolor/64x64/apps from install of OpenXRay-1.6.02-1.x86_64 conflicts with file from package hicolor-icon-theme-0.17-12.fc36.noarch file /usr/share/icons/hicolor from install of OpenXRay-1.6.02-1.x86_64 conflicts with file from package qemu-common-2:6.2.0-10.fc36.x86_64 file /usr/share/icons/hicolor/16x16 from install of OpenXRay-1.6.02-1.x86_64 conflicts with file from package qemu-common-2:6.2.0-10.fc36.x86_64 file /usr/share/icons/hicolor/16x16/apps from install of OpenXRay-1.6.02-1.x86_64 conflicts with file from package qemu-common-2:6.2.0-10.fc36.x86_64 file /usr/share/icons/hicolor/32x32 from install of OpenXRay-1.6.02-1.x86_64 conflicts with file from package qemu-common-2:6.2.0-10.fc36.x86_64 file /usr/share/icons/hicolor/32x32/apps from install of OpenXRay-1.6.02-1.x86_64 conflicts with file from package qemu-common-2:6.2.0-10.fc36.x86_64 file /usr/share/icons/hicolor/48x48 from install of OpenXRay-1.6.02-1.x86_64 conflicts with file from package qemu-common-2:6.2.0-10.fc36.x86_64 file /usr/share/icons/hicolor/48x48/apps from install of OpenXRay-1.6.02-1.x86_64 conflicts with file from package qemu-common-2:6.2.0-10.fc36.x86_64 file /usr/share/icons/hicolor/64x64 from install of OpenXRay-1.6.02-1.x86_64 conflicts with file from package qemu-common-2:6.2.0-10.fc36.x86_64 file /usr/share/icons/hicolor/64x64/apps from install of OpenXRay-1.6.02-1.x86_64 conflicts with file from package qemu-common-2:6.2.0-10.fc36.x86_64

This tool allow you to create / load / edit models used for create a cinematic in game for World of Warcraft 3.3.5 version
This tool allow you to create / load / edit models used for create a cinematic in game for World of Warcraft 3.3.5 version

CameraCinematic - Discord Introduction This tool allow you to create / load / edit models used for create a cinematic in game for World of Warcraft 3.

Mar 14, 2022
3D ray-tracing and animation engine for pixel matrices.
3D ray-tracing and animation engine for pixel matrices.

ProtoTracer: Protogen Ray-Tracing and Animation Engine This project is a 3D ray-tracing and animation engine for pixel matrices, designed to be used f

Jun 13, 2022
Minecraft 4k: decompiled, translated to C using SDL for graphics and input, and improved upon
Minecraft 4k: decompiled, translated to C using SDL for graphics and input, and improved upon

M4KC Minecraft 4K - C Rewrite For those who don't know, Minecraft 4K was a stripped down version of Minecraft submitted by Notch to the Java 4K Game P

Jun 15, 2022
Super Mario World Widescreen is your beloved Mario World SNES game but in the 16:9 resolution.
Super Mario World Widescreen is your beloved Mario World SNES game but in the 16:9 resolution.

Super Mario World Widescreen is your beloved Mario World SNES game but in the 16:9 resolution. This is possible by expanding the horizontal resolution by 96 pixels, increasing resolution from 256x224 to 352x224. Since the original SNES does not have this resolution, the emulator focused into high definition mods bsnes-hd must be used.

Jun 20, 2022
Ray-casting game for wasting productive time.
Ray-casting game for wasting productive time.

Cub3D The goal of Cub3D is to make something using raycasting from scratch with low level C ✨ (like Wolfenstein 3D). Making this game gave me a basic

Sep 28, 2021
Ray-tracing visual debugger

What's this? rdb is a Ray-tracing debugger inspired by vdb. Feature Ultimately simple APIs Thread safety Single header only How to use run "rdb.exe" i

Sep 9, 2020
Multi Theft Auto (MTA) is a software project that adds network play functionality to Rockstar North's Grand Theft Auto game series,

Multi Theft Auto: San Andreas Multi Theft Auto (MTA) is a software project that adds network play functionality to Rockstar North's Grand Theft Auto g

Oct 22, 2021
OpenMW is an open-source open-world RPG game engine that supports playing Morrowind.

OpenMW is an open-source open-world RPG game engine that supports playing Morrowind.

Jun 14, 2022
MIT Licensed Open Source version of Torque 2D game engine from GarageGames
MIT Licensed Open Source version of Torque 2D game engine from GarageGames

We've moved! All torque engines have moved to a new organization, Torque Game Engines. Torque2D can be found at https://github.com/TorqueGameEngines/T

Jun 15, 2022
xone is a Linux kernel driver for Xbox One and Xbox Series X|S accessories.

xone is a Linux kernel driver for Xbox One and Xbox Series X|S accessories. It serves as a modern replacement for xpad, aiming to be compatible with Microsoft's Game Input Protocol (GIP). If you are looking for a way to use your controller via Bluetooth, check out xpadneo.

Jun 20, 2022
Unreal Engine 4 plugin for Yodo1 MAS (Managed Ad Services) integration. Used for ad monetization of games.

Unofficial Yodo MAS SDK for Unreal Engine 4 Disclaimer: this plugin is in no way associated with Yodo1, this is just a wrapper on top of their officia

Apr 9, 2022
A modified version of Psych Engine

This is an engine that does stuff wip tho but feel free to use This engine support gamejolt crap, so if you don't want gamejolt stuff, remove <define

Dec 8, 2021
A game - or rather, a simulation - of a non-Euclidean world.

neuc A game - or rather, a simulation - of a non-Euclidean world. Currently, I am just developing a 2D top down game (and having a blast in general).

Nov 28, 2021
A repo of game server configuration files used by LinuxGSM

Game Server Config Files Note: This repo is very new and currently missing most config files. More will be added over time. This is a repo of config f

Jun 15, 2022
🎮 Fully featured terminal version of the game
🎮 Fully featured terminal version of the game

?? Fully featured terminal version of the game "2048" written in C++

Jun 22, 2022
Online version of the greatest card game known to man

10Flips Online version of the greatest card game known to man Client The client is made using Emscripten. Installing # Get the emsdk repo git clone ht

Oct 26, 2021
A randomizer for Silent Hill 4: The Room, for the GOG version of the game
A randomizer for Silent Hill 4: The Room, for the GOG version of the game

A randomizer for Silent Hill 4: The Room, for the GOG version of the game. This does not work for the old PC port and probably never will, there is not really a reason to play the old port these days.

Jun 18, 2022
CLUSEK-RT is a complex game engine written in C++ and the successor of the CLUSEK game engine
CLUSEK-RT is a complex game engine written in C++ and the successor of the CLUSEK game engine

CLUSEK-RT is a complex game engine written in C++ and the successor of the CLUSEK game engine. This engine has been designed with a cross-platform design in mind. Thanks to Vulkan API it delivers a next-gen experience with ray tracing to both Linux and Windows platforms

Jun 12, 2022
Ground Engine is an easy to use Game Engine for 3D Game Development written in C++
Ground Engine is an easy to use Game Engine for 3D Game Development written in C++

Ground Engine is an easy to use Game Engine Framework for 3D Game Development written in C++. It's currently under development and its creation will b

Jun 10, 2022