The PokéCommunity Forums  

Go Back   The PokéCommunity Forums > ROM Hacking > Research & Development
Sign Up Rules/FAQ Live Battle Blogs Mark Forums Read

Notices

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


Advertise here

Reply
 
Thread Tools
  #26    
Old March 11th, 2013, 01:03 AM
Darthatron's Avatar
Darthatron
巨大なトロール。
Community Supporter Tier 2
 
Join Date: Jan 2006
Location: Melbourne, Australia
Age: 22
Gender: Male
Nature: Modest

Advertise here
Regarding the tiles messing up, the following byte changes appear to fix it:

Code:
080A1A5A: 00 00 00 00
080A1A68: 00 00 00 00
This is also posted in the first post.
__________________
あなた は しきしゃ です
わたし は ばか です
Reply With Quote
  #27    
Old March 11th, 2013, 05:17 AM
Jambo51's Avatar
Jambo51
Glory To Arstotzka
 
Join Date: Jun 2009
Gender: Male
Nature: Quiet
Quote:
Originally Posted by robin22gongon View Post
Patch PLEASE! I really need it. It gets annoying when your repel expires and you have to go to your bag again just to use another.
Both myself and Darthatron firmly believe in not posting patches for this sort of stuff, unless it's simply too big to put into a small hack, like this. (An example of something too big to not make a patch for would be the 649 Patch).

It's the height of laziness to expect a patch for every little hack, especially when the actual work entailed in implementing this is little more than changing a few bytes with a hex editor and compiling a script.

So, since Darthatron will ignore you unless you actually try to do it, please take my advice. Try to do the hack yourself, and if you run into trouble, ask for Darth's help. I'm sure he'll be more than happy to oblige, but if you don't even try...

ETA: I plan to add this to the 649 Patch, assuming everything works. It's a very nice and logical addition to the game.
__________________
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!

Last edited by Jambo51; March 11th, 2013 at 05:29 AM.
Reply With Quote
  #28    
Old March 11th, 2013, 10:01 PM
robin22gongon's Avatar
robin22gongon
 
Join Date: Sep 2012
Location: Want to know? VM me.
Age: 16
Gender: Male
Nature: Quirky
Send a message via Windows Live Messenger to robin22gongon
Quote:
Originally Posted by Jambo51 View Post
Both myself and Darthatron firmly believe in not posting patches for this sort of stuff, unless it's simply too big to put into a small hack, like this. (An example of something too big to not make a patch for would be the 649 Patch).

It's the height of laziness to expect a patch for every little hack, especially when the actual work entailed in implementing this is little more than changing a few bytes with a hex editor and compiling a script.

So, since Darthatron will ignore you unless you actually try to do it, please take my advice. Try to do the hack yourself, and if you run into trouble, ask for Darth's help. I'm sure he'll be more than happy to oblige, but if you don't even try...

ETA: I plan to add this to the 649 Patch, assuming everything works. It's a very nice and logical addition to the game.
I already tried to do it 12 times but every time I do it, this is what happens:
__________________
LET'S PARTY!
Reply With Quote
  #29    
Old March 11th, 2013, 10:34 PM
Jambo51's Avatar
Jambo51
Glory To Arstotzka
 
Join Date: Jun 2009
Gender: Male
Nature: Quiet
Then ask for help! Don't ask for a patch. Trust me when I say there's a reason that both of us have this stance towards patches. Sadly, I can't help as I've never applied the hack, but you (in each if your posts in this thread, ignoring this one) have asked for a patch.

I'm simply trying to help get you into the right mindset for hacking. When you get to the stage that people like Darthatron and myself are at, there's no copping out, no asking for patches, we need to do everything ourselves.

It's not just you, it's the entire culture around this site, and likely many other hacking sites. People want things done for them, never thinking that the person who made the hack in the first place probably had to do it from scratch.
__________________
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!
Reply With Quote
  #30    
Old March 11th, 2013, 10:59 PM
robin22gongon's Avatar
robin22gongon
 
