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

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

?? misc.h

?? this keik game source
?? H
字號:
//-----------------------------------------------------------------------------
//
//  $Logfile:: /Quake 2 Engine/Sin/code/game/misc.h                           $
// $Revision:: 71                                                             $
//   $Author:: Jimdose                                                        $
//     $Date:: 11/11/98 10:02p                                                $
//
// 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/misc.h                                $
// 
// 71    11/11/98 10:02p Jimdose
// added ClipBox
// 
// 70    10/17/98 8:12p Jimdose
// Changed Damage to DamgeEvent
// 
// 69    10/14/98 12:13a Aldie
// Proto for intermission
// 
// 68    10/09/98 4:34p Aldie
// Added OnSameTeam
// 
// 67    10/07/98 11:53p Jimdose
// Added BloodSplat
// 
// 66    10/06/98 10:52p Aldie
// Created an oxygenator
// 
// 65    10/05/98 11:23p Markd
// Added MadeBreakingSound
// 
// 64    9/28/98 9:12p Markd
// Put in archive and unarchive functions
// 
// 63    9/18/98 8:14p Markd
// rewrote surface system so that surfaces are now damaged by surface name
// instead of by surfinfo
// 
// 62    8/29/98 5:27p Markd
// added specialfx, replaced misc with specialfx where appropriate
// 
// 61    8/29/98 2:53p Aldie
// Updated printing of location based damage
// 
// 60    8/29/98 12:59p Markd
// Fixed func_explodingwall stuff
// 
// 59    8/24/98 5:44p Aldie
// Added fov to projectiles
// 
// 58    8/19/98 8:50p Aldie
// Added randomparticles
// 
// 57    8/17/98 4:35p Markd
// Added SendOverlay
// 
// 56    8/08/98 8:51p Aldie
// Added func_spawnchain and changed spawns to entities
// 
// 55    8/08/98 6:24p Aldie
// Added spawnoutofsight
// 
// 54    8/04/98 5:56p Markd
// Added FuncRemove
// 
// 53    7/21/98 4:23p Aldie
// Make icons work for locks
// 
// 52    7/17/98 6:08p Aldie
// Added spawntargetname to func_spawn
// 
// 51    7/15/98 6:18p Markd
// re-ordered SpawnTempDlight arguments
// 
// 50    7/13/98 5:01p Aldie
// Added dead player bodies with gibbing
// 
// 49    7/11/98 2:49p Markd
// Added SendDialog event
// 
// 48    7/10/98 4:11p Markd
// Revamped func_explodingwall
// 
// 47    7/08/98 3:12p Aldie
// Added func_respawn
// 
// 46    7/02/98 7:57p Markd
// Redid func_explodingwall and func_glass
// 
// 45    6/30/98 4:37p Markd
// Added noise to func_glass and func_shatter
// 
// 44    6/24/98 4:51p Aldie
// Updated func_spawn
// 
// 43    6/24/98 12:38p Markd
// SpawnParticles conflicted with the entity function of the same name
// 
// 42    6/24/98 12:23p Markd
// Added SpawnParticles
// 
// 41    6/18/98 2:00p Markd
// rewrote tesselation code
// 
// 40    6/15/98 12:25p Aldie
// Updated pulse beam parms
// 
// 39    6/15/98 10:39a Aldie
// Added SpawnPulseBeam
// 
// 38    6/08/98 7:23p Aldie
// Added DamageSurfaceByName
// 
// 37    5/28/98 1:26p Aldie
// Added rocket explosion particles
// 
// 36    5/27/98 4:54p Markd
// Changed Smoke Setup method
// 
// 35    5/26/98 9:27p Aldie
// Typo
// 
// 34    5/26/98 9:26p Aldie
// Added func_spawn
// 
// 33    5/25/98 12:22p Aldie
// Added func_electrocute
// 
// 32    5/25/98 7:15p Markd
// Changed TempModel stuff
// 
// 31    5/25/98 5:42p Markd
// Added SpawnDlight and fixed other stuff
// 
// 30    5/23/98 10:38p Markd
// Added TempModel call
// 
// 29    5/20/98 1:32p Markd
// changed func_shatter a bit
// 
// 28    5/13/98 6:22p Markd
// Added BurnWall
// 
// 27    5/05/98 8:38p Aldie
// Added virtual setup to Projectile.
// 
// 26    5/05/98 5:35p Aldie
// Updated damage surfaces
// 
// 25    5/03/98 8:12p Markd
// Added SpawnSparks call
// 
// 24    4/18/98 2:32p Jimdose
// Added ExplodingWall, Shatter, and Glass
// 
// 23    4/07/98 11:55p Jimdose
// SetBeam now accepts r, g, b, and alpha for color
// 
// 22    4/04/98 6:13p Jimdose
// Added Bubble, Smoke, and Projectile
// 
// 21    3/30/98 2:39p Jimdose
// Made teleporters handle non-clients
// 
// 20    3/29/98 9:39p Jimdose
// Changed killed to a damage event
// 
// 19    3/28/98 6:37p Jimdose
// Made teleporters work
// 
// 18    3/23/98 1:33p Jimdose
// Revamped event and command system
// 
// 17    3/11/98 2:23p Jimdose
// Moved AreaPortals to areaportal.cpp
// 
// 16    3/05/98 3:49p Aldie
// More support for damage surfaces.
// 
// 15    3/04/98 8:00p Aldie
// More support for damage surfaces.
// 
// 14    3/02/98 8:49p Jimdose
// Changed CLASS_PROTOTYPE to only take the classname
// 
// 13    3/02/98 5:42p Jimdose
// Moved light entities to light.cpp
// 
// 12    2/27/98 12:50p Jimdose
// Added Light, LightRamp, and TriggerLightStyle
// 
// 11    2/21/98 1:07p Jimdose
// Added Beam class
// 
// 10    2/06/98 5:43p Jimdose
// Added Teleporter and AreaPortal.
// Added constructor to Detail
// 
// 8     2/03/98 10:43a Jimdose
// Updated to work with Quake 2 engine
// 
// 6     10/31/97 4:26p Jimdose
// Removed owner from HackThinker since it was already defined in Entity
// 
// 5     10/28/97 8:20p Jimdose
// added Bubble
// 
// 4     10/27/97 2:59p Jimdose
// Removed dependency on quakedef.h
// 
// 3     10/01/97 11:25a Markd
// moved viewthing to its own file
// 
// 2     9/26/97 6:14p Jimdose
// Added standard Ritual headers
//
// DESCRIPTION:
// Basically the big stew pot of the DLLs, or maybe a garbage bin, whichever
// metaphore you prefer.  This really should be cleaned up.  Anyway, this
// should contain utility functions that could be used by any entity.
// Right now it contains everything from entities that could be in their
// own file to my mother pot roast recipes.
// 

