Pixilang v3.4

Pixilang по русски
User avatar
NightRadio
Site Admin
Posts: 3944
Joined: Fri Jan 23, 2004 12:28 am
Location: Ekaterinburg. Russia
Contact:

Pixilang v3.4

Post by NightRadio »

Вышел Pixilang v3.4!
Теперь с официальной поддержкой Android (на Google Play) и iOS (только исходники).
http://www.warmplace.ru/soft/pixilang

Список изменений:
  • Порт на Android: https://play.google.com/store/apps/deta ... o.pixilang
  • Порт на iOS (только исходники);
  • экспериментальная поддержка OpenGL ускорения (отсутствует в Windows Mobile версии);
  • новый эффект для функции effector(): EFF_COLOR - однотонная заливка;
  • новые операции для op_cn(): OP_LIMIT_TOP, OP_LIMIT_BOTTOM, OP_ABS;
  • новые операции для op_cn() и op_cc(): OP_EQUAL, OP_LESS, OP_GREATER, OP_SMUL (умножение с ограничением (защита от переполнения));
  • компиляция в байткод из командной строки; пишем "pixilang -c source_name.pixi" и получаем на выходе файл source_name.pixicode, который потом можно загрузить в Pixilang так же, как грузятся обычные исходники; основное отличие таких файлов - они привязаны к конкретной платформе, в отличие от текстовых исходников;
  • новый формат доступа к элементам двухмерного контейнера: container[ X, Y ]; например: pixels[ 3, 4 ] = WHITE;
  • новые операторы для управления циклом while() {}: break, break2, break3, break4, breakall, continue; число на конце оператора break - это количество вложенных циклов, которые нужно остановить;
  • функции для OpenGL ускорения: set_gl_callback(), remove_gl_data();
  • новые системные функции: get_file_size(), printf();
  • новая графическая функция: clear_zbuf();
  • функции для установки/сброса флагов (опций) контейнера: set_flags(), reset_flags();
  • дополнительный набор параметров (dest,dest_offset,src,src_offset) для функций strcat(), strcmp(), strstr();
  • дополнительный набор параметров (string,string_offset) для функции strlen();
  • новый пример в папке examples/graphics: fractal_julia_multithread;
  • новые примеры в папке examples/console: printf, string_append, string_compare, string_length, while_loop;
  • новый пример в папке examples/sound: pixitracker_player (проигрыватель PixiTracker музыки);
  • новая папка с примерами - graphics_opengl (примеры OpenGL ускорения);
  • исправлены ошибки.
Image
J3d1
Posts: 175
Joined: Wed Oct 15, 2008 4:49 am
Location: г. Абакан, Хакасия
Contact:

Re: Pixilang v3.4

Post by J3d1 »

Ура! Дождались!!! Night Radio большое спасибо за проделанную работу! Начинаю тестить сейчас же.
J3d1
Posts: 175
Joined: Wed Oct 15, 2008 4:49 am
Location: г. Абакан, Хакасия
Contact:

Re: Pixilang v3.4

Post by J3d1 »

Устройство Acer Iconia Tab A501 на Android 3.2. Все примеры (консольные не проверил за неимением таковой) идут без проблем.
Night Radio, нельзя-ли в следующей версии прикрутить поддержку мультитача (хотя бы на 2 пальца :unknown: )? Можно было-бы масштабировать канву в пиксельном редакторе, или сделать экранный джойстик для игры...
User avatar
NightRadio
Site Admin
Posts: 3944
Joined: Fri Jan 23, 2004 12:28 am
Location: Ekaterinburg. Russia
Contact:

Re: Pixilang v3.4

Post by NightRadio »

А мультитач уже есть ) Работает очень просто.
Если в EVT[ EVT_TYPE ] находится EVT_MOUSEBUTTONDOWN, EVT_MOUSEMOVE или EVT_MOUSEBUTTONUP, то это обычный клик мышкой или первое нажатие пальцем.
Если в EVT[ EVT_TYPE ] находится EVT_TOUCHBEGIN, EVT_TOUCHMOVE или EVT_TOUCHEND - то это последующие нажатия остальными пальцами.
При этом в EVT[ EVT_SCANCODE ] находится номер нажатия (от нуля).

Тыкнули одним пальцем. Получили
EVT[ EVT_SCANCODE ] = 0
EVT[ EVT_TYPE ] = EVT_MOUSEBUTTONDOWN

Тыкнули вторым. Получаем
EVT[ EVT_SCANCODE ] = 1
EVT[ EVT_TYPE ] = EVT_TOUCHBEGIN
J3d1
Posts: 175
Joined: Wed Oct 15, 2008 4:49 am
Location: г. Абакан, Хакасия
Contact:

Re: Pixilang v3.4

Post by J3d1 »

Большое спасибо, попробую!
Several light
Posts: 68
Joined: Sun Jun 28, 2009 11:07 pm

Re: Pixilang v3.4

Post by Several light »

Здорово теперь можно кодить под андройдом)) Спасибо!

И один вопрос предполагается ли в перспективе сделать распределение освещения в режиме OpenGL ?
User avatar
NightRadio
Site Admin
Posts: 3944
Joined: Fri Jan 23, 2004 12:28 am
Location: Ekaterinburg. Russia
Contact:

Re: Pixilang v3.4

Post by NightRadio »

Думаю, освещение со временем появится. Вместе с другими OpenGL-функциями.
А пока OpenGL используется просто для ускорения работы Pixilang-примитивов.
Several light
Posts: 68
Joined: Sun Jun 28, 2009 11:07 pm

Re: Pixilang v3.4

Post by Several light »

И ещё один вопрос, под Windows консоль никак нельзя вызвать?
User avatar
NightRadio
Site Admin
Posts: 3944
Joined: Fri Jan 23, 2004 12:28 am
Location: Ekaterinburg. Russia
Contact:

Re: Pixilang v3.4

Post by NightRadio »

Опять забыл ее прикрутить... )
Нет, вызвать никак. Только при компиляции можно указать, чтобы она показывалась.
Я сделаю отдельную версию
J3d1
Posts: 175
Joined: Wed Oct 15, 2008 4:49 am
Location: г. Абакан, Хакасия
Contact:

Re: Pixilang v3.4

Post by J3d1 »

Да, без консольки отлаживать не очень удобно. Выложите пожалуйста.
User avatar
NightRadio
Site Admin
Posts: 3944
Joined: Fri Jan 23, 2004 12:28 am
Location: Ekaterinburg. Russia
Contact:

Re: Pixilang v3.4

Post by NightRadio »

J3d1
Posts: 175
Joined: Wed Oct 15, 2008 4:49 am
Location: г. Абакан, Хакасия
Contact:

Re: Pixilang v3.4

Post by J3d1 »

Спасибо!
User avatar
NightRadio
Site Admin
Posts: 3944
Joined: Fri Jan 23, 2004 12:28 am
Location: Ekaterinburg. Russia
Contact:

Re: Pixilang v3.4

Post by NightRadio »

Это, кстати, свежая версия, там одна полезная фича добавлена - проверка валидности адресов. То есть, например, не получится сделать goto на несуществующую метку, или вызвать функцию, которой нет. Или вот такой код: ff = 123 ff() - тоже не прокатит, так как VM поймет, что 123 - это не адрес функции. Адресные ошибка пока сыплются в консоль.
J3d1
Posts: 175
Joined: Wed Oct 15, 2008 4:49 am
Location: г. Абакан, Хакасия
Contact:

Re: Pixilang v3.4

Post by J3d1 »

Alex, придумал начать с просмотровщика графических файлов (пиксельарта) из локальной папки. Захотелось, чтобы снизу были превьюшки картинок и их можно было-бы туда-сюда двигать и выбирать. Для получения списка имен файлов в нужной директории в pixi под linux или windows использовался бы вызов метода ф-и из .so или .dll. А вот в dalvik можно-ли вызвать метод функции средствами pixilang из .so файла, запакованного в пакет apk?
User avatar
NightRadio
Site Admin
Posts: 3944
Joined: Fri Jan 23, 2004 12:28 am
Location: Ekaterinburg. Russia
Contact:

Re: Pixilang v3.4

Post by NightRadio »

для ARM-сборок подключение внешних библиотек пока не работает - не успел прикрутить.
Может, мне просто приделать функции получения списка файлов к Pixilang? :) Давно собирался
Post Reply