more eol-style
[xonotic/netradiant.git] / docs / developer / changes.201.202
1 diff -rup ../Q3Radiant201/PrefsDlg.cpp Q3Radiant/PrefsDlg.cpp\r
2 --- ../Q3Radiant201/PrefsDlg.cpp        Mon Jun 26 12:31:00 2000\r
3 +++ Q3Radiant/PrefsDlg.cpp      Thu Aug  3 17:19:16 2000\r
4 @@ -224,6 +232,8 @@ void CPrefsDlg::DoDataExchange(CDataExch\r
5         DDX_Text(pDX, IDC_EDIT_UNDOLEVELS, m_nUndoLevels);\r
6         DDV_MinMaxInt(pDX, m_nUndoLevels, 1, 64);\r
7         DDX_Check(pDX, IDC_CHECK_VERTEXMODE, m_bVertexSplit);\r
8 +       DDX_Check(pDX, IDC_CHECK_LOG, m_bLogConsole);\r
9 +       DDX_Check(pDX, IDC_NOALPHA, m_bDisableAlphaChannel);\r
10         //}}AFX_DATA_MAP\r
11  }\r
12  \r
13 @@ -236,6 +246,7 @@ BEGIN_MESSAGE_MAP(CPrefsDlg, CDialog)\r
14         ON_BN_CLICKED(IDC_BTN_BROWSEUSERINI, OnBtnBrowseuserini)\r
15         ON_CBN_SELCHANGE(IDC_COMBO_WHATGAME, OnSelchangeComboWhatgame)\r
16         ON_BN_CLICKED(IDC_BUTTON_CLEAN, OnButtonClean)\r
17 +       ON_BN_CLICKED(IDC_NOALPHA, OnNoalpha)\r
18         //}}AFX_MSG_MAP\r
19  END_MESSAGE_MAP()\r
20  \r
21 @@ -332,7 +344,7 @@ bool SetQdirFromPath( const char *path )\r
22         len = strlen(BASEDIRNAME);\r
23         for (c=path+strlen(path)-1 ; c != path ; c--)\r
24         {\r
25 -               int i;\r
26 +               unsigned int i;\r
27  \r
28                 if (strnicmp (c, BASEDIRNAME, len) == 0)\r
29                 {\r
30 @@ -448,7 +460,12 @@ void CPrefsDlg::LoadPrefs()\r
31  \r
32         m_strQuake2 = AfxGetApp()->GetProfileString(PREF_SECTION, Q2_KEY);\r
33    // if the path to the engine is empty, we set this flag to call InitEnginePath later\r
34 -  if (m_strQuake2.GetLength() == 0)\r
35 +  // if the path to the engine is empty or points to a file that doesn't exist we call InitEnginePath\r
36 +       struct _finddata_t fileinfo;\r
37 +  int handle;\r
38 +  handle = _findfirst (m_strQuake2.GetBuffer(0), &fileinfo);\r
39 +  _findclose( handle );\r
40 +  if (handle == -1 || m_strQuake2.GetLength() == 0)\r
41      InitEnginePath();\r
42  \r
43    m_iLastLightIntensity = AfxGetApp()->GetProfileInt(PREF_SECTION, "LastLightIntensity", 300);\r
44 @@ -697,4 +731,10 @@ void CPrefsDlg::OnButtonClean() \r
45      theApp.ResetRegistry();\r
46                 g_pParentWnd->OnFileExit();\r
47    }\r
48 +}\r
49 +\r
50 +void CPrefsDlg::OnNoalpha() \r
51 +{\r
52 +  if (static_cast<CButton *>(GetDlgItem(IDC_NOALPHA))->GetState() & 0x0003)\r
53 +    MessageBox( "If alpha channel support is disabled, Curry plugin might not work as expected.", "Alpha channel support", MB_OK );\r
54  }\r
55 diff -rup ../Q3Radiant201/Radiant.rc Q3Radiant/Radiant.rc\r
56 --- ../Q3Radiant201/Radiant.rc  Mon Jun 26 12:31:00 2000\r
57 +++ Q3Radiant/Radiant.rc        Thu Aug  3 17:19:22 2000\r
58 @@ -1518,7 +1520,7 @@ BEGIN\r
59      LTEXT           "Height",IDC_STATIC,131,136,22,8\r
60  END\r
61  \r
62 -IDD_DLG_PREFS DIALOG DISCARDABLE  0, 0, 386, 351\r
63 +IDD_DLG_PREFS DIALOG DISCARDABLE  0, 0, 386, 380\r
64  STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
65  CAPTION "Q3Radiant Preferences"\r
66  FONT 8, "MS Sans Serif"\r
67 @@ -1561,103 +1563,108 @@ BEGIN\r
68      CONTROL         "Texture subset",IDC_CHECK_TEXTUREWINDOW,"Button",\r
69                      BS_AUTOCHECKBOX | WS_TABSTOP,308,94,63,10\r
70      CONTROL         "Right click to drop entities",IDC_CHECK_RIGHTCLICK,\r
71 -                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,137,95,10\r
72 +                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,150,95,10\r
73      CONTROL         "Face selection",IDC_CHECK_FACE,"Button",BS_AUTOCHECKBOX | \r
74 -                    WS_TABSTOP,13,149,62,10\r
75 -    EDITTEXT        IDC_EDIT_ROTATION,58,161,24,12,ES_AUTOHSCROLL\r
76 +                    WS_TABSTOP,13,162,62,10\r
77 +    EDITTEXT        IDC_EDIT_ROTATION,58,174,24,12,ES_AUTOHSCROLL\r
78      CONTROL         "ALT + multi-drag",IDC_CHECK_ALTDRAG,"Button",\r
79 -                    BS_AUTOCHECKBOX | WS_TABSTOP,114,137,68,10\r
80 +                    BS_AUTOCHECKBOX | WS_TABSTOP,114,150,68,10\r
81      CONTROL         "Snap T to Grid",IDC_CHECK_SNAPT,"Button",\r
82 -                    BS_AUTOCHECKBOX | WS_TABSTOP,114,149,62,10\r
83 +                    BS_AUTOCHECKBOX | WS_TABSTOP,114,162,62,10\r
84      CONTROL         "Mouse chaser",IDC_CHECK_MOUSECHASE,"Button",\r
85 -                    BS_AUTOCHECKBOX | WS_TABSTOP,114,160,68,10\r
86 +                    BS_AUTOCHECKBOX | WS_TABSTOP,114,173,68,10\r
87      CONTROL         "Patch Toolbar",IDC_CHECK_WIDETOOLBAR,"Button",\r
88 -                    BS_AUTOCHECKBOX | WS_TABSTOP,193,137,61,10\r
89 +                    BS_AUTOCHECKBOX | WS_TABSTOP,193,150,61,10\r
90      CONTROL         "Light drawing",IDC_CHECK_LIGHTDRAW,"Button",\r
91 -                    BS_AUTOCHECKBOX | WS_TABSTOP,193,149,58,10\r
92 +                    BS_AUTOCHECKBOX | WS_TABSTOP,193,162,58,10\r
93      CONTROL         "Paint sizing info",IDC_CHECK_SIZEPAINT,"Button",\r
94 -                    BS_AUTOCHECKBOX | WS_TABSTOP,193,160,65,10\r
95 +                    BS_AUTOCHECKBOX | WS_TABSTOP,193,173,65,10\r
96      CONTROL         "Hi Color Textures",IDC_CHECK_HICOLOR,"Button",\r
97 -                    BS_AUTOCHECKBOX | WS_TABSTOP,281,137,70,10\r
98 -    LTEXT           "Startup Shaders:",IDC_STATIC,281,150,54,8\r
99 -    COMBOBOX        IDC_COMBO_SHADERS,281,160,82,54,CBS_DROPDOWNLIST | \r
100 +                    BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_DISABLED | \r
101 +                    WS_TABSTOP,281,150,70,10\r
102 +    LTEXT           "Startup Shaders:",IDC_STATIC,281,163,54,8\r
103 +    COMBOBOX        IDC_COMBO_SHADERS,281,173,82,54,CBS_DROPDOWNLIST | \r
104                      WS_VSCROLL | WS_TABSTOP\r
105 -    EDITTEXT        IDC_EDIT_QUAKE2,13,215,229,12,ES_AUTOHSCROLL\r
106 -    PUSHBUTTON      "...",IDC_BTN_BROWSE,248,216,16,11\r
107 +    EDITTEXT        IDC_EDIT_QUAKE2,13,228,229,12,ES_AUTOHSCROLL\r
108 +    PUSHBUTTON      "...",IDC_BTN_BROWSE,248,230,16,11\r
109      CONTROL         "Use internal (DLL) QBSP....",IDC_CHECK_INTERNALBSP,\r
110 -                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,234,102,10\r
111 +                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,247,102,10\r
112      CONTROL         "Don't clamp plane points",IDC_CHECK_NOCLAMP,"Button",\r
113 -                    BS_AUTOCHECKBOX | WS_TABSTOP,13,246,93,10\r
114 +                    BS_AUTOCHECKBOX | WS_TABSTOP,13,260,93,10\r
115      CONTROL         "Snapshots",IDC_CHECK_SNAPSHOTS,"Button",BS_AUTOCHECKBOX | \r
116 -                    WS_TABSTOP,13,258,49,10\r
117 +                    WS_TABSTOP,13,271,49,10\r
118      CONTROL         "Use +setgame for run",IDC_CHECK_SETGAME,"Button",\r
119 -                    BS_AUTOCHECKBOX | WS_TABSTOP,13,270,83,10\r
120 +                    BS_AUTOCHECKBOX | WS_TABSTOP,13,284,83,10\r
121      CONTROL         "Run game after QBSP3...",IDC_CHECK_RUNQUAKE,"Button",\r
122 -                    BS_AUTOCHECKBOX | WS_TABSTOP,121,234,96,10\r
123 +                    BS_AUTOCHECKBOX | WS_TABSTOP,121,247,96,10\r
124      CONTROL         "Load last project on open",IDC_CHECK_LOADLAST,"Button",\r
125 -                    BS_AUTOCHECKBOX | WS_TABSTOP,121,246,96,10\r
126 +                    BS_AUTOCHECKBOX | WS_TABSTOP,121,260,96,10\r
127      CONTROL         "Load last map on open",IDC_CHECK_LOADLASTMAP,"Button",\r
128 -                    BS_AUTOCHECKBOX | WS_TABSTOP,121,258,88,10\r
129 +                    BS_AUTOCHECKBOX | WS_TABSTOP,121,271,88,10\r
130      CONTROL         "Auto save every ",IDC_CHECK_AUTOSAVE,"Button",\r
131 -                    BS_AUTOCHECKBOX | WS_TABSTOP,121,270,66,10\r
132 -    EDITTEXT        IDC_EDIT_AUTOSAVE,188,270,27,12,ES_AUTOHSCROLL | \r
133 +                    BS_AUTOCHECKBOX | WS_TABSTOP,121,284,66,10\r
134 +    EDITTEXT        IDC_EDIT_AUTOSAVE,188,284,27,12,ES_AUTOHSCROLL | \r
135                      ES_NUMBER\r
136      CONTROL         "Spin1",IDC_SPIN_AUTOSAVE,"msctls_updown32",UDS_WRAP | \r
137                      UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | \r
138 -                    UDS_ARROWKEYS,212,268,11,14\r
139 -    LTEXT           "Status point size:",IDC_STATIC,258,235,54,8\r
140 -    EDITTEXT        IDC_EDIT_STATUSPOINTSIZE,315,233,29,12,ES_AUTOHSCROLL\r
141 +                    UDS_ARROWKEYS,212,282,11,14\r
142 +    LTEXT           "Status point size:",IDC_STATIC,258,249,54,8\r
143 +    EDITTEXT        IDC_EDIT_STATUSPOINTSIZE,315,247,29,12,ES_AUTOHSCROLL\r
144      CONTROL         "Spin1",IDC_SPIN_POINTSIZE,"msctls_updown32",UDS_WRAP | \r
145                      UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | \r
146 -                    UDS_ARROWKEYS,344,232,11,14\r
147 -    LTEXT           "Undo Levels:",IDC_STATIC,258,248,43,8\r
148 -    EDITTEXT        IDC_EDIT_UNDOLEVELS,315,246,29,12,ES_AUTOHSCROLL\r
149 +                    UDS_ARROWKEYS,344,246,11,14\r
150 +    LTEXT           "Undo Levels:",IDC_STATIC,258,262,43,8\r
151 +    EDITTEXT        IDC_EDIT_UNDOLEVELS,315,260,29,12,ES_AUTOHSCROLL\r
152      CONTROL         "Spin1",IDC_SPIN_UNDO,"msctls_updown32",UDS_WRAP | \r
153                      UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | \r
154 -                    UDS_ARROWKEYS,344,246,11,14\r
155 +                    UDS_ARROWKEYS,344,260,11,14\r
156      CONTROL         "Use PAK/PK3 file(s):",IDC_CHECK_PAK,"Button",\r
157 -                    BS_AUTOCHECKBOX | WS_TABSTOP,13,289,81,10\r
158 -    EDITTEXT        IDC_EDIT_PAKFILE,95,288,227,12,ES_AUTOHSCROLL\r
159 -    PUSHBUTTON      "...",IDC_BTN_BROWSEPAK,328,289,16,11\r
160 -    EDITTEXT        IDC_EDIT_PREFABPATH,95,305,227,12,ES_AUTOHSCROLL\r
161 -    PUSHBUTTON      "...",IDC_BTN_BROWSEPREFAB,328,306,16,11\r
162 -    EDITTEXT        IDC_EDIT_USERPATH,95,322,227,12,ES_AUTOHSCROLL\r
163 -    PUSHBUTTON      "...",IDC_BTN_BROWSEUSERINI,328,323,16,11\r
164 +                    BS_AUTOCHECKBOX | WS_TABSTOP,13,303,81,10\r
165 +    EDITTEXT        IDC_EDIT_PAKFILE,95,302,227,12,ES_AUTOHSCROLL\r
166 +    PUSHBUTTON      "...",IDC_BTN_BROWSEPAK,328,303,16,11\r
167 +    EDITTEXT        IDC_EDIT_PREFABPATH,95,319,227,12,ES_AUTOHSCROLL\r
168 +    PUSHBUTTON      "...",IDC_BTN_BROWSEPREFAB,328,319,16,11\r
169 +    EDITTEXT        IDC_EDIT_USERPATH,95,335,227,12,ES_AUTOHSCROLL\r
170 +    PUSHBUTTON      "...",IDC_BTN_BROWSEUSERINI,328,337,16,11\r
171      DEFPUSHBUTTON   "OK",IDOK,341,7,38,14\r
172      PUSHBUTTON      "Cancel",IDCANCEL,341,24,38,14\r
173      CONTROL         "Entities are DLL based",IDC_CHECK_DLLENTITIES,"Button",\r
174                      BS_AUTOCHECKBOX | BS_TOP | BS_MULTILINE | NOT WS_VISIBLE | \r
175 -                    WS_DISABLED | WS_TABSTOP,273,178,88,12\r
176 +                    WS_DISABLED | WS_TABSTOP,273,191,88,12\r
177      CONTROL         "Write face color info",IDC_CHECK_FACECOLOR,"Button",\r
178                      BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_DISABLED | \r
179 -                    WS_TABSTOP,189,178,79,10\r
180 -    LTEXT           "minutes",IDC_STATIC,216,271,25,8\r
181 +                    WS_TABSTOP,189,191,79,10\r
182 +    LTEXT           "minutes",IDC_STATIC,216,284,25,8\r
183      GROUPBOX        "Mouse",IDC_STATIC,179,7,103,28\r
184 -    GROUPBOX        "Views / Rendering",IDC_STATIC,7,38,372,86\r
185 +    GROUPBOX        "Views / Rendering",IDC_STATIC,7,38,372,98\r
186      GROUPBOX        "Game path / Tool settings / Stuff that wouldn't fit anywhere else",\r
187 -                    IDC_STATIC,7,205,372,139\r
188 +                    IDC_STATIC,7,216,372,157\r
189      CONTROL         147,IDB_VIEWDEFAULT,"Static",SS_BITMAP,13,48,21,19\r
190      CONTROL         148,IDB_VIEWDEFAULT2,"Static",SS_BITMAP,40,48,21,19\r
191      CONTROL         149,IDB_VIEWDEFAULT3,"Static",SS_BITMAP,67,48,21,19\r
192 -    GROUPBOX        "New functionality:",IDC_STATIC,7,126,372,74\r
193 +    GROUPBOX        "New functionality:",IDC_STATIC,7,139,372,74\r
194      CONTROL         150,IDB_VIEWDEFAULT_Z,"Static",SS_BITMAP,93,48,21,19\r
195      LTEXT           "slow",IDC_STATIC,131,69,15,8\r
196      LTEXT           "fast",IDC_STATIC,204,69,12,8\r
197 -    GROUPBOX        "Camera ",IDC_STATIC,126,47,100,72\r
198 -    LTEXT           "Prefab path:",IDC_STATIC,54,306,40,8\r
199 +    GROUPBOX        "Camera ",IDC_STATIC,126,47,100,84\r
200 +    LTEXT           "Prefab path:",IDC_STATIC,54,319,40,8\r
201      GROUPBOX        "Optimize interface for",IDC_STATIC,7,7,170,28\r
202 -    LTEXT           "User INI path:",IDC_STATIC,49,324,45,8\r
203 -    LTEXT           "Rotation inc:",IDC_STATIC,15,163,41,8\r
204 +    LTEXT           "User INI path:",IDC_STATIC,49,338,45,8\r
205 +    LTEXT           "Rotation inc:",IDC_STATIC,15,176,41,8\r
206      CONTROL         "Use Shaders",IDC_CHECK_USESHADERS,"Button",\r
207                      BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_DISABLED | \r
208 -                    WS_TABSTOP,129,178,57,10\r
209 -    GROUPBOX        "Texturing",IDC_STATIC,231,47,141,72\r
210 +                    WS_TABSTOP,129,191,57,10\r
211 +    GROUPBOX        "Texturing",IDC_STATIC,231,47,141,84\r
212      LTEXT           "Quality",IDC_STATIC,237,57,22,8\r
213      LTEXT           "Low",IDC_STATIC,239,81,14,8\r
214      LTEXT           "High",IDC_STATIC,347,82,16,8\r
215      CONTROL         "Vertex editing splits faces",IDC_CHECK_VERTEXMODE,\r
216 -                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,179,94,10\r
217 +                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,192,94,10\r
218      PUSHBUTTON      "Reset Registry",IDC_BUTTON_CLEAN,287,24,50,14\r
219 +    CONTROL         "Log console to Radiant.log",IDC_CHECK_LOG,"Button",\r
220 +                    BS_AUTOCHECKBOX | WS_TABSTOP,13,356,97,11\r
221 +    CONTROL         "Ignore alpha channel",IDC_NOALPHA,"Button",\r
222 +                    BS_AUTOCHECKBOX | WS_TABSTOP,236,117,127,10\r
223  END\r
224  \r
225  IDD_DLG_MAPINFO DIALOG DISCARDABLE  0, 0, 181, 183\r
226 diff -rup ../Q3Radiant201/TexWnd.cpp Q3Radiant/TexWnd.cpp\r
227 --- ../Q3Radiant201/TexWnd.cpp  Mon Jun 26 12:31:00 2000\r
228 +++ Q3Radiant/TexWnd.cpp        Thu Aug  3 17:19:23 2000\r
229 @@ -1439,31 +1550,46 @@ void Delay(float fSeconds)\r
230  void ViewShader(const char *pFile, const char *pName)\r
231  {\r
232         // we load the .shader file to find where it actually is\r
233 -  CString str;\r
234 +  CString fullName = ValueForKey( g_qeglobals.d_project_entity, "basepath" );\r
235 +  fullName += '/';\r
236 +  fullName += pFile;\r
237    char* pBuff = NULL;\r
238 -  int nSize = LoadFile(pFile, reinterpret_cast<void**>(&pBuff));\r
239 +  int nSize = LoadFile(fullName.GetBuffer(0), reinterpret_cast<void**>(&pBuff));\r
240    if (nSize == -1)\r
241    {\r
242 -    nSize = PakLoadAnyFile(pFile, reinterpret_cast<void**>(&pBuff));\r
243 -  }\r
244 -\r
245 -  if (nSize > 0)\r
246 -  {\r
247 -    str = pBuff;\r
248 +    Sys_Printf("Failed to load shader file %s ... check your project settings!\n", pFile );\r
249 +    return;\r
250    }\r
251 -  int nStart = 0; \r
252 -  if (str.GetLength() > 0)\r
253 +  // look for the shader declaration\r
254 +  int nStart;\r
255 +  CString strFind = pName;\r
256 +  CString strLook = pBuff;\r
257 +  strLook.MakeLower();\r
258 +  strFind.MakeLower();\r
259 +  // offset used when jumping over commented out definitions\r
260 +  int nOffset = 0;\r
261 +  while (true)\r
262    {\r
263 -    CString strFind = pName;\r
264 -    CString strLook = str;\r
265 -    strLook.MakeLower();\r
266 -    strFind.MakeLower();\r
267 -    int n = strLook.Find(strFind);\r
268 -    if (n >= 0)\r
269 -    {\r
270 -      nStart = n;\r
271 +    nStart = strLook.Find(strFind, nOffset);\r
272 +    if (nStart == -1)\r
273 +      break;\r
274 +    // we have found something, maybe it's a commented out shader name?\r
275 +    char *strCheck = new char[strLook.GetLength()+1];\r
276 +    strcpy( strCheck, strLook.GetBuffer(0) );\r
277 +    strCheck[nStart] = 0;\r
278 +    char *pCheck = strrchr( strCheck, '\n' );\r
279 +    // if there's a commentary sign in-between we'll continue\r
280 +    if (pCheck && strstr( pCheck, "//" ))\r
281 +    {\r
282 +      delete[] strCheck;\r
283 +      nOffset = nStart + 1;\r
284 +      continue;\r
285      }\r
286 +    delete[] strCheck;\r
287 +    break;\r
288    }\r
289 +  // now close the file\r
290 +  free(pBuff);\r
291  \r
292    CString s= "editpad ";\r
293         // build the full shader name\r
294 @@ -1472,7 +1598,9 @@ void ViewShader(const char *pFile, const\r
295    s += pFile;\r
296    WinExec(s, SW_SHOWNORMAL);\r
297  \r
298 -  Delay(1.5);\r
299 +  // TTimo: we used to call Delay here, to continue processing messages. But it seems to induce a lot of instabilities.\r
300 +  // so now the user will simply have to wait.\r
301 +  Sleep( 1500 );\r
302  \r
303         // now grab the edit window and scroll to the shader we want to edit\r
304    HWND hwndEdit = FindEditWindow();\r
305 @@ -1485,8 +1613,6 @@ void ViewShader(const char *pFile, const\r
306    {\r
307      Sys_Printf("Unable to load shader editor.\n");\r
308    }\r
309 -\r
310 -\r
311  }\r
312  \r
313  /*\r
314 @@ -2319,10 +2459,21 @@ void CTexWnd::OnVScroll(UINT nSBCode, UI\r
315  \r
316  void LoadShaders()\r
317  {\r
318 +  CStringList lst;\r
319 +  BuildShaderList( lst );\r
320 +  if (lst.GetCount() == 0)\r
321 +    return;\r
322 +  POSITION pos = lst.GetHeadPosition();\r
323 +  while (pos != NULL)\r
324 +  {\r
325 +    QERApp_LoadShaderFile( lst.GetAt(pos).GetBuffer(0) );\r
326 +    lst.GetNext(pos);\r
327 +  }\r
328 +\r
329 +  //++timo clean\r
330 +#if 0\r
331         char    dirstring[1024];\r
332         char    *path;\r
333 -       //struct _finddata_t fileinfo;\r
334 -       //int           handle;\r
335    path = ValueForKey (g_qeglobals.d_project_entity, "basepath");\r
336    sprintf (dirstring, "%s/scripts/shaderlist.txt", path);\r
337    char *pBuff = NULL;\r
338 @@ -2354,9 +2505,9 @@ void LoadShaders()\r
339    }\r
340    else\r
341    {\r
342 -    Sys_Printf("Unable to load shaderlist.txt, shaders not loaded!");\r
343 +    Sys_Printf("Unable to load %s, shaders not loaded!\n", dirstring);\r
344    }\r
345 -\r
346 +#endif\r
347  }\r
348  \r
349  // TTimo: modified to expect the reletive path to the skin as input\r
350 diff -rup ../Q3Radiant201/WIN_QE3.CPP Q3Radiant/WIN_QE3.CPP\r
351 --- ../Q3Radiant201/WIN_QE3.CPP Mon Jun 26 12:31:00 2000\r
352 +++ Q3Radiant/WIN_QE3.CPP       Thu Aug  3 17:19:24 2000\r
353 @@ -3,6 +3,11 @@\r
354  #include "mru.h"\r
355  #include "PrefsDlg.h"\r
356  \r
357 +// for the logging part\r
358 +#include <io.h>\r
359 +#include <fcntl.h>\r
360 +#include <sys/stat.h>\r
361 +\r
362  ////////////////////////////////////////////////////////////////////////////\r
363  // BSP frontend plugin\r
364  // global flag for BSP frontend plugin is g_qeglobals.bBSPFrontendPlugin\r
365 @@ -42,10 +47,18 @@ void Sys_SetTitle (char *text)\r
366  }\r
367  \r
368  HCURSOR        waitcursor;\r
369 +#define TIMING_STATS\r
370 +#ifdef TIMING_STATS\r
371 +double start,end;\r
372 +#endif\r
373  \r
374  void Sys_BeginWait (void)\r
375  {\r
376         waitcursor = SetCursor (LoadCursor (NULL, IDC_WAIT));\r
377 +#ifdef TIMING_STATS\r
378 +  Sys_Printf("Sys_BeginWait\n");\r
379 +  start = Sys_DoubleTime();\r
380 +#endif\r
381  }\r
382  \r
383  void Sys_EndWait (void)\r
384 @@ -55,9 +68,12 @@ void Sys_EndWait (void)\r
385                 SetCursor (waitcursor);\r
386                 waitcursor = NULL;\r
387         }\r
388 +#ifdef TIMING_STATS\r
389 +  end = Sys_DoubleTime();\r
390 +  Sys_Printf ("Sys_EndWait: %i ms\n", (int)(1000*(end-start)));\r
391 +#endif\r
392  }\r
393  \r
394 -\r
395  void Sys_GetCursorPos (int *x, int *y)\r
396  {\r
397         POINT lpPoint;\r
398 diff -rup ../Q3Radiant201/Win_main.cpp Q3Radiant/Win_main.cpp\r
399 --- ../Q3Radiant201/Win_main.cpp        Mon Jun 26 12:31:01 2000\r
400 +++ Q3Radiant/Win_main.cpp      Thu Aug  3 17:19:24 2000\r
401 @@ -341,54 +341,6 @@ void RunBsp (char *command)\r
402           Sleep (100);  // give the new process a chance to open it's window\r
403  \r
404           BringWindowToTop( g_qeglobals.d_hwndMain );   // pop us back on top\r
405 -#if 0\r
406 -         //\r
407 -         // write qe3bsp.bat\r
408 -         //\r
409 -         sprintf (batpath, "%sqe3bsp.bat", temppath);\r
410 -         hFile = fopen(batpath, "w");\r
411 -         if (!hFile)\r
412 -                 Error ("Can't write to %s", batpath);\r
413 -         fprintf (hFile, sys);\r
414 -         fclose (hFile);\r
415 -\r
416 -         //\r
417 -         // write qe3bsp2.bat\r
418 -         //\r
419 -         sprintf (batpath, "%sqe3bsp2.bat", temppath);\r
420 -         hFile = fopen(batpath, "w");\r
421 -         if (!hFile)\r
422 -                 Error ("Can't write to %s", batpath);\r
423 -         fprintf (hFile, "%sqe3bsp.bat > %s", temppath, outputpath);\r
424 -         fclose (hFile);\r
425 -\r
426 -         Pointfile_Delete ();\r
427 -\r
428 -         GetStartupInfo (&startupinfo);\r
429 -\r
430 -         ret = CreateProcess(\r
431 -      batpath,         // pointer to name of executable module \r
432 -      NULL,                    // pointer to command line string\r
433 -      NULL,                    // pointer to process security attributes \r
434 -      NULL,                    // pointer to thread security attributes \r
435 -      FALSE,                   // handle inheritance flag \r
436 -      0 /*DETACHED_PROCESS*/,          // creation flags\r
437 -      NULL,                    // pointer to new environment block \r
438 -      NULL,                    // pointer to current directory name \r
439 -      &startupinfo,    // pointer to STARTUPINFO \r
440 -      &ProcessInformation      // pointer to PROCESS_INFORMATION  \r
441 -     );\r
442 -\r
443 -         if (!ret)\r
444 -                 Error ("CreateProcess failed");\r
445 -\r
446 -         bsp_process = ProcessInformation.hProcess;\r
447 -\r
448 -         Sleep (100);  // give the new process a chance to open it's window\r
449 -\r
450 -         //BringWindowToTop( g_qeglobals.d_hwndMain ); // pop us back on top\r
451 -         //SetFocus (g_qeglobals.d_hwndCamera);\r
452 -#endif\r
453    }\r
454  }\r
455  \r