Qhimm.com Forums

Miscellaneous Forums => Scripting and Reverse Engineering => Topic started by: Akari on 2006-12-08 10:09:54

Title: About SCRLW and FADEW opcodes.
Post by: Akari on 2006-12-08 10:09:54
Question: It stops script that calls FADE (or scroll) or It stops script that call FADEW until FADE stops? What will happened if two or more entities call FADEW during FADE?
Title: Re: About SCRLW and FADEW opcodes.
Post by: Synergy Blades on 2006-12-08 11:08:33
It stops that calling script until a preceding FADE (called in the same script) stops. I think FADEW only stops a FADE that has been called by that script, so if another entity calls FADEW then it'll just suspend that script since it wasn't the one to call the FADE in the first place and will just be waiting continually for a FADE it didn't call. If you want I can do some tests on these situations some time today.
Title: Re: About SCRLW and FADEW opcodes.
Post by: Akari on 2006-12-08 11:48:45
It stops that calling script until a preceding FADE (called in the same script) stops. I think FADEW only stops a FADE that has been called by that script, so if another entity calls FADEW then it'll just suspend that script since it wasn't the one to call the FADE in the first place and will just be waiting continually for a FADE it didn't call. If you want I can do some tests on these situations some time today.

Please check this. This question is bothering me =)
And check what happenes when one entity calls FADE and other calls FADEW (first entity doesnt call FADEW).
Title: Re: About SCRLW and FADEW opcodes.
Post by: Synergy Blades on 2006-12-08 12:18:49
For the more obvious ones, a FADEW will be ignored if no FADE has been called before (rather than suspended indefinitely). A FADEW will also be ignored if a previous FADE has fully completed before the FADEW is issued.

On the more interesting tests, FADEW is not restricted to FADEs from just the current script. If you call a FADE in one entity, and then whilst the FADE is being completed a FADEW is encountered in another entity, that entity's script will wait for the fade to be completed. What I did was in Wutai, with the kid running around the save point, was replace all his WAITs in his walk cycle with FADEW. He ran around without stopping until I talked to the woman whose entity I made issue a FADE when pressed, and then after the kid completed his MOVEs to where he would normally WAIT, he paused until the FADE had completed (then carried on running as usual, without stopping still, because prior FADEs had completed).
Title: Re: About SCRLW and FADEW opcodes.
Post by: Akari on 2006-12-08 13:05:22
For the more obvious ones, a FADEW will be ignored if no FADE has been called before (rather than suspended indefinitely). A FADEW will also be ignored if a previous FADE has fully completed before the FADEW is issued.

On the more interesting tests, FADEW is not restricted to FADEs from just the current script. If you call a FADE in one entity, and then whilst the FADE is being completed a FADEW is encountered in another entity, that entity's script will wait for the fade to be completed. What I did was in Wutai, with the kid running around the save point, was replace all his WAITs in his walk cycle with FADEW. He ran around without stopping until I talked to the woman whose entity I made issue a FADE when pressed, and then after the kid completed his MOVEs to where he would normally WAIT, he paused until the FADE had completed (then carried on running as usual, without stopping still, because prior FADEs had completed).

hmm... what about few entitys calls FADEW. Will all of them wait?
Title: Re: About SCRLW and FADEW opcodes.
Post by: Synergy Blades on 2006-12-08 13:59:54
Yes, many entities may wait on a currently executing FADE; when it's complete, they will all continue execution at the same time.
Title: Re: About SCRLW and FADEW opcodes.
Post by: Akari on 2006-12-08 17:19:33
Yes, many entities may wait on a currently executing FADE; when it's complete, they will all continue execution at the same time.

Good! I done it exactly this way =)