recastNavigationDelphi
重铸导航到Delphi的港口
源代码位置: https://github.com/memononen/recastnavigation
源代码版本: 2014年11月1日左右
移植指南:
- recastNavigationDelphi是重施加的直接克隆,并且尽可能少的变化,以使未来的项目同步。
- LIB功能的任何更改/改进都应首先包括在C ++主中,以避免分离。
- 除了GUI内容外,RND非常紧密地遵循RN结构,这是VCL的简单性而不是IMGUI RN解决方案。
- 所有文件名称均相同,但具有“ RN_”前缀。
- 某些单元被分开以避免循环依赖性,称为RN_UnitnameHelper。
暗示有关代码:
- 用于“循环和迭代器在循环内更改的循环和循环的多条件”,转换为/重复循环。在任何“继续”之前,需要重复循环代码。
- 移动方法前两个参数(SRC,DST)需要在Delphi中交换。
- Delphi需要用{$ o}指令将溢出的操作包裹起来,以减免错误。
- Delphi需要手动处理记录中创建的对象,因为它们没有内置的驱动器支持。
- 为了简化指针技巧, {$ pointermath on}几乎必须在每个单元中启用。
- 键入 @运算符设置非常有帮助,但可悲的是,有时它行不通。
移植过程中的常见陷阱:
- 传递参数@SomePointer而不是SomePointer 。 typed @有助于抓住这些,但并非总是如此。
- 调用移动/填充方法而无需交换参数位置。
- 为.. to ..做循环而不是..在极少数情况下做。
托多斯:
- 修复围绕代码的大量内存泄漏。
- Tempobstacles演示。
- 有些零件被评论出来,等待移植。
- 与源代码的当前状态同步。