To create a menu entry, click on the 'Tools' tab.
If you also want a desktop shortcut (launcher), Select 'Desktop Shortcut'.
Click the button 'Add Menu Item' .
This may not work on some distros.
xJigsaw combines xpuz and a simple gui to allow easy creation of jigsaw puzzles.
You can preview images, set puzzle width, select piece size, swap mouse buttons, fix rotation
angle to 90 degrees, set piece style and distortion, perform piece flipping and cropping and more.
xJigsaw will work with PNG, GIF, JPG, TIFF and BMP images.
There is an image preview that can be seen as a floating picture while you solve the puzzle.
You can also create stand-alone executable puzzles. These puzzles will run on most Linux distributions. They do not need xjigsaw, xpuz or xjig to be installed.
Getting Started
Options
xJigsaw will run with the default options, but you can change the options to fit your needs.
Creating a new jigsaw puzzle
1. If the 'Start New Jigsaw' window is not open, click on the 'New Jigsaw' button in the small window.
2. In the next window that opens, you click on 'Choose Image' and choose an image for your jigsaw puzzle.
3. Click 'Open' and a small preview of the image selected will be displayed. (This is not the actual size of the jigsaw puzzle)
4. Set any options you want to change.
5. Select 'Make Jigsaw' . The jigsaw puzzle will be created, and xpuz will start.
You can also create stand-alone executable puzzles.
To create a stand-alone executable puzzle:-
1. Select the 'Tools' tab.
2. If you want to create a puzzle that does not have a preview, select 'no preview'
3. Click on the button 'Create an executable puzzle'.
4. Choose where to save the puzzle and click 'Save'
The puzzle will be created as a stand-alone executable. The current puzzle image and settings will be used.
The puzzle will run in most Linux distributions and does not require xjigsaw, xpuz or xjig.
I have tested the puzzles on several out-of-the-box live cd distributions, and the puzzles run without any additional dependencies.
Options settings.
Show grid: Show the playing board grid.
Two sided : Makes the puzzle pieces double sided. Some pieces will be flipped over to make the puzzle harder to do.
Do not crop : If NOT selected, blank areas around the image are automatically removed.
The picture edges will be removed where there is plain colour only.
If this is not desired or if you want to use images with few colours, you should select this feature.
Swap mouse buttons: Swaps the actions on left & right mouse buttons.
Fix to 90 deg: Fixes the piece rotation angle. All pieces snap to 90 deg angles, with no free rotation.
Do not shuffle:
This will create a puzzle in the order it was cut.
Not much of a challenge, but a great starter for the really young children.
No rotation : Pieces will stay the right way up, and mouse click rotation will be disabled. This makes the jigsaw easier to do for the younger children.
Sort pieces for me: Sorts out all the edge pieces, and puts them in a separate pile to the right.
Distortion level: The amount of distortion to the pieces. The square styles are not affected by this setting.
Default is 0. (no distortion)
Thickness of pieces: Changes shadow depth of pieces.
Default is 1.
Animation speed: Sets the speed of animation when rotating pieces
Default is 1.
Mouse click speed: This setting affects the click speed for turning pieces.
Higher = slower click speed.
On the higher settings there is more chance of accidentally spinning the pieces. A setting of 200 suits most people.
Default is 200.
Set style of pieces: Choose a different shape for the pieces. Use the Distortion level with this to choose a style you prefer. Default choice is 'Default'.
Background Colour:
The background colour of the puzzle board may be changed. Click on the 'Background Colour' button and choose a colour.
Default colour is 'Dark Grey'.
Language:
The language setting is under the Tools tab.
How to change language
1. Select a language from the list.
2. Close xJigsaw and restart. The program must restart to activate the language.
The default language is 'English'.
Note: When you change options, they will be saved automatically each time you exit the app.
Playing the puzzle
Puzzle pieces snap together very easy if they are dropped somewhere close to another matching piece and turned in the correct direction.
The usual way to move pieces on the screen should be to drag the piece with the left or right mouse button to their destination by pulling them at on edge.
Pieces will retain there angle when dragged with the left mouse button. If pieces are dragged with the right mouse button they will rotate freely
If the 'No rotation' is selected, pieces will never rotate when dragged, and pieces will always snap to angles of 90 deg.
Mouse click left: rotate 90 degrees left
Note: Rotate on left click is disable on sections containing more than 8 pieces.
This helps to prevent accidental rotation. (click right will always rotate)
Mouse click right: rotate 90 degrees right (This works on any size piece and will allow you to rotate large chunks of puzzle)
Mouse middle button click: flip tile to other side (if two sided puzzle)
CTRL+Mouse click right or left: flip tile to other side (if two sided puzzle)
ZOOMING & PANNING
For not losing tiles at the window border and for getting more workspace, the game has some zooming and panning features to control the view on your desk.
They are controlled via the keyboard with the following functionality:
Cursor Keys: Pan the view
Page-Up or Add: Zoom in
Page-Down or Sub: Zoom out
Home: Reset to original size
End: Set maximum zooming to view all tiles
In addition, the following actions are possible from keys during play:-
F: Fix/unFix the rotation angle. All pieces snap to 90 deg angles with no free rotation.
(Resets on the next puzzle load.)
M: Swap mouse buttons. (Resets on the next puzzle load.)
License
xJigsaw is free for non-commercial use.
xpuz is GPL3 and the source is available on this website.
Xjigsaw.ini
There are some extra options in the 'xjigsaw.ini' file that must be edited manually.
Important: xjigsaw must NOT be running when you edit the ini file.
PREVIEWWIDTH=250 // this is the preview size
MAXPUZZLEWIDTH=3000 // the maximum puzzle width allowed
MAXPIECESIZE=300 // maximum allowed size for pieces
MINPIECESIZE=20 // minimum allowed size for pieces
CONFIRM=1 // confirm on exit when puzzle open and new puzzle creation (0=no, 1=yes)
OVERSIZE=0 // allow puzzle sizes bigger than original image (0=no, 1=yes)
Language Support
I have added translations for several languages. These were generated from Google translate, so they will not be very accurate.
When you select a language in options, xJigsaw will create a language file in the ‘.xjigsaw’ folder. Any changes you make to the language file will over-ride the internal translations.
Be careful. Careless editing of the language file may break the app.
For more information or to send me translation corrections, contact me at les@webmayo.com
To create a menu entry, click on the 'Tools' tab.
If you also want a desktop shortcut (launcher), Select 'Desktop Shortcut'.
Click the button 'Add Menu Item' .
This may not work on some distros.
In xJigsaw 2.0 you can create stand-alone executable puzzles.
To create a stand-alone executable puzzle:-
1. Select the 'Tools' tab.
2. If you want to create a puzzle that does not have a preview, select 'no preview'
3. Click on the button 'Create an executable puzzle'.
4. Choose where to save the puzzle and click 'Save'
The puzzle will be created as a stand-alone executable. The current puzzle image and settings will be used.
The puzzles will run in most Linux distributions and do not require xjigsaw, xpuz or xjig.
I have tested the puzzles on several out-of-the-box live cd distributions, and the puzzles run without any additional dependencies.
Note: Puzzles created on the Centos 64bit version will only run in centos.
Puzzles created on the ub10-x11 version will run on all debian based distributions since 2009.
To build and install
1.Start terminal and cd to the xpuz-source folder
2.Type xmkmf ()
3.Type make depend ()
4.Type make ()
5.Type sudo make install ()
Playing
Tiles snap together very easy if they are dropped somewhere close to another matching tile, when turned in the correct direction. The usual way to move the pieces on the screen should be to drag the piece with the left mouse button to their destination by pulling them at on edge.
If the 'Fix rotation' is on, pieces will not rotate if dragged, and pieces will always snap to angles of 90 deg.
If the 'Fix rotation angle' is turned off, then pieces will rotate freely. (Pieces will not rotate if dragged with the right mouse button.)
Mouse click left: rotate 90 degrees left (note: This is disabled on blocks of 8 pieces or more)
Mouse click right: rotate 90 degrees right (This always works)
In addition, the following actions are possible from keys during play:-
F: Fix/unFix the rotation angle. All pieces snap to 90 deg angles with no free rotation.
(Resets on the next puzzle load.)
S: Swap mouse buttons. (Resets on the next puzzle load.)
Mouse Controls
drag left: rotator drag (as mentioned above)
click left: rotate 90 degrees left
Note: click left is disable on sections containing more than 8 pieces.This helps to prevent accidental rotation. (click right remains active)
click right: rotate 90 degrees right (This always works and will rotate large chunks of puzzle)
click middle: flip tile to other side (if two sided puzzle)
CTRL+click left: flip tile to other side (if two sided puzzle)
Zooming & Panning
For not losing tiles at the window border and for getting more workspace, the game has some zooming and panning features to control the view on your desk. They are controlled via the keyboard with the following functionality:
Cursor Keys: Pan the view
Page-Up or Add: Zoom in
Page-Down or Sub: Zoom out
Home: Reset to original size
End: Set maximum zooming to view all tiles
License
xpuz is GPL3
Usage:-
There are several ways to create a puzzle.
1. xpuz <filepath>
You can use just a filepath with no options to create a default puzzle from the image in . The filepath should always be in quotes.
The puzzle will have approx 40 to 48 pieces.
example:xpuz "/path/to/myimage.jpg"
2. xpuz -play# <filepath>
# = set a skill level 0 to 9.
example:xpuz play3"/path/to/myimage.jpg"
3. xpuz
example:xpuz -se -w15-p_style3-file"myimage.jpg"
AvailableOptions
Options |
Result |
-play# <filepath> |
Combines -file and -skill to create a puzzle from the image filepath . Example xpuz play3 "/path/to/myimage.jpg" |
-file <filepath> |
Use image in <filepath> for the puzzle |
-loadgame |
load last saved game. This is not available yet. |
-skill |
level of skill 0 to 9. |
-pw |
number of pieces wide |
-ph |
number of pieces high |
-ps |
Set average piece size. |
-width |
Width of image |
-height |
Height of image |
-side |
Single sided puzzle (0 or 1). side 0 is top side. |
-single |
Single sided puzzle. |
-double |
Double sided puzzle. |
-sb |
Use solid color for back of pieces |
-bgcol <###> |
Set the puzzleboard background colour. 18 digit hex This is 3 sets of 6 digit hex values, as follows... |
-sb_col <#> |
Color number for back of pieces, as a hex value (0x2b8475) |
-p_style |
Set style of pieces. 0 to 11 |
-ac |
Automatically crop extra space from around images |
-bs |
Swap the left and right mouse buttons |
-fa |
Fix angle of pieces to 90 deg |
-se |
Sort edges. Finds all edge pieces and places them in a separate pile. |
-nr |
No rotation of pieces. Pieces will be locked in the upright position. |
-aa |
Any angle or rotation. Pieces will not be corrected to 90 degrees when rotating. |
-anim_speed |
Set animation speed (turn time base ) (0.15) |
-no_anim |
No animation when rotating and flipping pieces. |
-setup |
Don't shuffle pieces and use spaces between pieces . |
-dist |
Set distortion percentage for pieces. 0 to 35 is good |
-shadow |
Thickness of shadowed border, 1=default , 2=thick or 3=very thick |
-v |
Show xpuz version |
-nqk |
Don't show quick key information at top of screen. |
-bf |
Best fit. Attempt to fit all puzzle pieces into the screen area after shuffling. |
-mcs |
Set mouse click speed 150 to 350. |
-pn
|
The current players name ( in quotes if it contains spaces). |
-gn |
The name for current puzzle (in quotes if it contains spaces). Used for the scores file. * see notes (2) |
-xf
|
Name of the xpuz folder (in 'users home') ( in quotes) The default is '.xpuz'. This is used as the folder to save all related information for xpuz. * see notes (3) |
-ap |
Automatically rotate landscape images to portrait |
-op |
Display a list of option. |
Additional options, mostly for debugging
Options |
Result |
-a |
startup angle |
-s |
shuffle tiles |
-sf |
full shuffle |
-sa |
shuffle angles |
-sp |
shuffle positions |
-r |
Rotate pieces after creating puzzle. (for effect) |
-8 -16 -32 |
Manually select optimized texture mapping routine |
-maxang |
Maximum rotation angle at startup |
-rand |
Seed for random generator . |
-ftb |
Set flip time base (0.07) |
-ftd |
Set flip time delta (for additional tiles) (0.02) |
-mft |
Maximum number of flip tiles (8) |
-fs |
Set value, when to stop the flip (0.2) |
-ttd |
Set turn time delta (for additional pieces) (0.02) |
-ttb |
Set turn time base (0.15) |
-mtt |
Maximun number of flip tiles (8) |
-msr |
Maximun number snap retries (1) |
-mac |
Minimum number of tiles for adjustment (4) |
Control Keys and Mouse Actions
Keys |
Action |
---|---|
mouse-left drag |
Straight drag (unless mouse keys are swapped) |
mouse-right drag |
Drag with automatic rotation (unless mouse keys are swapped) |
click mouse-left |
Rotate piece 90 degrees anti-clockwise |
click mouse-right |
Rotate piece 90 degrees clockwise |
CTRL + click left |
Flip piece over (double sided puzzles) |
F |
Fix or UnFix drag |
S |
Save current puzzle (not available yet) |
Q |
Quit. You must press Q twice to quit. This is to prevent accidental quitting. |
|
|
Other information
Player Name
This is used by xpuz when adding the puzzle score to the 'scores' file.
If a player_name is not provided, xpuz will use the username of the current player.
However, if the xpuz folder does not exists, nothing will be done.
Game name
This is used by xpuz when adding the puzzle score to the 'scores' file.
xpuz first looks in the xpuz folder for a file called 'puzzle.name'. If this is found, the game_name will be taken from this. Else, the game_name variable will be used (if it exists).
If the 'puzzle.name' file does not exist, and a game_name variable does not exist, xpuz will leave the entry blank. If the xpuz folder does not exists, nothing will be done.
The xpuz folder is used as the folder to save all related information for xpuz.
The default folder name is 'xpuz'.
To change the xpuz folder used, set the -xf option to use a different folder.
Scores file
if the puzzle support folder (in -xf ) exists in the users home folder, a scores file (scores) will be updated each time a puzzle is completed. If the folder does not exist, nothing is done.
The format of each line in the 'scores' file is:gamename|gamepieces|playername|gameseconds
example:balloons|24|john|73