#CommNext

1 messages · Page 2 of 1

thin mauve
#

yup, native

tepid dust
#

And this is the mono dll?

#

Aaaa

#

Ill look more when home

verbal leaf
#

it would seem so

tepid dust
verbal leaf
#

no clue what Pal is

#

ah Platform Adaptation Layer

tepid dust
#

I meant in monoo

verbal leaf
#

sorryy

verbal leaf
#

seems to just be a direct call to this

tepid dust
#

Which should do what it says on the tin with msvc

thin mauve
#

Thanks, Rider.

#

But maybe this is the hint I misconfigured the project?

tepid dust
#

Nah

#

Fma just dont exist

#

Idk

thin mauve
#

Ok in the end I just lost my patience and compiled a native C dll

tepid dust
#

Lmao

#

The nuclear option

thin mauve
#

I'm sure this mean handling a shittruck of problems

#

but

#

it seems to be working

#

let me see

thin mauve
# tepid dust The nuclear option

for... THIS

#include "compute.h"
#include <math.h>

double FusedMultiplyAdd(double a, double b, double c)
{
    return fma(a, b, c);
}
#

The good thing: it is working
The bad thing: it is not solving the issue nooooooooo

tepid dust
#

Well is there still roundoff error in the discriminant

#

Or further down the line

#

What about under/overflow

#

But at least it didnt return 0

#

Do we have to go the full nuclear solver

#

Honestly

#

Just write the solver in C at this point

thin mauve
#

I didn't think it was possible to link C code directly

tepid dust
#

I kinda suggested it earlier

#

When I said write it in C++

thin mauve
#

You're right, but I thought it would be a looong task

tepid dust
#

Burst would be preferable but I have to look into that

#

So just native for now

thin mauve
#

I have thought about that

#

