ABToSVK commit
authorTTimo <ttimo@ttimo.net>
Sun, 24 Aug 2008 03:20:51 +0000 (03:20 +0000)
committerTTimo <ttimo@ttimo.net>
Sun, 24 Aug 2008 03:20:51 +0000 (03:20 +0000)
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/branches/ZeroRadiant.ab@308 8a3a26a2-13c4-0310-b231-cf6edde360e5

38 files changed:
Doxygen_files/doxygen_gtkradiant.css
Doxygen_files/example/doxygen_gtkradiant.css
contrib/bobtoolz/bt/bt-el1.txt
contrib/bobtoolz/bt/ctf-blue.txt
contrib/bobtoolz/bt/ctf-red.txt
contrib/bobtoolz/bt/door-tex-trim.txt
contrib/bobtoolz/bt/door-tex.txt
contrib/bobtoolz/bt/tp_ent.txt
contrib/bobtoolz/txt/readme.txt
contrib/prtview/PrtView.txt
docs/developer/RegExp/replace.pl
docs/developer/RegExp/tstscrpt.pl
docs/developer/q3mapfeedback.txt
docs/manual/Q3Rad_Manual/styles/q3rad.css
docs/manual/quake3/Model_Manual/styles/q3rad.css
docs/manual/quake3/Q3AShader_Manual/styles/q3rad.css
libs/multimon.h
libs/synapse/doc/design.txt
libs/synapse/doc/runtime.txt
plugins/model/model.def
plugins/model/surface.h
plugins/textool/changelog.txt
radiant/mainframe.cpp
radiant/mainframe.h
radiant/select.cpp
radiant/select.h
tools/quake2/qdata_heretic2/anorms.h
tools/quake3/q3map2/bsp.c
tools/quake3/q3map2/bspfile_abstract.c
tools/quake3/q3map2/bspfile_ibsp.c
tools/quake3/q3map2/game_quake3.h
tools/quake3/q3map2/light.c
tools/quake3/q3map2/light_shadows.c
tools/quake3/q3map2/mesh.c
tools/quake3/q3map2/q3map2.h
tools/quake3/q3map2/q3map2.vcproj
tools/quake3/q3map2/shaders.c
tools/quake3/q3map2/writebsp.c

