Page 1 of 1

Random decorations (CSBwin)

Posted: Tue Jul 19, 2005 12:19 am
by Zyx
when checking for decorations, could you check that there isn't a random decoration against the frame of a door and allow a repair button?
Could you also check that there isn't a random decoration in the same cell as a skin and allow a repair button?

Posted: Tue Jul 19, 2005 1:12 am
by Paul Stevens
Sure. If I can figure out how that 'Repair' business works.
It's sort of indirect and complicated and I never can remember
the how it is done.

Posted: Tue Jul 19, 2005 3:28 pm
by Paul Stevens
CSBuild212

You can repair over 1000 of these errors ( on level zero,
for example ) by simply setting the number of Random
Decorations to zero.

Posted: Tue Jul 19, 2005 3:48 pm
by Zyx
Thank you. Hasn't your massive solution a drawback? Something like repairing even what need not be?

Posted: Tue Jul 19, 2005 6:17 pm
by Paul Stevens
Your level zero, for example, has a default skin. So EVERY
cell with random decorations will generate an error. We either
must remove the deorations from each cell individually or
simply say that no decorations will be used on the level.

Posted: Tue Jul 19, 2005 7:38 pm
by Zyx
Ah, no, I do not wish the default skin to generate errors.
Here's why:
Default skin is a massive solution implying masive random decorations or none, while hand set-up skins imply a cell-by-cell choice of setting a random decoration.

So if you choose to put a skin that is not compatible with random decoration, you have 2 choices:
*put it as a default skin, and disable random decorations for the whole level.
*put it on certain cells only, and check with the tool if you forgot to remove decorations.

Posted: Tue Jul 19, 2005 7:49 pm
by Paul Stevens
CSBuild213

I won't say it makes sense to me, however.

Posted: Tue Jul 19, 2005 8:32 pm
by Zyx
Repairing them is taking ages, since it has to update the huge list between each repair.
Could i propose another way, like a a list with checkboxes; the user checks the boxes of the elements he wants to be repaired, then hit only once the button "repair"?

Posted: Tue Jul 19, 2005 8:45 pm
by Paul Stevens
Could i propose another way
You may propose. I may turn you down.

But I noticed an inordinate delay myself. I wonder if
something is broken. I'll check.

Posted: Tue Jul 19, 2005 8:53 pm
by Paul Stevens
I just tried it again. Now tht we don't count the default
skin as an error, there are only about 20 pages of errors.
I was able to repair them at about 5 per second by
holding down the return key.

You can make the list smaller and do it in pieces by
setting the random decorations to zero on half your
levels.

Or put a book on your return key and go take a nap.

I'm not going to spend a couple days to make this faster to
save you a couple of hours.

Posted: Tue Jul 19, 2005 9:20 pm
by Zyx
20 pages of errors? I have more than 600 pages of 20 errors each! The book will remain 16h40 on my return key... Surely, windows will have popped up with an insidious question before it's done.

Anyway, I don't want to indiscriminately repair them. Some levels need to be fixed, other left as it.

Maybe you could then add an option select for which level the errors should be displayed, with a check for "All".

Also, could the text distinguish between "floor decoration" and "wall decoration"?

Posted: Tue Jul 19, 2005 9:32 pm
by Paul Stevens
Oh, dear. Are you using 2.13? I got a lot of errors
with 2.12 but that was because of the default skin business.

It does not even check floors. I did not know you wanted that.
I'll have to add it.

Posted: Tue Jul 19, 2005 9:40 pm
by Paul Stevens
Perhaps we are approaching this wrong. What is
the problem with the random decorations on skinned
walls? It it that they are being drawn when they should
not be drawn? Who is drawing them?????

Posted: Tue Jul 19, 2005 10:38 pm
by Zyx
Ahh, with v213 it loads only 20 pages of errors as you said. This is perfectly manageable. I don't need more fixes...

To answer your question about what is wrong: suppose you did a pink wall set: decorations leaving a gray parts of stone (like the demon face) won't fit in.

Posted: Tue Jul 19, 2005 11:08 pm
by Paul Stevens
CSBuild 2.14 goes a few hundred times faster.

But you did not answer both my questions. Who is drawing
the random decorations?

Posted: Tue Jul 19, 2005 11:15 pm
by Zyx
Ahem... the CSbwin engine?
In fact I'm using the original DM decorations, with some slight modifications done by myself. Does this answer your question ? (I don't understand the relevance of it)

Posted: Tue Jul 19, 2005 11:22 pm
by Paul Stevens
Well, the relevance is that your skin code draws the walls.
You ask for the decorations to be drawn. Perhaps we should
add a word 'NoRandomWallDecorations' before drawing
the decorations. Then you could supress them in one skin
but not in another if you pleased. And if you changed the
skin the decorations would automatically reappear.

Posted: Tue Jul 19, 2005 11:27 pm
by Zyx
Understood.
How do I check if skincode is equal to a given number?
I tried:
SkinCode 10 = IF [blabla] ENDIF
but it doesn't work.

Posted: Tue Jul 19, 2005 11:42 pm
by Paul Stevens
CurrentSkin 10 = IF blabla THEN

would have a much better chance of working.
Unfortunately, there are almost no stack operations
defined. like '='. You are welcom to ask for anything
you find in the FORTH-79 standard.

http://www.dianneandpaul.net/CSBwin/doc ... sCode.html

So I will add things like '=' '<' '+' '-' and so on.
See ya tomorrow.

Posted: Wed Jul 20, 2005 3:23 pm
by Paul Stevens
CustomGraphicsDemo16 contains ViewportCompiler
version 1.1 which has all the usual arithimetic / logical
words like '+' 'AND' 'U<' and, especially for you, '='.

Be a bit careful . . . they are not well-tested.