• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
March 28, 2024, 05:16:55 pm

News:

Please use .png instead of .bmp when uploading unfinished sprites to the forum!


[UTILITY] Win32 Sprite Animator (1.2.2.4)

Started by lirmont, July 03, 2011, 02:59:36 am

Cheetah

We have the ShiShi sprite editor source code. Could you just use ShiShi's coding as a base for most of the image manipulation and just input your bits for exporting gifs and other features to avoid needing TIMUTIL?
Current Projects:

lirmont

Point me to it, and I'll look into it.

Cheetah

August 28, 2011, 02:23:15 pm #62 Last Edit: August 28, 2011, 02:23:38 pm by Cheetah
http://code.google.com/p/lioneditor/source/browse/#svn%2Ftrunk%2FFFTPatcher%2FShishiSpriteEditor

I was searching for this while you responded haha. Let me know if you are having issues finding stuff, it is all hidden within a lot of branches.
Current Projects:

lirmont

August 29, 2011, 07:05:01 am #63 Last Edit: August 29, 2011, 07:09:45 am by lirmont
@Cheetah: I couldn't get it to compile out of the box, so I'll have to look at it later.

In other news, motion tweens (also known as "paths")! Trying to cheat the particle effects in FFT prompted me to add pathing into the tools available for format documents.



"Cure" in program

I'm going to add easing functions into the motion tween configuration before I update the download, but I see that taking a while.

Kivutar

Nice progress, keep up the good work!!
Tethical, an online FFT clone


lirmont

@Kivutar: Thanks!

@PGF: Which distribution of linux are you running?


Cheetah

At this point have you interpreted the actual FFT animation code to figure out the animations, or are you just guessing and trying to recreate it by hand?
Current Projects:

lirmont

August 29, 2011, 03:42:25 pm #69 Last Edit: August 29, 2011, 03:49:27 pm by lirmont
@PGF: It'll be a couple of days, but I've ordered a flash drive so I can install ubuntu (and other versions). I'll get you directions for Wine if it works. Otherwise, I'll plan a linux build.

@Cheetah: Eyeballing from youtube videos and using the original sprite sheets that are available here is what I've been doing. I don't have any real interest for pulling that information out of FFT. One, I don't know how at the moment. Two, it doesn't benefit anything but FFT effect sprites. It's my eventual hope to write an API for the formats I generate that I can easily integrate into Tethical (and other projects). That basically means that you'd have a program that is an effect designer at your disposal. Especially with the pathing I've just added (it has an X, Y, and optional Z-component), it could be used in an actual 3d program and interpreted around a character/model/etc (giving a similar effect to FFT). I know the program lacks an interface for creating and editing the formats, but I will definitely wind up making one for it; I just want to get all the functionality in first.

Each effect I re-create, I discover something new that has to be added to copy/look like what you see on screen. When I did the Night Sword-esque effect, I learned that I needed the blending mode components (because of the sword). When I started on cure, I learned I needed to either emulate or fake a particle system. I chose faking it because that way it will be the same each time you load the effect's image. I tried to do one of the ice spells, but I saw a lot of image data in the effect that I couldn't identify in the image for it. I think (sadly) it might be mapping the graphics to an actual 3d object (versus a plane, which I can and have cheated easily), but I don't know yet. The other option I thought up was chaining effects (like maybe the image data from another effect was being used), but I don't think that's likely. I still have to add in scaling and rotation.

Pickle Girl Fanboy

I might've asked this already, but what language are you using?

http://www.linuxmint.com/edition.php?id=69
^This is the exact disto I use.

http://www.linuxmint.com/oldreleases.php
^This is the Mint family of distros.  All are derived from some version of Ubuntu, except for the Debian testing derived distro.

What did you order? 

lirmont

C#, which would end up being compiled with "mono" if Wine won't run it.

I ordered 16GB usb drive to install a live version of linux on, which I can boot from. There is a program for Windows that will let you do it called UNetbootIn: http://unetbootin.sourceforge.net/

So, when it arrives, I'll get that distribution's ISO, push it over to the USB drive, boot into it, apt-get what I need, and go from there.



Kivutar

