PICEDIT 1.3 Milestone 1 released

AGI, SCI, Wintermute, Sludge engines fangame creation discussion

Moderators: ScummVM Team, AGI moderators

lance.ewing
Posts: 56
Joined: Sat Dec 11, 2010 8:11 pm
Location: www.agifans.com
Contact:

PICEDIT 1.3 Milestone 1 released

Post by lance.ewing »

A few days ago I built and released the first milestone release of PICEDIT 1.3. This gives people a chance to see some of the new features I've been working on for 1.3. Note that this is just a milestone release and I plan to release at least two more milestone releases before the final 1.3 release.

http://picedit.googlecode.com/files/picedit-1.3M1.jar

The new features in this milestone include:
  • * Four window sizes to choose from. The 2x option is the old screen size. The default is now 3x.
  • * Priority bands/grid lines. This was something missing from version 1.2 and 1.2.1 that is now fairly standard in AGI and SCI picture editors. It shows where each of the priority bands start.
  • * Dual visual/priority mode (where priority and visual screens mix, as first shown in the APE tool). This is a bit gimmicky but I quite liked it when Joakim Moller first demonstrated this with the APE tool. What it does is render the priority screen and then the visual screen is drawn on top with 50% transparency. Try picture 45 in SQ2 to compare with the APE screen shot on www.agidev.com. An screen shot from PICEDIT 1.3M1 is shown below.
  • * Load and Save dialogs now start in the current directory and remember the directory between uses, and the current picture file name is displayed on the title bar.
  • * Right clicking now stops the current tool but does not set tool to None. This allows the user to draw more lines in one go. They no longer have to keep choosing Line. They simply select Line at the start, then draw a line, right click, and then start drawing another line in another place on the screen. Right clicking twice will switch the tool to None.
Let me know what you all think. I am very keen to hear your feedback and suggestions.

The following is a screen shot of the new version with the dual mode activated:

Image
sact
Posts: 30
Joined: Sat Oct 23, 2010 9:11 pm
Location: 2b||!2b
Contact:

Post by sact »

Wow, amazing, right click not setting tool to none, makes everything so much smoother and dual mode is welcome addition, makes picture priority editing very easy. PICEDIT is truely the AGI tool for 2010s!

Feature requests

* Full screen? Maybe as preview too but at least as possibility to maximize PICEDIT, when working with e.g. Line tool, one easily tries to end line outside the window, possibly clicking another application in background, taking focus off the picedit.
* While using e.g. Line tool, trying to set end point for line, often clicking menu itself happens and menu activates. Fix: activating menu is disabled when trying to set end point for current line?
* Add Dual Mode to screens switched by tab key. Though Dual Mode does help visualizing the picture as whole, time to time, its easier to edit with plain priority screen. Either way, would be nice to be able to toggle Dual Mode with some key.
* Changing colours by scrolling mouse wheel (at least for AGI pictures? Perhaps visual colour only or colour changed defined by active screen (visual/priority))

Bugs

* Changing Zoom-level randomly fails to work.
* Loading existing pictures, such as SQ2's picture 45 sure works ok, but trying something with tinier details tends to fail. Also trying to load pictures optimized with Visual AGI Picture Editor cause Picedit behave, not well.

Original
Image

PICEDIT 1.3M1 (original)
Image

PICEDIT 1.3M1 (optimized)
Image

Example picture used

Both original picture (in the link above) and one optimized with Visual AGI Picture Editor show properly in AGI Studio 1.38b and in game.
Last edited by sact on Thu Jul 07, 2011 5:41 am, edited 2 times in total.
lance.ewing
Posts: 56
Joined: Sat Dec 11, 2010 8:11 pm
Location: www.agifans.com
Contact:

Post by lance.ewing »

Thanks sact for the detailed feedback. I'll definitely have a go at fixing those defects. There is one known defect where some Sierra pictures don't display. It is due to a difference in how one point lines are drawn. It seems that Sierra's editor must have allowed a line to be drawn without an end point, so just click a start point and that's it. PICEDIT doesn't allow this and can't handle a Sierra picture with such data. So I need to fix this at some point. It might explain some of the issues you encountered. Do you have other examples of original Sierra AGI pictures that don't work? Or was it only fan made pictures that you noticed did not work too well?

The zoom defect is a bit of a worry. I think I've seen that a few times early on as well, but not recently. Are you using Windows, or Linux or Mac? (to be honest, I haven't tried the zoom feature on Linux yet. It might not even work. It definitely works on Windows and Mac but appears to have the issue you encountered).

Full screen is a good idea. I've thought about that myself but didn't know how it would go down. Sounds like people would like to see it.

