StranikS_Scan 4,210 #297718 Posted November 5, 2015 Так вроде же можно русские буквы вводить... А что на выхлопе при получении текста из окна редактора получается, если русский заюзать? Какая локаль на вторую часть ANSI стоит - то редактор и показывает. Поставишь японскую локаль + шрифт выберешь японский, тогда увидишь японские символы в редакторе. А вот чтоб при любой локали показывать любые символы из юникод шрифта - вот этого редактор не может. Редактор при чтении UTF-8 конвертит символы в ANSI текущей локали и их показывает. Известная проблема доюникодовых редакторов. Quote Share this post Link to post Short link Share on other sites
GPCracker 2,088 #297721 Posted November 5, 2015 Редактор при чтении UTF-8 конвертит символы в ANSI текущей локали и их показывает. Известная проблема доюникодовых редакторовТ.е. получается, что если строку из редактора переправить в питон, и там выполнить что-то типа str.decode('<locale>').encode('utf-8') получится нормальная строка на юникоде? Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #297729 Posted November 5, 2015 (edited) Т.е. получается, что если строку из редактора переправить в питон, и там выполнить что-то типа str.decode('<locale>').encode('utf-8') получится нормальная строка на юникоде? Угу. Например при exec скрипта, когда подключен Питон3, Орион именно так и делает со скриптом, конвертит его из ANSI в UTF-8 и затем уже передает в py_exec, а вот Питону2 передается ANSI скрипт в текущей локале, потому что Питон2 нормально работает с текущими локалями, а Питон3 подавай юникод. С трансмиттером сложнее, там юзается же текстовый буфер, а он в ANSI-формате, как результат чего-туда не отправляй все равно в игре кракозяблики будут. Потому exec в трансмиттере это exec ANSI как есть. И даже если стоит преамбула с UTF-8 в начале текста, то это ни чего не меняет, питон в exec такое игнорирует. Самый простой выход из этого это юзать Import/Reload в котором идёт компилирование налету. В таких случаях в байт-коде оказывается текст именно в UTF-8 формате и проблем с отображением в клиенте нет. Выложил архив с файлами теста 0.9.12. Edited November 5, 2015 by StranikS_Scan Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #297763 Posted November 5, 2015 теста 0.9.12.Что с картохой? Давно не слежу за ней просто... Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #297765 Posted November 5, 2015 Что с картохой? Давно не слежу за ней просто... Было "высший сорт", затем "1 сорт", сейчас "2 сорт". Походу патч просто протух, вот ему сорта и понижают с 0.10.0 до 0.9.12. Последний раз такое было с 0.7.4.5, если я правильно помню. Это как раз канун выхода патча 0.7.5, который изменил всю игру. Quote Share this post Link to post Short link Share on other sites
Polar Fox 16 #297802 Posted November 6, 2015 (edited) Что с картохой? Давно не слежу за ней просто... В след. патче наконец-то начали выпиливать legacy-куски. Первый на очереди оказался GUI.Text. Впрочем, туда этому тормозному УГ и дорога. А вообще - ничего нового. За джва 2 года таки запилили круг обзора, но не смогли даже в это и в придачу жиденько обосрались с dynamic alterations (ака газовая атака в новом режиме, которая сломала как обзор (в тесте союзники и совзводные могли пропасть на пустом месте). Ну и с кругом обзора на текущих картах в 70% сломался накуй геймплей. В худшую сторону. Короче, работают люди, сразу видно. На месте не стоят. Edited November 6, 2015 by Polar Fox Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #297803 Posted November 6, 2015 Первый на очереди оказался GUI.Text. Впрочем, туда этому тормозному УГ и дорога. Всё на месте. С каких это он тормознутый? Quote Share this post Link to post Short link Share on other sites
Polar Fox 16 #297812 Posted November 6, 2015 Всё на месте. С каких это он тормознутый? 9.12 ещё не качал. В 10 его почти не не было (там куски были, но они скорее всего были к чему-то слинкованы, поэтому просто так их не выпилить). Походу 12 будет просто контент-патчем. Но задатки уже есть. Тормознутый он с самого начала. Просто в нем нет простора для говнокода (ака AS). Если использовать весь потенциал scaleform, то все эти древние костыли будут на глубочайшем подсосе по производительности. Он считается быстрым исключительно потому, что там есть ТОЛЬКО интерфейс для поключения (attach/dispose/detach). Дай волю - и тормозить будет пуще флеша. Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #297815 Posted November 6, 2015 (edited) Просто в нем нет простора для говнокода (ака AS). Вот и вся разница, html-тэги не поддерживает с кучей всяких спецэффектов наложения. А по всему остальному он в разы быстрее флэша. Он считается быстрым исключительно потому, что там есть ТОЛЬКО интерфейс для поключения (attach/dispose/detach). Угу, как же, попробуй передачу данных сделать 100 вызовов в секунду и сравни фпс при реализации через флэш и через гуи. ЗЫ: Откуда ты вообще таких идей набрался? Edited November 6, 2015 by StranikS_Scan Quote Share this post Link to post Short link Share on other sites
Polar Fox 16 #297819 Posted November 6, 2015 (edited) Вот и вся разница, html-тэги не поддерживает с кучей всяких спецэффектов наложения. А по всему остальному он в разы быстрее флэша. Угу, как же, попробуй передачу данных сделать 100 вызовов в секунду и сравни фпс при реализации через флэш и через гуи. ЗЫ: Откуда ты вообще таких идей набрался? Для многих флеш - это как текст, только красивый. В этом вся разница (с) Scaleforn дает доступ к нативному API DirectX. Про 100 вызовов в секунду сходи в юбисофт, заодно последний nfs из ea поправишь (и предыдущие тоже), а то посоны без тебя пропадают. В картохе хоть и лажают на каждом шагу, но общий подход там верный. То что не сделано, ещё не значит что этого сделать нельзя. ЗЫ: Откуда ты вообще таких идей набрался? :) Про 100 вызовов в секунду сходи в юбисофт Впрочем, если у тебя есть вариант который намного (в разы(с) ) быстрее scleform player, и имеет полноценную среду разработки - го в мейлру, чтоб далеко не ходить. Но я и сам готов купить такое решение за хорошие деньги, если оно найдется. Блин, начали за здравие... Это я к тому, кто не надо что-то недооценивать, если не работал с ним. Мне вот недавно казалось что в тех же танках всё на костылях держится. Но после ближайшего рассмотрения оказалось что там есть всё. Да, косо-криво, зато на все случаи жизни. Edited November 6, 2015 by Polar Fox Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #297823 Posted November 6, 2015 тех же танках Так вот, возвращаясь от потока сумбурно-отвлеченных мыслей к ВОТ-танкам, что меньшее падение фпс даст при частоте обновления 100 раз в сек - GUI.Text или Флеш текст? Quote Share this post Link to post Short link Share on other sites
Polar Fox 16 #297824 Posted November 6, 2015 (edited) Так вот, возвращаясь от потока сумбурно-отвлеченных мыслей к ВОТ-танкам, что меньшее падение фпс даст при частоте обновления 100 раз в сек - GUI.Text или Флеш текст? Вот если без амбиций - то флешка будет держаться на уровне того же гуй.текста. Даже быстрее. Ты ведь видел сорцы БВ, и знаешь как оно работает. Поскольку всё в танкаче сделано на флеше, то нативная флешка (без костылей) будет держать тот же уровень перфоманса, а поскольку реализована система событий - то нет нужды гонять пустые циклы. И, кстати, флешки можно гонять через питоновский multithreading.dummy, что куда дешевле (и быстрее) контейнеров БВ. Если можно и гуи так же - то буду благодарен за подсказку как это сделать. Кстати, баг-репорт. Всё забывал написать, ибо некритично, но неприятно. Орион хавает ВСЮ опертивку через какое-то время (точно не замечал, но где-то около 2-х суток). (и не в тему, но - добавь, пожалуйста, в заголовок окна путь/имя открытого файла) _______________________________ P.P.S. Может откроешь исходники самой среды ориона (кроме крипта), думаю часть людей заинтересовалась бы, и сделала бы удобный инструмент. Ну или сам допили, если будет время@желание. Сейчас по сути лично мне не хватает следующих вещей: - фолдинг - десяток мелочей в гуи - подсветка синтаксиса. Оно сейчас вроде работает, но немного криво, и совершенно не различает варианты отступов, и ещё часть мелочей. Edited November 6, 2015 by Polar Fox Quote Share this post Link to post Short link Share on other sites
GPCracker 2,088 #297829 Posted November 6, 2015 Первый на очереди оказался GUI.Text.Нехорошо это. Лежал себе никого не трогал, а теперь взяли и выпилили... Угу, как же, попробуй передачу данных сделать 100 вызовов в секунду и сравни фпс при реализации через флэш и через гуи.+100500 DAAPI и ExternalInterface могут не справиться с такой частоты запросов... Вот и вся разница, html-тэги не поддерживает с кучей всяких спецэффектов наложения. А по всему остальному он в разы быстрее флэша.Зачастую хватает и циферок в принципе... Вот если без амбиций - то флешка будет держаться на уровне того же гуй.текста. Даже быстрее. Ты ведь видел сорцы БВ, и знаешь как оно работает. Поскольку всё в танкаче сделано на флеше, то нативная флешка (без костылей) будет держать тот же уровень перфоманса, а поскольку реализована система событий - то нет нужды гонять пустые циклы. И, кстати, флешки можно гонять через питоновский multithreading.dummy, что куда дешевле (и быстрее) контейнеров БВ.Не стоит забывать про вызовы DAAPI или ExternalInterface для передачи данных из Python в ActionScript. Данные из AS берутся редко, чаще всего они считаются питоном. Насколько мне известно, GUI обновляется с интервалом всего 0,03 сек (ЕМНИП), это где-то 30 к/с. Но там в основном числа передаются. Насколько быстро будет идти сериализация/десериализация строк при передаче, не тестил. А что за multithreading.dummy заместо контейнеров BW? С трансмиттером сложнее, там юзается же текстовый буфер, а он в ANSI-формате, как результат чего-туда не отправляй все равно в игре кракозяблики будут. Потому exec в трансмиттере это exec ANSI как есть. И даже если стоит преамбула с UTF-8 в начале текста, то это ни чего не меняет, питон в exec такое игнорирует. Самый простой выход из этого это юзать Import/Reload в котором идёт компилирование налету. В таких случаях в байт-коде оказывается текст именно в UTF-8 формате и проблем с отображением в клиенте нет.Хммм... А что мешает добавить в трансмиттер декодер? Передать ему параметром кодировку локали редактора и выполнять вместо exec script exec script.decode('<locale>')? Ну бинарный режим и Marshaled Code Object не предлагаю, ибо у тебя нет питоновской стороны в редакторе, и пилить ее ты вряд ли будешь... З.Ы. Попробую, отпишусь)) Quote Share this post Link to post Short link Share on other sites
Polar Fox 16 #297832 Posted November 6, 2015 (edited) Нехорошо это. Лежал себе никого не трогал, а теперь взяли и выпилили... +100500 DAAPI и ExternalInterface могут не справиться с такой частоты запросов... Зачастую хватает и циферок в принципе... Не стоит забывать про вызовы DAAPI или ExternalInterface для передачи данных из Python в ActionScript. Данные из AS берутся редко, чаще всего они считаются питоном. Насколько мне известно, GUI обновляется с интервалом всего 0,03 сек (ЕМНИП), это где-то 30 к/с. Но там в основном числа передаются. Насколько быстро будет идти сериализация/десериализация строк при передаче, не тестил. А что за multithreading.dummy заместо контейнеров BW? Хммм... А что мешает добавить в трансмиттер декодер? Передать ему параметром кодировку локали редактора и выполнять вместо exec script exec script.decode('<locale>')?Ну бинарный режим и Marshaled Code Object не предлагаю, ибо у тебя нет питоновской стороны в редакторе, и пилить ее ты вряд ли будешь... З.Ы. Попробую, отпишусь)) Лень цитировать, поэтому пихнул цитату в спойлер:) 1. Ты поддерживал легаси-код? Не в один-два-три метода, а метров на 20? Это такой п***ц, что врагу не пожелаешь. То, что они взялить дропать код который сами не пользуют (весь гуи текст сейчас это чисто моды) - это хорошо. 2. Если нужна такая частота запросов - что-то не так в коде. Нужен либо рефакторинг либо выброс в море. Раз. Вся картинка сейчас рендерится не волшебными гномиками, а тем же флешем (GUI.Text тоже становится флешем, хоть и условно и частично) Два. 3. 0.02 мсек. А теперь...сюрпразйр, мазафака, это костыль картохи. Т.е. разница в middle и high-level API вылазит наружу. 4.Питоновский multiprocessing работает с процессами, а multiprocessing.dummy с тредами. Т.е. проблемы гарбадж коллектора его не ***ут. Там целая экосистема (в питоне 2.7). Если интересно в личку напишу подробнее как оно работает, там увлекательные_истории.жпг 5. А что там с текстами? Может я древний, но у меня всё работает если у файла стоят флаги ютф8. Edited November 6, 2015 by Polar Fox Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #297842 Posted November 6, 2015 (edited) думаю часть людей заинтересовалась быЯ так не думаю. Заинтересованные давно уже юзают норм среды программирования под питон. Один PyCharm чего стоит... десяток мелочей в гуиИспользуемая Странниксом версия Delphi не может просто так взять и предоставить тебе функционал, по созданию мелочей в GUI. Здесь нужно делать выбор - лезть сквозь дебри Delphi и делать свои компоненты/допиливать чужие, или писать проект с нуля на каком-нибудь мощном ЯП с мощным набором библиотек. Я давно предлагал второй путь. Написать PjOrion на C++ или на другом мощном языке. Я давно использую Delphi. Писать на нем легко. Он мощный. Но как только дело заходит в сторону GUI, то VCL радует своими багами отрисовки. Edited November 6, 2015 by ShadowHunterRUS Quote Share this post Link to post Short link Share on other sites
Polar Fox 16 #297844 Posted November 6, 2015 (edited) Я так не думаю. Заинтересованные давно уже юзают норм среды программирования под питон. Один PyCharm чего стоит... Используемая Странниксом версия Delphi не может просто так взять и предоставить тебе функционал, по созданию мелочей в GUI. Здесь нужно делать выбор - лезть сквозь дебри Delphi и делать свои компоненты/допиливать чужие, или писать проект с нуля на каком-нибудь мощном ЯП с мощными подключенными библиотеками. Я тоже этим пользуюсь, но мы вроде говорим про удобство девелоперов а не хомяков. Я давно использую Delphi. Писать на нем легко. Он мощный. Но как только дело заходит в сторону GUI, то VCL радует своими МАТЬ ЕГО багами отрисовки. Смари фокус! :) Попросуй нарисовать компонентов, а затем получить их сслыки через гуй. Там будет сюрзпрайз, мазафака)))) Edited November 6, 2015 by Polar Fox Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #297847 Posted November 6, 2015 (edited) Попросуй нарисовать компонентов, а затем получить их сслыки через гуйА это к чему? Я совсем не понял, что ты хочешь? Edited November 6, 2015 by ShadowHunterRUS Quote Share this post Link to post Short link Share on other sites
Polar Fox 16 #297850 Posted November 6, 2015 (edited) А это к чему? Я совсем не понял, что ты хочешь? Нарисуй боевку, потом перегрузи через флеш свои методы. Через 2-4- боя ты порадуешься))))) Нарисуй боевку, потом перегрузи через флеш свои методы. Через 2-4- боя ты порадуешься))))) P.S. Гарбадж коллектор их не соберет. Edited November 6, 2015 by Polar Fox Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #297855 Posted November 6, 2015 Орион хавает ВСЮ опертивку через какое-то время Не сам по себе же хавает. Два дня наверно гонял его без перезапуска? Погляжу где накапливаться может. добавь, пожалуйста, в заголовок окна путь/имя открытого файла Эээ, путь там отображается. Ты какую версию используешь-то? Может откроешь исходники самой среды ориона (кроме крипта), думаю часть людей заинтересовалась бы, и сделала бы удобный инструмент. Ну или сам допили, если будет время@желание. Эээ, о чем речь? Орион на Delphi6 написан, текстовый редактор, это TSynEditor из SynEditStudio, исходники тут, взаимодействие с питоном идет через TPython4Delphi ссылка на исходники есть в окне About (F1). Однако всё это давно померло, еще до юникодового периода, единственный кто там чего-то ковыряет в этом коде так это я, юзая его в XCPad и в Орионе, фикся баги и впиливая кой какой функционал. Если кто-то этим и сможет воспользоваться, то только такие же динозавры как я. - фолдинг- десяток мелочей в гуи- подсветка синтаксиса. Оно сейчас вроде работает, но немного криво, и совершенно не различает варианты отступов, и ещё часть мелочей. Он как бы есть например в XCPad я его заюзал, однако, во-первых, он косячный, а править его косяки дико сложно, в SynEditStudio тонны исходного кода, а во-вторых, он его нуно будет доделать, так как сейчас он умеет закрываться только по символам, например скобки, а в питоне закрываться надо по другому. Я может и подкостылю фолдинг, скажем на новый год. Не, если тебе нужен полноценный гуи, то юзай Notepad++ или PyCharm.... В Орионе все такие гуи - это уровень блокнота. Отступы через \t это я допилю. 1 Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #297857 Posted November 6, 2015 @StranikS_Scan, ты когда-то писал про хук шейдеров в WOT. Можешь запилить такое в Орионе? Quote Share this post Link to post Short link Share on other sites