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: clanDisplaySeverity: 3 - Normal
Item Group: Crash ErrorStatus: None
Privacy: PublicAssigned to: Kenneth Gangstoe <sphair>
Open/Closed: OpenRelease: 0.7-CVS
Operating System: AllPlanned 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 File(s):

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 click here to add your encouragement to it.
This task has 0 encouragements so far.

Only logged-in users can vote.


Please enter the title of George Orwell's famous dystopian book (it's a date):



Follow 3 latest changes.

Date Changed By Updated Field Previous Value => Replaced By
Thu 11 Sep 2003 09:31:22 AM UTCgrumbelPlanned ReleaseNone=>(Error - Not Found)
Thu 21 Aug 2003 09:53:00 AM UTCsphairOperating SystemGNU/Linux=>(Error - Not Found)
Wed 20 Aug 2003 10:08:45 AM UTCsphairAssigned toNone=>NA

Back to the top

Powered by Savane 3.1-cleanup1