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

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

?? wl_inter.c

?? Wolf 3D official source code.
?? C
?? 第 1 頁 / 共 3 頁
字號(hào):
// WL_INTER.C

#include "WL_DEF.H"
#pragma hdrstop


//==========================================================================

/*
==================
=
= CLearSplitVWB
=
==================
*/

void ClearSplitVWB (void)
{
	memset (update,0,sizeof(update));
	WindowX = 0;
	WindowY = 0;
	WindowW = 320;
	WindowH = 160;
}


//==========================================================================

#ifdef SPEAR
#ifndef SPEARDEMO
////////////////////////////////////////////////////////
//
// End of Spear of Destiny
//
////////////////////////////////////////////////////////

void EndScreen (int palette, int screen)
{
	CA_CacheScreen (screen);
	VW_UpdateScreen ();
	CA_CacheGrChunk (palette);
	VL_FadeIn(0,255,grsegs[palette],30);
	UNCACHEGRCHUNK (palette);
	IN_ClearKeysDown ();
	IN_Ack ();
	VW_FadeOut ();
}


void EndSpear(void)
{
	EndScreen (END1PALETTE, ENDSCREEN11PIC);

	CA_CacheScreen (ENDSCREEN3PIC);
	VW_UpdateScreen ();
	CA_CacheGrChunk (END3PALETTE);
	VL_FadeIn(0,255,grsegs[END3PALETTE],30);
	UNCACHEGRCHUNK (END3PALETTE);
	fontnumber = 0;
	fontcolor = 0xd0;
	WindowX = 0;
	WindowW = 320;
	PrintX = 0;
	PrintY = 180;
	US_CPrint (STR_ENDGAME1"\n");
	US_CPrint (STR_ENDGAME2);
	VW_UpdateScreen ();
	IN_StartAck ();
	TimeCount = 0;
	while (!IN_CheckAck () && TimeCount < 700);

	PrintX = 0;
	PrintY = 180;
	VWB_Bar(0,180,320,20,0);
	US_CPrint (STR_ENDGAME3"\n");
	US_CPrint (STR_ENDGAME4);
	VW_UpdateScreen ();
	IN_StartAck ();
	TimeCount = 0;
	while (!IN_CheckAck () && TimeCount < 700);

	VW_FadeOut ();

	EndScreen (END4PALETTE, ENDSCREEN4PIC);
	EndScreen (END5PALETTE, ENDSCREEN5PIC);
	EndScreen (END6PALETTE, ENDSCREEN6PIC);
	EndScreen (END7PALETTE, ENDSCREEN7PIC);
	EndScreen (END8PALETTE, ENDSCREEN8PIC);
	EndScreen (END9PALETTE, ENDSCREEN9PIC);

	EndScreen (END2PALETTE, ENDSCREEN12PIC);

	MainMenu[savegame].active = 0;
}
#endif
#endif

//==========================================================================

/*
==================
=
= Victory
=
==================
*/

