Malekblubb / twl

A C++11 teeworlds lib

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Twlib

###Network Get info from a teeworlds server:

twl::game_server my_server;
bool finished{false};

// add a server
my_server.add_server({"37.221.194.71:8000"});

// request info from that server
my_server.request_info();

// connect the finished-'signal'
my_server.on_finish = [&finished]{finished = true;};

// update the connection
while(!finished)
	my_server.update();

// get the info vector
auto infos(my_server.get_infos());

// iterate trough the infos
for(auto& a : infos)
	std::cout << a.name() << std::endl;

Process all servers stored by the masters:

twl::master_server masters;
bool masters_finished{false};

// add masters
masters.add_master({"master1.teeworlds.com:8300"});
masters.add_master({"master2.teeworlds.com:8300"});

// request list
masters.request_list();

// connect the finished-'signal'
masters.on_finish = [&masters_finished]{masters_finished = true;};

// update the connection
while(!masters_finished)
	masters.update();



// masters are finished at this point
twl::game_server servers;
bool servers_finished{false};

// add the masterlist to the game_server-handle
servers.add_masterlist(masters.get_list());

// request infos
servers.request_info();

// connect the finished-'signal'
servers.on_finish = [&servers_finished]{servers_finished = true;};

// update the connection
while(!servers_finished)
	servers.update();

// get the processed server infos
auto infos(servers.get_infos());

// iterate trough the infos/servers
for(auto& a : infos)
	std::cout << a.name() << std::endl;

###Map Extract embedded images of a map:

twl::map my_map{"/path/to/map"};

// open map
if(my_map.open())
{
	for(const auto& image : my_map.images())
	{
		if(!image.external() && !image.data().empty())
		{
			// save the image now f.e. with pnglite
			// mlk lib syntax: mlk::gcs::image{image.data(), image.width(), image.height()}.save("/save/path/imgname.png");
		}
	}
}

About

A C++11 teeworlds lib

License:Other


Languages

Language:C++ 99.4%Language:CMake 0.6%