-
Notifications
You must be signed in to change notification settings - Fork 9
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
quality #293
Comments
Quality seems to touch many of the GUIS, and a lot of APIs. Each signal has a quality. The filtering menu will need to be modified so that splitters and inserters can filter by quality. |
This gets worse than that. All inventory operations now return
To:
|
we are lucky that quality is an independent mod from the rest of space age. We might leave this for a while longer. |
That is incorrect. It is sort of a mod except for all the places where the API now passes you quality or expects you to pass it quality. We can avoid exposing it, but must at least account for it e.g. when getting crafting machine speeds from prototypes. My understanding is that quality "normal" is always present but I am not sure that's right. A number of (not sure how many) things that used to be attributes are now functions taking quality. I had to break warnings to get things to launch. Which deserves a ticket. But quality was why. No more simple fetching of crafting speed for instance. |
Ok, status update here. This is a sort of background thing but it's actually pretty close to done believe it or not. The API takes Note that quality is always set. When disabled quality is "normal". This is true even with the quality mod disabled. The space age expansion here as far as I am aware is that the space age executable allows declaring qual,ities, but I have not installed non-space-age to test this. Docs do not indicate it is space age only. The remaining 25% is localisation and handling lists that might include quality, then a followup on circuit network and filters which honestly is still far out. For localisation, I have been introducing proper helpers in localising.lua which do not rely on cached translations. Of these, the new function
Or in a few other ways, most notably passing it a stack directly. This function returns a localised string of thye form As for lists: I have introduced a pattern This leaves UIs. The problem is that we don't have a UI framework and the new APIs have lots of quality-aware places. The good news is that for most of these, we can default quality to any quality for the time being. As part of redoing transport belts I did begin writing us a small UI thing which will eventually meet up with layers and some of the other input tickets, as it is designed so that we may simply make a layer that knows how to wrap the smaller thing. This however is not sufficient for an item chooser, nor will it be in the near future, primarily because there's a lot of other problems and doubling down on it isn't a good use of time as of yet. It may be just barely possible to extend the item chooser code to have quality awareness, but personally I'm going to do it right if I do it, so if someone else wants the hacky way feel free to take this over. The real concern is inserters. We can likely shrug at most other things. In particular logistic requests already require having item in hand, and very few people go nuts with the circuit network. Unfortunately I believe filters are >= <= etc. not just ==, so for example that doesn't work well for a splitter if one wants to make a belt which sends higher quality items somewhere else. |
Probably very easy. We need to announce quality. We may also need to do something about the circuit network but it is unclear how quality is represented there.
The text was updated successfully, but these errors were encountered: