Вверх ↑
Этот топик читают: Гость
Ответов: 2125
Рейтинг: 159
#16: 2008-02-01 18:54:16 ЛС | профиль | цитата
Эдик писал(а):
У меня нет чистого Дельфи4

А в HiAsm ты чем компилируешь?

Ладно, не парься, в Дельфи4 тоже работает, я сейчас проверил тот маленький пример с сайта (где руки с пистолетом).

Только DLL-ка у них там кривая. В W2K не грузится, ей видите ли нехватает kernel32 без расширения Хорошо, что рядышком такое же слово, но с .dll есть, достаточно пару байт поправить
Эдик, а у тебя, значит, XP...
------------ Дoбавленo:

Вот это у меня работает:

Add(Service,15682018,63,105)
{
Wait=0
link(onStart,16570816:doInit,[])
}
Add(InlineCode,16570816,119,105)
{
WorkPoints=#6:doInit|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|38:uses kol,Share,Debug,DGLEngine_header;|0:|4:type|29: THiAsmClass = class(TDebug)|9: private|8: public|45: procedure doInit(var dt:TData; idx:word);|6: end;|0:|14:implementation|0:|3:var|55: mdl_Arms, mdl_Pistol, tex_Arms, tex_Pistol: Cardinal;|0:|21:procedure EngineInit;|5:begin|61: mdl_Arms:=LoadModel('Data\arms.dmd',MDL_SCALE_EVERY_FRAME);|65: mdl_Pistol:=LoadModel('Data\pistol.dmd',MDL_SCALE_EVERY_FRAME);|49: tex_Arms:=LoadTextureFromFile('Data\body.jpg');|53: tex_Pistol:=LoadTextureFromFile('Data\pistol.jpg');|4:end;|0:|15:procedure Draw;|5:begin|0:|13: BeginObj3D;|14: SetLight();|27: Position3D(0,-0.25,0.1);|16: RotateZ(-90);|16: RotateY(-90);|24: SetTexture(tex_Arms);|30: DrawModel(mdl_Arms,0,true);|0:|27: //SetTexture(TEX_BLANK);|14: //DrawAxes;|0:|14: BeginObj3D;|28: Position3D(0.9,-0.07,0);|27: SetTexture(tex_Pistol);|17: Scale3D(0.3);|34: DrawModel(mdl_Pistol,0,false);|0:|28: //SetTexture(TEX_BLANK);|15: //DrawAxes;|0:|12: Endobj3D;|0:|19: DeactiveLight();|11: Endobj3D;|0:|4:end;|0:|17:procedure MyFree;|5:begin|31: FreeDGLEngineDLL('Game.exe');|4:end;|0:|18:procedure Process;|5:begin|0:|45: if IsKeyPressed(Key_Escape) then QuitEngine;|0:|4:end;|0:|0:|29:procedure THiAsmClass.doInit;|5:begin|43: if LoadDGLEngineDLL('DGLEngine.dll') then|7: begin|34: RegProcedure(PROC_DRAW,@Draw);|40: RegProcedure(PROC_PROCESS,@Process);|40: RegProcedure(PROC_INIT,@EngineInit);|36: RegProcedure(PROC_FREE,@MyFree);|0:|21: SetViewAngle(90);|32: SetCutingPlanes(0.05,100.0);|0:|59: SetEngineInitParametrs(800,600,32,85,false,false,true);|0:|16: StartEngine;|6: end;|4:end;|0:|4:end.|
}

карма: 1

