Difference between revisions of "CSBwin/Bugs and Requests"

From DmWiki
Jump to navigationJump to search
(Mechanism to sleep/awaken monster AIs - Priority = 1)
Line 139: Line 139:
 
== Mechanism to sleep/awaken monster AIs - Priority = 1 ==
 
== Mechanism to sleep/awaken monster AIs - Priority = 1 ==
 
This is ''what-if'' thinking (therefore the priority): A dungeon with a ton a monsters will burn CPU time updating monsters that (frequently) will have no effect on the player's experience. In these instances it could be useful to allow the designer to activate/deactivate those monster's processing. I'm mainly thinking in conjunction with the ''Party Move Filter''
 
This is ''what-if'' thinking (therefore the priority): A dungeon with a ton a monsters will burn CPU time updating monsters that (frequently) will have no effect on the player's experience. In these instances it could be useful to allow the designer to activate/deactivate those monster's processing. I'm mainly thinking in conjunction with the ''Party Move Filter''
 +
 +
COMMENT by PRS:  Except on very slow machines I have never seen CPU time be any problem in CSBwin.  If you have a counter-example, perhaps I should look at it to see what is going on.  We could certainly consider some mechanism to use less time processing non-essential monster AI.  I think the code already causes monsters on distant from the party to move less often.  It might be easy to extend that capability.  I think it would be best to slow them down rather than to deactivate or stop them completely.  What mechanism(s) did you have in mind?
 +
 +
By the way - Did you mean Priority 1 = Top priority?  Zyx was the first to assign priorities here and he used number one to mean the most important.
 +
  
 
[[Category:CSBwin| ]]
 
[[Category:CSBwin| ]]

Revision as of 15:30, 5 November 2008

Floor decoration glitch - Priority = 1 (maybe already fixed, to be checked)

just to test the extreme case, I made a 244 x 136 floor (see attachment) views 0 and 2 are glitched because they should be cut off. views 6,7 and 8 are glitched due to the width of 224.


Floor decoration in stairwell - Priority = 3

could the floor decorations be visible on staircases?

This should probably be implemented in your extended graphics code. You can draw whatever you please whereever you please. I am willing to help after some discussion of what exactly you need.

DSA start state limitation - Priority = 3

the starting state of a DSA can only be between 0 and 15. is it on purpose?


3D floor decorations - Priority = 2

I'd like to make floor decorations with height, which means that items on the far side of the tile should be drawn before drawing the tile decoration, as for doors. Could you have a try about this bit in the floor descriptors to behave like doors?


22Oct08 - PRS - Don't you have your own code in CSBGraphics.dat which is responsible for drawing the viewport? You can draw the floor decorations and objects in any order you please. If you want me to try and help with this, send a sample dungeon and your source code for the graphics. Perhaps these decorations could be recognized by being in a certain number range (like 400-499).



DSA function to slow party - Already coded, should be tested

2) would it be possible, through a DSA instruction, to slow down the party for their next step, as when heavily loaded? - The slow down counter would decrease for each step taken. (if a counter is not technically possible, the effect would simply be gone as soon as the party makes a step.) - Turning would be slowed too but it wouldn't decrease the counter.

Adding/Referencing flag in Missile - Priority = 6

3) about missiles, I saw the thread on the forum... great ideas! out of joke, I'd like to be able use one of the unsed byte as a flag. I would set it during the &CAST, &FILTEREDCAST, &THROW, so I cand find it later in the MissileEncounterFilter. (maybe with a &FLAG operator, so you don't have to change the current syntax of the current commands?) If you allow me to change the direction besides cancelling the impact, I would have a lot of fun.

Slow Missile - Priority = 6

4) Another interesting idea: the slow missile. is it possible to use a byte as a flag telling if it is a normal or slow missile?

Delayed Sound - (Refused - Paul recommends sending a &MESSAGE to a sound DSA)

6) &SOUND ( SoundNumber attenuation(divisor) flags ... ) could the flags be used as delay before hearing the sound?


Monster Poison/Magic resistance - Priority = 5

from the documentation published by Christophe, for monsters descriptors: 12h (18) 1 word (big endian):

   * Bits 15-12: Unused, always 0.
   * Bits 11-8: Poison resistance (Clouds and Bolts). Value 15 means the creature is immune.
   * Bits 7-4: Fire resistance (Magic resistance). Value 15 means the creature is immune. Does it apply only to fire or all magic?

The resistances, thus, are wether a complete vulnerability or a complete immunity.

Would it be possible, to compute partial resistances when the value is between 1 and 14 (included)? For backward compatibility, put a general check in CSBuild for the dungeon: "allow partial resistances for monsters".

Playback bug when clicking on Prison Door - Priority = ?

