DxWrapper is a .dll file designed to wrap DirectX files to fix compatibility issues in older games

Overview

DxWrapper

Introduction

DxWrapper is a .dll file designed to wrap DirectX files to fix compatibility issues in older games. This project is primarily targeted at fixing issues with running games on Windows 10, by simply dropping .dll and .ini files into the game folder. Its secondary purpose is to offer a single tool combining several projects into one.

Features

DxWrapper has many features including:

  • Integration of DDrawCompat
  • Configuring DDrawCompat options to improve compatibility
  • Proxy for DxWnd
  • Conversion of DirectDraw 1-6 to DirectDraw 7
  • Conversion of Direct3D 1-6 to Direct3D 7
  • Conversion of DirectDraw 1-7 (ddraw.dll) to Direct3D 9 (d3d9.dll) using Dd7to9
  • Conversion of Direct3D 8 (d3d8.dll) to Direct3D 9 (d3d9.dll) using d3d8to9
  • Conversion of DirectInput 1-7 (dinput.dll) to DirectInput 8 (dinput8.dll) using dinputto8
  • Includes LegacyD3DResolutionHack to remove the artificial resolution limit from Direct3D 1-7, which allows DirectDraw games to play at 4K resolution
  • Tweaking of Microsoft DirectSound function calls using DSoundCtrl
  • Can cause DirectDraw 1-7, Direct3D 8 and Direct3D 9 games to run in windowed mode
  • Can set vertex processing and cache modes to fix perfromance in some Direct3D 9 games
  • Can remove scanlines from DirectDraw 1-7 games
  • Can disable High DPI scaling to solve issues with some games
  • Can disable Microsoft Game Explorer (GameUX) to prevent rundll32.exe high CPU
  • ASI loader to load custom libraries with the file extension .asi into game processes using Ultimate ASI Loader
  • Supports being loaded as an ASI plug-in
  • Adding AntiAliasing support into Direct3D 8 or 9 games even if the game does not support it
  • Hot patch memory support (update game memory at run time, can be used to remove CD/DVD checks or resolve graphics or other glitches)
  • Set single CPU affinity (some games have issues with multi-core CPUs)
  • Ability to set all 12 Application Compatibility Toolkit options for DXPrimaryEmulation using SetAppCompatData API
  • Set game window to fullscreen (some games have fullscreen issues)
  • Handling in-game exceptions or crashes
  • Load custom .dll files into games
  • Run custom processes at game start-up

Compatibility List for Games on Windows 10

