diff --git a/indra/CMakeLists.txt b/indra/CMakeLists.txt index 5f86c3509..24bcad02b 100644 --- a/indra/CMakeLists.txt +++ b/indra/CMakeLists.txt @@ -65,7 +65,7 @@ if (EXISTS ${LIBS_CLOSED_DIR}llkdu AND NOT STANDALONE) add_subdirectory(${LIBS_CLOSED_PREFIX}llkdu) endif (EXISTS ${LIBS_CLOSED_DIR}llkdu AND NOT STANDALONE) -add_subdirectory(${LIBS_OPEN_PREFIX}lscript) +#add_subdirectory(${LIBS_OPEN_PREFIX}lscript) if (WINDOWS AND EXISTS ${LIBS_CLOSED_DIR}copy_win_scripts) add_subdirectory(${LIBS_CLOSED_PREFIX}copy_win_scripts) diff --git a/indra/cmake/CMakeLists.txt b/indra/cmake/CMakeLists.txt index 21eee45ac..8347352d0 100644 --- a/indra/cmake/CMakeLists.txt +++ b/indra/cmake/CMakeLists.txt @@ -60,7 +60,7 @@ set(cmake_SOURCE_FILES LLVFS.cmake LLWindow.cmake LLXML.cmake - LScript.cmake +# LScript.cmake Linking.cmake NDOF.cmake OPENAL.cmake diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index b380af7d2..e46a05a59 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -34,7 +34,7 @@ include(LLUI) include(LLVFS) include(LLWindow) include(LLXML) -include(LScript) +#include(LScript) include(Linking) include(NDOF) include(GooglePerfTools) @@ -68,8 +68,8 @@ include_directories( ${LLVFS_INCLUDE_DIRS} ${LLWINDOW_INCLUDE_DIRS} ${LLXML_INCLUDE_DIRS} - ${LSCRIPT_INCLUDE_DIRS} - ${LSCRIPT_INCLUDE_DIRS}/lscript_compile +# ${LSCRIPT_INCLUDE_DIRS} +# ${LSCRIPT_INCLUDE_DIRS}/lscript_compile ) set(viewer_SOURCE_FILES @@ -1557,7 +1557,7 @@ target_link_libraries(${VIEWER_BINARY_NAME} ${LLVFS_LIBRARIES} ${LLWINDOW_LIBRARIES} ${LLXML_LIBRARIES} - ${LSCRIPT_LIBRARIES} +# ${LSCRIPT_LIBRARIES} ${LLMATH_LIBRARIES} ${LLCOMMON_LIBRARIES} ${NDOF_LIBRARY} diff --git a/indra/newview/app_settings/lsl_functions_os.xml b/indra/newview/app_settings/lsl_functions_os.xml new file mode 100644 index 000000000..05e1c94f8 --- /dev/null +++ b/indra/newview/app_settings/lsl_functions_os.xml @@ -0,0 +1,373 @@ + + + + + + + + + + + + + + + + osSetDynamicTextureURL + + osSetDynamicTextureURLBlend + + osSetDynamicTextureURLBlendFace + + osSetDynamicTextureData + + osSetDynamicTextureDataBlend + + osSetDynamicTextureDataBlendFace + + osGetTerrainHeight + + osSetTerrainHeight + + osTerrainFlush + + osRegionRestart + + osRegionNotice + + osConsoleCommand + + osSetParcelMediaURL + + osSetPrimFloatOnWater + + osSetParcelSIPAddress + + osGetAgentIP + + osGetAgents + + osTeleportAgent + + osTeleportOwner + + osAvatarPlayAnimation + + osAvatarStopAnimation + + osForceAttachToAvatar + + osForceDetachFromAvatar + + osMovePen + + osDrawLine + + osDrawText + + osDrawEllipse + + osDrawRectangle + + osDrawFilledRectangle + + osDrawPolygon + + osDrawFilledPolygon + + osSetFontSize + + osSetFontName + + osSetPenSize + + osSetPenColor + + osSetPenCap + + osDrawImage + + osGetDrawStringSize + + osList2Double + + osSetRegionWaterHeight + + osSetRegionSunSettings + + osSetEstateSunSettings + + osGetCurrentSunHour + + osGetSunParam + + osSetSunParam + + osWindActiveModelPluginName + + osSetWindParam + + osGetWindParam + + osParcelJoin + + osParcelSubdivide + + osSetParcelDetails + + osGetScriptEngineName + + osGetSimulatorVersion + + osParseJSON + + osParseJSONNew + + osMessageObject + + osMakeNotecard + + osGetNotecardLine + + osGetNotecard + + osGetNumberOfNotecardLines + + osAvatarName2Key + + osKey2Name + + osGetGridNick + + osGetGridName + + osGetGridLoginURI + + osGetGridHomeURI + + osGetGridGatekeeperURI + + osGetGridCustom + + osFormatString + + osMatchString + + osReplaceString + + osLoadedCreationDate + + osLoadedCreationTime + + osLoadedCreationID + + osGetLinkPrimitiveParams + + osGetMapTexture + + osGetRegionMapTexture + + osGetRegionStats + + osGetSimulatorMemory + + osKickAvatar + + osSetSpeed + + osCauseDamage + + osCauseHealing + + osGetPrimitiveParams + + osSetPrimitiveParams + + osSetProjectionParams + + osGetAvatarList + + osUnixTimeToTimestamp + + osGetInventoryDesc + + osInviteToGroup + + osEjectFromGroup + + osSetTerrainTexture + + osSetTerrainTextureHeight + + + + osSetStateEvents + + osIsNpc + + osNpcCreate + + osNpcSaveAppearance + + osNpcLoadAppearance + + osNpcGetPos + + osNpcMoveTo + + osNpcMoveToTarget + + osNpcGetOwner + + osNpcGetRot + + osNpcSetRot + + osNpcStopMoveToTarget + + osNpcSay + + osNpcSay + + osNpcSit + + osNpcStand + + osNpcRemove + + osNpcPlayAnimation + + osNpcStopAnimation + + osOwnerSaveAppearance + + osAgentSaveAppearance + + osNpcShout + + osNpcWhisper + + + + osReturnObject + + osReturnObjects + + osShutDown + + osAddAgentToGroup + + osRezObject + + + + cmSetWindlightScene + + cmSetWindlightSceneTargeted + + cmGetWindlightScene + + + lsSetWindlightScene + + lsSetWindlightSceneTargeted + + lsGetWindlightScene + + + + aaSetCloudDensity + + aaUpdateDatabase + + aaQueryDatabase + + aaDeserializeXMLValues + + aaDeserializeXMLKeys + + aaSetConeOfSilence + + aaSerializeXML + + aaGetTeam + + aaGetHealth + + aaJoinCombat + + aaLeaveCombat + + aaJoinCombatTeam + + aaRequestCombatPermission + + aaThawAvatar + + aaFreezeAvatar + + aaGetTeamMembers + + aaGetLastOwner + + aaSayDistance + + aaSayTo + + aaGetWalkDisabled + + aaSetWalkDisabled + + aaGetFlyDisabled + + aaSetFlyDisabled + + aaAvatarFullName2Key + + aaRaiseError + + aaGetText + + aaGetTextColor + + aaSetEnv + + aaGetIsInfiniteRegion + + + botGetWaitingTime + + botSetMap + + botCreateBot + + botRemoveBot + + botPauseMovement + + botResumeMovement + + botFollowAvatar + + botStopFollowAvatar + + botSendChatMessage + + botSendIM + + botSetShouldFly + + botSitObject + + botStandUp + + botTouchObject + + botAddTag + + botGetBotsWithTag + + botRemoveBotsWithTag + + + \ No newline at end of file diff --git a/indra/newview/app_settings/lsl_functions_sl.xml b/indra/newview/app_settings/lsl_functions_sl.xml new file mode 100644 index 000000000..f0a49db5f --- /dev/null +++ b/indra/newview/app_settings/lsl_functions_sl.xml @@ -0,0 +1,1014 @@ + + + + llSin + + llCos + + llTan + + llAtan2 + + llSqrt + + llPow + + llAbs + + llFabs + + llFrand + + llFloor + + llCeil + + llRound + + llVecMag + + llVecNorm + + llVecDist + + llRot2Euler + + llEuler2Rot + + llAxes2Rot + + llRot2Fwd + + llRot2Left + + llRot2Up + + llRotBetween + + llWhisper + + llSay + + llShout + + llListen + + llListenControl + + llListenRemove + + llSensor + + llSensorRepeat + + llSensorRemove + + llDetectedName + + llDetectedKey + + llDetectedOwner + + llDetectedType + + llDetectedPos + + llDetectedVel + + llDetectedGrab + + llDetectedRot + + llDetectedGroup + + llDetectedLinkNumber + + llDie + + llGround + + llCloud + + llWind + + llSetStatus + + llGetStatus + + llSetScale + + llGetScale + + llSetColor + + llGetAlpha + + llSetAlpha + + llGetColor + + llSetTexture + + sleep_time + 0.20 + + llScaleTexture + + sleep_time + 0.20 + + llOffsetTexture + + sleep_time + 0.20 + + llRotateTexture + + sleep_time + 0.20 + + llGetTexture + + llSetPos + + sleep_time + 0.20 + + llGetPos + + llGetLocalPos + + llSetRot + + sleep_time + 0.20 + + llGetRot + + llGetLocalRot + + llSetForce + + llGetForce + + llTarget + + llTargetRemove + + llRotTarget + + llRotTargetRemove + + llMoveToTarget + + llStopMoveToTarget + + llApplyImpulse + + llApplyRotationalImpulse + + llSetTorque + + llGetTorque + + llSetForceAndTorque + + llGetVel + + llGetAccel + + llGetOmega + + llGetTimeOfDay + + llGetWallclock + + llGetTime + + llResetTime + + llGetAndResetTime + + llSound + + llPlaySound + + llLoopSound + + llLoopSoundMaster + + llLoopSoundSlave + + llPlaySoundSlave + + llTriggerSound + + llStopSound + + llPreloadSound + + sleep_time + 1.0 + + llGetSubString + + llDeleteSubString + + llInsertString + + llToUpper + + llToLower + + llGiveMoney + + llMakeExplosion + + sleep_time + 0.10 + + llMakeFountain + + sleep_time + 0.10 + + llMakeSmoke + + sleep_time + 0.10 + + llMakeFire + + sleep_time + 0.10 + + llRezObject + + sleep_time + 0.10 + + llLookAt + + llStopLookAt + + llSetTimerEvent + + llSleep + + llGetMass + + llCollisionFilter + + llTakeControls + + llReleaseControls + + llAttachToAvatar + + llDetachFromAvatar + + llTakeCamera + + llReleaseCamera + + llGetOwner + + llInstantMessage + + sleep_time + 2.0 + + llEmail + + sleep_time + 20.0 + + llGetNextEmail + + llGetKey + + llSetBuoyancy + + llSetHoverHeight + + llStopHover + + llMinEventDelay + + llSoundPreload + + llRotLookAt + + llStringLength + + llStartAnimation + + llStopAnimation + + llPointAt + + llStopPointAt + + llTargetOmega + + llGetStartParameter + + llGodLikeRezObject + + god_only + true + + llRequestPermissions + + llGetPermissionsKey + + llGetPermissions + + llGetLinkNumber + + llSetLinkColor + + llCreateLink + + sleep_time + 1.0 + + llBreakLink + + llBreakAllLinks + + llGetLinkKey + + llGetLinkName + + llGetInventoryNumber + + llGetInventoryName + + llSetScriptState + + llGetEnergy + + llGiveInventory + + llRemoveInventory + + llSetText + + llWater + + llPassTouches + + llRequestAgentData + + sleep_time + 0.10 + + llRequestInventoryData + + sleep_time + 1.0 + + llSetDamage + + llTeleportAgentHome + + sleep_time + 5.0 + + llModifyLand + + llCollisionSound + + llCollisionSprite + + llGetAnimation + + llResetScript + + llMessageLinked + + llPushObject + + llPassCollisions + + llGetScriptName + + llGetNumberOfSides + + llAxisAngle2Rot + + llRot2Axis + + llRot2Angle + + llAcos + + llAsin + + llAngleBetween + + llGetInventoryKey + + llAllowInventoryDrop + + llGetSunDirection + + llGetTextureOffset + + llGetTextureScale + + llGetTextureRot + + llSubStringIndex + + llGetOwnerKey + + llGetCenterOfMass + + llListSort + + llGetListLength + + llList2Integer + + llList2Float + + llList2String + + llList2Key + + llList2Vector + + llList2Rot + + llList2List + + llDeleteSubList + + llGetListEntryType + + llList2CSV + + llCSV2List + + llListRandomize + + llList2ListStrided + + llGetRegionCorner + + llListInsertList + + llListFindList + + llGetObjectName + + llSetObjectName + + llGetDate + + llEdgeOfWorld + + llGetAgentInfo + + llAdjustSoundVolume + + sleep_time + 0.10 + + llSetSoundQueueing + + llSetSoundRadius + + llKey2Name + + llSetTextureAnim + + llTriggerSoundLimited + + llEjectFromLand + + llParseString2List + + llOverMyLand + + llGetLandOwnerAt + + llGetNotecardLine + + sleep_time + 0.10 + + llGetAgentSize + + llSameGroup + + llUnSit + + llGroundSlope + + llGroundNormal + + llGroundContour + + llGetAttached + + llGetFreeMemory + + llGetRegionName + + llGetRegionTimeDilation + + llGetRegionFPS + + llParticleSystem + + llGroundRepel + + llGiveInventoryList + + sleep_time + 3.0 + + llSetVehicleType + + llSetVehicleFloatParam + + llSetVehicleVectorParam + + llSetVehicleRotationParam + + llSetVehicleFlags + + llRemoveVehicleFlags + + llSitTarget + + llAvatarOnSitTarget + + llAddToLandPassList + + sleep_time + 0.10 + + llSetTouchText + + llSetSitText + + llSetCameraEyeOffset + + llSetCameraAtOffset + + llDumpList2String + + llScriptDanger + + llDialog + + sleep_time + 1.0 + + llVolumeDetect + + llResetOtherScript + + llGetScriptState + + llRemoteLoadScript + + sleep_time + 3.0 + + llSetRemoteScriptAccessPin + + sleep_time + 0.20 + + llRemoteLoadScriptPin + + sleep_time + 3.0 + + llOpenRemoteDataChannel + + sleep_time + 1.0 + + llSendRemoteData + + sleep_time + 3.0 + + llRemoteDataReply + + sleep_time + 3.0 + + llCloseRemoteDataChannel + + sleep_time + 1.0 + + llMD5String + + llSetPrimitiveParams + + sleep_time + 0.20 + + llStringToBase64 + + llBase64ToString + + llXorBase64Strings + + sleep_time + 0.30 + + llRemoteDataSetRegion + + llLog10 + + llLog + + llGetAnimationList + + llSetParcelMusicURL + + sleep_time + 2.0 + + llGetRootPosition + + llGetRootRotation + + llGetObjectDesc + + llSetObjectDesc + + llGetCreator + + llGetTimestamp + + llSetLinkAlpha + + llGetNumberOfPrims + + llGetNumberOfNotecardLines + + sleep_time + 0.10 + + llGetBoundingBox + + llGetGeometricCenter + + llGetPrimitiveParams + + sleep_time + 0.20 + + llIntegerToBase64 + + sleep_time + 0.00 + + llBase64ToInteger + + sleep_time + 0.00 + + llGetGMTclock + + llGetSimulatorHostname + + sleep_time + 10.0 + + llSetLocalRot + + sleep_time + 0.20 + + llParseStringKeepNulls + + llRezAtRoot + + sleep_time + 0.10 + + llGetObjectPermMask + + llSetObjectPermMask + + god_only + true + + llGetInventoryPermMask + + llSetInventoryPermMask + + god_only + true + + llGetInventoryCreator + + llOwnerSay + + llRequestSimulatorData + + sleep_time + 1.0 + + llForceMouselook + + llGetObjectMass + + llListReplaceList + + llLoadURL + + sleep_time + 10.0 + + llParcelMediaCommandList + + sleep_time + 2.0 + + llParcelMediaQuery + + sleep_time + 2.0 + + llModPow + + sleep_time + 1.0 + + llGetInventoryType + + llSetPayPrice + + llGetCameraPos + + llGetCameraRot + + llSetPrimURL + + sleep_time + 20.0 + + llRefreshPrimURL + + sleep_time + 20.0 + + llEscapeURL + + llUnescapeURL + + llMapDestination + + sleep_time + 1.0 + + llAddToLandBanList + + sleep_time + 0.10 + + llRemoveFromLandPassList + + sleep_time + 0.10 + + llRemoveFromLandBanList + + sleep_time + 0.10 + + llSetCameraParams + + llClearCameraParams + + llGetUnixTime + + llGetParcelFlags + + llGetRegionFlags + + llXorBase64StringsCorrect + + llHTTPRequest + + llResetLandBanList + + sleep_time + 0.10 + + llResetLandPassList + + sleep_time + 0.10 + + llGetObjectPrimCount + + llGetParcelPrimOwners + + sleep_time + 2.00 + + llGetParcelPrimCount + + llGetParcelMaxPrims + + llGetParcelDetails + + llSetLinkPrimitiveParams + + sleep_time + 0.20 + + llSetLinkTexture + + sleep_time + 0.20 + + llStringTrim + + llRegionSay + + llGetObjectDetails + + llSetClickAction + + llGetRegionAgentCount + + llTextBox + + sleep_time + 1.0 + + llGetAgentLanguage + + llDetectedTouchUV + + llDetectedTouchFace + + llDetectedTouchPos + + llDetectedTouchNormal + + llDetectedTouchBinormal + + llDetectedTouchST + + llSHA1String + + llGetFreeURLs + + llRequestURL + + llRequestSecureURL + + llReleaseURL + + llHTTPResponse + + llGetHTTPHeader + + + llSetPrimMediaParams + + sleep_time + 1.00 + + llGetPrimMediaParams + + sleep_time + 1.00 + + llClearPrimMedia + + sleep_time + 1.00 + + llSetLinkPrimitiveParamsFast + + llGetLinkPrimitiveParams + + llLinkParticleSystem + + llSetLinkTextureAnim + + llGetLinkNumberOfSides + + + llGetUsername + + llRequestUsername + + llGetDisplayName + + llRequestDisplayName + + llGetEnv + + llRegionSayTo + + + llSetMemoryLimit + + llGetMemoryLimit + + llSetLinkMedia + + llGetLinkMedia + + llClearLinkMedia + + llSetLinkCamera + + llSetContentType + + llLinkSitTarget + + llAvatarOnLinkSitTarget + + llSetVelocity + + + llCastRay + + llGetMassMKS + + llSetPhysicsMaterial + + llGetPhysicsMaterial + + + llManageEstateAccess + + + llSetKeyframedMotion + + + llTransferLindenDollars + + + llGenerateKey + + + llGetParcelMusicURL + + + llScriptProfiler + + llGetSPMaxMemory + + llGetUsedMemory + + llSetAngularVelocity + + + llSetRegionPos + + + llGetAgentList + + + llAttachToAvatarTemp + + llTeleportAgent + + llTeleportAgentGlobalCoords + + + llCreateCharacter + + llDeleteCharacter + + llEvade + + llExecCharacterCmd + + llFleeFrom + + llGetClosestNavPoint + + llGetStaticPath + + llNavigateTo + + llPatrolPoints + + llPursue + + llUpdateCharacter + + llWanderWithin + + + \ No newline at end of file diff --git a/indra/newview/llcompilequeue.cpp b/indra/newview/llcompilequeue.cpp index 5cf8b7fdc..217771637 100644 --- a/indra/newview/llcompilequeue.cpp +++ b/indra/newview/llcompilequeue.cpp @@ -50,7 +50,7 @@ #include "llviewerobject.h" #include "llviewerobjectlist.h" #include "llviewerregion.h" -#include "lscript_rt_interface.h" +//#include "lscript_rt_interface.h" #include "llviewercontrol.h" #include "llviewerobject.h" #include "llviewerregion.h" @@ -444,6 +444,16 @@ void LLFloaterCompileQueue::scriptArrived(LLVFS *vfs, const LLUUID& asset_id, data->mItemId, is_running, queue->mMono, queue->getID(), script_data, script_size, data->mScriptName); } + else + { + std::string text = LLTrans::getString("CompileQueueProblemUploading"); + LLChat chat(text); + LLFloaterChat::addChat(chat); + buffer = text + LLTrans::getString(":") + " " + data->mScriptName; + llwarns << "Problem uploading script asset." << llendl; + if(queue) queue->removeItemByItemID(data->mItemId); + } +#if 0 //Client side compiling disabled. else { // It's now in the file, now compile it. @@ -478,6 +488,7 @@ void LLFloaterCompileQueue::scriptArrived(LLVFS *vfs, const LLUUID& asset_id, // Delete it after we're done compiling? LLFile::remove(filename); } +#endif } } else @@ -551,6 +562,7 @@ void LLFloaterCompileQueue::onSaveBytecodeComplete(const LLUUID& asset_id, void* } // compile the file given and save it out. +#if 0 //Client side compiling disabled. void LLFloaterCompileQueue::compile(const std::string& filename, const LLUUID& item_id) { @@ -590,6 +602,7 @@ void LLFloaterCompileQueue::compile(const std::string& filename, (void*)data, FALSE); } } +#endif void LLFloaterCompileQueue::removeItemByItemID(const LLUUID& asset_id) { diff --git a/indra/newview/llcompilequeue.h b/indra/newview/llcompilequeue.h index 25b001e30..e4bccff52 100644 --- a/indra/newview/llcompilequeue.h +++ b/indra/newview/llcompilequeue.h @@ -163,7 +163,9 @@ protected: S32 status, LLExtStat ext_status); // compile the file given and save it out. +#if 0 //Client side compiling disabled. void compile(const std::string& filename, const LLUUID& asset_id); +#endif // remove any object in mScriptScripts with the matching uuid. void removeItemByAssetID(const LLUUID& asset_id); diff --git a/indra/newview/llfloaterbulkpermission.cpp b/indra/newview/llfloaterbulkpermission.cpp index a79527456..287b799bd 100644 --- a/indra/newview/llfloaterbulkpermission.cpp +++ b/indra/newview/llfloaterbulkpermission.cpp @@ -42,7 +42,7 @@ #include "llviewerobject.h" #include "llviewerobjectlist.h" #include "llviewerregion.h" -#include "lscript_rt_interface.h" +//#include "lscript_rt_interface.h" #include "llviewercontrol.h" #include "llviewerobject.h" #include "llviewerregion.h" diff --git a/indra/newview/llpreviewscript.cpp b/indra/newview/llpreviewscript.cpp index baf963d68..564b4c96c 100644 --- a/indra/newview/llpreviewscript.cpp +++ b/indra/newview/llpreviewscript.cpp @@ -53,8 +53,8 @@ #include "llscrollcontainer.h" #include "llscrolllistctrl.h" #include "llslider.h" -#include "lscript_rt_interface.h" -#include "lscript_export.h" +//#include "lscript_rt_interface.h" +//#include "lscript_export.h" #include "lltextbox.h" #include "lltooldraganddrop.h" #include "llvfile.h" @@ -92,6 +92,9 @@ #include "llviewercontrol.h" #include "llappviewer.h" #include "llpanelobjectinventory.h" + +#include "llsdserialize.h" + // [RLVa:KB] - Checked: 2010-09-28 (RLVa-1.2.1f) #include "rlvhandler.h" #include "rlvlocks.h" @@ -206,6 +209,34 @@ struct LLSECKeywordCompare } }; +std::vector LLScriptEdCore::mParsedFunctions; +//static +void LLScriptEdCore::parseFunctions(const std::string& filename) +{ + std::string filepath = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, filename); + + if(LLFile::isfile(filepath)) + { + LLSD function_list; + llifstream importer(filepath); + if(importer.is_open()) + { + LLSDSerialize::fromXMLDocument(function_list, importer); + importer.close(); + + for (LLSD::map_const_iterator it = function_list.beginMap(); it != function_list.endMap(); ++it) + { + LSLFunctionProps fn; + fn.mName = it->first; + fn.mSleepTime = it->second["sleep_time"].asFloat(); + fn.mGodOnly = it->second["god_only"].asBoolean(); + + mParsedFunctions.push_back(fn); + } + } + } +} + LLScriptEdCore::LLScriptEdCore( const std::string& name, const LLRect& rect, @@ -258,8 +289,8 @@ LLScriptEdCore::LLScriptEdCore( std::vector funcs; std::vector tooltips; - for (std::vector::const_iterator i = gScriptLibrary.mFunctions.begin(); - i != gScriptLibrary.mFunctions.end(); ++i) + for (std::vector::const_iterator i = mParsedFunctions.begin(); + i != mParsedFunctions.end(); ++i) { // Make sure this isn't a god only function, or the agent is a god. if (!i->mGodOnly || gAgent.isGodlike()) @@ -1472,10 +1503,20 @@ void LLPreviewLSL::saveIfNeeded() { uploadAssetViaCaps(url, filename, mItemUUID); } + else + { + LLSD row; + row["columns"][0]["value"] = LLTrans::getString("CompileQueueDownloadedCompiling"); + row["columns"][0]["font"] = "SANSSERIF_SMALL"; + mScriptEd->mErrorList->addElement(row); + LLFile::remove(filename); + } +#if 0 //Client side compiling disabled. else if (gAssetStorage) { uploadAssetLegacy(filename, mItemUUID, tid); } +#endif } } @@ -1497,6 +1538,7 @@ void LLPreviewLSL::uploadAssetViaCaps(const std::string& url, LLHTTPClient::post(url, body, new LLUpdateAgentInventoryResponder(body, filename, LLAssetType::AT_LSL_TEXT)); } +#if 0 //Client side compiling disabled. void LLPreviewLSL::uploadAssetLegacy(const std::string& filename, const LLUUID& item_id, const LLTransactionID& tid) @@ -1580,7 +1622,7 @@ void LLPreviewLSL::uploadAssetLegacy(const std::string& filename, LLFile::remove(err_filename); LLFile::remove(dst_filename); } - +#endif // static void LLPreviewLSL::onSaveComplete(const LLUUID& asset_uuid, void* user_data, S32 status, LLExtStat ext_status) // StoreAssetData callback (fixed) @@ -2375,10 +2417,20 @@ void LLLiveLSLEditor::saveIfNeeded() uploadAssetViaCaps(url, filename, mObjectID, mItemID, is_running); } + else + { + LLSD row; + row["columns"][0]["value"] = LLTrans::getString("CompileQueueDownloadedCompiling"); + row["columns"][0]["font"] = "SANSSERIF_SMALL"; + mScriptEd->mErrorList->addElement(row); + LLFile::remove(filename); + } +#if 0 //Client side compiling disabled. else if (gAssetStorage) { uploadAssetLegacy(filename, object, tid, is_running); } +#endif } void LLLiveLSLEditor::uploadAssetViaCaps(const std::string& url, @@ -2397,6 +2449,7 @@ void LLLiveLSLEditor::uploadAssetViaCaps(const std::string& url, new LLUpdateTaskInventoryResponder(body, filename, LLAssetType::AT_LSL_TEXT)); } +#if 0 //Client side compiling disabled. void LLLiveLSLEditor::uploadAssetLegacy(const std::string& filename, LLViewerObject* object, const LLTransactionID& tid, @@ -2495,6 +2548,7 @@ void LLLiveLSLEditor::uploadAssetLegacy(const std::string& filename, runningCheckbox->setLabel(getString("script_running")); runningCheckbox->setEnabled(TRUE); } +#endif void LLLiveLSLEditor::onSaveTextComplete(const LLUUID& asset_uuid, void* user_data, S32 status, LLExtStat ext_status) // StoreAssetData callback (fixed) { diff --git a/indra/newview/llpreviewscript.h b/indra/newview/llpreviewscript.h index 4a42332db..f62a8fb5b 100644 --- a/indra/newview/llpreviewscript.h +++ b/indra/newview/llpreviewscript.h @@ -62,6 +62,7 @@ class LLScriptEdCore : public LLPanel, public LLEventTimer friend class LLLiveLSLEditor; public: + static void parseFunctions(const std::string& filename); LLScriptEdCore( const std::string& name, const LLRect& rect, @@ -169,6 +170,14 @@ private: LLLiveLSLFile* mLiveFile; LLUUID mObjectUUID; LLUUID mItemUUID; + + struct LSLFunctionProps + { + std::string mName; + F32 mSleepTime; + bool mGodOnly; + }; + static std::vector mParsedFunctions; }; diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index d0a5a6364..4580082bc 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -998,6 +998,8 @@ bool idle_startup() LL_INFOS("AppInit") << "Attempting login as: " << firstname << " " << lastname << LL_ENDL; gDebugInfo["LoginName"] = firstname + " " + lastname; } + + LLScriptEdCore::parseFunctions("lsl_functions_sl.xml"); //Singu Note: This parsing function essentially replaces the entirety of the lscript_list library gHippoGridManager->setCurrentGridAsConnected(); gHippoLimits->setLimits(); @@ -1007,6 +1009,7 @@ bool idle_startup() LLTrans::setDefaultArg("[SECOND_LIFE]", gHippoGridManager->getConnectedGrid()->getGridName()); LLTrans::setDefaultArg("[SECOND_LIFE_GRID]", gHippoGridManager->getConnectedGrid()->getGridName() + " Grid"); LLTrans::setDefaultArg("[GRID_OWNER]", gHippoGridManager->getConnectedGrid()->getGridOwner()); + LLScriptEdCore::parseFunctions("lsl_functions_os.xml"); //Singu Note: This appends to the base functions parsed from lsl_functions_sl.xml } // create necessary directories diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 1f540a01c..860cc0427 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -42,7 +42,7 @@ #include "llaudioengine.h" #include "llavatarnamecache.h" #include "indra_constants.h" -#include "lscript_byteformat.h" +#include "../lscript/lscript_byteformat.h" //Need LSCRIPTRunTimePermissionBits and SCRIPT_PERMISSION_* #include "llfloaterbump.h" #include "llassetstorage.h" diff --git a/indra/newview/skins/default/xui/en-us/strings.xml b/indra/newview/skins/default/xui/en-us/strings.xml index ba50b11f9..6680ab9c1 100644 --- a/indra/newview/skins/default/xui/en-us/strings.xml +++ b/indra/newview/skins/default/xui/en-us/strings.xml @@ -2921,6 +2921,7 @@ Where tag = tag string to match. Removes bot's matching the tag. Downloaded, now compiling Script not found on server. Problem downloading + Sim lacking UpdateScriptTask capabilities. Unable to request recompile Insufficient permissions to download a script. Insufficient permissions for Unknown failure to download