N-EMU v1.2.0の更新
プレイ中のゲーム内セーブ記録、ショートカット、ROMパッチ
ゲーム内セーブのデータが変わった後、1秒間変化がなければファイルに記録します。キーボードとコントローラーのショートカット、押している間の巻き戻し、早送りボタンを追加し、ROMパッチと機種別の画面設定も使えるようになりました。実機の速度やバッテリー使用量の変化は未測定です。
日付は機能をアプリに反映した日で、ストアでの公開日とは異なる場合があります。
反映日
キーボードとコントローラーのショートカット
早送り、クイックセーブとクイックロード、スクリーンショットをショートカットで操作できます。標準のキーはスペース(押している間早送り)、F(早送りの切り替え)、F2、F4、F12で、コントローラーはボタン割り当てで選びます。コントローラーのメニューボタンを長押しすると一時停止メニューが開きます。
押している間の巻き戻し
巻き戻しキー(標準はR)を押している間はゲームが逆戻りし、離すとその場面から続きます。一時停止メニューの巻き戻しは1回で約1秒戻り、巻き戻しの記録もゲーム中にオン・オフできます。
画面上の早送りボタン
ゲーム画面の一時停止ボタンの横に早送りボタンを追加しました。設定の「プレイ」項目で、切り替え、押している間、非表示から選べます。
IPS・UPS・BPSパッチの適用
ゲーム情報でパッチファイルを選んで適用します。パッチを当てたゲームは元のゲームの隣に新しいバージョンとして追加され、タイトルはパッチファイル名になります。元のゲームはそのまま残ります。
ゲームファイル内のタイトルとアイコン
ニンテンドーDSとPSPのゲームを取り込むと、ゲームファイルに含まれる正式なタイトルとアイコンを使います。取り込み済みのゲームはゲーム情報でファイルを読み直せます。自分で設定したタイトルとカバーはそのまま残ります。
RetroArchのチートファイルを取り込み
チート一覧でRetroArchの.chtファイルも取り込めます。+でつないだコードは1行ずつに分け、コアが読めないRetroArch専用の項目は件数を知らせてから除外します。
ウィジェットとショートカットから最近のゲームを開く
最近のゲームのウィジェットをタップすると、そのゲームをすぐに再開します。iOSではショートカットとSiriの「最近のゲームを続ける」で、Androidではゲーム情報の「ホーム画面に追加」でゲームを直接開けます。
機種別の画面設定とゲーム中の画面効果
設定の「画面」項目で、機種ごとに画面の合わせ方、リニアフィルタリング、画面効果を個別に設定できます。ゲームごとに設定した値があれば、そちらを優先します。一時停止メニューからもその機種の画面効果を変えられ、ニンテンドーDSのゲームでは画面の配置と順序も変更できます。
ゲームごとのボタン配置
ボタン配置のプリセット画面で「このゲームだけの配置」をオンにすると、そのゲームで動かしたボタンが同じ機種の他のゲームに影響しません。プリセットの選択や初期化で自分で編集した配置が消えても、同じ画面から元に戻せます。
振動カートリッジ
振動カートリッジ対応のGBとGBAのゲームで、コントローラーが振動します。コントローラーがなければスマートフォンが振動し、設定の「操作」項目でオフにできます。Androidではこの機能に振動の権限を使います。
ゲームファイルだけを削除
ゲームを削除するときに、ゲームファイルだけを消してセーブデータとチートを残せます。同じファイルを取り込み直すと、残したセーブデータから続けられます。Androidのライブラリでもファイルがないゲームに「ファイルなし」と表示し、両方のアプリでそのゲームをタップすると取り込み直しを案内します。iOSでは、ファイルがないか別の名前で再接続されたゲームと同名の新しいゲームを取り込んでも、セーブデータが混ざりません。
お気に入りと最近プレイしたゲーム
ライブラリの「ゲーム整理」画面で、お気に入りや最近プレイしたゲームだけを表示できます。最近プレイしたゲームは、最後に起動したものから並びます。
ファイルアプリに入れたゲームを取り込み
iOSiOSでは、ファイルアプリのN-EMUフォルダやROMsフォルダに直接入れたゲームもライブラリに追加されます。アプリがゲームを機種別のフォルダへ移し、新しく加わったゲームを取り込み結果として知らせます。iPadの案内文も「このiPad内」に変更しました。
ゲームごとに速度を記憶
「速度を覚える」がゲームごとに速度を記憶します。あるゲームで早送りした速度のまま別のゲームが始まることはなく、初めて開くゲームは1×で始まります。
ファイル名をタイトルに
ゲーム情報で、ファイル名をそのままタイトルにできます。ヘッダーに12文字しか入らないGBAのゲームのように、途中で切れたタイトルを一度に直せます。iOSのライブラリのグリッドでは、ゲームコードがないゲームに「----」を表示しなくなりました。
見つけやすくなった設定とアイコン
設定の検索で、チート、セーブスロット管理、スクリーンショットなど一時停止メニューにある機能も見つかります。アクセシビリティの項目は「一般」に移しました。ライブラリ上部の表示設定とゲーム整理のボタン、複数のゲームを選んだときのタグとGoogle Driveバックアップのボタンには、ほかと重ならないアイコンを付けました。
Androidと同じライブラリ検索
iOSiOSのライブラリ検索がAndroidと同じゲームを見つけます。ハングルの入力途中や、かなの濁点を省いたとき、半角カタカナで入力したときも見つかります。
Androidの一時停止メニューのマイクと画面消灯
AndroidAndroidでもニンテンドーDSのゲームの一時停止メニューでマイクをオン・オフできます。一時停止メニューを開いている間はゲーム中の画面点灯の維持を解除するため、メニューを開いたままにするとiOSと同じく画面が消えることがあります。
Androidでのゲーム実行の負担を軽減
Androidステートセーブの保存中や巻き戻しの記録中も、タッチ入力と画面のコピーが待たされなくなりました。ゲームを開くときのファイル確認は、スマートフォンのCPUにSHA-256専用命令があればそれを使います。ニンテンドーDSのような大きいゲームは、メモリに1つだけ保持します。スマートフォンでの速度とメモリ使用量の変化はまだ測定していません。
反映日
プレビューで調整した設定を保存
画面表示テストで拡大方式とフィルターを、ニンテンドーDSのタッチテストで縦横の補正を試せます。保存したときだけ反映され、キャンセルや戻る操作では変更を破棄します。ゲームファイルは不要です。
ライブラリ検索の処理を分離
タイトルやタグなどの検索用文字列を再利用します。検索と並べ替えは画面処理から分離し、古い検索要求の結果が新しい検索結果を上書きしないようにしました。
一時停止画面と映像の受け渡しを改善
一時停止中は新しい映像や表示設定の変更に応じて再描画します。iOSではGPUが使用中の映像を保護し、aresの映像受け渡し時の競合も修正しました。AndroidではニンテンドーDS・PSPの中間コピーと、巻き戻し無効時の不要な通知を減らしました。
ライブラリ起動の再試行と画像キャッシュの解放
ライブラリを開けない場合、ゲームやセーブデータを削除せずに再試行できます。容量の計算は画面を離れると中止し、バックグラウンド移行時やメモリ不足の通知時に表紙キャッシュを解放します。
セーブ同期の処理分離とローカル計測の準備
セーブ同期のファイル処理と復元処理を分けました。明示的な操作でのみ実行し、競合を自動解決しないルールは変わりません。最適化した開発ビルドでも端末内で性能を計測できますが、速度向上率はまだ示していません。
プレイ中にゲーム内セーブをファイルへ記録
ゲーム内セーブのデータが変わった後、1秒間変化がなければファイルに記録します。以前はバックグラウンドへの移行時やゲーム終了時にしか記録せず、その間にアプリが突然終了すると最近のセーブが失われることがありました。一時停止メニューを開いたときも、未記録のセーブをすぐに記録します。
スクリーンショット保存の権限
iOSスクリーンショットの共有画面で初めて「画像を保存」を選ぶと、写真ライブラリへの追加の許可を求めます。以前は権限の説明文がなく、アプリが停止することがありました。