• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Tool: Complete Item Editor

I be fair ok? I did not have posted in PC the version 0.2.1. So the bug with selectedindex is already fixed. I didnt know of the wrong format of PP-UP. So this bug isnt fixed.


When you've think that thats the biggest problem that struggeles me, i post an update where everything is for you in english. Ok?

Its not just ppup, its any item that does nit take a value but does alter happiness... or any item that alters happiness but not all 3 happiness ranges. The reading of the bytes should be dynamic, depending on what is already there, no static reading of a number of bytes.

Also you failed to give me the bugs you found in my tool...

And I dont really care if your tool is in english or not, its your perogative. Publish it in any language you desire. (Hence the "not to mention" part, cause its not really a glitch)
 
Still struggling with compression/image loading? I have some code written in C that can help, but it is under the GPLv3 - I don't know if that's a problem.
 
Still struggling with compression/image loading? I have some code written in C that can help, but it is under the GPLv3 - I don't know if that's a problem.

I dont know if struggling is the right word lol... its more like gave up and moved on lol. Put it on the back burner for another day.

My goal is to have a method that takes a string offset and returns a bitmap object that will be put in an imagebox...

I have several code written by other people handling the decompression. Then i have to figure out how to turn it into bitmaps

Then allow the user to edit it as desired (or import a new one)and import it back(repointin done automatically)
 
Sounds like you're having a problem with image codecs as opposed to compression. Here is a function I've used to convert the groups of 8x8 tiles to a linear image. It assumes you have already deindexed the image to an array of 32bit RGBA pixels, but any array of pixels should do.

Code:
int detile(uint32_t *tiles, int length, int width, uint32_t *output) {
    int i, x = 0, y = 0, j = 0, k = 0;
    int tile, pixel;

    for (i = 0; i < length; ++i) {
        tile = i / 64;
        pixel = i % 64;

        y = tile / width;
        j = pixel / 8;
        x = tile % width;
        k = pixel % 8;

        output[((y * 8) + j) * width * 8 + (x * 8) + k] = tiles[i];
    }

    return 0;
}

It's not optimized, it should be easy to read.
 
Major bug: When I try to open this on my computer, it crashes (says it stopped working) as soon as I open it, and gives me the option to send statistics to Microsoft, of which I declined. It won't even open. This tool looks promising, so any help would be appreciated.
 
Major bug: When I try to open this on my computer, it crashes (says it stopped working) as soon as I open it, and gives me the option to send statistics to Microsoft, of which I declined. It won't even open. This tool looks promising, so any help would be appreciated.

Im going to need some more info... what OS are you using? and can you screenshot the entire error message?
 
Using windows 7 OS. Not really much to see in a screenshot, it just says the program has stopped working before it even starts.
 
I use Win 7 but when I try to open it, it don't even open.Its displayed shortly in the Task manager, then it disapeard.What should I do?
 
Hey there. Doesn't seem like the evolution stones work. I am copying the exact same format that the leaf stone has and I am putting it on the space below it. Everything seems fine, but I have had mixed results; but the basic outcome is it will work, but level my pokemon up to a random level (usually level 100), or it will just stay stuck on the evolving screen, a black screen, or anywhere in between. (hitting the trigger buttons still gives the help prompt, so its not frozen)

I can assure you I'm going into the usage and the more usage to set everything.
 
Last edited:
Hey there. Doesn't seem like the evolution stones work. I am copying the exact same format that the leaf stone has and I am putting it on the space below it. Everything seems fine, but I have had mixed results; but the basic outcome is it will work, but level my pokemon up to a random level (usually level 100), or it will just stay stuck on the evolving screen, a black screen, or anywhere in between. (hitting the trigger buttons still gives the help prompt, so its not frozen)

I can assure you I'm going into the usage and the more usage to set everything.

are you actually allowing your pokemon to evolve with this stone (this requires a tool like yape or other pokemon editor).

