The PokéCommunity Forums  

Go Back   The PokéCommunity Forums > Creative Discussions > Emulation & ROM Hacking > Research & Development
Register New Account FAQ/Rules Chat 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!
New threads in this forum are to be approved by a moderator before they are displayed. The thread revival limit does not apply here.



Reply
Thread Tools
  #1  
Unread April 28th, 2010, 10:43 PM
Muffin™'s Avatar
Muffin™
Knows your age
 
Join Date: Dec 2009
Location: sucking balls
Age: 2
Gender: Male
Nature: Calm
Send a message via AIM to Muffin™
Alright. So we know that move animations in the generations are part of the game to make the Pokemon's move unique.



Now, I was thinking: Could me edit these animations? It could be complicated, but could be done, or, it could be impossible. Any ideas you have that could make this happen?

I was thinking that we could get a spriter to make the move(?) and insert it somehow... by ASM hacking or HEX editing? I don't know yet, but maybe we could come up with an idea to edit the move animation.
__________________
>>>/v/
Reply With Quote
  #2  
Unread April 29th, 2010, 09:09 PM
Full Metal's Avatar
Full Metal
C(++) Developer.
 
Join Date: Jan 2008
Location: In my mind.
Age: 17
Gender: Male
Nature: Timid
Send a message via Windows Live Messenger to Full Metal
first of all, anything is possible (within reason of course...) for the games.
out of reason involves:
writing to a file
controlling anything outside of the gba memory
and there are some rips of d/p effects on tsr i think...
__________________
Full Metal.‎"Fearlessness in those without power is maddening to those who have it."

Reply With Quote
  #3  
Unread April 29th, 2010, 09:34 PM
altariaking's Avatar
altariaking
Needs NO VMs...
 
Join Date: Dec 2009
Location: Scotland, Lesmahagow
Age: 38
Gender: Male
Nature: Naive
Send a message via Windows Live Messenger to altariaking
can't this be done whith unlz gba?
__________________
http://www.pokecommunity.com/member.php?u=253113
Reply With Quote
  This is the last staff post in this thread.   #4  
Unread April 29th, 2010, 10:25 PM
giradialkia's Avatar
giradialkia
 
Join Date: Apr 2009
Location: Ireland
Age: 19
Gender: Male
Nature: Timid
Send a message via Windows Live Messenger to giradialkia
Quote:
Originally Posted by altariaking View Post
can't this be done whith unlz gba?
Well...
Various sprites and backgrounds for the moves can be edited, but I'd imagine people would also like to be able to edit how the move animations actually... Move, y'know? For example, the current GBA FlameThrower animation is like a streaming line of the same fire-sprite, whereas in Gen 4 it's like a proper billowing fire. Sure, it'd be near impossible to imitate that kind of quality in the 3rd Gen games, but to edit the pattern made by the move sprites would be cool.
__________________
Currently, I'm on a Demoted Leave of Absence, which means
for a little while,I am not the Emulation moderator.
This means I won't be able to see threads you submit, and.. well, do other things that a moderator can do.
I can, however, direct you to someone who can help, so feel free to message me in that regard.

Reply With Quote
  #5  
Unread May 1st, 2010, 02:42 AM
Dabutcha's Avatar
Dabutcha
Creator of the Alphanigma Saga
 
Join Date: Jan 2010
Location: Twilight sucks
Gender: Male
I'm sure that somewhere in Unlz you will find the attack animations. Look around all the pictures you may have called "useless".
__________________


What people say when a new game comes out: Why dont we widen our range by hacking the new game?

What they mean: Lets abandon knowledge and tools on things we know, purge previous gen hacking, and start a new field that we probably wont master.

For this reason, New pokemon games make me die inside just a little.

95% of all Pokemon hacks are of the 3rd Generation, majority of them being FireRed, if you believe that the 2nd generation should be hacked more often, copy and paste this into your signature.

Charlie R/G/E/D
Reply With Quote
  #6  
Unread May 1st, 2010, 07:58 AM
Ash493's Avatar
Ash493
Destiny cannot be changed...
 
Join Date: Jul 2008
Location: Tachiwaki City, Isshu
Age: 20
Gender: Male
Nature: Calm
Of course it's possible through UnlZ
Flora Sky has it
Sky made animations for Shadow Force, Roar of Time and some other moves =)
__________________

Previous Sign
Reply With Quote
  #7  
Unread May 1st, 2010, 03:38 PM
NatureKeeper's Avatar
NatureKeeper
I am here for Craftrum.
 
Join Date: Jun 2008
Location: Planet Earth
Age: 15
Gender: Male
Nature: Lonely
Send a message via Windows Live Messenger to NatureKeeper Send a message via Skype™ to NatureKeeper
Quote:
Originally Posted by Ash493 View Post
Of course it's possible through UnlZ
Flora Sky has it
Sky made animations for Shadow Force, Roar of Time and some other moves =)
The graphics are edited. However, the move's animation itself cannot be edited. With normal means, at least. For example, I want to change bullet seed to Dark Pulse, with an animation very similar to that of DPPtHGSS. Graphics only cannot do the desired job.
__________________



