このページでは一部、アリスソフト製品の画像素材を加工・引用しています。これらの素材を他へ転載することを禁じます。
SD35C/SD35Zについて
SD35Cは16bitカラー画面を持つPocketPCデバイスで、SD35ZはVGA液晶を持つLinux Zaurus機(SL-Cxxx)デバイスでアリスソフトのSystem3.x対応ソフトを実行するためのプログラムです。
水口さんの作られた BeOS用のSystem3.x シナリオデコーダであるSD35B DR3.4をベースにPocketPC用に移植したものです。また、System 3.x for X Window Systemのコードも参考にしています。
ゲームをプレイするには、別途オリジナルの製品が必要となります。
なお、(SACT使用した)System3.9、System4.0のゲームには未対応です。
動作環境
SD35C/SD35Zの動作環境は以下の通りです。
SD35C
カラーデバイスを持つARM/MIPS系のPocketPCデバイス。
一応、PocketPC / PocketPC2002 / PocketPC2003/PocketPC2003SE / Windows Mobile 2005 で動作するように作成したつもりですが、現時点で確認が取れているものは以下の通りです。
- GENIO-e(PocketPC ARM)
- PocketLoox v70
SD35Z
VGA液晶を持つLinux Zaurusデバイス。
現時点では、C700でのみ動作を確認しています。
必要メモリ
ゲームにもよりますが、大量のメモリを必要とします。
8bit色モードのゲームで数MB、16bit色や32bit色のゲームだと10MB以上消費することも珍しくありません。
可能な限りメモリを空けて置いてください。
sd35zの場合はswapを作るのも手です(というか、私は64MBのswapをSDカード上に作って動かしています)。
SD35C/Zは基本的にエラーチェックが甘いので、メモリ不足が発生すると有無を言わさず落ちたり、不正な動作をしたりします。
その他、必要なソフトウェア
プレイしたいSystem3.x対応ソフトが必要です。
SD35CをPocketPC(2000)機で動かす場合はgx.dllが必要です。gx.dllはMicrosoftのサイトからダウンロードすることが出来ます。
BGMをCDDAを再生する場合はmad_yceが、MIDIで再生する場合はtimid_yceが各々必要となります。
ダウンロード
現在の最新版は“SD35C(Z) DR3.4 p1.55-3/Kanako”です。
SD35C
- PocketPC/PocketPC 2002 ARM搭載デバイス用
- PocketPC/PocketPC 2002 MIPS搭載デバイス用
- PocketPC2003(SE)用
- Windows Mobile 2005用
SD35Z
MAD_YCE
正式公開版のMAD_YCEは現在のSD35Cが正しく動作しない可能性があります。SD35C利用の方はこちらの物件を使用してみて下さい。
SD35Zの場合は正式公開版で大丈夫な筈です。
TIMID_YCE
正式公開版のTIMID_YCEでは現在のSD35Cが正しく動作しない可能性があります。SD35C利用の方はこちらの物件を使用してみて下さい。
SD35Zの場合は正式公開版で大丈夫な筈です。
ソース
GPL2に基づいてソースを公開しています。ビルド方法についてはdoc/build.*.txtを参照下さい。
インストール
SD35C
SD35Cをインストールするにはアーカイブを解凍し、SD35C.exeと同梱されているdllを同じディレクトリにインストールしてください。
SD35C.cfgは必要であれば同梱されているものを編集してインストールしてください。
SD35C.cfgの内容に関しては『SD35C/SD35Z設定ファイルについて』を参照してください。
SD35Z
SD35Zをインストールするにはダウンロードしたアーカイブを解凍し、ipkファイルをデバイスに転送してからアプリケーションの追加と削除からsd35zをインストールしてください。
アプリケーションの設定ファイル.sd35rc.s35はipkに入っていませんので必要に応じて作成して$HOMEディレクトリに格納してください(Windowsからマウントされる場所は$HOME/Documentsですので、ファイルを$HOMEに移動する必要があります)。
また、freetype2がインストールされていない場合は、ここからインストールしてください。このfreetype2以外の物件ではテストしていません(libSDL同梱のものとか…)。
ゲームのインストール
ゲームを本体もしくはメモリカードにコピーします。SD35Cでは/My Documentsの下に、SD35ZではDocumentsの下にコピーする必要があります(SD35Zでは設定ファイルで格納場所を変更することもできます)。
ゲームをコピーしたディレクトリにゲーム設定ファイルを拡張子s35で作成する必要があります。ゲーム設定ファイルの詳細については『SD35C/SD35Z設定ファイルについて』を参照してください。
ゲーム中の操作
ゲーム選択画面
ゲーム選択画面にはインストールされているゲームの一覧が表示されます。
ゲームを選択すると、そのゲームが始まります。右上のQUITをクリックするとプログラムを終了します。
ゲームが一画面に収まらない場合はNEXT/PREVをクリックすることで表示画面を切り替えることができます。
キーで操作する場合はカーソルキーの上下でゲームの選択位置を変更して、リターンキーで選択します。
カーソル左右キーで表示画面を切り替え、ESCキーでプログラムを終了します。
実際のキーの割り当てについては『SD35C/SD35Z設定ファイルについて』の『KEYSセクション』および『SELECT_KEYSセクション』を参照してください。
ゲーム中の操作
通常操作モードと簡易操作モード
操作モードには通常操作モードと簡易操作モードの二種類があります。
それぞれの違いは以下のとおりです。
| 通常操作モード |
ペンの操作でマウスの移動を行います(マウスカーソルは表示されていませんが、内部的なマウスの位置が変更されています)。 マウス左ボタンキー、マウス右ボタンキーで各々マウスの左ボタン、右ボタンのクリック操作を行います。 |
|---|---|
| 簡易操作モード |
ペンのクリックでマウスの左ボタンのクリックを行います。ペンのドラッグはマウスの左ボタン押下ドラッグに相当します。 マウス左ボタンキーを押しながらのペンダウンでマウスの左ボタンクリック無しにマウスの移動を行うことができます。 マウスの右ボタンキー押下でマウスの右ボタンクリックの操作を行うことができます。 |
マウス左ボタンキー、マウス右ボタンキーが実際にどのボタンに割り当てられているかはSD35C/SD35Z設定ファイルについてのKEYSセクションを参照してください。
通常操作モードと簡易操作モードはメニューで切り替えることができます。
また、設定ファイルでeasyOperationを設定することでゲーム起動時から通常操作モード、簡易操作モードを切り替えることができます。
メニュー表示
メニューバー表示ボタンの押下でメニューを表示することができます。メニューでは以下の操作を行うことができます。
| システム | 選択画面に戻る | ゲームを終了して選択画面に戻ります。 |
|---|---|---|
| サスペンド | プログラムを終了させないまま、背面にまわします。 現時点ではSD35Cしか正しく動作しません。 | |
| 終了 | プログラムを終了します。 | |
| 選択肢 | 次の選択肢まで飛ばします。 | |
| ズーム | 縮小表示されている場合は、等倍に表示します。ペンのドラッグ/カーソルキーで表示領域を切り替えることができます。 | |
| 簡易操作 | 通常操作モード、簡易操作モードを切り替えます。 | |
SD35C/SD35Z設定ファイルについて
SD35C/SD35Zでは設定ファイルが2種類存在します。
一つは全てのゲームで共通に使用される設定ファイルでSD35Cでは実行バイナリと同じ場所にあるSD35C.cfgで、SD35Zではホームディレクトリ(~/Documentsではなく~/直下であることに注意)の.sd35rc.s35(このファイル名は次のバージョンで変更するかも……)です。以下の説明ではこのファイルをアプリケーション設定ファイルと呼ぶことにします。
もう一つはゲーム毎の設定ファイルで、これは通常ゲームのデータを格納した場所に???.s35(???はディレクトリ内でユニークであれば問題ない)という名前でおかれるファイルです。以下の説明ではこのファイルをゲーム設定ファイルと呼んでいます。
両方とも同じフォーマット(Windowsのiniファイルに似た形式)です。
[]で囲まれたセクションがあり、その後ろに一行毎にkey=valueという形でセクション毎のプロパティの設定を行います。
なお、;以降は全てコメントとして扱われます(つまり、セクション名、キー、値に;を含めることは出来ません)。
また、セクション名、キー、値とも大文字小文字が区別されることに注意してください。
アプリケーション設定ファイルとゲーム設定ファイルの両方で同じセクション、同じキーで異なる値で設定された場合は、ゲーム設定ファイルの方の指定が優先されます。
設定ファイルで漢字を使用する場合は必ずShift_JISで記述されている必要があります。
INFOセクション
INFOセクションにはゲームのタイトル等を指定します。
| name |
nameキーではゲームの名前を指定します。 |
|---|---|
| longdesc |
longdescではゲームの説明を指定します。 |
| easyOperation |
easyOperationにはtrue/falseのいづれかの値を指定します。 |
| forcebpp |
forcebppは32bppのゲームが起動されたときに内部で強制的に16bppとして処理を行うためのプロパティです。値としては16もしくは32が指定可能です。 このプロパティを指定すると内部のバッファも16bppで確保されるため、メモリ消費が(バッファ分に関しては)半分で済むというメリットがあります。また、メモリ間転送の量も処理によっては半分になるので速度向上が見込めるかもしれません(が、処理によっては16bpp→32bpp→16bppという処理が行われるものもありますので一概に向上するとは言えません)。 ただし、ゲームによっては32bpp→16bppによる計算誤差によって動作不正を起こす可能性があることに注意してください。 |
| InitViewWidth |
従来のゲームでは一旦640x400の画面で起動してから640x480等にリサイズされていました。 しかしSystem39.iniなどで初期ビューサイズを指定されているゲームもあります。そのような場合にはそのiniファイル中のViewWidthの内容をInitViewWidthで指定するようにしてください。 |
| InitViewHeight |
従来のゲームでは一旦640x400の画面で起動してから640x480等にリサイズされていました。 しかしSystem39.iniなどで初期ビューサイズを指定されているゲームもあります。そのような場合にはそのiniファイル中のViewHeightの内容をInitViewHeightで指定するようにしてください。 |
SD35Zセクション
SD35Zでのみ有効な設定です。
ここではsearchDirプロパティのみが指定可能です。
このプロパティはプログラム起動時のみ意味をもつプロパティですので、必然的にアプリケーション設定ファイルでのみ指定可能となります。
| searchDir |
ゲームを検索するディレクトリの名前を指定します。 ゲーム選択画面では$HOME, /mnt/card, /mnt/cfからここで指定したディレクトリの下の*.s35のファイルを検索します。デフォルトは/Documentsです。 SD35CとSD35Zで同一のCF/SDカードを使用するような場合にはここに/My Documentsを指定すればよいでしょう(というよりもそれをする事くらいしかこのプロパティを指定するメリットはありません)。 |
|---|
FILESセクション
FILESセクションにはゲームで使用するファイル(ALD)を指定します。そのため、ゲーム設定ファイル以外で指定されることはありません。
| file00~ |
ゲームで使用するファイルを指定します。番号の部分は必ず00から始まる連番になっている必要があります。 通常、System3.xのゲームではファイル名が『ゲーム名+(G/S/M/W/D){A/B/C/...}.ALD』のように命名されています。 SD35C/SD35Zではファイル名のこれら2文字を見てデータ種別、インデックスを判別していますのでこの部分はファイル名を変更してはいけません(あと、拡張子もALDのままである必要があります)。 なお、System3.0時代のゲームをSystem3.xへの移植キットを使って変換したような場合にはファイル名が『{A/B/C...}DISK.ALD』、『{A/B/C...}CG.ALD』、『{A/B/C...}MIDI.ALD』のようになっている場合がありますが、その場合にはファイル名を各々『~S{A/B/C...}.ALD』、『~G{A/B/C...}.ALD』、『~M{A/B/C...}.ALD』にリネームして、それをfile00~に指定する必要があります。 SD35C/SD35Zでは(G/S/M/W/D)の種別各々について最大5つまで({A/B/C/D/E/F})指定できます。 |
|---|---|
| ain |
ゲームでSystem3.9.ainを使用されている場合には、ここにain=ファイル名で指定する必要があります。 |
| shortname |
ゲーム中で大文字8.3文字のいわゆるDOS形式のファイルをアクセスするときのアクセス方法を指定します。指定可能な値は以下の通り。
shortnameにupperが指定されたときは、(その名と反して)ファイル操作時に特別な処理を行いません。 shortnameにlowerが指定されたときは、大文字8.3文字のファイル名(FOO.BAR等)をアクセスするときに内部的に小文字に変換して(foo.bar)アクセスします。 shortnameにforcelower/forceupperが指定されたときは、ファイル名の長さにかかわらずファイル名を子文字化/大文字化してアクセスします(Foofoofoo.bar → foofoofoo.bar/FOOFOOFOO.BAR)。 このオプションはSD35Cでは指定する必要はないかと思われます(ファイルシステムが大文字小文字を区別しないため)。 |
Soundセクション
音楽/音声再生関連の設定を行います。
※ このセクション名は近い将来[SOUND]のように全て大文字に変わる可能性が高いです。
| Rate |
音楽の再生レートを指定します。11025/22050/44100が指定可能です。 MIDIでBGMを鳴らす場合はtimid_yceのサウンドファイル作成時に使用したレートを、mp3でBGMを鳴らす場合はmp3ファイルのレートと合わせておく方が無難かと思われます。 デフォルト値は22050です。 |
|---|---|
| cdda |
cddaでbgmを鳴らすゲームの場合はuseを、そうでない場合はnouseを指定します。 |
| midi |
midiでbgmを鳴らすゲームの場合はuseを、そうでない場合はnouseを指定します。 |
| pcm |
PCMを鳴らすゲームの場合はuseを、そうでない場合はnouseを指定する必要があります。 |
| extpcm |
System3.6以降で拡張された拡張pcmのチャンネル数を指定します。 |
| mp3type |
mp3再生時に使用するmp3モジュールの種類を切り替えます。 |
CDDAセクション
ゲームのBGMをCDDAで鳴らすようなゲームの場合は、あらかじめCDのCDDA部をmp3でリッピングしておく必要があります。
| track??~ |
CDDAのトラックをリッピングしたmp3ファイルのファイル名を指定します。 |
|---|
MIDIセクション
| PatFile |
timid_yce2インストール時に作成した変換済みサウンドファイルへのフルパスを指定します。 |
|---|
FONTセクション
FONTセクションではフォントマネージャに関する指定を行います。 フォントマネージャは現時点ではSD35Cでは未サポートですので、SD35Zでのみ有効となります。
| fonttype |
fonttypeで使用するフォントマネージャを指定します。qtもしくはftが指定可能です。 qtを指定した場合はqpfフォントを使用してレンダリングを行うフォントマネージャが、ftを指定した場合はTrueTypeフォントを使用してレンダリングを行うフォントマネージャが選択されます。デフォルトはqtです。 qtを指定した場合、内蔵しているqpfフォントのサイズのみが正しく表示されるため、ゲームによっては描画が正しく行われない可能性が高いです。また、後のFONT_QTセクションの指定を行う必要があります。 ftを指定した場合はあらかじめlibfreetype.so.6.3.2(※)と使用するTrueTypeフォントをインストールしておく必要があります。 また、後のFONT_FTセクションの指定を行う必要があります。 フォントマネージャはftを使用した方がqtでの描画と比べて(ゲームで使用するフォントが正しくインストールされている限りにおいて)正確な描画が行えます、qtに比べて速度が遅く、またメモリも多く消費されます。 ※ 現在のバージョンのSD35Zでは(手抜きのため)fonttypeにqtを指定する場合でもlibfreetype.soが必要である(インストールされていない場合は起動できない)。 |
|---|
FONT_QTセクション
SD35Zでのみ有効。
FONTセクションでfonttype=qtを指定した場合のみ適用されます。
| GothicFontName |
ゲームでゴシック体フォントを表示するときに使用するqpfフォントのファミリ名を指定します。 |
|---|---|
| MinchoFontName |
ゲームで明朝体フォントを表示するときに使用するqpfフォントのファミリ名を指定します。 |
| MenuFontName |
ゲームでメニューを表示するときに使用するqpfフォントのファミリ名を指定します。 |
| GothicFontFace |
ゲームでゴシック体フォントを表示するときに固定ピッチで表示するかプロポーショナルで表示するかを指定します。固定ピッチの場合は0を、プロポーショナルの場合は1を指定します。 |
| MinchoFontFace |
ゲームで明朝体フォントを表示するときに固定ピッチで表示するかプロポーショナルで表示するかを指定します。固定ピッチの場合は0を、プロポーショナルの場合は1を指定します。 |
| MenuFontFace |
ゲームでメニューを表示するときに固定ピッチで表示するかプロポーショナルで表示するかを指定します。固定ピッチの場合は0を、プロポーショナルの場合は1を指定します。 |
| FontRotate |
フォントのローテートの向きを指定します。-1/0/5/10/15が指定可能です(※)。 -1が指定された場合は実行時にそのフォントの回転方向を計算します。 デフォルトは10です。通常はこのプロパティを指定する必要はありません。 ※ 現時点のSD35Zでは-1/0/10の場合しかインプリメントを行っていない。 |
FONT_FTセクション
SD35Zでのみ有効。
FONTセクションでfonttype=ftを指定した場合のみ適用されます。
| basedir |
TTFフォントを読み込むときの基準ディレクトリをフルパスで指定します。 デフォルト値は存在しない("")ため、指定しない場合は後ろのGothicFontName、MinchoFontName、MenuFontNameプロパティでフォントファイル名をフルパスで指定する必要があります。 |
|---|---|
| GothicFontName |
ゲームでゴシック体フォントを表示するときに使用するTTF/TTCフォントのファイル名を指定します。 デフォルトはmsgothic.ttcです。 |
| MinchoFontName |
ゲームで明朝体フォントを表示するときに使用するTTF/TTCフォントのファイル名を指定します。 デフォルトはmsmincho.ttcです。 |
| MenuFontName |
ゲームでメニューを表示するときに使用するTTF/TTCフォントのファイル名を指定します。 デフォルトはmsgothic.ttcです。 |
| GothicFontFace |
ゲームでゴシック体フォントを表示するときにTTCファイルを指定した時のFaceの番号を指定します。デフォルトは0です。 GothicFontNameにTTFフォントを指定した場合は0を指定した場合は0にしておく必要があります。 |
| MinchoFontFace |
ゲームで明朝体フォントを表示するときにTTCファイルを指定した時のFaceの番号を指定します。デフォルトは0です。 MinchoFontNameにTTFフォントを指定した場合は0を指定した場合は0にしておく必要があります。 |
| MenuFontFace |
ゲームでメニューを表示するときにTTCファイルを指定した時のFaceの番号を指定します。デフォルトは0です。 MenuFontNameにTTFフォントを指定した場合は0を指定した場合は0にしておく必要があります。 |
| CacheSize |
フォントマネージャが内部で使用するキャッシュメモリのサイズを指定します。128~2048が指定可能です。デフォルトは512。 ここで指定した値の2乗バイトのメモリが消費されるのであまり大きな値を指定しても意味がないだけでなく速度低下を招く要因になるので注意が必要です。 |
KEYSセクション
ゲーム実行中のキー入力時の動作を変更するときに指定します。
| キー指定 | = | キー指定 |
| キー指定 | = | 機能指定 |
| 仮想キー指定 | = | キー指定 |
| 仮想キー指定 | = | 機能指定 |
の何れかのパターンで指定を行うことが出来ます。
例えばSD35ZでCALENDERキーをマウスの右ボタンとして使用するような場合には
slCALENDER=MENU_RIGHT
と指定します。同様にSD35CでSTARTキーをENTERキーとして使用するような場合には
gvkSTART=keyENTER
と指定します。
SD35Cではデフォルトで以下の様にバインドが行われています。
| gvkLEFT | カーソル左(keyLEFT) |
| gvkUP | カーソル上(keyUP) |
| gvkRIGHT | カーソル右(keyRIGHT) |
| gvkDOWN | カーソル下(keyDOWN) |
| gvkSTART | メニューバーを表示する(MENU_OPEN) |
| gvkA | マウス左ボタン(MOUSE_LEFT) |
| gvkB | マウス右ボタン(MOUSE_RIGHT) |
| gvkC | 仮想キーボードを使用(VIRTUAL_KEY) |
SD35Zではデフォルトで以下の様にバインドが行われています(通常キー部分は省略)
| slADDRESS | マウス左ボタン(MOUSE_LEFT) |
| slHOME | マウス右ボタン(MOUSE_RIGHT) |
| keyMENU | メニューバーを表示(MENU_OPEN) |
| slKANAHIRA | コントロールキー(keyCTRL) |
| slOK | ENTERキー(keyENTER)( |
| slCANCEL | ESCキー(keyESC) |
キー指定
通常のキーに対応します。これはプロパティの左辺と右辺の何れにも指定可能となっています。
| keyBS | BSキー |
| keyTAB | TABキー |
| keyCLEAR | CLEARキー |
| keyENTER | ENTERキー |
| keySHIFT | SHIFTキー |
| keyCTRL | CTRLキー |
| keyALT | ALTキー |
| keyPAUSE | PAUSEキー |
| keyCAPSLOCK | CAPSLOCKキー |
| keyESC | ESCキー |
| keySPACE | SPACEキー |
| keyPAGEUP | PAGEUPキー |
| keyPAGEDOWN | PAGEDOWNキー |
| keyEND | ENDキー |
| keyHOME | HOMEキー |
| keyLEFT | カーソルキー左 |
| keyUP | カーソルキー上 |
| keyRIGHT | カーソルキー右 |
| keyDOWN | カーソルキー下 |
| keyPRINTSCREEN | PRINTSCREENキー |
| keyINS | INSERTキー |
| keyDEL | DELETEキー |
| keyHELP | HELPキー |
| key0~key9 | 0~9キー |
| keyA~keyZ | A~Zキー |
| keyMENU | MENUキー |
| keyPAD_0~keyPAD9 | テンキーの0~9 |
| keyPAD_STAR | テンキーの* |
| keyPAD_PLUS | テンキーの+ |
| keyPAD_MINUS | テンキーの- |
| keyPAD_DOT | テンキーの. |
| keyPAD_SLASH | テンキーの/ |
| keyF1~keyF24 | ファンクションキーF1~F24 |
| keyNUMLOCK | NUMLOCKキー |
| keySCROLLOCK | SCROLLLOCKキー |
仮想キー指定(SD35C用)
PocketPCでSD35Cを動作させた場合のキー指定ではこちらを使用します。
| gvkLEFT | カーソルキー左 |
| gvkUP | カーソルキー上 |
| gvkRIGHT | カーソルキー右 |
| gvkDOWN | カーソルキー下 |
| gvkSTART | STARTキー |
| gvkA | アプリケーションキーA |
| gvkB | アプリケーションキーB |
| gvkC | アプリケーションキーC |
| gvkD | アプリケーションキーD(※) |
| gvkE | アプリケーションキーE(※) |
| gvkF | アプリケーションキーF(※) |
※ まっとうでない方法で処理を行っているので全ての機種で動作する保証はない。
なお、各PocketPCと仮想キーの関係は以下の通り。
この表に載っていない機種と仮想キーの対応が分かった人は連絡してくれると表に追加します。
| E-700/GFORT | iPAQ H3630 | GENIO e550 | |
|---|---|---|---|
| gvkLEFT | カーソル(ナビゲータ)左 | ||
| gvkUP | カーソル(ナビゲータ)上 | ||
| gvkRIGHT | カーソル(ナビゲータ)右 | ||
| gvkDOWN | カーソル(ナビゲータ)下 | ||
| gvkSTART | ボイスレコーダ | ナビゲーションボタン押下 | |
| gvkA | 予定表 | ボイスレコーダ | |
| gvkB | メニュー | コンタクト | 予定表 |
| gvkC | 連絡先 | カレンダ | 仕事 |
| gvkD | - | - | ホーム |
| gvkE | - | - | 連絡先 |
| gvkF | - | - | - |
仮想キー指定(SD35Z用)
SD35ZをSL-C7xxで動作させた場合のキー指定では通常のキー指定に加えてこれらも使用します。
| slCALENDER | CALENDERキー |
| slADDRESS | ADDRESSキー |
| slMAIL | MAILキー |
| slHOME | HOMEキー |
| slKANAHIRA | カナひらキー |
| slOK | OKキー |
| slCANCEL | キャンセルキー |
カレンダーキー(slCALENDER)、メールキー(slMAIL)は長押し時に別のアプリケーションが起動されてしまうため、通常は使用できません。KeyHelperを使えば使用できるかもしれませんが、KeyHelper動作時にSD35Zが正しく動作するか否かは確認していません。
機能指定
キー操作でキー以外の事を行うためにはキーにこれらの値を指定します。
なお、MOUSE_LEFTの動作に関しては簡易操作モードが指定されているか否かによって動作が異なります。
| MOUSE_LEFT | マウス左ボタン |
| MOUSE_RIGHT | マウス右ボタン |
| MENU_OPEN | メニューバーを表示する |
| SKIP_NEXT_SELECT | メニューから次の選択肢まで飛ばすを選択したときと同じ |
| LUPE_MODE | 拡大表示(※) |
| VIRTUAL_KEY | 仮想キーボード使用(※) |
(※)は現在未実装
SELECT_KEYSセクション
ゲーム選択画面でのキー入力時の動作を変更するときに指定します。
指定方法は基本的にKEYSセクションと同様ですが、プロパティの値としてはkeyLEFT/keyUP/keyRIGHT/keyDOWN/keyESC/keySPACE/keyENTERのみが意味を持ちます。
デフォルトのバインドは以下の通り
| SD35C | SD35Z | 割り当て | 機能 |
|---|---|---|---|
| gvkLEFT | - | keyLEFT | 前のページ(※) |
| gvkUP | - | keyUP | 選択項目を上に(※) |
| gvkRIGHT | - | keyRIGHT | 次のページ(※) |
| gvkDOWN | - | keyDEL | 選択項目を下に(※) |
| gvkA | -(OKボタン) | keyENTER | 選択項目を選択する |
| gvkB | |||
| gvkC | -(Cancelボタン) | keyESC | 選択画面を閉じる(SD35C/SD35Zを終了する) |
※ 現時点ではSD35Cではこのように動作せず、旧来のようにカーソルで選択項目を移動する形になっています
MENU_KEYSセクション
メニュー操作時のキー入力時の動作を変更するときに指定します。
指定方法は基本的にKEYSセクションと同様ですが、プロパティの値としてはkeyLEFT / keyUP / keyRIGHT / keyDOWN / keyESC / keySPACE / keyENTER / MENU_OPENのみが意味を持ちます。
デフォルトのバインドは以下の通り
| SD35C | SD35Z | 割り当て | 機能 |
|---|---|---|---|
| gvkLEFT | - | keyLEFT | 左のメニュー項目 |
| gvkUP | - | keyUP | 上のメニュー項目 |
| gvkRIGHT | - | keyRIGHT | 下のメニュー項目 |
| gvkDOWN | - | keyDEL | 右のメニュー項目 |
| gvkA | -(OKボタン) | keyENTER | 現在のメニュー項目を選択する |
| gvkB | |||
| gvkC | -(Cancelボタン) | keyESC | メニューを閉じる |
| gvkSTART | keyMENU | MENU_OPEN |
SD35C.cfgのサンプル
SD35C.cfgのサンプルです。
; SD35Cアプリケーション設定ファイル
;
; SD35C全体の設定を記述します。
; このファイルで設定した内容はSD35Cで起動される全てのゲームで適用されます。
; なお、ゲーム側の.s35ファイルとこのファイルで同じ内容が設定された場合、
; ゲーム側の.s35ファイルの方の設定が優先されます。
;
; このファイルは必ずShift_JISで記述されている必要があります。
;
[INFO]
; 24bppのゲームでも常に16bppとして内部処理を行う
; この設定によりメモリ消費量を減らすことが出来ます。
; ただし、この設定により画像処理の内部計算で誤差が発生するかも
; しれないので、その場合は設定を外してください。
; ゲーム側で上書きして設定を外す場合は.s35ファイル側で
; forcebpp = 0と記述すればいいです。
forcebpp = 16
easyOperation = true
[KEYS]
; ゲーム中のキー設定
[SELECT_KEYS]
; ゲーム選択画面でのキー設定
[MENU_KEYS]
; メニュー操作でのキー設定
[Sound]
; 音声の再生レート11025/22050/44100が選択できる。
; MIDIゲームの場合はPatFile作成時に指定したレートと合わせておく方が良い。
Rate=22050
mp3type=mad
[MIDI]
; MIDI音源を使用したゲームの場合のPatFile置き場
; フルパスで指定しない場合はゲームの.s35と同じ場所のディレクトリ
; にあるものとします。
PatFile = \メモリ カード\My Documents\timid_yce\GM.tfp
.sd35rc.s35
.sd35rc.s35ファイルのサンプルです。
; SD35Zアプリケーション設定ファイル
;
; SD35Z全体の設定を記述します。
; このファイルで設定した内容はSD35Cで起動される全てのゲームで適用されます。
; なお、ゲーム側の.s35ファイルとこのファイルで同じ内容が設定された場合、
; ゲーム側の.s35ファイルの方の設定が優先されます。
;
; このファイルは必ずShift_JISで記述されている必要があります。
;
[INFO]
; 24bppのゲームでも常に16bppとして内部処理を行う
forcebpp = 16
; 簡易操作モードを使用する
easyOperation = true
[SD35Z]
; ドキュメント検索開始ディレクトリ
; ここで指定したディレクトリを$HOME, /mnt/card, /mnt/cfから検索します。
; デフォルトは/Documentsです。
; ここではSD35Cと共通のカードを使用できるように/My Documentsを指定しています。
searchDir=/My Documents
[KEYS]
; ゲーム中のキー設定
[SELECT_KEYS]
; ゲーム選択画面でのキー設定
[MENU_KEYS]
; メニュー操作でのキー設定
[Sound]
; 音声の再生レート11025/22050/44100が選択できる。
; MIDIゲームの場合はPatFile作成時に指定したレートと合わせておく方が良い。
Rate=22050
mp3type=mad
[MIDI]
; MIDI音源を使用したゲームの場合のPatFile置き場
; MIDIを使用するゲームの場合は★必須★
PatFile = /mnt/card/PatFiles/gm.tfp
[FONT]
; フォントマネージャをftのものを使用する
fonttype=ft
[FONT_QT]
; フォンマネージャ(QT)用の設定
GothicFontName=lcfont
MinchoFontName=lcfont
MenuFontName=lcfont
[FONT_FT]
; フォントマネージャ(FT)用の指定
; 空き容量が足りないのでゴシック体/明朝体ともにゴシックフォントを指定している。
basedir=/mnt/card/Fonts
GothicFontName=msgothic.ttc
MinchoFontName=msgothic.ttc
CacheSize=512
ゲーム設定ファイルのサンプル
アトラク=ナクアのゲーム設定ファイルのサンプルです。
[INFO]
name = Atlach Nacha
longdesc = Atlach Nacha
[FILES]
file00 = 蜘蛛GA.ALD
file01 = 蜘蛛GB.ALD
file02 = 蜘蛛SA.ALD
file03 = 蜘蛛WA.ALD
[Sound]
Rate=22050
cdda=use
midi=nouse
pcm=use
[CDDA]
track02 = ATLACHNACHA_02.mp3
track03 = ATLACHNACHA_03.mp3
track04 = ATLACHNACHA_04.mp3
track05 = ATLACHNACHA_05.mp3
track06 = ATLACHNACHA_06.mp3
track07 = ATLACHNACHA_07.mp3
track08 = ATLACHNACHA_08.mp3
track09 = ATLACHNACHA_09.mp3
track10 = ATLACHNACHA_10.mp3
track11 = ATLACHNACHA_11.mp3
track12 = ATLACHNACHA_12.mp3
track13 = ATLACHNACHA_13.mp3
track14 = ATLACHNACHA_14.mp3
track15 = ATLACHNACHA_15.mp3
track16 = ATLACHNACHA_16.mp3
ゲームの動作状況
1.55-3でかなり大きなバグを取りましたが、代りに従来動いていたゲームが動かなくなっている可能性があります。とりあえず私が1.55-3で試したのは以下の通りです。
なお、ここに記載されているからといって、全ての環境で動作するとは限らないかと思います(主にメモリ問題)
| ランス4 | 武田さんが公開されている"Rance4 -教団の遺産- For Win95 MIDI対応版"が起動する所まで確認しました。 |
|---|---|
| 闘神都市 | 武田さんが公開されている"闘神都市2 For Win95 MIDI対応版"が起動する所まで確認しました。 |
| DARCROWS | 知り合いに起動して少しは進めれる事だけは確認してもらいました(が、渡したのはちょっと前のバージョンなので最新で起動するかどうか……) |
| アトラク=ナクア | 起動する事だけ確認しています |
それ以前の対応状況は以下の通りですが、今では逆に動かなくなっている可能性もあります……
| ランス1 (アリスの館456同梱) | クリアしました。 |
|---|---|
| ランス2 (アリスの館456同梱) | クリアしました。 |
| ランス3 (アリスの館456同根) | リーザス城まではたどり着いています。 |
| 闘神都市1 (アリスの館456同梱) | 起動はしました(トーナメントまでも動かしていません)。 |
| 鬼畜王ランス | 途中まで |
| OnlyYou リクルス | クリアしました(あやめENDのみ)。 |
| 妻みぐい | クリアしました(ただし、mp3ファイル作り損ねてBGMなしでですが…) |
| 大悪司 | 起動はしました(3週目くらいしかまだやってません)。 |
変更履歴
2006/10/18 …… DR3.4 p1.55-3/Kanako
- ビルド環境崩壊により、再度最終ソースからビルド環境を作り直しました。そのため、最終版よりも退化している可能性もあります……orz
- αテスタ向けに公開していたVGA対応版のSD35Cの公開版ベースにしています
- J0,J1,J2,J3,J4での画像ロード位置指定コマンドの、J2,J3で永続的な画像ロード位置変更コマンドでロード位置が変更された後で、J0,J1で一時的にロード位置が変更されると、その後で正しい位置にロード位置が戻らなかったバグを修正
- 文字列を画面に出さずに変数に格納するモードの時の改行動作不正を修正
- 文字列を画面に出さずに変数に格納するモードの時に、描画位置が移動してしまっていたバグを修正
- 表示文字列の取得命令MG5の動作不正を修正
2004/01/09
- Gpx::LoadCG()でαチャンネルを持たない画像をロードした時にαチャンネルを持たないサーフェースを生成するように変更
- ShGraph::AddAnimRemain()のバグを修正
- ShGraph::PlayAnimeData()のバグを修正
- ShGraph::ChangeNotColor()の実装を追加
- ShPort::InitKeyState()、ShPort::SetKeyStatus()、ShPort::GetKeyStatus()の実装を追加
- ShSound::wavSendMemory()のバグを修正
- ddemo.dll(ダミー)を追加
- 乱数をCランタイムの乱数からMersenne Twisterに変更
- CDの最大トラック番号が正しく取得できていなかったバグを修正
- CXコマンドで24bitDIB→影転送を行うときにForceBppで16bpp化されている時に正しく動作しないバグを修正
- ZA2,3が呼び出された時に次の選択肢まで飛ばすフラグを立てていたのを止めた
- GetRayKey()のパラメータ範囲チェックがバグっていたのを修正
- BltFast()でサーフェース間のBltを行うときにαチャンネルも転送していたのを止めた
2003/12/28
- 文字列入力コマンド(/57)で空入力の場合にエラーにしないようにした
- SD35Zで表示範囲外への更新命令発生時に描画処理を呼び出さないように変更した(SD35C側には入っていた処理のSD35Z側への反映漏れでした)
2003/11/8
- WAVE再生時間取得処理が抜けていたのを修正(かえるにょぱにょ~んが落ちていた)
2003/11/6
- DALKのシナリオバグ回避コードに問題があったため、DALKが落ちていたのを修正
2003/11/2
- モザイクエフェクトで落ちるのを修正
2003/11/1
- V1.55版をリリース
著作権とライセンス
このプログラムはGPL2にそったフリーウェアです。配布、コード変更等はGPL2に沿った形で行ってください。
また、完全に無保証です。各人の責任で実行してください。
謝辞
- 本プログラムは水口さんの作られた BeOS用のSystem3.x シナリオデコーダであるSD35B DR3.4を移植したものです。これ無しにはそもそも存在しなかったでしょう。
- 処理の多くの部分をSytem3.5 for X Window Systemから流用させていただいております。近間さん他、作者の方々あってのことです。
- 本プログラムで使用している音楽再生ルーチンはみあみいさんがわっふる for PocketPC向けに書かれたwsmix.c、wstream.cをベースにさせていただだきました。
- FreeType、mad他多数のオープンソース資産を利用させていただきました。
- pdame-ML(旧名PVNS-ML)の方々、%mobiledev:*.jpの方々にはいろいろアドバイスをしていただいたりデバッグに協力していただいたりしました。