debian/0000755000000000000000000000000011543153455007174 5ustar debian/copyright0000644000000000000000000000221311543150071011114 0ustar This package was debianized by René van Bevern on Fri, 24 Jun 2005 19:59:16 +0200. fteqcc was downloaded from https://fteqw.svn.sourceforge.net/svnroot/fteqw/trunk/engine/qclib fteqcc is © 2004 - 2009 David Walton J. Smith License: This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this package; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. On Debian systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL'. debian/control0000644000000000000000000000147311543150310010567 0ustar Source: fteqcc Section: devel Priority: optional Maintainer: Debian Games Team Uploaders: Bruno "Fuddl" Kleinert Build-Depends: debhelper (>= 8) Standards-Version: 3.9.1 Homepage: http://fteqw.sourceforge.net/ Vcs-git: git://git.debian.org/pkg-games/fteqcc.git Vcs-Browser: http://git.debian.org/?p=pkg-games/fteqcc.git;a=summary Package: fteqcc Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: FTE QuakeC compiler fteqcc compiles QuakeC source code to binary, platform-independent code that Quake based engines can interpret. QuakeC is the language that Quake game logic is developed in and is used for developing modifications. . FTE QCC supports Quake1, QuakeWorld, Hexen2 and FTE Quake, 64bit architectures and multithreading. debian/source/0000755000000000000000000000000011543150071010463 5ustar debian/source/format0000644000000000000000000000001411543150071011671 0ustar 3.0 (quilt) debian/manpages0000644000000000000000000000002011543150071010671 0ustar debian/fteqcc.1 debian/docs0000644000000000000000000000001411543150071010031 0ustar readme.txt debian/fteqcc.10000644000000000000000000001336311543150071010520 0ustar .\" Hey, EMACS: -*- nroff -*- .\" First parameter, NAME, should be all caps .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" other parameters are allowed: see man(7), man(1) .TH FTEQCC 1 "Juni 26, 2005" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: .\" .nh disable hyphenation .\" .hy enable hyphenation .\" .ad l left justify .\" .ad b justify to both left and right margins .\" .nf disable filling .\" .fi enable filling .\" .br insert line break .\" .sp insert n+1 empty lines .\" for manpage-specific macros, see man(7) .SH NAME fteqcc \- FTE QuakeC compiler .SH SYNOPSIS .B fteqcc .RI [ options ] .SH DESCRIPTION This manual page documents briefly the .B fteqcc command. .PP .\" TeX users may be more comfortable with the \fB\fP and .\" \fI\fP escape sequences to invode bold face and italics, .\" respectively. \fBfteqcc\fP is a program that compiles QuakeC sourcecode to binaray game data of Quake1 or QuakeWorld based games. .SH OPTIONS .TP .B \-\-help Show summary of options. .TP .B \-Fautoproto enable automatic prototyping .TP .B \-Fwasm dump all assembler code to qc.asm .TP .B \-Kkeyword, \-Kno-keyword turn language keywords on or off. Keywords available to toggle are: asm, break, case, class, const, continue, default, entity, enum, enumflags, extern, float, for, goto, int, integer, noref, nosave, shared, state, string, struct, switch, thinktime, typedef, union, var and vector. .TP .B -O0, -O1, -O2, -O3, use optimisation level between 0 and 3. With 0, no optimisation takes place, other values include more or less of the options in the section \fBOPTIMISATION\fP. .TP .B \-src directory Specify a directory to look for source files (progs.src) in. .TP .B \-Wall show all warnings .SH FORMAT \fBfteqcc\fP supports several output formats. .TP .B -Tstandard, -Tq1, -Tquakec This is the default setting and generates code compatible with original Quake1. .TP .B -Thexen2, -Th2 Outputs Hexen2 compatible code. .TP .B -Tkkqwsv, -Tkk7, -Tbigprogs, -Tversion7, -Tkkqwsv Generates KK Version 7 compatible progs .TP .B -Tfte Generates code specific to FTE Quake. .SH OPTIMISATION The following options may be used to fine-tune optimisation. Some of them are activated automatically. .TP .B \-Oassignments c = a*b is performed in one operation rather than two, and can cause older decompilers to fail. .TP .B \-Oshortenifs if (!a) was traditionally compiled in two statements. This optimisation does it in one, but can cause some decompilers to get confused. .TP .B \-Ononvec_parms In the origional qcc, function parameters were specified as a vector store even for floats. This fixes that. .TP .B \-Oconstant_names strips out the names of constants from your progs, resulting in smaller files. It makes decompilers leave out names or fabricate numerical ones. .TP .B \-Oconstant_name_strings strips out the names of string constants from your progs. This can break addons, so don't use it in those cases. .TP .B \-Odupconstdefs merge definitions of constants which are the same value. Pay extra attention to assignment to constant warnings. .TP .B \-Onouplicatestrings compact the string table that is stored in the progs. It will be considerably smaller with this. .TP .B \-Olocals Strips out local names and definitions. This makes it REALLY hard to decompile .TP .B \-Ofunction_names This strips out the names of functions which are never called. Doesn't make much of an impact though. .TP .B \-Ofilenames This strips out the filenames of the progs. This can confuse the really old decompilers, but is nothing to the more recent ones. .TP .B \-Ounreferenced Removes the entries of unreferenced variables. Doesn't make a difference in well maintained code. .TP .B \-Ooverlaptemps Optimises the pr_globals count by overlapping temporaries. In QC, every multiplication, division or operation in general produces a temporary variable. This optimisation prevents excess, and in the case of Hexen2's gamecode, reduces the count by 50k. This is the most important optimisation, ever. .TP .B \-Oconstantarithmatic 5*6 actually emits an operation into the progs. This prevents that happening, effectivly making the compiler see 30 .TP .B \-Oprecache_file Strip out stuff wasted used in function calls and strings to the precache_file builtin (which is actually a stub in quake). .TP .B \-Oreturn_only Functions ending in a return statement do not need a done statement at the end of the function. This can confuse some decompilers, making functions appear larger than they were. .TP .B \-Ocompound_jumps This optimisation plays an effect mostly with nested if/else statements, instead of jumping to an unconditional jump statement, it'll jump to the final destination instead. This will bewilder decompilers. .TP .B \-Ostrip_functions Strips out the 'defs' of functions that were only ever called directly. This does not affect saved games. .TP .B \-Olocals_marshalling Store all locals in one section of the pr_globals. Vastly reducing it. This effectivly does the job of overlaptemps. It's been noticed as buggy by a few, however, and the curcumstances where it causes problems are not yet known. .TP .B \-Ovectorcals Where a function is called with just a vector, this causes the function call to store three floats instead of one vector. This can save a good number of pr_globals where those vectors contain many duplicate coordinates but do not match entirly. .SH AUTHOR fteqcc was written by David Walton and J. Smith . .PP This manual page was written by Ren\('e van Bevern , for the Debian project (but may be used by others). Most information was obtained from comments in the source codes. debian/changelog0000644000000000000000000000524311543153070011043 0ustar fteqcc (3343+svn3400-3) unstable; urgency=low * Use debhelper 8 to build the source package * Bump build-dependency to debhelper (>= 8) * Drop build-dependency on cdbs * Rewrite debian/rules * Bump debian/compat to 8 -- Bruno "Fuddl" Kleinert Fri, 25 Mar 2011 18:51:37 +0100 fteqcc (3343+svn3400-2) unstable; urgency=low * Update standards version to 3.9.1 without changes * Convert to source format 3.0 (quilt) -- Bruno "Fuddl" Kleinert Thu, 29 Jul 2010 20:46:56 -0400 fteqcc (3343+svn3400-1) unstable; urgency=low * Package a newer upstream snapshot which is necessary to build nexuiz-data 2.5.2 * Bump standards version to 3.8.3. No changes were necessary * Add code snippet from our policy to debian/rules, so we can build fteqcc in parallel with -j=N -- Bruno "Fuddl" Kleinert Fri, 16 Oct 2009 15:44:13 +0200 fteqcc (3343+svn3223-1) unstable; urgency=low * Fteqcc is now maintained by the Debian Games Team with permission from David Moreno * New Subversion snapshot (Closes: #534329) * This snapshot includes mandatory fixes to build nexuiz-data >= 2.5.1 * Update debian/copyright to reflect the real source of the download (SVN) * Update to debian standards version 3.8.2. No changes were necessary * Bump debhelper compatibility version to 5. Thanks to lintian! * Bump versioned build dependency on debhelper to version 5 * Add debian/git-fteqcc-orig.sh to generate .orig.tar.gz's from the upstreams subversion repository -- Bruno "Fuddl" Kleinert Thu, 13 Aug 2009 14:28:41 +0200 fteqcc (3343-2) unstable; urgency=low * Stripping binary (Closes: #436876). * Added misc depends * Updated Standars-Version to 3.8.0 * Hijacking package after last upstream release. -- David Moreno Fri, 12 Dec 2008 14:16:42 -0500 fteqcc (3343-1) unstable; urgency=low * New upstream release (Closes: #469170). -- David Moreno Garza Sat, 08 Mar 2008 11:53:27 -0500 fteqcc (2666-1) unstable; urgency=low * New upstream release * debian/control: update Standards-Version to 3.7.2 without changes, updated my E-Mail address * debian/patches: deleted, no longer necessary * debian/rules: clean "fteqcc.bin" and install "fteqcc.bin", this is what upstream's build system outputs now instead of "fteqcc". * debian/watch: added * debian/copyright: update FSF address -- René van Bevern Sat, 1 Jul 2006 20:38:27 +0200 fteqcc (2352-1) unstable; urgency=low * Initial release. (Closes: #315653) -- David Moreno Garza Fri, 24 Jun 2005 19:59:16 +0200 debian/rules0000755000000000000000000000051211543152266010251 0ustar #!/usr/bin/make -f #export DH_VERBOSE=1 %: dh $@ override_dh_auto_install: mkdir -p debian/fteqcc/usr/bin install -s fteqcc.bin debian/fteqcc/usr/bin/fteqcc override_dh_auto_clean: rm -f *.o fteqcc.bin fteqcc.log override_dh_auto_test: # Do nothing. This is intentional, as the test binaries require external # sources. debian/compat0000644000000000000000000000000211543153044010364 0ustar 8 debian/watch0000644000000000000000000000006711543150071010217 0ustar version=3 http://sf.net/fteqw/fteqcc(.*)-linux\.tar\.gzdebian/get-fteqcc-orig.sh0000755000000000000000000000062211543150071012502 0ustar #!/bin/sh VERSION=3343 SVNREV=3400 svn co -r${SVNREV} https://fteqw.svn.sourceforge.net/svnroot/fteqw/trunk/engine/qclib \ fteqcc-${VERSION}+svn${SVNREV} # Remove anything we're not interested in find fteqcc-${VERSION}+svn${SVNREV} -type d -iname '.svn' -exec rm -rf "{}" \; tar -czf fteqcc_${VERSION}+svn${SVNREV}.orig.tar.gz fteqcc-${VERSION}+svn${SVNREV} #rm -rf fteqcc-${VERSION}+svn${SVNREV}