3 ms·
Perhaps not, but setting the compatability mode should maybe get programs that worked before to work again. Using extra stack space has got to be on a list of
by toast0 1y ago
Perhaps not, but setting the compatability mode should maybe get programs that worked before to work again.
Using extra stack space has got to be on a list of things likely to cause trouble.
- wat10000 1y agoSo adding a local variable to any function in the system needs to be considered dangerous, and have a way to run an old version of that function that doesn’t have a new local variable? How could that possibly be practical?
- toast0 1y agoIf compatability is important, it should at least be considered. For 20 years, this particilar system function did not touch that part of the stack, and GTA used it. In real estate, after ten years, GTA would have a prescriptive easement under Washington State law. :P
- wat10000 1y agoIt’s just not feasible, unless your plan is not to change anything at all. When you have apps doing things like relying on values in uninitialized memory, literally any change anywhere can potentially break them. A company like Microsoft that cares about compatibility will test third party apps to try to catch this sort of thing, but there’s only so much testing you can do. It’s not feasible to test games from two decades prior so throughly that you’d notice that one particular vehicle never spawns.
- toast0 1y agoI don't mind that they didn't find this, it would have been hard to find it, given the situation. But it's still kind of bogus that compatability mode doesn't make things compatible.
- wat10000 1y agoThat wouldn’t be compatibility mode, that would be shipping an entire copy of an older OS version. From a quick search, it looks like compatibility mode entails interposing a library between the app and the OS libraries, and the library emulates the behavior of an older OS. It’s not automated, each compatibility fix is crafted to work around a specific issue. In theory a fix could be made for this issue, but they’d have to find it and debug it first.