Improved init_row_map routine
This commit is contained in:
parent
c20e080244
commit
ccd65acb1f
1 changed files with 22 additions and 7 deletions
|
@ -70,8 +70,6 @@ bool aga_mode; /* mirror of chipset_mask & CSMASK_AGA */
|
||||||
coordinates have a lower resolution (i.e. we're shrinking the image). */
|
coordinates have a lower resolution (i.e. we're shrinking the image). */
|
||||||
static int res_shift;
|
static int res_shift;
|
||||||
|
|
||||||
extern SDL_Surface *prSDLScreen;
|
|
||||||
|
|
||||||
/* Lookup tables for dual playfields. The dblpf_*1 versions are for the case
|
/* Lookup tables for dual playfields. The dblpf_*1 versions are for the case
|
||||||
that playfield 1 has the priority, dbplpf_*2 are used if playfield 2 has
|
that playfield 1 has the priority, dbplpf_*2 are used if playfield 2 has
|
||||||
priority. If we need an array for non-dual playfield mode, it has no number. */
|
priority. If we need an array for non-dual playfield mode, it has no number. */
|
||||||
|
@ -1662,13 +1660,30 @@ static void pfield_doline (int lineno)
|
||||||
|
|
||||||
void init_row_map (void)
|
void init_row_map (void)
|
||||||
{
|
{
|
||||||
int i, j;
|
static uae_u8 *oldbufmem;
|
||||||
|
static int oldheight, oldpitch;
|
||||||
|
int i, j;
|
||||||
|
|
||||||
j = 0;
|
// if (gfxvidinfo.outheight > MAX_VIDHEIGHT)
|
||||||
for (i = gfxvidinfo.outheight; i < MAX_VIDHEIGHT + 1; i++)
|
// {
|
||||||
row_map[i] = row_tmp;
|
// write_log(_T("Resolution too hight, aborting\n"));
|
||||||
for (i = 0; i < gfxvidinfo.outheight; i++, j += gfxvidinfo.rowbytes)
|
// abort();
|
||||||
|
// }
|
||||||
|
|
||||||
|
if (oldbufmem && oldbufmem == gfxvidinfo.bufmem &&
|
||||||
|
oldheight == gfxvidinfo.outheight &&
|
||||||
|
oldpitch == gfxvidinfo.rowbytes)
|
||||||
|
return;
|
||||||
|
|
||||||
|
j = oldheight == 0 ? MAX_VIDHEIGHT : oldheight;
|
||||||
|
for (i = gfxvidinfo.outheight; i < MAX_VIDHEIGHT + 1 && i < j + 1; i++)
|
||||||
|
row_map[i] = row_tmp;
|
||||||
|
for (i = 0, j=0; i < gfxvidinfo.outheight; i++, j += gfxvidinfo.rowbytes)
|
||||||
row_map[i] = gfxvidinfo.bufmem + j;
|
row_map[i] = gfxvidinfo.bufmem + j;
|
||||||
|
|
||||||
|
oldbufmem = gfxvidinfo.bufmem;
|
||||||
|
oldheight = gfxvidinfo.outheight;
|
||||||
|
oldpitch = gfxvidinfo.rowbytes;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void init_aspect_maps (void)
|
static void init_aspect_maps (void)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue