2012-04-06 2 views
1

Ich arbeite an einem Projekt mit meinem Freund, wo wir bestehende Version eines Spiels, das SDL 1.2 verwendet, um SDL 2.0-Header-Dateien und Funktionen zu verwenden, aktualisieren müssen. Ich würde gerne wissen, was ist die Standard-Prozedur, die wir beim Aktualisieren bereits vorhandenen Quellcode auf neuere Bibliotheken folgen. Der Code enthält 28 Quelldateien mit 11 Header-Dateien und verwendet umfangreiche Tastatur- und Mausereignisse sowie Sounds. Alle Quelldateien verwenden C++ und SDL.Most Quelldateien sind etwa 200 Zeilen Code. Ich habe einen Zeitraum von ungefähr 3 Monaten, um die änderungen vorzunehmen. Ich würde gerne wissen, wie man eine grundlegende Zusammenfassung meines Zeitplans für diesen Zeitraum auf einer Woche oder 2 Wochenbasis schreibt. Kann mir jemand die richtigen Schritte für das gleiche geben, damit ich einen Zeitplan für das gleiche machen kann?Ich suche nach Schritten, um ein Spiel auf SDL 2.0 zu aktualisieren

+3

Warte, das Spiel ist nur ~ 6 KLOC? Ich bin mir nicht sicher, ob du realistischerweise den Zeitplan auf drei Monate auffüllen kannst ...;) – duskwuff

+1

Ich bin nur ein Anfänger –

+0

Klingt nach einem guten Sommerprojekt –

Antwort

0

Ich weiß nicht, von Standardverfahren, aber hier sind meine Gedanken:

Im Allgemeinen ich entweder von zwei Ansätze zur Portierung einer bestehenden Software eine andere Sprache denken kann, die Verwendung einer anderen Bibliothek oder jede Änderung von solchen; mit minimaler Strukturänderung oder mit großen Strukturveränderungen.

Minimale Strukturänderung bedeutet, dass Sie die Struktur Ihres Programms intakt lassen und jedes einzelne Bit durch das entsprechende in der anderen Bibliothek ersetzen. Wenn Sie beispielsweise von "Überlauf" auf "SDL" umstellen, ersetzen Sie die Erstellung des Überlauffensters durch SDLs, die Tastaturbehandlung mit SDLs usw. unabhängig voneinander.

Diese Methode ist schneller, in dem Sinne, dass alle Änderungen klein und lokal sind. Sie sind auch weniger wahrscheinlich, Bugs einzuführen. Das Ergebnis ist möglicherweise nicht so effizient, da die Struktur des Programms ursprünglich nicht für diese neue Bibliothek entworfen wurde.

Hauptstrukturänderung bedeutet, dass Sie basierend auf der neuen Bibliothek einen großen Teil des Programms neu schreiben, das von dieser Bibliothek abhängig ist. Wenn Sie zum Beispiel von C++'s STL zu C's Standardbibliotheken wechseln, macht das Umschreiben von string mit seinem Äquivalent in C, das Zuweisen/Freigeben/Kopieren erlaubt, keinen Sinn, da Ihr Ansatz grundlegend anders sein sollte.

Dieser Ansatz erfordert viel mehr Arbeit, aber am Ende wird Ihnen eine viel bessere Qualität geben.


Zurück zu Ihrem speziellen Fall, ich bin nicht sicher, wie verschiedene SDL 2 von SDL ist 1.2, aber meine Vermutung ist es nicht grundsätzlich anders ist. Daher glaube ich, dass die erste Methode in Ihrem Fall funktionieren sollte. Das heißt, Sie sollten die Entsprechungen in SDL 2 der Sachen, die Sie in SDL 1.2 gemacht haben, ausarbeiten und sie entsprechend in Ihrem Code ersetzen.

Verwandte Themen