#ifndef __MISC_H__
#define __MISC_H__

#include "g_local.h"
#include "entity.h"
#include "trigger.h"
#include "queue.h"

void SendOverlay
	(
   Entity *ent,
   str overlayname
	);

void SendIntermission
	(
   Entity *ent,
   str intermissionname
	);

void SendDialog
	(
   const char *icon_name,
   const char *dialog_text
	);

const char *ExpandLocation
   (
   const char *location
   );

void MadeBreakingSound
	(
   Vector pos,
   Entity * activator
	);

qboolean OnSameTeam
   (
   Entity *ent1,
   Entity *ent2
   );

class EXPORT_FROM_DLL InfoNull : public Entity
	{
	public:
      CLASS_PROTOTYPE( InfoNull );
		
		InfoNull();
	};

class EXPORT_FROM_DLL FuncRemove : public Entity
	{
	public:
      CLASS_PROTOTYPE( FuncRemove );
		
		FuncRemove();
	};

class EXPORT_FROM_DLL InfoNotNull : public Entity
	{
	public:
      CLASS_PROTOTYPE( InfoNotNull );
	};

class EXPORT_FROM_DLL Wall : public Entity
	{
	private:

	public:
      CLASS_PROTOTYPE( Wall );

		Wall();
	};

class EXPORT_FROM_DLL IllusionaryWall : public Entity
	{
	private:

	public:
      CLASS_PROTOTYPE( IllusionaryWall );
		IllusionaryWall();
	};

