<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content=text/html;charset=iso-8859-1>
<META content="MSHTML 6.00.6000.16674" name=GENERATOR></HEAD>
<BODY id=MailContainerBody 
style="PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-TOP: 15px" 
bgColor=#ffffff leftMargin=0 topMargin=0 CanvasTabStop="true" 
name="Compose message area">
<DIV><FONT face=Arial size=2>Hello,</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>I have noticed some issues when running OpenSim on 
Windows XP which regional settings are set to a different culture than 
en-US.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Please take a look on <A 
title="http://opensimulator.org/mantis/view.php?id=1611 CTRL + Cliquez ici pour suivre le lien" 
href="http://opensimulator.org/mantis/view.php?id=1611">http://opensimulator.org/mantis/view.php?id=1611</A> and 
<A 
title="http://opensimulator.org/mantis/view.php?id=1382 CTRL + Cliquez ici pour suivre le lien" 
href="http://opensimulator.org/mantis/view.php?id=1382">http://opensimulator.org/mantis/view.php?id=1382</A>.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>I noticed that 
Framework.Culture.SetCurrentCulture() is called to force the thread culture to 
en-US when the simulator is being started.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>However, it seems that threads which are 
created during OpenSim execution are using a CultureInfo based on the operating 
system regional settings. I suppose this happens to the scripts threads. I have 
included a snapshot in mantis 1611 that shows the current thread culture and the 
result of a vector ToString() conversion in the Watch box during debug mode in 
VS2008.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>The french culture I am using uses decimal symbol 
as coma "," instead of point ".". This makes convert, tryparse and tostring() 
methods to fail or send erroneous results. For example, Vector parsing operation 
and some deserialization operations. For example, 
llSetPrimitiveParams([PRIM_SIZE], <10,10,10>]); gives a flat prim that 
correspond to a <10,0,10> scale <IMG title="Visage émoticône" 
style="FLOAT: none; MARGIN: 0px; POSITION: static" tabIndex=-1 
alt="Visage émoticône" src="cid:226CDB7354D14E4E834D6D923425BA10@LBLAPTOP" 
MSNNonUserImageOrEmoticon="true"></FONT></DIV>
<DIV><FONT face=Arial size=2></FONT><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>I have tried to hack the ThreadTracker to force the 
threads culture to en-US in Add() method, and everything is ok. I dont think 
this would be a recommended solution because ThreadTracker has not been design 
for this purpose. For now </FONT><FONT face=Arial size=2>I switched the regional 
settings of Windows to en-US.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>
<DIV><FONT face=Arial size=2>Because I think OpenSim aims to be culture 
independant, </FONT>I think the best is to force the en-US culture at some 
"root" level for threads too. Another solution consists in passing the right 
cultureinfo to every culture-sentive methods. I have seen that 1382 is assigned 
to Adam. I dont know what is the best to do and I welcome recommendations.</DIV>
<DIV></FONT><FONT face=Arial size=2></FONT> </DIV></DIV>
<DIV><FONT face=Arial size=2>Oh, by the way, I have no clue whether it happens 
with Linux and MacOSX operating system.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Cheers,</FONT></DIV>
<DIV><FONT face=Arial size=2>Laurent.</FONT></DIV>
<DIV><FONT face=Arial size=2>Forest Klaar (SL)</FONT></DIV>
<DIV><FONT face=Arial size=2>Grumly TheBear (Francogrid and 
others...)</FONT></DIV></BODY></HTML>