void Victory (void)
{
#ifndef SPEARDEMO
	long	sec;
	int i,min,kr,sr,tr,x;
	char tempstr[8];

#define RATIOX	6
#define RATIOY	14
#define TIMEX	14
#define TIMEY	8


#ifdef SPEAR
	StartCPMusic (XTHEEND_MUS);

	CA_CacheGrChunk(BJCOLLAPSE1PIC);
	CA_CacheGrChunk(BJCOLLAPSE2PIC);
	CA_CacheGrChunk(BJCOLLAPSE3PIC);
	CA_CacheGrChunk(BJCOLLAPSE4PIC);

	VWB_Bar(0,0,320,200,VIEWCOLOR);
	VWB_DrawPic (124,44,BJCOLLAPSE1PIC);
	VW_UpdateScreen ();
	VW_FadeIn ();
	VW_WaitVBL(2*70);
	VWB_DrawPic (124,44,BJCOLLAPSE2PIC);
	VW_UpdateScreen ();
	VW_WaitVBL(105);
	VWB_DrawPic (124,44,BJCOLLAPSE3PIC);
	VW_UpdateScreen ();
	VW_WaitVBL(105);
	VWB_DrawPic (124,44,BJCOLLAPSE4PIC);
	VW_UpdateScreen ();
	VW_WaitVBL(3*70);

	UNCACHEGRCHUNK(BJCOLLAPSE1PIC);
	UNCACHEGRCHUNK(BJCOLLAPSE2PIC);
	UNCACHEGRCHUNK(BJCOLLAPSE3PIC);
	UNCACHEGRCHUNK(BJCOLLAPSE4PIC);
	VL_FadeOut (0,255,0,17,17,5);
#endif

	StartCPMusic (URAHERO_MUS);
	ClearSplitVWB ();
	CacheLump(LEVELEND_LUMP_START,LEVELEND_LUMP_END);
	CA_CacheGrChunk(STARTFONT);

#ifndef SPEAR
	CA_CacheGrChunk(C_TIMECODEPIC);
#endif


	VWB_Bar (0,0,320,200-STATUSLINES,127);
#ifdef JAPAN
#ifndef JAPDEMO
	CA_CacheGrChunk(C_ENDRATIOSPIC);
	VWB_DrawPic(0,0,C_ENDRATIOSPIC);
	UNCACHEGRCHUNK(C_ENDRATIOSPIC);
#endif
#else
	Write(18,2,STR_YOUWIN);

	Write(TIMEX,TIMEY-2,STR_TOTALTIME);

	Write(12,RATIOY-2,"averages");

	#ifdef SPANISH
	Write(RATIOX+2,  RATIOY,      STR_RATKILL);
	Write(RATIOX+2,  RATIOY+2,  STR_RATSECRET);
	Write(RATIOX+2,  RATIOY+4,STR_RATTREASURE);
	#else
	Write(RATIOX+8,RATIOY,      STR_RATKILL);
	Write(RATIOX+4,RATIOY+2,  STR_RATSECRET);
	Write(RATIOX,  RATIOY+4,STR_RATTREASURE);
	#endif

#endif

#ifndef JAPDEMO
	VWB_DrawPic (8,4,L_BJWINSPIC);
#endif


#ifndef SPEAR
	for (kr = sr = tr = sec = i = 0;i < 8;i++)
#else
	for (kr = sr = tr = sec = i = 0;i < 20;i++)
#endif
	{
		sec += LevelRatios[i].time;
		kr += LevelRatios[i].kill;
		sr += LevelRatios[i].secret;
		tr += LevelRatios[i].treasure;
	}

#ifndef SPEAR
	kr /= 8;
	sr /= 8;
	tr /= 8;
#else
	kr /= 14;
	sr /= 14;
	tr /= 14;
#endif

	min = sec/60;
	sec %= 60;

	if (min > 99)
		min = sec = 99;

	i = TIMEX*8+1;
	VWB_DrawPic(i,TIMEY*8,L_NUM0PIC+(min/10));
	i += 2*8;
	VWB_DrawPic(i,TIMEY*8,L_NUM0PIC+(min%10));
	i += 2*8;
	Write(i/8,TIMEY,":");
	i += 1*8;
	VWB_DrawPic(i,TIMEY*8,L_NUM0PIC+(sec/10));
	i += 2*8;
	VWB_DrawPic(i,TIMEY*8,L_NUM0PIC+(sec%10));
	VW_UpdateScreen ();

	itoa(kr,tempstr,10);
	x=RATIOX+24-strlen(tempstr)*2;
	Write(x,RATIOY,tempstr);

	itoa(sr,tempstr,10);
	x=RATIOX+24-strlen(tempstr)*2;
	Write(x,RATIOY+2,tempstr);

	itoa(tr,tempstr,10);
	x=RATIOX+24-strlen(tempstr)*2;
	Write(x,RATIOY+4,tempstr);


#ifndef SPANISH
#ifndef UPLOAD
#ifndef SPEAR
	//
	// TOTAL TIME VERIFICATION CODE
	//
	if (gamestate.difficulty>=gd_medium)
	{
		VWB_DrawPic (30*8,TIMEY*8,C_TIMECODEPIC);
		fontnumber = 0;
		fontcolor = READHCOLOR;
		PrintX = 30*8-3;
		PrintY = TIMEY*8+8;
		PrintX+=4;
		tempstr[0] = (((min/10)^(min%10))^0xa)+'A';
		tempstr[1] = (((sec/10)^(sec%10))^0xa)+'A';
		tempstr[2] = (tempstr[0]^tempstr[1])+'A';
		tempstr[3] = 0;
		US_Print(tempstr);
	}
#endif
#endif
#endif


	fontnumber = 1;

	VW_UpdateScreen ();
	VW_FadeIn ();

	IN_Ack();

	#ifndef SPEAR
	if (Keyboard[sc_P] && MS_CheckParm("goobers"))
		PicturePause();
	#endif

	VW_FadeOut ();

#ifndef SPEAR
	UNCACHEGRCHUNK(C_TIMECODEPIC);
#endif
	UnCacheLump(LEVELEND_LUMP_START,LEVELEND_LUMP_END);

#ifndef SPEAR
	EndText();
#else
	EndSpear();
#endif

#endif // SPEARDEMO
}


