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

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

?? scriptslave.h

?? this keik game source
?? H
字號:
//-----------------------------------------------------------------------------
//
//  $Logfile:: /Quake 2 Engine/Sin/code/game/scriptslave.h                    $
// $Revision:: 32                                                             $
//   $Author:: Markd                                                          $
//     $Date:: 10/28/98 8:37p                                                 $
//
// 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/scriptslave.h                         $
// 
// 32    10/28/98 8:37p Markd
// Added notshootable functionality
// 
// 31    10/27/98 9:16p Jimdose
// overrode bind and unbind events
// 
// 30    10/24/98 2:09p Aldie
// Added func_volumetric
// 
// 29    10/23/98 10:04p Markd
// Added explode event
// 
// 28    9/23/98 11:00p Markd
// put in some garbage collection on stuff that wasn't freed up
// 
// 27    9/21/98 10:15p Markd
// Putting archiving and unarchiving functions in
// 
// 26    9/21/98 6:05p Markd
// added archive and unarchive functions
// 
// 25    8/21/98 3:48p Markd
// Added new rotate commands
// 
// 24    8/21/98 1:46a Markd
// Added RotateUpTo, RotateDownTo and RotateTo
// 
// 23    7/23/98 6:17p Aldie
// Updated damage system and fixed some damage related bugs.  Also put tracers
// back to the way they were, and added gib event to funcscriptmodels
// 
// 22    7/22/98 3:48p Jimdose
// Changed damage to an event function.  Fixed the slaves not responding to
// damage
// 
// 21    7/11/98 6:32p Markd
// removed valid orientation, simplified code
// 
// 20    7/10/98 1:13p Markd
// Added more functionality to spline based movement
// 
// 19    7/08/98 12:42p Markd
// Added spline based following of paths
// 
// 18    6/18/98 8:49p Jimdose
// Changed all thread variables to ThreadPtrs
// 
// 17    6/11/98 11:53a Aldie
// Updated the damage parms for scriptslave::damage
// 
// 16    5/24/98 8:46p Jimdose
// Made a lot of functions more str-friendly.
// Got rid of a lot of char * based strings
// Cleaned up get spawn arg functions and sound functions
// sound functions now use consistant syntax
// 
// 15    4/29/98 6:29p Jimdose
// Added ScriptOrigin
// 
// 14    4/07/98 8:01p Markd
// Added ScriptModel constructor
// 
// 13    4/06/98 3:55p Jimdose
// Since RF_FRAMELERP is now cleared out every frame, ClearLerp was redundant
// 
// 12    4/05/98 2:00a Jimdose
// added ClearLerp and ScriptModel
// 
// 11    3/24/98 5:03p Jimdose
// Added NewOrders
// 
// 10    3/23/98 1:33p Jimdose
// Revamped event and command system
// 
// 9     3/02/98 8:49p Jimdose
// Changed CLASS_PROTOTYPE to only take the classname
// 
// 8     2/18/98 8:12p Jimdose
// Changed pointers to scriptMaster to entity numbers
// Changed direct calls to the master into events
// 
// 7     2/17/98 7:03p Jimdose
// no longer pass script into interpretCommand
// 
// 6     2/03/98 10:44a Jimdose
// Updated to work with Quake 2 engine
// 
// 4     10/28/97 4:14p Jimdose
// Removed CommandsWaiting
// 
// 3     10/27/97 2:59p Jimdose
// Removed dependency on quakedef.h
// 
// 2     9/26/97 5:23p Jimdose
// Added standard Ritual headers
//
// DESCRIPTION:
// Standard scripted objects.  Controlled by scriptmaster.  These objects
// are bmodel objects created in the editor and controlled by an external
// text based script.  Commands are interpretted on by one and executed
// upon a signal from the script master.  The base script object can
// perform several different relative and specific rotations and translations
// and can cause other parts of the script to be executed when touched, damaged,
// touched, or used.
// 

#ifndef __SCRIPTSLAVE_H__
#define __SCRIPTSLAVE_H__

#include "g_local.h"
#include "entity.h"
#include "trigger.h"
#include "mover.h"
#include "script.h"
#include "scriptmaster.h"
#include "misc.h"
#include "bspline.h"

