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

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

?? path.h

?? this keik game source
?? H
字號:
//-----------------------------------------------------------------------------
//
//  $Logfile:: /Quake 2 Engine/Sin/code/game/path.h                           $
// $Revision:: 22                                                             $
//   $Author:: Jimdose                                                        $
//     $Date:: 10/25/98 11:53p                                                $
//
// Copyright (C) 1997 by Ritual Entertainment, Inc.
// All rights reserved.
//
// This source is may not be distributed and/or modified without
// expressly written permission by Ritual Entertainment, Inc.
//
// $Log:: /Quake 2 Engine/Sin/code/game/path.h                                $
// 
// 22    10/25/98 11:53p Jimdose
// added EXPORT_TEMPLATE
// 
// 21    10/16/98 8:24p Jimdose
// Added distanceToNextNode and dirToNextNode;
// Optimized ClosestPointOnPath, DistanceAlongPath, PointAtDistance
// 
// 20    10/16/98 1:54a Jimdose
// Added another NextNode function for finding the next node after the
// specified node
// 
// 19    9/22/98 12:49p Markd
// Put in archive and unarchive functions
// 
// 18    8/18/98 10:02p Jimdose
// Added NextNode
// 
// 17    5/26/98 7:56p Jimdose
// added scripted cameras
// 
// 16    5/20/98 6:39p Jimdose
// Made ClosestPointOnPath accept an Entity to do a trace for
// 
// 15    5/16/98 3:38p Jimdose
// Added ClosestPointOnPath, DistanceAlongPath, and PointAtDistance
// 	
// 
// 14    5/13/98 4:50p Jimdose
// Added use of SafePtrs
// 
// 13    4/16/98 2:10p Jimdose
// Now uses PathNode as path point
// 
// 12    3/05/98 3:49p Jimdose
// Made the pathinfo_t == operator EXPORT_FROM_DLL
// 
// 11    3/04/98 1:42p Jimdose
// Added pathinfo_t comparison function
// 
// 10    3/02/98 8:49p Jimdose
// Changed CLASS_PROTOTYPE to only take the classname
// 
// 9     3/02/98 5:43p Jimdose
// Continued development on paths.  Now uses Path class to represent a path.
//
// DESCRIPTION:
// 

#ifndef __PATH_H__
#define __PATH_H__

#include "g_local.h"
#include "class.h"
#include "container.h"
#include "navigate.h"

//
// Exported templated classes must be explicitly instantiated
//
#ifdef EXPORT_TEMPLATE
template class EXPORT_FROM_DLL Container<PathNodePtr>;
template class EXPORT_FROM_DLL Container<float>;
template class EXPORT_FROM_DLL Container<Vector>;
#endif

class EXPORT_FROM_DLL Path : public Class
	{
	private:
		Container<PathNodePtr>	pathlist;
      Container<float>	      distanceToNextNode;
      Container<Vector>	      dirToNextNode;
		float							pathlength;
		PathNodePtr					from;
		PathNodePtr					to;
		int							nextnode;
		
	public:
      CLASS_PROTOTYPE( Path );

						Path();
						Path( int numnodes );
		void			Clear( void );
		void			Reset( void );
		void			AddNode( PathNode *node );
		PathNode		*GetNode( int num );
		PathNode		*NextNode( void );
      PathNode		*NextNode( PathNode *node );
		Vector		ClosestPointOnPath( Vector pos );
		float			DistanceAlongPath( Vector pos );
		Vector		PointAtDistance( float dist );
		PathNode		*NextNode( float dist );
		void			DrawPath( float r, float g, float b, float time );
		int			NumNodes( void );
		float			Length( void );
		PathNode		*Start( void );
		PathNode		*End( void );
	   virtual void Archive( Archiver &arc );
      virtual void Unarchive( Archiver &arc );
	};

inline EXPORT_FROM_DLL void Path::Archive
	(
	Archiver &arc
	)
   {
   PathNodePtr ptr;
   int i, num;

   Class::Archive( arc );

   num = pathlist.NumObjects();
   arc.WriteInteger( num );
   for ( i = 1; i <= num; i++ )
      {
      ptr = pathlist.ObjectAt( i );
      arc.WriteSafePointer( ptr );
      }

   arc.WriteFloat( pathlength );
   arc.WriteSafePointer( from );
   arc.WriteSafePointer( to );
   arc.WriteInteger( nextnode );
   }

