diff options
-rw-r--r-- | projects/openttd_vs80.vcproj | 8 | ||||
-rw-r--r-- | projects/openttd_vs90.vcproj | 8 | ||||
-rw-r--r-- | source.list | 2 | ||||
-rw-r--r-- | src/callback_table.cpp | 46 | ||||
-rw-r--r-- | src/callback_table.h | 20 | ||||
-rw-r--r-- | src/network/network_client.cpp | 2 | ||||
-rw-r--r-- | src/network/network_command.cpp | 34 | ||||
-rw-r--r-- | src/network/network_server.cpp | 2 |
8 files changed, 32 insertions, 90 deletions
diff --git a/projects/openttd_vs80.vcproj b/projects/openttd_vs80.vcproj index 7193a9f94..87922546d 100644 --- a/projects/openttd_vs80.vcproj +++ b/projects/openttd_vs80.vcproj @@ -476,10 +476,6 @@ > </File> <File - RelativePath=".\..\src\callback_table.cpp" - > - </File> - <File RelativePath=".\..\src\cargopacket.cpp" > </File> @@ -812,10 +808,6 @@ > </File> <File - RelativePath=".\..\src\callback_table.h" - > - </File> - <File RelativePath=".\..\src\cargo_type.h" > </File> diff --git a/projects/openttd_vs90.vcproj b/projects/openttd_vs90.vcproj index 20f2a96ff..bb6c86dd1 100644 --- a/projects/openttd_vs90.vcproj +++ b/projects/openttd_vs90.vcproj @@ -473,10 +473,6 @@ > </File> <File - RelativePath=".\..\src\callback_table.cpp" - > - </File> - <File RelativePath=".\..\src\cargopacket.cpp" > </File> @@ -809,10 +805,6 @@ > </File> <File - RelativePath=".\..\src\callback_table.h" - > - </File> - <File RelativePath=".\..\src\cargo_type.h" > </File> diff --git a/source.list b/source.list index e134d2993..3665c0bb7 100644 --- a/source.list +++ b/source.list @@ -4,7 +4,6 @@ animated_tile.cpp articulated_vehicles.cpp autoreplace.cpp bmp.cpp -callback_table.cpp cargopacket.cpp cargotype.cpp cheat.cpp @@ -112,7 +111,6 @@ base_media_func.h base_station_base.h bmp.h bridge.h -callback_table.h cargo_type.h cargopacket.h cargotype.h diff --git a/src/callback_table.cpp b/src/callback_table.cpp deleted file mode 100644 index 001c6cb34..000000000 --- a/src/callback_table.cpp +++ /dev/null @@ -1,46 +0,0 @@ -/* $Id$ */ - -/* - * This file is part of OpenTTD. - * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. - * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>. - */ - -/** @file callback_table.cpp All command callbacks. */ - -#include "stdafx.h" -#include "callback_table.h" -#include "command_func.h" - -/* If you add a callback for DoCommandP, also add the callback in here - * see below for the full list! - * If you don't do it, it won't work across the network!! */ - -CommandCallback * const _callback_table[] = { - /* 0x00 */ NULL, - /* 0x01 */ CcBuildPrimaryVehicle, - /* 0x02 */ CcBuildAirport, - /* 0x03 */ CcBuildBridge, - /* 0x04 */ CcBuildCanal, - /* 0x05 */ CcBuildDocks, - /* 0x06 */ CcFoundTown, - /* 0x07 */ CcBuildRoadTunnel, - /* 0x08 */ CcBuildRailTunnel, - /* 0x09 */ CcBuildWagon, - /* 0x0A */ CcRoadDepot, - /* 0x0B */ CcRailDepot, - /* 0x0C */ CcPlaceSign, - /* 0x0D */ CcPlaySound10, - /* 0x0E */ CcPlaySound1D, - /* 0x0F */ CcPlaySound1E, - /* 0x10 */ CcStation, - /* 0x11 */ CcTerraform, - /* 0x12 */ CcAI, - /* 0x13 */ CcCloneVehicle, - /* 0x14 */ CcGiveMoney, - /* 0x15 */ CcCreateGroup, - /* 0x16 */ CcFoundRandomTown, -}; - -const int _callback_table_count = lengthof(_callback_table); diff --git a/src/callback_table.h b/src/callback_table.h deleted file mode 100644 index f08ba7a05..000000000 --- a/src/callback_table.h +++ /dev/null @@ -1,20 +0,0 @@ -/* $Id$ */ - -/* - * This file is part of OpenTTD. - * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. - * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>. - */ - -/** @file callback_table.h Table with all command callbacks. */ - -#ifndef CALLBACK_TABLE_H -#define CALLBACK_TABLE_H - -#include "command_type.h" - -extern CommandCallback * const _callback_table[]; -extern const int _callback_table_count; - -#endif /* CALLBACK_TABLE_H */ diff --git a/src/network/network_client.cpp b/src/network/network_client.cpp index 5db576ad6..c7029e8f4 100644 --- a/src/network/network_client.cpp +++ b/src/network/network_client.cpp @@ -233,7 +233,7 @@ DEF_CLIENT_SEND_COMMAND_PARAM(PACKET_CLIENT_COMMAND)(const CommandPacket *cp) * uint32: P2 * uint32: Tile * string: text - * uint8: CallBackID (see callback_table.c) + * uint8: CallBackID */ Packet *p = new Packet(PACKET_CLIENT_COMMAND); diff --git a/src/network/network_command.cpp b/src/network/network_command.cpp index d0aeb081e..9a6a064b5 100644 --- a/src/network/network_command.cpp +++ b/src/network/network_command.cpp @@ -16,9 +16,35 @@ #include "network_internal.h" #include "network_client.h" #include "../command_func.h" -#include "../callback_table.h" #include "../company_func.h" +/** Table with all the callbacks we'll use for conversion*/ +static const CommandCallback * const _callback_table[] = { + /* 0x00 */ NULL, + /* 0x01 */ CcBuildPrimaryVehicle, + /* 0x02 */ CcBuildAirport, + /* 0x03 */ CcBuildBridge, + /* 0x04 */ CcBuildCanal, + /* 0x05 */ CcBuildDocks, + /* 0x06 */ CcFoundTown, + /* 0x07 */ CcBuildRoadTunnel, + /* 0x08 */ CcBuildRailTunnel, + /* 0x09 */ CcBuildWagon, + /* 0x0A */ CcRoadDepot, + /* 0x0B */ CcRailDepot, + /* 0x0C */ CcPlaceSign, + /* 0x0D */ CcPlaySound10, + /* 0x0E */ CcPlaySound1D, + /* 0x0F */ CcPlaySound1E, + /* 0x10 */ CcStation, + /* 0x11 */ CcTerraform, + /* 0x12 */ CcAI, + /* 0x13 */ CcCloneVehicle, + /* 0x14 */ CcGiveMoney, + /* 0x15 */ CcCreateGroup, + /* 0x16 */ CcFoundRandomTown, +}; + /** Local queue of packets */ static CommandPacket *_local_command_queue = NULL; @@ -158,7 +184,7 @@ const char *NetworkClientSocket::Recv_Command(Packet *p, CommandPacket *cp) if (!IsValidCommand(cp->cmd)) return "invalid command"; if (GetCommandFlags(cp->cmd) & CMD_OFFLINE) return "offline only command"; if ((cp->cmd & CMD_FLAGS_MASK) != 0) return "invalid command flag"; - if (callback > _callback_table_count) return "invalid callback"; + if (callback > lengthof(_callback_table)) return "invalid callback"; cp->callback = _callback_table[callback]; return NULL; @@ -179,11 +205,11 @@ void NetworkClientSocket::Send_Command(Packet *p, const CommandPacket *cp) p->Send_string(cp->text); byte callback = 0; - while (callback < _callback_table_count && _callback_table[callback] != cp->callback) { + while (callback < lengthof(_callback_table) && _callback_table[callback] != cp->callback) { callback++; } - if (callback == _callback_table_count) { + if (callback == lengthof(_callback_table)) { DEBUG(net, 0, "Unknown callback. (Pointer: %p) No callback sent", cp->callback); callback = 0; // _callback_table[0] == NULL } diff --git a/src/network/network_server.cpp b/src/network/network_server.cpp index 82e8de6a4..c35e437e5 100644 --- a/src/network/network_server.cpp +++ b/src/network/network_server.cpp @@ -480,7 +480,7 @@ DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_COMMAND)(NetworkClientSocket *cs, co * uint32: P2 * uint32: Tile * string: text - * uint8: CallBackID (see callback_table.c) + * uint8: CallBackID * uint32: Frame of execution */ |