Chaos Project

General => Electronic and Computer Section => Topic started by: G_G on August 17, 2010, 06:27:39 pm

Title: [XP] RMXP Sprite Animator
Post by: G_G on August 17, 2010, 06:27:39 pm
RMXP Sprite Animator
Version 1.0



Intro

Trying 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




Screenshots

Heres what the GUI looks like. Small, maybe a bit uneven. But perfect.
Spoiler: ShowHide
(http://i678.photobucket.com/albums/vv143/GameGuysProjects/gui.png)
(http://i678.photobucket.com/albums/vv143/GameGuysProjects/gui2.png)


Heres what it can produce.
Individual Files: ShowHide
(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)

Single File: ShowHide
(http://i678.photobucket.com/albums/vv143/GameGuysProjects/warrior.gif)



Download

Download (http://decisive-games.com/ggp/RMXP%20Sprite%20Animator.zip)


Help

Once you run the program. Everythings basically self explanatory. However there is a "Help" option under the "Help" menu.


Credits




Known Bugs

These 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.


Notes

Enjoy! If you run into any problems let me know.
Title: Re: [XP] RMXP Sprite Animator
Post by: Dweller on August 17, 2010, 06:52:54 pm
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.
Title: Re: [XP] RMXP Sprite Animator
Post by: poxy on August 17, 2010, 11:05:33 pm
This could be really handy. I'll have to try it out. :)
Title: Re: [XP] RMXP Sprite Animator
Post by: element on August 18, 2010, 03:30:23 am
Neat G_G!
*Lvl ^*
Title: Re: [XP] RMXP Sprite Animator
Post by: G_G on August 19, 2010, 01:58:20 pm
Thanks guys =D
Title: Re: [XP] RMXP Sprite Animator
Post by: stripe103 on August 19, 2010, 03:02:53 pm
Really good idea but I get two errors.

System: Windows XP Home Edition
Service Pack: 3

When trying to load the graphic: ShowHide

Code: Error dialouge

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
Code: 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.

Title: Re: [XP] RMXP Sprite Animator
Post by: legacyblade on August 19, 2010, 03:08:20 pm
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.
Title: Re: [XP] RMXP Sprite Animator
Post by: stripe103 on August 19, 2010, 03:15:23 pm
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.
Title: Re: [XP] RMXP Sprite Animator
Post by: G_G on August 19, 2010, 03:46:09 pm
The programs supposed to automatically create the Tmp directory at startup. If anything try running it as Admin.
Title: Re: [XP] RMXP Sprite Animator
Post by: stripe103 on August 19, 2010, 08:17:10 pm
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.
Title: Re: [XP] RMXP Sprite Animator
Post by: G_G on August 19, 2010, 10:09:30 pm
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.
Title: Re: [XP] RMXP Sprite Animator
Post by: stripe103 on August 20, 2010, 04:03:11 am
I think you missed a back slash.
Could not find a part of the path 'C:\Documents and Settings\Markus\DesktopTmp'.
Title: Re: [XP] RMXP Sprite Animator
Post by: Blizzard on August 20, 2010, 05:09:52 am
Lol, seems G_G forgot a backslash character. xD
Title: Re: [XP] RMXP Sprite Animator
Post by: G_G on August 20, 2010, 11:27:49 am
Fuck. I can't fix it til later anyways. :( Got stuffs to do

EDIT: Now try. Updated it real fast and uploaded it.
Title: Re: [XP] RMXP Sprite Animator
Post by: poxy on August 21, 2010, 02:58:30 am
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:
Spoiler: ShowHide

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.
Title: Re: [XP] RMXP Sprite Animator
Post by: Blizzard on August 21, 2010, 03:44:41 am
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);
}
Title: Re: [XP] RMXP Sprite Animator
Post by: G_G on August 21, 2010, 10:42:18 am
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.
Title: Re: [XP] RMXP Sprite Animator
Post by: Dweller on August 27, 2010, 05:08:19 am
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)
Title: Re: [XP] RMXP Sprite Animator
Post by: G_G on August 27, 2010, 10:13:23 am
I'll see what I can do.
Title: Re: [XP] RMXP Sprite Animator
Post by: Dweller on September 09, 2010, 08:42:43 am
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).
Title: Re: [XP] RMXP Sprite Animator
Post by: Calintz on September 09, 2010, 07:43:07 pm
This does deserve a Lvl up I think.
Title: Re: [XP] RMXP Sprite Animator
Post by: G_G on November 29, 2010, 05:35:27 pm
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.
Title: Re: [XP] RMXP Sprite Animator
Post by: Dweller on November 30, 2010, 03:04:04 am
that's will be fantastic g_g
Title: Re: [XP] RMXP Sprite Animator
Post by: G_G 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.
Title: Re: [XP] RMXP Sprite Animator
Post by: WhiteRose on December 20, 2010, 12:58:39 pm
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.
Title: Re: [XP] RMXP Sprite Animator
Post by: G_G 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
Title: Re: [XP] RMXP Sprite Animator
Post by: 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.
Title: Re: [XP] RMXP Sprite Animator
Post by: G_G on December 21, 2010, 01:18:49 pm
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
Title: Re: [XP] RMXP Sprite Animator
Post by: JellalFerd on May 10, 2011, 10:03:21 pm
My apologies for necroposting, but could you update the download link? The site it was on appears to be down.
Title: Re: [XP] RMXP Sprite Animator
Post by: G_G 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
Title: Re: [XP] RMXP Sprite Animator
Post by: JellalFerd on May 10, 2011, 10:34:45 pm
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.