Commit Graph

83 Commits

Author SHA1 Message Date
Casper Warden
5e235d2db1 - Support specifying URL in loginParameters for connecting to OpenSim
- Patch some miscellaneous OpenSim related glitches
- Add waitForRegionHandshake function
- Add a concurrent promise queue
- Fix xml writing of Vector3s
- Fix asset downloading on grids without HTTP assets
- Fix buildObject to properly orientate prims
- Wrangled with CreateSelected all day and it turned out to be an OpenSim bug
- LinkFrom function for faster linking
- Updated LLSD library to fix LLMesh decoding
2020-01-07 21:01:20 +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
cbafbf0613 [Closes #11] Add moderateGroupChat function. Add ability to retrieve group ban list. 2020-01-05 19:05:52 +00:00
Casper Warden
f145498abd Supply more information with a MapBlock 2020-01-05 00:30:13 +00:00
Casper Warden
3982d67b7d [Closes #10] Implement group ban/unban. Also fix cap system to accept certain HTTP responses as valid states even with no valid LLSD body. 2019-12-31 14:11:37 +00:00
Casper Warden
2e7552a65a Update caps list 2019-12-31 12:57:49 +00:00
Casper Warden
f793774ee9 [Closes #13] Add ParcelPropertiesRequest with parcel bitmap decoding to ensure the correct reply is given. Heavily optimise getParcels() so that it uses the parcelOverlay to intelligently request parcels at known locations rather than iterating over every block. 2019-12-31 02:23:30 +00:00
Casper Warden
b92698d0d7 Remove accidental debug logging of llsd 2019-12-29 18:01:18 +00:00
hintswen
272adf9a4f Added command for Group/Avatar profiles
Add sample for getGroupProfile
2019-12-29 18:01:53 +00:00
hintswen
7c60ecfc27 Group notice event
Added group notice event for Issue #15

Includes a little tidy-up by Casper
2019-12-29 18:01:18 +00:00
Casper Warden
647eb083ab [FIXES #16] Update LLSD library to 1.0.1 to fix boolean parsing. Bump to 0.5.7 2019-12-29 17:39:00 +00:00
Casper Warden
3abfe82a87 Fix parsing of avatar names 2019-11-22 17:21:14 +00:00
Casper Warden
1bc4d1086b Add avatarName2KeyAndName 2019-11-22 16:50:24 +00:00
Casper Warden
4bf699deaf Update xmlbuilder 2019-09-25 19:10:59 +01:00
Casper Warden
b7cc1c8aef Improve cap invocation rate limiter 2018-11-15 16:13:50 +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
hintswen
0b4960eb4f Fixed issue sending message twice, simplified paramaters 2018-11-15 03:22:01 +00:00
hintswen
e52fb07720 Added eject from group 2018-11-15 03:21:54 +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
65e3aef3f9 - Fix buffers out of order issue with Transfer system
- Remove debug
- Add cap invocation rate limiter (need to work out which caps require this)
- Fix initial login timing out after just one second
2018-11-03 14:39:20 +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
2efd01dca5 Add getAllObjects() query for the object store 2018-10-19 16:39:24 +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
2a0c4dc3e8 [BREAKING CHANGES] - Add new commands module for the Friends list, add new events for friends online/offline, friend rights management, friend map lookup 2018-10-12 14:34:43 +01:00
Casper Warden
9242c474bd Fix handling of waitForMessages timeout 2018-10-12 09:41:35 +01:00
Casper Warden
35e705683d Fix missing array in getRegionMapInfo 2018-10-12 09:32:33 +01:00
Casper Warden
5ababa7b1e Accidentally included tslint/error 2018-10-10 10:41:34 +01:00
Casper Warden
572cd576de Fix lint issues 2018-10-10 10:36:12 +01:00
Casper Warden
c6c6768dc9 Bring deps up to date 2018-10-10 10:12:20 +01:00
Casper Warden
da9fe9710c Teleport and EventQueue reliability improvements. Start plumbing for stayPut() 2018-10-09 20:03:28 +01:00
Casper Warden
8083b78cc1 Add message ID to timeout error to help diagnose issues like bug #2 2018-10-07 17:12:44 +01:00
Casper Warden
960f024ea4 More refactoring stuff
- Add a waitForEventQueue promise, to get rid of the 5 second fudge from testBot.js
- Async'ify testBot.js
- Complete plumbing for Hint's ScriptDialog support (see changes to ScriptDialogEvent.ts and Comms.ts
- Fix: The EventQueue was pausing for 5 seconds every 30 seconds
2018-10-07 17:06:54 +01:00
Casper Warden
3e993a07e3 Merge pull request #6 from hintswen/master
Tried to add a ScriptDialog event...
2018-10-07 15:12:14 +01:00
Casper Warden
1137868932 Refactor: Async-ify a bunch of stuff. Change waitForMessage to template style. Disable strictPropertyInitialization in typescript config. 2018-10-07 14:59:07 +01:00
hintswen
377096a045 Revert "Revert "Tried to add a ScriptDialog event...""
This reverts commit 91117fea5c.
2018-10-08 00:56:33 +11:00
hintswen
91117fea5c Revert "Tried to add a ScriptDialog event..."
This reverts commit c7be7a380c.
2018-10-08 00:47:23 +11:00
hintswen
c7be7a380c Tried to add a ScriptDialog event...
It's currently not working, not sure what I missed.
2018-10-07 22:26:39 +11:00
hintswen
6e6cedae70 Fixed typo and filter 2018-10-07 16:32:30 +11:00
Casper Warden
ad559567b3 This commit demonstrates how to add a new client command to node-metaverse.
It also shows how to add a new command category (ParcelCommands)

Everything under dist/ is auto-generated with "npm run build".
2018-10-06 17:18:46 +01:00
Casper Warden
cb2be348d7 The rest of the refactor 2018-10-06 17:16:51 +01:00
Casper Warden
11f2f9b320 Refactor waitForMessage to waitForPacket (since it returns a packet) and add a new waitForMessage which return the MessageBase, which makes usage a little tidier with async. 2018-10-06 16:03:10 +01:00
Casper Warden
f5e3df4ebf Some code tidy and migrate simple promises to async/await 2018-10-06 15:29:06 +01:00
Casper Warden
7a3643018a Get map image with objects 2018-04-08 00:50:23 +01:00
Casper Warden
07ffe2cb8a Fix up teleports 2018-04-07 22:32:12 +01:00
Casper Warden
16aa98268d Fix grid coordinate checks 2018-04-07 22:07:13 +01:00
Casper Warden
0790fc30a3 Merge branch 'master' of github.com:CasperTech/node-metaverse 2018-04-07 21:43:51 +01:00
Casper Warden
70f1faafdc Add support for getting grid map block data via a range request 2018-04-07 21:43:39 +01:00