Join Date: Sep 2012
Location: Want to know? VM me.
Age: 16
Gender: Male
Nature: Quirky
Send a message via Windows Live Messenger to robin22gongon
Quote:
Originally Posted by Jambo51 View Post
Then ask for help! Don't ask for a patch. Trust me when I say there's a reason that both of us have this stance towards patches. Sadly, I can't help as I've never applied the hack, but you (in each if your posts in this thread, ignoring this one) have asked for a patch.

I'm simply trying to help get you into the right mindset for hacking. When you get to the stage that people like Darthatron and myself are at, there's no copping out, no asking for patches, we need to do everything ourselves.

It's not just you, it's the entire culture around this site, and likely many other hacking sites. People want things done for them, never thinking that the person who made the hack in the first place probably had to do it from scratch.
Then help me, I'm just following the steps in the first post but that is what always happens. Can't you tell what I'm doing wrong? Also, Is this not possible for Pokemon Ruby?
__________________
LET'S PARTY!
Reply With Quote
  #31    
Old March 12th, 2013, 12:17 AM
Darthatron's Avatar
Darthatron
巨大なトロール。
Community Supporter Tier 2
 
Join Date: Jan 2006
Location: Melbourne, Australia
Age: 22
Gender: Male
Nature: Modest
Quote:
Originally Posted by robin22gongon View Post
I already tried to do it 12 times but every time I do it, this is what happens:
When does this happen? After the repel has worn off? Does any text come up, or just that menu?
Quote:
Originally Posted by robin22gongon View Post
Then help me, I'm just following the steps in the first post but that is what always happens. Can't you tell what I'm doing wrong? Also, Is this not possible for Pokemon Ruby?
It's possible for Ruby, but nobody has ported it yet. Once I work out if this is bug free, I will probably try to port it myself.
__________________
あなた は しきしゃ です
わたし は ばか です
Reply With Quote
  #32    
Old March 12th, 2013, 12:40 AM
robin22gongon's Avatar
robin22gongon
 
Join Date: Sep 2012
Location: Want to know? VM me.
Age: 16
Gender: Male
Nature: Quirky
Send a message via Windows Live Messenger to robin22gongon
Quote:
Originally Posted by Darthatron View Post
When does this happen? After the repel has worn off? Does any text come up, or just that menu?

It's possible for Ruby, but nobody has ported it yet. Once I work out if this is bug free, I will probably try to port it myself.
Yeah it appears right after the repel expires and I count my steps so I'm pretty sure my repel expired and also no text come up, just that menu.

Also promise you would port it for Ruby. Thanks.
__________________
LET'S PARTY!
Reply With Quote
  #33    
Old March 12th, 2013, 01:06 AM
Darthatron's Avatar
Darthatron
巨大なトロール。
Community Supporter Tier 2
 
Join Date: Jan 2006
Location: Melbourne, Australia
Age: 22
Gender: Male
Nature: Modest
Quote:
Originally Posted by robin22gongon View Post
Yeah it appears right after the repel expires and I count my steps so I'm pretty sure my repel expired and also no text come up, just that menu.
Well in that case, the script is not being called correctly. Did you set the right pointer to the script?
Quote:
Originally Posted by robin22gongon View Post
Also promise you would port it for Ruby. Thanks.
I will promise nothing.
__________________
あなた は しきしゃ です
わたし は ばか です
Reply With Quote
  #34    
Old March 12th, 2013, 03:11 AM
robin22gongon's Avatar
robin22gongon
 
Join Date: Sep 2012
Location: Want to know? VM me.
Age: 16
Gender: Male
Nature: Quirky
Send a message via Windows Live Messenger to robin22gongon
Quote:
Originally Posted by Darthatron View Post
Well in that case, the script is not being called correctly. Did you set the right pointer to the script?

I will promise nothing.
Yes! I'm sure I set the right pointer correctly for the script!

Also that last line was corny don't mind that. But please if you discover it, please tell me. And if I would experiment porting it to Ruby, would the script be the same?

