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
Click here to go to the first staff post in this thread.  
Thread Tools
  #76    
Old November 5th, 2012, 04:11 AM
tajaros's Avatar
tajaros
Hi I'm dawg
 
Join Date: Apr 2012
Location: Philippines
Age: 15
Gender: Male
Nature: Timid
Send a message via Windows Live Messenger to tajaros

Advertise here
Ok, I got it to work but, i have 2 questions... :D

Does anyone know how to implement this to the enemy only? Cause I don't need the backsprite to be animated. (It's because I'm using Emerald Sprites...)

Do I have to just put another Backsprite to make the Illusion that it's not moving? ? :/
__________________
Reply With Quote
  #77    
Old November 6th, 2012, 06:02 AM
thjenvuongxh
Unhatched Egg
 
Join Date: Mar 2012
Gender: Male
Animations table in this 308CBC
But not to animate the backsprites
if you do, freeze the battle

I say this because already worked with before Pokemon Emerald.
Reply With Quote
  #78    
Old November 7th, 2012, 01:57 AM
tajaros's Avatar
tajaros
Hi I'm dawg
 
Join Date: Apr 2012
Location: Philippines
Age: 15
Gender: Male
Nature: Timid
Send a message via Windows Live Messenger to tajaros
Quote:
Originally Posted by thjenvuongxh View Post
Animations table in this 308CBC
But not to animate the backsprites
if you do, freeze the battle

I say this because already worked with before Pokemon Emerald.
No, I'm using FireRed but Importing Emerald Sprites... :/

Thanks anyway when you make the 2nd frame like the 1st frame it looks like it doesn't have an animation at all... :D
__________________
Reply With Quote
  #79    
Old November 7th, 2012, 05:30 AM
thjenvuongxh
Unhatched Egg
 
Join Date: Mar 2012
Gender: Male
Perhaps with a ASM routine would be possible insert a
Pokemon Emerald animation...
...this is my one desire:
"a NEW ANIMATION".
...But I do not know anything about creating ASM routines...
Reply With Quote
  #80    
Old November 11th, 2012, 05:01 PM
timson733333's Avatar
timson733333
Me gusta.
 
Join Date: Mar 2007
Location: Stealth!
Gender: Male
Nature: Quiet
Is it possible to change some animations in Emerald? I'm currently toying around with some sprites in Emerald but it's really annoying when the 2nd frames don't line up with the 2nd frames of the original Pokemon I wrote it over.
__________________
ROM hacking since 2008... and failing miserably still.


Learning how to hex edit. I'm not advanced in any way, and rely on tools most of the time.

deviantArt | YouTube
Reply With Quote
  #81    
Old November 12th, 2012, 04:44 AM
thjenvuongxh
Unhatched Egg
 
Join Date: Mar 2012
Gender: Male
As I already explained, animations table in this 308CBC.
But the jumps and bumps...
...I have no idea where this...
...editing even less...
BUT IT MUST BE BLESSED WITH ASM ROUTINE

Reply With Quote
  #82    
Old November 19th, 2012, 02:54 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 thjenvuongxh View Post
As I already explained, animations table in this 308CBC.
But the jumps and bumps...
...I have no idea where this...
...editing even less...
BUT IT MUST BE BLESSED WITH ASM ROUTINE
Chances are the rotations, movement and dilating is done via a table of some sort, or even another script-like bytecode. You could have 1 byte for the type, then 3 for arguments (or less...)

Chances are, however, that it will require some extreme decompiling to even find it.
__________________



Reply With Quote
  #83    
Old November 19th, 2012, 03:17 PM
thjenvuongxh
Unhatched Egg
 
Join Date: Mar 2012
Gender: Male
The routine is at 0x011d65

I can say this because I already caught in the pokemon in battle when he was coming!


're getting close... hihihi...

Last edited by thjenvuongxh; November 19th, 2012 at 03:23 PM. Reason: Your double post has been automatically merged.
Reply With Quote
  #84    
Old March 29th, 2013, 02:34 PM
HyperXhydra's Avatar
HyperXhydra
 
Join Date: Oct 2011
Gender: Male
It would be nice if someone makes a patch for this.
Reply With Quote
  #85    
Old March 30th, 2013, 02:44 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 HyperXhydra View Post
It would be nice if someone makes a patch for this.
It's 28 bytes, do we really need a patch for that? No, no we don't.

Just use a hex editor, they don't byte.
__________________



