]> git.localhorst.tv Git - blank.git/blob - doc/running
add TCP based CLI
[blank.git] / doc / running
1 Dependencies
2 ============
3
4         GLEW, GLM, SDL2, SDL2_image, SDL2_net, SDL2_ttf, OpenAL, freealut, zlib
5
6 archlinux:
7         pacman -S \
8                 glew glm sdl2 sdl2_image sdl2_net sdl2_ttf openal freealut zlib
9
10 debian:
11         apt install --no-install-recommends \
12                 libglew1.10 libglu1-mesa libsdl2-2.0-0 libsdl2-image-2.0-0 \
13                 libsdl2-net-2.0-0 libsdl2-ttf-2.0-0 libopenal1 libalut0 zlib1g
14
15 centos:
16         yum install \
17                 glew SDL2 SDL2_image SDL2_net SDL2_ttf openal-soft freealut zlib
18
19 Arguments
20 =========
21
22 Runtime
23 -------
24
25 -n <n>
26         terminate after <n> frames
27
28 -t <t>
29         terminate after <t> milliseconds
30
31 if both n and t are given, terminate after n frames and
32 assume <t> milliseconds pass each frame
33
34 --asset-path <path>
35         load assets from given path
36         default is application dir + "assets"
37
38 --save-path <path>
39         store and load saves at given path
40         default is whatever SDL thinks is good
41         (should be ~/.local/share/localhorst/blank/)
42
43 Application
44 -----------
45
46 -d
47         disable double buffering
48
49 -m <num>
50         set sample size to <num> (samples per pixel)
51
52 --no-vsync
53         disable vsync
54
55 --standalone
56         run as standalone (the default)
57
58 --client
59         run as client
60
61 --server
62         run as server
63
64 Interface
65 ---------
66
67 --no-keyboard
68         disable keyboard input handling
69
70 --no-mouse
71         disable mouse input handling
72
73 --no-hud
74         disable HUD drawing (includes the selected block outline)
75
76 --no-audio
77         disable audio
78         the audio device and sounds will still be allocated
79         it just stops the interface from queueing buffers
80
81 Network
82 -------
83
84 --host <hostname>
85         hostname to connect to in client mode
86
87 --port <number>
88         port number to connection to (client) or listen on (server)
89
90 --cmd-port <number>
91         port number to listen on for command connections
92         the default of 0 disables this feature
93
94 --player-name <name>
95         use given name to identify with the server (client mode)
96         default player name is "default"
97         the server will reject players with names that are already taken
98
99 World
100 -----
101
102 -s <seed>
103         use <seed> (unsigned integer) as the world seed
104         only used for newly created worlds
105         default is 0
106
107 --world-name <name>
108         use given name for the world save
109         no checks are being done right now, so make sure it can be
110         used as a directory name
111
112
113 Controls
114 ========
115
116 Move around with WSAD, shift, and space, look around with mouse motion.
117 Mouse button 1 deletes the block you're pointing at, button 2 selects it
118 as the active block, and button 3 places the active block next to the one
119 you're pointing at.
120
121 As an alternative to picking, you can also use the mousewheel up/down to
122 flip through available blocks or access the first 10 via the number keys.
123
124 F1 toggles UI rendering.
125 F2 toggles world rendering.
126 F3 toggles the debug overlay.
127 F4 toggles audio.
128 F5 toggles camera mode.
129
130 Controls are interpreted by scancode, meaning you don't have to break your
131 fingers when you're on an AZERTY. WSAD will be ZSQD there and the above
132 description is just wrong.
133
134 Also I've added a plethora of alternate keys that can be used, like arrow
135 keys for movement, ins/del for placing/removing blocks, etc.