# Options

## Mouse buttons:

It is possible to select following actions (not all actions are possible for all mouse buttons):

- Select/Move person
  will select box or player if clicked on object,
  will move player on empty cell if clicked there.
- Show pushable (targets only)
  will select box or player if clicked on them,
  will show all pushable boxes if clicked on target cell
- Show pushable (always)
  will select box if clicked on box,
  will show all pushable boxes if clicked on any cell without box (including clicking on cell with player)
- Show pushable (always but man)
  will select box if clicked on box,
  will select player for moving if clicked on man,
  will show all pushable boxes if clicked on any cell without box
- Activate menu - will simply activate main menu
- Undo - will make undo
- Redo - will make redo

## Use mouse wheel for redo/undo

If selected, then mouse wheel will be used for redo/undo, if not then it will scroll level (if level is big and doesn't fit into screen, with auto-resize this will hardly happen).

## Pushable auto-selection

Affects the way YSokoban will automatically select nearest box when using "Show pushable".

For example by default right mouse button is configured to "Show pushable" boxes, so if you right click it will not only show you all pushable boxes, but will also auto-select the nearest one. If right click again on same cell (while there is auto selected box for pushing) then it will push that box there.

One can chose from

- No auto-select - Will not select any box.
- Only on target - Will select nearest box only if you click on target.
- Auto-select always - Will select nearest box always (if there is at least one pushable).

## Show hints (toggle with F9)

If selected then when when you click on player or box YSokoban will show you all possible position where selected object can go.

You can always toggle this by pressing F9 at any time during game play.

## Show non pushable boxes (mouse)

If selected then clicking on wall will:

- show you all non pushable boxes (by usually crossing out them, it's a symbol from skin).
- all pushable boxes will be marked with circle, white or black, depending whether box is directly accessible or via go-through (if enabled).
- all boxes which shall be moved using go-through will be marked with square (again white or black, depending on whether directly or indirectly accessible).

## Go through boxes (if possible)

When using mouse, player can move from one cell to some other cell if there is a free path (no boxes on his path).

If you select this option then player will try to find path between two cells even if there are boxes on his path which he can push away and then push back to their position. Such kind of boxes can be moved and pushed back one by one. Ysokoban will not try to find a path if he needs to push 2 boxes away and then push back these two boxes to their original position, but it will find a way if first one of the boxes is moved, then pushed back, then the second one is moved and pushed back, and so on.

See Go-Through boxes feature

## Mouse support (disable for kids)

If you want to disable mouse support for some reason. Usually this is used for kids, because kids levels are nearly trivial to solve with mouse (and the idea is to force them to solve levels without mouse).

It is also possible to disable (enable) mouse support from level description.

Inside level it is possible to specify

    Mouse: OFF

or

    Mouse: ON

which will disable/enable mouse support for specified collection or level.

By default mouse support is on for all levels. If in the beginning of a collection there is a command (mouse: off) before all levels then mouse support will be disabled for all levels in collection, except those in which a "mouse: on" is used.

To disable/enable mouse for some level inside collection, specify "mouse: off/on" immediately after the level.

## Solution should have at least one push

There are some level which starts with already solved position, i.e. all boxes are on their targets. In that case YSokoban will require at least one push to consider level as solved. This means you should push at least one box away from its target and then back (which usually is not that easy).

## Do not save solutions for 1 box levels

When there is just one box it is obvious that you can easily find it by just using mouse (if there is solution at all). So we usually do not solve such kind of levels, or at least their solution is not interesting at all for saving. By default saving of such solutions is disabled to save space (not to make YSokoban .sokoinfo file too large). Sometimes such levels could have a huge number of moves/pushes to solve them.

## Do not save solutions for incorrect levels

Incorrect levels are levels which has more/less boxes than targets. If this option is not checked, then YSokoban considers (incorrect) level solved if:

- if boxes are more than targets, then all targets should be filled with boxes (some boxes could stay without target).
- if targets are more than boxes, then all boxes should be on targets (some targets could stay without boxes).

## Save Pasted solution

If selected will save solution to a player solutions when pasting moves from clipboard. By default this is not set because in case you paste solution it is usually not your solution and you just want to see it. If you want to save a solution which is pasted (without enabling this option, because you will do that just this time or very rare), then you can paste all moves except the last one, then make the last move yourself.

## Show dir change during IM

This affects only Instant Move mode (when activated) Without showing direction change, YSokoban will show player with the box at the end position instantly. When direction change is active, player and box will be shown on every change of a box push direction, so for long straight pushes it will show end position.

## Auto-save moves on exit

If selected then all moves in a current level will be preserved in registry and will be restored when you restart YSokoban. For some extremely large solutions this will not work, because registry size is limited, in such a case you may use save and restore.

## Animate finish

If selected then when level is solved all boxes and man will animate. If not selected then nothing will be animated.

## Filter unsolvable levels during export

If selected then unsolvable levels (those which are marked as unsolvable) will not be included in exported file.

## Left mouse goes to next not solved level (when level is solved)

When level is solved if clicking anywhere on level YSokoban will jump to next level. If this option is selected then it will skip solved levels.

## Large buttons (needs restart)

On tablets where one has to use fingers it is hard to point at small buttons. This option will make buttons (on toolbar) bigger, but you have to restart YSokoban.

## Instant redo/undo

By default undo/redo are animated faster than normal play. With this options on they will be made instant (no animation at all, like IM button is pressed during undo/redo).

## Count push as push + move

If selected then pushing a box is counted (in counters statistics) both as move and push.

## Load last player on start

If selected then player name is preserved in registry and next time is restored.

## Use '_' for Ctrl-Alt-L, Ctrl-Shift-L, Ctrl-M ('-' otherwise)

If selected YSokoban will use '_' for empty cells (instead of space), if not selected will use '-'. Both symbols are supported by YSokoban during import (paste). This option applies also for export if option to use '-' during export is checked.

## Use '-' (instead of space) when exporting levels

If selected will use '-' for empty cells (instead of space) during export. It will use '_' if above option is also checked.

## Put "Solution:" on a single line (export)

Affects the way solution is written in a file (during export)

## Put "Solution:" on a single line (Ctrl-L)

Affects the way solution is written in a clipboard

## Write only best solutions during export

When empty all solutions (for a level and if available) will be exported. If not empty only best solutions (best solution in its category, i.e. best pushes, best moves, ...) will be exported depending on whether category is inside string or not (use P M I C S letters). So categories are:

- P - push
- M - move
- I - inline
- C - changes
- S - sessions

## Require number of boxes = number of targets

If selected then levels with boxes not equal to targets are assumed invalid.

## Always show cell coordinates

When selected cell coordinates will be shown in bottom right corner of a YSokoban window (even without ruler on).

## Write level number (export)

When exporting levels to a text file what should YSokoban do with level numbers:

- Do not write level number
- Write level number before level
- Write level number after level

## Show level size (in title)

if selected then "Level size string to show" from this option dialog will be used.

## Level size string to show (use %r, %c, %b, %t, %u, %U, %s)

Show some text after level title (by default [columns x rows]):

- %r - number of rows in a level
- %c - number columns
- %b - number of boxes
- %t - number of targets
- %u - number of non touched boxes
- %U - number of not used cells (not stepped by man and box was never pushed on them)
- %s - skin name

## Animation speed

Select how fast man/boxes should be animated (they have just 4 frames per animation, the setting changes how fast they will be drawn). Scale is relative. 50 is normal speed.

## Show untouched boxes when level is solved

When selected untouched boxes will be shown during finish animation.

## Single step redo/undo

When selected undo/redo will be done step by step

## Do not play animation during moves

If not selected then on every move a different image of animated man will be displayed (on mouse selected moves) animating man move along his path. If check box is selected (or if mouse is not used - just keyboard), then man will not be animated

## Warn when changing level in progress

Will bring warning message when changing level while solution of the current one is still in progress, i.e. some moves are made, but level is not finished.

When level is changed (with or without warning) redo buffer is still available, so you can go back to the previous level and press <space> to redo the moves.

Created with Ywiki