Author Topic: Quake 3 engine.... can't inport solution  (Read 31854 times)

Offline Tjaalie

  • Multiple posting newcomer
  • *
  • Posts: 40
Quake 3 engine.... can't inport solution
« on: August 21, 2005, 10:37:13 am »
Hello to all,

I just downloaded the source of the quake 3 engine, and when i inport
the visual studio solution quake3.sln it loads some projects from it and
then it just exists. Does anyone know what this is or does anyone
has the same problem???? is there an max project count or something
that is reached???

Tjaalie,

Offline rickg22

  • Lives here!
  • ****
  • Posts: 2283
Re: Quake 3 engine.... can't inport solution
« Reply #1 on: August 21, 2005, 05:26:06 pm »
Oh no... sooner or later someone had to try it ... beware of the evil Quake 3 source code! :P

Importing of MS Visual Studio solutions is still imperfect. zieQ is working on it.

Another possible source for the problems is the code completion plugin, it tries to parse everything. (And don't even try to access the todo list or "find in files" with such a titanic project such as Quake 3!

But don't worry, we're working very hard  to remove all the crashes. So far we've advanced a lot, But still, work needs to be done. We'll keep you posted.

Offline Tjaalie

  • Multiple posting newcomer
  • *
  • Posts: 40
Re: Quake 3 engine.... can't inport solution
« Reply #2 on: August 21, 2005, 05:31:47 pm »
Is there an other way to inport the projects???
I don't have visual studio but i would
still like to compile and use the engine.

Offline rickg22

  • Lives here!
  • ****
  • Posts: 2283
Re: Quake 3 engine.... can't inport solution
« Reply #3 on: August 21, 2005, 05:37:33 pm »
Um... oh dear. HMmmmmmmmmmmmmmmmm

Well there MIGHT be a way... but it's LONG and EXHAUSTING.

Make the project yourself.

Add the files... etc.

Anyway try disabling code completion before importing the MSVS solution. So there are two possible outcomes:

a) You end up having a nice workspace (which you should save),
and b) Codeblocks crashes.

If b), please send us the codeblocks.rpt which is generated on every crash, it'll allow us to debug.

You might also want to consider compiling codeblocks itself... we've squashed quite a few bugs since RC1...

Offline Tjaalie

  • Multiple posting newcomer
  • *
  • Posts: 40
Re: Quake 3 engine.... can't inport solution
« Reply #4 on: August 21, 2005, 05:57:59 pm »
Thanx i will try that, if it doesn't work i will post here the debug file for you.
And im going to make my own build (always wanted that but i coudn't
find an excuse:D)

zieQ

  • Guest
Re: Quake 3 engine.... can't inport solution
« Reply #5 on: August 21, 2005, 08:59:23 pm »
Well... A crash? Can you send the rpt file issued by the crash. I doubt it is the importer's fault but I could be wrong.

Rick, please note that I'm not actually working on the msvc importers, but I can help if something is wrong with them ;)

Offline Tjaalie

  • Multiple posting newcomer
  • *
  • Posts: 40
Re: Quake 3 engine.... can't inport solution
« Reply #6 on: August 21, 2005, 09:14:31 pm »
How im i suposed to send you the file if you hide your email adress???
Could you give it to me?? or send it to me @

CharlieGerhardus [here goes an "at" sign] hotmail [here should be a dot] com

(e-mail edited by rick)
« Last Edit: August 21, 2005, 10:17:45 pm by rickg22 »

zieQ

  • Guest
Re: Quake 3 engine.... can't inport solution
« Reply #7 on: August 21, 2005, 09:31:58 pm »
You can attach files (convert it to txt) to your messages in additionnal options when you post a reply. You should avoid giving your email address you know  :wink:

Classic_gamer

  • Guest
Re: Quake 3 engine.... can't inport solution
« Reply #8 on: August 21, 2005, 10:26:32 pm »
An easy way to import the Quake 3 .sln is to convert it to a .dsw using this: http://www.codeproject.com/tools/prjconverter.asp and then import that in Code::Blocks (I don't know why this works but it does).

Offline Tjaalie

  • Multiple posting newcomer
  • *
  • Posts: 40
Re: Quake 3 engine.... can't inport solution
« Reply #9 on: August 22, 2005, 10:58:29 am »
Thanks, but it can't find the link.
But im going to do a google search.

