You can create landscapes (terrains) in the editor. Under Brush -> Terrain. The API does not include any terrain functions as well as geometry functions.
You can create landscapes (terrains) in the editor. Under Brush -> Terrain. The API does not include any terrain functions as well as geometry functions.
NecroSOFT - End of line -
Necro3D Game Engine Alpha 3
Alpha 3 updates:
- Lots of bug fixes in the editor and engine
- New user interface on some editor components
- Added fog (look in map properties)
- Sound support in dll
- Multiple joystick support
You can find it here:
http://necrodome.homeftp.net/MainNec...l=Download.txt
(Please let me know what you think of it, give me some feedback!)
NecroSOFT - End of line -
Necro3D Game Engine Alpha 4 is released!
Alpha 4 updates:
- GUI
- Basic physics
- Some bugfixes
You can find it here:
http://necrodome.homeftp.net/MainNec...l=Download.txt
NecroSOFT - End of line -
Nice.. good job
Maybe it's an idea to make a GUI tutorial.
No complex stuff, just a few dragable forms with some controls would suffice.
Coders rule nr 1: Face ur bugz.. dont cage them with code, kill'em with ur cursor.
Here is some code from my own test program. I will make a GUI tutorial soon.
It was just form my own testing purpose, it plays a sound and shows a window with 1 button.
[pascal]
unit MainForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, XpMan, OmegaTimer,
EngineImport, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
Timer : TOmegaTimer;
public
{ Public declarations }
procedure StartGame;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure MyClick(Sender: Pointer); stdcall;
begin
Necro3DLog('MyClick - Set font');
// Necro3DGUISetFont('MyWindow', 'MyButton', 'Chess.nft', 3, 1);
end;
procedure ConsoleCallback(Cmd, Arg: ShortString); stdcall;
begin
Necro3DLog('Console> CMD> '+cmd+' ARG> '+Arg);
end;
procedure IntroEndCallback; stdcall;
begin
// ShowMessage('StartGame');
Necro3DSoundPlay('Sounds\Cannon.wav', False);
// Necro3DGUIAddWindow('MyWindow', 'Texture_256.jpg', 20, 20, 60, 60, True);
Necro3DGUIAddButton('MyButton', 'MyWindow', 'Texture_256.jpg', 'Test.jpg', 'Texture_256.jpg', 10, 10, 10, 10, @MyClick);
Necro3DGUISetFont('MyWindow', 'MyButton', 'Chess.nft', 3, 1);
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
// Necro3DUnInit;
end;
procedure TForm1.Button1Click(Sender: TObject);
var Dir : ShortString;
begin
Dir := ExtractFileDir(Application.ExeName)+'\';
Necro3DInit(Dir, 'Test Game', 800, 600, 32);
Necro3DSetIntroEndCallback(@IntroEndCallback);
Timer.Enabled := True;
Necro3DShowLog;
Necro3DSetConsoleCallback(@ConsoleCallback);
Necro3DRegisterConsoleEvent('test', 'Hielfe ofzow');
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var i : integer;
begin
Caption := IntToStr(Timer.FPS);
Necro3DRender(Timer.Delta);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Timer.Enabled := False;
Necro3DUnInit;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Timer := TOmegaTimer.Create(Self);
Timer.MaxFPS := 1000;
Timer.Enabled := False;
Timer.OnTimer := Timer1Timer;
end;
procedure TForm1.StartGame;
begin
ShowMessage('Yeah!');
end;
end.
[/pascal]
NecroSOFT - End of line -
Bookmarks