Downloads for ManiaPlanet 4
Added UI scale option to settings (requires a game restart, and may still have issues in certain plugins)
Added UI::GetScale
Added the ability to Shift+Click on menu items to not close the menu
Added support for MwStridedArray
Added support for castor callbacks, this allows casting structures such as CGameDirectLinkScript
Added UI::SetMouseCursor
Added UI::ButtonColored
Added UI::Indent
and UI::Unindent
Added Json::Value
factory functions for all types, and any class that implements Json::Value@ ToJson() const
Added Text::FormatOpenplanetColor
and Text::FormatGameColor
Added int2
, int3
, nat2
, nat3
to Dev API's
Added "Explore nod" menu item in Fid Explorer
Added logs when disabling & enabling plugins and loading disabled plugins
Added logs for more uninitialization routines
Added option to the log window to disable automatic scrolling
Added more detailed view of nod pools in Nod Explorer
Improved performance of Openplanet hashtables
Improved performance of class and member lookups
Improved error reporting for plugins without (valid) signatures
Fixed assertion when empty window title is provided to UI::Begin
(it will now throw a script exception instead)
Fixed assertion when passing invalid float value to aspect in Mat4::Perspective
Fixed showing overlay toggle keys in the settings that don't generally work on a keyboard
Fixed conflicting module names for plugins (they now correctly throw errors)
Fixed broken UI in Nod Explorer's proc call when vec2 and vec3 parameters are present
Fixed ambiguous IDs with arrays in Nod Explorer
Fixed crash when clicking on string parameters in Nod Explorer's proc call window
Fixed "Update Tree" menu item in Fid Explorer causing a crash
Added support for int64 and uint64 settings
Added updated plugin signature format
Added more informative in-game Openplanet update notification
Added missing math vector functions
Added profiler timing for ProcIntercept
Added Meta::UnloadedPlugins
Fixed plugins getting re-enabled after plugin compilation failure
Fixed Time::ParseFromRelativeTime
not including milliseconds
Fixed version check for compatibility-disabled plugins not disabling older plugin versions
Fixed crash that could happen when using certain API's in an intercepted proc
Updated Angelscript
Cleaned up some logging
Fixed crash when displaying a nod of a class that has IdName
redefined as a different type (for example, CPlugGameSkinAndFolder
)
Fixed clearing json value when assigning itself to itself
Fixed game throwing a Maniascript error when intercepted procs were being blocked (this was a problem with Ghost Scrubber , for example)
Fixed multiline strings not (de)serializing correctly
Fixed Plugin Manager not being able to update plugins when they were disabled through app config
Added signature modes: you can now load the game with only a specific set of plugins; all signed and unsigned plugins, all signed plugins, all TMGL-approved plugins, and all official plugins. (Previously TMGL-approved plugins were available as a separate Openplanet build, but is now released publicly!)
Added "enable window docking with shift" option to new "overlay" settings menu
Added ability to create custom overlay styles
Added experimental JIT compiler to speed up script execution with about 30% (must be enabled in the settings)
Added slight script execution performance improvements
Added a full Openplanet profiler to the debugger menu that can profile all plugins as well as Openplanet itself
Added option to warn on hung plugin frames (recommended to enable when developing plugins)
Performance should be a bit better overall
Fixed sometimes not being able to close nod explorer tabs
Updated Angelscript and Curl
For developers:
Added SQLite API
Added ability to show custom icons on scripted settings tabs
Added more support for Markdown in UI::Markdown
Added UI::IsDockingEnabled
Added UI::BeginListBox
and UI::EndListBox
Added UI::SliderDouble
Added IO::FileModifiedTime
Added format parameters to UI slider functions
Added Math::IsNaN
, Math::IsInf
, Math::SwapBytes
, Math::Slerp
Added more functions to the quat
class to make it much more useful
Added Net::HttpRequest::Error
Added Net::SecureSocket::Write
with MemoryBuffer
Added MemoryBuffer::WriteFromBuffer
and MemoryBuffer::ReadBuffer
Added CMwStack::CurrentBufferX
functions
Added Meta
API to get required and optional plugin dependencies
Added common vector swizzles: vec3::xy
, vec4::xyz
, int3::xy
, nat3::xy
Added support for double
setting types
Added experimental CGameNetwork::GetManialinkPages
Added more profiling options to the debugger menu
Json::Value is now a reference type instead of a value type, allowing more efficiently passing around objects
Added void RenderEarly()
callback to handle early rendering. This is useful for dependency plugins such as Camera
that need to execute some logic during rendering, but don't necessarily have to render something.
Added sanity check warnings for get_Property()
method calls instead of .Property
Added sanity check warnings for class methods that are missing override
keywords
Added sanity check warnings for string parameters in functions that are unnecessarily copied
Fixed multi threaded plugin execution to be a little bit safer (but not completely safe)
Fixed crash when calling Discord::GetUser
before Discord is actually ready
The Compatibility.as
script is now only added to packaged .op
plugins (to make sure developers don't use deprecated functionality during development)
Upgraded some script imports to built-in API's: Permissions
, Time
, Formatting
(importing them manually is now deprecated)
Deprecated script imports are now skipped and throw warnings instead of importing an empty script
Deprecated void RenderSettings()
without [SettingsTab]
Added "Developer Mode" - without this mode enabled, only signed plugins can be used
Added await
functions
Added Meta::PluginIndex
Added UI::HoveredFlags
to IsItemHovered
Added UI::CalcItemSize
Added IO::FromStorageFolder
Added the ability to pass around MemoryBuffer
handles
Updated Angelscript
Fixed missing constness on a couple of class methods
Fixed issues when reloading plugins with dependents from plugin manager
Fixed some game binding problems
Fixed wrong parameters on some IO::File::Write
methods
Fixed crash when passing null to UI::Image
or AddImage
Added "Developer Mode" - without this mode enabled, only signed plugins can be used
Added await
functions
Added Meta::PluginIndex
Added UI::HoveredFlags
to IsItemHovered
Added UI::CalcItemSize
Added IO::FromStorageFolder
Added the ability to pass around MemoryBuffer
handles
Updated Angelscript
Fixed missing constness on a couple of class methods
Fixed issues when reloading plugins with dependents from plugin manager
Fixed some game binding problems
Fixed wrong parameters on some IO::File::Write
methods
Fixed crash when passing null to UI::Image
or AddImage