Skip to content
Snippets Groups Projects
README.md 2.94 KiB
Newer Older
# Free Cities - pregmod
Pregmodder's avatar
Pregmodder committed

Arkerthan's avatar
Arkerthan committed
Pregmod is a modification of the original [Free Cities](https://freecitiesblog.blogspot.com/) created by FCdev.
Pregmodder's avatar
Pregmodder committed

Arkerthan's avatar
Arkerthan committed
## Play the game
Pregmodder's avatar
Pregmodder committed

Arkerthan's avatar
Arkerthan committed
To play the game you have to download the sources first. You can either download an archive of the current state or, if
you plan to keep up to date with current progress, clone the repository.
Pregmodder's avatar
Pregmodder committed

Arkerthan's avatar
Arkerthan committed
Clone the repo:
Pregmodder's avatar
Pregmodder committed

Arkerthan's avatar
Arkerthan committed
1. [Install Git for terminal](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) or a Git GUI of your choice.
2. Clone the repo
    * Via terminal: `git clone --single-branch https://gitgud.io/pregmodfan/fc-pregmod.git`
3. Get updates
    * Via terminal: `git pull`
Pregmodder's avatar
Pregmodder committed

Arkerthan's avatar
Arkerthan committed
Compile the game:
Pregmodder's avatar
Pregmodder committed

Arkerthan's avatar
Arkerthan committed
* Windows
    * Run compile.bat
    * Second run of compile.bat will overwrite without prompt
Pregmodder's avatar
Pregmodder committed

* Linux/Mac
Arkerthan's avatar
Arkerthan committed
    1. Ensure executable permission on file `devTools/tweeGo/tweego` (not tweego.exe!)
    2. Ensure executable permission on file `compile.sh`
bcy603's avatar
bcy603 committed
    3. In the root dir of sources (where you see src, devTools, bin...) run command `./compile.sh` from console.
Arkerthan's avatar
Arkerthan committed
        Alternatively, if you have make installed, run `make all` in the root directory.
Pregmodder's avatar
Pregmodder committed

Arkerthan's avatar
Arkerthan committed
To play open FCpregmod.html in bin/ (Recommendation: Drag it into incognito mode)
Pregmodder's avatar
Pregmodder committed

Arkerthan's avatar
Arkerthan committed
## Common problems
Pregmodder's avatar
Pregmodder committed

bcy603's avatar
bcy603 committed
* I get an error on gamestart reading `Apologies! A fatal error has occurred. Aborting. Error: Unexpected token @ in
Arkerthan's avatar
Arkerthan committed
    JSON at position 0. Stack Trace: SyntaxError: Unexpected token @ in JSON at position 0 at JSON.parse (<anonymous>)
    at JSON.value` or some variant
    - clear cookies
Pregmodder's avatar
Pregmodder committed

Arkerthan's avatar
Arkerthan committed
* Everything is broken!
    - Do not copy over your existing download as it may leave old files behind, replace it entirely
Pregmodder's avatar
Pregmodder committed

Arkerthan's avatar
Arkerthan committed
* I can't save more than once or twice.
lowercasedonkey's avatar
lowercasedonkey committed
    - Known issue caused by SugarCube level changes. Save to file doesn't have this problem and will likely avoid the first problem as well.
Arkerthan's avatar
Arkerthan committed
    - It is possible to increase the memory utilized by your browser to delay this
Pregmodder's avatar
Pregmodder committed

Arkerthan's avatar
Arkerthan committed
* I wish to report a sanityCheck issue.
    - Great, however a large majority of the results are false positives coming from those specific sections being split
bcy603's avatar
bcy603 committed
      over several lines in the name of readability and git grep's
Arkerthan's avatar
Arkerthan committed
      [intentionally](http://git.661346.n2.nabble.com/bug-git-grep-P-and-multiline-mode-td7613900.html ) lacking support
bcy603's avatar
bcy603 committed
       for multiline. An Attempt to add -Pzl (https://gitgud.io/pregmodfan/fc-pregmod/merge_requests/2108 ) created a
Arkerthan's avatar
Arkerthan committed
       sub condition black hole. What follows are examples of common false positives that can safely be ignored:
```
[MissingClosingAngleBracket]src/art/vector/Generate_Stylesheet.tw:11:<<print "<style>."+_art_display_class+" {
	<<print "<style>."+_art_display_class+" {
position: absolute;
height: 100%;
margin-left: auto;
margin-right: auto;
left: 0;
right: 0;
}
```
Pregmodder's avatar
Pregmodder committed

Arkerthan's avatar
Arkerthan committed
## Contribute

Arkerthan's avatar
Arkerthan committed
New Contributors are always welcome. Basic information before you start can be found [here](CONTRIBUTING.md)
## Submodules
FC uses a modified version of SugarCube 2. More information can be found [here](devNotes/sugarcube stuff/building SugarCube.md).