Inside3D!
     

Insert QC code into the Engine

 
Post new topic   Reply to topic    Inside3d Forums Forum Index -> Engine Programming
View previous topic :: View next topic  
Author Message
Team Xlink



Joined: 25 Jun 2009
Posts: 320

PostPosted: Tue Jul 28, 2009 7:39 pm    Post subject: Insert QC code into the Engine Reply with quote

Solved.
_________________
Anonymous wrote:
if it works, it works. if it doesn't, HAHAHA!


Last edited by Team Xlink on Tue Nov 17, 2009 2:22 am; edited 1 time in total
Back to top
View user's profile Send private message
mh



Joined: 12 Jan 2008
Posts: 910

PostPosted: Tue Jul 28, 2009 7:58 pm    Post subject: Reply with quote

The engine is already capable of executing compiled QC through the PR_ExecuteProgram function, so that bit is covered. You can't just pass raw QC into it as is though, you would need to integrate elements of QCC (the QC compiler) into the codebase.

In general though most people would favour going the opposite direction and shifting as much as possible from the engine out to QC, purely because it does make it easier to expose new functionality for mods to take advantage of (whether or not they do is another matter). One of the advantages of using QC is that it's accessible to anyone with a command-prompt and a text editor, whereas putting it in the engine would require a copy of whatever compiler and IDE was used, a recompile of the engine for each platform, locking mods into having to use a specific engine (which could risk reducing the potential audience) and potentially lots of bugfixing.
_________________
DirectQ Engine - New release 1.8.666a, 9th August 2010
MHQuake Blog (General)
Direct3D 8 Quake Engines
Back to top
View user's profile Send private message Visit poster's website
Team Xlink



Joined: 25 Jun 2009
Posts: 320

PostPosted: Tue Jul 28, 2009 9:34 pm    Post subject: Reply with quote

I got it working.
_________________
Anonymous wrote:
if it works, it works. if it doesn't, HAHAHA!


Last edited by Team Xlink on Tue Nov 17, 2009 2:22 am; edited 1 time in total
Back to top
View user's profile Send private message
Spike



Joined: 05 Nov 2004
Posts: 944
Location: UK

PostPosted: Tue Jul 28, 2009 10:58 pm    Post subject: Reply with quote

What the hell?

Seriously... what the heck are you talking about?

QC is a compiled language. The engine doesn't understand regular QC in any way shape or form.
The engine _only_ understands progs.dat which are generated from qc by XXXXqcc (replace the Xs with your random set of letters of choice).

If you're trying to hint at csqc, then stop right there. csqc is a misnomer (because saying you support csprogs is a lot less meaningful). csqc is actually the compiled result of qc running clientside. QC itself is never run. the same is true with C.

If you're asking about some sort of way to alter entities in third party mods without digging too deeply into the third party mod, then give up right now. It doesn't work. It has been done, but the fundamentals are flawed for anything that doesn't depend upon specific inner workings of the mod. You complain that its been heavily modified, but those heavy modifications are the same thing that would break any external module affecting the game.

If you just want to merge the gamecode into the engine then you would have to port it to C first, in order to be able to compile it properly (see ktx as an example).

There is only one engine that can actually run gamecode 'straight'
from qc... and its really not very useful. It actually compiles it via qcc first.

So yeah, what the heck are you asking about?
_________________
What's a signature?
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    Inside3d Forums Forum Index -> Engine Programming All times are GMT
Page 1 of 1

 
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