class EXPORT_FROM_DLL BreakawayWall : public TriggerOnce
	{
	private:

	public:
      CLASS_PROTOTYPE( BreakawayWall );

		void	BreakWall( Event *ev );
		void	Setup( Event *ev );
				BreakawayWall();
	};

class EXPORT_FROM_DLL ExplodingWall : public Trigger
	{
	protected:
		int      dmg;
		int      explosions;
		float    attack_finished;
      Vector   land_angles;
      float    land_radius;
      float    angle_speed;
      int      state;
      Vector   orig_mins, orig_maxs;
      qboolean on_ground;

	public:
      CLASS_PROTOTYPE( ExplodingWall );

							ExplodingWall();
      virtual void   SetupSecondStage( void );
		virtual void	Explode( Event *ev );
		virtual void	DamageEvent( Event *ev );
		virtual void	GroundDamage( Event *ev );
		virtual void	TouchFunc( Event *ev );
		virtual void	StopRotating( Event *ev );
		virtual void	CheckOnGround( Event *ev );
	   virtual void   Archive( Archiver &arc );
      virtual void   Unarchive( Archiver &arc );
	};

inline EXPORT_FROM_DLL void ExplodingWall::Archive
	(
	Archiver &arc
	)
   {
   Trigger::Archive( arc );

   arc.WriteInteger( dmg );
   arc.WriteInteger( explosions );
   arc.WriteFloat( attack_finished );
   arc.WriteVector( land_angles );
   arc.WriteFloat( land_radius );
   arc.WriteFloat( angle_speed );
   arc.WriteInteger( state );
   arc.WriteVector( orig_mins );
   arc.WriteVector( orig_maxs );
   arc.WriteBoolean( on_ground );
   }

inline EXPORT_FROM_DLL void ExplodingWall::Unarchive
	(
	Archiver &arc
	)
   {
   Trigger::Unarchive( arc );

   arc.ReadInteger( &dmg );
   arc.ReadInteger( &explosions );
   arc.ReadFloat( &attack_finished );
   arc.ReadVector( &land_angles );
   arc.ReadFloat( &land_radius );
   arc.ReadFloat( &angle_speed );
   arc.ReadInteger( &state );
   arc.ReadVector( &orig_mins );
   arc.ReadVector( &orig_maxs );
   arc.ReadBoolean( &on_ground );
   }

class EXPORT_FROM_DLL Electrocute : public Trigger
	{
   private:
      float radius;
      
	public:
      CLASS_PROTOTYPE( Electrocute );

							Electrocute();
		virtual void	KillSight( Event *ev );
	   virtual void   Archive( Archiver &arc );
      virtual void   Unarchive( Archiver &arc );
	};

inline EXPORT_FROM_DLL void Electrocute::Archive
	(
	Archiver &arc
	)
   {
   Trigger::Archive( arc );

   arc.WriteFloat( radius );
   }

inline EXPORT_FROM_DLL void Electrocute::Unarchive
	(
	Archiver &arc
	)
   {
   Trigger::Unarchive( arc );

   arc.ReadFloat( &radius );
   }


class EXPORT_FROM_DLL Detail : public Wall
	{
	public:
      CLASS_PROTOTYPE( Detail );

		Detail();
	};

class EXPORT_FROM_DLL Teleporter : public Trigger
	{
	public:
      CLASS_PROTOTYPE( Teleporter );
		
								Teleporter();
		virtual void		Teleport( Event *ev );
	};

