Jump to content

Firespitter propeller plane and helicopter parts v7.1 (May 5th) for KSP 1.0


Snjo

Recommended Posts

Hey Snjo, a question regarding the fsEngineSounds module.

Right now it looks like it only supports a hum sound and a 'throttleable' master power sound while running.

I'm tinkering with a turbojet and adding in the sounds of an SR-71's J-58. I've broken and meshed the sound samples into:

- TJ_START

- TJ_IDLE

- TJ_POWER

- TJ_BURNER

- TJ_SHUTDOWN

As it looks, I can only use one sound to dominate the entire engine range, when I'd like to break the run sequence into three sound blocks.

- Idle for low throttle up to 25% with a hollow whistling turbine

- Power from 25% throttle to military thrust (Probably defined as 0.9 or 90% throttle) with a deep

- Afterburner after 90.

Would it be too much to ask if the sound module adds the functionality to define additional 'steps' for 'power, as well as define throttle-based minimum and maximum volumes along side pitch? In this manner, I could take multiple steps and blend the engine sounds together into one cohesive roar that has both dynamic pitch, volume, and texture throughout the operational range.

This is the sound set in case you're curious.

Link to comment
Share on other sites

Would be perfect if you could change the width of the helicopter blades as well. As is, *clapclapclapclap*

Yes, I suppose that is possible. Right now it has a fixed mulitplier, but I could expose that probably. It does look a bit odd when you scale it too much that direction, because it's non-uniform in the width/height, so for some models you get ovals instead of round parts.

Hey Snjo, a question regarding the fsEngineSounds module.

Right now it looks like it only supports a hum sound and a 'throttleable' master power sound while running.

I'm tinkering with a turbojet and adding in the sounds of an SR-71's J-58. I've broken and meshed the sound samples into:

- TJ_START

- TJ_IDLE

- TJ_POWER

- TJ_BURNER

- TJ_SHUTDOWN

As it looks, I can only use one sound to dominate the entire engine range, when I'd like to break the run sequence into three sound blocks.

- Idle for low throttle up to 25% with a hollow whistling turbine

- Power from 25% throttle to military thrust (Probably defined as 0.9 or 90% throttle) with a deep

- Afterburner after 90.

Would it be too much to ask if the sound module adds the functionality to define additional 'steps' for 'power, as well as define throttle-based minimum and maximum volumes along side pitch? In this manner, I could take multiple steps and blend the engine sounds together into one cohesive roar that has both dynamic pitch, volume, and texture throughout the operational range.

This is the sound set in case you're curious.

In case you haven't tried it in the later versions of the dll, all the different sounds are now implemented, like shutdown, flameout and running. They were dead for a long time.

The power sounds would need to transition between them in some way, question is if it should be based on time or current thrust.

-If it's time based, when one sound ends and another begins, the ramp up and down at a set speed. So when you go from 60% to 60.1% thrust, it spins the old sound down for half a second. You will never hear both sounds at the same time for long

-If it's thrust based, sound1 is volume 100 at 55% thrust and goes down to volume 0 at 60% thrust. Sound2 is volume 0 at 55%, and volume 100 at 60%. This means, if you rest your engine at 57%, you will always be in the mix zone.

I prefer method 1 in most cases, but method2 is better for cases where the thrust fluctuates due to efficiency curves etc.

Link to comment
Share on other sites

I found bug in Firespitter 7.0 RC 2

Apparently part called FS_oblongMultiTank (found in "\Firespitter\Parts\Fuselage\FS_oblongMultiTank") breaks PartCatalog plugin.

Removal of this part fixes the problem.

Here is logs of that error:

LuaScriptException: [string "chunk"]:290: '}' expected near 'mapNames'

at NLua.Lua.ThrowExceptionFromError (Int32 oldTop) [0x00000] in <filename unknown>:0

at NLua.Lua.DoString (System.String chunk, System.String chunkName) [0x00000] in <filename unknown>:0

at PartCatalog.LuaRuleHandler.SetupNamespace () [0x00000] in <filename unknown>:0

