MegaMan Zero (MUGEN ver.) Help: Palettes

Started by RedDragonCats17, October 31, 2018, 10:06:33 AM

Previous topic - Next topic

RedDragonCats17

Okay, here's the idea. I made 3 separate DEF files for Zero, the default MUGEN version specifically, and I want the DEF files to be assigned to the palettes I made for them. Take POTS' Ryu for example. When I go to one of Ryu's 4 DEF files, like Evil Ryu for instance, Evil Ryu's palettes are assigned to him. Comparing with Warusaki3's CvS Ken, when I go to his Violent Ken DEF file, his palettes are assigned to him, and Violent Ken has his own SFF file. Evil Ryu doesn't.

Now 2 of the DEF files are normal Zero and Omega Zero. Normal Zero's palettes are the colors from MMZ2-MMZ4, while Omega Zero's palettes is his default, unless IF someone wants to make more palettes for him.

I don't wanna make another SFF just for Omega Zero, so how can I make this work?

VictorCYBR

#1
The first thing we need to know is what MUGEN version you want to make your char compatible.
I know 2 ways to assign palettes, but one of them only works in 1.0 or above. We need to know which version is your sff too, if it's WinMUGEN or MUGEN 1.0.

Edit: well, instead of waiting for your reply, I'm going to explain the way that works in any version of MUGEN, but your sff file need to be WinMUGEN.

I assume you already have your palettes. You need to save them as ACT files. I like to make a separated folder just for the palettes, but you don't need to do it. Also, I'm assuming you know how to save palettes to ACT.
If everything above is already done, you'll write the path to the palettes you want in each DEF file. I'm going to use Evil Ryu as an example. You've made 12 palettes, you want palette 1~6 to be Normal Ryu's palettes, and 7~12 to be Evil Ryu's Palettes, so...

This would be the DEF of Normal Ryu:

[Files]
sprite = Sprites.sff
anim = Anim.air
sound = Sound.snd
cmd = Command.cmd
cns = Constants.cns
stcommon = common1.cns
pal1 = Palettes/Ryu1.act
pal2 = Palettes/Ryu2.act
pal3 = Palettes/Ryu3.act
pal4 = Palettes/Ryu4.act
pal5 = Palettes/Ryu5.act
pal6 = Palettes/Ryu6.act

And this would be the DEF of Evil Ryu:

[Files]
sprite = Sprites.sff
anim = Anim.air
sound = Sound.snd
cmd = Command.cmd
cns = Constants.cns
stcommon = common1.cns
pal1 = Palettes/Ryu7.act
pal2 = Palettes/Ryu8.act
pal3 = Palettes/Ryu9.act
pal4 = Palettes/Ryu10.act
pal5 = Palettes/Ryu11.act
pal6 = Palettes/Ryu12.act

And yeah, done. Same SFF, different DEF, different palettes. :)

RedDragonCats17

My SFF file is for MUGEN 1.0. How does it work in that?

Odb718

With Mugen 1.0 you'd just edit your RemapPal in state 5900 to the numbers you'd want.
You'll probably have to space the palettes 12 values apart if you're going to allow people to select the palettes. It'd probably be the safest.
vVv Gouken718 vVv SabreTooth718 vVv


RedDragonCats17

Okay, so here's what's going on.

Using Normal Zero, as he has all of these palettes in his DEF file.

pal1 = Zero.act
pal2 = Rise.act
pal3 = Yellow.act
pal4 = Blue.act
pal5 = Orange.act
pal6 = Strong.act
pal7 = Stronger.act
pal8 = Extend.act
pal9 = Elf.act
pal10 = Junk.act
pal11 = Proto.act
pal12 = Ultimate.act

I messed with the remappal and tested numbers, I found out that Omega's palette is still in Zero. I changed the value to 1,7, and normal Zero uses Omega's palette, not the Ultimate palette. I tested the same with Omega Zero, and nothing changed. Omega is still using normal Zero's palette along with the Rise palette, which is strange.

VictorCYBR

If you're using SFF 1.0, the pals in DEF file won't work.

So, since your SFF is 1.0, all the palettes are stored in the character's SFF, and not in ACT files. You'll need to number them like this:

