亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tintin.h

?? Windows上的MUD客戶端程序
?? H
?? 第 1 頁 / 共 2 頁
字號:
/*----------------------------------------------------------------------------
                        _                              _ _       
        /\             | |                            | (_)      
       /  \   _ __   __| |_ __ ___  _ __ ___   ___  __| |_  __ _ 
      / /\ \ | '_ \ / _` | '__/ _ \| '_ ` _ \ / _ \/ _` | |/ _` |
     / ____ \| | | | (_| | | | (_) | | | | | |  __/ (_| | | (_| |
    /_/    \_\_| |_|\__,_|_|  \___/|_| |_| |_|\___|\__,_|_|\__,_|

    The contents of this file are subject to the Andromedia Public
	License Version 1.0 (the "License"); you may not use this file
	except in compliance with the License. You may obtain a copy of
	the License at http://www.andromedia.com/APL/

    Software distributed under the License is distributed on an
	"AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
	implied. See the License for the specific language governing
	rights and limitations under the License.

    The Original Code is Pueblo client code, released November 4, 1998.

    The Initial Developer of the Original Code is Andromedia Incorporated.
	Portions created by Andromedia are Copyright (C) 1998 Andromedia
	Incorporated.  All Rights Reserved.

	Andromedia Incorporated                         415.365.6700
	818 Mission Street - 2nd Floor                  415.365.6701 fax
	San Francisco, CA 94103

    Contributor(s):
	--------------------------------------------------------------------------
	   Chaco team:  Dan Greening, Glenn Crocker, Jim Doubek,
	                Coyote Lussier, Pritham Shetty.

					Wrote and designed original codebase.

------------------------------------------------------------------------------

	TinTin class definitions.  Originally modified from TinTin++,
	(T)he K(I)cki(N) (T)ickin D(I)kumud Clie(N)t, originally coded by
	Peter Unold 1992.

----------------------------------------------------------------------------*/

// $Header: /home/cvs/chaco/modules/client/msw/ChWorld/TinTin.h,v 2.34 1996/05/01 18:48:52 coyote Exp $

#if !defined( TINTIN_H )
#define TINTIN_H


#include "TinTinSettings.h"


/*----------------------------------------------------------------------------
	Constants
----------------------------------------------------------------------------*/

#define TINTIN_VERSION			"1.6"

#define DEF_TINTIN_CHAR			'#'			// TinTin escape char
#define DEF_VERBATIM_CHAR		'\\'		/* If an input starts with this
												char, it will be sent 'as is'
												to the MUD */
#define DEF_TICK_SIZE			75
#define DEF_TICK_KEY			"TinTin"

#define DEF_OPEN				'{'			// Char that starts an argument
#define DEF_CLOSE				'}'			// Char that ends an argument
#define TINTIN_DEF_GAG_STRING	"."

#define TINTIN_HELP_PREFIX		"TinTin"

#define MAX_PATH_LENGTH			200			// Maximum path length
#define MAX_RECURSE				100			// Maximum recursion depth


/*----------------------------------------------------------------------------
	Types
----------------------------------------------------------------------------*/

											/* If you change this enumeration,
												you must also change the
												TinTin::m_pstrCommands array
												to correspond with the indices
												in this enumeration */

typedef enum { ttUnknown = -1, ttAction = 0, ttAlert, ttAlias, ttAll,
				ttAntisubstitute, ttBell, ttBoss, ttChar, ttCr, ttEcho,
				ttEnd, ttGag, ttHelp, ttHighlight, ttHistory, ttIf,
				ttIgnore, ttInfo, ttKillall, ttLog, ttLoop, ttMap, ttMath,
				ttMark, ttMbox, ttMessage, ttName, ttNop, ttPath,
				ttPathdir, ttPlaySound, ttPresub, ttRandom, ttRedraw,
				ttRetab, ttReturn, ttRead, ttSavepath, ttSession, ttShowme,
				ttSpeedwalk, ttSplit, ttSubstitute, ttTextin,
				ttTick, ttTickkey, ttTickoff, ttTickon, ttTickset, ttTicksize,
				ttTolower, ttTogglesub, ttToupper, ttUnaction, ttUnalias,
				ttUnantisubstitute, ttUnhighlight, ttUnsubstitute,
				ttUngag, ttUnpath, ttUnvariable, ttVariable, ttVersion,
				ttWizlist, ttWrite, ttWritesession, ttZap, ttVerbatim,
				ttEnhancements, ttExpressions } TTCommand;

