Skip to content

tobii-dev/blur-d3d9-hooks

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

blur-d3d9-hooks

WARNING: This project is still in development, and has not been tested on other systems / game versions.
The aim of this project is to create a small and simple library that allows us to run C++ and Lua inside the game process.
Once that is working, we might move forward to implement a plugin system, where other plugins are loaded DLLs that can make use of this library.

Features (so far)

The functionality so far is:

A frame limiter Set the limit with the fps command.
A console

You can type some commands into it...
See current fps with the fps command.
Older console commands will be added back soon :)

Laps higher than 9 When hosting a lobby, you can set the LAPS up to 99. Also works on Mount Haruna. After the finish line, keep driving until you clip trough the ground, and you will respawn at the start. Single-Player version of this will be back soon.
All cars paints unlocked Paint any car any colour. Some cars have a hardcoded texture that can't be changed. On those, try TexMod :P Single-Player version of this will added soon.
Play online on AMAX-EMU If you want regular online servers (from Activison), remove or rename the plugins/amax-redirects.cfg config file.
Small quality of life stuff... That bug where pressing ESC in a lobby would start a game should be fixed. To pause the game, use the F1 key now. Removed popup "No LAN games found" when scanning for LAN games.

How can I try it?

Download the latest files from the releases page, and place them in the same directory as the Blur.exe executable.

d3d9.dll goes right next to the Blur.exe executable, the rest (amax-redirect.cfg, konsole.png and init.luac) goes into plugins/.

>   Blur.exe                (game executable)
>   d3d9.dll                (dll)
\-> plugins/                (plugins folder)
    >   amax-redirect.cfg   (amax server list, remove this if you dont want to play in AMAX-EMU)
    >   init.luac           (lua hooks)
    >   konsol.png          (console background image, remove this if you don't like the grumpy cat)

To uninstall, just remove the files from where you installed them: d3d9.dll,
plugins/amax-redirect.cfg,
plugins/init.luac,
plugins/konsol.png,

Building from source

If you want to compile the DLL from source, you need a compiler that can do that (:

Microsoft Visual Studio is the IDE that I WAS using for this project. It comes with the needed compilation MSVC tools & MSBuild.exe, the build system.

I hated every second of it, so I'm using CMake + Ninja + Clang (13) now. It's not perfect but works well enough for me. Ideas and recomendadions for a better build system are very welcome :)

To compile the DLL, see HELP
Otherwise, if you know what you're doing:

  1. Clone this repository. git clone https://github.com/tobii-dev/blur-d3d9-hooks
  2. Configure CMake. cmake -S . -B build -A win32
  3. Build with CMake cmake --build build --config Release
  4. Move the d3d9.dll from the build/ directory to the Blur.exe directory.

TODO

  • Clean up the d3d9 hooks
  • SP laps (proof of concept)
  • Find IDE independent way to create DLL.
  • Store LAN mods
  • Add more hooks to game events
  • Plugins (.asi files?)
  • Change LAN display name. (In the mean time, just log into AMAX and it will use your AMAX-EMU username.)
  • More AI in LAN races.
  • Faster AI.
  • Reversed tracks.
  • Lobby chat.
  • Profile Pictures.

Credits

  • Aib0t: Found basically all of the Lua stuff, made AMAX-EMU, A LOT testing, and countless other things.
  • _mRally2 for figuring out A LOT of the LAN stuff.
  • Curaa: Konsol background + Testing.
  • Sync: A lot of the early testing and theory + Teaching me how to use TexMod.
  • alexleitte: A lot of very detailed tests and help, great bug hunter.
  • SOUL, Wheat, sacro: Last minute tests and help.
  • SERGE: Theory crafting and testing.
  • IX: bug hunter.
  • Everyone in the Blur modding team.
  • [https://github.com/ThirteenAG] for the original d3d9 project.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 78.2%
  • C 21.7%
  • CMake 0.1%