Patch [FR] BW Summary Screen

Started by Againsts September 7th, 2017 4:43 AM
  • 48298 views
  • 54 replies

Lunos

Random Uruguayan User

Male
Montevideo (Uruguay)
Seen 10 Hours Ago
Posted 2 Weeks Ago
3,040 posts
15 Years
-Snip-
Thanks for this, it looks quite nice combined with NarenJr's B/W Styled Pok�mon Menu.


It'd be nice if you posted which offsets does your patch use though, so people will be able to easily avoid what happened to Noodlewhiz or to repoint stuff if needed.
Female
Seen March 5th, 2022
Posted September 27th, 2017
27 posts
8.1 Years
Thanks for this, it looks quite nice combined with NarenJr's B/W Styled Pok�mon Menu.


It'd be nice if you posted which offsets does your patch use though, so people will be able to easily avoid what happened to Noodlewhiz or to repoint stuff if needed.
This patch does not use the new offset, it just replaces the original offset?

Lunos

Random Uruguayan User

Male
Montevideo (Uruguay)
Seen 10 Hours Ago
Posted 2 Weeks Ago
3,040 posts
15 Years
Againsts, I just noticed thanks to some tests brought up in the community's Discord, that your patch doesn't seem to play nicely along the nature-based colored stats.
I think it'd be nice if you fixed that or at least dropped a warning about it in the main post.
Female
Seen March 5th, 2022
Posted September 27th, 2017
27 posts
8.1 Years
Againsts, I just noticed thanks to some tests brought up in the community's Discord, that your patch doesn't seem to play nicely along the nature-based colored stats.
I think it'd be nice if you fixed that or at least dropped a warning about it in the main post.
You must first use the patch, then use the Nature-affected stats colouring routines?
Nature-affected stats colouring routines require minor changes?

Nature-affected stats colouring routines [FR]:


CLICK FOR EMERALD

This is probably the least efficient way to do this, but it works.

Attack:
.thumb
@ 00 49 08 47 XX XX XX XX at x137134

