Skip to main content
gamedev.net
🔒 Locked

problem with quake 3 source code

Started by digital_brain Aug 24, 2005 at 8:14 AM 20 replies 5.8k views
Original Post
digital_brain
digital_brain
pls help... I hav build Quake3.exe using msvc6....but when I m trying to run it the program starts and then crashes to the desktop !! let me tell u what i actuelly hav done.. fisrt i build Quake3.exe. then copied the folder 'baseq' frm the quake3 system to the folder'..quake3-1.32bsource/code'..coz this is where the new quake3.exe have been created. now when i am trying to run it..the program is crashinng. pls help me out of this problem...
anekin
anekin
Are you running the game from the msvc6 environment or as a exe file.
you can trying running the game with g_log option enable so you can see where the problem is.

I hope this can help you a little bit
------------------------------I prefer to be the worst of the best than the best of the worst------------------------------
Monder
Monder
Run it through a debugger and find out where it crashes, work out the cause of the crash and fix it.
SirLuthor
SirLuthor
Yea, hell, it's GPL now, you can fix your own problems [grin]
Free speech for the living, dead men tell no tales,Your laughing finger will never point again...Omerta!Sing for me now!
digital_brain
digital_brain
I am giving the codes where the debugger is showing the error(its shown with double *)....in the file- drive:\....\code\qcommon\common.c
#if defined(_WIN32) && defined(_DEBUG)	if ( code != ERR_DISCONNECT && code != ERR_NEED_CD ) {		if (!com_noErrorInterrupt->integer) {			__asm {				int 0x03     **this is where the error is...			}		}	}	


have no idea how to fix it !!can anyone help...
Promit
Promit
Looks like it can't find the CD directory, which probably means you're missing some config file. Apart from baseq3, are there any top level files that look right? I can't remember the actual name of the config.

Oh, and, compile it in release mode and see what it does. You're in debug right now.
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
mengha
mengha
I don't know how to fix that but isn't that embedded assembler and it is calling interrupt 3h?. Mabye try researching what that interupt does would help :)
SirLuthor
SirLuthor
Hmm. A quick google seems to say that interrupt 3h is a user-defined breakpoint. No doubt that is a fair clue? Try removing that line, compiling, and running.
Free speech for the living, dead men tell no tales,Your laughing finger will never point again...Omerta!Sing for me now!
dbzprogrammer
dbzprogrammer
Lol... If you didn't notice, when you compile it, you gotta move everything to a folder called /quake3/ Your problem is that it can't find the path to a file/location, so it's exiting.
We should do this the Microsoft way: "WAHOOOO!!! IT COMPILES! SHIP IT!"
Deyja
Deyja
Indeed. Quake3 has some of the oddest protection ever. If the path to the exe does not contain 'Quake3' or 'quake III arena' it doesn't run! A better way to test would be to replace the executable in your quake3 install with your new one. Just backup the old one first.
digital_brain
digital_brain
[quote=Deyja]A better way to test would be to replace the executable in your quake3 install with your new one[/quote]
Already tried that...problem persists even after doing so..

[quote=SirLuthor]Try removing that line, compiling, and running.[/quote]
still the problem remains....and this is what the console shows...
::----- finished R_Init -----Loading dll file ui.LoadLibrary 'uix86.dll' failedLoadLibrary 'D:\quake3\code\baseq3\uix86.dll' failedFailed to load dll, looking for qvm.Loading vm file vm/ui.qvm.VM file ui compiled to 555725 bytes of codeui loaded in 1379296 bytes on the hunkrecursive error after: User Interface is version 3, expected 6


Can anyone ,who has succcessfully compiled and ran the Q3 engine source code, give me the exact process he followed.(prefferebly a noob description.....i m not a vb guru)It will be very useful for me..
Dave Hunt
Dave Hunt
Quote:
Original post by Promit
Looks like it can't find the CD directory, which probably means you're missing some config file. Apart from baseq3, are there any top level files that look right? I can't remember the actual name of the config.

Oh, and, compile it in release mode and see what it does. You're in debug right now.