Reply With Quote
  #86    
Old March 31st, 2013, 06:42 PM
HyperXhydra's Avatar
HyperXhydra
 
Join Date: Oct 2011
Gender: Male
Quote:
Originally Posted by shiny quagsire View Post
It's 28 bytes, do we really need a patch for that? No, no we don't.

Just use a hex editor, they don't byte.
I know nothing about hex editing...
Seriously, people should make more video tutorials, if it's easy then it won't take much of their time.
Cool stuff like battle animation editing also needs a video tutorial.
all I can find on youtube is super simple stuff about hacking, and why does everyone hate Pokemon ruby?...
or how about someone make tools.
Reply With Quote
  #87    
Old April 12th, 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
So everyone what's the final code for FR that loops the animation and has no bugs?
__________________
LET'S PARTY!
Reply With Quote
  #88    
Old April 12th, 2013, 10:22 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 robin22gongon View Post
So everyone what's the final code for FR that loops the animation and has no bugs?
The answer is D, none of the above.
__________________



Reply With Quote
  #89    
Old April 12th, 2013, 11:35 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 shiny quagsire View Post
The answer is D, none of the above.
Wait, I didn't quite catch that? I put
Code:
DF FF 00 00
?
__________________
LET'S PARTY!
Reply With Quote
  #90    
Old April 13th, 2013, 02:13 AM
Spherical Ice's Avatar
Spherical Ice
Community Supporter
 
Join Date: Nov 2007
Location: UK
Send a message via Skype™ to Spherical Ice
Quote:
Originally Posted by robin22gongon View Post
Wait, I didn't quite catch that? I put
Code:
DF FF 00 00
?
No, it was a joke; there is no version for FireRed yet that loops the animation and has no bugs.
__________________
Reply With Quote
  #91    
Old April 14th, 2013, 06:09 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
Then there is still no way to ASM hack it?
__________________
LET'S PARTY!
Reply With Quote
  #92    
Old April 14th, 2013, 06:10 PM
Shiny Quagsire's Avatar
Shiny Quagsire
どないやねん, ヤドン
 
Join Date: May 2009
Location: Hoenn Safari Zone
Age: 16
Gender: Male
Nature: Jolly
In theory, it can be done. It's just a matter of whether anyone even wants to do it.
__________________



Reply With Quote
  #93    
Old April 14th, 2013, 06:33 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
I would do it if I only know how to make ASM codes but right now all I know is compiling.
But do you have any idea on how it should be structured?

I think this might be pretty easy if someone could just find out where the code continues after reaching FF FF 00 00.
__________________
LET'S PARTY!

Last edited by robin22gongon; April 15th, 2013 at 02:40 AM. Reason: Your double post has been automatically merged.
Reply With Quote
  #94    
Old April 15th, 2013, 01:03 PM
Shiny Quagsire's Avatar
Shiny Quagsire
どないやねん, ヤドン
 
Join Date: May 2009
Location: Hoenn Safari Zone
Age: 16
Gender: Male
Nature: Jolly
The issue isn't with the looping mechanism, it's the fact that the battle routine pauses until the animation is done. Finding it isn't as easy as you think, you'd have to dig through several, perhaps hundreds of routines before finding out how to fix it.
__________________



Reply With Quote
  #95    
Old April 16th, 2013, 09:03 PM
Shadowraze's Avatar
Shadowraze
Love and Peace
 
Join Date: Apr 2013
Location: Philippines
Age: 15
Gender: Male
Nature: Adamant
Send a message via Skype™ to Shadowraze
Quote:
Originally Posted by shiny quagsire View Post
The issue isn't with the looping mechanism, it's the fact that the battle routine pauses until the animation is done. Finding it isn't as easy as you think, you'd have to dig through several, perhaps hundreds of routines before finding out how to fix it.
Woah a hundred routines? :3 That would really take a while.

But how about the routine that makes the sprite move for the backsprite in emerald have you got luck in finding it? :3
__________________
Reply With Quote
  #96    
Old November 8th, 2013, 06:17 AM
BugMania's Avatar
BugMania
The Bug Master
 
Join Date: Jun 2013
Gender: Male
Nature: Quiet
I discovered a way of letting an animation similar to BW.
Spoiler:




Well, if we know that an offset as 0x2FF7D00 is an area of ​​memory that can change.
We can go to 0x082349BC and insert these bytes: 00 7D FF 02
Now, go to the Game Boy and go to "Memory view".


