Giel van Schijndel
0c7f44ee70
Make gamedblock intrinsic to GameDB itself (i.e. let it contain its own lock)
...
* Return generators instead of entire lists and have the generator keep the lock intact while it's being iterated over
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7266 4a71c877-e1ca-e34f-864e-861f7616d084
2009-05-06 22:29:32 +02:00
Giel van Schijndel
3153a9f63d
Make sure to reset the "requests" counter when checkInterval is reached
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7265 4a71c877-e1ca-e34f-864e-861f7616d084
2009-05-06 22:29:32 +02:00
Giel van Schijndel
563ff537a1
Lobbyserver: Use separate sockets to listen on IPv4 and IPv6 (instead of a single socket which uses IPv4 to IPv6 mapping)
...
* Use select(2) to wait for a connection on both sockets and accept(2)ing them in a separate thread
* This prevents IPv4 addresses from becoming IPv6 mapped, which might not be properly supported on all platforms
- The IPv6 mapped addresses where transferred back to clients
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7264 4a71c877-e1ca-e34f-864e-861f7616d084
2009-05-06 22:29:32 +02:00
Giel van Schijndel
fb4c443dd8
Update the lobby server to still be in sync with the 2.2 lobby protocol which was changed in r7239
...
Use 40 bytes for the "host" (IP address) in GAMESTRUCT, this allows for using IPv6 without breaking protocol combatility again
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7249 4a71c877-e1ca-e34f-864e-861f7616d084
2009-05-06 22:29:30 +02:00
Giel van Schijndel
b665aa67ba
Update the lobby server to still be in sync with the 2.2 lobby protocol which was changed in r7246
...
Move GAMESTRUCT_VERSION to the top of GAMESTRUCT, thus allowing versioning to work properly at all times
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7248 4a71c877-e1ca-e34f-864e-861f7616d084
2009-05-06 22:29:30 +02:00
Giel van Schijndel
ebd93276a6
Make the lobby server listen and operate on IPv6
...
* Also disable IPV6_V6ONLY to make sure that (on systems that support the option) IPv4 is still supported, using the same socket
- This option works on Linux from 2.4.21 and 2.6 (according to "man ipv6")
- On FreeBSD this works from version 6 onward (lower versions might work, I only tested on 6 and 7 and didn't find any note in the manual)
- Furthermore, according to
http://en.wikipedia.org/wiki/IPv4_mapped_address :
* This works on Windows from Vista onward
* This works on NetBSD (version unspecified)
* This doesn't work on OpenBSD (as a design decision for security)
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7225 4a71c877-e1ca-e34f-864e-861f7616d084
2009-05-06 20:52:19 +02:00
Giel van Schijndel
66b09c68ec
* Fix a copy/paste error
...
- Make sure to use the maxPlayers and currentPlayers variables found in the Game class, not the (non-existing) local variables
* Don't use Game.check() as it doesn't exist, use Protocol.check(Game) instead
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7224 4a71c877-e1ca-e34f-864e-861f7616d084
2009-05-06 20:52:19 +02:00
Giel van Schijndel
c2e33dc923
* Make the lobby host and version configurable
...
* Use the "Protocol" instead of "BinaryProtocol" class to communicate with the lobby (in the IRC bot)
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7221 4a71c877-e1ca-e34f-864e-861f7616d084
2009-05-06 20:52:18 +02:00
Giel van Schijndel
b5e6967f73
* Fix copy-paste error ("output" should be "input")
...
* Stop decoding as soon as an error is encountered
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7220 4a71c877-e1ca-e34f-864e-861f7616d084
2009-05-06 20:52:18 +02:00
Giel van Schijndel
b0c5590f6c
Semantical error: call the function instead of evaluating it
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7219 4a71c877-e1ca-e34f-864e-861f7616d084
2009-05-06 20:52:18 +02:00
Giel van Schijndel
05d9661d7a
* Do not change the function _swap_endianness on the fly to prevent it from being used in a 2.1 lobby
...
- Change this because altering _swap_endianness on the fly isn't threadsafe
- Instead revert to code duplication (for now)
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7218 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-28 00:46:45 +02:00
Giel van Schijndel
a5aa693b95
Split out the different lobby protocol versions in a class per version:
...
* This removes the need to specify what type of protocol (e.g. BinaryProtocol vs. JsonProtocol) should be used
- Instead only the (Warzone) version needs to be specified, the constructor function (Protocol()) will figure out the correct protocol class to use
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7217 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-28 00:46:45 +02:00
Giel van Schijndel
b64911e732
* For reading use a context managed "readable" as well
...
- However, unlike "writeable" don't return a StringIO object for strings
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7216 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-28 00:46:45 +02:00
Giel van Schijndel
832f8728d2
Use the Protocol class to find out what port to listen on, instead of manually configuring
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7215 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-28 00:46:45 +02:00
Giel van Schijndel
cdc8412bd7
Convert wztest.py to use the latest lobby code for testing the lobby
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7212 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-27 22:46:38 +02:00
Giel van Schijndel
eebb624276
* Change the lobby IRC bot to use the same code as the lobby server for protocol handling and game representation
...
* Move the "list" function (to retrieve the lobby's list of games) to the Protocol class
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7211 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-27 22:46:38 +02:00
Giel van Schijndel
32417e1bb9
* Allow Protocol's encode and decode functions to work directly on * sockets and file objects (in addition to strings)
...
- This removes the requirement for the socket handler to be aware of the size of a single game
- I.e. this allows variable sized games without another API change
* Read and write Protocol data directly from and to the sockets, decoding and encoding on the fly
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7209 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-27 21:30:41 +02:00
Giel van Schijndel
b68ab0bb6d
Log tracebacks when exceptions occur and aren't handled
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7208 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-27 21:30:41 +02:00
Giel van Schijndel
d1d787c8d6
* Make the game server's port version dependant
...
* Move checking of game's vitality to from the Game class to the Protocol class
- Do this because checking of games is inherently protcol dependant
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7200 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-27 21:30:40 +02:00
Giel van Schijndel
4b74fd0cc5
Don't deal with requestHandler stuff in the Game class
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7199 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-27 21:30:40 +02:00
Giel van Schijndel
57aefa7a85
* Use unpack_from, instead of unpack, if multiple items are contained in the same buffer
...
* Use xrange() instead of range() when looping over its items
- xrange() is faster and more lightweight as iterable
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7198 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-27 21:30:40 +02:00
Giel van Schijndel
227ecdb1f8
Lobby protocol: Workaround the fact that the 2.0.x versions don't perform endian swapping
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7197 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-27 21:30:40 +02:00
Giel van Schijndel
322c10e7a4
* Use struct.Struct objects instead of free functions from the "struct" module to perform encoding and decoding
...
* Perform version range comparisons like this: lowest_version <= version < one_higher_than_largest_version
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7196 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-27 21:30:39 +02:00
Giel van Schijndel
9ff472fad5
Fix a syntax and semantical error:
...
* Use the % operator for formatting strings
* Use struct.unpack for decoding a struct (instead of struct.pack)
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7195 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-27 21:30:39 +02:00
Giel van Schijndel
8bfd2acef1
Use a single function to perform the encoding as a C string
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7194 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-27 21:30:39 +02:00
Giel van Schijndel
cffa0b65af
Make BinaryProtocol more flexible to allow it to work with 2.0+ as well as the 2.2 lobby protocol (depending on what parameter was used during construction)
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7128 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-22 16:03:19 +02:00
Giel van Schijndel
7f5bc28bd0
Move the Game, Protocol classes to files of their own (to allow them to be reused by the IRC bot, instead of duplicating code)
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7127 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-22 16:03:19 +02:00
Giel van Schijndel
f95bcd605b
Move the IRC bot to the same directory as the lobby server
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7126 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-22 13:18:35 +02:00
Giel van Schijndel
1447766635
Whatever way we leave the bot's mainloop, make sure to terminate the lobby checking thread
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7125 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-22 13:18:35 +02:00
Giel van Schijndel
61d0fd23d0
Don't use Python 2.6 specific syntax (r7123)
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7124 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-22 13:18:35 +02:00
Giel van Schijndel
2dc1bcfd12
* Catch and handle all socket errors, not just timeouts
...
- Don't just report failure to the user that request a lobby listing, report the error message (asociated with the exception) as well
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7123 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-22 13:18:35 +02:00
Giel van Schijndel
e91765af19
* Notify all served IRC channels when shutting down
...
* Notify all served IRC channels when encoutering an unhandled exception (and shutting down as a result)
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7118 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-22 13:18:34 +02:00
Giel van Schijndel
fef445101e
* Rename the "help" command to "about"
...
* Change "commands" to dynamically look through the commands that are available and list them
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7117 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-22 13:18:34 +02:00
Giel van Schijndel
a72e7d5288
* Move construction of BotCommands to its own class (__init__)
...
* Only attempt to call attributes of BotCommands if they're functions (rejecting __.*__ functions)
* Return from readAndHandle as soon as we've handled a message
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7116 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-22 13:18:34 +02:00
Giel van Schijndel
c9113f9730
* Pass the IRC write function as a lambda to BotCommands' functions
...
* When a user joins a served channel, send him a notice of the games currently present ("list" output)
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7113 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-22 13:18:33 +02:00
Giel van Schijndel
b07a743f60
Properly store the gameFormat struct description in the class
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7112 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-22 13:18:33 +02:00
Giel van Schijndel
d5cdfd7adb
* Add channel operator support
...
* Add invite support
- Invite users to all serviced channels when they make a request outside of a serviced channel (becmoing operator only for as long as necessary)
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7106 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-22 13:18:33 +02:00
Giel van Schijndel
6461dd0208
* Send replies only to the channel from which the request came
...
* Send general messages to all served channels
* Prefix all replies with the nickname of the user who made the request
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7105 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-22 13:18:33 +02:00
Giel van Schijndel
bbfe5e2abd
Don't call the IRC command handling function in the try block (we don't want to protect against errors inside the IRC command function)
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7104 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-22 13:18:33 +02:00
Giel van Schijndel
f1b178e4b0
Add multi-channel support to wzlobbybot, one list of channels in which to serve requests, another just to be present in.
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7103 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-22 13:18:32 +02:00
Giel van Schijndel
e00035b75a
Add the ability for wzlobbybot to identify against NickServ
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7102 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-22 13:18:32 +02:00
Giel van Schijndel
7261e3392a
Update the lobbybot such that it can work both with 2.0,2.1 and 2.2 lobbies, defaulting to 2.1 (as that's the current release)
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7101 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-22 13:18:32 +02:00
Giel van Schijndel
d001fdbafc
Notify the user when communication with the lobby fails
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7100 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-22 13:18:32 +02:00
Giel van Schijndel
88ddefb584
* Move the setup code of the lobby bot into a class of its own (Bot)
...
* Change to an event driven model for handling IRC commands
- Add all IRC commands to a single class (BotCommands)
- In class irc_connection.readAndHandle() call the corresponding function in BotCommands for the received IRC command
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7099 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-22 13:18:32 +02:00
Gerard Krol
2786cfc1e9
Add the --squash flag to gitsvngateway. With --squash it will not try to unravel any merges but instead commit it as one change.
2009-04-20 19:53:13 +02:00
Giel van Schijndel
5694b99b90
Set a timeout on the lobby client to prevent blocking on connections to the lobby
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7095 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-20 15:31:24 +02:00
Giel van Schijndel
846a21b8a7
Make sure that the change_notifier thread gets terminated when the user hits CTRL-C
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7094 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-20 15:31:24 +02:00
Giel van Schijndel
f8f33d5424
* Interpolate __author__ in the "info" (about-style) message
...
* Use functions to join channels and send messages
* Notify a user requesting for services from the bot in the wrong channel
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7093 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-20 15:31:24 +02:00
Giel van Schijndel
ead99ec654
Properly align the "private" property
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7090 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-20 15:31:23 +02:00
Giel van Schijndel
8d5b42fe96
Lets consistently use TABs for indentation (instead of mixing with spaces)
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7089 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-20 15:31:23 +02:00
Giel van Schijndel
e399b2562c
Split out the protocol from the Game class into a separate BinaryProtocol(Protocol) class
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7088 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-20 15:31:23 +02:00
Giel van Schijndel
4aa8982d0a
* Save Game's data in a dictionary for easier access at some locations
...
- This additionally make is possible to split out the lobby protocol into a separate class later on
* Show exception's messages when exceptions occur
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7087 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-20 15:31:22 +02:00
Giel van Schijndel
72d1881464
Remove trailing whitespace
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7086 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-20 15:31:22 +02:00
Buginator
562ade5d29
Use the correct version of the masterserver file
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7080 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-19 23:45:25 +02:00
Buginator
c2e5d2462f
Adds password support to warzone.
...
Adds feedback from the lobby server.
Notes: You have to enter a password *first*, and then either host the game, or join a game.
Thanks to elio for the new icons!
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7079 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-19 23:45:25 +02:00
Giel van Schijndel
bd04dd7378
Make the lobby server executable
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7073 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-19 23:45:24 +02:00
Giel van Schijndel
4beca8d487
Make the IRC bot executable
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7024 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-15 20:36:58 +02:00
Buginator
e1c91576c9
Game server port is now 2100
...
Master server port is now 9990
Updated masterserver python program as well.
merge: r6994
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7018 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-12 14:12:07 +02:00
Per Inge Mathisen
c0358510d8
Add missing include
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@6982 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-12 14:12:03 +02:00
Giel van Schijndel
cd7edf0f88
Use a more sofisticated regular expression for channel messages to ensure we only match messages that are intented for us (i.e. the lobby IRC bot)
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@6968 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-07 12:23:12 +02:00
Giel van Schijndel
74c3180bc3
Use a regular expression to extract messages intended for us (i.e. the lobby bot) instead of string manipulation with split & find
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@6967 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-07 12:23:12 +02:00
Giel van Schijndel
9dfa15c8f1
Move the bot to #warzone2100-games and change it's real name to indicate it's Warzone 2100 origin & purpose
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@6966 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-07 12:23:12 +02:00
Giel van Schijndel
3fea9dcbc3
Allow announcing to work properly still
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@6965 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-07 12:23:11 +02:00
Giel van Schijndel
eb27d5987e
Comment on why the endian swapping is performed (while on the protocol level it shouldn't be needed)
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@6964 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-07 12:23:11 +02:00
Giel van Schijndel
693a2ab4b7
Use a contextmanager and python's with-statement to manage the socket's lifetime, this guarantees exception safety
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@6963 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-07 12:23:11 +02:00
Giel van Schijndel
05b1e21416
Externalise code specific to querying the lobby server into a separate module
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@6962 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-07 12:23:11 +02:00
Giel van Schijndel
acfa601182
Fix syntax error in lobby IRC bot
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@6961 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-07 12:23:11 +02:00
Giel van Schijndel
020b66a959
Don't use an IRC specific string representation of games
...
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@6960 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-07 12:23:11 +02:00
Giel van Schijndel
d02d2a01ab
Committing on behalf of and with Gerard's permission:
...
The initial version of the IRC bot for Warzone's lobby with the GPLv2 added.
git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@6959 4a71c877-e1ca-e34f-864e-861f7616d084
2009-04-07 12:23:11 +02:00
Giel van Schijndel
1f89497235
Prevent leaking memory in mapFree by deallocating all memory we allocated
...
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6910 4a71c877-e1ca-e34f-864e-861f7616d084
2009-03-30 16:10:58 +02:00
Giel van Schijndel
40dcefc574
Remove the C++ implementation of the lobby server since it isn't used nor is it being maintained
...
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6907 4a71c877-e1ca-e34f-864e-861f7616d084
2009-03-30 16:10:57 +02:00
Gerard Krol
107f634977
Set svn:eol-style native and convert the line endings to \n.
...
This is to make sure Git on Windows does not complain when autocrlf and safecrlf are set.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6886 4a71c877-e1ca-e34f-864e-861f7616d084
2009-03-21 01:53:25 +01:00
Gerard Krol
3000958bca
Swap the order of the arguments when calling same_commit to check if we need to push, because only old..new seems to work correctly.
2009-03-19 00:57:29 +01:00
Gerard Krol
31d09e583c
Replace slashes by underscores for the gitsvngateway merge filename, and don't make it return a non-zero exit code when the --dry-run was successful.
2009-03-18 18:37:17 +01:00
Gerard Krol
596f6c38a1
Add a --no-fetch option to gitsvngateway to increase the speed of running it over a lot of branches.
2009-03-18 18:13:41 +01:00
Gerard Krol
4d230332a1
Add an --automatic switch to gitsvngateway, where it will not ask to merge changes but instead abort.
2009-03-18 17:58:42 +01:00
Gerard Krol
c11e05a058
Use getopt to parse options for gitsvngateway and add the --dry-run, --prefix and --remote options.
2009-03-18 17:58:33 +01:00
Gerard Krol
0abfe13c4c
Use the _gitsvngateway prefix for internally used branches.
2009-03-18 15:19:58 +01:00
Gerard Krol
e58d41d67a
gitsvngateway no longer uses a file to store its state but instead determines it by checking if certain branches exist.
2009-03-18 14:44:35 +01:00
Gerard Krol
b43712ec75
Add some checks to gitsvngateway to speed up execution when there are no changes.
2009-03-18 14:01:04 +01:00
Gerard Krol
799ce310e1
Small changes to make gitsvngateway work with Git 1.6.0.6.
2009-03-18 13:17:52 +01:00
Gerard Krol
64d4b710c2
Use a slightly more robust way of detecting merges. It still is ugly though.
2009-03-17 20:16:05 +01:00
Gerard Krol
0a3467af02
Small cleanup of gitsvngateway, the code should be more robust now.
2009-03-17 16:50:18 +01:00
Gerard Krol
bd0d42dcc0
The gitsvngateway now uses git cherry-pick instead of git merge --squash to prevent merge conflicts.
2009-03-17 16:23:45 +01:00
Gerard Krol
0f53e9ecf0
Use colour to print the messages from gitsvngateway to better separate them from the output from the Git commands.
2009-03-17 14:20:12 +01:00
Gerard Krol
f52d181826
The gitsvngateway script now allows you to check what it is about to commit. It also tries to unravel a merge and commit the individual changes to SVN.
2009-03-17 13:53:31 +01:00
Gerard Krol
1b5816f89b
Add "gitsvngateway", a script to pass commits from Git to SVN and from SVN to Git.
2009-03-17 11:20:25 +01:00
Per Inge Mathisen
da04dd5173
map2lnd: Use the right edge brush set for each tileset.
...
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6837 4a71c877-e1ca-e34f-864e-861f7616d084
2009-03-11 21:30:36 +00:00
Gerard Krol
71bc279c9e
Fix some spelling errors in debug messages and comments. Patch by Paul Wise <pabs3>.
...
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6832 4a71c877-e1ca-e34f-864e-861f7616d084
2009-03-11 11:51:40 +00:00
Per Inge Mathisen
811bb12786
map2png: Little utility to create PNG previews from map files. Very basic at the moment.
...
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6830 4a71c877-e1ca-e34f-864e-861f7616d084
2009-03-09 23:05:54 +00:00
Per Inge Mathisen
7a9da735e2
map2lnd: Fix bug in setting the number of objects in the exported map.
...
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6818 4a71c877-e1ca-e34f-864e-861f7616d084
2009-03-08 17:15:14 +00:00
Per Inge Mathisen
b8268b2370
mapinfo: Correct for structure padding. Now we can parse savegame structures, too.
...
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6817 4a71c877-e1ca-e34f-864e-861f7616d084
2009-03-08 17:06:11 +00:00
Per Inge Mathisen
48ff63c9d1
map2lnd: Export structures as well.
...
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6816 4a71c877-e1ca-e34f-864e-861f7616d084
2009-03-08 16:52:17 +00:00
Per Inge Mathisen
eb14b8753d
map2lnd: Support exporting droids.
...
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6815 4a71c877-e1ca-e34f-864e-861f7616d084
2009-03-08 15:11:54 +00:00
Per Inge Mathisen
eb8329e481
mapinfo: Read droid data for editworld maps (not savegames).
...
mapinfo: Calculate number of players by checking construction droids.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6814 4a71c877-e1ca-e34f-864e-861f7616d084
2009-03-08 14:19:28 +00:00
Per Inge Mathisen
3fd2879d6a
mapinfo: Fix crash on some failures upon trying to close already closed file.
...
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6803 4a71c877-e1ca-e34f-864e-861f7616d084
2009-03-07 21:52:34 +00:00
Per Inge Mathisen
c8dcde2182
map2lnd: Fix bug in positioning of features. Thanks again to Mysteryem for debugging help.
...
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6797 4a71c877-e1ca-e34f-864e-861f7616d084
2009-03-07 18:57:41 +00:00
Per Inge Mathisen
9dbcf2dca1
Implement more robust error handling. Sanity check feature coordinates.
...
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6796 4a71c877-e1ca-e34f-864e-861f7616d084
2009-03-07 18:47:07 +00:00
Per Inge Mathisen
788bd21477
map2lnd: Read tileset type and use it to determine which tileset is being exported. Also export all features.
...
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6783 4a71c877-e1ca-e34f-864e-861f7616d084
2009-03-07 14:20:20 +00:00
Per Inge Mathisen
a31fe8a6ec
mapinfo: Add function to deduce a given map's tileset from the terrain type info.
...
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6767 4a71c877-e1ca-e34f-864e-861f7616d084
2009-03-02 19:40:31 +00:00