 |
|  |
 |
|
Martin the Dane
|
 |
Aarhus, Denmark
Feb 2000 time: 06:30
|
|
I have just (30-12-2004) released a major update to concept-build of a Sprite Editor.
Please take a look at the program and let me know what you think, and what functions will be the most importatn. And please report any problems using sprites generated by SpriteEdit.
This post will be updated with every major update of the program to let newcommers get an overview of the program without reading through the whole thread.
Implemented Features:
- Display SpriteFiles
All view options have now been implemented. SpriteEdit can now open and display the frames and animation information for all version 1.3 and 2.0 sprites.
- Save Sprite Images
| Sprite Edit can now save the following: | | Combined Image: | This saves all the graphical data of a given frame to a 32 bit tga image. The pixel data is saved as RGB-color values, the transparency mask is saved to the alpha channel. And the shadow is saved as the shadow color selected on the shadow menu. | | Masked Image: | Same as Combined Image except the shadow is not saved. | | Pixels: | This will save the pixel data to a 32 bit RGB tga image, with no shadow or Mask. | | Mask: | Saves the Mask to both the alpha channel and as gray values to a 32 bit RGB tga image. | | Shadow: | Save the shadow as a 2 color image, it is actually saved as a 32 bit RGB tga image. |
- Play Animations
The animation sequences can be played, for now only as looped animations. The Sprite Files can contain both sequential, back-n-forth, and looped.
- Edit most elements of the SpriteFile
- Save Sprites in version 1.3
A note on background images: If anyone feels like creating more images, just make all images the same size (any size will do) and save them to one wide .bmp-file, but put a blank frame to the left. On the options menu you can tell SpriteEdit what size each frame has and then load the image. If the image is less than the size of the sprite it is tiled, to fill the whole background.
Revision history:
Changes from Build 9 to 10
- Edit Sprite Frame now edits the selected heading not just North.
Changes from Build 9 to 10
- Implemented Add, Remove, Insert, and Edit Sprite Frame.
This is verry much beta, so please report any odd behaviour.
Note that it is not possible create sprites from scratch.
Changes from Build 8 to 9
- Fixed export images directories, so the images are now exported to the correct directories.
- Only relevant color options are now available on the export dialog.
- Changed a checkbox caption from cbDiversColors to "Use Divers Colors"
Changes from Build 6 to 7
- Added edit capability for all non-graphical elements of the SpriteFile.
- Added save SpriteFile. For compatability reasoons the sprites are saved in version 1.3, so they are compatible with both Civ:CTP and CTP2.
- Made a lot of minor changes to the ini-file structure, so now default values for options are not saved in the ini-file.
- Images can now be saved as Windows-Bitmaps as well as tga.
- The save dialog now adds the selected extention if the file name does not include an extention.
- Fixed a lot of minor things in loading and manipulating SpriteFiles.
- Added register .spr-extention with SpriteEdit option. If you do double-clicking a .spr-file will open it in SpriteEdit.
Changes from Build 5 to 6
(minor version changed from 1 to 2)
- Implemented all the save image options, (I hope) so now you can save as Combined Image, Masked Image, Pixels, Mask, and Shadow.
- Added Export images options. You can now save all frames in the sprite file in three different modes:
- One file : All elements of the frame is saved to the same image.
- Two Files : Each frame is saved as Masked Image and Shadow.
- Three Files: Each frame is saved as Pixel, Mask, and Shadow Images.
- Fixed the shadow color bug.
- Added displaying of a number of properties: (Not fully implemented)
- Centerpoints, for each headding
- Deltas or nudges for each Animation frame
- Transparency (fade) values for each Animation Frame
- SpriteNumFrames, number of frames pressent in the animation block
- SpriteFirestFrame, first frame in animation block only used in the scripts from Activision, has no impact on the spritefile.
- AnimType, sequential, loop, or back-n-forth.
- AnimNumFrames, number of animation frames.
- AnimPlayBackTime, length of animation in milliseconds, not implemented acording to Activision.
- AnimDelay, number of times to play last frame in animation befor restarting animation.
- Relative Paths now work in the interface (note: This is only visual).
Changes from Build 4 to 5
- Added Background image option (Thanks Immortal Wombat for the image) It is now possible to display an image as the background. You can make your own background image-stripe, first image in stripe should be blank. Color of upper left pixel is transparent color and any pixel in the image with this color will be replaced by the current background color.
- Added save as 32 bit tga with alpha. Both with and without the shadow.
- Added save alpha Mask to 32 bit tga.
Changes from Build 3 to 4
Seems like I managed to break as much as I fixed between build 2 and 3, so let's hope I've managed to fix them all.
- The animations now plays again
- Fixed the crashes on load, now you should get an intelligible error message.
- Added inverse-shadows, so the shadow color is the inverse of the background.
- Added display of separate and combined Pixel, Mask, and Shadow.
Sprites can now be loaded from the list by key-board both in single and double-click mode. ([space-bar] and [enter])
- Saved BG and SH colors (ini-file) are now reflected on menus.
Changes from Build 2 to 3
- Fixed the large-sprites does not load bug.
- Fixed shadow colors bug in play.
- Added a couple of protections that hopefully fixed bug where one crash causes subsequent load attempt to fail.
Changes from Build 1 to 2
- Removed flicker
- Partially fixed load bug for sprite 'GG023.spr' This turned out to be a version 2.1 good sprite. I's a slightly different format than the 1.3 good sprite. Still need to do the anim-sequence load.
- Found and fixed a memory-leak.
- Added Options, menu, and a number of different Directory options.
- Added quick-loading of sprites in the sprite-list. So now the selected sprite will be loaded without double-clicking. (Option)
- fixed a number of minor bugs, i.e.. the headings bug.
Any feed-back will be helpfull.
Martin the Dane
Get the latest version from my CTP page
Last edited by Martin the Dane on 30-12-2004 at 16:25
|
|
|  |
 |
