diff --git a/indra/newview/fs_resources/EBEDD1D2-A320-43f5-88CF-DD47BBCA5DFB.lsltxt b/indra/newview/fs_resources/EBEDD1D2-A320-43f5-88CF-DD47BBCA5DFB.lsltxt index eba1cf9308..e8492f16e5 100644 --- a/indra/newview/fs_resources/EBEDD1D2-A320-43f5-88CF-DD47BBCA5DFB.lsltxt +++ b/indra/newview/fs_resources/EBEDD1D2-A320-43f5-88CF-DD47BBCA5DFB.lsltxt @@ -70,9 +70,10 @@ llParticleSystem([]); llSetTextureAnim(FALSE, ALL_SIDES, 1, 1, 1.0, 1.0, 1.0); llAllowInventoryDrop(FALSE); - llStopMoveToTarget(); llSetTorque(ZERO_VECTOR, 0); + llSetTimerEvent(0); flight_hover(FALSE); + llStopMoveToTarget(); // Make bridge inconspicuous llSetLinkPrimitiveParamsFast(LINK_THIS, [ PRIM_TEXT, "", ZERO_VECTOR, 0.0, @@ -92,44 +93,15 @@ initBridge() { - llRequestURL(); + owner = llGetOwner(); + request_control_perms(); // Disable all secondary stateful services llSetTimerEvent(0); + flight_hover(FALSE); llStopMoveToTarget(); - if (llGetAttached() != 0) - { - llRequestPermissions(owner, PERMISSION_TAKE_CONTROLS); - } - - // Assume the worst and let the viewer convince us otherwise - keyViewerHandshake = UNKNOWN_VIEWER; - - // If we were last flying reinitialize ourself - if (flightAssistPushForce > 0) - { - flight_init(); - } - else - { - flight_hover(FALSE); - } - - // Check the state of movelock, relock if needed - if (useMoveLock) - { - if (relockMoveLockAfterMovement) - { - if (llGetAttached()) - { - request_control_perms(); - } - } - movelock_init(); - } - // Set the channel for the AO OC interface aoChannelOC = (integer)("0x" + llGetSubString(owner, 30, -1)); if (aoChannelOC > 0) @@ -137,23 +109,20 @@ aoChannelOC = -aoChannelOC; } - // Remove previous AO listeners if present, enable if needed + // Remove previous AO listeners if present integrationCheckOC(); integrationCheckLM(); - } + // Assume the worst and let the viewer convince us otherwise + keyViewerHandshake = UNKNOWN_VIEWER; + llRequestURL(); - saveNewURL(string url) - { - latestURL = url; } parseCommand(key httpReqID, string msg) { // Remove the ... wrapper - integer end = llStringLength(msg) - 18; - integer start = 14; - list commandList = llParseString2List(llGetSubString(msg, start, end), ["|"], []); + list commandList = llParseString2List(llGetSubString(msg, 14, llStringLength(msg) - 18), ["|"], []); string cmd = llList2String(commandList, 0); // Large If statement for command processing. Shame on you, LSL! @@ -161,23 +130,29 @@ { // We're in the right viewer, go on. keyViewerHandshake = FIRESTORM_VIEWER; - } // URL Confirmed + } - if (cmd == "UseLSLFlightAssist") + else if (cmd == "UseLSLFlightAssist") { float speed = llList2Float(commandList, 1); if (speed != flightAssistPushForce) { - flightAssistPushForce = speed; - if (flightAssistPushForce > 0) - { - flight_init(); - } - else - { - flight_hover(FALSE); - llSetTimerEvent(0); - } + flightAssistPushForce = speed; + if (flightAssistPushForce > 0) + { + if (flightAssistPushForce > 5.0) + { + // No lightspeed please! + flightAssistPushForce = 5.0; + } + request_control_perms(); + llSetTimerEvent(flightAirCheckNormal); + } + else + { + flight_hover(FALSE); + llSetTimerEvent(0); + } } } @@ -210,8 +185,7 @@ // TP commands immediately configure a TP timer consumer setTimerEvent2(TP_TIMER_TICK); - //llHTTPResponse(httpReqID, httpStatus, "test response from llMoveToTarget"); - } // "llMoveToTarget" + } else if (cmd == "getZOffsets") // Radar-specific command to get high-rez altitude data. @@ -240,7 +214,7 @@ responses = []; // Free memory llHTTPResponse(httpReqID, httpStatus, body); - } // "getZOffsets" + } else if (cmd == "getScriptInfo") { @@ -274,10 +248,7 @@ relockMoveLockAfterMovement = llList2Integer(commandList, 1); if (relockMoveLockAfterMovement) { - if (llGetAttached()) - { - request_control_perms(); - } + request_control_perms(); } } @@ -403,27 +374,16 @@ request_control_perms() { - llTakeControls(CONTROL_FWD | CONTROL_BACK | CONTROL_LEFT | CONTROL_RIGHT | CONTROL_UP | CONTROL_DOWN, TRUE, TRUE); + if (llGetAttached() != 0) + { + llRequestPermissions(owner, PERMISSION_TAKE_CONTROLS); + } } // // Flight Assist // - flight_init() - { - if (flightAssistPushForce > 5.0) - { - // No lightspeed please! - flightAssistPushForce = 5.0; - } - if (llGetAttached()) - { - request_control_perms(); - } - llSetTimerEvent(flightAirCheckNormal); - } - flight_hover(integer yes) { if (yes) @@ -442,7 +402,6 @@ movelock_init() { - useMoveLock = TRUE; llMoveToTarget(llGetPos() - <0, 0, 0.1>, 0.05); } @@ -485,9 +444,9 @@ default { if (i) { - if (flightAssistPushForce > 0 || useMoveLock) + if (flightAssistPushForce > 0 || relockMoveLockAfterMovement) { - request_control_perms(); + llTakeControls(CONTROL_FWD | CONTROL_BACK | CONTROL_LEFT | CONTROL_RIGHT | CONTROL_UP | CONTROL_DOWN, TRUE, TRUE); } else { @@ -599,8 +558,7 @@ default if (Method == URL_REQUEST_GRANTED) { - saveNewURL(Body); - + latestURL = Body; // Saying URL to owner if (keyViewerHandshake == FIRESTORM_VIEWER || tryHandshakeOnce == 1) { @@ -616,9 +574,8 @@ default } else if (Method == URL_REQUEST_DENIED) { - saveNewURL(""); - // No URLs free! Keep trying? + latestURL = ""; llRequestURL(); } else if (Method == "GET")