Neustreckungdelphi
Hafen der Navigation nach Delphi
Quellcode Ort: https://github.com/memononen/recastnavigation
Quellcodeversion: um den 01. November 2014
Portierungsrichtlinien:
- RecastnavigationDelphi ist ein gerader Klon der Neuaufwand mit so wenig Änderungen wie möglich, damit die Projekte in Zukunft synchronisiert werden können.
- Alle Änderungen/Verbesserungen der LIB -Funktionalität sollten zunächst in C ++ Master einbezogen werden, um eine Trennung zu vermeiden.
- RND folgt RN -Struktur sehr genau, mit Ausnahme von GUI -Sachen, das VCL für den Einfachheit halber anstelle von IMGUI -RN -Lösung ist.
- Alle Dateinamen sind gleich, aber mit einem "RN_" -Präfix.
- Einige Einheiten wurden aufgeteilt, um kreisförmige Abhängigkeiten zu vermeiden, sie werden RN_Unitnamehelper genannt.
Hinweise zum Code:
- Multi-Kondition "für" Schleifen und Schleifen, in denen Iterator in der Schleife geändert wird, wurden in die Zeit umgewandelt, in die/wiederholt/wiederholt. Der Schleifencode muss wiederholt werden, bevor "Weiter".
- MOVE -Methode Die ersten beiden Argumente (SRC, DST) müssen in Delphi getauscht werden.
- Delphi muss überfüllte Manipulationen mit einer {$ o} -Verrichtlinie für Versuchsfehler einwickeln.
- Delphi benötigt eine manuelle Entsorgung von Objekten, die in der Aufzeichnung erstellt wurden, da sie keine integrierte Destructor-Unterstützung enthalten.
- Um die Zeigertricks zu vereinfachen, musste {$ pointermath on} in jeder Einheit fast aktiviert werden.
- Die Einstellung von @ operator ist eine große Hilfe, aber leider funktioniert es manchmal nicht.
Häufige Fallstricke während des Portierung:
- Übergeben von Argument @Somepointer anstelle von einem Ausdruck . Typed @ hilft, diese zu fangen, aber nicht immer.
- Aufrufen von Move/Fillchar -Methoden ohne Auszüge von Argumenten Orte.
- Schreiben für .. zu .. Schleife statt für .. down .. in seltenen Fällen tun .
Todos:
- Beheben Sie die Fülle von Speicherlecks um den Code.
- Tempobstacles Demo.
- Einige Teile werden kommentiert und darauf warten, portiert zu werden.
- Synchronisieren Sie mit dem aktuellen Status des Quellcode.