Hallo!
Ich habe mal wieder ein Problem: Ich wollte mal den MD2-Modelloader aus den Tutorials nachschreiben (allerdings für DirectX). Ich schrieb es erstmal (als Test) als Konsolenanwendung. Dort funktioniert auch alles. Jetzt wollte ich es auch endlich als Win32 GUI Anwendung ausprobieren und da kommt jetzt mein Problem: Er kann die .md2-Datei nicht öffnen (also eigentlich schon, doch das Programm stürzt ab :cry: ).
Hier ist die Stelle im Code:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
CMD2Model* test = NULL;
switch (message)
{
case WM_CREATE:
test->LoadMD2("test.md2", NULL);
break;
case WM_DESTROY:
PostQuitMessage (0);
break;
default:
return DefWindowProc (hwnd, message, wParam, lParam);
}
return 0;
}
|
Die Funktion LoadMD2 ist so definiert:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
//*************************************************************************************//
// Ein Modell laden
HRESULT CMD2Model::LoadMD2(const char* pcFileName, IDirect3DDevice9* pD3D)
{
// Ein Dateizeiger
FILE* fFile;
// Die Datei öffnen
fFile = fopen(pcFileName, "rb");
if(fFile == NULL) return E_FAIL;
// Den Dateiheader lesen
m_pHeader = new MD2_Header;
fread(m_pHeader, sizeof(MD2_Header), 1, fFile);
// ...
return S_OK;
}
|
Hier mal die beiden Projekte mit der Testdatei:
Klick
Ich benutze Code::Blocks mit VC++ 2008 Compiler.
Hat jemand 'ne Idee, wie ich die Dateien auch per Win32 öffnen kann?
Schonmal Danke im Voraus.