CSBuild Font problem
Moderator: Zyx
Forum rules
Please read the Forum rules and policies before posting.
Please read the Forum rules and policies before posting.
- Paul Stevens
- CSBwin Guru
- Posts: 4322
- Joined: Sun Apr 08, 2001 6:00 pm
- Location: Madison, Wisconsin, USA
CSBuild Font problem
3) When I load a dungeon created with dmute and DMBuild, it detects several dozens of duplicated object, with a window for each error, one after the other.
This has 2 consequences: it is tedious to load the dungeon and I can't memorize all the errors.
Is it possible to create a log and only one window, stating "there were errors loading this dungeon, check the log for details"?
This has 2 consequences: it is tedious to load the dungeon and I can't memorize all the errors.
Is it possible to create a log and only one window, stating "there were errors loading this dungeon, check the log for details"?
- Paul Stevens
- CSBwin Guru
- Posts: 4322
- Joined: Sun Apr 08, 2001 6:00 pm
- Location: Madison, Wisconsin, USA
Re: CSBuild Font problem
Oooops. Wrong subject line. Oh, well.
But as for duplicated objects.......
It is actually possible to make good use of these duplicated
objects. But I don't think I will allow them. They are simply
too dangerous. What can be done? They MUST be
discarded until only one reference remains. That is why the
errors occur during loading and not during the voluntary
checks. Right now I think the duplicates are discarded
in no particular or useful order.
I cannot think of any reasonable way to keep them around
until after the loading is complete.
Following are some dumps of my thoughts on the subject.
====================================
We might solve the problem by:
---Allow you to say that you want to leave the duplicates
in the game. This will prevent you from saving the game.
And will remind you of all this if you attempt to make changes
to the game.
---Meanwhile, you can load a second copy of CSBuild and
load the game with it. As it loads, it will tell you about
the duplicated objects and ask you which ones should
remain. You can use the first copy of CSBuild to look around
and decide what you want to do with each duplicated
object. When the game finishes loading, it will have no
duplicates and you can save it.
This would be a very difficult undertaking for me.
=======================================
Simpler for me:
While the game is loading.....a duplicate is found. CSBuild
makes a copy of the object and inserts it into the game
in place of the original.
At the completion of loading it informs you of what it has
done. You can ask for a log file to be written. Then you
can use the log file to make repairs where the default
action was not useful. But things like Apples should work
great!
This seems better for you AND for me. Any ideas?
=========================================
I am still working on Amber's problems so nothing can
be done for several days at best.
But as for duplicated objects.......
It is actually possible to make good use of these duplicated
objects. But I don't think I will allow them. They are simply
too dangerous. What can be done? They MUST be
discarded until only one reference remains. That is why the
errors occur during loading and not during the voluntary
checks. Right now I think the duplicates are discarded
in no particular or useful order.
I cannot think of any reasonable way to keep them around
until after the loading is complete.
Following are some dumps of my thoughts on the subject.
====================================
We might solve the problem by:
---Allow you to say that you want to leave the duplicates
in the game. This will prevent you from saving the game.
And will remind you of all this if you attempt to make changes
to the game.
---Meanwhile, you can load a second copy of CSBuild and
load the game with it. As it loads, it will tell you about
the duplicated objects and ask you which ones should
remain. You can use the first copy of CSBuild to look around
and decide what you want to do with each duplicated
object. When the game finishes loading, it will have no
duplicates and you can save it.
This would be a very difficult undertaking for me.
=======================================
Simpler for me:
While the game is loading.....a duplicate is found. CSBuild
makes a copy of the object and inserts it into the game
in place of the original.
At the completion of loading it informs you of what it has
done. You can ask for a log file to be written. Then you
can use the log file to make repairs where the default
action was not useful. But things like Apples should work
great!
This seems better for you AND for me. Any ideas?
=========================================
I am still working on Amber's problems so nothing can
be done for several days at best.
- Paul Stevens
- CSBwin Guru
- Posts: 4322
- Joined: Sun Apr 08, 2001 6:00 pm
- Location: Madison, Wisconsin, USA
Re: CSBuild Font problem
1) I have a little problem with the fonts: it seems the
interline (the space between 2 lines) is too small,
so each line is riding on the previous. It is sometimes
hard to read.
==============================
Where does this happen???? Everywhere??? Particular
dialog? Did you change the default system Font
intentionally? I bet this can be fixed but I need your
help.
PAul
interline (the space between 2 lines) is too small,
so each line is riding on the previous. It is sometimes
hard to read.
==============================
Where does this happen???? Everywhere??? Particular
dialog? Did you change the default system Font
intentionally? I bet this can be fixed but I need your
help.
PAul
Re: CSBuild Font problem
1) I have a little problem with the fonts...
I had similar problems on my amiga when I choose a system font that wasn't the default one, and when programs had absolute sized textboxes, therefore adapted only to the default font's size.
I do not know if that can help you...
I had similar problems on my amiga when I choose a system font that wasn't the default one, and when programs had absolute sized textboxes, therefore adapted only to the default font's size.
I do not know if that can help you...
Re: CSBuild Font problem
The lines hiding each other appear at the right part of the screen, showing the information corresponding to the object my mouse is pointing at.
Example:
My mouse is on a champion portrait:
3 lines of information appear:
Portrait(champion mirror)
Weapon
Weapon
First and second line are partially hidden.
I think the default font of my system is time new roman.
Example:
My mouse is on a champion portrait:
3 lines of information appear:
Portrait(champion mirror)
Weapon
Weapon
First and second line are partially hidden.
I think the default font of my system is time new roman.
- Paul Stevens
- CSBwin Guru
- Posts: 4322
- Joined: Sun Apr 08, 2001 6:00 pm
- Location: Madison, Wisconsin, USA
Re: CSBuild Font problem
About the duplicated objects, your compromise would suit me for 99% of the cases, except for needed cloning devices.
Most of the cloning is meant to save objects and avoid the previous limits. So an automatic copy would work perfectly well.
First objection:
But I find myself with a huge dungeon with lots of cloned tiles and objects, it would take me dozens of hours to correct all the problems, with no possibility to save before completion?
Second objection:
The cloning devices:
PC DM and ST CSB worked perfectly well with cloned tiles (as long as you respect certain rules, like isolating the cloned tiles under certain circumstances ). Since you did a port from ST CSB, I wonder why you're against allowing the cloning. (I would understand a warning). Did you already modify the code so cloning would have fatal issues?
In conclusion, and of course I will respect your final word, I would like an "expert" option that would allow me to save duplicated objects.
Now if this crashes CSBwin, I would personnaly consider it my fault, as a designer; it is my understanding that you wouldn't like CSBwin to crash anyhow, anyway. But maybe there is some kind of limited, controlled cloning that would be allowed?
Please note that I'm asking out of curiosity, I'm more interested about the why and because than the yes or no. If I understand the way CSBwin and CSBuild work and the way you think I might stop asking the wrong questions!
Most of the cloning is meant to save objects and avoid the previous limits. So an automatic copy would work perfectly well.
First objection:
But I find myself with a huge dungeon with lots of cloned tiles and objects, it would take me dozens of hours to correct all the problems, with no possibility to save before completion?
Second objection:
The cloning devices:
PC DM and ST CSB worked perfectly well with cloned tiles (as long as you respect certain rules, like isolating the cloned tiles under certain circumstances ). Since you did a port from ST CSB, I wonder why you're against allowing the cloning. (I would understand a warning). Did you already modify the code so cloning would have fatal issues?
In conclusion, and of course I will respect your final word, I would like an "expert" option that would allow me to save duplicated objects.
Now if this crashes CSBwin, I would personnaly consider it my fault, as a designer; it is my understanding that you wouldn't like CSBwin to crash anyhow, anyway. But maybe there is some kind of limited, controlled cloning that would be allowed?
Please note that I'm asking out of curiosity, I'm more interested about the why and because than the yes or no. If I understand the way CSBwin and CSBuild work and the way you think I might stop asking the wrong questions!
- Paul Stevens
- CSBwin Guru
- Posts: 4322
- Joined: Sun Apr 08, 2001 6:00 pm
- Location: Madison, Wisconsin, USA
Re: CSBuild Font problem
Here is the problem as I see it...
Those 'cloned' objects can have extremely subtle effects.
If, as you say, you obey certain rules. then all is well. But
if you break them (and it is easy, in general) then the effects
might not be seen for hours. And debugging a problem that
was caused by a mistake an hour ago is simply something
I have faced too often and don't want to face again.
Debugging is HARD!
==================================
First objection: Nooooo! My second proposal
would make copies of all such objects and tell you in
a log file what I had done. Then, over the next few
weeks you could fix them, one per day if you like.
Do you understand? I can try to explain better.
==================================
Second Objection: I have not modified the code to
do anything different with cloned objects. They will
work in CSBwin as you expect.
==================================
I can allow 'cloned' objects if that is what you want.
Of course the design will not pass the tests and you
are not allowed to complain when CSBuild or CSBwin
crash for any reason whatsoever.
====================================
Now, having said all this, let us see if we can solve
some of your problems in a 'legal' way. Why don't you
start by telling me the most important three reasons
that you need 'clones'. Perhaps I can invent
something a bit more foolproof to do the same things.
You cloned objects to do something the game would not
otherwise allow.....maybe we can fix your problems at the
other end.
Those 'cloned' objects can have extremely subtle effects.
If, as you say, you obey certain rules. then all is well. But
if you break them (and it is easy, in general) then the effects
might not be seen for hours. And debugging a problem that
was caused by a mistake an hour ago is simply something
I have faced too often and don't want to face again.
Debugging is HARD!
==================================
First objection: Nooooo! My second proposal
would make copies of all such objects and tell you in
a log file what I had done. Then, over the next few
weeks you could fix them, one per day if you like.
Do you understand? I can try to explain better.
==================================
Second Objection: I have not modified the code to
do anything different with cloned objects. They will
work in CSBwin as you expect.
==================================
I can allow 'cloned' objects if that is what you want.
Of course the design will not pass the tests and you
are not allowed to complain when CSBuild or CSBwin
crash for any reason whatsoever.
====================================
Now, having said all this, let us see if we can solve
some of your problems in a 'legal' way. Why don't you
start by telling me the most important three reasons
that you need 'clones'. Perhaps I can invent
something a bit more foolproof to do the same things.
You cloned objects to do something the game would not
otherwise allow.....maybe we can fix your problems at the
other end.
Re: CSBuild Font problem
3 reasons to clone? let's see, I've found 5...
1) Play with the content of chests/monsters:
Example: a giggler runs above objects. It seems to be picking them up. You have to open walls and close pits for him so that it will "bring" you all the stuff it found.
Cloning device: each tile has a hidden teleporter, activated by a pressure pad sensible to the passage of the giggler. This teleporter sends all the objects into the same cell. The giggler and this cell refer both to the same objects. That's why the giggler ends up possessing the objects.
Another example: the magic chest.
An isolated cell with a pressure pads activated by the absence of object (=constant weight effect). There is an object, let's say an apple, on the pressure pad.
The magic chest is linked to that apple.
Each time the player removes the apple from the chest (or, in fact, each time the player removes all the objects from the chest), the pressure pads is activated and activates an "apple generation device". The magic chest never goes empty!
2) Allow global actuators or alcoves. As they are cloned, they are in the same state.
Example: an alcove called "the elevator" that would contain the same objects you left inside at any level. All these alcoves are vertically superposed so it really looks like an elevator.
3) Allow several "basic tile type" effects like double teleporters, doors+teleporters, alcoves+teleporter.
4) Special effects, like an monster linking to a tile receiving poison explosion, so that when the monster dies, it leaves a great cloud of
poison.
5) Save objects and decorate quickly.
(I have an example at the crypt level on the Conflux dungeon where all the walls have gor faces. (I agree that this reason is partially obsolete with CSBuild, as the object limits are greater. It is completely obsolete if the copy and paste functions in CSBuild are working - I couldn't find them).
BTW, actually the CSBuild deletes all the duplicated items, right?
1) Play with the content of chests/monsters:
Example: a giggler runs above objects. It seems to be picking them up. You have to open walls and close pits for him so that it will "bring" you all the stuff it found.
Cloning device: each tile has a hidden teleporter, activated by a pressure pad sensible to the passage of the giggler. This teleporter sends all the objects into the same cell. The giggler and this cell refer both to the same objects. That's why the giggler ends up possessing the objects.
Another example: the magic chest.
An isolated cell with a pressure pads activated by the absence of object (=constant weight effect). There is an object, let's say an apple, on the pressure pad.
The magic chest is linked to that apple.
Each time the player removes the apple from the chest (or, in fact, each time the player removes all the objects from the chest), the pressure pads is activated and activates an "apple generation device". The magic chest never goes empty!
2) Allow global actuators or alcoves. As they are cloned, they are in the same state.
Example: an alcove called "the elevator" that would contain the same objects you left inside at any level. All these alcoves are vertically superposed so it really looks like an elevator.
3) Allow several "basic tile type" effects like double teleporters, doors+teleporters, alcoves+teleporter.
4) Special effects, like an monster linking to a tile receiving poison explosion, so that when the monster dies, it leaves a great cloud of
poison.
5) Save objects and decorate quickly.
(I have an example at the crypt level on the Conflux dungeon where all the walls have gor faces. (I agree that this reason is partially obsolete with CSBuild, as the object limits are greater. It is completely obsolete if the copy and paste functions in CSBuild are working - I couldn't find them).
BTW, actually the CSBuild deletes all the duplicated items, right?
Re: CSBuild Font problem
Quote:
==================================
First objection: Nooooo! My second proposal
would make copies of all such objects and tell you in
a log file what I had done. Then, over the next few
weeks you could fix them, one per day if you like.
Do you understand? I can try to explain better.
==================================
You mean that I should keep working on the old, original dungeon with another editor, basing my changes on the log file information in order to achieved a compatable dungeon?
Or do you mean checking the copied items in the new, CSBuild dungeon?
In this last case it means that I accept the way CSBuild has automaticly corrected the errors and that I want to work from the corrected dungeon. For this, I would need to know exactly and exhaustively what were the changes.
Example: if an object was deleted, i need to know what were its properties. (coordinates, references, values)
I would need to know how was solved (o not solved):
"Database seems damaged"
"Illegal object" (why which and where?)
"Duplicated object"
As for the checks (but I think it already has been mentionned), some are too laconic:
"orphaned object database 1"
"teleport party into a wall"
"text 1959 Valid indirect pointer is nowhere referenced"
Oh, by the way, I checked the target of actuators, and it reports "end game" and "object holders" with no targets. Unless I'm wrong, they can't have targets. Someone can confirm this?
Some mispells:
Vise Versa --> Vice versa
There is no descriptive text in the status bar for the "target lines" option
Last but not least, a suggestion: it seems there is no use by now for the arrows keys: could it be possible to cycle through the basic tile type with left and right arrow?
==================================
First objection: Nooooo! My second proposal
would make copies of all such objects and tell you in
a log file what I had done. Then, over the next few
weeks you could fix them, one per day if you like.
Do you understand? I can try to explain better.
==================================
You mean that I should keep working on the old, original dungeon with another editor, basing my changes on the log file information in order to achieved a compatable dungeon?
Or do you mean checking the copied items in the new, CSBuild dungeon?
In this last case it means that I accept the way CSBuild has automaticly corrected the errors and that I want to work from the corrected dungeon. For this, I would need to know exactly and exhaustively what were the changes.
Example: if an object was deleted, i need to know what were its properties. (coordinates, references, values)
I would need to know how was solved (o not solved):
"Database seems damaged"
"Illegal object" (why which and where?)
"Duplicated object"
As for the checks (but I think it already has been mentionned), some are too laconic:
"orphaned object database 1"
"teleport party into a wall"
"text 1959 Valid indirect pointer is nowhere referenced"
Oh, by the way, I checked the target of actuators, and it reports "end game" and "object holders" with no targets. Unless I'm wrong, they can't have targets. Someone can confirm this?
Some mispells:
Vise Versa --> Vice versa
There is no descriptive text in the status bar for the "target lines" option
Last but not least, a suggestion: it seems there is no use by now for the arrows keys: could it be possible to cycle through the basic tile type with left and right arrow?
- Paul Stevens
- CSBwin Guru
- Posts: 4322
- Joined: Sun Apr 08, 2001 6:00 pm
- Location: Madison, Wisconsin, USA
Re: CSBuild Font problem
You mean that I should keep working on the old, original
dungeon with another editor, basing my changes on the
log file information in order to achieved a compatable
dungeon?
That was not my plan....but it would work.
=========================================
For this, I would need to know exactly and exhaustively
what were the changes.
Example: if an object was deleted, i need to know what
were its properties.
The log would tell you which objects were created as
duplicates, where they are, and which object was copied.
You could go look at them one at a time to see if they are
what you want.
By the way. These 'clones' could very well have a long
list of objects behind them, all of which would have to
be copied. For example:
On level 0 there is Apple-A, Dagger-A, and Potion-A. If
you clone Dagger-A on level 1 then Potion-A
will also appear on level 1. I propose that the whole list
be duplicated so that on:
Level 0 - Apple-A, Dagger-A, Potion-A
Level 1 - Dagger-B, Potion-B
The log would say something like:
00(12,14)2 Weapon Dagger 001c cloned at 01(03,17)1 now 05cd.
00(12,14)2 Potion Ku 0082 cloned at 01(03,17)1 now 05ce.
So that you could find the original and the copies of the clones
and identify them precisely in the new dungeon.
==========================================
Now...all of this seems like a very lot of work for me. Especially
it seems like a lot of work to fix someone else's problem.
Perhaps I should proceed as in the past (I delete the
clones). Except that I ask you when the first one is
encountered:
"Do you want to keep clones? They are dangerous!"
If you say 'yes' they will stay. I can provide a 'Check' option
to find them and produce a report and logfile. But then how
do we get rid of them????? You cannot delete them
because then the other half of the clone would be pointing
at nothing.
I suppose I could add code for every 'Delete' operation that
checks to see if the object is cloned, warn you about it, and
then leave the object in the database while deleting only the
reference.
This last option is probably the easiest for me. It seems
a little dangerous but I cannot think of any good reason for
the feeling. (Commonly the reasons show their ugly heads
after the coding is done!)
Before delete:
level 0 - A -> B -> C -> D
level 1 - B -> C -> D
B, C, and D are cloned.
After you delete C on level 0:
level 0 - A -> B -> D
level 1 - B -> C -> D
Now only B and D are cloned.
So you could fix things up slowly in the new dungeon
while saving and loading it over an extended period of time.
It does frighten me, however. And clones of the objects
in players' backpacks, clones of objects flying about as
missiles, clones of the object currently held in the player's
hand (the mouse cursor)......all these things make me queasy.
dungeon with another editor, basing my changes on the
log file information in order to achieved a compatable
dungeon?
That was not my plan....but it would work.
=========================================
For this, I would need to know exactly and exhaustively
what were the changes.
Example: if an object was deleted, i need to know what
were its properties.
The log would tell you which objects were created as
duplicates, where they are, and which object was copied.
You could go look at them one at a time to see if they are
what you want.
By the way. These 'clones' could very well have a long
list of objects behind them, all of which would have to
be copied. For example:
On level 0 there is Apple-A, Dagger-A, and Potion-A. If
you clone Dagger-A on level 1 then Potion-A
will also appear on level 1. I propose that the whole list
be duplicated so that on:
Level 0 - Apple-A, Dagger-A, Potion-A
Level 1 - Dagger-B, Potion-B
The log would say something like:
00(12,14)2 Weapon Dagger 001c cloned at 01(03,17)1 now 05cd.
00(12,14)2 Potion Ku 0082 cloned at 01(03,17)1 now 05ce.
So that you could find the original and the copies of the clones
and identify them precisely in the new dungeon.
==========================================
Now...all of this seems like a very lot of work for me. Especially
it seems like a lot of work to fix someone else's problem.
Perhaps I should proceed as in the past (I delete the
clones). Except that I ask you when the first one is
encountered:
"Do you want to keep clones? They are dangerous!"
If you say 'yes' they will stay. I can provide a 'Check' option
to find them and produce a report and logfile. But then how
do we get rid of them????? You cannot delete them
because then the other half of the clone would be pointing
at nothing.
I suppose I could add code for every 'Delete' operation that
checks to see if the object is cloned, warn you about it, and
then leave the object in the database while deleting only the
reference.
This last option is probably the easiest for me. It seems
a little dangerous but I cannot think of any good reason for
the feeling. (Commonly the reasons show their ugly heads
after the coding is done!)
Before delete:
level 0 - A -> B -> C -> D
level 1 - B -> C -> D
B, C, and D are cloned.
After you delete C on level 0:
level 0 - A -> B -> D
level 1 - B -> C -> D
Now only B and D are cloned.
So you could fix things up slowly in the new dungeon
while saving and loading it over an extended period of time.
It does frighten me, however. And clones of the objects
in players' backpacks, clones of objects flying about as
missiles, clones of the object currently held in the player's
hand (the mouse cursor)......all these things make me queasy.
Re: CSBuild Font problem
Quote:
----------------------------------------------------------------------------
"Do you want to keep clones? They are dangerous!"
If you say 'yes' they will stay. I can provide a 'Check' option
to find them and produce a report and logfile. But then how
do we get rid of them????? You cannot delete them
because then the other half of the clone would be pointing
at nothing.
I suppose I could add code for every 'Delete' operation that
checks to see if the object is cloned, warn you about it, and
then leave the object in the database while deleting only the
reference.
This last option is probably the easiest for me.
--------------------------------------
This solution would satisfy me, if there is a "copy and paste" function. I would make a copy of the uselessly cloned items and delete them. I would only leave the needed clones.
But I can't find the copy and paste in CSBuild, though I thought you said there was one. Maybe I'm wrong?
(When I say "copy", i don't mean "clone", but "create another stack of items with the same characteristics".)
----------------------------------------------------------------------------
"Do you want to keep clones? They are dangerous!"
If you say 'yes' they will stay. I can provide a 'Check' option
to find them and produce a report and logfile. But then how
do we get rid of them????? You cannot delete them
because then the other half of the clone would be pointing
at nothing.
I suppose I could add code for every 'Delete' operation that
checks to see if the object is cloned, warn you about it, and
then leave the object in the database while deleting only the
reference.
This last option is probably the easiest for me.
--------------------------------------
This solution would satisfy me, if there is a "copy and paste" function. I would make a copy of the uselessly cloned items and delete them. I would only leave the needed clones.
But I can't find the copy and paste in CSBuild, though I thought you said there was one. Maybe I'm wrong?
(When I say "copy", i don't mean "clone", but "create another stack of items with the same characteristics".)
- Paul Stevens
- CSBwin Guru
- Posts: 4322
- Joined: Sun Apr 08, 2001 6:00 pm
- Location: Madison, Wisconsin, USA
Re: CSBuild Font problem
I still plan a 'copy' and 'paste' that will copy and paste
a cell and its contents.
I see your problem. I suppose a copy of a list of items
might be useful and not too difficult. If you select the
third item in a list, for example, and 'copy' then the
third item and all following items would be copied.
a cell and its contents.
I see your problem. I suppose a copy of a list of items
might be useful and not too difficult. If you select the
third item in a list, for example, and 'copy' then the
third item and all following items would be copied.