|  |
 |
|  |
 |
|  |
 |
|  |
 |
|
Martin the Dane
|
 |
Aarhus, Denmark
Feb 2000 time: 06:30
|
|
quote: And i must point out that We cant see the victory animations. you may want to check this out. |
Just checked this out, it seems there are no victory animations, The game uses the idle animation in stead. I have checked the headers of all the sprite file I have, and none of them have more than 4 animations being Move, Idle, Attack, and Victory/Death. (The animations that have the Work animation were missing one or more of the other animations.) 
Victory/Death is one animation and can be either Victory or Death, not both. It's called Victory/Death only because it's called UNIT_SPRITE_VICTORY in the V. 1.3 scripts and can have a UNIT_SPRITE_IS_DEATH option. After looking through the sprites however, I think I'll just rename it Death, as I have not yet found a victory animation. Then when I get to that part of the SpriteFile I'll call it Victory if it does not have the UNIT_SPRITE_IS_DEATH options set. (It's the last DWord of the Sprite File, and I'm not reading beond the last animation block yet.)
|
|
|  |
 |
|  |
 |
|
Martin the Dane
|
 |
Aarhus, Denmark
Feb 2000 time: 06:30
|
|
Ok I've now updated the SpriteEdit to build 2
Here's a list of what I've changed/fixed
- Removed flicker
- Partially fixed load bug for sprite 'GG023.spr'. This turned out to be a version 2.1 good sprite. I's a slightly different format than the 1.3 good sprite. Still need to do the anim-sequence load.
- Found and fixed a memory-leak.
- Added Options, menu, and a number of different Directory options.
- Added quick-loading of sprites in the sprite-list. So now the selected
- sprite will be loaded without double-clicking. (Option)
- fixed a number of minor bugs, ie. the headdings bug, so now you don't have to play the animation to see different headings.
Still haven't found out what's wrong with the GX05.spr, it has the right version number, and the first couple of frames loads fine. But then I't goes hay-wire, and claims to have strange number of lines in each frame.
Martin, believe it or not I actually did the oposite of what you suggested to get rid of the flickker, as I was drawing the image in the background and then painting the whole image to the screen in one go. For some reason however Delphi updates the background control (in this case a scrool-box) befor doing the actual paint operation. This defies logic, but now it works. I'm drawing directly to the image on the screen, after first clearing it, and then I draw each line, one at a time.
Just grab the zip of my site, the links are in the first post.
|
|
|  |
 |
|
Martin the Dane
|
 |
