Wine で Sims2 をプレイする (Sims2 の起動)

Sims2 インストール
Wine 環境に Sims2 をインストールします。
CD/DVD 内にあるセットアップの実行ファイルを、ビルドした Wine で実行します。

$ winesims-wine setup.exe

インストール先は、デフォルトで c:\ ドライブ下になるので、実際には 「<wine_prefix>/drive_c/Program Files」 ディレクトリ下になります。
もし空き容量が気になる場合は、インストール先を変更してください。
全パックがある場合、全部で 14GB ほどあります。

あと、DirectX はインストールする必要はありません。
Sims2 を起動する
では、実際に Wine で Sims2 を起動してみましょう。
実行ファイルを探す
まず、Sims2 の実行ファイルがどこにあるか探してみます。
Sims2 のインストールディレクトリ下を見てみると、「The Sims 2 ...」 のディレクトリがいくつか並んでいると思います (追加パックなどがある場合)。

The Sims 2」 ディレクトリには、最初のリリースのファイルが格納されていて、それ以外のディレクトリは、それぞれのデータセット/追加パックのファイルが格納されています。

この中からどの実行ファイルを起動すればいいかというと、基本的には、インストールされているパックの中で一番最後にリリースされたパックの TSBin ディレクトリ下にある Sims2EP?.exe または Sims2SP?.exe ファイルです。

最後にリリースされたパック (EP9) がある場合、「Mansion and Garden Stuff」 または 「Fun with Pets」 ディレクトリ内にある Sims2EP9.exe を実行することになります。
ただ、いくつかの追加パック (SP4〜8) については、直近のデータセットの Sims2EP?.exe の方を実行する場合があります。

Sims2 インストール時に、メニューやショートカットを作成した場合は、そのショートカットファイルのリンク先を見て、実行ファイルを確認してみてください。
Wine で実行する
実行ファイルが見つかったら、その exe ファイルを Wine で実行します。

## フルスクリーン

$ winesims-wine <exe_file>

## ウィンドウモード (幅と高さは好きな値を指定してください)

$ winesims-wine <exe_file> -w -r1024x768

Wine 設定で、「仮想デスクトップのエミュレート」 を ON にした場合は、フルスクリーンで起動した方が良いです。
OFF にした場合は、ウィンドウモードにしてください。

起動後は、端末に大量にメッセージが出ますが、ほとんど気にしなくて構いません。

近所画面が出たら、試しにどこかに入ってみてください。
シムの生活画面に入ると、3D の描画が正しく表示されていない場合があるかもしれません。

とりあえず、一旦 Sims2 を終了させます。
シェーダを有効にする
Wine 上で Sims2 を問題なくプレイするためには、チートコード 「boolProp useShaders true」 で、GPU のシェーダを有効にする必要があります。

Sims2 実行中に 「Ctrl+Shift+C」 キーでプロンプトを開いて、上記のチートコードを入力した場合は、ほぼ正しく描画されても一部問題が残る場合がありました。
そこで、Sims2 起動時に常に上記のチートを適用させるようにしてみます。

userStartup.cheat
<wine_documents>/EA Games/The Sims 2/Config」 ディレクトリに、「userStartup.cheat」 のファイルを新規作成します。
(このディレクトリは、Sims2 を一度起動させれば、自動で作成されます)

Wine のドキュメントディレクトリのデフォルトは、~ または ~/Documents などです。

作成したファイルをテキストエディタで開き、適用したいチートコードを1行ごとに記述していきます。
今回の場合は、以下の内容になります。

boolProp useShaders true

編集できたら、再度 Sims2 を起動します。
起動時に、userStartup.cheat のチートコードが適用されます。

環境にもよるかもしれませんが、うちの場合は、これで問題なく描画されるようになりました。
シェーダモデルの選択
シェーダー」 は、3D の陰影処理を行うプログラムのことです。

Sims2 は DirectX 9.0c を使っており、DirectX 9.0c では、シェーダモデルは ver 3 まで対応しています。

Wine 上では、(GPU が対応していれば) デフォルトで ver 3 が使われます。
ver 3 で正しく描画出来なかった場合は、ver 2 に設定してみてください。
レジストリ編集
シェーダモデルを変更したい場合は、Wine 上でレジストリを編集します。
レジストリエディタを起動してください。

$ winesims-wine regedit

[HKEY_CURRENT_USER\Software\Wine\Direct3D]
MaxShaderModelPS : (DWORD) 2 or 3
MaxShaderModelVS : (DWORD) 2 or 3

Direct3D キーが作成されていない場合は、まずキーを作成してください。

GUI のレジストリエディタで編集するのが面倒な場合は、以下の内容をテキストファイルに保存して、レジストリエディタでインポートさせてください。

REGEDIT4

[HKEY_CURRENT_USER\Software\Wine\Direct3D]
"MaxShaderModelPS"=dword:00000002
"MaxShaderModelVS"=dword:00000002
実行結果
うちの環境では、「boolProp useShaders true」 が有効になっている場合は、ver 2/3 ともにほとんど変わりませんでした。

