<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://svn.reviewboard.kde.org/r/6950/">http://svn.reviewboard.kde.org/r/6950/</a>
     </td>
    </tr>
   </table>
   <br />





 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">First impressions: that was quick. However, I think porting to KGameRenderer and QGV might involve more than replacing one class and method by another class and method, wherever they occur. KBounce is a very old KDE Game, at least 10 years. It might need cleaning up a little.

The patch compiles and builds OK, except for four warning messages (in four classes) of the form:

/opt/local/include/QtGui/qgraphicsitem.h:323: warning: ‘virtual void QGraphicsItem::advance(int)’ was hidden
/kdedev/kdegames/kbounce/ball.h:61: warning:   by ‘void KBounceBall::advance()’

I think this is also a warning in the KGameCanvas version. It worries me because advance() is a key method in several animated games.

Unfortunately the ported KBounce game does not run at all on my platform. It starts off with a black rectangle in place of the startup message, as also happened with the pre-port version on my platform. Not to worry for now (we will solve that later).  Also the following error messages appear at startup:

kbounce(8697)/KSharedDataCache ensureFileAllocated: This system misses support for posix_fallocate() -- ensure this partition has room for at least 3164256 bytes. 
kbounce(8697)/KSharedDataCache: Unable to find an appropriate lock to guard the shared cache.  This *should* be essentially impossible. :( 
kbounce(8697)/KSharedDataCache: Unable to perform initial setup, this system probably does not really support process-shared pthreads or semaphores, even though it claims otherwise. 
kbounce(8697)/KSharedDataCache: Unable to unmap shared memory segment 0x109174000 
kbounce(8697)/libkdegames KGameRendererPrivate::setTheme: Theme newer than cache, checking SVG

Play starts when you click, but in the ported version the balls are jammed into the top left corner of the view and sit there pulsating but not moving much. It looks like a shrunken picture of the proper ball movement, but with the balls leaving worm-like tracks wherever they go.
 
Then when I click to build a wall, the game crashes.

I can change themes from Egyptian to Oxygen OK, but it reverts to Egyptian on the next test run. I guess KgTheme[Provider] does not save the theme ID as it changes but maybe on normal termination only, not if there is a crash.

I think the problems may be because you are using KGameRendererClient and something is going wrong there - maybe in the library itself or maybe in the way you use it. Can you try not using the asynchronous, multi-threaded part of KGameRenderer for now?

My platform: Apple Macbook Pro, OS X 10.7.3 (Lion), Macports Qt4-Mac 4.7.4, Macports kdelibs4 4.8.1, trunk KDE Games as at 28 April 2012.
</pre>
 <br />







<p>- Ian</p>


<br />
<p>On April 28th, 2012, 1:27 a.m., Roney Gomes wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://svn.reviewboard.kde.org/media/rb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for KDE Games.</div>
<div>By Roney Gomes.</div>


<p style="color: grey;"><i>Updated April 28, 2012, 1:27 a.m.</i></p>






<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Following the timeline defined in my proposal, here is the port of the first game.</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I observed the game under the following conditions:
- Before the first match
- During a match
- Closing a match</pre>
  </td>
 </tr>
</table>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>/trunk/KDE/kdegames/kbounce/ball.h <span style="color: grey">(1292137)</span></li>

 <li>/trunk/KDE/kdegames/kbounce/ball.cpp <span style="color: grey">(1292137)</span></li>

 <li>/trunk/KDE/kdegames/kbounce/board.h <span style="color: grey">(1292137)</span></li>

 <li>/trunk/KDE/kdegames/kbounce/board.cpp <span style="color: grey">(1292137)</span></li>

 <li>/trunk/KDE/kdegames/kbounce/gamewidget.h <span style="color: grey">(1292137)</span></li>

 <li>/trunk/KDE/kdegames/kbounce/gamewidget.cpp <span style="color: grey">(1292137)</span></li>

 <li>/trunk/KDE/kdegames/kbounce/wall.h <span style="color: grey">(1292137)</span></li>

 <li>/trunk/KDE/kdegames/kbounce/wall.cpp <span style="color: grey">(1292137)</span></li>

</ul>

<p><a href="http://svn.reviewboard.kde.org/r/6950/diff/" style="margin-left: 3em;">View Diff</a></p>




  </td>
 </tr>
</table>








  </div>
 </body>
</html>