The PokéCommunity Forums  

Go Back   The PokéCommunity Forums > Fan Games > Binary ROM Hacking
Reload this Page Script Pewter Guidepost Man Issue

Notices
For all updates, view the main page.

Binary ROM Hacking Need a helping hand or just want to talk about binary ROM hacks? Get comments and answers to any ROM Hacking-related problems, questions or thoughts you have here.

Ad Content
Reply
 
Thread Tools
  #1   Link to this post, but load the entire thread.  
Old May 17th, 2017 (11:54 PM). Edited August 22nd, 2017 by KrustyKong.
KrustyKong's Avatar
KrustyKong KrustyKong is offline
 
Join Date: Feb 2016
Location: California
Age: 27
Gender: Female
Posts: 80
I'm trying to edit the paths the boy in Pewter that shows you to the Gym walks. I got the first part of the script done fine but this part is giving me some hell #org 0x165F71. When I enter the commands and compile, the commands change. I'm trying to put in these:
#raw 0x10
#raw 0x12
#raw 0x10
#raw 0x30
#raw 0x28

but it ends up as these:
#raw 0x10 'Step Down (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x25 'Step on the Spot Down (Faster)
Reply With Quote
  #2   Link to this post, but load the entire thread.  
Old May 18th, 2017 (9:49 AM).
tkim's Avatar
tkim tkim is offline
 
Join Date: May 2011
Posts: 232
Quote:
Originally Posted by KrustyKong View Post
I'm trying to edit the paths the boy in Pewter that shows you to the Gym walks. I got the first part of the script done fine but this part is giving me some hell #org 0x165F71. When I enter the commands and compile, the commands change. I'm trying to put in these:
#raw 0x10
#raw 0x12
#raw 0x10
#raw 0x30
#raw 0x28

but it ends up as these:
#raw 0x10 'Step Down (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x25 'Step on the Spot Down (Faster)
It's because you're overwriting the bytes and your entry is longer than what that offset holds. raw bytes are actually the bytes shown when you open the ROM with a hex editor and go to the offset. these movement byte entries always end with 0xFE. You'll have to use another offset or do a search in the hex editor, the bytes you want to use and if you can find it, just repoint the offset to the found location.
Reply With Quote
  #3   Link to this post, but load the entire thread.  
Old May 18th, 2017 (10:28 AM).
KrustyKong's Avatar
KrustyKong KrustyKong is offline
 
Join Date: Feb 2016
Location: California
Age: 27
Gender: Female
Posts: 80
Quote:
Originally Posted by tkim View Post
It's because you're overwriting the bytes and your entry is longer than what that offset holds. raw bytes are actually the bytes shown when you open the ROM with a hex editor and go to the offset. these movement byte entries always end with 0xFE. You'll have to use another offset or do a search in the hex editor, the bytes you want to use and if you can find it, just repoint the offset to the found location.
I think in this particular case, it would be easier to make the initial script short, then use the Delay command during the next part. How would I go about doing the suggestions you gave in case this comes up again later?
Also I'm not sure how me adding three bytes to an originally 2 command script raises the total from an expected 5 to 6?
Reply With Quote
  #4   Link to this post, but load the entire thread.  
Old May 19th, 2017 (8:47 AM).
tkim's Avatar
tkim tkim is offline
 
Join Date: May 2011
Posts: 232
Quote:
Originally Posted by KrustyKong View Post
I think in this particular case, it would be easier to make the initial script short, then use the Delay command during the next part. How would I go about doing the suggestions you gave in case this comes up again later?
Also I'm not sure how me adding three bytes to an originally 2 command script raises the total from an expected 5 to 6?
the easiest laziest way to do this would be to search for free space and use that free space's offset. For example, you've found free space at 0x800000, then you would replace the 0x165F71 with 0x800000 within the script itself, while adding in your custom movements to that offset. You must end your movement with 0xFE.

It's actually originally three commands (10, 25, FE). and you were overwriting those three(it doesn't go beyond 0xfe i guess) (in your case, only the first three of your custom movements overwrote those bytes. It became 6 (7 including 0xFE) because you got rid of the 0xFE when you overwrote, so the next set of commands were bridged to yours.

basically: your entry can't be longer than the original, otherwise you need to use a different offset.
Reply With Quote
  #5   Link to this post, but load the entire thread.  
Old May 19th, 2017 (6:30 PM).
KrustyKong's Avatar
KrustyKong KrustyKong is offline
 
Join Date: Feb 2016
Location: California
Age: 27
Gender: Female
Posts: 80
Quote:
Originally Posted by tkim View Post
the easiest laziest way to do this would be to search for free space and use that free space's offset. For example, you've found free space at 0x800000, then you would replace the 0x165F71 with 0x800000 within the script itself, while adding in your custom movements to that offset. You must end your movement with 0xFE.

It's actually originally three commands (10, 25, FE). and you were overwriting those three(it doesn't go beyond 0xfe i guess) (in your case, only the first three of your custom movements overwrote those bytes. It became 6 (7 including 0xFE) because you got rid of the 0xFE when you overwrote, so the next set of commands were bridged to yours.

basically: your entry can't be longer than the original, otherwise you need to use a different offset.
Forgot to mention that I never overwrote 0xFE. I'm gonna go ahead and do the free space thing, but I still wanna know where the third 0x10 came from where there's supposed to be 0x30. like, I'd think it'd be
#raw 0x10
#raw 0x12
#raw 0x10
#raw 0x30
#raw 0x10
#raw 0x25
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
Ad Content
Thread Tools

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

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

Forum Jump


All times are GMT -8. The time now is 9:14 AM.