[Kde-games-devel] Review Request 115281: New features and rework/retune of puzzle loading.

Ian Wadham iandw.au at gmail.com
Fri Feb 14 23:12:01 UTC 2014


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/115281/
-----------------------------------------------------------

(Updated Feb. 14, 2014, 11:12 p.m.)


Status
------

This change has been marked as submitted.


Review request for KDE Games.


Repository: palapeli


Description
-------

New features have been added:

1. Make space on the puzzle table for the puzzle solution. The location of the space is a combobox setting: default Center. One option is None (ie. same as current Palapeli).
2. Add a margin to the puzzle table. All pieces are inside the margin. It contains a thinner version of the ConstraintVisualizer widget, which marks the edge of the table and is a set of resize handles for the table. These handles cannot now overlap pieces and change their appearance. Also resizing is more like it is for a window and the risk of selecting/dragging the wrong thing (piece or table edge) is reduced.
3. Fit the puzzle and resize handles within the view when loading is completed (still needs polishing). Previously Palapeli reduced the puzzle area by 10%.
4. Save a puzzle when it is generated but no pieces have been moved yet. The puzzle stays the same until you move a piece or request Restart Puzzle, regardless of what other puzzles you may look at.

Puzzle loading has been re-worked and re-tuned, but still needs some polishing, to co-ordinate the timing of the loading widget (dancing balls), preview loading, piece loading, piece positioning and final display of the view. It seems to be faster now, perhaps because there used to be one change of scene rectangle per piece loaded, but now there is one per scene.

The diff for this review is a union of six commits that have all been pushed to origin master.


Diffs
-----

  src/engine/scene.h 172f51d 
  src/engine/scene.cpp 93767e0 
  src/engine/gameplay.cpp cd53c43 
  src/engine/constraintvisualizer.cpp 425d3fe 
  src/engine/gameplay.h 69c2f4a 
  src/engine/constraintvisualizer.h e3a0224 
  src/config/configdialog.h 3a053fc 
  src/config/configdialog.cpp 0d97b7e 
  src/engine/view.h 9203b03 
  src/engine/view.cpp a06c34c 
  src/file-io/collection.cpp e3b557c 
  src/palapeli.kcfg 64a91b7 
  src/settings.ui 6c957b3 

Diff: https://git.reviewboard.kde.org/r/115281/diff/


Testing
-------

Tested every value of the solution-space setting on puzzles of different sizes and numbers of pieces.

Tested the creation and display of the new margin and re-sizing handles. Also tested pushing pieces against each edge of the table, with and without the table being locked. Similarly for dragging the handles out or in until they (almost) meet the pieces.

Tested the final display of the puzzle and handles filling the view. Sometimes this is not quite precise or there is a flicker (needs polishing).

Tested puzzle generation and saving with several puzzles and sequences of loading, going back to the collection and selecting the same or another puzzle.

Tested puzzle loading and timing with several puzzles of various sizes and number of pieces, with logging-messages to trace what was happening, in what order and how long it was taking. There is still some polishing to do.


Thanks,

Ian Wadham

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-games-devel/attachments/20140214/bf9ca510/attachment.html>


More information about the kde-games-devel mailing list