Cocos2d-x 3.0이 될 develop 브랜치를 둘러보겠습니다. 2013년 11월 9일자 006c403f61을 기준으로 하겠습니다.

디렉터리 구조 개편

디렉터리 구조가 대대적으로 개편되었습니다. 그 전에는 메인 라이브러리인 cocos2dx 아래에 대부분의 소스가 들어가 있었고, platform/third_party 아래에 여러가지 플랫폼별 라이브러리와 헤더가 들어가 있었습니다.

third_party 아레에 있던 라이브러리와 헤더는 모두 최상위 external 디렉터리로 옮겨갔습니다. 플랫폼별 구분은 win32-specific, linux-specific과 같은 식으로 구분됩니다.

build라는 디렉터리가 생겼는데 이곳에 빌드에 관련된 모든 프로젝트 파일과 스크립트 파일이 위치하게 됩니다. 이전에는 최상위 디렉터리에 있었는데, 플랫폼이 늘면서 매우 지저분해졌었습니다.

cocos2dx 디렉터리는 cocos로 바뀌었고 아래 구조와 같이 개편되었습니다.

cocos
├2d
├audio
├base
├editor-support
├gui
├math
├network
├physics
├scripting
└storage

먼저 2d 디렉터리가 생겼는데, 이곳에 cocos2dx의 메인 라이브러리가 들어있고 플랫폼별 코드도 들어있습니다. 앞으로 3d를 지원할 것이라는 느낌을 강하게 풍기는데요. 실제로도 cocos2d-x github에 cocos3d라는 브랜치가 있습니다. cocos/3d 디렉터리 아래에 3D 구현 코드들이 올라오고 있습니다.

다른 특이한 점이라면 extension으로 존재했던 CocoStudio, spine 지원 코드들이 editor-support 아래에 들어갔습니다. 또한 extension이었던 GUI, network, physics, LocalStorage들도 cocos 메인 라이브러리에 흡수되었습니다.

CocosDenshion은 cocos/audio, scripting은 cocos/scripting으로 정리가 되었습니다.

Android 빌드 스크립트

윈도우에서 Android용으로 빌드하기 위해서는 cygwin을 설치해야 했습니다. 설치도 번거롭고 사소한 문제들 때문에 빌드가 안되는 경우가 많아 다소 불편했었습니다.

이번에 build_native.py라는 파이썬 스크립트가 포함되었습니다. 이제 윈도우에서도 cygwin 없이 python만 설치되어 있으면 Android용으로 간편하게 빌드할 수 있습니다.

기타 플랫폼

메인 플랫폼인 iOS(Mac), Android, Win32, Linux를 제외한 기타 플랫폼들의 프로젝트 파일들과 코드들이 모두 삭제되었습니다. 이번에 디렉터리 구조를 대대적으로 개편하면서, 모두 날린 것인데요. Tizen 뿐만 아니라, emscripten, Google Native Client, QT5 등도 모두 삭제되었습니다.

각 플랫폼별 메인테이너들은 다시 작업해서 올려야 되는 상황이 왔습니다. 저도 Tizen 플랫폼을 다시 작업해서 올려야 하는데, Tizen SDK의 GCC 버전 문제가 해결되면 작업을 시작해볼 생각입니다. (range-based for 컴파일 에러나는 것을 일반 for로 고치고 #ifdef로 감싸는 것은 정말 지겨운 작업이라서 손을 못대고 있습니다. 시간 들여서 고쳐봐야, pull request를 받아주지도 않습니다.)

master 브랜치인 Cocos2d-x 2.2 버전대에는 Tizen을 비롯한 여러 플랫폼 코드가 그대로 남아 있습니다.


저작권 안내

이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.
  • 블로그, 게시판 등에 퍼가는 것을 금지합니다.
  • 비공개 포스트에 퍼가는 것을 금지합니다.
  • 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
  • 링크 및 SNS 공유는 허용합니다.

Published

10 November 2013