Вверх ↑
Ответов: 2059
Рейтинг: 131
#1: 2018-08-04 00:29:12 ЛС | профиль | цитата
http://forum.hiasm.com/getfile/38418

Это простейшая консль для отладки скриптов.
Почему не такая?
Add(MainForm,2953706,21,105)
{
Width=570
Height=217
}
Add(InlineCode,9268460,308,84)
{
WorkPoints=#6:doWork|
EventPoints=#6:onTrue|0:|
DataPoints=#6:Param1|6:Param2|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|29:uses kol,Share,Windows,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|8: |10: public|21: Param1: THI_Event;|22: Param2: THI_Event; |19: onTrue: THI_Event;|3: |49: Procedure doWork(var _Data:TData; Index:Word); |0:|5: end;|0:|2: |15: implementation|0:|3: |29:Procedure THiAsmClass.doWork;|0:|0:|0:|3:var|12: s: string;|13: H: THandle;|12: P: TCoord;|17: NOCW: Cardinal;|13: i: integer;|41:buffer: TConsoleScreenBufferInfo; //?????|5:begin|15: AllocConsole;|5: try|23: SetConsoleCP(1251);|29: SetConsoleOutputCP(1251);|42: H := GetStdHandle(STD_OUTPUT_HANDLE);|103: SetConsoleTextAttribute( GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_GREEN + FOREGROUND_INTENSITY);|51: Write('Введите любое слово и нажмите ENTER: ');|61: SetConsoleTextAttribute( GetStdHandle(STD_OUTPUT_HANDLE),|72: FOREGROUND_BLUE Or FOREGROUND_GREEN Or FOREGROUND_INTENSITY );|14: Readln(s);|28: writeln('Вы ввели ',s );|40: Write('Нажмите ENTER для выхода: ');|11: readln;|65: SetConsoleTitle(PChar('ATitle')); // установить название окна|35: // за цвет отвечает младший байт|27: // биты 0-3 - цвет текста|95: // биты 4-7 - цвет фона //NewAttr := (AColor and $0F) or ((OldAttr shr 4) and $0F) shl 4;|36: SetConsoleTextAttribute(H, $A0);|52: // установка позиции курсора в консольном окне|15: P.X := 0;|15: P.Y := 0;|36: SetConsoleCursorPosition(H, P);|1: |7:Readln;|60:// FillConsoleOutputCharacter( H, ' ', 10 * 30, P, NOCW );|0:|0:|31: GetConsoleScreenBufferInfo(H,|12: buffer);|34: for i := 0 to buffer.dwSize.y do|12: writeln;|11: Readln; |9: finally|16: FreeConsole;|6: end;|2: |4:end;|0:|0:|4:end.|
}
Add(Button,575765,224,84)
{
Left=20
Top=30
link(onClick,9268460:doWork,[])
}

Чтобы косоль можно было встраивать в редакор.
http://forum.hiasm.com/getfile/38419
Нажимаем третью кнопочку справа.

Esc - отменить введённый текст.
F1 - многострочный ввод
F1 - возврат в консольный режим.
В консольном режиме каждая введённая строка исполняется.
Но в этом режиме нельзя описать многострочные функции и циклы.
Нажимаем F1 и копипастим кусок программы.
Нажимаем F1 и этот кусок исполняется.
Фокус должен быть на консоли!!!
Например:
for i = 1, 10 do
print(i)
end

Для чего это нужно?
На кубиках OGL достаточно сложно сделать Half-life-2.
Сценарии в виде lua, xml скриптов гораздо симпатичней.
Портировал в HiAsm из C# https://gcup.ru/news/irrlicht_perekhodit_na_platformu_net/2011-02-10-1856
Это не Враппер.
В движке Irrlicht реализованы широкие возможности импорта различных форматов текстур и 3D-моделей. Движок поддерживает и работает с самыми распространенными форматами 3D-графики: .OBJ, .3ds, .ms3d, .md2, xml и др. Все форматы графики и звуков.Практически все форматы сцен и ландшафтов.
Почему не Unity и Unreal думаю понятно.
Сцнеарии можно писать в IC.
Сейчас портирую физику IrrNewton, irrBullet и IrrPhysX.
Уже есть irrKlang(звуки ) и AI. Конечно можно BASS прицепить, но он слишком бедный для таких задач.
Всё совместимо с пакетом OGL от MAV.
Впрочем это уже другая тема будет, если не помру.
карма: 6

0
Редактировалось 10 раз(а), последний 2018-08-04 01:37:52