Quake 2 MS-VC 6 does not transfer to VS2010 Express

Started by
12 comments, last by Ravyne 12 years, 6 months ago
The aforementioned points make no sense without evidence. Try to give evidence; that's all... And this is a public forum where kids any age can learn.
Advertisement

(hint: VS2010 doesn't support inline assembly anymore, in favor of intrinsic instructions (or external assembly files).

I have inline assembly in my VC++ 2010 projects (legacy from when I bought the non-optimizing VC++ 6 and 2003 editions, so I had to use assembly back then for certain parts). So I am quite sure it works. I think it only doesn't work if you compile it as managed code or as 64 bit. If you compile as 64 bit exec you can however put the assembly code in an external module, compile with nasm and link the resulting object file with the rest.
Ron AF Greve
You might have better luck round-tripping it through 2003, 2005 or 2008 first; there's a clearer upgrade path from 6.

From 2005 onwards you'll be switched to the multithreaded CRT and won't have an option to go back to single threaded, but I'm not certain if this may or may not be a problem.

I'm pretty certain that starting with 2005 MSVC defaults projects to unicode and this default will come through when you upgrade the project, so you'll need to switch it back to multi-byte.

The warning level will likely also go to 3 instead of 1, so you'll get a whole pile of noise in the compiler output. Flip it back to 1 for your initial build, then ease it back up, fixing things as you go.

If memory serves, the last time I looked at this code one of the Alpha builds was the default project configuration so you need to just set the regular debug or release build instead.

Direct3D has need of instancing, but we do not. We have plenty of glVertexAttrib calls.


[quote name='Ravyne' timestamp='1317423795' post='4867767']
(hint: VS2010 doesn't support inline assembly anymore, in favor of intrinsic instructions (or external assembly files).

I have inline assembly in my VC++ 2010 projects (legacy from when I bought the non-optimizing VC++ 6 and 2003 editions, so I had to use assembly back then for certain parts). So I am quite sure it works. I think it only doesn't work if you compile it as managed code or as 64 bit. If you compile as 64 bit exec you can however put the assembly code in an external module, compile with nasm and link the resulting object file with the rest.
[/quote]

Yes, you're right -- it was only the 64-bit compiler that disallows inline ASM (and managed C++ for obvious reasons).

throw table_exception("(? ???)? ? ???");

This topic is closed to new replies.

Advertisement