コード例 #1
0
ファイル: trigger.cpp プロジェクト: paud/d2x-xl
int CTrigger::DoSetSpawnPoints (void)
{
	int 		i, j;
	short		nSegment;

for (i = j = 0; i < MAX_PLAYERS; i++) {
	nSegment = m_info.segments [j];
	TriggerSetOrient (&gameData.multiplayer.playerInit [i].position, nSegment, m_info.sides [j], 1, 0);
	gameData.multiplayer.playerInit [i].nSegment = nSegment;
	gameData.multiplayer.playerInit [i].nSegType = SEGMENTS [nSegment].m_nType;
	if (i == gameData.multiplayer.nLocalPlayer)
		MoveSpawnMarker (&gameData.multiplayer.playerInit [i].position, nSegment);
	j = (j + 1) % m_info.nLinks;
	}
// delete any spawn markers that have been set before passing through this trigger to
// avoid players getting stuck when respawning at that marker
if (0 <= (gameData.marker.nHighlight = SpawnMarkerIndex (-1)))
	DeleteMarker (1);
return 1;
}
コード例 #2
0
ファイル: whiteboard.cpp プロジェクト: jchristi/taddraw
bool AlliesWhiteboard::Message(HWND WinProcWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
{

	bool Rtn_Bool= false;
	
	if(DataShare->TAProgress != TAInGame)
		return Rtn_Bool;

	static bool Move = false;
	static bool Paint = false;

	switch(Msg)
	{
	case WM_KEYUP:
		if(wParam == VirtualKeyCode)
		{
			WBKeyDown = false;
			Rtn_Bool= true;
			break;
		}
		if(InputShown)
		{
			if(wParam == 13 || wParam == 27)
				InputShown = false;
			Rtn_Bool= true;
			break;
		}
		break;

	case WM_LBUTTONDOWN:
		{
			if(WBKeyDown)
			{
				CurrentElement = GetTextElementAt(*MapX+LOWORD(lParam)-128, *MapY+HIWORD(lParam)-32, 5);
				if(Move)
				{
					Rtn_Bool= true;
					break;
				}
				else if(CurrentElement)
				{
					Move = true;
					Rtn_Bool= true;
					break;
				}
				Paint = true;
				LastMouseX = LOWORD(lParam);
				LastMouseY = HIWORD(lParam);
				MarkerX = *MapX;
				MarkerY = *MapY;
				Rtn_Bool= true;
				break;
			}
		}
	case WM_LBUTTONUP:
		Move = false;
		Paint = false;
		break;

	case WM_LBUTTONDBLCLK:
		IDDrawSurface::OutptTxt ( "WM_LBUTTONDBLCLK and Key Down?");
		if(WBKeyDown)
		{
			IDDrawSurface::OutptTxt ( "Get Mark Text");
			CurrentElement = GetTextElementAt(*MapX+LOWORD(lParam)-128, *MapY+HIWORD(lParam)-32, 5);
			if(CurrentElement)
				lstrcpyA(Text, ((GraphicText*)CurrentElement)->text);

			InputShown = true;
			MarkerX = *MapX;
			MarkerY = *MapY;
			LastMouseX = LOWORD(lParam);
			LastMouseY = HIWORD(lParam);
			Rtn_Bool= true;
			break;
		}
		break;

	case WM_RBUTTONDBLCLK:
		if(WBKeyDown)
		{
			DeleteMarker(*MapX+LOWORD(lParam)-128, *MapY+HIWORD(lParam)-32);
			Rtn_Bool= true;
			break;
		}
		break;

	case WM_MBUTTONDOWN:
		if(WBKeyDown)
		{
			if(GetTextElementAt(*MapX+LOWORD(lParam)-128, *MapY+HIWORD(lParam)-32, 5)==0)
			{
				ElementHandler.AddElement(new GraphicText(*MapX + (LOWORD(lParam)-128), *MapY + (HIWORD(lParam)-32), "", *PlayerColor));
				PacketHandler.push_back(new GraphicText(*MapX + (LOWORD(lParam)-128), *MapY + (HIWORD(lParam)-32), "", *PlayerColor));
			}
		}
		break;

	case WM_CHAR:
		if(true==InputShown)
		{
			TextInputChar((TCHAR)wParam);
			Rtn_Bool= true;
			break;
		}
		break;

	case WM_RBUTTONDOWN:
		if(WBKeyDown)
		{
			Rtn_Bool= true;
			break;
		}
		break;

	case WM_RBUTTONUP:
		if(WBKeyDown)
		{
			Rtn_Bool= true;
			break;
		}
		break;

	case WM_KEYDOWN:
		if(true==InputShown)
		{
			TextInputKeyDown(wParam);
			Rtn_Bool= true;
			break;
		}
		TAdynmemStruct * Ptr;
		Ptr= *(TAdynmemStruct* *)0x00511de8;



		if(wParam == VirtualKeyCode)
		{
			if ((0==(WATCH& (Ptr->Players[LocalShare->OrgLocalPlayerID].PlayerInfo->PropertyMask))))
			{//not work, when watching
				WBKeyDown = true;
			}
			
			if((GetAsyncKeyState(17)&0x8000)>0) //ctrl
				ScrollToCenter(LastMarkerX, LastMarkerY);
			Rtn_Bool= true;
			break;
		}
		break;
	case WM_MOUSEMOVE:
		if(WBKeyDown)
		{
			if(Paint)
			{
				MouseMove(LastMouseX-128, LOWORD(lParam)-128, LastMouseY-32, HIWORD(lParam)-32);
				LastMouseX = LOWORD(lParam);
				LastMouseY = HIWORD(lParam);
				MarkerX = *MapX;
				MarkerY = *MapY;
			}
			else if((wParam&MK_RBUTTON)>0)
			{
				EreaseArea(LOWORD(lParam)-128, HIWORD(lParam)-32);
			}
			if(Move)
			{
				if(CurrentElement)
				{
					PacketHandler.push_back(new GraphicMoveText(CurrentElement->x1, CurrentElement->y1, *MapX+LOWORD(lParam)-128, *MapY+HIWORD(lParam)-32, *PlayerColor));
					CurrentElement = ElementHandler.MoveTextElement(CurrentElement, *MapX+LOWORD(lParam)-128, *MapY+HIWORD(lParam)-32);
				}
			}
		}
		break;
	}

	return Rtn_Bool;
}