Wanted to run this idea by everyone and see if there would be any interest for me to try and figure it out or if everyone is happy with the current system. Ok ok hear me out.
I've been looking at lang dll files the past couple of days and I wondered: what if there was a tool that generated a local dll file based on what's in your current download folder? For example: you have 20 mods, you run my tool, it generates a fresh lang.dll that makes all of them happy and compatible with each other.
What is the point?:
Anyone, but especially modders, would be able to create custom strings without having to modify a .dll using a hex editor. So say you have two hotdog stands. Previously we would re-use one hotdog stand string to save lines in the lang file. But with my tool, you could have one configuration file in your mod that lets you define human-readable strings of your own. It would look something like this:
[modstrings]
name:Super Hotdog Stand
item:Super Hotdog
guest-thoughts:
- Haha this hotdog sucks.
- Ew never coming here again.
- Oh you know what, it's not so bad if you pour all of the ketchup, mustard, A1 sauce, relish, mayonaise, and pepto bismol ontop.
item-tooltip:Don't buy this hotdog stand, guests will hate you except for the one that drowned it in ketchup, mustard, A1 sauce, relish, mayonnaise and pepto bismol. I mean maybe, that sounds pretty gross actually.
What about the hundreds of files without this new configuration file?
The tool would support old lang files if you have them. If you, the downloader, wants to customize the strings, you can just make a custom config file and make your own strings and the tool will ignore the old strings and use the new ones.
Considerations as a community and other limitations
For new mods, it would be one extra file adding a few more bytes. (though text files are almost negligibly-small)
It would allow redundant buildings to have their own unique names (Super Hotdog Stand, Spooky Hotdog Stand, etc.). This will fix the problem of rotating an object and the selection resetting to another object with the same name.
The only inconvenience (at least early on) would be for users to manually double click my binary file every time they update their download folder for the lang file to update, but otherwise it would ideally be that easy to use.
Let me know if you have any questions! This is probably super weird and unnecessary, and maybe not enough people would find it useful, but if there are, maybe I can start working on it during the holidays. (no I haven't forgotten my unreleased projects xD). It might not even be possible but think of the possibilities.