I tried the Wine solution. Wine says that we need the .NET framework v4 to run SpriteAnimator. This version of the framework is still unsupported by Wine.

To use Mono, you don't have to recompile using Mono. Mono can evaluate NET code. But here too, the version of the framework used is too recent:
WARNING: The runtime version supported by this application is unavailable.
Tethical, an online FFT clone

lirmont

Here's one that targets an earlier version of .NET (v2.0). Please try it if you get a chance: Sprite Animator (for .NET v2.0)

Thanks!

Kivutar

Thanks lirmont.

It is not working with Mono, it looks like Mono is lacking System.Windows.Forms emulation.

With Wine, it is almost working. I get this error:


See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.NotImplementedException: Not implemented.
   at System.Drawing.Drawing2D.LinearGradientBrush.TranslateTransform(Single dx, Single dy, MatrixOrder order)
   at System.Drawing.Drawing2D.LinearGradientBrush.TranslateTransform(Single dx, Single dy)
   at System.Windows.Forms.ToolStripProfessionalRenderer.RenderBackgroundGradient(Graphics g, Control control, Color beginColor, Color endColor, Orientation orientation)
   at System.Windows.Forms.ToolStripProfessionalRenderer.RenderMenuStripBackground(ToolStripRenderEventArgs e)
   at System.Windows.Forms.ToolStripProfessionalRenderer.OnRenderToolStripBackground(ToolStripRenderEventArgs e)
   at System.Windows.Forms.ToolStripRenderer.DrawToolStripBackground(ToolStripRenderEventArgs e)
   at System.Windows.Forms.ToolStrip.OnPaintBackground(PaintEventArgs e)
   at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer, Boolean disposeEventArgs)
   at System.Windows.Forms.Control.WmPaint(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ToolStrip.WndProc(Message& m)
   at System.Windows.Forms.MenuStrip.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.42 (RTM.050727-4200)
    CodeBase: file:///C:/windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
SpriteAnimator
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Program%20Files/sa/SpriteAnimator.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    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.42 (RTM.050727-4200)
    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.42 (RTM.050727-4200)
    CodeBase: file:///C:/windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
Tao.OpenGl
    Assembly Version: 2.1.0.12
    Win32 Version: 2.1.0.12
    CodeBase: file:///C:/Program%20Files/sa/Tao.OpenGl.DLL
----------------------------------------
Tao.Platform.Windows
    Assembly Version: 1.0.0.5
    Win32 Version: 1.0.0.5
    CodeBase: file:///C:/Program%20Files/sa/Tao.Platform.Windows.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.


Anyway, I suggest you to not push too much effort in linux support, as we can virtualize windows very easily using virtualbox or vmware.
Tethical, an online FFT clone

lirmont

I think it's just hanging up on the menu drawing, so I've updated the download to be a version without that. Hopefully it works.

Pickle Girl Fanboy

Quote from: Kivutar on August 30, 2011, 05:25:56 am
Anyway, I suggest you to not push too much effort in linux support, as we can virtualize windows very easily using virtualbox or vmware.

What he said.  As much as I am vexed by you C# coders, getting tethical up and running is more important than anything else.

lirmont

Well, I'll be able to test my program on my own once that flash drive I ordered shows up. Like I said, there isn't anything cutting edge in it, which I mispoke apparently, considering .NET v4 was the target and the menus were using the Microsoft profressional renderer for the pretty gradient (though, that's the default choice). Anyway, with regards to C#, Visual Studio's IDE around it is the actual selling point for why I use it. IntelliSense is hard to live without, even comparing it to similar products availabe in programs like NetBeans, default arguments in methods are absolutely awesome, and I enjoy using arbitrary code blocks to organize procedural code. Again, though, it's all the leg work you don't have to do (the linking process, Windows form creation) that's the selling point. As regards Tethical, the API(s) I mentioned wanting to write for this program's functionality would of course be written in the language that they're being integrated in (and have nothing to do with C# and everything to do with parsing XML, loading images, and rendering them out to the screen).

Kivutar

Yeah. The language is not important here. Building a consistant API for sprites is going to be a great help.
The library used (ImageMagick) has binding in many languages.
The API and its algorithms can be ported at any time.
Tethical, an online FFT clone