aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/EventManager.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* This changeset is the step 1 of 2 in refactoringDr Scofield2009-02-061-980/+0
| | | | | | | | | | | | | | | | | | | | OpenSim.Region.Environment into a "framework" part and a modules only part. This first changeset refactors OpenSim.Region.Environment.Scenes, OpenSim.Region.Environment.Interfaces, and OpenSim.Region.Interfaces into OpenSim.Region.Framework.{Interfaces,Scenes} leaving only region modules in OpenSim.Region.Environment. The next step will be to move region modules up from OpenSim.Region.Environment.Modules to OpenSim.Region.CoreModules and then sort out which modules are really core modules and which should move out to forge. I've been very careful to NOT BREAK anything. i hope i've succeeded. as this is the work of a whole week i hope i managed to keep track with the applied patches of the last week --- could any of you that did check in stuff have a look at whether it survived? thx!
* Added a ForceSceneObjectBackup method to Scene, which as it says forces a ↵MW2009-02-041-2/+2
| | | | | | | | | | database backup/update on the SceneObjectGroup. This is now called at the beginning of DeRezObject, so we know the database is upto date before we attempt to delete a object. Fix Mantis #1004 Which happened because Database backups don't happen if a object is still selected, so when you select a part in a link-set and then unlink it and then delete it, all without unselecting the prim at all. The unlink changes never get updated to the database. So then when the call to delete the prim from the database happens, which is called with the SceneObjectId. That SceneObjectId is never found, as the database still has that prim as part of another link set. It is possible that these changes might have to be reverted and for us to find a different method of fixing the problem. If the performance overhead is too high or it causes any other problems.
* * Establish OnOarFileSaved EventManager event and subscribe to that instead ↵Justin Clarke Casey2009-02-021-0/+16
| | | | | | | | | of passing in a waithandle to the archiver * This matches the existing OnOarFileLoaded event * This brings up the question of how these things can be made generic so that they don't have to be tied into EventManager, but that's a topic for another day
* From: Christopher Yeoh <yeohc@au1.ibm.com>Dr Scofield2009-01-281-0/+31
| | | | | | | | | Adding Oarfileloaded and EmptyScriptCompileQueue event support which allows (with a module) for programmatic notification of when a region objects and scripts are up and running after a server start or load-oar.
* * refactor: pull out common user profile test code into utility functionsJustin Clarke Casey2008-12-121-0/+4
|
* Implementation of the llDetectedTouch* functionsidb2008-12-051-3/+3
|
* Add root agent tracking to presence moduleMelanie Thielker2008-11-221-3/+3
|
* Next step in the presence module - some core plumbing included atMelanie Thielker2008-11-221-0/+13
| | | | | | no extra cost
* Introduces the message transfer module. It splits the transfer mechanics offMelanie Thielker2008-11-161-10/+19
| | | | | | | | the IM module and makes it into a module of it's own, which can be used by all other modules. Removes some ugly hacks. Refer to the IM module to see how it's used. Also fixes the persistence issue (Mantis #2598)
* Script region crossing. This has not user functionality, but lays all theMelanie Thielker2008-11-091-3/+3
| | | | | | groundwork.
* * Implemented OnClientConnect in Scene EventManagerAdam Frisby2008-11-081-0/+16
| | | | | | * Identical to OnNewClient except it passes IClientCore instead of IClientAPI * See http://opensimulator.org/wiki/OpenSim_0.6_IClientAPI#Porting_Guide
* Make the IM and friends modules optional. Clean up some code that dealtMelanie Thielker2008-11-011-22/+6
| | | | | | | | | | with the old Grid Instant Message over OGS1. Refactor the EventManager to be independent of the rigid module structure design imposed by the current implementation. Message routing is now done in the destination module rather than in the event manager. This way, more or less granular solutions are possible without core changes.
* This changeset changes the way chat from client is routed: Dr Scofield2008-10-031-3/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | old way: each region module interested in chat from client had to - subscribe to scene.EventManager.OnNewClient - then in its OnNewClient delegate it would subscribe to client.OnChatFromViewer to capture chat messages coming new way: ChatModule is the only region module that uses the "old way" approach but is now forwarding all client chat via scene.EventManager.OnChatFromClient - each region module interested in chat from client now only subscribes to scene.EventManager.OnChatFromClient this not only simplifies code, but also allows us to substitute ChatModule with derived classes (ConciergeModule is going to be one example). Also, this changeset changes ChatFromViewer to ChatFromClient as it doesn't necessarily have to be a viewer that is a chat source. i've taken great care to only comment out those OnNewClient delegates that were only used for getting at the client chat --- hope it's not breaking anything.
* Convergence is almost complete. This brings the diff between the API to < 10kMelanie Thielker2008-09-251-0/+11
| | | | | | | | and makes it use a common set of types in both engine. Fixes the issues with running both engines and HTTP requests / listens / timers etc.. Also fixes a couple of minor Scene issues and a CTB by nullref.
* Change the scirpt engine loading mechanism. Script engines are nowMelanie Thielker2008-09-211-3/+4
| | | | | | | | | ordinary region modules and are able to coexist in one instance. See http://opensimulator.org/wiki/ScriptEngines for details. There were changes to OpenSim.ini.example, please note DefaultScriptEngine. Also see the User docs and FAQ on the Wiki. Default is DotNetEngine.
* * This is the fabled LibOMV update with all of the libOMV types from JHurlimanTeravus Ovares2008-09-061-44/+44
| | | | | | | * This is a HUGE OMG update and will definitely have unknown side effects.. so this is really only for the strong hearted at this point. Regular people should let the dust settle. * This has been tested to work with most basic functions. However.. make sure you back up 'everything' before using this. It's that big! * Essentially we're back at square 1 in the testing phase.. so lets identify things that broke.
* Thank you, salahazar, for a patch that corrects the behavior ofMelanie Thielker2008-08-271-6/+6
| | | | | | | llDetectedLink(). Also a small refactor to remove an interface member from IScriptEngine.
* Formatting cleanup.Jeff Ames2008-08-181-23/+9
|
* renaming the increasingly ill-named ChatFromViewerArgs to OSChatMessageDr Scofield2008-07-251-4/+4
|
* Mantis#1616. Applied Melanie's patch. This may or mayCharles Krinke2008-06-281-11/+26
| | | | | not break trunk.
* * This sends collision events to the script engine. Teravus Ovares2008-06-051-1/+37
| | | | | * Unfortunately, there's some kludges with the Async manager and the llDetected functions that I have yet to decipher... so llDetected functions don't work with collision events at the moment....
* Mantis#1439. Thank you kindly, Melanie for a patch thatCharles Krinke2008-06-041-0/+13
| | | | | plumbs in the events for on_rez.
* * Fixes a bug saving the current sun phase to the estate_settings file.Teravus Ovares2008-06-021-0/+15
|
* * Fixed a dangling event hook that I added.Teravus Ovares2008-05-301-0/+12
| | | | | * Added a Non-finite avatar position reset. This will either handle the <0,0,0> avatar gracefully, or send the avatar to 127,127,127 if that also doesn't work. ( I've only been able to reproduce this error once on my development workstation )
* Thank you kindly, Melanie for a patch for script resetCharles Krinke2008-05-261-0/+12
| | | | | that creates the event handler chain ready to hook by script engines
* Adding OnChatBroadcast event logic to EventManager providing Dr Scofield2008-05-261-0/+16
| | | | | | | | | | | | | a clean interface for Sim broadcasts. Added SimBroadcast support to ChatModule. Removing all code from IRCBridgeModule dealing with agent/client directly. Cleaning up ChatModule. Polishing IRC messages, adding support for "/me" (both directions).
* * A hacky Top Scripts display. It isn't accurate as far as ms accounting, ↵Teravus Ovares2008-05-251-0/+15
| | | | | | | however you can use it to help find out what scripts are causing your simulator to cry. * Access it from the Estate tools/Debug tab.
* * Fixes endless loop in the Land Module when selecting any object.Teravus Ovares2008-05-241-10/+11
| | | | | * Fixes returning objects when the object owner hasn't been in the simulator since the simulator started up last.
* IRCBridgeModule (and ChatModule before the refactoring) didn't succeed in Dr Scofield2008-05-231-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | finding out which region a new avatar was logging in to; the same problem occurred when the client/avatar logged out. the reason was mani-fold: - Scene.AddNewClient(...) would call SubscribeToClientEvents(client) which would subscribe to all client events and then call TriggerOnNewClient(...) BEFORE the ScenePresence object had even been created and added. i've moved the TriggerOnNewClient() call to the end of Scene.AddNewClient() - Scene.AddNewClient(...) is called with child == true; a later call to ScenePresence.MakeRootAgent() will turn child to false. When OnNewClient is triggered, child is still true, causing IRCBridgeModule's FindClientRegion to ignore the ScenePresence of the new avatar. i've changed IRCBridgeModule to still use OnNewClient and also OnLogout and OnConnectionClosed but only to signal that the avatar has logged on (logged off respectively). to track whether an avatar has actually entered a region i've added EventManager.OnMakeRootAgent (complementing OnMakeChildAgent). also, i've cleaned up the internal IRCModule code a bit. currently it still uses IClientAPI.SendChatMessage() which replicates the code in ChatModule, that needs to be changed to use TriggerOnChatFromWorld().
* *Refactor of the LandManagementModule that allows OpenSim to run without itmingchen2008-05-231-0/+89
|
* i've refactored the ChatModule into two modules: ChatModule and IRCBridgeModule.Dr Scofield2008-05-231-0/+18
| | | | | | | | | | | | | ChatModule is now only doing in-world chat. IRCBridgeModule is only doing, well, bridging chat to/from IRC. Both modules are now using a new OnChatFromWorld event handler (which Scene.PacketHandler is feeding for chat from in-world instead of going via the Interface method). This refactoring will allow us to easily add other bridge modules (e.g., an XMPP bridge module). there is still a bug in IRCBridgeModule (inherited from the old ChatModule) where FindClientRegion does not really find the client region...
* * Going to the C# syntactic sugar way of handling the backup event delegates.Teravus Ovares2008-05-211-8/+2
|
* * This update causes the backup process to run in a separate thread.Teravus Ovares2008-05-211-2/+8
| | | | | | | | * Concurrency issues are resolved because each object makes a memory-only copy of itself and backs up the copy. * Because of the way this is done, the latest at the time of the backup gets backed up (no functionality change) * You can move *thousands of objects at a time* and the sim doesn't freeze and wait for the backup to complete. * This can be enhanced more by dedicating the thread as opposed to starting it when the backup process starts.
* move SceneEvents.cs to EventManager.cs, as that's actuallySean Dague2008-05-201-0/+637
the name of the contained class.