Rendering speed optimizations, bitfield improvements
ImHex is extremely smooth now:
https://twitter.com/WerWolv/status/1806807278416281861
Additions
- Added basic process memory provider support to macOS
- Due to limitations on Apple's side, this only works with SIP disabled
- View providers can now be renamed
- Added options to load files into memory or read data from disk instead, independent of the file size
- Find results can now be exported as CSVs, TSVs and JSONs. Thanks a lot to @SparkyTD
- Added various per-byte highlights to the hex editor minimap
- The minimap can now display the highlighting of individual bytes
- Added a digital signal pattern visualizer
- The pattern data view now uses nicer colors and strings to convey information
- The recent files section on the welcome screen can now be collapsed
- You can now scroll the hex editor view faster by holding down CTRL or even faster when holding down SHIFT + CTRL
- Added a
--reset-settings
CLI command to clear all settings in case something gets corrupted
Improvements
- Drastically improved rendering times
- Added a small moon icon to the welcome screen in nightly builds
- Providers now close instantly
- The hex editor view no longer scrolls when jumping to a selection that's already visible
- Auto project backups are now enabled by default
- Custom data inspector rows now display a nice error message in the UI when they encountered an error
- Bookmark reordering now doesn't swap entries anymore and actually works as expected
- ImHex now displays a little dot in the close button on macOS if there's unsaved changes
- Auto backups no longer remove the dirty status of providers anymore
- SIGINT signals are now being handled to not close ImHex immediately anymore but to show a popup
- UI scaling factors are now limited between 0.1x and 4.0x to prevent issues
- Larger values are still possible by CTRL-clicking into the slider and entering a value manually
- PageUp + PageDown no longer affects the hex editor selection
- Row highlighting in the pattern data view is now less bright so the text has a better contrast
Bug Fixes
- ImHex can now properly load files stored on network drives on Windows
- Fixed crashes when searching for certain regex strings
- Fixed an infinite loop when searching forward/backward with CTRL + F
- Fixed loading of layout files
- Fixed fonts being blurry in some cases
- Bookmark regions can now be set to 1 byte
- Fixes Alt and Ctrl being swapped in the text editor on macOS
- Fixed disassembler always disassembling in little endian
- ImHex no longer tries to store files in system paths now
- Fixed an infinite loop when exporting data selections to a file. Thanks a lot to @FireNX70
- Fixed file name display issues with files that contain unicode characters
- Fixed content store getting stuck sometimes when updating multiple items at once
Pattern Language
continue
andbreak
now work as one would expect- Added
std::core::execute_function()
- Arrays can now be initialized using the following syntax:
u32 myArray[5] = { 1, 2, 3, 4, 5 };
- Added support for constants inside of custom types
- Unsigned, signed and floating point patterns no longer display their hex value in their value by default
- Fixed [[no_unique_address]] not working correctly with bitfields
- Patterns are now highlighted in the hex editor view when hovering over them in the pattern data view
- Patterns in the pattern data view table are now highlighted when they are fully selected in the hex editor view
- Bitfields can now be properly edited in the pattern data view
- The filter in the pattern data view now gets correctly applied again after re-evaluating a pattern
If you like my work, please consider supporting me on GitHub Sponsors, Patreon or PayPal. Thanks a lot!