Registrarse

[Rutina] (ASM-NDS) Hacer que la pokedex lea 649 pokemon.

Mimilena

Mimilena Strike Back
Esta rutina fue diseñada por MeroMero, yo solo la traje a este foro y traduje los textos explicativos.
Agradecimientos a @Keux por mostrarme la thread donde encontre esto.
@Leer 649 Pokemon:
@Crear salvado:
lrpl_020298CE:
NOP
LDR R4, [R0, #0x5C]
MVN R3, R3
MOV R1, R1, LSL R2
AND R3, R4, R3
ORR R1, R3, R1
STR R1, [R0, #0x5C]
LDMFD SP!, {LR}
LDMFD SP!, {R3-R4}
BX LR


@Genero secundario:
xrpl_0202946C:
NOP
ADD R5, R5, #0xC4
SUB R0, R0, #1
BX LR


@Alternar entre el género primario y secundario:
xrpl_0202947A:
NOP
MOV R0, #0x60
MUL R0, R7, R0
ADD R1, R5, R0
BX LR


@Duplicar pokemon capturados:
xrpl_02029BF0:
NOP
ADD R3, R5, #0x1E4
MOV R1, R4, LSR #3
ADD R3, R1, R3
AND R1, R4, #7
MOV R2, #1
MOV R1, R2, LSL R1
LDRB R2, [R3]
ORR R2, R1, R2
CMP R4, #7
ORRLS R2, R2, #1
STRB R2, [R3]
MOV R1, #1
MOV R1, R1, LSL R0
ADD LR, LR, #0xE
BX LR


@Formas alternas (Unown):
lrpl_0202955C:
NOP
MOVEQ R1, #0x63
MOVNE R1, #0x6A
B .AltUnown

lrpl_0202957E:
NOP
MOVEQ R2, #0x63
MOVNE R2, #0x6A
.AltUnown:
ADD R3, LR, #2
LDMFD SP!, {LR}
BX R3

xrpl_020295A8:
NOP
@ CMP R0, #0
MOVEQ R0, #0x63
MOVNE R0, #0x6A
BX LR

xrpl_02029DB2:
NOP
MOV R0, #0x18C
BX LR

xrpl_02029DBE:
NOP
MOV R0, #0x1A8
BX LR

xrpl_02029DCC:
NOP
MVN R0, #0
STR R0, [R4, #0x188]
MOV R0, #0xFF
ADD LR, LR, #0x16
BX LR

xrpl_0202A132:
NOP
MOV R0, #0x6A
B .SpriteUnown

xrpl_0202A13C:
NOP
MOV R0, #0x63
.SpriteUnown:
ADD R1, R5, R4
BX LR


@Sprite de huevo malo (coodenadas Y):
xrpl_020702BE:
xrpl_020702C4:
xrpl_02070998:
xrpl_0207099E:
NOP
BX LR

xrpl_020702A6:
NOP
CMP R4, R2
BXLE LR
ADD R2, R1, #0xE5
CMP R4, R2 @huevo es considerado la especie 650
ADDEQ LR, LR, #0xDA
BXEQ LR
ADD R1, R1, #0xE6
CMP R4, R1 @huevo malo es considerado la especie 651
ADD LR, LR, #0xEA
ADDNE LR, LR, #0x66
BX LR

xrpl_02070980:
NOP
CMP R5, R2
BXLE LR
ADD R2, R1, #0xE5
CMP R5, R2 @coodenadas Y del huevo
ADDEQ LR, LR, #0x7C
BXEQ LR
ADD R1, R1, #0xE6
CMP R5, R1 @Coordenadas Y del huevo malo
ADD LR, LR, #0x84
ADDNE LR, LR, #0x36
BX LR


@Pokédex carga 649 entradas:
xrpl_021F7B8A_ov_12:
xrpl_021F7BA8_ov_12:
NOP
LDR R1, =0x512
MOV R0, #0x25
BX LR

xrpl_021F7B9A_ov_12:
NOP
MOV R0, R6
B .Read649

xrpl_021F7BB8_ov_12:
NOP
MOV R0, R4
.Read649:
LDR R2, =0x512
BX LR


@Otros:
xrpl_02029908:
NOP
SUB R2, R4, #2
ADD R5, R5, #0x64
BX LR

xrpl_0202A032:
NOP
LDRB R1, [R2, #0x64]
BX LR

xrpl_0202A078:
NOP
LDRB R1, [R1, #0x64]
BX LR

xrpl_0202A0E6:
NOP
ADD R2, R2, #0x64
MOV R1, #1
BX LR


@escribir Pokédex:
xrpl_021F7E94_ov_12:
NOP
LDRB R0, [R4]
STRB R0, [R5]
LDRB R0, [R4, #1]
STRB R0, [R5, #1]
BX LR

xrpl_021F7EA4_ov_12:
NOP
MOV R0, #2
B .SeenCaught

xrpl_021F7EB0_ov_12:
NOP
MOV R0, #1
.SeenCaught:
STRB R0, [R5, #2]
BX LR

xrpl_021F7EB8_ov_12:
NOP
ADD R4, R4, #2
ADD R5, R5, #3
BX LR


@leed el ultimo pokemon visto:
xrpl_021F85D8_ov_12:
NOP
MOV R3, #3
MUL R1, R3, R1
ADD R2, R2, R1
BX LR

xrpl_021F85DE_ov_12:
NOP
ADD R3, R2, #0x870
LDRB R1, [R3]
LDRB R3, [R3, #1]
MOV R3, R3, LSL #8
ORR R1, R3, R1
BX LR


@leer pokedex (=0x1028 or =0x102A):
xrpl_021E6B62_ov_12:
NOP
MOV R2, R1
ADD R2, R0, R2
BX LR

xrpl_021E6B66_ov_12:
xrpl_021E6C36_ov_12:
xrpl_021F1CFE_ov_12:
xrpl_021F1FB6_ov_12:
NOP
LDR R0, =0x1548
LDRB R0, [R2, R0]
BX LR

xrpl_021E6C1C_ov_12:
NOP
ADD R1, R7, R0
STR R1, [SP, #4]
MOV R0, R0, LSL #1
ADD R1, R7, R0
BX LR

xrpl_021E6C22_ov_12:
NOP
LDRH R1, [R1, R0]
BX LR

xrpl_021EE832_ov_12:
NOP
ADD R1, R6, R0
BX LR

xrpl_021EE836_ov_12:
xrpl_021EE970_ov_12:
xrpl_021EECFC_ov_12:
NOP
LDR R0, =0x1548
LDRB R0, [R1, R0]
BX LR

xrpl_021EE96A_ov_12:
NOP
MOV R0, R2
MOV R7, R1
BX LR

xrpl_021EEAE4_ov_12:
xrpl_021EEB94_ov_12:
NOP
MOV R2, R7
MOV R1, #0
BX LR

xrpl_021EEAF4_ov_12:
xrpl_021EEBA4_ov_12:
NOP
LDR R2, =0x1548
LDR R1, [SP, #0x10]
LDRB R2, [R3, R2]
BX LR

xrpl_021EECF8_ov_12:
NOP
MOV R0, R7
ADD R1, R5, R0
BX LR

xrpl_021F14BA_ov_12:
NOP
ADD R1, R5, R0
STR R1, [SP, #4]
MOV R4, R4, LSL #1
ADD R0, R5, R0
BX LR

xrpl_021F14BE_ov_12:
NOP
LDR R1, =0x512
CMP R4, R1
LDRH R1, [R0, R4]
MOVCS R1, #0
BX LR

xrpl_021F14F8_ov_12:
NOP
LDR R0, =0x1548
MOV R1, R4, LSR #1
ADD R1, R5, R1
LDRB R0, [R1, R0]
BX LR

xrpl_021F1CFA_ov_12:
xrpl_021F1FB2_ov_12:
NOP
MOV R0, R2
ADD R2, R5, R0
BX LR

xrpl_021F2DCA_ov_12:
NOP
ADD R3, R0, R1
BX LR

xrpl_021F2DCE_ov_12:
NOP
LDR R1, =0x1548
LDRB R1, [R3, R1]
BX LR

xrpl_021F84DC_ov_12:
NOP
MOV R0, R0, LSL #1
ADD R1, R4, R0
BX LR

xrpl_021F84E0_ov_12:
NOP
SUB R4, R1, R4
LDR R0, =0x512
CMP R4, R0
LDR R4, =0x1028
LDRH R0, [R1, R4]
MOVCS R0, #0
LDMFD SP!, {R4, LR}
BX LR

@Cursor:
lrpl_021F84FC_ov_12:
NOP
LDR R2, =PseudoStack
STR R8, [R2]
LDRB R8, [R0, #1]
MOV R8, R8, LSL #8
LDRB R2, [R0]
ORR R2, R8, R2
MOVEQ R4, R2 @Primer Pokémon visto en orden Pokédex
LDR R8, =PseudoStack
LDR R8, [R8]
CMP R1, R2
ADD R2, LR, #2
B .SeenPokemon

lrpl_021F850C_ov_12:
NOP
ADD R3, R3, #1
ADD R0, R0, #3
CMP R3, R5
MOV R2, LR
.SeenPokemon:
LDMFD SP!, {LR}
BX R2

xrpl_021F854A_ov_12:
NOP
ADD R1, R4, R1
LDRB R0, [R1]
LDRB R1, [R1, #1]
MOV R1, R1, LSL #8
ORR R1, R0, R1
LDR R0, =0x1850
LDRB R0, [R5, R0]
BX LR

xrpl_021F855A_ov_12:
NOP
ADD R1, R4, R1
LDRB R2, [R1]
LDRB R1, [R1, #1]
MOV R1, R1, LSL #8
ORR R2, R1, R2
MOV R0, R0, LSL #1
LDR R1, =0x1028
ADD R1, R0, R1
STRH R2, [R5, R1]
MOV R0, R0, LSR #1
ADD R0, R5, R0
ADD LR, LR, #4
BX LR

xrpl_021F856A_ov_12:
NOP
LDR R1, =0x872
LDRB R2, [R4, R1]
LDR R1, =0x1548
ADD R4, R4, #3
STRB R2, [R0, R1]
BX LR


@graficos de las formas alternas:
xrpl_020741E2:
NOP
LDR R2, =0x289
CMP R4, #0xC9 @Unown
ADDEQ R4, R2, #2
MOV R1, #0x15C
ADD R1, R1, #3 @Castform
CMP R4, R1
ADDEQ R4, R2, #0x1D
ADD R1, R1, #0x23 @Deoxys
CMP R4, R1
ADDEQ R4, R2, #0x20
CMP R4, #0x19C @Burmy
ADDEQ R4, R2, #0x23
ADD R1, R1, #0x1B @WORmadam
CMP R4, R1
ADDEQ R4, R2, #0x25
ADD R1, R1, #8 @Cherrim
CMP R4, R1
ADDEQ R4, R2, #0x27
ADD R1, R1, #1 @Shellos
CMP R4, R1
ADDEQ R4, R2, #0x28
ADD R1, R1, #1 @Gastrodon
CMP R4, R1
ADDEQ R4, R2, #0x29
ADD R1, R1, #0x38 @Rotom
CMP R4, R1
ADDEQ R4, R2, #0x2A
ADD R1, R1, #8 @Giratina
CMP R4, R1
ADDEQ R4, R2, #0x2F
CMP R4, #0x1EC @Shaymin
ADDEQ R4, R2, #0x30
ADD R1, R1, #0x3F @Basculin
CMP R4, R1
ADDEQ R4, R2, #0x31
ADD R1, R1, #5 @Darmanitan!!!!!!!!!!!!!!
CMP R4, R1
ADDEQ R4, R2, #0x32
ADD R1, R1, #0x1E @Deerling
CMP R4, R1
ADDEQ R4, R2, #0x33
ADD R1, R1, #1 @Sawsbuck
CMP R4, R1
ADDEQ R4, R2, #0x36
ADD R1, R1, #0x37 @Tornadus
CMP R4, R1
ADDEQ R4, R2, #0x39
ADD R1, R1, #1 @Thundurus
CMP R4, R1
ADDEQ R4, R2, #0x3A
ADD R1, R1, #3 @LANdorus
CMP R4, R1
ADDEQ R4, R2, #0x3B
ADD R1, R1, #1 @Kyurem
CMP R4, R1
ADDEQ R4, R2, #0x3C
ADD R1, R1, #1 @Keldeo
CMP R4, R1
ADDEQ R4, R2, #0x3E
CMP R4, #0x288 @Meloetta
ADDEQ R4, R2, #0x3F
ADD R1, R1, #2 @Genesect
CMP R4, R1
ADDEQ R4, R2, #0x40
CMP R4, R2 @Comprueba si esta es una forma alternativa
ADD R4, R0, R4
ADD LR, LR, #0x74
SUBLS R4, R4, R0
ADD R0, R4, #7
LDMHIFD SP!, {R4, LR}
BX LR


@iconos:
xrpl_02074264:
NOP
LDR R4, =GenderBit
LDRB R4, [R4] @Get gender bit
CMP R4, #0
LDRNE R4, =0x2CE
ADDNE R0, R4, R0
LDMFD SP!, {R4, LR}
BX LR


@Castform y Cherrim:
xrpl_02074292:
NOP
LDR R0, =0x2AD
B .GraphicFiles

xrpl_020742AE:
NOP
LDR R0, =0x2B7
.GraphicFiles:
ADD R0, R2, R0
BX LR


@iconos de huevos:
lrpl_0207436A:
NOP
CMP R0, R1
ADDEQ R0, R1, #0xA1 @huevo manaphy
ADDNE R0, R1, #0xA0 @huevo
MOV R1, LR
LDMFD SP!, {LR}
BX R1


@paleta de las formas alternas:
lrpl_02074384:
NOP
CMP R0, #0xC9 @Unown
ADDEQ R0, R2, #2
MOV R3, #0x15C
ADD R3, R3, #3 @Castform
CMP R0, R3
ADDEQ R0, R2, #0x1D
ADD R3, R3, #0x23 @Deoxys
CMP R0, R3
ADDEQ R0, R2, #0x20
CMP R0, #0x19C @Burmy
ADDEQ R0, R2, #0x23
ADD R3, R3, #0x1B @WORmadam
CMP R0, R3
ADDEQ R0, R2, #0x25
ADD R3, R3, #8 @Cherrim
CMP R0, R3
ADDEQ R0, R2, #0x27
ADD R3, R3, #1 @Shellos
CMP R0, R3
ADDEQ R0, R2, #0x28
ADD R3, R3, #1 @Gastrodon
CMP R0, R3
ADDEQ R0, R2, #0x29
ADD R3, R3, #0x38 @Rotom
CMP R0, R3
ADDEQ R0, R2, #0x2A
ADD R3, R3, #8 @Giratina
CMP R0, R3
ADDEQ R0, R2, #0x2F
CMP R0, #0x1EC @Shaymin
ADDEQ R0, R2, #0x30
ADD R3, R3, #0x3F @Basculin
CMP R0, R3
ADDEQ R0, R2, #0x31
ADD R3, R3, #5 @Darmanitan!!!!!!!!!!!!!!
CMP R0, R3
ADDEQ R0, R2, #0x32
ADD R3, R3, #0x1E @Deerling
CMP R0, R3
ADDEQ R0, R2, #0x33
ADD R3, R3, #1 @Sawsbuck
CMP R0, R3
ADDEQ R0, R2, #0x36
ADD R3, R3, #0x37 @Tornadus
CMP R0, R3
ADDEQ R0, R2, #0x39
ADD R3, R3, #1 @Thundurus
CMP R0, R3
ADDEQ R0, R2, #0x3A
ADD R3, R3, #3 @LANdorus
CMP R0, R3
ADDEQ R0, R2, #0x3B
ADD R3, R3, #1 @Kyurem
CMP R0, R3
ADDEQ R0, R2, #0x3C
ADD R3, R3, #1 @Keldeo
CMP R0, R3
ADDEQ R0, R2, #0x3E
CMP R0, #0x288 @Meloetta
ADDEQ R0, R2, #0x3F
ADD R3, R3, #2 @Genesect
CMP R0, R3
ADDEQ R0, R2, #0x40
CMP R0, R2 @Comprueba si esta es una forma alternativa
ADD R0, R1, R0
SUBLS R0, R0, R1
ADD R1, LR, #0x6E
LDMFD SP!, {LR}
BX R1


@La paleta tiene 4 bits (2 para hombres y 2 para mujeres)
lrpl_020743FA:
NOP
ANDS R2, R0, #1 @Comprueba si el número de Pokémon es impar
MOV R0, R0, LSR #1
LDRB R0, [R1, R0]
MOVNE R0, R0, LSR #4
LDR R2, =GenderBit
LDRB R3, [R2] @obtener el bit del genero
CMP R3, #0
MOV R3, #0
STRB R3, [R2] @resetar GenderBit al primer byte
MOVNE R0, R0, LSR #2
AND R0, R0, #3
LDMFD SP!, {LR}
BX LR


@comprueba si el pokemon a sido visto:
xrpl_0202A3C2:
NOP
LDRB R2, [R2, #0x64]
BX LR

xrpl_0202A494:
NOP
LDRB R3, [R3, #0x64]
BX LR

@primera forma de spinda vista:
xrpl_0202A3D2:
xrpl_0202A4A4:
NOP
STR R0, [R5, #0x184]
BX LR

@si el pokemon ya a sido visto:
xrpl_0202A3E8:
NOP
LDRB R2, [R2, #0xC4]
BX LR

xrpl_0202A4BA:
NOP
LDRB R0, [R0, #0xC4]
BX LR

@terminar pokemon vistos:
xrpl_0202A412:
NOP
MOV R1, #7
B .EndPokemonSeen

xrpl_0202A524:
NOP
ORR R2, R3, R2
.EndPokemonSeen:
ADD R5, R5, #0x64
BX LR


@Pokédex
xrpl_021F14C8_ov_12:
NOP
LDR R0, [R0]
LDR R2, =PokedexGender
ADD R0, R0, #0xC4
STR R0, [R2] @offset almacenado
SUB R0, R0, #0xC4
MOV R2, #0
BX LR


xrpl_021F14E4_ov_12:
NOP
LDR R0, =PokedexGender
STR R1, [R0, #4] @Almacena pokemon temporalmente
LDR R3, [R0] @obtienel el offset
SUB R1, R1, #1
MOV R1, R1, LSR #3 @toma el byte del offset
ADD R3, R1, R3
STR R3, [R0] @offset almacenado
LDR R1, [R0, #4]
SUB R1, R1, #1
AND R1, R1, #7
MOV R3, #1
MOV R3, R3, LSL R1
LDR R1, [R0]
LDRB R1, [R1] @obtiene el offset del pokemon
TST R1, R3
LDR R1, [R0, #4] @Recupera al pokemon
LDR R0, =GenderBit
MOVEQ R3, #0 @bit del macho
MOVNE R3, #1 @bit de la hembra
STRB R3, [R0]
MOV R0, R5
MOV R3, R6
BX LR


xrpl_02029C3C:
NOP
ADD R3, R3, #0xC4
LDR R1, =PokedexGender
STR R3, [R1, #8] @Offset
STR R0, [R1, #0xC] @Bit
MOV R1, #1
LDRB R3, [R3]
BX LR


@segundo genero registrado:
xrpl_02029C5C:
NOP
LDRB R2, [R2, #0x124]
BX LR


@Zone tab:
xrpl_021F3A76_ov_12:
NOP
LDR R3, =PokedexGender
LDR R0, [R3, #8] @obtiene el offset
LDRB R0, [R0] @obtiene el byte
LDR R3, [R3, #0xC] @obtiene el bit para comparar
TST R0, R3
LDR R3, =GenderBit
MOVEQ R0, #0 @bit del macho
MOVNE R0, #1 @bit de la hembra
STRB R0, [R3]
MOV R0, R7
MOV R3, #1
BX LR


@pestaña del peso:
xrpl_021F4A26_ov_12:
xrpl_021F4A34_ov_12:
NOP
LDR R3, =PokedexGender
LDR R0, [R3, #8] @obtiene offset
LDRB R0, [R0] @obtiene byte
LDR R3, [R3, #0xC] @obtiene el bit para comparar
LDR R2, =GenderBit
TST R0, R3
MOVEQ R0, #0 @bit del macho
MOVNE R0, #1 @bit de la hembra
STRB R0, [R2]
MOV R0, R5
LDRH R1, [R5, R1]
BX LR


@pestaña de formas:
xrpl_021F5CFE_ov_12:
NOP
LDR R2, =PokedexGender
LDR R0, [R2, #8] @obtiene offset
CMP R7, #0
ADDNE R0, R0, #0x60
LDRB R0, [R0] @obtiene byte
LDR R1, [R2, #0xC] @obtiene el bit para comparar
TST R0, R1
LDR R2, =GenderBit
MOVEQ R0, #0 @bit del macho
MOVNE R0, #1 @bit de la hembra
STRB R0, [R2]
MOV R0, R5
MOV R1, R4
BX LR


@pestaña de comparacion:
xrpl_021F0E00_ov_12:
NOP
MOV R0, R5
LDSB R2, [R5, R2]
LDR R1, =GenderBit
STRB R2, [R1, #1]
BX LR


xrpl_021F63F0_ov_12:
NOP
LDR R1, =GenderBit
LDRB R1, [R1, #1]
CMP R1, #0
LDR R1, =PokedexGender
LDR R0, [R1, #8] @obtiene offset
ADDNE R0, R0, #0x60
B .CompareFiles

xrpl_021F63FC_ov_12:
NOP
LDR R1, =GenderBit
LDRB R1, [R1, #1]
CMP R1, #0
LDR R1, =PokedexGender
LDR R0, [R1, #8] @obtiene offset
ADDEQ R0, R0, #0x60
.CompareFiles:
LDRB R0, [R0] @obtiene byte
LDR R1, [R1, #0xC] @obtiene bit para comparar
TST R0, R1
LDR R1, =GenderBit
MOVEQ R0, #0 @bit del macho
MOVNE R0, #1 @bit de la hembra
STRB R0, [R1]
MOV R0, R4
LDSB R2, [R4, R2]
BX LR


xrpl_021F640A_ov_12:
NOP
LDR R0, =GenderBit
MOV R1, #0
STR R1, [R0] @reinicia GenderBit
MOV R0, R4
MOV R1, #0xE
BX LR





xrpl_0224E830_ov_0C:
NOP
LDR R6, =FormeStack
AND R1, R1, #0x1F
CMP R5, #0
STREQB R1, [R6]
CMP R5, #0x180
STREQB R1, [R6, #1]
MOV R1, #0xC0
MOV R6, R0
BX LR


xrpl_0224D504_ov_0C:
NOP
MOV R1, #1
STRB R1, [R4, R0]
LDR R3, =FormeStack
MOV R4, #0
STR R4, [R3]
BX LR


xrpl_02263DB6_ov_0C:
NOP
MOV R2, R2, LSR #0x1F
STRB R2, [R3, #5]
LDR R5, =FormeStack
ADD R2, R1, #0x26
LDRB R2, [R4, R2]
AND R2, R2, #0x1F
CMP R6, #0
STREQB R2, [R5]
CMP R6, #0x180
STREQB R2, [R5, #1]
BX LR


lrpl_0223BC12_ov_0C:
NOP
STMFD SP!, {R3}
STRB R1, [R0, R2]
LDR R3, =FormeStack
STRB R1, [R3, #2]
LDMFD SP!, {R3}
LDMFD SP!, {LR}
BX LR


xrpl_02074668:
NOP
MUL R0, R4, R0
ADD R0, R5, R0
LDR R3, =FormeStack
LDRB R5, [R3, #2]
CMP R5, #0
MOVEQ R5, R7
MOVNE R5, R4
LDR R3, =OffsetParty
CMP R5, #5
STRLS R0, [R3, R5, LSL #2]
BX LR


xrpl_0226709A_ov_0C:
NOP
CMP R1, #0
MOVNE R1, #1
LDR R0, =FormeStack
STRB R1, [R0, #3]
LDR R0, =0x10203
MOV R1, #0x4D
BX LR


xrpl_020741DE:
NOP
STMFD SP!, {R2-R3}
LDR R2, =FormeStack
LDR R3, =0x15F
CMP R4, R3
BNE .CherrimDarmanitan
LDRB R3, [R2, #2]
CMP R3, #0
LDREQB R3, [R2, #3]
BEQ .SuccessCastform
LDR R2, =OffsetParty
LDR R3, [R2]
CMP R3, R5
MOVEQ R3, #0
BEQ .SuccessCastform
LDR R3, [R2, #4]
CMP R3, R5
MOVEQ R3, #1
BNE .NCGRCalc
.SuccessCastform:
LDR R2, =FormeStack
LDRB R0, [R2, R3]
CMP R0, #3
MOVHI R0, #0
B .NCGRCalc
.CherrimDarmanitan:
ADD R3, R3, #0x46
CMP R4, R3
ADDNE R3, R3, #0x86 @Darmanitan
CMPNE R4, R3
BNE .NCGRCalc
LDRB R3, [R2, #2]
CMP R3, #0
LDREQB R3, [R2, #3]
BEQ .SuccessCherrimDarmanitan
LDR R2, =OffsetParty
LDR R3, [R2]
CMP R3, R5
MOVEQ R3, #0
BEQ .SuccessCherrimDarmanitan
LDR R3, [R2, #4]
CMP R3, R5
MOVEQ R3, #1
BNE .NCGRCalc
.SuccessCherrimDarmanitan:
LDR R2, =FormeStack
LDRB R0, [R2, R3]
CMP R0, #1
MOVHI R0, #0
.NCGRCalc:
LDMFD SP!, {R2-R3}
CMP R0, #0
ADDEQ LR, LR, #0x78
BXEQ LR
LDR R1, =0x15F @Castform
CMP R4, R1
ADDEQ R1, R1, #0xA7
ADDEQ R1, R1, #0xA7
BEQ .NCGR
ADD R1, R1, #0x46 @Cherrim
CMP R4, R1
ADDEQ R1, R1, #0x89
ADDEQ R1, R1, #0x89
BEQ .NCGR
ADD R1, R1, #0x86 @Darmanitan
CMP R4, R1
ADDEQ R1, R1, #0x97
.NCGR:
ADDEQ R0, R0, R1 @Add form index
LDMEQFD SP!, {R4, LR}
BX LR


xrpl_0207447C:
xrpl_02220AEA_ov_08:
NOP
STMFD SP!, {R0, R2-R3}
LDR R2, =FormeStack
LDR R3, =0x15F
CMP R0, R3
BNE .Cherrim3
LDRB R0, [R2, #2]
CMP R0, #0
MOVNE R0, R7
LDREQB R0, [R2, #3]
CMP R0, #1
BHI .DefaultNCLR
LDRB R1, [R2, R0]
CMP R1, #3
MOVHI R1, #0
B .DefaultNCLR
.Cherrim3:
ADD R3, R3, #0x46
CMP R0, R3
ADDNE R3, R3, #0x86 @Darmanitan
CMPNE R0, R3
BNE .DefaultNCLR
LDRB R0, [R2, #2]
CMP R0, #0
MOVNE R0, R7
LDREQB R0, [R2, #3]
CMP R0, #1
BHI .DefaultNCLR
LDRB R1, [R2, R0]
CMP R1, #1
MOVHI R1, #0
.DefaultNCLR:
LDR R0, =PseudoStack
STR LR, [R0]
LDMFD SP!, {R0, R2-R3}
LDR LR, =0x2074365
BLX LR
LDR LR, =PseudoStack
LDR LR, [LR]
BX LR


@Cambios de tipo deCastform y Darmanitan
xrpl_02220BD8_ov_08:
NOP
LDRH R1, [R4, #4]
LDR R3, =0x15F
CMP R1, R3
BNE .TryDarmanitan
MOV R3, #0 @Normal icono
LDR R1, [R0]
LDRB R1, [R1, #0x11]
CMP R1, #1
BHI .FormFirstType
LDR R5, =FormeStack
LDRB R1, [R5, R1]
CMP R1, #1
MOVEQ R3, #0xA @Fuego icono
CMP R1, #2
MOVEQ R3, #0xB @agua icono
CMP R1, #3
MOVEQ R3, #0xF @hielo icono
.FormFirstType:
STRB R3, [R4, #0x14]
B .FormSecondType
.TryDarmanitan:
ADD R3, R3, #0xCC
CMP R1, R3
BNE .ReturnType
MOV R3, #0xA @fuego icono
STRB R3, [R4, #0x14]
LDR R1, [R0]
LDRB R1, [R1, #0x11]
CMP R1, #1
BHI .FormSecondType
LDR R5, =FormeStack
LDRB R1, [R5, R1]
CMP R1, #1
MOVEQ R3, #0xE @psyquico icono
.FormSecondType:
STRB R3, [R4, #0x15]
.ReturnType:
LDR R1, =0x2004
MOV R5, R0
BX LR


.data
.balign 1
FormeStack:
.byte 0x0
.byte 0x0
.byte 0x0
.byte 0x0

GenderBit:
.byte 0x0
.byte 0x0
.byte 0x0
.byte 0x0

.balign 4
OffsetParty:
.word 0x0
.word 0x0
.word 0x0
.word 0x0
.word 0x0
.word 0x0

PseudoStack:
.word 0x0

PokedexGender:
.word 0x0
.word 0x0
.word 0x0
.word 0x0






Alguien con conocimiento de esto podria modificarlo para la cantidad de pokemon actuales o mas?​
 
Última edición por un moderador:

L!no

GBA Developer
grandioso aporte, es genial ver como poco a poco el rh nds avanza, gracias por traerlo! sobre lo de modificarlo, la verdad no entiendo ni una parte del codigo, es una sintaxis muy confusa. seguro alguien aqui puede

Enviado desde mi SM-G531M mediante Tapatalk
 

TheGatolete2

¿Sin puesto de mod para mi no hay paraíso?.
Se podra poner pokemon de 7 a ej 9 gen y espero que a futuro se puedan poner mega evoluciones y move set de 7 gen y move z , en fin muy bueno y bonito el aporte, el gato a comentado aqui.
 
Arriba