Skip to content

Abishai2007/actools

 
 

Repository files navigation

AcTools (and Content Manager)

Set of utils and apps designed for Assetto Corsa. Some obsolete projects are moved here.

Common libraries

  • Main library, used by any other project (including Cars Manager and even modded KsEditor). Contains methods to work with common AC files, launches game and stuff.

  • Small library for managing JSGME mods, fully compatible, but with optional hard links support.

  • Thing for reading best lap times from different sources. Uses LevelDb for reading from the original launcher (which saves times using Chromium’s IndexedDB).

  • Small “spin-off” which loads times from old AC database. It was made using IndexedDB in Chromium, which uses LevelDB underneath. Quite a mess if you want to read it.

  • A replacement for AcTools.Kn5Render. Has a much more thoughtful architecture and thereby contains two different renderers: Lite (very simple skins-editing DX10-compatible version) and Dark (extended variation of Lite, with lighting, skinning and a lot of effects such as SSLR, SSAO, PCSS). Both use forward rendering. There was also deferred renderer, but it was quite poor and got moved away.

    Apart from simple rendering, has a bunch of special modes, allowing to update ambient shadows, AO maps, recalculate tracks’ maps and outlines.

    Dark Showroom

    Dark Showroom

    Lite Showroom

  • Deferred rendering with dynamic lighting, dynamic shadows, HDR, tricky SSLR… Sadly, I couldn’t find a way to move all materials here correctly, so I decided to switch to forward rendering instead. Also, with forward, I can vary options on-fly, getting either very high-performance simple renderer (≈900 FPS) or pretty good looking one (≈60 FPS, without MSAA or higher pixel density).

    Custom Showroom

  • Fully independent from AcTools.* library which generates number plates using Lua to interpret style files and Magick.NET to create and save textures. In action.

  • Small library for filtering objects by queries like *ca & !(country:c* | year<1990).

Content Manager

Other apps

Build notes

  • Some of references were added directly as DLL-files. I didn’t use Nuget for all of references because eigher I needed specific libraries locations (this way, I’m able to use 32-bit libraries for 32-bit build and otherwise using simplest .csproj “trick”) or I slightly modified some of them (for example, now JSON-parser works reads numbers starting with “0” according to JSON specifications). All these references are located in Library directory, you can get them here. Or just collect them from scratch, those changes aren’t be very important.

  • I recommend to switch to x86 (or, if you need, x64) platform. As far as I can see, most libraries (such as SlimDX, Magick.NET or Awesomium) won’t work with AnyCPU.

  • Take AcTools.Internal from the unpacked version (or make your own compatible version, it mostly contains different API codes, addresses and salts for testing checksums).

  • You might need to install DirectX SDK to rebuild AcTools.Render/Shaders/Shaders.tt. But, just in case, built Shaders.cs and Shaders.resources are already included.

  • Please, feel free to contact me anytime. I don’t have any experience it open-source, there might be some things I forgot to mention.

About

Set of utils and apps created for Assetto Corsa.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 93.2%
  • HLSL 5.2%
  • Smalltalk 1.5%
  • Other 0.1%