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演示。
- 有些零件被評論出來,等待移植。
- 與源代碼的當前狀態同步。