Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fail when detecting ambiguous asset references #1936

Open
Josharias opened this issue Sep 17, 2015 · 0 comments
Open

Fail when detecting ambiguous asset references #1936

Josharias opened this issue Sep 17, 2015 · 0 comments
Labels
Status: Needs Investigation Requires to be debugged or checked for feasibility, etc. Topic: Stabilization Requests, Issues and Changes related to improving stablity and reducing flakyness Type: Improvement Request for or addition/enhancement of a feature

Comments

@Josharias
Copy link
Contributor

Josharias commented Sep 17, 2015

Current Status

When referencing assets, for instance tile textures in a block definition, these asset references do not always include a module identifier but are sometimes referenced solely by their name. In module combinations with assets that share the same name, this can be a problem as the game does not know which asset to pick.

Currently, the resolution of ambiguous asset references is buggy and results in weird behavior. This can be reproduced by locally reverting the fix provided in #1934. By now the respective block definitions reside in CoreAssets. Detailed reproduction steps and screenshots of the issue are provided below:

How to Reproduce
  1. Start a new Terasology CoreGameplay world with PlantPack enabled and memorize the seed.
  2. Find an oak tree, memorize where you found it (e.g. via coordinates accessible via F3) and observe it's side texture
  3. Replace the CoreAssets: prefix in OakTrunk.block with PlantPack:
  4. Start a new Terasology CoreGameplay world with the same seed as before and PlantPack still enabled
  5. Find the same oak tree as before and observe that the side texture is the same as before
  6. Replace the value in OakTrunk.block with OakBark
  7. Start a new Terasology CoreGameplay world with the same seed as before and PlantPack still enabled
  8. Find the same oak tree as before and observe that the side texture is not the same as before

CoreAssets::OakTrunk.block with "tile": "CoreAssets:OakBark"
image

CoreAssets::OakTrunk.block with "tile": "PlanPack:OakBark"
image

CoreAssets::OakTrunk.block with "tile": "OakBark"
image

Desired Status

If multiple modules provide assets with the same name, the game is expected to be confused. Theoretically, it should at least pick one of the available assets with the referenced name and not, as it seems to be the case currently, pick an arbitrary other asset to use.

Practically, we want to avoid ambiguous situations and always prefix asset references with the respective module.
Hence, it would be even better to fail the world creation with a reasonable error message when noticing an asset reference that is missing a module prefix and may lead to ambiguity.

@Josharias Josharias added the Type: Bug Issues reporting and PRs fixing problems label Sep 17, 2015
@jdrueckert jdrueckert changed the title Blocks with assets with the same name somehow get muddled Buggy Resolution of Ambiguous Asset References Aug 26, 2022
@jdrueckert jdrueckert changed the title Buggy Resolution of Ambiguous Asset References Fail when detecting ambiguous asset references Aug 26, 2022
@jdrueckert jdrueckert added Status: Needs Investigation Requires to be debugged or checked for feasibility, etc. Type: Improvement Request for or addition/enhancement of a feature Topic: Stabilization Requests, Issues and Changes related to improving stablity and reducing flakyness and removed Type: Bug Issues reporting and PRs fixing problems labels Aug 26, 2022
@jdrueckert jdrueckert moved this to ⛑ Stabilization Improvements in Terasology Stabilization Aug 26, 2022
@jdrueckert jdrueckert moved this from 🚀 Next Up to Backlog in Terasology Stabilization Oct 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Needs Investigation Requires to be debugged or checked for feasibility, etc. Topic: Stabilization Requests, Issues and Changes related to improving stablity and reducing flakyness Type: Improvement Request for or addition/enhancement of a feature
Projects
Status: Backlog
Development

No branches or pull requests

2 participants