HeroEngine Sapphire
From HEWIKI
(Difference between revisions)
(→Graphics) |
(→Deprecated Functionality: fixed link to Decal System page) |
||
Line 119: | Line 119: | ||
=== Deprecated Functionality === | === Deprecated Functionality === | ||
− | *HSL [[ | + | *HSL [[Decal_System|Decal system]] functions: CreateDecalFunc, ReleaseDecalFunc, ClearDecalsInBoxFunc, ClearDecalsSpecFunc |
*A number of graphics option switches have been deprecated, valid options can be listed using the external functions to enumerate them | *A number of graphics option switches have been deprecated, valid options can be listed using the external functions to enumerate them | ||
Revision as of 20:55, 9 November 2012
Release: HeroEngine 2
Codename: Sapphire
Internal Branch Version Base: 2.0
Release Dates: November 2012
Notes
This release requires client graphics device support for Direct3D Shader Model (SM) 3.0 or higher.
Major Feature Summary
The following is a list of major features expected to be included in this release and is not a guarantee of the availability of the feature in the final release.
Middleware
- Awesomium web-ui integration
- SpeedTree 6.0
- XInput for gamepad, joystick, steering wheel, etc input support
Graphics
- High Dynamic Range (HDR) rendering
- Custom, configurable shader support
- Improved default shadows (which you can always rewrite completely)
- FreeType font support
- Whitebox world layout tools Whitebox Layout Tools
- Support for non-HeroMaterials in Max and Maya
- Performance improvements
- Faster shader loading, and improved support for local shaders and editing
- Material Instances
- Nvidia 3DVision stereo video support
- Correct color support for sRGB textures, linear color space calculations
- Autodesk Max 2013, Maya 2013 support
- New GM Notes drawing functions including lines, circles, squares, and polygons
- .RAW 8/16/32 is the default terrain import format (Leveller is still supported)
Client / Editor / Server / Tools
- New HeroBlade UI / UX
- New Repository Browser UI
- Fine-grained account permissions and permission groups
- Localization
- Automated server package application
- Overall client performance improvements
- Large address aware client, and certain server processes
Scripting
- New render panel options exposed through HSL
- Foundation Framework: Lobby System
- Foundation Framework: Social System
- Foundation Framework: Chat System
- Foundation Framework: Item System
Obtaining the Release
- Source or object licensees contact your support list
- HeroCloud users stay tuned for deployment announcement
HSL and Foundation Framework
Breaking Changes
- Due to changes in the Windows API for cursors, the SetCursor() external function no longer accepts offsets. The appearance of a cursor offset can be accomplished by changing the cursor art.
New Features
- HSL functions to enumerate fullscreen and window multisample modes and quality levels, and function to get and set the mode and quality level
- GetFullscreenMultisampleModes: list of pairs of valid multisample modes and quality levels
- GetWindowMultisampleModes: list of pairs of valid multisample modes and quality levels
- bool SetMultisampleMode(int dwSamples, int dwQuality): sets the current multisample mode and restarts the graphics device
- GetMultisampleMode: returns a pair which is the current multisample modes and quality level
- DynamicSkyColorBlend is a new float property on MirrorNodes.
The default value is 0, which renders as before.
If dynamic sky is enabled, as the value increases toward 1.0 the water's color blends toward the color of the sky at its zenith. (The alpha value of the DiffuseColor property is still used to determine the strength of the color tinting vs. the cubemap.)
If dynamic sky is disabled, has no effect.
- New External Functions Raycast3D_ListMeshes, RaycastMouse_ListMeshes, RaycastFromScreen_ListMeshes (140362)
Enhancements & Corrections
- The BOLD RED "You have been disconnected" message has been changed to scale according to the viewport size and be centered at the top of the screen.
- Added in edit header GUI to add and customize headers for spec oracles
- Strengthen the error checking in _CSSFixAccountCharacterList (by way of _GetRootNodeChildren) to properly remove partially-created characters from an account during character selection
- Fixed a bug in HE_ControlPanelClassMethods which prevented World Server (area 0 instance 0) system node instances from being properly updated upon addition/removal of a class
- Fixed a bug in _TravelDataClassMethods:_ProcessTravelQueueFailure which threw a script error when an area failed to spin up due to the world being over the prescribed area_count limit
- Fixed a bug in _TravelDataClassMethods:_RequestTravelAreaSeamlessLinksForArea in which seamless links could be incorrectly reported to newly spun-up area instances
- Adjusted HE_WorldPropSpecOracleClassMethods to properly write out prop specs to the repository on initial world load (this fixes script errors in which props that have a client-side component may fail to download/load their specs from the repository)
- Added clarifying tooltip to the fxEventPropertyPanel_v2 GUI's child CheckDynData control and fixed a typo in the name of the Start_IF control
- Fixed a logical error in SpecOracleClassMethods::_getAllSpecsForIndices; passing "undeleted" or "-deleted" now properly omits deleted specs
- Added _PROPS system node to the HEControlPanel listing for client and server
- Abstracted 'AssetSpecReady' callback for props to allow all decorators to respond to the callback with '_OnAssetSpecReady'
- Fixed a bug in _CharacterSelectionClassMethods which prevented overriding the _CSSDeleteCharacter method
- Fixed an incorrect reference in _CharacterCreationClassMethods::_CCSSelectStartingAreaInstance which used to point to $CHARACTERSELECTIONSYSTEM to now point to the correct system node: $CHARACTERCREATIONSYSTEM when determining whether an HE_ override is present
- Fixed an typo in BaseSpecClassMethods::OnCreateNotifySpecDeocratorClasses which incorrectly called BaseSpecClassMethod::OnInstantiationFromSpec twice
- _GUINodePropertyEditorCellTextInputBox checks for invalid data for vector3, TimeInterval and DateTime field types
- Added _StateRootAssoc association definition to fix script error in _StatesClassMethods' _GetStatesRoot method
- Fixed the GUIEditor generating alphamask xml incorrectly in some situations
- Added _OnPropFieldUpdated to prop classmethods scripts to relay field updates to glommed classes
- Fixed a bug where seamless travel would not remove players from edit command queues when leaving an area, which resulted in recent changes not being delivered to the client upon reintroduction; the fix now correctly removes and reintroduces players from edit command queues as necessary
- Fixed a potential error with ObsListener::GetMySubject on the client/sever. This method will now throw an error if the listener has more than one subject. Added in a new method Named GetMySubjects if your listener may have more than one subject.
- Fixed bug in the server-side obsListenerNodeClassMethods script in which a script error would occur if the callbackNode had been deleted inside its EventRaised method
- Fixed bug in CharDriver _DriverAddPointsWithEndRotation so it now properly calls the correct HE override method
- Fixed bug with the SpecEditor where it now will let you submit changes to specs when lookuplists are present in the spec
- Removed incorrect usage of args.MouseTarget in _InputHandlerClassMethods:BuildContextMenu. This is a breaking change for HeroicMouseEvents that expect args.MouseTarget to have a valid ID. If it still desired to have this functionality use the HE_ServerMouseEvent override to add in the target for args.MouseTarget and send the additional message.
- Fixed Bug 140208: Sound system node cannot be overridden by game-specific code
- Breaking change to HE_TravelFailure() on $Travel system node: HE_TravelFailure() now returns a boolean to allow clean engine code to be processed if HE_TravelFailure() is present on $Travel
- Fixed spelling error in the alert window when editing clean engine GUI controls
- Added in HE override for _OnClientWindowFocusChange
Deprecated Functionality
- HSL Decal system functions: CreateDecalFunc, ReleaseDecalFunc, ClearDecalsInBoxFunc, ClearDecalsSpecFunc
- A number of graphics option switches have been deprecated, valid options can be listed using the external functions to enumerate them
HeroBlade Editor and Client
New Features
- Awesomium web-ui integration
- SpeedTree 6.0
- XInput for gamepad, joystick, steering wheel, etc input support
- High Dynamic Range (HDR) rendering
- Custom, configurable shader support
- Improved default shadows (which you can always rewrite completely)
- FreeType font support
- Whitebox world layout tools
- Support for non-HeroMaterials in Max and Maya
- Performance improvements
- Faster shader loading, and improved support for local shaders and editing
- Material instances
- Nvidia 3DVision stereo video support
- Correct color support for sRGB textures, linear color space calculations
- Autodesk Max 2013, Maya 2013 support
- New GM Note drawing functions including lines, circles, squares, and polygons
- .RAW 8/16/32 is the default terrain import format (Leveller is still supported)
- New HeroBlade UI / UX
- Fine-grained account permissions and permission groups
- Localization
- Automated server package application
- Overall client performance improvements
- Large address aware client, and certain server processes
- Integration of password reset and news web views for heroblade and player client
- "Bypass Distance" checkbox on Grass tab of terrain panel
- Third party logos are now displayed on service directory login UI
Enhancements
- ALT+Enter displays property panel
- SpeedTrees won't drop to billboard level if they are tilted more than a little bit.
- Minor adjustment to SpeedTree LOD distances
- "Bright Light" debug mode ('B') also temporarily disables HDR
- Removed DreamManager HeatPicker
Corrections
- fix: The last line of gamekeybindings.ini is ignored
- fix: script error panel to color code client errors vs. server errors
- fix: AmbientColor & DiffuseColor correctly default
- fix: GUI Editor color picker no longer displays invalid timeline options
- fix: Terrain panel dynamic details now all types flash when selected
- fix: Asset Library, right click Grab Selected now asks to Name the Prefab/Content
- fix: HSE Space in Regular Expression works
- fix: Save all open scripts invalid shortcut
- Material/texture refcount fixes
- Fixed foreign language character processing of FQN names during repository compare. (BugzID: 846)
- Fixes for various Unicode string issues
- Library/Repository menu items on HeroAssetGrid are active on all leaves of the tree
- Fixes to various minor renderer artifacts
- Safety check for excessive triangles returned by character controller collision
Player Client
This section includes Player Client specific changes. General client changes are listed above under HeroBlade
New Features
- New default modern, game-agnostic UI skin
Enhancements
Corrections
Client Tools
New Features
- New Repository Browser UI
Enhancements
Corrections
- Fix: clicking in the local file area with nothing selected no longer displays context menu
- Fix: Local path will get confused and show multiple directory delimiters at the root, e.g.: E:\\foo
- Fix: when dragging and dropping, the target directory highlight doesn’t reflect the actual drop target. it appears to randomly choose something else
- Fix: dragging and dropping a directory structure into the repo does not prompt to replace / update existing file(s)
- Fix: UI "forgets" about all the undeleted sub-dirs that still exist when a sibling is deleted
Server Processes
New Features
- Authentication system 2.0
- Game localization support
Enhancements
- Specific server processes are now large address aware
Corrections
- Physics improvements
Server Tools
New Features
Enhancements
Corrections
Source and Object Notes
Database