For dual mode, adding a keyboard short cut sounds good. What I could also do is that it only affects the visual screen, so if you tab then it shows the priority screen as per normal, but tabbing back to visual would show dual mode again. In such a setup, dual mode would still be on but only visible on the visual screen. Is this what you had in mind?

Unfortunately I don't think the mouse wheel for changing colours will work out. I did try implementing it but ended up taking it out because it introduced a lot of bugs that I couldn't work out the exact cause of. There was also feedback from others saying that it isn't intuitive to change colour with the mouse wheel, but rather it should control the zoom feature, which is consistent with other image editors. What are your thoughts? Is there another way we could make colour changing quicker?
sact
Posts: 30
Joined: Sat Oct 23, 2010 9:11 pm
Location: 2b||!2b
Contact:

Post by sact »

lance.ewing wrote:Do you have other examples of original Sierra AGI pictures that don't work? Or was it only fan made pictures that you noticed did not work too well?
I haven't tested too many Sierra AGI pictures which all worked fine, thus I've only noticed this occurring with pictures I've made (by converting .pcx into picture with Noptec Vector-conversion software.
lance.ewing wrote: Are you using Windows, or Linux or Mac? (to be honest, I haven't tried the zoom feature on Linux yet. It might not even work. It definitely works on Windows and Mac but appears to have the issue you encountered).
I use Windows 7 SP1 HP 64-bit.
lance.ewing wrote: For dual mode, adding a keyboard short cut sounds good. What I could also do is that it only affects the visual screen, so if you tab then it shows the priority screen as per normal, but tabbing back to visual would show dual mode again. In such a setup, dual mode would still be on but only visible on the visual screen. Is this what you had in mind?
Yup, something like that.
lance.ewing wrote: Unfortunately I don't think the mouse wheel for changing colours will work out. I did try implementing it but ended up taking it out because it introduced a lot of bugs that I couldn't work out the exact cause of. There was also feedback from others saying that it isn't intuitive to change colour with the mouse wheel, but rather it should control the zoom feature, which is consistent with other image editors. What are your thoughts? Is there another way we could make colour changing quicker?
Thing is, everyone has their own preferences how they want and like controls to behave, what is intuitive and what is not, etc etc. Though scroll wheel could be logically made to operate zoom, could there be possibility for users to actually define controllers for actions? And, the most simple solution, just another shortcut? If possible, keys next to each other, one for visual, one for priority.

One more thing, Load and Save do remember the last folder used in current session, but when I close and restart PICEDIT, the directory where PICEDIT resides is shown. Not the last directory used.
Last edited by sact on Thu Jul 07, 2011 5:33 am, edited 1 time in total.
User avatar
md5
ScummVM Developer
Posts: 2250
Joined: Thu Nov 03, 2005 9:31 pm
Location: Athens, Greece

Post by md5 »

The defects shown sound like a problem with the Bresenham line drawing algorithm. If this is not exactly the same as the Sierra one, color flood fill will spill through empty spots, filling up incorrect portions of the screen.

For example, in the example screenshot, check the grey window to the left of the door (behind the pillar). There is a little grey pixel in the original, between the pillar and the object in the back of the window. That pixel is missing in PICEDIT, so the black color of the window is spilling through and painting the top grey bit of the window. A similar situation seems to be happening with the bottom of the picture, probably because black color is spilling through the borders of the oil patch on the left or, most likely, the small tile between the two dumpsters. Same thing happens with the window to the very right (with the blue glass): the black fill color of the window is spilling through the crack and filling the pavement in front of the window.
lance.ewing
Posts: 56
Joined: Sat Dec 11, 2010 8:11 pm
Location: www.agifans.com
Contact:

Post by lance.ewing »

Thanks for the tips on the line drawing algorithm. I'm fairly sure the lines were okay in the old C version of PICEDIT, but I'm not convinced with the Java version yet because I used a different algorithm that I grabbed from somewhere else that might be wrong. I'll look at the specific examples you've highlighted and see what is going on.
lance.ewing
Posts: 56
Joined: Sat Dec 11, 2010 8:11 pm
Location: www.agifans.com
Contact:

Post by lance.ewing »

sact wrote: Thing is, everyone has their own preferences how they want and like controls to behave, what is intuitive and what is not, etc etc. Though scroll wheel could be logically made to operate zoom, could there be possibility for users to actually define controllers for actions? And, the most simple solution, just another shortcut? If possible, keys next to each other, one for visual, one for priority.

One more thing, Load and Save do remember the last folder used in current session, but when I close and restart PICEDIT, the directory where PICEDIT resides is shown. Not the last directory used.
It sounds like I will need to start using the preferences API to remember things between different sessions. I could store the directory last used in there and also things such as the behaviour of the mouse wheel. I think I'm convinced now that given the differences of opinion that I need to start giving the user a choice, like what you suggest.

What are your thoughts on the current look and feel of PICEDIT? I deliberately tried to make it look like the original Sierra AGI interpreter, which includes the behaviour and appearance of the menu, and the screen dimensions. I've been wondering if I should give up trying to add more options to my current custom menu and start using the menu system I get for free with Java, i.e. the standard windows style meny system that you see in most applications. I was trying to hang on to the old look and feel as long as possible because I thought that it was part of PICEDIT's character and what distinguishes it as a tool, but perhaps the time has come to make it look more like modern tools. Not sure which way to go.
lance.ewing
Posts: 56
Joined: Sat Dec 11, 2010 8:11 pm
Location: www.agifans.com
Contact:

Post by lance.ewing »

md5 wrote:The defects shown sound like a problem with the Bresenham line drawing algorithm. If this is not exactly the same as the Sierra one, color flood fill will spill through empty spots, filling up incorrect portions of the screen.
I've noticed that this gas station picture does indeed have lines with only a single point. PICEDIT doesn't support that yet. This is a known bug that I need to fix. The line drawing algorithm is probably okay apart from lines with only a start point and no end point. What my code probably does is store the start point and then expects another point to draw a line to. If it never finds such a point, it doesn't draw anything. What Sierra's interpreter does in such a scenario is draw a single pixel at the start point. From what I can see, this gas station picture has a lot of single point lines, so this will introduce a lot of points where pixels are not drawn where there should be a pixel and therefore the reason why the fill is spilling out beyond where it should. I think I'm going to raise the priority of this bug and get it fixed for the next release.
sact
Posts: 30
Joined: Sat Oct 23, 2010 9:11 pm
Location: 2b||!2b
Contact:

Post by sact »

lance.ewing wrote: What are your thoughts on the current look and feel of PICEDIT? I deliberately tried to make it look like the original Sierra AGI interpreter, which includes the behaviour and appearance of the menu, and the screen dimensions. I've been wondering if I should give up trying to add more options to my current custom menu and start using the menu system I get for free with Java, i.e. the standard windows style meny system that you see in most applications. I was trying to hang on to the old look and feel as long as possible because I thought that it was part of PICEDIT's character and what distinguishes it as a tool, but perhaps the time has come to make it look more like modern tools. Not sure which way to go.
Like you pondered, regardless of it's nostalgic, iconic look, I reckon the Sierra AGI-style look might have come to end of it's road. Continuing using it, might make harder adding more useful features and making PICEDIT more user-friendly. And, PICEDIT isn't anymore just for AGI-pictures, there's SCI as well, thus it's about time for major revamp.

Drawing area apart from menu, if not into it's own internal window/tab? Possibility for changing colours' location or put them into own movable window? Should there be full screen preview, it could retain AGI/SCI dimensions, positioning image so there's certain amount of space ( 8/168/24 ratio for AGI , don't know about SCI ) above and below ( user defined black or white ).