typedef int		VarLenType[10];
typedef string	VarType[10];


typedef enum { opInvalid = -1, opOpenParen = 0, opCloseParen, opBooleanNot,
				opLowercase, opMult, opDiv, opAdd, opSubtract, opCompGreater,
				opCompGreaterEqual, opCompLess, opCompLessEqual, opCompEqual,
				opCompNotEqual, opBoolAnd, opBoolOr, opInt, opString,
				opMaximum } TTOperator;


/*----------------------------------------------------------------------------
	Utility functions
----------------------------------------------------------------------------*/

CH_EXTERN_FUNC( bool )
Match( const char* pstrRegex, const char* pstrTest );


/*----------------------------------------------------------------------------
	MathOp class
----------------------------------------------------------------------------*/

class MathOps
{
	public:
		MathOps() : m_iNext( 0 ),
					m_op( opInvalid ),
					m_iValue( 0 ),
					m_pstrValue( 0 )
			{
			}

		~MathOps()
			{
				if (m_pstrValue)
				{
					delete m_pstrValue;
				}
			}

		inline int GetNext() const { return m_iNext; }
		inline TTOperator GetOp() const { return m_op; }
		inline int GetInt() const
						{
							ASSERT( IsInt() );

							return m_iValue;
						}
		inline int& GetInt()
						{
							ASSERT( IsInt() );

							return m_iValue;
						}
		inline string* GetString() const
						{
							ASSERT( 0 != m_pstrValue );
							ASSERT( IsString() );

							return m_pstrValue;
						}

		inline bool IsInt() const
						{
							return (GetOp() == opInt);
						}
		inline bool IsString() const
						{
							return (GetOp() == opString);
						}
		inline bool IsValue() const
						{
							return (IsInt() || IsString());
						}

		inline void SetNext( int iNext ) { m_iNext = iNext; }
		inline void SetOp( TTOperator op ) { m_op = op; }
		inline void Set( int iValue ) { m_iValue = iValue; }
		inline void Set( const string& strValue )
						{
							if (m_pstrValue)
							{
								*m_pstrValue = strValue;
							}
							else
							{
								m_pstrValue = new string( strValue );
							}
						}

		inline void Set( const string* pstrValue )
						{
							Set( *pstrValue );
						}

		inline void Reset()
						{
							if (m_pstrValue)
							{
								delete m_pstrValue;
								m_pstrValue = 0;
							}
						}

	protected:
		int			m_iNext;
		TTOperator	m_op;
		int			m_iValue;
		string*		m_pstrValue;
};


/*----------------------------------------------------------------------------
	TinTin class
----------------------------------------------------------------------------*/

class ChWorldMainInfo;

class TinTin
{
	public:
		TinTin( ChWorldMainInfo* pMainInfo );
		~TinTin();

		inline void ReadInitFile( const string& strFile )
						{
							DoRead( strFile, false );
						}

		inline void Message( const string& strMessage,
								bool boolPreformatted = false ) const
						{
							if (IsMessages())
							{
								Display( strMessage, boolPreformatted );
							}
						}
		inline void ActMessage( const string& strMessage )
						{
							if (IsMessages())
							{
								Display( strMessage, false );
							}
							CheckActions( strMessage );
						}
		inline void ErrMessage( const string& strMessage ) const
						{
							Display( strMessage, false );
						}

