[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