Commit Graph

834 Commits (8a098bf12c620bd56f3371f1cf8a90ffa04b16c8)

Author SHA1 Message Date
Melanie Thielker 74f89fb22d Add "Drop" functionality to pie menu 2008-10-04 01:09:22 +00:00
Melanie Thielker 1b2380db84 Cause objects to be removed from the database when they go temp or get
attached. Also make sure that parcel prim counts get updated
2008-10-03 16:18:38 +00:00
Melanie Thielker 3902149e1b Implement temp-on-rez objecte really being temporary 2008-10-03 15:32:44 +00:00
Melanie Thielker 36097a8198 Prevent attachments to be persisted in the destination region when the
avatar is not present there.
2008-10-03 13:45:54 +00:00
Melanie Thielker 7f007d8ed0 Mantis #1360
Thank you, idb, for a patch to implement the packet and plumbing for
the material settings.
2008-10-03 12:00:13 +00:00
Johan Berntsson 513ce9caee Added functions to find prims by name 2008-10-01 06:39:36 +00:00
Melanie Thielker 57a862bc01 And one more. lThat should make all scripts start for everyone 2008-09-30 14:58:11 +00:00
Adam Frisby d4c1751285 * Fixed minor issue while building: If you do a raytraced object placement and a target isn't found, the object is rezzed at 0,0,0 - instead now it will place according to the position sent by the client.
* We may instead want to abort and send a "Cannot Rez Here" message?
2008-09-30 14:42:25 +00:00
Justin Clarke Casey 941e20c463 * refactor: move asynchronous scene object deletion to inventory queueing out to a separate class 2008-09-29 19:09:49 +00:00
Justin Clarke Casey e768602681 * refactor: Rename InventoryModule to InventoryTransferModule 2008-09-29 15:09:35 +00:00
Jeff Ames 0b4415849a Update svn properties. Minor formatting cleanup. Fix a compiler warning. Fix a UUID vs null comparison. 2008-09-28 03:21:11 +00:00
Melanie Thielker f11107821e Add an extension to allow registering multiple interfaces of a type with
Scene. Make the script engines check that the engine name in the
//Engine:language comment is a valid engine and treat it as a normal
comment if it's not.
//DotNetEngine: needs to be written as //ScriptEngine.DotNetEngine: now, since
that is it's real internal name. //XEngine: still works
2008-09-25 17:26:32 +00:00
Charles Krinke 339671afc6 Mantis#2017. Thank you kindly, Tyre, for a patch that solves:
Check the client dialog box (from top menu) WORLD / REGION ESTATE 
/ REGION tab. The client dialog box seems to have a hard limit of 
about 32 characters per line available for displaying the region 
version number. Our regions are sending a string which is greater 
than the limit, causing the client to wrap the text and look ugly.
2008-09-25 14:57:40 +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
Homer Horwitz 0105171fc4 The viewer only stores a screenshot on "Set home to here" if the alert that
follows show the text "Home position set.". Changed the message accordingly.
2008-09-21 13:31:30 +00:00
Teravus Ovares 610313ea64 * Added null exception handler where we couldn't locate a user data record in the cache for the user
* More OGP tweaks to make it play nice in an error condition.
* Still Experimental.
2008-09-19 01:11:40 +00:00
Dr Scofield 03f246d6fe adds support to delete a region completely and offers that
functionality via the console command "delete-region" and also via
RemoteAdminPlugin.