I will try to duplicate your results and if I find glitches, fix them...

if anyone else is having this issue (or NOT having this issues, either is helpful) feel free to let me know here.
 
are you actually allowing your pokemon to evolve with this stone (this requires a tool like yape or other pokemon editor).

I will try to duplicate your results and if I find glitches, fix them...

if anyone else is having this issue (or NOT having this issues, either is helpful) feel free to let me know here.


Yes, I'm using Gen 3 suite to allow the pokemon to level up via evolution stone w/ the new stone in question. The game recognizes that its an evolution stone. It shows the correct graphic on the stone, correct description. It allows me to use it on said pokemon. When I use it, various things happen. I haven't had a successful clean evolution from it. Usually it WILL work, but it will boost my pokemon to a random level, or if (I'm assuming) the level is too high, it causes the game to loop and more or less freeze. (I'm using Fire Red btw)
 
Yes, I'm using Gen 3 suite to allow the pokemon to level up via evolution stone w/ the new stone in question. The game recognizes that its an evolution stone. It shows the correct graphic on the stone, correct description. It allows me to use it on said pokemon. When I use it, various things happen. I haven't had a successful clean evolution from it. Usually it WILL work, but it will boost my pokemon to a random level, or if (I'm assuming) the level is too high, it causes the game to loop and more or less freeze. (I'm using Fire Red btw)

For testing purposes, I too used this program to see how user-friendly it was... Extremely user friendly, by the way, so props to you... However, I also encounter this level-change effect. I turned the blank Item Slot beneath the Leaf Stone into a Dawn Stone. Before I was going to implement it, though, I had to test to see if the stone would evolve a Pokemon or cause some sort of glitch.

The effect it had I did not expect.
This is the order of events:

1) Created Dawn Stone.
2) Registered Bulbasaur to have a split evolution to evolve into Vee, Pokemon #387. (Don't ask, this was just for testing purposes)
3) Created an event to give me the National Dex as well as the Dawn Stone so that Bulbasaur could actually perform evolution.
4) Proceeded to open the Rom to test.
5) Activated the script.
6) Received the Dawn Stone and National Dex.
7) Realized the guy was giving away infinite free Dawn Stones.
8) Made a note to fix that.
9) Took a hundred free Dawn Stones because why not?
10) Opened my bag and clicked on the Dawn Stone to use it.
11) Selected my Lv. 6 Bulbasaur.
12) Bulbasaur evolved successfully into Vee.
13) Checked Vee's Level.
14) Vee was Lv. 4.
15) Restarted the Rom
16) Repeated from step 5
17) Same results
18) Repeated from step 5 again.
19) Same results.
20) Restarted the Rom
21) Leveled up Bulbasaur to Lv. 7 before evolving again.
22) Evolved Bulbasaur.
23) Vee was Level 5.
24) Repeated from step 20.
25) Same Results.
26) Restarted the Rom.
27) Leveled Bulbasaur up to Level 8.
28) Evolved into Vee.
29) Checked Vee's Level... Level 6.
30) Proceeded to write this in-depth 30 step process list for your viewing displeasure.

