Thats not working.
Take a look at
PureRotation.Settings.Settings.PRSettings constructor. There is a call to base constructor, that seems to deserialize xml using CurrentCulture (i have ru-RU win locale and proper double format is 0,5), but somewhere else your method saving that xml with en-US or InvariantCulture, in which proper double format is 0.5. Just use proper culture to serialize values and all will be fine.
Hope that would be helpful and sorry for bad english.
Not working at all for me. As soon as I start up HB with PureRotation it's crashes. And it's only with PureRotation it's crash. TuanHa or Mark works fine.
The strange part is that this does not happen on a fresh installation, but as soon as I restart HB from that installation for a second time, crash![]()
yes, its broken. Clear setting and CompiledAssemblies still not working.only to be sure ... u deleted your settings and it is still crashing?
yes, its broken. Clear setting and CompiledAssemblies still not working.
View attachment 96633
sorry but u r wrong in more than one thing
1st - there is no constructor that calls CurrentCulture (this is exactly the part that i removed yesterday, which was added to fix the issue for another user and leads to the problem)
2nd - there is nowhere such a call (that's exactly why we tried to work around the issue by calling the Culture again to a format that has 0.5 as double format!)
so we already removed all the workarounds for the 0.5 - 0,5 problem and it seems that the problem still exists, which is weird, cause i'm using purerotation with a german client (double format 0,5) and everything is working fine!
*** Update ***
Interrupts should be fixed, all classes with multiple interrupts do use only one at a time, not all they can use!
*** Update 2 ***
still looking at the crashing
5.5d.ToString(CultureInfo.InvariantCulture)
5.5d.ToString(CultureInfo.CurrentCulture)
new System.Threading.Thread
(
(obj)=>
new Action<string>(PRSettings.Instance.SaveToFile).Method
.Invoke(PRSettings.Instance,BindingFlags.InvokeMethod,null,new []{obj},CultureInfo.CurrentCulture)
)
{
CurrentUICulture = CultureInfo.CurrentCulture,
CurrentCulture = CultureInfo.CurrentCulture
}.Start("C:\\Test.xml");
Consider this lines of code (CurrentCulture=RU-ru)
5.5Code:5.5d.ToString(CultureInfo.InvariantCulture)
5,5Code:5.5d.ToString(CultureInfo.CurrentCulture)
now little bit of reflection
value saved in Test.xml will be 0.6Code:new System.Threading.Thread ( (obj)=> new Action<string>(PRSettings.Instance.SaveToFile).Method .Invoke(PRSettings.Instance,BindingFlags.InvokeMethod,null,new []{obj},CultureInfo.CurrentCulture) ) { CurrentUICulture = CultureInfo.CurrentCulture, CurrentCulture = CultureInfo.CurrentCulture }.Start("C:\\Test.xml");
So, my point is there is no way change this behavior from outside of HB assembly, because lack of control of (de)serialization processes.
Better ask devs how exactly Styx.Helpers.Settings.Save() and Styx.Helpers.Settings.Settings(string settingsPath) works.
this was already tried (in a different way, but it was tried with the previous attempt by adding a costum Converter for double values, wasn't working!)
but thanks for pointing it out how it should work, i'm still looking at different ways
what i tried atm
- change CurrentCulture to en-US /en-GB for the whole assembly at runtime to force the Culture I WANT (didn't worked)
- change CurrentCulture only for settings (didn't worked)
- costum Converter which is applied to double value types (didn't worked)
- ignoring all variants, replacing double value at initialization with program code (does not seem to work)
i'll try the invoke method also ... tomorrow, which kicks in a bit later than currentculter override at initialization
internal class PRSettings : Styx.Helpers.Settings
{...
public void SafeSave()
{
base.Save();
new System.Threading.Thread
(
() =>
{
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
doc.Load(PRSettings.SettingsPath + ".config");
var node = doc.DocumentElement.SelectSingleNode("ThrottleTime");
double val = double.Parse(node.InnerText.Replace(",", "."), NumberStyles.Number, CultureInfo.InvariantCulture);
node.InnerText = val.ToString(CultureInfo.CurrentCulture);
doc.Save(PRSettings.SettingsPath + ".config");
}
).Start();
}
...}
only to be sure ... u deleted your settings and it is still crashing?
Anyone have any Ideas on how to get Resto Druid to actually heal in Raids? I'm getting 14k HPS with 490 ilvl PR just isn't healing and I'm ending fights with 100% mana just not very effective
I know you guys are perfecting the new healing engine before any releases, any updates on testing?
Why dont you explain what this "Rotation Mode : Automatic, Semi, Hotkey Mode" is ?
I dont know what it is or does ?