Beta version 0.4.0
Pre-release
Pre-release
This is a HUGE release introducing many new features, more convenient options and the biggest of all: a Cheat Engine's CT file importer. Additionally, this release changes the way the Wii-only memory is managed: it is now handled automatically, no user intervention is required, the program will just report its absence or presence. Finally, this release brings a massive list of bugfixes which means that update to this release from prior ones is HIGHLY recommended.
Here's the detailled changelog:
Global:
- Determine the presence of the Wii-only memory (MEM2) automatically, no user intervention is required, this is made possible because Dolphin maps that region separately, but always at the same place relatively to the common memory (MEM1).
- Add a CT file importer. This supports both methods mainly used for dealing with the start address in Cheat Engine which are the Dolphin internal pointer method or the assumed common start method. A dialog was added to allow to select which method applies to the table. It supports groups, basic watches data, special indications when viewing in a different base and custom big endian data types (they just get the basic type). After an import is done, a detailled report of the import errors (if any) will be presented, in these cases, it usually result in some data getting assigned with dummy values.
Common:
- Fix a formatting bug when using bases other than decimal where it would print a 32 bit number while the type is a byte.
- Assume that every String type ends at 0x00, this avoid printing garbage characters at the end of the string. An option to bypass this will be added in the futur.
- Fix a buffer overrun when opening a file with a variable length type or when adding one using the add watch dialog. Consequently, this fixes a set of crashes that could randomly occur if these conditions were met.
- Fix a TON of memory leaks scatered everywhere in the program.
Watch list:
- The watch list's columns widths are no longer fixed.
- Fix a crash that could occur when deleting multiple entries mixed with groups.
- Add support for cut, copy and paste the selection in the right click menu (it copies the dmw's formatted text meaning it is possible to paste this somewhere else).
- Add a right click option to delete the current selection.
- Add some mnemonics in the right click menu.
- Use moveRows instead of remove + insert, this avoid the groups collapsing themselves after a drag and drop.
- Fix #4 which could have prevented to edit labels as they were constantly getting refreshed.
- Now show a frame around the editor making it more obvious that an edition is in progress.
- Add a clear watch list option in the file menu.
- Now asks when opening a file while the watch list is not empty if the user wishes to merge the file with the watch list or clear the list before opening the file.
- Add sorting support, simply click on the column header to sort (note: the value column sort is primitive due to the variable nature of the data in that column). Will sort the groups first.
Scanner:
- Add an "Add all" button and an "Add selection" button on the result list, this also means the result list now support multi selection.
- Add an enforce alignement option which is turned on by default. This is what the Cheat Engine scanner does by default too where it would only check aligned memory addresses instead of all possible ones. Most of the time, the GameCube or Wii will use aligned addresses, but it might not, in such cases, it is possible to disable this by unchecking the appropriate option.
- Spaces when entering an array of bytes search term are now optional.
Viewer:
- Several UX improvement (by @Broxzier ) which includes ctrl + scroll wheel to change the font size, ASCII editing support, fixes for visual errors and calculation errors when naviguating, ignore non left-click events and plays a beep when invalid inputs were typed.
- Fix a huge memory leak when the viewer is open, this leak would keep growing over time and it is possible that fixing it has fixed a crash if it is leaking too much after a while.
Developemental:
- Add a Qt5 submodules for Windows which comes from a repository I created for this. This removes the need of having to install Qt under Windows when building the project.
- Add a solution file for Visual Studio (by @Broxzier ). This makes it easier to build with Visual Studio 2017 or 2015 (with slight adjustement). The README file has been updated to indicate how to build the program using this IDE.
- Generally make the code look cleaner (by me and @Broxzier ).
Documentation:
- Correct (yet again) the README file by fixing some typos and grammatical errors (by @Ikaheishi ).
- The README now has screenshot which is now stored in the repository.
- The README file was updated to reflect new usage instructions.