How to load gecko codes in Riivolution
#11
So what I mean is I wanna have the option to activate and deactivate multiple Gecko codes. 


Code:
<option name="Cheats Codes">
                <choice name="Enabled">
                    <patch id="ocarinabase_gxdraw" />
                </choice>
            </option>
            <option name="speedometer">
                <choice name="Enabled">
                    <patch id="speedometer" />
                </choice>
            </option>
            <option name="disableluma">
                <choice name="Enabled">
                    <patch id="disableluma" />
                </choice>

It would be something like this. I modified it so its always using the gxdraw thing. But the problem is when I try something like this it wont work. It will only work with one Geckocode. Here is what I tried:

Code:
<patch id="speedometer">
        <memory offset="0x00001CDE" value="8000" />
        <memory offset="0x00001CE2" value="28B8" />
        <memory offset="0x00001F5A" value="8000" />
        <memory offset="0x00001F5E" value="28B8" />
        <memory valuefile="/codes/speedometer.gct" offset="0x800028B8" />
    </patch>
    <patch id="disableluma">
        <memory offset="0x00001CDE" value="8000" />
        <memory offset="0x00001CE2" value="28B8" />
        <memory offset="0x00001F5A" value="8000" />
        <memory offset="0x00001F5E" value="28B8" />
        <memory valuefile="/codes/disableluma.gct" offset="0x800028B8" />
    </patch>

And I think the reason for it is because the offset or something. I really do not know what im doing so I hope someone can help me Smile.
Reply
#12
Maybe you didn't define the codehandler right?
Try this:

Code:
<patch id="ocarinabase_gxdraw">
  <memory ocarina="true" value="3CA0CC01380000613C80450098058000" offset="0x800018A8" />
</patch>

<patch id="ocarinabase">
  <memory valuefile="codehandler.bin" offset="0x80001800" />
</patch>

<patch id="ocarinacodes">
  <memory offset="0x00001CDE" value="8000" />
  <memory offset="0x00001CE2" value="28B8" />
  <memory offset="0x00001F5A" value="8000" />
  <memory offset="0x00001F5E" value="28B8" />
  <memory valuefile="/codes/{$__gameid}{$__region}{$__maker}.gct" offset="0x800028B8" />
</patch>

<patch id="shroom">
  <memory offset="0x00001CDE" value="8000" />
  <memory offset="0x00001CE2" value="28B8" />
  <memory offset="0x00001F5A" value="8000" />
  <memory offset="0x00001F5E" value="28B8" />
  <memory valuefile="/codes/RMCP01_SHROOM.gct" offset="0x800028B8" />
</patch>
Reply
#13
You're loading 2 GCTs into the same address, so one is overwriting the other. To get what you want, you'd be better off having one large GCT with all the codes wrapped in gecko if statements, which read from exception vector area memory ( https://mkwii.com/showthread.php?tid=1106 ) to tell if they should be on or off. Then in the riivo xml, have each option write 0 or 1 to those addresses
Reply
#14
What exactly are Gecko If statements? Or do you mean I should create a branch and if the memory address doesn't contain a 1, it should branch to the branch and just skip everything? Because that would be really difficult for all gecko codes, because I don't really know which registers are being used and I can't really code with PowerPC...
Reply
#15
No asm, just gecko codes, see http://wiigeckocodes.github.io/codetyped...ation.html
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)