class EXPORT_FROM_DLL TeleporterDestination : public Entity
	{
	public:
		Vector				movedir;

      CLASS_PROTOTYPE( TeleporterDestination );

						TeleporterDestination();
	   virtual void      Archive( Archiver &arc );
      virtual void      Unarchive( Archiver &arc );
	};

inline EXPORT_FROM_DLL void TeleporterDestination::Archive
	(
	Archiver &arc
	)
   {
   Entity::Archive( arc );

   arc.WriteVector( movedir );
   }

inline EXPORT_FROM_DLL void TeleporterDestination::Unarchive
	(
	Archiver &arc
	)
   {
   Entity::Unarchive( arc );

   arc.ReadVector( &movedir );
   }

class EXPORT_FROM_DLL Waypoint : public Entity
	{
	public:
      CLASS_PROTOTYPE( Waypoint );
	};

class EXPORT_FROM_DLL Shatter : public DamageThreshold
	{
   protected:
      qboolean       threshold;
      str            noise;
	public:
      CLASS_PROTOTYPE( Shatter );

		virtual void	DamageEvent( Event *ev );
		virtual void	DoShatter( Event *ev );
							Shatter();
	   virtual void   Archive( Archiver &arc );
      virtual void   Unarchive( Archiver &arc );
	};

inline EXPORT_FROM_DLL void Shatter::Archive
	(
	Archiver &arc
	)
   {
   DamageThreshold::Archive( arc );

   arc.WriteBoolean( threshold );
   arc.WriteString( noise );
   }

inline EXPORT_FROM_DLL void Shatter::Unarchive
	(
	Archiver &arc
	)
   {
   DamageThreshold::Unarchive( arc );

   arc.ReadBoolean( &threshold );
   arc.ReadString( &noise );
   }

class EXPORT_FROM_DLL Glass : public Shatter
	{
	public:
      CLASS_PROTOTYPE( Glass );
							Glass();
	};

class EXPORT_FROM_DLL Spawn : public Entity
	{
   protected:
  		str      modelname;
      str      spawntargetname;
      int      attackmode;

	public:
      CLASS_PROTOTYPE( Spawn );

		virtual void	DoSpawn( Event *ev );
							Spawn();
	   virtual void   Archive( Archiver &arc );
      virtual void   Unarchive( Archiver &arc );
	};

inline EXPORT_FROM_DLL void Spawn::Archive
	(
	Archiver &arc
	)
   {
   Entity::Archive( arc );

   arc.WriteString( modelname );
   arc.WriteString( spawntargetname );
   arc.WriteInteger( attackmode );
   }

inline EXPORT_FROM_DLL void Spawn::Unarchive
	(
	Archiver &arc
	)
   {
   Entity::Unarchive( arc );

   arc.ReadString( &modelname );
   arc.ReadString( &spawntargetname );
   arc.ReadInteger( &attackmode );
   }

class EXPORT_FROM_DLL ReSpawn : public Spawn
	{
 	public:
      CLASS_PROTOTYPE( ReSpawn );

		virtual void	DoSpawn( Event *ev );
	};

class EXPORT_FROM_DLL SpawnOutOfSight : public Spawn
	{
 	public:
      CLASS_PROTOTYPE( SpawnOutOfSight );

		virtual void	DoSpawn( Event *ev );
	};

class EXPORT_FROM_DLL SpawnChain : public Spawn
	{
 	public:
      CLASS_PROTOTYPE( SpawnChain );

		virtual void	DoSpawn( Event *ev );
	};

class EXPORT_FROM_DLL Oxygenator : public Trigger
	{
   private:
      float             time;

   public:
      CLASS_PROTOTYPE( Oxygenator );
		
							Oxygenator();
		virtual void   Oxygenate( Event *ev );
	   virtual void   Archive( Archiver &arc );
      virtual void   Unarchive( Archiver &arc );
   };

