diff --git a/.github/workflows/export-c7.yml b/.github/workflows/export-c7.yml
index f7b74628..2bb59427 100644
--- a/.github/workflows/export-c7.yml
+++ b/.github/workflows/export-c7.yml
@@ -45,15 +45,15 @@ jobs:
- name: Windows Build
run: |
mkdir -v -p build/${FOLDER_NAME}
- cd ${EXPORT_NAME}
+ cd src/C7
dotnet build
- godot -v --headless --export${BUILD_SUFFIX} "Windows Desktop" ../build/${FOLDER_NAME}/${EXPORT_NAME}.exe
+ godot -v --headless --export${BUILD_SUFFIX} "Windows Desktop" ../../build/${FOLDER_NAME}/${EXPORT_NAME}.exe
- name: Run tests
run: |
- dotnet test C7
+ dotnet test
- name: Copy Static Files
run: |
- if cp -r ${EXPORT_NAME}/Text build/${FOLDER_NAME}/Text && cp -r ${EXPORT_NAME}/Art build/${FOLDER_NAME}/Art
+ if cp -r src/C7/Text build/${FOLDER_NAME}/Text && cp -r src/C7/Art build/${FOLDER_NAME}/Art
then
echo "successfully copied static files to build"
else
@@ -78,15 +78,15 @@ jobs:
- name: Linux Build
run: |
mkdir -v -p build/${FOLDER_NAME}
- cd ${EXPORT_NAME}
+ cd src/C7
dotnet build
- godot -v --headless --export${BUILD_SUFFIX} "Linux/X11" ../build/${FOLDER_NAME}/${EXPORT_NAME}.x86_64
+ godot -v --headless --export${BUILD_SUFFIX} "Linux/X11" ../../build/${FOLDER_NAME}/${EXPORT_NAME}.x86_64
- name: Run tests
run: |
- dotnet test C7
+ dotnet test
- name: Copy Static Files
run: |
- if cp -r ${EXPORT_NAME}/Text build/${FOLDER_NAME}/Text && cp -r ${EXPORT_NAME}/Art build/${FOLDER_NAME}/Art
+ if cp -r src/C7/Text build/${FOLDER_NAME}/Text && cp -r src/C7/Art build/${FOLDER_NAME}/Art
then
echo "successfully copied static files to build"
else
@@ -114,16 +114,16 @@ jobs:
- name: Mac Build
run: |
mkdir -v -p build/${FOLDER_NAME}
- cd ${EXPORT_NAME}
+ cd src/C7
dotnet build
- godot -v --headless --export${BUILD_SUFFIX} "macOS" ../build/${FOLDER_NAME}.zip
+ godot -v --headless --export${BUILD_SUFFIX} "macOS" ../../build/${FOLDER_NAME}.zip
- name: Run tests
run: |
- dotnet test C7
+ dotnet test
- name: Copy Static Files
run: |
- cd ${EXPORT_NAME}
- if zip -r ../build/${FOLDER_NAME}.zip Art Text
+ cd src/C7
+ if zip -r ../../build/${FOLDER_NAME}.zip Art Text
then
echo "successfully copied static files to build"
else
diff --git a/.gitignore b/.gitignore
index d4e491a8..faedbd30 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,52 +1,23 @@
-# Godot-specific ignores
-.import/
-export.cfg
-logs/
-.godot
-
-### This is excluded because Android builds may have secrets in export_presets.cfg ; see https://github.com/godotengine/godot-demo-projects/issues/329
-# re-ignoring it so manual exports don't mess with the to-be-finely-honed settings; can manually add if needs updating
-export_presets.cfg
-mono_crash.*.json
-mono_crash.*.blob
-
-# Exports folder ignores
-C7/Exports
-Exports/
-
-# Test runtime files
-C7GameDataTests/data/
-
-# Mono-specific ignores
-.mono/
-data_*/
-
-# Below here are ignores imported from Puppeteer's project
-sav/
-*.png
-*.pcx
-*.flc
-*.mp4
-*.webp
-*.bin
-
-*.swp
-*.*~
-project.lock.json
-.DS_Store
-*.pyc
+## Ignore Visual Studio temporary files, build results, and
+## files generated by popular Visual Studio add-ons.
+##
+## Get latest from `dotnet new gitignore`
-# Visual Studio Code
-.vscode
+# dotenv files
+.env
# User-specific files
+*.rsuser
*.suo
*.user
*.userosscache
*.sln.docstates
-C7.ini
-log.txt
-*.csproj.old
+
+# User-specific files (MonoDevelop/Xamarin Studio)
+*.userprefs
+
+# Mono auto generated files
+mono_crash.*
# Build results
[Dd]ebug/
@@ -55,14 +26,477 @@ log.txt
[Rr]eleases/
x64/
x86/
-build/
+[Ww][Ii][Nn]32/
+[Aa][Rr][Mm]/
+[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
-msbuild.log
-msbuild.err
-msbuild.wrn
-*.exe
+[Ll]og/
+[Ll]ogs/
-# Visual Studio 2015
+# Visual Studio 2015/2017 cache/options directory
.vs/
+# Uncomment if you have tasks that create the project's static files in wwwroot
+#wwwroot/
+
+# Visual Studio 2017 auto generated files
+Generated\ Files/
+
+# MSTest test Results
+[Tt]est[Rr]esult*/
+[Bb]uild[Ll]og.*
+
+# NUnit
+*.VisualState.xml
+TestResult.xml
+nunit-*.xml
+
+# Build Results of an ATL Project
+[Dd]ebugPS/
+[Rr]eleasePS/
+dlldata.c
+
+# Benchmark Results
+BenchmarkDotNet.Artifacts/
+
+# .NET
+project.lock.json
+project.fragment.lock.json
+artifacts/
+
+# Tye
+.tye/
+
+# ASP.NET Scaffolding
+ScaffoldingReadMe.txt
+
+# StyleCop
+StyleCopReport.xml
+
+# Files built by Visual Studio
+*_i.c
+*_p.c
+*_h.h
+*.ilk
+*.meta
+*.obj
+*.iobj
+*.pch
+*.pdb
+*.ipdb
+*.pgc
+*.pgd
+*.rsp
+*.sbr
+*.tlb
+*.tli
+*.tlh
+*.tmp
+*.tmp_proj
+*_wpftmp.csproj
+*.log
+*.tlog
+*.vspscc
+*.vssscc
+.builds
+*.pidb
+*.svclog
+*.scc
+
+# Chutzpah Test files
+_Chutzpah*
+
+# Visual C++ cache files
+ipch/
+*.aps
+*.ncb
+*.opendb
+*.opensdf
+*.sdf
+*.cachefile
+*.VC.db
+*.VC.VC.opendb
+
+# Visual Studio profiler
+*.psess
+*.vsp
+*.vspx
+*.sap
+
+# Visual Studio Trace Files
+*.e2e
+
+# TFS 2012 Local Workspace
+$tf/
+
+# Guidance Automation Toolkit
+*.gpState
+
+# ReSharper is a .NET coding add-in
+_ReSharper*/
+*.[Rr]e[Ss]harper
+*.DotSettings.user
+
+# TeamCity is a build add-in
+_TeamCity*
+
+# DotCover is a Code Coverage Tool
+*.dotCover
+
+# AxoCover is a Code Coverage Tool
+.axoCover/*
+!.axoCover/settings.json
+
+# Coverlet is a free, cross platform Code Coverage Tool
+coverage*.json
+coverage*.xml
+coverage*.info
+
+# Visual Studio code coverage results
+*.coverage
+*.coveragexml
+
+# NCrunch
+_NCrunch_*
+.*crunch*.local.xml
+nCrunchTemp_*
+
+# MightyMoose
+*.mm.*
+AutoTest.Net/
+
+# Web workbench (sass)
+.sass-cache/
+
+# Installshield output folder
+[Ee]xpress/
+
+# DocProject is a documentation generator add-in
+DocProject/buildhelp/
+DocProject/Help/*.HxT
+DocProject/Help/*.HxC
+DocProject/Help/*.hhc
+DocProject/Help/*.hhk
+DocProject/Help/*.hhp
+DocProject/Help/Html2
+DocProject/Help/html
+
+# Click-Once directory
+publish/
+
+# Publish Web Output
+*.[Pp]ublish.xml
+*.azurePubxml
+# Note: Comment the next line if you want to checkin your web deploy settings,
+# but database connection strings (with potential passwords) will be unencrypted
+*.pubxml
+*.publishproj
+
+# Microsoft Azure Web App publish settings. Comment the next line if you want to
+# checkin your Azure Web App publish settings, but sensitive information contained
+# in these scripts will be unencrypted
+PublishScripts/
+
+# NuGet Packages
+*.nupkg
+# NuGet Symbol Packages
+*.snupkg
+# The packages folder can be ignored because of Package Restore
+**/[Pp]ackages/*
+# except build/, which is used as an MSBuild target.
+!**/[Pp]ackages/build/
+# Uncomment if necessary however generally it will be regenerated when needed
+#!**/[Pp]ackages/repositories.config
+# NuGet v3's project.json files produces more ignorable files
+*.nuget.props
+*.nuget.targets
+
+# Microsoft Azure Build Output
+csx/
+*.build.csdef
+
+# Microsoft Azure Emulator
+ecf/
+rcf/
+
+# Windows Store app package directories and files
+AppPackages/
+BundleArtifacts/
+Package.StoreAssociation.xml
+_pkginfo.txt
+*.appx
+*.appxbundle
+*.appxupload
+
+# Visual Studio cache files
+# files ending in .cache can be ignored
+*.[Cc]ache
+# but keep track of directories ending in .cache
+!?*.[Cc]ache/
+
+# Others
+ClientBin/
+~$*
+*~
+*.dbmdl
+*.dbproj.schemaview
+*.jfm
+*.pfx
+*.publishsettings
+orleans.codegen.cs
+
+# Including strong name files can present a security risk
+# (https://github.com/github/gitignore/pull/2483#issue-259490424)
+#*.snk
+
+# Since there are multiple workflows, uncomment next line to ignore bower_components
+# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
+#bower_components/
+
+# RIA/Silverlight projects
+Generated_Code/
+
+# Backup & report files from converting an old project file
+# to a newer Visual Studio version. Backup files are not needed,
+# because we have git ;-)
+_UpgradeReport_Files/
+Backup*/
+UpgradeLog*.XML
+UpgradeLog*.htm
+ServiceFabricBackup/
+*.rptproj.bak
+
+# SQL Server files
+*.mdf
+*.ldf
+*.ndf
+
+# Business Intelligence projects
+*.rdl.data
+*.bim.layout
+*.bim_*.settings
+*.rptproj.rsuser
+*- [Bb]ackup.rdl
+*- [Bb]ackup ([0-9]).rdl
+*- [Bb]ackup ([0-9][0-9]).rdl
+
+# Microsoft Fakes
+FakesAssemblies/
+
+# GhostDoc plugin setting file
+*.GhostDoc.xml
+
+# Node.js Tools for Visual Studio
+.ntvs_analysis.dat
+node_modules/
+
+# Visual Studio 6 build log
+*.plg
+
+# Visual Studio 6 workspace options file
+*.opt
+
+# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
+*.vbw
+
+# Visual Studio 6 auto-generated project file (contains which files were open etc.)
+*.vbp
+
+# Visual Studio 6 workspace and project file (working project files containing files to include in project)
+*.dsw
+*.dsp
+
+# Visual Studio 6 technical files
+*.ncb
+*.aps
+
+# Visual Studio LightSwitch build output
+**/*.HTMLClient/GeneratedArtifacts
+**/*.DesktopClient/GeneratedArtifacts
+**/*.DesktopClient/ModelManifest.xml
+**/*.Server/GeneratedArtifacts
+**/*.Server/ModelManifest.xml
+_Pvt_Extensions
+
+# Paket dependency manager
+.paket/paket.exe
+paket-files/
+
+# FAKE - F# Make
+.fake/
+
+# CodeRush personal settings
+.cr/personal
+
+# Python Tools for Visual Studio (PTVS)
+__pycache__/
+*.pyc
+
+# Cake - Uncomment if you are using it
+# tools/**
+# !tools/packages.config
+
+# Tabs Studio
+*.tss
+
+# Telerik's JustMock configuration file
+*.jmconfig
+
+# BizTalk build output
+*.btp.cs
+*.btm.cs
+*.odx.cs
+*.xsd.cs
+
+# OpenCover UI analysis results
+OpenCover/
+
+# Azure Stream Analytics local run output
+ASALocalRun/
+
+# MSBuild Binary and Structured Log
+*.binlog
+
+# NVidia Nsight GPU debugger configuration file
+*.nvuser
+
+# MFractors (Xamarin productivity tool) working folder
+.mfractor/
+
+# Local History for Visual Studio
+.localhistory/
+
+# Visual Studio History (VSHistory) files
+.vshistory/
+
+# BeatPulse healthcheck temp database
+healthchecksdb
+
+# Backup folder for Package Reference Convert tool in Visual Studio 2017
+MigrationBackup/
+
+# Ionide (cross platform F# VS Code tools) working folder
+.ionide/
+
+# Fody - auto-generated XML schema
+FodyWeavers.xsd
+
+# VS Code files for those working on multiple tools
+.vscode/*
+!.vscode/settings.json
+!.vscode/tasks.json
+!.vscode/launch.json
+!.vscode/extensions.json
+*.code-workspace
+
+# Local History for Visual Studio Code
+.history/
+
+# Windows Installer files from build outputs
+*.cab
+*.msi
+*.msix
+*.msm
+*.msp
+
+# JetBrains Rider
+*.sln.iml
+.idea/
+
+##
+## Visual studio for Mac
+##
+
+
+# globs
+Makefile.in
+*.userprefs
+*.usertasks
+config.make
+config.status
+aclocal.m4
+install-sh
+autom4te.cache/
+*.tar.gz
+tarballs/
+test-results/
+
+# Mac bundle stuff
+*.dmg
+*.app
+
+# content below from: https://github.com/github/gitignore/blob/main/Global/macOS.gitignore
+# General
+.DS_Store
+.AppleDouble
+.LSOverride
+
+# Icon must end with two \r
+Icon
+
+
+# Thumbnails
+._*
+
+# Files that might appear in the root of a volume
+.DocumentRevisions-V100
+.fseventsd
+.Spotlight-V100
+.TemporaryItems
+.Trashes
+.VolumeIcon.icns
+.com.apple.timemachine.donotpresent
+
+# Directories potentially created on remote AFP share
+.AppleDB
+.AppleDesktop
+Network Trash Folder
+Temporary Items
+.apdisk
+
+# content below from: https://github.com/github/gitignore/blob/main/Global/Windows.gitignore
+# Windows thumbnail cache files
+Thumbs.db
+ehthumbs.db
+ehthumbs_vista.db
+
+# Dump file
+*.stackdump
+
+# Folder config file
+[Dd]esktop.ini
+
+# Recycle Bin used on file shares
+$RECYCLE.BIN/
+
+# Windows Installer files
+*.cab
+*.msi
+*.msix
+*.msm
+*.msp
+
+# Windows shortcuts
+*.lnk
+
+# Vim temporary swap files
+*.swp
+
+### Godot ###
+.import/
+export.cfg
+logs/
+.godot
+
+### C7 ###
+C7.ini
+log.txt
+*.csproj.old
+
+# Exports folder ignores
+C7/Exports
+Exports/
+
+# Test runtime files
+tests/C7GameDataTests/data/
diff --git a/C7/C7.sln b/C7.sln
similarity index 85%
rename from C7/C7.sln
rename to C7.sln
index 06766556..cd082c92 100644
--- a/C7/C7.sln
+++ b/C7.sln
@@ -1,31 +1,35 @@
-
+
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29609.76
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "C7", "C7.csproj", "{5DF4328C-C326-46C6-8718-320FF6071871}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "C7", "src\C7\C7.csproj", "{5DF4328C-C326-46C6-8718-320FF6071871}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "C7Engine", "..\C7Engine\C7Engine.csproj", "{FD440E96-DAB8-48DF-85FD-72F75384CA62}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "C7Engine", "src\C7Engine\C7Engine.csproj", "{FD440E96-DAB8-48DF-85FD-72F75384CA62}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "C7GameData", "..\C7GameData\C7GameData.csproj", "{4ECB5932-6D85-4953-B3D8-BD8334D792DE}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "C7GameData", "src\C7GameData\C7GameData.csproj", "{4ECB5932-6D85-4953-B3D8-BD8334D792DE}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ConvertCiv3Media", "..\ConvertCiv3Media\ConvertCiv3Media.csproj", "{A1DD1E87-6D05-49CA-8B41-5404D3727174}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ConvertCiv3Media", "src\ConvertCiv3Media\ConvertCiv3Media.csproj", "{A1DD1E87-6D05-49CA-8B41-5404D3727174}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "QueryCiv3", "..\QueryCiv3\QueryCiv3.csproj", "{8A49BFFF-265B-4A0A-BCF1-0E75E9EFC82F}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "QueryCiv3", "src\QueryCiv3\QueryCiv3.csproj", "{8A49BFFF-265B-4A0A-BCF1-0E75E9EFC82F}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Blast", "..\Blast\Blast.csproj", "{C758B0EB-9F8F-45CF-9ACB-B04705CD7FEC}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Blast", "src\Blast\Blast.csproj", "{C758B0EB-9F8F-45CF-9ACB-B04705CD7FEC}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EngineTests", "..\EngineTests\EngineTests.csproj", "{270876A6-0DC8-4150-B374-0BC9E4CC2113}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EngineTests", "tests\EngineTests\EngineTests.csproj", "{270876A6-0DC8-4150-B374-0BC9E4CC2113}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BuildDevSave", "..\_Console\BuildDevSave\BuildDevSave.csproj", "{E66928C1-157B-42D3-AEC5-88F41C7A7846}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BuildDevSave", "tools\BuildDevSave\BuildDevSave.csproj", "{E66928C1-157B-42D3-AEC5-88F41C7A7846}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "C7GameDataTests", "..\C7GameDataTests\C7GameDataTests.csproj", "{8053F185-AA52-4876-8CF4-D08907FCA61A}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "C7GameDataTests", "tests\C7GameDataTests\C7GameDataTests.csproj", "{8053F185-AA52-4876-8CF4-D08907FCA61A}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{8C955B11-CC6A-4BED-BE2A-89DB985A3A18}"
ProjectSection(SolutionItems) = preProject
- ..\.editorconfig = ..\.editorconfig
+ .editorconfig = .editorconfig
EndProjectSection
EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{104425F1-31A7-4CF6-BCB4-C1439367EA5B}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tools", "Tools", "{3A73670F-497F-4C9E-B567-8B68092ED73D}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -121,4 +125,9 @@ Global
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {AB9956D5-E3A9-4D2B-87FE-443D688F89AA}
EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {8053F185-AA52-4876-8CF4-D08907FCA61A} = {104425F1-31A7-4CF6-BCB4-C1439367EA5B}
+ {270876A6-0DC8-4150-B374-0BC9E4CC2113} = {104425F1-31A7-4CF6-BCB4-C1439367EA5B}
+ {E66928C1-157B-42D3-AEC5-88F41C7A7846} = {3A73670F-497F-4C9E-B567-8B68092ED73D}
+ EndGlobalSection
EndGlobal
diff --git a/C7GameDataTests/.gitignore b/C7GameDataTests/.gitignore
deleted file mode 100644
index b9b71011..00000000
--- a/C7GameDataTests/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-data/output
diff --git a/C7GameDataTests/data/output/info.txt b/C7GameDataTests/data/output/info.txt
deleted file mode 100644
index 38406efc..00000000
--- a/C7GameDataTests/data/output/info.txt
+++ /dev/null
@@ -1 +0,0 @@
-Tests may create files in this directory but they are ignored and should not be checked in.
diff --git a/Blast/BitStream.cs b/src/Blast/BitStream.cs
similarity index 100%
rename from Blast/BitStream.cs
rename to src/Blast/BitStream.cs
diff --git a/Blast/Blast.cs b/src/Blast/Blast.cs
similarity index 100%
rename from Blast/Blast.cs
rename to src/Blast/Blast.cs
diff --git a/Blast/Blast.csproj b/src/Blast/Blast.csproj
similarity index 100%
rename from Blast/Blast.csproj
rename to src/Blast/Blast.csproj
diff --git a/Blast/BlastException.cs b/src/Blast/BlastException.cs
similarity index 100%
rename from Blast/BlastException.cs
rename to src/Blast/BlastException.cs
diff --git a/Blast/HuffmanTable.cs b/src/Blast/HuffmanTable.cs
similarity index 100%
rename from Blast/HuffmanTable.cs
rename to src/Blast/HuffmanTable.cs
diff --git a/Blast/InputBuffer.cs b/src/Blast/InputBuffer.cs
similarity index 100%
rename from Blast/InputBuffer.cs
rename to src/Blast/InputBuffer.cs
diff --git a/Blast/readme.md b/src/Blast/readme.md
similarity index 100%
rename from Blast/readme.md
rename to src/Blast/readme.md
diff --git a/Blast/reference-code/blast.c b/src/Blast/reference-code/blast.c
similarity index 100%
rename from Blast/reference-code/blast.c
rename to src/Blast/reference-code/blast.c
diff --git a/Blast/reference-code/blast.h b/src/Blast/reference-code/blast.h
similarity index 100%
rename from Blast/reference-code/blast.h
rename to src/Blast/reference-code/blast.h
diff --git a/C7/AnimationManager.cs b/src/C7/AnimationManager.cs
similarity index 100%
rename from C7/AnimationManager.cs
rename to src/C7/AnimationManager.cs
diff --git a/C7/AnimationTracker.cs b/src/C7/AnimationTracker.cs
similarity index 100%
rename from C7/AnimationTracker.cs
rename to src/C7/AnimationTracker.cs
diff --git a/C7/Art/Cities/rMIDEAST.pcx b/src/C7/Art/Cities/rMIDEAST.pcx
similarity index 100%
rename from C7/Art/Cities/rMIDEAST.pcx
rename to src/C7/Art/Cities/rMIDEAST.pcx
diff --git a/C7/Art/Title_Screen.jpg b/src/C7/Art/Title_Screen.jpg
similarity index 100%
rename from C7/Art/Title_Screen.jpg
rename to src/C7/Art/Title_Screen.jpg
diff --git a/C7/Art/Title_Screen.jpg.import b/src/C7/Art/Title_Screen.jpg.import
similarity index 100%
rename from C7/Art/Title_Screen.jpg.import
rename to src/C7/Art/Title_Screen.jpg.import
diff --git a/C7/Art/Units/Settler/Build.flc b/src/C7/Art/Units/Settler/Build.flc
similarity index 100%
rename from C7/Art/Units/Settler/Build.flc
rename to src/C7/Art/Units/Settler/Build.flc
diff --git a/C7/Art/Units/Settler/Captured.flc b/src/C7/Art/Units/Settler/Captured.flc
similarity index 100%
rename from C7/Art/Units/Settler/Captured.flc
rename to src/C7/Art/Units/Settler/Captured.flc
diff --git a/C7/Art/Units/Settler/Death.flc b/src/C7/Art/Units/Settler/Death.flc
similarity index 100%
rename from C7/Art/Units/Settler/Death.flc
rename to src/C7/Art/Units/Settler/Death.flc
diff --git a/C7/Art/Units/Settler/Default.flc b/src/C7/Art/Units/Settler/Default.flc
similarity index 100%
rename from C7/Art/Units/Settler/Default.flc
rename to src/C7/Art/Units/Settler/Default.flc
diff --git a/C7/Art/Units/Settler/Fidget.flc b/src/C7/Art/Units/Settler/Fidget.flc
similarity index 100%
rename from C7/Art/Units/Settler/Fidget.flc
rename to src/C7/Art/Units/Settler/Fidget.flc
diff --git a/C7/Art/Units/Settler/Pedia/Large.pcx b/src/C7/Art/Units/Settler/Pedia/Large.pcx
similarity index 100%
rename from C7/Art/Units/Settler/Pedia/Large.pcx
rename to src/C7/Art/Units/Settler/Pedia/Large.pcx
diff --git a/C7/Art/Units/Settler/Pedia/Small.pcx b/src/C7/Art/Units/Settler/Pedia/Small.pcx
similarity index 100%
rename from C7/Art/Units/Settler/Pedia/Small.pcx
rename to src/C7/Art/Units/Settler/Pedia/Small.pcx
diff --git a/C7/Art/Units/Settler/Pedia/Unit32.pcx b/src/C7/Art/Units/Settler/Pedia/Unit32.pcx
similarity index 100%
rename from C7/Art/Units/Settler/Pedia/Unit32.pcx
rename to src/C7/Art/Units/Settler/Pedia/Unit32.pcx
diff --git a/C7/Art/Units/Settler/Pedia/Unit32_TrueColour.pcx b/src/C7/Art/Units/Settler/Pedia/Unit32_TrueColour.pcx
similarity index 100%
rename from C7/Art/Units/Settler/Pedia/Unit32_TrueColour.pcx
rename to src/C7/Art/Units/Settler/Pedia/Unit32_TrueColour.pcx
diff --git a/C7/Art/Units/Settler/Run.flc b/src/C7/Art/Units/Settler/Run.flc
similarity index 100%
rename from C7/Art/Units/Settler/Run.flc
rename to src/C7/Art/Units/Settler/Run.flc
diff --git a/C7/Art/Units/Settler/Settler.ini b/src/C7/Art/Units/Settler/Settler.ini
similarity index 100%
rename from C7/Art/Units/Settler/Settler.ini
rename to src/C7/Art/Units/Settler/Settler.ini
diff --git a/C7/C7.csproj b/src/C7/C7.csproj
similarity index 100%
rename from C7/C7.csproj
rename to src/C7/C7.csproj
diff --git a/C7/C7Game.tscn b/src/C7/C7Game.tscn
similarity index 100%
rename from C7/C7Game.tscn
rename to src/C7/C7Game.tscn
diff --git a/C7/C7Theme.tres b/src/C7/C7Theme.tres
similarity index 100%
rename from C7/C7Theme.tres
rename to src/C7/C7Theme.tres
diff --git a/C7/Civ3Map/Civ3Map.cs b/src/C7/Civ3Map/Civ3Map.cs
similarity index 100%
rename from C7/Civ3Map/Civ3Map.cs
rename to src/C7/Civ3Map/Civ3Map.cs
diff --git a/C7/Civ3Unit/Civ3Unit.cs b/src/C7/Civ3Unit/Civ3Unit.cs
similarity index 100%
rename from C7/Civ3Unit/Civ3Unit.cs
rename to src/C7/Civ3Unit/Civ3Unit.cs
diff --git a/C7/ComponentManager.cs b/src/C7/ComponentManager.cs
similarity index 100%
rename from C7/ComponentManager.cs
rename to src/C7/ComponentManager.cs
diff --git a/C7/Credits.cs b/src/C7/Credits.cs
similarity index 100%
rename from C7/Credits.cs
rename to src/C7/Credits.cs
diff --git a/C7/Credits.tscn b/src/C7/Credits.tscn
similarity index 100%
rename from C7/Credits.tscn
rename to src/C7/Credits.tscn
diff --git a/C7/Fonts/LICENSE-NotoSans.txt b/src/C7/Fonts/LICENSE-NotoSans.txt
similarity index 97%
rename from C7/Fonts/LICENSE-NotoSans.txt
rename to src/C7/Fonts/LICENSE-NotoSans.txt
index d4e7958b..c9857270 100644
--- a/C7/Fonts/LICENSE-NotoSans.txt
+++ b/src/C7/Fonts/LICENSE-NotoSans.txt
@@ -1,93 +1,93 @@
-Copyright 2012 Google Inc. All Rights Reserved.
-
-This Font Software is licensed under the SIL Open Font License, Version 1.1.
-This license is copied below, and is also available with a FAQ at:
-http://scripts.sil.org/OFL
-
-
------------------------------------------------------------
-SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
------------------------------------------------------------
-
-PREAMBLE
-The goals of the Open Font License (OFL) are to stimulate worldwide
-development of collaborative font projects, to support the font creation
-efforts of academic and linguistic communities, and to provide a free and
-open framework in which fonts may be shared and improved in partnership
-with others.
-
-The OFL allows the licensed fonts to be used, studied, modified and
-redistributed freely as long as they are not sold by themselves. The
-fonts, including any derivative works, can be bundled, embedded,
-redistributed and/or sold with any software provided that any reserved
-names are not used by derivative works. The fonts and derivatives,
-however, cannot be released under any other type of license. The
-requirement for fonts to remain under this license does not apply
-to any document created using the fonts or their derivatives.
-
-DEFINITIONS
-"Font Software" refers to the set of files released by the Copyright
-Holder(s) under this license and clearly marked as such. This may
-include source files, build scripts and documentation.
-
-"Reserved Font Name" refers to any names specified as such after the
-copyright statement(s).
-
-"Original Version" refers to the collection of Font Software components as
-distributed by the Copyright Holder(s).
-
-"Modified Version" refers to any derivative made by adding to, deleting,
-or substituting -- in part or in whole -- any of the components of the
-Original Version, by changing formats or by porting the Font Software to a
-new environment.
-
-"Author" refers to any designer, engineer, programmer, technical
-writer or other person who contributed to the Font Software.
-
-PERMISSION & CONDITIONS
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of the Font Software, to use, study, copy, merge, embed, modify,
-redistribute, and sell modified and unmodified copies of the Font
-Software, subject to the following conditions:
-
-1) Neither the Font Software nor any of its individual components,
-in Original or Modified Versions, may be sold by itself.
-
-2) Original or Modified Versions of the Font Software may be bundled,
-redistributed and/or sold with any software, provided that each copy
-contains the above copyright notice and this license. These can be
-included either as stand-alone text files, human-readable headers or
-in the appropriate machine-readable metadata fields within text or
-binary files as long as those fields can be easily viewed by the user.
-
-3) No Modified Version of the Font Software may use the Reserved Font
-Name(s) unless explicit written permission is granted by the corresponding
-Copyright Holder. This restriction only applies to the primary font name as
-presented to the users.
-
-4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
-Software shall not be used to promote, endorse or advertise any
-Modified Version, except to acknowledge the contribution(s) of the
-Copyright Holder(s) and the Author(s) or with their explicit written
-permission.
-
-5) The Font Software, modified or unmodified, in part or in whole,
-must be distributed entirely under this license, and must not be
-distributed under any other license. The requirement for fonts to
-remain under this license does not apply to any document created
-using the Font Software.
-
-TERMINATION
-This license becomes null and void if any of the above conditions are
-not met.
-
-DISCLAIMER
-THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
-OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
-COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
-DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
-OTHER DEALINGS IN THE FONT SOFTWARE.
+Copyright 2012 Google Inc. All Rights Reserved.
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/C7/Fonts/NSansFont12Pt co.tres b/src/C7/Fonts/NSansFont12Pt co.tres
similarity index 100%
rename from C7/Fonts/NSansFont12Pt co.tres
rename to src/C7/Fonts/NSansFont12Pt co.tres
diff --git a/C7/Fonts/NSansFont24Pt.tres b/src/C7/Fonts/NSansFont24Pt.tres
similarity index 100%
rename from C7/Fonts/NSansFont24Pt.tres
rename to src/C7/Fonts/NSansFont24Pt.tres
diff --git a/C7/Fonts/NotoSans-Bold.ttf b/src/C7/Fonts/NotoSans-Bold.ttf
similarity index 100%
rename from C7/Fonts/NotoSans-Bold.ttf
rename to src/C7/Fonts/NotoSans-Bold.ttf
diff --git a/C7/Fonts/NotoSans-Bold.ttf.import b/src/C7/Fonts/NotoSans-Bold.ttf.import
similarity index 100%
rename from C7/Fonts/NotoSans-Bold.ttf.import
rename to src/C7/Fonts/NotoSans-Bold.ttf.import
diff --git a/C7/Fonts/NotoSans-BoldItalic.ttf b/src/C7/Fonts/NotoSans-BoldItalic.ttf
similarity index 100%
rename from C7/Fonts/NotoSans-BoldItalic.ttf
rename to src/C7/Fonts/NotoSans-BoldItalic.ttf
diff --git a/C7/Fonts/NotoSans-BoldItalic.ttf.import b/src/C7/Fonts/NotoSans-BoldItalic.ttf.import
similarity index 100%
rename from C7/Fonts/NotoSans-BoldItalic.ttf.import
rename to src/C7/Fonts/NotoSans-BoldItalic.ttf.import
diff --git a/C7/Fonts/NotoSans-Italic.ttf b/src/C7/Fonts/NotoSans-Italic.ttf
similarity index 100%
rename from C7/Fonts/NotoSans-Italic.ttf
rename to src/C7/Fonts/NotoSans-Italic.ttf
diff --git a/C7/Fonts/NotoSans-Italic.ttf.import b/src/C7/Fonts/NotoSans-Italic.ttf.import
similarity index 100%
rename from C7/Fonts/NotoSans-Italic.ttf.import
rename to src/C7/Fonts/NotoSans-Italic.ttf.import
diff --git a/C7/Fonts/NotoSans-Regular.ttf b/src/C7/Fonts/NotoSans-Regular.ttf
similarity index 100%
rename from C7/Fonts/NotoSans-Regular.ttf
rename to src/C7/Fonts/NotoSans-Regular.ttf
diff --git a/C7/Fonts/NotoSans-Regular.ttf.import b/src/C7/Fonts/NotoSans-Regular.ttf.import
similarity index 100%
rename from C7/Fonts/NotoSans-Regular.ttf.import
rename to src/C7/Fonts/NotoSans-Regular.ttf.import
diff --git a/C7/Game.cs b/src/C7/Game.cs
similarity index 100%
rename from C7/Game.cs
rename to src/C7/Game.cs
diff --git a/C7/GlobalSingleton.cs b/src/C7/GlobalSingleton.cs
similarity index 100%
rename from C7/GlobalSingleton.cs
rename to src/C7/GlobalSingleton.cs
diff --git a/C7/GodotSink.cs b/src/C7/GodotSink.cs
similarity index 100%
rename from C7/GodotSink.cs
rename to src/C7/GodotSink.cs
diff --git a/C7/LogManager.cs b/src/C7/LogManager.cs
similarity index 100%
rename from C7/LogManager.cs
rename to src/C7/LogManager.cs
diff --git a/C7/MainMenu.cs b/src/C7/MainMenu.cs
similarity index 100%
rename from C7/MainMenu.cs
rename to src/C7/MainMenu.cs
diff --git a/C7/MainMenu.tscn b/src/C7/MainMenu.tscn
similarity index 100%
rename from C7/MainMenu.tscn
rename to src/C7/MainMenu.tscn
diff --git a/C7/MainMenuMusicPlayer.cs b/src/C7/MainMenuMusicPlayer.cs
similarity index 100%
rename from C7/MainMenuMusicPlayer.cs
rename to src/C7/MainMenuMusicPlayer.cs
diff --git a/C7/MainMenuTheme.tres b/src/C7/MainMenuTheme.tres
similarity index 100%
rename from C7/MainMenuTheme.tres
rename to src/C7/MainMenuTheme.tres
diff --git a/C7/Map/BorderLayer.cs b/src/C7/Map/BorderLayer.cs
similarity index 100%
rename from C7/Map/BorderLayer.cs
rename to src/C7/Map/BorderLayer.cs
diff --git a/C7/Map/CityLabelScene.cs b/src/C7/Map/CityLabelScene.cs
similarity index 100%
rename from C7/Map/CityLabelScene.cs
rename to src/C7/Map/CityLabelScene.cs
diff --git a/C7/Map/CityLayer.cs b/src/C7/Map/CityLayer.cs
similarity index 100%
rename from C7/Map/CityLayer.cs
rename to src/C7/Map/CityLayer.cs
diff --git a/C7/Map/CityScene.cs b/src/C7/Map/CityScene.cs
similarity index 100%
rename from C7/Map/CityScene.cs
rename to src/C7/Map/CityScene.cs
diff --git a/C7/Map/FogOfWarLayer.cs b/src/C7/Map/FogOfWarLayer.cs
similarity index 100%
rename from C7/Map/FogOfWarLayer.cs
rename to src/C7/Map/FogOfWarLayer.cs
diff --git a/C7/Map/GotoLayer.cs b/src/C7/Map/GotoLayer.cs
similarity index 100%
rename from C7/Map/GotoLayer.cs
rename to src/C7/Map/GotoLayer.cs
diff --git a/C7/Map/ResourceLayer.cs b/src/C7/Map/ResourceLayer.cs
similarity index 100%
rename from C7/Map/ResourceLayer.cs
rename to src/C7/Map/ResourceLayer.cs
diff --git a/C7/Map/TileAssignmentLayer.cs b/src/C7/Map/TileAssignmentLayer.cs
similarity index 100%
rename from C7/Map/TileAssignmentLayer.cs
rename to src/C7/Map/TileAssignmentLayer.cs
diff --git a/C7/Map/TileOverlayLayer.cs b/src/C7/Map/TileOverlayLayer.cs
similarity index 100%
rename from C7/Map/TileOverlayLayer.cs
rename to src/C7/Map/TileOverlayLayer.cs
diff --git a/C7/Map/TntLayer.cs b/src/C7/Map/TntLayer.cs
similarity index 100%
rename from C7/Map/TntLayer.cs
rename to src/C7/Map/TntLayer.cs
diff --git a/C7/Map/UnitLayer.cs b/src/C7/Map/UnitLayer.cs
similarity index 100%
rename from C7/Map/UnitLayer.cs
rename to src/C7/Map/UnitLayer.cs
diff --git a/C7/MapView.cs b/src/C7/MapView.cs
similarity index 100%
rename from C7/MapView.cs
rename to src/C7/MapView.cs
diff --git a/C7/PCXToGodot.cs b/src/C7/PCXToGodot.cs
similarity index 100%
rename from C7/PCXToGodot.cs
rename to src/C7/PCXToGodot.cs
diff --git a/C7/ParameterWrapper.cs b/src/C7/ParameterWrapper.cs
similarity index 100%
rename from C7/ParameterWrapper.cs
rename to src/C7/ParameterWrapper.cs
diff --git a/C7/Text/c7-static-map-save.json b/src/C7/Text/c7-static-map-save.json
similarity index 100%
rename from C7/Text/c7-static-map-save.json
rename to src/C7/Text/c7-static-map-save.json
diff --git a/C7/Text/credits.txt b/src/C7/Text/credits.txt
similarity index 100%
rename from C7/Text/credits.txt
rename to src/C7/Text/credits.txt
diff --git a/C7/Title_Screen.kra b/src/C7/Title_Screen.kra
similarity index 100%
rename from C7/Title_Screen.kra
rename to src/C7/Title_Screen.kra
diff --git a/C7/UIElements/Advisors/Advisors.cs b/src/C7/UIElements/Advisors/Advisors.cs
similarity index 100%
rename from C7/UIElements/Advisors/Advisors.cs
rename to src/C7/UIElements/Advisors/Advisors.cs
diff --git a/C7/UIElements/Advisors/DomesticAdvisor.cs b/src/C7/UIElements/Advisors/DomesticAdvisor.cs
similarity index 100%
rename from C7/UIElements/Advisors/DomesticAdvisor.cs
rename to src/C7/UIElements/Advisors/DomesticAdvisor.cs
diff --git a/C7/UIElements/Advisors/ScienceAdvisor.cs b/src/C7/UIElements/Advisors/ScienceAdvisor.cs
similarity index 100%
rename from C7/UIElements/Advisors/ScienceAdvisor.cs
rename to src/C7/UIElements/Advisors/ScienceAdvisor.cs
diff --git a/C7/UIElements/Advisors/TechBox.cs b/src/C7/UIElements/Advisors/TechBox.cs
similarity index 100%
rename from C7/UIElements/Advisors/TechBox.cs
rename to src/C7/UIElements/Advisors/TechBox.cs
diff --git a/C7/UIElements/CityScreen/CityScreen.cs b/src/C7/UIElements/CityScreen/CityScreen.cs
similarity index 100%
rename from C7/UIElements/CityScreen/CityScreen.cs
rename to src/C7/UIElements/CityScreen/CityScreen.cs
diff --git a/C7/UIElements/Civ3FileDialog.cs b/src/C7/UIElements/Civ3FileDialog.cs
similarity index 100%
rename from C7/UIElements/Civ3FileDialog.cs
rename to src/C7/UIElements/Civ3FileDialog.cs
diff --git a/C7/UIElements/GameStatus/GameStatus.cs b/src/C7/UIElements/GameStatus/GameStatus.cs
similarity index 100%
rename from C7/UIElements/GameStatus/GameStatus.cs
rename to src/C7/UIElements/GameStatus/GameStatus.cs
diff --git a/C7/UIElements/GameStatus/LowerRightInfoBox.cs b/src/C7/UIElements/GameStatus/LowerRightInfoBox.cs
similarity index 100%
rename from C7/UIElements/GameStatus/LowerRightInfoBox.cs
rename to src/C7/UIElements/GameStatus/LowerRightInfoBox.cs
diff --git a/C7/UIElements/Popups/BuildCityDialog.cs b/src/C7/UIElements/Popups/BuildCityDialog.cs
similarity index 100%
rename from C7/UIElements/Popups/BuildCityDialog.cs
rename to src/C7/UIElements/Popups/BuildCityDialog.cs
diff --git a/C7/UIElements/Popups/CivilizationDestroyed.cs b/src/C7/UIElements/Popups/CivilizationDestroyed.cs
similarity index 100%
rename from C7/UIElements/Popups/CivilizationDestroyed.cs
rename to src/C7/UIElements/Popups/CivilizationDestroyed.cs
diff --git a/C7/UIElements/Popups/DisbandConfirmation.cs b/src/C7/UIElements/Popups/DisbandConfirmation.cs
similarity index 100%
rename from C7/UIElements/Popups/DisbandConfirmation.cs
rename to src/C7/UIElements/Popups/DisbandConfirmation.cs
diff --git a/C7/UIElements/Popups/ErrorMessage.cs b/src/C7/UIElements/Popups/ErrorMessage.cs
similarity index 100%
rename from C7/UIElements/Popups/ErrorMessage.cs
rename to src/C7/UIElements/Popups/ErrorMessage.cs
diff --git a/C7/UIElements/Popups/EscapeQuitPopup.cs b/src/C7/UIElements/Popups/EscapeQuitPopup.cs
similarity index 100%
rename from C7/UIElements/Popups/EscapeQuitPopup.cs
rename to src/C7/UIElements/Popups/EscapeQuitPopup.cs
diff --git a/C7/UIElements/Popups/GameMenu.cs b/src/C7/UIElements/Popups/GameMenu.cs
similarity index 100%
rename from C7/UIElements/Popups/GameMenu.cs
rename to src/C7/UIElements/Popups/GameMenu.cs
diff --git a/C7/UIElements/Popups/Popup.cs b/src/C7/UIElements/Popups/Popup.cs
similarity index 100%
rename from C7/UIElements/Popups/Popup.cs
rename to src/C7/UIElements/Popups/Popup.cs
diff --git a/C7/UIElements/Popups/PopupOverlay.cs b/src/C7/UIElements/Popups/PopupOverlay.cs
similarity index 100%
rename from C7/UIElements/Popups/PopupOverlay.cs
rename to src/C7/UIElements/Popups/PopupOverlay.cs
diff --git a/C7/UIElements/RightClickMenu.cs b/src/C7/UIElements/RightClickMenu.cs
similarity index 100%
rename from C7/UIElements/RightClickMenu.cs
rename to src/C7/UIElements/RightClickMenu.cs
diff --git a/C7/UIElements/Theme.cs b/src/C7/UIElements/Theme.cs
similarity index 100%
rename from C7/UIElements/Theme.cs
rename to src/C7/UIElements/Theme.cs
diff --git a/C7/UIElements/UnitButtons/RenameButton.cs b/src/C7/UIElements/UnitButtons/RenameButton.cs
similarity index 100%
rename from C7/UIElements/UnitButtons/RenameButton.cs
rename to src/C7/UIElements/UnitButtons/RenameButton.cs
diff --git a/C7/UIElements/UnitButtons/UnitButtons.cs b/src/C7/UIElements/UnitButtons/UnitButtons.cs
similarity index 100%
rename from C7/UIElements/UnitButtons/UnitButtons.cs
rename to src/C7/UIElements/UnitButtons/UnitButtons.cs
diff --git a/C7/UIElements/UnitButtons/UnitControlButton.cs b/src/C7/UIElements/UnitButtons/UnitControlButton.cs
similarity index 100%
rename from C7/UIElements/UnitButtons/UnitControlButton.cs
rename to src/C7/UIElements/UnitButtons/UnitControlButton.cs
diff --git a/C7/UIElements/UpperLeftNav/AdvisorButton.cs b/src/C7/UIElements/UpperLeftNav/AdvisorButton.cs
similarity index 100%
rename from C7/UIElements/UpperLeftNav/AdvisorButton.cs
rename to src/C7/UIElements/UpperLeftNav/AdvisorButton.cs
diff --git a/C7/UIElements/UpperLeftNav/CivilopediaButton.cs b/src/C7/UIElements/UpperLeftNav/CivilopediaButton.cs
similarity index 100%
rename from C7/UIElements/UpperLeftNav/CivilopediaButton.cs
rename to src/C7/UIElements/UpperLeftNav/CivilopediaButton.cs
diff --git a/C7/UIElements/UpperLeftNav/MenuButton.cs b/src/C7/UIElements/UpperLeftNav/MenuButton.cs
similarity index 100%
rename from C7/UIElements/UpperLeftNav/MenuButton.cs
rename to src/C7/UIElements/UpperLeftNav/MenuButton.cs
diff --git a/C7/UIElements/civ3_file_dialog.tscn b/src/C7/UIElements/civ3_file_dialog.tscn
similarity index 100%
rename from C7/UIElements/civ3_file_dialog.tscn
rename to src/C7/UIElements/civ3_file_dialog.tscn
diff --git a/C7/UnitTint.gdshader b/src/C7/UnitTint.gdshader
similarity index 100%
rename from C7/UnitTint.gdshader
rename to src/C7/UnitTint.gdshader
diff --git a/C7/Util.cs b/src/C7/Util.cs
similarity index 100%
rename from C7/Util.cs
rename to src/C7/Util.cs
diff --git a/C7/default_env.tres b/src/C7/default_env.tres
similarity index 100%
rename from C7/default_env.tres
rename to src/C7/default_env.tres
diff --git a/C7/export_presets.cfg b/src/C7/export_presets.cfg
similarity index 100%
rename from C7/export_presets.cfg
rename to src/C7/export_presets.cfg
diff --git a/C7/icon.png b/src/C7/icon.png
similarity index 100%
rename from C7/icon.png
rename to src/C7/icon.png
diff --git a/C7/icon.png.import b/src/C7/icon.png.import
similarity index 100%
rename from C7/icon.png.import
rename to src/C7/icon.png.import
diff --git a/C7/project.godot b/src/C7/project.godot
similarity index 100%
rename from C7/project.godot
rename to src/C7/project.godot
diff --git a/C7/readme.md b/src/C7/readme.md
similarity index 100%
rename from C7/readme.md
rename to src/C7/readme.md
diff --git a/C7/test.tscn b/src/C7/test.tscn
similarity index 100%
rename from C7/test.tscn
rename to src/C7/test.tscn
diff --git a/C7/tests/TestUnit.cs b/src/C7/tests/TestUnit.cs
similarity index 100%
rename from C7/tests/TestUnit.cs
rename to src/C7/tests/TestUnit.cs
diff --git a/C7/tests/Unit.tscn b/src/C7/tests/Unit.tscn
similarity index 100%
rename from C7/tests/Unit.tscn
rename to src/C7/tests/Unit.tscn
diff --git a/C7Engine/AI/BarbarianAI.cs b/src/C7Engine/AI/BarbarianAI.cs
similarity index 100%
rename from C7Engine/AI/BarbarianAI.cs
rename to src/C7Engine/AI/BarbarianAI.cs
diff --git a/C7Engine/AI/CityProductionAI.cs b/src/C7Engine/AI/CityProductionAI.cs
similarity index 100%
rename from C7Engine/AI/CityProductionAI.cs
rename to src/C7Engine/AI/CityProductionAI.cs
diff --git a/C7Engine/AI/CityTileAssignmentAI.cs b/src/C7Engine/AI/CityTileAssignmentAI.cs
similarity index 100%
rename from C7Engine/AI/CityTileAssignmentAI.cs
rename to src/C7Engine/AI/CityTileAssignmentAI.cs
diff --git a/C7Engine/AI/IAI.cs b/src/C7Engine/AI/IAI.cs
similarity index 100%
rename from C7Engine/AI/IAI.cs
rename to src/C7Engine/AI/IAI.cs
diff --git a/C7Engine/AI/Pathing/AStarAlgorithm.cs b/src/C7Engine/AI/Pathing/AStarAlgorithm.cs
similarity index 100%
rename from C7Engine/AI/Pathing/AStarAlgorithm.cs
rename to src/C7Engine/AI/Pathing/AStarAlgorithm.cs
diff --git a/C7Engine/AI/Pathing/BinaryMinHeap.cs b/src/C7Engine/AI/Pathing/BinaryMinHeap.cs
similarity index 100%
rename from C7Engine/AI/Pathing/BinaryMinHeap.cs
rename to src/C7Engine/AI/Pathing/BinaryMinHeap.cs
diff --git a/C7Engine/AI/Pathing/Edge.cs b/src/C7Engine/AI/Pathing/Edge.cs
similarity index 100%
rename from C7Engine/AI/Pathing/Edge.cs
rename to src/C7Engine/AI/Pathing/Edge.cs
diff --git a/C7Engine/AI/Pathing/EdgeWalker.cs b/src/C7Engine/AI/Pathing/EdgeWalker.cs
similarity index 100%
rename from C7Engine/AI/Pathing/EdgeWalker.cs
rename to src/C7Engine/AI/Pathing/EdgeWalker.cs
diff --git a/C7Engine/AI/Pathing/PathingAlgorithm.cs b/src/C7Engine/AI/Pathing/PathingAlgorithm.cs
similarity index 100%
rename from C7Engine/AI/Pathing/PathingAlgorithm.cs
rename to src/C7Engine/AI/Pathing/PathingAlgorithm.cs
diff --git a/C7Engine/AI/Pathing/PathingAlgorithmChooser.cs b/src/C7Engine/AI/Pathing/PathingAlgorithmChooser.cs
similarity index 100%
rename from C7Engine/AI/Pathing/PathingAlgorithmChooser.cs
rename to src/C7Engine/AI/Pathing/PathingAlgorithmChooser.cs
diff --git a/C7Engine/AI/Pathing/PathingNotes.txt b/src/C7Engine/AI/Pathing/PathingNotes.txt
similarity index 100%
rename from C7Engine/AI/Pathing/PathingNotes.txt
rename to src/C7Engine/AI/Pathing/PathingNotes.txt
diff --git a/C7Engine/AI/PlayerAI.cs b/src/C7Engine/AI/PlayerAI.cs
similarity index 100%
rename from C7Engine/AI/PlayerAI.cs
rename to src/C7Engine/AI/PlayerAI.cs
diff --git a/C7Engine/AI/StrategicAI/ExpansionPriority.cs b/src/C7Engine/AI/StrategicAI/ExpansionPriority.cs
similarity index 100%
rename from C7Engine/AI/StrategicAI/ExpansionPriority.cs
rename to src/C7Engine/AI/StrategicAI/ExpansionPriority.cs
diff --git a/C7Engine/AI/StrategicAI/ExplorationPriority.cs b/src/C7Engine/AI/StrategicAI/ExplorationPriority.cs
similarity index 100%
rename from C7Engine/AI/StrategicAI/ExplorationPriority.cs
rename to src/C7Engine/AI/StrategicAI/ExplorationPriority.cs
diff --git a/C7Engine/AI/StrategicAI/PriorityAggregator.cs b/src/C7Engine/AI/StrategicAI/PriorityAggregator.cs
similarity index 100%
rename from C7Engine/AI/StrategicAI/PriorityAggregator.cs
rename to src/C7Engine/AI/StrategicAI/PriorityAggregator.cs
diff --git a/C7Engine/AI/StrategicAI/UtilityCalculations.cs b/src/C7Engine/AI/StrategicAI/UtilityCalculations.cs
similarity index 100%
rename from C7Engine/AI/StrategicAI/UtilityCalculations.cs
rename to src/C7Engine/AI/StrategicAI/UtilityCalculations.cs
diff --git a/C7Engine/AI/StrategicAI/WarPriority.cs b/src/C7Engine/AI/StrategicAI/WarPriority.cs
similarity index 100%
rename from C7Engine/AI/StrategicAI/WarPriority.cs
rename to src/C7Engine/AI/StrategicAI/WarPriority.cs
diff --git a/C7Engine/AI/StrategicPriorityArbitrator.cs b/src/C7Engine/AI/StrategicPriorityArbitrator.cs
similarity index 100%
rename from C7Engine/AI/StrategicPriorityArbitrator.cs
rename to src/C7Engine/AI/StrategicPriorityArbitrator.cs
diff --git a/C7Engine/AI/UnitAI/CombatAI.cs b/src/C7Engine/AI/UnitAI/CombatAI.cs
similarity index 100%
rename from C7Engine/AI/UnitAI/CombatAI.cs
rename to src/C7Engine/AI/UnitAI/CombatAI.cs
diff --git a/C7Engine/AI/UnitAI/DefenderAI.cs b/src/C7Engine/AI/UnitAI/DefenderAI.cs
similarity index 100%
rename from C7Engine/AI/UnitAI/DefenderAI.cs
rename to src/C7Engine/AI/UnitAI/DefenderAI.cs
diff --git a/C7Engine/AI/UnitAI/ExplorerAI.cs b/src/C7Engine/AI/UnitAI/ExplorerAI.cs
similarity index 100%
rename from C7Engine/AI/UnitAI/ExplorerAI.cs
rename to src/C7Engine/AI/UnitAI/ExplorerAI.cs
diff --git a/C7Engine/AI/UnitAI/SettlerAI.cs b/src/C7Engine/AI/UnitAI/SettlerAI.cs
similarity index 100%
rename from C7Engine/AI/UnitAI/SettlerAI.cs
rename to src/C7Engine/AI/UnitAI/SettlerAI.cs
diff --git a/C7Engine/AI/UnitAI/SettlerLocationAI.cs b/src/C7Engine/AI/UnitAI/SettlerLocationAI.cs
similarity index 100%
rename from C7Engine/AI/UnitAI/SettlerLocationAI.cs
rename to src/C7Engine/AI/UnitAI/SettlerLocationAI.cs
diff --git a/C7Engine/AI/UnitAI/UnitAI.cs b/src/C7Engine/AI/UnitAI/UnitAI.cs
similarity index 100%
rename from C7Engine/AI/UnitAI/UnitAI.cs
rename to src/C7Engine/AI/UnitAI/UnitAI.cs
diff --git a/C7Engine/C7Engine.csproj b/src/C7Engine/C7Engine.csproj
similarity index 100%
rename from C7Engine/C7Engine.csproj
rename to src/C7Engine/C7Engine.csproj
diff --git a/C7Engine/C7Settings.cs b/src/C7Engine/C7Settings.cs
similarity index 100%
rename from C7Engine/C7Settings.cs
rename to src/C7Engine/C7Settings.cs
diff --git a/C7Engine/CityExtensions.cs b/src/C7Engine/CityExtensions.cs
similarity index 100%
rename from C7Engine/CityExtensions.cs
rename to src/C7Engine/CityExtensions.cs
diff --git a/C7Engine/EngineStorage.cs b/src/C7Engine/EngineStorage.cs
similarity index 100%
rename from C7Engine/EngineStorage.cs
rename to src/C7Engine/EngineStorage.cs
diff --git a/C7Engine/EntryPoints/CityInteractions.cs b/src/C7Engine/EntryPoints/CityInteractions.cs
similarity index 100%
rename from C7Engine/EntryPoints/CityInteractions.cs
rename to src/C7Engine/EntryPoints/CityInteractions.cs
diff --git a/C7Engine/EntryPoints/CreateGame.cs b/src/C7Engine/EntryPoints/CreateGame.cs
similarity index 100%
rename from C7Engine/EntryPoints/CreateGame.cs
rename to src/C7Engine/EntryPoints/CreateGame.cs
diff --git a/C7Engine/EntryPoints/MessageToEngine.cs b/src/C7Engine/EntryPoints/MessageToEngine.cs
similarity index 100%
rename from C7Engine/EntryPoints/MessageToEngine.cs
rename to src/C7Engine/EntryPoints/MessageToEngine.cs
diff --git a/C7Engine/EntryPoints/MessageToUI.cs b/src/C7Engine/EntryPoints/MessageToUI.cs
similarity index 100%
rename from C7Engine/EntryPoints/MessageToUI.cs
rename to src/C7Engine/EntryPoints/MessageToUI.cs
diff --git a/C7Engine/EntryPoints/TurnHandling.cs b/src/C7Engine/EntryPoints/TurnHandling.cs
similarity index 100%
rename from C7Engine/EntryPoints/TurnHandling.cs
rename to src/C7Engine/EntryPoints/TurnHandling.cs
diff --git a/C7Engine/EntryPoints/UnitInteractions.cs b/src/C7Engine/EntryPoints/UnitInteractions.cs
similarity index 100%
rename from C7Engine/EntryPoints/UnitInteractions.cs
rename to src/C7Engine/EntryPoints/UnitInteractions.cs
diff --git a/C7Engine/MapUnitExtensions.cs b/src/C7Engine/MapUnitExtensions.cs
similarity index 100%
rename from C7Engine/MapUnitExtensions.cs
rename to src/C7Engine/MapUnitExtensions.cs
diff --git a/C7Engine/SaveManager.cs b/src/C7Engine/SaveManager.cs
similarity index 100%
rename from C7Engine/SaveManager.cs
rename to src/C7Engine/SaveManager.cs
diff --git a/C7Engine/TileExtensions.cs b/src/C7Engine/TileExtensions.cs
similarity index 100%
rename from C7Engine/TileExtensions.cs
rename to src/C7Engine/TileExtensions.cs
diff --git a/C7Engine/Weighting.cs b/src/C7Engine/Weighting.cs
similarity index 100%
rename from C7Engine/Weighting.cs
rename to src/C7Engine/Weighting.cs
diff --git a/C7Engine/readme.md b/src/C7Engine/readme.md
similarity index 100%
rename from C7Engine/readme.md
rename to src/C7Engine/readme.md
diff --git a/C7GameData/AIData/CombatAIData.cs b/src/C7GameData/AIData/CombatAIData.cs
similarity index 100%
rename from C7GameData/AIData/CombatAIData.cs
rename to src/C7GameData/AIData/CombatAIData.cs
diff --git a/C7GameData/AIData/DefenderAIData.cs b/src/C7GameData/AIData/DefenderAIData.cs
similarity index 100%
rename from C7GameData/AIData/DefenderAIData.cs
rename to src/C7GameData/AIData/DefenderAIData.cs
diff --git a/C7GameData/AIData/ExplorerAIData.cs b/src/C7GameData/AIData/ExplorerAIData.cs
similarity index 100%
rename from C7GameData/AIData/ExplorerAIData.cs
rename to src/C7GameData/AIData/ExplorerAIData.cs
diff --git a/C7GameData/AIData/SettlerAIData.cs b/src/C7GameData/AIData/SettlerAIData.cs
similarity index 100%
rename from C7GameData/AIData/SettlerAIData.cs
rename to src/C7GameData/AIData/SettlerAIData.cs
diff --git a/C7GameData/AIData/StrategicPriority.cs b/src/C7GameData/AIData/StrategicPriority.cs
similarity index 100%
rename from C7GameData/AIData/StrategicPriority.cs
rename to src/C7GameData/AIData/StrategicPriority.cs
diff --git a/C7GameData/AIData/TileKnowledge.cs b/src/C7GameData/AIData/TileKnowledge.cs
similarity index 100%
rename from C7GameData/AIData/TileKnowledge.cs
rename to src/C7GameData/AIData/TileKnowledge.cs
diff --git a/C7GameData/AIData/TilePath.cs b/src/C7GameData/AIData/TilePath.cs
similarity index 100%
rename from C7GameData/AIData/TilePath.cs
rename to src/C7GameData/AIData/TilePath.cs
diff --git a/C7GameData/AIData/UnitAIData.cs b/src/C7GameData/AIData/UnitAIData.cs
similarity index 100%
rename from C7GameData/AIData/UnitAIData.cs
rename to src/C7GameData/AIData/UnitAIData.cs
diff --git a/C7GameData/Actions.cs b/src/C7GameData/Actions.cs
similarity index 100%
rename from C7GameData/Actions.cs
rename to src/C7GameData/Actions.cs
diff --git a/C7GameData/AnimationParams.cs b/src/C7GameData/AnimationParams.cs
similarity index 100%
rename from C7GameData/AnimationParams.cs
rename to src/C7GameData/AnimationParams.cs
diff --git a/C7GameData/BarbarianInfo.cs b/src/C7GameData/BarbarianInfo.cs
similarity index 100%
rename from C7GameData/BarbarianInfo.cs
rename to src/C7GameData/BarbarianInfo.cs
diff --git a/C7GameData/Building.cs b/src/C7GameData/Building.cs
similarity index 100%
rename from C7GameData/Building.cs
rename to src/C7GameData/Building.cs
diff --git a/C7GameData/C7GameData.csproj b/src/C7GameData/C7GameData.csproj
similarity index 100%
rename from C7GameData/C7GameData.csproj
rename to src/C7GameData/C7GameData.csproj
diff --git a/C7GameData/CitizenType.cs b/src/C7GameData/CitizenType.cs
similarity index 100%
rename from C7GameData/CitizenType.cs
rename to src/C7GameData/CitizenType.cs
diff --git a/C7GameData/City.cs b/src/C7GameData/City.cs
similarity index 100%
rename from C7GameData/City.cs
rename to src/C7GameData/City.cs
diff --git a/C7GameData/CityResident.cs b/src/C7GameData/CityResident.cs
similarity index 100%
rename from C7GameData/CityResident.cs
rename to src/C7GameData/CityResident.cs
diff --git a/C7GameData/Civilization.cs b/src/C7GameData/Civilization.cs
similarity index 100%
rename from C7GameData/Civilization.cs
rename to src/C7GameData/Civilization.cs
diff --git a/C7GameData/CombatResult.cs b/src/C7GameData/CombatResult.cs
similarity index 100%
rename from C7GameData/CombatResult.cs
rename to src/C7GameData/CombatResult.cs
diff --git a/C7GameData/CombatRole.cs b/src/C7GameData/CombatRole.cs
similarity index 100%
rename from C7GameData/CombatRole.cs
rename to src/C7GameData/CombatRole.cs
diff --git a/C7GameData/ExperienceLevel.cs b/src/C7GameData/ExperienceLevel.cs
similarity index 100%
rename from C7GameData/ExperienceLevel.cs
rename to src/C7GameData/ExperienceLevel.cs
diff --git a/C7GameData/GameData.cs b/src/C7GameData/GameData.cs
similarity index 100%
rename from C7GameData/GameData.cs
rename to src/C7GameData/GameData.cs
diff --git a/C7GameData/GameMap.cs b/src/C7GameData/GameMap.cs
similarity index 100%
rename from C7GameData/GameMap.cs
rename to src/C7GameData/GameMap.cs
diff --git a/C7GameData/ID.cs b/src/C7GameData/ID.cs
similarity index 100%
rename from C7GameData/ID.cs
rename to src/C7GameData/ID.cs
diff --git a/C7GameData/IProducible.cs b/src/C7GameData/IProducible.cs
similarity index 100%
rename from C7GameData/IProducible.cs
rename to src/C7GameData/IProducible.cs
diff --git a/C7GameData/ImportCiv3.cs b/src/C7GameData/ImportCiv3.cs
similarity index 100%
rename from C7GameData/ImportCiv3.cs
rename to src/C7GameData/ImportCiv3.cs
diff --git a/C7GameData/Json2DArrayConverter.cs b/src/C7GameData/Json2DArrayConverter.cs
similarity index 100%
rename from C7GameData/Json2DArrayConverter.cs
rename to src/C7GameData/Json2DArrayConverter.cs
diff --git a/C7GameData/MapGenNoise.cs b/src/C7GameData/MapGenNoise.cs
similarity index 100%
rename from C7GameData/MapGenNoise.cs
rename to src/C7GameData/MapGenNoise.cs
diff --git a/C7GameData/MapUnit.cs b/src/C7GameData/MapUnit.cs
similarity index 100%
rename from C7GameData/MapUnit.cs
rename to src/C7GameData/MapUnit.cs
diff --git a/C7GameData/MovementPoints.cs b/src/C7GameData/MovementPoints.cs
similarity index 100%
rename from C7GameData/MovementPoints.cs
rename to src/C7GameData/MovementPoints.cs
diff --git a/C7GameData/PediaIcons.cs b/src/C7GameData/PediaIcons.cs
similarity index 100%
rename from C7GameData/PediaIcons.cs
rename to src/C7GameData/PediaIcons.cs
diff --git a/C7GameData/Player.cs b/src/C7GameData/Player.cs
similarity index 100%
rename from C7GameData/Player.cs
rename to src/C7GameData/Player.cs
diff --git a/C7GameData/Resource.cs b/src/C7GameData/Resource.cs
similarity index 100%
rename from C7GameData/Resource.cs
rename to src/C7GameData/Resource.cs
diff --git a/C7GameData/Save/SaveCity.cs b/src/C7GameData/Save/SaveCity.cs
similarity index 100%
rename from C7GameData/Save/SaveCity.cs
rename to src/C7GameData/Save/SaveCity.cs
diff --git a/C7GameData/Save/SaveGame.cs b/src/C7GameData/Save/SaveGame.cs
similarity index 100%
rename from C7GameData/Save/SaveGame.cs
rename to src/C7GameData/Save/SaveGame.cs
diff --git a/C7GameData/Save/SaveMap.cs b/src/C7GameData/Save/SaveMap.cs
similarity index 100%
rename from C7GameData/Save/SaveMap.cs
rename to src/C7GameData/Save/SaveMap.cs
diff --git a/C7GameData/Save/SavePlayer.cs b/src/C7GameData/Save/SavePlayer.cs
similarity index 100%
rename from C7GameData/Save/SavePlayer.cs
rename to src/C7GameData/Save/SavePlayer.cs
diff --git a/C7GameData/Save/SaveTech.cs b/src/C7GameData/Save/SaveTech.cs
similarity index 100%
rename from C7GameData/Save/SaveTech.cs
rename to src/C7GameData/Save/SaveTech.cs
diff --git a/C7GameData/Save/SaveTile.cs b/src/C7GameData/Save/SaveTile.cs
similarity index 100%
rename from C7GameData/Save/SaveTile.cs
rename to src/C7GameData/Save/SaveTile.cs
diff --git a/C7GameData/Save/SaveUnit.cs b/src/C7GameData/Save/SaveUnit.cs
similarity index 100%
rename from C7GameData/Save/SaveUnit.cs
rename to src/C7GameData/Save/SaveUnit.cs
diff --git a/C7GameData/Save/TileLocation.cs b/src/C7GameData/Save/TileLocation.cs
similarity index 100%
rename from C7GameData/Save/TileLocation.cs
rename to src/C7GameData/Save/TileLocation.cs
diff --git a/C7GameData/SaveFormat.cs b/src/C7GameData/SaveFormat.cs
similarity index 100%
rename from C7GameData/SaveFormat.cs
rename to src/C7GameData/SaveFormat.cs
diff --git a/C7GameData/StrengthBonus.cs b/src/C7GameData/StrengthBonus.cs
similarity index 100%
rename from C7GameData/StrengthBonus.cs
rename to src/C7GameData/StrengthBonus.cs
diff --git a/C7GameData/Tech.cs b/src/C7GameData/Tech.cs
similarity index 100%
rename from C7GameData/Tech.cs
rename to src/C7GameData/Tech.cs
diff --git a/C7GameData/TerrainType.cs b/src/C7GameData/TerrainType.cs
similarity index 100%
rename from C7GameData/TerrainType.cs
rename to src/C7GameData/TerrainType.cs
diff --git a/C7GameData/Tile.cs b/src/C7GameData/Tile.cs
similarity index 100%
rename from C7GameData/Tile.cs
rename to src/C7GameData/Tile.cs
diff --git a/C7GameData/UnitPrototype.cs b/src/C7GameData/UnitPrototype.cs
similarity index 100%
rename from C7GameData/UnitPrototype.cs
rename to src/C7GameData/UnitPrototype.cs
diff --git a/C7GameData/readme.md b/src/C7GameData/readme.md
similarity index 100%
rename from C7GameData/readme.md
rename to src/C7GameData/readme.md
diff --git a/ConvertCiv3Media/Civ3UnitSprite.cs b/src/ConvertCiv3Media/Civ3UnitSprite.cs
similarity index 100%
rename from ConvertCiv3Media/Civ3UnitSprite.cs
rename to src/ConvertCiv3Media/Civ3UnitSprite.cs
diff --git a/ConvertCiv3Media/ConvertCiv3Media.csproj b/src/ConvertCiv3Media/ConvertCiv3Media.csproj
similarity index 100%
rename from ConvertCiv3Media/ConvertCiv3Media.csproj
rename to src/ConvertCiv3Media/ConvertCiv3Media.csproj
diff --git a/ConvertCiv3Media/ReadFlic.cs b/src/ConvertCiv3Media/ReadFlic.cs
similarity index 100%
rename from ConvertCiv3Media/ReadFlic.cs
rename to src/ConvertCiv3Media/ReadFlic.cs
diff --git a/ConvertCiv3Media/ReadPcx.cs b/src/ConvertCiv3Media/ReadPcx.cs
similarity index 100%
rename from ConvertCiv3Media/ReadPcx.cs
rename to src/ConvertCiv3Media/ReadPcx.cs
diff --git a/ConvertCiv3Media/readme.md b/src/ConvertCiv3Media/readme.md
similarity index 100%
rename from ConvertCiv3Media/readme.md
rename to src/ConvertCiv3Media/readme.md
diff --git a/ConvertCiv3Media/test.ps1 b/src/ConvertCiv3Media/test.ps1
similarity index 100%
rename from ConvertCiv3Media/test.ps1
rename to src/ConvertCiv3Media/test.ps1
diff --git a/QueryCiv3/Biq.cs b/src/QueryCiv3/Biq.cs
similarity index 100%
rename from QueryCiv3/Biq.cs
rename to src/QueryCiv3/Biq.cs
diff --git a/QueryCiv3/BiqSections/Bldg.cs b/src/QueryCiv3/BiqSections/Bldg.cs
similarity index 100%
rename from QueryCiv3/BiqSections/Bldg.cs
rename to src/QueryCiv3/BiqSections/Bldg.cs
diff --git a/QueryCiv3/BiqSections/City.cs b/src/QueryCiv3/BiqSections/City.cs
similarity index 100%
rename from QueryCiv3/BiqSections/City.cs
rename to src/QueryCiv3/BiqSections/City.cs
diff --git a/QueryCiv3/BiqSections/Clny.cs b/src/QueryCiv3/BiqSections/Clny.cs
similarity index 100%
rename from QueryCiv3/BiqSections/Clny.cs
rename to src/QueryCiv3/BiqSections/Clny.cs
diff --git a/QueryCiv3/BiqSections/Cont.cs b/src/QueryCiv3/BiqSections/Cont.cs
similarity index 100%
rename from QueryCiv3/BiqSections/Cont.cs
rename to src/QueryCiv3/BiqSections/Cont.cs
diff --git a/QueryCiv3/BiqSections/Ctzn.cs b/src/QueryCiv3/BiqSections/Ctzn.cs
similarity index 100%
rename from QueryCiv3/BiqSections/Ctzn.cs
rename to src/QueryCiv3/BiqSections/Ctzn.cs
diff --git a/QueryCiv3/BiqSections/Cult.cs b/src/QueryCiv3/BiqSections/Cult.cs
similarity index 100%
rename from QueryCiv3/BiqSections/Cult.cs
rename to src/QueryCiv3/BiqSections/Cult.cs
diff --git a/QueryCiv3/BiqSections/Diff.cs b/src/QueryCiv3/BiqSections/Diff.cs
similarity index 100%
rename from QueryCiv3/BiqSections/Diff.cs
rename to src/QueryCiv3/BiqSections/Diff.cs
diff --git a/QueryCiv3/BiqSections/Eras.cs b/src/QueryCiv3/BiqSections/Eras.cs
similarity index 100%
rename from QueryCiv3/BiqSections/Eras.cs
rename to src/QueryCiv3/BiqSections/Eras.cs
diff --git a/QueryCiv3/BiqSections/Espn.cs b/src/QueryCiv3/BiqSections/Espn.cs
similarity index 100%
rename from QueryCiv3/BiqSections/Espn.cs
rename to src/QueryCiv3/BiqSections/Espn.cs
diff --git a/QueryCiv3/BiqSections/Expr.cs b/src/QueryCiv3/BiqSections/Expr.cs
similarity index 100%
rename from QueryCiv3/BiqSections/Expr.cs
rename to src/QueryCiv3/BiqSections/Expr.cs
diff --git a/QueryCiv3/BiqSections/Flav.cs b/src/QueryCiv3/BiqSections/Flav.cs
similarity index 100%
rename from QueryCiv3/BiqSections/Flav.cs
rename to src/QueryCiv3/BiqSections/Flav.cs
diff --git a/QueryCiv3/BiqSections/Game.cs b/src/QueryCiv3/BiqSections/Game.cs
similarity index 100%
rename from QueryCiv3/BiqSections/Game.cs
rename to src/QueryCiv3/BiqSections/Game.cs
diff --git a/QueryCiv3/BiqSections/Good.cs b/src/QueryCiv3/BiqSections/Good.cs
similarity index 100%
rename from QueryCiv3/BiqSections/Good.cs
rename to src/QueryCiv3/BiqSections/Good.cs
diff --git a/QueryCiv3/BiqSections/Govt.cs b/src/QueryCiv3/BiqSections/Govt.cs
similarity index 100%
rename from QueryCiv3/BiqSections/Govt.cs
rename to src/QueryCiv3/BiqSections/Govt.cs
diff --git a/QueryCiv3/BiqSections/Lead.cs b/src/QueryCiv3/BiqSections/Lead.cs
similarity index 100%
rename from QueryCiv3/BiqSections/Lead.cs
rename to src/QueryCiv3/BiqSections/Lead.cs
diff --git a/QueryCiv3/BiqSections/Prto.cs b/src/QueryCiv3/BiqSections/Prto.cs
similarity index 100%
rename from QueryCiv3/BiqSections/Prto.cs
rename to src/QueryCiv3/BiqSections/Prto.cs
diff --git a/QueryCiv3/BiqSections/Race.cs b/src/QueryCiv3/BiqSections/Race.cs
similarity index 100%
rename from QueryCiv3/BiqSections/Race.cs
rename to src/QueryCiv3/BiqSections/Race.cs
diff --git a/QueryCiv3/BiqSections/Rule.cs b/src/QueryCiv3/BiqSections/Rule.cs
similarity index 100%
rename from QueryCiv3/BiqSections/Rule.cs
rename to src/QueryCiv3/BiqSections/Rule.cs
diff --git a/QueryCiv3/BiqSections/Sloc.cs b/src/QueryCiv3/BiqSections/Sloc.cs
similarity index 100%
rename from QueryCiv3/BiqSections/Sloc.cs
rename to src/QueryCiv3/BiqSections/Sloc.cs
diff --git a/QueryCiv3/BiqSections/Tech.cs b/src/QueryCiv3/BiqSections/Tech.cs
similarity index 100%
rename from QueryCiv3/BiqSections/Tech.cs
rename to src/QueryCiv3/BiqSections/Tech.cs
diff --git a/QueryCiv3/BiqSections/Terr.cs b/src/QueryCiv3/BiqSections/Terr.cs
similarity index 100%
rename from QueryCiv3/BiqSections/Terr.cs
rename to src/QueryCiv3/BiqSections/Terr.cs
diff --git a/QueryCiv3/BiqSections/Tfrm.cs b/src/QueryCiv3/BiqSections/Tfrm.cs
similarity index 100%
rename from QueryCiv3/BiqSections/Tfrm.cs
rename to src/QueryCiv3/BiqSections/Tfrm.cs
diff --git a/QueryCiv3/BiqSections/Tile.cs b/src/QueryCiv3/BiqSections/Tile.cs
similarity index 100%
rename from QueryCiv3/BiqSections/Tile.cs
rename to src/QueryCiv3/BiqSections/Tile.cs
diff --git a/QueryCiv3/BiqSections/Unit.cs b/src/QueryCiv3/BiqSections/Unit.cs
similarity index 100%
rename from QueryCiv3/BiqSections/Unit.cs
rename to src/QueryCiv3/BiqSections/Unit.cs
diff --git a/QueryCiv3/BiqSections/Wchr.cs b/src/QueryCiv3/BiqSections/Wchr.cs
similarity index 100%
rename from QueryCiv3/BiqSections/Wchr.cs
rename to src/QueryCiv3/BiqSections/Wchr.cs
diff --git a/QueryCiv3/BiqSections/Wmap.cs b/src/QueryCiv3/BiqSections/Wmap.cs
similarity index 100%
rename from QueryCiv3/BiqSections/Wmap.cs
rename to src/QueryCiv3/BiqSections/Wmap.cs
diff --git a/QueryCiv3/BiqSections/Wsiz.cs b/src/QueryCiv3/BiqSections/Wsiz.cs
similarity index 100%
rename from QueryCiv3/BiqSections/Wsiz.cs
rename to src/QueryCiv3/BiqSections/Wsiz.cs
diff --git a/QueryCiv3/Civ3Location.cs b/src/QueryCiv3/Civ3Location.cs
similarity index 100%
rename from QueryCiv3/Civ3Location.cs
rename to src/QueryCiv3/Civ3Location.cs
diff --git a/QueryCiv3/QueryCiv3.cs b/src/QueryCiv3/QueryCiv3.cs
similarity index 100%
rename from QueryCiv3/QueryCiv3.cs
rename to src/QueryCiv3/QueryCiv3.cs
diff --git a/QueryCiv3/QueryCiv3.csproj b/src/QueryCiv3/QueryCiv3.csproj
similarity index 100%
rename from QueryCiv3/QueryCiv3.csproj
rename to src/QueryCiv3/QueryCiv3.csproj
diff --git a/QueryCiv3/Sav.cs b/src/QueryCiv3/Sav.cs
similarity index 100%
rename from QueryCiv3/Sav.cs
rename to src/QueryCiv3/Sav.cs
diff --git a/QueryCiv3/SavSections/Aibs.cs b/src/QueryCiv3/SavSections/Aibs.cs
similarity index 100%
rename from QueryCiv3/SavSections/Aibs.cs
rename to src/QueryCiv3/SavSections/Aibs.cs
diff --git a/QueryCiv3/SavSections/Binf.cs b/src/QueryCiv3/SavSections/Binf.cs
similarity index 100%
rename from QueryCiv3/SavSections/Binf.cs
rename to src/QueryCiv3/SavSections/Binf.cs
diff --git a/QueryCiv3/SavSections/Bitm.cs b/src/QueryCiv3/SavSections/Bitm.cs
similarity index 100%
rename from QueryCiv3/SavSections/Bitm.cs
rename to src/QueryCiv3/SavSections/Bitm.cs
diff --git a/QueryCiv3/SavSections/City.cs b/src/QueryCiv3/SavSections/City.cs
similarity index 100%
rename from QueryCiv3/SavSections/City.cs
rename to src/QueryCiv3/SavSections/City.cs
diff --git a/QueryCiv3/SavSections/Clny.cs b/src/QueryCiv3/SavSections/Clny.cs
similarity index 100%
rename from QueryCiv3/SavSections/Clny.cs
rename to src/QueryCiv3/SavSections/Clny.cs
diff --git a/QueryCiv3/SavSections/Cnsl.cs b/src/QueryCiv3/SavSections/Cnsl.cs
similarity index 100%
rename from QueryCiv3/SavSections/Cnsl.cs
rename to src/QueryCiv3/SavSections/Cnsl.cs
diff --git a/QueryCiv3/SavSections/Cont.cs b/src/QueryCiv3/SavSections/Cont.cs
similarity index 100%
rename from QueryCiv3/SavSections/Cont.cs
rename to src/QueryCiv3/SavSections/Cont.cs
diff --git a/QueryCiv3/SavSections/Ctpg.cs b/src/QueryCiv3/SavSections/Ctpg.cs
similarity index 100%
rename from QueryCiv3/SavSections/Ctpg.cs
rename to src/QueryCiv3/SavSections/Ctpg.cs
diff --git a/QueryCiv3/SavSections/Ctzn.cs b/src/QueryCiv3/SavSections/Ctzn.cs
similarity index 100%
rename from QueryCiv3/SavSections/Ctzn.cs
rename to src/QueryCiv3/SavSections/Ctzn.cs
diff --git a/QueryCiv3/SavSections/Date.cs b/src/QueryCiv3/SavSections/Date.cs
similarity index 100%
rename from QueryCiv3/SavSections/Date.cs
rename to src/QueryCiv3/SavSections/Date.cs
diff --git a/QueryCiv3/SavSections/Faxx.cs b/src/QueryCiv3/SavSections/Faxx.cs
similarity index 100%
rename from QueryCiv3/SavSections/Faxx.cs
rename to src/QueryCiv3/SavSections/Faxx.cs
diff --git a/QueryCiv3/SavSections/Game.cs b/src/QueryCiv3/SavSections/Game.cs
similarity index 100%
rename from QueryCiv3/SavSections/Game.cs
rename to src/QueryCiv3/SavSections/Game.cs
diff --git a/QueryCiv3/SavSections/Hist.cs b/src/QueryCiv3/SavSections/Hist.cs
similarity index 100%
rename from QueryCiv3/SavSections/Hist.cs
rename to src/QueryCiv3/SavSections/Hist.cs
diff --git a/QueryCiv3/SavSections/Idls.cs b/src/QueryCiv3/SavSections/Idls.cs
similarity index 100%
rename from QueryCiv3/SavSections/Idls.cs
rename to src/QueryCiv3/SavSections/Idls.cs
diff --git a/QueryCiv3/SavSections/Lead.cs b/src/QueryCiv3/SavSections/Lead.cs
similarity index 100%
rename from QueryCiv3/SavSections/Lead.cs
rename to src/QueryCiv3/SavSections/Lead.cs
diff --git a/QueryCiv3/SavSections/Outp.cs b/src/QueryCiv3/SavSections/Outp.cs
similarity index 100%
rename from QueryCiv3/SavSections/Outp.cs
rename to src/QueryCiv3/SavSections/Outp.cs
diff --git a/QueryCiv3/SavSections/Palv.cs b/src/QueryCiv3/SavSections/Palv.cs
similarity index 100%
rename from QueryCiv3/SavSections/Palv.cs
rename to src/QueryCiv3/SavSections/Palv.cs
diff --git a/QueryCiv3/SavSections/Peer.cs b/src/QueryCiv3/SavSections/Peer.cs
similarity index 100%
rename from QueryCiv3/SavSections/Peer.cs
rename to src/QueryCiv3/SavSections/Peer.cs
diff --git a/QueryCiv3/SavSections/Plgi.cs b/src/QueryCiv3/SavSections/Plgi.cs
similarity index 100%
rename from QueryCiv3/SavSections/Plgi.cs
rename to src/QueryCiv3/SavSections/Plgi.cs
diff --git a/QueryCiv3/SavSections/Popd.cs b/src/QueryCiv3/SavSections/Popd.cs
similarity index 100%
rename from QueryCiv3/SavSections/Popd.cs
rename to src/QueryCiv3/SavSections/Popd.cs
diff --git a/QueryCiv3/SavSections/Radt.cs b/src/QueryCiv3/SavSections/Radt.cs
similarity index 100%
rename from QueryCiv3/SavSections/Radt.cs
rename to src/QueryCiv3/SavSections/Radt.cs
diff --git a/QueryCiv3/SavSections/Rple.cs b/src/QueryCiv3/SavSections/Rple.cs
similarity index 100%
rename from QueryCiv3/SavSections/Rple.cs
rename to src/QueryCiv3/SavSections/Rple.cs
diff --git a/QueryCiv3/SavSections/Rplt.cs b/src/QueryCiv3/SavSections/Rplt.cs
similarity index 100%
rename from QueryCiv3/SavSections/Rplt.cs
rename to src/QueryCiv3/SavSections/Rplt.cs
diff --git a/QueryCiv3/SavSections/Tile.cs b/src/QueryCiv3/SavSections/Tile.cs
similarity index 100%
rename from QueryCiv3/SavSections/Tile.cs
rename to src/QueryCiv3/SavSections/Tile.cs
diff --git a/QueryCiv3/SavSections/Tutr.cs b/src/QueryCiv3/SavSections/Tutr.cs
similarity index 100%
rename from QueryCiv3/SavSections/Tutr.cs
rename to src/QueryCiv3/SavSections/Tutr.cs
diff --git a/QueryCiv3/SavSections/Unit.cs b/src/QueryCiv3/SavSections/Unit.cs
similarity index 100%
rename from QueryCiv3/SavSections/Unit.cs
rename to src/QueryCiv3/SavSections/Unit.cs
diff --git a/QueryCiv3/SavSections/Vloc.cs b/src/QueryCiv3/SavSections/Vloc.cs
similarity index 100%
rename from QueryCiv3/SavSections/Vloc.cs
rename to src/QueryCiv3/SavSections/Vloc.cs
diff --git a/QueryCiv3/SavSections/Wrld.cs b/src/QueryCiv3/SavSections/Wrld.cs
similarity index 100%
rename from QueryCiv3/SavSections/Wrld.cs
rename to src/QueryCiv3/SavSections/Wrld.cs
diff --git a/QueryCiv3/Util.cs b/src/QueryCiv3/Util.cs
similarity index 100%
rename from QueryCiv3/Util.cs
rename to src/QueryCiv3/Util.cs
diff --git a/QueryCiv3/readme.md b/src/QueryCiv3/readme.md
similarity index 100%
rename from QueryCiv3/readme.md
rename to src/QueryCiv3/readme.md
diff --git a/C7GameDataTests/C7GameDataTests.csproj b/tests/C7GameDataTests/C7GameDataTests.csproj
similarity index 92%
rename from C7GameDataTests/C7GameDataTests.csproj
rename to tests/C7GameDataTests/C7GameDataTests.csproj
index a75f0b99..916464c0 100644
--- a/C7GameDataTests/C7GameDataTests.csproj
+++ b/tests/C7GameDataTests/C7GameDataTests.csproj
@@ -19,7 +19,7 @@
-
+
diff --git a/C7GameDataTests/CityTest.cs b/tests/C7GameDataTests/CityTest.cs
similarity index 100%
rename from C7GameDataTests/CityTest.cs
rename to tests/C7GameDataTests/CityTest.cs
diff --git a/C7GameDataTests/GameMapTest.cs b/tests/C7GameDataTests/GameMapTest.cs
similarity index 100%
rename from C7GameDataTests/GameMapTest.cs
rename to tests/C7GameDataTests/GameMapTest.cs
diff --git a/C7GameDataTests/IDFactoryTests.cs b/tests/C7GameDataTests/IDFactoryTests.cs
similarity index 100%
rename from C7GameDataTests/IDFactoryTests.cs
rename to tests/C7GameDataTests/IDFactoryTests.cs
diff --git a/C7GameDataTests/SaveTest.cs b/tests/C7GameDataTests/SaveTest.cs
similarity index 99%
rename from C7GameDataTests/SaveTest.cs
rename to tests/C7GameDataTests/SaveTest.cs
index 4ebd24ca..f11047c5 100644
--- a/C7GameDataTests/SaveTest.cs
+++ b/tests/C7GameDataTests/SaveTest.cs
@@ -56,7 +56,7 @@ public void SimpleSave() {
// load SaveGame but convert to and from GameData before saving to file:
string outputWasGameDataPath = getDataPath("output/static-save-was-game-data.json");
- string developerSave = getBasePath("../C7/Text/c7-static-map-save.json");
+ string developerSave = getBasePath("../../src/C7/Text/c7-static-map-save.json");
SaveGame saveNeverGameData = SaveGame.Load(developerSave);
diff --git a/tests/C7GameDataTests/data/output/.gitkeep b/tests/C7GameDataTests/data/output/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/EngineTests/AI/Pathing/BinaryMinHeapTest.cs b/tests/EngineTests/AI/Pathing/BinaryMinHeapTest.cs
similarity index 100%
rename from EngineTests/AI/Pathing/BinaryMinHeapTest.cs
rename to tests/EngineTests/AI/Pathing/BinaryMinHeapTest.cs
diff --git a/EngineTests/AI/Pathing/EdgeWalkerTest.cs b/tests/EngineTests/AI/Pathing/EdgeWalkerTest.cs
similarity index 100%
rename from EngineTests/AI/Pathing/EdgeWalkerTest.cs
rename to tests/EngineTests/AI/Pathing/EdgeWalkerTest.cs
diff --git a/EngineTests/EngineTests.csproj b/tests/EngineTests/EngineTests.csproj
similarity index 87%
rename from EngineTests/EngineTests.csproj
rename to tests/EngineTests/EngineTests.csproj
index e0059a5d..02c83c70 100644
--- a/EngineTests/EngineTests.csproj
+++ b/tests/EngineTests/EngineTests.csproj
@@ -19,8 +19,8 @@
-
-
+
+
diff --git a/_Console/BuildDevSave/BuildDevSave.csproj b/tools/BuildDevSave/BuildDevSave.csproj
similarity index 56%
rename from _Console/BuildDevSave/BuildDevSave.csproj
rename to tools/BuildDevSave/BuildDevSave.csproj
index 5368b12c..5a74137a 100644
--- a/_Console/BuildDevSave/BuildDevSave.csproj
+++ b/tools/BuildDevSave/BuildDevSave.csproj
@@ -1,8 +1,8 @@
-
-
+
+
diff --git a/_Console/BuildDevSave/BuildDevSave.sln b/tools/BuildDevSave/BuildDevSave.sln
similarity index 100%
rename from _Console/BuildDevSave/BuildDevSave.sln
rename to tools/BuildDevSave/BuildDevSave.sln
diff --git a/_Console/BuildDevSave/Program.cs b/tools/BuildDevSave/Program.cs
similarity index 100%
rename from _Console/BuildDevSave/Program.cs
rename to tools/BuildDevSave/Program.cs
diff --git a/_Console/BuildDevSave/readme.md b/tools/BuildDevSave/readme.md
similarity index 100%
rename from _Console/BuildDevSave/readme.md
rename to tools/BuildDevSave/readme.md