It should be noted that I am using the "Gen III Hacking Suite"... AKA "The Lord of the Tools". Also, Day&Night has been implemented on my rom. My map editor atm is A-Map, until ShinyQuagsire finishes the Map Editor of Happiness, or MEH. And my script editor is PKSVUI. My Emulator is VisualBoy Advance. I have yet to proceed to use an image editor due to hoping one of the tools I am presently using will implement a full-function image editor into their system. (If that point doesn't come, then I will be using Overworld Editor Rebirth.) The lack of image-editor is noted just for completeness.






EDIT: Oh, by the way, if at any point you figure out what is changing the levels of our Pokemon, Let me know. I want to implement a script that forces all of the player's Pokemon to become a lower Level if they are at a certain Level or above. (i.e. make a permanent change to all Pokemon over Level 50, making them become Level 50.) This script is going to be used for preventing a player from having a team of Level 100 Pokemon and just clearing event after event with no trouble.

EDIT: I feel it should be obvious, but just in case, the events I'm referencing are post-game events.
 
Last edited:
For testing purposes, I too used this program to see how user-friendly it was... Extremely user friendly, by the way, so props to you... However, I also encounter this level-change effect. I turned the blank Item Slot beneath the Leaf Stone into a Dawn Stone. Before I was going to implement it, though, I had to test to see if the stone would evolve a Pokemon or cause some sort of glitch.

The effect it had I did not expect.
This is the order of events:

...

Thank you so much for this... I tore into it and believe I found the issue...

What I had done is a simple stupid oversight. In my tools you only really need to type 6 digets of the 8 digit offset, this is to alleviate the problem of so many tools using so many different formats (some want an 00, others want an 08 and others still just want 6 digits) so if the user typed 00 or 95 or whatever as the last 2 digits, it is not even looked at and 08 is what is placed there. so in reality my tool only reads 6 digits and automatically puts the 08 on there for you. (yes I know all you hack extenders are screwed)

but for this particular offset, I forgot to put the 08, I read the 6 and printed the 6 to the game but forgot to add the 08... so the game froze up(sure it ddnt know where to go)... WHY ON EARTH WAS IT REMOVING LEVELS... idk

version 2.4 is now up and please inform me if you have any other glitches.
 
Thank you so much for this... I tore into it and believe I found the issue...

What I had done is a simple stupid oversight. In my tools you only really need to type 6 digets of the 8 digit offset, this is to alleviate the problem of so many tools using so many different formats (some want an 00, others want an 08 and others still just want 6 digits) so if the user typed 00 or 95 or whatever as the last 2 digits, it is not even looked at and 08 is what is placed there. so in reality my tool only reads 6 digits and automatically puts the 08 on there for you. (yes I know all you hack extenders are screwed)

but for this particular offset, I forgot to put the 08, I read the 6 and printed the 6 to the game but forgot to add the 08... so the game froze up(sure it ddnt know where to go)... WHY ON EARTH WAS IT REMOVING LEVELS... idk

version 2.4 is now up and please inform me if you have any other glitches.

3 things:
1) Wait... I was actually helpful?!? WOAH!
2) So, how would I be able to implement a mass-level altering script in my hack, in theory? If you don't have any idea, I fully understand. I just was hoping you'd know after you corrected this issue.
3) I'm downloading the update now. I'll edit this and/or reply when I have an update. EDIT: I'm still getting the Level Down effect. Either way, it's just a minor annoyance. I'm sure if I warn people in advance that nobody will mind too badly. I'm also going to try and alter a piece of mail and see if the fact I'm working with a black space may be the issue. After all, that is a core similarity with the bug after all. I'll edit again when I have more to say. EDIT2: Nope, no difference.
 
Last edited:
3 things:
1) Wait... I was actually helpful?!? WOAH!
2) So, how would I be able to implement a mass-level altering script in my hack, in theory? If you don't have any idea, I fully understand. I just was hoping you'd know after you corrected this issue.
3) I'm downloading the update now. I'll edit this and/or reply when I have an update. EDIT: I'm still getting the Level Down effect. Either way, it's just a minor annoyance. I'm sure if I warn people in advance that nobody will mind too badly. I'm also going to try and alter a piece of mail and see if the fact I'm working with a black space may be the issue. After all, that is a core similarity with the bug after all. I'll edit again when I have more to say. EDIT2: Nope, no difference.

really no difference, cause it worked for me with no level drop...

lets theorize about why it might mess with the levels...
every bit of this is speculation:
originally it was being sent to a place in the rom with the 00 heading, perhaps in that area is where the level was stored for a split second and was being tampered with...

now lets say that since you found no difference... that everything I just speculated about is way wrong...

