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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? wl_def.h

?? Wolf 3D official source code.
?? H
?? 第 1 頁 / 共 2 頁
字號:
	int		ticcount;
} doorobj_t;


//--------------------
//
// thinking actor structure
//
//--------------------

typedef struct objstruct
{
	activetype	active;
	int			ticcount;
	classtype	obclass;
	statetype	*state;

	byte		flags;				//	FL_SHOOTABLE, etc

	long		distance;			// if negative, wait for that door to open
	dirtype		dir;

	fixed 		x,y;
	unsigned	tilex,tiley;
	byte		areanumber;

	int	 		viewx;
	unsigned	viewheight;
	fixed		transx,transy;		// in global coord

	int 		angle;
	int			hitpoints;
	long		speed;

	int			temp1,temp2,temp3;
	struct		objstruct	*next,*prev;
} objtype;


#define NUMBUTTONS	8
enum	{
	bt_nobutton=-1,
	bt_attack=0,
	bt_strafe,
	bt_run,
	bt_use,
	bt_readyknife,
	bt_readypistol,
	bt_readymachinegun,
	bt_readychaingun
};


#define NUMWEAPONS	5
typedef enum	{
	wp_knife,
	wp_pistol,
	wp_machinegun,
	wp_chaingun
} weapontype;


typedef enum	{
	gd_baby,
	gd_easy,
	gd_medium,
	gd_hard
};

//---------------
//
// gamestate structure
//
//---------------

typedef	struct
{
	int			difficulty;
	int			mapon;
	long		oldscore,score,nextextra;
	int			lives;
	int			health;
	int			ammo;
	int			keys;
	weapontype		bestweapon,weapon,chosenweapon;

	int			faceframe;
	int			attackframe,attackcount,weaponframe;

	int			episode,secretcount,treasurecount,killcount,
				secrettotal,treasuretotal,killtotal;
	long		TimeCount;
	long		killx,killy;
	boolean		victoryflag;		// set during victory animations
} gametype;


typedef	enum	{
	ex_stillplaying,
	ex_completed,
	ex_died,
	ex_warped,
	ex_resetgame,
	ex_loadedgame,
	ex_victorious,
	ex_abort,
	ex_demodone,
	ex_secretlevel
} exit_t;


/*
=============================================================================

						 WL_MAIN DEFINITIONS

=============================================================================
*/

extern	boolean		MS_CheckParm (char far *string);

extern	char		str[80],str2[20];
extern	int			tedlevelnum;
extern	boolean		tedlevel;
extern	boolean		nospr;
extern	boolean		IsA386;

extern	byte far	*scalermemory;

extern	fixed		focallength;
extern	unsigned	viewangles;
extern	unsigned	screenofs;
extern	int		    viewwidth;
extern	int			viewheight;
extern	int			centerx;
extern	int			shootdelta;

extern	int			dirangle[9];

extern	boolean         startgame,loadedgame,virtualreality;
extern	int		mouseadjustment;
//
// math tables
//
extern	int			pixelangle[MAXVIEWWIDTH];
extern	long		far finetangent[FINEANGLES/4];
extern	fixed 		far sintable[],far *costable;

//
// derived constants
//
extern	fixed 	scale,maxslope;
extern	long	heightnumerator;
extern	int		minheightdiv;

extern	char	configname[13];



void		HelpScreens (void);
void		OrderingInfo (void);
void		TEDDeath(void);
void		Quit (char *error);
void 		CalcProjection (long focal);
boolean		SetViewSize (unsigned width, unsigned height);
void		NewGame (int difficulty,int episode);
void 		NewViewSize (int width);
boolean 	LoadTheGame(int file,int x,int y);
boolean		SaveTheGame(int file,int x,int y);
void 		ShowViewSize (int width);
void		ShutdownId (void);


/*
=============================================================================

						 WL_GAME DEFINITIONS

=============================================================================
*/


extern	boolean		ingame,fizzlein;
extern	unsigned	latchpics[NUMLATCHPICS];
extern	gametype	gamestate;
extern	int			doornum;

extern	char		demoname[13];

extern	long		spearx,speary;
extern	unsigned	spearangle;
extern	boolean		spearflag;


void 	DrawPlayBorder (void);
void 	ScanInfoPlane (void);
void	SetupGameLevel (void);
void 	NormalScreen (void);
void 	DrawPlayScreen (void);
void 	FizzleOut (void);
void 	GameLoop (void);
void ClearMemory (void);
void PlayDemo (int demonumber);
void RecordDemo (void);
void DrawAllPlayBorder (void);
void	DrawHighScores(void);
void DrawAllPlayBorderSides (void);


