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

TinTin++ 2.00.7 (Beta)

 
Post new topic   This topic is locked: you cannot edit posts or make replies.    The TinTin++ message board Forum Index -> Announcements
View previous topic :: View next topic  
Author Message
Scandum
Site Admin


Joined: 03 Dec 2004
Posts: 3770

PostPosted: Fri May 20, 2011 9:34 pm    Post subject: TinTin++ 2.00.7 (Beta) Reply with quote

I've done a fair amount of work so some beta testing is probably a good idea.

The most important changes are:

1) No longer possible to use math in nested variables, unless it's an index lookup. This because behavior was getting unpredictable. This will impact scripts that do stuff like #showme $test[$cnt / 10].

2) I added a #config CHARSET option which is either ASCII, UTF-8, OR BIG5. When set to UTF-8 it should enable full UTF-8 input handling, same story for BIG5. It'd be helpful if people on Chinese and UTF-8 capable MUDs would do some testing.

Source code is at: http://tintin.sf.net/download/tintin-beta.tar.gz

Full change log:

Code:

tick.c         When setting a delay the final delay time is echoed.

event.c        Added some extra security to event triggers.

telopt.c       Added MTTS support. On a third TTYPE request MTTS will be
               reported followed by a bitvector that indicates whether ANSI,
               VT100, UTF-8, and 256 colors are enabled. The UTF-8 and 256
               color settings can be configured by the user. VT100 is reported
               as disabled if #split mode is enabled - this because the split
               screen mode needs to be disabled for server side VT100
               interfaces to work.

system.c       Added some extra security to the #script command.

system.c       Changed the #script command to behave like a two argument
               command in preperation of removing the rather awkward
               single argument support.

line.c         Added #line ignore option to execute a command without
               checking any triggers.

config.c       Added a 256 COLOR option. When called with auto it'll guess at
               the terminal's 256 color capabilities.

variable.c     When setting a variable the final variable definition is echoed.

variable.c     Added support for BIG5 and UTF8 string formatting.

cursor.c       Added support for BIG5 and UTF8 input handling.

config.c       Added session based BIG5 and UTF8 #config CHARSET option.

substitute.c   Fixed word boundary matching for substitutions.

highlight.c    Fixed word boundary matching for highlights.

nest.c         Math is no longer performed on table keys, mainly to reduce
               annoying false positives, and because the behavior can be
               scripted with math functions. Math is still performed when
               looking up an index.

path.c         Renamed #path map to #path show, #path map still works, but it
               doesn't properly describe what the command does.

path.c         With #config speedwalk enabled #path load will automatically
               unzip zipped paths so they can be slow walked.

line.c         #line logverbatim is now fully verbatim.