minor typo fix.
2008-09-18 15:44:05 +00:00
Melanie Thielker 7e8320bada Kan-Ed fix series. Fix llTakeControls to behave as documented.
XEngine fixes: prevent queue overruns, prevent spamming when no key
is down. Release controls when conflicting permissions are requested
or permissions are refused later. Release when prim or script are deleted.
Fixes Scene script instance deletion semantics.
2008-09-17 22:00:56 +00:00
Justin Clarke Casey ec4189b722 * If an individual scene object throws an exception while storing, deal with this locally rather than letting it propogate up the stack
* This will allow other scene objects to persist and stop the exception taking down the whole region server
2008-09-16 17:30:30 +00:00
Justin Clarke Casey ddaa90d270 * refactor: collapse UpdateUserProfileProperties() into existing UpdateUserProfile
* the methods were identical except that the Properties one did a check for the user profile beforehand.  However, every caller was doing this already anyway.
2008-09-15 19:02:34 +00:00
Homer Horwitz 8ae8bec4d1 Changed "show users" command to display only root agents, "show users full" to
display root and child agents (mantis #2171).
2008-09-12 22:39:17 +00:00
Justin Clarke Casey 9cdd9e215c * Patch http://opensimulator.org/mantis/view.php?id=2172
* Patch attached that adds the check for uninitialized appearance when inventory items are received and processed. Also attempts to ensure that appearance is initialized even 
when the profile cache has not been built.
* This will not fix the race condition, but should at least remove the unhandled exception that is being reported in Mantis 0002126.
* Thanks cmickeyb
2008-09-12 21:32:45 +00:00
Justin Clarke Casey 62d1eba3b2 * Patch http://opensimulator.org/mantis/view.php?id=2167
* Force ClickAction persistence even if other object properties are not edited 
* Thanks nlin!
2008-09-12 20:42:04 +00:00
Justin Clarke Casey 3f1dbae8e4 * minor: various doc and tidy up, logging increase to make it clearer which prim is failing a border crossing 2008-09-12 00:37:59 +00:00
Justin Clarke Casey 78f831ef52 * minor: Clean up of logging messages to make following the client login process easier
* documentation
2008-09-07 03:22:33 +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
Justin Clarke Casey 01878b886c * Fix mantis 2130 - nre occuring sometimes when the regular prim update sweep occurs
* Fold m_deleted and m_isDeleted together (ugh!)
2008-09-06 00:44:50 +00:00
Melanie Thielker eee9c114cb Mantis #2111
Eliminate gretuitious KillObject packets. KillObject is sent to the
viewer for the root part only.
Also prevents the full update on deselect that makes a deleted object
reappear and stay visible until the background deleter got around to it.
We still send 2 KillObject packets for the root prim, that could be 
avoided only at a cost in reliability. One packet seems an acceptable
price to pay for consistency.
2008-09-03 19:28:46 +00:00
Justin Clarke Casey d3510def00 * If a general alert message is sent out, only send it to avatars in the scene (not child agents).
* This foxed me in the osgrid meeting last week
2008-08-30 21:52:09 +00:00
Justin Clarke Casey 49ec6dd882 * squash some obvious warnings
* a couple more remain that preferably the original coders should look at in more detail (obsolete warnings in the ogp module and not overriding warnings in the script 
engine)
2008-08-30 18:09:38 +00:00
Charles Krinke 9fc67f1908 Mantis#2067. Thank you kindly, HomerHorwitz for a patch that:
Found that during my ghost-hunt: Add some logging and you see that the 
counting down happens twice (once at the place that is removed by the 
patch, and once caused by the actual removal of the root-/child-agent 
during LLClientView.Close). With the patch applied, I end up with correct 
numbers, i.e. with 0 roots and 0 children after everyone has logged out.
2008-08-29 14:21:31 +00:00
Jeff Ames 3bf8858727 Update svn properties, formatting cleanup. 2008-08-28 14:41:54 +00:00
Melanie Thielker bc78a6335b Mantis #2058
Remove the physics representation of link set child prims when the
link set is deleted.
2008-08-27 19:06:07 +00:00
Justin Clarke Casey 7402c2d288 * Deal with a WebException thrown if a grid server cannot be contacted for region information 2008-08-25 21:26:58 +00:00
Teravus Ovares 2912aafe25 * This commit incorporates the heart of the OpenGridProtocol patch that is currently on Forge in a nice, friendly modular format.
* There are a lot of changes and this is quite experimental.  It's off by default, but you can turn it on by examining the bottom of the opensim.ini.example for the proper OpenSim.ini settings.    Remember, you still need an agent domain..  
* Furthermore, it isn't quite right when it comes to teleporting to remote regions (place_avatar)
2008-08-25 07:35:17 +00:00
Melanie Thielker a7a385937e Completing the item sale series, this one implements sell contents.
All item sale modes are now complete.
2008-08-24 16:41:23 +00:00
Melanie Thielker d5b48ecbe1 Selling a copy of a prim (prim vendor) now works.
Sack of bolts to go with the nuts?
2008-08-24 07:16:47 +00:00
Melanie Thielker 07cb1d4f0e Selling an object in-place (as original) now works. Builders can
now ply their trade. Is that nuts?
2008-08-24 06:39:54 +00:00
Melanie Thielker c9b5641c49 Plumb the data path for all those eye candy values. Saves texture
animation, target omega, looped sound, script access pin, allowed
drop state and sale data. Loads it, too. Not all tested.
Code: No Nuts. Data: Cannot Guarantee Nut Free.
2008-08-24 05:25:26 +00:00
Melanie Thielker 63b6ab467a Implements 80% of object buy (prim vendor). You can't buy the object yet,
and the for sale setting doesn't survive a sim restart, but this is most
of the plumbing.
2008-08-24 00:51:21 +00:00
Melanie Thielker ccd74f888b Some complex re-ordering to make prebuild do what needed to be done.
It is now possible to use module interfaces without referencing Scene.
Place those interfaces in OpenSim/Region/Interfaces. They may not
use any refs from OpenSim.Region.Environment as parameters.
This resolves a circular library ref introduced in r5949
2008-08-23 02:30:07 +00:00
Melanie Thielker f206ffd5a8 Mantis #2003 - thank you, SachaMagne, for a patch that implements
the first part of gesture persistence.
----------------------------------------------------------
Attachments no longer vanish on walking crossing. Teleport is still
problematic, but will now be blocked with message "Inconsistent
attachment state" rather than losing the attachment. Detach to be
able to TP in that case.
2008-08-20 01:48:51 +00:00
Jeff Ames 07b04213d7 Update svn properties, minor formatting cleanup. 2008-08-19 22:41:39 +00:00
Melanie Thielker e5cdba1cb4 Fix region crossings and access to inventory after changing regions within
the same simulator
2008-08-19 15:09:35 +00:00
Melanie Thielker 6d2e1ad6ba Attachment persistence!!! Patch #9169 (Mantis #1171)
Attachments now save to MySQL. No reattach on login yet.
2008-08-19 02:12:40 +00:00
Jeff Ames 6ef9d4da90 Formatting cleanup. 2008-08-18 00:39:10 +00:00
Teravus Ovares 0683a07081 * Turned on the MapImageModule as opposed to the code in Scene for generating the map image. Copied the code in Scene into the MapImageModule, made a few tweaks to get it to work with the module's interface.
* Refactored a few things in Scene to make maptile saving easier to understand.
* Added comments to describe the 'clever code' assetcache update without the gridasset being updated so as to lessen possible confusion in patches in the future.
* If the MapImageModule isn't loaded, default to the code in Scene still.
2008-08-17 18:59:58 +00:00
Jeff Ames 796ccd3d37 Update svn properties, minor formatting cleanup. 2008-08-17 02:31:45 +00:00
Teravus Ovares 7c8cc345cd * re-order an operation to check for NaNs in the maptile shadow routine. 2008-08-16 20:54:51 +00:00
Teravus Ovares a6fdcffa3b * One more terrain shadow debug helper. 2008-08-16 19:58:25 +00:00
Charles Krinke b6c6572ee1 Mantis#1969. Thank you kindly, Tyre for a patch that:
Type casting the normalized vector 'lookat' to int results to <0,0,0>.
This patch also adds an overload to RequestNeighbourInfo (currently unused) 
that will come handy for some features I'm working on.
2008-08-16 19:34:12 +00:00
Charles Krinke d9cc908471 Mantis#1965. Thank you kindly, HomerHorwitz for a patch that:
Places touched:
- Added two events for in-packets to LLCLientView: RegionHandleRequest and
  ParcelInfoRequest
- Added sending of two out-packets to LLCLientView: RegionIDAndHandleReply and
  ParcelInfoReply.
- Scene handles the RegionHandleRequest, LandManagementModule the
  ParcelInfoRequest
- Added inter-region request for LandData by RegionHandle and local position.
  This was implemented as XML-RPC request. The returned LandData isn't
  complete, it only contains the data necessary for answering the
  ParcelInfoRequest
- Added new CAPS (0009) for RemoteParcelRequest and some methods for LandData
  handling to LandManagementModule
- Added methods for fake parcelID creation and parsing to Util
- Fixed missing implementation of interface methods.
- Added new file:
    OpenSim/Framework/Communications/Capabilities/LLSDRemoteParcelResponse.cs
  NOTE: This is part of the patch, too.
Due to the many places touched, I would consider this patch as experimental.
2008-08-16 19:20:14 +00:00
Teravus Ovares f191f38a3e * Fix a rare maptile shading error, terrain difference mod 1 = 0 + abs = oops. 2008-08-16 19:03:29 +00:00
Teravus Ovares 80186a68df * Adds Slightly better terrain shading to maptile generation. 2008-08-16 06:09:45 +00:00
Melanie Thielker 328ab79b78 Refactor a lot of direct calls to OGS1 to use the cached version instead.
Scripts can now no longer DOS the user server and there are a lot fewer
gratuitious lookups of user profile data.
2008-08-16 02:00:36 +00:00
Melanie Thielker dfc553d0a4 Fix up master avatar handling for estate owners. Introduces a new
hierarchical rights structure. MasterAvatar: Owner of the region server
(may be null), net gods (users with GodLevel 200), Estate owner
(from database). Look at Opensim.ini.example to enable net gods.
Estate owner will default to master avatar.
2008-08-15 13:13:39 +00:00
Jeff Ames dde21314e7 Update svn properties, formatting cleanup, fix a couple compiler warnings. 2008-08-15 10:24:04 +00:00
Dr Scofield 8d479fe5af From: Richard Alimi <ralimi@us.ibm.com>
The following patch makes some enhancements to loading/saving the Xml2
format.

- Add streamed version of functionality for saving prims to Xml2
  format. The streamed version (optionally) allows for saving the
  prims whose positions appear within a particular bounding box.

- Expose stream versions of LoadPrimsFromXml2 and SavePrimsToXml2 in
  the Scene class

- Extend loading from Xml2 (the streamed version) to optionally start
  scripts for the loaded scene objects)
