Changeset - r9978:c70a79ed5339
[Not reviewed]
master
0 7 0
belugas - 16 years ago 2008-08-23 02:15:46
belugas@openttd.org
(svn r14135) -Codechange: Add owner to waypoints. Previously, it was guessed from rail underneath it.
7 files changed with 128 insertions and 116 deletions:
0 comments (0 inline, 0 general)
projects/openttd_vs80.vcproj
Show inline comments
 
@@ -132,101 +132,6 @@
 
			/>
 
		</Configuration>
 
		<Configuration
 
			Name="Debug|Win32"
 
			OutputDirectory="..\objs\$(PlatformName)\$(ConfigurationName)\"
 
			IntermediateDirectory="..\objs\$(PlatformName)\$(ConfigurationName)\"
 
			ConfigurationType="1"
 
			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
 
			UseOfMFC="0"
 
			ATLMinimizesCRunTimeLibraryUsage="false"
 
			CharacterSet="1"
 
			>
 
			<Tool
 
				Name="VCPreBuildEventTool"
 
			/>
 
			<Tool
 
				Name="VCCustomBuildTool"
 
			/>
 
			<Tool
 
				Name="MASM AMD64"
 
			/>
 
			<Tool
 
				Name="VCXMLDataGeneratorTool"
 
			/>
 
			<Tool
 
				Name="VCWebServiceProxyGeneratorTool"
 
			/>
 
			<Tool
 
				Name="VCMIDLTool"
 
				TypeLibraryName=".\Debug/openttd.tlb"
 
				HeaderFileName=""
 
			/>
 
			<Tool
 
				Name="VCCLCompilerTool"
 
				Optimization="0"
 
				AdditionalIncludeDirectories="..\objs\langs"
 
				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_PNG;WITH_FREETYPE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;"
 
				BasicRuntimeChecks="3"
 
				RuntimeLibrary="1"
 
				UsePrecompiledHeader="0"
 
				AssemblerListingLocation="$(IntDir)/"
 
				ObjectFile="$(IntDir)/"
 
				ProgramDataBaseFileName="$(IntDir)/$(TargetName).pdb"
 
				WarningLevel="3"
 
				WarnAsError="false"
 
				SuppressStartupBanner="true"
 
				Detect64BitPortabilityProblems="false"
 
				DebugInformationFormat="4"
 
				CallingConvention="1"
 
				CompileAs="0"
 
			/>
 
			<Tool
 
				Name="VCManagedResourceCompilerTool"
 
			/>
 
			<Tool
 
				Name="VCResourceCompilerTool"
 
				PreprocessorDefinitions="_DEBUG"
 
				Culture="1053"
 
			/>
 
			<Tool
 
				Name="VCPreLinkEventTool"
 
			/>
 
			<Tool
 
				Name="VCLinkerTool"
 
				AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib dxguid.lib libfreetype2.lib"
 
				LinkIncremental="0"
 
				SuppressStartupBanner="true"
 
				IgnoreDefaultLibraryNames="LIBCMT.lib"
 
				GenerateDebugInformation="true"
 
				SubSystem="2"
 
				TargetMachine="1"
 
			/>
 
			<Tool
 
				Name="VCALinkTool"
 
			/>
 
			<Tool
 
				Name="VCManifestTool"
 
			/>
 
			<Tool
 
				Name="VCXDCMakeTool"
 
			/>
 
			<Tool
 
				Name="VCBscMakeTool"
 
			/>
 
			<Tool
 
				Name="VCFxCopTool"
 
			/>
 
			<Tool
 
				Name="VCAppVerifierTool"
 
			/>
 
			<Tool
 
				Name="VCWebDeploymentTool"
 
			/>
 
			<Tool
 
				Name="VCPostBuildEventTool"
 
			/>
 
		</Configuration>
 
		<Configuration
 
			Name="Release|x64"
 
			OutputDirectory="..\objs\$(PlatformName)\$(ConfigurationName)"
 
			IntermediateDirectory="..\objs\$(PlatformName)\$(ConfigurationName)"
 
