アットウィキロゴ
2010/5/16のペリク鯖バックアップ
掲示板 掲示板 ページ検索 ページ検索 メニュー メニュー

2010/5/16のペリク鯖バックアップ

CvGameCoreDLL.dllの作り方

最終更新:

civilization

- view
だれでも歓迎! 編集

MOD/作成情報/CvGameCoreDLL.dllの作り方

概要

Visual C++ 2008 Express Editionを使ってCvGameCoreDLL.dllを作る方法を説明します。Civ4 BtS 3.13 日本語版を使用。

参考URL

第9回CivilizationIVMOD解説講座‐ニコニコ動画(ββ)
この文書はほぼこの動画をテキスト化したものです。動画の作者の人ありがとう。
第10回CivilizationIVMOD解説講座‐ニコニコ動画(ββ)
BtS 3.13 用SDKの入手法
Installing and using the SDK - Civilization Fanatics' Forums
Civfanaticsのスレッド
Civilization Fanatics' Forums - Downloads Database - Makefile/Instructions BTS 3.17 SDK / Debugging
Visual C++ 2008でSDKを開発する方法の解説。このページを書いてから存在に気付いたぜ……

Visual C++ 2008 Express Edition のインストール

http://www.microsoft.com/japan/msdn/vstudio/Express/

#ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (50%)

上記URLからダウンロードしてセットアップを実行。

Visual C++ Toolkit 2003 のインストール

http://kael.civfanatics.net/files/VCToolkitSetup.exe

マルチスレッドライブラリのダウンロード

C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib に上記の3ファイルを置く。

Microsoft R Windows Server 2003 R2 Platform SDK のインストール

http://www.microsoft.com/downloads/details.aspx?FamilyId=0BAF2B35-C656-4969-ACE8-E4C0C0716ADB

SDKとmakefileの入手

CvGameCoreDLL.dllのソースコードとビルドに必要なライブラリがSDKとしてBtS英語版には同梱されています。しかし日本語版には含まれていないので、どこからか探してくる必要があります。今回はCiv4:BTS Unofficial Patchのリポジトリに入っている修正前のSDKを使います。
http://civ4btspatch.svn.sourceforge.net/viewvc/civ4btspatch/CvGameCoreDLL/trunk/?pathrev=2

#ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (50%)

ページ下部の「Download GNU tarball」からダウンロードして解凍。

パッチ付属のSDKを使う場合、makefileが含まれていないため、この辺から別途makefileを入手し、CvGameCoreDLL直下に放り込む。
TOOLKIT=D:/Programme/Microsoft Visual C++ Toolkit 2003/
PSDK=D:/Programme/Microsoft Platform SDK
のパスは自分の環境に合わせて修正すること。

プロジェクトの作成

Visual C++ 2008 を起動してプロジェクトを新規作成。

#ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (50%)

左ツリー「プロジェクトの種類」の「全般」を選択、画面右テンプレートで「メイクファイル プロジェクト」を選択。画面下のプロジェクト名と保存場所は適宜。「ソリューションのディレクトリを作成」はとりあえずオフに。

#ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (50%)

ウィザードで設定。

  • デバッグ構成の設定
ビルドコマンドライン
nmake Debug
消去コマンド
nmake clean_Debug
#ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (50%)
  • リリース構成の設定
デバック構成と同じ
off
ビルドコマンドライン
nmake Final_Release
消去コマンド
nmake clean_Final_Release
#ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (50%)

入力後「完了」で設定終了。

ダウンロードしたSDKのファイルをすべてプロジェクトのフォルダにコピー

#ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (50%)

ビルド

ビルドの対象をReleaseにして

#ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (50%)

開始!

#ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (50%)

文字化けでエラー。CvGameTextMgr.cpp 2092行をとりあえずコメントアウトして凌ぐ。

#ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (50%)

再びビルドして無事成功。[プロジェクトフォルダ]\Final_Release\CvGameCoreDLL.dll が目的のdllです。MODS\[MOD名]\Assets に置けばOK。

動作確認

CvUnit::canMove() で常に true を返すようにしてみる。

#ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (50%)

できた CvGameCoreDLL.dll を My Documents\My Games\Beyond the Sword(J)\MODS\DllTest\Assets にコピーして civilization を起動、MOD DllTest をロード。

#ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (50%)

いくらでも移動できるようになりました。作成したdllが働いていることが分かります。

タグ:

+ タグ編集
  • タグ:
記事メニュー
最近更新されたスレッド
ウィキ募集バナー