at PartCatalog.LuaRuleHandler..ctor () [0x00000] in <filename unknown>:0

at PartCatalog.LuaRuleHandler..cctor () [0x00000] in <filename unknown>:0

Rethrow as TypeInitializationException: An exception was thrown by the type initializer for PartCatalog.LuaRuleHandler

at PartCatalog.GUITagEditor.DrawTagColumn () [0x00000] in <filename unknown>:0

at PartCatalog.GUITagEditor.DrawWindow (Int32 id) [0x00000] in <filename unknown>:0

at UnityEngine.GUILayout+LayoutedWindow.DoWindow (Int32 windowID) [0x00000] in <filename unknown>:0

at UnityEngine.GUI.CallWindowDelegate (UnityEngine.WindowFunction func, Int32 id, UnityEngine.GUISkin _skin, Int32 forceRect, Single width, Single height, UnityEngine.GUIStyle style) [0x00000] in <filename unknown>:0

It causes Part Catalog to not work at all.

Edited by raxo2222
Link to comment
Share on other sites

Yes, I suppose that is possible. Right now it has a fixed mulitplier, but I could expose that probably. It does look a bit odd when you scale it too much that direction, because it's non-uniform in the width/height, so for some models you get ovals instead of round parts.

In case you haven't tried it in the later versions of the dll, all the different sounds are now implemented, like shutdown, flameout and running. They were dead for a long time.

The power sounds would need to transition between them in some way, question is if it should be based on time or current thrust.

-If it's time based, when one sound ends and another begins, the ramp up and down at a set speed. So when you go from 60% to 60.1% thrust, it spins the old sound down for half a second. You will never hear both sounds at the same time for long

-If it's thrust based, sound1 is volume 100 at 55% thrust and goes down to volume 0 at 60% thrust. Sound2 is volume 0 at 55%, and volume 100 at 60%. This means, if you rest your engine at 57%, you will always be in the mix zone.

I prefer method 1 in most cases, but method2 is better for cases where the thrust fluctuates due to efficiency curves etc.

I think I'm using a later version of the DLL because flameout and other such sounds exist and work, but I don't know what the valid commands are. The only thing I found was an online set of instructions detailing what I already saw in KAX's file for a turboprop. I used that as template to start playing and tried a couple of 'intuitive' command additions for 'running' that existed for 'power' with now effect.

Also, I like the thrust based method myself. As an audio mixer, I can get quite fancy with layering sound textures if I really want to. If you use a series of simple sounds and then independently layer them in the controls, you can create a really sophisticated effect. Turbine whines that are independent of engine roars, pumps that can be layered in along side another sound but made to behave differently for a throttle setting, the works.

The problem is though, I don't know what all the valid sound commands are. I was thinking something to define upper and lower throttle thressholds and defining minimum and maximum volume levels/ranges.... But the commands I've seen only included power on the more sophisticated commands, and when I tried using 'running', I got nothing.

I was trying to do something like this...

running = soundA

power = soundB

runningPitchBase = 1.0

powerPitchBase = 0.8

runningAddToPitch = 2.0

powerAddToPitch = 1.5

runningLowerThreshold = 0.0 (Idle)

