Index | FAQ | Search | Memberlist | Usergroups | Profile | Log in to check your private messages | Log in | Register

Compiling Quake Using Visual C++ Express Edition Goto page Previous 1, 2, 3 Next

| Inside3d Forums Forum Index -> Engine Programming

View previous topic :: View next topic
Author | Message
--- | ---
reckless Joined: 24 Jan 2008 Posts: 390 Location: inside tha debugger |

Posted: Fri Apr 17, 2009 11:48 am Post subject: |

can btw skip the ignore libc.lib if you change projects settings to use the c++ library (shared if your project uses any dll's) (static if not) important! at best the compiler will refuse to link if you dont do it this way at worst it compiles but get errors when running the exe.
also the warnings about deprecated libraries can be turned of by adding _CRT_SECURE_NO_WARNINGS to the preprocessor defines.
not so important unless you look for error messages cause it quickly becomes a mess to read if this aint turned off.
few things i discovered hope it ads

Back to top |

Stroggos Joined: 14 Apr 2009 Posts: 43 |

Posted: Sat Apr 18, 2009 2:51 am Post subject: |

Thanks i can compile now!!!! SKYBOXES!!!!! _________________ Dont even try to port Quake 4 to the ipod

Back to top |

Stroggos Joined: 14 Apr 2009 Posts: 43 |

Posted: Wed Apr 22, 2009 2:54 am Post subject: |

THis is really easy also i found out you can apply the same method to QuakeWorld and WinQuake _________________ Dont even try to port Quake 4 to the ipod

Back to top |

reckless Joined: 24 Jan 2008 Posts: 390 Location: inside tha debugger |

Posted: Wed Apr 22, 2009 9:35 pm Post subject: |

can basically be used for all quake engines aye except maybe Q3 not sure on this one cause it uses lcc for some of the process.

Back to top |

ceriux Joined: 06 Sep 2008 Posts: 969 Location: Florida, USA |

Posted: Wed Dec 02, 2009 2:59 am Post subject: |

ok guys iv attempted to compile the vanilla quake engine again with no luck. this is what i have...

Code:
1>Generating Code... 1>c:\cquake\gl_draw.c(148) : warning C4715: 'Scrap_AllocBlock' : not all control paths return a value 1>Compiling resources... 1>Microsoft (R) Windows (R) Resource Compiler Version 6.1.6723.1 1>Copyright (C) Microsoft Corporation. All rights reserved.
1>Linking...
1>gl_refrag.obj : error LNK2019: unresolved external symbol _BoxOnPlaneSide referenced in function _R_SplitEntityOnNode
1>gl_rmain.obj : error LNK2001: unresolved external symbol _BoxOnPlaneSide
1>world.obj : error LNK2001: unresolved external symbol _BoxOnPlaneSide
1>snd_mix.obj : error LNK2019: unresolved external symbol _Snd_WriteLinearBlastStereo16 referenced in function _S_TransferStereo16
1>snd_mix.obj : error LNK2019: unresolved external symbol _SND_PaintChannelFrom8 referenced in function _S_PaintChannels
1>sys_win.obj : error LNK2019: unresolved external symbol _Sys_SetFPCW referenced in function _Sys_Init
1>sys_win.obj : error LNK2019: unresolved external symbol _MaskExceptions referenced in function _Sys_Init
1>sys_win.obj : error LNK2019: unresolved external symbol _Sys_PopFPCW referenced in function _Sys_FloatTime
1>sys_win.obj : error LNK2019: unresolved external symbol _Sys_PushFPCW_SetHigh referenced in function _Sys_FloatTime
1>world.obj : error LNK2019: unresolved external symbol _SV_HullPointContents referenced in function _SV_PointContents
1>.\release_gl\glquake.exe : fatal error LNK1120: 8 unresolved externals
1>Creating browse information file...
1>Microsoft Browse Information Maintenance Utility Version 9.00.30729
1>Copyright (C) Microsoft Corporation. All rights reserved.
1>Build log was saved at "file://c:\cquake\release_gl\BuildLog.htm"
1>winquake - 11 error(s), 3 warning(s)
========== Build: 0 succeeded, 1 failed, 1 up-to-date, 0 skipped ==========

edit: got it to work by right clicking the sln file after i opened it as a project/solution and clicked rebuild instead of build?
_________________
QuakeDB - Quake ModDB Group

Back to top |

metlslime Joined: 05 Feb 2008 Posts: 177 |

Posted: Wed Dec 02, 2009 6:03 am Post subject: |

those missing symbols all appear to be functions that are implemented in ASM in the original quake source...

Back to top |

ceriux Joined: 06 Sep 2008 Posts: 969 Location: Florida, USA |

Posted: Wed Dec 02, 2009 6:50 am Post subject: |

i got that working, but i posted on a another thread after i tried to add something if you wouldnt mind would you look at that one? _________________ QuakeDB - Quake ModDB Group

Back to top |

r00k Joined: 13 Nov 2004 Posts: 483 |

Posted: Tue Dec 08, 2009 8:27 am Post subject: |

I've converted my project to MSVC 2008 Express, though in doing so I've noticed a new quirks and wondered if there's a setting or switch that's causing a problem. for example: this code works in MSVC v6.0

Code:
void Cmd_PrintLoc_f (void) { char loc[16], ang[16]; sprintf (loc, "'%5.1f %5.1f %5.1f'", cl_entities[cl.viewentity].origin[0], cl_entities[cl.viewentity].origin[1], cl_entities[cl.viewentity].origin[2]); Con_Printf ("origin:%s\n",loc);
sprintf (ang, "'%5.1f %5.1f %5.1f'", cl_entities[cl.viewentity].angles[0], cl_entities[cl.viewentity].angles[1], cl_entities[cl.viewentity].angles[2]);
Con_Printf ("angle :%s\n",ang);
}

yet compiled under 2008 it locks up the program.
Any ideas?

Back to top |

metlslime Joined: 05 Feb 2008 Posts: 177 |

Posted: Tue Dec 08, 2009 8:52 am Post subject: |

not sure this is the cause of your problem, but those buffers don't look big enough.

Back to top |

r00k Joined: 13 Nov 2004 Posts: 483 |

Posted: Tue Dec 08, 2009 9:03 am Post subject: |

Eeek! You're right! I must have modified the strings and not the variable defines! I guess v6.0 is more lax about things like this! BTW I removed all the asm files and so far seems to work

Back to top |

Baker Joined: 14 Mar 2006 Posts: 1538 |

Posted: Tue Dec 08, 2009 11:54 am Post subject: |

r00k wrote:
Eeek! You're right! I must have modified the strings and not the variable defines! I guess v6.0 is more lax about things like this! BTW I removed all the asm files and so far seems to work

snprintf! Not sprintf!
I globally replaced all of the sprintfs using POSIX to replace all of them.
http://forums.inside3d.com/viewtopic.php?t=1301
I noticed a lot of string buffer overflow protection in ezQuake added in 2008 and, of course, the DarkPlaces source code for years. There are a few other changes like strcat becomes strlcat.
POSIX search and replace can save hours of time doing things like the above in a split second, although writing a POSIX search and replace is a bit of work (but hey, 5 minutes to save 5 hours and guarantee no human error in 276 changes!)

Back to top |

r00k Joined: 13 Nov 2004 Posts: 483 |

Posted: Wed Dec 09, 2009 3:37 am Post subject: |

Idea: writing alias commands to the config.cfg using cvar cfg_savealias. Now its pretty straight forward but is it practical? I would think that having aliases ready when you connect means the server wont spam you again with the alias binds, means faster connecting to play..

Back to top |

Spike Joined: 05 Nov 2004 Posts: 944 Location: UK |

Posted: Wed Dec 09, 2009 3:46 am Post subject: |

r00k wrote:
Idea: writing alias commands to the config.cfg using cvar cfg_savealias. Now its pretty straight forward but is it practical? I would think that having aliases ready when you connect means the server wont spam you again with the alias binds, means faster connecting to play..

Because the server won't know if you already have aliases set up.
Because you can set aliases in the mod's default.cfg file anyway, with no need to save them.
Because stuffcmd(player, "alias quit \"say omg I'm lame\"\ncfg_savealias\n") is evil.
Actually, most QW clients wipe the aliases stuffed by servers when they disconnect. It helps with gamedir changes.
_________________
What's a signature?

Back to top |

r00k Joined: 13 Nov 2004 Posts: 483 |

Posted: Wed Dec 09, 2009 3:51 am Post subject: |

ya thats what i was forgettin

Back to top |

MeTcHsteekle Joined: 15 May 2008 Posts: 397 Location: its a secret |

Posted: Wed Dec 09, 2009 4:12 am Post subject: |

spike dont forget making w bind to "kill" command MUWAHHAHAHAHAHAHAHAHAHA _________________ bah

Back to top |

Display posts from previous:

| Inside3d Forums Forum Index -> Engine Programming | All times are GMT Goto page Previous 1, 2, 3 Next
Page 2 of 3

Jump to:

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

Powered by phpBB © 2004 phpBB Group