diff options
Diffstat (limited to 'OpenSim/Region/RegionCombinerModule/RegionCombinerModule.cs')
-rw-r--r-- | OpenSim/Region/RegionCombinerModule/RegionCombinerModule.cs | 85 |
1 files changed, 1 insertions, 84 deletions
diff --git a/OpenSim/Region/RegionCombinerModule/RegionCombinerModule.cs b/OpenSim/Region/RegionCombinerModule/RegionCombinerModule.cs index 1a99c83..0b8771c 100644 --- a/OpenSim/Region/RegionCombinerModule/RegionCombinerModule.cs +++ b/OpenSim/Region/RegionCombinerModule/RegionCombinerModule.cs | |||
@@ -88,89 +88,7 @@ namespace OpenSim.Region.RegionCombinerModule | |||
88 | public void RegionLoaded(Scene scene) | 88 | public void RegionLoaded(Scene scene) |
89 | { | 89 | { |
90 | if (enabledYN) | 90 | if (enabledYN) |
91 | { | ||
92 | RegionLoadedDoWork(scene); | 91 | RegionLoadedDoWork(scene); |
93 | |||
94 | scene.EventManager.OnNewPresence += NewPresence; | ||
95 | } | ||
96 | } | ||
97 | |||
98 | private void NewPresence(ScenePresence presence) | ||
99 | { | ||
100 | if (presence.IsChildAgent) | ||
101 | { | ||
102 | byte[] throttleData; | ||
103 | |||
104 | try | ||
105 | { | ||
106 | throttleData = presence.ControllingClient.GetThrottlesPacked(1); | ||
107 | } | ||
108 | catch (NotImplementedException) | ||
109 | { | ||
110 | return; | ||
111 | } | ||
112 | |||
113 | if (throttleData == null) | ||
114 | return; | ||
115 | |||
116 | if (throttleData.Length == 0) | ||
117 | return; | ||
118 | |||
119 | if (throttleData.Length != 28) | ||
120 | return; | ||
121 | |||
122 | byte[] adjData; | ||
123 | int pos = 0; | ||
124 | |||
125 | if (!BitConverter.IsLittleEndian) | ||
126 | { | ||
127 | byte[] newData = new byte[7 * 4]; | ||
128 | Buffer.BlockCopy(throttleData, 0, newData, 0, 7 * 4); | ||
129 | |||
130 | for (int i = 0; i < 7; i++) | ||
131 | Array.Reverse(newData, i * 4, 4); | ||
132 | |||
133 | adjData = newData; | ||
134 | } | ||
135 | else | ||
136 | { | ||
137 | adjData = throttleData; | ||
138 | } | ||
139 | |||
140 | // 0.125f converts from bits to bytes | ||
141 | int resend = (int)(BitConverter.ToSingle(adjData, pos) * 0.125f); pos += 4; | ||
142 | int land = (int)(BitConverter.ToSingle(adjData, pos) * 0.125f); pos += 4; | ||
143 | int wind = (int)(BitConverter.ToSingle(adjData, pos) * 0.125f); pos += 4; | ||
144 | int cloud = (int)(BitConverter.ToSingle(adjData, pos) * 0.125f); pos += 4; | ||
145 | int task = (int)(BitConverter.ToSingle(adjData, pos) * 0.125f); pos += 4; | ||
146 | int texture = (int)(BitConverter.ToSingle(adjData, pos) * 0.125f); pos += 4; | ||
147 | int asset = (int)(BitConverter.ToSingle(adjData, pos) * 0.125f); | ||
148 | // State is a subcategory of task that we allocate a percentage to | ||
149 | |||
150 | |||
151 | //int total = resend + land + wind + cloud + task + texture + asset; | ||
152 | |||
153 | byte[] data = new byte[7 * 4]; | ||
154 | int ii = 0; | ||
155 | |||
156 | Buffer.BlockCopy(Utils.FloatToBytes(resend), 0, data, ii, 4); ii += 4; | ||
157 | Buffer.BlockCopy(Utils.FloatToBytes(land * 50), 0, data, ii, 4); ii += 4; | ||
158 | Buffer.BlockCopy(Utils.FloatToBytes(wind), 0, data, ii, 4); ii += 4; | ||
159 | Buffer.BlockCopy(Utils.FloatToBytes(cloud), 0, data, ii, 4); ii += 4; | ||
160 | Buffer.BlockCopy(Utils.FloatToBytes(task), 0, data, ii, 4); ii += 4; | ||
161 | Buffer.BlockCopy(Utils.FloatToBytes(texture), 0, data, ii, 4); ii += 4; | ||
162 | Buffer.BlockCopy(Utils.FloatToBytes(asset), 0, data, ii, 4); | ||
163 | |||
164 | try | ||
165 | { | ||
166 | presence.ControllingClient.SetChildAgentThrottle(data); | ||
167 | } | ||
168 | catch (NotImplementedException) | ||
169 | { | ||
170 | return; | ||
171 | } | ||
172 | |||
173 | } | ||
174 | } | 92 | } |
175 | 93 | ||
176 | private void RegionLoadedDoWork(Scene scene) | 94 | private void RegionLoadedDoWork(Scene scene) |
@@ -1004,7 +922,7 @@ namespace OpenSim.Region.RegionCombinerModule | |||
1004 | VirtualRegion.Permissions.OnIssueEstateCommand += BigRegion.PermissionModule.CanIssueEstateCommand; //FULLY IMPLEMENTED | 922 | VirtualRegion.Permissions.OnIssueEstateCommand += BigRegion.PermissionModule.CanIssueEstateCommand; //FULLY IMPLEMENTED |
1005 | VirtualRegion.Permissions.OnMoveObject += BigRegion.PermissionModule.CanMoveObject; //MAYBE FULLY IMPLEMENTED | 923 | VirtualRegion.Permissions.OnMoveObject += BigRegion.PermissionModule.CanMoveObject; //MAYBE FULLY IMPLEMENTED |
1006 | VirtualRegion.Permissions.OnObjectEntry += BigRegion.PermissionModule.CanObjectEntry; | 924 | VirtualRegion.Permissions.OnObjectEntry += BigRegion.PermissionModule.CanObjectEntry; |
1007 | VirtualRegion.Permissions.OnReturnObject += BigRegion.PermissionModule.CanReturnObject; //NOT YET IMPLEMENTED | 925 | VirtualRegion.Permissions.OnReturnObjects += BigRegion.PermissionModule.CanReturnObjects; //NOT YET IMPLEMENTED |
1008 | VirtualRegion.Permissions.OnRezObject += BigRegion.PermissionModule.CanRezObject; //MAYBE FULLY IMPLEMENTED | 926 | VirtualRegion.Permissions.OnRezObject += BigRegion.PermissionModule.CanRezObject; //MAYBE FULLY IMPLEMENTED |
1009 | VirtualRegion.Permissions.OnRunConsoleCommand += BigRegion.PermissionModule.CanRunConsoleCommand; | 927 | VirtualRegion.Permissions.OnRunConsoleCommand += BigRegion.PermissionModule.CanRunConsoleCommand; |
1010 | VirtualRegion.Permissions.OnRunScript += BigRegion.PermissionModule.CanRunScript; //NOT YET IMPLEMENTED | 928 | VirtualRegion.Permissions.OnRunScript += BigRegion.PermissionModule.CanRunScript; //NOT YET IMPLEMENTED |
@@ -1030,7 +948,6 @@ namespace OpenSim.Region.RegionCombinerModule | |||
1030 | VirtualRegion.Permissions.OnEditUserInventory += BigRegion.PermissionModule.CanEditUserInventory; //NOT YET IMPLEMENTED | 948 | VirtualRegion.Permissions.OnEditUserInventory += BigRegion.PermissionModule.CanEditUserInventory; //NOT YET IMPLEMENTED |
1031 | VirtualRegion.Permissions.OnDeleteUserInventory += BigRegion.PermissionModule.CanDeleteUserInventory; //NOT YET IMPLEMENTED | 949 | VirtualRegion.Permissions.OnDeleteUserInventory += BigRegion.PermissionModule.CanDeleteUserInventory; //NOT YET IMPLEMENTED |
1032 | VirtualRegion.Permissions.OnTeleport += BigRegion.PermissionModule.CanTeleport; //NOT YET IMPLEMENTED | 950 | VirtualRegion.Permissions.OnTeleport += BigRegion.PermissionModule.CanTeleport; //NOT YET IMPLEMENTED |
1033 | VirtualRegion.Permissions.OnUseObjectReturn += BigRegion.PermissionModule.CanUseObjectReturn; //NOT YET IMPLEMENTED | ||
1034 | } | 951 | } |
1035 | 952 | ||
1036 | #region console commands | 953 | #region console commands |