Conversation Between sonic1 and knizz
16 to 30 of 35
  1. sonic1
    February 21st, 2012 2:14 PM
    sonic1
    Hi there knizz!
    I'm sorry, but i just saw your doubt with 02024029... That offset is the number of pokemon you have in party at the moment (special 0x83 uses it, it is actually named count_pokemon in your IDA database).
    Hope it helped.

    Hey, do you know a tutorial that helps in learning how to use the stack properly? I'd like to learn more about the stack, as some routines use it...

    Thanks! :D
  2. knizz
    January 6th, 2012 3:22 PM
    knizz
    dp = unnamed project. I use it when I need to keep track of things but can't come up with a proper name.

    afaik a simple function is enough to be a c3. look into some c3 functions to see how they work. I think there is a difference between terminating a c3-thread from within the c3-function itself or from outside. But that's all I'm concearned about. fyi you can store some private data in a running c3-thread. I think the pointer to the whole structure is passed via R0 or R1 or something like that. Again, look at some c3-functions to figure it out.
  3. sonic1
    January 5th, 2012 1:49 PM
    sonic1
    Hey, no worries, its all right! ^^ I'll do it myself, i'm fairly certain that you're busy with your own things in real life.
    Just explain me something: What are the Dp01, dp00, dp02, etc in your database? I know that dp01s are the battle scripts. I'm just interested in knowing what they mean, and i'm not taking your time anymore!

    Also, i understand the callbacks system. The more important callbacks are 1,2 and 3, right? I was fascinated with the callback3 function arguments. How would i put a function in the callback and put it in use? I know that there's a function "add_to_callback3_list", and i'm fairly certain that i must use this one, but to put it in use, how would i do it? You can explain this very lightely, as i like to experiment new things and i will not take your time anymore!

    Thanks! And thanks for your database and your time! :D
  4. knizz
    January 5th, 2012 7:42 AM
    knizz
    Sorry, I couldn't find the time for the fog after all. Sorry, again.
  5. sonic1
    December 24th, 2011 5:07 AM
    sonic1
    Wow, many thanks for the database (uses 6.1 version of IDA, isn't it? Glad i got it) and for taking your time to help me!

    ~Sonic1
  6. knizz
    December 24th, 2011 4:20 AM
    knizz
    I see, I was wrong about the fog being on BG0. I'll look at it this week maybe. Also, new DB: http://www.mediafire.com/?dr542wbhhapnj0b
  7. sonic1
    December 15th, 2011 8:57 AM
    sonic1
    What? But look at this:
    Spoiler:



    its "Mist from top right corner [09]" in map header. I get that it has priority under some BG's and other's not, if that is what you said.

    Also, how can i change the transparency of the things put in BG 0?

    Thanks
  8. knizz
    December 15th, 2011 2:35 AM
    knizz
    The fog is made using a BG-layer iirc. And not a OAM.
  9. sonic1
    December 12th, 2011 12:53 PM
    sonic1
    I got most of it, and i already made some progress. I managed to change the flags associated with the player, by changing the oam_thingy structure. Question is, now that i managed to change the flags, i want to research some other things. The effect i'm looking for is the semi-transparency of the FOG/MIST. But thats not an NPC. So how can i lookup the OAM properties of the fog so i can get a similar effect on NPC's?
  10. knizz
    December 11th, 2011 8:00 AM
    knizz
    I assume you want to apply this effect onto an NPC.
    Because the OAMs are overwritten every frame you have to modify the earlier, so that the pokemon engine copies the usual data with your modifications over the current OAMs. And those are the oam_thingies as described at: http://www.pokecommunity.com/showthread.php?t=238937

    The base offset for the oam_thingie array is there. The size too. The index is in the associated npc_state.
  11. sonic1
    December 10th, 2011 6:57 AM
    sonic1
    Hey, knizz thanks for the last explanation!
    I've come with another doubt today, more complex, related to OAM, that only you seem to research that area around these parts.

    How can i apply a property to a specified OAM? I'm trying to apply alpha blending to an oam.

    Thanks in advance
  12. knizz
    September 19th, 2011 5:49 AM
    knizz
    That's when the function is calling another function with more than 4 arguments. The first ones are stored in R0, R1, R2, R3 as you know. The remaining ones are saved on the stack.
    Stack: <registers backed up by func2> <LR for func2 pointing to somewhere in func1> <excessive args for func2> <registers backed up by func1> <LR for func1 pointing to...>
  13. sonic1
    September 18th, 2011 5:45 AM
    sonic1
    Hey knizz. Hope your life's going well!

    Since i've been studying asm, I've seen some routines which had, for example,
    "SUB SP, SP, #0xC" in the start and "ADD SP,SP, #0xC" in the end.

    And I've never understood why they allocate the stack more or less.
    Could you perhaps explain it to me if you know, please?
    Or what's their purpose on doing this?
    Thanks

    With Best regards,
    Sonic1
  14. sonic1
    August 9th, 2011 5:50 AM
    sonic1
    Wow many thanks! :D
    It worked like a charm, no need to adapting! Seems like Emerald has every character that FireRed has.

    You'll be credited fully when i release the database ^^
    With the best regards,
    Sonic1
  15. knizz
    August 9th, 2011 12:00 AM
    knizz
    I wrote a script that converts the characters. Because the db contains a copy of the rom I can just overwrite those bytes to become ASCII without damaging the ROM next to it. My script was designed for Firered so you may have to adapt it. You can run the scripts via the "File"-Menu. Select the area you want to convert first. Then run the script. I also included a restore-script in case you mess up.

    DOWNLOAD HERE: http://www.mediafire.com/file/j9gk4sifkku4ij0/poke2ascii.tar.lzma