Downloads for TrackMania Turbo

Openplanet 1.20.0

October 4 2021

Download 1.20.0
Downloads 186
  • Added new Audio API
  • Added Arial fallback font if present on the system
  • Added a bunch of new UI functions:
    • UI::TextWrappedWindow
    • UI::GetContentRegionAvail
    • UI::GetContentRegionMax
    • UI::GetWindowContentRegionMin
    • UI::GetWindowContentRegionMax
    • UI::GetWindowContentRegionWidth
    • UI::CalcWordWrapPosition
    • UI::PushItemWidth
    • UI::PopItemWidth
    • UI::AlignTextToFramePadding
    • UI::GetTextLineHeight
    • UI::GetTextLineHeightWithSpacing
    • UI::GetFrameHeight
    • UI::GetFrameHeightWithSpacing
    • UI::IsItemClicked
    • UI::IsWindowFocused
    • UI::OpenPopup
    • UI::CloseCurrentPopup
    • UI::BeginPopup
    • UI::BeginFormattingGroup
    • UI::EndFormattingGroup
    • UI::EnableOverlayInput - Allows enabling UI input even when the overlay is disabled.
    • UI::DisableOverlayInput
    • UI::IsOverlayInputEnabled
    • UI::IsOverlayInputEnabledExternally
  • Added text input callbacks to the UI API
  • Added UI::DrawList::AddImage overload with UV coordinates
  • Added alternative variation of UI::Dummy with baseline Y offset
  • Added simpler variations for nvg::TextBounds and nvg::TextBoxBounds
  • Added support for text shadows with \$s
  • Added Regex::Contains
  • Added string::IndexOfI
  • Keyboard and mouse inputs are now blocked separately
  • UI inputs are now never blocked, meaning that UI in Render() can be interacted with even when the overlay is turned off
  • The built-in dictionary class is now much faster
  • Fixed key release events not being propogated to UI properly on overlay toggling
  • Fixed FileSource not properly being in IO namespace
  • Fixed constness of Json::Value::GetType
  • Fixed game inputs sometimes blocking after Alt+Tabbing
  • Fixed ImGui not supporting the full 32 bit UTF-8 character space
  • Fixed missing default font for NanoVG
  • Fixed Maniaplanet formatting not working with scopes ($< and $>)
  • Fixed Maniaplanet formatting not working with unfinished color codes
  • Fixed Maniaplanet formatting not working with some uppercase formatting codes
  • Fixed crash when trying to push a font that was not (properly) loaded
  • Fixed crash when using invalid time formatting

Openplanet 1.19.0

August 1 2021

Download 1.19.0
Downloads 236
  • Added the Plugin Manager, which makes auto-updating & installing plugins very simple!
  • Added and updated a bunch of UI icons
  • Added IO::FileSource which is the same as IO::File except it can load files from plugin root (including .op)
  • Added UI::Markdown for a simple markdown display
  • Added UI::PlotHistogram
  • Added background color parameter to UI::ShowNotification
  • Added tostring() function to convert several different types to string representations
  • Added string representation through tostring() to arbitrary classes via string ToString() methods
  • Added the ability to pass several arbitrary types to print() (this works through the tostring() method)
  • Added Meta::GetPluginFromID and Meta::GetPluginFromSiteID
  • Added UI::DrawList which can be used to draw stuff as part of the UI
  • Added UI::Dummy and UI::InvisibleButton
  • Added ResponseCode, ResponseHeader, and ResponseHeaders to Net::HttpRequest
  • Removed deprecated Draw::* API's, please use Nvg::* instead (or, for UI-layer drawing, use UI::DrawList)
  • Plugins now always load regardless of compilation failures - this makes it easier to work with them programatically
  • Plugin callback RenderMenuMain is now called before the Help menu
  • Updated Angelscript
  • Fixed game not always shutting down properly when an update is started
  • Fixed some broken static initializer support
  • Fixed Text::ParseDouble returning a float

Openplanet 1.18.8

July 6 2021

Download 1.18.8
Downloads 161

Lots of changes, too many to list! Most notably, this adds support for the new plugin system.

For full changelogs, see the Trackmania changelogs here:

Openplanet 1.17.1

March 18 2021

Download 1.17.1
Downloads 326

Openplanet 1.14.0

February 6 2020

