Register to post in forums, or Log in to your existing account
 

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » CMUD Beta Forum
Arde
Enchanter


Joined: 09 Sep 2007
Posts: 605

PostPosted: Mon Nov 05, 2007 8:54 pm   

[2.10] A problem with screen buffer? Screen not painted properly.
 
I'm sorry for quite a long procedure for this and it is still not 100% reproducible. I've already shortened it several times, but further reduction causing this bug stop to appear.
Do not search any meaning in the script - it was a scratch and after reduction it became even worse. Smile

1) Open CMUD, hit Esc.
2) Enter
Code:
#VAR btnFightingCaption {Not fighting};#VAR CombatState 0;#VAR valFighting 0;

3) Next 2 settings are quite large, so open the editor.
4) Choose New->Button, switch to XML view, delete all what you'll see there and paste the following text:
Code:
<button name="btnFighting" type="Toggle" variable="valFighting" transparent="false" priority="6080" id="4">
  <caption>@btnFightingCaption</caption>
  <value>//Pressing this button sets "Fighting mode" for current character
#IF (@CombatState < 2) {CombatState = 12}</value>
  <tooltip>Character state (Fighting, not fighting)</tooltip>
  <state caption="@btnFightingCaption" color="red">//Depressing this button sets the "Not fighting" mode
#IF (@CombatState > 1) {CombatState = 10}</state>
</button>


5) Choose New->Trigger, switch to XML view, delete all what you'll see there and paste the following text:
Code:
<trigger type="Expression" priority="6120" id="6">
  <pattern>(@CombatState+1)</pattern>
  <value><![CDATA[#SAY Trigger action;
#SWITCH (@CombatState)
  (0)
    {
      #IF (@valFighting <> 0)
      {
        valFighting = 0;
        btnFightingCaption = "Not fighting";
        #SAY "CombatState=0, Set val=0 and caption=Not fighting";
      }
    }
  (1)
    {
      #IF (@valFighting <> 1)
      {
        valFighting = 1;
      }
      btnFightingCaption = "Cooling down";
      #SAY "CombatState=1, Set val=1 and caption=Cooling down";
    }
  (2)
    {
      #IF (@valFighting <> 1)
      {
        valFighting = 1;
      }
      btnFightingCaption = "FIGHTING";
      #SAY "CombatState=2, Set val=1 and caption=FIGHTING";
    }
  (10)
    {
      btnFightingCaption = "Not fighting";
      #SAY "CombatState=10, Set caption=Not fighting";
    }
  (12)
    {
      btnFightingCaption = "FIGHTING";
      #SAY "CombatState=12, Set caption=FIGHTING";
    }]]></value>
</trigger>


6) Enter anything in your command line until main window scrolling begins.

7) Now begin enter the following commands:
Code:
1;2;CombatState=2

You should see:
1<new line>
2<new line>
...some script output...

Code:
1;2;CombatState=0

You should see:
1<new line>
2<new line>
...some script output...

May be you will notice the bug at this stage already

The main idea - you should enter 1;2; as the placeholders just to note lines gagging and CombatState=... to run the script.

8)Repeat step 7 as necessary

9) If you notice that "1" or "2" missing - here is it! Now, open the Editor window (or any window you like) and use it as brush over text in main screen - you will see that area where you've move that window gets properly repainted and "missed lines" appears where they should be.
Reply with quote
Tech
GURU


Joined: 18 Oct 2000
Posts: 2733
Location: Atlanta, USA

PostPosted: Tue Nov 06, 2007 2:37 am   
 
Confirmed.
_________________
Asati di tempari!
Reply with quote
Arde
Enchanter


Joined: 09 Sep 2007
Posts: 605

PostPosted: Tue Nov 06, 2007 8:57 pm   
 
Step 4 may be shortened to
Code:
<button name="btnFighting" type="Toggle" variable="valFighting" transparent="false" priority="6080" id="4">
  <caption>@btnFightingCaption</caption>
  <state caption="@btnFightingCaption" color="red"></state>
</button>

I wonder if this button can be excluded from the procedure at all. Btw, the bug behavior has change with new step 4: instead of hiding it now shows extra lines

P.S. I have noticed strange xml colors for original step 4, although I do not see any syntax error in the xml.
Reply with quote
Arde
Enchanter


Joined: 09 Sep 2007
Posts: 605

PostPosted: Sun Nov 11, 2007 10:24 am   
 
I'd gonna bump this for 2.11, but was unable to perform step 4! Can anyone check, please, if button creation in xml tab works? It will take just a couple of seconds for you...
_________________
My personal bug|wish list:
-Wrong Priority when copy-paste setting
-1 prompt trigger for Mapper, Session and General Options, not 3 different!
-#SECTION can terminate threads
-Buttons can't start threads
Reply with quote
Arde
Enchanter


Joined: 09 Sep 2007
Posts: 605

PostPosted: Thu Nov 22, 2007 9:51 pm   [2.13] - Text tearing
 
Here is it again, now with text tearing in the timestamps column. No procedure this time, just two screenshots, but if you will set time format like mine, maybe you'll see some signs of this tearing while you online and playing. I saw in 2.12 that delta time sometimes writes after the closing parenthesis, not before it. Now in 2.13 it becomes too obvious.
See it: here I just click-click-click on a button that sends cast command to MUD. Note how timestamps get written.


Now, take your Preferences window and move it over the timestamps. Over and over. You will see some interesting changes. It is not a bad picture, that is what I actually see.


I don't know is it related or no, but this time I've got a crash after all of this when I tried to close CMUD with red cross. This was so unexpected that I'd press the wrong button and close the window without sending a report. Sorry. Here is the report from the bugreport.txt:

