Commit Graph

310 Commits

Author SHA1 Message Date
Blub fbf5e5b627 OP_MULSTORE_V is actually vec*float, so translate it to OP_MUL_VF instead of OP_MUL_V - this allows the direct use of vec *= float
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3375 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-09-18 18:39:11 +00:00
Blub e1e589e729 keep using num*sign when the token has no . in it, since in such cases it shouldn't become NaN, and we cannot use atof on tokens like 0xABC which end up, too
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3369 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-09-04 10:35:41 +00:00
Blub 25c5f6ba1b null-terminate before using atof, not afterwards...
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3368 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-09-02 17:04:55 +00:00
Blub e197253558 -Ocj must take OP_GOTO into account
this removes the unreachable-code warning when using 'break' at the end of an
if block within a loop


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3366 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-09-02 13:22:32 +00:00
Blub e0f2bb3a50 using atof() for floats in QCC_PR_LexNumber() so huge numbers don't create NaNs
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3363 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-09-01 22:23:47 +00:00
Spoike 59d474b547 don't use -fiffloat by default due to the performance hit. but always force it to be active if we have an actual OP_IF_F instruction in the target.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3362 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-08-29 19:44:58 +00:00
Spoike 47d924ceff iffloat by default.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3360 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-08-29 18:52:59 +00:00
Spoike 222529619e Can I go back to bed now?
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3358 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-08-29 17:51:13 +00:00
Spoike 5a5f38dbfc Yeah, I suck. Really works properly now. Maybe.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3357 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-08-29 17:24:20 +00:00
Spoike 5e5ad719c2 Fixed LexNumber to properly replace LexFloat.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3356 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-08-29 16:53:22 +00:00
Spoike 09a31850aa Bah, forgot to save after disabling it again.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3355 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-08-29 15:34:10 +00:00
Spoike f62dc94d87 You can kill me now.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3351 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-08-29 15:07:08 +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 2513254510 My god, was I asleep when I did that?
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3251 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-07-09 18:31:43 +00:00
Spoike 3b8c5d74bc I wonder how many more bugs there are left for Blub to find.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3235 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-07-05 21:44:17 +00:00
Spoike 2b58210060 Bugfixes courtesy of Blub:
Fixed new line counting in multi-line comments.
Fixed unary operators to favour a single term, except for the unary not operator.
Added:
Unary not operator warns whenever it consumes more than a single term.
Added more ways to optimise logic (a+0 = a).


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3232 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-07-03 19:02:42 +00:00
TimeServ cefc6d187a fix makefile for qclib
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3223 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-06-14 01:15:00 +00:00
Spoike 82f3ae2102 Looks like someone forgot a file.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3222 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-06-13 20:52:43 +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
TimeServ 740f4a09f9 actually apply fteqcc intrinsics patch http://stud4.tuwien.ac.at/~e0725517/patches/fteqcc_fix_intrinsics.diff
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3204 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-05-24 18:56:05 +00:00
Spoike dcefeaa8fa Fixed the makefile so qcc builds again by default.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3198 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-05-24 10:49:21 +00:00
Spoike 9cd988a836 Added csqc->ssqc requests.
Fixed up cl_indepphysics. Sending is fully independent, bar sync points.
Fixed so #if 0 works in qc code.
Fixed up error conditions in qclib when features are not supported.
The webpage generator will now refcount properly.
Fixed error conditions when using glsl shaders.
If MULTITHREAD is defined, r_loadlit will not light inside a separate thread.
We now generate VBOs for bsp objects. Shaders/rtlights don't use them yet.
Fixed up MVD/multiview playback a bit. It now looks like it works! (cl_hightrack will no longer track the same person in all views).
Fixed error conditions when attempting to download versioned csprogs.
Reduced the number of places that a q3-style marked up string is expanded. I think there are a couple places left still though. Approximated ezquake colour codes.
Memory mapped read file access in win32, where we can. Not sure about this. Lets see how things pan out.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3195 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-05-24 10:11:17 +00:00
Spoike ff22785542 Should fix certain compiler issues reported to me by Blub\0, found when compiling nexuiz code. This is Blub's fix.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3189 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-05-11 00:17:31 +00:00
Spoike 5f1a9d8cbf added cprint console command.
fixed nq client loading-screen persisting bug
fixed nq clients getting flooded by packets.
fixed nq clients not receiving any entities
removed a bit of redundant code in pmove
fteqcc: merged array function calls with real function calls, fixing return values in the process.
vid_preservegamma now defaults to off. windows sucks.
tweeked the prototype FTE_CSQC_SKELETONOBJECTS a bit. still not official nor advertised.
added a little bit more functionality to halflife support
csqc got some pmove tweeks. this is how I want it to work. nothing has been changed that is really incompatible with darkplaces in this commit.
added markers around some ext_csqc_1 features.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3178 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-04-19 00:50:42 +00:00
Spoike 2adb420a6d Reworked the console/loading screen a little. The console is no longer directly shown at startup. MSVC2005 project files update for npqtv.
Added vid_wndalpha to make the window transparent (only supported in GL-win32).
Multiple issues with SW rendering, which I'll fix eventually. It does at least run, even if it looks ugly.
Plugins are now able to read the console input. Bigfoot, feel free to tweek.
Fixed up a few mismatched prototypes.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3153 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-04-06 00:34:32 +00:00
Spoike 4974c57c2c Big fat-off commit.
A few changes. Half-Life support is finally getting committed.
Some unnecessary filesystem code changes.
And there's code for nsapi - meaning we can embed FTE in a browser (firefox and opera on windows work).
A couple of CSQC changes, trying to move towards a final EXT_CSQC_1.
Revised ruleset format finally implemented.
Doesn't compile with msvc6 due to issues with libjpeg not being a clean library.
Presumably its fine in vs2005.
Your mileage may vary.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3148 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-04-01 22:03:56 +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
Lance 2e768fe44c Blub/0's fteqcc macro line fix to quote "seem to be some problems with
newlines in macros (causing wrong line numbers in error/warning 
outputs)"


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3146 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-03-20 01:12:01 +00:00
Spoike 75fb5f5398 The different aspects of directx are now activated independently from each other, allowing greater custom build control.
Tweeked win64 options so as not to conflict with 32bit builds.
Win64 builds now with NO_LIBRARIES added. Yes, you need to provide 64bit libraries yourself if you want to use them (dinput/dsound should be part of the directx sdk and are, strictly speaking, not re-distributable). See bothdefs.h for how to activate individual 64bit libs.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3138 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-03-07 04:37:24 +00:00
Spoike 6e3f69f504 d3d rendering is diabled (framestate, read later - merged will compile just sw+gl for now).
fte particle scripts are disabled (classic works).
I'll fix these in the new year.
Redid framestate stuff again. Slightly better now, but this is the bulk of the changes here.
Reworked the renderqueue to provide batches of items instead of individual items. This cleans up the particle rendering code significantly, and is a step towards multiple concurrent particle systems. fte's scripted particles are broken as I'm trying to find a way to rework them to batch types together, rather than having to restart each batch after each particle when you have two particles in a trail. I'll fix it some time.
Reworked some alias model code regarding skeletal models. Added some conceptual skeletal bone control builtins available to csqc. Currently it can query the bone names and save off animation states, but can't animate - its just not complete.
Added more info to glsl custom shaders.
Updated surface sorting on halflife maps to properly cope with alphaed entities, rather than just texture-based blends (q2-style).

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3095 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-12-23 02:55:20 +00:00
Spoike b4defb722a Print line numbers in stack traces, if we know them.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3090 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-12-06 02:08:07 +00:00
Mark Olsen dee0c9d6cf Protect against multiple inclusion.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3063 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-11-14 16:48:23 +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 bf8eed727e Reject double dots in macro names (fred.4 is allowed but fred..4 is not). This allows Hexen2 code to compile again.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3050 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-10-30 11:10:58 +00:00
Spoike 98ce1d689d Fixed fullspawndata.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3049 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-10-23 20:56:15 +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 99c6152b4e Support for DP_SV_SPAWNFUNC_PREFIX in the .ent/bspent loader thingie. I'll add the extension name when I get around to fixing up and committing that chunk of code.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3044 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-10-13 09:25:51 +00:00
Spoike 0629d013b5 Fixed bug causing parameter conflict in statements like func(array[idx], func2(blah))
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3043 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-10-13 09:17:47 +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
Spoike 880a70837c DP_SV_SPAWNFUNC_PREFIX support
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3036 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-10-05 02:51:41 +00:00
Spoike 8af647d7d4 Blub\0's latest patch. This one fixes up for arguments.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3027 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-07-27 02:48:59 +00:00
Spoike 7c6f37c4ae Yes Blub, I suck.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3026 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-07-17 07:41:59 +00:00
Spoike 887a278bce patch from Blub\0 to fix issues with compiling:
b = min(a, b);
with -TFTE active.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3024 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-07-10 20:38:17 +00:00
Spoike 519983dee2 git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2992 fc73d0e0-1445-4013-8a0c-d673dee63da5 2008-06-01 22:06:22 +00:00
TimeServ a61d819f68 fix hash table inits, fix shader inits
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2959 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-05-14 18:06:58 +00:00
TimeServ 73f580157f fix malloc call, fix memset typo in qclib
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2958 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-05-14 17:27:57 +00:00
TimeServ 0739c739a6 BZ_* no longer clears, qclib no longer assumes memalloc clears
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2952 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-05-11 12:55:53 +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