I'm currently rewriting Knossos from scratch and as a result, this repository currently doesn't contain a functional mod manager. If you're just trying to run Knossos, please take a look at the old repository.
This repository contains the unfinished code for the next version and doesn't contain essential features like mod installation. You're welcome to test the software in its current state. Just please be aware of the limitations.
I'll remove this notice once the basic mod manager functionality (mod install, update, remove, ...) has been implemented.
Most of the source code is in the packages
subdirectory. It also contains
further documentation for the various packages.
Before you compile this project, make sure you have Visual Studio 2019 or the Build Tools for Visual Studio 2019 installed. The latter only provide CLI tools which should be enough to build this project.
If you're still on Windows 7 or haven't updated Windows 10 in over a year, you'll also have to install the Golang toolchain.
Once you're set up, double-click the open_shell.bat
file to open a terminal
in this folder or open your favorite terminal and navigate here manually.
NOTE: I highly recommend installing Windows Terminal for a better
terminal experience on Windows. If you don't like the Windows Store, you can
also manually download and install the tool.
Continue with the general instructions below.
You'll need the following:
Once you've installed these dependencies, follow the general instructions and
replace the task.ps1
command with ./task.sh
.
You'll need the following:
/usr/local/opt/xz/lib/liblzma.a
)Once you've installed these dependencies, follow the general instructions and
replace the task.ps1
command with ./task.sh
.
Enter task.ps1 configure -o
to get a list of available options and their default
values. The first time you run this command, the task.ps1
script will compile the
build system before launching it.
To modify the listed options, run task.ps1 configure option1=value option2=...
.
If you don't want to modify the options, just run task.ps1 configure
without any
further parameters. This will run a few platform checks necessary before we can
run any build targets.
To get a list of available build targets, run task.ps1 -l
. client-build
and
client-run
are probably the most interesting. To build a target, run
task.ps1 <target>
. It's pretty similar to make: You can pass multiple targets,
dependencies are automatically built whenever necessary. If a target's source
files haven't changed since the last build, it will be skipped.