Remove Extras migrated files

This commit is contained in:
Serie Sumei
2020-02-29 12:40:06 -06:00
parent 3c2ea29292
commit e12f849ea6
157 changed files with 0 additions and 13801 deletions
-1
View File
@@ -1 +0,0 @@
Binary file not shown.
File diff suppressed because one or more lines are too long
-27
View File
@@ -1,27 +0,0 @@
ElfEars - 10 January 2018 - Updated 29-Dec-2018
AGPL by Fred K. Beckhusen
The ElfEars attachment should load and be attachable as two separate prims.
You will need to apply a skin texture like an avatar has, or color it as skin.
There are blank skin textures at the Outworldz image collection.
https://www.outworldz.com/cgi/free-seamless-textures.plx
Then do a ctrl-F and look for skin, or Starlight for open source starlight_face texture.
The ElfEars can be resized and moved about like any attachment.
* ElfEars-Original is the originally sized longer pointy ears.
* ElfEars is a scaled down more subtle version.
For Ruth 2.0, you can simply add in the current "Head Receiver" script
(called "ru2_head_receiver.lsl" at present) and the normal Ruth 2.0
Skin Applier will also set your ears to the appropriate skin texture.
To achieve this the Description field of BOTH ear parts needs to be
set to "head" without the quotation marks. The prepared version in
the OpenSim Inventory ARCHIVE (.iar) supplied is already set this way
ru2_head_receiver using channel 20181024
Original Blender mesh by AGPL by Fred K. Beckhusen (avatar: Ferd Frederix).
OpenSim preparation by Austin Tate (avatar: Ai Austin).
Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.
@@ -1,31 +0,0 @@
INFORMATION ON THE OPEN SIM BUG . . .
I wanted to add a conversation that I had with Typhaine Artez since it provides background on a bug in the code underlying OpenSim . . .
TYPHAINE ARTEX: "Hi Sundance - I saw your words about specularity, and I wonder how? OpenSim does not support modifying normal and specular settings by script (http://opensimulator.org/mantis/view.php?id=8282)."
HERE'S MY RESPONSE: Well that's a bummer. It's a very cool feature and convenient. You can turn specularity on or off and adjust it (using llSetLinkPrimitiveParamsFast(0,[ PRIM_SPECULAR). Dang. Works in SL, but not in OpenSim. Well, at least until things are fixed in OpenSim. It's been tested and it works in the SL environment, so I'll keep everything in place and temporarily disable that feature for OpenSim. For the time being, folks will have to manually adjust specularity in the Edit window."
Thanks for telling me about this. I would have been doing some serious head scratching. Any idea how long it will be before it's fixed for OpenSim?
TYPHAINE ARTEX: Yes, I work on a derivative version of the Athena body since a while, and have been stupefied when I saw OpenSim doesnot support changing it by script. I saw getting the values is ok in latest releases of OpenSim (and even, you must know the number of faces on a mesh, you can't request for ALL_SIDES because of an old bug). But the missing feature seems to be postponed, so I have no idea when this will come out.
What I did is to keep the code managing it (on the hud side), and accepting normal and specular commands in the receiver (body) but making them dumb (doing nothing actually), otherwise you get errors in the debug channel (unsupported parameter for rule #x).
BTW, the same applies to alpha modes (mask/blend)
MY COMMENTS: Because of this bug, I've added a global variable to the HUD code. When set, the user receives a message informing them of the underlying bug, and that for the time being the specularity feature is not available.
MY COMMENTS: It looks to me that in order to use the specularity settings found in the EDIT window: Edit >> Texture >> Shininess (Under the the terms "Glossiness" and "Environment), you must have "Advanced Lighting" turned ON in Preferences. I'm showing this to be the same for both Second Life and OpenSim.
Does this agree with other's observations?
TYPHAINE ARTEX: Yes, as replied on G+ :) Those "material" settings needs adv. light. model to be applied to the rendering (as a few others things, like depth of depth, shadows, etc..).
From what I saw in the OpenSim code (I'm not an expert, I just have put a look in it), upstream developers prefer to avoid making things compiling for unsupported features (I saw the different values for Get/Set*PrimitiveParams added during the various commits).
As the Get part looked pretty simple (once you understand the underlaying logic of objects organization in the code), I thought of trying to code the Set part. using the viewer code as reference (to know where the hell material commands are received in the protocol) but as Ubit mentionned, it's not so simple, so I gave up (not enough time for that).
MY COMMENTS: Thanks Typhartez. I couldn't find anything in the documentation concerning the connection between advanced lighting and the "Glossiness" and "Environment" settings. It's nice to have confirmation - and thanks for your quick response and the additional information. I'll leave specularity turned off until the bug is fixed.
@@ -1,276 +0,0 @@
VIRTUAL WORLD LICENSE: OPEN SOURCE, NON-COMMERCIAL
(Users Text Version Virtual World License_OS_NC)
PLAIN LANGUAGE SUMMARY
The following is a plain language summary of the License. For details, see the actual License which follows this summary. Note that the word “Work” below means the item(s) which is licensed. It might be a script, a mesh item, an animation, etc. Or might be a combination of items.
Youll notice below that there are several places in the Copyright Statement that include brackets: [like this]. The copyright owner will fill this in, and youll find this information included with the Work. In most cases, it will be included in a separate text document which reproduces the entire License below. In some cases youll find it in a short statement in the header of a script (if present) or in some other readable portion of the Work.
Would you prefer a nicely formatted version of this document?
You can find it here: https://tinyurl.com/ycaom8g7
Interested in more information, including background & supporting information?
Lots more details are found here: https://tinyurl.com/y8a7exgc
-----------------------------------------
SHARING THIS WORK . . .
If you give this Work to another person or you include this Work in a package which you plan to distribute you need to include the following three informational pieces:
* SHARING THIS WORK #1 *
INCLUDE THE FOLLOWING COPYRIGHT STATEMENT:
Copyright Chimera Firecaster & Sundance Haiku
For: Fingernail HUD, Fingernail Script, Fingernails & Toenails
Licensed “Virtual World License: Non-Commercial, Open Source,” Version 1.0 (the "License"); you may not use this Work except in compliance with the License. Unless required by applicable law or agreed to in writing, the Work distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing the use of this Work and limitations under the License.
Open Source. This is an open source Work. The source files are found at: https://github.com/Outworldz/Ruth
Subsidiary Creations (see below more information): Fingernails & Toenails
* SHARING THIS WORK #2 *
INCLUDE A COPY OF THIS “PLAIN LANGUAGE SUMMARY” AND
A Copy of the Actual License (Found Below).
* SHARING THIS WORK #3 *
INDICATE IF YOU HAVE MODIFIED THE WORK & WHERE YOU MODIFIED IT. (Your help and generosity is appreciated! If you made a modification and are sharing it, be sure to include your name so you can be properly credited.) Additionally, if you have modified it, include either a “Modify, Transfer” version of the Work in your distribution package or provide a link to the modified source files. The Work must be reproducible from the source files and clear instructions on how to do so should be provided.
-----------------------------------------
WHAT IS PERMISSIBLE UNDER THE LICENSE . . .
-- This is OK:
SHARING OR DISTRIBUTING FREE (NO COST) PACKAGES WHICH INCLUDE THE LICENSED WORK
You can share or distribute this Work as long as you do not charge for. If you include it in a package along with other items, everything else in the package must be free of cost as well. Any distribution of this Work must include the three informational pieces described above under “Sharing this Work.”
-- This is OK:
PERSONAL PROJECTS
If you are using this Work for your own private use, you can make changes to it and use it in any manner you desire. (If you, however, give it to someone else or share it in some way then you need to include the three informational pieces described above under “Sharing this Work.”)
-- This is OK:
SELLING “SUBSIDIARY CREATIONS”
Your License may include “Subsidiary Creations.” If it does, youll find those listed in the Copyright Statement, above. These items, if included above, are exempted from the terms of the License. In other words, you can sell Subsidiary Creations. You do not have to make them open source, nor follow the other terms of the License. This applies only to Subsidiary Creations and not to the Work itself.
While it may seem that having the right to sell Subsidiary Creations is a non-brainer, some licenses are vague on whether this possible and may even require you to reveal your source files to the public if your creation uses or interacts with the Licensed Work in some way. Subsidiary Creations were specifically included in the Virtual World License to protect you and your creations.
-- This is OK:
USING THE WORK TO TRANSFER “SUBSIDIARY CREATIONS”
The Work covered by this License may be used to transfer Subsidiary Creations. (If the Work isnt used for that purpose, you dont have to worry about it.) The best way to describe this is to use an example. Lets say that the Work covered by this License is a Skin Applier. Lets also say that you see “skins” listed as a Subsidiary Creation in Copyright Statement. In that case, this License allows you to package your own skins with the Applier and transfer them to a mesh avatar, as long as the following are meet:
1) The Applier must be used to transfer the skins to a non-commercial avatar only. You cannot use it to transfer skins to commercially sold avatar.
2) Since you are distributing the Applier along with the skins, you must include the three informational pieces described above under “Sharing this Work.”
3) The Applier, itself cannot be sold, but you are under no other restrictions as far as the skins are concerned. You can sell the skins. You can package the Applier and skins together, and you can use whatever permissions are appropriate, i.e. “No Modify” or “No Modify/No Transfer,” etc.
-----------------------------------------
WHAT IS *NOT* PERMISSIBLE UNDER THE LICENSE . . .
-- This is NOT OK:
SELLING THE LICENSED WORK
You cannot sell the Licensed Work. If your License includes Subsidiary Creations, you can sell these, but you cannot sell the Work or any modification of it
-- This is NOT OK:
USING THE WORK TO TRANSFER SUBSIDIARY CREATIONS TO COMMERCIAL PRODUCTS
As described above, some works covered this License may be used to transfer Subsidiary Creations. An example is an Applier which might be used to transfer skins from you to a customer. The customer then applies the skins to a mesh avatar. The License requires that you can only use the Work to transfer skins to a non-commercial avatar. It cannot be used for a commercially sold avatar.
-- This is NOT OK:
NON-COMMERCIAL DISTRIBUTION OF THE LICENSED WORK WITHOUT INCLUDING THE LICENSE
The License allows you to give away the Work as long as it is not included in a commercial package. If you distribute it, you must include the License which is one of the three informational pieces listed above under “Sharing This Work.” You cannot distribute it if you do not include these items.
-- This is NOT OK:
INCLUDING THE LICENSED WORK IN A COMMERCIAL PACKAGE
The Work cannot be included in a package or with packages in which one or more items are being sold. It can only be packaged with other non-commercial items. In other words, the in-world vendor which is dispensing the package is only dispensing items which are free of cost.
-- This is NOT OK: SHARING OR DISTRIBUTING WORK AS NO-MODIFY (WITHOUT INSTRUCTIONS)
When you share or distribute the Work, it must be done in a way that people can reproduce the Work. The best way to do that is to distribute the Work using “Modify” permissions. The only situation in which you can distribute it as “No Modify” is if you provide instructions on how to reproduce the Work from the source files. The instructions should be clear and unambiguous so that the average virtual world user can successfully reproduce. (Remember, also, to include the three informational pieces described above under “Sharing this Work.”)
------------------------------------------------------------------------------------------------------
And now, the legal language . . .
VIRTUAL WORLD LICENSE: OPEN SOURCE, NON-COMMERCIAL
To the extent this License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Work available under these terms and conditions.
SECTION 1 DEFINITIONS
a. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright.
b. Copyright Statement means the Copyright Notice (consisting of the copyright symbol, or the word "Copyright", or the abbreviation "Copr.", the owners name and year) and explanatory information accompanying the Copyright Notice regarding this License.
c. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Work.
d. Licensed Work (also referred to as Work) means computer code or artistic, literary, other types of creative work, or some combination thereof, to which the Licensor applied this License.
e. Subsidiary Creations means computer code or artistic, literary or other types of creative work which are not integral to the Licensed Work but which may use or interact with the Licensed Work. If these items are not listed here or in the Copyright Statement, You can assume there are none.
f. Licensed Rights means the rights granted to You subject to the terms and conditions of this License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Work and that the Licensor has authority to license.
g. Licensor means the individual(s) or entity(ies) granting rights under this License.
h. Non-commercial means activity not primarily intended for or directed towards commercial advantage or monetary compensation. For purposes of this License, the exchange of the Licensed Work for other material subject to Copyright and Similar Rights by digital file-sharing or similar means is Non-commercial provided there is no payment of monetary compensation in connection with the exchange.
i. Commercial means intended for or directed towards commercial advantage or monetary compensation.
j. Share means to provide the Licensed Work to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, copying, distribution, dissemination, communication, or importation, and to make the Work available to the public (with or without modification) including ways in which members of the public may access and reproduce the Licensed Work. Share does not include personal use, modifying a private copy or interaction with a user through a computer network or through a virtual world browser, in which copies of the Work are not transferred.
k. Modified Work means Work subject to Copyright and Similar Rights that is derived from or based upon the Licensed Work in which the Work is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor.
l. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to the Modified Work in accordance with the terms and conditions of this License.
m. Computer Code or Scripts are instructions written by a programmer in a programming language. In a Virtual World context, Computer Code is often referred to as Scripts. Within this License, Computer Code and Scripts mean the same thing.
n. Source Files are the original files from which the Work or modifications of the Work have been derived. These may consist of text, document, graphic, image, web, 3d, database or spreadsheet files. Source files also consist of the original series of instructions written by a programmer in the form of Computer Code or Script before it is compiled into a different form.
o. Virtual World means a computer-based online environment in which users create and use an Avatar to explore a simulated world, participate in its activities and communicate with others.
p. Avatar means a representation of a person or entity in the virtual world.
q. Open Source has a narrow and specific definition under this License. It means that Source Files or modifications of Source Files are publicity accessible and may be used, changed, and shared (in modified or unmodified form).
r. You means the individual or entity exercising the Licensed Rights under this License. Your has a corresponding meaning.
SECTION 2 LICENSE GRANT
a. Non-commerial Use. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Work to:
1. reproduce and Share the Licensed Work, in whole or in part, for Non-commercial purposes only; and
2. produce, reproduce, and Share Modified Work for Non-commercial purposes only
b. Subsidiary Commercial Use. If the Licensor has specified and named Subsidiary Creations in the Copyright Statement and/or in Section 1, and You are the original creator or owner of Subsidiary Creations, the following apply:
1. Subsidiary Creations remain under Your ownership. They may be distributed in a Non-commercial or Commercial manner and in accordance to Your choice of permissions. You do not need to include a copy of this License, nor comply with other License terms.
2. If applicable, this Work may be used to move or transfer Subsidiary Creations as long as the final destination is a work of a Non-commercial nature. The terms of this License must be met in regards to the Licensed Work, but Subsidiary Creations remain under Your ownership and may be distributed in a Non-commercial or Commercial manner, in accordance to Your choice of permissions.
c. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this License does not apply, and You do not need to comply with its terms and conditions.
SECTION 3 LICENSE CONDITIONS
Your exercise of the Licensed Rights is expressly made subject to the following conditions.
a. Attribution.
1. If You Share the Licensed Work (including in modified form), You must:
A. retain the following if it is supplied by the Licensor with the Licensed Work:
i. identification of the creator(s) of the Licensed Work and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated);
ii. a copyright notice;
iii. if the Licensed Work consists of computer code, a hyperlink to where the Source Files may be found.
iv. if the Licensed Work consist of artistic or literary or some other type of creative work, a URI or hyperlink to the Licensed Work to the extent reasonably practicable;
v. if the Licensed Work is being Shared with “No Modify” permissions, it must be accompanied by clear instructions by which a recipient can use the Source Files to reproduce the Work;
vi. a notice that refers to this License;
vii. a notice that refers to the disclaimer of warranties;
B. indicate if You modified the Licensed Work and retain an indication of any previous modifications; and
C. indicate the Licensed Work is licensed under this License, and include the text of, or the URI or hyperlink to, this License.
2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Work. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information.
3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable.
4. If You Share Modified Work You produce, the Adapter's License You apply must not prevent recipients of the Modified Work from complying with this License.
SECTION 4 MODIFIED WORK
a. Modifications. If You meet the Non-commercial requirement in Section 2a, the Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures.
b. Source Files. If You meet the Non-commercial requirement in Section 2a, You must continue to keep any modification Open Source as defined by this License and publically accessible as provided in Section 3(a)(1)(A)(iii) and (iv). Recipients of the Licensed Work must be able to reproduce the Work from the Source Files, and clear instructions should be provided.
SECTION 5 LICENSING OF DOWNSTREAM RECIPIENTS
a. Offer from the Licensor Licensed Work. Every recipient of the Licensed Work automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this License.
b. Additional offer from the Licensor Modified Work. Every recipient of Modified Work from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Modified Work under the conditions of the Adapters License You apply.
c. No Downstream Restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Work if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Work.
SECTION 6 VIRTUAL WORLD PROPRIETARY SOURCE CODE
Nothing in this License shall be construed as requiring the release of proprietary source code associated with the Virtual World in which this Licensed Work may be used, nor is does it impose any restrictions or requirements in any form on the ownership of Virtual Worlds.
SECTION 7 COMPATIBILITY WITH OTHER LICENSES
This Work or Modified Work may be packaged with other work which may be licensed differently as long as each separately licensed work is clearly delineated, and the terms of this Licensed Work remain in effect.
SECTION 8 TERM
This License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this License, then Your rights under this License terminate automatically.
SECTION 9 NO ENDORSEMENT
Nothing in this License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Work is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3 (a)(1)(A)(i).
SECTION 10 DISCLAIMER OF WARRANTIES AND LIMITATION OF LIABILITY
a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Work as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Work, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.
b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this License or use of the Licensed Work, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.
c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.
SECTION 11 OTHER TERMS AND CONDITIONS
a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed.
b. Any arrangements, understandings, or agreements regarding the Licensed Work not stated herein are separate from and independent of the terms and conditions of this License.
SECTION 12 INTERPRETATION
a. For the avoidance of doubt, this License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Work that could lawfully be made without permission under this License.
b. To the extent possible, if any provision of this License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this License without affecting the enforceability of the remaining terms and conditions.
c. No term or condition of this License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor.
d. Nothing in this License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.
(End of License)
Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 202 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 166 KiB

