Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • PantyNabber/fc-pregmod
  • pregmodfan/fc-pregmod
  • Alice.Grant/fc-pregmod
  • powerfful/fc-pregmod
  • elstumpo/fc-pregmod
  • Y/fc-pregmod
  • floer/fc-pregmod
  • oidocrop/fc-pregmod
  • hawk5005/fc-pregmod
  • nn/fc-pregmod
  • latios298/fc-pregmod
  • brpregmodfan/fc-pregmod
  • SomeoneTookMyUserName/fc-pregmod
  • 000-250-006/fc-pregmod
  • rewrica/fc-pregmod
  • Stuffedgame/fc-pregmod
  • wisepants314/fc-pregmod
  • fcanon/fc-pregmod
  • randomanon1/pregmod-mod-cyberfurry
  • teddy.buckland/fc-pregmod
  • farsinian_591b7a2d8b49d/fc-pregmod
  • FCShotadev/fc-pregmod
  • uselessartifact/fc-pregmod
  • irina_90/fc-pregmod
  • thaumx/fc-pregmod
  • MouseOfLight/fc-pregmod
  • empresssela/fc-pregmod
  • MasterAaran/fc-pregmod
  • ishy/fc-pregmod
  • psychofox/fc-pregmod
  • shadomancer/fc-pregmod
  • tycrakgg/fc-pregmod
  • azktaawc/fc-pregmod
  • andonno07/fc-pregmod
  • Onithyr/fc-pregmod
  • redneck987.jl/fc-pregmod
  • Farseeker/fc-pregmod
  • milliarc/fc-pregmod
  • BeefimusMaximus/fc-pregmod
  • magicknight79/fc-pregmod
  • hexall90/fc-pregmod
  • cantworkforever/fc-pregmod
  • jc052005/fc-pregmod
  • klorpa/fc-pregmod
  • doku/fc-pregmod
  • samhradh/fc-pregmod
  • scientist/fc-pregmod
  • albania420/fc-pregmod
  • Editoranon/fc-pregmod
  • Anony/fc-pregmod
  • deimios666/fc-pregmod
  • IvoHoe/fc-pregmod
  • bitty/fc-pregmod
  • RealAnon1800/fc-pregmod
  • brankirk/fc-pregmod
  • Amygdalan/fc-pregmod
  • DankWolf/fc-pregmod
  • Supot1951/fc-pregmod
  • bcy603/fc-pregmod
  • pwfxjpuv/fc-pregmod
  • ThreadAnon/fc-pregmod
  • Anon1800/fc-pregmod
  • Echoart/fc-pregmod
  • Dingotush/fc-pregmod
  • anonman/fc-pregmod
  • Arkerthan/fc-pregmod
  • svornost/fc-pregmod
  • wierdwierdos/fc-pregmod
  • wetwareAnon/fc-pregmod
  • QuartzHat/fc-pregmod
  • IchthysdeKilt/fc-pregmod
  • AnonAnonFC/fc-pregmod
  • Alexsis/fc-pregmod
  • LoyalTreeWP/fc-pregmod
  • aerialace/fc-pregmod
  • NurseryAnon/fc-pregmod
  • drakeashordcataclysm/fc-pregmod
  • AshVaris/fc-pregmod
  • purely0nothing/fc-pregmod
  • alex2011/fc-pregmod
  • Lindontree/fc-pregmod
  • FCaa/fc-pregmod
  • TR-8R/fc-pregmod
  • Jones/fc-pregmod
  • brr99/fc-pregmod
  • WriteAnon101/fc-pregmod
  • Drosil/fc-pregmod
  • Bob1221/fc-pregmod
  • vas/fc-pregmod
  • gitgud.user.937/fc-pregmod
  • D-K/fc-pregmod
  • AnonDev/fc-pregmod
  • madman23456/fc-pregmod
  • InarusLynx/fc-pregmod
  • Sonofrevvan/fc-pregmod
  • Randoisrando/fc-pregmod
  • cheez94/fc-pregmod
  • dldldl/fc-pregmod
  • alice321/fc-pregmod
  • Alexei91/fc-pregmod
  • darkcy/fc-pregmod
  • MapleMAD/fc-pregmod
  • pillarofsalt/fc-pregmod
  • vultureangels/fc-pregmod
  • kernel/fc-pregmod
  • nooneman/fc-pregmod
  • deepmurk/fc-pregmod
  • uglybead/fc-pregmod
  • lemongrab/fc-pregmod
  • temperence-chan/fc-pregmod
  • hcommenter/fc-pregmod
  • SpedeMemerson/fc-pregmod
  • qwijqwsf/fc-pregmod
  • BuDClow/fc-pregmod
  • HiveBro/fc-pregmod
  • shoku/fc-pregmod
  • ezsh/fc-pregmod
  • Blank/fc-pregmod
  • randoralcissian/fc-pregmod
  • benito92/fc-pregmod
  • balakart/fc-pregmod
  • wedonotsaw/fc-pregmod
  • Cayleth/fc-pregmod
  • Khip/fc-pregmod
  • Zfair/fc-pregmod
  • promethium/fc-pregmod
  • scyne/fc-pregmod
  • ZZC/fc-pregmod
  • SilverJanine/fc-pregmod
  • joxosix654email-9.co/fc-pregmod
  • Littlefootlittleguy/fc-pregmod
  • FelipeBA/fc-pregmod
  • bigtiddygothbf/fc-pregmod
  • Qotsafan/fc-pregmod
  • Zachpocalypse/fc-pregmod
  • milkanon66/fc-pregmod
  • GreGGoZZ/fc-pregmod
  • drsnarf86/fc-pregmod
  • valen102938/fc-pregmod
  • pregspammer/fc-pregmod
  • ponderin94/fc-pregmod
  • nook/fc-pregmod
  • carnifex34/fc-pregmod-mod-carni
  • SyntheticHigh/fc-pregmod
  • bob112211/fc-pregmod
  • amomynous0/fc-pregmod
  • oxone/fc-pregmod
  • MaxEuwe/fc-pregmod
  • nekoanon/fc-pregmod
  • preglocke/fc-pregmod
  • valen10293847/fc-pregmod
  • 2hu4u/fc-pregmod
  • mayibrad/fc-pregmod
  • Screm/fc-pregmod
  • Ansopedi/fc-pregmod
  • mrchaosbones/fc-pregmod
  • putrid/fc-pregmod
  • Kinnerman/fc-pregmod
  • gungrave1155/fc-pregmod
  • prndev/fc-pregmod
  • weresmilodon/fc-pregmod
  • auxxigobin/fc-pregmod
  • alice-chan/fc-pregmod
  • wigglie/fc-pregmod
  • jrliltfgb/fc-pregmod
  • Lord.alek.shade/fc-pregmod
  • truetailthesquire/fc-pregmod
  • lowercasedonkey/fc-pregmod
  • alice-chan9/fc-pregmod
  • eroglyphics/fc-pregmod
  • taliyent/fc-pregmod
  • zenzombie90/fc-pregmod
  • kjarik/fc-pregmod
  • wriggler/fc-pregmod
  • midnightblue/fc-pregmod
  • faraen/fc-pregmod
  • sigurd.cole/fc-pregmod
  • FCbuganon/fc-pregmod
  • kidkinster/fc-pregmod
  • Kar_Dragon/fc-pregmod
  • Zhafier/fc-pregmod
  • crcaretti/fc-pregmod
  • anond/fc-pregmod
  • tempmania/fc-pregmod
  • Dhanze/fc-pregmod
  • EstaUnCachucha/fc-pregmod
  • oniAnon/fc-pregmod
  • plebian/fc-pregmod
  • maxd569/fc-pregmod
  • Levarn/fc-pregmod
  • pumpkinspice/fc-pregmod
  • GammaXai/fc-pregmod
  • DanBackslide/fc-pregmod
  • i107760/fc-pregmod
  • Absimiliard/fc-pregmod
  • AmbrosiaCheesecake/fc-pregmod
  • fuguer/fc-pregmod
  • Azurel/fc-pregmod
  • Fake_Dev/fc-pregmod
  • ddongsanda/fc-pregmod
  • Combine456/fc-pregmod
  • UnwrappedGodiva/fc-pregmod
  • toyRuberDucky/fc-pregmod
  • zmobie/fc-pregmod
  • chuongk/fc-pregmod
  • BigWalnuts/fc-pregmod
  • Birdstrike/fc-pregmod
  • r3d/fc-pregmod
  • mawspa/fc-pregmod
  • sushila/fc-pregmod
  • DeathShip/fc-pregmod
  • eggrollsandwich/fc-pregmod
  • krayken/fc-pregmod
  • Reman/fc-pregmod
  • dwiafgts/fc-pregmod
  • jort93/fc-pregmod
  • teruterubouzu/fc-pregmod
  • flut/fc-pregmod
  • john-normal/fc-pregmod
  • Jonathan2405/fc-pregmod
  • Tyrgalon/fc-pregmod
  • NovX/fc-pregmod
  • Star1/fc-pregmod
  • Transhumanist01/fc-pregmod
  • m1017242/fc-pregmod
  • Rizal98798/fc-pregmod
  • jamezu369/fc-pregmod
  • thisisawittyname/fc-pregmod
  • KnightBoulegard/fc-pregmod
  • jblack/fc-pregmod
  • Souldrainr/fc-pregmod
  • torbjornhub/fc-pregmod
  • turnop/fc-pregmod
  • breadedpigeon/fc-pregmod
  • fire.maker/fc-pregmod
  • Inahaze/fc-pregmod
  • Waerjak/fc-pregmod
  • Trashman1138/fc-pregmod
  • supanintendo/fc-pregmod
  • _no0neman/fc-pregmod
  • Weslo/fc-pregmod
  • qw89/fc-pregmod
  • EvilDruid/fc-pregmod
  • dt25/fc-pregmod
  • Raou/fc-pregmod
  • DDouFu/fc-pregmod
  • Mauno/fc-pregmod
  • PandemoniumPenguin/fc-pregmod
  • AngelPuppet/fc-pregmod
  • DasUser79/fc-pregmod
  • Keaeag3s/fc-pregmod
  • HazeHazeHaze/fc-pregmod
  • hpotato/fc-pregmod
  • owouchthatbloodyhurt/fc-pregmod
  • v7Silent/fc-pregmod
  • nickylass/fc-pregmod
  • ThePrimer/fc-pregmod
  • PineCone/fc-pregmod
  • bruhmomentum17/fc-pregmod
  • CheatDude/fc-pregmod
  • synnove/fc-pregmod
  • en_bees/fc-pregmod
  • seronis/fc-pregmod
  • Nepidinepnep/fc-pregmod
  • Titanninja/fc-pregmod
  • Elohiem/fc-pregmod
  • cocoajazz/fc-pregmod
  • tfwncagf/fc-pregmod
  • ChunkyMonke/fc-pregmod
  • Dracoman671/fc-pregmod
  • jgl/fc-pregmod
  • Inev/fc-pregmod
  • jbige/fc-pregmod
  • MonsterMate/fc-pregmod
  • Konstantin6961/fc-pregmod
  • darth_ashi/fc-pregmod
  • shinx/fc-pregmod
  • Anu/fc-pregmod
  • Greytide/fc-pregmod
  • Bonafidemetal/fc-pregmod
  • Peje/fc-pregmod
  • Hexfy98/fc-pregmod
  • TooSlow/fc-pregmod
  • SoGu/fc-pregmod
  • CloudyCoffee/fc-pregmod
  • Welptard/fc-pregmod
  • Ploc/fc-pregmod-ploc
  • rain-/fc-pregmod
  • Pecanus/fc-pregmod
  • Jhortrax/fc-pregmod
  • valleytwo/fc-pregmod
  • QCmd/fc-pregmod
  • kung-wada/fc-pregmod
  • LolGaye/fc-pregmod
  • Exspiravit1/fc-pregmod
  • jadeddog/fc-pregmod
  • buster-scruggs/fs-antebellum-revivalism
  • policia123/fc-pregmod
  • evrgentesee/fc-pregmod
  • rko127/fc-pregmod
  • ExcalGrip12/fc-pregmod
  • BlackAion/fc-pregmod
  • Boss2020/fc-pregmod
  • Lawled/fc-pregmod
  • shiro/fc-pregmod
  • Skavenkeri/fc-pregmod
  • PooPooDooDooHead/fc-pregmod
  • Dugee/fc-pregmod
  • Portal124/fc-pregmod-vore
  • Fekenol/fc-pregmod
  • elGuapo/fc-pregmod
  • KelioSteel/fc-pregmod
  • sldlddk/fc-pregmod
  • lumepanter/fc-pregmod
  • ryuhana/fc-pregmod
  • Nene1009yb/fc-pregmod
  • DontAskDontTell/fc-pregmod-extra-events
  • Dulgi/fc-pregmod
  • Jate/fc-pregmod
  • percy365/fc-pregmod
  • franklygeorge/fc-pregmod
  • Dragneel117/fc-pregmod
  • vl96/fc-pregmod
  • Gorlom/fc-economicmod
  • NotAlive/fc-pregmod
  • Heretek/fc-pregmod
  • joeshmo828282/fc-pregmod
  • deswes/fc-pregmod
  • Nanana21/fc-pregmod
  • Gbr6/fc-pregmod
  • RandomNecro/fc-pregmod
  • Trinidad/fc-pregmod
  • anonymousey/fc-pregmod
  • macaronideath/fc-pregmod
  • fcbleh/fc-pregmod
  • jk3000/fc-pregmod
  • Akane/fc-pregmod
  • TheBoi/fc-pregmod
  • Sheenariel/fc-pregmod
  • Metapod/multi-custom
  • Banyanael/fc-pregmod
  • frogge/fc-pregmod
  • idkkk12385/fc-pregmod
  • Mirarara/fc-pregmod
  • DeaDa/fc-pregmod-thedeal
  • CobraCommander/fc-pregmod
  • bicobus/fc-pregmod
  • CardcaptorRLH85/fc-pregmod
  • temp-ui-start/fc-pregmod
  • PresidentConvert/fc-pregmod
  • delizious/fc-pregmod
  • Ducati/fc-pregmod
  • DerangedLoner/fc-pregmod-development-fork
  • ProjectVictory/fc-pregmod
  • forecastle/fc-pregmod
  • Apathy/fc-pregmod
  • indf/fc-pregmod-dev
  • GavAndAlt/fc-pregmod
  • hagamablabla/fc-pregmod
  • Alaco/fc-pregmod
  • DCoded/fc-pregmod
  • LittlePlague/fc-pregmod
  • MissOnahole/fc-pregmod
  • ishy2317/fc-pregmod
  • nielkazama/fc-pregmod
  • Phobos/fc-pregmod
  • kraster/fc-pregmod
  • JasWS/fc-pregmod
  • FelixJS/fc-pregmod
  • NCherfaoui/fc-pregmod
  • MidnightMoose/fc-pregmod
  • jjjjjj/fc-pregmod
  • Cl0ver/fc-pregmod
  • Pythoniqus/fc-pregmod
  • JohnMolotov/fc-pregmod
  • anonymouspregmodder/fc-pregmod-anonymouspregmodder
  • Fanatey/fc-pregmod
  • Mizako/fc-pregmod
  • Nithhogg/fc-pregmod
  • Bluecoffee/fc-pregmod
