Build 1.00.6143 Verfügbar!

Gepostet am 10. November 2015

Der neue Murl Engine Build 1.00.6143Beta steht zum Download bereit. Dieses Update bringt tvOS als neue Plattform sowie zahlreichen Verbesserungen und Fixes.

Die wichtigsten Neuerungen sind:

  • Apple tvOS als neue Plattform um Apple tv Apps zu erstellen.
  • Neues Cloud-Control für iOS/OSX/tvOS.
  • Erweiterte C++11 Unterstützung.
  • Einführung von physic islands um mehrere individuell steuerbare Physik-Simulator-Instanzen erstellen zu können.

New Platform Apple TV

  • Identify the platform at compile-time:
    defined(MURL_TARGET_OS_TVOS)
  • Identify the platform at run-time:
    platformConfig->IsTargetClassMatching(IEnums::TARGET_CLASS_CONSOLE)
    platformConfig->IsTargetDeviceMatching(IEnums::TARGET_DEVICE_APPLETV)
    platformConfig->IsOperatingSystemMatching(IEnums::OPERATING_SYSTEM_TVOS)
  • The tvOS platform supports:
    • IAudioInterface
      OpenAL
    • IVideoInterface
      OpenGLES 2
      Configureable display refresh frequency
      Configureable multisampling: None or 4x
    • IAppStoreControl
      App-Store InApp-Purchases
    • ICloudControl
      Key-Value Store access
      Read / write records in iCloud database
    • IFileInterface
      Read only access (restriced by AppleTV)
    • IGameCenterControl
      GameCenter Leaderboards & Achievments
    • IGameController -> Input::IGameControllerDevice
      Micro GamePad and MFI GamePad / Extended GamePad
    • IKeyboardControl
      Overlay screen keyboard with text field
    • ILocation -> Input::ILocationDevice
      Location service
    • IMediaControl
      Video playback for <VideoSource>
    • IMouse -> Input::IMouseDevice
      Absolute mouse movements and buttons from the Remote-Control
    • IRawMouse -> Input::IRawMouseDevice
      Relative mouse movements from the Remote-Control touch
    • IPreferencesControl
      Read / write application preferences
    • IRawButton -> Input::IRawButtonDevice
      Remote-Control buttons
    • ISystemDialogControl
      System alert dialog
    • ISystemFontControl
      System font access for <TextGeometry>
    • IWebControl
      IUrlRequest, no support for IEMail
    • IVirtualMouse
      Customize mouse movement and button mapping from the Remote-Control