inline EXPORT_FROM_DLL void Oxygenator::Archive
	(
	Archiver &arc
	)
   {
   Trigger::Archive( arc );

   arc.WriteFloat( time );
   }

inline EXPORT_FROM_DLL void Oxygenator::Unarchive
	(
	Archiver &arc
	)
   {
   Trigger::Unarchive( arc );

   arc.ReadFloat( &time );
   }

class EXPORT_FROM_DLL BloodSplat : public Entity
	{
   private:
      // No archive function is declared since the class automaintains itself.
      // Just spawning and freeing maintains the queue.

      static int     numBloodSplats;
      static Queue   queueBloodSplats;

 	public:
      CLASS_PROTOTYPE( BloodSplat );

                     BloodSplat( Vector pos = "0 0 0", Vector ang = "0 0 0", float scale = 1 );
                     ~BloodSplat();
	};

class EXPORT_FROM_DLL ClipBox : public Entity
	{
 	public:
      CLASS_PROTOTYPE( ClipBox );

                     ClipBox();
	};

#endif /* misc.h */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区| 欧美日韩在线电影| 91一区二区三区在线播放| 99久久伊人久久99| 91福利国产精品| 91精品一区二区三区久久久久久| 欧美一区二区精品在线| 久久一区二区三区国产精品| 国产欧美精品国产国产专区| 国产精品久久久久三级| 亚洲成人黄色小说| 久久99精品国产91久久来源| 成人美女视频在线观看18| 色婷婷久久一区二区三区麻豆| 91精品国产入口| 国产精品久久久久影院亚瑟| 日韩影院精彩在线| 国产不卡高清在线观看视频| 欧美裸体一区二区三区| 久久精品一区二区三区不卡 | 亚洲综合丝袜美腿| 久久精品国产澳门| 日韩精品91亚洲二区在线观看| 亚洲一区二区三区免费视频| 伦理电影国产精品| 91蝌蚪porny| 久久综合成人精品亚洲另类欧美 | 亚洲欧美另类久久久精品2019| 免费在线观看精品| 欧美日韩一级片在线观看| 国产三区在线成人av| 国产真实乱偷精品视频免| 91首页免费视频| 国产精品的网站| 成人一道本在线| 精品国产乱码久久久久久影片| 一区二区三区蜜桃| 91网站视频在线观看| 中文幕一区二区三区久久蜜桃| 国模套图日韩精品一区二区| 欧美日韩综合在线| 亚洲电影在线免费观看| 一本久久a久久精品亚洲| 国产精品久久久久久久久久久免费看| 久久99日本精品| 精品国产99国产精品| 久久精品国产久精国产爱| 欧美一区二区国产| 老司机精品视频在线| 久久久影视传媒| 国产成+人+日韩+欧美+亚洲| 国产欧美精品一区二区三区四区| 国产综合成人久久大片91| 精品国产伦一区二区三区观看方式 | 天堂资源在线中文精品| 欧美午夜片在线看| 日日欢夜夜爽一区| 精品国产乱码久久久久久图片 | 91福利小视频| 丝瓜av网站精品一区二区 | 偷窥少妇高潮呻吟av久久免费| 欧美三级在线视频| 狠狠v欧美v日韩v亚洲ⅴ| 国产网红主播福利一区二区| 偷窥少妇高潮呻吟av久久免费| 国产在线日韩欧美| 中文一区二区完整视频在线观看| 国产成人亚洲精品狼色在线| 亚洲精选一二三| 欧美va在线播放| 91成人国产精品| 国产一区二区三区日韩| 成人欧美一区二区三区1314 | 午夜精品久久久久久久99樱桃| 精品国产在天天线2019| 91国偷自产一区二区使用方法| 国内精品伊人久久久久av影院| 国产精品麻豆视频| 精品国一区二区三区| 91九色02白丝porn| 成人黄页在线观看| 国产一区二区免费在线| 午夜精品久久久久久不卡8050| 国产欧美一区二区精品久导航| 制服丝袜亚洲精品中文字幕| 91免费观看在线| 国产91精品精华液一区二区三区 | 国产在线精品免费av| 亚洲伊人色欲综合网| 国产精品女主播av| 国产亚洲精品资源在线26u| 欧美一级欧美三级| 在线不卡一区二区| 欧美在线观看禁18| 色老汉一区二区三区| 岛国一区二区三区| 国产成人午夜高潮毛片| 国产ts人妖一区二区| 国产一区不卡在线| 国产精品性做久久久久久| 黑人精品欧美一区二区蜜桃 | 色婷婷精品大在线视频| 成人免费看视频| 91在线精品秘密一区二区| 成人深夜视频在线观看| 91亚洲精品久久久蜜桃网站| 色狠狠色狠狠综合| 91行情网站电视在线观看高清版| 在线观看国产日韩| 欧美少妇bbb| 欧美mv日韩mv| 国产情人综合久久777777| 中文字幕av一区 二区| 中文字幕一区二区三区视频| 久久久久久久电影| 在线电影欧美成精品| 欧美在线观看一区| 欧美一区二区三区爱爱| 成人性生交大片免费看中文| 久久99久久99精品免视看婷婷 | 久久成人免费网| 精品一区二区影视| 成人avav在线| 欧美日韩在线观看一区二区| 欧美精品一区二区精品网| 国产精品免费av| 日韩一区精品字幕| 91丨porny丨国产入口| 精品国产乱码久久| 日本不卡不码高清免费观看| 蜜臀久久99精品久久久画质超高清| 国产精品一区二区无线| 欧美日本免费一区二区三区| 国产日韩欧美电影| 久久国产福利国产秒拍| 欧美在线短视频| 亚洲欧洲精品成人久久奇米网| 日韩不卡一区二区三区| 色综合久久中文综合久久牛| 久久综合国产精品| 日韩在线一二三区| 欧美图片一区二区三区| 中文字幕亚洲一区二区av在线| 激情综合色综合久久综合| 欧美日韩亚州综合| 亚洲欧美国产三级| 91欧美激情一区二区三区成人| 久久久不卡影院| 精品一区二区三区的国产在线播放| 欧美日韩和欧美的一区二区| 亚洲女同一区二区| 一本色道久久综合亚洲91| 亚洲视频在线一区观看| av在线不卡电影| 国产精品美女久久久久久久久久久| 韩国av一区二区三区在线观看| 日韩一级视频免费观看在线| 亚洲成人av福利| 日韩午夜三级在线| 国产综合一区二区| 欧美国产成人在线| 成人av网址在线| 亚洲视频一区二区在线观看| 色综合久久88色综合天天免费| 亚洲精品乱码久久久久| 欧美日韩高清影院| 麻豆精品一区二区| 国产精品色呦呦| 色综合久久久久综合99| 午夜国产精品影院在线观看| 91超碰这里只有精品国产| 日韩国产高清在线| 国产女人aaa级久久久级| av亚洲精华国产精华精| 亚洲午夜av在线| 精品欧美一区二区久久 | 色呦呦一区二区三区| 免费观看91视频大全| 91麻豆成人久久精品二区三区| 国产亚洲欧美日韩在线一区| a在线播放不卡| 久久99深爱久久99精品| 亚洲色欲色欲www| 久久综合给合久久狠狠狠97色69| a亚洲天堂av| 经典三级在线一区| 亚洲免费观看在线观看| 日韩欧美精品在线视频| 91丨porny丨户外露出| 国产精品一二三四五| 午夜在线成人av| 亚洲欧美另类小说| 国产亚洲污的网站| 欧美不卡视频一区| 91精品婷婷国产综合久久| 色偷偷久久人人79超碰人人澡| 黄网站免费久久| 免费成人在线观看视频| 亚洲激情欧美激情| 亚洲美女淫视频|