If you check script log, you will see @cmd are parsed differently.
For example:
@cmd f1
@cmd f2
@cmd f3
frame data/chars/ffff/1.gif
Before:
if(frame==3)
{
f1();
}
if(frame==3)
{
f2();
}
if(frame==3)
{
f3();
}
Now
if(frame==3)
{
f1();
f2();
f3();
return;
}
However, I just find some old mod, for example, Night Slashers X relies on an animation change bug ( if f1 changes current animation or frame, f2 and f3 could be skipped). So I consider to make a switch for this change next time.
Personally I really hate such compatible switches, which sometimes need tons of code, easily causing new problems if overlooked.