File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 230 KiB

File diff suppressed because one or more lines are too long
Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 479 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

File diff suppressed because one or more lines are too long
Binary file not shown.

Before

Width:  |  Height:  |  Size: 137 KiB

@@ -1,146 +0,0 @@
<?xml version='1.0' encoding='utf-8'?>
<COLLADA version="1.4.1" xmlns="http://www.collada.org/2005/11/COLLADASchema">
<asset>
<contributor>
<author>Avastar User</author>
<authoring_tool>Avastar 2-2-1 on Blender 2.79 (sub 0)</authoring_tool>
</contributor>
<created>2018-01-31T11:05:10</created>
<modified>2018-01-31T11:05:10</modified>
<unit meter="1" name="meter" />
<up_axis>Z_UP</up_axis>
</asset>
<library_cameras />
<library_lights />
<library_effects>
<effect id="A_Bottom-effect">
<profile_COMMON>
<technique sid="common">
<phong>
<emission>
<color sid="emission">0 0 0 1</color>
</emission>
<ambient>
<color sid="ambient">0 0 0 1</color>
</ambient>
<diffuse>
<color sid="diffuse">0.64 0.64 0.64 1</color>
</diffuse>
<specular>
<color sid="specular">0.5 0.5 0.5 1</color>
</specular>
<shininess>
<float sid="shininess">50</float>
</shininess>
<index_of_refraction>
<float sid="index_of_refraction">1.0</float>
</index_of_refraction>
</phong>
</technique>
</profile_COMMON>
</effect>
<effect id="B_Top-effect">
<profile_COMMON>
<technique sid="common">
<phong>
<emission>
<color sid="emission">0 0 0 1</color>
</emission>
<ambient>
<color sid="ambient">0 0 0 1</color>
</ambient>
<diffuse>
<color sid="diffuse">0.64 0.64 0.64 1</color>
</diffuse>
<specular>
<color sid="specular">0.5 0.5 0.5 1</color>
</specular>
<shininess>
<float sid="shininess">50</float>
</shininess>
<index_of_refraction>
<float sid="index_of_refraction">1.0</float>
</index_of_refraction>
</phong>
</technique>
</profile_COMMON>
</effect>
</library_effects>
<library_materials>
<material id="A_Bottom-material" name="A_Bottom">
<instance_effect url="#A_Bottom-effect" />
</material>
<material id="B_Top-material" name="B_Top">
<instance_effect url="#B_Top-effect" />
</material>
</library_materials>
<library_geometries>
<geometry id="SavedColors-mesh" name="SavedColors">
<mesh>
<source id="SavedColors-mesh-positions">
<float_array count="78" id="SavedColors-mesh-positions-array">-0.0809716 -0.046375 -0.167868 -0.0809716 -0.046375 0.167869 -0.0661494 0.167868 -0.167868 -0.0661494 0.167868 0.167868 0.0803909 -0.046375 -0.167868 0.0803909 -0.046375 0.167869 0.095213 0.167868 -0.167868 0.095213 0.167868 0.167868 -0.0735605 0.0607468 -0.167868 -0.0809716 -0.046375 0.0709994 -0.0735605 0.0607468 0.167868 -0.0661494 0.167868 0.0709994 0.0145318 0.167868 -0.167868 0.0145318 0.167868 0.167868 0.095213 0.167868 0.0709994 0.087802 0.0607468 -0.167868 0.087802 0.0607468 0.167868 0.0803909 -0.046375 0.0709994 -0.000290322 -0.046375 -0.167868 -0.000290322 -0.046375 0.167869 0.00712075 0.0607468 0.167868 0.00712075 0.0607468 -0.167868 -0.000290322 -0.046375 0.0709994 0.087802 0.0607468 0.0709994 0.0145318 0.167868 0.0709994 -0.0735605 0.0607468 0.0709994 </float_array>
<technique_common>
<accessor count="26" source="#SavedColors-mesh-positions-array" stride="3">
<param name="X" type="float" />
<param name="Y" type="float" />
<param name="Z" type="float" />
</accessor>
</technique_common>
</source>
<source id="SavedColors-mesh-normals">
<float_array count="18" id="SavedColors-mesh-normals-array">-0.997615 0.069019 0 0 1 0 0.997615 -0.069019 0 0 -1 0 -0 -0 -1 -0 0 1 </float_array>
<technique_common>
<accessor count="6" source="#SavedColors-mesh-normals-array" stride="3">
<param name="X" type="float" />
<param name="Y" type="float" />
<param name="Z" type="float" />
</accessor>
</technique_common>
</source>
<vertices id="SavedColors-mesh-vertices">
<input semantic="POSITION" source="#SavedColors-mesh-positions" />
</vertices>
<polylist count="24" material="A_Bottom-material">
<input offset="0" semantic="VERTEX" source="#SavedColors-mesh-vertices" />
<input offset="1" semantic="NORMAL" source="#SavedColors-mesh-normals" />
<vcount>4 4 4 4 4 4 4 4 4 4 4 4</vcount>
<p>21 4 15 4 4 4 18 4 8 4 21 4 18 4 0 4 2 4 12 4 21 4 8 4 12 4 6 4 15 4 21 4 18 3 22 3 9 3 0 3 4 3 17 3 22 3 18 3 15 2 23 2 17 2 4 2 6 2 14 2 23 2 15 2 12 1 24 1 14 1 6 1 2 1 11 1 24 1 12 1 8 0 25 0 11 0 2 0 0 0 9 0 25 0 8 0 </p>
</polylist>
<polylist count="24" material="B_Top-material">
<input offset="0" semantic="VERTEX" source="#SavedColors-mesh-vertices" />
<input offset="1" semantic="NORMAL" source="#SavedColors-mesh-normals" />
<vcount>4 4 4 4 4 4 4 4 4 4 4 4</vcount>
<p>25 0 10 0 3 0 11 0 24 1 13 1 7 1 14 1 23 2 16 2 5 2 17 2 22 3 19 3 1 3 9 3 20 5 10 5 1 5 19 5 16 5 20 5 19 5 5 5 7 5 13 5 20 5 16 5 13 5 3 5 10 5 20 5 17 3 5 3 19 3 22 3 14 2 7 2 16 2 23 2 11 1 3 1 13 1 24 1 9 0 1 0 10 0 25 0 </p>
</polylist>
</mesh>
<extra>
<technique profile="MAYA">
<double_sided>1</double_sided>
</technique>
</extra>
</geometry>
</library_geometries>
<library_controllers />
<library_visual_scenes>
<visual_scene id="Scene" name="Scene">
<node id="SavedColors" name="SavedColors" type="NODE">
<translate sid="location">-0.020997 -2.27281 1.17152</translate>
<rotate sid="rotationZ">0 0 1 0</rotate>
<rotate sid="rotationY">0 1 0 0</rotate>
<rotate sid="rotationX">1 0 0 0</rotate>
<scale sid="scale">1 1 1</scale>
<instance_geometry url="#SavedColors-mesh">
<bind_material>
<technique_common>
<instance_material symbol="A_Bottom-material" target="#A_Bottom-material" />
<instance_material symbol="B_Top-material" target="#B_Top-material" />
</technique_common>
</bind_material>
</instance_geometry>
</node>
</visual_scene>
</library_visual_scenes>
<scene>
<instance_visual_scene url="#Scene" />
</scene>
</COLLADA>
File diff suppressed because it is too large Load Diff
@@ -1,215 +0,0 @@
// NAME: Fingernail Receiver Script
// CATEGORY: Ruth 2.0 Scripts
// AUTHOR: Sundance Haiku (https://plus.google.com/u/0/114880810031398834985)
// VERSION: 1.03 - February, 2018
// DESCRIPTION:
// This script is intended to be placed toenail mesh to change the coloring and specularity of the nails
// It works in conjunction with the Fingernail HUD which sends the required coloring information
// MORE INFORMATION:
// Ruth Discussion Forum: https://plus.google.com/communities/103360253120662433219
// Ruth GitHub Site: https://github.com/Outworldz/Ruth
//
// COPYRIGHT:
// Copyright 2018 by Sundance Haiku and Chimera Firecaster
// For: Fingernail HUD Script, Fingernail HUD, Fingernail/Toenail Receiving Scripts
//
// Licensed under "The Virtual License: Open Source, Non-commercial," Version 1.0
// (the "License"); you may not use this Work except in compliance with the License.
// If the License is not included this work, a copy is available at the following:
// https://tinyurl.com/ycaom8g7
// This is an open source work. The source files are found at:
// https://github.com/Outworldz/Ruth
// Subsidiary Creations (see License for more information): Fingernails & Toenails
//
// Unless required by applicable law or agreed to in writing, the software distributed
// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
// OR CONDITIONS OF ANY KIND, either express or implied.
//
// You may give this work to another person or share or distribute this work with
// other non-commercial work as long as it is provided FREE OF COST and the following
// is met: (1) Include the above text. (2) Include a copy of the License document
// including the "Plain Language Summary" and copy of the License. If not
// reasonably possible to include to the License document, use the above hyperlink.)
// (3) Indicate if you have modified the work and where you modified it. If
// modified and if sharing it, include either a "Modify, Transfer" version of the
// Work or provide a link to the modified source files. Any modification made by
// you or others falls under the same License terms.
//
// See the License for the specific language governing the use of this Work and
// limitations under the License.
//
// CODE & KARMA
// Note: this is a FREE script. It is given generously to the virtual community without
// the expectation of any financial return. It may be distributed as long as you observe
// the license requirements described above. Please do not charge for it. That's bad form.
// Besides dishonoring the kindness of others, it will most certainly bring you bad karma.
//
// NOTE . . . WHEN RECOMPILING, USE THE MONO OPTION
//
//
// OPENSIM USERS
// Currently, llSetLinkPrimitiveParams(0,[ PRIM_SPECULAR...] has a bug. It will trigger
// an error in the script if it tries to execute the function. Setting the following
// to TRUE allows the program to skip the function. Set it to FALSE when the bug is fixed
integer glSkipSpecFunction = 1;
//Global Variables
integer gFChannelID = -2471717; //fingernail channel ID
integer glNatural;
vector gSaveColor;
//Calculate the white-ish color for the free area of the fingernail or toenail
//There's probably a more elegant way to doing this, but . . .
vector CalcFreeAreaColor (vector vColorInput)
{
float R;
float G;
float B;
//convert from SL color to RGB
vector vColorRGB;
if (vColorInput.x > 1 || vColorInput.y > 1 || vColorInput.z > 1)
{
//llOwnerSay("Error in Calculate Free Area: "+(string)vColorRGB);
vColorRGB = <0.0,0.0,0.0>;
}
else
{
R = llRound(vColorInput.x * 255);
G = llRound(vColorInput.y * 255);
B = llRound(vColorInput.z * 255);
vColorRGB = <R,G,B>;
float nTotRGB = R + G + B ;
//float nTotRGB = 100 * gPreviewColorHSL.z ; //next version - will use LUM for this
//llOwnerSay("Color in Usual RGB BEFORE conversion: "+(string)vColorRGB);
//llOwnerSay("nTotRGB is: " + (string)nTotRGB);
if (nTotRGB > 700)
{
R = 255;
G = 255;
B = 250;
}
if (nTotRGB > 600 && nTotRGB < 701)
{
R = 240;
G = 240;
B = 235;
}
if (nTotRGB > 550 && nTotRGB < 601)
{
R = 235;
G = 235;
B = 230;
}
if (nTotRGB > 500 && nTotRGB < 551)
{
R = 230;
G = 230;
B = 225;
}
if (nTotRGB > 450 && nTotRGB < 501)
{
R = 220;
G = 220;
B = 215;
}
if (nTotRGB > 400 && nTotRGB < 451)
{
R = 210;
G = 210;
B = 205;
}
if (nTotRGB > 350 && nTotRGB < 401)
{
R = 200;
G = 200;
B = 195;
}
if (nTotRGB > 300 && nTotRGB < 351)
{
R = 190;
G = 190;
B = 185;
}
if (nTotRGB > 250 && nTotRGB < 301)
{
R = 175;
G = 175;
B = 165;
}
if (nTotRGB < 251)
{
R = 165;
G = 165;
B = 160;
}
vColorRGB = <R,G,B>;
//llOwnerSay("Color in Usual RGB AFTER conversion: "+(string)vColorRGB);
vColorRGB = vColorRGB / 255; //Convert back to SL's color type
}
return vColorRGB;
}
default
{
state_entry()
{
//gOriginalColor = llGetColor(ALL_SIDES);
integer nFChannel = 0x80000000 | ((integer)("0x"+(string)llGetOwner()) ^ gFChannelID);
llListen(nFChannel, "", "", "");
}
on_rez(integer param)
{
llResetScript();
}
listen(integer Channel, string Name, key ID, string Msg)
{
//Msg has the color and whether is a natural or colored nail
//So, it looks like: [<.25,.34,.60>][1][51]. The first element of the list is
//the color (element 0). The second element is either natural=1 colored=0 (element 1).
//The third element is the specularity setting (aligns with "glossiness" setting in
//the edit dialog box: EDIT >> Texture >> Shininess (specular).
list MsgList = llParseString2List(Msg, [ "[","]" ], []);
vector vColor = (vector)llList2String(MsgList,0); //extract color from the list
string glNatural = llList2String(MsgList,1); //extract whether it is a natural or colored nail
integer nShinyValue = (integer)llList2String(MsgList,2);
//Unfortunately, we have to get all this information in order to use llSetLinkPrimitiveParamsFast function
list ParamList = llGetLinkPrimitiveParams(0,[PRIM_TEXTURE,-1]);
//ParamList is a list consisting of texture name, repeats, off-sets, etc.
string TextName = llList2String(ParamList,0);
string OldParams= llList2String(ParamList,1); //repeats
vector Repeats = (vector)OldParams;
string OldParams2 = llList2String(ParamList,2); //offsets
vector OffSets = (vector)OldParams2;
//llOwnerSay("vColor: "+(string)vColor);
if (glNatural == "1") //If it's a natural finger/toenail - we have two colors
{
//First set the color of the main part of the nail
llSetLinkPrimitiveParamsFast(0, [PRIM_COLOR, 0, vColor, 1.0]);
//llOwnerSay("Color before free area conversion: "+(string)ColorRGB);
vector vFree = CalcFreeAreaColor (vColor); //calculates the white-ish free area of the nail
//Set the color of the free area of the nail
llSetLinkPrimitiveParamsFast(0, [PRIM_COLOR, 1, vFree, 1.0]);
//[texture, vector repeats, vector offsets, float rot, vector specular_color, integer glossiness, integer environment ]
if (! glSkipSpecFunction)
{
llSetLinkPrimitiveParamsFast(0,[ PRIM_SPECULAR, ALL_SIDES, TextName, Repeats, OffSets, 0.0, <1,1,1>, nShinyValue, 0]);
}
//llOwnerSay("Fingernail Script - nShinyValue = " + (string) nShinyValue);
}
else
{
llSetLinkPrimitiveParamsFast(0, [PRIM_COLOR, -1, vColor, 1.0]);
if (! glSkipSpecFunction)
{
//[texture, vector repeats, vector offsets, float rot, vector specular_color, integer glossiness, integer environment ]
llSetLinkPrimitiveParamsFast(0,[ PRIM_SPECULAR, ALL_SIDES, TextName, Repeats, OffSets, 0.0, <1,1,1>, nShinyValue, 0]);
}
//llOwnerSay("Fingernail Script - nShinyValue = " + (string) nShinyValue);
}
}
}
@@ -1,37 +0,0 @@
//Re-set LumSlider
//Every so often in testing, I found that the Lum Slider would change the vertical offset
//Upon examining the offset Edit >> Texture >> Vertical Offset, it would show the normal 1
//I found that by manually offsetting to some other setting and then going back to 1, it
// would fix itself. Because I that I wrote in this re-set routine.
//Global Variables
integer gnChannel;
integer appID = 20171105;
integer keyapp2chan()
{
return 0sx80000000 | ((integer)("0x"+(string)llGetOwner()) ^ appID);
}
default
{
state_entry()
{
gnChannel = keyapp2chan();
llListen(gnChannel, "", "", "");
}
listen(integer Channel, string Name, key ID, string Msg)
{
llOwnerSay("message received");
if (Msg == "Re-set")
{
llOffsetTexture( 1, .5, -1);
llOffsetTexture( 1, 1, -1);
}
}
}
@@ -1,214 +0,0 @@
// NAME: Toenail Receiver Script
// CATEGORY: Ruth 2.0 Scripts
// AUTHOR: Sundance Haiku (https://plus.google.com/u/0/114880810031398834985)
// VERSION: 1.04 - May, 2018
// DESCRIPTION:
// This script is intended to be placed toenail mesh to change the coloring and specularity of the nails
// It works in conjunction with the Fingernail HUD which sends the required coloring information
// MORE INFORMATION:
// Ruth Discussion Forum: https://plus.google.com/communities/103360253120662433219
// Ruth GitHub Site: https://github.com/Outworldz/Ruth
//
// COPYRIGHT:
// Copyright 2018 by Sundance Haiku and Chimera Firecaster
// For: Fingernail HUD Script, Fingernail HUD, Fingernail/Toenail Receiving Scripts
//
// Licensed under "The Virtual License: Open Source, Non-commercial," Version 1.0
// (the "License"); you may not use this Work except in compliance with the License.
// If the License is not included this work, a copy is available at the following:
// https://tinyurl.com/ycaom8g7
// This is an open source work. The source files are found at:
// https://github.com/Outworldz/Ruth
// Subsidiary Creations (see License for more information): Fingernails & Toenails
//
// Unless required by applicable law or agreed to in writing, the software distributed
// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
// OR CONDITIONS OF ANY KIND, either express or implied.
//
// You may give this work to another person or share or distribute this work with
// other non-commercial work as long as it is provided FREE OF COST and the following
// is met: (1) Include the above text. (2) Include a copy of the License document
// including the "Plain Language Summary" and copy of the License. If not
// reasonably possible to include to the License document, use the above hyperlink.)
// (3) Indicate if you have modified the work and where you modified it. If
// modified and if sharing it, include either a "Modify, Transfer" version of the
// Work or provide a link to the modified source files. Any modification made by
// you or others falls under the same License terms.
//
// See the License for the specific language governing the use of this Work and
// limitations under the License.
//
// CODE & KARMA
// Note: this is a FREE script. It is given generously to the virtual community without
// the expectation of any financial return. It may be distributed as long as you observe
// the license requirements described above. Please do not charge for it. That's bad form.
// Besides dishonoring the kindness of others, it will most certainly bring you bad karma.
//
// :NOTE . . . WHEN RECOMPILING, USE THE MONO OPTION
//
//
// OPENSIM USERS
// Currently, llSetLinkPrimitiveParams(0,[ PRIM_SPECULAR...] has a bug. It will trigger
// an error in the script if it tries to execute the function. Setting the following
// to TRUE allows the program to skip the function. Set it to FALSE when the bug is fixed
integer glSkipSpecFunction = 1;
//Global Variables
integer gFChannelID = -2471718; //fingernail channel ID
integer glNatural;
vector gSaveColor;
//Calculate the white-ish color for the free area of the fingernail or toenail
//There's probably a more elegant way to doing this, but . . .
vector CalcFreeAreaColor (vector vColorInput)
{
float R;
float G;
float B;
//convert from SL color to RGB
vector vColorRGB;
if (vColorInput.x > 1 || vColorInput.y > 1 || vColorInput.z > 1)
{
//llOwnerSay("Error in Calculate Free Area: "+(string)vColorRGB);
vColorRGB = <0.0,0.0,0.0>;
}
else
{
R = llRound(vColorInput.x * 255);
G = llRound(vColorInput.y * 255);
B = llRound(vColorInput.z * 255);
vColorRGB = <R,G,B>;
float nTotRGB = R + G + B ;
//float nTotRGB = 100 * gPreviewColorHSL.z ; //next version - will use LUM for this
//llOwnerSay("Color in Usual RGB BEFORE conversion: "+(string)vColorRGB);
//llOwnerSay("nTotRGB is: " + (string)nTotRGB);
if (nTotRGB > 700)
{
R = 255;
G = 255;
B = 250;
}
if (nTotRGB > 600 && nTotRGB < 701)
{
R = 240;
G = 240;
B = 235;
}
if (nTotRGB > 550 && nTotRGB < 601)
{
R = 235;
G = 235;
B = 230;
}
if (nTotRGB > 500 && nTotRGB < 551)
{
R = 230;
G = 230;
B = 225;
}
if (nTotRGB > 450 && nTotRGB < 501)
{
R = 220;
G = 220;
B = 215;
}
if (nTotRGB > 400 && nTotRGB < 451)
{
R = 210;
G = 210;
B = 205;
}
if (nTotRGB > 350 && nTotRGB < 401)
{
R = 200;
G = 200;
B = 195;
}
if (nTotRGB > 300 && nTotRGB < 351)
{
R = 190;
G = 190;
B = 185;
}
if (nTotRGB > 250 && nTotRGB < 301)
{
R = 175;
G = 175;
B = 165;
}
if (nTotRGB < 251)
{
R = 165;
G = 165;
B = 160;
}
vColorRGB = <R,G,B>;
//llOwnerSay("Color in Usual RGB AFTER conversion: "+(string)vColorRGB);
vColorRGB = vColorRGB / 255; //Convert back to SL's color type
}
return vColorRGB;
}
default
{
state_entry()
{
//gOriginalColor = llGetColor(ALL_SIDES);
integer nFChannel = 0x80000000 | ((integer)("0x"+(string)llGetOwner()) ^ gFChannelID);
llListen(nFChannel, "", "", "");
}
on_rez(integer param)
{
llResetScript();
}
listen(integer Channel, string Name, key ID, string Msg)
{
//Msg has the color and whether is a natural or colored nail
//So, it looks like: [<.25,.34,.60>][1][51]. The first element of the list is
//the color (element 0). The second element is either natural=1 colored=0 (element 1).
//The third element is the specularity setting (aligns with "glossiness" setting in
//the edit dialog box: EDIT >> Texture >> Shininess (specular).
list MsgList = llParseString2List(Msg, [ "[","]" ], []);
vector vColor = (vector)llList2String(MsgList,0); //extract color from the list
string glNatural = llList2String(MsgList,1); //extract whether it is a natural or colored nail
integer nShinyValue = (integer)llList2String(MsgList,2);
//Unfortunately, we have to get all this information in order to use llSetLinkPrimitiveParamsFast function
list ParamList = llGetLinkPrimitiveParams(0,[PRIM_TEXTURE,-1]);
//ParamList is a list consisting of texture name, repeats, off-sets, etc.
string TextName = llList2String(ParamList,0);
string OldParams= llList2String(ParamList,1); //repeats
vector Repeats = (vector)OldParams;
string OldParams2 = llList2String(ParamList,2); //offsets
vector OffSets = (vector)OldParams2;
//llOwnerSay("vColor: "+(string)vColor);
if (glNatural == "1") //If it's a natural finger/toenail - we have two colors
{
//First set the color of the main part of the nail
llSetLinkPrimitiveParamsFast(0, [PRIM_COLOR, 1, vColor, 1.0]);
//llOwnerSay("Color before free area conversion: "+(string)ColorRGB);
vector vFree = CalcFreeAreaColor (vColor); //calculates the white-ish free area of the nail
//Set the color of the free area of the nail
llSetLinkPrimitiveParamsFast(0, [PRIM_COLOR, 0, vFree, 1.0]);
//[texture, vector repeats, vector offsets, float rot, vector specular_color, integer glossiness, integer environment ]
//llSetLinkPrimitiveParamsFast(0,[ PRIM_SPECULAR, ALL_SIDES, TextName, Repeats, OffSets, 0.0, <1,1,1>, nShinyValue, 0]);
if (! glSkipSpecFunction)
{
llSetLinkPrimitiveParamsFast(0,[ PRIM_SPECULAR, ALL_SIDES, TextName, Repeats, OffSets, 0.0, <1,1,1>, nShinyValue, 0]);
}
}
else
{
llSetLinkPrimitiveParamsFast(0, [PRIM_COLOR, -1, vColor, 1.0]);
//[texture, vector repeats, vector offsets, float rot, vector specular_color, integer glossiness, integer environment ]
//llSetLinkPrimitiveParamsFast(0,[ PRIM_SPECULAR, ALL_SIDES, TextName, Repeats, OffSets, 0.0, <1,1,1>, nShinyValue, 0]);
if (! glSkipSpecFunction)
{
//[texture, vector repeats, vector offsets, float rot, vector specular_color, integer glossiness, integer environment ]
llSetLinkPrimitiveParamsFast(0,[ PRIM_SPECULAR, ALL_SIDES, TextName, Repeats, OffSets, 0.0, <1,1,1>, nShinyValue, 0]);
}
}
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 744 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

@@ -1,276 +0,0 @@
VIRTUAL WORLD LICENSE: OPEN SOURCE, NON-COMMERCIAL
(Users Text Version Virtual World License_OS_NC)
PLAIN LANGUAGE SUMMARY
The following is a plain language summary of the License. For details, see the actual License which follows this summary. Note that the word “Work” below means the item(s) which is licensed. It might be a script, a mesh item, an animation, etc. Or might be a combination of items.
Youll notice below that there are several places in the Copyright Statement that include brackets: [like this]. The copyright owner will fill this in, and youll find this information included with the Work. In most cases, it will be included in a separate text document which reproduces the entire License below. In some cases youll find it in a short statement in the header of a script (if present) or in some other readable portion of the Work.
Would you prefer a nicely formatted version of this document?
You can find it here: https://tinyurl.com/ycaom8g7
Interested in more information, including background & supporting information?
Lots more details are found here: https://tinyurl.com/y8a7exgc
-----------------------------------------
SHARING THIS WORK . . .
If you give this Work to another person or you include this Work in a package which you plan to distribute you need to include the following three informational pieces:
* SHARING THIS WORK #1 *
INCLUDE THE FOLLOWING COPYRIGHT STATEMENT:
Copyright Chimera Firecaster & Sundance Haiku
For: Hand Pose HUD, Hand Pose Script, Hand Animations
Licensed “Virtual World License: Non-Commercial, Open Source,” Version 1.0 (the "License"); you may not use this Work except in compliance with the License. Unless required by applicable law or agreed to in writing, the Work distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing the use of this Work and limitations under the License.
Open Source. This is an open source Work. The source files are found at: https://github.com/Outworldz/Ruth
Subsidiary Creations (see below more information): Hand Poses
* SHARING THIS WORK #2 *
INCLUDE A COPY OF THIS “PLAIN LANGUAGE SUMMARY” AND
A Copy of the Actual License (Found Below).
* SHARING THIS WORK #3 *
INDICATE IF YOU HAVE MODIFIED THE WORK & WHERE YOU MODIFIED IT. (Your help and generosity is appreciated! If you made a modification and are sharing it, be sure to include your name so you can be properly credited.) Additionally, if you have modified it, include either a “Modify, Transfer” version of the Work in your distribution package or provide a link to the modified source files. The Work must be reproducible from the source files and clear instructions on how to do so should be provided.
-----------------------------------------
WHAT IS PERMISSIBLE UNDER THE LICENSE . . .
-- This is OK:
SHARING OR DISTRIBUTING FREE (NO COST) PACKAGES WHICH INCLUDE THE LICENSED WORK
You can share or distribute this Work as long as you do not charge for. If you include it in a package along with other items, everything else in the package must be free of cost as well. Any distribution of this Work must include the three informational pieces described above under “Sharing this Work.”
-- This is OK:
PERSONAL PROJECTS
If you are using this Work for your own private use, you can make changes to it and use it in any manner you desire. (If you, however, give it to someone else or share it in some way then you need to include the three informational pieces described above under “Sharing this Work.”)
-- This is OK:
SELLING “SUBSIDIARY CREATIONS”
Your License may include “Subsidiary Creations.” If it does, youll find those listed in the Copyright Statement, above. These items, if included above, are exempted from the terms of the License. In other words, you can sell Subsidiary Creations. You do not have to make them open source, nor follow the other terms of the License. This applies only to Subsidiary Creations and not to the Work itself.
While it may seem that having the right to sell Subsidiary Creations is a non-brainer, some licenses are vague on whether this possible and may even require you to reveal your source files to the public if your creation uses or interacts with the Licensed Work in some way. Subsidiary Creations were specifically included in the Virtual World License to protect you and your creations.
-- This is OK:
USING THE WORK TO TRANSFER “SUBSIDIARY CREATIONS”
The Work covered by this License may be used to transfer Subsidiary Creations. (If the Work isnt used for that purpose, you dont have to worry about it.) The best way to describe this is to use an example. Lets say that the Work covered by this License is a Skin Applier. Lets also say that you see “skins” listed as a Subsidiary Creation in Copyright Statement. In that case, this License allows you to package your own skins with the Applier and transfer them to a mesh avatar, as long as the following are meet:
1) The Applier must be used to transfer the skins to a non-commercial avatar only. You cannot use it to transfer skins to commercially sold avatar.
2) Since you are distributing the Applier along with the skins, you must include the three informational pieces described above under “Sharing this Work.”
3) The Applier, itself cannot be sold, but you are under no other restrictions as far as the skins are concerned. You can sell the skins. You can package the Applier and skins together, and you can use whatever permissions are appropriate, i.e. “No Modify” or “No Modify/No Transfer,” etc.
-----------------------------------------
WHAT IS *NOT* PERMISSIBLE UNDER THE LICENSE . . .
-- This is NOT OK:
SELLING THE LICENSED WORK
You cannot sell the Licensed Work. If your License includes Subsidiary Creations, you can sell these, but you cannot sell the Work or any modification of it
-- This is NOT OK:
USING THE WORK TO TRANSFER SUBSIDIARY CREATIONS TO COMMERCIAL PRODUCTS
As described above, some works covered this License may be used to transfer Subsidiary Creations. An example is an Applier which might be used to transfer skins from you to a customer. The customer then applies the skins to a mesh avatar. The License requires that you can only use the Work to transfer skins to a non-commercial avatar. It cannot be used for a commercially sold avatar.
-- This is NOT OK:
NON-COMMERCIAL DISTRIBUTION OF THE LICENSED WORK WITHOUT INCLUDING THE LICENSE
The License allows you to give away the Work as long as it is not included in a commercial package. If you distribute it, you must include the License which is one of the three informational pieces listed above under “Sharing This Work.” You cannot distribute it if you do not include these items.
-- This is NOT OK:
INCLUDING THE LICENSED WORK IN A COMMERCIAL PACKAGE
The Work cannot be included in a package or with packages in which one or more items are being sold. It can only be packaged with other non-commercial items. In other words, the in-world vendor which is dispensing the package is only dispensing items which are free of cost.
-- This is NOT OK: SHARING OR DISTRIBUTING WORK AS NO-MODIFY (WITHOUT INSTRUCTIONS)
When you share or distribute the Work, it must be done in a way that people can reproduce the Work. The best way to do that is to distribute the Work using “Modify” permissions. The only situation in which you can distribute it as “No Modify” is if you provide instructions on how to reproduce the Work from the source files. The instructions should be clear and unambiguous so that the average virtual world user can successfully reproduce. (Remember, also, to include the three informational pieces described above under “Sharing this Work.”)
------------------------------------------------------------------------------------------------------
And now, the legal language . . .
VIRTUAL WORLD LICENSE: OPEN SOURCE, NON-COMMERCIAL
To the extent this License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Work available under these terms and conditions.
SECTION 1 DEFINITIONS
a. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright.
b. Copyright Statement means the Copyright Notice (consisting of the copyright symbol, or the word "Copyright", or the abbreviation "Copr.", the owners name and year) and explanatory information accompanying the Copyright Notice regarding this License.
c. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Work.
d. Licensed Work (also referred to as Work) means computer code or artistic, literary, other types of creative work, or some combination thereof, to which the Licensor applied this License.
e. Subsidiary Creations means computer code or artistic, literary or other types of creative work which are not integral to the Licensed Work but which may use or interact with the Licensed Work. If these items are not listed here or in the Copyright Statement, You can assume there are none.
f. Licensed Rights means the rights granted to You subject to the terms and conditions of this License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Work and that the Licensor has authority to license.
g. Licensor means the individual(s) or entity(ies) granting rights under this License.
h. Non-commercial means activity not primarily intended for or directed towards commercial advantage or monetary compensation. For purposes of this License, the exchange of the Licensed Work for other material subject to Copyright and Similar Rights by digital file-sharing or similar means is Non-commercial provided there is no payment of monetary compensation in connection with the exchange.
i. Commercial means intended for or directed towards commercial advantage or monetary compensation.
j. Share means to provide the Licensed Work to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, copying, distribution, dissemination, communication, or importation, and to make the Work available to the public (with or without modification) including ways in which members of the public may access and reproduce the Licensed Work. Share does not include personal use, modifying a private copy or interaction with a user through a computer network or through a virtual world browser, in which copies of the Work are not transferred.
k. Modified Work means Work subject to Copyright and Similar Rights that is derived from or based upon the Licensed Work in which the Work is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor.
l. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to the Modified Work in accordance with the terms and conditions of this License.
m. Computer Code or Scripts are instructions written by a programmer in a programming language. In a Virtual World context, Computer Code is often referred to as Scripts. Within this License, Computer Code and Scripts mean the same thing.
n. Source Files are the original files from which the Work or modifications of the Work have been derived. These may consist of text, document, graphic, image, web, 3d, database or spreadsheet files. Source files also consist of the original series of instructions written by a programmer in the form of Computer Code or Script before it is compiled into a different form.
o. Virtual World means a computer-based online environment in which users create and use an Avatar to explore a simulated world, participate in its activities and communicate with others.
p. Avatar means a representation of a person or entity in the virtual world.
q. Open Source has a narrow and specific definition under this License. It means that Source Files or modifications of Source Files are publicity accessible and may be used, changed, and shared (in modified or unmodified form).
r. You means the individual or entity exercising the Licensed Rights under this License. Your has a corresponding meaning.
SECTION 2 LICENSE GRANT
a. Non-commerial Use. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Work to:
1. reproduce and Share the Licensed Work, in whole or in part, for Non-commercial purposes only; and
2. produce, reproduce, and Share Modified Work for Non-commercial purposes only
b. Subsidiary Commercial Use. If the Licensor has specified and named Subsidiary Creations in the Copyright Statement and/or in Section 1, and You are the original creator or owner of Subsidiary Creations, the following apply:
1. Subsidiary Creations remain under Your ownership. They may be distributed in a Non-commercial or Commercial manner and in accordance to Your choice of permissions. You do not need to include a copy of this License, nor comply with other License terms.
2. If applicable, this Work may be used to move or transfer Subsidiary Creations as long as the final destination is a work of a Non-commercial nature. The terms of this License must be met in regards to the Licensed Work, but Subsidiary Creations remain under Your ownership and may be distributed in a Non-commercial or Commercial manner, in accordance to Your choice of permissions.
c. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this License does not apply, and You do not need to comply with its terms and conditions.
SECTION 3 LICENSE CONDITIONS
Your exercise of the Licensed Rights is expressly made subject to the following conditions.
a. Attribution.
1. If You Share the Licensed Work (including in modified form), You must:
A. retain the following if it is supplied by the Licensor with the Licensed Work:
i. identification of the creator(s) of the Licensed Work and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated);
ii. a copyright notice;
iii. if the Licensed Work consists of computer code, a hyperlink to where the Source Files may be found.
iv. if the Licensed Work consist of artistic or literary or some other type of creative work, a URI or hyperlink to the Licensed Work to the extent reasonably practicable;
v. if the Licensed Work is being Shared with “No Modify” permissions, it must be accompanied by clear instructions by which a recipient can use the Source Files to reproduce the Work;
vi. a notice that refers to this License;
vii. a notice that refers to the disclaimer of warranties;
B. indicate if You modified the Licensed Work and retain an indication of any previous modifications; and
C. indicate the Licensed Work is licensed under this License, and include the text of, or the URI or hyperlink to, this License.
2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Work. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information.
3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable.
4. If You Share Modified Work You produce, the Adapter's License You apply must not prevent recipients of the Modified Work from complying with this License.
SECTION 4 MODIFIED WORK
a. Modifications. If You meet the Non-commercial requirement in Section 2a, the Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures.
b. Source Files. If You meet the Non-commercial requirement in Section 2a, You must continue to keep any modification Open Source as defined by this License and publically accessible as provided in Section 3(a)(1)(A)(iii) and (iv). Recipients of the Licensed Work must be able to reproduce the Work from the Source Files, and clear instructions should be provided.
SECTION 5 LICENSING OF DOWNSTREAM RECIPIENTS
a. Offer from the Licensor Licensed Work. Every recipient of the Licensed Work automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this License.
b. Additional offer from the Licensor Modified Work. Every recipient of Modified Work from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Modified Work under the conditions of the Adapters License You apply.
c. No Downstream Restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Work if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Work.
SECTION 6 VIRTUAL WORLD PROPRIETARY SOURCE CODE
Nothing in this License shall be construed as requiring the release of proprietary source code associated with the Virtual World in which this Licensed Work may be used, nor is does it impose any restrictions or requirements in any form on the ownership of Virtual Worlds.
SECTION 7 COMPATIBILITY WITH OTHER LICENSES
This Work or Modified Work may be packaged with other work which may be licensed differently as long as each separately licensed work is clearly delineated, and the terms of this Licensed Work remain in effect.
SECTION 8 TERM
This License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this License, then Your rights under this License terminate automatically.
SECTION 9 NO ENDORSEMENT
Nothing in this License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Work is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3 (a)(1)(A)(i).
SECTION 10 DISCLAIMER OF WARRANTIES AND LIMITATION OF LIABILITY
a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Work as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Work, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.
b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this License or use of the Licensed Work, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.
c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.
SECTION 11 OTHER TERMS AND CONDITIONS
a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed.
b. Any arrangements, understandings, or agreements regarding the Licensed Work not stated herein are separate from and independent of the terms and conditions of this License.
SECTION 12 INTERPRETATION
a. For the avoidance of doubt, this License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Work that could lawfully be made without permission under this License.
b. To the extent possible, if any provision of this License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this License without affecting the enforceability of the remaining terms and conditions.
c. No term or condition of this License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor.
d. Nothing in this License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.
(End of License)
Binary file not shown.

