[Kde-games-devel] Review Request: Port KNetWalk to use QGraphicsView and KGameRenderer
Brian Croom
brian.s.croom at gmail.com
Thu Sep 9 08:51:04 CEST 2010
> On 2010-09-05 20:05:06, Stefan Majewsky wrote:
> > I test-compiled, but all I got is a completely blank (as in #FFFFFF) view. Probably something is wrong with the diff; I got a merge conflict in mainwindow.cpp (at the instantiation of m_view) while all other patches I got from you up to now did always apply cleanly.
>
> Parker Coates wrote:
> It patches cleanly here. Do you have local changes, maybe?
>
> Stefan Majewsky wrote:
> No, I checked git-status before applying the patch. If it patches cleanly on your site, does it work when compiled?
Ok, I think I've got this issue figured out.
Following KMines, the patch simply passes in Settings::theme() when constructing the KGameRenderer, however kblocks.kcfg has no default value for the theme, so no theme is loaded. I believe that the proper fix for this is to add a default value to the config file, correct? Alternatively, should KGameRendererPrivate::setTheme() call KGameTheme::loadDefault() when it receives 0-length theme string instead of just bailing?
Note that this bug affects KMines as well: deleting kminesrc from the config directory and then running the game results in no theme being loaded and thus a blank view.
- Brian
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://svn.reviewboard.kde.org/r/5238/#review7415
-----------------------------------------------------------
On 2010-09-02 22:36:16, Brian Croom wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://svn.reviewboard.kde.org/r/5238/
> -----------------------------------------------------------
>
> (Updated 2010-09-02 22:36:16)
>
>
> Review request for KDE Games and Stefan Majewsky.
>
>
> Summary
> -------
>
> As KNetWalk's use of QWidget as its graphics stack was marked in red on the porting status wiki page, and because I wanted to see if I had acquired a good enough working understanding of the QGraphicsView framework to be able to accomplish it, I decided to attempt a full port of this game. I referred to the KMines source while restructuring the code, as it has various conceptually similar elements (a grid with square cells that are activated by the user during gameplay, etc.)
>
> Doing this required some rather invasive changes to the GUI code. In addition to switching to QGraphicsView, this patch also:
> - Removes the distinction between mouse and keyboard input modes. They now work together nicely, as they should.
> - Adds the ability to pause the game, and hide the puzzle while it is paused.
> - Cleans up code in various places and removes a number of obsolete class members that I presume to have been vestiges from before the KDE port.
>
> My only disappointment is that switching to QGraphicsView did not get rid of the rendering artifacts that often appear when the cables are being rotated. Particularly on the cells with T-shaped cable junctions, white pixels often appear at the edge of the pixmap during the rotation animation. I would greatly appreciate any suggestions for how to avoid that happening.
>
>
> Diffs
> -----
>
> /trunk/KDE/kdegames/knetwalk/src/fielditem.cpp PRE-CREATION
> /trunk/KDE/kdegames/knetwalk/src/fielditem.h PRE-CREATION
> /trunk/KDE/kdegames/knetwalk/src/cell.cpp 1168585
> /trunk/KDE/kdegames/knetwalk/src/CMakeLists.txt 1168585
> /trunk/KDE/kdegames/knetwalk/src/abstractgrid.h 1168585
> /trunk/KDE/kdegames/knetwalk/src/abstractgrid.cpp 1168585
> /trunk/KDE/kdegames/knetwalk/src/cell.h 1168585
> /trunk/KDE/kdegames/knetwalk/src/gamewidget.h PRE-CREATION
> /trunk/KDE/kdegames/knetwalk/src/gamewidget.cpp PRE-CREATION
> /trunk/KDE/kdegames/knetwalk/src/globals.h 1168585
> /trunk/KDE/kdegames/knetwalk/src/knetwalk.kcfg 1168585
> /trunk/KDE/kdegames/knetwalk/src/knetwalkui.rc 1168585
> /trunk/KDE/kdegames/knetwalk/src/main.cpp 1168585
> /trunk/KDE/kdegames/knetwalk/src/mainwindow.h 1168585
> /trunk/KDE/kdegames/knetwalk/src/mainwindow.cpp 1168585
> /trunk/KDE/kdegames/knetwalk/src/renderer.h 1168585
> /trunk/KDE/kdegames/knetwalk/src/renderer.cpp 1168585
>
> Diff: http://svn.reviewboard.kde.org/r/5238/diff
>
>
> Testing
> -------
>
> I have come to enjoy playing this game quite a lot, and have given it considerable testing. All the usual things seem to work well including resizing, theme changes, changing difficulty level, and pausing/resuming.
>
>
> Thanks,
>
> Brian
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/kde-games-devel/attachments/20100909/d16c051c/attachment.htm
More information about the kde-games-devel
mailing list