File: 6_Advanced_mapping.rtf

package info (click to toggle)
warsow 0.42.dfsg1-1
  • links: PTS, VCS
  • area: contrib
  • in suites: lenny
  • size: 11,036 kB
  • ctags: 15,401
  • sloc: ansic: 135,672; makefile: 734; objc: 231; sh: 154
file content (137 lines) | stat: -rw-r--r-- 25,630 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
{\rtf1\ansi\ansicpg1252\uc1\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f10\fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}
{\f39\fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Verdana;}{\f172\froman\fcharset238\fprq2 Times New Roman CE;}{\f173\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f175\froman\fcharset161\fprq2 Times New Roman Greek;}
{\f176\froman\fcharset162\fprq2 Times New Roman Tur;}{\f177\froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f178\froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f179\froman\fcharset186\fprq2 Times New Roman Baltic;}
{\f180\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f192\fmodern\fcharset238\fprq1 Courier New CE;}{\f193\fmodern\fcharset204\fprq1 Courier New Cyr;}{\f195\fmodern\fcharset161\fprq1 Courier New Greek;}
{\f196\fmodern\fcharset162\fprq1 Courier New Tur;}{\f197\fmodern\fcharset177\fprq1 Courier New (Hebrew);}{\f198\fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f199\fmodern\fcharset186\fprq1 Courier New Baltic;}
{\f200\fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f562\fswiss\fcharset238\fprq2 Verdana CE;}{\f563\fswiss\fcharset204\fprq2 Verdana Cyr;}{\f565\fswiss\fcharset161\fprq2 Verdana Greek;}{\f566\fswiss\fcharset162\fprq2 Verdana Tur;}
{\f569\fswiss\fcharset186\fprq2 Verdana Baltic;}{\f570\fswiss\fcharset163\fprq2 Verdana (Vietnamese);}}{\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;}{
\s4\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\outlinelevel3\adjustright\rin0\lin0\itap0 \b\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext4 \styrsid12021404 heading 4;}{\*\cs10 \additive 
\ssemihidden Default Paragraph Font;}{\*\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv 
\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1024\langfe1024\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}{
\s15\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext15 \styrsid12021404 Normal (Web);}{\*\cs16 \additive \b 
\sbasedon10 \styrsid12021404 Strong;}{\*\cs17 \additive \sbasedon10 \styrsid12021404 bbu;}{\*\cs18 \additive \i \sbasedon10 \styrsid12021404 Emphasis;}}{\*\latentstyles\lsdstimax156\lsdlockeddef0}{\*\listtable{\list\listtemplateid1437484756\listhybrid
{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc23
\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1
\levelspace360\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0
{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698693
\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers
;}\f3\fbias0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5760
\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480\jclisttab\tx6480\lin6480 }
{\listname ;}\listid1088771850}}{\*\listoverridetable{\listoverride\listid1088771850\listoverridecount0\ls1}}{\*\pgptbl {\pgp\ipgp3\itap0\li720\ri720\sb100\sa100}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp2\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0
\sb0\sa0}{\pgp\ipgp4\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp1\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp5\itap0\li720\ri720\sb100\sa100}{\pgp\ipgp7\itap0\li0\ri0\sb0\sa0}}{\*\rsidtbl \rsid4935842\rsid11037954\rsid12021404}{\*\generator Microsoft Word 11.0.5604;}{\info
{\title misc_model entity}{\author nipbox}{\operator nipbox}{\creatim\yr2007\mo8\dy22\hr10\min23}{\revtim\yr2007\mo8\dy22\hr10\min33}{\version1}{\edmins10}{\nofpages4}{\nofwords919}{\nofchars5242}{\nofcharsws6149}{\vern24689}}
\widowctrl\ftnbj\aenddoc\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1800\dgvorigin1440\dghshow1\dgvshow1
\jexpand\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct
\asianbrkrule\rsidroot12021404\newtblstyruls\nogrowautofit \fet0\sectd \linex0\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\*\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\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12021404 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\b\f39\fs32\ul\insrsid12021404\charrsid12021404 misc_model entity}{
\b\f39\fs32\ul\insrsid12021404 
\par }\pard \s15\ql \li0\ri0\sb100\sa240\sbauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12021404 {\f39\fs20\insrsid12021404\charrsid12021404 You can make them solid by set}{\f39\fs20\insrsid12021404 ting spawnflags}{
\f39\fs20\insrsid12021404\charrsid12021404 
\par {\listtext\pard\plain\s15 \f3\insrsid12021404\charrsid12021404 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \s15\ql \fi-360\li720\ri0\sb100\sa100\sbauto1\saauto1\widctlpar
\jclisttab\tx720\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid12021404 {\f39\insrsid12021404\charrsid12021404 Spawnflag 2}{\f39\insrsid12021404 
\par }\pard \s15\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12021404 {\f39\fs20\insrsid12021404\charrsid12021404 
Sets the autoclipping spawnflag, automatically assigning q3map_clipmodel to any shaders used by the model. \line Use 
of Q3Map2 autoclipping for models is only recommended for large models with relatively few triangles in their mesh (i.e. terrain). The Q3Map2 autoclipping algorithm is a bit of a hack, and can hurt in-game performance (as well as produce erroneous clippin
g results) when}{\f39\fs20\insrsid12021404  used on small, dense models. 
\par {\listtext\pard\plain\s15 \f3\insrsid12021404\charrsid12021404 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \s15\ql \fi-360\li720\ri0\sb100\sa100\sbauto1\saauto1\widctlpar
\jclisttab\tx720\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid12021404 {\f39\insrsid12021404\charrsid12021404 Spawnflag 4}{\f39\insrsid12021404 
\par }\pard \s15\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12021404 {\f39\fs20\insrsid12021404\charrsid12021404 
Sets the forcemeta spawnflag, automatically adding q3map_forcemeta to any shaders used by the model (which, in turn, allows the model to become lightmapped). \line This, effectively, is the "light}{\f39\fs20\insrsid12021404 mapped model" spawnflag. 

\par {\listtext\pard\plain\s15 \f3\insrsid12021404\charrsid12021404 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \s15\ql \fi-360\li720\ri0\sb100\sa100\sbauto1\saauto1\widctlpar
\jclisttab\tx720\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid12021404 {\f39\insrsid12021404\charrsid12021404 Spawnflag 6}{\f39\insrsid12021404 
\par }\pard \s15\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12021404 {\f39\fs20\insrsid12021404\charrsid12021404 
Spawnflag math allows autoclipping and autolightmapping to be combined into one spawnflag.}{\f39\insrsid12021404\charrsid12021404 
\par }{\f39\fs20\insrsid12021404\charrsid12021404 The q3map2 wiki didn't say it, but spawnflag 1 toggles the model casting shadows on the map ("on" uses to suck on small models)\line \line }{\cs16\b\f39\fs20\insrsid12021404\charrsid12021404 
IMPORTANT: Models, even if solid, do not block visibility. Never use models to make your walls unless they have a good caulk wall behind.}{\f39\fs20\insrsid12021404\charrsid12021404 
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\f39\insrsid12021404 \page }{\b\f39\fs32\ul\insrsid12021404\charrsid12021404 Bot navigation}{
\f39\fs20\insrsid12021404\charrsid12021404 \line \line - }{\cs16\b\f39\fs20\insrsid12021404\charrsid12021404 Start }{\f39\fs20\insrsid12021404\charrsid12021404 : Load your map }{\cs17\f39\fs20\insrsid12021404\charrsid12021404 with devmap}{
\f39\fs20\insrsid12021404\charrsid12021404 . Join and type in the console: "}{\cs16\b\f39\fs20\insrsid12021404\charrsid12021404 makenodes}{\f39\fs20\insrsid12021404\charrsid12021404 
" to create a new file from scratch (will delete the current nav file at saving, if any) or "}{\cs16\b\f39\fs20\insrsid12021404\charrsid12021404 editnodes}{\f39\fs20\insrsid12021404\charrsid12021404 " to modify the currently loaded nodes.\line \line - }{
\cs16\b\f39\fs20\insrsid12021404\charrsid12021404 Walk around your map dropping nodes}{\f39\fs20\insrsid12021404\charrsid12021404 
: As you walk, the game will be dropping navigation nodes. These nodes are used by the bots to move. Each time a node is dropped the code tries to determine what type of movement is required to move from the previous node to the new one, and it's }{
\cs16\b\f39\fs20\insrsid12021404\charrsid12021404 guess}{\f39\fs20\insrsid12021404\charrsid12021404  is printed in the chat screen.\line 
This only applies to 'normal' movements, other movements like func_plats, teleporters and jumpads aren't guessed, but directly created by the code, so when going through them it will }{\cs16\b\f39\fs20\insrsid12021404\charrsid12021404 always}{
\f39\fs20\insrsid12021404\charrsid12021404  be print as LINK_INVALID. \line Also, LINK_JUMP will never be print, they are found before saving by checking all the nodes together.\line \line The only LINK_INVALID you have to worry about is when }{
\cs16\b\f39\fs20\insrsid12021404\charrsid12021404 turning around a corner}{\f39\fs20\insrsid12021404\charrsid12021404 , if one node doesn't }{\cs16\b\f39\fs20\insrsid12021404\charrsid12021404 see}{\f39\fs20\insrsid12021404\charrsid12021404 
 the other, and there isn't a third node so the bot can use it as union, the bot will probably never choose that path. In this situation you can }{\cs16\b\f39\fs20\insrsid12021404\charrsid12021404 force a new node}{
\f39\fs20\insrsid12021404\charrsid12021404  to be dropped by typing in the console "}{\cs16\b\f39\fs20\insrsid12021404\charrsid12021404 addnode}{\f39\fs20\insrsid12021404\charrsid12021404 ". The node will be dropped right at your current position.\line 
\line For midair maps, which doesn't use any item, we need to add goals so the bots find some place to go. We use }{\cs16\b\f39\fs20\insrsid12021404\charrsid12021404 misc_botroam}{\f39\fs20\insrsid12021404\charrsid12021404 
 entities for this purpose. They can also be dropped from the console by typing "}{\cs16\b\f39\fs20\insrsid12021404\charrsid12021404 addbotroam}{\f39\fs20\insrsid12021404\charrsid12021404 ". NOTE: Our botroams }{
\cs16\b\f39\fs20\insrsid12021404\charrsid12021404 don't}{\f39\fs20\insrsid12021404\charrsid12021404  act the same as Q3 bot roams. Items, even the less interesting one, will always have priority over a bot roam for us, so }{
\cs17\f39\fs20\insrsid12021404\charrsid12021404 bot roams will be ignored as long as the bot finds any reachable item to go for}{\f39\fs20\insrsid12021404\charrsid12021404 .\line \line - }{\cs16\b\f39\fs20\insrsid12021404\charrsid12021404 
Save the nav file}{\f39\fs20\insrsid12021404\charrsid12021404 : Once you are done walking around and you don't see any more "Dropped node" prints, but only links prints, you can save the navigation file by typing in the console: "}{
\cs16\b\f39\fs20\insrsid12021404\charrsid12021404 savenodes}{\f39\fs20\insrsid12021404\charrsid12021404 ". The code will find any possible link between all the nodes, }{\f39\fs20\insrsid12021404\charrsid12021404 categorize}{
\f39\fs20\insrsid12021404\charrsid12021404  it, and save it into a file.\line \line - }{\cs16\b\f39\fs20\insrsid12021404\charrsid12021404 Review}{\f39\fs20\insrsid12021404\charrsid12021404  : With the saved navigation file, you can, if you want to }{
\cs18\i\f39\fs20\insrsid12021404\charrsid12021404 review the links}{\f39\fs20\insrsid12021404\charrsid12021404 , type in the console "}{\cs16\b\f39\fs20\insrsid12021404\charrsid12021404 showplinks}{\f39\fs20\insrsid12021404\charrsid12021404 " (NOTE: }{
\cs16\b\f39\fs20\insrsid12021404\charrsid12021404 see EDIT2}{\f39\fs20\insrsid12021404\charrsid12021404 ). This will show lines from the closer node to you, to each node linked from it. If you go walking around y
ou will see the possibilities to move from each place. Type "showplinks" again to disable it.\line }{\f39\fs20\insrsid12021404 \line - You can callvote addbots now}{\f39\fs20\insrsid12021404\charrsid12021404  }{\field\fldedit{\*\fldinst {
\f39\fs20\insrsid12021404\charrsid12021404  INCLUDEPICTURE "http://warsow.net/forum/img/smilies/big_smile.png" \\* MERGEFORMATINET }}{\fldrslt {\f39\fs20\insrsid12021404\charrsid12021404 {\*\shppict
{\pict{\*\picprop\shplid1025{\sp{\sn shapeType}{\sv 75}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}{\sp{\sn pibFlags}{\sv 2}}{\sp{\sn fLine}{\sv 0}}{\sp{\sn wzDescription}{\sv big_smile}}{\sp{\sn fLayoutInCell}{\sv 1}}}
\picscalex5\picscaley5\piccropl0\piccropr0\piccropt0\piccropb0\picw7620\pich7620\picwgoal4320\pichgoal4320\pngblip\bliptag1667629442{\*\blipuid 6366018219a42fcebf648ab891789143}
89504e470d0a1a0a0000000d494844520000000f0000000f08030000000c0865780000000467414d410000afc837058ae90000001974455874536f6674776172
650041646f626520496d616765526561647971c9653c000000c0504c5445fcfb2afdf82afdf32afef546feed2afef146fef162feeb3bfeef62ffe000ffe30eff
e319ffe52ae5cd27e7d0393a3617ffed67ffef7bffdd00ffe13effed7bffd700ffdb2affe356ffea7b433d21ffcc00ffda46ffe063ffd556ffd862ffe07be0a8
00ffc52affb900e09e00ffc946e49b00e19a00c68700e3a00ee4a419302610ffd167f9a400f19f00e89c00261900d59e2edda331f5b945fecc623a2f18f8b12a
ffffffddddddb1b1b17b7b7b3b3b3b3838381111110b0b0b000000ffffff7dfba4e40000004074524e53ffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00c27bb1440000009a4944415478da54cfc71682301005
d080a0d8c5deb1203634f6402293ffff2b33891e0f6f953b59cc1b223180d12f821a7506d359f800e3acd1f2fdee30385e3334d4bd22e71ee7f3fb05949b25b7
20842bc424bc1d2481aa635bc4b29d5a7ff9dc0381cafb9f9d7219d8cb8441a4dc8634d14c52ed5efe5fd2df4091e2fec5580f186cb6b85fc27aa5fb234d7f1ac7a77344bffd73f77d04180063822b776f2c99340000000049454e44ae426082}}{\nonshppict
{\pict\picscalex100\picscaley100\piccropl0\piccropr0\piccropt0\piccropb0\picw397\pich397\picwgoal225\pichgoal225\wmetafile8\bliptag1667629442{\*\blipuid 6366018219a42fcebf648ab891789143}
0100090000031103000000009902000000000400000003010800050000000b0200000000050000000c0210001000030000001e00040000000701040008000000
26060f000600544e5050060143000000410b8600ee000f000f00000000000f000f0000000000280000000f0000000f0000000100010000000000000000000000
000000000000000000000000000000000000ffffff0007c000001ff0494c3ff8af087ffc00007ffc0000fffe0000fffe0000fffe0000fffe0000fffe00007ffc
ffff7ffc00003ff8ffff1ff0af0807c0000099020000410bc60088000f000f00000000000f000f0000000000280000000f0000000f0000000100080000000000
000000000000000000000000000000000000000000000000ffffff00203c42003de0fe0055e2fe0062dffe0055d4fe0045c8fe00172e39000a0a0a0038cfe600
66ecfe007aeefe007aecfe007ae9fe007adffe0066d0fe0030a2dc0026cce40061eefd0061f0fd003a3a3a0061d7fe0061cbfd002d9dd400163539003aeafd00
45f0fd0045f4fd003737370045d9fe0044b8f4000f252f0018e2fe0029ecfd0029f2fc0029f7fc0029fafb0029e4fe0029dafe0029c4fe0029b0f70018a3e300
0de2fe00101010000d9fe20000dffe00dcdcdc00fefefe000099e00000dcfe007a7a7a00b0b0b00000d6fe000018250000a7df0000cbfe00009ae3000086c500
009ddf0000b8fe0000a3f800009ef000009be7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000101010101000000000001010101013601010100363d3d3e3f313600010101460101003b3c0000000000393a
0001015601003738002f3030302f00393a000166013635002f30303030302f00313601760035002f303030303030302f00310086003200333430303030303433
00310096002e002f303030303030302f003100a6002b2c2c2c2c2c2c2c2c2c2c2c2d00b6002122232425242322262728292a00c601191a1b1c1d1d1b1d1d1e07
1f2001d6010012131415151315151617180001e60101090a0b0c0c0d0e0f1011090101f601010100020304050607080001010100010101010100000000000101010101000800000026060f000600544e50500701040000002701ffff030000000000}}}}}{\f39\fs20\insrsid12021404\charrsid12021404 \line 
\line P.S: Don't try to force the bots to f
ollow a path by giving them few options. That was ok with some Q2 bots which used a similar system for dropping the nodes, but their pathing algorithms weren't even similar to Warsow's one. Just make sure all the map has nodes and let the bots do their ow
n }{\f39\fs20\insrsid12021404\charrsid12021404 decisions}{\f39\fs20\insrsid12021404\charrsid12021404 .\line \line Since version 0.3 the command }{\cs16\b\f39\fs20\insrsid12021404\charrsid12021404 showplinks}{\f39\fs20\insrsid12021404\charrsid12021404 
 has been removed. The following commands were added:\line - }{\cs16\b\f39\fs20\insrsid12021404\charrsid12021404 showclosestnode}{\f39\fs20\insrsid12021404\charrsid12021404  : shows closest node and if links are compiled (n
av is saved) also the plinks for the closest node. The command can be enabled during dropping nodes mode.\line - }{\cs16\b\f39\fs20\insrsid12021404\charrsid12021404 deleteclosestnode}{\f39\fs20\insrsid12021404\charrsid12021404  : deletes closest node
\line - }{\cs16\b\f39\fs20\insrsid12021404\charrsid12021404 botnotarget}{\f39\fs20\insrsid12021404\charrsid12021404  : bots don't attack you}{\f39\fs20\insrsid4935842 
\par }{\f39\fs20\insrsid12021404 
\par }{\f39\fs20\insrsid12021404\charrsid12021404 These are more commands for bot debugging:\line - }{\cs16\b\f39\fs20\insrsid12021404\charrsid12021404 botdebug }{\f39\fs20\insrsid12021404\charrsid12021404 
: enables/disables debugging mode. It's a toggle command.\line - }{\cs16\b\f39\fs20\insrsid12021404\charrsid12021404 bot_showlrgoal}{\f39\fs20\insrsid12021404\charrsid12021404 
 : it's a cvar. When set to 1, and sv botdebug enabled, if you are chasecamming a bot, it will print you his "Long Range" goal }{\f39\fs20\insrsid12021404\charrsid12021404 decisions}{\f39\fs20\insrsid12021404\charrsid12021404 
 (meaning, what item is going to search next).\line - }{\cs16\b\f39\fs20\insrsid12021404\charrsid12021404 bot_showpath}{\f39\fs20\insrsid12021404\charrsid12021404 
 : a cvar. When set to 1, and sv botdebug enabled, if you are chasecamming a bot it will draw}{\f39\fs20\insrsid12021404  the path the bot is following.}{\f39\fs20\insrsid12021404\charrsid12021404 \line - }{\b\f39\fs20\insrsid12021404\charrsid12021404 
bot_showsrgoal}{\f39\fs20\insrsid12021404\charrsid12021404  and }{\b\f39\fs20\insrsid12021404\charrsid12021404 bot_showcombat}{\f39\fs20\insrsid12021404\charrsid12021404  are another two cvars, 
they served a purpose in a past, but they are quite useless now.}{\f39\fs20\insrsid12021404 
\par }{\f39\fs20\insrsid12021404\charrsid12021404 \line }{\f39\fs20\insrsid12021404 
\par }\pard\plain \s15\ql \li0\ri0\sb100\sa240\sbauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12021404 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\f39\fs20\insrsid12021404 \page }{
\b\f39\fs32\ul\insrsid12021404\charrsid12021404 QFusion BSP (FBSP)
\par }{\f39\fs20\insrsid12021404\charrsid12021404 Since Warsow is based in QFusion r7 engine, we can take advantage of FBSP. It is a modified q3bsp format, with higher quality lightmaps and support of lightstyles. It's pretty similar to JKAcademy format. 
\line \line For compiling your maps in FBSP you must use the last version of q3map2 (included with any gtkradiant build supporting warsow), and set the -game qfusion mode (should be already when building from gtkradiant in Warsow mode).\line \line 
Besides the high quality lightmaps, the other big advantage of FBSP is it's true support of lightstyles. Lightstyles are light entities as any other, but with graduation effects (flicking, stroboscopic, y'know, like those in Q1 and Q2).\line \line 
Setting up a light with a lightstyle is as simple as creating a new field inside any light entity called: style, and feed with a number between 1 and 11 (0 is standard lighting). This are the actual effect names for them:
\par }\pard \s15\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12021404 {\f2\fs20\insrsid12021404\charrsid12021404 // 0 normal\line // 1 FLICKER (first variety)\line // 2 SLOW STRONG PULSE\line 
// 3 CANDLE (first variety)\line // 4 FAST STROBE\line // 5 GENTLE PULSE 1\line // 6 FLICKER (second variety)\line // 7 CANDLE (second variety)\line // 8 CANDLE (third variety)\line // 9 SLOW STROBE (fourth variety)\line // 10 FLUORESCENT FLICKER\line 
// 11 SLOW PULSE NOT FADE TO BLACK
\par }{\f39\fs20\insrsid12021404\charrsid12021404 P.S: It's better to stop adding manually the cell outline to the maps. The engine will generate it sooner or later and will conflict with the ones inside the bsps.
\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\f39\fs20\insrsid12021404\charrsid12021404 
\par }}