71 _List of weapon settings as key-value pairs, each with a string name and integer value_ |
71 _List of weapon settings as key-value pairs, each with a string name and integer value_ |
72 |
72 |
73 || *Setting* || *Type* || *Description* || |
73 || *Setting* || *Type* || *Description* || |
74 || Default=93919...11101 || Integer || Which weapons are allowed in the default mode || |
74 || Default=93919...11101 || Integer || Which weapons are allowed in the default mode || |
75 |
75 |
76 = `schemes.ini` = |
76 = `settings.ini` = |
77 |
77 Various Hedgewars settings. |
78 == {{{[schemes]}}} == |
78 |
79 _List of custom scheme settings as key-value pairs, each with a key of "index number of scheme backslash setting name"_ |
79 == `[Binds]` == |
80 |
80 This section defines the global key bindings. They can be overwritten by teams. |
81 || *Setting* || *Type* || *Description* || |
81 |
82 || size=1 || Integer || Number of custom scheme settings || |
82 Each key binding is written in the form `action=keycode`, e.g. “`ammomenu=b`” for opening the ammo menu with the B key. |
83 || 1\name=new || String || Name of scheme || |
83 |
84 || 1\fortsmode=false || Boolean || If forts are enabled || |
84 === Actions === |
85 || 1\divteams=false || Boolean || If teams start at the opposite side of the terrain || |
|
86 || 1\solidland=false || Boolean || If land is indestructible || |
|
87 || 1\border=false || Boolean || If an insestructible border is added around the map || |
|
88 || 1\lowgrav=false || Boolean || If gravity is lowered || |
|
89 || 1\laser=false || Boolean || If aiming is assisted with laser sights || |
|
90 || 1\invulnerability=false || Boolean || If hogs have a personal forcefield || |
|
91 || 1\resethealth=false || Boolean || If living hogs' health is reset to 100 at end of round || |
|
92 || 1\vampiric=false || Boolean || If hogs gain life equal to 80 percent of the damage they deal || |
|
93 || 1\karma=false || Boolean || If hogs lose life equal to the damage they deal || |
|
94 || 1\artillery=false || Boolean || If hogs are unable to move || |
|
95 || 1\randomorder=true || Boolean || If turn order is generated randomly || |
|
96 || 1\king=false || Boolean || If a chess-like king is used || |
|
97 || 1\placehog=false || Boolean || If players take turns placing their hogs before the start of a game || |
|
98 || 1\sharedammo=false || Boolean || If ammo is shared between all teams of the same color || |
|
99 || 1\disablegirders=false || Boolean || If girders are removed from randomly-generated maps || |
|
100 || 1\disablelandobjects=false || Boolean || If land objects are removed from randomly-generated maps || |
|
101 || 1\aisurvival=false || Boolean || If AI hogs respawn on death || |
|
102 || 1\infattack=false || Boolean || If hogs can attack an unlimited number of times each turn || |
|
103 || 1\resetweps=false || Boolean || If weapons are reset at end of each turn || |
|
104 || 1\perhogammo=false || Boolean || If each hog has seperate ammo || |
|
105 || 1\disablewind=false || Boolean || If wind is disabled || |
|
106 || 1\morewind=false || Boolean || If wind is much stronger then usually || |
|
107 || 1\tagteam=false || Boolean || If players in a team share time on each turn || |
|
108 || 1\bottomborder=false || Boolean || If an indestructible border is added at the bottom of the map || |
|
109 || 1\damagefactor=100 || Integer || Percentage of damage dealt || |
|
110 || 1\turntime=45 || Integer || Maximum time in seconds of each turn || |
|
111 || 1\health=100 || Integer || The initial health of the hogs || |
|
112 || 1\suddendeath=15 || Integer || Turns before "Sudden Death" mode begins || |
|
113 || 1\caseprobability=5 || Integer || Number of turns between cases drops || |
|
114 || 1\minestime=3 || Integer || Seconds before mines explode || |
|
115 || 1\minesnum=4 || Integer || Number of mines on a level || |
|
116 || 1\minedudpct=0 || Integer || Percentage chance of each mine being a dud || |
|
117 || 1\explosives=2 || Integer || Number of explosives on a level || |
|
118 || 1\healthprobability=35 || Integer || Percentage chance of each crate being a health crate || |
|
119 || 1\healthcaseamount=25 || Integer || Amount of life restored by each health crate || |
|
120 || 1\waterrise=47 || Integer || Number of pixels the water rises each turn in "Sudden Death" mode || |
|
121 || 1\healthdecrease=5 || Integer || Damage dealth each turn to hogs in water during "Sudden Death" mode || |
|
122 || 1\ropepct=100 || Integer || Maximum length of rope as a percentage || |
|
123 || 1\getawaytime=100 || Integer || Time you have to get away from an explosive after arming it, as a percentage || |
|
124 || 1\worldedge=0 || Integer || Type of world edges at the left and right side. `0` for no edge (default), `1` for wrap-around, `2` for bouncy edges, `3` for ocean. || |
|
125 || 1\scriptparam="" || String || 0.9.21: Script parameter, this is read by scripts. Can have any arbitrary srting value, the meaning of this value depends on the script used. || |
|
126 |
|
127 = `TeamName.hwt` = |
|
128 These files are found in the `Teams` directory and contain the team settings, one file per team. |
|
129 |
|
130 == {{{[Team]}}} == |
|
131 _General team settings_ |
|
132 |
|
133 || *Setting* || *Type* || *Description* || |
|
134 || Name=!TeamName || String || Name of team || |
|
135 || Grave=Statue || String || Type of grave created when hog dies || |
|
136 || Fort=Plane || String || Type of fort if Forts Mode is enabled || |
|
137 || Voicepack=Default || String || Sounds used for hog voice || |
|
138 || Flag=hedgewars || String || Name of flag (flag file name without suffix). This is ignored for AI teams; their flags will always be based on their difficulty level || |
|
139 || Difficulty=0 || Integer || Diffuculty of AI (1-5, 1 = most difficult), or human if 0 || |
|
140 || Rounds=0 || Integer || Number of rounds played with team _(Currently unused)_ || |
|
141 || Wins=0 || Integer || Number of rounds won with team _(Currently unused)_ || |
|
142 || !CampaignProgress=0 || Integer || Campain progress using team as a percentage _(Currently unused)_ || |
|
143 |
|
144 == {{{[Hedgehog0]}}} - {{{[Hedgehog7]}}} == |
|
145 _8 sections, one per hedgehog of the team_ |
|
146 |
|
147 || *Setting* || *Type* || *Description* || |
|
148 || Name=Hedgehog Name || String || Name of hog || |
|
149 || Hat=!NoHat || String || Type of hat used by hog || |
|
150 || Rounds=0 || Integer || Number of rounds played with hog _(Currently unused)_ || |
|
151 || Kills=0 || Integer || Kills comitted by hog _(Currently unused)_ || |
|
152 || Deaths=0 || Integer || Deaths experienced by hog _(Currently unused)_ || |
|
153 || Suicides=0 || Integer || Suicides comitted by hog _(Currently unused)_ || |
|
154 |
|
155 == {{{[Binds]}}} == |
|
156 _Key bindings of the team._ |
|
157 |
|
158 || *Setting* || *Description* || |
85 || *Setting* || *Description* || |
159 || %2Bup || Up || |
86 || %2Bup || Up || |
160 || %2Bleft || Left || |
87 || %2Bleft || Left || |
161 || %2Bright || Right || |
88 || %2Bright || Right || |
162 || %2Bdown || Down || |
89 || %2Bdown || Down || |
202 || capture || Take screenshot || |
129 || capture || Take screenshot || |
203 || %2Bspeedup || Increase demo replay speed || |
130 || %2Bspeedup || Increase demo replay speed || |
204 || rotmask || Cycle tags above hedgehogs || |
131 || rotmask || Cycle tags above hedgehogs || |
205 || record || Record video || |
132 || record || Record video || |
206 |
133 |
|
134 === Key codes === |
|
135 ==== Keyboard ==== |
|
136 Keyboard names are based on the [https://wiki.libsdl.org/SDL_Scancode SDL scancode]. |
|
137 |
|
138 The key name is constructed as follows: |
|
139 |
|
140 * Take the name from the “Key Name” column of the aforementioned webpage |
|
141 * Convert it to lower-case |
|
142 * Replace spaces with underscores |
|
143 |
|
144 Examples: |
|
145 |
|
146 || *Code* || Description || |
|
147 || `a` || A || |
|
148 || `f1` || F1 || |
|
149 || `shift_left` || Left shift key || |
|
150 || `space` || Space bar || |
|
151 || `tab` || Tabulator || |
|
152 |
|
153 |
|
154 ==== Mouse ==== |
|
155 The codes for the mouse are as follows: |
|
156 |
|
157 || *Code* || Description || |
|
158 || `mousel` || Left mouse button || |
|
159 || `mousem` || Middle mouse button || |
|
160 || `mouser` || Right mouse button || |
|
161 || `wheelup` || Mouse wheel up || |
|
162 || `wheeldown` || Mouse wheel down || |
|
163 |
|
164 ==== Controller/Gamepad/Joystick ==== |
|
165 Controllers, gamepads and joysticks are written in a somewhat cryptic syntax. |
|
166 |
|
167 ===== Buttons ===== |
|
168 |
|
169 Syntax: `jJbB` |
|
170 |
|
171 * `J`: Controller ID beginning with 0 |
|
172 * `A`: Button ID beginning with 0 |
|
173 |
|
174 Examples: |
|
175 || *Code* || Description || |
|
176 || `j0b0` || First controller, first button || |
|
177 || `j0b1` || First controller, second button || |
|
178 || `j1b2` || Second controller, third button || |
|
179 |
|
180 ===== Axis ===== |
|
181 |
|
182 Syntax: `jJaAD` |
|
183 |
|
184 * `J`: Controller ID beginning with 0 |
|
185 * `A`: Axis |
|
186 * `D`: Axis direction. One of the following letters: |
|
187 * `u`: positive (“up”) |
|
188 * `d`: negative (“down”) |
|
189 |
|
190 Examples: |
|
191 |
|
192 || *Code* || Description || |
|
193 || `j0a0u` || First controller, first axis up || |
|
194 || `j0a1d` || First controller, second axis down || |
|
195 || `j1a1d` || Second controller, second axis down || |
|
196 |
|
197 ===== Hat/D-pad ===== |
|
198 |
|
199 Syntax: `jJhHD` |
|
200 |
|
201 * `J`: Controller ID beginning with 0 |
|
202 * `A`: D-pad ID |
|
203 * `D`: Direction, it is one of 4 letters: |
|
204 * `u`: up |
|
205 * `r`: right |
|
206 * `d`: down |
|
207 * `l`: left |
|
208 |
|
209 |
|
210 Examples: |
|
211 || *Code* || Description || |
|
212 || `j0h0u` || First controller, first D-pad up || |
|
213 || `j0h1l` || First controller, second D-pad left || |
|
214 || `j1h1r` || Second controller, second D-pad right || |
|
215 |
|
216 == (other sections) |
|
217 |
|
218 _To be written …_ |
|
219 |
|
220 = `schemes.ini` = |
|
221 |
|
222 == {{{[schemes]}}} == |
|
223 _List of custom scheme settings as key-value pairs, each with a key of "index number of scheme backslash setting name"_ |
|
224 |
|
225 || *Setting* || *Type* || *Description* || |
|
226 || size=1 || Integer || Number of custom scheme settings || |
|
227 || 1\name=new || String || Name of scheme || |
|
228 || 1\fortsmode=false || Boolean || If forts are enabled || |
|
229 || 1\divteams=false || Boolean || If teams start at the opposite side of the terrain || |
|
230 || 1\solidland=false || Boolean || If land is indestructible || |
|
231 || 1\border=false || Boolean || If an insestructible border is added around the map || |
|
232 || 1\lowgrav=false || Boolean || If gravity is lowered || |
|
233 || 1\laser=false || Boolean || If aiming is assisted with laser sights || |
|
234 || 1\invulnerability=false || Boolean || If hogs have a personal forcefield || |
|
235 || 1\resethealth=false || Boolean || If living hogs' health is reset to 100 at end of round || |
|
236 || 1\vampiric=false || Boolean || If hogs gain life equal to 80 percent of the damage they deal || |
|
237 || 1\karma=false || Boolean || If hogs lose life equal to the damage they deal || |
|
238 || 1\artillery=false || Boolean || If hogs are unable to move || |
|
239 || 1\randomorder=true || Boolean || If turn order is generated randomly || |
|
240 || 1\king=false || Boolean || If a chess-like king is used || |
|
241 || 1\placehog=false || Boolean || If players take turns placing their hogs before the start of a game || |
|
242 || 1\sharedammo=false || Boolean || If ammo is shared between all teams of the same color || |
|
243 || 1\disablegirders=false || Boolean || If girders are removed from randomly-generated maps || |
|
244 || 1\disablelandobjects=false || Boolean || If land objects are removed from randomly-generated maps || |
|
245 || 1\aisurvival=false || Boolean || If AI hogs respawn on death || |
|
246 || 1\infattack=false || Boolean || If hogs can attack an unlimited number of times each turn || |
|
247 || 1\resetweps=false || Boolean || If weapons are reset at end of each turn || |
|
248 || 1\perhogammo=false || Boolean || If each hog has seperate ammo || |
|
249 || 1\disablewind=false || Boolean || If wind is disabled || |
|
250 || 1\morewind=false || Boolean || If wind is much stronger then usually || |
|
251 || 1\tagteam=false || Boolean || If players in a team share time on each turn || |
|
252 || 1\bottomborder=false || Boolean || If an indestructible border is added at the bottom of the map || |
|
253 || 1\damagefactor=100 || Integer || Percentage of damage dealt || |
|
254 || 1\turntime=45 || Integer || Maximum time in seconds of each turn || |
|
255 || 1\health=100 || Integer || The initial health of the hogs || |
|
256 || 1\suddendeath=15 || Integer || Turns before "Sudden Death" mode begins || |
|
257 || 1\caseprobability=5 || Integer || Number of turns between cases drops || |
|
258 || 1\minestime=3 || Integer || Seconds before mines explode || |
|
259 || 1\minesnum=4 || Integer || Number of mines on a level || |
|
260 || 1\minedudpct=0 || Integer || Percentage chance of each mine being a dud || |
|
261 || 1\explosives=2 || Integer || Number of explosives on a level || |
|
262 || 1\healthprobability=35 || Integer || Percentage chance of each crate being a health crate || |
|
263 || 1\healthcaseamount=25 || Integer || Amount of life restored by each health crate || |
|
264 || 1\waterrise=47 || Integer || Number of pixels the water rises each turn in "Sudden Death" mode || |
|
265 || 1\healthdecrease=5 || Integer || Damage dealth each turn to hogs in water during "Sudden Death" mode || |
|
266 || 1\ropepct=100 || Integer || Maximum length of rope as a percentage || |
|
267 || 1\getawaytime=100 || Integer || Time you have to get away from an explosive after arming it, as a percentage || |
|
268 || 1\worldedge=0 || Integer || Type of world edges at the left and right side. `0` for no edge (default), `1` for wrap-around, `2` for bouncy edges, `3` for ocean. || |
|
269 || 1\scriptparam="" || String || 0.9.21: Script parameter, this is read by scripts. Can have any arbitrary srting value, the meaning of this value depends on the script used. || |
|
270 |
|
271 = `TeamName.hwt` = |
|
272 These files are found in the `Teams` directory and contain the team settings, one file per team. |
|
273 |
|
274 == {{{[Team]}}} == |
|
275 _General team settings_ |
|
276 |
|
277 || *Setting* || *Type* || *Description* || |
|
278 || Name=!TeamName || String || Name of team || |
|
279 || Grave=Statue || String || Type of grave created when hog dies || |
|
280 || Fort=Plane || String || Type of fort if Forts Mode is enabled || |
|
281 || Voicepack=Default || String || Sounds used for hog voice || |
|
282 || Flag=hedgewars || String || Name of flag (flag file name without suffix). This is ignored for AI teams; their flags will always be based on their difficulty level || |
|
283 || Difficulty=0 || Integer || Diffuculty of AI (1-5, 1 = most difficult), or human if 0 || |
|
284 || Rounds=0 || Integer || Number of rounds played with team _(Currently unused)_ || |
|
285 || Wins=0 || Integer || Number of rounds won with team _(Currently unused)_ || |
|
286 || !CampaignProgress=0 || Integer || Campain progress using team as a percentage _(Currently unused)_ || |
|
287 |
|
288 == {{{[Hedgehog0]}}} - {{{[Hedgehog7]}}} == |
|
289 _8 sections, one per hedgehog of the team_ |
|
290 |
|
291 || *Setting* || *Type* || *Description* || |
|
292 || Name=Hedgehog Name || String || Name of hog || |
|
293 || Hat=!NoHat || String || Type of hat used by hog || |
|
294 || Rounds=0 || Integer || Number of rounds played with hog _(Currently unused)_ || |
|
295 || Kills=0 || Integer || Kills comitted by hog _(Currently unused)_ || |
|
296 || Deaths=0 || Integer || Deaths experienced by hog _(Currently unused)_ || |
|
297 || Suicides=0 || Integer || Suicides comitted by hog _(Currently unused)_ || |
|
298 |
|
299 == {{{[Binds]}}} == |
|
300 Key bindings of the team. Teams can optionally overwrite the global key bindings or leave everything at default. |
|
301 |
|
302 This section follows the same format as in `settings.ini`, with one addition: The key code `default` is used for using the default (global) key binding. |
|
303 |
207 === Values === |
304 === Values === |
208 The special value “`default`” is for the default keybinding as specified in the game preferences. |
305 The special value “`default`” is for the default keybinding as specified in the game preferences. |
209 |
306 |
210 Regarding other keys: _TO BE WRITTEN_ |
307 Regarding other keys: _TO BE WRITTEN_ |
211 |
308 |