Conversation Between Blah and PokéMew
1 to 15 of 19
  1. PokéMew
    March 5th, 2016 11:27 AM
    PokéMew
    Well I sure don't know how to do that lol, I guess hit me up whenever you've developed said code :P Thanks a bunch :D
  2. Blah
    March 5th, 2016 10:24 AM
    Blah
    so you need to make it display without using show poke pic. We're trying to dev some code to make it display 80x80 sprites :D
  3. PokéMew
    March 5th, 2016 8:44 AM
    PokéMew
    Thanks! This should be a lot easier for me now.. So I found a sprite, I'll use this one:

    Inserted, it looks like this:
  4. Blah
    March 5th, 2016 4:46 AM
    Blah
    Lets go at it one step at a time. First step, you should try to display the OAM alone, through a person script, similar to the show poke-pic. It should be just 64x64. We'll work towards displaying the cut-off parts after that.
  5. PokéMew
    March 4th, 2016 7:58 PM
    PokéMew
    Jeez this is confusing considering I'm still a noob at writing ASM :/

    So, what I would have to include in the routine is loading the location of my image in the ROM I assume, uncompressing it in the external RAM using swi 0x11, calculating the position of the first window then adding 8 tiles in each direction, and finally loading each of those frames? Obviously I'd need specific functions in the routine other than that, but is this the basic layout of it? If it isn't I'll probably just step off of this until I know more XD
  6. Blah
    March 4th, 2016 4:14 PM
    Blah
    You have to use swi 0x11 in your ASM routine. I'd recommend doing something like this in C instead.
  7. PokéMew
    March 4th, 2016 2:15 PM
    PokéMew
    Oh there is no doubt this is beyond my current ability, but it's much needed for my hack :/ Anyways, from what I understand I need to calculate the position of the first window, then add 8 tiles (64 pixels) to the coordinate depending on which window is next.. I'm stuck on the first part though, how do I uncompress my image into EWRAM.. (Bare with me lmao) Aside from that I really just dont know what specifically I am inserting. I dont think I'm editing anything because there are dozens of instances of object template in the game :/
  8. Blah
    March 4th, 2016 12:42 PM
    Blah
    Hmm, this might be a little beyond your current abilities, no offense. Well, in FireRed, there's a function which is used that can spawn an OAM if you provide it with something called an object template. The function is called template_instanciate_forward_search in IDA.

    The object template struct has a member called, "resource" which is basically formatted like this:
    pointer graphics (4 bytes)
    image size (2 bytes)
    image tag (2 bytes)


    What you want to do is first uncompress the 80x80 sprite into EWRAM, then while in EWRAM calculate the starting position of the tile for the first window, then second then third then fourth. These are tiled images, so the image should be in 8x8 tiles in memory. Once you do that it's simply:

    template_instanciate_forward_search(template_1, x, y, 0);
    template_instanciate_forward_search(template_2, x + 64, y, 0);
    template_instanciate_forward_search(template_3, x, y + 64, 0);
    template_instanciate_forward_search(template_4, x + 64, y + 64, 0);

    The function here will work out assigning a tiletag and copying your image from EWRAM to VRAM.
    It would be a good idea to "bind" the objects using an objcallback, but save that for later. First try getting what I described above to work
  9. PokéMew
    March 4th, 2016 12:24 PM
    PokéMew
    Thanks for the info in my thread earlier, and I hope it's fine that I bring this convo to VM's cause I think I'll have several more questions for this topic XD. At this point, lets say I've inserted the 80x80 image and want to display it on the pokemon menu for instance (that sounds simpler than battles for now). I guess the goal would be to get a 128x128 frame by calling 'the function' four times. My question is, which function is 'the function,' and how can I call it so that it knows to put 2 of them horizontally and 2 of them vertically? Thanks :P
  10. PokéMew
    June 8th, 2015 6:54 AM
    PokéMew
    Ok, thanks! I'm sure I can change the required var in that case. One last thing if you don't mind.. Do you still do requests in the ASM resource thread? I can understand if you're too busy.
  11. Blah
    June 8th, 2015 6:06 AM
    Blah
    You can set 0x8000 multiple times. If you're familiar with some basic ASM you can change the required variable to something else besides 0x8000
  12. PokéMew
    June 7th, 2015 7:26 AM
    PokéMew
    By yes, you mean I can set 8000 multiple times, or yes I can set another variable besides 8000?
  13. Blah
    June 7th, 2015 6:07 AM
    Blah
    It's a temporary variable, so yes you can. Most of those routines shouldn't conflict with eachother.
  14. PokéMew
    June 6th, 2015 9:12 AM
    PokéMew
    Hey FBI, I have another question if you don't mind.. I've noticed 90% of your routines in the ASM Resource Thread require var#8000 to be set. I'm trying to figure out whether or not I can set that var multiple times for various routines (I want to use multiple routines in my hack from your resource thread) or if Im allowed to set other vars besides 8000. Thanks
  15. PokéMew
    June 4th, 2015 5:28 PM
    PokéMew
    Ah alright, thanks :p