//==========================================================================

#ifndef JAPAN
/*
==================
=
= PG13
=
==================
*/

void PG13 (void)
{
	VW_FadeOut();
	VWB_Bar(0,0,320,200,0x82);			// background

	CA_CacheGrChunk (PG13PIC);
	VWB_DrawPic (216,110,PG13PIC);
	VW_UpdateScreen ();

	UNCACHEGRCHUNK (PG13PIC);

	VW_FadeIn();
	IN_UserInput(TickBase*7);

	VW_FadeOut ();
}
#endif


//==========================================================================

void Write(int x,int y,char *string)
{
 int alpha[]={L_NUM0PIC,L_NUM1PIC,L_NUM2PIC,L_NUM3PIC,L_NUM4PIC,L_NUM5PIC,
	L_NUM6PIC,L_NUM7PIC,L_NUM8PIC,L_NUM9PIC,L_COLONPIC,0,0,0,0,0,0,L_APIC,L_BPIC,
	L_CPIC,L_DPIC,L_EPIC,L_FPIC,L_GPIC,L_HPIC,L_IPIC,L_JPIC,L_KPIC,
	L_LPIC,L_MPIC,L_NPIC,L_OPIC,L_PPIC,L_QPIC,L_RPIC,L_SPIC,L_TPIC,
	L_UPIC,L_VPIC,L_WPIC,L_XPIC,L_YPIC,L_ZPIC};

 int i,ox,nx,ny;
 char ch;


 ox=nx=x*8;
 ny=y*8;
 for (i=0;i<strlen(string);i++)
   if (string[i]=='\n')
   {
	nx=ox;
	ny+=16;
   }
   else
   {
	ch=string[i];
	if (ch>='a')
	  ch-=('a'-'A');
	ch-='0';

	switch(string[i])
	{
	 case '!':
	   VWB_DrawPic(nx,ny,L_EXPOINTPIC);
	   nx+=8;
	   continue;

	 case '\'':
	   VWB_DrawPic(nx,ny,L_APOSTROPHEPIC);
	   nx+=8;
	   continue;

	 case ' ': break;
	 case 0x3a:	// ':'

	   VWB_DrawPic(nx,ny,L_COLONPIC);
	   nx+=8;
	   continue;

	 case '%':
	   VWB_DrawPic(nx,ny,L_PERCENTPIC);
	   break;

	 default:
	   VWB_DrawPic(nx,ny,alpha[ch]);
	}
	nx+=16;
   }
}


