as released 2003-11-21

This commit is contained in:
archive 2003-11-21 00:00:00 +00:00
commit 4b9c5bb258
117 changed files with 372083 additions and 0 deletions

104
Docs/CoD_Tools_License.rtf Normal file
View file

@ -0,0 +1,104 @@
{\rtf1\ansi\ansicpg1252\uc1 \deff0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}
{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f28\fswiss\fcharset0\fprq2{\*\panose 00000000000000000000}Arial (W1);}{\f80\froman\fcharset238\fprq2 Times New Roman CE;}{\f81\froman\fcharset204\fprq2 Times New Roman Cyr;}
{\f83\froman\fcharset161\fprq2 Times New Roman Greek;}{\f84\froman\fcharset162\fprq2 Times New Roman Tur;}{\f85\froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f86\froman\fcharset178\fprq2 Times New Roman (Arabic);}
{\f87\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f88\fswiss\fcharset238\fprq2 Arial CE;}{\f89\fswiss\fcharset204\fprq2 Arial Cyr;}{\f91\fswiss\fcharset161\fprq2 Arial Greek;}{\f92\fswiss\fcharset162\fprq2 Arial Tur;}
{\f93\fswiss\fcharset177\fprq2 Arial (Hebrew);}{\f94\fswiss\fcharset178\fprq2 Arial (Arabic);}{\f95\fswiss\fcharset186\fprq2 Arial Baltic;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;
\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;
\red192\green192\blue192;}{\stylesheet{\ql \li0\ri0\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 Normal;}{\*\cs10 \additive Default Paragraph Font;}{
\s15\qc \li0\ri0\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext15 Title;}{\*\cs16 \additive \ul\cf2 \sbasedon10 Hyperlink;}}{\*\listtable{\list\listtemplateid356178124\listsimple
{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\'01*;}{\levelnumbers;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 }{\listname ;}\listid-2}}{\*\listoverridetable
{\listoverride\listid-2\listoverridecount1{\lfolevel\listoverrideformat{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelold\levelspace0\levelindent360{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\chbrdr
\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li360 }}\ls1}}{\info{\title END-USER LICENSE AGREEMENT}{\author David Silverman}{\operator John Fritts}{\creatim\yr2003\mo11\dy11\hr13\min26}{\revtim\yr2003\mo11\dy11\hr13\min26}
{\printim\yr2003\mo7\dy30\hr19\min3}{\version2}{\edmins0}{\nofpages2}{\nofwords1244}{\nofchars7094}{\*\company Activision}{\nofcharsws8711}{\vern8203}}\margl1728\margr1728\margt907\margb1080 \widowctrl\ftnbj\aenddoc\lytprtmet\formshade\horzdoc\dghspace120
\dgvspace120\dghorigin1701\dgvorigin1984\dghshow1\dgvshow0\jexpand\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\bdrrlswsix\nolnhtadjtbl\oldas \fet0\sectd \sbknone\linex0\endnhere\sectdefaultcl {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang{\pntxta .}}
{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang{\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}
{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl9
\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}\pard\plain \s15\qc \li0\ri0\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\f1\fs18 END USER SOFTWARE LICENSE AGREEMENT
\par
\par }{\i\f1\fs18 CALL OF DUTY MAP MAKING TOOLS
\par }\pard \s15\qj \li0\ri0\widctlpar\nooverflow\faroman\rin0\lin0\itap0 {\f1\fs18
\par }\pard\plain \qj \li0\ri0\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\b\f1\fs18 IMPORTANT - READ CAREFULLY: }{\f1
These files contain certain design, programming and processing utilities, tools, assets and other resources (the \'93Program Utilities\'94) for use with the }{\i\f1 Call of Duty}{\f1
map editor that allow you to customize or create new maps, missions, game levels, environments and/or other related game materials for personal use in and with }{\i\f1 Call of Duty }{\f1 (the \'93New Game Materials\'94)}{\f1 .}{\f1
The use of the Program Utilities shall be subject to the Software License Agreement contained within the }{\i\f1 Call of Duty}{\f1 manual, as well as the following additional license terms and restrictions}{\f1\fs18 :
\par
\par }{\b\f1\fs18 LIMITED USE LICENSE: }{\f1\fs18 Activision grants you the non-exclusive, non-transferable, limited right and license to u
se the Program Utilities solely for your own personal, non-commercial use in order to create the New Game Materials. All rights not specifically granted under this Agreement are reserved by Activision and, as applicable, Activision\rquote
s licensors. The Program Utilities are licensed, not sold. This license confers no title or ownership in the Program Utilities and should not be construed as a sale of any rights in the Program Utilities.
\par
\par }{\b\f1\fs18 LICENSE CONDITIONS:
\par }{\f1\fs18
\par {\pntext\pard\plain\f3\fs18 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \qj \fi-360\li360\ri0\widctlpar{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf3\pnstart1\pnindent360\pnhang{\pntxtb \'b7}}\nooverflow\faroman\ls1\rin0\lin360\itap0 {\f1\fs18
You agree that, as a condition to your using the P
rogram Utilities, you will not use or allow third parties to use the Program Utilities and/or the New Game Materials created by you for any commercial purposes, including, but not limited to, selling, renting, leasing, licensing, distributing, or otherwis
e
transferring the ownership of the Program Utilities or the New Game Materials, whether on a stand alone basis or packaged in combination with the New Game Materials created by others, through any and all distribution channels, including, without limitati
o
n, retail sales and on-line electronic distribution. You agree not to solicit, initiate or encourage any proposal or offer from any person or entity to create any New Game Materials for commercial distribution. You agree to promptly inform Activision in
writing of any instances of your receipt of any such proposal or offer.
\par }\pard \qj \li0\ri0\widctlpar{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\nooverflow\faroman\rin0\lin0\itap0 {\f1\fs18
\par {\pntext\pard\plain\f3\fs18 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \qj \fi-360\li360\ri0\widctlpar{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf3\pnstart1\pnindent360\pnhang{\pntxtb \'b7}}\nooverflow\faroman\ls1\rin0\lin360\itap0 {\f1\fs18
If you decide to make available the use of the New Game Materials created by you to other gamers, you agree to do so solely without charge.
\par }\pard \qj \li0\ri0\widctlpar{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\nooverflow\faroman\rin0\lin0\itap0 {\f1\fs18
\par {\pntext\pard\plain\f3\fs18 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \qj \fi-360\li360\ri0\widctlpar{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf3\pnstart1\pnindent360\pnhang{\pntxtb \'b7}}\nooverflow\faroman\ls1\rin0\lin360\itap0 {\f1\fs18
New Game Materials may be created only if such New Game Materials can be used exclusively in combination with the retail version of }{\i\f1\fs18 Call of Duty}{\f1\fs18 . New Game Materials may not be designed to be used as a stand-alone product.
\par }\pard \qj \li0\ri0\widctlpar{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\nooverflow\faroman\rin0\lin0\itap0 {\f1\fs18
\par {\pntext\pard\plain\f3\fs18 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \qj \fi-360\li360\ri0\widctlpar{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf3\pnstart1\pnindent360\pnhang{\pntxtb \'b7}}\nooverflow\faroman\ls1\rin0\lin360\itap0 {\f1\fs18
New Game Materials must not contain any illegal, obscene or defamatory mat
erials, materials that infringe rights of privacy and publicity of third parties or (without appropriate irrevocable licenses granted specifically for that purpose) any trademarks, copyright-protected works or other properties of third parties.
\par }\pard \qj \li0\ri0\widctlpar{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\nooverflow\faroman\rin0\lin0\itap0 {\f1\fs18
\par {\pntext\pard\plain\f3\fs18 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \qj \fi-360\li360\ri0\widctlpar{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf3\pnstart1\pnindent360\pnhang{\pntxtb \'b7}}\nooverflow\faroman\ls1\rin0\lin360\itap0 {\f1\fs18 New Game M
aterials must contain prominent identification at least in any on-line description and with reasonable duration on the opening screen: (a) the name and E-mail address of the New Game Materials\rquote creator(s) and (b) the words \'93
THIS MATERIAL IS NOT MADE OR SUPPORTED BY ACTIVISION.\'94
\par }\pard \qj \li0\ri0\widctlpar{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\nooverflow\faroman\rin0\lin0\itap0 {\f1\fs18
\par {\pntext\pard\plain\f3\fs18 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \qj \fi-360\li360\ri0\widctlpar{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0\pnf3\pnstart1\pnindent360\pnhang{\pntxtb \'b7}}\nooverflow\faroman\ls1\rin0\lin360\itap0 {\f1\fs18
You agree not to export or re-export the Program Utilities or New Game Materials or any copy or adaptation thereof in violation of any applicable laws or regulations.
\par }\pard \qj \li0\ri0\widctlpar\nooverflow\faroman\rin0\lin0\itap0 {\f1\fs18
\par }{\b\f1\fs18 OWNERSHIP. }{\f1\fs18 All title, ownership rights and intellectual proper
ty rights in and to the Program Utilities and any and all copies thereof are owned by Activision or its licensors. The Program Utilities are protected by the copyright laws of the United States, international copyright treaties and conventions and other l
aws. The Program Utilities may contain certain licensed materials and, in that event, Activision\rquote
s licensors may protect their rights in the event of any violation of this Agreement. You agree not to remove, disable or circumvent any proprietary notices o
r labels contained on or within the Program Utilities. All New Game Materials created by you shall be exclusively owned by Activision and/or its licensors as a derivative work (as such term is described under U.S. copyright law) of the Program Utilities
and }{\i\f1\fs18 Call of Duty}{\f1\fs18 and Activision and its licensors may use any New Game Materials made publicly available by you for any purpose whatsoever, including but not limited to, for purpose of advertising and promoting }{\i\f1\fs18
Call of Duty}{\f1\fs18 .
\par
\par }{\b\f1\fs18 NO WARRANTIES/NO SUPPORT.}{\f1\fs18 }{\b\caps\f28\fs18 THE
RE ARE NO WARRANTIES, WHETHER ORAL OR WRITTEN, EXPRESS OR IMPLIED, INCLUDING ANY WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, AND NO OTHER REPRESENTATIONS OR CLAIMS OF ANY KIND SHALL BE BINDING ON OR OBLIGATE ACTIVISI
ON. THE PROGRAM UTILITIES ARE PROVIDED TO YOU \'93AS IS.\'94 }{\b\caps\f28
Activision does not provide technical or customer support for the Program Utilities or the New Game Materials created by using the Program Utilities. All use of such materials is at your own risk.}{\f1\fs18
\par
\par }{\b\f1\fs18 LIMITATION ON DAMAGES. }{\f1\fs18
IN NO EVENT WILL ACTIVISION BE LIABLE FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES RESULTING FROM POSSESSION, USE OR MALFUNCTION OF THE PROGRAM UTILITIES, INCLUDING DAMAGES TO PROPERTY, LOSS OF GOODWILL, COMPUTER
FAILURE OR MALFUNCTION AND, TO THE EXTENT PERMITTED BY LAW, DAMAGES FOR PERSONAL INJURIES, EVEN IF ACTIVISION HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. ACTIVISION\rquote
S LIABILITY SHALL NOT EXCEED THE ACTUAL PRICE PAID BY YOU TO ACTIVISION FOR THE
LICENSE TO USE THE PROGRAM UTILITIES. SOME STATES/COUNTRIES DO NOT ALLOW LIMITATIONS ON HOW LONG AN IMPLIED WARRANTY LASTS AND/OR THE EXCLUSION OR LIMITAION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE ABOVE LIMITAIONS AND/OR EXCLUSION OR LIMITAION OF
LIABILITY MAY NOT APPLY TO YOU. THIS WARRANTY GIVES YOU SPECIFIC LEGAL RIGHTS, AND YOU MAY HAVE OTHER RIGHTS THAT VARY FROM JURISDICTION TO JURISDICTION.
\par
\par }{\b\f1\fs18 TERMINATION.}{\f1\fs18 Without prejudice to any other rights of Activision, this Agreement will terminate autom
atically if you fail to comply with its terms and conditions. In such event, you must destroy all copies of the Program Utilities and New Game Materials created by you or in your possession.
\par
\par }{\b\f1\fs18 U.S. GOVERNMENT RESTRICTED RIGHTS.}{\f1\fs18 The Program Utilities and documentation have been developed entirely at private expense and are provided as \'93Commercial Computer Software\'94 or \'93restricted computer software.\'94
Use, duplication or disclosure by the U.S. Government or a U.S. Government subcontractor is subject to the res
trictions set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clauses in DFARS 252.227-7013 or as set forth in subparagraph (c)(1) and (2) of the Commercial Computer Software Restricted Rights clauses at FAR 52.227-1
9, as applicable. The Contractor/Manufacturer is Activision, Inc., 3100 Ocean Park Boulevard, Santa Monica, California 90405.
\par
\par }{\b\f1\fs18 INJUNCTION. }{\f1\fs18 Because Activision would be irreparably damaged if the terms of this Agreement were not specifically enforced, you agr
ee that Activision shall be entitled, without bond, other security or proof of damages, to appropriate equitable remedies with respect to breaches of this Agreement, in addition to such other remedies as Activision may otherwise have under applicable laws
.
\par
\par }{\b\f1\fs18 INDEMNITY.}{\f1\fs18
You agree to indemnify, defend and hold Activision, its partners, licensors, affiliates, contractors, officers, directors, employees and agents harmless from all damages, losses and expenses arising directly or indirectly from your acts and o
missions to act in using the Program Utilities and creating the New Game Materials pursuant to the terms of this Agreement
\par
\par }{\b\f1\fs18 MISCELLANEOUS. }{\f1\fs18 This Agreement represents the complete agreement concerning this license between the parties and supersedes all prio
r agreements and representations between them. It may be amended only by a writing executed by both parties. If any provision of this Agreement is held to be unenforceable for any reason, such provision shall be reformed only to the extent necessary to
m
ake it enforceable and the remaining provisions of this Agreement shall not be affected. This Agreement shall be construed under California law as such law is applied to agreements between California residents entered into and to be performed within Cali
fornia, except as governed by federal law and you consent to the exclusive jurisdiction of the state and federal courts in Los Angeles, California.
\par
\par If you have any questions concerning this license, you may contact Activision at 3100 Ocean Park Boulevard, Santa Monica, California 90405, USA, (310) 255-2000, Attn. Business and Legal Affairs, }{\field{\*\fldinst {\f1\fs18
HYPERLINK "mailto:legal@activision.com" }{\f1\fs18 {\*\datafield
00d0c9ea79f9bace118c8200aa004ba90b0200000017000000150000006c006500670061006c004000610063007400690076006900730069006f006e002e0063006f006d000000e0c9ea79f9bace118c8200aa004ba90b380000006d00610069006c0074006f003a006c006500670061006c00400061006300740069007600
6900730069006f006e002e0063006f006d000000}}}{\fldrslt {\cs16\f1\fs18\ul\cf2 legal@activision.com}}}{\f1\fs18 .
\par
\par }}

67
Docs/CoD_Tools_MSR.rtf Normal file
View file

@ -0,0 +1,67 @@
{\rtf1\ansi\ansicpg1252\uc1 \deff0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}
{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f14\fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}
{\f34\froman\fcharset238\fprq2 Times New Roman CE;}{\f35\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f37\froman\fcharset161\fprq2 Times New Roman Greek;}{\f38\froman\fcharset162\fprq2 Times New Roman Tur;}
{\f39\froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f40\froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f41\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f42\fswiss\fcharset238\fprq2 Arial CE;}{\f43\fswiss\fcharset204\fprq2 Arial Cyr;}
{\f45\fswiss\fcharset161\fprq2 Arial Greek;}{\f46\fswiss\fcharset162\fprq2 Arial Tur;}{\f47\fswiss\fcharset177\fprq2 Arial (Hebrew);}{\f48\fswiss\fcharset178\fprq2 Arial (Arabic);}{\f49\fswiss\fcharset186\fprq2 Arial Baltic;}
{\f50\fmodern\fcharset238\fprq1 Courier New CE;}{\f51\fmodern\fcharset204\fprq1 Courier New Cyr;}{\f53\fmodern\fcharset161\fprq1 Courier New Greek;}{\f54\fmodern\fcharset162\fprq1 Courier New Tur;}{\f55\fmodern\fcharset177\fprq1 Courier New (Hebrew);}
{\f56\fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f57\fmodern\fcharset186\fprq1 Courier New Baltic;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;
\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{
\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 Normal;}{\s1\ql \li0\ri0\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0
\b\f1\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 heading 1;}{\*\cs10 \additive Default Paragraph Font;}}{\*\listtable{\list\listtemplateid-736303422\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid191503832\'01\u-3913 ?;}{\levelnumbers;}\f3\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li360\jclisttab\tx360 }{\listlevel\levelnfc23\levelnfcn23
\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li1440\jclisttab\tx1440 }{\listlevel\levelnfc23
\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li2160\jclisttab\tx2160 }
{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li2880
\jclisttab\tx2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0
\fi-360\li3600\jclisttab\tx3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr\brdrnone\brdrcf1
\chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li4320\jclisttab\tx4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\chbrdr
\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li5040\jclisttab\tx5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2
\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li5760\jclisttab\tx5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693
\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li6480\jclisttab\tx6480 }{\listname ;}\listid147018629}{\list\listtemplateid-102098426\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698695\'01\u-3983 ?;}{\levelnumbers;}\f14\fs16\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li1080\jclisttab\tx1080 }{\listlevel\levelnfc23
\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li1800\jclisttab\tx1800 }{\listlevel
\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li2520
\jclisttab\tx2520 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0
\fi-360\li3240\jclisttab\tx3240 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\chbrdr\brdrnone\brdrcf1
\chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li3960\jclisttab\tx3960 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr
\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li4680\jclisttab\tx4680 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698689
\'01\u-3913 ?;}{\levelnumbers;}\f3\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li5400\jclisttab\tx5400 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext
\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li6120\jclisttab\tx6120 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0
{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li6840\jclisttab\tx6840 }{\listname ;}\listid903174836}{\list\listtemplateid-102098426\listhybrid{\listlevel
\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li720\jclisttab\tx720
}{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li1440
\jclisttab\tx1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr\brdrnone\brdrcf1
\chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li2160\jclisttab\tx2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\chbrdr
\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li2880\jclisttab\tx2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2
\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li3600\jclisttab\tx3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698693
\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li4320\jclisttab\tx4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext
\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li5040\jclisttab\tx5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360
\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li5760\jclisttab\tx5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1
\levelspace360\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li6480\jclisttab\tx6480 }{\listname ;}\listid1682313819}{\list\listtemplateid630075922
\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid191503832\'01\u-3913 ?;}{\levelnumbers;}\f3\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0
\fi-360\li720\jclisttab\tx720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\chbrdr\brdrnone\brdrcf1
\chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li1800\jclisttab\tx1800 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr
\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li2520\jclisttab\tx2520 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers
;}\f3\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li3240\jclisttab\tx3240 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691
\'01o;}{\levelnumbers;}\f2\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li3960\jclisttab\tx3960 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li4680\jclisttab\tx4680 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li5400\jclisttab\tx5400 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1
\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li6120\jclisttab\tx6120 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f14\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li6840\jclisttab\tx6840 }{\listname ;}\listid1694304763}}{\*\listoverridetable
{\listoverride\listid903174836\listoverridecount0\ls1}{\listoverride\listid1682313819\listoverridecount0\ls2}{\listoverride\listid147018629\listoverridecount0\ls3}{\listoverride\listid1694304763\listoverridecount0\ls4}}{\info
{\title CALL OF DUTY\'99 MINIMUM SYSTEM REQUIREMENTS:}{\author bsaavedra}{\operator Dan Hagerty}{\creatim\yr2003\mo11\dy11\hr14\min30}{\revtim\yr2003\mo11\dy18\hr17\min33}{\version4}{\edmins4}{\nofpages1}{\nofwords153}{\nofchars873}
{\*\company Activision, Inc.}{\nofcharsws0}{\vern8299}}\widowctrl\ftnbj\aenddoc\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1800\dgvorigin1440\dghshow1\dgvshow1
\jexpand\viewkind1\viewscale143\viewzk2\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule \fet0\sectd \linex0\sectdefaultcl {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang{\pntxta .}}
{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang{\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}
{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl9
\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}\pard\plain \ql \li0\ri0\widctlpar\faauto\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\b\f1 CALL OF DUTY\'99 MINIMUM SYSTEM REQUIREMENTS:
\par }{\f1
\par }\pard \ql \li360\ri0\widctlpar\faauto\rin0\lin360\itap0 {\f3\fs20 \'b7\tab }{\f1\fs20 Pentium}{\f1\fs20\super \'ae}{\f1\fs20 III 700MHz or Athlon}{\f1\fs20\super \'ae}{\f1\fs20 700MHz processor or higher for systems with Windows}{\f1\fs20\super \'ae}{
\f1\fs20 2000/XP
\par }\pard \ql \fi-360\li720\ri0\widctlpar\faauto\rin0\lin720\itap0 {\f3\fs20 \'b7\tab }{\f1\fs20 Microsoft}{\f1\fs20\super \'ae}{\f1\fs20 Windows}{\f1\fs20\super \'ae}{\f1\fs20 2000/XP
\par }{\f3\fs20 \'b7\tab }{\f1\fs20 128MB of RAM
\par }{\f3\fs20 \'b7\tab }{\f1\fs20 20MB of uncompressed free hard disk space (plus 250MB for Windows}{\f1\fs20\super \'ae}{\f1\fs20 2000/XP swap file)
\par }{\f3\fs20 \'b7\tab }{\f1\fs20 100% Windows}{\f1\fs20\super \'ae}{\f1\fs20 2000/XP compatible mouse, keyboard and latest drivers
\par }{\f3\fs20 \'b7\tab }{\f1\fs20 DirectX}{\f1\fs20\super \'ae}{\f1\fs20 9.0b (not included)
\par
\par }}

11
Docs/CoD_Tools_Readme.txt Normal file
View file

@ -0,0 +1,11 @@
Call Of Duty
Map & Mod Tools
===============
IMPORTANT NOTE: These tools are not supported by Activision Customer Support.
The Call Of Duty tools are not designed to run on Microsoft Windows® 98 or ME. They are designed to run on Windows® 2000 or XP.
The Map & Mod tools must be installed to an existing, valid Call of Duty directory. The installer will detect the location of your CoD installation automatically.
On running CoDRadiant for the first time, you will need to load the included cod.qe4 project file which is located in "tools/bin". If you ever reinstall CoDRadiant to a different location you will need to reload this project file from the new location.

67
Tools/aitype/aitype.gdt Normal file
View file

@ -0,0 +1,67 @@
{
"sample_aitype" ( "aitype.gdf" )
{
"radiantModel" "Airborne"
"team" "allies"
"accuracy" "0.2"
"health" "100"
"weapon" "thompson"
"secondaryweapon" ""
"grenadeWeapon" "fraggrenade"
"scariness" "1"
"bravery" "6"
"grenadeAmmo" "0"
"comments" ""
"character1" "Foley"
"character2" "sample_character"
"character3" ""
"character4" ""
"character5" ""
"character6" ""
"character7" ""
"character8" ""
"character9" ""
"character10" ""
"character11" ""
"character12" ""
"character13" ""
"character14" ""
"character15" ""
"character16" ""
"character17" ""
"character18" ""
"character19" ""
"character20" ""
"character21" ""
"character22" ""
"character23" ""
"character24" ""
"character25" ""
"character26" ""
"character27" ""
"character28" ""
"character29" ""
"character30" ""
"character31" ""
"character32" ""
"character33" ""
"character34" ""
"character35" ""
"character36" ""
"character37" ""
"character38" ""
"character39" ""
"character40" ""
"character41" ""
"character42" ""
"character43" ""
"character44" ""
"character45" ""
"character46" ""
"character47" ""
"character48" ""
"character49" ""
"character50" ""
}
}

121
Tools/aitype/character.gdt Normal file
View file

@ -0,0 +1,121 @@
{
"Foley" ( "character.gdf" )
{
"body" "character_Foley"
"bodyAlias" ""
"head" "head_Foley"
"headAlias" ""
"hat" "gear_US_helmet_scrim"
"hatAlias" ""
"viewmodel" ""
"TAG_BELT_BACK" ""
"TAG_BELT_BACK_required" "0"
"TAG_BELT_BACKLEFT" ""
"TAG_BELT_BACKLEFT_required" "0"
"TAG_BELT_BACKRIGHT" ""
"TAG_BELT_BACKRIGHT_required" "0"
"TAG_BELT_FRONT" ""
"TAG_BELT_FRONT_required" "0"
"TAG_BELT_FRONTLEFT" ""
"TAG_BELT_FRONTLEFT_required" "0"
"TAG_BELT_FRONTRIGHT" ""
"TAG_BELT_FRONTRIGHT_required" "0"
"TAG_BELT_LEFT" ""
"TAG_BELT_LEFT_required" "0"
"TAG_BELT_RIGHT" ""
"TAG_BELT_RIGHT_required" "0"
"TAG_BREASTPOCKET_LEFT" ""
"TAG_BREASTPOCKET_LEFT_required" "0"
"TAG_BREASTPOCKET_RIGHT" ""
"TAG_BREASTPOCKET_RIGHT_required" "0"
"TAG_CALF_LEFT" ""
"TAG_CALF_LEFT_required" "0"
"TAG_CALF_RIGHT" ""
"TAG_CALF_RIGHT_required" "0"
"TAG_HELMET" ""
"TAG_HELMET_required" "0"
"TAG_HELMETSIDE" ""
"TAG_HELMETSIDE_required" "0"
"TAG_SHIN_LEFT" ""
"TAG_SHIN_LEFT_required" "0"
"TAG_SHIN_RIGHT" ""
"TAG_SHIN_RIGHT_required" "0"
"TAG_THIGH_LEFT" ""
"TAG_THIGH_LEFT_required" "0"
"TAG_THIGH_RIGHT" ""
"TAG_THIGH_RIGHT_required" "0"
"TAG_WEAPON_LEFT" ""
"TAG_WEAPON_LEFT_required" "0"
"TAG_WEAPON_RIGHT" ""
"TAG_WEAPON_RIGHT_required" "0"
"TAG_ORIGIN" ""
"TAG_ORIGIN_required" "0"
"misc1" "gear_US_Foley"
"misc1_required" "0"
"misc2" ""
"misc2_required" "0"
"misc3" ""
"misc3_required" "0"
"voice" "foley"
}
"sample_character" ( "character.gdf" )
{
"body" ""
"bodyAlias" "sample_bodyAlias"
"head" "head_Foley"
"headAlias" ""
"hat" ""
"hatAlias" ""
"viewmodel" ""
"TAG_BELT_BACK" ""
"TAG_BELT_BACK_required" "0"
"TAG_BELT_BACKLEFT" ""
"TAG_BELT_BACKLEFT_required" "0"
"TAG_BELT_BACKRIGHT" ""
"TAG_BELT_BACKRIGHT_required" "0"
"TAG_BELT_FRONT" ""
"TAG_BELT_FRONT_required" "0"
"TAG_BELT_FRONTLEFT" ""
"TAG_BELT_FRONTLEFT_required" "0"
"TAG_BELT_FRONTRIGHT" ""
"TAG_BELT_FRONTRIGHT_required" "0"
"TAG_BELT_LEFT" ""
"TAG_BELT_LEFT_required" "0"
"TAG_BELT_RIGHT" ""
"TAG_BELT_RIGHT_required" "0"
"TAG_BREASTPOCKET_LEFT" ""
"TAG_BREASTPOCKET_LEFT_required" "0"
"TAG_BREASTPOCKET_RIGHT" ""
"TAG_BREASTPOCKET_RIGHT_required" "0"
"TAG_CALF_LEFT" ""
"TAG_CALF_LEFT_required" "0"
"TAG_CALF_RIGHT" ""
"TAG_CALF_RIGHT_required" "0"
"TAG_HELMET" ""
"TAG_HELMET_required" "0"
"TAG_HELMETSIDE" ""
"TAG_HELMETSIDE_required" "0"
"TAG_SHIN_LEFT" ""
"TAG_SHIN_LEFT_required" "0"
"TAG_SHIN_RIGHT" ""
"TAG_SHIN_RIGHT_required" "0"
"TAG_THIGH_LEFT" ""
"TAG_THIGH_LEFT_required" "0"
"TAG_THIGH_RIGHT" ""
"TAG_THIGH_RIGHT_required" "0"
"TAG_WEAPON_LEFT" ""
"TAG_WEAPON_LEFT_required" "0"
"TAG_WEAPON_RIGHT" ""
"TAG_WEAPON_RIGHT_required" "0"
"TAG_ORIGIN" ""
"TAG_ORIGIN_required" "0"
"misc1" ""
"misc1_required" "0"
"misc2" ""
"misc2_required" "0"
"misc3" ""
"misc3_required" "0"
"voice" "american"
}
}

View file

@ -0,0 +1,56 @@
{
"sample_bodyAlias" ( "xmodelalias.gdf" )
{
"model1" "Airborne"
"model2" "character_Foley"
"model3" ""
"model4" ""
"model5" ""
"model6" ""
"model7" ""
"model8" ""
"model9" ""
"model10" ""
"model11" ""
"model12" ""
"model13" ""
"model14" ""
"model15" ""
"model16" ""
"model17" ""
"model18" ""
"model19" ""
"model20" ""
"model21" ""
"model22" ""
"model23" ""
"model24" ""
"model25" ""
"model26" ""
"model27" ""
"model28" ""
"model29" ""
"model30" ""
"model31" ""
"model32" ""
"model33" ""
"model34" ""
"model35" ""
"model36" ""
"model37" ""
"model38" ""
"model39" ""
"model40" ""
"model41" ""
"model42" ""
"model43" ""
"model44" ""
"model45" ""
"model46" ""
"model47" ""
"model48" ""
"model49" ""
"model50" ""
}
}

BIN
Tools/bin/CoDRadiant.exe Normal file

Binary file not shown.

BIN
Tools/bin/asset_manager.exe Normal file

Binary file not shown.

541
Tools/bin/cod.def Normal file
View file

@ -0,0 +1,541 @@
/*QUAKED info_grenade_hint (0.4 0.6 0.8) (-4 -4 -4) (4 4 4)
AI will try to get a grenade to go through this point in space when throwing a grenade. This is how AI understand throwing grenades through windows and doors.
*/
/*QUAKED info_player_start (1 0 0) (-16 -16 0) (16 16 72)
equivelant to info_player_deathmatch
*/
/*QUAKED func_group (0 0 0) ?
Used to group brushes together just for editor convenience. They are turned into normal brushes by the utilities.
*/
/*QUAKED func_cullgroup (0 .5 .5) ?
Used to group brushes together for culling in the portal-based renderer. They are turned into world brushes by the utilities.
*/
/*QUAKED info_null (0 0.5 0) (-4 -4 -4) (4 4 4)
Used as a positional target for calculations in the utilities (spotlights, etc), but removed during gameplay.
*/
/*QUAKED info_notnull (0 0.5 0) (-4 -4 -4) (4 4 4)
Used as a positional target for in-game calculation, like jumppad targets.
*/
/*QUAKED info_notnull_big (1 0 0) (-16 -16 -24) (16 16 32)
info_notnull with a bigger box for ease of positioning
*/
/*QUAKED light (0 1 0) (-8 -8 -8) (8 8 8) linear angle
Non-displayed light.
"light" overrides the default 300 intensity.
Nonlinear checkbox gives inverse square falloff instead of linear
Angle adds light:surface angle calculations (only valid for "Linear" lights) (wolf)
Lights pointed at a target will be spotlights.
"radius" overrides the default 64 unit radius of a spotlight at the target point.
"exponent" changes the default 0 exponent for the angle falloff. Must be a non-negative integer. High numbers (10-20) are needed for narrow spotlight angles to show falloff over angle.
"fade" falloff/radius adjustment value. multiply the run of the slope by "fade" (1.0f default) (only valid for "Linear" lights) (wolf)
"overbrightShift" controls overbright radius. 0 is default, 1 is no overbrighting at all, fractions in between do linear interpolation.
*/
/*QUAKED misc_model (1 0 0) (-16 -16 -16) (16 16 16) ORIENT_LOD NO_SHADOW
If the misc_model has a targetname, it is kept as a server-side entity, so game scripts can modify it.
If the misc_model does not have a targetname, it is only in the renderer on the client, so it cannot change.
"model" arbitrary xmodel file to display
"modelscale" scale multiplier (defaults to 1x, and scales uniformly)
"modelscale_vec" scale multiplier (defaults to 1 1 1, scales each axis as requested)
ORIENT_LOD - if flagged, the entity will yaw towards the player when the LOD switches
NO_SHADOW - the opaque surfaces will not cast shadows
*/
/*QUAKED misc_portal_surface (0 0 1) (-8 -8 -8) (8 8 8)
The portal surface nearest this entity will show a view from the targeted misc_portal_camera, or a mirror view if untargeted.
This must be within 64 world units of the surface!
*/
/*QUAKED misc_portal_camera (0 0 1) (-8 -8 -8) (8 8 8) slowrotate fastrotate
The target for a misc_portal_director. You can set either angles or target another entity to determine the direction of view.
"roll" an angle modifier to orient the camera around the target vector;
*/
/*QUAKED corona (0 1 0) (-4 -4 -4) (4 4 4) START_OFF
Use color picker to set color or key "color". values are 0.0-1.0 for each color (rgb).
"scale" will designate a multiplier to the default size. (so 2.0 is 2xdefault size, 0.5 is half)
*/
/*QUAKED misc_mg42 (1 0 0) (-16 -16 0) (16 16 56) x x
weaponinfo - weapon info
leftarc - horizonal left fire arc.
rightarc - horizonal left fire arc.
toparc - vertical top fire arc.
bottomarc - vertical bottom fire arc.
convergencetime - time (in seconds) to converge to target.
maxrange - maximum firing/sight range.
damage - determines how much the weapon will inflict if a non player uses it
accuracy - all guns are 100% accurate a value of 0.5 would make it 50%
*/
/*QUAKED misc_turret (1 0 0) (-16 -16 0) (16 16 56) x x
weaponinfo - weapon info
leftarc - horizonal left fire arc.
rightarc - horizonal left fire arc.
toparc - vertical top fire arc.
bottomarc - vertical bottom fire arc.
convergencetime - time (in seconds) to converge to target.
maxrange - maximum firing/sight range.
damage - determines how much the weapon will inflict if a non player uses it
accuracy - all guns are 100% accurate a value of 0.5 would make it 50%
*/
/*QUAKED func_door (0 .5 .8) ? START_OPEN TOGGLE CRUSHER TOUCH SHOOT-THRU
TOGGLE wait in both the start and end states for a trigger event.
START_OPEN the door to moves to its destination when spawned, and operate in reverse. It is used to temporarily or permanently close off an area when triggered (not useful for touch or takedamage doors).
NOMONSTER monsters will not trigger this door
SHOOT-THRU Bullets don't stop when they hit the door. Set "shoot_thru_scale" with bullet damage scale (see below)
"key" set to any non-zero value to start door as locked
"angle" determines the opening direction
"targetname" if set, no touch field will be spawned and a remote button or trigger field activates the door.
"speed" movement speed (100 default)
"closespeed" optional different movement speed for door closing
"wait" wait before returning (3 default, -1 = never return)
"lip" lip remaining at end of move (8 default)
"dmg" damage to inflict when blocked (2 default)
"color" constantLight color
"light" constantLight radius
"health" if set, the door must be shot open
"teamname" team name. other doors with same team name will open/close in syncronicity
"noisescale"multiplier for how far the noise from the door will travel to alert AI
*/
/*QUAKED func_static (0 .5 .8) ? start_invis pain painEFX
A bmodel that just sits there, doing nothing. Can be used for conditional walls and models.
"color" constantLight color
"light" constantLight radius
"start_invis" will start the entity as non-existant
If targeted, it will toggle existance when triggered
pain will use its target
When using pain you will need to specify the delay time
value of 1 = 1 sec 2 = 2 sec so on...
default is 1 sec you can use decimals
example :
delay
1.27
painEFX will spawn a shards
example:
shard
4
will spawn rubble
shard default is 4
shard =
shard_glass = 0,
shard_wood = 1,
shard_metal = 2,
shard_ceramic = 3,
shard_pebbles = 4
*/
/*QUAKED func_rotating (0 .5 .8) ? START_ON STARTINVIS X_AXIS Y_AXIS
You need to have an origin brush as part of this entity.
The center of that brush will be the point around which it is rotated. It will rotate around the Z axis by default. You can check either the X_AXIS or Y_AXIS box to change that.
"speed" determines how fast it moves; default value is 100.
"dmg" damage to inflict when blocked (2 default)
"color" constantLight color
"light" constantLight radius
*/
/*QUAKED func_bobbing (0 .5 .8) ? X_AXIS Y_AXIS
Normally bobs on the Z axis
"height" amplitude of bob (32 default)
"speed" seconds to complete a bob cycle (4 default)
"phase" the 0.0 to 1.0 offset in the cycle to start at
"dmg" damage to inflict when blocked (2 default)
"color" constantLight color
"light" constantLight radius
*/
/*QUAKED func_pendulum (0 .5 .8) ?
You need to have an origin brush as part of this entity.
Pendulums always swing north / south on unrotated models. Add an angles field to the model to allow rotation in other directions.
Pendulum frequency is a physical constant based on the length of the beam and gravity.
"speed" the number of degrees each way the pendulum swings, (30 default)
"phase" the 0.0 to 1.0 offset in the cycle to start at
"dmg" damage to inflict when blocked (2 default)
"color" constantLight color
"light" constantLight radius
*/
/*QUAKED func_door_rotating (0 .5 .8) ? START_OPEN TOGGLE X_AXIS Y_AXIS REVERSE FORCE x
You need to have an origin brush as part of this entity.
The center of that brush will be the point around which it is rotated. It will rotate around the Z axis by default. You can check either the X_AXIS or Y_AXIS box to change that (only one axis allowed. If both X and Y are checked, the default of Z will be used).
FORCE door opens even if blocked
"key" set to any non-zero value to start door as locked
"degrees" determines how many degrees it will turn (90 default)
"speed" movement speed (100 default)
"closespeed" optional different movement speed for door closing
"time" how many milliseconds it will take to open 1 sec = 1000
"dmg" damage to inflict when blocked (2 default)
"color" constantLight color
"light" constantLight radius
"teamname" team name. other doors with same team name will open/close in syncronicity
*/
/*QUAKED trigger_use (.3 .5 .8) STARTOFF HAS_USER
when activated will use its target
"delay" - time (in seconds) before it can be used again
"offnoise" - specifies an alternate sound
"cursorhint" - sets the cursor hint icon to display when the player looks at it. Default is HINT_ACTIVATE.
"hintstring" - hint string to display over the icon. Auto replaces [Use] with the key the player must press. Example: "Press [Use] to plant the bomb"
"cursorhint" cursor types:
HINT_INHERIT
HINT_NONE
HINT_ACTIVATE
HINT_NOACTIVATE
HINT_DOOR
HINT_DOOR_LOCKED
HINT_MG42
HINT_HEALTH
HINT_LADDER
HINT_EXIT
HINT_FRIENDLY
*/
/*QUAKED props_skyportal (.6 .7 .7) (-8 -8 0) (8 8 16)
"fov" for the skybox default is 90
To have the portal sky fogged, enter any of the following values:
"fogcolor" (r g b) (values 0.0-1.0)
"fognear" distance from entity to start fogging
"fogfar" distance from entity that fog is opaque
*/
/*QUAKED script_brushmodel (0 .5 .8) ? DYNAMICPATH
"color" constantLight color
"light" constantLight radius
*/
/*QUAKED script_model (1 0 0) (-16 -16 -16) (16 16 16)
"color" constantLight color
"light" constantLight radius
*/
/*QUAKED script_origin (1 0 0) (-8 -8 -8) (8 8 8)
"color" constantLight color
"light" constantLight radius
*/
/*QUAKED info_vehicle_node (0.0 0.8 0.0) (-24 -24 -24) (24 24 24) START_NODE
"targetname" - name of this node
"target" - name of next node in this path
"speed" - speed[mph] vehicle should have at this node
"lookahead" - time[sec] vehicle should look ahead at this node
*/
/*QUAKED info_vehicle_node_rotate (0.2 0.4 1.0) (-24 -24 -24) (24 24 24) START_NODE
"targetname" - name of this node
"target" - name of next node in this path
"speed" - speed[mph] vehicle should have at this node
"lookahead" - time[sec] vehicle should look ahead at this node
*/
/*QUAKED script_vehicle (1 0 0) (-16 -16 -16) (16 16 16) USABLE
"targetname" - name of this vehicle
"model" - xmodel file to use as vehicle
"vehicletype" - name of vehicle type to use in AssetManager
*/
/*QUAKED worldspawn (0 0 0) ? sun_cameraflare x x x x NO_GT_WOLF NO_STOPWATCH NO_CHECKPOINT
Every map should have exactly one worldspawn.
"music" Music wav file. Can optionally specify intro & loop files to play
"ambienttrack" Ambient wav file.
"gravity" 800 is default gravity
"message" Text to print during connection process
"ambient" Ambient light value (single scale, 1 = full bright, 2 = full overbright, must use '_color')
"_color" Ambient light color (RGB triple, must be used with 'ambient')
"sun" Shader to use for 'sun' image
"suncolor" RGB values for direct sunlight color (color only, not brightness, 0-1 scale, works with 'sunlight')
"sunlight" Intensity of the sun (1 = fullbright, 2 = full overbright for something facing directly at the sun, must use 'suncolor')
"sundiffusecolor" RGB values for diffuse sunlight color (color only, not brightness, 0-1 scale, works with 'diffusefraction')
"diffusefraction" fraction of sunlight intensity to come from the diffuse lighting (in range 0-1; eg, 0.5, works with 'sundiffusecolor')
"sundirection" pitch-yaw-roll for direction to sun (eg, sundirection -45 135 0)
"minlight" minimum intensity for a lightmap pixel (does not affect models in-game)
"minlightcolor" color to clamp to for minlight (color gets normalized)
"northyaw" yaw angle that denotes the direction of north
Multiplayer specific stuff:
NO_GT_WOLF specifies no objective mode for this map
NO_STOPWATCH specifies no stopwatch mode for this map
NO_CHECKPOINT specifies no checkpoint mode for this map
*/
/*QUAKED trigger_multiple (1 .3 .1) ? AI_AXIS AI_ALLIES AI_NEUTRAL NOTPLAYER VEHICLE
"wait" : Seconds between triggerings, 0.5 default, -1 = one time only.
"random" wait variance, default is 0
Variable sized repeatable trigger. Must be targeted at one or more entities.
so, the basic time between firing is a random time between
(wait - random) and (wait + random)
*/
/*QUAKED trigger_friendlychain (1 .3 .1) ? AI_AXIS AI_ALLIES AI_NEUTRAL NOTPLAYER
Forces any touching entity to be considered on the targeted friendly chain.
*/
/*QUAKED trigger_hurt (1 .3 .1) ? START_OFF PLAYER_ONLY SILENT NO_PROTECTION SLOW ONCE
Any entity that touches this will be hurt.
It does dmg points of damage each server frame
Targeting the trigger will toggle its on / off state.
PLAYER_ONLY - only damages the player
SILENT - supresses playing the sound
NO_PROTECTION - *nothing* stops the damage
SLOW - changes the damage rate to once per second
"dmg" default 5 (whole numbers only)
"life" time this brush will exist if value is zero will live for ever ei 0.5 sec 2.sec
default is zero
the entity must be used first before it will count down its life
*/
/*QUAKED trigger_once (1 .3 .1) ? AI_AXIS AI_ALLIES AI_NEUTRAL NOTPLAYER VEHICLE
Must be targeted at one or more entities.
Once triggered, this entity is destroyed
(you can actually do the same thing with trigger_multiple with a wait of -1)
*/
/*QUAKED trigger_damage (1 .3 .1) ? PISTOL_NO RIFLE_NO PROJ_NO EXPLOSION_NO SPLASH_NO MELEE_NO FLAME_NO - MISC_NO
Trigger that responds to taking damage.
"wait" base time between triggering all targets, default is 1
"random" wait variance, default is 0
so, the basic time between firing is a random time between
(wait - random) and (wait + random)
"accumulate" If set, this much damage must be accumulated before it will trigger
"threshold" If set, the min amount of damage that must be done to it to trigger it
Note that accumulate & threshold can used at the same time.
PISTOL_NO turns off response to pistol damage
RIFLE_NO turns off response to rifle damage
PROJ_NO turns off response to projectile damage
SPLASH_NO turns off response to splash damage
MELEE_NO turns off response to melee damage
FLAME_NO turns off response to fire damage
MISC_NO turns off response to all other misc types of damage
*/
/*QUAKED trigger_lookat (1 .3 .1)
*/
/*QUAKED node_pathnode (1 0 1) (-16 -16 -16) (16 16 16) DONT_LINK NOT_CHAIN DONT_STAND DONT_CROUCH DONT_PRONE
DONT_LINK - node is not included in navigation data
NOT_CHAIN - node cannot start a friendly chain
angles - face this way when at this node on a friendly chain
*/
/*QUAKED node_cover_stand (0 .54 .66) (-16 -16 -16) (16 16 16) DONT_LINK NOT_CHAIN - DONT_CROUCH DONT_PRONE
DONT_LINK - node is not included in navigation data
NOT_CHAIN - node cannot start a friendly chain
angles - cover is valid against enemies from this direction
*/
/*QUAKED node_cover_crouch (0 .93 .72) (-16 -16 -16) (16 16 16) DONT_LINK NOT_CHAIN DONT_STAND - DONT_PRONE
DONT_LINK - node is not included in navigation data
NOT_CHAIN - node cannot start a friendly chain
angles - cover is valid against enemies from this direction
*/
/*QUAKED node_cover_prone (0 .60 .46) (-16 -16 -16) (16 16 16) DONT_LINK NOT_CHAIN DONT_STAND DONT_CROUCH -
DONT_LINK - node is not included in navigation data
NOT_CHAIN - node cannot start a friendly chain
angles - cover is valid against enemies from this direction
*/
/*QUAKED node_cover_right (.85 .85 .10) (-16 -16 -16) (16 16 16) DONT_LINK NOT_CHAIN DONT_STAND DONT_CROUCH DONT_PRONE
DONT_LINK - node is not included in navigation data
NOT_CHAIN - node cannot start a friendly chain
angles - cover is valid against enemies from this direction
*/
/*QUAKED node_cover_left (1 .7 0) (-16 -16 -16) (16 16 16) DONT_LINK NOT_CHAIN DONT_STAND DONT_CROUCH DONT_PRONE
DONT_LINK - node is not included in navigation data
NOT_CHAIN - node cannot start a friendly chain
angles - cover is valid against enemies from this direction
*/
/*QUAKED node_cover_wide_right (.75 .75 0) (-16 -16 -16) (16 16 16) DONT_LINK NOT_CHAIN DONT_STAND DONT_CROUCH DONT_PRONE
DONT_LINK - node is not included in navigation data
NOT_CHAIN - node cannot start a friendly chain
angles - cover is valid against enemies from this direction
*/
/*QUAKED node_cover_wide_left (.75 .525 .375) (-16 -16 -16) (16 16 16) DONT_LINK NOT_CHAIN DONT_STAND DONT_CROUCH DONT_PRONE
DONT_LINK - node is not included in navigation data
NOT_CHAIN - node cannot start a friendly chain
angles - cover is valid against enemies from this direction
*/
/*QUAKED node_concealment_stand (0 0 1) (-16 -16 -16) (16 16 16) DONT_LINK NOT_CHAIN - DONT_CROUCH DONT_PRONE
DONT_LINK - node is not included in navigation data
NOT_CHAIN - node cannot start a friendly chain
angles - concealment is valid against enemies from this direction
*/
/*QUAKED node_concealment_crouch (0 0 .75) (-16 -16 -16) (16 16 16) DONT_LINK NOT_CHAIN DONT_STAND - DONT_PRONE
DONT_LINK - node is not included in navigation data
NOT_CHAIN - node cannot start a friendly chain
angles - concealment is valid against enemies from this direction
*/
/*QUAKED node_concealment_prone (0 0 .5) (-16 -16 -16) (16 16 16) DONT_LINK NOT_CHAIN DONT_STAND DONT_CROUCH -
DONT_LINK - node is not included in navigation data
NOT_CHAIN - node cannot start a friendly chain
angles - concealment is valid against enemies from this direction
*/
/*QUAKED node_stack (.87 0 .41) (-16 -16 -16) (16 16 16) DONT_LINK NOT_CHAIN DONT_STAND DONT_CROUCH DONT_PRONE
DONT_LINK - node is not included in navigation data
NOT_CHAIN - node cannot start a friendly chain
angles - face this direction while stacking here
This node must target a cover node or another stack node. It is treated as overflow for the first targeted non-stack node.
*/
/*QUAKED node_reacquire (.52 .52 .60) (-16 -16 -16) (16 16 16) DONT_LINK NOT_CHAIN DONT_STAND DONT_CROUCH DONT_PRONE
DONT_LINK - node is not included in navigation data
NOT_CHAIN - node cannot start a friendly chain
angles - node can reacquire against enemies in this direction
*/
/*QUAKED node_balcony (.5 .5 0) (-16 -16 -16) (16 16 16) DONT_LINK NOT_CHAIN - DONT_CROUCH DONT_PRONE NO_RAILING
DONT_LINK - node is not included in navigation data
NOT_CHAIN - node cannot start a friendly chain
NO_RAILING - the balcony is against a ledge and not a railing
angles - the edge is in this direction
*/
/*QUAKED node_scripted (.72 .72 .83) (-16 -16 -16) (16 16 16) DONT_LINK NOT_CHAIN DONT_STAND DONT_CROUCH DONT_PRONE
DONT_LINK - node is not included in navigation data
NOT_CHAIN - node cannot start a friendly chain
angles - orients the node for the animation
*/
/*QUAKED node_negotiation_begin (.5 .6 .5) (-16 -16 -16) (16 16 16) - - DONT_STAND DONT_CROUCH DONT_PRONE STOP_FIRST
STOP_FIRST - if set, the AI comes to a complete stop before starting the node's animation script
"animscript" - name without path or extension of the animation script to play when you reach this node. This script must be in "animscripts/traverse/".
Must target a single "node_negotiation_end".
Always contributes to navigation data.
Can never be included in a friendly chain.
*/
/*QUAKED node_negotiation_end (.6 .5 .5) (-16 -16 -16) (16 16 16) - - DONT_STAND DONT_CROUCH DONT_PRONE
Must be targeted by a "node_negotiation_begin".
Always contributes to navigation data.
Can never be included in a friendly chain.
*/
/*QUAKED mp_target_location (0 0.5 0) (-8 -8 -8) (8 8 8)
Set "message" to the name of this location.
Set "count" to 0-7 for color.
0:white 1:red 2:green 3:yellow 4:blue 5:cyan 6:magenta 7:white
Closest target_location in sight used for the location, if none
in site, closest in distance
*/
/*QUAKED item_ammo_stielhandgranate_open (.3 .3 1) (-16 -16 -16) (16 16 16) SUSPENDED SPIN - RESPAWN
-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
defaultmdl="xmodel/ammo_stielhandgranate1"
*/
/*QUAKED item_ammo_stielhandgranate_closed (.3 .3 1) (-16 -16 -16) (16 16 16) SUSPENDED SPIN - RESPAWN
-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
defaultmdl="xmodel/ammo_stielhandgranate2"
*/
/*QUAKED item_health_small (.3 .3 1) (-16 -16 -16) (16 16 16) SUSPENDED SPIN - RESPAWN
-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
defaultmdl="xmodel/health_small"
*/
/*QUAKED item_health (.3 .3 1) (-16 -16 -16) (16 16 16) SUSPENDED SPIN - RESPAWN
-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
defaultmdl="xmodel/health_medium"
*/
/*QUAKED item_health_large (.3 .3 1) (-16 -16 -16) (16 16 16) SUSPENDED SPIN - RESPAWN
-------- MODEL FOR RADIANT ONLY - DO NOT SET THIS AS A KEY --------
defaultmdl="xmodel/health_large"
*/

101
Tools/bin/cod.ini Normal file
View file

@ -0,0 +1,101 @@
; command mapping for QERadiant
;
; syntax is as follows
; Command name=keystroke
;
; use +alt, shift or ctrl to modify the keys (you can combine them)
; i.e.
; EntityColor=k+ctrl
;
; the special keys are as follows
;
; UP=Cursor up
; DOWN=Cursor down
; LEFT=Cursor left
; RIGHT=Cursor right
; SPACE=space
; BACKSPACE=back space
; ESCAPE=escape
; END=end
; INSERT=insert
; DELETE=delete
; PAGEUP=page up
; PAGEDOWN=page down
; TAB=tab
; RETURN=return (enter)
; F1..F2=f1 .. f12
; COMMAN=,
; PERIOD=.
; PLUS=+
; MULTIPLY=*
; SUBTRACT=-
CubicClipping=0
CubicScale=16
WhichGame=CoD
ALTEdgeDrag=1
UseTextureBar=0
FaceColors=0
[Commands]
EntityColor=K
CameraForward=UP
CameraBack=DOWN
CameraLeft=LEFT
CameraRight=RIGHT
CameraUp=D
CameraDown=C
CameraAngleUp=A
CameraAngleDown=Z
CameraStrafeRight=PERIOD
CameraStrafeLeft=COMMA
ToggleGrid=0
SetGrid1=1
SetGrid2=2
SetGrid4=3
SetGrid8=4
SetGrid16=5
SetGrid32=6
SetGrid64=7
DragEdges=E
DragVertices=V
ViewEntityInfo=N
ViewConsole=O
ViewTextures=T
SurfaceInspector=S
CloneSelection=SPACE
DeleteSelection=BACKSPACE
UnSelectSelection=ESCAPE
CenterView=END
ZoomOut=INSERT
ZoomIn=DELETE
ZZoomOut=INSERT+ctrl
ZZoomIn=DELETE+ctrl
UpFloor=PAGEUP
DownFloor=PAGEDOWN
ToggleClipper=X
ClipSelected=RETURN
FlipClip=~
SplitSelected=RETURN+shift
; ToggleRealtime=R
MouseRotate=R
EntityList=L
MapInfo=M
Preferences=P
ToggleCamera=C+shift+ctrl
ToggleConsole=O+shift+ctrl
ToggleView=V+shift+ctrl
ToggleZ=Z+shift+ctrl
ConnectSelection=W
Brush3Sided=3+ctrl
Brush4Sided=4+ctrl
Brush5Sided=5+ctrl
Brush6Sided=6+ctrl
Brush7Sided=7+ctrl
Brush8Sided=8+ctrl
Brush9Sided=9+ctrl
NextLeakSpot=K+ctrl+shift
PrevLeakSpot=L+ctrl+shift
FileOpen=O+ctrl
FileSave=S+ctrl
NextView=TAB+ctrl
Center2DOnCamera=X+alt

12
Tools/bin/cod.qe4 Normal file
View file

@ -0,0 +1,12 @@
{
"basegame" ""
"game" ""
"brush_primit" "0"
"autosave" "autosave.map"
"texturepath" "textures"
"entitypath" "..\bin\cod.def"
"mapspath" "..\..\main\maps"
"remotebasepath" "..\..\"
"rshcmd" "..\bin\"
"basepath" "..\..\"
}

BIN
Tools/bin/converter.exe Normal file

Binary file not shown.

84
Tools/bin/flare.cfg Normal file
View file

@ -0,0 +1,84 @@
//-----------------------------------------------------------------------------------------
//
// config file for FLARE light compiler
// this file always gets automatically executed after the command line has finished parsing
//
//-----------------------------------------------------------------------------------------
//---------------------------------------------
// command keys
bind escape "quit"
//---------------------------------------------
// movement
set movespeed 512
set sensitivity 5
set m_pitch 0.022
set m_yaw 0.022
bind s "+moveleft"
bind f "+moveright"
bind d "+back"
bind e "+forward"
bind mouse2 "+forward"
bind space "+moveup"
bind shift "+movedown"
//---------------------------------------------
// leak points and bsp testing
bind [ "inc leakpoint"
bind ] "dec leakpoint"
bind \ "set leakpoint 0"
bind l "toggle r_showleaf"
bind semicolon "toggle r_lockleaf"
// bspleaf is the one in the bsp from q3map
bind b "toggle r_showbspleaf"
//---------------------------------------------
// debug stepping commands
bind f10 step
bind f11 stepin
bind f5 stepout
bind f8 resetbreakpoints
bind f9 togglebreakpoint
//---------------------------------------------
// rendering
bind w "toggle r_wireframe"
bind r "toggle r_fullbright"
bind t "toggle r_textured"
bind o "overbright"
bind p "lmapfilter"
bind i "toggle r_showoccluders"
bind j "jumptolight"
bind k "toggle r_showlights"
bind g "toggle r_showgrid"
bind . "toggle r_picklight"
bind y "toggle r_showbreakpoints"
bind n "toggle r_shownormals"
//---------------------------------------------
// zoom
bind 1 "set r_fov 90"
bind 2 "set r_fov 75"
bind 3 "set r_fov 60"
bind 4 "set r_fov 45"
bind 5 "set r_fov 30"
bind 6 "set r_fov 20"
bind 7 "set r_fov 15"
bind 8 "set r_fov 10"
//---------------------------------------------
// convenient speed toggle
bind mwheelup "add 64 movespeed"
bind mwheeldown "add -64 movespeed"

BIN
Tools/bin/flare.exe Normal file

Binary file not shown.

BIN
Tools/bin/q3map.exe Normal file

Binary file not shown.

BIN
Tools/bin/skelout.dle Normal file

Binary file not shown.

BIN
Tools/deffiles/aitype.dll Normal file

Binary file not shown.

535
Tools/deffiles/aitype.gdf Normal file
View file

@ -0,0 +1,535 @@
#name "aitype"
#dll "aitype"
#source_dir "aitype/"
#target_dir "aitype/"
#file_ext "*.gsc"
string radiantModel
enum {"axis", "allies", "neutral"} team // made this first so that it gets set first in script (may not be necessary)
float 0.2 0.01 1.0 accuracy // 0.01 -> 1.0f percent accuracy of AI within effective range of weapon
int 100 1 10000 health
keyenum("projectileweapon.gdf", "grenadeweapon.gdf", "bulletweapon.gdf") weapon
keyenum("projectileweapon.gdf", "grenadeweapon.gdf", "bulletweapon.gdf") secondaryweapon
keyenum("grenadeweapon.gdf") grenadeWeapon
float 1 0 100 scariness
float 6 0 100 bravery
int 0 0 5 grenadeAmmo
string comments
keyenum("character.gdf") character1
keyenum("character.gdf") character2
keyenum("character.gdf") character3
keyenum("character.gdf") character4
keyenum("character.gdf") character5
keyenum("character.gdf") character6
keyenum("character.gdf") character7
keyenum("character.gdf") character8
keyenum("character.gdf") character9
keyenum("character.gdf") character10
keyenum("character.gdf") character11
keyenum("character.gdf") character12
keyenum("character.gdf") character13
keyenum("character.gdf") character14
keyenum("character.gdf") character15
keyenum("character.gdf") character16
keyenum("character.gdf") character17
keyenum("character.gdf") character18
keyenum("character.gdf") character19
keyenum("character.gdf") character20
keyenum("character.gdf") character21
keyenum("character.gdf") character22
keyenum("character.gdf") character23
keyenum("character.gdf") character24
keyenum("character.gdf") character25
keyenum("character.gdf") character26
keyenum("character.gdf") character27
keyenum("character.gdf") character28
keyenum("character.gdf") character29
keyenum("character.gdf") character30
keyenum("character.gdf") character31
keyenum("character.gdf") character32
keyenum("character.gdf") character33
keyenum("character.gdf") character34
keyenum("character.gdf") character35
keyenum("character.gdf") character36
keyenum("character.gdf") character37
keyenum("character.gdf") character38
keyenum("character.gdf") character39
keyenum("character.gdf") character40
keyenum("character.gdf") character41
keyenum("character.gdf") character42
keyenum("character.gdf") character43
keyenum("character.gdf") character44
keyenum("character.gdf") character45
keyenum("character.gdf") character46
keyenum("character.gdf") character47
keyenum("character.gdf") character48
keyenum("character.gdf") character49
keyenum("character.gdf") character50
vcontainer
{
fileedit(radiantModel)
[
exec
{
reldir("game/main/xmodel/")
}
]
hcontainer
{
floatedit(accuracy, 0.01, 0.1)
spinedit(health, 1, 10)
}
hcontainer
{
scrollbox(weapon)
[
exec
{
width(384)
}
]
scrollbox(secondaryweapon)
[
exec
{
width(384)
}
]
}
hcontainer
{
scrollbox(grenadeWeapon)
[
exec
{
width(384)
}
]
spinedit(grenadeAmmo, 1, 1)
}
hcontainer
{
scrollbox(team)
floatedit(scariness, .1, 1)
floatedit(bravery, .1, 1)
}
multiedit(comments)
[
exec
{
width(712)
height(64)
}
]
simplelistbox(character1)
[
exec
{
width(560)
}
]
simplelistbox(character2)
[
exec
{
width(560)
}
]
simplelistbox(character3)
[
exec
{
width(560)
}
]
simplelistbox(character4)
[
exec
{
width(560)
}
]
simplelistbox(character5)
[
exec
{
width(560)
}
]
simplelistbox(character6)
[
exec
{
width(560)
}
]
simplelistbox(character7)
[
exec
{
width(560)
}
]
simplelistbox(character8)
[
exec
{
width(560)
}
]
simplelistbox(character9)
[
exec
{
width(560)
}
]
simplelistbox(character10)
[
exec
{
width(560)
}
]
simplelistbox(character11)
[
exec
{
width(560)
}
]
simplelistbox(character12)
[
exec
{
width(560)
}
]
simplelistbox(character13)
[
exec
{
width(560)
}
]
simplelistbox(character14)
[
exec
{
width(560)
}
]
simplelistbox(character15)
[
exec
{
width(560)
}
]
simplelistbox(character16)
[
exec
{
width(560)
}
]
simplelistbox(character17)
[
exec
{
width(560)
}
]
simplelistbox(character18)
[
exec
{
width(560)
}
]
simplelistbox(character19)
[
exec
{
width(560)
}
]
simplelistbox(character20)
[
exec
{
width(560)
}
]
simplelistbox(character21)
[
exec
{
width(560)
}
]
simplelistbox(character22)
[
exec
{
width(560)
}
]
simplelistbox(character23)
[
exec
{
width(560)
}
]
simplelistbox(character24)
[
exec
{
width(560)
}
]
simplelistbox(character25)
[
exec
{
width(560)
}
]
simplelistbox(character26)
[
exec
{
width(560)
}
]
simplelistbox(character27)
[
exec
{
width(560)
}
]
simplelistbox(character28)
[
exec
{
width(560)
}
]
simplelistbox(character29)
[
exec
{
width(560)
}
]
simplelistbox(character30)
[
exec
{
width(560)
}
]
simplelistbox(character31)
[
exec
{
width(560)
}
]
simplelistbox(character32)
[
exec
{
width(560)
}
]
simplelistbox(character33)
[
exec
{
width(560)
}
]
simplelistbox(character34)
[
exec
{
width(560)
}
]
simplelistbox(character35)
[
exec
{
width(560)
}
]
simplelistbox(character36)
[
exec
{
width(560)
}
]
simplelistbox(character37)
[
exec
{
width(560)
}
]
simplelistbox(character38)
[
exec
{
width(560)
}
]
simplelistbox(character39)
[
exec
{
width(560)
}
]
simplelistbox(character40)
[
exec
{
width(560)
}
]
simplelistbox(character41)
[
exec
{
width(560)
}
]
simplelistbox(character42)
[
exec
{
width(560)
}
]
simplelistbox(character43)
[
exec
{
width(560)
}
]
simplelistbox(character44)
[
exec
{
width(560)
}
]
simplelistbox(character45)
[
exec
{
width(560)
}
]
simplelistbox(character46)
[
exec
{
width(560)
}
]
simplelistbox(character47)
[
exec
{
width(560)
}
]
simplelistbox(character48)
[
exec
{
width(560)
}
]
simplelistbox(character49)
[
exec
{
width(560)
}
]
simplelistbox(character50)
[
exec
{
width(560)
}
]
}

File diff suppressed because it is too large Load diff

Binary file not shown.

View file

@ -0,0 +1,517 @@
#name "character"
#dll "character"
#target_dir "character/"
#file_ext "*"
string body
keyenum("xmodelalias.gdf") bodyAlias
string head
keyenum("xmodelalias.gdf") headAlias
string hat
keyenum("xmodelalias.gdf") hatAlias
string viewmodel
string TAG_BELT_BACK
int 0 0 1 TAG_BELT_BACK_required
string TAG_BELT_BACKLEFT
int 0 0 1 TAG_BELT_BACKLEFT_required
string TAG_BELT_BACKRIGHT
int 0 0 1 TAG_BELT_BACKRIGHT_required
string TAG_BELT_FRONT
int 0 0 1 TAG_BELT_FRONT_required
string TAG_BELT_FRONTLEFT
int 0 0 1 TAG_BELT_FRONTLEFT_required
string TAG_BELT_FRONTRIGHT
int 0 0 1 TAG_BELT_FRONTRIGHT_required
string TAG_BELT_LEFT
int 0 0 1 TAG_BELT_LEFT_required
string TAG_BELT_RIGHT
int 0 0 1 TAG_BELT_RIGHT_required
string TAG_BREASTPOCKET_LEFT
int 0 0 1 TAG_BREASTPOCKET_LEFT_required
string TAG_BREASTPOCKET_RIGHT
int 0 0 1 TAG_BREASTPOCKET_RIGHT_required
string TAG_CALF_LEFT
int 0 0 1 TAG_CALF_LEFT_required
string TAG_CALF_RIGHT
int 0 0 1 TAG_CALF_RIGHT_required
string TAG_HELMET
int 0 0 1 TAG_HELMET_required
string TAG_HELMETSIDE
int 0 0 1 TAG_HELMETSIDE_required
string TAG_SHIN_LEFT
int 0 0 1 TAG_SHIN_LEFT_required
string TAG_SHIN_RIGHT
int 0 0 1 TAG_SHIN_RIGHT_required
string TAG_THIGH_LEFT
int 0 0 1 TAG_THIGH_LEFT_required
string TAG_THIGH_RIGHT
int 0 0 1 TAG_THIGH_RIGHT_required
string TAG_WEAPON_LEFT
int 0 0 1 TAG_WEAPON_LEFT_required
string TAG_WEAPON_RIGHT
int 0 0 1 TAG_WEAPON_RIGHT_required
string TAG_ORIGIN
int 0 0 1 TAG_ORIGIN_required
string misc1
int 0 0 1 misc1_required
string misc2
int 0 0 1 misc2_required
string misc3
int 0 0 1 misc3_required
enum { "american", "british", "german", "russian", "elder", "foley", "moody", "pavlov", "price", "waters", "ingram", "makarov", "kovalenko", "mills" } voice
vcontainer
{
scrollbox(voice)
fileedit(body)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
scrollbox(bodyAlias)
[
exec
{
labelwidth(200)
width(640)
}
]
fileedit(head)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
scrollbox(headAlias)
[
exec
{
labelwidth(200)
width(640)
}
]
fileedit(hat)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
scrollbox(hatAlias)
[
exec
{
labelwidth(200)
width(640)
}
]
fileedit(viewmodel)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
fileedit(TAG_BELT_BACK)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
checkbox(TAG_BELT_BACK_required)
[
exec
{
labelwidth(256)
}
]
fileedit(TAG_BELT_BACKLEFT)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
checkbox(TAG_BELT_BACKLEFT_required)
[
exec
{
labelwidth(256)
}
]
fileedit(TAG_BELT_BACKRIGHT)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
checkbox(TAG_BELT_BACKRIGHT_required)
[
exec
{
labelwidth(256)
}
]
fileedit(TAG_BELT_FRONT)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
checkbox(TAG_BELT_FRONT_required)
[
exec
{
labelwidth(256)
}
]
fileedit(TAG_BELT_FRONTLEFT)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
checkbox(TAG_BELT_FRONTLEFT_required)
[
exec
{
labelwidth(256)
}
]
fileedit(TAG_BELT_FRONTRIGHT)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
checkbox(TAG_BELT_FRONTRIGHT_required)
[
exec
{
labelwidth(256)
}
]
fileedit(TAG_BELT_LEFT)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
checkbox(TAG_BELT_LEFT_required)
[
exec
{
labelwidth(256)
}
]
fileedit(TAG_BELT_RIGHT)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
checkbox(TAG_BELT_RIGHT_required)
[
exec
{
labelwidth(256)
}
]
fileedit(TAG_BREASTPOCKET_LEFT)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
checkbox(TAG_BREASTPOCKET_LEFT_required)
[
exec
{
labelwidth(256)
}
]
fileedit(TAG_BREASTPOCKET_RIGHT)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
checkbox(TAG_BREASTPOCKET_RIGHT_required)
[
exec
{
labelwidth(256)
}
]
fileedit(TAG_CALF_LEFT)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
checkbox(TAG_CALF_LEFT_required)
[
exec
{
labelwidth(256)
}
]
fileedit(TAG_CALF_RIGHT)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
checkbox(TAG_CALF_RIGHT_required)
[
exec
{
labelwidth(256)
}
]
fileedit(TAG_HELMET)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
checkbox(TAG_HELMET_required)
[
exec
{
labelwidth(256)
}
]
fileedit(TAG_HELMETSIDE)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
checkbox(TAG_HELMETSIDE_required)
[
exec
{
labelwidth(256)
}
]
fileedit(TAG_SHIN_LEFT)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
checkbox(TAG_SHIN_LEFT_required)
[
exec
{
labelwidth(256)
}
]
fileedit(TAG_SHIN_RIGHT)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
checkbox(TAG_SHIN_RIGHT_required)
[
exec
{
labelwidth(256)
}
]
fileedit(TAG_THIGH_LEFT)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
checkbox(TAG_THIGH_LEFT_required)
[
exec
{
labelwidth(256)
}
]
fileedit(TAG_THIGH_RIGHT)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
checkbox(TAG_THIGH_RIGHT_required)
[
exec
{
labelwidth(256)
}
]
fileedit(TAG_WEAPON_LEFT)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
checkbox(TAG_WEAPON_LEFT_required)
[
exec
{
labelwidth(256)
}
]
fileedit(TAG_WEAPON_RIGHT)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
checkbox(TAG_WEAPON_RIGHT_required)
[
exec
{
labelwidth(256)
}
]
fileedit(TAG_ORIGIN)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
checkbox(TAG_ORIGIN_required)
[
exec
{
labelwidth(256)
}
]
fileedit(misc1)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
checkbox(misc1_required)
[
exec
{
labelwidth(256)
}
]
fileedit(misc2)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
checkbox(misc2_required)
[
exec
{
labelwidth(256)
}
]
fileedit(misc3)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
checkbox(misc3_required)
[
exec
{
labelwidth(256)
}
]
}

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,735 @@
#name "grenadeweapon"
#dll "configstringconvert"
#target_dir "weapons/sp/" // target location 1 (single-player)
#target_dir "weapons/mp/" // target location 2 (multi-player)
#file_ext "*"
// This tells the configstring converter what the file type identifier should be
enum { "WEAPONFILE" } configstringFileType
// This uses the config string convert's multi-target folder
// mechanism to make the weapon either a single-player weaons
// or a multi-player weapon.
// The first character is used to specify which target folder to go in
enum { "1: Single-Player", "2: Multi-Player" } targetFolder
// Because the first entry is the default value, this
// Will set the weaponType to "grenade"
enum { "grenade", "bullet", "projectile" } weaponType
enum { "grenade", "rifle", "mg", "smg", "pistol", "rocketlauncher", "flamethrower", "turret", "non-player" } weaponClass
string displayName
string AIOverlayDescription
string modeName
string gunModel
string handModel
string idleAnim
string emptyIdleAnim
string fireAnim
string holdFireAnim
string lastShotAnim
string meleeAnim
string raiseAnim
string dropAnim
string altRaiseAnim
string altDropAnim
enum { "grenade", "smokegrenade", "none", "pistol", "primary" } weaponSlot
int 0 0 1 slotStackable
float 1 0 5 moveSpeedScale
int 0 0 1000 damage
int 0 0 1000 meleeDamage
float 0.1 0 10.0 fireDelay
float 0.25 0.05 10.0 meleeDelay
float 0.1 0.0 10.0 fireTime
float 0.1 0.0 10.0 holdFireTime
float 0.7 0.0 10.0 meleeTime
float 2.0 0.0 10.0 reloadTime
float 0.5 0.0 10.0 dropTime
float 0.5 0.0 10.0 raiseTime
float 0.5 0.0 10.0 altDropTime
float 0.5 0.0 10.0 altRaiseTime
float 4 0 100 fuseTime
int 1 0 1 clipOnly
int 80 0 150 hipIdleAmount
float 0.5 0 1 idleCrouchFactor
float 0.15 0 1 idleProneFactor
float 30 0 180 swayMaxAngle
float 6 1 50 swayLerpSpeed
float 0.1 -2 2 swayPitchScale
float 0.1 -2 2 swayYawScale
float 0.1 -2 2 swayHorizScale
float 0.1 -2 2 swayVertScale
float 5 0 20 swayShellShockScale
// info for filling in the gitem_t for the weapon
string radiantName
string worldModel
string hudIcon
string modeIcon
string ammoIcon
string ammoName
int 100 0 999 maxAmmo
int 0 0 999 startAmmo
string clipName
int 10 0 999 clipSize
string sharedAmmoCapName
int 0 0 999 sharedAmmoCap
int 0 0 999 dropAmmoMin
int 0 0 999 dropAmmoMax
// client-side info
//string viewFlashEffect
//string worldFlashEffect
string pickupSound
string ammoPickupSound
string pullbackSound
string fireSound
string lastShotSound
string reloadSound
string altSwitchSound
string raiseSound
string putawaySound
string noteTrackSoundA
string noteTrackSoundB
string noteTrackSoundC
string noteTrackSoundD
string reticleCenter
string reticleSide
int 32 1 480 reticleCenterSize
int 16 1 480 reticleSideSize
int 4 0 480 reticleMinOfs
// additional weapon info
string altWeapon
int 1 0 1 twoHanded
int 0 0 1 cookOffHold
int 1 0 1 wideListIcon
string killIcon
int 1 0 1 wideKillIcon
// settings for view model position movement
float 0 -100 100 standMoveF
float 1 -100 100 standMoveR
float -1.5 -100 100 standMoveU
float 0 -100 100 standRotP
float 0 -100 100 standRotY
float 0 -100 100 standRotR
float -2 -100 100 duckedOfsF
float 2 -100 100 duckedOfsR
float -0.2 -100 100 duckedOfsU
float 0 -100 100 duckedMoveF
float 1 -100 100 duckedMoveR
float -1.5 -100 100 duckedMoveU
float 0 -100 100 duckedRotP
float 0 -100 100 duckedRotY
float 0 -100 100 duckedRotR
float -6 -100 100 proneOfsF
float 3.5 -100 100 proneOfsR
float 0.8 -100 100 proneOfsU
float 0 -100 100 proneMoveF
float 1 -100 100 proneMoveR
float -1.5 -100 100 proneMoveU
float 0 -100 100 proneRotP
float 0 -100 100 proneRotY
float 0 -100 100 proneRotR
float 4 0 100 posMoveRate
float 10 0 100 posProneMoveRate
float 110 0 1000 standMoveMinSpeed
float 60 0 1000 duckedMoveMinSpeed
float 0 0 1000 proneMoveMinSpeed
float 5 0 100 posRotRate
float 10 0 100 posProneRotRate
float 110 0 1000 standRotMinSpeed
float 60 0 1000 duckedRotMinSpeed
float 0 0 1000 proneRotMinSpeed
// additional grenade weapon info
int 300 0 10000 explosionRadius
int 10 0 10000 explosionInnerDamage
int 10 0 10000 explosionOuterDamage
int 600 0 10000 projectileSpeed
int 0 0 10000 projectileSpeedUp
string projectileModel
enum { "grenade", "rocket", "molotov", "none" } projExplosionType
string projExplosionEffect
string projExplosionSound
enum { "none", "grenade", "rocket" } projectileTrail
float 1.0 0 100 projectileTrailTime
int 32 1 1000 projectileTrailRadius
int 0 0 1 projImpactExplode
vcontainer
{
scrollbox(targetFolder)
[
exec
{
width(300)
}
]
hcontainer
{
edit(displayName)
edit(modeName)
}
hcontainer
{
edit(AIOverlayDescription)
}
hcontainer
{
floatedit(moveSpeedScale, 0.1, 1)
}
hcontainer
{
spinedit(damage, 1, 10)
spinedit(meleeDamage, 1, 10)
}
checkbox(projImpactExplode)
hcontainer
{
spinedit(explosionInnerDamage, 1, 10)
spinedit(explosionOuterDamage, 1, 10)
spinedit(explosionRadius, 10, 50)
}
hcontainer
{
spinedit(projectileSpeed, 10, 100)
spinedit(projectileSpeedUp, 10, 100)
floatedit(fuseTime, 0.1, 1)
}
checkbox(cookOffHold)
checkbox(twoHanded)
checkbox(wideListIcon)
fileedit(killIcon)
[
exec
{
reldir("game/main/")
}
]
checkbox(wideKillIcon)
fileedit(projectileModel)
[
exec
{
reldir("game/main/")
}
]
hcontainer
{
scrollbox(projExplosionType)
fileedit(projExplosionEffect)
[
exec
{
reldir("game/main/")
width(400)
}
]
}
edit(projExplosionSound)
hcontainer
{
scrollbox(projectileTrail)
floatedit(projectileTrailTime, 0.1, 1)
spinedit(projectileTrailRadius, 1, 5)
}
hcontainer
{
floatedit(fireDelay, 0.05, 0.2)
floatedit(meleeDelay, 0.05, 0.2)
}
hcontainer
{
floatedit(fireTime, 0.05, 0.2)
floatedit(meleeTime, 0.05, 0.2)
}
hcontainer
{
floatedit(holdFireTime, 0.05, 0.2)
}
hcontainer
{
floatedit(reloadTime, 0.05, 0.2)
}
hcontainer
{
floatedit(dropTime, 0.05, 0.2)
floatedit(raiseTime, 0.05, 0.2)
}
hcontainer
{
floatedit(altDropTime, 0.05, 0.2)
floatedit(altRaiseTime, 0.05, 0.2)
}
hcontainer
{
floatedit(idleCrouchFactor, 0.01, 0.1)
floatedit(idleProneFactor, 0.01, 0.1)
}
// seperator
hcontainer
{
}
spinedit(hipIdleAmount, 1, 10)
hcontainer
{
floatedit(swayMaxAngle, 0.05, 0.1)
[
exec
{
width(270) // optional custom width
labelwidth(170) // optional custom width
}
]
}
hcontainer
{
floatedit(swayLerpSpeed, 0.05, 0.1)
[
exec
{
width(270) // optional custom width
labelwidth(170) // optional custom width
}
]
}
hcontainer
{
floatedit(swayPitchScale, 0.05, 0.1)
[
exec
{
width(270) // optional custom width
labelwidth(170) // optional custom width
}
]
}
hcontainer
{
floatedit(swayYawScale, 0.05, 0.1)
[
exec
{
width(270) // optional custom width
labelwidth(170) // optional custom width
}
]
}
hcontainer
{
floatedit(swayHorizScale, 0.05, 0.1)
[
exec
{
width(270) // optional custom width
labelwidth(170) // optional custom width
}
]
}
hcontainer
{
floatedit(swayVertScale, 0.05, 0.1)
[
exec
{
width(270) // optional custom width
labelwidth(170) // optional custom width
}
]
}
floatedit(swayShellShockScale, 0.05, 0.1)
[
exec
{
width(270) // optional custom width
labelwidth(170) // optional custom width
}
]
// seperator
hcontainer
{
}
// info for filling in the gitem_t for the weapon
edit(radiantName)
fileedit(worldModel)
[
exec
{
reldir("game/main/")
}
]
fileedit(hudIcon)
[
exec
{
reldir("game/main/")
}
]
fileedit(modeIcon)
[
exec
{
reldir("game/main/")
}
]
fileedit(ammoIcon)
[
exec
{
reldir("game/main/")
}
]
hcontainer
{
edit(ammoName)
spinedit(maxAmmo, 10, 20)
spinedit(startAmmo, 1, 10)
}
hcontainer
{
edit(clipName)
spinedit(clipSize, 1, 10)
checkbox(clipOnly)
}
hcontainer
{
edit(sharedAmmoCapName)
spinedit(sharedAmmoCap, 10, 20)
}
hcontainer
{
spinedit(dropAmmoMin, 1, 10)
[
exec
{
width(270) // optional custom width
labelwidth(170) // optional custom width
}
]
spinedit(dropAmmoMax, 1, 10)
[
exec
{
width(270) // optional custom width
labelwidth(170) // optional custom width
}
]
}
fileedit(reticleCenter)
[
exec
{
reldir("game/main/")
}
]
// fileedit(reticleSide)
// [
// exec
// {
// reldir("game/main/")
// }
// ]
// hcontainer
// {
spinedit(reticleCenterSize, 1, 2)
// spinedit(reticleSideSize, 1, 2)
// spinedit(reticleMinOfs, 1, 2)
// }
// seperator
hcontainer
{
}
// fileedit(viewFlashEffect)
// [
// exec
// {
// reldir("game/main/")
// }
// ]
// fileedit(worldFlashEffect)
// [
// exec
// {
// reldir("game/main/")
// }
// ]
edit(pickupSound)
edit(ammoPickupSound)
edit(pullbackSound)
edit(fireSound)
edit(lastShotSound)
edit(reloadSound)
edit(altSwitchSound)
edit(raiseSound)
edit(putawaySound)
edit(noteTrackSoundA)
edit(noteTrackSoundB)
edit(noteTrackSoundC)
edit(noteTrackSoundD)
// seperator
hcontainer
{
}
hcontainer
{
scrollbox(weaponSlot)
checkbox(slotStackable)
}
scrollbox(weaponClass)
edit(altWeapon)
// seperator
hcontainer
{
}
hcontainer
{
floatedit(standMoveF, 0.1, 1)
floatedit(standMoveR, 0.1, 1)
floatedit(standMoveU, 0.1, 1)
}
hcontainer
{
floatedit(standRotP, 0.1, 1)
floatedit(standRotY, 0.1, 1)
floatedit(standRotR, 0.1, 1)
}
hcontainer
{
floatedit(duckedOfsF, 0.1, 1)
floatedit(duckedOfsR, 0.1, 1)
floatedit(duckedOfsU, 0.1, 1)
}
hcontainer
{
floatedit(duckedMoveF, 0.1, 1)
floatedit(duckedMoveR, 0.1, 1)
floatedit(duckedMoveU, 0.1, 1)
}
hcontainer
{
floatedit(duckedRotP, 0.1, 1)
floatedit(duckedRotY, 0.1, 1)
floatedit(duckedRotR, 0.1, 1)
}
hcontainer
{
floatedit(proneOfsF, 0.1, 1)
floatedit(proneOfsR, 0.1, 1)
floatedit(proneOfsU, 0.1, 1)
}
hcontainer
{
floatedit(proneMoveF, 0.1, 1)
floatedit(proneMoveR, 0.1, 1)
floatedit(proneMoveU, 0.1, 1)
}
hcontainer
{
floatedit(proneRotP, 0.1, 1)
floatedit(proneRotY, 0.1, 1)
floatedit(proneRotR, 0.1, 1)
}
hcontainer
{
floatedit(posMoveRate, 0.1, 1)
floatedit(posProneMoveRate, 0.1, 1)
}
hcontainer
{
floatedit(standMoveMinSpeed, 1, 10)
[
exec
{
width(210)
labelwidth(150)
}
]
floatedit(duckedMoveMinSpeed, 1, 10)
[
exec
{
width(210)
labelwidth(150)
}
]
floatedit(proneMoveMinSpeed, 1, 10)
[
exec
{
width(210)
labelwidth(150)
}
]
}
hcontainer
{
floatedit(posRotRate, 0.1, 1)
floatedit(posProneRotRate, 0.1, 1)
}
hcontainer
{
floatedit(standRotMinSpeed, 1, 10)
[
exec
{
width(210)
labelwidth(150)
}
]
floatedit(duckedRotMinSpeed, 1, 10)
[
exec
{
width(210)
labelwidth(150)
}
]
floatedit(proneRotMinSpeed, 1, 10)
[
exec
{
width(210)
labelwidth(150)
}
]
}
fileedit(gunModel)
[
exec
{
reldir("game/main/xmodel/")
width(500)
}
]
fileedit(handModel)
[
exec
{
reldir("game/main/xmodel/")
width(500)
}
]
fileedit(idleAnim)
[
exec
{
reldir("game/main/xanim/")
width(500)
}
]
fileedit(emptyIdleAnim)
[
exec
{
reldir("game/main/xanim/")
width(500)
}
]
fileedit(fireAnim)
[
exec
{
reldir("game/main/xanim/")
width(500)
}
]
fileedit(holdFireAnim)
[
exec
{
reldir("game/main/xanim/")
width(500)
}
]
fileedit(lastShotAnim)
[
exec
{
reldir("game/main/xanim/")
width(500)
}
]
fileedit(meleeAnim)
[
exec
{
reldir("game/main/xanim/")
width(500)
}
]
fileedit(raiseAnim)
[
exec
{
reldir("game/main/xanim/")
width(500)
}
]
fileedit(dropAnim)
[
exec
{
reldir("game/main/xanim/")
width(500)
}
]
fileedit(altRaiseAnim)
[
exec
{
reldir("game/main/xanim/")
width(500)
}
]
fileedit(altDropAnim)
[
exec
{
reldir("game/main/xanim/")
width(500)
}
]
}

View file

@ -0,0 +1,21 @@
#name "hitlocpart"
#dll "configstringconvert"
#target_dir "info/hitlocparts/"
#file_ext "*"
// This tells the configstring converter what the file type identifier should be
enum { "HITLOCPART" } configstringFileType
enum { "none", "helmet", "head", "neck", "torso_upper", "torso_lower", "right_arm_upper", "right_arm_lower", "right_hand", "left_arm_upper", "left_arm_lower", "left_hand", "right_leg_upper", "right_leg_lower", "right_foot", "left_leg_upper", "left_leg_lower", "left_foot", "gun" } hitLocation
vcontainer
{
scrollbox(hitLocation)
[
exec
{
labelwidth(80)
width(220)
}
]
}

200
Tools/deffiles/input.gdf Normal file
View file

@ -0,0 +1,200 @@
#name "My Test"
// JBW - don't convert #dll "defaultconvert"
#source_dir "source_data/"
#target_dir "output/temp/"
#file_ext "*.txt"
data testdata("weapon.gdf")
enum { "name1", "name2", "name3", "name4", "name5" } mapnames
//int 100 1 500 f
struct
{
// bool verbose
enum
{
"action",
"movement"
} animtype
enum
{
"val1",
"val2"
} testenum
struct
{
enum
{
"val3",
"val4"
} testenum2
int 100 1 500 testint
} teststruct
} animation
enum
{
"idle",
"patrol",
"balcony_idle"
} type_idle
enum
{
"idle",
"patrol",
"balcony_idle"
} type_idle2
enum
{
"idle",
"patrol",
"balcony_idle"
} type_idle3
enum
{
"idle",
"patrol",
"balcony_idle"
} type_idle4
string mapkey
map struct
{
int 100 1 500 f
string here
enum
{
"1",
"2",
"3"
} testenum
} testmap
[
event "event_name"
{
newentry(type_idle4)
newentry(type_idle)
}
]
ref(struct
{
int 100 1 500 f
string here
enum
{
"1",
"2",
"3"
} testenum
}) ref_var(testmap, mapkey)
string filename
int 0 0 1 f
int 0 0 1 g
/*
list entity map // map here is a variable name - essentially a list of values
map shader shaderlist // map here is a type - essentially a list of variables all of the same type (so they are not predefined)
*/
vcontainer
{
spinedit(f, 1, 1)
spinedit(g, 1, 1)
spinedit(f == g, 1, 1)
spinedit(filename == "here", 1, 1)
spinedit((f == g) && (f == g ? f : NULL), 1, 1)
using ref_var
{
spinedit(f, 5, 10)
edit(here)
scrollbox(testenum)
button("new file", "new_file")
}
fileedit(filename)
edit(mapkey)
button("clickme text", "event_name")
spinedit(f, 5, 10)
hcontainer
{
scrollbox(type_idle)
scrollbox(type_idle4)
}
vcontainer
{
scrollbox(type_idle2)
scrollbox(type_idle)
}
using animation
{
vcontainer
{
// bool(verbose)
scrollbox(animtype)
scrollbox(testenum)
using teststruct
{
scrollbox(testenum2)
spinedit(testint, 5, 10)
}
}
}
vcontainer
{
// bool animation.verbose
scrollbox(animation.animtype)
scrollbox(animation.testenum)
spinedit(animation.teststruct.testint, 5, 10)
scrollbox(animation.teststruct.testenum2)
}
listbox(testmap, mapkey)
}
/*
// variable values
type_idle3 "idle3"
type_idle4 "idle4"
type_idle2 "idle2"
type_idle "idle"
models/human/animation/viewmodel/sten/raise_sten_stand
{
verbose 1
animtype action
}
struct
{
bool verbose
enum
{
action
movement
} animtype
} animation
*/

View file

@ -0,0 +1,70 @@
#name "locdmgtable"
#dll "configstringconvert"
#target_dir "info/"
#file_ext "*"
// This tells the configstring converter what the file type identifier should be
enum { "LOCDMGTABLE" } configstringFileType
float 1.0 0 10 none
float 4.0 0 10 helmet
float 4.0 0 10 head
float 5.0 0 10 neck
float 1.0 0 10 torso_upper
float 0.9 0 10 torso_lower
float 0.8 0 10 right_arm_upper
float 0.6 0 10 right_arm_lower
float 0.4 0 10 right_hand
float 0.8 0 10 left_arm_upper
float 0.6 0 10 left_arm_lower
float 0.4 0 10 left_hand
float 0.8 0 10 right_leg_upper
float 0.6 0 10 right_leg_lower
float 0.4 0 10 right_foot
float 0.8 0 10 left_leg_upper
float 0.6 0 10 left_leg_lower
float 0.4 0 10 left_foot
float 0 0 10 gun
vcontainer
{
floatedit(none, 0.1, 0.2)
floatedit(helmet, 0.1, 0.2)
floatedit(head, 0.1, 0.2)
floatedit(neck, 0.1, 0.2)
floatedit(torso_upper, 0.1, 0.2)
floatedit(torso_lower, 0.1, 0.2)
hcontainer
{
floatedit(left_arm_upper, 0.1, 0.2)
floatedit(right_arm_upper, 0.1, 0.2)
}
hcontainer
{
floatedit(left_arm_lower, 0.1, 0.2)
floatedit(right_arm_lower, 0.1, 0.2)
}
hcontainer
{
floatedit(left_hand, 0.1, 0.2)
floatedit(right_hand, 0.1, 0.2)
}
hcontainer
{
floatedit(left_leg_upper, 0.1, 0.2)
floatedit(right_leg_upper, 0.1, 0.2)
}
hcontainer
{
floatedit(left_leg_lower, 0.1, 0.2)
floatedit(right_leg_lower, 0.1, 0.2)
}
hcontainer
{
floatedit(left_foot, 0.1, 0.2)
floatedit(right_foot, 0.1, 0.2)
}
floatedit(gun, 0.1, 0.2)
}

View file

@ -0,0 +1,243 @@
#name "mpplayermodel"
#dll "configstringconvert"
#target_dir "mp/playermodels/"
#file_ext "*"
// This tells the configstring converter what the file type identifier should be
enum { "PLAYERMODEL" } configstringFileType
string body
string hat
string TAG_BELT_BACK
string TAG_BELT_BACKLEFT
string TAG_BELT_BACKRIGHT
string TAG_BELT_FRONT
string TAG_BELT_FRONTLEFT
string TAG_BELT_FRONTRIGHT
string TAG_BELT_LEFT
string TAG_BELT_RIGHT
string TAG_BREASTPOCKET_LEFT
string TAG_BREASTPOCKET_RIGHT
string TAG_CALF_LEFT
string TAG_CALF_RIGHT
string TAG_HELMET
string TAG_HELMETSIDE
string TAG_SHIN_LEFT
string TAG_SHIN_RIGHT
string TAG_THIGH_LEFT
string TAG_THIGH_RIGHT
string TAG_WEAPON_LEFT
string TAG_WEAPON_RIGHT
string TAG_ORIGIN
vcontainer
{
fileedit(body)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
fileedit(hat)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
fileedit(TAG_BELT_BACK)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
fileedit(TAG_BELT_BACKLEFT)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
fileedit(TAG_BELT_BACKRIGHT)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
fileedit(TAG_BELT_FRONT)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
fileedit(TAG_BELT_FRONTLEFT)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
fileedit(TAG_BELT_FRONTRIGHT)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
fileedit(TAG_BELT_LEFT)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
fileedit(TAG_BELT_RIGHT)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
fileedit(TAG_BREASTPOCKET_LEFT)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
fileedit(TAG_BREASTPOCKET_RIGHT)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
fileedit(TAG_CALF_LEFT)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
fileedit(TAG_CALF_RIGHT)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
fileedit(TAG_HELMET)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
fileedit(TAG_HELMETSIDE)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
fileedit(TAG_SHIN_LEFT)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
fileedit(TAG_SHIN_RIGHT)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
fileedit(TAG_THIGH_LEFT)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
fileedit(TAG_THIGH_RIGHT)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
fileedit(TAG_WEAPON_LEFT)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
fileedit(TAG_WEAPON_RIGHT)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
fileedit(TAG_ORIGIN)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(200)
}
]
}

BIN
Tools/deffiles/mptype.dll Normal file

Binary file not shown.

469
Tools/deffiles/mptype.gdf Normal file
View file

@ -0,0 +1,469 @@
#name "mptype"
#dll "mptype"
#target_dir "mptype/"
#file_ext "*.gsc"
string comments
keyenum("character.gdf") character1
keyenum("character.gdf") character2
keyenum("character.gdf") character3
keyenum("character.gdf") character4
keyenum("character.gdf") character5
keyenum("character.gdf") character6
keyenum("character.gdf") character7
keyenum("character.gdf") character8
keyenum("character.gdf") character9
keyenum("character.gdf") character10
keyenum("character.gdf") character11
keyenum("character.gdf") character12
keyenum("character.gdf") character13
keyenum("character.gdf") character14
keyenum("character.gdf") character15
keyenum("character.gdf") character16
keyenum("character.gdf") character17
keyenum("character.gdf") character18
keyenum("character.gdf") character19
keyenum("character.gdf") character20
keyenum("character.gdf") character21
keyenum("character.gdf") character22
keyenum("character.gdf") character23
keyenum("character.gdf") character24
keyenum("character.gdf") character25
keyenum("character.gdf") character26
keyenum("character.gdf") character27
keyenum("character.gdf") character28
keyenum("character.gdf") character29
keyenum("character.gdf") character30
keyenum("character.gdf") character31
keyenum("character.gdf") character32
keyenum("character.gdf") character33
keyenum("character.gdf") character34
keyenum("character.gdf") character35
keyenum("character.gdf") character36
keyenum("character.gdf") character37
keyenum("character.gdf") character38
keyenum("character.gdf") character39
keyenum("character.gdf") character40
keyenum("character.gdf") character41
keyenum("character.gdf") character42
keyenum("character.gdf") character43
keyenum("character.gdf") character44
keyenum("character.gdf") character45
keyenum("character.gdf") character46
keyenum("character.gdf") character47
keyenum("character.gdf") character48
keyenum("character.gdf") character49
keyenum("character.gdf") character50
vcontainer
{
multiedit(comments)
[
exec
{
width(712)
height(64)
}
]
simplelistbox(character1)
[
exec
{
width(560)
}
]
simplelistbox(character2)
[
exec
{
width(560)
}
]
simplelistbox(character3)
[
exec
{
width(560)
}
]
simplelistbox(character4)
[
exec
{
width(560)
}
]
simplelistbox(character5)
[
exec
{
width(560)
}
]
simplelistbox(character6)
[
exec
{
width(560)
}
]
simplelistbox(character7)
[
exec
{
width(560)
}
]
simplelistbox(character8)
[
exec
{
width(560)
}
]
simplelistbox(character9)
[
exec
{
width(560)
}
]
simplelistbox(character10)
[
exec
{
width(560)
}
]
simplelistbox(character11)
[
exec
{
width(560)
}
]
simplelistbox(character12)
[
exec
{
width(560)
}
]
simplelistbox(character13)
[
exec
{
width(560)
}
]
simplelistbox(character14)
[
exec
{
width(560)
}
]
simplelistbox(character15)
[
exec
{
width(560)
}
]
simplelistbox(character16)
[
exec
{
width(560)
}
]
simplelistbox(character17)
[
exec
{
width(560)
}
]
simplelistbox(character18)
[
exec
{
width(560)
}
]
simplelistbox(character19)
[
exec
{
width(560)
}
]
simplelistbox(character20)
[
exec
{
width(560)
}
]
simplelistbox(character21)
[
exec
{
width(560)
}
]
simplelistbox(character22)
[
exec
{
width(560)
}
]
simplelistbox(character23)
[
exec
{
width(560)
}
]
simplelistbox(character24)
[
exec
{
width(560)
}
]
simplelistbox(character25)
[
exec
{
width(560)
}
]
simplelistbox(character26)
[
exec
{
width(560)
}
]
simplelistbox(character27)
[
exec
{
width(560)
}
]
simplelistbox(character28)
[
exec
{
width(560)
}
]
simplelistbox(character29)
[
exec
{
width(560)
}
]
simplelistbox(character30)
[
exec
{
width(560)
}
]
simplelistbox(character31)
[
exec
{
width(560)
}
]
simplelistbox(character32)
[
exec
{
width(560)
}
]
simplelistbox(character33)
[
exec
{
width(560)
}
]
simplelistbox(character34)
[
exec
{
width(560)
}
]
simplelistbox(character35)
[
exec
{
width(560)
}
]
simplelistbox(character36)
[
exec
{
width(560)
}
]
simplelistbox(character37)
[
exec
{
width(560)
}
]
simplelistbox(character38)
[
exec
{
width(560)
}
]
simplelistbox(character39)
[
exec
{
width(560)
}
]
simplelistbox(character40)
[
exec
{
width(560)
}
]
simplelistbox(character41)
[
exec
{
width(560)
}
]
simplelistbox(character42)
[
exec
{
width(560)
}
]
simplelistbox(character43)
[
exec
{
width(560)
}
]
simplelistbox(character44)
[
exec
{
width(560)
}
]
simplelistbox(character45)
[
exec
{
width(560)
}
]
simplelistbox(character46)
[
exec
{
width(560)
}
]
simplelistbox(character47)
[
exec
{
width(560)
}
]
simplelistbox(character48)
[
exec
{
width(560)
}
]
simplelistbox(character49)
[
exec
{
width(560)
}
]
simplelistbox(character50)
[
exec
{
width(560)
}
]
}

File diff suppressed because it is too large Load diff

66
Tools/deffiles/sample.gdf Normal file
View file

@ -0,0 +1,66 @@
//******************************************************************************************
// file info
//******************************************************************************************
#name "Sample Name" // name that appears in asset manager list box
//#dll "sampleconvert" // name of dll in deffiles directory - uses the ConvertValue interface specified in library.h
#source_dir "sample_source_files/"
#target_dir "sample_game_files/"
#file_ext "*.txt" // Specifies extensions of generated files in the directory specified by #target_dir.
// If an extension becomes obsolete, leave it in #file_ext so that a clean build of converter will remove the obsolete files.
// ';' may be used to separate multiple extensions.
// "*" may be used to specify files with no extension.
//******************************************************************************************
// variable declarations
//******************************************************************************************
int 100 1 500 myInteger // type default min max name
float 2.5 -25.5 50 myFloat // type default min max name
int 0 0 1 myBool // type default min max name - this is how you do a boolean value (defaulted to false)
int 1 0 1 myBool2 // type default min max name - this is how you do a boolean value (defaulted to true)
enum { "hello", "world", "a", "b", "c" } myEnum // type name
string "Default value" myString // type default name
string myFilename // type name
//******************************************************************************************
// component definition
//******************************************************************************************
vcontainer // arrange all included components vertically
{
scrollbox(myEnum) // component(variable name)
[
exec
{
width(300) // optional custom width
height(100) // optional custom height
}
]
edit(myString) // component(variable name)
[ // optional section
exec
{
labelwidth(200) // specifies label width (can use this for any component which has a label) - default is 128
}
]
spinedit(myInteger, 1, 10) // component(variable name, slow spin, fast spin)
floatedit(myFloat, .25, 10) // component(variable name, slow spin, fast spin)
fileedit(myString) // component(variable name)
hcontainer // arrange all included components horizontally
{
checkbox(myBool) // component(variable name)
checkbox(myBool2) // component(variable name)
// the following spinedit will appear with the value of myBool2 when myBool == 1 or myInteger == 100
spinedit(myBool == 1 || myInteger == 100 ? myBool2 : NULL, 1, 1) // conditional expression, slow spin, fast spin
}
fileedit(myFilename)
[
exec
{
reldir("model_export/") // specifies directory myFilename will be relative to
}
]
}

101
Tools/deffiles/template.idf Normal file
View file

@ -0,0 +1,101 @@
#name "template"
string name
string filename
map data filedata
[
event "newentry"
{
newentry2(name, current_typename)
}
event "deleteEntry"
{
deleteEntry(name, current_typename)
}
event "renameEntry"
{
renameEntry(name, current_typename)
}
event "copyEntry"
{
copyEntry(name, current_typename)
}
exec
{
archive()
}
]
string current_typename
map struct
{
string filename
} types
[
exec
{
deffile() // name -> filename
}
]
string iter_key
ref(data) ref_var(filedata, name)
ref(data) dummy(filedata, iter_key)
hcontainer
{
vcontainer
{
edit(name)
[
exec
{
labelwidth(48)
width(360)
}
]
hcontainer
{
vcontainer
{
button("New Entry", "newentry")
button("Rename Entry", "renameEntry")
}
vcontainer
{
button("Delete Entry", "deleteEntry")
button("Copy Entry", "copyEntry")
}
}
listbox(types, current_typename)
[
exec
{
height(64)
}
]
listbox(filedata, name)
[
filter(dummy.name == current_typename, iter_key)
exec
{
width(360)
height(600)
}
]
}
dataview(ref_var)
}

View file

@ -0,0 +1,191 @@
#name "turretweapon"
#dll "configstringconvert"
#target_dir "weapons/sp/" // target location 1 (single-player)
#target_dir "weapons/mp/" // target location 2 (multi-player)
#file_ext "*"
// This tells the configstring converter what the file type identifier should be
string "WEAPONFILE" configstringFileType
// This uses the config string convert's multi-target folder
// mechanism to make the weapon either a single-player weaons
// or a multi-player weapon.
// The first character is used to specify which target folder to go in
enum { "1: Single-Player", "2: Multi-Player" } targetFolder
string "none" projectileTrail
string "turret" weaponClass
string "none" weaponSlot
enum { "bullet", "projectile" } weaponType
enum { "stand", "prone", "duck" } stance
int 1 0 1 projImpactExplode
int 600 0 10000 projectileSpeed
int 300 0 10000 explosionRadius
int 10 0 10000 explosionInnerDamage
int 10 0 10000 explosionOuterDamage
string script
int 30 0 1000 damage
int 115 0 360 leftArc
int 115 0 360 rightArc
int 90 0 360 topArc
int 90 0 360 bottomArc
int 0 0 360 grabarc
float 1 0 1 accuracy
float 0.05 0.0 10.0 fireTime
int 20 0 180 animHorRotateInc
int 100 1 720 horTurnSpeed
int 100 1 720 vertTurnSpeed
float 0 0 60 convergenceTime
float 0 0 1000000 maxRange
int 0 0 1 rifleBullet
string fireSound
string loopFireSound
string stopFireSound
string viewFlashEffect
string worldFlashEffect
string reticleCenter
int 32 1 480 reticleCenterSize
string idleAnim
string fireAnim
float 46 1 128 playerPositionDist
string killIcon
int 1 0 1 wideKillIcon
string useHintString
vcontainer
{
scrollbox(targetFolder)
[
exec
{
width(300)
}
]
scrollbox(stance)
[
exec
{
width(300)
}
]
scrollbox(weaponType)
[
exec
{
width(300)
}
]
spinedit(damage, 1, 10)
spinedit(projectileSpeed, 10, 100)
spinedit(explosionRadius, 10, 50)
spinedit(explosionInnerDamage, 1, 10)
[
exec
{
width(300)
labelwidth(160)
}
]
spinedit(explosionOuterDamage, 1, 10)
[
exec
{
width(300)
labelwidth(160)
}
]
spinedit(leftArc, 1, 10)
spinedit(rightArc, 1, 10)
spinedit(topArc, 1, 10)
spinedit(bottomArc, 1, 10)
floatedit(accuracy, 0.1, 0.2)
floatedit(fireTime, 0.05, 0.2)
spinedit(animHorRotateInc, 1, 10)
spinedit(horTurnSpeed, 1, 10)
spinedit(vertTurnSpeed, 1, 10)
floatedit(convergenceTime, 0.1, 1)
floatedit(maxRange, 1, 10)
edit(script)
checkbox(rifleBullet)
checkbox(projImpactExplode)
edit(fireSound)
edit(loopFireSound)
edit(stopFireSound)
fileedit(viewFlashEffect)
[
exec
{
reldir("game/main/")
}
]
fileedit(worldFlashEffect)
[
exec
{
reldir("game/main/")
}
]
fileedit(reticleCenter)
[
exec
{
reldir("game/main/")
}
]
spinedit(reticleCenterSize, 1, 2)
fileedit(idleAnim)
[
exec
{
reldir("game/main/xanim/")
width(500)
}
]
fileedit(fireAnim)
[
exec
{
reldir("game/main/xanim/")
width(500)
}
]
floatedit(playerPositionDist, 1, 10)
fileedit(killIcon)
[
exec
{
reldir("game/main/")
}
]
checkbox(wideKillIcon)
edit(useHintString)
}

335
Tools/deffiles/vehicle.gdf Normal file
View file

@ -0,0 +1,335 @@
#name "vehicle"
#dll "configstringconvert"
#target_dir "vehicles/"
#file_ext "*"
// This tells the configstring converter what the file type identifier should be
string "VEHICLEFILE" configstringFileType
enum { "4 wheel", "tank", "plane", "boat", "artillery" } type
int 0 0 1 steerWheels
int 0 0 1 texureScroll
int 0 0 1 quadBarrel
int 0 0 1 bulletDamage
int 0 0 1 grenadeDamage
int 0 0 1 projectileDamage
float 0 0 100 texureScrollScale
float 0 0 100 maxSpeed
float 0 0 100 accel
float 0 0 360 rotRate
float 0 0 360 rotAccel
float 0 0 90 maxBodyPitch
float 0 0 90 maxBodyRoll
float 0 0 1000 collisionDamage
float 0 0 1000 collisionSpeed
float 0 0 20 suspensionTravel
string turretWeapon
float 0 0 180 turretHorizSpanLeft
float 0 0 180 turretHorizSpanRight
float 0 0 180 turretVertSpanUp
float 0 0 180 turretVertSpanDown
float 0 0 360 turretRotRate
string lowIdleSnd
string highIdleSnd
string lowEngineSnd
string highEngineSnd
string turretSpinSnd
string turretStopSnd
float 10 0 100 engineSndSpeed
vcontainer
{
scrollbox(type)
[
exec
{
width(200)
labelwidth(50)
}
]
checkbox(steerWheels)
[
exec
{
width(280)
labelwidth(150)
}
]
checkbox(texureScroll)
[
exec
{
width(280)
labelwidth(150)
}
]
checkbox(quadBarrel)
[
exec
{
width(280)
labelwidth(150)
}
]
checkbox(bulletDamage)
[
exec
{
width(280)
labelwidth(150)
}
]
checkbox(grenadeDamage)
[
exec
{
width(280)
labelwidth(150)
}
]
checkbox(projectileDamage)
[
exec
{
width(280)
labelwidth(150)
}
]
floatedit(texureScrollScale, 0.05, 1)
[
exec
{
width(280)
labelwidth(150)
}
]
hcontainer
{
floatedit(maxSpeed, 0.05, 1)
[
exec
{
width(280)
labelwidth(150)
}
]
floatedit(accel, 0.05, 1)
[
exec
{
width(280)
labelwidth(150)
}
]
}
hcontainer
{
floatedit(rotRate, 0.05, 1)
[
exec
{
width(280)
labelwidth(150)
}
]
floatedit(rotAccel, 0.05, 1)
[
exec
{
width(280)
labelwidth(150)
}
]
}
hcontainer
{
floatedit(maxBodyPitch, 0.05, 1)
[
exec
{
width(280)
labelwidth(150)
}
]
floatedit(maxBodyRoll, 0.05, 1)
[
exec
{
width(280)
labelwidth(150)
}
]
}
floatedit(suspensionTravel, 0.05, 1)
[
exec
{
width(280)
labelwidth(150)
}
]
hcontainer
{
floatedit(collisionDamage, 0.05, 1)
[
exec
{
width(280)
labelwidth(150)
}
]
floatedit(collisionSpeed, 0.05, 1)
[
exec
{
width(280)
labelwidth(150)
}
]
}
edit(turretWeapon)
[
exec
{
width(350)
labelwidth(150)
}
]
floatedit(turretRotRate, 0.05, 1)
[
exec
{
width(280)
labelwidth(150)
}
]
hcontainer
{
floatedit(turretHorizSpanLeft, 0.05, 1)
[
exec
{
width(280)
labelwidth(150)
}
]
floatedit(turretHorizSpanRight, 0.05, 1)
[
exec
{
width(280)
labelwidth(150)
}
]
}
hcontainer
{
floatedit(turretVertSpanUp, 0.05, 1)
[
exec
{
width(280)
labelwidth(150)
}
]
floatedit(turretVertSpanDown, 0.05, 1)
[
exec
{
width(280)
labelwidth(150)
}
]
}
edit(lowIdleSnd)
[
exec
{
width(350)
labelwidth(150)
}
]
edit(highIdleSnd)
[
exec
{
width(350)
labelwidth(150)
}
]
edit(lowEngineSnd)
[
exec
{
width(350)
labelwidth(150)
}
]
edit(highEngineSnd)
[
exec
{
width(350)
labelwidth(150)
}
]
edit(turretSpinSnd)
[
exec
{
width(350)
labelwidth(150)
}
]
edit(turretStopSnd)
[
exec
{
width(350)
labelwidth(150)
}
]
floatedit(engineSndSpeed, 0.05, 1)
[
exec
{
width(280)
labelwidth(150)
}
]
}

View file

@ -0,0 +1,141 @@
#name "vehicleweapon"
#dll "configstringconvert"
#target_dir "weapons/sp/" // target location 1 (single-player)
#target_dir "weapons/mp/" // target location 2 (multi-player)
#file_ext "*"
string "WEAPONFILE" configstringFileType
string "none" projectileTrail
string "non-player" weaponClass
string "none" weaponSlot
enum { "1: Single-Player", "2: Multi-Player" } targetFolder
enum { "bullet", "projectile" } weaponType
enum { "grenade", "rocket", "molotov", "none" } projExplosionType
int 1 0 1 projImpactExplode
string worldFlashEffect
string fireSound
int 30 0 3000 damage
float 0.1 0.0 10.0 fireTime
int 600 0 10000 projectileSpeed
int 300 0 10000 explosionRadius
int 10 0 10000 explosionInnerDamage
int 10 0 10000 explosionOuterDamage
string useHintString
vcontainer
{
scrollbox(targetFolder)
[
exec
{
width(300)
labelwidth(160)
}
]
scrollbox(weaponType)
[
exec
{
width(300)
labelwidth(160)
}
]
checkbox(projImpactExplode)
[
exec
{
width(300)
labelwidth(160)
}
]
scrollbox(projExplosionType)
[
exec
{
width(300)
labelwidth(160)
}
]
fileedit(worldFlashEffect)
[
exec
{
reldir("game/main/")
labelwidth(160)
}
]
edit(fireSound)
[
exec
{
width(500)
labelwidth(160)
}
]
spinedit(damage, 1, 10)
[
exec
{
width(300)
labelwidth(160)
}
]
floatedit(fireTime, 0.05, 0.2)
[
exec
{
width(300)
labelwidth(160)
}
]
spinedit(projectileSpeed, 10, 100)
[
exec
{
width(300)
labelwidth(160)
}
]
spinedit(explosionRadius, 10, 50)
[
exec
{
width(300)
labelwidth(160)
}
]
spinedit(explosionInnerDamage, 1, 10)
[
exec
{
width(300)
labelwidth(160)
}
]
spinedit(explosionOuterDamage, 1, 10)
[
exec
{
width(300)
labelwidth(160)
}
]
edit(useHintString)
}

BIN
Tools/deffiles/xanim.dll Normal file

Binary file not shown.

50
Tools/deffiles/xanim.gdf Normal file
View file

@ -0,0 +1,50 @@
#name "xanim"
#dll "xanim"
#target_dir "xanim/"
#file_ext "*"
string filename
string model
int 0 0 1 looping
enum {"delta", "relative", "absolute", "mp_torso", "mp_legs", "mp_fullbody"} type
int 1 0 1 useBones
string node
float .05 0 180 angleError
float .025 0 1000 translationError
string boneStabilizers
vcontainer
{
fileedit(filename)
[
exec
{
reldir("xanim_export/")
}
]
fileedit(model)
[
exec
{
reldir("model_export/")
}
]
checkbox(looping)
checkbox(useBones)
scrollbox(type)
edit(node)
floatedit(angleError, .05, 1)
floatedit(translationError, .025, .1)
multiedit(boneStabilizers)
[
exec
{
width(640)
height(80)
}
]
}

BIN
Tools/deffiles/xmodel.dll Normal file

Binary file not shown.

259
Tools/deffiles/xmodel.gdf Normal file
View file

@ -0,0 +1,259 @@
#name "xmodel"
#dll "xmodel"
#target_dir "xmodel/"
#target_dir "skins/"
#target_dir "xmodelparts/"
#target_dir "xmodelsurfs/"
#file_ext "*;*.dds;*.tga;*.jpg"
enum { "rigid", "animated", "viewmodel", "multiplayer body", "viewhands" } type
string highLodRigidRoot
string filename
float 0 0 1000000 highLodDist
int 0 0 1 forceMediumLodRigid
string mediumLodRigidRoot
string mediumLod
float 0 0 1000000 mediumLodDist
int 0 0 1 forceLowLodRigid
string lowLodRigidRoot
string lowLod
float 0 0 1000000 lowLodDist
int 1 0 1 calculateBounds
float 0 -1000000 1000000 minX
float 0 -1000000 1000000 minY
float 0 -1000000 1000000 minZ
float 0 -1000000 1000000 maxX
float 0 -1000000 1000000 maxY
float 0 -1000000 1000000 maxZ
int 0 0 1 noRadialNormals
float 0 -1000000 1000000 radialOriginX
float 0 -1000000 1000000 radialOriginY
float 0 -1000000 1000000 radialOriginZ
enum { "None", "High", "Medium", "Low" } collisionLOD
string hitBoxModel
string skinOverride
string boneControllers
string boneStabilizers
vcontainer
{
hcontainer
{
scrollbox(type)
[
exec
{
width(320)
}
]
edit(highLodRigidRoot)
[
exec
{
labelwidth(160)
}
]
}
fileedit(filename)
[
exec
{
reldir("model_export/")
}
]
floatedit(highLodDist, 1, 10)
hcontainer
{
checkbox(forceMediumLodRigid)
[
exec
{
labelwidth(160)
}
]
edit(mediumLodRigidRoot)
[
exec
{
labelwidth(160)
}
]
}
fileedit(mediumLod)
[
exec
{
reldir("model_export/")
}
]
floatedit(mediumLodDist, 1, 10)
hcontainer
{
checkbox(forceLowLodRigid)
[
exec
{
labelwidth(160)
}
]
edit(lowLodRigidRoot)
[
exec
{
labelwidth(160)
}
]
}
fileedit(lowLod)
[
exec
{
reldir("model_export/")
}
]
floatedit(lowLodDist, 1, 10)
scrollbox(collisionLOD)
vcontainer
{
checkbox(calculateBounds)
hcontainer
{
floatedit(minX, 1, 10)
[
exec
{
width(140)
labelwidth(50)
}
]
floatedit(minY, 1, 10)
[
exec
{
width(140)
labelwidth(50)
}
]
floatedit(minZ, 1, 10)
[
exec
{
width(140)
labelwidth(50)
}
]
}
hcontainer
{
floatedit(maxX, 1, 10)
[
exec
{
width(140)
labelwidth(50)
}
]
floatedit(maxY, 1, 10)
[
exec
{
width(140)
labelwidth(50)
}
]
floatedit(maxZ, 1, 10)
[
exec
{
width(140)
labelwidth(50)
}
]
}
}
vcontainer
{
checkbox(noRadialNormals)
hcontainer
{
floatedit(radialOriginX, 1, 10)
[
exec
{
width(190)
labelwidth(100)
}
]
floatedit(radialOriginY, 1, 10)
[
exec
{
width(190)
labelwidth(100)
}
]
floatedit(radialOriginZ, 1, 10)
[
exec
{
width(190)
labelwidth(100)
}
]
}
}
fileedit(hitBoxModel)
[
exec
{
reldir("model_export/")
}
]
multiedit(skinOverride)
[
exec
{
width(640)
height(80)
}
]
multiedit(boneControllers)
[
exec
{
width(640)
height(80)
}
]
multiedit(boneStabilizers)
[
exec
{
width(640)
height(80)
}
]
}

Binary file not shown.

View file

@ -0,0 +1,511 @@
#name "xmodelalias"
#dll "xmodelalias"
#target_dir "xmodelalias/"
#file_ext "*"
string model1
string model2
string model3
string model4
string model5
string model6
string model7
string model8
string model9
string model10
string model11
string model12
string model13
string model14
string model15
string model16
string model17
string model18
string model19
string model20
string model21
string model22
string model23
string model24
string model25
string model26
string model27
string model28
string model29
string model30
string model31
string model32
string model33
string model34
string model35
string model36
string model37
string model38
string model39
string model40
string model41
string model42
string model43
string model44
string model45
string model46
string model47
string model48
string model49
string model50
vcontainer
{
fileedit(model1)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model2)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model3)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model4)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model5)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model6)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model7)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model8)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model9)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model10)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model11)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model12)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model13)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model14)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model15)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model16)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model17)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model18)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model19)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model20)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model21)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model22)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model23)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model24)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model25)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model26)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model27)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model28)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model29)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model30)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model31)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model32)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model33)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model34)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model35)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model36)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model37)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model38)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model39)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model40)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model41)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model42)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model43)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model44)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model45)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model46)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model47)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model48)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model49)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
fileedit(model50)
[
exec
{
reldir("game/main/xmodel/")
labelwidth(100)
}
]
}

