diff --git a/HS_CamController.lsl b/HS_CamController.lsl index 4b27a8a..b1cc62e 100644 --- a/HS_CamController.lsl +++ b/HS_CamController.lsl @@ -375,7 +375,7 @@ printHelp() + "/88 play [gap_ms]\n" + "/88 stop\n" + "/88 tour [mode] ...\n" - + "/88 cfg reload|dump\n" + + "/88 cfg reload|load|dump\n" + "/88 show cams [N]\n" + "/88 hide cams\n" + "/88 lock on [|uuid]\n" @@ -711,9 +711,9 @@ default return; } - if (cmd == "cfg" && n >= 2) { + if ((cmd == "cfg" || cmd == "config") && n >= 2) { string sub = llToLower(llList2String(t,1)); - if (sub == "reload") engineCfgReload(); + if (sub == "reload" || sub == "load") engineCfgReload(); else engineCfgDump(); return; } diff --git a/HS_CamEngineCore.lsl b/HS_CamEngineCore.lsl index 4ae581d..a34f906 100644 --- a/HS_CamEngineCore.lsl +++ b/HS_CamEngineCore.lsl @@ -44,8 +44,8 @@ integer gDEFAULT_MOVE_MS = 3000; integer gTOUR_MAX_POINTS = 20; float gDEFAULT_FOCUS_DIST = 10.0; float gTOUR_CAM_MIN_INTERVAL = 0.033; -float gTOUR_POS_EPS = 0.005; -float gTOUR_FOCUS_EPS = 0.005; +float gTOUR_POS_EPS = 0.002; +float gTOUR_FOCUS_EPS = 0.002; float gMOVE_POS_LAG = 2.0; float gMOVE_FOCUS_LAG = 2.0; @@ -470,10 +470,35 @@ stopMove() } // ---------- config loading ---------- +cfgResetDefaults() +{ + gMOVE_STEP = 0.025; + gFOLLOW_STEP = 0.05; + + gDEFAULT_MOVE_MS = 3000; + gTOUR_MAX_POINTS = 20; + gDEFAULT_FOCUS_DIST = 10.0; + gTOUR_CAM_MIN_INTERVAL = 0.033; + gTOUR_POS_EPS = 0.002; + gTOUR_FOCUS_EPS = 0.002; + + gMOVE_POS_LAG = 2.0; + gMOVE_FOCUS_LAG = 2.0; + gFOLLOW_POS_LAG = 1.6; + gFOLLOW_FOCUS_LAG = 1.6; + + gPOS_THRESHOLD = 0.02; + gFOCUS_THRESHOLD = 0.02; + + gFOLLOW_PREDICT = 0.10; + gBaseParamsDirty = TRUE; +} + cfgStart() { gCfgLine = 0; gCfgQuery = NULL_KEY; + cfgResetDefaults(); if (llGetInventoryType(CFG_CARD) != INVENTORY_NOTECARD) { llMessageLinked(LINK_SET, CE_EVT_CFG_DUMP, cfgDump(), gOwner); diff --git a/HS_CamEngineTour.lsl b/HS_CamEngineTour.lsl index 46f7977..394f9b8 100644 --- a/HS_CamEngineTour.lsl +++ b/HS_CamEngineTour.lsl @@ -35,8 +35,8 @@ float rad2deg(float r) { return r * 180.0 / PI; } float gMOVE_STEP = 0.025; float gDEFAULT_FOCUS_DIST = 10.0; float gTourCamMinInterval = 0.033; // 30 Hz link-message cap for tour camera frames -float gTourPosEps = 0.005; -float gTourFocusEps = 0.005; +float gTourPosEps = 0.002; +float gTourFocusEps = 0.002; key gOwner; integer gCamReady = FALSE;