Parameter packs, assignment operators and byte inserting
Changelog
Addition
- Added function for inserting bytes in the middle of files
- Added custom encoding files to content store
- ImHex now automatically writes all log output to a file
- Added menu items to save and load data processors
- Added support for copying values from the pattern language console
- Added RISC-V, M68K, M680X, WebAssembly, MOS65XX and BPF architectures to disassembler
Improvements
- Fixed interface being scaled horribly on MacOS
- Updated Italian translation. Thanks a lot to @CrustySean
- Updated Chinese translation. Thanks a lot to @xtexChooser
- Improved how integer values are displayed in the data inspector
- Improved loading of custom encoding files
- Splash screen no longer gets drawn on top of all other windows
- GoTo and Find text boxes are now automatically focused when the window is opened. Execute GoTo or Find function when pressing enter
- Patches that have the same value as the original value are now getting removed
Bug Fixes
- Fixed pasting bytes
- Fixed Flatpak release not working correctly
- Fixed ImHex crashing when exiting
- Fixed many format warnings and security issues
- Fixed jumping to addresses moving hex editor window to wrong offset
- Fixed curl SSL verification on MacOS and Linux
Pattern Language
- Added parameter packs
- This allows passing an unlimited amount of parameters to a function
- All built-in functions have now been to the
builtin
namespace.- This means, to use built-in functions you now need to download and use libstd from the content store and include the correct include file
- Added
[[no_unique_address]]
attribute- Applying this attribute to a variable makes it not increasing the cursor when placing it
- Added ability to assign a value to the dollar operator to change the current cursor
- Added assignment operators (+=, -=, *=, etc)
- Added
#pragma once
directive - Added extra math functions (floor, ceil, round, sin, cos, and more)
- Fixed local variables not respecting their type's size
- Fixed color overriding for arrays and structs
- Fixed [[static]] attribute not correctly optimizing the type
- Fixed
continue
andbreak
statements not working correctly in structs - Fixed highlighting of arrays
- Fixed endian setting applied to structs not applying it to their members correctly
- Fixed strings being displayed wrongly
- Fixed lexing of
sizeof
andaddressof
operator
If you like my work, please consider supporting me on GitHub Sponsors, Patreon or PayPal. Thanks a lot!