Build 1.00.6143 Available!
Posted on November 10, 2015
The new Murl Engine Build 1.00.6143Beta is available for download. This is an major update release with tvOS as new platform and several improvements and fixes.
The most important new features are:
- Apple tvOS as new platform to create Apple tv apps.
- New Cloud-Control for iOS/OSX/tvOS.
- Extended C++11 support.
- Introduction of physic islands to allow multiple individual controllable physic simulator instances.
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
:
AddedResolveCollisions()
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
AddedUtil::Compresss()
supporting compression level -
Added combined graph nodes:
<ReferenceScaleTransform>
equivalent toReference
with parentScale
with parentTransform
<ReferenceScale>
equivalent toReference
with parentScale
<ScaleTransform>
equivalent toScale
with parentTransform
-
Updated FBX SDK to version 2016.1
-
Added
Graph::ITrackerResult
andGraph::TrackerResult
for querying node traversal issues -
Added "
slip
" parameter and interface methods inGraph::Contact
andGraph::IContact
-
Added
Graph::IIsland
interface andGraph::Island
node for separating physics simulator instances -
Misc improvements for
Util::ShaderBuilder
New Platform Features
-
iOS Platform:
ICloudControl
andIGameController
-
OSX Platform:
ICloudControl
andIGameController
API Changes
-
Removed method
IGameCenterPlayer::IsFriend()
-
Removed method
IGameCenterAchievementEntry::IsHidden()
-
Changed
Input::AccelerationVector
fromReal
toDouble
-
Changed
Input::AngularVelocityVector
fromReal
toDouble
-
Added
Array::RemoveGet(SInt32 index)
-
Added
Array::Swap(Array& other)
-
Added
ObjectArray::Swap(ObjectArray& other)
-
Renamed
MURL_COMPILER_GCC42
toMURL_COMPILER_GCC
Fixes
-
IAppStoreProduct
fixed mistakenGetReceiptData()
andGetReceiptSignature()
-
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
andResource::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
All changes can also be found in 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.