Guest
May 20, 2012, 3:11 pm UTCHome arrow Front Blog arrow I Can Haz Undo!, Foxedit 1.1.322
header image
I Can Haz Undo!, Foxedit 1.1.322
Written by Dream Dancer   
Jun 19, 2008 at 12:00 AM

Oh w00t! It's been a while since I uploaded a version of the FoxEditor program, and it's been a doozy of a build in creating this version. One of the main reasons for the extended delay in releasing a build was locating a library system which would permit me to transparently load and save image files other than BMP, and currently, using the FreeImage library, which is free and open. A must requirement for an open source project.

However's, the library is not source code, nor is the fox editor's current source code included in this build, maybe with the next build, or as a separate download. And the FreeImage is a compiled DLL which needs to be in the same folder as the program, it's a separate download at the website, it's one of those things where I'd rather not force you to download the entire thing every time I update my program.

Onwards to the goodies.

UnDo!

The currently enabled undo's in the program are:

  • KitterSpeak Edits:
    • The program will make an undo action for anything which affects KitterSpeak. So if you cut one line out of a chunk of KitterSpeak, it will create an undo for that. Cut another from the same shape, it will create another. Edit the KitterSpeak, and when you save and exit, it will create another. Paste some KitterSpeak, and yet one more. Undo's of course, as expected, work their way backwards from the last thing you did.
  • Walk / Sit / Get:
    • Each change to the WSG properties of a shape causes an undo action to be created for the shape, Unlike the positioning text, it does not matter which frame you are on when you edit those elements, they are total shape affecting flags. If you use the mass changer to change a bunch of elements in the file, the program creates a mass undo for them, that is, if you affect 10 shapes, it will undo those 10 shapes.
  • Positions; (both furre and shape):
    • Because I use a set of scrolls with the position variables, it would be total lunacy to undo each change in the properties, so the undo system takes a snapshot before the first change is implemented and ignores any changes after that. So the undo will restore the shape's position properties back to the exact state they were in before you started tinkering with them. This extends to clicking on other shapes before coming back to the one you were editing, until you make some other type of edit on that shape, or edit another shape, the last undo for that shape remains valid.
  • Image changes: O.O
    • Well, here's a new feature of the program which required an undo action, you can import a variety of image types into the program at this point, and export them as well.

Currently, you can import:
Public Const BmpFiles = "Bitmap Images (*.bmp)|*.bmp"
Public Const GifFiles = "GIF Images (*.gif)|*.gif"
Public Const JpgFiles = "JPG Images (*.jpg)|*.jpg;*.jpeg"
Public Const PcxFiles = "PCX Files (*.pcx)|*.pcx"
Public Const PngFiles = "PNG Images (*.png)|*.png"
Public Const TgaFiles = "Targa Images (*.tga)|*.tga"

Note that the need to select the transparent color is not defined in the program, so yes, you will have to wait just a bit for me to get that working correctly. (I just noticed that.) though if you have something which uses the current "background" color {RGB(199, 144, 186)} in the image, that will become the transparent color.

And export them as well, though for some reason, the DLL is not able to export export PCX files at this time. Will have to write a hard wrapper around the function to get PCX file saving to work. Just need to add the study of the PCX file format and how to save them to my really, really, messy desktops.

Also, currently, if you save to PNG, GIF, & TGA, it will set transparency to the image, will need to wrap the save command to include a function switch to disable that.

When you import images, until I get a go on formatting, it will convert the images to furcadia palette images, in the Fox Editor, the Image Editor does not, nor will not do that.

Oh, yes, the Image Editor. From the outset of this project my intention was to have the image editing part of the program separate from the "Fox Editing" part of the program. Mainly because I wanted to be able to get seriously fancy with image editing. Currently you can open up several images, either from the Fox File, or from your drive, zoom in, out, make the cursor color stick to a position on the image when you click the mouse, but just not be able to do anything else with them. I'm still working out the details on how the image editor should work, it took me a couple of months of research into various schemes and ideas before settling on this implementation.

And paused that briefly to implement the undo scheme because I considered it very important to have a solid undo system in place first.

And also, for a drumroll please, under the view menu there's a menu selection called "View Placement" which will switch the program mode into a grabbable image position setting window. Will have the furre positioning system in shortly, and that will include the ability to open any player patch.

And you will also note lots of placeholder menu items for future development, one of the more interesting ideas is the View With Family. I am not 100% sure how I'm going to implement it, however, it will permit you to create family groups of objects, and display them together so you can fine tune a patch without having to save, reload patch in dream editor, check the positioning, switch back to the patch editor, ...

header image