Commit Graph

25 Commits

Author SHA1 Message Date
Casper Warden
53659008ac NMV 0.8.0 - Big refactor and linting fixes 2025-01-17 23:53:31 +00:00
Casper Warden
302bf3302f Fix object selectin/deselection, deprecated http option 2023-11-22 11:51:20 +00:00
Casper Warden
6758226ea2 Take care not to overwrite gltf overrides when receiving an object update 2023-11-17 11:55:29 +00:00
Casper Warden
cb77865537 Implement GLTF overrides 2023-11-10 23:57:40 +00:00
Casper Warden
b71b8d1ec9 Support for GenericStreamingMessage 2023-11-09 18:09:14 +00:00
Casper Warden
188bf0ab0b Typescript build fixes 2023-11-09 18:09:11 +00:00
Casper Warden
d40f744be0 Handle circuit shutdowns better 2022-04-20 11:32:38 +01:00
Casper Warden
bc6ee025cf Migrate from tslint to eslint (will tighten rules in further commits) 2021-09-23 17:14:23 +01:00
Casper Warden
f05d823987 Formatting fixes 2020-11-20 12:46:44 +00:00
Casper Warden
2ff00a30f8 Extensive work on building, wearables, assets, inventory, attachments, serialization, etc.
Resolves #36
2020-11-19 17:13:28 +00:00
Casper Warden
7b41239a39 Modernise forEach loops throughout 2020-11-19 17:10:19 +00:00
Casper Warden
b248fa17ed Significant tidy-up. Update msg_template and add new ObjectAnimation message. Tidy up imports. Added buffer overrun check to the packet decoders since the message template doesn't seem to always correspond with what we receive (Specifically, MapBlockReply's new Size parameter) 2020-01-06 12:56:01 +00:00
Casper Warden
76b080757b - Mesh upload support
- LLMesh asset decoding and encoding (inc. LLPhysicsConvex, LLSkin, LLSubMesh)
- Query inventory folder by type
- onSelectedObject event
- fetchInventoryItem command
- Fix packing/unpacking of object shape
- Time sync with SimulatorViewerTimeMessage
- Changed several classes to a .from style rather than setting up in the constructor (exception friendly)
- Whole bunch of other improvements
- Object building
2018-11-15 03:22:07 +00:00
Casper Warden
4740b07e11 - Add LLWearable parsing
- Remove ExtraParams, TextureAnim, ParticleSystem binary data from GameObjects, instead encode on the fly when needed
- Add XML object decoding (WIP)
- Move FlexibleData, LightDate, LightImageData, MeshData, SculptData inside ExtraParams class
-
2018-11-05 11:45:04 +00:00
Casper Warden
da4cd459f1 - Add "GET" method to Caps
- New events: ObjectPhysicsDataEvent, ParcelPropertiesEvent, NewObjectEvent, ObjectUpdateEvent, ObjectKilledEvent
- Added getXML function to Color4, Vector2, Vector3, Vector4, GameObject, Region, Quaternion, UUID for opensim-compatible XML export
- Added TextureAnim and ParticleSystem decoding to the "full" ObjectStore
- Object store will automatically request missing "parent" prims
- "setPersist" - When persist is TRUE, the ObjectStore will not forget about "killed" prims - useful for region scanning
- Support for Flexible params, Light params, LightImage params, Mesh data, Sculpt maps
- Fixed object scale being incorrectly calculated
- Add terrain decoding (this was a ballache)
- Add parcel map decoding
- Add support for region windlight settings (region.environment)
- Add support for materials (normal / specular maps)
- Add getBuffer, getLong and bitwiseOr to UUID
- Added a circular-reference-safe JSONStringify to Utils
- Add XferFile capability to Circuit

PUBLIC API:

AssetCommands:
- Rework "downloadAsset" to detect failures
- NEW: downloadInventoryAsset() - uses TransferRequest for prim inventory items
- NEW: getMaterials() - resolves material UUIDs

RegionCommands:
- NEW: getTerrainTextures()
- NEW: exportSettings() - OpenSim XML export of region settings
- NEW: async getTerrain() - Get binary terrain heightmap, 256x256 float32
- resolveObjects() - now fetches task inventory contents too.
- resolveObjects() - fix calculation of land impact
- NEW: getObjectByLocalID(localID: number, timeout: number)
- NEW: getObjectByUUID(uuid: UUID, timeout: number)
- NEW: getParcels();
- NEW: pruneObjects - removes missing GameObjects from a list
- NEW: setPersist - prevent objectstore from forgetting about killed gameobjects
2018-10-31 11:28:24 +00:00
Casper Warden
4c6cbfc45b - When resolving objects, populate object costs (land impact)
- Add a function to find objects by name (regex or micromatch *glob style)
2018-10-20 14:32:33 +01:00
Casper Warden
2852c76cb0 - Implement camera controls
- Option to resolve object properties when fetching from object store (names, descriptions etc). Can be more efficient - TODO: use FamilyProperties for child prims.
- Refactored objectstore to reduce code duplication
2018-10-19 16:30:09 +01:00
Casper Warden
ff0a5fa58b - Add grabObject, deGrabObject, dragGrabbedObject, touchObject to RegionCommands (closes #8)
- Properly decode object TextureEntry
- Properly decode object ParticleSystem
- Properly decode object ObjectData
- Properly decode object TextColor
- Properly decode Linden Tree species
- Correct handling of ObjectUpdateCached (only request objects if we don't already have them)
- Implement handling of ImprovedTerseObjectUpdate to complete support for R-Tree object searching
- Object store interface: getObjectByUUID, getObjectByLocalID
2018-10-16 16:46:58 +01:00
Casper Warden
9eee7f9716 - Implement 3D space rtree-based indexing in the Full ObjectStore
- Implement ScriptDialogReply thanks to Hintswen
- Add a rudimentary object search - doesn't work fully yet because of the missing messages
2018-10-12 17:31:14 +01:00
Casper Warden
572cd576de Fix lint issues 2018-10-10 10:36:12 +01:00
Casper Warden
2bd3b9a789 Refine the object culling a little so we don't lose avatar information 2017-12-14 02:37:47 +00:00
Casper Warden
8113846422 Reset agent localID to 0 when new objectstore is created 2017-12-14 02:25:05 +00:00
Casper Warden
8dcbf2d32a When StoreMyAttachmentsOnly is set, Drop all other objects as soon as we know our agent localID 2017-12-14 02:24:06 +00:00
Casper Warden
ba121281dc Add BotOptionFlags.StoreMyAttachmentsOnly for ultra light-weight footprint 2017-12-14 02:18:50 +00:00
Casper Warden
60e300f052 Add ObjectStoreLite to reduce memory footprint if the full object data is not needed 2017-12-14 02:06:28 +00:00