github WerWolv/ImHex v1.16.0
Pattern language refactor and editable data inspector

latest releases: v1.33.2, v1.33.1, v1.33.0...
2 years ago

Changelog

Addition

  • Added basic editing support to the data inspector
    • Simply double click the type you want to edit and then enter your new value there
    • Not all types can currently be edited but the majority of it can
  • Added custom font and font size setting
  • Added long doubles to the data inspector
  • Added setting where the user can add additional search paths which will be considered throughout ImHex. Thanks a lot to @PredatorCZ
  • Added help text to data processor to tell the user how to start using it

Pattern Language

  • Massive refactor of the pattern language
    • The entire pattern language now switched to using smart pointers instead of doing manual memory management. This should prevent the majority of memory leaks that were present before.
  • Allow all variable attributes to be applied to types directly so all their instances will have those attributes applied
  • Added #pragma bitfield_order which applies the [[left_to_right]] or [[right_to_left]] attribute to all bitfields by default
  • Added [[single_color]] attribute which forces all children of a pattern to have the same color. Thanks to @PredatorCZ
  • Fixed a crash with using #include. Thanks to @Diadlo
  • Arrays and custom types are now properly getting treated as references so they can be passed to functions without getting weird behaviour
  • Added std::mem::find_sequence_in_range. Thanks a lot to @PredatorCZ
    • This function works the same as std::mem::find_sequence but takes two additional parameters to specify the start and end address of the search performed
  • Fixed off-by-one error when calculating unsized array sizes. Thanks to @Dyddye

Improvements

  • Automatically disable borderless window mode then an Intel HD GPU is being detected.
    • This prevents the black boarder / offset rendering from appearing which is caused by a bug in the Intel OpenGL driver
    • This detection can be overwritten by manually setting the hex.builtin.setting.interface.force_borderless_window_mode setting to 1 in your settings.json
  • Disable buffering on log files so their full content is always being written to disk
  • Improved error handling of the content store
    • The content store now only tries to list files in folders that are actually writable
    • ImHex will no longer try to download (and fail) to download files into folders without permissions
  • Increased store load timeout to 30 seconds
    • This should allow you to use the content store even if you're behind tons of proxies
  • Improved ImHex restarting user experience
    • Instead of just immediately closing ImHex when a setting was changed that needed a restart, ImHex now correctly prompts if you want to restart it.
  • Content from the ImHex-Patterns repository is now getting shipped by default

Bug Fixes

  • Fixed opening files with unicode characters in their path
  • Fixed ImHex not loading plugins correctly on first launch
  • Fixed undo points not being created correctly
  • Fixed pasting bytes into ImHex in certain cases
  • Fixed log files being formatted incorrectly
  • Fixed a crash when scrolling through the hex editor too quickly
  • Fixed a bug where editing a byte and then scrolling down would cause all content of the hex editor view to disappear
  • Fixed banner and logo images being corrupted in certain cases. Thanks a lot to @PredatorCZ
  • Fixed circular dependency when building ImHex which caused issues on certain Linux distros
  • Fixed imgui.ini file sometimes being created in the current working directory
  • Fixed crash when trying to read from an empty file
  • Fixed crash when saving projects

If you like my work, please consider supporting me on GitHub Sponsors, Patreon or PayPal. Thanks a lot!

GitHub donate button Patreon donate button PayPal donate button

Don't miss a new ImHex release

NewReleases is sending notifications on new releases.