10.07.2011, 19:02
(09.07.2011, 18:45)Hendrik schrieb: Wollen wir den Code im gleichen Git-Repository weiterentwickeln (Bright-Eyes), oder hälst du es für sinnvoll, wenn ich dafür ein eigenes Repo aufmache?
Wenn wir im gleichen Repo bleiben (was ich befürworten würde, da man einiges an Verwaltungscode beibehalten könnte, müssen wir den Code so schreiben, dass - je nach laufender .exe - die richtigen Handler aufgerufen werden. Du hattest in der custom.h bereits eine Klasse custom_prog dafür vorgesehen, die aber, soweit ich sehe, nicht benutzt wird. Wenn du nichts dagegen hast, würde ich die custom.h/custom.cpp so umschreiben, dass man mehrere Programme (also Instanzen von custom_prog) überwachen kann. Es würde dann die erste (letzte?) Instanz zum aktuellen Programm gewählt, für die die probe()-Funktion true zurückliefert.
Wie stehst du zu diesem Plan? Ich würde dann, von solchen Änderungen im allgemeinen Code abgesehen, mit Sternenschweif weitermachen, während du dich weiter der Schicksalsklinge widmen könntest.
Es wäre mir eine Freude, wenn du das machen würdest.

Die "DesignIdee" hatte ich mir von den Linux-Kerneltreibern abgeschaut,
aber in C++ mit Objekten funzt das doch etwas anders.
Das selbe Repo zu benutzen ist eine sehr gute Idee,
damit "DOSBox custom" sinnvoll genutzt und weiterentwickelt werden kann.
Es gibt noch ein paar Kleinigkeiten, welche ich dir nicht vorenthalten möchte:
- Verzeichnislayout
Pro Spiel sollte ein Verzeichnis in src/custom erstellt werden, in deinem Fall "schweif".
In diesem sollten alle Dateien liegen, die nur in Verbindung mit DOSBox sinnvoll sind und
nach erfolgter Migration weggeworfen werden. In diesem Verzeichnis solltest Du dann ein
Verzeichnis mit dem Namen "rewrite_c100de" anlegen, in welches dann der Spielecode deiner
Version kommen sollte.
Das ist kein Muss, aber meiner Meinung nach die sinnvollste und ordentlichste Variante.
- Dateinamen
Mit "MS VisualC++ 2008" bin ich auf ein Problem gestoßen.
Dieser Compiler legt alle Objektdateien in ein Verzeichnis.
Existiert mehrmals der gleiche Dateiname in verschiedenen Verzeichnissen,
so werden beim kompilieren nur die Objektdateien immer überschrieben und es gibt einen Linker-Fehler.
Desswegen sollten die Dateinamen mit einem eindeutigen Prefix versehen werden.
In dem Fall schlage ich vor: z.B "c100de_seg001.cpp" für den Code für seg001
- Namespaces
Um bei soviel ähnlichem Code nicht in Schwierigkeiten zu kommen ist es sinnvoll soviel es geht in
Namespaces zu packen, damit wir keine Namenskonflikte bekommen.
Ansonsten: Happy H*cking!
Ich bin schon mordsmäßig gespannt.

(09.07.2011, 20:42)Obi-Wahn schrieb: Das hört sich ja beides richtig gut an!Wnn ihr einen Dummen fürs Testen braucht, steh ich bereit.
Du kannst dir gern jederzeit den Code aus dem Repo kompilieren. So hast du die besten Chancen
etwas fehlerhaftes zu finden. Prinzipiell sollte es immer funktionieren.
Achja, den passenden Thread finde ich jetzt gerade nicht, aber Schweif kann beim Import von Schick abstürzen.
Der Grund ist, dass der Gegenstandszähler der Helden einen falschen Wert hat.
Das wird in "BrightEyes" mittlerweile mit entsprechender Meldung korrigiert.