ROM Hack Pokemon Brilliant Diamond & Shining Pearl Cheat Database

8BitWonder

Small Homebrew Dev
Member
Joined
Jan 23, 2016
Messages
2,489
Trophies
1
Location
47 4F 54 20 45 45 4D
XP
5,355
Country
United States
Not possible in this version, the reason is simple: it was changed from "uint32" to "decimal".
"decimal" is a special built-in .net data type see here: https://docs.microsoft.com/en-us/dotnet/api/system.decimal

So a simple pointer value redirection code is not possible, you would first need to read the struct, convert it to uint32 and then write it into an encounter code, this is not possible via cheat code, only a plugin could do it and with a plugin you wouldn't even need that to change the encounter.
Could alternatively use the jank approach I remember as a kid where the encounter code would read from an item's count.
E.g. Use the x999 code on something cheap like the antidote, toss till you have the pokedex number you want and then get an encounter.
 

RyDog

Lazy Animal Crossing hacks
Member
Joined
Apr 26, 2015
Messages
1,698
Trophies
1
Age
24
XP
2,850
Country
United States
Could alternatively use the jank approach I remember as a kid where the encounter code would read from an item's count.
E.g. Use the x999 code on something cheap like the antidote, toss till you have the pokedex number you want and then get an encounter.
They removed tossing in this game.
@SkyQueen and I were looking for ways to utilize the calculator app but the offset is dynamic and for whatever reason, a pointer can't be found.
A solution we are looking to create is to sell the item to the shop keep, but that means you'll have to run to a shop every time you want to sell the item.
Either a pointer needs to be found (very unlikely, I have searched 7 levels deep and none of them are accurate)
Or I was speculating a way to force the menu to pop up for selling items. If anyone wants to chime in and find out how to do that, then we are golden but I'm currently busy with school and I don't really want to waste my time on this.

If the above cannot be found, then it'll be impossible to create dynamic cheats because I don't know any other places where dynamic numbers are stored that can be manipulated by the user. A plugin will need to be created if that's the case, but then it'd be harder to create cheats as then it'd be compiled code and then the developer would need to add every cheat.
 
Last edited by RyDog,

patjenova

Well-Known Member
Member
Joined
Jul 31, 2018
Messages
1,644
Trophies
1
XP
8,862
Country
Netherlands
They removed tossing in this game.
@SkyQueen and I were looking for ways to utilize the calculator app but the offset is dynamic and for whatever reason, a pointer can't be found.
A solution we are looking to create is to sell the item to the shop keep, but that means you'll have to run to a shop every time you want to sell the item.
Either a pointer needs to be found (very unlikely, I have searched 7 levels deep and none of them are accurate)
Or I was speculating a way to force the menu to pop up for selling items. If anyone wants to chime in and find out how to do that, then we are golden but I'm currently busy with school and I don't really want to waste my time on this.

If the above cannot be found, then it'll be impossible to create dynamic cheats because I don't know any other places where dynamic numbers are stored that can be manipulated by the user. A plugin will need to be created if that's the case, but then it'd be harder to create cheats as then it'd be compiled code and then the developer would need to add every cheat.
You could use the Pokédex number with the encounter code. I made one for sword and shield. Optantic made a YouTube video about it.
 
Last edited by patjenova,

XLuma

Pkmn Rom Hacker
Member
Joined
Feb 12, 2017
Messages
490
Trophies
0
Age
23
Location
Quebec
XP
642
Country
Canada
New question: Can somebody fill me in on cheats ?
Im trying to "reverse engineer" this cheat:

[999x Rare Candy 1.1]
580A0000 0472AD60
580A1000 000000B8
580A1000 00000000
580A1000 00000048
780A0000 00000278
680A0000 00000001 000003E7
780A0000 00000008
640A0000 00000000 00010000

All I know is that the line with 3E7 represents setting the number of item to 999. I assume 278 represents the item number, but this number doesn't matches any known index at all. an hex to arm64 converter doesn't help too. If somebody is willing to explain how data is stored please quote !
 

William Bernhard

Well-Known Member
Member
Joined
Jul 14, 2013
Messages
139
Trophies
0
XP
229
Country
United States
New question: Can somebody fill me in on cheats ?
Im trying to "reverse engineer" this cheat:

[999x Rare Candy 1.1]
580A0000 0472AD60
580A1000 000000B8
580A1000 00000000
580A1000 00000048
780A0000 00000278
680A0000 00000001 000003E7
780A0000 00000008
640A0000 00000000 00010000

All I know is that the line with 3E7 represents setting the number of item to 999. I assume 278 represents the item number, but this number doesn't matches any known index at all. an hex to arm64 converter doesn't help too. If somebody is willing to explain how data is stored please quote !
many people included myself already explained how to do this, but I have some time, so have at you

