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

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:

Offline takeshi miya

  • Lives here!
  • ****
  • Posts: 1487
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.

Offline zieQ

  • Almost regular
  • **
  • Posts: 155
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 »

Offline zieQ

  • Almost regular
  • **
  • Posts: 155
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! :)

Offline zieQ

  • Almost regular
  • **
  • Posts: 155
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 ;)

Offline zieQ

  • Almost regular
  • **
  • Posts: 155
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.

Offline takeshi miya

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

Offline zieQ

  • Almost regular
  • **
  • Posts: 155
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: .

Offline grv575

  • Official tester
  • Regular
  • ***
  • Posts: 381
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

Offline zieQ

  • Almost regular
  • **
  • Posts: 155
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 »

Offline grv575

  • Official tester
  • Regular
  • ***
  • Posts: 381
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).

Offline zieQ

  • Almost regular
  • **
  • Posts: 155
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?

Offline zieQ

  • Almost regular
  • **
  • Posts: 155
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