07th-mod / 07th-mod/python-patcher

First-Install detection and global.dat replacement

オープン
#242 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
enhancement
主要言語
JavaScript
スター
214
フォーク
12
PR マージ指標
30日以内にマージされた PR はありません

説明

> I wonder if we should try one suggestion I gave a long time ago, that was supplying our own configuration file during installation. Might be useful at least for the console arcs

### For windows

- when any higurashi game is installed, check the %appdata%\Mangagamer\higurashi04 folder (where the last part changes for each game)
- if there exists a `global.dat.backup` file, then this is a re-install/upgrade. Take no action
- if there is no `global.dat.backup` file, rename the old `global.dat` to `global.dat.backup` and copy in the desired `global.dat`

### For DRM Free mac:

same as above, but use path:

DRM Free Mac version saves to `~/Library/Application Support/unity.MangaGamer.Higurashi When They Cry - Ch.4 Himatsubushi/` but I'd feel better about reading the `CFBundleIdentifier` from the `Info.plist` to get that last directory's name. You can use `defaults read CFBundleIdentifier` to get this.

### For DRM Free Linux:

same as above, but use path:

DRM Free Linux version saves to `~/.config/unity3d/MangaGamer/` though I don't remember the exact capitalization used for the full game name

### For steam linux/mac:

For steam, I would guess Linux will be the same (it's based off a file in the game assets) but for the Mac one, since it sounds like they name the main application bundle differently, the may have changed the bundle identifier too. If someone with the mac steam version could upload the Info.plist files from some of their games (located at `gamename.app/Contents/Info.plist`) that would be helpful.

#### Actual code used in the game to access save files

https://github.com/07th-mod/higurashi-assembly/blob/tsumi-mg/Assets.Scripts.Core/MGHelper.cs#L181 idealpersona - "I think the Application class is Unity, so you may have to replace those references with new code according to their docs"

----

I'm writing this up for when/if we make a cross-platform python script. For now will jsut be implemented by modifying our existing windows only batch files.

NOTE to any other developers: feel free to edit this comment if some of the information is wrong.

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

このissueは、ゲームの初回インストールを検出し、global.datファイルを置き換えるクロスプラットフォームのPythonスクリプトについて説明しています。まず、リポジトリ内の既存のWindowsバッチファイルを調べて、現在のロジックを理解してください。リンクされているMGHelper.csを確認し、Unityがセーブパスにアクセスする方法を確認します。各プラットフォーム(Windows、Mac DRMフリー、Linux DRMフリー、Steam)について、指定されたとおりにパス検出とファイルのバックアップ/コピーロジックを実装します。テストには、さまざまなインストール状態のシミュレーションが必要です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
python, shell
領域
cli, tooling
issue の種類
機能追加
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
45/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。