I started off using the defualt VS behavior: Every file for a project goins into the projects folder.
Then after some time I started looking around at what others are using( like you are ).
Then I came up with this:
Project settings(Configuration Properties\General):
Output directory : "..\..\..\Build Output\$(Configuration)\$(PlatformShortName)\"
Intermediate directory : "..\..\..\Build Output\Intermediate\$(Configuration)\$(PlatformShortName)\$(ProjectName)\"
________________________________
Solution directory structure template:
<Solution Folder>
|
+---Solution : The main solution and project folder.
| | <Solution Name> Solution File
| |
| +---Engine : The folder that "Engine" projects go in.
| | |
| | +---<Project Name> Project File
| |
| +---Tools : The folder that "Tool" projects go in.
| | |
| | +---<Project Name> Project File
| |
| +---Prototypes
| | |
| | +---<Project Name> Project File
| |
| +---Games
| |
| +---<Project Name> Project File
|
+---Include : The main header folder.
| |
| +---Engine : The main "Engine" header folder.
| | |
| | +---<$(ProjectName)>
| | |
| | +---Any required sub folders
| |
| +---Tools
| | |
| | +---<$(ProjectName)>
| | |
| | +---Any required sub folders
| |
| +---Prototypes
| |
| +---<$(ProjectName)>
| |
| +---Any required sub folders
|
+---Source : The main source file(s) folder.
| |
| +---Engine : The main "Engine" source folder.
| | |
| | +---<$(ProjectName)>
| | |
| | +---Any required sub folders
| |
| +---Tools
| | |
| | +---<$(ProjectName)>
| | |
| | +---Any required sub folders
| |
| +---Prototypes
| |
| +---<$(ProjectName)>
| |
| +---Any required sub folders
|
+---Game Code : The main game code file(s) folder.
| |
| +---Any required sub folders
|
+---Project data : The main project assets( images, meshes, audio ) folder.
| |
| +----<Project data> data required for a project( like a games data file )
|
+---Documents : The main document(s) folder.
| |
| +---Any required sub folders
|
+---Build Output : The main project build files folder.
| |
| +---<$(Configuration)>
| | |
| | +---<$(PlatformShortName)> Output file(s)( exe's, DLL's etc )
| |
| +---Intermediate : The folder where intermediate build files go.
| |
| +---<$(Configuration)>
| |
| +---<$(PlatformShortName)> Output file(s)( exe's, DLL's etc )
| |
| +---<$(ProjectName)>
________________________________
That is my general file structure.
I do have sub-folders for specifiec files:
- Particle system
- Interfaces
HTH
-Ryan.