Teaching Feeling 〜奴隷との生活〜 を Linux で動かす

2016/10/23

Tweet

はじめに

手順

Teaching Feeling 〜奴隷との生活〜 を購入する

2016/10/23 現在,以下のサイトで購入可能です.

筆者は DLSite で購入しました. くれぐれも不正ダウンロードをせず,正規購入するように.

解凍する

DLSite からゲームをダウンロードしてくると, zip ファイルなので普通に解凍します.

$ cd ~/Downloads
$ ls
RJ162718.zip
$ unzip RJ162718.zip
$ ls
RJ162718.zip  TeachingFeeling-1.6.3-

nw.js をダウンロードする

Teaching Feeling は tyrano script というツールで作られているようです. ローカルで動かすときには nw.js をランタイムとして使っています.

また,どうにも新しい nw.js では動かないようなので,前のバージョン (0.12.3) を使います. ダウンロード自体は https://dl.nwjs.io/v0.12.3/ から行います. 筆者は 64 bit マシンを使っているので, https://dl.nwjs.io/v0.12.3/nwjs-v0.12.3-linux-x64.tar.gz です.

$ curl https://dl.nwjs.io/v0.12.3/nwjs-v0.12.3-linux-x64.tar.gz > nwjs.tar.gz
$ tar zxvf nwjs.tar.gz
$ ls
nwjs.tar.gz  nwjs-v0.12.3-linux-x64  RJ162718.zip  TeachingFeeling-1.6.3-
$ mv nwjs-v0.12.3-linux-x64 TeachingFeeling-1.6.3-/nw
$ cd TeachingFeeling-1.6.3-
$ ls
___                icudtl.dat     link.png         package.json              ________.txt
________-beta.txt  index.html     novel_sound.swf  'README!!!!!!!!!!!!.txt'  _____.txt
data               libEGL.dll     nw               TeachingFeeling.app       tyrano
ffmpegsumo.dll     libGLESv2.dll  nw.pak           TeachingFeeling.exe

ファイル名を変更する

Linux は Mac などと違い,ファイル名を区別するファイルシステムを採用することが多いです. Teaching Feelings 内に運悪く,そのようなファイルが存在しますので,リネームします.

…… と記憶していたのですが,現在のバージョンで試すと動作しました. ので,この作業は必要ありませんでした.

セーブ/ロード周りを linux 対応する

どうにも tyrano script が linux に対応していないので,セーブに失敗する. ルートにセーブしようとして権限エラーが出ている.

[9462:1023/151057:ERROR:nw_shell.cc(336)] Error: EACCES: permission denied, open '/TeechingFeeling1_tyrano_data.sav'
    at Error (native)                                                                                                      [0/88]
    at Object.fs.openSync (fs.js:540:18)
    at Object.fs.writeFileSync (fs.js:1143:15)
    at Function.$.setStorageFile (app://./tyrano/libs.js:604:12)
    at Function.$.setStorage (app://./tyrano/libs.js:483:15)
    at eval (eval at <anonymous> (app://./tyrano/libs/jquery-2.0.3.min.js:4:4231), <anonymous>:94:15)
    at Object.tyrano.plugin.kag.menu.snapSave (eval at <anonymous> (app://./tyrano/libs/jquery-2.0.3.min.js:4:4231), <anonymous>:
140:28)
    at Object.tyrano.plugin.kag.menu.doSave (eval at <anonymous> (app://./tyrano/libs/jquery-2.0.3.min.js:4:4231), <anonymous>:90
:37)
    at HTMLLIElement.eval (eval at <anonymous> (app://./tyrano/libs/jquery-2.0.3.min.js:4:4231), <anonymous>:74:26)
    at HTMLLIElement.x.event.dispatch (app://./tyrano/libs/jquery-2.0.3.min.js:5:10006)
[9462:1023/151057:INFO:CONSOLE(540)] "Uncaught Error: EACCES: permission denied, open '/TeechingFeeling1_tyrano_data.sav'", sourc
e: fs.js (540)

ので, tyrano scriptのライブラリを編集する.tyrano/libs.js$.getProcessPath 関数を変更する.

    //PC版のみ。実行フォルダを取得
    $.getProcessPath = function(){
        var path = process.execPath;
        var os = "mac"; // デフォルトは mac にしておく
        if(path.indexOf(".app") !== -1){
            os = "mac";
        }else if(path.indexOf(".exe") !== -1){
            os = "win";
        }else{
            os = "linux";
        }
        if(os === "linux"){
            return process.cwd();
        }else{
            var tmp_path =  path.substr(0,tmp_index);
            var path_index =0;
            if(os=="mac"){
                path_index = tmp_path.lastIndexOf("/");
            }else{
                path_index = tmp_path.lastIndexOf("\\");
            }
            var out_path = path.substr(0,path_index);
            return out_path;
        }
    };

動かしてみる.

先にダウンロードした nw.js コマンドの引数に Teaching Feeling のフォルダ名を引数として渡します.

$ cd TeachingFeeling-1.6.3-
$ nw/nw .

これで動くはずです.

もしトラブルがおこったら

Teaching Feeling は nw.js で動いています. ということは開発者ツールが使えるということです.

package.json 内に "toolbar": false なる記述があるので,消します.

{
        "name":"Teeching Feeling",
        "main":"app://./index.html",
                "window":{
                "title": "Teeching Feeling",
                "icon": "link.png",
                "frame": true,
                "width": 1350,
                "height": 900,
                "position": "front",
                "min_width": 750,
                "min_height": 500,
                "max_width": 1920,
                "max_height": 1080
        }

}

そしたら起動します.右上に「三」みたいなマークがあるので,押すと開発者ツールが開きます. これでファイル名が違うなどを発見できます.

開発者ツール起動後
開発者ツール起動後