EDIT: I got it to work but it doesn't ask me if I want to use another, it automatically uses a repel. Oh! and is it natural that it doesn't tell you that your repel expired and you got no more repels left?

BTW, how do you discover this kind of things?
__________________
LET'S PARTY!

Last edited by robin22gongon; March 12th, 2013 at 04:12 AM.
Reply With Quote
  #35    
Old March 12th, 2013, 04:22 AM
Darthatron's Avatar
Darthatron
巨大なトロール。
Community Supporter Tier 2
 
Join Date: Jan 2006
Location: Melbourne, Australia
Age: 22
Gender: Male
Nature: Modest
Quote:
Originally Posted by robin22gongon View Post
I got it to work but it doesn't ask me if I want to use another, it automatically uses a repel.
That's very odd. There's no call to the repel routine except for in the script when you select "Yes".
Quote:
Originally Posted by robin22gongon View Post
Oh! and is it natural that it doesn't tell you that your repel expired and you got no more repels left?
Well it doesn't tell you that you have none left, but you can edit that in yourself if you like, since I posted the script.
Quote:
Originally Posted by robin22gongon View Post
BTW, how do you discover this kind of things?
Through an advanced type of hacking called Assembly (or ASM for short). There are tutorials in the Tutorials section.

Might I ask how you got it to work?
__________________
あなた は しきしゃ です
わたし は ばか です
Reply With Quote
  #36    
Old March 12th, 2013, 04:34 AM
robin22gongon's Avatar
robin22gongon
 
Join Date: Sep 2012
Location: Want to know? VM me.
Age: 16
Gender: Male
Nature: Quirky
Send a message via Windows Live Messenger to robin22gongon
LOL I realised I didn't repoint it correctly because back then I would put 80 00 00 but I realized that couldn't be right so I searched the internet on repointing in hex and I found that I should put 00 00 80 08!

I walk 249 steps (MAX REPEL) and I take another step as it should my repel expires, but a text box comes up and says "ROBIN used MAX REPEL." Just that nothing more.

This is what the script I compiled looks like:
Code:
'-----------------------
#org 0x800000
lock
checkitem 0x800E 0x1
compare LASTRESULT 0x1
if 0x4 goto 0x880001A
msgbox 0x8800035 '"Repel's effect wore off."
release
end

'-----------------------
#org 0x80001A
msgbox 0x880004F '"Repel's effect wore off...\nUse ano..."
closeonkeypress
compare LASTRESULT 0x1
if 0x1 goto 0x880002E
end

'-----------------------
#org 0x80002E
callasm 0x81BFB69
end


'---------
' Strings
'---------
#org 0x800035
= Repel's effect wore off.

#org 0x80004F
= Repel's effect wore off...\nUse another?
Oh and about the Assembly, I know just a little but how do you do that and how did you find out which is which and what is what I mean that's another game and you managed to see how it works! Do you have some kind of resources that would point you to where and what bytes to edit?

Sorry for so many questions.
__________________
LET'S PARTY!
Reply With Quote
  #37    
Old March 12th, 2013, 04:48 AM
Darthatron's Avatar
Darthatron
巨大なトロール。
Community Supporter Tier 2
 
Join Date: Jan 2006
Location: Melbourne, Australia
Age: 22
Gender: Male
Nature: Modest
Quote:
Originally Posted by robin22gongon View Post
LOL I realised I didn't repoint it correctly because back then I would put 80 00 00 but I realized that couldn't be right so I searched the internet on repointing in hex and I found that I should put 00 00 80 08!
I see. I figured it was that.
Quote:
Originally Posted by robin22gongon View Post
I walk 249 steps (MAX REPEL) and I take another step as it should my repel expires, but a text box comes up and says "ROBIN used MAX REPEL." Just that nothing more.
So it doesn't say "Repel's effect wore off."? It goes straight to "ROBIN used MAX REPEL."?
Quote:
Originally Posted by robin22gongon View Post
This is what the script I compiled looks like:
Code:
'-----------------------
#org 0x800000
lock
checkitem 0x800E 0x1
compare LASTRESULT 0x1
if 0x4 goto 0x880001A
msgbox 0x8800035 3 '"Repel's effect wore off."
release
end