// JAB
#define	PlaySoundLocTile(s,tx,ty)	PlaySoundLocGlobal(s,(((long)(tx) << TILESHIFT) + (1L << (TILESHIFT - 1))),(((long)ty << TILESHIFT) + (1L << (TILESHIFT - 1))))
#define	PlaySoundLocActor(s,ob)		PlaySoundLocGlobal(s,(ob)->x,(ob)->y)
void	PlaySoundLocGlobal(word s,fixed gx,fixed gy);
void UpdateSoundLoc(void);


/*
=============================================================================

						 WL_PLAY DEFINITIONS

=============================================================================
*/

#ifdef SPEAR
extern	long		funnyticount;		// FOR FUNNY BJ FACE
#endif

extern	exit_t		playstate;

extern	boolean		madenoise;

extern	objtype 	objlist[MAXACTORS],*new,*obj,*player,*lastobj,
					*objfreelist,*killerobj;
extern	statobj_t	statobjlist[MAXSTATS],*laststatobj;
extern	doorobj_t	doorobjlist[MAXDOORS],*lastdoorobj;

extern	unsigned	farmapylookup[MAPSIZE];
extern	byte		*nearmapylookup[MAPSIZE];

extern	byte		tilemap[MAPSIZE][MAPSIZE];	// wall values only
extern	byte		spotvis[MAPSIZE][MAPSIZE];
extern	objtype		*actorat[MAPSIZE][MAPSIZE];

#define UPDATESIZE			(UPDATEWIDE*UPDATEHIGH)
extern	byte		update[UPDATESIZE];

extern	boolean		singlestep,godmode,noclip;
extern	int			extravbls;

//
// control info
//
extern	boolean		mouseenabled,joystickenabled,joypadenabled,joystickprogressive;
extern	int			joystickport;
extern	int			dirscan[4];
extern	int			buttonscan[NUMBUTTONS];
extern	int			buttonmouse[4];
extern	int			buttonjoy[4];

extern	boolean		buttonheld[NUMBUTTONS];

extern	int			viewsize;

//
// curent user input
//
extern	int			controlx,controly;		// range from -100 to 100
extern	boolean		buttonstate[NUMBUTTONS];

extern	boolean		demorecord,demoplayback;
extern	char		far *demoptr, far *lastdemoptr;
extern	memptr		demobuffer;



void	InitRedShifts (void);
void 	FinishPaletteShifts (void);

void	CenterWindow(word w,word h);
void 	InitActorList (void);
void 	GetNewActor (void);
void 	RemoveObj (objtype *gone);
void 	PollControls (void);
void 	StopMusic(void);
void 	StartMusic(void);
void	PlayLoop (void);
void StartDamageFlash (int damage);
void StartBonusFlash (void);

/*
=============================================================================

							WL_INTER

=============================================================================
*/

void IntroScreen (void);
void PreloadGraphics(void);
void LevelCompleted (void);
void	CheckHighScore (long score,word other);
void Victory (void);
void ClearSplitVWB (void);


/*
=============================================================================

							WL_DEBUG

=============================================================================
*/

int DebugKeys (void);
void PicturePause (void);


/*
=============================================================================

						 WL_DRAW DEFINITIONS

=============================================================================
*/

extern	unsigned screenloc[3];
extern	unsigned freelatch;

extern	long 	lasttimecount;
extern	long 	frameon;
extern	boolean	fizzlein;

extern	unsigned	wallheight[MAXVIEWWIDTH];

extern	fixed	tileglobal;
extern	fixed	focallength;
extern	fixed	mindist;

//
// math tables
//
extern	int			pixelangle[MAXVIEWWIDTH];
extern	long		far finetangent[FINEANGLES/4];
extern	fixed 		far sintable[],far *costable;

//
// derived constants
//
extern	fixed 	scale;
extern	long	heightnumerator,mindist;

//
// refresh variables
//
extern	fixed	viewx,viewy;			// the focal point
extern	int		viewangle;
extern	fixed	viewsin,viewcos;

extern	long		postsource;
extern	unsigned	postx;
extern	unsigned	postwidth;


extern	int		horizwall[],vertwall[];

extern	unsigned	pwallpos;


fixed	FixedByFrac (fixed a, fixed b);
void	TransformActor (objtype *ob);
void	BuildTables (void);
void	ClearScreen (void);
int		CalcRotate (objtype *ob);
void	DrawScaleds (void);
void	CalcTics (void);
void	FixOfs (void);
void	ThreeDRefresh (void);
void  FarScalePost (void);

/*
=============================================================================

						 WL_STATE DEFINITIONS

=============================================================================
*/
#define TURNTICS	10
#define SPDPATROL	512
#define SPDDOG		1500


