Commit Graph

642 Commits (07b04213d7fe39fa51ff0b1ce435d66fbed8da36)

Author SHA1 Message Date
Jeff Ames 001ce95e4c Clean up more unnecessary String.Format calls 2008-02-13 03:38:18 +00:00
Justin Clarke Casey 1677bde480 * Clean up the agent's asset transactions when it is removed from the scene
* This may or may not help with the memory leak, need to assess
2008-02-13 00:52:49 +00:00
Justin Clarke Casey 365cf8e455 * Refactor: Move last commit's refactor back to AgentAssetTransactionsManager
* Push asset update (invoked when clothing is altered) down into AgentAssetTransactions from Scene.Inventory.cs to join others
* I've tested that clothing creation and update still works, but please let me know if it suddently breaks for you.
* Add/correct comments
2008-02-13 00:30:51 +00:00
Teravus Ovares e5ede36f0c * Physical prim cross borders and continue from where the left off on the other side now, assuming the region on the other side has physical prim enabled. 2008-02-12 07:32:32 +00:00
Teravus Ovares 6e01769bcf * A bunch of updates to make things more smooth.
** Sending the actual TimeDilation to the client now instead of the 62455 constant.  The client is *supposed* to use that value to sync with the simulator.    (actually sending ushort.maxvalue * TimeDilation)
** Disabling prim that inter-penetrate instead of just not attaching a joint
** Reduced prim spin a 'little' bit, but not *enough* 
** Tweaked the TimeDilation algorithm to be closer to 1.0 by default and various changes to the sim stats reporter 
** Created a .SetValues method to PhysicsVector so we can simply call the setvalues function instead of .x, .y, .z sets.
** Experimented with a .GetBytes Method on PhysicsActor to be able to use the LLVector3.FromBytes() method.   
** Upped the Inter-penetration depth to 0.25 instead of .08.
2008-02-12 04:27:20 +00:00
Teravus Ovares f603e57e9a * Added PhysicsScene.Dispose()
* In ODE, disposing of all of the ODE objects and the ODE World to reclaim memory when the simulator restarts.
2008-02-11 22:54:51 +00:00
Teravus Ovares e6453d9b9d * Changed child_get_tasks to see_into_this_sim_from_neighbor.
* Turned on see_into_this_sim_from_neighbor by default.
* Fix Race Condition with parts being added to a group while the simulator is starting up.
2008-02-11 05:19:54 +00:00
Teravus Ovares a56664cf59 * um, Prim crossings? Experimental.
* Backup your database just in case.
2008-02-11 01:43:54 +00:00
Dalien Talbot c935b308e6 The very beginnings of attachments (no detachments! :) 2008-02-10 22:23:11 +00:00
lbsa71 e0424254bd * Refactored permissions handling to extract info out of permisisons block in ClientView
* Changed some uint constants to Enum values
2008-02-10 14:27:21 +00:00
Jeff Ames e207284fef Clean up logging calls using String.Format explicitly 2008-02-10 01:57:59 +00:00
Teravus Ovares 07d0f558c4 * Fixed nebadon's UserServer crash bug from yesterday.
* Made Estate tools work for estate managers without needing to request admin status First
* Added code to make the Simulator version to be reported in the About box of the client
2008-02-09 07:53:01 +00:00
Justin Clarke Casey f05f583613 Still chasing logout memory leak. Putting in small changes and temporary light verbosity to this end 2008-02-08 22:39:08 +00:00
Justin Clarke Casey 9d95f9bcf4 Minor ScenePresence related refactoring 2008-02-08 19:53:18 +00:00
Adam Frisby a637473f80 * Adding console spam to help track 'The Steve Bug'. 2008-02-08 17:49:53 +00:00
Teravus Ovares 1ff4711cfb * Fix: Send Parcel data on region crossing. 2008-02-08 03:20:11 +00:00
Teravus Ovares 3674257095 * This update contains a bucket-full of network optimizations.
* ParcelProperties are sent only when needed instead of on any movement
* Terse Updates and other temporary data packets are marked unreliable
* After a certain amount of users, the sim actually sends updates on things less
* Experimental
* Tested to 68 avatar with pCampBot  (And it's surprising what actually causes the most lag..  the text chat!)
2008-02-07 08:15:38 +00:00
Teravus Ovares 1b8e89751a * Added the Scripted objectflag if there is a script running in a prim. Remove the flag if you delete all of the scripts in the object. 2008-02-07 01:52:39 +00:00
Adam Frisby a37eb62047 * Added debug message to try track down Mantis#305. 2008-02-06 14:39:25 +00:00
Jeff Ames 3b42b5f098 Consolidated LoadAnims and AvatarAnimations constructor.
Fixes locking issues with Animations in ScenePresence (bug #324)
2008-02-06 10:19:30 +00:00
Teravus Ovares 9d6ea497e2 * Added the ability to start and stop all scripts in the simulator using the debug tab on the estate tools. This along with the disable physics via the debug tab are persistant across reboots. That means that if it's disabled when you shut down the simulator, the simulator will come up again when you start it up without loading the scripts. Turning them back on is as simple as unchecking 'disable scripts' in the debug tab of the estate tools. 2008-02-06 09:38:14 +00:00
Teravus Ovares 9cd9e90e7f * Added Active Scripts to report the number of scripts running to Sim Stats
* Added Script Performance to report the number of functions run per second to Sim Stats.
* Removed a few warnings (@.@ up to 50 now)
2008-02-06 08:03:22 +00:00
Jeff Ames 6ed5283bc0 Converted logging to use log4net.
Changed LogBase to ConsoleBase, which handles console I/O.
This is mostly an in-place conversion, so lots of refactoring can still be done.
2008-02-05 19:44:27 +00:00
MW 542cd417c8 Small refactoring on Terrain Update sending, so that other code can force terrain updates to be sent to clients. 2008-02-05 15:03:08 +00:00
Teravus Ovares ca5aadfbff * Refactored the sound calls to SceneObjectPart
* Fixed a few bugs
* Wrote an example module to make certain event systems more mature.
2008-02-05 05:26:18 +00:00
Adam Frisby 6fbc64af5e * Whole buncha stuff. 2008-02-04 10:39:30 +00:00
alondria 742ed9537d Implements LSL function llDialog().
The ScriptDialogReply packet handler is a bit of a hack job. It is currently handled similar to ChatFromViewer, which will trigger the listen() event, however this is not exactly how LL's implementation works and will/can be fixed up later.
2008-02-02 22:53:01 +00:00
Teravus Ovares 7476b26ae7 * Added a way to temporarily disable physics using the estate tools
* Added a method for Tedd to hook to in scene to disable the Scripting engine that currently says, [TOTEDD] Here is the method to trigger disabling of the scripting engine.
2008-02-02 17:43:21 +00:00
Teravus Ovares f0811e4800 * This update updates ODE to again use the AMotor to keep the avatar upright instead of the 'avatar wobble' This also uses a hack to detect debian and change the force applied by the AMotor to a different value for Debian. The intent of this all is to get the avatar to stand up in Debian with the AMotor. 2008-01-23 23:57:54 +00:00
Teravus Ovares 09a616e1ea * Added ReadEtcIssue to Util
* If you have Debian running, you should get a platform line that says, 'Found Debian!' when starting up your sim.
* If someone running Debian will confirm this does occur, that would be most helpful.
2008-01-23 23:32:19 +00:00
Teravus Ovares adf05e682e * One more try at specifically identifying Debian from the code.
* There's 3 platform lines now.   Would someone running debian and/or Fedora core please try this revision out and send me the three [PLATFORM] lines?
2008-01-23 22:30:12 +00:00
Teravus Ovares 6874beff52 * When Scene loads, added a platform string print out for testing purposes. Anyone on Debian want to run this revision and send me back the two platform lines? It would be helpful. 2008-01-23 22:07:48 +00:00
lbsa71 8d0364e228 * changed nonsensical PermissionMask and ObjectFlags mixup; if this causes perms weirdness, let's all work together to find the real cause. 2008-01-22 15:07:30 +00:00
Teravus Ovares 5cf96daaf2 * Enabled dead region tracking for ChildAgentDataUpdates
** If the region fails 3 times, then ChildAgentDataUpdates no longer get sent to that region
* Enabled Child_Get_Tasks in grid mode.   
* When Child_Get_Tasks is enabled on neighbor regions, the neighbor region uses the client's draw distance to send out prim.   This is a lot less likely to flood the client now since the ChildAgentDataUpdate contains both the throttle settings and the draw distance.   This means that with this enabled, you can see prim in other regions in grid mode.   Very experimental.
2008-01-22 08:52:51 +00:00
Adam Frisby 7d61705c3c * Renamed a number of TerrainEngine functions to conform naming standards better. 2008-01-22 00:33:05 +00:00
Teravus Ovares 3fe6b2280d * Shutting down child agents properly in neighbor regions. 2008-01-21 23:04:42 +00:00
Teravus Ovares a3851b3812 * Added hooks for logout to all IUserService and all that implement it.
* Added a Logout message with a name on the console
* Added a *fixme* message to figure out why the current agent session is null
* After updating you may notice that there's a login <user> and also a logout<user>
2008-01-20 23:08:50 +00:00
Teravus Ovares 64392b4fac * Found and fixed a situation where a neighbor region would come up send a notice and would be tagged as 'too far away' when it was right next door. 2008-01-20 05:51:38 +00:00
Tedd Hansen 4b56e0e324 removed additional debugging, added temp mega-debugging to StoreLandObject 2008-01-19 21:33:39 +00:00
Tedd Hansen 9e9ba262f7 More debugging 2008-01-19 21:16:22 +00:00
Tedd Hansen 4ab19afc0a More debugging 2008-01-19 20:45:09 +00:00
Tedd Hansen 6353df5569 More debugging in hunt for that random startup crash 2008-01-19 19:49:08 +00:00
Tedd Hansen 8351894170 one more try before I leave 2008-01-19 11:25:08 +00:00
Tedd Hansen 8c5d93eff6 "compile before commit, AND check compile result" - forgot a ; 2008-01-19 11:19:02 +00:00
Tedd Hansen ca772be0d4 Still hunting, added debug output 2008-01-19 11:17:12 +00:00
Tedd Hansen d23222cbc6 Added block for scenario: global exception handler called in loop when exception happens inside global exception handler
Added InnerException to output
2008-01-18 23:45:16 +00:00
Tedd Hansen ab5527dd53 Why don't you try compiling before you commit?
No, I don't need to. I'm good, my code never fails!
2008-01-18 20:55:14 +00:00
Tedd Hansen 0d8b8d340c Nope, that didn't do it - trying lock on performParcelPrimCountUpdate instead 2008-01-18 20:52:53 +00:00
Tedd Hansen 8fbac08fb5 Added a mutex lock on loadAllLandObjectsFromStorage so maybe just MAYBE we can get rid of that annoying startup crash... 2008-01-18 20:46:53 +00:00
Teravus Ovares c2863df49d * Added and implemented the LSL changed event.
* An example changed event syntax is at: http://opensimulator.org/wiki/Changed_Event_Example
* You can use this to trigger actions in your script if someone sits on your object_rez
* You can use this to figure out all of the CHANGED_ constants except for CHANGED_REGION, CHANGED_TELEPORT, and CHANGED_ALLOW_DROP
2008-01-17 02:23:48 +00:00
Teravus Ovares c3061717d0 * Fixed a packet counting issue that I introduced
* Fixed a bunch of goofy math for calculating the sim stats counters
* Made most of the sim stats counters additive so it's easy to change the sim stats interval
* Changed the sim stats send interval to 3 seconds
2008-01-16 19:34:48 +00:00
Teravus Ovares 5dd741267e * Added Agent Time, Pending Downloads, and made Agent Updates/Sec actually accurate.
* We're only missing, the script related sim stats counters and the Images time counter and the Pending Uploads counter.  The rest of them are actually implemented now.
2008-01-16 05:48:40 +00:00
Teravus Ovares 5958192398 * Added Packets In/s, Packets Out/s and Current un_acked Packets to the SimStatsReporter
* This doesn't take into account the throttler, it just assumes the throttle limit isn't reached.
2008-01-16 03:33:46 +00:00
Teravus Ovares 314c554ed4 * Refactored the SimStatsReporter to reuse the same packet and packet blocks over and over again instead of creating 1 a second.
* Added frame Milliseconds, Physics Milliseconds and Other Milliseconds to the Sim Stats Reporter so we can start to figure out what the slowdowns are. (these were the most convenient to get and had just about no overhead.
2008-01-16 02:48:39 +00:00
Teravus Ovares 45e945616b * Pass 2 of collidable (non physical) linksets
* Linkset status is now persistent
* Tweaked a physics child prim positioning hack to generate less database saves
* Re-factored physics object creation calls into ApplyPhysics.  To create a new physics representation of an object or linkset, it's only necessary to call *group*.ApplyPhysics(bool m_physicalPrim).  *lbsa has been waiting for this refactoring*
* We have collidable linksets now. (they don't become phantom anymore)
2008-01-15 04:14:27 +00:00
Adam Frisby b25f9f322c * Mother of all commits:
* Cleaned up copyright notices in AssemblyInfo.cs's
* Added Copyright headers to a bunch of files missing them
* Replaced several common string instances with a static constant to prevent reallocation of the same strings thousands of times. "" -> String.Empty is the first such candidate.
2008-01-15 02:09:55 +00:00
Teravus Ovares cbcba1f026 * Unmoderated the ODE FPS in the sim stats. Decided to do that after Andrew Linden insisted that Havok was running at 45fps internally.
* Set the SimStats packet as unreliable (so we don't require an ack and do resends on it)
2008-01-12 04:12:38 +00:00
Adam Frisby bf8ffc7a0c * For your enjoyment, some RAdmin improvements, namely a new LoadHeightmap method. 2008-01-12 03:17:28 +00:00
Justin Clarke Casey 95c9a9939e Commenting out InnerScene.SceneObjects for now since it was unpopulated and not used by active code (as far as I can see), so a source of confusion. All
current code uses the Entities dictionary
2008-01-07 02:33:22 +00:00
Justin Clarke Casey 3e75dede1b Persistent prim inventory phase 5. Restart scripts contained in persisted prims on region start.
No user functionality exposed yet - no ini switch to enable persistence or restore.  A bit more initial work to do.
2008-01-07 02:12:06 +00:00
Teravus Ovares 9ea4c03b8f * Hiding CompletePingChecks and UseCircuitCode messages.. as the packets are most definitely handled.
* My guess is someone was using them to diagnose a problem and they've been in the console output ever since.
2008-01-05 22:06:24 +00:00
Teravus Ovares 960b7e93b1 * Added the ability for estate managers to use the magic secondlife blue card of death to send out region and estate messages.
* Switched over Region Restart notices to the magic secondlife blue card of death method.
2008-01-04 02:24:05 +00:00
Johan Berntsson 047aba2067 I have fixed the ZeroDecodeCommand bug, and restored my packet recycling code. Let me know by IRC if there are other problems 2008-01-03 00:59:12 +00:00
Teravus Ovares a72d33d3a5 * Added the ability for Region Owners to add and remove estate managers using the estate tools.
* Estate managers get abilities like the region owner for now.
* Estate managers, you'll need to request server admin status to be able to activate the estate tools dialog (haven't figured out why this is the case yet)
* Switching from grid mode to standalone or switching grids will make the stored Estate Manager UUIDs not match up with a valid account so you'll see (waiting) listed there instead of a user until you reset them or go back to the grid you added them from.
2008-01-02 20:25:47 +00:00
Teravus Ovares b4c9b6bd19 * You can add and remove a friend in standalone now within the same simulator. It saves.
* You can add and remove a friend in grid mode now within the same simulator.  It doesn't save yet.
* I got rid of Mr. OpenSim as a friend..   he bothers me /:b...
2008-01-01 06:12:04 +00:00
lbsa71 14a191b285 * re-applied AddNewPrim refactoring... third time now... 2007-12-30 16:00:55 +00:00
Teravus Ovares 32438ab1b9 * This update rolls back the packetpool and LibSL changes. Please retest and then patch these changes back in. Currently it's not quite ready for 0.5. The down side to this action, is that we loose some performance to the garbage collector for now. Given that the target date for 0.5 is *Two days* from now, I'm taking the initiative to work towards a real stable version.
* This update also fixes scripting and some weird physics reactions
2007-12-30 06:18:17 +00:00
Teravus Ovares f64d94f8ca * Rezzing items from Inventory on top of other prim rezzes them 0.5 meters above the 'hit' prim instead of buried in the ground somewhere.
* Various Refactorings
2007-12-28 14:24:14 +00:00
lbsa71 6a02900c8a * redid the AddNewPrim refactoring as that got lost in r2855 2007-12-28 09:17:01 +00:00
Adam Johnson 79496381fc Patch from Johan: LibSL updated to the latest revision (1568) and all packets are now
recycled to improve performance and memory usage.
2007-12-28 08:51:39 +00:00
lbsa71 8cd72beb86 * Moved PrimitiveBaseShape subclasses into factory methods - the subclassing scheme won't hold for serialization
* Extracted out the 'old' AddNewPrimitive that places an object at an exact pos, without the raytracing
2007-12-28 08:34:38 +00:00
Teravus Ovares 67bbed8202 * Added ability to create new prim on existing prim (rezzing prim from inventory on other prim coming soon). No more new prim buried in the ground by accident.
* The prim are at the absolute position of the prim you rezzed it on top of + (0,0,0.5) for now.
2007-12-28 05:25:21 +00:00
Charles Krinke 9b36c6c3ad Add missing "System." to System.NullReferenceException
so Linux build works again.
2007-12-28 03:45:19 +00:00
lbsa71 efd90b56b7 * Optimized usings
* shortened references
* Removed redundant 'this'
* Normalized EOF
2007-12-27 21:41:48 +00:00
lbsa71 87e2a694e2 * AssetServerBase: _ProcessRequest is now called GetAsset
* PrimitiveBaseShape: The textures are now exposed as a 'TextureEntry Textures'; all serialization still using the 'byte[] TextureEntry' for backwards compatibility.
* Scene: Re-added AddTree, since the Tree type isn't gone from libsl, merely relocated.
2007-12-27 14:00:30 +00:00
Justin Clarke Casey 280a5cba8b Prim inventory script saving phase 1. Create necessary CAPS structures for correctly accepting prim inventory script updates.
No user functionality yet.
Refactoring to follow.
2007-12-24 22:35:01 +00:00
Charles Krinke fa2495ae6b Again, great thanks to Alondria for:
Adding:: llSetParcelMusicUrl(), llGetRootPosition(), llGetRootRotation(), 
llGetGeometricCenter(), llSetLocalRot(), llListReplaceList(), 
llGetObjectPrimCount(),llGetParcelDetails(), llGetParcelMaxPrims(), 
llWater(), llGetLocalRot(), and llGetAccel()
2007-12-24 21:16:32 +00:00
Charles Krinke 09651f298c Added regionName to "far away" region report. 2007-12-24 17:26:28 +00:00
Teravus Ovares b2903c4a8a * Patch from Alondria - Added LLFunctions llGetMass(), llGetLandOwnerAt(), llGetVel(), llGround() 2007-12-23 13:14:56 +00:00
Teravus Ovares de32006f9a * Added smoother handling of interpenetrating physical objects.
* Fixes:
* -- duplicating Active physical object causes objects to explode in opposite directions
* -- Rezzing objects too close to you avatar causes avatar to shoot around in odd directions
* Vanity
2007-12-22 05:43:34 +00:00
Justin Clarke Casey 1ac57290ae Initial hookup of update task inventory event. No functionality yet. 2007-12-22 02:52:35 +00:00
Teravus Ovares a453672edb * Remapped the Connection shutdown path.
* This fixes a *bunch* of Mantis bugs related to the following
* -- Neighbouring simulators not appearing after relog
* -- Login to simulator only to be logged off by simulator.
* -- ThreadAbort 
* -- Unable to shutdown circuitCode: x
2007-12-21 16:55:03 +00:00
mingchen 0e6915ae48 *Ban lines now work if they are enabled grid wide.
*Restricted lines just give you a friendly warning for now
2007-12-20 16:50:16 +00:00
Teravus Ovares dcaea6cd50 * Cleaned up some code from an earlier commit 2007-12-20 15:42:53 +00:00
Teravus Ovares 8aae909412 * Added a configuration parameter on the Grid Server to disallow forceful banlists.
* Added a way for Grid based configuration parameters to (generally used in overriding functionality) to get to the regions on Registration.
2007-12-20 06:31:03 +00:00
Jeff Ames be2ad79e52 Added patch from Johan. First attempt to solve the LibSL.Packet GC problem. Works with LibSL rev>1532 2007-12-20 05:43:02 +00:00
mingchen a596b7696a *Made a much more network friendly method of ban and pass line sending
*Added an event that is triggered when an agent enters a new parcel
2007-12-20 02:36:27 +00:00
Teravus Ovares ccc8ffaaec * Added Incomplete Handling of the RegionInfoRequest packet
* Added Incomplete Handling of the EstateCovenantRequest packet 
* Added Incomplete Handling of the EstateOwnerMessageRequest.ChangeEstateCovenantid method
* Fixed a race condition with avatar animations
2007-12-18 12:08:34 +00:00
lbsa71 03635aa336 * Renamed AgentWearable to AvatarWearable
* Made Terrain texture temp (it's re-created on every run)
2007-12-18 07:57:06 +00:00
Teravus Ovares badcbd4bea * Fixed a potential race condition with adding Caps handlers 2007-12-18 01:49:21 +00:00
Teravus Ovares 38fe0dfa90 * Added a Verbose and Debug error to border crossing so that this can be diagnosed further. 2007-12-18 01:45:39 +00:00
Teravus Ovares afe63faa2e * Fix for mantis 0000040 After client logout remote host closed connection on Simulator makes sim unuseable->'Closed Connection Called'
* I've fundamentally changed a few things, so this is experimental
* The routine that I used needs to be tested on Linux.  I don't expect it to cause a problem, but hey, it might.
* Child agents are still not logged off properly, so when the first set time out, the second set get logged off also, on the second log in if the second login is initiated before the first one fully times out.
2007-12-18 00:34:42 +00:00
Teravus Ovares adf7afb606 * Turned all instances of ForEach loops in ClientManager into Local Arrays.
* Added Locking while the Copy is taking place.
* Added an error message to describe what's actually happening.
2007-12-17 20:24:49 +00:00
Charles Krinke a990c64698 Thank you to Kiryu for a patch to fix an out of Sync
error in Scene. Affects 6 files and is Mantis#201
2007-12-17 16:41:28 +00:00
mingchen d845da215f *Land has now been linked to the StorageManager. Next step is to fill in the functions for the different datastore interfaces for Land Objects. 2007-12-17 03:49:13 +00:00
mingchen e2ed1a4e1f *Adding and Removing Avatars from the Access/Ban List for a parcel now works, but the actual ban lines, etc are not done. 2007-12-16 19:53:27 +00:00
Brian McBee 8a8c89a0f3 Grid Inventory feature upgrade: renaming folders should now be correct, subfolders work, moving folders works.
Tested only in MYSQL, but may work in MSSQL and sqlite.
Probably not working in standalone mode.
2007-12-15 04:57:14 +00:00
Teravus Ovares 7fdfeb5830 * Added Active(physical) object count to the SimStatsReporter 2007-12-14 00:49:40 +00:00
lbsa71 1cf4278862 * Debugging Shape
* Adding namesetting to Create
2007-12-13 14:47:44 +00:00
Teravus Ovares 5e6483f209 * In our quest for sim heartbeat stats, we're a touch closer to accurate object count on sim stats.
* Fixed a rare, but possible NullReferenceException
2007-12-12 18:03:37 +00:00
MW 8a2a6ad761 couple of small fixes. 2007-12-12 17:15:37 +00:00
Teravus Ovares 331db2336c * Added Object count to sim stats (it's incorrect, however, it'll be fixed) 2007-12-12 14:07:26 +00:00
Teravus Ovares 6a4a10f0a1 * Fixed agent counts on the Simulator stats pane 2007-12-12 13:52:30 +00:00
Teravus Ovares 081f4403ea * Added some simstats to fill the simulator pane of the Statistics monitor.
* I stress, this is an initial implementation and the Agents(Child and Root) are definately obviously incorrect.
2007-12-12 06:58:55 +00:00
Teravus Ovares 9abe4b2ebf * Start listening for client connections immediately after a region initializes during initial instance startup. (as opposed to waiting for 'all of the regions' to initialize first)
* Removed hackish timer based client notification about regions up (no longer needed)
* Added a comment about an inventory based login failure that causes me lots of greif testing and debugging.  Comment includes *why* it's failing.
2007-12-12 00:38:57 +00:00
Sean Dague c7f5a94763 put in a try block to catch the ForEach loop dying. 2007-12-11 22:20:22 +00:00
Teravus Ovares d67009a78b * Added some locking to help race conditions in the neighbors lists 2007-12-11 21:43:17 +00:00
MW 60c96ab687 Couple of more small changes 2007-12-11 18:29:19 +00:00
MW 909fcd554f A few minor changes/additions/fixes. 2007-12-11 16:05:53 +00:00
Brian McBee 16903ec488 Implementing updateinventoryfolder: Should now be able to rename folders in inventory 2007-12-11 03:51:32 +00:00
Teravus Ovares 2349dc2e27 * Added comments to many methods in the listed files. 2007-12-10 21:12:38 +00:00
Teravus Ovares eac9bc6889 * More refactoring to prepare for draw distance based agent sim notification. 2007-12-10 19:16:50 +00:00
Jeff Ames 40fd37f95a Refactored animation handling in ScenePresence. Now maintains a list of current animations.
* Fixes weirdness when typing and sitting at the same time
* Should fix bug #32 (getting stuck in edit appearance pose)
* Crouchwalk and possibly jump may need more looking into
2007-12-10 15:08:44 +00:00
MW 611327e104 more work on texture downloading.
Refractored the TextureDownloadModule (but currently to make debugging easier, it is running as a non shared module, so this results in a instance of this module being created for each region (and a extra thread per region), this will be changed back soon.
Removed the old texture handling/sending code from AssetCache.
A few other small changes/fixes.
2007-12-10 13:27:23 +00:00
Jeff Ames af6eb67999 saved OpenSim source code from the giant rampaging unterminated copyright notice of doom 2007-12-10 05:25:16 +00:00
Teravus Ovares e595f82489 * Hooked up the GridComm event ChildDataUpdate to the scene.
* Added List<RegionInfo> m_neighbours to Scene 
* Hooked up the OnRegionUp event to m_neighbours list 
* Modified RegionInfo to have a bool commFailTF value so that we can skip neighbors that fail.  (when the region comes up, this gets reset to false and the region will try again.
* Added SetChildAgentThrottle(byte[]) to IClientAPI 
* Several other insignificant changes related to passing child pertanant agent data from sim to sim.
2007-12-10 00:46:56 +00:00
Brian McBee 383eccc543 hackish code to allow emptying of trash. This really should be done on the inventory server, and not from the region.
Also: it appeared to work the first try, so I have probably done something horribly wrong.
2007-12-08 20:41:37 +00:00
Brian McBee beca2373e1 Allow moving, deleting, and restoring objects in inventory.
Note: only tested in grid mode, and emptying trash is still not implemented.
2007-12-08 19:13:10 +00:00
Teravus Ovares e0e9237a89 * Added back the regionup code so people in nearby sims can see a downed sim coming back up. 2007-12-08 17:25:34 +00:00
MW e23290eff6 Avatar Appearance refactoring /changes. Added a AvatarAppearance class, each ScenePresence "has" a AvatarAppearance object. All the ScenePresences in a opensim related to one user (so a user's various ScenePresence's in all the regions in that instance) share the same AvatarAppearance object. This means that a user's avatar should appear correctly (to both that user and other users) no matter what border crossing or teleporting they have done.
Note: this mainly improves Standalone mode, as in grid mode the appearance data isn't passed between region servers. Although people should notice a improvement when moving between regions in the same instance.
2007-12-07 17:23:11 +00:00
Sean Dague 1ad83bcf1b reversing the r2599 patch, as this started causing CreateThread errors for
me on Mono 1.2.4, which led to client crashes.  I think the Timer.Stop() 
wasn't doing what was desired on Mono.  The Queue refactoring should address
the readability issues lbsa71 was working on as soon as I get the merge together.
2007-12-06 20:13:02 +00:00
lbsa71 395637acdd * now the throttle timer is stopped whilst processing Queue so that it won't fire twice
* started to refactored throttling method
* some code convention refactorings
2007-12-06 14:08:22 +00:00
Jeff Ames 1c593d9e19 minor cleanup of Scene.cs (parameter naming, function documentation stubs, duplicated UUID, you know...) 2007-12-06 04:01:56 +00:00
Sean Dague 9c81b8a430 From Gary Chernega (IBM)
This patch adds x, y, and z offsets to the load-xml command.
If you had a prim at 100,100,20 thats where it would get loaded everytime. 
This patch lets you place it at an offset from 100,100,20.. as such:

        load-xml <filespec> -newUI 3 1 2

Loading the prim at 103, 101, 22
2007-12-05 18:45:05 +00:00
MW be93de1257 made one or two more methods in Scene virtual to allow overriding in sub classes. 2007-12-05 13:23:12 +00:00
Teravus Ovares bb824eadee * Refactored Permissions into ScenePresence as requested by MW
* Un-hackerized generating the client_flags 
* Now handling the ObjectPermissions Update packet 
* Warning: Backup your prim before updating.  If you fail to do so and something goes wrong then, All Yr prim are belong to us!
2007-12-05 06:44:32 +00:00
Adam Frisby 91c1e8a734 * Fixed a whole bunch of console messages. 2007-12-04 10:13:13 +00:00
Adam Frisby be7ae3dd3e * Removed 12 compiler warnings. 2007-12-04 08:18:09 +00:00
Sean Dague 8f58a9a107 From Justin Casey (IBM)
While exploring what it would take to get the 'new script' button working,
I encountered the fact, some way down in the rabbit hole, that if a user
renamed an item in their inventory and logged out (without a restart of
the simulator), on log in the new name was not preserved.

As far as I can see, this was because any updates which didn't occur
inside a transaction were ignored by opensim.  This patch pays attention
to those changes.  It generates a new asset when an item is updated and
changes the user's inventory properties appropriately.  I believe this
behaviour is in line with the copy-on-write semantics used in the Second
Life protocol - perhaps it could be optimized if we knew for sure that the
only copy of the object was in the user's inventory.

This also means that if you rename an item (e.g. a script) before you drag
it into an object's inventory, the inventory will receive the item's most
recent name and description.
2007-12-03 20:06:01 +00:00
MW 690e517240 Added a flag to load-xml console command, that will generate new uuids for the loaded Sceneobjects (as per mantis request #53).
To use append "-newUID" to the end of the command, so new format is : "load-xml <filename> -newUID". 
If you don't add the "-newUID", then the uuids in the xml file will be kept.
2007-12-03 14:57:39 +00:00
Jeff Ames 4c0ddacc16 minor meaningless changes 2007-12-03 07:26:27 +00:00
MW cac98171e5 Very partial Avatar Appearance (ie, clothes/body parts) "storage". In standalone mode it will mean that when you log off and log back on ,as long as the region server hasn't been restarted , your avatar will start with wearing the clothes that it wore on log off. In grid mode its even more limited in that wearing/removing clothes/body parts are only stored in the region server instance you are one. so if you are in a different region to your login region (which are on different region server instances), and then change clothes, those changes won't be remembered. So as said, its very limited but is a small step towards having proper appearance persist.
Just need to store this data out to a database.
2007-12-02 14:56:23 +00:00
MW 7bc28e0571 the fix, so that trunk works again 2007-12-01 14:25:46 +00:00
MW 27f182ac54 Part 1 of a commit. This revision will not compile, part 2 will be added in a couple of minutes that should fix that.
Some work towards persisting Avatar Appearance (what is being worn).
Added OnAvatarNowWearing event to IClientAPI that is triggered by AgentIsNowWearing packets.
stub code to subscribe to this event in AvatarFactoryModule. 
Todo: code needs to be added to AvatarFactoryModule to save the uuids to a database and then read them back when that modules TryGetIntialAvatarAppearance() method is called.
Done some changes to Scene to make it easier to subclass it: including changed some private fields to protected and made some methods virtual.
2007-12-01 14:20:37 +00:00
lbsa71 d2b1b54f49 * Removed permissions flag appliance from Xml deserialization
* Various code convention compliance
2007-11-30 08:08:14 +00:00
Teravus Ovares 31cec30aa0 * Extended our semi-stupid implementation of in world object permissions to show a user's client that it can't edit a prim if it doesn't have permission.
* Permissions is due for a big revamp. The current way it's done is a hack at best.
2007-11-30 04:54:15 +00:00
lbsa71 7704bb6f63 * Fixed neighbour range bug
* Various refactorings
2007-11-29 15:27:57 +00:00
Teravus Ovares 4738fead21 * Added a 50 second restart notify timer that gets reset when new regions come up to give servers that host a lot of sims a long time to start listening. 2007-11-29 07:25:58 +00:00
lbsa71 a32bb91675 * minor refactorings 2007-11-29 06:07:48 +00:00
Teravus Ovares 81ba94fde8 * Fixed about 7 issues with restarting sims and resolved interRegion comms issues. This includes the issue that MW described this morning.
There's a lot of little nit picky changes that make a world of difference.
2007-11-29 02:07:19 +00:00
MW ac77c50ba9 Moved the m_sceneGridService.RegisterRegion(RegionInfo); call out of LoadWorldMap and into its own public method (which is called during region creation). We shouldn't have things like that in methods like LoadWorldMap as some regions might not being having a worldmap loaded via the LoadWorldMap method (like in custom applications).
Deleted the CreateTerrainTextureInitial Method which was a 99% duplicate of CreateTerrainTexture, with just a bool field setting difference. That bool is now passed to CreateTerrainTexture as a param.
2007-11-28 12:36:09 +00:00
Teravus Ovares c021bfe191 * Disambiguation in the 'sim is restarting message' that tells you 'which' sim is restarting in the area. 2007-11-28 06:31:27 +00:00
Teravus Ovares b7d596a6af * Restaring the sim works fine in grid mode now. Sims announce themselves to their neighbors when they start up. Neighbors get this message and tell their agents that there's a new sim up.
* Certain unrecoverable physics based crashes in ODE are now hooked up to the 'restart the sim' routine.
2007-11-28 06:18:07 +00:00
MW b916d5b112 Fixed bug, where the clients in a region weren't told to kill a user's avatar when that user teleported to a different region. 2007-11-27 15:44:39 +00:00
Teravus Ovares 082f2baebe Fixed an event in the events chain in inter-region communications.
As a consequence, restarting sims in the same process instance now shows them when they come back up in grid mode and standalone mode.
2007-11-27 13:46:52 +00:00
Teravus Ovares 175b6115f1 * Restarting regions with the estate tools works in sandbox mode. I'm still working on grid mode, however. It doesn't break anything, but that feature doesn't work in grid mode yet either. 2007-11-26 05:02:18 +00:00
Brian McBee c710525b48 Added Region name to the terrain texture description that gets sent to the asset server 2007-11-25 22:27:42 +00:00
Brian McBee 7720be5a39 Rez new prims ON the ground, not halfway buried. Mantis 33. 2007-11-25 17:53:16 +00:00
Teravus Ovares d263a044b1 * Added the ability to restart your individual sims from within them using the estate tools.
* The sims properly restart, however they don't yet notify the existing avatars that they are up.  To see the sim again, you'll need to log-out and back in until I can figure out how to get the proper data to the sims and to the avatar so they reconnect again.
2007-11-25 04:52:14 +00:00
Brian McBee 21ce2b0979 Ignore nullreferenceexception in removeclient. The avatar is already gone. 2007-11-25 04:33:18 +00:00
Teravus Ovares 18e1e62f26 * Changed reference to NullReferenceException to System.NullReferenceException for Linux 2007-11-24 04:12:55 +00:00
Brian McBee 892f942523 Test storing terrain texture to grid assetserver on startup. Needed for main map functionality. 2007-11-24 03:55:35 +00:00
Teravus Ovares 944b118c62 * Added a way for the Region master user to kick individual users from their sim with a custom message. Their client says, "You've been logged off of secondlife, <Your custom message here> and logs them off.
* Added a way for the Region master user to kick *ALL* users from *ALL* their regions in the estate with a custom message.
2007-11-24 03:28:42 +00:00
Teravus Ovares 52714c339e * Hanling RequestGodlikePowers. On Request.. sends the sim owner's client the appropriate messages to make it think it's got god status. Will be used for finding more unimplemented packets.... 2007-11-24 01:38:36 +00:00
Teravus Ovares d7ec786244 * Added a nice 'The Region is going down.' message to the user when the sim owner issues 'shutdown' on the console. 2007-11-24 00:19:48 +00:00
mingchen 51d4d88985 *Fixed bug causing parcel prim counts to stop updating. 2007-11-23 20:17:49 +00:00
mingchen e7edd02019 *Fixed bug that resulted in most land settings being sent to the client. Media settings/parcel name are now correctly sent. 2007-11-23 19:07:41 +00:00
Teravus Ovares 1ecd803e87 * added some functions for use in raytracing. They're kind of crappy now, so they only display 'guesses' on the console when you rez a prim.
* any math gurus who'd like to improve rezzing need only to make the raytracer in SceneObjectPart work :D
2007-11-23 05:56:35 +00:00
Teravus Ovares 7cb38712d5 * Did some initial work for prim crossing. Just glue so far.
* Added the child_get_tasks OpenSim.ini flag for testing the UDP packet sending code and packet throttler.   This flag gets purposely disabled in grid mode.  This flag also has the consequence that you can see the prim in neighboring regions without going into them.  Be warned, this causes tons of dropped packets.
2007-11-21 02:17:24 +00:00
Teravus Ovares 5a71d03b7a *Huge* structural changes in ODE/OdePrim to get all of the calls in threadlocked code. ODEPrim was almost completely re-written.
Copy/Space test needed.
2007-11-20 04:38:08 +00:00
Teravus Ovares 615b40b68b * Refactored IClientAPI.OutPacket to require a second mandatory parameter. This parameter has an enum:int ThrottleOutPacketType and contains types; Resend, Land, Wind, Cloud, Task, Texture, and Asset. 2007-11-18 15:54:05 +00:00
Jeff Ames d10c79d421 first stab at implementation of CopyInventoryItem 2007-11-18 13:50:46 +00:00
Teravus Ovares 46ccfa1741 * Found several cases where prim set physical were not subscribing to physics events. 2007-11-18 13:37:02 +00:00
MW f71fa731f5 Made the background (ie empty space) colour of the exported map image blue. 2007-11-18 12:18:56 +00:00
MW 87b07c19ef Added "export-map <filename>" console command to the region server that will export a jpg image of the world map covering a 20 X 20 regions area centred on the current active region (ie the one set with change-region). While this should work in grid mode (if using the grid asset server and if my last commit did fix the world map), you might need to call the "export-map" command then wait a little while (60 seconds?) and then call it again so that you make sure the region has got all the texture assets from the asset server. 2007-11-18 12:04:21 +00:00
MW 7f99644864 Attempt to get World Map working in Grid mode, will need to be using the grid asset server for it to work correctly and has only been quickly tested in a three region grid.
Moved PermissionManager creation out of the Scene constructor and instead a PermissionManager is passed to the constructor as a param. So that we could create and use custom permissionsManagers.
Added AllowMovement property to ScenePresence which can be used to stop movement of avatars (for example in a custom region that wanted avatars always in one place).
Added PermissionManager call when copying objects, although currently the call will always return true so that it allows copying in places like Wright Plaza. 
A few other changes/fixes.
2007-11-18 11:11:44 +00:00
Dalien Talbot 2cd00f46b9 For every problem there's a solution that is simple, neat and wrong.
Looks like it has nothing to do with childregions - reverting and will 
try to debug after the sleep. Sorry for the noise :)
2007-11-18 07:58:04 +00:00
Dalien Talbot 0d8a2cccfd Looks like we're requesting the mapblocks for every agent - including
childagents. The infrastructure is not robust enough to handle it at 
this time - so ignore all the MapBlock requests for childagents.
2007-11-18 07:40:30 +00:00
Dalien Talbot f7b5c6550b Second try at having a bandaid for the multiple logins crash 2007-11-18 07:16:17 +00:00
Teravus Ovares 5fd2fa687e * Resolved the situation where prim is loaded from storage and when pushed never stops. 2007-11-16 22:13:13 +00:00
mingchen eb2f626561 *Added the TimeDilation property to Scene 2007-11-16 22:02:16 +00:00
Teravus Ovares 179695909a * Implemented the little friendly pop tooltip messages that appear when you hover your mouse over prim with the object name, description, ownerid.. etc. 2007-11-15 07:32:24 +00:00
Teravus Ovares 9f6b3e2357 * Added AvatarPicker in Standalone mode. Works for finding avatar to ban, manually trying to add a friend (with the add button) or useful to those who are curious which usernames have visited your standalone sim. Important for future development :D.
* Grid mode always returns 0 results until the Grid Communications portion is done.
2007-11-13 22:48:19 +00:00
Sean Dague eb41ec00c9 first pass on unlinking of objects. From Jay Clarke (IBM) 2007-11-13 19:57:11 +00:00
MW 297cc7ef4f Some work on cleanly removing Regions. 2007-11-13 12:23:05 +00:00
Teravus Ovares ec77e1eb17 * adds flag in OpenSim.ini for disabling physical prim. Look at OpenSim.ini.example in the bin folder for an example. 2007-11-11 00:08:18 +00:00
Sean Dague 2884112227 move Sun into a Region Module, pass 1. Currently this works fine with
a fixed 30 minute day and the sun going East -> West again.  It gets rid of
super noon as well.  It's a bit debug heavy right now, which I'll clean up
tomorrow.  I also plan to make time progression configurable in OpenSim.ini,
but that will be tomorrow.
2007-11-07 22:22:32 +00:00
MW 73fbacea1f Started to cleanup/close down childagent connections when a user teleports. As the client will not close old childagent connections without being told explicitly to do so by each region the connection is to. Currently only implemented in standalone mode. ( the TellRegionToCloseChildConnection( ) in OGS1GridServices.cs needs implementing for grid mode, and the inter region .net remoting added for the new messages).
hopefully fixed the echo bug in chatmodule.
2007-11-05 13:58:44 +00:00
MW d56ed8fe9c Some more refactoring 2007-11-04 22:22:53 +00:00
MW 039f2c46c0 Added support for OpenSim application plugins (as requested by Adam), which use Mono.addins for loading/management. (which is a pure .net solution so works on both Mono and MS .net, and is under the MIT license, will add the source code for the library later). I also suggest we look into switching to using Mono.addins for our Region module loading management.
A little bit more refactoring of Scene.
2007-11-04 13:48:15 +00:00
MW dabbdec2cd First part of Scene refactoring:
Started the move of some of the methods from scene into a inner class (currently called InnerScene.cs), the idea being that the code related to the 3d scene (primitive/entities/Avatars etc) will be in this inner class, then what is now Scene.cs will be left as a kind of wrapper class around it. And once the spilt is complete can be renamed to something like RegionInstance (or any name that sounds good and ids it as the Region layer class that "has" a scene). 
Added SceneCommunicationService which at the moment is a kind of high level wrapper around commsManager. The idea being that it has a higher level API for the Region/Scene to send messages to the other regions on the grid. a Example of the API is that instead of having sendXmessage methods, it has more functional level method like PassAvatarToNeighbour. Hopefully this will allow more freedom to do changes in communications that doesn't break other things.
2007-11-03 19:14:22 +00:00
darok f8e0cf0f1d Changes in BulletXPlugin: Added new class BulletXActor class inherits from PhysicsActor and it's the ancestor for BulletXCharacter and BulletXPrim.Physical modifications: Changes for pass the value of Physical flag in the SceneObjectPart class to the Physics engines. New call for AddPrimShape so it has a new parameter called "isPhysical". The old call will be obselete soon (i believe). PhysActor and its descendants have a new property called IsPhysical. By the way no new special funcionallity added. It's more like preparing the way for new modifications. 2007-11-03 10:25:43 +00:00
lbsa71 4fad66f855 * Diuerse beavtificatems 2007-11-01 19:19:05 +00:00
Charles Krinke 8af272b3ab Thank you, Melanie for solving: When receiving an ObjectAdd packet, the Rotation member is silently ignored and the prim is created with 0,0,0,1 rotation. The patch introduces a fix that passes the Rotation parameter from the packet to the object and uses it in the actual object creation. 2007-11-01 03:56:54 +00:00
Jeff Ames 13854d562f fixed filenames in log messages 2007-10-31 07:56:31 +00:00
Jeff Ames 7f0d836d35 made illogical bitwise operations logical 2007-10-31 05:29:51 +00:00
dan miller f5195a453c Tevarus' patch for object flags & implemented Phantom edits 2007-10-30 23:38:56 +00:00
lbsa71 67e12b95ea * Optimized usings
* Shortened type references
* Removed redundant 'this' qualifier
2007-10-30 09:05:31 +00:00
MW 3d8219f6c7 as per the "Filesystem cleanup for OpenSim repository" mailing list thread. Have flattened the OpenSim.Framework project/namespace. The problem is that the namespace is still wrong as its "OpenSim.Framework" while the directory is "OpenSim\Framework\General" , so we need to decide if we change the directory or correct the namespace.
Note this has lead to a big flat project, but I think a lot of the files we most likely don't even use any longer. And others belong in other projects/namespaces anyway.
2007-10-29 21:46:25 +00:00
lbsa71 03d49b0217 * ModuleLoader: Privatized some too-public fields
* Scene: Changed name from MakeAvatarPhysical to MakeRootAgent and added ForEachClient
* SceneManager: Added ForEachScene
* Worked some on appearances.
2007-10-29 11:54:31 +00:00
lbsa71 070047ce1b * Added prototypical AvatarFactory module interface to load avatar parameters
* Added dump_assets_to_file option to enable asset dumping for debug
* normalized some namespaces
* InventoryFolder renamed to InventoryFolderImpl to
2007-10-26 14:08:36 +00:00
Tleiades Hax 75be841839 Region ground texture was not marked as temporary, when being created, and assetcache did not check if an asset was temporary prior to uploading the cache to the asset server. Consequently the asset server was constantly being swamped by temporary ground textures. 2007-10-26 13:12:49 +00:00
Adam Frisby 2048d611cf * Added XMLRPC Controller Module to OpenSimMain which allows XML-RPC queries to be sent to the core application.
* Disabled by default, but has two functions so far -- shutdown (timed or now), and create-region.
* Added SendGeneralAlert function to SceneManager allowing all-user alerts to be sent from OpenSimMain.
2007-10-25 12:13:58 +00:00
Adam Frisby 3143768468 * Removed plenty more untagged console messages. Everything now has shiny groups. :) 2007-10-22 22:37:39 +00:00
Adam Frisby 5dad0ed729 * Return of R2162. /Take that SVN!/ 2007-10-22 21:57:32 +00:00
lbsa71 dd770c384c * Made EstateSetting static since there's only one instance, and we only need to create it once
* Now cacheing RegionInfos indefinitively; we should add a tiomeout to this cache
2007-10-22 17:55:49 +00:00
Sean Dague 6acaabefc3 revert r2162 as it completely clobbered all the work on
the ChatModule by MW and myself.  Couldn't find Adam online
after that rev went in.
2007-10-22 15:37:54 +00:00
Adam Frisby c4707a284f * Major ass commit.
* Sqlite Storage Engine now supports terrain -- however be aware that every terrain revision stored will at 512KB to your database file. At the moment it is storing every revision from the first.
* Fixed an issue where by noverbose mode would display lots of useless junk. Noverbose mode is now quite usable.
* Fixed a whole bunch of console message issues such as naming and categorisation
2007-10-22 15:23:48 +00:00
MW 2681de366b Made some changes to the load/save xml format, So that the old format can still be used, I have added new console commands of "load-xml2" and "save-xml2", if the old versions worked for you then please continue using them (at least for now). The new versions haven't been tested that much, so their format could be subject to change. 2007-10-22 11:06:54 +00:00
Tleiades Hax 9f2fcfb3ec Fixed a bug causing a crash during clientlog on in Windows (Thanks to Rookiie and nebadon for laying all the ground work)
Fixed a bug, preventing standalone mode to report neighboring sims correctly
2007-10-21 09:32:24 +00:00
Adam Frisby d8cbd173f5 * Instant Message functionality moved into a Region Modules
* You can now send instant messages to any user on the simulator, regardless of what region they are in.
2007-10-19 19:25:22 +00:00
lbsa71 9853db1708 * normalized line endings... 2007-10-19 12:57:40 +00:00
Tleiades Hax d79a3cc5e1 r 2113 introduced a leak, this should fix the leak 2007-10-19 06:10:35 +00:00
Tleiades Hax 05df857132 Possible fix for: Remoting exceptions with adjacent non-running sims.
Bugs 449, 454, 408, 244, 197
implemented InformClientOfNeighbours as an asynchroneous process, handling timeouts without blocking the main thread.

Improved logging of errors, removed catch all in try catch
2007-10-18 15:10:43 +00:00
MW 86e5f82cb1 Some changes to the sending of updates of SceneObjects to clients, that I did a few weeks ago but never committed (and never completely finished what I had planned). 2007-10-11 10:50:55 +00:00
lbsa71 a40e7100a2 * Gave ModuleLoader some good lovin'
* Introduced ModuleLoader.PickupModules that currently picks up IRegionModule:s from /bin
* Made LogBase thread-safe (or at least not thread-ignorant)
* Ignored some genned files
2007-10-10 18:24:13 +00:00
MW 8cf2daa838 some refactoring 2007-10-10 08:30:36 +00:00
MW f2f173a00e small bug fix 2007-10-08 09:16:03 +00:00
Sean Dague 29aa41daa0 Code from Illumious Beltran (IBM) implementing more LSL
The functions implemented are:

llListen
llListenControl
llListenRemove
llOpenRemoteDataChannel
llCloseRemoteDataChannel
llRemoteDataReply

The events implemented are:

listen
remote_data
2007-10-05 19:33:26 +00:00
dan miller a0265300aa Hollow prims (box only), thanks Gerard! Enjoy 2007-09-29 03:56:36 +00:00
Adam Frisby 569ba9eb9a Terrain:
* Attempted fix for lag/pause when doing lots of updates.
* Some naming fixes to libTerrain.
* Refactored terrain bitmap generation into a common call for both world map and export.

General:
* Switched some calls to Console.WriteLine to use MainLog.Warn/Verbose/Notice.
2007-09-25 11:48:43 +00:00
lbsa71 eb8640f368 * Now the OGS1GridServices has a LocalBackEndServices that it forwards intra-instance requests to
* Every Scene has a ClientManager (as every dog it's day) since two scenes can have the same circuit as client.
2007-09-25 06:33:18 +00:00
lbsa71 2219ccc5b0 * Fixed Culture-variant parsing of config options 2007-09-25 01:20:30 +00:00
Adam Frisby 4e01aa4879 * Added time dilation property to Scene
* Default Terrain algorithm now produces something slightly less mountainous.
* Fixed lolcat
2007-09-24 16:39:26 +00:00
Adam Frisby b82b8b8f4f * Fixed an issue where it chose the smaller rather than larger of the two numbers for the update call. 2007-09-24 15:58:39 +00:00
Adam Frisby f5eac12a88 * Renamed ScriptConsole to PluginConsole for clarity
* Fixed a bug where ODE tries to do a physics update for zero frames.
2007-09-24 15:56:34 +00:00
Adam Frisby 48e0e05446 * Refactored the central update loop - now easier to work with. Switching from per-framecounts to per-second time periods and moving to OpenSim.ini shortly. 2007-09-24 15:46:03 +00:00
lbsa71 1302ef44e3 * Started major restructusing of comms to prepare for better grid and region functionality
* Working towards one shared set of services
* Killed off two projects with very little functionality
2007-09-24 07:30:30 +00:00
lbsa71 40468f18a4 * Encapsulated all CommunicationsManager services 2007-09-24 05:15:13 +00:00
lbsa71 13c1c33ed4 * Added TryGetAvatarByName 2007-09-24 04:49:05 +00:00
dan miller a9a126063f long-lost fixes to physics -- proper physical avatar management on crossings, TP 2007-09-24 02:40:13 +00:00
lbsa71 b3eeb5a8dc * Purged 'Regions' code pending Agent layer grok.
* Changed so prims aren't loaded until AFTER parcels.
* The region startup flow is still an ungodly rats nest.
2007-09-23 23:55:29 +00:00
lbsa71 34043cd351 * Slowly but surely working my way towards Regionality... 2007-09-21 06:00:34 +00:00
lbsa71 5fab795bf0 * Continued work on Region layer
* Added Close() to ScenePresence to remove and destroy PhysicsActor
2007-09-21 05:23:17 +00:00
lbsa71 e4a78a9b30 * Removed unused RegenerateTerrain functions 2007-09-21 05:04:59 +00:00
lbsa71 72b207173a * Removed unused LandRenegerated flag 2007-09-21 05:00:51 +00:00
lbsa71 b9808f8314 * First example of moving stuff to a Region layer
* Also, changed RegionPresence to 'RegionSubscription' - let's just see where we land with this...
2007-09-21 04:58:40 +00:00
lbsa71 409bcd999d * Continuing refactoring of presence
* Deleted stub ScenePresence.Body.cs
  * Added stub Region classes

The idea is to, at first, have every ScenePresence have one RegionPresence, moving code over to it until we can detach the two classes and not have a ScenePresence for every RegionPresence.
2007-09-21 03:13:49 +00:00
dan miller d3050724d8 physics-related fixes; should stabilize border crossings 2007-09-21 02:31:36 +00:00
lbsa71 ca611c6668 * even more renaming and refactoring; the cleaning woman is on call. 2007-09-20 23:47:32 +00:00
lbsa71 101369e25a * Some more presence refactoring 2007-09-20 23:28:08 +00:00
lbsa71 7335e5710b Rev 1971 : The Lbsa71 vintage commit
* Refactored to prepare for some serious restructuring
2007-09-20 13:04:51 +00:00
lbsa71 14d5a2e9b7 * moved SceneManager to RegionApplicationBase
* Implemented SceneManager.StopScene() and Scene.Stop()
* Some SimpleApping
2007-09-20 07:49:11 +00:00
lbsa71 4ce0c0794a * Added TryGetAvatar to SceneManager
* Refactored some names for clarity
2007-09-20 05:02:44 +00:00
lbsa71 2afbf8b22b * Added AddToPhysicalScene and RemoveFromPhysicalScene and added to MakeAvatar and MakeChildAgent respectively
* Removed unused m_child from ClientView
2007-09-19 04:19:27 +00:00
lbsa71 8f0b03597b * Modernized ScriptManager to new interface-based module calls.
* 'remove redundant this qualifier' ftw
2007-09-19 00:30:55 +00:00
lbsa71 f71b315592 * Now at least we're not creating physActors for child agents. 2007-09-18 22:12:16 +00:00
dan miller 04e7fcd0e9 RemoveAvatar called from scene.cs; implemented in ODE. Still issues with multi-region; see bug 410 2007-09-18 02:38:10 +00:00
lbsa71 df58154781 * Moved some commands from Scene into SceneManager so they could be used with 'root'
* Removed some duplicated commands
2007-09-17 07:31:15 +00:00
Dalien Talbot 7fd639a19e Kill little green men on minimap if the avatar logs off. 2007-09-11 15:11:10 +00:00
Brian McBee 1fb47bc4c5 Make grass and trees phantom by default. Same behavior as LL grid. 2007-09-10 19:35:51 +00:00
Sean Dague ffe9c9374a mass update of urls in source code to new website 2007-09-10 08:14:38 +00:00
MW 15423539f9 hooked up sdague new sqlite asset database provider to the old asset system. So we can still use sqlite for assets while we wait for the rest of the new asset system to be wrote.
Needs more testing, so if it causes problems will have to swap back to db4o.
2007-09-10 06:45:54 +00:00
dan miller 86e3fc3da2 added avatar updates for physics movement -- fixes gravity & avatar collision (ODE) 2007-09-09 21:21:09 +00:00
dan miller 94b03aa09d ODE: added support for Phantom flag. Presently you need to add 1024 to ObjectFlags by hand 2007-09-09 15:28:15 +00:00
MW 741a967bb3 Added region console command "edit-scale". To use first use change-region to set the active region as the one you want. Then use "edit-scale <primitivename> <xvalue> <yvalue> <zvalue>" so a example is "edit-scale myprimitive 30.0 25.0 35.0" [ Note the primitive name can't have spaces in it. Also if there is more than one primitive with that name in the region, then it will edit the first one it finds. Also it currently doesn't search through the sub primitives of linked groups. So the primitive needs to be either a single primitive object or the root prim of a group. ] 2007-09-08 11:08:38 +00:00
MW c29df824c2 Converted the LSL scripting engine into a IRegionModule, so now all "modules" share a common base interface and are loaded from the single loader. (It seems to work fine, but I have left the old scriptengine loader, incase we have to change back).
Removed the reference to OpenJpeg in the DynamicTextureModule, to see if that was causing the build problem someone is having. 
Added a Temporary fix for the "existing connection was forcibly closed by the remote host" exception on windows when a user logs out of a multiregion instance. 
Some early work to prepare for improving the way clients are updated (about prims etc).
2007-09-08 07:50:31 +00:00
MW 804e87861b added experimental method of trying to relieve missing prim problem (by adding a limit of the number of prim update packets sent in each update loop). 2007-09-06 14:15:16 +00:00
dan miller 3586beb81b fixed mantis bug 375 (copy broken with physics/ODE enabled) 2007-09-06 03:31:32 +00:00
MW aafc82cd18 Added "force-update" console command (when a region is set as active), which forces the region to send updates of all the prims to all clients. Not sure how well this is going to work with a few users on at the same time, but it might work as a temporary hack to relieve the problem of missing prims. 2007-09-05 21:36:55 +00:00
MW c014ea1510 Added partial help info when calling "help" command with a region set.
Added AddDynamicTextureData() to DynamicTextureModule, so that a script (or another module even) can create a dynamic texture by passing a string with the data in, rather than a url. This could be used for anything from a script passing a basic text string (and having it rendered to a texture) or the script building its own html document.
2007-09-04 20:21:03 +00:00
MW 710856e3d3 Removed the exit-region command, now use "change-region root" or "change-region .." to change back to root level. [Would be nice if the command prompt changed to show what the current region was, but think that will need changes to the console code so for now it will have to stay as it is]. 2007-09-04 17:53:21 +00:00
MW 0eef82291e Added "show modules" command that if at root level will display a list of loaded "shared modules" (modules instances that are shared by multiple regions) or if a region is set then will display the list of local modules loaded in that region.
Can now use "show users" when a region is set, to have a list of users in just that region displayed.
2007-09-04 17:09:47 +00:00
MW 16cbc35f0c Fixed it so change-region works with region names that have spaces in them.
Fixed it so that change-region gives some feedback to show if its worked (found the region) or not.
2007-09-04 16:39:44 +00:00
MW bfd36e2e83 Some work on Module loading/management.
Some more modules templates classes (hoping that someone will pick some of these and work on implementing them).
Early version of the "Dynamic Texture Module", although currently there are no render modules included (so not really functional without them). 
Added osSetDynamicTextureURL script function, for attaching a dynamic texture to a prim. 
Some work on the console command handling. Added "change-region <regionname>" and "exit-region" so that after the use of change-region, the commands entered will apply to that region only. Then use exit-region to return to the top level (so commands then function as they did before and either apply to all regions or to the first region) (Note: this hasn't been tested very much)
2007-09-04 13:43:56 +00:00
MW f388a47254 Added a Debug method to the Console/log class that has the Conditional attribute (set to "DEBUG"), so we can use that for writing extra debug info to the console. [for anyone who doesn't know about the Conditional attribute, it is a attribute that can be set on a method, and then any call to that method will on be compiled if the terms of that condition are met, ie is this case only if "DEBUG" is true. So its a cleaner implementation of the #if #endif directives].
A few other minor changes.
2007-08-31 12:19:36 +00:00
MW 36fba5e7e2 Various small changes (some likely to be removed again soon) 2007-08-29 15:39:57 +00:00
MW 7915adc6c5 Corrected the namespace in OpenSim.Region.Physics.Manager, so now namespace should equal project and directory. 2007-08-28 18:40:40 +00:00
MW c16aafee09 Taken the old scripting engine out of Region.Environment and moved it into a separate module: OpenSim.Region.ExtensionsScriptModule (named as such because the purpose of it is to script server extensions, rather than "user scripting" like Tedd's engine.) 2007-08-28 18:30:28 +00:00
MW 8e3b2392d1 Start of trying to make Region/Scene more modular.
Added preliminary IRegionModule interface.
Also have a work in progress way of Modules registering optional API methods (kind of like Apache optional functions). But there must be a cleaner/nicer way in c# of doing these than the current way.
Added three work in progress modules: ChatModule (simple handles in world chat, but by moving this to a module, we could support other types of chat modules, ie like a irc - opensim bridge module. ) , AvatarProfilesModule and XferModule. 
Moved most of the code from  Scene.ModifyTerrain() into the BasicTerrain library, as the start of trying to make that more modular. 
Stopped Child agents showing up as part of the "show users" command.
2007-08-28 14:21:17 +00:00
MW a45c4626fe Fixed the bug that sent a region port as the CAPS url, instead of sending the httpListener port. 2007-08-27 16:21:16 +00:00
MW 653a4ff22d Deleted a few old files that are no longer used.
Deleted the GridInterfaces projects, and for now moved the old local asset server into Framework.Communications, as we prepare to rewrite the asset cache and asset server.
Deleted Framework.manager as I am sure this is no longer in use.
2007-08-27 15:34:21 +00:00
MW 4c3be4e91f Another small tweak to image sending.
Implemented a few ll Functions, llSetObjectName llGetObjectName, llLoadURL (all currently untested).
2007-08-27 10:34:28 +00:00
MW 291eb48fb0 Another attempt to fix the image sending bug (next week, I intend to rewrite the assetcache and asset server).
Attempt to fix bug # 326. (crashing when using save-xml and hollow prims)
Attempt to fix bug # 328 (limit of 50 items in a folder)
2007-08-26 17:57:25 +00:00
MW 0d5311e49b Added RemovePrim method to the physics plugins interface.
Implemented that method in ODE plugin.
Hooked it up so when deleting/taking prims into your inventory they will be removed from physics engine.
Enabled the other physics hook ups in Scene.cs (and also added registering prims with physics plugin when they are rezzed from Inventory.)
So now to get the avatar to prim collision testing working, just change to use the ODE plugin (in the OpenSim.ini file, physics = OpenDynamicsEngine). Remember though ODE only really works (without problems) when running with a single region.
2007-08-23 17:21:08 +00:00
MW edd50f2e8e Implemented Resize Method in OdePrim.
attached the links to that from SceneObject, so now resizing works (as much as resizing currently works in opensim, fixing resizing in general is on my todo list for today).
Rotation of a root prim also now updates the physics engine.
So think there really is only deleteprim left, then it should be usable (Different shapes (other than boxes that it currently uses) can wait a little bit longer).
[of course there are still the other issues of ODE not really working when there is more than one region in a instance of opensim].
2007-08-23 11:38:50 +00:00
MW 8264ba849f Added a PhysicsActor PhysActor member to SceneObjectPart, and made it so this is set when registering the prims with the physics engine.
Position changes of the prim is now updated straight away to physic engine. (note at the moment, only root prim is registered with physics engine. Think we need to decide how we are going to manage child prims and physics.)
As before this is all currently disabled (in scene.cs) until its in a bit more working condition.
2007-08-23 11:18:16 +00:00
MW 9a8742e838 Added danx0r's physics patch, although for now have disabled the lines in Scene.cs, as any changes to prims (like size or position changes) are only updated to the physics engine when you restart opensim. Also prims aren't deleted from the physics engine. These shouldn't be hard to fix. 2007-08-23 10:53:42 +00:00
MW 47c6d8ae8f Added OnRemoveScript(uint localID, LLUUID itemID) event , trigged when a script in a primitive is deleted. 2007-08-22 18:36:47 +00:00
MW 283468caa0 Added Scene.GetSceneObjectPart(uint localID) 2007-08-22 17:46:23 +00:00
MW f90bd59708 Fixed typo. 2007-08-22 14:48:53 +00:00
MW b5921e2b95 Start of Task Inventory (ie prim's inventory). For now, you can only move scripts into a prim (from your user inventory) and although the script will now show up in the prims inventory, you can't make any changes to it (or delete it). Also a prim's inventory is currently not saved between restarts. 2007-08-22 14:37:54 +00:00
MW 921ac14e86 Added OnRezScript event to Scene.EventManager.Which the script engine should subscribe to. This is triggered whenever a script is moved into a primitive (and includes the localid of the prim and the script text as params) . Currently though the script item isn't deleted from a users inventory, nor does it actually show up in the objects inventory (this will be fixed soon.) So that means that it isn't currently possible to edit a script (or delete it) once it has been added to a primitive. 2007-08-21 21:03:18 +00:00
MW 0e6f57a303 Hopefully fixed the problem of users avatars not always showing up when either you or another user has crossed from one region to another. (however a avatar's appearance isn't kept across regions, but we need to add that to inter-regions communications so for now people will have to put up with some other user's avatars appearing as the bald(ish) fat man 2007-08-21 18:11:45 +00:00
MW 249826893d Old group is now deleted from datastore when you link groups/prims, so that the new group can be stored correctly. 2007-08-21 17:47:01 +00:00
MW b7134c834c Shift and Drag copying should now work correctly. [This was one of those stupid little one line bugs that was so much fun to track down that I decided to spend a few hours on it)
Linking groups should now work better than it did, but still a bit of work to do on getting the rotations of all the parts after linking right. 
Added part of dalien's #301 patch (xml loading/saving related parts with some small changes)
2007-08-21 16:25:57 +00:00
MW 252b48fb3e Can now turn on/off server side permission checking (on prim editing etc) from the opensim.ini file. Just add a line to the Startup section like : serverside_object_permissions = true
Changes /editing that are made to clothing/ body parts in your inventory should now be saved between logins/ restarts.
2007-08-21 13:21:03 +00:00
MW 31a81e17be The regionUUID is now being passed to the datastore calls. 2007-08-20 15:49:06 +00:00
MW 4af33c4da6 Instant Messages between users in the same region should actually now work. 2007-08-20 11:52:55 +00:00
MW 3dffc3e3f6 small clean up. 2007-08-19 14:55:43 +00:00
MW c89db49f3c Sqlite datastore should now save the textures and extraparams data (used by sculpties) correctly. [Really need to add a ExtraParams field to the sqlite database though, but for now I have combined their data so that we don't lose backward compatibility, know a couple of people have been using the datastore already].
Now have a rough day/night cycle (the movement of the sun needs to be made smoother but for now it is better than we had I think).
Added dalien's patch (issue 294) for saving and loading prims to a xml file (think he will be modifying these to be import/export functions and maybe writing a xml datastore for backups).
Some preliminary work on task inventory (ie object's/prim's inventory).
Added place holder data for AvatarProperties (ie a avatar's profile). Should we store this sort of data on the user server or have another server for it (a normal webserver should work). 
Added a few more method to IClientAPI.  
Sure there is something I'm forgeting.
2007-08-19 13:35:20 +00:00
Brian McBee 6c7f828833 When teleporting to distant region, you can now go to the point you want to go to, instead of the default 128,128 2007-08-18 17:10:54 +00:00
lbsa71 25fd8d0273 * Introduced IScriptHost as an interface to fetching object data from scripts.
* This meant introducing AbsolutePosition on all objects (since SimChat wants that)
2007-08-16 17:08:03 +00:00
MW 531f64a53b Taking Prims (SceneObjectGroups) in and out of inventory should now work and if left in inventory will still be there after restarts. (as with the rest of inventory it will only fully work in standalone mode with account authentication turned on). 2007-08-16 16:31:32 +00:00
MW 94dded470d More work on inventory, can now create other inventory types, like Clothes and body parts. [Note while you can edit these, at the moment your changes won't be saved between restarts. This will be fixed very soon.] 2007-08-15 18:34:36 +00:00
MW 217d511077 Temporary fix for the region crossing crash, Although we need to start to change and improve how we handle caps. 2007-08-15 15:24:37 +00:00
Adam Frisby 5699bb2e64 * Permissions! - You can now only perform certain functions (such as editing other peoples objects) if you have permission to do so.
* Moved OnPermissionError to EventManager - now triggers a standard blue alert.
* Terraforming now requires permission via the permissions manager. [Defaults to admin-only]
* Permissions manager is now substantiated in Scene
* Buttload of new permissions added.
* Estate manager operations now require various levels of permission to operate
* OGS1 now produces 'summary reports' for a commsManager of each scene it maintains connections for. Reduces grid network traffic for ping checks.
* Added new "permissions true" / "permissions false" console command to enable or disable permissions.
2007-08-15 14:10:26 +00:00
MW a4fc02d790 Partial fix for the permissions on edited notecards/scripts (now you might still see the messages next to the items of no copy or whatever, but they shouldn't stop you doing thing like reading etc) 2007-08-14 20:05:39 +00:00
MW a979808493 preliminary support for editing notecards and scripts.
Although there seems to sometimes be a problem of when you login again, old notecards and scripts will have their permissions messed up and you won't be able to even view their text. This seems to be related to the client's cache, and if you clear your client's cache, on the next login they should be fine again. [I have a couple of ideas about what might be causing this so hopefully will have it fixed soon.]
2007-08-14 19:19:09 +00:00
MW 20b50489c0 Can now create some new empty inventory items (like notecards and scripts) from the create menu in the inventory window. Although currently you can't update/edit them (and have those changes saved). 2007-08-14 17:48:25 +00:00
MW 181a90967e Start of inventory items, when you upload a texture the data will now be stored in the inventory database and you will still have that texture in inventory on later logins (Again only in standalone mode with authentication.)
Also there might be some problems if you upload textures in other regions to the start one (due to us not updating the CAPS url properly).
2007-08-14 17:29:15 +00:00
Tedd Hansen afaa12a9e2 ScriptEngine: Some error handling, logs to logger 2007-08-14 15:59:36 +00:00
MW ff08d4d016 More inventory work, should be able to now create new inventory folders and them be stored in database (so are there on next login). Again only works in standalone mode with Account/password authentication turned on. [Creating new inventory items should be working very soon.]
The test is to make sure that it hasn't broke grid mode at all.
2007-08-14 14:57:52 +00:00
MW a228b5984e Start of Inventory service, currently only (partially) functional in standalone mode and using sqlite).
In standalone mode, if you have account authenticate turned on (setting in opensim.ini) then when you create a new account, a set of inventory is created for that account and stored in database (currently only a set of empty folders). Then during login the database is search for that set and sent to the client in the login response.
More functions will be added soon, like creating new folders (and a bit later items) from the client inventory window.
2007-08-14 13:54:46 +00:00
Tedd Hansen 79dc1a4f7d Common script for all objects (Default.lsl). ScriptEngine touch_start event now works, but llSay only outputs to server console. 2007-08-13 20:55:07 +00:00
MW 45fcbaae1b Added Scene.ConvertLocalIDToFullID() method. 2007-08-13 20:24:37 +00:00
MW b3c6920328 added Sample OnObjectGrab event to SceneEventManager for script engines to subscribe to. 2007-08-13 20:11:35 +00:00
Tedd Hansen 876f71cf93 (DotNet) ScriptEngine is now loaded and added to Scene during startup. 2007-08-13 19:39:51 +00:00
MW b59d9789f8 Partial Linking of prim groups should work (its partial as currently only the root prim of the child group will actually get linked, working on linking the rest now).
Multiple prim groups are now stored in the sqlite database and are reloaded correctly.
2007-08-13 13:36:42 +00:00
MW f147d8e0f0 Few small fixes 2007-08-10 18:52:46 +00:00