I looked at the hex bytes edited for the leaf stone and a dawn stone (made just like the leaf stone) and BOTH bytes were exactly the same excluding that one 08 being a 00 (and the offsets for the description and such), which is how I noticed how to fix my code...

make sure that when you hover over the icon for the .exe file it says version 2.4... and if so... Ill keep digging...

thanks

P.S. I wouldnt have the foggiest idea as to how to delevel pokemon down to 50 (willingly or automatically) but it would be totally useful. I wanted to make a pokeball that deleveled pokemon (and devolved them if needed) so trainers could catch level 50 legendaries and train them up from say 10... or catch a superpowered 3rd evolution and train it up from its 1st evo... but I never looked into it that hard... its gotta be doable but probably requires some ASM.
 
Last edited:
really no difference, cause it worked for me with no level drop...

lets theorize about why it might mess with the levels...
every bit of this is speculation:
originally it was being sent to a place in the rom with the 00 heading, perhaps in that area is where the level was stored for a split second and was being tampered with...

now lets say that since you found no difference... that everything I just speculated about is way wrong...

I looked at the hex bytes edited for the leaf stone and a dawn stone (made just like the leaf stone) and BOTH bytes were exactly the same excluding that one 08 being a 00 (and the offsets for the description and such), which is how I noticed how to fix my code...

make sure that when you hover over the icon for the .exe file it says version 2.4... and if so... Ill keep digging...

thanks

P.S. I wouldnt have the foggiest idea as to how to delevel pokemon down to 50 (willingly or automatically) but it would be totally useful. I wanted to make a pokeball that deleveled pokemon (and devolved them if needed) so trainers could catch level 50 legendaries and train them up from say 10... or catch a superpowered 3rd evolution and train it up from its 1st evo... but I never looked into it that hard... its gotta be doable but probably requires some ASM.

I'll do some toying around with things on my end. It may be a corruption with my rom as well, which would be horrible since I've spent every day this past week making an entire actual town for the starting town, unlike the typical 3 buildings that we get in the starting towns. IF that is the case, then I'm flipping done with this hack... XD But in all seriousness, I'll try to see what I can do.

Also, what I wanted to do with the delevelling script was make the bad guy from the first part of the story press a button to weaken your Pokemon, handicapping you for the second part of the story thus causing you to have to do the tasks without me having to make every opponent's Pokemon be Level 100 with 6 Pokemon teams... Plus I want to make a specific mini-boss have this nasty little side-effect where if you lose to him/her/it... your entire team drops by 5 Levels. I even intend on having Lance step in maybe to warn you not to try it because of what happened to his Dragonites. (FINALLY! An explanation to why he seemed to be hypocritically condemning Team Rocket's mission to force Evolve Magikarp before Level 20!)

