changeset 14231:ae8cf918bc27 draft

(svn r18782) -Codechange: move the content of callback_table.cpp to network_command.cpp; it's only ever used there.
author rubidium <rubidium@openttd.org>
date Mon, 11 Jan 2010 20:00:14 +0000
parents 95250f9a5035
children 860ea22258ba
files projects/openttd_vs80.vcproj projects/openttd_vs90.vcproj source.list src/callback_table.cpp src/callback_table.h src/network/network_client.cpp src/network/network_command.cpp src/network/network_server.cpp
diffstat 8 files changed, 32 insertions(+), 90 deletions(-) [+]
line wrap: on
line diff
--- 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>
--- 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>
--- a/source.list
+++ b/source.list
@@ -4,7 +4,6 @@
 articulated_vehicles.cpp
 autoreplace.cpp
 bmp.cpp
-callback_table.cpp
 cargopacket.cpp
 cargotype.cpp
 cheat.cpp
@@ -112,7 +111,6 @@
 base_station_base.h
 bmp.h
 bridge.h
-callback_table.h
 cargo_type.h
 cargopacket.h
 cargotype.h
deleted file mode 100644
--- 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);
deleted file mode 100644
--- 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 */
--- a/src/network/network_client.cpp
+++ b/src/network/network_client.cpp
@@ -233,7 +233,7 @@
 	 *    uint32: P2
 	 *    uint32: Tile
 	 *    string: text
-	 *    uint8:  CallBackID (see callback_table.c)
+	 *    uint8:  CallBackID
 	 */
 
 	Packet *p = new Packet(PACKET_CLIENT_COMMAND);
--- 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 @@
 	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 @@
 	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
 	}
--- a/src/network/network_server.cpp
+++ b/src/network/network_server.cpp
@@ -480,7 +480,7 @@
 	 *    uint32: P2
 	 *    uint32: Tile
 	 *    string: text
-	 *    uint8:  CallBackID (see callback_table.c)
+	 *    uint8:  CallBackID
 	 *    uint32: Frame of execution
 	 */