View previous topic :: View next topic |
Author |
Message |
Team Xlink
Joined: 25 Jun 2009 Posts: 320
|
Posted: Tue Jul 28, 2009 7:39 pm Post subject: Insert QC code into the Engine |
|
|
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 |
|
 |
mh

Joined: 12 Jan 2008 Posts: 910
|
Posted: Tue Jul 28, 2009 7:58 pm Post subject: |
|
|
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 |
|
 |
Team Xlink
Joined: 25 Jun 2009 Posts: 320
|
Posted: Tue Jul 28, 2009 9:34 pm Post subject: |
|
|
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 |
|
 |
Spike
Joined: 05 Nov 2004 Posts: 944 Location: UK
|
Posted: Tue Jul 28, 2009 10:58 pm Post subject: |
|
|
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 |
|
 |
|