Visit the wiki for all information on this script package, including requirements and installation steps, a complete list of features and elaborate information on configuration.
If you intend to use (portions of) GFA in your git repository, it is recommended to incorporate it using a git-submodule. This not only helps to maintain your scripts at the latest version, but also ensures proper licensing and directs users to the original source.
Since submodules do not allow directly referring to sub-directories of the target repository, implement the following procedure.
First add GFA as a submodule into a suitable sub-directory off to the side in your repository. Then refer to the relevant sub-directories using relative symlinks. Symlinks are supported in git (also in Windows) and will resolve the file paths as desired.
[!TIP] Have a look at the repository szapp/FreeAiming for an example of using submodules.
This can be achieved by entering the following code into the Windows Command Prompt with administrative privileges (for creating symlinks). Mind the use of forward slashes.
mkdir .github\submodules
git submodule add --name GothicFreeAim https://github.com/szapp/GothicFreeAim.git .github/submodules/GothicFreeAim
git config core.symlinks true
The file .gitmodules
should now look like this (compare the use of forward slashes):
[submodule "GothicFreeAim"]
path = .github/submodules/GothicFreeAim
url = https://github.com/szapp/GothicFreeAim.git
Now, you can add relevant symlinks to desired sub-directories within the GFA scripts.
For example, the internal content scripts (Content/GFA/_intern
) should never be modified and can be linked to the submodule.
cd path\to\Scripts\Content\GFA
mklink /d _intern ..\..\..\..\..\.github\submodules\GothicFreeAim\_work\data\Scripts\Content\GFA\_intern
The configuration (Content/GFA/config
), on the other hand, will not be linked to be modified by you. Likewise, most of the system scripts do not need adjustment and can be linked as well.
cd path\to\Scripts\System
mklink /d GFA ..\..\..\..\.github\submodules\GothicFreeAim\_work\data\Scripts\System\GFA
The menu scripts, however, can be copied and placed in a separate file to adjust the menu positioning and language following the documentation.
The directory tree would like something like this:
.
├── .gitmodules
├── .github/
│ └── submodules/
│ └── GothicFreeAim/
│ └── ..
└── path/
└── to/
└── Scripts/
├── Content/
│ └── GFA/
│ ├── [_intern/] <- symlink
│ ├── config/
│ │ └── ...
│ └── GFA_*.src
└── System/
├── [GFA/] <- symlink
└── Menu_Opt_GFA.d
When following these steps, this setup
allows you to easily update the GFA core scripts in the event of an update with
git submodule update --remote
git add .github\submodules\GothicFreeAim
git commit -m "Update GFA core"