auto merge mirror branch -> work branch

git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/branches/ZeroRadiant@309 8a3a26a2-13c4-0310-b231-cf6edde360e5
This commit is contained in:
TTimo 2008-08-24 03:21:41 +00:00
commit 5fc27697b3
35 changed files with 806 additions and 660 deletions

View file

@ -1,34 +1,34 @@
body { background-color: black; } body { background-color: black; }
IMG { border-color: #222222; border: 0; } IMG { border-color: #222222; border: 0; }
em { font-size: 11px; font-style: italic; font-weight: normal; color: #888888; } 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; } 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; } H3 { text-align: center; font-size: 18px; color: #2222AA; font-family: Geneva, Verdana, Helvetica, Arial, sans-serif; }
A { text-decoration: none; color: #6666DD; } A { text-decoration: none; color: #6666DD; }
A:HOVER { text-decoration: underline; color: #4444FF; } A:HOVER { text-decoration: underline; color: #4444FF; }
A:VISITED { text-decoration: none; color: #8888AA; } A:VISITED { text-decoration: none; color: #8888AA; }
A.qindex { text-decoration: none; color: #6666DD; font-size: 11px; } A.qindex { text-decoration: none; color: #6666DD; font-size: 11px; }
A.qindex:HOVER { text-decoration: underline; color: #4444FF; 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.qindex:VISITED { text-decoration: none; color: #8888AA; font-size: 11px; }
A.qindexRef { font-size: 11px; } A.qindexRef { font-size: 11px; }
A.el { text-decoration: none; font-weight: bold; } A.el { text-decoration: none; font-weight: bold; }
A.elRef { font-weight: bold; } A.elRef { font-weight: bold; }
A.code { text-decoration: none; font-weight: normal; color: #6666DD; } A.code { text-decoration: none; font-weight: normal; color: #6666DD; }
A.code:HOVER { text-decoration: underline; font-weight: normal; color: #4444FF; } A.code:HOVER { text-decoration: underline; font-weight: normal; color: #4444FF; }
A.code:VISITED { text-decoration: none; font-weight: normal; color: #8888AA; } A.code:VISITED { text-decoration: none; font-weight: normal; color: #8888AA; }
A.codeRef { text-decoration: none; font-weight: normal; color: #6666DD; } A.codeRef { text-decoration: none; font-weight: normal; color: #6666DD; }
A.codeRef:HOVER { text-decoration: underline; font-weight: normal; color: #4444FF; } A.codeRef:HOVER { text-decoration: underline; font-weight: normal; color: #4444FF; }
A.codeRef:VISITED { text-decoration: none; font-weight: normal; color: #8888AA; } A.codeRef:VISITED { text-decoration: none; font-weight: normal; color: #8888AA; }
DL.el { margin-left: 2cm; width: 99%; } DL.el { margin-left: 2cm; width: 99%; }
DIV.fragment { background-color: #FFFFFF; width: 99%; } DIV.fragment { background-color: #FFFFFF; width: 99%; }
DIV.ah { background-color: #AAAAAA; width: 99%; margin-bottom: 3; margin-top: 3; } 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; } 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.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; } DIV.groupText { margin-left: 16; font-style: italic; font-size: smaller; }
FONT.keyword { color: #0080A0; } FONT.keyword { color: #0080A0; }
FONT.keywordtype { color: #604020; } FONT.keywordtype { color: #604020; }
FONT.keywordflow { color: #E08000; } FONT.keywordflow { color: #E08000; }
FONT.comment { color: #800000; } FONT.comment { color: #800000; }
FONT.comment { color: #009900; text-decoration: italic; } FONT.comment { color: #009900; text-decoration: italic; }
FONT.preprocessor { color: #806020; } FONT.preprocessor { color: #806020; }
FONT.stringliteral{ color: #002080; } FONT.stringliteral{ color: #002080; }
FONT.charliteral { color: #008080; } FONT.charliteral { color: #008080; }

View file

@ -1,35 +1,35 @@
body { background-color: black; } body { background-color: black; }
IMG { border-color: #222222; border: 1; } IMG { border-color: #222222; border: 1; }
em { font-size: 11px; font-style: italic; font-weight: normal; color: #888888; } 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; } 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; } H3 { text-align: center; font-size: 18px; color: #2222AA; font-family: Geneva, Verdana, Helvetica, Arial, sans-serif; }
A { text-decoration: none; color: #6666DD; } A { text-decoration: none; color: #6666DD; }
A:HOVER { text-decoration: underline; color: #4444FF; } A:HOVER { text-decoration: underline; color: #4444FF; }
A:VISITED { text-decoration: none; color: #8888AA; } A:VISITED { text-decoration: none; color: #8888AA; }
A.qindex { text-decoration: none; color: #6666DD; font-size: 11px; } A.qindex { text-decoration: none; color: #6666DD; font-size: 11px; }
A.qindex:HOVER { text-decoration: underline; color: #4444FF; 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.qindex:VISITED { text-decoration: none; color: #8888AA; font-size: 11px; }
A.qindexRef { font-size: 11px; } A.qindexRef { font-size: 11px; }
A.el { text-decoration: none; font-weight: bold; } A.el { text-decoration: none; font-weight: bold; }
A.elRef { font-weight: bold; } A.elRef { font-weight: bold; }
A.code { text-decoration: none; font-weight: normal; color: #6666DD; } A.code { text-decoration: none; font-weight: normal; color: #6666DD; }
A.code:HOVER { text-decoration: underline; font-weight: normal; color: #4444FF; } A.code:HOVER { text-decoration: underline; font-weight: normal; color: #4444FF; }
A.code:VISITED { text-decoration: none; font-weight: normal; color: #8888AA; } A.code:VISITED { text-decoration: none; font-weight: normal; color: #8888AA; }
A.codeRef { text-decoration: none; font-weight: normal; color: #6666DD; } A.codeRef { text-decoration: none; font-weight: normal; color: #6666DD; }
A.codeRef:HOVER { text-decoration: underline; font-weight: normal; color: #4444FF; } A.codeRef:HOVER { text-decoration: underline; font-weight: normal; color: #4444FF; }
A.codeRef:VISITED { text-decoration: none; font-weight: normal; color: #8888AA; } A.codeRef:VISITED { text-decoration: none; font-weight: normal; color: #8888AA; }
DL.el { margin-left: 2cm; width: 99%; } DL.el { margin-left: 2cm; width: 99%; }
DIV.fragment { background-color: #FFFFFF; width: 99%; } DIV.fragment { background-color: #FFFFFF; width: 99%; }
DIV.ah { background-color: #AAAAAA; width: 99%; margin-bottom: 3; margin-top: 3; } 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; } 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.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; } DIV.groupText { margin-left: 16; font-style: italic; font-size: smaller; }
FONT.keyword { color: #0080A0; } FONT.keyword { color: #0080A0; }
FONT.keywordtype { color: #604020; } FONT.keywordtype { color: #604020; }
FONT.keywordflow { color: #E08000; } FONT.keywordflow { color: #E08000; }
FONT.comment { color: #800000; } FONT.comment { color: #800000; }
FONT.comment { color: #009900; text-decoration: italic; } FONT.comment { color: #009900; text-decoration: italic; }
FONT.preprocessor { color: #806020; } FONT.preprocessor { color: #806020; }
FONT.stringliteral{ color: #002080; } FONT.stringliteral{ color: #002080; }
FONT.charliteral { color: #008080; } FONT.charliteral { color: #008080; }

View file

@ -14,4 +14,4 @@ common/origin
common/trigger common/trigger
common/weapclip common/weapclip
liquid liquid
fog fog

View file

@ -58,4 +58,4 @@ team_icon/the fallen_blue
team_icon/intruders_blue team_icon/intruders_blue
team_icon/crusaders_blue team_icon/crusaders_blue
team_icon/pagans_blue team_icon/pagans_blue
team_icon/stroggs_blue team_icon/stroggs_blue

View file

@ -58,4 +58,4 @@ team_icon/the fallen_red
team_icon/intruders_red team_icon/intruders_red
team_icon/crusaders_red team_icon/crusaders_red
team_icon/pagans_red team_icon/pagans_red
team_icon/stroggs_red team_icon/stroggs_red

View file

@ -2,4 +2,4 @@ base_support/support1rust
base_support/support1shiny base_support/support1shiny
base_support/support2rust base_support/support2rust
base_support/wplat1_1 base_support/wplat1_1
base_support/plate2_5 base_support/plate2_5

View file

@ -7,4 +7,4 @@ gothic_door/door02_i_ornate5_fin
gothic_door/door02_j gothic_door/door02_j
gothic_door/door02_j3 gothic_door/door02_j3
gothic_door/door02_j4 gothic_door/door02_j4
gothic_door/door02_k2b gothic_door/door02_k2b

View file

@ -11,4 +11,4 @@
"pitch" "-5" "5" "pitch" "-5" "5"
"yaw" "0" "360" "yaw" "0" "360"
"scale" "1" "1.3" "scale" "1" "1.3"
} }

View file

@ -74,4 +74,4 @@ Thanx:
Thx to RKone, for improving my q3w sig. Thx to RKone, for improving my q3w sig.
Azr for giving me ops in #qeradiant, k3wl :] Azr for giving me ops in #qeradiant, k3wl :]
Everyone at the Quake3World Forums, I think of you all as my little worshippers :P Everyone at the Quake3World Forums, I think of you all as my little worshippers :P
id Software, of course. id Software, of course.

View 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. this writing, I do not know all the details.
Geoffrey DeWan Geoffrey DeWan
gdewan@prairienet.org gdewan@prairienet.org

View file

@ -1,23 +1,23 @@
body { font: 12pt "Times New Roman"; body { font: 12pt "Times New Roman";
margin-left: 5mm; margin-left: 5mm;
margin-right: 5mm; margin-right: 5mm;
text-align: justify; text-align: justify;
background: #ffffff; background: #ffffff;
color: #000000 } color: #000000 }
h1 { font: bold 24pt Arial, Helvetica } h1 { font: bold 24pt Arial, Helvetica }
h2 { font: bold italic 18pt Arial, Helvetica } h2 { font: bold italic 18pt Arial, Helvetica }
.subheading { font: bold 16pt Arial, Helvetica } .subheading { font: bold 16pt Arial, Helvetica }
:link {color: blue; :link {color: blue;
text-decoration: none; } text-decoration: none; }
:visited {color: purple; :visited {color: purple;
text-decoration: none; } text-decoration: none; }
h6 { font: 10pt "Times New Roman" } h6 { font: 10pt "Times New Roman" }
.MsoToc2 { font: bold small-caps 12pt "Times New Roman" } .MsoToc2 { font: bold small-caps 12pt "Times New Roman" }
.MsoTitle { text-align:center; .MsoTitle { text-align:center;
font: bold 24pt "BankGothic Md BT"; font: bold 24pt "BankGothic Md BT";
letter-spacing:2.5pt } letter-spacing:2.5pt }
.heading { font: italic 10pt "Times New Roman" } .heading { font: italic 10pt "Times New Roman" }
.subcontents { font: 10pt "Times New Roman" } .subcontents { font: 10pt "Times New Roman" }
.tip { font: 10pt "Comic Sans MS" } .tip { font: 10pt "Comic Sans MS" }
.type { font: 10pt "Courier New" } .type { font: 10pt "Courier New" }
.menu { font: 10pt Arial, Helvetica } .menu { font: 10pt Arial, Helvetica }

View file

@ -1,23 +1,23 @@
body { font: 12pt "Times New Roman"; body { font: 12pt "Times New Roman";
margin-left: 5mm; margin-left: 5mm;
margin-right: 5mm; margin-right: 5mm;
text-align: justify; text-align: justify;
background: #ffffff; background: #ffffff;
color: #000000 } color: #000000 }
h1 { font: bold 24pt Arial, Helvetica } h1 { font: bold 24pt Arial, Helvetica }
h2 { font: bold italic 18pt Arial, Helvetica } h2 { font: bold italic 18pt Arial, Helvetica }
.subheading { font: bold 16pt Arial, Helvetica } .subheading { font: bold 16pt Arial, Helvetica }
:link {color: blue; :link {color: blue;
text-decoration: none; } text-decoration: none; }
:visited {color: purple; :visited {color: purple;
text-decoration: none; } text-decoration: none; }
h6 { font: 10pt "Times New Roman" } h6 { font: 10pt "Times New Roman" }
.MsoToc2 { font: bold small-caps 12pt "Times New Roman" } .MsoToc2 { font: bold small-caps 12pt "Times New Roman" }
.MsoTitle { text-align:center; .MsoTitle { text-align:center;
font: bold 24pt "BankGothic Md BT"; font: bold 24pt "BankGothic Md BT";
letter-spacing:2.5pt } letter-spacing:2.5pt }
.heading { font: italic 10pt "Times New Roman" } .heading { font: italic 10pt "Times New Roman" }
.subcontents { font: 10pt "Times New Roman" } .subcontents { font: 10pt "Times New Roman" }
.tip { font: 10pt "Comic Sans MS" } .tip { font: 10pt "Comic Sans MS" }
.type { font: 10pt "Courier New" } .type { font: 10pt "Courier New" }
.menu { font: 10pt Arial, Helvetica } .menu { font: 10pt Arial, Helvetica }

View file

@ -1,23 +1,23 @@
body { font: 12pt "Times New Roman"; body { font: 12pt "Times New Roman";
margin-left: 5mm; margin-left: 5mm;
margin-right: 5mm; margin-right: 5mm;
text-align: justify; text-align: justify;
background: #ffffff; background: #ffffff;
color: #000000 } color: #000000 }
h1 { font: bold 24pt Arial, Helvetica } h1 { font: bold 24pt Arial, Helvetica }
h2 { font: bold italic 18pt Arial, Helvetica } h2 { font: bold italic 18pt Arial, Helvetica }
.subheading { font: bold 16pt Arial, Helvetica } .subheading { font: bold 16pt Arial, Helvetica }
:link {color: blue; :link {color: blue;
text-decoration: none; } text-decoration: none; }
:visited {color: purple; :visited {color: purple;
text-decoration: none; } text-decoration: none; }
h6 { font: 10pt "Times New Roman" } h6 { font: 10pt "Times New Roman" }
.MsoToc2 { font: bold small-caps 12pt "Times New Roman" } .MsoToc2 { font: bold small-caps 12pt "Times New Roman" }
.MsoTitle { text-align:center; .MsoTitle { text-align:center;
font: bold 24pt "BankGothic Md BT"; font: bold 24pt "BankGothic Md BT";
letter-spacing:2.5pt } letter-spacing:2.5pt }
.heading { font: italic 10pt "Times New Roman" } .heading { font: italic 10pt "Times New Roman" }
.subcontents { font: 10pt "Times New Roman" } .subcontents { font: 10pt "Times New Roman" }
.tip { font: 10pt "Comic Sans MS" } .tip { font: 10pt "Comic Sans MS" }
.type { font: 10pt "Courier New" } .type { font: 10pt "Courier New" }
.menu { font: 10pt Arial, Helvetica } .menu { font: 10pt Arial, Helvetica }

View file

@ -378,4 +378,4 @@ typedef struct {
#endif // WIN32 #endif // WIN32
#endif // __MULTIMON_H #endif // __MULTIMON_H

View file

@ -187,4 +187,4 @@ Configuration
------------- -------------
the config info needs to go down to the clients too 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? for instance, mapxml loaded for q3map or radiant, doesn't rely on the same major?

View 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 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 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? the clients. Do we need to wrap in an object with some convenience functions?

View file

@ -5,4 +5,4 @@ DESCRIPTION 'MODEL Windows Dynamic Link Library'
EXPORTS EXPORTS
; Explicit exports can go here ; Explicit exports can go here
Synapse_EnumerateInterfaces @1 Synapse_EnumerateInterfaces @1

View file

@ -35,4 +35,4 @@ protected:
int refCount; int refCount;
aabb_t m_BBox; aabb_t m_BBox;
IShader *m_pShader; IShader *m_pShader;
}; };

View 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 - TODO: add hooks with the selected face and selected patch data. tell the plugin when selected face
or selected patch has changed. or selected patch has changed.
the hooks should use a generic interface inside Radiant for "observers" the hooks should use a generic interface inside Radiant for "observers"
- TODO: add other usefull texturing tools, if designers come up with good ideas - TODO: add other usefull texturing tools, if designers come up with good ideas

View file

@ -124,6 +124,7 @@ SCommandInfo g_Commands[] =
{"CSGMerge", 'U', 0x04, ID_SELECTION_CSGMERGE, "menu_selection_csgmerge"}, {"CSGMerge", 'U', 0x04, ID_SELECTION_CSGMERGE, "menu_selection_csgmerge"},
{"CSGSubtract", 'U', 0x01, ID_SELECTION_CSGSUBTRACT, "menu_selection_csgsubstract"}, {"CSGSubtract", 'U', 0x01, ID_SELECTION_CSGSUBTRACT, "menu_selection_csgsubstract"},
// {"ViewGroups", 'G', 0x00, ID_VIEW_GROUPS, "menu_view_groups"}, (temporary disabled) // {"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"}, {"HideSelected", 'H', 0x00, ID_VIEW_HIDESHOW_HIDESELECTED, "menu_view_hideshow_hideselected"},
{"ShowHidden", 'H', 0x01, ID_VIEW_HIDESHOW_SHOWHIDDEN, "menu_view_hideshow_showhidden"}, {"ShowHidden", 'H', 0x01, ID_VIEW_HIDESHOW_SHOWHIDDEN, "menu_view_hideshow_showhidden"},
{"BendMode", 'B', 0x00, ID_PATCH_BEND, "menu_patch_bend"}, {"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_TOGGLECONSOLE: g_pParentWnd->OnToggleconsole (); break;
case ID_VIEW_ENTITY: g_pParentWnd->OnViewEntity (); break; case ID_VIEW_ENTITY: g_pParentWnd->OnViewEntity (); break;
case ID_VIEW_GROUPS: g_pParentWnd->OnViewGroups (); 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: g_pParentWnd->OnToggleview (); break;
case ID_TOGGLEVIEW_YZ: g_pParentWnd->OnToggleviewYz (); break; case ID_TOGGLEVIEW_YZ: g_pParentWnd->OnToggleviewYz (); break;
case ID_TOGGLEVIEW_XZ: g_pParentWnd->OnToggleviewXz (); break; case ID_TOGGLEVIEW_XZ: g_pParentWnd->OnToggleviewXz (); break;
@ -1204,6 +1206,7 @@ void MainFrame::create_main_menu (GtkWidget *window, GtkWidget *vbox)
GTK_SIGNAL_FUNC (HandleCommand), ID_SELECTION_SELECTPARTIALTALL); GTK_SIGNAL_FUNC (HandleCommand), ID_SELECTION_SELECTPARTIALTALL);
create_menu_item_with_mnemonic (menu_in_menu, "Select _Inside", create_menu_item_with_mnemonic (menu_in_menu, "Select _Inside",
GTK_SIGNAL_FUNC (HandleCommand), ID_SELECTION_SELECTINSIDE); 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 #ifndef QUAKE3
create_menu_item_with_mnemonic (menu_in_menu, "Nudge Left", create_menu_item_with_mnemonic (menu_in_menu, "Nudge Left",
GTK_SIGNAL_FUNC (HandleCommand), ID_SELECTION_SELECT_NUDGELEFT); GTK_SIGNAL_FUNC (HandleCommand), ID_SELECTION_SELECT_NUDGELEFT);
@ -7061,6 +7064,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) void MainFrame::OnCameraForward(bool keydown)
{ {
if (g_PrefsDlg.m_bCamDiscrete && (m_pCamWnd && !m_pCamWnd->m_bFreeMove) ) if (g_PrefsDlg.m_bCamDiscrete && (m_pCamWnd && !m_pCamWnd->m_bFreeMove) )

View file

@ -407,6 +407,8 @@ struct SKeyInfo
#define ID_COLORS_MINOR_ALT 40230 #define ID_COLORS_MINOR_ALT 40230
#define ID_COLORS_MAJOR_ALT 40231 #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 // those must have their own ID chunk ID_GRID_025 <= ID_GRID <= ID_GRID_256
#define ID_GRID_025 40300 #define ID_GRID_025 40300
#define ID_GRID_05 40301 #define ID_GRID_05 40301
@ -891,6 +893,7 @@ public:
void OnFilterPaths(); void OnFilterPaths();
void OnFilterClusterportals(); void OnFilterClusterportals();
void OnFilterLightgrid(); void OnFilterLightgrid();
void OnSelectFuncGroup();
private: private:
EViewStyle m_nCurrentStyle; EViewStyle m_nCurrentStyle;

View file

@ -1372,6 +1372,30 @@ void Select_Inside (void)
Sys_UpdateWindows (W_ALL); 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) void Select_Ungroup(void)
{ {
int numselectedgroups; int numselectedgroups;

View file

@ -65,6 +65,8 @@ void Select_AllOfType();
void Select_Reselect(); void Select_Reselect();
void Select_FitTexture(int nHeight = 1, int nWidth = 1); void Select_FitTexture(int nHeight = 1, int nWidth = 1);
void Select_SelectGroup(entity_t* group);
// absolute texture coordinates // absolute texture coordinates
// TTimo NOTE: this is stuff for old brushes format and rotation texture lock .. sort of in-between with bush primitives // 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); void ComputeAbsolute(face_t* f, vec3_t& p1, vec3_t& p2, vec3_t& p3);

View 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.425325f, -0.688191f, -0.587785f}, {-0.425325f, -0.688191f, -0.587785f},
{-0.587785f, -0.425325f, -0.688191f}, {-0.587785f, -0.425325f, -0.688191f},
{-0.688191f, -0.587785f, -0.425325f}, {-0.688191f, -0.587785f, -0.425325f},

View 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 SetCloneModelNumbers() - ydnar
@ -840,6 +910,9 @@ int BSPMain( int argc, char **argv )
/* set light styles from targetted light entities */ /* set light styles from targetted light entities */
SetLightStyles(); SetLightStyles();
/* process in game advertisements */
ProcessAdvertisements();
/* finish and write bsp */ /* finish and write bsp */
EndBSPFile(); EndBSPFile();

View file

@ -239,6 +239,24 @@ void SwapBSPFile( void )
bspFogs[ i ].brushNum = LittleLong( bspFogs[ i ].brushNum ); bspFogs[ i ].brushNum = LittleLong( bspFogs[ i ].brushNum );
bspFogs[ i ].visibleSide = LittleLong( bspFogs[ i ].visibleSide ); 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 ];
}
} }

View file

@ -63,7 +63,8 @@ into the abstracted bsp file used by q3map2.
#define LUMP_LIGHTMAPS 14 #define LUMP_LIGHTMAPS 14
#define LUMP_LIGHTGRID 15 #define LUMP_LIGHTGRID 15
#define LUMP_VISIBILITY 16 #define LUMP_VISIBILITY 16
#define HEADER_LUMPS 17 #define LUMP_ADVERTISEMENTS 17
#define HEADER_LUMPS 18
/* types */ /* types */
@ -452,8 +453,6 @@ static void AddLightGridLumps( FILE *file, ibspHeader_t *header )
free( buffer ); free( buffer );
} }
/* /*
LoadIBSPFile() LoadIBSPFile()
loads a quake 3 bsp file into memory 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); bspEntDataSize = CopyLump( (bspHeader_t*) header, LUMP_ENTITIES, bspEntData, 1);
CopyLightGridLumps( header ); CopyLightGridLumps( header );
/* advertisements */
numBSPAds = CopyLump( (bspHeader_t*) header, LUMP_ADVERTISEMENTS, bspAds, sizeof( bspAdvertisement_t ) );
/* free the file buffer */ /* free the file buffer */
free( header ); 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_ENTITIES, bspEntData, bspEntDataSize );
AddLump( file, (bspHeader_t*) header, LUMP_FOGS, bspFogs, numBSPFogs * sizeof( bspFog_t ) ); AddLump( file, (bspHeader_t*) header, LUMP_FOGS, bspFogs, numBSPFogs * sizeof( bspFog_t ) );
AddLump( file, (bspHeader_t*) header, LUMP_DRAWINDEXES, bspDrawIndexes, numBSPDrawIndexes * sizeof( bspDrawIndexes[ 0 ] ) ); 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 */ /* emit bsp size */
size = ftell( file ); size = ftell( file );
Sys_Printf( "Wrote %.1f MB (%d bytes)\n", (float) size / (1024 * 1024), size ); Sys_Printf( "Wrote %.1f MB (%d bytes)\n", (float) size / (1024 * 1024), size );

View file

@ -107,7 +107,7 @@ game_t struct
qfalse, /* flares */ qfalse, /* flares */
"flareshader", /* default flare shader */ "flareshader", /* default flare shader */
"IBSP", /* bsp file prefix */ "IBSP", /* bsp file prefix */
46, /* bsp file version */ 47, /* bsp file version */
LoadIBSPFile, /* bsp load function */ LoadIBSPFile, /* bsp load function */
WriteIBSPFile, /* bsp write function */ WriteIBSPFile, /* bsp write function */
@ -171,7 +171,6 @@ game_t struct
{ "nodlight", 0, 0, Q_SURF_NODLIGHT, 0, 0, 0 }, { "nodlight", 0, 0, Q_SURF_NODLIGHT, 0, 0, 0 },
{ "dust", 0, 0, Q_SURF_DUST, 0, 0, 0 }, { "dust", 0, 0, Q_SURF_DUST, 0, 0, 0 },
/* null */ /* null */
{ NULL, 0, 0, 0, 0, 0, 0 } { NULL, 0, 0, 0, 0, 0, 0 }
} }

View file

@ -322,6 +322,10 @@ void CreateEntityLights( void )
if( light->style < LS_NORMAL || light->style >= LS_NONE ) if( light->style < LS_NORMAL || light->style >= LS_NONE )
Error( "Invalid lightstyle (%d) on entity %d", light->style, i ); 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 */ /* set light intensity */
intensity = FloatForKey( e, "_light" ); intensity = FloatForKey( e, "_light" );
if( intensity == 0.0f ) if( intensity == 0.0f )

View file

@ -121,4 +121,4 @@ void SetupShadows( void )
} }
} }
} }
} }

View file

@ -381,7 +381,8 @@ mesh_t *SubdivideMesh( mesh_t in, float maxError, float minLength )
float len; float len;
mesh_t out; 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; out.width = in.width;
@ -547,7 +548,8 @@ mesh_t *SubdivideMesh2( mesh_t in, int iterations )
bspDrawVert_t prev, next, mid; bspDrawVert_t prev, next, mid;
mesh_t out; 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 */ /* initial setup */
@ -652,7 +654,8 @@ mesh_t *RemoveLinearMeshColumnsRows( mesh_t *in ) {
vec3_t proj, dir; vec3_t proj, dir;
mesh_t out; 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; out.width = in->width;
@ -728,8 +731,7 @@ mesh_t *SubdivideMeshQuads( mesh_t *in, float minLength, int maxsize, int *width
vec3_t dir; vec3_t dir;
float length, maxLength, amount; float length, maxLength, amount;
mesh_t out; mesh_t out;
bspDrawVert_t expand[MAX_EXPANDED_AXIS][MAX_EXPANDED_AXIS];
static bspDrawVert_t expand[MAX_EXPANDED_AXIS][MAX_EXPANDED_AXIS];
out.width = in->width; out.width = in->width;
out.height = in->height; out.height = in->height;

View file

@ -167,7 +167,6 @@ constants
#define C_ANTIPORTAL 0x00004000 /* like hint, but doesn't generate portals */ #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_SKIP 0x00008000 /* like hint, but skips this face (doesn't split bsp) */
#define C_NOMARKS 0x00010000 /* no decals */ #define C_NOMARKS 0x00010000 /* no decals */
#define C_DETAIL 0x08000000 /* THIS MUST BE THE SAME AS IN RADIANT! */ #define C_DETAIL 0x08000000 /* THIS MUST BE THE SAME AS IN RADIANT! */
@ -320,6 +319,7 @@ abstracted bsp file
#define MAX_MAP_DRAW_VERTS 0x80000 #define MAX_MAP_DRAW_VERTS 0x80000
#define MAX_MAP_DRAW_INDEXES 0x80000 #define MAX_MAP_DRAW_INDEXES 0x80000
#define MAX_MAP_ADVERTISEMENTS 30
/* key / value pair sizes in the entities lump */ /* key / value pair sizes in the entities lump */
#define MAX_KEY 32 #define MAX_KEY 32
@ -499,6 +499,14 @@ typedef struct
bspDrawSurface_t; bspDrawSurface_t;
/* advertisements */
typedef struct {
int cellId;
vec3_t normal;
vec3_t rect[4];
char model[ MAX_QPATH ];
} bspAdvertisement_t;
/* ------------------------------------------------------------------------------- /* -------------------------------------------------------------------------------
@ -2269,6 +2277,8 @@ Q_EXTERN bspDrawSurface_t *bspDrawSurfaces Q_ASSIGN( NULL );
Q_EXTERN int numBSPFogs Q_ASSIGN( 0 ); Q_EXTERN int numBSPFogs Q_ASSIGN( 0 );
Q_EXTERN bspFog_t bspFogs[ MAX_MAP_FOGS ]; 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 */ /* end marker */

View file

@ -1,492 +1,475 @@
<?xml version="1.0" encoding="Windows-1252"?> <?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject <VisualStudioProject
ProjectType="Visual C++" ProjectType="Visual C++"
Version="8.00" Version="8.00"
Name="q3map2" Name="q3map2"
ProjectGUID="{F5D0509C-80E0-49B7-B033-885D8253063A}" ProjectGUID="{F5D0509C-80E0-49B7-B033-885D8253063A}"
RootNamespace="q3map2" RootNamespace="q3map2"
> >
<Platforms> <Platforms>
<Platform <Platform
Name="Win32" Name="Win32"
/> />
</Platforms> </Platforms>
<ToolFiles> <ToolFiles>
</ToolFiles> </ToolFiles>
<Configurations> <Configurations>
<Configuration <Configuration
Name="Debug|Win32" Name="Debug|Win32"
OutputDirectory="$(SolutionDir)\install" OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)" IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1" ConfigurationType="1"
UseOfMFC="0" CharacterSet="2"
CharacterSet="2" >
> <Tool
<Tool Name="VCPreBuildEventTool"
Name="VCPreBuildEventTool" />
/> <Tool
<Tool Name="VCCustomBuildTool"
Name="VCCustomBuildTool" />
/> <Tool
<Tool Name="VCXMLDataGeneratorTool"
Name="VCXMLDataGeneratorTool" />
/> <Tool
<Tool Name="VCWebServiceProxyGeneratorTool"
Name="VCWebServiceProxyGeneratorTool" />
/> <Tool
<Tool Name="VCMIDLTool"
Name="VCMIDLTool" />
/> <Tool
<Tool Name="VCCLCompilerTool"
Name="VCCLCompilerTool" Optimization="0"
Optimization="0" AdditionalIncludeDirectories="&quot;$(SolutionDir)\tools\quake3\common&quot;;&quot;$(SolutionDir)\include&quot;;&quot;$(SolutionDir)\libs&quot;;&quot;$(SolutionDir)\..\STLPort\stlport&quot;;&quot;$(SolutionDir)\..\gtk2\include&quot;;&quot;$(SolutionDir)\..\gtk2\include\glib-2.0&quot;;&quot;$(SolutionDir)\..\gtk2\lib\glib-2.0\include&quot;;&quot;$(SolutionDir)\..\libxml2\include&quot;"
AdditionalIncludeDirectories="&quot;$(SolutionDir)\tools\quake3\common&quot;;&quot;$(SolutionDir)\include&quot;;&quot;$(SolutionDir)\libs&quot;;&quot;$(SolutionDir)\..\STLPort\stlport&quot;;&quot;$(SolutionDir)\..\gtk2\include&quot;;&quot;$(SolutionDir)\..\gtk2\include\glib-2.0&quot;;&quot;$(SolutionDir)\..\gtk2\lib\glib-2.0\include&quot;;&quot;$(SolutionDir)\..\libxml2\include&quot;" PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS" MinimalRebuild="true"
MinimalRebuild="true" BasicRuntimeChecks="3"
BasicRuntimeChecks="3" RuntimeLibrary="3"
RuntimeLibrary="3" WarningLevel="3"
WarningLevel="3" Detect64BitPortabilityProblems="true"
Detect64BitPortabilityProblems="true" DebugInformationFormat="4"
DebugInformationFormat="4" DisableSpecificWarnings="4996;4244;4267"
DisableSpecificWarnings="4996;4244;4267" />
/> <Tool
<Tool Name="VCManagedResourceCompilerTool"
Name="VCManagedResourceCompilerTool" />
/> <Tool
<Tool Name="VCResourceCompilerTool"
Name="VCResourceCompilerTool" />
/> <Tool
<Tool Name="VCPreLinkEventTool"
Name="VCPreLinkEventTool" />
/> <Tool
<Tool Name="VCLinkerTool"
Name="VCLinkerTool" 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"
AdditionalDependencies="md5lib.lib ddslib.lib l_net.lib mathlib.lib picomodel.lib libxml2.lib libpng.lib glib-2.0.lib gobject-2.0.lib Wsock32.lib libjpeg.lib" AdditionalLibraryDirectories="&quot;$(SolutionDir)\..\libxml2\lib&quot;;&quot;$(SolutionDir)\..\gtk2\lib&quot;;&quot;$(SolutionDir)\build\$(ConfigurationName)\libs&quot;"
AdditionalLibraryDirectories="&quot;$(SolutionDir)\..\libxml2\lib&quot;;&quot;$(SolutionDir)\..\gtk2\lib&quot;;&quot;$(SolutionDir)\build\$(ConfigurationName)\libs&quot;;&quot;$(SolutionDir)\..\jpeg-6b&quot;" GenerateDebugInformation="true"
IgnoreAllDefaultLibraries="false" StackReserveSize="2097152"
IgnoreDefaultLibraryNames="" StackCommitSize="2097152"
GenerateDebugInformation="true" TargetMachine="1"
TargetMachine="1" />
/> <Tool
<Tool Name="VCALinkTool"
Name="VCALinkTool" />
/> <Tool
<Tool Name="VCManifestTool"
Name="VCManifestTool" />
/> <Tool
<Tool Name="VCXDCMakeTool"
Name="VCXDCMakeTool" />
/> <Tool
<Tool Name="VCBscMakeTool"
Name="VCBscMakeTool" />
/> <Tool
<Tool Name="VCFxCopTool"
Name="VCFxCopTool" />
/> <Tool
<Tool Name="VCAppVerifierTool"
Name="VCAppVerifierTool" />
/> <Tool
<Tool Name="VCWebDeploymentTool"
Name="VCWebDeploymentTool" />
/> <Tool
<Tool Name="VCPostBuildEventTool"
Name="VCPostBuildEventTool" CommandLine="copy &quot;$(TargetPath)&quot; C:\alienbrainWork\QuakeZero\radiant\$(TargetFileName)"
/> />
</Configuration> </Configuration>
<Configuration <Configuration
Name="Release|Win32" Name="Release|Win32"
OutputDirectory="$(SolutionDir)\install" OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)" IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1" ConfigurationType="1"
CharacterSet="2" CharacterSet="2"
WholeProgramOptimization="1" WholeProgramOptimization="1"
> >
<Tool <Tool
Name="VCPreBuildEventTool" Name="VCPreBuildEventTool"
/> />
<Tool <Tool
Name="VCCustomBuildTool" Name="VCCustomBuildTool"
/> />
<Tool <Tool
Name="VCXMLDataGeneratorTool" Name="VCXMLDataGeneratorTool"
/> />
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool" Name="VCWebServiceProxyGeneratorTool"
/> />
<Tool <Tool
Name="VCMIDLTool" Name="VCMIDLTool"
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
AdditionalIncludeDirectories="&quot;$(SolutionDir)\tools\quake3\common&quot;;&quot;$(SolutionDir)\include&quot;;&quot;$(SolutionDir)\libs&quot;;&quot;$(SolutionDir)\..\STLPort\stlport&quot;;&quot;$(SolutionDir)\..\gtk2\include&quot;;&quot;$(SolutionDir)\..\gtk2\include\glib-2.0&quot;;&quot;$(SolutionDir)\..\gtk2\lib\glib-2.0\include&quot;;&quot;$(SolutionDir)\..\libxml2\include&quot;" AdditionalIncludeDirectories="&quot;$(SolutionDir)\tools\quake3\common&quot;;&quot;$(SolutionDir)\include&quot;;&quot;$(SolutionDir)\libs&quot;;&quot;$(SolutionDir)\..\STLPort\stlport&quot;;&quot;$(SolutionDir)\..\gtk2\include&quot;;&quot;$(SolutionDir)\..\gtk2\include\glib-2.0&quot;;&quot;$(SolutionDir)\..\gtk2\lib\glib-2.0\include&quot;;&quot;$(SolutionDir)\..\libxml2\include&quot;"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS" PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
RuntimeLibrary="2" RuntimeLibrary="2"
WarningLevel="3" WarningLevel="3"
Detect64BitPortabilityProblems="true" Detect64BitPortabilityProblems="true"
DebugInformationFormat="3" DebugInformationFormat="3"
DisableSpecificWarnings="4996;4244;4267" DisableSpecificWarnings="4996;4244;4267"
/> />
<Tool <Tool
Name="VCManagedResourceCompilerTool" Name="VCManagedResourceCompilerTool"
/> />
<Tool <Tool
Name="VCResourceCompilerTool" Name="VCResourceCompilerTool"
/> />
<Tool <Tool
Name="VCPreLinkEventTool" Name="VCPreLinkEventTool"
/> />
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalDependencies="md5lib.lib ddslib.lib l_net.lib mathlib.lib picomodel.lib libxml2.lib libpng.lib glib-2.0.lib gobject-2.0.lib Wsock32.lib libjpeg.lib" 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"
AdditionalLibraryDirectories="&quot;$(SolutionDir)\..\libxml2\lib&quot;;&quot;$(SolutionDir)\..\gtk2\lib&quot;;&quot;$(SolutionDir)\build\$(ConfigurationName)\libs&quot;;&quot;$(SolutionDir)\..\jpeg-6b&quot;" AdditionalLibraryDirectories="&quot;$(SolutionDir)\..\libxml2\lib&quot;;&quot;$(SolutionDir)\..\gtk2\lib&quot;;&quot;$(SolutionDir)\build\$(ConfigurationName)\libs&quot;"
GenerateDebugInformation="true" GenerateDebugInformation="true"
OptimizeReferences="2" StackReserveSize="2097152"
EnableCOMDATFolding="2" StackCommitSize="2097152"
TargetMachine="1" OptimizeReferences="2"
/> EnableCOMDATFolding="2"
<Tool TargetMachine="1"
Name="VCALinkTool" />
/> <Tool
<Tool Name="VCALinkTool"
Name="VCManifestTool" />
/> <Tool
<Tool Name="VCManifestTool"
Name="VCXDCMakeTool" />
/> <Tool
<Tool Name="VCXDCMakeTool"
Name="VCBscMakeTool" />
/> <Tool
<Tool Name="VCBscMakeTool"
Name="VCFxCopTool" />
/> <Tool
<Tool Name="VCFxCopTool"
Name="VCAppVerifierTool" />
/> <Tool
<Tool Name="VCAppVerifierTool"
Name="VCWebDeploymentTool" />
/> <Tool
<Tool Name="VCWebDeploymentTool"
Name="VCPostBuildEventTool" />
/> <Tool
</Configuration> Name="VCPostBuildEventTool"
</Configurations> CommandLine="copy &quot;$(TargetPath)&quot; C:\alienbrainWork\QuakeZero\radiant\$(TargetFileName)"
<References> />
</References> </Configuration>
<Files> </Configurations>
<Filter <References>
Name="src" </References>
Filter="c;cpp;cxx;cc;C" <Files>
> <Filter
<File Name="src"
RelativePath=".\bspfile_abstract.c" Filter="c;cpp;cxx;cc;C"
> >
</File> <File
<File RelativePath=".\bspfile_abstract.c"
RelativePath=".\bspfile_ibsp.c" >
> </File>
</File> <File
<File RelativePath=".\bspfile_ibsp.c"
RelativePath=".\bspfile_rbsp.c" >
> </File>
</File> <File
<File RelativePath=".\bspfile_rbsp.c"
RelativePath=".\image.c" >
> </File>
</File> <File
<File RelativePath=".\image.c"
RelativePath=".\main.c" >
> </File>
</File> <File
<File RelativePath=".\main.c"
RelativePath=".\mesh.c" >
> </File>
</File> <File
<File RelativePath=".\mesh.c"
RelativePath=".\model.c" >
> </File>
</File> <File
<File RelativePath=".\model.c"
RelativePath=".\path_init.c" >
> </File>
</File> <File
<File RelativePath=".\path_init.c"
RelativePath=".\shaders.c" >
> </File>
</File> <File
<File RelativePath=".\shaders.c"
RelativePath=".\surface_extra.c" >
> </File>
</File> <File
<Filter RelativePath=".\surface_extra.c"
Name="common" >
Filter=".c" </File>
> <Filter
<File Name="common"
RelativePath="..\common\cmdlib.c" Filter=".c"
> >
</File> <File
<File RelativePath="..\common\cmdlib.c"
RelativePath="..\common\imagelib.c" >
> </File>
</File> <File
<File RelativePath="..\common\imagelib.c"
RelativePath="..\common\inout.c" >
> </File>
</File> <File
<File RelativePath="..\common\inout.c"
RelativePath="..\common\jpeg.c" >
> </File>
<FileConfiguration <File
Name="Debug|Win32" RelativePath="..\common\mutex.c"
> >
<Tool </File>
Name="VCCLCompilerTool" <File
AdditionalIncludeDirectories="&quot;$(SolutionDir)\..\jpeg-6b&quot;" RelativePath="..\common\polylib.c"
/> >
</FileConfiguration> </File>
<FileConfiguration <File
Name="Release|Win32" RelativePath="..\common\scriplib.c"
> >
<Tool </File>
Name="VCCLCompilerTool" <File
AdditionalIncludeDirectories="&quot;$(SolutionDir)\..\jpeg-6b&quot;" RelativePath="..\common\threads.c"
/> >
</FileConfiguration> </File>
</File> <File
<File RelativePath="..\common\unzip.c"
RelativePath="..\common\mutex.c" >
> </File>
</File> <File
<File RelativePath="..\common\vfs.c"
RelativePath="..\common\polylib.c" >
> <FileConfiguration
</File> Name="Debug|Win32"
<File >
RelativePath="..\common\scriplib.c" <Tool
> Name="VCCLCompilerTool"
</File> AdditionalIncludeDirectories="&quot;$(SolutionDir)\include&quot;;&quot;$(SolutionDir)\libs&quot;;&quot;$(SolutionDir)\..\STLPort\stlport&quot;;&quot;$(SolutionDir)\..\gtk2\include&quot;;&quot;$(SolutionDir)\..\gtk2\include\glib-2.0&quot;;&quot;$(SolutionDir)\..\gtk2\lib\glib-2.0\include&quot;;&quot;$(SolutionDir)\..\libxml2\include&quot;"
<File PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
RelativePath="..\common\threads.c" DisableSpecificWarnings="4996;4244;4267"
> />
</File> </FileConfiguration>
<File <FileConfiguration
RelativePath="..\common\unzip.c" Name="Release|Win32"
> >
</File> <Tool
<File Name="VCCLCompilerTool"
RelativePath="..\common\vfs.c" AdditionalIncludeDirectories="&quot;$(SolutionDir)\include&quot;;&quot;$(SolutionDir)\libs&quot;;&quot;$(SolutionDir)\..\STLPort\stlport&quot;;&quot;$(SolutionDir)\..\gtk2\include&quot;;&quot;$(SolutionDir)\..\gtk2\include\glib-2.0&quot;;&quot;$(SolutionDir)\..\gtk2\lib\glib-2.0\include&quot;;&quot;$(SolutionDir)\..\libxml2\include&quot;"
> PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
<FileConfiguration DisableSpecificWarnings="4996;4244;4267"
Name="Debug|Win32" />
> </FileConfiguration>
<Tool </File>
Name="VCCLCompilerTool" </Filter>
AdditionalIncludeDirectories="&quot;$(SolutionDir)\include&quot;;&quot;$(SolutionDir)\libs&quot;;&quot;$(SolutionDir)\..\STLPort\stlport&quot;;&quot;$(SolutionDir)\..\gtk2\include&quot;;&quot;$(SolutionDir)\..\gtk2\include\glib-2.0&quot;;&quot;$(SolutionDir)\..\gtk2\lib\glib-2.0\include&quot;;&quot;$(SolutionDir)\..\libxml2\include&quot;" <Filter
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS" Name="bsp"
DisableSpecificWarnings="4996;4244;4267" Filter=".c"
/> >
</FileConfiguration> <File
<FileConfiguration RelativePath=".\brush.c"
Name="Release|Win32" >
> </File>
<Tool <File
Name="VCCLCompilerTool" RelativePath=".\brush_primit.c"
AdditionalIncludeDirectories="&quot;$(SolutionDir)\include&quot;;&quot;$(SolutionDir)\libs&quot;;&quot;$(SolutionDir)\..\STLPort\stlport&quot;;&quot;$(SolutionDir)\..\gtk2\include&quot;;&quot;$(SolutionDir)\..\gtk2\include\glib-2.0&quot;;&quot;$(SolutionDir)\..\gtk2\lib\glib-2.0\include&quot;;&quot;$(SolutionDir)\..\libxml2\include&quot;" >
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS" </File>
DisableSpecificWarnings="4996;4244;4267" <File
/> RelativePath=".\bsp.c"
</FileConfiguration> >
</File> </File>
</Filter> <File
<Filter RelativePath=".\decals.c"
Name="bsp" >
Filter=".c" </File>
> <File
<File RelativePath=".\facebsp.c"
RelativePath=".\brush.c" >
> </File>
</File> <File
<File RelativePath=".\fog.c"
RelativePath=".\brush_primit.c" >
> </File>
</File> <File
<File RelativePath=".\leakfile.c"
RelativePath=".\bsp.c" >
> </File>
</File> <File
<File RelativePath=".\map.c"
RelativePath=".\decals.c" >
> </File>
</File> <File
<File RelativePath=".\patch.c"
RelativePath=".\facebsp.c" >
> </File>
</File> <File
<File RelativePath=".\portals.c"
RelativePath=".\fog.c" >
> </File>
</File> <File
<File RelativePath=".\prtfile.c"
RelativePath=".\leakfile.c" >
> </File>
</File> <File
<File RelativePath=".\surface.c"
RelativePath=".\map.c" >
> </File>
</File> <File
<File RelativePath=".\surface_foliage.c"
RelativePath=".\patch.c" >
> </File>
</File> <File
<File RelativePath=".\surface_fur.c"
RelativePath=".\portals.c" >
> </File>
</File> <File
<File RelativePath=".\surface_meta.c"
RelativePath=".\prtfile.c" >
> </File>
</File> <File
<File RelativePath=".\tjunction.c"
RelativePath=".\surface.c" >
> </File>
</File> <File
<File RelativePath=".\tree.c"
RelativePath=".\surface_foliage.c" >
> </File>
</File> <File
<File RelativePath=".\writebsp.c"
RelativePath=".\surface_fur.c" >
> </File>
</File> </Filter>
<File <Filter
RelativePath=".\surface_meta.c" Name="light"
> Filter=".c"
</File> >
<File <File
RelativePath=".\tjunction.c" RelativePath=".\light.c"
> >
</File> </File>
<File <File
RelativePath=".\tree.c" RelativePath=".\light_bounce.c"
> >
</File> </File>
<File <File
RelativePath=".\writebsp.c" RelativePath=".\light_trace.c"
> >
</File> </File>
</Filter> <File
<Filter RelativePath=".\light_ydnar.c"
Name="light" >
Filter=".c" </File>
> <File
<File RelativePath=".\lightmaps_ydnar.c"
RelativePath=".\light.c" >
> </File>
</File> </Filter>
<File <Filter
RelativePath=".\light_bounce.c" Name="vis"
> Filter=".c"
</File> >
<File <File
RelativePath=".\light_trace.c" RelativePath=".\vis.c"
> >
</File> </File>
<File <File
RelativePath=".\light_ydnar.c" RelativePath=".\visflow.c"
> >
</File> </File>
<File </Filter>
RelativePath=".\lightmaps_ydnar.c" <Filter
> Name="convert"
</File> Filter=".c"
</Filter> >
<Filter <File
Name="vis" RelativePath=".\convert_ase.c"
Filter=".c" >
> </File>
<File <File
RelativePath=".\vis.c" RelativePath=".\convert_map.c"
> >
</File> </File>
<File </Filter>
RelativePath=".\visflow.c" </Filter>
> <Filter
</File> Name="include"
</Filter> Filter="h"
<Filter >
Name="convert" <File
Filter=".c" RelativePath=".\game_ef.h"
> >
<File </File>
RelativePath=".\convert_ase.c" <File
> RelativePath=".\game_ja.h"
</File> >
<File </File>
RelativePath=".\convert_map.c" <File
> RelativePath=".\game_jk2.h"
</File> >
</Filter> </File>
</Filter> <File
<Filter RelativePath=".\game_quake3.h"
Name="include" >
Filter="h" </File>
> <File
<File RelativePath=".\game_sof2.h"
RelativePath=".\game_ef.h" >
> </File>
</File> <File
<File RelativePath=".\game_wolf.h"
RelativePath=".\game_ja.h" >
> </File>
</File> <File
<File RelativePath=".\game_wolfet.h"
RelativePath=".\game_jk2.h" >
> </File>
</File> <File
<File RelativePath=".\q3map2.h"
RelativePath=".\game_quake3.h" >
> </File>
</File> </Filter>
<File <Filter
RelativePath=".\game_sof2.h" Name="doc"
> Filter="*.txt"
</File> >
<File <File
RelativePath=".\game_wolf.h" RelativePath=".\changelog.q3map2.txt"
> >
</File> </File>
<File </Filter>
RelativePath=".\game_wolfet.h" <Filter
> Name="rc"
</File> Filter=".rc;.ico"
<File >
RelativePath=".\q3map2.h" <File
> RelativePath=".\q3map2.ico"
</File> >
</Filter> </File>
<Filter <File
Name="doc" RelativePath=".\q3map2.rc"
Filter="*.txt" >
> </File>
<File </Filter>
RelativePath=".\changelog.q3map2.txt" </Files>
> <Globals>
</File> </Globals>
</Filter> </VisualStudioProject>
<Filter
Name="rc"
Filter=".rc;.ico"
>
<File
RelativePath=".\q3map2.ico"
>
</File>
<File
RelativePath=".\q3map2.rc"
>
</File>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View file

@ -338,12 +338,13 @@ void WriteMapShaderFile( void )
/* print it to the file */ /* print it to the file */
fprintf( file, "%s%s\n", si->shader, si->shaderText ); 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, "." ); Sys_FPrintf( SYS_VRB, "." );
} }
/* close the shader */ /* close the shader */
fflush( file );
fclose( file ); fclose( file );
Sys_FPrintf( SYS_VRB, "\n" ); Sys_FPrintf( SYS_VRB, "\n" );

View file

@ -400,6 +400,8 @@ void EndBSPFile( void )
char path[ 1024 ]; char path[ 1024 ];
Sys_FPrintf( SYS_VRB, "--- EndBSPFile ---\n" );
EmitPlanes(); EmitPlanes();
numBSPEntities = numEntities; numBSPEntities = numEntities;