Wow.
Just from fixing the timeset compile issue, I find a bunch of compiler
stuff that fte does different!
On 2016-10-11 16:06, Cobalt wrote:
> One of my side projects is getitng the Runequake src to compile with
> FTE,
> and its been a long hard road as it was originally using qxxc to do the
> fancy compiling stuff thats all over this mod. Fte does have a -Fqccx
> mode
Really? I thought I was running the latest version:
] fteqcc -Fqccx
warning: Unrecognised flag parameter (-Fqccx)
> string timeset = "5\{0}":"10":"15":"20":"25":"30";
> string timeset_gold = "\5\{0}":"\1\0":"\1\5":"\2\0":"\2\5":"\3\0";
>
> defs.qc:1636: warning: Missing semicolon at end of definition
> defs.qc:1636: error: ":" is not a type
> defs.qc:1637: warning: Missing semicolon at end of definition
> defs.qc:1637: error: ":" is not a type
> But Im not sure that is a legit fix?
This depends entirely on how the compiler was setup to handle array /
string.
That is what it looks like anyway, as I used it before.
I was using frikqcc and that is the string array format.
I dumped that crap when I went to fte as it wasnt supported the same
way.
I make no promises...but try
defs.qc:
string timeset[5];
world.qc:
// in worldspawn
timeset[0] = "05";
timeset[1] = "10";
timeset[2] = "15";
timeset[3] = "20";
timeset[4] = "25";
timeset[5] = "30";
This compiles and may even work as intended. YMWV (note the W = will)
However... They use %{n} as an array reference - I believe fte does not.
> Runequake uses a makefile / .mk4 preprocessor system, seems like an old
> Unix
> language, but cant make heads or tails of it except it seems to let you
> compile the src for
> either Proquake (poq IN_POQ) or Quake World (qw / IN_QW). Would be
> great if
> we could figure out a DP mode , IE: IN_DP, and I guess thats my job . .
> ..
Yuk :)~
Once you get married to a compiler, unless you built the code with the
express purpose
of using other compilers, qc coder life can be most challenging.
As for head.m4 - these are some variety of define macros...
This is a lot like a function, but the compiler spits out code to
compile.
m4_define([-IN_POQ-], [-m4_ifdef([-POQ-], $@)-])
Some places in code I saw:
create_te_explosion (self.origin, IN_POQ(1, 0));
So, if POQ is set:
create_te_explosion (self.origin, 1);
and if POQ is not set:
create_te_explosion (self.origin, 0);
If I understand this correctly, this was done to merge the qw and poq
source trees, then define
a value for the one you want to compile.
If you really intend to rip out all the IN_* stuff, you will have to
leave the correct code behind.
You will still face all the other issues.
Maybe pick either the qw or poq source and avoid the IN_ marcros?
Good luck!
Stop by and see my new game design: https://www.patreon.com/six_gaming
|