EDIT: Okay, so I just got done re-testing... I am still having the same issue. This time, I did it from a clean FireRed English ROM. I still used the hacking suite, but strictly to change Bulbasaur's evolution to Espeon (Since I was going to have Eevee evolve from a Dawn Stone as I don't know how to make Eevee evolve else-wise in FireRed, unless adding an RTC does that, but idk). There were no edits to this ROM except for making Bulbasaur evolve via Dawn Stone into Espeon and receiving the Dawn Stone and National Dex (as I'm 99% certain Espeon is Gen 2, but you know, I could be wrong :P) I leveled up Bulbasaur when I beat Green, so Bulbasaur was L6... The interesting thing is, I think I know what the issue that is being created is... When you evolve Bulbasaur, the Dawn Stone's code is attempting to do what an evolution stone is SUPPOSED to do: Evolve the Pokemon and make no other edits to the data besides letting the stats change appropriately. I didn't notice this before, but the difference between Vee and Bulbasaur was minimal as far as the stats went. (The Espeon Bulbasaur evolved into was Level 5 by the way ALMOST ready to Level up, it just needed like 15 EXP or so).

I think what your Program's man-made evolutionary stone is doing is this: It's analyzing the data of the original and the new Pokemon (Bulbasaur and Vee[v1]/Espeon[v2]) respectively. It sees the values of their stats and tries to keep the stats similar as opposed to the Level and as a result is creating a level slide, as is typical when you compare base stats of a Basic Pokemon to the Base Stats of a Stage 1 Pokemon and try to find an equivalence in Power. In the case of Vee, the level slide was more drastic than with the (sorta) Legitimate Espeon because Vee's stats were created based on an equation that made its base stats slightly better than the average of the 3 Gen 1 Eeveelutions. This made the level slide more drastic as a Bulbasaur won't have higher base stats than the equivalence of a Stage 2 (which Vee was almost at that value for its base stats). So, try having Bulbasaur evolve into Espeon and test your Dawn Stone and see if you get the same results. If I'm correct... We may have gotten close to figuring out a way to create a (sort of) level slide mechanism.

Anyhow: post what the Hex Code you see for the Dawn Stone and Leaf Stone respectively are. Be sure to label the two codes for those of us who are Hex illiterate/very very partially literate so we know what code is what. Maybe the little Hex I know will be enough to figure out what byte is messing me up IF you get the issue too. You may have had your Bulbasaur set to evolve to something with near-similar stats which may explain why it seemed to work normally, or if you evolved it into Ivysaur, it may have read the data as being the normal progression of evolution which would cause it to evolve normally... at least in theory.

EDIT AGAIN: Okay, even more data, I may be wrong too. I just tried again, this time before I battled Green. For a Bulbasaur that is still L5 (unleveled), it evolved into an L5 Espeon. No change as far as Level goes. This makes me question if the issue lies in the stone itself or if maybe there's an issue with a seemingly unrelated series of bytes? A L5 Bulbasaur evolved flawlessly. But an L6 gets nerfed? And it looks like my Base Stat theory is wrong too, maybe. Wouldn't the Espeon be L4, practically L5 to be the equivalence of a Bulbasaur in base stats? But no. Not a difference in Level, in fact, Espeon had PROPER stats from what I could tell... What is going on?

EDIT ONCE MORE: So, I figured something out... I LIKE this glitch. I just realized it could work as a plot element if I can keep the glitch active on just ONE evolutionary stone type. Just as Team Rocket was trying to force evolve Pokemon, experimented on Eevee, and all this stuff, I realized that I could make a special Stone called a Rocket Stone that force Evolves ANY Pokemon to its next form (or one of its next forms in the case of split evolutions) but has inexplicable side-effects. Now I want this glitch to stay so I can do that! XD As long as I hold onto this version of the Program, I should be okay though. ANYWAYS, let me know what you discover. If you figure anything out and can manage to control it, this could be a fun "randomization" feature that can be applied to Evolution Stones (separate evolution stone option most likely). Turn this into a feature that includes the proper Evolution Stone feature, and it could be a benefit to your program! :)
 
Last edited:
I'll do some toying around with things on my end. It may be a corruption with my rom as well, which would be horrible since I've spent every day this past week making an entire actual town for the starting town, unlike the typical 3 buildings that we get in the starting towns. IF that is the case, then I'm flipping done with this hack... XD But in all seriousness, I'll try to see what I can do.

Chances are the Pokemon that Bulbasaur is evolving into, has a different Experience type from Bulbasaur. This can change the level that Pokemon are.
 
The effect it had I did not expect.
This is the order of events:

Have you checked so that the "Easiness of level-up" of Bulbasaur matches that of Vee? If Bulbasaur requires less exp to evolve than Vee, the level will go down when Bublasaur evolves into Vee. Bulbasaur May need say 500 to reach level 7 while Vee needs 700 (Just an arbitrary example), so the 500 EXP Bulbasaur got to reach level 7 is only enough to reach level 5 for Vee.

EDIT: Didn't see MrDS just answered this 10 min before me :)
 
Last edited:
Back
Top