miniature:miniature.git
7 years agoPrepare 0.1.3 release fremantle/0.1.3-1
Mathias Hasselmann [Fri, 18 Dec 2009 10:57:40 +0000 (11:57 +0100)]
Prepare 0.1.3 release

7 years agoFixed a return-by-value bug while trying to iterate over QGI::childItems()
Michael Hasselmann [Wed, 16 Dec 2009 00:52:59 +0000 (01:52 +0100)]
Fixed a return-by-value bug while trying to iterate over QGI::childItems()

7 years agoAdded cleanup code when navigating between positions
Michael Hasselmann [Wed, 16 Dec 2009 00:51:33 +0000 (01:51 +0100)]
Added cleanup code when navigating between positions

7 years agoRemoved "rotate black pieces" action
Michael Hasselmann [Wed, 16 Dec 2009 00:24:19 +0000 (01:24 +0100)]
Removed "rotate black pieces" action

7 years agoRevert "Disabled hiding of pieces before each update, as it still crashes the QGV"
Michael Hasselmann [Tue, 15 Dec 2009 22:08:28 +0000 (23:08 +0100)]
Revert "Disabled hiding of pieces before each update, as it still crashes the QGV"

* Turns out the crasher I experienced is unrelated to the QGV but rather some
problem with the main menu on the N900 (crashes after 4-5 times hitting "new
game", not observable in sbox).

This reverts commit ac40d13b1785c3757cd86a5c273c457c3f3c05ab.

7 years agoDisabled hiding of pieces before each update, as it still crashes the QGV
Michael Hasselmann [Tue, 15 Dec 2009 21:58:30 +0000 (22:58 +0100)]
Disabled hiding of pieces before each update, as it still crashes the QGV

7 years agoUpdated debian changelog stub in preparation for next release
Michael Hasselmann [Tue, 15 Dec 2009 20:30:28 +0000 (21:30 +0100)]
Updated debian changelog stub in preparation for next release

7 years agoHide all pieces in scene when jumping between positions
Michael Hasselmann [Tue, 15 Dec 2009 20:22:54 +0000 (21:22 +0100)]
Hide all pieces in scene when jumping between positions

7 years agoImplemented visual check hint
Michael Hasselmann [Tue, 15 Dec 2009 20:12:27 +0000 (21:12 +0100)]
Implemented visual check hint

7 years agoFixed compiler warnings in MPosition
Michael Hasselmann [Tue, 15 Dec 2009 16:03:44 +0000 (17:03 +0100)]
Fixed compiler warnings in MPosition

7 years agoReplaced MSharedPiece with raw pointers in MLogicAnalyzer
Michael Hasselmann [Tue, 15 Dec 2009 16:01:15 +0000 (17:01 +0100)]
Replaced MSharedPiece with raw pointers in MLogicAnalyzer

7 years agoReplaced MSharedPiece with raw pointers in MGame
Michael Hasselmann [Tue, 15 Dec 2009 15:51:14 +0000 (16:51 +0100)]
Replaced MSharedPiece with raw pointers in MGame

7 years agoRemoved shared pointers from MPosition
Michael Hasselmann [Tue, 15 Dec 2009 10:08:32 +0000 (11:08 +0100)]
Removed shared pointers from MPosition

* src/position.[h|cc]: Since ownership over MPieces was transferred to
MGraphicsBoardItem we can use simple pointers again. It will also remove the
conflict of having the same resource handled by smart pointers *and* an
object hierarchy.

7 years agoImproved piece selection and move performance
Michael Hasselmann [Mon, 14 Dec 2009 20:38:53 +0000 (21:38 +0100)]
Improved piece selection and move performance

* src/*.[h|cc|ui], src/pieces/*.[h|cc]: On the N900, piece selection and move
performance was rather sluggish. Therefore, MPieces are now QGraphicsSvgItems
which can draw themselves. Upon making a move, the MPiece instance moves
accordingly on the scene graph, too. This allows to forgoe complete redrawing
of all pieces after each minor update. But it also brings in many sync
problems (differences in logical position in MPosition and position in
QGraphicsScene) which I wanted to avoid with a complete redraw action.

Now that the logical and graphical part of MPiece have been merged, most of the
code (and interaction!) between MGame, MBoardView and MGraphicsBoardItem has
changed dramatically. The latter is no longer owned by the MBoardView but is
instead controlled directly by MGame, killing some ugly signal propagation and
generally cutting code. The changes to MPosition have been on the lowest level
so that the MLogicAnalyzer is almost not affected.

There is still a bug w.r.t. to captured pieces and replays (prev/next
navigation), but the rest should work again.

8 years agoExperimental feature: let MPosition update the scene graph
Michael Hasselmann [Mon, 14 Dec 2009 00:55:03 +0000 (01:55 +0100)]
Experimental feature: let MPosition update the scene graph

* src/pieces/piece.[h|cc], src/pieces/bishop.[h|cc]: Let the pieces derive from
QGraphicsSvgItem. This is what I had in mind in the very beginning, and it
allows faster board updates and better logic checks. It will also kill a lot
of code, hopefully.

* src/game.cc, src/position.[h|cc], src/board_view.[h|cc]: Let MPosition add
new pieces to a common board item (a generic QGraphicsSvgItem again) so that
it can update the piece's position directly after moving.

8 years agoDisable spurious signals and fix compiler warnings
Michael Hasselmann [Sun, 13 Dec 2009 22:23:32 +0000 (23:23 +0100)]
Disable spurious signals and fix compiler warnings

8 years agocheck working now
dennis [Sun, 13 Dec 2009 01:04:22 +0000 (02:04 +0100)]
check working now

8 years agoprepared MLogicAnalyzer for check
dennis [Mon, 7 Dec 2009 22:58:30 +0000 (23:58 +0100)]
prepared MLogicAnalyzer for check

8 years agocontinued castling, but still not working correctly. Problems with flags
dennis [Sun, 6 Dec 2009 19:49:27 +0000 (20:49 +0100)]
continued castling, but still not working correctly. Problems with flags

8 years agoprepared for castling, didn't quite finish, ran out of time
dennis [Fri, 4 Dec 2009 15:51:27 +0000 (16:51 +0100)]
prepared for castling, didn't quite finish, ran out of time

8 years agoImplemented undo
Michael Hasselmann [Wed, 9 Dec 2009 02:06:55 +0000 (03:06 +0100)]
Implemented undo

8 years agoUpdated class diagram
Michael Hasselmann [Tue, 8 Dec 2009 23:50:23 +0000 (00:50 +0100)]
Updated class diagram

8 years agoFixed game navigation
Michael Hasselmann [Tue, 8 Dec 2009 22:21:11 +0000 (23:21 +0100)]
Fixed game navigation

8 years agoTrying other colors for piece-selected state
Michael Hasselmann [Tue, 8 Dec 2009 21:27:11 +0000 (22:27 +0100)]
Trying other colors for piece-selected state

8 years agoCode cut: removed MPlayerInfo
Michael Hasselmann [Tue, 8 Dec 2009 20:55:51 +0000 (21:55 +0100)]
Code cut: removed MPlayerInfo

8 years agoCode cut: freed MMainWindow and MGame from uneccessary features
Michael Hasselmann [Tue, 8 Dec 2009 20:54:10 +0000 (21:54 +0100)]
Code cut: freed MMainWindow and MGame from uneccessary features

8 years agoThrow out fading frame, styling has to be done on the pieces level
Michael Hasselmann [Tue, 8 Dec 2009 20:09:56 +0000 (21:09 +0100)]
Throw out fading frame, styling has to be done on the pieces level

8 years agoPiece selection refinements
Michael Hasselmann [Tue, 8 Dec 2009 20:09:24 +0000 (21:09 +0100)]
Piece selection refinements

8 years agoLet MActionArea emit correct button pressed signals, depending on internal state
Michael Hasselmann [Tue, 8 Dec 2009 20:07:05 +0000 (21:07 +0100)]
Let MActionArea emit correct button pressed signals, depending on internal state

8 years agoAdded more signal propagation from the internal MGraphicsBoardItem
Michael Hasselmann [Tue, 8 Dec 2009 16:34:31 +0000 (17:34 +0100)]
Added more signal propagation from the internal MGraphicsBoardItem

8 years agoUpdated gradients for buttons
Michael Hasselmann [Tue, 8 Dec 2009 16:33:46 +0000 (17:33 +0100)]
Updated gradients for buttons

8 years agoMoved control over action areas into MGame
Michael Hasselmann [Tue, 8 Dec 2009 15:02:02 +0000 (16:02 +0100)]
Moved control over action areas into MGame

8 years agoChanged button height from 70px to 64px, so that it is 70px in total
Michael Hasselmann [Tue, 8 Dec 2009 14:44:40 +0000 (15:44 +0100)]
Changed button height from 70px to 64px, so that it is 70px in total

8 years agoDeactivated auto-deselect and fade-out for frame
Michael Hasselmann [Tue, 8 Dec 2009 14:44:13 +0000 (15:44 +0100)]
Deactivated auto-deselect and fade-out for frame

8 years agoAdded buttons for player's action areas, using widget proxies
Michael Hasselmann [Tue, 8 Dec 2009 13:42:32 +0000 (14:42 +0100)]
Added buttons for player's action areas, using widget proxies

8 years agoAdded a black overlay mask for half-filled buttons effect
Michael Hasselmann [Tue, 8 Dec 2009 13:41:54 +0000 (14:41 +0100)]
Added a black overlay mask for half-filled buttons effect

8 years agoFixed wrong interface dependency in MGraphicsBoardItem's ctor
Michael Hasselmann [Tue, 8 Dec 2009 13:40:58 +0000 (14:40 +0100)]
Fixed wrong interface dependency in MGraphicsBoardItem's ctor

8 years agoHide UI elements that are currently not needed
Michael Hasselmann [Tue, 8 Dec 2009 13:40:04 +0000 (14:40 +0100)]
Hide UI elements that are currently not needed

8 years agoRemoved button navigation, added space for action areas
Michael Hasselmann [Tue, 8 Dec 2009 13:39:20 +0000 (14:39 +0100)]
Removed button navigation, added space for action areas

8 years agoAdded a class that handles the state transition of the player's action area
Michael Hasselmann [Tue, 8 Dec 2009 13:37:59 +0000 (14:37 +0100)]
Added a class that handles the state transition of the player's action area

8 years agoAdded buttons for game navigation
Michael Hasselmann [Sat, 5 Dec 2009 15:14:43 +0000 (16:14 +0100)]
Added buttons for game navigation

8 years agoImplemented game nagivation via move list
Michael Hasselmann [Thu, 3 Dec 2009 13:37:00 +0000 (14:37 +0100)]
Implemented game nagivation via move list

8 years agoCreated a stub for the next release in the debian changelog maebar
Michael Hasselmann [Wed, 2 Dec 2009 11:21:37 +0000 (12:21 +0100)]
Created a stub for the next release in the debian changelog

8 years agoMoved piece rotation handling into MGame, allowing cleanup of MBoardView
Michael Hasselmann [Wed, 2 Dec 2009 04:28:34 +0000 (05:28 +0100)]
Moved piece rotation handling into MGame, allowing cleanup of MBoardView

8 years agoAdded a MBoardView ref to MGame to allow better control over the view
Michael Hasselmann [Wed, 2 Dec 2009 04:11:31 +0000 (05:11 +0100)]
Added a MBoardView ref to MGame to allow better control over the view

8 years agoRe-added next/prev move, does not work correctly
Michael Hasselmann [Wed, 2 Dec 2009 03:49:05 +0000 (04:49 +0100)]
Re-added next/prev move, does not work correctly

8 years agoCleaned up UI, underline active player
Michael Hasselmann [Wed, 2 Dec 2009 02:48:56 +0000 (03:48 +0100)]
Cleaned up UI, underline active player

* See [1] for details.

[1] https://garage.maemo.org/pipermail/chess-developer/2009-November/000081.html

8 years agoLet MGame store a history of the current chess game
Michael Hasselmann [Wed, 2 Dec 2009 02:02:36 +0000 (03:02 +0100)]
Let MGame store a history of the current chess game

8 years agoReplaced raw pointers in MPosition with QSharedPointers
Michael Hasselmann [Wed, 2 Dec 2009 00:35:52 +0000 (01:35 +0100)]
Replaced raw pointers in MPosition with QSharedPointers

8 years agoAdded chess move notation, fixed memory leaks
Michael Hasselmann [Tue, 1 Dec 2009 00:57:55 +0000 (01:57 +0100)]
Added chess move notation, fixed memory leaks

* src/game.cc, src/position.[h|cc]: Changed store/restore API to take/release
ownership of the stored MPiece. Removed removePieceAt() and removed potential
memory leak in addPieceAt(). MPosition now cleans up after itself.

* src/position.[h|cc]: Added basic chess move notation.

* src/miniature.cc, src/board_view.[h|cc]: Reset the SVG cache between games.

8 years agoAdded a getLetter method for each piece, for chess move notations
Michael Hasselmann [Tue, 1 Dec 2009 00:46:43 +0000 (01:46 +0100)]
Added a getLetter method for each piece, for chess move notations

8 years agoAdded store/restore API to MPosition
Michael Hasselmann [Mon, 30 Nov 2009 23:14:29 +0000 (00:14 +0100)]
Added store/restore API to MPosition

* src/position.[h|cc]: Added a MStorage class which can store a piece and its
location on the board. Since this storage takes ownership of the piece it
allows a cleaner way to delete them from the board. The store/restore can make
use of that, but more importantly they allow simple undos without the need to
clone MPositions.

* src/game.cc, src/miniature.cc: Changed notations of move.

8 years agoLet Miniature start with the start position
Michael Hasselmann [Mon, 30 Nov 2009 18:48:19 +0000 (19:48 +0100)]
Let Miniature start with the start position

8 years agoMoved player info below board
Michael Hasselmann [Sun, 29 Nov 2009 19:33:23 +0000 (20:33 +0100)]
Moved player info below board

8 years agoAdded rotation of black pieces, for offline human vs human
Michael Hasselmann [Sun, 29 Nov 2009 18:53:39 +0000 (19:53 +0100)]
Added rotation of black pieces, for offline human vs human

8 years agoAdded about dialog
Michael Hasselmann [Sun, 29 Nov 2009 17:02:33 +0000 (18:02 +0100)]
Added about dialog

8 years agoIntegrated the move list view and enabled switching between views
Michael Hasselmann [Sun, 29 Nov 2009 14:17:50 +0000 (15:17 +0100)]
Integrated the move list view and enabled switching between views

8 years agoAdded move list view and show moves/show board buttons
Michael Hasselmann [Sun, 29 Nov 2009 13:39:42 +0000 (14:39 +0100)]
Added move list view and show moves/show board buttons

8 years agoAdded stacked windows
Michael Hasselmann [Sun, 29 Nov 2009 02:44:52 +0000 (03:44 +0100)]
Added stacked windows

8 years agoFixed bug #1
Michael Hasselmann [Sat, 28 Nov 2009 21:46:58 +0000 (22:46 +0100)]
Fixed bug #1

* see http://wiki.maemo.org/Image:Screenshot-Miniature-Bug1.png

8 years agoFixed a race condition
Michael Hasselmann [Sat, 28 Nov 2009 12:45:48 +0000 (13:45 +0100)]
Fixed a race condition

8 years agoFixed unused variable
Michael Hasselmann [Sat, 28 Nov 2009 12:43:37 +0000 (13:43 +0100)]
Fixed unused variable

8 years agoUpdate build dependencies fremantle/0.1.2-1
Mathias Hasselmann [Fri, 27 Nov 2009 11:10:58 +0000 (12:10 +0100)]
Update build dependencies

8 years agoBump version numbers
Mathias Hasselmann [Fri, 27 Nov 2009 10:40:48 +0000 (11:40 +0100)]
Bump version numbers

8 years agoDisable Qt Designer's auto connect feature
Michael Hasselmann [Fri, 27 Nov 2009 02:43:50 +0000 (03:43 +0100)]
Disable Qt Designer's auto connect feature

8 years agoFixed app termination on N900
Michael Hasselmann [Fri, 27 Nov 2009 02:35:51 +0000 (03:35 +0100)]
Fixed app termination on N900

8 years agoKill QWebPage instance once it rendered the board background for us
Michael Hasselmann [Thu, 26 Nov 2009 21:58:20 +0000 (22:58 +0100)]
Kill QWebPage instance once it rendered the board background for us

8 years agoUpdated debian changelog
Michael Hasselmann [Thu, 26 Nov 2009 01:27:24 +0000 (02:27 +0100)]
Updated debian changelog

8 years agoDisabled stdout debugging output
Michael Hasselmann [Thu, 26 Nov 2009 01:18:15 +0000 (02:18 +0100)]
Disabled stdout debugging output

8 years agoAdded clean newGame reset
Michael Hasselmann [Thu, 26 Nov 2009 01:14:22 +0000 (02:14 +0100)]
Added clean newGame reset

8 years agoAdded a hackish way to show which side has to move, hide debug window
Michael Hasselmann [Thu, 26 Nov 2009 00:54:50 +0000 (01:54 +0100)]
Added a hackish way to show which side has to move, hide debug window

8 years agoImplemented alternating move order
Michael Hasselmann [Thu, 26 Nov 2009 00:40:19 +0000 (01:40 +0100)]
Implemented alternating move order

8 years agoAdded auto-promotion to queens for pawns
Michael Hasselmann [Thu, 26 Nov 2009 00:01:42 +0000 (01:01 +0100)]
Added auto-promotion to queens for pawns

8 years agofix for the last commit
dennis [Thu, 26 Nov 2009 00:12:06 +0000 (01:12 +0100)]
fix for the last commit

8 years agoadded a flag that tracks the colour to move
dennis [Thu, 26 Nov 2009 00:03:00 +0000 (01:03 +0100)]
added a flag that tracks the colour to move

8 years agoand kore said: let the kings move!
dennis [Wed, 25 Nov 2009 23:20:47 +0000 (00:20 +0100)]
and kore said: let the kings move!

8 years agoMade the logic analyzer's verifyMove more expressive
Michael Hasselmann [Wed, 25 Nov 2009 22:31:07 +0000 (23:31 +0100)]
Made the logic analyzer's verifyMove more expressive

* Makefile.am: Removed moc dependency for MLogicAnalyzer.

* src/logic_analyzer.[h|cc], src/game.cc: Removed QObject dependency from
MLogicAnalyzer. Also, verifyMove now returns a MLogicAnalyzer::MStateFlags so
that it is easier to capture all states that are checked for during
verification.

8 years agocleaned up MKing and added it to the makefile
dennis [Wed, 25 Nov 2009 22:03:41 +0000 (23:03 +0100)]
cleaned up MKing and added it to the makefile

8 years agoimplemented the check check (a method that tests a given position for a players beein...
dennis [Wed, 25 Nov 2009 18:33:16 +0000 (19:33 +0100)]
implemented the check check (a method that tests a given position for a players beeing in check)

8 years agoRemoved portrait mode support for Qt 4.5, activated for Qt 4.6 again
Michael Hasselmann [Wed, 25 Nov 2009 00:44:16 +0000 (01:44 +0100)]
Removed portrait mode support for Qt 4.5, activated for Qt 4.6 again

8 years agoMade the board's background corners transparent again
Michael Hasselmann [Wed, 25 Nov 2009 00:30:37 +0000 (01:30 +0100)]
Made the board's background corners transparent again

8 years agoFixed null-pointer issue in piece type lookup, style changes
Michael Hasselmann [Tue, 24 Nov 2009 19:13:11 +0000 (20:13 +0100)]
Fixed null-pointer issue in piece type lookup, style changes

8 years agoUse QGraphicsView's background caching for the SVG board
Michael Hasselmann [Tue, 24 Nov 2009 18:47:57 +0000 (19:47 +0100)]
Use QGraphicsView's background caching for the SVG board

8 years agoRemoved Webkit rendering inside scene graph, it kills mouse events performance
Michael Hasselmann [Tue, 24 Nov 2009 17:00:22 +0000 (18:00 +0100)]
Removed Webkit rendering inside scene graph, it kills mouse events performance

8 years agomade MPosition remember the positions of the two kings
korius [Tue, 24 Nov 2009 18:24:31 +0000 (19:24 +0100)]
made MPosition remember the positions of the two kings

8 years agofixed a small bug which prevented pawns from moving
korius [Tue, 24 Nov 2009 17:20:27 +0000 (18:20 +0100)]
fixed a small bug which prevented pawns from moving

8 years agoIncluded MPawn in Makefile.am, fixed compile errors
Michael Hasselmann [Tue, 24 Nov 2009 16:37:03 +0000 (17:37 +0100)]
Included MPawn in Makefile.am, fixed compile errors

8 years agoAdded debug output to mouse event handling, turns out it is slow
Michael Hasselmann [Tue, 24 Nov 2009 13:36:11 +0000 (14:36 +0100)]
Added debug output to mouse event handling, turns out it is slow

8 years agoAdded SVG item caching in MBoardView
Michael Hasselmann [Tue, 24 Nov 2009 12:54:36 +0000 (13:54 +0100)]
Added SVG item caching in MBoardView

8 years agomade pawns move (doesn't build completely, i think the linker complains, but I dunno...
korius [Tue, 24 Nov 2009 15:13:04 +0000 (16:13 +0100)]
made pawns move (doesn't build completely, i think the linker complains, but I dunno why)

8 years agoallowed queens to move straight as well :)
korius [Tue, 24 Nov 2009 01:45:41 +0000 (02:45 +0100)]
allowed queens to move straight as well :)

8 years agoAdded bishops and queens to start position
Michael Hasselmann [Tue, 24 Nov 2009 01:29:18 +0000 (02:29 +0100)]
Added bishops and queens to start position

8 years agoDisabled terminal debug output
Michael Hasselmann [Tue, 24 Nov 2009 01:24:39 +0000 (02:24 +0100)]
Disabled terminal debug output

8 years agoRedirected MGame debug output to main window
Michael Hasselmann [Tue, 24 Nov 2009 01:10:52 +0000 (02:10 +0100)]
Redirected MGame debug output to main window

8 years agoAdded a generic debug output to main window, cleaned up menu
Michael Hasselmann [Tue, 24 Nov 2009 01:00:38 +0000 (02:00 +0100)]
Added a generic debug output to main window, cleaned up menu

8 years agoCleaned up MPosition, added piece captured check
Michael Hasselmann [Tue, 24 Nov 2009 00:17:37 +0000 (01:17 +0100)]
Cleaned up MPosition, added piece captured check

8 years agoadded the move list constraints for bishops and queens
korius [Tue, 24 Nov 2009 00:10:39 +0000 (01:10 +0100)]
added the move list constraints for bishops and queens

8 years agoadded the renderers to MQueen and MBishop
korius [Mon, 23 Nov 2009 23:20:40 +0000 (00:20 +0100)]
added the renderers to MQueen and MBishop

8 years agoCode cut: Killed MPiecesPool, MPiecesPoolManager and MGraphicsChessPieceItem
Michael Hasselmann [Mon, 23 Nov 2009 22:29:17 +0000 (23:29 +0100)]
Code cut: Killed MPiecesPool, MPiecesPoolManager and MGraphicsChessPieceItem

8 years agoRemoved MPiecesPoolManager, MGraphicsChessPieceItem dependencies for rendering
Michael Hasselmann [Mon, 23 Nov 2009 22:17:08 +0000 (23:17 +0100)]
Removed MPiecesPoolManager, MGraphicsChessPieceItem dependencies for rendering

* src/board_view.[h|cc], src/graphics_board_item.[h|cc] (addPiece,
removePieces): The MGraphicsBoardItem takes care of the pieces
(= QGraphicsSvgItem) we put on it so that cleaning the board does delete other
animation items by accident. Also, we do not need the MPiecesPoolManager
anymore for caching, QGraphicsSvgItem + shared SVG renderers does sufficient
caching.

* src/pieces/pieces.[h|cc], src/pieces/rook.[h|cc], src/pieces/knight.[h|cc]:
Chess pieces create SVG items of themselves, suitable for displaying them.
Removed the MGraphicsBoardItem depedency.