Greg Dolley’s Weblog

A Blog about Graphics Programming, Game Programming, Tips and Tricks

  • Archives

  • November 2007
    M T W T F S S
        Dec »
     1234
    567891011
    12131415161718
    19202122232425
    2627282930  
  • Blog Stats

    • 1,047,061 hits
  • Subscribers

  • Twitter

    Error: Twitter did not respond. Please wait a few minutes and refresh this page.

  • Advertisements

Quake 2 Port – Visual Studio v9.0 Beta 2 Using Managed Extensions for C++

Posted by gregd1024 on November 18, 2007

I ported Quake 2 source code to C++ .NET using Visual Studio 9.0 Beta 2 with Managed Extensions 2005 (i.e. compiles without the “/clr:oldSyntax” option). It is a derivative from Vertigo Software’s port which used Visual Studio 2003 and the old Managed Extensions framework. The old framework is no longer supported by Microsoft but you can get things to compile via the “/clr:oldSyntax” compiler option. Under the current framework all keywords have changed, destructors and finalizers work differently, and a slew of other things have been modified (for details see: Managed Extensions for C++ Syntax Upgrade Checklist). So I thought it would be cool to take Vertigo’s version and make it current since Microsoft is removing old syntax support (no more “/clr:oldSyntax” option) from the next version of Visual Studio (effectively forcing every company and individual who has code written the old way to do a port). While that may not seem like a big deal (i.e. I thought this project was going to be a piece of cake), trust me, it’s a big pain in the ass. I probably fixed about 2,000 to 2,500 compiler errors (don’t know because the maximum that’s displayed is 100 to 200 before the compiler can’t recover) and had to weed out over 4,000 warnings.

Anyway, I’m still writing the details on this article, so come back in a couple days and I’ll have the code and executable posted.

-Greg Dolley

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

 
%d bloggers like this: