lslint へ関数を追加

れむ

2009年03月24日 02:08


lslint へ関数を追加

スクリプトのチェックに lslint は使っているのでしょうか?

ビューア内のエディタも LSLEditor も使わない人は便利なツールです。

ただ、もうずっと更新されていないので
新しい関数を使うと全部エラーになってしまいます。

どうにかならないかと思っていたのですが、
サイトに思いっきり対応方法が書かれていました。
早く気付けばよかったです。
今までエラーは無視していました。

次の方法でできるみたいです。

lslint -b builtins.txt xxxx.lsl

builtins.txt は関数のリストです。
これを最新のものにすれば新しい関数でもエラーが出なくなります。
そのためには以下のものが必要です。

・perl の実行環境
・変換用 perl スクリプト
・ビューアのソース


実行環境は、まぁ、そろえて下さい。
perl でググれば色々出てくると思います。

変換用 perl スクリプトは、lslint のサイトにあります。
下記テキストファイルを builtins.pl の名前で適当な場所へ保存します。
http://w-hat.com/lslint/release/builtins.pl.txt

最新ビューアのソースは、下記URLからダウンロードします。
http://wiki.secondlife.com/wiki/Source_downloads

必要なものは lscript_library.cpp だけですので
検索して builtins.pl と同じ場所へコピーします。

あとは次のように実行すれば builtins.txt のできあがりです。

perl builtins.pl < lscript_library.cpp > builtins.txt

という感じに生成したものが、次のものです。
つまりこれをコピペして保存すれば終わりです。

これですっきりします。

