Commit Graph

21 Commits

Author SHA1 Message Date
Melanie Thielker
f3c8963c86 Convergence is almost complete. This brings the diff between the API to < 10k
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.
2008-09-25 05:13:44 +00:00
Melanie Thielker
94aaf67dfa Change the scirpt engine loading mechanism. Script engines are now
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.
2008-09-21 21:47:00 +00:00
Teravus Ovares
7d89e12293 * This is the fabled LibOMV update with all of the libOMV types from JHurliman
* 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.
2008-09-06 07:52:41 +00:00
Melanie Thielker
5525a3ecb4 Thank you, salahazar, for a patch that corrects the behavior of
llDetectedLink(). Also a small refactor to remove an interface member
from IScriptEngine.
2008-08-27 22:53:58 +00:00
Jeff Ames
6ef9d4da90 Formatting cleanup. 2008-08-18 00:39:10 +00:00
Dr Scofield
24e15088ea renaming the increasingly ill-named ChatFromViewerArgs to OSChatMessage 2008-07-25 10:05:50 +00:00
Charles Krinke
9a0ef22ed9 Mantis#1616. Applied Melanie's patch. This may or may
not break trunk.
2008-06-28 16:08:12 +00:00
Teravus Ovares
e12baa5eb3 * This sends collision events to the script engine.
* 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....
2008-06-05 13:24:59 +00:00
Charles Krinke
d635b526e5 Mantis#1439. Thank you kindly, Melanie for a patch that
plumbs in the events for on_rez.
2008-06-04 14:31:36 +00:00
Teravus Ovares
42c5dca989 * Fixes a bug saving the current sun phase to the estate_settings file. 2008-06-02 10:01:02 +00:00
Teravus Ovares
334d05db05 * Fixed a dangling event hook that I added.
* 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 )
2008-05-30 11:25:21 +00:00
Charles Krinke
ed717ec181 Thank you kindly, Melanie for a patch for script reset
that creates the event handler chain ready to hook by script engines
2008-05-26 16:16:48 +00:00
Dr Scofield
42cdf3c240 Adding OnChatBroadcast event logic to EventManager providing
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).
2008-05-26 11:56:04 +00:00
Teravus Ovares
c20f7d6171 * A hacky Top Scripts display. It isn't accurate as far as ms accounting, 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.
2008-05-25 20:50:45 +00:00
Teravus Ovares
cd79be569c * Fixes endless loop in the Land Module when selecting any object.
* Fixes returning objects when the object owner hasn't been in the simulator since the simulator started up last.
2008-05-24 21:13:44 +00:00
Dr Scofield
09188d5d10 IRCBridgeModule (and ChatModule before the refactoring) didn't succeed in
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().
2008-05-23 16:07:47 +00:00
mingchen
d04443b4fe *Refactor of the LandManagementModule that allows OpenSim to run without it 2008-05-23 15:12:15 +00:00
Dr Scofield
bf23e5d66c i've refactored the ChatModule into two modules: ChatModule and IRCBridgeModule.
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...
2008-05-23 10:24:26 +00:00
Teravus Ovares
c8857daf52 * Going to the C# syntactic sugar way of handling the backup event delegates. 2008-05-21 22:06:38 +00:00
Teravus Ovares
5af108a029 * This update causes the backup process to run in a separate thread.
* 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.
2008-05-21 21:22:56 +00:00
Sean Dague
70ada9181d move SceneEvents.cs to EventManager.cs, as that's actually
the name of the contained class.
2008-05-20 20:39:44 +00:00