vector-man / IPS-Peek

IPS Peek is an IPS patch (International Patching System) exploration and testing tool.
GNU General Public License v3.0
56 stars 8 forks source link

Migrate to Avalonia for cross-platform support #21

Open vector-man opened 2 years ago

vector-man commented 2 years ago

In order to get IPS Peek running on other platforms, it will need to be migrated to another UI framework (dropping Windows Forms.) I have decided to settle on Avalonia as the framework.

Migration will occur sometime after the rewrite with ReactiveUI. But it may not be immediate, depending on user demand.

Update (5/29/2023): Avalonia will eventually allow for Mac, Android and web support. Right now, the Avalonia GUI is very work-in-progress.

Steps to be taken:

  1. Finish Avalonia GUI (retaining the WinForms Be.HexBox control in a NativrControlHost, still tying it to Windows-only).
  2. Move all WinForms backend functionality over to Avalonia version.
  3. If/when a suitable Hex control for Avalonia is available, swap HexBox's out, making IPS Peek cross platform.
vector-man commented 2 years ago

I've created an experimental branch for Avalonia, locally. It contains a very early, yet somewhere functional version.

IPS_PEEK_15_2022.PNG

I will not be able to do much more, without a suitable Hex editor for Avalonia. For now, I'll concentrate on the WinForms releases.

vector-man commented 2 years ago

Pushed an Avalonia branch, with what's available so far: https://github.com/vector-man/IPS-Peek/tree/avalonia

vector-man commented 1 year ago

I decided to help get WPFHexEditor onto Avalonia. It's going to take quite a long time to rewrite (because of so many projects), so this is looking like months away.

vector-man commented 1 month ago

I just discovered AvaloniHex, a Avalonia hex editor that could solve the hex editor issue.

https://github.com/Washi1337/AvaloniaHex