Commit graph

99 commits

Author SHA1 Message Date
Spoike
fc82e561be Rewritten how arguments and fields are stored. No longer mangles types quite so much.
Fixes for class support. Its actually usable now. Seriously! I've even modified my menu code to use it! Why don't you believe me?
Fixes for structs+pointers.
Added warnings for comparisons against incompatible function etc types. This'll probably generate a load of th_pain warnings in vanilla code.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4383 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-06-02 06:03:54 +00:00
Spoike
577419de37 improve handling of writing to world entity.
split left and right alt. binds+gamecode still use left-alt exclusively. alt-for-red-chars only works with left alt. right alt is alt-gr, so text input now works fine.
fixed support for keypad and text entry.
sdl2 clipboard support, if we're compiled with sdl2.
fixed issues with sdl sound. shouldn't be so terrible now.
soundinfo command now more verbose.
support for interpolated ramps.
removed input line length limitations, although some limitations still remain.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4315 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-04-13 08:15:18 +00:00
Spoike
dfe295a1ee Clarify that error a little, it looks bad when the most likely cause is inside the 'Killed' function!
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4259 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-03-17 12:16:06 +00:00
Spoike
630af9dc7c ------------------------------------------------------------------------
r4187 | acceptthis | 2013-02-04 04:52:32 +0000 (Mon, 04 Feb 2013) | 9 lines

fix particle effect index insanity.
.modelflags support.
fix laggy mvds issue.
replacementdeltas works in mvds.
fix issues with not knowing which mvd is currently being recorded.
input line now permanently functions as utf-8.
cope with double-chevron links in the input line.
Add support for ^{xxxx}, but don't generate it. can only cope with 16bit anyway.
fix skins issues.
------------------------------------------------------------------------


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4185 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-03-12 22:44:00 +00:00
Spoike
9e2969390d ------------------------------------------------------------------------
r4174 | acceptthis | 2013-01-25 15:56:53 +0000 (Fri, 25 Jan 2013) | 8 lines

fix fteqcc 'tui'.
Added new warning to detect non-utf-8 strings. Doesn't check for overlong.
Added new warning to detect uninitialised locals.
Fix ///* inside #if.
Renamed -Olm to -Olo, and fixed the bugs that stopped it from working. Uses the uninit locals check to prevent breakages.
Optimised -Os.
'local const foo' definitions no longer sit within the local variables block.
Fixed confusion between OP_BOUNDCHECK and jumps.
------------------------------------------------------------------------


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4172 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-03-12 22:32:25 +00:00
Spoike
8d5b217266 ------------------------------------------------------------------------
r4169 | acceptthis | 2013-01-17 08:55:12 +0000 (Thu, 17 Jan 2013) | 31 lines