So far I have tested this with hundreds of games (many of which don't otherwise work correctly) to get them running on Windows 10. Most games will work, but some still have issues. Check out the Compatible Games wiki and the Dd7to9 Supported Games wiki for a list.

Installation

  1. Download the latest binary release from the repository's Release page and unzip it to a folder.
  2. Determine which .dll file is needed for the game. This depends on many factors which will be explained on page created later. Most commonly it is ddraw.dll, dsound.dll or winmm.dll.
  3. Copy this .dll file from the 'Stub' folder plus the dxwrapper.dll and dxwrapper.ini files into the game's installation directory, next to the main executable file. For some games the main executable is in a subdirectory (like 'Bin', 'Exe' or 'App') so the files will need to be copied it into that directory. Overwriting of any existing game files is not recommended.
  4. Open up the dxwrapper.ini file in a text editor and enable the settings needed for the game.

Do not attempt to overwrite any .dll in a Windows system directory as it is currently not supported and will not work.

Uninstallation

Delete the DxWrapper .dll and .ini files from the game's directory. You can also delete the log file, if there is one.

Configuration

To configure DxWrapper, edit the .ini file and enable the settings wanted. See the Configuration wiki for more details.

Sample configuration file: dxwrapper.ini.

List of all configuration options: allsettings.ini

Logging

The log file will be created in the same folder where the game executable is located. It will be named 'dxwrapper' with the name of the game executable appended to it. So if you are running the file game.exe then the log file will be called dxwrapper-game.log.

Supported DLLs

DxWrapper can wrap the following dlls:

  • bcrypt.dll
  • cryptsp.dll
  • d2d1.dll
  • d3d8.dll
  • d3d9.dll
  • dciman32.dll
  • ddraw.dll
  • dinput.dll
  • dinput8.dll
  • dplayx.dll
  • dsound.dll
  • dwmapi.dll
  • msacm32.dll
  • msvfw32.dll
  • version.dll
  • wininet.dll
  • winmm.dll
  • winmmbase.dll
  • wsock32.dll

Donations

All my work here is free and can be freely used. For more details on how you can use this module see the license section below. However, if you would like to donate then check out my donations page. All donations are for work already completed! Please don't donate for future work or to try and increase my development speed. Thanks!

License

Copyright (C) 2021 Elisha Riedlinger

This software is provided 'as-is', without any express or implied warranty. In no event will the author(s) be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:

  1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
  2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
  3. This notice may not be removed or altered from any source distribution.

Credits

DxWrapper uses code from several other projects. So to give credit where credit is due, below is a list of locations that source code was taken from:

  • AppCompatData: Used comments from blitzbasic.com to build the feature to configure the DirectDraw AppCompatData settings.
  • Aqrit's ddwrapper: Includes code to read the ini config file.
  • cnc-ddraw: Includes code to create emulated surface device context.
  • d3d8to9: Includes the full Direct3D 8 to Direct3D 9 code.
  • D3DParseUnknownCommand: Includes code for DirectDraw D3DParseUnknownCommand from source code found in ReactOS.
  • DDrawCompat: Includes the full DDrawCompat v0.2.0b, v0.2.1 and Experimental version.
  • doom3.gpl: Includes code to get video memory.
  • diablo-ddrawwrapper: Includes some code for converting ddraw to Direct3D.
  • DSoundCtrl: Includes the full DirectSoundControl code.
  • DxWnd: Includes code from DxWnd for proxy loading (init.cpp) and exception handling.
  • GetComputerManufacturer: Includes code from rohitab.com to get the computer vendor and model.
  • GetFileVersionInfo : Includes code from stackoverflow.com for getting the version of a PE file.
  • GetPPID: Includes Code taken from mattn GitHub project to get the parent process PID.
  • LegacyD3DResolutionHack: Includes code from LegacyD3DResolutionHack to removes the artificial resolution limit from Direct3D 7 and below.
  • MemoryModule: Includes code for loading libraries from memory.
  • OllyDbg: Includes the full cmdlist.c and disasm.c (disasm.dll) code used for exception handling.
  • PixelShaderPalette: Includes code from ddraw-cnc for a PixelShader that is used to view DirectDraw palette surfaces properly.
  • SilentPatchFarCry: Includes code from SilentPatchFarCry to cache the clip plane in Direct3D 9.
  • Ultimate ASI Loader: Includes code for loading ASI plugins.
  • WineD3D d3d8.dll: Includes functions ValidatePixelShader and ValidateVertexShader.

Development

DxWrapper is written mostly in C++ using Microsoft Visual Studio 2019.

The project requires both the Windows 10 SDK and WDK. The exact version required can be seen in the project properties in Visual Studio.

GitHub Link: https://github.com/elishacloud/dxwrapper

Thanks for stopping by!

Comments
  • [Silent Hill 2] Porting audio from PS2 build to PC

    [Silent Hill 2] Porting audio from PS2 build to PC

    Hi @elishacloud !

    This is a branch/continuation of our discussion found here accompanied with input by @AeroWidescreen: https://github.com/crosire/d3d8to9/issues/24

    While Silent Hill 2 for the PC is being wonderfully fixed by the fine folks over at Widescreen Fix, in addition to your's and Crosire's work with ReShade D3D8to9, there are still a few lingering issues left for the PC version that put it behind its PS2 counterpart. Most notable is the audio/sound issues and lack of soft shadows for the PC iteration.

    First, if/when you have a spare 25 minutes I'd strongly recommend watching this video that breaks down the differences between the main releases of SH2 for various platforms: https://www.youtube.com/watch?v=nna2yt1c9gI

    In regards to the audio: All versions of SH2 except for the PS2 version have compressed the audio files into a lossy format. This is further explained here: https://www.youtube.com/watch?v=nna2yt1c9gI&t=403

    And while this situation is less than ideal the tone and pitches for the audio files have also changed during the conversion. You can hear this in action here: https://www.youtube.com/watch?v=8E5Nt8ahZRk

    So while typically only audiophiles will be able to hear the reduced bitrate of the compressed audio files everyone can pick up on these tone/pitch differences. It's equal parts strange and silly this happened.

    The solution-in-theory then is to somehow extract the sound libraries from the PS2 disc and convert/transpose those files to the PC version. In a perfect world the libraries would have the same naming/file structure conventions so it would hopefully be a straight-foward process of replacing the files. But I don't know if that's the case as I have yet to find a definitive piece of software to extract content like this from a PS2 disc.

    But ultimately the end goal here would be to find a way to transplant the PS2 game's sound files into the PC game's folder.

    From your knowledge and past experiences do you think such as task if feasible?

    In regards to the shadows: Both the PS2 and Xbox versions of the game utilize soft shadows in the game's world whereas the PC version uses simple, hard edge volumes which results in razor-sharp shadow lines. This reduction in shadow quality not only looks less than desirable but also hurts the game's atmosphere.

    You can learn more about the PC's shadows vs. consoles here: https://www.youtube.com/watch?v=nna2yt1c9gI&t=836

    And in the same video they discuss more about the soft shadows being used in the PS2/Xbox versions here: https://www.youtube.com/watch?v=nna2yt1c9gI&t=353

    And here: https://www.youtube.com/watch?v=nna2yt1c9gI&t=701

    Do you think implementing soft shadows would ever be feasible for this game and something within your skill set to do? If you think it is, let me know and if you'd be interested in looking into this as I would spread the word around about what you'd be trying to do and get other fans to donate to your cause. This would probably be one of, if not the, hardest mods to do for the game so compensation is absolutely a requirement for such a major task/time commitment.

    enhancement 
    opened by Polymega 270
  • [Silent Hill 2] Checklist of Remaining/Wishlist Fixes

    [Silent Hill 2] Checklist of Remaining/Wishlist Fixes

    (Note: This thread was made a few days before the creation of the SH2 Enhancements Repository)

    I'm doing a play through of Silent Hill 2 again for the Enhanced Audio project and I was making mental notes of the remaining "wishlist" fixes and wanted to post them for posterity purposes.

    Noted areas for improvement:

    Discussion thread

    • [ ] Integration of soft shadows
    • [ ] Shadows do not cast on dynamic (movable) objects (they do on the console versions) Discussion thread
    • [ ] Fix bugged lighting sources for a few areas in the game Video Example 1 | 2 | Discussion thread
    • [ ] Increase draw distance for either just Woodside Apt 2F Hallway or whole game FIX IN PROGRESS Video example | Solution
    • [ ] Fix "Eddie/Laura bowling scene" black fade out regardless if Fix2D or similar is on/off GIF example
    • [ ] Adjust fixed camera angles in several spots to hide camera clipping through wall FIX IN PROGRESS Discussion thread
    • [ ] Fix camera stutter in Hospital, 3F, Rm S3 FIX IN PROGRESS Video example | Discussion thread
    • [ ] Remove one-frame flicker when an in-game cutscene changes to motion blur. (If not possible then have the option to disable the game's motion blur altogether then in the ini file?)
    • [ ] Have the game cursor (used for interacting with full screen images) default to center of the screen each time like the console versions. This is due to the cursor being off-screen whenever Fix2D and FullScreenImages are enabled in the Widescreen Fix. FIX IN PROGRESS Solution
    • [ ] Keep hanging meat always "loaded in" during final Eddie confrontation cutscene. Video example | Discussion posts
    • [ ] Fix the very silly animation bug for when James gets on the rowboat. FIX IN PROGRESS Video example | Solution
    • [ ] Implement language subtitle "packs" for the game? Discussion post
    • [ ] Fix loading zone color values for cemetery area to fix environment Quick Save load bug. FIX IN PROGRESS Video example | Solution
    • [ ] Fix luminescence of James, dress, and Mannequin in Room 205. A FIX HAS BEEN FOUND Discussion Post | Solution

    Fixed!:

    • [x] Integration of PS2 quality sound files ("Enhanced Audio" project)
    • [X] ~~Game map & save screen fix: Currently, if you're on the streets of Silent Hill during the day time the pillar boxes are grey, not black. This is true for any area where the game has set the time of day to "day" (and not "night").~~ Image example | Discussion post There has been breakthrough discoveries in implementing high res, widescreen images for the game so this fix will be redundant if a HD image mod comes to fruition.
    • [X] ~~Game map & save screen fix: Currently, the markings on the maps and save file's floating, enlarged text are always visible and stay above the pillar boxes. They should be behind the pillar boxes.~~ Video example There has been breakthrough discoveries in implementing high res, widescreen images for the game so this fix will be redundant if a HD image mod comes to fruition.
    • [X] ~~Game map fix: There are no pillar boxes at all whenever James transcribes notes onto his own map. (James transcribes notes onto his own map several times throughout the game.) You can see the game environment instead where the pillar boxes should be.~~ Video example There has been breakthrough discoveries in implementing high res, widescreen images for the game so this fix will be redundant if a HD image mod comes to fruition.
    • [x] Fix Lying Figure cutscene camera "pop" and looped animation Video example | Discussion thread
    • [X] ~~Integration of anti-aliasing (possibly done through SMAA?)~~ Alternate solutions have been found for anti-aliasing which have been reflected in the Installation Guide.
    • [x] ~~Integration of WineD3D's fixes without having to use WineD3D (wise to do so?)~~ It is no longer necessary to do this.
    • [x] Adjust WSF to accommodate new 16:9 FMVs (currently there are still small pillar boxes when FMVWidescreenEnhancementPackCompatibility is turned on). Discussion thread
    enhancement help wanted 
    opened by Polymega 95
  • BloodRayne 2

    BloodRayne 2

    Sorry if this is the wrong place to post, but I couldn't find a solution elsewhere yet.

    There exists an unofficial "FSAA Patch" that adds new features to the game.

    BR2 FSAA Patch 1.666.zip

    However with the patch installed it crashes the game on startup. The developer commented that it's a problem with a Windows 10-specific call:

    IDirect3D8::CreateDevice(Adapter: 0, DeviceType: 1, hFocusWindow: 2165074, BehaviorFlags: 66|D3DCREATE_FPU_PRESERVE|D3DCREATE_HARDWARE_VERTEXPROCESSING, PresentationParameters: (0x00A013F4BackBufferWidth: 2560, BackBufferHeight: 1440, BackBufferFormat: D3DFMT_X8R8G8B8, BackBufferCount: 1, MultiSampleType: 4, SwapEffect: D3DSWAPEFFECT_DISCARD, hDeviceWindow: 2165074, Windowed: false, EnableAutoDepthStencil: true, AutoDepthStencilFormat: D3DFMT_D24S8, Flags: NONE, FullScreen_RefreshRateInHz: D3DPRESENT_RATE_DEFAULT, FullScreen_PresentationInterval: D3DPRESENT_INTERVAL_IMMEDIATE), ReturnedDeviceInterface: 0x00000001)

    I'm on Windows 8 and I also tried the workarounds detailed in that thread (disabling AA color samples/enabling MSAA externally etc.) to no avail. Is there anything I missed or any insight on how to use this patch that you know of? Thanks.

    opened by Keith94 24
  • Only 1 screen resolution is available in Empire Earth II with dxwrapper.

    Only 1 screen resolution is available in Empire Earth II with dxwrapper.

    Hi Elisha. As first, thank you for your work on dxwrapper and contribution to d3d8to9 development. I'm creator of Unofficial Patch 1.5 for Empire Earth II: https://www.ee2.eu/patch/ I'm using a modified version of crosire's d3d8to9 to fix game problems and support DX9.

    I knew that dxwrapper existed for quite a long time, but I never had a chance to test it. Today, I wanted to try something new, especially after seeing:

    Adding AntiAliasing support into DirectX 8 or 9 games even if the game does not support it (Windows 10 only)

    After starting the game with dxwrapper, I came to an issue where screen resolutions are not displayed on the list: https://i.imgur.com/diqvAMe.png

    (for comparation): https://i.imgur.com/lZ64jBK.jpg

    I tried modifying "dxwrapper.ini" with different settings, but nothing helped to display screen resolutions.

    I came to a conclusion that dxwrapper might have too many fixes which are not needed for this game to work on Windows 10. Do you know if I can modify d3d8to9 in any easy way to enable AntiAliasing, or this would rather require to load much more libraries? Also, do you think AntiAliasing could cause some performance degradation, or it shouldn't matter that much? (This game already is horribly optimized).

    Greetings.

    EDIT: Sorry, it seems like DxWnd was the issue. After removing it's .dll file from game folder, dxwrapper starts with all resolutions :)

    opened by HerMajestyDrMona 23
  • Bad Mojo Redux

    Bad Mojo Redux

    Hello again Elisha, like discussed here: https://github.com/CnCNet/cnc-ddraw/issues/16 dxwapper is the only wrapper that does not crash Bad Mojo Redux. But for the moment, no fullscreen and we have only quicktime sound, no video. As you know I'm a Linux user, I launch Windows games with Wine. Actually I'm using Wine 4.15 staging (Lutris version, virtual desktop mode on) on Ubuntu 19.04 with a Nvidia GPU. I joined you log file for debug. The idealistic objective will be to play this game FullscreenWindowMode , active vsync on with native gamer desktop resolution, with aspect ratio respected. I played a lot with dwrapper.ini options without success. Thank you for your help.

    nota: FullscreenWindowMode = 1 --> I can not see menu DdrawUseNativeResolution = 1 --> still 640x480 wine window

    dxwrapper-badmojo.log

    opened by legluondunet 22
  • StarTrekArmada1 Backgrounds

    StarTrekArmada1 Backgrounds

    I Followed the instructions to download the fix for the game, and It ran. It even loads the missions, mostly. The game only loads in the textures for the ships and stations, It has the dilithium moons and asteroid belts. Just missing the space backgrounds and the build zones. They all still exist as certain places cant be utilized for building, so the assets are there, there are just no textures for them. All textures are visible in the cinematic mode, all textures are also visible in the cutscenes. It's not massive, but it is rather annoying, I was wondering what I could do to fix the issue? img-4969 img-4968 img-4967 img-4966

    opened by LordFowlIte 19
  • Mouse cursor position in Pharaoh and Zeus

    Mouse cursor position in Pharaoh and Zeus

    Yesterday I reported in an issue for cnc-ddraw that I also tried DxWrapper with Pharaoh and Wine and it fixed the problem with the position of the mouse cursor being incorrect. After some further playtesting, I realised that while the game is certainly playable this way, the mouse cursor is still somewhat off.

    When I launch the game, as I hover the mouse over and off the main menu items, it can be seen right away that it’s as if the whole screen content has been shifted slightly downward and even more to the right.

    I can reproduce this with DxWrapper v1.0.6387.21, with multiple Lutris versions of Wine (namely the packages lutris-fshack-5.5-2 and lutris-fshack-5.6-5), both with and without a widescreen hack, and with DdrawUseNativeResolution set to either 0 or 1.

    I’ve also installed Zeus to take a glimpe at how DxWrapper performs with it and I have the exact same results so far as with Pharaoh.

    opened by maxigaz 17
  • Rayman 2 - started to have blurry and distorted graphics

    Rayman 2 - started to have blurry and distorted graphics

    Rayman 2 started to have blurry and distorted graphics.

    On my previous HD 7xxx and 1.8.8.1 drivers it worked. It helped on FPS dips in comparison to wined3d from Uplay.

    Now I have 19.3.4 drivers with RX xxx.

    The game started to have blurry and distorted graphics DX6 in GXSetup set, ddraw, ini, and dxwrapper placed in Rayman 2 folder. In the second attempt I tried all the files.

    What is more interesting, now without any wrapper on DX6, there is also bad graphic bug. Previously it worked correctly.

    On WineD3D provided with Uplay it works fine, but you need to wait ~1 minute on small white screen, untill the game shows up. It wasn't happening before too.

    I checked all options in sections: AppCompatData Compatibility

    to set = 1

    but it didn't changed anything.

    In the second attempt I tried to set DDrawCompat = 1 but it gives black screen (yes I waited above 1 minute, and nothing).

    In the third attempt I copied all the files from stub and root folder, but still the same graphical glitch.

    I tried also running Dxwnd in background, later with dxxwnd =1 in config, but still nothing.

    Later I added Rayman2.exe to DXWnd according to instruction here: https://pcgamingwiki.com/wiki/Rayman_2:_The_Great_Escape#Windowed

    But still nothing. Also, DX1~6, DX9, Auto, forces Hel, Optimize CPU, DGI, Hybrid tested in DXwnd.

    opened by deton24 17
  • [Star Trek Armada] Doesn't start

    [Star Trek Armada] Doesn't start

    Windows 10, Nvidia GTX 960

    I've installed a fresh copy of Armada, to remove every trace of old tools, but your fix doesn't seem to work. It crashes on startup, before even the menu. On the Fleetops forum, you ask for a ddraw-armada.log, but it's not generating one of those at all. The closest thing is draw-splash.log, which generates from running Splash.exe and clicking "play", which I've attached. Running Armada.exe simply shows the orange Armada box for a moment, and then crashes.

    ddraw-splash.log

    bug 
    opened by Cerxi 17
  • Menu misalignment on G:OC fix

    Menu misalignment on G:OC fix

    The Gangsters: Organized Crime fix works like a charm at bringing menu text back (at least on the main menu), but the clickable areas of the buttons now appear to be misaligned, e.g. clicking somewhere on the left side of the Tutorial button exits out of the game. I followed the install procedure (extract dsound.dll and .ini into the game folder) and made sure to check the compatibility settings for the game .exe.

    bug 
    opened by maxalthoff 13
  • Keep Filter If Point Sampled (AnisotropicFiltering\AntiAliasing)

    Keep Filter If Point Sampled (AnisotropicFiltering\AntiAliasing)

    Need support separation filtering objects on Point and non-Point. It need becouse now when AnisotropicFiltering\AntiAliasing is on in some games text and interface blurry screenshot0000 Space Rangers 2. If disable AnisotropicFiltering and AntiAliasing: screenshot0001 same feature have dgVoodoo, but he unsupported this game. DxWrapper good work with ddraw.dll and D3D9.dll and option FullscreenWindowMode (Dd7to9\EnableD3d9Wrapper).

    opened by Mitradis 12
  • Investigate Windows 10 1607-1703 subpar d3d9 performance

    Investigate Windows 10 1607-1703 subpar d3d9 performance

    Follows #111. It turns out that newer Windows did far more than just gimping VP. I couldn't get 1607 to experience more than a ~15% handicap (and boy wasn't it hard to find the right scenes), but with 1703 you'd have to be blind not to see a difference any time you are CPU limited.

    I tested (in a 640x480 window at minimum detail for games, default size and settings for the rest):

    • Mass Effect at my benchmark place (otherwise on 1703 even the title screen already hits you hard)
    • Nvidia's directx samples (both hardware and software vertex processing devices, require VS2003 redist)
    • Old OGRE demos (in particular: crowd, dot3bump, grass, lighting and water)
    • CSGO (current build in the fps_benchmark locker room, or demo_viewer just spawned in the training course)

    I understand performance isn't exactly the kind of "qualitative" issue that the project usually addresses, but the effect is consistent and just as annoying if your framerates weren't ludicrous to begin with (in CSGO the performance uplift of multicore rendering is practically nullified, while the worst case microbenchmark scenario that I could scavenge was not even ONE THIRD of the W7/1511 speed). There are of course other caveats, but none that should lessen the main point.

    Yes, I did all of this testing inside VMWare workstation, but while the virtual SVGA device isn't exactly comparable to native, the provided d3d9 driver should be pretty legit to compare with itself (unlike normal gpus I believe it even has the same codepaths for every Windows). Secondly this was done on my i7-6500U+950M old laptop, which isn't exactly a workhorse. But either through downclocking or core limiting (which should come especially easy if you use a VM), I see no reason anybody couldn't get down to the same level if it turned out it was actually required for reproducing the problem. Last but not least, I also took care of excluding any possible spectre and meltdown consideration (<2018 Windows should know nothing about them, and my host has mitigations disabled anyway).

    opened by mirh 0
  • Question about leaving the game on (Without Pause) for Multitasking

    Question about leaving the game on (Without Pause) for Multitasking

    Hi,

    I tried all the options for the game in question (Prince of Qin), I have only these options enabled Dd7to9, EnableWindowMode. The result is that now I fixed the zoom problem in the game, and I can have a clear peek in the game window from the Taskbar in the windows 10 but, the game will pause and I rally want to pass that so that the game even after loosing focus, it will still work in the background.

    Is there any hack for this?

    Thanks dxwrapper.txt Untitled

    opened by toibry 4
  • can't get LoadCustomDllPath to work

    can't get LoadCustomDllPath to work

    i would like to use dgvoodoo's d3d9.dll and another d3d9.dll at the same time but can only get one to work.

    i've put dgvooodoo in the realdllpath and the other in the LoadCustomDllPath but the second dll is ignored.

    is there a special method to get LoadCustomDllPath to work?

    the other wrapper is helixmod for disabling game shaders.

    game is soldier of fortune 3. need dgvoodoo for vsync and framerate cap. and the other wrapper to make the graphics less blurry.

    opened by Crugnok 0
  • Option to select which GPU Adapter to use?

    Option to select which GPU Adapter to use?

    dxwrapper works great in many games for me like Silent hill 3 and Witcher 1 EE. But there is a common problem I am facing for all the games I use this on. I have a dual-GPU laptop with a weak Intel UHD GPU and a NVIDIA MX series GPU, the one I use for games.

    Using dxwrapper causes the games to use my Intel GPU regardless of my preference setting in my NVIDIA Control Panel. (It is set to use the NVIDA card for all applications) Despite that for whatever reason the Intel GPU is selected when I use dxwrapper according to the log files, performance is worse as a result too.

    Attached a log for Silent Hill 3, but this happens on all games I have use dxwrapper for (mainly for the d3d8 to 9 feature) So, an option to select/force a certain GPU would be great, If possible that is, thanks for your work as always. dxwrapper-sh3.log

    opened by ArhumMK 19
  • Creatures 2 Crashes when Importing/Exporting Creatures

    Creatures 2 Crashes when Importing/Exporting Creatures

    Here's the log:

    _10628 11:12:07.069 Starting DxWrapper v1.0.6542.21 10628 11:12:07.069 Running from: E:\Users\Daniel's Files\Documents\Creatures\Creatures 2\dxwrapper.dll 10628 11:12:07.069 Reading config file: E:\Users\Daniel's Files\Documents\Creatures\Creatures 2\dxwrapper.ini 10628 11:12:07.069 ASUSTeK COMPUTER INC. PRIME B450M-K Rev X.0x (Desktop) 10628 11:12:07.069 NVIDIA GeForce RTX 3070 10628 11:12:07.070 Windows 10 Home 64-bit (10.0.19041) 10628 11:12:07.070 "creatures2.exe" (PID:4784) 10628 11:12:07.075 Environment variable _COMPAT_LAYER = "ElevateCreateProcess 16BitColor" 10628 11:12:07.075 Disabling High DPI Scaling... 10628 11:12:07.075 Loaded library: user32.dll 10628 11:12:07.075 Loaded library: shcore.dll 10628 11:12:07.076 Enabling dinputto8 wrapper 10628 11:12:07.076 Loading 'dinput.dll'... 10628 11:12:07.076 Loaded library: C:\Windows\system32\dinput.dll 10628 11:12:07.076 Hooking dinput.dll APIs... 10628 11:12:07.076 Enabling dinput8 wrapper 10628 11:12:07.076 Loading 'dinput8.dll'... 10628 11:12:07.077 Loaded library: C:\Windows\system32\dinput8.dll 10628 11:12:07.077 Loading 'ddraw.dll'... 10628 11:12:07.077 Hooking ddraw.dll APIs... 10628 11:12:07.077 Enabling ddraw wrapper 10628 11:12:07.077 Enabling d3d9 wrapper 10628 11:12:07.077 Loading 'd3d9.dll'... 10628 11:12:07.079 Loaded library: C:\Windows\system32\d3d9.dll 10628 11:12:07.079 Loaded library: gdi32.dll 10628 11:12:07.079 DxWrapper loaded! 10628 11:12:07.247 dd_DirectDrawCreate 10628 11:12:07.247 dd_DirectDrawCreateEx 10628 11:12:07.247 Redirecting 'DirectDrawCreate' IID_IDirectDraw to --> 'Direct3DCreate9' 10628 11:12:07.247 Creating interface m_IDirectDrawX::m_IDirectDrawX (0069F710) converting interface from v1 to v9 10628 11:12:07.247 d9_Direct3DCreate9 10628 11:12:07.247 Redirecting 'Direct3DCreate9' ... 10628 11:12:07.271 Creating interface m_IDirect3D9Ex::m_IDirect3D9Ex (006B2398) 10628 11:12:07.271 m_IDirectDrawX::CreateSurface2 Warning: MipMap not Implemented. 10628 11:12:07.271 Creating interface m_IDirectDrawSurfaceX::m_IDirectDrawSurfaceX (06223038) converting interface from v1 to v9 10628 11:12:07.271 Creating interface m_IDirectDrawClipper::m_IDirectDrawClipper (006616D8) 10628 11:12:07.271 m_IDirectDrawX::CreateSurface2 Warning: MipMap not Implemented. 10628 11:12:07.271 Creating interface m_IDirectDrawSurfaceX::m_IDirectDrawSurfaceX (06223228) converting interface from v1 to v9 10628 11:12:07.271 m_IDirectDrawX::CreateSurface2 Warning: MipMap not Implemented. 10628 11:12:07.271 Creating interface m_IDirectDrawSurfaceX::m_IDirectDrawSurfaceX (06223418) converting interface from v1 to v9 10628 11:12:07.271 m_IDirectDrawX::CreateSurface2 Warning: MipMap not Implemented. 10628 11:12:07.345 Creating interface m_IDirect3DDevice9Ex::InitDirect3DDevice (062044F8) 10628 11:12:07.346 Creating interface m_IDirect3DTexture9::m_IDirect3DTexture9 (063D9388) 10628 11:12:07.362 m_IDirectDrawSurfaceX::~m_IDirectDrawSurfaceX (06223228) deleting interface! 10628 11:12:07.362 Creating interface m_IDirect3DTexture9::m_IDirect3DTexture9 (063D91F0) 10628 11:12:07.365 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:07.365 Creating interface m_IDirect3DTexture9::m_IDirect3DTexture9 (063D9268) 10628 11:12:07.390 m_IDirectDrawSurfaceX::~m_IDirectDrawSurfaceX (06223228) deleting interface! 10628 11:12:07.400 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:07.492 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:07.506 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:07.562 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:07.662 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:07.762 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:07.863 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:07.962 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:08.062 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:08.162 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:08.262 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:08.362 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:08.462 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:08.562 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:08.662 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:08.762 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:08.862 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:08.963 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:09.062 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:09.162 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:09.262 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:09.362 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:09.462 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:09.562 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:09.662 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:09.670 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:09.762 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:09.862 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:09.962 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:10.062 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:10.162 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:10.262 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:10.398 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:10.462 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:10.562 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:10.662 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:10.762 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:10.862 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:10.962 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:11.062 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8 10628 11:12:11.244 m_IDirectDrawSurfaceX::Blt Error: could not find source surface! 0x007024F8

    All .exe files are set to run in 16-bit apart from launcher.exe and start.exe.

    opened by C-Rex1 1
Releases(v1.0.6542.21)
  • v1.0.6542.21(May 30, 2021)

    Instructions:

    1. Download the dxwrapper.zip and unzip it to a folder.
    2. Determine which .dll file is needed for the game. This depends on many factors which will be explained on page created later. Most commonly it is ddraw.dll, dsound.dll or winmm.dll.
    3. Copy this .dll file from the 'Stub' folder plus the dxwrapper.dll and dxwrapper.ini files into the game's installation directory, next to the main executable file. For some games the main executable is in a subdirectory (like 'Bin', 'Exe' or 'App') so the files will need to be copied it into that directory. Overwriting existing game files is not usually recommended.
    4. Open up the dxwrapper.ini file in a text editor and enable the settings needed for the game.

    Note: Try the options under the [Compatibility] section first. For many games these are all that are needed. See the Configuration for details on the options.

    What's New?

    • Added DDrawCompat v0.3.1
    • Added Dd7to9 compatibility with many additional games
    • Added Dd7to9 support for display modes: 640x400, 320x240 and 320x200
    • Added option to remove scanlines in DirectDraw games
    • Added feature to fix byte alignment (pitch) issues in DirectDraw games
    • Added support for converting a few Direct3D 1-7 functions to Direct3D 9
    • Added option to ForceMixedVertexProcessing and ForceSystemMemVertexCache to fix some perf issues in Direct3D 9
    • Fixed issue in Direct3D 9 wrapper that could cause games to bypass the wrapper
    • Fixed AnisotropicFiltering in Direct3D9 to set texture filter to anisotropic mode
    • Many other fixes and updates
    Source code(tar.gz)
    Source code(zip)
    dxwrapper-debug.zip(12.25 MB)
    dxwrapper.zip(5.12 MB)
  • v1.0.6387.21(Aug 9, 2020)

    Instructions:

    1. Download the DxWrapper.zip and unzip it to a folder.
    2. Determine which .dll file is needed for the game. This depends on many factors which will be explained on page created later. Most commonly it is ddraw.dll, dsound.dll or winmm.dll.
    3. Copy this .dll file from the 'Stub' folder plus the dxwrapper.dll and dxwrapper.ini files into the game's installation directory, next to the main executable file. For some games the main executable is in a subdirectory (like 'Bin', 'Exe' or 'App') so the files will need to be copied it into that directory. Overwriting existing game files is not usually recommended.
    4. Open up the dxwrapper.ini file in a text editor and enable the settings needed for the game.

    Note: Try the options under the [Compatibility] section first. For many games these are all that are needed. See the Configuration for details on the options.

    What's New?

    • Added Dd7to9 compatibility with many games
    • Added option for AudioClipDetection
    • Added Anisotropic Filtering support in DirectX 9
    • Added option to Blt to GDI for Dd7to9
    • Added filter in DirectX 9 wrapper for windows event messages to prevent some games from hanging
    • Updated dinputto8 module to fix joystick and keyboard issues with some dinput games
    • Added wrapper for dwmapi.dll
    • Better handing of ddraw structures for Dd7to9
    • Allow present even with locked surfaces when using Dd7to9
    • Call present after setting color control or gamma control when using Dd7to9
    • Fixed surface pitch when using Dd7to9
    • Fixed SpeakerConfig options
    • Fixed stability issues with many DirectDraw games
    Source code(tar.gz)
    Source code(zip)
    DxWrapper-debug.zip(13.50 MB)
    DxWrapper.zip(5.53 MB)
  • v1.0.6334.21(Oct 1, 2019)

    Instructions:

    1. Download the DxWrapper.zip and unzip it to a folder.
    2. Determine which .dll file is needed for the game. This depends on many factors which will be explained on page created later. Most commonly it is ddraw.dll, dsound.dll or winmm.dll.
    3. Copy this .dll file from the 'Stub' folder plus the dxwrapper.dll and dxwrapper.ini files into the game's installation directory, next to the main executable file. For some games the main executable is in a subdirectory (like 'Bin', 'Exe' or 'App') so the files will need to be copied it into that directory. Overwriting existing game files is not usually recommended.
    4. Open up the dxwrapper.ini file in a text editor and enable the settings needed for the game.

    Note: Try the options under the [Compatibility] section first. For many games these are all that are needed. See the Configuration for details on the options.

    What's New?

    • Added option to emulate the surface when using Dd7to9.
    • Added scaling and integer clapping when using Dd7to9.
    • Added option to preserve the aspect ratio when using Dd7to9.
    • Added option to clip primary surface when using Dd7to9.
    • Added full support for 24bit surfaces when using Dd7to9.
    • Added implementation for SetClipList(), GetClipList() and FlipToGDISurface() when using Dd7to9.
    • Improved performance of Dd7to9.
    • Fixed TestCooperativeLevel(), IsLost(), Restore() and Reset() function conversion when using Dd7to9.
    • Fixed an issue with SetDisplayMode() using Dd7to9.
    • Fixed AntiAliasing issues when using d3d9.
    • Fixed QueryInterface issues with d3d9.
    • Fixed hooking to work on Linux/Wine.
    Source code(tar.gz)
    Source code(zip)
    DxWrapper-debug.zip(12.10 MB)
    DxWrapper.zip(4.73 MB)
  • v1.0.6298.21(Jul 28, 2019)

  • v1.0.6284.21(Jul 6, 2019)

    This is a major update. There are too many changes to list.

    Some of the key features are:

    • Conversion of DirectDraw 1-7 (ddraw.dll) to Direct3D 9 (d3d9.dll). See this wiki for more details: Dd7to9
    • Includes LegacyD3DResolutionHack to remove the artificial resolution limit from Direct3D 1-7, which allows DirectDraw games to play at 4K resolution
    • Options to run Direct3D 8 and Direct3D 9 games in windowed mode
    • Options to disable Microsoft Game Explorer (GameUX) to prevent rundll32.exe high CPU
    Source code(tar.gz)
    Source code(zip)
    DxWrapper-debug.zip(11.99 MB)
    DxWrapper.zip(4.73 MB)
  • v1.0.2383.20(Feb 20, 2018)

    • Added support for d2d1.dll, d3d10.dll, d3d10core.dll, d3d11.dll, d3d12.dll, d3dim.dll, d3dim700.dll, dciman32.dll, dinput8.dll, msacm32.dll, msvfw32.dll, vorbisfile.dll, winmmbase.dll, xlive.dll
    • Added Stub dll to load DxWrapper
    • Added an ASI loader
    • Added full ddraw wrapper to create a fix for Star Trek Armada 1
    • Added AntiAliasing support (Windows 10 only)
    • Added full d3d9 wrapper
    • Added hook for GetProcAddress to handle wrapped functions that are missing or not available in the OS
    • Added hook for GetModuleFileName to fix module name in modules loaded from memory
    • Added mutex to ensure that DxWrapper is not loaded twice
    • Added multiple config file support
    • Added log for video card type and description
    • Updated Fullscreen to check for the child handle to fix display issues with Gangsters Organized Crime and sound issues with Alien Nations
    • Updated DDrawCompat to install hooks with DllGetClassObject to fix display issues with Gangsters Organized Crime
    • Updated DSoundCtrl default settings
    • Updated d3d8to9 code to v1.7.0
    • Updated d3d8to9 to load d3d9 sooner
    • Fixed d3d8to9 when device is not ready
    • Fixed d3d8to9 PixelShader issue in Silent Hill 2
    • Fixed crash when wrapped functions return void and those functions are not available in the OS
    • Fixed some possible multi-threading issues
    • Fixed heap corruption issue with debug build
    • Fixed minor memory leak in WriteMemory
    • Fixed ResetScreenRes option to fix screen brightness for Silent Hill 2 when using WineD3D
    • Fixed issue with wrapper mode detection
    • Fixed winmm library function names
    • Fixed Disasm unloading
    • Unhook wrapper APIs when unloading
    • Unhook UnhandledExceptionFilter APIs when unloading
    • Disabled extra d3d8to9 logging in Release build
    Source code(tar.gz)
    Source code(zip)
    DxWrapper.zip(4.78 MB)
  • v1.0.990.18(Jul 16, 2017)

    • Auto Generate Build Number
    • Update Readme file
    • Update license files
    • Simplify wraper modules to use macros
    • Cleanup code for readability
    • Reorganized files into respective folders
    • Rename 'Compat::Log()' to 'LOG'
    • Rename dgame.ini to Settings.cpp
    • Added wrapper for dinput.dll, bcrypt.dll and cryptsp.dll
    • Updated wrapper to load compatibility functions first
    • Update to use jmpaddr rather than nullptr for all wrapper APIs
    • Added PostMessage for SW_SHOWNORMAL in fullscreen.cpp
    • Added short sleep when starting FullscreenThread
    • Updated varable types in cfg, fullscreen and DSoundCtrl
    • Remove unneeded 'try ... except' clauses in fullscreen
    • Added InterlockedExchange for some shared varables to reduce the chances of threading issues
    • Fixed issue where LeaveCriticalSection was not getting called
    • Fixed issue with for loop to make sure it does not exceed the dtypeArraySize
    • Created d3dx9.h dynamic library
    • Made it so that system d3d8.dll is no longer loaded when d3d8to9 is enabled
    • Updated d3d8to9 return value for CopyRects, CreateVertexShader, GetVertexShaderDeclaration and CreatePixelShader. Removed E_FAIL and E_NOTIMPL and replaced them with D3DERR_INVALIDCALL.
    • Fixed d3d8to9 SetRenderState to call the correct D3DRENDERSTATETYPE when D3DRS_ZBIAS is used.
    • Fixed d3d8to9 reference count and palette flag for Need For Speed III
    • Updated d3d8to9 CreateVertexShader to fix missing textures in some games such as Hitman 2 Silent Assassin and Indiana Jones and the Emperor's Tomb.
    • Fixed d3d8to9 CreatePixelShader to fix lighting issues with Star Wars Republic Commando and Silent Hill 2
    • Added caching in d3d8to9 for EnumAdapterModes to fix an issue with WineD3D taking a very long time to start
    • Added caching in d3d8to9 for the following classes: Direct3DSurface, Direct3DTexture, Direct3DVolumeTexture, Direct3DCubeTexture, Direct3DVolume, Direct3DVertexBuffer, Direct3DIndexBuffer and Direct3DSwapChain
    • Updated d3d8to9 so that it dosen't delete the classes until Direct3D8Device is deleted
    • Udated d3d8to9 reference counting by removing RefCount
    • Update d3d8to9 the Lock() functions for Vertex and Index Buffers so that they ignore the D3DLOCK_DISCARD flag if the D3DUSAGE_WRITEONLY flag is not set. Fixes the missing texture issue with Raymond 3.
    • Update d3d8to9 logging to match d3d8to9/master
    • Updated d3d8to9 SetCurrentTexturePalette to use PC_NOCOLLAPSE to fix a crash in Need for Speed III
    • Added d3d8to9 error checking for palette API calls to prevent crashes when the device does not support palettes
    Source code(tar.gz)
    Source code(zip)
    DxWrapper.zip(3.84 MB)
  • v0.1.0.17(May 29, 2017)

    • Added DirectSoundControl (DSoundCtrl) project for improved sound control
    • Added hooking for DDrawCompat, DSoundCtrl and d3d8to9 APIs to allow these functions to work with all dll types
    • Added option for DDrawCompatDisableGDIHook to fix games where GDI hooking causes an issue
    • Auto failover to 32bit mode for DDrawCompat when there is a failure to get the requested display mode
    • Made d3d9.dll, dwmapi.dll, uxtheme.dll, version.dll and winmm.dll load dynamically
    • Set ResetScreenRes to disabled by default
    • Renamed EnableStoppedDriverWorkaround to StoppedDriverWorkaround
    • Added logging for dxwrapper version information
    • Added logging for operating system type and version
    • Added logging for process name and PID
    • Fixed debug build to get it working in Visual Studio
    • Fixed debug logging in hotpatch and iatpatch
    • Added debug logging for each Config setting
    • Moved exception handling logs to the debug log
    • Ensure that only one copy of a dll is loaded by LoadDll()
    • Update how SingleProcessAffinity is handled
    • Added GetFunctionAddress() to get function addresses from binary file since GetProcAddress() does not return the correct address
    • Updated API hooking code and enabled HotPatch hooking
    • Removed MinHook from the code
    • Fixed threading issue with config ParseCallback
    • Fixed the unloading of dll libraries to allow all libraries to be freed on exit
    • Removed critical section from fullscreen.cpp to fix possible deadlock
    • Refreshed d3d8to9 from corsire branch
    Source code(tar.gz)
    Source code(zip)
    DxWrapper.zip(3.13 MB)
  • v0.1.0.16(May 6, 2017)

    • Made d3dx9_xx.dll dynamically linked
    • Added all 12 AppCompatData options for DXPrimaryEmulation
    • Added option to override the DisableMaxWindowedMode option in DDrawCompat, to fix compatibility issues with Windows 10 Creators Update
    • Added option to override the SetProcessAffinityoption in DDrawCompat, to fix issues with some games that have perf issues when setting single processer affinity
    • Minor restructuring of the project and exploding out the header files
    • Remove standalone DirectX SDK dependency
    • D3d8to9 alternate-ref counting
    • Renamed D3d8to9 and DDrawCompat in ini file
    Source code(tar.gz)
    Source code(zip)
    DxWrapper.zip(3.13 MB)
  • v0.1.0.15(Feb 17, 2017)

Owner
Elisha Riedlinger
Elisha Riedlinger
The DirectX Tool Kit (aka DirectXTK) is a collection of helper classes for writing DirectX 11.x code in C++

DirectX Tool Kit for DirectX 11 http://go.microsoft.com/fwlink/?LinkId=248929 Copyright (c) Microsoft Corporation. November 8, 2021 This package conta

Microsoft 2.2k Jan 2, 2023
Unreal Engine Plugin to wrap Nuitrack SDK ( skeleton tracking solution by 3DiVi )

Nuitrack for Unreal Engine Unreal Engine plugin to bridge Nuitrack. Nuitrack is a middleware to provide 3d skeleton tracking solution using a depth se

Ayumu Nagamatsu 11 Nov 10, 2022
An SDL-1.2 compatibility layer that uses SDL 2.0 behind the scenes.

Simple DirectMedia Layer (SDL) sdl12-compat --- https://www.libsdl.org/ This is t

Simple Directmedia Layer 139 Jan 5, 2023
OGRE is a scene-oriented, flexible 3D engine written in C++ designed to make it easier and more intuitive for developers to produce games and demos utilising 3D hardware.

OGRE (Object-Oriented Graphics Rendering Engine) is a scene-oriented, flexible 3D engine written in C++ designed to make it easier and more intuitive for developers to produce games and demos utilising 3D hardware. The class library abstracts all the details of using the underlying system libraries like Direct3D and OpenGL and provides an interface based on world objects and other intuitive classes.

null 3.1k Jan 3, 2023
This is a list of different open-source video games and commercial video games open-source remakes.

This is a list of different open-source video games and commercial video games open-source remakes.

Ivan Bobev 173 Jan 2, 2023
TotoroEngine is a toy 3D game engine using DirectX 12.

TotoroEngine TotoroEngine is a toy 3D game engine using DirectX 12. Prerequisites Only support Windows(Only test on Windows 10). If you have not insta

null 36 Dec 18, 2022
File packer for my games

cbfilegrabber2 File packer for my games still beta Usage cbfilegrabber2 [--zip|--package] <myassets.dat> --file <myassets.png> or cbfilegrabber2 --pac

Nicholas Oliveira 2 Jan 5, 2022
VE Font Cache is a single header-only GPU font rendering library designed for game engines.

VE Font Cache is a single header-only GPU font rendering library designed for game engines. It aims to: Be fast and simple to integrate. Take advantag

Xi Ma Chen 340 Dec 7, 2022
Open-source, cross-platform, C++ game engine for creating 2D/3D games.

GamePlay v3.0.0 GamePlay is an open-source, cross-platform, C++ game framework/engine for creating 2D/3D mobile and desktop games. Website Wiki API De

gameplay3d 3.9k Jan 8, 2023
A C math library targeted at games

Kazmath Kazmath is a simple 3D maths library written in C. It was initially coded for use in my book, Beginning OpenGL Game Programming - Second editi

Luke Benstead 506 Dec 31, 2022
3D games console based on RP2040 and iCE40 UP5k

PicoStation 3D This is an unfinished, untested project to develop a 3D games console based on an RP2040 microcontroller and an iCE40 UP5k FPGA. Quick

Luke Wren 37 Sep 12, 2022
A set of libraries and tools to make MSX games using the C programming language.

ubox MSX lib This is a set of libraries and tools to make MSX games using the C programming language. There are three main components: ubox: thin wrap

Juan J. Martínez 42 May 30, 2022
TIC-80 is a fantasy computer for making, playing and sharing tiny games.

TIC-80 is a fantasy computer for making, playing and sharing tiny games.

Vadim Grigoruk 3.8k Jan 4, 2023
Enfusion Artifical Intelligence for DayZ and future Bohemia Interactive games.

Enfusion AI Project (eAI) This mod adds headless player units under the control of a script on the server. Although the script is very rudimentary now

William Bowers 61 Nov 26, 2022
Game engine behind Sea Dogs, Pirates of the Caribbean and Age of Pirates games.

Game engine behind Sea Dogs, Pirates of the Caribbean and Age of Pirates games.

Storm Devs 693 Dec 29, 2022
null 5.2k Jan 7, 2023
Cute Framework (CF for short) is the cutest framework available for making 2D games in C/C++

Cute Framework (CF for short) is the cutest framework available for making 2D games in C/C++. CF comprises of different features, where the various features avoid inter-dependencies. In this way using CF is about picking and choosing which pieces are needed for your game

null 314 Dec 26, 2022
Modding (hacking) il2cpp games by classes, methods, fields names.

ByNameModding Modding (hacking) il2cpp games by classes, methods, fields names. Status: Ready to use Why did I do it 1. In order not to update the off

null 97 Jan 2, 2023