@@ -339,6 +244,101 @@
 
			/>
 
		</Configuration>
 
		<Configuration
 
			Name="Debug|Win32"
 
			OutputDirectory="..\objs\$(PlatformName)\$(ConfigurationName)\"
 
			IntermediateDirectory="..\objs\$(PlatformName)\$(ConfigurationName)\"
 
			ConfigurationType="1"
 
			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
 
			UseOfMFC="0"
 
			ATLMinimizesCRunTimeLibraryUsage="false"
 
			CharacterSet="1"
 
			>
 
			<Tool
 
				Name="VCPreBuildEventTool"
 
			/>
 
			<Tool
 
				Name="VCCustomBuildTool"
 
			/>
 
			<Tool
 
				Name="MASM AMD64"
 
			/>
 
			<Tool
 
				Name="VCXMLDataGeneratorTool"
 
			/>
 
			<Tool
 
				Name="VCWebServiceProxyGeneratorTool"
 
			/>
 
			<Tool
 
				Name="VCMIDLTool"
 
				TypeLibraryName=".\Debug/openttd.tlb"
 
				HeaderFileName=""
 
			/>
 
			<Tool
 
				Name="VCCLCompilerTool"
 
				Optimization="0"
 
				AdditionalIncludeDirectories="..\objs\langs"
 
				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_PNG;WITH_FREETYPE;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;"
 
				BasicRuntimeChecks="3"
 
				RuntimeLibrary="1"
 
				UsePrecompiledHeader="0"
 
				AssemblerListingLocation="$(IntDir)/"
 
				ObjectFile="$(IntDir)/"
 
				ProgramDataBaseFileName="$(IntDir)/$(TargetName).pdb"
 
				WarningLevel="3"
 
				WarnAsError="false"
 
				SuppressStartupBanner="true"
 
				Detect64BitPortabilityProblems="false"
 
				DebugInformationFormat="4"
 
				CallingConvention="1"
 
				CompileAs="0"
 
			/>
 
			<Tool
 
				Name="VCManagedResourceCompilerTool"
 
			/>
 
			<Tool
 
				Name="VCResourceCompilerTool"
 
				PreprocessorDefinitions="_DEBUG"
 
				Culture="1053"
 
			/>
 
			<Tool
 
				Name="VCPreLinkEventTool"
 
			/>
 
			<Tool
 
				Name="VCLinkerTool"
 
				AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib dxguid.lib libfreetype2.lib"
 
				LinkIncremental="0"
 
				SuppressStartupBanner="true"
 
				IgnoreDefaultLibraryNames="LIBCMT.lib;LIBC.lib"
 
				GenerateDebugInformation="true"
 
				SubSystem="2"
 
				TargetMachine="1"
 
			/>
 
			<Tool
 
				Name="VCALinkTool"
 
			/>
 
			<Tool
 
				Name="VCManifestTool"
 
			/>
 
			<Tool
 
				Name="VCXDCMakeTool"
 
			/>
 
			<Tool
 
				Name="VCBscMakeTool"
 
			/>
 
			<Tool
 
				Name="VCFxCopTool"
 
			/>
 
			<Tool
 
				Name="VCAppVerifierTool"
 
			/>
 
			<Tool
 
				Name="VCWebDeploymentTool"
 
			/>
 
			<Tool
 
				Name="VCPostBuildEventTool"
 
			/>
 
		</Configuration>
 
		<Configuration
 
			Name="Debug|x64"
 
			OutputDirectory="..\objs\$(PlatformName)\$(ConfigurationName)"
 
			IntermediateDirectory="..\objs\$(PlatformName)\$(ConfigurationName)"
 
@@ -540,6 +540,10 @@
 
				>
 
			</File>
 
			<File
 
				RelativePath=".\..\src\fiber_win32.cpp"
 
				>
 
			</File>
 
			<File
 
				RelativePath=".\..\src\fileio.cpp"
 
				>
 
			</File>
 
@@ -736,10 +740,6 @@
 
				>
 
			</File>
 
			<File
 
				RelativePath=".\..\src\fiber_win32.cpp"
 
				>
 
			</File>
 
			<File
 
				RelativePath=".\..\src\tile_map.cpp"
 
				>
 
			</File>
 
