Skip to content

Releases: Calcoph/hexpyt

Version 0.2.1

25 Jul 12:52
Compare
Choose a tag to compare

New Features

  • New primitives: s24,s48,s96,u24,u48,u96
  • New primitive: Array
  • Optional parameter to select indentation character(s) when translating
  • Will follow #include paths to search (but not translate) for additional definitions
  • else if translates correctly to elif
  • Try apply #define s.
  • Try to translate namespaces (their usage, not definition)
  • Use IntStructs (u8, s16, etc.) as if they were dollars (see README for exceptions)

Bug Fixes

  • BitFields now work like ImHex
  • Various fixes to operators with primitives
  • Fixes to signed ints

Version 0.2.0

18 Jul 22:36
Compare
Choose a tag to compare

New features

  • Constructors (__init__) are now more intuitive.
  • Added @ operator, which works like ImHex's.
  • Added operators to integer primitive types, so if both a and b are u8, a+b works, instead of the old int(a)+int(b) or a.value+b.value.
  • Primitives can now be initialized with a value, without a Dollar.
  • Names for primitives and auto-generated classes are now optional.
  • Various bug fixes.

Breaking changes

Since the constructors are different, new generated files won't be compatible with old ones without changing them.

Old:

byts : bytes = b'\x58'
offset: Dollar = Dollar(0x00, byts)
my_int: u8 = u8("my_int", offset)

New:

byts : bytes = b'\x58'
offset: Dollar = Dollar(0x00, byts)
my_int: u8 = u8() @ offset

Version 0.1.1

16 Jul 11:09
Compare
Choose a tag to compare
Version 0.1.1 Pre-release
Pre-release

Bug fixes

  • Fixed type annotations which prevented it from working in newer python versions

New features

  • Dollar and integer primitives don't have to be casted to int() before doing operations on them
  • Float, double, char and Bool work as expected. char16 works like an array of 2 chars

Version 0.0.1

14 Jul 23:21
Compare
Choose a tag to compare
Version 0.0.1 Pre-release
Pre-release

Convert simple structs and bitfields to python classes.