aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/1ring technical docs.txt
diff options
context:
space:
mode:
authoronefang2021-09-19 15:01:39 +1000
committeronefang2021-09-19 15:01:39 +1000
commit4f731944e05910176e7fb78bb988138c916e461e (patch)
tree5a60f0f145b7a311b156fd46be599ecb807d6010 /1ring technical docs.txt
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.
Diffstat (limited to '1ring technical docs.txt')
-rw-r--r--1ring technical docs.txt86
1 files changed, 64 insertions, 22 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