ldr r1, [r2]
ldrb r2,[r1,#4]
add r2,#0x32  //add r2, #0x3C
lsl r2,r2,#0x18
lsr r2,r2,#0x18
push {r0-r3}
ldr r0, =(0x0203B140)
ldr r0, [r0]
ldr r2, =(0x3290)
add r0, r0, r2
mov r1, #0
bl decryptbranch
bl getnaturebranch
cmp r0, #1 @ Lonely
beq red
cmp r0, #2 @ Brave
beq red
cmp r0, #3 @ Adamant
beq red
cmp r0, #4 @ Naughty
beq red
cmp r0, #5 @ Bold
beq blue
cmp r0, #10 @ Timid
beq blue
cmp r0, #15 @ Modest
beq blue
cmp r0, #20 @ Calm
beq blue

black:
ldr r6, blackfont
b end

red:
ldr r6, redfont
b end

blue:
ldr r6, bluefont

end:
pop {r0-r3}
ldr r1, =(0x0813713c+1)
bx r1

decryptbranch:
ldr r2, =(0x0803FBE8+1)
bx r2

getnaturebranch:
ldr r2, =(0x08042EB4+1)
bx r2

.align 2
blackfont: .word 0x08463FA4 @ In a vanilla FR ROM, this contains: 00 0E 0A 00
redfont: .word 0x08RRRRRR @ ROM location that contains: 00 01 0A 00
bluefont: .word 0x08BBBBBB @ ROM location that contains: 00 07 0A 00
Defense:
.thumb
@ 00 49 08 47 XX XX XX XX at x137158

ldr r1, [r2]
ldrb r2,[r1,#6]
add r2,#0x32 //add r2, #0x3C
lsl r2,r2,#0x18
lsr r2,r2,#0x18
push {r0-r3}
ldr r0, =(0x0203B140)
ldr r0, [r0]
ldr r2, =(0x3290)
add r0, r0, r2
mov r1, #0
bl decryptbranch
bl getnaturebranch
cmp r0, #1 @ Lonely
beq blue
cmp r0, #5 @ Nold
beq red
cmp r0, #7 @ Relaxed
beq red
cmp r0, #8 @ Impish
beq red
cmp r0, #9 @ Lax
beq red
cmp r0, #11 @ Hasty
beq blue
cmp r0, #16 @ Mild
beq blue
cmp r0, #21 @ Gentle
beq blue

black:
ldr r6, blackfont
b end

red:
ldr r6, redfont
b end

blue:
ldr r6, bluefont

end:
pop {r0-r3}
ldr r1, =(0x08137162+1)
bx r1

decryptbranch:
ldr r2, =(0x0803FBE8+1)
bx r2

getnaturebranch:
ldr r2, =(0x08042EB4+1)
bx r2

.align 2
blackfont: .word 0x08463FA4 @ In a vanilla FR ROM, this contains: 00 0E 0A 00
redfont: .word 0x08RRRRRR @ ROM location that contains: 00 01 0A 00
bluefont: .word 0x08BBBBBB @ ROM location that contains: 00 07 0A 00
Special Attack:
.thumb
@ 00 49 08 47 XX XX XX XX at x13717C

mov r2,r8
ldr r1, [r2]
ldrb r2,[r1,#8]
add r2,#0x32  //add r2, #0x3C
lsl r2,r2,#0x18
lsr r2,r2,#0x18
push {r0-r3}
ldr r0, =(0x0203B140)
ldr r0, [r0]
ldr r2, =(0x3290)
add r0, r0, r2
mov r1, #0
bl decryptbranch
bl getnaturebranch
cmp r0, #3 @ Adamant
beq blue
cmp r0, #8 @ Impish
beq blue
cmp r0, #13 @ Jolly
beq blue
cmp r0, #15 @ Modest
beq red
cmp r0, #16 @ Mild
beq red
cmp r0, #17 @ Quiet
beq red
cmp r0, #19 @ Rash
beq red
cmp r0, #23 @ Careful
beq blue

black:
ldr r6, blackfont
b end

red:
ldr r6, redfont
b end

blue:
ldr r6, bluefont

end:
pop {r0-r3}
ldr r1, =(0x08137188+1)
bx r1

decryptbranch:
ldr r2, =(0x0803FBE8+1)
bx r2

getnaturebranch:
ldr r2, =(0x08042EB4+1)
bx r2

.align 2
blackfont: .word 0x08463FA4 @ In a vanilla FR ROM, this contains: 00 0E 0A 00
redfont: .word 0x08RRRRRR @ ROM location that contains: 00 01 0A 00
bluefont: .word 0x08BBBBBB @ ROM location that contains: 00 07 0A 00
Special Defense:
.thumb
@ 00 49 08 47 XX XX XX XX at x1371A4

ldr r1, [r2]
ldrb r2,[r1,#0xA]
add r2,#0x32  //add r2, #0x3C
lsl r2,r2,#0x18
lsr r2,r2,#0x18
push {r0-r3}
ldr r0, =(0x0203B140)
ldr r0, [r0]
ldr r2, =(0x3290)
add r0, r0, r2
mov r1, #0
bl decryptbranch
bl getnaturebranch
cmp r0, #4 @ Naughty
beq blue
cmp r0, #9 @ Lax
beq blue
cmp r0, #14 @ Naive
beq blue
cmp r0, #19 @ Rash
beq blue
cmp r0, #20 @ Calm
beq red
cmp r0, #21 @ Gentle
beq red
cmp r0, #22 @ Sassy
beq red
cmp r0, #23 @ Careful
beq red

black:
ldr r6, blackfont
b end

red:
ldr r6, redfont
b end

blue:
ldr r6, bluefont

end:
pop {r0-r3}
ldr r1, =(0x081371AE+1)
bx r1

decryptbranch:
ldr r2, =(0x0803FBE8+1)
bx r2

getnaturebranch:
ldr r2, =(0x08042EB4+1)
bx r2

.align 2
blackfont: .word 0x08463FA4 @ In a vanilla FR ROM, this contains: 00 0E 0A 00
redfont: .word 0x08RRRRRR @ ROM location that contains: 00 01 0A 00
bluefont: .word 0x08BBBBBB @ ROM location that contains: 00 07 0A 00
Speed:
.thumb
@ 00 49 08 47 XX XX XX XX at x1371C8

mov r2,r8
ldr r1, [r2]
ldrb r2,[r1,#0xC]
add r2,#0x32  //add r2, #0x3C
lsl r2,r2,#0x18
lsr r2,r2,#0x18
push {r0-r3}
ldr r0, =(0x0203B140)
ldr r0, [r0]
ldr r2, =(0x3290)
add r0, r0, r2
mov r1, #0
bl decryptbranch
bl getnaturebranch
cmp r0, #2 @ Brave
beq blue
cmp r0, #7 @ Relaxed
beq blue
cmp r0, #10 @ Timid
beq red
cmp r0, #11 @ Hasty
beq red
cmp r0, #13 @ Jolly
beq red
cmp r0, #14 @ Naive
beq red
cmp r0, #17 @ Quiet
beq blue
cmp r0, #22 @ Sassy
beq blue

black:
ldr r6, blackfont
b end

red:
ldr r6, redfont
b end

blue:
ldr r6, bluefont

end:
pop {r0-r3}
ldr r1, =(0x081371d4+1)
bx r1

decryptbranch:
ldr r2, =(0x0803FBE8+1)
bx r2

getnaturebranch:
ldr r2, =(0x08042EB4+1)
bx r2

.align 2
blackfont: .word 0x08463FA4 @ In a vanilla FR ROM, this contains: 00 0E 0A 00
redfont: .word 0x08RRRRRR @ ROM location that contains: 00 01 0A 00
bluefont: .word 0x08BBBBBB @ ROM location that contains: 00 07 0A 00
Reverting the font colour back to black:
.thumb
@ 00 49 08 47 XX XX XX XX at 081371F0

ldr r1, [r2]
ldrb r2,[r1,#0xE]
add r2,#0xF  //add r2, #2
lsl r2,r2,#0x18
lsr r2,r2,#0x18
ldr r6, blackfont
ldr r1, =(0x081371FA+1)
bx r1

.align 2
blackfont: .word 0x08463FA4 @ In a vanilla FR ROM, this contains: 00 0E 0A 00
where XX XX XX XX is the location of each routine +1.

This colours the stat increased by the Pok�mon's nature red, and the stat that is decreased blue.



Edit: Updated 23/12/2015, the old routines had a few errors that I forgot to update after making changes to my ROM. I've also confirmed what bluefont should be in a vanilla ROM. Enjoy!
Seen July 1st, 2023
Posted February 11th, 2021
112 posts
7.7 Years
Thanks for this, it looks quite nice combined with NarenJr's B/W Styled Pok�mon Menu.


It'd be nice if you posted which offsets does your patch use though, so people will be able to easily avoid what happened to Noodlewhiz or to repoint stuff if needed.
Can you please give me a download link for the B/W styled Pokemon menu?

I can't seem to find a working link anywhere, I would really appreciate it.

Lunos

Random Uruguayan User

Male
Montevideo (Uruguay)
Seen 10 Hours Ago
Posted 2 Weeks Ago
3,040 posts
15 Years
You must first use the patch, then use the Nature-affected stats colouring routines?
Nature-affected stats colouring routines require minor changes?
Checked, I quickly applied TL's Quick Enhancer Tool's nature-based colored stats code and it doesn't crash anymore.

I guess it's not a reliable way of implementing the code though, considering that you told me through the community's Discord that by implementing it following your instructions, that ugly "205" isn't there just like it should be.
Anyways, Thanks dude :)!
Female
Seen March 5th, 2022
Posted September 27th, 2017
27 posts
8.1 Years
Can you please give me a download link for the B/W styled Pokemon menu?

I can't seem to find a working link anywhere, I would really appreciate it.
Sorry, I promised "Nisarg" not to give it to other people?You can ask "Nisarg" or "Delta231" for the Pokemon Selection Screen patch?

Lunos

Random Uruguayan User

Male
Montevideo (Uruguay)
Seen 10 Hours Ago
Posted 2 Weeks Ago
3,040 posts
15 Years
Hey, i think this crashes with the iv display as well...
If you apply the patch, and then implement the IV Display thing afterwards, everything's working fine.
I personally applied the patch, then the nature-based colored stats and then the IV Display and you just need to fix its X & Y Coords, otherwise it'll look like this by default:

Froosty

The_Learner

Age 25
Male
Somewhere in this world.
Seen August 13th, 2023
Posted February 13th, 2021
535 posts
9 Years
This patch demands the update to the IV display routine with its X/Y position to work properly.

Which is done in the below routine
Spoiler:

cmp r0, #0x0
beq Abort
cmp r0, #0x3
bgt Abort
cmp r0, #0x1
bne StandardAbort
b Start

Abort:
ldr r1, .AbortAddr
bx r1

StandardAbort:
ldr r1, .StandardAbortAddr
bx r1

.align 2
.AbortAddr: .word 0x08137bfd
.StandardAbortAddr: .word 0x08137bf9

Start:
ldr r0, .ActiveMonPtr
ldr r1, .ActiveOffset
ldr r0, [r0, #0x0]
add r6, r0, r1

add sp, #-0x18

HPIV:
mov r0, r6
mov r1, #0x27
bl Decrypter

mov r5, r0
lsr r5, r5, #0x1
mov r0, #0x40
mul r5, r0, r5

mov r1, #0x80
str r1, [sp, #0x0]
str r1, [sp, #0x4]

#x, y position
mov r2, #0x29
str r2, [sp, #0x8]
mov r1, #0x2
str r1, [sp, #0xc]

#x, y size
mov r2, #0x10
str r2, [sp, #0x10]
mov r1, #0x8
str r1, [sp, #0x14]

mov r0, #0x3
ldr r1, .GraphicAddr
add r1, r5
mov r2, #0x0
mov r3, #0x0
bl GraphicHandler



AtkIV:
mov r0, r6
mov r1, #0x28
bl Decrypter

mov r5, r0
lsr r5, r5, #0x1
mov r0, #0x40
mul r5, r0, r5

mov r1, #0x80
str r1, [sp, #0x0]
str r1, [sp, #0x4]

#x, y position
mov r2, #0x29
str r2, [sp, #0x8]
mov r1, #0x16
str r1, [sp, #0xc]

#x, y size
mov r2, #0x10
str r2, [sp, #0x10]
mov r1, #0x8
str r1, [sp, #0x14]

mov r0, #0x3
ldr r1, .GraphicAddr
add r1, r5
mov r2, #0x0
mov r3, #0x0
bl GraphicHandler



DefIV:
mov r0, r6
mov r1, #0x29
bl Decrypter

mov r5, r0
lsr r5, r5, #0x1
mov r0, #0x40
mul r5, r0, r5

mov r1, #0x80
str r1, [sp, #0x0]
str r1, [sp, #0x4]

#x, y position
mov r2, #0x29
str r2, [sp, #0x8]
mov r1, #0x22
str r1, [sp, #0xc]

#x, y size
mov r2, #0x10
str r2, [sp, #0x10]
mov r1, #0x8
str r1, [sp, #0x14]

mov r0, #0x3
ldr r1, .GraphicAddr
add r1, r5
mov r2, #0x0
mov r3, #0x0
bl GraphicHandler


SAtkIV:
mov r0, r6
mov r1, #0x2B
bl Decrypter

mov r5, r0
lsr r5, r5, #0x1
mov r0, #0x40
mul r5, r0, r5

mov r1, #0x80
str r1, [sp, #0x0]
str r1, [sp, #0x4]

#x, y position
mov r2, #0x29
str r2, [sp, #0x8]
mov r1, #0x2E
str r1, [sp, #0xc]

#x, y size
mov r2, #0x10
str r2, [sp, #0x10]
mov r1, #0x8
str r1, [sp, #0x14]

mov r0, #0x3
ldr r1, .GraphicAddr
add r1, r5
mov r2, #0x0
mov r3, #0x0
bl GraphicHandler



SDefIV:
mov r0, r6
mov r1, #0x2C
bl Decrypter

mov r5, r0
lsr r5, r5, #0x1
mov r0, #0x40
mul r5, r0, r5

mov r1, #0x80
str r1, [sp, #0x0]
str r1, [sp, #0x4]

#x, y position
mov r2, #0x29
str r2, [sp, #0x8]
mov r1, #0x3A
str r1, [sp, #0xc]

#x, y size
mov r2, #0x10
str r2, [sp, #0x10]
mov r1, #0x8
str r1, [sp, #0x14]

mov r0, #0x3
ldr r1, .GraphicAddr
add r1, r5
mov r2, #0x0
mov r3, #0x0
bl GraphicHandler



SpeedIV:
mov r0, r6
mov r1, #0x2A
bl Decrypter

mov r5, r0
lsr r5, r5, #0x1
mov r0, #0x40
mul r5, r0, r5

mov r1, #0x80
str r1, [sp, #0x0]
str r1, [sp, #0x4]

#x, y position
mov r2, #0x29
str r2, [sp, #0x8]
mov r1, #0x46
str r1, [sp, #0xc]

#x, y size
mov r2, #0x10
str r2, [sp, #0x10]
mov r1, #0x8
str r1, [sp, #0x14]

mov r0, #0x3
ldr r1, .GraphicAddr
add r1, r5
mov r2, #0x0
mov r3, #0x0
bl GraphicHandler



add sp, #0x18
b Abort


GraphicHandler:
ldr r4, .HandlerAddr
bx r4

Decrypter:
ldr r2, .DecrypterAddr
bx r2

.align 2
.GraphicAddr: .word 0x08XXXXXX
.HandlerAddr: .word 0x080041f1
.ActiveMonPtr: .word 0x0203b140
.ActiveOffset: .word 0x00003290
.MonIndex: .word 0x0203b16c
.DecrypterAddr: .word 0x0803FBE9


The update to this routine gives such result:


Inserting the routine is just like the original one as in this post
https://www.pokecommunity.com/showthread.php?p=10192478#post10192478

BluRose

blu rass

Age 22
Male
michigan tech
Seen 2 Days Ago
Posted April 9th, 2023
812 posts
9.4 Years
Hey, i think this crashes with the iv display as well...
Maybe, against, u should be on github and put the code there so it can be improved by other coders...
And as for the selection screen, he was talking about narenjr's patch...
Cuz patch has always been a no-go for everyone, well at least for me...
Thanks tho ^^
no, he was most certainly talking about againsts' selection screen, naren's is just a reskinning of the default.
although asking againsts to not give it to other people is rather low and honestly a prevention in progress. i don't know what you were going for, a unique feature in your hack, maybe? whatever it is, keeping it private as againsts' invention is just very irking and honestly i can't believe you'd do that

just my 2 cents
heyo check out my github:

BluRosie
highlights:
battle engine for heartgold
various feature branches in heart gold (fairy type, odd egg, mud slopes)

i'm a big part of the development team of pokemon firegold! all the code that i develop for that hack is also on my github

also on discord as @blurose

Froosty

The_Learner

Age 25
Male
Somewhere in this world.
Seen August 13th, 2023
Posted February 13th, 2021
535 posts
9 Years
TL, buddy thanks for finding the x y coords, but there will be a consequence, try it with Max HP Mon...
I think more digits will overlap HP iv...
But u know, whatever!
Thanks! ^^


Ok fixed now,
and the code is update in my earlier post.

DizzyEgg

Age 26
Male
Poland
Seen 3 Days Ago
Posted April 23rd, 2020
794 posts
9.7 Years
We as the community should move forward and firstly stop creating patches, and secondly share the source code. The screen looks nice but the patch format is really limiting, given how it relies on things like pokemon base stat table which could be changed along with other custom routines such as nature colored stats and IV display.

And honestly what's the point of keeping it private if you share the patch anyway, lol.
Support Pokeemerald!

Pokeemerald starter pack:
Emerald Expansion

Froosty

The_Learner

Age 25
Male
Somewhere in this world.
Seen August 13th, 2023
Posted February 13th, 2021
535 posts
9 Years
We as the community should move forward and firstly stop creating patches, and secondly share the source code. The screen looks nice but the patch format is really limiting, given how it relies on things like pokemon base stat table which could be changed along with other custom routines such as nature colored stats and IV display.
And honestly what's the point of keeping it private if you share the patch anyway, lol.
Coming straight to the point,
This is not any C or ASM code work,
just editing the Tilemap and secondarily changing the X and Y pos of the things to be displayed.
So it is not any source code at all. ~_~
Female
Seen March 5th, 2022
Posted September 27th, 2017
27 posts
8.1 Years
amazing job!

one thing bugs me, though.
The "EXP. POINTS" and "NEXT LV." were removed.
what happens is that without this text you can't really see what the values 204 and 32 (in the example) stand for. Is there any way to bring them back? thanks!
There is not enough place to put this

BluRose

blu rass

Age 22
Male
michigan tech
Seen 2 Days Ago
Posted April 9th, 2023
812 posts
9.4 Years
brings up the question
where is the x-/y-coordinate for the pokémon sprite? i wasn't able to find that one myself a while ago
heyo check out my github:

BluRosie
highlights:
battle engine for heartgold
various feature branches in heart gold (fairy type, odd egg, mud slopes)

i'm a big part of the development team of pokemon firegold! all the code that i develop for that hack is also on my github

also on discord as @blurose

LUXIOtheBEST

*Luxio//Hacks*'s New Account

Age 22
Male
United Kingdom
Seen September 12th, 2020
Posted December 26th, 2019
131 posts
6 Years
Amazing resource. It really does remind me of Pokemon Black and White. However, the only thing that bugs me out a bit is the way that the Pokemon Sprites is facing. It seems quite awkward.
Please support LUXIOtheBEST at all times. Thank you.

BluRose

blu rass

Age 22
Male
michigan tech
Seen 2 Days Ago
Posted April 9th, 2023
812 posts
9.4 Years
Amazing resource. It really does remind me of Pokemon Black and White. However, the only thing that bugs me out a bit is the way that the Pokemon Sprites is facing. It seems quite awkward.
p sure there's a bit for that in pokémon structure for flipping like that
i.e. make the charmander face the other way
heyo check out my github:

BluRosie
highlights:
battle engine for heartgold
various feature branches in heart gold (fairy type, odd egg, mud slopes)

i'm a big part of the development team of pokemon firegold! all the code that i develop for that hack is also on my github

also on discord as @blurose

Delta231

A noob

Male
India
Seen February 1st, 2022
Posted November 22nd, 2019
682 posts
7.4 Years
Sorry for the bump but this patch modifies the type chart little bit. I saw there was no Fairy Type so I have added it. It is indexed and ready to be inserted. Credits to would be appreciated. ^^
Spoiler: