ROM Hacking Need a helping hand? You can get help on any ROM Hacking-related problems or questions you have here.

Draconius GO
Closed Thread
 
Thread Tools
  #26101    
Old August 7th, 2013 (9:04 PM). Edited August 7th, 2013 by karatekid552.
karatekid552's Avatar
karatekid552 karatekid552 is offline
What happens if I push it?....
     
    Join Date: Nov 2012
    Location: Do you really want to know? Really?
    Gender: Male
    Nature: Bold
    Posts: 1,766
    Quote:
    Originally Posted by kearnseyboy6 View Post
    Yes it does thanks! Thanks for clearing it up the [] as well, I now understand how values are pulled from an address without moving the address too XD. But are you 100% on the str though? In JPANs doc it quotes thumb assembly doesn't swap the convention unlike other languages:



    I am happy to change my thinking but when I use this code (modifies HP) it works perfectly. I also have memory viewer on auto update too
    Spoiler:
    .text
    .align 2
    .thumb
    .thumb_func
    .global healthbooster

    main:
    push {r0-r1, lr}
    ldrh r0, .POKE_DATA
    ldr r1, [r0]
    add r0, r0, #0x64
    strh r0, [r1]
    pop {r0-r1, pc}


    .align 2
    .POKE_DATA:
    .word 0x02024287
    What he meant there, was that str and ldr don't look like this:

    ldr r1, [r0]
    str [r0], r1

    see how they are opposites?

    ~~~~~~~~
    Judging from what I know, that code should not work.....
    Seeing as how I wrote my own forme change code... I know how str works.....


    Edit: what threw me off was the ldrh. That code will work. One sec....


    .text
    .align 2
    .thumb
    .thumb_func
    .global healthbooster

    main:
    push {r0-r1, lr}
    ldrh r0, .POKE_DATA /*You are loading an address into r0, always load the full thing, not half. Though, it may not make a difference, not a good habit.*/
    ldrh r1, [r0] /*load what is at the address .POKE_DATA into r1. Here you are loading a word, shouldn't you be loading a half-word?*/
    add r0, r0, #0x64 /*Add 100 to r0, and place on r0. Looks like, we are moving to the next pokemons HP, which is 100 bytes away...*/
    strh r0, [r1] /*Store the bottom half of the address of the second pokemon at the random number you loaded from the pokemon data.*/
    pop {r0-r1, pc}


    .align 2
    .POKE_DATA:
    .word 0x02024287


    Creating a correct version now....

    Code:
    .align 2
    .thumb
    .thumb_func
    .global healthbooster
    
    main:
        push {r0-r1, lr}
        ldr r0, .POKE_DATA
        ldrh r1, [r0]
        add r1, r1, #0x64
        strh r1, [r0]
        pop {r0-r1, pc}
    
    
    .align 2
    .POKE_DATA:
        .word 0x02024287
    That should work. I also seriously confused myself while correcting the first one. Let me fix that... Fixed.
    __________________

    Paired with Simba

    Relevant Advertising!

      #26102    
    Old August 7th, 2013 (9:18 PM).
    kearnseyboy6's Avatar
    kearnseyboy6 kearnseyboy6 is offline
    Aussie's Toughest Mudder
       
      Join Date: Dec 2008
      Posts: 300
      Quote:
      Originally Posted by karatekid552 View Post
      What he meant there, was that str and ldr don't look like this:

      ldr r1, [r0]
      str [r0], r1

      see how they are opposites?

      ~~~~~~~~
      Judging from what I know, that code should not work.....
      Seeing as how I wrote my own forme change code... I know how str works.....


      Edit: what threw me off was the ldrh. That code will work. One sec....


      .text
      .align 2
      .thumb
      .thumb_func
      .global healthbooster

      main:
      push {r0-r1, lr}
      ldrh r0, .POKE_DATA /*You are loading an address into r0, always load the full thing, not half. Though, it may not make a difference, not a good habit.*/
      ldrh r1, [r0] /*load what is at the address .POKE_DATA into r1. Here you are loading a word, shouldn't you be loading a half-word?*/
      add r0, r0, #0x64 /*Add 100 to r0, and place on r0. Looks like, we are moving to the next pokemons HP, which is 100 bytes away...*/
      strh r0, [r1] /*Store the bottom half of that address as the new HP on the original first pokemon.*/
      pop {r0-r1, pc}


      .align 2
      .POKE_DATA:
      .word 0x02024287


      So, effectively, you stored the address of the second pokemon as the HP of the first pokemon. Which would have maxed it out.

      Creating a correct version now....
      Oh god! Sorry this is not my code! I edited it for my new one! This is the original (I know it's not 100% efficient!)

      Spoiler:
      .text
      .align 2
      .thumb
      .thumb_func
      .global healthbooster

      main:
      push {r0-r1, lr}
      ldr r0, .POKE_DATA
      ldr r0, [r0]
      ldr r1, .POKE_DATA
      add r0, r0, #0x64
      strh r0, [r1]
      pop {r0-r1, pc}


      .align 2
      .POKE_DATA:
      .word 0x020242DC


      Thanks for the help!
        #26103    
      Old August 7th, 2013 (9:22 PM).
      karatekid552's Avatar
      karatekid552 karatekid552 is offline
      What happens if I push it?....
         
        Join Date: Nov 2012
        Location: Do you really want to know? Really?
        Gender: Male
        Nature: Bold
        Posts: 1,766
        Quote:
        Originally Posted by kearnseyboy6 View Post
        Oh god! Sorry this is not my code! I edited it for my new one! This is the original (I know it's not 100% efficient!)

        Spoiler:
        .text
        .align 2
        .thumb
        .thumb_func
        .global healthbooster

        main:
        push {r0-r1, lr}
        ldr r0, .POKE_DATA
        ldr r0, [r0]
        ldr r1, .POKE_DATA
        add r0, r0, #0x64
        strh r0, [r1]
        pop {r0-r1, pc}


        .align 2
        .POKE_DATA:
        .word 0x020242DC


        Thanks for the help!

        No problem.

        Spoiler:
        .text
        .align 2
        .thumb
        .thumb_func
        .global healthbooster

        main:
        push {r0-r1, lr}
        ldr r0, .POKE_DATA
        ldr r0, [r0]
        ldr r1, .POKE_DATA <- REALLY IMPORTANTE!!!
        add r0, r0, #0x64
        strh r0, [r1]
        pop {r0-r1, pc}


        .align 2
        .POKE_DATA:
        .word 0x020242DC


        Edit: Don't worry about being inefficient. Game freak was SUPER inefficient in their code. When you start looking at the in game code, you will see what I mean.
        __________________

        Paired with Simba
          #26104    
        Old August 7th, 2013 (9:40 PM).
        Aethestode's Avatar
        Aethestode Aethestode is offline
        Hacker
           
          Join Date: Jan 2008
          Location: Australia
          Gender: Male
          Nature: Serious
          Posts: 1,675
          How to remove the need of Badge to use HM moves outside of battle for Firered?

          e.g. I want to remove the need of Soul Badge to use the move, Hm: Surf.
          __________________

          Name: Sinep
          Adopt one yourself! @Pokémon Orphanage
            #26105    
          Old August 7th, 2013 (9:45 PM).
          karatekid552's Avatar
          karatekid552 karatekid552 is offline
          What happens if I push it?....
             
            Join Date: Nov 2012
            Location: Do you really want to know? Really?
            Gender: Male
            Nature: Bold
            Posts: 1,766
            Quote:
            Originally Posted by rockmanmegaman View Post
            How to remove the need of Badge to use HM moves outside of battle for Firered?

            e.g. I want to remove the need of Soul Badge to use the move, Hm: Surf.
            Find the scripts, remove the check flag.
            __________________

            Paired with Simba
              #26106    
            Old August 7th, 2013 (9:59 PM).
            Aethestode's Avatar
            Aethestode Aethestode is offline
            Hacker
               
              Join Date: Jan 2008
              Location: Australia
              Gender: Male
              Nature: Serious
              Posts: 1,675
              Quote:
              Originally Posted by karatekid552 View Post
              Find the scripts, remove the check flag.
              That's the thing. If i remove the checkflag, it'll set the badge on. I don't want that. I want the player to be able to use the HM freely without the need of the badges.
                #26107    
              Old August 7th, 2013 (10:09 PM).
              karatekid552's Avatar
              karatekid552 karatekid552 is offline
              What happens if I push it?....
                 
                Join Date: Nov 2012
                Location: Do you really want to know? Really?
                Gender: Male
                Nature: Bold
                Posts: 1,766
                Quote:
                Originally Posted by rockmanmegaman View Post
                That's the thing. If i remove the checkflag, it'll set the badge on. I don't want that. I want the player to be able to use the HM freely without the need of the badges.
                No, not that script. The script that is called when you want to use an HM. It has a check flag, that needs to be removed. If it doesn't check the flag, it will just move through without the need of a badge. You are like the 500th person to ask that on this thread.
                __________________

                Paired with Simba
                  #26108    
                Old August 8th, 2013 (4:41 AM).
                AtecainCorp.'s Avatar
                AtecainCorp. AtecainCorp. is offline
                Rejishan awake...
                   
                  Join Date: Jun 2008
                  Location: Takoabe Town (Region Thonsu)
                  Age: 24
                  Gender: Male
                  Nature: Hardy
                  Posts: 1,270
                  Two questions about Pokemon Ruby.

                  1. It is possible to add more types without repleacing existing Types?
                  - If it was possible... How to edit their effectivnese.

                  2. How add new Voicegroup to Pokemon Ruby? I want add to my hack something like GB PLAYER. And I need to inster GBC Soundfonts.
                  __________________
                  - My new Project comming Soon
                    #26109    
                  Old August 8th, 2013 (5:10 AM). Edited August 8th, 2013 by Wobbu.
                  Wobbu's Avatar
                  Wobbu Wobbu is offline
                  Drag a needle on the good today
                     
                    Join Date: Mar 2012
                    Location: Stardew Valley
                    Gender: Male
                    Nature: Relaxed
                    Posts: 2,797
                    Quote:
                    Originally Posted by Ksiazek Bartlomiej View Post
                    Two questions about Pokemon Ruby.

                    1. It is possible to add more types without repleacing existing Types?
                    - If it was possible... How to edit their effectivnese.

                    2. How add new Voicegroup to Pokemon Ruby? I want add to my hack something like GB PLAYER. And I need to inster GBC Soundfonts.
                    1. A couple pages earlier in this thread there was a discussion about adding types.

                    2. Using a hex editor, find 0x600 free bytes, then write 00 3C 00 00 00 00 00 08 00 00 00 00 to the free space 128 times (I recommend using a fill selection feature). This would be the setup for a single sample instrument. Fortunately, Sappy can change the setup for you if you have a multi sample instrument.

                    I'd rather not go too in-depth because gogojjtech has explained this: http://www.pokecommunity.com/showthread.php?t=301027

                    Fortunately for you, Ruby already has the GBC 'soundfonts.' They're called squares, waves, and noises, and can be created with Sappy.
                    __________________

                    My Favorite Song
                      #26110    
                    Old August 8th, 2013 (6:27 AM).
                    karatekid552's Avatar
                    karatekid552 karatekid552 is offline
                    What happens if I push it?....
                       
                      Join Date: Nov 2012
                      Location: Do you really want to know? Really?
                      Gender: Male
                      Nature: Bold
                      Posts: 1,766
                      Quote:
                      Originally Posted by Ksiazek Bartlomiej View Post
                      Two questions about Pokemon Ruby.

                      1. It is possible to add more types without repleacing existing Types?
                      - If it was possible... How to edit their effectivnese.
                      Stop asking questions like these. You know that in order to increase limits and add more, it will require a little bit of ASM, even if it is just following the loading routine and increasing the limits. However, you adamantly refuse to learn even the most basic of ASM. Instead hounding us for a different answer, which there is none.
                      __________________

                      Paired with Simba
                        #26111    
                      Old August 8th, 2013 (1:53 PM).
                      Alice's Avatar
                      Alice Alice is offline
                      (>^.(>0.0)>
                      • Crystal Tier
                       
                      Join Date: Mar 2009
                      Location: Oregon
                      Age: 25
                      Gender: Female
                      Nature: Careful
                      Posts: 3,081
                      So this is weird... the name of routes/towns/etc only display in the starter town, and nowhere else. Any idea why that's happening? I have it set to show name of course.
                        #26112    
                      Old August 8th, 2013 (2:05 PM).
                      sCr45h's Avatar
                      sCr45h sCr45h is offline
                      The Littleroot Champ
                         
                        Join Date: Jun 2012
                        Location: Littleroot Town
                        Gender: Male
                        Nature: Relaxed
                        Posts: 138
                        So, I was wandering, if I start working on a hack, can I make the maps now and insert the new tiles and sprites later or do I have to do it while creating the maps? Im a noob so I'm trying to learn abit more. Its just that I started a Hack and I want to make it the best I can but Im still learning.
                        __________________
                        "The more you stare, the funnier it gets"
                        -sCr45h 2k16
                          #26113    
                        Old August 8th, 2013 (3:26 PM).
                        athenian200 athenian200 is offline
                           
                          Join Date: Jun 2013
                          Gender: Male
                          Posts: 17
                          I'm working with Pokémon Ruby, and I'm trying to replace the move Cotton Spore with Electroweb (a move from Generation V). I've figured out how to edit the move name, description, and the actual effects of the attack using A-Tack and a hex editor with tables.

                          But I have no idea how to change the battle animation/effect. I'd settle for making it use the same one as Spider Web, although ideally I'd like the web to be tinted yellow.

                          All the information I've been able to find about this talks about Fire Red, and the one tool I found that claimed to do this (PGE's built in attack editor), causes the game to display a white screen and crash on start up, if I so much as TOUCH the game with that tool.

                          So now I'm thinking of just trying to find the tables/pointers manually and do this in a hex editor or something, unless there's a better way. Anyone have any idea how to do this?
                            #26114    
                          Old August 8th, 2013 (4:09 PM).
                          GoGoJJTech's Avatar
                          GoGoJJTech GoGoJJTech is offline
                          (☞゚ヮ゚)☞ http://GoGoJJTech.com ☜(゚ヮ゚☜)
                          • Gold Tier
                           
                          Join Date: Nov 2012
                          Location: Earth
                          Age: 19
                          Gender: Female
                          Nature: Jolly
                          Posts: 2,477
                          Athenian, use pokemon game editor's attack editor.

                          sC45h, it doesn't matter as long as you're using advance map 1.92, not 1.95
                          __________________
                          I believe in Jesus Christ my Savior. If you do too, and aren't scared to admit it, then copy and paste this into your signature.
                          The HGSS Music Patch - The BW/2 Music Patch - ASM: Switch Music Based on Seasons
                          Romhack.me Profile - Pokecommunity Profile - Youtube Channel

                          Support me at my site!
                          Pokémon Platinum Red and Blue
                            #26115    
                          Old August 8th, 2013 (4:31 PM).
                          DoesntKnowHowToPlay's Avatar
                          DoesntKnowHowToPlay DoesntKnowHowToPlay is offline
                          Tiny Umbrella with Lots and Lots of Good
                             
                            Join Date: Jan 2012
                            Posts: 258
                            Quote:
                            Originally Posted by athenian200 View Post
                            I'm working with Pokémon Ruby, and I'm trying to replace the move Cotton Spore with Electroweb (a move from Generation V). I've figured out how to edit the move name, description, and the actual effects of the attack using A-Tack and a hex editor with tables.

                            But I have no idea how to change the battle animation/effect. I'd settle for making it use the same one as Spider Web, although ideally I'd like the web to be tinted yellow.

                            All the information I've been able to find about this talks about Fire Red, and the one tool I found that claimed to do this (PGE's built in attack editor), causes the game to display a white screen and crash on start up, if I so much as TOUCH the game with that tool.

                            So now I'm thinking of just trying to find the tables/pointers manually and do this in a hex editor or something, unless there's a better way. Anyone have any idea how to do this?
                            Simplest way would be to take bits of move animation data in FR in a hex editor (offsets for this are documented somewhere in R&D) and search for it in Ruby. It'll probably take a few tries to get something that isn't different between the two ROMs, but the general structures of the scripts and the commands are the same so it should be doable. Once you've found a battle script in Ruby, search for the pointer to it and there's your animation pointer table.
                            __________________

                            Yet Another Fire Red Hack

                            Physical/Special Split
                              #26116    
                            Old August 8th, 2013 (6:38 PM).
                            karatekid552's Avatar
                            karatekid552 karatekid552 is offline
                            What happens if I push it?....
                               
                              Join Date: Nov 2012
                              Location: Do you really want to know? Really?
                              Gender: Male
                              Nature: Bold
                              Posts: 1,766
                              Quote:
                              Originally Posted by sCr45h View Post
                              So, I was wandering, if I start working on a hack, can I make the maps now and insert the new tiles and sprites later or do I have to do it while creating the maps? Im a noob so I'm trying to learn abit more. Its just that I started a Hack and I want to make it the best I can but Im still learning.
                              As long as the new tiles line up with the old ones (ie, you insert new trees where old ones are, new flowers where old flowers were, new water where old water was...) then it won't matter. If your tilesets do no line up, then you need to do those first.
                              __________________

                              Paired with Simba
                                #26117    
                              Old August 8th, 2013 (7:01 PM). Edited August 8th, 2013 by Tlachtli.
                              Tlachtli's Avatar
                              Tlachtli Tlachtli is offline
                              Crit happens.
                                 
                                Join Date: Jan 2012
                                Location: Faraway place
                                Age: 27
                                Gender: Male
                                Nature: Lax
                                Posts: 267
                                Egg types are always ???, but I'd like to change that. For Emerald, what kind of editing would be required to make eggs show the type combo of what will actually hatch (hex vs. ASM, ect.)?

                                EDIT: Also, is there an easy(ish) way to find out exactly how much the DMA is shifting the memory addresses?
                                __________________
                                Pokemon Sigma Σmerald:
                                (now under management by DraconianWing)

                                A Gen 3 remake de-make, featuring many new encounters and Gen VI mechanics

                                  #26118    
                                Old August 8th, 2013 (10:52 PM).
                                athenian200 athenian200 is offline
                                   
                                  Join Date: Jun 2013
                                  Gender: Male
                                  Posts: 17
                                  Quote:
                                  Originally Posted by DoesntKnowHowToPlay View Post
                                  Simplest way would be to take bits of move animation data in FR in a hex editor (offsets for this are documented somewhere in R&D) and search for it in Ruby. It'll probably take a few tries to get something that isn't different between the two ROMs, but the general structures of the scripts and the commands are the same so it should be doable. Once you've found a battle script in Ruby, search for the pointer to it and there's your animation pointer table.
                                  Thanks, I looked over the threads a bit more carefully. I didn't have the patience to expand the move table, learn animation scripting, or look at RAM in VBA to figure out where moves start and end, so I took something of a shortcut.

                                  1. I found a list of moves in the order they're listed in the ROM itself. You could also just load up your ROM in PGE or A-Tack and use that list as a reference, I guess. I CAN'T link to what I used, thanks to this site's annoying rule against linking.

                                  2. I noted the number of the move Spider Web (169), and converted it to Hex (A9).

                                  3. I multiplied A9 by 4, and got 2A4.

                                  3. I found the offset of the Ruby Attack Animation Table in a thread, 1C7168.

                                  4. I added 1C7168 to 2A4, and got 1C740C.

                                  5. I went to 1C740C in a Hex editor, and wrote down the pointer 6A1D1D between the two 08 bytes (big-endian/ARM form of 1D1D6A, if you care).

                                  6. I repeated step 1, and got 178 for the move Cotton Spore (which I'm changing into Electroweb).

                                  7. I converted 178 into Hex, giving B2.

                                  8. I multiplied B2 by 4, and got 2C8.

                                  9. I added 1C7168 to 2C8, and got 1C7430.

                                  10. I went to 1C7430, and OVERWROTE the three-byte pointer there with the 6A1D1D pointer I wrote down earlier.

                                  Now Electroweb has the Spider Web animation! I tested it, and it works perfectly. This method should work any time you want to "borrow" an animation from an existing move to overwrite another existing move, provided you DON'T need to customize or change the animation at all.

                                  I hope it helps someone out there, so they don't have to wade through all the stuff I did.
                                    #26119    
                                  Old August 9th, 2013 (6:03 AM). Edited August 9th, 2013 by Aethestode.
                                  Aethestode's Avatar
                                  Aethestode Aethestode is offline
                                  Hacker
                                     
                                    Join Date: Jan 2008
                                    Location: Australia
                                    Gender: Male
                                    Nature: Serious
                                    Posts: 1,675
                                    Quote:
                                    Originally Posted by karatekid552 View Post
                                    Find the scripts, remove the check flag.
                                    Okay, how do you find the SURF script?
                                    I searched early the entire thread, and all of them just vaguely say "go look for it". I mean, it's easy to look for the CUT or rocksmash script, but I just don't know where to look for SURF. I tried using A-Text to look for text, and I got the dec offset, but then I was confused when it got to the Hex editor part.

                                    Like I tried looking for it in Hex Editor with A-text by looking for the text "The Sea is dark...". I found the entire script, but there's nothing on "checkflag".
                                      #26120    
                                    Old August 9th, 2013 (8:51 AM).
                                    XeroXen XeroXen is offline
                                       
                                      Join Date: Nov 2008
                                      Location: Fort Wayne, IN
                                      Age: 24
                                      Gender: Male
                                      Nature: Relaxed
                                      Posts: 5
                                      I just got into scripting a few days ago, and I have a few questions about applications of setvar that I've noticed. (and other things)

                                      -When creating a level script, I'm curious as to why it is necessary that you use setvar in the script you want to run. I realize that it is necessary, but I don't understand why and I would really like to know.

                                      -While I'm asking questions, when using hidesprite, the sprite is successfully hidden until the player takes a step, and then it reappears in its original location. I'm fairly certain that I'm supposed to use setvar, but I don't know what to set the variable or value as.

                                      -Also, my level scripts only trigger the first time I enter a level as far as I can tell, why is that, and what actions are necessary to create a level script that triggers every time you enter the level?

                                      I'm using XSE for my scripting and Advance-Map 1.0.9 in case anybody needs to know. Thanks in advance.
                                        #26121    
                                      Old August 9th, 2013 (8:57 AM).
                                      PokeMasterSinarian's Avatar
                                      PokeMasterSinarian PokeMasterSinarian is offline
                                         
                                        Join Date: Aug 2013
                                        Gender: Male
                                        Posts: 21
                                        So my brother came up with the idea of creating a hack that allows you to use Dark Balls in the games. Neither of us are computer savvy, and we were wondering if anyone would like to take on the challenge of creating it. So, anyone interested?
                                          #26122    
                                        Old August 9th, 2013 (9:11 AM). Edited August 9th, 2013 by karatekid552.
                                        karatekid552's Avatar
                                        karatekid552 karatekid552 is offline
                                        What happens if I push it?....
                                           
                                          Join Date: Nov 2012
                                          Location: Do you really want to know? Really?
                                          Gender: Male
                                          Nature: Bold
                                          Posts: 1,766
                                          Quote:
                                          Originally Posted by Tlachtli View Post
                                          Egg types are always ???, but I'd like to change that. For Emerald, what kind of editing would be required to make eggs show the type combo of what will actually hatch (hex vs. ASM, ect.)?

                                          EDIT: Also, is there an easy(ish) way to find out exactly how much the DMA is shifting the memory addresses?
                                          Probably ASM hacking. You will have to see how that is loaded.

                                          DMA is easy. In the RAM, there will be a pointer to the new data. A good example is at 0x300500C. The pointer here will constantly change, but it always points to the same data (which happens to be your player data, like name, gender, and such). That is how DMA works.

                                          Quote:
                                          Originally Posted by rockmanmegaman View Post
                                          Okay, how do you find the SURF script?
                                          I searched early the entire thread, and all of them just vaguely say "go look for it". I mean, it's easy to look for the CUT or rocksmash script, but I just don't know where to look for SURF. I tried using A-Text to look for text, and I got the dec offset, but then I was confused when it got to the Hex editor part.

                                          Like I tried looking for it in Hex Editor with A-text by looking for the text "The Sea is dark...". I found the entire script, but there's nothing on "checkflag".
                                          What is the offset of the script you found?

                                          Quote:
                                          Originally Posted by XeroXen View Post
                                          I just got into scripting a few days ago, and I have a few questions about applications of setvar that I've noticed. (and other things)

                                          -When creating a level script, I'm curious as to why it is necessary that you use setvar in the script you want to run. I realize that it is necessary, but I don't understand why and I would really like to know.

                                          -While I'm asking questions, when using hidesprite, the sprite is successfully hidden until the player takes a step, and then it reappears in its original location. I'm fairly certain that I'm supposed to use setvar, but I don't know what to set the variable or value as.

                                          -Also, my level scripts only trigger the first time I enter a level as far as I can tell, why is that, and what actions are necessary to create a level script that triggers every time you enter the level?

                                          I'm using XSE for my scripting and Advance-Map 1.0.9 in case anybody needs to know. Thanks in advance.
                                          1)No, you don't need to use setvar. *Before* the script runs, (only for map script types 02 and 04) it checks the var that you provided in the header and makes sure it was previously set the value. If not, the script doesn't run.

                                          2)You have to set the flag which is in the person ID in A-map for that OW.

                                          3)See number 1.

                                          DUUUUUUUUUUUUUUUDE. Upgrade. Advance map 1.92 and XSE 1.1.1 are the versions you should have.
                                          __________________

                                          Paired with Simba
                                            #26123    
                                          Old August 9th, 2013 (9:27 AM).
                                          GoGoJJTech's Avatar
                                          GoGoJJTech GoGoJJTech is offline
                                          (☞゚ヮ゚)☞ http://GoGoJJTech.com ☜(゚ヮ゚☜)
                                          • Gold Tier
                                           
                                          Join Date: Nov 2012
                                          Location: Earth
                                          Age: 19
                                          Gender: Female
                                          Nature: Jolly
                                          Posts: 2,477
                                          Quote:
                                          Originally Posted by athenian200 View Post
                                          Thanks, I looked over the threads a bit more carefully. I didn't have the patience to expand the move table, learn animation scripting, or look at RAM in VBA to figure out where moves start and end, so I took something of a shortcut.

                                          1. I found a list of moves in the order they're listed in the ROM itself. You could also just load up your ROM in PGE or A-Tack and use that list as a reference, I guess. I CAN'T link to what I used, thanks to this site's annoying rule against linking.

                                          2. I noted the number of the move Spider Web (169), and converted it to Hex (A9).

                                          3. I multiplied A9 by 4, and got 2A4.

                                          3. I found the offset of the Ruby Attack Animation Table in a thread, 1C7168.

                                          4. I added 1C7168 to 2A4, and got 1C740C.

                                          5. I went to 1C740C in a Hex editor, and wrote down the pointer 6A1D1D between the two 08 bytes (big-endian/ARM form of 1D1D6A, if you care).

                                          6. I repeated step 1, and got 178 for the move Cotton Spore (which I'm changing into Electroweb).

                                          7. I converted 178 into Hex, giving B2.

                                          8. I multiplied B2 by 4, and got 2C8.

                                          9. I added 1C7168 to 2C8, and got 1C7430.

                                          10. I went to 1C7430, and OVERWROTE the three-byte pointer there with the 6A1D1D pointer I wrote down earlier.

                                          Now Electroweb has the Spider Web animation! I tested it, and it works perfectly. This method should work any time you want to "borrow" an animation from an existing move to overwrite another existing move, provided you DON'T need to customize or change the animation at all.

                                          I hope it helps someone out there, so they don't have to wade through all the stuff I did.
                                          You know that Pokemon Game editor's Attack editor can change animations, effects, descriptions, power, accuracy, whether it's Status, physical, or special. This whole thing would have been faster with it...
                                          __________________
                                          I believe in Jesus Christ my Savior. If you do too, and aren't scared to admit it, then copy and paste this into your signature.
                                          The HGSS Music Patch - The BW/2 Music Patch - ASM: Switch Music Based on Seasons
                                          Romhack.me Profile - Pokecommunity Profile - Youtube Channel

                                          Support me at my site!
                                          Pokémon Platinum Red and Blue
                                            #26124    
                                          Old August 9th, 2013 (9:56 AM).
                                          XeroXen XeroXen is offline
                                             
                                            Join Date: Nov 2008
                                            Location: Fort Wayne, IN
                                            Age: 24
                                            Gender: Male
                                            Nature: Relaxed
                                            Posts: 5
                                            Quote:
                                            Originally Posted by karatekid552 View Post
                                            1)No, you don't need to use setvar. *Before* the script runs, (only for map script types 02 and 04) it checks the var that you provided in the header and makes sure it was previously set the value. If not, the script doesn't run.

                                            2)You have to set the flag which is in the person ID in A-map for that OW.

                                            3)See number 1.

                                            DUUUUUUUUUUUUUUUDE. Upgrade. Advance map 1.92 and XSE 1.1.1 are the versions you should have.
                                            I did end up upgrading thanks lol. However, I only partially understand your explanation for the first question. From what I understand of script types 2 and 4, setvar essentially becomes a flag for the event script and causes it to only go off once. If I'm correct, would I have to use a different script type for an event which occurs every time I enter an area?

                                            Also please correct me if I'm wrong because I'm really trying to understand this.

                                            EDIT: Also, I've noticed that when entering the map I've mad on Advance Map my game sometimes freezes. Does anybody know what the issue is?
                                              #26125    
                                            Old August 9th, 2013 (10:48 AM).
                                            karatekid552's Avatar
                                            karatekid552 karatekid552 is offline
                                            What happens if I push it?....
                                               
                                              Join Date: Nov 2012
                                              Location: Do you really want to know? Really?
                                              Gender: Male
                                              Nature: Bold
                                              Posts: 1,766
                                              Quote:
                                              Originally Posted by XeroXen View Post
                                              I did end up upgrading thanks lol. However, I only partially understand your explanation for the first question. From what I understand of script types 2 and 4, setvar essentially becomes a flag for the event script and causes it to only go off once. If I'm correct, would I have to use a different script type for an event which occurs every time I enter an area?

                                              Also please correct me if I'm wrong because I'm really trying to understand this.

                                              EDIT: Also, I've noticed that when entering the map I've mad on Advance Map my game sometimes freezes. Does anybody know what the issue is?
                                              These are all related. A-map mislabled it. Where it says Flag, it really means var. As long as the var = the value, the script will run. 04 only runs once but has a lot of limitations and 02 continually runs every frame until the var is changed. If you want the script to run each time, I would suggest using a 02 map script, with var 0x4000 and value 0. Var 4000 is temporary, so it will reset when warping. Finally, at the end of your script, for the last line, have "setvar 0x4000 0x1". This will prevent it from running every frame, and will run just when entering the map each time because the var will reset.
                                              __________________

                                              Paired with Simba
                                              Closed Thread

                                              Quick Reply

                                              Join the conversation!

                                              Create an account to post a reply in this thread, participate in other discussions, and more!

                                              Create a PokéCommunity Account

                                              Sponsored Links
                                              Thread Tools

                                              Posting Rules
                                              You may not post new threads
                                              You may not post replies
                                              You may not post attachments
                                              You may not edit your posts

                                              BB code is On
                                              Smilies are On
                                              [IMG] code is On
                                              HTML code is Off

                                              Forum Jump


                                              All times are GMT -8. The time now is 9:07 PM.