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
Sicaine
unregistriert
Sicaine
unregistriert
Zitat von »"Dofter"«
Eigentlich wollte ich keinen Schwif in die Welt des debuggers starten. Eigentlich wollte ich doch blos, dass mir jemal sagt, wo der Fehler ist und wie ich ihn am besten verbessere....
BITTEE
Dofter
Anonymous
unregistriert
Zitat von »"Nox"«
CTextureMap TextureMapHead;
Sollte meiner Meinung nach eigentlich ein zeiger sein, da du sonst immer eine Textur vorhanden hast obwohl noch keine hinzugefügt wurde.
C-/C++-Quelltext |
|
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 91 92 93 94 95 96 97 98 |
#include "MMBEG.h" CSoundMap::CSoundMap() { MusicSegment = NULL; SoundMapHead = NULL; } BOOL CSoundMap::NewSound(LPCSTR Name, IDirectMusicSegment8* MusicSeg) { CSoundMap* Segment = new CSoundMap; Segment->SetNachfolger(NULL); if (SoundMapHead == NULL) { SoundMapHead = Segment; Segment->SetVorgaenger(NULL); } else { Segment->SetVorgaenger(Last()); Last()->SetNachfolger(Segment); } Segment->SoundName = Name; Segment->MusicSegment = MusicSeg; return TRUE; } CSoundMap* CSoundMap::GetByName(LPCSTR Name) { CSoundMap* p = SoundMapHead; while (p != Last()) { p = p->GetNachfolger(); if (strcmp(p->SoundName,Name) == 0) { return p; } } return NULL; } BOOL CSoundMap::SetData(LPCSTR Name, IDirectMusicSegment8* MusicSeg) { GetByName(Name)->MusicSegment = MusicSeg; return TRUE; } BOOL CSoundMap::DeleteList(void) { while(NULL != SoundMapHead) { CSoundMap* p = Last(); // Segment freigeben if(p->MusicSegment) { p->MusicSegment->Release(); p->MusicSegment = NULL; } delete p; p = NULL; } return TRUE; } IDirectMusicSegment8* CSoundMap::GetSound(LPCSTR Name) { return GetByName(Name)->MusicSegment; } CSoundMap* CSoundMap::Last(void) { CSoundMap* p = SoundMapHead; while(NULL != p->GetNachfolger()) { p=p->GetNachfolger(); } return p; } |
C-/C++-Quelltext |
|
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 |
#ifndef _SOUNDMAP_ #define _SOUNDMAP_ #include "MMBEG.h" class MMBEG_API CSoundMap { public: CSoundMap(); BOOL NewSound(LPCSTR Name, IDirectMusicSegment8* MusicSeg); BOOL DeleteList(void); CSoundMap* GetByName(LPCSTR Name); BOOL SetData(LPCSTR Name, IDirectMusicSegment8* MusicSeg); IDirectMusicSegment8* GetSound(LPCSTR Name); CSoundMap* GetNachfolger() const {return m_Nachfolger;} CSoundMap* GetVorgaenger() const {return m_Vorgaenger;} void SetNachfolger(CSoundMap* Sound) {m_Nachfolger = Sound;} void SetVorgaenger(CSoundMap* Sound) {m_Vorgaenger = Sound;} LPCSTR SoundName; IDirectMusicSegment8* MusicSegment; private: CSoundMap* Last(void); CSoundMap* m_Vorgaenger; CSoundMap* m_Nachfolger; CSoundMap* SoundMapHead; // <-Hab mal da den MapHead hin }; #endif |
Werbeanzeige