bugClanLib - Bugs: bug #4851, SpritePacker goes into an endless...


bug #4851: SpritePacker goes into an endless loop

Submitted by:  Ingo Ruhnke <grumbel>
Submitted on:  Tue 19 Aug 2003 11:48:01 PM UTC  
Category:  clanDisplay Severity:  3 - Normal
Item Group:  Crash Error Status:  None
Privacy:  Public Assigned to:  Kenneth Gangstoe <sphair>
Open/Closed:  Open Release:  0.7-CVS
Operating System:  All Planned Release:  0.7.4

Add a New Comment(Rich Markup)

You are not logged in

Please log in, so followups can be emailed to you.


Sun 14 Sep 2003 04:26:30 PM UTC, comment #5:

Managed to duplicate this behaviour. It happens when the surface is exact the same or one less than the max texture size. Will look into this.

Kenneth Gangstoe <sphair>
Project AdministratorIn charge of this item.
Sat 13 Sep 2003 12:56:56 AM UTC, comment #4:

I see some code added for this, could you please check if this bug still applies?

Kenneth Gangstoe <sphair>
Project AdministratorIn charge of this item.
Thu 21 Aug 2003 09:53:00 AM UTC, comment #3:

Note to self: Make sure sprite packer dont pack single frames. Also textures at edges dont need extra width.

Kenneth Gangstoe <sphair>
Project AdministratorIn charge of this item.
Wed 20 Aug 2003 11:32:17 AM UTC, comment #2:

Could you add the offending sprite to the resources in the sprite Test in clanlib?

Wed 20 Aug 2003 08:04:28 AM UTC, comment #1:

I'll look into it next week. It should first of all use the max-texture-size from OpenGL, and not a fixed 1024 :)

Kenneth Gangstoe <sphair>
Project AdministratorIn charge of this item.
Tue 19 Aug 2003 11:48:01 PM UTC, original submission:

The SpritePacker gets stuck in an endless loop in Advent at line sprite_packer.cpp:125, backtrace follows below. This might be because Advent uses very large sprites, larger than what the gfx card can support (2048x600 or something like that)

(gdb) where
#0 0x4038cb53 in _List_iterator (this=0xbfffe1f0, __x=0x81ae800)
at /usr/include/c++/3.2/bits/stl_list.h:127
#1 0x4038c648 in std::list<std::pair<int, CL_Rect>, std::allocator<std::pair<int, CL_Rect> > >::end() (this=0x8241588)
at /usr/include/c++/3.2/bits/stl_list.h:373
#2 0x4038c185 in CL_SpritePacker::pack(int, int, int, int, int) (
this=0xbfffe3e0, max_width=1024, max_height=1024, min_width=16,
min_height=16, max_textures=-1) at sprite_packer.cpp:125
#3 0x40390684 in CL_Sprite (this=0xbfffe4b0, spritedescription=@0xbfffe4a0,
pack_texture=true) at sprite.cpp:64
#4 0x402d9393 in SurfaceSprite (this=0x8241018, arg_filename=
{static npos = 4294967295, _M_dataplus = {<allocator<char>> = {<No data fields>}, _M_p = 0x81ae76c "images/park.jpg"}, static _S_empty_rep_storage = {0, 0, 2, 0}}) at SurfaceSprite.cxx:57
#5 0x402da363 in SurfaceSprite::scm_surface_sprite_create(scm_unused_struct*)
(name=0x4351eb88) at SurfaceSprite.cxx:186

Ingo Ruhnke <grumbel>
Project Administrator


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


CC list is empty


Do you think this task is very important?
If so, you can add your encouragement to it.
This task has 0 encouragements so far.

Only logged-in users can vote.




Follow 3 latest changes.

Date Changed by Updated Field Previous Value => Replaced by
2003-09-11 grumbel Planned ReleaseNone => (Error - Not Found)
2003-08-21 sphair Operating SystemGNU/Linux => (Error - Not Found)
2003-08-20 sphair Assigned toNone => NA

Back to the top

Powered by Savane 3.3