380 results
Show changes
Showing
with 9113 additions and 429 deletions
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
{
"dirs": {
"intermediate": "build",
"output": "bin"
"output": "bin",
"modOutput": "bin/mods"
},
"output": "FC_pregmod.html",
"twineformat": "sugarcube-2",
"output": "FC_pregmod[extras].html",
"gitVersionFile": "src/002-config/fc-version.js.commitHash.js",
"sources": {
"module": {
......@@ -12,14 +12,17 @@
"css": ["css/**/*.css"]
},
"story": {
"css": ["src/**/*.css"],
"js": ["src/**/*.js"],
"css": ["src/**/*.css"],
"twee": ["src/**/*.tw"],
"media": [
"src/art/vector/layers",
"src/art/vector_revamp/layers"
"src/art/map",
"src/art/vector/layers/",
"src/art/vector_revamp/layers/"
]
},
"mods": "mods/dev",
"themes": "themes",
"head": "resources/raster/favicon/arcologyVector.html"
},
"options": {
......
@echo off
:: Free Cities Basic Compiler - Windows
@ECHO off
:: Free Cities Compiler - Windows
:: Set working directory
pushd %~dp0
SETLOCAL
:: If compile is invoked with "extramemory", set SORT_MEM (used by concatFiles.bat)
SET CMD_OPTION=%~1
IF DEFINED CMD_OPTION IF /I [%CMD_OPTION%]==[EXTRAMEMORY] SET CMD_OPTION=EXTRAMEM
IF DEFINED CMD_OPTION IF /I [%CMD_OPTION%]==[EMEMORY] SET CMD_OPTION=EXTRAMEM
IF DEFINED CMD_OPTION IF /I [%CMD_OPTION%]==[EXTRAMEM] SET SORT_MEM=65535
:processargs
SET ARG=%1
IF DEFINED ARG (
:: exit without user input
if "%ARG%"=="--no-wait" SET "NOWAIT=True"
SHIFT
GOTO processargs
)
:: run dependencyCheck.bat
CALL .\devTools\scripts\dependencyCheck.bat
SET CODE=%ERRORLEVEL%
:: See if we can find a git installation
set GITFOUND=no
for %%k in (HKCU HKLM) do (
for %%w in (\ \Wow6432Node\) do (
for /f "skip=2 delims=: tokens=1*" %%a in ('reg query "%%k\SOFTWARE%%wMicrosoft\Windows\CurrentVersion\Uninstall\Git_is1" /v InstallLocation 2^> nul') do (
for /f "tokens=3" %%z in ("%%a") do (
set GIT=%%z:%%b
set GITFOUND=yes
goto FOUND
)
)
)
)
:FOUND
if %GITFOUND% == yes (
set "PATH=%GIT%bin;%PATH%"
echo|set /p out="App.Version.commitHash = " > "%~dp0src\002-config\fc-version.js.commitHash.js"
git rev-parse --sq --short HEAD >> "%~dp0src\002-config\fc-version.js.commitHash.js" 2>NUL
if errorlevel 1 echo|set /p out="null" >> "%~dp0src\002-config\fc-version.js.commitHash.js"
echo|set /p out=";" >> "%~dp0src\002-config\fc-version.js.commitHash.js"
)
IF %CODE% EQU 69 (
:: if exit code is 69, then we don't have all the dependencies we need
:: fall back to the simple compiler
ECHO.
ECHO Dependencies not met, falling back to simple compiler.
ECHO.
:: run simple-compiler.bat, passing all arguments to it
CALL ./simple-compiler.bat %*
EXIT /b 0
) ELSE IF %CODE% EQU 0 (
:: if exit code is 0, run new compiler passing all arguments to it
CALL node devTools\scripts\advancedCompiler.js
if not exist "bin\resources" mkdir bin\resources
CALL devTools/concatFiles.bat js\ "*.js" bin\fc.js
CALL devTools/concatFiles.bat css\ "*.css" bin\fc.css
SET TWEEGO_PATH=%~dp0devTools\tweeGo\storyFormats
:: Run the appropriate compiler for the user's CPU architecture.
if %PROCESSOR_ARCHITECTURE% == AMD64 (
CALL "%~dp0devTools\tweeGo\tweego_win64.exe" -o "%~dp0bin/FC_pregmod.html" --module=bin/fc.js --module=bin/fc.css --head resources/raster/favicon/arcologyVector.html "%~dp0src"
) else (
CALL "%~dp0devTools\tweeGo\tweego_win86.exe" -o "%~dp0bin/FC_pregmod.html" --module=bin/fc.js --module=bin/fc.css --head resources/raster/favicon/arcologyVector.html "%~dp0src"
EXIT /b 0
) ELSE (
:: if exit code is not 0, print error message and then attempt to fall back to the simple compiler
ECHO.
ECHO dependencyCheck.bat exited with code: %CODE%
ECHO Dependency check failed unexpectedly, falling back to the simple compiler.
ECHO.
CALL ./simple-compiler.bat %*
EXIT /b 0
)
DEL bin\fc.js
DEL bin\fc.css
IF EXIST "%~dp0src\002-config\fc-version.js.commitHash.js" DEL "%~dp0src\002-config\fc-version.js.commitHash.js"
ENDLOCAL
popd
ECHO Done
#!/bin/bash
output=/dev/stdout
# displays help text
function displayHelp() {
cat <<HelpText
Usage: compile.sh [OPTION]...
Options:
-d, --dry Do not compile
-g, --git Add hash of HEAD to filename
-h, --help Show this help text
-s, --sanity Run sanityCheck
-q, --quiet Suppress terminal output
-t, --themes Generate theme files
-m, --minify Minify output files
--ci CI mode
HelpText
}
#display an error message
function echoError() {
echo -e "\033[0;31m$*\033[0m"
}
#display message
function echoMessage() {
echo "$1" >"${output}"
}
#compile the HTML file
function compile() {
mkdir -p bin/resources
export TWEEGO_PATH=devTools/tweeGo/storyFormats
TWEEGO_EXE="tweego"
if hash $TWEEGO_EXE 2>/dev/null; then
echoMessage "system tweego binary"
else
case "$(uname -m)" in
x86_64 | amd64)
echoMessage "x64 arch"
if [ "$(uname -s)" = "Darwin" ]; then
TWEEGO_EXE="./devTools/tweeGo/tweego_osx64"
elif [ "$OSTYPE" = "msys" ]; then
TWEEGO_EXE="./devTools/tweeGo/tweego_win64"
else
TWEEGO_EXE="./devTools/tweeGo/tweego_nix64"
fi
;;
x86 | i[3-6]86)
echoMessage "x86 arch"
if [ "$(uname -s)" = "Darwin" ]; then
TWEEGO_EXE="./devTools/tweeGo/tweego_osx86"
elif [ "$OSTYPE" = "msys" ]; then
TWEEGO_EXE="./devTools/tweeGo/tweego_win86"
else
TWEEGO_EXE="./devTools/tweeGo/tweego_nix86"
fi
;;
*)
echoError "No system tweego binary found, and no precompiled binary for your platform available."
echoError "Please compile tweego and put the executable in PATH."
exit 2
;;
esac
fi
if [ "$(uname -m)" = "x86_64" ] || [ "$(uname -m)" = "amd64" ]; then
if [ "$(uname -s)" = "Darwin" ]; then
MINIFY_EXE="./devTools/minify/minify_darwin_amd64"
elif [ "$OSTYPE" = "msys" ]; then
MINIFY_EXE="./devTools/minify/minify_win_amd64.exe"
else
MINIFY_EXE="./devTools/minify/minify_linux_amd64"
fi
fi
file="bin/FC_pregmod.html"
# Find and insert current commit
if [[ "$ci" ]]; then
COMMIT=$CI_COMMIT_SHORT_SHA
elif [[ -d .git ]]; then
COMMIT=$(git rev-parse --short HEAD)
if [[ "$usehash" ]]; then
file="bin/FC_pregmod_${COMMIT}.html"
fi
fi
if [[ "$minify" ]]; then
final_file=$file
file="bin/tmp.html"
fi
if [[ "$COMMIT" ]]; then
printf "App.Version.commitHash = '%s';\n" "${COMMIT}" > src/002-config/fc-version.js.commitHash.js
fi
devTools/concatFiles.sh js/ '*.js' bin/fc.js
devTools/concatFiles.sh css/ '*.css' bin/fc.css
$TWEEGO_EXE -o "$file" --module=bin/fc.js --module=bin/fc.css --head resources/raster/favicon/arcologyVector.html src/ || build_failed="true"
rm -f bin/fc.js
rm -f bin/fc.css
if [ "$build_failed" = "true" ]; then
echoError "Build failed."
exit 1
fi
if [[ "$minify" ]]; then
if [[ "$MINIFY_EXE" ]]; then
# SC license is inside an HTML comment, so keep them.
# eval depends on local variables, so don't modify them (Config, Engine, ...)
$MINIFY_EXE --html-keep-comments --js-keep-var-names "$file" > "$final_file"
rm -f "$file"
else
echoError "Minification only available on amd64 systems."
mv "$file" "$final_file"
fi
file=$final_file
fi
if [[ "$ci" || -d .git ]]; then
rm src/002-config/fc-version.js.commitHash.js
fi
echoMessage "Saved to $file."
}
if [[ "$1" == "" ]]; then
#tip if no option
echoMessage "For more options see compile.sh -h."
# Free Cities Compiler - Unix
# run dependencyCheck.sh
./devTools/scripts/dependencyCheck.sh
exitCode=$?
# exit code is now stored in $exitCode
# if exit code is 69, then we don't have all the dependencies we need
# fall back to the simple compiler
if [[ $exitCode -eq 69 ]]; then
echo "Dependencies not met, falling back to the simple compiler."
echo ""
# run simple-compiler.sh, passing all arguments to it
./simple-compiler.sh "$@"
exit 0
# if exit code is not 0, print error message and then attempt to fall back to the simple compiler
elif [[ $exitCode -ne 0 ]]; then
echo "Dependency check failed unexpectedly, falling back to the simple compiler."
echo ""
# run simple-compiler.sh, passing all arguments to it
./simple-compiler.sh "$@"
exit 0
# if exit code is 0, run new compiler passing all arguments to it
else
#parse options
while [[ "$1" ]]; do
case $1 in
-d | --dry)
dry="true"
;;
-g | --git)
usehash="true"
;;
-h | --help)
displayHelp
exit 0
;;
-s | --sanity)
sanity="true"
;;
-q | --quiet)
output=/dev/null
;;
-t | --themes)
themes="true"
;;
-m | --minify)
minify="true"
;;
--ci)
ci="true"
;;
*)
echoError "Unknown argument $1."
displayHelp
exit 1
;;
esac
shift
done
fi
# Run sanity check.
[ -n "$sanity" ] && ./sanityCheck.sh
if ! [[ -d .git ]]; then
echoMessage "No git repository. Git specific actions disabled."
fi
#compile
if [[ "$dry" ]]; then
echoMessage "Dry run finished."
else
compile
echoMessage "Compilation finished at $(date +%T)."
fi
# compile themes
if [[ "$themes" ]]; then
(
cd themes/ || exit
for D in *; do
if [ -d "${D}" ]; then
../devTools/concatFiles.sh "${D}"/ '*.css' ../bin/"${D}".css
fi
done
)
echoMessage "Themes compiled at $(date +%T)"
node devTools/scripts/advancedCompiler.js
fi
@echo off
:: Free Cities Basic Compiler - Windows
:: Set working directory
pushd %~dp0
:: Compile the game
call "%~dp0compile.bat"
popd
PAUSE
@echo off
set back=%cd%
for /d %%i in (%~dp0\themes\*) do (
CALL :compileDirectory %%i
)
cd %back%
EXIT /B %ERRORLEVEL%
:compileDirectory
REM ~1 is an absolute path, get name of directory here
REM https://stackoverflow.com/a/5480568
set var1=%~1%
set var2=%var1%
set i=0
:loopprocess
for /F "tokens=1* delims=\" %%A in ( "%var1%" ) do (
set /A i+=1
set var1=%%B
goto loopprocess
)
for /F "tokens=%i% delims=\" %%G in ( "%var2%" ) do set last=%%G
REM compile
CALL devTools/concatFiles.bat "%%~1" "*.css" bin\"%last%".css
EXIT /B 0
{
"version": "0.2",
"cache": {
"cacheFormat": "universal",
"cacheLocation": ".cspellcache",
"cacheStrategy": "content",
"useCache": true
},
"allowCompoundWords": true,
"ignorePaths": [
"./CHANGELOG.md",
"node_modules",
"bin",
"build",
"devNotes/Deepmurk_Vector_Art_Changelog.md",
"devNotes/legacy files",
"devTools/minify",
"devTools/tweeGo",
"devTools/types/tippy",
"js/001-lib/idb.js",
"js/003-data/arcologyNames.js",
"js/003-data/miscDataNames.js",
"js/003-data/poses.js",
"src/001-lib/Jquery/**",
"src/001-lib/mousetrap/**",
"src/001-lib/webgl/**",
"src/art/webgl.js",
"src/art/webgl/art.js",
"src/art/webgl/engine.js",
"src/data/backwardsCompatibility",
"src/gui/Encyclopedia/encyclopediaCredits.js",
"src/events/RE/reNickname.js",
"src/js/displayVariables.js",
"src/npc/databases/dSlavesDatabase.js",
"src/npc/databases/ddSlavesDatabase.js",
"src/npc/databases/cheatmodeDatabase.js",
"submodules",
"*.min.js",
"*.json",
"*.svg",
".gitignore",
"# Below ignored until properly cleaned up #",
"src/npc/children",
"src/npc/infants"
],
"language": "en",
"import": [
"@cspell/dict-medicalterms/cspell-ext.json",
"@cspell/dict-companies/cspell-ext.json",
"@cspell/dict-data-science/cspell-ext.json",
"@cspell/dict-scientific-terms-us/cspell-ext.json",
"@cspell/dict-software-terms/cspell-ext.json"
],
"dictionaries": [
"companies",
"softwareTerms",
"misc",
"typescript",
"node",
"html",
"css",
"filetypes",
"npm",
"countries_and_people_groups",
"names",
"japanese_custom",
"languages",
"misc"
],
"dictionaryDefinitions": [
{
"name": "countries_and_people_groups",
"path": "./devTools/dictionaries/countries_and_people_groups.txt"
},
{
"name": "names",
"path": "./devTools/dictionaries/names.txt"
},
{
"name": "japanese_custom",
"path": "./devTools/dictionaries/japanese.txt"
},
{
"name": "languages",
"path": "./devTools/dictionaries/languages.txt"
},
{
"name": "misc",
"path": "./devTools/dictionaries/misc.txt"
}
],
"flagWords": [
"automaticly->automatically",
"carress->caress",
"javascript->JavaScript",
"loras->LoRAs",
"non-lethal->nonlethal",
"randomise->randomize",
"seperator->separator",
"slave-owner->slaveowner",
"slave-owners->slaveowners",
"slave-ownership->slaveownership",
"tood->todo"
],
"ignoreWords": [
"aaah",
"adetailer",
"admi",
"ahhhh",
"arkerthan",
"awwww",
"breastflesh",
"coeff",
"coeffs",
"detaste",
"documentjs",
"elohiem's",
"eqnum",
"eqstr",
"fert",
"franklygeorge",
"freecitiesdev",
"horm",
"ievent",
"iife",
"inscrip",
"isamputee",
"isfertile",
"ismodded",
"isub",
"isunmodded",
"isvirile",
"mpreg",
"mult",
"neqnum",
"neqstr",
"pooljizzers",
"popperjs",
"precommit",
"preg",
"pregmodder",
"pregmodfan",
"recets",
"reci",
"refi",
"regs",
"repop",
"ress",
"shokushu",
"shokushu's",
"sonarjs",
"sooo",
"soooo",
"stylelintrc",
"subjugationistindoaryan",
"supr",
"syouthening",
"ternarynum",
"ts-nocheck",
"unittests",
"vign",
"weapmanu",
"xmax",
"xmin",
"ymax",
"ymin"
],
"words": [
"abaya",
"accelerants",
"acceptingly",
"actuals",
"anaphrodisiacs",
"anarcho",
"aphro",
"arcologies",
"arcology",
"asgardians",
"atrophiers",
"autosurgery",
"bacchian",
"ballsack",
"bdsm",
"beared",
"beribboned",
"bimbofication",
"biyelgee",
"breastgasm",
"broodmother",
"bukkake",
"burkini",
"buttcheeks",
"buttfuck",
"buttfucked",
"butthole",
"buttplug",
"buttslut",
"camelcase",
"cartoonishly",
"catgirl",
"ceramo-metallic",
"creampied",
"csec",
"cummunist",
"cumslut",
"cunny",
"cybersuit",
"defusal",
"degradationist",
"degradationists",
"dilf",
"dumbassening",
"décor",
"eary",
"electrolarynx",
"elven",
"enculées",
"ethnicities",
"evocati",
"exosuits",
"exposé",
"facefuck",
"fanbase",
"façade",
"fcfa",
"fchost",
"fcnn",
"fctv",
"felidae",
"fetishize",
"fetishizes",
"fetishizing",
"financials",
"fleur-de-lis",
"fssmr",
"fuckdoll",
"fuckdolls",
"fuckmachine",
"fuckpit",
"fucktoy",
"fucktoys",
"futa",
"futanari",
"futas",
"gestators",
"gigantomastia",
"gilf",
"girthy",
"gitgud",
"gladiatrix",
"gulpfile",
"hamsas",
"hanbok",
"handsy",
"hassaku",
"hastati",
"headgirl",
"headgirlsuite",
"heritance",
"heterochromia",
"hime",
"hippolyta",
"hooved",
"hucow",
"huipil",
"huipils",
"hyperleptinemia",
"hypoleptinemia",
"impregnatrix",
"incentivizes",
"incubatee",
"indo-aryan",
"intellicode",
"jetpack",
"jism",
"jizya",
"jizz",
"kemonomimi",
"kitsune",
"kitsunegirl",
"liposuctions",
"loli",
"lolified",
"lolis",
"macromastia",
"majicmix",
"mamluks",
"mammaries",
"mastersuite",
"meatshield",
"merc",
"mercs",
"micropenis",
"milkings",
"mindbreak",
"mindbroken",
"mmhm",
"mmmhmm",
"moddable",
"monokini",
"mounty",
"mrowling",
"mrowls",
"mélange",
"ménage",
"naizuri",
"nanotech",
"naïvely",
"naïveté",
"nethers",
"nieskowitz",
"niqab",
"nonuplets",
"nueva",
"nymphomni",
"old-timey",
"old-worlder",
"omnisexual",
"onahole",
"one-upmanship",
"onsen",
"oppai",
"orcish",
"orgasmed",
"outie",
"outro",
"painal",
"paizuri",
"pako",
"pantsu",
"pedo",
"pervy",
"pess",
"pmod",
"polyhydramnios",
"poofy",
"preferentialist",
"preggo",
"preggololi",
"preggos",
"pregmod",
"prereqs",
"prising",
"progeria",
"pudge",
"qipao",
"qipaos",
"quim",
"radicalist",
"reclench",
"repopulationist",
"retailored",
"retellings",
"ronin",
"sagbgone",
"sekhmet",
"sekhmeti",
"selfcest",
"shamefast",
"shibari",
"shota",
"shotas",
"slavegirl",
"slaveowner",
"slaveowners",
"slaveownership",
"sluttery",
"snythweave",
"sodomizer",
"sodomizers",
"splurt",
"spread-eagled",
"ssao",
"stims",
"stimulators",
"stolas",
"storyformat",
"strapon",
"stylelint",
"subjugationist",
"sugarcube",
"supremacism",
"swole",
"sybian",
"tabi",
"tase",
"tased",
"tases",
"tasing",
"tlatcani",
"tranny",
"trib",
"tribbing",
"triggerable",
"tweego",
"twincest",
"tête-à-tête",
"uglies",
"unblind",
"undeafen",
"undecillion",
"unexpandable",
"unfucked",
"unholstered",
"unimplanted",
"universidad",
"unmilked",
"unmocked",
"unmodded",
"unparted",
"unpunctuated",
"unsatisfyingly",
"upscaler",
"verticalize",
"vidscreens",
"vitruvian",
"wakizashi",
"wallscreen",
"wardeness",
"webgl",
"webm",
"webp",
"wesekh",
"wikifier",
"xochiquetzal",
"école"
]
}
:root {
--button-color: #252525;
--button-border-color: #333333;
--button-selected-color: #050505;
--button-hover-color: #414141;
--button-disabled-color: #1a1a1a;
--button-color: #252525;
--button-border-color: #333333;
--button-selected-color: #050505;
--button-hover-color: #414141;
--button-disabled-color: #1a1a1a;
--link-color: #68D;
--link-hover-color: #8af
--link-color: #68D;
--link-hover-color: #8af;
--background-default: #111;
--background-light: #222;
}
/* Revert font to SC 2.36 */
html {
font: 16px/1 Helmet,Freesans,sans-serif;
}
body {
overflow-x: hidden;
overflow-x: hidden;
}
/* clears SugarCube's default transition */
.passage {
transition: none;
-webkit-transition: none;
transition: none;
-webkit-transition: none;
}
.passage-in {
opacity: 1 !important;
opacity: 1 !important;
}
#passages {
/* max-width: 54em */
max-width: 100%;
/* max-width: 54em */
max-width: 100%;
}
/* makes HR colorflip compatible */
hr {
background:#ccc;
border:0;
background:#ccc;
border:0;
}
/* fix dialog title centering */
#ui-dialog-title {
padding-left: 3.5em;
}
/* make buttons look nice */
.passage button {
background-color: var(--button-color);
border: solid 2px var(--button-border-color);
}
.passage button:hover {
background-color: var(--button-hover-color);
}
select {
padding-top: 0.4em;
padding-bottom: 0.4em;
background-color: #111;
}
......@@ -2,24 +2,24 @@
/* make the sidebar more compact by reducing the space between major parts */
#ui-bar-body {
/* height: calc(100% - 2.5em); */
/* margin: 2.5em 0; */
height: calc(100% - 1.5em);
margin: 1.5em 0;
/* height: calc(100% - 2.5em); */
/* margin: 2.5em 0; */
height: calc(100% - 1.5em);
margin: 1.5em 0;
}
#ui-bar-body > :not(:first-child) {
/* margin-top: 2em; */
margin-top: 1.5em;
/* margin-top: 2em; */
margin-top: 1.5em;
}
#story-author {
/* margin-top: 2em; */
margin-top: 0;
/* margin-top: 2em; */
margin-top: 0;
}
/* make cheat text boxes fit in sidebar */
#story-caption input {
min-width: 0;
width: calc(100% - 0.8em - 2px);
min-width: 0;
width: calc(100% - 0.8em - 2px);
}
......@@ -172,10 +172,14 @@
border-color: gray;
}
.building .row .transportHub {
.building .row .transport-hub {
border-color: magenta;
}
.building .row .weaponsManufacturing {
border-color: springgreen;
}
#arcology-building-container {
margin-bottom: 2em;
}
/* small trick to hide broken images */
img {
text-indent: -10000px;
text-indent: -10000px;
}
.imageColumn { /* TODO: this is mostly a copy of imageRef to get its flex features working properly. They can probably be removed from imageRef at some point */
display: flex;
flex-direction: column;
flex-wrap: wrap;
align-items: flex-start;
position: relative;
float: right;
display: flex;
flex-direction: column;
flex-wrap: wrap;
align-items: flex-start;
position: relative;
float: right;
}
.imageRef {
display: flex;
flex-direction: column;
flex-wrap: wrap;
align-items: flex-start;
position: relative;
background-color: rgba(80, 80, 80, 0.5);
margin: 2px;
align-items: flex-start;
background-color: rgba(80, 80, 80, 0.5);
display: flex;
flex-direction: column;
flex-wrap: wrap;
position: relative;
}
.tinyImg {
height: 120px;
width: 120px;
float: left;
border: 1px solid #333333;
float: left;
height: 8em;
width: 8em;
}
.smlImg {
height: 150px;
width: 150px;
float: left;
height: 10em;
width: 10em;
float: left;
}
.smlImg > img, .smlImg > video {
height: auto;
height: auto;
}
.medImg {
height: 300px;
width: 300px;
float: right;
height: 16em;
width: 16em;
float: right;
margin: 1em;
}
.medImg > img, .medImg > video {
height: auto;
height: auto;
}
.lrgRender {
height: 531px;
width: 506px;
margin-right: -50px;
margin-left: 0px;
float: right;
border: 2px solid #333333;
float: right;
margin-left: 1em;
margin-top: 1em;
width: 33%;
}
.lrgVector {
height: 600px;
width: 600px;
margin-right: -125px;
margin-left: -125px;
float: right;
z-index: -1;
border: 2px solid #333333;
float: right;
height: 40em;
margin-left: 1em;
margin-top: 1em;
width: 33%;
}
.lrgRender > div.mask {
width: 180px;
height: 100%;
background: linear-gradient(90deg, rgba(17, 17, 17, 1), rgba(17, 17, 17, 0.8) 60%, rgba(17, 17, 17, 0));
z-index: 1;
/*position: absolute;*/
.lrgVector.custom {
height: auto;
}
.lrgRender > img, .lrgRender > video {
margin-left: -150px;
height: 531px;
width: auto;
}
.lrgVector > div.mask {
width: 150px;
height: 100%;
background: linear-gradient(90deg, rgba(17, 17, 17, 1), rgba(17, 17, 17, 0.8) 60%, rgba(17, 17, 17, 0));
z-index: 1;
}
.lrgVector > img, .lrgVector > video {
margin-left: -150px;
height: 600px;
width: auto;
}
.lrgVector svg {
width: 336px;
.lrgRender > svg {
height: 40em;
position: relative;
}
object {
object-fit: scale-down;
position: absolute;
top: 0;
left: 0;
object-fit: scale-down;
position: absolute;
top: 0;
left: 0;
}
img.paperdoll {
position: absolute;
top: 0;
left: 0;
margin-left: 0;
position: absolute;
top: 0;
left: 0;
margin-left: 0;
}
img.assistant {
float: right;
border: 3px hidden;
object-fit: contain;
}
.ai-art-image {
transition: filter 0.5s ease-in-out;
position: relative;
float:right;
border:3px hidden;
object-fit:contain;
height:100%;
width:100%;
cursor: zoom-in;
}
.ai-art-image:not([src]) {
aspect-ratio:2/3;
}
.ai-art-container.refreshing {
overflow:hidden;
}
.ai-art-container.refreshing .ai-art-image {
filter: blur(5px);
}
.ai-art-progress {
position: absolute;
bottom: 0;
width: 100%;
height: max(5%, 20px);
border-radius: 0;
border: none;
background: linear-gradient(to right, white 50%, rgba(0, 0, 0, 0.5) 50%);
background-size: 200%;
--progress: 0%;
background-position-x: calc(100% - var(--progress));
transition: background-position-x 1s linear, opacity 300ms ease-in-out;
}
.ai-art-progress::-webkit-progress-value {
background: none;
}
.ai-art-progress::-moz-progress-bar {
background: none;
}
.ai-art-progress[value="0"],
.ai-art-progress[value="1"] {
opacity: 0;
}
.ai-art-progress[value="1"] {
transition: background-position-x 200ms linear, opacity 300ms 200ms ease-in-out;
}
.ai-art-progress[value="0"] {
transition: opacity 300ms ease-in-out;
}
.ai-spinner {
display: none;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
font-size: 30px;
animation: spin 2s linear infinite;
}
.rightArrow {
right: 0;
}
.leftArrow {
left: 0;
}
.arrow {
display: none;
position: absolute;
bottom: 0;
cursor: pointer;
border: none;
}
.ai-art-container {
width: 100%;
height: 100%;
float: right;
border: 3px hidden;
object-fit: contain;
}
.ai-art-container.refreshing .ai-spinner {
display: block;
}
.ai-toolbar {
display: none;
position: absolute;
right: 0;
top: 0;
}
.ai-art-container:hover .ai-toolbar {
display: flex;
flex-direction: column;
}
.ai-art-container:hover .arrow {
display: block;
}
.ai-toolbar button {
/* position: absolute; */
min-width: 2rem;
min-height: 2rem;
cursor: pointer;
border: none;
}
.ai-art-container button {
background: rgba(0, 0, 0, 0.5);
}
.zoom-in::after {
font-family: "sc-icons";
content: " \f00e"; /* Zoom in icon */
}
.refresh-icon::after {
font-family: "sc-icons";
content: " \f2ea"; /* Refresh icon */
}
.lightbox {
position: fixed;
top: 0;
width: 100%;
height: 100%;
background: rgba(0 0 0 / 0.2);
}
.lightbox-background {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
}
.lightbox img {
max-width: 80%;
max-height: 80%;
}
.lightbox .close {
top: 4rem;
right: 4rem;
font-size: 2rem;
background: none;
position: absolute;
border: none;
}
@keyframes spin {
0% {
transform: translate(-50%, -50%) rotate(0deg);
}
100% {
transform: translate(-50%, -50%) rotate(360deg);
}
}
.ai-queue-overlay {
position: fixed;
right: 0;
bottom: 0;
background-color: #1a1a1a;
border-left: #333 2px solid;
border-top: #333 2px solid;
border-top-left-radius: 1em;
padding: 0.5em;
}
.ai-queue-overlay.hidden {
display: none;
}
.ai-queue-overlay .spinner {
display: inline-block;
width: 2.3em;
}
.ai-queue-overlay .spinner::after {
font-family: 'sc-icons';
content: "\f110";
position: absolute;
top: 50%;
left: 0.9em;
font-size: 25px;
animation: spin 3s linear infinite;
}
.ai-queue-overlay button {
font-family: 'sc-icons';
background-color: var(--button-color);
border: solid 2px var(--button-border-color);
}
.ai-queue-overlay button:hover {
background-color: var(--button-hover-color);
}
......@@ -19,4 +19,4 @@ Most of the structure should be self-explanatory, this is a list of the main rul
## Compiling
During compiling all CSS files in this directory get combined and then added as a module, which means the styles are put
directly into <head> element of the final HTML file.
directly into the `<head>` element of the final HTML file.
.profile-events {
display: grid;
grid-template-columns: max-content max-content max-content auto;
grid-column-gap: 1em;
display: grid;
grid-template-columns: max-content max-content max-content auto;
grid-column-gap: 1em;
}
.fctv {
display: float;
}
.fctv-remote {
text-align: center;
justify-items: center;
display: grid;
float: left;
width: min-content;
padding-right: 20px;
padding: 0.5em;
border: 3px white solid;
margin: 0 1em;
}
.fctv-remote-numbers {
display: grid;
grid-gap: 3px;
grid-gap: 0.5em;
grid-template-columns: repeat(3, min-content);
justify-items:center;
justify-items: center;
}
.fctv-remote-button {
margin-top: 10px;
margin-top: 0.5em;
}
.fctv-remote-selected {
font-weight: bold;
}
div.slave-report {
margin-top: 1em;
margin-bottom: 1em;
margin-top: 1em;
margin-bottom: 1em;
float: inline-start;
}
div.event-section {
margin-top: 1em;
margin-bottom: 1em;
margin-top: 1em;
margin-bottom: 1em;
}