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
calesta
Apprentice


Joined: 07 Dec 2008
Posts: 102
Location: New Hampshire, USA

PostPosted: Fri Dec 12, 2008 4:43 pm   

[3.02] Problem with speed menus
 
I have a menu in a package that works fine in the 2.37 version. There is also a button that links to this menu which works as well. When I first load the 3.02 beta version, the menu and the button still show up fine. However, once I exit CMUD, relaunch CMUD, and open the session offline again, the menu does not show up when you right-click anymore. The button still shows up and operates correctly. This is 100% reproducible for me just by restoring the base Calesta session directory to its 2.37 version and repeating the steps above.

I assume this means something is getting saved differently in the Beta version when I exit CMUD. Is there any further debugging I can do here to figure out the cause of this problem?

I also tried creating a new menu in my top level package once I was in this state where the menu won't show up. This new menu also will not show up when right-clicking.

I saw this thread started by Caled for the 2.12 version that sounds similar, but it just ended seemingly without any resolution.
Reply with quote
Zugg
MASTER


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

PostPosted: Fri Dec 12, 2008 5:28 pm   
 
Hmm, I haven't changed anything in the menu system that would effect this. Please copy/paste the XML code for your menu that isn't working so that I can try it here in a fresh session. My guess is that the package containing the menu isn't getting enabled or loaded properly in your session somehow. You might try creating a menu item in the main session window to see if it shows up ok (before the package starts to fail)
Reply with quote
calesta
Apprentice


Joined: 07 Dec 2008
Posts: 102
Location: New Hampshire, USA

PostPosted: Fri Dec 12, 2008 6:14 pm   
 
OK, I did as you suggested and tried to create a new menu in the main session window before the package starts to fail. Apparently it is actually already in the bad state at that point because even though the old menu from the 2.37 config still shows up, the new menu I created does not.

I then created a fresh session and used all of the same packages in the fresh session as I was using in the old session. I have no problems with the menus at all once I have done this.

I'm not sure it will help since a fresh session created in 3.02 doesn't exhibit the issue, but here is the XML for the menu system:

Code:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<cmud>
<module name="Coordinates" global="true">
  <uid>{4A89A77B-F008-4DA0-875C-E9B8438C0B55}</uid>
  <alias name="coords">
    <value>#dboffline
#dbreset
$rec = %find($loc,$type,Location)
#if (%null($rec)) {
  #show Unknown $type Location: $loc
} {
  #dbfirst
  #show %crlf
  #show $type Coordinates
  #show Location: &amp;Location
  #show Coordinates: &amp;X,&amp;Y
}
</value>
    <arglist>type,loc</arglist>
  </alias>
  <alias name="loadCoords">
    <value>#dboffline
#dbload co

; Build the Sailing coordinates menu that allows us to see
; the coordinates for each possible sailing location.
#class CoordinatesSubMenu
#delclass CoordinatesSubMenu/SailingSubMenu
#class SailingSubMenu {menu}
#dbreset
#view Sailing
#dbfirst
#while (!%null(%rec)) {
  $loc = &amp;Location
  #menu $loc {coords Sailing $loc} SailingSubMenu
  #dbnext
}

; Build the Balloon coordinates menu that allows us to see
; the coordinates for each possible balloon location.
#class CoordinatesSubMenu
#delclass CoordinatesSubMenu/BalloonSubMenu
#class BalloonSubMenu {menu}
#dbreset
#view Balloon
#dbfirst
#while (!%null(%rec)) {
  $loc = &amp;Location
  #menu $loc {coords Balloon $loc} BalloonSubMenu
  #dbnext
}</value>
    <notes>Ideally the code in this alias would go in an onLoad event handler for this Sailing module.  For now, cMUD does not provide a way to open a database however, so the user must open the coordinates database through the GUI and then use this alias to load all of the known coordinate information.</notes>
  </alias>
  <button type="Menu" priority="90">
    <caption>Coords</caption>
    <expr>Coordinates</expr>
  </button>
  <menu subclass="CoordinatesSubMenu" priority="100">
    <caption>Coordinates</caption>
  </menu>
  <class name="Coordinates">
    <class name="CoordinatesSubMenu" submenu="true">
      <menu subclass="SailingSubMenu" priority="50">
        <caption>SailingCoordinates</caption>
      </menu>
      <menu subclass="BalloonSubMenu" priority="40">
        <caption>BalloonCoordinates</caption>
      </menu>
      <class name="SailingSubMenu" submenu="true">
        <menu priority="800">
          <caption>Whitestorm</caption>
          <value>coords Sailing Whitestorm</value>
        </menu>
        <menu priority="810">
          <caption>Cabeiri</caption>
          <value>coords Sailing Cabeiri</value>
        </menu>
        <menu priority="820">
          <caption>Trinlar</caption>
          <value>coords Sailing Trinlar</value>
        </menu>
      </class>
      <class name="BalloonSubMenu" submenu="true">
        <menu priority="840">
          <caption>Cabeiri</caption>
          <value>coords Balloon Cabeiri</value>
        </menu>
      </class>
    </class>
  </class>
  <event event="onLoad" priority="670">
    <value>#show %ansi(bold,red) You must load the coordinates database before the coordinates package will be usable.</value>
  </event>
</module>
</cmud>
Reply with quote
Zugg
MASTER


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

PostPosted: Fri Dec 12, 2008 6:32 pm   
 
Yeah, I can't get it to fail in a fresh session either. You might want to email your broken *.PKG file to me at sales@zuggsoft.com so that I can determine what is broken in it.
Reply with quote
calesta
Apprentice


Joined: 07 Dec 2008
Posts: 102
Location: New Hampshire, USA

PostPosted: Fri Dec 12, 2008 6:48 pm   
 
I think I just figured out what is causing it. I submitted a crash dump yesterday or the day before that I have been getting when the mapper database is being created when I try to use it for the first time. The fresh session working made me think it had something to do with my main session package, and when I looked in there I realized there was a Calesta Map object that had been created. Due to the problems creating the database, I would imagine there must be something wrong with this Map object. If I delete that Map object, my menus start working again immediately.
Reply with quote
Zugg
MASTER


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

PostPosted: Fri Dec 12, 2008 7:26 pm   
 
Ahh, good, thanks for letting me know. The bugs that cause extra Map objects to be created are already fixed for the new version. So hopefully that will take care of the problem.
Reply with quote
calesta
Apprentice


Joined: 07 Dec 2008
Posts: 102
Location: New Hampshire, USA

PostPosted: Fri Dec 12, 2008 10:16 pm   
 
Thanks for the new release!

Unfortunately, I am still seeing this issue with the new release. I can now reproduce it in a new session as well. The steps that make it happen for me are:

Create a new session.
Open the session offline.
Create a test menu and verify that it is working when you right-click on the session window.
Click the Map button on the toolbar to get the map database created.
Use the Close window option on the file menu to close and go back to the sessions window.
Open the session offline.

At this point the menu that you had created and was working in step 3 no longer shows up when you right click.

I also can consistently reproduce an access violation when trying to launch the mapper when I started from my 2.37 Calesta package still. Should I send that package file to you since that is still occurring?

Thanks!
Reply with quote
Zugg
MASTER


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

PostPosted: Fri Dec 12, 2008 10:25 pm   
 
Yes, if you get an error when launching the mapper, please send me your *.pkg file along with any associate map file.

I will add your procedure to the bug list to see if I can figure out why your menu isn't working. One thing to try is to type the command:

#CLASS 0

when you open the session offline the second time and see if that helps. It's possible the current class/module is getting set to the mapper module instead of the proper session window.
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