inline EXPORT_FROM_DLL void Path::Unarchive
	(
	Archiver &arc
	)
   {
   PathNodePtr *ptr;
   PathNodePtr node;
   float len;
   Vector dir;
   int i, num;

   Class::Unarchive( arc );

   pathlist.FreeObjectList();
   distanceToNextNode.FreeObjectList();
   dirToNextNode.FreeObjectList();

   arc.ReadInteger( &num );
   for( i = 1; i <= num; i++ )
      {
      pathlist.AddObject( node );
      ptr = pathlist.AddressOfObjectAt( i );
      arc.ReadSafePointer( ptr );
      }

   // Recalculate the path distances and directions
   // only go up to the node before the last node.
   for( i = 1; i < num; i++ )
      {
      dir = pathlist.ObjectAt( i + 1 )->worldorigin - pathlist.ObjectAt( i )->worldorigin;
      len = dir.length();
      dir *= 1 / len;

      distanceToNextNode.SetObjectAt( i, len );
      dirToNextNode.SetObjectAt( i, dir );
      }

   if ( num )
      {
      // special case for last node
      len = 0;
      distanceToNextNode.AddObject( len );
      dirToNextNode.AddObject( vec_zero );
      }

   arc.ReadFloat( &pathlength );
   arc.ReadSafePointer( &from );
   arc.ReadSafePointer( &to );
   arc.ReadInteger( &nextnode );
   }


#ifdef EXPORT_TEMPLATE
template class EXPORT_FROM_DLL SafePtr<Path>;
#endif
typedef SafePtr<Path> PathPtr;