593
Tools/docs/CoDRadiant.htm Normal file
View file

@ -0,0 +1,593 @@
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
<meta name=Generator content="Microsoft Word 10 (filtered)">
<title>Preferences</title>
<style>
<!--
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
text-autospace:none;
font-size:12.0pt;
font-family:Arial;}
h1
{margin:0in;
margin-bottom:.0001pt;
text-autospace:none;
font-size:12.0pt;
font-family:Arial;
font-weight:normal;}
h2
{margin:0in;
margin-bottom:.0001pt;
text-autospace:none;
font-size:12.0pt;
font-family:Arial;
font-weight:normal;}
h3
{margin:0in;
margin-bottom:.0001pt;
text-autospace:none;
font-size:12.0pt;
font-family:Arial;
font-weight:normal;}
h4
{margin:0in;
margin-bottom:.0001pt;
text-autospace:none;
font-size:12.0pt;
font-family:Arial;
font-weight:normal;}
/* Page Definitions */
@page Section1
{size:8.5in 11.0in;
margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
{page:Section1;}
-->
</style>
</head>
<body lang=EN-US style='text-justify-trim:punctuation'>
<div class=Section1>
<p class=MsoNormal><b><u>Preferences</u></b></p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'><i>Texture brushes in 2D</i></p>
<p class=MsoNormal style='margin-left:1.0in'>This shows the textures on brushes
in the 2D window, useful for building geometry from a 2D image.</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'><i>Farplane</i></p>
<p class=MsoNormal style='margin-left:1.0in'>The maximum farplane distance
(controls how far the in editor cubic clipping can go).</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'><i>Vehicle Arrow Time</i></p>
<p class=MsoNormal style='margin-left:1.0in'>A chain of vehicle nodes draws a spline
in editor when set up correctly. This control sets how far apart the arrows are
by time the vehicle would take to get from one arrow to the next. </p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'><i>Drop Height</i></p>
<p class=MsoNormal style='margin-left:1.0in'><i>Ctrl-Alt-left click</i> copies
a currently selected entity to the location clicked. <i>Ctrl-Alt-middle click</i>
moves the selected entity. Drop height controls how far above or below the
surface you clicked on the entity will be placed. Useful for making the base of
trees be below the terrain when they are placed on non flat surfaces. </p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'><i>Scale base</i></p>
<p class=MsoNormal style='margin-left:1.0in'>See <i>Toggle &quot;tree/grass
placement mode&quot;.</i> Scale base defines the default model scale for this
mode (100 = normal).</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'><i>Scale Range</i></p>
<p class=MsoNormal style='margin-left:1.0in'>Like scale base, but controls the
amount of scale variation.</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'><i>Tolerant weld</i></p>
<p class=MsoNormal style='margin-left:1.0in'>The distance at which the editor
will do tolerant welding.</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'><i>Splay distance</i></p>
<p class=MsoNormal style='margin-left:1.0in'>Select some vertices in a terrain
patch and press <i>Alt-W</i>. This will make these vertices separate apart
along their current direction by the distance set in this box. Useful for
keeping the texture a consistent scale on a patch which uses Set for its
texturing (for example roads). </p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal><b><u>View/Show</u></b></p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'><i>Show Smart Tube Nodes
(Ctrl-Alt-9)</i></p>
<p class=MsoNormal style='margin-left:1.0in'>This actually toggles showing all
the node types other than pathnodes</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'><i>Show AI Nodes (Alt-9)</i></p>
<p class=MsoNormal style='margin-left:1.0in'>This toggles showing pathnodes. </p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal><b><u>Selection</u></b></p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'><i>Select Connected (Ctrl-Alt-E)</i></p>
<p class=MsoNormal style='margin-left:1.0in'>Selects all the entities targeted
by an entity and all the entities which target an entity. Useful for selecting
vehicle node chains and friendly chains.</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'><i>Connect Entities (Ctrl-K)</i></p>
<p class=MsoNormal style='margin-left:1.0in'>When doing a lot of terrain work or
linking a lot of entities you may want to rebind this in your ini file.</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'><i>Hide Unselected (Alt-H)</i></p>
<p class=MsoNormal style='margin-left:1.0in'>Hide everything not selected.</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'><i>Vertex Box Selection</i></p>
<p class=MsoNormal style='margin-left:1.0in'>This has been extended to also
work in the 3D view. It works with patches and terrain only.</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal><b><u>Textures</u></b></p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'><i>Shift-A</i></p>
<p class=MsoNormal style='margin-left:1.0in'>Select a texture in the texture
browser and press this to select all the brushes using that texture.</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal><b><u>Misc</u></b></p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'><i>Make Weaponclip</i></p>
<p class=MsoNormal style='margin-left:1.0in'>This makes a piece of geometry not
solid to player and AI collision but solid to bullets. Note even things with shaders
which specify not solid to bullets will become solid to bullets.</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'><i>Make Non-Colliding</i></p>
<p class=MsoNormal style='margin-left:1.0in'>This makes a piece of geometry not
solid to anything including bullets and grenades. </p>
<p class=MsoNormal style='margin-left:.5in'><i>&nbsp;</i></p>
<p class=MsoNormal style='margin-left:.5in'><i>Go to position</i></p>
<p class=MsoNormal style='margin-left:1.0in'>Enter the cooridinates you get
from typing \viewpos in the console in game to set your camera position there.</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'><i>Surface Inspector</i></p>
<p class=MsoNormal style='margin-left:1.0in'>The surface properties dialog has
a &quot;Sample size&quot; edit box with spin buttons. You can use this to set
the size of lightmap samples. A value of 0 means to use the default sample
size. This is whatever argument you give to -samplesize on the q3map command
line, or 16 by default. The only way to change the lightmap sample size of a
surface is to edit it in the surface properties dialog. The sample size is not
changed when you do any texturing work outside this dialog. The sample size is
copied when you duplicate a brush.</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal><b><u>Worldspawn Key Values</u></b></p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'><i>_color</i></p>
<p class=MsoNormal style='margin-left:1.0in'>This is a key value for the worldspawn
which sets the ambient color. Values are RGB and scale is 0 to 1.</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'><i>ambient</i></p>
<p class=MsoNormal style='margin-left:1.0in'>This is a key value for the worldspawn
which sets ambient light level. 0 is no ambient, 1 would be fullbright ambient.
(0.1 - 0.3 recommended)</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'><i>diffusefraction</i></p>
<p class=MsoNormal style='margin-left:1.0in'>Percentage (0 to 1) of the total
sunlight which is diffuse vs direct. (0.3 - 0.7 recommended)</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'><i>suncolor</i></p>
<p class=MsoNormal style='margin-left:1.0in'>same as _color but for the direct
sunlight</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'><i>sundiffusecolor</i></p>
<p class=MsoNormal style='margin-left:1.0in'>same as _color for the diffuse
sunlight</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'><i>sundirection</i></p>
<p class=MsoNormal style='margin-left:1.0in'>yaw pitch roll. -30 160 0 would
mean the sun is 30 degrees below the horizon and coming from the upper left in
the 2D view in the editor (more left than upper). Apply these values to a node
and observe where the arrow points. The arrow points at the sun.</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'><i>sunlight</i></p>
<p class=MsoNormal style='margin-left:1.0in'>total brightness of the direct sun
and the diffusesun and the ambient combined. IE increasing value of the
diffusesun or the ambient will not increase the total brightness, only the
amount of the total which is diffuse or ambient. The scale is 0 to 2 with 0
being total darkness and 1 being surfaces directly hit are fullbright. values
above 1 increase the number of surfaces which will be fullbright. IW uses about
.7 for night time and 1.3 to 2 for daytime. </p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal><b><u>New Buttons</u></b></p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'><i>Toggle camera movement modes</i></p>
<p class=MsoNormal style='margin-left:1.0in'>Two different styles of moveing
the camera in the 3D view best to try them and see which you like better.</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'><i>Toggle alpha rendering of
textures (button looks like half a tree with 9 blue dots)</i></p>
<p class=MsoNormal style='margin-left:1.0in'>Toggle this between seeing the
alpha on unselected trees correctly and seeing the alpha on decals and alpha
blended terrain correctly.</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'><i>Toggle selecting entities
(button is an E with a slash through it)</i></p>
<p class=MsoNormal style='margin-left:1.0in'>Dont select entities in the 3D or
2D windows.</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'><i>Toggle drawing portalnodraw
surfaces (button is a red D)</i></p>
<p class=MsoNormal style='margin-left:1.0in'>Dont draw the common/portalnodraw
surfaces. Useful for working on portals, shows you only the surfaces which
matter (the common/portal ones).</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'><i>Tolerant Weld (button is a TW)</i></p>
<p class=MsoNormal style='margin-left:1.0in'>See <i>Joining Terrain Patches</i>
Method 2 for common use.</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'><i>Toggle selecting models (button
is an M with a slash through it)</i></p>
<p class=MsoNormal style='margin-left:1.0in'>Dont select models in the 2D/3D
windows. Useful in maps with lots of trees.</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'><i>Toggle &quot;tree/grass
placement mode&quot; (button is a green and white arrow pointing down)</i></p>
<p class=MsoNormal style='margin-left:1.0in'>Switches the <i>Ctrl-Alt left </i>and
m<i>iddle click button </i>functions to &quot;tree and grass placement
mode&quot;. When in this mode entities placed using those two shortcuts will
randomly vary in size and rotation.</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<h2 style='page-break-after:avoid'><b><u>Terrain</u></b></h2>
<h2 style='page-break-after:avoid'><b>&nbsp;</b></h2>
<h2 style='margin-left:.5in;page-break-after:avoid'><i>Creating a terrain patch</i></h2>
<p class=MsoNormal style='margin-left:1.0in'>To create a terrain patch, select
a brush and go to the Patch menu at the top. Select Simple Terrain Mesh. A
Terrain Density box will appear. This dictates how many vertices wide and tall
the patch will be.</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<h2 style='margin-left:.5in;page-break-after:avoid'><i>Texturing a terrain
patch</i></h2>
<p class=MsoNormal style='margin-left:1.0in'>Terrain patches are textured much
like a normal patch. <i>Shift+S</i> will bring up the Patch Properties menu. A
terrain patch can use Cap, Set, Natural, and Fit like a normal patch. A terrain
patch can also cycle through different Cap settings by using <i>Ctrl+Shift+N</i>.
This is useful for getting a terrain patch textured with minimal distortion.</p>
<p class=MsoNormal>&nbsp;</p>
<h3 style='margin-left:.5in;page-break-after:avoid'><i>Joining Terrain Patches</i></h3>
<p class=MsoNormal style='margin-left:1.0in'>Terrain patches can be joined
using a few different methods.</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal style='margin-left:1.0in'>Method 1: This method is best for
joining 2 specific vertices. Select 2 terrain patches and show the vertices
with the <i>V</i> key. Select the 2 vertices you would like joined and then
press <i>Ctrl+K</i>. The vertices will join.</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal style='margin-left:1.0in'>Method 2: This method is best for
joining multiple vertices. Click on the TW box in the toolbar at the top right.
Select the 2 patches you want to join. They must be close enough for them join,
when they are a highlighted line will connect the vertices that will snap
together. You can drag select as many of the vertices as you like and they will
connect to their highlighted partner.</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal style='margin-left:1.0in'>Note that the first patch you
select will be static and not alter, the second patch is the one that will
deform after the vertices are snapped together.</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal style='margin-left:1.0in'>TW stands for tolerant weld. The
distance at which the editor will do the tolerant welding is controlled in the
Edit/Preferences menu.</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal style='margin-left:1.0in'>Once multiple terrain patches are
joined together, you can convert them into one larger patch. Simply select the
terrain patches you would like to act as one and press <i>Ctrl+K</i>. You can
now manipulate the multiple patches as one.</p>
<p class=MsoNormal>&nbsp;</p>
<h3 style='margin-left:.5in;page-break-after:avoid'><i>Adding and Removing
Columns and Rows</i></h3>
<p class=MsoNormal style='margin-left:1.0in'>Columns and Rows can easily be
added or removed from your terrain patch. Select 2 or more vertices on a row or
column and press <i>Ctrl+Shift+A</i> and a row or column will be added. Press <i>Ctrl+Shift+Q</i>
to remove the row or column. If you have merged vertices together using method
1 then you may be selecting more than two vertices when it looks like you have
only selected two, since that method doesnt remove vertices, it only makes
them be in the same position.</p>
<p class=MsoNormal>&nbsp;</p>
<h3 style='margin-left:.5in;page-break-after:avoid'><i>Turning edges</i></h3>
<p class=MsoNormal style='margin-left:1.0in'>The smallest piece of terrain is
made up of 4 vertices which are split into two triangles. You can reverse where
the triangle splits the patch with the turn edges button which is the square
one with the red and green x through the middle. This is useful for turning the
edges to all face in on mortar craters.</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'><i>Matrix Transpose</i></p>
<p class=MsoNormal style='margin-left:1.0in'>Press <i>Shift-Ctrl-M</i> to
reorient/rotate the textures on a terrain patch. Useful so you dont have to
re-rotate the texture each time you change the mapping.</p>
<p class=MsoNormal>&nbsp;</p>
<h3 style='page-break-after:avoid'><b><u>Advanced Terrain Patch Editing</u></b></h3>
<h3 style='page-break-after:avoid'><b><u><span style='text-decoration:none'>&nbsp;</span></u></b></h3>
<h3 style='page-break-after:avoid'>The terrain patches come equipped with a
powerful tool. Press <i>Y</i> to bring up the Advanced Patch Editing Options.
Within this tool you can do many different things to your patches.</h3>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>At the top, there are three sliders.&nbsp; The first is
called &quot;inner radius&quot;, the second &quot;outer radius&quot;, and the
last &quot;amplitude&quot;.&nbsp; Anything inside inner radius of a &quot;hot
spot&quot; gets moved at full magnitude, anything outside outer radius does not
get moved at all, and anything in the middle gets moved by a smooth ramp
function that is basically a smoothed-out linear falloff.&nbsp; Increasing the
amplitude makes the effect more pronounced for some effects.&nbsp; The radius
checks are only in the x-y axis.&nbsp; In other words, the radius between two
points is the distance you see between them in the XY top-down view.</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>Under these 3 sliders are the soft selection modes. Checking
these will allow you to do different functions, which will be detailed out
shortly.</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal>For all other modes, any patches you want to effect must be
selected, and you must be in normal brush-selection mode.&nbsp; To paint, hold
down the <i>ALT</i> key and the <i>left</i> or <i>right mouse button</i>.&nbsp;
Painting only happens when you move the mouse.&nbsp; Painting works in the 2D
and the 3D views.&nbsp; The &quot;hot spot&quot; for any painting action is the
point on the patch mesh that is currently under the cursor.</p>
<p class=MsoNormal>&nbsp;</p>
<h3 style='margin-left:.5in;page-break-after:avoid'><i>Paint Height + Height</i></h3>
<p class=MsoNormal style='margin-left:1.0in'>Paint height only works in
conjunction with the Height selection at the bottom of the menu. This lets you
raise and lower terrain by “painting” the terrain. The <i>left mouse button</i>
causes the height to gradually increase, and the <i>right mouse button</i>
causes it to gradually lower.&nbsp;The amount that height changes depends on
grid size and on the amplitude setting of the dialog.</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<h4 style='margin-left:.5in;page-break-after:avoid'><i>Flatten</i></h4>
<p class=MsoNormal style='margin-left:1.0in'>Flatten works in conjunction with
a Height, RGB, Red, Green, Blue, and Alpha.</p>
<p class=MsoNormal style='margin-left:1.0in'><i>&nbsp;</i></p>
<p class=MsoNormal style='margin-left:1.0in'><i>+ Height</i> - This will
flatten affected vertices down to the Z-coordinate set in the Height box on the
bottom right of the dialog box. </p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal style='margin-left:1.0in'><i>+ RGB</i> - This allows you to
color the terrain with whatever color you choose in the color menu. You can
also paint on just the red value by choosing Red, just blue by choosing Blue,
and green by choosing Green. (<i>Alt-left click</i> paints color, <i>Alt-right
click</i> removes color).</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal style='margin-left:1.0in'><i>+ Alpha -</i> This allows you
to make portions of your texture transparent. It is especially useful for
blending 2 textures together. For example, to create a dirt path through a
grassy area you would first create the base, which would be the dirt path (a
terrain patch with a dirt texture). Next, you would copy and paste that same
patch on top of itself and change its texture to a grass texture set up for
alpha blending. Finally, you alpha out the portion of the grass texture where
you would like the dirt path to show through. Note that alpha should be used on
shaders that are set up for alpha blending (examples of these textures are
found in terrain.shader). (<i>Alt-left click</i> paints transparency, <i>Alt-right
click</i> removes transparency).</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<h3 style='margin-left:.5in;page-break-after:avoid'><i>Smooth + Height</i></h3>
<p class=MsoNormal style='margin-left:1.0in'>Smooth only works in conjunction
with the Height selection at the bottom of the menu. This lets you smooth
terrain by “painting” the terrain. The <i>left and right mouse buttons</i> work
to equalize the terrain by raising and lowering surrounding vertices. This
gives the terrain a less bumpy appearance.</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<h3 style='margin-left:.5in;page-break-after:avoid'><i>Noise + Height</i></h3>
<p class=MsoNormal style='margin-left:1.0in'>Noise only works in conjunction
with the Height selection at the bottom of the menu. This works the opposite
way of Smooth by making the terrain more bumpy and uneven.</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<h3 style='margin-left:.5in;page-break-after:avoid'><i>Drag Up/Down + Height</i></h3>
<p class=MsoNormal style='margin-left:1.0in'>Drag Up/Down only works in
conjunction with the Height selection at the bottom of the menu. This is the
only soft selection mode that works in vertex-editing mode.&nbsp;This is
basically normal patch vertex dragging, except it has smooth falloff around
each selected vertex and it only changes the Z component.</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<h3 style='margin-left:.5in;page-break-after:avoid'><i>Grab Value</i></h3>
<p class=MsoNormal style='margin-left:1.0in'>This mode allows you to grab the
height, color, and alpha value of terrain by holding the <i>left mouse button</i>
and dragging on a section of terrain.</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<h3 style='margin-left:.5in;page-break-after:avoid'><i>Disabled</i></h3>
<p class=MsoNormal style='margin-left:1.0in'>Disabled simply disables soft
selection while the dialog box is open.</p>
<p class=MsoNormal>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'><i>Allow soft selection on unhighlighted
patches</i></p>
<p class=MsoNormal style='margin-left:1.0in'>Allows modification to all patches
inside the &quot;hot spot&quot; regardless of whether they are currently
selected.</p>
<p class=MsoNormal style='margin-left:1.0in'>&nbsp;</p>
<p class=MsoNormal style='margin-left:.5in'><i>Only perform soft selection
while this dialog is open</i></p>
<p class=MsoNormal style='margin-left:1.0in'>Allows soft selection while this
menu is closed when unchecked.</p>
</div>
</body>
</html>