'-----------------------
#org 0x80001A
msgbox 0x880004F 5 '"Repel's effect wore off...\nUse ano..."
closeonkeypress
compare LASTRESULT 0x1
if 0x1 goto 0x880002E
end

'-----------------------
#org 0x80002E
callasm 0x81BFB69
end


'---------
' Strings
'---------
#org 0x800035
= Repel's effect wore off.

#org 0x80004F
= Repel's effect wore off...\nUse another?
Perhaps the changes I marked in red will fix the problem? I don't even know how yours compiled. :\
Quote:
Originally Posted by robin22gongon View Post
Oh and about the Assembly, I know just a little but how do you do that and how did you find out which is which and what is what I mean that's another game and you managed to see how it works! Do you have some kind of resources that would point you to where and what bytes to edit?
The ROM is the resource. Read the tutorials. I didn't see how it worked in BW, I just wrote it how it should work.
Quote:
Originally Posted by robin22gongon View Post
Sorry for so many questions.
That's okay.
__________________
あなた は しきしゃ です
わたし は ばか です
Reply With Quote
  #38    
Old March 12th, 2013, 04:59 AM
robin22gongon's Avatar
robin22gongon
 
Join Date: Sep 2012
Location: Want to know? VM me.
Age: 16
Gender: Male
Nature: Quirky
Send a message via Windows Live Messenger to robin22gongon
I tried it. It's still the same... Ugh! Just when I figured that 1 mistake!

EDIT: I rechecked in XSE the script and it's still the same the 3 and 5 disappears automatically. I also have tried to recompile it to another offset and guess what...

Spoiler:
It's still the same...
__________________
LET'S PARTY!
Reply With Quote
  #39    
Old March 12th, 2013, 08:10 PM
Darthatron's Avatar
Darthatron
巨大なトロール。
Community Supporter Tier 2
 
Join Date: Jan 2006
Location: Melbourne, Australia
Age: 22
Gender: Male
Nature: Modest
Quote:
Originally Posted by robin22gongon View Post
I tried it. It's still the same... Ugh! Just when I figured that 1 mistake!

EDIT: I rechecked in XSE the script and it's still the same the 3 and 5 disappears automatically. I also have tried to recompile it to another offset and guess what...

Spoiler:
It's still the same...
I really have no idea. Try it again on a clean ROM from scratch? Are you using the latest version of XSE (1.1.1, I think)?
__________________
あなた は しきしゃ です
わたし は ばか です
Reply With Quote
  #40    
Old March 12th, 2013, 08:29 PM
robin22gongon's Avatar
robin22gongon
 
Join Date: Sep 2012
Location: Want to know? VM me.
Age: 16
Gender: Male
Nature: Quirky
Send a message via Windows Live Messenger to robin22gongon
Yeah I'm using XSE 1.1.1.

I'll try it and I'm gonna report in a few days since my internet subscription's gonna be cut.
__________________
LET'S PARTY!
Reply With Quote
  #41    
Old March 13th, 2013, 03:13 PM
robin22gongon's Avatar
robin22gongon
 
Join Date: Sep 2012
Location: Want to know? VM me.
Age: 16
Gender: Male
Nature: Quirky
Send a message via Windows Live Messenger to robin22gongon
Hey there, do you think it can work if I use the "This is the compiled version of the script for anyone having problems"? That one?
__________________
LET'S PARTY!
Reply With Quote
  #42    
Old March 13th, 2013, 05:32 PM
Darthatron's Avatar
Darthatron
巨大なトロール。
Community Supporter Tier 2
 
Join Date: Jan 2006
Location: Melbourne, Australia
Age: 22
Gender: Male
Nature: Modest
Quote:
Originally Posted by robin22gongon View Post
Hey there, do you think it can work if I use the "This is the compiled version of the script for anyone having problems"? That one?
Well that's what it's there for. Try it out.
__________________
あなた は しきしゃ です
わたし は ばか です
Reply With Quote
  #43    
