Forum archive
Voxlap and what I plan to do with it
- ...Vox Lap is awesome and I plan on making a serious physics engine around the 3d engine that Ken freaking-awesome Silverman made.
There's some other awesome top secret features that you'll have to see to believe whenever they finally exist.
The only problem is that in todays world, getting projects to compile is more complicated than the programming planned afterwards. So here's waht I have so far of trying to get it to compile and the brick wall I just hit.
11/18/06
- Attempting to compile in MSVC++ 2005 Express Edition
Had to install microsoft server 2003 platform SDK R2
Had to install microsoft Direct X 9 SDK
Had to copy windows.h from d:\progam files\microsoft server 2003 platform SDK\library to compiletest folder
Had to copy nmake.exe from d:\progam files\VC toolkit 2003\bin to compiletest folder
Had to copy mspdb71.dll from d:\progam files\VC toolkit 2003\bin to compiletest folder
error:
voxed.c
cl : Command line error D2027 : cannot execute 'c1xx'
NMAKE : fatal error U1077: 'cl' : return code '0x2'
Stop.
Anyone have any idea how troubleshoot this error? I don't want to bother the creator unless I absolutely have to. - No idea about your error. You are lucky though, since Mr. Silverman DOES occasionally check this forum. ;)
- Your error has nothing to do with my source code. I suspect 'mspdb71.dll' from VC2003 is incompatible with VC2005. Since you have the VC Toolkit 2003 installed, I would suggest compiling with VC 2003 instead.
- Yeah that's what I get for recording changes made 30 minutes after I made them.
What actually happened was that I made the set path statement in the makestuf.bat file incorrect. At that point I copied the files from toolkit 2003 that was previously installed and then upgraded to (replaced by) 2005 express edition.
So here's currently how the project looks.
Removed windows.h, nmake.exe, cl.exe, and mspdbv71.dll from the folder. Set the path to point to the correct library and bin folders for server 2003 SDK r2 and msvc 2005 express.
Now I'm getting the errorcl /c /J /TP game.c /Ox /Ob2 /G6Fy /Gs /MD /QIfist
NMAKE : fatal error U1077: '"D:\Program Files\Microsoft Visual Studio 8\VC\bin\c
l.EXE"' : return code '0xc0000135'
Stop.
when I run makestuf.bat
It's gotta be a problem with the batch file:
@rem SETUP Visual C 6.0 (SP5) environment for command line
@rem Fix directory name if incorrect!
call "D:\Program Files\Microsoft Visual Studio 8\VC\bin\vcvars32.bat"
set path=D:\Program Files\Microsoft Visual Studio 8\VC\bin;D:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Bin
@rem SETUP DirectX 8.x environment for command line
@rem Fix directory name if incorrect!
set include=D:\Program Files\Microsoft DirectX SDK (December 2005)\Include;%include%
set lib=D:\Program Files\Microsoft DirectX SDK (December 2005)\Lib\x86;%lib%
@rem compile game
nmake game.c
@rem compile simple (must do this after game.c)
nmake simple.c
if exist winmain.obj del winmain.obj
@rem compile voxed
nmake voxed.c
@rem compile kwalk
nmake kwalk.c - You need quotes around filenames/directories with spaces. Also, you are overwriting the path set by vcvars32.bat. Try this:
...
call "D:\Program Files\Microsoft Visual Studio 8\VC\bin\vcvars32.bat"
set path="D:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Bin";%path%
@rem SETUP DirectX 8.x environment for command line
@rem Fix directory name if incorrect!
set include="D:\Program Files\Microsoft DirectX SDK (December 2005)\Include";%include%
set lib="D:\Program Files\Microsoft DirectX SDK (December 2005)\Lib\x86";%lib%
... - Hey thanks a lot.
Here's what I ended up with on the final makestuf.bat
@rem SETUP Visual C 6.0 (SP5) environment for command line
@rem Fix directory name if incorrect!
call "D:\Program Files\Microsoft Visual Studio 8\VC\bin\vcvars32.bat"
set path=D:\Program Files\Microsoft Visual Studio 8\VC\bin;D:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Bin;%path%
@rem SETUP DirectX 8.x environment for command line
@rem Fix directory name if incorrect!
set include=D:\Program Files\Microsoft DirectX SDK (December 2005)\Include;D:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include;%include%
set lib=D:\Program Files\Microsoft DirectX SDK (December 2005)\Lib\x86;D:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib;%lib%
also I'm sorry if I came across rude. We had a Iot to do today and I get flustered when I'm rushed. - Wow, there's no end to my ignorence when it comes to compiling properly
With all your help it compiled and I added jumping, falling damage, and ducking functionality so far. What I want to do now before doing anything more serious is make it a little more portable by adding a file called phys.c with all the new physics functions and subs.
I made phys.c and phys.h. and added #include "phys.h" to the top of the game.c file. At this point it's not compiling phys.c along with the game.c. Normally I'd simply need to add phys.c to the project but there are no project files when compiling with the batch file. How would I "add this file to the project"?
Sorry to be stumped again already, lol. - I use the old method of compiling, which is with 'make' files. Usually there is a file called "makefile" sitting in the directory. Instead, I use a little trick by embedding the makefile in the source code itself. This saves having to include an extra file. Take a look at the top of GAME.C and SIMPLE.C. The general syntax is:
#if 0
file.exe: file1.obj file2.obj; link file1.obj file2.obj (libraries) (link options)
file1.obj: file1.c; cl /c file1.c (compile options)
file2.obj: file2.c; cl /c file2.c (compile options)
!if 0
#endif
//C code goes here
#include <stdio.h>
int main (int argc, char **argv) { puts("yo"); return(0); }
#if 0
!endif
#endif
And here's how it works:
CL.EXE treats this as a comment:#if 0
blah blah anything inside this block is ignored by cl
#endif
NMAKE.EXE treats these as comments:#blah blah the rest of this line is ignored by nmake
!if 0
blah blah anything inside this block is ignored by nmake
!endif Re: Voxlap and what I plan to do with it
I think I finally figured out what the first game that I'm going to place on top of the physics engine. A multiplayer deathmatch version of Super Mario 64.- Just wanted to check in. I've been bogged down with other projects stacking on top of other projects. I did however get more people interested in developing in this engine. Graphics are graphics are graphics. Originalty is the future. I really think you need to propose this to apogee. There are things you can do with this engine that traditional polygon based engine will never be able to acomplish.
I mean sell it as a fully mod-able engine with all the standard tools. Think of a standard engine built so that you would only have to pump out content. Like "The Action Movie" engine. Create easily modified generic weapons. You'll have everything from Total Recall to Outland done by fans in a year. Heck the next James Bond video game might actually be built on top of a stable engine!