Commit Graph

57 Commits

Author SHA1 Message Date
Spoike 6398930473 Fixes bugs found by xonotic team ('0 0 0' being overlapped with globals, initialisers not being marked as referenced, fixed macro argument expansion to not crash when given long values).
Enables compilation of 'float foo=5;float foo=5;' (similarly functions, fields are never initialised anyway, the dupe is ignored so long as the initialisation is the same).
Fixed an offset bug with arrays stored within typedefed structs.
Fixed int += int to not require an explicit addstore operand.
Added support for ! operator in #if statements, as well as fixing a couple of other issues there, should be much more usable.
Added 'optional' keyword when defining function arguments. All trailing arguments must have it too. This allows stricter type checking with functions that take optional arguments.
Removed warnings with __variant types.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3921 fc73d0e0-1445-4013-8a0c-d673dee63da5
2011-11-08 06:00:35 +00:00
Spoike 77ac72e78c bumped MAX_NAME limit. seems to not be part of any structures/dynamic allocations, so there's no super-massive memory hole added by this.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3917 fc73d0e0-1445-4013-8a0c-d673dee63da5
2011-10-29 23:16:51 +00:00
Spoike f3bbed043b Some qcc changes.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3905 fc73d0e0-1445-4013-8a0c-d673dee63da5
2011-10-03 02:45:44 +00:00
Spoike e8c1f669cc Couple of changes.
D3D now supports hlsl shaders. Much functionality is still missing, but sky and water surfaces are in.
IQM models now supported.
Engine physics code is now potentially callable from csqc, but there are some issues which need to be resolved before its enabled.
FTEQCC has had some pointer/struct/array functionality improved. Complex trees can now be navigated properly.
added r_dumpshaders command to dump internal glsl scripts for editing.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3896 fc73d0e0-1445-4013-8a0c-d673dee63da5
2011-09-03 03:49:43 +00:00
Spoike fcb7dbd04b Cleanups, wine fixes, generic stuff, added makefile directive for use of gccs -combine option.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3753 fc73d0e0-1445-4013-8a0c-d673dee63da5
2011-03-12 13:51:40 +00:00
TimeServ 2fba86e3a0 progs version 3 support in qclib, attempt fix qtest traceline
git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3745 fc73d0e0-1445-4013-8a0c-d673dee63da5
2011-03-04 13:59:06 +00:00
Spoike f4ae7d680f divVerent's patch to enable subscoped locals, not sure if subscoped_away is required, but committing that anyway. Its copied from pastebin, so sorry for conflicts.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3706 fc73d0e0-1445-4013-8a0c-d673dee63da5
2010-12-22 01:05:33 +00:00
Spoike 18564b98f6 Wasn't prototyped, apparently.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3584 fc73d0e0-1445-4013-8a0c-d673dee63da5
2010-08-15 15:02:30 +00:00
Spoike ce07219448 Fixes, workarounds, and breakages. Hexen2 should work much better (-hexen2 says no mission pack, -portals says h2mp). Started working on splitting bigcoords per client, far too much work still to go on that. Removed gl_ztrick entirely. Enabled csprogs download by default. Added client support for fitzquake's 666 protocol, needs testing, some cleanup for dp protocols too, no server support, couldn't selectively enable it anyway. Now attempting to cache shadow meshes for explosions and stuff. Played with lightmaps a little, should potentially run a little faster on certain (intel?) cards. Tweeked npfte a little to try to avoid deadlocks and crashes. Fixed sky worldspawn parsing. Added h2mp's model format. Fixed baseline issue in q2 client, made servers generate q2 baselines. MOVETYPE_PUSH will not rotate extra if rotation is forced. Made status command show allowed client types. Changed lighting on weapons - should now be shaded.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3572 fc73d0e0-1445-4013-8a0c-d673dee63da5
2010-08-11 03:36:31 +00:00
Spoike 03bf08c0be Added -ffiletimes argument, which will cause fteqcc to ignore the compile if there were no changes. May be incompatible with some other features.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3557 fc73d0e0-1445-4013-8a0c-d673dee63da5
2010-07-18 10:01:57 +00:00
Spoike 0b1e3020d3 Trying to kill a few warnings.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3542 fc73d0e0-1445-4013-8a0c-d673dee63da5
2010-07-11 10:53:13 +00:00
Spoike 8c96747ad3 Removed the limit on macro contents lengths.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3540 fc73d0e0-1445-4013-8a0c-d673dee63da5
2010-07-03 21:49:48 +00:00
Spoike e6f90bea14 Tweeks to the d3d renderer. Supports various shader features now. Other changes/fixes/breakages also.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3531 fc73d0e0-1445-4013-8a0c-d673dee63da5
2010-05-01 22:47:47 +00:00
Spoike 66b78c0b11 Work In Progress branch.
In this version: replacement GL backend. Replacement D3D backend sharing code with GL. Lots of code reorganisation.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3401 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-11-04 21:16:50 +00:00
Spoike 2158389bef Added IF_F instructions.
Added -fassumeint so constants are by default ints instead of floats (like in C). Use a decimal point and it'll be a float.
Fixed a couple of omissions/bugs reported by Blub.
Added lame x86 jit which is still buggy, incomplete, and disabled. And bigfoot will hate it.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3349 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-08-29 14:56:42 +00:00
Spoike 2c0a7508b0 -werror support for fteqcc
once again, blame blub.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3347 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-08-29 13:39:57 +00:00
Spoike 1c985c65d2 and a bit more
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3221 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-06-13 12:25:39 +00:00
Spoike b3b885c122 Trying to clean up qclib a little.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3220 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-06-13 11:57:52 +00:00
Spoike 262bc69548 So I can define globals/functions as static.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3147 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-03-29 23:47:29 +00:00
Spoike dce284811e Minor update...
Q3 clients can connect to q1 gamecode (sv_listen_q3).
hacked support for SendFlags. It'll work compatibly, just not efficiently.
Unified shared qc builtins.
fteqcc supports int |= float, more params in macros, &~= operator.
Additional recent DP QC extensions.
Particle system abstraction. 'r_particlesystem classic' (vs null or script) will revert to truly classic particles.
Nexuiz might run again.
Network address revamp (sv_port and sv_port_ipv6 can both be used to specify an ipv4 address:port and both corrently accept clients). localhost now properly favours ipv4 (use ::1 for ipv6 localhost).
Download system revamp.
Numerous other changes.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3051 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-11-09 22:29:28 +00:00
Spoike 819d541362 local float blob = someformula; works now.
added support for -TDP (and #pragma TARGET DP). It is identical to -TFTE except for the instructions used. To be used with Blub's patch when he commits it for DP. It should allow more, this is a first-version.
#if defined(A) && defined(B) will also work as expected. Careful with nesting however, as complex formulas will not. Please use only a single operator.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3047 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-10-16 23:04:36 +00:00
Spoike 0a4c047eec Greater internal control over which variables are saved. Fixed a bug regarding temps and array references, which a couple of the nexuiz people found but didn't report (personally I found it was needed to be able to fire, but whatever).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3037 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-10-05 02:55:01 +00:00
Mark Olsen c44fb03810 CHARACTURE -> CHARACTER
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2883 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-01-28 13:28:35 +00:00
Lance ff6630d28c Patch from BlackHC, Increase maximum macro size and fix endless loop bug caused by empty macros
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2880 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-01-27 01:14:44 +00:00
Molgrum cf1a12ee11 Trying to fix the remaining warnings. Is this correct? Builds that now compiles with no warnings in VS 2005: Debug, Debug Dedicated Server and GLDebug.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2586 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-08-08 02:37:59 +00:00
Spoike 3671902d06 Added a warning for void() functionname() {} functions.
Fixed the ent.field.field += bug; by swapping the order of statements.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2495 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-04-15 17:35:58 +00:00
Spoike 7f6ff725e4 sizeof(long)==8
Bum.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2444 fc73d0e0-1445-4013-8a0c-d673dee63da5
2006-11-10 15:48:18 +00:00
Spoike 9620a98dc2 Removed moodles' infokey stuff which was totally wrong anyway.
Enabled the prototype warnings. Looks like we need them.
Fixed a few warnings other than the prototype ones which I just enabled.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1898 fc73d0e0-1445-4013-8a0c-d673dee63da5
2006-01-28 02:35:40 +00:00
Spoike 503eff6421 Reworked the filesystem. We now support a virtual filesystem. Many places accept stream usage, although many formats do not support this.
I'm not sure if this will break anything. It shouldn't do, but it might.

Not everything is ported over yet. Ideally there would be no more use of fopen anywhere else in the engine, and com_gamedir would be made static to fs.c
There are a couple of other changes too.

http/ftp stuff is currently disabled.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1728 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-12-21 03:07:33 +00:00
Spoike 0371d2cab6 Print out a warning count, added an entnum intrinsic.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1718 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-12-16 17:15:43 +00:00
Spoike 184ca975fc Removed the prints, added a -Wno-mundane, and readded some ifstring stuff that black took out a while ago. grr. if he carelessly breaks anything like that again.... grr.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1384 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-09-28 16:57:10 +00:00
Spoike 43a1890bcc Fixed an issue with fteqw's pr_fixbrokenqccarrays cvar when used with mutators. Also fixed field remapping with regard to multiple fields with the same offsets.
Played around with classes a bit. Should work a bit better now.
Added an extra compiler flag, to allow for fast-tracking arrays in supported engines. It uses a global to detect it, but we don't yet set that global anywhere in the loader. This will probably have issues in DP.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1325 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-09-14 04:36:07 +00:00
Spoike 347311db8c q3 fixes and misilaneous minor changes.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1298 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-09-08 22:52:46 +00:00
TimeServ 4ed3f5b009 poundonly -> hashonly
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1270 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-09-05 23:50:46 +00:00
TimeServ cf1ec0b425 poundonly flag for preqcc-dependant mods
constant name max increased to 64


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1267 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-09-03 21:42:22 +00:00
Mark Olsen 46c05df0ea allways -> always.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1172 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-07-28 15:33:27 +00:00
Mark Olsen 19476733cb allready -> already.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1171 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-07-28 15:22:15 +00:00
Spoike be270c6961 Small stuff
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1049 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-05-22 13:47:54 +00:00
TimeServ a366a4d90a 8 params instead of 4
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1010 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-05-11 17:55:25 +00:00
Spoike f43b221896 Stuff
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@942 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-04-16 16:21:27 +00:00
Spoike 4c9337fd35 some bug fixes.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@936 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-04-02 18:00:45 +00:00
Spoike 7e1ab9e29b *** empty log message ***
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@906 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-03-20 02:57:11 +00:00
Spoike ce3c561cfe CSQC is standard now, and secure via the same md4 as a map currently has.
Particle system functions renamed a bit, a few other cleanups in that area.
Console handling tweeked. Better rules for subconsoles and plugins. Commands are coloured if it'll be execed, which should help reduce occurences of chat being commands. tab compleation tweeked, partial compleation no longer changes the suggestion.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@895 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-03-10 03:55:18 +00:00
Spoike 9ae7e2621d SOFTWARE RENDERING IS BROKEN: DO NOT USE ASM VERSION.
Lots of changes.
CSQC should be functional, but is still tied to debug builds. It WILL have some bugs still, hopefully I'll be able to clean them up better if people test it a bit.
Precompiled headers are working properly now. Compile times are now much quicker in msvc. This takes most of the files this commit.
Restructured how client commands work. They're buffered outside the network message, some multithreaded code is in. It needs a bit of testing before it's active.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@885 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-02-28 07:16:19 +00:00
Spoike 4576ea829f A few changes. Reacc support
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@872 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-02-09 19:32:30 +00:00
Spoike 4b0395e079 Lots of stuff.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@684 fc73d0e0-1445-4013-8a0c-d673dee63da5
2004-12-24 08:45:56 +00:00
Spoike cbde1d3274 Fixed that QCC_WarningForName warning.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@472 fc73d0e0-1445-4013-8a0c-d673dee63da5
2004-11-19 14:20:52 +00:00
Spoike 619dd3393c Needed new warning type.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@428 fc73d0e0-1445-4013-8a0c-d673dee63da5
2004-11-15 13:02:31 +00:00
Spoike 7e7582b734 I feel that '#pragma warning disable Q302' will shortly be overused...
Added -Kno-ifstring parameter to break correction of if(string) to testing for null instead of empty string.
Added a couple of fixes for stacked function calls.
The reference and dereference (& and *) operators are now working with -Tfte! Woot.
Function calls to functions taking integer arguments with a floating point parameter have been tweeked to supply an implicit conversion rather than erroring all of a sudden.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@407 fc73d0e0-1445-4013-8a0c-d673dee63da5
2004-11-13 17:18:34 +00:00
Spoike 1378564dcd New warning type.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@398 fc73d0e0-1445-4013-8a0c-d673dee63da5
2004-11-06 14:47:24 +00:00