50 Commits

Author SHA1 Message Date
Max Horn
a02c13a52e fix scaler compilation for MSVC6. However, the produced code stll seems to be incorrect... Jamieson, maybe the MSVC6_COMPAT should be re-added then after all?
svn-id: r10552
2003-10-02 23:29:58 +00:00
Max Horn
7ccafa467c synced hq2x with upstream changes; some performance tweaks to hq2x/hq3x (I think for bigger speed improvement we'd have to use ASM (with C++ fallback of course)...
svn-id: r10494
2003-09-29 23:34:43 +00:00
Max Horn
c40e7d68a5 templatized more of the scalers; also introduced template struct ColorMasks (shortens/simplifies other code a bit)
svn-id: r10489
2003-09-29 18:38:51 +00:00
Max Horn
4a7385b4e7 split out scalers into separate source files in common/scaler; some optimizations (in particular, the hq2x/hq3x scalers now are compiled into two versions, one for 555 and one for 565 mode)
svn-id: r10488
2003-09-29 16:02:47 +00:00
Max Horn
1d40ce68c2 get rid of explicit redMask/blueMask and use redBlueMask instead (this will be useful should we choose to templatize the scalers for 555/565 mode optimizations)
svn-id: r10451
2003-09-27 23:59:09 +00:00
Max Horn
b2b9a7cb07 cheak doxygen comments
svn-id: r10448
2003-09-27 23:11:26 +00:00
Jamieson Christian
44c0654ffd Fixed template function compile quirks under MSVC6.
Apparently MSVC6 does not like overloading of template
functions when the template arguments vary between
versions of the overloaded function. I replaced
interpolate16 with functions that have two different
names, so MSVC6 won't see them as being the same
function with [it insists] the same number of template
arguments.

svn-id: r10446
2003-09-27 22:53:24 +00:00
Max Horn
e032e79a4a added hq2x scaler (no, I am not going to add hq4x anytime soon. It would be another 4-5000 lines of code, and scaler.cpp already takes far too long to compile. Maybe we should seperate the scalers into several files in common/scaler/ ?)
svn-id: r10438
2003-09-27 21:19:17 +00:00
Max Horn
d87f65ff06 added a FIXME (regarding optimization) to INTERPOLATE; added new template function interpolate16 which is used by hq3x (advantage of the old trick which abused Q_INTERPOLATE: smaller & better optimized code; very easy to adapt the function for other uses, like for hq2x/hq3x. Drawback: scaler.cpp takes even longer to compile now :-)
svn-id: r10433
2003-09-27 18:09:50 +00:00
Max Horn
8a5e6289a5 use our own ABS instead of the math.h abs(); some tweaks
svn-id: r10363
2003-09-22 23:29:47 +00:00
Max Horn
ab1c58c1b1 fixed InitLUTs for 555 mode; some tweaks
svn-id: r10354
2003-09-21 17:56:11 +00:00
Torbjörn Andersson
14813704ae Applied ScummVM formatting conventions
svn-id: r10349
2003-09-21 15:46:27 +00:00
Max Horn
74e3448a4c added HQ3x filter
svn-id: r10346
2003-09-21 12:10:32 +00:00
Jochen Hoenicke
c9ece33b81 Fixed aspect ratio scaler
svn-id: r9723
2003-08-16 11:00:13 +00:00
Max Horn
0df319e952 #include cleanup (explicityl specify the location for headers from common/, so that we at some point can get rid of -Icommon; exception is made for stdafx.h, since a) we might want to rename it and b) might want to move it to the top level)
svn-id: r9359
2003-08-01 12:21:04 +00:00
Max Horn
a7391d0a9a Rest of patch #774556 (small optimization for aspect ratio correction)
svn-id: r9103
2003-07-21 00:07:27 +00:00
Max Horn
dcbd402670 added TODOs; made switching between asepct modes a bit nice; made scale a template parameter to help compile optimizations
svn-id: r9074
2003-07-19 11:35:01 +00:00
Max Horn
621e356b42 don't default to the slowest aspect ratio correcter; rather use the medium one (good quality with acceptable speed)
svn-id: r8715
2003-07-02 14:47:06 +00:00
Max Horn
71ea8f7228 fix the inaccurate version of interpolate5Line to work correctly for odd widths
svn-id: r8628
2003-06-22 17:32:50 +00:00
Max Horn
31bdf9f450 undoing this optimization: despite my initial sureness about this being correct - I was wrong :-) just plug in 0xFFFFFFFF to see it (roughly spoken, we can loose the uppermost bits if we shift after the addition instead of before it)
svn-id: r8627
2003-06-22 17:29:55 +00:00
Paweł Kołodziejski
288f101bc9 fixed warning
svn-id: r8623
2003-06-22 15:06:48 +00:00
Torbjörn Andersson
160c4f9104 Fixed the last (?) glitches around the mouse cursor [*] in aspect-ratio
correction mode by making sure that dirty rects always start on a line
that won't have its colours changed by the stretching function. This was
probably only noticeable when using the 1x scaler.

