Opened 17 years ago

Closed 17 years ago

Last modified 2 years ago

#8280 closed patch (wontfix)

Scaler mods for MSVC6

Reported by: SF/jamieson630 Owned by: fingolfin
Priority: normal Component: Port: Win32
Keywords: Cc:
Game:

Description

The attached patch modifies the new template foundation for several scalers (including HQ) to avoid compile-time errors from the non-template-friendly MSVC6. The two primary changes:

* Avoided the use of template structs, which MSVC6 does not recognize at all.

* Avoided using the same name for template and non- template functions (which MAKE_WRAPPER was doing), since MSVC6 ignores the template functions in such cases. (This resulted in the non-template function calling ITSELF by mistake, thus an endless recursion and eventual stack fault.)

Note that these changes allow the code to COMPILE under MSVC6, and the scalers to activate without crashing ScummVM. However, the visual output does NOT appear correct from an MSVC6 build, which indicates other problems in MSVC6's interpretation of the templates. I will see about attaching screenshots of the trouble scalers to demonstrate. Since I have no understanding of our scalers, I wouldn't even know where MSVC might be goofing up the template parameters.

(BTW, Fingolfin, once I circumvented the same-function- name problem, I did get MSVC6 to quit ignoring the template structs. Hence, I *was* able to verify that this code compiles, at least on MSVC6, and that it runs the scalers without crashing.)

Ticket imported from: #815860. Ticket imported from: patches/385.

Attachments (6)

scalers.diff (6.4 KB ) - added by SF/jamieson630 17 years ago.
Scalers patch, rev. 1
2xsai.png (176.5 KB ) - added by SF/jamieson630 17 years ago.
MI2 Bones Scene, 2xsai
super2xsai.png (170.0 KB ) - added by SF/jamieson630 17 years ago.
MI2 Bones Scene, super2xsai
supereagle.png (226.8 KB ) - added by SF/jamieson630 17 years ago.
MI2 Bones Scene, supereagle
hq2x.png (220.0 KB ) - added by SF/jamieson630 17 years ago.
MI2 Bones Scene, hq2x
tv2x.png (155.3 KB ) - added by SF/jamieson630 17 years ago.
MI2 Bones Scene, tv2x

Download all attachments as: .zip

Change History (9)

by SF/jamieson630, 17 years ago

Attachment: scalers.diff added

Scalers patch, rev. 1

by SF/jamieson630, 17 years ago

Attachment: 2xsai.png added

MI2 Bones Scene, 2xsai

by SF/jamieson630, 17 years ago

Attachment: super2xsai.png added

MI2 Bones Scene, super2xsai

by SF/jamieson630, 17 years ago

Attachment: supereagle.png added

MI2 Bones Scene, supereagle

by SF/jamieson630, 17 years ago

Attachment: hq2x.png added

MI2 Bones Scene, hq2x

by SF/jamieson630, 17 years ago

Attachment: tv2x.png added

MI2 Bones Scene, tv2x

comment:1 by SF/jamieson630, 17 years ago

Resolution: wontfix
Status: newclosed

comment:2 by SF/jamieson630, 17 years ago

Per IRC discussions, this patch will not be applied. Support for MSVC6 cannot be maintained as the code continues to be optimized in a manner that requires strict standards compliance on the part of the compiler. For now, the scalers in question have been disabled in MSVC6 builds; it should be understood that MSVC6 will not be supported at all before too long.

comment:3 by digitall, 2 years ago

Component: Port: Win32
Note: See TracTickets for help on using tickets.