grv575

  • Guest
Re: Quake 3 engine.... can't inport solution
« Reply #10 on: August 22, 2005, 11:06:32 am »
Believe you have to do the free registration with codeproject to download.
http://www.codeproject.com/tools/prjconverter/prjconverter.zip

zieQ

  • Guest
Re: Quake 3 engine.... can't inport solution
« Reply #11 on: August 22, 2005, 01:30:22 pm »
Tjaalie, can you please attach the rpt file that is in the C::B folder so that we could know where the bug come from and correct it?!

Thanks

grv575

  • Guest
Re: Quake 3 engine.... can't inport solution
« Reply #12 on: August 22, 2005, 10:00:54 pm »
I can duplicate the bug, but don't get a codeblocks.rpt file when it crashes (codeblocks rc1-1).  I'll try to use the cvs version as well when it finishes compiling.  It imports properly if the .sln is converted to .dsw using prjconverter.exe and then imported as a vc++ 6 workspace.

sln (right before crash):


dsw:


Offline rickg22

  • Lives here!
  • ****
  • Posts: 2283
Re: Quake 3 engine.... can't inport solution
« Reply #13 on: August 22, 2005, 10:18:13 pm »
Are you sure it's a crash? If no codeblocks.rpt is generated, perhaps it's an assert failure or something (I *hate* those, there's no stack to trace! :( )

zieQ

  • Guest
Re: Quake 3 engine.... can't inport solution
« Reply #14 on: August 23, 2005, 06:59:57 pm »
Where is the download link for quake3 engine? I may have a look into the bug ;)

Offline rickg22

  • Lives here!
  • ****
  • Posts: 2283
Re: Quake 3 engine.... can't inport solution
« Reply #15 on: August 23, 2005, 09:24:24 pm »
http://games.slashdot.org/article.pl?sid=05/08/20/1329236&from=rss

Good thing we didn't post about C::B on slashdot, or we'd get THOUSANDS of duplicate bug reports regarding Quake 3! :lol:

takeshimiya

  • Guest
Re: Quake 3 engine.... can't inport solution
« Reply #16 on: August 24, 2005, 01:10:19 am »
THere is a long way to go, before slashdot I think.

zieQ

  • Guest
Re: Quake 3 engine.... can't inport solution
« Reply #17 on: August 24, 2005, 09:43:36 am »
I have located the problem... An assert failed... from my code... not hard to track down Rick ;) (JIT debugger?)
I'm working on... but I don't know how to solve for now...
« Last Edit: August 24, 2005, 09:48:55 am by zieQ »

zieQ

  • Guest
Re: Quake 3 engine.... can't inport solution
« Reply #18 on: August 24, 2005, 09:58:37 am »
I found out how to solve the bug, but it will take some time to correct it!

Offline rickg22

  • Lives here!
  • ****
  • Posts: 2283
Re: Quake 3 engine.... can't inport solution
« Reply #19 on: August 24, 2005, 08:16:53 pm »
Maybe i could help if you explain how does it work :) But in any case, a bug found is a bug to-be fixed! :)

zieQ

  • Guest
Re: Quake 3 engine.... can't inport solution
« Reply #20 on: August 26, 2005, 01:27:53 pm »
As I said, I'm working on a patch... Just as side note about prjconverter: it does not convert dependencies nor build configurations properly. So, if you use it, you will not have some parts of quake3 projects to compile! That said, I'm going back developing the patch ;)

zieQ

  • Guest
Re: Quake 3 engine.... can't inport solution
« Reply #21 on: August 29, 2005, 08:37:19 am »
I just commited the fix in CVS HEAD, now Quake3 solution imports fine ;) The problem was about build configurations that were not handled properly.

takeshimiya

  • Guest
Re: Quake 3 engine.... can't inport solution
« Reply #22 on: August 29, 2005, 10:16:16 pm »
Imports fine... and compiles fine?

zieQ

  • Guest
Re: Quake 3 engine.... can't inport solution
« Reply #23 on: August 30, 2005, 09:29:15 am »
Quote from: takeshimiya
Imports fine... and compiles fine?

I didn't try to compile yet :D ... I really wrote "imports fine" to mean no crash when loading and configurations read properly. If there's some compiler/linker options missing, please submit bug reports. I guess most of them are already in the importers, but I may have missed to implement some useful ones  :oops: . Anyway, I have planned to rework the option conversion since I found out a useful piece of code somewhere :lol: .