[*] Actually, the glitches weren't specific to the mouse cursor, but it was
    useful for triggering them.

svn-id: r8621
2003-06-22 14:59:21 +00:00
Bertrand Augereau
7e86b215bb Rearranged logic in SuperEagle
svn-id: r8620
2003-06-22 14:52:34 +00:00
Torbjörn Andersson
53d679bfb7 Fix some graphics glitches that would sometimes be visible around the mouse
cursor in aspect-ratio correction mode.

svn-id: r8618
2003-06-22 14:41:09 +00:00
Max Horn
2aa0a86038 cleanup
svn-id: r8616
2003-06-22 14:36:12 +00:00
Paweł Kołodziejski
9d09b77f21 fixed warnings
svn-id: r8613
2003-06-22 14:30:32 +00:00
Max Horn
e7c3fae1e8 no need to keep these regression tests: the changes are mathematically and operationally (read: taking into account side effects and special cases in computer arithmetics) equivalent to the old code
svn-id: r8606
2003-06-22 12:03:24 +00:00
Max Horn
11ff7fe9a3 Patch #757827: Aspect-ratio correction
svn-id: r8605
2003-06-22 11:55:40 +00:00
Bertrand Augereau
fa184730af Reduced the number of shifts in highly used functions in Super2xSaI and SuperEagle
svn-id: r8604
2003-06-22 11:52:40 +00:00
Max Horn
01cb6e2ab9 indention
svn-id: r8447
2003-06-12 15:20:58 +00:00
Jamieson Christian
167ad2575a Fixed MSVC warning
svn-id: r8431
2003-06-11 05:08:41 +00:00
Max Horn
f36459f8ba cleanup
svn-id: r8429
2003-06-10 16:25:49 +00:00
Max Horn
c5ea0839ef as Bertrand points out, using && introduces unnecessary branching, so & is better
svn-id: r7979
2003-05-25 23:33:24 +00:00
Max Horn
35f8c2202f cleanup / added some more const qualifiers
svn-id: r7975
2003-05-25 22:01:19 +00:00
Max Horn
867e42c6fa optimized GetResult, based on code by Bertrand Augereau
svn-id: r7974
2003-05-25 21:54:01 +00:00
Max Horn
deb5e04a87 removed obsolete code
svn-id: r7973
2003-05-25 21:43:16 +00:00
Max Horn
9b70fee5f3 changed scaler proc signature so that srcPtr is const (this can help optimizer by simplifying aliasing detection; thanks to Bertrand Augereau for pointing this out)
svn-id: r7939
2003-05-25 12:08:01 +00:00
Max Horn
d7ef626b42 fix advmame scaler ('flickering', observable in e.g. Sam&Max, and the left-screen-border-black bug). Note: this change might look fishy to you but is perfectly legal because our frame buffers put a border around the screen data to accomodate for this
svn-id: r7556
2003-05-16 00:11:35 +00:00
Max Horn
37724d9297 Patch #735294: AdvMame3x scaler
svn-id: r7409
2003-05-09 22:44:16 +00:00
Max Horn
5c93732d60 cleanup; added comment
svn-id: r7119
2003-04-25 20:03:00 +00:00
Max Horn
fe58fd4d1e small optimization (do three memory reads instead of five)
svn-id: r6875
2003-03-28 19:13:59 +00:00
Paweł Kołodziejski
aa3766018f updated copyrights headers
svn-id: r6726
2003-03-06 21:46:56 +00:00
Paweł Kołodziejski
6ce098172f next pedantic cleanup code
svn-id: r6714
2003-03-06 16:27:06 +00:00
Max Horn
086a89f365 Patch #691064: dot matrix scaler
svn-id: r6663
2003-03-02 16:36:52 +00:00
Jonathan Gray
26fa144a9d new patch from cyx to make scanlines in tv2x lighter
svn-id: r6521
2003-01-19 22:28:36 +00:00
Max Horn
e225720414 optimized Normal1x a bit (well at least memcpy won't be slower and on many systems will be faster)
svn-id: r6505
2003-01-18 21:04:31 +00:00
Jonathan Gray
c08d736d1d add new tv scanlines graphics scaler from Gregory Montoir, use -g tv2x to try it
svn-id: r6462
2003-01-15 02:11:37 +00:00
Max Horn
bb57506d48 Added overlay to OSystem interface; implemented overlay in SDL backend (all other backends, including SDL_gl, still need to implement this!); changed NewGUI to make use of the overlay; added Cmd-Q as a shortcut for Quit on MacOS X
svn-id: r4971
2002-09-19 16:06:51 +00:00
Max Horn
523d8e64c0 rewrote config class; cleanup; code restructuring
svn-id: r4903
2002-09-08 01:08:12 +00:00
James Brown
1bf20ac0c3 Move scaler code from SCUMM-specific area.
svn-id: r4803
2002-08-23 06:43:06 +00:00