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.
The functionality so far is:
A frame limiter
Set the limit with thefps
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.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,
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:
- Clone this repository.
git clone https://github.com/tobii-dev/blur-d3d9-hooks
- Configure CMake.
cmake -S . -B build -A win32
- Build with CMake
cmake --build build --config Release
- Move the d3d9.dll from the build/ directory to the Blur.exe directory.
- 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.
- 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.