New Features

  • IAppConfiguration
    SetDebugMouseEnabled()
    IsDebugMouseEnabled()
    HasDebugMouseEnabledChanged()
    SetDebugMouseScaleFactor()
    GetDebugMouseScaleFactor()
    HasDebugMouseScaleFactorChanged()
  • ICustomControlable
    AppOpenURL(String url, void* options)
  • IDeviceHandler
    AddCloudControl(ICloudControl* cloudControl)
    RemoveCloudControl(ICloudControl* cloudControl)
  • IEngineConfiguration
    SetVirtualMouseEnable()
    IsVirtualMouseEnabled()
    SetVirtualRawMouseEnable()
    IsVirtualRawMouseEnabled()
    SetCloudControlEnable()
    IsCloudControlEnabled()
  • IEnums::GameControllerControl
    GAME_CONTROLLER_CONTROL_ACCELERATION
    GAME_CONTROLLER_CONTROL_TOUCH_ORIENTATION
    GAME_CONTROLLER_CONTROL_TOUCH_ABS_REL
  • IEnums::Gpu
    GPU_POWERVR_GX
  • IEnums::OperatingSystem
    OPERATING_SYSTEM_OSX_10_11
    OPERATING_SYSTEM_IOS_9_0
    OPERATING_SYSTEM_WINDOWS_8_1
    OPERATING_SYSTEM_WINDOWS_10
    OPERATING_SYSTEM_WEB
    OPERATING_SYSTEM_WEB_LAST
    OPERATING_SYSTEM_TVOS
    OPERATING_SYSTEM_TVOS_9_0
    OPERATING_SYSTEM_TVOS_LAST
  • IEnums::TargetClass
    TARGET_CLASS_BROWSER
    TARGET_CLASS_BROWSER_GENERIC
    TARGET_CLASS_BROWSER_LAST
    TARGET_CLASS_CONSOLE
    TARGET_CLASS_CONSOLE_GENERIC
    TARGET_CLASS_CONSOLE_LAST
  • IEnums::TargetDevice
    TARGET_DEVICE_IPHONE_6S
    TARGET_DEVICE_IPHONE_6S_PLUS
    TARGET_DEVICE_IPAD_MINI_4
    TARGET_DEVICE_IPAD_PRO
    TARGET_DEVICE_IPOD_6G
    TARGET_DEVICE_APPLETV
    TARGET_DEVICE_APPLETV_4
    TARGET_DEVICE_APPLETV_LAST
  • IGameController
    SetConnected(Bool isConnected)
    PostGravityEvent(Float gravX, Float gravY, Float gravZ)
    PostAccelerationEvent(Float accelX, Float accelY, Float accelZ)
    TakeTouchOrientationEnabled(Bool& isEnabled)
    TakeTouchAbsoluteEnabled(Bool& isEnabled)
  • IKeyboardControl
    WasClosed()
    HasTextfield()
    SetTitle(const String& title)
    SetDescription(const String& description)
    SetText(const String& text)
    GetText()
  • IPreferencesControl
    GetValue(const String& key, String& value)
    GetData(const String& key, Data& value)
    SetData(const String& key, const Data& value)
    Remove(const String& key)
  • Added ICloudControl
    New interface
  • Added ICloudRecord
    New interface
  • Added IVirtualMouse
    New interface
  • Graph::IBody:
    Added ResolveCollisions() method
    Improved collision query methods
  • Graph::IFrameBuffer, Graph::FrameBuffer
    Added "sortOrder" attribute and related interface methods to explicitly specify a processing order between frame buffers
  • Input::IDeviceHandler
    GetGameControllerDevice(UInt32 index = 0)
    GetVirtualMouse()
  • Input::IGameControllerDevice
    IsConnected()
    GetGravity(AccelerationVector& gravity)
    GetAcceleration(AccelerationVector& acceleration)
    SetTouchOrientationEnabled(Bool isEnabled)
    GetTouchOrientationEnabled(Bool& isEnabled)
    SetTouchAbsoluteEnabled(Bool isEnabled)
    GetTouchAbsoluteEnabled(Bool& isEnabled)
  • Logic::IDeviceHandler
    IsGameControllerConnected(UInt32 deviceIndex)
    GetGameControllerGravity(Input::AccelerationVector& gravity, UInt32 deviceIndex)
    GetGameControllerAcceleration(Input::AccelerationVector& acceleration, UInt32 deviceIndex)
    SetGameControllerTouchOrientationEnabled(Bool isEnabled, UInt32 deviceIndex)
    GetGameControllerTouchOrientationEnabled(Bool& isEnabled, UInt32 deviceIndex)
    SetGameControllerTouchAbsoluteEnabled(Bool isEnabled, UInt32 deviceIndex)
    GetGameControllerTouchAbsoluteEnabled(Bool& isEnabled, UInt32 deviceIndex)
    GetAppStoreControl()
    GetPreferencesControl()
    GetPreferenceValue(const String& key, String& value)
    GetPreferenceData(const String& key, Data& value)
    SetPreferenceData(const String& key, const Data& value)
    PreferenceRemove(const String& key)
    WasKeyboardClosed()
    GetKeyboardControl()
    IsCloudControlAvailable()
    GetCloudControl()
    GetVirtualMouse()
  • Output::IDeviceHandler
    AddCloudControl(ICloudControl* cloudControl)
    RemoveCloudControl(const ICloudControl* cloudControl)
    GetCloudControl(UInt32 index = 0)
  • RawButtonCode enum
    RAWBUTTON_SELECT
    RAWBUTTON_PLAY_PAUSE
    RAWBUTTON_ARROW_UP
    RAWBUTTON_ARROW_DOWN
    RAWBUTTON_ARROW_LEFT
    RAWBUTTON_ARROW_RIGHT
  • DoubleBuffer template class
    void ResetReadValue()
    void ResetReadValue(const DataType& value)
    void ResetWriteValue()
    void ResetWriteValue(const DataType& value)
    DataType& GetValue()
  • Added Enum <-> String mapping:
    const Enum<IAppStoreControl::Status>& GetIAppStoreControlStatusEnum()
    const Enum<IAppStoreProduct::Status>& GetIAppStoreProductStatusEnum()
    const Enum<IAppStoreProduct::ProductType>& GetIAppStoreProductTypeEnum()
    const Enum<IGameCenterControl::AuthenticationStatus>& GetIGameCenterAuthenticationStatusEnum()
    const Enum<IGameCenterControl::LoadFriendsStatus>& GetIGameCenterLoadFriendsStatusEnum()
    const Enum<IGameCenterControl::LeaderboardStatus>& GetIGameCenterLeaderboardStatusEnum()
    const Enum<IGameCenterControl::AchievementStatus>& GetIGameCenterAchievementStatusEnum()
    const Enum<IGameCenterControl::Error>& GetIGameCenterControlErrorEnum()
    const Enum<IMusicPlayerControl::MusicPlayer>& GetIMusicPlayerEnum()
    const Enum<IMusicPlayerControl::PlaybackState>& GetIMusicPlayerPlaybackStateEnum()
    const Enum<IMusicPlayerControl::RepeatMode>& GetIMusicPlayerRepeatModeEnum()
    const Enum<IMusicPlayerControl::ShuffleMode>& GetIMusicPlayerShuffleModeEnum()
  • Added support for C++11 initializer-list
    Array::Array(InitListType initList)
    Array::Add(InitListType initList)
    Array::Insert(SInt32 index, InitListType initList)
    Index::Index(InitListType initList)
    Index::Add(InitListType initList)
    ObjectArray::ObjectArray(InitListType initList)
    ObjectArray::Add(InitListType initList)
    ObjectArray::Insert(SInt32 index, InitListType initList)
    ObjectIndex::ObjectIndex(InitListType initList)
    ObjectIndex::Add(InitListType initList)
  • Added support for C++11 range-for statement
    Array, ObjectArray
    Index, ObjectIndex
    Map, ObjectMap
    String
  • Added Queue template
    New container including support for C++11
  • Added ObjectQueue template
    New container including support for C++11
  • Added Queue typedef's
    StringQueue
    UInt8Queue
    SInt8Queue
    UInt16Queue
    SInt16Queue
    UInt32Queue
    SInt32Queue
    UInt64Queue
    SInt64Queue
    RealQueue
    FloatQueue
    DoubleQueue
    BoolQueue
  • Added Compiler language dialect definitions
    MURL_COMPILER_C98
    MURL_COMPILER_C11
    MURL_COMPILER_C14
  • Added IEnums::CompressionLevel
    Added Util::Compresss() supporting compression level
  • Added combined graph nodes:
    <ReferenceScaleTransform> equivalent to Reference with parent Scale with parent Transform
    <ReferenceScale> equivalent to Reference with parent Scale
    <ScaleTransform> equivalent to Scale with parent Transform
  • Updated FBX SDK to version 2016.1
  • Added Graph::ITrackerResult and Graph::TrackerResult for querying node traversal issues
  • Added "slip" parameter and interface methods in Graph::Contact and Graph::IContact
  • Added Graph::IIsland interface and Graph::Island node for separating physics simulator instances
  • Misc improvements for Util::ShaderBuilder