class EXPORT_FROM_DLL ScriptSlave : public Mover
	{
	protected:
		ThreadPtr			touchthread;
		ThreadPtr			blockthread;
		ThreadPtr			triggerthread;
		ThreadPtr			usethread;
		ThreadPtr			damagethread;
		ThreadPtr			movethread;

		str					touchlabel;
		str					uselabel;
		str					blocklabel;
		str					triggerlabel;
		str					damagelabel;
		
		float					attack_finished;
		int					dmg;

	public:
		qboolean				commandswaiting;
		Vector				TotalRotation;
		Vector				NewAngles;
		Vector				NewPos;
		Vector				ForwardDir;
		float					speed;
		Waypoint				*waypoint;
		float					traveltime;
		BSpline				*splinePath;
      float             splineTime;
      qboolean          splineangles;
      qboolean          ignoreangles;

      CLASS_PROTOTYPE( ScriptSlave );

								ScriptSlave();
								~ScriptSlave();

		void					NewOrders( Event *ev );
		void					BindEvent( Event *ev );
		void					EventUnbind( Event *ev );
		void					DoMove( Event *ev );
		void					MoveEnd( Event *ev );
		void					SetAnglesEvent( Event *ev );
		void					TriggerEvent( Event *ev );
		void					GotoNextWaypoint( Event *ev );
		void					JumpTo( Event *ev );
		void					MoveToEvent( Event *ev );
		void					SetSpeed( Event *ev );
		void					SetTime( Event *ev );
		void					MoveUp( Event *ev );
		void					MoveDown( Event *ev );
		void					MoveNorth( Event *ev );
		void					MoveSouth( Event *ev );
		void					MoveEast( Event *ev );
		void					MoveWest( Event *ev );
		void					MoveForward( Event *ev );
		void					MoveBackward( Event *ev );
		void					MoveLeft( Event *ev );
		void					MoveRight( Event *ev );
		void					RotateXdownto( Event *ev );
		void					RotateYdownto( Event *ev );
		void					RotateZdownto( Event *ev );
		void					RotateAxisdownto( Event *ev );
		void					RotateXupto( Event *ev );
		void					RotateYupto( Event *ev );
		void					RotateZupto( Event *ev );
		void					RotateAxisupto( Event *ev );
		void					Rotateupto( Event *ev );
		void					Rotatedownto( Event *ev );
		void					Rotateto( Event *ev );
		void					RotateXdown( Event *ev );
		void					RotateYdown( Event *ev );
		void					RotateZdown( Event *ev );
		void					RotateAxisdown( Event *ev );
		void					RotateXup( Event *ev );
		void					RotateYup( Event *ev );
		void					RotateZup( Event *ev );
		void					RotateAxisup( Event *ev );
		void					RotateX( Event *ev );
		void					RotateY( Event *ev );
		void					RotateZ( Event *ev );
		void					RotateAxis( Event *ev );
		void					OnTouch( Event *ev );
		void					NoTouch( Event *ev );
		void					TouchFunc( Event *ev );
		void					OnBlock( Event *ev );
		void					NoBlock( Event *ev );
		void					BlockFunc( Event *ev );
		void					OnTrigger( Event *ev );
		void					NoTrigger( Event *ev );
		void					TriggerFunc( Event *ev );
		void					OnUse( Event *ev );
		void					NoUse( Event *ev );
		void					UseFunc( Event *ev );
		void					OnDamage( Event *ev );
		void					NoDamage( Event *ev );
      void              DamageFunc( Event *ev );
      void					SetDamage( Event *ev );
		void					FollowPath( Event *ev );
		void					EndPath( Event *ev );
		void					FollowingPath( Event *ev );
      void              CreatePath( SplinePath *path,	splinetype_t type );
      void              Explode( Event *ev );
      void              NotShootable( Event *ev );
      virtual void      Archive( Archiver &arc );
      virtual void      Unarchive( Archiver &arc );
	};

inline EXPORT_FROM_DLL void ScriptSlave::Archive
	(
	Archiver &arc
	)
   {
   Mover::Archive( arc );

   arc.WriteSafePointer( touchthread );
   arc.WriteSafePointer( blockthread );
   arc.WriteSafePointer( triggerthread );
   arc.WriteSafePointer( usethread );
   arc.WriteSafePointer( damagethread );
   arc.WriteSafePointer( movethread );

   arc.WriteString( touchlabel );
   arc.WriteString( uselabel );
   arc.WriteString( blocklabel );
   arc.WriteString( triggerlabel );
   arc.WriteString( damagelabel );

   arc.WriteFloat( attack_finished );
   arc.WriteInteger( dmg );

   arc.WriteBoolean( commandswaiting );
   arc.WriteVector( TotalRotation );
   arc.WriteVector( NewAngles );
   arc.WriteVector( NewPos );
   arc.WriteVector( ForwardDir );
   arc.WriteFloat( speed );
   arc.WriteObjectPointer( waypoint );
   arc.WriteFloat( traveltime );
   arc.WriteFloat( splineTime );
   arc.WriteBoolean( splineangles );
   arc.WriteBoolean( ignoreangles );

   // if it exists, archive it, otherwise place a special NULL ptr tag
   if ( splinePath )
      {
      arc.WriteInteger( ARCHIVE_POINTER_VALID );
      splinePath->Archive( arc );
      }
   else
      {
      arc.WriteInteger( ARCHIVE_POINTER_NULL );
      }
   }

