Menu

Tree [r2] /
 History

HTTPS access


File Date Author Commit
 DuctTape 2010-04-21 coder0xff [r2]
 ErrorReporting 2010-04-21 coder0xff [r1] Initial Migration
 IFileOperation 2010-04-21 coder0xff [r1] Initial Migration
 ImageFiltering 2010-04-21 coder0xff [r1] Initial Migration
 Installer 2010-04-21 coder0xff [r1] Initial Migration
 LewisControls 2010-04-21 coder0xff [r1] Initial Migration
 SteamFS 2010-04-21 coder0xff [r1] Initial Migration
 Synchronization 2010-04-21 coder0xff [r1] Initial Migration
 VTF 2010-04-21 coder0xff [r1] Initial Migration
 VTFLibWrapper 2010-04-21 coder0xff [r1] Initial Migration
 bin 2010-04-21 coder0xff [r2]
 COPYING.txt 2010-04-21 coder0xff [r1] Initial Migration
 DuctTape.sln 2010-04-21 coder0xff [r1] Initial Migration
 DuctTape.suo 2010-04-21 coder0xff [r2]
 Everything.sln 2010-04-21 coder0xff [r2]
 Everything.suo 2010-04-21 coder0xff [r2]
 README.txt 2010-04-21 coder0xff [r1] Initial Migration
 UseInEveryFileHeader.txt 2010-04-21 coder0xff [r1] Initial Migration

Read Me

To build DuctTape, Visual Studio 2008 or Visual C# 2008 Express and (optionally) Visual C++ 2008 Express, XNA GameStudio 3.0, and DirectX 9.0 SDK, and the SourceSDK (or a copy of the source only mod code) must be installed.
To run DuctTape, DirectX 9.0 runtime, XNA 3.0 runtime, C++ 2008 SP1 (x86) Runtime, Steam, and the SourceSDK must be installed.

If using Visual C# Express, then use the DuctTape.sln solution. If so chosen, other dependencies like VTFLib (read further for more info), VTFLibWrapper, and SteamFS can be built in Visual C++, but the SVN should contain the binaries from the last commited build anyway.

If using Visual Studio 2008, use the Everything.sln solution. All dependencies and the deployment projects are included, except:

1.	Building VTFLib requires the NVidia DDS Utilities:
	http://developer.nvidia.com/object/dds_utilities_legacy.html
	If "Cannot open include file: 'dxtlib\dxtlib.h': No such file or directory" appears when building VTFLib, make sure the additional include directories includes the directory in the DDS utilities install directory where the file can be found, and the Additional Library Directories includes the lib directory. For example:
	Include directory example:						C:\Program Files (x86)\NVIDIA Corporation\DDS Utilities\LIBS\inc
	Library directory example for Release build:	C:\Program Files (x86)\NVIDIA Corporation\DDS Utilities\LIBS\lib\release
	Library directory example for Debug build:		C:\Program Files (x86)\NVIDIA Corporation\DDS Utilities\LIBS\lib\debug
	
2.	Building SteamFS requires a copy of the Source SDK code to be present in a folder called "SourceSDK" that is sibling to the DuctTape root folder. For example:
	DuctTape is located at:			My Documents\Visual Studio 2008\Projects\DuctTape
	Make a source code only mod at:	My Documents\Visual Studio 2008\Projects\SourceSDK
	
To maintain consistency and reliability between developers, please use the exact example directories for the DDS utilities even if the default on your system is "Program Files".

ISSUES:
1. Visual Studio seems to have a problem handling controls that are deeply nested in the designer. The ModelEditor frequently has controls erroneously resized. If ModelEditor has been opened in the designer then make sure to flip through the tabs and check the listboxes and such before releasing a build.

2. On occassion, Visual Studio will "crash" stating that a user defined breakpoint has been reached. This only happens when DuctTape has just been run in Debug build with debug logging enabled in the Sychronization lib, especially DebuggingMutex. This is due to the finalizers of some of the objects being called long after DuctTape closes, and instead in the context of visual studio. If the synchronization object wasn't closed correctly it calls Debugger.Break() which makes Visual Studio break instead. If this occurs, choose to open in a new instance of visual studio, and then close the new instance. This will keep VS running. Either switch to release build, turn of debug logging, or manually comment out the calls to Break(). These are for preemptive debugging purposes only and are not critical - though recommended.
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.