0
Ответов: 2057
Рейтинг: 28
#17: 2008-02-01 20:13:46 ЛС | профиль | цитата
tsdima,1. Не каких ошибок не выскакивает.
2... форма DLL -ки появляеться и сразу же исчезает вмести закрытием программы.
вот что в логе успивает записать.
[01.02.2008|19:16:06] DGLEngine Version 1.0b Started...
Build: v1.00b,21.01.2007,1:01
http://dronprogs.mirgames.ru
Read Ini File ("Settings.ini").
--System Information--
Windows version: 5.1
CPU : AMD Athlon(tm) 64 X2 Dual Core Processor 4800+
RAM Available : 464Mb
RAM Total : 991Mb
Video device : GeForce 6150/PCI/SSE2/3DNOW!
OpenGL : 2.1.1 (NVIDIA Corporation)
Maximum texture resolution:4096x4096
Maximum multytexturing layers:4
----------------------
Engine created.
Windowed Mode.
Model "Dataarms.dmd" loaded successfully.
Model "Datapistol.dmd" loaded successfully.
Texture "Dataody.jpg" loaded successfully.
Texture "Datapistol.jpg" loaded successfully.

3. Последния версия Движка DGLE - это 1.0b

------------ Дoбавленo:


4. Вот форум Движка DGLE. Там можно с автором пообщаться. Я там задал вопрос, мне посоветовали вообще использовать статические линки.
------------ Дoбавленo:

5.
tsdima писал(а):
Эдик писал(а)
У меня нет чистого Дельфи4

А в HiAsm ты чем компилируешь?

Для меня чистый Делфи 4 это "Делфи 4 + VCL". В HiAsm VCL не используеться, значит он не чистый.
------------ Дoбавленo:

6. У меня WinXP SP2.
карма: 1

0
Ответов: 2125
Рейтинг: 159
#18: 2008-02-01 21:45:51 ЛС | профиль | цитата
Ну лог и у меня примерно так выглядит. Может у тебя какие проблемы с OpenGL? Другие программы, использующие OpenGL работают?
Проверил на XP, тоже всё работает. Попробуй на другом компьютере.
карма: 1

0
Ответов: 2057
Рейтинг: 28
#19: 2008-02-01 23:02:32 ЛС | профиль | цитата
tsdima, дай мне свой DGLEngine_header.pas который ты используешь. Может у нас разные версии.
2. Покажи свой лог.
3. У меня подозрение, что дело в Windoes.
------------ Дoбавленo:

Только что проверял на другом компьютере. То же самое. На обоях компьютерах Винда стоит одна и та же.
карма: 1

0
Ответов: 5227
Рейтинг: 586
#20: 2008-02-02 22:10:05 ЛС | профиль | цитата
Эдик - нашёл тут неплохую книженцию в html взгляни может пригодится, есть примеры на паскале...

залил сюда http://slil.ru/25430691
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 5227
Рейтинг: 586
#21: 2008-02-02 22:32:33 ЛС | профиль | цитата
Эдик извиняюсь но всёже примеры на Си, но читаются, даже я малость понимаю
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 2125
Рейтинг: 159
#22: 2008-02-03 00:28:36 ЛС | профиль | цитата
Эдик писал(а):
дай мне свой DGLEngine_header.pas

Думаю, он не слишком от твоего отличается. Проверь мой .exe, если и он не работает, то проблема в твоём компе.
карма: 1

0
файлы: 1dgle1.rar [23KB] [313]
Ответов: 2057
Рейтинг: 28
#23: 2008-02-05 02:13:28 ЛС | профиль | цитата
tsdima, всё заработало, с твоим DGLEngine_header.pas! Выходить в нем немного перемудрёно было. И EXE твой работает. Спасибо за помощь, очередной раз выручил.
------------ Дoбавленo:

Не могу зделать событие onResult в InlineCode. Вот код

#pas
unit HiAsmUnit;

interface

uses kol,Share,Debug, GameTypes, DGLEngine_header;

type
THiAsmClass = class(TDebug)
private

public
_data_Data:THI_Event;
Data1:THI_Event;
Data2:THI_Event;
Data3:THI_Event;
//onResult:THI_Event;
_event_onResult:THI_Event;

procedure doinit(var _Data:TData; Index:word);
procedure doPlayerX(var _Data:TData; Index:word);
end;


