• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • 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.

[ASM & Hex] Change bag menu from single column to double column?

Sensual

This should be good.
  • 106
    Posts
    10
    Years
    • Seen Aug 3, 2018
    Hello.

    I'd like to edit the bag menu in FireRed and a part of that involves splitting the items list into two columns. Given that I find the coordinate offsets in hex, would it be possible to change the bag menu from a single column list to a double column list? I suppose the more important question is can I do this without using ASM? Here are some images to illustrate.

    [PokeCommunity.com] Change bag menu from single column to double column?


    Thanks.
     
    ooh pretty <3
    simple answer: not practically, asm would be necessary

    useless answer: you could make a slow af bag engine in scripts but slow engine is slow
     
    ooh pretty <3
    simple answer: not practically, asm would be necessary

    useless answer: you could make a slow af bag engine in scripts but slow engine is slow

    Aw... well, it's probably about time I started learning ASM. Can't put it off forever.

    Would this routine be particularly complex?
     
    Aw... well, it's probably about time I started learning ASM. Can't put it off forever.

    Would this routine be particularly complex?

    I can see this being quite complicated - probably far beyond the scope of a normal ASM hack. You'd have to at the very least adjust the logic for printing the names, the scrolling logic and the input processing logic (since you need left/right on the DPAD to switch columns).

    It's unclear how you're going to handle item quantities and long item names so I can't really say more.
     
    I can see this being quite complicated - probably far beyond the scope of a normal ASM hack. You'd have to at the very least adjust the logic for printing the names, the scrolling logic and the input processing logic (since you need left/right on the DPAD to switch columns).

    It's unclear how you're going to handle item quantities and long item names so I can't really say more.

    The first image was just a little example. The final product would look more reminiscent of this as far as design goes:
    [PokeCommunity.com] Change bag menu from single column to double column?
     
    The first image was just a little example. The final product would look more reminiscent of this as far as design goes:
    [PokeCommunity.com] Change bag menu from single column to double column?
    If that's how you want it to be, I think it would be better off if you write this in C. :)
     
    The first image was just a little example. The final product would look more reminiscent of this as far as design goes:
    [PokeCommunity.com] Change bag menu from single column to double column?

    If you want to completely overhaul the bag interface like that it would be easier to redo it entirely from scratch, which probably would be least painful using C. However you can't do that without first having a good understanding of ASM hacking and the game's engine, which basically means knowing how to program. Even then it would take a lot of work.

    Basically, if you're not willing to learn all of that (which will take a considerable amount of time and effort), then no, it is not possible.
     
    If you want to completely overhaul the bag interface like that it would be easier to redo it entirely from scratch, which probably would be least painful using C. However you can't do that without first having a good understanding of ASM hacking and the game's engine, which basically means knowing how to program. Even then it would take a lot of work.

    Basically, if you're not willing to learn all of that (which will take a considerable amount of time and effort), then no, it is not possible.
    I know Java, which is very similar to C IIRC. I don't know much about the engine, though, so I have absolutely no idea where to start lol.

    Thanks for the answers. I'll see if I can find some resources or tutorials.
     
    I know Java, which is very similar to C IIRC. I don't know much about the engine, though, so I have absolutely no idea where to start lol.

    Thanks for the answers. I'll see if I can find some resources or tutorials.

    Java is similar in syntax to C, but is otherwise completely different. However, the programming mindset will make it easier to learn C than if you were a complete beginner. If you would like to start learning C, I recommend first looking up how to program in C in general before learning how to apply that knowledge to ROM hacking. Knowledge of how to engine works comes from reverse engineering the game (download IDA and the firered IDB). As long as you can understand the ASM (which if you can understand C is simple), you can reverse engineer the games. Anyway, I am happy to answer any questions if you need more guidance, so contact me on Discord if you'd like to discuss this further.
     
    Back
    Top