Jump to content

Engine Sound Mod (now with modulemanager)


Corona688

Recommended Posts

I got into this because I really hated the sound of small engines in KSP.  I now have unique sounds for the Ant/Spider, the Twitch, and Spark!

http://burningsmell.org/ksp/ant-mod-v3-1.3.1.zip

Requires ModuleManager.  Files should be placed in GameData/Monty/enginesound.cfg, etc, etc.

License is creative commons / noncommercial / attribution.  Sound sources are listed in the cfg file.

Feedback is much appreciated.

Edited by Corona688
New Version
Link to comment
Share on other sites

New in V2:  The Spark and the Twitch each have own new, and unique sound!

Spark is based upon https://freesound.org/people/Jagadamba/sounds/257055/

Twitch is based upon https://freesound.org/people/OfItAll/sounds/244229/

  Please try it and give feedback.   Link is in OP.

Edited by Corona688
Link to comment
Share on other sites

  • 3 weeks later...
On 11/27/2017 at 10:18 PM, Corona688 said:

New in V2:  The Spark and the Twitch each have own new, and unique sound!

Spark is based upon https://freesound.org/people/Jagadamba/sounds/257055/

Twitch is based upon https://freesound.org/people/OfItAll/sounds/244229/

  Please try it and give feedback.   Link is in OP.

why arent you using modulemanager? with 1 cfg file, all the engines could get the new sounds.

Link to comment
Share on other sites

@Corona688 Merging into the Squad folder is highly discouraged so MM is and should be your best friend. This is all you need to fill your config file (just one file) to achieve your goal. :wink: 

@PART[engine1]
{
	!EFFECTS {}
	EFFECTS
	{
		// new stuff
	}
}

@PART[engine2]
{
	!EFFECTS {}
	EFFECTS
	{
		// new stuff
	}
}

 

Link to comment
Share on other sites

That's the power of MM. It does that. It lets you do as you need (within KSP's abilities) to adjust parts and gameplay during startup. The MM wiki should be pretty easy to digest. https://github.com/sarbian/ModuleManager/wiki/Module-Manager-Syntax

Also, there's this. It's more precise and more efficient (saving on lines of code) than my previous example.

@PART[engine1]
{
	@EFFECTS
	{
		@AUDIO
		{
			@running
			{
				@clip = // new path
			}
		}
	}
}

@PART[engine2]
{
	@EFFECTS
	{
		@AUDIO
		{
			@running
			{
				@clip = // new path
			}
		}
	}
}

 

Link to comment
Share on other sites

2 minutes ago, Corona688 said:

So it doesn't touch Squad's part config files at all?  Maybe that really is better.

It totally is.

I only dabble just a tiny bit in modding, and even I'll say; learning a touch of ModuleManager Syntax is definitely worth it.

So much easier than manual file editing and replacing. So much neater and cleaner too.

Link to comment
Share on other sites

@Corona688 Why not go big and replace the sounds of the heavy-lifting engines (Mainsail, Rhino, Mammoth), or the engines that players will likely use most such as the Rapier, Dart Aerospike, and the LV-N nuclear engine.

As the Rapier is a dual-mode engine, you'll want to target the running_closed{} node inside of EFFECTS{}.  I think it's running_closed, but it will be different anyway because there are two nodes like it, one for air-breathing and the one for closed cycle.

Link to comment
Share on other sites

I actually started with that goal but hit roadblocks.  The mainsail's config file uses an ancient syntax and can't be customized until you replace a large portion of it.  The effect sections in it right now are actually nonfunctional.

Your "module manager syntax" link has been very helpful though, that might be the rosetta stone I needed.  I'll see what I can do tonight.

Edited by Corona688
Link to comment
Share on other sites

Ah, right. I didn't remember yet. Notice the particular engine plume of the Mainsail, the LV-N and most other stock rocket engines. That means they use the antique ModuleEngines{} and don't have an EFFECTS{}. If you still want to, you can insert the entire EFFECTS node from another engine and rename ModuleEngines to ModuleEnginesFX.

@PART[engine3]
{
	@MODULE[ModuleEngines]
	{
		@name = ModuleEnginesFX
		runningEffectName = running //add this, replace with the name of the desired node under EFFECTS if different
	}
	EFFECTS
	{
		// copypasta
		// include your sound patch change
	}
}

 

Link to comment
Share on other sites

My feedback as a non-modder- This mod would be amazing to have once it's ironed out and more engine sounds are added. The stock engine sounds are really dull after a couple of launches, really would love to hear the snap of real rocket engines pushing through the atmosphere. 

Best of luck with this mod, Will be watching and waiting. 

Link to comment
Share on other sites

On 11/26/2017 at 5:10 PM, Corona688 said:

I got into this because I really hated the sound of small engines in KSP.  I now have unique sounds for the Ant/Spider, the Twitch, and Spark!

http://burningsmell.org/ksp/ant-mod-v3-1.3.1.zip

Requires ModuleManager.  Files should be placed in GameData/Monty/enginesound.cfg, etc, etc.