grv575

  • Guest
Re: Quake 3 engine.... can't inport solution
« Reply #24 on: August 30, 2005, 03:03:19 pm »
Could you double-check the importing of the UI project?

Built splines, botlib, cgame, game, q3_ui, renderer, quake fine but ui...
it has all the source files there under properties->targets, but only two of them are checked for the Release build.  Compiling like this gives unresolved link errors, but checking all the source files for the Release target (all except bg_lib.c and menudef.h) lets it compile and link ok.  Wasn't able to figure out if this was an importing problem or not (maybe a dependency resolution problem?  does the .deps handling check/uncheck these automatically once they are built by another project?)

The only difficult thing was that each project used it's own Release subdirectory, so that it was necessary to copy .lib files to the quake project dir to get it to build.

compiler settings (vc++ toolkit)
 compiler
 
 linker
 
 resource compiler
 
 programs -> additional paths
 

had to add these to quake project build options -> linker
 
(msvs I think always links these by default)

then compile all the release builds, and do the quake one last (copy the libs it links to the toplevel Release directory first).  then open a cmd prompt
path=%path%;C:\quake3-1.32b\code\win32\mod-sdk-setup\bin
run .bat files in code/game code/cgame code/q3_ui code/ui
(see readme about building qvm files)

you should now have quake.exe and c:\quake3 ...
you will need files from the cd (pk3 files) to get it to run :\
see: http://64.233.187.104/search?q=cache:YeM9ENl6FEQJ:www.linuxquestions.org/questions/showthread.php%3Fs%3D%26goto%3Dlastpost%26forumid%3D33+quake3+pk3+compile&hl=en&client=firefox-a

zieQ

  • Guest
Re: Quake 3 engine.... can't inport solution
« Reply #25 on: August 30, 2005, 05:38:06 pm »
During import, there's some files removed from some projects according to the debug log, but since it's not my code, I didn't check if everything worked properly. I will check this ASAP but since I do not have DirectX SDK installed, I could not test anything. Anyway, thanks for the bug reporting ;)

The problem is related to projects imports (I fixed workspace imports only) and maybe to dependencies. Look in external dependencies fields and link libraries fields, some projects should depend on others, especially quake3 one IIRC.
« Last Edit: August 30, 2005, 05:43:19 pm by zieQ »

grv575

  • Guest
Re: Quake 3 engine.... can't inport solution
« Reply #26 on: August 30, 2005, 05:59:17 pm »
I think that part is fine.  The only thing that doesn't work is the UI project.  Some sources are not checked in the Release target when they need to be (nothing to do with dependencies I don't think since the files are all .c source files, already built by the game project as well, but only output as .obj files...no .lib files built for this...q_shared.c, etc).

zieQ

  • Guest
Re: Quake 3 engine.... can't inport solution
« Reply #27 on: September 06, 2005, 05:48:08 pm »
I do not have much time to investigate the problem this week, can someone try to find and fix it?

zieQ

  • Guest
Re: Quake 3 engine.... can't inport solution
« Reply #28 on: September 06, 2005, 06:18:59 pm »
Humm, I'm doubtful about the problem. In q3_ui, some files are "ExcludedFromBuild" for some build configurations but not others. C::B seems to handle properly those "ExcludedFromBuild" files according to me. Maybe a compiler-specific problem?

Edit: no, I found out the problem. The importer do not handle the "PreprocessorDefinitions" field for each file/configuration
Edit2: big parts of msvc7loader.* need to be reworked to handle options properly!
« Last Edit: September 06, 2005, 06:44:55 pm by zieQ »

Offline cborders

  • Multiple posting newcomer
  • *
  • Posts: 14
imports but won't build
« Reply #29 on: January 11, 2006, 06:40:03 pm »
I can import the projec with no problems, but it won't build.  I followed the instructions earlier in this post and everything builds except for the quake3 project.  I get the following linker errors.  What am I doing wrong?

