Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
// Datei WinMain.cpp #include "Tribase.h" #include "Tischtennis.h" #include "Allgemeines.h" tbDirect3D* g_pDirect3D; // globales 3d-Objekt tbTextureManager* g_pTextures; // globales Texturmanagerobjekt int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) { CTischtennis App; if(App.Init() == 2) MessageBox(NULL, "Vollständig initialisiert!", "OK!", MB_OK); else MessageBox(NULL, "Fehler", "Fehler", MB_OK); App.Unload(); return 0; // hier entsthet der Fehler: } // Datei Tischtennis.cpp #include "Tribase.h" #include "Tischtennis.h" #include "Allgemeines.h" extern tbDirect3D* g_pDirect3D; extern tbTextureManager* g_pTextures; CTischtennis::CTischtennis() { m_fTime = 0; } CTischtennis::~CTischtennis() { Unload(); } int CTischtennis::Init() { tbInit(); // Tribase initialisieren int Result; if(Result = tbDoConfigDialog(&this->m_Config)) { if(Result == TB_CANCELED) return 0; else { // Feher im Config-Dialog MessageBox(NULL, "Fehler im Konfigurationsdialog", "Fehler!", MB_OK); return 1; } } g_pDirect3D = new tbDirect3D; if(g_pDirect3D->Init(&m_Config, "Tischtennis Version 0.1", NULL, NULL)) { // Fehelr beim Initailisieren... MessageBox(NULL, "Fehler biem g_pDiredt3D->Init", "Fehler", MB_OK); Unload(); TB_ERROR("Fehler bim Initatialisieren von tbDirect3D", 1); } g_pTextures = new tbTextureManager; if(g_pTextures->Init(16)) { MessageBox(NULL, "Fehler beim Texturmanager initialisieren...", "Fehler", MB_OK); Unload(); TB_ERROR("Fehelr TExturenmanager...", 1); } return 2; } tbResult CTischtennis::Unload() { g_pDirect3D->Exit(); // tbD3D löschen TB_SAFE_DELETE(g_pDirect3D); g_pTextures->Exit(); // texturen löschen TB_SAFE_DELETE(g_pTextures); return TB_OK; } |
Administrator
Administrator
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
// Das Vertex-FVF #define VERTEX_PLATTE_FVF (D3DFVF_XYZ | D3DFVF_TEX1) // Vertex-Struktur: struct SVertexPlatte { tbVector3 vPos; tbVector2 vTex; }; class CPlatte { //... tbVertexBuffer* m_Vertizes; // vertex und Indexbuffer tbIndexBuffer* m_Indizes; // die Fehelr-Funktion: tbResult CPlatte::Init() { //.. // hier tritt wieder 0xc000005 auf. if(m_Vertizes->Init(8 * sizeof(SVertexPlatte), sizeof(SVertexPlatte), VERTEX_PLATTE_FVF, D3DUSAGE_DYNAMIC | D3DUSAGE_WRITEONLY, D3DPOOL_MANAGED)) { // fehler beim ERstellen des Vertexbuffers... MessageBox(NULL, "Fehler Bei VertBuffer-Ini", "Fehler!", MB_OK); TB_ERROR("Fehler beim VertexBuffer", TB_ERROR); } }; |
Administrator
Quellcode |
|
1 |
m_Vertizes = new tbVertexBuffer; |
Administrator
Quellcode |
|
1 2 3 4 5 6 7 8 9 |
tbResult CTischtennis::Init() { //.. // initialsierung von tbD3D und Tex-Man if(m_Platte->Init()) TB_ERROR("Fehelr bei Platte-Ini", TB_ERROR); } |
Administrator
Werbeanzeige