#Space Warp

1 messages · Page 1 of 1 (latest)

sacred jasper
#

The Space Warp Modloader

#

<@&1078770539688112168> <@&1079271050644303922> forum thread for space warp

timber cedar
#

👍

sacred jasper
#

The next version of space warp will be able to be loaded as a BepInEx module as well.

stone beacon
sacred jasper
timber cedar
#

Will it have the magic installer exe :D

sacred jasper
#

Thanks to @static mural

craggy musk
#

O come on

#

I spent forever trying to make that rn

static mural
#

I can try to make a magic installer exe if you want

craggy musk
#

I am alread halfway done with the windows

static mural
#

Legit it's just fetch latest build from github api and unzip it

craggy musk
#

just need code

#

@static mural how do you get from the api though?

static mural
#

In docs (I don't exactly remember the route) you can pull from releases or GitHub actions for nightly

#

Hey are the bepinex gang and SpaceWarp gang roles mutually exclusive? Pls fix if they are

craggy musk
#

Ok

#

Uh Oh

#

um the custom exit button doesnt work

#

cntrl alt delete

main ridge
#

@sacred jasper how do i install the new version of SpaceWarp?

sacred jasper
#

I remembered what I am going to do next, I was going to add Roslyn support

craggy musk
#

I messed up the installer @static mural you do it

static mural
#

alr

#

here is what i have so far (lol):

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]) {
    return 0;
}
sacred jasper
#

Yep I am working on roslyn support

static mural
#

Maybe i should do this in C# for octokit

#

hey @sacred jasper i just realized its impossible for actions to work since it relies on ksp2 binaries and i cant redistribute that

#

you can go ahead and merge it if u want all thats changed now is the readme

static mural
#

hey @sacred jasper pls create a new release for bepinex/doorstop - if u want them i can provide binaries

static mural
#

alr

sacred jasper
#

working on a major addition

static mural
#

ok

sacred jasper
sacred jasper
#

In the latest release that I thought I was pinging

graceful fable
sacred jasper
graceful fable
#

Does it? Idk maybe

sacred jasper
#

compare this template to the csproj generator

sacred jasper
graceful fable
#

I guess yeah

sacred jasper
#

<@&1078770539688112168> <@&1079271050644303922>
Going forward, all changes need to be made on a different branch than main, then reviewed and pulled in.

#

@topaz jetty you should send a teaser of the UI into the Intercept Games server

topaz jetty
#

Great idea, will do

little bay
graceful fable
#

I just realized something, why are we enforcing a .bundle naming scheme on asset bundles?

#

thats not a unity standard or anything, unity generates asset bundles without file extensions

#

also why did we change AssetManager to ResourceManager??

#

AssetManager is just a better name

#

@sacred jasper

sacred jasper
sacred jasper
wicked wyvern
#

Also the game files themselves are named like that so it makes sense

sacred jasper
#

This too, it's consistent with KSP

#

But the main reason is that it was dying when someone accidentally dragged over a .manifest

wicked wyvern
#

Yeah that makes sense, I like to add .gitkeep files to make a git folder structure for distribution folders before using post build events so this prevents it from breaking the loader, too

graceful fable
sacred jasper
graceful fable
#

Probably not worth it

graceful fable
sacred jasper
bold stag
#

any issues that need help with? I can help in Python & documentation, and if needed do C#.

#

or is there need for an installer script? For Unix based system perhaps.

sacred jasper
bold stag
#

alright, let me get to it.

wicked wyvern
#

quick question, what's the difference between the channels projects/Space Warp and major-projects/Space Warp?

sacred jasper
#