@@ -2624,14 +2624,6 @@
 
					/>
 
				</FileConfiguration>
 
				<FileConfiguration
 
					Name="Debug|Win32"
 
					ExcludedFromBuild="true"
 
					>
 
					<Tool
 
						Name="VCCustomBuildTool"
 
					/>
 
				</FileConfiguration>
 
				<FileConfiguration
 
					Name="Release|x64"
 
					>
 
					<Tool
 
@@ -2641,6 +2633,14 @@
 
					/>
 
				</FileConfiguration>
 
				<FileConfiguration
 
					Name="Debug|Win32"
 
					ExcludedFromBuild="true"
 
					>
 
					<Tool
 
						Name="VCCustomBuildTool"
 
					/>
 
				</FileConfiguration>
 
				<FileConfiguration
 
					Name="Debug|x64"
 
					>
 
					<Tool
src/openttd.cpp
Show inline comments
 
@@ -2516,6 +2516,15 @@ bool AfterLoadGame()
 
				}
 
			}
 
		}
 

	
 
		/* Give owners to waypoints, based on rail tracks it is sitting on.
 
		 * If none is available, specify OWNER_NONE */
 
		Waypoint *wp;
 
		Owner owner;
 
		FOR_ALL_WAYPOINTS(wp) {
 
			owner = GetTileOwner(wp->xy);
 
			wp->owner = IsValidPlayerID(owner) ? owner : OWNER_NONE;
 
		}
 
	}
 

	
 
	GamelogPrintDebug(1);
src/order_cmd.cpp
Show inline comments
 
