Opened 13 years ago

Closed 7 years ago

Last modified 8 months ago

#8567 closed patch (outdated)

AdvMame4x and Normal4x

Reported by: SF/mbandsmer Owned by:
Priority: normal Component: Graphics: Scalers
Keywords: Cc:


This fixes the pre-existing scale4x code and enables it
for the SDL backend. Also provided is a trivial
Normal4x scaler for comparison.

I also added the #define MAX_SCALER_REACH to make it
clearer where in the code extra borders are required
because of scalers which access surrounding pixels.
(Before, an implied constant of 1 was used in several

Ticket imported from: #1536248. Ticket imported from: patches/672.

Attachments (1)

scummvm-advmame4x.patch (14.4 KB) - added by SF/mbandsmer 13 years ago.
Patch against current SVN

Download all attachments as: .zip

Change History (6)

Changed 13 years ago by SF/mbandsmer

Attachment: scummvm-advmame4x.patch added

Patch against current SVN

comment:1 Changed 13 years ago by lordhoto

I just took a quick look at your code but here are some
things I noticed:

1) missing cursor scaler(s) (check cursor target scale and
the 1.5x scaler for that).

2) MAX_SCALER_REACH looks a bit hacked, not more than the
old approach but this should definitly be fixed in a nice
and clean way instead of this solution IMHO, I think fixing
the scalers to not rely on such things would be the best
way, this is of course a long standing 'problem', but that
you need to add "MAX_SCALER_REACH" brings it up again.

3) changing cursor_targetScale to 4 instead of 3 is just a
nasty hack to work around 1, at least it looks like a hack,
since the cursor image didn't change.

Apart from that it looks nice, but these things should be
fixed IMHO before we consider commiting this. Also our
opinion on adding new scalers isn't quite the best, maybe it
would be wiser to start a discussion on scummvm-devel or
here on this instead of fixing this now and a rejection in
the end.

comment:2 Changed 13 years ago by fingolfin

Re 2): There is no way to "fix" this issue, unless you mean to restrict us to
full-screen updates only (as opposed to the current system where a subset of
the screen can be updated, i.e. we support a "dirty rects list"). The scalers
simply *need* to look at neighboring pixels to scale them correctly.

Re 1+3): Aye, nasty hacks, though one could live with those.

Note: This comment does not imply that I endorse this patch.

comment:3 Changed 7 years ago by bluegr

As suggested by singron, this has been added in his GSoC pull request here:

Thus this patch is now obsolete, and will be eventually merged together with the rest of singron's changes.

Closing as out of date, and changing the group to GSoC

comment:4 Changed 7 years ago by bluegr

Resolution: outdated
Status: newclosed

comment:5 Changed 8 months ago by digitall

Component: Graphics: Scalers
Note: See TracTickets for help on using tickets.