Halli Hallo,
ich bin dir dankbar, dass du wenigstens nicht abgeneigt bist, mir zu helfen.
Falls du dich dazu entschließen würdest mir bei meinem Projekt zur Seite zu stehen, wäre es als einzigstes Hilfreich, wenn du meinen Quellcode auf Sourceoptimierung hin prüfen würdest. (Weniger Source = mehr Performance)
Ich habe jetzt in den letzten Tagen in meine Engine ein paar Module eingebaut:
Damit wir nicht auf Missverständnisse stoßen, hier eine Liste der Module, die ich noch geplant habe:
ich bin dir dankbar, dass du wenigstens nicht abgeneigt bist, mir zu helfen.
Falls du dich dazu entschließen würdest mir bei meinem Projekt zur Seite zu stehen, wäre es als einzigstes Hilfreich, wenn du meinen Quellcode auf Sourceoptimierung hin prüfen würdest. (Weniger Source = mehr Performance)
Ich habe jetzt in den letzten Tagen in meine Engine ein paar Module eingebaut:
- Modul 1: CAFile
Das ist eine virtuelle Datei. Also liegt irgendwo auf meiner Festplatte eine Datei, die ich in die Klasse einlese und damit habe ich eine Kopie des Originals in meinem Speicher. Verwenden kann ich das zum Beispiel bei Bitmaps oder bei Musikstücken. - Modul 2: CAInput
Ich denke mal, dass das klar ist: Alle Eingaben und Ausgaben laufen über dieses Modul. Hier müsste ich mir allerdings noch etwas überlegen, wie ich die individuell belegbaren Tasten realisiere.
(Aufgeteilt in CAMouse und CAKeyboard) - Modul 3: CAMemory
Hiermit will ich eine effiziente Lösung für SpaceLeeks verwenden. Alle allokierten Speicher trage ich in eine Liste ein und zum Schluss, wenn die Engine heruntergefahren wird, werden alle Speicher in der Liste wieder freigegeben. - Modul 4: CAMath
Hier habe ich bis jetzt alle benötigten Rechenoperationen implementiert. Leider kann ich Aufgrund meines Wissensstandes nur die Vektor-Rechenoperationen und die entsprechenden 2D und 3D Vektorstrukturen implementieren.
Hier wäre eine Auffrischung in Themen "Ebenen" und "Matrizen" hilfreich. - Modul 5: CASound
Ich denke mal, dass dies hier auch klar ist. Hierdrüber laufen alle Soundausgaben. Aufgeteilt in CASound und CASoundFile. Über CASound werden die Ausgaben über die Lautsprecher konfiguriert und über CASoundFile werden die Daten an CASound zum Ausgeben weitergeleitet.
Damit wir nicht auf Missverständnisse stoßen, hier eine Liste der Module, die ich noch geplant habe:
- CALogFile
Mit diesem Modul werden Ausgaben in eine Datei gemacht. Implementieren möchte ich Funktionen, die mir ermöglichen, zum Beispiel eine Variable als NULL-Pointer zu prüfen und dementsprechend Fehlermeldungen in diese Log-File schreiben. Das hat den Vorteil, dass ich bei Vollbildmodi keine PopUp-Fenster brauche. - CAConfigFile
Mit diesem Modul kann ich eine Datei einlesen. Es liegt auf meiner Festplatte eine Datei, die einen bestimmten Syntax folgt und die Klasse kann diese Datei analysieren und zum Beispiel Werte aus der Datei speichern (um nachher von mir abgerufen zu werden). - CAGraphic
Mit diesem Modul werden dann die ganzen grafischen Ausgaben getätigt. Wie ich diese Klasse allerdings implementiere, steht noch in den Sternen. Dieses Modul werde ich warscheinlich zu allerletzt implementieren.