The Mugen Fighters Guild

Help => M.U.G.E.N Development Help => Topic started by: Bannana on January 18, 2019, 06:51:54 am

Title: Simple remappal confusion
Post by: Bannana on January 18, 2019, 06:51:54 am
Looked around but the other remappal threads didn't seem to cover my issue exactly.

I've never touched this sctrl, so I'm a little confused how it should properly function.

I have a slash/bust configuration defined by var(52) and the remaining are my rage vars. It works fine for the slash (see spoiler for it), but I seem to be having no luck with the bust. The procedure is 100% the same, but the bust mode never turns red like the slash does.

Code:
[State -2 rage active bust]
type = remapPal
triggerall = var(52) = 1
triggerall = var(54) = 0
trigger1 = var(57) = 172
source = 1,palno
dest = 1,7

Spoiler: the functioning slash code (click to see content)

here are some images too (https://imgur.com/a/7TTvSg1)
Title: Re: Simple remappal confusion
Post by: Odb718 on January 20, 2019, 12:37:47 am
Have you used DisplayToClipboard to watch your variables?
Another test is change the things that do work to the values that haven't been activated. And vise versa. It may be a problem with palette 1,7.
Title: Re: Simple remappal confusion
Post by: Bannana on January 20, 2019, 01:17:52 am
Yeah, I generally display all my variables, and I know the slash/bust one functions because the moveset changes with it

I changed the slash code to change to palette 7 and it works, so there isn't an issue with the palette itself. Likewise, I changed the bust code to change to palette 6 and it doesn't work.
Code:
[State -2 rage active slash]
type = remapPal
triggerall = var(52) = 0
triggerall = var(54) = 0
trigger1 = var(57) = 172
source = 1,palno
dest = 1,7

(https://i.imgur.com/uwWOutV.png)
(https://i.imgur.com/wmCQRmJ.png)


EDIT: sorry, i didn't upload the Bust pictures
(https://i.imgur.com/5DAJ7WD.png)
(https://i.imgur.com/unjh7jE.png)

Title: Re: Simple remappal confusion
Post by: Odb718 on January 20, 2019, 12:08:13 pm
Are the remappal all in the same locations?
And without debug on, I'm not sure what I'm looking at exactly.
Title: Re: Simple remappal confusion
Post by: Bannana on January 20, 2019, 10:27:41 pm
Rereading that, it would probably be easier to have both at once anyway (and I swear I remembered that debug was captured in snapshots!)

I've done a few more tests

both to 1,6
Code:
[State -2 rage active slash]
type = remapPal
triggerall = var(52) = 0
triggerall = var(54) = 0
trigger1 = var(57) = 172
source = 1,palno
dest = 1,6

[State -2 rage active bust]
type = remapPal
triggerall = var(52) = 1
triggerall = var(54) = 0
trigger1 = var(57) = 172
source = 1,palno
dest = 1,6
both to 1,7
Code:
[State -2 rage active slash]
type = remapPal
triggerall = var(52) = 0
triggerall = var(54) = 0
trigger1 = var(57) = 172
source = 1,palno
dest = 1,7

[State -2 rage active bust]
type = remapPal
triggerall = var(52) = 1
triggerall = var(54) = 0
trigger1 = var(57) = 172
source = 1,palno
dest = 1,7
both to opposite
Code:
[State -2 rage active slash]
type = remapPal
triggerall = var(52) = 0
triggerall = var(54) = 0
trigger1 = var(57) = 172
source = 1,palno
dest = 1,2

[State -2 rage active bust]
type = remapPal
triggerall = var(52) = 1
triggerall = var(54) = 0
trigger1 = var(57) = 172
source = 1,palno
dest = 1,1

and then the image dump here
(https://i.imgur.com/HvRDLgv.png)

No flood and the palettes clear on load
Title: Re: Simple remappal confusion
Post by: altoiddealer on January 23, 2019, 02:23:22 am
Remappal only needs to trigger 1 time, and the pal change remains throughout the match until triggered again.

With that said, there isn’t really a good reason to have it in State -2, and might be easier to debug now and for future uses if you use it elsewhere

Recommended usage: In Round Initialization state (I forget the stateno offhand... 5959?), and within whatever states should trigger another palette change.  Persistent = 0 in these states, it just needs to trigger once.
Title: Re: Simple remappal confusion
Post by: Bannana on January 24, 2019, 05:11:48 am
I understand the issue of it being in the -2 state, but I'm not sure I would want to deal with the actual implementation of intermediary states, as it would, when the rage variable reaches max, need to force me out of the hitstate to an intermediate state to turn on the rage palette, and when my rage times out, force me out of my current state to another intermediary state to disable the palette.

My rage variable is checked every second for the rage effects in the same way that montana does for his SSV characters so that rage activates as you take the damage in the hitstate, and all the helpers and associated explods are modified according to it. Likewise, mid attack state rage can deactivate and remove the attackmul before the hitdef is parsed.

I'm trying to think of the best way to describe this, so forgive me for any confusion, but if I'm in a custom state, my rage is activating prior to this, and I either have to self-state out of a hitstate or a movement or attack state to the intermediate state to apply remappal, or perhaps only be able to apply it after leaving the current state. My remappal is then not aligned with the rest of my rage effects, and starts after and ends later than the rest of the rage mechanics. This method would work with a Gill by adding it to the turn state, but here the -2 is a way of dealing with real time effects.

I probably should add the persistent = 0 to it, as you are right that it only applies—and only needs to—once.
I don't want to appear obstinate about this! I'm just not sure why it shouldn't function on bust when it functions on slash unless there is some error with the bust code that is 99% identical to the slash code. I'll go ahead and look into using an intermediary state for debugging in the next few days, but if it does work I'm not sure what to do with it; even if it is a 1 tick state, it still requires me to enter that state after being hit, which will delay the remappal.
Title: Re: Simple remappal confusion
Post by: Odb718 on January 26, 2019, 11:16:07 am
Hhhmmmm, have you tried setting all this up with State 200? I almost always use State 200 to activate crap that doesn't want to work properly. Set up your varadd/sets and see what happens.
Title: Re: Simple remappal confusion
Post by: Bannana on January 31, 2019, 04:48:10 am
Alright, found a quick moment to test this out.

The rage palette should be on while in state 0, and it should turn off in state 200

In state 0 I set
Code:
[State -2 rage active slash]
type = remapPal
triggerall = var(52) = 0
trigger1 = 1
source = 1,palno
dest = 1,6

[State -2 rage active bust]
type = remapPal
triggerall = var(52) = 1
trigger1 = 1
source = 1,palno
dest = 1,7

and in state 200 I set
Code:
[State -2 rage non active slash]
type = RemapPal
triggerall = var(52) = 0
trigger1 = 1
source = 1,palno
dest = 1,1

[State -2 rage non active bust]
type = RemapPal
triggerall = var(52) = 1
trigger1 = 1
source = 1,palno
dest = 1,2

Spoiler: images here (click to see content)

Again, to test if the palette itself is bugged, I switched the code for the working slash (1,1) to the not working bust (1,2)
Code:
[State -2 rage active slash]
type = remapPal
triggerall = var(52) = 0
trigger1 = 1
source = 1,palno
dest = 1,7

[State -2 rage non active slash]
type = RemapPal
triggerall = var(52) = 0
trigger1 = 1
source = 1,palno
dest = 1,2

Spoiler: images here (click to see content)

Maybe it must have something to do with the slash/bust variable, 52, as it works when it equals 0, but when it equals 1 it doesn't apply at all, as seen in the earlier screenshots.
Title: Re: Simple remappal confusion
Post by: Odb718 on February 03, 2019, 12:33:20 am
Could the var(52) be set and reset every other tic?

Im not sure how you're doing your math for the var off the top of my head. But switch from 1 being on to something like 55 and set the var to that and check if it's >=1
Title: Re: Simple remappal confusion
Post by: Bannana on February 04, 2019, 07:12:07 am
No dice on that.

If I only change the palette remap to var(52) >=1, and not the states or commands, which are defined by var(52) = 1, then I get no palette change as well as (obviously) no commands defined by var(52) = 1. I want to think the var is the problem, but my bust commands, which are different than the slash commands, are bound to it, and those do work.

Can't post a ton of screenshots for this really, so here's the character link (without the changes to var(52))
http://www.mediafire.com/file/lwvmxa8sfd2s02k/95aniSS64.7z/file

In the end, it might be easier if you see all of the code.