mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-04-26 21:24:53 +02:00
2.added step.js and cg_lean.js to the developer folder 3.added menu item for toggling the hips following between head and hips 4.added new function to return true if the root of MyAvatar is translating to be under the head. Used to smooth the path of the hips 5.added computeCounterBalance to MyAvatar.h and cpp 6.added the menu item under developer/avatar to enable debug draw of the base of support in menu.h menu.cpp MyAvatar.h MyAvatar.cpp 7.added head yaw into the calculation of the hip rotation for the center of gravity. This is already was happening in the deriveBodyFromHMD code that is default 8.Changed Constants in Avatar constants for the base of support 9.fixed the over rotation of the shoulders 10.fixed scaling problem in cg computation 11.added room for going up on the toes without stretching
119 lines
3.1 KiB
JavaScript
119 lines
3.1 KiB
JavaScript
"use strict";
|
|
/* jslint vars: true, plusplus: true */
|
|
|
|
//
|
|
// defaultScripts.js
|
|
// examples
|
|
//
|
|
// Copyright 2014 High Fidelity, Inc.
|
|
//
|
|
// Distributed under the Apache License, Version 2.0.
|
|
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
|
//
|
|
|
|
var DEFAULT_SCRIPTS_COMBINED = [
|
|
"system/progress.js",
|
|
"system/away.js",
|
|
"system/audio.js",
|
|
"system/hmd.js",
|
|
"system/menu.js",
|
|
"system/bubble.js",
|
|
"system/snapshot.js",
|
|
"system/help.js",
|
|
"system/pal.js", // "system/mod.js", // older UX, if you prefer
|
|
"system/makeUserConnection.js",
|
|
"system/tablet-goto.js",
|
|
"system/marketplaces/marketplaces.js",
|
|
"system/commerce/wallet.js",
|
|
"system/edit.js",
|
|
"system/notifications.js",
|
|
"system/dialTone.js",
|
|
"system/firstPersonHMD.js",
|
|
"system/tablet-ui/tabletUI.js",
|
|
"system/emote.js"
|
|
];
|
|
var DEFAULT_SCRIPTS_SEPARATE = [
|
|
"system/controllers/controllerScripts.js",
|
|
//"developer/step.js",
|
|
//"developer/cg_lean.js"
|
|
//"system/chat.js"
|
|
];
|
|
|
|
// add a menu item for debugging
|
|
var MENU_CATEGORY = "Developer";
|
|
var MENU_ITEM = "Debug defaultScripts.js";
|
|
|
|
var SETTINGS_KEY = '_debugDefaultScriptsIsChecked';
|
|
var previousSetting = Settings.getValue(SETTINGS_KEY);
|
|
|
|
if (previousSetting === '' || previousSetting === false || previousSetting === 'false') {
|
|
previousSetting = false;
|
|
}
|
|
|
|
if (previousSetting === true || previousSetting === 'true') {
|
|
previousSetting = true;
|
|
}
|
|
|
|
if (Menu.menuExists(MENU_CATEGORY) && !Menu.menuItemExists(MENU_CATEGORY, MENU_ITEM)) {
|
|
Menu.addMenuItem({
|
|
menuName: MENU_CATEGORY,
|
|
menuItemName: MENU_ITEM,
|
|
isCheckable: true,
|
|
isChecked: previousSetting,
|
|
grouping: "Advanced"
|
|
});
|
|
}
|
|
|
|
function loadSeparateDefaults() {
|
|
for (var i in DEFAULT_SCRIPTS_SEPARATE) {
|
|
Script.load(DEFAULT_SCRIPTS_SEPARATE[i]);
|
|
}
|
|
}
|
|
|
|
function runDefaultsTogether() {
|
|
for (var i in DEFAULT_SCRIPTS_COMBINED) {
|
|
Script.include(DEFAULT_SCRIPTS_COMBINED[i]);
|
|
}
|
|
loadSeparateDefaults();
|
|
}
|
|
|
|
function runDefaultsSeparately() {
|
|
for (var i in DEFAULT_SCRIPTS_COMBINED) {
|
|
Script.load(DEFAULT_SCRIPTS_COMBINED[i]);
|
|
}
|
|
loadSeparateDefaults();
|
|
}
|
|
|
|
// start all scripts
|
|
if (Menu.isOptionChecked(MENU_ITEM)) {
|
|
// we're debugging individual default scripts
|
|
// so we load each into its own ScriptEngine instance
|
|
runDefaultsSeparately();
|
|
} else {
|
|
// include all default scripts into this ScriptEngine
|
|
runDefaultsTogether();
|
|
}
|
|
|
|
function menuItemEvent(menuItem) {
|
|
if (menuItem === MENU_ITEM) {
|
|
var isChecked = Menu.isOptionChecked(MENU_ITEM);
|
|
if (isChecked === true) {
|
|
Settings.setValue(SETTINGS_KEY, true);
|
|
} else if (isChecked === false) {
|
|
Settings.setValue(SETTINGS_KEY, false);
|
|
}
|
|
Menu.triggerOption("Reload All Scripts");
|
|
}
|
|
}
|
|
|
|
function removeMenuItem() {
|
|
if (!Menu.isOptionChecked(MENU_ITEM)) {
|
|
Menu.removeMenuItem(MENU_CATEGORY, MENU_ITEM);
|
|
}
|
|
}
|
|
|
|
Script.scriptEnding.connect(function() {
|
|
removeMenuItem();
|
|
});
|
|
|
|
Menu.menuItemEvent.connect(menuItemEvent);
|