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
  #1    
Old January 6th, 2010, 05:32 PM
~Teh Panda~'s Avatar
~Teh Panda~
Sea of Dreams - Redux
 
Join Date: Aug 2007

Advertise here
Well I have been interested in this for quite a while now. While completely pointless it would still add something quite unique to your game. Now what I was meant to ask and maybe would help research if we found offsets in the ram or something of the x and y offsets for the textboxes location on screen and if you would need a routine for keeping this permanent. I was speaking with ZodiacDaGreat about this and he seemed to think it would need some extensive ASM. I may have explain it bad though as it may have sounded if I wanted to appear like this only sometimes... But I am not too deep in ASM yet. I know some simple commands such as push, pop, load, etc and the registers and such. So maybe someone such as Juan or Interdpth could give an opinion?

----------

What I would think of doing is placing a break for when the textbox appears and see if we could pinpoint the X and y locations in the disassembler. But if we did this we probably would need to find the X and Y locations of not only the textbox but all which goes in it. The individual letter spaces etc.

Thanks and I hope this doesn't sound like a quaint pointless idea.
__________________




Mystic still in work to let you know...
Reply With Quote
  #2    
Old January 7th, 2010, 06:33 AM
Full Metal's Avatar
Full Metal
C(++) Developer.
Community Supporter
 
Join Date: Jan 2008
Location: In my mind.
Age: 19
Gender: Male
Nature: Timid
Send a message via Windows Live Messenger to Full Metal
well...this is just a guess...i'm going to say that the x position is "0" for easiness sake. BUT the gba screen 9x 240x160, divide that by 8...30x20, we know that the textbox takes up 4 "rows" in a tilemap, so take away four from our 20. 30x16= 480. So, in tilemap terms, the position (notice the lack of x/y specifier) is 480. so yea....there isn't really an x/y co-ordinate so to speak, if there was though, it would be 0x16 (not hex,but like XxY) no, this is not for certain, like i said, just a guess.
__________________

★ full metal.

I like to push it,
and push it,
until my luck is over.
Reply With Quote
  #3    
Old January 7th, 2010, 06:35 AM
hashtag's Avatar
hashtag
the man in black
Community Supporter
 
Join Date: Nov 2008
Location: Salisbury, England
Age: 19
Gender: Male
I've managed to accidentally move my textbox into the top left corner. :)
__________________
"i am the hero pokécommunity deserves, but not the one it needs right now"

paired with christos
Reply With Quote
  #4    
Old January 7th, 2010, 07:45 AM
~Teh Panda~'s Avatar
~Teh Panda~
Sea of Dreams - Redux
 
Join Date: Aug 2007
Quote:
Originally Posted by Full Metal View Post
well...this is just a guess...i'm going to say that the x position is "0" for easiness sake. BUT the gba screen 9x 240x160, divide that by 8...30x20, we know that the textbox takes up 4 "rows" in a tilemap, so take away four from our 20. 30x16= 480. So, in tilemap terms, the position (notice the lack of x/y specifier) is 480. so yea....there isn't really an x/y co-ordinate so to speak, if there was though, it would be 0x16 (not hex,but like XxY) no, this is not for certain, like i said, just a guess.
Wow I completely forgot it must be in tilemap form as in Tilemolester they just use the simple amount of tiles etc. But still that must mean we could find that? ;P

Quote:
Originally Posted by The Doctor View Post
I've managed to accidentally move my textbox into the top left corner.
Ooh ooh, did all the text still work though? Since my theory is the text has different data just telling where it places it on the screen no matter where the text box may be.
__________________




Mystic still in work to let you know...
Reply With Quote
  #5    
Old January 7th, 2010, 07:46 AM
hashtag's Avatar
hashtag
the man in black
Community Supporter
 
Join Date: Nov 2008
Location: Salisbury, England
Age: 19
Gender: Male
Here's a screenshot of the aforementioned problem. http://i46.tinypic.com/2nq7hat.png
__________________
"i am the hero pokécommunity deserves, but not the one it needs right now"

