[Avida-SVN] r1366 - in trunk: . Installer source source/main source/platform source/platform/msvc2005 source/platform/msvc2005/pdcurses source/third-party source/tools

brysonda at myxo.css.msu.edu brysonda at myxo.css.msu.edu
Sun Feb 25 15:47:21 PST 2007


Author: brysonda
Date: 2007-02-25 18:47:21 -0500 (Sun, 25 Feb 2007)
New Revision: 1366

Added:
   trunk/Avida.sln
   trunk/Avida.vcproj
   trunk/Installer/
   trunk/Installer/Installer.vdproj
   trunk/Installer/README.txt
   trunk/source/platform/msvc2005/
   trunk/source/platform/msvc2005/pdcurses/
   trunk/source/platform/msvc2005/pdcurses/curses.h
   trunk/source/platform/msvc2005/pdcurses/pdcurses.lib
Removed:
   trunk/source/third-party/PDCurses-2.6/
   trunk/source/third-party/pdcurses/
Modified:
   trunk/source/defs.h
   trunk/source/main/cTaskLib.cc
   trunk/source/main/cWorld.cc
   trunk/source/tools/tList.h
Log:
Add Visual Studio 2005 project file and solution that is configured to build the Avida viewer for windows.  A Visual Studio deployment project is also included.  The deployment project builds a setup/msi file pair that will install the necessary runtime libraries and all of the configuration files for the default work directory.

Add msvc2005 compatible PDCurses (based on PDCurses-2.8) to the platform source directory.  Remove old PDCurses library.

Fix various compile warnings issued by Visual C++ compiler.

Added: trunk/Avida.sln
===================================================================
--- trunk/Avida.sln	2007-02-25 19:53:04 UTC (rev 1365)
+++ trunk/Avida.sln	2007-02-25 23:47:21 UTC (rev 1366)
@@ -0,0 +1,24 @@
+
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual Studio 2005
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Avida", "Avida.vcproj", "{E1C1D683-833F-40D9-A952-CEC54FE40EFC}"
+EndProject
+Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "Installer", "Installer\Installer.vdproj", "{9E776A2E-5D27-4900-9856-F5AF0C8FC84A}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Win32 = Debug|Win32
+		Release|Win32 = Release|Win32
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{E1C1D683-833F-40D9-A952-CEC54FE40EFC}.Debug|Win32.ActiveCfg = Debug|Win32
+		{E1C1D683-833F-40D9-A952-CEC54FE40EFC}.Debug|Win32.Build.0 = Debug|Win32
+		{E1C1D683-833F-40D9-A952-CEC54FE40EFC}.Release|Win32.ActiveCfg = Release|Win32
+		{E1C1D683-833F-40D9-A952-CEC54FE40EFC}.Release|Win32.Build.0 = Release|Win32
+		{9E776A2E-5D27-4900-9856-F5AF0C8FC84A}.Debug|Win32.ActiveCfg = Debug
+		{9E776A2E-5D27-4900-9856-F5AF0C8FC84A}.Release|Win32.ActiveCfg = Release
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal

Added: trunk/Avida.vcproj
===================================================================
--- trunk/Avida.vcproj	2007-02-25 19:53:04 UTC (rev 1365)
+++ trunk/Avida.vcproj	2007-02-25 23:47:21 UTC (rev 1366)
@@ -0,0 +1,1466 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="8.00"
+	Name="Avida"
+	ProjectGUID="{E1C1D683-833F-40D9-A952-CEC54FE40EFC}"
+	RootNamespace="Avida"
+	Keyword="Win32Proj"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="Debug"
+			IntermediateDirectory="Debug"
+			ConfigurationType="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				AdditionalIncludeDirectories="&quot;$(ProjectDir)source\tools&quot;;&quot;$(ProjectDir)source\targets\avida-viewer&quot;;&quot;$(ProjectDir)source\platform\msvc2005&quot;;&quot;$(ProjectDir)source\platform\msvc2005\pdcurses&quot;;&quot;$(ProjectDir)source\platform\win32-pthread&quot;;&quot;$(ProjectDir)source\main&quot;;&quot;$(ProjectDir)source\drivers&quot;;&quot;$(ProjectDir)source\cpu&quot;;&quot;$(ProjectDir)source\classification&quot;;&quot;$(ProjectDir)source\analyze&quot;;&quot;$(ProjectDir)source\actions&quot;;&quot;$(ProjectDir)source&quot;"
+				PreprocessorDefinitions="NOMACROS;DEBUG;WINDOWS;WIN32;_WINDOWS"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="1"
+				UsePrecompiledHeader="0"
+				WarningLevel="2"
+				Detect64BitPortabilityProblems="true"
+				DebugInformationFormat="4"
+				ForcedIncludeFiles=""
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="2"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				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|Win32"
+			OutputDirectory="Release"
+			IntermediateDirectory="Release"
+			ConfigurationType="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="3"
+				InlineFunctionExpansion="2"
+				EnableIntrinsicFunctions="true"
+				FavorSizeOrSpeed="1"
+				OmitFramePointers="true"
+				WholeProgramOptimization="true"
+				AdditionalIncludeDirectories="&quot;$(ProjectDir)source\tools&quot;;&quot;$(ProjectDir)source\targets\avida-viewer&quot;;&quot;$(ProjectDir)source\platform\msvc2005&quot;;&quot;$(ProjectDir)source\platform\msvc2005\pdcurses&quot;;&quot;$(ProjectDir)source\platform\win32-pthread&quot;;&quot;$(ProjectDir)source\main&quot;;&quot;$(ProjectDir)source\drivers&quot;;&quot;$(ProjectDir)source\cpu&quot;;&quot;$(ProjectDir)source\classification&quot;;&quot;$(ProjectDir)source\analyze&quot;;&quot;$(ProjectDir)source\actions&quot;;&quot;$(ProjectDir)source&quot;"
+				PreprocessorDefinitions="NOMACROS;NDEBUG;WINDOWS;WIN32;_WINDOWS"
+				ExceptionHandling="1"
+				RuntimeLibrary="0"
+				BufferSecurityCheck="false"
+				EnableEnhancedInstructionSet="1"
+				FloatingPointModel="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="2"
+				Detect64BitPortabilityProblems="true"
+				DebugInformationFormat="3"
+				ForcedIncludeFiles=""
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				Version="2.6.2"
+				LinkIncremental="1"
+				GenerateDebugInformation="false"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				LinkTimeCodeGeneration="1"
+				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>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Header Files"
+			Filter="h;hpp;hxx;hm;inl;inc;xsd"
+			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+			>
+			<File
+				RelativePath=".\source\main\avida.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\actions\cAction.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\actions\cActionLibrary.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\analyze\cAnalyze.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\analyze\cAnalyzeCommand.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\analyze\cAnalyzeCommandAction.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\analyze\cAnalyzeCommandDef.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\analyze\cAnalyzeCommandDefBase.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\analyze\cAnalyzeFlowCommand.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\analyze\cAnalyzeFlowCommandDef.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\analyze\cAnalyzeFunction.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\analyze\cAnalyzeGenotype.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\analyze\cAnalyzeJob.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\analyze\cAnalyzeJobQueue.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\analyze\cAnalyzeJobWorker.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cAvidaConfig.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cAvidaContext.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\drivers\cAvidaDriver.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\targets\avida-viewer\cBarScreen.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\targets\avida-viewer\cBaseTextWindow.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cBirthChamber.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cBlockStruct.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cChangeList.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\classification\cClassificationManager.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\cpu\cCodeLabel.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cConstSchedule.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cCountTracker.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\cpu\cCPUMemory.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\cpu\cCPUStack.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\cpu\cCPUTestInfo.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cCycleCheck.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cDataEntry.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cDataFile.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cDataFileManager.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cDataManager_Base.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\drivers\cDefaultAnalyzeDriver.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cDefaultMessageDisplay.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\drivers\cDefaultRunDriver.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cDoubleSum.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\drivers\cDriverManager.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cEnvironment.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\targets\avida-viewer\cEnvironmentScreen.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cEventList.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\drivers\cFallbackWorldDriver.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cFile.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cFitnessMatrix.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cFixedBlock.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cFixedCoords.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cGenome.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cGenomeUtil.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\classification\cGenotype.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\classification\cGenotype_BirthData.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\classification\cGenotype_TestData.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\analyze\cGenotypeBatch.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\classification\cGenotypeControl.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\cpu\cHardwareBase.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\cpu\cHardwareCPU.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\cpu\cHardwareManager.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\cpu\cHardwareSMT.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\cpu\cHardwareStatusPrinter.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\cpu\cHardwareTracer.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\cpu\cHardwareTransSMT.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\cpu\cHeadCPU.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cHelpAlias.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cHelpEntry.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cHelpFullEntry.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cHelpManager.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cHelpType.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cHistogram.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\targets\avida-viewer\cHistScreen.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cID.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cIndexedBlockStruct.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cInitFile.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\classification\cInjectGenotype.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\classification\cInjectGenotype_BirthData.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\classification\cInjectGenotypeControl.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\classification\cInjectGenotypeElement.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\classification\cInjectGenotypeQueue.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cInstLibBase.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\cpu\cInstLibCPU.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cInstruction.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cInstSet.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cInstUtil.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cIntegratedSchedule.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cIntegratedScheduleNode.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cIntSum.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cLandscape.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\classification\cLineage.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cLocalMutations.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\targets\avida-viewer\cMapScreen.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\targets\avida-viewer\cMenuWindow.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cMerit.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cMutation.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\analyze\cMutationalNeighborhood.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\analyze\cMutationalNeighborhoodResults.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cMutationLib.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cMutationRates.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cMxCodeArray.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\targets\avida-viewer\cOptionsScreen.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cOrganism.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cOrgInterface.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cOrgMessage.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cOrgSeqMessage.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cOrgSinkMessage.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cOrgSourceMessage.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cPhenotype.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cPopulation.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cPopulationCell.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cPopulationInterface.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cProbSchedule.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cRandom.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cReaction.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cReactionLib.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cReactionProcess.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cReactionRequisite.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cReactionResult.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cRefBlock.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cResource.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cResourceCount.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cResourceLib.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cRunningAverage.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cSaleItem.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cScaledBlock.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cSchedule.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\targets\avida-viewer\cScreen.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cSpatialCountElem.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cSpatialResCount.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\classification\cSpecies.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\classification\cSpeciesControl.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\classification\cSpeciesQueue.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cStats.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\targets\avida-viewer\cStatsScreen.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cString.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cStringIterator.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cStringList.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cStringUtil.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\targets\avida-viewer\cSymbolUtil.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cTaskContext.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cTaskEntry.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cTaskLib.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\cpu\cTestCPU.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\cpu\cTestCPUInterface.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\cpu\cTestUtil.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\targets\avida-viewer\cTextViewerDriver.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\targets\avida-viewer\cTextWindow.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cThread.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cTools.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cUInt.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\platform\msvc2005\pdcurses\curses.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\targets\avida-viewer\cView.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\targets\avida-viewer\cViewInfo.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cWeightedIndex.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cWorld.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\drivers\cWorldDriver.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\targets\avida-viewer\cZoomScreen.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\defs.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\actions\DriverActions.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\actions\EnvironmentActions.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\functions.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\actions\LandscapeActions.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\MyCodeArrayLessThan.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\classification\nGenotype.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\nGeometry.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\cpu\nHardware.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\classification\nInjectGenotype.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\nMutation.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\nReaction.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\classification\nSpecies.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\actions\PopulationActions.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\actions\PrintActions.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\platform\win32-pthread\pthread.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\actions\SaveLoadActions.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\cpu\sCPUStats.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\analyze\tAnalyzeJob.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\tArgDataEntry.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\tArray.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\tBuffer.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\tDataEntry.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\tDataEntryBase.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\tDataEntryCommand.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\tDataManager.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\tDictionary.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\tHashTable.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\cpu\tInstLib.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\tList.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\tManagedPointerArray.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\tMatrix.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\tMemTrack.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\tObjectFactory.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\tSmartArray.h"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\tVector.h"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Resource Files"
+			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+			>
+		</Filter>
+		<Filter
+			Name="Source Files"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+			<File
+				RelativePath=".\source\main\avida.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\actions\cActionLibrary.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\analyze\cAnalyze.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\analyze\cAnalyzeGenotype.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\analyze\cAnalyzeJobQueue.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\analyze\cAnalyzeJobWorker.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cAvidaConfig.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\targets\avida-viewer\cBarScreen.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cBirthChamber.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cBlockStruct.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cChangeList.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\classification\cClassificationManager.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\cpu\cCodeLabel.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cConstSchedule.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\cpu\cCPUMemory.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\cpu\cCPUStack.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\cpu\cCPUTestInfo.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cCycleCheck.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cDataEntry.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cDataFile.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cDataFileManager.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cDataManager_Base.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\drivers\cDefaultAnalyzeDriver.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cDefaultMessageDisplay.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\drivers\cDefaultRunDriver.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cDoubleSum.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\drivers\cDriverManager.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cEnvironment.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\targets\avida-viewer\cEnvironmentScreen.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cEventList.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\drivers\cFallbackWorldDriver.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cFile.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cFitnessMatrix.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cFixedBlock.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cFixedCoords.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cGenome.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cGenomeUtil.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\classification\cGenotype.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\classification\cGenotype_BirthData.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\classification\cGenotypeControl.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\cpu\cHardwareBase.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\cpu\cHardwareCPU.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\cpu\cHardwareManager.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\cpu\cHardwareSMT.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\cpu\cHardwareStatusPrinter.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\cpu\cHardwareTransSMT.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\cpu\cHeadCPU.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cHelpAlias.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cHelpManager.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cHelpType.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cHistogram.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\targets\avida-viewer\cHistScreen.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cIndexedBlockStruct.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cInitFile.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\classification\cInjectGenotype.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\classification\cInjectGenotypeControl.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\classification\cInjectGenotypeQueue.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cInstruction.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cInstSet.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cInstUtil.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cIntegratedSchedule.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cIntegratedScheduleNode.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cIntSum.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cLandscape.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\classification\cLineage.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cLocalMutations.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\targets\avida-viewer\cMapScreen.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\targets\avida-viewer\cMenuWindow.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cMerit.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\analyze\cMutationalNeighborhood.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cMutationLib.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cMutationRates.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cMxCodeArray.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\targets\avida-viewer\cOptionsScreen.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cOrganism.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cOrgMessage.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cPhenotype.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cPopulation.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cPopulationCell.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cPopulationInterface.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cProbSchedule.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cRandom.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cReaction.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cReactionLib.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cReactionResult.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cResource.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cResourceCount.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cResourceLib.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cRunningAverage.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cSchedule.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\targets\avida-viewer\cScreen.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cSpatialCountElem.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cSpatialResCount.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\classification\cSpecies.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\classification\cSpeciesControl.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\classification\cSpeciesQueue.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cStats.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\targets\avida-viewer\cStatsScreen.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cString.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cStringIterator.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cStringList.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cStringUtil.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\targets\avida-viewer\cSymbolUtil.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cTaskLib.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\cpu\cTestCPU.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\cpu\cTestCPUInterface.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\cpu\cTestUtil.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\targets\avida-viewer\cTextViewerDriver.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\targets\avida-viewer\cTextWindow.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cThread.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cTools.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\targets\avida-viewer\cView.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\targets\avida-viewer\cViewInfo.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\tools\cWeightedIndex.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\main\cWorld.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\targets\avida-viewer\cZoomScreen.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\actions\DriverActions.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\actions\EnvironmentActions.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\actions\LandscapeActions.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\actions\PopulationActions.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\actions\PrintActions.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\actions\SaveLoadActions.cc"
+				>
+			</File>
+			<File
+				RelativePath=".\source\targets\avida-viewer\viewer.cc"
+				>
+			</File>
+		</Filter>
+		<File
+			RelativePath=".\source\platform\msvc2005\pdcurses\pdcurses.lib"
+			>
+		</File>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>

