Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Source release for DOOM Classic for iOS version 2.1

  • Loading branch information...
commit 3bf2af22f381441faccb13652bcf992a43bb8eb5 1 parent 0cdbbdf
@tbradshaw tbradshaw authored
Showing with 68,812 additions and 880 deletions.
  1. +345 −0 COPYING.txt
  2. +24 −0 DOOM CLASSIC IOS v.2.1 README.txt
  3. +24 −0 README.txt
  4. BIN  base/.DS_Store
  5. +133 −0 base/.svn/entries
  6. +5 −0 base/.svn/prop-base/base.iPack.svn-base
  7. +9 −0 base/.svn/prop-base/doom.wad.svn-base
  8. +5 −0 base/.svn/prop-base/prboom.wad.svn-base
  9. BIN  base/.svn/text-base/base.iPack.svn-base
  10. BIN  base/.svn/text-base/doom.wad.svn-base
  11. BIN  base/.svn/text-base/prboom.wad.svn-base
  12. BIN  base/prboom.wad
  13. +5 −0 code/.svn/dir-prop-base
  14. +105 −0 code/.svn/entries
  15. +1 −0  code/.svn/format
  16. +106 −0 code/.svn/text-base/doomiphone.h.svn-base
  17. +100 −0 code/.svn/text-base/wolfiphone.h.svn-base
  18. +6 −9 code/doomiphone.h
  19. +6 −0 code/iphone/.svn/dir-prop-base
  20. +1,391 −0 code/iphone/.svn/entries
  21. +1 −0  code/iphone/.svn/format
  22. +5 −0 code/iphone/.svn/prop-base/SoundEngine.cpp.svn-base
  23. +5 −0 code/iphone/.svn/prop-base/SoundEngine.h.svn-base
  24. +5 −0 code/iphone/.svn/prop-base/arialGlyphRects.h.svn-base
  25. +9 −0 code/iphone/.svn/prop-base/default.png.svn-base
  26. +5 −0 code/iphone/.svn/prop-base/doomAppDelegate.h.svn-base
  27. +5 −0 code/iphone/.svn/prop-base/doomAppDelegate.m.svn-base
  28. +5 −0 code/iphone/.svn/prop-base/doom_Prefix.pch.svn-base
  29. +5 −0 code/iphone/.svn/prop-base/doom_icon.png.svn-base
  30. +507 −0 code/iphone/.svn/text-base/BackgroundMusic.cpp.svn-base
  31. +48 −0 code/iphone/.svn/text-base/EAGLView.h.svn-base
  32. +334 −0 code/iphone/.svn/text-base/EAGLView.m.svn-base
  33. +38 −0 code/iphone/.svn/text-base/Info.plist.svn-base
  34. +233 −0 code/iphone/.svn/text-base/MainWindow.xib.svn-base
  35. +1,812 −0 code/iphone/.svn/text-base/SoundEngine.cpp.svn-base
  36. +383 −0 code/iphone/.svn/text-base/SoundEngine.h.svn-base
  37. +102 −0 code/iphone/.svn/text-base/arialGlyphRects.h.svn-base
  38. +149 −0 code/iphone/.svn/text-base/cmd.c.svn-base
  39. +375 −0 code/iphone/.svn/text-base/cvar.c.svn-base
  40. +145 −0 code/iphone/.svn/text-base/cvar.h.svn-base
  41. BIN  code/iphone/.svn/text-base/default.png.svn-base
  42. +8 −0 code/iphone/.svn/text-base/dist.plist.svn-base
  43. +39 −0 code/iphone/.svn/text-base/doomAppDelegate.h.svn-base
  44. +234 −0 code/iphone/.svn/text-base/doomAppDelegate.m.svn-base
  45. +8 −0 code/iphone/.svn/text-base/doom_Prefix.pch.svn-base
  46. BIN  code/iphone/.svn/text-base/doom_icon.png.svn-base
  47. +200 −0 code/iphone/.svn/text-base/gles_glue.c.svn-base
  48. +22 −0 code/iphone/.svn/text-base/gles_glue.h.svn-base
  49. +213 −0 code/iphone/.svn/text-base/hud.c.svn-base
  50. +398 −0 code/iphone/.svn/text-base/ipak.c.svn-base
  51. +160 −0 code/iphone/.svn/text-base/ipak.h.svn-base
  52. +973 −0 code/iphone/.svn/text-base/iphone_async.c.svn-base
  53. +552 −0 code/iphone/.svn/text-base/iphone_doom.h.svn-base
  54. +1,736 −0 code/iphone/.svn/text-base/iphone_loop.c.svn-base
  55. +514 −0 code/iphone/.svn/text-base/iphone_main.c.svn-base
  56. +423 −0 code/iphone/.svn/text-base/iphone_mapSelect.c.svn-base
  57. +925 −0 code/iphone/.svn/text-base/iphone_menus.c.svn-base
  58. +492 −0 code/iphone/.svn/text-base/iphone_net.c.svn-base
  59. +2,392 −0 code/iphone/.svn/text-base/iphone_qgl.h.svn-base
  60. +40 −0 code/iphone/.svn/text-base/iphone_qgl_enumerants.h.svn-base
  61. +1,739 −0 code/iphone/.svn/text-base/iphone_render.c.svn-base
  62. +268 −0 code/iphone/.svn/text-base/iphone_sound.c.svn-base
  63. +210 −0 code/iphone/.svn/text-base/iphone_start.c.svn-base
  64. +61 −0 code/iphone/.svn/text-base/iphone_sys.c.svn-base
  65. +299 −0 code/iphone/.svn/text-base/iphone_wolf.h.svn-base
  66. +49 −0 code/iphone/.svn/text-base/main.m.svn-base
  67. +56 −0 code/iphone/.svn/text-base/misc.c.svn-base
  68. +54 −0 code/iphone/.svn/text-base/misc.h.svn-base
  69. +344 −0 code/iphone/.svn/text-base/prboomInterface.c.svn-base
  70. +14 −15 code/iphone/BackgroundMusic.cpp
  71. +47 −0 code/iphone/ControlsMenuView.h
  72. +234 −0 code/iphone/ControlsMenuView.m
  73. +11 −0 code/iphone/Doom.xcodeproj/.svn/dir-prop-base
  74. +62 −0 code/iphone/Doom.xcodeproj/.svn/entries
  75. +1 −0  code/iphone/Doom.xcodeproj/.svn/format
  76. +5 −0 code/iphone/Doom.xcodeproj/.svn/prop-base/project.pbxproj.svn-base
  77. +1,019 −0 code/iphone/Doom.xcodeproj/.svn/text-base/project.pbxproj.svn-base
  78. +75 −94 code/iphone/Doom.xcodeproj/greghodges.mode1v3
  79. +355 −104 code/iphone/Doom.xcodeproj/greghodges.pbxuser
  80. +1,396 −0 code/iphone/Doom.xcodeproj/jeff.farrand.mode1v3
  81. +859 −0 code/iphone/Doom.xcodeproj/jeff.farrand.pbxuser
  82. +408 −46 code/iphone/Doom.xcodeproj/project.pbxproj
  83. +7 −0 code/iphone/Doom.xcodeproj/project.xcworkspace/contents.xcworkspacedata
  84. +16,752 −0 ...phone/Doom.xcodeproj/project.xcworkspace/xcuserdata/jeff.farrand.xcuserdatad/UserInterfaceState.xcuserstate
  85. +10 −0 .../iphone/Doom.xcodeproj/project.xcworkspace/xcuserdata/jeff.farrand.xcuserdatad/WorkspaceSettings.xcsettings
  86. +31 −0 code/iphone/Doom.xcodeproj/xcuserdata/jeff.farrand.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist
  87. +76 −0 code/iphone/Doom.xcodeproj/xcuserdata/jeff.farrand.xcuserdatad/xcschemes/Doom.xcscheme
  88. +22 −0 code/iphone/Doom.xcodeproj/xcuserdata/jeff.farrand.xcuserdatad/xcschemes/xcschememanagement.plist
  89. +6 −6 code/iphone/EAGLView.h
  90. +52 −28 code/iphone/EAGLView.m
  91. +42 −0 code/iphone/GenericMenuView.h
  92. +111 −0 code/iphone/GenericMenuView.m
  93. +47 −0 code/iphone/IBGlue.h
  94. +20 −0 code/iphone/IBGlue.m
  95. +31 −7 code/iphone/Info.plist
  96. +70 −0 code/iphone/MainMenuView.h
  97. +255 −0 code/iphone/MainMenuView.m
  98. +10,920 −169 code/iphone/MainWindow.xib
  99. +112 −0 code/iphone/MapMenuView.h
  100. +356 −0 code/iphone/MapMenuView.m
  101. +20 −0 code/iphone/MenuViewController.h
  102. +21 −0 code/iphone/MenuViewController.mm
  103. +10,938 −0 code/iphone/Resources-iPad/MainWindow-iPad.xib
  104. +45 −0 code/iphone/SettingsMenuView.h
  105. +122 −0 code/iphone/SettingsMenuView.m
  106. +18 −0 code/iphone/UICustomSlider.h
  107. +25 −0 code/iphone/UICustomSlider.m
  108. +22 −0 code/iphone/UICustomSwitch.h
  109. +56 −0 code/iphone/UICustomSwitch.m
  110. +33 −0 code/iphone/UIFontButton.h
  111. +118 −0 code/iphone/UIFontButton.m
  112. +19 −0 code/iphone/UIFontLabel.h
  113. +27 −0 code/iphone/UIFontLabel.m
  114. +3 −8 code/iphone/cmd.c
  115. +1 −1  code/iphone/cvar.c
  116. +1 −1  code/iphone/cvar.h
  117. +34 −2 code/iphone/doomAppDelegate.h
  118. +230 −35 code/iphone/doomAppDelegate.m
  119. +1 −1  code/iphone/doom_Prefix.pch
  120. +3 −3 code/iphone/gles_glue.c
  121. +1 −1  code/iphone/gles_glue.h
  122. +29 −10 code/iphone/hud.c
  123. +3 −21 code/iphone/ipak.c
  124. +1 −11 code/iphone/ipak.h
  125. +4 −21 code/iphone/iphone_async.c
  126. +2 −1  code/iphone/iphone_doom.h
  127. +1 −8 code/iphone/iphone_email.h
  128. +1 −8 code/iphone/iphone_email.m
  129. +99 −46 code/iphone/iphone_loop.c
  130. +9 −20 code/iphone/iphone_main.c
  131. +1 −9 code/iphone/iphone_mapSelect.c
  132. +73 −119 code/iphone/iphone_menus.c
  133. +1 −9 code/iphone/iphone_net.c
  134. +1 −9 code/iphone/iphone_render.c
  135. +1 −14 code/iphone/iphone_sound.c
  136. +9 −12 code/iphone/iphone_start.c
  137. +1 −1  code/iphone/iphone_sys.c
  138. +1 −1  code/iphone/main.m
  139. +1 −9 code/iphone/misc.c
  140. +1 −9 code/iphone/misc.h
  141. +3 −12 code/iphone/prboomInterface.c
  142. +912 −0 code/libtess/.svn/entries
  143. +1 −0  code/libtess/.svn/format
  144. +5 −0 code/libtess/.svn/prop-base/README.svn-base
  145. +5 −0 code/libtess/.svn/prop-base/alg-outline.svn-base
  146. +5 −0 code/libtess/.svn/prop-base/dict-list.h.svn-base
  147. +5 −0 code/libtess/.svn/prop-base/dict.c.svn-base
  148. +5 −0 code/libtess/.svn/prop-base/dict.h.svn-base
  149. +5 −0 code/libtess/.svn/prop-base/geom.c.svn-base
  150. +5 −0 code/libtess/.svn/prop-base/geom.h.svn-base
  151. +5 −0 code/libtess/.svn/prop-base/memalloc.c.svn-base
  152. +5 −0 code/libtess/.svn/prop-base/memalloc.h.svn-base
  153. +5 −0 code/libtess/.svn/prop-base/mesh.c.svn-base
  154. +5 −0 code/libtess/.svn/prop-base/mesh.h.svn-base
  155. +5 −0 code/libtess/.svn/prop-base/normal.c.svn-base
  156. +5 −0 code/libtess/.svn/prop-base/normal.h.svn-base
  157. +5 −0 code/libtess/.svn/prop-base/priorityq-heap.c.svn-base
  158. +5 −0 code/libtess/.svn/prop-base/priorityq-heap.h.svn-base
  159. +5 −0 code/libtess/.svn/prop-base/priorityq-sort.h.svn-base
  160. +5 −0 code/libtess/.svn/prop-base/priorityq.c.svn-base
  161. +5 −0 code/libtess/.svn/prop-base/priorityq.h.svn-base
  162. +5 −0 code/libtess/.svn/prop-base/render.c.svn-base
  163. +5 −0 code/libtess/.svn/prop-base/render.h.svn-base
  164. +5 −0 code/libtess/.svn/prop-base/sweep.c.svn-base
  165. +5 −0 code/libtess/.svn/prop-base/sweep.h.svn-base
  166. +5 −0 code/libtess/.svn/prop-base/tess.c.svn-base
  167. +5 −0 code/libtess/.svn/prop-base/tess.h.svn-base
  168. +5 −0 code/libtess/.svn/prop-base/tessmono.c.svn-base
  169. +5 −0 code/libtess/.svn/prop-base/tessmono.h.svn-base
  170. +446 −0 code/libtess/.svn/text-base/README.svn-base
  171. +228 −0 code/libtess/.svn/text-base/alg-outline.svn-base
  172. +100 −0 code/libtess/.svn/text-base/dict-list.h.svn-base
  173. +111 −0 code/libtess/.svn/text-base/dict.c.svn-base
  174. +100 −0 code/libtess/.svn/text-base/dict.h.svn-base
  175. +265 −0 code/libtess/.svn/text-base/geom.c.svn-base
  176. +84 −0 code/libtess/.svn/text-base/geom.h.svn-base
  177. +55 −0 code/libtess/.svn/text-base/memalloc.c.svn-base
  178. +54 −0 code/libtess/.svn/text-base/memalloc.h.svn-base
  179. +790 −0 code/libtess/.svn/text-base/mesh.c.svn-base
  180. +266 −0 code/libtess/.svn/text-base/mesh.h.svn-base
  181. +254 −0 code/libtess/.svn/text-base/normal.c.svn-base
  182. +45 −0 code/libtess/.svn/text-base/normal.h.svn-base
  183. +252 −0 code/libtess/.svn/text-base/priorityq-heap.c.svn-base
  184. +107 −0 code/libtess/.svn/text-base/priorityq-heap.h.svn-base
  185. +117 −0 code/libtess/.svn/text-base/priorityq-sort.h.svn-base
  186. +264 −0 code/libtess/.svn/text-base/priorityq.c.svn-base
