Skip to content

MichaelCrimando/DOOM-iOS

 
 

Repository files navigation

DOOM for iOS 11 and tvOS for Apple TV and SmartDeviceLink

Video of this running in vehicle via SmartDeviceLink: https://youtu.be/hkNyXBuQ3us

  1. FYI if you want encrypted streaming, you need to put the FMCSecurity folder in the code/iphone/ folder. You can get this through the Ford Developer Program https://developer.ford.com/pages/your-application (but I have seen the FMCSecurity Library committed in other Github repos...)
  2. Touch events don't work. So you need to first have the phone disconnected from the system, select and start your level, THEN launch it on the vehicle.
  3. When implementing the FMCSecurity manager, you may need to modify a line in FMCSecurityManager.h from //#import "SDLSecurityType.h" to #import <SmartDeviceLink/SDLSecurityType.h>

Now for comments from original fork:

This is my update for DOOM for iOS to run on iOS 11, running in modern resolutions including the full width of the iPhone X. I have also made a target and version for tvOS to run on Apple TV

Improvements/Changes

  • Compiles and runs in iOS 11 SDK
  • Orientation and coordinate system fixed to reflect iOS 8 changes
  • C warnings fixed for Xcode 9.3
  • Basic MFi controller support
  • Structure and View Controller usage grafted in from the DOOM-iOS2 repository and public user forks, unused code and embedded xcodeproj use eliminated
  • Second project target for tvOS that takes advantage of focus model and removes on-screen controls.

This commit adds placeholder files for the "IB Images" folder and the idGinzaNar-Md2.otf font file. You will still need to provide your own copies of doom.wad and base.iPack.

You can find the file doom.wad in any installation of DOOM, available on Steam, GOG, and floppy disk from 1-800-IDGAMES (note: do not call 1-800-IDGAMES I don't know where it goes anymore).

The file base.iPack is not included in any DOOM installation and is specific to the iOS port. I can't include it in this repo because it contains copyrighted material and I can't tell you where to find it either, but you will need to source it yourself. The history is included in this lengthy article I wrote on the subject. At some point I hope to have a utility that will let you construct a base.iPack file but for now I don't.

This repo contains changes from id's DOOM-iOS2 repo (different than the parent of this repo), changes from the FinalJudgement repo by JadingTsunami, and MFi controller code from TheRohans.

For a rundown of the effort to get it running on tvOS, I wrote a second lenghty article on the subject. In addition to the work incorporated above, I incorporated the efforts of yarsrevenge in getting the basics of the tvOS version going.

Video of DOOM running on an iPhone X

Video of DOOM running on an Apple TV

Have fun. For any questions I can be reached at tomkidd@gmail.com

Releases

No releases published

Packages

No packages published

Languages

  • C 56.2%
  • C++ 39.1%
  • HTML 2.3%
  • Objective-C++ 1.2%
  • Objective-C 0.6%
  • Assembly 0.3%
  • Other 0.3%