Jump to content
You need to play a total of 5 battles to post in this section.
Carrier_Ikoma

[Tutorial] Working plane swaps

2 comments in this topic

Recommended Posts

Beta Testers, Alpha Tester
2,638 posts

Many hours with google and the forum search didn't give me useful information on this topic, and many hours over weeks and weeks of fiddling and I finally got this working, so I wanted to share how to do it. The same experience with google tells me there's interested people, but most seem to have given up. So! Here we go.

This should work with any CV (minus special halloween and space skins), but for the specifics in this tutorial we will be putting the J5N Tenrai on the Royal Navy Carrier, Audacious. 

Step 1 - Extracting Content from the Mod SDK

Follow this guide to extract both the Hakuryu's and Audacious's files

A little extra clarity on the official guide: After you extract the resources in the linked guide, you should have this folder in this directory (adjust the "0.8.2.0" to the game's current version number):

n7cQadp.png

And inside the ModsSDK.zip folder, it should look something like this

lkGQp6v.png

But we can't use those files directly.

Again, following the main guide above, we want to create a ModsSDKExport folder and create Main.py file in this folder:

YUMJogY.png

Inside Main.py we want this code:

API_VERSION = 'API_v1.0'
contentSdk.extractSources('Audacious', 'BSA210_Audacious')
contentSdk.extractSources('Haku', 'JSA110_Hakuryu')

Now start World of Warships. You do not need to log in. But let the game finish loading until the login screen appears.

* If you're using Game Center, you might be logged in automatically. This is OK, it doesn't really matter.

Then, close World of Warships. You should have 2 folders in your PnFMods Folder:

PPzyUeE.png

From this point forward, delete ModsSDKExport (or every time you start the game you will overwrite your files).

Step 2 - Swapping Files

Ok, so we have the files we need. If you navigate to \res_mods\VERSION\PnFMods\Audacious\BSA210_Audacious\aircraft, you should see a long list of aircraft files:

uLvWCwd.png

For this tutorial, let's replace the BAB709_BB_Firebrand_MkV aircraft.

1. Navigate to World_of_Warships\res_mods\VERSION\PnFMods\Haku\JSA110_Hakuryu\aircraft

2. Highlight and copy every file that starts with JAD704_J5N (18 files total).

3. Paste into World_of_Warships\res_mods\VERSION\PnFMods\Audacious\BSA210_Audacious\aircraft

4. Repeat the above to copy Japan_Disk_4Blade_01_alpha.mfm  from   World_of_Warships\res_mods\VERSION\PnFMods\Haku\JSA110_Hakuryu\aircraft  into   World_of_Warships\res_mods\VERSION\PnFMods\Audacious\BSA210_Audacious\aircraft

5. In World_of_Warships\res_mods\VERSION\PnFMods\Audacious\BSA210_Audacious\aircraft, delete every file that starts with BAB709_BB_Firebrand_MkV

6. Rename every file that starts with JAD704_J5N to instead start with BAB709_BB_Firebrand_MkV. Example: JAD704_J5N_proto_lod3.primitives -> BAB709_BB_Firebrand_MkV_proto_lod3.primitives. You need to do this 18 times (for 18 files).

7. Navigate to World_of_Warships\res_mods\VERSION\PnFMods\Audacious and create a Main.py file. Inside Main.py put this code:

API_VERSION = 'API_v1.0'
contentSdk.registerShipMod('BSA210_Audacious')

Lastly, delete the folder Haku inside PnFMods. If you don't, you might still be referencing files in the wrong place. This could mean your mod works when you use it, but not when you try to share it with others.

Step 3 - Cleaning Up

Now we need to clean up the .mfm files in World_of_Warships\res_mods\VERSION\PnFMods\Audacious\BSA210_Audacious\aircraft. These can be edited with a text editor. We'll need to run several search and replace operations on every file ending in .mfm, .model, and .visual for BAB709_BB_Firebrand_MkV:

Search: JAD704_J5N
Replace: BAB709_BB_Firebrand_MkV

You should have 63 matches, and so 63 replacements.

Search: PnFMods/Haku/JSA110_Hakuryu
Replace: PnFMods/Audacious/BSA210_Audacious 

This time you should have 49 replacements

All done? Not yet... Remember Japan_Disk_4Blade_01_alpha.mfm?

Open Japan_Disk_4Blade_01_alpha.mfm in a text editor and you will see the following:

<Japan_Disk_4Blade_01_alpha.mfm>
	<fx>	shaders/std_effects/lightonly_alpha_flat.fx	</fx>
	<collisionFlags>	0	</collisionFlags>
	<materialKind>	0	</materialKind>
	<property>	diffuseMap
		<Texture>	content/gameplay/japan/aircraft/fighter/textures/Japan_Disk_4Blade_01_alpha_a.dds	</Texture>
	</property>
	<property>	doubleSided
		<Bool>	true	</Bool>
	</property>
	<property>	alphaTestEnable
		<Bool>	true	</Bool>
	</property>
</Japan_Disk_4Blade_01_alpha.mfm>

At the time of this writing, the ContentSDK's spinning propeller texture is broken for every aircraft. So we need fix <Texture> so it has the right location. The path should be content/gameplay/common/textures/ instead of content/gameplay/japan/aircraft/fighter/textures/.

Edit Japan_Disk_4Blade_01_alpha.mfm so it looks like this:

<Japan_Disk_4Blade_01_alpha.mfm>
	<fx>	shaders/std_effects/lightonly_alpha_flat.fx	</fx>
	<collisionFlags>	0	</collisionFlags>
	<materialKind>	0	</materialKind>
	<property>	diffuseMap
		<Texture>	content/gameplay/common/textures/Japan_Disk_4Blade_01_alpha_a.dds	</Texture>
	</property>
	<property>	doubleSided
		<Bool>	true	</Bool>
	</property>
	<property>	alphaTestEnable
		<Bool>	true	</Bool>
	</property>
</Japan_Disk_4Blade_01_alpha.mfm>

Note: Even if you are keeping some of the planes stock, you will still need to fix their propeller's .mfm files.

Step 4 - Training Room Test

Ok. We're ready to load in!

And look at that. Pretty Tenrais on Audacious.

BOCGvcG.jpg

Always test in the training room - otherwise you might end up stuck in a battle with broken textures or worse, invisible planes or maybe even freezing the game when you launch aircraft!

So let's launch our squadrons.

XRcZ68P.png

Everything looks good here... We are done! The Tenrais are flying off of Audacious with Royal Navy Torpedoes - nothing broken on the model, no broken textures.

And that's that!

Troubleshooting:

Spoiler

 

Help! The CV won't load/My planes are invisible!

This unfortunately means you missed a step or made a mistake somewhere along the way. I know it's a big pain and I'm sorry but you just have to go through the process very carefully - even 1 tiny mistake breaks it.

I notice some textures on the CV itself are broken.

Just like the planes, not all of the ship's .mfm files point to the right textures. But fixing those is beyond the scope of this guide.

I have all the files in place but extracting the model sources isn't working

One level up from the PnFMods folder (so in World_of_Warships\res_mods\VERSION\ where VERSION is the current game version), you need a file called PnFModsLoader.py. This file can be completely empty, it just needs to exist. If you still have trouble, look at World_of_Warships\profile\python.log for hints.

 

 

Edited by Carrier_Ikoma
typo
  • Cool 3

Share this post


Link to post
Share on other sites
47
[WWSB]
Members
288 posts
10,878 battles
On 4/21/2019 at 11:37 PM, Carrier_Ikoma said:

Many hours with google and the forum search didn't give me useful information on this topic, and many hours over weeks and weeks of fiddling and I finally got this working, so I wanted to share how to do it. The same experience with google tells me there's interested people, but most seem to have given up. So! Here we go.

This should work with any CV (minus special halloween and space skins), but for the specifics in this tutorial we will be putting the J5N Tenrai on the Royal Navy Carrier, Audacious. 

Step 1 - Extracting Content from the Mod SDK

Follow this guide to extract both the Hakuryu's and Audacious's files

A little extra clarity on the official guide: After you extract the resources in the linked guide, you should have this folder in this directory (adjust the "0.8.2.0" to the game's current version number):

n7cQadp.png

And inside the ModsSDK.zip folder, it should look something like this

lkGQp6v.png

But we can't use those files directly.

Again, following the main guide above, we want to create a ModsSDKExport folder and create Main.py file in this folder:

YUMJogY.png

Inside Main.py we want this code:


API_VERSION = 'API_v1.0'
contentSdk.extractSources('Audacious', 'BSA210_Audacious')
contentSdk.extractSources('Haku', 'JSA110_Hakuryu')

Now start World of Warships. You do not need to log in. But let the game finish loading until the login screen appears.

* If you're using Game Center, you might be logged in automatically. This is OK, it doesn't really matter.

Then, close World of Warships. You should have 2 folders in your PnFMods Folder:

PPzyUeE.png

From this point forward, delete ModsSDKExport (or every time you start the game you will overwrite your files).

Step 2 - Swapping Files

Ok, so we have the files we need. If you navigate to \res_mods\VERSION\PnFMods\Audacious\BSA210_Audacious\aircraft, you should see a long list of aircraft files:

uLvWCwd.png

For this tutorial, let's replace the BAB709_BB_Firebrand_MkV aircraft.

1. Navigate to World_of_Warships\res_mods\VERSION\PnFMods\Haku\JSA110_Hakuryu\aircraft

2. Highlight and copy every file that starts with JAD704_J5N (18 files total).

3. Paste into World_of_Warships\res_mods\VERSION\PnFMods\Audacious\BSA210_Audacious\aircraft

4. Repeat the above to copy Japan_Disk_4Blade_01_alpha.mfm  from   World_of_Warships\res_mods\VERSION\PnFMods\Haku\JSA110_Hakuryu\aircraft  into   World_of_Warships\res_mods\VERSION\PnFMods\Audacious\BSA210_Audacious\aircraft

5. In World_of_Warships\res_mods\VERSION\PnFMods\Audacious\BSA210_Audacious\aircraft, delete every file that starts with BAB709_BB_Firebrand_MkV

6. Rename every file that starts with JAD704_J5N to instead start with BAB709_BB_Firebrand_MkV. Example: JAD704_J5N_proto_lod3.primitives -> BAB709_BB_Firebrand_MkV_proto_lod3.primitives. You need to do this 18 times (for 18 files).

7. Navigate to World_of_Warships\res_mods\VERSION\PnFMods\Audacious and create a Main.py file. Inside Main.py put this code:


API_VERSION = 'API_v1.0'
contentSdk.registerShipMod('BSA210_Audacious')

Lastly, delete the folder Haku inside PnFMods. If you don't, you might still be referencing files in the wrong place. This could mean your mod works when you use it, but not when you try to share it with others.

Step 3 - Cleaning Up

Now we need to clean up the .mfm files in World_of_Warships\res_mods\VERSION\PnFMods\Audacious\BSA210_Audacious\aircraft. These can be edited with a text editor. We'll need to run several search and replace operations on every file ending in .mfm, .model, and .visual for BAB709_BB_Firebrand_MkV:


Search: JAD704_J5N
Replace: BAB709_BB_Firebrand_MkV

You should have 63 matches, and so 63 replacements.


Search: PnFMods/Haku/JSA110_Hakuryu
Replace: PnFMods/Audacious/BSA210_Audacious 

This time you should have 49 replacements

All done? Not yet... Remember Japan_Disk_4Blade_01_alpha.mfm?

Open Japan_Disk_4Blade_01_alpha.mfm in a text editor and you will see the following:


<Japan_Disk_4Blade_01_alpha.mfm>
	<fx>	shaders/std_effects/lightonly_alpha_flat.fx	</fx>
	<collisionFlags>	0	</collisionFlags>
	<materialKind>	0	</materialKind>
	<property>	diffuseMap
		<Texture>	content/gameplay/japan/aircraft/fighter/textures/Japan_Disk_4Blade_01_alpha_a.dds	</Texture>
	</property>
	<property>	doubleSided
		<Bool>	true	</Bool>
	</property>
	<property>	alphaTestEnable
		<Bool>	true	</Bool>
	</property>
</Japan_Disk_4Blade_01_alpha.mfm>

At the time of this writing, the ContentSDK's spinning propeller texture is broken for every aircraft. So we need fix <Texture> so it has the right location. The path should be content/gameplay/common/textures/ instead of content/gameplay/japan/aircraft/fighter/textures/.

Edit Japan_Disk_4Blade_01_alpha.mfm so it looks like this:


<Japan_Disk_4Blade_01_alpha.mfm>
	<fx>	shaders/std_effects/lightonly_alpha_flat.fx	</fx>
	<collisionFlags>	0	</collisionFlags>
	<materialKind>	0	</materialKind>
	<property>	diffuseMap
		<Texture>	content/gameplay/common/textures/Japan_Disk_4Blade_01_alpha_a.dds	</Texture>
	</property>
	<property>	doubleSided
		<Bool>	true	</Bool>
	</property>
	<property>	alphaTestEnable
		<Bool>	true	</Bool>
	</property>
</Japan_Disk_4Blade_01_alpha.mfm>

Note: Even if you are keeping some of the planes stock, you will still need to fix their propeller's .mfm files.

Step 4 - Training Room Test

Ok. We're ready to load in!

And look at that. Pretty Tenrais on Audacious.

BOCGvcG.jpg

Always test in the training room - otherwise you might end up stuck in a battle with broken textures or worse, invisible planes or maybe even freezing the game when you launch aircraft!

So let's launch our squadrons.

XRcZ68P.png

Everything looks good here... We are done! The Tenrais are flying off of Audacious with Royal Navy Torpedoes - nothing broken on the model, no broken textures.

And that's that!

Troubleshooting:

  Hide contents

 

Help! The CV won't load/My planes are invisible!

This unfortunately means you missed a step or made a mistake somewhere along the way. I know it's a big pain and I'm sorry but you just have to go through the process very carefully - even 1 tiny mistake breaks it.

I notice some textures on the CV itself are broken.

Just like the planes, not all of the ship's .mfm files point to the right textures. But fixing those is beyond the scope of this guide.

I have all the files in place but extracting the model sources isn't working

One level up from the PnFMods folder (so in World_of_Warships\res_mods\VERSION\ where VERSION is the current game version), you need a file called PnFModsLoader.py. This file can be completely empty, it just needs to exist. If you still have trouble, look at World_of_Warships\profile\python.log for hints.

 

 

Great job with the write up and figuring out how to get this mod to fully work again. I'll give it a try.

P.s. I'm glad to see you figured out the problem with the propellers.

Share this post


Link to post
Share on other sites

  • Recently Browsing   0 members

    No registered users viewing this page.

×