Сообщение отредактировано Ghost-V: 06 January 2016 — 15:59
Ghost-V
06.01.2016 в 15:59
Речь об integral windup, я правильно понимаю?
Это если глобально. А так — вот про это:
this.intgral += error*dt;
Хочется ему приделать что-то вроде
this.intgral = limit(this.intgral, value);
Сообщение отредактировано Ghost-V: 06 January 2016 — 15:59
inv
06.01.2016 в 16:08
Это если глобально. А так — вот про это:
this.intgral += error*dt;
Хочется ему приделать что-то вроде
this.intgral = limit(this.intgral, value);
Ну да, значит я правильно понял (и таки приделал, между делом).
Сообщение отредактировано inv: 06 January 2016 — 16:25
inv
06.01.2016 в 16:08
Это если глобально. А так — вот про это:
this.intgral += error*dt;
Хочется ему приделать что-то вроде
this.intgral = limit(this.intgral, value);
Ну да, значит я правильно понял (и таки приделал, между делом).
Сообщение отредактировано inv: 06 January 2016 — 16:25
yroman
07.01.2016 в 00:59
javascript это очень круто, дальше развивать планируете?
yroman
07.01.2016 в 00:59
javascript это очень круто, дальше развивать планируете?
inv
07.01.2016 в 01:47
javascript это очень круто, дальше развивать планируете?
С большой вероятностью я что-то еще буду дописывать. Как вариант, есть мысль, выкинуть из sasl’а lua и прикрутить javascript, переписав два десятка врапперов. Одна из проблем JS — подгрузка других скриптов (типа import/include). Конечно можно навелосипедить, но эта «фича» заявлена в новом стандарте и скоро должна появиться в движках. Потому подожду, т.к. велосипедить будет впустую.
ps а еще import можно подсмотреть в gjs
Сообщение отредактировано inv: 07 January 2016 — 02:47
inv
07.01.2016 в 01:47
javascript это очень круто, дальше развивать планируете?
С большой вероятностью я что-то еще буду дописывать. Как вариант, есть мысль, выкинуть из sasl’а lua и прикрутить javascript, переписав два десятка врапперов. Одна из проблем JS — подгрузка других скриптов (типа import/include). Конечно можно навелосипедить, но эта «фича» заявлена в новом стандарте и скоро должна появиться в движках. Потому подожду, т.к. велосипедить будет впустую.
ps а еще import можно подсмотреть в gjs
Сообщение отредактировано inv: 07 January 2016 — 02:47
inv
07.01.2016 в 06:36
Улучшил вывод информации об ошибках в скрипте (а то я недавно сильно мучался чтобы найти поставленную по привычке ‘f’ после числа)
Прикольно. Но будут ли какие то особые фитчи, которых нет в САСЛ изкаропки?
Логика систем имхо пофиг на каком скрипте. Она по сути сводится к взял из датарефа, перемножил на что то и запихнул в другой датареф.
Ну из фич вот что-нибудь аля отрисовка кастомных порнофильмов приборов отдельно от сима (можно и браузер, но свое окно кошерней).
И что бы это было понятно простым быдло-скрипто-кодерам типа меня
Сообщение отредактировано skyteacher: 08 January 2016 — 13:17
skyteacher
08.01.2016 в 13:15
Прикольно. Но будут ли какие то особые фитчи, которых нет в САСЛ изкаропки?
Логика систем имхо пофиг на каком скрипте. Она по сути сводится к взял из датарефа, перемножил на что то и запихнул в другой датареф.
Ну из фич вот что-нибудь аля отрисовка кастомных порнофильмов приборов отдельно от сима (можно и браузер, но свое окно кошерней).
И что бы это было понятно простым быдло-скрипто-кодерам типа меня
Сообщение отредактировано skyteacher: 08 January 2016 — 13:17
inv
08.01.2016 в 14:55
Прикольно. Но будут ли какие то особые фитчи, которых нет в САСЛ изкаропки?
Логика систем имхо пофиг на каком скрипте. Она по сути сводится к взял из датарефа, перемножил на что то и запихнул в другой датареф.
Ну из фич вот что-нибудь аля отрисовка кастомных порнофильмов приборов отдельно от сима (можно и браузер, но свое окно кошерней).
И что бы это было понятно простым быдло-скрипто-кодерам типа меня
Не думаю, что какие-то особые фичи в обозримом будущем предвидятся. Основной моей целью было заменить sasl (и другие lua-движки) из-за связанных с ними проблемами. (в планах было управлять частотой вызова flight loop callback, а то каждый кадр дергать скрипты далеко не всегда надо и удобно).
На данный момент есть две фичи, которых нету(прямо так искаропки) в lua-плагинах:
Сообщение отредактировано inv: 08 January 2016 — 15:06
inv
08.01.2016 в 14:55
Прикольно. Но будут ли какие то особые фитчи, которых нет в САСЛ изкаропки?
Логика систем имхо пофиг на каком скрипте. Она по сути сводится к взял из датарефа, перемножил на что то и запихнул в другой датареф.
Ну из фич вот что-нибудь аля отрисовка кастомных порнофильмов приборов отдельно от сима (можно и браузер, но свое окно кошерней).
И что бы это было понятно простым быдло-скрипто-кодерам типа меня
Не думаю, что какие-то особые фичи в обозримом будущем предвидятся. Основной моей целью было заменить sasl (и другие lua-движки) из-за связанных с ними проблемами. (в планах было управлять частотой вызова flight loop callback, а то каждый кадр дергать скрипты далеко не всегда надо и удобно).
На данный момент есть две фичи, которых нету(прямо так искаропки) в lua-плагинах:
Сообщение отредактировано inv: 08 January 2016 — 15:06
Maxxe
08.01.2016 в 15:07
В первом приближении да. Но это ведь надо для всех поверхностей. С учетом времени отклика. Да еще завести логику по гидравлике, наличию питания. А потом с этим всем попытаться взлететь У меня по ощущениям на отладку скриптов уходит чуть ли не в два раза больше времени чем написание
Maxxe
08.01.2016 в 15:21
По поводу семпла с FBW. Насколько я помню, то если проставить override control surfaces то нужно полностью писать свою логику отклонения поверхностей. И по-моему это относится и к закрылкам/спойлерам в том числе. А в примере я их не вижу. Это просто тестовая версия, или в случае оверрайда закрылки и спойлеры таки управляются плейном?
inv
08.01.2016 в 15:28
По поводу семпла с FBW. Насколько я помню, то если проставить override control surfaces то нужно полностью писать свою логику отклонения поверхностей. И по-моему это относится и к закрылкам/спойлерам в том числе. А в примере я их не вижу. Это просто тестовая версия, или в случае оверрайда закрылки и спойлеры таки управляются плейном?
Естественно это просто пример и баловство. Ни закрылок, ни РН там нету. Там только аватотрим с удержанием положения. Я так потихоньку балуюсь, закрылки дописал, переключение режимов ground/flight/flare сделал. Но то такое, сами режимы надо же тоже написать.
Особенно много вопросов вызывает ‘load factor demand’. Принцип понятен, но не работает как я хочу.
Сообщение отредактировано inv: 08 January 2016 — 15:30
inv
08.01.2016 в 15:30
Ну это уже выходит за рамки использования override. Потому что XPlane с гидравликой тоже не сильно помогает.
Maxxe
08.01.2016 в 17:05
Тогда понятно. А то я как-то написал простой констрэйнт на угол атаки, а потом понял что для того чтобы он работал, надо собственно переписать логику управления ВСЕГО с учетом систем, временем отклика и т.д. Вобщем пока пришлось забить.
inv
08.01.2016 в 18:20
Тогда понятно. А то я как-то написал простой констрэйнт на угол атаки, а потом понял что для того чтобы он работал, надо собственно переписать логику управления ВСЕГО с учетом систем, временем отклика и т.д. Вобщем пока пришлось забить.
Ну там не так и много всего остальнго. Тем более если не нужна какая-то хитрая логика.
Для закрылок грубо говоря такие костыли я изобразил (не претендую на элегантность и правильность)
Сообщение отредактировано inv: 08 January 2016 — 18:22
Maxxe
08.01.2016 в 19:07
В первом приближении да. Но это ведь надо для всех поверхностей. С учетом времени отклика. Да еще завести логику по гидравлике, наличию питания. А потом с этим всем попытаться взлететь У меня по ощущениям на отладку скриптов уходит чуть ли не в два раза больше времени чем написание
inv
08.01.2016 в 19:30
Ну это уже выходит за рамки использования override. Потому что XPlane с гидравликой тоже не сильно помогает.
inv
21.02.2016 в 02:44
Хе-хе, таки небольшой апдейт сего велосипеда, если вдруг кому-то еще интересно
прибил (гвоздями) ‘importer’ от gjs, так что теперь можно кошерненько импортировать другие скрипты конструкцией типа:
const Input = imports.pilotctrls;
const Surfaces = imports.ctlsurfaces;
const FCC = imports.fcc;
var pctl = new Input.PilotCtrls(0, 1, 2);
var sa = new Surfaces.CtrlSurfacesAssignment(2, 1, 8, 9, 0);
var surfaces = new Surfaces.CtrlSurfaces(17.0, 30.0, 30.0, sa);
var fcc = new FCC.FCC(pctl, surfaces);
importer после моих надругательств неплохо бы таки привести еще в порядок.
Наверное, следующее, что я буду прикручивать, будет возможность рисовать (opengl и текстурки).
inv
21.02.2016 в 06:44
Хе-хе, таки небольшой апдейт сего велосипеда, если вдруг кому-то еще интересно
прибил (гвоздями) ‘importer’ от gjs, так что теперь можно кошерненько импортировать другие скрипты конструкцией типа:
const Input = imports.pilotctrls;
const Surfaces = imports.ctlsurfaces;
const FCC = imports.fcc;
var pctl = new Input.PilotCtrls(0, 1, 2);
var sa = new Surfaces.CtrlSurfacesAssignment(2, 1, 8, 9, 0);
var surfaces = new Surfaces.CtrlSurfaces(17.0, 30.0, 30.0, sa);
var fcc = new FCC.FCC(pctl, surfaces);
importer после моих надругательств неплохо бы таки привести еще в порядок.
Наверное, следующее, что я буду прикручивать, будет возможность рисовать (opengl и текстурки).
Сообщение отредактировано inv: 21 February 2016 — 17:16
inv
28.02.2016 в 20:41
прилепил возможность самому задавать свои колбэки, с возможностью указывать интервал времени между вызовами (как в XPlane SDK), т.к. далеко не всегда надо вызывать колбэки на каждом цикле обработки флайт модели.
Это если глобально. А так — вот про это:
Хочется ему приделать что-то вроде
Сообщение отредактировано Ghost-V: 06 January 2016 — 15:59
Это если глобально. А так — вот про это:
Хочется ему приделать что-то вроде
Сообщение отредактировано Ghost-V: 06 January 2016 — 15:59
Ну да, значит я правильно понял (и таки приделал, между делом).
Сообщение отредактировано inv: 06 January 2016 — 16:25
Ну да, значит я правильно понял (и таки приделал, между делом).
Сообщение отредактировано inv: 06 January 2016 — 16:25
javascript это очень круто, дальше развивать планируете?
javascript это очень круто, дальше развивать планируете?
С большой вероятностью я что-то еще буду дописывать. Как вариант, есть мысль, выкинуть из sasl’а lua и прикрутить javascript, переписав два десятка врапперов. Одна из проблем JS — подгрузка других скриптов (типа import/include). Конечно можно навелосипедить, но эта «фича» заявлена в новом стандарте и скоро должна появиться в движках. Потому подожду, т.к. велосипедить будет впустую.
ps а еще import можно подсмотреть в gjs
Сообщение отредактировано inv: 07 January 2016 — 02:47
С большой вероятностью я что-то еще буду дописывать. Как вариант, есть мысль, выкинуть из sasl’а lua и прикрутить javascript, переписав два десятка врапперов. Одна из проблем JS — подгрузка других скриптов (типа import/include). Конечно можно навелосипедить, но эта «фича» заявлена в новом стандарте и скоро должна появиться в движках. Потому подожду, т.к. велосипедить будет впустую.
ps а еще import можно подсмотреть в gjs
Сообщение отредактировано inv: 07 January 2016 — 02:47
Улучшил вывод информации об ошибках в скрипте (а то я недавно сильно мучался чтобы найти поставленную по привычке ‘f’ после числа)
Улучшил вывод информации об ошибках в скрипте (а то я недавно сильно мучался чтобы найти поставленную по привычке ‘f’ после числа)
Прикольно. Но будут ли какие то особые фитчи, которых нет в САСЛ изкаропки?
Логика систем имхо пофиг на каком скрипте. Она по сути сводится к взял из датарефа, перемножил на что то и запихнул в другой датареф.
Ну из фич вот что-нибудь аля отрисовка кастомных
порнофильмовприборов отдельно от сима (можно и браузер, но свое окно кошерней).И что бы это было понятно простым быдло-скрипто-кодерам типа меня
Сообщение отредактировано skyteacher: 08 January 2016 — 13:17
Прикольно. Но будут ли какие то особые фитчи, которых нет в САСЛ изкаропки?
Логика систем имхо пофиг на каком скрипте. Она по сути сводится к взял из датарефа, перемножил на что то и запихнул в другой датареф.
Ну из фич вот что-нибудь аля отрисовка кастомных
порнофильмовприборов отдельно от сима (можно и браузер, но свое окно кошерней).И что бы это было понятно простым быдло-скрипто-кодерам типа меня
Сообщение отредактировано skyteacher: 08 January 2016 — 13:17
Не думаю, что какие-то особые фичи в обозримом будущем предвидятся. Основной моей целью было заменить sasl (и другие lua-движки) из-за связанных с ними проблемами. (в планах было управлять частотой вызова flight loop callback, а то каждый кадр дергать скрипты далеко не всегда надо и удобно).
На данный момент есть две фичи, которых нету(прямо так искаропки) в lua-плагинах:
1) Отладчик
2) Возможность взять кусок кода и поиграться с ним на jsfiddle, примерно так: http://jsfiddle.net/71dnfkbm/4/
Сообщение отредактировано inv: 08 January 2016 — 15:06
Не думаю, что какие-то особые фичи в обозримом будущем предвидятся. Основной моей целью было заменить sasl (и другие lua-движки) из-за связанных с ними проблемами. (в планах было управлять частотой вызова flight loop callback, а то каждый кадр дергать скрипты далеко не всегда надо и удобно).
На данный момент есть две фичи, которых нету(прямо так искаропки) в lua-плагинах:
1) Отладчик
2) Возможность взять кусок кода и поиграться с ним на jsfiddle, примерно так: http://jsfiddle.net/71dnfkbm/4/
Сообщение отредактировано inv: 08 January 2016 — 15:06
В первом приближении да. Но это ведь надо для всех поверхностей. С учетом времени отклика. Да еще завести логику по гидравлике, наличию питания. А потом с этим всем попытаться взлететь
У меня по ощущениям на отладку скриптов уходит чуть ли не в два раза больше времени чем написание 
По поводу семпла с FBW. Насколько я помню, то если проставить override control surfaces то нужно полностью писать свою логику отклонения поверхностей. И по-моему это относится и к закрылкам/спойлерам в том числе. А в примере я их не вижу. Это просто тестовая версия, или в случае оверрайда закрылки и спойлеры таки управляются плейном?
Естественно это просто пример и баловство. Ни закрылок, ни РН там нету. Там только аватотрим с удержанием положения. Я так потихоньку балуюсь, закрылки дописал, переключение режимов ground/flight/flare сделал. Но то такое, сами режимы надо же тоже написать.
Особенно много вопросов вызывает ‘load factor demand’. Принцип понятен, но не работает как я хочу.
Сообщение отредактировано inv: 08 January 2016 — 15:30
Ну это уже выходит за рамки использования override. Потому что XPlane с гидравликой тоже не сильно помогает.
Тогда понятно. А то я как-то написал простой констрэйнт на угол атаки, а потом понял что для того чтобы он работал, надо собственно переписать логику управления ВСЕГО с учетом систем, временем отклика и т.д. Вобщем пока пришлось забить.
Ну там не так и много всего остальнго. Тем более если не нужна какая-то хитрая логика.
Для закрылок грубо говоря такие костыли я изобразил (не претендую на элегантность и правильность)
var Flaps = function Flaps() { this.isCleanConfig = function() { if(get(flapsDeployRatioDRef) == 0.0) return true; return false; } this.update = function() { const hdr = get(flapsHandleDeployRatio); set(flapsDeployRatioDRef, hdr); set(lWingFlapsAngle, hdr*40); set(rWingFlapsAngle, hdr*40); } } var Slats = function Slats() { this.isCleanConfig = function() { if(get(flapsDeployRatioDRef) == 0.0) return true; return false; } this.update = function(dt) { const slatPos = get(slatsRat); if(get(flapsHandleDeployRatio) > 0 && slatPos < 1) { var newPos = Math.min(slatPos+0.3*dt, 1); set(slatsRat, newPos); } else if(get(flapsHandleDeployRatio) == 0 && slatPos > 0) { var newPos = Math.max(slatPos-0.3*dt, 0); set(slatsRat, newPos); } } }Сообщение отредактировано inv: 08 January 2016 — 18:22
В первом приближении да. Но это ведь надо для всех поверхностей. С учетом времени отклика. Да еще завести логику по гидравлике, наличию питания. А потом с этим всем попытаться взлететь
У меня по ощущениям на отладку скриптов уходит чуть ли не в два раза больше времени чем написание 
Ну это уже выходит за рамки использования override. Потому что XPlane с гидравликой тоже не сильно помогает.
Хе-хе, таки небольшой апдейт сего велосипеда, если вдруг кому-то еще интересно
прибил (гвоздями) ‘importer’ от gjs, так что теперь можно кошерненько импортировать другие скрипты конструкцией типа:
Подробнее:
https://github.com/i…es/advanced-fbw
Правда сам fbw кривой и не работает.
importer после моих надругательств неплохо бы таки привести еще в порядок.
Наверное, следующее, что я буду прикручивать, будет возможность рисовать (opengl и текстурки).
Хе-хе, таки небольшой апдейт сего велосипеда, если вдруг кому-то еще интересно
прибил (гвоздями) ‘importer’ от gjs, так что теперь можно кошерненько импортировать другие скрипты конструкцией типа:
Подробнее:
https://github.com/i…es/advanced-fbw
Правда сам fbw кривой и не работает.
importer после моих надругательств неплохо бы таки привести еще в порядок.
Наверное, следующее, что я буду прикручивать, будет возможность рисовать (opengl и текстурки).
Сообщение отредактировано inv: 21 February 2016 — 17:16
прилепил возможность самому задавать свои колбэки, с возможностью указывать интервал времени между вызовами (как в XPlane SDK), т.к. далеко не всегда надо вызывать колбэки на каждом цикле обработки флайт модели.
update = function(elapsedSinceLastCall, elapsedSinceLastFlightLoop, counter) { fcc.update(elapsedSinceLastCall); return 0.066; } const updId = regFLCallback(update, 0.066);