Aarhus, Denmark
Feb 2000 time: 06:30
|
|
I've uploaded an update to SpriteEdit to my website, and added a link to my sig, so you can as allways get it from the link there.
Finally I've found and fixed the problem with the large sprite (a DWord was saved as a Word ) and fixed the anim-block of version 2.1 good-sprites.
quote: Originally posted by Martin Gühmann
... this time I get an "Access violation at address 004614B5 in module 'SPRITEEDIT.EXE'. Write of address 01208000." error message. It is GU194.spr it comes with MedPack or Cradle. So it should be a fanmade sprite and should be version 1.3. But obviously something is wrong. Unfortunatly afterwards I clicked on that particular sprite I can't load any other sprites until I close SpriteEdit and start it again. I get only these Access violation messages with different addresses, even if I close the program.
|
Martin, I don't have the sprite you mention, so could you mail it to me, and I'll take a look at it.
As for the Access violation error, I've tried adding a few protections that might help, but I'll look into that in the comming days.
quote: Originally posted by Martin Gühmann
Another rather graphical problem is that if I let run the animation and I hit Colors->Background or View on the menue bar, the pixels of the frame are replaced by a dark grenn bright green square pattern. (These two greens are part of my system colors.) To restore the actual sprite frame I have to select another sprite first and then to select it again. No problem if the animation is turned of and only these two options are affected. Unfortunatly this problem also occurs afterwards I changed the shadow or background color.
|
I have not been able to replicate your problem, but attempting to do that revealed another shadow-bug, that I've now fixed, so lets hope I've accidentally fixed your problem . (Shadows were always black for animations and disregarded the shadow-color selected on the menu)
quote: Originally posted by Martin Gühmann
Another problem occurs with the painting if I switch to another program and then back. The sprite pixels are replaced by a very kight brown. Well the problem only occurs if I switch to Mozilla and then back and only sometimes, but often enough. If I remember correctly I also saw this in TileEdit.
|
Havn't been able to recplicate this error, so if anyone else have a similar problem please let me know. It might be a windows problem, as I use Delphis own WinAPI-implementations to do the painting. I don't do any actual repainting on giving the program focus, that is taken care of by Window.
quote: Originally posted by Martin Gühmann
Another feature I would like to see is the possibility to show just the shadows or just the pixels or just the transparency values and of course each combination. That should be possible with three additional check boxes on the main window.
|
I'm working on this, as it's part of the export functions, including this will be natuaral.
Martin the Dane
|
|
|  |
 |
|  |
 |
|  |
 |
|
Martin Gühmann
|
 |
Berlin, Germany
Mar 2001 time: 06:30
|
|
quote: Originally posted by Martin the Dane
Martin, I don't have the sprite you mention, so could you mail it to me, and I'll take a look at it.
As for the Access violation error, I've tried adding a few protections that might help, but I'll look into that in the comming days. |
The sprite in question should be in the attachment.
quote: Originally posted by Martin the Dane
I have not been able to replicate your problem, but attempting to do that revealed another shadow-bug, that I've now fixed, so lets hope I've accidentally fixed your problem . (Shadows were always black for animations and disregarded the shadow-color selected on the menu) |
Unfortunatly the problem is still in the programm. Unfortunatly also the other related shadow bug is still there and if I click on animation all I see is one frame with black shadows without actual animation even if the sprites does has more frames than one.
quote: Originally posted by Martin the Dane
Havn't been able to recplicate this error, so if anyone else have a similar problem please let me know. It might be a windows problem, as I use Delphis own WinAPI-implementations to do the painting. I don't do any actual repainting on giving the program focus, that is taken care of by Window. |
The bug still occurs also it was a little bit harder to reproduce now additional the sprite was replaced by white color, and that was easier to remove by clicking on another sprite and going back, but finally it occured again as I described above.
-Martin
Attachment: gu194.zip
This has been downloaded 4 time(s).
|
|
|  |
 |
|
Maquiladora
|
|
When i did some sprite work i used the same method as IW, selecting the shadow then cut-pasting it out. That would make one file easier.
|
|
|  |
 |
|  |
 |
|
Martin the Dane
|
 |
Aarhus, Denmark
Feb 2000 time: 06:30
|
|
Seems the consensus is one file.
quote: Originally posted by The Big Mc
I also have a question what you doing about sprite hot points like in the original compile you could set a point to be the hot spot it would be good if you could get this spot on before playing it in ctp |
I'll get to that later, for now I'm concentrating on getting the Graphics part up and running, but I'll have to have hotpoints and fadeing implemented before making save-srpite available, or the sprites won't play in CTP.
quote: Originally posted by The Big Mc
The second point is are you going to add example terrains to this I would be happy to sort the graphics out for you. so lets say for example you can test your new unit on all the bog standard ctp terrain to see if it is still visible |
Yes I'm going to add the option of having background images, the paint-methodes I use for the sprites support it, I just haven't figured out the best way of implementing it yet.
I was thinking of loading the terrain from the .til-file. It would however be much easier (for me ) if someone would make a number of equal-sized terrain-images and save them as a long rectangular .bmp, with the terrains side by side.
Taking the terrain from the .til file would require a lot more coding, most of that would probably be cut-n-past, but anyway.
In either case the background graphics would be stored outside the .exe, and loaded at startup, or on demand.
|
|
|  |
All times are GMT. The time now is 05:30. Apolyton Time is 00:30. |
top of page
|
|
|
Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is ON
vB code is ON
Smilies are ON
[IMG] code is ON
|
|
|
|
|
|