1 2006-09-09 Dmitry Suzdalev <dimsuz@gmail.com>
2 * kreversi: Merged branch kreversi_rewrite into trunk.
3 KReveri is now rewritten to use QGraphicsView framework
4 2006-07-03 Inge Wallin <inge@lysator.liu.se>
6 * kreversi.cpp (slotGameOver): Set state back to Ready after the
7 game is finished, and before showing highscore.
9 2006-07-03 Inge Wallin <inge@lysator.liu.se>
11 * Position.cpp (undoMove): Keep track of score when undoing a
14 * qreversigameview.h (removeMove): show game status after removing
17 2006-07-02 Inge Wallin <inge@lysator.liu.se>
19 * qreversigameview.cpp (moveMade): Print color Red/Blue in
20 addition to White/Black into the game view if non-BW color is
21 chosen in the preferences.
24 ----------------------------------------------------------------
25 New start of ChangeLogging
26 ----------------------------------------------------------------
29 2005-04-04 Inge Wallin <inge@lysator.liu.se>
31 Fix bug where hint and 'show legal moves' didn't work together.
32 * board.cpp (showHint): call drawSmallCircle if showLegalMoves is true.
33 (drawSmallCircle): new private method
34 New feature: show last move.
35 * board.cpp (setShowLastMove): new method
38 Refactoring: make showing of legal moves simpler
39 * board.cpp (showLegalMoves): Take bool for on/off instead of Movelist
40 (quitShowLegalMoves): removed
41 (m_legalMovesShowing): new bool member instead of m_legalMoves
42 * kreversi.cpp (misc): don't call showLegalMoves were not necessary
43 Fix a bug with 'show legal moves': old ones were never erased.
44 * board.cpp (showLegalMoves): new method broken out of updateBoard
46 Some code cleaning and documentation
47 * DESIGN: Made documentation up-to-date
48 * qreversigame.{h,cpp} (updateBoard,turn): removed signals
49 * qreversigameview.{cpp} (slotNewGame): renamed into newGame
50 (updateBoard): new method
51 (updateMovelist): new method (empty yet)
52 (misc proxy methods): simplified.
54 Move over more view stuff to the gameview.
55 * kreversi.cpp (showMove): Renamed into handleMove, most of it
57 (slotStateChange): removed slot
58 (turn(Color), score, stateChange): removed signals
59 (setState): Do the job of slotStateChange.
60 * qreversigameview.cpp (moveMade): do the job of showMove
62 More control of the view by signals
63 * kreversi.cpp (showTurn): now catches sig_newGame and sig_update
67 Let the game view be updated by signals from the game instead of
69 * kreversi.cpp (misc): Don't call updateboard et al.
71 * qreversigame.cpp (sig_score): Removed.
72 * qreversigameview.{h,cpp} (slotNewGame, moveMade): new slots
74 2005-04-03 Inge Wallin <inge@lysator.liu.se>
76 Clean up the signals from the game and change some explicit calls
77 to update the view into signal/slots instead.
78 * kreversi.{h, cpp} (showScore): removed
79 * qreversigame.{h,cpp} (sig_newGame, sig_update): new signals
80 (gameOver): signal renamed into sig_gameOver
81 * qreversigameview.{h,cpp} (StatusWidget::setText): new method
82 (createView): New private method.
83 (updateView): new slot
84 (updateStatus): new slot
85 (setHumanColor): new method.
88 Move the status info from the toolbar to the gameview.
89 * kreversi.{h,cpp} (StatusWidget): Removed class
90 (createStatusBar): Removed.
91 (m_krgame): renamed into m_game
92 * qreversigameview.{h,cpp} (StatusWidget): Added class
94 Move the movelist to the gameview.
96 Refactor: Create a new class QReversiGameView that will comprise
98 * Unfortunately the details of the change got lost in some stupid
101 2005-04-02 Inge Wallin <inge@lysator.liu.se>
103 Fix bug 102890: The result is not put into the higscore if not all
104 squares are filled at the end of the game
105 * kreversi.cpp (KReversi): call slotNewGame
107 2005-04-01 Inge Wallin <inge@lysator.liu.se>
109 Fix bug 102297: I am playing in KReversi as "expert" but it saves
110 statistics to the "beginner" records
111 * kreversi.h (m_lowestStrength): Should be uint instead of bool.
113 2005-03-31 Inge Wallin <inge@lysator.liu.se>
115 Implement wish 102813: Should be able to show last move
116 * board.{h,cpp} (m_showLastMove, lastMoveShown): new members
117 (setShowLastMove, showLastMove): new methods
118 (updateBoard): show last move.
119 * kreversi.{h,cpp} (showLastMoveAction): new toggleaction
120 (slotShowLastMove): new slot
121 * kreversiui.rc (show_last_move): new action
123 Some consecutive small, but important changes (latest at the top).
124 * Position::undoMove(): new method.
125 * Remove m_lastPosition from class Game.
126 * Rename makeMove() to doMove() and takeBackMove() to undoMove().
128 Big changes in the lower levels of the program. Mostly
130 * Move.h, Move.cpp (SimpleMove): renamed from Move
131 (Move): new class with undo information
132 * Position.h, Position.cpp: allow Move and SimpleMove in various
134 * Game.h, Game.cpp: allow Move and SimpleMove in various places
136 2005-03-30 Inge Wallin <inge@lysator.liu.se>
138 Continue on wish 82900
139 * kreversiui.rc (viewToolBar): new toolbar for the views.
140 * kreversi.{h,cpp} (showLegalMovesAction): new toggleaction
141 (slotShowLegalMOves): new slot
142 (misc): check status of toggle action before showing legal moves
143 NOTE: This change adds a new toolbar. Before testing you must
146 ----------------------------------------------------------------
148 Start on wish 82900: Show possible moves in the current position
149 * Move.{h,cpp} (Move): new copy constructor
150 * Move.h (MoveList): new type
151 * qreversigame.h (position): new method.
152 * Position.{h,cpp} (generateMoves): new method
153 * board.{h,cc} (showLegalMoves, quitShowLegalMoves): new methods
154 (setMarks): Show also legal moves.
155 * kreversi.cpp: call showLegalMoves() in various places.
157 ----------------------------------------------------------------
159 Implement wish 82517: show moves of the game in a view
160 * Game.h (Game): Make members protected.
161 (asString): new method
162 * qreversigame.cpp (makeMove): emit new signal sig_move .
163 * kreversi.{h,cpp} (m_movesView): new member
166 2005-03-29 Inge Wallin <inge@lysator.liu.se>
168 Implement wish 82519: Label the board with A-H, 1-8
169 * board.cpp (OFFSET): new macro
170 (m_marksShowing): new member
171 (setMarks): new method
172 (mousePressEvent): take into account offset.
173 (updateBoard): draw markings if m_marksShowing is true
174 (drawOnePiece): take into account offset.
175 (adjustSize): take into account markings
179 ----------------------------------------------------------------
181 Move KReversiGame out to its own file, and remove it.
182 * qreversigame.{h,cpp}: new files.
183 (class): Inherit from Game instead of containing it.
184 (signal score): Rename into sig_score().
185 * Makefile.am: include new files.
186 * board.cpp: Remove class KReversiGame
187 (all methods): Rename to QReversiGame
190 * Game.{h,cpp} (~Game): new method
192 2005-03-28 Inge Wallin <inge@lysator.liu.se>
194 * kreversi.cpp (KReversi): Fix faulty connect().
197 ================================================================
199 ================================================================
202 2005-02-18 Inge Wallin <ingwa@dhcp-254-182.lkpg.cendio.se>
204 * version.h (KREVERSI_VERSION): Bumped version to 1.6
206 2004-10-31 Inge Wallin <inge@lysator.liu.se>
208 Better fix for bug 91055.
209 * kreversi.cpp (slotNewGame): Reimplement dialog using
210 KMessageBox::warningYesNo(). This solves the FIXME in the header.
212 2004-10-15 Inge Wallin <inge@lysator.liu.se>
214 Fix bug 90472: KReversi: When you interrupt the computers move and
215 then switch sides, the program gets confused
216 * kreversi.cpp (slotSwitchSides): Don't allow the user to switch
217 sides if the computers move is interrupted.
219 2004-10-11 Inge Wallin <inge@lysator.liu.se>
222 * kreversi.{h,cpp}: Make all members follow the m_ convention.
223 Also added some comments.
225 ----------------- CVS commit on stuff below --------------------
227 Fix bug 91055 - KReversi: If you start a new game when a game is
228 playing, the user is never asked for confirmation.
229 * kreversi.cpp (slotNewGame): Show a dialog that asks for
230 confirmation from the user.
232 2004-10-09 Inge Wallin <inge@lysator.liu.se>
234 Fix bug 90203: KReversi: It should be visible when the user
235 interrupts the computers thinking.
236 * kreversi.cpp (slotInterrupt): call showTurn().
237 (showTurn): Show "(interrupted)" if it is.
238 NOTE: This fix can't be backported easily since there is a string
239 freeze for BRANCH_3_3.
241 ----------------- CVS commit on stuff below --------------------
243 Fix a bug that made the score unset at startup.
244 * kreversi.cpp (KReversi): show the score at startup.
246 ----------------- CVS commit on stuff below --------------------
248 Finally make KReversi a proper Model/View program (step I.4 and
249 I.5 from the plan in the TODO file).
250 * board.{h,cpp} (KReversiGame): new class
251 * board.{h,cpp} (Board): new name KReversiBoardView
252 * Lots of minor cleanup
253 * DESIGN: (class diagram): new info
255 ----------------- CVS commit on stuff below --------------------
259 2004-10-03 Inge Wallin <inge@lysator.liu.se>
261 * DESIGN: New document
263 ----------------- CVS commit on stuff below --------------------
265 Simplify saving of the game
266 * Game.{h,cpp} (move(uint)): New method.
267 * kreversi.cpp (saveGame): Use the new method, and don't call
268 loadGame to restore the Game object.
270 2004-09-29 Inge Wallin <inge@lysator.liu.se>
272 Continue to make KReversi a proper model/view program:
273 Step I.1 of the plan (see TODO): Fix the class Game
274 * Game.h (Game): Convert to store moves instead of positions.
275 * Game.cpp (Game): Code cleanup and convert as above.
276 * Game.{h,cpp}: Follow naming conventions from the rest of the
278 * Position.{h,cpp}: Follow naming conventions from the rest of the
280 * Position.{h,cpp} (Position::operator=): new method.
281 (Position::makeMove): new method.
283 Added myself in the credits in the about window.
284 (Will add myself to the real authors when we have KGame and
285 network play ready. :-) )
287 2004-09-27 Inge Wallin <inge@lysator.liu.se>
289 Continue to make KReversi a proper model/view program:
290 * Transfer ownership of Game and Engine to kreversi from Board.
291 board.h, board.cpp, kreversi.h, kreversi.cpp: lots of changes.
294 * SuperEngine.h (interrupt): renamed to interrupted()
296 2004-09-26 Inge Wallin <inge@lysator.liu.se>
298 Fix bug 90195: KReversi: Changing the skill level late in a game
299 doesn't count as cheating:
300 * board.h (Board::m_lowestStrength): new member
301 * board.cpp (Board::newGame): set m_lowestStrength
302 * board.cpp (Board::setStrength): update m_lowestStrength and
303 update highscore type.
305 Fix Bug 90190: KReversi: Switch sides and then Undo gets the
307 * board.cpp (doUndo): If it is the computers turn to move after an
308 undo, call computerMakeMove().
309 (doUndo): Fix repainting so that it looks nice.
311 2004-09-25 Inge Wallin <inge@lysator.liu.se>
313 Transfer the rest of the slots for KActions to kreversi.cpp
314 * Board::interrupt() -> KReversi::slotInterrupt()
315 * Board::doContinue() -> KReversi::slotContinue()
317 Rename some slots for clarity
318 * KReversi::switchSides() -> KReversi::slotSwitchSides()
319 * KReversi::showSettings() -> KReversi::slotEditSettings()
321 Make a trivial function inline:
324 2004-09-24 Inge Wallin <inge@lysator.liu.se>
326 Start the work to port KReversi to KGame/Kplayer:
328 Transfer the slots for most KActions to kreversi.cpp
329 * Board::undo() -> KReversi::slotUndo()
330 (Board::doUndo()): Do the real work of undoing.
331 * Board->hint() -> KReversi::slotHint()
332 (Board::showHint): do the actual work of showing the hint.
334 Rename some slots for clarity
335 * KReversi::newGame -> KReversi::slotNewGame
336 * KReversi::openGame -> KReversi::slotOpenGame
337 * KReversi::save -> KReversi::slotSave
339 Make some trivial functions inline:
341 * Board::moveNumber()
342 * Board::score(Color)
343 * Board::interrupted()
346 2004-09-23 Anne-Marie Mahfouf <annemarie.mahfouf@free.fr>
348 Cleaned some previously left lines of code in board.cpp
349 Change CustomAdditions=false back in prefs.kcfg to fix compilation
350 Tested Inges fix and found it works well.
352 2004-09-22 Inge Wallin <inge@lysator.liu.se>
354 Fix bug 89829: "KReversi: When you save a game, the color for
355 Human and Computer is not saved" again. See the discussion on the
356 KDE bugzilla for details
357 (http://bugs.kde.org/show_bug.cgi?id=89829).
358 * board.cpp (Board::saveGame): Save m_humanColor as HumanColor.
359 * Remove saving of the side to move since this is implicit
361 * (Board::loadGame): Fix loading of m_humanColor and
363 * Fix emit of signal turn, and the condition to call
365 * prefs_addons.h: Removed
368 2004-09-18 Anne-Marie Mahfouf (ChangeLog entry by Inge Wallin)
370 Fix bug 89829. (See above, though)
371 * prefs_addons.h: New file
372 * board.cpp (saveGame): Some changes
374 2004-09-18 Inge Wallin <inge@lysator.liu.se>
376 Some cleaning: remove unused members, add m_ to members and some
378 * Engine.h (Engine::lastYield): removed
379 * Board.h (Board::nopaint): removed
380 * kreversi.{h,cpp} (KReversi::board): renamed into m_board.
382 2004-09-17 Inge Wallin <inge@lysator.liu.se>
384 Some further cleanup:
385 * board.{h,cpp} (game, engine, human): renamed into m_game,
386 m_engine and m_humanColor.
388 2004-09-16 Inge Wallin <inge@lysator.liu.se>
390 Support Casual and Competitive play:
391 * SuperEngine.cpp (SuperEngine::computeMove()): new parameter
393 * Engine.cpp (Engine::computeMove()): new parameter 'competitive'
394 * board.cpp (m_competitiveGame): new member
395 (saveGame, loadGame): Save competitive in config file.
396 * kreversi.cpp (slotGameEnded): Only store result in highscore
397 file if the game was competitive all the time.
398 * kreversi.kcfg (CompetitiveGameChoice): new setting
399 * settings.ui: redesigned
402 2004-08-17 Inge Wallin <inge@lysator.liu.se>
404 Finish the big code cleanup:
405 * board.h, board.cpp: cleaned up
406 * highscores.h, highscores.cpp,
407 * kzoommainwindow.h, kzoommainwindow.cpp:
408 Converted to same coding style as rest of kreversi.
411 2004-08-16 Inge Wallin <inge@lysator.liu.se>
413 Continue the big code cleanup:
414 * Engine.h, Engine.cpp
415 * kreversi.h kreversi.cpp
418 2004-08-15 Inge Wallin <inge@lysator.liu.se>
420 Continue the big code cleanup:
421 * SuperEngine.h, SuperEngine.cpp
424 2004-08-14 Inge Wallin <inge@lysator.liu.se>
426 Start of the big code cleanup:
430 * Position.h, Position.cpp
432 Step 2 in the plan to use KGame from libkdegames:
433 * Code cleaning: Add some comments, reduce complexity, improve
435 * Add m_to_move to class Position.
438 Step 1 in the plan to use KGame from libkdegames:
439 * Code cleaning: Change "enum Player" into "enum Color", since that
440 is really what it describes.
442 2004-06-29 (1.5) Nicolas Hadacek <hadacek@kde.org>
443 * use KZoomMainWindow
445 2004-05-29 (1.4) Nicolas Hadacek <hadacek@kde.org>
446 * fix statusbar + cleanup code
447 * use notify framework for sounds
449 1999-06-20 Mario Weilguni <mweilguni@kde.org>
450 * fixed bugs with those damned KStdDirs
451 * removed the private wallpapers and use the KDE ones instead
453 * fixed locating toolbar icons
454 * compiles now with --enable-final
456 1999-06-16 Mario Weilguni <mweilguni@kde.org>
457 * adapted to the upcoming KDE-2
459 1999-02-01 Mario Weilguni <mweilguni@kde.org>
460 * fixed a warning (egcs)
463 * I finally decided that it´s stable enough. This is the final
464 version (if no further bugs are detected and I do not have a
465 good idea what to improve)
470 * [Robert Williams] Changed Reversi.kdelnk to kreversi.kdelnk
471 * [Robert Williams] Add -caption "%c" to kreversi.kdelnk
472 * [Robert Williams] Added kapp->getCaption()
473 * [Robert Williams] getHelpMenu(true, 0) -> Uses own About dialog
475 0.6.5 Support for non GNUC++ compilers.
477 0.6.4 fixed that get-hit-and-then-doubleclick bug
479 fixed a bug that caused the computer to switch sides if no
480 computer move is possible instead of getting another human move
482 0.6.3 sound fix: when the animation is finished, the correct piece gets
483 redrawn before doing a sound-sync (how could I ever believe 0.6.2
484 would be the last change :-)
486 0.6.2 animation fixed (hope this will be the last change)
488 0.6.1 fixed that newly introduced highscore bug
489 computer continues now if a game was saved while thinking
491 0.6: better integration into new FSSTND
492 fixes for new kdecore
493 layout management for all dialogs
495 locale-strings changed - partial translation required for
496 other languages than english and german
497 removed both the kfixedtopwidget and ktablistbox
498 drawing a border around the reversi board
499 session-management - what an overkill for kreversi :-))
500 you can save (and load) exactly ONE game
503 0.5: added klocale to support translation
504 added german translation
506 tried to remove absolute widget placing/sizing
507 removed the date field from the HOF
509 fixed those CPU busy bug
510 removed the -finline-functions optimize flag (not portable)
511 ported to new KDE file system standards (well, mostly)
512 fixed segfaulting on exit
514 0.4: interims release - no changelog
516 0.3: Sound support (using libmediatool)
517 When switching sides, the Quit -> the computer made on move. FIXED
519 Cursor changes when thinking
521 0.2.1: times(NULL) does not work with FreeBSD (fixed)
522 fixed a bug (reported by Stephan Kulow) where pixmaps of pieces
523 are not initialized properly (could't reproduce the bug with
525 New "About" dialog showing all (well, most) of the contributors
526 All xpm's have now 8 bits per color component instead of 16.
527 16 bits seems to confuse the XPM loader of Qt.
531 fixed a small bug: when someone made it in the hall of fame,
532 he was'nt notified of this
533 some improvements in the Hall Of Fame
535 0.1.2: background color selectable via dialog
536 background pixmaps implemented, selectable via menu
537 background pixmaps are scaled to fit size
538 pieces are drawn at runtime instead of pixmaps
539 some accelerators added
540 toolbar buttons for help and hint added
542 0.1.1: now pixmaps are installed
543 a kdelnk file is installed
544 version numbering changed