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 thesim_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!
Hi,
a new version is here which improves performance.
General:
UI:
Data:
- -
Apps:
- Fix timer bug
- Add tyre temperature change event
- Add tyre wear change event
- 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:
Data:
- Add DOUBLE_CLICK event (double click timeout is configurable)
- Add highlight for ACLIBListBox widget
- Add ACVLabel (allows vertical alignment)
Apps:
- Fix some wrong properties
- Car Properties (NEW):
- Provides values of some car properties
Further notes:
- Fix smaller issues
- Rename apps (removed underscore)
- Next release will take a bit longer.
Cheers!
Hi,
a new version is here which brings better customization and performance.
General:
UI:
Data:
- Add timers to ACWidget
- Add no_update/no_render options
Apps:
- 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.
- 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:
Data:
- Fix smaller issues
- Add ListBox widget
- 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
- 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
- Debug: (new)
- First step to help debugging UI elements developed with ACLIB
- Shows properties of widgets when clicked on them
- 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
- 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
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
Fuel app:
- shows absolute and relative fuel
- shows (average) fuel consumption per lap and km
- shows possible distance with remaining fuel
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!