Unreal Engine Archives Explorer
Go to file
Rob Trame 3afea6c9fd
feat(#15): migrate MainWindow.xaml + MainWindow.xaml.cs to Avalonia Window (#68)
* feat(#15): migrate MainWindow.xaml + MainWindow.xaml.cs to Avalonia Window

- Replace AdonisWindow root with Avalonia Window, remove all adonisUi xmlns
- Remove TaskbarItemInfo XAML block (guarded stub in code-behind)
- Replace StatusBar/StatusBarItem + WPF Style.Triggers with Border+DockPanel
- Replace Border.Triggers Storyboard with Avalonia Transitions + :pointerover
- Replace ToggleButton WPF trigger style with Avalonia selector style
- Rewrite MainWindow.xaml.cs: remove WPF CommandBindings/RoutedCommand,
  update event handler signatures, add PropertyChanged-based status bar
  color updates and window title updates (replacing WPF DataTrigger logic)
- Add OnLoaded screen sizing via Screens.Primary.WorkingArea
- Add [SupportedOSPlatform(windows)] InitTaskbarInfo stub
- Helper.cs: replace Application.Current.Windows with
  IClassicDesktopStyleApplicationLifetime.Windows, remove Activate()
- App.xaml.cs: wire desktop.MainWindow = new MainWindow()

* fix(#15): remove double UpdateStatusLabel invocation per SetStatus call

OnStatusKindChanged Kind branch now only calls UpdateStatusBarColor().
UpdateStatusLabel() is driven exclusively by the Label branch, which
always fires immediately after Kind during SetStatus() because distinct
enum states always produce distinct label strings — so SetProperty on
Label always raises PropertyChanged, guaranteeing the Label branch runs.
This eliminates the redundant double-invoke without any behavioral change.

* Address review feedback
2026-03-11 21:36:29 -06:00
.github phase2: migrate App.xaml + App.xaml.cs to Avalonia bootstrap (#14) (#67) 2026-03-11 20:32:20 -06:00
.vscode Set up dev env 2026-03-11 15:51:34 -06:00
CUE4Parse@06fbf1aced chore: point CUE4Parse submodule at r6e/CUE4Parse-Linux (#66) 2026-03-11 19:49:17 -06:00
FModel feat(#15): migrate MainWindow.xaml + MainWindow.xaml.cs to Avalonia Window (#68) 2026-03-11 21:36:29 -06:00
.editorconfig update editor config to have space next to casts 2021-10-14 11:40:28 -04:00
.gitignore Finish setting up env 2026-03-11 17:28:01 -06:00
.gitmodules chore: point CUE4Parse submodule at r6e/CUE4Parse-Linux (#66) 2026-03-11 19:49:17 -06:00
LICENSE Re-add GPL-3 license 2021-05-22 16:33:08 -04:00
NOTICE New Explorer System (#619) 2025-12-19 18:34:33 +01:00
README.md Texture Changes & HDR Preview/Export (#559) 2025-04-26 23:01:01 +02:00

FModel - An Unreal Engine Archives Explorer in C#

CI Status Latest Donate Discord


Description:

FModel is an archive explorer for Unreal Engine games that uses CUE4Parse as its core parsing library, providing robust support for the latest UE4 and UE5 archive formats. It aims to deliver a modern and intuitive user interface, powerful features, and a comprehensive set of tools for previewing and converting game packages, empowering YOU to understand games' inner workings with ease.

FModel is actively maintained and developed by a dedicated community of contributors, and welcomes all new contributions and feedback.

Installation:

For installation, follow the instructions from here

Sponsorship:

License:

FModel is licensed under GPL-3, and licenses of third-party libraries used are listed here.