Spoiler (click to show)

Normal Palettes:
1,1
1,2
1,3
1,4
1,5
1,6
1,7
1,8
1,9
1,10
1,11
1,12

Omega Palettes:
1,13
1,14
1,15
1,16
1,17
1,18
1,19
1,20
1,21
1,22
1,23
1,24

Always group 1.

Now, create 2 CNS, ST or TXT files for each mode (Normal and Omega). Example: NormalZero.txt / OmegaZero.txt. Open NormalZero and paste this:

Spoiler (click to show)

[StateDef 5900]
type = S

[State 5900, VarSet]
type = VarSet
trigger1 = 1
var(3) = 0 ;Use the var number that detect which mode you're using, in this case, for Normal Zero

[state 5900, RemapPal]
type = RemapPal
trigger1 = 1
source = 1, 1
dest = 1, palno ;Palettes 1 to 12 will be used for Normal Zero

[State 5900, Intro Decider]
type = ChangeState
trigger1 = RoundNo = 1
value = 190

[State 5900, End]
type = ChangeState
trigger1 = 1
value = 0

For OmegaZero.txt, is almost the same, with two differences:

Spoiler (click to show)

[StateDef 5900]
type = S

[State 5900, VarSet]
type = VarSet
trigger1 = 1
var(3) = 1 ;Change this to the number that detect which mode you're using, in this case, for Omega Zero

[state 5900, RemapPal]
type = RemapPal
trigger1 = 1
source = 1, 1
dest = 1, palno + 12 ;Palettes 13 to 24 will be used for Omega Zero

[State 5900, Intro Decider]
type = ChangeState
trigger1 = RoundNo = 1
value = 190

[State 5900, End]
type = ChangeState
trigger1 = 1
value = 0

And in your DEF (for each mode), you need to write the path to the specific TXT file.

[Files]
sprite = Sprites.sff
anim = Anim.air
sound = Sound.snd
cmd = Command.cmd
cns = Constants.cns
stcommon = common1.cns
st = NormalZero.txt

and

[Files]
sprite = Sprites.sff
anim = Anim.air
sound = Sound.snd
cmd = Command.cmd
cns = Constants.cns
stcommon = common1.cns
st = OmegaZero.txt

RedDragonCats17

What about the DEF that has both modes? Characters like Zero and POTS' Ryu have a DEF containing all of the modes. How do I set it up in that?

VictorCYBR

[Files]
sprite = Sprites.sff
anim = Anim.air
sound = Sound.snd
cmd = Command.cmd
cns = Constants.cns
stcommon = common1.cns
st = Zero.txt




[StateDef 5900]
type = S

[State 5900, VarSet]
type = VarSet
trigger1 = 1
var(3) = ifelse(pano < 7, 0, 1)

[state 5900, RemapPal]
type = RemapPal
trigger1 = 1
source = 1, 1
dest = 1, palno + 12 * (var(3)=1)

[State 5900, Intro Decider]
type = ChangeState
trigger1 = RoundNo = 1
value = 190

[State 5900, End]
type = ChangeState
trigger1 = 1
value = 0




I think this should do the job.

RedDragonCats17

#8
Regarding the variable that I'm using to change Zero's. Here's what it looks like.

[State -2, Omega Zero]
type = VarSet
trigger1 = name = "MegaMan Zero" && palno = [7,12]
trigger2 = name = "Omega Zero"
var(10) = 15


Is there any changes I should put into it? Or does it look alright as it is?

VictorCYBR

It looks alright. If your var is activated in -2 states, you don't have to put it in state 5900.
But is this working? I mean, when you select Omega Zero (ignore the palettes), does he act like he should? Moves and stuff?

Of course you need to change my examples to match your code, instead of var(3), use var(10).

RedDragonCats17

Yes, in fact, it has worked since I first put that var in. However, the Omega Zero mode is still in normal Zero.

VictorCYBR

What you mean by that? Normal Zero uses moves that only Omega Zero should?

RedDragonCats17

#12
No, I'm saying that normal Zero still uses a function that the main def has. He has the Omega Zero mode in palette 7.

