aboutsummaryrefslogtreecommitdiff
path: root/INSTALL.org
blob: 1a04f0da316ff5d21a7e8f85d18a612df5e72b0f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
* Compile From Sources

To compile, you need a decent CL implementation, a recent version of ASDF (newer versions fix a few bugs that affect my game) and Quicklisp (for dependency management), and an X Server. If you downloaded a prebuilded version, you only need to install the X Server and not the rest of the stuff listed, then you can just double click yadfa.exe

If you're on Windows, you probably want Clozure CL (only needed for compiling)

[[https://ccl.clozure.com][https://ccl.clozure.com]]

The rest of the world will probably want Steel Bank Common Lisp (only needed for compiling)

[[http://sbcl.org][http://sbcl.org]]

Also, if you're on Windows, you need to install an X Server. VcXsrv is a pretty good one

[[https://sourceforge.net/projects/vcxsrv][https://sourceforge.net/projects/vcxsrv]]

Note, there is a bug in CCL on Windows that prevents the game from starting, a workaround is listed here (only needed for compiling)

[[https://trac.clozure.com/ccl/ticket/1370][https://trac.clozure.com/ccl/ticket/1370]]

I think the minimum version of ASDF required for this game is 3.3.2.4. Although the minimum version of UIOP needed is 3.3.4.1. You
can download the latest version here (only needed for compiling)

[[https://gitlab.common-lisp.net/asdf/asdf/tags][https://gitlab.common-lisp.net/asdf/asdf/tags]]

create a directory called =~/common-lisp=. (In Windows, the equivalent of =~= is =C:\Users\$User=) extract ASDF in there. (only needed for compiling)

You will also need to install Quicklisp, which can be downloaded from here (only needed for compiling)

[[https://www.quicklisp.org][https://www.quicklisp.org]]

After which, either place this repo in either =~/common-lisp=, =~/quicklisp/local-projects=, or create a text file called =$XDG_CONFIG_HOME/common-lisp/source-registry.conf.d/50-yadfa.conf= with the following in it (only needed for compiling)

#+BEGIN_SRC lisp
(:tree "$PATH_TO_THIS_REPOSITORY")
#+END_SRC

I've also patched illogical-pathnames and iterate which now contains extra functionality my game relies on.
You can download them here from gitlab and extract them into =~/quicklisp/local-projects=

[[https://gitlab.com/pouar/iterate][https://gitlab.com/pouar/iterate]]

[[https://gitlab.com/pouar/illogical-pathnames][https://gitlab.com/pouar/illogical-pathnames]]

I've patched the FreeType renderer to obey fontconfig's defaults, instead of trying to guess the font which ends up
picking =UnifrakturCook Bold= for ~:fix :bold~ on my system. if you want to change this, there's a config file in
[[file:flatpak/99-mcclim.conf][flatpak/99-mcclim.conf]] as an example, which is what the flatpak uses. pass ~ft~ to the build script to build with
FreeType support

In Windows, ~$XDG_CONFIG_HOME~ is set to =C:/Users/$User/AppData/Local/=. Also, when setting the pathname, you need to use
what the rest of the world uses as the directory separator, which is =/=, Not what Windows uses, which is =\=.

After which, either run ~sbcl --script build.lisp~ or ~ccl -l build.lisp --~ to build

To generate the docs, run this inside the game. So far I only got this to work in UNIX and Cygwin as it calls GNU Make and makeinfo
#+BEGIN_SRC lisp
(ql:quickload :yadfa-reference)
#+END_SRC
The game uses Declt for generating the docs, which only works in SBCL so far Right now the version in Quicklisp is too old,
so you gotta get that here and put it in =~/quicklisp/local-projects=

[[https://github.com/didierverna/declt.git][https://github.com/didierverna/declt.git]]

To build with SLIME/SWANK support, pass ~swank~ to the build script, then run ~./yadfa swank~ to launch the game

To build with Sly/Slynk support, pass ~slynk~ to the build script, then run ~./yadfa slynk~ to launch the game

To run, just run ./yadfa (or yadfa.exe in Windows)

* Installing Prebuilt Binaries

** for Linux users


I've added a flatpak repo for Linux users, you can add it with

#+BEGIN_SRC shell
flatpak remote-add --if-not-exists yadfa https://gitlab.com/pouar/yadfa/raw/master/flatpak/yadfa.flatpakrepo
#+END_SRC

then install the game with

#+BEGIN_SRC shell
flatpak install yadfa net.pouar.yadfa
#+END_SRC

you can update the game with (it will also be updated when you run ~flatpak update~ which updates all packages installed with flatpak)

#+BEGIN_SRC shell
flatpak update net.pouar.yadfa
#+END_SRC

you can uninstall the game with 

#+BEGIN_SRC shell
flatpak uninstall net.pouar.yadfa
#+END_SRC

** for Windows users

I've also added a chocolatey repo for Windows users. You can add the repo from PowerShell with

#+BEGIN_SRC shell
choco source add -n yadfa -s https://api.bintray.com/nuget/pouar/yadfa-chocolatey
#+END_SRC

then install the game with

#+BEGIN_SRC shell
choco install yadfa
#+END_SRC

you can upgrade the game with (it will also be upgraded when you run ~choco upgrade all~ which upgrades all applications installed with chocolatey)

#+BEGIN_SRC shell
choco upgrade yadfa
#+END_SRC
or uninstall it with

#+BEGIN_SRC shell
choco uninstall yadfa
#+END_SRC

if you no longer need the X Server after uninstalling

#+BEGIN_SRC shell
choco uninstall vcxsrv
#+END_SRC

I use Declt to generate the autogenerated docs, which only works in SBCL, which seems to crash in Windows. Until I can get this working again, you can download the docs here which is generated by the Linux builds

[[https://pouar.gitlab.io/yadfa/yadfa-docs.tar.xz]]