 |
charneus Wizard

Joined: 19 Jun 2005 Posts: 1876 Location: California
|
Posted: Fri Jun 04, 2010 10:16 pm
[3.18d]BUG: Gauge flickering |
Using the following codes in an untitled session (this was first noted in my live session), the gauge flickers with each change. This was tested by doing:
Code: |
#LOOP 500 {#SAY {{stats}64/35,61/35,65/35,65/35,58/35,65/35,100,100,100,175,165,You are Standing.,9999,771/771,589/589,1066/1066,193297,5202,23,2500,3720,9,5}} |
I also think there's a bug with copying the button, too. You may need to delete the values and put them back in again, though I'm not 100% sure. This gauge flickering, while not entirely detrimental to play, is annoying at the very least, especially when it's updated every two seconds.
Code: |
<?xml version="1.0" encoding="ISO-8859-1" ?>
<cmud>
<button name="Move" type="Gauge" autosize="false" width="60" height="15" autopos="false" left="120" top="0" toolbar="2" toolstyle="true" color="green" textcolor="silver" gaugelowcol="red" priority="24080" copy="yes">
<caption>%item(@statline,15)%</caption>
<expr>%item(@statline,15)</expr>
<gaugemax>100</gaugemax>
<gaugelow>25</gaugelow>
</button>
</cmud>
|
Code: |
<?xml version="1.0" encoding="ISO-8859-1" ?>
<cmud>
<trigger priority="15710" copy="yes">
<pattern>^~{stats~}(*)</pattern>
<value>#gagspace
#VAR statline %subchar( %1, "/,", "||")</value>
<notes>{stats}64/35,61/35,65/35,65/35,58/35,65/35,100,100,100,175,165,You are Standing.,9999,771/771,589/589,1066/1066,193297,5202,23,2500,3720,9,5</notes>
</trigger>
</cmud>
|
Charneus |
|
|
 |
GeneralStonewall Magician
Joined: 02 Feb 2004 Posts: 364 Location: USA
|
Posted: Fri Jun 04, 2010 10:29 pm |
I can confirm this in my own scripts.
|
|
|
 |
Zugg MASTER

Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Fri Jun 04, 2010 11:01 pm |
Yep, I see this. The new tables are not optimized for button/gauge updates yet. It's the same problem as in old versions that any update to the variable will cause a change to update the button, even if the button just depends upon a subkey.
However, you are correct that it shouldn't be flickering like this. Seems like it is alternating between setting the gauge to zero and 100 instead of just staying at 100. |
|
|
 |
GeneralStonewall Magician
Joined: 02 Feb 2004 Posts: 364 Location: USA
|
Posted: Wed Jun 16, 2010 1:10 am |
This is still an issue in 3.19e. I'm wondering if this could be causing lag every time the gauge is updated. Now that I'm able to fully test my system some more in a newer version, I'm definitely noticing some sort of lag problem.
|
|
|
 |
Zugg MASTER

Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Wed Jun 16, 2010 1:15 am |
The scripts posted by the original poster in this thread work fine without flickering. So if you are still having flicker issues you need to post your scripts and procedure for reproducing them.
|
|
|
 |
GeneralStonewall Magician
Joined: 02 Feb 2004 Posts: 364 Location: USA
|
Posted: Wed Jun 16, 2010 4:57 am |
Looks like it has to do with updating the variable for the max value.
Code: |
<?xml version="1.0" encoding="ISO-8859-1" ?>
<cmud>
<alias name="test" copy="yes">
<value>#99 {#SAY {Health: 4000 MaxHealth: 5000 Mana: 3000 MaxMana: 4500 Endurance: 2342 Willpower: 2312}}</value>
</alias>
<var name="Endurance" copy="yes">2342</var>
<var name="Health" copy="yes">4000</var>
<var name="Mana" copy="yes">3000</var>
<var name="MaxEndurance" copy="yes">6000</var>
<var name="MaxHealth" copy="yes">5000</var>
<var name="MaxMana" copy="yes">4500</var>
<var name="MaxWillpower" copy="yes">3503</var>
<var name="Willpower" copy="yes">2312</var>
<trigger type="Alarm" priority="70" enabled="false" copy="yes">
<pattern>*0.1</pattern>
<value>#SAY {Health: 4000 MaxHealth: 5000 Mana: 3000 MaxMana: 4500 Endurance: 2342 Willpower: 2312}</value>
</trigger>
<trigger priority="80" regex="true" copy="yes">
<pattern>^Health: (\d+) MaxHealth: (\d+) Mana: (\d+) MaxMana: (\d+) Endurance: (\d+) Willpower: (\d+)</pattern>
<value>Health = %1
MaxHealth = %2
Mana = %3
MaxMana = %4
Endurance = %5
Willpower = %6</value>
</trigger>
<button type="Gauge" autosize="false" width="200" height="23" inset="true" toolstyle="true" color="lime" gaugelowcol="red" gaugebackcol="#D4D0C8" priority="111" copy="yes">
<caption>E: @Endurance / @MaxEndurance</caption>
<expr>@Endurance</expr>
<gaugemax>@MaxEndurance</gaugemax>
<gaugelow>@MaxEndurance/4</gaugelow>
</button>
<button type="Gauge" autosize="false" width="200" height="23" inset="true" toolstyle="true" color="lime" gaugelowcol="red" gaugebackcol="#D4D0C8" priority="113" copy="yes">
<caption>H: @Health / @MaxHealth</caption>
<expr>@Health</expr>
<gaugemax>@MaxHealth</gaugemax>
<gaugelow>@MaxHealth/4</gaugelow>
</button>
<button type="Gauge" autosize="false" width="200" height="23" inset="true" toolstyle="true" color="lime" gaugelowcol="red" gaugebackcol="#D4D0C8" priority="110" copy="yes">
<caption>M: @Mana / @MaxMana</caption>
<expr>@Mana</expr>
<gaugemax>@MaxMana</gaugemax>
<gaugelow>@MaxMana/4</gaugelow>
</button>
<button type="Gauge" autosize="false" width="200" height="23" inset="true" toolstyle="true" color="lime" gaugelowcol="red" gaugebackcol="#D4D0C8" priority="112" copy="yes">
<caption>W: @Willpower / @MaxWillpower</caption>
<expr>@Willpower</expr>
<gaugemax>@MaxWillpower</gaugemax>
<gaugelow>@MaxWillpower/4</gaugelow>
</button>
</cmud>
|
|
|
|
 |
Zugg MASTER

Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Wed Jun 16, 2010 4:27 pm |
I loaded your script and typed the "test" alias, but I didn't get any flicker. Maybe it's OS dependent? My test was on Win7. Or if I'm supposed to use a different method to test it, let me know.
|
|
|
 |
GeneralStonewall Magician
Joined: 02 Feb 2004 Posts: 364 Location: USA
|
Posted: Wed Jun 16, 2010 7:25 pm |
Nope, that's the test. I also made the alarm to simulate a prompt being updated, so try that too I guess. But yeah, this is definitely happening in a fresh session with nothing but these settings. Perhaps someone else could confirm as well? I'm running Windows XP 64-bit.
|
|
|
 |
Zugg MASTER

Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Wed Jun 16, 2010 7:39 pm |
Windows XP might explain it. On Vista and Win7 there is an extra screen buffering layer that prevents some types of flicker (which is why text scrolling is slightly slower on Vista and Win7 compared to XP).
I tried turning off the desktop composition on Win7 which is supposed to remove this extra buffering layer, but I still didn't get any flicker. So I'm going to need somebody else to confirm this. If it's only an issue on XP it's going to be a pretty low priority issue. |
|
|
 |
GeneralStonewall Magician
Joined: 02 Feb 2004 Posts: 364 Location: USA
|
Posted: Thu Jun 17, 2010 3:10 am |
I think I might've found the issue using the script debugger. In my personal settings I see this in the trigger that's updating the variables that my gauges are using:
Code: |
0.0002 | k Lanira | Var "health" changed from "5145" to ""
0.0036 | k Lanira | Var "health" changed from "" to "5145"
0.0039 | k Lanira | Var "max_health" changed from "5145" to ""
0.0039 | k Lanira | Var "max_health" changed from "" to "5145"
0.0039 | k Lanira | Var "mana" changed from "5775" to ""
0.0029 | k Lanira | Var "mana" changed from "" to "5775"
0.0032 | k Lanira | Var "max_mana" changed from "5775" to ""
0.0040 | k Lanira | Var "max_mana" changed from "" to "5775"
0.0046 | k Lanira | Var "endurance" changed from "24570" to ""
0.0043 | k Lanira | Var "endurance" changed from "" to "24570"
0.0041 | k Lanira | Var "willpower" changed from "26400" to ""
0.0042 | k Lanira | Var "willpower" changed from "" to "26400" |
This is the part of the script concerning those variables:
Code: |
health = %1
max_health = %2
mana = %3
max_mana = %4
endurance = %5
willpower = %6 |
I see no reason why those variables are being set to null before being set to those values. If I remember correctly, there shouldn't be any variable change going on at all since the values are exactly the same. So, something weird is going on here.
Here's the compiled code:
Code: |
0000 PARAMREF 1
0008 VARASSIGN health <health> (class Lanira)
0032 PARAMREF 2
0040 VARASSIGN max_health <max_health> (class Lanira)
0068 PARAMREF 3
0076 VARASSIGN mana <mana> (class Lanira)
0096 PARAMREF 4
0104 VARASSIGN max_mana <max_mana> (class Lanira)
0128 PARAMREF 5
0136 VARASSIGN endurance <endurance> (class Lanira)
0164 PARAMREF 6
0172 VARASSIGN willpower <willpower> (class Lanira) |
I'll try to replicate this in a fresh session.
Edit: AHA, only seems to happen when the settings are in a separate package. I'll make a new thread for this, since it doesn't seem to be a gauge issue. |
|
|
 |
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|