inline EXPORT_FROM_DLL void ScriptSlave::Unarchive
	(
	Archiver &arc
	)
   {
   int i;

   Mover::Unarchive( arc );

   arc.ReadSafePointer( &touchthread );
   arc.ReadSafePointer( &blockthread );
   arc.ReadSafePointer( &triggerthread );
   arc.ReadSafePointer( &usethread );
   arc.ReadSafePointer( &damagethread );
   arc.ReadSafePointer( &movethread );

   arc.ReadString( &touchlabel );
   arc.ReadString( &uselabel );
   arc.ReadString( &blocklabel );
   arc.ReadString( &triggerlabel );
   arc.ReadString( &damagelabel );

   arc.ReadFloat( &attack_finished );
   arc.ReadInteger( &dmg );

   arc.ReadBoolean( &commandswaiting );
   arc.ReadVector( &TotalRotation );
   arc.ReadVector( &NewAngles );
   arc.ReadVector( &NewPos );
   arc.ReadVector( &ForwardDir );
   arc.ReadFloat( &speed );
   arc.ReadObjectPointer( ( Class ** )&waypoint );
   arc.ReadFloat( &traveltime );
   arc.ReadFloat( &splineTime );
   arc.ReadBoolean( &splineangles );
   arc.ReadBoolean( &ignoreangles );

   i = arc.ReadInteger();

   if ( i == ARCHIVE_POINTER_VALID )
      {
      splinePath = new BSpline;
      splinePath->Unarchive( arc );
      }
   else if ( i == ARCHIVE_POINTER_NULL )
      {
      splinePath = NULL;
      }
   else
      {
      warning( "Unarchive", "unable to determine archive type for splinePath" );
      }
   }

class EXPORT_FROM_DLL ScriptModel : public ScriptSlave
	{
   private:
      void              GibEvent(Event *ev);
	public:
      CLASS_PROTOTYPE( ScriptModel );
								ScriptModel();
	};

class EXPORT_FROM_DLL ScriptOrigin : public ScriptSlave
	{
	public:
      CLASS_PROTOTYPE( ScriptOrigin );
								ScriptOrigin();
	};

class EXPORT_FROM_DLL ScriptVolumetric : public ScriptSlave
	{
	public:
      CLASS_PROTOTYPE( ScriptVolumetric );
								ScriptVolumetric();
	};