Code:

operating system  : Windows XP Service Pack 2 build 2600
system up time    : 8 minutes 35 seconds
program up time   : 1 minute 16 seconds
processors        : 2x Intel(R) Pentium(R) D CPU 3.40GHz
physical memory   : 1536/2046 MB (free/total)
free disk space   : (*:) 68,24 GB
display mode      : 1680x1050, 32 bit
process id        : $f94
allocated memory  : 27,25 MB
executable        : cMUD.exe
exec. date/time   : 2007-11-22 02:47
version           : 2.13.0.0
madExcept version : 3.0b
callstack crc     : $1787ebe2, $86e67f91, $86e67f91
exception number  : 1
exception class   : EAccessViolation
exception message : Access violation at address 00C6B5EB in module 'cMUD.exe'. Read of address 0000000D.

Main ($e08):
00c6b5eb +5f cMUD.exe     PARENT         10863  +7 TParentForm.DockManagerCloseQuery
0071b736 +36 cMUD.exe     aqDockingBase   7779  +3 TaqCustomDockingManager.DoControlCloseQuery
00716c21 +91 cMUD.exe     aqDockingBase   5015 +12 TaqCustomDockingControl.DoCloseQuery
0071421a +5e cMUD.exe     aqDockingBase   3600  +8 TaqCustomDockingControl.InternalRemoveFromDocking
00718527 +1f cMUD.exe     aqDockingBase   5995  +4 TaqCustomDockingContainer.InternalRemoveFromDocking
00714335 +45 cMUD.exe     aqDockingBase   3636  +5 TaqCustomDockingControl.RemoveFromDocking
0071986f +2b cMUD.exe     aqDockingBase   6642  +5 TaqCustomDockingSite.HideMainTreeItem
00718ba2 +76 cMUD.exe     aqDockingBase   6210 +14 TaqCustomDockingSite.SetMainTreeItem
00707fbc +7c cMUD.exe     aqDocking       5191 +18 TaqDockingManager.ParentFormDestroy
0070a9d6 +46 cMUD.exe     aqDocking       6793  +6 TaqDestroyNotifier.ParentDestroy
006d61e8 +10 cMUD.exe     aqDockingUtils  1714  +2 TaqWindowEventFilter.DoDestroy
006d635b +b3 cMUD.exe     aqDockingUtils  1768 +33 TaqWindowEventFilter.WndProc
0047fecc +14 cMUD.exe     Classes        10966  +8 StdWndProc
7c90eae0 +10 ntdll.dll                             KiUserCallbackDispatcher
77d3e2f2 +44 USER32.dll                            SendMessageA
006d637d +d5 cMUD.exe     aqDockingUtils  1770 +35 TaqWindowEventFilter.WndProc
0047fecc +14 cMUD.exe     Classes        10966  +8 StdWndProc
7c90eae0 +10 ntdll.dll                             KiUserCallbackDispatcher
77d3e670 +0a USER32.dll                            DestroyWindow
005093b8 +28 cMUD.exe     Controls        6095  +3 TWinControl.DestroyWindowHandle
0052878c +3c cMUD.exe     Forms           3758  +4 TCustomForm.DestroyWindowHandle
00525b1a +66 cMUD.exe     Forms           2633  +5 TCustomForm.Destroy
0055a136 +12 cMUD.exe     CustomForm        62  +1 TzCustomForm.Destroy
00779f2d +19 cMUD.exe     International     47  +2 TInterForm.Destroy
0077aa76 +12 cMUD.exe     zsForm            91  +1 TzForm.Destroy
00a2520e +12 cMUD.exe     MultiForm        338  +3 TMultForm.Destroy
0047e38e +5a cMUD.exe     Classes         9853  +9 TComponent.DestroyComponents
005231d6 +36 cMUD.exe     Forms           1348  +3 DoneApplication
0040e844 +3c cMUD.exe     SysUtils        3409  +6 DoExitProc
004059af +1e cMUD.exe     System                   @Halt0
7c91312f +69 ntdll.dll                             RtlUnicodeStringToAnsiString
7c812907 +b6 kernel32.dll                          GetVersionExA
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Mon Nov 26, 2007 4:23 pm   
 
Does this only happen when you use the timestamp format that you showed? Does it also happen with the default timestamp format?
Reply with quote
Arde
Enchanter


Joined: 09 Sep 2007
Posts: 605

PostPosted: Mon Nov 26, 2007 6:38 pm   
 
It does not happen with the default timestamp format.

Interestingly, if you have your mud screen full of lines and gonna change timestamp format then you can watch "in real-time" that everything will work fine until you type closing parenthesis. I.e. "hh:nn:ss (qqq" works correctly, but "hh:nn:ss (qqq)" is not.
_________________
My personal bug|wish list:
-Wrong Priority when copy-paste setting
-1 prompt trigger for Mapper, Session and General Options, not 3 different!
-#SECTION can terminate threads
-Buttons can't start threads
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Tue Nov 27, 2007 10:47 pm   
 
Found the bug. Fixed for the next version.
Reply with quote
Arde
Enchanter


Joined: 09 Sep 2007
Posts: 605

PostPosted: Sun Dec 02, 2007 11:50 am   
 
Confirmed.
Looks like the first bug from this thread is already fixed in 2.14a too. Nice work, Zugg!
_________________
My personal bug|wish list:
-Wrong Priority when copy-paste setting
-1 prompt trigger for Mapper, Session and General Options, not 3 different!
-#SECTION can terminate threads
-Buttons can't start threads
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » CMUD Beta Forum All times are GMT
Page 1 of 1

 
Jump to:  
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

© 2009 Zugg Software. Hosted by Wolfpaw.net