Walk to 0x2FF7D00 and insert bytes as follows: 00 00 0A 00 01 00 0A 00 FF FF 00 00
Thus, when in a wild battle, just a touch as FE FF under FF FF will make the pokemon dance.




Let's go to the Hex again. In 0xD7360, we will see what I like to call "routines for setwildbattlemessages".

To facilitate the understanding of what I want to show, put something like this:
64 73 0D C6 08 F1 80 08 30 C6 80 08 60 C6 80 08 80 C6 C1 08 90 C6 80 08 54 76 0D 08


Then, go to 0x80C4BC and put this:
B4 30 05 2D 4D 88 02 4E 35 80 04 48 30 BC 00 47 18 7D FF 02 C0 70 03 02 C2 70 03 02 29 74 0D 08 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 30 B4 2D 4D 05 88 02 4E 35 80 04 48 30 BC 00 47 18 7D FF 02 C0 70 03 02 70 03 02 C2 C9 74 0D 08 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 05 4D 30 B4 2D 88 02 4E 35 80 04 48 30 BC 00 47 18 7D FF 02 C0 70 03 02 C2 70 03 02 75 0D 08 F1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 30 4D 04 2D 88 B4 02 4E 35 80 04 48 30 BC 00 47 18 7D FF 02 C0 70 03 02 C2 70 03 02 59 75 0D 08 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 30 B4 04 88 02 4D 2D 4D 35 80 04 48 30 BC 00 47 18 7D FF 02 C0 70 03 02 C2 70 03 02 73 7D 0D 08





The routines I did was to load that is within variables 0x8004 and 0x8005 in 0x2FF7D18.

Therefore, before using any battle, run a script like:
setvar 0x8004 0xFFFF
setvar 0x8005 0xFFFE
end
(...)

I need help to improve this routine!

...Sorry for bad english.
__________________
Even the smallest of beings can achieve the greatest of obstacles!
Click in the spoiler, if you dare!
Spoiler:


L
et's dream bigger than our bodies can endure!
G
et to the extreme!

See my works here


Last edited by BugMania; March 31st, 2014 at 03:05 AM.
Reply With Quote
  #97    
Old November 8th, 2013, 02:03 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 BugMania View Post
I discovered a way of letting an animation similar to BW.




Well, if we know that an offset as 0x2FF7D00 is an area of ​​memory that can change.
We can go to 0x2349BC and insert these bytes: 00 7D FF 02
Now, go to the Game Boy and go to "Memory view".


Walk to 0x2FF7D00 and insert bytes as follows: 00 00 0A 00 01 00 0A 00 FF FF 00 00
Thus, when in a wild battle, just a touch as FE FF under FF FF will make the pokemon dance.




Let's go to the Hex again. In 0xD7360, we will see what I like to call "routines for setwildbattlemessages".

To facilitate the understanding of what I want to show, put something like this:
64 73 0D C6 08 F1 80 08 30 C6 80 08 60 C6 80 08 80 C6 C1 08 90 C6 80 08 54 76 0D 08


Then, go to 0x80C4BC and put this:
B4 30 05 2D 4D 88 02 4E 35 80 04 48 30 BC 00 47 18 7D FF 02 C0 70 03 02 C2 70 03 02 29 74 0D 08 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 30 B4 2D 4D 05 88 02 4E 35 80 04 48 30 BC 00 47 18 7D FF 02 C0 70 03 02 70 03 02 C2 C9 74 0D 08 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 05 4D 30 B4 2D 88 02 4E 35 80 04 48 30 BC 00 47 18 7D FF 02 C0 70 03 02 C2 70 03 02 75 0D 08 F1 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 30 4D 04 2D 88 B4 02 4E 35 80 04 48 30 BC 00 47 18 7D FF 02 C0 70 03 02 C2 70 03 02 59 75 0D 08 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 30 B4 04 88 02 4D 2D 4D 35 80 04 48 30 BC 00 47 18 7D FF 02 C0 70 03 02 C2 70 03 02 73 7D 0D 08





The routines I did was to load that is within variables 0x8004 and 0x8005 in 0x2FF7D18.

Therefore, before using any battle, run a script like:
setvar 0x8004 0xFFFF
setvar 0x8005 0xFFFE
end
(...)
I need help to improve this routine!

...Sorry for bad english.
Nice, do you think you could also provide the source ASM so that we can get a better insight as to how this works? I'm sure I and several others would also like to have this ASM available to improve on in case any errors or special needs for their hacks arise.
__________________



