No Description

Stephan Fuchs 65c5475a0d Merge commit '7d7027d0d0e74599fcd1c8893778be19aff75dae' into Readme 11 months ago
isample_mod 401e873e5b allow update also the mod data 2 years ago
locations 64b627de7f Merge branch 'Edited-QSP9' into Edited-TW 1 year ago
mods 36ba763444 Example Mod 11 months ago
readme 2b9c16c3ad Compile, Download, Setup, WIP PC 1 year ago
sugarcube 7d7027d0d0 Visual Age Fix 11 months ago
tools 863b5e0809 Merge https://git.catrenelle.com/Kevin_Smarts/glife 2 years ago
.editorconfig 7c126a3243 [added] use [editorconfig] to keep a consistent coding style 2 years ago
.gitignore 82aab77d29 WIP Modding INterface 11 months ago
LinksToSkip.txt 61bd80dd57 update 1 year ago
MakeQSP.bat 702ba78ceb Accidentally committed my MakeQSP, fixing with the correct one 1 year ago
Name Updates.txt 516f20c3f3 fix Name Updates 3 years ago
Obsidian.xml 9a6234b6c1 added darkmode syntax highlighting files for notepad++ 2 years ago
beverage_convert.py f4fcd6c807 Random Images Fix in Beverages 1 year ago
build.sh 2031b35d42 Re-jigged disco menu with menu from school. 2 years ago
changes from 0_8_4 to 0_8_5.txt 2e77c0324c fix some image links 2 years ago
changes from 0_8_5 to 0_8_6.txt 0231060765 [chenged/added] New Katja chat at the disco, including a threesome she with her and Marcus. Splitt the pav_disco_coolkids since to was becomming to big. 2 years ago
changes from 0_8_6 to 0_8_7.txt f31094c372 [added] changes from 0.8.6 to 0.8.7 1 year ago
checkpics.bat 77bbe1bf58 change the link to the py files 2 years ago
duplicate_media_files.txt 5d4d823c51 [added] list of duplicate media files 1 year ago
fix-src-case.sh ea8b02ee3a chore: add optimized fix-src-case.sh script 2 years ago
glife-notepad++ 073e3f11af pull from upstream 2 years ago
glife.code-workspace 7d7027d0d0 Visual Age Fix 11 months ago
glife.qproj 30830b4b9d First commit of a separated schedule. Mainly showcasing. 1 year ago
insanity.sh da807eef9b rebuilds git cache, so new gitignore rules take effect 3 years ago
keywords_en.xml a38521c084 English translation for QSP. 6 years ago
missing_pictures.txt 11cf482f9a [fixed] images links 1 year ago
npcs_convert.py 52dc613af9 NPCs_Convert Deactivated 1 year ago
outfits_convert.py aca133ac54 Maid Outfits Fix 11 months ago
qrsc_to_tw.py b178934e4f Merge commit '32c7cee1fa17094ef659d0d546d2d5b895aac2aa' into Edited-TW 11 months ago
readme.html 2b9c16c3ad Compile, Download, Setup, WIP PC 1 year ago
sugarcube_compile.bat 8ae051fe04 Deactivated expensive python-calculations for default compilation 1 year ago
tw_update.py 60ea8e0ebf Item-Vars 11 months ago
userDefineLang.xml 5a88feae51 Notepad++ Syntax highlighting for quest 9 years ago
userDefineLang_Obsidian.xml 9a6234b6c1 added darkmode syntax highlighting files for notepad++ 2 years ago
variables.py b178934e4f Merge commit '32c7cee1fa17094ef659d0d546d2d5b895aac2aa' into Edited-TW 11 months ago

readme.html
























Browser lacks capabilities required to play.

Upgrade or switch to another browser.


Loading…


[[Top|Start]]
<h2>File Types</h2>
<h3>CSS</h3>
CSS-files are responsible for the appearance of next to everything.
It is usually not required to touch these files unless you know what you're doing.

<h3>JS</h3>
Javascript-files contain the core systems which everything else depends on.
They usually use more advanced programming concepts than twine-files.

<h3>TW</h3>
Twine-files contain the story, quests, menus, events, and almost everything else that is presented to users in text-form.
They also include some UI-elements.
They should be easily structured to make understanding and changing them easy.

<h3>PY</h3>
The python-files use black magic to convert qsrc-files to tw-files. Unless you're a programming wizard, you should not touch them.

<h3>QRSC</h3>
The <i>old</i> format of Girl Life, which is still under active development.
We merge the changes from the QSP-repository (maintained by Kevin Smarts) into our Edited-QSP-branch, run python over it and then merge the changes of the tw-files into our main branch.

<h3>JPG, PNG, GIF, etc.</h3>
The repository does not contain media-files. They are included in media-packages, which won't be covered here.

