This bug has been open for quite a while, marked as critical and confirmed, but yet no work has been done about it. I haven been playing around with resources with hyphen and couldnt make the client crash or anything like that. From the dedicated server, you get the warning printed in STDOUT. From the client, you get a warning on the ingame console only.
The warning im getting in the (almost) latest alpha is
which doesnt seem to be a problem. The resource loads without errors.Warning in bool st_checkName(const tString&) in ../../src/resource/tResourceManager.cpp:350:
Resource names must not start with a dot or contain slashes or minus signs
My proposal would be to loosely allow hyphens in the name, issuing a warning only on the server STDERR (so it can be logged if server is started by something like `armagetron-dedicated 2> error.log`) and displaying a message to the clients console mentioning this issue in case theres a compatibility issue; maybe drop the programming talk to make it more clear to users. Hyphens cant be allowed in resource names because they act as a delimiter for the version, if we do, we would need another delimiter, which would have the same problem. I dont think breaking compatibility is necessary though, but i guess its rather a project management decision.Luke wrote:Triage options:
- Fix warning to be a real warning (and not break the game)
- Permit hyphens in resource names (103 in the official repo; compare to 11 with hyphen in version)
- Break compatibility with old resources using hyphens in the name properly (requires further discussion and migration plan?)