|
ReedN Wizard
Joined: 04 Jan 2006 Posts: 1279 Location: Portland, Oregon
|
Posted: Sun Feb 01, 2009 1:05 am
[3.03a] Lines in window disappear then reappear as they scroll up. |
Issue:
As text scrolls up my screen, lines sometimes disappear and then re-appear later as later text is received and added to the bottom of the screen. So text appears, starts scrolling up the screen, disappears, then reappears a bit later.
As this is intermittent and dependent on several items being in sync, this took an extremely long time to first find, then make reproducible. I've at long last accomplished both of these items and packaged it up so that this can be reproduced.
Procedure:
Code: |
1) Start Cmud, hit escape to enter a blank session.
2) Open the settings editor and go to the XML tab of the main window.
3) Copy the xml code below and paste it right before the last line (</window>), so that it creates a 'temp' folder with various items in the folder. Save and close the Settings Editor.
4) For this to be successful the window size needs to be a specific width. Left click the main title bar of the 'untitled' window and drag it so that it is now floating and you can resize the dimensions.
5) Make the height of the window at least 20 lines.
6) To facilitate making it the right width I created an alias called 'prep'. Run 'prep'. It will output a bunch of dashes. Resize the width so that the window is just wide enough to display all the dashes without any of them wrapping around to the next line.
7) Now that the code has been imported and the window is the right size, run 'runme'.
You'll see raw text I had captured now being displayed with '#showprompt' and '#wait 2000' between each of the lines. I inserted the #wait 2000 to account for the fact that text disappears and then reappears so if I executed it all at once it would disappear and reappear before you noticed anything.
Watch the text as it progresses on the screen. While it is scrolling you'll notice that a few of the first lines disappear and then reappear later as the other text is appended to the bottom.
|
XML Code:
Code: |
<class name="test" id="1">
<alias name="runme" id="2">
<value>#loop 50 {#say ""}
#showprompt {%e[1~;33mModyara Aide quarters.%cr%char( 10)%e[0~;37m%char( 255)%char( 250)%char( 200)Room.Brief Modyara Aide quarters%char( 255)%char( 240)%e[1~;35mA rune shaped like a butterfly has been sketched into the ground here.%e[0~;37m%e[1~;35m A rune like an open eye has been sketched into the ground here.%e[0~;37m%e[1~;35m A Death Knight stands poised in perfect combat balance, weapon always at the ready.%e[0~;37m%cr%char( 10)%e[1~;31mYou see a single exit leading%e[0~;37m%char( 255)%char( 250)%char( 200)Room.Exits e%char( 255)%char( 240)%e[1~;31m east (open door).%cr%char( 10)%e[0~;37m%char( 255)%char( 250)%char( 200)Char.Vitals%char( 10)H:6521/8010 M:8424/8426 E:35866/35910 W:34267/34320 NL:19/100 %char( 255)%char( 240)%e[32m6521h, %e[37m%e[32m8424m, %e[37m%e[32m35866e, %e[37m%e[32m34267w %e[37mcexdb-%char( 255)%char( 239)%char( 255)%char( 250)%char( 200)Room.Brief Modyara Aide quarters%char( 255)%char( 240)%char( 255)%char( 250)%char( 200)Room.Exits e%char( 255)%char( 240)}
#wait 2000
#showprompt {%cr%char( 10)A steel-encased Death Knight rises to his full height with a glare of unmitigated evil that pulls at your insides. The accompanying slash comes fast and low.%cr%char( 10)Your shield completely absorbs the damage.%cr%char( 10)%char( 255)%char( 250)%char( 200)Char.Vitals%char( 10)H:6302/8010 M:8424/8426 E:35866/35910 W:34291/34320 NL:19/100 %char( 255)%char( 240)%e[32m6302h, %e[37m%e[32m8424m, %e[37m%e[32m35866e, %e[37m%e[32m34291w %e[37mcexdb-%char( 255)%char( 239)}
#wait 2000
#showprompt {%e[32mCredits currently available for purchase:%cr%char( 10)%e[37m 7 credits at 4999 gold per credit.%cr%char( 10)105 credits at 5000 gold per credit.%cr%char( 10)61 credits at 5050 gold per credit.%cr%char( 10)28 credits at 5100 gold per credit.%cr%char( 10)10 credits at 5150 gold per credit.%cr%char( 10)1 credits at 5200 gold per credit.%cr%char( 10)33 credits at 5300 gold per credit.%cr%char( 10)20 credits at 5400 gold per credit.%cr%char( 10)74 credits at 5500 gold per credit.%cr%char( 10)3 credits at 6500 gold per credit.%cr%char( 10)%e[31m(11 offers with higher prices have not been shown.)%e[37m%cr%char( 10)Total credits for sale: 342 shown (1088 total) (Average sale price: 4885)%cr%char( 10)Use CREDITS BUY AT to purchase.%cr%char( 10)%char( 255)%char( 250)%char( 200)Char.Vitals%char( 10)H:6302/8010 M:8424/8426 E:35866/35910 W:34291/34320 NL:19/100 %char( 255)%char( 240)%e[32m6302h, %e[37m%e[32m8424m, %e[37m%e[32m35866e, %e[37m%e[32m34291w %e[37mcexdb-%char( 255)%char( 239)}
#wait 2000
#showprompt {knight101165 a steel-encased Death Knight%cr%char( 10)Number of objects: 1%cr%char( 10)%char( 255)%char( 250)%char( 200)Char.Vitals%char( 10)H:6302/8010 M:8424/8426 E:35906/35910 W:34291/34320 NL:19/100 %char( 255)%char( 240)%e[32m6302h, %e[37m%e[32m8424m, %e[37m%e[32m35906e, %e[37m%e[32m34291w %e[37mcexdb-%char( 255)%char( 239)}
#wait 2000
#showprompt {You see the following people here:%cr%char( 10)%e[1~;36mMe%e[0~;37m%cr%char( 10)%char( 255)%char( 250)%char( 200)Char.Vitals%char( 10)H:6302/8010 M:8424/8426 E:35906/35910 W:34291/34320 NL:19/100 %char( 255)%char( 240)%e[32m6302h, %e[37m%e[32m8424m, %e[37m%e[32m35906e, %e[37m%e[32m34291w %e[37mcexdb-%char( 255)%char( 239)}
#wait 2000
#showprompt {You rip into a steel-encased Death Knight with your massive, deadly claws.%cr%char( 10)%char( 255)%char( 250)%char( 200)Char.Vitals%char( 10)H:6302/8010 M:8424/8426 E:35866/35910 W:34291/34320 NL:19/100 %char( 255)%char( 240)%e[32m6302h, %e[37m%e[32m8424m, %e[37m%e[32m35866e, %e[37m%e[32m34291w %e[37mcedb-%char( 255)%char( 239)}</value>
</alias>
<trigger name="dk" priority="23980" case="true" regex="true" id="3">
<pattern>^(A steel-encased Death Knight) rises to his full height with a glare of unmitigated evil that pulls at your insides\. The accompanying slash comes fast and low\.$</pattern>
<value>i_mob_attack %1 "glare slash"</value>
</trigger>
<trigger name="Gut" priority="84370" case="true" regex="true" id="4">
<pattern>^You rip into (.*) with your massive, deadly claws\.$</pattern>
<value>#gag
i_attacking {Gut => %1}</value>
</trigger>
<alias name="i_attacking" autoappend="true" id="5">
<value>#say %ansi( white)~[%ansi( blue)%Proper("me")%ansi( white)~]%ansi( gray): %ansi( blue)%-1%ansi( gray)</value>
</alias>
<alias name="i_mob_attack" autoappend="true" id="6">
<value>#gag
#say %ansi( blue)~[%ansi( red)NPC%ansi( blue)~]%ansi( gray): %ansi( red)%proper( %1) %ansi( gray)~(%-2~)%ansi( default)</value>
</alias>
<trigger priority="38200" case="true" regex="true" id="7">
<pattern>^\s*(\d+) credits at\s+(\d+) gold per credit\.$</pattern>
<value>#gag</value>
</trigger>
<trigger priority="38220" case="true" regex="true" id="8">
<pattern>^Use CREDITS BUY</pattern>
<value>#gag</value>
</trigger>
<trigger priority="38210" case="true" regex="true" id="9">
<pattern>^(?:Credits currently available|\(\d+ offers with higher|Total credits for sale)</pattern>
<value>#gag</value>
</trigger>
<alias name="prep" id="12">
<value>#say "-------------------------------------------------------------------------------------------------------------------"</value>
</alias>
</class>
|
|
|
|
|
Tech GURU
Joined: 18 Oct 2000 Posts: 2733 Location: Atlanta, USA
|
Posted: Sun Feb 01, 2009 2:38 am |
Confirmed. This exists in 2.37 as well.
|
|
_________________ Asati di tempari! |
|
|
|
Fang Xianfu GURU
Joined: 26 Jan 2004 Posts: 5155 Location: United Kingdom
|
Posted: Sun Feb 01, 2009 3:11 am |
Also, this bug report needs enshrining as the proper way to do it. Full marks for this thread, ReedN ;)
|
|
|
|
ReedN Wizard
Joined: 04 Jan 2006 Posts: 1279 Location: Portland, Oregon
|
Posted: Sun Feb 01, 2009 3:32 am |
Awesome! I'm gratified that it was able to be reproduced so easily, thanks for testing it.
|
|
|
|
Vijilante SubAdmin
Joined: 18 Nov 2001 Posts: 5182
|
Posted: Sun Feb 01, 2009 10:48 pm |
Excellent report! I really should resurrect the ancient sticky on proper bug reporting and link this topic to it.
Are you vying for my bug reporting crown? I am willing to pass the mantle. My round form doesn't quite have the shoulders for it; and if I use 2 of my eye stalks to hold it then I can't quite see as many bugs. The crown is shiny though, and I quite like it. |
|
_________________ The only good questions are the ones we have never answered before.
Search the Forums |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Mon Feb 02, 2009 6:14 pm |
Excellent bug report!
Confirmed and added to bug list.
But this is a *very* odd bug. Since I'm not in the middle of CMUD bug fixes right now, would someone be interested in playing with this example to try and determine what line is actually causing the problem to occur? For example, does it still fail if all of the ATCP embedded stuff is removed? Is there a specific trigger that is causing the problem? (e.g., does the problem still exist when certain triggers are disabled?)
Good job on reproducing the bug in a reliable way...now we just need to try and simplify the example to get it down to the core bug. |
|
|
|
ReedN Wizard
Joined: 04 Jan 2006 Posts: 1279 Location: Portland, Oregon
|
Posted: Mon Feb 02, 2009 8:17 pm |
Thanks. I was ecstatic I could get it even that compact and reproducable, although I know it's a far cry from being pinpointed. In the course of debugging this I even wrote a small perl program to convert the copious raw code I saved to compatible #showprompt statements. It's infernally finicky about a whole host of settings, so I'm sure there's a lot more to it.
|
|
|
|
ReedN Wizard
Joined: 04 Jan 2006 Posts: 1279 Location: Portland, Oregon
|
Posted: Sat Apr 18, 2009 4:47 pm |
Still exists in 3.06.
|
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Mon Apr 20, 2009 5:23 pm |
This is still on the bug list.
|
|
|
|
|
|