I'm not a coder. Next time if you do want to start a thread it might be best to condense the questions into one. :)
It May Simply Mean
you don't have Masm installed.
I was going to respond to your email but since you posted the same question here, this is a better place to respond.
There are a number of problems with compiling fitzquake from the source if you install it in an empty directory. Some of these problems are solved by copying over files from a glquake source directory, and other problems are actually problems with the original glquake source. Finally, some problems are caused by using express edition.
I had these problems compiling with MSVC6:
1. no dxsdk in zip
2. no gas2masm in zip
3. gas2masm goes into wrong place (or, the custom build step looks for it in the wrong place)
4. no ml.exe
Lunaran had these problems compiling with Express Edition:
1. no dxsdk in zip
2. no gas2masm in zip
3. gas2masm project tries to link odbc32.lib (lunaran doesn't have it, gas2masm doesn't need it anyway)
4. gas2masm goes into wrong place (or, the custom build step looks for it in the wrong place)
5. no ml.exe
6. errno already defined
7. no odbc32.lib for fitzquake (he did have the necessary libs, though, see above list)
8. winquake.rc needs afxres.h (he solved this by commenting out the "starting quake" dialog in winquake.rc)
9. inconsistent errors compiling msxml.h (he just kept compiling until they didn't happen)
So you need to get dxsdk and gas2masm source directories from the original engine source.
Next, you need to download ml.exe from somewhere... it's hard to find. Microsoft doesn't seem to have it available.
Next, you need to edit the project settings to fix it so gas2masm gets built into the correct place
Next, you need to clean up the linked libraries in the project settings. Here is a list of libraries fitzquake needs:.\dxsdk\sdk\lib\dxguid.lib opengl32.lib comctl32.lib winmm.lib wsock32.lib user32.lib gdi32.lib
This is a list of libraries fitzquake doesn't need, so you can remove them from the project settings if you're getting errors about not finding them: glu32.lib kernel32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
And, you need to rename the "errno" variable to something like "errno2"
Even after all that, there are still some problems Lunaran reported that I don't have solutions for. This is annoying, but I guess it's what happens when my version of MSVC is 7 years old.
Hope this helps at least partially.
You can use the version of masm from http://www.masm32.com/
if you can't find the microsoft copy of ml.exe, it's what I did.
The Msxml One Is Pretty Much The Only One Left I Think
although since, thanks to what seems to my non-programmer mind to be some pretty bloaty interdependence in the dxsdk, msxml.h gets recompiled for every damn file in fitzquake, usually it'll fail about a dozen times in any single engine build. I just keep whacking F7 and crossing my fingers.
You have all been very helpful. Many of the problems John listed I ran into when trying to compile the original Quake source code from id, such as the errno variable issue, and managed to fix them. But later I ran into a "missing LIBC.lib" error that stumped me. I had decided that it wouldn't make sense to build from the old source when Fitzquake is so well-improved. I'll keep you posted on any problems I run into.
VC++ 2005 Express spat the following at me:
fitzquake080src\gl_texmgr.c(26) : fatal error C1083: Cannot open include file: 'imdebug-0.931b-bin/imdebug.h': No such file or directory
I haven't found any imdebug library around the original QUAKE source tree, nor the Fitzquake source tree...
I forgot about that too. It's safe to delete the line with that #include
Successful Compile/Link But..
When I run the Fitzquake executable the screen bugs out. I can hear some sound, but a lot of it is missing and the area where the Quake logo is goes yellow apart from the "teleport" texture to the left. Here is a screenshot:
Apparently it was an issue with my autoexec.cfg file.
It seems that when cl_bobcycle is set to 0, the program bugs out as I've shown in the screen shot.