//
// Breathe Mr. BJ!!!
//
void BJ_Breathe(void)
{
	static int which=0,max=10;
	int pics[2]={L_GUYPIC,L_GUY2PIC};


	if (TimeCount>max)
	{
		which^=1;
		VWB_DrawPic(0,16,pics[which]);
		VW_UpdateScreen();
		TimeCount=0;
		max=35;
	}
}



/*
==================
=
= LevelCompleted
=
= Entered with the screen faded out
= Still in split screen mode with the status bar
=
= Exit with the screen faded out
=
==================
*/

#ifndef SPEAR
LRstruct LevelRatios[8];
#else
LRstruct LevelRatios[20];
#endif

void LevelCompleted (void)
{
	#define VBLWAIT	30
	#define PAR_AMOUNT	500
	#define PERCENT100AMT	10000
	typedef struct {
			float time;
			char timestr[6];
			} times;

	int	x,i,min,sec,ratio,kr,sr,tr;
	unsigned	temp;
	char tempstr[10];
	long bonus,timeleft=0;
	times parTimes[]=
	{
#ifndef SPEAR
	 //
	 // Episode One Par Times
	 //
	 {1.5,	"01:30"},
	 {2,	"02:00"},
	 {2,	"02:00"},
	 {3.5,	"03:30"},
	 {3,	"03:00"},
	 {3,	"03:00"},
	 {2.5,	"02:30"},
	 {2.5,	"02:30"},
	 {0,	"??:??"},	// Boss level
	 {0,	"??:??"},	// Secret level

	 //
	 // Episode Two Par Times
	 //
	 {1.5,	"01:30"},
	 {3.5,	"03:30"},
	 {3,	"03:00"},
	 {2,	"02:00"},
	 {4,	"04:00"},
	 {6,	"06:00"},
	 {1,	"01:00"},
	 {3,	"03:00"},
	 {0,	"??:??"},
	 {0,	"??:??"},

	 //
	 // Episode Three Par Times
	 //
	 {1.5,	"01:30"},
	 {1.5,	"01:30"},
	 {2.5,	"02:30"},
	 {2.5,	"02:30"},
	 {3.5,	"03:30"},
	 {2.5,	"02:30"},
	 {2,	"02:00"},
	 {6,	"06:00"},
	 {0,	"??:??"},
	 {0,	"??:??"},

	 //
	 // Episode Four Par Times
	 //
	 {2,	"02:00"},
	 {2,	"02:00"},
	 {1.5,	"01:30"},
	 {1,	"01:00"},
	 {4.5,	"04:30"},
	 {3.5,	"03:30"},
	 {2,	"02:00"},
	 {4.5,	"04:30"},
	 {0,	"??:??"},
	 {0,	"??:??"},

	 //
	 // Episode Five Par Times
	 //
	 {2.5,	"02:30"},
	 {1.5,	"01:30"},
	 {2.5,	"02:30"},
	 {2.5,	"02:30"},
	 {4,	"04:00"},
	 {3,	"03:00"},
	 {4.5,	"04:30"},
	 {3.5,	"03:30"},
	 {0,	"??:??"},
	 {0,	"??:??"},

	 //
	 // Episode Six Par Times
	 //
	 {6.5,	"06:30"},
	 {4,	"04:00"},
	 {4.5,	"04:30"},
	 {6,	"06:00"},
	 {5,	"05:00"},
	 {5.5,	"05:30"},
	 {5.5,	"05:30"},
	 {8.5,	"08:30"},
	 {0,	"??:??"},
	 {0,	"??:??"}
#else
	 //
	 // SPEAR OF DESTINY TIMES
	 //
	 {1.5,	"01:30"},
	 {3.5,	"03:30"},
	 {2.75,	"02:45"},
	 {3.5,	"03:30"},
	 {0,	"??:??"},	// Boss 1
	 {4.5,	"04:30"},
	 {3.25,	"03:15"},
	 {2.75,	"02:45"},
	 {4.75,	"04:45"},
	 {0,	"??:??"},	// Boss 2
	 {6.5,	"06:30"},
	 {4.5,	"04:30"},
	 {2.75,	"02:45"},
	 {4.5,	"04:30"},
	 {6,	"06:00"},
	 {0,	"??:??"},	// Boss 3
	 {6,	"06:00"},
	 {0,	"??:??"},	// Boss 4
	 {0,	"??:??"},	// Secret level 1
	 {0,	"??:??"},	// Secret level 2
#endif
	};



	CacheLump(LEVELEND_LUMP_START,LEVELEND_LUMP_END);
	ClearSplitVWB ();			// set up for double buffering in split screen
	VWB_Bar (0,0,320,200-STATUSLINES,127);
	StartCPMusic(ENDLEVEL_MUS);

//
// do the intermission
//
	IN_ClearKeysDown();
	IN_StartAck();

#ifdef JAPAN
	CA_CacheGrChunk(C_INTERMISSIONPIC);
	VWB_DrawPic(0,0,C_INTERMISSIONPIC);
	UNCACHEGRCHUNK(C_INTERMISSIONPIC);
#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区色| 日本成人超碰在线观看| 老司机午夜精品| 一本色道a无线码一区v| 国产日韩av一区| 7777精品久久久大香线蕉| 成人免费视频网站在线观看| 五月天亚洲精品| 欧美国产一区二区在线观看| 欧美精品v国产精品v日韩精品| thepron国产精品| 理论电影国产精品| 丝袜美腿高跟呻吟高潮一区| 国产精品福利一区二区三区| 精品国产免费一区二区三区四区| 91久久精品一区二区| 成人污污视频在线观看| 蜜桃视频一区二区三区 | 精品国产乱码久久| 欧美中文字幕久久| 91网站在线观看视频| 国产精品亚洲а∨天堂免在线| 午夜久久久久久久久久一区二区| 亚洲人成网站精品片在线观看| 午夜精品影院在线观看| 日韩毛片一二三区| 国产亚洲午夜高清国产拍精品| 国产精品456露脸| 久久久久成人黄色影片| 欧美激情在线一区二区三区| 国产精品亚洲一区二区三区妖精| 亚洲国产成人在线| 精品欧美久久久| 亚洲日本在线a| 亚洲影视在线观看| 亚洲高清视频中文字幕| 亚洲黄色录像片| 国产精品福利电影一区二区三区四区| 久久久久久久av麻豆果冻| 精品福利av导航| www日韩大片| 国产日韩精品视频一区| 国产欧美日韩麻豆91| 国产丝袜在线精品| 国产精品久久久久7777按摩| 国产精品麻豆视频| 国产精品水嫩水嫩| ㊣最新国产の精品bt伙计久久| 国产精品丝袜一区| 国产精品电影一区二区| 亚洲美女淫视频| 亚洲.国产.中文慕字在线| 亚洲国产乱码最新视频 | 久久男人中文字幕资源站| 精品国产一区二区国模嫣然| 精品国产凹凸成av人网站| 久久久亚洲国产美女国产盗摄 | 久久综合九色综合欧美亚洲| 精品乱人伦小说| 国产女人18毛片水真多成人如厕| 国产欧美综合在线| 亚洲欧美日韩国产综合在线| 午夜久久久影院| 久久99国产精品麻豆| 国产高清精品网站| 91丨porny丨户外露出| 欧美性大战xxxxx久久久| 7777女厕盗摄久久久| 国产午夜亚洲精品理论片色戒| 中文字幕在线观看不卡| 亚洲成人一区在线| 久久成人av少妇免费| 高清不卡在线观看av| 一本色道亚洲精品aⅴ| 欧美一区二区三区啪啪| 国产欧美日韩一区二区三区在线观看| 亚洲欧洲www| 捆绑紧缚一区二区三区视频| 波多野结衣在线aⅴ中文字幕不卡| av在线不卡电影| 欧美一区二区黄色| 综合色天天鬼久久鬼色| 蜜桃精品视频在线| 91碰在线视频| 欧美成人一区二区| 亚洲尤物视频在线| 国产一区二区不卡| 7799精品视频| 国产精品久久看| 青青国产91久久久久久 | 日韩视频免费观看高清完整版在线观看 | 国产一区二区女| 一本一道综合狠狠老| 久久综合九色欧美综合狠狠| 一区二区三区.www| 国产盗摄一区二区| 欧美裸体bbwbbwbbw| 亚洲欧洲av在线| 精品夜夜嗨av一区二区三区| 色综合天天狠狠| 国产日韩欧美综合一区| 日韩高清一级片| 99精品在线观看视频| www一区二区| 全国精品久久少妇| 欧美三级乱人伦电影| 18成人在线观看| 成人免费的视频| 精品少妇一区二区三区免费观看 | 老司机免费视频一区二区三区| 在线中文字幕不卡| 国产精品麻豆网站| 国产乱人伦精品一区二区在线观看 | 成人黄色av网站在线| 日韩欧美亚洲另类制服综合在线 | 亚洲午夜久久久久久久久电影网| 福利一区福利二区| 欧美精品一区二区蜜臀亚洲| 欧洲一区在线电影| 一区在线播放视频| 成人午夜精品在线| 国产欧美视频一区二区三区| 国产中文字幕一区| 欧美成va人片在线观看| 视频一区二区欧美| 欧美精品久久天天躁| 亚洲国产精品一区二区久久恐怖片| 波多野结衣的一区二区三区| 国产欧美一区二区三区在线看蜜臀| 精品一二三四在线| 久久丝袜美腿综合| 狠狠狠色丁香婷婷综合激情| 日韩亚洲欧美在线| 久久se这里有精品| 2023国产精品自拍| 国产伦精品一区二区三区在线观看 | 在线一区二区视频| 一区二区三区中文字幕电影 | 一区二区视频在线| 色系网站成人免费| 一二三四社区欧美黄| 在线精品视频一区二区三四| 一区二区三区四区激情| 91福利国产精品| 亚洲成人一区在线| 日韩一级二级三级| 国产精品资源在线观看| 国产日韩欧美一区二区三区乱码| 精品国产乱码久久久久久图片| 韩国欧美一区二区| 国产三级一区二区三区| 成人的网站免费观看| 亚洲女爱视频在线| 欧美日本视频在线| 日本特黄久久久高潮| 久久亚洲精华国产精华液| 国产精品一区二区x88av| 国产精品午夜久久| 色欧美乱欧美15图片| 天堂va蜜桃一区二区三区| 欧美成人综合网站| 成人免费黄色大片| 亚洲h精品动漫在线观看| 欧美一级高清片在线观看| 国产在线精品一区二区三区不卡| 国产视频一区在线观看| 91国产成人在线| 久久66热re国产| 国产精品久久久久久久第一福利| 欧美在线高清视频| 国产自产视频一区二区三区| 国产精品视频一区二区三区不卡| 欧美日韩中字一区| 国产精品一级在线| 夜夜精品视频一区二区| 精品伦理精品一区| 91美女片黄在线观看| 欧美a级一区二区| 中文字幕在线一区| 日韩视频在线永久播放| 99精品在线免费| 久久精品国产在热久久| 亚洲视频免费看| 日韩你懂的在线播放| 99精品视频在线观看免费| 美女一区二区久久| 亚洲人成网站在线| 26uuu国产一区二区三区| 在线观看一区二区精品视频| 国产精品一二三区在线| 亚洲一区二区三区视频在线| 久久久亚洲国产美女国产盗摄 | 午夜伊人狠狠久久| 日本一区二区在线不卡| 91精品麻豆日日躁夜夜躁| 成人av网站免费观看| 免费在线观看一区二区三区| 亚洲欧美日韩一区| 中文一区在线播放| 日韩精品中文字幕在线一区|