Jump to content

Jiggy-Ninja

Former Staff
  • Posts

    326
  • Joined

  • Last visited

Everything posted by Jiggy-Ninja

  1. Have you even read the rest of the posts? (Emphasis added)
  2. Unfortunately, I don't think so. The AR seems to freeze for codes that are too big, around the size of 15 Pokemon. If that problem didn't exist, and if the homebrew could be made to run totally off the DS's RAM, then yes, theoretically it would be possible. Even then it might be extremely difficult, since the game might have to be intercepted a the right moment. Theoretically, yes it is possible. Practically, no.
  3. You could have done a better job separating that from the number. Being next to 02 00, I thought FE was a hex number too, not an abbreviation. The fact that it happens to be 254, the number used to denote an all female Pokemon in the base stats and that you were discussing the gender of an all female Pokemon didn't help any either. Remember, we aren't mind readers. 0002 is in big endian, not little. 02 00 is the little endian form. Remember, big endian is like our normal English number system. The big numbers come first. We write the 100s place before the 10s. Whenever you want to add 0s to an integer without changing its value, you always add them in the direction of most significance. For numbers written in big endian, most significance is to the left, so you add leading 0s. For little endian, it's the opposite, you add trailing 0s. Also, you have your flags backwards. 0002 means that the "Fateful Encounter" flag is false (since bit #0 is 0) and the Pokemon is female (since bit #1 is 1 and bit #2 is 0).
  4. Why are you trying to print the numbers in binary anyway? I'm having a hard time following exactly what you are trying to do right now. What "file" are you looking at? A .pkm? Where is the FE 02 00 coming from with Chansey's example?
  5. All right! I was able to get Qt to at least recognize when I was dragging something. When I was dragging, I could make any Pokemon I dragged over turn into Arceus. However, I haven't been able to get it to recognize a drop yet. I'm trying to make the Pokemon I drop into turn into an Unown. EDIT: I've gotten the drag and drop functionality working well. I can drag Pokemon around the box, and even drag .pkm files from the file system into the program. Dragging them out of the program into the file system though will take a bit more time. There's still a lot more work that needs to be done before this is a usable feature, but it's getting there. Progress feels good.
  6. Binary operations should still work on normal integers, since all computers store data in binary. If you would like to study C++ source code, PPSE is written in C++. You are also free to contribute to it if you want to. It'd be great having someone else besides me working on it. If you think it'd be too much for you, I have had exactly 0 formal programming training. All of my knowledge comes from books, online tutorials, documentation, and asking helpful people questions, like you're doing now.
  7. You have bit dyslexia again. Little Endian has the least significant bits on the left side. It's the exact opposite of our normal number system, which is Big Endian. You're color coded diagram is written in Big Endian.
  8. There are two sets of checks that PPSE uses when loading a save file. 1) First and foremost, it checks the file size to make sure it is exactly 0x80000 (524,288) bytes . If it's even 1 byte smaller or larger, it labels it Invalid. 2) Based on my reading of this (SCV unfortunately doesn't use comments in his code), it appears that it then checks 8 locations in the save file. The block size in the small and large block footers (using DP offsets), the same data in the second half of the save, and a repeat of the previous data using Platinum locations instead of DP's. It then tests those locations to make sure that they have the proper block sizes. Depending on which set (if any) has the proper sizes, the save is either labeled as DP, Pl, or Invalid. If your save is being labeled as Invalid, then it must be failing one of the above two checks. I do not know what Pokesav would be changing that would mess up the checks.
  9. It's likely that there's a manual check before or after the PID calculation that checks the Pokemon's If you think about it, there already has to be a check for 255 to make the Pokemon genderless. It's not that farfetch'd to think there's another check for 254, the all female value.
  10. Yes, assume the leading 5 digits are 0. For Lugia, the 255 is a reference to the gender value that is part of the Pokemon's base stat structure. IE, it's the same as the 31 is for Charizard. It is not what the p % 256 needs to output. Pokemon with 255 as their base gender value will always be genderless, regardless of what p%256 outputs. Pokemon 254 as the gender value will always be female.
  11. You shouldn't be able to load a ROM, their file extensions are different. And even if you changed the extension, loading a ROM file should result in an Invalid result.
  12. Garage Band? That's all I can think of.
  13. Used to play clarinet. Haven't touched it in a few years.
  14. Update UI creation is progressing nicely. I was able to replicate the basic concept behind Codemonkey's way of organizing Pokemon. Screenshot: It's mostly nonfunctional, but I am able to read Pokemon data from the save file and display it on the screen. What you're seeing there is Box 1 of one of my Plat saves. There's still a few kinks that need to be ironed out, like making the picture boxes transparent. The way it looks now is just ugly. I've also found a Qt book that describes how to do Drag 'n Drop, so after I read that section over several times and slowly digest that information, I'll be able to add that functionality to the program.
  15. The theme "Site Theme" doesn't have links to Site, Forum, Wiki, Chat, etc that I can find. Those should be added. Furthermore, I think "Site Theme" should be made the default theme instead of "Suicune Blue". It makes the site and forums seem more unified when they have the same theme. Plus, I just can't stand Suicune Blue. There's so little contrast sometimes between the background and links that I have to strain my eyes to read them. Not a good thing to have in a default theme.
  16. I believe he's talking about the dots that mark the Pokemon you are selecting to transfer to Pal Park.
  17. "Bits 0-29 - Individual Values HP ( [0-31] << 0 ) Attack ( [0-31] << 5 ) Defense ( [0-31] << 10 ) Speed ( [0-31] << 15 ) SP Attack ( [0-31] << 20 ) SP Defense ( [0-31] << 25 ) Bit 30 - IsEgg Flag Bit 31 - IsNicknamed Flag " From the wiki article, this is how IVs are stored in a Pokemon. Each IV is exactly 5 bits. The list above shows how far that value is shifted up from the bottom. In order to access that IV data, you need to shift it back down the same number of bits. That's where the >>(s*5) comes in. You also need to get rid of any bits that aren't part of the IV you are looking at. That's what & 0x1F does. & represents a bitwise AND operation. Basically, the two numbers being operated on are placed side by side, and each corresponding bit is compared and a new number is generated based on the result of that comparison according to the following table. 1 & 1 = 1 1 & 0 = 0 0 & 1 = 0 0 & 0 = 0 Basically, X & 1 = X, and X & 0 = 0. 0x1F represented in binary is 11111. When the bitwise AND operation is done, the bottom 5 bits of the other number are kept the same, and the rest is changed to 0. That way, you can look at the IV and only the IV.
  18. If you are just attempting to read a Pokemon's IVs, that page is not the best to help you, since its topic is about how a Wild Pokemon's IVs and PID are generated and how this can be exploited to discover a relationship between the Pokemon's PID and IVs to detect hacked Pokemon. This page is more useful: http://projectpokemon.org/wiki/Pokemon_NDS_Structure When using a bit shift, you do not need to convert the number to binary since it is already binary in the computer's memory. A simple function to get stats could be like this: ( IV>>(s*5) ) & 0x1F Where s is 0-5 depending on: 0 = HP 1 = Att 2 = Def 3 = Spe 4 = SpA 5 = SpD
  19. That's what I planned on doing. The problem is that VB and Qt aren't directly compatible, so even though I have the source for his program, I still have to recreate it from scratch using Qt's tools.
  20. Today I was able to successfully read Pokemon from a Platinum save file, both the Party and Box. Yay! Now what we need is a GUI.
  21. I've thought of that a couple times too, but was busy with other things so I didn't look into it. Now that I have... If you use the Seen/Caught form to set a female only Pokemon like Jynx as "Seen", it does not automatically set it's gender flags. Furthermore, there is no way of setting the gender correctly without going to the Individual tab and checking Seen off then back on again. I shall fix this oversight now. I'll also be rewriting how the Pokedex is saved back into the save file so that when we get around to it, ARDS code output will be much easier. As a consequence of this rewrite, it'll also be easy to add a feature to import/export the Pokedex to it's own file, just like a .pkm. I'm thinking .pdx would be a good extension. Would anyone have any use for this feature?
  22. Unfortunately, VB (which is what this program is made with) and Qt C++ (Which is what PPSE is made with) are not directly compatible. However, SCV and I shall try to the best of our ability to replicate this program's method of organization, for it is far too awesome to not steal.
  23. When do you plan on releasing this awesome tool? Sometime between noon of tomorrow and the next super nova of a star in the local cluster of the milky way.
  24. Right now, PPSE only works with raw save files. Other save types, if they're to be added, will be done later if we can figure out how to convert them to the raw format. Evandixon kindly gave us the source to his save converter, so we have information about .duc. I don't know if SCV has information on other formats though.
×
×
  • Create New...