This is a major upgrade to Structure Viewer. This module has almost been rewritten from scratch, taking advantage of new compiler, parallel processing (on multi-processor and multi-core computers), new features and a major performance boost.
Hex Editor Neo does not perform pre-compilation anymore. The speed of compilation is now 10-100 times faster and is performed by multiple cores. Structure Viewer initialization no longer slows down application start up.
New version improves the binding time and reduces memory consumption of bound structures.
New Language Features
_SVC_VER compiler version macro
Compiler version in 5.01 has a value of 0x300 (major version: 3, minor version: 0), which indicates major upgrade.
break operator now always exits the current scope, even if not used inside a loop or switch statement.
When defining constants, the expression at the right side must evaluate to a constant value at compile time. Compare this to variables.
Alternative syntax for specifying enumeration's base type
New syntax (the one described in C++11) for specifying enumeration's base type may be used. The old one is still supported.
Automatic optimization of sub-expressions
Previous versions of Structure Viewer could automatically optimize constant expressions. New version adds automatic optimization to sub-expressions as well.
New $alert directive allows you to evaluate an expression at bind time and display the result in a message box.
New UI Features
Support for color schemes
Combined with new color_scheme attribute, allows the customer to apply different color schemes to individual fields in a bound structure.
This version dramatically improves syntax error detection and reporting. The editor is now capable of detecting more errors and provides more accurate position for an error. It is also now has so-called “expectation points” in its grammar. For example, in the following code fragment:
public struct A
A “syntax error” with message "] expected" is displayed. A cursor points to the ‘;’ character.
Change to bind error behavior
Now, when bind error occurs, all items that have already been bound are left in the Structure Viewer. Exception item is added to the end of the list of bound items.
Structure Errors tool window
New tool window displays all compilation and binding errors. You can double-click any entry in a list to display the position of the error.