@@ -27,7 +27,7 @@ To effectively work on the project the following tools are required:
...
@@ -27,7 +27,7 @@ To effectively work on the project the following tools are required:
* On Windows, you may need to run `npm install --omit-optional` instead.
* On Windows, you may need to run `npm install --omit-optional` instead.
4. Open the directory in your preferred editor
4. Open the directory in your preferred editor
* Make sure you have an extension for ESlint installed to catch formatting errors
* Make sure you have an extension for ESLint installed to catch formatting errors
Recommended extensions for VSCode:
Recommended extensions for VSCode:
...
@@ -149,7 +149,7 @@ check.
...
@@ -149,7 +149,7 @@ check.
Contributions should generally not add any new sanity check errors, and it's especially important to check this if
Contributions should generally not add any new sanity check errors, and it's especially important to check this if
you're making changes to `.tw` files.
you're making changes to `.tw` files.
Use `./compile.sh --dry --sanity` or the shorthand `./compile.sh -d -s` on Linux or macOS.
Use `./compile.sh --dry --sanity` or the shorthand `./compile.sh -d -s` on Linux or macOS.
On Windows run `compile_debug+sanityCheck.bat`.
On Windows run `compile_debug+sanityCheck.bat`.
It searches for common spelling errors and syntax errors in the Twine files. Don't worry about preexisting
It searches for common spelling errors and syntax errors in the Twine files. Don't worry about preexisting
errors; it's not totally clean as is and there are a few false positives.
errors; it's not totally clean as is and there are a few false positives.
...
@@ -159,7 +159,7 @@ errors; it's not totally clean as is and there are a few false positives.
...
@@ -159,7 +159,7 @@ errors; it's not totally clean as is and there are a few false positives.
### Source files
### Source files
*`src/` is the main directory for source code. It also contains the embedded art files. Since it is inside an `eval()` statement debugging and minification is more complicated than for `js/`.
*`src/` is the main directory for source code. It also contains the embedded art files. Since it is inside an `eval()` statement debugging and minification is more complicated than for `js/`.
*`js/` is loaded before SugarCube and therefore outside SugarCube's eval which `src/` is contained in. This means accessing SugarCube features (like `SugarCube.Engine`) is more complicated however it other than `src/` it can be minified and is easier to debug. Currently contains mainly static data, however new code not relying on SC2 should be sorted in here too.
*`js/` is loaded before SugarCube and therefore outside SugarCube's eval which `src/` is contained in. This means accessing SugarCube features (like `SugarCube.Engine`) is more complicated however it other than `src/` it can be minified and is easier to debug. Currently, contains mainly static data, however new code not relying on SC2 should be sorted in here too.
*`css/` contains all CSS files. The internal structure is explained [here](css/css.md).
*`css/` contains all CSS files. The internal structure is explained [here](css/css.md).
*`themes/` contains [custom themes](themes/themes.md) which are built separately.
*`themes/` contains [custom themes](themes/themes.md) which are built separately.
...
@@ -186,17 +186,16 @@ errors; it's not totally clean as is and there are a few false positives.
...
@@ -186,17 +186,16 @@ errors; it's not totally clean as is and there are a few false positives.
*[Content embedding chart](devNotes/contentEmbeddingChart.png)(for more details refer to [this issue](https://gitgud.io/pregmodfan/fc-pregmod/-/merge_requests/7453#note_118616))
*[Content embedding chart](devNotes/contentEmbeddingChart.png)(for more details refer to [this issue](https://gitgud.io/pregmodfan/fc-pregmod/-/merge_requests/7453#note_118616))
<sup>1. Twine is being phased out of the project and should not be used in new code, but the basic concepts found here still apply.</sup>
<sup>1. Twine is being phased out of the project and should not be used in new code, but the basic concepts found here still apply.</sup>