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

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

?? chanidep.cpp

?? Windows上的MUD客戶端程序
?? CPP
字號:
/*----------------------------------------------------------------------------
                        _                              _ _       
        /\             | |                            | (_)      
       /  \   _ __   __| |_ __ ___  _ __ ___   ___  __| |_  __ _ 
      / /\ \ | '_ \ / _` | '__/ _ \| '_ ` _ \ / _ \/ _` | |/ _` |
     / ____ \| | | | (_| | | | (_) | | | | | |  __/ (_| | | (_| |
    /_/    \_\_| |_|\__,_|_|  \___/|_| |_| |_|\___|\__,_|_|\__,_|

    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.

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

	This file consists of the implementation of the ChGraphicView view class.

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

#include "grheader.h"

#include <ChUrlMap.h>

#include "ChGrMod.h"
#include "ChAniDep.h"
#include "ChAniPrs.h"
#include "ChGrStrm.h"

#ifdef _DEBUG
	#undef THIS_FILE
	static char THIS_FILE[] = __FILE__;
#endif

#if 0
ChAnimHTTPReq::~ChAnimHTTPReq()
{
//TRACE0("~ChAnimHTTPReq()");
	if (m_parent) m_parent->Delete(this);
	m_parent=0;
}

void ChAnimHTTPReq::Add( ChGraphicHTTPReq *pDependency )
{
	m_dependencies.AddTail(pDependency);
	pDependency->AddParent(this);
}

void ChAnimHTTPReq::Delete( ChGraphicHTTPReq *pDependency )
{
	ChPosition pos = m_dependencies.Find(pDependency);
	m_dependencies.Remove(pos);

	if (pos && m_dependencies.IsEmpty())
	{
		OnEmpty();
	}
}

void ChAnimHTTPReq::OnEmpty()
{
	if(m_parent)
	{
		m_parent->Delete(this);
		m_parent = 0;
	}

	delete this;
};

void ChAnimHTTPReq::AddParent( ChAnimHTTPReq *pDependency )
{
	m_parent = pDependency;
}

#endif // 0
// subclasses in alpha order

// ChAnimBackgroundHTTPReq

ChAnimBackgroundHTTPReq::~ChAnimBackgroundHTTPReq()
{
	m_parent = 0;
	while(!m_parents.IsEmpty())
	{
		ChGraphicHTTPReq *pParent = m_parents.RemoveHead();
		pParent->Delete(this);
	}
}

void ChAnimBackgroundHTTPReq::AddParent( ChGraphicHTTPReq *pDependency )
{
	m_parent = pDependency;	// last one added - not really used
	m_parents.AddTail(pDependency);
}

// ChAnimCastHTTPReq

void ChAnimCastHTTPReq::OnEmpty()
{
	// Do all the stuff we are dependent on sprites and scripts
	
	CPhasedSprite* pSprite;

	pSprite = m_pCast->GetSprite();
	m_pCast->SetSprite(pSprite);		// sets up sprite ready to be realized

	m_pCast->InitializeScript();

	((ChAnimView*)m_pView)->AddCharacter(m_pCast);	// includes sprite palette setting
	if(m_parent)
	{
		m_parent->Delete(this);
	}
	m_parent = 0;
	delete this;
}

bool  ChAnimCastHTTPReq::RequestParts(ChGraphicMainInfo* pGraphicInfo )
{
	if (m_pCast->GetId())
	{
		ChAnimSpriteHTTPReq *pSpriteReq = new ChAnimSpriteHTTPReq ( (ChAnimView*)m_pView, m_pCast->GetSprite(), GetURL() );
		Add(pSpriteReq);
		ChURLParts urlParts;
		urlParts.GetURLParts( m_pCast->GetSpriteURL(), GetURL() );

		pGraphicInfo->GetCore()->GetURL( urlParts.GetURL(), 0, pGraphicInfo->GetStream(), 
									(chparam)pSpriteReq );

		if ( (m_pCast->GetScriptURL()).GetLength())
		{
			urlParts.GetURLParts( m_pCast->GetScriptURL(), GetURL() );

			ChAnimScriptHTTPReq *pScriptReq = new ChAnimScriptHTTPReq ( (ChAnimView*)m_pView, m_pCast, GetURL() );
			Add(pScriptReq);
			pGraphicInfo->GetCore()->GetURL( m_pCast->GetScriptURL(), 0, 
											pGraphicInfo->GetStream(), (chparam)pScriptReq );
		}
	}
	return true;
}

bool  ChAnimCastHTTPReq::Load(string& strFilename, ChGraphicMainInfo* pInfo)
{
	//ChAnimCastMember *pCast = new ChAnimCastMember(0);   // if id is 0, didn't read
	ifstream castStrm(strFilename);
	// parse it, adding what's parsed and spawning new requests for sprites and scripts
	ChAnimParser parser( (ChAnimView*)m_pView, 
						 (iostream *)(&castStrm), 
						 pInfo, 
						 GetURL(), 
						 (ChGraphicHTTPReq*)m_parent );

	bool boolSuccess = !parser.interpret();		 // try new parser 1=> failed
	ASSERT(boolSuccess);		// rude, but only for debugging CAML


	#if 0
	/*while(pCast)
	{
		pCast->Read( castStrm );
		if (pCast->GetId())
		{
			// kick off other stages: sprite and optional script
			ChAnimCastHTTPReq *pNewCastReq = new ChAnimCastHTTPReq ( pInfo->GetView(), pCast );
			if (m_parent) m_parent->Add(pNewCastReq);
			ChAnimSpriteHTTPReq *pSpriteReq = new ChAnimSpriteHTTPReq ( pInfo->GetView(), pCast->GetSprite() );
			pNewCastReq->Add(pSpriteReq);
			pInfo->GetHTTPConn()->GetURL( pCast->GetSpriteURL(), (chparam)pSpriteReq );
			if ( (pCast->GetScriptURL()).GetLength())
			{
				ChAnimScriptHTTPReq *pScriptReq = new ChAnimScriptHTTPReq ( pInfo->GetView(), pCast );
				pNewCastReq->Add(pScriptReq);
				pInfo->GetHTTPConn()->GetURL( pCast->GetScriptURL(), (chparam)pScriptReq );
			}
			pCast = new ChAnimCastMember(0);
		}
		else
		{
			delete pCast; // done
			pCast = 0;
		}
	}
	*/
	#endif
	
	return true; 
}

