Beispiel #1
0
int SelectWnd::selectExec()
{
    WORD			oldSelect;
    int				i;
    BOOL			bSetCursor = FALSE;

    oldSelect = selectNum;
    selectNum = -1;
    for(i=0; i<slctCnt; i++) {
        if(PtInRect(&selectRect[i],sysInf.msPoint)) {
            selectNum = i;
            break;
        }
    }
    if(keyState.push_action) {
        if(selectNum >= 0) {
            PlayEffectNum(evtHandle[1],SelectSnd);
            selectEnd();
            return selectNum;
        }
    } else if(bCancel && keyState.push_cancel) {
        PlayEffectNum(evtHandle[1],CancelSnd);
        selectEnd();
        return -2;
    } else if(keyState.push_up || keyState.push_down) {
        if(keyState.push_up) {
            if(selectNum == (-1))selectNum = 0;
            else if(selectNum == 0)selectNum = slctCnt -1;
            else selectNum --;
        } else {
            if(selectNum == (-1))selectNum = 0;
            else {
                selectNum ++;
                if(selectNum >= slctCnt)selectNum = 0;
            }
        }
        bSetCursor = TRUE;
    } else if(keyState.push_left || keyState.push_right) {
        if(keyState.push_left) {
            selectNum = 0;
        } else {
            selectNum = slctCnt -1;
        }
        bSetCursor = TRUE;
    }
    if(bSetCursor) {
        point.x = selectRect[selectNum].left + 30;
        point.y = selectRect[selectNum].top + 20;
        SetWindowCursorPos(sysInf.hWnd, point.x, point.y);
    }
    if(oldSelect!=selectNum && selectNum>=0) {
        PlayEffectNum(evtHandle[1],CurMoveSnd);
    }
    return -1;
} // SelectWnd::selectExec
Beispiel #2
0
void mainLoop()
{
	if(lpSoundDS && lpSoundDS->lpNextMusic){
		lpSoundDS->NextMusicStart();
	}
	lookPadState();
	lookPadRepeat();

	switch(sysInf.execMode){
	  case movie_mode:
		if(FALSE==lpMovie->IsPlay()){
			my_delete(lpMovie);
			static BOOL bOpOnece = TRUE;
			if(bOpOnece){
				lpSoundDS->ChangeMusic(bgmHandle,pack_bgmfile,2,FALSE,0);
				lpMovie = new CMovie();
				lpMovie->OpenMovie("title.avi",-1,TRUE);
				bOpOnece = FALSE;
			}else{
				PlayEffectNum(evtHandle[1],SelectSnd);
				StartMainLoop();
			}
		}
		return;
	  case opening_mode:
		titleWnd->Exec();
		break;
	  case staffRoll_mode:
		lpStaffRoll->Exec();
		break;
	  case event_exec_mode:
	  case select_exec_mode:
		EXEC_ControlLang( &LangData );
		break;
	  case menu_mode:
		lpMenuWnd->Exec();
		break;
	  case kabegami_mode:
		lpKabeSetWnd->Exec();
		break;
	  case staffmode_mode:
		lpStaffmodeWnd->Exec();
		break;
	  case save_mode:
	  case load_mode:
		if(FALSE==saveWnd->selectExec()){
			my_delete(saveWnd);
		}
		break;
	  case backlog_mode:
		backLog.Exec();
		break;
	}
keyInOut:
	if(Render()){
		HDC		hDC = GetDC(sysInf.hWnd);
		BitBlt(hDC,0,0,WIN_SIZEX,WIN_SIZEY,g_DibInf.memDC,0,0,SRCCOPY);
		ReleaseDC(sysInf.hWnd,hDC);
	}
} // mainLoop
Beispiel #3
0
BOOL SaveWnd::selectExec()
{
	int		i;
	BOOL	bSetCur = FALSE;
	int		oldSelect = selectNum, oldBtn = btnSelect;
	switch(state){
	  case save_fadein:
		if(timeGetTime() >= startTime){
			alpha = 1.0f;
			state = save_exec;
		}else{
			alpha = 1.0f - (startTime -timeGetTime()) /500.0f;
		}
		SetAlpha();
		btn[2].selectRect.top = 565; btn[2].selectRect.bottom = btn[2].selectRect.top+25;
		btn[2].selectRect.left = LONG(709 +(1.0f- alpha)*(47+40*4));
		btn[2].selectRect.right = btn[2].selectRect.left +86;
		return TRUE;
	  case save_fadeout:
		if(timeGetTime() >= startTime){
			alpha = 0;
			changeExecMode(bak_mode);	
			return FALSE;
		}
		alpha = (startTime -timeGetTime()) /500.0f;
		SetAlpha();
		btn[2].selectRect.top = 457+4*27;
		btn[2].selectRect.top += LONG((1.0f-alpha)*40);
		btn[2].selectRect.bottom = btn[2].selectRect.top +25;
		return TRUE;
	  case save_writeSure:
		if(keyState.push_left || keyState.push_right || keyState.push_up || keyState.push_down){
			bYesNo = !bYesNo;
			SetWindowCursorPos(sysInf.hWnd,yesnoBtn[bYesNo].selectRect.left+43, yesnoBtn[bYesNo].selectRect.top+12);
		}
		for(i=0;i<2;i++){
			if(yesnoBtn[i].CheckState(&sysInf.msPoint)){
				if(i==0){
					PlayEffectNum(evtHandle[11],SE_PUSH);
					state = save_writeExec;
					return TRUE;
				}else{
					PlayEffectNum(evtHandle[11],SE_CANCEL);
					state = save_exec;
				}
			}
		}
		if(keyState.push_cancel){
			PlayEffectNum(evtHandle[11],SE_CANCEL);
			state = save_exec;
		}
		return TRUE;
	  case save_loadSure:
		if(keyState.push_left || keyState.push_right || keyState.push_up || keyState.push_down){
			bYesNo = !bYesNo;
			SetWindowCursorPos(sysInf.hWnd,yesnoBtn[bYesNo].selectRect.left+43, yesnoBtn[bYesNo].selectRect.top+12);
		}
		for(i=0;i<2;i++){
			if(yesnoBtn[i].CheckState(&sysInf.msPoint)){
				if(i==0){
					if(SAV_Load( selectNum+offsetNum+1 )){
						PlayEffectNum(evtHandle[11],SE_PUSH);
						startTime = timeGetTime();
						state = save_loadEnd;
						return TRUE;
					}
					startTime = timeGetTime() +500;
					state = save_fadeout;
					return TRUE;
				}else{
					PlayEffectNum(evtHandle[11],SE_CANCEL);
					state = save_exec;
				}
			}
		}
		if(keyState.push_cancel){
			PlayEffectNum(evtHandle[11],SE_CANCEL);
			state = save_exec;
		}
		return TRUE;
	  case save_writeExec:
		new_time = selectNum+offsetNum+1;
		SAV_Save( new_time );
		useTable[selectNum+offsetNum] = TRUE;

		struct _stat	fstatus;
		char fname[32];
		wsprintf( fname, "save_%02d.sav", new_time );
		_stat(fname,&fstatus);
		file_time[selectNum+offsetNum] = fstatus.st_mtime;

		CreateInfo();
		startTime = timeGetTime();
		state = save_writeEnd;
	  case save_loadEnd:
	  case save_writeEnd:
		i = timeGetTime() -startTime;
		if(i>1000){
			if(state==save_writeEnd){
				changeExecMode(bak_mode);
			}else{
				changeExecMode(event_exec_mode);
			}
			startTime = timeGetTime();
			if(voicefile[0])PlayVoice(voicefile, FALSE, 255);
			voicefile[0] = '\0';
			bFadeOut = TRUE;
		}
		return TRUE;
	}
	btnSelect = 0xff;
	for(i=0;i<3;i++){
		if(btn[i].CheckState(&sysInf.msPoint)){
			btnSelect = i;
			switch(i){
			  case 0:	
				PlayEffectNum(evtHandle[11],SE_PUSH);		
				if(0==offsetNum)offsetNum = 45;
				else offsetNum -= 5;
				CreateInfo();
				return TRUE;
			  case 1:	
				PlayEffectNum(evtHandle[11],SE_PUSH);		
				offsetNum += 5;
				if(offsetNum>45)offsetNum = 0;
				CreateInfo();
				return TRUE;
			  default:	
				PlayEffectNum(evtHandle[11],SE_CANCEL);		
				startTime = timeGetTime() +500;
				state = save_fadeout;
				return TRUE;
			}
		}else if(btn_onCursor==btn[i].GetState()){
			btnSelect = i;
			if(oldBtn != btnSelect){
				PlayEffectNum(evtHandle[11],SE_SELECT);		
			}
		}
	}
	for(i=0;i<10;i++){
		if(pageBtn[i].CheckState(&sysInf.msPoint)){
			PlayEffectNum(evtHandle[11],SE_PUSH);
			btnSelect = i+3;
			offsetNum = i*5;
			CreateInfo();
			return TRUE;
		}else if(btn_onCursor==pageBtn[i].GetState()){
			btnSelect = i+3;
			if(oldBtn != btnSelect){
				PlayEffectNum(evtHandle[11],SE_SELECT);
			}
		}
	}
	if(keyState.push_action){
		if(selectNum<5){
			if(useTable[selectNum+offsetNum]){
				PlayEffectNum(evtHandle[11],SE_PUSH);
				SetWindowCursorPos(sysInf.hWnd,yesnoBtn[0].selectRect.left +43, yesnoBtn[0].selectRect.top +12);
				if(mode==save_mode) state = save_writeSure;
				else state = save_loadSure;
				return TRUE;
			}else if(mode==save_mode){
				PlayEffectNum(evtHandle[11],SE_PUSH);
				state = save_writeExec;
				return TRUE;
			}
		}
	}else if(keyState.push_cancel){
		PlayEffectNum(evtHandle[11],SE_CANCEL);		
		startTime = timeGetTime() +500;
		state = save_fadeout;
		return TRUE;
	}else if(keyState.push_up){
		for(i=0;i<5;i++){
			if(selectNum==0xff){
				selectNum = 0;
			}else if(selectNum==0){
				selectNum = 4;
				if(0==offsetNum)offsetNum = 45;
				else offsetNum -= 5;
				CreateInfo();
			}else{
				selectNum --;
			}
			if(mode==save_mode || useTable[selectNum+offsetNum])break;
		}
		if(i==5){
			selectNum = 0xff;
		}else{
			bSetCur = TRUE;
		}
	}else if(keyState.push_down){
		for(i=0;i<5;i++){
			if(selectNum>=4){
				selectNum = 0;
				offsetNum += 5;
				if(offsetNum>45)offsetNum = 0;
				CreateInfo();
			}else{
				selectNum ++;
			}
			if(mode==save_mode || useTable[selectNum+offsetNum])break;
		}
		if(i==5){
			selectNum = 0xff;
		}else{
			bSetCur = TRUE;
		}
	}else if(keyState.push_left){
		if(0==offsetNum)offsetNum = 45;
		else offsetNum -= 5;
		CreateInfo();
		return TRUE;
	}else if(keyState.push_right){
		offsetNum += 5;
		if(offsetNum>45)offsetNum = 0;
		CreateInfo();
		return TRUE;
	}
	if(bSetCur){
		if(sysInf.msPoint.x>=20 && sysInf.msPoint.x<706){
			point.x = sysInf.msPoint.x;
		}else{
			point.x = 20 +40;
		}
		point.y = 18 +40 +selectNum*100;
		SetWindowCursorPos(sysInf.hWnd, point.x, point.y);
	}else{
		selectNum = 0xff;
		for(i=0;i<5;i++){
			rect.left = 20;
			rect.right = rect.left +686;
			rect.top = 18 +100*i;
			rect.bottom = rect.top +96;
			if(myPtInRect(&rect, &sysInf.msPoint)){
				if(mode==save_mode || useTable[i+offsetNum]){
					selectNum = i;
					break;
				}
			}
		}
	}
	if(0xff != selectNum){
		yesnoBtn[0].selectRect.top = yesnoBtn[1].selectRect.top = 18+128+100*selectNum;
		yesnoBtn[0].selectRect.bottom = yesnoBtn[1].selectRect.bottom = yesnoBtn[0].selectRect.top +25;
		if(selectNum!=oldSelect){
			PlayEffectNum(evtHandle[11],SE_SELECT);
		}
	}
	return TRUE;
} // SaveWnd::selectExec
Beispiel #4
0
BOOL SideWnd::Check(POINT *msPoint)
{
	RECT	barRect = {770,0,800,600};
	RECT	scrollBarRect = {770+9,9,770+25,310};
	RECT	brightRect = {770+9,491,770+27,589};
	int			i;
	float ptr;

	switch(sysInf.execMode){
	  case event_exec_mode: case select_exec_mode: case backlog_mode:
		break;
	  default:
		return FALSE;
	}
	if(PtInRect(&scrollBarRect,sysInf.msPoint)){
		if(keyState.push_action || keyState.data_action){
			switch(sysInf.execMode){
				case event_exec_mode: case select_exec_mode:
				backLog.DispInit();
				break;
			}
			if(sysInf.msPoint.y <= 24)ptr = 0;
			else if(sysInf.msPoint.y >= 295)ptr = 1.0f;
			else{
				ptr = float(sysInf.msPoint.y -24)/271;
			}
			backLog.SetScrollPtr(ptr);
			keyState.push_action = 0;
			return TRUE;
		}
	}
	if(PtInRect(&brightRect,sysInf.msPoint)){
		if(keyState.push_action || keyState.data_action){
			if(sysInf.msPoint.y <= 494)ptr = 0;
			else if(sysInf.msPoint.y >= 587)ptr = 1.0f;
			else{
				ptr = float(sysInf.msPoint.y -494)/93;
			}
			sysInf.transparent = SHORT(100.0f -ptr*100);
		}
	}
	if(msPoint->x >= barRect.left){
		switch(type){
		  case 0:
			alpha += ((100-sysInf.transparent)/1000.0f);
			if(alpha > 1.0f) alpha = 1.0f;
			break;
		}
		for(i=0;i<6;i++){
			if(FALSE==btn[i].CheckState(msPoint) && !(i==0&&keyState.push_up) && !(i==1&&keyState.push_down)) continue;
			switch(i){
			  case 0:	
				switch(sysInf.execMode){
				  case event_exec_mode: case select_exec_mode:
					backLog.DispInit();
					break;
				  case backlog_mode:
					keyState.push_up = 1;
					return FALSE;
				}
				break;
			  case 1:	
				switch(sysInf.execMode){
				  case backlog_mode:
					keyState.push_down = 1;
					return FALSE;
				}
				break;
			  case 2:	
				if(NULL==saveWnd){
					PlayEffectNum(evtHandle[1],SelectSnd);
					saveWnd = new SaveWnd(save_mode);
				}
				break;
			  case 3:	
				if(NULL==saveWnd){
					PlayEffectNum(evtHandle[1],SelectSnd);
					saveWnd = new SaveWnd(load_mode);
				}
				break;
			  case 4:	
				sysInf.bShowMsgwin = !sysInf.bShowMsgwin;
				break;
			  case 5:	
				DialogBox( sysInf.hInstance, MAKEINTRESOURCE(IDD_CONFIGDIALOG), sysInf.hWnd, ConfDialogBoxProc );
				break;
			}
			break;
		}
		keyState.push_action = 0;
		return TRUE;
	}else{
		switch(type){
		  case 0:
			alpha -= ((100-sysInf.transparent)/1000.0f);
			if(alpha < (sysInf.transparent/100.0f)) alpha = (sysInf.transparent/100.0f);
			break;
		}
		for(i=2;i<6;i++){
			if(btn[i].GetState()!=btn_disable) btn[i].SetState(btn_normal);
		}
	}
	return FALSE;
} // SideWnd::Check
Beispiel #5
0
BOOL CGmodeWnd::Exec()
{
	int			i;
	BOOL		bPush = FALSE;
	POINT		icPt;
	char		str[MAX_PATH];

	if(cgview_mode!=sysInf.execMode)return FALSE;
	switch(state){
	  case 0:
	  case 2:
	  case 4:
	  case 5:
		time = bgInf.look_cnt-timeGetTime();
		baseWnd.alpha = float(bgInf.look_max-time)/bgInf.look_max;
		if(time<=0){
			baseWnd.alpha = 1.0f;
			bgInf.look_cnt = 0;
			if(state==4)state = 1;
			else state ++;
		}
		if(state==3 && (selectNum==5 || selectNum==6 || selectNum==7)){
			bgInf.look_max = 2100;
			bgInf.look_cnt = timeGetTime() +bgInf.look_max;
		}else if(state==5){
			baseWnd.alpha = 1.0f -baseWnd.alpha;
		}else if(state==6){
			changeExecMode( opening_mode );	
		}
		panel[0].alpha = panel[1].alpha = button.alpha = baseWnd.alpha;
		return TRUE;
	  case 1:
		if(keyState.push_action && selectNum>=0){
			if(AVG_GetCgFlag(selectNum+1)==FALSE)break;
			PlayEffectNum(evtHandle[1],SelectSnd);
			wsprintf(str,"v00%02d0",selectNum);
			baseWnd.loadLGF(pack_eventcg,str);
			state = 2;
			bgInf.look_max = 900;
			bgInf.look_cnt = timeGetTime() +bgInf.look_max;
			panel[0].alpha = panel[1].alpha = button.alpha = baseWnd.alpha = 0;
			switch(selectNum){
			  case 5:
				scrollOffset.x = 680;
				scrollOffset.y = 0;
				break;
			  case 6:
				scrollOffset.x = 0;
				scrollOffset.y = 600;
				break;
			  case 7:
				scrollOffset.x = 0;
				scrollOffset.y = 0;
				break;
			}
			break;
		}else if(keyState.push_left || keyState.push_up){
			bPush = TRUE;
			if(selectNum==0)selectNum = 11;
			else selectNum --;
		}else if(keyState.push_right || keyState.push_down){
			bPush = TRUE;
			selectNum ++;
			if(selectNum > 11)selectNum = 0;
		}
		if(bPush){
			icPt.x = 54  +(selectNum%4)*177 +50;
			icPt.y = 104 +(selectNum/4)*136 +50;
			ClientToScreen(sysInf.hWnd,&icPt);
			SetCursorPos(icPt.x, icPt.y);
		}else{
			selectNum = -1;
		}
		for(i=0;i<12;i++){
			rect.left = 54+ 177*(i%4);	rect.right = rect.left +160;
			rect.top = 104+136*(i/4);	rect.bottom = rect.top +120;
			if(PtInRect(&rect,sysInf.msPoint)){
				selectNum = i;
				break;
			}
		}
		if(btn.CheckState(&sysInf.msPoint) || keyState.push_cancel){
			PlayEffectNum(evtHandle[1],CancelSnd);
			baseWnd.BltFast(0,0,&g_DibInf.colorBuf,NULL,FALSE);
			state = 5;
			bgInf.look_max = 900;
			bgInf.look_cnt = timeGetTime() +bgInf.look_max;
			return TRUE;
		}
		break;
	  case 3:
		switch(selectNum){
		  case 5:
			time = bgInf.look_cnt-timeGetTime();
			if(time<=0){
				scrollOffset.x = 0;
				scrollOffset.y = 680;
			}else{
				scrollOffset.x = 680 -(bgInf.look_max-time)*680/bgInf.look_max;
				scrollOffset.y = (bgInf.look_max-time)*680/bgInf.look_max;
			}
			break;
		  case 6:
			time = bgInf.look_cnt-timeGetTime();
			scrollOffset.x = 0;
			if(time<=0){
				scrollOffset.y = 0;
			}else{
				scrollOffset.y = 600-(bgInf.look_max-time)*600/bgInf.look_max;
			}
			break;
		  case 7:
			time = bgInf.look_cnt-timeGetTime();
			scrollOffset.x = 0;
			if(time<=0){
				scrollOffset.y = 600;
			}else{
				scrollOffset.y = (bgInf.look_max-time)*600/bgInf.look_max;
			}
			break;
		}
		if(keyState.push_action || keyState.push_cancel){
			PlayEffectNum(evtHandle[1],CancelSnd);
			baseWnd.loadLGF(pack_gparts,"CGmodeBase");
			state = 4;
			bgInf.look_max = 900;
			bgInf.look_cnt = timeGetTime() +bgInf.look_max;
			panel[0].alpha = panel[1].alpha = button.alpha = baseWnd.alpha = 0;
		}
		break;
	}
	return TRUE;
} // CGmodeWnd::Exec
Beispiel #6
0
void TitleWnd::Exec()
{
	int		i;
	BOOL	bMoveCur = FALSE;
	short	oldSelect = selectNum;

	switch(state){
	  case 0:	
		baseCBuf.alpha += 0.02f;
		if(baseCBuf.alpha >= 1.0f){
			backColorBuf.clearColorBuf();
			baseCBuf.alpha = 1.0f;
			state = 1;
		}
		return;
	}
	if(keyState.push_up){
		selectNum --;
		while(1){
			if(selectNum<0){
				selectNum = 4;
				break;
			}
			if(btn[selectNum].GetState()!=btn_disable)break;
			selectNum --;
		}
		bMoveCur = TRUE;
	}else if(keyState.push_down){
		selectNum ++;
		while(1){
			if(selectNum>4){
				selectNum = 0;
				break;
			}
			if(btn[selectNum].GetState()!=btn_disable)break;
			selectNum ++;
		}
		bMoveCur = TRUE;
	}else if(keyState.push_left){
		selectNum = 0;
		bMoveCur = TRUE;
	}else if(keyState.push_right){
		selectNum = 4;
		bMoveCur = TRUE;
	}
	if(bMoveCur){
		SetWindowCursorPos(sysInf.hWnd,btn[selectNum].selectRect.left+10, btn[selectNum].selectRect.top+10);
	}else{
		selectNum = -1;
	}
	for(i=0;i<5;i++){
		if(FALSE==btn[i].CheckState(&sysInf.msPoint)){
			if(btn[i].GetState()==btn_onCursor)selectNum = i;
			continue;
		}
		selectNum = i;
		if(selectNum != 4) PlayEffectNum(evtHandle[1],SelectSnd);
		switch(i){
		  case 0:	
			EXEC_ReadLang( "0500.sdt", &LangData );
			AVG_SetScenarioNo(500);
			EXEC_StartLang( &LangData, MAIN_SCRIPT );
			c_cls_all();
			msgWnd.MsgCLS();
			lpSoundDS->FadeOut(bgmHandle);
			saveInf.musicNum = -1;
			changeExecMode( event_exec_mode );	
			break;
		  case 1:	
			EXEC_ReadLang( "0000.sdt", &LangData );
			AVG_SetScenarioNo(0);
			EXEC_StartLang( &LangData, MAIN_SCRIPT );
			c_cls_all();
			msgWnd.MsgCLS();
			lpSoundDS->FadeOut(bgmHandle);
			saveInf.musicNum = -1;
			changeExecMode( event_exec_mode );
			break;
		  case 2:
			EXEC_LangBuf  = (char *)&LangData.LangBuf;
			EXEC_LangInfo = &LangData;
			saveWnd = new SaveWnd(load_mode);
			break;
		  case 3:
			lpCGmodeWnd = new CGmodeWnd;
			break;
		  case 4:	
			sysInf.bGameEnd = on;
			break;
		}
	}
} // TitleWnd::Exec
Beispiel #7
0
BOOL StaffmodeWnd::Exec()
{
	int			i,loadTex,nextStaff;
	BOOL		bPush = FALSE;
	POINT		icPt;

	if(staffmode_mode!=sysInf.execMode)return FALSE;
	switch(state){
	  case 0:
	  case 6:
		time = bgInf.look_cnt-timeGetTime();
		baseWnd.alpha = float(bgInf.look_max-time)/bgInf.look_max;
		if(time<=0){
			baseWnd.alpha = 1.0f;
			bgInf.look_cnt = 0;
			state ++;
		}
		if(1==state)baseWnd.loadLGF(pack_gparts,"staffBase");
		if(7==state)changeExecMode( event_exec_mode );
		panel[0].alpha = panel[1].alpha = button.alpha = logo.alpha = baseWnd.alpha;
		return TRUE;
	  case 1:
		if(keyState.push_cancel || keyState.push_down){
			PlayEffectNum(evtHandle[1],CancelSnd);
			baseWnd.loadLGF(pack_eventcg,"s20100");
			bgInf.colorBuf.loadLGF(pack_eventcg,"s20100",Type_back);
			backColorBuf.BltFast(40, 30, &bgInf.colorBuf, NULL, FALSE);
			saveInf.btRect.left = saveInf.btRect.top = 0;
			saveInf.btRect.right = 800;	saveInf.btRect.bottom = 600;
			saveInf.btPoint.x = 40; saveInf.btPoint.y = 30;

			state = 6;
			bgInf.look_max = 900;
			bgInf.look_cnt = timeGetTime() +bgInf.look_max;
			panel[0].alpha = panel[1].alpha = button.alpha = logo.alpha = baseWnd.alpha = 0;
		}else if(keyState.push_left){
			bTurn = 1;
		}else if(keyState.push_right){
			bTurn = 2;
		}else if(keyState.push_up){
			bTurn = 3;
		}
		for(i=0;i<3;i++){
			if(btn[i].CheckState(&sysInf.msPoint)){
				bTurn = i+1;
			}
		}
		if(bTurn==1){
			selectNum --;
			if(selectNum < 0) selectNum = 43;
			nextStaff = selectNum -1;
			if(nextStaff < 0)nextStaff += 44;
			frontNum --;
			if(frontNum < 0)frontNum = 3;
			loadTex = frontNum -1;
			if(loadTex < 0) loadTex = 3;
			wsprintf(str,"stt%03d",nextStaff);
			panel[loadTex].loadLGF(pack_eventcg,str);
			src[loadTex].buf = (BYTE *)panel[loadTex].pBuf;
			src[loadTex].pal = (RGB32 *)panel[loadTex].palColor;
			state = 2;
			writeName();
			PlayEffectNum(evtHandle[1],CurMoveSnd);
		}else if(bTurn==2){
			selectNum ++;
			if(selectNum > 43) selectNum = 0;
			nextStaff = selectNum+1;
			if(nextStaff > 43)nextStaff -= 44;
			frontNum ++;
			if(frontNum > 3)frontNum = 0;
			loadTex = frontNum +1;
			if(loadTex > 3) loadTex = 0;
			wsprintf(str,"stt%03d",nextStaff);
			panel[loadTex].loadLGF(pack_eventcg,str);
			src[loadTex].buf = (BYTE *)panel[loadTex].pBuf;
			src[loadTex].pal = (RGB32 *)panel[loadTex].palColor;
			state = 2;
			writeName();
			PlayEffectNum(evtHandle[1],CurMoveSnd);
		}else if(bTurn==3){
			state = 2;
			moveStep = 0;
			PlayEffectNum(evtHandle[1],SelectSnd);
		}
		break;
	  case 2:
		if(3==bTurn){
			moveStep ++;
			button.alpha = logo.alpha = float(19-moveStep)/19;
			if(moveStep==19){
				bTurn = 0;
				wsprintf(str,"st%03d",selectNum);
				baseWnd.loadLGF(pack_eventcg,str);
				clearPadState();
				state = 3;
			}
			break;
		}
		if(1==bTurn){
			deg += 5;
			if(deg >= 360) deg -= 360;
		}else if(2==bTurn){
			deg -= 5;
			if(deg < 0)deg += 360;
		}
		if(deg % 90 == 0){
			bTurn = 0;
			state = 1;
		}
		break;
	  case 3:
		if(keyState.push_action || keyState.push_down || keyState.push_cancel){
			PlayEffectNum(evtHandle[1],CancelSnd);
			baseWnd.loadLGF(pack_gparts,"staffBase");
			bTurn = 3;
			moveStep = 18;
			state = 4;
		}
		break;
	  case 4:
		moveStep --;
		button.alpha = logo.alpha = float(19-moveStep)/19;
		if(moveStep==0){
			bTurn = 0;
			state = 1;
		}
		break;
	}
	return TRUE;
} // StaffmodeWnd::Exec
Beispiel #8
0
BOOL KabeSetWnd::Exec()
{
	int			i,j,oldSelect = selectBtn,btnNo;
	BOOL		bPush = FALSE;
	POINT		icPt;
	char		str[MAX_PATH];

	if(kabegami_mode!=sysInf.execMode)return FALSE;
	switch(state){
	  case 0:
	  case 2:
	  case 5:
	  case 8:
		time = bgInf.look_cnt-timeGetTime();
		baseWnd.alpha = float(bgInf.look_max-time)/bgInf.look_max;
		if(time<=0){
			baseWnd.alpha = 1.0f;
			bgInf.look_cnt = 0;
			if(state==5)state = 1;
			else state ++;
		}
		if(9==state){
			changeExecMode( event_exec_mode );
		}
		return TRUE;
	  case 1:
		if(kabeIcon.alpha < 1.0f){
			kabeIcon.alpha += 0.033334f;
			if(kabeIcon.alpha > 1.0f) kabeIcon.alpha = 1.0f;
			break;
		}else if(keyState.push_action && selectNum>=0){
			PlayEffectNum(evtHandle[1],SelectSnd);
			wsprintf(str,"v01%02d0",ct_info[selectNum].num);
			baseWnd.loadLGF(pack_eventcg,str);
			state = 2;
			bgInf.look_max = 900;
			bgInf.look_cnt = timeGetTime() +bgInf.look_max;
			kabeButton.alpha = baseWnd.alpha = 0;
		}else if(keyState.push_left || keyState.push_up){
			bPush = TRUE;
			if(selectNum<=0)selectNum = dropStart -1;
			else selectNum --;
		}else if(keyState.push_right || keyState.push_down){
			bPush = TRUE;
			selectNum ++;
			if(selectNum >= dropStart)selectNum = 0;
		}
		if(dropStart==0)bPush = FALSE;
		if(bPush){
			icPt.x = (selectNum%4)*200 +100;
			icPt.y = 399-(selectNum/4)*133 +50;
			ClientToScreen(sysInf.hWnd,&icPt);
			SetCursorPos(icPt.x, icPt.y);
		}else{
			selectNum = -1;
		}
		for(i=0;i<dropStart;i++){
			rect.left = 200*(i%4);	rect.right = rect.left +200;
			rect.top = 399 -133*(i/4);	rect.bottom = rect.top +133;
			if(PtInRect(&rect,sysInf.msPoint)){
				selectNum = i;
				break;
			}
		}
		for(btnNo=0;btnNo<4;btnNo++){
			if(btn[btnNo].CheckState(&sysInf.msPoint))break;
		}
		if(keyState.push_fairyAttack || btnNo<=1){
			PlayEffectNum(evtHandle[1],CancelSnd);
			state = 7;
			for(i=0;i<dropStart;i++) ct_info[i].speed = 1.0f;
			break;
		}
		if(keyState.push_cancel || 3==btnNo){
			PlayEffectNum(evtHandle[1],CancelSnd);
			baseWnd.loadLGF(pack_eventcg,"s20100");
			bgInf.colorBuf.loadLGF(pack_eventcg,"s20100",Type_back);
			backColorBuf.BltFast(40, 30, &bgInf.colorBuf, NULL, FALSE);
			saveInf.btRect.left = saveInf.btRect.top = 0;
			saveInf.btRect.right = 800;	saveInf.btRect.bottom = 600;
			saveInf.btPoint.x = 40; saveInf.btPoint.y = 30;

			state = 8;
			bgInf.look_max = 900;
			bgInf.look_cnt = timeGetTime() +bgInf.look_max;
			return TRUE;
		}
		if(keyState.push_camp || 2==btnNo){
			if(dropStart>=KABE_NUM){
				PlayEffectNum(evtHandle[1],9007);
				break;
			}
			PlayEffectNum(evtHandle[1],SelectSnd);
			dropNum = rndSelect(4)+1;
			if((dropStart+dropNum)>KABE_NUM){
				dropNum = KABE_NUM -dropStart;
			}
			for(i=0;i<dropNum;i++){
				ct_info[i+dropStart].bDrop = TRUE;
				ct_info[i+dropStart].point.x = 200*( (i+dropStart)%4 );
				ct_info[i+dropStart].point.y = -133 -rndSelect(100);
				while(1){
					ct_info[i+dropStart].num = rndSelect(KABE_TYPE);
					for(j=0;j<i+dropStart;j++){
						if( ct_info[i+dropStart].num == ct_info[j].num )break;
					}
					if(j == (i+dropStart))break;
				}
				ct_info[i+dropStart].speed = 1.0f;
				ct_info[i+dropStart].rect.left = 0;
				ct_info[i+dropStart].rect.right = 200;
				ct_info[i+dropStart].rect.top = 133*(ct_info[i+dropStart].num);
				ct_info[i+dropStart].rect.bottom = ct_info[i+dropStart].rect.top +133;
			}
			state = 6;
		}
		break;
	  case 3:
		if(kabeButton.alpha > 0){
			kabeButton.alpha += 0.033334f;
			if(kabeButton.alpha >= 1.0f){
				kabeButton.alpha = 1.0f;
				state = 4;
			}
		}else if(keyState.push_action){
			kabeButton.alpha = 0.033334f;
		}
		break;
	  case 4:
		for(btnNo=0;btnNo<2;btnNo++){
			if(set_btn[btnNo].CheckState(&sysInf.msPoint)){
				break;
			}
		}
		if(btnNo==2){
			if(keyState.push_cancel) btnNo = 1;
			if(keyState.push_camp) btnNo = 0;
		}
		if(btnNo < 2){
			if(btnNo==0){
				PlayEffectNum(evtHandle[1],SelectSnd);
				char newfile[MAX_PATH];
				wsprintf(str,"\\LeafFanDisc%02d.bmp",ct_info[selectNum].num);
				GetWindowsDirectory(newfile,MAX_PATH);
				strcat(newfile,str);
				wsprintf(str,".\\壁紙\\LeafFanDisc%02d.bmp",ct_info[selectNum].num);

				CopyFile(str,newfile,FALSE);

				SetWallPaper(newfile);
			}else{
				PlayEffectNum(evtHandle[1],CancelSnd);
			}
			baseWnd.loadLGF(pack_gparts,"kabeBase");
			bgInf.look_max = 900;
			bgInf.look_cnt = timeGetTime() +bgInf.look_max;
			kabeIcon.alpha = baseWnd.alpha = 0;
			state = 5;
		}
		break;
	  case 6:
		j = 0;
		for(i=0;i<dropNum;i++){
			if(!ct_info[i+dropStart].bDrop)continue;
			j ++;
			ct_info[i+dropStart].point.y += int(ct_info[i+dropStart].speed);
			ct_info[i+dropStart].speed += 0.5f;
			if(ct_height[(i+dropStart)%4] <= ct_info[i+dropStart].point.y){
				ct_info[i+dropStart].point.y = ct_height[(i+dropStart)%4];
				ct_info[i+dropStart].bDrop = FALSE;
				ct_height[(i+dropStart)%4] -= 133;
				PlayEffectNum(evtHandle[i],1012);
			}
		}
		if(j==0){
			dropStart += dropNum;
			dropNum = 0;
			state = 1;
		}
		break;
	  case 7:
		j = 0;
		for(i=0;i<dropStart;i++){
			ct_info[i].point.y += int(ct_info[i].speed);
			ct_info[i].speed += 0.5f;
			if(ct_info[i].point.y < 600) j++;
		}
		if(j==0){
			dropStart = dropNum = 0;
			for(i=0;i<4;i++)ct_height[i] = 399;
			state = 1;
		}
		break;
	}
	return TRUE;
} // KabeSetWnd::Exec
Beispiel #9
0
void MyMenuWnd::Exec()
{
	int			i;
	BOOL		bPush = FALSE;
	POINT		icPt;
	float		alpha;
	char		oldSelect = selectNum;
	BOOL bStaffRoll = ScenarioFlag[SCRIPT_MAX-1][0];

	if(menu_mode!=sysInf.execMode)return;
	switch(state){
	case 0:
		time = bgInf.look_cnt-timeGetTime();
		alpha = 1.0f -float(time) / bgInf.look_max;
		if(time<=0){
			alpha = 1.0f;
			bgInf.look_cnt = 0;
			state = 1;
		}
		for(i=0;i<9;i++){
			menuIcon[i][0].alpha = alpha;
			menuIcon[i][1].alpha = alpha/2;
		}
		return;
	}
	if(keyState.push_action && state==1 && selectNum>=0){
		PlayEffectNum(evtHandle[1],SelectSnd);
		EXEC_LangInfo->reg[ 0 ] = selectNum;
		state = 2;
		c_cls_all();
		changeExecMode( event_exec_mode );
	}else if(keyState.push_left || keyState.push_up){
		bPush = TRUE;
		if(selectNum<=0)selectNum = 8;
		else selectNum --;
		if(!bStaffRoll && selectNum==3) selectNum = 2;
	}else if(keyState.push_right || keyState.push_down){
		bPush = TRUE;
		selectNum ++;
		if(selectNum > 8)selectNum = 0;
		if(!bStaffRoll && selectNum==3) selectNum = 4;
	}
	if(bPush){
		icPt.x = menuRect[selectNum].left +50;
		icPt.y = menuRect[selectNum].top +50;
		ClientToScreen(sysInf.hWnd,&icPt);
		SetCursorPos(icPt.x, icPt.y);
	}
	selectNum = -1;
	for(i=0;i<9;i++){
		if(PtInRect(&menuRect[i],sysInf.msPoint)){
			if(!bStaffRoll && i==3)break;
			selectNum = i;
			break;
		}
	}
	if(selectNum>=0 && selectNum!=oldSelect){
		PlayEffectNum(evtHandle[1],CurMoveSnd);
	}
	for(i=0;i<9;i++){
		if(selectNum!=i){
			if(menuIcon[i][1].alpha > 0.5f){
				menuIcon[i][1].alpha -= 0.05f;
				if(menuIcon[i][1].alpha < 0.5f) menuIcon[i][1].alpha = 0.5f;
			}
		}else{
			if(menuIcon[i][1].alpha < 1.0f){
				menuIcon[i][1].alpha += 0.05f;
				if(menuIcon[i][1].alpha > 1.0f) menuIcon[i][1].alpha = 1.0f;
			}
		}
	}
}// MyMenuWnd::Exec