std.tech: INSTEAD технологии


1 2 3
Reply to: 8zSeM2kjRZJOcODLyVt1
From: Antokolos (syscall,12) 05.10.17 06:16 UTC
To: Peter
Subject: Re: Сборка INSTEAD для WinRT
Да, конечно, попробую.
Ещё вчера допилил немного, чтобы архивы поддерживались и на Windows Phone 8.1 (который у меня в виде физ. устройства)
Благодаря поддержке архивов, появилась возможность потестировать не только на туториале. Есть как радости, так и печали.
Карантин работает
Miner Bold работает, мультитач в наличии
Поддержка jpg отвалилась
Поддержка mp3 отвалилась
Поддержка трекерной музыки отвалилась
В штурмане какая-то ошибка со спрайтами
В Варваре ошибка при использовании io.open в lua
В общем, надо смотреть и тестировать...

Reply to: 8zSeM2kjRZJOcODLyVt1
From: Antokolos (syscall,12) 05.10.17 06:46 UTC
To: Peter
Subject: Re: Сборка INSTEAD для WinRT
Текущую ветку winrt переименовал у себя на github в winrt-initial
Когда у нас устаканится полностью с патчем, видимо, придётся создать новую ветку winrt, основанную уже на патче, но с моими доп. изменениями, которые в патч не вошли.

Reply to: 8zSeM2kjRZJOcODLyVt1
From: Antokolos (syscall,12) 05.10.17 15:08 UTC
To: Peter
Subject: Re: Сборка INSTEAD для WinRT
В целом, оно собралось и заработало
только вот в winrt.h пришлось поправить
====
#ifdef __cplusplus_winrt
extern "C"
{
#else
extern
#endif
	void getAppTempDir(char *lpPathBuffer);
#ifdef __cplusplus_winrt
}
#endif
====
вместо просто extern void

Reply to: f6Ir9acmZuyMN7Ko9VMg
From: Peter (syscall,1) 05.10.17 18:37 UTC
To: Antokolos
Subject: Re: Сборка INSTEAD для WinRT
Я предполагал что winrt.h используется только в winrt.c просто.

Есть смысл хотя бы такой патч мержить?

Reply to: KimxNb5Go7gFmjR42V7Z
From: Antokolos (syscall,12) 06.10.17 16:53 UTC
To: Peter
Subject: Re: Сборка INSTEAD для WinRT
Да, конечно.
Я на его базе ещё дополню немного, может, будет проще и в этих изменениях разобраться. Ну или в отдельной ветке пустим, посмотрим, как пойдёт.

Reply to: mNw6mil0dpMkDpArk48F
From: Peter (syscall,1) 07.10.17 08:05 UTC
To: Antokolos
Subject: Re: Сборка INSTEAD для WinRT
> Да, конечно.
Пушнул патч.

Reply to: 6DagEPY4HqUPzl2COEBn
From: Antokolos (syscall,12) 12.10.17 07:32 UTC
To: Peter
Subject: Re: Сборка INSTEAD для WinRT
Вот тут вот новая ветка winrt, основанная на этом патче
https://github.com/Antokolos/instead/tree/winrt
Самый последний коммит там (_USE_UNPACK support) посвящён дополнениям для того, чтобы можно было собрать с флагом _USE_UNPACK

Reply to: yG1yaqin6AcMM71znEkf
From: Peter (syscall,1) 12.10.17 07:56 UTC
To: Antokolos
Subject: Re: Сборка INSTEAD для WinRT
> Самый последний коммит там (_USE_UNPACK support) посвящён дополнениям для того, чтобы можно было собрать с флагом _USE_UNPACK

Понял, буду смотреть.

From: Peter (syscall,1) 21.10.17 09:40 UTC
To: All
Subject: INSTEAD на Sailfish OS
Дали поиграться с телефоном на Sailfish OS (Jolla C).
Конечно же, первым делом попробовал собрать INSTEAD.
Две новости: хорошая и плохая. :)

Хорошая новость -- собрать инстед легко. И я даже смог поиграть в minerbold.

Плохая новость: SDL2 на сейлфише недопилен.

