YesNoOk
avatar

How do I separate character palettes (Read 29210 times)

Started by Soul_Of_S'Wit, September 10, 2023, 04:43:34 am
Share this topic:
How do I separate character palettes
#1  September 10, 2023, 04:43:34 am
  • avatar
  • *
    • USA

  • Online
Many characters have special palettes that come with unique AI, moves, sounds, who basically constitute as characters on their own. How do I make them their own characters, as in having them take up a slot?
Re: How do I separate character palettes
#2  September 10, 2023, 07:10:34 am
  • avatar
  • **
    • USA
There's some different ways to go about this.  It's not really possible to explain the more complicated examples in full detail, but here goes nothing.

1) Easiest (2 form, 6 palette type)
In these cases, you really only need to take advantage of the pal.defaults and [palette keymap] portions of the DEF file.  This is sufficient to split the character.

So first, you're going to make two copies of the normal DEF file.  One for each version of the character.  Then just make some edits so that they are something like this:
Spoiler, click to toggle visibilty

Very basic.  Just make sure that neither you or the CPU can pick the wrong palette, and you'll always get the right version.  Problem solved.

2) Complicated (different modes per palette)
You'll need to search through all of the CNS files for "palno" and try to figure out what changing the palette actually does.  If it changes a single variable and nothing else, then bingo!  You can just make edited copies of the file where the variable is set, force the variable to the one you want all the time, and make a copy of the DEF file that uses the edited CNS file instead of the original.  Honestly, it's easier to describe this if there's a particular character in mind.  Sometimes, the palno is actually used as the variable, so a lot of editing needs to be done.
Re: How do I separate character palettes
#3  September 11, 2023, 03:04:24 am
  • avatar
  • *
    • USA

  • Online
There's some different ways to go about this.  It's not really possible to explain the more complicated examples in full detail, but here goes nothing.

1) Easiest (2 form, 6 palette type)
In these cases, you really only need to take advantage of the pal.defaults and [palette keymap] portions of the DEF file.  This is sufficient to split the character.

So first, you're going to make two copies of the normal DEF file.  One for each version of the character.  Then just make some edits so that they are something like this:
Spoiler, click to toggle visibilty

Very basic.  Just make sure that neither you or the CPU can pick the wrong palette, and you'll always get the right version.  Problem solved.

2) Complicated (different modes per palette)
You'll need to search through all of the CNS files for "palno" and try to figure out what changing the palette actually does.  If it changes a single variable and nothing else, then bingo!  You can just make edited copies of the file where the variable is set, force the variable to the one you want all the time, and make a copy of the DEF file that uses the edited CNS file instead of the original.  Honestly, it's easier to describe this if there's a particular character in mind.  Sometimes, the palno is actually used as the variable, so a lot of editing needs to be done.

The def separation thing did the trick for several characters, thanks. But it did not work for Dark Donald's alternate palettes. Perhaps you could demonstrate that one for me? Teach a man to fish, yada yada yada. It's the one by kishio and Donalddesu.
Re: How do I separate character palettes
#4  September 11, 2023, 04:31:57 am
  • avatar
  • **
    • USA
It's refreshing to see that a character request that isn't like 90MB.

So yeah, this is one of those ones that's a bit more complicated.  Luckily, it's not checking for much.  This character has a normal mode, 11P, and 12P.  It barely uses any variables, one CNS file, and has no pre-defined statedef 5900.  BINGO!  I'm gonna show you how to do this the coolest way ever with a config style variable.

Step 1) config.txt
Make a statedef 5900 config.txt (or whatever name) file.  We'll copy, paste, and edit this file later.  Just right now we might as well make the file.
Spoiler, click to toggle visibilty

Step 2) Find and replace
So we established that we're using var(3), and 0 is normal, 1 is 11P, and 2 is 12P.  Just use find and replace (ctrl+H) to change stuff in donald.cns and donald.cmd.
FIND || REPLACE
palno = 11 || var(3) = 1
palno != 11 || var(3) != 1
palno = 12 || var(3) = 2
palno != 12 || var(3) != 2

Once that's done, you can save.

Step 3) DEF files
Ok.  We have to make our DEF file(s) use the config.txt.  This is as easy as adding a single line to the DEF.
Spoiler, click to toggle visibilty

Step 4) Multiple versions.
Now just make two more copies of the DEF file and the config.txt.  Edit the config.txt files with the different config.txt options, and make the new DEF files use the edited configs.

Now all three versions are available and can use any palette!  You might also consider changing the display names and default palettes...stuff like that.  I'll leave that up to you since it's a matter of preference.
Re: How do I separate character palettes
#5  September 12, 2023, 08:45:26 pm
  • avatar
  • *
    • USA

  • Online
It's refreshing to see that a character request that isn't like 90MB.

So yeah, this is one of those ones that's a bit more complicated.  Luckily, it's not checking for much.  This character has a normal mode, 11P, and 12P.  It barely uses any variables, one CNS file, and has no pre-defined statedef 5900.  BINGO!  I'm gonna show you how to do this the coolest way ever with a config style variable.

