Removed lscript_compile, lscript_execute, and lscript_library dependencies from newview.

This commit is contained in:
Shyotl
2012-09-24 04:08:57 -05:00
parent 9019a1eb23
commit 16216b2ed0
13 changed files with 1483 additions and 14 deletions

View File

@@ -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)

View File

@@ -60,7 +60,7 @@ set(cmake_SOURCE_FILES
LLVFS.cmake
LLWindow.cmake
LLXML.cmake
LScript.cmake
# LScript.cmake
Linking.cmake
NDOF.cmake
OPENAL.cmake

View File

@@ -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}

View File

@@ -0,0 +1,373 @@
<?xml version="1.0"?>
<llsd>
<map>
<!-- REGARDING NON SL-LSL FUNCTIONS (OSSL, aaFunctions, botFunctions) -->
<!-- These additions should be posted underneath the llFunctions -->
<!-- These functions pertain to OpenSimulator and are in no part applicable to SecondLife by Linden Labs -->
<!-- The Current State of these functions are in flux and development is ongoing. Not all the functions are presently -->
<!-- fully documented and therefore the description may be incomplete and require further attention. -->
<!-- OpenSim & Aurora-Sim are written in C# and not CPP therefore some values for example "double = float" etc. are different. -->
<!-- OSSL corrections and syntax additions added + set initially in same order as found in IOSSL_Api.cs of Aurora-Sim & OpenSim Source -->
<!-- updates added @ end of each subsection for update timeline maint. -->
<!-- Updates by WhiteStar Magic -->
<!-- OSSL Functions COMMON to OpenSim & Aurora-Sim -->
<key>osSetDynamicTextureURL</key>
<map/>
<key>osSetDynamicTextureURLBlend</key>
<map/>
<key>osSetDynamicTextureURLBlendFace</key>
<map/>
<key>osSetDynamicTextureData</key>
<map/>
<key>osSetDynamicTextureDataBlend</key>
<map/>
<key>osSetDynamicTextureDataBlendFace</key>
<map/>
<key>osGetTerrainHeight</key>
<map/>
<key>osSetTerrainHeight</key>
<map/>
<key>osTerrainFlush</key>
<map/>
<key>osRegionRestart</key>
<map/>
<key>osRegionNotice</key>
<map/>
<key>osConsoleCommand</key>
<map/>
<key>osSetParcelMediaURL</key>
<map/>
<key>osSetPrimFloatOnWater</key>
<map/>
<key>osSetParcelSIPAddress</key>
<map/>
<key>osGetAgentIP</key>
<map/>
<key>osGetAgents</key>
<map/>
<key>osTeleportAgent</key>
<map/>
<key>osTeleportOwner</key>
<map/>
<key>osAvatarPlayAnimation</key>
<map/>
<key>osAvatarStopAnimation</key>
<map/>
<key>osForceAttachToAvatar</key>
<map/>
<key>osForceDetachFromAvatar</key>
<map/>
<key>osMovePen</key>
<map/>
<key>osDrawLine</key>
<map/>
<key>osDrawText</key>
<map/>
<key>osDrawEllipse</key>
<map/>
<key>osDrawRectangle</key>
<map/>
<key>osDrawFilledRectangle</key>
<map/>
<key>osDrawPolygon</key>
<map/>
<key>osDrawFilledPolygon</key>
<map/>
<key>osSetFontSize</key>
<map/>
<key>osSetFontName</key>
<map/>
<key>osSetPenSize</key>
<map/>
<key>osSetPenColor</key>
<map/>
<key>osSetPenCap</key>
<map/>
<key>osDrawImage</key>
<map/>
<key>osGetDrawStringSize</key>
<map/>
<key>osList2Double</key>
<map/>
<key>osSetRegionWaterHeight</key>
<map/>
<key>osSetRegionSunSettings</key>
<map/>
<key>osSetEstateSunSettings</key>
<map/>
<key>osGetCurrentSunHour</key>
<map/>
<key>osGetSunParam</key>
<map/>
<key>osSetSunParam</key>
<map/>
<key>osWindActiveModelPluginName</key>
<map/>
<key>osSetWindParam</key>
<map/>
<key>osGetWindParam</key>
<map/>
<key>osParcelJoin</key>
<map/>
<key>osParcelSubdivide</key>
<map/>
<key>osSetParcelDetails</key>
<map/>
<key>osGetScriptEngineName</key>
<map/>
<key>osGetSimulatorVersion</key>
<map/>
<key>osParseJSON</key>
<map/>
<key>osParseJSONNew</key>
<map/>
<key>osMessageObject</key>
<map/>
<key>osMakeNotecard</key>
<map/>
<key>osGetNotecardLine</key>
<map/>
<key>osGetNotecard</key>
<map/>
<key>osGetNumberOfNotecardLines</key>
<map/>
<key>osAvatarName2Key</key>
<map/>
<key>osKey2Name</key>
<map/>
<key>osGetGridNick</key>
<map/>
<key>osGetGridName</key>
<map/>
<key>osGetGridLoginURI</key>
<map/>
<key>osGetGridHomeURI</key>
<map/>
<key>osGetGridGatekeeperURI</key>
<map/>
<key>osGetGridCustom</key>
<map/>
<key>osFormatString</key>
<map/>
<key>osMatchString</key>
<map/>
<key>osReplaceString</key>
<map/>
<key>osLoadedCreationDate</key>
<map/>
<key>osLoadedCreationTime</key>
<map/>
<key>osLoadedCreationID</key>
<map/>
<key>osGetLinkPrimitiveParams</key>
<map/>
<key>osGetMapTexture</key>
<map/>
<key>osGetRegionMapTexture</key>
<map/>
<key>osGetRegionStats</key>
<map/>
<key>osGetSimulatorMemory</key>
<map/>
<key>osKickAvatar</key>
<map/>
<key>osSetSpeed</key>
<map/>
<key>osCauseDamage</key>
<map/>
<key>osCauseHealing</key>
<map/>
<key>osGetPrimitiveParams</key>
<map/>
<key>osSetPrimitiveParams</key>
<map/>
<key>osSetProjectionParams</key>
<map/>
<key>osGetAvatarList</key>
<map/>
<key>osUnixTimeToTimestamp</key>
<map/>
<key>osGetInventoryDesc</key>
<map/>
<key>osInviteToGroup</key>
<map/>
<key>osEjectFromGroup</key>
<map/>
<key>osSetTerrainTexture</key>
<map/>
<key>osSetTerrainTextureHeight</key>
<map/>
<!-- OSSL Functions OpenSim Unique -->
<key>osSetStateEvents</key>
<map/>
<key>osIsNpc</key>
<map/>
<key>osNpcCreate</key>
<map/>
<key>osNpcSaveAppearance</key>
<map/>
<key>osNpcLoadAppearance</key>
<map/>
<key>osNpcGetPos</key>
<map/>
<key>osNpcMoveTo</key>
<map/>
<key>osNpcMoveToTarget</key>
<map/>
<key>osNpcGetOwner</key>
<map/>
<key>osNpcGetRot</key>
<map/>
<key>osNpcSetRot</key>
<map/>
<key>osNpcStopMoveToTarget</key>
<map/>
<key>osNpcSay</key>
<map/>
<key>osNpcSay</key>
<map/>
<key>osNpcSit</key>
<map/>
<key>osNpcStand</key>
<map/>
<key>osNpcRemove</key>
<map/>
<key>osNpcPlayAnimation</key>
<map/>
<key>osNpcStopAnimation</key>
<map/>
<key>osOwnerSaveAppearance</key>
<map/>
<key>osAgentSaveAppearance</key>
<map/>
<key>osNpcShout</key>
<map/>
<key>osNpcWhisper</key>
<map/>
<!-- OSSL Functions Aurora-Sim Unique -->
<key>osReturnObject</key>
<map/>
<key>osReturnObjects</key>
<map/>
<key>osShutDown</key>
<map/>
<key>osAddAgentToGroup</key>
<map/>
<key>osRezObject</key>
<map/>
<!-- LightShare functions (Careminster Variant) -->
<key>cmSetWindlightScene</key>
<map/>
<key>cmSetWindlightSceneTargeted</key>
<map/>
<key>cmGetWindlightScene</key>
<map/>
<!-- LightShare functions - alternate versions (os & aa variant) -->
<key>lsSetWindlightScene</key>
<map/>
<key>lsSetWindlightSceneTargeted</key>
<map/>
<key>lsGetWindlightScene</key>
<map/>
<!-- aaFunctions Aurora-Sim ONLY -->
<key>aaSetCloudDensity</key>
<map/>
<key>aaUpdateDatabase</key>
<map/>
<key>aaQueryDatabase</key>
<map/>
<key>aaDeserializeXMLValues</key>
<map/>
<key>aaDeserializeXMLKeys</key>
<map/>
<key>aaSetConeOfSilence</key>
<map/>
<key>aaSerializeXML</key>
<map/>
<key>aaGetTeam</key>
<map/>
<key>aaGetHealth</key>
<map/>
<key>aaJoinCombat</key>
<map/>
<key>aaLeaveCombat</key>
<map/>
<key>aaJoinCombatTeam</key>
<map/>
<key>aaRequestCombatPermission</key>
<map/>
<key>aaThawAvatar</key>
<map/>
<key>aaFreezeAvatar</key>
<map/>
<key>aaGetTeamMembers</key>
<map/>
<key>aaGetLastOwner</key>
<map/>
<key>aaSayDistance</key>
<map/>
<key>aaSayTo</key>
<map/>
<key>aaGetWalkDisabled</key>
<map/>
<key>aaSetWalkDisabled</key>
<map/>
<key>aaGetFlyDisabled</key>
<map/>
<key>aaSetFlyDisabled</key>
<map/>
<key>aaAvatarFullName2Key</key>
<map/>
<key>aaRaiseError</key>
<map/>
<key>aaGetText</key>
<map/>
<key>aaGetTextColor</key>
<map/>
<key>aaSetEnv</key>
<map/>
<key>aaGetIsInfiniteRegion</key>
<map/>
<!-- botFunctions Aurora-Sim ONLY -->
<key>botGetWaitingTime</key>
<map/>
<key>botSetMap</key>
<map/>
<key>botCreateBot</key>
<map/>
<key>botRemoveBot</key>
<map/>
<key>botPauseMovement</key>
<map/>
<key>botResumeMovement</key>
<map/>
<key>botFollowAvatar</key>
<map/>
<key>botStopFollowAvatar</key>
<map/>
<key>botSendChatMessage</key>
<map/>
<key>botSendIM</key>
<map/>
<key>botSetShouldFly</key>
<map/>
<key>botSitObject</key>
<map/>
<key>botStandUp</key>
<map/>
<key>botTouchObject</key>
<map/>
<key>botAddTag</key>
<map/>
<key>botGetBotsWithTag</key>
<map/>
<key>botRemoveBotsWithTag</key>
<map/>
</map>
</llsd>