- Координаты точскрина приходят в ненормализованной форме. (Пиксели а не float).
- События точа не эмулируют клики мыши (как это сделано во всех других мобильных платформах).
- Совсем нет звуков
- Ну и разбираться с поворотом экрана

Я понял, что порт возможен и если им заняться, то его можно получить. Но для этого нужны определенные усилия. Телефоны jolla у нас редкость, так что статус порта пока -- "заморожен".

P.S.

https://together.jolla.com/question/109036/bug1192 8-sdl2-is-still-broken/

Не похоже, что проблемы будут исправлены. :(

Reply to: yG1yaqin6AcMM71znEkf
From: Peter (syscall,1) 22.10.17 07:54 UTC
To: Antokolos
Subject: Re: Сборка INSTEAD для WinRT
Ты тут?

Я тут все таки пытаюсь разгрести сборку INSTEAD. Нужно, чтоб ты проверил следующую версию в git.

Описываю суть изменений.

1) системные include находятся ТОЛЬКО в src/instead/system.h ВСЕ условные СИСТЕМНЫЕ включения должны быть ТАМ, кроме специфичных инклюдов в архитектурных файлах (windows.c и так далее)
2) В файлах ios.h, s60.h и так далее (если они нужны!) описываются только НЕ СИСТЕМНЫЕ отличия. Для примера смотри ios.h. winrt.h и wince.h удалены
3) Я не понимаю такую конструкцию:

====
#ifdef _MSC_VER
#include "unistd.h"
#define PATH_MAX MAX_PATH
#else
====

Дело в том, что инклюды с "" (в отличие от <>) это инклюды НЕ СИСТЕМНЫХ файлов. Я не понимаю, как ты собрал src/instead/* если в system.h есть инклюде <dirent.h> безусловный, а в windows.c он под ifdef да еще и в "". Так что чтоб не путаться я это удалил и пробуем еще раз, если можно.

4) никаких больше PATH_MAX, единственное место где он есть это system.h который включается через externals.h


Что нужно? Внести изменения ТОЛЬКО в system.h для того, чтобы сборка прошла успешно для всех наших целей.

Поможешь?

P.S. я проверил сборки: windows, s60, wince и unix/linux -- они работают

После того как мы наведем порядок на этом уровне, можно будет снова пытаться как то сливать изменения

Reply to: 3hB9i7uWYhUBNfH5BprK
From: Antokolos (syscall,12) 22.10.17 10:27 UTC
To: Peter
Subject: Re: Сборка INSTEAD для WinRT
Да, конечно, тут. Буду пробовать, спасибо!

Reply to: 3hB9i7uWYhUBNfH5BprK
From: Antokolos (syscall,12) 22.10.17 13:41 UTC
To: Peter
Subject: Re: Сборка INSTEAD для WinRT
Итак:
1) Сделал git clone https://github.com/instead-hub/instead в пустую папку
2) Скопировал туда папки VisualC и VisualC-WinRT из https://github.com/Antokolos/instead/tree/winrt
3) Открыл свой проект
4) В файле windows.c пришлось сделать изменение
#ifndef _MSC_VER
#include <dir.h>
#endif
ибо файл dir.h он не находит
5) В файле https://github.com/Antokolos/instead/blob/winrt /VisualC-WinRT/src/uwp.h пришлось сделать изменение -- убрал #ifdef _UWP в третьей строчке, т.к. теперь я использую его вместо удалённого winrt.h.
6) Соответственно, в файле https://github.com/Antokolos/instead/blob/winrt /VisualC-WinRT/src/SDL2_winrt.cpp убрал использование winrt.h и всегда использую winrt.h
7) Убрал использование _USE_UNPACK у себя в проекте, т.к. этот код ещё не смёржен.
8) Приложение как для WinRT, так и для UWP собралось, туториал запустился.

Reply to: v2zBYAkZRBRls0h7KRW9
From: Antokolos (syscall,12) 22.10.17 13:43 UTC
To: Antokolos
Subject: Re: Сборка INSTEAD для WinRT
P.S. извиняюсь, не перечитал то, что написал :(
6) Соответственно, в файле https://github.com/Antokolos/instead/blob/winrt /VisualC-WinRT/src/SDL2_winrt.cpp убрал использование winrt.h и всегда использую uwp.h

Reply to: I38TGOnuD5dsF6z1Vstn
From: Peter (syscall,1) 22.10.17 14:30 UTC
To: Antokolos
Subject: Re: Сборка INSTEAD для WinRT
Отлично. Вечером пофикшу мелочи и снова буду думать про дальнейшие мержи.
Идет процесс не быстро так как много навалилось работы. :(

Reply to: 7uOxAFAgCSDVuCC71veO
From: Antokolos (syscall,12) 22.10.17 15:40 UTC
To: Peter
Subject: Re: Сборка INSTEAD для WinRT
Здорово, да можно сильно не торопиться :)
Больше всего меня тревожит, что не все игры работают.
Скорее всего, дело в относительных путях, ибо мне даже при распаковке пришлось в одном месте хачить, чтобы всегда абсолютные пути передавались.
Это т.к. https://docs.microsoft.com/en-us/cpp/cppcx/crt- functions-not-supported-in-universal-windows- platform-apps
_chdir _wchdir _getcwd _getdcwd _wgetcwd _wgetdcwd The concept of a working directory doesn't apply to Windows 8.x Store apps. Use full paths instead.

Reply to: HLYLHjCLUKSzN1hpBSYk
From: Peter (syscall,1) 22.10.17 15:52 UTC
To: Antokolos
Subject: Re: Сборка INSTEAD для WinRT
> Скорее всего, дело в относительных путях,
wince версия полностью избавлена от относительных путей.
Собственно инстед от них избавлен начиная с wince версии.
Все chdir/getdir - реализованы внутри и всегда работают с абсолютными путями (по кр мере в wince)
Именно поэтому берется argv[0] в начале, чтоб найти абсолютный путь.
Ты можешь даже в UNIX версии заменить в src/util.c реализацию setdir и прочих - и будет все на абсолютных путях.

Так что я считаю надо доотладить.

Все api по работе с дирами находится в src/util.c

Reply to: HLYLHjCLUKSzN1hpBSYk
From: Peter (syscall,1) 22.10.17 16:01 UTC
To: Antokolos
Subject: Re: Сборка INSTEAD для WinRT
Да и Android с абсолютными путями работает.
Можешь глянуть ветку #ifndef ANDROID в util.c
Только для UNIX сборки используются chdir, getcwd а в остальных - формируются полные пути и просто идет работа по ним.

Reply to: tG6wu3Gkm5BamWuLbzAq
From: Peter (syscall,1) 27.10.17 09:53 UTC
To: Peter
Subject: Re: INSTEAD на Sailfish OS
Я погорячился. На данный момент порт на SailfishOS полностью работоспособен. Пришлось сделать воркэраунды для всех проблем, но иснтедом теперь можно пользоваться.
Правда, пока это никуда не закоммичено....

Reply to: cM9CmPMTQmPxyCGEl7mr
From: Peter (syscall,1) 31.10.17 10:57 UTC
To: Peter
Subject: Re: INSTEAD на Sailfish OS
Порт instead в warehouse.

From: Peter (syscall,1) 17.12.17 08:57 UTC
To: All
Subject: Бета версия INSTEAD 3.2
В общем я решил поступить так.
Бинарные сборки бета версии будут появляться здесь: http://instead.syscall.ru/instead/3.2-beta/

После НГ если новых багов не будет выявлено, то это и станет релизом 3.2.
Если нет - новый заход.

Прошу всех кто собирает бинарные сборки - начать их собирать и пробовать. Спасибо!

From: Anotheroneuser (syscall,27) 05.05.18 06:50 UTC
To: All
Subject: Механизм выражения чувств и впечатлений
# Буду короче.

После игры в игру или использования программы, или чтения литературы-с-участием пользователь/читатель/участник испытывает гамму чувств в различном диапазоне. Это очень ценная энергия, поскольку она может устремиться на лопасти проекта и помогать вращаться его валу, раскручиваться его маховику (и так далее).

Наверное, не особо важно, какие именно чувства выразит человек: они будут до ужаса разными, но, главное — сильными, непридушенными, незаполиткоррекченными, незализанными и т.д. Тогда это будет правдой, а не полу- или на четверть правдой, которой мы сыты по горло.

Мне показалось, что путь к самовыражению в INSTEAD не столь явен, каким мог бы быть, и чувства запираются в человеке, вместо того, чтобы остаться в памяти проекта.
С одной стороны, это неплохо: мы учимся жить, как в стихотворении Тютчева Silentium.
С другой стороны, кому-то может быть не до Silentium-а.

====
— Можете курить..

Шелленберг курил «Кэмэл», только «Кэмэл» и никаких других сигарет не признавал.
Когда Гиммлер спросил его, почему он курит вражеские сигареты, Шелленберг ответил: «Воистину — куришь американские сигареты, скажут, что продал Родину».
Гиммлер этого не забыл.
====

# Как это реализовано у других

Просто по памяти.

1. В Play Market
Есть возможность оставлять отзывы. Несмотря на призывы авторов писать на Github, электронную почту или ещё куда-нибудь, мы всё равно пишем отзывы в «Отзывах», потому что все остальные способы предполагают наличие выдержки. А она у большинства из нас нуждается в серьёзной тренировке.

2. Когда-то в Program Manager для Linux Mint
Была возможность оставлять отзывы прямо в окне GUI для установки программы. Отличная идея, и многие пользовались ею до тех пор, пока Лефебр не подумал, что убрать всё на форум будет прикольнее. Не знаю, как там статистически, но, кажется, с GUI было намного уютнее.

3. Давным-давно, в какой-то программе для торрентов... U-Torrent или наподобие.
Прямо в программе было окно для отзывов о загруженном материале, которые мог читать очередной загружальщик. Там почти никто ничего не писал. Наверное, возможность была не столь известна или к её использованию люди призывались не слишком активно. Но было здорово заглядывать в бездну сквозь иллюминатор отдельного собственного космического корабля.

# Как это в INSTEAD

Сразу после игры по-первой я лез в раздел «Информация» и, конечно, находил в результате нужный путь. Но если б побыстрее, то, возможно, сведения о произведённом игрой впечатлении были бы ярче.
По-крайней мере, человеку можно дать определённые рекомендации о том, как вести себя после игры.
Ну, скажем:

«
... Завершив игру, немного побудь наедине с собой и прислушайся к своим чувствам. Мы понимаем, что ты хочешь рассказать нам, каково тебе пришлось, и будем рады принять твои впечатления, идеи, пожелания. Но чтобы ты не расплескал их по пути к нам, рекомендуем тебе не торопиться с ответом.

Побудь наедине с собой, отбери и ограни собственные мысли. Если не уверен, что знаешь, как это сделать, то не смущайся: никто не знает.

Можешь следовать нехитрым рекомендациям, которые в своё время помоги и нам. Можно работать с ними в привычном текстовом редакторе. Если привычного у тебя нет, то рекомендуем попробовать какой-нибудь свободный: EMACS, VIM, Geany и другие.

Вот эти рекомендации.
Пункт 1. Расположиться за машиной и слегка погрузиться в себя;
Подпункт 1. Приступить к размышлению.
Вопрос 1. Что мне понравилось?
Ответ 1. ...
Вопрос 2. Что держало меня в неприятном напряжении?
Ответ 2. ...
Вопрос 3. Что мне хотелось бы видеть другим?
Ответ 3. ...
Подпункт 2. Завершить размышление и приступить к заключению.
Пункт 2. Выгрузиться из себя и передать результат своих наблюдений по адресу: <адрес>
»

# Заключение

Всё это, конечно, только наблюдения, бред и домыслы. И очень радостно, что мы можем делиться всем этим здесь, не страшась осмеяния или укорения в тупости, поскольку и то, и другое будет от товарищей, а они желают нам только добра. ))

Может быть, всё устроено наилучшим образом и необходимо оставлять себе время на переживание, осмысление и формулирование своих чувств и мыслей, а уж после — их осознанное выражение.
В последнее время всё более склоняюсь к тому, что данная модель является крайне удачной для любой деятельности и, особенно, для творческой..

Но для обсуждения данную тему всё же предлагаю.

1 2 3