RMXP Sprite Animator
Version 1.0
IntroTrying to share your sprites? Or give previews of them? You want to animate the walking direction you say? No problem. This small nifty program takes any ordinary RMXP Character Sprite and transforms each direction into a walking gif.
Features- Works on any size RMXP Sprite
- Can export each direction individually
- Can export each direction in a single file
- Small and easy to navigate
ScreenshotsHeres what the GUI looks like. Small, maybe a bit uneven. But perfect.
(http://i678.photobucket.com/albums/vv143/GameGuysProjects/gui.png)
(http://i678.photobucket.com/albums/vv143/GameGuysProjects/gui2.png)
Heres what it can produce.
(http://i678.photobucket.com/albums/vv143/GameGuysProjects/warriorgif_1.gif)(http://i678.photobucket.com/albums/vv143/GameGuysProjects/warriorgif_2.gif)(http://i678.photobucket.com/albums/vv143/GameGuysProjects/warriorgif_3.gif)(http://i678.photobucket.com/albums/vv143/GameGuysProjects/warriorgif_4.gif)
(http://i678.photobucket.com/albums/vv143/GameGuysProjects/warrior.gif)
DownloadDownload (http://decisive-games.com/ggp/RMXP%20Sprite%20Animator.zip)
HelpOnce you run the program. Everythings basically self explanatory. However there is a "Help" option under the "Help" menu.
Credits- Ronnie Mooney (this is me) ~ For making it
- Dwellercoc ~ For requesting it
- Special thanks to the creators of NGif or else this wouldn't have been possible. (Possible for me anyways)
Known BugsThese do not always happen. Its odd. Its only happened to the following sprites.
"001-Fighter01" and "002-Fighter02".
If a sprite has a colored background, it'll make most of it transparent, but will however leave a few pixels behind in the bottom right corner. (Only on 001-Fighter01)
If a sprite has a transparent background, it'll do the same as above. Leave a few random pixels in the corner.
EDIT: Actually, sometimes you can't tell but it leaves a few white pixels there. I'd fix it but I dunno how. Sorry :(
If you export the file as a "Single" file, you'll get an error. Saying "Cannot access {file name here}. Its being used by another process. Not sure whats causing it, but for the most part, just click Continue and it'll be fine.
NotesEnjoy! If you run into any problems let me know.
Great work game_guy, lvl up!
I made a few test and is just was I looking for. The pixel bug is not important for me.
This one is a monster that I´m working on:
(http://a.imageshack.us/img72/7461/bolonchogif1.gif)
Thanks again.
This could be really handy. I'll have to try it out. :)
Neat G_G!
*Lvl ^*
Thanks guys =D
Really good idea but I get two errors.
System: Windows XP Home Edition
Service Pack: 3
When trying to load the graphic: ShowHide
Unhandled exception has occurred in your application. If you click
Continue, the application will ignore this error and attempt to continue. If
you click Quit, the application will close immediately.
Could not find a part of the path 'C:\Documents and
Settings\Markus\Mina
dokument\RMXP\Testproj\Graphics\Characters\Tmp'.
"Mina dokument" is swedish for My Documents, not that much of a change really.And then, in the details
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Documents and Settings\Markus\Mina dokument\RMXP\Remexos\Remexos\Graphics\Characters\Tmp'.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.Directory.InternalGetFileDirectoryNames(String path, String userPathOriginal, String searchPattern, Boolean includeFiles, Boolean includeDirs, SearchOption searchOption)
at System.IO.DirectoryInfo.GetFiles(String searchPattern, SearchOption searchOption)
at System.IO.DirectoryInfo.GetFiles()
at RMXP_Sprite_Animator.Form1.button1_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3603 (GDR.050727-3600)
CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
RMXP Sprite Animator
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Documents%20and%20Settings/Markus/Skrivbord/RMXP%20Sprite%20Animator.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3614 (GDR.050727-3600)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Xml
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3082 (QFE.050727-3000)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
When trying to exit, either from the File menu or the X button: ShowHide The error dialouge is exactly the same, but the details is not.
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Documents and Settings\Markus\Mina dokument\RMXP\Remexos\Remexos\Graphics\Characters\Tmp'.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.Directory.Delete(String fullPath, String userPath, Boolean recursive)
at RMXP_Sprite_Animator.Form1.Form1_FormClosed(Object sender, FormClosedEventArgs e)
at System.Windows.Forms.Form.OnFormClosed(FormClosedEventArgs e)
at System.Windows.Forms.Form.WmClose(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3603 (GDR.050727-3600)
CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
RMXP Sprite Animator
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Documents%20and%20Settings/Markus/Skrivbord/RMXP%20Sprite%20Animator.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3614 (GDR.050727-3600)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Xml
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3082 (QFE.050727-3000)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Accessibility
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
A way to fix that error is to create a folder called tmp in the same directory as the sprite. And if you want to avoid another error, save the sprite in a different folder than the original sprite is in.
Yea, it did work, but since the program removes the directory when closing, I have to make a directory each time I open it. It is better to have the program save the temporary files in the tmp directory that it creates on the desktop when opening. Also, the exit error. I found out that it only appear after I've got the open error. If I try to close it before getting it, it goes perfect.
The programs supposed to automatically create the Tmp directory at startup. If anything try running it as Admin.
It creates the diectory at the desktop, but searches for it in the graphics's folder.
Also it can't get much more admin on Win XP.
I'll look into the code but I'm positive nothings wrong. O.o
EDIT: Try re downloading it now. I added a variable that declares the directory path of the application.
I think you missed a back slash.
Could not find a part of the path 'C:\Documents and Settings\Markus\DesktopTmp'.
Lol, seems G_G forgot a backslash character. xD
Fuck. I can't fix it til later anyways. :( Got stuffs to do
EDIT: Now try. Updated it real fast and uploaded it.
Mine testing confirms it's a pretty handy prog. I found a great use for it to preview the animation.
Though I got some bugs to report.
Saving as separate produces mychar.gif_1.gif, etc... even when .gif not added in. No big deal, but just want to bring it up.
Saving as single gives an error, Unhandled exception:
System.IO.IOException: The process cannot access the file 'D:\Documents and Settings\poxy\Desktop\rpgxp scripts\scale2x\kid_t_anim.gif' because it is being used by another process.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
at System.Drawing.Image.Save(String filename, ImageCodecInfo encoder, EncoderParameters encoderParams)
at System.Drawing.Image.Save(String filename, ImageFormat format)
at RMXP_Sprite_Animator.Form1.button2_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3615 (GDR.050727-3600)
CodeBase: file:///D:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
RMXP Sprite Animator
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///D:/Documents%20and%20Settings/poxy/Desktop/rmxp%20sprite%20anim/RMXP%20Sprite%20Animator.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///D:/windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3614 (GDR.050727-3600)
CodeBase: file:///D:/windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///D:/windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
Gif.Components
Assembly Version: 0.0.0.1
Win32 Version: 0.0.0.1
CodeBase: file:///D:/Documents%20and%20Settings/poxy/Desktop/rmxp%20sprite%20anim/Gif.Components.DLL
----------------------------------------
System.Configuration
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///D:/windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3082 (QFE.050727-3000)
CodeBase: file:///D:/windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Accessibility
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///D:/windows/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
Though it still saves the gif.
I didn't notice the bugs others mentioned, though.
G_G, always use try-catch blocks when working with files and display error messages to the user rather than letting the app crash like this. e.g.
try
{
StreamReader reader = FileStream("file.ext");
}
catch (FileNotFoundException e)
{
MessageBox.show(e.Message);
}
I actually said that it does that in the known bugs. And I also know why. Just not sure how to go and fix it.
g_g it will be difficult to improve an option so you can set the spritesheet grid (numer of columns and rows). I´m think in Minkoff's Animated Battlers (4x11) or 8x4 Blizz-ABS attack weapons (for example)
I'll see what I can do.
Quote from: game_guy on August 27, 2010, 10:13:23 am
I'll see what I can do.
are you still on this?
Also I want to ask you that if is posible to change the single export gif order. Actually the order is front, left, right, back. If you could change it to front, left, back, right (or front, right, back, left) the gif will follow a logical rotation (i hope you understand what I want to explain).
This does deserve a Lvl up I think.
Wow I completely forgot about this. Thank god I had a backup laying around. I will try and remember this.
So I'll add the different single order change. And different rows and columns.
that's will be fantastic g_g
Its done. But I left my flash drive at home. And it'll be in a brand new topic. Its a completely different program from this. Its completely redesigned and recoded. Allows for multiple columns and rows. And you can edit the number of visible frames for each column for example.
Sprite (Frame = P)
P P P
P P P P P P
P P P
P
P P
If you did no editing the gif files would have blank frames. But with some tweaking the data in my program you can remove the blank frames. Its really easy to use. Anyways I'll have it up tomorrow. Sorry for the long wait.
Quote from: game_guy on December 20, 2010, 11:49:34 am
Its done. But I left my flash drive at home. And it'll be in a brand new topic. Its a completely different program from this. Its completely redesigned and recoded. Allows for multiple columns and rows. And you can edit the number of visible frames for each column for example.
Sprite (Frame = P)
P P P
P P P P P P
P P P
P
P P
If you did no editing the gif files would have blank frames. But with some tweaking the data in my program you can remove the blank frames. Its really easy to use. Anyways I'll have it up tomorrow. Sorry for the long wait.
Wow, that should be fantastic! It'll make my job a lot easier for converting Chrono Trigger sprites for Radical Dreamers.
Well it actually doesn't remove the frames from the image itself, it makes the program not include it when it generates the gif. Either
Quote from: game_guy on December 21, 2010, 11:47:10 am
Well it actually doesn't remove the frames from the image itself, it makes the program not include it when it generates the gif. Either
Ah, okay; my mistake. Maybe if you're looking for another project, you could work on a converter that does that. At any rate, this is still a useful program. Good work like always, G_G.
Quote from: WhiteRose on December 21, 2010, 12:52:28 pm
Quote from: game_guy on December 21, 2010, 11:47:10 am
Well it actually doesn't remove the frames from the image itself, it makes the program not include it when it generates the gif. Either
Ah, okay; my mistake. Maybe if you're looking for another project, you could work on a converter that does that. At any rate, this is still a useful program. Good work like always, G_G.
I will take you up on that offer. In fact I can use my Sprite Animator as a base. >:3
My apologies for necroposting, but could you update the download link? The site it was on appears to be down.
Heres a much better version. Does more then just RMXP characters. http://forum.chaos-project.com/index.php/topic,7968.0.html
Quote from: Gagmon on May 10, 2011, 10:26:25 pm
Heres a much better version. Does more then just RMXP characters. http://forum.chaos-project.com/index.php/topic,7968.0.html
Oh, thanks.