removed MAX_VISEDICTS limit.
PEXT2_REPLACEMENTDELTAS tweaked, now has 4 million entity limit. still not enabled by default.
TE_BEAM now maps to a separate TEQW_BEAM to avoid conflicts with QW.
added android multitouch emulation for windows/rawinput (in_simulatemultitouch).
split topcolor/bottomcolor from scoreboard, for dp's colormap|1024 feature.
now using utf-8 for windows consoles.
qcc warnings/errors now give clickable console links for quick+easy editing.
disabled menutint when the currently active item changes contrast or gamma (for OneManClan).
Added support for drawfont/drawfontscale.
tweaked the qcvm a little to reduce the number of pointers.
.doll file loading. still experimental and will likely crash. requires csqc active, even if its a dummy progs. this will be fixed in time. Still other things that need cleaning up.
windows: gl_font "?" shows the standard windows font-selection dialog, and can be used to select windows fonts. not all work. and you probably don't want to use windings.
fixed splitscreen support when playing mvds. added mini-scoreboards to splitscreen. 
editor/debugger now shows asm if there's no linenumber info. also, pressing f1 for help shows the shortcuts.
Added support for .framegroups files for psk(psa) and iqm formats.
True support for ezquake's colour codes. Mutually exclusive with background colours.
path command output slightly more readable.
added support for digest_hex (MD4, SHA1, CRC16).
skingroups now colourmap correctly.
Fix terrain colour hints, and litdata from the wrong bsp.
fix ftp dual-homed issue. support epsv command, and enable ipv6 (eprt still not supported).
remove d3d11 compilation from the makefile. the required headers are not provided by mingw, and are not available to the build bot, so don't bother.
fix v *= v.x and similar opcodes.
fteqcc: fixed support for áéíóú type chars in names. utf-8 files now properly supported (even with the utf-8 bom/identifier). utf-16 also supported.
fteqcc: fixed '#if 1 == 3 && 4' parsing.
fteqcc: -Werror acts on the warning, rather than as a separate error. Line numbers are thus more readable.
fteqcc: copyright message now includes compile date instead.
fteqccgui: the treeview control is now coloured depending on whether there were warnings/errors in the last compile.
fteqccgui: the output window is now focused and scrolls down as compilation progresses.
pr_dumpplatform command dumps out some pragmas to convert more serious warnings to errors. This is to avoid the infamous 'fteqcc sucks cos my code sucks' issue.
rewrote prespawn/modelist/soundlist code. server tracks progress now.
------------------------------------------------------------------------


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4167 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-03-12 22:29:40 +00:00
Spoike
53a7b3d47c added support for external capture plugins - and using avcodec as a plugin.c.
The ragdoll API is potentially usable now, but still really limited.
Enabled SQL requests by default using sqlite. Note that you'll need the sqlite dll to use this. MySQL should still be usable, but I didn't try. MySQL requires -DUSE_MYSQL to compile it, and a dll and -mysql argument to enable it.
Fixed nacl.
NPFTE plugin now invokes an exe to run the game rather than running the game within the browser.
externvalue builtin now accepts & prefix to return a pointer instead.
Fixed vector autocvars.
uri_get, bufstr_add, bufstr_free, now functional.
QC debugger can now show asm if line numbers are not available.
Added support for QC watchpoints. Use the watchpoint command.
gl_specular now give specular even without rtlights, thankfully not as blatently, but its there.
android will not crash due to supported audio formats, and gles2 can be selected via a cvar (requires full FTEDroidActivity/program restart).

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4152 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-11-27 03:23:19 +00:00
Spoike
53116a9763 tweaked console completion to be less spammy and to show descriptions for commands where available.
added a few descriptions to a few cvars.
tweaked strzone/strunzone, added memalloc/memfree/memcpy/memset (use pr_dumpplatform to dump out a new defs).
tweaked android to use a smaller audio buffer, hopefully reducing latency slightly. let me know if this results in bugs...

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4005 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-03-19 06:30:41 +00:00
Spoike
854157a4e7 Added .vector gravitydir;
Added csqc getentity builtin (untested, broken for players).

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3998 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-02-17 01:12:37 +00:00
Spoike
20403759b0 Stricter typedefs/typenames, so no more random types appearing which were not intended.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3974 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-02-05 01:38:51 +00:00
Spoike
4496bb6ea0 Removed limit on strcat builtin's length.
Fixed issues with DP7 protocol.
Fixed .fatness.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3965 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-01-28 10:30:44 +00:00
Spoike
fb214142a3 tcpconnect fixes
lots of hexen2 fixes
fixed clipped decals again, still not using any...
fixed zips over 2g
rewrote bloom to use glsl. should be slightly more usable now.
lots more hexen2 fixes

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3957 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-01-17 07:57:46 +00:00
Spoike
d6d0105d3c A couple of changes.
Added a higher quality particle config.
Quick hack for crepuscular rays.
added new command, eg: pr_dumpplatform -FFTE -O csplat
used package reporting on servers, auto package downloading on clients, should be fully implemented.
Smoothed out players a little. Added option to menus.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3926 fc73d0e0-1445-4013-8a0c-d673dee63da5
2011-12-05 15:23:40 +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
261b104c09 Added a cvar to enable recording mvd files containing 'unsafe' extensions, so CSQC ents can now be recorded. This defaults to off, and is expected to be enabled for mods that are truely FTE only.
Recording qwd files works again.
Not all extensions are fully implemented, when recording both mvds and qwds, particularly the initial connection info (including model list length).
Ezquake's invalid chunk requests generate no protocol response. Ezquake should no longer kick itself after every download.
Couple of other bugs fixed.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3893 fc73d0e0-1445-4013-8a0c-d673dee63da5
2011-08-16 04:12:15 +00:00
Spoike
f6856f7d2d Changed internal opcode names to always specify variable type.
The x86 jit appears to work properly after quick tests. Needs wider testing. Currently disabled still.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3857 fc73d0e0-1445-4013-8a0c-d673dee63da5
2011-07-08 18:59:48 +00:00
Spoike
d5ab16befc heightmap semi-functional again, but still useless.
A few bugs fixed.
Slightly better compatibility with DP.
Added breakpoint_csqc command to set breakpoints in csqc to better debug csprogs.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3793 fc73d0e0-1445-4013-8a0c-d673dee63da5
2011-05-20 04:10:46 +00:00
Spoike
f0a1318c2b Misc attempts at fixes.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3708 fc73d0e0-1445-4013-8a0c-d673dee63da5
2010-12-23 03:55:10 +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
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
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
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
4a823c3601 bigfoot: Works for me(TM)
final 64bit qcvm portability issues fixed (I hope).
new qc extension: DP_QC_UNLIMITEDTEMPSTRINGS (assuming pr_tempstringcount = 0)
fixed a couple of issues with msg_entity being random.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2475 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-03-11 16:51:45 +00:00
Spoike
6f98f6f108 fastarrays works properly now.
changed stereo -> numchannels in the sound code
added/tweeked the download menu
fixed a coupld of fs functions
switched the key config menu to mouse-driven
right click now closes menus


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1901 fc73d0e0-1445-4013-8a0c-d673dee63da5
2006-01-28 06:41:20 +00:00
Spoike
339d478659 I wonder how much this will break. Ahh well. It works for me, and I need to go to bed.
Well, plugins should be able to read/write files through the engine. audio decoding plugin interface is in (might be changed later).
TCPConnect is in.
msg_filter and scr_centersbar.
some recording fixes too.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1634 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-11-30 01:20:53 +00:00
Mark Olsen
b3b3a7a83a Renamed vector to _vector to avoid name clashes on Altivec systems.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1623 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-11-29 13:30:20 +00:00
Spoike
9355c7dda5 makeconfig.sh - the shell script that generates config.h either automagically or through prompts, use it through make
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1586 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-11-26 03:02:55 +00:00
Spoike
cb7acda2dd Fixing a couple of warnings.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1446 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-10-07 02:14:22 +00:00
Spoike
13cade8fe9 fixed some minor issues
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1337 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-09-15 05:55:43 +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
7903310326 Lots of small changes. q3 player models are working and things, though csqc. md5mesh is supported (md5anim through an alternate 'format' to specify model name and a list of md5anims).
Lots of cool stuff.

