Hi Jeremy,
Thank you for your report. About your bugfix, it's something like
that ? ...

    114 void TileItem_AlphaSoftware::Dig(const Point2i &position, const
Surface& dig) {
    115     need_check_empty = true;
    ...        ...
    120 
    121     for (int py = starting_y ; py < ending_y ; py++) {
    122         for (int px = starting_x ; px < ending_x ; px++) {
    123             if ( *(Uint32 *)(dig.GetPixels() +
(py-position.y)*dig.GetPitch() + (px-position.x) * 4) != 0) {
    124                 *(Uint32 *)(m_surface.GetPixels() +
py*m_surface.GetPitch() + px * 4) = 0;
    125             }
    126         }
    127     }
    128 }


Le dimanche 16 mai 2010 à 20:48 -0700, Jeremy Hiatt a écrit :
> Hi all,
> 
> First off, thanks for making this game! It's really fun.
> 
> I came across a really strange bug where the airhammer doesn't dig.  
> The sound effects and animation run but no hole appears in the ground.  
> I'm running Wormux 0.9.2 on a PowerPC Mac (PowerBook G4 laptop running  
> OS X 10.5). The issue appears both in the 0.9.2 binary I downloaded  
> from the website, and a version I built from SVN trunk.
> 
> I think I tracked down the source of the bug. It appears in src/map/ 
> tileitem.cpp, in the TileItem_AlphaSoftware::Dig function. I believe  
> the problem is with endianness. I was able to fix the issue by taking  
> out the (+ 3) from the pixel indexing, and then casting the pointer  
> type to a (Uint32 *) so it would read/write the whole 32-bit value  
> instead of looking at the wrong byte.
> 
> Please let me know if anything in my description of the problem/ 
> solution was unclear.
> 
> -Jeremy
> 
> _______________________________________________
> Wormux-dev mailing list
> Wormux-dev@gna.org
> https://mail.gna.org/listinfo/wormux-dev



_______________________________________________
Wormux-dev mailing list
Wormux-dev@gna.org
https://mail.gna.org/listinfo/wormux-dev

Répondre à