extern	dirtype opposite[9];
extern	dirtype diagonal[9][9];


void	InitHitRect (objtype *ob, unsigned radius);
void	SpawnNewObj (unsigned tilex, unsigned tiley, statetype *state);
void	NewState (objtype *ob, statetype *state);

boolean TryWalk (objtype *ob);
void 	SelectChaseDir (objtype *ob);
void 	SelectDodgeDir (objtype *ob);
void	SelectRunDir (objtype *ob);
void	MoveObj (objtype *ob, long move);
boolean SightPlayer (objtype *ob);

void	KillActor (objtype *ob);
void	DamageActor (objtype *ob, unsigned damage);

boolean CheckLine (objtype *ob);
boolean	CheckSight (objtype *ob);


/*
=============================================================================

						 WL_SCALE DEFINITIONS

=============================================================================
*/


#define COMPSCALECODESTART	(65*4)		// offset to start of code in comp scaler

typedef struct
{
	unsigned	codeofs[65];
	unsigned	width[65];
	byte		code[];
}	t_compscale;

typedef struct
{
	unsigned	leftpix,rightpix;
	unsigned	dataofs[64];
// table data after dataofs[rightpix-leftpix+1]
}	t_compshape;


extern	t_compscale _seg *scaledirectory[MAXSCALEHEIGHT+1];
extern	long			fullscalefarcall[MAXSCALEHEIGHT+1];

extern	byte		bitmasks1[8][8];
extern	byte		bitmasks2[8][8];
extern	unsigned	wordmasks[8][8];

extern	byte		mapmasks1[4][8];
extern	byte		mapmasks2[4][8];
extern	byte		mapmasks3[4][8];

extern	int			maxscale,maxscaleshl2;

extern	boolean	insetupscaling;

void SetupScaling (int maxscaleheight);
void ScaleShape (int xcenter, int shapenum, unsigned height);
void SimpleScaleShape (int xcenter, int shapenum, unsigned height);

/*
=============================================================================

						 WL_AGENT DEFINITIONS

=============================================================================
*/

//
// player state info
//
extern	boolean		running;
extern	long		thrustspeed;
extern	unsigned	plux,pluy;		// player coordinates scaled to unsigned

extern	int			anglefrac;
extern	int			facecount;

void	SpawnPlayer (int tilex, int tiley, int dir);
void 	DrawFace (void);
void	DrawHealth (void);
void	TakeDamage (int points,objtype *attacker);
void	HealSelf (int points);
void	DrawLevel (void);
void	DrawLives (void);
void	GiveExtraMan (void);
void	DrawScore (void);
void	GivePoints (long points);
void	DrawWeapon (void);
void	DrawKeys (void);
void	GiveWeapon (int weapon);
void	DrawAmmo (void);
void	GiveAmmo (int ammo);
void	GiveKey (int key);
void	GetBonus (statobj_t *check);

void	Thrust (int angle, long speed);

/*
=============================================================================

						 WL_ACT1 DEFINITIONS

=============================================================================
*/

extern	doorobj_t	doorobjlist[MAXDOORS],*lastdoorobj;
extern	int			doornum;

extern	unsigned	doorposition[MAXDOORS],pwallstate;

extern	byte		far areaconnect[NUMAREAS][NUMAREAS];

extern	boolean		areabyplayer[NUMAREAS];

extern unsigned	pwallstate;
extern unsigned	pwallpos;			// amount a pushable wall has been moved (0-63)
extern unsigned	pwallx,pwally;
extern int			pwalldir;


void InitDoorList (void);
void InitStaticList (void);
void SpawnStatic (int tilex, int tiley, int type);
void SpawnDoor (int tilex, int tiley, boolean vertical, int lock);
void MoveDoors (void);
void MovePWalls (void);
void OpenDoor (int door);
void PlaceItemType (int itemtype, int tilex, int tiley);
void PushWall (int checkx, int checky, int dir);
void OperateDoor (int door);
void InitAreas (void);

/*
=============================================================================

						 WL_ACT2 DEFINITIONS

=============================================================================
*/

#define s_nakedbody s_static10

extern	statetype s_grddie1;
extern	statetype s_dogdie1;
extern	statetype s_ofcdie1;
extern	statetype s_mutdie1;
extern	statetype s_ssdie1;
extern	statetype s_bossdie1;
extern	statetype s_schabbdie1;
extern	statetype s_fakedie1;
extern	statetype s_mechadie1;
extern	statetype s_hitlerdie1;
extern	statetype s_greteldie1;
extern	statetype s_giftdie1;
extern	statetype s_fatdie1;