Before

Width:  |  Height:  |  Size: 296 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 116 KiB

File diff suppressed because it is too large Load Diff
Binary file not shown.

Before

Width:  |  Height:  |  Size: 297 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 393 KiB

@@ -1,257 +0,0 @@
// NAME: Hand Pose HUD Script
// AUTHOR: Sundance Haiku (https://plus.google.com/u/0/114880810031398834985)
// AUTHOR: Chimera Firecaster (https://plus.google.com/115549296923155647217 & https://chimerafire.wordpress.com/)
// VERSION: 1.02
// DESCRIPTION:
// This script is intended to be placed inside a HUD to animate the hands into different poses
// Complete instructions on how to assemble the HUD and use this script are found on the Ruth Github site (below)
// MORE INFORMATION:
// Ruth Discussion Forum: https://plus.google.com/communities/103360253120662433219
// Ruth GitHub Site: https://github.com/Outworldz/Ruth
//
// COPYRIGHT:
// Copyright 2018 by Sundance Haiku and Chimera Firecaster
// For: Hand Pose HUD Script, Hand Pose HUD & Scripts
//
// Licensed under “The Virtual License: Open Source, Non-commercial,” Version 1.0
// (the "License"); you may not use this Work except in compliance with the License.
// If the License is not included this work, a copy is available at the following:
// https://tinyurl.com/ycaom8g7
// This is an open source work. The source files are found at:
// https://github.com/Outworldz/Ruth
// Subsidiary Creations (see License for more information): Hand Pose Animations
//
// Unless required by applicable law or agreed to in writing, the software distributed
// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
// OR CONDITIONS OF ANY KIND, either express or implied.
//
// You may give this work to another person or share or distribute this work with
// other non-commercial work as long as it is provided FREE OF COST and the following
// is met: (1) Include the above text. (2) Include a copy of the License document
// including the “Plain Language Summary” and copy of the License. If not
// reasonably possible to include to the License document, use the above hyperlink.)
// (3) Indicate if you have modified the work and where you modified it. If
// modified and if sharing it, include either a “Modify, Transfer” version of the
// Work or provide a link to the modified source files. Any modification made by
// you or others falls under the same License terms.
//
// See the License for the specific language governing the use of this Work and
// limitations under the License.
//
// CODE & KARMA
// Note: this is a FREE script. It is given generously to the virtual community without
// the expectation of any financial return. It may be distributed as long as you observe
// the license requirements described above. Please do not charge for it. That's bad form.
// Besides dishonoring the kindness of others, it will most certainly bring you bad karma.
//
//
//-----Do Not Remove Above Header
//Global declarations
string gcAnimation = ""; //the currently selected animation from the HUD inventory
string gcPrevRtAnim = ""; //the previously selected animation on the right side
string gcPrevLfAnim = ""; //the previously selected animation on the left side
string gcWhichSide = ""; //Whether the currently selected animation is a right or left hand
integer gnButtonNo = 0; //The number of the button pressed by the user
integer gnPrimNo; //The prim which contains the button pressed
integer gnPrimFace; //The face of the prim containing the button pressed
integer gnButtonStart; //The starting number of a group of buttons
vector gvONColor = <0.224, 0.800, 0.800>; //Teal color to indicate the button has been pressed
vector gvOFFColor = <1.0, 1.0, 1.0>; //white color to indicate the button has not been pressed
integer glStopAll =FALSE;
///////////////////////////////////////////////////////////////////////////////////////////////////
//User defined functions
//The following function is used to show that a button has been clicked by coloring it. It determines
//whether the button is a right or left hand pose. When a right hand button is colored, it removes the
//coloring from the previously select right hand button - and does the same for left buttons.
ColorButton()
{
gcWhichSide =""; //initialize
if(gnPrimFace & 0x01) //check to see whether it is odd (all "right" buttons) - faces start at 0 so all odd numbers are right buttons
{
gcWhichSide = "RIGHT" ; // odd number
}
else //or even (all "left" buttons
{
gcWhichSide = "LEFT"; // even number
}
integer nPrimCount = 1; //the first button group prim will be 2 (since the backboard is the first prim), When the loop starts 1 is incremented to 2
integer nFaceCount = -1; //the first face of a button group will be 0. When the loop starts -1 is incremented to 0.
do //cycle through each prim (each button group)
{
nPrimCount=nPrimCount + 1;
do //cycle through each face (contained on each prim)
{
nFaceCount=nFaceCount+1;
if((nPrimCount==gnPrimNo) && (nFaceCount==gnPrimFace)) //if this is the button being pressed
{
llSetLinkPrimitiveParamsFast(gnPrimNo, [PRIM_COLOR, gnPrimFace, gvONColor, 1.0]); //color the button
}
else
{
if(gcWhichSide=="RIGHT")
{
if(nFaceCount & 0x01)//If it's odd it's a "right" button - remove the color from right buttons, but not left buttons
{
llSetLinkPrimitiveParamsFast(nPrimCount, [PRIM_COLOR, nFaceCount, gvOFFColor, 1.0]); //remove color from the button
}
}
else //lLeftButtons
{
if(!(nFaceCount & 0x01)) //if it's a "left" button, remove the color from all left buttons but don't do that for right buttons
{
llSetLinkPrimitiveParamsFast(nPrimCount, [PRIM_COLOR, nFaceCount, gvOFFColor, 1.0]); //remove color from the button
}
}
}
}
while(nFaceCount < 6); //6 faces for each prim
nFaceCount=-1; //reset nFaceCount for each new prim
}
while(nPrimCount < 5); //4 prims
}
//The stop all function removes all animations from the avatar. In our testing, we found that on some occassions,
//the avatar may have existing hand animations with a higher priority. In that case, the user would not be able
//to use the HUD's hand poses. This takes care of that problem. Thanks to Fred Kinsei & Outworldz lsl file depository
//for the first part of this snippet AND to RJ Source of Green Sky Labs who posted on SL Forums about a problem
//with removing all anims and suggesting the "stand" solution.
StopAll()
{
if(llGetPermissions() & PERMISSION_TRIGGER_ANIMATION)
{
list anims = llGetAnimationList(llGetPermissionsKey());
integer len = llGetListLength(anims);
integer i;
for (i = 0; i < len; ++i) llStopAnimation(llList2Key(anims, i));
llStartAnimation("stand"); //removing all anims can create problems - this sorts things out
llOwnerSay("All finished: " + (string)len + llGetSubString(" animations",0,-1 - (len == 1))+" stopped.");
llOwnerSay(" ");
//llOwnerSay("All animations have been stopped.");
}
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
default
{
touch_start(integer detected)
{
//llOwnerSay("START *************");
if (llDetectedKey(0) == llGetOwner())
{
integer i; //1 is always the rootprim of a linkset
integer x = llGetNumberOfPrims() + 1; //number of iterations
gnPrimNo = llDetectedLinkNumber(0);
gnPrimFace = llDetectedTouchFace(0); //note that first face in a prim is 0 not 1
list linkParamList = llGetLinkPrimitiveParams(gnPrimNo,[PRIM_NAME, PRIM_DESC, PRIM_TEXTURE,-1]);
string cPrimName = llList2String(linkParamList,0); //returns the prim name of the set of buttons touched
gnButtonStart = (integer)cPrimName; //cPrimName contains the starting number for that set of buttons
gnButtonNo = gnButtonStart + gnPrimFace;
if ((gnPrimNo!=1) && (gnPrimFace < 6)) //Prim 1 is the root prim (backboard & we skip it). Also can't have any faces greater than 5 on the button prims
{
llRequestPermissions(llDetectedKey(0), PERMISSION_TRIGGER_ANIMATION);
}
else
{
if (gnPrimFace==1)
{
glStopAll = TRUE;
llRequestPermissions(llDetectedKey(0), PERMISSION_TRIGGER_ANIMATION);
}
else
{
//llOwnerSay("Backboard touched");
}
}
}
}
run_time_permissions(integer perm)
{
if (perm & PERMISSION_TRIGGER_ANIMATION)
if (glStopAll) //User pressed the Stop All Animations button
{
glStopAll=FALSE;
StopAll(); //call the Stop all animations function
}
else //User pressed one of the buttons
{
list InventoryList;
integer nCounter = -1;
integer lFlag = FALSE;
integer nTotCount = llGetInventoryNumber(INVENTORY_ANIMATION); // Count of all animations in prim's contents
integer nItemNo;
gcAnimation="";
do //loop through the inventory - (Using a DO-WHILE loop since SL docs say that it is faster than WHILE or FOR)
{
nCounter++;
gcAnimation = llGetInventoryName(INVENTORY_ANIMATION, nCounter); //note that first animation on list is 0 not 1
nItemNo = (integer)gcAnimation; //Each animation has a number, ie: 02_HandRelaxed1
if (nItemNo == gnButtonNo) //When the Animation number matches the button number
{
if(gcAnimation != "")
{
ColorButton(); //this runs the user defined function which turns the buttons on & off
//it also returns a value for gcWhichSide
if(gcWhichSide=="RIGHT") //stop the previous animation on the same side as the new one
{
if(gcPrevRtAnim != "")
{
llStopAnimation(gcPrevRtAnim);
}
gcPrevRtAnim = gcAnimation;
}
else if (gcWhichSide == "LEFT")
{
if(gcPrevLfAnim != "")
{
llStopAnimation(gcPrevLfAnim);
}
gcPrevLfAnim = gcAnimation;
}
llStartAnimation(gcAnimation); //start the user's selected animation
//llOwnerSay("We started: "+gcAnimation+" gcPrevLfAnim is: "+gcPrevLfAnim+" " + "gcPrevRtAnim is: "+gcPrevRtAnim);
nCounter = nTotCount + 2; //by setting nCounter high, we exit the do-while loop
lFlag = TRUE; //We found the animation
}
}
}
while(nCounter < nTotCount);
if (!(gnButtonStart==1 | gnButtonStart==7 | gnButtonStart == 13 | gnButtonStart ==19)) //error trapping
{
nItemNo = 100; //temporarily set this to 100 to trigger the proper error message
lFlag = FALSE;
}
if(! lFlag) //Error messages - explanations of common problems a user might have if they assemble the HUD or add their own animations
{
if(nItemNo == 0)
{
llOwnerSay("There's a problem. First check to make sure you've loaded all of the hand animations in the HUD inventory. There should be 24 of them. If that's not the problem, you may have used an incorrect name for one of the prims making up the HUD. Finally, double check to make sure that the backboard of the HUD is the last prim you linked (the root prim).");
llOwnerSay(" ");
}
else if (nItemNo == 100)
{
llOwnerSay("Error. One or more of the button prims haven't been numbered correctly. They should be named: 01_, 07_, 13_, and 19_. Make sure you used zeros (0) and not O's.");
llOwnerSay(" ");
}
else
{
llOwnerSay("Animation # "+(string)nItemNo + " was not found. Check the animations in the inventory of the HUD. When numbering the animations, you may have left this number out.");
llOwnerSay(" ");
}
}
} //End of if(glStopAll)
}
}
@@ -1,22 +0,0 @@
Here's a summary of what's in this directory (Hand Pose Library and HUD) from Chimera Firecaster . . .
Ive finished creating a series of Bento hand poses. There are 14 different poses, but the number of animation files resulting from the poses actually totals 42. The higher number is the result of creating 3 animation files for each pose: right, left and dual-hand versions. They have all been built from scratch, especially for Ruth in Blender.
The poses have been placed in two different sub-folders in GitHub. One folder contains all 42 of the animation files. The other folder is named “Script Ready Hand Pose Package” and it includes 24 animations (one right and one left) that are ready to be dropped in the Hand Pose HUD.
Among the files in GitHub, you will find a Blender file which contains the Ruth hand pose library. You can import the library to a Blender file and add your own animations or tweak the existing ones. They also provide a starting point for creating moving animations.
I did all of the animation and texture work, but I enlisted the help of Sundance to do most of the coding for the HUD which animates the hands in-world. (Why should I have all fun? Big grin.) Sundance was also kind enough to prepare two instructional PDF documents. (I owe him big time. Even bigger grin!) One document explains how to assemble the HUD and the other explains how to use the hand pose library and create your own poses.
To keep everything together, Sundance has uploaded everything in GetHub into one folder: Mesh / Sundance / Hand Pose Library & HUD
Wed appreciate it if you would test the HUD. We have the Hand Pose HUD set-up and ready to go at Ruths Second Life sandbox (http://maps.secondlife.com/secondlife/Gamma/21/76/1401). But we also need to have it tested in OpenSim as well. OpenSim testers will need to assemble it first, but with the instructions, its pretty easy to put together.
I expect in the future, for the sake of efficiency, the functions of the hand pose HUD will be combined with other Ruth functions, i.e. fingernails, etc. The design and layout of the HUD can be changed as needed, but this provides a solid starting point.
I would like to improve the clarity of the individual hand pose illustrations. (The current ones are screen saves from within Blender.) If any of you with an artistic bent have an alternative way of presenting them, Id love to see your ideas.
One last thing. All of our testing in SL is showing that the Bento poses work fine. The Bento animation files are dual purpose and also include hand morphs for system hands. The morphs, however, are not working. Im not sure if its a procedural problem on my part, or if its some sort of bug in Avastar. The procedure that I followed is included in the documentation (theres even a picture!). If you have a chance, Id appreciate if you would take a look and see if you might have a solution. Altho
ugh the HUD is primarily for Bento hands, but Id like to include the system hand morphs if possible.
Okay testers, have at it!

Some files were not shown because too many files have changed in this diff Show More