|
|
|
@ -1,30 +1,6 @@
|
|
|
|
|
Index: ghost/game_base.cpp
|
|
|
|
|
===================================================================
|
|
|
|
|
--- ghost/game_base.cpp (revision 580)
|
|
|
|
|
+++ ghost/game_base.cpp (working copy)
|
|
|
|
|
@@ -388,12 +388,13 @@
|
|
|
|
|
|
|
|
|
|
// we also broadcast the game to the local network every 5 seconds so we hijack this timer for our nefarious purposes
|
|
|
|
|
// however we only want to broadcast if the countdown hasn't started
|
|
|
|
|
- // see the !sendlan code later in this file for some more information about how this works
|
|
|
|
|
- // todotodo: should we send a game cancel message somewhere? we'll need to implement a host counter for it to work
|
|
|
|
|
-
|
|
|
|
|
- if( !m_CountDownStarted )
|
|
|
|
|
- {
|
|
|
|
|
- // construct a fixed host counter which will be used to identify players from this "realm" (i.e. LAN)
|
|
|
|
|
+ // see the !sendlan code later in this file for some more information about how this works
|
|
|
|
|
+ // todotodo: should we send a game cancel message somewhere? we'll need to implement a host counter for it to work
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ if( !m_CountDownStarted )
|
|
|
|
|
+ {
|
|
|
|
|
+ // construct a fixed host counter which will be used to identify players from this "realm" (i.e. LAN)
|
|
|
|
|
// the fixed host counter's 4 most significant bits will contain a 4 bit ID (0-15)
|
|
|
|
|
// the rest of the fixed host counter will contain the 28 least significant bits of the actual host counter
|
|
|
|
|
// since we're destroying 4 bits of information here the actual host counter should not be greater than 2^28 which is a reasonable assumption
|
|
|
|
|
Index: ghost/ghost.cpp
|
|
|
|
|
===================================================================
|
|
|
|
|
--- ghost/ghost.cpp (revision 580)
|
|
|
|
|
--- ghost/ghost.cpp (revision 600)
|
|
|
|
|
+++ ghost/ghost.cpp (working copy)
|
|
|
|
|
@@ -677,12 +677,20 @@
|
|
|
|
|
if( m_AdminGamePort == m_HostPort )
|
|
|
|
@ -126,27 +102,14 @@ Index: ghost/ghost.cpp
|
|
|
|
|
if( m_AdminGame )
|
|
|
|
|
Index: ghost/ghost.h
|
|
|
|
|
===================================================================
|
|
|
|
|
--- ghost/ghost.h (revision 580)
|
|
|
|
|
--- ghost/ghost.h (revision 600)
|
|
|
|
|
+++ ghost/ghost.h (working copy)
|
|
|
|
|
@@ -130,13 +130,15 @@
|
|
|
|
|
string m_AdminGameMap; // config value: the admin game map config to use
|
|
|
|
|
unsigned char m_LANWar3Version; // config value: LAN warcraft 3 version
|
|
|
|
|
uint32_t m_ReplayWar3Version; // config value: replay warcraft 3 version (for saving replays)
|
|
|
|
|
- uint32_t m_ReplayBuildNumber; // config value: replay build number (for saving replays)
|
|
|
|
|
- bool m_TCPNoDelay; // config value: use Nagle's algorithm or not
|
|
|
|
|
- uint32_t m_MatchMakingMethod; // config value: the matchmaking method
|
|
|
|
|
+ uint32_t m_ReplayBuildNumber; // config value: replay build number (for saving replays)
|
|
|
|
|
+ bool m_TCPNoDelay; // config value: use Nagle's algorithm or not
|
|
|
|
|
+ uint32_t m_MatchMakingMethod; // config value: the matchmaking method
|
|
|
|
|
@@ -134,6 +134,8 @@
|
|
|
|
|
bool m_TCPNoDelay; // config value: use Nagle's algorithm or not
|
|
|
|
|
uint32_t m_MatchMakingMethod; // config value: the matchmaking method
|
|
|
|
|
uint32_t m_MapGameType; // config value: the MapGameType overwrite (aka: refresh hack)
|
|
|
|
|
+ CTCPServer *m_GameBroadcastersListener; // listening socket for game broadcasters
|
|
|
|
|
+ vector<CTCPSocket *> m_GameBroadcasters;// vector of sockets that broadcast the games
|
|
|
|
|
+
|
|
|
|
|
+ CGHost( CConfig *CFG );
|
|
|
|
|
+ ~CGHost( );
|
|
|
|
|
|
|
|
|
|
- CGHost( CConfig *CFG );
|
|
|
|
|
- ~CGHost( );
|
|
|
|
|
-
|
|
|
|
|
// processing functions
|
|
|
|
|
|
|
|
|
|
bool Update( long usecBlock );
|
|
|
|
|
CGHost( CConfig *CFG );
|
|
|
|
|
~CGHost( );
|
|
|
|
|