mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-05 22:04:57 +00:00
(svn r229) -Fix: Some more const stuff fixed .(Tron)
-Fix: ParseConnectionString() function to parse network connection string: <IP>[:<PORT>][#<PLAY_AS] .
This commit is contained in:
parent
ec21a64c03
commit
01dd0219d3
@ -436,7 +436,7 @@ void IConsoleVarRegister(const byte * name, void * addr, byte type)
|
||||
}
|
||||
}
|
||||
|
||||
void IConsoleVarMemRegister(byte * name, byte type) /* XXX TRON */
|
||||
void IConsoleVarMemRegister(const byte * name, byte type)
|
||||
{
|
||||
_iconsole_var * item;
|
||||
item = IConsoleVarAlloc(type);
|
||||
|
@ -102,7 +102,7 @@ void* IConsoleCmdGetAddr(byte * name);
|
||||
// *** Variables *** //
|
||||
|
||||
void IConsoleVarRegister(const byte * name, void * addr, byte type);
|
||||
void IConsoleVarMemRegister(byte * name, byte type);
|
||||
void IConsoleVarMemRegister(const byte * name, byte type);
|
||||
void IConsoleVarInsert(_iconsole_var * var, const byte * name);
|
||||
_iconsole_var * IConsoleVarGet(const byte * name);
|
||||
_iconsole_var * IConsoleVarAlloc(byte type);
|
||||
@ -124,5 +124,4 @@ void IConsoleCmdHook(const byte * name, byte type, void * proc);
|
||||
bool IConsoleVarHookHandle(_iconsole_var * hook_var, byte type);
|
||||
bool IConsoleCmdHookHandle(_iconsole_cmd * hook_cmd, byte type);
|
||||
|
||||
|
||||
#endif /* CONSOLE_H */
|
||||
|
@ -96,43 +96,29 @@ DEF_CONSOLE_CMD(ConScrollToTile)
|
||||
|
||||
DEF_CONSOLE_CMD(ConNetworkConnect)
|
||||
{
|
||||
byte * b;
|
||||
byte * ip = NULL;
|
||||
byte * port = NULL;
|
||||
byte * player = NULL;
|
||||
byte c;
|
||||
byte * ip;
|
||||
const byte *port = NULL;
|
||||
const byte *player = NULL;
|
||||
uint16 rport;
|
||||
|
||||
if (argc<2) return NULL;
|
||||
|
||||
b = argv[1];
|
||||
ip = argv[1];
|
||||
rport = _network_server_port;
|
||||
c = 0;
|
||||
ip = b;
|
||||
|
||||
while (b[c] != 0) {
|
||||
if (((char)b[c]) == '#') {
|
||||
player = &b[c+1];
|
||||
b[c] = 0;
|
||||
}
|
||||
if (((char)b[c]) == ':') {
|
||||
port = &b[c+1];
|
||||
b[c] = 0;
|
||||
}
|
||||
c++;
|
||||
}
|
||||
ParseConnectionString(&player, &port, ip);
|
||||
|
||||
IConsolePrintF(_iconsole_color_default,"Connecting to %s...",ip);
|
||||
IConsolePrintF(_iconsole_color_default,"Connecting to %s...", ip);
|
||||
if (player!=NULL) {
|
||||
_network_playas = atoi(player);
|
||||
IConsolePrintF(_iconsole_color_default," player-no: %s",player);
|
||||
IConsolePrintF(_iconsole_color_default," player-no: %s", player);
|
||||
}
|
||||
if (port!=NULL) {
|
||||
rport = atoi(port);
|
||||
IConsolePrintF(_iconsole_color_default," port: %s",port);
|
||||
IConsolePrintF(_iconsole_color_default," port: %s", port);
|
||||
}
|
||||
|
||||
NetworkCoreConnectGame(b, rport);
|
||||
NetworkCoreConnectGame(ip, rport);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
17
network.c
17
network.c
@ -1653,6 +1653,22 @@ void NetworkCoreShutdown()
|
||||
|
||||
/* *************************************************** */
|
||||
|
||||
void ParseConnectionString(const byte **player, const byte **port, byte *connection_string)
|
||||
{
|
||||
byte c = 0;
|
||||
while (connection_string[c] != '\0') {
|
||||
if (connection_string[c] == '#') {
|
||||
*player = &connection_string[c+1];
|
||||
connection_string[c] = '\0';
|
||||
}
|
||||
if (connection_string[c] == ':') {
|
||||
*port = &connection_string[c+1];
|
||||
connection_string[c] = '\0';
|
||||
}
|
||||
c++;
|
||||
}
|
||||
}
|
||||
|
||||
bool NetworkCoreConnectGame(const byte* b, unsigned short port)
|
||||
{
|
||||
if (!_network_available) return false;
|
||||
@ -1901,6 +1917,7 @@ void NetworkCoreInit() { _network_available=false; };
|
||||
void NetworkCoreShutdown() {};
|
||||
void NetworkCoreDisconnect() {};
|
||||
void NetworkCoreLoop(bool incomming) {};
|
||||
void ParseConnectionString(const byte **player, const byte **port, byte *connection_string) {};
|
||||
bool NetworkCoreConnectGame(const byte* b, unsigned short port) {return false;};
|
||||
bool NetworkCoreStartGame() {return false;};
|
||||
void NetworkLobbyShutdown() {};
|
||||
|
@ -27,4 +27,6 @@ typedef struct NetworkGameList {
|
||||
NetworkGameInfo _network_game;
|
||||
NetworkGameList * _network_game_list;
|
||||
|
||||
void ParseConnectionString(const byte **player, const byte **port, byte *connection_string);
|
||||
|
||||
#endif /* NETWORK_H */
|
||||
|
@ -170,27 +170,13 @@ static void NetworkGameWindowWndProc(Window *w, WindowEvent *e)
|
||||
case WE_ON_EDIT_TEXT: {
|
||||
byte *b = e->edittext.str;
|
||||
if (*b != 0) {
|
||||
byte * ip = NULL;
|
||||
byte * port = NULL;
|
||||
byte * player = NULL;
|
||||
byte c;
|
||||
const byte *port = NULL;
|
||||
const byte *player = NULL;
|
||||
uint16 rport;
|
||||
|
||||
rport = _network_server_port;
|
||||
c = 0;
|
||||
ip = b;
|
||||
|
||||
while (b[c] != 0) {
|
||||
if (((char)b[c]) == '#') {
|
||||
player = &b[c+1];
|
||||
b[c] = 0;
|
||||
}
|
||||
if (((char)b[c]) == ':') {
|
||||
port = &b[c+1];
|
||||
b[c] = 0;
|
||||
}
|
||||
c++;
|
||||
}
|
||||
ParseConnectionString(&player, &port, b);
|
||||
|
||||
if (player!=NULL) _network_playas = atoi(player);
|
||||
if (port!=NULL) rport = atoi(port);
|
||||
|
Loading…
Reference in New Issue
Block a user