Added: trunk/Installer/Installer.vdproj
===================================================================
--- trunk/Installer/Installer.vdproj	2007-02-25 19:53:04 UTC (rev 1365)
+++ trunk/Installer/Installer.vdproj	2007-02-25 23:47:21 UTC (rev 1366)
@@ -0,0 +1,1022 @@
+"DeployProject"
+{
+"VSVersion" = "3:800"
+"ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}"
+"IsWebType" = "8:FALSE"
+"ProjectName" = "8:Installer"
+"LanguageId" = "3:1033"
+"CodePage" = "3:1252"
+"UILanguageId" = "3:1033"
+"SccProjectName" = "8:"
+"SccLocalPath" = "8:"
+"SccAuxPath" = "8:"
+"SccProvider" = "8:"
+    "Hierarchy"
+    {
+        "Entry"
+        {
+        "MsmKey" = "8:_1A9D1282747646D49D8DEDF2CFE37228"
+        "OwnerKey" = "8:_UNDEFINED"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_204CB5E1443B4FC88BBCB80DC26D21CF"
+        "OwnerKey" = "8:_UNDEFINED"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_279435002E2F4ED5BB26BE616DEE0C59"
+        "OwnerKey" = "8:_UNDEFINED"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_304E3C522AAB4E6380C34CE5040B9A78"
+        "OwnerKey" = "8:_UNDEFINED"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_3547E7E10C78406791D4C46B86EB90D6"
+        "OwnerKey" = "8:_UNDEFINED"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_3DE977ADCAD64B2B8AB96E78A6EBFE3B"
+        "OwnerKey" = "8:_UNDEFINED"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_4857B4C478F4448D9CB1C11C0A894D91"
+        "OwnerKey" = "8:_UNDEFINED"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_4B7FE750D9974D5FBB51309B531A916C"
+        "OwnerKey" = "8:_UNDEFINED"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_5CD9664CA31F43168A81BA6C7A8829E4"
+        "OwnerKey" = "8:_UNDEFINED"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_6F1EFD3ED0694F9DB4CE4815B7E68E0C"
+        "OwnerKey" = "8:_UNDEFINED"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_9055E433C8C24C029A7CB1D19968AF4D"
+        "OwnerKey" = "8:_UNDEFINED"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_B26D6FA9AE5B41DDBEFED6D2C8392257"
+        "OwnerKey" = "8:_UNDEFINED"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_BC060CC6F8D741A6BF0626D0364A62C4"
+        "OwnerKey" = "8:_UNDEFINED"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_D78F176C4DA24D768B76CE9D761176FC"
+        "OwnerKey" = "8:_UNDEFINED"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+    }
+    "Configurations"
+    {
+        "Debug"
+        {
+        "DisplayName" = "8:Debug"
+        "IsDebugOnly" = "11:TRUE"
+        "IsReleaseOnly" = "11:FALSE"
+        "OutputFilename" = "8:Debug\\Avida.msi"
+        "PackageFilesAs" = "3:2"
+        "PackageFileSize" = "3:-2147483648"
+        "CabType" = "3:1"
+        "Compression" = "3:2"
+        "SignOutput" = "11:FALSE"
+        "CertificateFile" = "8:"
+        "PrivateKeyFile" = "8:"
+        "TimeStampServer" = "8:"
+        "InstallerBootstrapper" = "3:2"
+            "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
+            {
+            "Enabled" = "11:TRUE"
+            "PromptEnabled" = "11:TRUE"
+            "PrerequisitesLocation" = "2:1"
+            "Url" = "8:"
+            "ComponentsUrl" = "8:"
+                "Items"
+                {
+                }
+            }
+        }
+        "Release"
+        {
+        "DisplayName" = "8:Release"
+        "IsDebugOnly" = "11:FALSE"
+        "IsReleaseOnly" = "11:TRUE"
+        "OutputFilename" = "8:Release\\Avida.msi"
+        "PackageFilesAs" = "3:2"
+        "PackageFileSize" = "3:-2147483648"
+        "CabType" = "3:1"
+        "Compression" = "3:2"
+        "SignOutput" = "11:FALSE"
+        "CertificateFile" = "8:"
+        "PrivateKeyFile" = "8:"
+        "TimeStampServer" = "8:"
+        "InstallerBootstrapper" = "3:2"
+            "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
+            {
+            "Enabled" = "11:TRUE"
+            "PromptEnabled" = "11:TRUE"
+            "PrerequisitesLocation" = "2:1"
+            "Url" = "8:"
+            "ComponentsUrl" = "8:"
+                "Items"
+                {
+                }
+            }
+        }
+    }
+    "Deployable"
+    {
+        "CustomAction"
+        {
+        }
+        "DefaultFeature"
+        {
+        "Name" = "8:DefaultFeature"
+        "Title" = "8:"
+        "Description" = "8:"
+        }
+        "ExternalPersistence"
+        {
+            "LaunchCondition"
+            {
+            }
+        }
+        "File"
+        {
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1A9D1282747646D49D8DEDF2CFE37228"
+            {
+            "SourcePath" = "8:..\\support\\config\\default-sex-classic.org"
+            "TargetName" = "8:default-sex-classic.org"
+            "Tag" = "8:"
+            "Folder" = "8:_F4DE2B307FF54EF19010CEB8ADB3BBF2"
+            "Condition" = "8:"
+            "Transitive" = "11:FALSE"
+            "Vital" = "11:TRUE"
+            "ReadOnly" = "11:FALSE"
+            "Hidden" = "11:FALSE"
+            "System" = "11:FALSE"
+            "Permanent" = "11:FALSE"
+            "SharedLegacy" = "11:FALSE"
+            "PackageAs" = "3:1"
+            "Register" = "3:1"
+            "Exclude" = "11:FALSE"
+            "IsDependency" = "11:FALSE"
+            "IsolateTo" = "8:"
+            }
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_204CB5E1443B4FC88BBCB80DC26D21CF"
+            {
+            "SourcePath" = "8:..\\support\\config\\default-smt.org"
+            "TargetName" = "8:default-smt.org"
+            "Tag" = "8:"
+            "Folder" = "8:_F4DE2B307FF54EF19010CEB8ADB3BBF2"
+            "Condition" = "8:"
+            "Transitive" = "11:FALSE"
+            "Vital" = "11:TRUE"
+            "ReadOnly" = "11:FALSE"
+            "Hidden" = "11:FALSE"
+            "System" = "11:FALSE"
+            "Permanent" = "11:FALSE"
+            "SharedLegacy" = "11:FALSE"
+            "PackageAs" = "3:1"
+            "Register" = "3:1"
+            "Exclude" = "11:FALSE"
+            "IsDependency" = "11:FALSE"
+            "IsolateTo" = "8:"
+            }
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_279435002E2F4ED5BB26BE616DEE0C59"
+            {
+            "SourcePath" = "8:..\\support\\config\\analyze.cfg"
+            "TargetName" = "8:analyze.cfg"
+            "Tag" = "8:"
+            "Folder" = "8:_F4DE2B307FF54EF19010CEB8ADB3BBF2"
+            "Condition" = "8:"
+            "Transitive" = "11:FALSE"
+            "Vital" = "11:TRUE"
+            "ReadOnly" = "11:FALSE"
+            "Hidden" = "11:FALSE"
+            "System" = "11:FALSE"
+            "Permanent" = "11:FALSE"
+            "SharedLegacy" = "11:FALSE"
+            "PackageAs" = "3:1"
+            "Register" = "3:1"
+            "Exclude" = "11:FALSE"
+            "IsDependency" = "11:FALSE"
+            "IsolateTo" = "8:"
+            }
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_304E3C522AAB4E6380C34CE5040B9A78"
+            {
+            "SourcePath" = "8:README.txt"
+            "TargetName" = "8:README.txt"
+            "Tag" = "8:"
+            "Folder" = "8:_F4DE2B307FF54EF19010CEB8ADB3BBF2"
+            "Condition" = "8:"
+            "Transitive" = "11:FALSE"
+            "Vital" = "11:TRUE"
+            "ReadOnly" = "11:FALSE"
+            "Hidden" = "11:FALSE"
+            "System" = "11:FALSE"
+            "Permanent" = "11:FALSE"
+            "SharedLegacy" = "11:FALSE"
+            "PackageAs" = "3:1"
+            "Register" = "3:1"
+            "Exclude" = "11:FALSE"
+            "IsDependency" = "11:FALSE"
+            "IsolateTo" = "8:"
+            }
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_3DE977ADCAD64B2B8AB96E78A6EBFE3B"
+            {
+            "SourcePath" = "8:..\\support\\config\\events.cfg"
+            "TargetName" = "8:events.cfg"
+            "Tag" = "8:"
+            "Folder" = "8:_F4DE2B307FF54EF19010CEB8ADB3BBF2"
+            "Condition" = "8:"
+            "Transitive" = "11:FALSE"
+            "Vital" = "11:TRUE"
+            "ReadOnly" = "11:FALSE"
+            "Hidden" = "11:FALSE"
+            "System" = "11:FALSE"
+            "Permanent" = "11:FALSE"
+            "SharedLegacy" = "11:FALSE"
+            "PackageAs" = "3:1"
+            "Register" = "3:1"
+            "Exclude" = "11:FALSE"
+            "IsDependency" = "11:FALSE"
+            "IsolateTo" = "8:"
+            }
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_4857B4C478F4448D9CB1C11C0A894D91"
+            {
+            "SourcePath" = "8:..\\support\\config\\instset-sex-classic.cfg"
+            "TargetName" = "8:instset-sex-classic.cfg"
+            "Tag" = "8:"
+            "Folder" = "8:_F4DE2B307FF54EF19010CEB8ADB3BBF2"
+            "Condition" = "8:"
+            "Transitive" = "11:FALSE"
+            "Vital" = "11:TRUE"
+            "ReadOnly" = "11:FALSE"
+            "Hidden" = "11:FALSE"
+            "System" = "11:FALSE"
+            "Permanent" = "11:FALSE"
+            "SharedLegacy" = "11:FALSE"
+            "PackageAs" = "3:1"
+            "Register" = "3:1"
+            "Exclude" = "11:FALSE"
+            "IsDependency" = "11:FALSE"
+            "IsolateTo" = "8:"
+            }
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_4B7FE750D9974D5FBB51309B531A916C"
+            {
+            "SourcePath" = "8:..\\support\\config\\instset-transsmt.cfg"
+            "TargetName" = "8:instset-transsmt.cfg"
+            "Tag" = "8:"
+            "Folder" = "8:_F4DE2B307FF54EF19010CEB8ADB3BBF2"
+            "Condition" = "8:"
+            "Transitive" = "11:FALSE"
+            "Vital" = "11:TRUE"
+            "ReadOnly" = "11:FALSE"
+            "Hidden" = "11:FALSE"
+            "System" = "11:FALSE"
+            "Permanent" = "11:FALSE"
+            "SharedLegacy" = "11:FALSE"
+            "PackageAs" = "3:1"
+            "Register" = "3:1"
+            "Exclude" = "11:FALSE"
+            "IsDependency" = "11:FALSE"
+            "IsolateTo" = "8:"
+            }
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_5CD9664CA31F43168A81BA6C7A8829E4"
+            {
+            "SourcePath" = "8:..\\support\\config\\environment.cfg"
+            "TargetName" = "8:environment.cfg"
+            "Tag" = "8:"
+            "Folder" = "8:_F4DE2B307FF54EF19010CEB8ADB3BBF2"
+            "Condition" = "8:"
+            "Transitive" = "11:FALSE"
+            "Vital" = "11:TRUE"
+            "ReadOnly" = "11:FALSE"
+            "Hidden" = "11:FALSE"
+            "System" = "11:FALSE"
+            "Permanent" = "11:FALSE"
+            "SharedLegacy" = "11:FALSE"
+            "PackageAs" = "3:1"
+            "Register" = "3:1"
+            "Exclude" = "11:FALSE"
+            "IsDependency" = "11:FALSE"
+            "IsolateTo" = "8:"
+            }
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_6F1EFD3ED0694F9DB4CE4815B7E68E0C"
+            {
+            "SourcePath" = "8:..\\support\\config\\instset-smt.cfg"
+            "TargetName" = "8:instset-smt.cfg"
+            "Tag" = "8:"
+            "Folder" = "8:_F4DE2B307FF54EF19010CEB8ADB3BBF2"
+            "Condition" = "8:"
+            "Transitive" = "11:FALSE"
+            "Vital" = "11:TRUE"
+            "ReadOnly" = "11:FALSE"
+            "Hidden" = "11:FALSE"
+            "System" = "11:FALSE"
+            "Permanent" = "11:FALSE"
+            "SharedLegacy" = "11:FALSE"
+            "PackageAs" = "3:1"
+            "Register" = "3:1"
+            "Exclude" = "11:FALSE"
+            "IsDependency" = "11:FALSE"
+            "IsolateTo" = "8:"
+            }
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_9055E433C8C24C029A7CB1D19968AF4D"
+            {
+            "SourcePath" = "8:..\\support\\config\\default-transsmt.org"
+            "TargetName" = "8:default-transsmt.org"
+            "Tag" = "8:"
+            "Folder" = "8:_F4DE2B307FF54EF19010CEB8ADB3BBF2"
+            "Condition" = "8:"
+            "Transitive" = "11:FALSE"
+            "Vital" = "11:TRUE"
+            "ReadOnly" = "11:FALSE"
+            "Hidden" = "11:FALSE"
+            "System" = "11:FALSE"
+            "Permanent" = "11:FALSE"
+            "SharedLegacy" = "11:FALSE"
+            "PackageAs" = "3:1"
+            "Register" = "3:1"
+            "Exclude" = "11:FALSE"
+            "IsDependency" = "11:FALSE"
+            "IsolateTo" = "8:"
+            }
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B26D6FA9AE5B41DDBEFED6D2C8392257"
+            {
+            "SourcePath" = "8:..\\support\\config\\avida.cfg"
+            "TargetName" = "8:avida.cfg"
+            "Tag" = "8:"
+            "Folder" = "8:_F4DE2B307FF54EF19010CEB8ADB3BBF2"
+            "Condition" = "8:"
+            "Transitive" = "11:FALSE"
+            "Vital" = "11:TRUE"
+            "ReadOnly" = "11:FALSE"
+            "Hidden" = "11:FALSE"
+            "System" = "11:FALSE"
+            "Permanent" = "11:FALSE"
+            "SharedLegacy" = "11:FALSE"
+            "PackageAs" = "3:1"
+            "Register" = "3:1"
+            "Exclude" = "11:FALSE"
+            "IsDependency" = "11:FALSE"
+            "IsolateTo" = "8:"
+            }
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_BC060CC6F8D741A6BF0626D0364A62C4"
+            {
+            "SourcePath" = "8:..\\support\\config\\instset-classic.cfg"
+            "TargetName" = "8:instset-classic.cfg"
+            "Tag" = "8:"
+            "Folder" = "8:_F4DE2B307FF54EF19010CEB8ADB3BBF2"
+            "Condition" = "8:"
+            "Transitive" = "11:FALSE"
+            "Vital" = "11:TRUE"
+            "ReadOnly" = "11:FALSE"
+            "Hidden" = "11:FALSE"
+            "System" = "11:FALSE"
+            "Permanent" = "11:FALSE"
+            "SharedLegacy" = "11:FALSE"
+            "PackageAs" = "3:1"
+            "Register" = "3:1"
+            "Exclude" = "11:FALSE"
+            "IsDependency" = "11:FALSE"
+            "IsolateTo" = "8:"
+            }
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_D78F176C4DA24D768B76CE9D761176FC"
+            {
+            "SourcePath" = "8:..\\support\\config\\default-classic.org"
+            "TargetName" = "8:default-classic.org"
+            "Tag" = "8:"
+            "Folder" = "8:_F4DE2B307FF54EF19010CEB8ADB3BBF2"
+            "Condition" = "8:"
+            "Transitive" = "11:FALSE"
+            "Vital" = "11:TRUE"
+            "ReadOnly" = "11:FALSE"
+            "Hidden" = "11:FALSE"
+            "System" = "11:FALSE"
+            "Permanent" = "11:FALSE"
+            "SharedLegacy" = "11:FALSE"
+            "PackageAs" = "3:1"
+            "Register" = "3:1"
+            "Exclude" = "11:FALSE"
+            "IsDependency" = "11:FALSE"
+            "IsolateTo" = "8:"
+            }
+        }
+        "FileType"
+        {
+        }
+        "Folder"
+        {
+            "{3C67513D-01DD-4637-8A68-80971EB9504F}:_F4DE2B307FF54EF19010CEB8ADB3BBF2"
+            {
+            "DefaultLocation" = "8:[DesktopFolder]\\[ProductName]"
+            "Name" = "8:#1925"
+            "AlwaysCreate" = "11:FALSE"
+            "Condition" = "8:"
+            "Transitive" = "11:FALSE"
+            "Property" = "8:TARGETDIR"
+                "Folders"
+                {
+                }
+            }
+        }
+        "LaunchCondition"
+        {
+        }
+        "Locator"
+        {
+        }
+        "MsiBootstrapper"
+        {
+        "LangId" = "3:1033"
+        }
+        "Product"
+        {
+        "Name" = "8:Microsoft Visual Studio"
+        "ProductName" = "8:Avida 2.6"
+        "ProductCode" = "8:{B445E14D-4E11-459F-91D8-2E79B004FCDE}"
+        "PackageCode" = "8:{3CD73671-E355-42A9-85B2-7F419CEDD6F7}"
+        "UpgradeCode" = "8:{E01716DE-7ED4-4DE0-87FF-D76F9A33C61F}"
+        "RestartWWWService" = "11:FALSE"
+        "RemovePreviousVersions" = "11:FALSE"
+        "DetectNewerInstalledVersion" = "11:FALSE"
+        "InstallAllUsers" = "11:FALSE"
+        "ProductVersion" = "8:2.6.2"
+        "Manufacturer" = "8:Michigan State University"
+        "ARPHELPTELEPHONE" = "8:"
+        "ARPHELPLINK" = "8:"
+        "Title" = "8:Avida"
+        "Subject" = "8:"
+        "ARPCONTACT" = "8:Michigan State University"
+        "Keywords" = "8:"
+        "ARPCOMMENTS" = "8:"
+        "ARPURLINFOABOUT" = "8:http://devolab.cse.msu.edu"
+        "ARPPRODUCTICON" = "8:"
+        "ARPIconIndex" = "3:0"
+        "SearchPath" = "8:"
+        "UseSystemSearchPath" = "11:TRUE"
+        "TargetPlatform" = "3:0"
+        "PreBuildEvent" = "8:"
+        "PostBuildEvent" = "8:"
+        "RunPostBuildEvent" = "3:0"
+        }
+        "Registry"
+        {
+            "HKLM"
+            {
+                "Keys"
+                {
+                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_2B5545462CEC4CE483BDEB72878DD2FF"
+                    {
+                    "Name" = "8:Software"
+                    "Condition" = "8:"
+                    "AlwaysCreate" = "11:FALSE"
+                    "DeleteAtUninstall" = "11:FALSE"
+                    "Transitive" = "11:FALSE"
+                        "Keys"
+                        {
+                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_2F0F6F2578D242E1886EAC7D3F7594BF"
+                            {
+                            "Name" = "8:[Manufacturer]"
+                            "Condition" = "8:"
+                            "AlwaysCreate" = "11:FALSE"
+                            "DeleteAtUninstall" = "11:FALSE"
+                            "Transitive" = "11:FALSE"
+                                "Keys"
+                                {
+                                }
+                                "Values"
+                                {
+                                }
+                            }
+                        }
+                        "Values"
+                        {
+                        }
+                    }
+                }
+            }
+            "HKCU"
+            {
+                "Keys"
+                {
+                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_25EB767E36E641EDA56E9F80B647104F"
+                    {
+                    "Name" = "8:Software"
+                    "Condition" = "8:"
+                    "AlwaysCreate" = "11:FALSE"
+                    "DeleteAtUninstall" = "11:FALSE"
+                    "Transitive" = "11:FALSE"
+                        "Keys"
+                        {
+                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_7053F15F212C42A39D56D2D6E1DF7848"
+                            {
+                            "Name" = "8:[Manufacturer]"
+                            "Condition" = "8:"
+                            "AlwaysCreate" = "11:FALSE"
+                            "DeleteAtUninstall" = "11:FALSE"
+                            "Transitive" = "11:FALSE"
+                                "Keys"
+                                {
+                                }
+                                "Values"
+                                {
+                                }
+                            }
+                        }
+                        "Values"
+                        {
+                        }
+                    }
+                }
+            }
+            "HKCR"
+            {
+                "Keys"
+                {
+                }
+            }
+            "HKU"
+            {
+                "Keys"
+                {
+                }
+            }
+            "HKPU"
+            {
+                "Keys"
+                {
+                }
+            }
+        }
+        "Sequences"
+        {
+        }
+        "Shortcut"
+        {
+        }
+        "UserInterface"
+        {
+            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_120DCE35DBC642EDAF5016A75D5BE1DE"
+            {
+            "Name" = "8:#1900"
+            "Sequence" = "3:2"
+            "Attributes" = "3:1"
+                "Dialogs"
+                {
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_48F22936DDFD4613ADD34501C649A537"
+                    {
+                    "Sequence" = "3:100"
+                    "DisplayName" = "8:Welcome"
+                    "UseDynamicProperties" = "11:TRUE"
+                    "IsDependency" = "11:FALSE"
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminWelcomeDlg.wid"
+                        "Properties"
+                        {
+                            "BannerBitmap"
+                            {
+                            "Name" = "8:BannerBitmap"
+                            "DisplayName" = "8:#1001"
+                            "Description" = "8:#1101"
+                            "Type" = "3:8"
+                            "ContextData" = "8:Bitmap"
+                            "Attributes" = "3:4"
+                            "Setting" = "3:1"
+                            "UsePlugInResources" = "11:TRUE"
+                            }
+                            "CopyrightWarning"
+                            {
+                            "Name" = "8:CopyrightWarning"
+                            "DisplayName" = "8:#1002"
+                            "Description" = "8:#1102"
+                            "Type" = "3:3"
+                            "ContextData" = "8:"
+                            "Attributes" = "3:0"
+                            "Setting" = "3:2"
+                            "Value" = "8:Avida comes with ABSOLUTELY NO WARRANTY; This is free software, and you are welcome to redistribute it under certain conditions. See the README for details."
+                            "DefaultValue" = "8:#1202"
+                            "UsePlugInResources" = "11:TRUE"
+                            }
+                            "Welcome"
+                            {
+                            "Name" = "8:Welcome"
+                            "DisplayName" = "8:#1003"
+                            "Description" = "8:#1103"
+                            "Type" = "3:3"
+                            "ContextData" = "8:"
+                            "Attributes" = "3:0"
+                            "Setting" = "3:1"
+                            "Value" = "8:#1203"
+                            "DefaultValue" = "8:#1203"
+                            "UsePlugInResources" = "11:TRUE"
+                            }
+                        }
+                    }
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_85893800D6194C85BFE566C1402F8620"
+                    {
+                    "Sequence" = "3:200"
+                    "DisplayName" = "8:Installation Folder"
+                    "UseDynamicProperties" = "11:TRUE"
+                    "IsDependency" = "11:FALSE"
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminFolderDlg.wid"
+                        "Properties"
+                        {
+                            "BannerBitmap"
+                            {
+                            "Name" = "8:BannerBitmap"
+                            "DisplayName" = "8:#1001"
+                            "Description" = "8:#1101"
+                            "Type" = "3:8"
+                            "ContextData" = "8:Bitmap"
+                            "Attributes" = "3:4"
+                            "Setting" = "3:1"
+                            "UsePlugInResources" = "11:TRUE"
+                            }
+                        }
+                    }
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_AB730E6184594CC7B7947314996D1039"
+                    {
+                    "Sequence" = "3:300"
+                    "DisplayName" = "8:Confirm Installation"
+                    "UseDynamicProperties" = "11:TRUE"
+                    "IsDependency" = "11:FALSE"
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminConfirmDlg.wid"
+                        "Properties"
+                        {
+                            "BannerBitmap"
+                            {
+                            "Name" = "8:BannerBitmap"
+                            "DisplayName" = "8:#1001"
+                            "Description" = "8:#1101"
+                            "Type" = "3:8"
+                            "ContextData" = "8:Bitmap"
+                            "Attributes" = "3:4"
+                            "Setting" = "3:1"
+                            "UsePlugInResources" = "11:TRUE"
+                            }
+                        }
+                    }
+                }
+            }
+            "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_32C392C5AFEE47C4B37BD7C773AE230E"
+            {
+            "UseDynamicProperties" = "11:FALSE"
+            "IsDependency" = "11:FALSE"
+            "SourcePath" = "8:<VsdDialogDir>\\VsdBasicDialogs.wim"
+            }
+            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_5F03DA27CAAD469AAB7AF30CBBA361C0"
+            {
+            "Name" = "8:#1900"
+            "Sequence" = "3:1"
+            "Attributes" = "3:1"
+                "Dialogs"
+                {
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_06B376EF706A4AE1AFABEB0812358810"
+                    {
+                    "Sequence" = "3:300"
+                    "DisplayName" = "8:Confirm Installation"
+                    "UseDynamicProperties" = "11:TRUE"
+                    "IsDependency" = "11:FALSE"
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdConfirmDlg.wid"
+                        "Properties"
+                        {
+                            "BannerBitmap"
+                            {
+                            "Name" = "8:BannerBitmap"
+                            "DisplayName" = "8:#1001"
+                            "Description" = "8:#1101"
+                            "Type" = "3:8"
+                            "ContextData" = "8:Bitmap"
+                            "Attributes" = "3:4"
+                            "Setting" = "3:1"
+                            "UsePlugInResources" = "11:TRUE"
+                            }
+                        }
+                    }
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_EA2CDC3C5C904647AEF1790F88AD01BC"
+                    {
+                    "Sequence" = "3:200"
+                    "DisplayName" = "8:Installation Folder"
+                    "UseDynamicProperties" = "11:TRUE"
+                    "IsDependency" = "11:FALSE"
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdFolderDlg.wid"
+                        "Properties"
+                        {
+                            "BannerBitmap"
+                            {
+                            "Name" = "8:BannerBitmap"
+                            "DisplayName" = "8:#1001"
+                            "Description" = "8:#1101"
+                            "Type" = "3:8"
+                            "ContextData" = "8:Bitmap"
+                            "Attributes" = "3:4"
+                            "Setting" = "3:1"
+                            "UsePlugInResources" = "11:TRUE"
+                            }
+                            "InstallAllUsersVisible"
+                            {
+                            "Name" = "8:InstallAllUsersVisible"
+                            "DisplayName" = "8:#1059"
+                            "Description" = "8:#1159"
+                            "Type" = "3:5"
+                            "ContextData" = "8:1;True=1;False=0"
+                            "Attributes" = "3:0"
+                            "Setting" = "3:0"
+                            "Value" = "3:0"
+                            "DefaultValue" = "3:1"
+                            "UsePlugInResources" = "11:TRUE"
+                            }
+                        }
+                    }
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_FD94A7C295C645CF8946B9E86C7AA975"
+                    {
+                    "Sequence" = "3:100"
+                    "DisplayName" = "8:Welcome"
+                    "UseDynamicProperties" = "11:TRUE"
+                    "IsDependency" = "11:FALSE"
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdWelcomeDlg.wid"
+                        "Properties"
+                        {
+                            "BannerBitmap"
+                            {
+                            "Name" = "8:BannerBitmap"
+                            "DisplayName" = "8:#1001"
+                            "Description" = "8:#1101"
+                            "Type" = "3:8"
+                            "ContextData" = "8:Bitmap"
+                            "Attributes" = "3:4"
+                            "Setting" = "3:1"
+                            "UsePlugInResources" = "11:TRUE"
+                            }
+                            "CopyrightWarning"
+                            {
+                            "Name" = "8:CopyrightWarning"
+                            "DisplayName" = "8:#1002"
+                            "Description" = "8:#1102"
+                            "Type" = "3:3"
+                            "ContextData" = "8:"
+                            "Attributes" = "3:0"
+                            "Setting" = "3:2"
+                            "Value" = "8:Avida comes with ABSOLUTELY NO WARRANTY; This is free software, and you are welcome to redistribute it under certain conditions. See the README for details."
+                            "DefaultValue" = "8:#1202"
+                            "UsePlugInResources" = "11:TRUE"
+                            }
+                            "Welcome"
+                            {
+                            "Name" = "8:Welcome"
+                            "DisplayName" = "8:#1003"
+                            "Description" = "8:#1103"
+                            "Type" = "3:3"
+                            "ContextData" = "8:"
+                            "Attributes" = "3:0"
+                            "Setting" = "3:1"
+                            "Value" = "8:#1203"
+                            "DefaultValue" = "8:#1203"
+                            "UsePlugInResources" = "11:TRUE"
+                            }
+                        }
+                    }
+                }
+            }
+            "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_9A8C296573384A7AB7AFEDE443B30C8F"
+            {
+            "UseDynamicProperties" = "11:FALSE"
+            "IsDependency" = "11:FALSE"
+            "SourcePath" = "8:<VsdDialogDir>\\VsdUserInterface.wim"
+            }
+            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_9D1BBA19807A4BE6B05AAD5F1E976767"
+            {
+            "Name" = "8:#1901"
+            "Sequence" = "3:1"
+            "Attributes" = "3:2"
+                "Dialogs"
+                {
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_0458C5195EF247469F7FE3D45BB29FA0"
+                    {
+                    "Sequence" = "3:100"
+                    "DisplayName" = "8:Progress"
+                    "UseDynamicProperties" = "11:TRUE"
+                    "IsDependency" = "11:FALSE"
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdProgressDlg.wid"
+                        "Properties"
+                        {
+                            "BannerBitmap"
+                            {
+                            "Name" = "8:BannerBitmap"
+                            "DisplayName" = "8:#1001"
+                            "Description" = "8:#1101"
+                            "Type" = "3:8"
+                            "ContextData" = "8:Bitmap"
+                            "Attributes" = "3:4"
+                            "Setting" = "3:1"
+                            "UsePlugInResources" = "11:TRUE"
+                            }
+                            "ShowProgress"
+                            {
+                            "Name" = "8:ShowProgress"
+                            "DisplayName" = "8:#1009"
+                            "Description" = "8:#1109"
+                            "Type" = "3:5"
+                            "ContextData" = "8:1;True=1;False=0"
+                            "Attributes" = "3:0"
+                            "Setting" = "3:0"
+                            "Value" = "3:1"
+                            "DefaultValue" = "3:1"
+                            "UsePlugInResources" = "11:TRUE"
+                            }
+                        }
+                    }
+                }
+            }
+            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_9DEC95A235B5480D93B79FDD62309A55"
+            {
+            "Name" = "8:#1901"
+            "Sequence" = "3:2"
+            "Attributes" = "3:2"
+                "Dialogs"
+                {
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_600BB19FF0DE4BA88E15AD669FF1E70C"
+                    {
+                    "Sequence" = "3:100"
+                    "DisplayName" = "8:Progress"
+                    "UseDynamicProperties" = "11:TRUE"
+                    "IsDependency" = "11:FALSE"
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminProgressDlg.wid"
+                        "Properties"
+                        {
+                            "BannerBitmap"
+                            {
+                            "Name" = "8:BannerBitmap"
+                            "DisplayName" = "8:#1001"
+                            "Description" = "8:#1101"
+                            "Type" = "3:8"
+                            "ContextData" = "8:Bitmap"
+                            "Attributes" = "3:4"
+                            "Setting" = "3:1"
+                            "UsePlugInResources" = "11:TRUE"
+                            }
+                            "ShowProgress"
+                            {
+                            "Name" = "8:ShowProgress"
+                            "DisplayName" = "8:#1009"
+                            "Description" = "8:#1109"
+                            "Type" = "3:5"
+                            "ContextData" = "8:1;True=1;False=0"
+                            "Attributes" = "3:0"
+                            "Setting" = "3:0"
+                            "Value" = "3:1"
+                            "DefaultValue" = "3:1"
+                            "UsePlugInResources" = "11:TRUE"
+                            }
+                        }
+                    }
+                }
+            }
+            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_DF090E997E5C4134A2BB86830606612D"
+            {
+            "Name" = "8:#1902"
+            "Sequence" = "3:1"
+            "Attributes" = "3:3"
+                "Dialogs"
+                {
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_763450F1A75E43F0AB47BB75073C8C7C"
+                    {
+                    "Sequence" = "3:100"
+                    "DisplayName" = "8:Finished"
+                    "UseDynamicProperties" = "11:TRUE"
+                    "IsDependency" = "11:FALSE"
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdFinishedDlg.wid"
+                        "Properties"
+                        {
+                            "BannerBitmap"
+                            {
+                            "Name" = "8:BannerBitmap"
+                            "DisplayName" = "8:#1001"
+                            "Description" = "8:#1101"
+                            "Type" = "3:8"
+                            "ContextData" = "8:Bitmap"
+                            "Attributes" = "3:4"
+                            "Setting" = "3:1"
+                            "UsePlugInResources" = "11:TRUE"
+                            }
+                            "UpdateText"
+                            {
+                            "Name" = "8:UpdateText"
+                            "DisplayName" = "8:#1058"
+                            "Description" = "8:#1158"
+                            "Type" = "3:15"
+                            "ContextData" = "8:"
+                            "Attributes" = "3:0"
+                            "Setting" = "3:1"
+                            "Value" = "8:#1258"
+                            "DefaultValue" = "8:#1258"
+                            "UsePlugInResources" = "11:TRUE"
+                            }
+                        }
+                    }
+                }
+            }
+            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_EAAFB05E65C14894A0A8D5CD4B31273C"
+            {
+            "Name" = "8:#1902"
+            "Sequence" = "3:2"
+            "Attributes" = "3:3"
+                "Dialogs"
+                {
+                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_9BCDEB69C74848A2B74598B0D44612E3"
+                    {
+                    "Sequence" = "3:100"
+                    "DisplayName" = "8:Finished"
+                    "UseDynamicProperties" = "11:TRUE"
+                    "IsDependency" = "11:FALSE"
+                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminFinishedDlg.wid"
+                        "Properties"
+                        {
+                            "BannerBitmap"
+                            {
+                            "Name" = "8:BannerBitmap"
+                            "DisplayName" = "8:#1001"
+                            "Description" = "8:#1101"
+                            "Type" = "3:8"
+                            "ContextData" = "8:Bitmap"
+                            "Attributes" = "3:4"
+                            "Setting" = "3:1"
+                            "UsePlugInResources" = "11:TRUE"
+                            }
+                        }
+                    }
+                }
+            }
+        }
+        "MergeModule"
+        {
+        }
+        "ProjectOutput"
+        {
+            "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_3547E7E10C78406791D4C46B86EB90D6"
+            {
+            "SourcePath" = "8:..\\Release\\Avida.exe"
+            "TargetName" = "8:"
+            "Tag" = "8:"
+            "Folder" = "8:_F4DE2B307FF54EF19010CEB8ADB3BBF2"
+            "Condition" = "8:"
+            "Transitive" = "11:FALSE"
+            "Vital" = "11:TRUE"
+            "ReadOnly" = "11:FALSE"
+            "Hidden" = "11:FALSE"
+            "System" = "11:FALSE"
+            "Permanent" = "11:FALSE"
+            "SharedLegacy" = "11:FALSE"
+            "PackageAs" = "3:1"
+            "Register" = "3:1"
+            "Exclude" = "11:FALSE"
+            "IsDependency" = "11:FALSE"
+            "IsolateTo" = "8:"
+            "ProjectOutputGroupRegister" = "3:1"
+            "OutputConfiguration" = "8:"
+            "OutputGroupCanonicalName" = "8:Built"
+            "OutputProjectGuid" = "8:{E1C1D683-833F-40D9-A952-CEC54FE40EFC}"
+            "ShowKeyOutput" = "11:TRUE"
+                "ExcludeFilters"
+                {
+                }
+            }
+        }
+        "VJSharpPlugin"
+        {
+        }
+    }
+}

Added: trunk/Installer/README.txt
===================================================================
--- trunk/Installer/README.txt	2007-02-25 19:53:04 UTC (rev 1365)
+++ trunk/Installer/README.txt	2007-02-25 23:47:21 UTC (rev 1366)
@@ -0,0 +1,301 @@
+Avida 2.6
+----------------------------------------------------------------------
+Digital Evolution Laboratory at Michigan State University
+
+
+
+Copyright 1999-2007 Michigan State University. All rights reserved.
+Copyright 1993-2001 California Institute of Technology.
+
+
+This program 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 of the License.
+
+This program 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.
+
+
+
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS

Modified: trunk/source/defs.h
===================================================================
--- trunk/source/defs.h	2007-02-25 19:53:04 UTC (rev 1365)
+++ trunk/source/defs.h	2007-02-25 23:47:21 UTC (rev 1366)
@@ -11,7 +11,7 @@
 #ifndef defs_h
 #define defs_h
 
-#define VERSION "2.6.1"
+#define VERSION "2.6.2"
 #define VERSION_TAG "Jedi"
 
 // -= Various view modes

Modified: trunk/source/main/cTaskLib.cc
===================================================================
--- trunk/source/main/cTaskLib.cc	2007-02-25 19:53:04 UTC (rev 1365)
+++ trunk/source/main/cTaskLib.cc	2007-02-25 23:47:21 UTC (rev 1366)
@@ -421,8 +421,8 @@
 void cTaskLib::NewTask(const cString & name, const cString & desc,
 					   tTaskTest task_fun, int reqs, const cString & info)
 {
-  if (reqs & REQ_NEIGHBOR_INPUT == true) use_neighbor_input = true;
-  if (reqs & REQ_NEIGHBOR_OUTPUT == true) use_neighbor_output = true;
+  if (reqs & REQ_NEIGHBOR_INPUT) use_neighbor_input = true;
+  if (reqs & REQ_NEIGHBOR_OUTPUT) use_neighbor_output = true;
   
   const int id = task_array.GetSize();
   task_array.Resize(id+1);

Modified: trunk/source/main/cWorld.cc
===================================================================
--- trunk/source/main/cWorld.cc	2007-02-25 19:53:04 UTC (rev 1365)
+++ trunk/source/main/cWorld.cc	2007-02-25 23:47:21 UTC (rev 1366)
@@ -25,18 +25,20 @@
 
 cWorld::~cWorld()
 {
-  m_data_mgr->FlushAll();
-
   // m_actlib is not owned by cWorld, DO NOT DELETE
   delete m_analyze;
-  delete m_conf;
-  delete m_data_mgr;
+  delete m_pop;
+  delete m_class_mgr;
   delete m_env;
   delete m_event_list;
   delete m_hw_mgr;
-  delete m_pop;
   delete m_stats;
 
+  m_data_mgr->FlushAll();
+  delete m_data_mgr;
+
+  delete m_conf;
+
   // cleanup driver object, if needed
   if (m_own_driver) delete m_driver;
 }

Added: trunk/source/platform/msvc2005/pdcurses/curses.h
===================================================================
--- trunk/source/platform/msvc2005/pdcurses/curses.h	2007-02-25 19:53:04 UTC (rev 1365)
+++ trunk/source/platform/msvc2005/pdcurses/curses.h	2007-02-25 23:47:21 UTC (rev 1366)
@@ -0,0 +1,1656 @@
+/************************************************************************ 
+ * This file is part of PDCurses. PDCurses is public domain software;	*
+ * you may use it for any purpose. This software is provided AS IS with	*
+ * NO WARRANTY whatsoever.						*
+ *									*
+ * If you use PDCurses in an application, an acknowledgement would be	*
+ * appreciated, but is not mandatory. If you make corrections or	*
+ * enhancements to PDCurses, please forward them to the current		*
+ * maintainer for the benefit of other users.				*
+ *									*
+ * No distribution of modified PDCurses code may be made under the name	*
+ * "PDCurses", except by the current maintainer. (Although PDCurses is	*
+ * public domain, the name is a trademark.)				*
+ *									*
+ * See the file maintain.er for details of the current maintainer.	*
+ ************************************************************************/
+
+/* $Id: curses.h,v 1.163 2006/03/30 03:28:18 wmcbrine Exp $ */
+
+/*----------------------------------------------------------------------*
+ *				PDCurses				*
+ *----------------------------------------------------------------------*/
+
+#ifndef __PDCURSES__
+#define	__PDCURSES__ 1
+
+/*man-start**************************************************************
+
+PDCurses definitions list:  (Only define those needed)
+
+	DOS		True if compiling for DOS.
+	OS2		True if compiling for OS/2.
+	WIN32		True if compiling for Windows.
+	XCURSES		True if compiling for X11.
+	MSC		True if using a Microsoft compiler.
+	NOMACROS	Don't use (most) macros in place of functions.
+
+PDCurses portable platform definitions list:
+
+	PDC_BUILD	Defines API build version.
+	PDCURSES	Enables access to PDCurses-only routines.
+	XOPEN		Always true.
+	SYSVcurses	True if you are compiling for SYSV portability.
+	BSDcurses	True if you are compiling for BSD portability.
+
+**man-end****************************************************************/
+
+#define PDC_BUILD 2801
+#define	PDCURSES	1	/* PDCurses-only routines	*/
+#define	XOPEN		1	/* X/Open Curses routines	*/
+#define	SYSVcurses	1	/* System V Curses routines	*/
+#define	BSDcurses	1	/* BSD Curses routines		*/
+#define	CHTYPE_LONG	1	/* size of chtype; long		*/
+
+/*----------------------------------------
+ *	BORLAND COMPILERS	Turbo C[++], Borland C[++]
+ *
+ *	Borland definitions:
+ *		DOS
+ *		OS2
+ *
+ *		__TURBOC__, __MSDOS__,
+ *		__OS2__ and __WIN32__
+ *		are predefined by compiler.
+ */
+
+#ifdef __TURBOC__		/* Borland gives defines this as a value*/
+#  ifdef __MSDOS__
+#    define DOS 6		/* Major release of DOS supported	*/
+#  endif
+#  ifdef __OS2__
+#    define OS2 3		/* Major release of OS/2 supported	*/
+#  endif
+#  ifdef __WIN32__
+#    ifndef WIN32
+#      define WIN32 1
+#    endif
+#  endif
+#  ifndef HAVE_VSSCANF
+#    define HAVE_VSSCANF			/* have vsscanf() */
+#  endif
+#endif
+
+
+/*----------------------------------------
+ *	METAWARE COMPILERS	High C
+ *
+ *	Metaware definitions:
+ *		DOS
+ */
+
+#ifdef __HIGHC__
+#  pragma off(prototype_override_warnings)
+#  ifdef __MSDOS__
+#    define DOS 6		/* Major release of DOS supported	*/
+#    include <bios.h>
+#  endif
+#endif
+
+/*----------------------------------------
+ *	MICROSOFT COMPILERS	MSC
+ *
+ *	Microsoft definitions:
+ *		MSC
+ *		DOS || OS2
+ */
+
+#ifdef _MSC_VER					/* defined by compiler	*/
+#  define MSC 1
+#  ifdef __OS2__		/* You will have to define in makefile	*/
+#    define USE_OS2_H 1		/* Use the os2.h for the compiler	*/
+#    define OS2 3		/* Major release of OS/2 supported	*/
+#    define FARKeyword far
+#    define APIRET USHORT
+#  else				/* no __OS2__ define, so assume DOS	*/
+#    ifdef _WIN32	
+#      ifndef WIN32
+#        define WIN32
+#      endif
+#    else	
+#      define DOS 6		/* Major release of DOS supported	*/
+#      include <bios.h>
+#    endif
+#  endif
+#endif
+
+/*----------------------------------------
+ *	MICROSOFT QUICK C COMPILERS	QC
+ *
+ */
+
+#ifdef _QC					/* defined by compiler	*/
+#  define MSC 1
+#  define DOS 6			/* Major release of DOS supported	*/
+#  include <bios.h>
+#endif
+
+/*----------------------------------------
+ *	TOPSPEED compilers	TSC
+ *
+ *	TOPSPEED definitions:
+ *		DOS || OS2
+ */
+
+#ifdef __TSC__			/* You may have to define in makefile	*/
+#  ifdef __OS2__
+#    define OS2 3		/* Major release of OS/2 supported	*/
+#  endif
+#endif
+
+/*----------------------------------------
+ *	IBM C Set/2 Compiler	CSET2
+ *
+ *	IBM definitions:
+ *		OS2
+ */
+
+#ifdef __IBMC__
+#  ifdef __OS2__
+#    define OS2 3		/* Major release of OS/2 supported	*/
+#  endif
+#endif
+
+/*----------------------------------------
+ *	GNU compilers		emx
+ *
+ *	emx definitions:
+ *		OS2
+ */
+
+#ifdef __EMX__			/* You may have to define in makefile	*/
+#  ifndef __OS2__
+#    define __OS2__		/* EMX does not define this :-( 	*/
+#  endif
+#  define OS2 3			/* Major release of OS/2 supported	*/
+#  define CURSES__32BIT__
+#  ifndef HAVE_UNISTD_H
+#    define HAVE_UNISTD_H			/* have <unistd.h> */
+#  endif
+#  ifndef HAVE_VSSCANF
+#    define HAVE_VSSCANF			/* have vsscanf() */
+#  endif
+#  ifdef EMXVIDEO
+#    include <stdlib.h>
+#    include <sys/video.h>
+#  endif
+#endif
+
+/*----------------------------------------
+ *	GNU compilers		djgpp
+ *
+ *	djgpp definitions:
+ *		DOS
+ */
+
+#ifdef __DJGPP__		/* You may have to define in makefile	*/
+#  define DOS 6
+#  ifndef HAVE_UNISTD_H
+#    define HAVE_UNISTD_H			/* have <unistd.h> */
+#  endif
+#  ifndef HAVE_VSSCANF
+#    define HAVE_VSSCANF			/* have vsscanf() */
+#  endif
+#  ifndef HAVE_USLEEP
+#    define HAVE_USLEEP				/* have usleep() */
+#  endif
+#endif
+
+
+/*----------------------------------------
+ *	GNU compilers	Cygnus Win32
+ *
+ *	cygnus definitions:
+ *		WIN32
+ */
+
+#ifdef __CYGWIN32__		/* You may have to define in makefile	*/
+#  if !defined(WIN32) && !defined(XCURSES)
+#    define WIN32
+#  endif
+#  ifndef HAVE_UNISTD_H
+#    define HAVE_UNISTD_H			/* have <unistd.h> */
+#  endif
+#  ifndef HAVE_VSSCANF
+#    define HAVE_VSSCANF			/* have vsscanf() */
+#  endif
+#  ifndef HAVE_VSNPRINTF
+#    define HAVE_VSNPRINTF
+#  endif
+#endif
+
+/*----------------------------------------
+ *	GNU compilers	Ming Win32
+ *
+ *	Ming definitions:
+ *		WIN32
+ */
+
+#ifdef __MINGW32__
+#  ifndef WIN32
+#    define WIN32
+#  endif
+#  ifndef HAVE_VSSCANF
+#    define HAVE_VSSCANF			/* have vsscanf() */
+#  endif
+#  ifndef HAVE_VSNPRINTF
+#    define HAVE_VSNPRINTF
+#  endif
+#endif
+
+/*----------------------------------------
+ *	LCC WIN32
+ *
+ */
+
+#ifdef __LCC__		/* should already be defined by the compiler	*/
+#  ifndef WIN32
+#    define WIN32
+#  endif
+#  ifndef HAVE_VSNPRINTF
+#    define HAVE_VSNPRINTF
+#  endif
+#endif
+
+/*----------------------------------------
+ *	Watcom C/C++ 10.6 compiler
+ *
+ *	WATCOM definitions:
+ *		OS2
+ *		WIN32
+ */
+
+#ifdef __WATCOMC__
+#  if defined(__DOS__) || defined(__DOS4G__)
+#    define DOS 7		/* Major release of DOS supported	*/
+#    ifdef __386__
+#      define int86 int386
+#      define int86x int386x
+#    endif
+#  endif
+#  if defined(__OS2__) || defined(__OS2V2__)
+#    define OS2 3		/* Major release of OS/2 supported	*/
+#    define CURSES__32BIT__
+#  endif
+#  if defined(__NT__) || defined(WIN32)
+#    ifndef WIN32
+#      define WIN32
+#    endif
+#  endif
+#  ifndef HAVE_VSSCANF
+#    define HAVE_VSSCANF			/* have vsscanf() */
+#  endif
+#  ifndef HAVE_VSNPRINTF
+#    define HAVE_VSNPRINTF
+#  endif
+#endif
+
+/*----------------------------------------
+ *	MicroWay NDP C/C++ 386 4.2.0 compiler
+ */
+
+#ifdef MX386
+#  include <bios.h>
+#  ifdef DOS
+#    define MK_FP(seg,ofs)	( (((int) (seg)) << 4) + ((int) (ofs)) )
+#    ifdef __i860
+typedef void _int;
+#    else
+typedef int  _int;
+#    endif
+#  endif
+#endif
+
+/*----------------------------------------
+ *	HI-TECH COMPILERS Pacific C
+ *
+ *	Hi-Tech definitions:
+ *
+ *		__PACIFIC__, DOS
+ *		are predefined by compiler.
+ */
+
+#ifdef __PACIFIC__
+#  include <ctype.h>
+#  ifndef __SMALL__
+#    define __SMALL__
+#  endif
+#  ifndef HAVE_VSSCANF
+#    define HAVE_VSSCANF
+#  endif
+#endif
+
+/*----------------------------------------------------------------------*/
+
+#if defined(WIN32) && defined(INCLUDE_WINDOWS_H)
+# include <windows.h>
+# ifdef MOUSE_MOVED
+#  undef MOUSE_MOVED
+# endif
+#endif
+
+#if defined(OS2) && !defined(EMXVIDEO)
+# define INCL_VIO
+# define INCL_KBD
+# include <os2.h>
+#endif
+
+/* If it's not DOS, or OS/2, or Windows, it must be XCurses */
+
+#if !defined(DOS) && !defined(OS2) && !defined(WIN32)
+# ifndef XCURSES
+#  define XCURSES
+# endif
+#endif
+
+#include <stdarg.h>
+#include <stdio.h>		/* Required by X/Open usage below	*/
+
+#if defined(__cplusplus) || defined(__cplusplus__) || defined(__CPLUSPLUS)
+extern "C"
+{
+# define bool _bool
+#endif
+
+/*----------------------------------------------------------------------
+ *
+ *	PDCurses Manifest Constants
+ *
+ */
+
+#ifndef FALSE			/* booleans		 */
+#  define	FALSE	0
+#endif
+#ifndef	TRUE			/* booleans		 */
+#  define	TRUE	1
+#endif
+#ifndef	NULL
+#  define	NULL	(void*)0	/* Null pointer		 */
+#endif
+#ifndef	ERR
+#  define	ERR	(-1)		/* general error flag	 */
+#endif
+#ifndef	OK
+#  define	OK	0		/* general OK flag	 */
+#endif
+
+
+/*----------------------------------------------------------------------
+ *
+ *	PDCurses Type Declarations
+ *
+ */
+
+typedef unsigned char bool;	/* PDCurses Boolean type	*/
+
+#ifdef CHTYPE_LONG
+# if _LP64
+typedef unsigned int chtype;
+# else
+typedef unsigned long chtype;	/* 16-bit attr + 16-bit char	*/
+# endif
+#else
+typedef unsigned short chtype;	/* 8-bit attr + 8-bit char	*/
+#endif
+
+/*----------------------------------------------------------------------
+ * This defines a new type for attributes.
+ *
+ */
+
+typedef chtype attr_t;
+
+/*----------------------------------------------------------------------
+ * Define our mouse interface - same as SYSVR4 (with extensions)
+ */
+
+typedef struct
+{
+	int x;           /* absolute column, 0 based, measured in characters */
+	int y;           /* absolute row, 0 based, measured in characters */
+	short button[3]; /* state of each button */
+	int changes;     /* flags indicating what has changed with the mouse */
+} MOUSE_STATUS;
+
+
+#define BUTTON_RELEASED		0000
+#define BUTTON_PRESSED		0001
+#define BUTTON_CLICKED		0002
+#define BUTTON_DOUBLE_CLICKED	0003
+#define BUTTON_TRIPLE_CLICKED	0004
+#define BUTTON_MOVED		0005	/* PDCurses enhancement */
+#define WHEEL_SCROLLED		0006	/* PDCurses enhancement */
+#define BUTTON_ACTION_MASK	0007	/* PDCurses enhancement */
+#define BUTTON_SHIFT		0010	/* PDCurses enhancement */
+#define BUTTON_CONTROL		0020	/* PDCurses enhancement */
+#define BUTTON_ALT		0040	/* PDCurses enhancement */
+#define BUTTON_MODIFIER_MASK	0070	/* PDCurses enhancement */
+
+#define MOUSE_X_POS		(Mouse_status.x)
+#define MOUSE_Y_POS		(Mouse_status.y)
+/*
+ * Bits associated with the .changes field:
+ *   3         2         1         0
+ * 210987654321098765432109876543210
+ *                                 1 <- button 1 has changed
+ *                                10 <- button 2 has changed
+ *                               100 <- button 3 has changed
+ *                              1000 <- mouse has moved
+ *                             10000 <- mouse position report
+ *                            100000 <- mouse wheel up
+ *                           1000000 <- mouse wheel down
+ */
+#define PDC_MOUSE_MOVED		 8
+#define PDC_MOUSE_POSITION	16
+#define PDC_MOUSE_WHEEL_UP	32
+#define PDC_MOUSE_WHEEL_DOWN	64
+#define A_BUTTON_CHANGED	(Mouse_status.changes & 7)
+#define MOUSE_MOVED		(Mouse_status.changes & PDC_MOUSE_MOVED)
+#define MOUSE_POS_REPORT	(Mouse_status.changes & PDC_MOUSE_POSITION)
+#define BUTTON_CHANGED(x)	(Mouse_status.changes & (1 << ((x) - 1)))
+#define BUTTON_STATUS(x)	(Mouse_status.button[(x) - 1])
+#define MOUSE_WHEEL_UP		(Mouse_status.changes & PDC_MOUSE_WHEEL_UP)
+#define MOUSE_WHEEL_DOWN	(Mouse_status.changes & PDC_MOUSE_WHEEL_DOWN)
+
+/* mouse bit-masks */
+#define BUTTON1_RELEASED	000000000001L
+#define BUTTON1_PRESSED		000000000002L
+#define BUTTON1_CLICKED		000000000004L
+#define BUTTON1_DOUBLE_CLICKED	000000000010L
+#define BUTTON1_TRIPLE_CLICKED	000000000020L
+#define BUTTON1_MOVED		000000000020L /* PDCurses enhancement */
+#define BUTTON2_RELEASED	000000000040L
+#define BUTTON2_PRESSED		000000000100L
+#define BUTTON2_CLICKED		000000000200L
+#define BUTTON2_DOUBLE_CLICKED	000000000400L
+#define BUTTON2_TRIPLE_CLICKED	000000001000L
+#define BUTTON2_MOVED		000000001000L /* PDCurses enhancement */
+#define BUTTON3_RELEASED	000000002000L
+#define BUTTON3_PRESSED		000000004000L
+#define BUTTON3_CLICKED		000000010000L
+#define BUTTON3_DOUBLE_CLICKED	000000020000L
+#define BUTTON3_TRIPLE_CLICKED	000000040000L
+#define BUTTON3_MOVED		000000040000L /* PDCurses enhancement */
+#define MOUSE_WHEEL_SCROLL	000000100000L /* PDCurses enhancement */
+#define ALL_MOUSE_EVENTS	000000777777L
+#define BUTTON_MODIFIER_SHIFT	000001000000L /* PDCurses enhancement */
+#define BUTTON_MODIFIER_CONTROL 000002000000L /* PDCurses enhancement */
+#define BUTTON_MODIFIER_ALT	000004000000L /* PDCurses enhancement */
+#define REPORT_MOUSE_POSITION	000010000000L
+
+/*----------------------------------------------------------------------
+ *
+ *	PDCurses Structure Definitions:
+ *
+ */
+
+typedef struct _win		/* definition of a window	*/
+{
+	int	_cury;		/* current pseudo-cursor	*/
+	int	_curx;
+	int	_maxy;		/* max window coordinates	*/
+	int	_maxx;
+	int	_pmaxy;		/* max physical size		*/
+	int	_pmaxx;
+	int	_begy;		/* origin on screen		*/
+	int	_begx;
+	int	_lastpy;	/* last y coordinate of upper left
+				   pad display area */
+	int	_lastpx;	/* last x coordinate of upper left
+				   pad display area */
+	int	_lastsy1;	/* last upper y coordinate of screen
+				   window for pad */
+	int	_lastsx1;	/* last upper x coordinate of screen
+				   window for pad */
+	int	_lastsy2;	/* last lower y coordinate of screen
+				   window for pad */
+	int	_lastsx2;	/* last lower x coordinate of screen
+				   window for pad */
+	int	_flags;		/* window properties		*/
+	chtype	_attrs;		/* standard attributes and colors */
+	chtype	_bkgd;		/* background, normally blank	*/
+	int	_tabsize;	/* tab character size		*/
+	bool	_clear;		/* causes clear at next refresh	*/
+	bool	_leaveit;	/* leaves cursor where it is	*/
+	bool	_scroll;	/* allows window scrolling	*/
+	bool	_nodelay;	/* input character wait flag	*/
+	bool	_immed;		/* immediate update flag	*/
+	bool	_sync;		/* synchronise window ancestors	*/
+	bool	_use_keypad;	/* flags keypad key mode active	*/
+	chtype	**_y;		/* pointer to line pointer array   */
+	int	*_firstch;	/* first changed character in line */
+	int	*_lastch;	/* last changed character in line  */
+	int	_tmarg;		/* top of scrolling region	*/
+	int	_bmarg;		/* bottom of scrolling region	*/
+	int	_delayms;	/* milliseconds of delay for getch() */
+	int	_parx, _pary;	/* coords relative to parent (0,0) */
+	struct	_win *_parent;	/* subwin's pointer to parent win  */
+} WINDOW;
+
+
+
+/*----------------------------------------------------------------------
+ *
+ *	Private structures that are necessary for correct
+ *	macro construction.
+ *
+ */
+
+typedef struct			/* structure for ripped off lines */
+{
+	int line;
+	int (*init)(WINDOW *, int);
+} RIPPEDOFFLINE;
+
+
+typedef struct
+{
+	bool	alive;		/* if initscr() called			*/
+	bool	autocr;		/* if cr -> lf				*/
+	bool	cbreak;		/* if terminal unbuffered		*/
+	bool	echo;		/* if terminal echo			*/
+	bool	raw_inp;	/* raw input mode (v. cooked input)	*/
+	bool	raw_out;	/* raw output mode (7 v. 8 bits)	*/
+	bool	orgcbr;		/* original MSDOS ^-BREAK setting	*/
+	bool	visible_cursor; /* TRUE if cursor is visible		*/
+	bool	audible;	/* FALSE if the bell is visual		*/
+	bool	mono;		/* TRUE if current screen is mono	*/
+	bool	sizeable;	/* TRUE if adapter is resizeable	*/
+	bool	resized;	/* TRUE if TERM has been resized	*/
+	bool	shell;		/* TRUE if reset_prog_mode() needs
+				   to be called.			*/
+	bool	orig_attr;	/* TRUE if we have the original colors	*/
+	short	orig_fore;	/* Original screen foreground color	*/
+	short	orig_back;	/* Original screen foreground color	*/
+	chtype	blank;		/* Background character			*/
+	int	cursrow;	/* position of physical cursor		*/
+	int	curscol;	/* position of physical cursor		*/
+	int	cursor;		/* Current Cursor definition		*/
+	int	visibility;	/* Visibility of cursor			*/
+	int	orig_emulation; /* Original cursor emulation value	*/
+	int	orig_cursor;	/* Original cursor size			*/
+	int	font;		/* default font size			*/
+	int	orig_font;	/* Original font size			*/
+	int	lines;		/* New value for LINES			*/
+	int	cols;		/* New value for COLS			*/
+	unsigned long _trap_mbe;	/* trap these mouse button events */
+	unsigned long _map_mbe_to_key;	/* map mouse buttons to slk	*/
+	int	slklines;		/* Lines in use by slk_init()	*/
+	WINDOW *slk_winptr;		/* window for slk		*/
+	int	linesrippedoff;		/* Lines ripped off via ripoffline() */
+	int	linesrippedoffontop;	/* Lines ripped off on 
+					   top via ripoffline()		*/
+	int	delaytenths;		/* 1/10ths second to wait block
+					   getch() for			*/
+	bool	_preserve;		/* TRUE if screen background
+					   to be preserved		*/
+	int	_restore;		/* specifies if screen background
+					   to be restored, and how	*/
+	bool	save_key_modifiers;	/* TRUE if each key modifiers saved
+					   with each key press		*/
+	bool	return_key_modifiers;	/* TRUE if modifier keys are
+					   returned as "real" keys	*/
+
+#ifdef OS2
+# ifdef EMXVIDEO			/* nop if using EMX builtins	*/
+	int	tahead; 		/* Type-ahead value		*/
+	int	adapter;		/* Screen type			*/
+# else
+	VIOMODEINFO scrnmode;		/* default screen mode		*/
+	VIOCONFIGINFO adapter;		/* Screen type			*/
+	KBDINFO kbdinfo;		/* keyboard info		*/
+# endif
+#else
+	int	adapter;		/* Screen type			*/
+#endif
+
+#ifdef DOS
+	int	scrnmode;	/* default screen mode			*/
+	bool	direct_video;	/* Allow Direct Screen Memory writes	*/
+	int	video_page;	/* Current PC video page		*/
+	unsigned video_seg;	/* video base segment			*/
+	unsigned video_ofs;	/* video base offset			*/
+	bool	bogus_adapter;	/* TRUE if adapter has insane values	*/
+#endif
+
+#ifdef XCURSES
+	int	XcurscrSize;	/* size of Xcurscr shared memory block	*/
+	bool	sb_on;
+	int	sb_viewport_y;
+	int	sb_viewport_x;
+	int	sb_total_y;
+	int	sb_total_x;
+	int	sb_cur_y;
+	int	sb_cur_x;
+#endif
+	short	line_color;	/* Color of line attributes - default white */
+
+} SCREEN;
+
+
+/* external variables */
+#ifdef PDC_DLL_BUILD
+# ifndef CURSES_LIBRARY
+__declspec(dllimport)	int		LINES;
+__declspec(dllimport)	int		COLS;
+__declspec(dllimport)	WINDOW		*stdscr;
+__declspec(dllimport)	WINDOW		*curscr;
+__declspec(dllimport)	SCREEN		*SP;
+__declspec(dllimport)	int		use_emalloc;
+__declspec(dllimport)	MOUSE_STATUS	Mouse_status;
+__declspec(dllimport)	int		COLORS;
+__declspec(dllimport)	int		COLOR_PAIRS;
+# else
+__declspec(dllexport) extern	int		LINES;
+__declspec(dllexport) extern	int		COLS;
+__declspec(dllexport) extern	WINDOW		*stdscr;
+__declspec(dllexport) extern	WINDOW		*curscr;
+__declspec(dllexport) extern	SCREEN		*SP;
+__declspec(dllexport) extern	int		use_emalloc;
+__declspec(dllexport) extern	MOUSE_STATUS	Mouse_status;
+__declspec(dllexport) extern	int 		COLORS;
+__declspec(dllexport) extern	int		COLOR_PAIRS;
+# endif
+#else
+extern	int		LINES;		/* terminal height		*/
+extern	int		COLS;		/* terminal width		*/
+extern	WINDOW		*stdscr;	/* the default screen window	*/
+extern	WINDOW		*curscr;	/* the current screen image	*/
+extern	SCREEN		*SP;		/* curses variables		*/
+extern	int		use_emalloc;	/* set to use your own malloc	*/
+extern	MOUSE_STATUS	Mouse_status;
+extern	int		COLORS, COLOR_PAIRS;
+#endif
+
+#ifdef CURSES_LIBRARY
+extern	int		_default_lines;	/* For presetting maximum lines	*/
+#endif
+
+
+
+/*man-start**************************************************************
+
+PDCurses Text Attributes:
+
+Originally, PDCurses used a short (16 bits) for its chtype. To include 
+colour, a number of things had to be sacrificed from the strict Unix and 
+System V support. The main problem was fitting all character attributes 
+and colour into an unsigned char (all 8 bits!).
+
+Today, PDCurses by default uses a long (32 bits) for its chtype, as in 
+System V. The short chtype is still available, by undefining CHTYPE_LONG 
+and rebuilding the library.
+
+The following is the structure of a win->_attrs chtype:
+
+short form:
+
+-------------------------------------------------
+|15|14|13|12|11|10| 9| 8| 7| 6| 5| 4| 3| 2| 1| 0|
+-------------------------------------------------
+ colour number |  attrs |   character eg 'a'
+
+The available attribute enhancers are bold, reverse and blink. All other 
+Unix attributes have no effect. The high order char is an index into an 
+array of physical colours (defined in INITPAIR.c). 32 (5 bits) 
+foreground/background colour combinations combined with 8 (3 bits) 
+attribute modifiers are available.
+
+long form:
+
+----------------------------------------------------------------------------
+|31|30|29|28|27|26|25|24|23|22|21|20|19|18|17|16|15|14|13|12|..| 3| 2| 1| 0|
+----------------------------------------------------------------------------
+     colour number      |     modifiers         |      character eg 'a'
+						     (potential for DBCS)
+
+The available attribute modifiers are bold, underline, invisible, 
+protect, reverse and blink. 256 (8 bits) colour pairs, 8 bits for 
+modifiers, and 16 bits for character data. (In practice, only 64 colour 
+pairs are available, and only the lower 8 bits of character data are 
+currently used.)
+
+**man-end****************************************************************/
+
+/*** Video attribute macros ***/
+
+#ifdef CHTYPE_LONG
+# define A_NORMAL	(chtype)0x00000000
+# define A_UNDERLINE	(chtype)0x00100000
+# define A_REVERSE	(chtype)0x00200000
+# define A_BLINK	(chtype)0x00400000
+# define A_BOLD		(chtype)0x00800000
+# define A_RIGHTLINE	(chtype)0x00010000
+# define A_LEFTLINE	(chtype)0x00020000
+# define A_ALTCHARSET	(chtype)0x00040000
+# define A_INVIS	(chtype)0x00080000
+# define A_ATTRIBUTES	(chtype)0xFFFF0000
+# define A_CHARTEXT	(chtype)0x0000FFFF
+# define A_COLOR	(chtype)0xFF000000
+
+# define A_DIM		A_NORMAL
+# define A_ITALIC	A_INVIS
+# define A_STANDOUT	(A_BOLD | A_REVERSE)
+# define A_PROTECT	(A_UNDERLINE | A_LEFTLINE | A_RIGHTLINE)
+
+# define PDC_ATTR_SHIFT	19
+# define PDC_COLOR_SHIFT 24
+#else
+# define A_NORMAL	(chtype)0x0000			/* System V */
+# define A_ALTCHARSET	(chtype)0x0000			/* X/Open   */
+# define A_BLINK	(chtype)0x0400			/* X/Open   */
+# define A_BLANK	(chtype)0x0000			/* X/Open   */
+# define A_BOLD		(chtype)0x0100			/* X/Open   */
+# define A_DIM		(chtype)0x0000			/* X/Open   */
+# define A_PROTECT	(chtype)0x0000			/* X/Open   */
+# define A_REVERSE	(chtype)0x0200			/* X/Open   */
+# define A_STANDOUT	(A_REVERSE | A_BOLD)		/* X/Open   */
+# define A_UNDERLINE	(chtype)0x0000			/* X/Open   */
+# define A_COLOR	(chtype)0xF800			/* System V */
+# define A_CHARTEXT	(chtype)(0xFF)			/* X/Open   */
+# define A_ATTRIBUTES	(chtype)(~A_CHARTEXT)		/* X/Open   */
+
+# define A_LEFTLINE	(chtype)0x0000
+# define A_RIGHTLINE	(chtype)0x0000
+# define A_ITALIC	(chtype)0x0000
+# define A_INVIS	(chtype)0x0000
+
+# define PDC_ATTR_SHIFT	8
+# define PDC_COLOR_SHIFT 11
+#endif
+
+#define CHR_MSK		A_CHARTEXT			/* Obsolete */
+#define ATR_MSK		A_ATTRIBUTES			/* Obsolete */
+#define ATR_NRM		A_NORMAL			/* Obsolete */
+
+/*** Alternate character set macros ***/
+
+/* ALTCHARSET definitions for PC from jshumate at wrdis01.robins.af.mil
+   These match code page 437 and compatible pages (CP850, CP852, etc.) */
+
+/* VT100-compatible symbols -- box chars */
+
+#ifdef XCURSES
+# define ACS_ULCORNER	((chtype)13 | A_ALTCHARSET)
+# define ACS_LLCORNER	((chtype)14 | A_ALTCHARSET)
+# define ACS_URCORNER	((chtype)12 | A_ALTCHARSET)
+# define ACS_LRCORNER	((chtype)11 | A_ALTCHARSET)
+# define ACS_RTEE	((chtype)22 | A_ALTCHARSET)
+# define ACS_LTEE	((chtype)21 | A_ALTCHARSET)
+# define ACS_BTEE	((chtype)23 | A_ALTCHARSET)
+# define ACS_TTEE	((chtype)24 | A_ALTCHARSET)
+# define ACS_HLINE	((chtype)18 | A_ALTCHARSET)
+# define ACS_VLINE	((chtype)25 | A_ALTCHARSET)
+# define ACS_PLUS	((chtype)15 | A_ALTCHARSET)
+#else
+# define ACS_ULCORNER	(chtype)0xda
+# define ACS_LLCORNER	(chtype)0xc0
+# define ACS_URCORNER	(chtype)0xbf
+# define ACS_LRCORNER	(chtype)0xd9
+# define ACS_RTEE	(chtype)0xb4
+# define ACS_LTEE	(chtype)0xc3
+# define ACS_BTEE	(chtype)0xc1
+# define ACS_TTEE	(chtype)0xc2
+# define ACS_HLINE	(chtype)0xc4
+# define ACS_VLINE	(chtype)0xb3
+# define ACS_PLUS	(chtype)0xc5
+#endif
+
+/* VT100-compatible symbols -- other */
+
+#ifdef XCURSES
+# define ACS_S1		((chtype)16 | A_ALTCHARSET)
+# define ACS_S9		((chtype)20 | A_ALTCHARSET)
+# define ACS_DIAMOND	((chtype)1 | A_ALTCHARSET)
+# define ACS_CKBOARD	((chtype)2 | A_ALTCHARSET)
+# define ACS_DEGREE	((chtype)7 | A_ALTCHARSET)
+# define ACS_PLMINUS	((chtype)8 | A_ALTCHARSET)
+# define ACS_BULLET	(chtype)'*'
+#else
+# define ACS_S1		(chtype)0x2d
+# define ACS_S9		(chtype)0x5f
+# define ACS_DIAMOND	((chtype)0x04 | A_ALTCHARSET)
+# define ACS_CKBOARD	(chtype)0xb1
+# define ACS_DEGREE	(chtype)0xf8
+# define ACS_PLMINUS	(chtype)0xf1
+# define ACS_BULLET	(chtype)0xf9
+#endif
+
+/* Teletype 5410v1 symbols -- these are defined in SysV curses, but
+   are not well-supported by most terminals. Stick to VT100 characters
+   for optimum portability. */
+
+#ifdef XCURSES
+# define ACS_LARROW	(chtype)'<'
+# define ACS_RARROW	(chtype)'>'
+# define ACS_DARROW	(chtype)'v'
+# define ACS_UARROW	(chtype)'^'
+# define ACS_BOARD	(chtype)'#'
+# define ACS_LANTERN	(chtype)'#'
+# define ACS_BLOCK	((chtype)0 | A_ALTCHARSET)
+#else
+# define ACS_LARROW	((chtype)0x1b | A_ALTCHARSET)
+# define ACS_RARROW	((chtype)0x1a | A_ALTCHARSET)
+# define ACS_DARROW	((chtype)0x19 | A_ALTCHARSET)
+# define ACS_UARROW	((chtype)0x18 | A_ALTCHARSET)
+# define ACS_BOARD	(chtype)0xb0
+# define ACS_LANTERN	((chtype)0x0f | A_ALTCHARSET)
+# define ACS_BLOCK	(chtype)0xdb
+#endif
+
+/* That goes double for these -- undocumented SysV symbols. Don't use
+   them. Also, the definitions here aren't compatible with as many
+   code pages as those above. */
+
+#ifdef XCURSES
+# define ACS_S3		((chtype)17 | A_ALTCHARSET)
+# define ACS_S7		((chtype)19 | A_ALTCHARSET)
+# define ACS_LEQUAL	((chtype)26 | A_ALTCHARSET)
+# define ACS_GEQUAL	((chtype)27 | A_ALTCHARSET)
+# define ACS_PI		((chtype)28 | A_ALTCHARSET)
+# define ACS_NEQUAL	((chtype)29 | A_ALTCHARSET)
+# define ACS_STERLING	((chtype)30 | A_ALTCHARSET)
+#else
+# define ACS_S3         (chtype)0x2d
+# define ACS_S7         (chtype)0x2d
+# define ACS_LEQUAL     (chtype)0xf3
+# define ACS_GEQUAL     (chtype)0xf2
+# define ACS_PI         (chtype)0xe3
+# define ACS_NEQUAL     (chtype)0xd8
+# define ACS_STERLING   (chtype)0x9c
+#endif
+
+/* Box char aliases */
+
+#define ACS_BSSB	ACS_ULCORNER
+#define ACS_SSBB	ACS_LLCORNER
+#define ACS_BBSS	ACS_URCORNER
+#define ACS_SBBS	ACS_LRCORNER
+#define ACS_SBSS	ACS_RTEE
+#define ACS_SSSB	ACS_LTEE
+#define ACS_SSBS	ACS_BTEE
+#define ACS_BSSS	ACS_TTEE
+#define ACS_BSBS	ACS_HLINE
+#define ACS_SBSB	ACS_VLINE
+#define ACS_SSSS	ACS_PLUS
+
+/*** Color macros ***/
+
+#define COLOR_BLACK	0
+
+#ifdef XCURSES		/* RGB */
+# define COLOR_RED	1
+# define COLOR_GREEN	2
+# define COLOR_BLUE	4
+#else			/* BGR */
+# define COLOR_BLUE	1
+# define COLOR_GREEN	2
+# define COLOR_RED	4
+#endif
+
+#define COLOR_CYAN	(COLOR_BLUE | COLOR_GREEN)
+#define COLOR_MAGENTA	(COLOR_RED | COLOR_BLUE)
+#define COLOR_YELLOW	(COLOR_RED | COLOR_GREEN)
+
+#define COLOR_WHITE	7
+
+/*----------------------------------------------------------------------
+ *
+ *	Function and Keypad Key Definitions.
+ *	Many are just for compatibility.
+ *
+ */
+
+#define KEY_MIN		0x101	/* Minimum curses key value	*/
+#define KEY_BREAK	0x101	/* Not on PC KBD		*/
+#define KEY_DOWN	0x102	/* Down arrow key		*/
+#define KEY_UP		0x103	/* Up arrow key			*/
+#define KEY_LEFT	0x104	/* Left arrow key		*/
+#define KEY_RIGHT	0x105	/* Right arrow key		*/
+#define KEY_HOME	0x106	/* home key			*/
+#define KEY_BACKSPACE	0x107	/* not on pc			*/
+#define KEY_F0		0x108	/* function keys. space for	*/
+#define KEY_F(n)    (KEY_F0+(n))/* 64 keys are reserved.	*/
+#define KEY_DL		0x148	/* delete line			*/
+#define KEY_IL		0x149	/* insert line			*/
+#define KEY_DC		0x14a	/* delete character		*/
+#define KEY_IC		0x14b	/* insert char or enter ins mode*/
+#define KEY_EIC		0x14c	/* exit insert char mode	*/
+#define KEY_CLEAR	0x14d	/* clear screen			*/
+#define KEY_EOS		0x14e	/* clear to end of screen	*/
+#define KEY_EOL		0x14f	/* clear to end of line		*/
+#define KEY_SF		0x150	/* scroll 1 line forward	*/
+#define KEY_SR		0x151	/* scroll 1 line back (reverse)	*/
+#define KEY_NPAGE	0x152	/* next page			*/
+#define KEY_PPAGE	0x153	/* previous page		*/
+#define KEY_STAB	0x154	/* set tab			*/
+#define KEY_CTAB	0x155	/* clear tab			*/
+#define KEY_CATAB	0x156	/* clear all tabs		*/
+#define KEY_ENTER	0x157	/* enter or send (unreliable)	*/
+#define KEY_SRESET	0x158	/* soft/reset (partial/unreliable)*/
+#define KEY_RESET	0x159	/* reset/hard reset (unreliable)*/
+#define KEY_PRINT	0x15a	/* print/copy			*/
+#define KEY_LL		0x15b	/* home down/bottom (lower left)*/
+#define KEY_ABORT	0x15c	/* abort/terminate key (any)	*/
+#define KEY_SHELP	0x15d	/* short help			*/
+#define KEY_LHELP	0x15e	/* long help			*/
+#define KEY_BTAB	0x15f	/* Back tab key			*/
+#define KEY_BEG		0x160	/* beg(inning) key		*/
+#define KEY_CANCEL	0x161	/* cancel key			*/
+#define KEY_CLOSE	0x162	/* close key			*/
+#define KEY_COMMAND	0x163	/* cmd (command) key		*/
+#define KEY_COPY	0x164	/* copy key			*/
+#define KEY_CREATE	0x165	/* create key			*/
+#define KEY_END		0x166	/* end key			*/
+#define KEY_EXIT	0x167	/* exit key			*/
+#define KEY_FIND	0x168	/* find key			*/
+#define KEY_HELP	0x169	/* help key			*/
+#define KEY_MARK	0x16a	/* mark key			*/
+#define KEY_MESSAGE	0x16b	/* message key			*/
+#define KEY_MOVE	0x16c	/* move key			*/
+#define KEY_NEXT	0x16d	/* next object key		*/
+#define KEY_OPEN	0x16e	/* open key			*/
+#define KEY_OPTIONS	0x16f	/* options key			*/
+#define KEY_PREVIOUS	0x170	/* previous object key		*/
+#define KEY_REDO	0x171	/* redo key			*/
+#define KEY_REFERENCE	0x172	/* ref(erence) key		*/
+#define KEY_REFRESH	0x173	/* refresh key			*/
+#define KEY_REPLACE	0x174	/* replace key			*/
+#define KEY_RESTART	0x175	/* restart key			*/
+#define KEY_RESUME	0x176	/* resume key			*/
+#define KEY_SAVE	0x177	/* save key			*/
+#define KEY_SBEG	0x178	/* shifted beginning key	*/
+#define KEY_SCANCEL	0x179	/* shifted cancel key		*/
+#define KEY_SCOMMAND	0x17a	/* shifted command key		*/
+#define KEY_SCOPY	0x17b	/* shifted copy key		*/
+#define KEY_SCREATE	0x17c	/* shifted create key		*/
+#define KEY_SDC		0x17d	/* shifted delete char key	*/
+#define KEY_SDL		0x17e	/* shifted delete line key	*/
+#define KEY_SELECT	0x17f	/* select key			*/
+#define KEY_SEND	0x180	/* shifted end key		*/
+#define KEY_SEOL	0x181	/* shifted clear line key	*/
+#define KEY_SEXIT	0x182	/* shifted exit key		*/
+#define KEY_SFIND	0x183	/* shifted find key		*/
+#define KEY_SHOME	0x184	/* shifted home key		*/
+#define KEY_SIC		0x185	/* shifted input key		*/
+#define KEY_SLEFT	0x187	/* shifted left arrow key	*/
+#define KEY_SMESSAGE	0x188	/* shifted message key		*/
+#define KEY_SMOVE	0x189	/* shifted move key		*/
+#define KEY_SNEXT	0x18a	/* shifted next key		*/
+#define KEY_SOPTIONS	0x18b	/* shifted options key		*/
+#define KEY_SPREVIOUS	0x18c	/* shifted prev key		*/
+#define KEY_SPRINT	0x18d	/* shifted print key		*/
+#define KEY_SREDO	0x18e	/* shifted redo key		*/
+#define KEY_SREPLACE	0x18f	/* shifted replace key		*/
+#define KEY_SRIGHT	0x190	/* shifted right arrow		*/
+#define KEY_SRSUME	0x191	/* shifted resume key		*/
+#define KEY_SSAVE	0x192	/* shifted save key		*/
+#define KEY_SSUSPEND	0x193	/* shifted suspend key		*/
+#define KEY_SUNDO	0x194	/* shifted undo key		*/
+#define KEY_SUSPEND	0x195	/* suspend key			*/
+#define KEY_UNDO	0x196	/* undo key			*/
+
+/* PDCurses-specific key definitions -- PC only */
+
+#define ALT_0		0x197
+#define ALT_1		0x198
+#define ALT_2		0x199
+#define ALT_3		0x19a
+#define ALT_4		0x19b
+#define ALT_5		0x19c
+#define ALT_6		0x19d
+#define ALT_7		0x19e
+#define ALT_8		0x19f
+#define ALT_9		0x1a0
+#define ALT_A		0x1a1
+#define ALT_B		0x1a2
+#define ALT_C		0x1a3
+#define ALT_D		0x1a4
+#define ALT_E		0x1a5
+#define ALT_F		0x1a6
+#define ALT_G		0x1a7
+#define ALT_H		0x1a8
+#define ALT_I		0x1a9
+#define ALT_J		0x1aa
+#define ALT_K		0x1ab
+#define ALT_L		0x1ac
+#define ALT_M		0x1ad
+#define ALT_N		0x1ae
+#define ALT_O		0x1af
+#define ALT_P		0x1b0
+#define ALT_Q		0x1b1
+#define ALT_R		0x1b2
+#define ALT_S		0x1b3
+#define ALT_T		0x1b4
+#define ALT_U		0x1b5
+#define ALT_V		0x1b6
+#define ALT_W		0x1b7
+#define ALT_X		0x1b8
+#define ALT_Y		0x1b9
+#define ALT_Z		0x1ba
+#define CTL_LEFT	0x1bb	/* Control-Left-Arrow	*/
+#define CTL_RIGHT	0x1bc	/* Control-Right-Arrow	*/
+#define CTL_PGUP	0x1bd	/* Control-PgUp		*/
+#define CTL_PGDN	0x1be	/* Control-PgDn		*/
+#define CTL_HOME	0x1bf	/* Control-Home		*/
+#define CTL_END		0x1c0	/* Control-End		*/
+
+#define KEY_A1		0x1c1	/* upper left on Virtual keypad	*/
+#define KEY_A2		0x1c2	/* upper middle on Virt. keypad	*/
+#define KEY_A3		0x1c3	/* upper right on Vir. keypad	*/
+#define KEY_B1		0x1c4	/* middle left on Virt. keypad	*/
+#define KEY_B2		0x1c5	/* center on Virt. keypad	*/
+#define KEY_B3		0x1c6	/* middle right on Vir. keypad	*/
+#define KEY_C1		0x1c7	/* lower left on Virt. keypad	*/
+#define KEY_C2		0x1c8	/* lower middle on Virt. keypad */
+#define KEY_C3		0x1c9	/* lower right on Vir. keypad	*/
+#define PADSLASH	0x1ca	/* slash on keypad		*/
+#define PADENTER	0x1cb	/* enter on keypad		*/
+#define CTL_PADENTER	0x1cc	/* ctl-enter on keypad		*/
+#define ALT_PADENTER	0x1cd	/* alt-enter on keypad		*/
+#define PADSTOP		0x1ce	/* stop on keypad		*/
+#define PADSTAR		0x1cf	/* star on keypad		*/
+#define PADMINUS	0x1d0	/* minus on keypad		*/
+#define PADPLUS		0x1d1	/* plus on keypad		*/
+#define CTL_PADSTOP	0x1d2	/* ctl-stop on keypad		*/
+#define CTL_PADCENTER	0x1d3	/* ctl-enter on keypad		*/
+#define CTL_PADPLUS	0x1d4	/* ctl-plus on keypad		*/
+#define CTL_PADMINUS	0x1d5	/* ctl-minus on keypad		*/
+#define CTL_PADSLASH	0x1d6	/* ctl-slash on keypad		*/
+#define CTL_PADSTAR	0x1d7	/* ctl-star on keypad		*/
+#define ALT_PADPLUS	0x1d8	/* alt-plus on keypad		*/
+#define ALT_PADMINUS	0x1d9	/* alt-minus on keypad		*/
+#define ALT_PADSLASH	0x1da	/* alt-slash on keypad		*/
+#define ALT_PADSTAR	0x1db	/* alt-star on keypad		*/
+#define ALT_PADSTOP	0x1dc	/* alt-stop on keypad		*/
+#define CTL_INS		0x1dd	/* ctl-insert			*/
+#define ALT_DEL		0x1de	/* alt-delete			*/
+#define ALT_INS		0x1df	/* alt-insert			*/
+#define CTL_UP		0x1e0	/* ctl-up arrow			*/
+#define CTL_DOWN	0x1e1	/* ctl-down arrow		*/
+#define CTL_TAB		0x1e2	/* ctl-tab			*/
+#define ALT_TAB		0x1e3	/* alt-tab			*/
+#define ALT_MINUS	0x1e4	/* alt-minus			*/
+#define ALT_EQUAL	0x1e5	/* alt-equal			*/
+#define ALT_HOME	0x1e6	/* alt-home			*/
+#define ALT_PGUP	0x1e7	/* alt-pgup			*/
+#define ALT_PGDN	0x1e8	/* alt-pgdn			*/
+#define ALT_END		0x1e9	/* alt-end			*/
+#define ALT_UP		0x1ea	/* alt-up arrow			*/
+#define ALT_DOWN	0x1eb	/* alt-down arrow		*/
+#define ALT_RIGHT	0x1ec	/* alt-right arrow		*/
+#define ALT_LEFT	0x1ed	/* alt-left arrow		*/
+#define ALT_ENTER	0x1ee	/* alt-enter			*/
+#define ALT_ESC		0x1ef	/* alt-escape			*/
+#define ALT_BQUOTE	0x1f0	/* alt-back quote		*/
+#define ALT_LBRACKET	0x1f1	/* alt-left bracket		*/
+#define ALT_RBRACKET	0x1f2	/* alt-right bracket		*/
+#define ALT_SEMICOLON	0x1f3	/* alt-semi-colon		*/
+#define ALT_FQUOTE	0x1f4	/* alt-forward quote		*/
+#define ALT_COMMA	0x1f5	/* alt-comma			*/
+#define ALT_STOP	0x1f6	/* alt-stop			*/
+#define ALT_FSLASH	0x1f7	/* alt-forward slash		*/
+#define ALT_BKSP	0x1f8	/* alt-backspace		*/
+#define CTL_BKSP	0x1f9	/* ctl-backspace		*/
+#define PAD0		0x1fa	/* keypad 0			*/
+#define CTL_PAD0	0x1fb	/* ctl-keypad 0			*/
+#define CTL_PAD1	0x1fc	/* ctl-keypad 1			*/
+#define CTL_PAD2	0x1fd	/* ctl-keypad 2			*/
+#define CTL_PAD3	0x1fe	/* ctl-keypad 3			*/
+#define CTL_PAD4	0x1ff	/* ctl-keypad 4			*/
+#define CTL_PAD5	0x200	/* ctl-keypad 5			*/
+#define CTL_PAD6	0x201	/* ctl-keypad 6			*/
+#define CTL_PAD7	0x202	/* ctl-keypad 7			*/
+#define CTL_PAD8	0x203	/* ctl-keypad 8			*/
+#define CTL_PAD9	0x204	/* ctl-keypad 9			*/
+#define ALT_PAD0	0x205	/* alt-keypad 0			*/
+#define ALT_PAD1	0x206	/* alt-keypad 1			*/
+#define ALT_PAD2	0x207	/* alt-keypad 2			*/
+#define ALT_PAD3	0x208	/* alt-keypad 3			*/
+#define ALT_PAD4	0x209	/* alt-keypad 4			*/
+#define ALT_PAD5	0x20a	/* alt-keypad 5			*/
+#define ALT_PAD6	0x20b	/* alt-keypad 6			*/
+#define ALT_PAD7	0x20c	/* alt-keypad 7			*/
+#define ALT_PAD8	0x20d	/* alt-keypad 8			*/
+#define ALT_PAD9	0x20e	/* alt-keypad 9			*/
+#define CTL_DEL		0x20f	/* clt-delete			*/
+#define ALT_BSLASH	0x210	/* alt-back slash		*/
+#define CTL_ENTER	0x211	/* ctl-enter			*/
+#define SHF_PADENTER	0x212	/* shift-enter on keypad	*/
+#define SHF_PADSLASH	0x213	/* shift-slash on keypad	*/
+#define SHF_PADSTAR	0x214	/* shift-star  on keypad	*/
+#define SHF_PADPLUS	0x215	/* shift-plus  on keypad	*/
+#define SHF_PADMINUS	0x216	/* shift-minus on keypad	*/
+#define SHF_UP		0x217	/* shift-up on keypad		*/
+#define SHF_DOWN	0x218	/* shift-down on keypad		*/
+#define SHF_IC		0x219	/* shift-insert on keypad	*/
+#define SHF_DC		0x21a	/* shift-delete on keypad	*/
+#define KEY_MOUSE	0x21b	/* "mouse" key			*/
+#define KEY_SHIFT_L	0x21c	/* Left-shift			*/
+#define KEY_SHIFT_R	0x21d	/* Right-shift			*/
+#define KEY_CONTROL_L	0x21e	/* Left-control			*/
+#define KEY_CONTROL_R	0x21f	/* Right-control		*/
+#define KEY_ALT_L	0x220	/* Left-alt			*/
+#define KEY_ALT_R	0x221	/* Right-alt			*/
+#define KEY_RESIZE	0x222	/* Window resize		*/
+#define KEY_SUP		0x223	/* Shifted up arrow		*/
+#define KEY_SDOWN	0x224	/* Shifted down arrow		*/
+#define KEY_MAX		0x224	/* Maximum curses key		*/
+
+/*----------------------------------------------------------------------
+ *
+ *	PDCurses function declarations
+ *
+ */
+
+/* Standard */
+
+int	addch(const chtype);
+int	addchnstr(const chtype *, int);
+int	addchstr(const chtype *);
+int	addnstr(const char *, int);
+int	addstr(const char *);
+int	attroff(chtype);
+int	attron(chtype);
+int	attrset(chtype);
+int	baudrate(void);
+int	beep(void);
+int	bkgd(chtype);
+void	bkgdset(chtype);
+int	border(chtype, chtype, chtype, chtype, chtype, chtype, chtype, chtype);
+int	box(WINDOW *, chtype, chtype);
+bool	can_change_color(void);
+int	cbreak(void); 
+int	clearok(WINDOW *, bool);
+int	clear(void);
+int	clrtobot(void);
+int	clrtoeol(void);
+int	color_content(short, short *, short *, short *);
+chtype	COLOR_PAIR(int);
+int	color_set(short, void *);
+int	copywin(const WINDOW *, WINDOW *, int, int, int, int, int, int, int);
+int	curs_set(int);
+int	def_prog_mode(void);
+int	def_shell_mode(void);
+int	delay_output(int);
+int	delch(void);
+int	deleteln(void);
+void	delscreen(SCREEN *); 
+int	delwin(WINDOW *);
+WINDOW *derwin(WINDOW *, int, int, int, int);
+int	doupdate(void);
+WINDOW *dupwin(WINDOW *);
+int	echochar(const chtype);
+int	echo(void);
+int	endwin(void);
+char	erasechar(void);
+int	erase(void);
+void	filter(void);
+int	flash(void);
+int	flushinp(void);
+chtype	getbkgd(WINDOW *);
+int	getnstr(char *, int);
+int	getstr(char *);
+WINDOW *getwin(FILE *);
+int	halfdelay(int);
+bool	has_colors(void);
+bool	has_ic(void);
+bool	has_il(void);
+int	hline(chtype, int);
+void	idcok(WINDOW *, bool);
+int	idlok(WINDOW *, bool);
+void	immedok(WINDOW *, bool);
+int	inchnstr(chtype *, int);
+int	inchstr(chtype *);
+chtype	inch(void);
+int	init_color(short, short, short, short);
+int	init_pair(short, short, short);
+WINDOW *initscr(void);
+int	innstr(char *, int);
+int	insch(chtype);
+int	insdelln(int);
+int	insertln(void);
+int	insnstr(const char *, int);
+int	insstr(const char *);
+int	instr(char *);
+int	intrflush(WINDOW *, bool);
+bool	isendwin(void);
+bool	is_linetouched(WINDOW *, int);
+bool	is_wintouched(WINDOW *);
+char   *keyname(int);
+int	keypad(WINDOW *, bool);
+char	killchar(void);
+int	leaveok(WINDOW *, bool);
+char   *longname(void);
+int	meta(WINDOW *, bool);
+int	move(int, int);
+int	mvaddch(int, int, const chtype);
+int	mvaddchnstr(int, int, const chtype *, int);
+int	mvaddchstr(int, int, const chtype *);
+int	mvaddnstr(int, int, const char *, int);
+int	mvaddstr(int, int, const char *);
+int	mvcur(int, int, int, int);
+int	mvdelch(int, int);
+int	mvderwin(WINDOW *, int, int);
+int	mvgetch(int, int);
+int	mvgetnstr(int, int, char *, int);
+int	mvgetstr(int, int, char *);
+int	mvhline(int, int, chtype, int);
+chtype	mvinch(int, int);
+int	mvinchnstr(int, int, chtype *, int);
+int	mvinchstr(int, int, chtype *);
+int	mvinnstr(int, int, char *, int);
+int	mvinsch(int, int, chtype);
+int	mvinsnstr(int, int, const char *, int);
+int	mvinsstr(int, int, const char *);
+int	mvinstr(int, int, char *);
+int	mvprintw(int, int, const char *, ...);
+int	mvscanw(int, int, const char *, ...);
+int	mvvline(int, int, chtype, int);
+int	mvwaddchnstr(WINDOW *, int, int, const chtype *, int);
+int	mvwaddchstr(WINDOW *, int, int, const chtype *);
+int	mvwaddch(WINDOW *, int, int, const chtype);
+int	mvwaddnstr(WINDOW *, int, int, const char *, int);
+int	mvwaddstr(WINDOW *, int, int, const char *);
+int	mvwdelch(WINDOW *, int, int);
+int	mvwgetch(WINDOW *, int, int);
+int	mvwgetnstr(WINDOW *, int, int, char *, int);
+int	mvwgetstr(WINDOW *, int, int, char *);
+int	mvwhline(WINDOW *, int, int, chtype, int);
+int	mvwinchnstr(WINDOW *, int, int, chtype *, int);
+int	mvwinchstr(WINDOW *, int, int, chtype *);
+chtype	mvwinch(WINDOW *, int, int);
+int	mvwinnstr(WINDOW *, int, int, char *, int);
+int	mvwinsch(WINDOW *, int, int, chtype);
+int	mvwinsnstr(WINDOW *, int, int, const char *, int);
+int	mvwinsstr(WINDOW *, int, int, const char *);
+int	mvwinstr(WINDOW *, int, int, char *);
+int	mvwin(WINDOW *, int, int);
+int	mvwprintw(WINDOW *, int, int, const char *, ...);
+int	mvwscanw(WINDOW *, int, int, const char *, ...);
+int	mvwvline(WINDOW *, int, int, chtype, int);
+int	napms(int);
+WINDOW *newpad(int, int);
+SCREEN *newterm(char *, FILE *, FILE *);
+WINDOW *newwin(int, int, int, int);
+int	nl(void);
+int	nocbreak(void);
+int	nodelay(WINDOW *, bool);
+int	noecho(void);
+int	nonl(void);
+void	noqiflush(void);
+int	noraw(void);
+int	notimeout(WINDOW *, bool);
+int	overlay(const WINDOW *, WINDOW *);
+int	overwrite(const WINDOW *, WINDOW *);
+int	pair_content(short, short *, short *);
+int	PAIR_NUMBER(chtype);
+int	pechochar(WINDOW *, chtype);
+int	pnoutrefresh(WINDOW *, int, int, int, int, int, int);
+int	prefresh(WINDOW *, int, int, int, int, int, int);
+int	printw(const char *, ...);
+int	putwin(WINDOW *, FILE *);
+void	qiflush(void);
+int	raw(void);
+int	redrawwin(WINDOW *);
+int	refresh(void);
+int	reset_prog_mode(void);
+int	reset_shell_mode(void);
+int	resetty(void);
+int	ripoffline(int, int (*)(WINDOW *, int));
+int	savetty(void);
+int	scanw(const char *, ...);
+int	scr_dump(const char *);
+int	scr_init(const char *);
+int	scrl(int);
+int	scrollok(WINDOW *, bool);
+int	scroll(WINDOW *);
+int	scr_restore(const char *);
+int	scr_set(const char *);
+int	setscrreg(int, int);
+SCREEN *set_term(SCREEN *);
+int	slk_attroff(const chtype);
+int	slk_attron(const chtype);
+int	slk_attrset(const chtype);
+int	slk_clear(void);
+int	slk_color(short);
+int	slk_init(int);
+char   *slk_label(int);
+int	slk_noutrefresh(void);
+int	slk_refresh(void);
+int	slk_restore(void);
+int	slk_set(int, const char *, int);
+int	slk_touch(void);
+int	standend(void);
+int	standout(void);
+int	start_color(void);
+WINDOW *subpad(WINDOW *, int, int, int, int);
+WINDOW *subwin(WINDOW *, int, int, int, int);
+int	syncok(WINDOW *, bool);
+chtype	termattrs(void);
+char   *termname(void);
+void	timeout(int);
+int	touchline(WINDOW *, int, int);
+int	touchwin(WINDOW *);
+int	typeahead(int);
+int	untouchwin(WINDOW *);
+void	use_env(bool);
+int	vidattr(chtype);
+int	vidputs(chtype, int (*)(int));
+int	vline(chtype, int);
+int	vw_printw(WINDOW *, const char *, va_list);
+int	vwprintw(WINDOW *, const char *, va_list);
+int	vw_scanw(WINDOW *, const char *, va_list);
+int	vwscanw(WINDOW *, const char *, va_list);
+int	waddchnstr(WINDOW *, const chtype *, int);
+int	waddchstr(WINDOW *, const chtype *);
+int	waddch(WINDOW *, const chtype);
+int	waddnstr(WINDOW *, const char *, int);
+int	waddstr(WINDOW *, const char *);
+int	wattroff(WINDOW *, chtype);
+int	wattron(WINDOW *, chtype);
+int	wattrset(WINDOW *, chtype);
+void	wbkgdset(WINDOW *, chtype);
+int	wbkgd(WINDOW *, chtype);
+int	wborder(WINDOW *, chtype, chtype, chtype, chtype,
+		chtype, chtype, chtype, chtype);
+int	wclear(WINDOW *);
+int	wclrtobot(WINDOW *);
+int	wclrtoeol(WINDOW *);
+int	wcolor_set(WINDOW *, short, void *);
+void	wcursyncup(WINDOW *);
+int	wdelch(WINDOW *);
+int	wdeleteln(WINDOW *);
+int	wechochar(WINDOW *, const chtype);
+int	werase(WINDOW *);
+int	wgetch(WINDOW *);
+int	wgetnstr(WINDOW *, char *, int);
+int	wgetstr(WINDOW *, char *);
+int	whline(WINDOW *, chtype, int);
+int	winchnstr(WINDOW *, chtype *, int);
+int	winchstr(WINDOW *, chtype *);
+chtype	winch(WINDOW *);
+int	winnstr(WINDOW *, char *, int);
+int	winsch(WINDOW *, chtype);
+int	winsdelln(WINDOW *, int);
+int	winsertln(WINDOW *);
+int	winsnstr(WINDOW *, const char *, int);
+int	winsstr(WINDOW *, const char *);
+int	winstr(WINDOW *, char *);
+int	wmove(WINDOW *, int, int);
+int	wnoutrefresh(WINDOW *);
+int	wprintw(WINDOW *, const char *, ...);
+int	wredrawln(WINDOW *, int, int);
+int	wrefresh(WINDOW *);
+int	wscanw(WINDOW *, const char *, ...);
+int	wscrl(WINDOW *, int);
+int	wsetscrreg(WINDOW *, int, int);
+int	wstandend(WINDOW *);
+int	wstandout(WINDOW *);
+void	wsyncdown(WINDOW *);
+void	wsyncup(WINDOW *);
+void	wtimeout(WINDOW *, int);
+int	wtouchln(WINDOW *, int, int, int);
+int	wvline(WINDOW *, chtype, int);
+
+/* Quasi-standard */
+
+chtype	getattrs(WINDOW *);
+char   *unctrl(chtype);
+
+int	mouse_set(unsigned long);
+int	mouse_on(unsigned long);
+int	mouse_off(unsigned long);
+int	request_mouse_pos(void);
+int	map_button(unsigned long);
+void	wmouse_position(WINDOW *, int *, int *);
+unsigned long getmouse(void);
+unsigned long getbmap(void);
+
+/* NCurses */
+
+bool	has_key(int);
+
+/* PDCurses */
+
+int	mvwinsertln(WINDOW *, int, int);
+int	raw_output(bool);
+int	resize_term(int, int);
+WINDOW *resize_window(WINDOW *, int, int);
+void	traceoff(void);
+void	traceon(void);
+char	wordchar(void);
+
+#ifdef XCURSES
+WINDOW *Xinitscr(int, char **);
+void	XCursesExit(void);
+int	sb_init(void);
+int	sb_set_horz(int, int, int);
+int	sb_set_vert(int, int, int);
+int	sb_get_horz(int *, int *, int *);
+int	sb_get_vert(int *, int *, int *);
+int	sb_refresh(void);
+#endif
+
+int	PDC_chadd(WINDOW *, chtype, bool, bool);
+int	PDC_chins(WINDOW *, chtype, bool);
+int	PDC_ungetch(int);
+void	PDC_set_title(const char *);
+int	PDC_getclipboard(char **, long *);
+int	PDC_setclipboard(const char *, long);
+int	PDC_freeclipboard(char *);
+int	PDC_clearclipboard(void);
+
+unsigned long PDC_get_input_fd(void);
+unsigned long PDC_get_key_modifiers(void);
+
+int	PDC_wunderline(WINDOW *, int, bool);
+int	PDC_wleftline(WINDOW *, int, bool);
+int	PDC_wrightline(WINDOW *, int, bool);
+int	PDC_set_line_color(short);
+
+#ifndef max
+# define max(a,b) (((a) > (b)) ? (a) : (b))
+#endif
+#ifndef min
+# define min(a,b) (((a) < (b)) ? (a) : (b))
+#endif
+
+/*** Functions defined as macros ***/
+
+#define getch()			wgetch(stdscr)
+#define ungetch(ch)		PDC_ungetch(ch)
+
+/* These will _only_ work as macros */
+
+#define getbegyx(w, y, x)	(y = (w)->_begy, x = (w)->_begx)
+#define getmaxyx(w, y, x)	(y = (w)->_maxy, x = (w)->_maxx)
+#define getparyx(w, y, x)	(y = (w)->_pary, x = (w)->_parx)
+#define getyx(w, y, x)		(y = (w)->_cury, x = (w)->_curx)
+
+#define getbegx(w)		(w)->_begx
+#define getbegy(w)		(w)->_begy
+#define getmaxx(w)		(w)->_maxx
+#define getmaxy(w)		(w)->_maxy
+#define getparx(w)		(w)->_parx
+#define getpary(w)		(w)->_pary
+
+#define getsyx(y, x)		{ if (curscr->_leaveit) (y)=(x)=-1; \
+				  else getyx(curscr,(y),(x)); }
+
+#define setsyx(y, x)		{ if((y)==-1 && (x)==-1) curscr->_leaveit=TRUE;\
+				  else { curscr->_leaveit=FALSE; \
+					 wmove(curscr,(y),(x));} }
+
+#define wresize(w, l, c)	((w = resize_window(w, l, c)) ? OK : ERR)
+
+/* Macros mainly for those standard functions that are just wrappers for 
+   the core functions. Defining NOMACROS saves space in the compiled 
+   executable, but could slow it down slightly. It's also better for 
+   debugging. */
+
+#if !defined(NOMACROS) && !defined(PDCDEBUG)
+
+#define COLOR_PAIR(n)		(((chtype)(n) << PDC_COLOR_SHIFT) & A_COLOR)
+#define PAIR_NUMBER(n)		(((n) & A_COLOR) >> PDC_COLOR_SHIFT)
+
+# define addch(c)		waddch(stdscr, c)
+# define addchstr(c)		addchnstr(c, -1)
+# define addstr(str)		waddstr(stdscr, str)
+# define addnstr(str, n)	waddnstr(stdscr, str, n)
+# define attroff(attr)		wattroff(stdscr, attr)
+# define attron(attr)		wattron(stdscr, attr)
+# define attrset(attr)		wattrset(stdscr, attr)
+# define bkgd(c)		wbkgd(stdscr, c)
+# define bkgdset(c)		wbkgdset(stdscr, c)
+# define border(ls,rs,ts,bs,tl,tr,bl,br) wborder(stdscr,ls,rs,ts,bs,tl,tr,bl,br)
+# define box(w, v, h)		wborder(w, v, v, h, h, 0, 0, 0, 0)
+# define clear()		wclear(stdscr)
+# define clrtobot()		wclrtobot(stdscr)
+# define clrtoeol()		wclrtoeol(stdscr)
+# define color_set(a, b)	wcolor_set(stdscr, a, b)
+# define delay_output		napms
+# define delch()		wdelch(stdscr)
+# define deleteln()		wdeleteln(stdscr)
+# define derwin(w,nl,nc,by,bx)	subwin((w), (nl), (nc),\
+					(by + (w)->_begy), (bx + (w)->_begx))
+# define echochar(c)		(addch((chtype)c)==ERR?ERR:refresh())
+# define erase()		werase(stdscr)
+# define getbkgd(w)		((w)->_bkgd)
+# define getstr(str)		wgetstr(stdscr, str)
+# define getnstr(str, num)	wgetnstr(stdscr, str, num)
+# define has_colors()           (SP->mono ? FALSE : TRUE)
+# define inch()			(stdscr->_y[stdscr->_cury][stdscr->_curx])
+# define inchstr(c)		inchnstr(c, stdscr->_maxx - stdscr->_curx)
+# define innstr(str, n)		winnstr(stdscr, str, n)
+# define insch(c)		winsch(stdscr, c)
+# define insdelln(n)		winsdelln(stdscr, n)
+# define insertln()		winsertln(stdscr)
+# define insnstr(s, n)		winsnstr(stdscr, s, n)
+# define insstr(s)		winsnstr(stdscr, s, -1)
+# define instr(str)		winnstr(stdscr, str, stdscr->_maxx)
+# define isendwin()		(SP->alive ? FALSE : TRUE)
+# define mvaddch(y, x, c)	(move(y, x)==ERR?ERR:addch(c))
+# define mvaddchstr(y, x, c)	(move(y, x)==ERR?ERR:addchnstr(c, -1))
+# define mvaddchnstr(y,x,c,n)	(move(y, x)==ERR?ERR:addchnstr(c, n))
+# define mvaddstr(y, x, str)	(move(y, x)==ERR?ERR:addstr(str))
+# define mvaddnstr(y,x,str,n)	(move(y, x)==ERR?ERR:addnstr(str, n))
+# define mvdelch(y, x)		(move(y, x)==ERR?ERR:wdelch(stdscr))
+# define mvgetch(y, x)		(move(y, x)==ERR?ERR:wgetch(stdscr))
+# define mvgetstr(y, x, str)	(move(y, x)==ERR?ERR:wgetstr(stdscr, str))
+# define mvhline(y, x, c, n)	(move(y, x)==ERR?ERR:hline(c, n))
+# define mvinch(y, x)		(move(y, x)==ERR?((chtype)ERR):\
+					(stdscr->_y[y][x]))
+# define mvinchstr(y, x, c)	(move(y, x)==ERR?ERR:inchnstr(c,\
+					stdscr->_maxx - stdscr->_curx))
+# define mvinchnstr(y, x, c, n)	(move(y, x)==ERR?ERR:inchnstr(c, n))
+# define mvinsch(y,x,c)		(move(y, x)==ERR?ERR:winsch(stdscr, c))
+# define mvinsnstr(y, x, s, n)	(move(y, x)==ERR?ERR:winsnstr(stdscr, s, n))
+# define mvinsstr(y, x, s)	(move(y, x)==ERR?ERR:winsnstr(stdscr, s, -1))
+# define mvinstr(y, x, str)	(move(y, x)==ERR?ERR:winnstr(stdscr,\
+					str, stdscr->_maxx))
+# define mvinnstr(y, x, str, n)	(move(y, x)==ERR?ERR:winnstr(stdscr, str, n))
+# define mvvline(y, x, c, n)	(move(y, x)==ERR?ERR:vline(c, n))
+# define mvwaddch(w, y, x, c)	(wmove(w, y, x)==ERR?ERR:waddch(w, c))
+# define mvwaddchstr(w,y,x,c)	(wmove(w, y, x)==ERR?ERR:waddchnstr(w, c, -1))
+# define mvwaddchnstr(w,y,x,c,n) (wmove(w, y, x)==ERR?ERR:waddchnstr(w, c, n))
+# define mvwaddstr(w,y,x,str)	(wmove(w, y, x)==ERR?ERR:waddstr(w, str))
+# define mvwdelch(w, y, x)	(wmove(w, y, x)==ERR?ERR:wdelch(w))
+# define mvwgetch(w, y, x)	(wmove(w, y, x)==ERR?ERR:wgetch(w))
+# define mvwgetstr(w,y,x,str)	(wmove(w, y, x)==ERR?ERR:wgetstr(w, str))
+# define mvwgetnstr(w,y,x,str,n) (wmove(w, y, x)==ERR?ERR:wgetnstr(w, str, n))
+# define mvwhline(w,y,x,c,n)	(wmove(w, y, x)==ERR?ERR:whline(w, c, n))
+# define mvwinch(w, y, x)	(wmove(w, y, x)==ERR?(chtype)ERR:(w)->_y[y][x])
+# define mvwinchstr(w, y, x, c)	(wmove(w, y, x)==ERR?ERR:winchnstr(w,\
+					c, (w)->_maxx - (w)->_curx))
+# define mvwinchnstr(w,y,x,c,n)	(wmove(w, y, x)==ERR?ERR:winchnstr(w, c, n))
+# define mvwinsch(w, y, x, c)	(wmove(w, y, x)==ERR?ERR:winsch(w, c))
+# define mvwinstr(w, y, x, str)	(wmove(w, y, x)==ERR?ERR:winnstr(w,\
+					str, (w)->_maxx))
+# define mvwinnstr(w,y,x,str,n)	(wmove(w, y, x)==ERR?ERR:winnstr(w, str, n))
+# define mvwinsnstr(w,y,x,s,n)	(wmove(w, y, x)==ERR?ERR:winsnstr(w, s, n))
+# define mvwinsstr(w, y, x, s)	(wmove(w, y, x)==ERR?ERR:winsnstr(w, s, -1))
+# define mvwvline(w,y,x,c,n)	(wmove(w, y, x)==ERR?ERR:wvline(w, c, n))
+# define redrawwin(w)		wredrawln(w, 0, (w)->_maxy)
+# define refresh()		wrefresh(stdscr)
+# define scrl(n)		wscrl(stdscr, n)
+# define scroll(w)		wscrl(w, 1)
+# define scrollok(w, flag)	((w)->_scroll = flag)
+# define setscrreg(top, bot)	wsetscrreg(stdscr, top, bot)
+# define standend()		wattrset(stdscr, A_NORMAL)
+# define standout()		wattrset(stdscr, A_STANDOUT)
+# define timeout(n)		wtimeout(stdscr, n)
+# define vw_printw		vwprintw
+# define vw_scanw		vwscanw
+# define waddch(w, c)		PDC_chadd(w, (chtype)c,\
+					(bool)!(SP->raw_out), TRUE)
+# define waddchstr(w, c)	waddchnstr(w, c, -1)
+# define werase(w)		(wmove(w, 0, 0), wclrtobot(w))
+# define wclear(w)		((w)->_clear = TRUE, werase(w))
+# define wechochar(w, c)	(waddch(w, (chtype)c)==ERR?ERR:wrefresh(w))
+# define winch(w)		((w)->_y[(w)->_cury][(w)->_curx])
+# define winchstr(w, c)		winchnstr(w, c, (w)->_maxx - (w)->_curx)
+# define winsstr(w, str)	winsnstr(w, str, -1)
+# define winstr(w, str)		winnstr(w, str, (w)->_maxx)
+# define wstandend(w)		wattrset(w, A_NORMAL)
+# define wstandout(w)		wattrset(w, A_STANDOUT)
+
+#endif /* !defined(MACROS) && !defined(PDCDEBUG) */
+
+/* Some quasi-standard aliases for standard functions */
+
+#define crmode			cbreak
+#define nocrmode		nocbreak
+#define draino			napms
+#define resetterm		reset_shell_mode
+#define fixterm			reset_prog_mode
+#define saveterm		def_prog_mode
+
+/* PDCurses-specific */
+
+#define is_termresized()	(SP->resized)
+#define waddrawch(w, c)		PDC_chadd(w, (chtype)c, FALSE, TRUE)
+#define winsrawch(w, c)		PDC_chins(w, (chtype)c, FALSE)
+#define addrawch(c)		waddrawch(stdscr, c)
+#define insrawch(c)		winsrawch(stdscr, c)
+#define mvwaddrawch(w,y,x,c)	(wmove(w, y, x)==ERR?ERR:waddrawch(w, c))
+#define PDC_save_key_modifiers(flag) (SP->save_key_modifiers = flag)
+#define PDC_return_key_modifiers(flag) (SP->return_key_modifiers = flag)
+
+/* return codes from PDC_getclipboard() and PDC_setclipboard() calls */
+
+#define PDC_CLIP_SUCCESS	0
+#define PDC_CLIP_ACCESS_ERROR 	1
+#define PDC_CLIP_EMPTY		2
+#define PDC_CLIP_MEMORY_ERROR	3
+
+/* PDCurses key modifier masks */
+
+#define PDC_KEY_MODIFIER_SHIFT		1
+#define PDC_KEY_MODIFIER_CONTROL	2
+#define PDC_KEY_MODIFIER_ALT		4
+#define PDC_KEY_MODIFIER_NUMLOCK	8
+
+/* Load up curspriv.h. We allow anyone who defines CURSES_LIBRARY
+   to have access to our internal routines. */
+
+#ifdef CURSES_LIBRARY
+# include <curspriv.h>
+#endif
+
+#endif  /* __PDCURSES__ */
+
+#if defined(__cplusplus) || defined(__cplusplus__) || defined(__CPLUSPLUS)
+# undef bool
+}
+#endif

Added: trunk/source/platform/msvc2005/pdcurses/pdcurses.lib
===================================================================
(Binary files differ)


Property changes on: trunk/source/platform/msvc2005/pdcurses/pdcurses.lib
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: trunk/source/tools/tList.h
===================================================================
--- trunk/source/tools/tList.h	2007-02-25 19:53:04 UTC (rev 1365)
+++ trunk/source/tools/tList.h	2007-02-25 23:47:21 UTC (rev 1366)
@@ -30,7 +30,13 @@
   tListNode<T> * next;
   tListNode<T> * prev;
   
+// @DMB - Visual Studio doesn't like usage of 'this' in initializers
+//        and throws a lot of useless warnings.
+#ifdef WIN32
+  tListNode() : data(NULL) { next = this; prev = this; }
+#else
   tListNode() : data(NULL), next(this), prev(this) { ; }
+#endif
 
   template<class Archive>
   void serialize(Archive & a, const unsigned int version){




More information about the Avida-cvs mailing list