You are not logged in.
Would it be possible to change pokered's bag to act more like the "pack" from Gen II? Different pockets for balls, key items etc... I feel that would be really useful seeing as it's a much better system.
Same goes with Bill's PC. Gen II had a picture of the Pokemon and any wild Pokemon you've caught that are sent to the box regain their full health. I'd like to implement that, along with the box automatically changing if full, which I believe only started from Gen III onwards.
Any ideas where to start?
I would look at Pokecrystal and try to look at porting the relevant routines is possible. However, I'm sure that the pack will not be simple at all. You will basically have to rewrite the entire thing, and hack the giveItem routines and such, and add some way to determine which Pocket an item goes in (Red doesn't have item headers like Crystal either, its all a bunch of separate tables for price and function and all that) so yeah that's not gonna be something we could just make up on the fly I think.
As for the pc, that probably depends on how far you want to go with making it act like Gen 2.
Check them out on Github
I'd like to implement that, along with the box automatically changing if full, which I believe only started from Gen III onwards.
The problem with this is that the data of all boxes but the active one is only stored in SRAM. If you want to switch boxes you have to force the player to save the game to prevent inconsistencies in the save file.
I have implemented the "gen II pack" and I honestly don't remember it being that hard. I'm checking my commit list and it took me 4 days to get all done while working into other things too (and it's not like I spent all day working on it at all). I think looking at the code in Crystal would just confuse you more since the engine in gen 2 differs a lot from gen 1 in general. So you have to expect Crystal taking care of thing in different ways. Maybe the hardest part in terms of design is how you keep track of the current pack and current cursor position within each pack considering all possible interactions with the pack (bag, PC, mart, battle...), which I admittedly didn't pay as much attention to as I could have.
Last edited by Crystal_ (2015-10-30 11:01:13)
Admittedly, telling him to look at Pokecrystal probably wasn't a good way to go about it, since that isn't what I did for... really anything except fixing critical hits. I just wasn't sure what to tell him to get started on redoing it from scratch. That pack edit is on my list of things to add eventually but I haven't started looking into it and just tried to think of a suggestion to get him started somehow.
Check them out on Github
The way I always try to approach these things is to look at what we have already and make sure I am familiar with it and understand it. Then you start thinking about what you want to add, and where and how you should add it. So when you know how the game reads and prints the item list on the screen or how it removes and item from the bag, etc, you can start thinking about how to modify the existing functions involved and the interactions with those functions to make them support your needs.
Anyway, I didn't mean that looking at how similar things are done is always a bad idea, in fact, it can help point you in the right direction. For example, the first time I implemented something related to menus, I looked at how the start menu was handled, how the inputs were interpreted, and all that. So my advice is that you can and probably should look at how specific things that you need to implement are done in Red, such as handling menus. But Crystal has their own functions and their own coding that is different from Red that I wouldn't presonally be looking at it much.
Last edited by Crystal_ (2015-10-30 14:19:48)