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

First-Install detection and global.dat replacement

Aperta
#242 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
enhancement
Lingua principale
JavaScript
Stelle
214
Fork
12
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

> 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.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

L'issue descrive uno script Python multipiattaforma per rilevare le prime installazioni dei giochi e sostituire i file global.dat. Inizia esaminando i file batch di Windows esistenti nel repository per comprendere la logica attuale. Rivedi il file MGHelper.cs collegato per vedere come Unity accede ai percorsi di salvataggio. Per ciascuna piattaforma (Windows, Mac senza DRM, Linux senza DRM, Steam), implementa il rilevamento del percorso e la logica di backup/copia dei file come specificato. I test richiederanno la simulazione di diversi stati di installazione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python, shell
Ambito
cli, tooling
Tipo di issue
Funzionalità
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.