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.

Reply
Click here to go to the first staff post in this thread.  
Thread Tools
  #101    
Old June 29th, 2011, 04:26 AM
EdensElite's Avatar
EdensElite
No0b, but getting there.
 
Join Date: Jun 2011
Location: UK
Gender: Male
Nature: Bold
Wait, did I actually make a relevant discovery xD

Yeah, I thought the main troubles would be that the trainer would be static (This isn't a problem for the pokemon as it has two frames bobbing up and down, you would just need to extend the amount of frames) and the event that would bring the pokemon into the game, as surfing requires manual interaction. If you could bypass this somehow so that it does it automatically or perhaps the event could be actually clicking on a pikachu ball at the start of the game and from then on the event wouldn't end. It is a problem :L
Reply With Quote
  #102    
Old July 1st, 2011, 03:14 AM
knizz's Avatar
knizz
 
Join Date: Aug 2007
This patch will allow npcs that use the 'imitate player' mode to walk through other npcs when their trainer-byte is set to 8.

eh 08062A0A 0x5EAA
eh 08062A0C 0x1C20
eh 08062A0E 0x1C33
eh 08062A10 0xF000
eh 08062A12 0xFE4C
eh 08062A14 0x79E1
eh 08062A16 0x0040
eh 08062A18 0x4388
eh 08062A1A 0xD110

Guess why this is relevant.
__________________
Firered IDA 6.1 DB: https://www.dropbox.com/s/hvvmxxoo1dkmdzc/firered.idb
VBA-M with lua scripting support (no longer in development)

Last edited by knizz; July 1st, 2011 at 11:17 PM. Reason: I mixed up BEQ and BNE
Reply With Quote
  #103    
Old July 1st, 2011, 07:16 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
Because...you found out how to create an OAM via map loading routine?
Quote:
Originally Posted by hi sir tomato my password is syvniti View Post
Uhh, and then having crazy hair!
^ Debateably( SP? ) his best achievement. :3
__________________

★ full metal.

I like to push it,
and push it,
until my luck is over.

Last edited by Full Metal; July 1st, 2011 at 09:32 AM.
Reply With Quote
  #104    
Old July 2nd, 2011, 07:45 AM
Darthatron's Avatar
Darthatron
巨大なトロール。
Community Supporter
 
Join Date: Jan 2006
Location: Melbourne, Australia
Age: 23
Gender: Male
Nature: Modest


Winning?

TIGER BLOOD!

knizz did this. Not me.
__________________
あなた は しきしゃ です
わたし は ばか です
Reply With Quote
  #105    
Old July 2nd, 2011, 08:03 AM
~Anbuja's Avatar
~Anbuja
Let's Keep It Simple
 
Join Date: Oct 2010
Location: In Snorlax Stomach
Gender: Male
Nature: Lonely
Send a message via Skype™ to ~Anbuja
Quote:
Originally Posted by Darthatron View Post


Winning?

TIGER BLOOD!

knizz did this. Not me.
this is amazing:D:D:D:D
but why the fat guy coming after u?
and the grass animation seems to not work anymore?
and the following ow shouldnt walk throguh u like that.he should everytime be behind u.
but good job keep it up:D
__________________
Reply With Quote
  #106    
Old July 2nd, 2011, 08:12 AM
knizz's Avatar
knizz
 
Join Date: Aug 2007
Quote:
Originally Posted by Anbuja's_BlooDY View Post
And the following OW shouldn't walk through you like that. He should always be behind you.
Are you aware that 5 hours of hard work were necessary to make this possible? The whole hack is RAW HEX. It's not even ASM.
EDIT: Not the whole patch. That took even longer. I meant that it took that many hours to allow the follower to walkthrough the NPC and the other way round.
__________________
Firered IDA 6.1 DB: https://www.dropbox.com/s/hvvmxxoo1dkmdzc/firered.idb
VBA-M with lua scripting support (no longer in development)

Last edited by knizz; July 2nd, 2011 at 08:17 AM.
Reply With Quote
  #107    
Old July 2nd, 2011, 08:13 AM
sab's Avatar
sab
Now too much of a life.
 
Join Date: Jul 2008
Location: Midgar
Age: 18
Gender: Male
Nature: Timid
I don't know if this is actually useful, but in ruby the bytes that change when buttons are pressed are at 4000130 and 4000131. For example if I pressed up it would put BF at 4000130 and 03 at 4000131. Down would be 7F at 4000130 and 03 at 4000131. Left would be DF at 4000130, and right would be EF at 4000130. From what I can tell, 4000131 is used for "A" and "B", but not much else. I tried to use this to get a script to work on ruby but it failed misserably. This was meant to start when the player was standing on top of the person following.
Spoiler:

#org @youroffset
Msgbox @message1offset MSG_NORMAL
waitkeypress
pause 0x20
goto @youroffset2

#org @youroffset2
comparefarbytetobyte 0x4000130 0xFF
if 0x1 goto @youroffset2
comparefarbytetobyte 0x4000130 0xFE
if 0x1 goto @end
comparefarbytetobyte 0x4000130 0xFD
if 0x1 goto @end
comparefarbytetobyte 0x4000130 0xF7
if 0x1 goto @end
comparefarbytetobyte 0x4000130 0xFC
if 0x1 goto @end
comparefarbytetobyte 0x4000130 0xFB
if 0x1 goto @end
comparefarbytetobyte 0x4000130 0x7f
if 0x1 goto @down
comparefarbytetobyte 0x4000130 0xBF
if 0x1 goto @up
comparefarbytetobyte 0x4000130 0xDf
if 0x1 goto @left
comparefarbytetobyte 0x4000130 0xEF
if 0x1 goto @right
goto @youroffset2

#org @yetanotheroffset
comparefarbytetobyte 0x4000130 0xFF
if 0x1 goto @yetanotheroffset
comparefarbytetobyte 0x4000130 0xFE
if 0x1 goto @end
comparefarbytetobyte 0x4000130 0xFD
if 0x1 goto @end
comparefarbytetobyte 0x4000130 0xF7
if 0x1 goto @end
comparefarbytetobyte 0x4000130 0xFC
if 0x1 goto @end
comparefarbytetobyte 0x4000130 0xFB
if 0x1 goto @end
comparefarbytetobyte 0x4000130 0x7f
if 0x1 goto @down2
comparefarbytetobyte 0x4000130 0xBF
if 0x1 goto @up2
comparefarbytetobyte 0x4000130 0xDf
if 0x1 goto @left2
comparefarbytetobyte 0x4000130 0xEF
if 0x1 goto @right2
goto @yetanotheroffset

#org @right2
applymovement 0xff @rightmovement
writebytetooffset 0xEF 0x087F0000
comparefarbytetobyte 0x087F0001 0x7F
if 0x1 goto @down2otherperson
comparefarbytetobyte 0x087F0001 0xBF
if 0x1 goto @up2otherperson
comparefarbytetobyte 0x087F0001 0xDf
if 0x1 goto @left2otherperson
comparefarbytetobyte 0x087F0001 0xEF
if 0x1 goto @right2otherperson
goto @right2

#org @left2
applymovement 0xff @leftmovement
writebytetooffset 0xDF 0x087F0000
comparefarbytetobyte 0x087F0001 0x7F
if 0x1 goto @down2otherperson
comparefarbytetobyte 0x087F0001 0xBF
if 0x1 goto @up2otherperson
comparefarbytetobyte 0x087F0001 0xDf
if 0x1 goto @left2otherperson
comparefarbytetobyte 0x087F0001 0xEF
if 0x1 goto @right2otherperson
goto @left2

#org @up2
applymovement 0xff @upmovement
writebytetooffset 0xBF 0x087F0000
comparefarbytetobyte 0x087F0001 0x7F
if 0x1 goto @down2otherperson
comparefarbytetobyte 0x087F0001 0xBF
if 0x1 goto @up2otherperson
comparefarbytetobyte 0x087F0001 0xDf
if 0x1 goto @left2otherperson
comparefarbytetobyte 0x087F0001 0xEF
if 0x1 goto @right2otherperson
goto @up2

#org @down2
applymovement 0xff @downmovement
writebytetooffset 0x7f 0x087F0000
comparefarbytetobyte 0x087F0001 0x7F
if 0x1 goto @down2otherperson
comparefarbytetobyte 0x087F0001 0xBF
if 0x1 goto @up2otherperson
comparefarbytetobyte 0x087F0001 0xDf
if 0x1 goto @left2otherperson
comparefarbytetobyte 0x087F0001 0xEF
if 0x1 goto @right2otherperson
goto @down2

#org @right
applymovement 0xff @rightmovement
writebytetooffset 0xEF 0x087F0001
checkflag 0x2d0
if 0x0 goto @setflag
comparefarbytetobyte 0x087F0000 0x7F
if 0x1 goto @downotherperson
comparefarbytetobyte 0x087F0000 0xBF
if 0x1 goto @upotherperson
comparefarbytetobyte 0x087F0000 0xDf
if 0x1 goto @leftotherperson
comparefarbytetobyte 0x087F0000 0xEF
if 0x1 goto @rightotherperson
goto @right

#org @left
applymovement 0xff @leftmovement
writebytetooffset 0xDF 0x087F0001
checkflag 0x2d0
if 0x0 goto @setflag
comparefarbytetobyte 0x087F0000 0x7F
if 0x1 goto @downotherperson
comparefarbytetobyte 0x087F0000 0xBF
if 0x1 goto @upotherperson
comparefarbytetobyte 0x087F0000 0xDf
if 0x1 goto @leftotherperson
comparefarbytetobyte 0x087F0000 0xEF
if 0x1 goto @rightotherperson
goto @left

#org @up
applymovement 0xff @upmovement
writebytetooffset 0xBF 0x087F0001
checkflag 0x2d0
if 0x0 goto @setflag
comparefarbytetobyte 0x087F0000 0x7F
if 0x1 goto @downotherperson
comparefarbytetobyte 0x087F0000 0xBF
if 0x1 goto @upotherperson
comparefarbytetobyte 0x087F0000 0xDf
if 0x1 goto @leftotherperson
comparefarbytetobyte 0x087F0000 0xEF
if 0x1 goto @rightotherperson
goto @up

#org @down
applymovement 0xff @downmovement
writebytetooffset 0x7F 0x087F0001
checkflag 0x2d0
if 0x0 goto @setflag
comparefarbytetobyte 0x087F0000 0x7F
if 0x1 goto @downotherperson
comparefarbytetobyte 0x087F0000 0xBF
if 0x1 goto @upotherperson
comparefarbytetobyte 0x087F0000 0xDf
if 0x1 goto @leftotherperson
comparefarbytetobyte 0x087F0000 0xEF
if 0x1 goto @rightotherperson
goto @down

#org @right2otherperson
applymovement 27 @rightmovement
goto @youroffset2

#org @left2otherperson
applymovement 27 @leftmovement
goto @youroffset2

#org @down2otherperson
applymovement 27 @downmovement
goto @youroffset2

#org @up2otherperson
applymovement 27 @upmovement
goto @youroffset2

#org @rightotherperson
applymovement 27 @rightmovement
goto @yetanotheroffset

#org @leftotherperson
applymovement 27 @leftmovement
goto @yetanotheroffset

#org @downotherperson
applymovement 27 @downmovement
goto @yetanotheroffset

#org @upotherperson
applymovement 27 @upmovement
goto @yetanotheroffset

#org @end
msgbox @message2offset MSG_NORMAL
writebytetooffset 0x0 0x087F0001
writebytetooffset 0x0 0x087F0000
clearflag 0x2d0
end

#org @setflag
setflag 0x2d0
applymovement 222 @downmovement
goto @yetanotheroffset

#org @message1offset
= some text stating that the person will follow you.

#org @message2offset
= some text stating that the person will stop following you because you didn't press an arrow key.

#org @rightmovement
#raw 0x0B
#raw 0xFE

#org @leftmovement
#raw 0x0A
#raw 0xFE

#org @upmovement
#raw 0x09
#raw 0xFE

#org @downmovement
#raw 0x08
#raw 0xFE
__________________
anCay ouyay eakspay igpay atinlay? Ifay osay easeplay m.p.ay
emay enthay opycay anday astepay isthay inay ouryay ignaturesay.
Reply With Quote
  #108    
Old July 2nd, 2011, 08:16 AM
Nintendork15
I'm gone. Bye.
 
Join Date: Feb 2009
Location: Undertaker. Co.
Age: 20
Gender: Male
Nature: Naughty
Quote:
Originally Posted by Darthatron View Post


Winning?

TIGER BLOOD!

knizz did this. Not me.
Wow!
Alot of effort musta gone into to that there.
Just wondering but would the follower still be with you if you were to enter a building ... or will the dissappear.
__________________
gone.
Reply With Quote
  #109    
Old July 2nd, 2011, 08:30 AM
colcolstyles's Avatar
colcolstyles
Yours truly
 
Join Date: May 2008
Location: The Bay Area
Gender: Male
Nature: Lonely
It's pretty glitchy but congratulations on getting the map switching to work. Nice job. :)
__________________

Brother of Vrai
Reply With Quote
  #110    
Old July 2nd, 2011, 03:30 PM
Darthatron's Avatar
Darthatron
巨大なトロール。
Community Supporter
 
Join Date: Jan 2006
Location: Melbourne, Australia
Age: 23
Gender: Male
Nature: Modest
All those glitches are fixed now. The only problem I'm having now is with ledges...
__________________
あなた は しきしゃ です
わたし は ばか です
Reply With Quote
  #111    
Old July 3rd, 2011, 01:13 AM
knizz's Avatar
knizz
 
Join Date: Aug 2007
Put the modified source into my Dropbox. Or do you not have write-access?
__________________
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
  #112    
Old July 3rd, 2011, 03:05 AM
Darthatron's Avatar
Darthatron
巨大なトロール。
Community Supporter
 
Join Date: Jan 2006
Location: Melbourne, Australia
Age: 23
Gender: Male
Nature: Modest
Quote:
Originally Posted by knizz View Post
Put the modified source into my Dropbox. Or do you not have write-access?
Done.

-



Ledge problems. I have some ideas, but they are tedious...
__________________
あなた は しきしゃ です
わたし は ばか です
Reply With Quote
  #113    
Old July 3rd, 2011, 10:33 AM
Chimchar 9's Avatar
Chimchar 9
inactive ~ depression :/
 
Join Date: Jan 2008
Location: England, Southampton.
Age: 21
Gender: Male
Nature: Calm
Send a message via Windows Live Messenger to Chimchar 9
Now, that's very impressive! Would there possibly be an option to make it disappear or reappear? Or even change it's sprite?
__________________
Pokemon Green Diamond
Status: On Hold.
Reply With Quote
  #114    
Old July 3rd, 2011, 11:22 AM
diegoisawesome's Avatar
diegoisawesome
Please understand
Community Supporter
 
Join Date: Dec 2007
Location: Goldenrod City, Johto
Age: 17
Gender: Male
Nature: Quirky
To Darthatron: It's almost perfect! Nice job!
I wonder if Jambo51 could help with the ledge bit.
__________________


My other resources:
My Website
diegoisawesome's MEGA-HUGE XSE Scripting Tutorial
diegoisawesome's Miscellaneous Finds
The Ruins of Alph Puzzles
Reply With Quote
  #115    
Old July 3rd, 2011, 11:40 AM
Team Fail's Avatar
Team Fail
See that, Aster?
Community Supporter
 
Join Date: May 2009
Age: 19
Gender: Male
Nature: Brave
Quote:
Originally Posted by diegoisawesome View Post
To Darthatron: It's almost perfect! Nice job!
I wonder if Jambo51 could help with the ledge bit.
From what I just heard, he almost has it solved. But, I wonder how it'll work. I hope it is that the following NPC can read tile movements and will read the fact that they must "jump" over a ledge when your sprite stands off to the side.
__________________

You are challenged by Lorekeeper Zinnia!
Pairs | Twitter | Alt | Alt II | PHO
Reply With Quote
  #116    
Old July 3rd, 2011, 01:25 PM
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
Quote:
Originally Posted by Chimchar 9 View Post
Now, that's very impressive! Would there possibly be an option to make it disappear or reappear? Or even change it's sprite?
That would be as simple as copying your own OW into the TILEAREA and setting the NPC's OAM entry to point to your OW in the TILEAREA ( charset, I believe ). I believe FR uses a 'mirror memory' -- I would look up 'yet another asm tutorial' by Knizz to figure out how to find where to write your OW pixels to so that it's not automatically over-written by the game's engine.
__________________

★ full metal.

I like to push it,
and push it,
until my luck is over.
Reply With Quote
  #117    
Old July 5th, 2011, 11:36 AM
EdensElite's Avatar
EdensElite
No0b, but getting there.
 
Join Date: Jun 2011
Location: UK
Gender: Male
Nature: Bold
I had a couple of ideas.

Firstly, I have noticed that lake water, reflects the image of those on it, It is similar to the surfing thing, but it might be worth a look into.

Secondly, You have obviously noticed that the height parameters required for the sprite editing is much higher than necessary. For every sprite you could just slot a pikachu behind him? The sides would be a problem though :/
Reply With Quote
  #118    
Old July 6th, 2011, 06:07 PM
Chimchar 9's Avatar
Chimchar 9
inactive ~ depression :/
 
Join Date: Jan 2008
Location: England, Southampton.
Age: 21
Gender: Male
Nature: Calm
Send a message via Windows Live Messenger to Chimchar 9
Quote:
Originally Posted by Full Metal View Post


That would be as simple as copying your own OW into the TILEAREA and setting the NPC's OAM entry to point to your OW in the TILEAREA ( charset, I believe ). I believe FR uses a 'mirror memory' -- I would look up 'yet another asm tutorial' by Knizz to figure out how to find where to write your OW pixels to so that it's not automatically over-written by the game's engine.
Oh, really? That sounds very positive then. I also hope you figure that problem out.
__________________
Pokemon Green Diamond
Status: On Hold.
Reply With Quote
  #119    
Old July 6th, 2011, 06:23 PM
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
Quote:
Originally Posted by EdensElite View Post
I had a couple of ideas.

Firstly, I have noticed that lake water, reflects the image of those on it, It is similar to the surfing thing, but it might be worth a look into.

Secondly, You have obviously noticed that the height parameters required for the sprite editing is much higher than necessary. For every sprite you could just slot a pikachu behind him? The sides would be a problem though :/
This idea has been shot down many times. The system we have now works better anyways.

Quote:
Originally Posted by Chimchar 9 View Post

Oh, really? That sounds very positive then. I also hope you figure that problem out.
Psh. I doubt I use this anyways. I'm not working on a hack.
I'm just wanting to see it work, do it myself and understand it.
Then move on to the next subject.
__________________

★ full metal.

I like to push it,
and push it,
until my luck is over.
Reply With Quote
  #120    
Old July 7th, 2011, 12:09 AM
Satoshi Ookami's Avatar
Satoshi Ookami
Memento Mori
Community Supporter
 
Join Date: Jul 2008
Location: Abyss of Time, Great Seal
Age: 22
Gender: Male
Nature: Calm
Wow... I simply cannot believe what you guys did.
You are so awesome!
If this were to be perfected then the 3rd gen hacking would advance to the next level.
Thank you for that!
__________________
ROM hacking FAQ - Read before asking how to play a hack. | Previous Sign 2 | Previous Sign

Anime List | PSN Trophy List
Reply With Quote
  #121    
Old July 10th, 2011, 06:12 PM
Jambo51's Avatar
Jambo51
Glory To Arstotzka
 
Join Date: Jun 2009
Gender: Male
Nature: Quiet
I've not done any work on this for a couple of days, but have a look anyway :D

http://www.youtube.com/watch?v=y2hUoO2yxcA
__________________
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
  #122    
Old July 11th, 2011, 01:03 AM
AimayBee's Avatar
AimayBee
Mighty Spriter
 
Join Date: Feb 2010
Location: Cloud 9
Age: 22
Gender: Female
Nature: Gentle
Quote:
Originally Posted by Jambo51 View Post
I've not done any work on this for a couple of days, but have a look anyway :D

http://www.youtube.com/watch?v=y2hUoO2yxcA
This looks amazing, love how you made her walk all the time.

Did you use ASM for this then? x
__________________

I've had a few requests to make this hack an actual thing now. So I'm re-inserting the tileset into an earlier, non-corrupted file.



Let me know if you want the beta 0.5.
Reply With Quote
  #123    
Old July 11th, 2011, 04:28 AM
EdensElite's Avatar
EdensElite
No0b, but getting there.
 
Join Date: Jun 2011
Location: UK
Gender: Male
Nature: Bold
Oh. I posted before viewing the video, this is getting really awesome! Are you going to release the data for this when it has been perfected? and if so how, like a patch or something?

p.s Is that a Genesect cry at about 30 second 0.o?
Reply With Quote
  #124    
Old July 11th, 2011, 06:14 AM
metapod23's Avatar
metapod23
Hardened Trainer
 
Join Date: Mar 2009
Gender: Male
Nature: Timid
Quote:
Originally Posted by Jambo51 View Post
I've not done any work on this for a couple of days, but have a look anyway :D

http://www.youtube.com/watch?v=y2hUoO2yxcA
Very awesome. Just wanted to say great work.
It would be a great present if the code was ever released to the public.
__________________
Reply With Quote
  #125    
Old July 11th, 2011, 10:39 AM
Satoshi Ookami's Avatar
Satoshi Ookami
Memento Mori
Community Supporter
 
Join Date: Jul 2008
Location: Abyss of Time, Great Seal
Age: 22
Gender: Male
Nature: Calm
Awesome, plain awesomeness... =)
Just like the posters above I'd really love to see this feature in a patch so we could use it in our hacks :D
__________________
ROM hacking FAQ - Read before asking how to play a hack. | Previous Sign 2 | Previous Sign

Anime List | PSN Trophy List
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
Minimum Characters Per Post: 25



All times are UTC -8. The time now is 05:02 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.