Internet Explorer 8 is out – Microsoft fails at QA…

Excellent. IE8 is out! I grabbed the installer they said I needed. Double clicked.

Parameter is incorrect

Ok, what’s up there then? That’s right, they didn’t flag the process as needing elevated permissions on Vista. So it wasn’t running as Administrator. Would have been nice for it to tell me. Oh well, Right click, Run as Administrator…

“This installation does not support your system architecture (32/64bits)”

Oh I need to go get the specific 64-bit one. Go get that, still have to manually run as administrator to install.

Microsoft have failed to QA that release then. /golfclap

1 Comment

Visa yanks security creds for payment card processing pair

This is quite amazing. No more using World Pay then.

Visa on Friday alerted the world that RBS WorldPay and Heartland Payment Systems are not on its list of payment card processors who are in good standing with industry-mandated standards for data security.

via Visa yanks creds for payment card processing pair • The Register.

0 Comments

Government attacks ‘deadly’ games

A step too far? “RISK AN EARLY DEATH, JUST DO NOTHING”. A striking advert with a picture of a young boy holding a PS3 controller.

Appears it’s got a lot of people heated. Including MCV, ELSPA and co.

Is the advert really saying that games kills you? Or is it just telling parents that a child sitting in front of a TV for 12 hours a day just isn’t healthy? I’d probably err to the latter. However, I can’t find a copy of the advert full size to read the rest of the text. So I’ll reserve full judgement ’til then. Just interesting how people are getting quite heated about it. Hell, it’s even made it to Slashdot.

Government attacks deadly games | Gaming Industry | News by MCV

0 Comments

Digital Game Distribution Failure

There’s been a few debates about Digital Game Distribution lately.

However this week I’ve come across two cases of where it’s a complete pain.

  • Call of Duty 5
  • Unreal Tournament 3

This week saw a major patches for both of these games. That was Wednesday. This is Saturday. Are the Steam versions of these games patches yet? No. Thankfully I also have the retail version of UT3, so I can play it outside of Steam. However no such luck with COD5. There is an unofficial way to get the 1.3 patch installed. However, you lose some functionality (in this case, Single Player mode).

This now sees an end to me buying any games on Steam that might actually need patches. Sorry Valve, but you need to sort your game distribution system out. You might claim it’s the best way to combat piracy and distribute patches promptly – but it just doesn’t work, does it? It’s simply not acceptable to lag so far behind the physical distribution patch. I don’t care if it’s not Valve’s fault, I paid money to Valve (well, STEAMGAMES.COM LONDON apparently) so I expect service.

Rant over :)

0 Comments

Amazon.com’s Trade-In Store Launches

Today we are pleased to announce the beta launch of Amazon Video Games Trade-In, www.amazon.com/tradeingames. Amazon Video Games Trade-In is a new service that enables you to trade in your games for an Amazon.com Gift Card.

Pretty interesting. Appears they are using a, yet unamed, 3rd Party for this. Whether it’ll take off will be seen in the coming months.

Amazon Game Room’s Blog: Amazon.com’s Trade-In Store Launches with 1,500+ Eligible Titles

0 Comments

d3dx – Not that great?

So, you’re writing a game, and you want to take a screenshot. The most common code sample you’ll probably find around the web will look something like this:

LPDIRECT3DSURFACE9 pd3dsBack = NULL;
LPDIRECT3DSURFACE9 pd3dsTemp = NULL;
if (SUCCEEDED(device->GetBackBuffer(0, 0, D3DBACKBUFFER_TYPE_MONO, &pd3dsBack)))
{
    D3DSURFACE_DESC desc;
    pd3dsBack->GetDesc(&desc);
    if (SUCCEEDED(device->CreateOffscreenPlainSurface(desc.Width, desc.Height, desc.Format, D3DPOOL_SYSTEMMEM, &pd3dsTemp, NULL))
    {
        if (SUCCEEDED(device->GetRenderTargetData(pd3dsBack, pd3dsTemp)))
        {
            LPD3DXBUFFER pBuf;
            D3DXSaveSurfaceToFileInMemory(&pBuf, D3DXIFF_BMP, t, NULL, NULL);
        }
        pd3dsTemp->Release();
    }
    pd3dsBack->Release();
}

Now what’s wrong with that? You’ll end up with a BMP in pBuf and then you can do stuff with it, like save it. Or you can use the more direct D3DXSaveSurfaceToFile to save direct to disk (although, handy hint, push the buffer to a thread and save it outside of the rendering loop… no pause in the renderer then.

This code only works with non-multisampled displays too. There is way around that, that’s outside the scope of this post. So… what’s wrong using D3DX to save a picture? Let’s consider these issues that I have come up against:

  • It’s slow – very very slow. If you try and save a PNG it’ll take upwards of a second. JPG is faster!? BMP is fastest.
  • It sometimes doesn’t even take the shot – you’ll just get a bunch of zeroes

Yep, something isn’t quite right there. I’m using the November 2008 SDK and I get a bunch of zeroes from the surface in certain circumstances. Why? Well that’s a very good question. I have no idea why. However, if I make use of LockRect and copy the right bits out that way I get a 100% success rate of reading back the BackBuffer.

So, the surface clearly always has the data, but D3DX fails to read it properly. Obviously, without the source code to D3DXSaveSurfaceToFileInMemory I can’t do any more research into the matter. Taksi has some interesting samples on the topic (although it’s geared to copying the pitch data as well and in fact converting pitch, which you won’t always need to do).

0 Comments