peardox Posted August 15, 2018 Posted August 15, 2018 One if my friends just noted a stringtable issue that CAN cause Mod clashes Some of us are using the same numbers for different strings My friend point's out that we've got a BIG range of numbers to chose from so I tested his theory <Entry> <ID>2147480106</ID> <DefaultText>"Let me see what you have."</DefaultText> <FemaleText /> </Entry> There's a LOT of space It's possible to make clashes far less likely If we allow for 64k strings we have 32k available for mapping - so I doubt we'll ever bump numbers My friend is moving his stuff into new numbers to avoid clash What I can do is work out a mapping based on your nick that is almost guaranteed to be exclusive to youHow many strings are required per developer? If I allow 1k per ModDev I get nearly 2,100,000 to one chance of a hit - think I'll go with that choiceThis will take some experimentation but those numbers look good to me You are NOT forced to use this system, clash by all means The result will be your (hopefully) exclusive space with a report like...Use the numbers x to yWhen I see problems - I try to solve them 3 OK Fair warning has been applied I'm gonna move the domain to https://perspak.com early Feb but will keep all content There are reasons behind this move which basically boil down to unifying my release schedule My friends are welcome to play (I'll set you up your own areas if you desire them) Please note that this process is messy so may take a few weeks
peardox Posted August 15, 2018 Author Posted August 15, 2018 (edited) OK https://poe.peardox.com/spacereq Used a small bit of cryptography on this one (not much and not secure as I usually do) Anyway, this provides a randomised 1024 range of numbers to you that has a minimal chance a clash This is nick based and randomises so you can repeat the process is you need a different range. The chance of a clash is > 2 million to 1 The IDs 0 to 65,535 are left for OBS while the rest is a free-for-all Better post this on the links thread as well Edited August 15, 2018 by peardox 1 OK Fair warning has been applied I'm gonna move the domain to https://perspak.com early Feb but will keep all content There are reasons behind this move which basically boil down to unifying my release schedule My friends are welcome to play (I'll set you up your own areas if you desire them) Please note that this process is messy so may take a few weeks
Phenomenum Posted August 17, 2018 Posted August 17, 2018 Or we can write strings numbers used (eg. 100001 - 100100) in mod description"The IDs 0 to 65,535 are left for OBS while the rest is a free-for-all" - what's the source of this info? 2 Pillars of Eternity 1 - Russian Extended Localization Pillars of Eternity 2 - Deadfire Russian Localization Fix Pillars of Eternity 2 - Deadfire Community Patch
TT1 Posted August 17, 2018 Posted August 17, 2018 Or we can write strings numbers used (eg. 100001 - 100100) in mod description "The IDs 0 to 65,535 are left for OBS while the rest is a free-for-all" - what's the source of this info? This is not an info, its just obvious statement. According to string files, OBS is using very low numbers to string IDs
Phenomenum Posted August 17, 2018 Posted August 17, 2018 Ok, i just did this. It's been not difficult, so maybe we could do it? Pillars of Eternity 1 - Russian Extended Localization Pillars of Eternity 2 - Deadfire Russian Localization Fix Pillars of Eternity 2 - Deadfire Community Patch
Phenomenum Posted August 17, 2018 Posted August 17, 2018 (edited) Or we can write strings numbers used (eg. 100001 - 100100) in mod description "The IDs 0 to 65,535 are left for OBS while the rest is a free-for-all" - what's the source of this info? This is not an info, its just obvious statement. According to string files, OBS is using very low numbers to string IDs Obvious for you, maybe? As for me, it's completely arbitrary sentence, without any concrete basis. Edited August 17, 2018 by Phenomenum Pillars of Eternity 1 - Russian Extended Localization Pillars of Eternity 2 - Deadfire Russian Localization Fix Pillars of Eternity 2 - Deadfire Community Patch
house2fly Posted August 17, 2018 Posted August 17, 2018 From glancing at the stringtable files, it looks like Obsidian basically started at the bottom and are working up
Phenomenum Posted August 17, 2018 Posted August 17, 2018 From glancing at the stringtable files, it looks like Obsidian basically started at the bottom and are working up REALLY? Pillars of Eternity 1 - Russian Extended Localization Pillars of Eternity 2 - Deadfire Russian Localization Fix Pillars of Eternity 2 - Deadfire Community Patch
TT1 Posted August 17, 2018 Posted August 17, 2018 Or we can write strings numbers used (eg. 100001 - 100100) in mod description "The IDs 0 to 65,535 are left for OBS while the rest is a free-for-all" - what's the source of this info? This is not an info, its just obvious statement. According to string files, OBS is using very low numbers to string IDs Obvious for you, maybe? As for me, it's completely arbitrary sentence, without any concrete basis. What do you want, a paper on Scientific American? Really, what could be a concrete basis about it? Ask BMac? You just have to look at the files, cmon buddy.
nostalchic Posted August 23, 2018 Posted August 23, 2018 Is there, or could there be, a place to flag what ID's your using in one location? Or to reserve an ID range? Would help avoid ID clashes.
house2fly Posted August 23, 2018 Posted August 23, 2018 You could include a text file in your mod, or add a section to the nexus page, with a list of the numbers you're using? 1
nostalchic Posted August 23, 2018 Posted August 23, 2018 Yeah that's definitely an option but would kind of require modders to be across all existing mods - which will be much less doable as they grow in number. Having a central list would be helpful, but it's not a big deal. It could even just be a pinned thread in this forum actually seems the vast majority of modders tend to cross-post here?
peardox Posted August 23, 2018 Author Posted August 23, 2018 On my todo list is ID reservation as this is something I've been asked for by a few people In a VERY boring process this AM I've downloaded EVERY Mod from Nexus - I can automate discovery of what OBS strings are overridden and which have been added by a Mod. I've already got scripts that de-compile stringtables so it's just a case of running them over all the Mods This system will also allow you to test a Mod to see if there are known clashes I'm at the design stage ATM and this is not the only task on my list 2 OK Fair warning has been applied I'm gonna move the domain to https://perspak.com early Feb but will keep all content There are reasons behind this move which basically boil down to unifying my release schedule My friends are welcome to play (I'll set you up your own areas if you desire them) Please note that this process is messy so may take a few weeks
peardox Posted September 5, 2018 Author Posted September 5, 2018 (edited) I've now analysed every Mod I'm very happy to report that my system appears to be working While I can find String Clash these are between members of our group who share so @Spherikal's Enhanced UI has a clash with @Kilay's Italian Mod, there is no actual clash here as both use the same stringtables @kilay provided to @spherikal While not everyone is using this system it's definitely helping (Many modders are now using unlikely to clash ranges of numbers) The analysis of all Mods will take a while, I've just done IDs - the next stage is to find references (this is rather complicated) AND - I WANNA WRITE A DAMNED MOD!!! Too much analysis - not enough Mod dev Edited September 5, 2018 by peardox OK Fair warning has been applied I'm gonna move the domain to https://perspak.com early Feb but will keep all content There are reasons behind this move which basically boil down to unifying my release schedule My friends are welcome to play (I'll set you up your own areas if you desire them) Please note that this process is messy so may take a few weeks
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now