Rev 81 | Rev 124 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 81 | Rev 116 | ||
|---|---|---|---|
| Line 210... | Line 210... | ||
| 210 | static unsigned long HashFile (const wchar_t *file_pathname); |
210 | static unsigned long HashFile (const wchar_t *file_pathname); |
| 211 | static void ResolveWildcard (wchar_t *file_pathname, wchar_t *extensions_separated_by_bars); |
211 | static void ResolveWildcard (wchar_t *file_pathname, wchar_t *extensions_separated_by_bars); |
| 212 | static int SortReflectedObjects (const void *object1, const void *object2); |
212 | static int SortReflectedObjects (const void *object1, const void *object2); |
| 213 | 213 | ||
| 214 | 214 | ||
| 215 | bool Render_Init ( |
215 | bool Render_Init (const wchar_t *fmt, ...) |
| 216 | { |
216 | { |
| 217 | // this function sets up and initializes Direct3D |
217 | // this function sets up and initializes Direct3D |
| 218 | 218 | ||
| - | 219 | static wchar_t splashscreen_pathname[MAX_PATH]; |
|
| 219 | static wchar_t *default_materialname = L"default"; |
220 | static wchar_t *default_materialname = L"default"; |
| - | 221 | va_list argptr; |
|
| 220 | 222 | ||
| 221 | D3DCAPS9 device_capabilities; |
223 | D3DCAPS9 device_capabilities; |
| 222 | unsigned long behaviour_flags; |
224 | unsigned long behaviour_flags; |
| 223 | unsigned long multisample_quality_count; |
225 | unsigned long multisample_quality_count; |
| 224 | D3DPRESENT_PARAMETERS d3dpp; |
226 | D3DPRESENT_PARAMETERS d3dpp; |
| Line 227... | Line 229... | ||
| 227 | material_t material; |
229 | material_t material; |
| 228 | HRESULT ret; |
230 | HRESULT ret; |
| 229 | RECT rect; |
231 | RECT rect; |
| 230 | RECT viewport_rect; |
232 | RECT viewport_rect; |
| 231 | FILE *fp; |
233 | FILE *fp; |
| - | 234 | ||
| - | 235 | // concatenate all the arguments in one string |
|
| - | 236 | va_start (argptr, fmt); |
|
| - | 237 | wvsprintf (splashscreen_pathname, fmt, argptr); |
|
| - | 238 | va_end (argptr); |
|
| 232 | 239 | ||
| 233 | // create the Direct3D interface |
240 | // create the Direct3D interface |
| 234 | d3d = Direct3DCreate9 (D3D_SDK_VERSION); |
241 | d3d = Direct3DCreate9 (D3D_SDK_VERSION); |
| 235 | 242 | ||
| 236 | // get hardware capabilities |
243 | // get hardware capabilities |
| Line 415... | Line 422... | ||
| 415 | d3ddev->SetRenderState (D3DRS_EMISSIVEMATERIALSOURCE, D3DMCS_MATERIAL); |
422 | d3ddev->SetRenderState (D3DRS_EMISSIVEMATERIALSOURCE, D3DMCS_MATERIAL); |
| 416 | d3ddev->SetRenderState (D3DRS_COLORVERTEX, false); |
423 | d3ddev->SetRenderState (D3DRS_COLORVERTEX, false); |
| 417 | 424 | ||
| 418 | // enable 3D lighting |
425 | // enable 3D lighting |
| 419 | d3ddev->SetRenderState (D3DRS_LIGHTING, true); |
426 | d3ddev->SetRenderState (D3DRS_LIGHTING, true); |
| - | 427 | ||
| - | 428 | // load the splash screen sprite and display it |
|
| - | 429 | int bgsprite_index = Render_LoadSprite (splashscreen_pathname); |
|
| - | 430 | d3ddev->Clear (0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER | D3DCLEAR_STENCIL, D3DCOLOR_XRGB (0, 0, 0), 1.0f, 0); |
|
| - | 431 | d3ddev->BeginScene (); // begins the 3D scene |
|
| - | 432 | Render_DrawSprite (&sprites[bgsprite_index], 0.0f, 0.0f, 100.0f, 100.0f, 0xFF); // draw the background sprite |
|
| - | 433 | d3ddev->EndScene (); // ends the 3D scene |
|
| - | 434 | d3ddev->Present (NULL, NULL, NULL, NULL); // displays the created frame on the screen |
|
| 420 | 435 | ||
| 421 | // open and parse the materials file and build the materials list |
436 | // open and parse the materials file and build the materials list |
| 422 | materials = NULL; |
437 | materials = NULL; |
| 423 | material_count = 0; |
438 | material_count = 0; |
| 424 | _wfopen_s (&fp, L"materials.cfg", L"r, ccs=UNICODE"); |
439 | _wfopen_s (&fp, L"materials.cfg", L"r, ccs=UNICODE"); |