<h3>Everything else</h3>
Everything else might either be vital or deprecated or useless to beging with. You should better not touch it unless you know exactly what you're doing.[[Top|Start]]
<h2>Playercharacter</h2>
<h3>General</h3>
The Playercharacter-object is accessed by using the var $pc.
You usually want to get and set fields of this class.
<b>Example:</b>
<pre><nowiki>
Your name is <<=$pc.name_first>>.
<!-- This will print "Your name is Svetlana." -->
</nowiki></pre>
<pre><nowiki>
<<set $pc.name_first = 'Anna'>>
Your name is <<=$pc.name_first>>.
<!-- This will print "Your name is Anna." -->
</nowiki></pre>
<pre><nowiki>
<<set $pc.age += 1>>
Your age is <<=$pc.name_first>>.
<!-- This will increase your age by reducing your birthyear by one
and then print "Your age is 18" -->
</nowiki></pre>

You don't need to worry about boundaries when setting values. Everything happens behind the curtain.
<b>Example:</b>
<pre><nowiki>
<<if $pc.pcs_willpwr > 10>>
<<set $pc.pcs_willpwr -= 10>>
<<else>>
<<set $pc.pcs_willpwr = 0>>
<</if>>
<!-- This has the exact same effect as -->
<<set $pc.pcs_willpwr -= 10>>
</nowiki></pre>

Some fields can only be read and must not be written. They are marked with r-o below.

<h3>Fields</h3>
<table>
<tr><td colspan="4"><h4>Name</h4></td></tr>
<tr><td><b>name_first</b></td><td>string</td><td>The first name of the character.</td><td>"Svetlana"</td></tr>
<tr><td><b>name_last</b></td><td>string</td><td>The last name of the character.</td><td>"Lebedev"</td></tr>
<tr><td><b>name_nick</b></td><td>string</td><td>The nickname of the character.</td><td>"Sveta"</td></tr>
<tr><td colspan="4"><h4>Age</h4></td></tr>
<tr><td><b>birthday</b></td><td>number</td><td>The day of the month the character was born.</td><td>1</td></tr>
<tr><td><b>birthmonth</b></td><td>number</td><td>The month the character was born (1-12).</td><td>4</td></tr>
<tr><td><b>birthyear</b></td><td>number</td><td>The 4-digit year the character was born.</td><td>1999</td></tr>
<tr><td><b>birthdayDate</b></td><td>Date (r-o)</td><td>A Date-object containing the above information.</td><td></td></tr>
<tr><td><b>age</b></td><td>number</td><td>The current age of the character in years. Will change birthyear if set.</td><td>17</td></tr>
</table><h2>Overview</h2>
<h3>Preparations</h3>
[[Setup]] - Required software and how to set it up.
[[Download]] - How to get the source code to your machine.
[[Compile]] - How to compile the source code.

<h3>References</h3>
[[File Types|FileTypes]] - What which file extension tells you.
[[Playercharacter]] - How to use $pc.[[Top|Start]]
<h2>Compiling</h2>
The code is compiled by running <i>"sugarcube_compile.bat"</i>.
If you're using VSCode, you might want to create a tasks.json (glife/.vscode/tasks.json):
<pre>
{
"version": "2.0.0",
"tasks": [
{
"label": "MakeHTML",
"type": "shell",
"command": "./sugarcube_compile.bat",
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": true
},
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": []
}
]
}
</pre>
This allows you to compile by hitting CTRL+B.[[Top|Start]]
<h2>Download</h2>
<h3>Step 1: Create an account</h3>
Create an account at https://git.tfgames.site

<h3>Step 2: Fork</h3>
Navigate to https://git.tfgames.site/StephanFuchs/glife
Click on the button "Fork"
In the following dialog, you can change the name of your repository to whatever you like.

<h3>Step 3: Clone</h3>
Please refer to the official documentation for how you clone an existing repository to your machine: https://git-scm.com/book/en/v2/Git-Basics-Getting-a-Git-Repository[[Top|Start]]
<h2>Setup</h2>
The following explanation assume that you're using Windows.
They might also apply to other systems.

<h3>Git</h3>
You need to install a current version of git.
You can download it from here: <a href="https://git-scm.com/download/win">Git Homepage</a>.


<h3>Python</h3>
You need the latest version of Python 3 (minimum 3.10).
You can download it from here: <a href="https://www.python.org/downloads/">Python Homepage</a>.
<b>Important: </b> You need to add Python to PATH. If you're using an official installer, an option to do so is presented to you after the installation is done.

<h3>TweeGo</h3>
TweeGo is packaged with the other files of this project.
There is no need to install it seperately.
In case you'd like to update TweeGo, you can find it in the folder <i>"sugarcube/devTools/tweeGo"</i>.

<h3>Optional: VSCode</h3>
It is recommended that you use VSCode as your development IDE.
If you do so, you might want to use the extension <i>Twee 3 Language Tools</i>.