ViRC 3 development
From ViRC Wiki
ViRC 3 is the planned next version of Visual IRC. The current status is vaporware.
Contents |
[edit] Planned Features
- Suggestions are welcome.
- UPnP NAT traversal to automatically set up ports for DCC and ident on a home router.
- Connect to chat networks and chat-like systems other than IRC, such as MUDs and AIM.
- Remain compatible with almost all ViRC 2 scripts.
- Per-channel sound options.
[edit] Source Code
ViRC 3 is written in C# 3.0, and compiles under Visual C# Express Codename "Orcas". The code will be released under the GPL.
[edit] Scripting
The next version of the script engine is based around a compiler, not an interpreter. Some of the syntax rules have been tightened to make compilation easier and reduce ambiguity:
- Variable names have to match exactly. If you write $nicks, ViRC 3 understands that to be a variable called "nicks"; if you really mean "take the value of $nick and put an 's' on the end", you now must write ${nick}s.
- Parsing is done left-to-right and consistently, so code with unbalanced brackets or other malformations will now be treated as an error instead of producing undefined results.
- Backslashes are treated as escape sequences all the time, not just when they produce an IRC attribute code like \b. Code that uses a backslash in front of a closing bracket, like \), now must double up the backslash like \\) to keep it from escaping the bracket.
As in ViRC 2, the script engine is designed as a separate component which may be used separately from ViRC. In the new version, definition blocks like Alias, Event, MenuTree, etc. may be customized, added, or removed for different applications. Script code is compiled to MSIL and wrapped with a delegate matching any signature requested by the host application.
[edit] Text Display
ViRC 3 will use ViRC 2's TMonkeyScroller control through ActiveX interop, at least initially. This will limit cross-platform compatibility, so TMS may eventually be rewritten as a managed Windows Forms component.