Currently Active At: Video Gaming

Now playing: Minecraft











- - -
Reply With Quote
  #8  
Unread May 1st, 2010, 07:58 PM
560cool.'s Avatar
560cool.
Probably back.
 
Join Date: Aug 2009
Location: Eastern Europe
Age: 14
Gender: Male
Nature: Relaxed
I've done it accidentaly while messing with unlzGBA.
I found the Surf animation, the Confuse Ray one ... it is quite simple, but key word is "messing" while you need something serious ... x_x
__________________
Well, okay. I'm here just to chat with people. Don't really care about signatures and stuff.



Reply With Quote
  #9  
Unread May 1st, 2010, 09:00 PM
AlexAhnon's Avatar
AlexAhnon
Lurking around.
 
Join Date: Feb 2008
Location: Norway
Age: 16
Gender: Male
Nature: Brave
Quote:
Originally Posted by 560cool. View Post
I've done it accidentaly while messing with unlzGBA.
I found the Surf animation, the Confuse Ray one ... it is quite simple, but key word is "messing" while you need something serious ... x_x
That's the Graphics, not the animations.

Yeah, it would be quite a thing to be able to edit the animations of attacks, however, I don't think it's possible through Hex editing... Or it may be, but for me it sounds a bit complex to edit it with a Hex editor.

Another suggestion that can be taken in mind, why not make a list, listing all the graphics for the different attacks? And I'm not sure, but it's possible that some attacks share the same images.

However, I have no experience with finding this kind of stuff, so I'll leave it to those who know.
__________________
You must be very jelly of this awesome signature of mine.
Reply With Quote
  #10  
Unread May 5th, 2010, 03:46 AM
kittopian's Avatar
kittopian
The Kittopian CREATOR
 
Join Date: Mar 2010
Location: KITTOPIA
In the attack data table, there might be a pointer to graphics and maybe a byte or two on the actual animations...
If so it might be possible to repoint and extend the table to program in fully functional moves with animations and other aspects, without overwriting.

If anyone experianced in the field, can they can find the time... Look in to it!
__________________
The planet KITTOPIA... I belong there... I will return...
Reply With Quote
  #11  
Unread January 26th, 2012, 01:46 PM
whacky
Beginning Trainer
 
Join Date: Jan 2012
Gender: Male
From what I've seen in UNLZ-GBA, the animations are just frames that are in the same picture aligned in increasing order vertically!
Reply With Quote
  #12  
Unread January 26th, 2012, 03:22 PM
Jambo51's Avatar
Jambo51
Thinking about quitting...
 
Join Date: Jun 2009
Location: Livingston, Scotland
Gender: Male
Nature: Quiet
I know the location of the move animation table in FR. It's at 0x1C68F4.
Each pointer in the table (and the table is 355 entries long - 1 for each move!) points to a script of sorts. Sadly, we know very little about these scripts, apart from tha fact that 00 loads graphics, 02 executes animations and 05 seems to be a waitstate sort of command -That is, it waits for the already executed animations to finish before continuing.

That is the sum of our knowledge on the move animations. Hope that helps.
__________________


Guys, please don't send me question which belong in the Simple Questions or Scripting Help threads. I don't mind the occasional question about ASM or something, though. And definitely don't send me PMs or VMs asking for help with your hack or requesting custom ASM. I will not answer.
Reply With Quote
  #13  
Unread January 26th, 2012, 06:26 PM
droomph's Avatar
droomph
colonoscopy
 
Join Date: Sep 2011
Location: bar'jách
Age: 16
Gender: Male
Nature: Impish
Quote:
Originally Posted by Jambo51 View Post
I know the location of the move animation table in FR. It's at 0x1C68F4.
Each pointer in the table (and the table is 355 entries long - 1 for each move!) points to a script of sorts. Sadly, we know very little about these scripts, apart from tha fact that 00 loads graphics, 02 executes animations and 05 seems to be a waitstate sort of command -That is, it waits for the already executed animations to finish before continuing.

That is the sum of our knowledge on the move animations. Hope that helps.
What is the "end" command?
__________________
a
Reply With Quote
  #14  
Unread January 26th, 2012, 06:39 PM
Tropical Sunlight's Avatar
Tropical Sunlight
Stromboldt
 
Join Date: Mar 2008
Location: Slovenia
Age: 17
Gender: Male
Send a message via Windows Live Messenger to Tropical Sunlight
Chaos Rush has had a lot of luck with this, even manually replacing a move's background
Reply With Quote
  #15  
Unread February 17th, 2012, 05:06 AM
droomph's Avatar
droomph
colonoscopy
 
Join Date: Sep 2011
Location: bar'jách
Age: 16
Gender: Male
Nature: Impish
I would also like to mention that when I replaced the pointer to 0x8000000, the game restarted, which means that it has something to do with ARM.
__________________
a
Reply With Quote
  #16  