Step 1) config.txt
Make a statedef 5900 config.txt (or whatever name) file.  We'll copy, paste, and edit this file later.  Just right now we might as well make the file.
Spoiler, click to toggle visibilty

Step 2) Find and replace
So we established that we're using var(3), and 0 is normal, 1 is 11P, and 2 is 12P.  Just use find and replace (ctrl+H) to change stuff in donald.cns and donald.cmd.
FIND || REPLACE
palno = 11 || var(3) = 1
palno != 11 || var(3) != 1
palno = 12 || var(3) = 2
palno != 12 || var(3) != 2

Once that's done, you can save.

Step 3) DEF files
Ok.  We have to make our DEF file(s) use the config.txt.  This is as easy as adding a single line to the DEF.
Spoiler, click to toggle visibilty

Step 4) Multiple versions.
Now just make two more copies of the DEF file and the config.txt.  Edit the config.txt files with the different config.txt options, and make the new DEF files use the edited configs.

Now all three versions are available and can use any palette!  You might also consider changing the display names and default palettes...stuff like that.  I'll leave that up to you since it's a matter of preference.


I did everything as you listed, but the game crashed. The crash log said it failed to open the config.txt file.
Re: How do I separate character palettes
#6  September 13, 2023, 09:13:44 am
  • avatar
  • **
    • USA
Make sure the file that you (hopefully) created for statedef 5900 is actually called config.txt and not config.txt.txt.  Or just tell the DEF file to use whatever name it is.  Also, if you copy and paste from the forum, you should probably remove the tab spaces on the left of the lines.  You can just use replace (ctrl+H) to delete them all at once.

Usually, if the error says that it failed to load a file, it's because the file wasn't found, or Mugen ran out of RAM.  Hopefully, a text file would not cause Mugen to use too much RAM, lol.

Also, lol.  11P might be the cheapest thing I've ever seen.  I can't imagine playing Mugen in a way where a character like this is balanced.

Re: How do I separate character palettes
#7  September 13, 2023, 11:02:32 pm
  • avatar
  • *
    • USA

  • Online
Make sure the file that you (hopefully) created for statedef 5900 is actually called config.txt and not config.txt.txt.  Or just tell the DEF file to use whatever name it is.  Also, if you copy and paste from the forum, you should probably remove the tab spaces on the left of the lines.  You can just use replace (ctrl+H) to delete them all at once.

Usually, if the error says that it failed to load a file, it's because the file wasn't found, or Mugen ran out of RAM.  Hopefully, a text file would not cause Mugen to use too much RAM, lol.

Also, lol.  11P might be the cheapest thing I've ever seen.  I can't imagine playing Mugen in a way where a character like this is balanced.



Lol, I did screw up and name it config.txt.txt. After fixing it, it worked. However, the 11th palette is still not working. Indeed, when I was combing through the cns and cmd files, there was no mention of a palno=11, and I looked manually after find and replace failed me. One other question, when I do this variable separation, it doesn't affect the special palette in any way under the hood does it? As in, the character will play the same way through this process as it would had I accessed it when it had to be manually chosen from the base Dark Donald character?

Also yeah lol, it is majorly busted. But I don't really play MUGEN so much as I sit back and enjoy watching the AI go apeshit on each other and fill my screen with epilepsy inducing projectiles and particles. The quality of most characters published for MUGEN is too low for me to bother making an actual balanced fighting game with.
Re: How do I separate character palettes
#8  September 14, 2023, 01:46:45 am
  • *****
  • Shame on you!
    • USA
Also check palno=11 as palno= 11 and palno =11 and palno = 11 and everything you can imagine.
If the code is for palno=11 and you gut it and make the code palno=1, everything _should_ work exactly the same. If not, there's a slight chance a variable is set as/for pal 11. Then you'd have to find that and edit it. But it should still be asking about pal 11.

Making a balanced Mugen build rarely works. Even professional full games can be released with over powered characters. The good part about mugen is battling with friends and mutually deciding what needs to be edited. Me and my friends have a joke we usually tease eachother with: "That's getting edited tomorrow". Over the years 240 char slots isn't enough. 4 chun-li chars, 3 sagats, 3 Vegetas, They all stack up. But that's why youre editing the char to have the different levels of balance. Shadow Lady will destroy regular Chun-li but can have a hard time with Dark Bolt. You just have to pick who's balanced for your opponent.
vVv N00bSaibot & Muramasa RoofTop vVv
Re: How do I separate character palettes
#9  September 14, 2023, 09:54:15 am
  • avatar
  • **
    • USA
I guess it's possible that the version I found is different from yours.  In the one I downloaded, 12P mode is your typical crazy infinite power thing, and 11P mode spawns clones of your character on either side of the opponent.  You can just spam the qcf+P move and do like 300+ hits of hamburgers and fries.  Filthy epic.

Converting the palno checks into a variable won't change how the character functions, as long as you don't make any mistakes.