* Rewrite NETgetGameFlagsUnjoined such that it's not hardcoded for its `flag` parameter anymore
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6150 4a71c877-e1ca-e34f-864e-861f7616d084
Exception is when generating the .wz files, where we need the path to the build directory and building a reverse relative path to $(srcdir) will be messy.
Also silence submake.mk a great deal.
Bug #11883 should be fixed now for the most part.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5325 4a71c877-e1ca-e34f-864e-861f7616d084
Their use is currently flawed, since it will not work in directories with spaces in them... (
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5319 4a71c877-e1ca-e34f-864e-861f7616d084
- Use PACKAGE, PACKAGE_VERSION, remove VERSION
- Allow out-of-source-dir builds (mkdir build && cd build && make -f ../Makefile.raw)
- Move config.mk from $(top_srcdir)/makerules/config.mk to $(top_builddir)/config.mk
When keeping current behaviour (srcdir=builddir), this means: Move it from makerules into the main directory
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5308 4a71c877-e1ca-e34f-864e-861f7616d084
* Instead declare our copy constructor and copy assignment operator private, also we don't provide an implementation of those
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2137 4a71c877-e1ca-e34f-864e-861f7616d084
* To make sure we still have the guarantee that a char is 8bit I've inserted a static assertion for this (CHAR_BIT == 8)
* Use exact length types for lobbyserver
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1821 4a71c877-e1ca-e34f-864e-861f7616d084
Previous implementation could hit a deadlock since every single const_iterator class attempted to acquire a scoped_readonlylock on the lobby's mutex. Since the ReadWriteMutex doesn't grant readonlylocks anymore when a writer is pending for a lock this could deadlock if you ever would need two iterators at the same time. Therefore we now only acquire one readonly lock through the iterator_interface class.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1673 4a71c877-e1ca-e34f-864e-861f7616d084
It seems that "Artistic Style":
* somehow treats "lock" as a keyword, since it puts spaces behind every instance of "lock", this is not nice.
* doesn't recognize std::cout and std::cerr iostreams so doesn't properly line out multiline statements with stream operators
* doesn't indent subclasses correctly (it treats them as if they're one of the keywords "public", "protected", or "private")
* lines out multiline if-statements on their logical operators rather than their values, example:
> if (bla == bleh
> && mooh == meeh)
instead of:
> if (bla == bleh
> && mooh == meeh)
I've corrected all of the above manually before committing.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1669 4a71c877-e1ca-e34f-864e-861f7616d084
* GameLobby::gameLock now has a separate file
* GameLobby::const_iterator now also has a separate file
* move class RAIICounter to files of its own for ease of reusability
* remove dummy game (from lobbyprotocol::requestHandler in requesthandler.cpp)
* Remove commented out code (main.cpp)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1650 4a71c877-e1ca-e34f-864e-861f7616d084
* Add new class lobbyprotocol::requestHandler which deals with protocol specific tasks
* Move all protocol dependant code from class GameLobby to lobbyprotocol::requestHandler
* Add some comments to code
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1649 4a71c877-e1ca-e34f-864e-861f7616d084
* Modify class TCPServer to take a boost::asio::ip::tcp::endpoint for member-function listen instead of a port number
* Now use command line arguments for addresses to listen on (on each of those addresses we open port 9998 still)
* Fix wrongly named include guards (lobby.hpp)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1646 4a71c877-e1ca-e34f-864e-861f7616d084
* handles incoming connections from TCPServer (functions properly now)
* uses an std::list to store GAMESTRUCTs in
* uses ReadWriteMutex for multithreading synchronisation
* handles "addg" requests
* handles game persistence (with specialized "game" locks, which will die along with the connection)
* handles "list" requests
* dumps the entire list of current games to the user
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1645 4a71c877-e1ca-e34f-864e-861f7616d084
This class allows multiple readers to obtain a lock at the same time. Until a writer attempts to obtain a lock, then attempts by readers to lock will block. Also second writers that attempt to lock will block until the first releases its lock.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1644 4a71c877-e1ca-e34f-864e-861f7616d084
* Add asynchronous TCP server class: TCPServer
* Add comparison operators for SESSIONDESC and GAMESTRUCT respectively
* Add -D_WIN32_WINNT=0x0501 to the compiletime options (needed for Boost::Asio on WinXP, 2k needs -D_WIN32_WINNT=0x0500, GNU/Linux systems define it themselves automatically)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1643 4a71c877-e1ca-e34f-864e-861f7616d084
* move inclusion of definition of GAMESTRUCT to new header file game.hpp
* Allow game.hpp including files to be compiled without SDL (useful for crosscompiling), by internally (in game.hpp) declaring GAMESTRUCT as well
* Stay connected when an "addg" command is received (client needs to disconnect to indicate the game should be removed from the lobbylist)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1642 4a71c877-e1ca-e34f-864e-861f7616d084
* switch to using IPv4 instead of IPv6 (for testing)
* Use correct buffersize for retrieval of a command/method (5 bytes/chars right now, ought to be NUL-terminated)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1641 4a71c877-e1ca-e34f-864e-861f7616d084
(one of my first, and probably ugly, versions, going to commit incrementally till the last)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1639 4a71c877-e1ca-e34f-864e-861f7616d084