DSA comments, questions and suggestions

Discuss Chaos Strikes Back for Windows and Linux, an unofficial port of Chaos Strikes Back to PC by Paul Stevens, as well as CSBuild, an associated dungeon editor.

Moderator: Zyx

Forum rules
Please read the Forum rules and policies before posting.
Post Reply
User avatar
Zyx
DSA Master
Posts: 2592
Joined: Mon Jun 05, 2000 1:53 pm
Location: in the mind
Contact:

DSA comments, questions and suggestions

Post by Zyx »

1)
Paul wrote:
A: "The 'state' is kept in a 4-bit field which only allows for 16 states."
B: "the 'Parameter-B' field which is 16 bits and allows for 65536 states."
C: "The Global option keeps the state Globally in the definition of the DSA. It is a 32-bit field which allows 4294967296 states."
However, in the "display state" box, I can put, for example, 20. Which disagrees with A.
I am not allowed to put over 999 (which disagrees with B and C, but I don't think more than 1000 states are necessary), but I can however put 9999, read the warning about the limit, and create the DSA.
If i put 4294967296 (or more), the program crashes


2)
Help about DSA:
Could you use an edit box instead of a listbox for the display of the help (when pressing the Help button ) for the DSA. This way I could select and copy the text to the notepad.
Another way to make it more useful would to put 2 edit boxes, one with the syntax, the other with the operations. This way if I need to check the syntax I don't have to leave the description of the command...

3)
Could you change the word "position" for "facing"?. I think it would be clearer.

4)
What is the difference between position and position mask (besides using a letter or a digit)?
Does position mask ranges from 1 to 15?
a 0 would have any meaning then (no position)?
Do you have to precise a position for a pressure pad, for example?

5)
Copy teleporter: does it add a teleporter on the cell, replace a teleporter (basic tile type, actuator, basic tile type+actuator).
Why is it only limited to teleporters?

Wouldn't it be better to have these instructions:
Set tile type <target> <tile type>
Copy object pile <from> <to>
(I precise "object pile" because if there is a stack of objects, all would be copied"


I still have lots of questions, but I will first experiment with what I understood so far.
User avatar
Paul Stevens
CSBwin Guru
Posts: 4322
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Re: DSA comments, questions and suggestions

Post by Paul Stevens »

1) The Display State. You can define more than 16 states.
You just cannot get there during runtime. Or, more exactly,
you can get there but you cannot stay there because there
is no way to put a big number into a 4-bit field to remember
it from execution to the next.

"Crashes"...bad. I will fix that!
=======================================
2) We will have to improve the help. Your suggestion
of an EditBox is certainly a way to make things a lot
better.
========================================
3) No. "Position" is used throughout. You will have to
do a mental translation to make it clear to yourself.
========================================
4) A 'mask' is generally a integer viewed as a set of
bits. Each bit corresponds to one of several options.
The 'Position Mask' has four bits....corresponding to
0, 1, 2, and 3 (or North, East, South, West). To keep
things simple we use bit 0 for position-0, bit 1 for
position-1, etc. So that you can set none of the bits,
one of the bits, etc.

Examples:

1 - bit 0 (or North)
2 - bit 1 (or East)
3 - bits 0 and 1 (North or East)
4 - bit 2 (or South)
5 - bits 0 and 2 (North or South)
...
15 bits 0, 1, 2, and 3 (North, South, East, or West)
========================================
5) Copy Teleporter.

It does not add a teleporter to a cell. IT cannot create
a teleporter where none existed. It copies the information
from one teleporter to another.

"Why limited to teleporters?"
Because that is what I needed to do what I wanted to do.
So I did it.

"Would it not be better to 'set tile type'?"
Perhaps....more room for disaster. Need a lot more checking.
The teleporter was extremely safe because it changed
none of the dungeon's structure. Changing a door into
a pit is a bit more dangerous, IMHO.

"Would it not be better to 'Copy Object Pile'?"
You can copy an object pile. The Money Changer did that.
Have you studied it? I offered the documentation for
'Money Changer' but nobody asked for it.

All of these "Would it not be better?" kinds of questions
can probably be answered in the affirmative. When I started
the DSA it had a very different form in my mind than it has
today. And I wager that its form will mutate over time.
Then the problem always becomes the backward compatability
problem. Some of what you see in the DSA is due to this
backward compatability. Some of the other ugliness is due
to changing my mind many, many times. It is growing and
developing. Things get added and then their function gets
superceeded with a more beautiful or more generic feature.
That is the what happens when you run forward, not knowing
the final goal (and there probably never will be a 'final' goal).
We have to do our best and live with some ugliness.
User avatar
Zyx
DSA Master
Posts: 2592
Joined: Mon Jun 05, 2000 1:53 pm
Location: in the mind
Contact:

Re: DSA comments, questions and suggestions

Post by Zyx »

The Money Changer did that.
Have you studied it?

I will download it. I didn't know what it was.
Post Reply

Return to “Chaos Strikes Back for Windows & Linux (CSBWin) / CSBuild”