r_shadows is still broken due to depth sorting of model (and thier depth value being written too late).


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1196 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-08-03 23:14:59 +00:00
TimeServ
a23de78d86 NULL function crash fix
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1178 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-07-31 00:12:09 +00:00
Spoike
dfd8e1aaed Redesigned sound code for greater modularity.
Added support for dp6/dp7 protocols (ents are still broken).
md3 tags should work properly (still suffer from origin-of-parent interpolation bugs)


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1089 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-06-14 04:52:10 +00:00
Spoike
4bad00fba8 small bug. functionname wasn't offset by the string table.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1046 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-05-22 13:07:08 +00:00
Mark Olsen
5f1ac1f246 Added newline at end of file too keep GCC from whining.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1019 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-05-17 09:50:54 +00:00
Spoike
4a0c02b685 Hopefully, the server will now run on 64bit archetectures.
Also, a piece of unitialialized memory should now be fixed.
there's a con_centertext cvar added
an extra default particle texture.
further dp protocol compatability stuff.
EF_ADDATIVE works on models and supposedly sprites. will do sw sprites too at some point.

Linux makefile needs work still.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1017 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-05-17 02:36:54 +00:00
Spoike
1b5c97bd31 urm, yeah, bracket fixed. hrm. ah well.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@985 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-05-04 20:07:44 +00:00
Spoike
63b7296630 Small bug fix. Strict parsers were complaining... gcc4. :/
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@984 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-05-04 19:49:48 +00:00
Spoike
d7bb31a516 Some changes. QC execution has been tweeked a little. It needs further work still.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@925 fc73d0e0-1445-4013-8a0c-d673dee63da5
2005-03-28 00:11:59 +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
5372f5ba08 Small bugfix
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@505 fc73d0e0-1445-4013-8a0c-d673dee63da5
2004-11-23 00:22:04 +00:00
Spoike
1212770986 Friendlier breakpoints.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@421 fc73d0e0-1445-4013-8a0c-d673dee63da5
2004-11-13 17:34:07 +00:00
Spoike
98d6bf162d assignment to world now names a function.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@403 fc73d0e0-1445-4013-8a0c-d673dee63da5
2004-11-08 11:46:34 +00:00
Spoike
5031c2a92f more informative
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@392 fc73d0e0-1445-4013-8a0c-d673dee63da5
2004-11-04 01:22:18 +00:00
Spoike
4d528922fd plugins
capture_codec tga/png/jpg
Changed intensity of hud images so that high-gamma settings work... (maybe too much)
Small progs changes that fixes hexenc


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@323 fc73d0e0-1445-4013-8a0c-d673dee63da5
2004-10-13 07:24:59 +00:00
Spoike
30d0582da8 Well, that'll make debugging less crashy...
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@283 fc73d0e0-1445-4013-8a0c-d673dee63da5
2004-10-01 22:20:50 +00:00
Spoike
5679f8248e sets the builtin number that the progs is calling. Very useful when the mod tries using a missing builtin.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@98 fc73d0e0-1445-4013-8a0c-d673dee63da5
2004-09-01 00:04:02 +00:00
Spoike
7c00f2b190 Initial Checkin
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@18 fc73d0e0-1445-4013-8a0c-d673dee63da5
2004-08-23 01:38:21 +00:00