View file

@ -0,0 +1,345 @@
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
<meta name=Generator content="Microsoft Word 10 (filtered)">
<title>Compiling</title>
<style>
<!--
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman";}
/* Page Definitions */
@page Section1
{size:8.5in 11.0in;
margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
{page:Section1;}
-->
</style>
</head>
<body lang=EN-US style='text-justify-trim:punctuation'>
<div class=Section1>
<p class=MsoNormal style='text-autospace:none'><b><u><span style='font-family:
Arial'>Compiling</span></u></b></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>An
example map and compile batch file are included with these tools and can be
found in \game\main\maps.</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>The
stages of a compile are as follows:</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>&nbsp;</span></p>
<p class=MsoNormal style='text-autospace:none'><i><span style='font-family:
Arial'>q3map mapname.map</span></i></p>
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span
style='font-family:Arial'>builds the bsp</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>&nbsp;</span></p>
<p class=MsoNormal style='text-autospace:none'><i><span style='font-family:
Arial'>q3map -vis mapname.bsp</span></i></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>            options
are <i>q3map -vis </i>or <i>q3map -vis -fast</i></span></p>
<p class=MsoNormal style='text-autospace:none'><i><span style='font-family:
Arial'>            </span></i><span style='font-family:Arial'>vis info is used
for the server sending entity info to the client so multiplayer maps should use
vis but single player maps can just use vis fast</span></p>
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span
style='font-family:Arial'>will not work if the map leaked</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>&nbsp;</span></p>
<p class=MsoNormal style='text-autospace:none'><i><span style='font-family:
Arial'>flare mapname.bsp</span></i></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>            generates
the lightmaps</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>            will
not work if the map leaked</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>&nbsp;</span></p>
<p class=MsoNormal style='text-autospace:none'><i><span style='font-family:
Arial'>CoDSP.exe +set r_vc_compile 2 +devmap mapname</span></i></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>            generates
the vc log (see VClog section below)</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>&nbsp;</span></p>
<p class=MsoNormal style='text-autospace:none'><i><span style='font-family:
Arial'>CoDSP.exe +set g_connectpaths 2 +devmap mapname</span></i></p>
<p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span
style='font-family:Arial'>generates the path data for the AI (opens the game
and then closes it automatically after compiling)</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>&nbsp;</span></p>
<p class=MsoNormal style='text-autospace:none'><b><u><span style='font-family:
Arial'>Optional</span></u></b></p>
<p class=MsoNormal style='text-autospace:none'><i><span style='font-family:
Arial'>q3map -info mapname.bsp</span></i></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>            displays
data size information about your bsp</span></p>
<p class=MsoNormal style='text-autospace:none'><b><span style='font-family:
Arial'>&nbsp;</span></b></p>
<p class=MsoNormal style='text-autospace:none'><b><u><span style='font-family:
Arial'>Flare</span></u></b></p>
<p class=MsoNormal style='text-autospace:none'><i><span style='font-family:
Arial'>flare args mapname.bsp</span></i></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>            where
args is 0 or more of the following</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>&nbsp;</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>-Verbose                                Turns
on verbose prints</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>-Fast               
                       Use fast presets for several options</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>-Extra                                      Use
high-quality presets for several options</span></p>
<p class=MsoNormal style='margin-left:2.0in;text-indent:-2.0in;text-autospace:
none'><span style='font-family:Arial'>-MaxPolys                              Maximum
number of polys to use during light compile (can be used to increase the
default for larger maps)</span></p>
<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in;text-autospace:
none'><span style='font-family:Arial'>-MaxVerts                              Maximum
number of vertices to use during light compile (can be used to increase the
default for larger maps)</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>-MaxBrushes        
                Maximum number of brushes to use during bsp solid check</span></p>
<p class=MsoNormal style='margin-left:1.5in;text-indent:-1.5in;text-autospace:
none'><span style='font-family:Arial'>-MaxOccluders                      Maximum
number of occluders to use during light compile (can be used to increase the
default for larger maps)</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>-Visual             
                      Activates visual preview / debugging</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>-DiffuseSun         
                  Forces diffuse sunlighting</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>-NoDiffuseSun       
               Doesn't do diffuse sunlighting</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>-FastDiffuseSun     
              SampleDiffuseSun uses a single vertical sky trace</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>-ExtraDiffuseSun    
              SampleDiffuseSun uses multiple sky traces</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>-ModelShadow       
              Allows model surfaces to cast shadows</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>-NoModelShadow      
          Prevents model surfaces from casting shadows</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>-ModelAlphaShadow   
        Allows transparent model surfaces to cast shadows</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>-NoModelAlphaShadow 
     Prevents transparent model surfaces from casting shadows</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>-SunDiffuseSamples  
         Hemicube edge size for SampleDiffuseSun (3N^2 samples) (Lower numbers
will cause extra ghost shadows from the diffuse sun. 6-10, even values are
recommended.)</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>-DumpOptions        
              Displays current settings of most parameters</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>&nbsp;</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>You
can see all the options to flare by running the program with no arguments.</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>&nbsp;</span></p>
<p class=MsoNormal style='text-autospace:none'><b><u><span style='font-family:
Arial'>VClog</span></u></b></p>
<p class=MsoNormal style='text-autospace:none'><b><span style='font-family:
Arial'>&nbsp;</span></b></p>
<p class=MsoNormal style='text-autospace:none'><b><span style='font-family:
Arial'>What is a VClog?</span></b></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>Entites
(models, players, AI) in a map are lit by the lights in the map. In complex
maps (as opposed to small test maps) calculating which lights affect which
entities takes a lot of work. To prevent the engine from having to do this in
realtime, this information can be written into the bsp using a mapname.vclog
file. If a map doesnt have a VClog, you will experience harsh hitches when
entering new areas where entities are now visible. These hitches feel like
texture thrashing. VClogs are needed for both single player and multiplayer
maps. Anywhere our example says “CoDSP.exe”, just replace it with “CoDMP.exe”
for multiplayer and the same process applies.</span></p>
<p class=MsoNormal style='text-autospace:none'><b><span style='font-family:
Arial'>&nbsp;</span></b></p>
<p class=MsoNormal style='text-autospace:none'><b><span style='font-family:
Arial'>&nbsp;</span></b></p>
<p class=MsoNormal style='text-autospace:none'><b><span style='font-family:
Arial'>Creating a VClog </span></b><span style='font-family:Arial'>(visibility
cache data)</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>This
log can be made once and forgotten about until you make a significant change to
geometry in your map which would allow models, players, or AI to exist in new
areas; it will still be valid after almost any tweak to geometry, including
those that&nbsp;alter shadows.&nbsp;The typical way to make this log is to set
&quot;r_vc_showlog 1&quot;, and then to run around playing &quot;pacman&quot;
trying to get rid of the green dots in areas where you expect players to
go.&nbsp;You still find visibility data when &quot;r_vc_showlog&quot; is 0, and
it runs a little faster, but it is easy to miss spots.&nbsp;&quot;pacman&quot;
mode only works if you have a viewmodel on-screen.</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>&nbsp;</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>You
must set “r_vc_makelog 1” or “r_vc_makelog 2” to enable making a log. A value
of 1 creates a brand new log, a value of 2 appends to an existing
log.&nbsp;&quot;r_vc_showlog&quot; is not all that useful with
&quot;r_vc_makelog 2&quot;, since any dots that were already in the old logfile
will never go away, no matter how many times you go near them.</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>&nbsp;</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>CoDSP.exe
+set r_graymap 1 +set r_vc_makelog 1 +set r_vc_showlog 1 +devmap mapname</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>&nbsp;</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>You
can change the amount of dots you see in the map by changing the “r_vc_showlog”
value.</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>Four
is a good value to use, but any of these are valid: 2, 4, 6, 8, 10, 12, 16</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>You
can bind a key to increase/decrease the value.</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>&nbsp;</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>Example:</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>bind
F3 &quot;toggle r_vc_showlog 2 4 6 8 12 16&quot;</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>bind
F4 &quot;toggle r_vc_showlog 16 12 8 6 4 2&quot;</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>&nbsp;</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>You
must NOT set &quot;dedicated&quot;, or you will not get the compiled visiblity
cache data.&nbsp;Setting r_graymap is not necessary but saves a little time by
not loading textures.</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>&nbsp;</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>&nbsp;</span></p>
<p class=MsoNormal style='text-autospace:none'><b><span style='font-family:
Arial'>Compiling a VClog</span></b></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>Once
your map is basically geometry complete, make &quot;mapname.vclog&quot; by
going around your map with &quot;r_vc_makelog 1&quot;. From then on, you need
only compile the map with &quot;+set r_vc_compile 2&quot; as follows.</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>            </span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>CoDSP.exe
+set r_vc_compile 2 +devmap mapname</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>&nbsp;</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>With
r_vc_compile 2 the game quits after compiling visibility cache data; 1 compiles
and finishes loading.&nbsp;Also, if you do r_vc_compile 1, then the compiled
visibility will not be available until you do a vid_restart or load the map
again.&nbsp;A map_restart or loaded savegame is not sufficient. Additionally,
CoDSP.exe is hardcoded to look for the .vclog file in the maps directory and
the CoDMP.exe is hardcoded to look in maps/mp/. Basically, the .vclog MUST be
in the same place as the .bsp.</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>&nbsp;</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>&nbsp;</span></p>
<p class=MsoNormal style='text-autospace:none'><b><span style='font-family:
Arial'>Confirming a VClog </span></b></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>To
confirm whether or not the VClog has been compiled into a .bsp use the
“r_vc_stats” console command to see the performance statistics for the light
visibility cache. Load the .bsp in the game. Once the map has loaded, pull down
the console and type “r_vc_stats”. The VClog has been successfully compiled
into the .bsp if the “entries used” number is greater than “entries filled in
at runtime”.</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>&nbsp;</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>Example:</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>light
visibility cache performance:</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>74606
entries used (28.5%)</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>21
max associativity</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>0
entries flushed</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>1216
entries filled in at runtime instead of read from disk</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>&nbsp;</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>Note:</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>If
the “entries filled in at runtime” number is the same as the “entries used”
number, then the VClog has NOT been compiled into the .bsp.</span></p>
</div>
</body>
</html>

