Path: chuka.playstation.co.uk!news From: Chris Chadwick Newsgroups: scee.yaroze.programming.libraries Subject: Re: MoveImage() M.O. Date: Sat, 21 Mar 1998 00:11:24 -0800 Organization: PlayStation Net Yaroze (SCEE) Lines: 78 Message-ID: <3513762C.7432@dial.pipex.com> References: <350F9A4B.2062@dial.pipex.com> <6eqlpq$l5r13@chuka.playstation.co.uk> NNTP-Posting-Host: ae195.du.pipex.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Mailer: Mozilla 2.02 (Win95; I; 16bit) SCEE wrote: > > Hi Chris, > > Using MoveImage that way is fine as the libs copy the rect structure > internally. Brill! I was hoping that was the case. Thanks, Colin. -Chris > ( Incidentally you could do something similar using fast sprites, as once > you have issued the GsSort.. call you can then freely change the structure ) > > Cheers, > > Colin. > > Chris Chadwick wrote in message <350F9A4B.2062@dial.pipex.com>... > >Hi, > > > >I currently need to display a sprite object in my game which is > >effectively a small text box. I'm doing this by copying (with MoveImage) > >each text character to the box sprite image in VRAM, from a font image > >located elsewhere in VRAM. I actually copy a single character image AND > >a cursor image once every couple of vsyncs, to give a 'computer read-out' > >type effect. I'm doing it this way as I obviously dont want to have a > >separate sprite for each character etc! > > > >So, the basic run of events within the main game loop is: > > > > game loop start > > . > > . > > . > > MoveImage() // to copy character image to box sprite image > > . > > MoveImage() // to copy cursor image to box sprite image > > . // Note: I dont/cant use a DrawSync() > > . // after either MoveImage() call > > . > > DrawSync() > > Vsync() > > GsSwapDispBuff() > > GsDrawOT() > > . > > . > > . > > game loop end > > > >I modify the source RECT used by the first MoveImage and use it with the > >second MoveImage. This seems to work BUT, isn't it possible I will have > >modified the RECT variable BEFORE the first MoveImage operation is done, > >as it is non-blocking? Or, does each MoveImage call keep it's own working > >copy of the RECT variable passed to it? I assume some such mechanism is > used > >as when each MoveImage call is made (as above) the GPU will be busy > >because of the last GsDrawOT call, so the 2 MoveImage operations will > >be delayed until AFTER the GPU has finished drawing. Is this right? > >Is it QUARANTEED that any MoveImage call issued AFTER a GsDrawOT will > >be delayed until the GPU has finished drawing ALL the OT objects? > >I dont want to be altering a sprite image while/before the GPU has used > >that image in drawing the previous frame (if you see what I mean!?) > > > >I hope that lot makes some kind of sense to someone. :) > >I quess, what I'm asking in essence is: How and when, EXACTLY, are > >MoveImage operation requests stored and subsequently dealt with by the GPU? > > > >As I say, everything SEEMS to be working fine the way it is (things that > >run first go give me an uneasy feeling :) I just want to be sure that > >things wont go pear-shaped somewhere down the line. > > > >Thanks in advance! > > > >-Chris