View Single Post
Old April 30th, 2008 (7:14 PM).
silver314 silver314 is offline
    Join Date: Feb 2008
    Posts: 11
    @Derlo and Teh Baro
    I don't currently know how to change shadows, or position of the battle sprites, but I agree that this would be a nice feature. I will add these to my list of things to consider for future versions.

    @Teh Baro
    The game itself just traces back up the evolution tree to determine what a Pokémon breeds to. It does have some special code to make it so that wobuffet must be holding lax insence to produce the first evolution in the tree, but aside from this there is no other table or anything for the breeding info. It's simple backtracking through the evolutions. I did a fair amount of experimentation to ensure that YAPE followed the same basic process to determine this as the game does. I don't have any special notifications for the exceptions like wobuffet though.

    I'll make an attempt at explaining how all of the dex information works and hopefully that will help.

    There are 2 main locations for dex data. One offset has 386 fixed-size entries with height, weight, etc. and pointers to the text data. The text data is stored seperately.
    YAPE does handle updating all of the pointers in these dex entry structures as needed when you modify any text.

    The way that a dex entry is tied to a Pokémon is not through a normal pointer; rather, the dex entries constitute an array with 387 elements and the national dex number of the Pokémon is used as an index into that array.

    The ??? Pokémon you refer to all have national dex numbers > 386, so the game has issues if you catch one as it attempts mark a dex entry as caught that is beyond the size of the array. It is certainly possible to change the national dex numbers of these ??? Pokémon (future versions of YAPE will allow changing of the dex order), but you still have the limitation that all of the dex entries need to be together. Unless you relocate the entire array of dex data, you are still limited to 387 dex entries.

    When you edit a dex entry in YAPE, all that happens is that I look up the national dex number for the selected Pokémon and modify the dex data at that index. Unlike the game, YAPE does do bounds checking and will not allow editing of any data beyond the end of the dex data array.

    If you go to the Pokédex tab for one of the ???? Pokémon in YAPE, you will see that all editing is disabled because there is no corresponding dex entry for that Pokémon.

    Summary: No. You can't just repoint these to some random location in the game because these are not accessed through normal pointers; they are accessed as an array where the national dex number is the index. Future versions of YAPE will let you modify the dex number (array index) used, but if you want more than 387 dex entries, you have to relocate the entire dex data.

    Also, I'm putting together some technical documentation on the side which will have answers to these sorts of questions. I'll be releasing it when I get it finished for anyone who's interested.

    Reply With Quote