What's new in SweetScape 010 Editor 13.0:
The following is an overview of the new functionality in version 13.0 of 010 Editor:
- Added support for Project and Workspace files.
- Tabs can be torn off to a new window and multiple Floating Tab Group windows can be created.
- The Workspace now supports multi-select and drag and drop.
- Processes now properly use process addresses within the editor.
- Jump from a variable in the Template Results to the source code using 'Goto Definition' or 'Goto Type Definition'.
- Added middle-click scroll mode. Middle-click and drag to scroll or middle-click once to enter scroll mode.
- Merging after a comparison is now supported.
- Set a custom starting address for a file using 'View > Addresses > Set Starting Address'.
- Added 'Duplicate', 'Move Lines Up' and 'Move Lines Down' commands to the Format menu.
- Added support for Motorola 68000 (m68k) disassembly.
- Intel Hex and Motorola S-Record import now skips the blank area at the beginning of a file and sets a custom Starting Address.
- Can now export, import or reset settings for the entire application using the General Options dialog.
The following is a list of all new features in version 13.0 of 010 Editor:
- Projects and Workspaces
- Added support for Projects, which can contain a list of files in a tree structure.
- Can save the currently open files as a Workspace file which can be loaded later.
- Projects can be created with or without an associated Workspace file.
- Loading a project that has an associated Workspace file will close all files and load the files in the Workspace file.
- Project files are saved to disk with extension ".1pj" and Workspace files are saved to disk with extension ".1wk".
- Projects can be viewed in the 'Project' section of the Workspace tab or in the new Project tab.
- Create projects using 'Project > New Project/Workspace' which displays the Project Options dialog.
- In the Project Options, enable 'Store Workspace with Project' to create the project with an associated workspace.
- Manage projects using the new 'Project' menu or by right-clicking on a project node in the Workspace tab or Project tab.
- Open projects or workspaces using 'Project > Open Project/Workspace' or Ctrl+Shift+E.
- To close projects use 'Project > Close Project' or mouse-over the top Project node and click the 'X' button.
- Add files to a project using 'Project > Add to Project' or by right-clicking on a Project node and choosing 'Add to Project'.
- Click 'Add to Project > Existing Files' to use a standard file dialog to add one or more files to the project.
- Can also add 'Current File' or 'All Open Files' to the project using the Add to Project menu.
- Use 'Add to Project > Existing Folder' to add a live folder to the project using a standard folder dialog box.
- All files in the live folder are added to the project automatically.
- A popup Folder Options dialog allows specifying a custom mask for the live folder and has a toggle for 'Include Subdirectories'.
- Live folders are rescanned when a project is opened or can be rescanned with 'Project > Refresh Folders'.
- Use 'Add to Project > New Folder' to create a project folder that does not exist on disk.
- Other files or folders can be dragged inside a project folder, but not inside a live folder.
- Project folders can be renamed by single-clicking or by right-clicking and selecting Rename.
- Edit the options for a live folder by right-clicking on the folder and selecting 'Folder Options'.
- Delete files from projects by right-clicking and selecting Remove from Project or by using the Delete key.
- Use drag and drop to rearrange files or move files between folders.
- Access the options for the project using 'Project > Project Options'.
- Save the project using 'Project > Save Project' or 'Project > Save Project As'.
- The project will be saved automatically when adding files if 'Auto-Save Project' is enabled in the Project Options.
- Project and Workspace files are integrated with Windows Explorer, macOS Finder or Linux File Manager. Double-click or drag and drop onto 010 Editor to open.
- Open or close projects in scripts using the ProjectOpen/ProjectClose functions.
- Search across all files in a Project using Find in Files and selecting 'Current Project' as the search target.
- Multi-select is supported when editing projects.
- Save the current list of open files to disk using 'Project > Save Workspace'.
- Opening a saved Workspace file will close all current files and open the files inside the Workspace file.
- Projects may be saved to disk using absolute file paths or file paths relative to the project file (control with the Project Options dialog).
- The application title bar shows [Project: ] when a project is loaded.
- To view the full path for the current project, place the mouse over the top Project node.
- Drag and drop from a project to the Open Files list or the editor to open files.
- Open projects using -project on the command line.
- The recent projects list can be sorted by access time or alphabetically.
- The Workspace tab now shows 'Open Files: ' if using a project that has an associated workspace file.
- Edit the source XML for a project by right-clicking on the project node and choosing 'Edit Project'.
- If 010 Editor is closed when a project is active, the project is automatically reloaded when 010 Editor is restarted.
- Turn off automatic reloading using the Opening Files Options dialog.
- By default projects are saved in the 'Documents\SweetScape\010 Projects' directory.
- Tabs
- Tabs can now be torn off to a new window by dragging the tab up or down and releasing.
- Multiple 'Floating Tab Group' windows can be created.
- Use 'View > Floating Tab Groups' to show or hide the floating windows.
- Better tab animation when dragging a tab to a different Tab Group.
- Each Floating Tab Group window can have multiple Tab Groups laid out either horizontally or vertically.
- Added new option 'Move to New Floating Tab Group' to the Tab right-click menu.
- Added new option 'Move to Main Tab Group' to the Tab right-click menu for Tabs in a Floating Tab Group.
- Each Floating Tab Group window now shows the name of the currently selected tab in its Title Bar.
- All Floating Tab Groups are now hidden by pressing the Esc key.
- Floating Tab Groups are no longer dockable with the main application.
- Tab tear-off can be disabled in the Opening Files Options dialog.
- Changed the background image for empty Tab Groups.
- Workspace
- Workspace now has 'Project' and 'Recent Projects' sections.
- Multi-select is now supported with Shift and Ctrl (Cmd on macOS).
- Drag and drop is supported between sections.
- Drag from the workspace to the editor to open files.
- Files can be added to the Favorites list using drag and drop.
- Access options for the Workspace by right-clicking and selecting 'Workspace Options'.
- Headers for the sections are now bold by default but can set to normal typeface using the Workspace Options.
- Star icons are now shown for files in the Favorites list and this can be turned off using the Workspace Options.
- The different sections of the Workspace can be hidden using the Workspace Options.
- Controlling whether modified files in the Open Files list are shown as bold has been moved to the Workspace Options dialog.
- The Workspace now shows 'Open Files: ' if using a project that has an associated workspace file.
- Processes
- Processes now properly use process addresses within the editor.
- Set Starting Address
- Set a custom starting address for a file using 'View > Addresses > Set Starting Address'.
- The custom starting address is used in the Hex Editor, status bar, goto, find, etc.
- 'OFFSET' label appears in the status bar when a Starting Address is set and click the label to change the address.
- Can also set a custom starting address by right-clicking on the address column in the hex editor and selecting 'Addresses > Set Starting Address'.
- Custom starting addresses are saved with the current workspace.
- Starting addresses can be set on the command line using -startaddress.
- In Scripts or Templates, the starting address can be set using the GetStartingAddress/SetStartingAddress functions.
- Templates and Scripts
- Can jump from a variable in the Template Results to the source code by right-clicking on the Template Results and choosing 'Goto Definition'.
- Can also locate the struct or type definition for a variable by right-clicking on a Template Results variable and choosing 'Goto Type Definition'.
- A popup dialog now warns when an array of structures is encountered that may cause issues when being optimized.
- Use or for the array or click the 'Do not show this message again' toggle to disable the message.
- Arrays created with are now collapsible in the Template Results like a normal array.
- For backwards compatibility, the collapsible node can be turned off for all Templates using the Compiling Options dialog.
- The collapsible node can also be turned off for individual Templates using the SetUnoptimizedArraysCollapsible function.
- The active Script or Template chosen using a drop-down list will be remembered the next time 010 Editor is restarted or a workspace is loaded.
- Turn off remembering the last Script or Template using the Opening Files Options dialog.
- Formalized that all functions in Templates and Scripts use local coordinates where 0 is the first byte of the file and FileSize()-1 is the last byte.
- Local coordinates are almost always the same as what is displayed in the editor except when editing a Process or a file with a custom Starting Address.
- Use the AddressLocalToFile and AddressFileToLocal functions to transform between local coordinates and the displayed file coordinates.
- Added SetFileCharSet function to change the character set of the current file.
- Added IsCharPunct/IsCharPunctW functions to test if a character is punctuation.
- Added EXPORT_PYTHONCODE constant to the ExportFile function.
- Templates using 0x0D (Mac-style) linefeeds are now supported.
- Can open or close projects in a script using the ProjectOpen/ProjectClose functions.
- An error message is now shown when trying to call the MessageBox function inside a read/comment/name function.
- Goto
- Goto Line supports jumping to a column number using "line,column" or "linecolumn" (e.g. "5,3").
- Goto Sector supports jumping to an offset number using "sector,offset" or "sectoroffset" (e.g. "0x100,5").
- Using Goto when seeking upwards in a file now jumps to the middle of the display.
- Compare
- Merging after a comparison is now supported.
- Icons above the Compare Results Table can be used to jump to the next difference or copy and paste a difference to File A or B.
- Use keyboard shortcuts Ctrl+Up/Down/Left/Right to merge when the Compare Results Table is focused.
- Editing the files after a Compare will update the Compare Results Table as edits are made.
- After a Compare, clicking on a byte in either editor selects the corresponding row in the Compare Results Table.
- Changed the algorithm for initial choices for File A and File B when the Compare dialog is opened. File A is usually the current file.
- In the drop-down list of current files for File A and File B, the list is now sorted alphabetically.
- When switching between different files, the scroll state of the Compare Results Table is saved.
- Control the maximum number of rows in the Compare Results Table with the 'Max Output Rows' field.
- Shortcut keys for the Compare Results Table can be customized using the Shortcuts page of the Options dialog.
- After a comparison, the Compare results can be cleared by right-clicking on the editor and selecting 'Clear Compare Results'.
- Editor
- Added middle-click scroll mode. Middle-click and drag to scroll or middle-click once to enter scroll mode.
- In the Editor, Ctrl+Left behaviour now matches other editors (always jumps to the beginning of words).
- Added 'Duplicate' command to the Format menu to duplicate the selection, or the current line if no selection is active.
- Added 'Move Lines Up' and 'Move Lines Down' command to the Format menu to rearrange lines in the editor.
- Right-click on the left-most column to access the Addresses/Line Numbers menu.
- Right-click on the ruler to access the ruler menu. In hex mode line layout options are shown as well.
- Keys for the editor can now be customized using the Shortcut Options dialog box.
- Editor shortcuts are now displayed in the 'Help > View Shortcut List' dialog.
- Hex Editor
- Removed colons after addresses by default (this can be turned back on in the Hex Editor Options dialog).
- Added option to prevent the hex editor 'Char' column from automatically resizing when a wide character is encountered.
- 'Char' column will automatically try to reduce size after expanding from wide characters.
- Right-click on the address column and select 'Addresses > Set Starting Address' to set a custom starting address.
- Disassembler
- Added support for Motorola 68000 (m68k) disassembly.
- Added to disassembler dialog plus flags for 68010, 68020, 68030, 68040 and 68060.
- Can use in Template disasm with DISASM_M68K constant plus the flags DISASM_OPTION_M68K_010, DISASM_OPTION_M68K_020, etc.
- Import/Export
- Intel Hex and Motorola S-Record import now skips the blank area at the beginning of a file and sets a custom Starting Address.
- This functionality can be turned off using the Importing Options dialog.
- Added new export type 'Python Code'.
- Find
- New resize handles are shown in the Find Bars to resize the Find Bar sections.
- After a Find All operation, right click on the Editor and select 'Clear Find Results' to clear coloring.
- Fixed Find in Files can stop responding when scanning a large directory.
- Fixed sometimes the selection would not be copied to the Find bar correctly when regular expressions were enabled.
- Linux
- Linux distribution is now provided as a .tar.gz archive with no installer.
- Installation tasks such as creating icons and associations are performed the first time 010 Editor is run.
- SHA256 hashes are available on the download website to verify archive integrity.
- Can run '010editor -install' if the program is moved to update the installation paths.
- Support wayland with '010editor -platform wayland' or 'export QT_QPA_PLATFORM=wayland'.
- XCURSOR_SIZE environment variable can be used to adjust cursor size on some systems.
- Portable Version
- Portable version is now available as a .zip archive with no installer.
- The EULA for 010 Editor must be accepted the first time 010 Editor is run.
- SHA256 hashes are available on the download website to verify archive integrity.
- General
- Can now export, import or reset settings for the entire application using the General Options dialog.
- For text files, renamed 'View > Addresses' to 'View > Line Numbers'.
- Also renamed 'Show Addresses' to 'Show Line Numbers/Addresses'.
- Reorganized the 'View' menu to put Line Numbers higher in the list.
- Added 'Edit > Copy As > Copy as Python Code'.
- Added 'Reset All Docking' option to the Window menu on the main menu.
- Files restore their last selection when 010 Editor is restarted.
- Can copy text from a message box.
- 'Window > Window List' dialog now has buttons for Save and Close and supports multi-select.
- When multiple files were deleted externally to 010 Editor, a new dialog shows all deleted files in one dialog instead of separate messages for each file.
- When multiple files were modified externally to 010 Editor, a new dialog lists all modified files with options for Reload, Ignore, Always Reload or Always Ignore.
- If Always Reload or Always Ignore is set for a file, an up/down arrow icon appears in the status bar. Click to manage reload settings.
- When opening a file that is already loaded in the editor, a dialog gives the option to 'View' or 'Duplicate' the file.
- The dialog has an 'Always use this option' toggle and can also be controlled using the Opening Files Options dialog.
- When opening a file from the command line that does not exist, a dialog gives the option to create the file or ignore the request.
- The default action can also be controlled with the Opening Files Options dialog.
- Faster to close the application when a lot of files are loaded.
- Links now use https instead of http whenever possible.
- Allow 'Save All' to be clicked when the 'Startup' tab is active and files are opened.
- Now using the user interface library Qt 5.15.2.
- Added link to the Capstone license in the EULA.
- Fixed missing tooltips for some icons.
- Status Bar
- The Status Bar now shows a clipboard icon instead of 'W'.
- Copy the current cursor position to the clipboard by left-clicking on the position label and selecting 'Copy Position'.
- Left click on the size label and choose 'Copy Size' to copy the current file size to the clipboard.
- The 'OFFSET' label appears in the status bar when a custom Starting Address has been set. Click the label to manage.
- An up/down arrow icon appears in the status bar when files in the editor are set to Always Reload or Always Ignore for file changes.
- Click the up/down arrow to access the Manage Reloading Modified Files dialog, used to turn off Always Reload or Always Ignore.
- Options
- On the General page added 'Export' and 'Import' buttons to export or import all application settings to a .cfg file.
- On the General page added a drop-down menu to the 'Reset' button that can be used to reset all pages or reset the entire application.
- On the Hex Editor page added 'Show Colon After Addresses' toggle.
- On the Hex Editor page added 'Automatically Resize Char Area for Wide Characters' toggle.
- Added new 'Opening Files' page and moved the choice for the starting Edit As from the Editor Page to the new page.
- Moved 'Remember Last Used Edit As', 'Remember Last Cursor Position', and Windows LNK options to the Opening Files page.
- On the Opening Files page added 'Remember Last Selection' and 'Remember Last Project'.
- Added 'Remember Last Script' and 'Remember Last Template' to remember the chosen Script or Template when a workspace is loaded.
- Added a drop-down list to choose the default action when opening a file that is already loaded in the editor.
- Added a drop-down list to choose the default action when opening a file from the command line that does not exist.
- On the Opening Files page added drop-down lists to choose whether script and templates or regular files are loaded in the main interface or a Floating Tab Group.
- Added drop-down to control whether Tabs are created at the end, start or before/after the current tab.
- Added 'Allow Tab Tear-Off to New Window' toggle.
- On Linux added 'Paste on Middle Click' option on the General page. If turned off then middle-click starts the middle-click scroll mode.
- On the Shortcuts page Editor keys can now be customized using the 'Editor' section.
- On the Shortcuts page the keys for the Compare Results Table can be customized in the Tools section.
- Now a popup warning is displayed if a duplicate shortcut was found.
- On the Toolbars page, when dragged a New File icon onto a Tool Bar, an icon is placed instead of text.
- On the Importing page added a toggle for 'Automatically Set Starting Address for Intel Hex Files/Motorola Files'.
- On the Theme/Colors page added color options for the middle-click scrolling icon.
- On the Compiling page added 'Unoptimized Arrays are Collapsible' toggle.
- On the Compiling page moved the option for controlling where Scripts and Templates are loaded to the Opening Files page.
- On the File Dialogs page added 'Open Project' and 'Save Project' dialog options.
- Added new 'Workspace' page with options to hide each section of the Workspace.
- The Workspace page can be used to set bold states for headers and modified files, control favorite icons and set the sort order for recent lists.
- Bugs
- Fixed some processes on 64-bit machines were not being displayed properly.
- Fixed a possible error popup using a Custom Inspector and disasm.
- Fixed Find in Files can stop responding when scanning a large directory.
- Fixed a crash switching an empty hex file into text mode.
- Fixed possible crash using Find in Files and wildcards.
- Fixed using 'parentof' inside of a custom size function.
- Fixed during Find Next/Previous the numbering and wrap warning were not always consistently displayed.
- Fixed Copy as Web Page (HTML) now properly transforms symbols such as > to >.
- Fixed the '&' symbol in file names was not being displayed properly in the file tabs.
- Fixed landscape printing not working properly in some cases.
- Fixed pressing Left at the beginning of a file incorrectly jumped to the end of the first line.
- Fixed a crash with a very long enum value.
- Fixed the custom Inspector was not being executing while debugging.
- Fixed the sizeof operator can now work on a struct that is bigger than the current file.
- Fixed the Assert function was displaying text as html and changed to plain text.
- Fixed the TextWriteLine function should clear a line when passed an empty string.
- Fixed sometimes the selection would not be copied to the Find bar correctly when regular expressions were enabled.
- Fixed the ExportFile function was not exporting HTML, RTF, or text areas properly.
- Fixed using %D when printing sometimes was not printing dates correctly.
- Fixed problem updating the repository when the local repository is read only on Linux.
- Fixed a crash if updating the repository on Linux and the config directory cannot be written.
- Fixed was missing a few possible actions in the shortcuts list.
- Fixed in the Page Setup margin fields, sometimes commas were being displayed instead of periods.
- Fixed -resetdocks command line option was not working properly.
- Fixed importing bookmarks with spaces in their names.
- Fixed documentation of Highlight functions to accept colors in 0xBBGGRR format.
- Fixed Templates using 0x0D (Mac-style) linefeeds are now supported.
Go to Download Page and Program details: Download SweetScape 010 Editor