Skip to content
Freedoom with GZDoom for Android
C C++ Java Objective-C Makefile Perl
Branch: master
Clone or download
Pull request Compare This branch is 137 commits ahead, 3 commits behind nvllsvm:master.
Latest commit 9ce3db1 Nov 3, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
android_gzdoom trying a fix from nvllsvms ae5d351 commit Jan 12, 2018
doom Added 10sectors and 10sectors2 wads (small map megawads) Jun 20, 2019
gradle/wrapper Update gradle wrapper, clean up gradles Jun 3, 2019
libs Fix missing symbols in code by moving libs Jun 6, 2019
touchcontrols Utilize Java 1.8 (lambdas, methods, etc.), plus some code and xml cle… Jun 7, 2019
.editorconfig Reformat java and res using Ctrl+Alt+L Jun 6, 2019
.gitignore Clean up repository, especially touchcontrols Jun 3, 2019
.gitmodules refactoring and localization to russian, portugeese, and spanish May 5, 2019
CHANGELOG.md Cleanup patches Jun 25, 2017
LICENSE Add license Mar 7, 2017
Notes8_1.png add download fragment user stories Jun 16, 2019
README.md Update README.md Nov 3, 2019
build.gradle Update gradle wrapper, clean up gradles Jun 3, 2019
build.sh initial commit with changes after forking Jan 5, 2018
diff.sh Build tools changes Nov 18, 2017
gradle.properties jvmargs Mar 11, 2017
gradlew Update gradle wrapper, clean up gradles Jun 3, 2019
gradlew.bat Update gradle wrapper, clean up gradles Jun 3, 2019
icon.png
patches Rebase GZDoom to commit df1364e2d7bc3f23a1a3b7afb4c0be731fe080f8 Jun 18, 2017
settings.gradle Clean up repository, especially touchcontrols Jun 3, 2019

README.md

Freedoom for Android


A fork of nvllsvm's GZDoom-Android port. My idea for this fork was to upgrade nvllsvn's GZDoom-Android port, fix the C/C++ engine bugs and the java app bugs, and combine it with the open-source Freedoom (freedoom1.wad and freedoom2.wad) assets to publish a completely open source android game running on the doom engine.

This "bundling" has allowed it to reach a more diverse audience of users whom either don't own Doom or are averse to having to find and copy their legally-owned Doom resource files onto their phones. It has recently passed 550,000 downloads on the Play store.

Help translate!

https://www.transifex.com/krupczakorg/freedoom-gzdoom/dashboard/

Download

Play store link: https://play.google.com/store/apps/details?id=net.nullsum.freedoom

APK release: https://github.com/mkrupczak3/GZDoom-Android/releases

Why Freedoom?

While the Doom engine and its many spin-offs are open-sourced, most of the Doom's "assets" such as textures, sounds, and game levels are copyrighted and not legal to redistribute. The Freedoom project offers an alternative set of assets and game levels that are open-source and can be used with most Doom engines in place of the originals. In addition, Freedoom is compatible with much of the vast library of fan-made "WADs" (i.e. game levels) as indexed in the idgames archive.

Dev Blog (how I made this):

https://matthew.krupczak.org/2019/10/20/hawking-my-projects-ii-500000-installs-with-freedoom-for-android/

"Third-party" library versions used (update this whenever they are updated)

Roadmap (not in order)

Notes before building

A large portion of this project relies on the Android Native Development Kit (NDK) to compile C++ and C code from GZDoom and other sources for use with this app. You may need to install additional tools in your development environment before being able to build these portions successfully. For more information, please read the "Getting Started with the NDK" article from Google. To my knowledge the environment only compiles towards the ARMV7 architecture as found in smartphones and not towards x86 as found in most traditional computers. You may need to add support for x86 compilation or emulate the ARMV7 architecture to get this app working on a virtual device.

Building

If you are running Windows, you may need to execute some of these commands using the Cygwin environment to avoid unexpected behavior. If you install Cygwin on Windows, you should make sure that the "patch" command is installed with the environment.

You may also need to add your NDK folder to your PATH or add/remove a .bat extension from a command in build.sh depending on your platform.

Building (cont.)

git submodule update --init
./build.sh
./gradlew assemble

Credits

Thanks to:

  • Andrew Rabert (nvllsvm) for your amazing work on the GZDoom-Android fork.
  • Emile Belanger (Beloko Games) for his work on D-Touch and the rest of the OpenGames suite.
  • The Freedoom authors for an excellent set of open-source assets. Please also look at /doom/src/main/assets/CREDITS.txt for a more complete list of these contributors.
  • Anyone else I haven't mentioned

Disclaimer

This project is not affiliated with Doom or its publishers, Id Software or parent companies, or Bethesda. This project is not officially endorsed by the Freedoom project or GZDoom project.

License

Freedoom is released under a BSD-like license which can be found under /doom/src/main/assets/COPYING.txt. Most other code is GPL'd.

You can’t perform that action at this time.