I think the bug that was fixed involved left clicking in the game loaded screen, this one involves right clicking. Anyway, I was able to recreate the bug with the latest version, 10.089, from constructtorch. How about the game I tried to splice the logs of? I don't won't to keep playing until I can make it work. Something weird happens when I try to cast a YA spell. For some reason in the playback I have less mana at the point I try to cast it than I did in the actual game.


DSA function to get Skin Number - Priority = 4 - FIXED

2) it would be interesting to be able, through a DSA, to know the skin number associated to a location. this would allow me to link rules directly to skins (no fireball when on a tile with an aquatic skin, for example)

OK. I will provide a &SKIN ( location . . . skinNumber ) PRS 19Oct08

DONE 20Oct2008 PRS


Alternate Froor Decoration Glitched - FIXED

this alternate floor decoration is glitched, I don't know why. It's the concatenation of group0.txt (54bytes+2) and F.bin (800bytes) I checked the floordec000.bin that came in the construct torch, and it doesn't have the two bytes of zero after the 54bytes of the descryptor, yet the documentation states that they should be there since 54 is not a multiple of 4. Just for the sake of it, I tried using only 54 bytes instead of 56 with my alternate decoration, and the view 8 is correct, the other glitched. With 56 bytes everything is glitched.

DSA function &DISTACEFROMPARTY - DONE and FIXED

3) I'm thinking about making a few selected animated floor and wall decorations. this time I'm not forgetting about the possible choking of the CPU. The most frequent operation that will occur will be to check if the party is on the level and near the DSA. would it be possible to create a command like this: &DISTANCEFROMPARTY (location . . . Distance) Distance would be -1 if the party is not on the same level than location otherwise, distance is the number of tiles between location and the party (x + y), 0 meaning the party is on the location.

&PARTYDISTANCE with CSBuild 3.01 gives an error of DSA code when I close/open the DSA containing this instruction.

Request Overlay transparent color - Completed and FIXED

About &overlay: I was wondering if it would be possible to define a transparent color for the viewport overlays since p1,p3 and p4 are not used.

I have implemented this in CSBwin10.093. See documentation at:http://www.dianneandpaul.net/CSBwin/documentation/ViewportOverlay.html

Paul 15 October 2008

Item Pick area too low - RESOLVED

2) for certain items, in CSBwin, when you click on them on the floor to pick them up, the responsive area the the click is like 2 pixels too low. ie, if you click under the item, you pick it up, and if you click on its upper border, nothing happens. try the magic box (blue) named MAGIC PURSE in this graphics.dat.


Mirroring decorations - COMPLETED

1) I wanted to set a mirroring effect for north and east, which should give the flags: 00 06 but nothing happens. It only works if I also set mirroring for the 9 views: FF 07. Yes, this is as you said, but then how could I set a north and west mirrorring AND a mirroring for views 0,4,7 for example? I think that it should be a XOR operation, not an AND: mirror if facing bit XOR tile bit is set, otherwise don't.


I think you want to mirror a cell if (Cell bitset) XOR (facing bit set).

That makes some sense. I will do it.

PRS 20Oct2008

Implemented in CSBwin 10.096 22Oct08 PRS

Graphic of dropped items missing - FIXED

if at runtime I drop (through a &ADD or a monster dying) an actuator or a decoration DSA on the floor, the graphic won't appear if there are items on the floor. I have to remove the items to make the graphic appear. Fixed in CSBwin version 10.097 PRS 24Oct2008

Using DSA as data - COMPLETED

4) I have a great idea about a flood, but I'd need the following commands: &DSATYPE (ObjectID . . . DSAType) yields -1 when it's not a DSA, 0 to 255 when a DSA &DSASTATE (ObjectID . . . DSAType) yields -1 when it's not a DSA, 0 to err, 200000? when a DSA &DSA_A (ObjectID . . . DSA_A) yields -1 when it's not a DSA, parameter A when a DSA &DSA_B (ObjectID . . . DSA_B) yields -1 when it's not a DSA, parameter B when a DSA

It appears that you want to solve partial differential equations using difference methods. CSBwin was not really designed with this in mind! This has been implemented as &DSAINFO@. PRS 25Oct2008

Mechanism to sleep/awaken monster AIs - Priority = 1

This is what-if thinking (therefore the priority): A dungeon with a ton a monsters will burn CPU time updating monsters that (frequently) will have no effect on the player's experience. In these instances it could be useful to allow the designer to activate/deactivate those monster's processing. I'm mainly thinking in conjunction with the Party Move Filter

COMMENT by PRS: Except on very slow machines I have never seen CPU time be any problem in CSBwin. If you have a counter-example, perhaps I should look at it to see what is going on. We could certainly consider some mechanism to use less time processing non-essential monster AI. I think the code already causes monsters on distant from the party to move less often. It might be easy to extend that capability. I think it would be best to slow them down rather than to deactivate or stop them completely. What mechanism(s) did you have in mind?

By the way - Did you mean Priority 1 = Top priority? Zyx was the first to assign priorities here and he used number one to mean the most important.