And, would be nice if fill-tool could be used again to the area that has been previously filled.
lance.ewing
Posts: 56
Joined: Sat Dec 11, 2010 8:11 pm
Location: www.agifans.com
Contact:

Post by lance.ewing »

lance.ewing wrote:
md5 wrote:The defects shown sound like a problem with the Bresenham line drawing algorithm. If this is not exactly the same as the Sierra one, color flood fill will spill through empty spots, filling up incorrect portions of the screen.
I've noticed that this gas station picture does indeed have lines with only a single point. PICEDIT doesn't support that yet. This is a known bug that I need to fix. The line drawing algorithm is probably okay apart from lines with only a start point and no end point. What my code probably does is store the start point and then expects another point to draw a line to. If it never finds such a point, it doesn't draw anything. What Sierra's interpreter does in such a scenario is draw a single pixel at the start point. From what I can see, this gas station picture has a lot of single point lines, so this will introduce a lot of points where pixels are not drawn where there should be a pixel and therefore the reason why the fill is spilling out beyond where it should. I think I'm going to raise the priority of this bug and get it fixed for the next release.
I just checked the C source code for the old version of PICEDIT. It does indeed draw a single pixel if an 0xF6 line command has only a single point. But it doesn't support creating such lines.

The new Java version, on the other hand, doesn't even draw the single pixel for these types of single point lines. To fix the issue so that it draws these pixels is probably trivial. But I'm planning to take it beyond this and actually allow the editor to create such lines since Sierra's original editor must have allowed this; otherwise there wouldn't be such pictures in Black Cauldron (for example).
lance.ewing
Posts: 56
Joined: Sat Dec 11, 2010 8:11 pm
Location: www.agifans.com
Contact:

Post by lance.ewing »

