Version 4.0 - May 14th, 2012
The following is an overview of the new functionality in version 4.0 of 010 Editor:
- Streamlined interface with a simplified tool bar.
- Easier, more intuitive way to run Templates or Scripts using the File Bar above each editor.
- Added support for word wrap and text files with a huge number of lines.
- Tools such as Find, Replace, Find in Files, Goto, Select Range are now displayed in a bar below each editor for a better workflow.
- Can customize the Auto Inspector using a custom Template.
- Revamped Find tool allows searching for variables in the Template Results.
- When a Find All or Find in Files is done on a text file, all text lines that contain a match are listed.
- Added 'Search > Find Strings' dialog for listing all strings in a hex file.
- Can visually swap bytes in the hex editor without modifying the underlying data.
- Can restore all open files when 010 Editor is restarted (select 'Restore all open files' on the Startup page).
- Comments can now specify a custom function using '<comment=<function_name>>'.
- Printf function now does type checking and automatically casts parameters.
- Templates can now read from or write to other files when granted special permission.
- Over 45 new functions for Scripts and Templates.
The following is a list of all new features in version 4.0 of 010 Editor:
- General
- Simplified the tool bars and updated some icons.
- File Bar above each editor provides a more intuitive way to run Templates or Scripts.
- Can restore all open files when 010 Editor is restarted (select 'Restore all open files' on the Startup page).
- View menu now shows different options when using a text-based interface or hex-based interface.
- In the Workspace, can sort the list of recent files by Name or by Time using the right-click menu (sort by Time is the default now).
- Startup page has been redesigned with resizable sections.
- Can customize the polynomial and initial value for CRC checksums.
- Added more options to the 'View > Addresses' menu.
- Use 'View > Addresses > Shorts' for displaying addresses as words (all addresses are divided by 2).
- Can switch File Interfaces using the Edit As section of the File Bar.
- Right-click on the Output panel to Copy All, Export Text, or Clear.
- Can apply Highlighting rules by Shorts.
- The Welcome dialog allows inputting a license when 010 Editor is in trial mode.
- Added '-saveall' command line option.
- Added 'Copy File Path' command to the File Tab right-click menu.
- Synchronize Scrolling now only scrolls files that are visible.
- Cannot change a hex-based interface to a text-based interface or vice versa.
- When opening a file that is already opened, the file is selected before being asked to create a duplicate.
- Right-click on the application when all tabs are closed for an option to show the Startup Page.
- Removed comment column for bookmarks (currently unused).
- 010 Editor configuration file is saved more often.
- Configuration file now stored in 'Users\<Username>\AppData\Roaming\SweetScape\010 Editor\010Editor.cfg' on Windows.
- Windows Explorer right-click menu now lists '010 Editor' instead of '010 Editor v3'.
- Updated help viewer.
- Text Editor
- Added support for text files with huge numbers of lines.
- Any long text lines over the maximum line length will be split into multiple lines and marked by '-' in the address column.
- The maximum line length can be set using the Text Editor Options dialog.
- Clicking after the last line always moves the cursor to the last byte.
- Hide the Group By, Division Lines, Left Area, Right Area, Line Width options in the View menu for text files.
- Word Wrap
- Can automatically wrap lines that are longer than the text editor window with 'View > Linefeeds > Toggle Word Wrap' or Ctrl+;.
- Word Wrap can be turned on automatically using 'View > Linefeeds > Initial Wrap State > Auto-detect'.
- '/wrap' is displayed in the Edit As section of the File Bar above each editor when Word Wrap is turned on.
- Can wrap on the window edge or a custom column using 'View > Linefeeds > Wrap Width'.
- Can wrap on letters instead of words using 'View > Linefeeds > Wrap Method'.
- Word Wrap is supported for files with a large number of lines.
- Byte-Order Marks
- Added better support for working with Byte-Order Marks (BOMs).
- Auto-detect UTF-8 BOMs.
- Status Bar displays '+B' when a BOM is present.
- Add or remove BOMs using 'Tools > Convert'.
- Can auto-add BOMs to new files using the File Interface Options dialog.
- Hex Editor
- Can visually swap bytes in the hex editor without modifying the underlying data.
- Bytes can be swapped in groups of 2, 4, 8, etc. (use 'View > Group By' menu to enable).
- Display 'LIT<>' in the status bar when swapping bytes is enabled.
- Set the number of bytes per line in a hex editor using 'View > Line Width'.
- Hide the Linefeeds and Tabs/Whitespace options in the View menu for hex files.
- Find
- Find/Replace/Find in Files/Replace in Files now performed from a bar at the bottom of the editor.
- When a Find All or Find in Files is done on a text file, all text lines that contain a match are listed.
- Revamped Find/Replace tools with icons for Find/Replace Next/Previous.
- Added 'Search > Find Strings' dialog for listing all strings in a hex file.
- Can search for Variables in the Template Results using the Find Bar.
- Selecting a Find occurrence in the editor highlights that occurrence in the Find results.
- Can list all replacements after doing a Replace All (see 'Show All Replacements' in the Find Bar Options).
- Lock Find/Replace to a selection using 'Lock Selection' in the Find Bar Options.
- The locked selection will be colored brown and used for Find/Replace until unlocked.
- Can display the address in the Find results in more formats.
- Show or hide the size column in the Find results (hidden by default).
- Ignoring case and match whole word work better when finding extended unicode characters.
- Find in Files list updates automatically when the files are edited.
- Can turn off wrapping for find (see Find Bar Advanced Options).
- Can list all files when doing a Find in Files operation.
- Can turn off the use of Find Specifiers using the Find Bar Advanced Options.
- When searching for Unicode, selected Unicode text is automatically copied to the Find Bar when it is opened.
- Default to Unicode Find type when finding in a Unicode file.
- Scripts/Templates
- Use 'Run Script', 'Run Template' or 'Run on File' sections above each editor for running scripts and templates.
- Comments can now specify a custom function using '<comment=<function_name>>'.
- Templates can now read from or write to other files when granted special permission.
- Permissions can be controlled using the Permissions section of the Options dialog and can be turned off for all files.
- Support searching in the Template Results (use 'Variable Name'/'Variable Value' in the Find Bar).
- From the Template Results right-click menu, can either expand all nodes of the selected node (Expand all Children of Node) or expand all nodes in the tree (Expand All Nodes).
- Right-click on a numeric template variable and choose 'Goto > Goto Address' or 'Goto > Goto Sector'.
- Can override the string displayed in the Name column of the Template Results using '<name="<string>">' or '<name=<function_name>>'.
- On Windows can right click on a script or template in the Scripts or Templates menu and select 'Edit Script' or 'Edit Template'.
- Updated included scripts to using RequiresFile and GetScriptName functions.
- Can run a script on no file by selecting '(none)' in the Run on File section of the File Bar.
- When doing a CSV export or Copy of the Template Results, the Color field will be converted to a hex color instead of being left blank.
- An integer with <format=binary> will now show all bytes if zero instead of just the first byte.
- 'L' string constants now support UTF-8.
- Prevent running a template on a template.
- Generate a warning if defining a large number of template variables.
- Removed variable mouse-over brackets on a text file (was being displayed incorrectly).
- New Functions
- Can convert between a binary string and an integer (BinaryStrToInt, IntToBinaryStr).
- Added functions to perform checksums on arrays (ChecksumAlgArrayStr, ChecksumAlgArrayBytes).
- Can convert strings between various encodings (ConvertString).
- Added functions to extract path, extension, or base name from a file name (FileNameGetBase, FileNameGetBaseW, FileNameGetExtension, FileNameGetExtensionW, FileNameGetPath, FileNameGetPathW, FileNameSetExtension, FileNameSetExtensionW).
- Can search for an open file in the editor (FindOpenFile, FindOpenFileW).
- Can retrieve environment variables (GetEnv).
- File attributes for Windows or Unix files can be retrieved or changed (GetFileAttributesUnix, GetFileAttributesWin, SetFileAttributesUnix, SetFileAttributesWin).
- Retrieve the character set of the current file (GetFileCharSet).
- Get or set which file interface is being used for the current file (GetFileInterface, SetFileInterface).
- Retrieve the name of the current script or template being run (GetScriptName, GetScriptNameW, GetScriptFileName, GetScriptFileNameW, GetTemplateName, GetTemplateNameW, GetTemplateFileName, GetTemplateFileNameW).
- Provided function to get a temporary file name (GetTempFileName).
- Can get or set the current working directory (GetWorkingDirectory, GetWorkingDirectoryW, SetWorkingDirectory, SetWorkingDirectoryW).
- Provided function to perform any of the Hex Operations in the Tools menu (HexOperation).
- Can calculate the length of a null-terminated string in a file (ReadStringLength, ReadWStringLength).
- Provided function to ensure that a script is being run on a target file (RequiresFile).
- Can write a message to the status bar (StatusMessage).
- Convert strings easily to UTF-8 format (StringToUTF8, WStringToUTF8).
- Can convert characters to upper or lower case (ToLower, ToLowerW, ToUpper, ToUpperW).
- Can convert from a text column to an address (TextColumnToAddress).
- Function Updates
- Printf function now does type checking and automatically casts parameters.
- Interface type can be specified for the FileOpen and FileNew functions.
- GetFileName returns a UTF-8 string.
- FileOpen will now accept a UTF-8 string.
- FileOpen no longer pops up an error message if the file could not be found.
- Better handling of opening duplicate files with the FileOpen function.
- Can specify a different character set in the StringToWString and WStringToString functions.
- MessageBox supports UTF-8 encoding.
- RunTemplate can be run with no arguments to rerun the Template associated with the current file.
- Added argument to the RunTemplate function to prevent clearing the Output panel.
- SubStr/WSubStr now default to -1 instead of 0.
- Can specify a custom date format in the functions GetCurrentTime, GetCurrentDate, GetCurrentDateTime, StringToDosDate, StringToDosTime, StringToFileTime, StringToOleTime, StringToTimeT, DosDateToString, DosTimeToString, FileTimeToString, OleTimeToString, and TimeTToString.
- Can set the maximum wildcard length in the FindAll, FindFirst, FindInFiles, and ReplaceAll functions.
- Removed HTML tag processing from Printf.
- Selections
- 'Edit > Select Range' tool now displays a Select Bar at the bottom of the editor.
- When selecting bytes while the Select Bar is open, the Select Bar will update to display the selection.
- Right click on an editor and choose 'Select > Mark Selection Start' or 'Select > Mark Selection End' to set the selection.
- Added Save Selection to the editor right-click menu.
- Save Selection automatically appends the start/size of the selection to the file name.
- Inspector
- Can customize the Auto Inspector (right-click the Inspector and choose 'Customize...').
- Auto Inspector can be set to use a custom template (by default the 'Inspector.bt' file is included with 010 Editor).
- Data types can be reordered or deleted from the Auto Inspector using the custom template.
- Any data type (including Custom Variables) can be added to the Auto Inspector using the custom template.
- Goto
- 'Search > Goto' tool now displays the Goto Bar below the editor.
- Use the Goto Bar to jump to a byte, line, sector or short in a file.
- Options
- Can set the maximum line length for text files.
- Can set the auto-hide time for bars in the application (Find Bar/Replace Bar/Goto Bar/Select Bar/etc.).
- Added option to remember the last used File Interface, Endian, and Word Wrap for a file.
- Allow setting the color for the Find Selection Lock.
- Must specify whether a File Interface is text-based or hex-based when the interface is created.
- Mac OS X
- Now use Ctrl+G for Find Next and Ctrl+Shift+G for Find Previous on the Mac.
- Now use Ctrl+L for Goto and Ctrl+Shift+G for Goto Again on the Mac.
- Add File Proxy icons to the Application Window (drag to other Windows to open).
- Removed icons on the menu for Mac.
- Removed icons on sub-windows for Mac.
- Fixed order of some OK/Cancel buttons on the Mac.
- Fixed Windows Clipboard should be called Macintosh Clipboard on the Mac.
- Hotkeys
- Ctrl+E now toggles between Big and Little Endian.
- Word Wrap can be toggled on or off using Ctrl+;.
- Can access Options dialog using Ctrl+, on Windows.
- Changed close window hotkey to Ctrl+W.
- Changed close all window hotkey to Ctrl+Alt+W.
- Fixed issue with Previous Tab shortcut.
- Can show or hide the File Bar above each editor using Ctrl+/.
- Bugs
- Fixed bug copying large blocks of data to other applications.
- Fixed issues with editing UTF-8 characters.
- Fixed crash when a startup script was missing.
- Fixed constants in the form 0B?h.
- Fixed crash in certain invalid assignments to a struct.
- Fixed bug with extra character when casting from a string to a wstring.
- Fixed bug with switch statement when default was the first statement.
- Fixed a case where a non-terminated string could potentially cause a crash.
- Fixed case where the Close All icon enabled state was not correctly set.
- Fixed case when Close All could cause the Floating Tab Group to be displayed.
- Fixed case where Close All Except This could close the wrong files.
- Fixed bug with assigning to a negative float or double.
- Fixed issue with using return in a function with no return value.
- Fixed OutputPaneCopy/OutputPaneSave missing the last row if no linefeed.
- Fixed case where commented lines were colored incorrectly when jumping through a file.
- Fixed crash in the Inspector with certain rare Unicode strings.
- Fixed bug with FindFirst/FindAll when size=0 and start>0.
- Fixed bug with FindFirst/FindAll and finding Unicode values.
- Fixed bug with FindNext/FindAll using dir=-1.
- Fixed FPrintf(newFile,"%c",0) now works properly.
- Fixed issue with all red text in the Output panel.
- Fixed case when a Hex file is split and then scroll down, the ruler would not be displayed correctly.
- Fixed InputOpenFileName/InputOpenFileNames not using the default file name.
- Fixed AddBookmark can add bookmarks in any of the base types without first running a template.
- Fixed bug with '//' after #define.
- Fixed constants COMPARE_SYNCHRONIZE and COMPARE_SIMPLE were switched.
- Fixed rare crash when running templates and progress issues.
- Fixed crash calling TextReadLine with an empty string.
- Fixed possible crash with MessageBox function when using only two parameters.
- Fixed issues with Copy/Paste from Hex Bytes with Unicode files.
- Fixed DOS linefeeds being transformed to Unix linefeeds when copying to the Find Bar.
- Fixed running a comparison can cause empty an Floating Tab Group to be displayed.
- Fixed a possible crash with an infinite recursion script.
- Fixed issues with character sets in the Find results window.
- Fixed correctly detecting when a file read-only flag is changed outside 010 Editor.
- Fixed Export CSV automatically adds quotes around items containing commas.
- Fixed in split-view mode, the selection could move after editing.
- Increased amount of memory the undo stack is allowed to use.
 |
For a full list of changes in other versions, see the Release Notes.
|