// ChAnimSceneHTTPReq
void ChAnimSceneHTTPReq::OnEmpty()
{

	if(m_parent)
	{
		m_parent->Delete(this);
	}
	m_parent = 0;
	delete this;
}


bool  ChAnimSceneHTTPReq::Load(string& strFilename, ChGraphicMainInfo* pInfo)
{
	ifstream castStrm(strFilename);
	// parse it, adding what's parsed and spawning new requests for sprites and scripts
	ChAnimParser parser( (ChAnimView*)m_pView, 
						 (iostream *)(&castStrm), 
						 pInfo, 
						 GetURL(), 
						 (ChGraphicHTTPReq*)m_parent );

	bool boolSuccess = !parser.interpret();		 // try new parser 1=> failed
	ASSERT(boolSuccess);		// rude, but only for debugging CAML


	return true; 
}


// ChAnimScriptHTTPReq

bool  ChAnimScriptHTTPReq::Load(string& strFilename, ChGraphicMainInfo* pInfo)
{
	// only implemented for load from a cast member
	// to an existing cast member, and for not-yet-requested cast member later
	ifstream	scriptFile( strFilename );
	ASSERT(m_pCast);
	ChAnimParser parser( (ChAnimView*)m_pView, 
						 (iostream *)(&scriptFile), 
						 pInfo, 
						 GetURL(), 
						 (ChGraphicHTTPReq*)m_parent );

	parser.SetCast( m_pCast );	// who to add it to
	//parser.SetMode( ChAnimParser::script );	// what to accept ??

	bool boolSuccess = !parser.interpret();		 // try new parser 1=> failed
	ASSERT(boolSuccess);		// rude, but only for debugging CAML

	if(parser.GetKey() == SCRIPT)
	{
				ChAnimScript *pScript  = (ChAnimScript *)(parser.GetVal());

				m_pCast->SetScript( pScript, false );  // don't copy cells; too slow
				pScript->SaveCells();		  // don't delete them either; that would crash
				delete pScript;				  // destructor noramlly deletes cells
	}
	#if 0
	ifstream	scriptFile( strFilename );
	int numCells, iCurCell;
	int iNumSpriteRows, iNumSpriteCols;
	chint32 lFrameRate;
	 
	scriptFile >> numCells;
	scriptFile >> iCurCell;
	scriptFile >> lFrameRate;
	scriptFile >> iNumSpriteRows;
	scriptFile >> iNumSpriteCols;
	ChCell *pScript = new ChCell [numCells];

	for (int j=0; j<numCells; j++)
	{
		scriptFile >> pScript[j].x;     
		scriptFile >> pScript[j].y;     
		scriptFile >> pScript[j].z;     
		scriptFile >> pScript[j].sprite;	 // currently ignored 3/19/95
		scriptFile >> pScript[j].row;   
		scriptFile >> pScript[j].col;   
	}

	m_pCast->SetScript(numCells,  iCurCell,  lFrameRate, pScript);
	#endif

	delete this;

	return false;
}

