Commit graph

327 commits

Author SHA1 Message Date
Spoike
a963445415 posix continues to confuse me.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3558 fc73d0e0-1445-4013-8a0c-d673dee63da5
2010-07-18 12:14:36 +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
244c08ad04 Attempted to add support for divVerent's varlen protocol extension info. This is more silencing warnings than anything else.
Also tweeked video code to remove 6 dead sw-only functions.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3556 fc73d0e0-1445-4013-8a0c-d673dee63da5
2010-07-18 08:42:59 +00:00
Spoike
e7ec40d0c8 Trying to fix some leaks.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3547 fc73d0e0-1445-4013-8a0c-d673dee63da5
2010-07-12 22:46:37 +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
1e1084bed7 Changes merged from trunk. Also additional extensive changes. Q3 portals work.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3541 fc73d0e0-1445-4013-8a0c-d673dee63da5
2010-07-11 02:22:39 +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
a2fbc53631 Migrated QCLib stuff over from WIP branch.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3525 fc73d0e0-1445-4013-8a0c-d673dee63da5
2010-03-26 03:44:22 +00:00
Spoike
d0d380a19a Attempting to reduce the absurdity of ent.field[idx]=foo in fteqcc.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3524 fc73d0e0-1445-4013-8a0c-d673dee63da5
2010-03-26 03:29:44 +00:00
Spoike
589ef03c05 FTE, now with added C support - no longer treating enums as regular ints.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3509 fc73d0e0-1445-4013-8a0c-d673dee63da5
2010-02-06 01:25:04 +00:00
Blub
c8308c46f2 Patch by div0: add temp locking to ADDSTOREP emulation
This avoids the issue that temps used in += operations can be overwritten by function calls in the expression.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3483 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-12-22 21:38:52 +00:00
Spoike
1f34680832 Random hacks, ODE works in csqc.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3464 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-11-17 00:15:44 +00:00
Spoike
79a45e1a19 __NULL__ no longer triggers deprecation warnings.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3423 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-11-07 04:34:32 +00:00
Spoike
4c37c34c13 Fixed some stuff. Cygwin stuff compiles now, so maybe linux will too. I've not tested it though cos cygwin uses software gl rendering, and I'm impatient. Also boosted NUM_SPAWN_PARMS a little, so saved games will break.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3408 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-11-05 03:07:52 +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
0ba6d4c515 More robust. Slightly.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3378 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-10-06 00:17:04 +00:00
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