Wii Sports Resort: Swordplay Showdown Custom Stage Tutorial

This is a quick guide on how to make custom levels for Swordplay Showdown! This is a tutorial I've been wanting to make for a while. The process is very specific and time-consuming, but I've managed to condense it to the point where I could make a basic tutorial out of it!

This won't cover every single aspect of level editing, but it's enough to get your custom levels working!

BEFORE YOU START
You'll need to download a few tools before you start.

PMP EDITOR AND BINARY EXPANDER (Included in the Wii Series Modding Tools pack)
^ The name of the tool is actually "BINARY EXPANDER," but I'll be calling it "EXBIN EDITOR" for this tutorial.
CTools Pack (You'll only need SZS Explorer)
Lorenzi's KMP Editor
SZS Modifier (optional)

STEP 1: GETTING THE PROPER FILES

Assuming you have the files of Wii Sports Resort already dumped, complete the following steps:

1.Go to into the files and locate the /Stage/SwfScene folder
2. Open Kumite.carc with SZS Explorer
3. In the file, extract /Cpu/Sp2SwfKumiteData.exbin and
/Map/WS2_swf_island_K.pmp

Once you've extracted those files...

1. Open KumiteMem1.carc
2. Extract /Map/WS2_swf_island1.kcl and /Map/WS2_swf_island2.kcl


Now you have all the files you need!

STEP 2: EDITING ROUTES

Now you'll need to open WS2_swf_island_K.pmp in PMP Editor.
Once you do, go into the "Routes" tab and select the route you want to edit. The routes are as follows (for reverse stages, the game just flips the route):

0 = Beach
1 = Hilltop (Heartbreak Peak)
2 = Bridge
3 = Lighthouse
4 = Forest
5 = Ruins
6 = Waterfall
7 = Cliffs (By Duckling Pond)
8 = Castle
9 = Volcano

For this tutorial, I'll be editing the route of the Bridge stage.

Once you've decided on a route you want to edit, follow these steps in order:

In PMP Editor:
  1. Under the "Misc" column, select the "Points" button on the far right. This will bring up all of the points used in the route.
  2. Remove every point, then click "Add."
  3. Click on a point and click on the arrow next to "Position." This will give you the option to edit the X, Y, and Z coordinates.
Next, open Lorenzi's KMP Editor and complete the following steps:

In Lorenzi's KMP Editor:

  1. Click on "Open Model."
  2. Select one of the KCL files you extracted. (When it loads, you'll notice that some parts of the island are missing. The collision model was likely split up to save memory. If your stage takes place in a section of the map not featured in the KCL that's currently loaded, you'll have to click "Open Model" and reload the other KCL file to complete the route.)
  3. Scroll down in the editor and select the "Routes" tab, then click "Create New Route."
  4. Next, find a spot on the map that you want to be the starting point of your stage, then hold Alt and Click the area. This will create a route point (You can drag it across the map and the program will automatically snap the point to the proper height.)
  5. Once you pick a starting point, scroll down in the editor until you see the X, Y, and Z coordinates in the routes tab.
  6. Click on your starting point and its coordinates should show up.

Next, in both Lorenzi's KMP Editor and PMP Editor:
  1. Copy the X coordinate from the KMP editor and paste it into the X column in PMP Editor. Do the same for the Y and Z coordinates.
  2. After you copy over each coordinate, click "OK" in PMP Editor.
  3. Click the points button again and you'll see a full coordinate in the route.
If you see a full XYZ coordinate in the list, then you've successfully added your first route point. It's time to add more!

ADDING MORE POINTS:
  1. Go back into Lorenzi's KMP Editor and click on your starting point, then hold Alt and drag it to where you want the next point of the route to be. This will create a new route point.
  2. After the new point is created, click "Add" in PMP Editor and repeat the previous process of copying the route point's coordinates from Lorenzi's KMP Editor into PMP Editor. Once you finish, click "OK" and reopen the route point list. You should now see two coordinates.
  3. To add additional route points (in the KMP Editor), select the most recent point in your route (if you've only added one point, it'll be the second one) and hold down Alt and drag it to where you want the next route point to go. Then, copy the XYZ coordinates of that point into the PMP editor. Repeat this until you have the coordinates of every route point you added copied over from Lorenzi's KMP Editor into PMP Editor.
When your custom route is complete, Save the PMP File.

(Note: Try to add at least 3 route points. Keep all your route points in close proximity to one another. Otherwise, your Mii will sometimes walk very long distances, reach a route point, then start walking backwards. Other times, your Mii might just stop moving altogether, forcing you to swing your way up to reach a CPU.)






(OPTIONAL) CPU EDITING

It's possible to customize some aspects of the CPUs you'll face in each stage along with a few other settings! Here's how:

EDIT THE NUMBER OF CPUs that show up in a Stage​

  1. Open Sp2SwfKumiteData.exbin in the EXBIN Editor (Binary Expander) and open the "Database"

  2. Open "GameData" and you should see a parameter named "m_cpuNum." There should be 20 entries listed (in the right window). As the name hints, it’s a setting for how many Miis show up in each stage. (The entries are in order, so entry 1/20 is for the Bridge stage, 2/20 is for Lighthouse stage, and so on.)
  3. Click on the parameter and it'll bring up a value.

  4. Convert the number of Miis that you want to appear in the stage to hex and replace the replace the default value with your newly converted hex value.


    EXAMPLE:
    I'm using the bridge stage as an example. It's the first entry (1 of 20) and has a default value of "23," which as a decimal is "35" in hex. This means 35 Miis will appear in this stage. I want to change it so that only 20 Miis appear, so I'll need to use a decimal to hex calculator. Doing so gives me the value "14," so I'll change "23" to "14" in the EXBIN Editor. (If you want to change the amount of CPUs that appear in other stages, click on "GameData" and click the "Next Entry" arrow.

    Remember that the entry numbers match the stage numbers in the game.

Save the EXBIN File when you're done.



EDIT THE BOSS OF THE STAGE​

If you'd like to change who the boss of the stage is, open the "Database" in EXBIN Editor and click on the "m_bossMiiIdx" parameter. The boss of each stage is determined by this parameter. It's a value that represents the internal ID of the Mii (in hex). Just like with the CPU amount setting, each "GameData" entry corresponds to the stage numbers in the game.

EXAMPLE:
I'm going to change the boss of the bridge stage as an example (It's entry 1/20). The default value for the bridge stage is "48" (which is "72" in decimal). In the game, 72 is the ID assigned to Cole, so that makes him the boss of this stage. As an example, I'm going to change the boss of the stage to Kathrin. Her internal ID is "52" in decimal. Converting that to hex gives me "34," so I'll change the parameter in the EXBIN Editor accordingly.



To change the boss of a stage, select the ID of one of the Miis from the list below, convert the ID from decimal to hex, then open the EXBIN Editor and replace the default value with the newly converted hex value.

Mii ID List:
  • 00. Saburo
  • 01. Hiroshi
  • 02. Daisuke
  • 03. Shinnosuke
  • 04. Akira
  • 05. Tatsuaki
  • 06. Shouta
  • 07. Ren
  • 08. Kentaro
  • 09. Takumi
  • 10. Haru
  • 11. Yoshi
  • 12. Fumiko
  • 13. Keiko
  • 14. Yoko
  • 15. Miyu
  • 16. Ai
  • 17. Misaki
  • 18. Rin
  • 19. Sakura
  • 20. Andy
  • 21. Chris
  • 22. Ryan
  • 23. Jake
  • 24. Matt
  • 25. Mike
  • 26. Nick
  • 27. Oscar
  • 28. Theo
  • 29. Tyrone
  • 30. Abby
  • 31. Ashley
  • 32. Emily
  • 33. Hayley
  • 34. Jackie
  • 35. Jessie
  • 36. Maria
  • 37. Naomi
  • 38. Rachel
  • 39. Steph
  • 40. James
  • 41. Steve
  • 42. Michael
  • 43. Martin
  • 44. Pierre
  • 45. Alex
  • 46. Luca
  • 47. Marco
  • 48. David
  • 49. Víctor
  • 50. Sarah
  • 51. Helen
  • 52. Kathrin
  • 53. Silke
  • 54. Emma
  • 55. Julie
  • 56. Anna
  • 57. Elisa
  • 58. Eva
  • 59. Lucía
  • 60. Shohei
  • 61. Sota
  • 62. Takashi
  • 63. Shinta
  • 64. Hiromasa
  • 65. Chika
  • 66. Tomoko
  • 67. Hiromi
  • 68. Midori
  • 69. Asami
  • 70. Miguel
  • 71. Abe
  • 72. Cole
  • 73. Greg
  • 74. George
  • 75. Mia
  • 76. Megan
  • 77. Holly
  • 78. Sandra
  • 79. Alisha
  • 80. Tommy
  • 81. Ian
  • 82. Fritz
  • 83. Rainer
  • 84. Eddy
  • 85. Patrick
  • 86. Vincenzo
  • 87. Gabriele
  • 88. Eduardo
  • 89. Pablo
  • 90. Gwen
  • 91. Siobhán
  • 92. Ursula
  • 93. Gabi
  • 94. Stéphanie
  • 95. Nelly
  • 96. Barbara
  • 97. Giovanna
  • 98. Susana
  • 99. Marisa

To change the stage you want to edit the boss of, click on "GameData" and use the "Next Entry" arrow.

Save the EXBIN File when you're done.


EDITING THE CPUs

This is where things get more complex. The way this file is set up allows you to control the type and behavior of every CPU you encounter in a stage (You won't be able to change what Miis actually show up though. That part is hardcoded).


Just like with everything else, the "StageData" entries correspond to each stage in order. 1/20 is the Bridge, 2/20 is the Lighthouse, etc.

The "Order" parameter defines the settings for every individual CPU within a stage. For example, entry 1/100 of this controls the behavior and type of the very first CPU that you'll encounter in the stage (although sometimes you'll face a different first CPU each time you play a stage).

Within this, "m_rank" controls the difficulty of the CPU and "m_proportion" defines the type of armor the CPU will have.

If you want to change the armor type of a CPU, click on the "m_proportion" parameter and change the default value to one of the following:

ARMOR VALUES (WIP):
  • 10 = Mii With Black Armor (3 Hearts)
  • 11 = Mii With Black Armor (3 Hearts)
  • 12 = Large Mii With Black Armor
  • 00 = Mii With Brown Armor
  • 01 = Mii With Green Armor
  • 02 = Mii With Red Armor
  • 03 = Mii With Dark Blue Armor
  • 05 = Mii With Dark Blue Armor
  • 0D = Mii With Black Armor (3 Hearts)
  • 0F = Mii With Black Armor (3 Hearts)

To change the AI type, click on the "m_rank" parameter and change the deafult value to one of the following (Note: While there's a very large number of AI types ranging from 0x00 all the way through 0x6F, I've only listed the most significant ones based on my testing):

AI TYPES:
  • 66 = Waits before attacking, twirls sword around.
  • 68 = Waits before attacking, attacks slowly.
  • 69 = Waits before attacking. They attack semi-quickly if they block your swing.
  • 6A = Attacks slowly, usually waits to attack after they block your swing. They also draw their sword back before attacking.
  • 6B = Constantly tries blocking your swings.
  • 6C = Waits a while before attacking.
  • 6D = Default.
  • 00 = Attacks quickly, then waits. If they block your swing, they'll sometimes attack immediately. Similar to "0A."
  • 04 = Waits, then swings repeatedly. Attacks immediately if they block your swing.
  • 0A = Immediately attacks. Extremely quick swings. This is by far the hardest AI type.
  • 1F = Attacks quickly, usually swings downward. In terms of difficulty, it's in the middle of "04" and "0A."
  • 20 = Attacks randomly?
  • 21 = Attacks semi-quickly. They'll usually attack immediately if your swing is blocked.
  • 22 = About the same as "0A" but slightly slower.
  • 24 = Swings quickly but usually waits before attacking; same for if they block your swing.
  • 25 = Attacks semi-quickly. Sometimes they'll raise their sword in the air.
  • 27 = Usually waits between each hit and swings quickly.

Save the EXBIN File when you're done.





STEP 3: REPLACING FILES
  1. Open Kumite.carc with SZS Explorer and open the "Map" folder.
  2. Replace "WS2_swf_island_K.pmp" with the .pmp file you saved from PMP Editor
  3. Next, open the Cpu folder and replace the "Sp2SwfKumiteData.exbin" file with the .exbin file you exported from the EXBIN Editor.
Save the file.

Now you're ready to test your custom level in the game!
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Veho @ Veho:
    I've been looking for Voltron sets and they are FUCKING expensive.
  • Skelletonike @ Skelletonike:
    there are some really good original chinese stuff too
  • Skelletonike @ Skelletonike:
    there's these model kit sets I buy based on a chinese manhua
  • Skelletonike @ Skelletonike:
    They're better than most bandai master grades
  • Veho @ Veho:
    JoyToy has some incredible models, but they're expensive.
  • Veho @ Veho:
    And there are some toy lines that have their own worldbuilding that also look great but I'm buying my 80s Saturday morning cartoon merch first.
  • Skelletonike @ Skelletonike:
    I've been ordering them from a mix of aliexpress, temu and model kit stores with discounts (sea stores give big discounts on singles day and new years).
  • Veho @ Veho:
    I recently discovered Archecore, the models look great but they're hella expensive.
  • Veho @ Veho:
    They are worth the money for quality and features but they are still expensive.
  • Skelletonike @ Skelletonike:
    seems to be japanese
  • Veho @ Veho:
    Because it has Kanji on it?
  • Veho @ Veho:
    The parent company is Toys Alliance which is Chinese I think.
  • Skelletonike @ Skelletonike:
    no, it has hiragana on the website and facebok
  • Skelletonike @ Skelletonike:
    toy alliance is also registered in japan so dunno
  • Skelletonike @ Skelletonike:
    At least it is legally licensed in Japan, unlike most. Which could add to the cost.
  • Veho @ Veho:
    Apparently they're Taiwanese. Whether that's China is up to debate :tpi:
  • Veho @ Veho:
    License fees always jack up the price.
  • Veho @ Veho:
    There are some officially licensed non-Lego sets and they cost almost as much as Lego. Great designs and stuff, but they are 'spensive.
  • Veho @ Veho:
    Astroboy, Popeye, Garfield, Metal Slug, some local stuff...
  • Veho @ Veho:
    Detective Conan...
  • Evgeniy6667 @ Evgeniy6667:
    hello there
  • Evgeniy6667 @ Evgeniy6667:
    someone familar with c++? I suggest taking part in the fork of the dolphin emulator for switch https://github.com/evgeniygazetdinov/dolphin-switch-port
  • Veho @ Veho:
    Anyone want to fork a dolphin?
    Veho @ Veho: Anyone want to fork a dolphin?