This release changes the development process to a packaging centric one. Instead of copying files to the device’s storage, as in previous versions of PGS4A, this release focuses on making it far easier to create a release-worthy package.
To enable this, the old build.py tool has been replaced with a new android.py tool. The new tool has the following functions:
These changes were motivated by difficulties accessing the sdcard in some devices, and a general feeling that it was too hard to go from simple code to a market-ready package.
New to this release is support for accessing assets in a package, using the android.assets.list() and android.assets.open() functions. The new split package layout makes it possible to includes assets as part of the packaging process.
Important: An application must call android.init() before it can receive input events. This prevents a crash on input.
PGS4A now uses Python 2.7.1.
The android.get_dpi() function retrieves the display DPI.
The android.show_keyboard() and android.hide_keyboard() functions show and hide the on-screen keyboard. For now, the application is responsible for mapping android keys to pygame keys, and then to unicode.
The following modules have been added by default: urllib2, io, uuid, json. The following encodings have been added: idna, base64, hex.
The sqlite and PIL libraries are available, and can be enabled with the –with-sqlite3 and –with-PIL options.
The packaging tool now include PGS4A as part of the packages it builds. While this makes the packages somewhat larger, doing this prevents the end user from having to download a second package to run a game, and allows multiple PGS4A games to run simultaneously. It also ensures that changes to PGS4A will not break games on user devices.
The packaging tool has been rewritten, and now takes more options. It allows permissions (allowing vibration and internet access) to be supplied on a per-application basis. It also allows the presplash screen to be specified on a per-application basis.
Windows support has been added to the packaging tool.
The new android.vibrate() function allows an application to request that the device vibrate for some period of time.
The new android.accelerometer_enable() and android.accelerometer_reading functions allow reading the device’s accelerometer.
Initial market release.