Jump to content

Pokemon XD: Gale of Darkness Randomizer TEASER Video


Reclaimer Shawn

Recommended Posts

Yo this looks really good G! I tried following the link to your gecko codes you link in all your videos but it says "Sorry, but only users granted special access can read topics in this forum."

Hey, do I enter that code as a Gecko Code or an AR Code? I also looked in Cheat Engine and seen a value after the code was enabled constantly being changed back and forth between several other values and 0x38600000 There was one other spot, but it just stayed the same and changed when I worte to it on CE(with an infinite write code it should've been frozen.)

Link to comment
Share on other sites

Hey, do I enter that code as a Gecko Code or an AR Code? I also looked in Cheat Engine and seen a value after the code was enabled constantly being changed back and forth between several other values and 0x38600000 There was one other spot, but it just stayed the same and changed when I worte to it on CE(with an infinite write code it should've been frozen.)

Yeah sorry I meant it's a gecko code. I have no idea why the value would keep changing though. Are you sure it's the right address because 0x38600000 is a pretty common value.

edit: oh maybe you need to put in a master code?

Link to comment
Share on other sites

Yeah sorry I meant it's a gecko code. I have no idea why the value would keep changing though. Are you sure it's the right address because 0x38600000 is a pretty common value.

edit: oh maybe you need to put in a master code?

I'll get on to that in a little while. Something to ask though, considering you have a symbol map for the game... Is there a way to check if a Pokemon battle is underway? I have a part of my code that allows pokemon to only be randomly generated an X number of times so a battle can end. But, I want to reset that number to 0 the very second a pokemon battle ends or begins. If you have an address or reference of some kind, I would like to use it.

EDIT: I found the Glitch fix address and included it in the trainer. Gamecube stores values differently than a normal computer. A value stored as 0x38600000 is stored as 0x00006038 in a computer's memory. CE was reporting back what it would typically be in a computer, so I searched the value 0x00006038 instead and I found the address. In CE, the address is 0x8013416C

Link to comment
Share on other sites

I'll get on to that in a little while. Something to ask though, considering you have a symbol map for the game... Is there a way to check if a Pokemon battle is underway? I have a part of my code that allows pokemon to only be randomly generated an X number of times so a battle can end. But, I want to reset that number to 0 the very second a pokemon battle ends or begins. If you have an address or reference of some kind, I would like to use it.

EDIT: I found the Glitch fix address and included it in the trainer. Gamecube stores values differently than a normal computer. A value stored as 0x38600000 is stored as 0x00006038 in a computer's memory. CE was reporting back what it would typically be in a computer, so I searched the value 0x00006038 instead and I found the address. In CE, the address is 0x8013416C

Unfortunately I haven't found a function like that yet. Glad you found the address though and yeah gamecube is in big endian didn't realise cheat engine was searching in little endian but it's good information for future reference.

Link to comment
Share on other sites

Unfortunately I haven't found a function like that yet. Glad you found the address though and yeah gamecube is in big endian didn't realise cheat engine was searching in little endian but it's good information for future reference.

As of right now, I'm searching for such a function. To ask, is there an address that holds the index of the currently battled trainer? If there is, I can just compare when the value has changed(I tried comparing strings, but it updated so fast the part of my code that allowed things to be randomized again wasn't able to execute before it needed to) If I have to(in a last resort) I'll just make a hotkey that syncs the current pokemon being battled to what their generated base value is. They'd have to press it EVERY time a pokemon is sent out, but that would correct the issue. However, I want things to be automated.

Link to comment
Share on other sites

I think I've found something that can help. So at RAM offset 0x804eb910 the game stores the id of the trainer you are currently battling. This value is set just before the battle starts and is reset to 0 straight after the battle ends. However, the code I got the offset from calculates the offset rather than using a predetermined offset. From the few tests I've done it always calculates the same offset but it's not 100% confirmed so you'll need to double check that it's the same offset for you. It looks promising though.

Let me know how it goes!

Link to comment
Share on other sites

I think I've found something that can help. So at RAM offset 0x804eb910 the game stores the id of the trainer you are currently battling. This value is set just before the battle starts and is reset to 0 straight after the battle ends. However, the code I got the offset from calculates the offset rather than using a predetermined offset. From the few tests I've done it always calculates the same offset but it's not 100% confirmed so you'll need to double check that it's the same offset for you. It looks promising though.

Let me know how it goes!

Thank you! Something I've noticed... Pokemon :XD: Values in CE(from what I've seen) are always 0x10000 addresses off. I finished it as well. I'll call it a BETA for right now because it still has a kink or two. For instance, the graphic part of the pokemon is not always changed. Thank you for all the help though!

Link to comment
Share on other sites

Thank you! Something I've noticed... Pokemon :XD: Values in CE(from what I've seen) are always 0x10000 addresses off. I finished it as well. I'll call it a BETA for right now because it still has a kink or two. For instance, the graphic part of the pokemon is not always changed. Thank you for all the help though!

The values I gave you are for the emulated RAM for the gamecube whereas cheat engine looks at the RAM for Dolphin itself so I'd assume the first 0x10000 are memory addresses for dolphin's processes. It's a good value to know to make it easy to translate between the two. Can't wait to see the results :)

Link to comment
Share on other sites

The values I gave you are for the emulated RAM for the gamecube whereas cheat engine looks at the RAM for Dolphin itself so I'd assume the first 0x10000 are memory addresses for dolphin's processes. It's a good value to know to make it easy to translate between the two. Can't wait to see the results :)

The program is now released to the public. And a video was done over it! You can find the video here:

 

Also, you should know that the names of the people in the credits cycle for trainer names. A trainer's name can randomly become yours at one point in the game! Now if anyone tries to credit steal, they have a nice little surprise... That, and it pays homage to the people that made this possible :)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...