aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authoronefang2021-09-19 15:01:39 +1000
committeronefang2021-09-19 15:01:39 +1000
commit4f731944e05910176e7fb78bb988138c916e461e (patch)
tree5a60f0f145b7a311b156fd46be599ecb807d6010
parentAdd basic tech docs. (diff)
download1ring-4f731944e05910176e7fb78bb988138c916e461e.zip
1ring-4f731944e05910176e7fb78bb988138c916e461e.tar.gz
1ring-4f731944e05910176e7fb78bb988138c916e461e.tar.bz2
1ring-4f731944e05910176e7fb78bb988138c916e461e.tar.xz
Format docs, add changelog updates.
-rw-r--r--1ring technical docs.txt86
-rw-r--r--1ring test README.txt163
-rw-r--r--changelog.txt16
3 files changed, 224 insertions, 41 deletions
diff --git a/1ring technical docs.txt b/1ring technical docs.txt
index f536056..cdd4b90 100644
--- a/1ring technical docs.txt
+++ b/1ring technical docs.txt
@@ -3,9 +3,19 @@ This is basic technical docs for how to customize things in 1ring.
3Construction and prim contents. 3Construction and prim contents.
4----------------------------------------------- 4-----------------------------------------------
5 5
6Any 1ring object needs at least three prims. The main prim has most things in it. Linked to that main prim is a prim that should have the OhSillyThreatDetector script in it, coz it listens to the DEBUG channel for errors from the other scripts, and LSL scripts can't listen for things sent from their own prims. The other prim is the one that becomes the "big yellow heart" vehicle prim, and is called "1AOor2 prim" The script inside it is really simple, and allows the main 1ring to send stuff to it after rezzing it. This prim just sits in the contents of the main prim until needed. 6Any 1ring object needs at least three prims. The main prim has most
7 7things in it. Linked to that main prim is a prim that should have the
8There is a "onefang's leash holder and 1ring support" script that you can put into any leash holder object. Put it into the prim the leash should attach to. 8OhSillyThreatDetector script in it, coz it listens to the DEBUG channel
9for errors from the other scripts, and LSL scripts can't listen for
10things sent from their own prims. The other prim is the one that becomes
11the "big yellow heart" vehicle prim, and is called "1AOor2 prim" The
12script inside it is really simple, and allows the main 1ring to send
13stuff to it after rezzing it. This prim just sits in the contents of the
14main prim until needed.
15
16There is a "onefang's leash holder and 1ring support" script that you
17can put into any leash holder object. Put it into the prim the leash
18should attach to.
9 19
10The main prim should have at least these things in it - 20The main prim should have at least these things in it -
11 objects - 1AOor2 prim 21 objects - 1AOor2 prim
@@ -29,28 +39,44 @@ The main prim should have at least these things in it -
29 textures - soap-bubble, leash_chain, others beginning with "leash_" for optional leash textures. 39 textures - soap-bubble, leash_chain, others beginning with "leash_" for optional leash textures.
30 animations - loooots. 40 animations - loooots.
31 41
32The various .data notecards are used to store data that may or may not fit into scripts, coz various viewers have various limits on the length of scripts. So we just read those into memory. ~animations.data lists the viewer built in animations. 42The various .data notecards are used to store data that may or may not
43fit into scripts, coz various viewers have various limits on the length
44of scripts. So we just read those into memory. ~animations.data lists
45the viewer built in animations.
33 46
34The ZHAO II card is a standard ZHAO II compatible AO definition card. It can be replaced by any other ZHAO II compatible AO note card. Make sure the animations listed in it are actually in 1rings contents. 47The ZHAO II card is a standard ZHAO II compatible AO definition card. It
48can be replaced by any other ZHAO II compatible AO note card. Make sure
49the animations listed in it are actually in 1rings contents.
35 50
36.POSITIONS stores couples positions data, exactly like the ones used for MLP scripts. The format is - 51.POSITIONS stores couples positions data, exactly like the ones used for MLP scripts. The format is -
37{pose name} followed by four vectors of position and rotation for both animations in the pose. 52{pose name} followed by four vectors of position and rotation for both animations in the pose.
38 53
39The .settings notecards store the various settings that are configurable by the user. They are name=value pairs, one per line. 54The .settings notecards store the various settings that are configurable
55by the user. They are name=value pairs, one per line.
40 56
41The .theme note cards are where the menus are defined, and are the bits you might want to customize. 57The .theme note cards are where the menus are defined, and are the bits
58you might want to customize.
42 59
43// and # can be used for comments in these cards. 60// and # can be used for comments in these cards.
44 61
45They start with a "FOR x" line, where X is one of the script names. This means that by default the commands in the rest of the note card are commands from that particular script. 62They start with a "FOR x" line, where X is one of the script names. This
63means that by default the commands in the rest of the note card are
64commands from that particular script.
46 65
47Next might be an "ALIAS x | y" command. Mostly used so that "boss" can be replaced by something like "Owner" or "Parent" or whatever. 66Next might be an "ALIAS x | y" command. Mostly used so that "boss" can
67be replaced by something like "Owner" or "Parent" or whatever.
48 68
49The rest are commands for defining the menus. If you are familiar with MLP menus, this part is similar. There is no need for adding Exit commands, nor for breaking the menus up to fit the silly LSL menu system limitations. 69The rest are commands for defining the menus. If you are familiar with
70MLP menus, this part is similar. There is no need for adding Exit
71commands, nor for breaking the menus up to fit the silly LSL menu system
72limitations.
50 73
51MENU name | title text | permissions. 74MENU name | title text | permissions.
52----------------------------------------------------- 75-----------------------------------------------------
53Start defining a menu. "name" becomes the button text, "title text" becomes the title of the menu as displayed. "permissions" is a code word that defines who can use this menu. This line is followed by lines defining the menu items. 76Start defining a menu. "name" becomes the button text, "title text"
77becomes the title of the menu as displayed. "permissions" is a code word
78that defines who can use this menu. This line is followed by lines
79defining the menu items.
54 80
55Permission codes. 81Permission codes.
56-------------------------- 82--------------------------
@@ -66,7 +92,8 @@ MOST Anyone that is a BOSS, TRUSTEE, WEARER, or matching group member.
66PUBLIC Anyone. 92PUBLIC Anyone.
67ALL Everyone. 93ALL Everyone.
68 94
69Note that GROUP and PUBLIC are controlled by the group and public toggles in the access... menu. 95Note that GROUP and PUBLIC are controlled by the group and public toggles
96in the access... menu.
70 97
71BUTTON name | command 98BUTTON name | command
72--------------------------------------- 99---------------------------------------
@@ -74,21 +101,30 @@ A menu button with the label "name" that does "command" when clicked.
74 101
75TOGGLE name | setting 102TOGGLE name | setting
76---------------------------------- 103----------------------------------
77A menu button with the label "☐ name" or "▣ name" that toggles boolean setting "setting" when clicked. 104A menu button with the label "☐ name" or "▣ name" that toggles boolean
105setting "setting" when clicked.
78 106
79TOMENU name 107TOMENU name
80---------------------------------------- 108----------------------------------------
81A menu button with the label "name..." that shows the named menu when clicked. 109A menu button with the label "name..." that shows the named menu when
110clicked.
82 111
83TOMENU name | command 112TOMENU name | command
84---------------------------------------- 113----------------------------------------
85A menu button with the label "name..." that runs the command when clicked. The command likely shows another menu. 114A menu button with the label "name..." that runs the command when
115clicked. The command likely shows another menu.
86 116
87POSE name | animation0 | animation1 117POSE name | animation0 | animation1
88--------------------------------------------------------- 118---------------------------------------------------------
89A menu button with the label "name" that animates the couple that are sitting on the 1AOor2 prim. 119
90Unless swapped, animation0 is for the tallest person, animation1 for the shortest. 120A menu button with the label "name" that animates the couple that are
91The .POSITIONS note card stores the actual positions and rotations for the poses. 121sitting on the 1AOor2 prim.
122
123Unless swapped, animation0 is for the tallest person, animation1 for the
124shortest.
125
126The .POSITIONS note card stores the actual positions and rotations for
127the poses.
92 128
93SINGLE_POSE name | animation 129SINGLE_POSE name | animation
94------------------------------------------------ 130------------------------------------------------
@@ -98,7 +134,9 @@ command
98--------------- 134---------------
99Commands are in the form "script.command arguments". 135Commands are in the form "script.command arguments".
100 136
101"script" is optional, as is the . if script is left off. It's the script the command is for. If a FOR command is at the top of the script, that's the default script. 137"script" is optional, as is the . if script is left off. It's the script
138the command is for. If a FOR command is at the top of the script, that's
139the default script.
102 140
103"command" is the name of the actual command. 141"command" is the name of the actual command.
104 142
@@ -106,10 +144,14 @@ Commands are in the form "script.command arguments".
106 144
107setting 145setting
108---------- 146----------
109Like commands, settings have an optional "script." bit at the beginning, which works the same. 147Like commands, settings have an optional "script." bit at the beginning,
148which works the same.
110 149
111animation 150animation
112---------------- 151----------------
113This can be just the animation name, either a viewer built in one, or one that is included in the 1ring contents. 152This can be just the animation name, either a viewer built in one, or one
153that is included in the 1ring contents.
114 154
115It can include a :: followed by another animation name, typically the built in emote_* viewer animations. Used for things like puckering up your lips for a kiss, or poking your tongue out while licking. \ No newline at end of file 155It can include a :: followed by another animation name, typically the
156built in emote_* viewer animations. Used for things like puckering up
157your lips for a kiss, or poking your tongue out while licking. \ No newline at end of file
diff --git a/1ring test README.txt b/1ring test README.txt
index 8da6819..d18a75d 100644
--- a/1ring test README.txt
+++ b/1ring test README.txt
@@ -1,13 +1,13 @@
1This is a test version of onefangs 1ring thingy. This is a prerelease 1This is a test version of onefangs 1ring thingy. This is a pre-release
2test version, it's not even alpha quality yet. Things will be broken. 2test version, it's not even alpha quality yet. Things will be broken.
3There are known bugs. There are bits not written yet. You get to keep 3There are known bugs. There are bits not written yet. You get to keep
4both parts. I'm not happy with the speed when running under standard 4both parts. I'm not happy with the speed when running under standard
5OpenSim, but it's fine with OpenSim-SC. It's not documented, except the 5OpenSim, but it's fine with opensim-SC. It's not documented, except the
6few things you'll find in this notecard. 6few things you'll find in this notecard.
7 7
81ring is a combination of things. AO / collar / couples carry & 81ring is a combination of things. AO & swimmer / collar / couples carry
9interaction / emoter / swimmer / probably something I forgot, but those 9& interaction / emoter / smiler / poser / probably something I forgot,
10are the main ones. 10but those are the main ones.
11 11
12RLV will be needed for the couples carry thing, and the collar. 12RLV will be needed for the couples carry thing, and the collar.
13 13
@@ -25,6 +25,9 @@ things in the menu will have little circles obscuring the letters, that
25means you don't have access to that (likely other people wont have access 25means you don't have access to that (likely other people wont have access
26to it on YOUR device). Hopefully it's reasonably self explanatory. 26to it on YOUR device). Hopefully it's reasonably self explanatory.
27 27
28AO & swimmer
29---------------------
30
28The AO part is a more or less standard ZHAO II compatible AO. You can 31The AO part is a more or less standard ZHAO II compatible AO. You can
29edit the ZHAO II notecard and add the animations from your own AO, or 32edit the ZHAO II notecard and add the animations from your own AO, or
30just drag the ZHAO II card plus animations from your AO. It currently 33just drag the ZHAO II card plus animations from your AO. It currently
@@ -40,6 +43,9 @@ under water, you'll swim.
40The AO might fight with your existing AO, but it's needed for the couples 43The AO might fight with your existing AO, but it's needed for the couples
41carry thing. You can turn it on and off. 44carry thing. You can turn it on and off.
42 45
46Collar
47---------
48
43The collar part is a fairly standard basic collar. You can even use the 49The collar part is a fairly standard basic collar. You can even use the
44usual method of bringing up the menu - "/1ormenu" for example (first 50usual method of bringing up the menu - "/1ormenu" for example (first
45letters of your name, and the word menu, in channel 1). It supports RLV, 51letters of your name, and the word menu, in channel 1). It supports RLV,
@@ -50,8 +56,12 @@ the leash connect here" function, it is a helper script for the border
50crossing and TP following features. BTW, it is compatible with ***insert 56crossing and TP following features. BTW, it is compatible with ***insert
51the standard leash holder names here***. 57the standard leash holder names here***.
52 58
59Couples carry & interaction
60----------------------------------------
61
53The couples carry & interaction part is probably the main reason people 62The couples carry & interaction part is probably the main reason people
54will want this. Among other things it lets one avatar carry another. 63will want this. Among other things it lets one avatar carry another.
64
55There is no end of problems with how OpenSim and Second Life "work" that 65There is no end of problems with how OpenSim and Second Life "work" that
56had to be worked around to get this to work at all, mostly coz it is 66had to be worked around to get this to work at all, mostly coz it is
57strictly forbidden to sit on an attachment. Even the old work around has 67strictly forbidden to sit on an attachment. Even the old work around has
@@ -68,8 +78,14 @@ not well tested, still working on that. I plan to add TP follow support
68in the future. It currently works better if the 1ring wearer is the one 78in the future. It currently works better if the 1ring wearer is the one
69selecting the pose and stuff, this will get fixed. 79selecting the pose and stuff, this will get fixed.
70 80
71It tries to be clever about who is in what role, but there's a swap menu 81It tries to be clever about who is in what role, but there's a swap
72(that I need to actually write code for) to take care of that (or not). 82button to take care of that.
83
84Note that you can walk off sim, but steering then becomes horrid.
85Rotations are hard, m'kay.
86
87Emoter
88----------
73 89
74The emoter part is from something I wrote long ago. During a sub 90The emoter part is from something I wrote long ago. During a sub
75auction, the subject of emoters came up. I declared that they are 91auction, the subject of emoters came up. I declared that they are
@@ -78,8 +94,25 @@ every one watched. Who says programming isn't a spectator sport? Oh
78wait, that was me that said that. That code is now a part of 1ring. You 94wait, that was me that said that. That code is now a part of 1ring. You
79say something in channel 12 or 123 - 95say something in channel 12 or 123 -
80 96
81/12 something Script owners first name is used for a "/me something" 97/12 something
82emote. /123 someone something someone: something 98 Script owners first name is used for a "/me something" emote.
99/123 someone something
100 someone: something
101
102Smiler
103----------
104
105Randomly changes your smile every now and then. Planning to do more.
106
107Poser
108-------
109
110Single person animations are also available. There are several
111categories, and a "left overs" category that is just any animation that
112isn't part of something else.
113
114Menus
115----------
83 116
841ring has customizable menus, though it is beyond the scope of this 1171ring has customizable menus, though it is beyond the scope of this
85document to describe any of it. Have a look at the .1AOor2.theme and 118document to describe any of it. Have a look at the .1AOor2.theme and
@@ -87,6 +120,104 @@ document to describe any of it. Have a look at the .1AOor2.theme and
87are clever you might be able to work out how they work. Some of the 120are clever you might be able to work out how they work. Some of the
88commands are similar to MLP menu commands. 121commands are similar to MLP menu commands.
89 122
123The common menu buttons are -
124▲ Exit Exits out of the current menu, back to the previous menu.
125◄ Previous If a menu is too long for the stupid limitations of LL menu system, it's broken into pages. Go to the previous page.
126Next ► Go to the next page.
127☐ ▣ Any menu item with one of these squares is something you can turn on and off.
128 Do I have to say that the empty square ☐ means off, the one with a solid square in it ▣ means on?
129
130The default menus are -
131access... Access control for everything, like setting who owns your collar and similar.
132clothes... Put on or take off clothes. Uses #RLV inventory folder, and RLV.
133couples... Couples carry & interactions menu.
134leash... Collar leash menu.
135mood... Non functional mood adjustment menu for the smiler.
136moves... Control your speed, go places, sit, AO, teleport.
137other... Various things, most of which are not written.
138PANIC Release you from everything.
139poses... Individual poses.
140restrictions... Control RLV restrictions, mostly not written.
141sound... Control sound, mostly not written.
142
143Menu - access...
144-------------------------
145Add or remove a boss / trustee / or blocking someone.
146Set group or public access.
147Control the built in RLV relay. (Did I actually write that?)
148Run away from your current set of bosses / trustees.
149List all these details.
150
151Menu - clothes...
152------------------------
153RLV is needed for any of this to work.
154outfits... is the #RLV inventory folder, where you can put on and take off outfits.
155attached... is for removing attachments. Note that RLV does not tell scripts WHAT is attached, just what attachment points have something. For mesh avatars this is a big problem. Are you about to remove their skirt, or their legs? Be careful.
156worn... is for removing "system" clothing. Might work on BoM clothes to.
157
158Menu - couples...
159-------------------------
160adjust... For adjusting the positions of the couple.
161save Save the adjusted positions. Makes a backup of the .POSITIONS note card first.
162sync May or may not resynchronize poses that have drifted out of sync.
163swap... Swap menu. I may or may not have written this. lol
164
165The others are collections of couples things you can do. Currently
166includes dances, hugs, hugglefucks, kisses, lay cuddles, rides, sit
167cuddles, spank, wash, and XXX.
168
169You first select the thing you want to do, then who you want to do it
170with. If that's an NPC, they automatically join you, otherwise they are
171asked if they want to join you. If OhSilly Threat System lets you, and
172you have RLV enabled, them the thing happens. Otherwise one or both of
173you needs to sit on the big yellow heart manually. If you are not
174allowed to rez things where you are, the big yellow heart doesn't appear.
175The other person might need to sit first.
176
177Both people can use normal movement keys to move you around. While
178adjusting, the movement keys will adjust instead.
179
180You can both hop on and off the big yellow heart. Note that if there are
181two people on it, one of them has to be the 1ring wearer, for technical
182reasons that I blame LL for. So the one that is not wearing 1ring can
183hop off, and someone else can hop on.
184
185Menu - leash...
186----------------------
187Grab their leash, leash them to something / someone, unleash them, adjust
188the length of the leash, the size of the leash, and the texture of the
189leash.
190
191Menu - moves...
192-----------------------
193Adjust your speed slower, faster, or back to normal. This applies to AO
194and couples movement.
195Follow someone. Goto someone / something. Stop following them.
196Sit on something. Stand up.
197AO... -
198 Turn AO on or off.
199 Various types of AO menus that are not currently written.
200 Turn on and off the various OhSilly Threat Level system OpenSim functions that might cause error messages.
201 NOTE - 1ring tries to detect these, but OpenSim devs are smoking the wrong drugs. Or something.
202
203Menu - other...
204---------------------
205Only thing that works here is hide, for hiding 1ring.
206
207Menu - poses...
208---------------------
209Various sub menus for various individual poses. Most are built in viewer animations.
210left overs... Any animations that are in 1ring but not used by oter parts of the system.
211 So you can just drop animations in, and they'll turn up here.
212dancing... Built in dance moves, that don't loop. Blame LL I suspect.
213submissive... OpenCollar sub poses.
214viewer animations... All built in viewer animations.
215The other sub menus I hope are self explanatory.
216
217
218Other stuff
219---------------
220
90https://sledjhamr.org/mantisbt/project_page.php?project_id=12 is the 221https://sledjhamr.org/mantisbt/project_page.php?project_id=12 is the
91issue tracker for 1ring. Feel free to create an account if you want to 222issue tracker for 1ring. Feel free to create an account if you want to
92report an issue or request a feature. Accounts need to be approved by 223report an issue or request a feature. Accounts need to be approved by
@@ -97,12 +228,10 @@ I'm sure I should have mentioned other stuff here.
97The source code is available at https://sledjhamr.org/cgit/1ring/ 228The source code is available at https://sledjhamr.org/cgit/1ring/
98 229
99 230
100The soap bubble image was downloaded from 231The soap bubble image was downloaded from https://www.pngall.com/soap-bubbles-png/download/26145
101https://www.pngall.com/soap-bubbles-png/download/26145 From the 232From the collection at https://www.pngall.com/soap-bubbles-png
102collection at https://www.pngall.com/soap-bubbles-png License Info: 233License Info: Creative Commons 4.0 BY-NC I think "Rojal" https://www.pngall.com/author/rojal was the creator, it doesn't really specify.
103Creative Commons 4.0 BY-NC I think "Rojal"
104https://www.pngall.com/author/rojal was the creator, it doesn't really
105specify.
106 234
107Most animations are from Linda Kelly, some are from OpenCollar. The 235Most animations are from Linda Kelly, some are from OpenCollar. The
108leash textures are from OpenCollar. 236leash textures are from OpenCollar. Most of the individual poses are
237built into the viewers.
diff --git a/changelog.txt b/changelog.txt
index 978ab77..a67f013 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -1,7 +1,19 @@
1V0.13 test - 2019-07 1V0.13 test - 2020-09
2 Various bug fixes and tweaks.
3 Make the emoter work.
4 Lots of couples poses added, in more categories.
5 Leash texture, size, and length adjustments.
6 Allow different speeds of movement.
7 Less jerky leash following.
8 Better smilage. B-)
9 MLP style "emotes".
10 Individual poses, including OpenCollar submissive poses and built in viewer poses..
11 More docs.
12
13V0.13 test - 2019-07
2 checkAO() on either AO on or AO off. 14 checkAO() on either AO on or AO off.
3 Actually SET AO options. 15 Actually SET AO options.
4 Many more poses. 16 Many more poses.
5 17
6V0.12 test - 2019-07-04 18V0.12 test - 2019-07-04
7 Make sure all scripts are actually running on reset. 19 Make sure all scripts are actually running on reset.