removed useless _ folders

This commit is contained in:
Fred Beckhusen
2015-08-09 16:54:31 -05:00
parent fde850293c
commit 948a44dfba
5204 changed files with 2425579 additions and 0 deletions

View File

@@ -0,0 +1,6 @@
<Project name="Blue_Bovine_Script" guid="D7EBC965-6C00-1014-B904-200204C60A89">
<Object name="Object" guid="D7EBCA3C-6C00-1014-B904-200204C60A89">
<Script name="Blue_Bovine_Script_1.lsl" guid="D7EBF9BD-6C00-1014-B904-200204C60A89">
</Script>
</Object>
</Project>

View File

@@ -0,0 +1,180 @@
// :CATEGORY:Pet
// :NAME:Blue_Bovine_Script
// :AUTHOR:Anonymous
// :CREATED:2010-01-10 05:20:56.000
// :EDITED:2013-09-18 15:38:49
// :ID:105
// :NUM:140
// :REV:1.0
// :WORLD:Second Life
// :DESCRIPTION:
// The script
// :CODE:
// ALife by Strick Unknown; simplified Polyworld
list tape;
integer tn;
integer tp;
string prog;
integer pc;
integer chan;
integer minx;
integer maxx;
integer miny;
integer maxy;
vector f1; // closest friend
vector f2;
vector f3;
vector A; // accumulator for interp
object_move_to(vector position) {
vector last;
do {
last = llGetPos();
llSetPos(position);
} while ((llVecDist(llGetPos(),position) > 0.001) && (llGetPos() != last));
}
critter_move_offset( vector off )
{
if (llVecMag(off)>1.0) { off= llVecNorm(off);} // move at most 1 meter
if (llVecMag(off)>0.1) {
llSay(0, "off= " + (string)off );
// turn in direction of motion
vector reference; // = llRot2Left( llGetRot() );
reference= <0, PI/2, 0>;
llSay(0, "reference= " + (string)reference );
rotation between;// = llRotBetween( llVecNorm(off), reference );
between= llRotBetween( reference, llVecNorm(off) );
llSay(0, "between= " + (string)between );
llSetRot( llEuler2Rot(<0,PI/2,0>) * between );
//llSetRot( llEuler2Rot(llRot2Up(llEuler2Rot(llVecNorm(off)))) );
//llSetRot( (llEuler2Rot(<0,0,PI/2>) * between) * llEuler2Rot(<0,-PI/2,0>) );
}
vector p= llGetPos() + off;
if (minx<=p.x && p.x<maxx && miny<=p.y && p.y<maxy) {
float z = llGround(< 0.0, 0.0, 0.0 >);
llSay(0, "Moving to " + (string)p );
object_move_to( < p.x, p.y, z+2.0 > );
} else {
llSay(0, "Cant move offset " + (string)off );
}
}
vector Tget(integer i) {
return llList2Vector(tape, i);
}
Tput(integer i, vector v) {
tape= llListReplaceList( tape, [v], i, i );
}
run_prog()
{
// initialize tape with input values
vector rand= < llFrand(2.0)+-1.0, llFrand(2.0)+-1.0, 0 >;
tape = [ f1, f2, f3, rand, <0.,0.,0.>, <1.,0.,0.>, <0.,1.,0.>, <0.,0.,1.> ];
tn = llGetListLength(tape);
tp= 0;
A= < 0., 0., 0. >;
// interpret program prog
integer n= llStringLength(prog);
for ( pc= 0; pc < n; pc++ ) {
string c= llGetSubString( prog, pc, pc );
//llSay(0, "Program step " + (string)pc + " : " + c );
if (c=="<") { tp--; if (tp<0) { tp= tn+-1;} } // regress ptr
else if (c==">") { tp++; if (tp>=tn) { tp= 0;} } // advance ptr
else if (c=="!") { Tput(tp, A); } // store
else if (c=="^") { A= Tget(tp); } // recall
else if (c=="+") { A= A + Tget(tp); } // add
else if (c=="-") { A= -A; } // negate
else if (c=="*") { A= 2.0 * A; } // double
else if (c=="/") { A= 0.5 * A; } // half
else if (c==".") { A= < A * Tget(tp), 0.0, 0.0>; } // dot product
else if (c=="%") { A= A % Tget(tp); } // cross product
}
// Program finished, move by tape[tp]
vector off= Tget(tp);
critter_move_offset(off);