delete duplicate timer entries

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
Adamo
Italodance spammer
Posts: 1534
Joined: Fri Apr 22, 2005 11:59 am
Location: Poland
Contact:

delete duplicate timer entries

Post by Adamo »

A message in CSbuild options: "one word entry: non-zero causes duplicate timer entries to be discarded (the original game did this). Zero causes all timer messages to be delivered (more intuitive IMHO)".

Beo wrote: "it's to do with multiple trigger activations goign to the same place"


does it mean that when an actuator gets two messages in the same time (one tick = about 1/6th of second) from different sources - for example a counter gets two clear messages at the same time - actuator won`t recieve one of them?

what do I have to enter to change it from state 0 to non-zero? 32bit number? When I enter low number, I get "bad numeric data", when high, CSBuild crashes.
Spoiler
(\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/)
Spoiler
(@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@)
Spoiler
(>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<)
User avatar
Paul Stevens
CSBwin Guru
Posts: 4318
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Post by Paul Stevens »

when high, CSBuild crashes.
I put a 20-digit number in there and nothing
crashed. So can you tell me exactly what
you did to make it crash?

To change it to non-zero you put '1' in the
record size (as specified in the instructions,
any larger record simply wastes space)
then you put a non-zero value in the first
word of data. Then you 'Write' the record.
I put a '1' in the data......that is non-zero
enough for me. Any other number will be entered
modulo 4294967296, I think.
User avatar
Paul Stevens
CSBwin Guru
Posts: 4318
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Post by Paul Stevens »

In the original FTL code:

If two identical timer entries target the
same cell of the dungeon at the same time then
only one is delivered. You can try this by
putting two toggles under a pressure pad
directed at a single door. The door's state will
change using the original code.

Disabling this
feature will cause BOTH toggles to be delivered
and the door will not open or close.
User avatar
Adamo
Italodance spammer
Posts: 1534
Joined: Fri Apr 22, 2005 11:59 am
Location: Poland
Contact:

Post by Adamo »

ok, it crashes only when you enter very high number in a "size-32 bit words" field without filling one of "hex data" fields and press "write record". With numbers 1 and 1 everything works fine.

I assume that the editor is originally set to deliver ALL the messages to the actuator. So I don`t need to change it then. I don`t like the way it was originally done.

But then I`ve got the problem: if you make, say, 20 pressure pads with monsters staying on them (each sending "clear" message once only when monster steps off), leading to the counter with value= 20 [if counter is zero (is disabled) send message wchich opens a door etc], it won`t work properly. I mean the counter won`t recieve 20 "clear" messages. Maybe 10. I though it happens when two (or more) monsters steps off two pressure pads at the same time (= counter gets 2 (or more) messages at the same time), but editing database doesn`t help here - a counter still doesn`t recieve all messages.
Spoiler
(\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/)
Spoiler
(@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@)
Spoiler
(>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<)
User avatar
Adamo
Italodance spammer
Posts: 1534
Joined: Fri Apr 22, 2005 11:59 am
Location: Poland
Contact:

Post by Adamo »

I sent you email with a micro dungeon showing that problem; if you run it, then save the game you`ll see that only 2/3 of messages were recieved by a counter no matter of the database settings.
Spoiler
(\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/)
Spoiler
(@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@)
Spoiler
(>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<)
User avatar
Paul Stevens
CSBwin Guru
Posts: 4318
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Post by Paul Stevens »

Well, I set it to deliver all the messages,
tried it a few times, and it worked just fine.
Fifty-four Gigglers stepped off their respective
pads in a few seconds and the door opened.
User avatar
Adamo
Italodance spammer
Posts: 1534
Joined: Fri Apr 22, 2005 11:59 am
Location: Poland
Contact:

Post by Adamo »

strange. :!: :o On my machine, when I enter that mini-dungeon, door never opens, even though it should open after a second(s). I tried about 30-40 times. When I save the game (after huge amount of time) and check a counter in csbgame.dat, the counter initial value is always about 40 (39-44). So it seems that a counter doesn`t recieve about 2/3 messages.

Here`s how it looks like: while all 54 pads are being used (=disabled), counter still shows value ~40. I can send you my csbgame.dat file with that.

Is it my computer executes abnormal functions? :shock:
Spoiler
(\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/)
Spoiler
(@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@)
Spoiler
(>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<)
User avatar
Paul Stevens
CSBwin Guru
Posts: 4318
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Post by Paul Stevens »

I received your CSBGAME2.DAT.
but editing database doesn`t help here - a counter still doesn`t recieve all messages
In the game you sent me you have not edited the database
to enable all messages to be delivered. Maybe you should
try editing it to allow all timer messages to be delivered and
then, if it still does not work for you, send me THAT savegame.
User avatar
Adamo
Italodance spammer
Posts: 1534
Joined: Fri Apr 22, 2005 11:59 am
Location: Poland
Contact:

Post by Adamo »

[deleted]
Last edited by Adamo on Sun Nov 05, 2006 1:30 pm, edited 1 time in total.
Spoiler
(\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/)
Spoiler
(@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@)
Spoiler
(>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<)
User avatar
Adamo
Italodance spammer
Posts: 1534
Joined: Fri Apr 22, 2005 11:59 am
Location: Poland
Contact:

Post by Adamo »

whoops!!! :oops: :oops: :oops: :oops: :oops:

I edited the database in a wrong way!!!!!
Now everything works just fine.

Sorry !! :oops: :oops: :oops:
Spoiler
(\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/)
Spoiler
(@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@)
Spoiler
(>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<)
Post Reply

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