Splash screen, parent keyword, undo, redo and paste
Changelog
After many months I can finally release a new version. I'm really sorry for the delay but I'm currently working full time on my bachelor's thesis so I don't have much free time to work on ImHex right now. Hopefully in a few weeks again though :)
Additions
- Added a new and super fancy splash screen!
- All resource loading will now be done while this screen is shown
- Added German localization. Thanks a lot to @tumGER for proof reading!
- Added Italian localization. Thanks a lot to @CrustySean!
- Updated ImHex icon with a new one
- Added FPS limiting
- ImHex is now less power hungry and lowers its FPS to 5 when the window loses focus
- Added Paste, Undo and Redo function!
- This has LONG been overdue
- Added saving and loading of data processor setups
- Added data size node to the data processor
- Added ability to copy values from the data inspector
- Data overlays now work everywhere
- This means if the data processor changed the displayed data, this data will also show up in the pattern data view, inspector, analyzer, disassembler and every where else
- Added
parent
keyword to the pattern language- This allows you to access variables that are found in the parent of the current structure
- Added array index syntax to r-values in the pattern language
- This also turned the
addressof
andsizeof
built-in function into operators now so they no longer require ""
- This also turned the
- Added UTF-16 character type and strings to the pattern language
- Allow nested use of types in the pattern language
- Added
dataSize()
function to the pattern language to get the currently loaded data size - Added
base_address
pragma to the pattern language to automatically set the file's base address - Loaded plugins are now displayed on the welcome screen
- Added slider to entropy graph to quickly skip through the file
- Added Recent Files to File menu
- Added ability to lock bookmarks so they can't be edited anymore until unlocked
- Added Font Awesome icons in a few places
- Use correct folder paths on Mac and Linux instead of looking for everything next to the executable
- Check the README to know where things are supposed to go now!
- Added memory usage footer item on Windows
- Added buffer combine, slice and repeat nodes to the data processor
- Added currently loaded file name to the window title
- Added
Close File
option to the File Menu - Added hex editor color highlighting opacity setting
Improvements
- Pattern language execution, disassembling, searching and many other things that may take a long time to complete are now run asynchronously
- Properly open some default views on first launch
- Greatly improved the Data Analyzer interface with ImPlot
- ImHex now uses the system file dialog instead of a custom one to open files
- Improved colors used on the welcome screen
- Variables placed out of bounds are now discarded instead of causing a error
- Improved goto command to now respect base addresses
Bug fixes
- Fixed multiple severe memory leaks in the pattern language
- Fixed bookmark names and comments refusing to be changed
- Fixed color attribute requiring a
0x
prefix to understand the value - Fixed region selection event only selecting first byte
- Fixed eval_depth default value being way too low
- Fixed ternary expressions in the pattern language not working everywhere
- Fixed bookmark name and comment not being loaded properly from a project file
- Fixed binary value in base converter being shifted by one
- Fixed pointers in the pattern language easily crashing ImHex
- Fixed MIME-based pattern loading popup being almost unusable. Thanks to @ThisALV for making me aware of this
If you like my work, please consider supporting me on GitHub Sponsors, Patreon or PayPal. Thanks a lot!