index b875556c10c28920800e34a8f9e9501c8d64aa49..ad85caff229e52b85817fa61a010b3318e5001f9 100644 (file)
@@ -1,34 +1,34 @@
-body              { background-color: black; }\r
-IMG               { border-color: #222222; border: 0; }\r
-em                { font-size: 11px; font-style: italic; font-weight: normal; color: #888888; }\r
-H1                {    text-align: center; font-size: 15px; color: #2222AA; font-family: Geneva, Verdana, Helvetica, Arial, sans-serif; }\r
-H3                {    text-align: center; font-size: 18px; color: #2222AA; font-family: Geneva, Verdana, Helvetica, Arial, sans-serif; }\r
-A                 {    text-decoration: none; color: #6666DD; }\r
-A:HOVER           { text-decoration: underline; color: #4444FF; }\r
-A:VISITED         { text-decoration: none; color: #8888AA; }\r
-A.qindex          { text-decoration: none; color: #6666DD; font-size: 11px; }\r
-A.qindex:HOVER    { text-decoration: underline; color: #4444FF; font-size: 11px; }\r
-A.qindex:VISITED  { text-decoration: none; color: #8888AA; font-size: 11px; }\r
-A.qindexRef       { font-size: 11px; }\r
-A.el              {    text-decoration: none; font-weight: bold; }\r
-A.elRef           {    font-weight: bold; }\r
-A.code            {    text-decoration: none; font-weight: normal; color: #6666DD; }\r
-A.code:HOVER      { text-decoration: underline; font-weight: normal; color: #4444FF; }\r
-A.code:VISITED    { text-decoration: none; font-weight: normal; color: #8888AA; }\r
-A.codeRef         { text-decoration: none; font-weight: normal; color: #6666DD; }\r
-A.codeRef:HOVER   { text-decoration: underline; font-weight: normal; color: #4444FF; }\r
-A.codeRef:VISITED { text-decoration: none; font-weight: normal; color: #8888AA; }\r
-DL.el             {    margin-left: 2cm; width: 99%; }\r
-DIV.fragment      { background-color: #FFFFFF; width: 99%; }\r
-DIV.ah            {    background-color: #AAAAAA; width: 99%; margin-bottom: 3; margin-top: 3; }\r
-TD.md             {    cellpadding: 0; background-color: #DDDDDD; border: 0; width: 99%; color: #222222; }\r
-DIV.groupHeader   { margin-left: 16; margin-top: 12; margin-bottom: 6; font-weight: bold; color: #222222; }\r
-DIV.groupText     { margin-left: 16; font-style: italic; font-size: smaller; }\r
-FONT.keyword      { color: #0080A0; }\r
-FONT.keywordtype  { color: #604020; }\r
-FONT.keywordflow  {    color: #E08000; }\r
-FONT.comment      { color: #800000; }\r
-FONT.comment      { color: #009900; text-decoration: italic; }\r
-FONT.preprocessor { color: #806020; }\r
-FONT.stringliteral{ color: #002080; }\r
-FONT.charliteral  { color: #008080; }\r
+body              { background-color: black; }
+IMG               { border-color: #222222; border: 0; }
+em                { font-size: 11px; font-style: italic; font-weight: normal; color: #888888; }
+H1                {    text-align: center; font-size: 15px; color: #2222AA; font-family: Geneva, Verdana, Helvetica, Arial, sans-serif; }
+H3                {    text-align: center; font-size: 18px; color: #2222AA; font-family: Geneva, Verdana, Helvetica, Arial, sans-serif; }
+A                 {    text-decoration: none; color: #6666DD; }
+A:HOVER           { text-decoration: underline; color: #4444FF; }
+A:VISITED         { text-decoration: none; color: #8888AA; }
+A.qindex          { text-decoration: none; color: #6666DD; font-size: 11px; }
+A.qindex:HOVER    { text-decoration: underline; color: #4444FF; font-size: 11px; }
+A.qindex:VISITED  { text-decoration: none; color: #8888AA; font-size: 11px; }
+A.qindexRef       { font-size: 11px; }
+A.el              {    text-decoration: none; font-weight: bold; }
+A.elRef           {    font-weight: bold; }
+A.code            {    text-decoration: none; font-weight: normal; color: #6666DD; }
+A.code:HOVER      { text-decoration: underline; font-weight: normal; color: #4444FF; }
+A.code:VISITED    { text-decoration: none; font-weight: normal; color: #8888AA; }
+A.codeRef         { text-decoration: none; font-weight: normal; color: #6666DD; }
+A.codeRef:HOVER   { text-decoration: underline; font-weight: normal; color: #4444FF; }
+A.codeRef:VISITED { text-decoration: none; font-weight: normal; color: #8888AA; }
+DL.el             {    margin-left: 2cm; width: 99%; }
+DIV.fragment      { background-color: #FFFFFF; width: 99%; }
+DIV.ah            {    background-color: #AAAAAA; width: 99%; margin-bottom: 3; margin-top: 3; }
+TD.md             {    cellpadding: 0; background-color: #DDDDDD; border: 0; width: 99%; color: #222222; }
+DIV.groupHeader   { margin-left: 16; margin-top: 12; margin-bottom: 6; font-weight: bold; color: #222222; }
+DIV.groupText     { margin-left: 16; font-style: italic; font-size: smaller; }
+FONT.keyword      { color: #0080A0; }
+FONT.keywordtype  { color: #604020; }
+FONT.keywordflow  {    color: #E08000; }
+FONT.comment      { color: #800000; }
+FONT.comment      { color: #009900; text-decoration: italic; }
+FONT.preprocessor { color: #806020; }
+FONT.stringliteral{ color: #002080; }
+FONT.charliteral  { color: #008080; }
index c0ddae2dfd789bfa5eeea76bd7b7b09995562822..30bf2075b3137b94c36eb2989ea013bac957f455 100644 (file)
@@ -1,35 +1,35 @@
-body              { background-color: black; }\r
-IMG               { border-color: #222222; border: 1; }\r
-em                { font-size: 11px; font-style: italic; font-weight: normal; color: #888888; }\r
-H1                {    text-align: center; font-size: 15px; color: #2222AA; font-family: Geneva, Verdana, Helvetica, Arial, sans-serif; }\r
-H3                {    text-align: center; font-size: 18px; color: #2222AA; font-family: Geneva, Verdana, Helvetica, Arial, sans-serif; }\r
-A                 {    text-decoration: none; color: #6666DD; }\r
-A:HOVER           { text-decoration: underline; color: #4444FF; }\r
-A:VISITED         { text-decoration: none; color: #8888AA; }\r
-A.qindex          { text-decoration: none; color: #6666DD; font-size: 11px; }\r
-A.qindex:HOVER    { text-decoration: underline; color: #4444FF; font-size: 11px; }\r
-A.qindex:VISITED  { text-decoration: none; color: #8888AA; font-size: 11px; }\r
-A.qindexRef       { font-size: 11px; }\r
-A.el              {    text-decoration: none; font-weight: bold; }\r
-A.elRef           {    font-weight: bold; }\r
-A.code            {    text-decoration: none; font-weight: normal; color: #6666DD; }\r
-A.code:HOVER      { text-decoration: underline; font-weight: normal; color: #4444FF; }\r
-A.code:VISITED    { text-decoration: none; font-weight: normal; color: #8888AA; }\r
-A.codeRef         { text-decoration: none; font-weight: normal; color: #6666DD; }\r
-A.codeRef:HOVER   { text-decoration: underline; font-weight: normal; color: #4444FF; }\r
-A.codeRef:VISITED { text-decoration: none; font-weight: normal; color: #8888AA; }\r
-DL.el             {    margin-left: 2cm; width: 99%; }\r
-DIV.fragment      { background-color: #FFFFFF; width: 99%; }\r
-DIV.ah            {    background-color: #AAAAAA; width: 99%; margin-bottom: 3; margin-top: 3; }\r
-TD.md             {    cellpadding: 2; background-color: #DDDDDD; border: 1; width: 99%; color: #222222; }\r
-DIV.groupHeader   { margin-left: 16; margin-top: 12; margin-bottom: 6; font-weight: bold; color: #222222; }\r
-DIV.groupText     { margin-left: 16; font-style: italic; font-size: smaller; }\r
-FONT.keyword      { color: #0080A0; }\r
-FONT.keywordtype  { color: #604020; }\r
-FONT.keywordflow  {    color: #E08000; }\r
-FONT.comment      { color: #800000; }\r
-FONT.comment      { color: #009900; text-decoration: italic; }\r
-FONT.preprocessor { color: #806020; }\r
-FONT.stringliteral{ color: #002080; }\r
-FONT.charliteral  { color: #008080; }\r
-\r
+body              { background-color: black; }
+IMG               { border-color: #222222; border: 1; }
+em                { font-size: 11px; font-style: italic; font-weight: normal; color: #888888; }
+H1                {    text-align: center; font-size: 15px; color: #2222AA; font-family: Geneva, Verdana, Helvetica, Arial, sans-serif; }
+H3                {    text-align: center; font-size: 18px; color: #2222AA; font-family: Geneva, Verdana, Helvetica, Arial, sans-serif; }
+A                 {    text-decoration: none; color: #6666DD; }
+A:HOVER           { text-decoration: underline; color: #4444FF; }
+A:VISITED         { text-decoration: none; color: #8888AA; }
+A.qindex          { text-decoration: none; color: #6666DD; font-size: 11px; }
+A.qindex:HOVER    { text-decoration: underline; color: #4444FF; font-size: 11px; }
+A.qindex:VISITED  { text-decoration: none; color: #8888AA; font-size: 11px; }
+A.qindexRef       { font-size: 11px; }
+A.el              {    text-decoration: none; font-weight: bold; }
+A.elRef           {    font-weight: bold; }
+A.code            {    text-decoration: none; font-weight: normal; color: #6666DD; }
+A.code:HOVER      { text-decoration: underline; font-weight: normal; color: #4444FF; }
+A.code:VISITED    { text-decoration: none; font-weight: normal; color: #8888AA; }
+A.codeRef         { text-decoration: none; font-weight: normal; color: #6666DD; }
+A.codeRef:HOVER   { text-decoration: underline; font-weight: normal; color: #4444FF; }
+A.codeRef:VISITED { text-decoration: none; font-weight: normal; color: #8888AA; }
+DL.el             {    margin-left: 2cm; width: 99%; }
+DIV.fragment      { background-color: #FFFFFF; width: 99%; }
+DIV.ah            {    background-color: #AAAAAA; width: 99%; margin-bottom: 3; margin-top: 3; }
+TD.md             {    cellpadding: 2; background-color: #DDDDDD; border: 1; width: 99%; color: #222222; }
+DIV.groupHeader   { margin-left: 16; margin-top: 12; margin-bottom: 6; font-weight: bold; color: #222222; }
+DIV.groupText     { margin-left: 16; font-style: italic; font-size: smaller; }
+FONT.keyword      { color: #0080A0; }
+FONT.keywordtype  { color: #604020; }
+FONT.keywordflow  {    color: #E08000; }
+FONT.comment      { color: #800000; }
+FONT.comment      { color: #009900; text-decoration: italic; }
+FONT.preprocessor { color: #806020; }
+FONT.stringliteral{ color: #002080; }
+FONT.charliteral  { color: #008080; }
+
index f6485f9457dda9257de5deb1d1cb1dd95647951e..d49e3561f6b82016836e5b7d3a49fe93d7bfb59d 100644 (file)
@@ -14,4 +14,4 @@ common/origin
 common/trigger
 common/weapclip
 liquid
-fog
\ No newline at end of file
+fog
index 5a5f6ca33a83c3326cedb6acaee5e79e96e03567..a3af594810169f4ba6a65cb10c0d7e0b172792c1 100644 (file)
@@ -58,4 +58,4 @@ team_icon/the fallen_blue
 team_icon/intruders_blue
 team_icon/crusaders_blue
 team_icon/pagans_blue
-team_icon/stroggs_blue
\ No newline at end of file
+team_icon/stroggs_blue
index 8dec85e786fb66d876b7bf536be38a744d398f34..4b37582ec2c00fd0aae625feb68ce46363b44824 100644 (file)
@@ -58,4 +58,4 @@ team_icon/the fallen_red
 team_icon/intruders_red
 team_icon/crusaders_red
 team_icon/pagans_red
-team_icon/stroggs_red
\ No newline at end of file
+team_icon/stroggs_red
index d52ef76f86ddb1b9f21f82b71e4d26f9c3795517..f0ab0772ec32c853e361fb0c6ee7652f13956977 100644 (file)
@@ -2,4 +2,4 @@ base_support/support1rust
 base_support/support1shiny
 base_support/support2rust
 base_support/wplat1_1
-base_support/plate2_5
\ No newline at end of file
+base_support/plate2_5
index 69629989aabc185736619825a330a047b078d176..efcb96a221f3dbb974a270c33611deda66dc52b4 100644 (file)
@@ -7,4 +7,4 @@ gothic_door/door02_i_ornate5_fin
 gothic_door/door02_j
 gothic_door/door02_j3
 gothic_door/door02_j4
-gothic_door/door02_k2b
\ No newline at end of file
+gothic_door/door02_k2b
index f0645b340de3dd2d74eb4d0555592c073b3e4226..0909657964dea90ec240d106fde8468d7b850609 100644 (file)
@@ -11,4 +11,4 @@
        "pitch" "-5" "5"
        "yaw" "0" "360"
        "scale" "1" "1.3"
-}
\ No newline at end of file
+}
index 5c0feddb20b1a91ab40d03b2701c0184e0c6fffc..271a01839ba03d8cb3f5514116b3707d31db25fc 100644 (file)
@@ -74,4 +74,4 @@ Thanx:
        Thx to RKone, for improving my q3w sig.
        Azr for giving me ops in #qeradiant, k3wl :]
        Everyone at the Quake3World Forums, I think of you all as my little worshippers :P
-       id Software, of course.
\ No newline at end of file
+       id Software, of course.
index 50228e02f5e225c4de56d3c541a63cb7c73ee7b8..b88e610cf9d15afe22b8f94e99d54f837461518f 100644 (file)
@@ -9,4 +9,4 @@ and the hint shader may have to be modified to set it.  As of
 this writing, I do not know all the details.
 
 Geoffrey DeWan
-gdewan@prairienet.org
\ No newline at end of file
+gdewan@prairienet.org
index 83d8a88c24a14c3b06e304bbbf1aa58b9856ef3f..b0e6181a79b53a4d09a733180b36e22a26ae2703 100644 (file)
@@ -14,4 +14,4 @@ s/Sys_Printf\(/Sys_FPrintf \(SYS_VRB,/;
 print OFILE;
 }
 close(OFILE);
-close(FILE);
\ No newline at end of file
+close(FILE);
index a7194b17dfffc80c8a8ab5ee048cda614dbcf495..9b063764ba9dc2b7a9a71d12f19f3cfb8be83bbc 100644 (file)
@@ -14,4 +14,4 @@ s/Sys_Printf\(/Sys_FPrintf \(SYS_VRB,/;
 print OFILE;
 }
 close(OFILE);
-close(FILE);
\ No newline at end of file
+close(FILE);
index 94e0038ec2bde0c33d70848ce154e150fbb35857..0f3aa7fb91e0877ae36a11ab7af81c014f5539dc 100644 (file)
@@ -30,4 +30,4 @@ uses xml_Select as other warnings, switched xml_Select to error or warn
 -> both in Desktop_p_leaf.map, contributed by y_lavanant@vistech.ie
 
 Mesh lightmap miscount
-(no test map)
\ No newline at end of file
+(no test map)
index b4daab91d63dd3f4ff2eb3fa8de6ce19ca745f06..c53fbcccee99cc03aaa6da2f2688a0e38f2aa354 100644 (file)
@@ -1,23 +1,23 @@
-body { font: 12pt "Times New Roman";\r
-       margin-left: 5mm;\r
-       margin-right: 5mm;\r
-       text-align: justify;\r
-       background: #ffffff;\r
-       color: #000000 }\r
-h1 { font: bold 24pt Arial, Helvetica }\r
-h2 { font: bold italic 18pt Arial, Helvetica }\r
-.subheading { font: bold 16pt Arial, Helvetica }\r
-:link {color: blue;\r
-       text-decoration: none; }\r
-:visited {color: purple;\r
-       text-decoration: none; }\r
-h6 { font: 10pt "Times New Roman" }\r
-.MsoToc2 { font: bold small-caps 12pt "Times New Roman" }\r
-.MsoTitle { text-align:center;\r
-       font: bold 24pt "BankGothic Md BT";\r
-       letter-spacing:2.5pt }\r
-.heading { font: italic 10pt "Times New Roman" }\r
-.subcontents { font: 10pt "Times New Roman" }\r
-.tip { font: 10pt "Comic Sans MS" }\r
-.type { font: 10pt "Courier New" }\r
-.menu { font: 10pt Arial, Helvetica }
\ No newline at end of file
+body { font: 12pt "Times New Roman";
+       margin-left: 5mm;
+       margin-right: 5mm;
+       text-align: justify;
+       background: #ffffff;
+       color: #000000 }
+h1 { font: bold 24pt Arial, Helvetica }
+h2 { font: bold italic 18pt Arial, Helvetica }
+.subheading { font: bold 16pt Arial, Helvetica }
+:link {color: blue;
+       text-decoration: none; }
+:visited {color: purple;
+       text-decoration: none; }
+h6 { font: 10pt "Times New Roman" }
+.MsoToc2 { font: bold small-caps 12pt "Times New Roman" }
+.MsoTitle { text-align:center;
+       font: bold 24pt "BankGothic Md BT";
+       letter-spacing:2.5pt }
+.heading { font: italic 10pt "Times New Roman" }
+.subcontents { font: 10pt "Times New Roman" }
+.tip { font: 10pt "Comic Sans MS" }
+.type { font: 10pt "Courier New" }
+.menu { font: 10pt Arial, Helvetica }
index b4daab91d63dd3f4ff2eb3fa8de6ce19ca745f06..c53fbcccee99cc03aaa6da2f2688a0e38f2aa354 100644 (file)
@@ -1,23 +1,23 @@
-body { font: 12pt "Times New Roman";\r
-       margin-left: 5mm;\r
-       margin-right: 5mm;\r
-       text-align: justify;\r
-       background: #ffffff;\r
-       color: #000000 }\r
-h1 { font: bold 24pt Arial, Helvetica }\r
-h2 { font: bold italic 18pt Arial, Helvetica }\r
-.subheading { font: bold 16pt Arial, Helvetica }\r
-:link {color: blue;\r
-       text-decoration: none; }\r
-:visited {color: purple;\r
-       text-decoration: none; }\r
-h6 { font: 10pt "Times New Roman" }\r
-.MsoToc2 { font: bold small-caps 12pt "Times New Roman" }\r
-.MsoTitle { text-align:center;\r
-       font: bold 24pt "BankGothic Md BT";\r
-       letter-spacing:2.5pt }\r
-.heading { font: italic 10pt "Times New Roman" }\r
-.subcontents { font: 10pt "Times New Roman" }\r
-.tip { font: 10pt "Comic Sans MS" }\r
-.type { font: 10pt "Courier New" }\r
-.menu { font: 10pt Arial, Helvetica }
\ No newline at end of file
+body { font: 12pt "Times New Roman";
+       margin-left: 5mm;
+       margin-right: 5mm;
+       text-align: justify;
+       background: #ffffff;
+       color: #000000 }
+h1 { font: bold 24pt Arial, Helvetica }
+h2 { font: bold italic 18pt Arial, Helvetica }
+.subheading { font: bold 16pt Arial, Helvetica }
+:link {color: blue;
+       text-decoration: none; }
+:visited {color: purple;
+       text-decoration: none; }
+h6 { font: 10pt "Times New Roman" }
+.MsoToc2 { font: bold small-caps 12pt "Times New Roman" }
+.MsoTitle { text-align:center;
+       font: bold 24pt "BankGothic Md BT";
+       letter-spacing:2.5pt }
+.heading { font: italic 10pt "Times New Roman" }
+.subcontents { font: 10pt "Times New Roman" }
+.tip { font: 10pt "Comic Sans MS" }
+.type { font: 10pt "Courier New" }
+.menu { font: 10pt Arial, Helvetica }
index b4daab91d63dd3f4ff2eb3fa8de6ce19ca745f06..c53fbcccee99cc03aaa6da2f2688a0e38f2aa354 100644 (file)
@@ -1,23 +1,23 @@
-body { font: 12pt "Times New Roman";\r
-       margin-left: 5mm;\r
-       margin-right: 5mm;\r
-       text-align: justify;\r
-       background: #ffffff;\r
-       color: #000000 }\r
-h1 { font: bold 24pt Arial, Helvetica }\r
-h2 { font: bold italic 18pt Arial, Helvetica }\r
-.subheading { font: bold 16pt Arial, Helvetica }\r
-:link {color: blue;\r
-       text-decoration: none; }\r
-:visited {color: purple;\r
-       text-decoration: none; }\r
-h6 { font: 10pt "Times New Roman" }\r
-.MsoToc2 { font: bold small-caps 12pt "Times New Roman" }\r
-.MsoTitle { text-align:center;\r
-       font: bold 24pt "BankGothic Md BT";\r
-       letter-spacing:2.5pt }\r
-.heading { font: italic 10pt "Times New Roman" }\r
-.subcontents { font: 10pt "Times New Roman" }\r
-.tip { font: 10pt "Comic Sans MS" }\r
-.type { font: 10pt "Courier New" }\r
-.menu { font: 10pt Arial, Helvetica }
\ No newline at end of file
+body { font: 12pt "Times New Roman";
+       margin-left: 5mm;
+       margin-right: 5mm;
+       text-align: justify;
+       background: #ffffff;
+       color: #000000 }
+h1 { font: bold 24pt Arial, Helvetica }
+h2 { font: bold italic 18pt Arial, Helvetica }
+.subheading { font: bold 16pt Arial, Helvetica }
+:link {color: blue;
+       text-decoration: none; }
+:visited {color: purple;
+       text-decoration: none; }
+h6 { font: 10pt "Times New Roman" }
+.MsoToc2 { font: bold small-caps 12pt "Times New Roman" }
+.MsoTitle { text-align:center;
+       font: bold 24pt "BankGothic Md BT";
+       letter-spacing:2.5pt }
+.heading { font: italic 10pt "Times New Roman" }
+.subcontents { font: 10pt "Times New Roman" }
+.tip { font: 10pt "Comic Sans MS" }
+.type { font: 10pt "Courier New" }
+.menu { font: 10pt Arial, Helvetica }
index 638e353aaa673ea18783deef685cf7a15b7deeeb..85e7654c99f16566a07f3e9a0458c32fb350cb70 100644 (file)
@@ -378,4 +378,4 @@ typedef struct {
 
 #endif // WIN32
 
-#endif // __MULTIMON_H
\ No newline at end of file
+#endif // __MULTIMON_H
index e3da4dc316e0e1fce25e7836792c7dad82464e82..ba96ebc95e1c4c8718fb10b56d0f295f52a6074f 100644 (file)
@@ -187,4 +187,4 @@ Configuration
 -------------
 
 the config info needs to go down to the clients too
-for instance, mapxml loaded for q3map or radiant, doesn't rely on the same major?
\ No newline at end of file
+for instance, mapxml loaded for q3map or radiant, doesn't rely on the same major?
index fd376d5cb1ec9615587f9de6bf7723c8cce3cbdb..d9657e952fd34fe72cfad269aa4ea2279275b038 100644 (file)
@@ -56,4 +56,4 @@ without this config file though, as it is looked up by the main program and hand
 over to synapse before init? Possibly .. we'll just pass a NULL config node ptr
 
 Add the config file path to CSynpaseServer::Initialize, pass the loaded XML file to
-the clients. Do we need to wrap in an object with some convenience functions?
\ No newline at end of file
+the clients. Do we need to wrap in an object with some convenience functions?
index 18e255e31051a50ae6dea77ec542ba24a37e859c..01cee0f0e06604da3aaffd7236ddfe13db5ab48c 100644 (file)
@@ -5,4 +5,4 @@ DESCRIPTION  'MODEL Windows Dynamic Link Library'
 
 EXPORTS
     ; Explicit exports can go here
-       Synapse_EnumerateInterfaces @1
\ No newline at end of file
+       Synapse_EnumerateInterfaces @1
index 43d9b2767ad777bc7c8d3c2ee69d48a9d08af0df..38a28ac23ab77f12d4756ab714022ba83ecb2ae7 100644 (file)
@@ -35,4 +35,4 @@ protected:
        int refCount;
        aabb_t m_BBox;
        IShader *m_pShader;
-};
\ No newline at end of file
+};
index 9d660cbcac8144174c56190b76f52fdfae5bc79e..bd67a17ad93f2b900ba32944ce7c73a3423228b0 100644 (file)
@@ -5,4 +5,4 @@ here is the TODO-list for next release, ( most certainly a wish list )
 - TODO: add hooks with the selected face and selected patch data. tell the plugin when selected face
 or selected patch has changed.
 the hooks should use a generic interface inside Radiant for "observers"
-- TODO: add other usefull texturing tools, if designers come up with good ideas
\ No newline at end of file
+- TODO: add other usefull texturing tools, if designers come up with good ideas
index c1010f9fa1a50af9f4e3c6fab24c24c0cf17bfb4..cd9f24810db27def886e140004131c6337bae736 100644 (file)
@@ -124,6 +124,7 @@ SCommandInfo g_Commands[] =
   {"CSGMerge", 'U', 0x04, ID_SELECTION_CSGMERGE, "menu_selection_csgmerge"},
   {"CSGSubtract", 'U', 0x01, ID_SELECTION_CSGSUBTRACT, "menu_selection_csgsubstract"},
   //  {"ViewGroups", 'G', 0x00, ID_VIEW_GROUPS, "menu_view_groups"}, (temporary disabled)
+  {"SelectFuncGroup", 'G', 0x00, ID_SELECT_FUNC_GROUP, "menu_select_func_group"},
   {"HideSelected", 'H', 0x00, ID_VIEW_HIDESHOW_HIDESELECTED, "menu_view_hideshow_hideselected"},
   {"ShowHidden", 'H', 0x01, ID_VIEW_HIDESHOW_SHOWHIDDEN, "menu_view_hideshow_showhidden"},
   {"BendMode", 'B', 0x00, ID_PATCH_BEND, "menu_patch_bend"},
@@ -426,6 +427,7 @@ gint HandleCommand (GtkWidget *widget, gpointer data)
     case ID_TOGGLECONSOLE: g_pParentWnd->OnToggleconsole (); break;
     case ID_VIEW_ENTITY: g_pParentWnd->OnViewEntity (); break;
     case ID_VIEW_GROUPS: g_pParentWnd->OnViewGroups (); break;
+       case ID_SELECT_FUNC_GROUP: g_pParentWnd->OnSelectFuncGroup(); break;
     case ID_TOGGLEVIEW: g_pParentWnd->OnToggleview (); break;
     case ID_TOGGLEVIEW_YZ: g_pParentWnd->OnToggleviewYz (); break;
     case ID_TOGGLEVIEW_XZ: g_pParentWnd->OnToggleviewXz (); break;
@@ -1202,6 +1204,7 @@ void MainFrame::create_main_menu (GtkWidget *window, GtkWidget *vbox)
                     GTK_SIGNAL_FUNC (HandleCommand), ID_SELECTION_SELECTPARTIALTALL);
   create_menu_item_with_mnemonic (menu_in_menu, "Select _Inside",
                     GTK_SIGNAL_FUNC (HandleCommand), ID_SELECTION_SELECTINSIDE);
+  create_menu_item_with_mnemonic (menu_in_menu, "Select Func _Group", GTK_SIGNAL_FUNC (HandleCommand), ID_SELECT_FUNC_GROUP);
 #ifndef QUAKE3
   create_menu_item_with_mnemonic (menu_in_menu, "Nudge Left",
                     GTK_SIGNAL_FUNC (HandleCommand), ID_SELECTION_SELECT_NUDGELEFT);
@@ -7059,6 +7062,23 @@ void MainFrame::OnPatchTab()
   }
 }
 
+void MainFrame::OnSelectFuncGroup() 
+{
+       // check to see if the selected brush is part of a func group
+       // if it is, deselect everything and reselect the next brush 
+       // in the group
+       brush_t *b2, *b = selected_brushes.next;
+       entity_t * e;
+       if (b != &selected_brushes)
+       {
+               if (strcmpi(b->owner->eclass->name, "worldspawn") != 0)
+               {
+                       e = b->owner;
+                       Select_SelectGroup(e);
+               }
+       }
+}
+
 void MainFrame::OnCameraForward(bool keydown) 
 {
   if (g_PrefsDlg.m_bCamDiscrete && (m_pCamWnd && !m_pCamWnd->m_bFreeMove) )
index 23a4264255ec3fc6bf1b14f82e4e643d6ca735c0..6f3d52f3dcb2af9bd05ed0f3cf3b6932fdf89a7c 100644 (file)
@@ -407,6 +407,8 @@ struct SKeyInfo
 #define ID_COLORS_MINOR_ALT             40230
 #define ID_COLORS_MAJOR_ALT             40231
 
+#define ID_SELECT_FUNC_GROUP                   40233
+
 // those must have their own ID chunk ID_GRID_025 <= ID_GRID <= ID_GRID_256
 #define ID_GRID_025                     40300
 #define ID_GRID_05                      40301
@@ -891,6 +893,7 @@ public:
   void OnFilterPaths();
   void OnFilterClusterportals();
   void OnFilterLightgrid();
+  void OnSelectFuncGroup();
 
 private:
   EViewStyle m_nCurrentStyle;
index f563d2de7dafa8f80d9d712e424b8d68825c5fa2..470cb77de806e78b930db8bb53e3da688e406346 100644 (file)
@@ -1372,6 +1372,30 @@ void Select_Inside (void)
        Sys_UpdateWindows (W_ALL);
 }
 
+void Select_SelectGroup(entity_t* group)
+{
+       brush_t*  b;
+       //brush_t*  next;
+
+       Undo_Start ("select func group");
+       Undo_AddBrushList (&selected_brushes);
+       Undo_End();
+
+       Select_Deselect();
+
+       b = &group->brushes;
+
+       do
+       {
+               b = b->onext;
+               Brush_RemoveFromList(b);
+               Brush_AddToList(b, &selected_brushes);
+       } while( b->onext != &group->brushes );
+
+       Sys_UpdateWindows (W_ALL);
+}
+
+
 void Select_Ungroup(void)
 {
        int numselectedgroups;
index 42718162f74d87d7923538b23e5d1591d80eb13c..5cf2181c5b73fc7c1aaab416b4a85ed24e1f6d4d 100644 (file)
@@ -65,6 +65,8 @@ void Select_AllOfType();
 void Select_Reselect();
 void Select_FitTexture(int nHeight = 1, int nWidth = 1);
 
+void Select_SelectGroup(entity_t* group);
+
 // absolute texture coordinates
 // TTimo NOTE: this is stuff for old brushes format and rotation texture lock .. sort of in-between with bush primitives
 void ComputeAbsolute(face_t* f, vec3_t& p1, vec3_t& p2, vec3_t& p3);
index f240902b085cdc5ca5c4e72f1a2e8872d95259b8..30fb22825a1c2faf8e68b7b501319c9a20d0de0a 100644 (file)
@@ -180,4 +180,4 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
   {-0.425325f, 0.688191f, -0.587785f},
   {-0.425325f, -0.688191f, -0.587785f},
   {-0.587785f, -0.425325f, -0.688191f},
-  {-0.688191f, -0.587785f, -0.425325f},
\ No newline at end of file
+  {-0.688191f, -0.587785f, -0.425325f},
index ed3d243079cacf2b6df87f94e90281b378fa3997..55b741abe7974f63244b26461bf4b5ca327389bc 100644 (file)
@@ -44,6 +44,76 @@ functions
 ------------------------------------------------------------------------------- */
 
 
+/*
+ProcessAdvertisements()
+copies advertisement info into the BSP structures
+*/
+
+static void ProcessAdvertisements( void ) {
+       int                                     i;
+       const char*                     className;
+       const char*                     modelKey;
+       int                                     modelNum;
+       bspModel_t*                     adModel;
+       bspDrawSurface_t*       adSurface;
+
+       Sys_FPrintf( SYS_VRB, "--- ProcessAdvertisements ---\n" );
+
+       for( i = 0; i < numEntities; i++ ) {
+
+               /* is an advertisement? */
+               className = ValueForKey( &entities[ i ], "classname" );
+
+               if( !Q_stricmp( "advertisement", className ) ) {
+                       
+                       modelKey = ValueForKey( &entities[ i ], "model" );
+
+                       if( strlen( modelKey ) > MAX_QPATH - 1 ) {
+                               Error( "Model Key for entity exceeds ad struct string length." );
+                       } else {
+                               if( numBSPAds < MAX_MAP_ADVERTISEMENTS ) {
+                                       bspAds[numBSPAds].cellId = IntForKey( &entities[ i ], "cellId" );
+                                       strncpy( bspAds[numBSPAds].model, modelKey, sizeof( bspAds[numBSPAds].model ) );
+
+                                       modelKey++;
+                                       modelNum = atoi( modelKey );
+                                       adModel = &bspModels[modelNum];
+                                       
+                                       if( adModel->numBSPSurfaces != 1 ) {
+                                               Error( "Ad cell id %d has more than one surface.", bspAds[numBSPAds].cellId );
+                                       }
+
+                                       adSurface = &bspDrawSurfaces[adModel->firstBSPSurface];
+                                       
+                                       // store the normal for use at run time.. all ad verts are assumed to 
+                                       // have identical normals (because they should be a simple rectangle)
+                                       // so just use the first vert's normal
+                                       VectorCopy( bspDrawVerts[adSurface->firstVert].normal, bspAds[numBSPAds].normal );
+
+                                       // store the ad quad for quick use at run time
+                                       if( adSurface->surfaceType == MST_PATCH ) {
+                                               int v0 = adSurface->firstVert + adSurface->patchHeight - 1;
+                                               int v1 = adSurface->firstVert + adSurface->numVerts - 1;
+                                               int v2 = adSurface->firstVert + adSurface->numVerts - adSurface->patchWidth;
+                                               int v3 = adSurface->firstVert;
+                                               VectorCopy( bspDrawVerts[v0].xyz, bspAds[numBSPAds].rect[0] );
+                                               VectorCopy( bspDrawVerts[v1].xyz, bspAds[numBSPAds].rect[1] );
+                                               VectorCopy( bspDrawVerts[v2].xyz, bspAds[numBSPAds].rect[2] );
+                                               VectorCopy( bspDrawVerts[v3].xyz, bspAds[numBSPAds].rect[3] );
+                                       } else {
+                                               Error( "Ad cell %d has an unsupported Ad Surface type.", bspAds[numBSPAds].cellId );
+                                       }
+
+                                       numBSPAds++;
+                               } else {
+                                       Error( "Maximum number of map advertisements exceeded." );
+                               }
+                       }
+               }
+       }
+
+       Sys_FPrintf( SYS_VRB, "%9d in-game advertisements\n", numBSPAds );
+}
 
 /*
 SetCloneModelNumbers() - ydnar
@@ -840,6 +910,9 @@ int BSPMain( int argc, char **argv )
        /* set light styles from targetted light entities */
        SetLightStyles();
        
+       /* process in game advertisements */
+       ProcessAdvertisements();
+
        /* finish and write bsp */
        EndBSPFile();
        
index ae2fec3091c7bb89916f85d12d03d3d485c6e371..88b251c5319ee9362c7047618cede03d22eb82f9 100644 (file)
@@ -239,6 +239,24 @@ void SwapBSPFile( void )
                bspFogs[ i ].brushNum = LittleLong( bspFogs[ i ].brushNum );
                bspFogs[ i ].visibleSide = LittleLong( bspFogs[ i ].visibleSide );
        }
+
+       /* advertisements */
+       for( i = 0; i < numBSPAds; i++ )
+       {
+               bspAds[ i ].cellId = LittleLong( bspAds[ i ].cellId );
+               bspAds[ i ].normal[ 0 ] = LittleFloat( bspAds[ i ].normal[ 0 ] );
+               bspAds[ i ].normal[ 1 ] = LittleFloat( bspAds[ i ].normal[ 1 ] );
+               bspAds[ i ].normal[ 2 ] = LittleFloat( bspAds[ i ].normal[ 2 ] );
+
+               for( j = 0; j < 4; j++ ) 
+               {
+                       bspAds[ i ].rect[j][ 0 ] = LittleFloat( bspAds[ i ].rect[j][ 0 ] );
+                       bspAds[ i ].rect[j][ 1 ] = LittleFloat( bspAds[ i ].rect[j][ 1 ] );
+                       bspAds[ i ].rect[j][ 2 ] = LittleFloat( bspAds[ i ].rect[j][ 2 ] );
+               }
+
+               //bspAds[ i ].model[ MAX_QPATH ];
+       }
 }
 
 
index 71b982da5604f25553c945aec66e276fd6fe5e08..56714608b7b280b942edfeab10d05e6c4d0f5844 100644 (file)
@@ -63,7 +63,8 @@ into the abstracted bsp file used by q3map2.
 #define        LUMP_LIGHTMAPS          14
 #define        LUMP_LIGHTGRID          15
 #define        LUMP_VISIBILITY         16
-#define        HEADER_LUMPS            17
+#define LUMP_ADVERTISEMENTS 17
+#define        HEADER_LUMPS            18
 
 
 /* types */
@@ -452,8 +453,6 @@ static void AddLightGridLumps( FILE *file, ibspHeader_t *header )
        free( buffer );
 }
 
-
-
 /*
 LoadIBSPFile()
 loads a quake 3 bsp file into memory
@@ -512,7 +511,10 @@ void LoadIBSPFile( const char *filename )
        bspEntDataSize = CopyLump( (bspHeader_t*) header, LUMP_ENTITIES, bspEntData, 1);
        
        CopyLightGridLumps( header );
-       
+
+       /* advertisements */
+       numBSPAds = CopyLump( (bspHeader_t*) header, LUMP_ADVERTISEMENTS, bspAds, sizeof( bspAdvertisement_t ) );
+
        /* free the file buffer */
        free( header );
 }
@@ -570,7 +572,10 @@ void WriteIBSPFile( const char *filename )
        AddLump( file, (bspHeader_t*) header, LUMP_ENTITIES, bspEntData, bspEntDataSize );
        AddLump( file, (bspHeader_t*) header, LUMP_FOGS, bspFogs, numBSPFogs * sizeof( bspFog_t ) );
        AddLump( file, (bspHeader_t*) header, LUMP_DRAWINDEXES, bspDrawIndexes, numBSPDrawIndexes * sizeof( bspDrawIndexes[ 0 ] ) );
-       
+
+       /* advertisements */
+       AddLump( file, (bspHeader_t*) header, LUMP_ADVERTISEMENTS, bspAds, numBSPAds * sizeof( bspAdvertisement_t ) );
+
        /* emit bsp size */
        size = ftell( file );
        Sys_Printf( "Wrote %.1f MB (%d bytes)\n", (float) size / (1024 * 1024), size );
index 9b55787d83df536d5cc039d07430a36cada08eaf..d42219d0efbe39a2f91c0d12822ff55d7d856df5 100644 (file)
@@ -107,7 +107,7 @@ game_t struct
        qfalse,                         /* flares */
        "flareshader",          /* default flare shader */
        "IBSP",                         /* bsp file prefix */
-       46,                                     /* bsp file version */
+       47,                                     /* bsp file version */
        LoadIBSPFile,           /* bsp load function */
        WriteIBSPFile,          /* bsp write function */
 
@@ -171,7 +171,6 @@ game_t struct
                { "nodlight",           0,                                                      0,                                                      Q_SURF_NODLIGHT,                        0,                                                      0,                                                      0 },
                { "dust",                       0,                                                      0,                                                      Q_SURF_DUST,                            0,                                                      0,                                                      0 },
                
-               
                /* null */
                { NULL, 0, 0, 0, 0, 0, 0 }
        }
index 670c9a0ed21ce2935b9ce45293dcf365c5e614a6..32e155c2292879c70b98aff7baf2791c50e634d5 100644 (file)
@@ -322,6 +322,10 @@ void CreateEntityLights( void )
                if( light->style < LS_NORMAL || light->style >= LS_NONE )
                        Error( "Invalid lightstyle (%d) on entity %d", light->style, i );
                
+               if( light->style != LS_NORMAL ) {
+                       Sys_FPrintf (SYS_WRN, "WARNING: Styled light found targeting %s\n **", target );
+               }
+
                /* set light intensity */
                intensity = FloatForKey( e, "_light" );
                if( intensity == 0.0f )
index df7cdd82f252a4c1593a6981f9ac42f40d2db3bc..d482bbca98c13fcf0c8a528bf50693a295fef83a 100644 (file)
@@ -121,4 +121,4 @@ void SetupShadows( void )
                        }
                }
        }
-}
\ No newline at end of file
+}
index 9e205da78e529b2ace74d238961bcced67b784bd..6348d57789a5c36d058c6bf4b0a761e6755fbc61 100644 (file)
@@ -381,7 +381,8 @@ mesh_t *SubdivideMesh( mesh_t in, float maxError, float minLength )
        float                                           len;
        mesh_t                                          out;
        
-       static bspDrawVert_t expand[MAX_EXPANDED_AXIS][MAX_EXPANDED_AXIS];
+       /* ydnar: static for os x */
+       MAC_STATIC bspDrawVert_t        expand[MAX_EXPANDED_AXIS][MAX_EXPANDED_AXIS];
        
        
        out.width = in.width;
@@ -547,7 +548,8 @@ mesh_t *SubdivideMesh2( mesh_t in, int iterations )
        bspDrawVert_t                           prev, next, mid;
        mesh_t                                          out;
        
-       static bspDrawVert_t expand[ MAX_EXPANDED_AXIS ][ MAX_EXPANDED_AXIS ];
+       /* ydnar: static for os x */
+       MAC_STATIC bspDrawVert_t        expand[ MAX_EXPANDED_AXIS ][ MAX_EXPANDED_AXIS ];
        
        
        /* initial setup */
@@ -652,7 +654,8 @@ mesh_t *RemoveLinearMeshColumnsRows( mesh_t *in ) {
        vec3_t                                          proj, dir;
        mesh_t                                          out;
        
-       static bspDrawVert_t expand[MAX_EXPANDED_AXIS][MAX_EXPANDED_AXIS];
+       /* ydnar: static for os x */
+       MAC_STATIC bspDrawVert_t        expand[MAX_EXPANDED_AXIS][MAX_EXPANDED_AXIS];
        
 
        out.width = in->width;
@@ -728,8 +731,7 @@ mesh_t *SubdivideMeshQuads( mesh_t *in, float minLength, int maxsize, int *width
        vec3_t                  dir;
        float                   length, maxLength, amount;
        mesh_t                  out;
-
-       static bspDrawVert_t expand[MAX_EXPANDED_AXIS][MAX_EXPANDED_AXIS];
+       bspDrawVert_t   expand[MAX_EXPANDED_AXIS][MAX_EXPANDED_AXIS];
 
        out.width = in->width;
        out.height = in->height;
index b3402c7124462b909b15c719ea98a0b5382ccbc9..5e90c762bc93afd7791a1867a3bb8b23f2bdb768 100644 (file)
@@ -168,7 +168,6 @@ constants
 #define C_ANTIPORTAL                   0x00004000      /* like hint, but doesn't generate portals */
 #define C_SKIP                                 0x00008000      /* like hint, but skips this face (doesn't split bsp) */
 #define C_NOMARKS                              0x00010000      /* no decals */
-
 #define C_DETAIL                               0x08000000      /* THIS MUST BE THE SAME AS IN RADIANT! */
 
 
@@ -321,6 +320,7 @@ abstracted bsp file
 #define        MAX_MAP_DRAW_VERTS              0x80000
 #define        MAX_MAP_DRAW_INDEXES    0x80000
 
+#define MAX_MAP_ADVERTISEMENTS 30
 
 /* key / value pair sizes in the entities lump */
 #define        MAX_KEY                                 32
@@ -500,6 +500,14 @@ typedef struct
 bspDrawSurface_t;
 
 
+/* advertisements */
+typedef struct {
+       int                     cellId;
+       vec3_t          normal;
+       vec3_t          rect[4];
+       char            model[ MAX_QPATH ];
+} bspAdvertisement_t;
+
 
 /* -------------------------------------------------------------------------------
 
@@ -2270,6 +2278,8 @@ Q_EXTERN bspDrawSurface_t *bspDrawSurfaces Q_ASSIGN( NULL );
 Q_EXTERN int                           numBSPFogs Q_ASSIGN( 0 );
 Q_EXTERN bspFog_t                      bspFogs[ MAX_MAP_FOGS ];
 
+Q_EXTERN int                           numBSPAds Q_ASSIGN( 0 );
+Q_EXTERN bspAdvertisement_t    bspAds[ MAX_MAP_ADVERTISEMENTS ];
 
 
 /* end marker */
index d2a775d65e3875e642c0a77b3397c6920c852c0a..d9402c15993b2c02e24728299cfe818e90b9c2ae 100644 (file)
@@ -63,6 +63,8 @@
                                AdditionalDependencies="md5lib.lib ddslib.lib l_net.lib mathlib.lib picomodel.lib jpeg6.lib libxml2.lib libpng.lib glib-2.0.lib gobject-2.0.lib Wsock32.lib"\r
                                AdditionalLibraryDirectories="&quot;$(SolutionDir)\..\libxml2\lib&quot;;&quot;$(SolutionDir)\..\gtk2\lib&quot;;&quot;$(SolutionDir)\build\$(ConfigurationName)\libs&quot;"\r
                                GenerateDebugInformation="true"\r
+                               StackReserveSize="2097152"\r
+                               StackCommitSize="2097152"\r
                                TargetMachine="1"\r
                        />\r
                        <Tool\r
@@ -88,6 +90,7 @@
                        />\r
                        <Tool\r
                                Name="VCPostBuildEventTool"\r
+                               CommandLine="copy &quot;$(TargetPath)&quot; C:\alienbrainWork\QuakeZero\radiant\$(TargetFileName)"\r
                        />\r
                </Configuration>\r
                <Configuration\r
                                AdditionalDependencies="md5lib.lib ddslib.lib l_net.lib mathlib.lib picomodel.lib jpeg6.lib libxml2.lib libpng.lib glib-2.0.lib gobject-2.0.lib Wsock32.lib"\r
                                AdditionalLibraryDirectories="&quot;$(SolutionDir)\..\libxml2\lib&quot;;&quot;$(SolutionDir)\..\gtk2\lib&quot;;&quot;$(SolutionDir)\build\$(ConfigurationName)\libs&quot;"\r
                                GenerateDebugInformation="true"\r
+                               StackReserveSize="2097152"\r
+                               StackCommitSize="2097152"\r
                                OptimizeReferences="2"\r
                                EnableCOMDATFolding="2"\r
                                TargetMachine="1"\r
                        />\r
                        <Tool\r
                                Name="VCPostBuildEventTool"\r
+                               CommandLine="copy &quot;$(TargetPath)&quot; C:\alienbrainWork\QuakeZero\radiant\$(TargetFileName)"\r
                        />\r
                </Configuration>\r
        </Configurations>\r
index a0988938374f91075b58fcfc4c002798178257a4..24e97f0096123d027c35e4d44eccb92ef1cef30f 100644 (file)
@@ -338,12 +338,13 @@ void WriteMapShaderFile( void )
 
                /* print it to the file */
                fprintf( file, "%s%s\n", si->shader, si->shaderText );
-               //%     Sys_Printf( "%s%s\n", si->shader, si->shaderText ); /* FIXME: remove debugging code */
+               //Sys_Printf( "%s%s\n", si->shader, si->shaderText ); /* FIXME: remove debugging code */
                
                Sys_FPrintf( SYS_VRB, "." );
        }
        
        /* close the shader */
+       fflush( file );
        fclose( file );
        
        Sys_FPrintf( SYS_VRB, "\n" );
index 7fb51d83630e85baa920a8836f4f1107abfb2796..caeb1be8192220e02dc5fbb0f6d7b90b96f53a5c 100644 (file)
@@ -400,6 +400,8 @@ void EndBSPFile( void )
        char    path[ 1024 ];
        
 
+       Sys_FPrintf( SYS_VRB, "--- EndBSPFile ---\n" );
+
        EmitPlanes();
        
        numBSPEntities = numEntities;