Commit Graph

546 Commits (554bf6b380bd7668eb6014167ab6a94fa15bd7e9)

Author SHA1 Message Date
Giel van Schijndel bae4d98dfa * Remove empty file gatewaymapdefs.h
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2015 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-03 14:38:37 +00:00
Giel van Schijndel 4b642cbdb7 * Rename wrongly named file model.hpp to model.h
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2014 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-03 14:30:48 +00:00
Giel van Schijndel cd5ada2263 * Use a tab-stop location to line stuff properly out
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2012 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-03 13:27:24 +00:00
Giel van Schijndel f0c12b8ae2 * rename some files to lowercase filenames
* convert M$ Word documents into OpenDocument text documents (OpenOffice.org handles this perfectly) (lets use open standards instead of property formats!)
 * remove WEDIT.DOC which seems to have been a duplicate of MANUAL.DOC or the otherway around, which doesn't matter really

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2011 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-03 13:24:14 +00:00
Giel van Schijndel 49b672aad7 * Remove a whole bunch of other MSVC files which apparently are not necessary
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2010 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-03 12:02:24 +00:00
Giel van Schijndel a1b1ac1f16 * Add tools/editworld/src/Debug to the ignore list since apparently this is MSVC's output directory
* Remove EditWorld.plg since this looks like a compilation report which we don't need in our repository (add it to the ignore list as well)
 * Another MSVC compilation output file to ignore list: EditWorld.ncb

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2009 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-03 11:59:52 +00:00
Giel van Schijndel 24e16176b8 * Allow larger display bitdepths than 16bit
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2008 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-03 11:54:35 +00:00
Giel van Schijndel 10a0d4be6e * Set mime-types and svn:eol-style on EditWorld's files
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2007 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-03 11:48:40 +00:00
Giel van Schijndel 345b1d6106 * Revive EditWorld from the dead
* Give it a nicely oriented directory structure
 * Rename all files in src/ (I hope I didn't miss any) to lowercase (except for MSVC project files)

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2005 4a71c877-e1ca-e34f-864e-861f7616d084
2007-07-03 11:06:42 +00:00
Dennis Schridde c86c5aaa94 pie_export.py version 0.2, by kage:
as requested, it now provides a gui for setting the pie version -- you do this indirectly by setting the floating point precision (precision of 0 will create a "PIE 2", while anything else will create a "PIE 5"). note that only points will be given any extra precision at the moment, since i'm not sure how you want to handle texture coords. precision defaults to 0 (old pie format) since, afaik, pie 5 support in the engine is still lacking.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1989 4a71c877-e1ca-e34f-864e-861f7616d084
2007-06-29 17:09:03 +00:00
Dennis Schridde b3f62323d4 This time fix it really. Thanks EvilGuru.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1967 4a71c877-e1ca-e34f-864e-861f7616d084
2007-06-25 16:29:15 +00:00
Dennis Schridde 1a61e63fc4 Fix a mistake which resulted in infinite loops and horrendously big logfiles. Thanks to Kamaze and EvilGuru.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1966 4a71c877-e1ca-e34f-864e-861f7616d084
2007-06-25 16:18:04 +00:00
Giel van Schijndel aa54cee726 * Check hosts that attempt to register a game with the lobby server for reachability on port 9999 (e.g. a NAT/firewall might obstruct this)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1957 4a71c877-e1ca-e34f-864e-861f7616d084
2007-06-24 17:43:57 +00:00
Dennis Schridde 3acbbe97a3 Remove the gameData from the list even if we couldn't read the new data.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1956 4a71c877-e1ca-e34f-864e-861f7616d084
2007-06-24 16:38:07 +00:00
Dennis Schridde 6a40fa81cf Use allow_reuse_address correctly.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1952 4a71c877-e1ca-e34f-864e-861f7616d084
2007-06-23 23:14:05 +00:00
Dennis Schridde 69aefb6909 - Rename lobbyDev to lobbyDbg
- Add debug output to gameserver sanity check
- Set the connection-check timeout to 10s
- Allow reusing of the masterserver address since otherwise lobbyserver restarts don't work immediately


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1951 4a71c877-e1ca-e34f-864e-861f7616d084
2007-06-23 23:01:07 +00:00
Dennis Schridde 460fd94d47 - Don't list wrongly configured gameservers (eg. behind a NAT)
- Try to fix len(None) (TypeError: len() of unsized object)


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1950 4a71c877-e1ca-e34f-864e-861f7616d084
2007-06-23 22:27:14 +00:00
Dennis Schridde d8f52e0caa Remove unnecessary import of __future__ which also does not exist in Windows Blender. Patch by Kage.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1906 4a71c877-e1ca-e34f-864e-861f7616d084
2007-06-20 19:06:29 +00:00
Dennis Schridde 0f61260968 PIE importer version 0.2.1 by Kage:
- no longer use glob

Known (and as of yet unfixed) issues are:
- it does not handle filenames safely (tabs and other whitespace in a filename are not handled correctly, though the likelyhood of this problem arising are low)
- it can parse extremely incorrect pie files (points not defined within a level, for example) when perhaps it should just fail gracefully


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1899 4a71c877-e1ca-e34f-864e-861f7616d084
2007-06-19 21:51:57 +00:00
Gerard Krol c1afb761f1 PIE import and export scripts. The import script is adapted from Rodzilla. Place these in your ~/.blender/scripts folder and enjoy. Supported:
connectors, team colors (using a second UV layer). Not supported: animations of any kind.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1840 4a71c877-e1ca-e34f-864e-861f7616d084
2007-06-08 18:05:16 +00:00
Giel van Schijndel 12f21d0b0c * Replace usage of uint8_t with char for C-strings; while (u)int8_t works perfectly nice for numbers it isn't nice for text (char-array)
* 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
2007-06-05 12:01:59 +00:00
Giel van Schijndel a62d8fce62 * Move iteration interface out of class GameLobby into a new member class: GameLobby::iterator_interface
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
2007-05-21 11:27:58 +00:00
Giel van Schijndel f4abaf4efc A run of `astyle --suffix=none --brackets=break --indent-switches --pad=oper --unpad=paren --min-conditional-indent=0 --mode=c --indent-classes --indent-namespaces` on the lobbyserver's codebase with "Artistic Style <http://astyle.sourceforge.net/>".
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
2007-05-20 18:19:06 +00:00
Giel van Schijndel 685af73e85 * Use htonl and ntohl for conversion to and from network-byte order
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1651 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-15 21:36:55 +00:00
Giel van Schijndel 2a396b563a * Split out lobby code
* 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
2007-05-15 21:31:33 +00:00
Giel van Schijndel 9773356a67 Less PImpl, More Impl
* 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
2007-05-15 21:23:30 +00:00
Giel van Schijndel 87d8648c8b * Cleanup of directory structure
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1648 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-15 21:18:41 +00:00
Giel van Schijndel 94044a0e9c * move function printGame to new file game.cpp
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1647 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-15 21:13:32 +00:00
Giel van Schijndel 8f66b5246b * set host IP on incoming game
* 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
2007-05-15 21:07:46 +00:00
Giel van Schijndel d85d317842 * Add a lobby class
* 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
2007-05-15 21:01:02 +00:00
Giel van Schijndel 831dbe0c1d * Add utility class: ReadWriteMutex;
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
2007-05-15 20:57:49 +00:00
Giel van Schijndel aaac0278f5 * Handle the "list" command in a proper way by answering with a dummy game
* 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
2007-05-15 20:51:29 +00:00
Giel van Schijndel 7a0457e6e0 * Use EOF as connection and as such game termination
* 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
2007-05-15 20:42:28 +00:00
Giel van Schijndel 771d1efa9e * Add a "pretty"-printing function for printing games to a terminal (through std::cout)
* 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
2007-05-15 20:34:26 +00:00
Giel van Schijndel a2f477edcf * Add _premature_ C++ testing lobby server
(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
2007-05-15 20:30:22 +00:00
Giel van Schijndel 0a590a79af * Use network byte-order (big-endian) for size of game list as response to "list" command
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1629 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-13 18:19:22 +00:00
Gerard Krol 2055a59020 Fix "ghost" games, and allow for updating the game state when hosting a game without having to disconnect and reconnect.
This will have to be implemented in the game as well.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1581 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-01 21:01:32 +00:00
Dennis Schridde 2674023d77 New masterserver by Gerard and Kamaze
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1514 4a71c877-e1ca-e34f-864e-861f7616d084
2007-04-21 14:20:20 +00:00
Giel van Schijndel 0289e2664f Set executable bit, makes running the script a bit easier.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1278 4a71c877-e1ca-e34f-864e-861f7616d084
2007-03-21 00:39:11 +00:00
Christian Vest Hansen 521a12a00d * Initial upload of Python+JSON-RPC based lobby/master server.
I don't claim that this code is of outstanding quality >_>
  It was, after all, just written as a proof of concept prototype...



git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1274 4a71c877-e1ca-e34f-864e-861f7616d084
2007-03-20 19:23:51 +00:00
Dennis Schridde 330fa3b3e5 Remove now unneeded binary blob reader.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1191 4a71c877-e1ca-e34f-864e-861f7616d084
2007-03-01 01:34:33 +00:00
Dennis Schridde 8cdad4a810 - Change signalHandler to use POSIX signal safe file functions
- Reorder read_gdmp output
- Added compilation date to gdmp
- Reordered gdmp values: sysInfo now after programVersion/compileDate instead of before, to match read_gdmp display order

Still not implemented: Custom (signal safe) sprintf replacement, so we can output textfiles instead of binary blobs.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1189 4a71c877-e1ca-e34f-864e-861f7616d084
2007-03-01 00:15:50 +00:00
Dennis Schridde b0a422c1ea Tool to read .gdmp files created on crashes of the Linux version.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1183 4a71c877-e1ca-e34f-864e-861f7616d084
2007-02-26 15:12:20 +00:00
Giel van Schijndel bd15126db0 Added a directory to contain tools for Warzone 2100. (E.g. modelling/texturing stuff, some map editor maybe, etc.)
As per this discussion: http://wz2100.net/forum/index.php?topic=320.0

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1055 4a71c877-e1ca-e34f-864e-861f7616d084
2007-01-31 19:58:49 +00:00
No Author d17e78a713 Clear out entire repository for move of codebase from BerliOS to Gna! repository hosting.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@361 4a71c877-e1ca-e34f-864e-861f7616d084
2007-06-28 17:09:32 +00:00
Victor Qamly 84ef68c532 Adding some of the tools for this project, that never got added.
WorldEdit : only works on windows platform.  Also needs ORIGINAL libs (inculded) to compile correctly)

PiePlugin (3ds Max -> .pie converter.  Which is used for the .pie formats of 3d models used in game.

BSPIMD - Loads IMD, Generates BSP tree, saves IMD with BSP infomation.

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@345 4a71c877-e1ca-e34f-864e-861f7616d084
2005-10-22 21:13:48 +00:00