There is no translation but we are working on it! Please ask us for support!
Im Yoda Verzeichniss befindet sich ein Beispiel Programm zum Auslesen der Echtzeiteffekte. Dieses Beispiel ist als Delphi Code und als C++ Code vorhanden. Damit lässt sich Yoda in eine andere Simulator Software einbinden.
Die verwendete Struktur bei der Übergabe von der DLL ist hierbei: struct Export { bool aktiv[40]; bool play[40]; int data[40]; int type[40]; };
Aktiv gibt an, ob der Effekt gerade erkannt wurde , oder nicht. Play gibt an, ob er garade gespielt wird (grünes Play Zeichen). Data enthält den Wert, der für Berrechnungen hergenommen werden kann. Type enthät Informationen über die Art des Effektes (Constant Force, Dumper etc.) Dies kann im Bereich Exportieren nachgelesen werden. Die dort aufgelisteten Typen sind gleich diesem Wert.
Um später im Code die Funktionen der DLL verwenden zu können müssen diese oben declariert werden:
// Define the dll funktion "GetExport" typedef Export (*TmyFunc1) (void); TmyFunc1 GetExport = NULL; // Define the dll funktion "EndYoda" typedef bool (*TmyFunc2) (int info); TmyFunc2 EndYoda = NULL;
// Set DLL handle HINSTANCE hDLL;
Dann kann die DLL wie gewohnt geladen werden und die Funktionen gelinkt werden:
// Load the buffer DLL in same Directory or insert here other location. hDLL = LoadLibrary (".\\buffer.dll"); if (hDLL == NULL){MessageBox("error while loading buffer.dll");} // Get the API funktion "GetExport" from the DLL GetExport = (TmyFunc1) GetProcAddress (hDLL, "GetExport"); // Get the API funktion "EndYoda" from the DLL EndYoda = (TmyFunc2) GetProcAddress (hDLL, "EndYoda");
Mit Export Result = GetExport (); wird dann die Struktur hereingelade. Die einzelnen Effekte können dann im eigenen Code verwendet werden. Dies wiederholt man am besten alle 190ms, da Yoda nicht schneller ist.
Die Werte sind natürlich nicht auf irgendwelche realen Zahlen, wie z.B. 1G geeicht. Sie müssen je nach Spiel verkürzt oder aufgezogen werden. Dies erledigt im X-Sim Packet der Force-Profiler, wobei der Force-Sender nur den obigen Code enthällt um damit über Netzwerk die Daten weitergeben zu können.
Es ist selten, das bei einem Ausschlag auch die Wirkrichtung mit angegeben wird. Diese könnte dann aber ebenfalls exportiert werden und in den 3 dimensionalen Raum gerechnet werden.
Viel Spass mit diesem Gimmick ...
|
|
Modificado el ( Tuesday, 09 de January de 2007 )
|