builtins.txt
float llSin(float theta) float llCos(float theta) float llTan(float theta) float llAtan2(float y, float x) float llSqrt(float val) float llPow(float base, float exponent) integer llAbs(integer val) float llFabs(float val) float llFrand(float mag) integer llFloor(float val) integer llCeil(float val) integer llRound(float val) float llVecMag(vector v) vector llVecNorm(vector v) float llVecDist(vector v1, vector v2) vector llRot2Euler(rotation q) rotation llEuler2Rot(vector v) rotation llAxes2Rot(vector fwd, vector left, vector up) vector llRot2Fwd(rotation q) vector llRot2Left(rotation q) vector llRot2Up(rotation q) rotation llRotBetween(vector v1, vector v2) void llWhisper(integer channel, string msg) void llSay(integer channel, string msg) void llShout(integer channel, string msg) integer llListen(integer channel, string name, key id, string msg) void llListenControl(integer number, integer active) void llListenRemove(integer number) void llSensor(string name, key id, integer type, float range, float arc) void llSensorRepeat(string name, key id, integer type, float range, float arc, float rate) void llSensorRemove() string llDetectedName(integer number) key llDetectedKey(integer number) key llDetectedOwner(integer number) integer llDetectedType(integer number) vector llDetectedPos(integer number) vector llDetectedVel(integer number) vector llDetectedGrab(integer number) rotation llDetectedRot(integer number) integer llDetectedGroup(integer number) integer llDetectedLinkNumber(integer number) void llDie() float llGround(vector v) float llCloud(vector v) vector llWind(vector v) void llSetStatus(integer status, integer value) integer llGetStatus(integer status) void llSetScale(vector scale) vector llGetScale() void llSetColor(vector color, integer face) float llGetAlpha(integer face) void llSetAlpha(float alpha, integer face) vector llGetColor(integer face) void llSetTexture(string texture, integer face) void llScaleTexture(float scales, float scalet, integer face) void llOffsetTexture(float offsets, float offsett, integer face) void llRotateTexture(float rotation, integer face) string llGetTexture(integer face) void llSetPos(vector pos) vector llGetPos() vector llGetLocalPos() void llSetRot(rotation rot) rotation llGetRot() rotation llGetLocalRot() void llSetForce(vector force, integer local) vector llGetForce() integer llTarget(vector position, float range) void llTargetRemove(integer number) integer llRotTarget(rotation rot, float error) void llRotTargetRemove(integer number) void llMoveToTarget(vector target, float tau) void llStopMoveToTarget() void llApplyImpulse(vector force, integer local) void llApplyRotationalImpulse(vector force, integer local) void llSetTorque(vector torque, integer local) vector llGetTorque() void llSetForceAndTorque(vector force, vector torque, integer local) vector llGetVel() vector llGetAccel() vector llGetOmega() float llGetTimeOfDay() float llGetWallclock() float llGetTime() void llResetTime() float llGetAndResetTime() void llSound(string sound, float volume, integer queue, integer loop) void llPlaySound(string sound, float volume) void llLoopSound(string sound, float volume) void llLoopSoundMaster(string sound, float volume) void llLoopSoundSlave(string sound, float volume) void llPlaySoundSlave(string sound, float volume) void llTriggerSound(string sound, float volume) void llStopSound() void llPreloadSound(string sound) string llGetSubString(string src, integer start, integer end) string llDeleteSubString(string src, integer start, integer end) string llInsertString(string dst, integer position, string src) string llToUpper(string src) string llToLower(string src) integer llGiveMoney(key destination, integer amount) void llMakeExplosion(integer particles, float scale, float vel, float lifetime, float arc, string texture, vector offset) void llMakeFountain(integer particles, float scale, float vel, float lifetime, float arc, integer bounce, string texture, vector offset, float bounce_offset) void llMakeSmoke(integer particles, float scale, float vel, float lifetime, float arc, string texture, vector offset) void llMakeFire(integer particles, float scale, float vel, float lifetime, float arc, string texture, vector offset) void llRezObject(string inventory, vector pos, vector vel, rotation rot, integer param) void llLookAt(vector target, float strength, float damping) void llStopLookAt() void llSetTimerEvent(float sec) void llSleep(float sec) float llGetMass() void llCollisionFilter(string name, key id, integer accept) void llTakeControls(integer controls, integer accept, integer pass_on) void llReleaseControls() void llAttachToAvatar(integer attachment) void llDetachFromAvatar() void llTakeCamera(key avatar) void llReleaseCamera(key avatar) key llGetOwner() void llInstantMessage(key user, string message) void llEmail(string address, string subject, string message) void llGetNextEmail(string address, string subject) key llGetKey() void llSetBuoyancy(float buoyancy) void llSetHoverHeight(float height, integer water, float tau) void llStopHover() void llMinEventDelay(float delay) void llSoundPreload(string sound) void llRotLookAt(rotation target, float strength, float damping) integer llStringLength(string str) void llStartAnimation(string anim) void llStopAnimation(string anim) void llPointAt(vector pos) void llStopPointAt() void llTargetOmega(vector axis, float spinrate, float gain) integer llGetStartParameter() void llGodLikeRezObject(key inventory, vector pos) void llRequestPermissions(key agent, integer perm) key llGetPermissionsKey() integer llGetPermissions() integer llGetLinkNumber() void llSetLinkColor(integer linknumber, vector color, integer face) void llCreateLink(key target, integer parent) void llBreakLink(integer linknum) void llBreakAllLinks() key llGetLinkKey(integer linknum) string llGetLinkName(integer linknum) integer llGetInventoryNumber(integer type) string llGetInventoryName(integer type, integer number) void llSetScriptState(string name, integer run) float llGetEnergy() void llGiveInventory(key destination, string inventory) void llRemoveInventory(string inventory) void llSetText(string text, vector color, float alpha) float llWater(vector v) void llPassTouches(integer pass) key llRequestAgentData(key id, integer data) key llRequestInventoryData(string name) void llSetDamage(float damage) void llTeleportAgentHome(key id) void llModifyLand(integer action, integer size) void llCollisionSound(string impact_sound, float impact_volume) void llCollisionSprite(string impact_sprite) string llGetAnimation(key id) void llResetScript() void llMessageLinked(integer linknum, integer num, string str, key id) void llPushObject(key id, vector impulse, vector ang_impulse, integer local) void llPassCollisions(integer pass) string llGetScriptName() integer llGetNumberOfSides() rotation llAxisAngle2Rot(vector axis, float angle) vector llRot2Axis(rotation rot) float llRot2Angle(rotation rot) float llAcos(float val) float llAsin(float val) float llAngleBetween(rotation a, rotation b) key llGetInventoryKey(string name) void llAllowInventoryDrop(integer add) vector llGetSunDirection() vector llGetTextureOffset(integer side) vector llGetTextureScale(integer side) float llGetTextureRot(integer side) integer llSubStringIndex(string source, string pattern) key llGetOwnerKey(key id) vector llGetCenterOfMass() list llListSort(list src, integer stride, integer ascending) integer llGetListLength(list src) integer llList2Integer(list src, integer index) float llList2Float(list src, integer index) string llList2String(list src, integer index) key llList2Key(list src, integer index) vector llList2Vector(list src, integer index) rotation llList2Rot(list src, integer index) list llList2List(list src, integer start, integer end) list llDeleteSubList(list src, integer start, integer end) integer llGetListEntryType(list src, integer index) string llList2CSV(list src) list llCSV2List(string src) list llListRandomize(list src, integer stride) list llList2ListStrided(list src, integer start, integer end, integer stride) vector llGetRegionCorner() list llListInsertList(list dest, list src, integer start) integer llListFindList(list src, list test) string llGetObjectName() void llSetObjectName(string name) string llGetDate() integer llEdgeOfWorld(vector pos, vector dir) integer llGetAgentInfo(key id) void llAdjustSoundVolume(float volume) void llSetSoundQueueing(integer queue) void llSetSoundRadius(float radius) string llKey2Name(key id) void llSetTextureAnim(integer mode, integer face, integer sizex, integer sizey, float start, float length, float rate) void llTriggerSoundLimited(string sound, float volume, vector tne, vector bsw) void llEjectFromLand(key pest) list llParseString2List(string src, list separators, list spacers) integer llOverMyLand(key id) key llGetLandOwnerAt(vector pos) key llGetNotecardLine(string name, integer line) vector llGetAgentSize(key id) integer llSameGroup(key id) void llUnSit(key id) vector llGroundSlope(vector v) vector llGroundNormal(vector v) vector llGroundContour(vector v) integer llGetAttached() integer llGetFreeMemory() string llGetRegionName() float llGetRegionTimeDilation() float llGetRegionFPS() void llParticleSystem(list rules) void llGroundRepel(float height, integer water, float tau) void llGiveInventoryList(key destination, string category, list inventory) void llSetVehicleType(integer type) void llSetVehicleFloatParam(integer param, float value) void llSetVehicleVectorParam(integer param, vector vec) void llSetVehicleRotationParam(integer param, rotation rot) void llSetVehicleFlags(integer flags) void llRemoveVehicleFlags(integer flags) void llSitTarget(vector offset, rotation rot) key llAvatarOnSitTarget() void llAddToLandPassList(key avatar, float hours) void llSetTouchText(string text) void llSetSitText(string text) void llSetCameraEyeOffset(vector offset) void llSetCameraAtOffset(vector offset) string llDumpList2String(list src, string separator) integer llScriptDanger(vector pos) void llDialog(key avatar, string message, list buttons, integer chat_channel) void llVolumeDetect(integer detect) void llResetOtherScript(string name) integer llGetScriptState(string name) void llRemoteLoadScript() void llSetRemoteScriptAccessPin(integer pin) void llRemoteLoadScriptPin(key target, string name, integer pin, integer running, integer start_param) void llOpenRemoteDataChannel() key llSendRemoteData(key channel, string dest, integer idata, string sdata) void llRemoteDataReply(key channel, key message_id, string sdata, integer idata) void llCloseRemoteDataChannel(key channel) string llMD5String(string src, integer nonce) void llSetPrimitiveParams(list rules) string llStringToBase64(string str) string llBase64ToString(string str) string llXorBase64Strings(string s1, string s2) void llRemoteDataSetRegion() float llLog10(float val) float llLog(float val) list llGetAnimationList(key id) void llSetParcelMusicURL(string url) vector llGetRootPosition() rotation llGetRootRotation() string llGetObjectDesc() void llSetObjectDesc(string name) key llGetCreator() string llGetTimestamp() void llSetLinkAlpha(integer linknumber, float alpha, integer face) integer llGetNumberOfPrims() key llGetNumberOfNotecardLines(string name) list llGetBoundingBox(key object) vector llGetGeometricCenter() list llGetPrimitiveParams(list params) string llIntegerToBase64(integer number) integer llBase64ToInteger(string str) float llGetGMTclock() string llGetSimulatorHostname() void llSetLocalRot(rotation rot) list llParseStringKeepNulls(string src, list separators, list spacers) void llRezAtRoot(string inventory, vector pos, vector vel, rotation rot, integer param) integer llGetObjectPermMask(integer mask) void llSetObjectPermMask(integer mask, integer value) integer llGetInventoryPermMask(string item, integer mask) void llSetInventoryPermMask(string item, integer mask, integer value) key llGetInventoryCreator(string item) void llOwnerSay(string msg) key llRequestSimulatorData(string simulator, integer data) void llForceMouselook(integer mouselook) float llGetObjectMass(key id) list llListReplaceList(list dest, list src, integer start, integer end) void llLoadURL(key avatar_id, string message, string url) void llParcelMediaCommandList(list command) list llParcelMediaQuery(list query) integer llModPow(integer a, integer b, integer c) integer llGetInventoryType(string name) void llSetPayPrice(integer price, list quick_pay_buttons) vector llGetCameraPos() rotation llGetCameraRot() void llSetPrimURL(string url) void llRefreshPrimURL() string llEscapeURL(string url) string llUnescapeURL(string url) void llMapDestination(string simname, vector pos, vector look_at) void llAddToLandBanList(key avatar, float hours) void llRemoveFromLandPassList(key avatar) void llRemoveFromLandBanList(key avatar) void llSetCameraParams(list rules) void llClearCameraParams() float llListStatistics(integer operation, list l) integer llGetUnixTime() integer llGetParcelFlags(vector pos) integer llGetRegionFlags() string llXorBase64StringsCorrect(string s1, string s2) key llHTTPRequest(string url, list parameters, string body) void llResetLandBanList() void llResetLandPassList() integer llGetObjectPrimCount(key object_id) list llGetParcelPrimOwners(vector pos) integer llGetParcelPrimCount(vector pos, integer category, integer sim_wide) integer llGetParcelMaxPrims(vector pos, integer sim_wide) list llGetParcelDetails(vector pos, list params) void llSetLinkPrimitiveParams(integer linknumber, list rules) void llSetLinkTexture(integer link_pos, string texture, integer face) string llStringTrim(string src, integer trim_type) void llRegionSay(integer channel, string msg) list llGetObjectDetails(key id, list params) void llSetClickAction(integer action) integer llGetRegionAgentCount() void llTextBox(key avatar, string message, integer chat_channel) string llGetAgentLanguage(key id) vector llDetectedTouchUV(integer number) integer llDetectedTouchFace(integer number) vector llDetectedTouchPos(integer number) vector llDetectedTouchNormal(integer number) vector llDetectedTouchBinormal(integer number) vector llDetectedTouchST(integer number) string llSHA1String(string sr)
Tips