Thief007 / swingamesdk

Automatically exported from code.google.com/p/swingamesdk
1 stars 2 forks source link

SwinGame SDK is divided into multiple sections:

CoreSDK contains the main code for the SwinGame API (Pascal). Demos contains all the demo code (mostly for SwinGame 2) Dist - contains the files for distribution that are created by the scripts in Tools Templates - contains the static parts of the distributions. These files are copied by the scripts in Tools into the Dist directory when built Tests - contains testing code and the Test program that illustrates most functions in use (needs to be updated) Tools - contains the scripts that create the different distributions.

(old directories that need to be removed...) SDKs contains old templates that haven't been converted to the new form


Building the libraries:

(requires bash, and Python 2.6)

All the libraries can be built from the command line (using bash - install MSYS on windows).

The building scripts are in Tools/Scripts.

The scripts named "bundle_${lang}_templates.sh" can be called to create a given distribution in the Dist directory. The createlibrary.sh is used to compile the SwinGame API as a library (dll, so, or dylib), use -i to install the library. The scripts named "produce${platform}_templates.sh" can be used to create all of the files for distribution on that platform and to bundle them for distribution.


Testing new features:

This can be done with the ./build script in CoreSDK (on Mac only at the moment).


Structure of a template:

./ ./bin (or ./build) for output of compiling game ./lib includes SwinGame source and binaries ./obj (or ./tmp) for temporary output from compiling game ./Resources includes SwinGame resources (images, sounds, etc) ./src Source code for game

Of these Resources needs to retain the same structure to allow SwinGame to load data correctly.


Adding new templates to a language:

1: Create a project using the environment desired. 2: Check that it works :) 3: Remove shared folders including those in: 3.1: Templates/Common/Resources 3.2: Templates/${lang}/Common 4: Place template directory in /Templates/${lang}/${template kind} 5: Alter bundle_${lang}_templates.sh to include template for appropriate platforms