Build 2021.1

Posted on March 23, 2021

A new Murl Engine Build 2021.1 is available for download.

Update 2021-03-23: Fixes in Version 2021.1.8437

  • (#398) font_converter, image_converter, scene_converter: Importing images not working
  • (#397) Android: Amazon IAB fails to compile
  • (#396) Engine hangs in endless loop when exit application

Build Environment

  • (#392) Update Windows Build Environment to Visual Studio 2017 v15.9.34
  • (#393) Update Android Build Environment to Android Studio 4.1.2
  • (#394) Update emscripten Build Environment to 2.0.15
  • (#360) Update macOS/iOS/tvOS Build Environment to Xcode 12.4

API Changes

  • (#329) Improve Unicode file name handling in System::File

Improvements

  • (#387) atlas_generator: improve control over generated images
  • (#225) It will be nice to have some kind of events during animations.
  • (#376) Windows AppWillTerminate() missing
  • (#380) IEngineConfiguration: Add a configuration item to enable GPU buffer safety copies
  • (#374) Provide scripts to build command line tools on Linux
  • (#361) atlas_generator: allow to choose output image format and other image related parameters
  • (#362) atlas_generator: allow to configure swapping parameters
  • (#326) [Spine] Import Spine projects with multiple atlases
  • (#366) Enable ETC2 textures format support
  • (#367) atlas_generator: allow multiple configuration conditions for generated images
  • (#364) atlas_generator: allow to export original & cropped rectangle offsets when generating plane / plane sequence graphs
  • (#327) Need libs of murl engine for arm64
  • (#355) Add enumerations for new Apple devices
  • (#331) Ensure SetAsyncLoadingEnabled working on Android platform
  • (#330) Make SetSyncLoadingTimeout method available at any time
  • (#384) resource_converter: optionally add resource tags to output image
  • (#390) Add "emergency" swapping trigger
  • (#345) Timelines time marks
  • (#231) Add support for Google Play Billing library (AIDL is marked as deprecated)
  • (#389) Improve control over setting thread affinity mask for renderer/logic/loader thread
  • (#375) Create resource_converter command line tool
  • (#388) Add optional Floyd-Steinberg dithering for resource images and video surfaces
  • (#383) atlas_generator: optionally add resource tags to output image
  • (#385) Add zipped stream format for Resource::Image
  • (#381) Override resource parameters in resource packer

Bug Fixes

  • (#391) Android: Null pointer exception in IabHelper.consume()
  • (#379) GLES2.0 renderer may add incorrect index to batched index buffer
  • (#378) Random crashes in connection with Video::IIndexBuffer and Video::IVertexBuffer setters
  • (#377) Memory leak in Resource::NativeMesh
  • (#372) Possible dead lock in Graph::IRoot for methods InitGraph(), DeInitGraph(), InitNode() and DeInitNode()
  • (#371) Graph::IRoot::DeInitGraph() takes a long time to finish when called from logic OnDeInit()
  • (#183) Large amount of crashes in Murl::Core::GraphRoot::FinishGraphOutput in out client across all version.
  • (#239) Client crashes during app shutdown
  • (#368) Toolkit: Spine importer does not respect Stretch attribute in IK constraint
  • (#281) Crash at PrepareDecodingPngImage
  • (#363) Sometimes Timeline::HasPassedTime() doesn't works
  • (#359) Android: OpenAL device should be retained across StartEngine()/StopEngine()
  • (#349) Crash: Murl::Input::TouchableHandler::ReportBegin()
  • (#336) Crash: Murl::Video::GlEs20::Indices::Create(Murl::Video::IRenderer*)
  • (#334) Crash: Murl::Video::GlEs20::IndexBuffer::Draw()
  • (#335) Crash: Murl::Video::Renderer::SetupView()
  • (#333) Crash: Murl::Video::Renderer::ProcessFrameBuffer()
  • (#332) Crash: Murl::Platform::Android::VideoInterface::ActivateBackBuffer()
  • (#353) Crash: Murl::Video::GlEs20::Renderer::ApplyTextures
  • (#354) Crash: Murl::IndexBase<...>::Find(Murl::Audio::IPlayable* const&, unsigned int) const
  • (#358) Engine prematurely deinitializes objects upon Suspend()
  • (#357) Core::Loader processes packages in wrong order when loading/unloading is cancelled
  • (#340) ANR: Broadcast of Intent { act=android.intent.action.SCREEN_OFF flg=0x50200010 }
  • (#303) Android application freezes on collapsing/expanding application during package loading/unloading operations.
  • (#352) ANR: MurlGLThread.RequestExitAndWait
  • (#342) ANR: Input dispatching timed out
  • (#341) ANR: Input dispatching timed out
  • (#343) ANR: MurlGLThread.surfaceCreated
  • (#350) ANR: MurlGLThread.WaitForSurfaceDestroyed
  • (#347) Crash: at.spraylight.murl.MurlGLThread.CreateEglMainWindowSurface
  • (#348) Crash: at.spraylight.murl.MurlGLView.SetFocus
  • (#328) Util::GetRelativePath() does not correctly return given absolute path when base path is empty
  • (#323) Toolkit: Spine skin attachments falsely visible if scene does not have a default skin
  • (#322) Toolkit: Crash when importing a Spine scene containing linked meshes
  • (#321) Toolkit: Scene converter produces illegal XML output for Spine meshes
  • (#317) Graph::ComplexTransform: Misspelled attribute inheritReflectiom (should be inheritReflection)
  • (#3) Loader vergisst Pakete zu laden

All changes can also be found in the change log.

As always, if you encounter difficulties, find a bug or want to discuss development issues, head over to the Forum.


Don't miss out on any update,
subscribe to our newsletter.


Copyright © 2011-2021 Spraylight GmbH.