Edit: Nevermind, back at the problem at hand. How do I get the Omega Zero mode out of normal Zero's def file?

VictorCYBR

Isn't it what you want? Palettes 1 to 6 to be Normal Zero and palettes 7 to 12 to be Omega?

RedDragonCats17

No, here's the problem.

The main def is MegaManZero.def, the normal def MegaManZeroNormal.def. MegaManZeroNormal.def still has a function that MegaManZero.def has, and that is having the Omega Zero mode.

Even at palette 7, Zero is still supposed to act like normal Zero, but when I select palette 7, Zero is in his Omega Zero mode. And this is in the MegaManZeroNormal.def file. I even made his own variable:

[State -2, Normal Zero]
type = VarSet
trigger1 = name = "MegaMan Zero" && palno = [1,6]
trigger2 = name = "MegaMan Zero"
var(15) = 15


How do I fix this?

Odb718

trigger1 = name = "MegaMan Zero" && palno = [1,7]
This should be your fix. You just need to delete the stuff you dont want.

----
    [State -2, Normal Zero]
    type = VarSet
    trigger1 = name = "MegaMan Zero" && palno = [1,6]
    trigger2 = name = "MegaMan Zero"
    var(15) = 15

Trigger 1 and trigger2 are the same. Trigger1's && will never matter because of trigger2. Delete 1 or the other, or add an additional check to trigger2.
vVv Gouken718 vVv SabreTooth718 vVv


RedDragonCats17

#16
Aight, I've managed to fix the problem by adding normal with parenthesis on both sides at the end of Zero's name (not the display name). So now one more thing needs to be addressed: Make Omega Zero use his palette on both the main DEF and his own DEF. On the main def, Omega uses the Ultimate form palette and not his own, while in his own def, he doesn't use his palette at all. He uses all of normal Zero's palettes.

As of now, Omega Zero only uses 1 palette, which is this:



I assigned the palette to all 12 boxes of his side for good measure.

How do I make Omega use this palette?

Odb718

I dont know how you could write this in a more confusing manner.
When you make multiple Defs, they're considered multiple characters. When you say "this character's 2nd def" <<<This isn't a real concept. It's a different character. When you say "main def" We want to see something like "OmegaZeroMain.def"
When you say "he uses the other guys palettes" We have no clue exactly what you mean. What palettes? 1,0 - 1,11 or 1,12 - 1,23? Which palettes? We understand that they're palettes. We need to know exactly which palettes arent being use by exactly what def file. Otherwise you're going to get responses like

Just use his palette numbers in his cns. 

Why do you think we care about how the palette actually looks? What number is it?

What numbers are you getting and what numbers do you want?


Then there's,
I assigned the palette to all 12 boxes of his side for good measure.
So you have the exact same palette 12 times and you think only 1 palette is being used? You 100% sure on that? What boxes are you talking about exactly? 
vVv Gouken718 vVv SabreTooth718 vVv


VictorCYBR

Honestly, I don't understand anything.
I don't know what you want to do, what you want to achieve. I've explained it the best I could.
Such a simple thing like assigning palettes is becoming really confusing.

We need to know what exactly you want to do.

What we know: you have 3 different defs, one that has both modes, one that has normal mode only, and one that has omega mode only. You want to assign palettes according to each def, right? This is simple.

What we don't know: how your palettes are organized? Which palettes should be used for which mode? We need the numbers.

And also, for more information, it would be good to know the names you're using for each mode. The EXACT names. Not the name of the def, the name of your character inside the def.

RedDragonCats17

I should've said I assigned Omega's palette to 13-24. God dammit.

On the main DEF, which is MegaManZero.def, Omega uses palette 12, which is the Ultimate form palette. This specifically.



On his own DEF, OmegaZero.def, Omega uses all of normal Zero's palettes.

I want Omega Zero to use palette 13-24, because his palette is assigned to those numbers. Deathscythe gave me this code, and he said it's supposed to use palettes 13-24, but I tested it after I put it in, and it didn't work.

[state 5900, RemapPal]
type = RemapPal
trigger1 = 1
source = 1, 1
dest = 1, palno + 12


So how can I make Omega Zero use palettes 13-24?