ただし、「useShaders false」 の状態では、ver 2 だと、シムや一部のオブジェクトが赤くなりました。
ver 2 を使う場合も、「boolProp useShaders true」 は必須です。

シェーダモデルのどちらを使うかは、実際に試してみて決めてください。
ver 3 で問題ないのなら、新しい方のバージョンを使った方が良いでしょう。
そのほか
起動時の動画を無効にする
Sims2 起動時に常に動画が再生されますが、無駄なので無効にしておきます。

イントロ動画については、「<sims2_install>/The Sims 2/TSData/Res/Movies/intro_eng_audio.movie」 を削除またはリネームで再生されなくなります。

EA ロゴの動画の場合は、「ealogo_audio.movie」 のファイル名ですが、各追加パックのディレクトリに複数の ealogo_audio.movie ファイルが格納されているので、それらをすべて削除またはリネームしないと、動画が再生されてしまいます。

一括でリネームしたい場合は、Sims2 のインストールディレクトリ上で、以下のコマンドを実行します。

$ find . -name ealogo_audio.movie -exec rename ealogo _ealogo {} \;

find コマンドで、カレントディレクトリ下のすべての ealogo_audio.movie ファイルを検索し、各ファイルを rename コマンドで 「ealogo*」 から 「_ealogo*」 にリネームします。
レジストリをエクスポートしておく
今後、何らかの問題があって、Wine prefix ディレクトリを削除して再作成したい場合 (Windows をクリーンインストールした状態に戻したい場合)、Sims2 を再インストールしなければならないので、面倒です。

しかし、Sims2 をインストールしたディレクトリを、別のディレクトリに移動して残しておいて、後から Wine 環境内に組み込めれば、Sims2 の再インストール処理は必要なくなります。

そのためには、Sims2 インストール時に書き込まれたレジストリの値が必要になります。
なので、何かあった時のために、Sims2 関連のレジストリの内容を保存しておきましょう。

必要なのは以下のキーの値です。

(必須)

[HKEY_LOCAL_MACHINE\Software\EA GAMES]
[HKEY_LOCAL_MACHINE\Software\Electronic Arts]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths]

(アンインストール情報)

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\<sims2_name>]

(.sims2skin の関連付け)

[HKEY_CURRENT_USER\Software\Wine\FileOpenAssociations\.sims2skin]
[HKEY_LOCAL_MACHINE\Software\Classes\.Sims2Skin]
[HKEY_LOCAL_MACHINE\Software\Classes\The Sims 2 Package Installer]

regedit で GUI で操作してエクスポートすることもできますが、保存したいキー名がわかっている場合は、-e オプションを指定して、コマンドラインでエクスポートすることもできます。

$ winesims-wine regedit -e sims2a.reg 'HKEY_LOCAL_MACHINE\Software\EA GAMES'
$ winesims-wine regedit -e sims2b.reg 'HKEY_LOCAL_MACHINE\Software\Electronic Arts'
$ winesims-wine regedit -e sims2c.reg 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths'

App Paths のキー内には、Sims2 と関係ない値も入っているので、テキストエディタでその部分を削除しておいてください。

ちなみに、Wine では、全てのレジストリ情報は 「<wine_prefix>/*.reg」 ファイルにテキスト形式で記録されているので、このファイルを保存しておけば、簡単にすべてのレジストリを復元できます。
しかし、Sims2 の情報だけ抜き出しておいた方が使い勝手がいいので、ここでは必要な部分だけエクスポートしておきます。
Wine prefix を再作成して状態を復元する場合
Wine prefix を再作成して、Sims2 のインストール状態を復元する場合の手順を説明します。

1. Sims2 が Wine prefix のディレクトリ下にインストールされている場合は、Sims2 のインストールファイルがあるディレクトリをどこか別の場所 (Wine prefix の外) に移動します。
2. Wine prefix のディレクトリを丸ごと削除します。
3. winecfg を実行して、Wine prefix の再作成と Wine 設定を行います。
4. 保存してあるレジストリファイルの Sims2 のパスを修正する。
5. Sims2 のレジストリを復元します。

Sims2 のパスの修正方法
Sims2 のインストールディレクトリを別の場所に移動する場合は、保存した Sims2 のレジストリファイル内のパス部分を修正する必要があります。

レジストリファイルをテキストエディタで開き、Sims2 関連のパス部分をすべて置き換えます。

なお、フォルダの区切りが、「\\」でバックスラッシュ2つになっているのに注意してください。
値の文字列は " " で囲まれているので、「\」を通常の1文字にするには、エスケープする必要があります。

レジストリ復元方法
レジストリファイルの内容を復元したい場合は、
regedit でレジストリエディタを開いて、メニューの「レジストリ」→「レジストリのインポート」で行うか、コマンドラインでインポートします。

$ winesims-wine regedit -s sims2.reg