Download 1.14.0
Downloads 664


  • Added "Unload scripts" option to the menu, if it's enabled in the settings.
  • Added a new method of Maniaplanet code hooking. This will eventually allow for script-level hooks as well.
  • Added the ability to set the script timeout to 0 in order to disable the timeout for performance improvements.
  • Added update branch option to the settings. (All branches are the same right now, but this might be used in the future.)
  • Fixed powersaving option not saving.
  • Changed assertions to be less obnoxious and more helpful. They'll also show in the log now.
  • Internal change of handling vectors, matrices, and quaternions.


  • Redesigned the main interface a bit.
  • Redesigned Nod Explorer.
  • Redesigned the log window.
  • Added a notification system, which is used for events inside of Openplanet and can also be created by scripts.
  • Added the ability to call procs directly from Nod Explorer.
  • Added the Nod's IdName (if it is set) in Nod Explorer.
  • Added traits to Nod Explorer. This is currently unfinished.
  • Fixed a lot of Nod Explorer visual things and shortcomings.
  • Window backgrounds are now less transparent to make text on them easier to read.
  • Added the ability for UI elements to have colors in texts, by using a Maniaplanet-like format: \$f00Red\$z
  • Fixed crash when clicking Explore Pack inside of Pack Explorer.
  • Updated ImGui.


  • Added a couple more titlepacks to Discord Rich Presence.
  • Replaced Discord rich presence notifications with native Openplanet notifications via its new API.
  • Added which plugins can include to get access to the set of FontAwesome icons that are available in both Openplanet and ManiaPlanet itself.


  • Added Import::GetLibrary (and Import::Library), which replaces Import::GetFunction entirely. This new approach allows dll's to be unloaded and replaced at runtime when plugins are unloaded.
  • Added support for string return values (in C: const char*) in the Import API.
  • Added support for wstring return values (in C: const wchar_t*) in the Import API.
  • Added support for wstring function arguments in the Import API.
  • Added Import::Ref, which can be used as a function parameter for output parameters.
  • Added the ability to load setting structures from settings.
  • Added Settings API and the corresponding OnSettingsSave and OnSettingsLoad plugin callbacks.
  • Added the hidden keyword to plugin settings to make them not show up in the settings dialog.
  • Added RenderMenuMain plugin callback, so that plugins can place stuff in Openplanet's main menu.
  • Added VirtualKey enum which is now also accepted in a plugin's OnKeyPress callback.
  • Added the ability to load setting structures from settings.
  • Changed the plugin function Update(int dt) to take a float instead. The old callback will throw a deprecation warning.
  • Added the ability to load and render textures via Resources::GetTexture, UI::Image, and Draw::DrawTexture.
  • Added UI::SliderInt, UI::SliderFloat, UI::VSliderInt, and UI::VSliderFloat.
  • Added power parameter to UI::VSliderFloat.
  • Added UI::InputText.
  • Added UI::PushFont and UI::PopFont.
  • Added NanoVG API. See the nvg namespace documentation. Ultimately this is supposed to somewhat replace the Draw API.
  • Added warn() and error() functions to scripts.
  • Added XML::Node::Content.
  • Added string::opIndex.
  • Added documentation for string::Join.
  • Fixed broken proc calls due to a Maniaplanet change.
  • Added mat3 type to perform 2D transformations.
  • Added Length, LengthSquared, and Normalized functions to vectors in scripting API.
  • Fixed potential crashes when using iso3 and iso4 types in scripts.
  • Added a Resources::Sound type which holds a wave file and can be played.
  • Added IO::IndexFolder function, which can be used to list files and folders.
  • Added listening API to Net::Socket.
  • Added support for writing #region and #endregion. (The compiler just ignores them)
  • Added init param to MemoryBuffer constructor.
  • Fixed OnSetCurChallenge callback causing a crash.
  • Fixed font size change not working in font loading.
  • Fixed crash when reloading font at runtime.
  • Throw exception when trying to load a font while font atlas is locked.
  • Fixed crash when getting class members with reflection API.
  • Fixed crash when getting script properties that have a defined range.
  • Fixed crash that could occur when instantiating wide strings.
  • Fixed failed assertion when passing enum values in some cases.
  • Fixed not being able to concatenate wstring and string objects.
  • Fixed memory leak for certain strings in scripts.
  • Added Angelscript's ref type, which can contain any type of handle.
  • Added a startnew() variation that also accepts a userdata parameter.
  • Added some more Dev API functions, as well as removing some limitations.
  • Updated Angelscript.