Projects/space warp is archived in favor of this (even though this might move to its own category

#

Space warp I mean

wicked wyvern
#

ok, thanks for info

sacred jasper
#

The finished projects one is for release info

wicked wyvern
#

Re: Harmony patch duplication, seems to be a thing, the patch is always applied twice, even when the prefix method returns false which should prevent any other prefix patches for the same method from running:
Prepare run null
Prepare run void KSP.Map.Map3DOrbitalMarker::UpdateDisplayState()
Cleanup run void KSP.Map.Map3DOrbitalMarker::UpdateDisplayState()
Cleanup run null
Prepare run null
Prepare run void KSP.Map.Map3DOrbitalMarker::UpdateDisplayState()
Cleanup run void KSP.Map.Map3DOrbitalMarker::UpdateDisplayState()
Cleanup run null

#

(moved the info here from the projects category)

sacred jasper
#

Alright, log the stack trace in the patch applying code to the console

#

Is this the BepInEx or standalone version?

wicked wyvern
#

BepInEx but I was getting the same bug in the standalone version so I'm fairly certain it's an issue in both, I can try it out though

sacred jasper
#

Alright, as I said log the stack trace for it as well

wicked wyvern
sacred jasper
#

Its applying patches when it loads and in post initialization

#

It should only apply patches when it loads

#

thats an easy fix

#

Wait no

wicked wyvern
#

oh I just now noticed, nevermind, this is my fault

#

lol

#

I was calling PatchAll in OnInitialized, didn't realize the mod loader did that already

stoic pier
# sacred jasper

Might be interesting to add a "enabled" tick on the mods. Changes applied on restart.

timber cedar
#

maybe make a todo list, so if someone wants to work on it but doesnt know what stage u at?

wicked wyvern
sacred jasper
#

Though it's currently private

#

@bronze anchor

#

Oh btw @stoic pier I can add you as a maintainer finally

timber cedar
#

:D kk

stoic pier
timber cedar
#

Thats what i was thinking of ^^

stoic pier
#

I’ve been using it on SS3D but haven’t had much exp with it, should be enough for this project

bronze anchor
sacred jasper
timber cedar
#

or make me member and i can see 😏

bronze anchor
sacred jasper
#

@stoic pier you have been sent an invite

sacred jasper
#

It should be public

timber cedar
#

👍

timber cedar
#

sounds good i will

stoic pier
#

A little handle to reorder mods would also be nice

sacred jasper
stoic pier
#

Not sure if that’s how it should work

#

Specially since we have to make a “one size fits all” solution

sacred jasper
#

I don't know if manually messing with load order is the best

#

But I might add a field for soft dependencies to modinfo, and have it load after that if that dependency exists

#

Also we should check on curse forge page and update it

stoic pier
#

Do what you feel is more important atm

#

But I don’t see a why not add it eventually

sacred jasper
#

@solar crystal the dev branch is unstable-testing

timber cedar
#

in c# is

        private bool toggled;

default false or true...

#

nvm its false

sacred jasper
solar crystal
#

workin on it sorry

#

dont have the cli on this machine, tried the stupid desktop software and fucked it up royally

#

it didnt care about the .gitignore in gitignore and cause me all kinds of headaches, dont use the desktop software.

wicked wyvern
#

GitHub Desktop? never had that issue with it

solar crystal
#

oh it was user error, Im just gonna blame them so i dont feel so dumb.

wicked wyvern
#

😆

solar crystal
#

Changed to unstable , sorry again.

timber cedar
#

KSP2 Version..

#

just me or is the ksp text red :D

sacred jasper
#

Not space warp

timber cedar
#

well its the mod template generators fault for not handling * corretly

sacred jasper
timber cedar
#

oh xD

#

nvm

timber cedar
stoic pier
timber cedar
#

👍 i will add logic then

sacred jasper
timber cedar
#

oh ok

#

i will pull

sacred jasper
#

Also mods are ignored with a .ignore file for referenc

#

Put that in the mod folder and it is ignored

#

but for that menu we need a list of disabled mods

timber cedar
#

when are they ignored?

#
        <Reference Include="0Harmony, Version=2.10.1.0, Culture=neutral, processorArchitecture=MSIL">
            <HintPath>..\packages\HarmonyX.2.10.1\lib\net45\0Harmony.dll</HintPath>
        </Reference>
```so like where is this packages folder? do i make it?
#

oh its in the same directory as the csproj

#

lmao why is it ..\

sacred jasper
#

Use nuget

#

thats what you need

timber cedar
#

i fixed it

#

just removed all of the ..\

#

i go uni
im like 70% done

sacred jasper
#

Don't do that.

#

Please do not do that.

#

Last time it was messed with was a nightmare

#

Do the proper thing and install nuget or your prs will be rejected

sacred jasper
#

<@&1078770539688112168> <@&1079271050644303922> do not mess with the .csproj unless you can confirm current build scripts work with a new clone and with an empty nuget cache

#

Or push a change to the build scripts that requires no extra tools

timber cedar
#

alr alr alr

#

:D chill

#

ill do nuget

sacred jasper
#

Just pinging for future reference

timber cedar
#

what is the nuget command to install it?

#

i see there is a nugetconf

sacred jasper
#

choco install nuget.commandline
nuget restore

timber cedar
#

thx, should put that in the readme

timber cedar
#

should i make a "loadedmods.json" or smthing to track what mods are aviable. cuz if theres a .ignore i have no way of detecting it

craggy musk
#

Im back from school!

timber cedar
#

i’m almost back :(

storm quail
#

I cant build the most recent version of SpaceWarp

sacred jasper
#

nuget restore

storm quail
sacred jasper
#

install nuget using choco install nuget.commandline

#

run nuget restore

storm quail
#

Ok, right when I sent that message I found it in visual studio lol

#

had to right click the solution and click restore packages

#

restoring package only gave me more errors

candid sorrel
#

Quick question (continuing from #🔸mod-making-help ):
When you quit to menu, most GameObjects (including mod gameobjects) are being deleted. The code responsible for that is in GameManager.DestroyAllGameObjectsFlowAction.
I found some possible ways around this that could be implemented on a mod level (for instance setting the HideAndDontSave flag so your object isn't found when the destroy method runs)
I'm just wondering if workarounds for that is something individual mods should implement, or will you be looking to implement a mod loader solution for this?

storm quail
#

I got it build

#

Finaly lol

sacred jasper
#

I'll see what I can do before 0.3.0

hollow cypress
#

just setting gameObject.tag = "Game Manager" works on individual mod

candid sorrel
#

The cleanest solution would probably be to register your own tag in the _dontDestroyTags but afaik Unity tags can't be added at runtime.

candid sorrel
#

Not sure about HideAndDontSave. In theory, if mods are registered in the spacewarp manager anyway, it's not important that they can't be found using unity's methods

candid sorrel
#

opened an issue with my findings for now

sacred jasper
#

One idea, nuget repository for SpaceWarp.dll

#

So that nuget can be used to find space warp references

wicked wyvern
#

that would be pretty helpful

sacred jasper
#

<@&1078770539688112168> I need one of you to review my PR

#

@alpine tendon

private List<(string text, Sprite icon, string ID, Action<bool> action)> _buttonsToBeLoaded =
            new List<(string text, Sprite icon, string ID, Action<bool> action)>();
        public T RegisterGameToolbarMenu<T>(string text, Sprite icon, string id) where T : ToolbarMenu
        {
            GameObject toolBarUIObject = new GameObject($"Toolbar: {id}");
            DontDestroyOnLoad(toolBarUIObject);
            ToolbarMenu menu = toolBarUIObject.AddComponent<T>();
            menu.Name = text;
            toolBarUIObject.transform.SetParent(transform.parent);
            toolBarUIObject.SetActive(true);
            _buttonsToBeLoaded.Add((text,icon,id,menu.ToggleGUI)); 
            return menu as T;
        }

        private void LoadAllButtons()
        {
            foreach (var button in _buttonsToBeLoaded)
            {
                ToolbarBackend.AddButton(button.text, button.icon, button.ID, button.action);
            }
        }

This is the code for it
The text and ID do get hooked up?

alpine tendon
#

line 44 in SpaceWarp/API/Toolbar/ToolbarBackend.cs

#

it's my bad

sacred jasper
#

<@&1078770539688112168> <@&1079271050644303922> be prepared for a chain of pushes for spacewarp 0.3.0 tomorrow

sacred jasper
wicked wyvern
#

wanted to do a test build and encountered an issue with builder.py where because my OS is not in English, the Nuget output contained invalid UTF-8 bytes, managed to bypass it by changing the encoding to cp1250 in the line for line in str(nuget_out.stdout, "utf-8").splitlines():

#

curiously, that didn't happen during 0.2 builds, not sure what changed

frosty anchor
#

We finally got a toolbar? Awesome!

thorny sky
#

I'm trying to build for bepinex, and running into the following:

BepInExEntrypoint.cs(6,6): error CS0012: The type 'MonoBehaviour' is defined in an assembly that is not referenced. You must add a reference to assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
as well as a ton of prints like this
MainMenuPatcher.cs(12,26): error CS0246: The type or namespace name 'KSP' could not be found (are you missing a using directive or an assembly reference?)
(with namespaces like KSP, KerbalMonoBehaviour, JsonObject, etc.)
do I need unity installed or something?

sacred jasper
#

did you copy dlls?

thorny sky
#

lol I skipped ahead to "build scripts", good call

#

nice, it's building

#

should I be installing bepinex 5 or 6?

sacred jasper
#

5

hollow cypress
#

is OnInitialized() called before, between or after Awake() and Start() ?

hollow cypress
#

ty

little bay
sacred jasper
#

<@&1078770539688112168> <@&1079271050644303922> it has been pointed out to me, that if we switched to BepInEx and to a library format, that we can use thunderstore and the thunderstores mod manager out of the box, I would like discussion on this, as it would make modding stuff easier it seems. This would be a somewhat large infrastructure change, but it could be beneficial in the long run. This also solves the mod loader debate once and for all.

#

Thunderstore could also be used without it as well, but it might be an interesting thing to discuss

#

There is also the idea of adding a command line switch to switch the mods folder to an external directory

#

That I can quickly add

#

I am quickly adding support for thunderstore stuff

#

<@&1078770539688112168> thunderstore mod manager support is on unstable-testing

little bay
#

(i need to get it added to TMM to be clear, you can't use it before that)

sacred jasper
little bay
#

wwise version is 2021.2.10, if you want to load a bank you have to use AkSoundEngine.LoadBankMemoryView instead of LoadBank for some reason, simplest version of this is something like

var bytes = File.ReadAllBytes("Z:\\storage/Games/SteamLibrary/steamapps/common/Kerbal Space Program 2/BepInEx/plugins/SpaceWarp/epic.bnk");
AkSoundEngine.LoadBankMemoryView(GCHandle.Alloc(bytes, GCHandleType.Pinned).AddrOfPinnedObject(), (uint)bytes.Length, out uint bankId);
#

if you have to do this after KSPAudioInitializer.Initialize or the load will fail, this shouldn't be a problem for spacewarp plugins since they load in the loader screen after this method (i think) but bepinex plugins will need to postfix that method and load there (or add themselves to the loading screen too)

#

i would've thrown this in #🔴tools or #🔴tools-and-resources or something, but I can't post there kekw

#

after that its just normal wwise stuff, you can look at the docs

little bay
#

thats all i can do until the nuget package is up

#

still a lot nicer though

#

the entire new csproj is

<?xml version="1.0" encoding="utf-8"?>
<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
        <Version>0.2.0</Version>
        <TargetFramework>netstandard2.0</TargetFramework>
        <LangVersion>11</LangVersion>
        <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
        <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
        <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
    </PropertyGroup>
    <ItemGroup>
        <Reference Include="Assembly-CSharp">
            <HintPath>..\external_dlls\Assembly-CSharp.dll</HintPath>
            <Publicize>true</Publicize>
        </Reference>
        <Reference Include="Unity.TextMeshPro">
            <HintPath>..\external_dlls\Unity.TextMeshPro.dll</HintPath>
        </Reference>
        <Reference Include="UnityEngine.UI">
            <HintPath>..\external_dlls\UnityEngine.UI.dll</HintPath>
        </Reference>
    </ItemGroup>
    <ItemGroup>
      <PackageReference Include="BepInEx.BaseLib" Version="5.4.21" />
      <PackageReference Include="HarmonyX" Version="2.10.1" />
      <PackageReference Include="BepInEx.PluginInfoProps" Version="2.1.0" PrivateAssets="all" />
      <PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.5.0" />
      <PackageReference Include="Newtonsoft.Json" Version="12.0.1" />
      <PackageReference Include="UnityEngine.Modules" Version="2020.3.1" />
      <PackageReference Include="BepInEx.AssemblyPublicizer.MSBuild" Version="0.4.0" PrivateAssets="all" />
    </ItemGroup>
</Project>
#

i also switched to netstandard2.0 and C# 11, ns2.0 is a bit easier to build everywhere than fx472 and C# 11 just... has more stuff available

#

(the old csproj was 208 lines btw)

sacred jasper
#

I shall look at it in a bit, I have a class soon-ish

alpine tendon
sacred jasper
#

The one issue with this is it will break mods compiled with the prerelease, but that's why it's a prerelease

alpine tendon
#

@little bay I think the latest unstable commit is causing the game to get stuck when loading a save

little bay
#

seems like an odd place to get stuck

#

it at least loaded while I was testing it fine

#

though I only tested loading through BepInEx, I assumed standalone was also fine since they don't really have different logic

alpine tendon
#

I'm using the standalone

sacred jasper
sacred jasper
sacred jasper
wicked wyvern
#

save file loaded fine for me using the BepInEx version, but Unity Explorer seems to have stopped working even though it's loaded in the mod list, and other some other mods are broken too:
[Space Warp] [Critical] Exception in Mod: unity_explorer AfterInitialization(): System.MissingMethodException: void SpaceWarp.API.Logging.BaseModLogger.Info(string)
at SpaceWarp.API.SpaceWarpManager.InvokePostInitializeModsAfterAllModsLoaded () [0x0001a] in E:\KSP Stuff\KSP 2 Modding\Mods\SpaceWarp\SpaceWarp\API\SpaceWarpManager.cs:555

#

even though they clearly have a OnInitialized method

sacred jasper
#

Any mod that logs to the console will break in this next update then...

wicked wyvern
#

alright, good to know 😁

sacred jasper
#

I'll recompile unity Explorer mod for the next version

#

Or just switch it to roslyn

hollow cypress
#

hey, is there a quick primer for accessing the new toolbar btn

#

in flight

sacred jasper
#

In class right now

hollow cypress
#

all g, no rush

#

spacewarp is the best

sacred jasper
#

For an example though, see lazy orbits 0.3.0 branch

alpine tendon
#

I'd like to introduce a one line option to create an appbar button if that's alright

hollow cypress
#

oo ty, will do

sacred jasper
alpine tendon
#

I think just grabbing the skin from spacewarp is the better solution for me

sacred jasper
#

Fair

#

Would likely work better for @hollow cypress to have that one liner

hollow cypress
#

the lazyorbit solution looks fairly straightforward, but yeh up to u

#

one question tho - wheres the button image sourced from? do we need to make it ourselves

sacred jasper
#

The latter yes

hollow cypress
#

oki ty

static mural
#

I just thought of a way to get ksp2 dlls dynamically

sacred jasper
#

Won't be an issue in the future

static mural
#

Store Steam username/password as a secret,
Then use DepotDownloader in the GitHub action

static mural
sacred jasper
#

@lime plaza is space warp integration for custom parts feasible?

#

Because I might push back 0.3 release to add this.

wicked wyvern
#

seems to me like 99% of the work happens in Unity

#

in SpaceWarp all you'd need is support for loading addressables

sacred jasper
#

Will add a /assets/addressables folder

#

There is one issue though

#

The load path won't always be in the KSP path if we use thunderstore in the future

#

But there is an easy fix for that ... we create an addressables folder and copy all mods addressables files into there but delete that folder on launch

little bay
#

do addressables need to be in a specific folder?

alpine tendon
#

hey cheese can I make _buttonsToBeLoaded static? it would make it a complete oneliner

sacred jasper
#

I'll look more into it

little bay
#

that's... funky

sacred jasper
#

But the tutorial uses a custom load path relative to the game

little bay
#

but I've also never seen a mod use addressables, so

sacred jasper
#

I can set it up such that it still works

little bay
#

I wouldn't actually know

static mural
#

Each mod: /SpaceWarp/[mod]/assets/addressable/
Runtime: Merge into: /SpaceWarp/.addressables_merged/

#

Would that work?

sacred jasper
#

[Game path]/SpaceWarp/.addressables/mod/...
We need to maintain support for SpaceWarp being loaded from other places

wicked wyvern
#

is there any reason for the new logger to use this syntax which is introducing breaking changes:
Logger.Info("dumping x: {0}", x);
over just
Logger.info($"dumping {x}");
which turns into pretty much the same thing at compile-time but keeps 0.2 mods compatible?

#

afaik, string interpolation is usually the preferred approach over string.Format

sacred jasper
wicked wyvern
#

just a thought

#

maybe there's a good reason for it but I'm not aware of it

#

deleting that second logger parameter indeed fixed the issues with the mods, I'll put in a PR and either it gets accepted or not if there's a reason for it to be like this

mossy kraken
#

Looks like a messed up, you are indeed correct that it will ruin compatibility

wicked wyvern
#

the pr is up, from what I'm reading, seems like $"" and string.Format are indeed interchangable

sacred jasper
#

<@&1078770539688112168> <@&1079271050644303922> I am adding addressables support in the next update

#

The path for addressables to load from when making them will be Game/SpaceWarp/.addressables/mod_id

sacred jasper
lime plaza
#

Nope

sacred jasper
#

The assets go in Mod/assets/addressables

lime plaza
#

Yes, you can load from there

#

Thats what the vanilla loader does

sacred jasper
#

I am doing this for the case when Space Warp is not loaded from in the game directory.

#

Which it has support for

#

@lime plaza

lime plaza
#

It doesn't matter where space warp is loaded from, as long as the current working directory is still the Kerbal Space Program 2 folder

sacred jasper
#

SpaceWarp loads all assets relative to its assembly location

lime plaza
#

That will cause many issues

sacred jasper
#

I have it copy addressable stuff into the game folder

lime plaza
#

That feels wack

sacred jasper
#

Not really?

#

The reason for this is so if we want to use something like thunderstore it makes it 10x easier

lime plaza
#

Let me test something, those paths might accept a variable

sacred jasper
#

Alright

lime plaza
#

Correction, they do accept a variable, lets see if we can add variables they will accept

lime plaza
#

{Variable}/Rest of path

#

I'm trying to find a variable to test with

#

That one should work

#

Seeing if I can go relative to KSPUtil.ApplicationRootPath

sacred jasper
#

That's not gonna change anything as it needs to be spacewarps root path

lime plaza
#

Make a variable SpaceWarp.RootPath, or better SpaceWarp.ModsFolder

#

If that doesn't work we can always find + replace in the json file

sacred jasper
lime plaza
sacred jasper
#

SpaceWarpManager.MODS_FULL_PATH

lime plaza
#

Got it, thanks java dev

sacred jasper
#

Also @lime plaza can you send me the unity project for your custom part test?

sacred jasper
#

I have thunderkit installed and KSP imported but don't see any of the assets

sacred jasper
# lime plaza

I have the KSP2_x64 stuff but it seems to be only assemblies?

lime plaza
#

THe assemblies are the important part

alpine tendon
sacred jasper
#

@lime plaza I am going to push my current addressables right now

hollow cypress
alpine tendon
#
SpaceWarpManager.RegisterAppButton(
    "Lazy Orbit",
    "BTN-LazyOrbitButton",
    SpaceWarpManager.LoadIcon(),
    ToggleButton);
#

that's it

sacred jasper
#

Is there still the toolbar menu class support?

alpine tendon
#

yes

sacred jasper
#

I looked through it, I should've remembered

alpine tendon
#

and ping me when you get it set up

#

I wanna see!

hollow cypress
#

can u pass me that build, im not setup to compile it

#

would love to test b4 0.3 release tho, if possible

sacred jasper
#

@alpine tendon

#

I'm doing stuff on a separate branch so I can't build

alpine tendon
#

I'm like 70% certain that's the right build

hollow cypress
#

nice ty yep

alpine tendon
#

you run RegisterAppButton from OnInitialized btw

hollow cypress
sacred jasper
hollow cypress
#

all works except the name haha

#

very nice

lime plaza
#

This is what the custom part looks like

#

@sacred jasper Load path {SpaceWarp.API.SpaceWarpManager.MODS_FULL_PATH}/testPart/StandaloneWindows64

#

I guess {SpaceWarp.API.SpaceWarpManager.MODS_FULL_PATH}/testPart/addressable/StandaloneWindows64

sacred jasper
#

Lemme quickly fix the loader in space warp

lime plaza
#

I'll probably work seeing if I can add localization support, since the mod name currently just doesn't load

sacred jasper
#

Pushed to addressables branch

sacred jasper
#

@lime plaza can you test space warps addressable path, I can't right now

lime plaza
#

How do I build the branch?

sacred jasper
#

After you restore it w/ nuget

#

Better yet @lime plaza can you just send me the assets built with that load path?

lime plaza
sacred jasper
lime plaza
#

Yup

sacred jasper
#

all right imma test after lunch

lime plaza
#

I'm about to test

sacred jasper
#

Then this might be everything necessary for 0.3.0 then we make documentation on the wiki

lime plaza
sacred jasper
lime plaza
sacred jasper
#

Odd

lime plaza
#

it breaks with no addressables

sacred jasper
#

I'll have to look into it after lunch

#

Definitely have to look into that one

lime plaza
#

Whats up with this:

namespace SpaceWarp.Patching.LoadingActions;
sacred jasper
lime plaza
sacred jasper
#

@lime plaza the patch error is in the main menu patcher

lime plaza
#

Yes

#

I do not know how to fix it though

sacred jasper
lime plaza
#

Actually it might be

#

I dunno how any of this works

sacred jasper
#

This commit is the version that breaks it I think

#

@little bay

#

@lime plaza

#

(Note I figured this out by going up the commit history and building those versions

alpine tendon
#

not really based on anything but I'd double check that harmony is working properly since that commit

#

loading the save coincides with the flight UI harmony patch

sacred jasper
#

Gonna test by removing the lmain menu patch rq

lime plaza
sacred jasper
#

Its the main menu patcher that's the issue for some reason

alpine tendon
#

I'm referring to the game getting stuck on "applying legacy part modules" when you load a save, that was introduced in that commit

hollow cypress
#

do u think a fix is possible for the app toolbar names? or is it buried under localization

sacred jasper
lime plaza
#

Is it this?

sacred jasper
alpine tendon
lime plaza
little bay
#

you don't need it

#

0Harmony.xml contains the docs

#

nothing else

lime plaza
#

I dunno what is causing it then

hollow cypress
alpine tendon
#

would you send me your source so I can investigate?

sacred jasper
little bay
#

it doesn't look like it's just breaking harmony patches

hollow cypress
sacred jasper
sacred jasper
#

Why is it trying to load a null type???
[ERR 14:13:41.803] Failed on + Failure has occurred while loading a type.

#
[ERR 14:13:41.803] HarmonyLib.HarmonyException: Patching exception in method void KSP.Game.StartupFlow.LandingHUD::Start() ---> System.TypeLoadException: Failure has occurred while loading a type.
  at HarmonyLib.Patch..ctor (HarmonyLib.HarmonyMethod method, System.Int32 index, System.String owner) [0x00031] in <4a2409e6eb214388b8d6ab81d407350d>:0 
  at HarmonyLib.PatchInfo+<>c__DisplayClass24_0.<Add>b__1 (HarmonyLib.HarmonyMethod method, System.Int32 i) [0x00000] in <4a2409e6eb214388b8d6ab81d407350d>:0 
  at System.Linq.Enumerable+<SelectIterator>d__154`2[TSource,TResult].MoveNext () [0x0005a] in <351e49e2a5bf4fd6beabb458ce2255f3>:0 
  at System.Collections.Generic.LargeArrayBuilder`1[T].AddRange (System.Collections.Generic.IEnumerable`1[T] items) [0x0005e] in <351e49e2a5bf4fd6beabb458ce2255f3>:0 
  at System.Collections.Generic.SparseArrayBuilder`1[T].AddRange (System.Collections.Generic.IEnumerable`1[T] items) [0x00000] in <351e49e2a5bf4fd6beabb458ce2255f3>:0 
  at System.Collections.Generic.SparseArrayBuilder`1[T].ReserveOrAdd (System.Collections.Generic.IEnumerable`1[T] items) [0x00017] in <351e49e2a5bf4fd6beabb458ce2255f3>:0 
  at System.Linq.Enumerable+Concat2Iterator`1[TSource].ToArray () [0x00015] in <351e49e2a5bf4fd6beabb458ce2255f3>:0 
  at System.Linq.Enumerable.ToArray[TSource] (System.Collections.Generic.IEnumerable`1[T] source) [0x0001f] in <351e49e2a5bf4fd6beabb458ce2255f3>:0 
  at HarmonyLib.PatchInfo.Add (System.String owner, HarmonyLib.HarmonyMethod[] add, HarmonyLib.Patch[] current) [0x00058] in <4a2409e6eb214388b8d6ab81d407350d>:0 
  at HarmonyLib.PatchInfo.AddPostfixes (System.String owner, HarmonyLib.HarmonyMethod[] methods) [0x00000] in <4a2409e6eb214388b8d6ab81d407350d>:0 
  at HarmonyLib.PatchClassProcessor.ProcessPatchJob (HarmonyLib.PatchJobs`1+Job[T] job) [0x00073] in <4a2409e6eb214388b8d6ab81d407350d>:0 
   --- End of inner exception stack trace ---
  at HarmonyLib.PatchClassProcessor.ReportException (System.Exception exception, System.Reflection.MethodBase original) [0x00045] in <4a2409e6eb214388b8d6ab81d407350d>:0 
  at HarmonyLib.PatchClassProcessor.Patch () [0x00093] in <4a2409e6eb214388b8d6ab81d407350d>:0 
  at HarmonyLib.Harmony.<PatchAll>b__11_0 (System.Type type) [0x00007] in <4a2409e6eb214388b8d6ab81d407350d>:0 
  at HarmonyLib.CollectionExtensions.Do[T] (System.Collections.Generic.IEnumerable`1[T] sequence, System.Action`1[T] action) [0x00014] in <4a2409e6eb214388b8d6ab81d407350d>:0 
  at HarmonyLib.Harmony.PatchAll (System.Reflection.Assembly assembly) [0x00006] in <4a2409e6eb214388b8d6ab81d407350d>:0 
  at Doorstop.Entrypoint.InitializePatches () [0x0000d] in C:\Users\arall\SpaceWarp\SpaceWarp\Entrypoint.cs:63 

[ERR 14:13:41.803] Failed on  + Failure has occurred while loading a type.
little bay
#

hm

#

you could try swapping the target framework to net472

sacred jasper
#

That might be it, gimme a sec

little bay
#

a bit annoying if that fixes it, but oh well

sacred jasper
little bay
#

funky

sacred jasper
#

@lime plaza I pushed the update, mind testing it

little bay
#

it probably has something to do with the game only referencing mscorlib for some reason

#

and not netstandard.dll

wicked wyvern
#

that's weird, I'm on a build from the commit before the fix and have no issues

little bay
#

are you loading through BepInEx

sacred jasper
#

It was broken with both bepinex and doorstop for me

little bay
#

weird

alpine tendon
#

.net 4.7 and 4.8 are the magic numbers for ksp1

sacred jasper
#

@lime plaza where does that addressables part add to

alpine tendon
#

@hollow cypress it works fine for me

hollow cypress
#

o.O

alpine tendon
#

great mod btw I hadn't used it before now

#

this will be really helpful

hollow cypress
#

all g

#

ill wait for 0.3 release and check again, might be fixed

alpine tendon
wicked wyvern
#

yep tested it again to make sure

#

definitely works for me with netstandard2.0

#

loads unity_explorer and all harmony mods correctly

hollow cypress
alpine tendon
#

ah shit

hollow cypress
#

wat

wicked wyvern
alpine tendon
#

if it still doesn't work I will be very confused

little bay
#

yeah not sure why it's a typeloadexception

hollow cypress
#

someoen else got the name bug when first loading a vessel onto pad, but reverting fixed it apparently

#

ok yeh reverting fixes for me too

#

my situation was just loading into game, loading a premade vessel in VAB, then launching, that produces name duplication

#

nbd tho

wicked wyvern
#

the issue definitely had to be somewhere in MainMenuPatcher, not sure why changing framework target would fix it though

alpine tendon
#

I'll try fixing it

hollow cypress
#

ok nice

alpine tendon
#

didn't click for me earlier

hollow cypress
#

yeh localization is a mess

sacred jasper
#

About to push a prerelease 2

#

then look into that

lime plaza
#

I was about to start working on localization

hollow cypress
#

oh sorry, not in ur project, i mean the base game lol

lime plaza
#

I meant for space warp

#

Is ModCompiler.cs used?

sacred jasper
#

I'll add documentation on Roslyn compilation

lime plaza
#

For now, can I keep building the mod manually?

sacred jasper
#

Yes

#

but you can put cs code in src/ just the error output sucks

hollow cypress
#
[LOG 07:27:03.426] [07:27:03.426] [Space Warp] [Error] Directory not found: /bin/```
#

on latest prerelease

sacred jasper
#

I should've quickly tested Path.Combine stuff

candid sorrel
#

same issue for me

sacred jasper
#

I know what the issue is

#

Test now

#

@hollow cypress @candid sorrel I just quickly updated a fix to it

lime plaza
#

Its not even trying to load my mod

sacred jasper
#

All I did between that was update a bunch of stuff to Path.combine

lime plaza
#

It wasn't before either

candid sorrel
#

i think you pushed the fix to pre-release 1

lime plaza
#

Which branch are we working from?

candid sorrel
#

we're looking at (pre-)releases

sacred jasper
#

Alright prerelease fix works

hollow cypress
#

yeh works thx

lime plaza
#

Are we not on a branch?

sacred jasper
lime plaza
sacred jasper
#

"It works on my machine"

little bay
lime plaza
wicked wyvern
#

yeah that couldn't have been just fixed by a target framework switch

sacred jasper
#

@lime plaza try clearing out your nuget packages?

#

that wouldn't change anything tho

lime plaza
#

Its definitely something with my build

#

Just pulled pre-release 2, got directory not found /bin/ but no harmony errors

sacred jasper
lime plaza
#

[LOG 15:46:31.873] [15:46:31.873] [Space Warp] [Info] Found mod: custom-flags, attempting to load mod
[LOG 15:46:31.874] [15:46:31.874] [Space Warp] [Error] Directory not found: /bin/

sacred jasper
#

Try repulling

lime plaza
candid sorrel
#

for me only the pre-release 1 has the bin fix

#

i think you uploaded the fix on that

sacred jasper
#

@lime plaza fix has been pushed

lime plaza
#

Oh, I see it

#

That is a build of what is on unstable-testing right?

lime plaza
sacred jasper
#

I do want to get 0.3.0 out tonight

candid sorrel
#

Did something change with the GUISkin? My mod no longer loads that correctly, neither through ResourceManager.TryGetAsset nor through SpaceWarpManager.Skin

alpine tendon
#

fixed it by deleting the localizer

sacred jasper
candid sorrel
#

gonna try cleaning my folders up and reinstalling most of the stuff

#

yeah its not working. this is on the bepinex version for reference

#

the original 0.3.0-prerelease 1 works

#

the new one doesn't

sacred jasper
#

@candid sorrel ui doesn't work on bepinex, will make fix

#

build the fix bepinex ui branch

#

but ill likely force push it into unstable testing

#

@candid sorrel

#

will put updated build on prerelease

#

Prerelease has been updated

lime plaza
#

@sacred jasper slight bug string catalogPath = Path.Combine(addressablesPath,"/catalog.json");

sacred jasper
#

Fix has been released

candid sorrel
sacred jasper
#

I am going to take a quick nap ... Then work again

sacred jasper
#

<@&1078770539688112168> <@&1079271050644303922> while I nap, what do we need done to push out 0.3.0

#

Anyone?

timber cedar
#

:D

#

merge 👀

#

i review u pr

#

i need if we can maybe do a click through blocker, but that might take an entire release to do

#

i started rewriting the class just didn’t have time to finish

static mural
#

wow im late again

#

yeesh

#

its only been a few hours since school started wow

#

i mean it ended but still

timber cedar
#

i’m still at school xdd

#

why so much development when i can’t help

sacred jasper
#

Fixed ui

static mural
#

nice!

#

btw im rewriting the installer frontend in typescript with a proper vite dev server and stuff to minimize bugs and stuff

alpine tendon
#

What are the benefits of providing an installer?

timber cedar
timber cedar
#

no need to use it

#

just wanted to make something

static mural
#

i havent seen it lol - i just started working on it lol

timber cedar
#

it’s dogshit trust me

lime plaza
#

I spent 5 hours working through a line endings issue

timber cedar
#

average ksp modder

lime plaza
#

Almost

static mural
#

sounds like i need to warm up my scss skills

#

also looking at the rust code - did you have, like, a time limit to make this or something?

#

me like more than one file for code or else readability go brrrrrrrrrrrrrrrrr

timber cedar
#

it’s rust

#

no readability

static mural
#

thatll do it

timber cedar
#

if u improve 100% approve pr

static mural
timber cedar
#

this is my first time ever writing rust

static mural
#

ok

#

i have some experience so i think i can fix stuff

timber cedar
#

gogo

static mural
#

also im gonna improve install path checking - for users like me who have the steam library at D:\SteamLibrary im gonna add a check in this file: C:\Program Files (x86)\Steam\config\libraryfolders.vdf to get all the steam library directories

timber cedar
#

very good

#

fuck i spent like 2 hours trying to find that file xdd

#

couldn’t make it work

static mural
#

lol

#

im gonna have to use a vdf parser library like vdf-rs

timber cedar
#

npnp

sacred jasper
# lime plaza Almost

Does this need to be added into space warp or is it specific to the addressable

lime plaza
timber cedar
#

lang files?

#

language?

lime plaza
timber cedar
#

ooh

#

i can translate space warp :)