Sorry, we could not display the entire diff because too many files (370) changed.
View
345 COPYING.txt
@@ -0,0 +1,345 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
View
24 DOOM CLASSIC IOS v.2.1 README.txt
@@ -0,0 +1,24 @@
+DOOM Classic iOS v2.1 GPL source release
+===============================================
+
+This file contains the following sections:
+
+GENERAL NOTES
+LICENSE
+
+GENERAL NOTES
+=============
+
+DOOM Classic iOS v2.1 is a free release, and can be downloaded from
+http://http://www.idsoftware.com/idstuff/doom/doomclassic_ios_v21_src.zip
+
+This source release does not contain any game data, the game data remains subject to the original EULA and applicable law.
+
+
+LICENSE
+=======
+
+See COPYING.txt for the GNU GENERAL PUBLIC LICENSE. If COPYING.txt does not accompany, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+
View
24 README.txt
@@ -0,0 +1,24 @@
+DOOM Classic iOS v2.1 GPL source release
+===============================================
+
+This file contains the following sections:
+
+GENERAL NOTES
+LICENSE
+
+GENERAL NOTES
+=============
+
+DOOM Classic iOS v2.1 is a free release, and can be downloaded from
+http://http://www.idsoftware.com/idstuff/doom/doomclassic_ios_v21_src.zip
+
+This source release does not contain any game data, the game data remains subject to the original EULA and applicable law.
+
+
+LICENSE
+=======
+
+See COPYING.txt for the GNU GENERAL PUBLIC LICENSE. If COPYING.txt does not accompany, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+
View
BIN  base/.DS_Store
Binary file not shown
View
133 base/.svn/entries
@@ -0,0 +1,133 @@
+10
+
+dir
+126
+svn://svn.eden.idsoftware.com/iphone/trunk/doom/base
+svn://svn.eden.idsoftware.com/iphone
+
+
+
+2009-07-10T19:42:59.113299Z
+119
+johnc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+b138b6a2-c55d-40dd-9022-e27c2c4ed457
+
+music
+dir
+
+base.iPack
+file
+
+
+
+
+2009-10-02T16:01:00.000000Z
+6faa1d952e42454c38a637052aa9a533
+2009-07-10T19:42:59.113299Z
+119
+johnc
+has-props
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+6541360
+
+doom.wad
+file
+
+
+
+
+2009-10-02T16:01:00.000000Z
+c4fe9fd920207691a9f493668e0a2083
+2009-05-04T22:48:10.686458Z
+85
+johnc
+has-props
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+12408292
+
+prboom.wad
+file
+
+
+
+
+2009-10-02T16:01:00.000000Z
+20a751b0bd1bff212f2e320db1db82bb
+2009-04-17T15:12:57.371339Z
+55
+johnc
+has-props
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+281020
+
View
5 base/.svn/prop-base/base.iPack.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
View
9 base/.svn/prop-base/doom.wad.svn-base
@@ -0,0 +1,9 @@
+K 14
+svn:executable
+V 1
+*
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
View
5 base/.svn/prop-base/prboom.wad.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
View
BIN  base/.svn/text-base/base.iPack.svn-base
Binary file not shown
View
BIN  base/.svn/text-base/doom.wad.svn-base
Binary file not shown
View
BIN  base/.svn/text-base/prboom.wad.svn-base
Binary file not shown
View
BIN  base/prboom.wad
Binary file not shown
View
5 code/.svn/dir-prop-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
View
105 code/.svn/entries
@@ -0,0 +1,105 @@
+9
+
+dir
+119
+svn://svn.eden.idsoftware.com/iphone/trunk/doom/code
+svn://svn.eden.idsoftware.com/iphone
+
+
+
+2009-07-10T19:42:59.113299Z
+119
+johnc
+has-props
+
+svn:special svn:externals svn:needs-lock
+
+
+
+
+
+
+
+
+
+
+
+b138b6a2-c55d-40dd-9022-e27c2c4ed457
+
+doomiphone.h
+file
+
+
+
+
+2009-07-07T20:07:39.000000Z
+228271d33cc005bbe9cc1f60acc11970
+2009-07-07T21:22:16.723278Z
+114
+johnc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+2410
+
+iphone
+dir
+
+libtess
+dir
+
+prboom
+dir
+
+wolfiphone.h
+file
+
+
+
+
+2009-05-15T16:26:33.625000Z
+d7f126798bae7ceaafc3b12d5277dcc1
+2009-04-30T17:26:10.292183Z
+75
+johnc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+2301
+
View
1  code/.svn/format
@@ -0,0 +1 @@
+9
View
106 code/.svn/text-base/doomiphone.h.svn-base
@@ -0,0 +1,106 @@
+/*
+ * doomiphone.h
+ * doom
+ *
+ * Created by John Carmack on 3/13/09.
+ * Copyright 2009 idSoftware. All rights reserved.
+ *
+ */
+
+#include <string.h>
+#include <stdarg.h>
+#include <assert.h>
+#include <setjmp.h>
+#include <math.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <dlfcn.h>
+#include <dlfcn.h>
+#include <time.h>
+#include <sys/time.h>
+#include <sys/stat.h>
+#include <sys/mman.h>
+#include <dirent.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <pthread.h>
+#include <semaphore.h>
+
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <sys/ioctl.h>
+#include <ifaddrs.h>
+
+#include <OpenGLES/ES1/gl.h>
+#include <OpenGLES/ES1/glext.h>
+#include "iphone/gles_glue.h"
+
+#include <OpenAL/al.h>
+#include <OpenAL/alc.h>
+#include <OpenAL/oalStaticBufferExtension.h>
+#undef ALCAPI
+#define ALCAPI
+
+#undef false
+#undef true
+
+#include "prboom/SDL_opengl.h"
+
+// prBoom code
+#include "prboom/m_fixed.h"
+#include "prboom/doomdef.h"
+#include "prboom/doomtype.h"
+#include "prboom/doomstat.h"
+#include "prboom/d_net.h"
+#include "prboom/dstrings.h"
+#include "prboom/sounds.h"
+#include "prboom/z_zone.h"
+#include "prboom/w_wad.h"
+#include "prboom/s_sound.h"
+#include "prboom/v_video.h"
+#include "prboom/f_finale.h"
+#include "prboom/f_wipe.h"
+#include "prboom/m_argv.h"
+#include "prboom/m_misc.h"
+#include "prboom/m_menu.h"
+#include "prboom/p_checksum.h"
+#include "prboom/i_main.h"
+#include "prboom/i_system.h"
+#include "prboom/i_sound.h"
+#include "prboom/i_video.h"
+#include "prboom/g_game.h"
+#include "prboom/hu_stuff.h"
+#include "prboom/wi_stuff.h"
+#include "prboom/st_stuff.h"
+#include "prboom/am_map.h"
+#include "prboom/p_setup.h"
+#include "prboom/r_draw.h"
+#include "prboom/r_main.h"
+#include "prboom/r_fps.h"
+#include "prboom/d_main.h"
+#include "prboom/d_deh.h"
+#include "prboom/lprintf.h"
+#include "prboom/am_map.h"
+#include "prboom/gl_intern.h"
+#include "prboom/p_mobj.h"
+#include "prboom/p_maputl.h"
+#include "prboom/p_map.h"
+// open / close name collision problem... #include "prboom/p_spec.h"
+#include "prboom/p_inter.h"
+#include "prboom/m_random.h"
+#include "prboom/m_bbox.h"
+#include "prboom/m_cheat.h"
+
+// we will now define landscapeViewport / landscapeScissor to rotate the coords
+#undef glViewport
+#undef glScissor
+
+// our vestigial system environment
+#include "iphone/misc.h"
+#include "iphone/cvar.h"
+
+// new iphone code
+#include "iphone/ipak.h"
+#include "iphone/iphone_doom.h"
+
View
100 code/.svn/text-base/wolfiphone.h.svn-base
@@ -0,0 +1,100 @@
+/*
+ * wolfiphone.h
+ * wolf3d
+ *
+ * Created by John Carmack on 3/13/09.
+ * Copyright 2009 idSoftware. All rights reserved.
+ *
+ */
+
+#include <string.h>
+#include <stdarg.h>
+#include <assert.h>
+#include <setjmp.h>
+#include <math.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <dlfcn.h>
+#include <dlfcn.h>
+#include <time.h>
+#include <sys/time.h>
+#include <sys/stat.h>
+#include <sys/mman.h>
+#include <dirent.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <pthread.h>
+
+#include <OpenGLES/ES1/gl.h>
+#include <OpenGLES/ES1/glext.h>
+#include "iphone/gles_glue.h"
+
+#include <OpenAL/al.h>
+#include <OpenAL/alc.h>
+#include <OpenAL/oalStaticBufferExtension.h>
+#undef ALCAPI
+#define ALCAPI
+
+#undef false
+#undef true
+
+#include "prboom/SDL_opengl.h"
+
+// prBoom code
+#include "prboom/m_fixed.h"
+#include "prboom/doomdef.h"
+#include "prboom/doomtype.h"
+#include "prboom/doomstat.h"
+#include "prboom/d_net.h"
+#include "prboom/dstrings.h"
+#include "prboom/sounds.h"
+#include "prboom/z_zone.h"
+#include "prboom/w_wad.h"
+#include "prboom/s_sound.h"
+#include "prboom/v_video.h"
+#include "prboom/f_finale.h"
+#include "prboom/f_wipe.h"
+#include "prboom/m_argv.h"
+#include "prboom/m_misc.h"
+#include "prboom/m_menu.h"
+#include "prboom/p_checksum.h"
+#include "prboom/i_main.h"
+#include "prboom/i_system.h"
+#include "prboom/i_sound.h"
+#include "prboom/i_video.h"
+#include "prboom/g_game.h"
+#include "prboom/hu_stuff.h"
+#include "prboom/wi_stuff.h"
+#include "prboom/st_stuff.h"
+#include "prboom/am_map.h"
+#include "prboom/p_setup.h"
+#include "prboom/r_draw.h"
+#include "prboom/r_main.h"
+#include "prboom/r_fps.h"
+#include "prboom/d_main.h"
+#include "prboom/d_deh.h"
+#include "prboom/lprintf.h"
+#include "prboom/am_map.h"
+#include "prboom/gl_intern.h"
+#include "prboom/p_mobj.h"
+#include "prboom/p_maputl.h"
+#include "prboom/p_map.h"
+// open / close name collision problem... #include "prboom/p_spec.h"
+#include "prboom/p_inter.h"
+#include "prboom/m_random.h"
+#include "prboom/m_bbox.h"
+
+// we will now define landscapeViewport / landscapeScissor to rotate the coords
+#undef glViewport
+#undef glScissor
+
+// our vestigial system environment
+#include "iphone/misc.h"
+#include "iphone/cvar.h"
+
+// new iphone code
+#include "iphone/ipak.h"
+#include "iphone/iphone_wolf.h"
+#include "iphone/iphone_sound.h"
+
View
15 code/doomiphone.h
@@ -1,13 +1,5 @@
/*
- * doomiphone.h
- * doom
- *
- * Created by John Carmack on 3/13/09.
- * Copyright 2009 idSoftware. All rights reserved.
- *
- */
-/*
-
+ Copyright (C) 2009-2011 id Software LLC, a ZeniMax Media company.
Copyright (C) 2009 Id Software, Inc.
This program is free software; you can redistribute it and/or
@@ -26,6 +18,8 @@
*/
+#ifndef _DOOM_IPHONE_H_
+#define _DOOM_IPHONE_H_
#include <string.h>
#include <stdarg.h>
@@ -121,7 +115,10 @@
#include "iphone/cvar.h"
// new iphone code
+#include "iphone/IBGlue.h"
#include "iphone/ipak.h"
#include "iphone/iphone_doom.h"
#include "iphone/iphone_email.h" //gsh, adds support for emailing the console to id
+
+#endif
View
6 code/iphone/.svn/dir-prop-base
@@ -0,0 +1,6 @@
+K 10
+svn:ignore
+V 6
+build
+
+END
View
1,391 code/iphone/.svn/entries
@@ -0,0 +1,1391 @@
+9
+
+dir
+119
+svn://svn.eden.idsoftware.com/iphone/trunk/doom/code/iphone
+svn://svn.eden.idsoftware.com/iphone
+
+
+
+2009-07-10T19:42:59.113299Z
+119
+johnc
+has-props
+
+svn:special svn:externals svn:needs-lock
+
+
+
+
+
+
+
+
+
+
+
+b138b6a2-c55d-40dd-9022-e27c2c4ed457
+
+BackgroundMusic.cpp
+file
+121
+
+
+
+2009-07-10T19:45:12.000000Z
+74f17d92145329220f7db0980edbe9a8
+2009-07-10T20:12:15.312233Z
+121
+johnc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+16492
+
+EAGLView.h
+file
+
+
+
+
+2009-04-24T16:33:27.000000Z
+33b0d3b24f5940a8b4b39e98d72d2b5e
+2009-04-24T16:31:15.372662Z
+71
+johnc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1626
+
+EAGLView.m
+file
+
+
+
+
+2009-07-10T18:30:49.000000Z
+55159a2360e0ea0dd6ec80feb2017974
+2009-07-10T19:26:34.286217Z
+116
+johnc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9378
+
+Info.plist
+file
+
+
+
+
+2009-05-25T20:27:09.000000Z
+a12892bf02977ac6a77f173fe7cec113
+2009-05-28T21:50:07.012008Z
+100
+johnc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1134
+
+MainWindow.xib
+file
+
+
+
+
+2009-05-15T14:50:30.000000Z
+965b00481159a14be6052640058da953
+2009-05-15T16:37:09.426631Z
+92
+johnc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+9479
+
+SoundEngine.cpp
+file
+
+
+
+
+2009-05-15T16:26:33.734000Z
+736378334f3008f53f27bf2fa80b0d7b
+2009-05-03T16:16:55.741695Z
+84
+cass
+has-props
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+56060
+
+SoundEngine.h
+file
+
+
+
+
+2009-05-15T16:26:33.804000Z
+a3be2f2f044702df18d30f2acfa51445
+2009-05-02T21:13:44.512443Z
+82
+cass
+has-props
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+16677
+
+arialGlyphRects.h
+file
+
+
+
+
+2009-05-16T01:24:02.000000Z
+1bb6c6ca04b12ec971d5e1a9cf076fec
+2009-05-18T18:11:23.239017Z
+95
+johnc
+has-props
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+6743
+
+cmd.c
+file
+
+
+
+
+2009-05-15T13:29:02.000000Z
+f00e608fc78b68af1db1fef9c0191f11
+2009-05-15T16:37:09.426631Z
+92
+johnc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+2952
+
+cvar.c
+file
+
+
+
+
+2009-07-07T16:38:37.000000Z
+a1f62434aee16668c6aa8d9d1130f1d5
+2009-07-07T21:22:16.723278Z
+114
+johnc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+7595
+
+cvar.h
+file
+
+
+
+
+2009-05-21T18:34:57.000000Z
+01f6ec6002bb44737dd74cc67c6d231d
+2009-05-28T21:50:07.012008Z
+100
+johnc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+4533
+
+default.png
+file
+
+
+
+
+2009-04-24T16:33:27.000000Z
+dfdbd1e7b898345015621bc8cf05f347
+2009-04-08T15:49:44.233416Z
+43
+cass
+has-props
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+190702
+
+dist.plist
+file
+
+
+
+
+2009-04-24T16:33:27.000000Z
+0743234d0a456ea4fa98fd618a6ae15e
+2009-03-20T20:37:55.361026Z
+5
+johnc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+225
+
+doom.xcodeproj
+dir
+
+doomAppDelegate.h
+file
+
+
+
+
+2009-05-15T13:28:10.000000Z
+d2eb9f2701cfa412bc5a33ab5aba5efd
+2009-05-15T16:37:09.426631Z
+92
+johnc
+has-props
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1144
+
+doomAppDelegate.m
+file
+
+
+
+
+2009-07-07T18:23:48.000000Z
+c35986e0d46f68df6200ffff9ad4f3b1
+2009-07-07T21:22:16.723278Z
+114
+johnc
+has-props
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+6967
+
+doom_Prefix.pch
+file
+
+
+
+
+2009-05-15T13:28:21.000000Z
+ea6b4414c8fe1933593da537009eee95
+2009-05-15T16:37:09.426631Z
+92
+johnc
+has-props
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+169
+
+doom_icon.png
+file
+
+
+
+
+2009-04-24T16:33:27.000000Z
+f57030540d8171c97bd5c13320728f37
+2009-04-08T15:49:44.233416Z
+43
+cass
+has-props
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+5470
+
+gles_glue.c
+file
+
+
+
+
+2009-05-15T13:29:02.000000Z
+688dca5a615cf91ffad17e86859397c5
+2009-05-15T16:37:09.426631Z
+92
+johnc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+5110
+
+gles_glue.h
+file
+
+
+
+
+2009-04-24T16:33:27.000000Z
+f90a08084610f0f15e7d0c53c0fabeb0
+2009-04-16T01:59:05.175900Z
+49
+johnc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+576
+
+hud.c
+file
+126
+
+
+
+2009-08-04T20:32:22.000000Z
+485ad3a41a0b06b3ef35e533bf081f13
+2009-08-25T19:09:40.499599Z
+126
+johnc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+6660
+
+ipak.c
+file
+
+
+
+
+2009-05-18T15:15:50.000000Z
+5993a4c7d15bcaa1d1a8722496f565f9
+2009-05-18T18:11:23.239017Z
+95
+johnc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+10211
+
+ipak.h
+file
+
+
+
+
+2009-05-18T15:08:13.000000Z
+6049916dc4bd3a00dfddeccf6cbd2d66
+2009-05-18T18:11:23.239017Z
+95
+johnc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+4827
+
+iphone_async.c
+file
+126
+
+
+
+2009-08-04T19:32:56.000000Z
+d8548cbd78184161252069950f4ef616
+2009-08-25T19:09:40.499599Z
+126
+johnc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+27648
+
+iphone_doom.h
+file
+126
+
+
+
+2009-07-28T02:46:52.000000Z
+415f7b6562fd362ab330025dd0c649f7
+2009-08-25T19:09:40.499599Z
+126
+johnc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+16362
+
+iphone_loop.c
+file
+126
+
+
+
+2009-08-04T20:28:19.000000Z
+7af18935153f868757054fb6fb28c807
+2009-08-25T19:09:40.499599Z
+126
+johnc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+47425
+
+iphone_main.c
+file
+126
+
+
+
+2009-08-12T17:42:07.000000Z
+daa2bb824d8b58ea6a39cdd8fbd5fdb3
+2009-08-25T19:09:40.499599Z
+126
+johnc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+14346
+
+iphone_mapSelect.c
+file
+125
+
+
+
+2009-07-25T00:52:00.000000Z
+f3846c609dba27af2f612160b8f6c982
+2009-07-25T01:09:28.916279Z
+125
+johnc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+12406
+
+iphone_menus.c
+file
+126
+
+
+
+2009-07-28T03:09:34.000000Z
+46164aeabdc01557bddc077358d560ff
+2009-08-25T19:09:40.499599Z
+126
+johnc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+25274
+
+iphone_net.c
+file
+126
+
+
+
+2009-07-28T02:24:34.000000Z
+d45061f57438e4489c07b7234024c17f
+2009-08-25T19:09:40.499599Z
+126
+johnc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+14054
+
+iphone_qgl.h
+file
+
+
+
+
+2009-04-24T16:33:27.000000Z
+a34c2627463271d8d689a62b6f93c853
+2009-03-20T20:37:55.361026Z
+5
+johnc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+89896
+
+iphone_qgl_enumerants.h
+file
+
+
+
+
+2009-04-24T16:33:27.000000Z
+5f9618cc989578f6ee91e866910ef88f
+2009-03-20T20:37:55.361026Z
+5
+johnc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1052
+
+iphone_render.c
+file
+126
+
+
+
+2009-08-04T18:10:15.000000Z
+0e3c61546338b329227df3af45001f7d
+2009-08-25T19:09:40.499599Z
+126
+johnc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+54209
+
+iphone_sound.c
+file
+126
+
+
+
+2009-08-04T19:58:47.000000Z
+80e7f38a17ed4db7afef5a592922e650
+2009-08-25T19:09:40.499599Z
+126
+johnc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+7631
+
+iphone_start.c
+file
+126
+
+
+
+2009-07-27T23:28:51.000000Z
+3066cdecd14cf91b278517b246f3fd1c
+2009-08-25T19:09:40.499599Z
+126
+johnc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+4333
+
+iphone_sys.c
+file
+
+
+
+
+2009-06-13T13:39:30.000000Z
+a72dcdbe566b80ed4f10b7d969ff3839
+2009-06-22T16:08:38.103778Z
+105
+johnc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1455
+
+iphone_wolf.h
+file
+
+
+
+
+2009-05-15T16:26:33.951000Z
+aa0979d5009718d03e88ac25f36e5f17
+2009-05-12T04:26:08.458461Z
+89
+johnc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+8481
+
+main.m
+file
+
+
+
+
+2009-04-24T16:33:27.000000Z
+8e05f3e77e78f385d6d429fbca84003e
+2009-04-16T01:59:05.175900Z
+49
+johnc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1417
+
+misc.c
+file
+
+
+
+
+2009-07-07T16:39:11.000000Z
+5a5afbd7f870ccd20f2bf8de86e48db3
+2009-07-07T21:22:16.723278Z
+114
+johnc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+934
+
+misc.h
+file
+
+
+
+
+2009-04-24T16:33:27.000000Z
+d0d564a6754b0c975f59bdb9a135f82d
+2009-04-16T22:19:46.165932Z
+50
+johnc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1729
+
+prboomInterface.c
+file
+
+
+
+
+2009-05-15T13:29:02.000000Z
+896d963aa7a2c71fc32a609d00e6465f
+2009-05-15T16:37:09.426631Z
+92
+johnc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+7647
+
View
1  code/iphone/.svn/format
@@ -0,0 +1 @@
+9
View
5 code/iphone/.svn/prop-base/SoundEngine.cpp.svn-base
@@ -0,0 +1,5 @@
+K 14
+svn:executable
+V 1
+*
+END
View
5 code/iphone/.svn/prop-base/SoundEngine.h.svn-base
@@ -0,0 +1,5 @@
+K 14
+svn:executable
+V 1
+*
+END
View
5 code/iphone/.svn/prop-base/arialGlyphRects.h.svn-base
@@ -0,0 +1,5 @@
+K 14
+svn:executable
+V 1
+*
+END
View
9 code/iphone/.svn/prop-base/default.png.svn-base
@@ -0,0 +1,9 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+K 14
+svn:executable
+V 1
+*
+END
View
5 code/iphone/.svn/prop-base/doomAppDelegate.h.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
View
5 code/iphone/.svn/prop-base/doomAppDelegate.m.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
View
5 code/iphone/.svn/prop-base/doom_Prefix.pch.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
View
5 code/iphone/.svn/prop-base/doom_icon.png.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mime-type
+V 24
+application/octet-stream
+END
View
507 code/iphone/.svn/text-base/BackgroundMusic.cpp.svn-base
@@ -0,0 +1,507 @@
+/*
+ * BackgroundMusic.cpp
+ * doom
+ *
+ * Created by John Carmack on 5/15/09.
+ * Copyright 2009 Id Software. All rights reserved.
+ *
+ */
+
+//==================================================================================================
+// Includes
+//==================================================================================================
+
+// System Includes
+#include <AudioToolbox/AudioToolbox.h>
+#include <CoreFoundation/CFURL.h>
+#include <OpenAL/al.h>
+#include <OpenAL/alc.h>
+#include <map>
+#include <vector>
+#include <pthread.h>
+#include <mach/mach.h>
+#include <string>
+
+extern "C" {
+#include "doomiphone.h"
+}
+
+enum {
+ kSoundEngineErrUnitialized = 1,
+ kSoundEngineErrInvalidID = 2,
+ kSoundEngineErrFileNotFound = 3,
+ kSoundEngineErrInvalidFileFormat = 4,
+ kSoundEngineErrDeviceNotFound = 5
+};
+
+
+#define AssertNoError(inMessage, inHandler) \
+if(result != noErr) \
+{ \
+printf("%s: %d\n", inMessage, (int)result); \
+goto inHandler; \
+}
+
+
+#define kNumberBuffers 3
+
+
+static Float32 gMasterVolumeGain = 0.5f;
+
+
+//==================================================================================================
+// Helper functions
+//==================================================================================================
+
+OSStatus LoadFileDataInfo(const char *inFilePath, AudioFileID &outAFID, AudioStreamBasicDescription &outFormat, UInt64 &outDataSize)
+{
+ UInt32 thePropSize;
+
+ CFURLRef theURL = CFURLCreateFromFileSystemRepresentation(kCFAllocatorDefault, (UInt8*)inFilePath, strlen(inFilePath), false);
+ if (theURL == NULL)
+ return kSoundEngineErrFileNotFound;
+
+ OSStatus result = AudioFileOpenURL(theURL, kAudioFileReadPermission, 0, &outAFID);
+ CFRelease(theURL);
+ AssertNoError("Error opening file", end);
+
+ thePropSize = sizeof(outFormat);
+ result = AudioFileGetProperty(outAFID, kAudioFilePropertyDataFormat, &thePropSize, &outFormat);
+ AssertNoError("Error getting file format", end);
+
+ thePropSize = sizeof(UInt64);
+ result = AudioFileGetProperty(outAFID, kAudioFilePropertyAudioDataByteCount, &thePropSize, &outDataSize);
+ AssertNoError("Error getting file data size", end);
+
+end:
+ return result;
+}
+
+void CalculateBytesForTime (AudioStreamBasicDescription & inDesc, UInt32 inMaxPacketSize, Float64 inSeconds, UInt32 *outBufferSize, UInt32 *outNumPackets)
+{
+ static const UInt32 maxBufferSize = 0x10000; // limit size to 64K
+ static const UInt32 minBufferSize = 0x4000; // limit size to 16K
+
+ if (inDesc.mFramesPerPacket) {
+ Float64 numPacketsForTime = inDesc.mSampleRate / inDesc.mFramesPerPacket * inSeconds;
+ *outBufferSize = (long unsigned int)numPacketsForTime * inMaxPacketSize;
+ } else {
+ // if frames per packet is zero, then the codec has no predictable packet == time
+ // so we can't tailor this (we don't know how many Packets represent a time period
+ // we'll just return a default buffer size
+ *outBufferSize = maxBufferSize > inMaxPacketSize ? maxBufferSize : inMaxPacketSize;
+ }
+
+ // we're going to limit our size to our default
+ if (*outBufferSize > maxBufferSize && *outBufferSize > inMaxPacketSize)
+ *outBufferSize = maxBufferSize;
+ else {
+ // also make sure we're not too small - we don't want to go the disk for too small chunks
+ if (*outBufferSize < minBufferSize)
+ *outBufferSize = minBufferSize;
+ }
+ *outNumPackets = *outBufferSize / inMaxPacketSize;
+}
+
+static Boolean MatchFormatFlags(const AudioStreamBasicDescription& x, const AudioStreamBasicDescription& y)
+{
+ UInt32 xFlags = x.mFormatFlags;
+ UInt32 yFlags = y.mFormatFlags;
+
+ // match wildcards
+ if (x.mFormatID == 0 || y.mFormatID == 0 || xFlags == 0 || yFlags == 0)
+ return true;
+
+ if (x.mFormatID == kAudioFormatLinearPCM)
+ {
+ // knock off the all clear flag
+ xFlags = xFlags & ~kAudioFormatFlagsAreAllClear;
+ yFlags = yFlags & ~kAudioFormatFlagsAreAllClear;
+
+ // if both kAudioFormatFlagIsPacked bits are set, then we don't care about the kAudioFormatFlagIsAlignedHigh bit.
+ if (xFlags & yFlags & kAudioFormatFlagIsPacked) {
+ xFlags = xFlags & ~kAudioFormatFlagIsAlignedHigh;
+ yFlags = yFlags & ~kAudioFormatFlagIsAlignedHigh;
+ }
+
+ // if both kAudioFormatFlagIsFloat bits are set, then we don't care about the kAudioFormatFlagIsSignedInteger bit.
+ if (xFlags & yFlags & kAudioFormatFlagIsFloat) {
+ xFlags = xFlags & ~kAudioFormatFlagIsSignedInteger;
+ yFlags = yFlags & ~kAudioFormatFlagIsSignedInteger;
+ }
+
+ // if the bit depth is 8 bits or less and the format is packed, we don't care about endianness
+ if((x.mBitsPerChannel <= 8) && ((xFlags & kAudioFormatFlagIsPacked) == kAudioFormatFlagIsPacked))
+ {
+ xFlags = xFlags & ~kAudioFormatFlagIsBigEndian;
+ }
+ if((y.mBitsPerChannel <= 8) && ((yFlags & kAudioFormatFlagIsPacked) == kAudioFormatFlagIsPacked))
+ {
+ yFlags = yFlags & ~kAudioFormatFlagIsBigEndian;
+ }
+
+ // if the number of channels is 0 or 1, we don't care about non-interleavedness
+ if (x.mChannelsPerFrame <= 1 && y.mChannelsPerFrame <= 1) {
+ xFlags &= ~kLinearPCMFormatFlagIsNonInterleaved;
+ yFlags &= ~kLinearPCMFormatFlagIsNonInterleaved;
+ }
+ }
+ return xFlags == yFlags;
+}
+
+Boolean FormatIsEqual(AudioStreamBasicDescription x, AudioStreamBasicDescription y)
+{
+ // the semantics for equality are:
+ // 1) Values must match exactly
+ // 2) wildcard's are ignored in the comparison
+
+#define MATCH(name) ((x.name) == 0 || (y.name) == 0 || (x.name) == (y.name))
+
+ return
+ ((x.mSampleRate==0.) || (y.mSampleRate==0.) || (x.mSampleRate==y.mSampleRate))
+ && MATCH(mFormatID)
+ && MatchFormatFlags(x, y)
+ && MATCH(mBytesPerPacket)
+ && MATCH(mFramesPerPacket)
+ && MATCH(mBytesPerFrame)
+ && MATCH(mChannelsPerFrame)
+ && MATCH(mBitsPerChannel) ;
+}
+
+#pragma mark ***** BackgroundTrackMgr *****
+//==================================================================================================
+// BackgroundTrackMgr class
+//==================================================================================================
+typedef struct BG_FileInfo {
+ std::string mFilePath;
+ AudioFileID mAFID;
+ AudioStreamBasicDescription mFileFormat;
+ UInt64 mFileDataSize;
+ //UInt64 mFileNumPackets; // this is only used if loading file to memory
+ Boolean mLoadAtOnce;
+ Boolean mFileDataInQueue;
+} BackgroundMusicFileInfo;
+
+class BackgroundTrackMgr
+ {
+ public:
+ BackgroundTrackMgr();
+ ~BackgroundTrackMgr();
+
+ void Teardown();
+
+ static void QueueCallback( void * inUserData, AudioQueueRef inAQ, AudioQueueBufferRef inCompleteAQBuffer);
+
+ OSStatus SetupQueue(BG_FileInfo *inFileInfo);
+ OSStatus SetupBuffers(BG_FileInfo *inFileInfo);
+ OSStatus LoadTrack(const char* inFilePath, Boolean inAddToQueue, Boolean inLoadAtOnce);
+
+ OSStatus SetVolume(Float32 inVolume);
+ Float32 GetVolume() const;
+
+ OSStatus Start();
+ OSStatus Stop(Boolean inStopAtEnd);
+
+ AudioQueueRef mQueue;
+ AudioQueueBufferRef mBuffers[kNumberBuffers];
+ UInt32 mBufferByteSize;
+ SInt64 mCurrentPacket;
+ UInt32 mNumPacketsToRead;
+ Float32 mVolume;
+ AudioStreamPacketDescription * mPacketDescs;
+ static BG_FileInfo * CurFileInfo;
+ Boolean mStopAtEnd;
+ };
+
+BG_FileInfo *BackgroundTrackMgr::CurFileInfo;
+
+
+BackgroundTrackMgr::BackgroundTrackMgr()
+: mQueue(0),
+mBufferByteSize(0),
+mCurrentPacket(0),
+mNumPacketsToRead(0),
+mVolume(1.0f),
+mPacketDescs(NULL),
+mStopAtEnd(false)
+{ }
+
+BackgroundTrackMgr::~BackgroundTrackMgr() {
+ Teardown();
+}
+
+void BackgroundTrackMgr::Teardown() {
+ if (mQueue) {
+ AudioQueueDispose(mQueue, true);
+ mQueue = NULL;
+ }
+ if ( CurFileInfo ) {
+ AudioFileClose( CurFileInfo->mAFID);
+ delete CurFileInfo;
+ CurFileInfo = NULL;
+ }
+ if (mPacketDescs) {
+ delete[] mPacketDescs;
+ mPacketDescs = NULL;
+ }
+}
+
+
+void BackgroundTrackMgr::QueueCallback( void * inUserData, AudioQueueRef inAQ, AudioQueueBufferRef inCompleteAQBuffer ) {
+ // dispose of the buffer if no longer in use
+ OSStatus result = noErr;
+ BackgroundTrackMgr *THIS = (BackgroundTrackMgr*)inUserData;
+ UInt32 nPackets = 0;
+ // loop the current buffer if the following:
+ // 1. file was loaded into the buffer previously
+ // 2. only one file in the queue
+ // 3. we have not been told to stop at playlist completion
+ if ((CurFileInfo->mFileDataInQueue) && (!THIS->mStopAtEnd)) {
+ nPackets = THIS->mNumPacketsToRead;
+ } else {
+ UInt32 numBytes;
+ while (nPackets == 0) {
+ // if loadAtOnce, get all packets in the file, otherwise ~.5 seconds of data
+ nPackets = THIS->mNumPacketsToRead;
+ result = AudioFileReadPackets(CurFileInfo->mAFID, false, &numBytes, THIS->mPacketDescs, THIS->mCurrentPacket, &nPackets,
+ inCompleteAQBuffer->mAudioData);
+ AssertNoError("Error reading file data", end);