Old March 13th, 2013, 06:13 PM
robin22gongon's Avatar
robin22gongon
 
Join Date: Sep 2012
Location: Want to know? VM me.
Age: 16
Gender: Male
Nature: Quirky
Send a message via Windows Live Messenger to robin22gongon
Umm... Well, how do I do that? Do I still have to compile the script on the first page or just edit the bytes where I'm gonna compile it?

OH MY GOD... O-o It worked YAY! thanks dude! I love you! Can I make a patch for this?

This is it right? ZOMG


Now onto Ruby!
__________________
LET'S PARTY!

Last edited by robin22gongon; March 13th, 2013 at 06:32 PM. Reason: Your double post has been automatically merged.
Reply With Quote
  #44    
Old March 13th, 2013, 06:38 PM
Darthatron's Avatar
Darthatron
巨大なトロール。
Community Supporter Tier 2
 
Join Date: Jan 2006
Location: Melbourne, Australia
Age: 22
Gender: Male
Nature: Modest
Quote:
Originally Posted by robin22gongon View Post
Umm... Well, how do I do that? Do I still have to compile the script on the first page or just edit the bytes where I'm gonna compile it?

OH MY GOD... O-o It worked YAY! thanks dude! I love you! Can I make a patch for this?

This is it right? ZOMG


Now onto Ruby!
I'd rather if you didn't make a patch. Think of how much you learned from doing this. Don't you want others to learn the same?

Good work, though.
__________________
あなた は しきしゃ です
わたし は ばか です
Reply With Quote
  #45    
Old March 13th, 2013, 06:48 PM
robin22gongon's Avatar
robin22gongon
 
Join Date: Sep 2012
Location: Want to know? VM me.
Age: 16
Gender: Male
Nature: Quirky
Send a message via Windows Live Messenger to robin22gongon
Actually it's for personal use. Just so when I make a new Fire Red Hack I can implement it immediately without editing another byte. I just asked if it's okay because it's your property since you made it.

Also, IT IS possible for Ruby right? Can you tell me how I will research on it? I might actually look this up.
__________________
LET'S PARTY!

Last edited by robin22gongon; March 13th, 2013 at 06:54 PM.
Reply With Quote
  #46    
Old March 13th, 2013, 10:56 PM
Darthatron's Avatar
Darthatron
巨大なトロール。
Community Supporter Tier 2
 
Join Date: Jan 2006
Location: Melbourne, Australia
Age: 22
Gender: Male
Nature: Modest
Quote:
Originally Posted by robin22gongon View Post
Actually it's for personal use. Just so when I make a new Fire Red Hack I can implement it immediately without editing another byte. I just asked if it's okay because it's your property since you made it.
It's public property once I post it here.
Quote:
Originally Posted by robin22gongon View Post
Also, IT IS possible for Ruby right? Can you tell me how I will research on it? I might actually look this up.
Of course it's possible. You will need to do a lot of research in to ASM before you'll be capable of doing it, though.
__________________
あなた は しきしゃ です
わたし は ばか です
Reply With Quote
  #47    
Old March 13th, 2013, 11:25 PM
robin22gongon's Avatar
robin22gongon
 
Join Date: Sep 2012
Location: Want to know? VM me.
Age: 16
Gender: Male
Nature: Quirky
Send a message via Windows Live Messenger to robin22gongon
Quote:
Originally Posted by Darthatron View Post
It's public property once I post it here.

Of course it's possible. You will need to do a lot of research in to ASM before you'll be capable of doing it, though.
Well right now, I know the basics. Learning a few advanced.
__________________
LET'S PARTY!

Last edited by robin22gongon; March 14th, 2013 at 12:39 AM.
Reply With Quote
  #48    
Old March 14th, 2013, 12:27 AM
Darthatron's Avatar
Darthatron
巨大なトロール。
Community Supporter Tier 2
 
