amnesia-spelos / amnesia-spelos/streamnesia
[Feature]: Cleanly separate Streamnesia payload assets
- Lingua principale
- C#
- Stelle
- 4
- Fork
- 3
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
## What the problem is
_Some payloads depend on custom assets (models, entities, sounds, music, etc.). These resources are often merged directly into the main game's directory structure, for example we put entities into the game's entities directory._
This approach is mess because when Streamnesia is uninstalled, we have no way of determining which assets were created by us, and which are for example the user's own custom assets. Even a file index of standard Amnesia assets wouldn't be useful since the user might have their own custom assets installed. We should not be deleting those.
Currently, the application completely ignores payload assets and leaves them in place. The true process of cleaning up involves uninstalling the game, manually deleting the remaining files and installing the game again. This is not a great user experience.
## What needs to get done
The approach of installing payload needs to change to the following:
The payloads structure must change to contain all custom assets in their respective sub-directories in a specific `streamnesia-assets/` directory placed in Amnesia's root.
```
Amnesia The Dark Descent/
├── Amnesia.exe
└── streamnesia-assets/
├── entities/
│ ├── payload_entity_1.ent
│ └── payload_entity_2.ent
└── static_objects/
├── payload_object_1.dae
└── payload_object_2.dae
```
When the user decides to download and install payloads:
1. The payloads get download
1. Payloads get extracted into `.\streamnesia\payloads\` directory as usual
1. Payload assets get extracted into `./streamnesia-assets/` directory as described above
1. The application ensures the `resources.cfg` file in Amnesia's root contains ``
This process cleanly separates streamnesia assets from standard and user's custom assets.
Guida per i contributori
Apri la guida per i contributori
Valutazione
Questa issue non è ancora stata valutata.