TinTin++ Mud Client The TinTin++ message board

 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
TinTin++ Mud Client

#end within an action doesn't reset terminal

 
Post new topic   Reply to topic    The TinTin++ message board Forum Index -> Bug Reports
View previous topic :: View next topic  
Author Message
davevnj



Joined: 22 Nov 2006
Posts: 55

PostPosted: Sun Dec 17, 2006 11:03 am    Post subject: #end within an action doesn't reset terminal Reply with quote

hmm... I guess the title says it all.

In the MUD I'm playing, when you quite, they intentionally leave the character hanging around bit, so you don't try to dodge deaths. The command to exit is "qq" so this is the alias I'm using:
Code:
#ALIAS {qq}
{
        #SEND {qq};
        #ACTION {#SESSION 'Lusternia' DIED.} {#end;};
};

When the session ends, tt++ exits the way I wanted it to, but text typed into the terminal doesn't echo back as it did before running tt++. I have to type "reset" in the terminal to get the echo back. Stangely, I don't get the same behavior if I manually type "#end" into tt++ or if I just cntrl-C, the problem is only within an action.

This is version 1.96.4.
Back to top
View user's profile Send private message Visit poster's website
Scandum
Site Admin


Joined: 03 Dec 2004
Posts: 3796

PostPosted: Sun Dec 17, 2006 11:22 am    Post subject: Reply with quote

Can you check if it's fixed in the beta?

If that's no option, consider trying this:

#ACTION {^#SESSION 'Lusternia' DIED.} {#gts #delay 0 #end}
Back to top
View user's profile Send private message Send e-mail
davevnj



Joined: 22 Nov 2006
Posts: 55

PostPosted: Sun Dec 17, 2006 12:58 pm    Post subject: Reply with quote

well the beta is actually crashing with my scripts before I get there.

Code:
DEBUG_STACK[000] = main(0x2,0xbfcc18f4)
DEBUG_STACK[001] = readmud(0x80e2980)
DEBUG_STACK[002] = [Lusternia] do_one_line(0xbfcbedc8,0x80e2980)
DEBUG_STACK[003] = [Lusternia] parse_input(#LOG {APPEND} {$temp_logfile};prompt_reset_actions;travel_keybindings;,0x80e2980)


it could be that prompt_reset_actions is blowing a buffer as it's a rather large alias.

As opposed to killing classes and rereading files, I kill the class and have a few massive aliases that open the class and redo all the action commands. Horrible waste of memory... maybe? but well no disk access.*shrugs* If you want, I can send you my scripts so you can look into it, but the error that's happening is in the following action:
Code:
#CLASS {temp} {OPEN};
#ACTION {^Password correct. Welcome to Lusternia.^}
{
        #LOG {APPEND} {$temp_logfile};
        prompt_reset_actions;
        travel_keybindings;
};
#CLASS {temp} {CLOSE};

Everything works under 1.96.4
Back to top
View user's profile Send private message Visit poster's website
davevnj



Joined: 22 Nov 2006
Posts: 55

PostPosted: Sun Dec 17, 2006 1:10 pm    Post subject: Reply with quote

actually this seems unrelated, the crash is being caused directly by #log I'll post a new bug for the beta
Back to top
View user's profile Send private message Visit poster's website
davevnj



Joined: 22 Nov 2006
Posts: 55

PostPosted: Sun Dec 17, 2006 1:36 pm    Post subject: Reply with quote

There is a difference between 1.96.4 and 1.96.5(beta), but it's still borked.

In the beta, it will echo characters, but not newlines, and it seems stuck on that line of the terminal. So "cat insanelyhugefile" will spit the results on the line and not scroll the terminal until a reset command is entered.

Ah, new clue... This only occurs if using #split.
Back to top
View user's profile Send private message Visit poster's website
Scandum
Site Admin


Joined: 03 Dec 2004
Posts: 3796

PostPosted: Sun Dec 17, 2006 1:50 pm    Post subject: Reply with quote

It was crashing on #log append. I did some bug fixes but only checked #log overwrite =] I uploaded a new beta which will hopefully work.

davevnj wrote:

it could be that prompt_reset_actions is blowing a buffer as it's a rather large alias.

As opposed to killing classes and rereading files, I kill the class and have a few massive aliases that open the class and redo all the action commands. Horrible waste of memory... maybe?


Your method is roughly 15% faster, so yeah, it's a bit of a waste Smile
Back to top
View user's profile Send private message Send e-mail
davevnj



Joined: 22 Nov 2006
Posts: 55

PostPosted: Sun Dec 17, 2006 2:04 pm    Post subject: Reply with quote

Ok, logging seems to be working, which leaves the #split/terminal reset problem.

(I'll take my 15%! Actually it might be a little more than that as my home directory is nfs mounted depending on which machine I'm on. So we might be talking a whole 25% increase (that I'd probably never notice anyway, but as long as I know it's there, that's all that matters!))
Back to top
View user's profile Send private message Visit poster's website
Scandum
Site Admin


Joined: 03 Dec 2004
Posts: 3796

PostPosted: Sun Dec 17, 2006 3:35 pm    Post subject: Reply with quote

Given the average human brain updates sight every 66 milliseconds it's indeed unlikely you'd notice an extra delay of 2 milliseconds Smile

I found the bug and updated the beta file, so it should reset the split screen correctly on exit.
Back to top
View user's profile Send private message Send e-mail
davevnj



Joined: 22 Nov 2006
Posts: 55

PostPosted: Sun Dec 17, 2006 8:21 pm    Post subject: Reply with quote

Everything looks great, thanks!
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    The TinTin++ message board Forum Index -> Bug Reports All times are GMT - 5 Hours
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
Get TinTin++ Mud Client at SourceForge.net. Fast, secure and Free Open Source software downloads Get TinTin++ Mud Client at SourceForge.net. Fast, secure and Free Open Source software downloads
TinTin++ Homepage

Powered by phpBB © 2001, 2002 phpBB Group