#External Modmanager
1157 messages Ā· Page 2 of 2 (latest)
Iām just back yesterday, managed to catch a nasty cold 
Been taking a look at MVVM stuff in downtime at work, some of it is starting to make sense 
Rest In Peace 
Me be like 
Here I was gonna say - should I take another crack at the gallery display again?
Iāve seen a few examples on WPF and the WPF-ui framework, so think Iāve got some ground for it now
Especially since it looks like updating each of my mods to U5 is literally removing 1 word from the faction specification
You love to see it
, better than needing to start over
100%, very thankful about that one. Iām sure TAPI has some fun with the new update?
Not too much just a few namespaces
Oh nice! Love that!
Ive been doing wpf for nearly 20 years now. If you have questions feel free to ask
It doesn't translate perfectly to Avalonia in all cases
I'm learning avalonia myself recently, so I'm getting a sense for it
I have a personal question
Can WPF be more pretty than 2016 Word design ?
Im pretty sure it can be quite pretty, but also compared to the web technology ?
Ah thank you! At this point I'm accepting that there's nothing you can't do 
It looks any way you want it too
as in, WPF is based around the idea of something they called "Blendability"
every control can be pretty much entirely restyled
you basically just start defining styles in the global scope for specific controls like
<Style TargetType="{x:Type TextBox}">
<Setter Property="Background" Value="Red"/>
<Setter Property="Template">
<ControlTemplate TargetType="{x:Type TextBox}">
<Border Background="{TemplateBinding Background}" BorderBrush="Blue" BorderThickness="1">
<ItemsPresenter /> <!-- I don't think this is actually correct, but its not important for the point -->
</Border>
</ControlTemplate>
</Setter>
</Style>
with that in a global scope (like the App.xaml Resources element) all TextBoxes in the entire app will have a blue border around them with a red background
If you want to be sure to capture all the visual functionality, you can pretty much google "WPF TextBox Templates" and you'll find an article on MSDN about it
this doesn't all translate smoothly to Avalonia, its got a lot of differences in the way they handle things
WPF seems more flexible, but I'm severely biased
More flexible than avalonia ?
yeah, to me, that doesn't mean it is
I don't know Avalonia well enough to make such a statement, I'm just getting started and am severely suffering from adapting to its differences
so at the moment Avalonia feels more rigid, but I could see that changing as I understand it better
stonk
@brave storm Any new findings
Had some busy weeks, being held hostage by things I did not plan and all 
Main != avalonia yet
avalonia_ui?
Myes
There is one I worked on and another battery worked on
Both are avalonia hto
well i cant even get it to detect my .NET 6 SDK so thats a great start
Wasn't it build on .NET 7 ?
nope
lmao it makes no sense... It tells me it needs SDK6, when i change the buildtools to SDK 6 it tells me it cant load the project cuz its configured for SDK7 
<TargetFramework>net7.0</TargetFramework>
bruh what
Maybe it's on 7 but you only have 6 ?
no i have 7
lmfao changing it back fixed it
well whatever, if it works it works
heh this is rough to look at 
do you want to do this MVVM style?
this is how i have one of projects setup
And we don't have any models yet so no folder for that
looks like i didnt push the last version from work though 
that had some stuff in it that would help me
Do you want to stick with ReactiveUI or are you fine with Community Toolkit?
Community Toolkit makes binding quite a lot easier
I think I want to stick with ReactiveUI
Unless you find a good way to...
- Type in searchbox
- Debounce 300ms
- Then fire an method
And it's able to convert the dang page switcher
hmm lemme try
Since that's probably the 2 most complexed things
looks like docs are pretty scarce for community toolkit 
1 attribute?
you still gotta notify stuff of changes i think
in toolkit you just add an attribute to the local field and it'll create the binding for you
In reactive as well
They have a .fody for that
Else you need to write 1 line instead of the atteibute
No poroerty notify stuff
fair enough
Kinda the same, work has been hectic. Had a couple of chances to take a look at it but not much time to work on it sadly
If I feel this weekend better again, I am going to checkout a list view for at least half a day
Sounds good, Hope youāre feeling better soon!
Sorry Iāve not been as active on this as I would like to be
No worries I was neither
So far not so good, my ear just slammed shut with a hard beep and deafness making me dissy. But maybe it's gone in the weekend 
Honestly, about the mod manager, it might be easier to use Electron to make it, if you didn't progress all that much with it.
Wym ?
I noticed you were struggling to make the pages. Electron uses NodeJS and HTML, CSS, and JS. With NodeJS you can download files to the PC and extract archives and move them where you want them and change files (i.e. the file deciding which mods to load), and the rest would be for the graphical interface to show the list of mods, what is downloaded, what is enabled, and so on.
And the Thunderstore Mod Manager is a good example of what the interface could look like, as a source of inspiration, but yours can difer vastly, if you want.
But that's like saying, oh you struggling to make a game with unity, you can also use unreal it uses C++ 
It's more time that's lacking
I might be remembering wrongly, but I remember you striggling with the development stack you used.
If I spent 2 hours in electron it's alsoi not going to be much š
I understand.
True, but we wanted to stick with C# so the ingame/extern can use the same logic for the mod manager
Yeah, I didn't think the issue was how little time you spent, but the unfamiliarity with the development stack.
I see. Do you know which files the mod loader (BepInEx, or how it'sc called) uses to store what mods are loaded/enabled?
No time for it to get used to/make it, but electron would be the same in that sense. But some day we get there!!
BepInex cannot not load something
It's only a modloader it does not manage things for a mod manager
I see, so you need to move the unloaded mods to a different place.
We changing the extension to .disabled so it doesn't know it's a dll
bepinex just loads any dll it sees, even if it's not something that uses bepinex
But I am better again, so I can start catching up 2 weeks of stuff in life in this month.
for external mod manager
Good luck!
I used to do that with minecraft mods. š¤£
Does that actually work on Linux? Since it reads the headers and not the extensions?
Timberborn isnt supported on linux so that wont matter i suppose, it uses wine which emulates windows i think?
Although the external mod manager will be mainly for windows and maybe later linux/Mac
True but no idea how to test ot and the setup is different
We always accept a pr
if you convert it
I have never tried it on linux haha
Would like very much to see a mac version if at all possible. Can maybe lend a hand with it who knows
Very certain there wont be one, but the app it is possible so maybe if its bot too hard to add whenever its created at some point
Okay thanks
I think I may have an old MacBook laying around somewhere that could fulfil a bit of that if needed
Damn, 1 year +1 day!
I'm necro-ing this thread to bring this back. Been making some progress, and am making a fair bit of headway with the UI. Planning to get something which can handle mod 'profiles' to support various mod setups
Progress update
If anyone has any experience with XAML/Avalonia and is willing to let me pick their brains, let me know š
Bit late but, ping me anytime. I'm not super experienced with Avalonia, but I've done WPF for almsot 2 decades
Oh damn! Yeah I may need your help then - I ended up shelving it for a bit, got kinda stuck with the whole MVVM concept and about what goes in what layer 
Like, in principle I understand how mvvm is structured, but thereās a fair bit Iām still getting to grips with
Well the first thing I'll say is don't get discouraged, MVVM tends to be tough for people to pick up for some reason
I say for some reason, because its kinda like learning math, eventually it just makes sense and you don't really understand why it didn't previously
but also, don't get too hung up on the layers stuff
the really important piece of just your View should just avoid doing any kind of business logic, and the ViewModel prepares information from your data sources (the model)
It often feels silly to make both a Model and a ViewModell, and in those cases, I don't, I just make the View Model
One way I think about it for quick and dirty work is that the ViewModel uis where your actual program is, and the View just shows that to the user
but anyways, yeah, Feel free to ask me whatever you need, I've done a bit of avalonia, and most of the concepts transfer from WPF