[ USER amazing individual item cheat 1.1]
580A0000 0472AD60
580A1000 000000B8
580A1000 00000000
580A1000 00000048
780A0000 XXXXXXXX
680A0000 00000001 YYYYYYYY
780A0000 00000008
640A0000 00000000 00010000

Replace the XXXXXX with the itemID of your choice
Replace the YYYYYY with the number of items you want (in HEX) use a calculator for this

next time, please, PLEASE use the search function
 
  • Like
Reactions: lattechan

XLuma

Pkmn Rom Hacker
Member
Joined
Feb 12, 2017
Messages
490
Trophies
0
Age
23
Location
Quebec
XP
642
Country
Canada
many people included myself already explained how to do this, but I have some time, so have at you

[ USER amazing individual item cheat 1.1]
580A0000 0472AD60
580A1000 000000B8
580A1000 00000000
580A1000 00000048
780A0000 XXXXXXXX
680A0000 00000001 YYYYYYYY
780A0000 00000008
640A0000 00000000 00010000

Replace the XXXXXX with the itemID of your choice
Replace the YYYYYY with the number of items you want (in HEX) use a calculator for this

next time, please, PLEASE use the search function
Except 278 is not the item index for rare candies. Otherwise yeah its all there, and I should've searched instead.
 

William Bernhard

Well-Known Member
Member
Joined
Jul 14, 2013
Messages
139
Trophies
0
XP
229
Country
United States
Except 278 is not the item index for rare candies. Otherwise yeah its all there, and I should've searched instead.
sorry if I was a bit harsh, I've been staring at walls of VB code for the past 9+ hours and I'm starting to get tired.
someone in page 18 posted a nice list for the Item IDs, the Item codes are ALWAYS identical except for the two codes I mentioned early
https://gbatemp.net/threads/pokemon-brilliant-diamond-shining-pearl-cheat-database.602559/page-18

this is a code for 500 Rare Candies (the one I use myself)
[ Rare Candy x900 ]
580A0000 0472AD60
580A1000 000000B8
580A1000 00000000
580A1000 00000048
780A0000 00000278 <--- 278 IS the ID for Rare Candies
680A0000 00000001 00000384 <--- is my trget number of copies
780A0000 00000008
640A0000 00000000 00010000
 
  • Love
Reactions: lattechan

XLuma

Pkmn Rom Hacker
Member
Joined
Feb 12, 2017
Messages
490
Trophies
0
Age
23
Location
Quebec
XP
642
Country
Canada
sorry if I was a bit harsh, I've been staring at walls of VB code for the past 9+ hours and I'm starting to get tired.
someone in page 18 posted a nice list for the Item IDs, the Item codes are ALWAYS identical except for the two codes I mentioned early
https://gbatemp.net/threads/pokemon-brilliant-diamond-shining-pearl-cheat-database.602559/page-18

this is a code for 500 Rare Candies (the one I use myself)
[ Rare Candy x900 ]
580A0000 0472AD60
580A1000 000000B8
580A1000 00000000
580A1000 00000048
780A0000 00000278 <--- 278 IS the ID for Rare Candies
680A0000 00000001 00000384 <--- is my trget number of copies
780A0000 00000008
640A0000 00000000 00010000
Didn't see that list. I have been using the item table from the game files to match all my stuff. Thanks a lot for the documentation !
 
  • Love
Reactions: lattechan

serenity42

Well-Known Member
Member
Joined
Aug 26, 2019
Messages
180
Trophies
0
Age
38
XP
1,186
Country
United States
wait.. are you saying it's not able to be obtained normally in game? without an online event?
https://game8.co/games/Pokemon-Brilliant-Diamond-Shining-Pearl/archives/349609

BD: Ho-Oh and the dogs can be acquired
SP: Lugia and the birds can be acquired

We do not know the item codes for the individual slates. There are codes for the mysterious shards which I believe are used to get the slates but only for your game.

The person gave you codes to spawn them in the world which you can spawn any of the pokemon in the world anywhere but if you want them legit you have to go through that and get the plates. You can't get the other versions legit yet because there are no codes for the plates, if it's even possible. Might require mods to actually allow the alternate versions plates in game. We don't know.
 

serenity42

Well-Known Member
Member
Joined
Aug 26, 2019
Messages
180
Trophies
0
Age
38
XP
1,186
Country
United States
Not sure if this is possible yet with just codes, but would there a way to add a cheat that changes the scale of following Pokémon like this?

The tweet you linked already makes it clear it's going to be a mod. There will be tons of mods for BDSP due to the games being in Unity making it easier. Highly unlikely this would ever be a cheat due to the complexity and just changing every scale to 1 breaks some things, look at the replies to that with wailord.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Mondooooo @ Mondooooo: what's the fanfic name?