Opened 14 years ago

Closed 8 years ago

Last modified 20 months ago

#8567 closed patch (outdated)

AdvMame4x and Normal4x

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

Description

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 places.)

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

Attachments (1)

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

Download all attachments as: .zip

Change History (6)

by SF/mbandsmer, 14 years ago

Attachment: scummvm-advmame4x.patch added

Patch against current SVN

comment:1 by lordhoto, 14 years ago

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 by fingolfin, 14 years ago

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 by bluegr, 8 years ago

As suggested by singron, this has been added in his GSoC pull request here: https://github.com/scummvm/scummvm/pull/271

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 by bluegr, 8 years ago

Resolution: outdated
Status: newclosed

comment:5 by digitall, 20 months ago

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