paired with christos
Reply With Quote
  #6    
Old January 7th, 2010, 09:42 AM
Full Metal's Avatar
Full Metal
C(++) Developer.
Community Supporter
 
Join Date: Jan 2008
Location: In my mind.
Age: 19
Gender: Male
Nature: Timid
Send a message via Windows Live Messenger to Full Metal
care to share how u did that --or fixed it-- ?
and panda....since the text and textbox are on the same pallette, plus going off the screenshot that doc gave us, i would expect to find that the text is put onto the screen relative to the textbox.
__________________

★ full metal.

I like to push it,
and push it,
until my luck is over.
Reply With Quote
  #7    
Old January 7th, 2010, 03:48 PM
~Teh Panda~'s Avatar
~Teh Panda~
Sea of Dreams - Redux
 
Join Date: Aug 2007
Quote:
Originally Posted by The Doctor View Post
Here's a screenshot of the aforementioned problem. http://i46.tinypic.com/2nq7hat.png
Looks like a nice start. I would also wish to know how you did this

Quote:
Originally Posted by Full Metal View Post
care to share how u did that --or fixed it-- ?
and panda....since the text and textbox are on the same pallette, plus going off the screenshot that doc gave us, i would expect to find that the text is put onto the screen relative to the textbox.
You are right probably. I am interested more in Ruby with this so I believe Firered uses this method you state. Not sure of ruby though (Probably same xD)
__________________




Mystic still in work to let you know...
Reply With Quote
  #8    
Old January 7th, 2010, 03:50 PM
hashtag's Avatar
hashtag
the man in black
Community Supporter
 
Join Date: Nov 2008
Location: Salisbury, England
Age: 19
Gender: Male
I was messing around a lot in a hex editor and tile molester. But, I guess I can try to replicate it.
__________________
"i am the hero pokécommunity deserves, but not the one it needs right now"

paired with christos
Reply With Quote
  #9    
Old January 7th, 2010, 03:52 PM
~Teh Panda~'s Avatar
~Teh Panda~
Sea of Dreams - Redux
 
Join Date: Aug 2007
Quote:
Originally Posted by The Doctor View Post
I was messing around a lot in a hex editor and tile molester. But, I guess I can try to replicate it.
Ahhh, well in Ruby they structure a lot similarly so I bet it wouldn't be much different. But did something screw up in the pallet on yours or did you just not edit it yet?
__________________




Mystic still in work to let you know...
Reply With Quote
  #10    
Old January 7th, 2010, 04:05 PM
hashtag's Avatar
hashtag
the man in black
Community Supporter
 
Join Date: Nov 2008
Location: Salisbury, England
Age: 19
Gender: Male
I hadn't edited it yet. :P
__________________
"i am the hero pokécommunity deserves, but not the one it needs right now"

paired with christos
Reply With Quote
  #11    
Old January 7th, 2010, 04:09 PM
~Teh Panda~'s Avatar
~Teh Panda~
Sea of Dreams - Redux
 
Join Date: Aug 2007
Quote:
Originally Posted by The Doctor View Post
I hadn't edited it yet.
Ooh, that splains it then . So looks pretty cool then. I suppose you would figure out how to move the Oak over also and his lil stand .
__________________




Mystic still in work to let you know...
Reply With Quote
  #12    
Old January 7th, 2010, 04:30 PM
interdpth
I've seen things, man.
 
Join Date: Jul 2004
IIRC the messagebox gets set to memory address 2001840 then throw into 0x600fb80

I decided to eat dinner after I found that out, i'm sure further enlightment will follow
__________________
yes, this is doge.

potato is not here.

bye
Reply With Quote
  #13    
Old January 7th, 2010, 08:59 PM
~Teh Panda~'s Avatar
~Teh Panda~
Sea of Dreams - Redux
 
Join Date: Aug 2007
Quote:
Originally Posted by interdpth View Post
IIRC the messagebox gets set to memory address 2001840 then throw into 0x600fb80

I decided to eat dinner after I found that out, i'm sure further enlightment will follow
Wow sounds cool yet I am not yet capable of making this all out hahaha. I still am learning more advanced stuff but thanks for the memory address. Ill tweak around a bit with that! Maybe I can ask Zodiac some more about this now.

By the way is this Ruby? Or Firered and that such.
__________________




Mystic still in work to let you know...
Reply With Quote
  #14    
Old January 8th, 2010, 02:42 PM
davidthefat
I Love C++
 
Join Date: Dec 2009
Age: 20
Gender: Male
So Im not exactly an ASM genius (in fact IDK any ASM) but I would assume that you can make variables and plug them in like as a more traditional language. So if you find the location of the coordinates, you can potentially change it in-game via the d pad. You can create a function that takes in the input of the d pad and then replacing the old coordinates with the new one, but IDK what that would do... its pointless, a text box you can move... LOL
Reply With Quote
  #15    
Old January 8th, 2010, 06:09 PM
~Teh Panda~'s Avatar
~Teh Panda~
Sea of Dreams - Redux
 
Join Date: Aug 2007
Quote:
Originally Posted by davidthefat View Post
So Im not exactly an ASM genius (in fact IDK any ASM) but I would assume that you can make variables and plug them in like as a more traditional language. So if you find the location of the coordinates, you can potentially change it in-game via the d pad. You can create a function that takes in the input of the d pad and then replacing the old coordinates with the new one, but IDK what that would do... its pointless, a text box you can move... LOL
Well if this theory was possible then I assume you could implement a feature with ASM to the settings where you can place the textbox where ever you would like around the screen
__________________




Mystic still in work to let you know...
Reply With Quote
  #16    
Old January 11th, 2010, 07:59 AM
Tropical Sunlight's Avatar
Tropical Sunlight
The Faltine
 
Join Date: Mar 2008
Location: Slovenia
Age: 18
Gender: Male
Send a message via Windows Live Messenger to Tropical Sunlight
So it would be posssible to have a textbox on top of the screen?
What else will they make
__________________
Reply With Quote
  #17    
Old January 20th, 2010, 07:49 PM
Darthatron's Avatar
Darthatron
巨大なトロール。
Community Supporter Tier 2
 
Join Date: Jan 2006
Location: Melbourne, Australia
Age: 22
Gender: Male
Nature: Modest
Is anyone working on this? If not I wouldn't mind doing so.
__________________
あなた は しきしゃ です
わたし は ばか です
Reply With Quote
  #18    
Old January 20th, 2010, 08:44 PM
~Teh Panda~'s Avatar
~Teh Panda~
Sea of Dreams - Redux
 
Join Date: Aug 2007
Quote:
Originally Posted by Darthatron View Post
Is anyone working on this? If not I wouldn't mind doing so.
Go for it Darcy! *But on Ruby first :3*
__________________




Mystic still in work to let you know...
Reply With Quote
  #19    
Old November 23rd, 2010, 03:07 PM
Shiny Quagsire's Avatar
Shiny Quagsire
どないやねん, ヤドン
 
Join Date: May 2009
Location: Hoenn Safari Zone
Age: 16
Gender: Male
Nature: Jolly
Tee Hee! I Figured it out on fire red, and I'll try and find it on ruby.

The textbox data is stored at 0x020204b4. The amounts all relate to the amount of 8x8 squares. It goes in this format:

byte: Unknown
byte: Text X position. Textbox follows
byte: Text Y position. Textbox follows
byte: Text X amount. Textbox follows.
byte: Text Y amount. Textbox becomes cut open. Never modify.
byte: Text properties (I have yet to figure this out, but it changes font, background, ect.
6 bytes: unknown, and havn't found any functions relating to them.

Try opening VBA's memory viewer and fiddling with the values. Your text box will be at your command
__________________



Reply With Quote
  #20    
Old November 23rd, 2010, 03:32 PM
knizz's Avatar
knizz
 
Join Date: Aug 2007
This offset doesn't seem to work. Can you give me offsets of code associated with it?
__________________
Firered IDA 6.1 DB: https://www.dropbox.com/s/hvvmxxoo1dkmdzc/firered.idb
VBA-M with lua scripting support (no longer in development)
Reply With Quote
  #21    
Old November 23rd, 2010, 03:38 PM
Team Fail's Avatar
Team Fail
The fine line between in|sanity
Community Supporter
 
Join Date: May 2009
Age: 19
Gender: Male
Nature: Brave
Quote:
Originally Posted by shiny quagsire View Post
Tee Hee! I Figured it out on fire red, and I'll try and find it on ruby.

The textbox data is stored at 0x020204b4. The amounts all relate to the amount of 8x8 squares. It goes in this format:

byte: Unknown
byte: Text X position. Textbox follows
byte: Text Y position. Textbox follows
byte: Text X amount. Textbox follows.
byte: Text Y amount. Textbox becomes cut open. Never modify.
byte: Text properties (I have yet to figure this out, but it changes font, background, ect.
6 bytes: unknown, and havn't found any functions relating to them.

Try opening VBA's memory viewer and fiddling with the values. Your text box will be at your command
This will be fun. Maybe I'll modify that for my hack. It'll look cool. Tee hee!
__________________

Pairs:
Kevin, Echidna
Follow me on Twitter! @TeamFail
Alt 1, リザードン
Miiverse
Pokémon Hackers Online
Alt 2: Jack Cayman



[04:20.39] <@GoGo> I WILL INSERT WITH PLEASURE
[04:20.45] <@GoGo> shut it Bela

[05:41.55] <Team_Fail> Blue Spider is interesting, but #MEHMasterRace
[05:42.20] <diegoisawesome> Team_Fail: Sounds like a bunch of unmotivated people that still want to try to take over the world
Reply With Quote
  #22    
Old November 23rd, 2010, 03:41 PM
Shiny Quagsire's Avatar
Shiny Quagsire
どないやねん, ヤドン
 
Join Date: May 2009
Location: Hoenn Safari Zone
Age: 16
Gender: Male
Nature: Jolly
Quote:
Originally Posted by knizz View Post
This offset doesn't seem to work. Can you give me offsets of code associated with it?
I've found it mostly around 08003014. It's also around 08004950, but other than that, there isn't much reference to it.
__________________



Reply With Quote
  #23    
Old January 15th, 2011, 01:22 PM
looper's Avatar
looper
German Hacker
 
Join Date: Aug 2010
Location: Germany
Gender: Male
Nature: Lonely
Send a message via Skype™ to looper
I tried it out, it works even with german ROMs, after trying, I found out, that the Data is refreshed when refreshing the Map.

So you can easy edit it with a levelscript on each Map, to set it for all Texts.

writebytetooffset 0x2 0x020204b5

will set the box to the top
__________________
I'm not a god. But Chuck Norris isn't, too.
Reply With Quote
  #24    
Old January 16th, 2011, 12:14 AM
Tropical Sunlight's Avatar
Tropical Sunlight
The Faltine
 
Join Date: Mar 2008
Location: Slovenia
Age: 18
Gender: Male
Send a message via Windows Live Messenger to Tropical Sunlight
Quote:
Originally Posted by looper View Post
I tried it out, it works even with german ROMs, after trying, I found out, that the Data is refreshed when refreshing the Map.

So you can easy edit it with a levelscript on each Map, to set it for all Texts.

writebytetooffset 0x2 0x020204b5

will set the box to the top
And when the map is refreshed, it will come back down?
Does it work with all the textboxes? (normal, sign)
__________________
Reply With Quote
  #25    
Old January 16th, 2011, 01:02 AM
looper's Avatar
looper
German Hacker
 
Join Date: Aug 2010
Location: Germany
Gender: Male
Nature: Lonely
Send a message via Skype™ to looper
it works with all textboxes.

When the Map is refreshed(eg.Warp) the Position of the Textbox is normal again
__________________
I'm not a god. But Chuck Norris isn't, too.
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 03:17 AM.


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.