Join Date: Jan 2006
Location: Melbourne, Australia
Age: 22
Gender: Male
Nature: Modest
Quote:
Originally Posted by robin22gongon View Post
Well right now, I know the basics. Learning a few advanced.

Also one more thing, a little off-topic.
Do you know how I can implement the physical/special split of attack in Ruby? Also the new attacks? Is it through ASM? Sorry just wondering and hoping you know it.
I think someone already ported that to ruby? Either way, it requires the same stuff as porting this. You need to be able to do several things:
  1. Understand what needs to be done and be able to structure code.
  2. Be able to locate/understand functions or write functions that do what you need to do.
  3. Be able to locate somewhere to put your code so it runs.

Either way, it's not easy. It's taken me years to be able to do this stuff. You need to go to the Tutorials section and do some ASM tutorials. Before you can find and use code effectively, you need to be able to write it in the most simple forms.

Follow some tutorials and then PM me. But don't post in here about off-topic stuff because it makes everything look messy.
__________________
あなた は しきしゃ です
わたし は ばか です
Reply With Quote
  #49    
Old March 30th, 2013, 09:17 PM
dkp
Unhatched Egg
 
Join Date: Sep 2012
Gender: Male
So, I've been testing this out out of late, but I keep running into the same error:

All of the repels seem to have their effects corrupted. The text pulls up fine, the item gets "used", the script seems to work fine. However, whenever I attempt to implement this somehow the repel effect itself seems to stop working.

So say I'm testing it out; I go into the bag and use a repel. The text "Leaf used a Repel" pops up, the number decreases, all normal. But if I then walk into the grass or over water or what have you, I still get wild encounters. Despite still getting wild encounters, once I walk 250 steps or so, I get the right message; it asks me to use a repel, and if I say yes, it subtracts one from the bag until I have none. But even still, I get wild encounters.

May I ask which offset controls the wild encounter altering behavior for the item? Or if that's even changed at all by this (a problem on my end)? (or what part of the script)? While I've checked and rechecked it might be a copy error, though I don't think so.

I've used both a greatly hacked BPRE v1.0 rom and a clean one (though for the clean I did use thethethe's Item Editor via Gamer2020's Pokemon Game Editor to change the price, and A-Map and XSE to insert a shop/sprite in Pallet to make testing easier; this is after the offsets were changed; if there's a problem with this method I'm unaware of it would be nice to know).

Thanks for any help offered.
__________________
Hey! If you're a tool maker or you have a resource to contribute, but you're not up to trying to make a guide, I'll be happy to try and write one up for you if you want. All I need is a pm and the offsets.
Reply With Quote
  #50    
Old March 30th, 2013, 10:36 PM
robin22gongon's Avatar
robin22gongon
 
Join Date: Sep 2012
Location: Want to know? VM me.
Age: 16
Gender: Male
Nature: Quirky
Send a message via Windows Live Messenger to robin22gongon
Quote:
Originally Posted by dkp View Post
Yes, naturally... Unfortunately, it seems to be interfered with by what I've got going already... pity. Brilliant though. Now I just need to track down what's wrong.
Based on your post, I guess you've already started progress on your ROM am I right? If so, and you want to keep your progress and at the same time fix the problem, follow this:

Spoiler:
Step 1
Do it on a clean FR ROM. Do it and edit the bytes with the same offsets.

Step 2
Test it. If it works, make a patch for it.

Step 3
Backup your progressed ROM. Apply the patch. Make sure the patch overwrites the old bytes and offsets. Now test it.

Step 4
Party non-stop. Hehehe... Hope it helps.
__________________
LET'S PARTY!
Reply With Quote
Reply
Quick Reply

Sponsored Links


Advertise here
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
Minimum Characters Per Post: 25



All times are UTC -8. The time now is 12:28 PM.


Style by Nymphadora, artwork by Sa-Dui.
Like our Facebook Page Follow us on Twitter © 2002 - 2014 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2014 The PokéCommunity / PokéCommunity.com.
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.