Skip to content

Parameter packs, assignment operators and byte inserting

Compare
Choose a tag to compare
@WerWolv WerWolv released this 30 Jan 21:30
· 3352 commits to master since this release

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 and break 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 and addressof operator

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