Implement (texture/resource/sound/model-)packs #14

Open
opened 2022-10-13 15:59:37 +02:00 by rudzik8 · 0 comments
Owner

How they'll work:

Packs will have this structure:

voxelands/
├─ packs/
|  └─ example-pack/
|     ├─ pack.txt
|     ├─ textures/
|     |  ├─ foo.png
|     |  ├─ bar.png
|     |  ├─ baz.png
|     |  ├─ qux.png
|     |  └─ … (other textures)
|     ├─ sounds/
|     |  ├─ foo.ogg
|     |  ├─ bar.ogg
|     |  ├─ baz.ogg
|     |  ├─ qux.ogg
|     |  └─ … (other sounds)
|     └─ models/
|        ├─ foo.x
|        ├─ bar.x
|        ├─ baz.b3d
|        ├─ qux.obj
|        └─ … (other models)

The textures/, sounds/ and models/ folders (catalogues) will override files in corresponding folders in data/. It should override only what it can override, not just the folder itself. For example, if data/textures/ does contain the qux.png and packs/example-pack/textures/ doesn't then data/textures/qux.png will be used.

The pack.txt file will have this structure:

title = The Great Pack of Example Pack for Voxelands
author = John John <exampleauthor69@example.com>
description = This is the Great Description for The Great Pack of Example Pack for Voxelands
version = 2702, 3012, 3409, 4938

That version parameter will specify the Voxelands' versions supported: if the VERSION_MAJOR is bigger than the latest supported version (biggest number) then Voxelands will go like "This pack was created for an older version and may not work properly" (in italic red font), if it's smaller then it will go "This pack was created for a newer version and may not work properly" (in italic red font too) and if it's neither then it will go "This pack was created for a different version and may not work properly"
The only neccesary parameter for pack.txt is version; Voxelands just won't show the pack for user if version isn't specified

Also, Main Menu will get a section for packs named "Packs" (yeah). It'll follow the avaivable vs installed UI scheme with 2 corresponding sections. TODO: make a draft how it will look like.

**How they'll work:** Packs will have this structure: ``` voxelands/ ├─ packs/ | └─ example-pack/ | ├─ pack.txt | ├─ textures/ | | ├─ foo.png | | ├─ bar.png | | ├─ baz.png | | ├─ qux.png | | └─ … (other textures) | ├─ sounds/ | | ├─ foo.ogg | | ├─ bar.ogg | | ├─ baz.ogg | | ├─ qux.ogg | | └─ … (other sounds) | └─ models/ | ├─ foo.x | ├─ bar.x | ├─ baz.b3d | ├─ qux.obj | └─ … (other models) ``` The `textures/`, `sounds/` and `models/` folders (catalogues) will override files in corresponding folders in `data/`. It should override only what it can override, not just the folder itself. For example, if `data/textures/` does contain the `qux.png` and `packs/example-pack/textures/` doesn't then `data/textures/qux.png` will be used. The `pack.txt` file will have this structure: ``` title = The Great Pack of Example Pack for Voxelands author = John John <exampleauthor69@example.com> description = This is the Great Description for The Great Pack of Example Pack for Voxelands version = 2702, 3012, 3409, 4938 ``` That version parameter will specify the Voxelands' versions supported: if the `VERSION_MAJOR` is bigger than the latest supported version (biggest number) then Voxelands will go like "This pack was created for an older version and may not work properly" (in italic red font), if it's smaller then it will go "This pack was created for a newer version and may not work properly" (in italic red font too) and if it's neither then it will go "This pack was created for a different version and may not work properly" The only neccesary parameter for `pack.txt` is `version`; Voxelands just won't show the pack for user if `version` isn't specified Also, Main Menu will get a section for packs named "Packs" (yeah). It'll follow the *avaivable vs installed* UI scheme with 2 corresponding sections. **TODO:** make a draft how it will look like.
rudzik8 added the
enhancement
label 2022-10-13 15:59:37 +02:00
Sign in to join this conversation.
No Milestone
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: oerkki/voxelands#14
No description provided.