Проект Blaze, Lua для xtreme3d.

  Вход на форум   логин       пароль   Забыли пароль? Регистрация
On-line:  

Раздел: 
Форум движка Xtreme3D / Xtreme3D: в процессе разработки / Проект Blaze, Lua для xtreme3d.

Страницы: 1  новая тема

Автор Сообщение

бывалый
Группа: Участники
Сообщений: 37
Добавлено: 02-05-2017 17:25

Версия 0.0.3

Общее описание
BLAZE – Инструмент программирования основанный на скриптовом языке Lua. Основная идея программы заключается в объединении графического, звукового, физического движков для создания игр и программ.
В текущей версии программы используются:
xtreme3d – графический и физический движок.
gmsquall – звуковой движок.
file_dll - для работы с текстовыми и бинарными файлами.
IniLibGMDLL - для работы с ini файлами.
Также существуют отдельно созданные интерфейсы для создания окон, сообщений и взаимодействия с пользователем.
На данный момент возможности сильно ограничены, но в будущем есть планы их расширить.
Данная программа может быть полезна пользователям game maker или любителям других игровых конструкторов начинающим изучение программирования.
Практически все функции будут идентичны стандартным функциям game maker за исключением названий из которых я решил удалить символ «_».
Наименование функций xtreme3d остались неизменны как и константы. Поэтому справки по данному движку не будет её Вы можете найти здесь: xtreme3d.narod.ru
Здесь не будет описан функционал языка lua, как им пользоваться ознакомьтесь на соответствующих сайтах и в примерах к данной программе.

Что нового в текущей версии
1. Добавлено расширение "file_dll" для работы с текстовыми и бинарными файлами.
2. Добавлено расширение "IniLibGMDLL" для работы с ini файлами.
3. Добавлена функция "WindowsstylеAdd" для логического сложения стилей окон и сообщений.
4. Добавлена функция "ExecuteFile" для выполнения части кода Lua из разных файлов.
5. Переработан файл справки.
6. Расширен набор констант цветов до 218 штук.

Ссылка на скачивание:
Blaze v 0.0.3
или
https://drive.google.com/file/d/0B5wwHmedZoAWX1JULTlONExfZzA/view?usp=sharing

Big Boss
Группа: Администраторы
Сообщений: 633
Добавлено: 02-05-2017 18:52
Ух ты, круто! А я вообще-то хотел поддержку Lua встроить прямо в xtreme3d.dll, для удобства, чтобы в целевом языке не мучиться с привязкой всех функций (использовал CrystalLua, пока написал только врапперы для функций раздела Object). Тоже сделал функции для создания окон, ввода с клавиатуры и мыши. И буквально сегодня начал экспериментировать со Squall, его тоже собирался встроить. Прямо совпадение какое-то. Теперь уже сомневаюсь - если такая большая работа уже проделана, есть ли смысл ее повторять?)

А ничего, если я Blaze на сайт выложу?

бывалый
Группа: Участники
Сообщений: 37
Добавлено: 03-05-2017 02:47
Я буду только рад увидеть её на Вашем сайте. Раз уж начали, то продолжайте. Тем более будет интересно наблюдать за параллельным развитием проектов. Порт Delphi->Lua использую другой "Lua4Delphi-0.0.3" тоже начинал с "CrystalLUA" почти закончил экспортирование функций но в конечном итоге отказался. У неё размер большой после компиляции и могу ошибаться но реализовать функцию "execute_file" на подобии как в game maker может не получится. Зато по CrystalLUA вопросы можно автору задавать.
Самое важное чтоб программа синтаксические ошибки показывала, хотя бы номер строки. Это у меня не выходит сделать.

Big Boss
Группа: Администраторы
Сообщений: 633
Добавлено: 03-05-2017 10:31
Ага, спасибо, на днях выложу.
У меня вот такой API для Lua выходит:

lua = LuaManagerCreate();
LuaManagerSetConstantReal(lua, 'globalBack', global.back);
LuaManagerSetConstantReal(lua, 'globalScene', global.scene);
LuaManagerSetConstantReal(lua, 'globalSront', global.front);

script = TextRead('scripts/test1.lua');
if not LuaManagerRunScript(lua, script)
game_end();

LuaManagerCallFunction(lua, 'someLuaFunction');

Т.е., можно однократно выполнить скрипт из строки, а потом вызывать функции Lua из него.

Размер бинарника у меня увеличился всего на 100 кб (+ lua.dll в 53 кб) - по-моему, это нормально.

А вывод ошибок делается очень просто - LuaManagerRunScript ловит исключение, которое выбрасывает CrystalLua:

try
lua.RunScript(script);
except
On E: Exception do
begin
ShowMessage(E.Message);
result := 0;
end;
end;

бывалый
Группа: Участники
Сообщений: 37
Добавлено: 03-05-2017 18:09
Идея очень интересна, когда выйдет обновление с удовольствием опробую.

бывалый
Группа: Участники
Сообщений: 37
Добавлено: 11-06-2017 13:09
Здравствуйте! Наконец-то обновил версию программы!


Группа: Участники
Сообщений: 2
Добавлено: 13-06-2017 02:17
справка не работает

Big Boss
Группа: Администраторы
Сообщений: 633
Добавлено: 13-06-2017 11:04
Да, со справкой что-то не то в последней версии:


бывалый
Группа: Участники
Сообщений: 37
Добавлено: 14-06-2017 09:00
Понял. Постараюсь побыстрее переделать

Страницы: 1  новая тема
Раздел: 
Форум движка Xtreme3D / Xtreme3D: в процессе разработки / Проект Blaze, Lua для xtreme3d.

Отвечать на темы могут только зарегистрированные пользователи

KXK.RU