mkrupczak3 / Freedoom-for-Android

Freedoom with GZDoom for Android
GNU General Public License v2.0
88 stars 16 forks source link

Integrate @rdkgit 's download wad from URL fragment #45

Open mkrupczak3 opened 4 years ago

mkrupczak3 commented 4 years ago

Prospectus:

Adding this "download wad from URL" fragment like so would greatly enhance the functionality of this app for most users.

@rdkgit has been working on something like this that, after some auditing and testing, could be integrated with great effect into the Freedoom for Android app.

Background:

This Freedoom for Android app provides to users a bundle of an old version of the GZDoom engine capable of running most game "IWADS" for the idtech1 engine including doom, heretic, hexen, strife, etc. and the community-created Freedoom and Freedoom2 "IWADS".

To provide a complete software package that is usable, the community-created Doom replacement IWADS Freedoom.wad and Freedoom2.wad are bundled with the engine in this app in place of Doom.wad and Doom2.wad so users can start playing immediately without having to own or purchase non-free assets.

While this provides users a great amount of functionality with the base wholly free game, much of users' utility of the doom engine (and derivatives) is derived from its mapping community which have created thousands upon thousands of levels, mods, and an assorted few full-game replacement "IWADS" such as Chex Quest, etc.

These can range from complex mods or levels bundled as .pk3 files for use with the GZDoom engine, or (more commonly), "PWADS" which are individual level replacements for the doom & doom2 "IWADS" and are compatible with just about every modern Doom sourceport or limit-removing sourceport.

Freedoom and Freedoom2.wad are compatible with most community created content "PWADS" in place of Doom and Doom2.wad.

Current actions a user must take to install PWADS for use with the app:

  1. Find and download a zip archive containing the desired pwad
  2. Download an android app for unzipping archives
  3. Use this app to unzip the archive and extract the desired pwad
  4. Move this pwad to a somewhat arbitrary location in android, such as /storage/emlated/0/net.nullsum.freedoom/config/wads
  5. Select the desired wad from the main screen by pressing "Addons", "WADS", then your desired wad
  6. press "OK", then select the main game resource file to use (usually freedoom2.wad)
  7. press "Launch"
  8. start a "new game" as usual, but you will go to custom level instead of the normal first level of the game
  9. (alternate) some levels replace other maps than the first one in the game and may require use of a warp command or special launch argument (such as -warp 3 1) to get to it

Problems:

Steps 2, 3, and 4 here are very difficult for most users, even with appropriate instruction.

Proposed user happiness path with new "Download wad from URL fragment":

  1. User uses a web browser to find a pwad, mod, or iwad they would like to download
  2. The user pastes the URL into an appropriately labeled text field on a dedicated fragment of the Freedoom for Android app
  3. The user presses the "Download and install Button"
  4. The app discerns whether the downloaded zip contains an IWAD, PWAD, or mod, and installs it to the correct location without further user interaction.
  5. The user selects the newly downloaded and installed IWAD, PWAD or mod from the main screen
  6. press "OK", then select the main game resource file to use if launching a PWAD and not an IWAD (usually freedoom2.wad)
  7. press "Launch"
  8. start a "new game" as usual, but you will go to custom level instead of the normal first level of the game
  9. (alternate) some levels replace other maps than the first one in the game and may require use of a warp command or special launch argument (such as -warp 3 1) to get to it