Refastnavigationdelphi
Port de la navigation à la refonte vers Delphi
Emplacement du code source: https://github.com/memononen/recastnavigation
Version du code source: vers le 01 novembre 2014
Directives de portage:
- Recastnavigationdelphi est un clone droit de refonte avec le moins de changements possible, pour permettre de maintenir les projets synchronisés à l'avenir.
- Toute modification / amélioration de la fonctionnalité LIB doit d'abord être incluse dans C ++ Master pour éviter la séparation.
- RND suit de très près la structure RN, à l'exception de l'interface graphique, qui est VCL pour la simplicité au lieu d'une solution IMGUI RN.
- Tous les noms de fichiers sont les mêmes, mais avec un préfixe "RN_".
- Certaines unités ont été divisées pour éviter les dépendances circulaires, elles sont appelées RN_UnitNameHelper.
Conseils sur le code:
- Les boucles et boucles multi-conditions "pour les boucles et les boucles où l'itérateur est changé à l'intérieur de la boucle, a été converti en boucles While / Repeal. Le code de boucle doit être répété avant tout "continuer".
- Déplacer la méthode Les deux premiers arguments (SRC, DST) doivent être échangés dans Delphi.
- Delphi doit envelopper des manipulations débordantes avec une directive {$ o} pour supprimer les erreurs.
- Delphi a besoin d'élimination manuelle des objets créés dans l'enregistrement, car ils n'ont pas de support de destructeur intégré.
- Pour simplifier la ruse du pointeur, {$ pointermath sur} a dû être activé presque dans chaque unité.
- Le réglage de l'opérateur tapé est une grande aide, mais malheureusement, cela ne fonctionne pas parfois.
Pièges communs pendant le portage:
- Passing Argument @SomePointer au lieu d' un certainpointer . Typed @ aide à les attraper, mais pas toujours.
- Appeler des méthodes Move / Fillchar sans échanger des places d'arguments.
- Écriture pour .. à .. faire une boucle plutôt que pour .. Down à .. faire dans de rares cas.
Todos:
- Correction de la pléthore de fuites de mémoire autour du code.
- Demo Tempobstacles.
- Certaines pièces sont commentées, attendant d'être portées.
- Synchroniser avec l'état actuel du code source.