190
Tools/docs/Portals.htm Normal file
View file

@ -0,0 +1,190 @@
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
<meta name=Generator content="Microsoft Word 10 (filtered)">
<title>Portals</title>
<style>
<!--
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman";}
/* Page Definitions */
@page Section1
{size:8.5in 11.0in;
margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
{page:Section1;}
-->
</style>
</head>
<body lang=EN-US style='text-justify-trim:punctuation'>
<div class=Section1>
<p class=MsoNormal style='text-autospace:none'><b><u><span style='font-family:
Arial'>Portals</span></u></b></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>&nbsp;</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>Portals
divide the world into cells.&nbsp;Each cell is a non-solid, non-detail volume
inside the BSP that does not cross any portals.&nbsp;Every non-solid part of
the map exists in exactly one cell.&nbsp;Cells can have any arbitrary shape,
such as L or cube.&nbsp;Portals connect two cells.&nbsp;The classic example is
doorways in a house, where each room is a cell and the doorways are portals.</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>&nbsp;</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>Whenever
a cell is determined to be at least partially visible, all of the world
geometry in that cell gets drawn.&nbsp;If a world surface exists on both sides
of a portal, it gets drawn if either of the two cells are drawn.&nbsp; </span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>&nbsp;</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>Note:
model bounding boxes will get clipped against the portals so they may not get
drawn even if they are in a cell that is drawn.</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>&nbsp;</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>Portals
gives better culling than PVS since they effectively do the exact cell-to-cell
PVS for a single view point.&nbsp; Portals can even cull geometry when you turn
the mouse, rather than being fixed for a given point.&nbsp; Too many portals
can slow the game down because it does too much time calculating what to
draw.&nbsp; Portals do frustum culling of triangles, (strafe in front of a
doorway in CoD with r_showtris 1 to observe this in action). Because of this it
is not necessary to have portals inside of rooms, only at the windows and doors.
Use r_showportals 1 in the game to see where IW placed their portals. </span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>Too
few portals can slow the game down because it quickly decides to draw too much.</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>&nbsp;</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>You
have to&nbsp;place portals in radiant for portal-based rendering.&nbsp; A
portal can be any brush face; it doesn't have to be axial and it doesn't have
to be square.&nbsp;To create a portal, create a brush and then make most sides
“textures / common / portalnodraw” and one side &quot;textures / common /
portal&quot;.&nbsp;</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>&nbsp;</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>portalnodraw
is just like nodraw but is designed to be used with portal.</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>&nbsp;</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>Only
structural brushes can make up the other walls of a cell with portals. Open a
map and filter out the patches (Alt-3), detail brushes (Ctrl-d) and entities
(Alt-2) and observe whats left. Usually this will be just a few simple walls, the
sky and some caulk brushes. This is what the portal render “sees”. </span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>&nbsp;</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>Portals
are not allowed to have the same cell on both sides.&nbsp;If the compiler
detects this, it will ignore the portal and issue a warning. This is known as a
portal leak and it will generate a .lin file the same as a regular leak. </span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>&nbsp;</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>Portals
are not allowed to have one side completely against a solid brush (partially is
okay, including partially inside solid).&nbsp;If the compiler detects this, it
will ignore the portal and issue a warning.</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>&nbsp;</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>Portals
are not allowed the T-junction with other portals. The portal whose face is
touching the edge of the other perpendicular portal must have its face split
along the edge it shares with that portal. </span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:Arial'>&nbsp;</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>An
example of placing 2 portals to cull geometry around a corner: The diagonal
portals here each share 1 edge exactly on the inside corner of this hallway.
Cell number 1 can not see the portal face which divides cell 2 from cell 3.
Since it can not see this portal, it does not draw the triangles inside cell 3.
</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:Arial'>&nbsp;</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>############</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>#&nbsp;2&nbsp; /   3</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'># &nbsp; /</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>#&nbsp; /########</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'># / #</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>#/&nbsp; #</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>#&nbsp;1 #</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:Arial'>&nbsp;</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>&nbsp;</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>Another
example. Position 4 can see through the portal into the cell where position 5
is, however... frustum culling keeps the observer at position 4 from drawing
the object at position 5.</span></p>
<p class=MsoNormal style='text-autospace:none'>&nbsp;</p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>     4</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>&nbsp;</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>##########-------##########</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>#                         #</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>#  5                      #</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>#                         #</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>#                         #</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>#                         #</span></p>
<p class=MsoNormal style='text-autospace:none'><span style='font-family:Arial'>&nbsp;</span></p>
</div>
</body>
</html>

View file

@ -0,0 +1,7 @@
{
surfaceparm wood
{
map $texturename
rgbGen lightingDiffuse
}
}

View file

@ -0,0 +1,7 @@
{
surfaceparm cloth
{
map $texturename
rgbGen lightingDiffuse
}
}

View file

@ -0,0 +1,7 @@
{
surfaceparm wood
{
map $texturename
rgbGen lightingDiffuse
}
}

View file

@ -0,0 +1,10 @@
{
surfaceparm wood
{
map $texturename
rgbGen lightingDiffuse
blendfunc blend
depthWrite
}
}

View file

@ -0,0 +1,7 @@
{
surfaceparm metal
{
map $texturename
rgbGen lightingDiffuse
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,488 @@
// Source filename: 'C:\trees\model_source\character_models\basehead_physique low lod.max'
// Export time: Wed Aug 06 15:30:28 2003
MODEL
VERSION 5
NUMBONES 24
BONE 0 -1 "Bip01 Spine2"
BONE 1 0 "Bip01 Neck"
BONE 2 1 "Bip01 Head"
BONE 3 2 "skull"
BONE 4 2 "TAG_EYE"
BONE 5 3 "Jaw"
BONE 6 3 "L_brow"
BONE 7 3 "L_cheek"
BONE 8 3 "L_eye"
BONE 9 3 "L_eyelid_bottom"
BONE 10 3 "L_eyelid_top"
BONE 11 3 "L_mouthcorner"
BONE 12 3 "L_toplip"
BONE 13 3 "M_toplip"
BONE 14 3 "R_brow"
BONE 15 3 "R_cheek"
BONE 16 3 "R_eye"
BONE 17 3 "R_eyelid_bottom"
BONE 18 3 "R_eyelid_top"
BONE 19 3 "R_mouthcorner"
BONE 20 3 "R_toplip"
BONE 21 5 "L_bottomlip"
BONE 22 5 "M_bottomlip"
BONE 23 5 "R_bottomlip"
BONE 0
OFFSET 0.000003 0.794288 47.433227
SCALE 1.000000 1.000000 1.000000
X -0.000000 0.007931 0.999969
Y -0.000001 -0.999969 0.007931
Z 1.000000 -0.000001 0.000000
BONE 1
OFFSET 0.000002 0.894820 59.823012
SCALE 1.000000 1.000000 1.000000
X 0.000000 -0.309774 0.950810
Y -0.000001 -0.950810 -0.309774
Z 1.000000 -0.000001 -0.000001
BONE 2
OFFSET 0.000004 -0.036561 62.681764
SCALE 1.000000 1.000000 1.000000
X 0.000000 -0.216437 0.976297
Y -0.000001 -0.976297 -0.216437
Z 1.000000 -0.000001 -0.000001
BONE 3
OFFSET 0.067967 -1.108944 65.351289
SCALE 1.000000 1.000000 1.000000
X -0.000000 -1.000000 -0.000000
Y -0.000000 0.000000 1.000000
Z -1.000000 0.000000 -0.000000
BONE 4
OFFSET -0.035812 -4.630261 66.429293
SCALE 0.999999 1.000000 1.000000
X 0.000000 -0.939692 0.342023
Y 1.000000 -0.000000 -0.000001
Z 0.000001 0.342023 0.939692
BONE 5
OFFSET 0.039631 -1.266130 64.446293
SCALE 0.855093 1.000000 1.000000
X -0.069943 -0.810095 -0.582112
Y -0.000000 -0.583541 0.812084
Z -0.997551 0.056800 0.040815
BONE 6
OFFSET 0.472242 -0.499828 67.634791
SCALE 0.947253 1.000000 1.000000
X 0.206897 -0.976341 0.062868
Y 0.073973 0.079686 0.994071
Z -0.975562 -0.201020 0.088710
BONE 7
OFFSET 0.019903 -0.906582 65.486882
SCALE 1.027953 1.000000 1.000000
X 0.291568 -0.955042 0.053689
Y 0.000002 0.056128 0.998424
Z -0.956550 -0.291109 0.016367
BONE 8
OFFSET 1.288122 -3.724751 66.903979
SCALE 1.000000 1.000000 0.699301
X -0.046596 -0.998859 -0.010429
Y 0.000001 0.010440 -0.999946
Z 0.998914 -0.046594 -0.000486
BONE 9
OFFSET 1.305727 -3.757377 66.979162
SCALE 0.223996 0.999605 1.000000
X 0.189755 -0.871048 -0.453065
Y 0.027837 0.052101 -0.998254
Z 0.980274 0.194062 0.037464
BONE 10
OFFSET 1.305727 -3.786572 66.975065
SCALE 0.209877 0.999993 1.000000
X 0.201833 -0.905241 0.373901
Y -0.040732 0.461630 0.886137
Z -0.979180 -0.194959 0.056554
BONE 11
OFFSET 1.042348 -4.811097 63.752331
SCALE 0.671141 0.671141 1.218870
X 0.752277 -0.626569 -0.203691
Y -0.097833 -0.411970 0.905930
Z -0.651542 -0.661583 -0.371215
BONE 12
OFFSET 0.582148 -4.581512 64.196253
SCALE 0.671141 0.671141 0.611923
X 0.500127 -0.770787 -0.394664
Y 0.231107 -0.320420 0.918652
Z -0.834543 -0.550652 0.017884
BONE 13
OFFSET -0.010133 -4.783298 64.279179
SCALE 0.671141 0.671141 0.394789
X -0.000000 -0.930816 -0.365487
Y -0.000000 -0.365487 0.930816
Z -1.000000 0.000000 -0.000000
BONE 14
OFFSET -0.367581 -0.499828 67.634815
SCALE 0.947254 1.000000 1.000000
X -0.206897 -0.976130 0.066056
Y -0.063058 0.080681 0.994743
Z -0.976329 0.201644 -0.078245
BONE 15
OFFSET 0.039631 -0.984924 65.486882
SCALE 1.027953 1.000000 1.000000
X -0.291568 -0.955042 0.053687
Y 0.000000 0.056125 0.998424
Z -0.956550 0.291109 -0.016364
BONE 16
OFFSET -1.147474 -3.724750 66.929859
SCALE 1.000000 1.000000 0.699301
X -0.046597 -0.998859 -0.010429
Y -0.000000 -0.010440 0.999946
Z -0.998914 0.046594 0.000486
BONE 17
OFFSET -1.211869 -3.757377 67.005036
SCALE 0.223996 0.999605 1.000000
X -0.217962 -0.868395 -0.445401
Y 0.037263 -0.046699 0.998214
Z -0.974250 0.220584 0.046688
BONE 18
OFFSET -1.211869 -3.786572 67.000939
SCALE 0.209877 0.999993 1.000000
X -0.230833 -0.894945 0.381825
Y -0.063621 -0.466008 -0.882490
Z 0.972090 -0.229031 0.050861
BONE 19
OFFSET -1.196445 -4.841998 63.755430
SCALE 0.671141 0.671141 1.218870
X -0.752277 -0.626569 -0.203691
Y 0.097835 -0.411972 0.905929
Z -0.651542 0.661582 0.371218
BONE 20
OFFSET -0.663596 -4.585586 64.196842
SCALE 0.671141 0.671141 0.611923
X -0.500128 -0.770788 -0.394662
Y -0.239835 -0.314633 0.918415
Z -0.832077 0.553978 -0.027505
BONE 21
OFFSET 0.389945 -4.451334 63.415027
SCALE 0.626073 0.640763 0.590650
X 0.527145 -0.847551 0.061443
Y -0.069153 -0.093907 0.993176
Z -0.893874 -0.447884 -0.019727
BONE 22
OFFSET -0.181116 -4.637833 63.288632
SCALE 0.603999 0.639613 0.394789
X -0.054019 -0.996338 0.066270
Y 0.035583 -0.090243 0.995284
Z -0.997551 0.056799 0.040815
BONE 23
OFFSET -0.657427 -4.390023 63.460906
SCALE 0.626067 0.642176 0.590879
X -0.612327 -0.783112 0.108586
Y 0.137410 -0.120913 0.983107
Z -0.837947 0.536506 0.100029
NUMVERTS 23
VERT 0
OFFSET 2.603722 -1.626333 59.616640
BONES 1
BONE 1 1.000000
VERT 1
OFFSET 2.907945 -3.397343 61.493712
BONES 2
BONE 1 0.500000
BONE 2 0.500000
VERT 2
OFFSET 2.254080 -4.941248 61.734963
BONES 2
BONE 1 0.500000
BONE 2 0.500000
VERT 3
OFFSET 3.336825 -5.568439 67.572939
BONES 1
BONE 2 1.000000
VERT 4
OFFSET 2.236236 -4.673758 71.091201
BONES 1
BONE 2 1.000000
VERT 5
OFFSET 2.236232 2.070069 71.735537
BONES 1
BONE 2 1.000000
VERT 6
OFFSET 3.336820 3.646602 66.897365
BONES 1
BONE 2 1.000000
VERT 7
OFFSET 2.721358 2.392278 63.520079
BONES 2
BONE 1 0.500000
BONE 2 0.500000
VERT 8
OFFSET 2.603722 2.744148 59.993418
BONES 1
BONE 1 1.000000
VERT 9
OFFSET -2.622771 -1.626334 59.616640
BONES 1
BONE 1 1.000000
VERT 10
OFFSET -2.926994 -3.397345 61.493718
BONES 2
BONE 1 0.500000
BONE 2 0.500000
VERT 11
OFFSET -2.273128 -4.941248 61.734957
BONES 2
BONE 1 0.500000
BONE 2 0.500000
VERT 12
OFFSET -3.355863 -5.568440 67.572939
BONES 1
BONE 2 1.000000
VERT 13
OFFSET -2.255270 -4.673758 71.091201
BONES 1
BONE 2 1.000000
VERT 14
OFFSET -2.255273 2.070068 71.735537
BONES 1
BONE 2 1.000000
VERT 15
OFFSET -3.355868 3.646600 66.897365
BONES 1
BONE 2 1.000000
VERT 16
OFFSET -2.740410 2.392278 63.520079
BONES 2
BONE 1 0.500000
BONE 2 0.500000
VERT 17
OFFSET -2.622772 2.744148 59.993412
BONES 1
BONE 1 1.000000
VERT 18
OFFSET -0.584177 -5.568440 67.572933
BONES 1
BONE 2 1.000000
VERT 19
OFFSET -0.873680 -5.292232 64.813519
BONES 1
BONE 2 1.000000
VERT 20
OFFSET 0.959619 -5.294823 64.817971
BONES 1
BONE 2 1.000000
VERT 21
OFFSET 0.573317 -5.568440 67.572939
BONES 1
BONE 2 1.000000
VERT 22
OFFSET -0.018077 -6.128525 65.106927
BONES 1
BONE 2 1.000000
NUMFACES 40
TRI 0 0 2 1
VERT 0 0.657219 0.947321 -0.000000 -0.727358 -0.686259
VERT 9 0.344963 0.947321 0.000000 -0.727358 -0.686258
VERT 10 0.317456 0.828834 -0.000000 -0.727358 -0.686258
TRI 0 0 2 1
VERT 10 0.317456 0.828834 -0.000000 -0.727358 -0.686258
VERT 1 0.666070 0.828834 -0.000001 -0.727357 -0.686259
VERT 0 0.657219 0.947321 -0.000000 -0.727358 -0.686259
TRI 0 0 2 4
VERT 1 0.666070 0.828834 0.000001 -0.154385 -0.988011
VERT 10 0.317456 0.828834 -0.000001 -0.154380 -0.988012
VERT 11 0.359433 0.747904 -0.000001 -0.154381 -0.988011
TRI 0 0 2 4
VERT 11 0.359433 0.747904 -0.000001 -0.154381 -0.988011
VERT 2 0.629916 0.747904 0.000001 -0.154387 -0.988010
VERT 1 0.666070 0.828834 0.000001 -0.154385 -0.988011
TRI 0 0 2 2
VERT 22 0.494328 0.567789 -0.000001 -0.975165 0.221482
VERT 18 0.460178 0.450086 -0.002510 -0.998646 0.051969
VERT 21 0.529334 0.450086 -0.000000 -0.998386 0.056799
TRI 0 0 2 4
VERT 13 0.359837 0.283096 0.000000 -0.969155 0.246452
VERT 4 0.628191 0.283096 0.000000 -0.969155 0.246453
VERT 3 0.694445 0.450086 0.000000 -0.969155 0.246453
TRI 0 0 2 4
VERT 18 0.460178 0.450086 -0.000001 -0.969155 0.246452
VERT 12 0.294578 0.450086 0.000001 -0.969155 0.246452
VERT 13 0.359837 0.283096 0.000000 -0.969155 0.246452
TRI 0 0 2 4
VERT 21 0.529334 0.450086 -0.000000 -0.969155 0.246452
VERT 18 0.460178 0.450086 -0.000001 -0.969155 0.246452
VERT 13 0.359837 0.283096 0.000000 -0.969155 0.246452
TRI 0 0 2 4
VERT 21 0.529334 0.450086 -0.000000 -0.969155 0.246452
VERT 13 0.359837 0.283096 0.000000 -0.969155 0.246452
VERT 3 0.694445 0.450086 0.000000 -0.969155 0.246453
TRI 0 0 2 2
VERT 4 0.961133 0.353074 -0.000000 -0.095111 0.995467
VERT 13 0.895533 0.353074 -0.000000 -0.095111 0.995467
VERT 14 0.895533 0.411381 -0.000000 -0.095111 0.995467
TRI 0 0 2 2
VERT 14 0.895533 0.411381 -0.000000 -0.095111 0.995467
VERT 5 0.961133 0.411381 -0.000000 -0.095111 0.995467
VERT 4 0.961133 0.353074 -0.000000 -0.095111 0.995467
TRI 0 0 2 4
VERT 5 0.961133 0.411381 -0.000000 0.950795 0.309820
VERT 14 0.895533 0.411381 -0.000000 0.950795 0.309819
VERT 15 0.884342 0.567481 -0.000000 0.950795 0.309820
TRI 0 0 2 4
VERT 15 0.884342 0.567481 -0.000000 0.950795 0.309820
VERT 6 0.982092 0.567481 -0.000000 0.950795 0.309820
VERT 5 0.961133 0.411381 -0.000000 0.950795 0.309820
TRI 0 0 2 2
VERT 6 0.982092 0.567481 -0.000000 0.937434 -0.348163
VERT 15 0.884342 0.567481 -0.000000 0.937434 -0.348162
VERT 16 0.893332 0.660923 -0.000000 0.937434 -0.348163
TRI 0 0 2 2
VERT 16 0.893332 0.660923 -0.000000 0.937434 -0.348163
VERT 7 0.973102 0.660923 0.000000 0.937434 -0.348163
VERT 6 0.982092 0.567481 -0.000000 0.937434 -0.348163
TRI 0 0 2 4
VERT 7 0.973102 0.660923 -0.000000 0.995059 0.099281
VERT 16 0.893332 0.660923 0.000000 0.995059 0.099281
VERT 17 0.895050 0.928898 -0.000000 0.995059 0.099281
TRI 0 0 2 4
VERT 17 0.895050 0.928898 -0.000000 0.995059 0.099281
VERT 8 0.971383 0.928898 -0.000000 0.995059 0.099281
VERT 7 0.973102 0.660923 -0.000000 0.995059 0.099281
TRI 0 0 1 16
VERT 1 0.666070 0.828834 0.989902 -0.082616 -0.115186
VERT 2 0.629916 0.747904 0.888411 -0.408866 -0.208696
VERT 3 0.694778 0.451796 0.995777 -0.015975 0.090402
TRI 0 0 1 16
VERT 7 0.946953 0.670985 0.994607 0.015031 -0.102625
VERT 8 0.965008 0.926038 0.999449 0.002850 -0.033054
VERT 0 0.657219 0.947321 0.995814 0.046995 -0.078392
TRI 0 0 1 16
VERT 7 0.946953 0.670985 0.994607 0.015031 -0.102625
VERT 0 0.657219 0.947321 0.995814 0.046995 -0.078392
VERT 1 0.666070 0.828834 0.989902 -0.082616 -0.115186
TRI 0 0 1 16
VERT 7 0.946953 0.670985 0.994607 0.015031 -0.102625
VERT 1 0.666070 0.828834 0.989902 -0.082616 -0.115186
VERT 3 0.694778 0.451796 0.995777 -0.015975 0.090402
TRI 0 0 1 16
VERT 6 0.985209 0.485197 0.999613 -0.009812 0.026029
VERT 7 0.946953 0.670985 0.994607 0.015031 -0.102625
VERT 3 0.694778 0.451796 0.995777 -0.015975 0.090402
TRI 0 0 1 16
VERT 6 0.985209 0.485197 0.999613 -0.009812 0.026029
VERT 3 0.694778 0.451796 0.995777 -0.015975 0.090402
VERT 4 0.628191 0.283096 0.962763 0.008843 0.270201
TRI 0 0 1 16
VERT 5 0.937130 0.219048 0.976312 -0.020578 0.215386
VERT 6 0.985209 0.485197 0.999613 -0.009812 0.026029
VERT 4 0.628191 0.283096 0.962763 0.008843 0.270201
TRI 0 0 0 16
VERT 15 0.015036 0.491546 -0.999613 -0.009813 0.026030
VERT 14 0.059857 0.225397 -0.976312 -0.020580 0.215387
VERT 13 0.359837 0.283096 -0.962763 0.008842 0.270203
TRI 0 0 0 16
VERT 9 0.344963 0.947321 -0.995814 0.046994 -0.078392
VERT 17 0.048023 0.932387 -0.999449 0.002849 -0.033054
VERT 16 0.050700 0.677334 -0.994607 0.015030 -0.102624
TRI 0 0 0 16
VERT 10 0.317456 0.828834 -0.989902 -0.082616 -0.115185
VERT 9 0.344963 0.947321 -0.995814 0.046994 -0.078392
VERT 16 0.050700 0.677334 -0.994607 0.015030 -0.102624
TRI 0 0 0 16
VERT 12 0.294578 0.450086 -0.995777 -0.015976 0.090404
VERT 11 0.359433 0.747904 -0.888412 -0.408864 -0.208694
VERT 10 0.317456 0.828834 -0.989902 -0.082616 -0.115185
TRI 0 0 0 16
VERT 12 0.294578 0.450086 -0.995777 -0.015976 0.090404
VERT 10 0.317456 0.828834 -0.989902 -0.082616 -0.115185
VERT 16 0.050700 0.677334 -0.994607 0.015030 -0.102624
TRI 0 0 0 16
VERT 12 0.294578 0.450086 -0.995777 -0.015976 0.090404
VERT 16 0.050700 0.677334 -0.994607 0.015030 -0.102624
VERT 15 0.015036 0.491546 -0.999613 -0.009813 0.026030
TRI 0 0 0 16
VERT 12 0.294578 0.450086 -0.995777 -0.015976 0.090404
VERT 15 0.015036 0.491546 -0.999613 -0.009813 0.026030
VERT 13 0.359837 0.283096 -0.962763 0.008842 0.270203
TRI 0 0 2 2
VERT 19 0.442964 0.619960 -0.023358 -0.994405 -0.103023
VERT 2 0.629916 0.747904 0.003670 -0.993688 -0.112121
VERT 11 0.359433 0.747904 -0.003257 -0.993914 -0.110110
TRI 0 0 2 2
VERT 11 0.359433 0.747904 -0.003257 -0.993914 -0.110110
VERT 12 0.294578 0.450086 -0.000000 -0.994279 -0.106818
VERT 18 0.460178 0.450086 -0.002510 -0.998646 0.051969
TRI 0 0 2 2
VERT 18 0.460178 0.450086 -0.002510 -0.998646 0.051969
VERT 19 0.442964 0.619960 -0.023358 -0.994405 -0.103023
VERT 11 0.359433 0.747904 -0.003257 -0.993914 -0.110110
TRI 0 0 2 2
VERT 20 0.552499 0.619712 0.004547 -0.993986 -0.109411
VERT 3 0.694445 0.450086 0.004522 -0.994703 -0.102693
VERT 2 0.629916 0.747904 0.003670 -0.993688 -0.112121
TRI 0 0 2 2
VERT 20 0.552499 0.619712 0.004547 -0.993986 -0.109411
VERT 2 0.629916 0.747904 0.003670 -0.993688 -0.112121
VERT 19 0.442964 0.619960 -0.023358 -0.994405 -0.103023
TRI 0 0 2 2
VERT 21 0.529334 0.450086 -0.000000 -0.998386 0.056799
VERT 3 0.694445 0.450086 0.004522 -0.994703 -0.102693
VERT 20 0.552499 0.619712 0.004547 -0.993986 -0.109411
TRI 0 0 2 0
VERT 22 0.494328 0.567789 -0.699308 -0.714818 0.001817
VERT 19 0.442964 0.619960 -0.699308 -0.714818 0.001817
VERT 18 0.460178 0.450086 -0.699308 -0.714818 0.001817
TRI 0 0 2 0
VERT 22 0.999501 0.546925 0.001827 -0.329393 -0.944191
VERT 20 0.909414 0.419340 0.001827 -0.329393 -0.944191
VERT 19 0.909149 0.419707 0.001827 -0.329393 -0.944191
TRI 0 0 2 0
VERT 22 0.494328 0.567789 0.651504 -0.758476 0.016024
VERT 21 0.529334 0.450086 0.651504 -0.758476 0.016024
VERT 20 0.552499 0.619712 0.651504 -0.758476 0.016024
NUMOBJECTS 1
OBJECT 0 "Line01"
NUMMATERIALS 1
MATERIAL 0 "flesh@testhead03.tga"

View file

@ -0,0 +1,123 @@
{
"head_Foley" ( "xmodel.gdf" )
{
"type" "animated"
"highLodRigidRoot" ""
"filename" "character_models\\main\\foley\\FoleyHead.XMODEL_EXPORT"
"highLodDist" "600"
"forceMediumLodRigid" "1"
"mediumLodRigidRoot" "Bip01 Head"
"mediumLod" "character_models\\main\\foley\\foley_head_med.XMODEL_EXPORT"
"mediumLodDist" "1100"
"forceLowLodRigid" "1"
"lowLodRigidRoot" "Bip01 Head"
"lowLod" "character_models\\us\\heads\\lowpoly.XMODEL_EXPORT"
"lowLodDist" "3000"
"calculateBounds" "1"
"minX" "0"
"minY" "0"
"minZ" "0"
"maxX" "0"
"maxY" "0"
"maxZ" "0"
"noRadialNormals" "0"
"radialOriginX" "0"
"radialOriginY" "0"
"radialOriginZ" "0"
"collisionLOD" "None"
"skinOverride" ""
"boneControllers" ""
"boneStabilizers" ""
}
"character_Foley" ( "xmodel.gdf" )
{
"type" "animated"
"highLodRigidRoot" ""
"filename" "character_models\\main\\foley\\Foley.XMODEL_EXPORT"
"highLodDist" "800"
"forceMediumLodRigid" "0"
"mediumLodRigidRoot" ""
"mediumLod" "character_models\\us\\airborne\\USAirborneA_LOD1.XMODEL_EXPORT"
"mediumLodDist" "1200"
"forceLowLodRigid" "0"
"lowLodRigidRoot" ""
"lowLod" "character_models\\us\\airborne\\USAirborneA_LOD2.XMODEL_EXPORT"
"lowLodDist" "0"
"calculateBounds" "1"
"minX" "0"
"minY" "0"
"minZ" "0"
"maxX" "0"
"maxY" "0"
"maxZ" "0"
"noRadialNormals" "0"
"radialOriginX" "0"
"radialOriginY" "0"
"radialOriginZ" "0"
"collisionLOD" "None"
"skinOverride" ""
"boneControllers" ""
"boneStabilizers" ""
}
"gear_US_Foley" ( "xmodel.gdf" )
{
"type" "animated"
"highLodRigidRoot" ""
"filename" "character_models\\us\\gear\\gear_US_Foley.XMODEL_EXPORT"
"highLodDist" "2500"
"forceMediumLodRigid" "0"
"mediumLodRigidRoot" ""
"mediumLod" ""
"mediumLodDist" "0"
"forceLowLodRigid" "1"
"lowLodRigidRoot" ""
"lowLod" ""
"lowLodDist" "0"
"calculateBounds" "1"
"minX" "0"
"minY" "0"
"minZ" "0"
"maxX" "0"
"maxY" "0"
"maxZ" "0"
"noRadialNormals" "0"
"radialOriginX" "0"
"radialOriginY" "0"
"radialOriginZ" "0"
"collisionLOD" "None"
"skinOverride" "cloth@medpack.tga cloth@medkit.tga"
"boneControllers" ""
"boneStabilizers" ""
}
"Airborne" ( "xmodel.gdf" )
{
"type" "animated"
"highLodRigidRoot" ""
"filename" "character_models\\us\\airborne\\USAirborneAHigh.XMODEL_EXPORT"
"highLodDist" "300"
"forceMediumLodRigid" "0"
"mediumLodRigidRoot" ""
"mediumLod" "character_models\\us\\airborne\\USAirborneA_LOD1.XMODEL_EXPORT"
"mediumLodDist" "800"
"forceLowLodRigid" "0"
"lowLodRigidRoot" ""
"lowLod" "character_models\\us\\airborne\\USAirborneLOWsegmented.XMODEL_EXPORT"
"lowLodDist" "0"
"calculateBounds" "1"
"minX" "0"
"minY" "0"
"minZ" "0"
"maxX" "0"
"maxY" "0"
"maxZ" "0"
"noRadialNormals" "0"
"radialOriginX" "0"
"radialOriginY" "0"
"radialOriginZ" "0"
"collisionLOD" "None"
"skinOverride" ""
"boneControllers" ""
"boneStabilizers" ""
}
}

View file

@ -0,0 +1,3 @@
{
}

View file

@ -0,0 +1,33 @@
{
"sample_multiplayerBody" ( "xmodel.gdf" )
{
"type" "multiplayer body"
"highLodRigidRoot" ""
"filename" "character_models\\us\\airborne\\USAirborneAHigh.XMODEL_EXPORT"
"highLodDist" "800"
"forceMediumLodRigid" "0"
"mediumLodRigidRoot" ""
"mediumLod" "character_models\\us\\airborne\\USAirborneA_LOD1.XMODEL_EXPORT"
"mediumLodDist" "1200"
"forceLowLodRigid" "0"
"lowLodRigidRoot" ""
"lowLod" "character_models\\us\\airborne\\USAirborneLOWsegmented.XMODEL_EXPORT"
"lowLodDist" "0"
"calculateBounds" "1"
"minX" "0"
"minY" "0"
"minZ" "0"
"maxX" "0"
"maxY" "0"
"maxZ" "0"
"noRadialNormals" "0"
"radialOriginX" "0"
"radialOriginY" "0"
"radialOriginZ" "0"
"collisionLOD" "None"
"skinOverride" ""
"boneControllers" ""
"boneStabilizers" ""
}
}

View file

@ -0,0 +1,62 @@
{
"sample_mp_character" ( "character.gdf" )
{
"body" ""
"bodyAlias" "sample_mp_bodyAlias"
"head" "head_Foley"
"headAlias" ""
"hat" ""
"hatAlias" ""
"viewmodel" "viewmodel_hands_us"
"TAG_BELT_BACK" ""
"TAG_BELT_BACK_required" "0"
"TAG_BELT_BACKLEFT" ""
"TAG_BELT_BACKLEFT_required" "0"
"TAG_BELT_BACKRIGHT" ""
"TAG_BELT_BACKRIGHT_required" "0"
"TAG_BELT_FRONT" ""
"TAG_BELT_FRONT_required" "0"
"TAG_BELT_FRONTLEFT" ""
"TAG_BELT_FRONTLEFT_required" "0"
"TAG_BELT_FRONTRIGHT" ""
"TAG_BELT_FRONTRIGHT_required" "0"
"TAG_BELT_LEFT" ""
"TAG_BELT_LEFT_required" "0"
"TAG_BELT_RIGHT" ""
"TAG_BELT_RIGHT_required" "0"
"TAG_BREASTPOCKET_LEFT" ""
"TAG_BREASTPOCKET_LEFT_required" "0"
"TAG_BREASTPOCKET_RIGHT" ""
"TAG_BREASTPOCKET_RIGHT_required" "0"
"TAG_CALF_LEFT" ""
"TAG_CALF_LEFT_required" "0"
"TAG_CALF_RIGHT" ""
"TAG_CALF_RIGHT_required" "0"
"TAG_HELMET" ""
"TAG_HELMET_required" "0"
"TAG_HELMETSIDE" ""
"TAG_HELMETSIDE_required" "0"
"TAG_SHIN_LEFT" ""
"TAG_SHIN_LEFT_required" "0"
"TAG_SHIN_RIGHT" ""
"TAG_SHIN_RIGHT_required" "0"
"TAG_THIGH_LEFT" ""
"TAG_THIGH_LEFT_required" "0"
"TAG_THIGH_RIGHT" ""
"TAG_THIGH_RIGHT_required" "0"
"TAG_WEAPON_LEFT" ""
"TAG_WEAPON_LEFT_required" "0"
"TAG_WEAPON_RIGHT" ""
"TAG_WEAPON_RIGHT_required" "0"
"TAG_ORIGIN" ""
"TAG_ORIGIN_required" "0"
"misc1" ""
"misc1_required" "0"
"misc2" ""
"misc2_required" "0"
"misc3" ""
"misc3_required" "0"
"voice" "american"
}
}

View file

@ -0,0 +1,49 @@
{
"ai_lochit_dmgtable" ( "locdmgtable.gdf" )
{
"configstringFileType" "LOCDMGTABLE"
"none" "1"
"helmet" "4"
"head" "4"
"neck" "4"
"torso_upper" "0.9"
"torso_lower" "0.8"
"right_arm_upper" "0.7"
"right_arm_lower" "0.7"
"right_hand" "0.5"
"left_arm_upper" "0.7"
"left_arm_lower" "0.7"
"left_hand" "0.5"
"right_leg_upper" "0.4"
"right_leg_lower" "0.4"
"right_foot" "0.2"
"left_leg_upper" "0.4"
"left_leg_lower" "0.4"
"left_foot" "0.2"
"gun" "0"
}
"mp_lochit_dmgtable" ( "locdmgtable.gdf" )
{
"configstringFileType" "LOCDMGTABLE"
"none" "1"
"helmet" "1.5"
"head" "1.5"
"neck" "1.5"
"torso_upper" "0.9"
"torso_lower" "0.8"
"right_arm_upper" "0.6"
"right_arm_lower" "0.5"
"right_hand" "0.4"
"left_arm_upper" "0.6"
"left_arm_lower" "0.5"
"left_hand" "0.4"
"right_leg_upper" "0.6"
"right_leg_lower" "0.5"
"right_foot" "0.4"
"left_leg_upper" "0.6"
"left_leg_lower" "0.5"
"left_foot" "0.4"
"gun" "0"
}
}

View file

@ -0,0 +1 @@
character_models\us\airborne\USAirborneAHigh.XMODEL_EXPORT,character_models\us\airborne.XMODEL_EXPORT
1 character_models\us\airborne\USAirborneAHigh.XMODEL_EXPORT character_models\us\airborne.XMODEL_EXPORT

View file

@ -0,0 +1,57 @@
{
"sample_mptype" ( "mptype.gdf" )
{
"comments" ""
"character1" "sample_mp_character"
"character2" ""
"character3" ""
"character4" ""
"character5" ""
"character6" ""
"character7" ""
"character8" ""
"character9" ""
"character10" ""
"character11" ""
"character12" ""
"character13" ""
"character14" ""
"character15" ""
"character16" ""
"character17" ""
"character18" ""
"character19" ""
"character20" ""
"character21" ""
"character22" ""
"character23" ""
"character24" ""
"character25" ""
"character26" ""
"character27" ""
"character28" ""
"character29" ""
"character30" ""
"character31" ""
"character32" ""
"character33" ""
"character34" ""
"character35" ""
"character36" ""
"character37" ""
"character38" ""
"character39" ""
"character40" ""
"character41" ""
"character42" ""
"character43" ""
"character44" ""
"character45" ""
"character46" ""
"character47" ""
"character48" ""
"character49" ""
"character50" ""
}
}

Some files were not shown because too many files have changed in this diff Show more