Release 61 - Play-Time Serialization, API Changes

Rating: No reviews yet
Downloads: 67
Released: Jul 25, 2009
Updated: Jul 26, 2009 by bryanedds
Dev status: Stable Help Icon

Recommended Download

Application Ox Game Engine 2.0.3.6a Installer
application, 40650K, uploaded Jul 26, 2009 - 67 downloads

Release Notes

Service Release 1

Fixed bug where mouse affected a button it was not on.
Fixed a bug that kept gui traits from serializing properly at play-time.
Fixed missing synchronization of ScriptParameters at play-time.
Made IDocument synchronizable.

Original Release

Several interesting things have happened between this release and the last. A lot of code got cleaned up and reformatted according to a new style standard. A big addition is the ability to serialize components at play-time via the IDocument.CreateComponentFrom and CreateComponentsFrom methods. Like the editors, serialization doesn't work on subcomponents yet.

Here are the most important changes -
Added Ox Game Engine API.chm thanks to Simon Roberts!!!
Renamed of <DirectionShadowSize> tag to <DirectionalShadowSize> in SceneConsts.xml.
Renamed <ScriptData> xml tag to <ScriptParameters> in documents.
Added <IsFixedTimeStep> tag to OxConsts.
For all Collect* methods, moved collection list parameter to end of parameter list.
Removed a bunch of superfluous name spaces (esp. those under Ox.Gui.Component and Ox.Scene.Component) and reorganized some existing name spaces as well.
Removed 'On' prefix from all delegates / events.
Renamed 'Event' suffix to 'Action'.
Removed OnEvent and replaced with .NET's Action.
Renamed OnTraitEvent to TraitAction.
Renamed OnEventWithTime to TimeAction.
Renamed IKeyboardContext.CapsLockOn to CapsLockActive.
Renamed IKeyboardContext.ShiftKeyOn to ShiftActive.
Renamed MessageBoxResult to MessageBoxAnswer.
Moved initialization of Game.Content.RootDirectory to OxEngine's constructor.
Moved initialization of Game.IsFixedTimeStep to OxEngine's constructor using OxConsts.IsFixedTimeStep.
Totally removed automatic scaling of GUI components into the safe zone; I know of no correct algorithm to make this work in all reasonable cases.
Removed <FillSafeZone> tag in Gui documents.
Removed OxHelper.ToSafeZone.
Added OxHelper.ToSafePosition and ToSafeScale.
Added IDocument.CreateComponentsFrom and CreateComponentFrom.
Renamed IScript to IComponentScript and moved to the Ox.Engine.Component namespace.
Changed WaterToken's default DrawStyle to Transparent.

Here are the less important changes -
Renamed ForEachReverse to ForEachInReverse.
Renamed ForEachReverseOnCopy to ForEachInReverseOnCopy.
Moved GuiComponentHelper.AlignComponents to GuiHelper as Align.
Deleted GuiComponentHelper.
Extracted Camera super class from FovCamera and OrthoCamera (finally!)
Added IOxEngine parameter to OrthoCamera constructor.
Added some missing source documentation.
Added IManagedVertexDeclaration.
Added generic GetCamera to IOxEngine.
Generalized ISceneSystem collection methods (removed the where ISceneComponent clause).
Added momento serialization capability for component scripts.
Renamed ScriptData to ScriptParameters in general.
Changed CreateInstanceHook to take IOxEngine as its first parameter.
Made momentoization of scripts transparent.
Added IsDisposed property to IDisposable2.
Added Disposing event to IDisposable2.
Removed need for hierarchically-ordered CreateComponent calls.
Fixed bug in ProxyTraitProperty.

Reviews for this release

No reviews yet for this release.