1
0
Fork 0
forked from fte/fteqw
Commit graph

90 commits

Author SHA1 Message Date
Shpoike
ff1a2299f4 megacommit.
adds qtv relay support.
lots of other misc tweaks.
2024-07-14 19:58:26 +01:00
Shpoike
8dadfb4878 Added sys_openfile console command(and menu option) to web and flatpak(via cmake+dbus) builds, to 'install' packages on sandboxed systems a bit more easily.
Cmake: Add FTE_WERROR option, defaults to true in debug builds and off in release builds (in case future compilers have issues).
Cmake: Pull in libXscreensaver so we don't get interrupted by screensavers when playing demos.
Make: Added `make webcl-rel` for a web build without server bloat (eg for sites focused on demo playback. Yes, this means you XantoM).
fteqcc: Include the decompiler in fteqcc (non-gui) builds ('-d' arg).
fteqcc: Decompiler can now mostly handle hexen2 mods without any unknown opcodes.
Allow ezHud and OpenSSL to be compiled as in-engine plugins, potentially for web and windows ports respectively.
Web: Fix support for ogg vorbis. Add support for voip.
Web: Added basic support for WebXR.
QTV: Don't try seeking on unseekable qtv streams. Don't spam when developer 1 is set.
QTV: add support for some eztv extensions.
MVD: added hack to use ktx's vweps in mvd where mvdsv doesn't bother to record the info.
qwfwd: hack around a hack in qwfwd, allowing it to work again.
recording: favour qwd in single player, instead of mvd.
Protocol: reduce client memory used for precache names. Bump maximum precache counts - some people are just abusive, yes you Orl.
hexen2: add enough clientside protocol compat to play the demo included with h2mp. lacks effects.
in_xflip: restored this setting.
fs_hidesyspaths: new cvar, defaults to enabled so you won't find your username or whatever turning up in screenshots or the like. change it to 0 before debuging stuff eg via 'path'.
gl_overbright_models: Added cvar to match QS.
netchan: Added MTU determination, we'll no longer fail to connect when routers stupidly drop icmp packets.
Win: try a few other versions of xinput too.
CSQC: Added a CSQC_GenerateMaterial function, to give the csqc a chance to generate custom materials.
MenuQC: Added support for the skeletal objects API.
2024-07-14 19:58:24 +01:00
Daniel Svensson
317ca00298 Use snprintf and a larger buffer for file size.
In practice it would likely never overflow, but if you happen to have an implausible large demo in folder it could.
2023-12-25 11:07:30 +01:00
Spoike
27cf81cde7 Attempt to make clang happier.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5713 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-06-27 19:32:16 +00:00
Spoike
9033f7b237 fixed eztv md4 incompatibility.
reimplemented qtvreverse command.
fixed some stuffcmds being handled by the wrong splitscreen seats (was noticable in TF).
rework smartjump to try to be more predictable...
rework relighting to try to be more robust (and more self-contained).
allow the csqc to actually use VF_PROJECTIONOFFSET.
jump now moves upwards instead of trying to lock on to a nearby player when spectating.
assume 32 fullbright pixels when running with a palette.lmp yet no colormap.lmp (happens with some total conversions).
tweaked scoreboard for fainter backgrounds.
rearranged autoid, to be smaller etc.
hacked around dodgy conchars.lmp - don't treat 128*128 qpics as qpics to work around workarounds for buggy wad tools (with a warning).
fixed missing fullbrights on h2holey models.
avoided warning about mod_h2holey_bugged on dedicated servers.
added net_ice_exchangeprivateips, for people worried about exposing lan IPs when using ICE.
sv_public 2: implemented client support for our webrtc broker in order to use our own ICE implementation without needing to faff around with irc accounts or plugins etc.
TODO: ensure at least one ephemerial udp port when using ice or come up with some better sv_port handling
fixed multiple tls bugs (one could cause server problems). change net_enable_tls to disabled by default anyway (reenable for the server to be able to respond to https/wss/tls schemes again).
don't colourmap when there appears to be a highres diffusemap on q1 models.
imgtool now understands exporting from qpics in wads, as well as just mips.
implemented speed-o-meter in ezhud.
added removeinstant builtin to avoid the half-second rule.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5614 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-02-11 18:06:10 +00:00
Spoike
8e656b4af8 Fix some qtv proxy bugs, some serious some less so.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5604 fc73d0e0-1445-4013-8a0c-d673dee63da5
2020-01-20 18:01:39 +00:00
Spoike
6c5de8e8b1 Added pm_pground cvar for compat with mvdsv/ezquake. Do not use it with NQ mods however, as the QC will interfere with the onground state (QW mods are okay).
Added Z_EXT_PF_ONGROUND + Z_EXT_PF_SOLID for compat (not enabled serverside due to conflicts with pext - just a define away).
Fixed bug with loading screens switching sizes part way through loading.
Added hexen2 rain effect.
Fix hexen2 model texture alphas not working.
Fix potential linux crash from excessively long stdin lines.
Added cl_rollalpha cvar.
Fixed quirk where the player would slide along the base of steep walls/slopes.
Tweaked PM_NudgePosition to be more precise, giving more reliable prediction.
Fixed fread qc builtin.
Tweaked random() builtin to bias slightly away from 0, so that nextthink=random()*foo; will never cause statue-monsters.
Check for GL_WEBGL_depth_texture instead of just GL_OES_depth_texture, to fix compressedTex2d errors in firefox.
Second attempt at blocking invariant keyword with mesa.
Use xrandr for gamma where possible. This prevents reading stale XF86 gamma ramps and restoring those invalid ramps when quitting.
Try to grab mouse pointers slightly faster in x11.
Don't call XIFreeDeviceInfo if XIQueryDevice returned NULL.
Document parm_string and startspot qc globals.
Fix possible infinite loop from physics frames.
QTV: stripped most of the old plugin code (because really, who has a browser that still supports either ActiveX or NPAPI). Fixed up emscripten port references.
QTV: fix bug with protocol extensions not being reported to viewers.
QTV: use binary websockets instead of text.



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5419 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-03-01 22:39:30 +00:00
Spoike
fa0c73d33b Fixed crash from too many csqc entities (reported by shpuld)
Added .psd, .pbm/.pgm/.ppm, .pfm, and .hdr image formats. Extensions NOT added to r_imageextensions.
png (and the above formats) can now be loaded as RGBA16, instead of being truncated to RGBA8 (8bit pngs not affected).
r_imagelist will now show images from memory, instead of potentially loading new/different ones from disk.
Fix serverbrowser bug being too eager to join the server (eg from alt+tab).
Don't send ipv6 packets to qw/q2 masters. They won't be able to report ipv6 addresses anyway, and this reduces warnings when a host STILL has no ipv6 (my ISP sucks). this does not affect q3/dpmasters, for people without ipv4 addresses.
Tried to improve compat with Bloodshot's particle effects.
Fixed a couple of issues with R_AddTrisoup.
Fixed string tokenizing bug where it was using the wrong buffer size values.
Don't show link-local/localhost addresses in eg the status command (unless developer).
qtv-rel is now an easier target, for new qtv releases.
qtv warning fixes.
added a nailtrail effect to 'high' particles.
fixed terrain shaders.
fixed fogged water issue (on one of bal's maps).
first attempt at gltf2 format support



git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5400 fc73d0e0-1445-4013-8a0c-d673dee63da5
2019-02-16 19:09:07 +00:00
Spoike
a4942abf52 finally got around to updating qtv to add a few common protocol extensions.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5234 fc73d0e0-1445-4013-8a0c-d673dee63da5
2018-04-06 17:39:32 +00:00
Spoike
a97007ae5a dpp7: Treat 'dropped' c2s packets as choked when using dpp7 protocols. This is because the protocol provides no way to disambiguate, and I don't like false reports of packetloss (only reliables loss can be detected, and that's not frequent enough to be meaningful). Pings can still be determined with dpp7, for those few packets which are acked.
package manager: reworked to enable/disable plugins when downloaded, which can also be present-but-disabled.
package manager: display a confirmation prompt before applying changes. do not allow other changes to be made while applying. prompt may be skipped with 'pkg apply' in dedicated servers.
sv: downloads are no longer forced to lower case.
sv: added sv_demoAutoCompress cvar. set to 1 to directly record to *.mvd.gz
cl: properly support directly playing .mvd.gz files
menus: reworked to separate mouse and keyboard focus. mouse focus becomes keyboard focus only on mouse clicks. tooltips follow mouse cursors.
menus: cleaned up menu heirachy a little. now simpler.
server browser: changed 'hide *' filters to 'show *' instead. I felt it was more logical.
deluxmapping: changed to disabled, load, generate, like r_loadlit is.
render targets api now supports negative formats to mean nearest filtering, where filtering is part of texture state.
drawrotpic fixed, now batches and interacts with drawpic correctly.
drawline fixed, no interacts with draw* correctly, but still does not batch.
fixed saving games.
provide proper userinfo to nq clients, where supported.
qcc: catch string table overflows safely, giving errors instead of crashes. switch to 32bit statements if some over-sized function requires it.
qtv: some bigcoords support tweaks

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5073 fc73d0e0-1445-4013-8a0c-d673dee63da5
2017-03-21 05:27:07 +00:00
Spoike
5920bf05fb reworked menusys combo items, as per mushi's request. should be a bit prettier now.
fixed most gcc warnings when compiling for linux.
client can now connect to 10002 servers. probably 10000+10001 too, but too lazy to test.
doom3 map loading is working again, but has too many issues for it to be useful (leaks, premature purges, no texture_d suffix support), so its still disabled for now.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4999 fc73d0e0-1445-4013-8a0c-d673dee63da5
2016-02-15 06:01:17 +00:00
Spoike
906b705bf0 after much breaking, the webgl port now utilises the browser's ogg/mp3 decoder, and the browser's png decompresser. pngs/jpegs do not provide size information.
fixed non-browser ogg decoding and openal logic. should finally be fixed, I guess.
wasted some time on an ezhud plugin, along with ensuring certain info is available to the plugin. this is still a work in progress however.
non-web builds are now able to download images from urls.
download progress does not display for uri_get/uri_post builtins, nor other non-saved things.
q1qvm logic now uses pr_maxedicts cvar. the gamecode api still provides no way to tell how many are permissable, so set at own risk.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4852 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-04-21 04:12:00 +00:00
Spoike
f13a87f021 Added EF_BRIGHTFIELD to classic particles.
fix r_softwarebanding
fix r_waterstyle

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4842 fc73d0e0-1445-4013-8a0c-d673dee63da5
2015-03-03 07:54:10 +00:00
Spoike
dddee3d76c rewrote some master server code to isolate games.
servers will subscribe to both ipv4 and ipv6 addresses if a master's name resolves to both types.
handle filename security more cautiously.
avoid some wasted memory with q3bsps. fix crashing bug in dedicated servers.
try fixing OMC's latest issue.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4803 fc73d0e0-1445-4013-8a0c-d673dee63da5
2014-12-23 15:26:42 +00:00
Spoike
6a831e2f99 qwsvdef.h is no more. Many files changed because of this.
enabled ssl support in windows for plugins.
updated jabber plugin.
tweaked downloading logic in an effort to end the madness.
Updated sql code to support sleeping the qc thread until query completion, as a more readable alternative to callbacks.
Client updates should be more explicit now, removing a potential bug.
networked terrain editing should now be in a better state.
updated the dir command to show paths too (so when the same file is listed twice, the pak its in will at least be different). Many files changed because of this.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4273 fc73d0e0-1445-4013-8a0c-d673dee63da5
2013-03-31 04:21:08 +00:00
Spoike
c6c3d3f4e0 Trimmed some dead files.
Quick hack preliminary d3d11 renderer. I'm not likely to touch this again for quite some time.
Sys_Error works properly on android, with an error message shown. Should be less of a stab in the dark if you get errors. Seg faults are still instantly fatal. Not much I can reliably do about those - most of the juicy ones will likely occur within the gl drivers (even if its my fault) and java will still call in to it.
Stereoscopic (quad-buffered) rendering is in the gl renderer. You'll likely need a quatro to use it despite it being a gl 1.0 feature. No idea about ati. See r_stereo_method for non-quad-buffered alternatives.
Tweaked networking to not overflow so much. Needs testing against other qw clients.
Fixed an issue with surface numbers > 32k on limit-breaking maps.
Fixed a preparse issue resulting in QW clients dying with the ne_ruins map's progs.
Support for the DP-variant of BSP2. The depricated RMQ variant is still supported.
QTV proxy now uses ipv6 hybrid sockets where possible. Preliminary pext support.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4105 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-09-30 05:52:03 +00:00
Spoike
3da350a3ed NQ-related bugfixes.
Added new project/target for easy integration into NQ engines - read nq_api.c for guidelines.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4024 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-04-23 04:37:33 +00:00
Spoike
6385756e75 work around eztv newline bug.
Websocket support.
Better IPv6 support (at least as a server).

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4019 fc73d0e0-1445-4013-8a0c-d673dee63da5
2012-04-20 14:41:40 +00:00
Lance
1a5cb4add5 Removed qplaque.lmp and p_option.lmp from appearing on connected clients (only fteqw clients saw these) which blocked the menu text.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3875 fc73d0e0-1445-4013-8a0c-d673dee63da5
2011-07-15 12:51:05 +00:00
Lance
4943723a8b socket/tcp/udp errors more verbose (strerror)
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3872 fc73d0e0-1445-4013-8a0c-d673dee63da5
2011-07-14 09:18:04 +00:00
Spoike
93aba48cdc TA couple of fixes.
Meshes now have the right lighting if they were cached before rendering.
npFTE startup/shutdown/restartup is more robust and is less likely to crash browsers.
Re-added the r_shadows cvar. It now provides blob shadows.
Hopefully fixes mingw voip crash, may need mingw upgrade, sorry in advance moodles.


