Update 1.14.0

Openplanet is an alternative scripting platform for the ManiaPlanet creative community.

Moderators: Miss, NADEO

Post Reply
User avatar
Miss
Posts: 2155
Joined: 05 Jan 2016, 11:34
Location: The Netherlands
Contact:

Update 1.14.0

Post by Miss »

This is quite a huge update! Download it automatically through the Openplanet updater or download it yourself here: http://openplanet.nl/download

Core
  • Added support for 2019-11-19 (should speed up startup a bit).
  • 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.
  • Started working on basic support for Linux dedicated server builds.
  • Internal change of handling vectors, matrices, and quaternions.
  • *Research.*
Interface
  • 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.
Plugins
  • Added a couple more titlepacks to Discord Rich Presence.
  • Replaced Discord rich presence notifications with native Openplanet notifications via its new API.
  • Added `Icons.as` which plugins can include to get access to the set of FontAwesome icons that are available in both Openplanet and ManiaPlanet itself.
Scripting
  • 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.
3080 RTX, Ryzen 3700X, 32GB RAM, Windows 11
Forum moderator, opinions are my own. :thx:
Check out Image openplanet, the alternative ManiaPlanet & Turbo scripting platform! (Openplanet subforum)
I also stream and tweet.
User avatar
Alinoa
Posts: 4721
Joined: 14 Jun 2010, 11:55
Location: France, Paris
Contact:

Re: Update 1.14.0

Post by Alinoa »

Really impressive, GG Miss :thumbsup:
Ubisoft Support
Your Player Page

More information about maniaplanet, support, contents, community activities: useful links

ManiaPlanet technical documentation portal (Dedicated server, Mediatracker, ManiaLink, ManiaScript, Titles...)
Post Reply

Return to “Openplanet”

Who is online

Users browsing this forum: No registered users and 1 guest