sact wrote: Like you pondered, regardless of it's nostalgic, iconic look, I reckon the Sierra AGI-style look might have come to end of it's road. Continuing using it, might make harder adding more useful features and making PICEDIT more user-friendly. And, PICEDIT isn't anymore just for AGI-pictures, there's SCI as well, thus it's about time for major revamp.
Yes, I think it has to be done. I'm not sure I will have made this change for the next release though. I'm planning to focus of fixing some of the bugs as a priority. This revamp will probably come with the final 1.3 Milestone.
sact wrote: And, would be nice if fill-tool could be used again to the area that has been previously filled.
This will indeed be possible once I introduce some of the functionality I have planned for 1.3. I'm going to store a lot more data about the picture in memory when it is being drawn so that the application knows what AGI picture commands were responsible for rendering each pixel on the screen. With this kind of awareness, a feature such as refilling an area would be possible. AGI itself does not support refilling already filled in areas, but this kind of awareness would allow such a feature in PICEDIT. It would basically be changing the colour code at the point in the picture that was responsible for the original fill (rather than adding a new fill command at the current position in the picture buffer). The end result is that the filled in area is now the new colour.

I'm planning to use this new awareness to allow more vector type manipulation, such as click on the vertices of lines and dragging them around, or perhaps even introducing new vertices, or deleting vertices. The AGI picture format is a vector graphics picture format after all, so it makes sense to introduce features from the editors of such formats.
lance.ewing
Posts: 56
Joined: Sat Dec 11, 2010 8:11 pm
Location: www.agifans.com
Contact:

Post by lance.ewing »

I have fixed the issue with the fills spilling out of that gas station picture. It was caused by those single point lines. I have changed my absolute line drawing routine so that it always at least draws a pixel at the start point, even if there isn't an end point. The gas station picture draws fine after that change.

I have also changed the behaviour of the Line tool. Previously it would not start adding line data to the picture buffer until the second point of the line was placed. What this meant is that you could right click to cancel a line if all you had done is place the starting point. In order to support single point lines (which Sierra's editor must have supported), I have changed this behaviour so that it starts adding line data to the picture buffer on the first click. This means if you right click after just one point is placed, you end up with a single point line.

Both of these changes will be in the next release. I suspect that the same situation might exist for the other types of line as well. I'd need to check this out.
sact
Posts: 30
Joined: Sat Oct 23, 2010 9:11 pm
Location: 2b||!2b
Contact:

Post by sact »

Sounds good, really good.

Here's some maybe not so vital suggestions like few more tools? Like rectangles and circles? And this maybe far-fetched, how about possibility for testing the picture with user defined view to see how priorities are working?
lance.ewing
Posts: 56
Joined: Sat Dec 11, 2010 8:11 pm
Location: www.agifans.com
Contact:

Post by lance.ewing »

That last suggestion isn't far fetched. It is actually similar to one of the items on my list for the next Milestone release. I was planning to have an ego view for testing walking around the room. I guess that gives you part of what you'd need. Ego can't walk to everywhere on the screen though because of control lines, so maybe an unbounded view test where a simple unanimated view can be used to test the priority bands. Sounds like two separate features, both of which I'll add in.
lance.ewing
Posts: 56
Joined: Sat Dec 11, 2010 8:11 pm
Location: www.agifans.com
Contact:

Post by lance.ewing »

sact, thanks for posting that link to the Visual AGI Picture Editor. I'd never seen that version of the editor before and didn't know it even existed. I knew that Joakim was working on a tool, and I think I saw a few older versions, but nothing as advanced as this. Is this tool still available on the net anywhere (apart from the link you sent through)? I tried finding it a while back and couldn't find it. I assumed it wasn't available anymore.

So I've had a look at it and I've noticed that he has implemented one of the features I was planning for my next release, which is the scroll bar at the bottom. I've had that in my head to implement for a while but didn't realise that there was a tool that already did this. The WinAGI implementation is a two-step process where you have to scroll the commands and then click on where you want to go. The one step process of simply dragging the scrollbar and it updates the picture is what I was aiming for and now I realise what I'm intended is exactly what Joakim has built for the Visual APE tool.

The simplified tool set is something I've been thinking of as well. It doesn't seem to make sense to retain the Step and Pen tools. The tool can in theory optimise the picture to use the correct type of line and hide that from the user. I assume that is what Joakim is doing.

And he has already implemented draggable vertices as well!!! I can't believe this. Who else knows about this tool in the AGI community? Draggable vertices was on my list for the next Milestone as well but I didn't realise there was a tool that already did it. And draggable fill points! And an "Add new point" feature! This is just amazing! I have to track Joakim down again and congratulate him. We need to advertise this tool a lot more.
Post Reply