New Platform Features

  • iOS Platform: ICloudControl and IGameController
  • OSX Platform: ICloudControl and IGameController

API Changes

  • Removed method IGameCenterPlayer::IsFriend()
  • Removed method IGameCenterAchievementEntry::IsHidden()
  • Changed Input::AccelerationVector from Real to Double
  • Changed Input::AngularVelocityVector from Real to Double
  • Added Array::RemoveGet(SInt32 index)
  • Added Array::Swap(Array& other)
  • Added ObjectArray::Swap(ObjectArray& other)
  • Renamed MURL_COMPILER_GCC42 to MURL_COMPILER_GCC

Fixes

  • IAppStoreProduct fixed mistaken GetReceiptData() and GetReceiptSignature()
  • Graph::PlaneGeometry: Fixed border size calculation
  • Graph::TextGeometry:
    • Fixed text fitting for outline fonts
    • Fixed border size calculation for bitmap fonts
    • Allow fontSize parameter as an alternative to scale factor when using bitmap fonts
    • Fixed a crash regarding empty font resources
  • Graph::GenericParameterGroup: fixed a possible crash
  • Fixes for various nodes crashing after initialization failure
  • Fixed using 8bit stencil buffer type as generic format for GLES 2.0
  • Fixed returning correct number of used light units in Video::GlEs20::ShaderProgram
  • Various physics engine fixes
  • Fixed calculation of view matrix in Graph::Light
  • Fixed quaternion interpolation in Graph::TransformableAnimationTimeEvaluator
  • Fixed a mesh/sphere collider issue reporting wrong intersections
  • Fixed incorrect spacing in Util::Font::QueryTextSize()
  • Fixed resetting transitions in Graph::ClipSequencer
  • Fixed parsing empty string pieces in Util::Attributes and Resource::NativeAttributes for comma-separated values
  • Fixed Graph::ResourceMeshGeometry duplicate skinning when referenced
  • Misc scene converter fixes
  • Fixed accepting custom chunks in Resource::WavAudio loader

Xcode debug data formatter

Xcode debug data formatter, see murl/common/xcode/readme.txt

  • Support for Murl::Color class
  • Support for Murl::Data / Murl::MutableData / Murl::ConstData class
  • Support for Murl::Math::Vector class
  • Support for Murl::String class
  • Support for Murl::System::DateTime class
  • Support for Murl::System::Time class
  • Support for Murl::Util::File class

Alle Änderungen können auch im Change Log gefunden werden.

Abschließend noch unser obligatorischer Hinweis: Wenn du Schwierigkeiten mit dem Build hast, einen Bug findest oder sonstige entwicklungsrelevante Themen diskutieren möchtest, verwende unser Forum.


Beim Newsletter anmelden
und keine News-Updates mehr verpassen.


Copyright © 2011-2017 Spraylight GmbH.