// ChAnimSpriteHTTPReq

bool  ChAnimSpriteHTTPReq::Load(string& strFilename, ChGraphicMainInfo* pInfo)
{
	
	m_pSprite->Load( (char *)(LPCTSTR(strFilename)));
	m_pSprite->Initialize();
	if (pInfo->GetLeafDependent())
	{
		Add(pInfo->GetLeafDependent());
	}
	else delete this;

	return false;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品视频网| 男女男精品视频网| 国产在线视频不卡二| 日韩女同互慰一区二区| 精品一区二区国语对白| 国产日韩成人精品| 99精品在线观看视频| 亚洲精品五月天| 欧美亚洲免费在线一区| 日韩高清欧美激情| 国产精品色一区二区三区| 91美女蜜桃在线| 蜜臀av性久久久久av蜜臀妖精| 欧美国产日韩在线观看| 99久久久久免费精品国产 | 91免费在线播放| 97精品国产97久久久久久久久久久久| av电影在线不卡| 蜜臀久久99精品久久久画质超高清 | 国产精品私房写真福利视频| 欧美高清在线视频| 亚洲男人天堂av网| 欧美大片免费久久精品三p| 精品国产乱子伦一区| 91蜜桃婷婷狠狠久久综合9色| 91看片淫黄大片一级| 精品视频1区2区| 成人精品电影在线观看| 久久激五月天综合精品| 婷婷久久综合九色国产成人| 中文字幕成人网| 一区二区三区欧美| 国产精品久久久久四虎| 一区二区三区在线播| 亚洲一区二区三区中文字幕| 亚洲欧美在线观看| 欧美韩国一区二区| 亚洲综合av网| 国产精品资源在线观看| 蜜臀久久久99精品久久久久久| 国产成人福利片| 麻豆免费精品视频| 91网站视频在线观看| 欧美另类变人与禽xxxxx| 欧洲色大大久久| 色天使久久综合网天天| 波多野结衣精品在线| 欧美一级久久久| 日韩一级片在线播放| 中文字幕亚洲综合久久菠萝蜜| 日韩黄色一级片| 日本欧美在线观看| 99综合影院在线| 精品国产一区二区三区久久久蜜月 | 99综合影院在线| 欧美精品一区二区不卡| 久久综合久久综合亚洲| 亚洲乱码中文字幕综合| 狠狠狠色丁香婷婷综合激情| 欧美挠脚心视频网站| 欧美日韩一区二区三区视频 | 国产日韩精品一区| 精品午夜久久福利影院| 欧美另类videos死尸| 亚洲欧美激情小说另类| 成人avav影音| 国产欧美日韩中文久久| 国产精品白丝jk黑袜喷水| 日韩久久久精品| 日韩精品免费专区| 91精品国产91久久久久久最新毛片| 欧美大白屁股肥臀xxxxxx| 欧美一区二区久久| 亚洲综合在线电影| 一本色道亚洲精品aⅴ| 国产精品国产自产拍在线| 国产成人a级片| 国产清纯美女被跳蛋高潮一区二区久久w| 强制捆绑调教一区二区| 欧美丰满少妇xxxbbb| 亚洲成人福利片| 国产精品99久久久久久似苏梦涵| 精品国产青草久久久久福利| 久久精品99久久久| 久久一夜天堂av一区二区三区| 久久99精品久久久久久国产越南| 91精品国产91久久久久久一区二区 | 成人高清免费在线播放| 亚洲欧洲日韩女同| 在线观看av一区| 亚洲成av人片观看| 精品日韩在线观看| 国产成都精品91一区二区三| 欧美网站大全在线观看| 天堂一区二区在线| 精品国产网站在线观看| 国产成人精品免费一区二区| 综合分类小说区另类春色亚洲小说欧美| 日韩电影在线一区二区| 日韩色视频在线观看| 国产传媒日韩欧美成人| 亚洲精品v日韩精品| 欧美一区日韩一区| 成人天堂资源www在线| 日韩精品一区二区三区视频播放| 国产精品99久久不卡二区| 一卡二卡三卡日韩欧美| 日韩小视频在线观看专区| 北条麻妃国产九九精品视频| 亚洲女同一区二区| 欧美一区二区三区在线视频 | 国产偷v国产偷v亚洲高清| 亚洲国产日日夜夜| 色一情一伦一子一伦一区| 免费成人小视频| 国产精品不卡一区| 日韩欧美国产综合一区 | 欧美国产视频在线| 欧美日韩亚洲丝袜制服| 国产一区二区三区黄视频| 这里是久久伊人| 成人一区二区三区在线观看| 亚洲成人免费视| 国产精品久久久久久久第一福利| 欧美美女喷水视频| 丁香激情综合国产| 久久精品99久久久| 午夜影院在线观看欧美| 中文字幕一区二区在线播放| 日韩一区二区视频在线观看| 一本色道久久综合精品竹菊| 色婷婷久久久综合中文字幕| 日韩精品欧美精品| 亚洲一区在线播放| 国产精品欧美综合在线| 精品国产青草久久久久福利| 7777女厕盗摄久久久| 在线看国产日韩| 成人动漫av在线| 国产精品一区二区黑丝| 精品中文av资源站在线观看| 亚洲国产精品人人做人人爽| 日韩一区中文字幕| 国产女人18毛片水真多成人如厕 | 丁香啪啪综合成人亚洲小说| 久久99久久99精品免视看婷婷| 亚洲自拍另类综合| 亚洲色图制服诱惑| 亚洲欧美一区二区视频| 国产精品传媒入口麻豆| 国产午夜精品理论片a级大结局| 精品少妇一区二区三区在线播放 | 91精品国产91热久久久做人人| 欧美影片第一页| 欧美无砖砖区免费| 欧美午夜精品一区二区蜜桃| 91成人看片片| 麻豆成人久久精品二区三区红 | 美脚の诱脚舐め脚责91 | 国产91色综合久久免费分享| 国产伦精品一区二区三区视频青涩 | 91猫先生在线| 色综合久久综合网| 欧美亚洲综合网| 一本色道久久综合亚洲91| 色婷婷国产精品久久包臀 | 欧美一卡2卡三卡4卡5免费| 欧美日韩国产综合草草| 欧美精品三级日韩久久| 91精品婷婷国产综合久久| 欧美变态tickling挠脚心| 久久色视频免费观看| 亚洲国产成人一区二区三区| 国产精品女主播在线观看| 亚洲欧美日韩综合aⅴ视频| 一区二区三区欧美日韩| 婷婷一区二区三区| 国产精品系列在线播放| 99久久综合狠狠综合久久| 色成年激情久久综合| 欧美久久一二三四区| 精品va天堂亚洲国产| 欧美国产日韩亚洲一区| 一区二区三区 在线观看视频| 午夜视黄欧洲亚洲| 高清成人免费视频| 欧美专区在线观看一区| 日韩午夜av电影| 中文字幕在线不卡一区二区三区| 亚洲欧美激情在线| 久久国产精品一区二区| 成人精品国产免费网站| 91精品国产综合久久久久久久| 亚洲精品一区在线观看| 日韩一区在线免费观看| 美国精品在线观看| 91蜜桃免费观看视频| 日韩欧美电影在线| 亚洲女厕所小便bbb| 蜜桃av一区二区三区|