implementation

var Font, Space : cardinal;


procedure Init;
begin
DirectSoundInit;
end;


procedure Draw;
begin
Begin2D;
DrawTexture2D_Simple(Space,0,0,640,480);
End2D;

_hi_CreateEvent(_Data,@_event_onResult,2); // Вот здесь нужно оргонизовать событи onResult от InlineCode как это зделать?
//_hi_OnEvent(onResult,3);

Begin2D;
DrawExplo;
end;


procedure Process;
begin
if random(25) = 10 then CreateAsteroid(random(600),-64);
ProcessPlayer;
end;

procedure THiAsmClass.doInit;
begin
if LoadDGLEngineDLL('DGLEngine.dll') then
begin
RegProcedure(PROC_DRAW,@Draw);
end;
end;

procedure THiAsmClass.doPlayerX;
begin
PlayerX := ToIntegerEvent(Data1);

end;

end.
Помогите пожалуйста.
карма: 1

0
Ответов: 2057
Рейтинг: 28
#24: 2008-02-05 03:07:52 ЛС | профиль | цитата
Вот полный код.
code_8313.txt
карма: 1

0
файлы: 1code_8313.txt [3.7KB] [520]
Ответов: 2125
Рейтинг: 159
#25: 2008-02-05 15:23:33 ЛС | профиль | цитата
Ну и откуда твоя процедура Draw возьмёт адрес объекта? Надо его как-то где-то сохранить, в переменной например, но тогда нельзя будет линки на этот InlineCode в схеме использовать (но это тебе вряд-ли понадобится).
Предлагаю такие изменения:
code_8322.txt

Не рекомендовано использовать _hi_CreateEvent, если он не исполняется последним в процедуре, реализующей работу точки.

карма: 1

1
файлы: 1code_8322.txt [323B] [469]
Голосовали:Эдик
Ответов: 2057
Рейтинг: 28
#26: 2008-02-05 16:51:29 ЛС | профиль | цитата
tsdima, спасибо заработало.
карма: 1

0
Ответов: 1304
Рейтинг: 405
#27: 2010-05-24 23:56:18 ЛС | профиль | цитата
Эдик, вопрос по DGLE, почему проект подключения движка канул в пропасть, есть ли объективные причины?, или просто нехватка времени. Вопрос не праздный, просто не хочется наступать на пройденные грабли.
карма: 3

0
Ответов: 2057
Рейтинг: 28
#28: 2010-05-25 15:51:06 ЛС | профиль | цитата
MAV писал(а):
Эдик, вопрос по DGLE, почему проект подключения движка канул в пропасть

Не охота им заниматься. Если есть время, то попробуй сам его подключить.
карма: 1

0
Ответов: 1304
Рейтинг: 405
#29: 2010-06-14 01:16:46 ЛС | профиль | цитата
Появилось немного времени занялся подключением. DGLE версии 1.1 отпал по причине отсутствия поддержки VBO. Из остальных претендентов пока больше всего нравиться eXgine по причине совместимости с пакетом Windows(OpenGL). Рассматривал ещё CAST II и DGLE2, первый засчитан на DX, второй пока существует в тестовом режиме.
Небольшой пример eXgine, визуализации ландшафта через VBO и применение скайбокса.(пока без исходников)
http://www.hiasm.com/forum_serv.php?q=56&id=1520
внимание! пример ресурсоёмкий, запускать на видеокартах уровня GF 6600 и выше
загружается 522000 полигона.

карма: 3

9
Голосовали:Dilma, nesco, LainX, Assasin, petrocan, filyaxxxcom, Konst, tig-rrr, Shonyi
Администрация
Ответов: 15294
Рейтинг: 1518
#30: 2010-06-14 01:27:24 ЛС | профиль | цитата
неплохо Пример не очень ресурсоемкий раз уж даже под виртуалкой больше 100 FPS держит...
карма: 26
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)