Changeset - r4860:69fd1f6be832
[Not reviewed]
master
0 2 0
Darkvater - 18 years ago 2006-10-15 23:42:18
darkvater@openttd.org
(svn r6786) -Codechange: To join a new company CMD_PLAYER_CTRL is executed with so far a
local spectator (awaiting assignment from server). Since a spectator cannot
execute any commands, a local player is impersonated. Move this impersonation
to the server side where CMD_PLAYER_CTRL is handled specially anyways.
2 files changed with 2 insertions and 2 deletions:
0 comments (0 inline, 0 general)
network_client.c
Show inline comments
 
@@ -521,9 +521,8 @@ DEF_CLIENT_RECEIVE_COMMAND(PACKET_SERVER
 
			} else {
 
				/* We have arrived and ready to start playing; send a command to make a new player;
 
				 * the server will give us a client-id and let us in */
 
				_local_player = 0;
 
				_local_player = PLAYER_SPECTATOR;
 
				NetworkSend_Command(0, 0, 0, CMD_PLAYER_CTRL, NULL);
 
				_local_player = PLAYER_SPECTATOR;
 
			}
 
		} else {
 
			// take control over an existing company
network_server.c
Show inline comments
 
@@ -844,6 +844,7 @@ DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT
 
		}
 

	
 
		// XXX - UGLY! p2 is mis-used to get the client-id in CmdPlayerCtrl
 
		cp->player = 0;
 
		cp->p2 = cs - _clients;
 
	}
 

	
0 comments (0 inline, 0 general)