but to Burst compile jobs (but I'm not sure I understood correctly) you need to compile it inside Unity, and there is the issue that you cannot reference the KSP Assembly in unity

#

At least this is what I understood

#

Ok, so. The discriminant is fixed by FMA now, but I'm getting -5.2802735331476427E+32 which is.. huge. E+32.
I'm seeing i'm calculating the c with s.x * s.x + s.y * s.y + s.z * s.z, so squaring the body coordinates. This is a big no-no, same FP issue. Will try to recenter all coords on s so we have to deal only with relative positions

tepid dust
thin mauve
#

sounds really cool

tepid dust
#

Yeahh

#

is what I'm referring to

tepid dust
#

referencing the KSP assembly in unity

#

building it is the hard part

#

for now just write it in C or C++

#

translating it later will be easy

thin mauve
#

Sounds good

#

by the way.. nothing

tepid dust
thin mauve
#

Discriminant is now in the -E+32 range

#

so I suppose it could be a different issue

tepid dust
#

Yeah

thin mauve
#

it could be the local positions (they are very far from KSC), but still doesn't make sense. We are talking about E+10/E+11 , and this should cover a meter

#

even with 1000meters error, it should be seen as occluded

#

since the radius is 500k

verbal leaf
tepid dust
#

ah wait

#

it does?

verbal leaf
#

If it's the case, then it's definitely better for the modder to just pre-compile it in Unity

thin mauve
#

What a nice bug

#

Ah one thing @tepid dust @verbal leaf : I'm getting this error while loading the Native dll:

[Error  :SpaceWarp.Preload] An error occurred while processing C:\Program Files (x86)\Steam\steamapps\common\Kerbal Space Program 2\BepInEx\plugins\CommNext\swinfo.json:
System.BadImageFormatException: Format of the executable (.exe) or library (.dll) is invalid.
  at Mono.Cecil.PE.ImageReader.ReadOptionalHeaders (System.UInt16& subsystem, System.UInt16& dll_characteristics) [0x000bb] in <6034b380a22b41a596c9dc29d282c0a9>:0 
  at Mono.Cecil.PE.ImageReader.ReadImage () [0x0008b] in <6034b380a22b41a596c9dc29d282c0a9>:0 
  at Mono.Cecil.PE.ImageReader.ReadImage (Mono.Disposable`1[T] stream, System.String file_name) [0x00007] in <6034b380a22b41a596c9dc29d282c0a9>:0 
  at Mono.Cecil.ModuleDefinition.ReadModule (Mono.Disposable`1[T] stream, System.String fileName, Mono.Cecil.ReaderParameters parameters) [0x00006] in <6034b380a22b41a596c9dc29d282c0a9>:0 
  at Mono.Cecil.ModuleDefinition.ReadModule (System.String fileName, Mono.Cecil.ReaderParameters parameters) [0x0006c] in <6034b380a22b41a596c9dc29d282c0a9>:0 
  at Mono.Cecil.ModuleDefinition.ReadModule (System.String fileName) [0x00007] in <6034b380a22b41a596c9dc29d282c0a9>:0 
  at Mono.Cecil.AssemblyDefinition.ReadAssembly (System.String fileName) [0x00000] in <6034b380a22b41a596c9dc29d282c0a9>:0 
  at SpaceWarp.Preload.Entrypoint.AddPatchersFromDLL (System.String dllPath) [0x00000] in <8cf50e6a121d4dc6832239a4a791d944>:0 
  at SpaceWarp.Preload.Entrypoint.AddEnabledPatchers () [0x00084] in <8cf50e6a121d4dc6832239a4a791d944>:0 

i suppose it's scanning my native dll and doesn't find anything readable, is there something I could do that you know?

tepid dust
#

how are you compiling it

#

wait

#

wtf

#

its trying to load the swinfo.json as a dll

#

that's the error

#

ah

#

no I'm dumb

verbal leaf
#

it's looking for the preload API uses in all DLLs

#

right?

thin mauve
#

I suppose so

tepid dust
#

yeah

verbal leaf
#

we should just try/catch that tbh

tepid dust
#

this might require a sw hotfix

#

if you wanna do that rq munix

thin mauve
#

Don't worry

verbal leaf
#

I'm off to bed rn

thin mauve
#

I'm nowhere near a solution for this bug

tepid dust
thin mauve
#

I'd like to sleep

#

but

#

this

verbal leaf
#

it can wait until tomorrow

thin mauve
#

bug

thin mauve
#

Well, another unresolving night

#

We'll see!

safe lichen
#

Here's my idea on a switching algorithm: for short distances, I propose to keep your current algo, but for long distances we can make an assumption that makes the computational much more robust, when we assume that all rays from the orbit to the target are parallel. Now, it requires a threshold when to switch, but I'm sure we can find a reasonable one.

safe lichen
#

(and feel free to ignore me, I would implement it directly but I've never programmed in C# nor in unity so I feel a bit useless, but maybe I can help on the math side)

shadow gyro
#

Don't know what's happening. Everything was working ok, then I launched a new vessel and now none of my vessel have a connection. Understandable for those on Duna and Jool with lower gain antennas, but this one in GKO should have a normal connection. Can I do something more to troubleshoot this?

#

Also, setting different bands, does that do anything right now or you haven't implemented it yet?

#

Oh wait, of course, KSC went to the dark side of my relay.... aaaah, nice 🙂

#

Hmm, but still... I just launched an interplanetary ship with an RA-100 antenna, and I checked - KSC rotated in a way that it's looking straight at my ship, no occlusion. Shouldn't a connection be possible in this case? Or does KSC have a small gain antenna so it isn't reaching my ship, so a relay in LKO is needed? Sorry, I wasn't following this thread so I'm out of loop a bit 🙂

thin mauve
#

Hi @shadow gyro ! Definitely I need to add more ways to debug the commNet status 😄 .. anyway, KSC has a low 2G antenna, so it is possible that it doesn't reach a RA-100 even if the RA-100 sphere "includes" KSC

thin mauve
thin mauve
#

(I just don't get the math in the drawing, so I'm asking you for clarifications)

shadow gyro
#

Ah so the KSC has a 2G antenna, that explains it then. But could you buff it up somehow - can it be changed with Patch Manager? It doesn't make sense that this thing has the same gain as a measly RA-2 antenna 😆

#

KSP1 has (or is it RSS/RO? I forget...) the DSN. 3 points on the planet that can connect to anything in the solar system, given enough gain on the receiving side. Maybe a 3 point DSN is for another mod, but it would be nice if just the KSC one could be buffed, at least to the equivalence of the RA-100

safe lichen
# thin mauve Thanks for your effort and your suggestions! I didn't understand what you meant ...

\vec{t} is pointing to the target (e.g. vessel 2). The key idea here is that when two objects are very far away (e.g. vessel1 in orbit around laythe, and vessel2 in orbit around kerbin) then their position on their respective orbits has little influence on the direction vector between them. So we can compute occlusion by assuming the direction vector (\vec{t}) the same no matter where we are on the orbit (or no matter where the target vessel is on it's orbit). This simplifies the computations a lot and removes the need to solve an ill-conditioned quadratic equation.

Now, when the vessels are close, say orbit around the Mun and orbit around Kerbin, this no longer works and you need to take their arguments of periapsis into account. I think a reasonable cutoff threshold would be something like if (distance / R_orbit >> 1)

shadow gyro
#

We have a DSN in place 🙂

tepid dust
#

A custom DSN

shadow gyro
#

But still, the DSN and my vessel in Dres's orbit aren't connecting. In the screen: orange circle = DSN I just launched, red circle = my vessel in Dres orbit. They aren't connected. There's no occlusion I'm aware of, they're looking at each other without anything between them.

lusty pollen
#

just saw this in CKAN and came here to say thankyouthankyouthankyouthankyou!!! that's all

lusty pollen
#

i started a new campaign because of this but for some reason the first mission isn't being completed - only new mod was this one...is there some way it's preventing that mission from being accomplished?

#

(reach 10k feet with a rocket from kerbin)

storm rune
tepid dust
#

That message was before the PM release?

#

Nothing changed in the latest release that shouldve broke anything here

storm rune
verbal leaf
#

yeah, almost an hour after Falki's message

tepid dust
storm rune
#

Well, let's see what @shadow gyro replies. If he had the same issue and my suggestion helped him than its fantastic.

tepid dust
#

Falki coulrnt have been using PM 0.10.0 is the thing

storm rune
#

@tepid dust @verbal leaf have you tried PM 0.10.0 with CommNext 0.4.0? Maybe I need to reinstall and empty the cache for PM 0.10.0 or I just have a weird bug🤣

tepid dust
#

I can test ... not today tho, Im not home for the rest of the day

storm rune
#

Guys, thank you so much for developing mods and making games better❤️

lusty pollen
tepid dust
#

Alright all this means is falki has a different bug

#

I know the pm bug

tepid dust
verbal leaf
#

and done

#

should be fixed in 0.10.1

#

though Falki's bug is not related to this

shadow gyro
brazen oasis
#

FYI I don't think bands are implemented, just a placeholder for them to choose them on a part. @thin mauve was going to implement them soon but then got sidetracked by the bug with the occlusion check. But maybe you were just mentioning bands not being available because it implied that the CommNext patch scripts weren't running.

#

With the occlusion check having trouble (possibly because of massive coordinates and float precision issues) that might be @shadow gyro's bug too. I'd wait for the dust to settle on that before reporting any issues that could be due to a faulty occlusion check.

fading fulcrum
verbal leaf
#

you need to update to 0.10.1 and delete cache

#

Kerbal Space Program/BepInEx/plugins/PatchManager/cache

fading fulcrum
#

give me a second, updating right now

#

thx alot, my kerbals are online

shadow gyro
#

When I left Dres's orbit, I got a connection. So some occlusion was detected while I was still in Dres's SOI

brazen oasis
#

Hmmmm... I wonder if there is another, separate issue from the occlusion issues having to do with science being able to connect. I seem to remember hearing about a bug in vanilla that sometimes you could use probe control via a relay, but couldn't upload science via relays. It never caused me grief before because I would always have a big enough antenna with the Communotron 88-88 to call home directly to KSC. However, now with this mod we're forced to use relays because of the nerfed KSC and occlusion. Does anyone know if this bug is still a thing in vanilla? If so, it's a show stopper for this mod (unless we can some how fix it)

brazen oasis
#

Hmmmm... I think the problem has been fixed in vanilla but it is a problem with the mod, and I don't think it is due to the occlusion bug. I've only had the occlusion bug when close to a moon such as Laythe in the Jool system, but not when far out where my higher powered relays are. However, even after teleporting my vessel right next to one of the relays I can't upload my science. Here's my mk2 vessel which has a Com-88-88 on board but it isn't open. It also has integrated transmitters in the Pod and a probe core, so it obviously should be able to reach the relay right next to it.

#

You can see the relay is connected via map view, and both vessels look like they are connected with a green icon below the compass

#

However, with the mod, I can't upload science. See "No Connection", both before and after I open the Com-88-88:

#

Removing the mod allows uploading science without using the Com-88-88:

#

So something seems broke in using relays for science specific to this mod

#

Still without the mod, I teleport to low Laythe orbit. Now I can't upload the science which is expected because I'm too far from the relays even with vanilla ranges:

#

but opening the Com-88-88 at this point let's me upload

#

So... with vanilla, uploading science works through relays. With CommNext currently, it doesn't appear so. And I think this is probably separate from the occlusion issues, because it happened while right next to a relay that wasn't experiencing this issue. Save game below

#

I hope this was useful, and I'm sorry to be the bearer of bad news. This is hard stuff!

thin mauve
#

Hi everybody! An hard day at job, plus I got the flu, what a wonderful combination; I'll try to make some progress but a bit slower these days probably. Now, let me reply to all these great feedbacks!

thin mauve
verbal leaf
#

I don't expect it's something that can be done with Patch Manager

thin mauve
# safe lichen \vec{t} is pointing to the target (e.g. vessel 2). The key idea here is that whe...

Well this is really not true.. if I'm behind the body, orbiting it, even if other vessel is faaar away, I'm still going to be occluded every time I go on the dark side; plus, the direction vector when you're on the "light" side, is technically the same as when you are in the dark side, but the difference is exactly that!

-- [S1] --- ( Laythe ) --------------------- [Kerbin]
---------- ( Laythe) -- [S1] --------------- [Kerbin]

Am I missing something else?

thin mauve
thin mauve
thin mauve
obsidian solstice
#

Do you have any plans for this mod if CommNet makes it into vanilla? Just curious

thin mauve
obsidian solstice
#

Im referring to a proper occlusion and relay system

tepid dust
brazen oasis
#

Did they ever do that in KSP1?

obsidian solstice
#

They didn't say they were not going to implement it, they said that it wasn't a priority as only a select part of the userbase will use it

#

KSP 1 does have occlusion yes

thin mauve
#

Oh, well, if they include it in stock I think I'll just keep the "delta" or whatever is missing from this implementation; but given how many things they have to do, this is a nice thing to leave on the corner

#

no?

brazen oasis
#

definitely!

thin mauve
#

Plus.. I wanted it now! 😄

obsidian solstice
thin mauve
#

Yep exactly that!

obsidian solstice
#

I still don't really like how they responded to this, its very weirdly worded to me, but at least we have it as a mod now

shadow gyro
thin mauve
#

I'm not really worried about this; mods in KSP1 often improved base game! Think about robotics, EVA construction, etc.

thin mauve
obsidian solstice
#

They're somewhat implying that KSP 1's system was so forgiving as to be pointless, but my experience with it was very contrary to that

shadow gyro
#

They said they're thinking about revisiting occlusion sometimes later. And I agree, I don't think this mod will be obsolete ever.

obsidian solstice
#

Likely not yeah

thin mauve
#

Sooo, general announcement: I'm tracking all your reports here, since I'm worried I can lose something in the meantime: https://github.com/orgs/Kerbalight/projects/5/views/1?layout=board

I've written there some parts of your message and the reporter name, so I can remember better, I hope this is not a problem for you and your privacy; if it is, let me know and i'll remove your username from the GitHub Issue

Plus I hope having a tracker could help give you all a rapid summary of what's going on!

GitHub

CommNext Development

safe lichen
# thin mauve Well this is really not true.. if I'm _behind_ the body, orbiting it, even if ot...

Exactly, the "dark" and "light" side are defined by the direction vector between vessel1 and vessel2, and the radius of each vessel and it's orbit. The difference with this faaaar away algo is that this direction vector is considered constant for a given orbit around the CB. As such the occlusion determination becomes a simple projection of the vessel vector (defined from the CB origin) to the plane defined by the direction vector (t). The idea is similar to why we consider sunlight to be parallel on earth, and the earth terminator to be it's diameter, but instead of the sun, you consider vessel2. I'll take some time to write it out in more detail.

thin mauve
#

Oh, now that you say it that way it completely made sense

thin mauve
#

So it would be something like that? Sorry for v_p, I don't really remember the vector to plane decomposition formula

#

(A, B are the sats)

#

where v_p is AE anyway

safe lichen
#

yes, instead of projecting along the line BD to find occlusion (requiring the quadratic solver) you project along the green dotted line. If the bodies (A and C) are far enough away the difference is tiny, but the computation much more robust (and faster)

thin mauve
#

Ok, I need to bang my head on the math but seems feasible

thin mauve
#

I tried to debug it further, so I drawed (without scaling nor positioning, so don't look at Kerbin: just look at the white sphere which is Laythe and the purple line, which is the two vessels connection line seen from the algorithm): the main issue I see is that.. it's way off! I get it could be FP errors but, plus this is drawn at a very reduced scale, so not representative, but.. so much delta?

#

sometimes it gets back onto the white sphere

#

oh my god

#

time

#

the problem.. I think.. is that the planet moves between the moment I store the planet position

#

and the moment the game stores the vessel position

#

in fact if you time warp it gets worse

#

lol, this sounds like a Science Lab phrase

#

Ok, not the only issue. But surely one of the issues

thin mauve
#

Ha-ha! LateUpdate for the win, ladies and gentleman!

brazen oasis
#

woohoo!

thin mauve
#

Look at this beauty!

#

So smooth!

#

I'm really excited

brazen oasis
#

Yeah, sometimes the hardest tasks feel the best when you overcome them

#

How did you fix it?

thin mauve
#

I realized the Connections compute job was started in the unity Update function

#

and all the vessels positions were updated in another object Update function too

#

But for Unity Execution Order, it is not guaranteed their order; KSP2 has some utilities to handle the ordering, but in the end the simplest thing was using the LateUpdate method exposed by Unity, which is called only after all other Update methods have been computed; this way we are sure all bodies positions are calculated at the right moment

#

In the end the issue was that in that small timestep, even without timewarp, bodies position changed by a huge margin (obviously.. space! 😄 )

brazen oasis
#

very cool! I'm surprised that it made it so off because things had been flashing so much and hadn't moved much during the flashing, but obviously

#

ah

#

yeah, these planets are moving very fast, and just the relative positions were moving slowly

thin mauve
#

This was the factor I didn't see until now

brazen oasis
#

so if you got Laythe's pos off by a few ms it would be a really big deal

#

very cool, glad you figured it out!

thin mauve
#

I'm happy too, this was starting to be a real pain 😄

brazen oasis
#

yeah, not so much fun when things aren't working. But now, it should really pick up!

thin mauve
#

I'm releasing it with this fix

#

That I feel was one of the worst

tepid dust
#

Are you still doing calculations in C

thin mauve
#

Yes

#

I'm wondering

#

if it's better to omit that

tepid dust
#

Profiling is what you need here

thin mauve
#

I love the added precision, but side effects could be devastating..

thin mauve
#

I compiled it only for 64bit Windows

tepid dust
#

I doubt you are really doing any pointer math no?

thin mauve
#

No no

#

nothing like that

#

more about distribution

tepid dust
#

Ksp2 only runs on 64 bit windows for the moment

#

Anyone playing on linux uses wine/proton

thin mauve
#

Sounds like the exact answer I was looking for

thin mauve
tepid dust
#

Yes

#

Tho an extern call wouldnt be

#

Rather if the performance gain is that much

thin mauve
#

It's more about the ability to do FMA

tepid dust
#

Ah fair

thin mauve
#

it's just that I didn't find a way to do it inside C# without the extern dll

tepid dust
#

The extern call wouldnt be that bad

#

It wouldnt hurt to do the entire solving in c tho

thin mauve
#

Plus I should say that now that relay & ranges are in use

#

I had many ways to bail out calculations as early as possible

#

Execute took 0ms (nodes=13, numBodyOcclusions=593, numIntersections=8,connected=12/13,relays=12)

#

In this case even if the possible occlusions where 600+

#

only 8 has been calculated

tepid dust
#

I see

thin mauve
#

no wait, the discriminant has been calculated 600 times

tepid dust
#

Side note: Not that I care too much about rust
I wonder how hard c#/rust interop is

thin mauve
#

I love rust a lot

#

as much as I hate it

tepid dust
#

I like/dislike it at the same time

#

I no longer completely dislike it

thin mauve
#

haha

#

Seems doable anyway

tepid dust
#

Rewrite all your code in rust then :3

thin mauve
#

hahah

#

not tonight!

tepid dust
#

Even your ui code

thin mauve
#

Even the github action

#

And then all KSP2

tepid dust
#

Even the dot net compiler

thin mauve
#

All praise the RUST LORD

tepid dust
#

Rewrite git in rust

thin mauve
#

And then rewrite rust in rust

#

(iirc it's already in rust, but doesn't matter)

#

Finally some decent logs

#

Execute took 0.0847ms

tepid dust
#

Fasterrrr

thin mauve
#

We have a baseline now!

#

I left it in ms

#

Until now

#

(I wasn't so optimist..)

thin mauve
#

I know I need to make the forum topic & the mod news thread.. time..

safe lichen
#

Very cool, so the problem was somewhere else, how typical. Visualization to the rescue. I'm wondering if @bronze anvil has similar issues in FP: that the stored positions are wrong cos they are at different moments in time.

shadow gyro
bronze anvil
thin mauve
#

Yes very different from first discoveries, a very intriguing one

thin mauve
raw parcel
#

Small feedback: tooltips for the map view buttons would be great to make it clearer what they do (unless I missed those)

left obsidian
#

What are all the Bands ? X S K Ka ? @thin mauve

thin mauve
#

thanks 😄

shadow gyro
# thin mauve Oh, good to know; I'll test it later, but to understand: does it keep connected ...

Maybe it's best you take a look at yourself; I'm using the same save I sent you.
I'm testing it now and it seems that Eye of Destiny (Dres orbit) successfully connects when a kerbal leaves the vessel. It stays connected when he reenters. But if you quick save and reload, it will again be disconnected if the kerbal is inside. If he's outside when you quick save and load, it stays connected 🤷 . It doesn't make sense to me that it has anything to do with kerbals being aboard, but I can consistently reproduce this.

thin mauve
raw parcel
#

Will the different bands have varying characteristics? Like a range vs bandwidth compromise?

thin mauve
#

@shadow gyro 😆

#

do you think @raw parcel it could be still relevant?

raw parcel
#

Hmmm a more relevant gameplay feature would be making bands with higher ranges require more EC for transmission

thin mauve
#

this is interesting!

#

..we'll need a lot of planning tools, I fear..

#

so they could act like a base range multipler

raw parcel
#

Or even crazier idea, making some antennas directional with band having an effect on FOV

shadow gyro
#

You could unlock higher frequency bands with newer tech. That's how Real Antennas (KSP1) work afaik. I don't know if I'd be for that (might be too complicated to players), so I'm just stating it as a possibility.

raw parcel
#

Yeah you'd need to decide the level of realism / difficulty you want for this mod

#

It can go very far or stay pretty simple

left obsidian
#

Without it everything would connect to each other without any sense

#

imagin your lunar lander signal comming back to the ksc while passing through your surface scanning sat or some random antena-equiped space debris

#

And talking about surface scanning can falki's orbital survey mod's antennas scan while transmit ? Caus i feel like if you use some end-of-techtree antenna to scan kerbin , it would comme with great range, and I feel like it shouldn't be able to act as a relay transmit your comm signal comming from jool.

soft fiber
left obsidian
thin mauve
# raw parcel It can go very far or stay pretty simple

I'd like to reach a "medium" compromise. Nothing that you can't understand unless you study it too much; I'd be glad to offer plugins / API / compat with "Plugin" mods like @soft fiber says, but not for the base mod experience; I still feel this is KSP not Orbiter 😆

thin mauve
#

I'm leaning toward a more Band and channels approach

#

since Band is a nice gameplay feature on its own

#

while channels would be more appropriate for customization

#

I'm still a bit worried, just because I don't want to make it hard to setup your commnet

#

so probably at the beginning you can have only the "Default" X Band channel, "Default" UHF channel etc.

#

And then later you unlock multiple channels

#

or multiple bands

#

I'm a bit undecided: I would like it to be simple to use and understand, but I wouldn't want to limit players in building more advanced networks.

raw parcel
#

My main opinion on all of this is just: the main question to ask is "what is the incentive for players to use different bands and subchannels?"

thin mauve
#

Sounds like the right question

thin mauve
#

About channels: you don't want spaghetti networks, it has been a pretty common issue in KSP1, and different solutions emerged like Constellation or Remote Tech itself with cones

raw parcel
thin mauve
#

I'd say performance, plus "debuggability" sometimes you just miss the situation and don't know how to plan your next mission

thin mauve
#

@shadow gyro obviously I cannot reproduce the Sus Kerbal bug ;_;

#

this is right after loading

#

After a bit it loose connection

#

But KSC is on the other side

#

am I missing some RA-100?

brazen oasis
#

So I am loving the release! It's working great! Here's my current Jool system:

thin mauve
#

Working on some UI goodies.. time to provide analysis tools

brazen oasis
#

This gets at what I am looking for in the bands or channels

thin mauve
brazen oasis
#

I thought I'd provide my thoughts because I know you're thinking about what to implement there now.

tepid dust
brazen oasis
#

What I'd like to implement is to have a tier-A set of sats that are connecting planets together. Those are my polar sats. Then I'd like a tier-B set of sats that distribute coverage within a planet's SOI. Those are the sats orbiting in eq orbits ouside the moons here. Finally I have tier-C sats that orbit low on each moon.

#

I'd like the tier-B sats to only get coverage from each other or tier-A sats

#

And I'd like tier-C sats to either get coverage from tier-B, or from tier-C orbiting the same body, for example Lathe

thin mauve
#

so you'd like to allow direct A-C connections?

brazen oasis
#

I think there is a direction here

#

so I would like each tier to get its service from either the tier closer to KSP or its peers

#

but I don't want a tier B to get service from tier C or tier A to get service from tier B

thin mauve
#

ahn, directional

brazen oasis
#

yeah, I think so

thin mauve
#

directional sounds harder but doable, it's an interesting idea

brazen oasis
#

I'm trying to think if I could do it without directions. What I don't want is something like the bottom sat in the picture below to get service with so many hops away from KSC:

#

That's a tier-A sat, it can connect home by itself, but it's routing through a tier-C.

#

I might not need directional if we minimize hops

tepid dust
#

Hmm
Could a comm network count as a directed acyclic graph?

brazen oasis
#

or minimize total distance

#

does't comm-net already have a direction? You even shade it showing the direction

#

Am I understanding it correctly that everything is centered around KSC? I wonder if that might change when they have interstellar... maybe we'll get other alien races' version of KSC. That's what some of the lore makes me think

#

But for now, it seems very directional with KSC at the root of a tree, and I'm trying to keep what I intend to be last-leg distribution nodes to be leaves of the tree and not trunks

#

Maybe if an antenna can have an uplink and downlink channel / band?

thin mauve
#

at least, it's how I'm processing it 😄

#

weighted DA

#

DAG* with dijkstra

thin mauve
brazen oasis
#

or maybe when you are connecting to bands, you try to connect to the highest one first. Maybe it is a priority thing

thin mauve
#

but technically I always find all the isolated sub-graphs, so I could know if there is another satellite marked as "CommNet" source, if there are other nodes connected to it

#

in fact, in first release, this was a bug that made other relays connected even if there were no direct connectiont o KSC 😄

brazen oasis
#

maybe we just need a priority you can set for a relay and you always try to connect to the highest priority item you can connect to, and the closest if multiple for that priority

#

just throwing different ideas out

thin mauve
#

but the main issue I see is choosing if it's allowed or not

brazen oasis
#

exactly, maybe I don't mind if it is allowed as long as you pick the higher priority over the closest

thin mauve
#

well, not too much of a problem: it could be that lower bands can receive signal from higher bands, but not the inverse

thin mauve
#

The only thing is that now that I think about it

#

it's not a DAG

tepid dust
thin mauve
#

it's just a weighted graph

#

direction doesn't matter

#

mh

#

no well this is not possible

#

direction matters

brazen oasis
#

yeah, direction matters because there is away and towards KSC

#

KSC is the root

#

The thing I am seeing googling DAGs that isn't in comm-net is the multiple paths to the same node

#

I'd say it is a tree with a root, because we don't really have a concept of any kind of point to point transmission that doesn't involve KSC rn

thin mauve
#

this is the update I'm working on right now in reality

brazen oasis
#

If we had a use case where vessel-A had to send a message to vessel-B, we might have more of a network without direction with multiple paths

thin mauve
#

I'm tracking all possible connections

#

(in range)

#

between two vessels

#

while right now I show only the choosen connection

brazen oasis
#

I'm actually fine with whatever happens under the covers. But when I see the network with the green lines, it would make me feel good to see it using things for their intended purpose, and it would be nicer to see the connection of that bottom sat going either to the top one or back towards Kerbin

brazen oasis
#

or else some kind of configuration that allows you to choose to minimize # of hops?

thin mauve
#

or "shortest distance to KSC"

#

but hops could be definitely doable

brazen oasis
#

there is? where is that config?

thin mauve
#

in Settings > Mods

#

under "CommNext"

brazen oasis
#

I need to toggle it and see what happens

thin mauve
#

it's cool!

#

try it

#

even if I find nearest relay a better default

brazen oasis
#

I think I like it better. Here's what I see after toggling that and reloading my game.

#

That's fair, because my local relay has a bigger range than I need and can make it up to the polar relay

#

I might need to nerf the RA-2's even more 🙂

#

I think this is great! We'll see what you come up with bands, but I think I have enough with this to bend things to my will 🙂

thin mauve
#

with bands it would be cooler, I think I'll release at least a basic version soon

#

since you can choose colors and which connects together

#

even if you'd need multiple antennas

brazen oasis
#

multiple antennas wouldn't be a problem. I'd enjoy that!

thin mauve
#

good to know!

#

new tools! Plus, this definitely helped me find a bug.. all connections except for KSC one just die

#

or.. not

#

it's right, technically it doesn't have anymore outbound connections

#

since KSC is offline

#

well I may add them anyway, but this should help debug the connections a lot!

#

well, it's enough for today, have a good night my friends

#

.. or day.

#

timezones.

#

😄

unborn basalt
#

Say, will signal strenght be a thing? Like where you get 50% science with 50% signal? Or it does not have to be linear... like get 100% science up to 75% signal and it drops off below 75%.
Is this something that is considered?

tepid dust
#

I don't think that accurately models how digital communications are done

#

it's either you get the information or you don't

unborn basalt
#

If you transmit for long time because of low bandwith, there can be loss... but i get what you mean.

I was just thinking it was a good gameplay tradeoff in KSP1...

#

I mean what is more realistic, have some potential loss, or never ever have any loss?

tepid dust
#

longer transmission times

unborn basalt
#

I loved what kerbalism did, with the data, and the storage drives and all that... id love to have that back 😄

#

Anyways, i cant contribute anything helpful here, i just wanted to give that input.

thin mauve
#

Hi @unborn basalt thanks for the input anyway; I'll add something down the line related to power consumption, data transmission, etc, but I still didn't dig down the science part

unborn basalt
#

´s all good. The project is shaping up to be great, you get there when you get there 😉

hidden nexus
#

Not sure if this is a game bug or related to CommNext.

#

Got three satellites in 700km Kerbin orbit, each sat consisting of an empty FL-R25 tank with an Octo-2, RA-2 and solar panels attached.

#

CommNext is set to require power, and since the Octo-2 has only 5 EC the sats (should) run out of power when in Kerbin shadow and (should) stop to relay.

#

But all sats will continuously relay, even the one in the shadow with supposedly no power, if you are not in control of the shadowed sat.

#

Properly losing power and relay when in shadow and controlled.

#

Oh and when you do control a sat and it has lost power in the shadow, if you then switch to another vessel, the previously controlled sat (lower right corner) will stay "powered down" even once it gets back into the sunlight.

obsidian solstice
#

This was part of a performance optimization due to complaints about poor background vessel performance

#

It will just save whatever EC it was last at and use that to determine whether its powered up or not

hidden nexus
obsidian solstice
#

That logic will likely be expanded on with colonies

#

Mods can also override this logic and force background resource checks if needed, which is what KLSS does

#

So CommNext could do so as well if that was desired

#

Perhaps relays that are responsible for the connection to the active vessel could have their resources checked?

hidden nexus
raw parcel
obsidian solstice
warm stratus
#

Interesting that nobody using 45 degree inclinations.. usually 3 satellites with 45 degree inclination are fully suffice for a constant connection

left obsidian
#

why 45?

obsidian solstice
#

3 satellites on the same inclination at geostationary orbit will always have two blind spots right? The inclination just determines where those blind spots are

left obsidian
#

so when the inclinatuon is 0 aren't the blindspots at the poles ?

obsidian solstice
#

I believe so

left obsidian
#

ohhh so wiyh 45 deg it will change over time

obsidian solstice
#

No it wont

#

It'll just be offset to two circular areas

#

that are not the poles

left obsidian
#

but if the planet is rotating faster or slower than the satelites the spots have to move

obsidian solstice
#

Thats why I specified geostationary orbit

left obsidian
#

oh

obsidian solstice
#

if its not geostationary orbit then yeah the spots will move

tepid dust
shadow gyro
#

Well yeah, there will be blind spots, but only for surface vessels or really low satellites. Most of the time it's fine.

#

Molniya orbits are cool

tepid dust
#

Ahh i knew i spelled that wrong

bronze anvil
shadow gyro
#

Yeah, Asgardians don't need Molniya orbits, they have more advanced tech

thin mauve
#

Well, all ready for some Wayfarer's Wings vibes! In the end I built a vessel report window, which I think could be very useful for anyone; @shadow gyro it seems like the vessels get occluded by Dres first and Kerbin later, see this video:

tepid dust
#

ooooooo

soft fiber
#

Oooh. New wing.

Flying in a spaceship with no connection to KSC.

"ET no phone home." (And it could also connect to commnext!)

soft fiber
#

(I still really like the idea of Easter egg or silly wings)

thin mauve
#

I love them too

tepid dust
#

"Interplanetary Game Of Telephone"
Have at least 10 hops home

soft fiber
#

Oh that's also good.

thin mauve
#

I've heard there were a messagebus implemented in SpaceWarp to do inter-mod communication

#

am I right @verbal leaf @tepid dust ?

verbal leaf
#

yup

thin mauve
#

sounds perfect

#

I need to make the Orbital Survey wings too

verbal leaf
#

we really need some up to date SW documentation

#

😭

thin mauve
#

but that should be easier with experiments

tepid dust
verbal leaf
#

we need an API key to your Neuralink implant

thin mauve
#

😄

shadow gyro
thin mauve
#

Now working on displaying this in the map view

#

that should be definitive

thin mauve
tepid dust
#

Interesting music lol

thin mauve
#

lol

verbal leaf
#

does it work well with KSP2? I know @crisp plover had some issues because KSP2 doesn't use URP

thin mauve
#

I was just saying god why windows captures audio from the damned screen capture tool

#

it's a screen capture tool

#

not a hey what's in my headphone right now capture tool

crisp plover
#

shadergraph can use the built-in shaders, that's what ive been using, it wont even let you select URP/HDRP shaders because you would have to install them first, and that would break a lot of things in the editor- dont ask how i know

verbal leaf
#

tbh I find it very useful

thin mauve
#

but hey I'm not an expert

verbal leaf
#

including stuff like game sound

thin mauve
#

Haha I was just curious about the default choice

#

the feature by itself is very nice

thin mauve
#

I'd like some feedback here, what do you think?

verbal leaf
#

because if that works, it will change everything

thin mauve
verbal leaf
#

oh that's so cool

raw parcel
#

Oh and for the comm lines, maybe a bit thinner would look even nicer?

thin mauve
#

The moving ones or the normal ones?

#

(these are shown only when you open the vessel report)

raw parcel
tepid dust
thin mauve
#

let me show you

raw parcel
# thin mauve

Ohh that's so cool looking, yeah the arrow size is perfect for this type of window
How are the arrow colors chosen?

thin mauve
#

It's Purple for outbound, Blue for inbound, Red for disconnected

#

(I tried to match the window UI)

#

But i'm not so convinced

tepid dust
#

maybe that will make it obvious that it's stopped

thin mauve
thin mauve
#

Done!

#

I should say it's very precise with FMA

tepid dust
thin mauve
#

it's really awesome

tepid dust
#

As I said, you should really just move your entire root solver into C

#

if only to make it more consistent in case you need to do more magic

thin mauve
#

plus it has been very fun to find out that there isn't any bug here, but just a real occlusion

thin mauve
thin mauve
#

is it threadsafe?

#

I don't technically need it to be, but you know..

tepid dust
#

Oh I see

#

Is native array thread safe?

tepid dust
#

I mean Array<T,N> in C++ is basically T[N]

#

Hmm

#

Are you accessing the same index from multiple threads @thin mauve

thin mauve
#

but in one case it was easier to just do it

#

since it shouldn't never happen

#

but if it happens, it's threadsafe

tepid dust
#

Then Array<T,N> should work

thin mauve
#

Well right now it's not my main issue, but if I take the hard path I'll do this refactor too

tepid dust
#

True, setting up the job may be a pain like that, but you can use the native pointers from NativeArrays as well

thin mauve
#

I think this would be a cool post 1.0 thing to do, very exciting

raw parcel
thin mauve
#

or we could just try to Burst compile it..

tepid dust
#

Apparently that might like require mono on the modders computer

thin mauve
#

ahn, forgot about that part of the conversation

#

Well building a native one in CPP for sure would not be easier

#

amazing, for sure, but not easy

verbal leaf
#

does it like give you a native DLL or something?

#

because that would be way easier to do than forcing the users to have Mono

#

yeah seems like it

thin mauve
#

It emits another DLL yes

verbal leaf
#

then there's no need for runtime compilation

#

just pre-compile it with Unity

thin mauve
#

Ah, I thought the issue was for the modders (which I tought was reasonable), not for the players; yeah if the players should download Mono that could quickly become unmanageable 😄

thin mauve
#

damned floating precision.. here we go again

#

(the blue connection is from KSC, so I think in the shaders floats are losing precision)

verbal leaf
#

lmao

#

it's just packet loss over that huge distance

thin mauve
#

hahaha

#

sounds like a perfect "it's not a bug, it's a feature!"

thin mauve
#

It's coming out really nice I'd say

tepid dust
thin mauve
#

I just made them bigger and who cares, now they doubles as distance indicator 😄

tepid dust
#

That feels odd to me

#

Idk why

thin mauve
#

it's not beautiful, I share that

verbal leaf
#

it does kinda feel like they're squished unintentionally

thin mauve
#

I'm so sad

tepid dust
#

Hmm

#

Do you need it rendering the whole distance

thin mauve
#

like that

tepid dust
#

Even then

#

It goes out of view due to being too thin before it reaches the end

thin mauve
#

yup, it's just that handling the camera position is.. something I don't know how to use

verbal leaf
#

I'm more so wondering if it could be instead done so that it always renders each arrow with the same size, independently of distance and zoom

thin mauve
#

The main issue

#

is that the MapView when you "zoom"

#

scales the world

verbal leaf
thin mauve
#

for example

#

after a bit of zoom out, it goes back to normal

#

since now scaled space is ok

#

I'm pretty amazed how they did manage to get the MapView working

#

it's absurd they are resizing the world every time you zoom

#

I was a bit confused the first time I was debugging the positions

tepid dust
#

Ah yeah

verbal leaf
#

conclusion: let's just rewrite the whole game using UITK and ECS

tepid dust
#

I found this interestinf

#

But thats basically what zooming is in camera space anyways

#

But why scale the world

thin mauve
#

I don't get it

#

I red a bit of code but it's still a mistery to me

#

there's sure a really interesting idea behind, but I've got no clue

#

@verbal leaf I thought I was going to bed too late in these months

#

but gosh you are beating me

verbal leaf
#

I mean you're still up munley

thin mauve
#

lmao

tepid dust
#

Both you could just go to bed yknow

thin mauve
#

I.. can't.. shaders...

verbal leaf
#

and I can't... condition editor

tepid dust
#

aaaaaa

#

And here I am laying in bed

thin mauve
#

@tepid dust what time is it there

thin mauve
#

lol

thin mauve
#

god

#

if it's time to go to bed in US

#

it's definitely too late

#

someone could argue it's early right now

verbal leaf
#

I have a very fucked up schedule in that some days I go to bed at 7am, and some days at 10pm

tepid dust
thin mauve
#

mine for sure 😄

#

well let's not exceed it

#

have a good night my friends!

verbal leaf
#

good night, I still want to make this work before I go

#

🥲

thin mauve
#

v0.5.0 is out!

Plus finally I've setup the forum thread & mod news post 😄
#1208437501807566888 message

raw parcel
#

Hmm I don't know if it's a bug but this vessel isn't getting signal even though it has other relays in sight and has power. I might be misunderstanding something here?

verbal leaf
raw parcel
#

Also some small UI suggestions:

  • Add a color / weight change when hovering over the CommNext appbar icons and the Comms Report close button
  • I would love some tooltips for all the non-textual buttons to know what they do at a glance
  • I would disable the horizontal scrollbars for the dropdowns (see attached)
#

But all in all thank you for the great mod & update!

verbal leaf
full oriole
#

sorry my bad

verbal leaf
#

but yeah it sucks, the visibility is not great

full oriole
#

the threads was a great improvement over old set up but is a bit busy AF

raw parcel
thin mauve
full oriole
#

do i need to manual delete any cache or anything if i snag it from the server? as opposed to waiting for CKAN to update?

raw parcel
verbal leaf
thin mauve
#

I would disable the horizontal scrollbars for the dropdowns (see attached)
I'd like this too but it seems it's not possible ;_; Dropdown UI is customized in root PanelSettings, so there should be things done in the main UITK repo for this to work

verbal leaf
#

the native dropdown is a huge pain in the ass

thin mauve
#

I could make it wider, but it always depend on localization

verbal leaf
#

it will get much better once I make a custom implementation of it

thin mauve
#

Add a color / weight change when hovering over the CommNext appbar icons and the Comms Report close button
You're right! Missed that

raw parcel
thin mauve
#

I would love some tooltips for all the non-textual buttons to know what they do at a glance
I could add this to "Sort" and "Filter" dropdowns so they are clearer too

thin mauve
#

I'm missing some edge cases maybe

tepid dust
#

@thin mauve have you tried importing fma from urctbase.dll?
Though that may be more pain than its worth

thin mauve
#

Nope didn't try

#

But it's working fine right now, have you found any issue?

tepid dust
#

No
I was just wondering if it were possible is all, but in all honesty I think it isnt

thin mauve
#

damned bugs..

#

Could you try sending me the logs? Maybe there is something helpful there

#

Ok, reproduced it

#

I had the "Relays does not require power" on

#

@raw parcel I don't think that would be easy, in the meantime could you play with the "Relays require power" setting set to No? I think I'll have to dig inside of some of your KLSS code to see how you handled EC 😄

raw parcel
brazen oasis
#

Hi! I'm loving the new version! Thanks so much! I think the comms report window really gives a lot of great information, and the new connections visible when that window is open look really cool!

I do have a request after thinking about how you had discussed bands would work. If we're going to have multiple antennas so you can connect to multiple bands would it be possible to restrict the antenna or band to just "in" connections? That would give us a lot more control over how connections happen.

I had thought I could get things working the way I wanted with the minimize KSC distance, but although that is closer to what I want, it's still connecting in ways that I would rather it not. I think this functionality is kind of related to the band functionality so it might wait until you implement that. Then for each band, you'd have sources and consumers for connectivity towards KSC.

thin mauve
#

antennas so you can connect to multiple bands would it be possible to restrict the antenna or band to just "in" connections? That would give us a lot more control over how connections happen.

#

It's something I've been thinking too, the direction; I'm not so sure it would be so easy to implement, but this evening I'd like to start working on the bands thing (after fixing these bugs), so I'll tell you better

brazen oasis
#

Keep in mind what users would care about is the green tree which has direction already and not something more abstract under the covers. If there are invisible connections that are not used when connecting to KSC, those don't matter. It might be tweaking the criteria of creating that path which you already allow the user to choose between closest next hop and min distance to KSC.

#

If you can't add direction to that check, I would appreciate having a minimize hops option, which is closer to what I want, but having direction control would be optimal

#

Thanks again for this mod, it already greatly enhanced the game!

tepid dust
#

Not that its too hard

tepid dust
#

Wait no

#

This is its own whole bar

#

Kind of like what @verbal leaf is planning for the app bar library

verbal leaf
#

yep

thin mauve
#

it's just a "TooltipWindow" in front of other windows

#

with a Manipulator to show it at the right place

#

(to be clear it's not connected to the specific window, one TooltipWindow is ok for all the windows)

hidden nexus
#

Not sure if this has been said but could you make the Report button a toggle, so that a subsequent click would close the window?

thin mauve
thin mauve
shadow gyro
#

QoL request: persist app tray position in save game files (or somewhere else). I'd like to move the tray to the top left and not have to reposition it again.

shadow gyro
#

Just wanted to follow-up on https://github.com/Kerbalight/CommNext/issues/5. I'm still getting the same bug as I described earlier. It seems that all vessels appear not to have EC when the save loads. But when a kerbal exits the vessel, state gets refreshed and everything is normal. Since you cannot reproduce it, I assume it's some interaction with another mod that I have that's causing this. I suggest you disregard this for now until (or if?) someone else reports this, cause it might be some weird edge case that might not happen again.

thin mauve
#

Oh thanks @shadow gyro

#

Didn't try with EC consumption; I'm fixing some bugs with it right now

#

I'll try again right now

thin mauve
#

@brazen oasis @shadow gyro I've released v0.5.1 which should fix this EC bug; it should be the same affecting you @raw parcel . Plus it should handle the Science Relay issue, but I did only some simple tests so I'd be glad to have some feedback from you on this side @brazen oasis .

The main issue I've found is that the game, by itself, does not update comm range when a vessel is undocked or a part decouples, so I had to trigger internal refresh in the mod

brazen oasis
#

I'll check the science thing later today. Thanks so much!

thin mauve
#

.. And v0.5.2 with position saving & an hotfix to toolbar icons. Have a good night!

brazen oasis
#

position saving?

#

ah, position saving of the toolbar

thin mauve
#

yup

brazen oasis
#

I still don't see 0.5.2 in CKAN (it takes a bit) so I'm going to test the science thing using 0.5.1

#

science works with repeaters in 0.5.1. Thanks!!!

hasty bloom
#

Feature request: I'd like to be able to disable the relay component of a comms part, because due to Orbital Survey I have relay antennae on the region survey satellites, but I do not want them to be valid relay nodes.

shadow gyro
#

Works beautifully!

thin mauve
thin mauve
brazen oasis
#

@thin mauve I've also play tested loosing contact with the commsat network and I correctly was not able to upload science, so I think your fix is working perfectly.

thin mauve
#

The bands thing appears to be harder than I thought 😄

#

I had to support multiple ranges for each vessel (based on bands selected on each antenna)

#

plus I think it's really hard right now to debug it visually

wanton oar
thin mauve
#

the range bubbles are an issue on their own, the Bands issue is that now you have to understand that two sats may be in range but cannot comunicate anyway since they have different bands

#

or that they are in range, same bands, but the bands are set on the RA15 antennas while the RA100 is set to a different band which doesn’t allow communication

wanton oar
#

How difficult would it be to make a UI switch to only show the range bubbles for antennas active in a given band?

thin mauve
left obsidian
#

It seems like the distance sphere isnt shown for small antenas

#

and seems like sometimes things aren't connected when they should be

#

And it shows the current vessel in the vessels list , i dont think it should be shown

#

Also the Range shown in the upper right corner is wrong

#

It always shows 200Mm

#

And i dont even have 1 antena that does 200Mm

#

These 3 Antenas dont show distance sphere #1203886735394734130 message

thin mauve
#

@left obsidian yes currently Range is shown only for relays

#

but I suppose we could toggle them for any vessel, maybe with a different color

#

could be related to the range bug

thin mauve
#

it could be you're using a non-relaying antenna?

#

I should definitely highlight that in the UI

left obsidian
#

So that's why my constalation couldn't work

#

The wrong distance shown is defently a bug thought

thin mauve
#

@left obsidian Relays are described in the OAB anyway, just pressing Shift you can see which ones are providing the signal relay feature:

tepid dust
#

Ohhhh

#

How do you do the heading part?

#

I want to know for V-SwiFT to make it look better

#

Unless it already does it and im dumb

#

No it doesnt

#

It just says "statistics"

thin mauve
#

I didn't touch the "## Statistics" part 😄

#

I only added the # Signal Relay bit

#

I tried to check the left column but it's pretty much hardcoded

tepid dust
#

Is what I'm asking

thin mauve
#

Oh, it's a Module

#

wait

tepid dust
#

Because my module only shows with a # statistics on the right

thin mauve
#
PAMModuleVisualsOverride +: [
        {
            PartComponentModuleName: "PartComponentModule_NextRelay",
            ModuleDisplayName: "PartModules/NextRelay/Name",
            ShowHeader: true,
            ShowFooter: true
        }
    ];
tepid dust
#

Ahhh

thin mauve
#

Are you using Shift?

#

(I know

tepid dust
#

Yes

thin mauve
#

dumb question

#

sorry)

tepid dust
#

Its ModuleDisplayName I was missing

thin mauve
#

Even if

#

I'm not sure it works correctly

#

let me see if I find the previous discussion

#

I don't find it, anyway I had some issues and iirc:

  • In the OAB select, you can pass anything you want in ModuleDisplayName
  • In OAB/Flight PAM, it will alway look for PartModules/<Module name without "Module_">/DisplayName
brazen oasis
#

Hey, heads up there is a minor usability thing that may trip up new users. I think this was introduced when you put in code to save the location of the toolbar. I started a new save, and this is where I think it put it:

#

I couldn't find it / thought it was missing at first

#

but I can drag it to a good spot.

#

My thought is you need to give a non 0,0 default value for it for new saves, maybe 200,200 so people see it and can drag it where it makes sense for their resolution?

#

(or if this doesn't sound right I could have just accidentally moved it there somehow)

thin mauve
brazen oasis
#

well like I said it could have been user error on my part. Wouldn't be the first time

thin mauve
#

Default position is always a problem so it could easily be a bug

thin mauve
#

Some progress on the Bands update.. new UI in the PAM with band picker, range bubbles visualization dedicated for each band with color coding, vessel report details in case band is not matching

#

Still bulkier than what I hoped for

full oriole
#

Does the Current commnext include the visual graphic? i assume this it totally unrelated to com lines bc there isnt a dependency? I do not have the visuals and am not very good at all this yet. The settings menu for mods is smooshed so i cant really tell if there is a hot key for the menu. it doesnt appear on my app tray.

thin mauve
verbal leaf
#

#1203886735394734130 message (this custom app bar should be on your map screen)

thin mauve
verbal leaf
#

this is an unrelated mod

left obsidian
#

XD wrong channel

#

sorry

full oriole
#

I had to pick my mother in law up from PT.

I reinstalled it right before I left. The band option is appearing in parts manager.

About 30min I'll be back.

full oriole
#

only the 2 on the outer most band would qualify for relay. other 4 are direct sats that were using com lines before i uninstalled it

verbal leaf
#

you won't find the mod in the app bar tray with other mods

#

it adds its custom floating app bar

#

which looks like this: #1203886735394734130 message

full oriole
#

its in the farthest reaches of the upper left corner without any visible choices upon mouse over.

Is there a way to move the window

#

if default settings include visible lines, something else is likely at play as well (Maybe? I wouldnt know)

verbal leaf
#

you should be able to just drag it around

full oriole
#

i tried without success i will try diffrent areas of visible frame

#

yea

#

Thank you

#

little bastard was hiding behind the KSP menu bar. Im so happy.

thin mauve
full oriole
#

🙂 I love the mod

left obsidian
#

Seems like after changing the name of the vessels it didnt syncronise with the Commnext vessel connection report

brazen oasis
next galleon
#

I started a new save specifically to use this mod and it's so fun at the start before having any relays

#

waiting for the KSC to line up or using K2-D2 to basically "send commands" in advance

full oriole
#

I want to play the first bit of WMCC with this

left obsidian
#

We shouldn't be able to have commnet when rentering , could it be add to the mod so that when there's the plasma around the craft we loose connection

full oriole
#

ooo... awww... fireball block signal?

thin mauve
thin mauve
next galleon
left obsidian
manic halo
#

Hey, just wondering why the landed probe on Eve has no connection to the KSC?
Both are in range of each other, the orbiter has a relay antenna, and the lander an antenna in range of the orbiter; but I have no connection for science
Might be that I misunderstood something

bronze anvil
#

Eve's atmosphere is highly attenuating IIRC. It's all the methane, it tends to absorb the RF... 😉

thin mauve
#

you could send me the save game, so I can check it; we've had some issues with science, but I thought they were fixed with latest update

manic halo
thin mauve
#

Thanks, which is the vessel name in question?

thin mauve
#

Well, bands update is near! I've got all the new features in the UI with some cleanup:

  • PAM allows you to select bands. Highter level antennas allow you to choose multiple bands.
  • Vessel comms report now displays in a compact way which band is used for the connection
  • Plus, in the bottom part, you see each band and its corresponding range for the active vessel
  • Clicking on the connection focus the vessel on the map. With the "Control" button you can switch to that vessel in flight mode.

Now I just need to fix some bugs in the Sphere Rulers render and it should be ready

obsidian solstice
#

Are bands an optional feature or do you need to interact with them?

thin mauve
#

By default it gets the X band everywhere

#

if you don't change them, you get everything in that band

#

So basically you don't need to think about it

#

It's a completely opt-in gameplay thing

left obsidian
#

Are sphere's shown for every antena now ?

obsidian solstice
#

Ahhh got it

#

Good design

left obsidian
#

And will there be a way to disable some antenas to work as relays ? (like the ones used for environmental survey)

thin mauve
left obsidian
#

maybe with V-SwiFT

thin mauve
left obsidian
#

one relay mode , one orbital survey mode

left obsidian
thin mauve
obsidian solstice
#

I’m loving how this mod seems to be coming along. Definitely excited to play with it

thin mauve
obsidian solstice
#

If it doesn’t then you’ll be up on the chopping block. Only the best modders survive.

next galleon
#

I'm doing my first relay network and I'm so giddy lol

#

Started a new save and I did a few missions around Kerbin and Mun without any relays, just going with god

#

it bothers me I can't make the perfect KEO orbit tho

#

I'm always a couple tens of meters and a couple tens of arcminutes away

thin mauve
#

I could add that CommNext one day

#

just to fix relays

next galleon
#

Flight Plan is perfect for that

thin mauve
#

Oh, perfect so

next galleon
#

but I like using MP thrusters to put the probes into the final orbit so it shows up at 0 deltaV so I can't make nodes

obsidian solstice
#

I reported that bug awhile ago

#

But they put it into long term backlog

thin mauve
next galleon
#

yeah that's an idea for another mode. Call it "trust me, I have more deltaV"

#

let us make nodes without checking the deltaV requirements

obsidian solstice
#

It’s not possible

#

I don’t remember exactly why, it has to do with ksp 2 nodes being calculated in a different but much more accurate way than ksp 1

#

But how much deltaV you have is a required variable

next galleon
#

ah yeah cause it actually shows you for how much of the trajectory you'll be burning

obsidian solstice
#

Right

next galleon
#

I never checked but MP engines do show up as deltaV yeah?

obsidian solstice
#

MP is never calculated for deltaV as far as I’m aware

#

Maybe it does for the puff engines?

#

I haven’t checked

next galleon
#

yes it does

thin mauve
#

yep I think the issue is with RCS thrusters only

verbal leaf
#

schlosrat was at one point writing a patch for Community Fixes to include RCS in the calculations but it turned out much more complex than expected and didn't quite work as expected, so it was scrapped

obsidian solstice
#

Interesting

#

Seems like one area where the devs must improve things

#

Mods can’t do much

next galleon
#

I guess the problem is exactly that. They're RCS

#

so their firing direction don't necessarily line up with the vehicle's axis

#

I guess the easiest thing would be just make a version of the tiny RCS linear thrusters act like engines

verbal leaf
#

Yeah, that would be the best solution for now, probably

#

@tepid dust when V-SwiFT gets part module switching, this would be a great use

#

Switching between engine and RCS modules for the one-directional RCS ports

tepid dust
#

Gotcha

#

I mean thats likely next on my todo list surprisingly

#

After I test the stuff I'm doing with module editing/scalar editing

verbal leaf
#

Awesome!

next galleon
#

these are my relays. I put the thrusters on 1% thrust to fine tune as much as possible

thin mauve
#

Well here we go: band selection to filter bubbles and easy vessel switching / focusing in map view

raw parcel
thin mauve
#

I wanted to add more things but this release already took me too much time, so I’d prefer to release this with a complete feature, other things will come later

hasty bloom
#

I'm very much looking forward to it!

#

In my quest for good signal strength in the inner Kerbolar system (does that even do anything?), I may have gone a bit far.

#

Excuse my badly tonemapped HDR -> SDR screenshots.

tepid dust
#

Oh gods

raw parcel
# hasty bloom In my quest for good signal strength in the inner Kerbolar system (does that eve...

A mandala (Sanskrit: मण्डल, romanized: maṇḍala, lit. 'circle', [ˈmɐɳɖɐlɐ]) is a geometric configuration of symbols. In various spiritual traditions, mandalas may be employed for focusing attention of practitioners and adepts, as a spiritual guidance tool, for establishing a sacred space and as an aid to meditation and trance induction. In the Ea...

thin mauve
#

@manic halo I'm debugging your landers on Eve, and I didn't find the issue; it seems EMPLP-2 is occlued by Eve, EMPLP-1 is connected, while EMPLP-Lander has no power; from your screen everything seems fine to, so probably I didn't get your exact issue?
I'm releasing anyway a new version, so you could try with that and we could get a better picture

#

(it could be related only to the under sea level-bug I told you, in this case it should be working in this release)

manic halo
#

Will see what is fixed with the new version

left obsidian
#

what does X S K Ka V mean ? anything specific ?

thin mauve
#

Released! v0.6.0 is out

thin mauve
#

I added V which is another IEEE frequency

#

but they're just names for now

left obsidian
brazen oasis
#

So just trying out the bands for the first time, and I'm still learning. One thing that confused me is that I have a number of polar satellites that are meant to be the back-bone network. These all have 1 RA-100 and 2 RA-15s. I changed the RA-100 on the Jool-Polar-North sat from X Band to V Band and disabled the RA-15s. I then moved to the Jool-Polar-South. However, that sat already had the settings changed. This is actually what I was going to do but I expected to have to do it to each satellite individually.

As I go from controlling each polar sat I see my changes already made. Also from the network perspective it seems like it happens when I control the vessel for the first time.

Still not sure this is a bug -- it might be kind of a default thing the first time you control a vessel with the new version. I'm continuing to play with things...

brazen oasis
#

So how are "secondary bands" used? Are they just a second band or do they imply direction (like secondary bands are only for incoming / towards KSC connections)?

thin mauve
#

Very weird, I’ll give it a try

tepid dust
#

I imagine you can have a planetary relay with a primary band of your interplanetary comms band and a secondary of your intraplanetary comms

brazen oasis
#

ah, the same part seems to only have one spot for the band. So changing an RA-15 on one changes it for all

thin mauve
#

it should be configured for each sat anyway, could you send me some screens?

brazen oasis
#

Here's Jool-Eq-1. It currently has both bands on both RA-15's set to V-Band

#

I set the top RA-15 to no secondary band. With out me doing it on the second one, the bottom one also gets updated:

thin mauve
#

Ah gotcha, I thought I fixed the symmetry set thing; the problem is that by default state is “shared” between two parts placed in symmetry in OAB

brazen oasis
#

yeah, I think it might be more, also between vessels

#

(the symmetry thing wouldn't be too big a deal)

#

Now I go to the polar sat

thin mauve
#

ok this is definitely worse

brazen oasis
#

this has 2 RA-15s (it is a modified version of the other sat) and those also have the setting made

#

Now I'll add an entry here

#

I added Ka Band

#

and back to Jool-Eq-1 and it also has Ka Band selected

thin mauve
#

Ok this is definitely.. strange

#

what the hell

brazen oasis
#

it's almost like the bands are being stored statically on the part class

verbal leaf
#

I know that the Kerbal Headlamps mod had a similar bug with the custom module

thin mauve
#

Let me double check the code, maybe I messed up something

thin mauve
#

the ??= not working?

verbal leaf
#

this was the issue and fix iirc

thin mauve
#

well, let's do this!

#

thanks as always @verbal leaf

verbal leaf
#

it might not be related to your issue, but it's the one time I remember seeing the same symptoms

thin mauve
#

as always I cannot reproduce it, but it could be because I've already loaded the savegame with intermediate versions

#

@brazen oasis could you send me the savegame?

tepid dust
#

I think what happens is somehow every part module gets the same instance of the data

verbal leaf
#

yeah

#

definitely seems to be the case

thin mauve
#

Like if they ModuleData is recycled between Modules?

brazen oasis
#

That was taken immediately before my screenshots I think

thin mauve
#

Perfect, thanks!

brazen oasis
#

Not sure if this makes a difference, but everything that is tied together were copies of each other. For example, the polar and eq sats are based on the same initial sat. (I forget which one started as a clone of the other, but I know it's one way or the other.) If you are having trouble reproducing without my save, try launching multiple versions of the same (or slightly modified) vessel.

#

It's either that, or every instance of the part anywhere, which should be easier to replicate

verbal leaf
#

oh, that kinda sounds like the data object was created once in the VAB and then the same reference was used for all launched instances

#

weird

brazen oasis
#

yeah, that's why I said it. Maybe some kind of internal id?

verbal leaf
#

I mean reference specifically as in like an address pointer

#

in C#

verbal leaf
thin mauve
#

But I don't get why we don't have this issue with other Modules

tepid dust
#

Because of that fix

thin mauve
#

I'm talking about KSP2 internal modules

verbal leaf
#

the original code on the left sets the this.dataHeadlamp field only once, and then on all subsequent calls, it doesn't do anything, since it was already set once (in the VAB)

#

and then the fix on the right is simply to create a new instance on each call of AddDataModules

thin mauve
#

For example we have this module too, in Module_Light

tepid dust
thin mauve
#

Oh, so they have a Module_XYZ directly in Unity

#

this means that technically it's serialized

verbal leaf
#

while PM modules get instantiated in the VAB, I'm assuming

tepid dust
#

They get it instantiated OnPartPrefabLoaded

#

So the prefab the VAB uses has it instantiated

#

this uhh also means that most stock modules won't work with PM

#

and I just didn't realize that

#

That's going to go in my book of hidden invisible bugs to fix

thin mauve
#

I really can't reproduce it, but I'm testing if it works in my copy without issues and I'll release it

verbal leaf
#

now that is weird

#

if you can't reproduce it by launching the same vessel multiple times, then it can't be as simple as what we thought

thin mauve
#

oh, with the Add way now I can't use KSPDefinition

tepid dust
#

Each oab prefab is loaded once in the OAB

#

every time the OAB opens tho

#

No wait now I'm definitely confused

verbal leaf
#

how could the bug manifest the first time then?

#

multiple instances of the same part launched on one assembly?

tepid dust
#

idk
how is the same module being carried through to flight?

#

I don't even see the case where that could be happening

verbal leaf
#

yeah lifesupport

manic halo
tepid dust
#

And wait the ??= should work anyways

#

This is what I have for V-Swift

thin mauve
#

And even on parts in symmetry set, so should be something different

verbal leaf
#

plus I can't imagine how this issue could persist through saving and loading

#

since that serializes the objects

thin mauve
#

Yes

#

The worst thing is that I cannot reproduce it even with your save @brazen oasis