@@ -442,7 +442,7 @@ CommandCost CmdInsertOrder(TileIndex til
 
			if (!IsValidWaypointID(new_order.GetDestination())) return CMD_ERROR;
 
			const Waypoint *wp = GetWaypoint(new_order.GetDestination());
 

	
 
			if (!CheckOwnership(GetTileOwner(wp->xy))) return CMD_ERROR;
 
			if (!CheckOwnership(wp->owner)) return CMD_ERROR;
 

	
 
			/* Order flags can be any of the following for waypoints:
 
			 * [non-stop]
src/vehicle_gui.cpp
Show inline comments
 
@@ -1182,7 +1182,7 @@ void ShowVehicleListWindow(PlayerID play
 
void ShowVehicleListWindow(const Waypoint *wp)
 
{
 
	if (wp == NULL) return;
 
	ShowVehicleListWindowLocal(GetTileOwner(wp->xy), VLW_WAYPOINT_LIST, VEH_TRAIN, wp->index);
 
	ShowVehicleListWindowLocal(wp->owner, VLW_WAYPOINT_LIST, VEH_TRAIN, wp->index);
 
}
 

	
 
void ShowVehicleListWindow(const Vehicle *v)
src/waypoint.cpp
Show inline comments
 
@@ -207,7 +207,8 @@ CommandCost CmdBuildTrainWaypoint(TileIn
 
		return_cmd_error(STR_1005_NO_SUITABLE_RAILROAD_TRACK);
 
	}
 

	
 
	if (!CheckTileOwnership(tile)) return CMD_ERROR;
 
	Owner owner = GetTileOwner(tile);
 
	if (!CheckOwnership(owner)) return CMD_ERROR;
 
	if (!EnsureNoVehicleOnGround(tile)) return CMD_ERROR;
 

	
 
	tileh = GetTileSlope(tile, NULL);
 
@@ -230,6 +231,7 @@ CommandCost CmdBuildTrainWaypoint(TileIn
 
			wp->town_index = INVALID_TOWN;
 
			wp->name = NULL;
 
			wp->town_cn = 0;
 
			wp->owner = owner;
 
		} else {
 
			/* Move existing (recently deleted) waypoint to the new location */
 

	
 
@@ -252,7 +254,7 @@ CommandCost CmdBuildTrainWaypoint(TileIn
 
		const StationSpec* statspec;
 

	
 
		bool reserved = HasBit(GetTrackReservation(tile), AxisToTrack(axis));
 
		MakeRailWaypoint(tile, GetTileOwner(tile), axis, GetRailType(tile), wp->index);
 
		MakeRailWaypoint(tile, owner, axis, GetRailType(tile), wp->index);
 
		SetDepotWaypointReservation(tile, reserved);
 
		MarkTileDirtyByTile(tile);
 

	
 
@@ -316,7 +318,6 @@ CommandCost RemoveTrainWaypoint(TileInde
 

	
 
	if (flags & DC_EXEC) {
 
		Track track = GetRailWaypointTrack(tile);
 
		Owner owner = GetTileOwner(tile); // cannot use _current_player because of possible floods
 
		wp = GetWaypointByTile(tile);
 

	
 
		wp->deleted = 30; // let it live for this many days before we do the actual deletion.
 
@@ -326,7 +327,7 @@ CommandCost RemoveTrainWaypoint(TileInde
 
		if (justremove) {
 
			TrackBits tracks = GetRailWaypointBits(tile);
 
			bool reserved = GetDepotWaypointReservation(tile);
 
			MakeRailNormal(tile, GetTileOwner(tile), tracks, GetRailType(tile));
 
			MakeRailNormal(tile, wp->owner, tracks, GetRailType(tile));
 
			if (reserved) SetTrackReservation(tile, tracks);
 
			MarkTileDirtyByTile(tile);
 
		} else {
 
@@ -335,7 +336,7 @@ CommandCost RemoveTrainWaypoint(TileInde
 
				if (v != NULL) FreeTrainTrackReservation(v);
 
			}
 
			DoClearSquare(tile);
 
			AddTrackToSignalBuffer(tile, track, owner);
 
			AddTrackToSignalBuffer(tile, track, wp->owner);
 
		}
 
		YapfNotifyTrackLayoutChange(tile, track);
 
		if (v != NULL) TryPathReserve(v, true);
 
@@ -505,6 +506,7 @@ static const SaveLoad _waypoint_desc[] =
 
	SLE_CONDVAR(Waypoint, build_date, SLE_INT32,                  31, SL_MAX_VERSION),
 
	SLE_CONDVAR(Waypoint, localidx,   SLE_UINT8,                   3, SL_MAX_VERSION),
 
	SLE_CONDVAR(Waypoint, grfid,      SLE_UINT32,                 17, SL_MAX_VERSION),
 
	SLE_CONDVAR(Waypoint, owner,      SLE_UINT8,                 101, SL_MAX_VERSION),
 

	
 
	SLE_END()
 
};
src/waypoint.h
Show inline comments
 
@@ -25,6 +25,7 @@ struct Waypoint : PoolItem<Waypoint, Way
 

	
 
	ViewportSign sign; ///< Dimensions of sign (not saved)
 
	Date build_date;   ///< Date of construction
 
	Owner owner;       ///< Whom this waypoint belongs to
 

	
 
	byte stat_id;      ///< ID of waypoint within the waypoint class (not saved)
 
	uint32 grfid;      ///< ID of GRF file
src/waypoint_gui.cpp
Show inline comments
 
@@ -37,7 +37,7 @@ public:
 
	WaypointWindow(const WindowDesc *desc, WindowNumber window_number) : Window(desc, window_number)
 
	{
 
		this->wp = GetWaypoint(this->window_number);
 
		this->caption_color = (byte)GetTileOwner(this->wp->xy);
 
		this->caption_color = this->wp->owner;
 

	
 
		this->flags4 |= WF_DISABLE_VP_SCROLL;
 
		InitializeWindowViewport(this, 3, 17, 254, 86, this->wp->xy, ZOOM_LVL_MIN);
 
@@ -48,7 +48,7 @@ public:
 
	virtual void OnPaint()
 
	{
 
		/* You can only change your own waypoints */
 
		this->SetWidgetDisabledState(WAYPVW_RENAME, !CheckTileOwnership(this->wp->xy));
 
		this->SetWidgetDisabledState(WAYPVW_RENAME, !CheckOwnership(this->wp->owner));
 
		SetDParam(0, this->wp->index);
 
		this->DrawWidgets();
 

	
0 comments (0 inline, 0 general)