lime plaza
#

Some things in the base game have to use the translation system

timber cedar
#

is it tied to the in game lang options?

sacred jasper
#

We should start using the translation system for space warp too

#

That'll be post-0.3.0

timber cedar
#

:(

#

what’s that website for translations

#

hmm

sacred jasper
#

@lime plaza could you start writing documentation on part modding w/ localization for spacewarp

lime plaza
sacred jasper
sacred jasper
#

@river hawk we were working on making a port of ClickThroughBlocker for Space Warp, but noticed its under the LGPL license, meaning we would likely have to compile it and add it as a dependency, as SW uses MIT, any insights on this?

static mural
#

🙂

static mural
timber cedar
#

i will test on my install

static mural
#

im not done but ok

timber cedar
#

then dont pr :D

little bay
#

hardcoding the steam directory aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

static mural
#

lol

static mural
#

exactly lol

timber cedar
sacred jasper
#

<@&1078770539688112168> <@&1079271050644303922>
We are going to pause major feature changes for now to work on documentation for everything we have.

sacred jasper
lime plaza
sacred jasper
wicked wyvern
#

get together a few "barely-knows" and you'll have a full 1 knowledge munley

sacred jasper
#

But I want 2 knowledge

sacred jasper
candid sorrel
#

What version was that? I'm using the latest 0.3.0 spacewarp for bepinex release on github and don't have any issues

#

is the github release different from the one on spacedock?

sacred jasper
#

They should be the same

static mural
#

I'll take a look

#
[EXC 20:23:29.702] NullReferenceException: Object reference not set to an instance of an object
    KSPTestMod.KSPUtils.FixVesselSituation () (at <ca3de388e99b41b387f23a41e1d93537>:0)
    KSPTestMod.KSPUtils.Update () (at <ca3de388e99b41b387f23a41e1d93537>:0)
#

@sacred jasper

hollow cypress
sacred jasper
solar crystal
#

For all the people that have asked, yes we are working on adding toolbar buttons to the vab. In fact were almost there. Weve also created custom part catagories. The UI stuff just takes a hot minut to get working right.

solar crystal
#

Ive been busy 🙂

hollow cypress
#

pog

sacred jasper
#

I won't be doing much work today

hollow cypress
#

take a break, u earnt it

#

0.3 is great

alpine tendon
sacred jasper
hollow cypress
#

any plans to add mod settings in the spacewarp menu?

wicked wyvern
#

that's already a thing

hollow cypress
#

oh nice

#

any mods using it? that i could see how it works

wicked wyvern
#

I don't think so

hollow cypress
#

ty

wicked wyvern
#

@sacred jasper lol they just merged your thread into the old one so it's buried at the bottom of the page

#

(in the forums)

wicked wyvern
#

how did he not get what the intention was munley

lime plaza
sacred jasper
#

For now send me a copy of your tutorial that you want to write, and I'll post it in #🔴tools-and-resources @lime plaza

#

You can also clone the wiki and pr i think?

lime plaza
#

The wiki is a separate repo, not a branch, so while I can clone it, I'm not sure I can pr it.

sacred jasper
#

I'll make sure to credit you

#

Sound good to you adam?

lime plaza
sacred jasper
sacred jasper
#

<@&1078770539688112168> could someone else review the pull into main, it adds issue templates and a few other QOL improvements when dealing with space warp

timber cedar
#

yessir

#

reviewed @sacred jasper u can pull

#

u sure u want to make an issue template 👀
lol just gonna be all ksp bugs..

sacred jasper
#

odd @mossy kraken the templates aren't working?

timber cedar
#

^^

#

@sacred jasper could you delete the SpaceWarpDocs repo, i need to redo it without public template 😭

sacred jasper
timber cedar
#

but i wanna name it the same ;-;
the contents is useless dw, i messed up the install

#

:D

sacred jasper
#

Imma quickly give myself force perms for a moment

#

@mossy kraken

#

I'm gonna quickly make my own versions of these and see what happens

timber cedar
#

guys im almost done porting to readthedocs

#

if u wanna start using that

sacred jasper
#

@mossy kraken

#

I set up issue templates

#

Removing force perms now

mossy kraken
#

Ahh okey 😄 Awesome

timber cedar
#

🥺 maybe delete docs repo

sacred jasper
#

Done

timber cedar
#

tthx :D

#

obv just starting

#

had to rewrite md to rst

sacred jasper
lime plaza
timber cedar
#
make.bat html
#

and then

#
sphinx-autobuild source/ build/html/
#

need to install the python stuff tho

old horizon
#

Is there anyway to have keybindings in a mod config? It would be nice to have keybinding input integrated into the mod configure UI

timber cedar
#

toolbar for that...

#

i guess it is possible

old horizon
#

Will do

sacred jasper
#

I need to do a complete redo of the configuration UI system

#

Not the API but the UI

#

@timber cedar likely should add a link to the readthedocs page in the repo

timber cedar
#

sec

#

in readme?

sacred jasper
#

mhm

lime plaza
#

checking consistency... E:\Programming\KSP2\SpaceWarpDocs\source\modinfo.json.rst: WARNING: document isn't included in any toctree

timber cedar
#

uh

#

just warning

#

ill add it in a bit

#

when i figure out what it is

sacred jasper
timber cedar
#

thx

#

i made pr

#

idk if to main or unstable?

#

i made main

sacred jasper
#

I was meaning on the readthedocs repo

timber cedar
#

ah xd

sacred jasper
#

I'll close my pr though

#

Goddamnit

timber cedar
#

did it

sacred jasper
#

we are both doing the exact same thing at the same time

timber cedar
#

:D

sacred jasper
#

@lime plaza add this to the index.rst file in the toctree
modinfo.json.rst

timber cedar
#

im dumb

#

xdd

#

alr fixed

#

rebuilding live docs

lime plaza
#

@timber cedar Why does my page vanish from the sidebar when viewing any page other than it and index?

timber cedar
#

im trying to fix it

#

well its working rn

#

so idk

#

im gonna push rn and you can see if it still breaks

lime plaza
#

PR up

timber cedar
#

k

#

i pushed

#

i gtg uni

#

ping if anyhting

alpine tendon
#

@sacred jasper since you mentioned it, doing it like this would be cool

sacred jasper
wicked wyvern
#

since with a larger number of mods the one-page layout could get pretty cluttered

alpine tendon
#

yeah that might be better

#

we'd have to add a mods button here and on the main menu for that to work

timber cedar
#

@sacred jasper

## Version Information

###### **KSP 2 Version**
The KSP 2 Version

###### **Space Warp Version**
The Space Warp Version (we do not fix bugs any releases that aren't the latest)
```how about this
timber cedar
#

k

lime plaza
#

@timber cedar Made another pr

timber cedar
#

k

#

no modding tutorial?

#

remaking it?

lime plaza
timber cedar
#

kk makes sense

#

done

sacred jasper
#

Just opened a feature request for adding abstractions for game states

#

I suppose I will work on code for it at some point now that we are getting slightly better documentation

hollow cypress
#

dw about this message thing btw

#

not ur responsibility

sacred jasper
#

Alright

#

We might want to change addressables loading to be after first stage initialization

#

It means that people could add custom scripts to their parts

#

If I understand stuff correctly

#

Tomorrow I'll make a part with a custom script

lime plaza
sacred jasper
#

The script would have to exist in an already loaded assembly

lime plaza
#

Oh, thats interesting

sacred jasper
#

Asset bundles can't contain code

timber cedar
#

can u make channel for docs ^^

sacred jasper
timber cedar
#

u have my support :D
sounds good idea

lime plaza
#

Thoughts on making the config folder different from the mods folder?

sacred jasper
#

It was bound to happen eventually, and we are still early on

lime plaza
sacred jasper
little bay
#

I'd get rid of MainMod/Mod now

#

go the full length instead of piecemeal

#

or keep them but mark them as [Obsolete] or even [Obsolete(true)] to make using them an error and just use them to load old (old isn't the right word, they're 2 days old, but y'know) mods

sacred jasper
little bay
#

you can also still have a Mod class (called something else) if you wanted that inherits from the BepInEx plugin class

timber cedar
#

what about making bep plug-in, but keeping the top level folder. would it still have it?

sacred jasper
alpine tendon
sacred jasper
alpine tendon
#

I'm also interested in knowing the answer to Sinon's question btw

#

what will the folder structure be like

#

perhaps you should answer on the issue, sorry for bringing it back to discord

little bay
sacred jasper
#

Mods will be BepInEx Plugins and SpaceWarp will likely be doing the loading from the mods folder

little bay
#

you don't have to do any unique loading at all

#

you can register after they're all done loading, during your plugin's Start

sacred jasper
#

Gotcha

#

Another comment that should be put on the issue

little bay
#

once I get better internet

#

I can barely even send discord messages at the moment

sacred jasper
#

Honestly, I've been considering this change for a while now mentally anxways

lime plaza
#

Just go for it

alpine tendon
#

could you make a comment on the issue with an example of the folder structure? I'm still not clear on it, sorry

sacred jasper
#

Give me a bit to eat myself

alpine tendon
#

eat yourself?! 😨

lime plaza
wicked wyvern
#

that's a new one

little bay
#

I'd just get rid of the SpaceWarp folder structure entirely as well

wicked wyvern
#

I've heard of cannibalism but not this

little bay
#

everything goes in the normal BepInEx plugins

#

yeah okay

lime plaza
#

Would we keep the addressables/localizations/etc folders?

wicked wyvern
sacred jasper
#

In the plugin folder

lime plaza
#

Just in the BepInEx plugin folder?

#

cool

little bay
#

each mod should get its own folder in the plugins folder

wicked wyvern
#

since the folder structure would change anyway

little bay
#

inside each mod folder I'd have those folders

wicked wyvern
#

I mean, I guess users could just move them over if the structure inside the individual mod folder stayed the same

little bay
#

so a mod would look like

BepInEx/plugins:
    ModA:
        plugin.dll
        addressables:
            some.bundle
        localizations:
            idktheformat.csv
    ModB:
        plugin2.dll
lime plaza
little bay
#

I know nothing about addressables

#

👍

lime plaza
#

And space warp goes into the plugins folder as well?

wicked wyvern
little bay
#

no

lime plaza
little bay
#

it searches the entire tree for DLLs

#

convention is to never have any DLLs in the top level

wicked wyvern
#

well then it would make sense to keep them in bin

little bay
#

keep them in bin?

#

oh do you have a bin folder

wicked wyvern
#

ModA/bin/pluginA.dll

sacred jasper
#

Yes

little bay
#

that would be fine, not sure when a mod would have more than one plugin though

alpine tendon
#

better yet follow the ksp1 convention and go for ModA/Plugins/pluginA.dll

sacred jasper
#

BepInEx/Plugins/mod/Plugins/x.dll

alpine tendon
#

ew

wicked wyvern
mossy kraken
#

I don't think we should focus to much on backwards compatibility. We are not even a week into KSP2 yet and should not limit ourself to much to supporting every little convention we have made in the last 6 days.

sacred jasper
#

If we are going to do this, maybe we should just break things anyways

lime plaza
#

Full send

#

I'll update my mod

little bay
sacred jasper
#

It's the perfect time to redo our abstractions

wicked wyvern
#

btw, just a thought, wouldn't you consider making the distinct parts of SpaceWarp separate libraries/repos/possibly nuget packages?

little bay
#

what do you mean

wicked wyvern
#

like toolbar stuff, ui skin, etc

little bay
#

distinct parts?

alpine tendon
# alpine tendon ew

this is because the double Plugins is maybe a bit wack, were you proposing this? I suppose it doesn't matter really

little bay
#

oh

#

BepInEx has none of that

wicked wyvern
#

oh I'm dumb

#

lol

#

didn't even notice I wrote that

little bay
#

SpaceWarp could package things in different assemblies

#

but I'm not sure why it would do that, really

#

it's not like you can only depend on part of it

#

well, you kind of can

#

actually R2API did this

#

it's kinda meh

wicked wyvern
#

making it more modular would make sense if it intends on adding more and more mostly independent features

#

with something like a SpaceWarp.Core where all the common stuff is

little bay
#

on one hand, sure

#

on the other what is there to gain from doing so

#

and it was... okay?

#

not much changed after the rework

wicked wyvern
#

well, I guess it won't change too much for a project of this scope

#

not like the library size will grow to hundreds of MB

#

hopefully

little bay
#

and even if it did, in all likelihood you'd be pulling the entire thing anyway

#

either just due to having more than a few mods or one dumb mod depends on all pieces because they weren't sure what they would need

lime plaza
#

If its used rarely enough and its big enough to split off, it probably shouldn't be part of SpaceWarp

timber cedar
#

me reading this: 🐒

static mural
candid sorrel
#

And IIRC that mod is bepinex, so that shouldn't have anything to do with sw?

dense fossil
#

am i retarded?

candid sorrel
#

wrong folder

dense fossil
#

one up, yeah?

candid sorrel
#

that needs to go in the parent folder, ye

dense fossil
#

rip

little bay
#

@sacred jasper how much have you done for the BepInEx switch

sacred jasper
little bay
#

cool, I'll try to come up with something to start with and PR into it then

sacred jasper
#

@hollow cypress@wise swift
Could we move discussion of the issue here? or to the repo

wise swift
#

sure

sacred jasper
#

@late condor too

wise swift
#

^ this if you do the pointless change

sacred jasper
#

this is the current situation

late condor
#

no, its moving towards an existing standard, instead of making a new one (itself)

hollow cypress
#

which discussion

sacred jasper
#

of the possible change to bepinex

hollow cypress
#

ok, i just really like what youve done with spacewarp tbh

late condor
#

Spacewarp is great, I don't think anyone is contending otherwise

hollow cypress
#

u were here from day one working hard, u added tons of great stuff like UI style and app bar integration

late condor
#

it can still do all those things without having overlap with the loader aspects

hollow cypress
#

and ur team fixes bugs

#

which is more than i can say for bepinex

little bay
#

?

late condor
#

did you reach out to them?

sacred jasper
#

I just feel like it would be healthier for space warp and the modding community if space warp changed to a library that provides those abstractions

little bay
#

what bugs are there in 5.4.21

late condor
#

Bepinex has a gigantic community of developers with years of experience

sacred jasper
#

It'd allow bepinex mods to easily use space warp abstractions and vice versa

late condor
#

They have helped both modders and game developers with bepinex issues

wise swift
late condor
#

if you legitimately believe there is a bug, you should raise it with them, but at the moment there isn't really much reason to suspect there is bug

hollow cypress
#

right

#

you wont look at it but repeatedly gaslight me

wicked wyvern
hollow cypress
#

if this is where bepinex is coming from ill take a hard pass ty

wicked wyvern
#

can't expect it to be immovable and 100% backwards compatible

sacred jasper
late condor
#

well, first of all I"m not a bepinex contributor, second I've been looknig at your code but I've been trapped by unrelated issues preventing me from testing anything

hollow cypress
#

just a professional gaslighter

#

congratulations

late condor
#

would you like more proof?

sacred jasper
hollow cypress
#

of your gaslighting ability? ive seen enough

late condor
#

haters gunna hate I guess

hollow cypress
#

abusers gonna abuse

late condor
#

I mean, I've legitimately been spending hours actually looking into your issue

hollow cypress
#

and modders gonna keep modding

wicked wyvern
#

how many channels are going to have some drama today munley

hollow cypress
#

whats the issue

#

explain it if you've been spending hours on it

hollow cypress
#

yeah, dead silence

#

cya

wise swift
late condor
#

I just don't know how to respond to that, if I knew what the issue was, do yuo think I would still have the project open?

sacred jasper
hollow cypress
#

oh oh oh he suddenly forgot

late condor
#

no, I forgot nothing, I haven't figured it out

hollow cypress
#

after hours of work... what was he doing again?

sacred jasper
#

This is starting to get uncivil

wicked wyvern
#

What is the point of this whole exercise? I don't think it has much to do with the discussion about mod loaders

#

maybe take this somewhere else?

little bay
hollow cypress
#

when gaslighters are selling a product, i avoid it

little bay
#

not the cause of the issue

late condor
little bay
#

what issue are you looking into

#

what problem are you trying to figure out

wicked wyvern
late condor
#

Why the ShowGUI method never executes and whether or not thats because of BepInEx or because of an issue with the SpaceWarp Plugin for BepInEx triggering a failure condition.
I was going to approach this by converting the mod into a BepInEx mod to remove Spacewarp from the equation, as much as is possible since it relies on SW features

#

but I donno whats going on, I can't seem to get anything to compile anymore and I have no idea whats going on

#

and like, not even StageInfo, anything at alll

#

at first I thought it was a ThunderKit bug, but I'm running into the same issue with Visual studio now too

little bay
#

weird