Commit graph

23 commits

Author SHA1 Message Date
Sei Lisa
d23699fbe6 Change the strategy for the U+FFFD separator handling.
Use a global variable instead. In SL, the optimizer does the replacement automatically, therefore no memory penalty is incurred. In OpenSim, the variable is assigned at run time with llUnescapeURL. The OpenSim separator is also changed from U+001F to U+007F, because most control characters under U+0020 cause problems with exporting when present in script memory.

Fixes #41.
2017-09-15 17:43:48 +02:00
Sei Lisa
8bd8b19e2f Add caveat on the use of -1 for all sitters. 2017-09-10 19:45:55 +02:00
Sei Lisa
997ea85236 Allow -1 to mean all sitters.
Suggested by Natsagan in the Unofficial AVsitter group.
2017-09-10 19:45:55 +02:00
Sei Lisa
70b737145e Allow "*" as pose name to mean all poses.
Suggested by Natsagan in the Unofficial AVsitter group.
2017-09-10 19:45:55 +02:00
Sei Lisa
da833a59a0 Revert last squashed commit, to push it as separate commits. 2017-09-10 19:42:31 +02:00
Sei-Lisa
0ed4903ada Allow * to mean all poses, and -1 to mean all sitters (#34)
* Allow "*" as pose name to mean all poses.

Suggested by Natsagan in the Unofficial AVsitter group.

* Allow -1 to mean all sitters.

Suggested by Natsagan in the Unofficial AVsitter group.

* Add caveat on the use of -1 for all sitters.
2017-09-09 23:55:23 +10:00
Sei-Lisa
2e7202e8a1 Fix bug where chains didn't detach on standup. (#33)
This was introduced in commit 5c4f5b3.
2017-09-08 00:33:16 +10:00
Sei Lisa
4ed043d823 Fix precedence of the "!" logical NOT operator.
We knew that in OpenSim, the bitwise NOT "~" operator's precedence was broken (see <http://opensimulator.org/mantis/view.php?id=3268>), but it appears that the same bug affects the logical NOT operator "!" as well, so it needs parentheses when followed by more expressions.
2017-09-02 09:45:52 +02:00
Sei Lisa
7bf262c61e Fix llDialog with empty buttons list for OpenSim.
The optimizer removes the extra "OK" for SL.
2017-09-02 09:45:52 +02:00
Sei Lisa
e77bddec30 Unindent blocks that were left indented for clarity in the previous commit.
Only space changes, no code changes.
2017-09-02 09:45:52 +02:00
Sei Lisa
7482550bef Some micro-optimizations.
- [AV]sitA: Compute loading progress percentage without converting to float. Remove some 'else' clauses, adding 'return' where appropriate. That required moving the retrieval of the next notecard line near the top. A block has been left indented for clarity, and will be unindented in the next commit.
- [AV]prop: Remove some 'else' clauses, adding 'return' where appropriate. A block has been left indented for clarity, and will be unindented in the next commit.
- [AV]Xcite!: Change (string)llList2Integer to llList2String, after verifying that the elements in the list are always integers, and therefore this can't cause problems.
- [AV]root-RLV-extra: Remove unused event.
- [AV]faces: Change llListReplaceList with a replacement of [] to llDeleteSubList, to save one argument. Remove unnecessary 'else'.
- [AV]sequence: Comment out unused condition. It would be removed by the optimizer anyway, but this will hopefully help with clarity.
- AVpos-shifter: Change var++ to ++var (the optimizer would also do this anyway).
2017-09-02 09:45:52 +02:00
Sei Lisa
65c067cc30 Prepare the core scripts for OpenSim.
- Add Makefile and release creation instructions.
- Add a simple Python program to automate the OpenSim conversion based on markings in the code.
- Add .gitignore entries for the generated files.
- Add parentheses around assignments as required by OpenSim. This is done only to the core scripts.
- OpenSim isn't compatible with SL when there are conditions of type key. Those are all converted. Conditions of other types, except integer, are expanded for clarity and optimization, as they generate the same or better code that way, and currently the optimizer can do a better job when they are expanded.
- Floats in scientific notation need a dot.
- llParseStringXXXX doesn't work the same in OpenSim as in SL, when the separator is an Unicode codepoint that doesn't represent a character. For that reason, the internal separator, which is U+FFFD ("Replacement Character") is changed automatically by the Python program to U+001F (Unit Separator control character). For further safety, function strReplace is altered to use osReplaceString instead of llParseStringKeepNulls/llDumpList2String.

Furthermore, the ~ operator has the wrong precedence in OpenSim, but that was handled by a previous commit. Note that appearances of the ~ operator that were not preceded by a ! have only been replaced in the core scripts.
2017-09-02 09:45:52 +02:00
Sei Lisa
4278710ce8 Fix some marginal bugs, and the version of [AV]faces.
- Bump version of [AV]faces to 2.2.
- With very bad luck, some channel numbers could overflow the range of an integer due to float rounding, and produce DEBUG_CHANNEL or PUBLIC_CHANNEL as output.
- If both CHANGED_INVENTORY and CHANGED_LINK came at the same time, [AV]prop would fail to handle both.
- There was code that did nothing in [AV]faces. While it caused no bug per se, if it was reused in future then it could be affected by the same problem as that in [AV]prop.
2017-09-02 09:45:52 +02:00
Sei Lisa
610890951d Undo some hand optimizations.
Many of them cause problems with OpenSim.

All of them are applied by the optimizer, except (str="")+str, which produces gains only in LSO, not in Mono, and doesn't work in OpenSim.

A few are undone only for clarity, relying on the fact that the optimizer will apply them again.
2017-09-02 09:45:52 +02:00
Sei Lisa
202b4503d1 Remove or add parentheses as necessary to improve clarity.
There should be no changes in the code compiled from source directly.
2017-09-02 09:45:52 +02:00
Sei Lisa
2488349a1b Comment and formatting changes; no actual code changes.
- Add spaces between functions.
- Add comments on numeric codes and a few others.
- Reformat lists and one function.
- Remove spaces at EOL.
- Use actual copyright symbol.
2017-09-02 09:45:52 +02:00
Oddunity
56c16cf6bf Minor bug fix and optimizations
- Fixed timer bug
- Changed llGetBoundngBox to llGetObjectMass
- Restrict prop cleanup to only include children of non-attached parent objects
2017-08-18 00:17:16 +02:00
Oddunity
4ff281d1f2 Cleanup props when parent object no longer exists
A timed event to check for the existence of the rezzing object and cleanup when the check fails.
2017-08-18 00:17:16 +02:00
Sei-Lisa
c157fd936a Remove [AV]object notice, per discussion in #5 (#7) 2017-08-07 11:10:15 +10:00
Sei Lisa
5b6cd5763b Cosmetic changes to AVprop (no code changes)
Add vertical space between functions and between events; format the attachment points list; add inline comments indicating the meaning of the 90xxx codes.
2017-08-04 14:24:39 +02:00
codeviolet
34f30ac80a first commit 2017-07-31 17:43:31 +10:00
Builder's Brewery
5c4f5b3418 Update repo (#1)
* Update README.md

* Update and rename [AV]LockGuard-object.lslp to [AV]LockGuard-object.lsl

* Update [AV]LockGuard-object.lsl

* Update [AV]LockGuard-object.lsl

* Update [AV]LockGuard-object.lsl

* Update and rename [AV]LockGuard.lslp to [AV]LockGuard.lsl

* Update and rename shared props via BUTTON.lslp to shared props via BUTTON.lsl

* Update and rename shared props via POSE.lslp to shared props via POSE.lsl
2016-06-06 11:25:56 +10:00
codeviolet
ff60b814dc new 2015-11-21 12:27:24 +11:00