1) It doesn't run until I push enter.
2) It stays running until I deliberately disable it by pushing enter.
3) It works in the form of a list.
Ok. I've come to the conclusion that the following should work...
Code: Select all
<cheat desc="Super Mode Enabled..."><comment>Sprite and stats only.</comment>
<parameter>
<item value="00">Disabled</item>
<item value="04">S1K (hack)</item>
<item value="02">S2</item>
<item value="01">S3+K (Super)</item>
<item value="03">S3+K (Hyper)</item>
</parameter>
<script state="change">
<action>temp1=param</action>
<action condition="param==00">maincpu.pb@FFFE19=00</action>
<action condition="param GT 00">maincpu.pb@FFFE19=FF</action>
<action condition="param==01">maincpu.pb@FFFE19=01</action>
<action condition="param==01 and maincpu.pd@FFB000==00010A94 and maincpu.pw@FFB020 GT 0000">maincpu.pw@FFB00E=6816</action>
<action condition="param==01 and maincpu.pd@FFB000==00011BB8 and maincpu.pw@FFB020 GT 0000">maincpu.pw@FFB00E=1194</action>
<action condition="param==03 and maincpu.pd@FFB000==00010A94 and maincpu.pw@FFB020 GT 0000">maincpu.pw@FFB00E=6816</action>
<action condition="param==03 and maincpu.pd@FFB000==00011BB8 and maincpu.pw@FFB020 GT 0000">maincpu.pw@FFB00E=1194</action>
<action condition="param==03 and maincpu.pd@FFB000==00010A94 and maincpu.pw@FFB020 GT 0000">maincpu.pd@FFCD7C=000193CA</action>
</script>
<script state="run">
<action condition="temp1==00">maincpu.pb@FFFE19=00</action>
<action condition="temp1 GT 00">maincpu.pb@FFFE19=FF</action>
<action condition="temp1==01">maincpu.pb@FFFE19=01</action>
<action condition="temp1==01 and maincpu.pd@FFB000==00010A94 and maincpu.pw@FFB020 GT 0000">maincpu.pw@FFB00E=6816</action>
<action condition="temp1==01 and maincpu.pd@FFB000==00011BB8 and maincpu.pw@FFB020 GT 0000">maincpu.pw@FFB00E=1194</action>
<action condition="temp1==03 and maincpu.pd@FFB000==00010A94 and maincpu.pw@FFB020 GT 0000">maincpu.pw@FFB00E=6816</action>
<action condition="temp1==03 and maincpu.pd@FFB000==00011BB8 and maincpu.pw@FFB020 GT 0000">maincpu.pw@FFB00E=1194</action>
<action condition="temp1==03 and maincpu.pd@FFB000==00010A94 and maincpu.pw@FFB020 GT 0000">maincpu.pd@FFCD7C=000193CA</action>
</script>
</cheat>
Problem:
The engine completely ignores the function of state="change" and decides that cycling the options is the same as pushing enter. This is obviously wrong. There are cheats which can cause games to crash when cycling through options, thus a manual option is needed.
Result exactly as above:
Cycling goes through the values as if it were a state="run" cheat. The requirement of pushing the enter key is completely ignored thus making state="change" useless.
Result without temp1=param:
Enter key function is totally ignored again. Temp1 is locked at 0 so FFFE19 never changes. Other values continue to cycle again making state="change" useless.
Result without entire state="run" portion:
Cheat finally operates as predicted, but since it's only temporary, who cares? The intended function is lost.
I'm really at a loss for what to do. I assume this is a bug because it's absolutely not working properly. Cycling an option is not pushing enter, thus the temp1 should never be able to change without my permission and it is.