2015-04-28 69 views
-4

我一直計劃開始將Chilli Source移植到Linux上,但還沒有找到關於Chilli Source移植到新平臺需要做什麼的清晰信息。Chilli Source有平臺移植指南嗎?

有沒有指導它解釋如何做或在哪裏看? - 代碼中哪些平臺特定的實現被「選擇」? - 平臺需要實現的最低系統以及它們必須實現的接口是什麼? - 如何將額外的目標添加到項目生成器? - 需要預先編譯爲一個庫以及放置它們的位置?

基本上,可能以現有平臺之一作爲示例的指南將非常棒。如果不是隻是一些亮點,在git回購在哪裏尋找答案將受到歡迎。

謝謝!

回答

2

描述如何將引擎移植到其他平臺的完整教程略微超出了可以在此處提供的範圍,但是我可以快速瀏覽一下。

的平臺後端主要包括:

  • 的入口點的應用
  • 窗口創建
  • OpenGL上下文創建
  • 每個特定平臺的系統的實現。

在Windows後臺就是一個不錯的例子:你可以看到入口點到發動機Main.cpp和窗口/背景創作SFMLWindow.cpp(使用SFML)。

平臺特定的系統被聲明爲抽象的,要求每個平臺後端都實現它們自己的版本。所有系統都是通過Create()工廠方法創建的,使用創建特定於平臺的具體系統對用戶是隱藏的。一個很好的例子是DialogueBoxSystem

只有默認系統需要在每個平臺上執行 - 在Application::CreateDefaultSystems()中創建的系統。目前,這需要實現的:

  • PlatformSystem
  • Device
  • Screen
  • FileSystem
  • DialogueBoxSystem
  • Keyboard(只需要在其上有硬件鍵盤的系統)
  • PointerSystem
  • DeviceButtonSystem
  • TextEntry

Create()工廠方法應該不實現系統在任何平臺上返回nullptr

最後,你需要建立CSBase庫的新平臺 - 這提供了所有的發動機使用的第三方代碼:的libpng,rapidxml等

希望這應該足夠點你在正確的方向。還有一點值得一提,他已經在Linux上運行了Fzort的CS分支:https://github.com/fzort/ChilliSource