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

Reply
 
Thread Tools
  #1    
Old December 22nd, 2007 (5:52 AM). Edited December 24th, 2007 by thethethethe.
thethethethe thethethethe is offline
     
    Join Date: Jun 2007
    Location: Melbourne, Australia
    Gender: Male
    Posts: 1,104

    Actually here's something that I forgot to add to the actual tutorial.
    Pointers in GBA
    When repointing/searching for pointers you need to know that pointers appear differently in a hex editor.
    A pointer like 0x08123456, would appear like this
    56 34 12 08 in a hex editor.
    You reverse the bytes.
    Just incase you still don't understand, maybe this might make it easier to see.

    08 80 02 0D
    is the same as....
    0D 02 80 08


    Thanks to:
    Teh Baro for the tutorial on WAH, which is how I learnt how to do this.
    __________________
    Gone.
    Reply With Quote

    Relevant Advertising!

      #2    
    Old December 27th, 2007 (7:24 AM).
    litium's Avatar
    litium litium is offline
       
      Join Date: Dec 2007
      Posts: 26
      Cool :D Thanks! It will be useful in a near future
      Reply With Quote
        #3    
      Old January 7th, 2008 (2:10 PM).
      Thrace's Avatar
      Thrace Thrace is offline
      @tion
      • Gold Tier
       
      Join Date: Jun 2007
      Age: 26
      Gender: Male
      Posts: 1,048
      Well this is very useful. So I assume editing and creating level scripts are done the same as normal scripts? According to what you've decompiled that seems to be the case except for the boxset close thing. Is that just something from ScriptEd? Because I use PokeScript only.
      __________________
      Reply With Quote
        #4    
      Old January 7th, 2008 (8:38 PM).
      thethethethe thethethethe is offline
         
        Join Date: Jun 2007
        Location: Melbourne, Australia
        Gender: Male
        Posts: 1,104
        Quote:
        Originally Posted by dshayabusa View Post
        Well this is very useful. So I assume editing and creating level scripts are done the same as normal scripts? According to what you've decompiled that seems to be the case except for the boxset close thing. Is that just something from ScriptEd? Because I use PokeScript only.
        Editing, Creating, it's pretty much the same process. There's enough info here to figure out on your own how to make your own level scripts. If you're willing to just keep trying and trying, you'd eventually figure it out. The only part that you might have trouble with, the part that involves....
        (byte) (pointer) (byte) (pointer)
        Because you can't "double up" on the same byte, and use it twice, but also depending on the script a different byte would be needed. The only I've tried so far are.
        01 - I think setmaptile
        02 - Normal script
        04 - Weather related scripts.
        If I'm incorrect on these, tell me, these are just the types of bytes that worked with my scripts.

        #raw 0x68, doesn't have a command in a default database, it's something that you either know or you don't. Since it's only scriptable through "#raw 68", I gave a little insight into what it does to the right of it. It isn't in ScriptED or Pokescript(Unless you edit the database.), might be in XSE when it comes out, but I'm not sure what Hackmew is going to include with the program.
        __________________
        Gone.
        Reply With Quote
          #5    
        Old January 9th, 2008 (12:16 PM).
        D-Trogh's Avatar
        D-Trogh D-Trogh is offline
        Dead
           
          Join Date: Jul 2005
          Location: Belgium
          Age: 25
          Gender: Male
          Posts: 438
          Quote:
          Originally Posted by thethethethe View Post
          might be in XSE when it comes out, but I'm not sure what Hackmew is going to include with the program.
          Of course that'll be in XSE.. It allready is actually.. XD
          It decompiles flawlessly.. :P
          Our 'database' counts 112 commands.. And I may have an outdated one..
          But.. B2T
          __________________
          [NTME | WPEDS | HTPE | SGPE | TGPE | PDEDS]
          Reply With Quote
            #6    
          Old January 9th, 2008 (2:01 PM).
          Mastermind_X's Avatar
          Mastermind_X Mastermind_X is offline
          ASM-Hacker
             
            Join Date: Feb 2007
            Location: Germany
            Gender:
            Nature: Adamant
            Posts: 92
            I was wondering about the 1A 02 80 so I reversed it. Just to add that information:

            1A 02 80 sets the jingle which is played if you get the item. Possible values are 0x013E and 0x0101.


            greetz
            MX
            Reply With Quote
              #7    
            Old January 9th, 2008 (4:37 PM).
            thethethethe thethethethe is offline
               
              Join Date: Jun 2007
              Location: Melbourne, Australia
              Gender: Male
              Posts: 1,104
              Quote:
              Originally Posted by Mastermind_X View Post
              I was wondering about the 1A 02 80 so I reversed it. Just to add that information:

              1A 02 80 sets the jingle which is played if you get the item. Possible values are 0x013E and 0x0101.


              greetz
              MX
              That's what I thought when I saw the 0x13E, which when used like this, fanfare 0x13E, plays that the jingle that happens when you recieve the item. I didn't write it because, I didn't want to write anything that was possibly completely wrong.
              I guess there's always more than one way to activate a command.
              Thanks for clearing that up.
              __________________
              Gone.
              Reply With Quote
                #8    
              Old January 10th, 2008 (3:55 PM).
              Mastermind_X's Avatar
              Mastermind_X Mastermind_X is offline
              ASM-Hacker
                 
                Join Date: Feb 2007
                Location: Germany
                Gender:
                Nature: Adamant
                Posts: 92
                Uhm. I didn't know, that there are such big gaps in the knowledge about the commands.
                Anyway, I decided to reverse them all. Up to now, I know all the meanings of commands 0x00 - 0x44. And I'll go on tomorrow.

                greetz
                MX
                Reply With Quote
                  #9    
                Old January 13th, 2008 (10:26 PM).
                Thrace's Avatar
                Thrace Thrace is offline
                @tion
                • Gold Tier
                 
                Join Date: Jun 2007
                Age: 26
                Gender: Male
                Posts: 1,048
                So if I wanted to make a sprite disappear after an event could I just compile the following code from PokeScript and change the pointer?
                Code:
                #org $Start
                checkflag 0x82f
                if B_false gosub $no
                applymovement 0x04 $disappear
                $disappear 1 ; #Binary 0x0a 0x60 0xfe
                end
                
                #org $no
                release
                end
                EDIT: Whoops probably the wrong place for this
                __________________
                Reply With Quote
                  #10    
                Old January 26th, 2008 (4:30 PM).
                /Circa's Avatar
                /Circa /Circa is offline
                a face in the clouds.
                   
                  Join Date: Nov 2007
                  Location: Melbourne, Victoria
                  Gender: Male
                  Nature: Quiet
                  Posts: 877
                  I fixed my problem.

                  I just have a little question, with a level script, if I want an event to occur when I enter, could I compile the event, but not place it anywhere, and then in a level script have it point to that event?

                  For instance, if I want the player to move up to Nurse Joy in a Pokemon Center, could I make it in the level script:

                  checkflag 0x200
                  if b_true goto $done
                  applymovement 0xFF $goto

                  Like a normal script?
                  Or would it be some different commands?
                  __________________
                  dragging himself, forw
                  ard again, the pain has
                  still not diminished. E
                  ventually though, he e
                  merges inside a v
                  ery large room w

                  here everything about

                  the house

                  suddenly

                  changes.
                  Reply With Quote
                    #11    
                  Old January 29th, 2008 (6:40 PM).
                  Saken's Avatar
                  Saken Saken is offline
                     
                    Join Date: Jan 2007
                    Location: Australia
                    Nature: Modest
                    Posts: 113
                    Quote:
                    Originally Posted by Crashink View Post
                    I fixed my problem.

                    I just have a little question, with a level script, if I want an event to occur when I enter, could I compile the event, but not place it anywhere, and then in a level script have it point to that event?

                    For instance, if I want the player to move up to Nurse Joy in a Pokemon Center, could I make it in the level script:

                    checkflag 0x200
                    if b_true goto $done
                    applymovement 0xFF $goto

                    Like a normal script?
                    Or would it be some different commands?
                    You have to know where the script you are compiling is, so you can repoint the level script to it.
                    And yes, all you need to do is make a normal script and it will work, no different commands needed.
                    All you have to make sure is that you flip your offset when repointing it. So lets say, 0x800000, that would be flipped around:
                    00 00 08
                    or some other one like 81A37B would be:
                    7B A3 81

                    That is all..
                    __________________
                    FC: 3867 0389 3587
                    Reply With Quote
                      #12    
                    Old March 22nd, 2008 (7:56 AM).
                    Aero-LyNx's Avatar
                    Aero-LyNx Aero-LyNx is offline
                    Go team dynamite!
                       
                      Join Date: Nov 2007
                      Location: Jakarta, Indonesia
                      Age: 24
                      Gender:
                      Nature: Impish
                      Posts: 83
                      Quote:
                      Don't take without permission!
                      Can I save it to my computer??
                      Because I can't always turn on the internet?
                      Reply With Quote
                        #13    
                      Old March 22nd, 2008 (9:01 PM).
                      greenozano's Avatar
                      greenozano greenozano is offline
                      Master of Pokemon
                         
                        Join Date: Dec 2006
                        Location: i live in Detroit,Mi,USA,interior plains
                        Age: 23
                        Gender:
                        Nature: Calm
                        Posts: 36
                        yeah it just means just dont post it again without permission.
                        __________________


                        Kevin's PokePet

                        crisscross the level 55 Electivire!


                        Cna yuo raed tihs? Olny 55% of plepoe can.

                        I cdnuolt blveiee taht I cluod aulaclty uesdnatnrd waht I was rdanieg.
                        The phaonmneal pweor of the hmuan mnid, aoccdrnig to a rscheearch
                        at Cmabrigde Uinervtisy, it dseno't mtaetr in waht oerdr the ltteres in a
                        wrod are, the olny iproamtnt tihng is taht the frsit and lsat ltteer be in the
                        rghit pclae. The rset can be a taotl mses and you can sitll raed it whotuit
                        a pboerlm. Tihs is bcuseae the huamn mnid deos not raed ervey lteter
                        by istlef, but the wrod as a wlohe. Azanmig huh? yaeh and I awlyas tghuhot
                        slpeling was ipmorantt!
                        fi yuo cna raed tihs, palce it in yuor siantugre
                        I feogrt who ollanirigy had tihs but wohveer did. TAHNKS
                        Reply With Quote[/sig-reason]
                        Reply With Quote
                          #14    
                        Old March 22nd, 2008 (9:06 PM).
                        thethethethe thethethethe is offline
                           
                          Join Date: Jun 2007
                          Location: Melbourne, Australia
                          Gender: Male
                          Posts: 1,104
                          Quote:
                          Originally Posted by greenozano View Post
                          yeah it just means just dont post it again without permission.
                          Exactly right! Of course you can save it to your computer, you just aren't allowed to post it.
                          __________________
                          Gone.
                          Reply With Quote
                            #15    
                          Old March 22nd, 2008 (10:57 PM).
                          Aero-LyNx's Avatar
                          Aero-LyNx Aero-LyNx is offline
                          Go team dynamite!
                             
                            Join Date: Nov 2007
                            Location: Jakarta, Indonesia
                            Age: 24
                            Gender:
                            Nature: Impish
                            Posts: 83
                            Sorry, I'm a little bad at english. :D
                            Reply With Quote
                              #16    
                            Old March 29th, 2008 (2:24 PM).
                            score_under's Avatar
                            score_under score_under is offline
                            I program the *other* ASM.
                            • Crystal Tier
                             
                            Join Date: Aug 2005
                            Location: Hertfordshire, England
                            Age: 24
                            Nature: Rash
                            Posts: 525
                            I have constructive criticism!
                            I'm pretty sure that C7 does not set the colour, that's done inside the message (but it does seem to stop the message from showing, in my experimenting).
                            And 6B does not release the sprite. Instead, it makes the currently shown message disappear.
                            But that's just me being picky again.

                            Anyway, nice tutorial - It'll be great to just reverse this effect and make our own script in a normal map
                            __________________
                            Plz not to PM me, I don't come here often enough. Email if you need me
                            Reply With Quote
                              #17    
                            Old March 30th, 2008 (12:51 AM).
                            thethethethe thethethethe is offline
                               
                              Join Date: Jun 2007
                              Location: Melbourne, Australia
                              Gender: Male
                              Posts: 1,104
                              Quote:
                              Originally Posted by score_under View Post
                              I have constructive criticism!
                              I'm pretty sure that C7 does not set the colour, that's done inside the message (but it does seem to stop the message from showing, in my experimenting).
                              And 6B does not release the sprite. Instead, it makes the currently shown message disappear.
                              But that's just me being picky again.

                              Anyway, nice tutorial - It'll be great to just reverse this effect and make our own script in a normal map ;)
                              #raw 0xC7 does change the text colour. I use it myself a lot. Could you show me what you did? Maybe I might see the problem.
                              And I was told 0x6B was that, but I'm not sure. I now know it has a similiar effect to 0x68.

                              But please note this tutorial was posted 4 months ago. A lot of knowledge has been gained by people since then.
                              __________________
                              Gone.
                              Reply With Quote
                                #18    
                              Old April 6th, 2008 (3:52 AM).
                              score_under's Avatar
                              score_under score_under is offline
                              I program the *other* ASM.
                              • Crystal Tier
                               
                              Join Date: Aug 2005
                              Location: Hertfordshire, England
                              Age: 24
                              Nature: Rash
                              Posts: 525
                              Just tested it, and C7 works on Fire Red but not on Ruby.
                              __________________
                              Plz not to PM me, I don't come here often enough. Email if you need me
                              Reply With Quote
                                #19    
                              Old July 30th, 2008 (9:06 AM).
                              alexk1995's Avatar
                              alexk1995 alexk1995 is offline
                                 
                                Join Date: Jul 2008
                                Location: in a bucket
                                Age: 21
                                Gender:
                                Nature: Modest
                                Posts: 33
                                good tutorial I vee read all your tutorials
                                __________________
                                +rep if you love unicorns
                                Reply With Quote
                                Reply
                                Quick Reply

                                Sponsored Links
                                Thread Tools

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

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

                                Forum Jump


                                All times are GMT -8. The time now is 2:23 AM.