extern	statetype s_spectredie1;
extern	statetype s_angeldie1;
extern	statetype s_transdie0;
extern	statetype s_uberdie0;
extern	statetype s_willdie1;
extern	statetype s_deathdie1;


extern	statetype s_grdchase1;
extern	statetype s_dogchase1;
extern	statetype s_ofcchase1;
extern	statetype s_sschase1;
extern	statetype s_mutchase1;
extern	statetype s_bosschase1;
extern	statetype s_schabbchase1;
extern	statetype s_fakechase1;
extern	statetype s_mechachase1;
extern	statetype s_gretelchase1;
extern	statetype s_giftchase1;
extern	statetype s_fatchase1;

extern	statetype s_spectrechase1;
extern	statetype s_angelchase1;
extern	statetype s_transchase1;
extern	statetype s_uberchase1;
extern	statetype s_willchase1;
extern	statetype s_deathchase1;

extern	statetype s_blinkychase1;
extern	statetype s_hitlerchase1;

extern	statetype s_grdpain;
extern	statetype s_grdpain1;
extern	statetype s_ofcpain;
extern	statetype s_ofcpain1;
extern	statetype s_sspain;
extern	statetype s_sspain1;
extern	statetype s_mutpain;
extern	statetype s_mutpain1;

extern	statetype s_deathcam;

extern	statetype s_schabbdeathcam2;
extern	statetype s_hitlerdeathcam2;
extern	statetype s_giftdeathcam2;
extern	statetype s_fatdeathcam2;

void SpawnStand (enemy_t which, int tilex, int tiley, int dir);
void SpawnPatrol (enemy_t which, int tilex, int tiley, int dir);
void KillActor (objtype *ob);

void	US_ControlPanel(byte);

void SpawnDeadGuard (int tilex, int tiley);
void SpawnBoss (int tilex, int tiley);
void SpawnGretel (int tilex, int tiley);
void SpawnTrans (int tilex, int tiley);
void SpawnUber (int tilex, int tiley);
void SpawnWill (int tilex, int tiley);
void SpawnDeath (int tilex, int tiley);
void SpawnAngel (int tilex, int tiley);
void SpawnSpectre (int tilex, int tiley);
void SpawnGhosts (int which, int tilex, int tiley);
void SpawnSchabbs (int tilex, int tiley);
void SpawnGift (int tilex, int tiley);
void SpawnFat (int tilex, int tiley);
void SpawnFakeHitler (int tilex, int tiley);
void SpawnHitler (int tilex, int tiley);

/*
=============================================================================

						 WL_TEXT DEFINITIONS

=============================================================================
*/

extern	char	helpfilename[],endfilename[];

