szapp / GothicFreeAim

Free aiming for the video game series Gothic
https://gfa.szapp.de
MIT License
36 stars 4 forks source link
daedalus gothic gothic1 gothic2 modding-gothic
[![Gothic Free Aim](https://github.com/szapp/GothicFreeAim/wiki/media/GFA_TITLE_LARGE_FA_trans.png)](https://github.com/szapp/GothicFreeAim) [![Syntax](https://github.com/szapp/GothicFreeAim/actions/workflows/syntax.yml/badge.svg)](https://github.com/szapp/GothicFreeAim/actions/workflows/syntax.yml) [![Documentation](https://img.shields.io/badge/docs-wiki-blue)](https://github.com/szapp/GothicFreeAim/wiki) [![Support on Ko-fi](https://img.shields.io/badge/ko--fi-support-ff586e?logo=kofi&logoColor=white)](https://ko-fi.com/szapp) [![Combined downloads](https://api.szapp.de/downloads/gfa/total/badge)](https://github.com/szapp/GothicFreeAim/releases) [![World of Gothic](https://raw.githubusercontent.com/szapp/patch-template/main/.github/actions/initialization/badges/wog.svg)](https://www.worldofgothic.de/dl/download_613.htm) [![Spine](https://raw.githubusercontent.com/szapp/patch-template/main/.github/actions/initialization/badges/spine.svg)](https://clockwork-origins.com/spine) [![Steam Gothic 1](https://img.shields.io/badge/steam-Gothic%201-2a3f5a?logo=steam&labelColor=1b2838)](https://steamcommunity.com/sharedfiles/filedetails/?id=2786959658) [![Steam Gothic 2](https://img.shields.io/badge/steam-Gothic%202-2a3f5a?logo=steam&labelColor=1b2838)](https://steamcommunity.com/sharedfiles/filedetails/?id=2786958841) **Script package for the Gothic video game series that enables free aiming for ranged weapons and spells.** Gothic Gothic Sequel Gothic II Gothic II: Night of the Raven
[![Trailer on Youtube](https://raw.githubusercontent.com/wiki/szapp/GothicFreeAim/media/thumb_medium.png)](https://www.youtube.com/watch?v=9CrFlxo21Qw)

Features

Wiki

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.

Usage in a Git repository

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