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!

TrollandToad.com
Reply
 
Thread Tools
  #501    
Old May 31st, 2014 (1:56 PM).
Le pug's Avatar
Le pug Le pug is offline
Creator of Pokémon: Discovery / Fat Kid
  • Crystal Tier
 
Join Date: Aug 2013
Location: Le bed
Age: 24
Gender: Male
Nature: Bold
Posts: 784
Quote:
Originally Posted by Magic View Post
Does anyone have any idea where the 'flash' animation/script/asm routine/special/whatever it is can be found, or how to mimic it? I've scoured around everywhere I can think of, the lack of actual messages when executing flash is preventing me hex-searching the normal way. Anyone know anything?
For emerald, you can use the commands lighten and darken and then just set how much you want to be shown. Or if you want a quick flash effect, you can use special 0x13F.

---------------

For anyone who wants to change the preset names that pop up if you leave the naming spots blank and just press enter, I have all the names and their locations in the following spoiler. I also included the intro texts in order by using numbers. Just add it to your A-Text ini if you want to see them in that program but I recommend not using a-text for anything else besides finding texts!

Spoiler:
1=2C897B
2=2C89FB
3=2C8A1F
4=2C8BD0
5=2C8BDD
Boy=30FDF7
Girl=30FF0A
6=2C8BFF
Your Name?=5EEABE
Brett=5E85D8
Collin=5E85FD
Terry=315AFC
Casey=5E85E9
Johnny=5E85D1
Reid=5E85AD
Kenny=5E85A7
Quincy=3132D4
Stu=5E8598
Teru=5E85CC
Tom=5E85A3
Landon=5E85F6
Walker=5E85C5
Tiara=5E8619
Lillie=5E867A
Halie=5E868C
Terra=5E8681
Kimmy=5E8613
Tanja=5E8666
Lucy=5E8687
Hazel=5E8659
Allie=5E862B
Nadine=5E865F
Camila=5E8644
Sara=5E8638
Bella=5E861F
Jayla=5E8625
Nicola=5E8673
Lianna=5E8631
Monica=5E863D
Aubree=5E864B
Ruthie=5E8652
Yasmin=5E866C
Jaxson=5E85B7
Jude=5E85B2
Darren=5E85EF
Seth=5E85DE
Milton=5E859C
Stanley=5E8604
Easton=5E85BE
7=2C8C1C
8=2C8C2A
9=2C8C7A
__________________







/// Pokémon: Discovery
/// Pokémon: Fat Kid
/// Tile Insertion Tutorial For AdvanceMap
/// Pokémon Emerald Specials Resource Thread
/// Pokémon Emerald Decapitalization Patch
/// Emerald Titlescreen Cloud Removal Tutorial
/// Tutorial For Fixing Any ROM-related Bug
Reply With Quote

Relevant Advertising!

  #502    
Old May 31st, 2014 (1:58 PM).
Danny0317's Avatar
Danny0317 Danny0317 is offline
Fluorite's back, brah
  • Gold Tier
 
Join Date: Jun 2013
Location: Miami, FL
Age: 17
Gender: Male
Nature: Hasty
Posts: 1,075
Lighten works on fire red, too. Not sure about darken though.
__________________
Reply With Quote
  #503    
Old June 8th, 2014 (4:25 AM). Edited June 12th, 2014 by Spherical Ice.
Spherical Ice's Avatar
Spherical Ice Spherical Ice is offline
  • Crystal Tier
 
Join Date: Nov 2007
Location: Bristol, UK
Age: 19
Posts: 5,231


The Unknown value for Person events below the Pos (X/Y) field appears to control the altitude of the Person event.

Here's what happens in-game when the Unknown value is set to 0 or 3 on a bridge:


(Excuse the speed of the .gifs, Photoshop refuses to import anything higher than 500 frames so I had to double the FPS)

This is unideal if you want this NPC to be on top of the bridge, and not below it. However, setting the Unknown byte to 4 results in this:



You cannot interact with Person events which are on a different layer to that of the player; this includes stepping in the view radius of a Trainer on a different altitude (in that, the battle will not activate).

For clarification, this is how the bridge's movement permissions are laid out:



