Jump to content

NeistAir Reupdated - updated by KerbMario (1.12.x)


kerbmario

Recommended Posts

hey @kerbmario the tweakscale patches in NeistAir are super broken.  For example this patch:

@PART[31-37AD,37-50AD]:AFTER[NeistAir]
{
	%MODULE
	{
		%name = TweakScale
		%defaultScale = 3.750
		%type = stack
	}
}

Will change the first module in the part into a tweakscale module.  That's often the command module, so it completely breaks things.

Link to comment
Share on other sites

10 hours ago, JonnyOThan said:

hey @kerbmario the tweakscale patches in NeistAir are super broken.  For example this patch:

@PART[31-37AD,37-50AD]:AFTER[NeistAir]
{
	%MODULE
	{
		%name = TweakScale
		%defaultScale = 3.750
		%type = stack
	}
}

Will change the first module in the part into a tweakscale module.  That's often the command module, so it completely breaks things.

How do you suggest I fix it? I've had this bug for ages, so I just added TS modules to each part

Link to comment
Share on other sites

15 minutes ago, kerbmario said:

How do you suggest I fix it? I've had this bug for ages, so I just added TS modules to each part

You can remove the % from MODULE if you want it to just create a new module.

Link to comment
Share on other sites

11 hours ago, mocho said:

hey @kerbmario  airplanes made with your parts, as soon as you launch it, it disintegrates into all possible parts, not even with autostrut is it physically stable

 
 
 

may I see a video? I haven't had that happen specifically only with the parts from my mod

P9.2

- Implemented @JonnyOThans tweakscale fix, thanks for correcting my stupidity

Download link:

https://spacedock.info/mod/3034/NeistAir Reupdated

Link to comment
Share on other sites

7 minutes ago, mocho said:

@kerbmario here is a video of spawning an aircraft with parts of your mod ---> https://drive.google.com/drive/folders/1kxhXLyyvse82G03-bCS065arduPbxq9O

I'll try the new version in case that tweakscale is causing that
 
 
 

Just to be sure, do you experience the same issue as I saw in the video, but in other aircraft? Maybe grab KJR https://github.com/KSP-RO/Kerbal-Joint-Reinforcement-Continued/releases/tag/v3.7.1.0

 

Link to comment
Share on other sites

4 minutes ago, Rattana said:

qx2lmH9.png

how come its been a year since my last post and this issue still hasnt been fixed is there just one modder on this?

It's currently just me and I have never done IVA, I'm clueless on how to fix that

Link to comment
Share on other sites

7 minutes ago, mocho said:

@kerbmarioabove all this occurs between stock and neist parts

with struts connecting stock and neist is "more" stable

@kerbmario nah with struts keeps exploding

Well that's an Issue i never encountered. Could you try copying your current ksp instance and only keeping base ksp and NeistAir (and KJR) in there and report if it still happens?

Link to comment
Share on other sites

Posted (edited)
On 5/30/2024 at 10:28 AM, kerbmario said:

It's currently just me and I have never done IVA, I'm clueless on how to fix that

It's easy, but somewhat worksome without Unity. :)

Using Blender, you need to setup a vertex for each Kerbal seat (this is the vertex that will be used by the InternalSeat module in the internal cfg - do not misunderstand it with with the Seat_Passenger prop!).

It's easier to do that using an already known Part as basis.

Check what I'm doing here: https://github.com/net-lisias-ksp/mkext/tree/dev/Mk1/Spaces/mk1CabinInternal (in special, the blend and the cfg file for the mk1CabinEconomicInternal).