Actually, it looks like not finding the CD is not the problem. The code says "if the code is NOT disconnect and the code is NOT need CD" then flag an error.

Quote:
Original post by SirLuthor
Hmm. A quick google seems to say that interrupt 3h is a user-defined breakpoint. No doubt that is a fair clue? Try removing that line, compiling, and running.


Actually, it is using interrupt 3 to flag the error. The problem isn't with the interrupt, but with the fact that it got to that point in the code.

With the latest info from digital_brain, it appears to be a mismatch between the user interface version it found and the version it was expecting.

edit - Actually, It appears that I really like the work "actually." ;)
dbzprogrammer
dbzprogrammer
What I was sure of is that the problem was it couldn't find something, what that was I don't know, but it seems that you never compiled a certain .DLL required. Make sure you compile all the projects! Remember the difference between a work space and project.
We should do this the Microsoft way: "WAHOOOO!!! IT COMPILES! SHIP IT!"
digital_brain
digital_brain
no such fucking .DLL any where in game directory or Q3 cd :(
Can anyone ,who has succcessfully compiled and ran the Q3 engine source code, give me the exact process he followed...please.
cody
cody
do you have the newest version of quake? its 1.32b.
CJM
CJM
Hey,

The purpose of the __asm{ int 3 } is to force a breakpoint in your compiler. It means that something is broken in your code. [by the looks of it the game can't make a new server for your local game client to connect to]

If this is happening on the 'awaiting snapshot' part of the main menu, I had a similar problem, and fixed it by explicitly unincluding the q3_ui [I think it was called that] project from the solution (it's the one which by default has all of it's files excluded from the build) and doing a clean rebuild.

Similarly, I think that you have to run it from windows [ie double clicking the quake3 exe] or change the run path in the project properties [right click on the solution, properties > working directory to "$(OutputDir)".

This is just from memory, and so is quite probably wrong, but it's how I fixed a similar problem.

--CJM
CJM
CJM
Taking a second skim over your descriptions, I think that it's including q3_ui [v3 I think] or whatever that project is instead of the other project ui [v6 I think]. Try removing one, attempting to run, adding it, and removing the other. One of these two projects should run your game.

--CJM
digital_brain
digital_brain
I hav tried every thing from begining...this time the uix86.dll is created...
but the same crashing prolem persisted with the debugger showing error on the same line..
so I deleted the line..(which is the user defined breakpoint)
@..cjm..then i tried ur way...deleting ui directory gave 4 errors...
so ,tried with deleting q3_ui...and this gave no error...
but while running it double clicking..this is what the console gave...
trying ui/assets/gradientbar2.TGA...trying ui/assets/scrollbar.TGA...trying ui/assets/scrollbar_arrow_dwn_a.TGA...trying ui/assets/scrollbar_arrow_up_a.TGA...trying ui/assets/scrollbar_arrow_left.TGA...trying ui/assets/scrollbar_arrow_right.TGA...trying ui/assets/scrollbar_thumb.TGA...trying ui/assets/slider2.TGA...trying ui/assets/sliderbutt_1.TGA...WARNING: could not find sound/feedback/voc_newhighscore.wav - using defaultWARNING: could not find sound/feedback/voc_newhighscore.wav - using defaultmenu file not found: teaminfo.txt, using defaultmenu file not found: gameinfo.txt, using defaultrecursive error after: menu file not found: ui/menus.txt, using default


do u hav any idea of whats those things are..do I use any .tga and rename those as

following or those are downloadable ?
where can I get those .txt files ?
Name_Unknown
Name_Unknown
Why not send Carmack an email I'm sure he'd **LOVE** it.

This my friend is the crux of programming, you have to figure this crap out yourself because there are no books in the world that can teach you how to hack super complex programs without documents.

I'd really really really suggest you should start with Quake 2, I looked at Quake 3 it is still based on the previous quakes ( just directorys are changed in some places) and Quake 2 is much easier to follow. Quake 1 I think is the easiest to understand but you will be utterly confused by the assembler tools or how to build it.
"It's such a useful tool for living in the city!"

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.