game engine - Is there a platform porting guide for Chilli Source? -
i have been planning start porting chilli source linux haven't found clear info on needs done port chilli source new platform.
is there guide explaining how or look? -where platform specific implementations "selected" in code? -what bare minimum systems platform needs implement , interface must implement? -how add target project generator? -what needs pre-compiled library , place them?
basically guide possibly 1 of existing platforms example fantastic. if not highlights in git repo answers welcomed.
thank you!
a full tutorial describing how port engine other platforms bit beyond scope of can provided here, can give quick overview.
a platform backend consists of:
- the entry point application
- window creation
- opengl context creation
- an implementation of each platform specific system.
the windows backend pretty example of this: can see entry point engine in main.cpp , window/context creation (using sfml) in sfmlwindow.cpp.
platform specific systems declared abstract, requiring each platform backend implement own version of it. systems created via create() factory method, using creation of platform specific concrete system hidden user. nice clean example of dialogueboxsystem.
only default systems require implementation on every platform - created in application::createdefaultsystems(). current, require implementation of:
platformsystemdevicescreenfilesystemdialogueboxsystemkeyboard(only required on systems have hardware keyboards)pointersystemdevicebuttonsystemtextentry
the create() factory method should return nullptr on platform doesn't implement system.
finally, you'll need build csbase library new platform - provides of third party code used engine: libpng, rapidxml, etc.
hopefully should enough point in right direction. it's worth checking out fzort's fork of cs has had running on linux: https://github.com/fzort/chillisource
Comments
Post a Comment