git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3784 fc73d0e0-1445-4013-8a0c-d673dee63da5
2011-04-30 17:21:10 +00:00
Spoike
9b6ea1c114 Fix for recent timing issues, hopefully.
Fixed a couple of warnings.
Added voip options to menus.
GL+D3D merged builds compile, but d3d is probably broken still.
Added vid_gl_context_es2 cvar to attempt to init a gles context. Note that you also need to set the requested gl version correctly.
Changed qtv's webpage view slightly, for slightly updated npfte usage.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3714 fc73d0e0-1445-4013-8a0c-d673dee63da5
2011-01-04 02:56:16 +00:00
Spoike
c0680334c7 What could possibly go wrong?...
Multiple consoles can now be printed/cleared via extra con commands.
Fixed the tab-completion alignment, by adding support for \t characters.
Changing the download mechanisms. Don't try downloading an ftp:// file. It'll probably crash you for now.
Trying to fix load time issues on q3bsps with a lot of curves.
Fixed sprites.
Added warning prints/spam where the new backend is bypassed, thus marking things that still need to be fixed.
QTV proxy fixed to not sit on qw servers unless someone is actually watching. Will ping for status requests still.
QTV proxy now supports ipv6.
QTV proxy now attempts to use the fte browser plugin.
Reworked the browser plugin code, now uses threads instead of ugly hacks. This should make cooperation with other such plugins work. Fixes unresponsiveness of opera, and gives an API that can be used from any other bit of software you want, tbh (read: internet explorer/activex plugins).

