[Kde-games-devel] KMahjongg archaeology

Ian Wadham iandw.au at gmail.com
Sun Jan 4 09:22:39 UTC 2015


Hi Alberto, and Christian if you are out there,

Back in mid-2012 Christian Krippendorf did a lot of work on KMahjongg
to port the game from the obsolete and now-deprecated graphics system,
KGameCanvas, to the standard Qt graphics system, QGraphicsView.

KGameCanvas was a home-grown graphics library which was used for
a time by some KDE Games, after they were ported to KDE 4 and Qt 4
in 2007-2008, because the official Qt 4 graphics system (QGraphicsView)
was simply not fast enough, in its early releases, to keep up with the
animation in those games.  KGoldrunner was another game affected.
So I know a bit about what happened and why.

By 2012, QGraphicsView had matured and there was a big push, in KDE
Games to get games ported to newer and more-standard software.  For
example, Roney did a GSoC assignment in which he ported KGoldrunner
and some other games.  Around September 2012, KDE Games moved
from SVN to GIT.  Christian had been developing on a SVN branch.

AFAIK all his commits on the SVN branch were copied into a GIT branch
called "qgraphic" on the central KMahjongg repository, but that branch
apparently was never merged into "master".  Consequently, I believe,
KMahjongg is still using the obsolete and deprecated KGameCanvas
library.  The two relevant threads I dug up in the archive begin as follows:

    Port of KMahjongg    2012-07-22 19:47:14
    http://lists.kde.org/?l=kde-games-devel&m=134298673514689&w=2

    KMahjongg git           2012-09-21 7:50:50
    http://lists.kde.org/?l=kde-games-devel&m=134821387124389&w=2

Also, there is this review request which might contain useful code:

    Review Request: kmahjongg: Feature Request of a fast selection when selecting unmatch tiles
    https://svn.reviewboard.kde.org/r/6836/

I do not know how complete, reviewed and tested Christian's code is,
but he certainly put in a lot of work on it.  I succeeded in compiling,
building and installing it at first try, even though I have KDE 4.14 libs
and the "qgraphic" branch of KMahjongg was originally written for
around KDE 4.8 library.

I played a few games with different layouts with no problem and
the graphics were certainly a lot snappier than I am getting on the
released version of KMahjongg, especially on theme changes,
resizes of the main window and animations.  On the whole, Christian's
code works very well.  I have a sneaking suspicion that Christian's
branch might also have fixed some of the bugs Jan-Peter Nilsson has
been working on… :-(

So now we have divergent streams of work on KMahjongg:

  - A released version of KMahjongg, using obsolete graphics,
  - Laurent's port of existing KMahjongg to KF5, using obsolete graphics,
  - Christian's port of KMahjongg to QGraphicsView --- branch "qgraphic", unmerged,
  - The patch in the above ReviewBoard entry,
  - A whole slew of Jan-Peter Nilsson's patches on Bugzilla and ReviewBoard,
    some of which may clash with Christian's "qgraphic" branch.

What to do?  I really hate to see good work slipping away.

All the best, Ian W.



More information about the kde-games-devel mailing list