2012-04-06 1 views
1

私はSDL 2.0のヘッダファイルと機能を使うためにSDL 1.2を使用するゲームの既存のバージョンを更新する必要がある友達とプロジェクトを進めています。 私は、既存のソースコードをより新しいライブラリに更新する際に、私たちが従う標準的な手順は何かを知りたいと思います。 コードには11個のヘッダーファイルを含む28個のソースファイルがあり、キーボードとマウスのイベントとサウンドも同様に幅広く使用しています。 すべてのソースファイルは、C++とsdlを使用します。ほとんどのソースファイルは約200行のコードです。 私は変更を行うために約3ヶ月の期間を持っています。私はその期間の週の基本的な要約を週単位または2週間単位で書く方法を知りたいと思います。 私は同じもののための適切な手順を提供する誰も私は同じのためのスケジュールを作ることができますか?私はSDL 2.0にゲームをアップデートするステップを探しています

+3

待って、ゲームは〜6 KLOCだけですか?私はあなたが現実的に3ヶ月にスケジュールを張ることができるとは確信していません...;) – duskwuff

+1

私はちょうど初心者です –

+0

良い夏のプロジェクトのような音 –

答えて

0

私は標準的な手順を知っているが、ここで私の考えているしていない。一般的には

、私は別の言語、別のライブラリの使用、または変更のいずれかに既存のソフトウェアを移植する二つのアプローチを考えることができますそのようなものの;最小の構造変化 または大きな構造変化を伴う。

最小構造変更は、プログラムの構造をそのまま残しておき、他のライブラリ内の同等のもので置換することを意味します。たとえば、glutからSDLへの移植の場合、glutウィンドウの作成をSDLのもの、SDLのキーボード処理などをすべて独立して置き換えます。

この方法は、すべての変更が小規模でローカルなという意味で、高速です。また、バグを導入する可能性も低くなります。プログラムの構造はもともとこの新しいライブラリ用に設計されていないので、結果はあまり効率的ではないかもしれません。

重要な構造変更は、新しいライブラリに基づいて、そのライブラリに依存するプログラムの大部分を書き換えることを意味します。たとえば、C++のSTLからCの標準ライブラリに切り替える場合、stringをC言語で同等のものに書き換えることは、あなたのアプローチが基本的に異なっているはずなので、意味がありません。

このアプローチではさらに多くの作業が必要ですが、最終的にははるかに優れた品質が得られます。戻るあなたの特定のケースに


、私はSDL 2は、SDL 1.2からですが、私の推測では、それは根本的に違いはないのですがどのように異なるか分かりません。したがって、私は最初の方法はあなたの場合に動作するはずと考えています。つまり、SDL 1.2で行ったことと同等の処理をSDL 2で行い、それに応じてコード内で置き換える必要があります。

関連する問題