Research & Development Got a well-founded knack with ROM hacking? Love reverse-engineering the Pokémon games? Or perhaps you love your assembly language. This is the spot for polling and gathering your ideas, and then implementing them! Share your hypothesis, get ideas from others, and collaborate to create!

Reply
 
Thread Tools
  #76    
Old October 13th, 2012 (12:35 PM).
Jambo51's Avatar
Jambo51 Jambo51 is offline
Glory To Arstotzka
     
    Join Date: Jun 2009
    Gender: Male
    Nature: Quiet
    Posts: 732
    Quote:
    Originally Posted by itman View Post
    I just did everything that JPAN said in his post and it worked without any problems, so to be honest you probably did something wrong. I would just start over and try again. Make sure you correctly repoint ALL the pointers to the new locations of each table, since there are A LOT.
    JPAN?! WHAT?! How very dare you?! Lol.

    In actual response, I've tried it several times on both clean and pre-hacked ROMs, and every time it's worked, and I followed my own tutorial to do it, I may add, so it does work.
    __________________
    Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!
    Reply With Quote

    Relevant Advertising!

      #77    
    Old October 13th, 2012 (7:53 PM).
    itman itman is offline
    Back to ROM hacking. :D
       
      Join Date: May 2007
      Age: 23
      Nature: Adamant
      Posts: 100
      Quote:
      Originally Posted by Jambo51 View Post
      JPAN?! WHAT?! How very dare you?! Lol.

      In actual response, I've tried it several times on both clean and pre-hacked ROMs, and every time it's worked, and I followed my own tutorial to do it, I may add, so it does work.
      I am so sorry! I meant Jambo, I get you two confused because I've used both of your resources and such so much. AH. I'm sorry. :'(

      But yeah, you're way definitely works. Would you be okay if I made kind of a more tutorial? With pictures and things, since this is huge and I don't want this to not be used, it's just incredible.
      Reply With Quote
        #78    
      Old October 14th, 2012 (11:53 AM).
      timson733333's Avatar
      timson733333 timson733333 is offline
      Me gusta.
         
        Join Date: Mar 2007
        Location: Stealth!
        Gender: Male
        Nature: Quiet
        Posts: 130
        I'll try it again for FireRed, I'm doing it for Ruby right now to see if it works, but roms.ini doesn't have the attack animations. Can someone tell me where that is?
        __________________
        ROM hacking since 2008... and failing miserably still.


        Learning how to hex edit. I'm not advanced in any way, and rely on tools most of the time.

        deviantArt | YouTube
        Reply With Quote
          #79    
        Old December 27th, 2012 (7:37 PM).
        Mr155555 Mr155555 is offline
           
          Join Date: Apr 2011
          Age: 36
          Gender: Male
          Nature: Adamant
          Posts: 248
          can you do a video explaining everything so it can be less complicated
          __________________
          Feraligatr and Krookodile Best Pokemon Ever
          my pokemon alpha sapphire team
          swampert-ludicolo-altaria-hariyama-torkoal-froslass
          Reply With Quote
            #80    
          Old December 28th, 2012 (11:29 AM).
          DoesntKnowHowToPlay's Avatar
          DoesntKnowHowToPlay DoesntKnowHowToPlay is offline
          Tiny Umbrella with Lots and Lots of Good
             
            Join Date: Jan 2012
            Posts: 258
            So I figured out a nifty trick that would have been nice to know earlier:

            The command 2A can be used in battle scripts to read arbitrary halfwords and jump depending on their value- by checking x02023D4a, this can be used to detect which attack is calling the script. This is actually done by the game to detect Surf and Whirlpool so it can make them pierce Dive. For example:

            Quote:
            2A 00 4A 3D 02 02 5D 01 FB 85 1D 08
            This command will cause a jump to x1D85FB if the move being used is x15D- Dragon Dance. If the move is not Dragon Dance, the script simply continues. We can utilize this to map different effects to a single effect byte- this allows us to make our new attacks AI-friendly by mapping them to similar effect bytes. For example, if we put Shift Gear's script after this check, we can give it Dragon Dance's effect byte, and the AI will treat Dragon Dance and Shift Gear the same way. It also allows us to easily take advantage of effects that aren't handled by script- we can make Flare Blitz defrost the user by giving it script x7D (Flame Wheel) without losing the recoil effect, for example. It also means there is no need to repoint the battle script table, as we only need to branch off the existing scripts rather than add new ones to the table.

            Speaking of defrosting- if any moves in the expanded move table have effect byte x7D (such as Scald and Flare Blitz), they will produce garbage text when they defrost the user. To fix this, go to 0xD7E96 and place six 00s there.
            __________________

            Yet Another Fire Red Hack

            Physical/Special Split
            Reply With Quote
              #81    
            Old December 28th, 2012 (12:50 PM).
            Jambo51's Avatar
            Jambo51 Jambo51 is offline
            Glory To Arstotzka
               
              Join Date: Jun 2009
              Gender: Male
              Nature: Quiet
              Posts: 732
              Quote:
              Originally Posted by DoesntKnowHowToPlay View Post
              Cut for brevity
              Indeed. That is how I should have done it. Retrospect is a wonderful thing.

              On the downside, this only works for moves which have a similar move already in existance. I know the AI needs modified to support the new moves either way, but at least with using your method, that amount of work is cut substantially.

              Battle Script Editors are being worked on to make this sort of work easier, so maybe I'll go back and retrospectively change the system to use the style you show above.

              It would certainly make any modifications to the AI easier!

              I thank you for pointing this out!
              __________________
              Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!
              Reply With Quote
                #82    
              Old January 17th, 2013 (4:53 PM).
              Darkrai Lv.1000's Avatar
              Darkrai Lv.1000 Darkrai Lv.1000 is offline
              Has a tendency to figure things out
                 
                Join Date: Jul 2007
                Location: On an island with Hakaze
                Age: 22
                Gender: Male
                Nature: Quirky
                Posts: 671
                Send a message via AIM to Darkrai Lv.1000
                Wow, it's been a while since I've been on this side of the forums. xD
                Anyways, I've got my hack stuff back on my new computer, and I'm continuing work on my project, but one problem still persists:

                How do I give my new moves proper descriptions?
                __________________
                Reply With Quote
                  #83    
                Old February 20th, 2013 (3:06 PM).
                pawell6's Avatar
                pawell6 pawell6 is offline
                The truthseeker
                   
                  Join Date: Feb 2010
                  Location: Poland
                  Age: 29
                  Gender: Male
                  Posts: 50
                  Quote:
                  Originally Posted by Darkrai Lv.1000 View Post
                  Wow, it's been a while since I've been on this side of the forums. xD
                  Anyways, I've got my hack stuff back on my new computer, and I'm continuing work on my project, but one problem still persists:

                  How do I give my new moves proper descriptions?
                  You can use XSE to change descritptions of moves.
                  __________________
                  Most of new moves is done. Fixing timing of some animations and updating learnsets in progress.
                  Reply With Quote
                    #84    
                  Old February 22nd, 2013 (1:21 PM).
                  GoGoJJTech's Avatar
                  GoGoJJTech GoGoJJTech is offline
                  (☞゚ヮ゚)☞ http://GoGoJJTech.com ☜(゚ヮ゚☜)
                  • Gold Tier
                   
                  Join Date: Nov 2012
                  Location: Earth
                  Age: 18
                  Gender: Female
                  Nature: Jolly
                  Posts: 2,477
                  Quote:
                  Originally Posted by pawell6 View Post
                  You can use XSE to change descritptions of moves.
                  Not just xse
                  search for it in advance text, add it to the ini then edit the description
                  __________________
                  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
                  Reply With Quote
                    #85    
                  Old February 22nd, 2013 (7:07 PM).
                  Omega Zero's Avatar
                  Omega Zero Omega Zero is offline
                  Is back...
                  • Gold Tier
                   
                  Join Date: Dec 2009
                  Location: I'm always living aren't I?
                  Age: 19
                  Gender: Male
                  Nature: Relaxed
                  Posts: 445
                  Quote:
                  Originally Posted by Darkrai Lv.1000 View Post
                  Wow, it's been a while since I've been on this side of the forums. xD
                  Anyways, I've got my hack stuff back on my new computer, and I'm continuing work on my project, but one problem still persists:

                  How do I give my new moves proper descriptions?
                  Find the pointer for move descriptions
                  Copy all of it plus 4xnumber of new moves

                  and paste it somewhere in the rom,
                  then repoint everything to the new move descriptions place.
                  __________________
                  Reply With Quote
                    #86    
                  Old June 17th, 2013 (6:22 PM). Edited June 17th, 2013 by ShadowTails.
                  ShadowTails's Avatar
                  ShadowTails ShadowTails is offline
                  I'm working on a better Avatar
                     
                    Join Date: Aug 2005
                    Age: 25
                    Gender:
                    Nature: Relaxed
                    Posts: 638
                    Regarding move descriptions, when I try to point to other areas in the rom for the descriptions, it will bring up other random text, no matter where I point it.

                    At first I just repointed the pointer table, and that worked just fine, but trying to add a new pointer at the end for the 355th move in the rom would never work. It would just pick a random thing of text, and if I changed another move, like Growl, to the description that I put in free space, it would pick another text even if it was the same offset as the custom move.




                    The only time any new description would work is if I put it after Psycho Boost without repointing all of the move descriptions, and when I tried repointing all the move descriptions, nothing works.

                    Is there another pointer that I have to set to get this to work right? I've been trying all sorts of different things, but I've run into this problem. After trying everything, I figured I should ask here. I got everything else to work, my new move does damage and it does everything that it should do, but I can't figure out what to do about move descriptions for the life of me.
                    __________________
                    "This is the best signature on this website."- You, reading this.
                    Reply With Quote
                      #87    
                    Old September 6th, 2013 (1:51 PM).
                    Zeifyl Zeifyl is offline
                       
                      Join Date: Sep 2012
                      Gender: Male
                      Posts: 1
                      This is the first time I am trying to mod a Pokémon Game, and this looked very amazing to me, so I figured I'd give it a shot, but I encountered an error.
                      I'm sure I did everything as it said I should, but anyway, this happens (Images in attachments)
                      Attached Images
                      File Type: png Lolwut.png‎ (3.7 KB, 29 views) (Save to Dropbox)
                      File Type: png WTF.png‎ (3.8 KB, 30 views) (Save to Dropbox)
                      Reply With Quote
                        #88    
                      Old September 26th, 2013 (12:21 PM).
                      JoshandJR5 JoshandJR5 is offline
                         
                        Join Date: Jul 2011
                        Gender: Male
                        Posts: 1
                        forgive me for being new to this but how could I just do something simple like make howl raise accuracy instead of attack? I know its not a standard effect but still doesn't seem like it should be too difficult. I don't necessarily wanna have to repoint a bunch of code is all. (This would be for Emerald.)

                        I can't seem to find the right byte or bytes to change... knowing how the data structure is outlined for attack effects, animations or whatever would help like how bulbapedia formats it on their "Move_data_structure_in_Generation_III" page
                        Reply With Quote
                          #89    
                        Old October 5th, 2013 (10:24 AM).
                        BugMania's Avatar
                        BugMania BugMania is offline
                        The Bug Master
                           
                          Join Date: Jun 2013
                          Gender: Male
                          Nature: Quiet
                          Posts: 32
                          Jambo 51, ​​it seems that you are not entered programming ASM to jump movements according to the levels of the Pokemon ... ... happens that a pokemon on level 35 appears with the same movements of a level 1.

                          ... excuse me if I'm wrong speaking
                          __________________
                          Even the smallest of beings can achieve the greatest of obstacles!
                          Click in the spoiler, if you dare!
                          Spoiler:


                          L
                          et's dream bigger than our bodies can endure!
                          G
                          et to the extreme!

                          See my works here

                          Reply With Quote
                            #90    
                          Old December 11th, 2013 (1:29 PM). Edited November 4th, 2014 by DoesntKnowHowToPlay.
                          DoesntKnowHowToPlay's Avatar
                          DoesntKnowHowToPlay DoesntKnowHowToPlay is offline
                          Tiny Umbrella with Lots and Lots of Good
                             
                            Join Date: Jan 2012
                            Posts: 258
                            So while fiddling with the 649 patch I noticed a rather nasty bug in the second move table extension method detailed in the OP. While it works fairly well, pokemon are generated with the first four moves in their movepool, regardless of how high level they are. Movepools looked like this:



                            when they should have looked like this:



                            This can be fixed by using the following routine in place of the second one Jambo provides:

                            Code:
                            .text
                            .align 2
                            .thumb
                            .thumb_func
                            .global newmovesetstyle2
                            main:
                             ldrb r1, [r0, #0x2]
                             mov r2, #0xFF
                             cmp r1, r2
                             beq exit2
                             lsl r2, #0x8
                             add r2, #0xFF
                             mov r9, r2
                             mov r3, #0x0
                            loop: lsl r0, r3, #0x1
                             add r0, r0, r3
                             ldr r1, movesettable
                             add r1, r1, r6
                             ldr r1, [r1, #0x0]
                             add r7, r0, r1
                             ldrb r0, [r7, #0x2]
                             mov r4, r10
                             cmp r0, r4
                             bgt exit2
                             ldrb r1, [r7, #0x1]
                             ldrb r0, [r7, #0x0]
                             lsl r1, r1, #0x8
                             orr r1, r0
                             mov r0, r8
                             str r3, [sp, #0x0]
                             mov r4, r1
                             bl branchone
                             mov r5, #0xFF
                             ldr r3, [sp, #0x0]
                             cmp r0, r9
                             bne exit
                             mov r0, r8
                             add r1, r4, #0x0
                             bl branchtwo
                             ldr r3, [sp, #0x0]
                            exit: add r3, #0x1
                            # lsl r1, r3, #0x1
                            # add r1, r1, r3
                            # add r0, r7, r1
                             mov r1, #0x3
                             add r0, r7, r1
                             ldrb r0, [r0, #0x2]
                             cmp r0, r5
                             bne loop
                            exit2: add sp, #0x4
                             pop {r3-r5}
                             mov r8, r3
                             mov r9, r4
                             mov r10, r5
                             pop {r4-r7}
                             pop {r0}
                             bx r0
                            branchone: push {r4-r7,lr}
                             add sp, #-0x4
                             ldr r7, gothere
                             bx r7
                            branchtwo: push {r4-r7,lr}
                             ldr r7, gothere2
                             bx r7
                            .align
                            gothere: .word 0x0803E8B5
                            gothere2: .word 0x0803EC43
                            movesettable: .word 0x0825D7B4
                            The changes are fairly simple. First, Jambo's code seemed to assume that the method called by "branchone" returned 0xFF if the pokemon didn't have a spare slot in its movepool- not only would this cause problems with Spit Up (which is move 0xFF), but in actuality it returns 0xFFFF. (Note that this means you won't be able to use slot 0xFFFF for a move and have it behave properly without further tweaking). I modified the code to look for that instead. I also fixed two other issues that were never reached previously- the call to "branchtwo" now properly pushes last register, and the move being learned is stored in r4 before branchone is called at all, which means that pokemon don't constantly learn their level instead of actual moves.

                            This only applies to the method that enables you to have more than 512 moves- if all you did was repoint a few tables this doesn't impact you.

                            (implying anyone cares when over two years have passed and only one other person noticed)

                            EDIT: don't use this by its own. I was working with the 649 to patch this, and assumed the only tweaks were what Jambo documented here; he made a bunch of other changes as well. Read the next page, there's a byte tweak for it that should fix things most of the time.

                            11/4/2014 edit: updated this method, it should work properly now even without the one following it.
                            __________________

                            Yet Another Fire Red Hack

                            Physical/Special Split
                            Reply With Quote
                              #91    
                            Old January 1st, 2014 (11:22 PM).
                            Tlachtli's Avatar
                            Tlachtli Tlachtli is offline
                            Crit happens.
                               
                              Join Date: Jan 2012
                              Location: Faraway place
                              Age: 26
                              Gender: Male
                              Nature: Lax
                              Posts: 267
                              I just want to add that Jambo's first method in the OP works perfectly for Emerald if you substitute the addresses below. Also if you want to add in Contest data for new moves (only applies to R/S/E), the table locations and lengths are listed with the rest below below. I also copied the extra addresses from the end of the table instead of the beginning, but that shouldn't make any difference.

                              Table locations and lengths for Emerald/BPEE:
                              Code:
                              Attack Names - Start at 0x31977C, 4615 bytes (0x1207 hex) + 13*new
                              Attack Data - Start at 0x31C898, 4260 bytes (0x10A4 hex) + 12*new
                                    (PP Data - Start at 31C898+4)
                              Contest Move Data - Start at 0x58C2B4, 2840 bytes (0xB18 hex) + 8*new
                              Contest Effect Data - Start at 0x58CDCC, 1420 bytes (0x58C hex) + 4*new
                              Attack Description Table - Start at 0x61C524, 1420 bytes (0x58C hex) + 4*new
                              Attack Animation Table - Start at 0x2C8D6C, 1420 bytes (0x58C hex) + 4*new
                              __________________
                              Pokemon Sigma Σmerald:
                              (now under management by DraconianWing)

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

                              Reply With Quote
                                #92    
                              Old January 20th, 2014 (7:05 PM).
                              ShyRayq's Avatar
                              ShyRayq ShyRayq is online now
                              Unprofessional Unprofessional
                                 
                                Join Date: Aug 2007
                                Gender: Male
                                Nature: Adamant
                                Posts: 1,466
                                Okay, so, I've correctly inserted the 3 routines for extending the move table past 512 moves.
                                I also inserted Doesn't reworked routine instead of Jambo's one.
                                Now there's a new(?) problem.
                                So my moves a working fine, everything part 512 works fine. But the problem is that my pokemon will now, now longer learn a new move, regardless of whether it is a new move or an old move.
                                I've checked the routines, and pointers and everything. Is there something else wrong with the routine or am I just stupid?
                                __________________
                                3DS Friend Code: 5069-3944-3902
                                IGN: Peter; (X, Y, OR, AS, M)
                                Friend Safari: (Fighting) Throh, Meditite, Breloom
                                Living Pokedex Complete: LG, E, Pl, Y, OR, M
                                Big thanks especially to DestinedJagold, Xerneas_X, Elements1 and ~RNC~

                                PM me if you want to trade, or add my FC.
                                Reply With Quote
                                  #93    
                                Old January 21st, 2014 (11:55 AM).
                                BugMania's Avatar
                                BugMania BugMania is offline
                                The Bug Master
                                   
                                  Join Date: Jun 2013
                                  Gender: Male
                                  Nature: Quiet
                                  Posts: 32
                                  Quote:
                                  Originally Posted by ShyRayq View Post
                                  Okay, so, I've correctly inserted the 3 routines for extending the move table past 512 moves.
                                  I also inserted Doesn't reworked routine instead of Jambo's one.
                                  Now there's a new(?) problem.
                                  So my moves a working fine, everything part 512 works fine. But the problem is that my pokemon will now, now longer learn a new move, regardless of whether it is a new move or an old move.
                                  I've checked the routines, and pointers and everything. Is there something else wrong with the routine or am I just stupid?




                                  See this routine I wrote:
                                  Spoiler:

                                  .text
                                  .align 2
                                  .thumb

                                  Matriz:
                                  mov r3, #0x0
                                  ldr r1, Contador2
                                  str r3, [r1]
                                  ldr r1, moves
                                  str r3, [r1]
                                  add r1, #0x4
                                  str r3, [r1]
                                  add r1, #0x4
                                  str r3, [r1]
                                  add r1, #0x4
                                  str r3, [r1]
                                  LDR R1, movesettable
                                  ADD R1, R6, R1
                                  LDR r2, [R1]
                                  LDR r3, var
                                  STR r2, [r3]
                                  Start:
                                  mov r2, r10
                                  LDR r3, var
                                  LDR r3, [r3]
                                  LDRB r3, [r3, #0x2]
                                  CMP r3, r2
                                  BLS Frente
                                  ldr r1, var
                                  ldr r2, [r1]
                                  sub r2, #0x3
                                  str r2, [r1]
                                  B Compare
                                  Frente:
                                  LDR r2, var
                                  LDR r2, [r2]
                                  ADD r2, #0x3
                                  LDR r3, var
                                  STR r2, [r3]
                                  B Start
                                  Compare:
                                  LDR r2, Contador
                                  LDRB r2, [r2]
                                  CMP r2, #0x4
                                  BEQ end
                                  LDR r2, var
                                  LDR r2, [r2]
                                  LDRH r2, [r2]
                                  LDR r3, moves
                                  LDRH r3, [r3]
                                  LDR R7, Contador2
                                  LDRB R7, [R7]
                                  ADD r3, R7, r3
                                  CMP r2, r3
                                  BEQ Traz
                                  LDR R7, Contador2
                                  LDRB R7, [R7]
                                  ADD R7, #0x3
                                  LDR r2, Contador2
                                  STRH R7, [r2]
                                  LDR R7, Contador2
                                  LDRB R7, [R7]
                                  CMP R7, #0xC
                                  Blo Compare
                                  LDR R7, Contador2
                                  MOV r2, #0x0
                                  STRB r2, [R7]
                                  B Insert
                                  end:
                                  MOV r3, #0x0
                                  LDR r2, Contador
                                  STR r3, [r2]
                                  ldr r1, var
                                  ldr r2, [r1]
                                  add r2, #0x3
                                  str r2, [r1]
                                  LDR R1, movesettable
                                  ADD R1, R6, R1
                                  LDR r2, [R1]
                                  ldr r1, var
                                  ldr r3, [r1]
                                  cmp r3, r2
                                  bhs end1
                                  str r2, [r1]
                                  end1:
                                  mov r2, #0x0
                                  mov r3, #0x0
                                  mov r4, #0x0
                                  mov r7, #0x0
                                  LDR R1, Go
                                  bx r1
                                  Traz:
                                  LDR r1, var
                                  LDR r2, [r1]
                                  sub r2, #0x3
                                  str r2, [r1]
                                  B Compare


                                  Insert:
                                  LDR R7, Contador
                                  LDRB R7, [R7]
                                  MOV r2, #0x3
                                  MUL R7, r2, R7
                                  LDR r3, moves
                                  ADD r3, R7, r3
                                  LDR r2, var
                                  LDR r2, [r2]
                                  LDRB r2, [r2]
                                  STRB r2, [r3]
                                  LDR r2, var
                                  LDR r2, [r2]
                                  LDRB r2, [r2, #0x1]
                                  STRB r2, [r3, #0x1]
                                  LDR r2, var
                                  LDR r2, [r2]
                                  LDRB R2, [R2, #0x2]
                                  STRB R2, [R3, #0x2]
                                  LDR R7, Contador
                                  LDRH R7, [R7]
                                  ADD R7, #0x1
                                  LDR r2, Contador
                                  STRB R7, [r2]
                                  b Traz

                                  .align 2
                                  var: .word 0x02FF7d24
                                  Contador2: .word 0x02FF7D2C
                                  moves: .word 0x02FF7D50
                                  movesettable: .word 0x08XXXXXX
                                  Contador: .word 0x02FF7D28
                                  Go: .word 0xJAMBO51ROUTINEOFFSET

                                  So, instead of using the routine of the Jambo51, use this:
                                  Spoiler:

                                  .text
                                  .align 2
                                  .thumb
                                  .thumb_func
                                  .global newmovesetstyle2
                                  main:
                                  ldrb r1, [r0, #0x2]
                                  mov r2, #0xFF
                                  cmp r1, r2
                                  beq exit2
                                  mov r9, r2
                                  mov r3, #0x0
                                  loop: lsl r0, r3, #0x1
                                  add r0, r0, r3
                                  ldr r1, =0x02FF7D24
                                  ldr r1, [r1, #0x0]
                                  add r7, r0, r1
                                  ldrb r0, [r7, #0x2]
                                  mov r4, r10
                                  cmp r0, r4
                                  bgt exit2
                                  ldrb r1, [r7, #0x1]
                                  ldrb r0, [r7, #0x0]
                                  lsl r1, r1, #0x8
                                  orr r1, r0
                                  mov r0, r8
                                  str r3, [sp, #0x0]
                                  bl branchone
                                  mov r5, r9
                                  ldr r3, [sp, #0x0]
                                  cmp r0, r9
                                  bne exit
                                  mov r0, r8
                                  add r1, r4, #0x0
                                  bl branchtwo
                                  ldr r3, [sp, #0x0]
                                  exit: add r3, #0x1
                                  lsl r1, r3, #0x1
                                  add r1, r1, r3
                                  add r0, r7, r1
                                  ldrb r0, [r0, #0x2]
                                  cmp r0, r5
                                  bne loop
                                  exit2: add sp, #0x4
                                  pop {r3-r5}
                                  mov r8, r3
                                  mov r9, r4
                                  mov r10, r5
                                  pop {r4-r7}
                                  pop {r0}
                                  bx r0
                                  branchone: push {r4-r7,lr}
                                  add sp, #-0x4
                                  ldr r7, gothere
                                  bx r7
                                  branchtwo: push {r4-r7}
                                  ldr r7, gothere2
                                  bx r7
                                  .align
                                  gothere: .word 0x0803E8B5
                                  gothere2: .word 0x0803EC43
                                  movesettable: .word 0x08FFFFFF

                                  This causes, instead of loading the movesettable adding to the level of the Pokemon, directly loading a byte of memory to your taste!
                                  ...
                                  In this case, the movements were loaded with my previous routine.
                                  __________________
                                  Even the smallest of beings can achieve the greatest of obstacles!
                                  Click in the spoiler, if you dare!
                                  Spoiler:


                                  L
                                  et's dream bigger than our bodies can endure!
                                  G
                                  et to the extreme!

                                  See my works here

                                  Reply With Quote
                                    #94    
                                  Old January 21st, 2014 (10:43 PM).
                                  ShyRayq's Avatar
                                  ShyRayq ShyRayq is online now
                                  Unprofessional Unprofessional
                                     
                                    Join Date: Aug 2007
                                    Gender: Male
                                    Nature: Adamant
                                    Posts: 1,466
                                    Wait wait, how would I insert those routines? I only inserted the second one and replaced Doesn't fixed routine with yours, so I essentially replaced the second routine.
                                    That still wouldn't work, so I'm going to ask that, do I just insert the first routine anywhere? What other bytes do I have to modify to branch to the first routine?

                                    My theory is that, maybe, the first routine is the problem, since the 512+ moves are loading correctly, and its just that I'm not learning any moves. But I don't know...
                                    __________________
                                    3DS Friend Code: 5069-3944-3902
                                    IGN: Peter; (X, Y, OR, AS, M)
                                    Friend Safari: (Fighting) Throh, Meditite, Breloom
                                    Living Pokedex Complete: LG, E, Pl, Y, OR, M
                                    Big thanks especially to DestinedJagold, Xerneas_X, Elements1 and ~RNC~

                                    PM me if you want to trade, or add my FC.
                                    Reply With Quote
                                      #95    
                                    Old January 22nd, 2014 (1:24 AM).
                                    BugMania's Avatar
                                    BugMania BugMania is offline
                                    The Bug Master
                                       
                                      Join Date: Jun 2013
                                      Gender: Male
                                      Nature: Quiet
                                      Posts: 32
                                      Quote:
                                      Originally Posted by ShyRayq View Post
                                      Wait wait, how would I insert those routines? I only inserted the second one and replaced Doesn't fixed routine with yours, so I essentially replaced the second routine.
                                      That still wouldn't work, so I'm going to ask that, do I just insert the first routine anywhere? What other bytes do I have to modify to branch to the first routine?

                                      My theory is that, maybe, the first routine is the problem, since the 512+ moves are loading correctly, and its just that I'm not learning any moves. But I don't know...
                                      Ok, sorry if I was not very clear ...
                                      Spoiler:

                                      --------------------------------------------------------------------------------
                                      The first routine (which I wrote) serves to locate the pokemon data.
                                      You will insert it into any free space.
                                      Instead of directly inserting the routine of the Jambo 51 (Change 0x3EA10 to 00 49 08 47 XX XX XX 08), insert this XXXXXX my routine +1.
                                      Now you will have the data of the movements of the pokemon in an area of ​​memory, the 0x02FF7D24.
                                      --------------------------------------------------------------------------------

                                      Spoiler:

                                      --------------------------------------------------------------------------------
                                      The second routine is almost the same of the routine of the Jambo 51, ​​so this does not do the calculations, only handle the movements directly in 0x02FF7d24.
                                      Now, where do you see what is written "JAMBO51ROUTINEOFFSET" you must put in this place to offset it a second routine that showed +1 (in any space).
                                      --------------------------------------------------------------------------------
                                      __________________
                                      Even the smallest of beings can achieve the greatest of obstacles!
                                      Click in the spoiler, if you dare!
                                      Spoiler:


                                      L
                                      et's dream bigger than our bodies can endure!
                                      G
                                      et to the extreme!

                                      See my works here

                                      Reply With Quote
                                        #96    
                                      Old January 22nd, 2014 (2:05 AM).
                                      ShyRayq's Avatar
                                      ShyRayq ShyRayq is online now
                                      Unprofessional Unprofessional
                                         
                                        Join Date: Aug 2007
                                        Gender: Male
                                        Nature: Adamant
                                        Posts: 1,466
                                        After all of that, my Pokemon still won't learn any new moves.
                                        However, the error in Jambo's original routine (the one Doesn't points out) has been erased so, that's a plus.

                                        I'm sorry for causing you this trouble, but, I just think that figuring this out is something that needs to be done.
                                        __________________
                                        3DS Friend Code: 5069-3944-3902
                                        IGN: Peter; (X, Y, OR, AS, M)
                                        Friend Safari: (Fighting) Throh, Meditite, Breloom
                                        Living Pokedex Complete: LG, E, Pl, Y, OR, M
                                        Big thanks especially to DestinedJagold, Xerneas_X, Elements1 and ~RNC~

                                        PM me if you want to trade, or add my FC.
                                        Reply With Quote
                                          #97    
                                        Old January 25th, 2014 (11:00 PM).
                                        Leafbarrett's Avatar
                                        Leafbarrett Leafbarrett is offline
                                           
                                          Join Date: Mar 2009
                                          Age: 25
                                          Gender: Male
                                          Posts: 75
                                          Welp, since nobody else wants to try to help out Emerald hackers, I guess I'll throw these in here.
                                          These are all Emerald pointers, obviously.
                                          Attack data: 31C898
                                          Name data: 31977C
                                          Anim data: 2C8D6C
                                          Limiter: 14e504
                                          Effects data: Haven't got a ****ing clue, the tutorial fails me for this one
                                          Reply With Quote
                                            #98    
                                          Old January 26th, 2014 (11:59 PM). Edited January 28th, 2014 by bcrobert.
                                          bcrobert's Avatar
                                          bcrobert bcrobert is offline
                                          Lazy Antagonist
                                             
                                            Join Date: Apr 2011
                                            Gender: Male
                                            Nature: Quirky
                                            Posts: 79
                                            Quote:
                                            Originally Posted by Leafbarrett View Post
                                            Welp, since nobody else wants to try to help out Emerald hackers, I guess I'll throw these in here.
                                            These are all Emerald pointers, obviously.
                                            Attack data: 31C898
                                            PP data: 31c89d
                                            Name data: 31977C
                                            Anim data: 2C8D6C
                                            Limiter: 14e504
                                            Effects data: 2d86a8
                                            Contest data: 58c2b4
                                            Does this help? My additions are in bold. I haven't tested these myself but I believe they're correct. Thought I'd chime in since you saved me the trouble of tracking down the limiter.

                                            EDIT. Tlachtli had covered literally everything except the limiter without me realizing it somehow. These are correct but scroll up to post 91 for a more detailed answer.
                                            __________________
                                            Reply With Quote
                                              #99    
                                            Old January 27th, 2014 (11:31 AM).
                                            Teh Blazer's Avatar
                                            Teh Blazer Teh Blazer is offline
                                            Divider of Zero
                                               
                                              Join Date: Feb 2009
                                              Location: 'MERICA
                                              Age: 21
                                              Gender: Male
                                              Nature: Relaxed
                                              Posts: 768
                                              I repointed my table and added new moves, but now my status effect animations have changed to my new moves (ex: instead of z's when you're asleep a bunch of rocks fall on your head). Was there something I forgot to repoint?
                                              __________________
                                              Being a hero is overrated anyways
                                              Reply With Quote
                                                #100    
                                              Old January 27th, 2014 (1:36 PM).
                                              ShyRayq's Avatar
                                              ShyRayq ShyRayq is online now
                                              Unprofessional Unprofessional
                                                 
                                                Join Date: Aug 2007
                                                Gender: Male
                                                Nature: Adamant
                                                Posts: 1,466
                                                Quote:
                                                Originally Posted by Teh Blazer View Post
                                                I repointed my table and added new moves, but now my status effect animations have changed to my new moves (ex: instead of z's when you're asleep a bunch of rocks fall on your head). Was there something I forgot to repoint?
                                                Is this just on the new moves or the old moves as well? If it's just the new moves, don't worry, that's normal because the animation pointers get shifted over one place. But if it's the old moves as well, you might have don't something very wrong with the pointers to the animation pointer table or messed up one of the animation script pointers. Make sure you backup and quintuple check everything.
                                                __________________
                                                3DS Friend Code: 5069-3944-3902
                                                IGN: Peter; (X, Y, OR, AS, M)
                                                Friend Safari: (Fighting) Throh, Meditite, Breloom
                                                Living Pokedex Complete: LG, E, Pl, Y, OR, M
                                                Big thanks especially to DestinedJagold, Xerneas_X, Elements1 and ~RNC~

                                                PM me if you want to trade, or add my FC.
                                                Reply With Quote
                                                Reply
                                                Quick Reply

                                                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 4:15 PM.