Skip to content

WIP: The Avalonia port - #2126

Draft
luizzeroxis wants to merge 345 commits into
UnderminersTeam:masterfrom
luizzeroxis:avalonia
Draft

luizzeroxis wants to merge 345 commits into
UnderminersTeam:masterfrom
luizzeroxis:avalonia

Conversation

@luizzeroxis

@luizzeroxis luizzeroxis commented May 18, 2025 •

Copy link
Copy Markdown
Contributor

Downloads for macOS, Linux and Windows linked here


STATUS: A few features are missing.


I've been working on the Avalonia port of UndertaleModTool for a little while, so I decided to finally make a draft PR for it, in case anyone else wants to help. As discussed in #460 and elsewhere, Avalonia is probably the best choice, since it's multi-platform, works in C# and seems to suck less than alternatives. I tested the current build on Linux and it seems to work fine (except the performance).

Currently, I'm working on making it work as a sort of 'view only' UTMT, so those not on Windows can datamine games, at least. Of course, the architecture still has to be made such that we could later add editing functionality.

But, it is not complete yet. No, it is far from complete. Here's a TODO list of all the things I can think of that need to be done (but there's certainly more):

  • General

    • Open data file
    • Save data file
      • Save debug information
    • Temp run
    • Middle click to open in new tab
    • Keyboard shortcuts
    • Make sure null and non-existent items work
  • Main UI

    • Tree view
      • Filter by name
      • Virtualization
      • Right click menu
      • Reorder resources
    • Tabs
      • Back/forward navigation
      • Open in the same tab
      • Keep tab state
    • Resource ID number
  • Editors

    • General info editor
    • Global init scripts editor
    • Game end scripts editor
    • Audio group editor
    • Sound editor
      • Play audio
      • Deal with audio groups
    • Sprite editor
      • Show first image initially
    • Background editor
    • Path editor
      • Render path
    • Script editor
    • Shader editor
    • Font editor
      • Glyph editor
    • Timeline editor
    • Game object editor
    • Room editor
      • Background properties
      • View properties
      • Instance properties
      • Tile properties
      • Layer properties
      • Render all items
      • Edit all items
      • Select and move items
      • Scale and rotate items
      • Tiles layer editing
      • GMS 1 tile editing
      • Save to image
      • Reorder items
      • Copy and paste items
      • Gray out disabled items
    • Extension editor
      • Product ID
    • Texture page item editor
      • Show item in texture
    • Code editor
      • Syntax highlighting
      • Parent entry
      • Right click stuff
    • Variable editor
    • Function editor
    • Code local editor
    • String editor
    • Embedded texture editor
      • Click item to open
    • Embedded audio editor
    • Texture group information editor
    • Embedded image editor
    • Particle system editor
    • Particle system emitter editor
  • Controls

    • String reference box
      • Choose to replace one/all
    • Resource reference box
    • Flags box
      • Text box
    • Editable data grid
    • Color picker
    • Image viewer
  • Other

    • Basic message dialogs
    • Text input dialog
    • Loader dialog
    • Settings
      • All settings
    • Search in code
    • Find references
    • File associations
    • Icon
  • Scripting

    • Be able run scripts
    • Command textbox
    • Full scripting API
  • Project

    • Open/save projects
    • View unexported assets window
    • View and edit code entry GML
    • Auto mark for export when editing resources

@luizzeroxis luizzeroxis changed the title The Avalonia port WIP: The Avalonia port May 18, 2025
@github-actions

github-actions Bot commented May 18, 2025 •

Copy link
Copy Markdown

@Cheesecake2960

Copy link
Copy Markdown
Contributor

To support Mac with Avalonia, it's better to use NativeMenu. On platforms other than Mac, you can use the NativeMenuBar control to display a typical menu bar.

@HappyRespawnanchor

Copy link
Copy Markdown

nice work :)

@MayaChen350

MayaChen350 commented Jul 23, 2025 •

Copy link
Copy Markdown

Keep it up :3

If there's any way I can reduce the workload by helping out then let me say hi!

@luizzeroxis

Copy link
Copy Markdown
Contributor Author

@MayaChen350 Hi, you're welcome to send PRs to my repo for any features that are missing, thanks

@MayaChen350

MayaChen350 commented Jul 23, 2025 •

Copy link
Copy Markdown

I'll do my best then! I switched to Fedora recently but then it happened I still wanted to make mods for Deltarune, so this PR could be an awesome/a literal life saver (and for other people)

Thank you

@CST1229 CST1229 mentioned this pull request Jul 27, 2025
@JAAYapps

Copy link
Copy Markdown

I would like to help out, I have been working on a version with Avalonia as well and have a working MVVM system
Screenshot 2025-08-14 202515
Screenshot 2025-08-14 203120
Screenshot 2025-08-14 203745
Screenshot 2025-08-14 204419
going.

@YarTom

YarTom commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

Thats. So. Freaking. Cool. Amazing port, you did an incredibly large amount of work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.