View Full Version : Impressionist Set File - how to fix if needed


Fluffbutt
05-31-2004, 10:55 AM
FLASH - CUSTOM STYLE NAMES MUST BE 30 CHARACTERS or LESS
When saving a custom Style by clicking the Save button, if you assign a name longer than 30 characters in the Variant box, Impressionist will complete the request (no error message), but will create a "blank" entry in the category menu.

If you subsequently try to choose this "blank" Style from the Category menu, you will get this error message: " Bad data prevented completion of this operation."

Bottom line: Assign custom names no longer than 30 characters and you'll be okay.

The discussion that follows describe two ways to fix this problem.

~Danny~

= = = = = = = = = = =

I found today that one of my setting was blank, and Imp. came up with a 'corrupt data' error. since I couldn't select it, I couldn't delete it.

It may have been my fault - I gave it a 5 word name, about 25 characters long.

Anyway, after much trial and error I found how to remove it. open the set file in a hex editor (has to be hex editor, as text editors don't save hex files properly). Search for the bad name (find it by trial and error, remembering what's yours and what's Imp.'s). Select from TWO character before the style ttle name up until TWO characters before the next style title. Delete and save (hope you have a backup).

EG: Bad name Chalk & Salmon background, in Chalk sections
Select xxchalk up to just before xx<next name>

I know this is a silly post, but it's here if someone needs to fix their set file without losing all the set's they've made - that'd be a catastrophe (cat ass trophy?)

DannyRaphael
05-31-2004, 02:27 PM
Fluff:

This is an EXCELLENT topic. Great job of investigation and diagnosis as well as summarizing the recovery steps. I ran across this problem not long ago. (More on that in a minute).

Questions:
* What hex editor did you use? I'm familiar with the concept, but have never run into a situation (like this) where one would come in handy.
* Just curious: Before using the hex editor to zap the "2 characters preceding + style name" for the faulty entry, did you happen to notice what the two leading characters were -and/or- the leading two characters of other Styles? I'll bet of those 2 byles (a) some of the bits serve as an offset that points to setting values located elsewhere in the .set file and (b) the rest indicate the length of the Style name.

Problem cause: Confirmed. See FLASH note in the first post. The Style name exceeded 30 characters.

It's odd there's no error message warning when you click Save. (It would have been an easy thing to check for from a programming perspective.) Oversight, I guess. Maybe it will be fixed in the next version. (That's joke. I can't imagine there will ever be a "next" version.)

==================
My custom Categories
==================
I've created three custom Category folders:
* #djr01. For custom/modified styles
* #Favorites. Unmodified styles that I use frequently. It's easier for me to put them in one Category than to hunt them down over and over.
* #Temp (for styles I'm experimenting with, but not ready for #djr01).

For sanity purposes, I've named the Set files the same as the Category names, so category #djr01 corresponds to #djr01.set. There's no requirement for these to be named the same; it's just easier for me to remember.

The purpose of the leading # is so the custom Category sorts to the top of the Category list in the menu.

==================
My problem
==================
In my case it was custom Category #djr01 to which I added a Style with a name that was too long. I was fortunate that at the time there were only a few custom Styles in it.

==================
My functional but not glamorous workaround
==================
* Click on the first "working" style in #djr01, as though I was going to apply it.
* Click the Save button
* In the Category Name and Set Name boxes, I replaced #djr01 (the source Category) with #Fix. The Variant box was prepopulated with the custom name I'd assigned to the Style.
* When I clicked OK, new category #Fix was created and the first custom Style added to it.
* I repeated the process of selecting a custom Style in #djr01 and saving it in #Fix until all Styles were copied into the new Category.
* With all Styles safely copied, I deleted #djr01.set from \User Files.
* Since I'm partial to #djr01 (my initials), I did the style-by-style copy from #Fix to a newly created #djr01 Category.
* When finished I deleted #Fix.set from \User Settings.

~Danny~

Fluffbutt
06-01-2004, 02:57 AM
Yes, if you've only got a few styles in a set file, it's easier to save out those good styles into a new file.

I suppose it's also a *very* good idea to have set files named by each style group - so if you have Acrylics, Watercolours, RoughPaint, then you'd have three set files with those names.

Danny - I used the hex edit side of UltraEdit - but there are plenty of freeware windows Hexeditors - most are very nice, easy to use.

Yes - it was the long name that did it.

By the way - there's at leastTWO versions of Imp. - one version .1059 and the other .2008 - I've got both, but ca't see any differences (using .2008)

Danny, yes, the two chars before the name are an offset - it took me a while to figure that out (duuuh!).

The fomat is:

<offset> <offset> <stylename> blank (hex 00) <subname> <data> <next offset><next offset>

So you see, 2 chars before style up to 2 chars before next style. And the offset chars are NOT the same all the way through, and there is an initial extra offset (3 chars at start).

Thanks for the info on the name limits.