Slazanger / SMT

Slazanger's Eve Map Tool
MIT License
264 stars 77 forks source link

Feature Request: Support for MacOS and Linux #93

Open rafaga opened 2 years ago

rafaga commented 2 years ago

As part of the migration to .net core 6, should be great to have a version compatible with Linux / MacOS with out using Wine or something like that

this should deprecate the bug #67

martinskalicky commented 1 year ago

++

lorensghassan commented 1 year ago

I am interested in contributing towards the completion of this item; what work remains to be done?

lorensghassan commented 1 year ago

@rafaga I am looking over the dll.config file for the compiled binary for the zip file, it looks like it is target .NET 4.8:

<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />

Although, perhaps there is a newer build than two weeks that is .NET Core, an orphaned file or I am simply misreading it.

Can you associate the PR that adds MacOS support to this issues since you closed it? I went through the PRs and did not see the one that adds this functionality.

rafaga commented 1 year ago

sorry, I think you should talk with @Slazanger (the author) about the current state of the development. Currently I'm winning at eve, so I can't help much right now

lorensghassan commented 1 year ago

@rafaga You closed the issue. If its not resolved, why would you close the issue? That makes no sense.

lorensghassan commented 1 year ago

@Slazanger If this issue is not resolved, please re-open. I am interested in contributing to build out a .NET Core version (not just compatible, but .NET Core binary) / MacOS native compatible version if this issue is not resolved.

ghost commented 1 year ago

bump. wouldn't mind helping out getting the OSX build to work. I primarily play on OSX.

lorensghassan commented 1 year ago

Check out the Avalonia branch; UI needs to be moved to cross-platform framework. Discussion is in the #linux section on Discord for SMT. Forked the branch, starting on it this weekend :)

lorensghassan commented 1 year ago

Resuming development; got distracted by EVE Online. I will pull latest changes and resume development.

If recollection serves, I need to complete the following items: 1) Check for uses of .NET Framework libraries and move them to .NET Core latest. Integrate back into Avalonia Branch. Already completed by development team. 2) Complete UI transition to Avalonia.

I will review the source code tonight (I'm PST) and come back with questions for the development team.

Slazanger commented 1 year ago

.net framework has already been removed and replaced with core 6.0

Slazanger commented 1 year ago

Avalonia has been configured with the docking lib and the individual panels need porting

lorensghassan commented 1 year ago

Shows how slow I am :) Downloading GitHub Desktop now and reconfiguring; I was working from the CLI. Also going to see if I can just use the GitHub plugin inside Visual Studio. Edit: the GitHub configuration in Visual Studio works cleanly, basically the same as Azure DevOps, easy to use. Kind of surprised me, its been awhile since I've used GitHub.

My day to day is pretty much data-focused in Azure, including SQL, data analytics, ETL/ELT, etc, so this is definitely a shift for me. My apologies for being a UI noob, I will ask many silly questions, but where possible I will try to RTM or even RTFM if I am missing some basics.

It looks like the docking framework used here is Avalon Dock (https://github.com/Dirkster99/AvalonDock), reviewing the Dependencies packages in the SMT project. I see Xaml, which makes sense. I also see the WPF and UWP package references. I presume those are used for the panels and I will need to port those to Avalonia. Conceptually, it looks like WPF panels are similar to Avalonia panels, so it looks like the implementation details are what will differ. I will deep dive in this aspects over the weekend.

Okay, did my second code reading (first was just getting a handle last month on basics of UI dev, again apologies for UI noob). A couple questions for the devs, probably @Slazanger:

1) Testing: I don't see any unit or integration tests, and in case it was not visible, I used the "run all" tool inside visual studio, but it came up blank. I could have missed them, however. Are there unit tests for the application? If not, are you okay with me deving against Avalonia Xunit testing or similar? 2) Integrations: Do you use a GitHub Action to run against an integration environment, like a Windows VM in Azure or a Docker container? I can validate against a local machine, but I am curious if you are using other environments. 3) Linting: Do you have a preference for linting plug-ins in Visual Studio?

I see some classes like the 'ResourceLoader' class inside Utils (SMT.ResourceUsage) that seem to be WPF specific that I think might require conversion as well, but those questions can wait until I work on getting some of the components converted over.

jmsbooth commented 9 months ago

+++

rafaga commented 3 months ago

@Slazanger can you change the reporter of this issue. I'm not interested anymore in following the porting of this.

Sorry but I'm doing myself a something similar to SMT in win/linux/mac (and I'm close to finish that), and now exists RIFT intel fusion tool that does the same in windows/mac/linux. Thanks for your time.

Slazanger commented 3 months ago

this is still underway

lorensghassan commented 3 months ago

Yes, definitely. In addition to other folks including @Slazanger actively working on this, I am working through matrix transformations to get the pane to move with the window for cross-platform functionality. I will admit its outside my normal specialty, but its an interesting problem space and I will help contribute until it is completed. Hope to have another commit this week, its been a serious pain for me to figure this out.