Resource icon

ACLIB 0.5.2

Login or Register an account to download this content
Hi all,

I have been busy for the last few months and could not find time to continue working on this mod. Sorry for that! I am still motivated to work on this library and extend it.

In the last week(s) I found some time and tried out different stuff.

First, I implemented a Python module with the C-Python API for the shared memory. It provides the same functionality as the sim_info module, but with less management overhead. I did not execute any benchmarks, but the execution in C brings a performance boost of roughly 3x.

The next thing I experimented with, is ImGui, which is already used by the Custom Shaders Patch.
It is possible to render ImGui widgets on top of the AC window. Why would you do this? Customization, and performance. The default AC widgets are quite limited and not that beautiful to look at, which was the reason why I started this library. ImGui is used in quite a lot of other projects and has inspired extensions like ImPlot which offers plotting functions that might be interesting for showing telemetry.

Code for the C-Python modules can be found here.

A quick showcase of the ImGui widgets can be found here.
The displayed data in the video is generated randomly and rendered in a demo window. It is possible to render this window in AC.

Any feedback is appreciated.
Let me know if you have some ideas how we could utilize ImGui differently.

See ya!
  • Like
Reactions: cerebralvortex
Hi,

a new version is here which improves performance.

General:

UI:

  • -
Data:
  • Fix timer bug
  • Add tyre temperature change event
  • Add tyre wear change event
Apps:
  • Tyres:
    • Uses events instead of update function
  • Car Properties:
    • Add priority timers
    • Add modifer functions

Further notes:
  • -

Cheers!
Hi,

a new version is here which brings a new app, a new widget, and new events.

General:

UI:

  • Add DOUBLE_CLICK event (double click timeout is configurable)
  • Add highlight for ACLIBListBox widget
  • Add ACVLabel (allows vertical alignment)
  • vertical.png
Data:
  • Fix some wrong properties
Apps:

  • Car Properties (NEW):
    • Provides values of some car properties
    • properties.png

Further notes:
  • Fix smaller issues
  • Rename apps (removed underscore)
  • Next release will take a bit longer.

Cheers!
  • Like
Reactions: Jose Ferreira
Hi,

a new version is here which brings better customization and performance.

General:

UI:

  • Add timers to ACWidget
  • Add no_update/no_render options
Data:
  • Data is collected less frequently to safe some computing power (has no impact on accuracy)
  • New Observable (RangeObservable) that only fires events when a value changes significantly.
Apps:

  • Comparator:
    • This app requires a stylesheet in order to look like before!
    • A HOWTO can be found here.

Further notes:
  • Fix smaller issues
  • Added icons for apps
  • Added Credits and License

Cheers!
Hi,

I was unaware that the lap time calculation from the python API does not work in multiplayer.
The lap times are now estimated from ACLIB.
The accuracy depends on the FPS of the player since the lap time it is updated on every update cycle.
However, the comparator app should work now.

Let me know if you find other issues.

Cheers!
Hi,

a new version is here which brings a new app, new widget, and options for customization.

General:

UI:
  • Fix smaller issues
  • Add ListBox widget
  • listbox.gif
  • Events that were ignored before now work for layouts as well (on_size_changed, on_position_changed, ...)
  • Stylesheets can now be applied to apps and/or widgets
Data:
  • Add server and multiplayer category
  • Add more events
  • Add lap and sector times

Apps:

  • Comparator: (new)
    • Shows lap and sector times for two different players (indicates global best, personal best, or worse than personal best)
    • Click on name focuses the camera on this player
    • comparator_2.png
      comparator_3.png
  • Debug: (new)
    • First step to help debugging UI elements developed with ACLIB
    • Shows properties of widgets when clicked on them
    • debug.gif
  • Fuel:
    • Fix calculation for some values
    • Fix issue when starting from pits
    • Scaling buttons have different textures now
    • Scale is now stored in config file and will be remembered for next startup
    • fuel.png
  • Tyres:
    • Uses background colors instead of textures now

Further notes:
  • Sorry for bad image quality.
  • Comparator app shows correct sector numbers not as shown in images (images are outdated, sorry)
  • As always, leave feedback or suggestions. It will be greatly appreciated.
  • Next release will probably focus more on customization of widgets and apps.

Cheers!
Hi,

first of all I would like encourage the people that have downloaded the library and used it to notify me if any errors exist. In the last release (0.2) the textures for the fuel app were missing, which I only found by accident.

I try to keep a 1-2 weekly release schedule. If I know that at least some people are interested in using the library I can keep up my motivation ;).




General improvements and fixes:
  • Add much more documentation inside and outside the code.
  • Add automatic font resizing for ACTextWidget
  • Add automatic scaling for widgets and layouts
  • Add callback events:
    • possibility to add onclick listener for non-global functions (see here)
    • child widgets will scale when the parent widget is resized
  • Add top-level app to have a proper category in the right taskbar
  • Apps will memorize if they are enabled/disabled after shutdown


Improvements for Apps:

ACLIB_Camera:
- Another basic app that should explain how to use the library.

ACLIB_Tyres:
- Reduce pixel size between tire and wear indicator

ACLIB_Fuel:
- Scaling widget was added
- Fix layout issue from release 0.2
- Add missing textures
- Fix calculations when starting from pit

resize.gif


As always, I am happy for feedback of any kind. Also, feel free to tell if you have requests for apps or functionalities.
For the next release, I try to expand the ac_data module for multiplayer support and probably a tower app.

Cheers!
Hi,

Tyres app:
  • ranges for colors were adjusted
  • add indicators for tire wear
tyre_1.png


Fuel app:
  • shows absolute and relative fuel
  • shows (average) fuel consumption per lap and km
  • shows possible distance with remaining fuel
fuel_1.png


Bug fixes:
  • errors may not lead to crashes anymore
  • errors in a callback function of the EventListener do not block the app(s) anymore
  • many more

From the version number, you can tell that this library is still a WIP and there is a lot of work to do.
At the moment I focus on functionality rather than eye candy, but I hope that the apps are good enough to use.

If you have any suggestions for apps or the layout of existing ones feel free to post.

Cheers!
  • Like
Reactions: Neilski

Latest News

Online or Offline racing?

  • 100% online racing

    Votes: 76 7.1%
  • 75% online 25% offline

    Votes: 114 10.6%
  • 50% online 50% offline

    Votes: 157 14.6%
  • 25% online 75% offline

    Votes: 299 27.8%
  • 100% offline racing

    Votes: 425 39.5%
  • Something else, explain in comment

    Votes: 4 0.4%
Back
Top