git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3516 fc73d0e0-1445-4013-8a0c-d673dee63da5
2010-03-14 14:35:56 +00:00
Spoike
0e3193a3ef Broken more stuff.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3246 fc73d0e0-1445-4013-8a0c-d673dee63da5
2009-07-07 23:40:06 +00:00
Mark Olsen
0896e57367 Send a f_qtv command to the client on first connect.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3040 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-10-05 16:18:17 +00:00
TimeServ
1805f13b23 changed #warning to comments so vc2005 would compile everything
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2896 fc73d0e0-1445-4013-8a0c-d673dee63da5
2008-02-01 06:13:30 +00:00
Mark Olsen
ad7802e43b Use strlcpy() instead of strncpy() and Q_strncpyz().
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2822 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-12-27 15:17:05 +00:00
Spoike
6006580d8a Knocked up some commands and stuff to make qtv not forget about streams that failed. Finally implemented the commands command. Added commands to enable/disable streams.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2812 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-12-12 11:17:18 +00:00
Molgrum
2fda3fbb99 Spelling + more verbosity.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2790 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-11-18 14:55:27 +00:00
Molgrum
5b85ffc865 Make the stream labeling in tuimenu identical to guimenu
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2789 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-11-16 23:19:55 +00:00
Spoike
944d4db18c Added more molgrum-style verbosity. Hopefully finally fixed the reason why he gets 'silent' disconnections. Added printf-style warning checks for gcc.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2786 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-11-16 14:53:45 +00:00
Molgrum
868c81db4f Fix from Spike. Increase some buffer sizes to solve the "invalid mvd length" messages. FTEQTV still loses connection at mapchange on certain versions of MVDSV.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2784 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-11-15 21:19:52 +00:00
Molgrum
e46e9e48ea A better spawn point when entering the streamless state.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2782 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-11-09 17:41:08 +00:00
Molgrum
c267c17faf Just a spelling fix.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2772 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-10-31 19:56:51 +00:00
Spoike
d628214600 Fixed qtv so servers won't strip $\ any more.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2769 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-10-29 11:39:13 +00:00
Molgrum
6ad7f1d0ae Extended the .help command a little.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2734 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-10-10 21:09:05 +00:00
Molgrum
9b80f13f2e Bugfixes #16 and #17
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2733 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-10-10 18:01:27 +00:00
Spoike
aae39e18af that prolly should have been a macro instead of an immediate. minor cleanup
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2730 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-10-08 14:43:12 +00:00
Spoike
5dec885e38 qq moaned about this
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2729 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-10-08 14:37:39 +00:00
Spoike
0c6e751778 mol#4 this should be the entirety of #4. I suspect #3 too.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2655 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-09-10 19:27:39 +00:00
Spoike
3555ba42ce partial mol#4 we see stats on map changes, but not the userinfos yet
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2654 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-09-10 19:07:56 +00:00
Spoike
75458007b7 mol#5 now we get the dead view when dead
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2653 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-09-10 18:56:01 +00:00
Spoike
1bdbb0d8b4 mol#1 fixed. .disconnect lets the server know, also removed the annoying debug spam
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2652 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-09-10 18:44:55 +00:00
Spoike
5a16c2f01d Some changes to the way the proxy works, now the player will get the aliases
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2641 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-09-08 20:15:59 +00:00
Molgrum
9759358900 Added help and server browser menu items in TUI, fixed up the TUI a little. Added number-of-viewers alongside the nickname of QTV observers. Added .qtvinfo command.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2566 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-08-03 19:57:56 +00:00
Spoike
b0759ce32f Some cleanups, reworked commandline parsing, added basedir command
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2557 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-08-01 14:55:28 +00:00
Spoike
9b24dd1871 Cleaned up a little
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2529 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-07-23 10:53:59 +00:00
Spoike
70b55a446c Support for reverse connections, and added a few stdout cleanups. Added two svcs which can happen in single player/coop.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2512 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-05-28 02:31:48 +00:00
Spoike
2e8fe03892 Fixed a crash in the qtv clients menu
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2498 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-04-18 20:21:12 +00:00
Spoike
5845dc7e35 routing is more obvious / usable now (beware some 'cmd cmd new's are required).
reworked the menus (could be a little better).
added qqshka's invisible player fix.
de-spammified the centerprint menus.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2483 fc73d0e0-1445-4013-8a0c-d673dee63da5
2007-03-18 05:07:10 +00:00