		inline bool IsIgnore() { return GetSettings()->IsIgnore(); }
		inline bool IsActionsDefined()
						{
							return (0 != GetListActions()->GetTop());
						}

		virtual void SendToWorld( const string& strOutput );
		virtual void Display( const string& strOutput,
								bool boolPreformatted ) const;
		void Reset();

		void ParseInput( const string& strInput );

		void CheckActions( const string& strLine );
		void CheckInsertPath( const string& strCommand );

		void OnSecondTick( time_t timeCurr );

	protected:
		inline ChWorldMainInfo* GetMainInfo() const { return m_pMainInfo; }
		inline TinTinSettings* GetSettings() const
						{
							return m_pActiveSettings;
						}

		inline TinTinList* GetListAliases() const
						{
							return GetSettings()->GetListAliases();
						}
		inline TinTinList* GetListActions() const
						{
							return GetSettings()->GetListActions();
						}
		inline TinTinList* GetListVars() const

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久久久久| 播五月开心婷婷综合| 尤物在线观看一区| 亚洲伦在线观看| 国产精品美女久久久久av爽李琼| 精品精品欲导航| 欧美一区二区成人6969| 91精品国产乱| 精品日韩在线一区| 久久久精品国产免费观看同学| 日韩女优电影在线观看| 欧美mv日韩mv亚洲| 久久九九99视频| 中文字幕一区二区不卡| 一区二区国产视频| 日韩极品在线观看| 国产一区二区免费在线| 国产一区 二区 三区一级| 国产成人精品aa毛片| 99久久婷婷国产| 欧美色综合网站| 日韩欧美国产精品一区| 国产色一区二区| 亚洲免费在线视频一区 二区| 亚洲一区影音先锋| 蜜臀久久99精品久久久久久9| 激情文学综合插| 不卡在线视频中文字幕| 色老汉一区二区三区| 91精品久久久久久蜜臀| 精品国产乱码91久久久久久网站| 久久精品亚洲精品国产欧美| 亚洲免费高清视频在线| 另类小说一区二区三区| 成人深夜在线观看| 在线不卡a资源高清| 国产午夜精品一区二区三区视频| 亚洲综合色丁香婷婷六月图片| 奇米精品一区二区三区在线观看一| 国产精品一二三四| 91精品国产综合久久精品图片| 欧美极品少妇xxxxⅹ高跟鞋| 亚洲精品成人精品456| 激情五月婷婷综合网| 色婷婷综合久久久久中文一区二区 | 亚洲国产综合色| 黄色日韩三级电影| 欧美亚洲综合久久| 国产欧美久久久精品影院| 性久久久久久久久久久久| 成人免费视频国产在线观看| 日韩午夜精品电影| 性做久久久久久| 91久久久免费一区二区| 久久嫩草精品久久久精品一| 亚洲乱码中文字幕综合| 国产成人精品一区二区三区网站观看| 4438x成人网最大色成网站| ...xxx性欧美| 成人在线视频一区| 国产无一区二区| 激情综合色综合久久| 欧美一区午夜视频在线观看| 亚洲一区在线观看免费| 91女神在线视频| ㊣最新国产の精品bt伙计久久| 国产毛片精品视频| 日韩欧美成人激情| 免费观看久久久4p| 日韩一区二区在线看片| 亚洲成人免费影院| 欧美日韩一区在线| 天天爽夜夜爽夜夜爽精品视频 | 一区二区高清视频在线观看| 成人自拍视频在线观看| 久久久久久久国产精品影院| 国产尤物一区二区| 国产偷v国产偷v亚洲高清| 国产一区二三区好的| 精品av久久707| 国产麻豆精品theporn| 久久蜜桃av一区二区天堂| 国产精品综合在线视频| 久久久久亚洲综合| av一区二区三区黑人| 国产精品国产三级国产普通话蜜臀| 国产超碰在线一区| 中文字幕一区二区三区不卡| 91麻豆福利精品推荐| 亚洲国产美女搞黄色| 日韩一区二区免费在线电影| 久久精品国产精品青草| 久久九九久精品国产免费直播| 高清在线成人网| 亚洲精品免费在线播放| 欧美日韩国产不卡| 国产一本一道久久香蕉| 国产欧美一区二区精品性色超碰| www.一区二区| 亚洲va欧美va人人爽午夜| 日韩免费在线观看| 99精品国产一区二区三区不卡| 亚洲一区二区免费视频| 精品日韩欧美在线| 99国产麻豆精品| 日韩在线一区二区三区| 欧美—级在线免费片| 欧美日韩一区二区在线观看视频| 蜜臂av日日欢夜夜爽一区| 欧美国产欧美亚州国产日韩mv天天看完整 | 91麻豆精品国产91久久久久久久久| 久久精品国产精品亚洲精品 | 欧美视频一区在线| 黑人巨大精品欧美一区| 一区二区三区久久| 精品va天堂亚洲国产| 欧洲色大大久久| 成人av网在线| 久久er精品视频| 亚洲综合色自拍一区| 国产网红主播福利一区二区| 6080日韩午夜伦伦午夜伦| 成人国产精品免费观看动漫| 日韩精品一级二级| 亚洲精品成人精品456| 国产视频911| 欧美电影免费观看完整版| 欧美在线观看一区二区| 成人av在线影院| 国产综合成人久久大片91| 亚洲成av人**亚洲成av**| 亚洲视频香蕉人妖| 亚洲国产经典视频| 久久综合九色综合97婷婷| 欧美性感一类影片在线播放| 99精品视频中文字幕| 国产99精品在线观看| 韩国女主播一区| 蜜臀av性久久久久av蜜臀妖精 | 日本视频免费一区| 一区二区三区高清| 亚洲视频一区二区在线观看| 国产精品丝袜91| 日本一区二区三区四区在线视频| 欧美高清精品3d| 欧美日韩久久一区| 在线观看免费视频综合| 91黄色免费版| 欧洲视频一区二区| 欧美性受xxxx黑人xyx| 欧美性xxxxxx少妇| 欧美日韩国产区一| 欧美日韩激情一区二区| 欧美丰满少妇xxxxx高潮对白| 欧美亚洲禁片免费| 欧美日韩亚洲综合一区二区三区| 91性感美女视频| 欧洲中文字幕精品| 欧美日韩一区二区三区视频| 欧美视频三区在线播放| 91精品国产综合久久久久久久久久| 在线电影一区二区三区| 91麻豆精品国产| 久久久久久黄色| 国产精品久久久久三级| 亚洲日本在线天堂| 亚洲国产美国国产综合一区二区| 婷婷久久综合九色国产成人 | 亚洲成人av免费| 日本亚洲一区二区| 黄色日韩三级电影| 9久草视频在线视频精品| 日本道免费精品一区二区三区| 欧美在线视频日韩| 日韩欧美一区二区三区在线| 国产人久久人人人人爽| 亚洲人成网站在线| 日韩电影在线观看一区| 久久99国产精品免费网站| 9色porny自拍视频一区二区| 欧美日韩一区二区三区在线| 国产精品全国免费观看高清| 亚洲欧洲综合另类| 麻豆专区一区二区三区四区五区| 丁香亚洲综合激情啪啪综合| 日本韩国欧美国产| 久久久久久久性| 亚洲综合精品自拍| 国产一区二区三区国产| 欧美三级视频在线| 国产三级精品视频| 亚洲不卡av一区二区三区| 国内精品视频一区二区三区八戒| 91浏览器在线视频| 欧美不卡一区二区| 亚洲韩国精品一区| 99久久精品免费精品国产| 欧美一区在线视频| 亚洲午夜羞羞片| 99久久免费视频.com|