runningUpperThreshold = 0.55 (I don't know if this command exists, but I was assuming that between 45 and 55 throttle would be a blending range and gave it a shot with obvious failure of results.)

powerLowerThreshold = 0.45

runningUpperFadeRange = 0.1 (I'm making this command up now, it means that when the throttle is 10% from the upper threshold, it will fade from its maximum volume to zero at the threshold.)

powerLowerFadeRange = 0.1 (Same as above, but from the lower end.)

etc...

I could blend that perfectly.

Though what would be nice to do is allow support for more sound ranges instead of just running and power. It would work nicely if we could define the number of operational sounds as defined by an array.

runningNumber = 3

running

running2

running3

...where the number at the immediate end of 'running' is an array value greater than one. And to keep backward compatibility, if no number is defined, it's assumed one, and one is always assumed to not have a number after the name field.

Also, I've been trying to get power delay to work but I end up scratching my head. I assumed that the value was in seconds. So I have the startup sound that's 35 seconds long, but when I set powerFadeInDelay to 30.0 with a powerFadeInSpeed calculated to take five seconds, I got the engine powerup sound, and then dead air for way longer than thirty seconds before it just CAME ON full blast with no fade. I wanted the sound to fade in to full in the last five seconds of the startup for a seamless transition, but that's not happening. When I tried altering the delay to 10.0, it seems to take the expected ten seconds. (Which hilariously enough, timed it right with the combustion ignition sound...)

I'm'a sleep on it.

Link to comment
Share on other sites

I found bug in Firespitter 7.0 RC 2

Apparently part called FS_oblongMultiTank (found in "\Firespitter\Parts\Fuselage\FS_oblongMultiTank") breaks PartCatalog plugin.

Removal of this part fixes the problem.

Here is logs of that error:

LuaScriptException: [string "chunk"]:290: '}' expected near 'MapNames'

...

It causes Part Catalog to not work at all.

This must be an error with PartCatalog's parsing, not something I can solve. The field MapNames (with a capital M) probably is not an FS field. There happens to be a "mapNames", but that's different. I would report it in the PartCatalog thread.

I think I'm using a later version of the DLL because flameout and other such sounds exist and work, but I don't know what the valid commands are. The only thing I found was an online set of instructions detailing what I already saw in KAX's file for a turboprop. I used that as template to start playing and tried a couple of 'intuitive' command additions for 'running' that existed for 'power' with now effect.

Also, I like the thrust based method myself. As an audio mixer, I can get quite fancy with layering sound textures if I really want to. If you use a series of simple sounds and then independently layer them in the controls, you can create a really sophisticated effect. Turbine whines that are independent of engine roars, pumps that can be layered in along side another sound but made to behave differently for a throttle setting, the works.

The problem is though, I don't know what all the valid sound commands are. I was thinking something to define upper and lower throttle thressholds and defining minimum and maximum volume levels/ranges.... But the commands I've seen only included power on the more sophisticated commands, and when I tried using 'running', I got nothing.

[...]

Also, I've been trying to get power delay to work but I end up scratching my head. I assumed that the value was in seconds. So I have the startup sound that's 35 seconds long, but when I set powerFadeInDelay to 30.0 with a powerFadeInSpeed calculated to take five seconds, I got the engine powerup sound, and then dead air for way longer than thirty seconds before it just CAME ON full blast with no fade. I wanted the sound to fade in to full in the last five seconds of the startup for a seamless transition, but that's not happening. When I tried altering the delay to 10.0, it seems to take the expected ten seconds. (Which hilariously enough, timed it right with the combustion ignition sound...)

I'm'a sleep on it.

The values are explained in the docs. No idea what happened to your delay.

I agree with you plan for settings the fade ins and outs.

Would probably make it look like this:

power = idleSound, 0.0, 0.25, 0.0, 0.1; normalPowerSound, 0.25, 0.9, 0.2, 0.05; afterburnerSound, 0.9, 1.0, 0.05, 0.0; etc, etc.

where the values are: sound_effect_name, lowThreshold, highThreshold, fadeIn, fadeOut

Link to comment
Share on other sites

Yeah, I read those docs... But it seems like only the power sound has effects you can manipulate, and it looks like running only has the volume level to play with.

It confused me because intuition says that if:

'powerFadeInSpeed' defines the fade-in speed for the sound 'power', then:

'runningFadeInSpeed' should also be valid even if it's not shown in what I read. As it's just defining the same parameter for 'running' instead of 'power'.

That's why I wanted to check, I wasn't sure if the documents I'd read were the right ones/up to date.

Of course, yes, I do know that technically that since it has no spaces, that's one whole function/class/whatever name. Like I said, I made 'intuitive' attempts at it to see if I was just using a file that didn't use all possible commands.

As for the rearrangement you show of the command lines... I'm down with that. I'd just make sure the file is very VERBOSE in commenting as to what each number defines, and in what units to what reference. I've played with text files where an object is defined, and then the parameters are shown as a string of values without proper in-file documentation. (And sometimes no external documentation.) It's like reading Greek. (This was back in my days of playing around with Stellar Frontier)

Though if there's a way to define both time based and thrust based blending methods, that would be best route. Gives the most play out of the system.

EDIT:

Also. When using something like 'powerFadeInSpeed', I would actually change that to 'powerFadeInLength' and define the parameter as a function of a length of time in seconds. Make the program do the math instead of forcing the user to figure out the amount added for every fifth of a second. Everyone wins... Except existing mods, because that would break the audio modules.

Edited by AdmiralTigerclaw
Link to comment
Share on other sites

This must be an error with PartCatalog's parsing, not something I can solve. The field MapNames (with a capital M) probably is not an FS field. There happens to be a "mapNames", but that's different. I would report it in the PartCatalog thread.

The values are explained in the docs. No idea what happened to your delay.

I agree with you plan for settings the fade ins and outs.

Would probably make it look like this:

power = idleSound, 0.0, 0.25, 0.0, 0.1; normalPowerSound, 0.25, 0.9, 0.2, 0.05; afterburnerSound, 0.9, 1.0, 0.05, 0.0; etc, etc.

where the values are: sound_effect_name, lowThreshold, highThreshold, fadeIn, fadeOut

I thought "m" or "M" is no difference o.o

Well, then it was mapNames then.

There was something else, when I removed "mapNames" line

Link to comment
Share on other sites

Yeah, I read those docs... But it seems like only the power sound has effects you can manipulate, and it looks like running only has the volume level to play with.

It confused me because intuition says that if:

'powerFadeInSpeed' defines the fade-in speed for the sound 'power', then:

'runningFadeInSpeed' should also be valid even if it's not shown in what I read. As it's just defining the same parameter for 'running' instead of 'power'.

That's why I wanted to check, I wasn't sure if the documents I'd read were the right ones/up to date.

Of course, yes, I do know that technically that since it has no spaces, that's one whole function/class/whatever name. Like I said, I made 'intuitive' attempts at it to see if I was just using a file that didn't use all possible commands.

As for the rearrangement you show of the command lines... I'm down with that. I'd just make sure the file is very VERBOSE in commenting as to what each number defines, and in what units to what reference. I've played with text files where an object is defined, and then the parameters are shown as a string of values without proper in-file documentation. (And sometimes no external documentation.) It's like reading Greek. (This was back in my days of playing around with Stellar Frontier)

Though if there's a way to define both time based and thrust based blending methods, that would be best route. Gives the most play out of the system.

The running sound is just here to emulate stock engine sounds, where the jet engines have a low whine that is not tied to thrust or throttle. If the engine is on, that sound is on. I've never even used it myself. If it had been tied to throttle, it would just have been the same as the power sound.

If you want to be sure of what fields are valid in any part module, there is only one way to do that: Check the source. You don't need to understand the code further down, but check the KSPFIELDs at the top of any source file, and you will see all values that can be listed in the cfg (with the exception of nodes, which are different). Look at the engine sound source for instance. You will also see other variables which don't have KSPFIELD above them. Those are not exposed to the cfg, because it would probably break some stuff, or make no sense.

edit: In general, if I have documented a module, all the possible values are listed. A few KSPFIELDS might be absent, but in those cases, it's just because they are there for save persistence, not for putting in the cfg. And if you are missing docs for a module, just let me know, and I will add it.

Edited by Snjo
Link to comment
Share on other sites

The new prerelease is fantastic, Snjo! It's great that you got rid of "FScoolant" and the new hover function is very easy, and fun, to use. Rotor placement guides are working flawlessly, and are very useful.

Things that I've noticed that may not be quite right:

- Hover height control is a little tricky to use with an autogyro setup.

- Tweakable gas engines do not have an "activate/deactivate engine" option for action groups.

- Electric rotors do not have a hover function.

- Helicopter takeoff using tweakable rotors seems too fast (Probably due to greater in flight responsiveness.)

All in all, wow!

Link to comment
Share on other sites

The new prerelease is fantastic, Snjo! It's great that you got rid of "FScoolant" and the new hover function is very easy, and fun, to use. Rotor placement guides are working flawlessly, and are very useful.

Things that I've noticed that may not be quite right:

- Hover height control is a little tricky to use with an autogyro setup.

- Tweakable gas engines do not have an "activate/deactivate engine" option for action groups.

- Electric rotors do not have a hover function.

- Helicopter takeoff using tweakable rotors seems too fast (Probably due to greater in flight responsiveness.)

All in all, wow!

-Autogyros: Tricky how? How are you building it, and what is wrong? (Assuming you are thinking of gyrocopters, and not auto rotation landing, which should work, although I had to nerf it a lot to avoid upside down super speed)

-Maybe I forgot the action groups, will have to check. Thanks!

-The electric folding rotor is using a different code right now, the same as the propeller engines in fact, so there's still some work to do on those. I used them to test FScoolant-less electrics.

BTW: Some electric engines may still be on the old system, not sure.

-Assuming you are thinking of the gas driven heli rotor, the lift is produced by the lift capacity of the blades, so when you throw it to full collective, it will do all it can right away. If it has less power to do that, it will also have less power to fly around, and to recover from a dive. I have never piloted a helicopter in real life, but I assume you CAN take off very fast, but it's probably not wise. If you make your helicopter rotor less powerful, you will struggle to even get off the ground, so if you want it to look real, you gotta both tweak the engine, and mind the collective.

On the other hand, if you were thinking of the electric rotor taking off to fast, then yes, it's not doing blade math at all yet.

Link to comment
Share on other sites

-Autogyros: Tricky how? How are you building it, and what is wrong? (Assuming you are thinking of gyrocopters, and not auto rotation landing, which should work, although I had to nerf it a lot to avoid upside down super speed)

-Maybe I forgot the action groups, will have to check. Thanks!

-The electric folding rotor is using a different code right now, the same as the propeller engines in fact, so there's still some work to do on those. I used them to test FScoolant-less electrics.

BTW: Some electric engines may still be on the old system, not sure.

-Assuming you are thinking of the gas driven heli rotor, the lift is produced by the lift capacity of the blades, so when you throw it to full collective, it will do all it can right away. If it has less power to do that, it will also have less power to fly around, and to recover from a dive. I have never piloted a helicopter in real life, but I assume you CAN take off very fast, but it's probably not wise. If you make your helicopter rotor less powerful, you will struggle to even get off the ground, so if you want it to look real, you gotta both tweak the engine, and mind the collective.

On the other hand, if you were thinking of the electric rotor taking off to fast, then yes, it's not doing blade math at all yet.

Yes, Gyrocopters. The trickiness is in adjusting the propeller throttle without also adjusting hover altitude. Both use SHIFT and CONTROL, so as I go slower, I go lower.

EDIT: After a brief bit of research on gyrocopters, I should point out that the main rotor is powered in this case. So, a helicopter with propellers?

Edited by BigFatStupidHead
Link to comment
Share on other sites

Oh right! I actually commented out an input option that uses pgup/pgdn and some other stuff for fine control. Maybe I should put those back in. Just have to make the key option toggle better.

Link to comment
Share on other sites

I believe KSP has a flat runway modeled on a curved surface you are flying straight but the ground is turned slightly do to kerbin's curvature (hence the runway being raised and having varying hieghts from the ground either side) its more Kerbin's fault than your own :) if you try to just balance out befor take-off it'll work a bit better possibly then turning to straighten out. turning applies centripetal force to the outward side of the planes causing wings to dip causing your crashes, from what i could see. It may also be FAR being a bit funny with lift dynamics before takeoff with your wheels etc, i noticed in stock KSP you could move fast with a plane over the ground in FAR you want off the ground ASAP from my experiences :)

I know I'm replying to quite an old post here but you may be interested in this.

Link to comment
Share on other sites

Hey I'm trying to use FStextureswitch on some parts and I can't make it work. I've made some textures in Gimp and saved them as .tga's.

Here's what I've got.

PART
{
// --- general parameters ---
name = B9_Cockpit_MK1_Tail_2
module = Part
author = Taverius(model), bac9-flcl (textures)

// --- asset parameters ---
MODEL
{
model = B9_Aerospace/Parts/Cockpit_MK1_Tail/Raised
}
scale = 1
rescaleFactor = 1

// --- node definitions ---
node_attach = 0.0, 1.99, 0.0, 0.0, -1.0, 0.0
node_stack_top = 0.0, 2.0, 0.0, 0.0, 1.0, 0.0

// --- editor parameters ---
entryCost = 2800
TechRequired = aerodynamicSystems
cost = 675
category = 2
subcategory = 0
title = MK1 Tail Section (Raised)
manufacturer = Tetragon Projects
description = Tail section styled for use with overhauled MK2 fuselage system. Mounted onto standard 1.25m ports.

// attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision
attachRules = 1,1,1,1,0

// --- standard part parameters ---
mass = 0.3
dragModelType = default
maximum_drag = 0.2
minimum_drag = 0.3
angularDrag = 2
crashTolerance = 30
breakingForce = 112.5
breakingTorque = 112.5
maxTemp = 3000
fuelCrossFeed = True

MODULE
{
name = FStextureSwitch
moduleID = 0
//showListButton = True
textures
{
name = B9_Aerospace/Parts/Cockpit_MK1_Tail/model000
name = B9_Aerospace/Parts/Cockpit_MK1_Tail/gray
}
objects
{
name = fuselage
}
}
}

I don't know how to use "objects{name = blahblah}". How do I know what the objects name is? It's "fuselage" now from a copy-paste I did of a part that has textureswitching working.

The FStextureswitch interface opens when I rightclick the part in VAB/SPH, but nothing happens when Im click next/previous texture.

Any help is appreciated.

Link to comment
Share on other sites

Hey I'm trying to use FStextureswitch on some parts and I can't make it work. I've made some textures in Gimp and saved them as .tga's.

Here's what I've got.

PART
{
// --- general parameters ---
name = B9_Cockpit_MK1_Tail_2
module = Part
author = Taverius(model), bac9-flcl (textures)

// --- asset parameters ---
MODEL
{
model = B9_Aerospace/Parts/Cockpit_MK1_Tail/Raised
}
scale = 1
rescaleFactor = 1

// --- node definitions ---
node_attach = 0.0, 1.99, 0.0, 0.0, -1.0, 0.0
node_stack_top = 0.0, 2.0, 0.0, 0.0, 1.0, 0.0

// --- editor parameters ---
entryCost = 2800
TechRequired = aerodynamicSystems
cost = 675
category = 2
subcategory = 0
title = MK1 Tail Section (Raised)
manufacturer = Tetragon Projects
description = Tail section styled for use with overhauled MK2 fuselage system. Mounted onto standard 1.25m ports.

// attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision
attachRules = 1,1,1,1,0

// --- standard part parameters ---
mass = 0.3
dragModelType = default
maximum_drag = 0.2
minimum_drag = 0.3
angularDrag = 2
crashTolerance = 30
breakingForce = 112.5
breakingTorque = 112.5
maxTemp = 3000
fuelCrossFeed = True

MODULE
{
name = FStextureSwitch
moduleID = 0
//showListButton = True
textures
{
name = B9_Aerospace/Parts/Cockpit_MK1_Tail/model000
name = B9_Aerospace/Parts/Cockpit_MK1_Tail/gray
}
objects
{
name = fuselage
}
}
}

I don't know how to use "objects{name = blahblah}". How do I know what the objects name is? It's "fuselage" now from a copy-paste I did of a part that has textureswitching working.

The FStextureswitch interface opens when I rightclick the part in VAB/SPH, but nothing happens when Im click next/previous texture.

Any help is appreciated.

If you didn't make the model yourself, and therefore don't know the name of the meshes that hold the textures, you can turn on showListButton = true

Then, if you right click the part, you can click a button that will spit out the names of all objects inside the model to the error log.

One of those is the one you want. If you want to do fewer restarts of the game, and use more up to date code, you might want to use FStextureSwitch2 instead, which is also explained in the docs

Link to comment
Share on other sites

If you didn't make the model yourself, and therefore don't know the name of the meshes that hold the textures, you can turn on showListButton = true

Then, if you right click the part, you can click a button that will spit out the names of all objects inside the model to the error log.

One of those is the one you want. If you want to do fewer restarts of the game, and use more up to date code, you might want to use FStextureSwitch2 instead, which is also explained in the docs

Thanks! It's a B9 model. Where do I find "showListButton"? I didn't find it in settings.cfg or in the F12 menu.

I might as well use FStextureswitch2, I read the manual yesterday but I don't know what the action editor is or how to open it. Google or forum search didn't help. Also what fileextensions does the textureswitch support?

Link to comment
Share on other sites

Oh right! I actually commented out an input option that uses pgup/pgdn and some other stuff for fine control. Maybe I should put those back in. Just have to make the key option toggle better.

hehe, I always look at your configs Snjo.... lol just to see what's there and the possibility of re-implimenting something maybe you commented out. ;)

Link to comment
Share on other sites

You add it in the part.cfg, as shown in the docs linked in my previous post.

It supports all the textures KSP can load, like tga, png etc.

I got showListButton working, but I'm still failing to switch textures. This is the first time I'm trying to use the textureswitcher, if you could take a look at this it would be very helpful.

PART
{
// --- general parameters ---
name = B9CockpitMK1Tail2
module = Part
author = Taverius(model), bac9-flcl (textures)

// --- asset parameters ---
MODEL
{
model = B9_Aerospace/Parts/Cockpit_MK1_Tail/Raised
}
scale = 1
rescaleFactor = 1

MODULE
{
name = FStextureSwitch2
showListButton = true
moduleID = 0
objectNames = B9?Mk1?Tail?R
textureRootFolder = B9_Aerospace/Parts/Cockpit_MK1_Tail
textureNames = Grey; model000
nextButtonText = Next Texture
prevButtonText = Previous Texture
switchableInFlight = false
repaintableEVA = false
}

}

The debug meny spits out the following objects: "model", "B9 MK1 Tail R", "B9_Aerospace/Parts/Cockpit_Mk1_Tail/Raised(Clone)", "collider", "ReferenceMarker", "Line", "Line", "Line".

I've made a texture, "Grey.tga", which resides in the folder I refer to in the cfg along with model000.tga.

Still nothing happens when pressing next texture. Anything obvious I've done wrong?

Link to comment
Share on other sites

Why do you have all those question marks in "B9?Mk1?Tail?R"?

Also, try the other object names too in order.

Add the line debugMode = true, and you will see additional messages in the log about what's happening, and any stuff the module is unhappy with as it does its start routine and switching.

Link to comment
Share on other sites

Thanks for your quick answer. I thought I hade to use questionmarks because MM screws up when reading spaces.

Anyway I deleted the questionmarks and added the objects in the order they appear in the log (that's what you meant right?)

It now looks like this:

MODULE
{
name = FStextureSwitch2
debugMode = true
showListButton = true
moduleID = 0
objectNames = model;B9_Aerospace/Parts/Cockpit_Mk1_Tail/Raised(Clone);B9 Mk1 Tail R;collider;ReferenceMarker;Line;Line;Line
textureRootFolder = B9_Aerospace/Parts/Cockpit_MK1_Tail
textureNames =Grey;model000
nextButtonText = Next Texture
prevButtonText = Previous Texture
switchableInFlight = false
repaintableEVA = false
}

It still doesn't work. The debug console says "no such texture: Grey" and "no such texture: model000" plus something like "useMap index out of range error, maplist count 1" when trying to switch textures.

Edited by ThorBeorn
Link to comment
Share on other sites

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...