vt102.c        Removed status reports for the \eZ, \e[c, and \e[x VT codes
               due to complaints.

log.c          Added a #log off option. #log append and overwrite can now be
               called while logging is already enabled.
Back to top
View user's profile Send private message Send e-mail
curist



Joined: 22 Sep 2010
Posts: 22

PostPosted: Thu May 26, 2011 1:25 am    Post subject: Reply with quote

Hello, it's so sweet to know that you're keeping BIG5 supported. Thumbs Up

testing the new build, I have a question:
what is the charset option supposed to do?
as you mentioned, this option will only have an effect on input right?

things I've tested
terminal charset: BIG5
tt++ charset: ansi, utf-8, big5

terminal charset: utf-8, encoding to big5 using gnu screen.
tt++ charset: ansi, utf-8, big5

results:
can't see any difference between the two terminal environments

ansi:
works just as before, a chinese character need to backspace to clear.

utf-8 and big5:
same as above, but lets say i input something like
"abc三個字", 3 ansi chars follow by 3 big5 chars,
press backspace few(6) times, the "abc" will remain on the screen,
though if you press enter, nothing will be sent.

hope I've made myself clear
Back to top
View user's profile Send private message
Scandum
Site Admin


Joined: 03 Dec 2004
Posts: 3770

PostPosted: Thu May 26, 2011 7:18 am    Post subject: Reply with quote

Setting the CHARSET config option will also handle word wrapping.

Keep in mind that tt++ parses data before your terminal does, so if the MUD sends BIG5 data you should use: #config CHARSET BIG5.

I'll have a look at the abc三個字 sequence and see if I can figure out what's going wrong.
Back to top
View user's profile Send private message Send e-mail
curist



Joined: 22 Sep 2010
Posts: 22

PostPosted: Thu May 26, 2011 7:45 am    Post subject: Reply with quote

Scandum wrote:
Setting the CHARSET config option will also handle word wrapping.

Keep in mind that tt++ parses data before your terminal does, so if the MUD sends BIG5 data you should use: #config CHARSET BIG5.

I'll have a look at the abc三個字 sequence and see if I can figure out what's going wrong.


Hm.. I see, will do some more test later.

and for the "abc三個字"
actually im talking about arbitrary big5 chars
for every big5 character, 2 backspace will clear it out
(natural behavior for dual byte word?),
but the input line will have some characters remaining there

ok, im going to use 2.00.7 for my production mud run to do the test Big Smile
Back to top
View user's profile Send private message
Scandum
Site Admin


Joined: 03 Dec 2004
Posts: 3770

PostPosted: Sat May 28, 2011 2:45 pm    Post subject: Reply with quote

It looks like the Chinese characters you posted are 3 byte UTF-8 sequences? It's possible they were automatically converted.

In addition it looks like the characters take up the space of two Western characters, which is something I hadn't taken into account.

I guess this explains why TinTin++ worked quite well with BIG5 as two-byte sequences were taking up two places, meaning that despite some oddities (like having to hit backspace twice) things worked fairly well.

I'll look at updating the BIG5 code to assume Chinese characters to take up two spaces so it can be tested, then I'll see if I can figure out how to distinguish single width UTF-8 characters from double width UTF-8 characters.

Hopefully it won't horribly complicate Chinese UTF-8 support, though from what I gathered Asian nations aren't going to adopt UTF-8 anytime soon, so I might get by with only supporting single width UTF-8 characters.
Back to top
View user's profile Send private message Send e-mail
Scandum
Site Admin


Joined: 03 Dec 2004
Posts: 3770

PostPosted: Sat May 28, 2011 3:19 pm    Post subject: Reply with quote

I've updated the beta (2.00.6b5) with some untested BIG5 changes.

Hopefully it works.

http://tintin.sf.net/download/tintin-beta.tar.gz
Back to top
View user's profile Send private message Send e-mail
curist



Joined: 22 Sep 2010
Posts: 22

PostPosted: Sun May 29, 2011 10:16 pm    Post subject: Reply with quote

uh.. sorry if I made you confused.
but I'm only testing the big5 charset, so "三個字" should be all dual widths chars.
and the length should be 6.
in the current build, 2.00.6b5, some chinese characters only take 1 backspace to clear, which is good!!
but some takes 2 backspaces, couldn't they all clear just 2 widths?
oh, and now the backspaces can actually makes the cursor in front of the line
(I mean no more invisible chars prevent/block me to move the cursor in the beginning of the line)

duh.. I really hate this encoding thingy
and, thanks for your efforts, again!! Thumbs Up
Back to top
View user's profile Send private message
steven



Joined: 22 May 2011
Posts: 24

PostPosted: Sun May 29, 2011 11:50 pm    Post subject: Reply with quote

Scandum wrote:
I've updated the beta (2.00.6b5) with some untested BIG5 changes.

Hopefully it works.

http://tintin.sf.net/download/tintin-beta.tar.gz


Thanks for your continuous effort Scandum, I will help to test the big5 feature as well! Thumbs Up
Back to top
View user's profile Send private message
titeuf



Joined: 29 Jul 2006
Posts: 84

PostPosted: Mon May 30, 2011 1:40 pm    Post subject: Reply with quote

This beta has a bug when using #FORMAT to get the length of a string.

Code:

#var test <119>test
#OK. VARIABLE {test} HAS BEEN SET TO {<119>test}.
#format length {%L} {$test}
#var length
#VARIABLE {length}={9}


It doesn't seem to parse color codes.
Back to top
View user's profile Send private message
Scandum
Site Admin


Joined: 03 Dec 2004
Posts: 3770

PostPosted: Mon May 30, 2011 1:57 pm    Post subject: Reply with quote

Little oversight from adding UTF-8 string length support, I've updated the beta source code with a fix.
Back to top
View user's profile Send private message Send e-mail
titeuf



Joined: 29 Jul 2006
Posts: 84

PostPosted: Mon May 30, 2011 3:26 pm    Post subject: Reply with quote

That fixed it, thanks for the quick solution!
Back to top
View user's profile Send private message
steven



Joined: 22 May 2011
Posts: 24

PostPosted: Tue May 31, 2011 10:57 am    Post subject: Precompiled version for this beta version Reply with quote

attached is the precompiled version for mac, see if anyone can help to test the beta version.

Mac OSX Leopard 10.6.7
2.00.6b5
http://dl.dropbox.com/u/9704768/tt%2B%2B
Back to top
View user's profile Send private message
Scandum
Site Admin


Joined: 03 Dec 2004
Posts: 3770

PostPosted: Tue May 31, 2011 10:43 pm    Post subject: Reply with quote

curist wrote:
uh.. sorry if I made you confused.
but I'm only testing the big5 charset, so "三個字" should be all dual widths chars.
and the length should be 6.
in the current build, 2.00.6b5, some chinese characters only take 1 backspace to clear, which is good!!
but some takes 2 backspaces, couldn't they all clear just 2 widths?
oh, and now the backspaces can actually makes the cursor in front of the line
(I mean no more invisible chars prevent/block me to move the cursor in the beginning of the line)

duh.. I really hate this encoding thingy
and, thanks for your efforts, again!! Thumbs Up

I'll go over the code again and see if I missed something.

BIG5 is very difficult to parse when it's mixed with English characters, I'll see if I can come up with something though.
Back to top
View user's profile Send private message Send e-mail
curist



Joined: 22 Sep 2010
Posts: 22

PostPosted: Fri Jun 03, 2011 1:19 pm    Post subject: Reply with quote

Scandum wrote:
I'll go over the code again and see if I missed something.

BIG5 is very difficult to parse when it's mixed with English characters, I'll see if I can come up with something though.


take your time, boss Big Smile
Back to top
View user's profile Send private message
Scandum
Site Admin


Joined: 03 Dec 2004
Posts: 3770

PostPosted: Mon Jun 20, 2011 10:11 pm    Post subject: Reply with quote

Alright, I gave BIG5 support another try and updated the beta:

http://tintin.sf.net/download/tintin-beta.tar.gz

It'll be tricky getting this right however as I can't test it.
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   This topic is locked: you cannot edit posts or make replies.    The TinTin++ message board Forum Index -> Announcements 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