From: Temujin Newsgroups: comp.os.msdos.djgpp Subject: Re: Allegro -- Direct copying of RLE sprites Date: Wed, 27 Aug 1997 10:33:26 -0700 Organization: Sentex Communications Lines: 38 Message-ID: <340464E6.4674@sentex.net> References: <34034596 DOT 157 AT indy DOT net> NNTP-Posting-Host: 207.245.212.213 Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk Chris Frolik wrote: > > Is there a fast and easy way to copy RLE sprites? If anyone has written > a function to do this, I'd appreciate some help. The way I am using now > is slow and tedious. For example: > > /* copy_rle_sprite(sprite) -- returns a copy of sprite. This does more > * than just copy the pointers -- it copies the data they point to. > */ > > RLE_SPRITE *copy_rle_sprite(RLE_SPRITE *sprite) > { > RLE_SPRITE *new_sprite; > BITMAP *temp = create_bitmap(sprite->w, sprite->h); > if (!temp) return NULL; > > clear(temp); > draw_rle_sprite(temp, sprite, 0, 0); > > new_sprite = get_rle_sprite(temp); > destroy_bitmap(temp); > return new_sprite; > } > > I know this method of creating a bitmap is disgusting and slow. Is > there a faster way to avoid the "middle-man" and just copy from one > RLE_SPRITE to another? > > Thanks, > -Chris Couldn't you just do something like, after assigned sprite as an RLE_SPRITE and giving it an image just do like. RLE_SPRITE *newsprite newsprite=sprite That would assign the pointer over to it, just a thought, haven't tried it.