extern	void	HelpScreens(void);
extern	void	EndText(void);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品一区二区不卡| 欧美va在线播放| 免费人成精品欧美精品| 中文字幕乱码亚洲精品一区| 欧美体内she精视频| 国产乱码一区二区三区| 亚洲国产中文字幕在线视频综合| 精品国产成人系列| 在线观看av不卡| 国产suv精品一区二区6| 亚洲国产精品自拍| 国产精品久久久久国产精品日日| 日韩欧美视频在线| 欧美在线影院一区二区| 国产成人在线免费| 青青草国产成人99久久| 亚洲精品久久7777| 日本一区免费视频| 欧美一区二区三区不卡| 91黄色免费版| jvid福利写真一区二区三区| 久久精品国产77777蜜臀| 一区二区三区资源| 国产精品嫩草99a| wwwwxxxxx欧美| 日韩一区二区在线观看视频 | 欧美电影免费观看完整版| 欧美在线999| av福利精品导航| 国产成人精品影视| 国产成人日日夜夜| 国产精品2024| 国产乱色国产精品免费视频| 蜜臀av性久久久久蜜臀aⅴ流畅| 亚洲观看高清完整版在线观看| 亚洲欧美一区二区三区孕妇| 中文成人av在线| 国产丝袜美腿一区二区三区| 久久一区二区三区四区| 日韩一区二区视频| 911精品国产一区二区在线| 欧美日韩国产一二三| 欧美日韩情趣电影| 欧美午夜精品久久久| 日本二三区不卡| 色一区在线观看| 色成人在线视频| 欧美亚洲国产一区二区三区va| 色哟哟精品一区| 色激情天天射综合网| 欧美亚洲国产怡红院影院| 欧美日韩精品三区| 欧美精品tushy高清| 欧美一区二区三区的| 日韩午夜电影在线观看| 久久色视频免费观看| 久久麻豆一区二区| 国产精品色噜噜| 一区二区三区在线观看动漫| 亚洲尤物视频在线| 日本美女一区二区三区视频| 久久99国产精品尤物| 成人涩涩免费视频| 91丨九色丨蝌蚪富婆spa| 色婷婷国产精品| 9191成人精品久久| 久久久久九九视频| 专区另类欧美日韩| 亚洲一区二区三区爽爽爽爽爽| 亚洲国产视频在线| 蜜桃久久av一区| 成人av在线影院| 欧美自拍偷拍一区| 26uuu成人网一区二区三区| 国产日韩三级在线| 亚洲影视在线播放| 蜜桃视频在线观看一区| 成人免费av资源| 欧美日韩精品系列| 久久久精品蜜桃| 亚洲精品视频在线观看网站| 午夜国产精品影院在线观看| 国产乱码字幕精品高清av| 色综合久久综合网| 日韩精品最新网址| 亚洲欧美日韩在线| 蜜臀av性久久久久蜜臀av麻豆| 成人av在线电影| 欧美狂野另类xxxxoooo| 中日韩av电影| 六月婷婷色综合| proumb性欧美在线观看| 日韩欧美在线网站| 国产精品电影一区二区| 奇米影视在线99精品| 不卡电影一区二区三区| 日韩欧美一区二区免费| 亚洲激情自拍视频| 国产精品18久久久久久久久久久久| 日本乱人伦一区| 久久久久久久综合| 日韩专区欧美专区| 91视频观看免费| 久久免费美女视频| 偷偷要91色婷婷| 色天使久久综合网天天| 久久伊99综合婷婷久久伊| 午夜天堂影视香蕉久久| 成人动漫在线一区| 欧美不卡视频一区| 日韩国产在线观看| 欧美在线一二三| 中文字幕国产一区| 国产综合久久久久影院| 欧美一区二区三区四区高清| 亚洲精品日日夜夜| 国产成人一区在线| 久久五月婷婷丁香社区| 日本在线不卡一区| 欧美熟乱第一页| 一区二区三区中文字幕| a级精品国产片在线观看| 久久精品免视看| 精品在线亚洲视频| 日韩精品一区二区三区中文精品| 亚瑟在线精品视频| 在线观看成人小视频| 亚洲裸体xxx| 91丝袜国产在线播放| 国产精品久久久久久久久免费丝袜 | 国产日韩成人精品| 国产原创一区二区| 日韩亚洲欧美一区二区三区| 亚洲精品videosex极品| 一道本成人在线| 日韩理论片网站| 91在线视频在线| 自拍偷拍亚洲欧美日韩| 99精品视频在线观看| 国产精品国产三级国产aⅴ原创 | 天堂成人免费av电影一区| 欧美在线你懂得| 亚洲成人免费视| 欧美性猛交xxxxxx富婆| 亚洲成人激情综合网| 欧美精品高清视频| 秋霞电影网一区二区| 制服丝袜中文字幕亚洲| 午夜精品国产更新| 91精品国产91久久久久久最新毛片 | 视频在线观看一区二区三区| 欧美日韩第一区日日骚| 日韩高清中文字幕一区| 欧美一区二区日韩| 激情综合五月天| 久久久久久亚洲综合| 成人高清视频在线| 亚洲国产高清在线| 91网站视频在线观看| 亚洲成人中文在线| 678五月天丁香亚洲综合网| 欧美aaaaa成人免费观看视频| 久久只精品国产| 成人综合在线观看| 亚洲色图第一区| 欧美日本在线播放| 美女网站在线免费欧美精品| 久久综合九色综合97婷婷女人 | 在线看国产一区二区| 午夜精品成人在线| 亚洲精品一区二区三区福利| 国产高清无密码一区二区三区| 国产精品萝li| 欧美日韩国产区一| 国产乱码字幕精品高清av| 亚洲日本va午夜在线电影| 欧美精品第1页| 国产不卡高清在线观看视频| 国产人成亚洲第一网站在线播放| 色综合久久久久| 免费国产亚洲视频| 国产精品理论片在线观看| 欧美日韩亚洲综合一区二区三区| 久久99精品久久久久| 中文字幕一区在线观看视频| 欧美日韩精品一区二区| 国产91精品在线观看| 亚洲国产中文字幕| 国产女人aaa级久久久级| 欧美精品久久天天躁| 风流少妇一区二区| 天天爽夜夜爽夜夜爽精品视频| 国产午夜精品一区二区三区嫩草| 欧美三级韩国三级日本三斤| 国产精品影视在线| 图片区小说区区亚洲影院| 中文字幕制服丝袜一区二区三区| 91精品国产综合久久久久久| 99久久精品免费| 国产一区二区主播在线|