Tools, Tutorials & Resources Various tools to help you develop your hacks can be found here.

Reply
 
Thread Tools
  #76    
Old December 1st, 2016 (2:36 PM).
Anthroyd's Avatar
Anthroyd Anthroyd is offline
     
    Join Date: May 2016
    Location: United States
    Age: 20
    Gender: Male
    Posts: 131
    Quote:
    Originally Posted by FSBS View Post
    Excellent videos. I really wish these had been out when I first tried mapping; you were dead-on when you said we've all made some embarrassing maps. I can't even go back a year before finding ridiculously awful maps, ones I personally thought were great. Back to the drawing board every time.
    Anyways, you said earlier in this thread you don't recommend adding maps to A-Map; instead, overwriting old maps. Why is that? Could you elaborate?
    Adding new map banks / entries into AdvancedMap will result in glitches due to repointing errors, in my experience. You won't find a single ROM hack that has additional maps along with the original maps. Every gen III ROM hack is made the same way; over wright the original maps' tiles, drag all of the old events somewhere where the player can't reach them in game, change all old person event movement types to "Hidden," then start anew.

    I regret not discussing this process in my first few videos. It would have saved me some time but meh. :/
    Thanks for your praise! :)
    __________________
    Pokémon Generation III ROM Hacking
    Video Series

    Pokémon Dreary
    Reply With Quote
      #77    
    Old December 1st, 2016 (3:10 PM).
    FSBS's Avatar
    FSBS FSBS is offline
    Defunct
       
      Join Date: May 2015
      Gender: Male
      Posts: 150
      Quote:
      Originally Posted by Anthroyd View Post
      Adding new map banks / entries into AdvancedMap will result in glitches due to repointing errors, in my experience. You won't find a single ROM hack that has additional maps along with the original maps. Every gen III ROM hack is made the same way; over wright the original maps' tiles, drag all of the old events somewhere where the player can't reach them in game, change all old person event movement types to "Hidden," then start anew.

      I regret not discussing this process in my first few videos. It would have saved me some time but meh. :/
      Thanks for your praise! :)
      I find it hard to believe, considering massive projects like Liquid Crystal, but what do I know? It's a valuable piece of information nonetheless, and something to consider as I continue learning how to map.
      Reply With Quote
        #78    
      Old December 2nd, 2016 (8:00 AM).
      Squeetz's Avatar
      Squeetz Squeetz is offline
      Music hacker
       
      Join Date: Jun 2013
      Location: Norway
      Age: 21
      Gender: Male
      Nature: Quiet
      Posts: 237
      Quote:
      Originally Posted by Anthroyd View Post
      Adding new map banks / entries into AdvancedMap will result in glitches due to repointing errors, in my experience.
      This isn't true at all. Advance map 1.92 repoints banks and map headers correctly. These errors you speak of most likely stem from using 1.95 (which never left its beta stage and is buggy) and the hacker's own inexperience.

      Quote:
      Originally Posted by Anthroyd View Post
      You won't find a single ROM hack that has additional maps along with the original maps. Every gen III ROM hack is made the same way; over wright the original maps' tiles, drag all of the old events somewhere where the player can't reach them in game, change all old person event movement types to "Hidden," then start anew.
      Not all hacks.
      JPAN's engine patch removes every single event (except warps) on all maps, giving you a blank canvas to work with, so any hack that uses this patch does not follow this arduous task you speak of.
      As for new maps, see my previous point. They can be added correctly with 1.92 or manual hex repointing. I'm sure a lot of hacks have additional maps added. Sometimes you just need more indoor maps. (In my case)
      __________________
      Reply With Quote
        #79    
      Old December 3rd, 2016 (10:04 AM).
      Sam1994's Avatar
      Sam1994 Sam1994 is offline
      Sam
         
        Join Date: Oct 2016
        Location: Kolkata,West Bengal, India
        Age: 24
        Gender: Male
        Nature: Brave
        Posts: 118
        Very nice tutorials.. Needed something like this since a long time..Thanks a lot!
        __________________
        Reply With Quote
          #80    
        Old January 11th, 2017 (1:37 PM).
        Anthroyd's Avatar
        Anthroyd Anthroyd is offline
           
          Join Date: May 2016
          Location: United States
          Age: 20
          Gender: Male
          Posts: 131
          Quote:
          Originally Posted by Sam1994
          Very nice tutorials.. Needed something like this since a long time..Thanks a lot!
          You're welcome!

          I'm updating this thread to alert that the first part of the twenty-fourth tutorial has been completed and released!
          __________________
          Pokémon Generation III ROM Hacking
          Video Series

          Pokémon Dreary
          Reply With Quote
            #81    
          Old January 14th, 2017 (3:38 AM).
          DizzyEgg's Avatar
          DizzyEgg DizzyEgg is offline
             
            Join Date: Feb 2014
            Location: Poland
            Age: 21
            Gender: Male
            Nature: Quiet
            Posts: 750
            Quote:
            Originally Posted by Anthroyd View Post
            You're welcome!

            I'm updating this thread to alert that the first part of the twenty-fourth tutorial has been completed and released!
            Could you update the first post, so it just has links to your video instead of loading the video into the post? My PC and I'm sure many others' lags a lot when loading the OP. :D
            __________________
            Support Pokeruby!

            My works:
            Battle Engine Upgrade
            Pokemon Expansion
            Items/TMs/Tutors Expansion
            Various Features(Evo Methods, BW Repel, Levels Above 100, Trainers with EV, Nature Colored Stats)

            Emerald Features:
            Form Changes (KDS)
            Reply With Quote
              #82    
            Old January 14th, 2017 (10:23 AM).
            Anthroyd's Avatar
            Anthroyd Anthroyd is offline
               
              Join Date: May 2016
              Location: United States
              Age: 20
              Gender: Male
              Posts: 131
              Quote:
              Originally Posted by DizzyEgg View Post
              Could you update the first post, so it just has links to your video instead of loading the video into the post? My PC and I'm sure many others' lags a lot when loading the OP. :D
              Hmmmm m m mmmmmm mmmmm mm m m m...
              My intention was for people to be able to watch the videos without having to open any new tabs or to be redirected somewhere else. I logged onto an older, slower computer sitting in my closet and loaded the page, but it loaded relatively quickly even without being cached.

              Curiously, how slow is it for you to load this thread compared to some other lengthy thread?
              __________________
              Pokémon Generation III ROM Hacking
              Video Series

              Pokémon Dreary
              Reply With Quote
                #83    
              Old January 14th, 2017 (12:56 PM).
              Anthroyd's Avatar
              Anthroyd Anthroyd is offline
                 
                Join Date: May 2016
                Location: United States
                Age: 20
                Gender: Male
                Posts: 131
                I'm updating this thread to alert that the second part of the twenty-fourth tutorial has been completed and released!
                __________________
                Pokémon Generation III ROM Hacking
                Video Series

                Pokémon Dreary
                Reply With Quote
                  #84    
                Old April 1st, 2017 (8:43 PM).
                Anthroyd's Avatar
                Anthroyd Anthroyd is offline
                   
                  Join Date: May 2016
                  Location: United States
                  Age: 20
                  Gender: Male
                  Posts: 131
                  I'm updating this thread to alert that the twenty-fifth tutorial has been completed and released!
                  __________________
                  Pokémon Generation III ROM Hacking
                  Video Series

                  Pokémon Dreary
                  Reply With Quote
                    #85    
                  Old April 12th, 2017 (7:19 AM).
                  Shib0 Shib0 is offline
                     
                    Join Date: Apr 2017
                    Posts: 1
                    Quote:
                    Originally Posted by Anthroyd View Post
                    I'm updating this thread to alert that the twenty-fifth tutorial has been completed and released!
                    Made an account here to thank you for your efforts on this series. I tried making a romhack in the past, but most of the resources I could find were either in Spanish or glossed over concepts I wasn't familiar with at the time (index your sprites). Only about a week into my hack and I feel very confident in my ability to finish it within a year, thanks to your tutorials. Hope you keep the series going.
                    Reply With Quote
                      #86    
                    Old April 23rd, 2017 (10:59 AM).
                    Grays0n Grays0n is offline
                       
                      Join Date: Jul 2013
                      Location: Cleveland, Ohio
                      Gender: Male
                      Nature: Calm
                      Posts: 12
                      A possible suggestion for you Anthroyd, if it hasn't been done already in one of your videos.
                      Even though the tutorial videos have been about making rom hacks, the sprites, cries, scripts, tiles, etc. Have you shown how to actually make the ips? Since it isn't allowed to upload the roms themselves.
                      Reply With Quote
                        #87    
                      Old April 23rd, 2017 (11:34 AM).
                      Anthroyd's Avatar
                      Anthroyd Anthroyd is offline
                         
                        Join Date: May 2016
                        Location: United States
                        Age: 20
                        Gender: Male
                        Posts: 131
                        Quote:
                        Originally Posted by Grays0n View Post
                        A possible suggestion for you Anthroyd, if it hasn't been done already in one of your videos.
                        Even though the tutorial videos have been about making rom hacks, the sprites, cries, scripts, tiles, etc. Have you shown how to actually make the ips? Since it isn't allowed to upload the roms themselves.
                        Patching is covered in tutorial 22 Hex Maniac.
                        __________________
                        Pokémon Generation III ROM Hacking
                        Video Series

                        Pokémon Dreary
                        Reply With Quote
                          #88    
                        Old April 24th, 2017 (4:02 AM).
                        ASDBUDDY's Avatar
                        ASDBUDDY ASDBUDDY is offline
                        The Derp
                           
                          Join Date: Apr 2017
                          Location: aint gonna tell ya
                          Age: 18
                          Gender: Male
                          Nature: Docile
                          Posts: 345
                          Hi, anthoyd! thank you so much for this godlike perfect tutorials and for introducing me to ROM Hacking!
                          also i needed one help. I want to permanently lock my player and rival names. I found that it is only possible via ASM and i tried following one such tutorial and failed catastrophically ! If you could helpme in any way that would be great
                          P.S if this is explained in one of your videos sorry for not paying attention to that :P
                          __________________
                          https://discord.gg/bEwyPd7
                          Reply With Quote
                            #89    
                          Old April 25th, 2017 (12:20 AM).
                          LordExcalibur LordExcalibur is offline
                             
                            Join Date: Sep 2014
                            Posts: 7
                            Hey can I ask that the video 3 could be explained a little easier? Im new started hacking today and I didnt understand the palettes and blocks and what you did to make custom blocks. I understood the transperancy,palette editor part and the x-y flip but not the first 10 mins of your video where u talk about 2 tiles 1 transparent etc.Can I ask if it is recommended to use a rom base to do the mapping or do the sprites,icons editing first then use the mapping?Because I dont know how to check the pokemons in the rom base as the PGE and APSE show errors. Thanks for you awesome videos!!
                            Reply With Quote
                              #90    
                            Old May 3rd, 2017 (3:09 PM).
                            Skinsoverbirds Skinsoverbirds is offline
                               
                              Join Date: May 2017
                              Posts: 1
                              These tutorial videos are great, but how can you make a trainer disappear after battling them or after the aftertext? I get the fades to work but he is still either there or I have to go in a building to refresh my game for him to disappear.
                              Reply With Quote
                                #91    
                              Old May 4th, 2017 (10:10 AM).
                              Anthroyd's Avatar
                              Anthroyd Anthroyd is offline
                                 
                                Join Date: May 2016
                                Location: United States
                                Age: 20
                                Gender: Male
                                Posts: 131
                                Quote:
                                Originally Posted by Skinsoverbirds View Post
                                These tutorial videos are great, but how can you make a trainer disappear after battling them or after the aftertext? I get the fades to work but he is still either there or I have to go in a building to refresh my game for him to disappear.
                                Learn about flags and variables in the tutorial titled History Never Repeats Itself.
                                __________________
                                Pokémon Generation III ROM Hacking
                                Video Series

                                Pokémon Dreary
                                Reply With Quote
                                  #92    
                                Old May 8th, 2017 (4:33 AM).
                                Davixxa Davixxa is offline
                                   
                                  Join Date: Jun 2014
                                  Gender: Male
                                  Posts: 2
                                  The embeds doesn't seem to be willing to show up for me. Upon Inspecting element, it seems they are there, but copying the links and manually navigating to the video results in a 404.
                                  Reply With Quote
                                    #93    
                                  Old July 14th, 2017 (6:48 AM).
                                  Cheifed Out Gamer Cheifed Out Gamer is offline
                                     
                                    Join Date: Jun 2017
                                    Posts: 1
                                    I need help everytime I go to use advancemapping to make my hack ill use firered and it says that the file needs to be extracted or that its not a gba file plz help
                                    Reply With Quote
                                      #94    
                                    Old July 24th, 2017 (8:00 AM).
                                    TWIST3DHYBR1D TWIST3DHYBR1D is offline
                                       
                                      Join Date: Jul 2017
                                      Posts: 2
                                      Great work on the tutorial series, Anthroyd, it is very comprehensive.

                                      I have a question. Is it possible to add another menu option to the START screen? I ask because I want to try to implement a Persona/Shin Megami Tensei style Fusion Mechanic and I don't know if that would be possible given the tools we have.
                                      Reply With Quote
                                        #95    
                                      Old September 5th, 2017 (12:26 PM).
                                      The_Architect's Avatar
                                      The_Architect The_Architect is offline
                                         
                                        Join Date: Sep 2017
                                        Location: Somewhere north of Johto
                                        Gender: Male
                                        Nature: Serious
                                        Posts: 1
                                        Anthroyd--

                                        THANK YOU for this. Your series has convinced me to start work on the hack I've been planning over lunch breaks for ages. Have a bump, keep the content rolling!
                                        Reply With Quote
                                          #96    
                                        Old December 23rd, 2017 (12:02 PM). Edited May 24th, 2018 by metaloath.
                                        metaloath's Avatar
                                        metaloath metaloath is offline
                                        MetalOath
                                           
                                          Join Date: Dec 2017
                                          Location: Earth
                                          Gender: Male
                                          Nature: Bold
                                          Posts: 4
                                          Hello Anthroyd, I would like to thank you for the amazing quality of this series. This is what one might call a proper video tutorial series.
                                          UPDATE: I have Figured this out, see the edit.
                                          Everything between the two dashed lines below should be ignored if you are new to the scene, it is a wall of confusing nonsense.
                                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                          Spoiler:

                                          I would like to ask you something about the general use of XSE and AdvMap specifically with regards to map scripts (level scripts).
                                          (Small Background: this is my first attempt at rom hacking ever, and thus I have little to no experience with how roms are supposed to behave when edited like that).

                                          To begin, I will walk you through the steps in which to reproduce my problem.
                                          So here goes:
                                          1) Open PGE and load a fresh Pokemon FireRed v1.0 file.
                                          2) Launch AdvMap through PGE and navigate to the Map in which to do the edit. (In this case Prof. Oak's laboratory).
                                          3) Go to the Header Tab, press CTRL+H and look at the Map script offset (which includes the parts to be edited). (I am not sure if this is how it's supposed to be done)
                                          4) At this point I have tried to do two things in order to complete the edit:

                                          4a) Copy the Map script offset, go to PGE and open XSE, and then paste the Map script offset (168F7E) in the Offset box, toggle the Map Script button on, and finally decompile.
                                          Do some edits to the script (in this case I'm editing the text part of the Srings section), Debug to make sure there are no errors, and then Compile.
                                          Then return to AdvMap, save my work using the menu bar button and then test the result with VBA.
                                          This results in some interesting things. The Script will run correctly, but it seems to have damaged some other part of the rom (possibly overwritten some data or parts of another script),
                                          in this case resulting in Oak's individual person script being damaged. (I tried this multiple times, checking both scripts before and after compiling, and Oak's script seems to change right after the Map Script's compilation).
                                          Is this supposed to happen when recompiling one of the original scripts?

                                          4b) Copy the Map script offset, go to PGE and open XSE, do the pasting and decompiling, then edit the script to allocate it's pointers dynamically
                                          (In my mind, this is to create a new copy of the script somewhere that wouldn't intrude or overwrite any original data [I have no idea if that's how things actually work])
                                          by adding the "#dynamic 0x800000" to the beginning of the script and modifying all pointers to begin with @, removing most "0x"s and "0x8"s, except for variables and such, making it effectively a completely new script.
                                          Then compile it and copy it's offset to the Map script offset field and hit "save changes and reload map" in AdvMap (which automatically updates the Script Offset field in the non-advanced Header view),
                                          then save my work and test the hack. In this case, no other scripts seem to be affected, however, the newly compiled script runs smoothly all the way until it gets to the "END" line.
                                          At this point the game will freeze, while the music still runs normally, my inputs stop working completely, and everything seems to be static.
                                          (I have tried inserting msgbox commands in between the last lines of the main function to see where exactly the game is freezing, and It seems to be freezing right after displaying the msgbox before the END command,
                                          leaving me unable to even close the msgbox. Note: this happens when using No$GBA. When tested in VBA, I am stuck at the last message box before the end command, and after completing the normal text,
                                          it displays messages of giving the player a master ball then an ultra ball, then a great ball (all out of nowhere), then continues to spit out complete gibberish)

                                          Here are both scripts I have attempted, and the original:

                                          Original Script
                                          Spoiler:

                                          '---------------
                                          #org 0x168F7E
                                          #raw 0x3
                                          #raw pointer 0x8168F8E
                                          #raw 0x4
                                          #raw pointer 0x8168FE1
                                          #raw 0x2
                                          #raw pointer 0x8168FF0
                                          #raw 0x0

                                          '---------------
                                          #org 0x168FE1
                                          #raw word 0x4055
                                          #raw word 0x1
                                          #raw pointer 0x8168FEB
                                          #raw word 0x0

                                          '---------------
                                          #org 0x168FF0
                                          #raw word 0x4055
                                          #raw word 0x1
                                          #raw pointer 0x816923E
                                          #raw word 0x4055

                                          '---------------
                                          #org 0x168F8E
                                          setflag 0x2CF
                                          compare 0x4055 0x1
                                          if 0x1 call 0x8168FC6
                                          compare 0x4055 0x7
                                          if 0x1 call 0x8168FD5
                                          compare 0x4055 0x8
                                          if 0x1 call 0x8168FC0
                                          checkflag 0x247
                                          if 0x1 call 0x8168FBC
                                          end

                                          '---------------
                                          #org 0x168FEB
                                          spriteface 0xFF 0x2
                                          end

                                          '---------------
                                          #org 0x16923E
                                          lockall
                                          textcolor 0x0
                                          applymovement 0x4 0x81692B0
                                          waitmovement 0x0
                                          hidesprite 0x4
                                          movesprite2 0x4 0x6 0x3
                                          spritebehave 0x4 0x8
                                          clearflag 0x2B
                                          applymovement MOVE_PLAYER 0x81692B7
                                          waitmovement 0x0
                                          applymovement 0x8 0x81A75E9
                                          waitmovement 0x0
                                          clearflag 0x4001
                                          playsong2 0x0
                                          fadedefault
                                          msgbox 0x818DC94 MSG_KEEPOPEN '"[rival]: Gramps!\nI'm fed up with ..."
                                          closeonkeypress
                                          pause 0x3C
                                          msgbox 0x818DFBC MSG_KEEPOPEN '"OAK: [rival]?\nLet me think[.]\pOh..."
                                          closeonkeypress
                                          pause 0x1E
                                          applymovement 0x8 0x81692C0
                                          waitmovement 0x0
                                          msgbox 0x818DCB9 MSG_KEEPOPEN '"[rival]: Hey! Gramps! No fair!\nWh..."
                                          msgbox 0x818E0EA MSG_KEEPOPEN '"OAK: Be patient, [rival].\nYou can..."
                                          setvar 0x4055 0x2
                                          releaseall
                                          end

                                          '---------------
                                          #org 0x168FC6
                                          movesprite2 0x4 0x6 0xB
                                          spritebehave 0x4 0x7
                                          playsong2 0x12E
                                          return

                                          '---------------
                                          #org 0x168FD5
                                          movesprite2 0x4 0x6 0xB
                                          spritebehave 0x4 0x7
                                          return

                                          '---------------
                                          #org 0x168FC0
                                          setvar 0x4055 0x9
                                          return

                                          '---------------
                                          #org 0x168FBC
                                          setflag 0x24F
                                          return


                                          '---------
                                          ' Strings
                                          '---------
                                          #org 0x18DC94
                                          = [rival]: Gramps!\nI'm fed up with waiting!

                                          #org 0x18DFBC
                                          = OAK: [rival]?\nLet me think[.]\pOh, that's right, I told you to\ncome! Just wait!\pHere, [player].\pThere are three POKéMON here.\pHaha!\pThe POKéMON are held inside\nthese POKé BALLS.\pWhen I was young, I was a serious\nPOKéMON TRAINER.\pBut now, in my old age, I have\nonly these three left.\pYou can have one.\nGo on, choose!

                                          #org 0x18DCB9
                                          = [rival]: Hey! Gramps! No fair!\nWhat about me?

                                          #org 0x18E0EA
                                          = OAK: Be patient, [rival].\nYou can have one, too!


                                          '-----------
                                          ' Movements
                                          '-----------
                                          #org 0x1692B0
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0xFE 'End of Movements

                                          #org 0x1692B7
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0xFE 'End of Movements

                                          #org 0x1A75E9
                                          #raw 0x2E 'Face Up (Delayed)
                                          #raw 0xFE 'End of Movements

                                          #org 0x1692C0
                                          #raw 0x26 'Step on the Spot Up (Faster)
                                          #raw 0x26 'Step on the Spot Up (Faster)
                                          #raw 0xFE 'End of Movements


                                          4a Script (Only speech text under Strings edited)
                                          Spoiler:

                                          '---------------
                                          #org 0x168F7E
                                          #raw 0x3
                                          #raw pointer 0x8168F8E
                                          #raw 0x4
                                          #raw pointer 0x8168FE1
                                          #raw 0x2
                                          #raw pointer 0x8168FF0
                                          #raw 0x0

                                          '---------------
                                          #org 0x168FE1
                                          #raw word 0x4055
                                          #raw word 0x1
                                          #raw pointer 0x8168FEB
                                          #raw word 0x0

                                          '---------------
                                          #org 0x168FF0
                                          #raw word 0x4055
                                          #raw word 0x1
                                          #raw pointer 0x816923E
                                          #raw word 0x4055

                                          '---------------
                                          #org 0x168F8E
                                          setflag 0x2CF
                                          compare 0x4055 0x1
                                          if 0x1 call 0x8168FC6
                                          compare 0x4055 0x7
                                          if 0x1 call 0x8168FD5
                                          compare 0x4055 0x8
                                          if 0x1 call 0x8168FC0
                                          checkflag 0x247
                                          if 0x1 call 0x8168FBC
                                          end

                                          '---------------
                                          #org 0x168FEB
                                          spriteface 0xFF 0x2
                                          end

                                          '---------------
                                          #org 0x16923E
                                          lockall
                                          textcolor 0x0
                                          applymovement 0x4 0x81692B0
                                          waitmovement 0x0
                                          hidesprite 0x4
                                          movesprite2 0x4 0x6 0x3
                                          spritebehave 0x4 0x8
                                          clearflag 0x2B
                                          applymovement MOVE_PLAYER 0x81692B7
                                          waitmovement 0x0
                                          applymovement 0x8 0x81A75E9
                                          waitmovement 0x0
                                          clearflag 0x4001
                                          playsong2 0x0
                                          fadedefault
                                          msgbox 0x818DC94 MSG_KEEPOPEN '"[rival]: Gramps!\nI'm fed up with ..."
                                          closeonkeypress
                                          pause 0x3C
                                          msgbox 0x818DFBC MSG_KEEPOPEN '"OAK: [rival]?\nLet me think[.]\pOh..."
                                          closeonkeypress
                                          pause 0x1E
                                          applymovement 0x8 0x81692C0
                                          waitmovement 0x0
                                          msgbox 0x818DCB9 MSG_KEEPOPEN '"[rival]: Hey! Gramps! No fair!\nWh..."
                                          msgbox 0x818E0EA MSG_KEEPOPEN '"OAK: Be patient, [rival].\nYou can..."
                                          setvar 0x4055 0x2
                                          releaseall
                                          end

                                          '---------------
                                          #org 0x168FC6
                                          movesprite2 0x4 0x6 0xB
                                          spritebehave 0x4 0x7
                                          playsong2 0x12E
                                          return

                                          '---------------
                                          #org 0x168FD5
                                          movesprite2 0x4 0x6 0xB
                                          spritebehave 0x4 0x7
                                          return

                                          '---------------
                                          #org 0x168FC0
                                          setvar 0x4055 0x9
                                          return

                                          '---------------
                                          #org 0x168FBC
                                          setflag 0x24F
                                          return


                                          '---------
                                          ' Strings
                                          '---------
                                          #org 0x18DC94
                                          = [rival]: Gramps!\nI'm fed up with waiting!

                                          #org 0x18DFBC
                                          = OAK: Hmm? [rival]?\nWhy are you here already?\lI said for you to come back\llater...\lAh, whatever! Just wait there.\pLook, [player]! Do you see that ball on\nthe table?\lIt's called a POKé BALL. It holds\la POKéMON inside.\lYou may have it! Go on, take it!

                                          #org 0x18DCB9
                                          = [rival]: Hey! Gramps!\nWhat about me?

                                          #org 0x18E0EA
                                          = OAK: Be patient, [rival],\nI'll give you one later.


                                          '-----------
                                          ' Movements
                                          '-----------
                                          #org 0x1692B0
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0xFE 'End of Movements

                                          #org 0x1692B7
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0xFE 'End of Movements

                                          #org 0x1A75E9
                                          #raw 0x2E 'Face Up (Delayed)
                                          #raw 0xFE 'End of Movements

                                          #org 0x1692C0
                                          #raw 0x26 'Step on the Spot Up (Faster)
                                          #raw 0x26 'Step on the Spot Up (Faster)
                                          #raw 0xFE 'End of Movements


                                          4b New Script
                                          Spoiler:

                                          #dynamic 0x800000
                                          '---------------
                                          #org @168F7E
                                          #raw 0x3
                                          #raw pointer @168F8E
                                          #raw 0x4
                                          #raw pointer @168FE1
                                          #raw 0x2
                                          #raw pointer @168FF0
                                          #raw 0x0

                                          '---------------
                                          #org @168FE1
                                          #raw word 0x4055
                                          #raw word 0x1
                                          #raw pointer @168FEB
                                          #raw word 0x0

                                          '---------------
                                          #org @168FF0
                                          #raw word 0x4055
                                          #raw word 0x1
                                          #raw pointer @16923E
                                          #raw word 0x4055

                                          '---------------
                                          #org @168F8E
                                          setflag 0x2CF
                                          compare 0x4055 0x1
                                          if 0x1 call @168FC6
                                          compare 0x4055 0x7
                                          if 0x1 call @168FD5
                                          compare 0x4055 0x8
                                          if 0x1 call @168FC0
                                          checkflag 0x247
                                          if 0x1 call @168FBC
                                          end

                                          '---------------
                                          #org @168FEB
                                          spriteface 0xFF 0x2
                                          end

                                          '---------------
                                          #org @16923E
                                          lockall
                                          textcolor 0x0
                                          applymovement 0x4 @1692B0
                                          waitmovement 0x0
                                          hidesprite 0x4
                                          movesprite2 0x4 0x6 0x3
                                          spritebehave 0x4 0x8
                                          clearflag 0x2B
                                          applymovement MOVE_PLAYER @1692B7
                                          waitmovement 0x0
                                          applymovement 0x8 @1A75E9
                                          waitmovement 0x0
                                          clearflag 0x4001
                                          playsong2 0x0
                                          fadedefault
                                          msgbox @18DC94 MSG_KEEPOPEN '"[rival]: Gramps!\nI'm fed up with ..."
                                          closeonkeypress
                                          pause 0x3C
                                          msgbox @18DFBC MSG_KEEPOPEN '"OAK: Hmm? [rival]?\nWhy are you he..."
                                          closeonkeypress
                                          pause 0x1E
                                          applymovement 0x8 @1692C0
                                          waitmovement 0x0
                                          msgbox @18DCB9 MSG_KEEPOPEN '"[rival]: Hey! Gramps!\nWhat about ..."
                                          msgbox @18E0EA MSG_KEEPOPEN '"OAK: Be patient, [rival],\nI'll gi..."
                                          setvar 0x4055 0x2
                                          releaseall
                                          end

                                          '---------------
                                          #org @168FC6
                                          movesprite2 0x4 0x6 0xB
                                          spritebehave 0x4 0x7
                                          playsong2 0x12E
                                          return

                                          '---------------
                                          #org @168FD5
                                          movesprite2 0x4 0x6 0xB
                                          spritebehave 0x4 0x7
                                          return

                                          '---------------
                                          #org @168FC0
                                          setvar 0x4055 0x9
                                          return

                                          '---------------
                                          #org @168FBC
                                          setflag 0x24F
                                          return


                                          '---------
                                          ' Strings
                                          '---------
                                          #org @18DC94
                                          = [rival]: Gramps!\nI'm fed up with waiting!

                                          #org @18DFBC
                                          = OAK: Hmm? [rival]?\nWhy are you here already?\lI said for you to come back\llater...\lAh, whatever! Just wait there.\pLook, [player]! Do you see that ball on\nthe table?\lIt's called a POKé BALL. It holds\la POKéMON inside.\lYou may have it! Go on, take it!

                                          #org @18DCB9
                                          = [rival]: Hey! Gramps!\nWhat about me?

                                          #org @18E0EA
                                          = OAK: Be patient, [rival],\nI'll give you one later.


                                          '-----------
                                          ' Movements
                                          '-----------
                                          #org @1692B0
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0xFE 'End of Movements

                                          #org @1692B7
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0xFE 'End of Movements

                                          #org @1A75E9
                                          #raw 0x2E 'Face Up (Delayed)
                                          #raw 0xFE 'End of Movements

                                          #org @1692C0
                                          #raw 0x26 'Step on the Spot Up (Faster)
                                          #raw 0x26 'Step on the Spot Up (Faster)
                                          #raw 0xFE 'End of Movements


                                          So what exactly am I doing wrong?

                                          It would be great if you can elaborate more specifically on the header tab, the difference between the script offsets specified in the normal and advanced views, and most importantly the correct way to modify or replace them.

                                          Thank you for reading this if you did, and good luck with your studies!
                                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                          Edit:
                                          So as it turns out, I was attempting to modify a level script without understanding the scripts themselves or the User Interface under the Header tab in AdvMap.
                                          I was trying to modify the "Map Script Offset" script in the advanced header view (CTRL+H when in the header tab), when I should have been working with individual level scripts in the normal header view.
                                          For some reason, it was completely unclear to me how to navigate an individual Map's pre-existing scrips even though it turned out to be very simple.

                                          Anyways, to see the level scripts of any given map, look under the Header Tab, in the Map Script box, Under the "Script No:" text. There is a white box with 0 in it and two tiny arrow buttons pointing up and down.
                                          Using these buttons you can see all the map scripts attached to this map starting at script number 0, and going up. In my case, I've opened "PALLET TOWN (4.3)" which is Oak's lab.
                                          Script No:0 is a Type 03 level script, and clicking on the up arrow button twice reveals two additional map scripts of types 04 and 02, script numbers 1 and 2, respectively.
                                          The part which I wanted to edit was the text under the "Strings" section of the type 02 level script. You can see this part by copying the offset under "Script offset 2:", in my case (16923E),
                                          and pasting it in XSE in the "Offset" box and clicking the decompile button (the one to the right of this box). Taking a look under the "Strings" section,
                                          you can see the text that Oak says when you first enter the lab in the intro event where he gives you your first Pokemon.

                                          In order to perform an edit, you must do some heavy editing to the original script before attempting anything new, in order to avoid damaging any original data.
                                          Here is how i did it:
                                          Spoiler:
                                          #dynamic 0x800000
                                          '---------------
                                          #org @16923E
                                          lockall
                                          textcolor 0x0
                                          applymovement 0x4 @1692B0
                                          waitmovement 0x0
                                          hidesprite 0x4
                                          movesprite2 0x4 0x6 0x3
                                          spritebehave 0x4 0x8
                                          clearflag 0x2B
                                          applymovement MOVE_PLAYER @1692B7
                                          waitmovement 0x0
                                          applymovement 0x8 @1A75E9
                                          waitmovement 0x0
                                          clearflag 0x4001
                                          playsong2 0x0
                                          fadedefault
                                          msgbox @18DC94 MSG_KEEPOPEN '"[rival]: Gramps!\nI'm fed up with ..."
                                          closeonkeypress
                                          pause 0x3C
                                          msgbox @18DFBC MSG_KEEPOPEN '"OAK: [rival]?\nLet me think[.]\pOh..."
                                          closeonkeypress
                                          pause 0x1E
                                          applymovement 0x8 @1692C0
                                          waitmovement 0x0
                                          msgbox @18DCB9 MSG_KEEPOPEN '"[rival]: Hey! Gramps! No fair!\nWh..."
                                          msgbox @18E0EA MSG_KEEPOPEN '"OAK: Be patient, [rival].\nYou can..."
                                          setvar 0x4055 0x2
                                          releaseall
                                          end


                                          '---------
                                          ' Strings
                                          '---------
                                          #org @18DC94
                                          = [rival]: Gramps!\nI'm fed up with waiting!

                                          #org @18DFBC
                                          = OAK: Hmm? [rival]?\nWhy are you here already?\lI said for you to come back\llater...\lAh, whatever! Just wait there.\pLook, [player]! Do you see that ball on\nthe table?\lIt's called a POKé BALL. It holds\la POKéMON inside.\lYou may have it! Go on, take it!

                                          #org @18DCB9
                                          = [rival]: Hey! Gramps!\nWhat about me?

                                          #org @18E0EA
                                          = OAK: Be patient, [rival],\nI'll give you one later.


                                          '-----------
                                          ' Movements
                                          '-----------
                                          #org @1692B0
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0xFE 'End of Movements

                                          #org @1692B7
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0xFE 'End of Movements

                                          #org @1A75E9
                                          #raw 0x2E 'Face Up (Delayed)
                                          #raw 0xFE 'End of Movements

                                          #org @1692C0
                                          #raw 0x26 'Step on the Spot Up (Faster)
                                          #raw 0x26 'Step on the Spot Up (Faster)
                                          #raw 0xFE 'End of Movements

                                          Original Script:
                                          Spoiler:

                                          '---------------
                                          #org 0x16923E
                                          lockall
                                          textcolor 0x0
                                          applymovement 0x4 0x81692B0
                                          waitmovement 0x0
                                          hidesprite 0x4
                                          movesprite2 0x4 0x6 0x3
                                          spritebehave 0x4 0x8
                                          clearflag 0x2B
                                          applymovement MOVE_PLAYER 0x81692B7
                                          waitmovement 0x0
                                          applymovement 0x8 0x81A75E9
                                          waitmovement 0x0
                                          clearflag 0x4001
                                          playsong2 0x0
                                          fadedefault
                                          msgbox 0x818DC94 MSG_KEEPOPEN '"[rival]: Gramps!\nI'm fed up with ..."
                                          closeonkeypress
                                          pause 0x3C
                                          msgbox 0x818DFBC MSG_KEEPOPEN '"OAK: [rival]?\nLet me think[.]\pOh..."
                                          closeonkeypress
                                          pause 0x1E
                                          applymovement 0x8 0x81692C0
                                          waitmovement 0x0
                                          msgbox 0x818DCB9 MSG_KEEPOPEN '"[rival]: Hey! Gramps! No fair!\nWh..."
                                          msgbox 0x818E0EA MSG_KEEPOPEN '"OAK: Be patient, [rival].\nYou can..."
                                          setvar 0x4055 0x2
                                          releaseall
                                          end


                                          '---------
                                          ' Strings
                                          '---------
                                          #org 0x18DC94
                                          = [rival]: Gramps!\nI'm fed up with waiting!

                                          #org 0x18DFBC
                                          = OAK: [rival]?\nLet me think[.]\pOh, that's right, I told you to\ncome! Just wait!\pHere, [player].\pThere are three POKéMON here.\pHaha!\pThe POKéMON are held inside\nthese POKé BALLS.\pWhen I was young, I was a serious\nPOKéMON TRAINER.\pBut now, in my old age, I have\nonly these three left.\pYou can have one.\nGo on, choose!

                                          #org 0x18DCB9
                                          = [rival]: Hey! Gramps! No fair!\nWhat about me?

                                          #org 0x18E0EA
                                          = OAK: Be patient, [rival].\nYou can have one, too!


                                          '-----------
                                          ' Movements
                                          '-----------
                                          #org 0x1692B0
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0xFE 'End of Movements

                                          #org 0x1692B7
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0x11 'Step Up (Normal)
                                          #raw 0xFE 'End of Movements

                                          #org 0x1A75E9
                                          #raw 0x2E 'Face Up (Delayed)
                                          #raw 0xFE 'End of Movements

                                          #org 0x1692C0
                                          #raw 0x26 'Step on the Spot Up (Faster)
                                          #raw 0x26 'Step on the Spot Up (Faster)
                                          #raw 0xFE 'End of Movements

                                          As you can see, I replaced all "#org 0x" with "#org @", and parts where functions are called like "applymovement MOVE_PLAYER 0x8" with "applymovement MOVE_PLAYER @".
                                          Just be careful not to replace things like variables and such. In short, If you can't read and understand the script, you shouldn't be doing this yet.
                                          So I basically changed all pointers into dynamic pointers and added "#dynamic 0x800000" to the beginning of the script such that it will compile as a completely new script.
                                          This is done so that when you compile the script, It wouldn't overwrite the original script, which can result in some weird things happening in the game, potentially breaking it.
                                          Now you may change whatever you want to change,
                                          hit the compile button, and copy your new script's offset. Going back to AdvMap, go back to your level script, again, in my case the type 02 level script in Oak's lab,
                                          and you replace the script's old offset with the new one (under "Script offset 2:" for type 02 level scripts) and hit save map scripts, and then save the changes to the rom (CTRL + S). And that should be it.
                                          If I have made any mistakes explaining this, please do inform me.

                                          Note: the rest of this event's scripts are normal Person events and scripts found under the events section of AdvMap.
                                          Reply With Quote
                                            #97    
                                          Old February 15th, 2018 (8:46 AM).
                                          Anthroyd's Avatar
                                          Anthroyd Anthroyd is offline
                                             
                                            Join Date: May 2016
                                            Location: United States
                                            Age: 20
                                            Gender: Male
                                            Posts: 131
                                            I'm updating this thread to alert that the twenty-sixth tutorial has been completed and released!
                                            __________________
                                            Pokémon Generation III ROM Hacking
                                            Video Series

                                            Pokémon Dreary
                                            Reply With Quote
                                              #98    
                                            Old February 17th, 2018 (9:07 AM).
                                            metaloath's Avatar
                                            metaloath metaloath is offline
                                            MetalOath
                                               
                                              Join Date: Dec 2017
                                              Location: Earth
                                              Gender: Male
                                              Nature: Bold
                                              Posts: 4
                                              Quote:
                                              Originally Posted by Anthroyd View Post
                                              I'm updating this thread to alert that the twenty-sixth tutorial has been completed and released!
                                              Thank you.
                                              Reply With Quote
                                                #99    
                                              Old March 21st, 2018 (9:38 AM).
                                              Vladmir_Fox Vladmir_Fox is offline
                                                 
                                                Join Date: Jan 2013
                                                Gender: Male
                                                Posts: 42
                                                This series of videos has been a great help and I thank you for putting in the effort to make it. 10/10
                                                Reply With Quote
                                                  #100    
                                                Old March 21st, 2018 (11:11 AM).
                                                Anthroyd's Avatar
                                                Anthroyd Anthroyd is offline
                                                   
                                                  Join Date: May 2016
                                                  Location: United States
                                                  Age: 20
                                                  Gender: Male
                                                  Posts: 131
                                                  Quote:
                                                  Originally Posted by Vladmir_Fox View Post
                                                  This series of videos has been a great help and I thank you for putting in the effort to make it. 10/10
                                                  Thanks so much. :)
                                                  __________________
                                                  Pokémon Generation III ROM Hacking
                                                  Video Series

                                                  Pokémon Dreary
                                                  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
                                                  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 10:28 PM.