AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte RUTIS Engine (Scripting) [WinCE spinnt]
Thema durchsuchen
Ansicht
Themen-Optionen

RUTIS Engine (Scripting) [WinCE spinnt]

Ein Thema von olee · begonnen am 14. Jun 2009 · letzter Beitrag vom 20. Aug 2010
Antwort Antwort
Benutzerbild von olee
olee

Registriert seit: 16. Feb 2008
Ort: Boppard
540 Beiträge
 
Turbo Delphi für Win32
 
#1

Re: RUTIS Engine (Scripting) [BRANDNEUE VERSION]

  Alt 2. Jan 2010, 13:46
So,

Es sieh sehr gut aus mit RUTIS.

Nachdem es jetzt in einem vorerst abgeschlossenem Zustand ist, habe ich vor, das ganze in ein Projekt zu integrieren.

Es soll sich dabei um eine 3D-Game-Engine handeln, die der Nachfolger meiner schon nicht schlechten LOZ-Engine werden soll.

Dabei wird eben RUTIS ein wichtiger Bestandteil dieser Engine sein, und man soll fast vollständigen Zuriff auf die Objekte
der Engine (Player usw.) aus den Scripten heraus haben.

Des Weiteren arbeite ich noch daran, Records auszubauen und die Mehode zur Analyse von Ausdrücken ("a := 1+2; <- Der Teil hinter ":=") zu verbessern.

Vr allem durch das neue Projekt haben sich ein paar tolle Änderungen in RUTIS eingeschlichen.

Zunächst einmal werden nun Record-Felder genau so ausgerichtet, wie es in Delphi geschieht.
D.h. ein Record aus Delphi und RUTIS sind 100% zuweisungskompatibel. Über eien Trick lassen sich sogar Klassen mit Records gleichsetzen
Außerdem kann schon von Records einen Nachfahren erstellen.

Bsp:

Delphi-Quellcode:
type
  _TEntity = record
    // VMT ist der erste eintrag in einer Delphi-Klasse. Dort werden die virtuellen methoden und klassentyp usw. abgespeichert
    VMT : Pointer;
    Location : TVector3f;
    Rotation : TVector3f;
    Velocity : TVector3f;
  end;
  TEntity = ^_TEntity;

  _TCamera = record (_TEntity)
    FieldOfView : Single;
  end;
  TCamera = ^_TCamera;
Wenn man nun in Delphi die entsprechenden Klassendeklarationen zu TEntity und TCamera hat (ohne den VMT.Eintrag natürlich ),
so kann man, wenn man sich den Pointer der Klasse aus Delphi in RUTIS reinholt, die Einträge der Klasse direkt Verwenden.
Da das alles schon so ut funktioniert, werde ich wohl bald damit anfangen OOP (zumindest in einfachster Form) zu implementieren.

Einziges Manko ist noch, das Strings aus RUTIS und Delphi nicht direkt kompatibel sind, da Strings in RUTIS als
PAnsiString und nicht als AnsiString gespeichert werden (aus Gründen der Speicherverwaltung).
Ich werde wohl noch einen Typ DAnsiString / STrng (Delphi-String) einführen, damit ich einen kompatiblen Typ für Delphi besitze.

PS: Die genannten Änderungen an Records befinden sich noch nicht im Download, da ich damit noch nicht fertig bin.
Wenn jmd jedoch Interesse hat, das zu testen, kann ich es jetzt schon hochladen.


MFG
Björn Zeutzheim
Codename: Performancepumpe
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz