Orbiter2010アドオン作成マニュアル

Last-modified: 2011-09-12 (月) 18:16:31

OrbiterはVC++でアドオンを作成できます。
Orbiter2010とVisualC++ 2010 Expressでサンプルアドオンを作成する手順を紹介します。
(基本的にVisualC++ 2008 Expressの場合とほとんど変わりません)
※64bit版のWindows7上のVisualC++ 2010 Expressでも動作確認できました。

 

○事前インストール
・Orbiter2010
・VC++2010Express
○作成手順
・新しいプロジェクトで、空のプロジェクトを選択
 ・作成するプロジェクト名を「test1」など入力
 ・場所を「C:\Orbiter2010\Orbitersdk\samples\」などに指定
 ・「ソリューションのディレクトリを作成する」のチェックを外す
 ・OK押下
・プロジェクトの右クリック-追加で、既存の項目から、orbitersdk/lib/orbiter.libとorbitersdk/lib/orbitersdk.libを追加
・ソースファイルの右クリック-追加から、新しい項目で、名前をmain.cppなどで.cppを新規作成
・上記ソースファイルを記述
・プロジェクトの右クリック-プロパティで、
 ・構成プロパティ-全般-プロジェクトの規定値-構成の種類を「ダイナミック ライブラリ(.dll)」
 ・構成プロパティ-全般-プロジェクトの規定値-文字セットを「マルチ バイト文字セットを使用する」
 ・構成プロパティ-全般-全般-ターゲットの拡張子を「.dll」
 ・構成プロパティ-デバッグ-コマンドを「C:\Orbiter2010\orbiter.exe」など
 ・構成プロパティ-デバッグ-作業ディレクトリを「C:\Orbiter2010\」など
 ・構成プロパティ-C/C++-全般-追加のインクルード ディレクトリを「../../include」
 ・構成プロパティ-C/C++-コード生成-ランタイム ライブラリを「マルチスレッド (/MT)」
 ・構成プロパティ-リンカー-全般-出力ファイルを「../../../modules/plugin/test1.dll」など
 ・構成プロパティ-リンカー-入力-特定の規定のライブラリの無視を「msvcirt.lib,msvcrt.lib」
・デバッグ開始でOrbiterの起動の確認
・モジュールタブにtest1モジュールがあることを確認し、アクティブにする。
・LaunchOrbiter押下で動作確認

 

※main.cppサンプルソースコード(画面左下のデバッグエリアにシミュレーション上の年月日時刻を時刻13桁まで表示、12桁まで実動のMJDで表示)

 

#define STRICT

#define ORBITER_MODULE

#include <orbitersdk.h>

DLLCLBK void opcPreStep(double simt, double simdt, double mjd)

{

 sprintf(oapiDebugString(), "%.13f", oapiGetSimMJD());

}

 

○参考チュートリアル(VC++2008Expressの場合):http://www.youtube.com/watch?v=VBRLkN__YIo
○参考資料:API_Reference.pdf
○参考ソースファイル:\Orbitersdk\samples\mmu\mmu.cpp(内容をそのままコピーするだけで上記の方法で作った新規アドオン名でも動きます。
※VC++の古いバージョンで作られたモジュールを移植する場合、プロジェクト自体をIDEで開いて移行処理をしてしまうよりも新規でプロジェクトを作成し、コーディング内容をコピーした方がすんなり動くようです。)