Commit Graph

1290 Commits (a8a091a604bce0c001188c77694dfc2ae4dd9002)

Author SHA1 Message Date
Per Inge Mathisen 669135f472 Remove lots of duplicated code in effects.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1685 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-22 20:55:30 +00:00
Per Inge Mathisen c0abb47655 New map macro map_round() rounds map coordinates down to tile boundaries.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1684 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-22 20:36:07 +00:00
Dennis Schridde c0e9fa3211 Make MSVC happier
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1683 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-21 20:17:38 +00:00
Dennis Schridde 057f140b6c Make MSVC happy
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1682 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-21 20:12:39 +00:00
Dennis Schridde 1014259054 This should enable floating point precision in IMD (.pie) files.
It should even render them as floats. I wasn't able to see a difference after modifying some PIE files, though.
This patch is heavily inspired by Watermelon's work. (Namely piefloat.patch)


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1681 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-21 19:56:07 +00:00
Dennis Schridde 7544470e35 Cleanup. Note the FIXME!
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1680 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-21 19:42:05 +00:00
Dennis Schridde 49f8259226 More cleanup
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1679 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-21 18:57:11 +00:00
Dennis Schridde 504126bda9 Forgotten cleanup
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1678 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-21 18:33:07 +00:00
Dennis Schridde b8f038d37a Cleanup IMD loader.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1677 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-21 18:25:46 +00:00
Dennis Schridde 5653727379 DOn't unnecessarily recurse into .svn folders.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1676 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-21 16:51:14 +00:00
Dennis Schridde d4c81521b8 Updated to doxygen 1.5.2
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1675 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-21 16:33:44 +00:00
Dennis Schridde 041e086d53 - -Sint32 pie_RotateProject(SDWORD x, SDWORD y, SDWORD z, SDWORD* xs, SDWORD* ys)
+Sint32 pie_RotateProject(Vector3i *v3d, Vector2i *v2d)
  This removes the necessity of the wrapper pie_RotProj.
- Also changed a few "Vector3i null" to "zero" for less confusion.
- And removed an unused variable that hid behind an assignment.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1674 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-21 14:06:31 +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 6e5038d237 use (u)intX_t types for structs send accross the network (for the size guarantees)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1672 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-20 22:55:12 +00:00
Giel van Schijndel 0a25bfacb7 * Use C99 types for the *WORD typedefs instead of SDL's own types
NOTE: MSVC users don't get scared since SDL defines the C99 types for MSVC

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1671 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-20 21:48:07 +00:00
Per Inge Mathisen c511ab63b6 Fix crash introduced in commit r1661 in function pie_RotateTranslate3iv,
where the y and z parameters were not switched, as they should be.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1670 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-20 21:41:48 +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 38b4c74abc * remove debug macro TEST_EW (EW as in something dirty perhaps?)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1668 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-20 16:37:11 +00:00
Dennis Schridde 01fea434fb Turn some sqrt() into sqrtf() where double precision is not needed.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1667 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-20 14:47:32 +00:00
Dennis Schridde df6397293d git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1666 4a71c877-e1ca-e34f-864e-861f7616d084 2007-05-20 14:37:27 +00:00
Dennis Schridde 23e39b56dc Add a STATIC_ASSERT which also works in global scope.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1665 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-20 14:24:54 +00:00
Per Inge Mathisen b620f3f25f Remove all mention of non-existent type iVector
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1664 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-20 14:18:14 +00:00
Stefan Huehner d30dcb1520 2 small fixes in function declarations : () -> (void)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1663 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-20 13:51:53 +00:00
Dennis Schridde 6a29f00101 Remove unused comments.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1662 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-20 13:29:05 +00:00
Dennis Schridde 009b61447c - Remove unused code
- Remove duplicated code/macros
- VECTOR3D->Vector3i
- Create float variants of normal functions to simplify Watermelon's float-PIE patch


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1661 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-20 11:05:28 +00:00
Dennis Schridde 6226dfe37c Splint found mistakes.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1660 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-19 23:01:56 +00:00
Dennis Schridde d1ce4ba663 geometry.c : Simplification
main.c : mainLoop() should now behave exactly like before the cleanup


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1659 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-19 21:55:27 +00:00
Dennis Schridde d1d55cc977 FRACT->float,[if]SQRT->sqrtf
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1658 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-19 21:32:19 +00:00
Dennis Schridde 7812d1635a main.c : Unused variables
gamelib/ : FRACT->float and simplifications
frame.c : Indent


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1657 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-19 19:49:54 +00:00
Dennis Schridde 892287d4f4 GCC 4.2 compile fix (NULL is a pointer and thus shall not be "cast from pointer to integer of different size")
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1656 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-19 14:47:17 +00:00
Per Inge Mathisen fc3d29124d Weed out some deadwood from the multiplayer code, and fix a warning.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1653 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-17 14:00:15 +00:00
Giel van Schijndel 0e3ea50f08 * Set bugtraq properties on all directories in trunk which didn't have it yet
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1652 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-16 10:45:41 +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
Ari Johnson e0872c90af WZ_OS_MAC now no longer unsets WZ_OS_UNIX due to compatability update in
r1638.  Exception handler still removed if WZ_OS_MAC is set.


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1640 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-15 20:33:55 +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
Dennis Schridde 290635ede8 Use POSIX definitions for WZ_OS_UNIX.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1638 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-15 17:17:32 +00:00
Ari Johnson 7023d75bb7 Added note about the Mac OS X 'Debug' build
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1637 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-14 22:05:04 +00:00
Giel van Schijndel a176a655fa * move function addIGTextButton from frontend.c to ingameop.c (since we don't care about what the playstation compiler does with our code!)
Thanks to Kim <lav-coyote> for noting the comment about the playstation compiler reason

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1636 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-14 21:56:28 +00:00
Ari Johnson 1ed4ff54e8 Mac OS X related improvements:
- WZ_OS_MAC && DEBUG implies --debug all so that Console.app can be used
   to view debugging output on debug builds when launching from Finder
 - DEBUG flag re-added to Debug builds in Xcode project; was removed
   accidentally at some point
 - WZ_OS_MAC no longer implies WZ_OS_UNIX; handled separately where
   necessary
 - Do not use Warzone's crash handler since Mac OS X provides a good
   crash reporter already that just saves the crash log, with lots of
   useful information, to ~/Library/Logs/CrashReporter/Warzone.crash.log


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1635 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-14 21:48:20 +00:00
Ari Johnson f96b29201c Updated Xcode project file to reflect deleted netaudio_stub.c file
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@1634 4a71c877-e1ca-e34f-864e-861f7616d084
2007-05-14 20:19:38 +00:00