win_input.obj : error LNK2019: unresolved external symbol __imp__ShowCursor@4 referenced in function _IN_ActivateWin32Mouse
win_input.obj : error LNK2019: unresolved external symbol __imp__ClipCursor@4 referenced in function _IN_ActivateWin32Mouse
win_input.obj : error LNK2019: unresolved external symbol __imp__SetCapture@4 referenced in function _IN_ActivateWin32Mouse
win_input.obj : error LNK2019: unresolved external symbol __imp__SetCursorPos@8 referenced in function _IN_ActivateWin32Mouse
win_input.obj : error LNK2019: unresolved external symbol __imp__GetWindowRect@8 referenced in function _IN_ActivateWin32Mouse
win_input.obj : error LNK2019: unresolved external symbol __imp__GetSystemMetrics@4 referenced in function _IN_ActivateWin32Mouse
win_input.obj : error LNK2019: unresolved external symbol __imp__ReleaseCapture@0 referenced in function _IN_DeactivateWin32Mouse
win_input.obj : error LNK2019: unresolved external symbol __imp__GetCursorPos@4 referenced in function _IN_Win32Mouse
win_main.obj : error LNK2019: unresolved external symbol __imp__DispatchMessageA@4 referenced in function _Sys_Error
win_main.obj : error LNK2019: unresolved external symbol __imp__TranslateMessage@4 referenced in function _Sys_Error
win_main.obj : error LNK2019: unresolved external symbol __imp__GetMessageA@16 referenced in function _Sys_Error
win_main.obj : error LNK2019: unresolved external symbol __imp__CloseClipboard@0 referenced in function _Sys_GetClipboardData
win_main.obj : error LNK2019: unresolved external symbol __imp__GetClipboardData@4 referenced in function _Sys_GetClipboardData
win_main.obj : error LNK2019: unresolved external symbol __imp__OpenClipboard@4 referenced in function _Sys_GetClipboardData
win_main.obj : error LNK2019: unresolved external symbol __imp__MessageBoxExA@20 referenced in function _Sys_LoadDll
win_main.obj : error LNK2019: unresolved external symbol __imp__PeekMessageA@20 referenced in function _Sys_GetEvent
win_shared.obj : error LNK2019: unresolved external symbol __imp__GetUserNameA@8 referenced in function _Sys_GetCurrentUser
win_snd.obj : error LNK2019: unresolved external symbol __imp__CoUninitialize@0 referenced in function _SNDDMA_Shutdown
win_snd.obj : error LNK2019: unresolved external symbol __imp__CoCreateInstance@20 referenced in function _SNDDMA_InitDS
win_snd.obj : error LNK2019: unresolved external symbol __imp__CoInitialize@4 referenced in function _SNDDMA_Init
win_syscon.obj : error LNK2019: unresolved external symbol __imp__SetFocus@4 referenced in function _InputLineWndProc@16
renderer.lib(win_glimp.obj) : error LNK2019: unresolved external symbol __imp__SetFocus@4 referenced in function _GLimp_SpawnRenderThread
win_syscon.obj : error LNK2019: unresolved external symbol __imp__CallWindowProcA@20 referenced in function _InputLineWndProc@16
win_syscon.obj : error LNK2019: unresolved external symbol __imp__SetWindowTextA@8 referenced in function _InputLineWndProc@16
win_syscon.obj : error LNK2019: unresolved external symbol __imp__GetWindowTextA@12 referenced in function _InputLineWndProc@16
win_syscon.obj : error LNK2019: unresolved external symbol __imp__DestroyWindow@4 referenced in function _Sys_DestroyConsole
renderer.lib(win_glimp.obj) : error LNK2001: unresolved external symbol __imp__DestroyWindow@4
win_syscon.obj : error LNK2019: unresolved external symbol __imp__CloseWindow@4 referenced in function _Sys_DestroyConsole
win_syscon.obj : error LNK2019: unresolved external symbol __imp__ShowWindow@8 referenced in function _Sys_DestroyConsole
renderer.lib(win_glimp.obj) : error LNK2019: unresolved external symbol __imp__ShowWindow@8 referenced in function _GLW_ChoosePFD
win_syscon.obj : error LNK2019: unresolved external symbol __imp__SendMessageA@16 referenced in function _Sys_ShowConsole
win_syscon.obj : error LNK2019: unresolved external symbol __imp__CreateWindowExA@48 referenced in function _Sys_SetErrorText
renderer.lib(win_glimp.obj) : error LNK2001: unresolved external symbol __imp__CreateWindowExA@48
win_syscon.obj : error LNK2019: unresolved external symbol __imp__UpdateWindow@4 referenced in function _ConWndProc@16
renderer.lib(win_glimp.obj) : error LNK2019: unresolved external symbol __imp__UpdateWindow@4 referenced in function _GLW_MakeContext
win_syscon.obj : error LNK2019: unresolved external symbol __imp__InvalidateRect@12 referenced in function _ConWndProc@16
win_syscon.obj : error LNK2019: unresolved external symbol __imp__SetTextColor@8 referenced in function _ConWndProc@16
win_syscon.obj : error LNK2019: unresolved external symbol __imp__SetBkColor@8 referenced in function _ConWndProc@16
win_syscon.obj : error LNK2019: unresolved external symbol __imp__SetTimer@16 referenced in function _ConWndProc@16
win_syscon.obj : error LNK2019: unresolved external symbol __imp__CreateSolidBrush@4 referenced in function _ConWndProc@16
win_syscon.obj : error LNK2019: unresolved external symbol __imp__DefWindowProcA@16 referenced in function _ConWndProc@16
win_wndproc.obj : error LNK2001: unresolved external symbol __imp__DefWindowProcA@16
win_syscon.obj : error LNK2019: unresolved external symbol __imp__PostQuitMessage@4 referenced in function _ConWndProc@16
win_syscon.obj : error LNK2019: unresolved external symbol __imp__SetForegroundWindow@4 referenced in function _Sys_CreateConsole
renderer.lib(win_glimp.obj) : error LNK2001: unresolved external symbol __imp__SetForegroundWindow@4
win_syscon.obj : error LNK2019: unresolved external symbol __imp__SetWindowLongA@12 referenced in function _Sys_CreateConsole
win_syscon.obj : error LNK2019: unresolved external symbol __imp__CreateFontA@56 referenced in function _Sys_CreateConsole
win_syscon.obj : error LNK2019: unresolved external symbol __imp__ReleaseDC@8 referenced in function _Sys_CreateConsole
renderer.lib(win_glimp.obj) : error LNK2001: unresolved external symbol __imp__ReleaseDC@8
renderer.lib(win_gamma.obj) : error LNK2001: unresolved external symbol __imp__ReleaseDC@8

