-
Notifications
You must be signed in to change notification settings - Fork 213
gui/mod-manager
improvements
#1481
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
base: master
Are you sure you want to change the base?
Conversation
I suspect the reason why |
Interesting, but in that case why does it work in -- local ol = df.global.world.object_loader
local path = ol.object_load_order_src_dir[idx].value
table.insert(mods, {
id=ol.object_load_order_id[idx].value,
name=ol.object_load_order_name[idx].value,
version=ol.object_load_order_displayed_version[idx].value,
numeric_version=ol.object_load_order_numeric_version[idx],
path=path,
vanilla=path:startswith('data/vanilla/'), -- windows also uses forward slashes
}) |
maybe forcing it into a Lua string would work? untested code.
Edit: Your comment in |
Because This is an artifact of how our C++ object proxying into Lua works. When you directly "read" from a C++ string in order to use its value as a Lua value, the proxy handler automatically converts it into a Lua string. However, when you call a method directly on an object, this doesn't happen: instead, the metatable of the C++ proxy object is consulted, and as there is no It might be an idea to "chain" the Lua string metatable onto the C++ string proxy metatable, but I'm not at all sure how to go about doing this. Will require considerable thought. Copying the proxy object into a local variable before calling the method should provide a workaround since the C++ proxy object will be converted to a Lua object at that time. |
I haven't tried SilasD's suggestion, but ab9rf's works like a charm. |
gui/mod-manager
version compatibility
gui/mod-manager
version compatibilitygui/mod-manager
improvements
Requires DFHack/dfhack#5500
The manager also notifies users when a version of a vanilla module in their preset has been changed. This way they should know to update the preset to avoid the popup in future. Since mod manager no longer gives a hoot about the vanilla module versions, an entirely vanilla preset for 51.13 should theoretically also be backwards compatible with an older version.
TODO
Mod Manager is duplicating mods to both inactive and active lists. dfhack#3746Too much for this PR, I'll likely tackle it next time.