I see, some unforeseen consequences of this function located in ImprovedTrainers.s:
@Incorporate Shininess:xrpl_0206DF1A:NOPLDR R2, [sP, #0x108]LDRB R2, [R2, #-0x14]LDR R3, =ShinyByteLDRB R2, [R3, R2]LDR R2, [sP, R2]LDRB R2, [R2, #3]TST R2, #0x80EOREQ R1, R1, #0x80000000STR R1, [sP, #0x3C]ADD LR, LR, #0x22BX LR
which is actually hooked on the function where the shiny lock for Trainer's Pokémon is done.
Instruction LDR R2, [sP, #0x108] is supposed to return an address in R2, problem is that the Rattata and the Marill from the catching tutorial also use this function, and in this case R2=0x0, which is a big no-no in a NDS.
As such I modified the function into this:
@Incorporate Shininess:xrpl_0206DF1A:NOPLDR R2, [sP, #0x108]CMP R2, #0BEQ .ShinyCheckDoneLDRB R2, [R2, #-0x14]LDR R3, =ShinyByteLDRB R2, [R3, R2]LDR R2, [sP, R2]LDRB R2, [R2, #3]TST R2, #0x80.ShinyCheckDone:EOREQ R1, R1, #0x80000000STR R1, [sP, #0x3C]ADD LR, LR, #0x22BX LR
Which now takes into account the particular case where R2=0x0.
This also means that Rattata and Marill will never be shiny, which was already the case in retail games.
I will update the link, but first I want to test the game to see if there is any other major glitch.
The problem is that after doing all those mods, I don't think I have enough left in the tank to do a translation on top of that, so no sorry.
But if you're interested someone was kind enough to translate MindCrystal in English:
https://mega.nz/#!SwNF2LwJ!9RuiKJ3DhkQ_fxDG9s1sxr_NjslRAfyP6yi0CNQiu1w