Modified Quake to run as an Android application.
+ Add an Android Java application to interface with the Android Java runtime.
+ Add a downloader activity that enables the application to download the Quake data files from
a web server.
+ Converted to C++. (Not nescessary, just convenient.)
+ Converted from OpenGL to OpenGL ES 1.0
+ Converted from an application to a shared library that's called from Java.
+ Support Android audio, events, and networking
+ Add minimal support for running with trackball, touch screen.
+ Remap key assignments for use with the T-mobile G1 keyboard.
Features
The UI is clunky, but servicable, at least on a T-mobile G1. You can play the
shareware levels, in both single-player and multi-player deathmatches over WiFi.
On keyboardless devices you can't do much, other than admire the attract mode and quit.
Quake actually contains two source trees: QuakeWorld and WinQuake. The difference is in
how the two games implement multiplayer. QuakeWorld is client/server, while WinQuake is
peer-to-peer. QuakeWorld has only been partially converted, and is not currently compiled
or run. We concentrated on WinQuake because it was able to reliably replay the timedemo demos.
We use timedemo in WinQuake to measure OpenGL performance.
Historical Note
This change is a roll-up of numerous changes that were made in the private Google Android
perforce9 tree during the development of Android. It doesn't seem worth trying to preserve
the individual commit history, so I'm checking all the changes in at one time. This code
snapshot was taken from the Cupcake branch.
526 files changed