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 @@
+
+
+
+
\ 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