Skip to content

v2.3.2.3

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 01 Dec 03:42
· 15 commits to master since this release

Navigation Improvements

  • Navigate -> "Go To Next Unreached Branch Point" is way better, now catches unmarked instructions directly after jumps/conditional branches
  • ^^ protip: THIS IS THE FUTURE OF DIZ. Use Tracelog capture, then start at the top, keep pressing F3 for "GoTo Next Unreached Branch Point", step through with "S", and use Alt+Left to navigate back to where you were. Rinse+repeat. This is a very reliable way to quickly do tons of hand disassembly without hitting a ton of landmines

Label import

  • Now allow importing labels with ., +, and - characters
  • Diz does no special validation for these weird labels (but they do work), so users must ensure whatever they are doing is OK with Asar. Diz will currently still let you shoot yourself in the foot, you've been warned :) But it's too useful to disallow anymore, so, have fun.

New Project Workflow ("first 15 minutes" quality of life)

  • Improved a lot of UI and defaults from first importing a ROM to first save export. Fixed some bugginess there
  • Auto-generate a default name for new projects based on the ROM name
  • Enforce saving the project file at least once before exporting, ensuring relative paths for the export/ directory work correctly.

Tracelog

  • Experimental: Kinda works. Allow tracelog capture to add or remove comments so you can see exactly what new stuff you're capturing, or trace down specific paths

UI and Text Updates

  • Improved text descriptions in assembly export settings UI, and lots of other places
  • Save project with unsaved changes is cleared with Yes/No/Cancel ( thanks @patrickmollohan )
  • Improve "overshooting" in more places, and use with Navigation history. (Makes it so when navigating around, it always keeps a little space on top and bottom. Makes things less confusing when jumping around all over the place)

Performance Optimization

  • Upgraded to .NET 8, improve dependency injection support (thanks for the assist @YoshiRulz)
  • Replaced slow RemoveAt() calls during load/save operations with smarter LINQ, reducing project load time by ~3 seconds.
  • Improve performance during high-volume tracelog import
  • Switched to a concurrent dictionary for performance improvements in tracelog comment handling

Bug Fixes

  • Fixed recursive GetHashCode() in Labels exposed by XML serialization
  • Clicking Tools -> Label List now always pops the list dialog up (instead of doing nothing when it was already open)
  • Bunch of other dumb stuff

Full Changelog: v2.3.1.2...v2.3.2.1