Reply With Quote
  #98    
Old November 9th, 2013, 03:39 AM
BugMania's Avatar
BugMania
The Bug Master
 
Join Date: Jun 2013
Gender: Male
Nature: Quiet
Quote:
Originally Posted by shiny quagsire View Post
Nice, do you think you could also provide the source ASM so that we can get a better insight as to how this works? I'm sure I and several others would also like to have this ASM available to improve on in case any errors or special needs for their hacks arise.
Spoiler:

It is a very simple routine:
(This is to run the animation).

.text
.align 2
.thumb
main:
push {r5, r4, r0}
LDR r5, var2
LDRH r5, [r5]
LDR R6, anim
strh r5, [r6]
LDR R0, go !Continue the Battle
pop {r5, r4, r0}
BX R0

.align 2
anim: .word 0x2FF7D18
var: .word 0x020370c0
var2: .word 0x020370c2
go: .word 0x080XXXXX






This 0x80xxxxx is for a byte that you would continue. Example: 0x80D737D (In table SetwildbattleMessages).

(This is to no run the animation).
.text
.align 2
.thumb
main:
push {r5, r4, r0}
LDR r5, var
LDRH r5, [r5]
LDR R6, anim
strh r5, [r6]
LDR R0, go !Continue the Battle
pop {r5, r4, r0}
BX R0

.align 2
anim: .word 0x2FF7D18
var: .word 0x020370c0
var2: .word 0x020370c2
go: .word 0x080XXXXX
__________________
Even the smallest of beings can achieve the greatest of obstacles!
Click in the spoiler, if you dare!
Spoiler:


L
et's dream bigger than our bodies can endure!
G
et to the extreme!

See my works here


Last edited by BugMania; November 9th, 2013 at 12:18 PM.
Reply With Quote
  #99    
Old November 9th, 2013, 03:42 AM
Flower's Avatar
Flower
ワイルドフラワー
 
Join Date: Nov 2013
Location: Void
Gender: Male
Nature: Quiet
Send a message via Skype™ to Flower
Whoa, are you serious?! Well, I'm not that surprised.
I was wondering how Pokemon Skyline did that trick.
__________________
PM | Flower | VM
Reply With Quote
  #100    
Old November 9th, 2013, 12:16 PM
BugMania's Avatar
BugMania
The Bug Master
 
Join Date: Jun 2013
Gender: Male
Nature: Quiet
I managed to fix some bugs typical of a Asm-Noob.
When you restarted the game, the memory disappeared.
Spoiler:

Go to the byte 0x8040574 and add an offset XXXXXX08

In 08XXXXXX, take this routine:
70 B4 06 48 00 24 00 26 50 2E 03 D0 35 18 2C 60 04 36 F9 E7 70 BC 02 48 00 47 00 00 60 7D FF 02 YY YY YY 08

set at any offset it: *FF FF # FE FF 00 00
warning: the order os needed!

In 08YYYYYY, throw it:

30 B4 04 4D 2D 88 02 4E 35 80 04 48 30 BC 00 47 1C 7D FF 02 AA AA AA 08 BB BB BB 08 ZZ ZZ ZZ 08

... at *, put the pointer in AAAAAA08
and #, is in BBBBBB08

In a free space (0x08 RR RR RR), put something like:

00 00 0A 00 01 00 0A 00 02 00 0A 00 03 00 0A 00 02 00 0A 00 01 00 0A 00 00 00 00 00 FF FF 00 00

at 0x08 ZZ ZZ ZZ, set this:
91 B4 0F 48 00 88 20 28 0E D0 FF D3 0A 4F C7 19 3F 88 0A 4C 04 19 27 80 09 48 00 88 02 30 08 4C 20 80 91 BC 07 48 00 47 05 48 00 88 00 1A 04 4C 20 80 91 BC 04 48 00 47 RR RR RR 08 00 7D FF 02 20 7D FF 02 ZZ ZZ ZZ 08 F3 06 04 08

if in doubt, do not think twice to let me know!

Let me know about BUGS!
__________________
Even the smallest of beings can achieve the greatest of obstacles!
Click in the spoiler, if you dare!
Spoiler:


L
et's dream bigger than our bodies can endure!
G
et to the extreme!

See my works here


Last edited by BugMania; March 14th, 2014 at 11:23 AM.
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 07:27 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.