Beispiel #1
0
void GameView::OnShow()
{
    m_gameover = false;
    InitPhysics(Vector2::Zero, 1.f);

    // Create the main game node. Map + objects go in there and are affected by light
    m_pGameLayer = CreateLightLayer();
    m_pGameLayer->SetAmbient(Color(.10f, .15f, .2f, 1)); // Set that so something cool jason will decide on
    AddNode(m_pGameLayer);

    // spawn players from the lobby data, for now assume one
    CreateMusic();
    CreateTileMap();
    GenerateMap();
    CreateEntities();
    CenterCamera();
    SpawnPlayers();
    CreatePathFinder();

    m_fadeQuad = CreateSprite("healthGaugeFill.png");
    m_fadeQuad->GetColorAnim().start(Color(0.f, 0.f, 0.f, 1.f), Color(0.f, 0.f, 0.f, 0.f), 3.f);
    m_fadeQuad->SetFilter(onut::SpriteBatch::eFiltering::Nearest);
    m_fadeQuad->SetScale(Vector2(100, 100));
    AddNode(m_fadeQuad);
}
Beispiel #2
0
void CMapGenerator::Generate()
{
	//loadscreen->SetLoadMessage("Generating map");

	//Create archive for map
	std::string mapArchivePath = setup->mapName + "." + virtualArchiveFactory->GetDefaultExtension();
	CVirtualArchive* archive = virtualArchiveFactory->AddArchive(setup->mapName);

	//Create arrays that can be filled by top class
	int2 gridSize = GetGridSize();
	const int dimensions = (gridSize.x + 1) * (gridSize.y + 1);
	heightMap.resize(dimensions);
	metalMap.resize(dimensions);

	//Generate map and fill archive files
	GenerateMap();
	GenerateSMF(archive);
	GenerateMapInfo(archive);
	GenerateSMT(archive);

	//Add archive to vfs
	archiveScanner->ScanArchive(mapArchivePath);

	//Write to disk for testing
	//archive->WriteToFile();
}
Beispiel #3
0
	void GameMap::CreateGameMap( MapBluePrint* MapBluePrint )
	{
		m_mapInfo = MapBluePrint->GetMapInfo();
		m_width = m_mapInfo.m_width;
		m_height = m_mapInfo.m_height;

		GenerateMap();
	}
Beispiel #4
0
int main() {
	WSAStartup(MAKEWORD(2, 2), &wsa);
	s = socket(AF_INET, SOCK_DGRAM, 0);

	server.sin_family = AF_INET;
	server.sin_addr.s_addr = INADDR_ANY;
	server.sin_port = htons(PORT);

	bind(s, (struct sockaddr *)&server, sizeof(server));

	GenerateMap();

	while (isRunning) {
		incrementIndex = -1;

		memset(buf, '\0', BUFLEN);
		recv_len = recvfrom(s, buf, BUFLEN, 0, (struct sockaddr *)&tempClient.address, &tempClient.addrLength);

		for (int x = 0; x < clientList.size(); x++) {
			if (tempClient.address.sin_port == clientList[x].address.sin_port) incrementIndex = x;
		}

		std::string tempMessage = "";

		switch (ProcessCommand(buf)) {
			case 0 :
				tempClient.uniqueID = incrementID;
				incrementID += 1;

				if (AddConnection(tempClient)) SendMessage("connect", tempClient);

				std::cout << GetConnectionCount() << "/" << maxConnections << std::endl;
				break;
			case 1:
				SendMap(clientList[incrementIndex]);
				break;
			case 2:
				InitializePlayer(clientList[incrementIndex]);

				tempMessage += "advert<position>" + std::to_string((int)clientList[incrementIndex].uniqueID) + ":";
				tempMessage += std::to_string((int)clientList[incrementIndex].player.position.x) + "," + std::to_string((int)clientList[incrementIndex].player.position.y);

				char tempMessageChar[BUFLEN];
				strcpy(tempMessageChar, tempMessage.c_str());
				SendMessage(tempMessageChar, clientList[incrementIndex], clientList);

				break;
			case 3:
				RequestPlayer(clientList[incrementIndex]);
				break;
			case 4:
				UpdatePosition(clientList[incrementIndex], buf);
				break;
		}

		std::cout << buf << std::endl;
	}

	closesocket(s);
	WSACleanup();

	return 0;
}