aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authoronefang2021-09-19 14:57:46 +1000
committeronefang2021-09-19 14:57:46 +1000
commit50c08101f165e782fd3391352d1eb462072a6395 (patch)
tree8c0c72eacc95c5ab4535bcdc8fe1ecd47a8fc63a
parentBump version to v0.14 (diff)
download1ring-50c08101f165e782fd3391352d1eb462072a6395.zip
1ring-50c08101f165e782fd3391352d1eb462072a6395.tar.gz
1ring-50c08101f165e782fd3391352d1eb462072a6395.tar.bz2
1ring-50c08101f165e782fd3391352d1eb462072a6395.tar.xz
Add basic tech docs.
-rw-r--r--1ring technical docs.txt115
1 files changed, 115 insertions, 0 deletions
diff --git a/1ring technical docs.txt b/1ring technical docs.txt
new file mode 100644
index 0000000..f536056
--- /dev/null
+++ b/1ring technical docs.txt
@@ -0,0 +1,115 @@
1This is basic technical docs for how to customize things in 1ring.
2
3Construction and prim contents.
4-----------------------------------------------
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.
7
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.
9
10The main prim should have at least these things in it -
11 objects - 1AOor2 prim
12 scripts - 1chatter, 1ring, 1AOor2
13 notecards -
14 .1AOor2.settings
15 .1AOor2.theme
16 .1ring.settings
17 .1ring.theme
18 .POSITIONS
19 ZHAO II
20 ~1AOor2.alias.data
21 ~1AOor2.command.data
22 ~1AOor2.settings.data
23 ~1ring.alias.data
24 ~1ring.command.data
25 ~1ring.settings.data
26 ~animations.data
27 ~flystates.data
28 ~states.data
29 textures - soap-bubble, leash_chain, others beginning with "leash_" for optional leash textures.
30 animations - loooots.
31
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.
33
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.
35
36.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.
38
39The .settings notecards store the various settings that are configurable by the user. They are name=value pairs, one per line.
40
41The .theme note cards are where the menus are defined, and are the bits you might want to customize.
42
43// and # can be used for comments in these cards.
44
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.
46
47Next might be an "ALIAS x | y" command. Mostly used so that "boss" can be replaced by something like "Owner" or "Parent" or whatever.
48
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.
50
51MENU name | title text | permissions.
52-----------------------------------------------------
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.
54
55Permission codes.
56--------------------------
57NONE No one.
58BOSS Anyone that is a BOSS.
59TRUST Anyone that is aTRUSTEE.
60GROUP The group the wearer has currently activated.
61BOSSES Anyone that is a BOSS or TRUSTEE.
62WEARER The actual wearer.
63PRIV Anyone that is a BOSS, or WEARER.
64MORE Anyone that is a BOSS, TRUSTEE, or WEARER.
65MOST Anyone that is a BOSS, TRUSTEE, WEARER, or matching group member.
66PUBLIC Anyone.
67ALL Everyone.
68
69Note that GROUP and PUBLIC are controlled by the group and public toggles in the access... menu.
70
71BUTTON name | command
72---------------------------------------
73A menu button with the label "name" that does "command" when clicked.
74
75TOGGLE name | setting
76----------------------------------
77A menu button with the label "☐ name" or "▣ name" that toggles boolean setting "setting" when clicked.
78
79TOMENU name
80----------------------------------------
81A menu button with the label "name..." that shows the named menu when clicked.
82
83TOMENU name | command
84----------------------------------------
85A menu button with the label "name..." that runs the command when clicked. The command likely shows another menu.
86
87POSE name | animation0 | animation1
88---------------------------------------------------------
89A menu button with the label "name" that animates the couple that are sitting on the 1AOor2 prim.
90Unless swapped, animation0 is for the tallest person, animation1 for the shortest.
91The .POSITIONS note card stores the actual positions and rotations for the poses.
92
93SINGLE_POSE name | animation
94------------------------------------------------
95A menu button with the label "name" that animates the wearer.
96
97command
98---------------
99Commands are in the form "script.command arguments".
100
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.
102
103"command" is the name of the actual command.
104
105"arguments" are any arguments the command needs.
106
107setting
108----------
109Like commands, settings have an optional "script." bit at the beginning, which works the same.
110
111animation
112----------------
113This can be just the animation name, either a viewer built in one, or one that is included in the 1ring contents.
114
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