The following values for this Unknown byte lowers the Person event to the corresponding layer (where the layer # is the movement permission number).
Code:
0 - Appears to be Layer C.
1 - Layer 4 (Surfing)
2 - Layer 8 (???)
3 - Layer C (Regular ground)
4 - Layer 10 (appears to work for all layers above this, too (Layer 14, Layer 18, etc.))
If the ground is on layer C, for example, and the Person event has the Unknown value set to 1, for example, the Person event will not display. This could make hiding Person events far easier and flag-efficient, as you could just simply set their altitude to be lower than C, and then make them show with the spritelevelup command (I haven't actually tested that, but it should work, in theory).

It would be safe to assume that the other Unknown values for warps and script events are also this, as they are set to 3 in most cases in vanilla FireRed, too.
__________________

A Pokemon that is discriminated!
Support squirtle and make it everyone's favourite.
Reply With Quote
  #504    
Old June 12th, 2014 (10:14 AM).
esperance's Avatar
esperance esperance is offline
  • Platinum Tier
 
Join Date: Mar 2010
Location: Ohio
Age: 20
Gender: Male
Nature: Relaxed
Posts: 3,830
Quote:
Originally Posted by GoGoJJTech View Post
If you want a-map 1.92 to have support for new pokemon in the wild then follow these directions:
http://pastebin.com/13djBRnT
Originally found by Baitot :D
First, I wanna start by saying this does work.

But, you need to use the Advanced Map provided by this link, which should be 1,231 KB.
Mine was 426 KB, and didn't work for this method.
__________________
What are you so afraid of?
Reply With Quote
  #505    
Old June 12th, 2014 (11:31 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 itari View Post
First, I wanna start by saying this does work.

But, you need to use the Advanced Map provided by this link, which should be 1,231 KB.
Mine was 426 KB, and didn't work for this method.
Yes, that is the point of me linking the advanced map and saying to download this advanced map
:D
__________________
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
  #506    
Old June 18th, 2014 (11:37 PM).
ShyGuy25 ShyGuy25 is offline
     
    Join Date: Jun 2012
    Gender: Male
    Posts: 20
    What part of the script do I need to remove/add to make Fire Red move tutors reusable? I've seen that Pokémon Glazed managed to do it but because of its expanded size I couldn't open it up and see how it was done.
    Reply With Quote
      #507    
    Old June 19th, 2014 (7:39 PM). Edited June 20th, 2014 by DoesntKnowHowToPlay.
    DoesntKnowHowToPlay's Avatar
    DoesntKnowHowToPlay DoesntKnowHowToPlay is offline
    Tiny Umbrella with Lots and Lots of Good
       
      Join Date: Jan 2012
      Posts: 258


      XY added a feature that gives experience points when you catch pokemon. To duplicate this in FR, do the following:

      Repoint the battle script at x1d9a42 to point to this:

      2A 00 68 3D 02 02 05 00 50 9A 1D 08 60 0B 10 0B 01 F1 XX XX XX XX 2E E0 3F 02 02 00 2E 0C 3C 02 02 00 2E 0D 3C 02 02 00 23 00 10 0F 01 3A 2E 82 3E 02 02 00 F2 10 0D 01 3A 2E 82 3E 02 02 00 F3 80 9A 1D 08 F0 13 54 E6 3F 08 12 40 00 28 81 9A 1D 08

      where XX XX XX XX is a pointer to:

      2E E0 3F 02 02 00 2E 0C 3C 02 02 00 2E 0D 3C 02 02 00 23 00 10 0D 01 3A 2E 82 3E 02 02 00 F3 80 9A 1D 08 F0 13 54 E6 3F 08 12 40 00 28 81 9A 1D 08

      To let the player's mons evolve from this experience, replace the bytes at x15A68 with A1 5A 01 08.

      Edit: Changed the scripts, I assumed they cut off earlier than they actually did. Should work with full party+no nickname now.
      __________________

      Yet Another Fire Red Hack

      Physical/Special Split
      Reply With Quote
        #508    
      Old June 20th, 2014 (12:13 AM).
      Logan's Avatar
      Logan Logan is offline
      • Platinum Tier
       
      Join Date: Nov 2008
      Location: Salisbury, England
      Age: 22
      Gender: Male
      Nature: Sassy
      Posts: 10,036
      Quote:
      Originally Posted by DoesntKnowHowToPlay View Post


      XY added a feature that gives experience points when you catch pokemon. To duplicate this in FR, do the following:

      Repoint the battle script at x1d9a42 to point to this:

      2A 00 68 3D 02 02 05 00 50 9A 1D 08 60 0B 10 0B 01 F1 XX XX XX XX 2E E0 3F 02 02 00 2E 0C 3C 02 02 00 2E 0D 3C 02 02 00 23 00 10 0F 01 3A 2E 82 3E 02 02 00 F2 10 0D 01 3A 2E 82 3E 02 02 00 F3 80 9A 1D 08

      where XX XX XX XX is a pointer to:

      2E E0 3F 02 02 00 2E 0C 3C 02 02 00 2E 0D 3C 02 02 00 23 00 10 0D 01 3A 2E 82 3E 02 02 00 F3 80 9A 1D 08

      To let the player's mons evolve from this experience, replace the bytes at x15A68 with A1 5A 01 08.
      Ahhhh I've been trying to pinpoint how to do this for a few weeks. I finally thought I was getting somewhere but I've been well and truly beaten here. Great find though and a wonderful advancement for ROM Hacking :).
      Reply With Quote
        #509    
      Old June 20th, 2014 (12:30 PM). Edited July 23rd, 2014 by Chaos Rush.
      Chaos Rush's Avatar
      Chaos Rush Chaos Rush is offline
         
        Join Date: May 2007
        Gender: Male
        Posts: 1,303


        XY added a feature that gives experience points when you catch pokemon. To duplicate this in Emerald, do the following:

        Repoint the battle script at x2dbd84 to point to this:

        2A 00 08 42 02 02 05 00 92 BD 2D 08 60 0B 10 0B 01 F1 XX XX XX XX 2E 90 44 02 02 00 2E AC 40 02 02 00 2E AD 40 02 02 00 23 00 10 0F 01 3A 2E 32 43 02 02 00 F2 10 0D 01 3A 2E 32 43 02 02 00 F3 C2 BD 2D 08 F0 13 7A C9 5C 08 12 40 00 28 C3 BD 2D 08

        where XX XX XX XX is a pointer to:

        2E 90 44 02 02 00 2E AC 40 02 02 00 2E AD 40 02 02 00 23 00 10 0D 01 3A 2E 32 43 02 02 00 F3 C2 BD 2D 08 F0 13 7A C9 5C 08 12 40 00 28 C3 BD 2D 08

        To let the player's mons evolve from this experience, replace the bytes at x3DE7C with B5 DE 03 08.

        credit obviously goes to DoesntKnowHowToPlay for doing this first on FireRed lol

        EDIT: So apparently, as discovered by Tlachtli, if you level up from experience while catching a Pokémon that hasn't yet been recorded to the Pokédex, then the Pokédex screen will have the text displayed in the wrong X-position offset. I'll look into it eventually
        __________________
        Reply With Quote
          #510    
        Old June 20th, 2014 (5:29 PM).
        lsmash lsmash is offline
           
          Join Date: Jan 2014
          Posts: 27
          Quote:
          Originally Posted by DoesntKnowHowToPlay View Post


          XY added a feature that gives experience points when you catch pokemon. To duplicate this in FR, do the following:

          Repoint the battle script at x1d9a42 to point to this:

          2A 00 68 3D 02 02 05 00 50 9A 1D 08 60 0B 10 0B 01 F1 XX XX XX XX 2E E0 3F 02 02 00 2E 0C 3C 02 02 00 2E 0D 3C 02 02 00 23 00 10 0F 01 3A 2E 82 3E 02 02 00 F2 10 0D 01 3A 2E 82 3E 02 02 00 F3 80 9A 1D 08 F0 13 54 E6 3F 08 12 40 00 28 81 9A 1D 08

          where XX XX XX XX is a pointer to:

          2E E0 3F 02 02 00 2E 0C 3C 02 02 00 2E 0D 3C 02 02 00 23 00 10 0D 01 3A 2E 82 3E 02 02 00 F3 80 9A 1D 08 F0 13 54 E6 3F 08 12 40 00 28 81 9A 1D 08

          To let the player's mons evolve from this experience, replace the bytes at x15A68 with A1 5A 01 08.

          Edit: Changed the scripts, I assumed they cut off earlier than they actually did. Should work with full party+no nickname now.
          Would you mind telling me how you fixed the music that plays after you captured a pokemon?
          I made the same feature (though differently: I didn't need to replace the bytes at x15A68), which is almost flawless, if not for the music: it plays the captured pokemon jingle, then the receive exp jingle.
          You can check it here: http://pokemonhackersonline.com/showthread.php?t=14839-FR-Pokemons-receive-EXP-after-capturing
          __________________
          Reply With Quote
            #511    
          Old June 20th, 2014 (5:58 PM).
          DoesntKnowHowToPlay's Avatar
          DoesntKnowHowToPlay DoesntKnowHowToPlay is offline
          Tiny Umbrella with Lots and Lots of Good
             
            Join Date: Jan 2012
            Posts: 258
            I did a sneaky little trick- the script zeroes out the HP of the active pokemon's battle struct. The game then assumes that you died from Explosion and doesn't give experience to the active pokemon, which is what starts the music- however, it nonetheless proceeds to hand it out to the rest of the party, which includes the active pokemon as it wasn't flagged as getting its share earlier.
            __________________

            Yet Another Fire Red Hack

            Physical/Special Split
            Reply With Quote
              #512    
            Old June 21st, 2014 (8:33 AM). Edited June 21st, 2014 by lsmash.
            lsmash lsmash is offline
               
              Join Date: Jan 2014
              Posts: 27
              I combined my work with the one from Doesnt. As a result, there are less bytes to write into freespace.
              So, here's what to do to give exp points when you catch a pokemon:
              1-The bytes to put into freespace: 2E E0 3F 02 02 00 2E 0C 3C 02 02 00 2E 0D 3C 02 02 00 23 00 F1 63 9A 1D 08 28 58 9A 1D 08

              2-The bytes to replace at 1D9A53: 41 XX XX XX 08 (XX = pointer to the code above).

              3-Just like Doesnt wrote earlier, replace the bytes at 15A68 with A1 5A 01 08.

              It should work without problems, as I tested it before posting.

              Thanks to Doesnt for telling me how to fix a music issue.
              __________________
              Reply With Quote
                #513    
              Old June 21st, 2014 (11:51 AM). Edited June 22nd, 2014 by Ollie11.
              Ollie11 Ollie11 is offline
                 
                Join Date: May 2014
                Gender: Male
                Posts: 34
                I want to create custom regional Pokedex in FireRed (not simplify expanding Kanto Dex, but creating a new one). But what with that Second Dex order? I mean, in PGE's ini, there is Second Dex Table offset for BPRE (and all others). In PGE's Pokedex Order Editor there are two orders: first is National, and second (named ????????? there) is Hoenn, because first Pokemon is Treecko and 202th is Deoxys. Are there any ways to replace Kanto Dex with this order?
                Reply With Quote
                  #514    
                Old June 21st, 2014 (6:41 PM).
                RichterSnipes's Avatar
                RichterSnipes RichterSnipes is offline
                *pew pew pew*
                   
                  Join Date: Oct 2011
                  Location: USA
                  Age: 24
                  Gender: Male
                  Nature: Modest
                  Posts: 370
                  Quote:
                  Originally Posted by ShyGuy25 View Post
                  What part of the script do I need to remove/add to make Fire Red move tutors reusable? I've seen that Pokémon Glazed managed to do it but because of its expanded size I couldn't open it up and see how it was done.
                  Each move tutor will check to see if a specific flag has been set or not before asking the player if he/she wants to teach a Pokémon a certain move. The script for the Mega Punch tutor on Route 4, for instance, will check to see if flag 0x2C4 has been set. That flag will only be set once the move has been taught. Removing those flag checks/sets will allow you to reuse them endlessly.

                  It's a bit more complicated for the elemental Hyper Beam move tutor, as that involves the use of a special to see if you have the right Pokémon with the right credentials and which of the moves have been already taught. It's a similar concept, though.
                  __________________
                  My hack:
                  Reply With Quote
                    #515    
                  Old June 26th, 2014 (8:07 PM). Edited June 26th, 2014 by Shufflejoy.
                  Shufflejoy's Avatar
                  Shufflejoy Shufflejoy is offline
                  Tutturu!
                     
                    Join Date: Sep 2013
                    Gender: Female
                    Nature: Quiet
                    Posts: 23
                    Quote:
                    Originally Posted by Chaos Rush View Post


                    XY added a feature that gives experience points when you catch pokemon. To duplicate this in Emerald, do the following:

                    Repoint the battle script at x2dbd84 to point to this:

                    2A 00 08 42 02 02 05 00 92 BD 2D 08 60 0B 10 0B 01 F1 XX XX XX XX 2E 90 44 02 02 00 2E AC 40 02 02 00 2E AD 40 02 02 00 23 00 10 0F 01 3A 2E 32 43 02 02 00 F2 10 0D 01 3A 2E 32 43 02 02 00 F3 C2 BD 2D 08 F0 13 7A C9 5C 08 12 40 00 28 C3 BD 2D 08

                    where XX XX XX XX is a pointer to:

                    2E 90 44 02 02 00 2E AC 40 02 02 00 2E AD 40 02 02 00 23 00 10 0D 01 3A 2E 32 43 02 02 00 F3 C2 BD 2D 08 F0 13 7A C9 5C 08 12 40 00 28 C3 BD 2D 08

                    To let the player's mons evolve from this experience, replace the bytes at x3DE7C with B5 DE 03 08.

                    credit obviously goes to DoesntKnowHowToPlay for doing this first on FireRed lol
                    I'm having a problem with this and I'm unsure of how to fix it. Here's the relevant battle script, and the pointer I entered into it.



                    I've also tried formatting the pointer as 60C0EC08, 08ECC061, and 08ECC060. No changes, except for more oddities when I had formatted the pointers differently.

                    1. If the thrown Pokeball fails, my game freezes.
                    2. When the Pokemon is caught, Torchic does gain experience, but after the Pokedex information screen, I'm taken to a party select window, with the battle victory music still playing in the background. Torchic is the only Pokemon in the party, and I am unable to exit the window.

                    At xECC060, I've pasted the second string of bytes exactly as you've posted:



                    I have also tried omitting the bytes at x3DE7C, with no change.

                    If anyone could help me figure out what I have done wrong, I'd really appreciate it.
                    Reply With Quote
                      #516    
                    Old June 26th, 2014 (8:57 PM). Edited June 26th, 2014 by jirachiwishmaker.
                    jirachiwishmaker's Avatar
                    jirachiwishmaker jirachiwishmaker is offline
                       
                      Join Date: Jul 2007
                      Location: Forina
                      Gender: Male
                      Nature: Lonely
                      Posts: 75
                      Quote:
                      Originally Posted by Shufflejoy View Post
                      I'm having a problem with this and I'm unsure of how to fix it. Here's the relevant battle script, and the pointer I entered into it.



                      I've also tried formatting the pointer as 60C0EC08, 08ECC061, and 08ECC060. No changes, except for more oddities when I had formatted the pointers differently.

                      1. If the thrown Pokeball fails, my game freezes.
                      2. When the Pokemon is caught, Torchic does gain experience, but after the Pokedex information screen, I'm taken to a party select window, with the battle victory music still playing in the background. Torchic is the only Pokemon in the party, and I am unable to exit the window.

                      At xECC060, I've pasted the second string of bytes exactly as you've posted:



                      I have also tried omitting the bytes at x3DE7C, with no change.

                      If anyone could help me figure out what I have done wrong, I'd really appreciate it.
                      I was facing the same problem a few days ago. Repoint the battle script at 0x2DBD84 is not means to replace the original one with the new one directly in the address.

                      Firstly, you can place all the machine code in 0xECC060 like this:


                      Then replace the two pointers here from 84 BD 2D 08 to 60 C0 EC 08:




                      Finally, replace the bytes at 0x3DE7C with B5 DE 03 08. It may working properly now.
                      Attached Images
                      File Type: jpg 01.JPG‎ (58.1 KB, 840 views) (Save to Dropbox)
                      File Type: jpg 02.JPG‎ (15.3 KB, 834 views) (Save to Dropbox)
                      File Type: jpg 03.JPG‎ (14.9 KB, 831 views) (Save to Dropbox)
                      Reply With Quote
                        #517    
                      Old June 26th, 2014 (9:46 PM).
                      Shufflejoy's Avatar
                      Shufflejoy Shufflejoy is offline
                      Tutturu!
                         
                        Join Date: Sep 2013
                        Gender: Female
                        Nature: Quiet
                        Posts: 23
                        Quote:
                        Originally Posted by jirachiwishmaker View Post
                        I was facing the same problem a few days ago. Repoint the battle script at 0x2DBD84 is not means to replace the original one with the new one directly in the address.

                        Firstly, you can place all the machine code in 0xECC060 like this:


                        Then replace the two pointers here from 84 BD 2D 08 to 60 C0 EC 08:




                        Finally, replace the bytes at 0x3DE7C with B5 DE 03 08. It may working properly now.
                        Ahh, I understand what I'd done wrong now. I was trying to replace the original battle script, instead of finding the pointers to it and changing those. Thanks a lot!
                        Reply With Quote
                          #518    
                        Old July 7th, 2014 (1:53 PM).
                        xGal xGal is offline
                        Mhm
                           
                          Join Date: Nov 2011
                          Location: A tree
                          Gender: Other
                          Nature: Relaxed
                          Posts: 243
                          Well, I have been researching this: http://www.pokecommunity.com/showthread.php?t=212540.

                          In the thread, the threadstarter gave an offset for the table of the pictures when you enter a map (like viridian forest's trees, cave enterance in Mt. Moon etc.), the offset is: 0x8043E9E8.
                          It is possible to repoint the table, however there is a limiter, and Shiny Quagsire told me that the limiter is in 0x80F8104 .
                          __________________
                          Reply With Quote
                            #519    
                          Old July 15th, 2014 (8:57 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
                            Does anyone know the byte(s) to change in Emerald to increase the number of usable sound channels? I've been looking everywhere, but can't seem to find the post it was in.
                            __________________
                            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
                              #520    
                            Old July 15th, 2014 (10:52 PM).
                            mamamama mamamama is offline
                               
                              Join Date: Feb 2014
                              Posts: 180
                              Quote:
                              Originally Posted by Tlachtli View Post
                              Does anyone know the byte(s) to change in Emerald to increase the number of usable sound channels? I've been looking everywhere, but can't seem to find the post it was in.
                              Put B0 B5 00 03 10 at 0x86B49C4 to increase the playable tracks from 10 to 16

                              Put CC at 0x82E0105 increase the 5 DirectSound limit.
                              Reply With Quote
                                #521    
                              Old July 17th, 2014 (5:23 PM).
                              kearnseyboy6's Avatar
                              kearnseyboy6 kearnseyboy6 is offline
                              Aussie's Toughest Mudder
                                 
                                Join Date: Dec 2008
                                Posts: 300
                                In case anyone had not of thought of this, replicating the repeating trainer battles on warp in BW2 is as easy as setting their trainer flag, or clearing flag 0x5XX
                                __________________
                                HOLIDAYING CURRENTLY!!
                                Reply With Quote
                                  #522    
                                Old July 22nd, 2014 (6:57 AM). Edited July 28th, 2014 by Tlachtli.
                                Tlachtli's Avatar
                                Tlachtli Tlachtli is offline
                                Crit happens.
                                   
                                  Join Date: Jan 2012
                                  Location: Faraway place
                                  Age: 26
                                  Gender: Male
                                  Nature: Lax
                                  Posts: 267
                                  Quote:
                                  Originally Posted by Chaos Rush View Post


                                  XY added a feature that gives experience points when you catch pokemon. To duplicate this in Emerald, do the following:

                                  Repoint the battle script at x2dbd84 to point to this:

                                  2A 00 08 42 02 02 05 00 92 BD 2D 08 60 0B 10 0B 01 F1 XX XX XX XX 2E 90 44 02 02 00 2E AC 40 02 02 00 2E AD 40 02 02 00 23 00 10 0F 01 3A 2E 32 43 02 02 00 F2 10 0D 01 3A 2E 32 43 02 02 00 F3 C2 BD 2D 08 F0 13 7A C9 5C 08 12 40 00 28 C3 BD 2D 08

                                  where XX XX XX XX is a pointer to:

                                  2E 90 44 02 02 00 2E AC 40 02 02 00 2E AD 40 02 02 00 23 00 10 0D 01 3A 2E 32 43 02 02 00 F3 C2 BD 2D 08 F0 13 7A C9 5C 08 12 40 00 28 C3 BD 2D 08

                                  To let the player's mons evolve from this experience, replace the bytes at x3DE7C with B5 DE 03 08.

                                  credit obviously goes to DoesntKnowHowToPlay for doing this first on FireRed lol
                                  I believe I've found an interesting bug with this. Under normal circumstances it works fine: you battle, catch, gain xp, display Pokedex entry:


                                  However if you level up from that xp, it causes the Pokedex to go wonky:


                                  EDIT: Found another small graphical bug, too. Learning a move on level-up after successfully catching a Pokemon will cause the wild Poke's sprite to re-appear after exiting the move learning screen. Unimportant in the long run, as the battle ends right after.
                                  __________________
                                  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
                                    #523    
                                  Old July 22nd, 2014 (3:56 PM).
                                  Alisa180 Alisa180 is offline
                                     
                                    Join Date: May 2014
                                    Gender: Female
                                    Posts: 48
                                    I recently started ASM hacking. My first goal is to expand on Jambo51's pre-battle Mugshot routine hack and allow actual mugshots (rather then just sized-up sprites).

                                    After lots of reading, research, and digging through ASM and hex data, I felt confident enough to try something. And jackpot!

                                    If Jambo51's mugshot routine is installed, at location 0808386E, the data at r4 corresponds to the opponent Trainer sprite loaded into the mugshot. In this case, my byte was 6D corresponding to the Rocket sprite. If you change the byte here to a byte corresponding to a different Trainer sprite (In my case, I changed it to 6B, corresponding to the Scientist sprite), then the game will load the new sprite into the mugshot WITHOUT changing the opponent Trainer sprite!

                                    I'd post screenshots, but I'm not allowed to post links yet.

                                    This can be used as a starting point for a routine that can call opponent mugshots like in later generations. One can insert a routine at this point to call an image to replace the pre-battle mugshot. I'm still figuring out what part of the code actually resizes the sprite, but once I do, the potential routine can be written to skip over that part of the code.

                                    Now to learn more ASM so I can actually try writing said routine.
                                    Reply With Quote
                                      #524    
                                    Old July 23rd, 2014 (7:32 AM).
                                    Shiny Quagsire's Avatar
                                    Shiny Quagsire Shiny Quagsire is offline
                                    I'm Still Alive, Elsewhere
                                       
                                      Join Date: May 2009
                                      Location: Hoenn Safari Zone
                                      Age: 19
                                      Gender: Male
                                      Nature: Jolly
                                      Posts: 700
                                      Quote:
                                      Originally Posted by Tlachtli View Post
                                      I believe I've found an interesting bug with this. Under normal circumstances it works fine: you battle, catch, gain xp, display Pokedex entry:


                                      However if you level up from that xp, it causes the Pokedex to go wonky:
                                      It looks to me like BG0 is just a bit offset. I bet there's a battle script command to fix that, but I can't be certain.
                                      __________________



                                      Reply With Quote
                                        #525    
                                      Old July 25th, 2014 (11:29 PM).
                                      Alisa180 Alisa180 is offline
                                         
                                        Join Date: May 2014
                                        Gender: Female
                                        Posts: 48
                                        After several days of digging through and fiddling with the mugshot routine, I managed to produce THIS:



                                        I got this by replacing 0F 48 at offset 080838B2 with 00 00. This confirms for me that the routine cuts the sprites in half before re-sizing them. The sprites are tilted oddly enough, but I can work with it if I have to.
                                        Reply With Quote
                                        Reply

                                        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 3:57 PM.