Racing League Tools

Racing League Tools 0.9.5

Stable Released
Download the latest version
0.9.5
  • Global redesign of themes support and renderer (themes for version 0.9.4 and earlier will not work without adaptation for 0.9.5)
  • F1 24 game UDP telemetry support.
  • Added F1 2024 championship.
  • Added F2 2024 championship.
  • Added public server repository for custom themes.
  • Support for the old renderer has been discontinued.
  • The name "mod/s" has been changed to "theme/themes" in all places.
  • Themes management window and theme properties window has been seriously redesigned and improved.
  • Added "Theme setups" window, which allows to use several different themes at the same time and manage them flexibly.
  • Added initial support for the global theme repository, allowing themes to be automatically downloaded and updated.
  • Added "Download theme" option using direct URL to theme zip archive.
  • Added the feature to save theme/theme setups locally or directly in the database, and also manage it.
  • Added the feature to automatically download and install the theme/themes defined in the database for cloud storage users, and full synchronization of themes settings/theme setups between all cloud storage users.
  • Categories and presets have been added to the theme settings window.
  • Rendering menu items of race statistics have been moved to a separate menu.
  • Changed default path to rendered images target folder to %app_root%/user/render_images/.
  • Added team/car liveries support (see renderer manual for details).
  • Included default liveries for F1 2023, F1 2024, F2 2023, F2 2024 teams (by Cacciateste).
  • Changes in the search for logo files for database objects: the user can override the default logotypes (using "/user/images/logotypes" folder), the current theme can override logos (for app's UI too).
  • Logotypes: complex folder structure/hierarchy does not affect the search for logos, supports the use of different versions of the same logos.
  • Corrected US and Greek flags.
  • Low-level graphics libraries was updated up to date.
  • Added styles. See manual for details.
  • Component support was improved. See manual for details.
  • Public vars/properties have been completely redesigned, adding categories, presets, enum support.
  • Localization support has been improvied. See manual.
  • Added external triggers functionality (see manual).
  • Triggers: added ConditionValue, ConditionAndValue, ConditionOrValue properties to TriggerItem. Details in the renderer principles.
  • Triggers: Value of TriggerPropertyItem can be (*Options) object, such as TextOptions, ImageOptions, etc, including ColorizeOptions. It overrides existing (*Options) object property by property.
  • Triggers: added Var and ComponentVar properties for TriggerPropertyItem, that allow to override block variables or component variables using triggers.
  • Added PointsValue structure. It replaced 'Points' string properties, 'PointsRaw' float properties, etc (see breaking changes). PointValue contains several properties, including string value that returns a fractional number format depending on the user's locale (see renderer data API).
  • Added StandingsSessionRenderData (see renderer data API).
  • ColorizeOptions: added 'AlphaCompositionMode' and 'ColorBlendingMode' enumeration properties.
  • All renderer data API classes was renamed to *RenderData instead *RenderObject.
  • Improved structure of renderer data API classes.
  • Expressions, substitutions of localization strings and component variables can now be used in different combinations, within each other. For example, it possible use one expression into another, an expression as converter parameter without nesting degree restrictions.
  • Added "Vars" property ("string" : "object" key-value pairs) as block's common property. It defines local block variables. Hierarchically inherited by all underlying blocks. Override all higher-level variables (global and local parent block variables by hierarchy).
  • Renderer API: added LiveryPath string property to DriverSessionRenderData, DriverSeasonRenderData.
  • Renderer API: added LiveryPath, LiveryVariants properties to TeamRenderData, CarRenderData.
  • Added MinWidth and MinHeight int properties as common properties of a block.
  • Added ability to use ConditionAnd and ConditionOr in triggers at the same time.
  • Added "WidthPercent" and "HeightPercent" int (0-100) properties as block's common properties. Determines the percentage of the size of the parent block's available space. A value of 100 is equivalent to setting IsStretchWidth/IsStretchHeight to true.
  • Improved escaping special characters support. Use "//{", "//}", "//[", etc, to escape in the text.
  • Changes structure of localization json file: added "Strings" dictionary ("string" : "string") and "Vars" dictionary ("string" : object). The detailed mechanism for overriding global and local variables will be described in future release notes.
  • Introduced new data converter type with named multiple parameters. First of them: DateCustomFormat ("format" and "locale" parameters).
  • Data converters (DateToDayOfMonth, DateToMonth, DateToMonthInWords, DateToYear, DateToTime) got an optional parameter "locale" (string) or "culture info". Details into "Renderer principles".
  • Increased number of possible versions of layouts with the same RenderType. See manual.
  • Added possibility to have multiple versions of the base layout for SessionStatistics/SeasonStatistics.
  • Added possibility to create a separate layout for a specific SessionStatistics/SeasonStatistics.
  • Enum properties ('HorizontalAlignment', 'FontStyle', etc) now also support expressions and localization substitutions.
  • Added numeric RGB/ARGB color format (for example, "255,255,255").
  • The rendering error information now contains more data.
  • Variables in ComponentOptions used in the component to substitute the left part of the expression can be declared with or without curly braces.
  • Added a flexible mechanism for displaying URLs in the theme description (Theme Managment window), including link to support the theme author.
  • Added support for custom layout icons in app's UI.
  • RenderTestViewer: numerous improvements, including UI.
  • Improved docs.
  • Removed old renderer (0.1.0 - 0.6.x). Support for all themes based on the old renderer has been ended.
  • Renderer json files: extra comma at the end of a list of JSON values in an object or array now is allowed.
  • "ModDescription.json" was renamed to "ThemeDescription.json".
  • "user/mods" folder was renamed to "user/themes".
  • "global" folder was renamed to "globals".
  • Layout description ("layout_description.json"): "Index" integer property was replaced by "RenderVersion" integer property. It starts at "1" (not "0"). Parameter optional, default value is "1".
  • Layout description ("layout_description.json"): "LayoutName" is an optional parameter now.
  • "ComponentName" property of a block to refer to the component was renamed to "Component".
  • "ComponentName" property of ComponentOptions no longer supported - use "Component" property of a block instead.
  • Image block: "Path" (as well as block property "Source") requires specifying a folder hierarchy relative to the theme's "images" folder. For example, if previously the file "arrow_up.png" was located in the folder "images/arrows/arrow_up.png" and could be referenced by simply specifying the file name ("Path" : "arrow_up.png"), now it is necessary to specify a relative path: "Path" : "arrows/arrow_up.png".
  • Removed support external "*Options" json files (TextOptions, ImageOptions, etc). Use styles instead.
  • General: property 'Points' (in all data classes where it exists) now returns PointsValue structure. If 'Points' previously returned string, now, by default, a direct reference to 'Points' property will return Points.StringValue. That is, there are NO breaking changes.
  • "Ignore the worst events" option has been completely redesigned. It is now called "Discard the worst events", can be applied to both drivers and/or teams, and has additional options that allow more flexible configuration of processor standings behavior.
  • "Ignore the worst events" option was removed from the championship property set. This option is now only related to a specific season.
  • Added "Discard" column on driver/team standings showing detailed information about discarded event/races in case the corresponding option is activated.
  • Added new point system options: "Enable completed laps % (from the leader) to be classified (race)", "Enable number of completed laps to be classified (race)", "Enable minimum distance % (from the leader) to be classified (race)", "Enable minimum distance (meters) to be classified (race)", "Enable minimum total time % (from the leader) to be classified (race), "Enable minimum total time (minutes) to be classified (race), "Enable fastest time % (from the leader) to be classified (qualification)". These race options also affect the possibility of DNF drivers to be classified. For example, if option "Enable completed laps % to be classified" is active, the DNF driver will be classified if this condition is met.
  • Added second penalty action for penalty offense object.
  • On "Penalties summary" page "PPA" and "WA" columns with "Show only current season's summary" now shows actual active PP/W number, even if they was imported from other seasons.
  • Added "Fill teams/cars from lineups" option for results imported from files.
  • Returned back time/gap calculation based on lap data for imported json file results (AC, ACC).
  • Added UDP packet forwarding feature.
  • Added json live status via HTTP.
  • Fixed a bug that incorrectly handled drop policy penalty points in some cases.
  • Fixed an issue where future penalty actions were not applied when selecting a driver in the session results page.
  • Fixed an issue that in rare cases prevented drivers from being removed from the database.
  • Fixed processing of pure race pace statistics in cases of incorrect sector times.
  • "/user/mods" folder war renamed to "/user/themes".
  • "/user/udp_dump" folder was renamed to "/user/udp_dumps".
  • "/images/logos" folder was renamed to "/images/logotypes".
  • "/images/driver_badges" folder was renamed to "/images/badges". This also applies to the user folder.
  • Some startup data fixes and additions (thanks for Cacciateste).