Unread February 27th, 2012, 09:39 AM
Xenesis's Avatar
Xenesis
Syogun Changer
 
Join Date: May 2006
Location: Australia
Nature: Sassy
Send a message via AIM to Xenesis Send a message via Windows Live Messenger to Xenesis
Quote:
Originally Posted by droomph View Post
I would also like to mention that when I replaced the pointer to 0x8000000, the game restarted, which means that it has something to do with ARM.
Actually, it doesn't mean that in the slightest.

0x800000 is the entry point for the ROM - it's where it starts in RAM. (Eg, when you turn on your GBA, it starts running the code at 0x8000000 in ARM mode).

What's happening is that these pointers are obviously to custom assembly code for each attack in some fashion - when you change the pointer to 0x08000000 you're telling the game whenever it runs to this pointer to 'run from the start of the rom, and run in ARM mode'. Hence, why it resets. If you changed it to 0x08000001 it would probably crash, because it goes to the ROM entry point, except in THUMB mode.

Apologies if this seems overly pedantic, but it's just for the benefit for anyone else that's reading the topic.
Reply With Quote
  #17  
Unread April 11th, 2012, 05:20 AM
D3StR0Y4mike
Dragon Tamer
 
Join Date: Feb 2012
Gender: Male
Nature: Quirky
The FireRed hack Pokemon Vega has lots of custom animations...
use it for research
Reply With Quote
  #18  
Unread May 8th, 2012, 07:00 AM
Chaos Rush's Avatar
Chaos Rush
Pokémon DarkViolet restarting
 
Join Date: May 2007
Gender: Male
Nature: Adamant
Quote:
Originally Posted by Jambo51 View Post
I know the location of the move animation table in FR. It's at 0x1C68F4.
Each pointer in the table (and the table is 355 entries long - 1 for each move!) points to a script of sorts. Sadly, we know very little about these scripts, apart from tha fact that 00 loads graphics, 02 executes animations and 05 seems to be a waitstate sort of command -That is, it waits for the already executed animations to finish before continuing.

That is the sum of our knowledge on the move animations. Hope that helps.
I just thought of something, why try to edit the scripts with hex? Aren't they in ASM?

Now, I haven't tried this (can't right now, procrastinating on studying for school atm), but can't we easily view the animation routines with VBA-SDL-H? I'm assuming that would make things a crapload easier to make custom animations. If I recall correctly, VBA-SDL-H has a function where you can decompile thumb routines if you know the offset.

I'm assuming this is what Pokemon Vega did to create nearly flawless animations, and this is what I'm planning on doing in the near future (if it works)

EDIT: Just remembered, regular VBA has a function to view thumb routines, while VBA-SDL-H lets you view last executed thumb routine

EDIT: nevermind, just read JPAN's post in the battle script thread... so apparently it is a scripting language?
__________________

Pokémon DarkViolet

DS-style 64x64 Pokémon Sprite Resource
oh and you should probably check this out too

Guys, please stop VM/PMing me about ROM hacking questions. I'm not an "expert ROM hacker". I'm an artist.

Non-Pokémon hacks I support:
Sonic Classic Heroes
Sonic 3 Complete

Last edited by Chaos Rush; May 8th, 2012 at 07:19 AM.
Reply With Quote
  #19  
Unread May 8th, 2012, 03:19 PM
DoesntKnowHowToPlay's Avatar
DoesntKnowHowToPlay
some loser
 
Join Date: Jan 2012
It is a scripting language, from what I've seen. Commands can be an arbitrary number of bytes, depending on which one. Now that I think about it we probably don't even need to know the method offsets- VBA-SDL-H has a function to break on reading a byte, which should let us find the animation code pretty easily.

Anyway, some of the ones I've been able to figure out:

00 XX XX: Loads sprite data. These are usually at the very beginning of the script, although there doesn't seem to be any obvious problem with having them in the middle.

04 XX: Delays script execution for XX units of time (frames? not really sure).

05: Halts script execution until currently running animations finish.

08: Ends the script. There *are* jumps in this scripting language, though since they point to a location and are followed by the address this means any block of script always ends in 08.

19 XX XX: Plays a sound. Might be able to play music if given the right parameters, I haven't mess with this one much.
Reply With Quote
  #20  
Unread May 8th, 2012, 04:26 PM
droomph's Avatar
droomph
colonoscopy
 
Join Date: Sep 2011
Location: bar'jách
Age: 16
Gender: Male
Nature: Impish
Hey, colcolstyles has a post in the battle animation thread about where you can find animation script asm, and much like how you can decompile an OW script command's ASM that could probably help you too.

Also iirc 0C XX XX is a transparency command.
__________________
a
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

Forum Jump


All times are UTC. The time now is 09:28 AM.


Style by Perdition Haze, artwork by Sa-Dui.
Like our Facebook Page Follow us on TwitterMessage Board Statistics | © 2002 - 2013 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to Pokémon USA, Inc. and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company, Pokémon USA, Inc., The Pokémon Company International, or Wizards of the Coast. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2013 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 posts belong to the user.