File diff suppressed because it is too large Load Diff

View File

@@ -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)
{

View File

@@ -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);

View File

@@ -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"

View File

@@ -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::LSLFunctionProps> 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<std::string> funcs;
std::vector<std::string> tooltips;
for (std::vector<LLScriptLibraryFunction>::const_iterator i = gScriptLibrary.mFunctions.begin();
i != gScriptLibrary.mFunctions.end(); ++i)
for (std::vector<LSLFunctionProps>::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)
{

View File

@@ -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<LSLFunctionProps> mParsedFunctions;
};

View File

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

View File

@@ -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"

View File

@@ -2921,6 +2921,7 @@ Where tag = tag string to match. Removes bot's matching the tag.
<string name="CompileQueueDownloadedCompiling">Downloaded, now compiling</string>
<string name="CompileQueueScriptNotFound">Script not found on server.</string>
<string name="CompileQueueProblemDownloading">Problem downloading</string>
<string name="CompileQueueProblemUploading">Sim lacking UpdateScriptTask capabilities. Unable to request recompile</string>
<string name="CompileQueueInsufficientPermDownload">Insufficient permissions to download a script.</string>
<string name="CompileQueueInsufficientPermFor">Insufficient permissions for</string>
<string name="CompileQueueUnknownFailure">Unknown failure to download</string>