Offline Michael

  • Lives here!
  • ****
  • Posts: 1608
Re: imports but won't build
« Reply #30 on: January 11, 2006, 06:48:26 pm »
I can import the projec with no problems, but it won't build.  I followed the instructions earlier in this post and everything builds except for the quake3 project.  I get the following linker errors.  What am I doing wrong?

Did you you follow the instructions that grv575, right?

Did you install all what it is needed for M$ Toolkit 2003?

Can you let know which libraries are you linking to? And other useful info as C::B version, includes file, and so on.

Michael

Offline cborders

  • Multiple posting newcomer
  • *
  • Posts: 14
Re: Quake 3 engine.... can't inport solution
« Reply #31 on: January 11, 2006, 07:06:06 pm »
Ok, the first part was my idiocy!!  I added the libs to the build options->linker like sugested, but I didn't have the quake3 project set as the active project!  :lol:  Sorry for that!  Then I got this error
Execution of 'rem bash -c perl ./unix/cons -- release-TA' in 'C:\quake3-1.32b\code' failed.
so I just built the normal release build.  Why is there anything about bash in a windows build script?

-=EDIT=-
I wrote a tutorial on how I got it to compile, it's in pdf for if anyone in interested you can drop me an email!
« Last Edit: January 11, 2006, 10:10:36 pm by cborders »

Offline Michael

  • Lives here!
  • ****
  • Posts: 1608
Re: Quake 3 engine.... can't inport solution
« Reply #32 on: January 12, 2006, 02:51:33 pm »
linker
 

Sorry for the question, but in the linker directory you have put a path to Visual Studio .NET 2003\Vc7\lib. Is this absolutely necessary? I think of someone not having Visual Studio installed.

Michael

grv575

  • Guest
Re: Quake 3 engine.... can't inport solution
« Reply #33 on: January 13, 2006, 02:06:34 am »
vc toolkit creates/uses that path as well

Offline Michael

  • Lives here!
  • ****
  • Posts: 1608
Re: Quake 3 engine.... can't inport solution
« Reply #34 on: January 13, 2006, 01:38:00 pm »
vc toolkit creates/uses that path as well

Ok, I understand :). Thank you for the explanation.

Michael