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

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

?? wl_inter.c

?? Wolf 3D official source code.
?? C
?? 第 1 頁 / 共 3 頁
字號:
// 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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区不卡在线观看| 国产日韩欧美精品在线| 不卡欧美aaaaa| 成人综合婷婷国产精品久久| 国产馆精品极品| av中文字幕一区| 一本色道久久综合亚洲精品按摩 | 丝瓜av网站精品一区二区| 亚洲视频免费在线观看| 亚洲猫色日本管| 午夜久久久久久久久久一区二区| 日韩专区在线视频| 久久99热这里只有精品| 国产电影精品久久禁18| 91免费视频大全| 欧美视频一区二区三区四区 | 欧美疯狂做受xxxx富婆| 欧美一区日韩一区| 久久嫩草精品久久久久| 国产精品你懂的| 亚洲成av人片www| 国内精品久久久久影院色| 国产成人精品一区二区三区网站观看| 国产精品18久久久久久vr| 菠萝蜜视频在线观看一区| 欧美日韩精品一区二区三区蜜桃 | 国产婷婷色一区二区三区四区 | 一区二区三区四区蜜桃| 日韩综合小视频| 成人永久看片免费视频天堂| 色94色欧美sute亚洲线路二| 777xxx欧美| 亚洲天堂久久久久久久| 日本特黄久久久高潮| zzijzzij亚洲日本少妇熟睡| 91精品国产福利在线观看| 中文字幕久久午夜不卡| 免费一级欧美片在线观看| 不卡视频在线观看| 欧美一区二区福利在线| 亚洲视频每日更新| 久久不见久久见中文字幕免费| www.亚洲人| 337p日本欧洲亚洲大胆精品| 一级做a爱片久久| 99免费精品在线观看| 欧美不卡一区二区| 亚洲chinese男男1069| 国产精品一线二线三线| 欧美精选午夜久久久乱码6080| 国产精品麻豆一区二区| 精品一二三四区| 欧美一区二区三区在线观看| 一区二区三区鲁丝不卡| 99在线热播精品免费| 久久精品免费在线观看| 久久99国产精品久久99| 欧美欧美欧美欧美| 亚洲妇熟xx妇色黄| 91丝袜高跟美女视频| 国产三级精品三级在线专区| 久草中文综合在线| 欧美va在线播放| 久久精品av麻豆的观看方式| 欧美高清hd18日本| 婷婷亚洲久悠悠色悠在线播放| 欧美伊人久久久久久久久影院| 国产精品久久久久久久久动漫| 国产一区二区女| 精品1区2区在线观看| 美女一区二区久久| 精品国产自在久精品国产| 麻豆91在线观看| 欧美成人精品1314www| 极品少妇一区二区| 久久亚洲欧美国产精品乐播| 激情综合色丁香一区二区| 日韩精品一区二区三区老鸭窝| 午夜久久久久久久久| 91精品久久久久久久99蜜桃| 视频一区免费在线观看| 日韩一区二区中文字幕| 狠狠色2019综合网| 国产日本一区二区| 99久久99久久久精品齐齐| 亚洲欧美欧美一区二区三区| 色欧美乱欧美15图片| 五月婷婷激情综合| 欧美v日韩v国产v| 粉嫩aⅴ一区二区三区四区| 亚洲精品国产成人久久av盗摄 | 2020国产成人综合网| 国产精品18久久久久久vr| 久久久www免费人成精品| 成人一区二区在线观看| 亚洲精品视频一区| 88在线观看91蜜桃国自产| 精品一区二区免费| 国产精品女主播av| 欧美精品第1页| 国产激情视频一区二区在线观看 | 欧美性感一区二区三区| 免费久久精品视频| 国产精品国产三级国产| 欧美色图免费看| 国产精品综合二区| 一区二区高清在线| 久久影院视频免费| 欧美网站大全在线观看| 国产最新精品免费| 一区二区成人在线观看| 亚洲精品一区二区三区蜜桃下载| 99re这里都是精品| 极品少妇xxxx精品少妇偷拍| 亚洲激情图片qvod| 26uuu色噜噜精品一区| 欧美性大战久久| 国产成人av一区二区| 日韩不卡一二三区| 悠悠色在线精品| 国产性色一区二区| 欧美一区二区三区免费| 91在线国产福利| 国产精华液一区二区三区| 日一区二区三区| 亚洲精品乱码久久久久久黑人 | 国产精品久久久久久久久搜平片| 欧美精品色一区二区三区| 成人av影院在线| 韩国v欧美v日本v亚洲v| 性做久久久久久免费观看| 中文字幕亚洲精品在线观看| 精品国产百合女同互慰| 欧美性感一类影片在线播放| 99精品桃花视频在线观看| 国产综合久久久久久久久久久久| 香港成人在线视频| 亚洲一级在线观看| 一区二区三区四区五区视频在线观看| 亚洲国产经典视频| 国产精品天干天干在线综合| 欧美精品一区二区三区蜜臀| 欧美日韩国产三级| 欧美日韩卡一卡二| 精品视频1区2区3区| 在线看日韩精品电影| 99久久综合精品| 99在线热播精品免费| av一区二区三区在线| aaa国产一区| 99久久er热在这里只有精品66| 成人av在线资源网| 99久久伊人久久99| 色婷婷一区二区| 欧美在线观看18| 5566中文字幕一区二区电影| 这里只有精品视频在线观看| 91精品在线观看入口| 8v天堂国产在线一区二区| 中文字幕在线不卡一区| 精品视频一区二区三区免费| 欧美性色综合网| 久久久91精品国产一区二区三区| 亚洲欧洲综合另类| 激情都市一区二区| 色婷婷av一区二区三区gif| 精品国产乱码久久久久久久| 亚洲一区二三区| 丁香婷婷综合五月| 日韩亚洲欧美成人一区| 亚洲综合激情小说| 99精品视频在线免费观看| 国产亚洲1区2区3区| 麻豆精品在线看| 欧美曰成人黄网| 亚洲日本在线观看| 国产成人精品免费一区二区| 中文字幕不卡在线观看| 激情成人综合网| 日韩三级免费观看| 午夜精品一区二区三区电影天堂| 成人黄色在线看| 国产婷婷色一区二区三区| 日本高清免费不卡视频| 色综合天天视频在线观看| 日韩三级电影网址| 亚洲精品成人天堂一二三| 日韩在线观看一区二区| 风流少妇一区二区| 欧美日韩一级大片网址| 国产亚洲综合性久久久影院| 伊人性伊人情综合网| 国产精品一区二区在线看| 色久优优欧美色久优优| 2021久久国产精品不只是精品| 亚洲免费观看高清在线观看| 久久成人久久爱| 欧美最猛黑人xxxxx猛交| 国产性天天综合网| 久热成人在线视频|