It's not that hard, besides I'm currently having my cheeks being mercilessly bashed by the internal cameras (that are also set on vertices in the mu model, but by some reason they are screwed in my model besides I'm trying to mimicking the original).

Edited by Lisias
Fixing the link
Link to comment
Share on other sites

9 hours ago, JonnyOThan said:

@Lisias I’d actually suggest putting the seat modules directly into the seat props in the cfg, so that you don’t have to maintain two sets of truth about where the seats are. Much easier to update.

Spoiler

But harder to reuse assets, what implies on using more memory than necessary. The ReStock guys did a good job on memory management.

EDIT: I think I misunderstood the advice. Reevaluating after working hours.

Yep, I completely misunderstood the advice.

Initially, I though you was suggesting merging the props on the IVA itself, as it was done with the Mk2CrewCabinInternal. Well, as I said, this wastes memory because the same objects (as the seats) are copied over and over, instead of having a single copy "stamped" multiple times. And we have the re-usability factor.

But this is not what you was talking about, somehow I missed you were specifically talking about the CFG - but on a feature I'm not aware of.

To everybody around be on the same page, this is what I'm doing when I put a seat on a Cabin:

INTERNAL
{
	<yada yada yada>
	
	MODULE
	{
		name = InternalSeat
		seatTransformName = Seat1
		allowCrewHelmet = false
		displayseatName = #autoLoc_6002197 //#autoLoc_6002197 = Seat <<1>>
		displayseatIndex = 1
	}
	PROP
	{
		name = Seat_Passenger
		position = -0.1875, -0.41250, 0.00875
		rotation = 0,0.707,0,0.707
		scale = 1,1,1
	}
}

There's a vertex on the mesh called Seat1, and it's where the Kerbal is put while sitting. And the PROP thingy tells KSP to draw a Seat_Passenger on the same spot, so the Kerbal don't "float" in the IVA.

I'm doing this way because it's how the MK1 crewed parts are defined in KSP (checked on 1.12.5, still the same), and I didn't even thought about existing another, more convenient way.

By plain (lack of) luck, I checked the MK2_CrewCab_Int and there I found the seats (and other props) "hardcoded" into the mesh, and this prompted my initial response about being inefficient (not to mention copying ipsi literis copyrighted martial into the work, preventing me from distributing the thing later when I finish the job - if ever).

However, after working hours I kept digging, and found the GenericSpace1 where things appears to be like @JonnyOThan says:

INTERNAL
{
  name = GenericSpace1

  MODULE
  {
    name = InternalSeat
    seatTransformName = CenterSeat
    allowCrewHelmet = false
	displayseatName = #autoLoc_6002191 //#autoLoc_6002191 = Center Seat
  }
}

But, still, it's not what he's talking about - the GenericSpace1 also have the props "hardcoded" on the mesh. Unfortunate, to say the least.

I kept digging, and found Mobile_Processing_Lab_Int . This one hadn't any seat prop hardcoded in the mesh, neither a PROP section on its config file. Digging on the mesh, I found that the seats are not vertices, but Collections (using a blender lingo). Unlinking one seat's collection reverts it to be a single vertice, as I'm using my Mk1 parts.

I didn't really understand how the cube mesh turns into a seat on KSP, I didn't found any metadata hinting me what prop this cube is representing.

But, and again, this doesn't looks like what he said above the same. What he's saying is something like this (I think):

INTERNAL
{
	<yada yada yada>
	
	PROP
	{
		name = Seat_Passenger
		position = -0.1875, -0.41250, 0.00875
		rotation = 0,0.707,0,0.707
		scale = 1,1,1
		MODULE
		{
			name = InternalSeat
			seatTransformName = Seat1
			allowCrewHelmet = false
			displayseatName = #autoLoc_6002197 //#autoLoc_6002197 = Seat <<1>>
			displayseatIndex = 1
		}
	}
}

Problem: I didn't found a single IVA on Stock doing it. I will need to dig into 3rd parties to see exactly how to use it.

What I would really would like to be able to do is to set a transformName into the PROP, so I could use Seat1 on it too (instead of copying and paste Blender's data into the position and rotation). That would make me happy right now.

-- -- ANOTHER POST EDIT -- --

I'm grinding some github search in order to get samples about how to use things this way.

https://github.com/search?q="INTERNAL"+KSP+path%3A*.cfg+PROP+internalseat&type=code

However, until this moment, I didn't found anyone doing it this way but yourself - however, using a custom Internal Module.

So I don't have a comfortably diverse usage on the wild to rely on this stunt - it may work, or it may not, I would need to study FreeIVA's source code to understand what it's doing, and then try to figure out how the Stock Internal Modules are behaving.

For now, I will keep things as they are, and I suggest @kerbmario to do the same. A good compromise would move the PROPs below their respective MODULEs, making easier to eye ball who belongs to who.

The idea of using a MODULE inside the PROP is not bad, however. It just won't make my life easier enough to lure me into trying a somewhat unproven technique on the wild without some testings - something I'm not willing to do now, as I want to use my currently scarce free time to do something that I can use on the game now.

Edited by Lisias
Now I think I understand, but didn't found a concrete example yet.
Link to comment
Share on other sites

On 5/27/2024 at 9:48 PM, JonnyOThan said:

hey @kerbmario the tweakscale patches in NeistAir are super broken.  For example this patch:

@PART[31-37AD,37-50AD]:AFTER[NeistAir]
{
	%MODULE
	{
		%name = TweakScale
		%defaultScale = 3.750
		%type = stack
	}
}

Will change the first module in the part into a tweakscale module.  That's often the command module, so it completely breaks things.

Yep. But a better solution is:

@PART[31-37AD,37-50AD]:FOR[NeistAir]
{
	-MODULE[TweakScale],* { }
	%MODULE[TweakScale]
	{
		%defaultScale = 3.750
		%type = stack
	}
}

This will:

  • Clean up any rogue TweakScale patches, preventing duplicates - and so you know for sure exactly what patch will be in effect at a given time.
  • Will create the TweakScale while processing NestAir, allowing 3rd parties to apply other patches in a previsible way using ":AFTER"
    • With @kerbmario using ":AFTER" himself, you have a race condition later where the one with the up hand on the ascii ordering will win the match.

Check the Module Manager's Patch Cycle for further details.

Link to comment
Share on other sites

Added a simple way to make multiple seats in my thread, no need to have to keep copying and pasting locations and orientations into the config.

After initial set up you can basically keep duplicating seats and transforms in less than a minute, then in multiples as long as you remember to change the end number for each set.

@kerbmario In your internal your "transform empty" orientation is wrong. Set the transform empties to "arrows" and rotate them to the correct direction so that the projected kerbals look the right way up, instructions can be found in my thread.

 

Link to comment
Share on other sites

  • 4 weeks later...
This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...