#endif /* path.h */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区四区五区| 亚洲福利一二三区| 激情综合色综合久久| 欧美日韩精品福利| 亚洲精品中文字幕在线观看| 日韩精品一区二区三区在线| 日韩精品91亚洲二区在线观看| 欧美人狂配大交3d怪物一区| 亚洲国产成人av| 欧美无人高清视频在线观看| 亚洲午夜久久久久久久久电影网 | 欧美一区二区私人影院日本| 日韩国产高清在线| 91精品国产一区二区人妖| 奇米一区二区三区| 337p日本欧洲亚洲大胆色噜噜| 国产一区二区精品久久99| 久久久久久久综合| 91福利小视频| 国产精品一区2区| 亚洲美女免费视频| 欧美高清性hdvideosex| 国产成人免费在线观看| 亚洲成人av一区二区三区| 精品久久久久久久久久久久久久久| 国产成人在线色| 日日骚欧美日韩| 国产日韩欧美高清在线| 91尤物视频在线观看| 五月天久久比比资源色| 中文字幕在线视频一区| 精品国产免费视频| 欧美美女网站色| 粉嫩高潮美女一区二区三区 | 中文字幕在线观看一区| 欧美一区二区播放| 欧美日韩一级视频| 欧美四级电影网| 色综合天天综合网天天看片| 国产一区二区福利| 国产一区二区成人久久免费影院 | 自拍偷拍国产精品| 国产精品女同一区二区三区| 久久久噜噜噜久久中文字幕色伊伊| 欧美日韩综合色| 欧美熟乱第一页| 色素色在线综合| 在线视频欧美区| 欧美一区二区三区视频免费播放| 97精品久久久午夜一区二区三区| av在线播放成人| 色狠狠av一区二区三区| 欧美精品一区二区三区四区| 国产精品福利影院| 亚洲欧美一区二区久久| 国产精品国产三级国产三级人妇| 精品国产伦一区二区三区观看体验 | 精品在线亚洲视频| 日韩专区欧美专区| 视频在线观看一区二区三区| 亚洲bt欧美bt精品| 99精品国产91久久久久久| 色哟哟一区二区在线观看| 日韩一卡二卡三卡四卡| 中文字幕在线观看不卡视频| 亚洲va国产va欧美va观看| 国产福利一区二区三区视频| 99久久99久久免费精品蜜臀| 欧美日韩国产精品成人| 亚洲精品一线二线三线 | 欧美亚洲高清一区| 亚洲精品一区二区三区精华液| 国产精品免费视频一区| 日韩国产在线一| 91色视频在线| 精品日韩欧美在线| 亚洲免费在线播放| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 日韩在线观看一区二区| 大美女一区二区三区| 日韩一区二区在线播放| 亚洲影院久久精品| 色94色欧美sute亚洲线路一久| 精品盗摄一区二区三区| 亚洲成av人影院| 色网站国产精品| 亚洲欧洲无码一区二区三区| 国产精品一区二区不卡| 久久蜜桃一区二区| 激情伊人五月天久久综合| 欧美一级日韩不卡播放免费| 日韩中文欧美在线| 91精品国产综合久久精品图片| 久久精品噜噜噜成人88aⅴ | 欧美日韩精品系列| 三级亚洲高清视频| 欧美videofree性高清杂交| 美女高潮久久久| 欧美成人精精品一区二区频| 蜜臀久久99精品久久久久久9| 欧美一级免费观看| 国产自产2019最新不卡| 国产精品二三区| 欧美吻胸吃奶大尺度电影| 午夜精品成人在线| 久久亚洲一级片| 波多野结衣中文字幕一区| 国产视频911| 成人动漫精品一区二区| 亚洲成人综合网站| 久久婷婷成人综合色| 91福利在线看| 成人一区二区三区| 黑人巨大精品欧美黑白配亚洲| 亚洲欧洲中文日韩久久av乱码| 欧美一区二区三区色| 在线欧美小视频| 成人黄色在线网站| 激情综合色播激情啊| 一区二区三区欧美| 精品三级av在线| 91蝌蚪porny| 国产精品综合一区二区三区| 亚洲无人区一区| 中文字幕成人av| 日韩网站在线看片你懂的| 97se亚洲国产综合自在线观| 国产在线一区二区| 日本成人在线电影网| 亚洲欧美日韩久久| 久久久久久亚洲综合影院红桃| 91精品福利在线一区二区三区 | 亚洲视频免费看| 欧美国产精品一区二区三区| 欧美精品三级在线观看| 色综合中文字幕国产| 国产成都精品91一区二区三| 秋霞电影一区二区| 亚洲成av人影院在线观看网| 亚洲精品成a人| 亚洲精品国产第一综合99久久| 国产日韩欧美在线一区| 久久网这里都是精品| 亚洲精品在线网站| 久久久精品国产免费观看同学| 日韩无一区二区| 26uuu国产在线精品一区二区| 日韩欧美综合在线| 日韩精品一区二区三区三区免费| 日韩一级免费观看| 日韩女同互慰一区二区| 欧美成人一级视频| 国产丝袜美腿一区二区三区| 久久精品欧美日韩| 中文字幕日韩精品一区| 亚洲成人免费观看| 精品一区二区在线视频| 国产成人午夜99999| 色综合天天综合网国产成人综合天| 91免费观看视频在线| 欧美撒尿777hd撒尿| 久久综合久久99| 亚洲精品写真福利| 免费成人av资源网| 懂色av噜噜一区二区三区av| 91色在线porny| 精品第一国产综合精品aⅴ| 亚洲视频 欧洲视频| 极品美女销魂一区二区三区| 99re在线精品| 精品国产一区二区三区久久久蜜月 | 欧美日本在线一区| 国产欧美视频一区二区三区| 偷窥国产亚洲免费视频| 国产成人精品免费| 日韩视频一区在线观看| 自拍视频在线观看一区二区| 亚洲一区av在线| av一区二区三区在线| 久久久国产精华| 麻豆成人久久精品二区三区红| 99re这里只有精品视频首页| 国产日韩欧美精品综合| 精品在线观看免费| 亚洲精品一区二区三区蜜桃下载 | 色综合久久综合网欧美综合网| 日韩女优av电影| 美国一区二区三区在线播放| 欧美性色黄大片| 亚洲理论在线观看| 91啪亚洲精品| 亚洲在线中文字幕| 91香蕉国产在线观看软件| 国产精品动漫网站| 91香蕉国产在线观看软件| 亚洲精品高清在线| 欧美在线|欧美| 蜜桃久久av一区| 精品成人佐山爱一区二区| 国产精品自在欧美一区|