Game Development Reference
In-Depth Information
Extending Marmalade
with the Extensions
Development Kit (EDK)
In the previous chapter we mentioned how Marmalade's Extensions Development
Kit ( EDK ) was a possible way of adding functionality to a Marmalade application
that had not been otherwise exposed, by using the standard Marmalade APIs.
In this chapter we'll be looking at the following topics:
• An overview of what the EDK is and why it is needed
• How to extend Marmalade by creating an EDK extension for Windows,
iOS, and Android to support reading gyroscope information
Why is the EDK necessary?
The Marmalade SDK manages to work its magic of being able to take one codebase
and deploy it to multiple platforms by providing a set of APIs that sit on top of the
APIs specific to each platform.
A deployed application executable actually consists of two separate files. Our
application code is compiled into an S3E file , which is the Marmalade equivalent of
a Windows Dynamic Link Library ( DLL ). This file is the same across all platforms.
In order to execute our S3E file, a Loader program is used. This program is the glue
between the platform we are running on and our own code. The loader program starts
up first, loads the S3E file into memory, and then passes control to the code within it.
If our code needs to make a platform-dependant call, it actually makes a request to a
function in the loader that will then call the correct operating system function.
Search WWH ::




Custom Search