Jump to content

StarsMmd

Innovator
  • Posts

    710
  • Joined

  • Days Won

    3

Everything posted by StarsMmd

  1. At the behest of @greenDarkness I have created a patch for Pokemon : Gale of Darkness which splits the moves between physical and special as in gen 4. Everything else has been left unchanged as much as possible. Shadow moves will keep the same category as in the original and regular moves are based on their categories in the later games. Apply the patch to a clean ISO of Pokemon : Gale of Darkness. If tsukuyomi doesn't work, try NUPS. Enjoy! _phys_spec_split.ups
  2. I haven't played much battle revolution myself but I doubt the rental pokemon are affected by save data. I took a look at the game files a few months ago and I made a start on researching the actual game data which probably includes rental pokemon somewhere. It's all straightforward enough to edit but it's just been a low priority for me since I'm focusing on :GoD hacking for now.
  3. Just noticed the thread's title doesn't have the word "Randomiser" in it.
  4. 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
  5. It's good to see you've made some progress! I don't know if you're doing this already but I have some advice from trying to reverse engineer pokemon data. What I'd do in your situation is to copy the save data, delete the first 0x980 bytes ( I think that's what you said was the start of the pokemon data) and then change the bytes per row in HxD to 140. By doing this, each row in HxD will represent one pokemon's data. That will make it a lot easier to compare and contrast between them. It would also make it check if the 2 bytes issue is happening and how often it happens. Also, I'd still recommend posting on the forums because it's a good way to archive the information for anyone who may stumble across it in the future. It also means other people can jump in and help. I got a lot of great help from so many people with so many different skillsets.
  6. 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!
  7. 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.
  8. 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?
  9. 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."
  10. So the original post has a link to the source code. You need to download that code, compile the code and then run the program with the save file in the same folder and the save file should be named "PbrSaveData" unless you change the source code. If that doesn't make sense to you then you can send me the file and I'll try running it and sending the decrypted file back your way if it all works out.
  11. I see. The easiest way would probably be to look at the 6 memory addresses for the opponents team and count how many of them have data in them. Is that something you could do?
  12. To fix the shiny glitch, set the value at RAM address 0x8014416c to 0x38600000. This will make the game calculate all shininess based on a trainer id of 0 and secret id of 0 regardless of the pokemon's OT. If you'd like to put that in as a gecko code it would be : 0414416c 38600000 . The address is from the emulated RAM in dolphin debug mode but I'm not sure exactly how that translates to cheat engine. As for the HP, is that your program keeps writing to the memory address? I'd imagine you could keep track of every time the opponent's pokemon has changed and if it's a new pokemon then write to that address once. When you say the battle lasts forever, why exactly doesn't it end?
  13. Yeah I have plans to do so very soon and I'll be sure to give you a shout out!
  14. I'd presume that you have to run the save file through the decryption code to get it in a readable format. Otherwise it will just look like a bunch of random values with no real meaning. You have the right idea though. You'd want to look at the decrypted save data and figure out where everything is. E.G. First pokemon is at offset 0x100. First 2 bytes is the species, next byte is the level, next byte is it's nature, etc. With that information it's easy to write programs to modify that data.
  15. I can't wait to try it out when it's done! I've never used cheat engine but I'll look into it and see what I can do. I normally use dolphin debug mode to view the ASM code and then locate that code in the game files and edit them in ROM. I can give you the memory address in Dolphin's RAM and what to change it to if that helps. Yeah ASM isn't too bad once you get the general idea. There is a really great tutorial on hacking super smash bros ASM which is really useful. The combination of this and general programming knowledge should be enough and you can ask me if you need any help too .
  16. 1. Basically the other important ones are mt. battle and colosseums. I think that the mt.battle file is only loaded when you're on mt.battle and the colosseum data only when you're in a colosseum. I think when you say 2 slots, you mean how there are 2 copies of the trainer data? In the game files there are 2 copies of each "deck". For example, in story mode there is deck_story.bin and deck_story_EU.bin. I presume the EU one is loaded in the european versions but they're exactly the same data so their purpose is currently unknown to me. However, I know for sure that it has no effect on the US version and the EU one can be ignored. I'm not sure how you can figure out which one is the useless one in RAM but maybe you could find it by trial and error. I've actually deleted all the data in the EU files and the game still runs just the same. 2. That's okay then. Oh also, the miror b. shadow dragonite even is triggered once you've caught exactly 82 shadow pokemon and visit gateon port. Randomising the shadow pokemon means it could be triggered early and it could mess with some flags but I'm not really sure what might be affected if anything. 3. Yeah I set the function to calculate with 0 regardless of the trainers' ids so it stays consistent. I think it won't persist through trades but they probably aren't worth trading anyway. did you set the pid to 0xFFFFFFFD because that makes it shiny? You can actually change a value somewhere in one of the ASM routines so that the game just recalculates the pid until it's shiny, allowing the ability, gender and nature to still be random. I can track that down for you if you'd like. Oh and I have a symbol map from dolphin saved with all the functions I've found being named for convenience. Remind me to send that to you some time. How good is your ASM? I know a good tutorial for ASM hacking in dolphin and since it's all in RAM you could do some really cool stuff by playing around with the functions.
  17. I have no idea actually. I'm a n00b at this stuff myself. Maybe google knows?
  18. It's in the settings somewhere. There's an option to edit your signature.
  19. Is that actually the first hack for explorers of sky? I thought the mystery dungeon hacking scene was pretty far along. That's really impressive. I actually haven't played mystery dungeon since mystery dungeon red though and I'll definitely be going back to that series eventually. I'd love to play this once I've finished the originals though oh, you can try putting it in your signature to help promote it because I think a lot of people would be interested in it.
  20. Tux doesn't appear on the forums very often and I'm not even sure if he's still working on this or even planning on making a program at all. Looking at the RAM probably won't help since the save data will most likely be in a slightly different format. However, the first post has code for decrypting the save file. You could start by creating some save files with known data, decrypt them and see if you can figure out the data formats like how the pokemon are stored. Tux mentioned where to find them but didn't go as far as figuring out which bytes correspond to which values. If you could figure that out then making a program to edit them would be a trivial process.
  21. That sounds extremely useful. Nice find! Interestingly enough, most people have said that XG was too easy! The aim was to make it more challenging but how hard it is really depends on your play style. I've watched many playthroughs of XG (and too) and played through many times myself. As you mentioned, probably the best way to play XD/XG is to have 1-2 shadow pokemon in your party since they completely wall opposing shadow pokemon. It's precisely because of how easy they are to wall that they've been made monstrously strong in XG. I also saw a stream by PinkOnion where he made light work of the game with prankster sleep powder on jumpluff. Paired with a fakeout user it was unstoppable! Shadow jirachi is also really good for the end game shadows. It is possible to go through the game without grinding at all if you use the lucky egg and exp share carefully and don't fill your team too quickly but has Mt.battle in it just for grinding. The starting levels of Mt.Battle are increased so it's really easy to get back on the level curve if you fall behind. There are also colosseum battles and the duel square. Another thing to note is that, as with the original , a lot of the shadow pokemon have increased catch rates so while a lot of the legendaries might look intimidating because you know their real catch rates, they are actually far easier to catch than you'd think. Of course, I know the game inside out by now so I know all the little tricks to the game. I'm not sure I agree on a few points like having no way of making easy money. I also disagree that you have to use specific pokemon. I put a lot of effort in to make each pokemon as useful as possible and I've seen all kinds of pokemon in all kinds of playthroughs. In Jetsplit's playthrough his team was constantly changing throughout. I've watched PinkOnion tear through XG 3 times in a row so it's refreshing to see that it does have an increased difficulty after all. I'm sorry if it wasn't to your liking but hack tools are coming soon so if you ever do come back to XG feel free to tweak the game to your liking
  22. I haven't used gcbanner in a while and I'm not sure if I still have a link to the tutorial I used . I'll see if I can figure it out though. Please do remind me if I forget though. The quickBMS scripts are in the first post, I'll move them to the top so they're more obvious
×
×
  • Create New...