2008-08-15 07:20:38 +00:00
Melanie Thielker 4041194db9 Refactor: Make the tree creation function take a UUID for the owner
Change the tree populator module to supply a sensible value
2008-08-14 21:31:38 +00:00
Melanie Thielker e3157e61aa Mantis #1946
Thank you, HomerHorwitz, for a patch that corrects and improves TP
to landmark and home position handling.
2008-08-14 00:04:37 +00:00
Charles Krinke 9d93668a0a mantis#1927. Thank you kindly, Leaf for a patch that:
Makes progress on fixing scripts in child prims of
attachments not being scheduled for execution.
2008-08-13 14:19:59 +00:00
Mike Mazur ba822fe2ab Revert "Thanks, lulurun, for a patch that clears and refreshes and outdated user"
This reverts commit r5823.
2008-08-13 07:51:59 +00:00
Mike Mazur cd89864f4c Thanks, lulurun, for a patch that clears and refreshes and outdated user
profile cache (issue 1919).
2008-08-13 06:08:26 +00:00
Justin Clarke Casey 4e555b87f3 * Stop warnings about non existent scene presences/entities being removed on client log off
* This is being done by preventing close from being called twice on child agent closure (nres which would have been thrown are being swallowed).  
* However, it should be possible to do much better cleanup on this code in the future
2008-08-12 19:00:13 +00:00
Mike Mazur 8ea92c0669 Thanks, lulurun, for a patch that addresses inventory problems that occur
occasionally, but are fixed on restart (issue 1919).
This patch introduces the following changes:
1. when a user teleports out of Region A, remove that user's profile
from the Region A user profile cache
2. when a user crosses between regions out of Region A, remove that
user's profile from the Region A user profile cache
3. the user profile cache's session ID member can now be set (written),
and is updated each time a connection with a new avatar is established (ie: a
new avatar enters the region)
4. when a region server looks up a user profile and a cache miss
occurs, fetch the user profile from the user server first instead of
immediately returning null
2008-08-12 06:21:02 +00:00
Melanie Thielker f9945bf87f Patch #9163 - Refactor initial packet sending out of InnerScene into
ScenePresence. Pace prim delivery to about 200 updates/s max. Break
a long-held lock that caused the notorious MapBlockQuery XMLRPC timeout
on agent login. Eliminate 60 second timeout at "Waiting for region handshake".
Fix region crossing/teleport response. Fix appearance in primmy regions.
2008-08-11 23:20:14 +00:00
Justin Clarke Casey 5350cec0b3 * minor: log message twiddling 2008-08-01 20:05:26 +00:00
Justin Clarke Casey 43b2ff1d11 * Drop cached inventory from the local region when a user crosses out into a remote region
* May resolves inventory problems that occur when the user moves between two regions`
* e.g. if the user moves to a second region, adds an inventory item, moves back to the original region then tries to manipulate that item
* Not yet implemented for teleport
2008-08-01 18:49:48 +00:00
Justin Clarke Casey 0d488ad489 * minor: just realized I managed to get the save xml/xml2 messages the wrong way around 2008-07-25 18:08:45 +00:00
Sean Dague 090159defc refactored LandData to use properties, and cleaned up the naming on
the properties a bit to be more consistant with other objects (having things
like .Name .Description, etc).
2008-07-23 15:50:32 +00:00
Jeff Ames 80d8e2889e Update svn properties. Formatting cleanup. Remove a compiler warning. 2008-07-23 13:24:25 +00:00
Johan Berntsson 344c9caeb6 thanks lulurun for a security patch that blocks unathorized access to the inventory server (see http://opensimulator.org/wiki/Security_vulnerability_brought_by_non-check_inventory_service) 2008-07-23 06:59:02 +00:00
Melanie Thielker f112cebde2 Refactor the packet scheduling out of ClientView. Add intelligent
resending, timeouts, packet discarding. Add notification event for
packet discarding. Add priority scheduling for packet queues.
Add outgoing duplicate detection facility. Correct packet sequencing.
Make provisions for automatic server side throttle adjustments (comes
in next installment)
2008-07-22 17:58:42 +00:00
Justin Clarke Casey d9db56d86b * minor: stick filename being loaded/saved from in save/load xml/oar information messages 2008-07-21 17:52:53 +00:00
Justin Clarke Casey 8948ecbd8b * minor: Make it clearer the region on which save and load xml/oar commands are operating 2008-07-21 17:42:13 +00:00
MW fb096dfbd5 added experimental packet tracker (LLPacketTracker.cs), which can be told to track a packet and if it hasn't been acked within a set time, trigger a IClientAPI event, that the application/scene can handle. Currently only terrain packet tracking is finished, Tracking for initial Prim packets (first full update for a prim) is being worked on. Future improvements would be to make it a more generic packet tracker with callback delegates instead of events.
Add a test event handler (which would fire after a minute if a terrain packet hadn't been acked) to scene to handle the OnUnackedTerrain event, which currently just resends the terrain patch.
The idea of this packet tracking is for the region level application to be able to know if the client stack gave up on sending a packet.
2008-07-21 15:13:34 +00:00
Melanie Thielker 8ae7dc628b Make the max sizes of physical and nonphysical prims configurable in OpenSim.ini
Defaulted to 65536 and 10, respectively
2008-07-20 15:19:26 +00:00
Melanie Thielker 351ee78d2a Quick fix to make the estate ban list effective again, when the region
crossing is also a sim crossing. Prevents the CAPS handler from being set
up for a banned user,making them redmap out.
Dirty hack, temporary until I can work out how to do it right.
2008-07-19 06:20:57 +00:00
Melanie Thielker bbd076544d Patch to fix saving of estate managers list loaded during migration.
No longer teleports an agent home unless their root agent is being banned.
Visual blocking is still in effect.
2008-07-18 19:32:05 +00:00
Justin Clarke Casey f8721c3c1c * refactor: break out sog loading code into two parts so that post-deserialization changes can be carried out before adding it to a scene 2008-07-18 14:42:06 +00:00
Melanie Thielker 263633e274 Patch #9151
Makes the estate dialog fully functional. Implements all client facing functionality. Moves estate data from estate_settings.xml, which is used to provide defaults, to the region data store. Creates one estate for each region, and places the region in it. Converts all region bans to estate bans.
2008-07-18 02:40:47 +00:00
Justin Clarke Casey 9cb4ba9d6b * For now, when loading an archive all the existing scene objects get deleted by default 2008-07-14 16:23:59 +00:00
Melanie Thielker 07bd749ac5 Patch #9150
Patch 7 of the region patches. Finish off the region parts of the estate dialog. Full user functionality. Terrain textures, heights, water, avatar counts, prim bonus, debug settings and region toggles can now be set from the dialog on a per-region basis. Estate stuff defaults to sane values where there are no defaults, to estate_settings.xml otherwise. Sun still b0rked :(
2008-07-14 01:39:36 +00:00
Melanie Thielker e712678689 Patch #9147
Patch #4 of the region settings series. Partial functionality of the new
storage system. More patches to follow.
2008-07-14 01:27:47 +00:00
Justin Clarke Casey 92cac0c6de * minor: make scene closing log message info rather than warn 2008-07-13 00:21:23 +00:00
Justin Clarke Casey eb63b9bbc1 * Actually persist restored archives to the database - wasn't actually doing this before (doh)
* Not quite perfect yet
2008-07-13 00:18:29 +00:00
Justin Clarke Casey a89385818d * On archive loading, tell the user how many objects we are ignoring because they already exist in the scene
* (ability to give objects new uuids will come later)
2008-07-12 22:14:38 +00:00
Justin Clarke Casey 7d97169351 * minor: thought up a better name for the last allocated local id 2008-07-12 21:07:42 +00:00
Justin Clarke Casey 000d5e8b93 * minor: just some null guards and name changes to make it clearer that prim count is actually a prim local id dispenser 2008-07-12 21:03:12 +00:00
Justin Clarke Casey 8535cb52e0 * Put an info entry in the log if permissions are being bypassed
* might help to diagnose mantis 1712
2008-07-11 16:03:12 +00:00
Justin Clarke Casey aad55e5034 * Comment out body of experimental ParcelMediaSetTime() since MW says it causes a mono 1.2.4 compile to fail
and MW says it will soon be replaced anyway.
2008-07-11 14:51:02 +00:00
MW 58ce018625 for testing purposes only:
added void osSetParcelMediaTime(double time) command to script engines. 
which sets the position of the media that is playing. Time is in seconds.
Doesn't do any security checking (should be checking that the object/script is owned by the parcel owner). So could be abused, if it is then we should remove it, or add the security.
Only tested in dotnet scripting engine, but should work in XEngine too.
2008-07-09 12:02:01 +00:00
MW c9fe500212 Added "save-prims-xml2 <PrimName> <FileName>", as we were lacking a method to save a single primitive or small group of them. This command will save all prims in the current scene that name matches the "PrimName" parameter. The saved file is in standard xml2 format, so can be loaded using load-xml2 2008-07-01 19:23:45 +00:00
Charles Krinke b8a3a27221 Mantis#1641. Thank you, Lulurun for a patch that addresses:
The 1st "GetAvatarAppearance" *always* fails and returns default 
avatarappearance. Avatarappearance seems to be working well because 
the 2nd "GetAvatarAppearance" gets the right appearance.
2008-07-01 13:34:05 +00:00
Charles Krinke bf34f65125 Mantis#1639. Thank you, Melanie for a patch that:
Reads estate_settings.xml and populates the database from it. 
If there is no record, just passes the defaults to the application.
2008-07-01 02:16:58 +00:00
Charles Krinke 4cb42d4c35 Mantis#1637. Thank you kindly, Melanie for a patch that:
Make each region load it's settings from the database on startup. 
No user functionality yet.
2008-06-30 14:09:19 +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
Dr Scofield 748f72326d last round of warning squashing. calling it a day now. 2008-06-27 23:03:39 +00:00
Dr Scofield 3d26e6ede0 move along, nothing to see here. just a couple of lazy variables. 2008-06-27 19:57:06 +00:00
Justin Clarke Casey 836557a2f7 * refactor: fission InnerScene.AddSceneObject() 2008-06-27 14:25:36 +00:00
Justin Clarke Casey c9b41bdc4e * Add extra backup parameter to InnerScene.AddRestoredSceneObject() 2008-06-27 14:15:14 +00:00
MW 7a9922af27 Added support for terrain map to be serialised to xml(as base64 binary). useful for places that the terrain map is needed in a serialised form. Also could add console commands to save and load from files, which should be faster than .raw files (these load/save commands are not included/implemented)
Add util functions to compress and uncompress strings. 
Fixed a couple of modules so they use SceneCommunicationService rather than directly call functions on the CommsManager.
2008-06-25 19:33:19 +00:00
Charles Krinke f6bf4c39be Mantis#1587. Thank you kindly, Melanie for a patch that:
Add permissions magling to llGiveInventoryItem, 
correct some corner case functionality
2008-06-24 23:55:33 +00:00
Justin Clarke Casey 908d91be78 * refactor: Making some of the serialization names consistent, both within their pairings and with the others
* This does make some of the names less ideal than others - this should change in the future
2008-06-21 21:20:59 +00:00
Justin Clarke Casey e19a76377c * Refactor: Fold sog.DeleteParts() functionality into existing sog.DeleteGroup() 2008-06-21 20:12:01 +00:00
Justin Clarke Casey b290ce405f * Remove a bug I created in r5171 where taking an object would terminate the client session
* change code to use an explicit state variable instead of using SOG.Name = null to signal deletion
2008-06-21 19:56:19 +00:00
Teravus Ovares a5860ad438 * Adds Region ban capability to Regions. You access this by going to World->Region/Estate. Then on the Estate tab, at the lower right hand corner, clicking the 'Add' button and picking an avatar.
* It only persists across reboots for the mySQL datastore currently.
* Currently have stubs in the other datastores.
2008-06-21 03:29:08 +00:00
Justin Clarke Casey f69f696181 * Temporary workaround for mantis 1568. If the avatar apperance factory now throws any exception, we will carry on with the default appearance rather than terminating the client login 2008-06-19 17:03:59 +00:00
Teravus Ovares 1fcb7c2db4 * By popular demand, skipping trees from the map tile generation routine. Skipping these because we have no good representation, they just appear as blocks that obscure the rest of the map items. 2008-06-18 16:27:27 +00:00
Jeff Ames a728417eda Minor formatting cleanup. 2008-06-18 03:50:39 +00:00
Justin Clarke Casey 16d0a895cb * Refactor: Move the responsibility for applying physics and sending the initial client update to Scene.AddSceneObject() from some of the SceneObjectGroup constructors
* I think this has been done cleanly from inspection and testing, but if prim creation or load suddenly starts playing up more than usual, please open a mantis
* This also has the effect of stopping the archiver generating ghost in-world prims
* Some code dupliction also removed
2008-06-17 20:36:21 +00:00
Justin Clarke Casey 33d32355a1 * refactor: Remove largely duplicate code from SceneXmlLoader.CreatePrimFromXml2() 2008-06-17 17:23:00 +00:00
Justin Clarke Casey ba69cc31e5 * Refactor: Break out AssetsRequest to a separate file in the Archiver module 2008-06-16 15:36:01 +00:00
Teravus Ovares 5cccd4f6e5 * Vintage 2, a good year. 2008-06-14 20:33:03 +00:00
Teravus Ovares 7ca868dca5 * Fixes: 0001554: r5106 update fails to load on some regions with NullRef error on volume portion of maptile drawing routine. 2008-06-14 20:04:48 +00:00
Teravus Ovares 6bea792436 * Enables maptile display in grid mode for simulators that are not on the same instance.
* Only generates a new maptile after a refresh interval
* Maptile names have the UnixTimeSinceEpoch that they were generated and the regionUUID they're from, so you can know which ones are no longer necessary.
* Updates RegionInfo, so backup your /bin/Region/*.xml files.
2008-06-14 02:39:27 +00:00
Jeff Ames 64f01ade04 Update svn properties, clean up formatting, refactor out duplicate hard-coded port numbers. 2008-06-13 00:21:53 +00:00
Teravus Ovares 5219eb7420 * Split the World Map code into a module.
* Implemented a hack so regions beyond the 10,000m range will show the map without having to click on the map before they'll start to show.   The hack shows regions around the one you're in, but it won't show the one you're in..  you still need to click on the map to get that (not sure why yet).   Additionally, the map still only shows pictures for regions that are hosted on the same instance (no change).
2008-06-12 20:19:42 +00:00
Justin Clarke Casey 8714833986 * refactor: For new objects, move attach to backup to occur when adding to a scene, rather than on creation of the group
* Adding to a scene is now parameterized such that one can choose not to actually persist that group
* This is to support a use case where a module wants a scene which consists of both objects which are persisted, and ones which are just temporary for the lifetime of that server instance
2008-06-12 17:49:08 +00:00
Teravus Ovares 049cfe80e4 * Insulate maptile volume draw routine against TextureEntry oddities. 2008-06-12 11:06:31 +00:00
Teravus Ovares 2b6487c832 * Added Prim drawing to the mainmap tile generation.. you can see blocks representing the prim now on the mainmap.
* It isn't perfect since the blocks are square, however it's pretty good.
* Performance is also pretty good, however, if it takes too long for you, you can disable it in the OpenSim.ini 
* You can see how long it takes in milliseconds on the console when it finishes.
2008-06-12 01:11:57 +00:00
Teravus Ovares 2883656bbc For people receiving: Exception: System.ArgumentException: Value of -2147483648 is not valid for red, I've added the following message;
[MAPIMAGE]: Your terrain is corrupted in region {0}, it might take a few minutes to generate the map image depending on the corruption level
And, I've also kept it from crashing...
2008-06-11 19:45:17 +00:00
Teravus Ovares 8a93358405 * This completes ObjectDuplicateOnRay.
* In English, that means that Copy Selection works now, including Copy Centers and Copy Rotates.
2008-06-10 00:18:00 +00:00
mingchen 5ab5991676 *Fixing another object counting bug 2008-06-07 00:24:43 +00:00
mingchen 0fe363ba65 *Made Object Counting correct with linked objects and turned the previously protected functions that only return object counts to public so it can be easily used by outside classes. 2008-06-06 23:20:02 +00:00
Teravus Ovares c892ddcd20 * This wraps the autopilot request to the client's sit response. An interesting, but successful way to do it.
* This also takes care of a few error situations that were previously never seen.
2008-06-06 12:51:20 +00:00
Jeff Ames fbd37c420f Minor formatting cleanup. 2008-06-06 01:19:15 +00:00
Charles Krinke bc32395775 Mantis#1446. Thank you kindly, Grumly57 for a patch
that solves "trees are too small when rezzed"
2008-06-04 14:34:35 +00:00
Jeff Ames 4ec4e16c80 Formatting cleanup, minor refactoring, svn properties. 2008-06-04 09:59:27 +00:00
Teravus Ovares febe78d062 * Implements UserServer logoff in a few situations
* User tries to log-in but is already logged in.  Userserver will send message to simulator user was in to log the user out there.
* From the UserServer, admin types 'logoff-user firstname lastname message'.
* Some regions may not get the message because they're not updated yet.
2008-05-31 12:18:29 +00:00
Justin Clarke Casey 83f390e421 * Refactor: Change multiple requests for a module interface to use a stored reference instead. 2008-05-30 18:01:28 +00:00
Justin Clarke Casey 4f237f3ae3 * Crudely migrate SceneXmlLoader into the Serializer module 2008-05-30 17:52:14 +00:00
Dr Scofield 9590e671e6 while investigating why IRCBridgeModule.Close() was having no effect, i
noticed that Scene.Close() will only call Close on non-shared region
modules. i've now added code to SceneManager.Close() to collect all
shared region module from each scene before calling Scene.Close()
on it and then, once, all Scenes are closed, go through the list of
collected shared region modules and close them as well. SceneManager.Close()
is only called when we initiate a shutdown --- i've verified that a
Scene restart does not trigger the shutdown of shared modules :-)

also, this adds a couple of bug fixes to the IRCBridgeModule (which
after all didn't take kindly to being closed) as well as a check to
InterregionModule's Close() call.

finally, this fixes the RestPlugin's XmlWriter so that it no longer
includes the "xsd=..." and "xsi=..." junk.
2008-05-30 12:29:30 +00:00
Charles Krinke a84456c239 Mantis#1411. Thank you kindly for Dataserver.cs and a patch
that adds function stub to request region info by name and
adds llRequestSimulatorData() and the dataserver event
2008-05-29 13:55:02 +00:00
Jeff Ames 5752c1f5c2 Formatting cleanup. 2008-05-28 03:44:49 +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 1bb1d5d9b0 This cleans up a merge mess from the earlier checkin and implements llOwnerSay()
via the newly created Scene.SimBroadcast() call.
2008-05-26 15:37:31 +00:00
Justin Clarke Casey 5c8a93c426 * Extract and boil down necessary texture UUIDs for an archive of the scene prims
* no user functionality yet
2008-05-26 01:50:40 +00:00
Justin Clarke Casey d500209da0 * Refactor: Where possible, change visibility on InnerScene methods to protected internal on the basis that they shouldn't be manipulated by outsiders 2008-05-26 01:06:50 +00:00
Justin Clarke Casey a28ca7b78b * Refactor: remove code duplication between add ScenePresence methods in InnerScene 2008-05-26 00:47:36 +00:00
Justin Clarke Casey 73a28a56da * Refactor: Separate out RemoveScenePresence and add into InnerScene to match existing AddScenePresence 2008-05-26 00:38:04 +00:00
Jeff Ames 5d77625e9a Update svn properties. Formatting cleanup. 2008-05-25 23:27:38 +00:00
Justin Clarke Casey bc92d72828 * Refactor: Collapses parts of different code paths in scene used when deleting and unlinking an object 2008-05-25 00:09:08 +00:00
Justin Clarke Casey 0ee69707ea * Refactor: Collapse some multiple remove object paths
* Push some delete functionality into InnerScene to match what's already there for adding objects
2008-05-24 23:11:07 +00:00
Justin Clarke Casey 10564469c8 * Refactor: Remove some unused methods in Scene/InnerScene 2008-05-24 22:48:21 +00:00
Justin Clarke Casey f3067ce6f9 * Refactor: Change previous commits Object methods to SceneObject methods instead, on the basis that this is less likely to cause confusion with c#'s base object type 2008-05-24 22:45:13 +00:00
Justin Clarke Casey 79eecd3d25 * Refactor: Renaming various *Entity*() methods to *Object*() methods on the basis that they all take SOG parameters to improve code readability for now 2008-05-24 22:10:14 +00:00
Justin Clarke Casey 42693f3b20 * Refactor: Push some dictionary initialization down from Scene into InnerScene 2008-05-24 21:57:00 +00:00
Justin Clarke Casey dd4100db4c * Get the xml2 entities serialization representation in the archiver module
* Not yet reusing serialization module - this will happen in the future
* No user functionality yet
2008-05-24 19:21:57 +00:00
Teravus Ovares 375673ec90 This enables return from the parcel object owner display.
There's some oddness with the parcel counts, but if you can get past the oddness, you can return objects under an owner that you have permission to return.
2008-05-24 11:10:21 +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
Charles Krinke 7dcaa409b3 Thank you kindly, Melanie, for a patch which:
Previously, upload charging was possible only for UPD uploads. 
This is because UDP uploads are charged by the viewer, while in CAPS, 
this was changed to be server side, so hackers couldn't avoid 
paying the upload charge. This patch adds a method to allow 
implementation of this serverside charge.
2008-05-23 01:38:20 +00:00
Justin Clarke Casey 8cde4a1c28 * minor: Remove unused variables causing warnings in Scene 2008-05-22 22:31:42 +00:00
Justin Clarke Casey 0c94da8305 * Plug in stubbed out archiver module 2008-05-22 22:21:58 +00:00
Sean Dague b27ae0e8dc make VS compile Scene.cs 2008-05-22 20:59:40 +00:00
Sean Dague 1c49752a44 don't trust appearance assetid, instead do an inventory
lookup any time we get it from the server.  This should
preventent unwearable appearance.
2008-05-22 20:07:31 +00:00
Justin Clarke Casey 203017f554 * Refactor: Move enhancement of version string with operating system information from Scene to OpenSimMain
* This also means the operating system info will show up in the region console (and hence the logs)
2008-05-22 00:32:04 +00:00
Justin Clarke Casey 2e758172f0 * Fix circular dependency from last checkin by passing version as a parameter to Scene rather than referencing VersionInfo directly
* Butt ugly solution
2008-05-22 00:18:33 +00:00
Justin Clarke Casey 9263f07d70 * Send VersionInfo string instead of the hardcoded Scene string to the "About Second Life" box
* This is the same string as printed out on the opensim region console at startup, so it should now include the svn revision number (if available)
* This dialog box takes an awful long time to come up on my local system - no idea why that is.  However, that also seems to have been the case before this revision.
2008-05-21 23:52:02 +00:00
Teravus Ovares 8afd93c943 * Sets backup bool volatile for extra protection against two backup processes running. 2008-05-21 21:47:03 +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 185eff8d0d From: Jeremy Bongio <jbongio@us.ibm.com>
House cleaning ...

Rather than using the variable name EntityList, the variable name
EntitieList was being used. Here's a patch to fix it.
2008-05-20 16:19:35 +00:00
Sean Dague 7a52b35c57 fix crash in standalone mode for initial appearance setup 2008-05-19 20:33:54 +00:00
Sean Dague 9808f39b6f i can haz pantz?
You sure can.  This change set restores pants (and the rest of the
default appearance) in grid mode.  The 
root issue had to do with serializing multi-faced textures to the 
grid server.  This also restores the lookup path through the avatar
factory module, as that seems the reasonable place to have it live.
Some clean up patches are coming later as well, plus testing on 
standalone, but this should be in a good kicking around state for 
grid users.
2008-05-19 19:08:59 +00:00
Jeff Ames 6ec680918b Formatting cleanup, minor refactoring. Fixed some comparisons of value types and null. 2008-05-18 23:06:50 +00:00
Teravus Ovares 2bd03b7c8c * Group type stuff. Nothing spectacular. two packets, sorta almost semi half tiny amount implemented. 2008-05-18 03:21:22 +00:00
Sean Dague 06b1535ec5 while this doesn't fix the initial no pants issue in grid (which still baffles me)
it does make setting appearance in grid stick.
2008-05-17 12:45:43 +00:00
Jeff Ames 7fefb80abb Minor cleanup. 2008-05-16 13:33:57 +00:00
Jeff Ames 65c5efe43b Formatting cleanup. 2008-05-16 01:22:11 +00:00
Sean Dague 4a9ee9f870 testing avatar appearance as a user service 2008-05-15 20:25:42 +00:00
Teravus Ovares a4efa93993 * Comitting 0001271: [PATCH] Refactor permissions to fully allow stacking permissions modules. From Melanie. Thanks Melanie! 2008-05-14 23:25:07 +00:00
Teravus Ovares 2a988f187e * Refactored IConfigSource into Physics plug-ins and Scene. We can get rid of some of the parameters we pass to it's constructor now like, 'm_allowPhysicalPrim', 'seeIntoOtherRegions', etc.. so on
* The main purpose of this is to provide configuration options for ODE and other physics plug-ins that are advanced enough to be able to be configured.
2008-05-14 23:15:25 +00:00
Justin Clarke Casey 587f6ab645 * Refactor: Remove SceneObjectGroup.GetScenePresences() in favour of a direct call to Scene 2008-05-14 21:09:41 +00:00
Justin Clarke Casey 3025dafa92 * Refactor: Stop exposing the inner scene's ScenePresence dictionary directly to the world 2008-05-13 18:25:15 +00:00
mingchen 32785921d0 *Complete redo of the permissions module
*Removed hardcoded permissions checks
*Added permissions checks where needed
2008-05-13 16:22:57 +00:00
Teravus Ovares bfce23dcf4 * Implemented ChildAgentDataUpdate throttle multiplier based on an inaccurate count of neighbors.
* The neighbor count is always lower then the actual number of neighbors unless your region was up the longest.
* The region you're in is un-affected by this, though, you'll get less packet loss, maybe not get logged off immediately when you log in, and possibly see more prim if your internet connection is semi-unreliable.
2008-05-13 06:05:45 +00:00
Justin Clarke Casey d3fb6039ca * If a region running in grid mode fails to login to the grid service, startup will now terminate instead of carrying on (and thus burying the error message) 2008-05-12 16:57:56 +00:00
Adam Frisby ee352ebc79 * Added NPCModule and NPCAvatar classes for NPCs. Primitive, but we can grow them out.
* Fix for Scene.Inventory.cs - It assumes every entity at startup is a SceneObjectGroup. (Actually, this shouldn't have compiled[!] without a warning.)
* Fix for LandManager at startup - it assumes there's a land channel when perhaps there isnt. (Bug that needs another refactor to fix. [Mike - I've assigned a ticket to you about this])
2008-05-11 04:32:43 +00:00
Teravus Ovares 1ba51dd2fd * More OutPacket refactors.
* Added back a sleep to the kick routine so users get a 'you have been logged off message' when they get kicked from the simulator for various reasons (like 'the simulator is going down')
2008-05-10 13:11:09 +00:00
Teravus Ovares b7baa3cd2a * Valid Sculpted prim now collide properly.
* The first time you set the sculpted texture of a prim you might have to futz with it to get it to generate a sculpted physics proxy
* Note that there are already issues in Trunk, (such as the prim scaling issue and prim jumping issue.  Essentially editing is difficult right now)
* This just adds to the experimental nature of trunk. :D
2008-05-09 07:50:00 +00:00
mingchen 6c71a04da8 *Added all the permission checks to the sceneexternalchecks and modified permission module to follow this.
*This makes permission checking much more modular; allows restrictive and granting module to be made without modifying the existing permission module
2008-05-08 19:37:57 +00:00
Justin Clarke Casey be02107ea8 * Increasing ScenePresences locking to prevent race conditions such as those seen in one of the crashes of mantis 1163
* It's not impossible that this could lead to deadlock where sessions simply appear to freeze, even though the region console still responds.
* If this is the case, please file a mantis
2008-05-07 22:59:30 +00:00
mingchen 6551f17966 *Added SceneExternalChecks.cs that is used to manage checking the results of multiple functions that register with the class and return the result (usually true/false) based on those results. This is useful for module wanting to put their opinion in decisions such as 'can the user rez this object?' 2008-05-07 17:33:57 +00:00
Adam Frisby 31cd162d34 * Cleaning up code, making it conform to OpenSim standards. 2008-05-06 04:56:48 +00:00
Justin Clarke Casey 9655cf2807 * Refactor: Break out permissions code into a separate region PermissionsModule 2008-05-05 20:14:53 +00:00
Justin Clarke Casey 60a83574f4 * Just some tidy up and documentation before I make my first ever attempt to extract a lump of code out to a region module 2008-05-05 18:53:07 +00:00
Teravus Ovares 7b446aba91 * Implemented DIE_AT_EDGE and Temporary objects don't save to the database. 2008-05-04 22:55:52 +00:00
mingchen 63c104efde *Fixed up EstateManagementModule to the module standard - no more packets allowed!
*Started cleaning up the land module
2008-05-04 18:59:18 +00:00
mingchen 4a87d96c17 *Moved EstateManager into a region module 2008-05-03 17:11:21 +00:00
Teravus Ovares 07167c9a3f * Committing some collision stuffs that I'm working on.
* Nothing user facing yet.
2008-05-03 04:33:17 +00:00
Adam Frisby 776b4cedf6 * Small fixes to Scene.cs 2008-05-02 18:36:41 +00:00
Adam Frisby 67bbfadc06 * More refactorings of UDPServer.
* Removed all references where possible.
* Renamed lots of variables from UDPServerXYZ to clientServerXYZ
2008-05-02 18:26:19 +00:00
Teravus Ovares 412ca26565 * DuplicateOnRay with copy center works in two directions... Still fighting with it.
* DuplicateOnRay without copy center works in all directions.
2008-05-02 02:31:22 +00:00
Adam Frisby 20a9bf08f5 * Rolled back a few changes. 2008-05-01 18:04:42 +00:00
Adam Frisby 13526097f2 * Spring cleaning on Region.Environment.
* Converted a large number of read-only fields to be actually, readonly.
* Reformatted code sections.
* Removed redundant code.
2008-05-01 16:35:00 +00:00
Adam Frisby a1c8aa4050 * Cleaned namespaces of entire solution. OpenSim directories now correspond with namespaces. 2008-05-01 15:36:39 +00:00
Teravus Ovares 56b4f5a2ea * committing what I've got so far for DuplicateOnRay so I don't fight the conflict monster later. Not done yet, doesn't crash the server. 2008-05-01 15:17:49 +00:00
Jeff Ames d51ce47b2d Update svn properties. Minor formatting cleanup. 2008-05-01 14:31:30 +00:00
Teravus Ovares 1c697ef0d2 * You can now rez objects out of inventory at the correct offset from prim you rez it on. Including multi prim groups and prim that have different X/Y/Z scales. 2008-05-01 06:31:12 +00:00