#endif /* scriptslave.h */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲女女做受ⅹxx高潮| 欧美伦理影视网| 中文字幕 久热精品 视频在线 | 久久综合色播五月| 久久精品国产久精国产爱| 日韩一区二区三区在线| 91视频在线看| 亚洲一区在线视频| 欧美精品精品一区| 日本亚洲天堂网| 久久午夜国产精品| 91在线精品一区二区| 亚洲最大成人综合| 日韩欧美123| 成人综合婷婷国产精品久久蜜臀 | 日韩av中文在线观看| 欧美精品欧美精品系列| 久久97超碰色| 亚洲视频在线一区二区| 欧美福利视频一区| 国产精品一区一区三区| 亚洲精品视频观看| 欧美不卡激情三级在线观看| 国产suv精品一区二区三区| 亚洲三级在线播放| 日韩美女天天操| 波多野结衣视频一区| 午夜精品福利一区二区三区蜜桃| 欧美一卡2卡三卡4卡5免费| 高清久久久久久| 午夜激情一区二区| 欧美激情一区二区在线| 欧美日韩电影在线| 欧美日韩小视频| 黄色日韩三级电影| 一区二区免费在线播放| 欧美精品一区视频| 欧美三级三级三级爽爽爽| 国产精品一级在线| 亚洲成a人片在线不卡一二三区 | 在线观看国产一区二区| 国产一区二区三区四区五区美女| 亚洲视频狠狠干| 欧美v日韩v国产v| 色偷偷88欧美精品久久久| 寂寞少妇一区二区三区| 亚洲成av人片一区二区三区| 国产精品久久久久一区二区三区 | 国产老妇另类xxxxx| 亚洲高清不卡在线| 亚洲视频一区二区免费在线观看| 精品国产乱码久久久久久影片| 日本韩国欧美一区二区三区| 国产酒店精品激情| 日韩vs国产vs欧美| 亚洲午夜视频在线观看| 国产精品久99| 久久人人97超碰com| 91精品国产综合久久婷婷香蕉 | 国产不卡一区视频| 激情久久五月天| 蜜乳av一区二区| 日日夜夜免费精品| 亚洲1区2区3区4区| 韩国毛片一区二区三区| 麻豆精品久久精品色综合| 香蕉成人伊视频在线观看| 亚洲美女屁股眼交3| 中文av字幕一区| 国产精品美女久久久久久久久久久| 久久综合网色—综合色88| 日韩免费性生活视频播放| 这里是久久伊人| 欧美丰满嫩嫩电影| 91精品国产欧美日韩| 精品污污网站免费看| 欧美日韩国产不卡| 欧美日韩亚洲综合| 91精品国产综合久久久久久漫画| 欧美日韩视频一区二区| 欧美私模裸体表演在线观看| 欧美日韩在线精品一区二区三区激情 | 亚洲第一久久影院| 午夜成人免费电影| 美国欧美日韩国产在线播放| 蜜桃av一区二区在线观看| 日韩精品欧美精品| 激情成人午夜视频| 国产xxx精品视频大全| 成人看片黄a免费看在线| 97se亚洲国产综合自在线观| 欧美电视剧免费全集观看| 2023国产精品自拍| 国产欧美日韩三区| 18涩涩午夜精品.www| 亚洲国产视频a| 奇米888四色在线精品| 国产一二精品视频| 99re成人精品视频| 欧美高清精品3d| 欧美精品一区二区三区一线天视频| 久久蜜桃香蕉精品一区二区三区| 国产精品久久久久久久岛一牛影视| 亚洲欧美另类在线| 日本在线播放一区二区三区| 加勒比av一区二区| 色综合天天做天天爱| 欧美日韩国产乱码电影| www国产成人| 亚洲在线中文字幕| 国产在线麻豆精品观看| av网站免费线看精品| 7878成人国产在线观看| 中文无字幕一区二区三区| 亚洲综合一区二区精品导航| 精品影院一区二区久久久| 99re在线精品| 精品久久久久久最新网址| 亚洲欧洲无码一区二区三区| 日韩av电影天堂| av一区二区三区| 欧美岛国在线观看| 久久国产麻豆精品| 99vv1com这只有精品| 日韩欧美综合在线| 一区二区三区免费看视频| 精品亚洲免费视频| 欧美性色综合网| 国产欧美日韩视频在线观看| 亚洲自拍偷拍麻豆| 国产成人三级在线观看| 欧美日韩一区视频| 中文字幕va一区二区三区| 秋霞午夜鲁丝一区二区老狼| www.在线成人| 日韩一级免费一区| 一区二区欧美精品| 欧美午夜精品理论片a级按摩| 色哟哟国产精品| 91精品国产一区二区三区| 国产女人18水真多18精品一级做| 婷婷久久综合九色综合绿巨人| 国产精品911| 欧美一区二区精品| 精品乱人伦一区二区三区| 亚洲精品国产a久久久久久| 一本到三区不卡视频| 亚洲一区二区精品久久av| 欧美日韩午夜影院| 麻豆高清免费国产一区| 精品国一区二区三区| 加勒比av一区二区| 国产精品久久久久一区二区三区 | 国产精品久久久久久亚洲伦| 9色porny自拍视频一区二区| 亚洲男女毛片无遮挡| 欧美综合在线视频| 美日韩一区二区三区| 久久久久国产精品麻豆ai换脸 | 精品理论电影在线| 国产麻豆9l精品三级站| 国产精品视频一二三区| 一道本成人在线| 日韩精品一二三| 久久久久久一级片| 色网站国产精品| 久久精品国产亚洲aⅴ| 国产精品免费视频网站| 欧美日韩中文字幕一区二区| 精品一区二区三区在线播放视频| 国产精品天美传媒| 欧美视频一区二区| 国产美女视频91| 自拍偷拍国产精品| 日韩一区二区三区电影| 风间由美一区二区三区在线观看| 亚洲精品视频自拍| 欧美精品一区视频| 欧美在线观看你懂的| 蜜臂av日日欢夜夜爽一区| 综合婷婷亚洲小说| 欧美一级二级在线观看| av午夜一区麻豆| 开心九九激情九九欧美日韩精美视频电影| 国产日产欧美精品一区二区三区| 在线观看视频91| 国产乱理伦片在线观看夜一区| 国产馆精品极品| 亚洲激情网站免费观看| 2023国产精品自拍| 欧美老女人在线| 99在线精品视频| 另类中文字幕网| 亚洲自拍另类综合| 中文字幕免费不卡| 精品国产精品一区二区夜夜嗨| 欧亚一区二区三区| av福利精品导航| 国产乱国产乱300精品| 日韩av中文字幕一区二区三区|