Hi,

I fix some bugs in Wormux.

1) Dig a hole

I re-used old code from Wormux 0.4. The ground is now splitted in small
cells (256x256 pixels) : that's really better for GPU. I optimized
lock()/unlock() functions. Finally I play with 50-60 fps with no more
troubles.

I make a big cleanup of the code : CL_Canvas is not more used, and I use
a class instead of a lot of variables for each item. I also remove
refresh() function, because surface upload is managed very differently
in new code.

2) Pause

I remove disconnecting signal when we want to ask a question in
game.cpp. Now, it works well on my computer (pause function).

3) And ?

Something before 0.5 ?

Yes : we should also cut the sky into small parts (re-use code from
ground) because 1600x1200 texture is too big for GPU.

---

<for your information>
Be careful of surface & pixel buffer : in ClanLib 0.6, each surface were
stored it's own memory block. Now (with OpenGL), surfarces are stored in
the video card memory. The video card only accept size like 2, 4, 8,
..., 2^n (but width and height can be different).

ClanLib also "pack" two or more surfaces in the same texture (e.g. for
sprite). So, CL_Surface::get_width() is not equal to
CL_PixelBuffer:get_width() !!! (this was a bug in my old "clipping.cpp"
code (new "tile.cpp")).

CL_Sprite::get_frame_surface() doesn't return the surface, but the GPU
texture.
</for your information>

Bye, Haypo


Répondre à