Feedback is much appreciated.

You need to put the license in the OP, as well as the zip

Link to comment
Share on other sites

The mainsail continues to resist all attempts to modernize it.

7 hours ago, JadeOfMaar said:

Ah, right. I didn't remember yet. Notice the particular engine plume of the Mainsail, the LV-N and most other stock rocket engines. That means they use the antique ModuleEngines{} and don't have an EFFECTS{}. If you still want to, you can insert the entire EFFECTS node from another engine and rename ModuleEngines to ModuleEnginesFX.


@PART[engine3]
{
	@MODULE[ModuleEngines]
	{
		@name = ModuleEnginesFX
		runningEffectName = running //add this, replace with the name of the desired node under EFFECTS if different
	}
	EFFECTS
	{
		// copypasta
		// include your sound patch change
	}
}

 

@JadeOfMaar

The mainsail continues to resist any attempts at modernization.
 

@PART[liquidEngine1-2]
{
        @MODULE[ModuleEngines]
        {
                @name = ModuleEnginesFX
                runningEffectName = running
        }

        !EFFECTS {}

        EFFECTS
        {
                running
                {
                        PREFAB_PARTICLE
                        {
                                prefabName = fx_exhaustSparks_flameout_2
                                transformName = fxPoint
//                              oneShot = true

                                transformName = fxPoint
//                              oneShot = true
                        }
                }
        }
}

Ignore the duplicated lines, the forum won't let me fix that.

This should spit sparks.  It does not spit sparks.  Something connecting the two is missing

Edited by Corona688
Link to comment
Share on other sites

14 minutes ago, Corona688 said:

The mainsail continues to resist all attempts to modernize it.

@JadeOfMaar

The mainsail continues to resist any attempts at modernization.
 


@PART[liquidEngine1-2]
{
        @MODULE[ModuleEngines]
        {
                @name = ModuleEnginesFX
                runningEffectName = running
        }

        !EFFECTS {}

        EFFECTS
        {
                running
                {
                        PREFAB_PARTICLE
                        {
                                prefabName = fx_exhaustSparks_flameout_2
                                transformName = fxPoint
//                              oneShot = true

                                transformName = fxPoint
//                              oneShot = true
                        }
                }
        }
}

Ignore the duplicated lines, the forum won't let me fix that.

This should spit sparks.  It does not spit sparks.  Something connecting the two is missing

It also has the old sounds 

sound_vent_medium = engage
sound_rocket_hard = running        <------------------  Is it running this one or the bottom one ?
sound_vent_soft = disengage
sound_explosion_low = flameout

//plus

	EFFECTS
	{
		Thrust
		{
			AUDIO
			{
				clip = Squad/Sounds/sound_rocket_mini      //<------------ is running this one on the top ? why does it have both ?
				volume = 0.0 0.0
				volume = 1.0 1.0
				pitch = 0.0 0.8
				pitch = 1.0 1.0
				loop = true
			}
		}
	}

 

Link to comment
Share on other sites

It uses the top one.  The EFFECTS section is nonfunctional.  Someone already tried to modernize it and failed.

You tell it to use the EFFECTS section by setting

name = ModuleEnginesFX

But having done so you have to translate all the particle things from old style to new.

Edited by Corona688
Link to comment
Share on other sites

5 minutes ago, Corona688 said:

It uses the top one.  The EFFECTS section is nonfunctional.  Someone already tried to modernize it and failed.

You tell it to use the EFFECTS section by setting


name = ModuleEnginesFX

But having done so you have to translate all the particle things from old style to new.

Have you tried something like 

@PART[liquidEngine1-2]
{

	//sound_vent_medium = engage      // < If not changing these
	%sound_Ant-Engine = running        // Your sound test
	//sound_vent_soft = disengage      // < If not changing these
	//sound_explosion_low = flameout    // < If not changing these
     
    @EFFECTS
    {
      @AUDIO
       {
	%clip = Monty/Sounds/sound_Ant-Engine
	//volume = 0.0 0.0
	//volume = 1.0 1.0
	//pitch = 0.0 0.8        // if you don't change these
	//pitch = 1.0 1.0
	//loop = true
	}
    }
}

But it would need to run after squad

Link to comment
Share on other sites

Does not work because are EFFECTS are ignored by ModuleEngines.  ModuleEngines gives you the 2011 default engine sounds and engine particle effects and nothing else.

Also, these sound_* variables are hardcoded names, I can set a sound_Ant but ModuleEngines won't look for it.

Edited by Corona688
Link to comment
Share on other sites

4 minutes ago, Corona688 said:

Does not work because are EFFECTS are ignored by ModuleEngines.  ModuleEngines gives you the 2011 default engine sounds and engine particle effects and nothing else.

Is has always been a problem with sound mods most use a plugin with that said they may or may not have fix it by now but in your cfg you have 

runningEffectName = running

on some engines and its how ever the modder made it or has thing set you have running or you have running closed so you would have to !sound = {} all the sounds and then write in @ModuleEnginesFX and all the FX good stuff have you even looked at how older mods tried ?

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