mirror of
https://github.com/id-Software/Wolf3D-iOS.git
synced 2026-03-19 16:39:49 +01:00
Source release of Wolfenstein 3D Classic Platinum for iOS, 2.1
This commit is contained in:
345
wolf3d/COPYING.txt
Normal file
345
wolf3d/COPYING.txt
Normal file
@@ -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.
|
||||
22
wolf3d/README.txt
Normal file
22
wolf3d/README.txt
Normal file
@@ -0,0 +1,22 @@
|
||||
WOLF3D iOS v2.1 GPL source release
|
||||
===============================================
|
||||
|
||||
This file contains the following sections:
|
||||
|
||||
GENERAL NOTES
|
||||
LICENSE
|
||||
|
||||
GENERAL NOTES
|
||||
=============
|
||||
|
||||
WOLF3D iOS v2.1 is a free release, and can be downloaded from
|
||||
http://idsoftware.com/idstuff/wolf3d/wolf3d_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.
|
||||
|
||||
8
wolf3d/code/env/fileio.c
vendored
8
wolf3d/code/env/fileio.c
vendored
@@ -109,12 +109,17 @@ PUBLIC W32 FS_FileSeek( filehandle_t *fhandle, SW32 offset, W32 origin )
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* Commenting this out to avoid a warning - note that this is probably not what was
|
||||
intended!
|
||||
|
||||
// offset is negative
|
||||
if( (fhandle->filesize + offset) < 0 )
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
*/
|
||||
|
||||
// offset is negative
|
||||
fhandle->ptrCurrent = fhandle->ptrEnd + offset;
|
||||
break;
|
||||
@@ -223,7 +228,6 @@ PUBLIC filehandle_t *FS_OpenFile( const char *filename, W32 FlagsAndAttributes )
|
||||
// high performance file mapping path, avoiding stdio
|
||||
fd = open( netpath, O_RDONLY );
|
||||
if ( fd == -1 ) {
|
||||
// return NULL;
|
||||
//if it couldn't be found in that path then check again in the document directory
|
||||
//gsh
|
||||
//pathBase = FS_ForceGamedir();
|
||||
@@ -231,7 +235,7 @@ PUBLIC filehandle_t *FS_OpenFile( const char *filename, W32 FlagsAndAttributes )
|
||||
pathBase = iphoneDocDirectory;
|
||||
my_snprintf( netpath, sizeof( netpath ), "%s/%s", pathBase, filename );
|
||||
fd = open( netpath, O_RDONLY );
|
||||
if ( fd == -1 ) { //okay, couldn't find it there either... return null
|
||||
if ( fd == -1 ) {
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
15
wolf3d/code/env/files.c
vendored
15
wolf3d/code/env/files.c
vendored
@@ -172,7 +172,16 @@ PRIVATE char **FS_ListFiles( char *findname, int *numfiles, unsigned musthave, u
|
||||
*/
|
||||
PUBLIC void FS_InitFilesystem( void )
|
||||
{
|
||||
char *p;
|
||||
p = getenv("CWD");
|
||||
sprintf( fs_gamedir, "%s/base", p );
|
||||
#define BASE_DIRECTORY "/base"
|
||||
|
||||
int length = SysIPhoneGetPathToMainBundleLength();
|
||||
|
||||
// Make sure the path will fit.
|
||||
int fullPathLength = length + strlen( BASE_DIRECTORY ) + 1;
|
||||
|
||||
assert( fullPathLength < MAX_OSPATH );
|
||||
|
||||
SysIPhoneGetPathToMainBundle( fs_gamedir, length + 1 );
|
||||
|
||||
strcpy( fs_gamedir + length, BASE_DIRECTORY );
|
||||
}
|
||||
|
||||
2
wolf3d/code/env/filesystem.h
vendored
2
wolf3d/code/env/filesystem.h
vendored
@@ -39,6 +39,8 @@
|
||||
#ifndef __FILESYSTEM_H__
|
||||
#define __FILESYSTEM_H__
|
||||
|
||||
#include "arch.h"
|
||||
|
||||
#define MAX_GAMEPATH 256 // max length of a game pathname
|
||||
#define MAX_OSPATH 256 // max length of a filesystem pathname
|
||||
|
||||
|
||||
13
wolf3d/code/env/openal_main.c
vendored
13
wolf3d/code/env/openal_main.c
vendored
@@ -76,12 +76,16 @@ W16 numSoundDevices, numDefaultSoundDevice;
|
||||
PRIVATE void Sound_Device_getDeviceList( void )
|
||||
{
|
||||
char deviceName[ 256 ];
|
||||
|
||||
ALboolean isExtensionPresent = AL_FALSE;
|
||||
|
||||
my_strlcpy( deviceName, s_device->string, sizeof( deviceName ) );
|
||||
if( pfalcIsExtensionPresent( NULL, (ALubyte*)"ALC_ENUMERATION_EXT") == AL_TRUE )
|
||||
isExtensionPresent = pfalcIsExtensionPresent( NULL, (ALubyte*)"ALC_ENUMERATION_EXT");
|
||||
ALC_CheckErrors();
|
||||
if( isExtensionPresent == AL_TRUE )
|
||||
{
|
||||
// try out enumeration extension
|
||||
deviceList = (char *)pfalcGetString( NULL, ALC_DEVICE_SPECIFIER );
|
||||
ALC_CheckErrors();
|
||||
for( numSoundDevices = 0 ; numSoundDevices < 12 ; ++numSoundDevices )
|
||||
{
|
||||
sound_devices[ numSoundDevices ] = NULL;
|
||||
@@ -200,12 +204,14 @@ failed:
|
||||
if( Context )
|
||||
{
|
||||
pfalcDestroyContext( Context );
|
||||
ALC_CheckErrors();
|
||||
Context = NULL;
|
||||
}
|
||||
|
||||
if( Device )
|
||||
{
|
||||
pfalcCloseDevice( Device );
|
||||
ALC_CheckErrors();
|
||||
Device = NULL;
|
||||
}
|
||||
|
||||
@@ -230,7 +236,9 @@ PUBLIC void Sound_Device_Shutdown( void )
|
||||
if( Context )
|
||||
{
|
||||
pfalcMakeContextCurrent( NULL );
|
||||
ALC_CheckErrors();
|
||||
pfalcDestroyContext( Context );
|
||||
ALC_CheckErrors();
|
||||
|
||||
Context = NULL;
|
||||
}
|
||||
@@ -238,6 +246,7 @@ PUBLIC void Sound_Device_Shutdown( void )
|
||||
if( Device )
|
||||
{
|
||||
pfalcCloseDevice( Device );
|
||||
ALC_CheckErrors();
|
||||
|
||||
Device = NULL;
|
||||
}
|
||||
|
||||
18
wolf3d/code/env/opengl_draw.c
vendored
18
wolf3d/code/env/opengl_draw.c
vendored
@@ -93,20 +93,20 @@ PUBLIC void R_Draw_Character( int x, int y, int num, font_t *myfont )
|
||||
R_Bind( myfont->texfont->texnum );
|
||||
|
||||
|
||||
pfglBegin( GL_QUADS );
|
||||
pfglBegin( GL_TRIANGLE_STRIP );
|
||||
|
||||
|
||||
pfglTexCoord2f( fcol, frow );
|
||||
pfglVertex2i( x, y );
|
||||
|
||||
pfglTexCoord2f( fcol, frow+myfont->hFrac );
|
||||
pfglVertex2i( x, (y+sh*scale) );
|
||||
|
||||
pfglTexCoord2f( fcol+myfont->wFrac, frow );
|
||||
pfglVertex2i( x+myfont->nMaxWidth*scale, y );
|
||||
|
||||
pfglTexCoord2f( fcol+myfont->wFrac, frow+myfont->hFrac );
|
||||
pfglVertex2i( x+myfont->nMaxWidth*scale, (y+sh*scale) );
|
||||
|
||||
pfglTexCoord2f( fcol, frow+myfont->hFrac );
|
||||
pfglVertex2i( x, (y+sh*scale) );
|
||||
|
||||
|
||||
|
||||
@@ -146,12 +146,12 @@ PUBLIC void R_Draw_StretchPic( int x, int y, int w, int h, const char *pic )
|
||||
|
||||
R_Bind( gl->texnum );
|
||||
|
||||
pfglBegin( GL_QUADS );
|
||||
pfglBegin( GL_TRIANGLE_STRIP );
|
||||
|
||||
pfglTexCoord2f( 0.0f, 0.0f ); pfglVertex2i( x, y );
|
||||
pfglTexCoord2f( 0.0f, 1.0f ); pfglVertex2i( x, y+h );
|
||||
pfglTexCoord2f( 1.0f, 0.0f ); pfglVertex2i( x+w, y );
|
||||
pfglTexCoord2f( 1.0f, 1.0f ); pfglVertex2i( x+w, y+h );
|
||||
pfglTexCoord2f( 0.0f, 1.0f ); pfglVertex2i( x, y+h );
|
||||
|
||||
pfglEnd();
|
||||
}
|
||||
@@ -186,7 +186,7 @@ PUBLIC void R_Draw_Fill( int x, int y, int w, int h, colour3_t c )
|
||||
c4[3] = 255;
|
||||
R_Draw_Blend( x, y, w, h, c4 );
|
||||
#else
|
||||
if ( revLand->value ) {
|
||||
if ( deviceOrientation == ORIENTATION_LANDSCAPE_RIGHT ) {
|
||||
qglScissor( x, y, w, h );
|
||||
} else {
|
||||
qglScissor( x, 320-(y+h), w, h );
|
||||
@@ -203,12 +203,12 @@ PUBLIC void R_Draw_Blend( int x, int y, int w, int h, colour4_t c )
|
||||
pfglDisable( GL_TEXTURE_2D );
|
||||
pfglColor4ubv( c );
|
||||
|
||||
pfglBegin( GL_QUADS );
|
||||
pfglBegin( GL_TRIANGLE_STRIP );
|
||||
|
||||
pfglVertex2i( x, y );
|
||||
pfglVertex2i( x, y+h );
|
||||
pfglVertex2i( x+w, y );
|
||||
pfglVertex2i( x+w, y+h );
|
||||
pfglVertex2i( x, y+h );
|
||||
|
||||
pfglEnd();
|
||||
|
||||
|
||||
1
wolf3d/code/env/opengl_local.h
vendored
1
wolf3d/code/env/opengl_local.h
vendored
@@ -131,6 +131,7 @@ typedef struct
|
||||
const char *version_string;
|
||||
const char *extensions_string;
|
||||
_boolean Version_1_2;
|
||||
bool framebuffer_discard;
|
||||
|
||||
} glconfig_t;
|
||||
|
||||
|
||||
15
wolf3d/code/env/opengl_main.c
vendored
15
wolf3d/code/env/opengl_main.c
vendored
@@ -284,7 +284,6 @@ PUBLIC void R_Init()
|
||||
int err;
|
||||
int a, b;
|
||||
|
||||
|
||||
Com_Printf( "\n------ Display Initialization ------\n" );
|
||||
|
||||
Com_Printf( "Initializing OpenGL Subsystem\n" );
|
||||
@@ -294,9 +293,6 @@ PUBLIC void R_Init()
|
||||
// set our "safe" modes
|
||||
gl_state.prev_mode = 0;
|
||||
|
||||
viddef.width = 480;
|
||||
viddef.height = 320;
|
||||
|
||||
// get various GL strings
|
||||
gl_config.vendor_string = (char *)pfglGetString( GL_VENDOR );
|
||||
Com_Printf( "GL_VENDOR: %s\n", gl_config.vendor_string );
|
||||
@@ -316,7 +312,6 @@ PUBLIC void R_Init()
|
||||
my_strlcpy( vendor_buffer, gl_config.vendor_string, sizeof( vendor_buffer ) );
|
||||
(void)my_strlwr( vendor_buffer );
|
||||
|
||||
|
||||
sscanf( gl_config.version_string, "%d.%d", &a, &b );
|
||||
if( a >= 1 && b >= 2 )
|
||||
{
|
||||
@@ -326,6 +321,14 @@ PUBLIC void R_Init()
|
||||
pfglGetIntegerv( GL_MAX_TEXTURE_SIZE, &glMaxTexSize );
|
||||
Com_Printf( "GL_MAX_TEXTURE_SIZE: %d\n", glMaxTexSize);
|
||||
|
||||
if ( strstr( gl_config.extensions_string, "GL_EXT_discard_framebuffer" ) != 0 ) {
|
||||
gl_config.framebuffer_discard = true;
|
||||
} else {
|
||||
gl_config.framebuffer_discard = false;
|
||||
}
|
||||
|
||||
InitImmediateModeGL();
|
||||
|
||||
GL_SetDefaultState();
|
||||
|
||||
TM_Init();
|
||||
@@ -359,7 +362,7 @@ PUBLIC void PrintGLError( W32 err, const char *from )
|
||||
return;
|
||||
}
|
||||
|
||||
if( from != "" )
|
||||
if( strlen(from) != 0 )
|
||||
{
|
||||
Com_Printf( "\n\n\nGL Error: %s\n", from );
|
||||
}
|
||||
|
||||
56
wolf3d/code/env/sound.c
vendored
56
wolf3d/code/env/sound.c
vendored
@@ -95,6 +95,7 @@ PRIVATE void Sound_AllocChannels( void )
|
||||
for( i = 0, ch = s_channels ; i < MAX_CHANNELS ; ++i, ++ch )
|
||||
{
|
||||
pfalGenSources( 1, &ch->sourceName );
|
||||
AL_CheckErrors();
|
||||
|
||||
if( pfalGetError() != AL_NO_ERROR )
|
||||
{
|
||||
@@ -123,6 +124,7 @@ PRIVATE int Sound_ChannelState( channel_t *ch )
|
||||
int state;
|
||||
|
||||
pfalGetSourcei( ch->sourceName, AL_SOURCE_STATE, &state );
|
||||
AL_CheckErrors();
|
||||
|
||||
return state;
|
||||
}
|
||||
@@ -133,9 +135,16 @@ PRIVATE void Sound_PlayChannel( channel_t *ch, sfx_t *sfx )
|
||||
ch->sfx = sfx;
|
||||
|
||||
pfalSourcei( ch->sourceName, AL_BUFFER, sfx->bufferNum );
|
||||
AL_CheckErrors();
|
||||
|
||||
pfalSourcei( ch->sourceName, AL_LOOPING, ch->loopSound );
|
||||
AL_CheckErrors();
|
||||
|
||||
pfalSourcei( ch->sourceName, AL_SOURCE_RELATIVE, AL_FALSE );
|
||||
AL_CheckErrors();
|
||||
|
||||
pfalSourcePlay( ch->sourceName );
|
||||
AL_CheckErrors();
|
||||
}
|
||||
|
||||
|
||||
@@ -147,12 +156,15 @@ PRIVATE void Sound_StopChannel( channel_t *ch )
|
||||
// Only deleting the entire source seems to work.
|
||||
|
||||
pfalSourceStop( ch->sourceName );
|
||||
AL_CheckErrors();
|
||||
// pfalSourceStopv( 1, &ch->sourceName );
|
||||
// pfalSourcei( ch->sourceName, AL_BUFFER, 0 );
|
||||
// pfalSourceRewind( ch->sourceName );
|
||||
#if 1
|
||||
pfalDeleteSources( 1, &ch->sourceName );
|
||||
AL_CheckErrors();
|
||||
pfalGenSources( 1, &ch->sourceName );
|
||||
AL_CheckErrors();
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -165,14 +177,18 @@ PRIVATE void Sound_SpatializeChannel( channel_t *ch )
|
||||
if( ch->entNum == 0 || ! ch->distanceMult )
|
||||
{
|
||||
pfalSourcefv( ch->sourceName, AL_POSITION, s_listener.position );
|
||||
AL_CheckErrors();
|
||||
pfalSourcefv( ch->sourceName, AL_VELOCITY, s_listener.velocity );
|
||||
AL_CheckErrors();
|
||||
}
|
||||
else
|
||||
{
|
||||
if( ch->fixedPosition )
|
||||
{
|
||||
pfalSource3f( ch->sourceName, AL_POSITION, ch->position[1], ch->position[2], -ch->position[0] );
|
||||
AL_CheckErrors();
|
||||
pfalSource3f( ch->sourceName, AL_VELOCITY, 0, 0, 0 );
|
||||
AL_CheckErrors();
|
||||
}
|
||||
/* else
|
||||
{
|
||||
@@ -195,17 +211,23 @@ PRIVATE void Sound_SpatializeChannel( channel_t *ch )
|
||||
if( ch->distanceMult )
|
||||
{
|
||||
pfalSourcef( ch->sourceName, AL_REFERENCE_DISTANCE, s_minDistance->value * ch->distanceMult );
|
||||
AL_CheckErrors();
|
||||
}
|
||||
else
|
||||
{
|
||||
pfalSourcef( ch->sourceName, AL_REFERENCE_DISTANCE, s_maxDistance->value );
|
||||
AL_CheckErrors();
|
||||
}
|
||||
|
||||
pfalSourcef( ch->sourceName, AL_MAX_DISTANCE, s_maxDistance->value );
|
||||
AL_CheckErrors();
|
||||
|
||||
// Update volume and rolloff factor
|
||||
pfalSourcef( ch->sourceName, AL_GAIN, s_sfxVolume->value * ch->volume );
|
||||
AL_CheckErrors();
|
||||
|
||||
pfalSourcef( ch->sourceName, AL_ROLLOFF_FACTOR, s_rolloffFactor->value );
|
||||
AL_CheckErrors();
|
||||
}
|
||||
|
||||
|
||||
@@ -572,15 +594,26 @@ PUBLIC void Sound_Update( const vec3_t position, const vec3_t velocity, const ve
|
||||
vectorSet( &s_listener.orientation[3], up[1], -up[2], -up[0] );
|
||||
|
||||
pfalListenerfv( AL_POSITION, s_listener.position );
|
||||
AL_CheckErrors();
|
||||
|
||||
pfalListenerfv( AL_VELOCITY, s_listener.velocity );
|
||||
AL_CheckErrors();
|
||||
|
||||
pfalListenerfv( AL_ORIENTATION, s_listener.orientation );
|
||||
AL_CheckErrors();
|
||||
|
||||
pfalListenerf( AL_GAIN, (s_activeApp) ? s_masterVolume->value : 0.0);
|
||||
AL_CheckErrors();
|
||||
|
||||
// Set state
|
||||
pfalDistanceModel( AL_INVERSE_DISTANCE_CLAMPED );
|
||||
AL_CheckErrors();
|
||||
|
||||
pfalDopplerFactor( s_dopplerFactor->value );
|
||||
AL_CheckErrors();
|
||||
|
||||
pfalDopplerVelocity( s_dopplerVelocity->value );
|
||||
AL_CheckErrors();
|
||||
|
||||
// Stream background track
|
||||
Sound_StreamBGTrack();
|
||||
@@ -639,9 +672,26 @@ PUBLIC void Sound_Activate( _boolean active )
|
||||
}
|
||||
|
||||
pfalListenerf( AL_GAIN, ( active ) ? s_masterVolume->value : 0.0 );
|
||||
|
||||
AL_CheckErrors();
|
||||
}
|
||||
|
||||
void AL_CheckErrors() {
|
||||
#if 0
|
||||
#ifdef DEBUG
|
||||
ALenum error = alGetError();
|
||||
if ( error != AL_NO_ERROR ) {
|
||||
printf( "OpenAL error (al)! %d\n", error);
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
void ALC_CheckErrors() {
|
||||
//ALenum error = alcGetError();
|
||||
//if ( error != AL_NO_ERROR ) {
|
||||
// printf( "OpenAL error (alc)! %d\n", error);
|
||||
//}
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
@@ -690,14 +740,14 @@ PRIVATE void Sound_Register( void )
|
||||
{
|
||||
|
||||
s_initSound = Cvar_Get( "s_initSound", "1", CVAR_INIT );
|
||||
s_masterVolume = Cvar_Get( "s_masterVolume", "0.3", CVAR_ARCHIVE ); //gsh changed this from "1.0" to "0.3" for the volume hack... otherwise it's too loud
|
||||
s_masterVolume = Cvar_Get( "s_masterVolume", "0.6", CVAR_ARCHIVE ); //gsh changed this from "1.0" to "0.3" for the volume hack... otherwise it's too loud
|
||||
s_sfxVolume = Cvar_Get( "s_sfxVolume", "1.0", CVAR_ARCHIVE );
|
||||
s_musicVolume = Cvar_Get( "s_musicVolume", "1.0", CVAR_ARCHIVE );
|
||||
s_minDistance = Cvar_Get( "s_minDistance", "0.0", CVAR_ARCHIVE );
|
||||
s_maxDistance = Cvar_Get( "s_maxDistance", "1.0", CVAR_ARCHIVE );
|
||||
s_rolloffFactor = Cvar_Get( "s_rolloffFactor", "1.0", CVAR_ARCHIVE );
|
||||
s_dopplerFactor = Cvar_Get( "s_dopplerFactor", "1.0", CVAR_ARCHIVE );
|
||||
s_dopplerVelocity = Cvar_Get( "s_dopplerVelocity", "0.0", CVAR_ARCHIVE );
|
||||
s_dopplerVelocity = Cvar_Get( "s_dopplerVelocity", "1.0", CVAR_ARCHIVE );
|
||||
|
||||
Cmd_AddCommand( "play", Sound_Play_f );
|
||||
Cmd_AddCommand( "stopsound", Sound_StopSound_f );
|
||||
|
||||
2
wolf3d/code/env/sound_local.h
vendored
2
wolf3d/code/env/sound_local.h
vendored
@@ -106,6 +106,8 @@ extern sfx_t *Sound_FindSound( const char *name );
|
||||
extern _boolean Sound_Device_Setup( void );
|
||||
extern void Sound_Device_Shutdown( void );
|
||||
|
||||
void AL_CheckErrors();
|
||||
void ALC_CheckErrors();
|
||||
|
||||
#endif /* __SOUND_LOCAL_H__ */
|
||||
|
||||
|
||||
8
wolf3d/code/env/sound_sfx_id.c
vendored
8
wolf3d/code/env/sound_sfx_id.c
vendored
@@ -96,7 +96,10 @@ PRIVATE void Sound_UploadSound( W8 *data, int sample_size, int channels, sfx_t *
|
||||
|
||||
// Upload the sound
|
||||
pfalGenBuffers( 1, &sfx->bufferNum );
|
||||
AL_CheckErrors();
|
||||
|
||||
pfalBufferData( sfx->bufferNum, sfx->format, data, size, sfx->rate );
|
||||
AL_CheckErrors();
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -121,7 +124,10 @@ PRIVATE void Sound_UploadSound( W8 *data, int sample_size, int channels, sfx_t *
|
||||
|
||||
// Upload the sound
|
||||
pfalGenBuffers( 1, &sfx->bufferNum );
|
||||
AL_CheckErrors();
|
||||
|
||||
pfalBufferData( sfx->bufferNum, sfx->format, d, size * 2, sfx->rate );
|
||||
AL_CheckErrors();
|
||||
free( d );
|
||||
}
|
||||
}
|
||||
@@ -163,7 +169,7 @@ PUBLIC _boolean Sound_LoadSound( sfx_t *sfx )
|
||||
if ( ! LoadOggInfo( name, &data, &info ) ) {
|
||||
sfx->defaulted = true;
|
||||
|
||||
Com_Printf( "Could not find sound (%s)\n", name );
|
||||
//Com_Printf( "Could not find sound (%s)\n", name );
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
36
wolf3d/code/env/sound_stream.c
vendored
36
wolf3d/code/env/sound_stream.c
vendored
@@ -284,17 +284,23 @@ PUBLIC void Sound_StreamBGTrack( void )
|
||||
|
||||
// Unqueue and delete any processed buffers
|
||||
pfalGetSourcei( s_streamingChannel->sourceName, AL_BUFFERS_PROCESSED, &processed );
|
||||
AL_CheckErrors();
|
||||
|
||||
if( processed > 0 )
|
||||
{
|
||||
while (processed--)
|
||||
{
|
||||
pfalSourceUnqueueBuffers( s_streamingChannel->sourceName, 1, &buffer );
|
||||
AL_CheckErrors();
|
||||
//printf( "OpenAL unqueued %d, about to delete it!\n", buffer);
|
||||
pfalDeleteBuffers( 1, &buffer );
|
||||
AL_CheckErrors();
|
||||
}
|
||||
}
|
||||
|
||||
// Make sure we always have at least 4 buffers in the queue
|
||||
pfalGetSourcei( s_streamingChannel->sourceName, AL_BUFFERS_QUEUED, &queued );
|
||||
AL_CheckErrors();
|
||||
while( queued < 4 )
|
||||
{
|
||||
size = 0;
|
||||
@@ -340,20 +346,29 @@ PUBLIC void Sound_StreamBGTrack( void )
|
||||
|
||||
// Upload and queue the new buffer
|
||||
pfalGenBuffers( 1, &buffer );
|
||||
AL_CheckErrors();
|
||||
|
||||
pfalBufferData( buffer, bgTrack.format, data, size, bgTrack.rate );
|
||||
AL_CheckErrors();
|
||||
|
||||
pfalSourceQueueBuffers( s_streamingChannel->sourceName, 1, &buffer );
|
||||
AL_CheckErrors();
|
||||
|
||||
queued++;
|
||||
}
|
||||
|
||||
// Update volume
|
||||
pfalSourcef( s_streamingChannel->sourceName, AL_GAIN, s_musicVolume->value );
|
||||
AL_CheckErrors();
|
||||
|
||||
// If not playing, then do so
|
||||
pfalGetSourcei( s_streamingChannel->sourceName, AL_SOURCE_STATE, &state );
|
||||
AL_CheckErrors();
|
||||
|
||||
if( state != AL_PLAYING )
|
||||
{
|
||||
pfalSourcePlay(s_streamingChannel->sourceName);
|
||||
AL_CheckErrors();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -390,17 +405,28 @@ PUBLIC void Sound_StartStreaming( void )
|
||||
|
||||
// hmmm...
|
||||
pfalDeleteSources( 1, &s_streamingChannel->sourceName );
|
||||
AL_CheckErrors();
|
||||
|
||||
pfalGenSources( 1, &s_streamingChannel->sourceName );
|
||||
AL_CheckErrors();
|
||||
|
||||
// Set up the source
|
||||
pfalSourcei( s_streamingChannel->sourceName, AL_BUFFER, 0 );
|
||||
AL_CheckErrors();
|
||||
pfalSourcei( s_streamingChannel->sourceName, AL_LOOPING, AL_FALSE );
|
||||
AL_CheckErrors();
|
||||
pfalSourcei( s_streamingChannel->sourceName, AL_SOURCE_RELATIVE, AL_TRUE );
|
||||
AL_CheckErrors();
|
||||
pfalSourcefv( s_streamingChannel->sourceName, AL_POSITION, vec3_origin );
|
||||
AL_CheckErrors();
|
||||
pfalSourcefv( s_streamingChannel->sourceName, AL_VELOCITY, vec3_origin );
|
||||
AL_CheckErrors();
|
||||
pfalSourcef( s_streamingChannel->sourceName, AL_REFERENCE_DISTANCE, 1.0 );
|
||||
AL_CheckErrors();
|
||||
pfalSourcef( s_streamingChannel->sourceName, AL_MAX_DISTANCE, 1.0 );
|
||||
AL_CheckErrors();
|
||||
pfalSourcef( s_streamingChannel->sourceName, AL_ROLLOFF_FACTOR, 0.0 );
|
||||
AL_CheckErrors();
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -433,22 +459,30 @@ PUBLIC void Sound_StopStreaming( void )
|
||||
|
||||
|
||||
pfalSourceStop( s_streamingChannel->sourceName );
|
||||
AL_CheckErrors();
|
||||
|
||||
pfalGetSourcei( s_streamingChannel->sourceName, AL_BUFFERS_PROCESSED, &processed );
|
||||
AL_CheckErrors();
|
||||
if( processed > 0 )
|
||||
{
|
||||
while( processed-- )
|
||||
{
|
||||
pfalSourceUnqueueBuffers( s_streamingChannel->sourceName, 1, &buffer );
|
||||
AL_CheckErrors();
|
||||
pfalDeleteBuffers( 1, &buffer );
|
||||
AL_CheckErrors();
|
||||
}
|
||||
}
|
||||
|
||||
pfalSourcei( s_streamingChannel->sourceName, AL_BUFFER, 0 );
|
||||
|
||||
AL_CheckErrors();
|
||||
|
||||
// hmmm...
|
||||
pfalDeleteSources( 1, &s_streamingChannel->sourceName );
|
||||
AL_CheckErrors();
|
||||
|
||||
pfalGenSources( 1, &s_streamingChannel->sourceName );
|
||||
AL_CheckErrors();
|
||||
|
||||
s_streamingChannel = NULL;
|
||||
}
|
||||
|
||||
80
wolf3d/code/env/texture_manager.c
vendored
80
wolf3d/code/env/texture_manager.c
vendored
@@ -349,6 +349,19 @@ PUBLIC texture_t *TM_LoadTexture( const char *name, W8 *data, int width, int hei
|
||||
TM_ResampleTexture( data, tex->width, tex->height, scaled, scaled_width, scaled_height, tex->bytes, INTERPOLATION_NONE );
|
||||
}
|
||||
|
||||
pfglTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, WrapToGL( tex->WrapS ) );
|
||||
pfglTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, WrapToGL( tex->WrapT ) );
|
||||
pfglTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, MinFilterToGL( tex->MipMap, tex->MinFilter ) );
|
||||
pfglTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, MagFilterToGL( tex->MagFilter ) );
|
||||
|
||||
#ifdef IPHONE
|
||||
if ( type == TT_Wall ) {
|
||||
pfglTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, 2.0f );
|
||||
} else {
|
||||
pfglTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, 1.0f );
|
||||
}
|
||||
#endif
|
||||
|
||||
{
|
||||
// upload base image
|
||||
GLenum internalFormat[] = { GL_LUMINANCE, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_RGBA };
|
||||
@@ -379,20 +392,6 @@ PUBLIC texture_t *TM_LoadTexture( const char *name, W8 *data, int width, int hei
|
||||
if ( scaled != data ) {
|
||||
Z_Free( scaled );
|
||||
}
|
||||
|
||||
pfglTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, WrapToGL( tex->WrapS ) );
|
||||
pfglTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, WrapToGL( tex->WrapT ) );
|
||||
pfglTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, MinFilterToGL( tex->MipMap, tex->MinFilter ) );
|
||||
pfglTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, MagFilterToGL( tex->MagFilter ) );
|
||||
|
||||
#ifdef IPHONE
|
||||
if ( type == TT_Wall ) {
|
||||
pfglTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, 2.0f );
|
||||
} else {
|
||||
pfglTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, 0 );
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
return tex;
|
||||
}
|
||||
@@ -486,7 +485,8 @@ PUBLIC texture_t *TM_FindTexture( const char *name, texturetype_t type )
|
||||
// load the texture from disk
|
||||
//
|
||||
data = NULL;
|
||||
if( strcmp( name + len - 4, ".tga" ) ) {
|
||||
const char* const extension = name + len - 4;
|
||||
if( strcmp( extension, ".tga" ) && strcmp( extension, ".png" ) ) {
|
||||
return r_notexture;
|
||||
}
|
||||
|
||||
@@ -537,6 +537,23 @@ PUBLIC texture_t *TM_FindTexture( const char *name, texturetype_t type )
|
||||
tx->maxS = (float)ph->srcWidth / ph->uploadWidth;
|
||||
tx->maxT = (float)ph->srcHeight / ph->uploadHeight;
|
||||
unsigned char *s = (unsigned char *)(ph+1);
|
||||
|
||||
if ( noMips ) {
|
||||
pfglTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR );
|
||||
} else {
|
||||
pfglTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST );
|
||||
}
|
||||
pfglTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR );
|
||||
|
||||
if ( type == TT_Wall ) {
|
||||
pfglTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, 2.0f );
|
||||
pfglTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT );
|
||||
} else {
|
||||
pfglTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, 1.0f );
|
||||
pfglTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE );
|
||||
}
|
||||
pfglTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE );
|
||||
|
||||
while( 1 ) {
|
||||
int size = (w*h*fi->bpp)/8;
|
||||
if ( fi->bpp < 16 ) {
|
||||
@@ -568,26 +585,27 @@ PUBLIC texture_t *TM_FindTexture( const char *name, texturetype_t type )
|
||||
}
|
||||
}
|
||||
FS_CloseFile( fh );
|
||||
if ( noMips ) {
|
||||
pfglTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR );
|
||||
} else {
|
||||
pfglTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR );
|
||||
}
|
||||
pfglTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR );
|
||||
|
||||
if ( type == TT_Wall ) {
|
||||
pfglTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, 2.0f );
|
||||
pfglTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT );
|
||||
} else {
|
||||
pfglTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, 0 );
|
||||
pfglTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE );
|
||||
}
|
||||
pfglTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE );
|
||||
return tx;
|
||||
}
|
||||
|
||||
// load a normal TGA
|
||||
LoadTGA( name, &data, &width, &height, &bytes );
|
||||
// load a normal PNG or TGA. Prioritize PNGs, if not found, fall back to TGA.
|
||||
size_t filenameLength = strlen( name );
|
||||
char * pngName = MM_MALLOC( filenameLength );
|
||||
strcpy( pngName, name );
|
||||
strcpy( pngName + filenameLength - 3, "png" );
|
||||
|
||||
// Try to load a PNG version.
|
||||
LoadPNG( pngName, &data, &width, &height, &bytes );
|
||||
|
||||
MM_FREE( pngName );
|
||||
pngName = NULL;
|
||||
|
||||
// Try finding a TGA if the PNG load failed.
|
||||
if ( ( data == NULL ) && strcmp( extension, ".tga" ) == 0 ) {
|
||||
LoadTGA( name, &data, &width, &height, &bytes );
|
||||
}
|
||||
|
||||
if ( data ) {
|
||||
tex = TM_LoadTexture( name, data, width, height, type, bytes );
|
||||
MM_FREE( data );
|
||||
|
||||
3
wolf3d/code/env/texture_manager.h
vendored
3
wolf3d/code/env/texture_manager.h
vendored
@@ -39,6 +39,9 @@
|
||||
#ifndef __TEXTURE_MANAGER_H__
|
||||
#define __TEXTURE_MANAGER_H__
|
||||
|
||||
#include "arch.h"
|
||||
#include "filesystem.h"
|
||||
|
||||
#define MAX_TEXTURES 1024
|
||||
|
||||
|
||||
|
||||
2
wolf3d/code/env/unix_file.c
vendored
2
wolf3d/code/env/unix_file.c
vendored
@@ -133,7 +133,7 @@ PUBLIC char *FS_FindFirst( const char *path, W32 musthave, W32 canthave )
|
||||
{
|
||||
struct dirent *d;
|
||||
char *p;
|
||||
p;
|
||||
(void)p;
|
||||
|
||||
if( fdir )
|
||||
{
|
||||
|
||||
2
wolf3d/code/env/video.h
vendored
2
wolf3d/code/env/video.h
vendored
@@ -42,6 +42,8 @@
|
||||
#ifndef __VIDEO_H__
|
||||
#define __VIDEO_H__
|
||||
|
||||
#include "arch.h"
|
||||
|
||||
typedef struct vrect_s
|
||||
{
|
||||
int x, y, width, height;
|
||||
|
||||
BIN
wolf3d/code/iphone/.DS_Store
vendored
Normal file
BIN
wolf3d/code/iphone/.DS_Store
vendored
Normal file
Binary file not shown.
1483
wolf3d/code/iphone/CreditsView.xib
Normal file
1483
wolf3d/code/iphone/CreditsView.xib
Normal file
File diff suppressed because it is too large
Load Diff
34
wolf3d/code/iphone/CreditsViewController.h
Normal file
34
wolf3d/code/iphone/CreditsViewController.h
Normal file
@@ -0,0 +1,34 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
|
||||
@interface CreditsViewController : UIViewController {
|
||||
@private
|
||||
IBOutlet UIView* creditsRoll;
|
||||
}
|
||||
|
||||
- (IBAction)back:(id)sender;
|
||||
|
||||
@end
|
||||
116
wolf3d/code/iphone/CreditsViewController.m
Normal file
116
wolf3d/code/iphone/CreditsViewController.m
Normal file
@@ -0,0 +1,116 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
|
||||
#import "CreditsViewController.h"
|
||||
#import <QuartzCore/CAAnimation.h>
|
||||
|
||||
#define CREDITS_ANIMATION_POINTS_PER_SECOND ( 320.0f / 6.0f ) // Six seconds to scroll up
|
||||
// an iPhone screen.
|
||||
|
||||
@interface CreditsViewController ()
|
||||
|
||||
@property (nonatomic, retain) UIView* creditsRoll;
|
||||
|
||||
@end
|
||||
|
||||
@implementation CreditsViewController
|
||||
|
||||
@synthesize creditsRoll;
|
||||
|
||||
// The designated initializer. Override if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad.
|
||||
/*
|
||||
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
|
||||
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
|
||||
if (self) {
|
||||
// Custom initialization.
|
||||
}
|
||||
return self;
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
// Implement loadView to create a view hierarchy programmatically, without using a nib.
|
||||
- (void)loadView {
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
|
||||
// This is the starting position of the credits text.
|
||||
CGPoint startPoint = self.creditsRoll.center;
|
||||
|
||||
// Set up the end point. We can stop the animation as soon as the bottom of the credits
|
||||
// get to the top of the screen.
|
||||
CGPoint endPoint = startPoint;
|
||||
|
||||
endPoint.y = -self.creditsRoll.bounds.size.height;
|
||||
|
||||
// Start credits animation
|
||||
CABasicAnimation *theAnimation;
|
||||
|
||||
theAnimation=[CABasicAnimation animationWithKeyPath:@"position"];
|
||||
|
||||
CGFloat pointDistance = endPoint.y - startPoint.y;
|
||||
|
||||
theAnimation.duration= fabs( pointDistance ) * ( 1.0f / CREDITS_ANIMATION_POINTS_PER_SECOND );
|
||||
|
||||
theAnimation.fromValue=[NSValue valueWithCGPoint:startPoint];
|
||||
theAnimation.toValue=[NSValue valueWithCGPoint:endPoint];
|
||||
|
||||
[self.creditsRoll.layer addAnimation:theAnimation forKey:@"animatePosition"];
|
||||
}
|
||||
|
||||
|
||||
// Override to allow orientations other than the default portrait orientation.
|
||||
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
|
||||
// Return YES for supported orientations.
|
||||
return UIInterfaceOrientationIsLandscape(interfaceOrientation);
|
||||
}
|
||||
|
||||
- (void)didReceiveMemoryWarning {
|
||||
// Releases the view if it doesn't have a superview.
|
||||
[super didReceiveMemoryWarning];
|
||||
|
||||
// Release any cached data, images, etc. that aren't in use.
|
||||
}
|
||||
|
||||
- (void)viewDidUnload {
|
||||
[super viewDidUnload];
|
||||
// Release any retained subviews of the main view.
|
||||
// e.g. self.myOutlet = nil;
|
||||
self.creditsRoll = nil;
|
||||
}
|
||||
|
||||
|
||||
- (void)dealloc {
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
- (IBAction)back:(id)sender {
|
||||
[self.navigationController popViewControllerAnimated:YES];
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -1,6 +1,9 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2009 Id Software, Inc.
|
||||
Copyright (C) 2009-2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
@@ -41,20 +44,17 @@ Note that setting the view non-opaque will only work if the EAGL surface has an
|
||||
UITextField *textField;
|
||||
|
||||
@private
|
||||
EAGLContext *context;
|
||||
|
||||
/* The pixel dimensions of the backbuffer */
|
||||
GLint backingWidth;
|
||||
GLint backingHeight;
|
||||
|
||||
EAGLContext *context;
|
||||
GLint framebufferWidth;
|
||||
GLint framebufferHeight;
|
||||
|
||||
/* OpenGL names for the renderbuffer and framebuffers used to render to this view */
|
||||
GLuint viewRenderbuffer, viewFramebuffer;
|
||||
GLuint defaultFramebuffer, colorRenderbuffer;
|
||||
|
||||
/* OpenGL name for the depth buffer that is attached to viewFramebuffer, if it exists (0 if it does not exist) */
|
||||
GLuint depthRenderbuffer;
|
||||
|
||||
NSTimer *animationTimer;
|
||||
NSTimeInterval animationInterval;
|
||||
|
||||
//gsh... an attempt at hacking the volume button
|
||||
#ifdef VOLUMEHACK
|
||||
@@ -66,8 +66,9 @@ Note that setting the view non-opaque will only work if the EAGL surface has an
|
||||
|
||||
}
|
||||
|
||||
@property NSTimeInterval animationInterval;
|
||||
@property (nonatomic, retain) EAGLContext *context;
|
||||
|
||||
- (void)drawView;
|
||||
- (void)setFramebuffer;
|
||||
- (BOOL)presentFramebuffer;
|
||||
|
||||
@end
|
||||
|
||||
@@ -1,11 +1,25 @@
|
||||
//
|
||||
// EAGLView.m
|
||||
// wolf3d
|
||||
//
|
||||
// Created by Cass Everitt on 2/20/09.
|
||||
// Copyright Id Software 2009. All rights reserved.
|
||||
//
|
||||
/*
|
||||
|
||||
Copyright (C) 2009-2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
#import <QuartzCore/QuartzCore.h>
|
||||
@@ -16,8 +30,6 @@
|
||||
|
||||
#include "wolfiphone.h"
|
||||
|
||||
|
||||
|
||||
//gsh
|
||||
//#define NOTIFYLISTEN //uncomment to receive notifications
|
||||
|
||||
@@ -60,218 +72,235 @@ struct AVSystemControllerPrivate;
|
||||
@end
|
||||
|
||||
AVSystemController *SharedAVSystemController;
|
||||
EAGLView *eaglview;
|
||||
EAGLView *eaglview = nil;
|
||||
|
||||
// A class extension to declare private methods
|
||||
@interface EAGLView ()
|
||||
|
||||
@property (nonatomic, retain) EAGLContext *context;
|
||||
@property (nonatomic, assign) NSTimer *animationTimer;
|
||||
|
||||
- (void) destroyFramebuffer;
|
||||
- (void) swapBuffers;
|
||||
|
||||
@interface EAGLView (PrivateMethods)
|
||||
- (void)createFramebuffer;
|
||||
- (void)deleteFramebuffer;
|
||||
@end
|
||||
|
||||
|
||||
@implementation EAGLView
|
||||
|
||||
@synthesize context;
|
||||
@synthesize animationTimer;
|
||||
@synthesize animationInterval;
|
||||
|
||||
@dynamic context;
|
||||
|
||||
// You must implement this method
|
||||
+ (Class)layerClass {
|
||||
return [CAEAGLLayer class];
|
||||
}
|
||||
|
||||
|
||||
//The GL view is stored in the nib file. When it's unarchived it's sent -initWithCoder:
|
||||
- (id)initWithCoder:(NSCoder*)coder {
|
||||
self = [super initWithCoder:coder];
|
||||
- (id)initWithFrame:(CGRect)aRect {
|
||||
self = [super initWithFrame:aRect];
|
||||
|
||||
eaglview = self;
|
||||
|
||||
if ( self ) {
|
||||
[self setMultipleTouchEnabled:YES];
|
||||
|
||||
// Get the layer
|
||||
CAEAGLLayer *eaglLayer = (CAEAGLLayer *)self.layer;
|
||||
// Support rendering at native resolution on devices with Retina displays.
|
||||
if( [self respondsToSelector:@selector(contentScaleFactor)] ) {
|
||||
self.contentScaleFactor = deviceScale;
|
||||
}
|
||||
|
||||
eaglLayer.opaque = YES;
|
||||
eaglLayer.drawableProperties = [NSDictionary dictionaryWithObjectsAndKeys:
|
||||
|
||||
[NSNumber numberWithBool:NO],
|
||||
kEAGLDrawablePropertyRetainedBacking,
|
||||
|
||||
kEAGLColorFormatRGB565,
|
||||
/* kEAGLColorFormatRGBA8, */
|
||||
kEAGLDrawablePropertyColorFormat,
|
||||
|
||||
nil];
|
||||
|
||||
context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES1];
|
||||
assert( context );
|
||||
|
||||
if ( ![EAGLContext setCurrentContext:context]) {
|
||||
[self release];
|
||||
return nil;
|
||||
}
|
||||
self.multipleTouchEnabled = true;
|
||||
|
||||
[EAGLContext setCurrentContext:context];
|
||||
|
||||
glGenFramebuffersOES(1, &viewFramebuffer);
|
||||
glGenRenderbuffersOES(1, &viewRenderbuffer);
|
||||
|
||||
glBindFramebufferOES(GL_FRAMEBUFFER_OES, viewFramebuffer);
|
||||
glBindRenderbufferOES(GL_RENDERBUFFER_OES, viewRenderbuffer);
|
||||
[context renderbufferStorage:GL_RENDERBUFFER_OES fromDrawable:(CAEAGLLayer*)self.layer];
|
||||
glFramebufferRenderbufferOES(GL_FRAMEBUFFER_OES, GL_COLOR_ATTACHMENT0_OES, GL_RENDERBUFFER_OES, viewRenderbuffer);
|
||||
|
||||
glGetRenderbufferParameterivOES(GL_RENDERBUFFER_OES, GL_RENDERBUFFER_WIDTH_OES, &backingWidth);
|
||||
glGetRenderbufferParameterivOES(GL_RENDERBUFFER_OES, GL_RENDERBUFFER_HEIGHT_OES, &backingHeight);
|
||||
|
||||
glGenRenderbuffersOES(1, &depthRenderbuffer);
|
||||
glBindRenderbufferOES(GL_RENDERBUFFER_OES, depthRenderbuffer);
|
||||
glRenderbufferStorageOES(GL_RENDERBUFFER_OES, GL_DEPTH_COMPONENT16_OES, backingWidth, backingHeight);
|
||||
glFramebufferRenderbufferOES(GL_FRAMEBUFFER_OES, GL_DEPTH_ATTACHMENT_OES, GL_RENDERBUFFER_OES, depthRenderbuffer);
|
||||
|
||||
if(glCheckFramebufferStatusOES(GL_FRAMEBUFFER_OES) != GL_FRAMEBUFFER_COMPLETE_OES) {
|
||||
NSLog(@"failed to make complete framebuffer object %x", glCheckFramebufferStatusOES(GL_FRAMEBUFFER_OES));
|
||||
}
|
||||
|
||||
glBindRenderbufferOES(GL_RENDERBUFFER_OES, viewRenderbuffer);
|
||||
|
||||
#if 0
|
||||
// set swapinterval if possible
|
||||
void *eglSwapInterval;
|
||||
eglSwapInterval = dlsym( RTLD_DEFAULT, "eglSwapInterval" );
|
||||
if ( eglSwapInterval ) {
|
||||
((void(*)(int))eglSwapInterval)( 2 );
|
||||
}
|
||||
#endif
|
||||
// Get the layer
|
||||
CAEAGLLayer *eaglLayer = (CAEAGLLayer *)self.layer;
|
||||
|
||||
eaglLayer.opaque = TRUE;
|
||||
eaglLayer.drawableProperties = [NSDictionary dictionaryWithObjectsAndKeys:
|
||||
|
||||
[NSNumber numberWithBool:NO],
|
||||
kEAGLDrawablePropertyRetainedBacking,
|
||||
kEAGLColorFormatRGB565,
|
||||
kEAGLDrawablePropertyColorFormat,
|
||||
nil];
|
||||
|
||||
|
||||
|
||||
//self.multipleTouchEnabled = true;
|
||||
|
||||
#ifdef VOLUMEHACK
|
||||
//-------------------
|
||||
// Volume Button Hack
|
||||
//gsh
|
||||
// Note: MediaPlayer framework required for this trick
|
||||
//create a MPVolumeView to hack the volume button
|
||||
CGRect frame = CGRectMake(0, -30, 180, 10); //put this thing offscreen
|
||||
volumeView = [[[MPVolumeView alloc] initWithFrame:frame] autorelease];
|
||||
[volumeView sizeToFit];
|
||||
[self addSubview:volumeView];
|
||||
|
||||
// Find the volume view slider
|
||||
for (UIView *view in [volumeView subviews]){
|
||||
if ([[[view class] description] isEqualToString:@"MPVolumeSlider"]) {
|
||||
volumeViewSlider = (UISlider *)view;
|
||||
//-------------------
|
||||
// Volume Button Hack
|
||||
//gsh
|
||||
// Note: MediaPlayer framework required for this trick
|
||||
//create a MPVolumeView to hack the volume button
|
||||
CGRect frame = CGRectMake(0, -30, 180, 10); //put this thing offscreen
|
||||
volumeView = [[[MPVolumeView alloc] initWithFrame:frame] autorelease];
|
||||
[volumeView sizeToFit];
|
||||
[self addSubview:volumeView];
|
||||
|
||||
// Find the volume view slider
|
||||
for (UIView *view in [volumeView subviews]){
|
||||
if ([[[view class] description] isEqualToString:@"MPVolumeSlider"]) {
|
||||
volumeViewSlider = (UISlider *)view;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//listen for volume changes
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(volumeListener:)
|
||||
name:@"AVSystemController_SystemVolumeDidChangeNotification"
|
||||
object:nil];
|
||||
|
||||
//listen for volume changes
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(volumeListener:)
|
||||
name:@"AVSystemController_SystemVolumeDidChangeNotification"
|
||||
object:nil];
|
||||
|
||||
//---------------------
|
||||
#endif
|
||||
|
||||
#ifdef NOTIFYLISTEN //gsh
|
||||
//this is a general purpose listener
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(notificationListener:)
|
||||
name:nil
|
||||
object:nil];
|
||||
//this is a general purpose listener
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(notificationListener:)
|
||||
name:nil
|
||||
object:nil];
|
||||
#endif
|
||||
|
||||
// with swapinterval, we want to update as fast as possible
|
||||
float interval = 1.0 / 30.0f;
|
||||
self.animationTimer = [NSTimer scheduledTimerWithTimeInterval:interval
|
||||
target:self
|
||||
selector:@selector(drawView)
|
||||
userInfo:nil repeats:YES];
|
||||
|
||||
}
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
//gsh
|
||||
- (void)viewDidLoad {
|
||||
|
||||
Com_Printf("\n---------------\nviewDidLoad() called\n---------------\n\n");
|
||||
}
|
||||
|
||||
- (void)drawView {
|
||||
|
||||
[ (wolf3dAppDelegate *)[UIApplication sharedApplication].delegate restartAccelerometerIfNeeded];
|
||||
|
||||
#if 0
|
||||
//------------------
|
||||
// Volume button hack
|
||||
{
|
||||
if ( SharedAVSystemController ) {
|
||||
float newVolume;
|
||||
NSString *categoryName;
|
||||
static float activeVolume = 0.9;
|
||||
if ([SharedAVSystemController getActiveCategoryVolume:&newVolume andName:&categoryName]) {
|
||||
if (activeVolume < newVolume) {
|
||||
[SharedAVSystemController setActiveCategoryVolumeTo:activeVolume];
|
||||
Com_Printf( "Volume up: %i\n", Sys_Milliseconds() );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef VOLUMEHACK
|
||||
//------------------
|
||||
// volume hack
|
||||
|
||||
|
||||
//check for volume adjustments gsh
|
||||
if ( menuState == IPM_CONTROLS)
|
||||
{
|
||||
if (lastFramesVolume != s_masterVolume->value)
|
||||
{
|
||||
lastFramesVolume = s_masterVolume->value;
|
||||
[volumeViewSlider setValue:lastFramesVolume animated:NO];
|
||||
[volumeViewSlider _commitVolumeChange];
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
iphoneFrame(); // swapBuffers() will be called from here
|
||||
}
|
||||
|
||||
|
||||
- (void)swapBuffers {
|
||||
// glBindRenderbufferOES(GL_RENDERBUFFER_OES, viewRenderbuffer);
|
||||
loggedTimes[iphoneFrameNum&(MAX_LOGGED_TIMES-1)].beforeSwap = Sys_Milliseconds();
|
||||
[context presentRenderbuffer:GL_RENDERBUFFER_OES];
|
||||
loggedTimes[iphoneFrameNum&(MAX_LOGGED_TIMES-1)].afterSwap = Sys_Milliseconds();
|
||||
}
|
||||
|
||||
- (void)layoutSubviews {
|
||||
[self drawView];
|
||||
}
|
||||
|
||||
|
||||
|
||||
- (void)destroyFramebuffer {
|
||||
glDeleteFramebuffersOES(1, &viewFramebuffer);
|
||||
viewFramebuffer = 0;
|
||||
glDeleteRenderbuffersOES(1, &viewRenderbuffer);
|
||||
viewRenderbuffer = 0;
|
||||
glDeleteRenderbuffersOES(1, &depthRenderbuffer);
|
||||
depthRenderbuffer = 0;
|
||||
}
|
||||
|
||||
|
||||
- (void)dealloc {
|
||||
if ([EAGLContext currentContext] == context) {
|
||||
- (void)setContext:(EAGLContext *)newContext
|
||||
{
|
||||
if (context != newContext)
|
||||
{
|
||||
[self deleteFramebuffer];
|
||||
|
||||
[context release];
|
||||
context = [newContext retain];
|
||||
|
||||
[EAGLContext setCurrentContext:nil];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)createFramebuffer
|
||||
{
|
||||
if (context && !defaultFramebuffer)
|
||||
{
|
||||
[EAGLContext setCurrentContext:context];
|
||||
|
||||
// Create default framebuffer object.
|
||||
glGenFramebuffersOES(1, &defaultFramebuffer);
|
||||
glBindFramebufferOES(GL_FRAMEBUFFER_OES, defaultFramebuffer);
|
||||
|
||||
// Create color render buffer and allocate backing store.
|
||||
glGenRenderbuffersOES(1, &colorRenderbuffer);
|
||||
glBindRenderbufferOES(GL_RENDERBUFFER_OES, colorRenderbuffer);
|
||||
|
||||
[context renderbufferStorage:GL_RENDERBUFFER_OES fromDrawable:(CAEAGLLayer *)self.layer];
|
||||
glGetRenderbufferParameterivOES(GL_RENDERBUFFER_OES, GL_RENDERBUFFER_WIDTH_OES, &framebufferWidth);
|
||||
glGetRenderbufferParameterivOES(GL_RENDERBUFFER_OES, GL_RENDERBUFFER_HEIGHT_OES, &framebufferHeight);
|
||||
|
||||
glFramebufferRenderbufferOES(GL_FRAMEBUFFER_OES, GL_COLOR_ATTACHMENT0_OES, GL_RENDERBUFFER_OES, colorRenderbuffer);
|
||||
|
||||
// Create the depth render buffer and allocate backing store.
|
||||
glGenRenderbuffersOES(1, &depthRenderbuffer);
|
||||
glBindRenderbufferOES(GL_RENDERBUFFER_OES, depthRenderbuffer);
|
||||
glRenderbufferStorageOES(GL_RENDERBUFFER_OES, GL_DEPTH_COMPONENT16_OES, framebufferWidth, framebufferHeight);
|
||||
|
||||
glFramebufferRenderbufferOES(GL_FRAMEBUFFER_OES, GL_DEPTH_ATTACHMENT_OES, GL_RENDERBUFFER_OES, depthRenderbuffer);
|
||||
|
||||
if (glCheckFramebufferStatusOES(GL_FRAMEBUFFER_OES) != GL_FRAMEBUFFER_COMPLETE_OES) {
|
||||
NSLog(@"Failed to make complete framebuffer object %x", glCheckFramebufferStatusOES(GL_FRAMEBUFFER_OES));
|
||||
}
|
||||
|
||||
// We can bind the color buffer here to avoid doing it every frame.
|
||||
glBindRenderbufferOES(GL_RENDERBUFFER_OES, colorRenderbuffer);
|
||||
}
|
||||
}
|
||||
|
||||
- (void)deleteFramebuffer
|
||||
{
|
||||
if (context)
|
||||
{
|
||||
[EAGLContext setCurrentContext:context];
|
||||
|
||||
if (defaultFramebuffer)
|
||||
{
|
||||
glDeleteFramebuffersOES(1, &defaultFramebuffer);
|
||||
defaultFramebuffer = 0;
|
||||
}
|
||||
|
||||
if (colorRenderbuffer)
|
||||
{
|
||||
glDeleteRenderbuffersOES(1, &colorRenderbuffer);
|
||||
colorRenderbuffer = 0;
|
||||
}
|
||||
|
||||
if (depthRenderbuffer)
|
||||
{
|
||||
glDeleteFramebuffersOES(1, &depthRenderbuffer);
|
||||
depthRenderbuffer = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- (void)setFramebuffer
|
||||
{
|
||||
if (context)
|
||||
{
|
||||
[EAGLContext setCurrentContext:context];
|
||||
|
||||
if (!defaultFramebuffer)
|
||||
[self createFramebuffer];
|
||||
|
||||
//glBindFramebufferOES(GL_FRAMEBUFFER_OES, defaultFramebuffer);
|
||||
|
||||
//glViewport(0, 0, framebufferWidth, framebufferHeight);
|
||||
}
|
||||
}
|
||||
|
||||
- (BOOL)presentFramebuffer
|
||||
{
|
||||
BOOL success = FALSE;
|
||||
|
||||
[context release];
|
||||
if (context)
|
||||
{
|
||||
[EAGLContext setCurrentContext:context];
|
||||
|
||||
//glBindRenderbufferOES(GL_RENDERBUFFER_OES, colorRenderbuffer);
|
||||
|
||||
if ( gl_config.framebuffer_discard ) {
|
||||
const GLenum discards[] = {GL_DEPTH_ATTACHMENT_OES};
|
||||
glDiscardFramebufferEXT(GL_FRAMEBUFFER_OES,1,discards);
|
||||
}
|
||||
|
||||
|
||||
loggedTimes[iphoneFrameNum&(MAX_LOGGED_TIMES-1)].beforeSwap = Sys_Milliseconds();
|
||||
success = [context presentRenderbuffer:GL_RENDERBUFFER_OES];
|
||||
loggedTimes[iphoneFrameNum&(MAX_LOGGED_TIMES-1)].afterSwap = Sys_Milliseconds();
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
|
||||
- (void)layoutSubviews {
|
||||
//float widthRatio = ( self.bounds.size.width * deviceScale ) / REFERENCE_WIDTH;
|
||||
//float heightRatio = ( self.bounds.size.height * deviceScale ) / REFERENCE_HEIGHT;
|
||||
|
||||
[self deleteFramebuffer];
|
||||
|
||||
/*
|
||||
if ( widthRatio < heightRatio ) {
|
||||
screenScale = widthRatio;
|
||||
} else {
|
||||
screenScale = heightRatio;
|
||||
}
|
||||
|
||||
// Set the global width and height so the game code can access it.
|
||||
// since the game runs in landscape, we must switch width and height.
|
||||
viddef.width = self.bounds.size.width * deviceScale;
|
||||
viddef.height = self.bounds.size.height * deviceScale;
|
||||
*/
|
||||
// Need to re-arrange the HUD now that the screen changed.
|
||||
if ( controlScheme ) {
|
||||
HudSetForScheme( controlScheme->value );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
- (void)dealloc {
|
||||
[self deleteFramebuffer];
|
||||
[context release];
|
||||
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
@@ -287,7 +316,7 @@ EAGLView *eaglview;
|
||||
NSSet *t = [event allTouches];
|
||||
for (UITouch *myTouch in t)
|
||||
{
|
||||
CGPoint touchLocation = [myTouch locationInView:nil];
|
||||
CGPoint touchLocation = [myTouch locationInView:self];
|
||||
|
||||
points[ 2 * touchCount + 0 ] = touchLocation.x;
|
||||
points[ 2 * touchCount + 1 ] = touchLocation.y; // ( h - 1 ) - touchLocation.y;
|
||||
@@ -434,10 +463,6 @@ void SysIPhoneSetConsoleTextField( const char * str) {
|
||||
eaglview->textField.text = [ NSString stringWithUTF8String: str ];
|
||||
}
|
||||
|
||||
void SysIPhoneSwapBuffers() {
|
||||
[eaglview swapBuffers];
|
||||
}
|
||||
|
||||
void SysIPhoneOpenURL( const char *url ) {
|
||||
Com_Printf( "OpenURL char *: %s\n", url );
|
||||
|
||||
@@ -445,14 +470,6 @@ void SysIPhoneOpenURL( const char *url ) {
|
||||
[[UIApplication sharedApplication] openURL:[NSURL URLWithString: nss]];
|
||||
}
|
||||
|
||||
void SysIPhoneSetUIKitOrientation( int isLandscapeRight ) {
|
||||
if ( isLandscapeRight ) {
|
||||
[UIApplication sharedApplication].statusBarOrientation = UIInterfaceOrientationLandscapeRight;
|
||||
} else {
|
||||
[UIApplication sharedApplication].statusBarOrientation = UIInterfaceOrientationLandscapeLeft;
|
||||
}
|
||||
}
|
||||
|
||||
void SysIPhoneLoadJPG( W8* jpegData, int jpegBytes, W8 **pic, W16 *width, W16 *height, W16 *bytes ) {
|
||||
CFDataRef data;
|
||||
int dataBytes = 0;
|
||||
|
||||
698
wolf3d/code/iphone/EpisodeCell.xib
Normal file
698
wolf3d/code/iphone/EpisodeCell.xib
Normal file
@@ -0,0 +1,698 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">1056</int>
|
||||
<string key="IBDocument.SystemVersion">10K540</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">851</string>
|
||||
<string key="IBDocument.AppKitVersion">1038.36</string>
|
||||
<string key="IBDocument.HIToolboxVersion">461.00</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="NS.object.0">141</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<integer value="2"/>
|
||||
</object>
|
||||
<object class="NSArray" key="IBDocument.PluginDependencies">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.Metadata">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys" id="0">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBProxyObject" id="841351856">
|
||||
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBProxyObject" id="606714003">
|
||||
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBUITableViewCell" id="610104207">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">1298</int>
|
||||
<object class="NSMutableArray" key="NSSubviews">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBUIView" id="946422459">
|
||||
<reference key="NSNextResponder" ref="610104207"/>
|
||||
<int key="NSvFlags">1280</int>
|
||||
<object class="NSMutableArray" key="NSSubviews">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBUIImageView" id="525193574">
|
||||
<reference key="NSNextResponder" ref="946422459"/>
|
||||
<int key="NSvFlags">-2147482332</int>
|
||||
<string key="NSFrame">{{0, 2}, {328, 100}}</string>
|
||||
<reference key="NSSuperview" ref="946422459"/>
|
||||
<int key="IBUITag">3</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<float key="IBUIScaleFactor">2</float>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<object class="NSCustomResource" key="IBUIImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">highlight_bracket.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIImageView" id="40397874">
|
||||
<reference key="NSNextResponder" ref="946422459"/>
|
||||
<int key="NSvFlags">1316</int>
|
||||
<string key="NSFrame">{{4, 6}, {319, 92}}</string>
|
||||
<reference key="NSSuperview" ref="946422459"/>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<float key="IBUIScaleFactor">2</float>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<object class="NSCustomResource" key="IBUIImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">episode_bracket.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIImageView" id="285959975">
|
||||
<reference key="NSNextResponder" ref="946422459"/>
|
||||
<int key="NSvFlags">1316</int>
|
||||
<string key="NSFrame">{{13, 32}, {260, 3}}</string>
|
||||
<reference key="NSSuperview" ref="946422459"/>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<float key="IBUIScaleFactor">2</float>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<object class="NSCustomResource" key="IBUIImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">episode_divider.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUILabel" id="742621351">
|
||||
<reference key="NSNextResponder" ref="946422459"/>
|
||||
<int key="NSvFlags">1316</int>
|
||||
<string key="NSFrame">{{12, 10}, {314, 34}}</string>
|
||||
<reference key="NSSuperview" ref="946422459"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">7</int>
|
||||
<int key="IBUITag">1</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<float key="IBUIScaleFactor">2</float>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<string key="IBUIText">Episode Number</string>
|
||||
<object class="NSFont" key="IBUIFont">
|
||||
<string key="NSName">POSITYPE-idSettler_v10.2</string>
|
||||
<double key="NSSize">20</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
<object class="NSColor" key="IBUITextColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
|
||||
</object>
|
||||
<object class="NSColor" key="IBUIHighlightedColor" id="911926565">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MC4zMzMzMzMzMzMzAA</bytes>
|
||||
</object>
|
||||
<int key="IBUIBaselineAdjustment">1</int>
|
||||
<float key="IBUIMinimumFontSize">10</float>
|
||||
</object>
|
||||
<object class="IBUILabel" id="617790695">
|
||||
<reference key="NSNextResponder" ref="946422459"/>
|
||||
<int key="NSvFlags">1316</int>
|
||||
<string key="NSFrame">{{12, 37}, {323, 41}}</string>
|
||||
<reference key="NSSuperview" ref="946422459"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">9</int>
|
||||
<int key="IBUITag">2</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<float key="IBUIScaleFactor">2</float>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<string key="IBUIText">Episode Name</string>
|
||||
<object class="NSFont" key="IBUIFont" id="428773628">
|
||||
<string key="NSName">POSITYPE-idSettler_v10.2</string>
|
||||
<double key="NSSize">32</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
<object class="NSColor" key="IBUITextColor" id="935119435">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MQA</bytes>
|
||||
</object>
|
||||
<reference key="IBUIHighlightedColor" ref="911926565"/>
|
||||
<int key="IBUIBaselineAdjustment">1</int>
|
||||
<bool key="IBUIAdjustsFontSizeToFit">NO</bool>
|
||||
<float key="IBUIMinimumFontSize">10</float>
|
||||
</object>
|
||||
<object class="IBUILabel" id="944150288">
|
||||
<reference key="NSNextResponder" ref="946422459"/>
|
||||
<int key="NSvFlags">1316</int>
|
||||
<string key="NSFrame">{{12, 64}, {323, 41}}</string>
|
||||
<reference key="NSSuperview" ref="946422459"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">9</int>
|
||||
<int key="IBUITag">2</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<float key="IBUIScaleFactor">2</float>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<string key="IBUIText"/>
|
||||
<reference key="IBUIFont" ref="428773628"/>
|
||||
<reference key="IBUITextColor" ref="935119435"/>
|
||||
<reference key="IBUIHighlightedColor" ref="911926565"/>
|
||||
<int key="IBUIBaselineAdjustment">1</int>
|
||||
<bool key="IBUIAdjustsFontSizeToFit">NO</bool>
|
||||
<float key="IBUIMinimumFontSize">10</float>
|
||||
</object>
|
||||
</object>
|
||||
<string key="NSFrameSize">{336, 103}</string>
|
||||
<reference key="NSSuperview" ref="610104207"/>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MCAwAA</bytes>
|
||||
</object>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">4</int>
|
||||
<bool key="IBUIMultipleTouchEnabled">YES</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
</object>
|
||||
<string key="NSFrameSize">{336, 103}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MSAxIDEAA</bytes>
|
||||
</object>
|
||||
<float key="IBUIScaleFactor">2</float>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUISeparatorStyle">1</int>
|
||||
<reference key="IBUIContentView" ref="946422459"/>
|
||||
<int key="IBUILineBreakMode">0</int>
|
||||
<string key="IBUIReuseIdentifier">MyIdentifier</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBObjectContainer" key="IBDocument.Objects">
|
||||
<object class="NSMutableArray" key="connectionRecords">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">episodeCell</string>
|
||||
<reference key="source" ref="841351856"/>
|
||||
<reference key="destination" ref="610104207"/>
|
||||
</object>
|
||||
<int key="connectionID">7</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<object class="NSArray" key="orderedObjects">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">0</int>
|
||||
<reference key="object" ref="0"/>
|
||||
<reference key="children" ref="1000"/>
|
||||
<nil key="parent"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-1</int>
|
||||
<reference key="object" ref="841351856"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">File's Owner</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-2</int>
|
||||
<reference key="object" ref="606714003"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">2</int>
|
||||
<reference key="object" ref="610104207"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="742621351"/>
|
||||
<reference ref="617790695"/>
|
||||
<reference ref="40397874"/>
|
||||
<reference ref="285959975"/>
|
||||
<reference ref="944150288"/>
|
||||
<reference ref="525193574"/>
|
||||
</object>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">3</int>
|
||||
<reference key="object" ref="742621351"/>
|
||||
<reference key="parent" ref="610104207"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">4</int>
|
||||
<reference key="object" ref="617790695"/>
|
||||
<reference key="parent" ref="610104207"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">8</int>
|
||||
<reference key="object" ref="285959975"/>
|
||||
<reference key="parent" ref="610104207"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">9</int>
|
||||
<reference key="object" ref="40397874"/>
|
||||
<reference key="parent" ref="610104207"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">10</int>
|
||||
<reference key="object" ref="944150288"/>
|
||||
<reference key="parent" ref="610104207"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">11</int>
|
||||
<reference key="object" ref="525193574"/>
|
||||
<reference key="parent" ref="610104207"/>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="flattenedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>-1.CustomClassName</string>
|
||||
<string>-2.CustomClassName</string>
|
||||
<string>10.CustomClassName</string>
|
||||
<string>10.IBPluginDependency</string>
|
||||
<string>10.IBViewBoundsToFrameTransform</string>
|
||||
<string>11.IBPluginDependency</string>
|
||||
<string>11.IBViewBoundsToFrameTransform</string>
|
||||
<string>2.IBEditorWindowLastContentRect</string>
|
||||
<string>2.IBPluginDependency</string>
|
||||
<string>3.CustomClassName</string>
|
||||
<string>3.IBPluginDependency</string>
|
||||
<string>3.IBViewBoundsToFrameTransform</string>
|
||||
<string>4.CustomClassName</string>
|
||||
<string>4.IBPluginDependency</string>
|
||||
<string>4.IBViewBoundsToFrameTransform</string>
|
||||
<string>8.IBPluginDependency</string>
|
||||
<string>8.IBViewBoundsToFrameTransform</string>
|
||||
<string>9.IBPluginDependency</string>
|
||||
<string>9.IBViewBoundsToFrameTransform</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>EpisodeViewController</string>
|
||||
<string>UIResponder</string>
|
||||
<string>UIFontLabel</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABBoAAAwtgAAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">AQAAAABAAAAAA</bytes>
|
||||
</object>
|
||||
<string>{{614, 707}, {672, 206}}</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>UIFontLabel</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABCsAAAwjQAAA</bytes>
|
||||
</object>
|
||||
<string>UIFontLabel</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">AUDgAABCHAAAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">AUJgAABCMAAAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">AQAAAABAoAAAA</bytes>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="unlocalizedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<nil key="activeLocalization"/>
|
||||
<object class="NSMutableDictionary" key="localizations">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">11</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">EpisodeViewController</string>
|
||||
<string key="superclassName">UIViewController</string>
|
||||
<object class="NSMutableDictionary" key="actions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>back:</string>
|
||||
<string>next:</string>
|
||||
<string>setEpisode:</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="actionInfosByName">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>back:</string>
|
||||
<string>next:</string>
|
||||
<string>setEpisode:</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">back:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">next:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">setEpisode:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="outlets">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>episodeCell</string>
|
||||
<string>episodeList</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>UITableViewCell</string>
|
||||
<string>UITableView</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>episodeCell</string>
|
||||
<string>episodeList</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">episodeCell</string>
|
||||
<string key="candidateClassName">UITableViewCell</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">episodeList</string>
|
||||
<string key="candidateClassName">UITableView</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">EpisodeViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIFontLabel</string>
|
||||
<string key="superclassName">UILabel</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">UIFontLabel.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">QuartzCore.framework/Headers/CAAnimation.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">QuartzCore.framework/Headers/CALayer.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="6890943">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIImageView</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIImageView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UILabel</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UILabel.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIResponder</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<reference key="sourceIdentifier" ref="6890943"/>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIScrollView</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIScrollView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UISearchBar</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UISearchBar.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UISearchDisplayController</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UISearchDisplayController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UITableView</string>
|
||||
<string key="superclassName">UIScrollView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITableView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UITableViewCell</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITableViewCell.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIPrintFormatter.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIView</string>
|
||||
<string key="superclassName">UIResponder</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UINavigationController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIPopoverController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UISplitViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITabBarController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<string key="superclassName">UIResponder</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
|
||||
<integer value="1056" key="NS.object.0"/>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
|
||||
<integer value="3100" key="NS.object.0"/>
|
||||
</object>
|
||||
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
|
||||
<string key="IBDocument.LastKnownRelativeProjectPath">wolf3d.xcodeproj</string>
|
||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||
<object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>episode_bracket.png</string>
|
||||
<string>episode_divider.png</string>
|
||||
<string>highlight_bracket.png</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>{606, 168}</string>
|
||||
<string>{387, 3}</string>
|
||||
<string>{623, 189}</string>
|
||||
</object>
|
||||
</object>
|
||||
<string key="IBCocoaTouchPluginVersion">141</string>
|
||||
</data>
|
||||
</archive>
|
||||
935
wolf3d/code/iphone/EpisodeView.xib
Normal file
935
wolf3d/code/iphone/EpisodeView.xib
Normal file
@@ -0,0 +1,935 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">1056</int>
|
||||
<string key="IBDocument.SystemVersion">10K549</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">851</string>
|
||||
<string key="IBDocument.AppKitVersion">1038.36</string>
|
||||
<string key="IBDocument.HIToolboxVersion">461.00</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="NS.object.0">141</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<integer value="28"/>
|
||||
</object>
|
||||
<object class="NSArray" key="IBDocument.PluginDependencies">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.Metadata">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys" id="0">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBProxyObject" id="372490531">
|
||||
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBProxyObject" id="975951072">
|
||||
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBUIView" id="191373211">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<object class="NSMutableArray" key="NSSubviews">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBUIImageView" id="438564867">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrameSize">{480, 320}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">1</int>
|
||||
<bool key="IBUIMultipleTouchEnabled">YES</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<object class="NSCustomResource" key="IBUIImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">wolf_bg.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIImageView" id="122204725">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrame">{{25, 259}, {32, 32}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<int key="IBUIContentMode">1</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<object class="NSCustomResource" key="IBUIImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">back_arrow.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIImageView" id="864370271">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrame">{{422, 259}, {32, 32}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<int key="IBUIContentMode">1</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<object class="NSCustomResource" key="IBUIImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">next_arrow.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUILabel" id="1052909798">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrame">{{24, 240}, {66, 29}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">7</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<string key="IBUIText">BACK</string>
|
||||
<object class="NSFont" key="IBUIFont" id="622893689">
|
||||
<string key="NSName">POSITYPE-idSettler_v10.2</string>
|
||||
<double key="NSSize">18</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
<object class="NSColor" key="IBUITextColor" id="256070585">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MQA</bytes>
|
||||
</object>
|
||||
<reference key="IBUIHighlightedColor" ref="256070585"/>
|
||||
<int key="IBUIBaselineAdjustment">1</int>
|
||||
<float key="IBUIMinimumFontSize">10</float>
|
||||
<int key="IBUILineBreakMode">5</int>
|
||||
</object>
|
||||
<object class="IBUILabel" id="185220669">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrame">{{421, 240}, {66, 29}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">7</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<string key="IBUIText">NEXT</string>
|
||||
<reference key="IBUIFont" ref="622893689"/>
|
||||
<reference key="IBUITextColor" ref="256070585"/>
|
||||
<reference key="IBUIHighlightedColor" ref="256070585"/>
|
||||
<int key="IBUIBaselineAdjustment">1</int>
|
||||
<float key="IBUIMinimumFontSize">10</float>
|
||||
<int key="IBUILineBreakMode">5</int>
|
||||
</object>
|
||||
<object class="IBUILabel" id="670859964">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrame">{{81, 8}, {128, 31}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">7</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<string key="IBUIText">Episode Select</string>
|
||||
<object class="NSFont" key="IBUIFont">
|
||||
<string key="NSName">POSITYPE-idSettler_v10.2</string>
|
||||
<double key="NSSize">24</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
<reference key="IBUITextColor" ref="256070585"/>
|
||||
<reference key="IBUIHighlightedColor" ref="256070585"/>
|
||||
<int key="IBUIBaselineAdjustment">1</int>
|
||||
<float key="IBUIMinimumFontSize">10</float>
|
||||
<int key="IBUILineBreakMode">5</int>
|
||||
</object>
|
||||
<object class="IBUIButton" id="905085223">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrame">{{20, 231}, {52, 62}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIAutoresizesSubviews">NO</bool>
|
||||
<int key="IBUIContentMode">1</int>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<object class="NSFont" key="IBUIFont" id="470588032">
|
||||
<string key="NSName">Helvetica-Bold</string>
|
||||
<double key="NSSize">15</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="256070585"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
|
||||
</object>
|
||||
<object class="NSColor" key="IBUINormalTitleShadowColor" id="864562198">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MC41AA</bytes>
|
||||
</object>
|
||||
<object class="NSCustomResource" key="IBUIHighlightedBackgroundImage" id="155610358">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">button_highlight.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIButton" id="314196185">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrame">{{416, 231}, {50, 62}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIAutoresizesSubviews">NO</bool>
|
||||
<int key="IBUIContentMode">1</int>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<reference key="IBUIFont" ref="470588032"/>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="256070585"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="864562198"/>
|
||||
<reference key="IBUIHighlightedBackgroundImage" ref="155610358"/>
|
||||
</object>
|
||||
<object class="IBUIButton" id="331722433">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrame">{{220, 299}, {46, 24}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIAutoresizesSubviews">NO</bool>
|
||||
<int key="IBUIContentMode">1</int>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<reference key="IBUIFont" ref="470588032"/>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="256070585"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="864562198"/>
|
||||
<reference key="IBUIHighlightedBackgroundImage" ref="155610358"/>
|
||||
<object class="NSCustomResource" key="IBUINormalBackgroundImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">down_arrow.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIButton" id="398032643">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrame">{{220, 11}, {46, 24}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIAutoresizesSubviews">NO</bool>
|
||||
<int key="IBUIContentMode">1</int>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<reference key="IBUIFont" ref="470588032"/>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="256070585"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="864562198"/>
|
||||
<reference key="IBUIHighlightedBackgroundImage" ref="155610358"/>
|
||||
<object class="NSCustomResource" key="IBUINormalBackgroundImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">up_arrow.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUITableView" id="504138825">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrame">{{79.5, 35}, {336, 260}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MCAwAA</bytes>
|
||||
</object>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<bool key="IBUIAlwaysBounceVertical">YES</bool>
|
||||
<bool key="IBUIShowsHorizontalScrollIndicator">NO</bool>
|
||||
<int key="IBUIIndicatorStyle">2</int>
|
||||
<int key="IBUISectionIndexMinimumDisplayRowCount">0</int>
|
||||
<bool key="IBUIShowsSelectionImmediatelyOnTouchBegin">YES</bool>
|
||||
<float key="IBUIRowHeight">103</float>
|
||||
</object>
|
||||
</object>
|
||||
<string key="NSFrameSize">{480, 320}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MCAwIDAAA</bytes>
|
||||
</object>
|
||||
<object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
|
||||
<int key="interfaceOrientation">3</int>
|
||||
</object>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBObjectContainer" key="IBDocument.Objects">
|
||||
<object class="NSMutableArray" key="connectionRecords">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">view</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="191373211"/>
|
||||
</object>
|
||||
<int key="connectionID">13</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">back:</string>
|
||||
<reference key="source" ref="905085223"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">36</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">episodeList</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="504138825"/>
|
||||
</object>
|
||||
<int key="connectionID">62</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">dataSource</string>
|
||||
<reference key="source" ref="504138825"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
</object>
|
||||
<int key="connectionID">63</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">delegate</string>
|
||||
<reference key="source" ref="504138825"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
</object>
|
||||
<int key="connectionID">64</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">next:</string>
|
||||
<reference key="source" ref="314196185"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">65</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">pageDown:</string>
|
||||
<reference key="source" ref="331722433"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">66</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">pageUp:</string>
|
||||
<reference key="source" ref="398032643"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">67</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<object class="NSArray" key="orderedObjects">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">0</int>
|
||||
<reference key="object" ref="0"/>
|
||||
<reference key="children" ref="1000"/>
|
||||
<nil key="parent"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">1</int>
|
||||
<reference key="object" ref="191373211"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="1052909798"/>
|
||||
<reference ref="670859964"/>
|
||||
<reference ref="331722433"/>
|
||||
<reference ref="398032643"/>
|
||||
<reference ref="864370271"/>
|
||||
<reference ref="185220669"/>
|
||||
<reference ref="438564867"/>
|
||||
<reference ref="504138825"/>
|
||||
<reference ref="122204725"/>
|
||||
<reference ref="905085223"/>
|
||||
<reference ref="314196185"/>
|
||||
</object>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-1</int>
|
||||
<reference key="object" ref="372490531"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">File's Owner</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-2</int>
|
||||
<reference key="object" ref="975951072"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">31</int>
|
||||
<reference key="object" ref="1052909798"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">32</int>
|
||||
<reference key="object" ref="670859964"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">33</int>
|
||||
<reference key="object" ref="905085223"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">35</int>
|
||||
<reference key="object" ref="122204725"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">28</int>
|
||||
<reference key="object" ref="438564867"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">49</int>
|
||||
<reference key="object" ref="331722433"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">51</int>
|
||||
<reference key="object" ref="398032643"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">53</int>
|
||||
<reference key="object" ref="864370271"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">54</int>
|
||||
<reference key="object" ref="185220669"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">55</int>
|
||||
<reference key="object" ref="314196185"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">61</int>
|
||||
<reference key="object" ref="504138825"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
<string key="objectName">Episode List</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="flattenedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>-1.CustomClassName</string>
|
||||
<string>-2.CustomClassName</string>
|
||||
<string>1.IBEditorWindowLastContentRect</string>
|
||||
<string>1.IBPluginDependency</string>
|
||||
<string>28.IBViewBoundsToFrameTransform</string>
|
||||
<string>31.CustomClassName</string>
|
||||
<string>31.IBPluginDependency</string>
|
||||
<string>31.IBViewBoundsToFrameTransform</string>
|
||||
<string>32.CustomClassName</string>
|
||||
<string>32.IBPluginDependency</string>
|
||||
<string>32.IBViewBoundsToFrameTransform</string>
|
||||
<string>33.IBPluginDependency</string>
|
||||
<string>33.IBViewBoundsToFrameTransform</string>
|
||||
<string>35.IBPluginDependency</string>
|
||||
<string>35.IBViewBoundsToFrameTransform</string>
|
||||
<string>49.IBPluginDependency</string>
|
||||
<string>49.IBViewBoundsToFrameTransform</string>
|
||||
<string>51.IBPluginDependency</string>
|
||||
<string>51.IBViewBoundsToFrameTransform</string>
|
||||
<string>53.IBPluginDependency</string>
|
||||
<string>53.IBViewBoundsToFrameTransform</string>
|
||||
<string>54.CustomClassName</string>
|
||||
<string>54.IBPluginDependency</string>
|
||||
<string>54.IBViewBoundsToFrameTransform</string>
|
||||
<string>55.IBPluginDependency</string>
|
||||
<string>55.IBViewBoundsToFrameTransform</string>
|
||||
<string>61.IBPluginDependency</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>EpisodeViewController</string>
|
||||
<string>UIResponder</string>
|
||||
<string>{{647, 827}, {480, 320}}</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAAAAAAAAw58AAA</bytes>
|
||||
</object>
|
||||
<string>UIFontLabel</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">AUIEAABDbQAAA</bytes>
|
||||
</object>
|
||||
<string>UIFontLabel</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">AUK4AABBUAAAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABBoAAAw2cAAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABCFAAAw5KAAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">AUNcAABDlYAAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABDNgAAw5SAAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">AUIUAABDg4AAA</bytes>
|
||||
</object>
|
||||
<string>UIFontLabel</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">AUIEAABDbQAAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABD0oAAw2cAAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="unlocalizedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<nil key="activeLocalization"/>
|
||||
<object class="NSMutableDictionary" key="localizations">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">67</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">EpisodeViewController</string>
|
||||
<string key="superclassName">UIViewController</string>
|
||||
<object class="NSMutableDictionary" key="actions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>back:</string>
|
||||
<string>next:</string>
|
||||
<string>pageDown:</string>
|
||||
<string>pageUp:</string>
|
||||
<string>setEpisode:</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="actionInfosByName">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>back:</string>
|
||||
<string>next:</string>
|
||||
<string>pageDown:</string>
|
||||
<string>pageUp:</string>
|
||||
<string>setEpisode:</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">back:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">next:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">pageDown:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">pageUp:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">setEpisode:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="outlets">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>episodeCell</string>
|
||||
<string>episodeList</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>UITableViewCell</string>
|
||||
<string>UITableView</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>episodeCell</string>
|
||||
<string>episodeList</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">episodeCell</string>
|
||||
<string key="candidateClassName">UITableViewCell</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">episodeList</string>
|
||||
<string key="candidateClassName">UITableView</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">EpisodeViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIFontLabel</string>
|
||||
<string key="superclassName">UILabel</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">UIFontLabel.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">QuartzCore.framework/Headers/CAAnimation.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">QuartzCore.framework/Headers/CALayer.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="517279992">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIButton</string>
|
||||
<string key="superclassName">UIControl</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIButton.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIControl</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIControl.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIImageView</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIImageView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UILabel</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UILabel.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIResponder</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<reference key="sourceIdentifier" ref="517279992"/>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIScrollView</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIScrollView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UISearchBar</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UISearchBar.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UISearchDisplayController</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UISearchDisplayController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UITableView</string>
|
||||
<string key="superclassName">UIScrollView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITableView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UITableViewCell</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITableViewCell.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIPrintFormatter.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIView</string>
|
||||
<string key="superclassName">UIResponder</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UINavigationController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIPopoverController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UISplitViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITabBarController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<string key="superclassName">UIResponder</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
|
||||
<integer value="1056" key="NS.object.0"/>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
|
||||
<integer value="3100" key="NS.object.0"/>
|
||||
</object>
|
||||
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
|
||||
<string key="IBDocument.LastKnownRelativeProjectPath">wolf3d.xcodeproj</string>
|
||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||
<object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>back_arrow.png</string>
|
||||
<string>button_highlight.png</string>
|
||||
<string>down_arrow.png</string>
|
||||
<string>next_arrow.png</string>
|
||||
<string>up_arrow.png</string>
|
||||
<string>wolf_bg.png</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>{65, 63}</string>
|
||||
<string>{4, 4}</string>
|
||||
<string>{80, 36}</string>
|
||||
<string>{65, 63}</string>
|
||||
<string>{80, 36}</string>
|
||||
<string>{480, 320}</string>
|
||||
</object>
|
||||
</object>
|
||||
<string key="IBCocoaTouchPluginVersion">141</string>
|
||||
</data>
|
||||
</archive>
|
||||
42
wolf3d/code/iphone/EpisodeViewController.h
Normal file
42
wolf3d/code/iphone/EpisodeViewController.h
Normal file
@@ -0,0 +1,42 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
|
||||
@interface EpisodeViewController : UIViewController <UITableViewDelegate, UITableViewDataSource> {
|
||||
IBOutlet UITableView *episodeList;
|
||||
|
||||
UITableViewCell* episodeCell;
|
||||
}
|
||||
|
||||
@property (nonatomic, assign) IBOutlet UITableViewCell *episodeCell;
|
||||
|
||||
- (IBAction)setEpisode:(id)sender;
|
||||
- (IBAction)back:(id)sender;
|
||||
- (IBAction)next:(id)sender;
|
||||
|
||||
- (IBAction)pageDown:(id)sender;
|
||||
- (IBAction)pageUp:(id)sender;
|
||||
|
||||
@end
|
||||
355
wolf3d/code/iphone/EpisodeViewController.m
Normal file
355
wolf3d/code/iphone/EpisodeViewController.m
Normal file
@@ -0,0 +1,355 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
|
||||
#import "EpisodeViewController.h"
|
||||
#import "LevelSelectViewController.h"
|
||||
|
||||
#import "wolfiphone.h"
|
||||
|
||||
#define TOTAL_EPISODES 10
|
||||
|
||||
static const char * const EpisodeNames[TOTAL_EPISODES][2] = {
|
||||
{ "Episode 1", "Escape from Wolfenstein" },
|
||||
{ "Episode 2", "Operation: Eisenfaust" },
|
||||
{ "Episode 3", "Die, Fuhrer, Die!" },
|
||||
{ "Episode 4", "A Dark Secret" },
|
||||
{ "Episode 5", "Trail of the Madman" },
|
||||
{ "Episode 6", "Confrontation" },
|
||||
{ "Spear of Destiny", "Tunnels" },
|
||||
{ "Spear of Destiny", "Dungeons" },
|
||||
{ "Spear of Destiny", "Castle" },
|
||||
{ "Spear of Destiny", "Ramparts" }
|
||||
};
|
||||
|
||||
|
||||
// A class extension to declare private methods
|
||||
@interface EpisodeViewController (PrivateMethods)
|
||||
- (void)startLevelSelect;
|
||||
- (void)setCellSelected:(BOOL)selected atIndexPath:(NSIndexPath*)indexPath;
|
||||
- (void)setCellSelected:(BOOL)selected cell:(UITableViewCell*)cell;
|
||||
- (void)handleSelectionAtIndexPath:(NSIndexPath*)indexPath;
|
||||
- (void)scrollToRow:(int)row;
|
||||
@end
|
||||
|
||||
@interface EpisodeViewController ()
|
||||
|
||||
@property (nonatomic, retain) UITableView *episodeList;
|
||||
|
||||
@end
|
||||
|
||||
@implementation EpisodeViewController
|
||||
|
||||
@synthesize episodeList;
|
||||
@synthesize episodeCell;
|
||||
|
||||
// The designated initializer. Override if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad.
|
||||
/*
|
||||
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
|
||||
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
|
||||
if (self) {
|
||||
// Custom initialization.
|
||||
}
|
||||
return self;
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
// Implement loadView to create a view hierarchy programmatically, without using a nib.
|
||||
- (void)loadView {
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
|
||||
// TODO: Select the current episode. Haven't yet figured out a good way to get the table
|
||||
// view to load with a default row selected, so for now always select episode 1.
|
||||
int initialEpisode = 0;
|
||||
|
||||
NSIndexPath *initialPath = [NSIndexPath indexPathForRow:initialEpisode inSection:0];
|
||||
|
||||
[self.episodeList selectRowAtIndexPath:initialPath animated:YES scrollPosition:UITableViewScrollPositionNone];
|
||||
[self handleSelectionAtIndexPath:initialPath];
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Override to allow orientations other than the default portrait orientation.
|
||||
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
|
||||
// Return YES for supported orientations.
|
||||
return UIInterfaceOrientationIsLandscape(interfaceOrientation);
|
||||
}
|
||||
|
||||
|
||||
- (void)didReceiveMemoryWarning {
|
||||
// Releases the view if it doesn't have a superview.
|
||||
[super didReceiveMemoryWarning];
|
||||
|
||||
// Release any cached data, images, etc. that aren't in use.
|
||||
}
|
||||
|
||||
- (void)viewDidUnload {
|
||||
[super viewDidUnload];
|
||||
// Release any retained subviews of the main view.
|
||||
// e.g. self.myOutlet = nil;
|
||||
|
||||
[self.episodeList release];
|
||||
self.episodeList = nil;
|
||||
}
|
||||
|
||||
|
||||
- (void)dealloc {
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
// Sets the current episode with the sender's tag. IF the user selects a platinum episode but
|
||||
// only has the lite version of the app, prompt him to buy the platinum version.
|
||||
- (IBAction)setEpisode:(id)sender {
|
||||
NSInteger requestedEpisode = [sender tag];
|
||||
|
||||
if ( SysIPhoneGetContentVersion() == CONTENT_PLATINUM || requestedEpisode == 0 ) {
|
||||
Cvar_SetValue( episode->name, [sender tag] );
|
||||
[self startLevelSelect];
|
||||
} else {
|
||||
// Prompt user to buy platinum version
|
||||
iphonePromptToBuyPlatinum();
|
||||
}
|
||||
}
|
||||
|
||||
- (IBAction)back:(id)sender {
|
||||
[self.navigationController popViewControllerAnimated:YES];
|
||||
}
|
||||
|
||||
- (IBAction)next:(id)sender {
|
||||
LevelSelectViewController *lsc = [[LevelSelectViewController alloc] initWithNibName:@"LevelSelectView" bundle:nil];
|
||||
[self.navigationController pushViewController:lsc animated:YES];
|
||||
[lsc release];
|
||||
}
|
||||
|
||||
|
||||
- (IBAction)pageDown:(id)sender {
|
||||
// If the user taps the page down button, we want to scroll the table view so that the first
|
||||
// non-visible row becomes visible. To do this, we can get the array of visible index paths,
|
||||
// find the maximum row within the array, and scroll to the row just after that.
|
||||
|
||||
NSArray* visibleIndexPaths = [self.episodeList indexPathsForVisibleRows];
|
||||
|
||||
int maxRow = 0;
|
||||
|
||||
for ( NSIndexPath* path in visibleIndexPaths ) {
|
||||
maxRow = maxRow < path.row ? path.row: maxRow;
|
||||
}
|
||||
|
||||
const int rowToMakeVisible = maxRow + 1;
|
||||
|
||||
[self scrollToRow:rowToMakeVisible];
|
||||
|
||||
}
|
||||
|
||||
|
||||
- (IBAction)pageUp:(id)sender {
|
||||
|
||||
// If the user taps the page up button, we want to scroll the table view so that the first
|
||||
// non-visible row becomes visible. To do this, we can get the array of visible index paths,
|
||||
// find the minimum row within the array, and scroll to the row just before that.
|
||||
|
||||
NSArray* visibleIndexPaths = [self.episodeList indexPathsForVisibleRows];
|
||||
|
||||
int minRow = TOTAL_EPISODES - 1;
|
||||
|
||||
for ( NSIndexPath* path in visibleIndexPaths ) {
|
||||
minRow = minRow < path.row ? minRow: path.row;
|
||||
}
|
||||
|
||||
const int rowToMakeVisible = minRow - 1;
|
||||
|
||||
[self scrollToRow:rowToMakeVisible];
|
||||
|
||||
}
|
||||
|
||||
- (void)scrollToRow:(int)row {
|
||||
const int clampedRowMax = row < TOTAL_EPISODES? row: TOTAL_EPISODES-1;
|
||||
const int clampedRow = clampedRowMax < 0? 0: clampedRowMax;
|
||||
|
||||
NSIndexPath* pathToMakeVisible = [NSIndexPath indexPathForRow:clampedRow inSection:0];
|
||||
|
||||
[self.episodeList scrollToRowAtIndexPath:pathToMakeVisible atScrollPosition:UITableViewScrollPositionNone animated:YES];
|
||||
}
|
||||
|
||||
- (void)startLevelSelect {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
========================
|
||||
|
||||
UITableView interface
|
||||
|
||||
========================
|
||||
*/
|
||||
|
||||
- (void)handleSelectionAtIndexPath:(NSIndexPath*)indexPath {
|
||||
|
||||
// Prompt for In-App Purchase when the user selects a level that is not currently available.
|
||||
if ( SysIPhoneGetContentVersion() == CONTENT_LITE ) {
|
||||
if ( indexPath.row > 0 ) {
|
||||
iphonePromptToBuyPlatinum();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
Cvar_SetValue( episode->name, indexPath.row );
|
||||
|
||||
[self setCellSelected:YES atIndexPath:indexPath];
|
||||
|
||||
/*
|
||||
int episodeIndex = episode->value;
|
||||
int levelIndex = indexPath.row;
|
||||
|
||||
|
||||
|
||||
|
||||
realEpisode = episodeIndex;
|
||||
realMap = levelIndex;
|
||||
|
||||
if ( episodeIndex >= NUM_ORIGINAL_EPISODES ) {
|
||||
switch (episodeIndex)
|
||||
{
|
||||
case 6:
|
||||
if (levelIndex == 5) {
|
||||
realEpisode = 7;
|
||||
realMap = 8;
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
realEpisode = 6;
|
||||
realMap += 5;
|
||||
break;
|
||||
case 8:
|
||||
realEpisode = 7;
|
||||
if (levelIndex == 6)
|
||||
realMap = 9;
|
||||
break;
|
||||
case 9:
|
||||
if ( levelIndex == 0) { realEpisode = 7; realMap = 6; }
|
||||
if ( levelIndex == 1) { realEpisode = 7; realMap = 7; }
|
||||
if ( levelIndex == 2) { realEpisode = 8; realMap = 0; }
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
||||
return TOTAL_EPISODES;
|
||||
}
|
||||
|
||||
static CGRect maximumNameLabelFrame = { { 0.0, 0.0 }, { 0.0, 0.0 } };
|
||||
|
||||
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
static NSString *MyIdentifier = @"MyIdentifier";
|
||||
UITableViewCell *cell = (UITableViewCell*)[self.episodeList dequeueReusableCellWithIdentifier:MyIdentifier];
|
||||
|
||||
if (cell == nil) {
|
||||
//cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MyIdentifier] autorelease];
|
||||
[[NSBundle mainBundle] loadNibNamed:@"EpisodeCell" owner:self options:nil];
|
||||
|
||||
if ( episodeCell == nil ) {
|
||||
// Couldn't create from nib file, load a default cell.
|
||||
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MyIdentifier] autorelease];
|
||||
} else {
|
||||
cell = episodeCell;
|
||||
self.episodeCell = nil;
|
||||
|
||||
// Save the good label size here before it gets modified by the code below.
|
||||
UILabel *episodeNameLabel;
|
||||
episodeNameLabel = (UILabel *)[cell viewWithTag:2];
|
||||
|
||||
maximumNameLabelFrame = episodeNameLabel.frame;
|
||||
}
|
||||
}
|
||||
|
||||
cell.selectionStyle = UITableViewCellSelectionStyleNone;
|
||||
|
||||
BOOL isCellSelected = ( episode->value == indexPath.row)? YES: NO;
|
||||
|
||||
[self setCellSelected:isCellSelected cell:cell];
|
||||
|
||||
UILabel *episodeNumberLabel;
|
||||
episodeNumberLabel = (UILabel *)[cell viewWithTag:1];
|
||||
episodeNumberLabel.text = [NSString stringWithCString:EpisodeNames[indexPath.row][0] encoding:NSASCIIStringEncoding];
|
||||
|
||||
UILabel *episodeNameLabel;
|
||||
episodeNameLabel = (UILabel *)[cell viewWithTag:2];
|
||||
NSString* episodeNameText = [NSString stringWithCString:EpisodeNames[indexPath.row][1] encoding:NSASCIIStringEncoding];
|
||||
|
||||
CGSize expectedLabelSize = [episodeNameText sizeWithFont:episodeNameLabel.font
|
||||
constrainedToSize:maximumNameLabelFrame.size
|
||||
lineBreakMode:episodeNameLabel.lineBreakMode];
|
||||
|
||||
//adjust the label the the new height.
|
||||
CGRect newFrame = maximumNameLabelFrame;
|
||||
newFrame.size.height = expectedLabelSize.height;
|
||||
episodeNameLabel.frame = newFrame;
|
||||
|
||||
episodeNameLabel.text = episodeNameText;
|
||||
|
||||
return cell;
|
||||
}
|
||||
|
||||
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
|
||||
[self handleSelectionAtIndexPath:indexPath];
|
||||
}
|
||||
|
||||
- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
[self setCellSelected:NO atIndexPath:indexPath];
|
||||
}
|
||||
|
||||
- (void)setCellSelected:(BOOL)selected atIndexPath:(NSIndexPath*)indexPath {
|
||||
// Get the cell that was selected.
|
||||
UITableViewCell * cell = [episodeList cellForRowAtIndexPath:indexPath];
|
||||
|
||||
[self setCellSelected:selected cell:cell];
|
||||
}
|
||||
|
||||
- (void)setCellSelected:(BOOL)selected cell:(UITableViewCell*)cell {
|
||||
// Get the "selected" image
|
||||
UIView * selectionFrame = [cell viewWithTag:3];
|
||||
|
||||
// Show the selected image
|
||||
selectionFrame.hidden = !selected;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -2,16 +2,18 @@
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key></key>
|
||||
<string></string>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>${PRODUCT_NAME}+</string>
|
||||
<string>Wolf 3D</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>${PRODUCT_NAME}_icon.png</string>
|
||||
<key>CFBundleIconFiles</key>
|
||||
<array>
|
||||
<string>WOLF_57</string>
|
||||
<string>WOLF_114</string>
|
||||
<string>WOLF_72</string>
|
||||
</array>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.idsoftware.${PRODUCT_NAME:identifier}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
@@ -20,30 +22,33 @@
|
||||
<string>${PRODUCT_NAME}</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string></string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleURLTypes</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>CFBundleURLName</key>
|
||||
<string>com.idsoftware.wolf3dp</string>
|
||||
<key>CFBundleURLSchemes</key>
|
||||
<array>
|
||||
<string>wolf3dp</string>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.2</string>
|
||||
<string>2.1</string>
|
||||
<key>LSRequiresIPhoneOS</key>
|
||||
<true/>
|
||||
<key>NSMainNibFile</key>
|
||||
<string>MainWindow</string>
|
||||
<key>UIAppFonts</key>
|
||||
<array>
|
||||
<string>POSITYPE-idSettler10v2.otf</string>
|
||||
</array>
|
||||
<key>UIInterfaceOrientation</key>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<key>UIPrerenderedIcon</key>
|
||||
<true/>
|
||||
<key>UIStatusBarHidden</key>
|
||||
<true/>
|
||||
<key>UISupportedInterfaceOrientations</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
<key>UISupportedInterfaceOrientations~ipad</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
|
||||
657
wolf3d/code/iphone/LegalView.xib
Normal file
657
wolf3d/code/iphone/LegalView.xib
Normal file
@@ -0,0 +1,657 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">1056</int>
|
||||
<string key="IBDocument.SystemVersion">10K549</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">851</string>
|
||||
<string key="IBDocument.AppKitVersion">1038.36</string>
|
||||
<string key="IBDocument.HIToolboxVersion">461.00</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="NS.object.0">141</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<integer value="7"/>
|
||||
</object>
|
||||
<object class="NSArray" key="IBDocument.PluginDependencies">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.Metadata">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys" id="0">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBProxyObject" id="372490531">
|
||||
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBProxyObject" id="975951072">
|
||||
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBUIView" id="191373211">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<object class="NSMutableArray" key="NSSubviews">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBUIImageView" id="277101892">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrameSize">{480, 320}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<object class="NSCustomResource" key="IBUIImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">credits_bg.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUILabel" id="735518854">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{245, 14}, {134, 52}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">7</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<string key="IBUIText">Legal</string>
|
||||
<object class="NSFont" key="IBUIFont">
|
||||
<string key="NSName">POSITYPE-idSettler_v10.2</string>
|
||||
<double key="NSSize">36</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
<object class="NSColor" key="IBUITextColor" id="767789838">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MQA</bytes>
|
||||
</object>
|
||||
<reference key="IBUIHighlightedColor" ref="767789838"/>
|
||||
<object class="NSColor" key="IBUIShadowColor" id="268491798">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MCAwIDAAA</bytes>
|
||||
</object>
|
||||
<string key="IBUIShadowOffset">{2, 2}</string>
|
||||
<int key="IBUIBaselineAdjustment">1</int>
|
||||
<float key="IBUIMinimumFontSize">10</float>
|
||||
<int key="IBUITextAlignment">1</int>
|
||||
</object>
|
||||
<object class="IBUIImageView" id="424323441">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{20, 265}, {32, 32}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<int key="IBUIContentMode">1</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<object class="NSCustomResource" key="IBUIImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">back_arrow.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUILabel" id="103738224">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{20, 243}, {66, 29}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">7</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<string key="IBUIText">BACK</string>
|
||||
<object class="NSFont" key="IBUIFont">
|
||||
<string key="NSName">POSITYPE-idSettler_v10.2</string>
|
||||
<double key="NSSize">18</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
<reference key="IBUITextColor" ref="767789838"/>
|
||||
<reference key="IBUIHighlightedColor" ref="767789838"/>
|
||||
<int key="IBUIBaselineAdjustment">1</int>
|
||||
<float key="IBUIMinimumFontSize">10</float>
|
||||
<int key="IBUILineBreakMode">5</int>
|
||||
</object>
|
||||
<object class="IBUIButton" id="531112737">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">301</int>
|
||||
<string key="NSFrame">{{6, 239}, {69, 69}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIAutoresizesSubviews">NO</bool>
|
||||
<int key="IBUIContentMode">1</int>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<object class="NSFont" key="IBUIFont">
|
||||
<string key="NSName">Helvetica-Bold</string>
|
||||
<double key="NSSize">15</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="767789838"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
|
||||
</object>
|
||||
<object class="NSColor" key="IBUINormalTitleShadowColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MC41AA</bytes>
|
||||
</object>
|
||||
<object class="NSCustomResource" key="IBUIHighlightedBackgroundImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">button_highlight.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUILabel" id="348956784">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{185, 59}, {255, 242}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">7</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<string key="IBUIText">Wolfenstein® 3D Classic Platinum© 2009-2011 id Software LLC, a ZeniMax Media company. Wolfenstein, id, id Software, id Tech and related logos are registered trademarks or trademarks of id Software LLC in the U.S. and/or other countries. Bethesda, Bethesda Softworks, ZeniMax and related logos are registered trademarks or trademarks of ZeniMax Media Inc. in the U.S. and/or other countries. All Rights Reserved.</string>
|
||||
<object class="NSFont" key="IBUIFont">
|
||||
<string key="NSName">POSITYPE-idSettler_v10.2</string>
|
||||
<double key="NSSize">14</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
<object class="NSColor" key="IBUITextColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MSAxIDEAA</bytes>
|
||||
<object class="NSColorSpace" key="NSCustomColorSpace">
|
||||
<int key="NSID">1</int>
|
||||
</object>
|
||||
</object>
|
||||
<reference key="IBUIHighlightedColor" ref="767789838"/>
|
||||
<reference key="IBUIShadowColor" ref="268491798"/>
|
||||
<int key="IBUIBaselineAdjustment">1</int>
|
||||
<float key="IBUIMinimumFontSize">10</float>
|
||||
<int key="IBUINumberOfLines">12</int>
|
||||
<int key="IBUITextAlignment">1</int>
|
||||
<int key="IBUILineBreakMode">0</int>
|
||||
</object>
|
||||
<object class="IBUIImageView" id="895403608">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{163, 69}, {298, 7}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<object class="NSCustomResource" key="IBUIImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">settings_divider.png</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<string key="NSFrameSize">{480, 320}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MAA</bytes>
|
||||
</object>
|
||||
<object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
|
||||
<int key="interfaceOrientation">3</int>
|
||||
</object>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBObjectContainer" key="IBDocument.Objects">
|
||||
<object class="NSMutableArray" key="connectionRecords">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">view</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="191373211"/>
|
||||
</object>
|
||||
<int key="connectionID">3</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">back:</string>
|
||||
<reference key="source" ref="531112737"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">12</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<object class="NSArray" key="orderedObjects">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">0</int>
|
||||
<reference key="object" ref="0"/>
|
||||
<reference key="children" ref="1000"/>
|
||||
<nil key="parent"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">1</int>
|
||||
<reference key="object" ref="191373211"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="735518854"/>
|
||||
<reference ref="277101892"/>
|
||||
<reference ref="424323441"/>
|
||||
<reference ref="103738224"/>
|
||||
<reference ref="531112737"/>
|
||||
<reference ref="348956784"/>
|
||||
<reference ref="895403608"/>
|
||||
</object>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-1</int>
|
||||
<reference key="object" ref="372490531"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">File's Owner</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-2</int>
|
||||
<reference key="object" ref="975951072"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">4</int>
|
||||
<reference key="object" ref="735518854"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">7</int>
|
||||
<reference key="object" ref="277101892"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">10</int>
|
||||
<reference key="object" ref="424323441"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">11</int>
|
||||
<reference key="object" ref="103738224"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">9</int>
|
||||
<reference key="object" ref="531112737"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">18</int>
|
||||
<reference key="object" ref="348956784"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">19</int>
|
||||
<reference key="object" ref="895403608"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="flattenedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>-1.CustomClassName</string>
|
||||
<string>-2.CustomClassName</string>
|
||||
<string>1.IBEditorWindowLastContentRect</string>
|
||||
<string>1.IBPluginDependency</string>
|
||||
<string>10.IBPluginDependency</string>
|
||||
<string>10.IBViewBoundsToFrameTransform</string>
|
||||
<string>11.CustomClassName</string>
|
||||
<string>11.IBPluginDependency</string>
|
||||
<string>11.IBViewBoundsToFrameTransform</string>
|
||||
<string>18.IBPluginDependency</string>
|
||||
<string>19.IBPluginDependency</string>
|
||||
<string>4.CustomClassName</string>
|
||||
<string>4.IBPluginDependency</string>
|
||||
<string>4.IBViewBoundsToFrameTransform</string>
|
||||
<string>7.IBPluginDependency</string>
|
||||
<string>7.IBViewBoundsToFrameTransform</string>
|
||||
<string>9.IBPluginDependency</string>
|
||||
<string>9.IBViewBoundsToFrameTransform</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>LegalViewController</string>
|
||||
<string>UIResponder</string>
|
||||
<string>{{369, 805}, {480, 320}}</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABChgAAw5EAAA</bytes>
|
||||
</object>
|
||||
<string>UIFontLabel</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABChgAAw4SAAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>UIFontLabel</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABDLQAAwpQAAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAAAAAAAAw58AAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">AUDAAABDbwAAA</bytes>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="unlocalizedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<nil key="activeLocalization"/>
|
||||
<object class="NSMutableDictionary" key="localizations">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">19</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">LegalViewController</string>
|
||||
<string key="superclassName">UIViewController</string>
|
||||
<object class="NSMutableDictionary" key="actions">
|
||||
<string key="NS.key.0">back:</string>
|
||||
<string key="NS.object.0">id</string>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="actionInfosByName">
|
||||
<string key="NS.key.0">back:</string>
|
||||
<object class="IBActionInfo" key="NS.object.0">
|
||||
<string key="name">back:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">LegalViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIFontLabel</string>
|
||||
<string key="superclassName">UILabel</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">UIFontLabel.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">QuartzCore.framework/Headers/CAAnimation.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">QuartzCore.framework/Headers/CALayer.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="419848074">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIButton</string>
|
||||
<string key="superclassName">UIControl</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIButton.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIControl</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIControl.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIImageView</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIImageView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UILabel</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UILabel.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIResponder</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<reference key="sourceIdentifier" ref="419848074"/>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UISearchBar</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UISearchBar.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UISearchDisplayController</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UISearchDisplayController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIPrintFormatter.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIView</string>
|
||||
<string key="superclassName">UIResponder</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UINavigationController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIPopoverController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UISplitViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITabBarController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<string key="superclassName">UIResponder</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
|
||||
<integer value="1056" key="NS.object.0"/>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
|
||||
<integer value="3100" key="NS.object.0"/>
|
||||
</object>
|
||||
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
|
||||
<string key="IBDocument.LastKnownRelativeProjectPath">wolf3d.xcodeproj</string>
|
||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||
<object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>back_arrow.png</string>
|
||||
<string>button_highlight.png</string>
|
||||
<string>credits_bg.png</string>
|
||||
<string>settings_divider.png</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>{65, 63}</string>
|
||||
<string>{4, 4}</string>
|
||||
<string>{960, 640}</string>
|
||||
<string>{597, 13}</string>
|
||||
</object>
|
||||
</object>
|
||||
<string key="IBCocoaTouchPluginVersion">141</string>
|
||||
</data>
|
||||
</archive>
|
||||
32
wolf3d/code/iphone/LegalViewController.h
Normal file
32
wolf3d/code/iphone/LegalViewController.h
Normal file
@@ -0,0 +1,32 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
|
||||
@interface LegalViewController : UIViewController {
|
||||
|
||||
}
|
||||
|
||||
- (IBAction)back:(id)sender;
|
||||
|
||||
@end
|
||||
82
wolf3d/code/iphone/LegalViewController.m
Normal file
82
wolf3d/code/iphone/LegalViewController.m
Normal file
@@ -0,0 +1,82 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
|
||||
#import "LegalViewController.h"
|
||||
|
||||
|
||||
@implementation LegalViewController
|
||||
|
||||
// The designated initializer. Override if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad.
|
||||
/*
|
||||
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
|
||||
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
|
||||
if (self) {
|
||||
// Custom initialization.
|
||||
}
|
||||
return self;
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
// Implement loadView to create a view hierarchy programmatically, without using a nib.
|
||||
- (void)loadView {
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
}
|
||||
*/
|
||||
|
||||
// Override to allow orientations other than the default portrait orientation.
|
||||
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
|
||||
// Return YES for supported orientations.
|
||||
return UIInterfaceOrientationIsLandscape(interfaceOrientation);
|
||||
}
|
||||
|
||||
|
||||
- (void)didReceiveMemoryWarning {
|
||||
// Releases the view if it doesn't have a superview.
|
||||
[super didReceiveMemoryWarning];
|
||||
|
||||
// Release any cached data, images, etc. that aren't in use.
|
||||
}
|
||||
|
||||
- (void)viewDidUnload {
|
||||
[super viewDidUnload];
|
||||
// Release any retained subviews of the main view.
|
||||
// e.g. self.myOutlet = nil;
|
||||
}
|
||||
|
||||
|
||||
- (void)dealloc {
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
- (IBAction)back:(id)sender {
|
||||
[self.navigationController popViewControllerAnimated:YES];
|
||||
}
|
||||
|
||||
@end
|
||||
976
wolf3d/code/iphone/LevelSelectView.xib
Normal file
976
wolf3d/code/iphone/LevelSelectView.xib
Normal file
@@ -0,0 +1,976 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">1056</int>
|
||||
<string key="IBDocument.SystemVersion">10K549</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">851</string>
|
||||
<string key="IBDocument.AppKitVersion">1038.36</string>
|
||||
<string key="IBDocument.HIToolboxVersion">461.00</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="NS.object.0">141</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<integer value="13"/>
|
||||
</object>
|
||||
<object class="NSArray" key="IBDocument.PluginDependencies">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.Metadata">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys" id="0">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBProxyObject" id="372490531">
|
||||
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBProxyObject" id="975951072">
|
||||
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBUIView" id="191373211">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<object class="NSMutableArray" key="NSSubviews">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBUIImageView" id="945071814">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrameSize">{480, 320}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">1</int>
|
||||
<bool key="IBUIMultipleTouchEnabled">YES</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<object class="NSCustomResource" key="IBUIImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">episode_bg.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIImageView" id="589942973">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{32, 260}, {32, 32}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<int key="IBUIContentMode">1</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<object class="NSCustomResource" key="IBUIImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">back_arrow.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIImageView" id="628212498">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{421, 260}, {32, 32}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<int key="IBUIContentMode">1</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<object class="NSCustomResource" key="IBUIImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">next_arrow.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUILabel" id="759319438">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{31, 237}, {66, 29}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">7</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<string key="IBUIText">BACK</string>
|
||||
<object class="NSFont" key="IBUIFont" id="885212136">
|
||||
<string key="NSName">POSITYPE-idSettler_v10.2</string>
|
||||
<double key="NSSize">18</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
<object class="NSColor" key="IBUITextColor" id="542962638">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MQA</bytes>
|
||||
</object>
|
||||
<reference key="IBUIHighlightedColor" ref="542962638"/>
|
||||
<int key="IBUIBaselineAdjustment">1</int>
|
||||
<float key="IBUIMinimumFontSize">10</float>
|
||||
<int key="IBUILineBreakMode">5</int>
|
||||
</object>
|
||||
<object class="IBUILabel" id="299911581">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{420, 237}, {66, 29}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">7</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<string key="IBUIText">PLAY</string>
|
||||
<reference key="IBUIFont" ref="885212136"/>
|
||||
<reference key="IBUITextColor" ref="542962638"/>
|
||||
<reference key="IBUIHighlightedColor" ref="542962638"/>
|
||||
<int key="IBUIBaselineAdjustment">1</int>
|
||||
<float key="IBUIMinimumFontSize">10</float>
|
||||
<int key="IBUILineBreakMode">5</int>
|
||||
</object>
|
||||
<object class="IBUILabel" id="947093628">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{92, 13}, {102, 29}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">7</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<string key="IBUIText">MISSION</string>
|
||||
<object class="NSFont" key="IBUIFont">
|
||||
<string key="NSName">POSITYPE-idSettler_v10.2</string>
|
||||
<double key="NSSize">24</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
<reference key="IBUITextColor" ref="542962638"/>
|
||||
<reference key="IBUIHighlightedColor" ref="542962638"/>
|
||||
<int key="IBUIBaselineAdjustment">1</int>
|
||||
<float key="IBUIMinimumFontSize">10</float>
|
||||
</object>
|
||||
<object class="IBUIButton" id="601718919">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">301</int>
|
||||
<string key="NSFrame">{{23, 238}, {52, 56}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MC42NjY2NjY2NjY3IDAAA</bytes>
|
||||
</object>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIAutoresizesSubviews">NO</bool>
|
||||
<int key="IBUIContentMode">1</int>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<object class="NSFont" key="IBUIFont" id="791234453">
|
||||
<string key="NSName">Helvetica-Bold</string>
|
||||
<double key="NSSize">15</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="542962638"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
|
||||
</object>
|
||||
<object class="NSColor" key="IBUINormalTitleShadowColor" id="818219289">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MC41AA</bytes>
|
||||
</object>
|
||||
<object class="NSCustomResource" key="IBUIHighlightedBackgroundImage" id="647109756">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">button_highlight.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIButton" id="468966130">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">301</int>
|
||||
<string key="NSFrame">{{412, 238}, {52, 56}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIAutoresizesSubviews">NO</bool>
|
||||
<int key="IBUIContentMode">1</int>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<reference key="IBUIFont" ref="791234453"/>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="542962638"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="818219289"/>
|
||||
<reference key="IBUIHighlightedBackgroundImage" ref="647109756"/>
|
||||
</object>
|
||||
<object class="IBUITableView" id="337668700">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrame">{{92, 42}, {297, 246}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MCAwAA</bytes>
|
||||
</object>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<bool key="IBUIAlwaysBounceVertical">YES</bool>
|
||||
<bool key="IBUIShowsHorizontalScrollIndicator">NO</bool>
|
||||
<int key="IBUIIndicatorStyle">2</int>
|
||||
<int key="IBUISectionIndexMinimumDisplayRowCount">0</int>
|
||||
<bool key="IBUIShowsSelectionImmediatelyOnTouchBegin">YES</bool>
|
||||
<float key="IBUIRowHeight">38</float>
|
||||
</object>
|
||||
<object class="IBUIButton" id="954375875">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrame">{{217, 296}, {46, 24}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIAutoresizesSubviews">NO</bool>
|
||||
<int key="IBUIContentMode">1</int>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<reference key="IBUIFont" ref="791234453"/>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="542962638"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="818219289"/>
|
||||
<reference key="IBUIHighlightedBackgroundImage" ref="647109756"/>
|
||||
<object class="NSCustomResource" key="IBUINormalBackgroundImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">down_arrow.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIButton" id="986434937">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrame">{{217, 8}, {46, 24}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIAutoresizesSubviews">NO</bool>
|
||||
<int key="IBUIContentMode">1</int>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<reference key="IBUIFont" ref="791234453"/>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="542962638"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="818219289"/>
|
||||
<reference key="IBUIHighlightedBackgroundImage" ref="647109756"/>
|
||||
<object class="NSCustomResource" key="IBUINormalBackgroundImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">up_arrow.png</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<string key="NSFrameSize">{480, 320}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="IBUIBackgroundColor" ref="542962638"/>
|
||||
<object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
|
||||
<int key="interfaceOrientation">3</int>
|
||||
</object>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBObjectContainer" key="IBDocument.Objects">
|
||||
<object class="NSMutableArray" key="connectionRecords">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">view</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="191373211"/>
|
||||
</object>
|
||||
<int key="connectionID">4</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">next:</string>
|
||||
<reference key="source" ref="468966130"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">24</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">back:</string>
|
||||
<reference key="source" ref="601718919"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">25</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">dataSource</string>
|
||||
<reference key="source" ref="337668700"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
</object>
|
||||
<int key="connectionID">35</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">delegate</string>
|
||||
<reference key="source" ref="337668700"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
</object>
|
||||
<int key="connectionID">36</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">missionList</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="337668700"/>
|
||||
</object>
|
||||
<int key="connectionID">37</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">pageDown:</string>
|
||||
<reference key="source" ref="954375875"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">56</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">pageUp:</string>
|
||||
<reference key="source" ref="986434937"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">57</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<object class="NSArray" key="orderedObjects">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">0</int>
|
||||
<reference key="object" ref="0"/>
|
||||
<reference key="children" ref="1000"/>
|
||||
<nil key="parent"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">1</int>
|
||||
<reference key="object" ref="191373211"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="945071814"/>
|
||||
<reference ref="759319438"/>
|
||||
<reference ref="947093628"/>
|
||||
<reference ref="299911581"/>
|
||||
<reference ref="589942973"/>
|
||||
<reference ref="628212498"/>
|
||||
<reference ref="337668700"/>
|
||||
<reference ref="954375875"/>
|
||||
<reference ref="986434937"/>
|
||||
<reference ref="601718919"/>
|
||||
<reference ref="468966130"/>
|
||||
</object>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-1</int>
|
||||
<reference key="object" ref="372490531"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">File's Owner</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-2</int>
|
||||
<reference key="object" ref="975951072"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">13</int>
|
||||
<reference key="object" ref="945071814"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">14</int>
|
||||
<reference key="object" ref="759319438"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">15</int>
|
||||
<reference key="object" ref="947093628"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">16</int>
|
||||
<reference key="object" ref="299911581"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">20</int>
|
||||
<reference key="object" ref="601718919"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">21</int>
|
||||
<reference key="object" ref="589942973"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">22</int>
|
||||
<reference key="object" ref="468966130"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">23</int>
|
||||
<reference key="object" ref="628212498"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">34</int>
|
||||
<reference key="object" ref="337668700"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
<string key="objectName">Mission List</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">54</int>
|
||||
<reference key="object" ref="954375875"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">55</int>
|
||||
<reference key="object" ref="986434937"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="flattenedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>-1.CustomClassName</string>
|
||||
<string>-2.CustomClassName</string>
|
||||
<string>1.IBEditorWindowLastContentRect</string>
|
||||
<string>1.IBPluginDependency</string>
|
||||
<string>1.IBUserGuides</string>
|
||||
<string>14.CustomClassName</string>
|
||||
<string>14.IBPluginDependency</string>
|
||||
<string>14.IBViewBoundsToFrameTransform</string>
|
||||
<string>15.CustomClassName</string>
|
||||
<string>15.IBPluginDependency</string>
|
||||
<string>15.IBViewBoundsToFrameTransform</string>
|
||||
<string>16.CustomClassName</string>
|
||||
<string>16.IBPluginDependency</string>
|
||||
<string>16.IBViewBoundsToFrameTransform</string>
|
||||
<string>20.IBPluginDependency</string>
|
||||
<string>20.IBViewBoundsToFrameTransform</string>
|
||||
<string>21.IBPluginDependency</string>
|
||||
<string>21.IBViewBoundsToFrameTransform</string>
|
||||
<string>22.IBPluginDependency</string>
|
||||
<string>22.IBViewBoundsToFrameTransform</string>
|
||||
<string>23.IBPluginDependency</string>
|
||||
<string>23.IBViewBoundsToFrameTransform</string>
|
||||
<string>34.IBPluginDependency</string>
|
||||
<string>54.IBPluginDependency</string>
|
||||
<string>54.IBViewBoundsToFrameTransform</string>
|
||||
<string>55.IBPluginDependency</string>
|
||||
<string>55.IBViewBoundsToFrameTransform</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>LevelSelectViewController</string>
|
||||
<string>UIResponder</string>
|
||||
<string>{{299, 832}, {480, 320}}</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSMutableArray">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<string>UIFontLabel</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">AUIEAABDbQAAA</bytes>
|
||||
</object>
|
||||
<string>UIFontLabel</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">AUK4AABBUAAAA</bytes>
|
||||
</object>
|
||||
<string>UIFontLabel</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABCuAAAw4QAAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABBuAAAw5GAAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">AUIUAABDg4AAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABDzgAAw5GAAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">AUPSgABDg4AAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">AUNhAABDmAAAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">AUNhAABBgAAAA</bytes>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="unlocalizedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<nil key="activeLocalization"/>
|
||||
<object class="NSMutableDictionary" key="localizations">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">57</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">LevelSelectViewController</string>
|
||||
<string key="superclassName">UIViewController</string>
|
||||
<object class="NSMutableDictionary" key="actions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>back:</string>
|
||||
<string>next:</string>
|
||||
<string>pageDown:</string>
|
||||
<string>pageUp:</string>
|
||||
<string>selectDifficulty1:</string>
|
||||
<string>selectDifficulty2:</string>
|
||||
<string>selectDifficulty3:</string>
|
||||
<string>selectDifficulty4:</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="actionInfosByName">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>back:</string>
|
||||
<string>next:</string>
|
||||
<string>pageDown:</string>
|
||||
<string>pageUp:</string>
|
||||
<string>selectDifficulty1:</string>
|
||||
<string>selectDifficulty2:</string>
|
||||
<string>selectDifficulty3:</string>
|
||||
<string>selectDifficulty4:</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">back:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">next:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">pageDown:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">pageUp:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">selectDifficulty1:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">selectDifficulty2:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">selectDifficulty3:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">selectDifficulty4:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="outlets">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>difficultyBox</string>
|
||||
<string>difficultyText1</string>
|
||||
<string>difficultyText2</string>
|
||||
<string>difficultyText3</string>
|
||||
<string>difficultyText4</string>
|
||||
<string>missionList</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>UIView</string>
|
||||
<string>UIView</string>
|
||||
<string>UIView</string>
|
||||
<string>UIView</string>
|
||||
<string>UIView</string>
|
||||
<string>UITableView</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>difficultyBox</string>
|
||||
<string>difficultyText1</string>
|
||||
<string>difficultyText2</string>
|
||||
<string>difficultyText3</string>
|
||||
<string>difficultyText4</string>
|
||||
<string>missionList</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">difficultyBox</string>
|
||||
<string key="candidateClassName">UIView</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">difficultyText1</string>
|
||||
<string key="candidateClassName">UIView</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">difficultyText2</string>
|
||||
<string key="candidateClassName">UIView</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">difficultyText3</string>
|
||||
<string key="candidateClassName">UIView</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">difficultyText4</string>
|
||||
<string key="candidateClassName">UIView</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">missionList</string>
|
||||
<string key="candidateClassName">UITableView</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">LevelSelectViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIFontLabel</string>
|
||||
<string key="superclassName">UILabel</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">UIFontLabel.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">QuartzCore.framework/Headers/CAAnimation.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">QuartzCore.framework/Headers/CALayer.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="911635486">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIButton</string>
|
||||
<string key="superclassName">UIControl</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIButton.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIControl</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIControl.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIImageView</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIImageView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UILabel</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UILabel.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIResponder</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<reference key="sourceIdentifier" ref="911635486"/>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIScrollView</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIScrollView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UISearchBar</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UISearchBar.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UISearchDisplayController</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UISearchDisplayController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UITableView</string>
|
||||
<string key="superclassName">UIScrollView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITableView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIPrintFormatter.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIView</string>
|
||||
<string key="superclassName">UIResponder</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UINavigationController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIPopoverController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UISplitViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITabBarController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<string key="superclassName">UIResponder</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
|
||||
<integer value="1056" key="NS.object.0"/>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
|
||||
<integer value="3100" key="NS.object.0"/>
|
||||
</object>
|
||||
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
|
||||
<string key="IBDocument.LastKnownRelativeProjectPath">wolf3d.xcodeproj</string>
|
||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||
<object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>back_arrow.png</string>
|
||||
<string>button_highlight.png</string>
|
||||
<string>down_arrow.png</string>
|
||||
<string>episode_bg.png</string>
|
||||
<string>next_arrow.png</string>
|
||||
<string>up_arrow.png</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>{65, 63}</string>
|
||||
<string>{4, 4}</string>
|
||||
<string>{80, 36}</string>
|
||||
<string>{480, 320}</string>
|
||||
<string>{65, 63}</string>
|
||||
<string>{80, 36}</string>
|
||||
</object>
|
||||
</object>
|
||||
<string key="IBCocoaTouchPluginVersion">141</string>
|
||||
</data>
|
||||
</archive>
|
||||
49
wolf3d/code/iphone/LevelSelectViewController.h
Normal file
49
wolf3d/code/iphone/LevelSelectViewController.h
Normal file
@@ -0,0 +1,49 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
// This object manages the level selection screen. The actual level objects are presented in
|
||||
// a UITableView, so this controller adopts the protocols for being the delegate and data source
|
||||
// for the table.
|
||||
@interface LevelSelectViewController :
|
||||
UIViewController <UITableViewDelegate, UITableViewDataSource> {
|
||||
|
||||
@private
|
||||
IBOutlet UITableView *missionList;
|
||||
|
||||
int realEpisode;
|
||||
int realMap;
|
||||
|
||||
}
|
||||
|
||||
- (IBAction)back:(id)sender;
|
||||
- (IBAction)next:(id)sender;
|
||||
|
||||
- (void)handleSelectionAtIndexPath:(NSIndexPath*)indexPath;
|
||||
|
||||
- (IBAction)pageUp:(id)sender;
|
||||
- (IBAction)pageDown:(id)sender;
|
||||
|
||||
|
||||
@end
|
||||
314
wolf3d/code/iphone/LevelSelectViewController.m
Normal file
314
wolf3d/code/iphone/LevelSelectViewController.m
Normal file
@@ -0,0 +1,314 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
|
||||
#import "LevelSelectViewController.h"
|
||||
#import "wolf3dAppDelegate.h"
|
||||
#import "wolfiphone.h"
|
||||
#import "MissionTableViewCell.h"
|
||||
#import "UITableViewScrolling.h"
|
||||
|
||||
#define NUM_ORIGINAL_EPISODES 6
|
||||
#define NUM_SPEAR_EPISODES 4
|
||||
|
||||
#define MAX_SPEAR_MAPS_PER_EPISODE 7
|
||||
|
||||
extern int returnButtonFrameNum;
|
||||
|
||||
|
||||
static int numLevelsTable[] = {
|
||||
10, 10, 10, 10, 10, 10, // All six classic episodes have 10 levels
|
||||
// Spear of Destiny episodes
|
||||
6, // Tunnels
|
||||
5, // Dungeon
|
||||
7, // Castle
|
||||
3 }; // Ramparts
|
||||
|
||||
|
||||
// Private properties and methods
|
||||
@interface LevelSelectViewController ()
|
||||
|
||||
@property (nonatomic, retain) UITableView *missionList;
|
||||
|
||||
@end
|
||||
|
||||
@implementation LevelSelectViewController
|
||||
|
||||
@synthesize missionList;
|
||||
|
||||
// The designated initializer. Override if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad.
|
||||
/*
|
||||
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
|
||||
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
|
||||
if (self) {
|
||||
// Custom initialization.
|
||||
}
|
||||
return self;
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
// Implement loadView to create a view hierarchy programmatically, without using a nib.
|
||||
- (void)loadView {
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
|
||||
[self.missionList reloadData];
|
||||
|
||||
// Select the first row by default
|
||||
int levelToSelect = 0;
|
||||
|
||||
if ( (int)episode->value == currentMap.episode ) {
|
||||
levelToSelect = currentMap.map;
|
||||
}
|
||||
|
||||
NSIndexPath *ip=[NSIndexPath indexPathForRow:levelToSelect inSection:0];
|
||||
[self.missionList selectRowAtIndexPath:ip animated:YES scrollPosition:UITableViewScrollPositionNone];
|
||||
[self handleSelectionAtIndexPath:ip];
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
========================
|
||||
|
||||
UITableView interface
|
||||
|
||||
========================
|
||||
*/
|
||||
|
||||
- (void)handleSelectionAtIndexPath:(NSIndexPath*)indexPath {
|
||||
int episodeIndex = episode->value;
|
||||
int levelIndex = indexPath.row;
|
||||
|
||||
// Prompt for In-App Purchase when the user selects a level that is not currently available.
|
||||
if ( SysIPhoneGetContentVersion() == CONTENT_LITE ) {
|
||||
if ( levelIndex >= 3 ) {
|
||||
iphonePromptToBuyPlatinum();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
realEpisode = episodeIndex;
|
||||
realMap = levelIndex;
|
||||
|
||||
if ( episodeIndex >= NUM_ORIGINAL_EPISODES ) {
|
||||
switch (episodeIndex)
|
||||
{
|
||||
case 6:
|
||||
if (levelIndex == 5) {
|
||||
realEpisode = 7;
|
||||
realMap = 8;
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
realEpisode = 6;
|
||||
realMap += 5;
|
||||
break;
|
||||
case 8:
|
||||
realEpisode = 7;
|
||||
if (levelIndex == 6)
|
||||
realMap = 9;
|
||||
break;
|
||||
case 9:
|
||||
if ( levelIndex == 0) { realEpisode = 7; realMap = 6; }
|
||||
if ( levelIndex == 1) { realEpisode = 7; realMap = 7; }
|
||||
if ( levelIndex == 2) { realEpisode = 8; realMap = 0; }
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
||||
// Return the number of levels based on the episode
|
||||
int episodeIndex = episode->value;
|
||||
|
||||
|
||||
|
||||
return numLevelsTable[ episodeIndex ];
|
||||
}
|
||||
|
||||
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
static NSString *MyIdentifier = @"MyIdentifier";
|
||||
MissionTableViewCell *cell = (MissionTableViewCell*)[self.missionList dequeueReusableCellWithIdentifier:MyIdentifier];
|
||||
if (cell == nil) {
|
||||
cell = [[[MissionTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MyIdentifier] autorelease];
|
||||
}
|
||||
|
||||
// Cell configuration
|
||||
cell.selectionStyle = UITableViewCellSelectionStyleNone;
|
||||
|
||||
// Cell text configuration
|
||||
NSString* levelName = [NSString stringWithFormat:@"Level %d", indexPath.row + 1 ];
|
||||
|
||||
int episodeIndex = episode->value;
|
||||
int levelIndex = indexPath.row;
|
||||
|
||||
if ( episodeIndex < NUM_ORIGINAL_EPISODES ) {
|
||||
// Wolfenstein episodes are the first six, and they all follow the pattern of 8 levels,
|
||||
// one boss level, and one secret level.
|
||||
if ( levelIndex == 8 ) {
|
||||
levelName = @"Boss";
|
||||
} else if ( levelIndex == 9 ) {
|
||||
levelName = @"Secret";
|
||||
}
|
||||
} else {
|
||||
// These are the Spear of Destiny levels.
|
||||
|
||||
// Level name lookup
|
||||
static const char* const spearLevelNameTable[ NUM_SPEAR_EPISODES ][ MAX_SPEAR_MAPS_PER_EPISODE ] = {
|
||||
{ "Level 1", "Level 2", "Level 3", "Level 4", "Boss", "Secret", NULL },
|
||||
{ "Level 1", "Level 2", "Level 3", "Level 4", "Boss", NULL, NULL },
|
||||
{ "Level 1", "Level 2", "Level 3", "Level 4", "Level 5", "Boss", "Secret" },
|
||||
{ "Ramparts", "Death Knight", "Dungeon Dimension", NULL, NULL, NULL, NULL } };
|
||||
|
||||
const char * spearLevelName = "";
|
||||
|
||||
int spearEpisode = episodeIndex - NUM_ORIGINAL_EPISODES;
|
||||
|
||||
if ( 0 <= spearEpisode && spearEpisode < NUM_SPEAR_EPISODES ) {
|
||||
spearLevelName = spearLevelNameTable[ spearEpisode ][ levelIndex ];
|
||||
}
|
||||
|
||||
levelName = [NSString stringWithCString:spearLevelName encoding:NSASCIIStringEncoding ];
|
||||
}
|
||||
|
||||
cell.textLabel.text = levelName;
|
||||
|
||||
cell.textLabel.textColor = [UIColor lightGrayColor];
|
||||
cell.textLabel.highlightedTextColor = [UIColor colorWithRed:98.0/255.0 green:149.0/255.0 blue:212.0/255.0 alpha:1.0];
|
||||
|
||||
return cell;
|
||||
}
|
||||
|
||||
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell
|
||||
forRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
|
||||
int fontSize = 32;
|
||||
|
||||
if ( UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad ) {
|
||||
fontSize = 48;
|
||||
}
|
||||
|
||||
cell.textLabel.font = [UIFont fontWithName:@"POSITYPE idSettler v10.2"
|
||||
size:fontSize];
|
||||
}
|
||||
|
||||
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
|
||||
[self handleSelectionAtIndexPath:indexPath];
|
||||
}
|
||||
|
||||
// Override to allow orientations other than the default portrait orientation.
|
||||
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
|
||||
// Return YES for supported orientations.
|
||||
return UIInterfaceOrientationIsLandscape(interfaceOrientation);
|
||||
}
|
||||
|
||||
|
||||
- (void)didReceiveMemoryWarning {
|
||||
// Releases the view if it doesn't have a superview.
|
||||
[super didReceiveMemoryWarning];
|
||||
|
||||
// Release any cached data, images, etc. that aren't in use.
|
||||
}
|
||||
|
||||
- (void)viewDidUnload {
|
||||
[super viewDidUnload];
|
||||
// Release any retained subviews of the main view.
|
||||
// e.g. self.myOutlet = nil;
|
||||
|
||||
self.missionList = nil;
|
||||
|
||||
}
|
||||
|
||||
|
||||
- (void)dealloc {
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
|
||||
- (IBAction)next:(id)sender {
|
||||
|
||||
int levelNum = realEpisode*10+realMap;
|
||||
int ch = currentMap.mapFlags[ (int)skill->value ][levelNum];
|
||||
|
||||
// don't let them go to the secret level unless they earned it
|
||||
if ( (int)episode->value >= NUM_ORIGINAL_EPISODES ) {
|
||||
if ( (levelNum == 78 || levelNum == 79) && !( ch & MF_TRIED ) ) {
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
if ( realMap == 9 && !( ch & MF_TRIED ) ) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
wolf3dAppDelegate* app = (wolf3dAppDelegate*)[[UIApplication sharedApplication] delegate];
|
||||
|
||||
[app stopMenuMusic];
|
||||
|
||||
[app showOpenGL];
|
||||
|
||||
|
||||
PL_NewGame( &Player );
|
||||
iphonePreloadBeforePlay();
|
||||
|
||||
int clampedSkill = skill->value;
|
||||
if ( clampedSkill < 0 ) {
|
||||
clampedSkill = 0;
|
||||
}
|
||||
if ( clampedSkill > 3 ) {
|
||||
clampedSkill = 3;
|
||||
}
|
||||
|
||||
iphoneStartMap( realEpisode, realMap, clampedSkill );
|
||||
iphoneFrameNum = 0;
|
||||
returnButtonFrameNum = 100;
|
||||
|
||||
Sound_StartBGTrack( levelData.musicName, levelData.musicName);
|
||||
}
|
||||
|
||||
- (IBAction)back:(id)sender {
|
||||
[self.navigationController popViewControllerAnimated:YES];
|
||||
}
|
||||
|
||||
- (IBAction)pageDown:(id)sender {
|
||||
UITableViewScrollingPageDown( self.missionList, numLevelsTable[(int)episode->value] );
|
||||
}
|
||||
|
||||
|
||||
- (IBAction)pageUp:(id)sender {
|
||||
UITableViewScrollingPageUp( self.missionList, numLevelsTable[(int)episode->value] );
|
||||
}
|
||||
|
||||
|
||||
@end
|
||||
|
||||
|
||||
1034
wolf3d/code/iphone/MainMenuView.xib
Normal file
1034
wolf3d/code/iphone/MainMenuView.xib
Normal file
File diff suppressed because it is too large
Load Diff
67
wolf3d/code/iphone/MainMenuViewController.h
Normal file
67
wolf3d/code/iphone/MainMenuViewController.h
Normal file
@@ -0,0 +1,67 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface MainMenuViewController : UIViewController {
|
||||
|
||||
@private
|
||||
// Main menu
|
||||
IBOutlet UIButton *resumeButton;
|
||||
IBOutlet UIButton *newGameButton;
|
||||
IBOutlet UIButton *settingsButton;
|
||||
IBOutlet UIButton *aboutButton;
|
||||
IBOutlet UIButton *extrasButton;
|
||||
IBOutlet UIView* resumeStar;
|
||||
|
||||
|
||||
// About menu
|
||||
IBOutlet UIButton *creditsButton;
|
||||
IBOutlet UIButton *legalButton;
|
||||
|
||||
// Extras menu
|
||||
IBOutlet UIButton *idGamesButton;
|
||||
IBOutlet UIButton *idSoftwareButton;
|
||||
IBOutlet UIButton *triviaButton;
|
||||
|
||||
// Shared
|
||||
IBOutlet UIButton *backButton;
|
||||
}
|
||||
|
||||
- (IBAction)resume:(id)sender;
|
||||
- (IBAction)newGame:(id)sender;
|
||||
- (IBAction)settings:(id)sender;
|
||||
- (IBAction)about:(id)sender;
|
||||
- (IBAction)extras:(id)sender;
|
||||
|
||||
- (IBAction)credits:(id)sender;
|
||||
- (IBAction)legal:(id)sender;
|
||||
- (IBAction)back:(id)sender;
|
||||
|
||||
- (IBAction)idGames:(id)sender;
|
||||
- (IBAction)idSoftware:(id)sender;
|
||||
- (IBAction)trivia:(id)sender;
|
||||
|
||||
- (IBAction)oldNewGame:(id)sender;
|
||||
|
||||
@end
|
||||
192
wolf3d/code/iphone/MainMenuViewController.m
Normal file
192
wolf3d/code/iphone/MainMenuViewController.m
Normal file
@@ -0,0 +1,192 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
|
||||
#import "MainMenuViewController.h"
|
||||
#import "wolf3dAppDelegate.h"
|
||||
#import "wolfiphone.h"
|
||||
|
||||
#import "SkillViewController.h"
|
||||
#import "CreditsViewController.h"
|
||||
#import "LegalViewController.h"
|
||||
#import "TriviaViewController.h"
|
||||
#import "SettingsViewController.h"
|
||||
|
||||
@interface MainMenuViewController ()
|
||||
|
||||
@property (nonatomic, retain) IBOutlet UIButton *resumeButton;
|
||||
@property (nonatomic, retain) IBOutlet UIButton *newGameButton;
|
||||
@property (nonatomic, retain) IBOutlet UIButton *settingsButton;
|
||||
@property (nonatomic, retain) IBOutlet UIButton *aboutButton;
|
||||
@property (nonatomic, retain) IBOutlet UIButton *extrasButton;
|
||||
@property (nonatomic, retain) IBOutlet UIView *resumeStar;
|
||||
|
||||
@property (nonatomic, retain) IBOutlet UIButton *creditsButton;
|
||||
@property (nonatomic, retain) IBOutlet UIButton *legalButton;
|
||||
|
||||
@property (nonatomic, retain) IBOutlet UIButton *idGamesButton;
|
||||
@property (nonatomic, retain) IBOutlet UIButton *idSoftwareButton;
|
||||
@property (nonatomic, retain) IBOutlet UIButton *triviaButton;
|
||||
|
||||
@property (nonatomic, retain) IBOutlet UIButton *backButton;
|
||||
|
||||
- (void) setMainHidden:(BOOL)hide;
|
||||
- (void) setAboutHidden:(BOOL)hide;
|
||||
- (void) setExtrasHidden:(BOOL)hide;
|
||||
|
||||
@end
|
||||
|
||||
@implementation MainMenuViewController
|
||||
|
||||
@synthesize resumeButton, newGameButton, settingsButton, aboutButton, extrasButton, resumeStar;
|
||||
@synthesize creditsButton, legalButton;
|
||||
@synthesize idGamesButton, idSoftwareButton, triviaButton;
|
||||
@synthesize backButton;
|
||||
|
||||
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
|
||||
return UIInterfaceOrientationIsLandscape(interfaceOrientation);
|
||||
}
|
||||
|
||||
- (void)viewDidUnload {
|
||||
[super viewDidUnload];
|
||||
// Release any retained subviews of the main view.
|
||||
// e.g. self.myOutlet = nil;
|
||||
|
||||
self.resumeButton = nil;
|
||||
self.newGameButton = nil;
|
||||
self.settingsButton = nil;
|
||||
self.aboutButton = nil;
|
||||
self.extrasButton = nil;
|
||||
self.resumeStar = nil;
|
||||
|
||||
self.idGamesButton = nil;
|
||||
self.idSoftwareButton = nil;
|
||||
self.triviaButton = nil;
|
||||
|
||||
self.creditsButton = nil;
|
||||
self.legalButton = nil;
|
||||
|
||||
self.backButton = nil;
|
||||
}
|
||||
|
||||
- (IBAction)resume:(id)sender {
|
||||
wolf3dAppDelegate* app = (wolf3dAppDelegate*)[[UIApplication sharedApplication] delegate];
|
||||
[app showOpenGL];
|
||||
iphoneResume();
|
||||
}
|
||||
|
||||
|
||||
- (IBAction)newGame:(id)sender {
|
||||
SkillViewController *svc = [[SkillViewController alloc] initWithNibName:@"SkillView" bundle:nil];
|
||||
[self.navigationController pushViewController:svc animated:YES];
|
||||
[svc release];
|
||||
}
|
||||
|
||||
- (IBAction)settings:(id)sender {
|
||||
SettingsViewController *evc = [[SettingsViewController alloc] initWithNibName:@"SettingsView" bundle:nil];
|
||||
[self.navigationController pushViewController:evc animated:YES];
|
||||
[evc release];
|
||||
}
|
||||
|
||||
- (IBAction)about:(id)sender {
|
||||
[self setMainHidden:YES];
|
||||
[self setAboutHidden:NO];
|
||||
}
|
||||
|
||||
- (IBAction)extras:(id)sender {
|
||||
[self setMainHidden:YES];
|
||||
[self setExtrasHidden:NO];
|
||||
}
|
||||
|
||||
- (IBAction)credits:(id)sender {
|
||||
CreditsViewController *cvc = [[CreditsViewController alloc] initWithNibName:@"CreditsView" bundle:nil];
|
||||
[self.navigationController pushViewController:cvc animated:YES];
|
||||
[cvc release];
|
||||
}
|
||||
|
||||
- (IBAction)legal:(id)sender {
|
||||
LegalViewController *lvc = [[LegalViewController alloc] initWithNibName:@"LegalView" bundle:nil];
|
||||
[self.navigationController pushViewController:lvc animated:YES];
|
||||
[lvc release];
|
||||
}
|
||||
|
||||
- (IBAction)idGames:(id)sender {
|
||||
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms-apps://itunes.com/apps/idsoftware"]];
|
||||
}
|
||||
|
||||
- (IBAction)idSoftware:(id)sender {
|
||||
currentYesNoBox = YESNO_GO_TO_WEBSITE;
|
||||
iphoneYesNoBox("Website", "This will navigate you to idsoftware.com. Continue?");
|
||||
}
|
||||
|
||||
- (IBAction)trivia:(id)sender {
|
||||
TriviaViewController *tvc = [[TriviaViewController alloc] initWithNibName:@"TriviaView" bundle:nil];
|
||||
[self.navigationController pushViewController:tvc animated:YES];
|
||||
[tvc release];
|
||||
|
||||
//menuState = IPM_TRIVIA;
|
||||
//wolf3dAppDelegate* app = (wolf3dAppDelegate*)[[UIApplication sharedApplication] delegate];
|
||||
//[app showOpenGL];
|
||||
}
|
||||
|
||||
- (IBAction)back:(id)sender {
|
||||
[self setAboutHidden:YES];
|
||||
[self setExtrasHidden:YES];
|
||||
[self setMainHidden:NO];
|
||||
}
|
||||
|
||||
- (void)setMainHidden:(BOOL)hide {
|
||||
// Set the main menu visibility
|
||||
[self.resumeButton setHidden:hide];
|
||||
[self.newGameButton setHidden:hide];
|
||||
[self.settingsButton setHidden:hide];
|
||||
[self.aboutButton setHidden:hide];
|
||||
[self.extrasButton setHidden:hide];
|
||||
[self.resumeStar setHidden:hide];
|
||||
|
||||
}
|
||||
|
||||
- (void)setAboutHidden:(BOOL)hide {
|
||||
// Set the about menu visibility
|
||||
[self.creditsButton setHidden:hide];
|
||||
[self.legalButton setHidden:hide];
|
||||
[self.backButton setHidden:hide];
|
||||
}
|
||||
|
||||
- (void)setExtrasHidden:(BOOL)hide {
|
||||
// Set the extras menu visibility
|
||||
[self.idGamesButton setHidden:hide];
|
||||
[self.idSoftwareButton setHidden:hide];
|
||||
[self.triviaButton setHidden:hide];
|
||||
[self.backButton setHidden:hide];
|
||||
}
|
||||
|
||||
|
||||
// REMOVE WHEN NEW MENU IS READY
|
||||
- (IBAction)oldNewGame:(id)sender {
|
||||
menuState = IPM_SKILL;
|
||||
wolf3dAppDelegate* app = (wolf3dAppDelegate*)[[UIApplication sharedApplication] delegate];
|
||||
[app showOpenGL];
|
||||
}
|
||||
|
||||
|
||||
@end
|
||||
31
wolf3d/code/iphone/MissionTableViewCell.h
Normal file
31
wolf3d/code/iphone/MissionTableViewCell.h
Normal file
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2009-2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
|
||||
@interface MissionTableViewCell : UITableViewCell {
|
||||
|
||||
}
|
||||
|
||||
@end
|
||||
59
wolf3d/code/iphone/MissionTableViewCell.m
Normal file
59
wolf3d/code/iphone/MissionTableViewCell.m
Normal file
@@ -0,0 +1,59 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2009-2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
|
||||
#import "MissionTableViewCell.h"
|
||||
|
||||
|
||||
@implementation MissionTableViewCell
|
||||
|
||||
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
|
||||
|
||||
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
|
||||
if (self) {
|
||||
// Initialization code.
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
|
||||
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
|
||||
|
||||
[super setSelected:selected animated:animated];
|
||||
|
||||
// Configure the view for the selected state.
|
||||
if ( selected ) {
|
||||
self.textLabel.highlighted = YES;
|
||||
} else {
|
||||
self.textLabel.highlighted = NO;
|
||||
}
|
||||
|
||||
[self setNeedsDisplay];
|
||||
|
||||
}
|
||||
|
||||
- (void)dealloc {
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
|
||||
@end
|
||||
1482
wolf3d/code/iphone/Resources-iPad/CreditsView~ipad.xib
Normal file
1482
wolf3d/code/iphone/Resources-iPad/CreditsView~ipad.xib
Normal file
File diff suppressed because it is too large
Load Diff
678
wolf3d/code/iphone/Resources-iPad/EpisodeCell~ipad.xib
Normal file
678
wolf3d/code/iphone/Resources-iPad/EpisodeCell~ipad.xib
Normal file
@@ -0,0 +1,678 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="7.10">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">1056</int>
|
||||
<string key="IBDocument.SystemVersion">10K549</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">851</string>
|
||||
<string key="IBDocument.AppKitVersion">1038.36</string>
|
||||
<string key="IBDocument.HIToolboxVersion">461.00</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="NS.object.0">141</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<integer value="2"/>
|
||||
</object>
|
||||
<object class="NSArray" key="IBDocument.PluginDependencies">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.Metadata">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys" id="0">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBProxyObject" id="841351856">
|
||||
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
</object>
|
||||
<object class="IBProxyObject" id="606714003">
|
||||
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
</object>
|
||||
<object class="IBUITableViewCell" id="610104207">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">1298</int>
|
||||
<object class="NSMutableArray" key="NSSubviews">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBUIView" id="946422459">
|
||||
<reference key="NSNextResponder" ref="610104207"/>
|
||||
<int key="NSvFlags">1280</int>
|
||||
<object class="NSMutableArray" key="NSSubviews">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBUIImageView" id="525193574">
|
||||
<reference key="NSNextResponder" ref="946422459"/>
|
||||
<int key="NSvFlags">-2147482332</int>
|
||||
<string key="NSFrame">{{1, 5}, {610, 180}}</string>
|
||||
<reference key="NSSuperview" ref="946422459"/>
|
||||
<int key="IBUITag">3</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<float key="IBUIScaleFactor">1</float>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<object class="NSCustomResource" key="IBUIImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">highlight_bracket.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIImageView" id="40397874">
|
||||
<reference key="NSNextResponder" ref="946422459"/>
|
||||
<int key="NSvFlags">1316</int>
|
||||
<string key="NSFrame">{{6, 13}, {598, 163}}</string>
|
||||
<reference key="NSSuperview" ref="946422459"/>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<float key="IBUIScaleFactor">1</float>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<object class="NSCustomResource" key="IBUIImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">episode_bracket.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIImageView" id="285959975">
|
||||
<reference key="NSNextResponder" ref="946422459"/>
|
||||
<int key="NSvFlags">1316</int>
|
||||
<string key="NSFrame">{{13, 61}, {387, 3}}</string>
|
||||
<reference key="NSSuperview" ref="946422459"/>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<float key="IBUIScaleFactor">1</float>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<object class="NSCustomResource" key="IBUIImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">episode_divider.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUILabel" id="742621351">
|
||||
<reference key="NSNextResponder" ref="946422459"/>
|
||||
<int key="NSvFlags">1316</int>
|
||||
<string key="NSFrame">{{18, 24}, {586, 52}}</string>
|
||||
<reference key="NSSuperview" ref="946422459"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">7</int>
|
||||
<int key="IBUITag">1</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<float key="IBUIScaleFactor">1</float>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<string key="IBUIText">Episode Number</string>
|
||||
<object class="NSFont" key="IBUIFont">
|
||||
<string key="NSName">POSITYPE-idSettler_v10.2</string>
|
||||
<double key="NSSize">44</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
<object class="NSColor" key="IBUITextColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
|
||||
</object>
|
||||
<object class="NSColor" key="IBUIHighlightedColor" id="911926565">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MC4zMzMzMzMzMzMzAA</bytes>
|
||||
</object>
|
||||
<int key="IBUIBaselineAdjustment">1</int>
|
||||
<float key="IBUIMinimumFontSize">10</float>
|
||||
</object>
|
||||
<object class="IBUILabel" id="617790695">
|
||||
<reference key="NSNextResponder" ref="946422459"/>
|
||||
<int key="NSvFlags">1316</int>
|
||||
<string key="NSFrame">{{17, 67}, {586, 75}}</string>
|
||||
<reference key="NSSuperview" ref="946422459"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">9</int>
|
||||
<int key="IBUITag">2</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<float key="IBUIScaleFactor">1</float>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<string key="IBUIText">Episode Name</string>
|
||||
<object class="NSFont" key="IBUIFont">
|
||||
<string key="NSName">POSITYPE-idSettler_v10.2</string>
|
||||
<double key="NSSize">64</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
<object class="NSColor" key="IBUITextColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MQA</bytes>
|
||||
</object>
|
||||
<reference key="IBUIHighlightedColor" ref="911926565"/>
|
||||
<int key="IBUIBaselineAdjustment">1</int>
|
||||
<bool key="IBUIAdjustsFontSizeToFit">NO</bool>
|
||||
<float key="IBUIMinimumFontSize">10</float>
|
||||
</object>
|
||||
</object>
|
||||
<string key="NSFrameSize">{618, 189}</string>
|
||||
<reference key="NSSuperview" ref="610104207"/>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MCAwAA</bytes>
|
||||
</object>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">4</int>
|
||||
<bool key="IBUIMultipleTouchEnabled">YES</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
</object>
|
||||
<string key="NSFrameSize">{618, 189}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MSAxIDEAA</bytes>
|
||||
</object>
|
||||
<float key="IBUIScaleFactor">1</float>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<int key="IBUISeparatorStyle">1</int>
|
||||
<reference key="IBUIContentView" ref="946422459"/>
|
||||
<int key="IBUILineBreakMode">0</int>
|
||||
<string key="IBUIReuseIdentifier">MyIdentifier</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBObjectContainer" key="IBDocument.Objects">
|
||||
<object class="NSMutableArray" key="connectionRecords">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">episodeCell</string>
|
||||
<reference key="source" ref="841351856"/>
|
||||
<reference key="destination" ref="610104207"/>
|
||||
</object>
|
||||
<int key="connectionID">7</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<object class="NSArray" key="orderedObjects">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">0</int>
|
||||
<reference key="object" ref="0"/>
|
||||
<reference key="children" ref="1000"/>
|
||||
<nil key="parent"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-1</int>
|
||||
<reference key="object" ref="841351856"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">File's Owner</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-2</int>
|
||||
<reference key="object" ref="606714003"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">2</int>
|
||||
<reference key="object" ref="610104207"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="742621351"/>
|
||||
<reference ref="617790695"/>
|
||||
<reference ref="40397874"/>
|
||||
<reference ref="285959975"/>
|
||||
<reference ref="525193574"/>
|
||||
</object>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">3</int>
|
||||
<reference key="object" ref="742621351"/>
|
||||
<reference key="parent" ref="610104207"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">4</int>
|
||||
<reference key="object" ref="617790695"/>
|
||||
<reference key="parent" ref="610104207"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">8</int>
|
||||
<reference key="object" ref="285959975"/>
|
||||
<reference key="parent" ref="610104207"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">9</int>
|
||||
<reference key="object" ref="40397874"/>
|
||||
<reference key="parent" ref="610104207"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">11</int>
|
||||
<reference key="object" ref="525193574"/>
|
||||
<reference key="parent" ref="610104207"/>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="flattenedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>-1.CustomClassName</string>
|
||||
<string>-2.CustomClassName</string>
|
||||
<string>11.IBPluginDependency</string>
|
||||
<string>11.IBViewBoundsToFrameTransform</string>
|
||||
<string>2.IBEditorWindowLastContentRect</string>
|
||||
<string>2.IBPluginDependency</string>
|
||||
<string>3.CustomClassName</string>
|
||||
<string>3.IBPluginDependency</string>
|
||||
<string>3.IBViewBoundsToFrameTransform</string>
|
||||
<string>4.CustomClassName</string>
|
||||
<string>4.IBPluginDependency</string>
|
||||
<string>4.IBViewBoundsToFrameTransform</string>
|
||||
<string>8.IBPluginDependency</string>
|
||||
<string>8.IBViewBoundsToFrameTransform</string>
|
||||
<string>9.IBPluginDependency</string>
|
||||
<string>9.IBViewBoundsToFrameTransform</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>EpisodeViewController</string>
|
||||
<string>UIResponder</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">AQAAAABAAAAAA</bytes>
|
||||
</object>
|
||||
<string>{{415, 957}, {618, 189}}</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>UIFontLabel</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABCsAAAwjQAAA</bytes>
|
||||
</object>
|
||||
<string>UIFontLabel</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">AUDgAABCHAAAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">AUJgAABCMAAAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">AQAAAABAoAAAA</bytes>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="unlocalizedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<nil key="activeLocalization"/>
|
||||
<object class="NSMutableDictionary" key="localizations">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">11</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">EpisodeViewController</string>
|
||||
<string key="superclassName">UIViewController</string>
|
||||
<object class="NSMutableDictionary" key="actions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>back:</string>
|
||||
<string>next:</string>
|
||||
<string>pageDown:</string>
|
||||
<string>pageUp:</string>
|
||||
<string>setEpisode:</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="actionInfosByName">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>back:</string>
|
||||
<string>next:</string>
|
||||
<string>pageDown:</string>
|
||||
<string>pageUp:</string>
|
||||
<string>setEpisode:</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">back:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">next:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">pageDown:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">pageUp:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">setEpisode:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="outlets">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>episodeCell</string>
|
||||
<string>episodeList</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>UITableViewCell</string>
|
||||
<string>UITableView</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>episodeCell</string>
|
||||
<string>episodeList</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">episodeCell</string>
|
||||
<string key="candidateClassName">UITableViewCell</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">episodeList</string>
|
||||
<string key="candidateClassName">UITableView</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">EpisodeViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIFontLabel</string>
|
||||
<string key="superclassName">UILabel</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">UIFontLabel.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">QuartzCore.framework/Headers/CAAnimation.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">QuartzCore.framework/Headers/CALayer.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="6890943">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIImageView</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIImageView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UILabel</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UILabel.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIResponder</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<reference key="sourceIdentifier" ref="6890943"/>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIScrollView</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIScrollView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UISearchBar</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UISearchBar.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UISearchDisplayController</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UISearchDisplayController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UITableView</string>
|
||||
<string key="superclassName">UIScrollView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITableView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UITableViewCell</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITableViewCell.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIPrintFormatter.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIView</string>
|
||||
<string key="superclassName">UIResponder</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UINavigationController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIPopoverController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UISplitViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITabBarController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<string key="superclassName">UIResponder</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
<string key="IBDocument.TargetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
|
||||
<integer value="1056" key="NS.object.0"/>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
|
||||
<integer value="3100" key="NS.object.0"/>
|
||||
</object>
|
||||
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
|
||||
<string key="IBDocument.LastKnownRelativeProjectPath">../wolf3d.xcodeproj</string>
|
||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||
<object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>episode_bracket.png</string>
|
||||
<string>episode_divider.png</string>
|
||||
<string>highlight_bracket.png</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>{606, 168}</string>
|
||||
<string>{387, 3}</string>
|
||||
<string>{623, 189}</string>
|
||||
</object>
|
||||
</object>
|
||||
<string key="IBCocoaTouchPluginVersion">141</string>
|
||||
</data>
|
||||
</archive>
|
||||
938
wolf3d/code/iphone/Resources-iPad/EpisodeView~ipad.xib
Normal file
938
wolf3d/code/iphone/Resources-iPad/EpisodeView~ipad.xib
Normal file
@@ -0,0 +1,938 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="7.10">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">1056</int>
|
||||
<string key="IBDocument.SystemVersion">10K549</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">851</string>
|
||||
<string key="IBDocument.AppKitVersion">1038.36</string>
|
||||
<string key="IBDocument.HIToolboxVersion">461.00</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="NS.object.0">141</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<integer value="28"/>
|
||||
</object>
|
||||
<object class="NSArray" key="IBDocument.PluginDependencies">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.Metadata">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys" id="0">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBProxyObject" id="372490531">
|
||||
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
</object>
|
||||
<object class="IBProxyObject" id="975951072">
|
||||
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
</object>
|
||||
<object class="IBUIView" id="191373211">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<object class="NSMutableArray" key="NSSubviews">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBUIImageView" id="438564867">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrameSize">{1024, 768}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<bool key="IBUIMultipleTouchEnabled">YES</bool>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<object class="NSCustomResource" key="IBUIImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">episode_bg.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIImageView" id="122204725">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrame">{{68, 87}, {63, 65}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<int key="IBUIContentMode">1</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<object class="NSCustomResource" key="IBUIImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">back_arrow.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUILabel" id="1052909798">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrame">{{66, 58}, {99, 43}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">7</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<string key="IBUIText">BACK</string>
|
||||
<object class="NSFont" key="IBUIFont" id="1027068732">
|
||||
<string key="NSName">POSITYPE-idSettler_v10.2</string>
|
||||
<double key="NSSize">36</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
<object class="NSColor" key="IBUITextColor" id="256070585">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MQA</bytes>
|
||||
</object>
|
||||
<reference key="IBUIHighlightedColor" ref="256070585"/>
|
||||
<int key="IBUIBaselineAdjustment">1</int>
|
||||
<float key="IBUIMinimumFontSize">10</float>
|
||||
<int key="IBUILineBreakMode">5</int>
|
||||
</object>
|
||||
<object class="IBUIImageView" id="432258777">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrame">{{899, 87}, {63, 65}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<int key="IBUIContentMode">1</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<object class="NSCustomResource" key="IBUIImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">next_arrow.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUILabel" id="500080337">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrame">{{897, 58}, {99, 43}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">7</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<string key="IBUIText">NEXT</string>
|
||||
<reference key="IBUIFont" ref="1027068732"/>
|
||||
<reference key="IBUITextColor" ref="256070585"/>
|
||||
<reference key="IBUIHighlightedColor" ref="256070585"/>
|
||||
<int key="IBUIBaselineAdjustment">1</int>
|
||||
<float key="IBUIMinimumFontSize">10</float>
|
||||
<int key="IBUILineBreakMode">5</int>
|
||||
</object>
|
||||
<object class="IBUILabel" id="670859964">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrame">{{191, 47}, {214, 57}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">7</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<string key="IBUIText">EPISODE</string>
|
||||
<object class="NSFont" key="IBUIFont">
|
||||
<string key="NSName">POSITYPE-idSettler_v10.2</string>
|
||||
<double key="NSSize">48</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
<reference key="IBUITextColor" ref="256070585"/>
|
||||
<reference key="IBUIHighlightedColor" ref="256070585"/>
|
||||
<int key="IBUIBaselineAdjustment">1</int>
|
||||
<float key="IBUIMinimumFontSize">10</float>
|
||||
<int key="IBUILineBreakMode">5</int>
|
||||
</object>
|
||||
<object class="IBUITableView" id="283960237">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrame">{{205, 104}, {625, 577}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MCAwAA</bytes>
|
||||
</object>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<bool key="IBUIAlwaysBounceVertical">YES</bool>
|
||||
<bool key="IBUIShowsHorizontalScrollIndicator">NO</bool>
|
||||
<int key="IBUIIndicatorStyle">2</int>
|
||||
<int key="IBUISectionIndexMinimumDisplayRowCount">0</int>
|
||||
<bool key="IBUIShowsSelectionImmediatelyOnTouchBegin">YES</bool>
|
||||
<float key="IBUIRowHeight">189</float>
|
||||
</object>
|
||||
<object class="IBUIButton" id="905085223">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrame">{{63, 49}, {73, 105}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIAutoresizesSubviews">NO</bool>
|
||||
<int key="IBUIContentMode">1</int>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<object class="NSFont" key="IBUIFont" id="398370538">
|
||||
<string key="NSName">Helvetica-Bold</string>
|
||||
<double key="NSSize">15</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="256070585"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
|
||||
</object>
|
||||
<object class="NSColor" key="IBUINormalTitleShadowColor" id="501903479">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MC41AA</bytes>
|
||||
</object>
|
||||
<object class="NSCustomResource" key="IBUIHighlightedBackgroundImage" id="223274725">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">button_highlight.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIButton" id="618766876">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrame">{{893, 50}, {73, 105}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIAutoresizesSubviews">NO</bool>
|
||||
<int key="IBUIContentMode">1</int>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<reference key="IBUIFont" ref="398370538"/>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="256070585"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="501903479"/>
|
||||
<reference key="IBUIHighlightedBackgroundImage" ref="223274725"/>
|
||||
</object>
|
||||
<object class="IBUIButton" id="600720080">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrame">{{478, 715}, {80, 36}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIAutoresizesSubviews">NO</bool>
|
||||
<int key="IBUIContentMode">1</int>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<reference key="IBUIFont" ref="398370538"/>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="256070585"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="501903479"/>
|
||||
<reference key="IBUIHighlightedBackgroundImage" ref="223274725"/>
|
||||
<object class="NSCustomResource" key="IBUINormalBackgroundImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">down_arrow.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIButton" id="370427313">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrame">{{478, 37}, {80, 36}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIAutoresizesSubviews">NO</bool>
|
||||
<int key="IBUIContentMode">1</int>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<reference key="IBUIFont" ref="398370538"/>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="256070585"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="501903479"/>
|
||||
<reference key="IBUIHighlightedBackgroundImage" ref="223274725"/>
|
||||
<object class="NSCustomResource" key="IBUINormalBackgroundImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">up_arrow.png</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<string key="NSFrameSize">{1024, 768}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MCAwIDAAA</bytes>
|
||||
</object>
|
||||
<object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
|
||||
<int key="interfaceOrientation">3</int>
|
||||
</object>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBObjectContainer" key="IBDocument.Objects">
|
||||
<object class="NSMutableArray" key="connectionRecords">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">view</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="191373211"/>
|
||||
</object>
|
||||
<int key="connectionID">13</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">back:</string>
|
||||
<reference key="source" ref="905085223"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">36</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">dataSource</string>
|
||||
<reference key="source" ref="283960237"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
</object>
|
||||
<int key="connectionID">51</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">delegate</string>
|
||||
<reference key="source" ref="283960237"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
</object>
|
||||
<int key="connectionID">52</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">episodeList</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="283960237"/>
|
||||
</object>
|
||||
<int key="connectionID">53</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">pageUp:</string>
|
||||
<reference key="source" ref="370427313"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">54</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">pageDown:</string>
|
||||
<reference key="source" ref="600720080"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">55</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">next:</string>
|
||||
<reference key="source" ref="618766876"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">58</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<object class="NSArray" key="orderedObjects">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">0</int>
|
||||
<reference key="object" ref="0"/>
|
||||
<reference key="children" ref="1000"/>
|
||||
<nil key="parent"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">1</int>
|
||||
<reference key="object" ref="191373211"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="122204725"/>
|
||||
<reference ref="1052909798"/>
|
||||
<reference ref="670859964"/>
|
||||
<reference ref="283960237"/>
|
||||
<reference ref="370427313"/>
|
||||
<reference ref="600720080"/>
|
||||
<reference ref="432258777"/>
|
||||
<reference ref="500080337"/>
|
||||
<reference ref="438564867"/>
|
||||
<reference ref="618766876"/>
|
||||
<reference ref="905085223"/>
|
||||
</object>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-1</int>
|
||||
<reference key="object" ref="372490531"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">File's Owner</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-2</int>
|
||||
<reference key="object" ref="975951072"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">28</int>
|
||||
<reference key="object" ref="438564867"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">31</int>
|
||||
<reference key="object" ref="1052909798"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">32</int>
|
||||
<reference key="object" ref="670859964"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">33</int>
|
||||
<reference key="object" ref="905085223"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">35</int>
|
||||
<reference key="object" ref="122204725"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">48</int>
|
||||
<reference key="object" ref="600720080"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">49</int>
|
||||
<reference key="object" ref="370427313"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">50</int>
|
||||
<reference key="object" ref="283960237"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
<string key="objectName">Episode List</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">56</int>
|
||||
<reference key="object" ref="618766876"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">59</int>
|
||||
<reference key="object" ref="432258777"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">60</int>
|
||||
<reference key="object" ref="500080337"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="flattenedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>-1.CustomClassName</string>
|
||||
<string>-2.CustomClassName</string>
|
||||
<string>1.IBEditorWindowLastContentRect</string>
|
||||
<string>1.IBPluginDependency</string>
|
||||
<string>28.IBViewBoundsToFrameTransform</string>
|
||||
<string>31.CustomClassName</string>
|
||||
<string>31.IBPluginDependency</string>
|
||||
<string>31.IBViewBoundsToFrameTransform</string>
|
||||
<string>32.CustomClassName</string>
|
||||
<string>32.IBPluginDependency</string>
|
||||
<string>32.IBViewBoundsToFrameTransform</string>
|
||||
<string>33.IBPluginDependency</string>
|
||||
<string>33.IBViewBoundsToFrameTransform</string>
|
||||
<string>35.IBPluginDependency</string>
|
||||
<string>35.IBViewBoundsToFrameTransform</string>
|
||||
<string>48.IBPluginDependency</string>
|
||||
<string>48.IBViewBoundsToFrameTransform</string>
|
||||
<string>49.IBPluginDependency</string>
|
||||
<string>49.IBViewBoundsToFrameTransform</string>
|
||||
<string>50.IBPluginDependency</string>
|
||||
<string>50.IBViewBoundsToFrameTransform</string>
|
||||
<string>56.IBPluginDependency</string>
|
||||
<string>56.IBViewBoundsToFrameTransform</string>
|
||||
<string>59.IBPluginDependency</string>
|
||||
<string>59.IBViewBoundsToFrameTransform</string>
|
||||
<string>60.CustomClassName</string>
|
||||
<string>60.IBPluginDependency</string>
|
||||
<string>60.IBViewBoundsToFrameTransform</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>EpisodeViewController</string>
|
||||
<string>UIResponder</string>
|
||||
<string>{{179, 382}, {1024, 768}}</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAAAAAAAAxD+AAA</bytes>
|
||||
</object>
|
||||
<string>UIFontLabel</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">AUKEAABCaAAAA</bytes>
|
||||
</object>
|
||||
<string>UIFontLabel</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABDtgAAw4QAAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABCaAAAw56AAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">AUKIAABCrgAAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABD+wAAw7GAAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABD+wAAw7GAAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">AUNNAABC4AAAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABEX0AAw8eAAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABCkgAAwxYAAA</bytes>
|
||||
</object>
|
||||
<string>UIFontLabel</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABCjgAAwsYAAA</bytes>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="unlocalizedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<nil key="activeLocalization"/>
|
||||
<object class="NSMutableDictionary" key="localizations">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">60</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">EpisodeViewController</string>
|
||||
<string key="superclassName">UIViewController</string>
|
||||
<object class="NSMutableDictionary" key="actions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>back:</string>
|
||||
<string>next:</string>
|
||||
<string>pageDown:</string>
|
||||
<string>pageUp:</string>
|
||||
<string>setEpisode:</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="actionInfosByName">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>back:</string>
|
||||
<string>next:</string>
|
||||
<string>pageDown:</string>
|
||||
<string>pageUp:</string>
|
||||
<string>setEpisode:</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">back:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">next:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">pageDown:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">pageUp:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">setEpisode:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="outlets">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>episodeCell</string>
|
||||
<string>episodeList</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>UITableViewCell</string>
|
||||
<string>UITableView</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>episodeCell</string>
|
||||
<string>episodeList</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">episodeCell</string>
|
||||
<string key="candidateClassName">UITableViewCell</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">episodeList</string>
|
||||
<string key="candidateClassName">UITableView</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">EpisodeViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIFontLabel</string>
|
||||
<string key="superclassName">UILabel</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">UIFontLabel.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">QuartzCore.framework/Headers/CAAnimation.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">QuartzCore.framework/Headers/CALayer.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="517279992">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIButton</string>
|
||||
<string key="superclassName">UIControl</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIButton.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIControl</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIControl.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIImageView</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIImageView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UILabel</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UILabel.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIResponder</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<reference key="sourceIdentifier" ref="517279992"/>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIScrollView</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIScrollView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UISearchBar</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UISearchBar.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UISearchDisplayController</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UISearchDisplayController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UITableView</string>
|
||||
<string key="superclassName">UIScrollView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITableView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UITableViewCell</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITableViewCell.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIPrintFormatter.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIView</string>
|
||||
<string key="superclassName">UIResponder</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UINavigationController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIPopoverController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UISplitViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITabBarController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<string key="superclassName">UIResponder</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
<string key="IBDocument.TargetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
|
||||
<integer value="1056" key="NS.object.0"/>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
|
||||
<integer value="3100" key="NS.object.0"/>
|
||||
</object>
|
||||
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
|
||||
<string key="IBDocument.LastKnownRelativeProjectPath">../wolf3d.xcodeproj</string>
|
||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||
<object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>back_arrow.png</string>
|
||||
<string>button_highlight.png</string>
|
||||
<string>down_arrow.png</string>
|
||||
<string>episode_bg.png</string>
|
||||
<string>next_arrow.png</string>
|
||||
<string>up_arrow.png</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>{65, 63}</string>
|
||||
<string>{4, 4}</string>
|
||||
<string>{80, 36}</string>
|
||||
<string>{480, 320}</string>
|
||||
<string>{65, 63}</string>
|
||||
<string>{80, 36}</string>
|
||||
</object>
|
||||
</object>
|
||||
<string key="IBCocoaTouchPluginVersion">141</string>
|
||||
</data>
|
||||
</archive>
|
||||
639
wolf3d/code/iphone/Resources-iPad/LegalView~ipad.xib
Normal file
639
wolf3d/code/iphone/Resources-iPad/LegalView~ipad.xib
Normal file
@@ -0,0 +1,639 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="7.10">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">1056</int>
|
||||
<string key="IBDocument.SystemVersion">10K549</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">851</string>
|
||||
<string key="IBDocument.AppKitVersion">1038.36</string>
|
||||
<string key="IBDocument.HIToolboxVersion">461.00</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="NS.object.0">141</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<integer value="17"/>
|
||||
</object>
|
||||
<object class="NSArray" key="IBDocument.PluginDependencies">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.Metadata">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys" id="0">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBProxyObject" id="372490531">
|
||||
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
</object>
|
||||
<object class="IBProxyObject" id="975951072">
|
||||
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
</object>
|
||||
<object class="IBUIView" id="191373211">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<object class="NSMutableArray" key="NSSubviews">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBUIImageView" id="277101892">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrameSize">{1024, 768}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<object class="NSCustomResource" key="IBUIImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">credits_bg.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIImageView" id="424323441">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{26, 45}, {63, 65}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<int key="IBUIContentMode">1</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<object class="NSCustomResource" key="IBUIImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">back_arrow.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUILabel" id="103738224">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{22.5, 15.5}, {99, 43}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">7</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<string key="IBUIText">BACK</string>
|
||||
<object class="NSFont" key="IBUIFont">
|
||||
<string key="NSName">POSITYPE-idSettler_v10.2</string>
|
||||
<double key="NSSize">36</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
<object class="NSColor" key="IBUITextColor" id="767789838">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MQA</bytes>
|
||||
</object>
|
||||
<reference key="IBUIHighlightedColor" ref="767789838"/>
|
||||
<int key="IBUIBaselineAdjustment">1</int>
|
||||
<float key="IBUIMinimumFontSize">10</float>
|
||||
<int key="IBUILineBreakMode">5</int>
|
||||
</object>
|
||||
<object class="IBUIButton" id="531112737">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">301</int>
|
||||
<string key="NSFrame">{{21, 10}, {75, 102}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIAutoresizesSubviews">NO</bool>
|
||||
<int key="IBUIContentMode">1</int>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<object class="NSFont" key="IBUIFont">
|
||||
<string key="NSName">Helvetica-Bold</string>
|
||||
<double key="NSSize">15</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="767789838"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
|
||||
</object>
|
||||
<object class="NSColor" key="IBUINormalTitleShadowColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MC41AA</bytes>
|
||||
</object>
|
||||
<object class="NSCustomResource" key="IBUIHighlightedBackgroundImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">button_highlight.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUILabel" id="530320248">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{396, -27}, {556, 510}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">7</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<string key="IBUIText">Wolfenstein® 3D Classic Platinum© 2009-2011 id Software LLC, a ZeniMax Media company. Wolfenstein, id, id Software, id Tech and related logos are registered trademarks or trademarks of id Software LLC in the U.S. and/or other countries. Bethesda, Bethesda Softworks, ZeniMax and related logos are registered trademarks or trademarks of ZeniMax Media Inc. in the U.S. and/or other countries. All Rights Reserved.</string>
|
||||
<object class="NSFont" key="IBUIFont">
|
||||
<string key="NSName">POSITYPE-idSettler_v10.2</string>
|
||||
<double key="NSSize">22</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
<object class="NSColor" key="IBUITextColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MSAxIDEAA</bytes>
|
||||
<object class="NSColorSpace" key="NSCustomColorSpace">
|
||||
<int key="NSID">1</int>
|
||||
</object>
|
||||
</object>
|
||||
<reference key="IBUIHighlightedColor" ref="767789838"/>
|
||||
<object class="NSColor" key="IBUIShadowColor" id="845110471">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MCAwIDAAA</bytes>
|
||||
</object>
|
||||
<int key="IBUIBaselineAdjustment">1</int>
|
||||
<float key="IBUIMinimumFontSize">10</float>
|
||||
<int key="IBUINumberOfLines">10</int>
|
||||
<int key="IBUITextAlignment">1</int>
|
||||
<int key="IBUILineBreakMode">0</int>
|
||||
</object>
|
||||
<object class="IBUILabel" id="735518854">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{607, 44}, {134, 54}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">7</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<string key="IBUIText">Legal</string>
|
||||
<object class="NSFont" key="IBUIFont">
|
||||
<string key="NSName">POSITYPE-idSettler_v10.2</string>
|
||||
<double key="NSSize">44</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
<reference key="IBUITextColor" ref="767789838"/>
|
||||
<reference key="IBUIHighlightedColor" ref="767789838"/>
|
||||
<reference key="IBUIShadowColor" ref="845110471"/>
|
||||
<string key="IBUIShadowOffset">{2, 2}</string>
|
||||
<int key="IBUIBaselineAdjustment">1</int>
|
||||
<float key="IBUIMinimumFontSize">10</float>
|
||||
<int key="IBUITextAlignment">1</int>
|
||||
</object>
|
||||
</object>
|
||||
<string key="NSFrameSize">{1024, 768}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MAA</bytes>
|
||||
</object>
|
||||
<object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
|
||||
<int key="interfaceOrientation">3</int>
|
||||
</object>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBObjectContainer" key="IBDocument.Objects">
|
||||
<object class="NSMutableArray" key="connectionRecords">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">view</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="191373211"/>
|
||||
</object>
|
||||
<int key="connectionID">3</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">back:</string>
|
||||
<reference key="source" ref="531112737"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">12</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<object class="NSArray" key="orderedObjects">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">0</int>
|
||||
<reference key="object" ref="0"/>
|
||||
<reference key="children" ref="1000"/>
|
||||
<nil key="parent"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">1</int>
|
||||
<reference key="object" ref="191373211"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="277101892"/>
|
||||
<reference ref="424323441"/>
|
||||
<reference ref="103738224"/>
|
||||
<reference ref="531112737"/>
|
||||
<reference ref="530320248"/>
|
||||
<reference ref="735518854"/>
|
||||
</object>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-1</int>
|
||||
<reference key="object" ref="372490531"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">File's Owner</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-2</int>
|
||||
<reference key="object" ref="975951072"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">7</int>
|
||||
<reference key="object" ref="277101892"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">10</int>
|
||||
<reference key="object" ref="424323441"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">11</int>
|
||||
<reference key="object" ref="103738224"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">9</int>
|
||||
<reference key="object" ref="531112737"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">17</int>
|
||||
<reference key="object" ref="530320248"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">4</int>
|
||||
<reference key="object" ref="735518854"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="flattenedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>-1.CustomClassName</string>
|
||||
<string>-2.CustomClassName</string>
|
||||
<string>1.IBEditorWindowLastContentRect</string>
|
||||
<string>1.IBPluginDependency</string>
|
||||
<string>10.IBPluginDependency</string>
|
||||
<string>10.IBViewBoundsToFrameTransform</string>
|
||||
<string>11.CustomClassName</string>
|
||||
<string>11.IBPluginDependency</string>
|
||||
<string>11.IBViewBoundsToFrameTransform</string>
|
||||
<string>17.IBPluginDependency</string>
|
||||
<string>17.IBViewBoundsToFrameTransform</string>
|
||||
<string>4.CustomClassName</string>
|
||||
<string>4.IBPluginDependency</string>
|
||||
<string>4.IBViewBoundsToFrameTransform</string>
|
||||
<string>7.IBPluginDependency</string>
|
||||
<string>7.IBViewBoundsToFrameTransform</string>
|
||||
<string>9.IBPluginDependency</string>
|
||||
<string>9.IBViewBoundsToFrameTransform</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>LegalViewController</string>
|
||||
<string>UIResponder</string>
|
||||
<string>{{140, 350}, {1024, 768}}</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABBoAAAw5OAAA</bytes>
|
||||
</object>
|
||||
<string>UIFontLabel</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABBoAAAw4cAAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">AUPGAADBAAAAA</bytes>
|
||||
</object>
|
||||
<string>UIFontLabel</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABD3oAAw8wAAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAAAAAAAAxD+AAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABCGAAAxCBAAA</bytes>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="unlocalizedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<nil key="activeLocalization"/>
|
||||
<object class="NSMutableDictionary" key="localizations">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">17</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">LegalViewController</string>
|
||||
<string key="superclassName">UIViewController</string>
|
||||
<object class="NSMutableDictionary" key="actions">
|
||||
<string key="NS.key.0">back:</string>
|
||||
<string key="NS.object.0">id</string>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="actionInfosByName">
|
||||
<string key="NS.key.0">back:</string>
|
||||
<object class="IBActionInfo" key="NS.object.0">
|
||||
<string key="name">back:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">LegalViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIFontLabel</string>
|
||||
<string key="superclassName">UILabel</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">UIFontLabel.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">QuartzCore.framework/Headers/CAAnimation.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">QuartzCore.framework/Headers/CALayer.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="419848074">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIButton</string>
|
||||
<string key="superclassName">UIControl</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIButton.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIControl</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIControl.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIImageView</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIImageView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UILabel</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UILabel.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIResponder</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<reference key="sourceIdentifier" ref="419848074"/>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UISearchBar</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UISearchBar.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UISearchDisplayController</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UISearchDisplayController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIPrintFormatter.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIView</string>
|
||||
<string key="superclassName">UIResponder</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UINavigationController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIPopoverController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UISplitViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITabBarController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<string key="superclassName">UIResponder</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
<string key="IBDocument.TargetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
|
||||
<integer value="1056" key="NS.object.0"/>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
|
||||
<integer value="3100" key="NS.object.0"/>
|
||||
</object>
|
||||
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
|
||||
<string key="IBDocument.LastKnownRelativeProjectPath">../wolf3d.xcodeproj</string>
|
||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||
<object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>back_arrow.png</string>
|
||||
<string>button_highlight.png</string>
|
||||
<string>credits_bg.png</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>{65, 63}</string>
|
||||
<string>{4, 4}</string>
|
||||
<string>{960, 640}</string>
|
||||
</object>
|
||||
</object>
|
||||
<string key="IBCocoaTouchPluginVersion">141</string>
|
||||
</data>
|
||||
</archive>
|
||||
898
wolf3d/code/iphone/Resources-iPad/LevelSelectView~ipad.xib
Normal file
898
wolf3d/code/iphone/Resources-iPad/LevelSelectView~ipad.xib
Normal file
@@ -0,0 +1,898 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="7.10">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">1056</int>
|
||||
<string key="IBDocument.SystemVersion">10K540</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">851</string>
|
||||
<string key="IBDocument.AppKitVersion">1038.36</string>
|
||||
<string key="IBDocument.HIToolboxVersion">461.00</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="NS.object.0">141</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<integer value="1"/>
|
||||
</object>
|
||||
<object class="NSArray" key="IBDocument.PluginDependencies">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.Metadata">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys" id="0">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBProxyObject" id="372490531">
|
||||
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
</object>
|
||||
<object class="IBProxyObject" id="975951072">
|
||||
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
</object>
|
||||
<object class="IBUIView" id="191373211">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<object class="NSMutableArray" key="NSSubviews">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBUIImageView" id="945071814">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrameSize">{1024, 768}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<bool key="IBUIMultipleTouchEnabled">YES</bool>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<object class="NSCustomResource" key="IBUIImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">episode_bg.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIImageView" id="589942973">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{61, 87}, {65, 63}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<int key="IBUIContentMode">1</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<object class="NSCustomResource" key="IBUIImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">back_arrow.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIImageView" id="628212498">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{900, 87}, {65, 63}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<int key="IBUIContentMode">1</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<object class="NSCustomResource" key="IBUIImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">next_arrow.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUILabel" id="759319438">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{60, 56}, {99, 43}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">7</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<string key="IBUIText">BACK</string>
|
||||
<object class="NSFont" key="IBUIFont" id="1064640266">
|
||||
<string key="NSName">POSITYPE-idSettler_v10.2</string>
|
||||
<double key="NSSize">36</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
<object class="NSColor" key="IBUITextColor" id="542962638">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MQA</bytes>
|
||||
</object>
|
||||
<reference key="IBUIHighlightedColor" ref="542962638"/>
|
||||
<int key="IBUIBaselineAdjustment">1</int>
|
||||
<float key="IBUIMinimumFontSize">10</float>
|
||||
<int key="IBUILineBreakMode">5</int>
|
||||
</object>
|
||||
<object class="IBUILabel" id="299911581">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{899, 56}, {93, 43}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">7</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<string key="IBUIText">PLAY</string>
|
||||
<reference key="IBUIFont" ref="1064640266"/>
|
||||
<reference key="IBUITextColor" ref="542962638"/>
|
||||
<reference key="IBUIHighlightedColor" ref="542962638"/>
|
||||
<int key="IBUIBaselineAdjustment">1</int>
|
||||
<float key="IBUIMinimumFontSize">10</float>
|
||||
<int key="IBUILineBreakMode">5</int>
|
||||
</object>
|
||||
<object class="IBUILabel" id="947093628">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{190, 48}, {186, 52}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">7</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<string key="IBUIText">MISSION</string>
|
||||
<object class="NSFont" key="IBUIFont">
|
||||
<string key="NSName">POSITYPE-idSettler_v10.2</string>
|
||||
<double key="NSSize">44</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
<reference key="IBUITextColor" ref="542962638"/>
|
||||
<reference key="IBUIHighlightedColor" ref="542962638"/>
|
||||
<int key="IBUIBaselineAdjustment">1</int>
|
||||
<float key="IBUIMinimumFontSize">10</float>
|
||||
</object>
|
||||
<object class="IBUITableView" id="337668700">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrame">{{204, 104}, {625, 593}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MCAwAA</bytes>
|
||||
</object>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<bool key="IBUIAlwaysBounceVertical">YES</bool>
|
||||
<bool key="IBUIShowsHorizontalScrollIndicator">NO</bool>
|
||||
<int key="IBUIIndicatorStyle">2</int>
|
||||
<int key="IBUISectionIndexMinimumDisplayRowCount">0</int>
|
||||
<bool key="IBUIShowsSelectionImmediatelyOnTouchBegin">YES</bool>
|
||||
<float key="IBUIRowHeight">50</float>
|
||||
</object>
|
||||
<object class="IBUIButton" id="954375875">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrame">{{472, 712}, {80, 36}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIAutoresizesSubviews">NO</bool>
|
||||
<int key="IBUIContentMode">1</int>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<object class="NSFont" key="IBUIFont" id="791234453">
|
||||
<string key="NSName">Helvetica-Bold</string>
|
||||
<double key="NSSize">15</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="542962638"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
|
||||
</object>
|
||||
<object class="NSColor" key="IBUINormalTitleShadowColor" id="818219289">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MC41AA</bytes>
|
||||
</object>
|
||||
<object class="NSCustomResource" key="IBUIHighlightedBackgroundImage" id="919253741">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">button_highlight.png</string>
|
||||
</object>
|
||||
<object class="NSCustomResource" key="IBUINormalBackgroundImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">down_arrow.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIButton" id="986434937">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrame">{{472, 37}, {80, 36}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIAutoresizesSubviews">NO</bool>
|
||||
<int key="IBUIContentMode">1</int>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<reference key="IBUIFont" ref="791234453"/>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="542962638"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="818219289"/>
|
||||
<reference key="IBUIHighlightedBackgroundImage" ref="919253741"/>
|
||||
<object class="NSCustomResource" key="IBUINormalBackgroundImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">up_arrow.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIButton" id="468966130">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">301</int>
|
||||
<string key="NSFrame">{{896, 45}, {73, 105}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIAutoresizesSubviews">NO</bool>
|
||||
<int key="IBUIContentMode">1</int>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<reference key="IBUIFont" ref="791234453"/>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="542962638"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="818219289"/>
|
||||
<reference key="IBUIHighlightedBackgroundImage" ref="919253741"/>
|
||||
</object>
|
||||
<object class="IBUIButton" id="601718919">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">301</int>
|
||||
<string key="NSFrame">{{58, 46}, {75, 108}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MC42NjY2NjY2NjY3IDAAA</bytes>
|
||||
</object>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIAutoresizesSubviews">NO</bool>
|
||||
<int key="IBUIContentMode">1</int>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<reference key="IBUIFont" ref="791234453"/>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="542962638"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="818219289"/>
|
||||
<reference key="IBUIHighlightedBackgroundImage" ref="919253741"/>
|
||||
</object>
|
||||
</object>
|
||||
<string key="NSFrameSize">{1024, 768}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="IBUIBackgroundColor" ref="542962638"/>
|
||||
<object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
|
||||
<int key="interfaceOrientation">3</int>
|
||||
</object>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBObjectContainer" key="IBDocument.Objects">
|
||||
<object class="NSMutableArray" key="connectionRecords">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">view</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="191373211"/>
|
||||
</object>
|
||||
<int key="connectionID">4</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">next:</string>
|
||||
<reference key="source" ref="468966130"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">24</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">back:</string>
|
||||
<reference key="source" ref="601718919"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">25</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">dataSource</string>
|
||||
<reference key="source" ref="337668700"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
</object>
|
||||
<int key="connectionID">35</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">delegate</string>
|
||||
<reference key="source" ref="337668700"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
</object>
|
||||
<int key="connectionID">36</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">missionList</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="337668700"/>
|
||||
</object>
|
||||
<int key="connectionID">37</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">pageDown:</string>
|
||||
<reference key="source" ref="954375875"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">56</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">pageUp:</string>
|
||||
<reference key="source" ref="986434937"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">57</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<object class="NSArray" key="orderedObjects">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">0</int>
|
||||
<reference key="object" ref="0"/>
|
||||
<reference key="children" ref="1000"/>
|
||||
<nil key="parent"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">1</int>
|
||||
<reference key="object" ref="191373211"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="945071814"/>
|
||||
<reference ref="337668700"/>
|
||||
<reference ref="947093628"/>
|
||||
<reference ref="954375875"/>
|
||||
<reference ref="986434937"/>
|
||||
<reference ref="589942973"/>
|
||||
<reference ref="628212498"/>
|
||||
<reference ref="759319438"/>
|
||||
<reference ref="299911581"/>
|
||||
<reference ref="601718919"/>
|
||||
<reference ref="468966130"/>
|
||||
</object>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-1</int>
|
||||
<reference key="object" ref="372490531"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">File's Owner</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-2</int>
|
||||
<reference key="object" ref="975951072"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">13</int>
|
||||
<reference key="object" ref="945071814"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">14</int>
|
||||
<reference key="object" ref="759319438"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">15</int>
|
||||
<reference key="object" ref="947093628"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">16</int>
|
||||
<reference key="object" ref="299911581"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">21</int>
|
||||
<reference key="object" ref="589942973"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">23</int>
|
||||
<reference key="object" ref="628212498"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">34</int>
|
||||
<reference key="object" ref="337668700"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
<string key="objectName">Mission List</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">54</int>
|
||||
<reference key="object" ref="954375875"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">55</int>
|
||||
<reference key="object" ref="986434937"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">22</int>
|
||||
<reference key="object" ref="468966130"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">20</int>
|
||||
<reference key="object" ref="601718919"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="flattenedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>-1.CustomClassName</string>
|
||||
<string>-2.CustomClassName</string>
|
||||
<string>1.IBEditorWindowLastContentRect</string>
|
||||
<string>1.IBPluginDependency</string>
|
||||
<string>1.IBUserGuides</string>
|
||||
<string>14.CustomClassName</string>
|
||||
<string>14.IBPluginDependency</string>
|
||||
<string>14.IBViewBoundsToFrameTransform</string>
|
||||
<string>15.CustomClassName</string>
|
||||
<string>15.IBPluginDependency</string>
|
||||
<string>15.IBViewBoundsToFrameTransform</string>
|
||||
<string>16.CustomClassName</string>
|
||||
<string>16.IBPluginDependency</string>
|
||||
<string>16.IBViewBoundsToFrameTransform</string>
|
||||
<string>20.IBPluginDependency</string>
|
||||
<string>20.IBViewBoundsToFrameTransform</string>
|
||||
<string>21.IBPluginDependency</string>
|
||||
<string>21.IBViewBoundsToFrameTransform</string>
|
||||
<string>22.IBPluginDependency</string>
|
||||
<string>22.IBViewBoundsToFrameTransform</string>
|
||||
<string>23.IBPluginDependency</string>
|
||||
<string>23.IBViewBoundsToFrameTransform</string>
|
||||
<string>34.IBPluginDependency</string>
|
||||
<string>54.IBPluginDependency</string>
|
||||
<string>54.IBViewBoundsToFrameTransform</string>
|
||||
<string>55.IBPluginDependency</string>
|
||||
<string>55.IBViewBoundsToFrameTransform</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>LevelSelectViewController</string>
|
||||
<string>UIResponder</string>
|
||||
<string>{{218, 349}, {1024, 768}}</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSMutableArray">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<string>UIFontLabel</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABChgAAxCoAAA</bytes>
|
||||
</object>
|
||||
<string>UIFontLabel</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABDtgAAw4QAAA</bytes>
|
||||
</object>
|
||||
<string>UIFontLabel</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABEY4AAxCoAAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABEXMAAww0AAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABCiAAAxDbAAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABEYAAAw6AAAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABEY8AAxDbAAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABD7AAAxAkAAA</bytes>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSAffineTransform">
|
||||
<bytes key="NSTransformStruct">P4AAAL+AAABD7AAAw4IAAA</bytes>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="unlocalizedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<nil key="activeLocalization"/>
|
||||
<object class="NSMutableDictionary" key="localizations">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="0"/>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">57</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">LevelSelectViewController</string>
|
||||
<string key="superclassName">UIViewController</string>
|
||||
<object class="NSMutableDictionary" key="actions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>back:</string>
|
||||
<string>next:</string>
|
||||
<string>pageDown:</string>
|
||||
<string>pageUp:</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="actionInfosByName">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>back:</string>
|
||||
<string>next:</string>
|
||||
<string>pageDown:</string>
|
||||
<string>pageUp:</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">back:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">next:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">pageDown:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">pageUp:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="outlets">
|
||||
<string key="NS.key.0">missionList</string>
|
||||
<string key="NS.object.0">UITableView</string>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<string key="NS.key.0">missionList</string>
|
||||
<object class="IBToOneOutletInfo" key="NS.object.0">
|
||||
<string key="name">missionList</string>
|
||||
<string key="candidateClassName">UITableView</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">LevelSelectViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIFontLabel</string>
|
||||
<string key="superclassName">UILabel</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">UIFontLabel.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">QuartzCore.framework/Headers/CAAnimation.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">QuartzCore.framework/Headers/CALayer.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="911635486">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIButton</string>
|
||||
<string key="superclassName">UIControl</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIButton.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIControl</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIControl.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIImageView</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIImageView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UILabel</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UILabel.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIResponder</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<reference key="sourceIdentifier" ref="911635486"/>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIScrollView</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIScrollView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UISearchBar</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UISearchBar.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UISearchDisplayController</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UISearchDisplayController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UITableView</string>
|
||||
<string key="superclassName">UIScrollView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITableView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIPrintFormatter.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIView</string>
|
||||
<string key="superclassName">UIResponder</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UINavigationController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIPopoverController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UISplitViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITabBarController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIViewController</string>
|
||||
<string key="superclassName">UIResponder</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
<string key="IBDocument.TargetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
|
||||
<integer value="1056" key="NS.object.0"/>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
|
||||
<integer value="3100" key="NS.object.0"/>
|
||||
</object>
|
||||
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
|
||||
<string key="IBDocument.LastKnownRelativeProjectPath">../wolf3d.xcodeproj</string>
|
||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||
<object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>back_arrow.png</string>
|
||||
<string>button_highlight.png</string>
|
||||
<string>down_arrow.png</string>
|
||||
<string>episode_bg.png</string>
|
||||
<string>next_arrow.png</string>
|
||||
<string>up_arrow.png</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>{65, 63}</string>
|
||||
<string>{4, 4}</string>
|
||||
<string>{80, 36}</string>
|
||||
<string>{480, 320}</string>
|
||||
<string>{65, 63}</string>
|
||||
<string>{80, 36}</string>
|
||||
</object>
|
||||
</object>
|
||||
<string key="IBCocoaTouchPluginVersion">141</string>
|
||||
</data>
|
||||
</archive>
|
||||
1017
wolf3d/code/iphone/Resources-iPad/MainMenuView~ipad.xib
Normal file
1017
wolf3d/code/iphone/Resources-iPad/MainMenuView~ipad.xib
Normal file
File diff suppressed because it is too large
Load Diff
1675
wolf3d/code/iphone/Resources-iPad/SettingsView~ipad.xib
Normal file
1675
wolf3d/code/iphone/Resources-iPad/SettingsView~ipad.xib
Normal file
File diff suppressed because it is too large
Load Diff
1250
wolf3d/code/iphone/Resources-iPad/SkillView~ipad.xib
Normal file
1250
wolf3d/code/iphone/Resources-iPad/SkillView~ipad.xib
Normal file
File diff suppressed because it is too large
Load Diff
1323
wolf3d/code/iphone/Resources-iPad/TriviaView~ipad.xib
Normal file
1323
wolf3d/code/iphone/Resources-iPad/TriviaView~ipad.xib
Normal file
File diff suppressed because it is too large
Load Diff
1684
wolf3d/code/iphone/SettingsView.xib
Normal file
1684
wolf3d/code/iphone/SettingsView.xib
Normal file
File diff suppressed because it is too large
Load Diff
56
wolf3d/code/iphone/SettingsViewController.h
Normal file
56
wolf3d/code/iphone/SettingsViewController.h
Normal file
@@ -0,0 +1,56 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
|
||||
@interface SettingsViewController : UIViewController {
|
||||
|
||||
IBOutlet UISlider * sensitivitySlider;
|
||||
IBOutlet UISlider * tiltMoveSpeedSlider;
|
||||
IBOutlet UISlider * tiltTurnSpeedSlider;
|
||||
IBOutlet UISlider * hudAlphaSlider;
|
||||
|
||||
IBOutlet UILabel * sensitivityLabel;
|
||||
IBOutlet UILabel * tiltMoveSpeedLabel;
|
||||
IBOutlet UILabel * tiltTurnSpeedLabel;
|
||||
IBOutlet UILabel * hudAlphaLabel;
|
||||
|
||||
IBOutlet UILabel * presetLabel;
|
||||
}
|
||||
|
||||
- (void) LoadSettings;
|
||||
|
||||
- (IBAction)back:(id)sender;
|
||||
|
||||
- (IBAction) AdvancedPressed;
|
||||
|
||||
- (IBAction) SensitivityValChanged;
|
||||
- (IBAction) TiltMoveSpeedValChanged;
|
||||
- (IBAction) TiltTurnSpeedValChanged;
|
||||
- (IBAction) HudAlphaValChanged;
|
||||
|
||||
- (IBAction) nextPreset;
|
||||
- (IBAction) previousPreset;
|
||||
|
||||
@end
|
||||
282
wolf3d/code/iphone/SettingsViewController.m
Normal file
282
wolf3d/code/iphone/SettingsViewController.m
Normal file
@@ -0,0 +1,282 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
|
||||
#import "SettingsViewController.h"
|
||||
#import "wolfiphone.h"
|
||||
#import "wolf3dAppDelegate.h"
|
||||
|
||||
#define NUM_CONTROL_SCHEMES 4
|
||||
|
||||
void setSliderLabel( UISlider * slider, UILabel * label );
|
||||
void setSliderValue( UISlider * slider, UILabel * label, float value );
|
||||
float convertSliderValue( UISlider * slider );
|
||||
|
||||
@interface SettingsViewController ()
|
||||
|
||||
@property (nonatomic, retain) UISlider * sensitivitySlider;
|
||||
@property (nonatomic, retain) UISlider * tiltMoveSpeedSlider;
|
||||
@property (nonatomic, retain) UISlider * tiltTurnSpeedSlider;
|
||||
@property (nonatomic, retain) UISlider * hudAlphaSlider;
|
||||
|
||||
@property (nonatomic, retain) UIView * sensitivityLabel;
|
||||
@property (nonatomic, retain) UIView * tiltMoveSpeedLabel;
|
||||
@property (nonatomic, retain) UIView * tiltTurnSpeedLabel;
|
||||
@property (nonatomic, retain) UIView * hudAlphaLabel;
|
||||
|
||||
@property (nonatomic, retain) UILabel * presetLabel;
|
||||
|
||||
|
||||
- (void)setPresetVisibility;
|
||||
|
||||
@end
|
||||
|
||||
@implementation SettingsViewController
|
||||
|
||||
@synthesize sensitivitySlider, tiltMoveSpeedSlider, tiltTurnSpeedSlider, hudAlphaSlider;
|
||||
@synthesize sensitivityLabel, tiltMoveSpeedLabel, tiltTurnSpeedLabel, hudAlphaLabel;
|
||||
@synthesize presetLabel;
|
||||
|
||||
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
|
||||
[self LoadSettings];
|
||||
}
|
||||
|
||||
- (void) SetupSlider:(UISlider*)slider minimumTrack:(UIImage*)minImage
|
||||
maximumTrack:(UIImage*)maxImage
|
||||
thumb:(UIImage*)thumbImage {
|
||||
|
||||
[slider setMinimumTrackImage:minImage forState:UIControlStateNormal];
|
||||
[slider setMaximumTrackImage:maxImage forState:UIControlStateNormal];
|
||||
|
||||
[slider setThumbImage:thumbImage forState:UIControlStateNormal];
|
||||
[slider setThumbImage:thumbImage forState:UIControlStateHighlighted];
|
||||
}
|
||||
|
||||
- (void) LoadSettings {
|
||||
// Minimum track image setup.
|
||||
UIImage* minimumTrackImage = [UIImage imageNamed:@"settings_slider_grey.png"];
|
||||
CGFloat minimumTrackImageCap = minimumTrackImage.size.width * 0.5f;
|
||||
|
||||
UIImage* minimumTrackImageCapped = [minimumTrackImage stretchableImageWithLeftCapWidth:minimumTrackImageCap topCapHeight:0.0];
|
||||
|
||||
|
||||
// Maximum track image setup.
|
||||
UIImage* maximumTrackImage = [UIImage imageNamed:@"settings_slider_white.png"];
|
||||
CGFloat maximumTrackImageCap = maximumTrackImage.size.width * 0.5f;
|
||||
|
||||
UIImage* maximumTrackImageCapped = [maximumTrackImage stretchableImageWithLeftCapWidth:maximumTrackImageCap topCapHeight:0.0];
|
||||
|
||||
// Thumb image.
|
||||
UIImage* thumbImage = [UIImage imageNamed:@"settings_slider_blue.png"];
|
||||
|
||||
// Set up slider instances.
|
||||
[self SetupSlider:sensitivitySlider minimumTrack:minimumTrackImageCapped
|
||||
maximumTrack:maximumTrackImageCapped
|
||||
thumb:thumbImage];
|
||||
|
||||
|
||||
[self SetupSlider:tiltMoveSpeedSlider minimumTrack:minimumTrackImageCapped
|
||||
maximumTrack:maximumTrackImageCapped
|
||||
thumb:thumbImage];
|
||||
|
||||
|
||||
|
||||
[self SetupSlider:tiltTurnSpeedSlider minimumTrack:minimumTrackImageCapped
|
||||
maximumTrack:maximumTrackImageCapped
|
||||
thumb:thumbImage];
|
||||
|
||||
|
||||
|
||||
|
||||
[self SetupSlider:hudAlphaSlider minimumTrack:minimumTrackImageCapped
|
||||
maximumTrack:maximumTrackImageCapped
|
||||
thumb:thumbImage];
|
||||
|
||||
|
||||
|
||||
// Load Settings from CVars.
|
||||
setSliderValue( sensitivitySlider, sensitivityLabel, sensitivity->value );
|
||||
setSliderValue( tiltMoveSpeedSlider, tiltMoveSpeedLabel, tiltMove->value );
|
||||
setSliderValue( tiltTurnSpeedSlider, tiltTurnSpeedLabel, tiltTurn->value );
|
||||
setSliderValue( hudAlphaSlider, hudAlphaLabel, hudAlpha->value );
|
||||
|
||||
[self setPresetVisibility];
|
||||
}
|
||||
|
||||
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
|
||||
return UIInterfaceOrientationIsLandscape(interfaceOrientation);
|
||||
}
|
||||
|
||||
- (void)didReceiveMemoryWarning {
|
||||
// Releases the view if it doesn't have a superview.
|
||||
[super didReceiveMemoryWarning];
|
||||
|
||||
// Release any cached data, images, etc. that aren't in use.
|
||||
}
|
||||
|
||||
- (void)viewDidUnload {
|
||||
[super viewDidUnload];
|
||||
// Release any retained subviews of the main view.
|
||||
// e.g. self.myOutlet = nil;
|
||||
|
||||
self.sensitivitySlider = nil;
|
||||
self.tiltTurnSpeedSlider = nil;
|
||||
self.tiltMoveSpeedSlider = nil;
|
||||
self.hudAlphaSlider = nil;
|
||||
|
||||
self.sensitivityLabel = nil;
|
||||
self.tiltTurnSpeedLabel = nil;
|
||||
self.tiltMoveSpeedLabel = nil;
|
||||
self.hudAlphaSlider = nil;
|
||||
|
||||
self.presetLabel = nil;
|
||||
}
|
||||
|
||||
|
||||
- (void)dealloc {
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
|
||||
- (IBAction)back:(id)sender {
|
||||
[self.navigationController popViewControllerAnimated:YES];
|
||||
}
|
||||
|
||||
- (IBAction) SensitivityValChanged {
|
||||
Cvar_SetValue( sensitivity->name, convertSliderValue( sensitivitySlider ) );
|
||||
setSliderLabel( sensitivitySlider, sensitivityLabel);
|
||||
}
|
||||
|
||||
|
||||
- (IBAction) TiltMoveSpeedValChanged {
|
||||
Cvar_SetValue( tiltMove->name, convertSliderValue( tiltMoveSpeedSlider ) );
|
||||
setSliderLabel( tiltMoveSpeedSlider, tiltMoveSpeedLabel);
|
||||
|
||||
if ( tiltMove->value == 5000 ) {
|
||||
Cvar_SetValue( tiltMove->name, 0 );
|
||||
}
|
||||
if ( tiltMove->value ) {
|
||||
Cvar_SetValue( tiltTurn->name, 0 );
|
||||
setSliderValue( tiltTurnSpeedSlider, tiltTurnSpeedLabel, tiltTurnSpeedSlider.minimumValue );
|
||||
}
|
||||
}
|
||||
|
||||
- (IBAction) TiltTurnSpeedValChanged {
|
||||
Cvar_SetValue( tiltTurn->name, convertSliderValue( tiltTurnSpeedSlider ) );
|
||||
setSliderLabel( tiltTurnSpeedSlider, tiltTurnSpeedLabel);
|
||||
|
||||
if ( tiltTurn->value == 500 ) {
|
||||
Cvar_SetValue( tiltTurn->name, 0 );
|
||||
}
|
||||
if ( tiltTurn->value ) {
|
||||
Cvar_SetValue( tiltMove->name, 0 );
|
||||
setSliderValue( tiltMoveSpeedSlider, tiltMoveSpeedLabel, tiltMoveSpeedSlider.minimumValue );
|
||||
}
|
||||
}
|
||||
|
||||
- (IBAction) HudAlphaValChanged {
|
||||
Cvar_SetValue( hudAlpha->name, convertSliderValue( hudAlphaSlider ) );
|
||||
setSliderLabel( hudAlphaSlider, hudAlphaLabel );
|
||||
}
|
||||
|
||||
- (IBAction) AdvancedPressed {
|
||||
|
||||
iphonePreloadBeforePlay(); // make sure all the hud textures are loaded
|
||||
menuState = IPM_HUDEDIT;
|
||||
wolf3dAppDelegate* app = (wolf3dAppDelegate*)[[UIApplication sharedApplication] delegate];
|
||||
[app showOpenGL];
|
||||
|
||||
}
|
||||
|
||||
- (void)setPresetVisibility {
|
||||
|
||||
for ( int i = 0; i < NUM_CONTROL_SCHEMES; ++i ) {
|
||||
BOOL hide = true;
|
||||
|
||||
if ( i == (int)controlScheme->value ) {
|
||||
hide = false;
|
||||
}
|
||||
|
||||
[[self.view viewWithTag:(i + 1)] setHidden:hide];
|
||||
}
|
||||
|
||||
self.presetLabel.text = [NSString stringWithFormat:@"Preset %d", (int)(controlScheme->value + 1) ];
|
||||
}
|
||||
|
||||
- (IBAction)nextPreset {
|
||||
int newScheme = controlScheme->value + 1;
|
||||
|
||||
if ( newScheme >= NUM_CONTROL_SCHEMES ) {
|
||||
newScheme = 0;
|
||||
}
|
||||
|
||||
Cvar_SetValue( controlScheme->name, newScheme );
|
||||
HudSetForScheme( (int)controlScheme->value );
|
||||
|
||||
[self setPresetVisibility];
|
||||
}
|
||||
|
||||
- (IBAction)previousPreset {
|
||||
int newScheme = controlScheme->value - 1;
|
||||
|
||||
if ( newScheme < 0 ) {
|
||||
newScheme = NUM_CONTROL_SCHEMES - 1;
|
||||
}
|
||||
|
||||
Cvar_SetValue( controlScheme->name, newScheme );
|
||||
HudSetForScheme( (int)controlScheme->value );
|
||||
|
||||
[self setPresetVisibility];
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
float convertSliderValue( UISlider * slider ) {
|
||||
const float difference = slider.value - slider.minimumValue;
|
||||
const float adjustedValue = slider.maximumValue - difference;
|
||||
|
||||
return adjustedValue;
|
||||
}
|
||||
|
||||
void setSliderValue( UISlider * slider, UILabel * label, float value ) {
|
||||
const float difference = value - slider.minimumValue;
|
||||
const float reversedValue = slider.maximumValue - difference;
|
||||
|
||||
slider.value = reversedValue;
|
||||
|
||||
setSliderLabel( slider, label );
|
||||
}
|
||||
|
||||
void setSliderLabel( UISlider * slider, UILabel * label ) {
|
||||
const float range = slider.maximumValue - slider.minimumValue;
|
||||
const float adjustedValue = convertSliderValue( slider );
|
||||
|
||||
const float adjustedDiff = adjustedValue - slider.minimumValue;
|
||||
|
||||
const float percent = adjustedDiff / range * 100.0f;
|
||||
|
||||
label.text = [NSString stringWithFormat:@"%.0f%%", percent];
|
||||
}
|
||||
|
||||
1250
wolf3d/code/iphone/SkillView.xib
Normal file
1250
wolf3d/code/iphone/SkillView.xib
Normal file
File diff suppressed because it is too large
Load Diff
41
wolf3d/code/iphone/SkillViewController.h
Normal file
41
wolf3d/code/iphone/SkillViewController.h
Normal file
@@ -0,0 +1,41 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
|
||||
@interface SkillViewController : UIViewController {
|
||||
@private
|
||||
IBOutlet UIView* selectionFrame;
|
||||
}
|
||||
|
||||
-(IBAction)back:(id)sender;
|
||||
-(IBAction)next:(id)sender;
|
||||
|
||||
-(IBAction)canIPlayDaddy:(id)sender;
|
||||
-(IBAction)dontHurtMe:(id)sender;
|
||||
-(IBAction)BringEmOn:(id)sender;
|
||||
-(IBAction)IAmDeathIncarnate:(id)sender;
|
||||
|
||||
|
||||
@end
|
||||
134
wolf3d/code/iphone/SkillViewController.m
Normal file
134
wolf3d/code/iphone/SkillViewController.m
Normal file
@@ -0,0 +1,134 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
|
||||
#import "SkillViewController.h"
|
||||
#import "EpisodeViewController.h"
|
||||
#import "wolf_local.h"
|
||||
|
||||
@interface SkillViewController ()
|
||||
|
||||
- (void)setSelectionFrame;
|
||||
|
||||
@property (nonatomic, retain) UIView* selectionFrame;
|
||||
|
||||
@end
|
||||
|
||||
@implementation SkillViewController
|
||||
|
||||
@synthesize selectionFrame;
|
||||
|
||||
// The designated initializer. Override if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad.
|
||||
/*
|
||||
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
|
||||
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
|
||||
if (self) {
|
||||
// Custom initialization.
|
||||
}
|
||||
return self;
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
// Implement loadView to create a view hierarchy programmatically, without using a nib.
|
||||
- (void)loadView {
|
||||
}
|
||||
*/
|
||||
|
||||
- (void)setSelectionFrame {
|
||||
|
||||
int skillTag = skill->value + 1;
|
||||
|
||||
UIView *currentDifficulty = [self.view viewWithTag:skillTag];
|
||||
self.selectionFrame.center = currentDifficulty.center;
|
||||
}
|
||||
|
||||
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
|
||||
[self setSelectionFrame];
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Override to allow orientations other than the default portrait orientation.
|
||||
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
|
||||
// Return YES for supported orientations.
|
||||
return UIInterfaceOrientationIsLandscape(interfaceOrientation);
|
||||
}
|
||||
|
||||
|
||||
- (void)didReceiveMemoryWarning {
|
||||
// Releases the view if it doesn't have a superview.
|
||||
[super didReceiveMemoryWarning];
|
||||
|
||||
// Release any cached data, images, etc. that aren't in use.
|
||||
}
|
||||
|
||||
- (void)viewDidUnload {
|
||||
[super viewDidUnload];
|
||||
// Release any retained subviews of the main view.
|
||||
// e.g. self.myOutlet = nil;
|
||||
|
||||
self.selectionFrame = nil;
|
||||
}
|
||||
|
||||
|
||||
- (void)dealloc {
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
|
||||
|
||||
- (IBAction)back:(id)sender {
|
||||
[self.navigationController popViewControllerAnimated:YES];
|
||||
}
|
||||
|
||||
- (IBAction)next:(id)sender {
|
||||
EpisodeViewController *evc = [[EpisodeViewController alloc] initWithNibName:@"EpisodeView" bundle:nil];
|
||||
[self.navigationController pushViewController:evc animated:YES];
|
||||
[evc release];
|
||||
}
|
||||
|
||||
|
||||
-(IBAction)canIPlayDaddy:(id)sender {
|
||||
Cvar_SetValue( skill->name, 0 );
|
||||
[self setSelectionFrame];
|
||||
}
|
||||
|
||||
-(IBAction)dontHurtMe:(id)sender {
|
||||
Cvar_SetValue( skill->name, 1 );
|
||||
[self setSelectionFrame];
|
||||
}
|
||||
|
||||
-(IBAction)BringEmOn:(id)sender {
|
||||
Cvar_SetValue( skill->name, 2 );
|
||||
[self setSelectionFrame];
|
||||
}
|
||||
|
||||
-(IBAction)IAmDeathIncarnate:(id)sender {
|
||||
Cvar_SetValue( skill->name, 3 );
|
||||
[self setSelectionFrame];
|
||||
}
|
||||
|
||||
@end
|
||||
1327
wolf3d/code/iphone/TriviaView.xib
Normal file
1327
wolf3d/code/iphone/TriviaView.xib
Normal file
File diff suppressed because it is too large
Load Diff
43
wolf3d/code/iphone/TriviaViewController.h
Normal file
43
wolf3d/code/iphone/TriviaViewController.h
Normal file
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
// This class handles the trivia menu. It is based on tags - to make it work, each trivia view
|
||||
// needs a unique, incrementing tag number, and the default trivia item but be set up as an
|
||||
// IBOutlet.
|
||||
@interface TriviaViewController : UIViewController {
|
||||
|
||||
@private
|
||||
IBOutlet UIView* firstTrivia;
|
||||
IBOutlet UIView* lastTrivia;
|
||||
|
||||
UIView* currentTrivia;
|
||||
}
|
||||
|
||||
- (IBAction)nextTrivia:(id)sender;
|
||||
- (IBAction)previousTrivia:(id)sender;
|
||||
|
||||
- (IBAction)back:(id)sender;
|
||||
|
||||
@end
|
||||
139
wolf3d/code/iphone/TriviaViewController.m
Normal file
139
wolf3d/code/iphone/TriviaViewController.m
Normal file
@@ -0,0 +1,139 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
|
||||
#import "TriviaViewController.h"
|
||||
|
||||
#define TRIVIA_COUNT 4
|
||||
|
||||
@interface TriviaViewController ()
|
||||
|
||||
@property (nonatomic, retain) IBOutlet UIView *firstTrivia;
|
||||
@property (nonatomic, retain) IBOutlet UIView *lastTrivia;
|
||||
|
||||
@property (nonatomic, retain) UIView *currentTrivia;
|
||||
|
||||
@end
|
||||
|
||||
@implementation TriviaViewController
|
||||
|
||||
@synthesize firstTrivia, lastTrivia, currentTrivia;
|
||||
|
||||
// The designated initializer. Override if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad.
|
||||
/*
|
||||
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
|
||||
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
|
||||
if (self) {
|
||||
// Custom initialization.
|
||||
}
|
||||
return self;
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
// Implement loadView to create a view hierarchy programmatically, without using a nib.
|
||||
- (void)loadView {
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
|
||||
self.currentTrivia = self.firstTrivia;
|
||||
}
|
||||
|
||||
|
||||
// Override to allow orientations other than the default portrait orientation.
|
||||
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
|
||||
// Return YES for supported orientations.
|
||||
return UIInterfaceOrientationIsLandscape(interfaceOrientation);
|
||||
}
|
||||
|
||||
|
||||
- (void)didReceiveMemoryWarning {
|
||||
// Releases the view if it doesn't have a superview.
|
||||
[super didReceiveMemoryWarning];
|
||||
|
||||
// Release any cached data, images, etc. that aren't in use.
|
||||
}
|
||||
|
||||
- (void)viewDidUnload {
|
||||
[super viewDidUnload];
|
||||
// Release any retained subviews of the main view.
|
||||
// e.g. self.myOutlet = nil;
|
||||
|
||||
self.firstTrivia = nil;
|
||||
self.lastTrivia = nil;
|
||||
|
||||
self.currentTrivia = nil;
|
||||
}
|
||||
|
||||
|
||||
- (void)dealloc {
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
- (IBAction)nextTrivia:(id)sender {
|
||||
// Hide the current trivia
|
||||
self.currentTrivia.hidden = YES;
|
||||
|
||||
if ( self.currentTrivia == self.lastTrivia ) {
|
||||
// If we are on the last trivia, we need to loop back to the first one.
|
||||
self.currentTrivia = self.firstTrivia;
|
||||
} else {
|
||||
// Otherwise, just go to the trivia with the next tag.
|
||||
NSInteger currentTriviaTag = self.currentTrivia.tag;
|
||||
NSInteger nextTriviaTag = currentTriviaTag + 1;
|
||||
|
||||
self.currentTrivia = [self.view viewWithTag:nextTriviaTag];
|
||||
}
|
||||
|
||||
// Now that the currentTrivia has been reassigned, we can show the new one.
|
||||
self.currentTrivia.hidden = NO;
|
||||
}
|
||||
|
||||
- (IBAction)previousTrivia:(id)sender {
|
||||
// Hide the current trivia
|
||||
self.currentTrivia.hidden = YES;
|
||||
|
||||
if ( self.currentTrivia == self.firstTrivia ) {
|
||||
// If we are on the first trivia, we need to loop back to the last one.
|
||||
self.currentTrivia = self.lastTrivia;
|
||||
} else {
|
||||
// Otherwise, just go to the trivia with the previous tag.
|
||||
NSInteger currentTriviaTag = self.currentTrivia.tag;
|
||||
NSInteger nextTriviaTag = currentTriviaTag - 1;
|
||||
|
||||
self.currentTrivia = [self.view viewWithTag:nextTriviaTag];
|
||||
}
|
||||
|
||||
// Now that the currentTrivia has been reassigned, we can show the new one.
|
||||
self.currentTrivia.hidden = NO;
|
||||
}
|
||||
|
||||
- (IBAction)back:(id)sender {
|
||||
[self.navigationController popViewControllerAnimated:YES];
|
||||
}
|
||||
|
||||
@end
|
||||
30
wolf3d/code/iphone/UIFontButton.h
Normal file
30
wolf3d/code/iphone/UIFontButton.h
Normal file
@@ -0,0 +1,30 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2009-2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
#import <UIKit/UIButton.h>
|
||||
|
||||
@interface UIFontButton : UIButton
|
||||
|
||||
|
||||
@end
|
||||
34
wolf3d/code/iphone/UIFontButton.m
Normal file
34
wolf3d/code/iphone/UIFontButton.m
Normal file
@@ -0,0 +1,34 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2009-2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
|
||||
#import "UIFontButton.h"
|
||||
|
||||
@implementation UIFontButton
|
||||
|
||||
- (void)awakeFromNib {
|
||||
CGFloat points = self.titleLabel.font.pointSize;
|
||||
|
||||
self.titleLabel.font = [UIFont fontWithName:@"POSITYPE idSettler v10.2" size:points];
|
||||
}
|
||||
|
||||
@end
|
||||
30
wolf3d/code/iphone/UIFontLabel.h
Normal file
30
wolf3d/code/iphone/UIFontLabel.h
Normal file
@@ -0,0 +1,30 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2009-2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
#import <UIKit/UILabel.h>
|
||||
|
||||
@interface UIFontLabel : UILabel
|
||||
|
||||
|
||||
@end
|
||||
34
wolf3d/code/iphone/UIFontLabel.m
Normal file
34
wolf3d/code/iphone/UIFontLabel.m
Normal file
@@ -0,0 +1,34 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2009-2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
|
||||
#import "UIFontLabel.h"
|
||||
|
||||
@implementation UIFontLabel
|
||||
|
||||
- (void)awakeFromNib {
|
||||
CGFloat points = self.font.pointSize;
|
||||
|
||||
self.font = [UIFont fontWithName:@"POSITYPE idSettler v10.2" size:points];
|
||||
}
|
||||
|
||||
@end
|
||||
35
wolf3d/code/iphone/UITableViewScrolling.h
Normal file
35
wolf3d/code/iphone/UITableViewScrolling.h
Normal file
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2009-2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
|
||||
#ifndef UITABLEVIEWSCROLLING_H
|
||||
#define UITABLEVIEWSCROLLING_H
|
||||
|
||||
|
||||
@class UITableView;
|
||||
|
||||
void UITableViewScrollingPageUp( UITableView * table, int totalRows );
|
||||
void UITableViewScrollingPageDown( UITableView * table, int totalRows );
|
||||
void UITableViewScrollingScrollToRow( UITableView * table, int row, int maxRow );
|
||||
|
||||
|
||||
#endif
|
||||
74
wolf3d/code/iphone/UITableViewScrolling.m
Normal file
74
wolf3d/code/iphone/UITableViewScrolling.m
Normal file
@@ -0,0 +1,74 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2009-2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
|
||||
#import "UITableViewScrolling.h"
|
||||
#import <UIKit/UITableView.h>
|
||||
|
||||
void UITableViewScrollingPageDown( UITableView * table, int totalRows ) {
|
||||
// If the user taps the page down button, we want to scroll the table view so that the first
|
||||
// non-visible row becomes visible. To do this, we can get the array of visible index paths,
|
||||
// find the maximum row within the array, and scroll to the row just after that.
|
||||
|
||||
NSArray* visibleIndexPaths = [table indexPathsForVisibleRows];
|
||||
|
||||
int maxRow = 0;
|
||||
|
||||
for ( NSIndexPath* path in visibleIndexPaths ) {
|
||||
maxRow = maxRow < path.row ? path.row: maxRow;
|
||||
}
|
||||
|
||||
const int rowToMakeVisible = maxRow + 1;
|
||||
|
||||
UITableViewScrollingScrollToRow( table,rowToMakeVisible, totalRows );
|
||||
}
|
||||
|
||||
|
||||
void UITableViewScrollingPageUp( UITableView * table, int totalRows ) {
|
||||
|
||||
// If the user taps the page up button, we want to scroll the table view so that the first
|
||||
// non-visible row becomes visible. To do this, we can get the array of visible index paths,
|
||||
// find the minimum row within the array, and scroll to the row just before that.
|
||||
|
||||
NSArray* visibleIndexPaths = [table indexPathsForVisibleRows];
|
||||
|
||||
int minRow = totalRows - 1;
|
||||
|
||||
for ( NSIndexPath* path in visibleIndexPaths ) {
|
||||
minRow = minRow < path.row ? minRow: path.row;
|
||||
}
|
||||
|
||||
const int rowToMakeVisible = minRow - 1;
|
||||
|
||||
UITableViewScrollingScrollToRow( table,rowToMakeVisible, totalRows );
|
||||
}
|
||||
|
||||
|
||||
void UITableViewScrollingScrollToRow( UITableView * table, int row, int maxRow ) {
|
||||
|
||||
const int clampedRowMax = row < maxRow? row: maxRow-1;
|
||||
const int clampedRow = clampedRowMax < 0? 0: clampedRowMax;
|
||||
|
||||
NSIndexPath* pathToMakeVisible = [NSIndexPath indexPathForRow:clampedRow inSection:0];
|
||||
|
||||
[table scrollToRowAtIndexPath:pathToMakeVisible atScrollPosition:UITableViewScrollPositionNone animated:YES];
|
||||
}
|
||||
31
wolf3d/code/iphone/WolfSlider.h
Normal file
31
wolf3d/code/iphone/WolfSlider.h
Normal file
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2009-2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
|
||||
@interface WolfSlider : UISlider {
|
||||
|
||||
}
|
||||
|
||||
@end
|
||||
40
wolf3d/code/iphone/WolfSlider.m
Normal file
40
wolf3d/code/iphone/WolfSlider.m
Normal file
@@ -0,0 +1,40 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2009-2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
|
||||
#import "WolfSlider.h"
|
||||
|
||||
|
||||
@implementation WolfSlider
|
||||
|
||||
|
||||
- (CGRect)trackRectForBounds:(CGRect)bounds {
|
||||
|
||||
UIImage* trackImage = [self minimumTrackImageForState:UIControlStateNormal];
|
||||
|
||||
CGFloat trackImageHeight = trackImage.size.height;
|
||||
|
||||
return CGRectMake(bounds.origin.x, bounds.origin.y, self.bounds.size.width, trackImageHeight);
|
||||
}
|
||||
|
||||
|
||||
@end
|
||||
@@ -1,6 +1,9 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2009 Id Software, Inc.
|
||||
Copyright (C) 2009-2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
@@ -46,8 +49,8 @@ unsigned int QGLBeginStarted = 0;
|
||||
|
||||
|
||||
struct Vertex {
|
||||
float xyz[3];
|
||||
float st[2];
|
||||
GLfloat xyz[3];
|
||||
GLfloat st[2];
|
||||
GLubyte c[4];
|
||||
};
|
||||
|
||||
@@ -56,10 +59,12 @@ struct Vertex {
|
||||
typedef struct Vertex Vertex;
|
||||
Vertex immediate[ MAX_VERTS ];
|
||||
Vertex vab;
|
||||
short quad_indexes[MAX_VERTS * 3 / 2 ];
|
||||
GLushort quad_indexes[MAX_VERTS * 3 / 2 ];
|
||||
int curr_vertex;
|
||||
GLenum curr_prim;
|
||||
|
||||
GLuint quad_index_buffer_name;
|
||||
|
||||
void InitImmediateModeGL() {
|
||||
for ( int i = 0; i < MAX_VERTS * 3 / 2; i+=6 ) {
|
||||
int q = i / 6 * 4;
|
||||
@@ -71,6 +76,11 @@ void InitImmediateModeGL() {
|
||||
quad_indexes[ i + 4 ] = q + 2;
|
||||
quad_indexes[ i + 5 ] = q + 3;
|
||||
}
|
||||
|
||||
// Use a VBO for the quad indices, since they never change.
|
||||
glGenBuffers( 1, &quad_index_buffer_name );
|
||||
glBindBuffer( GL_ELEMENT_ARRAY_BUFFER, quad_index_buffer_name );
|
||||
glBufferData( GL_ELEMENT_ARRAY_BUFFER, sizeof( quad_indexes), quad_indexes, GL_STATIC_DRAW );
|
||||
|
||||
qglVertexPointer( 3, GL_FLOAT, sizeof( Vertex ), immediate[ 0 ].xyz );
|
||||
qglTexCoordPointer( 2, GL_FLOAT, sizeof( Vertex ), immediate[ 0 ].st );
|
||||
@@ -132,7 +142,7 @@ void pfglTexCoord2f( GLfloat s, GLfloat t ) {
|
||||
|
||||
void pfglEnd() {
|
||||
if ( curr_prim == GL_QUADS ) {
|
||||
qglDrawElements( GL_TRIANGLES, curr_vertex / 4 * 6, GL_UNSIGNED_SHORT, quad_indexes );
|
||||
qglDrawElements( GL_TRIANGLES, curr_vertex / 4 * 6, GL_UNSIGNED_SHORT, (void*)0 );
|
||||
} else {
|
||||
qglDrawArrays( curr_prim, 0, curr_vertex );
|
||||
}
|
||||
|
||||
@@ -55,6 +55,7 @@ extern "C" {
|
||||
void pfglBegin( GLenum prim );
|
||||
void pfglVertex3f( float x, float y, float z );
|
||||
void pfglVertex2i( GLint x, GLint y );
|
||||
void pfglVertex2f(GLfloat x, GLfloat y );
|
||||
void pfglColor4ub( GLubyte r, GLubyte g, GLubyte b, GLubyte a );
|
||||
void pfglColor4f( GLfloat r, GLfloat g, GLfloat b, GLfloat a );
|
||||
void pfglTexCoord2i( GLint s, GLint t );
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2009 Id Software, Inc.
|
||||
Copyright (C) 2009-2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
@@ -20,6 +23,9 @@
|
||||
|
||||
#include "../wolfiphone.h"
|
||||
|
||||
extern int BackButton();
|
||||
extern int MenuButton();
|
||||
|
||||
hud_t huds;
|
||||
|
||||
void HudDraw();
|
||||
@@ -76,44 +82,102 @@ void HudSetTexnums() {
|
||||
#endif
|
||||
}
|
||||
|
||||
// HUD element sizes
|
||||
#define HUD_FORWARD_STICK_WIDTH 100
|
||||
#define HUD_FORWARD_STICK_HEIGHT 100
|
||||
|
||||
#define HUD_SIDE_STICK_WIDTH 100
|
||||
#define HUD_SIDE_STICK_HEIGHT 100
|
||||
|
||||
#define HUD_TURN_STICK_WIDTH 100
|
||||
#define HUD_TURN_STICK_HEIGHT 100
|
||||
|
||||
#define HUD_FIRE_BUTTON_WIDTH 80
|
||||
#define HUD_FIRE_BUTTON_HEIGHT 80
|
||||
|
||||
#define HUD_MENU_BUTTON_WIDTH 64
|
||||
#define HUD_MENU_BUTTON_HEIGHT 64
|
||||
|
||||
#define HUD_MAP_BUTTON_WIDTH 64
|
||||
#define HUD_MAP_BUTTON_HEIGHT 64
|
||||
|
||||
#define HUD_AMMO_WIDTH 80
|
||||
#define HUD_AMMO_HEIGHT 44
|
||||
|
||||
|
||||
#define TABLET_STICK_SCALE 0.9f
|
||||
|
||||
void HudSetForScheme( int schemeNum ) {
|
||||
|
||||
int forwardWidth = HUD_FORWARD_STICK_WIDTH * screenScale;
|
||||
int forwardHeight = HUD_FORWARD_STICK_HEIGHT * screenScale;
|
||||
|
||||
int sideWidth = HUD_SIDE_STICK_WIDTH * screenScale;
|
||||
int sideHeight = HUD_SIDE_STICK_HEIGHT * screenScale;
|
||||
|
||||
int turnWidth = HUD_TURN_STICK_WIDTH * screenScale;
|
||||
int turnHeight = HUD_TURN_STICK_HEIGHT * screenScale;
|
||||
|
||||
int fireWidth = HUD_FIRE_BUTTON_WIDTH * screenScale;
|
||||
int fireHeight = HUD_FIRE_BUTTON_HEIGHT * screenScale;
|
||||
|
||||
int menuWidth = HUD_MENU_BUTTON_WIDTH * screenScale;
|
||||
int menuHeight = HUD_MENU_BUTTON_HEIGHT * screenScale;
|
||||
|
||||
int mapWidth = HUD_MAP_BUTTON_WIDTH * screenScale;
|
||||
int mapHeight = HUD_MAP_BUTTON_HEIGHT * screenScale;
|
||||
|
||||
int ammoWidth = HUD_AMMO_WIDTH * screenScale;
|
||||
int ammoHeight = HUD_AMMO_HEIGHT * screenScale;
|
||||
|
||||
// Scale the size of the sticks down a bit on the iPad. This helps normalize the
|
||||
// sensitivity and helps with any potential controller attachments :)
|
||||
if ( iphoneGetDeviceType() == DEVICE_TABLET ) {
|
||||
forwardWidth *= TABLET_STICK_SCALE;
|
||||
forwardHeight *= TABLET_STICK_SCALE;
|
||||
sideWidth *= TABLET_STICK_SCALE;
|
||||
sideHeight *= TABLET_STICK_SCALE;
|
||||
turnWidth *= TABLET_STICK_SCALE;
|
||||
turnHeight *= TABLET_STICK_SCALE;
|
||||
}
|
||||
|
||||
switch ( schemeNum ) {
|
||||
default:
|
||||
case 0:
|
||||
SetHudSpot( &huds.forwardStick, 0, 320-100, 100, 100, 0 );
|
||||
SetHudSpot( &huds.sideStick, 0, 320-100, 100, 100, HF_DISABLED );
|
||||
SetHudSpot( &huds.turnStick, 0, 320-100, 100, 100, 0 );
|
||||
SetHudSpot( &huds.fire, 480-80, 320-80, 80, 80, 0 );
|
||||
SetHudSpot( &huds.menu, 480-64, 0, 64, 32, 0 );
|
||||
SetHudSpot( &huds.map, 0, 0, 64, 32, 0 );
|
||||
SetHudSpot( &huds.ammo, 480-80, 320-100-44, 80, 44, 0 );
|
||||
SetHudSpot( &huds.forwardStick, 0, viddef.height-forwardHeight, forwardWidth, forwardHeight, 0 );
|
||||
SetHudSpot( &huds.sideStick, 0, viddef.height-sideHeight, sideWidth, sideHeight, HF_DISABLED );
|
||||
SetHudSpot( &huds.turnStick, 0, viddef.height-turnHeight, turnWidth, turnHeight, 0 );
|
||||
SetHudSpot( &huds.fire, viddef.width-fireWidth, viddef.height-fireHeight, fireWidth, fireHeight, 0 );
|
||||
SetHudSpot( &huds.menu, viddef.width-menuWidth, 0, menuWidth, menuHeight, 0 );
|
||||
SetHudSpot( &huds.map, 0, 0, mapWidth, mapHeight, 0 );
|
||||
SetHudSpot( &huds.ammo, viddef.width-ammoWidth, viddef.height-fireHeight-ammoHeight, ammoWidth, ammoHeight, 0 );
|
||||
break;
|
||||
case 1:
|
||||
SetHudSpot( &huds.forwardStick, 480-100, 320-100, 100, 100, 0 );
|
||||
SetHudSpot( &huds.sideStick, 0, 320-100, 100, 100, HF_DISABLED );
|
||||
SetHudSpot( &huds.turnStick, 480-100, 320-100, 100, 100, 0 );
|
||||
SetHudSpot( &huds.fire, 0, 320-80, 80, 80, 0 );
|
||||
SetHudSpot( &huds.menu, 480-64, 0, 64, 32, 0 );
|
||||
SetHudSpot( &huds.map, 0, 0, 64, 32, 0 );
|
||||
SetHudSpot( &huds.ammo, 480-80, 320-100-44, 80, 44, 0 );
|
||||
SetHudSpot( &huds.forwardStick, viddef.width-forwardWidth, viddef.height-forwardHeight, forwardWidth, forwardHeight, 0 );
|
||||
SetHudSpot( &huds.sideStick, 0, viddef.height-sideHeight, sideWidth, sideHeight, HF_DISABLED );
|
||||
SetHudSpot( &huds.turnStick, viddef.width-turnWidth, viddef.height-turnHeight, turnWidth, turnHeight, 0 );
|
||||
SetHudSpot( &huds.fire, 0, viddef.height-fireHeight, fireWidth, fireHeight, 0 );
|
||||
SetHudSpot( &huds.menu, viddef.width-menuWidth, 0, menuWidth, menuHeight, 0 );
|
||||
SetHudSpot( &huds.map, 0, 0, mapWidth, mapHeight, 0 );
|
||||
SetHudSpot( &huds.ammo, 0, viddef.height-fireHeight-ammoHeight, ammoWidth, ammoHeight, 0 );
|
||||
break;
|
||||
case 2:
|
||||
SetHudSpot( &huds.forwardStick, 0, 320-100, 100, 100, 0 );
|
||||
SetHudSpot( &huds.sideStick, 0, 320-100, 100, 100, 0 );
|
||||
SetHudSpot( &huds.turnStick, 480-100, 320-100, 100, 100, 0 );
|
||||
SetHudSpot( &huds.fire, 480-80, 0, 80, 80, 0 );
|
||||
SetHudSpot( &huds.menu, 0, 32, 64, 32, 0 );
|
||||
SetHudSpot( &huds.map, 0, 0, 64, 32, 0 );
|
||||
SetHudSpot( &huds.ammo, 480-80, 80, 80, 44, 0 );
|
||||
SetHudSpot( &huds.forwardStick, 0, viddef.height-forwardHeight, forwardWidth, forwardHeight, 0 );
|
||||
SetHudSpot( &huds.sideStick, 0, viddef.height-sideHeight, sideWidth, sideHeight, 0 );
|
||||
SetHudSpot( &huds.turnStick, viddef.width-turnWidth, viddef.height-turnHeight, turnWidth, turnHeight, 0 );
|
||||
SetHudSpot( &huds.fire, viddef.width-fireWidth, 0, fireWidth, fireHeight, 0 );
|
||||
SetHudSpot( &huds.menu, 0, mapHeight, menuWidth, menuHeight, 0 );
|
||||
SetHudSpot( &huds.map, 0, 0, mapWidth, mapHeight, 0 );
|
||||
SetHudSpot( &huds.ammo, viddef.width-ammoWidth, fireHeight, ammoWidth, ammoHeight, 0 );
|
||||
break;
|
||||
case 3:
|
||||
SetHudSpot( &huds.forwardStick, 480-100, 320-100, 100, 100, 0 );
|
||||
SetHudSpot( &huds.sideStick, 480-100, 320-100, 100, 100, 0 );
|
||||
SetHudSpot( &huds.turnStick, 0, 320-100, 100, 100, 0 );
|
||||
SetHudSpot( &huds.fire, 480-80, 0, 80, 80, 0 );
|
||||
SetHudSpot( &huds.menu, 0, 32, 64, 32, 0 );
|
||||
SetHudSpot( &huds.map, 0, 0, 64, 32, 0 );
|
||||
SetHudSpot( &huds.ammo, 480-80, 80, 80, 44, 0 );
|
||||
SetHudSpot( &huds.forwardStick, viddef.width-forwardWidth, viddef.height-forwardHeight, forwardWidth, forwardHeight, 0 );
|
||||
SetHudSpot( &huds.sideStick, viddef.width-sideWidth, viddef.height-sideHeight, sideWidth, sideHeight, 0 );
|
||||
SetHudSpot( &huds.turnStick, 0, viddef.height-turnHeight, turnWidth, turnHeight, 0 );
|
||||
SetHudSpot( &huds.fire, viddef.width-fireWidth, 0, fireWidth, fireHeight, 0 );
|
||||
SetHudSpot( &huds.menu, 0, mapHeight, menuWidth, menuHeight, 0 );
|
||||
SetHudSpot( &huds.map, 0, 0, mapWidth, mapHeight, 0 );
|
||||
SetHudSpot( &huds.ammo, viddef.width-ammoWidth, fireHeight, ammoWidth, ammoHeight, 0 );
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -192,14 +256,14 @@ void HudEditFrame() {
|
||||
if ( dragHud->x < 0 ) {
|
||||
dragHud->x = 0;
|
||||
}
|
||||
if ( dragHud->x > 480 - dragHud->width ) {
|
||||
dragHud->x = 480 - dragHud->width;
|
||||
if ( dragHud->x > viddef.width - dragHud->width ) {
|
||||
dragHud->x = viddef.width - dragHud->width;
|
||||
}
|
||||
if ( dragHud->y < 0 ) {
|
||||
dragHud->y = 0;
|
||||
}
|
||||
if ( dragHud->y > 320 - dragHud->height ) {
|
||||
dragHud->y = 320 - dragHud->height;
|
||||
if ( dragHud->y > viddef.height - dragHud->height ) {
|
||||
dragHud->y = viddef.height - dragHud->height;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -210,7 +274,7 @@ void HudEditFrame() {
|
||||
w += hud->width;
|
||||
}
|
||||
}
|
||||
x = 240 - w / 2;
|
||||
x = (480 / 2) - w / 2;
|
||||
|
||||
for ( hudPic_t *hud = (hudPic_t *)&huds ; hud != (hudPic_t *)(&huds+1) ; hud++ ) {
|
||||
if ( hud->hudFlags & HF_DISABLED ) {
|
||||
@@ -242,7 +306,7 @@ void HudEditFrame() {
|
||||
}
|
||||
|
||||
// draw the done button
|
||||
if ( iphoneDrawPicWithTouch( 240-32, 320-80-32, 64, 32, "iphone/button_back.tga" ) ) {
|
||||
if ( iphoneDrawPicWithTouch( (480 / 2)-32, 320-80-32, 64, 32, "iphone/button_back.tga" ) ) {
|
||||
menuState = IPM_CONTROLS;
|
||||
iphoneSetNotifyText( "" );
|
||||
}
|
||||
@@ -279,11 +343,16 @@ void ConvertFromImageToScreen(int *x, int *y, rect_t boundsRect)
|
||||
//int boundsUnder = 320-10;
|
||||
int height = boundsUnder - boundsAbove;
|
||||
|
||||
float windowWidth = 480.0f;
|
||||
float windowHeight = 320.0f;
|
||||
|
||||
ScalePositionAndSize( NULL, NULL, &windowWidth, &windowHeight );
|
||||
|
||||
valX -= boundsLeft;
|
||||
valX = 480*valX/width;
|
||||
valX = windowWidth*valX/width;
|
||||
|
||||
valY -= boundsAbove;
|
||||
valY = 320*valY/height;
|
||||
valY = windowHeight*valY/height;
|
||||
|
||||
*x = valX;
|
||||
*y = valY;
|
||||
@@ -295,7 +364,7 @@ void ConvertFromImageToScreen(int *x, int *y, rect_t boundsRect)
|
||||
// to the coordinates of the screen of the iphone image
|
||||
// gsh
|
||||
//-------------------
|
||||
void ConvertFromScreenToImage(int *x, int *y, rect_t boundsRect)
|
||||
void ConvertFromScreenToImage(int *x, int *y, rect_t boundsRect, float screenWidth, float screenHeight )
|
||||
{
|
||||
int boundsLeft = boundsRect.x;
|
||||
int boundsRight = boundsRect.x + boundsRect.width;
|
||||
@@ -312,11 +381,11 @@ void ConvertFromScreenToImage(int *x, int *y, rect_t boundsRect)
|
||||
//int boundsAbove = 100;
|
||||
//int boundsUnder = 320-10;
|
||||
int height = boundsUnder - boundsAbove;
|
||||
|
||||
valX = width*valX/480;
|
||||
|
||||
valX = width*valX/screenWidth;
|
||||
valX += boundsLeft;
|
||||
|
||||
valY = height*valY/320;
|
||||
valY = height*valY/screenHeight;
|
||||
valY += boundsAbove;
|
||||
|
||||
*x = valX;
|
||||
@@ -346,8 +415,13 @@ void ScaleFromScreenToImage(int *width, int *height, rect_t boundsRect)
|
||||
//int boundsUnder = 320-10;
|
||||
int iH = boundsUnder - boundsAbove;
|
||||
|
||||
w = w*iW/480;
|
||||
h = h*iH/320;
|
||||
float screenWidth = 480.0f;
|
||||
float screenHeight = 320.0f;
|
||||
|
||||
ScalePositionAndSize( NULL, NULL, &screenWidth, &screenHeight );
|
||||
|
||||
w = w*iW/screenWidth;
|
||||
h = h*iH/screenHeight;
|
||||
|
||||
*width = w;
|
||||
*height = h;
|
||||
@@ -369,8 +443,18 @@ void iphoneHudEditFrame() {
|
||||
int adjustY = 10;
|
||||
|
||||
rect_t boundsRect = RectMake(86, 80-adjustY, 300, 205);
|
||||
rect_t scaledBoundsRect;
|
||||
|
||||
scaledBoundsRect.x = boundsRect.x;
|
||||
scaledBoundsRect.y = boundsRect.y;
|
||||
scaledBoundsRect.width = boundsRect.width;
|
||||
scaledBoundsRect.height = boundsRect.height;
|
||||
|
||||
ScaleRect( &scaledBoundsRect );
|
||||
|
||||
float scaledScreenWidth = 480.0f;
|
||||
float scaledScreenHeight = 320.0f;
|
||||
ScalePositionAndSize( NULL, NULL, &scaledScreenWidth, &scaledScreenHeight );
|
||||
|
||||
//iphoneSetNotifyText( "Drag the controls" );
|
||||
|
||||
@@ -380,10 +464,22 @@ void iphoneHudEditFrame() {
|
||||
int y = prevTouches[0][1];
|
||||
|
||||
//convert x, y coordinates from iphone_image to screen coordinates
|
||||
ConvertFromImageToScreen( &x, &y, boundsRect);
|
||||
ConvertFromImageToScreen( &x, &y, scaledBoundsRect);
|
||||
//ConvertFromScreenToImage( &x, &y);
|
||||
|
||||
if ( x > 120 && x < 360 && y > 80 && y < 240 ) {
|
||||
float disableRegionLeft = 120;
|
||||
float disableRegionRight = REFERENCE_WIDTH - 120;
|
||||
|
||||
float disableRegionTop = 80;
|
||||
float disableRegionBottom = REFERENCE_HEIGHT - 80;
|
||||
|
||||
disableRegionTop *= screenScale;
|
||||
disableRegionBottom *= screenScale;
|
||||
disableRegionLeft *= screenScale;
|
||||
disableRegionRight *= screenScale;
|
||||
|
||||
if ( x > disableRegionLeft && x < disableRegionRight &&
|
||||
y > disableRegionTop && y < disableRegionBottom ) {
|
||||
dragHud->hudFlags |= HF_DISABLED;
|
||||
} else {
|
||||
// magnet pull a matchable axis if it is close enough
|
||||
@@ -408,7 +504,7 @@ void iphoneHudEditFrame() {
|
||||
int y = touches[0][1];
|
||||
|
||||
//convert x, y coordinates from iphone_image to screen coordinates
|
||||
ConvertFromImageToScreen( &x, &y, boundsRect);
|
||||
ConvertFromImageToScreen( &x, &y, scaledBoundsRect);
|
||||
// ConvertFromScreenToImage( &x, &y);
|
||||
|
||||
dragHud = NULL;
|
||||
@@ -416,9 +512,6 @@ void iphoneHudEditFrame() {
|
||||
if ( x >= hud->x && x - hud->x < hud->width &&
|
||||
y >= hud->y && y - hud->y < hud->height ) {
|
||||
dragHud = hud;
|
||||
//int tempDragX = dragHud->x;
|
||||
//int tempDragY = dragHud->y;
|
||||
//ConvertFromImageToScreen(&, <#int * y#>)
|
||||
dragX = dragHud->x - x;
|
||||
dragY = dragHud->y - y;
|
||||
Sound_StartLocalSound( "iphone/bdown_01.wav" );
|
||||
@@ -432,21 +525,21 @@ void iphoneHudEditFrame() {
|
||||
// adjust the position of the dragHud
|
||||
int x = touches[0][0];
|
||||
int y = touches[0][1];
|
||||
ConvertFromImageToScreen(&x, &y, boundsRect);
|
||||
ConvertFromImageToScreen(&x, &y, scaledBoundsRect);
|
||||
|
||||
dragHud->x = x + dragX;
|
||||
dragHud->y = y + dragY;
|
||||
if ( dragHud->x < 0 ) {
|
||||
dragHud->x = 0;
|
||||
}
|
||||
if ( dragHud->x > 480 - dragHud->width ) {
|
||||
dragHud->x = 480 - dragHud->width;
|
||||
if ( dragHud->x > scaledScreenWidth - dragHud->width ) {
|
||||
dragHud->x = scaledScreenWidth - dragHud->width;
|
||||
}
|
||||
if ( dragHud->y < 0 ) {
|
||||
dragHud->y = 0;
|
||||
}
|
||||
if ( dragHud->y > 320 - dragHud->height ) {
|
||||
dragHud->y = 320 - dragHud->height;
|
||||
if ( dragHud->y > scaledScreenHeight - dragHud->height ) {
|
||||
dragHud->y = scaledScreenHeight - dragHud->height;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -457,12 +550,12 @@ void iphoneHudEditFrame() {
|
||||
w += hud->width;
|
||||
}
|
||||
}
|
||||
x = 240 - w / 2;
|
||||
x = ( viddef.width / 2 ) - ( w / 2 );
|
||||
|
||||
for ( hudPic_t *hud = (hudPic_t *)&huds ; hud != (hudPic_t *)(&huds+1) ; hud++ ) {
|
||||
if ( hud->hudFlags & HF_DISABLED ) {
|
||||
hud->x = x;
|
||||
hud->y = 160-hud->height/2;
|
||||
hud->y = ( viddef.height / 2 ) - ( hud->height/2 );
|
||||
x += hud->width;
|
||||
}
|
||||
}
|
||||
@@ -470,21 +563,21 @@ void iphoneHudEditFrame() {
|
||||
// decide where the menu button, map button, and ammo will draw
|
||||
|
||||
// solid background color and some UI elements for context
|
||||
R_Draw_Fill( 0, 0, 480, 320, gray );
|
||||
rectFloat_t backgroundFill = MakeScaledRectFloat( 0.0f, 0.0f, 480.0f, 320.0f );
|
||||
R_Draw_Fill( backgroundFill.x, backgroundFill.y, backgroundFill.width, backgroundFill.height, gray );
|
||||
|
||||
iphoneDrawPic(0, 0, 480, 320, "iphone/submenus_background_image.tga");
|
||||
iphoneDrawPicRect( MakeScaledRectFloat( 0.0f, 0.0f, 480.0f, 320.0f ), "iphone/submenus_background_image.tga");
|
||||
//iphoneDrawPic(240-108, 0, 217, 50, "iphone/header_advanced.tga");
|
||||
iphoneDrawPic(240-108*9/10, 0, 217*9/10, 50*9/10, "iphone/header_advanced.tga");
|
||||
iphoneDrawPicRect( MakeScaledRectFloat( 240.0f-108.0f*9/10.0f, 0.0f, 217.0f*9/10.0f, 50.0f*9/10.0f ), "iphone/header_advanced.tga");
|
||||
|
||||
//gsh
|
||||
iphoneDrawPic(10, 60-adjustY, 462, 250, "iphone/iphone_image.tga");
|
||||
iphoneDrawPicRect( MakeScaledRectFloat( 10.0f, 60.0f-adjustY, 462.0f, 250.0f ), "iphone/iphone_image.tga");
|
||||
// iphoneDrawPic(0, 320-240, 480, 240, "iphone/iphone_image.tga");
|
||||
|
||||
|
||||
// iphoneDrawFace();
|
||||
// iphoneDrawNotifyText();
|
||||
|
||||
|
||||
// draw the active items at their current locations
|
||||
for ( hudPic_t *hud = (hudPic_t *)&huds ; hud != (hudPic_t *)(&huds+1) ; hud++ ) { //nice foreach loop!
|
||||
if ( hud->hudFlags & HF_DISABLED ) {
|
||||
@@ -496,8 +589,10 @@ void iphoneHudEditFrame() {
|
||||
int w = 48;
|
||||
int h = 48;
|
||||
|
||||
ConvertFromScreenToImage(&x, &y, boundsRect);
|
||||
ScaleFromScreenToImage(&w, &h, boundsRect);
|
||||
ConvertFromScreenToImage(&x, &y, scaledBoundsRect, scaledScreenWidth, scaledScreenHeight );
|
||||
ScaleFromScreenToImage(&w, &h, scaledBoundsRect);
|
||||
|
||||
//ScalePositionAndSizeInt( &x, &y, &w, &h );
|
||||
|
||||
iphoneDrawNumber( x, y, 99, w, h );
|
||||
} else {
|
||||
@@ -506,8 +601,10 @@ void iphoneHudEditFrame() {
|
||||
int w = hud->width;
|
||||
int h = hud->height;
|
||||
|
||||
ConvertFromScreenToImage(&x, &y, boundsRect);
|
||||
ScaleFromScreenToImage(&w, &h, boundsRect);
|
||||
ConvertFromScreenToImage(&x, &y, scaledBoundsRect, scaledScreenWidth, scaledScreenHeight );
|
||||
ScaleFromScreenToImage(&w, &h, scaledBoundsRect);
|
||||
|
||||
//ScalePositionAndSizeInt( &x, &y, &w, &h );
|
||||
|
||||
iphoneDrawPicNum( x, y, w, h, hud->glTexNum );
|
||||
}
|
||||
@@ -519,16 +616,14 @@ void iphoneHudEditFrame() {
|
||||
|
||||
|
||||
// draw the back button
|
||||
if ( iphoneDrawPicWithTouch( 0, 0, 64, 36, "iphone/button_back.tga" ) ) {
|
||||
menuState = IPM_CONTROLS;
|
||||
if ( BackButton() ) {
|
||||
iphoneStartPreviousMenu();
|
||||
iphoneSetNotifyText( "" );
|
||||
}
|
||||
|
||||
//x = 64;
|
||||
//if (revLand->value)
|
||||
x = 480-64;
|
||||
x = 480-64;
|
||||
// draw the menu button
|
||||
if ( iphoneDrawPicWithTouch( x, 0, 64, 36, "iphone/menu.tga" ) ) {
|
||||
if ( MenuButton() ) {
|
||||
//if ( iphoneDrawPicWithTouch( 64, 0, 64, 36, "iphone/button_menu_yellow.tga" ) ) {
|
||||
menuState = IPM_MAIN;
|
||||
iphoneSetNotifyText( "" );
|
||||
@@ -543,10 +638,6 @@ void iphoneHudEditFrame() {
|
||||
int y = 0;
|
||||
y = 0;
|
||||
x = 480-width;
|
||||
if (revLand->value){
|
||||
y = 320-height;
|
||||
x = 0;
|
||||
}
|
||||
|
||||
//gsh
|
||||
if ((int)volumeFireUpSetting->value) {
|
||||
@@ -560,8 +651,6 @@ void iphoneHudEditFrame() {
|
||||
|
||||
|
||||
x = 480-width-width-5;
|
||||
if (revLand->value)
|
||||
x = width+5;
|
||||
|
||||
if ((int)volumeFireDownSetting->value) {
|
||||
if (iphoneDrawPicWithTouch( x, y, width, height, "iphone/button_pistol.tga" ))
|
||||
@@ -574,10 +663,6 @@ void iphoneHudEditFrame() {
|
||||
//-----------------------------------
|
||||
*/
|
||||
//draw the instructions
|
||||
//if (revLand->value)
|
||||
// iphoneDrawText(x+width+20, 300, 16, 16, "Drag the controls to customize");
|
||||
//else
|
||||
// iphoneCenterText(240, 300, "Drag each element of the controls to customize");
|
||||
iphoneCenterArialText(245, 315, 0.8f, "Drag each element of the controls to customize");
|
||||
}
|
||||
|
||||
|
||||
@@ -1,16 +1,9 @@
|
||||
/*
|
||||
* iphone_alerts.h
|
||||
* wolf3d
|
||||
*
|
||||
* Created by Greg Hodges on 7/14/09.
|
||||
* Copyright 2009 id software. All rights reserved.
|
||||
*
|
||||
* C wrappers for the UIAlertView.
|
||||
*
|
||||
*/
|
||||
/*
|
||||
|
||||
Copyright (C) 2009 Id Software, Inc.
|
||||
Copyright (C) 2009-2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
@@ -28,12 +21,12 @@
|
||||
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __IPHONE_ALERTS__
|
||||
#define __IPHONE_ALERTS__
|
||||
|
||||
void iphoneMessageBox(char *title, char *message);
|
||||
void iphoneKillMessageBox();
|
||||
void iphoneNewMessageBox(char *title, char *message);
|
||||
void iphoneYesNoBox(char *title, char *message);
|
||||
|
||||
#endif
|
||||
@@ -1,14 +1,9 @@
|
||||
/*
|
||||
* iphone_alerts.c
|
||||
* wolf3d
|
||||
*
|
||||
* Created by Greg Hodges on 7/14/09.
|
||||
* Copyright 2009 id software. All rights reserved.
|
||||
*
|
||||
*/
|
||||
/*
|
||||
|
||||
Copyright (C) 2009 Id Software, Inc.
|
||||
Copyright (C) 2009-2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
@@ -26,7 +21,6 @@
|
||||
|
||||
*/
|
||||
|
||||
|
||||
#import "iphone_alerts.h"
|
||||
#import "wolf3dAppDelegate.h"
|
||||
|
||||
@@ -71,6 +65,34 @@ void iphoneKillMessageBox()
|
||||
[alert dismissWithClickedButtonIndex:alert.cancelButtonIndex animated:NO];
|
||||
}
|
||||
|
||||
/*
|
||||
========================
|
||||
iphoneNewMessageBox()
|
||||
creates a new message box without
|
||||
drestroying the old one
|
||||
========================
|
||||
*/
|
||||
void iphoneNewMessageBox(char *title, char *message)
|
||||
{
|
||||
UIAlertView *newAlert;
|
||||
newAlert = [[UIAlertView alloc] initWithTitle:@"Title"
|
||||
message:@"Message"
|
||||
delegate:nil
|
||||
cancelButtonTitle:@"OK"
|
||||
otherButtonTitles: nil];
|
||||
|
||||
|
||||
NSString *nsTitle = [[NSString alloc] initWithCString:title];
|
||||
NSString *nsMessage = [[NSString alloc] initWithCString:message];
|
||||
|
||||
newAlert.title = nsTitle;
|
||||
newAlert.message = nsMessage;
|
||||
|
||||
[newAlert show];
|
||||
[newAlert release];
|
||||
}
|
||||
|
||||
|
||||
#if 1
|
||||
/*
|
||||
==================================
|
||||
|
||||
@@ -1,13 +1,9 @@
|
||||
//
|
||||
// iphone_downloadSOD.m
|
||||
// wolf3d
|
||||
//
|
||||
// Created by Greg Hodges on 6/8/09.
|
||||
// Copyright 2009 id software. All rights reserved.
|
||||
//
|
||||
/*
|
||||
|
||||
Copyright (C) 2009 Id Software, Inc.
|
||||
Copyright (C) 2009-2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
@@ -25,15 +21,15 @@
|
||||
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#import "../wolfiphone.h"
|
||||
#import "wolf3dAppDelegate.h"
|
||||
//#import "zlib.h"
|
||||
#import "iphone_alerts.h"
|
||||
|
||||
#include <CoreFoundation/CoreFoundation.h>
|
||||
#include <unistd.h>
|
||||
|
||||
//gsh
|
||||
#import <SystemConfiguration/SCNetworkReachability.h> //this is for testing network availability
|
||||
|
||||
//Note: in order to link the zlib library into the build from usr/lib/libz.ylib
|
||||
@@ -46,6 +42,7 @@ extern void Com_Printf(const char* fmt, ... );
|
||||
extern void my_snprintf( char *dest, size_t size, const char *format, ... );
|
||||
|
||||
#ifdef SPEARSTOREKIT
|
||||
//extern int StartUntgz(char *TGZfile);
|
||||
extern void PurchaseSOD();
|
||||
extern bool isStorekitAvailable;
|
||||
#endif
|
||||
@@ -178,6 +175,11 @@ void DownloadSOD()
|
||||
{
|
||||
menuState = IPM_DOWNLOADPROGRESS; //change the menu to the download screen
|
||||
|
||||
/*
|
||||
//TODO: alert user that the download is beginning and will take a while
|
||||
*/
|
||||
//iphoneMessageBox("Download in Progress", "You have not been charged. Purchasing comes at the end of this process. Download may take several minutes.");
|
||||
|
||||
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
|
||||
NSString *documentsDirectory = [paths objectAtIndex:0];
|
||||
|
||||
@@ -199,6 +201,20 @@ void DownloadSOD()
|
||||
|
||||
//after this the control automatically goes back to the appDelegate where it receives the packets of downloaded information
|
||||
}
|
||||
/*
|
||||
//============================
|
||||
// AppendData
|
||||
// adds a packet of data to our buffer
|
||||
//============================
|
||||
void AppendData(NSData* data)
|
||||
{
|
||||
Com_Printf("appending data\n");
|
||||
|
||||
NSUInteger length = [data length];
|
||||
NSLog(@"Received %d bytes of data", length);
|
||||
|
||||
// [receivedData appendData:data];
|
||||
}*/
|
||||
|
||||
unsigned int dataAmount = 0;
|
||||
unsigned int dataTotalAmount = 0;
|
||||
@@ -216,7 +232,13 @@ void AppendDataToFile(NSData* data)
|
||||
dataAmount = (unsigned int)length;
|
||||
dataTotalAmount += dataAmount;
|
||||
totalDownloaded = dataTotalAmount; //update the download screen with the total downloaded
|
||||
|
||||
/*
|
||||
if (dataTotalAmount > DownloadFileSize * 7/10 && !hasBeenMessaged)
|
||||
{
|
||||
iphoneMessageBox("Extraction in Progress", "SOD is installing. This may take several minutes.");
|
||||
hasBeenMessaged = 1;
|
||||
}
|
||||
*/
|
||||
//get documents directory
|
||||
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
|
||||
NSString *documentsDirectory = [paths objectAtIndex:0];
|
||||
@@ -253,7 +275,162 @@ void DecompressData()
|
||||
|
||||
char path[1024];
|
||||
my_snprintf(path, sizeof(path), "%s/downloadedfile.tgz", iphoneDocDirectory);
|
||||
|
||||
// StartUntgz(path); //this is where we would normally start decompression.
|
||||
//but we no longer need to decompress anything
|
||||
//so we might as well get rid of our zlib dependencies
|
||||
}
|
||||
/*
|
||||
//================================
|
||||
// CopyFolders
|
||||
// Copies the contents of the base folder to the SODbase folder
|
||||
// One folder at a time... hopefully to allow renderings
|
||||
// This allows us to provide a smaller download
|
||||
//================================
|
||||
void CopyFolders()
|
||||
{
|
||||
int numberOfFolders = 7;
|
||||
char sourcePath[1024];
|
||||
char destPath[1024];
|
||||
char folderNames[7][8] = {"iphone","lsfx","maps","music","sfx","sprites","walls"};
|
||||
|
||||
char *appDir;
|
||||
appDir = getenv("CWD");
|
||||
|
||||
NSString *source;
|
||||
NSString *toPath;
|
||||
|
||||
//Draw a black colored bar
|
||||
colour4_t backgroundColor = { 10, 10, 10, 255 };
|
||||
R_Draw_Blend( 40, 150, 4*100, 20, backgroundColor );
|
||||
|
||||
NSFileManager *fileManager = [NSFileManager defaultManager];
|
||||
NSError *error;
|
||||
|
||||
//try creating the base directory
|
||||
my_snprintf(destPath, sizeof(destPath), "%s/SODbase/", iphoneDocDirectory);
|
||||
toPath = [[NSString alloc] initWithUTF8String:destPath];
|
||||
NSLog(@"creating Directory: %@", toPath);
|
||||
if([fileManager createDirectoryAtPath:toPath attributes:nil])
|
||||
Com_Printf("creating SODbase success!\n");
|
||||
else
|
||||
Com_Printf("creating SODbase failed :(\n");
|
||||
|
||||
for (int i = 0; i < numberOfFolders; ++i)
|
||||
{
|
||||
|
||||
my_snprintf(sourcePath, sizeof(sourcePath), "%s/base/%s", appDir, folderNames[i]);
|
||||
// my_snprintf(destPath, sizeof(destPath), "%s/base/", iphoneDocDirectory);
|
||||
my_snprintf(destPath, sizeof(destPath), "%s/SODbase/%s", iphoneDocDirectory, folderNames[i]);
|
||||
|
||||
source = [[NSString alloc] initWithUTF8String:sourcePath];
|
||||
toPath = [[NSString alloc] initWithUTF8String:destPath];
|
||||
|
||||
NSLog(source);
|
||||
NSLog(toPath);
|
||||
|
||||
//attempt the copy
|
||||
if ([fileManager copyItemAtPath:source toPath:toPath error:&error])//;
|
||||
Com_Printf("copy base %s success!\n", folderNames[i]);
|
||||
else
|
||||
Com_Printf("copy %s folder failed :(\n", folderNames[i]);
|
||||
|
||||
//draw the next iteration
|
||||
colour4_t color = { 255, 0, 0, 255 };
|
||||
R_Draw_Blend( 40, 150, 400*i/numberOfFolders, 20, color );
|
||||
|
||||
SysIPhoneSwapBuffers();
|
||||
|
||||
[source release];
|
||||
[toPath release];
|
||||
}
|
||||
|
||||
//TODO: delete some of the copied files
|
||||
my_snprintf(destPath, sizeof(destPath), "%s/SODbase/sprites/012.5551", iphoneDocDirectory);
|
||||
remove(destPath);
|
||||
my_snprintf(destPath, sizeof(destPath), "%s/SODbase/sprites/017.5551", iphoneDocDirectory);
|
||||
remove(destPath);
|
||||
my_snprintf(destPath, sizeof(destPath), "%s/SODbase/sprites/024.5551", iphoneDocDirectory);
|
||||
remove(destPath);
|
||||
my_snprintf(destPath, sizeof(destPath), "%s/SODbase/sprites/042.5551", iphoneDocDirectory);
|
||||
remove(destPath);
|
||||
my_snprintf(destPath, sizeof(destPath), "%s/SODbase/sprites/046.5551", iphoneDocDirectory);
|
||||
remove(destPath);
|
||||
my_snprintf(destPath, sizeof(destPath), "%s/SODbase/sprites/047.5551", iphoneDocDirectory);
|
||||
remove(destPath);
|
||||
my_snprintf(destPath, sizeof(destPath), "%s/SODbase/sprites/048.5551", iphoneDocDirectory);
|
||||
remove(destPath);
|
||||
my_snprintf(destPath, sizeof(destPath), "%s/SODbase/sprites/050.5551", iphoneDocDirectory);
|
||||
remove(destPath);
|
||||
my_snprintf(destPath, sizeof(destPath), "%s/SODbase/sprites/051.5551", iphoneDocDirectory);
|
||||
remove(destPath);
|
||||
my_snprintf(destPath, sizeof(destPath), "%s/SODbase/sprites/052.5551", iphoneDocDirectory);
|
||||
remove(destPath);
|
||||
my_snprintf(destPath, sizeof(destPath), "%s/SODbase/sprites/053.5551", iphoneDocDirectory);
|
||||
remove(destPath);
|
||||
|
||||
}
|
||||
|
||||
|
||||
//================================
|
||||
// CopyFolder
|
||||
// Copies the contents of the base folder to the SODbase folder
|
||||
// This allows us to provide a smaller download
|
||||
// This is all very slow. The POSIX library might've been faster.
|
||||
//================================
|
||||
void CopyFolder()
|
||||
{
|
||||
|
||||
char sourcePath[1024];
|
||||
char destPath[1024];
|
||||
|
||||
char *appDir;
|
||||
appDir = getenv("CWD");
|
||||
|
||||
my_snprintf(sourcePath, sizeof(sourcePath), "%s/base/", appDir);
|
||||
// my_snprintf(destPath, sizeof(destPath), "%s/base/", iphoneDocDirectory);
|
||||
my_snprintf(destPath, sizeof(destPath), "%s/SODbase/", iphoneDocDirectory);
|
||||
|
||||
NSString *source = [[NSString alloc] initWithUTF8String:sourcePath];
|
||||
NSString *toPath = [[NSString alloc] initWithUTF8String:destPath];
|
||||
|
||||
NSLog(source);
|
||||
NSLog(toPath);
|
||||
|
||||
NSFileManager *fileManager = [NSFileManager defaultManager];
|
||||
NSError *error;
|
||||
|
||||
//attempt the copy
|
||||
if ([fileManager copyItemAtPath:source toPath:toPath error:&error])//;
|
||||
Com_Printf("copy base folder success!\n");
|
||||
else
|
||||
Com_Printf("copy base folder failed :(\n");
|
||||
|
||||
|
||||
//TODO: delete some of the copied files
|
||||
my_snprintf(destPath, sizeof(destPath), "%s/SODbase/sprites/012.5551", iphoneDocDirectory);
|
||||
remove(destPath);
|
||||
my_snprintf(destPath, sizeof(destPath), "%s/SODbase/sprites/017.5551", iphoneDocDirectory);
|
||||
remove(destPath);
|
||||
my_snprintf(destPath, sizeof(destPath), "%s/SODbase/sprites/024.5551", iphoneDocDirectory);
|
||||
remove(destPath);
|
||||
my_snprintf(destPath, sizeof(destPath), "%s/SODbase/sprites/042.5551", iphoneDocDirectory);
|
||||
remove(destPath);
|
||||
my_snprintf(destPath, sizeof(destPath), "%s/SODbase/sprites/046.5551", iphoneDocDirectory);
|
||||
remove(destPath);
|
||||
my_snprintf(destPath, sizeof(destPath), "%s/SODbase/sprites/047.5551", iphoneDocDirectory);
|
||||
remove(destPath);
|
||||
my_snprintf(destPath, sizeof(destPath), "%s/SODbase/sprites/048.5551", iphoneDocDirectory);
|
||||
remove(destPath);
|
||||
my_snprintf(destPath, sizeof(destPath), "%s/SODbase/sprites/050.5551", iphoneDocDirectory);
|
||||
remove(destPath);
|
||||
my_snprintf(destPath, sizeof(destPath), "%s/SODbase/sprites/051.5551", iphoneDocDirectory);
|
||||
remove(destPath);
|
||||
my_snprintf(destPath, sizeof(destPath), "%s/SODbase/sprites/052.5551", iphoneDocDirectory);
|
||||
remove(destPath);
|
||||
my_snprintf(destPath, sizeof(destPath), "%s/SODbase/sprites/053.5551", iphoneDocDirectory);
|
||||
remove(destPath);
|
||||
}*/
|
||||
|
||||
//================================
|
||||
// IsSpearPurchased
|
||||
@@ -337,6 +514,10 @@ void FinalizeDownload()
|
||||
NSString *documentsDirectory = [paths objectAtIndex:0];
|
||||
NSString *fileName = [documentsDirectory stringByAppendingString:@"/downloadedfile.tgz"];
|
||||
|
||||
|
||||
//TODO: after save check that the file is of the correct size... if it isn't then something was corrupted
|
||||
// and we should try again
|
||||
|
||||
//inflate the data and store in its appropriate directory
|
||||
DecompressData();
|
||||
|
||||
|
||||
@@ -1,14 +1,9 @@
|
||||
/*
|
||||
* iphone_downloadUserMap.c
|
||||
* wolf3d
|
||||
*
|
||||
* Created by Greg Hodges on 7/20/09.
|
||||
* Copyright 2009 id software. All rights reserved.
|
||||
*
|
||||
*/
|
||||
/*
|
||||
|
||||
Copyright (C) 2009 Id Software, Inc.
|
||||
Copyright (C) 2009-2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
@@ -26,7 +21,6 @@
|
||||
|
||||
*/
|
||||
|
||||
|
||||
#import "../wolfiphone.h"
|
||||
#import "wolf3dAppDelegate.h"
|
||||
#import "iphone_alerts.h"
|
||||
@@ -91,7 +85,7 @@ void DownloadURLConnection( char *url )
|
||||
if (dp != NULL)
|
||||
{
|
||||
struct dirent *ep;
|
||||
while (ep = readdir (dp))
|
||||
while ( ( ep = readdir (dp) ) )
|
||||
{
|
||||
//if you find a .DS_Store file... ignore it!
|
||||
if ( strcmp(ep->d_name, ".DS_Store") == 0 )
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2009 Id Software, Inc.
|
||||
Copyright (C) 2009-2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
@@ -138,10 +141,24 @@ int returnButtonFrameNum = 0;
|
||||
// console mode
|
||||
int consoleActive;
|
||||
|
||||
// The size of UI elements will be scaled by this value in order to support different
|
||||
// resolutions, such as Retina displays and the iPad.
|
||||
float screenScale = 1.0f;
|
||||
|
||||
// the native iPhone code should set the following each frame:
|
||||
int numTouches;
|
||||
int touches[5][2]; // [0] = x, [1] = y in landscape mode, raster order with y = 0 at top
|
||||
int isTouchMoving = 0; //gsh
|
||||
|
||||
// On Retina displays, touch coordinates are still reported at "low resolution". Since the game
|
||||
// compares touch coordinates directly to the on-screen positions of buttons, we will need to
|
||||
// scale the touches on Retina displays.
|
||||
int touchCoordinateScale = 1;
|
||||
|
||||
float deviceScale = 1.0f;
|
||||
|
||||
deviceOrientation_t deviceOrientation = ORIENTATION_LANDSCAPE_LEFT;
|
||||
|
||||
float tilt; // -1.0 to 1.0
|
||||
float tiltPitch;
|
||||
|
||||
@@ -158,6 +175,10 @@ texture_t *numberPics[10];
|
||||
//gsh
|
||||
texture_t *arialFontTexture;
|
||||
|
||||
// Profiling information
|
||||
CFAbsoluteTime soundTime = 0.0;
|
||||
CFAbsoluteTime menuTime = 0.0;
|
||||
|
||||
char *mugshotnames[ NUM_MUGSHOTS ] =
|
||||
{
|
||||
"iphone/FACE1APIC.tga",
|
||||
@@ -202,6 +223,20 @@ int attackDirTime[2];
|
||||
|
||||
logTime_t loggedTimes[MAX_LOGGED_TIMES]; // indexed by iphoneFrameNum
|
||||
|
||||
|
||||
// Some HUD element constants
|
||||
#define HUD_FACE_WIDTH 64.0f
|
||||
#define HUD_FACE_HEIGHT 80.0f
|
||||
|
||||
#define HUD_WEAPON_WIDTH 128.0f
|
||||
#define HUD_WEAPON_HEIGHT 128.0f
|
||||
|
||||
float faceWidth = HUD_FACE_WIDTH;
|
||||
float faceHeight = HUD_FACE_HEIGHT;
|
||||
|
||||
float weaponWidth = HUD_WEAPON_WIDTH;
|
||||
float weaponHeight = HUD_WEAPON_HEIGHT;
|
||||
|
||||
/*
|
||||
==================
|
||||
iphoneActivateConsole
|
||||
@@ -305,14 +340,14 @@ int iphoneCenterText( int x, int y, const char *str ) {
|
||||
pfglTexCoord2f( fcol, frow );
|
||||
pfglVertex2i( x, y );
|
||||
|
||||
pfglTexCoord2f( fcol+myfont->wFrac, frow );
|
||||
pfglVertex2i( x+scale, y );
|
||||
pfglTexCoord2f( fcol, frow+myfont->hFrac );
|
||||
pfglVertex2i( x, y+scale );
|
||||
|
||||
pfglTexCoord2f( fcol+myfont->wFrac, frow+myfont->hFrac );
|
||||
pfglVertex2i( x+scale, y+scale );
|
||||
|
||||
pfglTexCoord2f( fcol, frow+myfont->hFrac );
|
||||
pfglVertex2i( x, y+scale );
|
||||
pfglTexCoord2f( fcol+myfont->wFrac, frow );
|
||||
pfglVertex2i( x+scale, y );
|
||||
}
|
||||
|
||||
pfglEnd();
|
||||
@@ -338,6 +373,8 @@ void iphoneCenterTextWithColor(int x, int y, const char *str, colour4_t color )
|
||||
==================
|
||||
*/
|
||||
int iphoneDrawArialText( int x, int y, float scale, const char *str ) {
|
||||
scale *= screenScale;
|
||||
|
||||
/*
|
||||
int l = strlen( str );
|
||||
int i;
|
||||
@@ -392,17 +429,17 @@ int iphoneDrawArialText( int x, int y, float scale, const char *str ) {
|
||||
// pfglVertex2f( fx + xoff, fy + yoff );
|
||||
pfglVertex2i( x, y + yoff);
|
||||
|
||||
pfglTexCoord2f( x1, y0 );
|
||||
// pfglVertex2f( fx + xoff + width, fy + yoff );
|
||||
pfglVertex2i( x+width, y + yoff);
|
||||
|
||||
pfglTexCoord2f( x0, y1);
|
||||
// pfglVertex2f( fx + xoff, fy + yoff + height );
|
||||
pfglVertex2i( x, y+height + yoff);
|
||||
|
||||
pfglTexCoord2f( x1, y1);
|
||||
// pfglVertex2f( fx + xoff + width, fy + yoff + height );
|
||||
pfglVertex2i( x+width, y+height + yoff );
|
||||
|
||||
pfglTexCoord2f( x0, y1);
|
||||
// pfglVertex2f( fx + xoff, fy + yoff + height );
|
||||
pfglVertex2i( x, y+height + yoff);
|
||||
pfglTexCoord2f( x1, y0 );
|
||||
// pfglVertex2f( fx + xoff + width, fy + yoff );
|
||||
pfglVertex2i( x+width, y + yoff);
|
||||
|
||||
// with our default texture, the difference is negligable
|
||||
// fx += glyph->xadvance * scale;
|
||||
@@ -439,7 +476,11 @@ int iphoneCenterArialText( int x, int y, float scale, const char *str )
|
||||
++str;
|
||||
}
|
||||
|
||||
return iphoneDrawArialText( x - width/2, y, scale, strcopy );
|
||||
float scaledX = x - width / 2;
|
||||
float scaledY = y;
|
||||
ScalePosition( &scaledX, &scaledY );
|
||||
|
||||
return iphoneDrawArialText( scaledX, scaledY, scale, strcopy );
|
||||
}
|
||||
/*
|
||||
==================
|
||||
@@ -450,6 +491,7 @@ int iphoneCenterArialText( int x, int y, float scale, const char *str )
|
||||
==================
|
||||
*/
|
||||
int iphoneDrawArialTextInBox( rect_t paragraph, int lineLength, const char *str, rect_t boxRect ) {
|
||||
|
||||
int l = strlen( str );
|
||||
int i;
|
||||
|
||||
@@ -552,14 +594,14 @@ int iphoneDrawArialTextInBox( rect_t paragraph, int lineLength, const char *str,
|
||||
pfglTexCoord2f( x0, y0 );
|
||||
pfglVertex2i( x, y + yoff);
|
||||
|
||||
pfglTexCoord2f( x1, y0 );
|
||||
pfglVertex2i( x+width, y + yoff);
|
||||
pfglTexCoord2f( x0, y1);
|
||||
pfglVertex2i( x, y+height + yoff);
|
||||
|
||||
pfglTexCoord2f( x1, y1);
|
||||
pfglVertex2i( x+width, y+height + yoff );
|
||||
|
||||
pfglTexCoord2f( x0, y1);
|
||||
pfglVertex2i( x, y+height + yoff);
|
||||
pfglTexCoord2f( x1, y0 );
|
||||
pfglVertex2i( x+width, y + yoff);
|
||||
|
||||
x += glyph->xadvance * scale + 1;
|
||||
|
||||
@@ -608,14 +650,15 @@ int iphoneDrawText( int x, int y, int width, int height, const char *str ) {
|
||||
pfglTexCoord2f( fcol, frow );
|
||||
pfglVertex2i( x, y );
|
||||
|
||||
pfglTexCoord2f( fcol+myfont->wFrac, frow );
|
||||
pfglVertex2i( x+width, y );
|
||||
pfglTexCoord2f( fcol, frow+myfont->hFrac );
|
||||
pfglVertex2i( x, y+height );
|
||||
|
||||
pfglTexCoord2f( fcol+myfont->wFrac, frow+myfont->hFrac );
|
||||
pfglVertex2i( x+width, y+height );
|
||||
|
||||
pfglTexCoord2f( fcol, frow+myfont->hFrac );
|
||||
pfglVertex2i( x, y+height );
|
||||
pfglTexCoord2f( fcol+myfont->wFrac, frow );
|
||||
pfglVertex2i( x+width, y );
|
||||
|
||||
}
|
||||
|
||||
pfglEnd();
|
||||
@@ -644,8 +687,11 @@ void iphoneDrawTextWithColor( rect_t rect, const char *str, float colors[4] ) {
|
||||
*/
|
||||
void iphoneDrawMapName( rect_t rect, const char *str ) {
|
||||
|
||||
|
||||
rect.y += 25;
|
||||
rect.x += 110;//80;
|
||||
|
||||
rectFloat_t rectFloat = MakeScaledRectFloat( rect.x, rect.y, rect.width, rect.height );
|
||||
/*
|
||||
float colors[4] = { 0, 0, 0, 1 };
|
||||
iphoneDrawTextWithColor(RectMake(rect.x+1, rect.y+1, rect.width, rect.height), str, colors);
|
||||
@@ -657,11 +703,11 @@ void iphoneDrawMapName( rect_t rect, const char *str ) {
|
||||
*/
|
||||
|
||||
pfglColor4f(0, 0, 0, 1);
|
||||
iphoneDrawArialText(rect.x + 1, rect.y + 1, 0.9f, str);
|
||||
iphoneDrawArialText(rect.x + 2, rect.y + 2, 0.9f, str);
|
||||
iphoneDrawArialText(rectFloat.x + 1, rectFloat.y + 1, 0.9f, str);
|
||||
iphoneDrawArialText(rectFloat.x + 2, rectFloat.y + 2, 0.9f, str);
|
||||
pfglColor4f(225.0f/255, 166.0f/255, 0, 1);
|
||||
pfglColor4f(225.0f/255, 242.0f/255, 0, 1);
|
||||
iphoneDrawArialText(rect.x, rect.y, 0.9f, str);
|
||||
iphoneDrawArialText(rectFloat.x, rectFloat.y, 0.9f, str);
|
||||
pfglColor4f(1, 1, 1, 1);
|
||||
}
|
||||
|
||||
@@ -737,14 +783,14 @@ int iphoneDrawTextInBox( rect_t paragraph, int lineLength, const char *str, rect
|
||||
pfglTexCoord2f( fcol, frow );
|
||||
pfglVertex2i( x, y );
|
||||
|
||||
pfglTexCoord2f( fcol+myfont->wFrac, frow );
|
||||
pfglVertex2i( x+width, y );
|
||||
pfglTexCoord2f( fcol, frow+myfont->hFrac );
|
||||
pfglVertex2i( x, y+height );
|
||||
|
||||
pfglTexCoord2f( fcol+myfont->wFrac, frow+myfont->hFrac );
|
||||
pfglVertex2i( x+width, y+height );
|
||||
|
||||
pfglTexCoord2f( fcol, frow+myfont->hFrac );
|
||||
pfglVertex2i( x, y+height );
|
||||
pfglTexCoord2f( fcol+myfont->wFrac, frow );
|
||||
pfglVertex2i( x+width, y );
|
||||
}
|
||||
|
||||
pfglEnd();
|
||||
@@ -752,7 +798,136 @@ int iphoneDrawTextInBox( rect_t paragraph, int lineLength, const char *str, rect
|
||||
return l * step;
|
||||
}
|
||||
|
||||
/*
|
||||
==================
|
||||
ScaleToScreen
|
||||
|
||||
Scales a value for the current resolution.
|
||||
==================
|
||||
*/
|
||||
void ScaleToScreen( int * value ) {
|
||||
if ( value ) {
|
||||
*value *= screenScale;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
==================
|
||||
ScalePosition
|
||||
|
||||
Scales an x, y position for the current resolution.
|
||||
==================
|
||||
*/
|
||||
void ScalePosition( float * x, float * y ) {
|
||||
if ( x ) {
|
||||
*x *= screenScale;
|
||||
*x += ( viddef.width - ( REFERENCE_WIDTH * screenScale ) ) / 2.0f;
|
||||
}
|
||||
|
||||
if ( y ) {
|
||||
*y *= screenScale;
|
||||
*y += ( viddef.height - ( REFERENCE_HEIGHT * screenScale ) ) / 2.0f;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
==================
|
||||
ScalePositionInt
|
||||
|
||||
Scales an x, y position for the current resolution.
|
||||
==================
|
||||
*/
|
||||
void ScalePositionInt( int * x, int * y ) {
|
||||
if ( x ) {
|
||||
*x *= screenScale;
|
||||
*x += ( viddef.width - ( REFERENCE_WIDTH * screenScale ) ) / 2.0f;
|
||||
}
|
||||
|
||||
if ( y ) {
|
||||
*y *= screenScale;
|
||||
*y += ( viddef.height - ( REFERENCE_HEIGHT * screenScale ) ) / 2.0f;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
==================
|
||||
ScalePositionAndSize
|
||||
|
||||
Scales an x, y, width, and height set for the current resolution.
|
||||
==================
|
||||
*/
|
||||
void ScalePositionAndSize( float * x, float * y, float * w, float * h ) {
|
||||
ScalePosition( x, y );
|
||||
|
||||
if ( w ) {
|
||||
*w *= screenScale;
|
||||
}
|
||||
|
||||
if ( h ) {
|
||||
*h *= screenScale;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
==================
|
||||
ScalePositionAndSizeInt
|
||||
|
||||
Scales an x, y, width, and height set for the current resolution.
|
||||
==================
|
||||
*/
|
||||
void ScalePositionAndSizeInt( int * x, int * y, int * w, int * h ) {
|
||||
ScalePositionInt( x, y );
|
||||
|
||||
if ( w ) {
|
||||
*w *= screenScale;
|
||||
}
|
||||
|
||||
if ( h ) {
|
||||
*h *= screenScale;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
==================
|
||||
ScaleRect
|
||||
|
||||
Scales a rect for the current resolution.
|
||||
==================
|
||||
*/
|
||||
void ScaleRect( rect_t * rect ) {
|
||||
if ( rect ) {
|
||||
ScalePositionInt( &(rect->x), &(rect->y) );
|
||||
rect->width *= screenScale;
|
||||
rect->height *= screenScale;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
==================
|
||||
ScaleRectFloat
|
||||
|
||||
Scales a rect for the current resolution.
|
||||
==================
|
||||
*/
|
||||
void ScaleRectFloat( rectFloat_t * rect ) {
|
||||
if ( rect ) {
|
||||
ScalePositionAndSize( &rect->x, &rect->y, &rect->width, &rect->height );
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
==================
|
||||
MakeScaledRectFloat
|
||||
|
||||
Produces a scaled rect for the current resolution.
|
||||
==================
|
||||
*/
|
||||
rectFloat_t MakeScaledRectFloat( float x, float y, float width, float height ) {
|
||||
rectFloat_t rect = { x, y, width, height };
|
||||
ScaleRectFloat( &rect );
|
||||
return rect;
|
||||
}
|
||||
|
||||
/*
|
||||
==================
|
||||
@@ -762,6 +937,8 @@ int iphoneDrawTextInBox( rect_t paragraph, int lineLength, const char *str, rect
|
||||
==================
|
||||
*/
|
||||
int TouchDown( int x, int y, int w, int h ) {
|
||||
//ScalePositionAndSize( &x, &y, &w, &h );
|
||||
|
||||
int i;
|
||||
for ( i = 0 ; i < numTouches ; i++ ) {
|
||||
if ( touches[i][0] >= x && touches[i][1] >= y
|
||||
@@ -781,6 +958,8 @@ int TouchDown( int x, int y, int w, int h ) {
|
||||
==================
|
||||
*/
|
||||
int TouchReleased( int x, int y, int w, int h ) {
|
||||
//ScalePositionAndSize( &x, &y, &w, &h );
|
||||
|
||||
int i;
|
||||
int downPrev = 0;
|
||||
int downNow = 0;
|
||||
@@ -828,21 +1007,6 @@ int TouchReleased( int x, int y, int w, int h ) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/*
|
||||
==================
|
||||
iphoneRotateForLandscape
|
||||
|
||||
==================
|
||||
*/
|
||||
void iphoneRotateForLandscape() {
|
||||
if ( revLand->value ) {
|
||||
// reverse landscape mode
|
||||
pfglRotatef( -90, 0, 0, 1 );
|
||||
} else {
|
||||
pfglRotatef( 90, 0, 0, 1 );
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
==================
|
||||
iphoneSet2D
|
||||
@@ -850,20 +1014,23 @@ void iphoneRotateForLandscape() {
|
||||
==================
|
||||
*/
|
||||
void iphoneSet2D( void ) {
|
||||
pfglViewport( 0,0, 480, 320 );
|
||||
pfglMatrixMode( GL_MODELVIEW );
|
||||
pfglLoadIdentity();
|
||||
pfglDisable( GL_DEPTH_TEST );
|
||||
pfglDisable( GL_CULL_FACE );
|
||||
pfglEnable( GL_BLEND );
|
||||
pfglBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA );
|
||||
pfglDisable( GL_ALPHA_TEST );
|
||||
|
||||
static bool doBlending = true;
|
||||
if ( doBlending ) {
|
||||
pfglEnable( GL_BLEND );
|
||||
} else {
|
||||
pfglDisable( GL_BLEND );
|
||||
}
|
||||
|
||||
pfglColor4f( 1,1,1,1 );
|
||||
|
||||
pfglMatrixMode( GL_PROJECTION );
|
||||
pfglLoadIdentity();
|
||||
iphoneRotateForLandscape();
|
||||
pfglOrtho( 0, 480, 320, 0, -99999, 99999 );
|
||||
pfglOrtho( 0, viddef.width, viddef.height, 0, -99999, 99999 );
|
||||
}
|
||||
|
||||
|
||||
@@ -902,6 +1069,9 @@ float AxisHit( hudPic_t *hud ) {
|
||||
int y = hud->y;
|
||||
int width = hud->width;
|
||||
int height = hud->width;
|
||||
|
||||
//ScalePositionAndSize( &x, &y, &width, &height );
|
||||
|
||||
float activeFraction = 0.8f;
|
||||
int i;
|
||||
int isXaxis = ( hud != &huds.forwardStick );
|
||||
@@ -955,33 +1125,6 @@ float AxisHit( hudPic_t *hud ) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
void iphoneTouchEvent( int _numTouches, int _touches[16] ) {
|
||||
numTouches = _numTouches;
|
||||
for ( int i = 0 ; i < numTouches ; i++ ) {
|
||||
if ( revLand->value ) {
|
||||
touches[i][0] = _touches[i*2+1];
|
||||
touches[i][1] = 319 - _touches[i*2+0];
|
||||
} else {
|
||||
touches[i][0] = 479 - _touches[i*2+1];
|
||||
touches[i][1] = _touches[i*2+0];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void iphoneCheckForLandscapeReverse() {
|
||||
static int reverseCount;
|
||||
|
||||
// if we stay significantly negative for half a second, flip orientation
|
||||
if ( tiltPitch < -0.35 ) {
|
||||
if ( ++reverseCount > 10 ) {
|
||||
Cvar_SetValue( revLand->name, !revLand->value );
|
||||
SysIPhoneSetUIKitOrientation( revLand->value );
|
||||
}
|
||||
} else {
|
||||
reverseCount = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void iphoneTiltEvent( float *tilts ) {
|
||||
int i;
|
||||
int j;
|
||||
@@ -989,7 +1132,7 @@ void iphoneTiltEvent( float *tilts ) {
|
||||
float sum[3];
|
||||
static float prevTime;
|
||||
|
||||
if ( revLand->value ) {
|
||||
if ( deviceOrientation == ORIENTATION_LANDSCAPE_RIGHT ) {
|
||||
tilts[1] = -tilts[1];
|
||||
tilts[0] = -tilts[0];
|
||||
}
|
||||
@@ -1087,7 +1230,7 @@ PRIVATE void CreateIphoneUserCmd()
|
||||
float stickTurnValue;
|
||||
float stickMoveValue;
|
||||
|
||||
stickTurnValue = stickTurnBase->value + stickTurnScale->value * sensitivity->value;
|
||||
stickTurnValue = ( stickTurnBase->value + stickTurnScale->value * sensitivity->value );
|
||||
stickMoveValue = stickMoveBase->value + stickMoveScale->value * sensitivity->value;
|
||||
|
||||
usercmd_t *cmd = &Player.cmd;
|
||||
@@ -1122,18 +1265,38 @@ PRIVATE void CreateIphoneUserCmd()
|
||||
}
|
||||
#endif
|
||||
|
||||
int weaponSwitchWidth = weaponWidth * 0.625f;
|
||||
|
||||
// tapping the weapon issues the nextWeapon impulse
|
||||
if ( TouchReleased( 240 - 40, 320 - 80 - 64, 80, 64 ) ) {
|
||||
if ( TouchReleased( (viddef.width / 2) - ( weaponSwitchWidth / 2 ),
|
||||
viddef.height - faceHeight - ( weaponHeight / 2 ),
|
||||
weaponSwitchWidth,
|
||||
weaponHeight / 2 ) ) {
|
||||
cmd->buttons |= BUTTON_CHANGE_WEAPON;
|
||||
}
|
||||
|
||||
cmd->forwardmove = -stickMoveValue * AxisHit( &huds.forwardStick );
|
||||
cmd->sidemove = stickMoveValue * AxisHit( &huds.sideStick );
|
||||
Player.position.angle += -stickTurnValue * AxisHit( &huds.turnStick );
|
||||
float forwardAxisHit = AxisHit( &huds.forwardStick );
|
||||
float sideAxisHit = AxisHit( &huds.sideStick );
|
||||
float turnAxisHit = AxisHit( &huds.turnStick );
|
||||
|
||||
static bool printSticks = false;
|
||||
|
||||
if ( printSticks ) {
|
||||
printf( "Forward: %.4f \nSide: %.4f\nTurn: %.4f\n", forwardAxisHit, sideAxisHit, turnAxisHit );
|
||||
}
|
||||
|
||||
cmd->forwardmove = -stickMoveValue * forwardAxisHit;
|
||||
cmd->sidemove = stickMoveValue * sideAxisHit;
|
||||
Player.position.angle += -stickTurnValue * turnAxisHit * tics;
|
||||
|
||||
// accelerometer tilting
|
||||
cmd->sidemove += tiltMove->value * DeadBandAdjust( tilt, tiltDeadBand->value );
|
||||
Player.position.angle -= tiltTurn->value * DeadBandAdjust( tilt, tiltDeadBand->value );
|
||||
|
||||
|
||||
// Multiply by 0.5 and tics because the original calculation was for 30Hz.
|
||||
// The multiplication allows this calculation to scale with different framerates while
|
||||
// maintaining the same behavior at 30Hz.
|
||||
Player.position.angle -= tiltTurn->value * DeadBandAdjust( tilt, tiltDeadBand->value ) * 0.5f * tics;
|
||||
|
||||
// always use
|
||||
if ( iphoneFrameNum & 1 ) {
|
||||
@@ -1171,12 +1334,15 @@ void iphoneHighlightPicNumWhenTouched( int x, int y, int w, int h, int glTexNum
|
||||
void iphoneDrawWeapon( void ) {
|
||||
char name[ 32 ];
|
||||
texture_t *tex;
|
||||
static int w = 128;
|
||||
static int h = 128;
|
||||
int x = (viddef.width - w ) >> 1;
|
||||
int y = viddef.height - 80 - h;
|
||||
float w = 128 * screenScale;
|
||||
float h = 128 * screenScale;
|
||||
float x = (viddef.width - w ) / 2.0f;
|
||||
float y = viddef.height - ( HUD_FACE_HEIGHT * screenScale ) - h;
|
||||
int frame;
|
||||
|
||||
weaponWidth = w;
|
||||
weaponHeight = h;
|
||||
|
||||
if ( gunFrame->value ) {
|
||||
// screenshots look better with the muzzle flash
|
||||
frame = Player.weapon * 4 + gunFrame->value + SPR_KNIFEREADY;
|
||||
@@ -1189,12 +1355,12 @@ void iphoneDrawWeapon( void ) {
|
||||
|
||||
R_Bind( tex->texnum );
|
||||
|
||||
pfglBegin( GL_QUADS );
|
||||
pfglBegin( GL_TRIANGLE_STRIP );
|
||||
|
||||
pfglTexCoord2f( 0.01f, 0.01f ); pfglVertex2i( x, y );
|
||||
pfglTexCoord2f( 0.99f, 0.01f ); pfglVertex2i( x + w, y );
|
||||
pfglTexCoord2f( 0.99f, 0.99f ); pfglVertex2i( x + w, y + h );
|
||||
pfglTexCoord2f( 0.01f, 0.99f ); pfglVertex2i( x, y + h );
|
||||
pfglTexCoord2f( 0.01f, 0.01f ); pfglVertex2f( x, y );
|
||||
pfglTexCoord2f( 0.01f, 0.99f ); pfglVertex2f( x, y + h );
|
||||
pfglTexCoord2f( 0.99f, 0.01f ); pfglVertex2f( x + w, y );
|
||||
pfglTexCoord2f( 0.99f, 0.99f ); pfglVertex2f( x + w, y + h );
|
||||
|
||||
pfglEnd();
|
||||
}
|
||||
@@ -1207,6 +1373,8 @@ void iphoneDrawWeapon( void ) {
|
||||
==================
|
||||
*/
|
||||
void iphoneDrawNumber( int x, int y, int number, int charWidth, int charHeight ) {
|
||||
//ScalePositionAndSize( &x, &y, &charWidth, &charHeight );
|
||||
|
||||
texture_t *tex;
|
||||
int i;
|
||||
char string[ 20 ];
|
||||
@@ -1226,12 +1394,12 @@ void iphoneDrawNumber( int x, int y, int number, int charWidth, int charHeight )
|
||||
tex = numberPics[digit];
|
||||
|
||||
R_Bind( tex->texnum );
|
||||
pfglBegin( GL_QUADS );
|
||||
pfglBegin( GL_TRIANGLE_STRIP );
|
||||
|
||||
pfglTexCoord2f( 0, 0 ); pfglVertex2i( x, y );
|
||||
pfglTexCoord2f( 0, 1 ); pfglVertex2i( x, y+charHeight );
|
||||
pfglTexCoord2f( 1, 0 ); pfglVertex2i( x+charWidth, y );
|
||||
pfglTexCoord2f( 1, 1 ); pfglVertex2i( x+charWidth, y+charHeight );
|
||||
pfglTexCoord2f( 0, 1 ); pfglVertex2i( x, y+charHeight );
|
||||
|
||||
pfglEnd();
|
||||
x += charStep;
|
||||
@@ -1247,22 +1415,31 @@ void iphoneDrawNumber( int x, int y, int number, int charWidth, int charHeight )
|
||||
*/
|
||||
void iphoneDrawFace() {
|
||||
int i;
|
||||
int w = 64;
|
||||
int h = 80;
|
||||
int x = (viddef.width - w ) >> 1;
|
||||
int y = viddef.height - h;
|
||||
float w = HUD_FACE_WIDTH * screenScale;
|
||||
float h = HUD_FACE_HEIGHT * screenScale;
|
||||
const char *pic;
|
||||
const int halfScreenWidth = viddef.width / 2.0f;
|
||||
|
||||
faceWidth = 128.0f * screenScale;
|
||||
float halfFaceWidth = faceWidth / 2.0f;
|
||||
faceHeight = 80.0f * screenScale;
|
||||
|
||||
float keyY = 72.0f * screenScale;
|
||||
float keyWidth = 32.0f * screenScale;
|
||||
float keyHeight = 64.0f * screenScale;
|
||||
|
||||
float damageWidth = 40.0f * screenScale;
|
||||
|
||||
// solid background
|
||||
iphoneDrawPic( 240 - 64, 320 - 80, 128, 80, "iphone/status_hud.tga" );
|
||||
iphoneDrawPicFloat( halfScreenWidth - halfFaceWidth, viddef.height - faceHeight, faceWidth, faceHeight, "iphone/status_hud.tga" );
|
||||
|
||||
// keys on the side
|
||||
if( Player.items & ITEM_KEY_1 ) {
|
||||
iphoneDrawPic( 240-64, 320-72, 32, 64, "iphone/gold_key.tga" );
|
||||
iphoneDrawPicFloat( halfScreenWidth - halfFaceWidth, viddef.height - keyY, keyWidth, keyHeight, "iphone/gold_key.tga" );
|
||||
}
|
||||
|
||||
if( Player.items & ITEM_KEY_2 ) {
|
||||
iphoneDrawPic( 240+32, 320-72, 32, 64, "iphone/silver_key.tga" );
|
||||
iphoneDrawPicFloat( halfScreenWidth + halfFaceWidth - keyWidth, viddef.height - keyY, keyWidth, keyHeight, "iphone/silver_key.tga" );
|
||||
}
|
||||
|
||||
|
||||
@@ -1312,7 +1489,7 @@ void iphoneDrawFace() {
|
||||
pic = mugshotnames[ 21 ];
|
||||
}
|
||||
|
||||
iphoneDrawPic( x, y, w, h, pic );
|
||||
iphoneDrawPicFloat( halfScreenWidth - w / 2.0f, (float)(viddef.height) - faceHeight, w, h, pic );
|
||||
|
||||
// blend the right / left damage indicators on the side
|
||||
for ( i = 0 ; i < 2 ; i++ ) {
|
||||
@@ -1332,15 +1509,22 @@ void iphoneDrawFace() {
|
||||
}
|
||||
pfglColor4f( 1, 1, 1, f );
|
||||
if ( i == 0 ) {
|
||||
iphoneDrawPic( 240 - 64, 320 - 80, 40, 80, "iphone/L_damage.tga" );
|
||||
iphoneDrawPicFloat( halfScreenWidth - halfFaceWidth,
|
||||
(float)(viddef.height) - faceHeight,
|
||||
damageWidth, faceHeight, "iphone/L_damage.tga" );
|
||||
} else {
|
||||
iphoneDrawPic( 240 + 64 - 40, 320 - 80, 40, 80, "iphone/R_damage.tga" );
|
||||
iphoneDrawPicFloat( halfScreenWidth + halfFaceWidth - damageWidth,
|
||||
(float)viddef.height - faceHeight,
|
||||
damageWidth, faceHeight, "iphone/R_damage.tga" );
|
||||
}
|
||||
pfglColor4f( 1, 1, 1, 1 );
|
||||
}
|
||||
|
||||
float healthWidth = 16 * screenScale;
|
||||
float healthHeight = 16 * screenScale;
|
||||
|
||||
// draw the tiny health numbers on top of the face
|
||||
iphoneDrawNumber( 240, 304, Player.health, 16, 16 );
|
||||
iphoneDrawNumber( halfScreenWidth, viddef.height - healthHeight, Player.health, healthWidth, healthHeight );
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1422,7 +1606,8 @@ void iphoneDrawReturnButton() {
|
||||
f = 0.5f;
|
||||
|
||||
pfglColor4f( 1, 1, 1, f );
|
||||
if (iphoneDrawPicWithTouch( 240-32, 32, 64, 48, "iphone/button_back.tga")) {//int x, int y, int w, int h, const char *pic )) {
|
||||
if (iphoneDrawPicRectWithTouch( MakeScaledRectFloat( 240.0f-32.0f, 32.0f, BACK_BUTTON_WIDTH, BACK_BUTTON_HEIGHT ),
|
||||
"iphone/button_back.tga")) {//int x, int y, int w, int h, const char *pic )) {
|
||||
menuState = IPM_MAPS;
|
||||
returnButtonFrameNum = 0;
|
||||
|
||||
@@ -1445,6 +1630,8 @@ void iphoneDrawReturnButton() {
|
||||
episode->value = 9;
|
||||
}
|
||||
}
|
||||
|
||||
iphoneStartPreviousMenu();
|
||||
}
|
||||
pfglColor4f( 1, 1, 1, 1 );
|
||||
|
||||
@@ -1552,6 +1739,10 @@ iphoneFrame
|
||||
==================
|
||||
*/
|
||||
void iphoneFrame() {
|
||||
// clear depth buffer
|
||||
qglDepthMask( GL_TRUE );
|
||||
pfglClear( GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT );
|
||||
|
||||
unsigned char blendColor[4] = { 0, 0, 0, 0 };
|
||||
|
||||
iphoneFrameNum++;
|
||||
@@ -1566,14 +1757,16 @@ void iphoneFrame() {
|
||||
|
||||
// toggle / scroll down the console
|
||||
Client_Screen_RunConsole();
|
||||
|
||||
// check for flipping the phone orientation
|
||||
iphoneCheckForLandscapeReverse();
|
||||
|
||||
// fixed frame timing, assume we go 30hz
|
||||
tics = 2; // wolf's global rate counter
|
||||
// fixed frame timing, assume we go 60Hz
|
||||
tics = DEFAULT_FRAME_INTERVAL; // wolf's global rate counter
|
||||
|
||||
CFAbsoluteTime soundStartTime = CFAbsoluteTimeGetCurrent();
|
||||
Sound_Update( vnull, vnull, vnull, vnull );
|
||||
CFAbsoluteTime soundEndTime = CFAbsoluteTimeGetCurrent();
|
||||
soundTime = soundEndTime - soundStartTime;
|
||||
|
||||
//printf( "Sound_Update took %0.8f seconds.\n", soundTime );
|
||||
|
||||
if ( consoleActive ) {
|
||||
iphoneSet2D();
|
||||
@@ -1581,16 +1774,20 @@ void iphoneFrame() {
|
||||
Client_Screen_DrawConsole();
|
||||
|
||||
iphoneSavePrevTouches();
|
||||
SysIPhoneSwapBuffers();
|
||||
//SysIPhoneSwapBuffers();
|
||||
return;
|
||||
}
|
||||
if ( menuState != IPM_GAME ) {
|
||||
iphoneSet2D();
|
||||
|
||||
iphoneDrawMenus();
|
||||
CFAbsoluteTime menuStartTime = CFAbsoluteTimeGetCurrent();
|
||||
iphoneDrawMenus( vnull, vnull, vnull, vnull );
|
||||
CFAbsoluteTime menuEndTime = CFAbsoluteTimeGetCurrent();
|
||||
menuTime = menuEndTime - menuStartTime;
|
||||
|
||||
//printf( "iphoneDrawMenus took %0.8f seconds.\n", menuTime );
|
||||
|
||||
iphoneSavePrevTouches();
|
||||
SysIPhoneSwapBuffers();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1620,10 +1817,6 @@ void iphoneFrame() {
|
||||
|
||||
levelstate.time += tics;
|
||||
}
|
||||
|
||||
// clear depth buffer
|
||||
qglDepthMask( GL_TRUE );
|
||||
pfglClear( GL_DEPTH_BUFFER_BIT );
|
||||
|
||||
// fill the floor and ceiling
|
||||
pfglDisable( GL_BLEND );
|
||||
@@ -1633,7 +1826,7 @@ void iphoneFrame() {
|
||||
pfglMatrixMode( GL_PROJECTION );
|
||||
pfglLoadIdentity();
|
||||
iphoneRotateForLandscape();
|
||||
pfglOrtho( 0, 480, 320, 0, -99999, 99999 );
|
||||
pfglOrtho( 0, viddef.width, viddef.height, 0, -99999, 99999 );
|
||||
R_Draw_Fill( 0, 0, viddef.width, viddef.height >> 1, r_world->ceilingColour );
|
||||
R_Draw_Fill( 0, viddef.height >> 1, viddef.width, viddef.height, r_world->floorColour );
|
||||
|
||||
@@ -1644,7 +1837,6 @@ void iphoneFrame() {
|
||||
cur_x_fov = 75;
|
||||
cur_y_fov = CalcFov( cur_x_fov, (float)viddef.width, (float)viddef.height );
|
||||
|
||||
pfglMatrixMode( GL_PROJECTION );
|
||||
pfglLoadIdentity();
|
||||
iphoneRotateForLandscape();
|
||||
MYgluPerspective( cur_y_fov - 2.0f, ratio, 0.2f, 64.0f ); // tweak fov in to avoid edge tile clips
|
||||
@@ -1653,13 +1845,8 @@ void iphoneFrame() {
|
||||
|
||||
pfglRotatef( (float)(90 - FINE2DEG( Player.position.angle )), 0, 1, 0 );
|
||||
pfglTranslatef( -Player.position.origin[ 0 ] / FLOATTILE, 0, Player.position.origin[ 1 ] / FLOATTILE );
|
||||
|
||||
pfglCullFace( GL_BACK );
|
||||
|
||||
pfglEnable( GL_DEPTH_TEST );
|
||||
pfglEnable( GL_CULL_FACE );
|
||||
pfglDisable( GL_BLEND );
|
||||
pfglDisable( GL_ALPHA_TEST );
|
||||
|
||||
// find and draw all the walls
|
||||
R_RayCast( Player.position, r_world );
|
||||
@@ -1668,7 +1855,7 @@ void iphoneFrame() {
|
||||
R_DrawSprites();
|
||||
|
||||
// draw 2D overlays
|
||||
iphoneSet2D();
|
||||
iphoneSet2D();
|
||||
|
||||
// do a full screen blend for damage, death, and bonus pickup
|
||||
if( Player.playstate == ex_dead ) {
|
||||
@@ -1733,6 +1920,7 @@ void iphoneFrame() {
|
||||
|
||||
if ( iphoneDrawHudButton( &huds.menu ) ) {
|
||||
menuState = IPM_MAIN;
|
||||
iphoneStartMainMenu();
|
||||
}
|
||||
if ( iphoneDrawHudButton( &huds.map ) ) {
|
||||
iphoneOpenAutomap();
|
||||
@@ -1745,7 +1933,7 @@ void iphoneFrame() {
|
||||
|
||||
iphoneSavePrevTouches();
|
||||
|
||||
SysIPhoneSwapBuffers(); // do the swapbuffers
|
||||
//SysIPhoneSwapBuffers(); // do the swapbuffers
|
||||
|
||||
}
|
||||
|
||||
@@ -1759,7 +1947,7 @@ void iphoneDrawLoading()
|
||||
//draw stuff here
|
||||
iphoneDrawText(100, 100, 16, 16, "Drawing Loading!");//, <#int y#>, <#int width#>, <#int height#>, <#const char * str#>)
|
||||
|
||||
SysIPhoneSwapBuffers(); // do the swapbuffers
|
||||
//SysIPhoneSwapBuffers(); // do the swapbuffers
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,8 +1,13 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2009-2011 id Software LLC, a ZeniMax Media company.
|
||||
Copyright (C) 2004-2005 Michael Liebscher <johnnycanuck@users.sourceforge.net>
|
||||
Copyright (C) 1997-2001 Id Software, Inc.
|
||||
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
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
|
||||
@@ -28,6 +33,7 @@
|
||||
*/
|
||||
|
||||
#include "../wolfiphone.h"
|
||||
#include "iphone_store.h"
|
||||
|
||||
cvar_t *controlScheme;
|
||||
cvar_t *sensitivity;
|
||||
@@ -55,7 +61,6 @@ cvar_t *cropSprites;
|
||||
cvar_t *blends;
|
||||
cvar_t *gunFrame;
|
||||
cvar_t *slowAI;
|
||||
cvar_t *revLand;
|
||||
cvar_t *mapScale;
|
||||
cvar_t *hideControls;
|
||||
cvar_t *autoFire;
|
||||
@@ -111,20 +116,27 @@ void Reset_f() {
|
||||
void iphoneStartup() {
|
||||
char *s;
|
||||
int start = Sys_Milliseconds();
|
||||
static bool firstInit = true;
|
||||
|
||||
if ( !firstInit ) {
|
||||
return;
|
||||
}
|
||||
|
||||
firstInit = false;
|
||||
|
||||
#ifdef STOREKIT
|
||||
//check for storekit framework and set appropriate flags... gsh
|
||||
CheckForStorekitExistence();
|
||||
#endif
|
||||
|
||||
InAppPurchaseInit();
|
||||
|
||||
// temporary
|
||||
const char *systemVersion = SysIPhoneGetOSVersion();
|
||||
printf( "systemVersion = %s\n", systemVersion );
|
||||
|
||||
z_chain.next = z_chain.prev = &z_chain;
|
||||
|
||||
InitImmediateModeGL();
|
||||
|
||||
// Prepare enough of the subsystems to handle
|
||||
// cvar and command buffer management.
|
||||
COM_InitArgv( 0, NULL ); // FIXME: get args...
|
||||
@@ -170,11 +182,11 @@ void iphoneStartup() {
|
||||
consoleActive = 0;
|
||||
|
||||
controlScheme = Cvar_Get( "controlScheme", "0", CVAR_ARCHIVE );
|
||||
sensitivity = Cvar_Get( "sensitivity", "0.3", CVAR_ARCHIVE );
|
||||
stickTurnBase = Cvar_Get( "stickTurnBase", "300", CVAR_ARCHIVE );
|
||||
stickTurnScale = Cvar_Get( "stickTurnScale", "500", CVAR_ARCHIVE );
|
||||
stickMoveBase = Cvar_Get( "stickMoveBase", "3000", CVAR_ARCHIVE );
|
||||
stickMoveScale = Cvar_Get( "stickMoveScale", "5000", CVAR_ARCHIVE );
|
||||
sensitivity = Cvar_Get( "sensitivity", "0.5", CVAR_ARCHIVE );
|
||||
stickTurnBase = Cvar_Get( "stickTurnBase", "200", CVAR_ARCHIVE );
|
||||
stickTurnScale = Cvar_Get( "stickTurnScale", "400", CVAR_ARCHIVE );
|
||||
stickMoveBase = Cvar_Get( "stickMoveBase", "2000", CVAR_ARCHIVE );
|
||||
stickMoveScale = Cvar_Get( "stickMoveScale", "4000", CVAR_ARCHIVE );
|
||||
stickDeadBand = Cvar_Get( "stickDeadBand", "0.2", CVAR_ARCHIVE );
|
||||
tiltTurn = Cvar_Get( "tiltTurn", "0", CVAR_ARCHIVE );
|
||||
tiltMove = Cvar_Get( "tiltMove", "0", CVAR_ARCHIVE );
|
||||
@@ -195,13 +207,13 @@ void iphoneStartup() {
|
||||
blends = Cvar_Get( "blends", "1", 0 );
|
||||
gunFrame = Cvar_Get( "gunFrame", "0", 0 );
|
||||
slowAI = Cvar_Get( "slowAI", "0", 0 );
|
||||
revLand = Cvar_Get( "revLand", "0", CVAR_ARCHIVE );
|
||||
mapScale = Cvar_Get( "mapScale", "10", CVAR_ARCHIVE );
|
||||
hideControls = Cvar_Get( "hideControls", "0", CVAR_ARCHIVE );
|
||||
autoFire = Cvar_Get( "autoFire", "0", 0 );
|
||||
|
||||
// make sure volume changes and incoming calls draw the right orientation
|
||||
SysIPhoneSetUIKitOrientation( revLand->value );
|
||||
g_version = Cvar_Get( "g_version", "1", CVAR_ARCHIVE );
|
||||
//this call fixes the bug of crashed apps during sod map loads
|
||||
//( it only occured on devices updated from ( 1.1 || 1.0 )->1.2 )
|
||||
Cvar_Set( "g_version", "1" );
|
||||
|
||||
/* //if we don't preload the ogg files then we have faster start ups... gsh
|
||||
// preload all the ogg FM synth sounds
|
||||
@@ -246,15 +258,30 @@ void iphoneStartup() {
|
||||
if ( !LoadTheGame() ) {
|
||||
PL_NewGame( &Player );
|
||||
iphoneStartMap( currentMap.episode, currentMap.map, currentMap.skill );
|
||||
HudSetForScheme( 0 );
|
||||
}
|
||||
|
||||
|
||||
// always start at main menu
|
||||
menuState = IPM_MAIN;
|
||||
|
||||
// Start menu music
|
||||
iphoneInitMenuMusic();
|
||||
iphoneStartMenuMusic();
|
||||
|
||||
Com_Printf( "startup time: %i msec\n", Sys_Milliseconds() - start );
|
||||
}
|
||||
|
||||
/*
|
||||
===================
|
||||
iphoneStartGameplay
|
||||
|
||||
Loads the saved game if there is one, otherwise starts a new game.
|
||||
===================
|
||||
*/
|
||||
void iphoneStartGameplay() {
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
===================
|
||||
iphonePreloadBeforePlay
|
||||
@@ -354,9 +381,9 @@ void iphoneWriteConfig( void ) {
|
||||
*/
|
||||
void iphoneShutdown() {
|
||||
Sound_StopAllSounds();
|
||||
Sound_StopBGTrack();
|
||||
//Sound_StopBGTrack();
|
||||
iphoneWriteConfig();
|
||||
SaveTheGame();
|
||||
exit( 0 );
|
||||
//exit( 0 );
|
||||
}
|
||||
|
||||
|
||||
@@ -1,11 +1,27 @@
|
||||
/*
|
||||
* iphone_mapselector.c
|
||||
* wolf3d
|
||||
*
|
||||
* Created by Greg Hodges on 7/2/09.
|
||||
* Copyright 2009 id software. All rights reserved.
|
||||
*
|
||||
|
||||
Copyright (C) 2009-2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
#include "../wolfiphone.h"
|
||||
#include <dirent.h>
|
||||
|
||||
@@ -13,7 +29,6 @@ const char levelNames[][29] = {
|
||||
"E1 level 1",
|
||||
"E1 level 2",
|
||||
"E1 level 3",
|
||||
#ifndef LITE
|
||||
"E1 level 4",
|
||||
"E1 level 5",
|
||||
"E1 level 6",
|
||||
@@ -92,7 +107,6 @@ const char levelNames[][29] = {
|
||||
"Floor 19: Secret 1 ",
|
||||
"Floor 20: Secret 2 ",
|
||||
"Floor 21: Angel of Death",
|
||||
#endif
|
||||
};
|
||||
|
||||
int dragVelocity = 0; //velocity for the scrolling maps
|
||||
@@ -106,9 +120,7 @@ extern int iphoneDrawPicWithTouchAndColor( int x, int y, int w, int h, const cha
|
||||
extern void iphoneStartUserMap( int episodeNum, int mapNum, int skillLevel, char *mapName );
|
||||
|
||||
|
||||
#ifdef LITE
|
||||
extern void GetMoreLevels( int x, int y );
|
||||
#endif
|
||||
|
||||
//==========================================
|
||||
// iphoneUpdateDrags()
|
||||
@@ -132,13 +144,13 @@ void iphoneUpdateDrags(int numMaps, int skillSides, int height, int spacing, int
|
||||
|
||||
//boundary check the drags
|
||||
int num = numMaps+1+6;
|
||||
if (g_version-> value == SPEAROFDESTINY)
|
||||
if (g_version->value == SPEAROFDESTINY)
|
||||
num = numMaps + 7;
|
||||
|
||||
num += numUserMaps + 1;
|
||||
|
||||
if (dragPosition < 320 - (height+spacing)*(num) - 20)
|
||||
dragPosition < 320 - (height+spacing)*(num) - 20;
|
||||
dragPosition = 320 - (height+spacing)*(num) - 20;
|
||||
else if (dragPosition > 40)
|
||||
dragPosition = 40;
|
||||
|
||||
@@ -150,6 +162,8 @@ void iphoneUpdateDrags(int numMaps, int skillSides, int height, int spacing, int
|
||||
//update the drags
|
||||
dragPosition -= dragVelocity;
|
||||
|
||||
dragVelocity /= screenScale;
|
||||
|
||||
//retard the velocity
|
||||
if (dragVelocity > 0)
|
||||
--dragVelocity;
|
||||
@@ -184,28 +198,28 @@ void iphoneDrawRewards(int m, int s, int x, int y)
|
||||
int height = 40;//22;
|
||||
int spacing = -12;
|
||||
// draw award shadows
|
||||
iphoneDrawPic( x,y+23, width, height, "iphone/kills_shadow.tga" ); x += width + spacing;
|
||||
iphoneDrawPic( x,y+23, width, height, "iphone/secrets_shadow.tga" ); x += width + spacing;
|
||||
iphoneDrawPic( x,y+23, width, height, "iphone/treasure_shadow.tga" ); x += width + spacing;
|
||||
iphoneDrawPic( x,y+23, width, height, "iphone/partime_shadow.tga" ); //x += width + 5;
|
||||
iphoneDrawPicRect( MakeScaledRectFloat( x,y+23, width, height ), "iphone/kills_shadow.tga" ); x += width + spacing;
|
||||
iphoneDrawPicRect( MakeScaledRectFloat( x,y+23, width, height ), "iphone/secrets_shadow.tga" ); x += width + spacing;
|
||||
iphoneDrawPicRect( MakeScaledRectFloat( x,y+23, width, height ), "iphone/treasure_shadow.tga" ); x += width + spacing;
|
||||
iphoneDrawPicRect( MakeScaledRectFloat( x,y+23, width, height ), "iphone/partime_shadow.tga" ); //x += width + 5;
|
||||
|
||||
x = startX;
|
||||
|
||||
// draw awards
|
||||
if ( (ch & MF_KILLS) || forceDrawRewards) {
|
||||
iphoneDrawPic( x,y+23, width, height, "iphone/kills.tga" );
|
||||
iphoneDrawPicRect( MakeScaledRectFloat( x,y+23, width, height ), "iphone/kills.tga" );
|
||||
}
|
||||
x += width + spacing;
|
||||
if ( (ch & MF_SECRETS) || forceDrawRewards) {
|
||||
iphoneDrawPic( x,y+23, width, height, "iphone/secrets.tga" );
|
||||
iphoneDrawPicRect( MakeScaledRectFloat( x,y+23, width, height ), "iphone/secrets.tga" );
|
||||
}
|
||||
x += width + spacing;
|
||||
if ( (ch & MF_TREASURE) || forceDrawRewards) {
|
||||
iphoneDrawPic( x,y+23, width, height, "iphone/treasure.tga" );
|
||||
iphoneDrawPicRect( MakeScaledRectFloat( x,y+23, width, height ), "iphone/treasure.tga" );
|
||||
}
|
||||
x += width + spacing;
|
||||
if ( (ch & MF_TIME) || forceDrawRewards) {
|
||||
iphoneDrawPic( x,y+23, width, height, "iphone/partime.tga" );
|
||||
iphoneDrawPicRect( MakeScaledRectFloat( x,y+23, width, height ), "iphone/partime.tga" );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -239,7 +253,7 @@ int iphoneDrawUserMaps(int Yoffset, int height, int spacing, int skillValue)
|
||||
iphoneDrawPic( 0, y, 480-80, height, "iphone/button_epSOD.tga");
|
||||
|
||||
|
||||
while (ep = readdir (dp))
|
||||
while ( ( ep = readdir (dp) ) )
|
||||
{
|
||||
++numMaps;
|
||||
if (numMaps < 3) //skip the '.' and '..'
|
||||
@@ -315,13 +329,9 @@ void iphoneSelectMapMenu()
|
||||
char strMission[80];
|
||||
strMission[79] = '\0';
|
||||
|
||||
#ifdef LITE
|
||||
int numMaps = 3;//5;
|
||||
#else
|
||||
int numMaps = 60;
|
||||
if (g_version->value == SPEAROFDESTINY)
|
||||
numMaps = 60 + 21;
|
||||
#endif
|
||||
|
||||
iphoneDrawPic(0, 0, 480, 320, "iphone/submenus_background_image.tga");
|
||||
|
||||
@@ -429,18 +439,13 @@ void iphoneSelectMapMenu()
|
||||
|
||||
int numUserMaps = 0;
|
||||
|
||||
#ifdef LITE
|
||||
//buy more episodes button
|
||||
GetMoreLevels( 0, dragPosition + (height + spacing) * (m+1) );
|
||||
#else
|
||||
#if 0
|
||||
//buy more episodes button
|
||||
if (g_version->value != SPEAROFDESTINY)
|
||||
GetSpearOfDestiny( 0, dragPosition + (height + spacing) * (m+6) );
|
||||
#endif
|
||||
//TODO: Draw user maps
|
||||
numUserMaps = iphoneDrawUserMaps(y, height, spacing, skillValue);
|
||||
#endif
|
||||
numUserMaps = iphoneDrawUserMaps(y, height, spacing, skillValue);
|
||||
|
||||
//Update the scrolling drags
|
||||
iphoneUpdateDrags(numMaps, skillSides, height, spacing, numUserMaps);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -3,6 +3,8 @@
|
||||
#ifndef _IPHONE_QGL_H_
|
||||
#define _IPHONE_QGL_H_
|
||||
|
||||
//#define QGL_CHECK_GL_ERRORS
|
||||
|
||||
#ifdef QGL_LOG_GL_CALLS
|
||||
extern unsigned int QGLLogGLCalls;
|
||||
#ifdef __cplusplus
|
||||
@@ -1177,8 +1179,8 @@ static inline GLenum qglGetError(void)
|
||||
#endif
|
||||
returnValue = glGetError();
|
||||
#if !defined(NDEBUG) && defined(QGL_CHECK_GL_ERRORS)
|
||||
if (!QGLBeginStarted)
|
||||
QGLCheckError("glGetError");
|
||||
//if (!QGLBeginStarted)
|
||||
// QGLCheckError("glGetError");
|
||||
#endif
|
||||
return returnValue;
|
||||
}
|
||||
@@ -2041,8 +2043,7 @@ static inline void qglViewport(GLint x, GLint y, GLsizei width, GLsizei height)
|
||||
fprintf(QGLDebugFile(), "glViewport(x=%ld, y=%ld, width=%ld, height=%ld)\n", x, y, width, height);
|
||||
#endif
|
||||
//extern glconfig_t glConfig;
|
||||
int vidHeight = 320;
|
||||
glViewport(vidHeight - y - height, x, height, width);
|
||||
glViewport(x, y, width, height);
|
||||
#if !defined(NDEBUG) && defined(QGL_CHECK_GL_ERRORS)
|
||||
if (!QGLBeginStarted)
|
||||
QGLCheckError("glViewport");
|
||||
@@ -2231,6 +2232,8 @@ static inline void qglDrawTexfvOES(const GLfloat *coords)
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
// Prevent calls to the 'normal' GL functions
|
||||
#define glAlphaFunc CALL_THE_QGL_VERSION_OF_glAlphaFunc
|
||||
#define glClearColor CALL_THE_QGL_VERSION_OF_glClearColor
|
||||
@@ -2388,5 +2391,5 @@ static inline void qglDrawTexfvOES(const GLfloat *coords)
|
||||
#define glDrawTexxvOES CALL_THE_QGL_VERSION_OF_glDrawTexxvOES
|
||||
#define glDrawTexfOES CALL_THE_QGL_VERSION_OF_glDrawTexfOES
|
||||
#define glDrawTexfvOES CALL_THE_QGL_VERSION_OF_glDrawTexfvOES
|
||||
|
||||
*/
|
||||
#endif // _IPHONE_QGL_H_
|
||||
|
||||
69
wolf3d/code/iphone/iphone_store.h
Normal file
69
wolf3d/code/iphone/iphone_store.h
Normal file
@@ -0,0 +1,69 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2009-2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
|
||||
#include <stdbool.h>
|
||||
|
||||
/*
|
||||
===============================================
|
||||
Expose a C interface to the In App Purchase functionality.
|
||||
|
||||
This interface only supports non-consumable products, such as one-time purchases of extra levels
|
||||
or expansion packs. It uses NSUserDefaults internally to keep track of purchases the user has
|
||||
made. This is Apple's recommended method, and it means that purchases will automatically be
|
||||
backed up with the app in iTunes, should the user choose to do so. Each product is a boolean
|
||||
value stored in NSUserDefaults, with a key equal to the product ID string specified in iTunes
|
||||
connect. This is the same string that needs to passed to InAppPurchaseStartPurchase and similar
|
||||
functions.
|
||||
|
||||
Usage:
|
||||
|
||||
InAppPurchaseInit needs to be called during app launch to complete any transactions that
|
||||
were not finished last time.
|
||||
|
||||
Call InAppPurchaseStartPurchase with the product ID string from iTunes connect to begin the
|
||||
purchase process. This will launch Apple's interface for logging in with an Apple ID and
|
||||
comfirming the purchase.
|
||||
|
||||
Call InAppPurchaseHasPurchased to see if the user has purchased a specific product. The string
|
||||
parameter is the same product ID used in iTunes Connect and InAppPurchaseStartPurchase.
|
||||
|
||||
===============================================
|
||||
*/
|
||||
|
||||
void InAppPurchaseInit( void );
|
||||
void InAppPurchaseShutdown( void );
|
||||
void InAppPurchaseStartPurchase( const char * productIdentifier );
|
||||
|
||||
typedef enum {
|
||||
IAP_SUCCESS,
|
||||
IAP_FAILURE
|
||||
} InAppPurchaseResult;
|
||||
|
||||
typedef void (*InAppPurchaseCallbackPtr)( InAppPurchaseResult result );
|
||||
|
||||
void InAppPurchaseSetCallback( InAppPurchaseCallbackPtr function );
|
||||
|
||||
bool InAppPurchaseIsInProgress( void );
|
||||
|
||||
bool InAppPurchaseHasPurchased( const char * productIdentifier );
|
||||
|
||||
350
wolf3d/code/iphone/iphone_store.m
Normal file
350
wolf3d/code/iphone/iphone_store.m
Normal file
@@ -0,0 +1,350 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2009-2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import <StoreKit/StoreKit.h>
|
||||
#import <StoreKit/SKPaymentTransaction.h>
|
||||
#import <StoreKit/SKError.h>
|
||||
|
||||
#import <UIKit/UIAlertView.h>
|
||||
|
||||
#import "iphone_store.h"
|
||||
|
||||
|
||||
@interface MyStoreObserver : NSObject<SKProductsRequestDelegate, SKPaymentTransactionObserver> {
|
||||
|
||||
}
|
||||
|
||||
// SKProductsRequestDelegate methods
|
||||
- (void)productsRequest: (SKProductsRequest *)request didReceiveResponse: (SKProductsResponse *)response;
|
||||
|
||||
// SKPaymentTransactionObserver methods
|
||||
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions;
|
||||
- (void)paymentQueue:(SKPaymentQueue *)queue removedTransactions:(NSArray *)transactions;
|
||||
|
||||
- (void)paymentQueue:(SKPaymentQueue *)queue restoreCompletedTransactionsFailedWithError:(NSError *)error;
|
||||
- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue;
|
||||
|
||||
// MyStoreObserver methods
|
||||
- (void)completeTransaction:(SKPaymentTransaction *)transaction;
|
||||
- (void)failedTransaction:(SKPaymentTransaction *)transaction;
|
||||
- (void)restoreTransaction:(SKPaymentTransaction *)transaction;
|
||||
- (void)finalizeTransaction:(SKPaymentTransaction *)transaction;
|
||||
|
||||
@end
|
||||
|
||||
// The single instance of the store observer. This is created in InAppPurchaseInit and released
|
||||
// in InAppPurchaseShutdown.
|
||||
static MyStoreObserver *storeObserver;
|
||||
|
||||
// Flag to indicate whether a purchase is in progress or not. This is set to true in
|
||||
// InAppPurchaseStartPurchase and false when the request either succeeds or fails.
|
||||
static bool isInProgress = false;
|
||||
|
||||
static InAppPurchaseCallbackPtr clientCallback;
|
||||
|
||||
@implementation MyStoreObserver
|
||||
|
||||
/*
|
||||
========================
|
||||
productsRequest:didReceiveResponse
|
||||
|
||||
Called by the system when the application gets product information about an In-App Purchase.
|
||||
========================
|
||||
*/
|
||||
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
|
||||
{
|
||||
NSArray *myProduct = response.products;
|
||||
|
||||
// For now, immediately request payment for any items the user has requested.
|
||||
for (SKProduct *product in myProduct)
|
||||
{
|
||||
SKPayment *payment = [SKPayment paymentWithProductIdentifier:[product productIdentifier]];
|
||||
[[SKPaymentQueue defaultQueue] addPayment:payment];
|
||||
}
|
||||
|
||||
// We should handle the case of an empty array, this seems to occur if we send a request
|
||||
// with a nonexistant product ID, but there may be other cases.
|
||||
// TODO: Need a timeout to be even more robust.
|
||||
if ( [myProduct count] == 0 ) {
|
||||
if ( clientCallback ) {
|
||||
clientCallback( IAP_FAILURE );
|
||||
}
|
||||
}
|
||||
|
||||
[request autorelease];
|
||||
}
|
||||
|
||||
/*
|
||||
========================
|
||||
paymentQueue:updatedTransactions
|
||||
|
||||
Called by the system when purchase requests are updated.
|
||||
========================
|
||||
*/
|
||||
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
|
||||
{
|
||||
for (SKPaymentTransaction *transaction in transactions)
|
||||
{
|
||||
switch (transaction.transactionState)
|
||||
{
|
||||
case SKPaymentTransactionStatePurchased:
|
||||
[self completeTransaction:transaction];
|
||||
break;
|
||||
case SKPaymentTransactionStateFailed:
|
||||
[self failedTransaction:transaction];
|
||||
break;
|
||||
case SKPaymentTransactionStateRestored:
|
||||
[self restoreTransaction:transaction];
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- (void)paymentQueue:(SKPaymentQueue *)queue removedTransactions:(NSArray *)transactions
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
- (void)paymentQueue:(SKPaymentQueue *)queue restoreCompletedTransactionsFailedWithError:(NSError *)error
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
========================
|
||||
completeTransaction
|
||||
|
||||
Called by updatedTransactions when a request is completed.
|
||||
========================
|
||||
*/
|
||||
- (void)completeTransaction:(SKPaymentTransaction *)transaction
|
||||
{
|
||||
[self finalizeTransaction:transaction];
|
||||
}
|
||||
|
||||
/*
|
||||
========================
|
||||
failedTransaction
|
||||
|
||||
Called by updatedTransactions when a request fails.
|
||||
========================
|
||||
*/
|
||||
- (void)failedTransaction:(SKPaymentTransaction *)transaction
|
||||
{
|
||||
if (transaction.error.code != SKErrorPaymentCancelled)
|
||||
{
|
||||
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"In-App Purchase error"
|
||||
message:[transaction.error localizedDescription]
|
||||
delegate:nil
|
||||
cancelButtonTitle:@"OK"
|
||||
otherButtonTitles:nil];
|
||||
|
||||
[alert show];
|
||||
[alert release];
|
||||
}
|
||||
[[SKPaymentQueue defaultQueue] finishTransaction: transaction];
|
||||
|
||||
isInProgress = false;
|
||||
|
||||
if ( clientCallback ) {
|
||||
clientCallback( IAP_FAILURE );
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
========================
|
||||
restoreTransaction
|
||||
|
||||
Called by updatedTransactions when a request is restored. This can behave identically to
|
||||
completeTransaction.
|
||||
========================
|
||||
*/
|
||||
- (void)restoreTransaction:(SKPaymentTransaction *)transaction
|
||||
{
|
||||
[self finalizeTransaction:transaction.originalTransaction];
|
||||
}
|
||||
|
||||
/*
|
||||
========================
|
||||
finalizeTransaction
|
||||
|
||||
This method actually delivers the purchased item to the user. Currently, this means setting
|
||||
a key in NSUserDefaults equal to the product ID to TRUE.
|
||||
========================
|
||||
*/
|
||||
- (void)finalizeTransaction:(SKPaymentTransaction *)transaction
|
||||
{
|
||||
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
|
||||
|
||||
NSString *productID = transaction.payment.productIdentifier;
|
||||
|
||||
[defaults setBool:TRUE forKey:productID];
|
||||
|
||||
[[SKPaymentQueue defaultQueue] finishTransaction: transaction];
|
||||
|
||||
isInProgress = false;
|
||||
|
||||
if ( clientCallback ) {
|
||||
clientCallback( IAP_SUCCESS );
|
||||
}
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
========================
|
||||
InAppPurchaseInit
|
||||
|
||||
Creates the instance of the payment observer and adds it to the payment queue. This should be
|
||||
called at application launch.
|
||||
========================
|
||||
*/
|
||||
void InAppPurchaseInit(void) {
|
||||
if ( !storeObserver ) {
|
||||
storeObserver = [[MyStoreObserver alloc] init];
|
||||
|
||||
// Add the observer here in case purchase requests were interrupted last time.
|
||||
[[SKPaymentQueue defaultQueue] addTransactionObserver:storeObserver];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void InAppPurchaseShutdown(void) {
|
||||
[storeObserver release];
|
||||
storeObserver = nil;
|
||||
}
|
||||
|
||||
/*
|
||||
========================
|
||||
InAppPurchaseStartPurchase
|
||||
|
||||
If payments are enabled, starts an In-App Purchase transaction for the given product identifier.
|
||||
If payments are not enabled, reminds the user that they can be enabled.
|
||||
If a request is currently in progress, nothing happens, as only one request at a time is
|
||||
allowed.
|
||||
========================
|
||||
*/
|
||||
void InAppPurchaseStartPurchase( const char * productIdentifier ) {
|
||||
// Only allow one request at a time.
|
||||
if ( isInProgress ) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ( [SKPaymentQueue canMakePayments] ) {
|
||||
// Start transaction.
|
||||
if ( storeObserver == nil ) {
|
||||
printf( "In-App Purchase system not initialized. Can't purchase anything!\n" );
|
||||
return;
|
||||
}
|
||||
|
||||
isInProgress = true;
|
||||
|
||||
// convert the C string to an NSString.
|
||||
NSString *productKey = [[NSString alloc] initWithCString:productIdentifier
|
||||
encoding:NSASCIIStringEncoding];
|
||||
|
||||
SKProductsRequest *request= [[SKProductsRequest alloc] initWithProductIdentifiers: [NSSet setWithObject: productKey]];
|
||||
|
||||
// The set retains the string, so we can release it now.
|
||||
[productKey release];
|
||||
|
||||
request.delegate = storeObserver;
|
||||
[request start];
|
||||
} else {
|
||||
// User has disabled In-App purchases in settings. Kindly remind him that he can
|
||||
// enable purchases again.
|
||||
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"In-App Purchases are disabled"
|
||||
message:@"You can enable In-App purchases in your device's settings."
|
||||
delegate:nil
|
||||
cancelButtonTitle:@"OK"
|
||||
otherButtonTitles:nil];
|
||||
|
||||
[alert show];
|
||||
[alert release];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
========================
|
||||
InAppPurchaseHasPurchased
|
||||
|
||||
Queries the standard NSUserDefaults object for a boolean key equal to the product identifier.
|
||||
If this key is true, the user has purchased the product. If the key is false, the user has
|
||||
not purchased the product.
|
||||
========================
|
||||
*/
|
||||
bool InAppPurchaseHasPurchased( const char * productIdentifier ) {
|
||||
// Convert the C string to an NSString for use with NSUserDefaults.
|
||||
NSString *productKey = [[NSString alloc] initWithCString:productIdentifier
|
||||
encoding:NSASCIIStringEncoding];
|
||||
|
||||
// Purchase records are stored in the standardUserDefaults, with a key equal to the product
|
||||
// identifier.
|
||||
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
|
||||
BOOL hasProduct = [defaults boolForKey:productKey];
|
||||
|
||||
// This string was alloced above, but since it isn't needed anymore, it must be released.
|
||||
[productKey release];
|
||||
|
||||
// Convert Objective-C BOOL type to standard C99 _Bool type.
|
||||
return ( hasProduct )? true: false;
|
||||
}
|
||||
|
||||
/*
|
||||
========================
|
||||
InAppPurchaseIsInProgress
|
||||
|
||||
Returns true if an In-App Purchase request is currently pending. Only one request can be active
|
||||
at a time.
|
||||
========================
|
||||
*/
|
||||
bool InAppPurchaseIsInProgress( void ) {
|
||||
return isInProgress;
|
||||
}
|
||||
|
||||
/*
|
||||
========================
|
||||
InAppPurchaseSetCallback
|
||||
|
||||
Sets a functino pointer to be called when the in-app purchase transaction in complete, either
|
||||
successfully or unsuccessfully.
|
||||
========================
|
||||
*/
|
||||
void InAppPurchaseSetCallback( InAppPurchaseCallbackPtr function ) {
|
||||
clientCallback = function;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2009 Id Software, Inc.
|
||||
Copyright (C) 2009-2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
@@ -19,9 +22,13 @@
|
||||
*/
|
||||
|
||||
#include "../wolfiphone.h"
|
||||
#include "iphone_store.h"
|
||||
|
||||
#import "wolf3dAppDelegate.h"
|
||||
|
||||
#import <AudioToolbox/AudioServices.h>
|
||||
//#import <UIDevice.h>
|
||||
#import <UIKit/UIDevice.h>
|
||||
#import <Foundation/NSUserDefaults.h>
|
||||
|
||||
void interruptionListener( void *inUserData, UInt32 inInterruption)
|
||||
{
|
||||
@@ -45,7 +52,7 @@ void SysIPhoneInitAudioSession() {
|
||||
UInt32 audioCategory = kAudioSessionCategory_AmbientSound;
|
||||
status = AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(audioCategory), &audioCategory);
|
||||
|
||||
UInt32 propOtherAudioIsPlaying = 'othr'; // kAudioSessionProperty_OtherAudioIsPlaying
|
||||
AudioSessionPropertyID propOtherAudioIsPlaying = kAudioSessionProperty_OtherAudioIsPlaying;
|
||||
UInt32 size = sizeof( otherAudioIsPlaying );
|
||||
AudioSessionGetProperty( propOtherAudioIsPlaying, &size, &otherAudioIsPlaying );
|
||||
|
||||
@@ -72,3 +79,276 @@ const char *SysIPhoneGetOSVersion() {
|
||||
|
||||
return osVersion;
|
||||
}
|
||||
|
||||
/*
|
||||
==================
|
||||
SysIPhoneGetContentVersion
|
||||
|
||||
Checks the NSUserDefaults and returns true if the user has purchased the Platinum edition.
|
||||
==================
|
||||
*/
|
||||
contentVersion_t SysIPhoneGetContentVersion(void) {
|
||||
#ifndef LITE
|
||||
return CONTENT_PLATINUM;
|
||||
#else
|
||||
|
||||
// For the "Lite" app, we must check the user defaults to see if the user has purchased
|
||||
// the platinum edition.
|
||||
|
||||
bool platinum = InAppPurchaseHasPurchased( PLATINUM_UPGRADE_STRING );
|
||||
|
||||
if ( platinum ) {
|
||||
return CONTENT_PLATINUM;
|
||||
}
|
||||
|
||||
return CONTENT_LITE;
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
==================
|
||||
SysIPhoneGetPathToMainBundleLength
|
||||
|
||||
Fills in the string
|
||||
==================
|
||||
*/
|
||||
int SysIPhoneGetPathToMainBundleLength( void ) {
|
||||
NSBundle *mainBundle = [NSBundle mainBundle];
|
||||
|
||||
NSString *path = [mainBundle bundlePath];
|
||||
|
||||
return [path length];
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
==================
|
||||
SysIPhoneGetPathToMainBundle
|
||||
|
||||
Fills in the string outPath with the path to the main bundle. If the path is longer than
|
||||
maxLength, it will be truncated. Call SysIPhoneGetPathToMainBundleLength to get the string
|
||||
size needed without truncation.
|
||||
==================
|
||||
*/
|
||||
void SysIPhoneGetPathToMainBundle( char * outPath, int maxLength ) {
|
||||
NSBundle *mainBundle = [NSBundle mainBundle];
|
||||
|
||||
NSString *path = [mainBundle bundlePath];
|
||||
|
||||
[path getCString:outPath maxLength:maxLength encoding:NSASCIIStringEncoding];
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
==================
|
||||
iphoneRotateForLandscape
|
||||
|
||||
==================
|
||||
*/
|
||||
void iphoneRotateForLandscape() {
|
||||
switch ( deviceOrientation ) {
|
||||
case ORIENTATION_LANDSCAPE_LEFT:
|
||||
pfglRotatef( 90.0f, 0.0f, 0.0f, 1.0f );
|
||||
break;
|
||||
default:
|
||||
pfglRotatef( -90.0f, 0.0f, 0.0f, 1.0f );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
==================
|
||||
iphoneTouchEvent
|
||||
|
||||
==================
|
||||
*/
|
||||
void iphoneTouchEvent( int _numTouches, int _touches[16] ) {
|
||||
numTouches = _numTouches;
|
||||
for ( int i = 0 ; i < numTouches ; i++ ) {
|
||||
switch( deviceOrientation ) {
|
||||
case ORIENTATION_LANDSCAPE_RIGHT:
|
||||
touches[i][0] = _touches[i*2+1] * touchCoordinateScale;
|
||||
touches[i][1] = ( (viddef.height / touchCoordinateScale ) - 1 - _touches[i*2+0]) * touchCoordinateScale;
|
||||
break;
|
||||
|
||||
default:
|
||||
touches[i][0] = ( ( viddef.width / touchCoordinateScale ) - 1 - _touches[i*2+1]) * touchCoordinateScale;
|
||||
touches[i][1] = _touches[i*2+0] * touchCoordinateScale;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
==================
|
||||
iphonePromptToBuyPlatinum
|
||||
|
||||
==================
|
||||
*/
|
||||
void iphonePromptToBuyPlatinum() {
|
||||
currentYesNoBox = YESNO_BUY_PLATINUM;
|
||||
iphoneYesNoBox( "Purchase Platinum", "This level is not available in "
|
||||
"Wolfenstein 3D Lite. Would you like to upgrade to "
|
||||
"Platinum?" );
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
==================
|
||||
LoadPNG
|
||||
|
||||
Uses the iPhone's Core Graphics library to easily load PNG files.
|
||||
==================
|
||||
*/
|
||||
void LoadPNG( const char *filename, W8 **pic, W16 *outWidth, W16 *outHeight, W16 *bytes ) {
|
||||
CGImageRef spriteImage;
|
||||
CGContextRef spriteContext;
|
||||
|
||||
GLubyte *spriteData = NULL;
|
||||
size_t width = 0;
|
||||
size_t height = 0;
|
||||
size_t bytesPerPixel = 0;
|
||||
|
||||
// Get just the filename from the path passed in.
|
||||
const char * lastSeparator = strrchr( filename, '/' );
|
||||
|
||||
const char * filenameOnly = filename;
|
||||
|
||||
if ( lastSeparator ) {
|
||||
filenameOnly = lastSeparator + 1;
|
||||
}
|
||||
|
||||
// Creates a Core Graphics image from an image file
|
||||
spriteImage = [UIImage imageNamed:[NSString stringWithCString:filenameOnly encoding:NSASCIIStringEncoding]].CGImage;
|
||||
// Get the width and height of the image
|
||||
width = CGImageGetWidth(spriteImage);
|
||||
height = CGImageGetHeight(spriteImage);
|
||||
bytesPerPixel = CGImageGetBitsPerPixel(spriteImage) / 8;
|
||||
|
||||
// Texture dimensions must be a power of 2. If you write an application that allows users to supply an image,
|
||||
// you'll want to add code that checks the dimensions and takes appropriate action if they are not a power of 2.
|
||||
|
||||
// HACK to fix alpha/non-alpha images.
|
||||
// If an image has alpha, it will be 4 bytes per pixel.
|
||||
// If an image doesn't have alpha, it will be 3 bytes per pixel.
|
||||
CGImageAlphaInfo alpha = kCGImageAlphaPremultipliedLast;
|
||||
size_t byteWidth = width * 4;
|
||||
if ( bytesPerPixel == 4 ) {
|
||||
alpha = kCGImageAlphaPremultipliedLast;
|
||||
byteWidth = width * 4;
|
||||
}
|
||||
|
||||
if(spriteImage) {
|
||||
// Allocated memory needed for the bitmap context
|
||||
spriteData = (GLubyte *) MM_CALLOC(width * height * 4, sizeof(GLubyte));
|
||||
// Uses the bitmap creation function provided by the Core Graphics framework.
|
||||
spriteContext = CGBitmapContextCreate(spriteData, width, height,
|
||||
8,
|
||||
byteWidth,
|
||||
CGImageGetColorSpace(spriteImage),
|
||||
alpha);
|
||||
|
||||
if ( spriteContext ) {
|
||||
// After you create the context, you can draw the sprite image to the context.
|
||||
CGContextDrawImage(spriteContext, CGRectMake(0.0, 0.0, (CGFloat)width, (CGFloat)height), spriteImage);
|
||||
// You don't need the context at this point, so you need to release it to avoid memory leaks.
|
||||
CGContextRelease(spriteContext);
|
||||
|
||||
if ( outWidth ) {
|
||||
*outWidth = width;
|
||||
}
|
||||
if ( outHeight ) {
|
||||
*outHeight = height;
|
||||
}
|
||||
if ( pic ) {
|
||||
*pic = spriteData;
|
||||
}
|
||||
if ( bytes ) {
|
||||
*bytes = bytesPerPixel;
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if ( outWidth ) {
|
||||
*outWidth = 0;
|
||||
}
|
||||
if ( outHeight ) {
|
||||
*outHeight = 0;
|
||||
}
|
||||
if ( pic ) {
|
||||
*pic = NULL;
|
||||
}
|
||||
if ( bytes ) {
|
||||
*bytes = 0;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
==================
|
||||
iphoneGetDeviceType
|
||||
|
||||
Uses the iPhone's Core Graphics library to easily load PNG files.
|
||||
==================
|
||||
*/
|
||||
deviceType_t iphoneGetDeviceType(void) {
|
||||
deviceType_t result = DEVICE_UNKNOWN;
|
||||
|
||||
switch ( UI_USER_INTERFACE_IDIOM() ) {
|
||||
case UIUserInterfaceIdiomPhone:
|
||||
result = DEVICE_PHONE;
|
||||
break;
|
||||
|
||||
case UIUserInterfaceIdiomPad:
|
||||
result = DEVICE_TABLET;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/*
|
||||
==================
|
||||
iphoneInitMenuMusic
|
||||
==================
|
||||
*/
|
||||
void iphoneInitMenuMusic() {
|
||||
|
||||
wolf3dAppDelegate * app = (wolf3dAppDelegate*)[[UIApplication sharedApplication] delegate];
|
||||
|
||||
[app initMenuMusicPlayer];
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
==================
|
||||
iphoneStartMenuMusic
|
||||
==================
|
||||
*/
|
||||
void iphoneStartMenuMusic() {
|
||||
wolf3dAppDelegate * app = (wolf3dAppDelegate*)[[UIApplication sharedApplication] delegate];
|
||||
|
||||
[app startMenuMusic];
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
==================
|
||||
iphoneStopMenuMusic
|
||||
==================
|
||||
*/
|
||||
|
||||
void iphoneStopMenuMusic() {
|
||||
wolf3dAppDelegate * app = (wolf3dAppDelegate*)[[UIApplication sharedApplication] delegate];
|
||||
|
||||
[app stopMenuMusic];
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2009 Id Software, Inc.
|
||||
Copyright (C) 2009-2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
@@ -18,12 +21,18 @@
|
||||
|
||||
*/
|
||||
|
||||
#include "video.h"
|
||||
#include "texture_manager.h"
|
||||
#include "vector.h"
|
||||
#include "cvar.h"
|
||||
#include "arch.h"
|
||||
|
||||
// define this to get only the first episode on selections, and the
|
||||
// automatic sell screen at the end of episode 1
|
||||
//#define EPISODE_ONE_ONLY
|
||||
|
||||
// this is the version number displayed on the menu screen
|
||||
#define WOLF_IPHONE_VERSION 1.2//1.1
|
||||
#define WOLF_IPHONE_VERSION 2.1
|
||||
|
||||
extern viddef_t viddef;
|
||||
|
||||
@@ -84,6 +93,13 @@ typedef struct {
|
||||
} rect_t;
|
||||
rect_t RectMake(int x, int y, int width, int height);
|
||||
|
||||
typedef struct {
|
||||
float x;
|
||||
float y;
|
||||
float width;
|
||||
float height;
|
||||
} rectFloat_t;
|
||||
|
||||
extern currentMap_t currentMap;
|
||||
|
||||
void iphoneStartMap( int episodeNum, int mapNum, int skillLevel );
|
||||
@@ -130,15 +146,39 @@ extern cvar_t *cropSprites;
|
||||
extern cvar_t *blends;
|
||||
extern cvar_t *gunFrame;
|
||||
extern cvar_t *slowAI;
|
||||
extern cvar_t *revLand;
|
||||
extern cvar_t *mapScale;
|
||||
extern cvar_t *hideControls;
|
||||
extern cvar_t *autoFire;
|
||||
|
||||
// The size of UI elements will be scaled by this value in order to support different
|
||||
// resolutions, such as Retina displays and the iPad.
|
||||
extern float screenScale;
|
||||
|
||||
// the native iPhone code should set the following each frame:
|
||||
extern int numTouches;
|
||||
extern int touches[5][2]; // [0] = x, [1] = y in landscape mode, raster order with y = 0 at top
|
||||
extern int isTouchMoving; //gsh
|
||||
|
||||
// On Retina displays, touch coordinates are still reported at "low resolution". Since the game
|
||||
// compares touch coordinates directly to the on-screen positions of buttons, we will need to
|
||||
// scale the touches on Retina displays.
|
||||
extern int touchCoordinateScale;
|
||||
|
||||
// Store the device's contentScaleFactor ourselves. This is needed to support iOS
|
||||
// versions < 4.0, as the UIView contentScaleFactor property did not exist before then.
|
||||
// This should be 1 for all non-Retina displays, and 2 for Retina displays.
|
||||
extern float deviceScale;
|
||||
|
||||
// The orientation of the device. Currently, we only support both landscape modes.
|
||||
// LEFT and RIGHT correspond to the position of the home button as you look at the
|
||||
// device from the front.
|
||||
typedef enum {
|
||||
ORIENTATION_LANDSCAPE_LEFT,
|
||||
ORIENTATION_LANDSCAPE_RIGHT
|
||||
} deviceOrientation_t;
|
||||
|
||||
extern deviceOrientation_t deviceOrientation;
|
||||
|
||||
extern float tilt; // -1.0 to 1.0
|
||||
extern float tiltPitch;
|
||||
|
||||
@@ -169,7 +209,10 @@ void iphoneDrawMapName( rect_t rect, const char *str ); //gsh
|
||||
int iphoneDrawTextInBox( rect_t paragraph, int lineLength, const char *str, rect_t boxRect ); //gsh
|
||||
void iphoneDrawNumber( int x, int y, int number, int charWidth, int charHeight );
|
||||
void iphoneDrawPic( int x, int y, int w, int h, const char *pic );
|
||||
void iphoneDrawPicFloat( float x, float y, float w, float h, const char *pic );
|
||||
void iphoneDrawPicRect( rectFloat_t rect, const char * pic );
|
||||
int iphoneDrawPicWithTouch( int x, int y, int w, int h, const char *pic );
|
||||
int iphoneDrawPicRectWithTouch( rectFloat_t rect, const char *pic );
|
||||
void iphoneDrawPicNum( int x, int y, int w, int h, int glTexNum );
|
||||
void R_Draw_Blend( int x, int y, int w, int h, colour4_t c );
|
||||
void SaveTheGame();
|
||||
@@ -182,7 +225,15 @@ void iphonePreloadBeforePlay();
|
||||
|
||||
void InitImmediateModeGL();
|
||||
void iphoneRotateForLandscape();
|
||||
void iphoneCheckForLandscapeReverse();
|
||||
|
||||
void ScaleToScreen( int * value);
|
||||
void ScalePosition( float * x, float * y );
|
||||
void ScalePositionInt( int * x, int * y );
|
||||
void ScalePositionAndSize( float * x, float * y, float * w, float * h );
|
||||
void ScalePositionAndSizeInt( int * x, int * y, int * w, int * h );
|
||||
void ScaleRect( rect_t * rect );
|
||||
void ScaleRectFloat( rectFloat_t * rect );
|
||||
rectFloat_t MakeScaledRectFloat( float x, float y, float width, float height );
|
||||
|
||||
extern colour4_t colorPressed;
|
||||
|
||||
@@ -229,6 +280,13 @@ void HudEditFrame();
|
||||
void iphoneHudEditFrame();
|
||||
|
||||
|
||||
//---------------------------------------
|
||||
// Content version management for Lite and Platinum
|
||||
//---------------------------------------
|
||||
typedef enum {
|
||||
CONTENT_LITE,
|
||||
CONTENT_PLATINUM
|
||||
} contentVersion_t;
|
||||
|
||||
//---------------------------------------
|
||||
// interfaces from the original game code
|
||||
@@ -246,13 +304,23 @@ void iphoneSetLevelNotifyText(); //gsh
|
||||
void SysIPhoneSwapBuffers();
|
||||
void SysIPhoneVibrate();
|
||||
void SysIPhoneOpenURL( const char *url );
|
||||
void SysIPhoneSetUIKitOrientation( int isLandscapeRight );
|
||||
void SysIPhoneLoadJPG( W8* jpegData, int jpegBytes, W8 **pic, W16 *width, W16 *height, W16 *bytes );
|
||||
const char * SysIPhoneGetConsoleTextField();
|
||||
void SysIPhoneSetConsoleTextField(const char *);
|
||||
void SysIPhoneInitAudioSession();
|
||||
int SysIPhoneOtherAudioIsPlaying();
|
||||
const char *SysIPhoneGetOSVersion();
|
||||
contentVersion_t SysIPhoneGetContentVersion();
|
||||
int SysIPhoneGetPathToMainBundleLength( void );
|
||||
void SysIPhoneGetPathToMainBundle( char * outPath, int maxLength );
|
||||
|
||||
void iphoneStartPreviousMenu();
|
||||
void iphoneStartMainMenu();
|
||||
void iphonePromptToBuyPlatinum();
|
||||
|
||||
void iphoneInitMenuMusic();
|
||||
void iphoneStartMenuMusic();
|
||||
void iphoneStopMenuMusic();
|
||||
|
||||
//---------------------------------------
|
||||
// interfaces from Objective-C land
|
||||
@@ -265,4 +333,53 @@ void iphoneTouchEvent( int numTouches, int touches[16] );
|
||||
void iphoneActivateConsole();
|
||||
void iphoneDeactivateConsole();
|
||||
void iphoneExecuteCommandLine();
|
||||
void iphoneStartGameplay();
|
||||
|
||||
void iphoneResume();
|
||||
|
||||
void LoadPNG( const char *filename, W8 **pic, W16 *width, W16 *height, W16 *bytes );
|
||||
|
||||
// The width and height the assets were originally designed for. Used in scaling to different
|
||||
// resolutions for preserving aspect ratio.
|
||||
#define REFERENCE_WIDTH 480.0f
|
||||
#define REFERENCE_HEIGHT 320.0f
|
||||
|
||||
// Constants for HUD buttons.
|
||||
#define BACK_BUTTON_WIDTH 64.0f
|
||||
#define BACK_BUTTON_HEIGHT 64.0f
|
||||
|
||||
// These variables store the scaled dimensions of certain HUD elements that are needed
|
||||
// in various parts of the code.
|
||||
extern float faceWidth;
|
||||
extern float faceHeight;
|
||||
|
||||
extern float weaponWidth;
|
||||
extern float weaponHeight;
|
||||
|
||||
|
||||
// The following items support in-app purchases.
|
||||
#define PLATINUM_UPGRADE_STRING "com.idsoftware.wolf3dlite.platupgrade"
|
||||
|
||||
|
||||
// An enum to help keep track of YesNo boxes.
|
||||
typedef enum {
|
||||
YESNO_NONE,
|
||||
YESNO_BUY_PLATINUM,
|
||||
YESNO_GO_TO_WEBSITE,
|
||||
YESNO_DOWNLOAD_INSTRUCTIONS
|
||||
} yesNoBoxType_t;
|
||||
|
||||
extern yesNoBoxType_t currentYesNoBox;
|
||||
|
||||
// This determines the default framerate of the game.
|
||||
// 1 = 60Hz, 2 = 30Hz, etc.
|
||||
#define DEFAULT_FRAME_INTERVAL 1
|
||||
|
||||
// Determine phone or tablet device at runtime.
|
||||
typedef enum {
|
||||
DEVICE_UNKNOWN,
|
||||
DEVICE_PHONE,
|
||||
DEVICE_TABLET
|
||||
} deviceType_t;
|
||||
|
||||
deviceType_t iphoneGetDeviceType(void);
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2009 Id Software, Inc.
|
||||
Copyright (C) 2009-2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
@@ -19,28 +22,11 @@
|
||||
*/
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#include <unistd.h>
|
||||
#include <string.h>
|
||||
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
|
||||
{
|
||||
char cwd[256];
|
||||
strcpy( cwd, argv[0] );
|
||||
int len = strlen( cwd );
|
||||
for( int i = len-1; i >= 0; i-- ) {
|
||||
if ( cwd[i] == '/' ) {
|
||||
cwd[i] = 0;
|
||||
break;
|
||||
}
|
||||
cwd[i] = 0;
|
||||
}
|
||||
setenv( "CWD", cwd, 1 );
|
||||
}
|
||||
|
||||
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
|
||||
int retVal = UIApplicationMain(argc, argv, nil, nil);
|
||||
int retVal = UIApplicationMain(argc, argv, nil, @"wolf3dAppDelegate");
|
||||
[pool release];
|
||||
return retVal;
|
||||
}
|
||||
|
||||
703
wolf3d/code/iphone/untgz.c
Normal file
703
wolf3d/code/iphone/untgz.c
Normal file
@@ -0,0 +1,703 @@
|
||||
/*
|
||||
* untgz.c -- Display contents and extract files from a gzip'd TAR file
|
||||
*
|
||||
* written by Pedro A. Aranda Gutierrez <paag@tid.es>
|
||||
* adaptation to Unix by Jean-loup Gailly <jloup@gzip.org>
|
||||
* various fixes by Cosmin Truta <cosmint@cs.ubbcluj.ro>
|
||||
*/
|
||||
|
||||
// This file was originally authored by the people above.
|
||||
// It has been modified for this program.
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <time.h>
|
||||
#include <errno.h>
|
||||
|
||||
#include "../wolfiphone.h"
|
||||
|
||||
extern int chmod(const char *, mode_t) __DARWIN_ALIAS(chmod);
|
||||
extern int mkdir(const char *, mode_t);
|
||||
extern void Com_Printf( const char *fmt, ... );
|
||||
|
||||
#include "zlib.h"
|
||||
|
||||
//Note: in order to link the zlib library into the build from usr/lib/libz.ylib
|
||||
// the flag -lz was added to the OTHER_LDFLAGS under the build options.
|
||||
// To get there: right click on the wolf3d project. choose get info.
|
||||
// Click on build and scroll to "Other Link Flags" under "Linking"
|
||||
|
||||
|
||||
#define unix
|
||||
|
||||
#ifdef unix
|
||||
# include <unistd.h>
|
||||
#else
|
||||
# include <direct.h>
|
||||
# include <io.h>
|
||||
#endif
|
||||
|
||||
#ifdef WIN32
|
||||
#include <windows.h>
|
||||
# ifndef F_OK
|
||||
# define F_OK 0
|
||||
# endif
|
||||
# define mkdir(dirname,mode) _mkdir(dirname)
|
||||
# ifdef _MSC_VER
|
||||
# define access(path,mode) _access(path,mode)
|
||||
# define chmod(path,mode) _chmod(path,mode)
|
||||
# define strdup(str) _strdup(str)
|
||||
# endif
|
||||
#else
|
||||
# include <utime.h>
|
||||
#endif
|
||||
|
||||
|
||||
//extern int iphoneCenterText( int x, int y, const char *str );
|
||||
|
||||
/* values used in typeflag field */
|
||||
|
||||
#define REGTYPE '0' /* regular file */
|
||||
#define AREGTYPE '\0' /* regular file */
|
||||
#define LNKTYPE '1' /* link */
|
||||
#define SYMTYPE '2' /* reserved */
|
||||
#define CHRTYPE '3' /* character special */
|
||||
#define BLKTYPE '4' /* block special */
|
||||
#define DIRTYPE '5' /* directory */
|
||||
#define FIFOTYPE '6' /* FIFO special */
|
||||
#define CONTTYPE '7' /* reserved */
|
||||
|
||||
/* GNU tar extensions */
|
||||
|
||||
#define GNUTYPE_DUMPDIR 'D' /* file names from dumped directory */
|
||||
#define GNUTYPE_LONGLINK 'K' /* long link name */
|
||||
#define GNUTYPE_LONGNAME 'L' /* long file name */
|
||||
#define GNUTYPE_MULTIVOL 'M' /* continuation of file from another volume */
|
||||
#define GNUTYPE_NAMES 'N' /* file name that does not fit into main hdr */
|
||||
#define GNUTYPE_SPARSE 'S' /* sparse file */
|
||||
#define GNUTYPE_VOLHDR 'V' /* tape/volume header */
|
||||
|
||||
|
||||
/* tar header */
|
||||
|
||||
#define BLOCKSIZE 512
|
||||
#define SHORTNAMESIZE 100
|
||||
|
||||
struct tar_header
|
||||
{ /* byte offset */
|
||||
char name[100]; /* 0 */
|
||||
char mode[8]; /* 100 */
|
||||
char uid[8]; /* 108 */
|
||||
char gid[8]; /* 116 */
|
||||
char size[12]; /* 124 */
|
||||
char mtime[12]; /* 136 */
|
||||
char chksum[8]; /* 148 */
|
||||
char typeflag; /* 156 */
|
||||
char linkname[100]; /* 157 */
|
||||
char magic[6]; /* 257 */
|
||||
char version[2]; /* 263 */
|
||||
char uname[32]; /* 265 */
|
||||
char gname[32]; /* 297 */
|
||||
char devmajor[8]; /* 329 */
|
||||
char devminor[8]; /* 337 */
|
||||
char prefix[155]; /* 345 */
|
||||
/* 500 */
|
||||
};
|
||||
|
||||
union tar_buffer
|
||||
{
|
||||
char buffer[BLOCKSIZE];
|
||||
struct tar_header header;
|
||||
};
|
||||
|
||||
struct attr_item
|
||||
{
|
||||
struct attr_item *next;
|
||||
char *fname;
|
||||
int mode;
|
||||
time_t time;
|
||||
};
|
||||
|
||||
enum { TGZ_EXTRACT, TGZ_LIST, TGZ_INVALID };
|
||||
|
||||
char *TGZfname OF((const char *));
|
||||
void TGZnotfound OF((const char *));
|
||||
|
||||
int getoct OF((char *, int));
|
||||
char *strtime OF((time_t *));
|
||||
int setfiletime OF((char *, time_t));
|
||||
void push_attr OF((struct attr_item **, char *, int, time_t));
|
||||
void restore_attr OF((struct attr_item **));
|
||||
|
||||
int ExprMatch OF((char *, char *));
|
||||
|
||||
int makedir OF((char *));
|
||||
int matchname OF((int, int, char **, char *));
|
||||
|
||||
void error OF((const char *));
|
||||
int tar OF((gzFile, int, int, int, char **));
|
||||
|
||||
void help OF((int));
|
||||
int main OF((int, char **));
|
||||
|
||||
char *prog;
|
||||
|
||||
const char *TGZsuffix[] = { "\0", ".tar", ".tar.gz", ".taz", ".tgz", NULL };
|
||||
|
||||
extern char iphoneDocDirectory[1024];
|
||||
|
||||
//returns the fname along with the appdocdirectory tagged onto the front
|
||||
char *DirFName (const char* fname)
|
||||
{
|
||||
static char buffer[1024];
|
||||
int origlen;//, i;
|
||||
|
||||
// Com_Printf("iphone Doc Direct: %s\n", iphoneDocDirectory);
|
||||
|
||||
//copy the directory into the buffer
|
||||
strcpy(buffer, iphoneDocDirectory);
|
||||
origlen = strlen(buffer);
|
||||
|
||||
//add the '/' to the end of the iphoneDocDirectory
|
||||
buffer[origlen] = '/';
|
||||
++origlen;
|
||||
buffer[origlen] = '\0';
|
||||
|
||||
//copy the file name into the buffer
|
||||
strcpy(buffer+origlen, fname);
|
||||
|
||||
Com_Printf("extracting file: %s\n", buffer);
|
||||
|
||||
// colour4_t backgroundColor = { 10, 10, 10, 255 };
|
||||
// R_Draw_Blend( 40, 150, 4*100, 20, backgroundColor ); //this is not actually drawing. The draw thread is somehow pausing
|
||||
|
||||
return buffer;
|
||||
}
|
||||
|
||||
|
||||
/* return the file name of the TGZ archive */
|
||||
/* or NULL if it does not exist */
|
||||
|
||||
char *TGZfname (const char *arcname)
|
||||
{
|
||||
static char buffer[1024];
|
||||
int origlen,i;
|
||||
|
||||
strcpy(buffer,arcname);
|
||||
origlen = strlen(buffer);
|
||||
|
||||
for (i=0; TGZsuffix[i]; i++)
|
||||
{
|
||||
strcpy(buffer+origlen,TGZsuffix[i]);
|
||||
if (access(buffer,F_OK) == 0)
|
||||
return buffer;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
/* error message for the filename */
|
||||
|
||||
void TGZnotfound (const char *arcname)
|
||||
{
|
||||
int i;
|
||||
|
||||
fprintf(stderr,"%s: Couldn't find ",prog);
|
||||
for (i=0;TGZsuffix[i];i++)
|
||||
fprintf(stderr,(TGZsuffix[i+1]) ? "%s%s, " : "or %s%s\n",
|
||||
arcname,
|
||||
TGZsuffix[i]);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
/* convert octal digits to int */
|
||||
/* on error return -1 */
|
||||
|
||||
int getoct (char *p,int width)
|
||||
{
|
||||
int result = 0;
|
||||
char c;
|
||||
|
||||
while (width--)
|
||||
{
|
||||
c = *p++;
|
||||
if (c == 0)
|
||||
break;
|
||||
if (c == ' ')
|
||||
continue;
|
||||
if (c < '0' || c > '7')
|
||||
return -1;
|
||||
result = result * 8 + (c - '0');
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
/* convert time_t to string */
|
||||
/* use the "YYYY/MM/DD hh:mm:ss" format */
|
||||
|
||||
char *strtime (time_t *t)
|
||||
{
|
||||
struct tm *local;
|
||||
static char result[32];
|
||||
|
||||
local = localtime(t);
|
||||
sprintf(result,"%4d/%02d/%02d %02d:%02d:%02d",
|
||||
local->tm_year+1900, local->tm_mon+1, local->tm_mday,
|
||||
local->tm_hour, local->tm_min, local->tm_sec);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
/* set file time */
|
||||
|
||||
int setfiletime (char *fname,time_t ftime)
|
||||
{
|
||||
#ifdef WIN32
|
||||
static int isWinNT = -1;
|
||||
SYSTEMTIME st;
|
||||
FILETIME locft, modft;
|
||||
struct tm *loctm;
|
||||
HANDLE hFile;
|
||||
int result;
|
||||
|
||||
loctm = localtime(&ftime);
|
||||
if (loctm == NULL)
|
||||
return -1;
|
||||
|
||||
st.wYear = (WORD)loctm->tm_year + 1900;
|
||||
st.wMonth = (WORD)loctm->tm_mon + 1;
|
||||
st.wDayOfWeek = (WORD)loctm->tm_wday;
|
||||
st.wDay = (WORD)loctm->tm_mday;
|
||||
st.wHour = (WORD)loctm->tm_hour;
|
||||
st.wMinute = (WORD)loctm->tm_min;
|
||||
st.wSecond = (WORD)loctm->tm_sec;
|
||||
st.wMilliseconds = 0;
|
||||
if (!SystemTimeToFileTime(&st, &locft) ||
|
||||
!LocalFileTimeToFileTime(&locft, &modft))
|
||||
return -1;
|
||||
|
||||
if (isWinNT < 0)
|
||||
isWinNT = (GetVersion() < 0x80000000) ? 1 : 0;
|
||||
hFile = CreateFile(fname, GENERIC_WRITE, 0, NULL, OPEN_EXISTING,
|
||||
(isWinNT ? FILE_FLAG_BACKUP_SEMANTICS : 0),
|
||||
NULL);
|
||||
if (hFile == INVALID_HANDLE_VALUE)
|
||||
return -1;
|
||||
result = SetFileTime(hFile, NULL, NULL, &modft) ? 0 : -1;
|
||||
CloseHandle(hFile);
|
||||
return result;
|
||||
#else
|
||||
struct utimbuf settime;
|
||||
|
||||
settime.actime = settime.modtime = ftime;
|
||||
return utime(fname,&settime);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
/* push file attributes */
|
||||
|
||||
void push_attr(struct attr_item **list,char *fname,int mode,time_t time)
|
||||
{
|
||||
struct attr_item *item;
|
||||
|
||||
item = (struct attr_item *)malloc(sizeof(struct attr_item));
|
||||
if (item == NULL)
|
||||
error("Out of memory");
|
||||
item->fname = strdup(fname);
|
||||
item->mode = mode;
|
||||
item->time = time;
|
||||
item->next = *list;
|
||||
*list = item;
|
||||
}
|
||||
|
||||
|
||||
/* restore file attributes */
|
||||
|
||||
void restore_attr(struct attr_item **list)
|
||||
{
|
||||
struct attr_item *item, *prev;
|
||||
|
||||
for (item = *list; item != NULL; )
|
||||
{
|
||||
setfiletime(item->fname,item->time);
|
||||
chmod(item->fname,item->mode);
|
||||
prev = item;
|
||||
item = item->next;
|
||||
free(prev);
|
||||
}
|
||||
*list = NULL;
|
||||
}
|
||||
|
||||
|
||||
/* match regular expression */
|
||||
|
||||
#define ISSPECIAL(c) (((c) == '*') || ((c) == '/'))
|
||||
|
||||
int ExprMatch (char *string,char *expr)
|
||||
{
|
||||
while (1)
|
||||
{
|
||||
if (ISSPECIAL(*expr))
|
||||
{
|
||||
if (*expr == '/')
|
||||
{
|
||||
if (*string != '\\' && *string != '/')
|
||||
return 0;
|
||||
string ++; expr++;
|
||||
}
|
||||
else if (*expr == '*')
|
||||
{
|
||||
if (*expr ++ == 0)
|
||||
return 1;
|
||||
while (*++string != *expr)
|
||||
if (*string == 0)
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (*string != *expr)
|
||||
return 0;
|
||||
if (*expr++ == 0)
|
||||
return 1;
|
||||
string++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* recursive mkdir */
|
||||
/* abort on ENOENT; ignore other errors like "directory already exists" */
|
||||
/* return 1 if OK */
|
||||
/* 0 on error */
|
||||
|
||||
int makedir (char *newdir)
|
||||
{
|
||||
char *buffer = strdup(newdir);
|
||||
char *p;
|
||||
int len = strlen(buffer);
|
||||
|
||||
if (len <= 0) {
|
||||
free(buffer);
|
||||
return 0;
|
||||
}
|
||||
if (buffer[len-1] == '/') {
|
||||
buffer[len-1] = '\0';
|
||||
}
|
||||
if (mkdir(buffer, 0755) == 0)
|
||||
{
|
||||
free(buffer);
|
||||
return 1;
|
||||
}
|
||||
|
||||
p = buffer+1;
|
||||
while (1)
|
||||
{
|
||||
char hold;
|
||||
|
||||
while(*p && *p != '\\' && *p != '/')
|
||||
p++;
|
||||
hold = *p;
|
||||
*p = 0;
|
||||
if ((mkdir(buffer, 0755) == -1) && (errno == ENOENT))
|
||||
{
|
||||
fprintf(stderr,"%s: Couldn't create directory %s\n",prog,buffer);
|
||||
free(buffer);
|
||||
return 0;
|
||||
}
|
||||
if (hold == 0)
|
||||
break;
|
||||
*p++ = hold;
|
||||
}
|
||||
free(buffer);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
int matchname (int arg,int argc,char **argv,char *fname)
|
||||
{
|
||||
if (arg == argc) /* no arguments given (untgz tgzarchive) */
|
||||
return 1;
|
||||
|
||||
while (arg < argc)
|
||||
if (ExprMatch(fname,argv[arg++]))
|
||||
return 1;
|
||||
|
||||
return 0; /* ignore this for the moment being */
|
||||
}
|
||||
|
||||
|
||||
/* tar file list or extract */
|
||||
|
||||
|
||||
int tar2 (gzFile in,int action)
|
||||
{
|
||||
union tar_buffer buffer;
|
||||
int len;
|
||||
int err;
|
||||
int getheader = 1;
|
||||
int remaining = 0;
|
||||
FILE *outfile = NULL;
|
||||
char fname[BLOCKSIZE];
|
||||
//char dirfname;
|
||||
int tarmode;
|
||||
time_t tartime;
|
||||
struct attr_item *attributes = NULL;
|
||||
|
||||
if (action == TGZ_LIST)
|
||||
printf(" date time size file\n"
|
||||
" ---------- -------- --------- -------------------------------------\n");
|
||||
while (1)
|
||||
{
|
||||
len = gzread(in, &buffer, BLOCKSIZE);
|
||||
if (len < 0)
|
||||
error(gzerror(in, &err));
|
||||
/*
|
||||
* Always expect complete blocks to process
|
||||
* the tar information.
|
||||
*/
|
||||
if (len != BLOCKSIZE)
|
||||
{
|
||||
action = TGZ_INVALID; /* force error exit */
|
||||
remaining = 0; /* force I/O cleanup */
|
||||
}
|
||||
|
||||
/*
|
||||
* If we have to get a tar header
|
||||
*/
|
||||
if (getheader >= 1)
|
||||
{
|
||||
/*
|
||||
* if we met the end of the tar
|
||||
* or the end-of-tar block,
|
||||
* we are done
|
||||
*/
|
||||
if (len == 0 || buffer.header.name[0] == 0)
|
||||
break;
|
||||
|
||||
tarmode = getoct(buffer.header.mode,8);
|
||||
tartime = (time_t)getoct(buffer.header.mtime,12);
|
||||
if (tarmode == -1 || tartime == (time_t)-1)
|
||||
{
|
||||
buffer.header.name[0] = 0;
|
||||
action = TGZ_INVALID;
|
||||
}
|
||||
|
||||
if (getheader == 1)
|
||||
{
|
||||
strncpy(fname,buffer.header.name,SHORTNAMESIZE);
|
||||
if (fname[SHORTNAMESIZE-1] != 0)
|
||||
fname[SHORTNAMESIZE] = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
/*
|
||||
* The file name is longer than SHORTNAMESIZE
|
||||
*/
|
||||
if (strncmp(fname,buffer.header.name,SHORTNAMESIZE-1) != 0)
|
||||
error("bad long name");
|
||||
getheader = 1;
|
||||
}
|
||||
|
||||
/*
|
||||
* Act according to the type flag
|
||||
*/
|
||||
switch (buffer.header.typeflag)
|
||||
{
|
||||
|
||||
case DIRTYPE:
|
||||
if (action == TGZ_LIST)
|
||||
{
|
||||
printf(" %s <dir> %s\n",strtime(&tartime),fname);
|
||||
Com_Printf("case DIRTYPE: %s\n", DirFName(fname));
|
||||
}
|
||||
if (action == TGZ_EXTRACT)
|
||||
{
|
||||
Com_Printf("blah blah DIRTYPE:action == TGZ_EXTRACT, make directory\n");
|
||||
makedir(fname);
|
||||
//makedir(DirFName(fname));
|
||||
push_attr(&attributes,fname,tarmode,tartime);
|
||||
}
|
||||
break;
|
||||
case REGTYPE:
|
||||
case AREGTYPE:
|
||||
remaining = getoct(buffer.header.size,12);
|
||||
if (remaining == -1)
|
||||
{
|
||||
action = TGZ_INVALID;
|
||||
break;
|
||||
}
|
||||
if (action == TGZ_LIST)
|
||||
printf(" %s %9d %s\n",strtime(&tartime),remaining,fname);
|
||||
else if (action == TGZ_EXTRACT)
|
||||
{
|
||||
if (1)//gsh matchname(arg,argc,argv,fname))
|
||||
{
|
||||
//Com_Printf("call just before iphonedocdirectory\n");
|
||||
//Com_Printf("iphonedocdirect: %s\n", iphoneDocDirectory);
|
||||
char* outname = DirFName(fname);
|
||||
//Com_Printf("outname is: %s\n", outname);
|
||||
outfile = fopen(outname,"wb");
|
||||
if (outfile == NULL) {
|
||||
// try creating directory
|
||||
char *p = strrchr(outname, '/');
|
||||
if (p != NULL) {
|
||||
*p = '\0';
|
||||
makedir(outname);
|
||||
*p = '/';
|
||||
outfile = fopen(outname,"wb");
|
||||
}
|
||||
}/*
|
||||
if (outfile != NULL)
|
||||
Com_Printf("Extracting %s\n",fname);
|
||||
else
|
||||
Com_Printf("%s: Couldn't create %s",prog,fname);*/
|
||||
/*
|
||||
outfile = fopen(fname,"wb");
|
||||
if (outfile == NULL) {
|
||||
/* try creating directory *
|
||||
char *p = strrchr(fname, '/');
|
||||
if (p != NULL) {
|
||||
*p = '\0';
|
||||
makedir(fname);
|
||||
*p = '/';
|
||||
outfile = fopen(fname,"wb");
|
||||
}
|
||||
}
|
||||
if (outfile != NULL)
|
||||
printf("Extracting %s\n",fname);
|
||||
else
|
||||
fprintf(stderr, "%s: Couldn't create %s",prog,fname);*/
|
||||
}
|
||||
else
|
||||
outfile = NULL;
|
||||
}
|
||||
getheader = 0;
|
||||
break;
|
||||
case GNUTYPE_LONGLINK:
|
||||
case GNUTYPE_LONGNAME:
|
||||
remaining = getoct(buffer.header.size,12);
|
||||
if (remaining < 0 || remaining >= BLOCKSIZE)
|
||||
{
|
||||
action = TGZ_INVALID;
|
||||
break;
|
||||
}
|
||||
len = gzread(in, fname, BLOCKSIZE);
|
||||
if (len < 0)
|
||||
error(gzerror(in, &err));
|
||||
if (fname[BLOCKSIZE-1] != 0 || (int)strlen(fname) > remaining)
|
||||
{
|
||||
action = TGZ_INVALID;
|
||||
break;
|
||||
}
|
||||
getheader = 2;
|
||||
break;
|
||||
default:
|
||||
if (action == TGZ_LIST)
|
||||
printf(" %s <---> %s\n",strtime(&tartime),fname);
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//Com_Printf("else called\n");
|
||||
unsigned int bytes = (remaining > BLOCKSIZE) ? BLOCKSIZE : remaining;
|
||||
|
||||
if (outfile != NULL)
|
||||
{
|
||||
if (fwrite(&buffer,sizeof(char),bytes,outfile) != bytes)
|
||||
{
|
||||
fprintf(stderr,
|
||||
"%s: Error writing %s -- skipping\n",prog,fname);
|
||||
fclose(outfile);
|
||||
outfile = NULL;
|
||||
remove(fname);
|
||||
}
|
||||
}
|
||||
remaining -= bytes;
|
||||
}
|
||||
|
||||
if (remaining == 0)
|
||||
{
|
||||
getheader = 1;
|
||||
if (outfile != NULL)
|
||||
{
|
||||
fclose(outfile);
|
||||
outfile = NULL;
|
||||
if (action != TGZ_INVALID)
|
||||
push_attr(&attributes,fname,tarmode,tartime);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Abandon if errors are found
|
||||
*/
|
||||
if (action == TGZ_INVALID)
|
||||
{
|
||||
error("broken archive");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Restore file modes and time stamps
|
||||
*/
|
||||
restore_attr(&attributes);
|
||||
|
||||
if (gzclose(in) != Z_OK)
|
||||
error("failed gzclose");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ============================================================ */
|
||||
|
||||
void help(int exitval)
|
||||
{
|
||||
printf("untgz version 0.2.1\n"
|
||||
" using zlib version %s\n\n",
|
||||
zlibVersion());
|
||||
printf("Usage: untgz file.tgz extract all files\n"
|
||||
" untgz file.tgz fname ... extract selected files\n"
|
||||
" untgz -l file.tgz list archive contents\n"
|
||||
" untgz -h display this help\n");
|
||||
exit(exitval);
|
||||
}
|
||||
|
||||
void error(const char *msg)
|
||||
{
|
||||
fprintf(stderr, "%s: %s\n", prog, msg);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
/* ============================================================ */
|
||||
|
||||
#if defined(WIN32) && defined(__GNUC__)
|
||||
int _CRT_glob = 0; /* disable argument globbing in MinGW */
|
||||
#endif
|
||||
|
||||
|
||||
int StartUntgz(char *TGZfile)
|
||||
{
|
||||
int action = TGZ_EXTRACT;
|
||||
gzFile *f;
|
||||
f = gzopen(TGZfile,"rb");
|
||||
if (f == NULL)
|
||||
{
|
||||
Com_Printf("%s: Couldn't gzopen %s\n",prog,TGZfile);
|
||||
return 1;
|
||||
}
|
||||
|
||||
return tar2(f, action);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -211,6 +211,7 @@
|
||||
<string>active-combo-popup</string>
|
||||
<string>action</string>
|
||||
<string>NSToolbarFlexibleSpaceItem</string>
|
||||
<string>debugger-enable-breakpoints</string>
|
||||
<string>build-and-go</string>
|
||||
<string>com.apple.ide.PBXToolbarStopButton</string>
|
||||
<string>get-info</string>
|
||||
@@ -234,7 +235,6 @@
|
||||
<array>
|
||||
<string>1C37FBAC04509CD000000102</string>
|
||||
<string>1C37FAAC04509CD000000102</string>
|
||||
<string>1C08E77C0454961000C914BD</string>
|
||||
<string>1C37FABC05509CD000000102</string>
|
||||
<string>1C37FABC05539CD112110102</string>
|
||||
<string>E2644B35053B69B200211256</string>
|
||||
@@ -265,6 +265,7 @@
|
||||
<array>
|
||||
<string>29B97314FDCFA39411CA2CEA</string>
|
||||
<string>29B97315FDCFA39411CA2CEA</string>
|
||||
<string>72935B190F6B2D720085DD28</string>
|
||||
<string>29B97317FDCFA39411CA2CEA</string>
|
||||
<string>29B97323FDCFA39411CA2CEA</string>
|
||||
<string>19C28FACFE9D520D11CA2CBB</string>
|
||||
@@ -274,13 +275,13 @@
|
||||
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
|
||||
<array>
|
||||
<array>
|
||||
<integer>32</integer>
|
||||
<integer>27</integer>
|
||||
<integer>4</integer>
|
||||
<integer>1</integer>
|
||||
<integer>0</integer>
|
||||
</array>
|
||||
</array>
|
||||
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
|
||||
<string>{{0, 0}, {186, 720}}</string>
|
||||
<string>{{0, 742}, {186, 720}}</string>
|
||||
</dict>
|
||||
<key>PBXTopSmartGroupGIDs</key>
|
||||
<array/>
|
||||
@@ -299,7 +300,7 @@
|
||||
<real>186</real>
|
||||
</array>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>391 174 1010 779 0 0 1680 1028 </string>
|
||||
<string>337 313 1010 779 0 0 1920 1178 </string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>PBXSmartGroupTreeModule</string>
|
||||
@@ -310,12 +311,14 @@
|
||||
<key>Dock</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>BecomeActive</key>
|
||||
<true/>
|
||||
<key>ContentConfiguration</key>
|
||||
<dict>
|
||||
<key>PBXProjectModuleGUID</key>
|
||||
<string>1CE0B20306471E060097A5F4</string>
|
||||
<key>PBXProjectModuleLabel</key>
|
||||
<string>Info.plist</string>
|
||||
<string>iphone_main.c</string>
|
||||
<key>PBXSplitModuleInNavigatorKey</key>
|
||||
<dict>
|
||||
<key>Split0</key>
|
||||
@@ -323,44 +326,41 @@
|
||||
<key>PBXProjectModuleGUID</key>
|
||||
<string>1CE0B20406471E060097A5F4</string>
|
||||
<key>PBXProjectModuleLabel</key>
|
||||
<string>Info.plist</string>
|
||||
<string>iphone_main.c</string>
|
||||
<key>_historyCapacity</key>
|
||||
<integer>0</integer>
|
||||
<key>bookmark</key>
|
||||
<string>ED45402710B21F0900DCFA32</string>
|
||||
<string>EDFA70BF119469CD0098FFFC</string>
|
||||
<key>history</key>
|
||||
<array>
|
||||
<string>ED2E5C05106C886700F57B9D</string>
|
||||
<string>ED2E5C06106C886700F57B9D</string>
|
||||
<string>ED4AC98010742365000706D8</string>
|
||||
<string>EDDA5A7E107BA97F003F55D3</string>
|
||||
<string>EDDA5A80107BA97F003F55D3</string>
|
||||
<string>ED2754531085141B009C891E</string>
|
||||
<string>ED0653B61087719F00E5450B</string>
|
||||
<string>EDAFC5A2109A14EE002C3487</string>
|
||||
<string>ED845AB1109F5B3500F673AC</string>
|
||||
<string>ED45402110B21F0900DCFA32</string>
|
||||
<string>ED45402210B21F0900DCFA32</string>
|
||||
<string>ED45402310B21F0900DCFA32</string>
|
||||
<string>ED845AB2109F5B3500F673AC</string>
|
||||
</array>
|
||||
<key>prevStack</key>
|
||||
<array>
|
||||
<string>ED3703CD106C20620059C5F8</string>
|
||||
<string>ED2E5C0A106C886700F57B9D</string>
|
||||
<string>ED2E5C0B106C886700F57B9D</string>
|
||||
<string>ED4AC98210742365000706D8</string>
|
||||
<string>ED4AC9AB10743318000706D8</string>
|
||||
<string>ED4AC9AC10743318000706D8</string>
|
||||
<string>EDDA5A82107BA97F003F55D3</string>
|
||||
<string>EDDA5A83107BA97F003F55D3</string>
|
||||
<string>EDDA5A84107BA97F003F55D3</string>
|
||||
<string>ED2754551085141B009C891E</string>
|
||||
<string>ED2754561085141B009C891E</string>
|
||||
<string>ED0653B81087719F00E5450B</string>
|
||||
<string>ED45402410B21F0900DCFA32</string>
|
||||
<string>ED45402510B21F0900DCFA32</string>
|
||||
<string>ED45402610B21F0900DCFA32</string>
|
||||
<string>ED89CF4410D0693D006A2D2E</string>
|
||||
<string>ED89CF4710D0693D006A2D2E</string>
|
||||
<string>ED89CF4810D0693D006A2D2E</string>
|
||||
<string>ED89CF4910D0693D006A2D2E</string>
|
||||
<string>EDC7BE4810D95AF900DA2765</string>
|
||||
<string>EDC7BE4910D95AF900DA2765</string>
|
||||
<string>EDB41E9910DADFF000487A3B</string>
|
||||
<string>EDB41E9A10DADFF000487A3B</string>
|
||||
<string>EDB41EAF10DAE14F00487A3B</string>
|
||||
<string>EDB41EB110DAE14F00487A3B</string>
|
||||
<string>EDB41ECB10DAE24C00487A3B</string>
|
||||
<string>EDB41EFD10DAEE4800487A3B</string>
|
||||
<string>EDB41EFE10DAEE4800487A3B</string>
|
||||
<string>EDB41F0110DAEE4800487A3B</string>
|
||||
<string>EDB41F1110DAF0FC00487A3B</string>
|
||||
<string>EDB41F3610DAF95B00487A3B</string>
|
||||
<string>ED89F57010DC207800C8A107</string>
|
||||
<string>ED89F58710DC257400C8A107</string>
|
||||
<string>ED89F58F10DC27DD00C8A107</string>
|
||||
<string>ED89F5B010DC406A00C8A107</string>
|
||||
<string>ED89F5B110DC406A00C8A107</string>
|
||||
<string>ED89F5B210DC406A00C8A107</string>
|
||||
<string>EDFA70BE119469CD0098FFFC</string>
|
||||
<string>EDFA7084119384150098FFFC</string>
|
||||
</array>
|
||||
</dict>
|
||||
<key>SplitCount</key>
|
||||
@@ -372,14 +372,14 @@
|
||||
<key>GeometryConfiguration</key>
|
||||
<dict>
|
||||
<key>Frame</key>
|
||||
<string>{{0, 0}, {802, 686}}</string>
|
||||
<string>{{0, 0}, {802, 683}}</string>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>391 174 1010 779 0 0 1680 1028 </string>
|
||||
<string>337 313 1010 779 0 0 1920 1178 </string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>PBXNavigatorGroup</string>
|
||||
<key>Proportion</key>
|
||||
<string>686pt</string>
|
||||
<string>683pt</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ContentConfiguration</key>
|
||||
@@ -392,14 +392,14 @@
|
||||
<key>GeometryConfiguration</key>
|
||||
<dict>
|
||||
<key>Frame</key>
|
||||
<string>{{0, 691}, {802, 47}}</string>
|
||||
<string>{{0, 688}, {802, 50}}</string>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>391 174 1010 779 0 0 1680 1028 </string>
|
||||
<string>337 313 1010 779 0 0 1920 1178 </string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>XCDetailModule</string>
|
||||
<key>Proportion</key>
|
||||
<string>47pt</string>
|
||||
<string>50pt</string>
|
||||
</dict>
|
||||
</array>
|
||||
<key>Proportion</key>
|
||||
@@ -418,12 +418,14 @@
|
||||
</array>
|
||||
<key>TableOfContents</key>
|
||||
<array>
|
||||
<string>ED45402810B21F0900DCFA32</string>
|
||||
<string>EDFA70C0119469CD0098FFFC</string>
|
||||
<string>1CE0B1FE06471DED0097A5F4</string>
|
||||
<string>ED45402910B21F0900DCFA32</string>
|
||||
<string>EDFA70C1119469CD0098FFFC</string>
|
||||
<string>1CE0B20306471E060097A5F4</string>
|
||||
<string>1CE0B20506471E060097A5F4</string>
|
||||
</array>
|
||||
<key>ToolbarConfigUserDefaultsMinorVersion</key>
|
||||
<string>2</string>
|
||||
<key>ToolbarConfiguration</key>
|
||||
<string>xcode.toolbar.config.defaultV3</string>
|
||||
</dict>
|
||||
@@ -554,10 +556,11 @@
|
||||
<integer>5</integer>
|
||||
<key>WindowOrderList</key>
|
||||
<array>
|
||||
<string>/Users/greghodges/wolf3dplatinum/wolf3d/code/iphone/wolf3d.xcodeproj</string>
|
||||
<string>ED0A8CF61069A9E0001E0547</string>
|
||||
<string>/Volumes/Work/idMobileDepot/Wolfenstein3DPlatinumDepot/wolf3d/code/iphone/wolf3d.xcodeproj</string>
|
||||
</array>
|
||||
<key>WindowString</key>
|
||||
<string>391 174 1010 779 0 0 1680 1028 </string>
|
||||
<string>337 313 1010 779 0 0 1920 1178 </string>
|
||||
<key>WindowToolsV3</key>
|
||||
<array>
|
||||
<dict>
|
||||
@@ -587,7 +590,7 @@
|
||||
<key>Frame</key>
|
||||
<string>{{0, 0}, {500, 218}}</string>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>56 488 500 500 0 0 1680 1028 </string>
|
||||
<string>67 625 500 500 0 0 1920 1178 </string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>PBXNavigatorGroup</string>
|
||||
@@ -600,7 +603,7 @@
|
||||
<key>PBXProjectModuleGUID</key>
|
||||
<string>XCMainBuildResultsModuleGUID</string>
|
||||
<key>PBXProjectModuleLabel</key>
|
||||
<string>Build</string>
|
||||
<string>Build Results</string>
|
||||
<key>XCBuildResultsTrigger_Collapse</key>
|
||||
<integer>1021</integer>
|
||||
<key>XCBuildResultsTrigger_Open</key>
|
||||
@@ -611,7 +614,7 @@
|
||||
<key>Frame</key>
|
||||
<string>{{0, 223}, {500, 236}}</string>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>56 488 500 500 0 0 1680 1028 </string>
|
||||
<string>67 625 500 500 0 0 1920 1178 </string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>PBXBuildResultsModule</string>
|
||||
@@ -634,14 +637,14 @@
|
||||
<key>TableOfContents</key>
|
||||
<array>
|
||||
<string>ED0A8CF61069A9E0001E0547</string>
|
||||
<string>EDAFC5AA109A14EE002C3487</string>
|
||||
<string>EDFA70C2119469CD0098FFFC</string>
|
||||
<string>1CD0528F0623707200166675</string>
|
||||
<string>XCMainBuildResultsModuleGUID</string>
|
||||
</array>
|
||||
<key>ToolbarConfiguration</key>
|
||||
<string>xcode.toolbar.config.buildV3</string>
|
||||
<key>WindowString</key>
|
||||
<string>56 488 500 500 0 0 1680 1028 </string>
|
||||
<string>67 625 500 500 0 0 1920 1178 </string>
|
||||
<key>WindowToolGUID</key>
|
||||
<string>ED0A8CF61069A9E0001E0547</string>
|
||||
<key>WindowToolIsVisible</key>
|
||||
@@ -676,8 +679,8 @@
|
||||
<string>yes</string>
|
||||
<key>sizes</key>
|
||||
<array>
|
||||
<string>{{0, 0}, {316, 203}}</string>
|
||||
<string>{{316, 0}, {378, 203}}</string>
|
||||
<string>{{0, 0}, {542, 426}}</string>
|
||||
<string>{{542, 0}, {646, 426}}</string>
|
||||
</array>
|
||||
</dict>
|
||||
<key>VerticalSplitView</key>
|
||||
@@ -692,8 +695,8 @@
|
||||
<string>yes</string>
|
||||
<key>sizes</key>
|
||||
<array>
|
||||
<string>{{0, 0}, {694, 203}}</string>
|
||||
<string>{{0, 203}, {694, 178}}</string>
|
||||
<string>{{0, 0}, {1188, 426}}</string>
|
||||
<string>{{0, 426}, {1188, 373}}</string>
|
||||
</array>
|
||||
</dict>
|
||||
</dict>
|
||||
@@ -713,7 +716,7 @@
|
||||
<key>DebugSTDIOWindowFrame</key>
|
||||
<string>{{200, 200}, {500, 300}}</string>
|
||||
<key>Frame</key>
|
||||
<string>{{0, 0}, {694, 381}}</string>
|
||||
<string>{{0, 0}, {1188, 799}}</string>
|
||||
<key>PBXDebugSessionStackFrameViewKey</key>
|
||||
<dict>
|
||||
<key>DebugVariablesTableConfiguration</key>
|
||||
@@ -723,24 +726,24 @@
|
||||
<string>Value</string>
|
||||
<real>85</real>
|
||||
<string>Summary</string>
|
||||
<real>148</real>
|
||||
<real>416</real>
|
||||
</array>
|
||||
<key>Frame</key>
|
||||
<string>{{316, 0}, {378, 203}}</string>
|
||||
<string>{{542, 0}, {646, 426}}</string>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>150 519 694 422 0 0 1680 1028 </string>
|
||||
<string>430 265 1188 840 0 0 1920 1178 </string>
|
||||
</dict>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>150 519 694 422 0 0 1680 1028 </string>
|
||||
<string>430 265 1188 840 0 0 1920 1178 </string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>PBXDebugSessionModule</string>
|
||||
<key>Proportion</key>
|
||||
<string>381pt</string>
|
||||
<string>799pt</string>
|
||||
</dict>
|
||||
</array>
|
||||
<key>Proportion</key>
|
||||
<string>381pt</string>
|
||||
<string>799pt</string>
|
||||
</dict>
|
||||
</array>
|
||||
<key>Name</key>
|
||||
@@ -754,18 +757,18 @@
|
||||
<key>TableOfContents</key>
|
||||
<array>
|
||||
<string>1CD10A99069EF8BA00B06720</string>
|
||||
<string>EDAFC5AB109A14EE002C3487</string>
|
||||
<string>ED89F55610DC024400C8A107</string>
|
||||
<string>1C162984064C10D400B95A72</string>
|
||||
<string>EDAFC5AC109A14EE002C3487</string>
|
||||
<string>EDAFC5AD109A14EE002C3487</string>
|
||||
<string>EDAFC5AE109A14EE002C3487</string>
|
||||
<string>EDAFC5AF109A14EE002C3487</string>
|
||||
<string>EDAFC5B0109A14EE002C3487</string>
|
||||
<string>ED89F55710DC024400C8A107</string>
|
||||
<string>ED89F55810DC024400C8A107</string>
|
||||
<string>ED89F55910DC024400C8A107</string>
|
||||
<string>ED89F55A10DC024400C8A107</string>
|
||||
<string>ED89F55B10DC024400C8A107</string>
|
||||
</array>
|
||||
<key>ToolbarConfiguration</key>
|
||||
<string>xcode.toolbar.config.debugV3</string>
|
||||
<key>WindowString</key>
|
||||
<string>150 519 694 422 0 0 1680 1028 </string>
|
||||
<string>430 265 1188 840 0 0 1920 1178 </string>
|
||||
<key>WindowToolGUID</key>
|
||||
<string>1CD10A99069EF8BA00B06720</string>
|
||||
<key>WindowToolIsVisible</key>
|
||||
@@ -787,23 +790,21 @@
|
||||
<key>Dock</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>BecomeActive</key>
|
||||
<true/>
|
||||
<key>ContentConfiguration</key>
|
||||
<dict>
|
||||
<key>PBXProjectModuleGUID</key>
|
||||
<string>1CDD528C0622207200134675</string>
|
||||
<key>PBXProjectModuleLabel</key>
|
||||
<string>iphone_menus.c</string>
|
||||
<string></string>
|
||||
<key>StatusBarVisibility</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>GeometryConfiguration</key>
|
||||
<dict>
|
||||
<key>Frame</key>
|
||||
<string>{{0, 0}, {1122, 588}}</string>
|
||||
<string>{{0, 0}, {1122, 464}}</string>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>450 88 1122 866 0 0 1680 1028 </string>
|
||||
<string>1948 265 1122 866 1920 150 1680 1050 </string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>PBXNavigatorGroup</string>
|
||||
@@ -812,9 +813,11 @@
|
||||
</dict>
|
||||
</array>
|
||||
<key>Proportion</key>
|
||||
<string>588pt</string>
|
||||
<string>464pt</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>BecomeActive</key>
|
||||
<true/>
|
||||
<key>ContentConfiguration</key>
|
||||
<dict>
|
||||
<key>PBXProjectModuleGUID</key>
|
||||
@@ -825,14 +828,14 @@
|
||||
<key>GeometryConfiguration</key>
|
||||
<dict>
|
||||
<key>Frame</key>
|
||||
<string>{{0, 593}, {1122, 232}}</string>
|
||||
<string>{{0, 469}, {1122, 356}}</string>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>450 88 1122 866 0 0 1680 1028 </string>
|
||||
<string>1948 265 1122 866 1920 150 1680 1050 </string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>PBXProjectFindModule</string>
|
||||
<key>Proportion</key>
|
||||
<string>232pt</string>
|
||||
<string>356pt</string>
|
||||
</dict>
|
||||
</array>
|
||||
<key>Proportion</key>
|
||||
@@ -850,17 +853,17 @@
|
||||
<key>TableOfContents</key>
|
||||
<array>
|
||||
<string>1C530D57069F1CE1000CFCEE</string>
|
||||
<string>EDAFC5B1109A14EE002C3487</string>
|
||||
<string>EDAFC5B2109A14EE002C3487</string>
|
||||
<string>EDFA70821193840B0098FFFC</string>
|
||||
<string>EDFA70831193840B0098FFFC</string>
|
||||
<string>1CDD528C0622207200134675</string>
|
||||
<string>1CD0528E0623707200166675</string>
|
||||
</array>
|
||||
<key>WindowString</key>
|
||||
<string>450 88 1122 866 0 0 1680 1028 </string>
|
||||
<string>1948 265 1122 866 1920 150 1680 1050 </string>
|
||||
<key>WindowToolGUID</key>
|
||||
<string>1C530D57069F1CE1000CFCEE</string>
|
||||
<key>WindowToolIsVisible</key>
|
||||
<true/>
|
||||
<false/>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Identifier</key>
|
||||
@@ -891,7 +894,7 @@
|
||||
<key>Frame</key>
|
||||
<string>{{0, 0}, {650, 209}}</string>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>450 704 650 250 0 0 1680 1028 </string>
|
||||
<string>555 839 650 250 0 0 1920 1178 </string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>PBXDebugCLIModule</string>
|
||||
@@ -914,13 +917,13 @@
|
||||
<key>TableOfContents</key>
|
||||
<array>
|
||||
<string>1C78EAAD065D492600B07095</string>
|
||||
<string>EDAFC5B3109A14EE002C3487</string>
|
||||
<string>EDB41EC610DAE14F00487A3B</string>
|
||||
<string>1C78EAAC065D492600B07095</string>
|
||||
</array>
|
||||
<key>ToolbarConfiguration</key>
|
||||
<string>xcode.toolbar.config.consoleV3</string>
|
||||
<key>WindowString</key>
|
||||
<string>450 704 650 250 0 0 1680 1028 </string>
|
||||
<string>555 839 650 250 0 0 1920 1178 </string>
|
||||
<key>WindowToolGUID</key>
|
||||
<string>1C78EAAD065D492600B07095</string>
|
||||
<key>WindowToolIsVisible</key>
|
||||
|
||||
@@ -7,13 +7,15 @@
|
||||
);
|
||||
};
|
||||
29B97313FDCFA39411CA2CEA /* Project object */ = {
|
||||
activeBuildConfigurationName = Release;
|
||||
activeBuildConfigurationName = Distribution;
|
||||
activeExecutable = ED0A8CE41069A9CF001E0547 /* wolf3d */;
|
||||
activeSDKPreference = iphonesimulator2.0;
|
||||
activeSDKPreference = iphoneos2.0;
|
||||
activeTarget = 1D6058900D05DD3D006BFB54 /* wolf3d */;
|
||||
addToTargets = (
|
||||
1D6058900D05DD3D006BFB54 /* wolf3d */,
|
||||
);
|
||||
breakpoints = (
|
||||
);
|
||||
codeSenseManager = ED0A8CFA1069A9F5001E0547 /* Code sense */;
|
||||
executables = (
|
||||
ED0A8CE41069A9CF001E0547 /* wolf3d */,
|
||||
@@ -41,12 +43,24 @@
|
||||
PBXFileDataSource_Target_ColumnID,
|
||||
);
|
||||
};
|
||||
PBXConfiguration.PBXFileTableDataSource3.PBXFindDataSource = {
|
||||
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
|
||||
PBXFileTableDataSourceColumnSortingKey = PBXFindDataSource_LocationID;
|
||||
PBXFileTableDataSourceColumnWidthsKey = (
|
||||
200,
|
||||
577,
|
||||
);
|
||||
PBXFileTableDataSourceColumnsKey = (
|
||||
PBXFindDataSource_MessageID,
|
||||
PBXFindDataSource_LocationID,
|
||||
);
|
||||
};
|
||||
PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = {
|
||||
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
|
||||
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
|
||||
PBXFileTableDataSourceColumnWidthsKey = (
|
||||
20,
|
||||
523,
|
||||
1433,
|
||||
60,
|
||||
20,
|
||||
48,
|
||||
@@ -63,39 +77,39 @@
|
||||
PBXFileDataSource_Warnings_ColumnID,
|
||||
);
|
||||
};
|
||||
PBXPerProjectTemplateStateSaveDate = 280108689;
|
||||
PBXWorkspaceStateSaveDate = 280108689;
|
||||
PBXPerProjectTemplateStateSaveDate = 294880202;
|
||||
PBXWorkspaceStateSaveDate = 294880202;
|
||||
};
|
||||
perUserProjectItems = {
|
||||
ED0653B61087719F00E5450B /* PBXTextBookmark */ = ED0653B61087719F00E5450B /* PBXTextBookmark */;
|
||||
ED0653B81087719F00E5450B /* PBXTextBookmark */ = ED0653B81087719F00E5450B /* PBXTextBookmark */;
|
||||
ED2754531085141B009C891E /* PBXTextBookmark */ = ED2754531085141B009C891E /* PBXTextBookmark */;
|
||||
ED2754551085141B009C891E /* PlistBookmark */ = ED2754551085141B009C891E /* PlistBookmark */;
|
||||
ED2754561085141B009C891E /* PBXTextBookmark */ = ED2754561085141B009C891E /* PBXTextBookmark */;
|
||||
ED2E5C05106C886700F57B9D /* PBXTextBookmark */ = ED2E5C05106C886700F57B9D /* PBXTextBookmark */;
|
||||
ED2E5C06106C886700F57B9D /* PBXTextBookmark */ = ED2E5C06106C886700F57B9D /* PBXTextBookmark */;
|
||||
ED2E5C0A106C886700F57B9D /* PBXTextBookmark */ = ED2E5C0A106C886700F57B9D /* PBXTextBookmark */;
|
||||
ED2E5C0B106C886700F57B9D /* PBXTextBookmark */ = ED2E5C0B106C886700F57B9D /* PBXTextBookmark */;
|
||||
ED3703CD106C20620059C5F8 /* PlistBookmark */ = ED3703CD106C20620059C5F8 /* PlistBookmark */;
|
||||
ED45402110B21F0900DCFA32 /* PBXTextBookmark */ = ED45402110B21F0900DCFA32 /* PBXTextBookmark */;
|
||||
ED45402210B21F0900DCFA32 /* PBXTextBookmark */ = ED45402210B21F0900DCFA32 /* PBXTextBookmark */;
|
||||
ED45402310B21F0900DCFA32 /* PBXTextBookmark */ = ED45402310B21F0900DCFA32 /* PBXTextBookmark */;
|
||||
ED45402410B21F0900DCFA32 /* PBXTextBookmark */ = ED45402410B21F0900DCFA32 /* PBXTextBookmark */;
|
||||
ED45402510B21F0900DCFA32 /* PBXTextBookmark */ = ED45402510B21F0900DCFA32 /* PBXTextBookmark */;
|
||||
ED45402610B21F0900DCFA32 /* PBXTextBookmark */ = ED45402610B21F0900DCFA32 /* PBXTextBookmark */;
|
||||
ED45402710B21F0900DCFA32 /* PlistBookmark */ = ED45402710B21F0900DCFA32 /* PlistBookmark */;
|
||||
ED4AC98010742365000706D8 /* PBXTextBookmark */ = ED4AC98010742365000706D8 /* PBXTextBookmark */;
|
||||
ED4AC98210742365000706D8 /* PBXTextBookmark */ = ED4AC98210742365000706D8 /* PBXTextBookmark */;
|
||||
ED4AC9AB10743318000706D8 /* PBXTextBookmark */ = ED4AC9AB10743318000706D8 /* PBXTextBookmark */;
|
||||
ED4AC9AC10743318000706D8 /* PBXTextBookmark */ = ED4AC9AC10743318000706D8 /* PBXTextBookmark */;
|
||||
ED845AB1109F5B3500F673AC /* PBXTextBookmark */ = ED845AB1109F5B3500F673AC /* PBXTextBookmark */;
|
||||
ED845AB2109F5B3500F673AC /* PlistBookmark */ = ED845AB2109F5B3500F673AC /* PlistBookmark */;
|
||||
EDAFC5A2109A14EE002C3487 /* PBXTextBookmark */ = EDAFC5A2109A14EE002C3487 /* PBXTextBookmark */;
|
||||
EDDA5A7E107BA97F003F55D3 /* PBXTextBookmark */ = EDDA5A7E107BA97F003F55D3 /* PBXTextBookmark */;
|
||||
EDDA5A80107BA97F003F55D3 /* PBXTextBookmark */ = EDDA5A80107BA97F003F55D3 /* PBXTextBookmark */;
|
||||
EDDA5A82107BA97F003F55D3 /* PBXTextBookmark */ = EDDA5A82107BA97F003F55D3 /* PBXTextBookmark */;
|
||||
EDDA5A83107BA97F003F55D3 /* PBXTextBookmark */ = EDDA5A83107BA97F003F55D3 /* PBXTextBookmark */;
|
||||
EDDA5A84107BA97F003F55D3 /* PBXTextBookmark */ = EDDA5A84107BA97F003F55D3 /* PBXTextBookmark */;
|
||||
ED89CF4410D0693D006A2D2E /* PBXTextBookmark */ = ED89CF4410D0693D006A2D2E /* PBXTextBookmark */;
|
||||
ED89CF4610D0693D006A2D2E /* PBXTextBookmark */ = ED89CF4610D0693D006A2D2E /* PBXTextBookmark */;
|
||||
ED89CF4710D0693D006A2D2E /* PBXTextBookmark */ = ED89CF4710D0693D006A2D2E /* PBXTextBookmark */;
|
||||
ED89CF4810D0693D006A2D2E /* PBXTextBookmark */ = ED89CF4810D0693D006A2D2E /* PBXTextBookmark */;
|
||||
ED89CF4910D0693D006A2D2E /* PBXTextBookmark */ = ED89CF4910D0693D006A2D2E /* PBXTextBookmark */;
|
||||
ED89F57010DC207800C8A107 /* PlistBookmark */ = ED89F57010DC207800C8A107 /* PlistBookmark */;
|
||||
ED89F58710DC257400C8A107 /* PBXTextBookmark */ = ED89F58710DC257400C8A107 /* PBXTextBookmark */;
|
||||
ED89F58F10DC27DD00C8A107 /* PBXTextBookmark */ = ED89F58F10DC27DD00C8A107 /* PBXTextBookmark */;
|
||||
ED89F5B010DC406A00C8A107 /* PBXTextBookmark */ = ED89F5B010DC406A00C8A107 /* PBXTextBookmark */;
|
||||
ED89F5B110DC406A00C8A107 /* PBXTextBookmark */ = ED89F5B110DC406A00C8A107 /* PBXTextBookmark */;
|
||||
ED89F5B210DC406A00C8A107 /* PBXTextBookmark */ = ED89F5B210DC406A00C8A107 /* PBXTextBookmark */;
|
||||
EDB41E9910DADFF000487A3B /* PlistBookmark */ = EDB41E9910DADFF000487A3B /* PlistBookmark */;
|
||||
EDB41E9A10DADFF000487A3B /* PBXTextBookmark */ = EDB41E9A10DADFF000487A3B /* PBXTextBookmark */;
|
||||
EDB41EAF10DAE14F00487A3B /* PBXTextBookmark */ = EDB41EAF10DAE14F00487A3B /* PBXTextBookmark */;
|
||||
EDB41EB110DAE14F00487A3B /* PBXTextBookmark */ = EDB41EB110DAE14F00487A3B /* PBXTextBookmark */;
|
||||
EDB41ECB10DAE24C00487A3B /* PBXTextBookmark */ = EDB41ECB10DAE24C00487A3B /* PBXTextBookmark */;
|
||||
EDB41EFD10DAEE4800487A3B /* PBXTextBookmark */ = EDB41EFD10DAEE4800487A3B /* PBXTextBookmark */;
|
||||
EDB41EFE10DAEE4800487A3B /* PBXTextBookmark */ = EDB41EFE10DAEE4800487A3B /* PBXTextBookmark */;
|
||||
EDB41F0110DAEE4800487A3B /* PBXTextBookmark */ = EDB41F0110DAEE4800487A3B /* PBXTextBookmark */;
|
||||
EDB41F1110DAF0FC00487A3B /* PBXTextBookmark */ = EDB41F1110DAF0FC00487A3B /* PBXTextBookmark */;
|
||||
EDB41F3610DAF95B00487A3B /* PBXTextBookmark */ = EDB41F3610DAF95B00487A3B /* PBXTextBookmark */;
|
||||
EDC7BE4810D95AF900DA2765 /* PBXTextBookmark */ = EDC7BE4810D95AF900DA2765 /* PBXTextBookmark */;
|
||||
EDC7BE4910D95AF900DA2765 /* PBXTextBookmark */ = EDC7BE4910D95AF900DA2765 /* PBXTextBookmark */;
|
||||
EDFA7075119383080098FFFC /* PBXTextBookmark */ = EDFA7075119383080098FFFC /* PBXTextBookmark */;
|
||||
EDFA7084119384150098FFFC /* PBXTextBookmark */ = EDFA7084119384150098FFFC /* PBXTextBookmark */;
|
||||
};
|
||||
sourceControlManager = ED0A8CF91069A9F5001E0547 /* Source Control */;
|
||||
userBuildSettings = {
|
||||
@@ -103,24 +117,31 @@
|
||||
};
|
||||
43AF6B940F996DA200777569 /* iphone_sys.m */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {852, 1050}}";
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1651, 1050}}";
|
||||
sepNavSelRange = "{1419, 24}";
|
||||
sepNavVisRange = "{771, 1684}";
|
||||
sepNavVisRange = "{289, 2254}";
|
||||
};
|
||||
};
|
||||
43CF03090F56D5C200E4A23D /* iphone_loop.c */ = {
|
||||
uiCtxt = {
|
||||
sepNavFolds = "{\n c = (\n {\n l = \"int y\";\n r = \"{41674, 9}\";\n s = 1;\n },\n {\n l = \"int width\";\n r = \"{41685, 13}\";\n s = 1;\n },\n {\n l = \"int height\";\n r = \"{41700, 14}\";\n s = 1;\n },\n {\n l = \"const char * str\";\n r = \"{41716, 20}\";\n s = 1;\n }\n );\n r = \"{0, 41792}\";\n s = 0;\n}";
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1061, 24388}}";
|
||||
sepNavSelRange = "{27221, 8}";
|
||||
sepNavVisRange = "{26941, 622}";
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1061, 24066}}";
|
||||
sepNavSelRange = "{34481, 0}";
|
||||
sepNavVisRange = "{34065, 813}";
|
||||
};
|
||||
};
|
||||
43E8D2DF0F4FC61E003F09B2 /* iphone_main.c */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {741, 5418}}";
|
||||
sepNavSelRange = "{1413, 4}";
|
||||
sepNavVisRange = "{970, 956}";
|
||||
sepNavIntBoundsRect = "{{0, 0}, {741, 4760}}";
|
||||
sepNavSelRange = "{5816, 0}";
|
||||
sepNavVisRange = "{5166, 2013}";
|
||||
};
|
||||
};
|
||||
7229CC250F6B3222004123C5 /* wolf_actor_ai.c */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1061, 13384}}";
|
||||
sepNavSelRange = "{1895, 9}";
|
||||
sepNavVisRange = "{1545, 981}";
|
||||
};
|
||||
};
|
||||
7229CC270F6B3222004123C5 /* wolf_actors.c */ = {
|
||||
@@ -130,6 +151,90 @@
|
||||
sepNavVisRange = "{0, 1418}";
|
||||
};
|
||||
};
|
||||
7229CC290F6B3222004123C5 /* wolf_ai_com.c */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1061, 18186}}";
|
||||
sepNavSelRange = "{24018, 9}";
|
||||
sepNavVisRange = "{23772, 594}";
|
||||
};
|
||||
};
|
||||
7229CC2E0F6B3222004123C5 /* wolf_client_main.c */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1061, 2142}}";
|
||||
sepNavSelRange = "{1430, 9}";
|
||||
sepNavVisRange = "{1285, 710}";
|
||||
};
|
||||
};
|
||||
7229CC310F6B3222004123C5 /* wolf_level.c */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1061, 20342}}";
|
||||
sepNavSelRange = "{19282, 0}";
|
||||
sepNavVisRange = "{19052, 690}";
|
||||
};
|
||||
};
|
||||
7229CC320F6B3222004123C5 /* wolf_level.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1061, 3976}}";
|
||||
sepNavSelRange = "{5009, 7}";
|
||||
sepNavVisRange = "{4411, 607}";
|
||||
};
|
||||
};
|
||||
7229CC330F6B3222004123C5 /* wolf_local.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1061, 1932}}";
|
||||
sepNavSelRange = "{1187, 0}";
|
||||
sepNavVisRange = "{867, 423}";
|
||||
};
|
||||
};
|
||||
7229CC340F6B3222004123C5 /* wolf_main.c */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1061, 1260}}";
|
||||
sepNavSelRange = "{1698, 9}";
|
||||
sepNavVisRange = "{1375, 596}";
|
||||
};
|
||||
};
|
||||
7229CC380F6B3222004123C5 /* wolf_player.c */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1127, 14616}}";
|
||||
sepNavSelRange = "{2849, 0}";
|
||||
sepNavVisRange = "{2450, 554}";
|
||||
};
|
||||
};
|
||||
7229CC3A0F6B3222004123C5 /* wolf_powerups.c */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1061, 5376}}";
|
||||
sepNavSelRange = "{7666, 0}";
|
||||
sepNavVisRange = "{7116, 1214}";
|
||||
};
|
||||
};
|
||||
7229CC3C0F6B3222004123C5 /* wolf_pushwalls.c */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1061, 2310}}";
|
||||
sepNavSelRange = "{2623, 9}";
|
||||
sepNavVisRange = "{2617, 967}";
|
||||
};
|
||||
};
|
||||
7229CC3D0F6B3222004123C5 /* wolf_raycast.c */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1127, 5348}}";
|
||||
sepNavSelRange = "{2319, 0}";
|
||||
sepNavVisRange = "{2010, 511}";
|
||||
};
|
||||
};
|
||||
7229CC3F0F6B3222004123C5 /* wolf_renderer.c */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1061, 1456}}";
|
||||
sepNavSelRange = "{2450, 9}";
|
||||
sepNavVisRange = "{2238, 497}";
|
||||
};
|
||||
};
|
||||
7229CC430F6B3222004123C5 /* wolf_sv_ccmds.c */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1061, 1344}}";
|
||||
sepNavSelRange = "{2007, 5}";
|
||||
sepNavVisRange = "{1624, 525}";
|
||||
};
|
||||
};
|
||||
7229CC8E0F6B3363004123C5 /* wolfiphone.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {741, 1260}}";
|
||||
@@ -139,9 +244,9 @@
|
||||
};
|
||||
7229CE460F6C89F8004123C5 /* EAGLView.m */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {786, 6650}}";
|
||||
sepNavSelRange = "{0, 0}";
|
||||
sepNavVisRange = "{10594, 1878}";
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1061, 6706}}";
|
||||
sepNavSelRange = "{10810, 13}";
|
||||
sepNavVisRange = "{10594, 1180}";
|
||||
};
|
||||
};
|
||||
7229CE480F6C89F8004123C5 /* wolf3dAppDelegate.h */ = {
|
||||
@@ -153,9 +258,9 @@
|
||||
};
|
||||
7229CE490F6C89F8004123C5 /* wolf3dAppDelegate.m */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1074, 5012}}";
|
||||
sepNavSelRange = "{3930, 0}";
|
||||
sepNavVisRange = "{5119, 1271}";
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1074, 4872}}";
|
||||
sepNavSelRange = "{9060, 13}";
|
||||
sepNavVisRange = "{8605, 1087}";
|
||||
};
|
||||
};
|
||||
72935B1E0F6B2D9D0085DD28 /* arch.h */ = {
|
||||
@@ -165,6 +270,34 @@
|
||||
sepNavVisRange = "{2465, 1040}";
|
||||
};
|
||||
};
|
||||
72935B2D0F6B2D9D0085DD28 /* cvar.c */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {741, 10542}}";
|
||||
sepNavSelRange = "{5889, 0}";
|
||||
sepNavVisRange = "{5250, 937}";
|
||||
};
|
||||
};
|
||||
72935B2E0F6B2D9D0085DD28 /* cvar.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {741, 2310}}";
|
||||
sepNavSelRange = "{3022, 0}";
|
||||
sepNavVisRange = "{2654, 1407}";
|
||||
};
|
||||
};
|
||||
72935B2F0F6B2D9D0085DD28 /* fileio.c */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1061, 4060}}";
|
||||
sepNavSelRange = "{5506, 0}";
|
||||
sepNavVisRange = "{4925, 708}";
|
||||
};
|
||||
};
|
||||
72935B5D0F6B2D9D0085DD28 /* sound_sfx_id.c */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1061, 4354}}";
|
||||
sepNavSelRange = "{5333, 9}";
|
||||
sepNavVisRange = "{5277, 575}";
|
||||
};
|
||||
};
|
||||
72935B630F6B2D9D0085DD28 /* tga.c */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {741, 10822}}";
|
||||
@@ -174,37 +307,25 @@
|
||||
};
|
||||
72A7E8F30F5F2001005B83C0 /* iphone_wolf.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {741, 3850}}";
|
||||
sepNavSelRange = "{1009, 0}";
|
||||
sepNavVisRange = "{0, 1316}";
|
||||
sepNavIntBoundsRect = "{{0, 0}, {741, 3682}}";
|
||||
sepNavSelRange = "{742, 0}";
|
||||
sepNavVisRange = "{0, 1321}";
|
||||
};
|
||||
};
|
||||
72A7E8F60F5F2063005B83C0 /* iphone_menus.c */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {900, 56714}}";
|
||||
sepNavSelRange = "{66944, 0}";
|
||||
sepNavVisRange = "{62588, 1640}";
|
||||
sepNavIntBoundsRect = "{{0, 0}, {2202, 55510}}";
|
||||
sepNavSelRange = "{76416, 0}";
|
||||
sepNavVisRange = "{75965, 1083}";
|
||||
};
|
||||
};
|
||||
ED0653B61087719F00E5450B /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 43AF6B940F996DA200777569 /* iphone_sys.m */;
|
||||
name = "iphone_sys.m: 40";
|
||||
rLen = 24;
|
||||
rLoc = 1419;
|
||||
rType = 0;
|
||||
vrLen = 1684;
|
||||
vrLoc = 771;
|
||||
};
|
||||
ED0653B81087719F00E5450B /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 43AF6B940F996DA200777569 /* iphone_sys.m */;
|
||||
name = "iphone_sys.m: 40";
|
||||
rLen = 24;
|
||||
rLoc = 1419;
|
||||
rType = 0;
|
||||
vrLen = 1684;
|
||||
vrLoc = 771;
|
||||
72B5FF380F7E5C3D00C8A372 /* hud.c */ = {
|
||||
uiCtxt = {
|
||||
sepNavFolds = "{\n c = (\n {\n l = \"int * y\";\n r = \"{11911, 11}\";\n s = 1;\n }\n );\n r = \"{0, 16141}\";\n s = 0;\n}";
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1061, 7784}}";
|
||||
sepNavSelRange = "{2416, 0}";
|
||||
sepNavVisRange = "{2009, 1134}";
|
||||
};
|
||||
};
|
||||
ED0A8CE41069A9CF001E0547 /* wolf3d */ = {
|
||||
isa = PBXExecutable;
|
||||
@@ -217,6 +338,9 @@
|
||||
configStateDict = {
|
||||
};
|
||||
customDataFormattersEnabled = 1;
|
||||
dataTipCustomDataFormattersEnabled = 1;
|
||||
dataTipShowTypeColumn = 1;
|
||||
dataTipSortType = 0;
|
||||
debuggerPlugin = GDBDebugging;
|
||||
disassemblyDisplayState = 0;
|
||||
dylibVariantSuffix = "";
|
||||
@@ -229,6 +353,7 @@
|
||||
name = wolf3d;
|
||||
savedGlobals = {
|
||||
};
|
||||
showTypeColumn = 0;
|
||||
sourceDirectories = (
|
||||
);
|
||||
variableFormatDictionary = {
|
||||
@@ -239,24 +364,55 @@
|
||||
fallbackIsa = XCSourceControlManager;
|
||||
isSCMEnabled = 0;
|
||||
scmConfiguration = {
|
||||
repositoryNamesForRoots = {
|
||||
"" = "";
|
||||
};
|
||||
};
|
||||
};
|
||||
ED0A8CFA1069A9F5001E0547 /* Code sense */ = {
|
||||
isa = PBXCodeSenseManager;
|
||||
indexTemplatePath = "";
|
||||
};
|
||||
ED0A8D0A1069ACA8001E0547 /* arialGlyphRects.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {741, 1512}}";
|
||||
sepNavSelRange = "{0, 0}";
|
||||
sepNavVisRange = "{0, 2920}";
|
||||
};
|
||||
};
|
||||
ED0A8D0B1069ACA8001E0547 /* iphone_alerts.h */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1651, 884}}";
|
||||
sepNavSelRange = "{362, 0}";
|
||||
sepNavVisRange = "{0, 419}";
|
||||
};
|
||||
};
|
||||
ED0A8D0C1069ACA8001E0547 /* iphone_alerts.m */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1061, 1638}}";
|
||||
sepNavSelRange = "{1027, 19}";
|
||||
sepNavVisRange = "{684, 647}";
|
||||
};
|
||||
};
|
||||
ED0A8D0D1069ACA8001E0547 /* iphone_downloadSOD.m */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {741, 7434}}";
|
||||
sepNavSelRange = "{1756, 0}";
|
||||
sepNavVisRange = "{1108, 1549}";
|
||||
sepNavIntBoundsRect = "{{0, 0}, {966, 7378}}";
|
||||
sepNavSelRange = "{5826, 0}";
|
||||
sepNavVisRange = "{15863, 1355}";
|
||||
};
|
||||
};
|
||||
ED0A8D0E1069ACA8001E0547 /* iphone_downloadUserMap.m */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {858, 2856}}";
|
||||
sepNavSelRange = "{0, 0}";
|
||||
sepNavVisRange = "{4517, 1352}";
|
||||
};
|
||||
};
|
||||
ED0A8D0F1069ACA8001E0547 /* iphone_mapselector.c */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {948, 6706}}";
|
||||
sepNavSelRange = "{7865, 0}";
|
||||
sepNavVisRange = "{1577, 1229}";
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1061, 6664}}";
|
||||
sepNavSelRange = "{10729, 9}";
|
||||
sepNavVisRange = "{10370, 764}";
|
||||
};
|
||||
};
|
||||
ED0A8D101069ACA8001E0547 /* iphone_store.h */ = {
|
||||
@@ -268,9 +424,9 @@
|
||||
};
|
||||
ED0A8D111069ACA8001E0547 /* iphone_store.m */ = {
|
||||
uiCtxt = {
|
||||
sepNavIntBoundsRect = "{{0, 0}, {741, 5964}}";
|
||||
sepNavSelRange = "{673, 17}";
|
||||
sepNavVisRange = "{0, 1394}";
|
||||
sepNavIntBoundsRect = "{{0, 0}, {1061, 6118}}";
|
||||
sepNavSelRange = "{2402, 13}";
|
||||
sepNavVisRange = "{1952, 677}";
|
||||
};
|
||||
};
|
||||
ED2754531085141B009C891E /* PBXTextBookmark */ = {
|
||||
@@ -283,97 +439,6 @@
|
||||
vrLen = 1878;
|
||||
vrLoc = 10594;
|
||||
};
|
||||
ED2754551085141B009C891E /* PlistBookmark */ = {
|
||||
isa = PlistBookmark;
|
||||
fRef = 8D1107310486CEB800E47090 /* Info.plist */;
|
||||
fallbackIsa = PBXBookmark;
|
||||
isK = 0;
|
||||
kPath = (
|
||||
UIPrerenderedIcon,
|
||||
);
|
||||
name = /Users/greghodges/wolf3dplatinum/wolf3d/code/iphone/Info.plist;
|
||||
rLen = 0;
|
||||
rLoc = 2147483647;
|
||||
};
|
||||
ED2754561085141B009C891E /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 7229CE460F6C89F8004123C5 /* EAGLView.m */;
|
||||
name = "EAGLView.m: 1";
|
||||
rLen = 0;
|
||||
rLoc = 0;
|
||||
rType = 0;
|
||||
vrLen = 1878;
|
||||
vrLoc = 10594;
|
||||
};
|
||||
ED2E5C05106C886700F57B9D /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = ED0A8D0D1069ACA8001E0547 /* iphone_downloadSOD.m */;
|
||||
name = "iphone_downloadSOD.m: 61";
|
||||
rLen = 0;
|
||||
rLoc = 1756;
|
||||
rType = 0;
|
||||
vrLen = 1549;
|
||||
vrLoc = 1108;
|
||||
};
|
||||
ED2E5C06106C886700F57B9D /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = ED2E5C07106C886700F57B9D /* OpenTGA.c */;
|
||||
name = "OpenTGA.c: 1";
|
||||
rLen = 0;
|
||||
rLoc = 0;
|
||||
rType = 0;
|
||||
vrLen = 722;
|
||||
vrLoc = 12240;
|
||||
};
|
||||
ED2E5C07106C886700F57B9D /* OpenTGA.c */ = {
|
||||
isa = PBXFileReference;
|
||||
lastKnownFileType = sourcecode.c.c;
|
||||
name = OpenTGA.c;
|
||||
path = /Users/greghodges/Desktop/MyTGAConverter/OpenTGA.c;
|
||||
sourceTree = "<absolute>";
|
||||
};
|
||||
ED2E5C0A106C886700F57B9D /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = ED0A8D0D1069ACA8001E0547 /* iphone_downloadSOD.m */;
|
||||
name = "iphone_downloadSOD.m: 61";
|
||||
rLen = 0;
|
||||
rLoc = 1756;
|
||||
rType = 0;
|
||||
vrLen = 1549;
|
||||
vrLoc = 1108;
|
||||
};
|
||||
ED2E5C0B106C886700F57B9D /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = ED2E5C0C106C886700F57B9D /* OpenTGA.c */;
|
||||
name = "OpenTGA.c: 1";
|
||||
rLen = 0;
|
||||
rLoc = 0;
|
||||
rType = 0;
|
||||
vrLen = 722;
|
||||
vrLoc = 12240;
|
||||
};
|
||||
ED2E5C0C106C886700F57B9D /* OpenTGA.c */ = {
|
||||
isa = PBXFileReference;
|
||||
lastKnownFileType = sourcecode.c.c;
|
||||
name = OpenTGA.c;
|
||||
path = /Users/greghodges/Desktop/MyTGAConverter/OpenTGA.c;
|
||||
sourceTree = "<absolute>";
|
||||
};
|
||||
ED3703CD106C20620059C5F8 /* PlistBookmark */ = {
|
||||
isa = PlistBookmark;
|
||||
fRef = ED3703CE106C20620059C5F8;
|
||||
fallbackIsa = PBXBookmark;
|
||||
isK = 0;
|
||||
kPath = (
|
||||
);
|
||||
rLen = 0;
|
||||
rLoc = 2147483647;
|
||||
};
|
||||
ED3703CE106C20620059C5F8 = {
|
||||
isa = PBXFileReference;
|
||||
lastKnownFileType = folder;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
ED45402110B21F0900DCFA32 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 7229CC270F6B3222004123C5 /* wolf_actors.c */;
|
||||
@@ -404,175 +469,256 @@
|
||||
vrLen = 1205;
|
||||
vrLoc = 0;
|
||||
};
|
||||
ED45402410B21F0900DCFA32 /* PBXTextBookmark */ = {
|
||||
ED89CF4410D0693D006A2D2E /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 7229CC270F6B3222004123C5 /* wolf_actors.c */;
|
||||
name = "wolf_actors.c: 5";
|
||||
rLen = 0;
|
||||
rLoc = 84;
|
||||
rType = 0;
|
||||
vrLen = 1418;
|
||||
vrLoc = 0;
|
||||
};
|
||||
ED45402510B21F0900DCFA32 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 7229CE490F6C89F8004123C5 /* wolf3dAppDelegate.m */;
|
||||
name = "wolf3dAppDelegate.m: 124";
|
||||
rLen = 0;
|
||||
rLoc = 3930;
|
||||
rType = 0;
|
||||
vrLen = 1271;
|
||||
vrLoc = 5119;
|
||||
};
|
||||
ED45402610B21F0900DCFA32 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 7229CE480F6C89F8004123C5 /* wolf3dAppDelegate.h */;
|
||||
name = "wolf3dAppDelegate.h: 1";
|
||||
fRef = ED0A8D0A1069ACA8001E0547 /* arialGlyphRects.h */;
|
||||
name = "arialGlyphRects.h: 1";
|
||||
rLen = 0;
|
||||
rLoc = 0;
|
||||
rType = 0;
|
||||
vrLen = 1205;
|
||||
vrLen = 2920;
|
||||
vrLoc = 0;
|
||||
};
|
||||
ED45402710B21F0900DCFA32 /* PlistBookmark */ = {
|
||||
ED89CF4610D0693D006A2D2E /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = ED0A8D0C1069ACA8001E0547 /* iphone_alerts.m */;
|
||||
name = "iphone_alerts.m: 1";
|
||||
rLen = 0;
|
||||
rLoc = 0;
|
||||
rType = 0;
|
||||
vrLen = 965;
|
||||
vrLoc = 868;
|
||||
};
|
||||
ED89CF4710D0693D006A2D2E /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = ED0A8D0D1069ACA8001E0547 /* iphone_downloadSOD.m */;
|
||||
name = "iphone_downloadSOD.m: 185";
|
||||
rLen = 0;
|
||||
rLoc = 5826;
|
||||
rType = 0;
|
||||
vrLen = 1355;
|
||||
vrLoc = 15863;
|
||||
};
|
||||
ED89CF4810D0693D006A2D2E /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = ED0A8D0E1069ACA8001E0547 /* iphone_downloadUserMap.m */;
|
||||
name = "iphone_downloadUserMap.m: 1";
|
||||
rLen = 0;
|
||||
rLoc = 0;
|
||||
rType = 0;
|
||||
vrLen = 1352;
|
||||
vrLoc = 4517;
|
||||
};
|
||||
ED89CF4910D0693D006A2D2E /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = ED0A8D0F1069ACA8001E0547 /* iphone_mapselector.c */;
|
||||
name = "iphone_mapselector.c: 341";
|
||||
rLen = 0;
|
||||
rLoc = 7864;
|
||||
rType = 0;
|
||||
vrLen = 1282;
|
||||
vrLoc = 1549;
|
||||
};
|
||||
ED89F57010DC207800C8A107 /* PlistBookmark */ = {
|
||||
isa = PlistBookmark;
|
||||
fRef = 8D1107310486CEB800E47090 /* Info.plist */;
|
||||
fallbackIsa = PBXBookmark;
|
||||
isK = 0;
|
||||
kPath = (
|
||||
UIPrerenderedIcon,
|
||||
);
|
||||
name = /Users/greghodges/wolf3dplatinum/wolf3d/code/iphone/Info.plist;
|
||||
rLen = 0;
|
||||
rLoc = 2147483647;
|
||||
};
|
||||
ED4AC98010742365000706D8 /* PBXTextBookmark */ = {
|
||||
ED89F58710DC257400C8A107 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = EDD56B7E10740B7A007C0E16 /* ConvertTGA.c */;
|
||||
name = "ConvertTGA.c: 1";
|
||||
fRef = 72935B2D0F6B2D9D0085DD28 /* cvar.c */;
|
||||
name = "cvar.c: 286";
|
||||
rLen = 0;
|
||||
rLoc = 0;
|
||||
rLoc = 5889;
|
||||
rType = 0;
|
||||
vrLen = 1082;
|
||||
vrLoc = 18055;
|
||||
vrLen = 937;
|
||||
vrLoc = 5250;
|
||||
};
|
||||
ED4AC98210742365000706D8 /* PBXTextBookmark */ = {
|
||||
ED89F58F10DC27DD00C8A107 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = EDD56B7E10740B7A007C0E16 /* ConvertTGA.c */;
|
||||
name = "ConvertTGA.c: 1";
|
||||
fRef = 7229CC340F6B3222004123C5 /* wolf_main.c */;
|
||||
name = "wolf_main.c: 73";
|
||||
rLen = 0;
|
||||
rLoc = 0;
|
||||
rLoc = 1674;
|
||||
rType = 0;
|
||||
vrLen = 1082;
|
||||
vrLoc = 18055;
|
||||
vrLen = 938;
|
||||
vrLoc = 1084;
|
||||
};
|
||||
ED4AC9AB10743318000706D8 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 7229CE490F6C89F8004123C5 /* wolf3dAppDelegate.m */;
|
||||
name = "wolf3dAppDelegate.m: 124";
|
||||
rLen = 0;
|
||||
rLoc = 3930;
|
||||
rType = 0;
|
||||
vrLen = 1417;
|
||||
vrLoc = 3274;
|
||||
};
|
||||
ED4AC9AC10743318000706D8 /* PBXTextBookmark */ = {
|
||||
ED89F5B010DC406A00C8A107 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 72A7E8F60F5F2063005B83C0 /* iphone_menus.c */;
|
||||
name = "iphone_menus.c: 1111";
|
||||
rLen = 13;
|
||||
rLoc = 31543;
|
||||
rType = 0;
|
||||
vrLen = 2083;
|
||||
vrLoc = 30775;
|
||||
};
|
||||
ED845AB1109F5B3500F673AC /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 72A7E8F60F5F2063005B83C0 /* iphone_menus.c */;
|
||||
name = "iphone_menus.c: 2407";
|
||||
name = "iphone_menus.c: 2810";
|
||||
rLen = 0;
|
||||
rLoc = 66944;
|
||||
rLoc = 76416;
|
||||
rType = 0;
|
||||
vrLen = 1640;
|
||||
vrLoc = 62588;
|
||||
vrLen = 1083;
|
||||
vrLoc = 75965;
|
||||
};
|
||||
ED845AB2109F5B3500F673AC /* PlistBookmark */ = {
|
||||
ED89F5B110DC406A00C8A107 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 72935B2E0F6B2D9D0085DD28 /* cvar.h */;
|
||||
name = "cvar.h: 101";
|
||||
rLen = 0;
|
||||
rLoc = 3022;
|
||||
rType = 0;
|
||||
vrLen = 1407;
|
||||
vrLoc = 2654;
|
||||
};
|
||||
ED89F5B210DC406A00C8A107 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 72A7E8F30F5F2001005B83C0 /* iphone_wolf.h */;
|
||||
name = "iphone_wolf.h: 20";
|
||||
rLen = 0;
|
||||
rLoc = 742;
|
||||
rType = 0;
|
||||
vrLen = 1321;
|
||||
vrLoc = 0;
|
||||
};
|
||||
EDB41E9910DADFF000487A3B /* PlistBookmark */ = {
|
||||
isa = PlistBookmark;
|
||||
fRef = 8D1107310486CEB800E47090 /* Info.plist */;
|
||||
fRef = 4364BF3E0F5CB25900F29317 /* dist.plist */;
|
||||
fallbackIsa = PBXBookmark;
|
||||
isK = 0;
|
||||
kPath = (
|
||||
UIPrerenderedIcon,
|
||||
);
|
||||
name = /Users/greghodges/wolf3dplatinum/wolf3d/code/iphone/Info.plist;
|
||||
name = /Users/greghodges/wolf3dplatinum/wolf3d/code/iphone/dist.plist;
|
||||
rLen = 0;
|
||||
rLoc = 2147483647;
|
||||
};
|
||||
EDAFC5A2109A14EE002C3487 /* PBXTextBookmark */ = {
|
||||
EDB41E9A10DADFF000487A3B /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 43E8D2DF0F4FC61E003F09B2 /* iphone_main.c */;
|
||||
name = "iphone_main.c: 50";
|
||||
rLen = 4;
|
||||
rLoc = 1413;
|
||||
fRef = 72935B2F0F6B2D9D0085DD28 /* fileio.c */;
|
||||
name = "fileio.c: 1";
|
||||
rLen = 0;
|
||||
rLoc = 0;
|
||||
rType = 0;
|
||||
vrLen = 956;
|
||||
vrLoc = 970;
|
||||
vrLen = 1148;
|
||||
vrLoc = 2350;
|
||||
};
|
||||
EDD56B7E10740B7A007C0E16 /* ConvertTGA.c */ = {
|
||||
isa = PBXFileReference;
|
||||
lastKnownFileType = sourcecode.c.c;
|
||||
name = ConvertTGA.c;
|
||||
path = /Users/greghodges/Desktop/MyTGAConverter/ConvertTGA.c;
|
||||
sourceTree = "<absolute>";
|
||||
EDB41EAF10DAE14F00487A3B /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 43AF6B940F996DA200777569 /* iphone_sys.m */;
|
||||
name = "iphone_sys.m: 40";
|
||||
rLen = 24;
|
||||
rLoc = 1419;
|
||||
rType = 0;
|
||||
vrLen = 2254;
|
||||
vrLoc = 289;
|
||||
};
|
||||
EDDA5A7E107BA97F003F55D3 /* PBXTextBookmark */ = {
|
||||
EDB41EB110DAE14F00487A3B /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 43CF03090F56D5C200E4A23D /* iphone_loop.c */;
|
||||
name = "iphone_loop.c: 1226";
|
||||
rLen = 0;
|
||||
rLoc = 28766;
|
||||
rType = 0;
|
||||
vrLen = 942;
|
||||
vrLoc = 28216;
|
||||
vrLen = 1255;
|
||||
vrLoc = 30135;
|
||||
};
|
||||
EDDA5A80107BA97F003F55D3 /* PBXTextBookmark */ = {
|
||||
EDB41ECB10DAE24C00487A3B /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = ED0A8D0F1069ACA8001E0547 /* iphone_mapselector.c */;
|
||||
name = "iphone_mapselector.c: 341";
|
||||
fRef = 7229CC320F6B3222004123C5 /* wolf_level.h */;
|
||||
name = "wolf_level.h: 232";
|
||||
rLen = 0;
|
||||
rLoc = 7865;
|
||||
rLoc = 5017;
|
||||
rType = 0;
|
||||
vrLen = 1229;
|
||||
vrLoc = 1577;
|
||||
vrLen = 1538;
|
||||
vrLoc = 4647;
|
||||
};
|
||||
EDDA5A82107BA97F003F55D3 /* PBXTextBookmark */ = {
|
||||
EDB41EFD10DAEE4800487A3B /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 43CF03090F56D5C200E4A23D /* iphone_loop.c */;
|
||||
name = "iphone_loop.c: 1226";
|
||||
rLen = 0;
|
||||
rLoc = 28766;
|
||||
fRef = 7229CC2E0F6B3222004123C5 /* wolf_client_main.c */;
|
||||
name = "wolf_client_main.c: 76";
|
||||
rLen = 19;
|
||||
rLoc = 1963;
|
||||
rType = 0;
|
||||
vrLen = 942;
|
||||
vrLoc = 28216;
|
||||
vrLen = 1735;
|
||||
vrLoc = 1148;
|
||||
};
|
||||
EDDA5A83107BA97F003F55D3 /* PBXTextBookmark */ = {
|
||||
EDB41EFE10DAEE4800487A3B /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 7229CC3F0F6B3222004123C5 /* wolf_renderer.c */;
|
||||
name = "wolf_renderer.c: 72";
|
||||
rLen = 0;
|
||||
rLoc = 2093;
|
||||
rType = 0;
|
||||
vrLen = 1527;
|
||||
vrLoc = 1208;
|
||||
};
|
||||
EDB41F0110DAEE4800487A3B /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 7229CC3D0F6B3222004123C5 /* wolf_raycast.c */;
|
||||
name = "wolf_raycast.c: 92";
|
||||
rLen = 0;
|
||||
rLoc = 2319;
|
||||
rType = 0;
|
||||
vrLen = 1398;
|
||||
vrLoc = 1520;
|
||||
};
|
||||
EDB41F1110DAF0FC00487A3B /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 7229CC310F6B3222004123C5 /* wolf_level.c */;
|
||||
name = "wolf_level.c: 922";
|
||||
rLen = 0;
|
||||
rLoc = 19218;
|
||||
rType = 0;
|
||||
vrLen = 1355;
|
||||
vrLoc = 18618;
|
||||
};
|
||||
EDB41F3610DAF95B00487A3B /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = ED0A8D0B1069ACA8001E0547 /* iphone_alerts.h */;
|
||||
name = "iphone_alerts.h: 17";
|
||||
rLen = 0;
|
||||
rLoc = 362;
|
||||
rType = 0;
|
||||
vrLen = 419;
|
||||
vrLoc = 0;
|
||||
};
|
||||
EDC7BE4810D95AF900DA2765 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = ED0A8D101069ACA8001E0547 /* iphone_store.h */;
|
||||
name = "iphone_store.h: 1";
|
||||
rLen = 0;
|
||||
rLoc = 0;
|
||||
rType = 0;
|
||||
vrLen = 1253;
|
||||
vrLoc = 0;
|
||||
};
|
||||
EDC7BE4910D95AF900DA2765 /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = ED0A8D111069ACA8001E0547 /* iphone_store.m */;
|
||||
name = "iphone_store.m: 399";
|
||||
rLen = 9;
|
||||
rLoc = 11914;
|
||||
rType = 0;
|
||||
vrLen = 1577;
|
||||
vrLoc = 11199;
|
||||
};
|
||||
EDFA7075119383080098FFFC /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = 43E8D2DF0F4FC61E003F09B2 /* iphone_main.c */;
|
||||
name = "iphone_main.c: 272";
|
||||
name = "iphone_main.c: 207";
|
||||
rLen = 0;
|
||||
rLoc = 7878;
|
||||
rLoc = 5816;
|
||||
rType = 0;
|
||||
vrLen = 1550;
|
||||
vrLoc = 7519;
|
||||
vrLen = 2013;
|
||||
vrLoc = 5166;
|
||||
};
|
||||
EDDA5A84107BA97F003F55D3 /* PBXTextBookmark */ = {
|
||||
EDFA7084119384150098FFFC /* PBXTextBookmark */ = {
|
||||
isa = PBXTextBookmark;
|
||||
fRef = ED0A8D0F1069ACA8001E0547 /* iphone_mapselector.c */;
|
||||
name = "iphone_mapselector.c: 341";
|
||||
fRef = 43E8D2DF0F4FC61E003F09B2 /* iphone_main.c */;
|
||||
name = "iphone_main.c: 207";
|
||||
rLen = 0;
|
||||
rLoc = 7865;
|
||||
rLoc = 5816;
|
||||
rType = 0;
|
||||
vrLen = 1229;
|
||||
vrLoc = 1577;
|
||||
vrLen = 2013;
|
||||
vrLoc = 5166;
|
||||
};
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
7
wolf3d/code/iphone/wolf3d.xcodeproj/project.xcworkspace/contents.xcworkspacedata
generated
Normal file
7
wolf3d/code/iphone/wolf3d.xcodeproj/project.xcworkspace/contents.xcworkspacedata
generated
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "self:wolf3d.xcodeproj">
|
||||
</FileRef>
|
||||
</Workspace>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>IDEWorkspaceUserSettings_BuildLocationStyle</key>
|
||||
<integer>2</integer>
|
||||
</dict>
|
||||
</plist>
|
||||
1621
wolf3d/code/iphone/wolf3d.xcodeproj/ryan.gerleve.mode1v3
Normal file
1621
wolf3d/code/iphone/wolf3d.xcodeproj/ryan.gerleve.mode1v3
Normal file
File diff suppressed because it is too large
Load Diff
3284
wolf3d/code/iphone/wolf3d.xcodeproj/ryan.gerleve.pbxuser
Normal file
3284
wolf3d/code/iphone/wolf3d.xcodeproj/ryan.gerleve.pbxuser
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Bucket
|
||||
type = "1"
|
||||
version = "1.0">
|
||||
<FileBreakpoints>
|
||||
<FileBreakpoint
|
||||
shouldBeEnabled = "No"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
isPathRelative = "1"
|
||||
filePath = "EAGLView.m"
|
||||
timestampString = "333053394.1999959"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "353"
|
||||
endingLineNumber = "353">
|
||||
</FileBreakpoint>
|
||||
</FileBreakpoints>
|
||||
</Bucket>
|
||||
@@ -0,0 +1,76 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
|
||||
BuildableName = "wolf3d.app"
|
||||
BlueprintName = "wolf3d"
|
||||
ReferencedContainer = "container:wolf3d.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
buildConfiguration = "Debug">
|
||||
<Testables>
|
||||
</Testables>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
|
||||
displayScaleIsEnabled = "NO"
|
||||
displayScale = "1.00"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Debug">
|
||||
<BuildableProductRunnable>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
|
||||
BuildableName = "wolf3d.app"
|
||||
BlueprintName = "wolf3d"
|
||||
ReferencedContainer = "container:wolf3d.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
displayScaleIsEnabled = "NO"
|
||||
displayScale = "1.00"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Release">
|
||||
<BuildableProductRunnable>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
|
||||
BuildableName = "wolf3d.app"
|
||||
BlueprintName = "wolf3d"
|
||||
ReferencedContainer = "container:wolf3d.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
||||
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>SchemeUserState</key>
|
||||
<dict>
|
||||
<key>wolf3d.xcscheme</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>SuppressBuildableAutocreation</key>
|
||||
<dict>
|
||||
<key>1D6058900D05DD3D006BFB54</key>
|
||||
<dict>
|
||||
<key>primary</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -1,6 +1,9 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2009 Id Software, Inc.
|
||||
Copyright (C) 2009-2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
@@ -20,22 +23,46 @@
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import <UIKit/UIAccelerometer.h>
|
||||
#import <AVFoundation/AVAudioPlayer.h>
|
||||
|
||||
#import "iphone_store.h"
|
||||
|
||||
@class EAGLView;
|
||||
@class wolf3dViewController;
|
||||
|
||||
@interface wolf3dAppDelegate : NSObject <UIApplicationDelegate, UIAccelerometerDelegate, UIAlertViewDelegate> {
|
||||
UIWindow *window;
|
||||
EAGLView *glView;
|
||||
UINavigationController *navigationController;
|
||||
wolf3dViewController *viewController;
|
||||
int lastAccelUpdateMsec;
|
||||
|
||||
|
||||
@private
|
||||
UIView *waitingView;
|
||||
// UIAlertView *alertPurchaseSpear;
|
||||
AVAudioPlayer * player;
|
||||
}
|
||||
|
||||
@property (nonatomic, retain) IBOutlet UIWindow *window;
|
||||
@property (nonatomic, retain) IBOutlet EAGLView *glView;
|
||||
@property (nonatomic, retain) IBOutlet wolf3dViewController *viewController;
|
||||
@property (nonatomic, retain) UINavigationController *navigationController;
|
||||
@property (nonatomic, retain) UIView *waitingView;
|
||||
@property (nonatomic, retain) AVAudioPlayer *player;
|
||||
|
||||
- (void)initMenuMusicPlayer;
|
||||
|
||||
- (void)startMenuMusic;
|
||||
- (void)stopMenuMusic;
|
||||
|
||||
|
||||
- (void)restartAccelerometerIfNeeded;
|
||||
- (void)showOpenGL;
|
||||
- (void)GLtoMainMenu;
|
||||
- (void)GLtoPreviousMenu;
|
||||
- (void)didRotate:(NSNotification *)notification;
|
||||
- (void)setScreenForOrientation:(UIDeviceOrientation)orientation;
|
||||
|
||||
- (void)dismissWaitingView;
|
||||
|
||||
@end
|
||||
|
||||
// Callback for in-app purchase.
|
||||
void inAppPurchaseCallback( InAppPurchaseResult result );
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2009 Id Software, Inc.
|
||||
Copyright (C) 2009-2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
@@ -19,6 +22,8 @@
|
||||
*/
|
||||
|
||||
#import "wolf3dAppDelegate.h"
|
||||
#import "MainMenuViewController.h"
|
||||
#import "wolf3dViewController.h"
|
||||
#import "EAGLView.h"
|
||||
#import <AudioToolbox/AudioServices.h>
|
||||
#include "../wolfiphone.h"
|
||||
@@ -34,6 +39,8 @@ extern void AppendUserDataToFile(NSData* data);
|
||||
//used for downloading custom made map
|
||||
extern void FinalizeUserDownload();
|
||||
|
||||
yesNoBoxType_t currentYesNoBox = YESNO_NONE;
|
||||
|
||||
#if SPEARSTOREKIT
|
||||
//was used for storekit
|
||||
extern void FinalizeDownload();
|
||||
@@ -45,7 +52,6 @@ extern void GetSpear();
|
||||
|
||||
extern void DownloadURLConnection(char *url);
|
||||
|
||||
extern int wasCalledFromDownloadInstructionsMenu;
|
||||
extern void iphoneSet2D();
|
||||
|
||||
|
||||
@@ -72,13 +78,51 @@ void SysIPhoneVibrate() {
|
||||
@implementation wolf3dAppDelegate
|
||||
|
||||
@synthesize window;
|
||||
@synthesize glView;
|
||||
@synthesize viewController;
|
||||
@synthesize navigationController;
|
||||
@synthesize waitingView;
|
||||
@synthesize player;
|
||||
|
||||
|
||||
- (void)applicationDidFinishLaunching:(UIApplication *)application {
|
||||
application.statusBarHidden = YES;
|
||||
application.statusBarOrientation = UIInterfaceOrientationLandscapeLeft;
|
||||
- (void)initMenuMusicPlayer {
|
||||
NSString *soundFilePath =
|
||||
[[NSBundle mainBundle] pathForResource: @"wondering"
|
||||
ofType: @"caf"];
|
||||
|
||||
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath: soundFilePath];
|
||||
|
||||
AVAudioPlayer *newPlayer =
|
||||
[[AVAudioPlayer alloc] initWithContentsOfURL: fileURL
|
||||
error: nil];
|
||||
[fileURL release];
|
||||
|
||||
if ( s_masterVolume != NULL ) {
|
||||
newPlayer.volume = s_masterVolume->value * 0.5f;
|
||||
} else {
|
||||
newPlayer.volume = 0.2f;
|
||||
}
|
||||
|
||||
|
||||
newPlayer.numberOfLoops = -1;
|
||||
|
||||
self.player = newPlayer;
|
||||
[newPlayer release];
|
||||
|
||||
[player prepareToPlay];
|
||||
}
|
||||
|
||||
- (void)startMenuMusic {
|
||||
|
||||
[player play];
|
||||
}
|
||||
|
||||
- (void)stopMenuMusic {
|
||||
|
||||
[player stop];
|
||||
}
|
||||
|
||||
|
||||
|
||||
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
|
||||
// get the documents directory, where we will write configs and save games
|
||||
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
|
||||
NSString *documentsDirectory = [paths objectAtIndex:0];
|
||||
@@ -96,10 +140,11 @@ void SysIPhoneVibrate() {
|
||||
// start the flow of accelerometer events
|
||||
UIAccelerometer *accelerometer = [UIAccelerometer sharedAccelerometer];
|
||||
accelerometer.delegate = self;
|
||||
accelerometer.updateInterval = 0.01;
|
||||
accelerometer.updateInterval = 1.0 / 30.0;
|
||||
|
||||
// do all the game startup work
|
||||
iphoneStartup();
|
||||
//iphoneStartup();
|
||||
|
||||
|
||||
#if SPEARSTOREKIT
|
||||
//check if user downloaded spear but didn't purchase
|
||||
@@ -115,22 +160,150 @@ void SysIPhoneVibrate() {
|
||||
}
|
||||
#endif
|
||||
|
||||
// Sign up for rotation notifications
|
||||
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
|
||||
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(didRotate:)
|
||||
name:UIDeviceOrientationDidChangeNotification
|
||||
object:nil];
|
||||
|
||||
// Support rendering at native resolution on devices with Retina displays.
|
||||
if ( [[UIScreen mainScreen] respondsToSelector:@selector(scale)] ) {
|
||||
deviceScale = UIScreen.mainScreen.scale;
|
||||
touchCoordinateScale = UIScreen.mainScreen.scale;
|
||||
}
|
||||
|
||||
// Screen is initially landscape-left.
|
||||
// BEWARE! For UI*Interface*Orientation, Left/Right refers to the location of the home button.
|
||||
// BUT, for UI*Device*Orientation, Left/Right refers to the location of the side OPPOSITE the home button!!
|
||||
[self setScreenForOrientation:UIDeviceOrientationLandscapeRight];
|
||||
|
||||
// Create the window programmatically instead of loading from a nib file.
|
||||
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
|
||||
|
||||
// We will create the OpenGL view here so we can get a context and preload textures, but
|
||||
// don't actually add the view to the window until the player enters a level.
|
||||
wolf3dViewController *vc = [[wolf3dViewController alloc] initWithNibName:nil bundle:nil];
|
||||
self.viewController = vc;
|
||||
[self.viewController setActive:NO];
|
||||
[vc release];
|
||||
|
||||
MainMenuViewController *rootController = [[MainMenuViewController alloc] initWithNibName:@"MainMenuView" bundle:nil];
|
||||
navigationController = [[UINavigationController alloc] initWithRootViewController:rootController];
|
||||
[navigationController setNavigationBarHidden:YES];
|
||||
[rootController release];
|
||||
|
||||
[window addSubview:navigationController.view];
|
||||
[window makeKeyAndVisible];
|
||||
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (void)showOpenGL {
|
||||
// Maybe clearing the OpenGL view before displaying will fix the old frame flashing.
|
||||
// I don't mind if this blocks until a vsync, becasue it's just a menu.
|
||||
[self.viewController clearAndPresentRenderbuffer];
|
||||
|
||||
[[navigationController view] removeFromSuperview];
|
||||
|
||||
[self.viewController setActive:YES];
|
||||
[window addSubview:[self.viewController view]];
|
||||
|
||||
[self.viewController startAnimation];
|
||||
}
|
||||
|
||||
- (void)didRotate:(NSNotification *)notification {
|
||||
UIDeviceOrientation orient = [[UIDevice currentDevice] orientation];
|
||||
|
||||
[self setScreenForOrientation:orient];
|
||||
}
|
||||
|
||||
- (void)setScreenForOrientation:(UIDeviceOrientation) orientation {
|
||||
// Note the the UIDeviceOrientations are REVERSED from the UIInterface orientations!
|
||||
switch (orientation) {
|
||||
case UIDeviceOrientationLandscapeLeft:
|
||||
deviceOrientation = ORIENTATION_LANDSCAPE_RIGHT;
|
||||
viddef.width = [UIScreen mainScreen].bounds.size.height * deviceScale;
|
||||
viddef.height = [UIScreen mainScreen].bounds.size.width * deviceScale;
|
||||
//[UIApplication sharedApplication].statusBarOrientation = UIInterfaceOrientationLandscapeRight;
|
||||
break;
|
||||
|
||||
case UIDeviceOrientationLandscapeRight:
|
||||
deviceOrientation = ORIENTATION_LANDSCAPE_LEFT;
|
||||
viddef.width = [UIScreen mainScreen].bounds.size.height * deviceScale;
|
||||
viddef.height = [UIScreen mainScreen].bounds.size.width * deviceScale;
|
||||
//[UIApplication sharedApplication].statusBarOrientation = UIInterfaceOrientationLandscapeLeft;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
float widthRatio = viddef.width / REFERENCE_WIDTH;
|
||||
float heightRatio = viddef.height / REFERENCE_HEIGHT;
|
||||
|
||||
if ( widthRatio < heightRatio ) {
|
||||
screenScale = widthRatio;
|
||||
} else {
|
||||
screenScale = heightRatio;
|
||||
}
|
||||
}
|
||||
|
||||
//this is so that we can respond to alertView events (messageboxes)
|
||||
//but this should only respond to the alertPurchaseSpear
|
||||
- (void)alertView:(UIAlertView *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
|
||||
{
|
||||
//this is if they clicked yes to going to the map instructions website
|
||||
if (wasCalledFromDownloadInstructionsMenu && buttonIndex == 1) {
|
||||
SysIPhoneOpenURL( "http://www.idsoftware.com/wolfenstein-3d-classic-platinum/mapinstructions/" );
|
||||
return;
|
||||
if (buttonIndex == 1) {
|
||||
switch ( currentYesNoBox ) {
|
||||
case YESNO_BUY_PLATINUM: {
|
||||
// They clicked yes to buy the platinum edition.
|
||||
|
||||
// Set up a fullscreen view with the activity indicator in the middle while
|
||||
// we wait for the in-app purchase to complete.
|
||||
UIView* topView = [[self.navigationController topViewController] view];
|
||||
CGRect waitFrame = topView.frame;
|
||||
|
||||
|
||||
[waitingView release];
|
||||
waitingView = [[UIView alloc] initWithFrame:waitFrame];
|
||||
waitingView.backgroundColor = [UIColor blackColor];
|
||||
waitingView.opaque = NO;
|
||||
waitingView.alpha = 0.75;
|
||||
|
||||
|
||||
UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
|
||||
[indicator startAnimating];
|
||||
|
||||
[waitingView addSubview:indicator];
|
||||
// This mask centers the view in its superview
|
||||
indicator.center = indicator.superview.center;
|
||||
[indicator release];
|
||||
|
||||
[topView addSubview:waitingView];
|
||||
|
||||
// Start the request to the app store
|
||||
InAppPurchaseSetCallback( inAppPurchaseCallback );
|
||||
InAppPurchaseStartPurchase( PLATINUM_UPGRADE_STRING );
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case YESNO_GO_TO_WEBSITE:
|
||||
//if they clicked yes to going to the idsoftware website
|
||||
SysIPhoneOpenURL( "http://www.idsoftware.com/wolfenstein-3d-classic-platinum/" );
|
||||
break;
|
||||
|
||||
case YESNO_DOWNLOAD_INSTRUCTIONS:
|
||||
//this is if they clicked yes to going to the map instructions website
|
||||
SysIPhoneOpenURL( "http://www.idsoftware.com/wolfenstein-3d-classic-platinum/mapinstructions/" );
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//if they clicked yes to going to the idsoftware website
|
||||
if (buttonIndex == 1)
|
||||
SysIPhoneOpenURL( "http://www.idsoftware.com/wolfenstein-3d-classic-platinum/" );
|
||||
|
||||
/*
|
||||
if (alertPurchaseSpear && (alertPurchaseSpear == actionSheet))
|
||||
{
|
||||
@@ -140,26 +313,47 @@ void SysIPhoneVibrate() {
|
||||
}
|
||||
|
||||
- (void)applicationWillResignActive:(UIApplication *)application {
|
||||
[self.viewController stopAnimation];
|
||||
}
|
||||
|
||||
|
||||
- (void)applicationDidBecomeActive:(UIApplication *)application {
|
||||
[self.viewController startAnimation];
|
||||
}
|
||||
|
||||
- (void)applicationWillTerminate:(UIApplication *)application {
|
||||
[self.viewController stopAnimation];
|
||||
|
||||
// Save the game.
|
||||
iphoneShutdown();
|
||||
}
|
||||
|
||||
- (void)applicationDidEnterBackground:(UIApplication *)application {
|
||||
[self.viewController stopAnimation];
|
||||
|
||||
// Save the game.
|
||||
iphoneShutdown();
|
||||
}
|
||||
|
||||
|
||||
- (void)dismissWaitingView {
|
||||
if ( waitingView != nil ) {
|
||||
[waitingView removeFromSuperview];
|
||||
[waitingView release];
|
||||
waitingView = nil;
|
||||
}
|
||||
}
|
||||
|
||||
#if 1
|
||||
extern char urlbuffer[1024];
|
||||
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
|
||||
// wolf3d:foo should launch wolf3d now... next, add useful URL parameter encoding
|
||||
|
||||
|
||||
#ifdef LITE
|
||||
iphoneMessageBox("Lite version", "This is a Lite version. You must purchase Wolfenstein3D to get this feature.");
|
||||
return NO;
|
||||
#endif
|
||||
if ( SysIPhoneGetContentVersion() == CONTENT_LITE ) {
|
||||
iphoneMessageBox("Lite version", "This is a Lite version. You must purchase Wolfenstein3D to get this feature.");
|
||||
return NO;
|
||||
}
|
||||
|
||||
if (!url)
|
||||
return NO;
|
||||
@@ -217,8 +411,10 @@ extern char urlbuffer[1024];
|
||||
|
||||
|
||||
- (void)dealloc {
|
||||
[viewController release];
|
||||
[navigationController release];
|
||||
[window release];
|
||||
[glView release];
|
||||
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
@@ -232,7 +428,7 @@ extern char urlbuffer[1024];
|
||||
}
|
||||
UIAccelerometer *accelerometer = [UIAccelerometer sharedAccelerometer];
|
||||
accelerometer.delegate = self;
|
||||
accelerometer.updateInterval = 0.01;
|
||||
accelerometer.updateInterval = 1.0 / 30.0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -345,7 +541,38 @@ extern char urlbuffer[1024];
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
- (void)GLtoMainMenu {
|
||||
[self.navigationController popToRootViewControllerAnimated:NO];
|
||||
[viewController setActive:NO];
|
||||
[[viewController view] removeFromSuperview];
|
||||
[window addSubview:navigationController.view];
|
||||
}
|
||||
|
||||
- (void)GLtoPreviousMenu {
|
||||
[viewController setActive:NO];
|
||||
[[viewController view] removeFromSuperview];
|
||||
[window addSubview:navigationController.view];
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
void iphoneStartMainMenu() {
|
||||
Sound_StopBGTrack();
|
||||
iphoneStartMenuMusic();
|
||||
numTouches = 0;
|
||||
numPrevTouches = 0;
|
||||
wolf3dAppDelegate *app = (wolf3dAppDelegate*)[[UIApplication sharedApplication] delegate];
|
||||
[app GLtoMainMenu];
|
||||
}
|
||||
|
||||
void iphoneStartPreviousMenu() {
|
||||
wolf3dAppDelegate *app = (wolf3dAppDelegate*)[[UIApplication sharedApplication] delegate];
|
||||
[app GLtoPreviousMenu ];
|
||||
}
|
||||
|
||||
void inAppPurchaseCallback( InAppPurchaseResult result ) {
|
||||
wolf3dAppDelegate* app = (wolf3dAppDelegate*)[[UIApplication sharedApplication] delegate];
|
||||
[app dismissWaitingView];
|
||||
}
|
||||
|
||||
|
||||
48
wolf3d/code/iphone/wolf3dViewController.h
Normal file
48
wolf3d/code/iphone/wolf3dViewController.h
Normal file
@@ -0,0 +1,48 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
#import <OpenGLES/EAGL.h>
|
||||
|
||||
#import <OpenGLES/ES1/gl.h>
|
||||
#import <OpenGLES/ES1/glext.h>
|
||||
|
||||
@interface wolf3dViewController : UIViewController {
|
||||
EAGLContext *context;
|
||||
|
||||
BOOL animating;
|
||||
BOOL active;
|
||||
NSInteger animationFrameInterval;
|
||||
CADisplayLink *displayLink;
|
||||
}
|
||||
|
||||
@property (nonatomic, getter=isActive) BOOL active;
|
||||
@property (readonly, nonatomic, getter=isAnimating) BOOL animating;
|
||||
@property (nonatomic) NSInteger animationFrameInterval;
|
||||
|
||||
- (void)startAnimation;
|
||||
- (void)stopAnimation;
|
||||
- (void)clearAndPresentRenderbuffer;
|
||||
|
||||
@end
|
||||
237
wolf3d/code/iphone/wolf3dViewController.m
Normal file
237
wolf3d/code/iphone/wolf3dViewController.m
Normal file
@@ -0,0 +1,237 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
|
||||
#import <QuartzCore/QuartzCore.h>
|
||||
|
||||
#import "wolf3dViewController.h"
|
||||
#import "EAGLView.h"
|
||||
#import "wolfiphone.h"
|
||||
//#import "wolf3dAppDelegate.h"
|
||||
|
||||
@interface wolf3dViewController ()
|
||||
@property (nonatomic, retain) EAGLContext *context;
|
||||
@property (nonatomic, assign) CADisplayLink *displayLink;
|
||||
@end
|
||||
|
||||
@implementation wolf3dViewController
|
||||
|
||||
@synthesize animating, context, displayLink, active;
|
||||
|
||||
|
||||
- (id)initWithNibName:(NSString*)file bundle:(NSBundle*)bundle
|
||||
{
|
||||
// Get the application's window dimensions.
|
||||
EAGLView *glView = [[EAGLView alloc] initWithFrame:[UIScreen mainScreen].applicationFrame];
|
||||
self.view = glView;
|
||||
[glView release];
|
||||
|
||||
EAGLContext *aContext = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES1];
|
||||
|
||||
if (!aContext)
|
||||
NSLog(@"Failed to create ES context");
|
||||
else if (![EAGLContext setCurrentContext:aContext])
|
||||
NSLog(@"Failed to set ES context current");
|
||||
|
||||
self.context = aContext;
|
||||
[aContext release];
|
||||
|
||||
[(EAGLView *)self.view setContext:context];
|
||||
[(EAGLView *)self.view setFramebuffer];
|
||||
|
||||
animating = FALSE;
|
||||
animationFrameInterval = DEFAULT_FRAME_INTERVAL;
|
||||
self.displayLink = nil;
|
||||
|
||||
// Now that we have a context, we can init the render system.
|
||||
iphoneStartup();
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
|
||||
|
||||
- (void)awakeFromNib
|
||||
{
|
||||
EAGLView *glView = [[EAGLView alloc] initWithFrame:[UIScreen mainScreen].applicationFrame];
|
||||
self.view = glView;
|
||||
[glView release];
|
||||
|
||||
EAGLContext *aContext = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES1];
|
||||
|
||||
if (!aContext)
|
||||
NSLog(@"Failed to create ES context");
|
||||
else if (![EAGLContext setCurrentContext:aContext])
|
||||
NSLog(@"Failed to set ES context current");
|
||||
|
||||
self.context = aContext;
|
||||
[aContext release];
|
||||
|
||||
[(EAGLView *)self.view setContext:context];
|
||||
[(EAGLView *)self.view setFramebuffer];
|
||||
|
||||
animating = FALSE;
|
||||
animationFrameInterval = DEFAULT_FRAME_INTERVAL;
|
||||
self.displayLink = nil;
|
||||
}
|
||||
|
||||
- (void)didReceiveMemoryWarning {
|
||||
// Releases the view if it doesn't have a superview.
|
||||
[super didReceiveMemoryWarning];
|
||||
|
||||
// Release any cached data, images, etc. that aren't in use.
|
||||
}
|
||||
|
||||
- (void)dealloc {
|
||||
// Stop orientation notifications.
|
||||
[[UIDevice currentDevice] endGeneratingDeviceOrientationNotifications];
|
||||
|
||||
// Tear down context.
|
||||
if ([EAGLContext currentContext] == context)
|
||||
[EAGLContext setCurrentContext:nil];
|
||||
|
||||
[context release];
|
||||
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
- (void)viewWillAppear:(BOOL)animated
|
||||
{
|
||||
[self startAnimation];
|
||||
|
||||
[super viewWillAppear:animated];
|
||||
}
|
||||
|
||||
- (void)viewWillDisappear:(BOOL)animated
|
||||
{
|
||||
[self setActive:NO];
|
||||
|
||||
[super viewWillDisappear:animated];
|
||||
}
|
||||
|
||||
- (void)viewDidUnload
|
||||
{
|
||||
[super viewDidUnload];
|
||||
|
||||
[self stopAnimation];
|
||||
|
||||
// Tear down context.
|
||||
if ([EAGLContext currentContext] == context)
|
||||
[EAGLContext setCurrentContext:nil];
|
||||
self.context = nil;
|
||||
}
|
||||
|
||||
- (NSInteger)animationFrameInterval
|
||||
{
|
||||
return animationFrameInterval;
|
||||
}
|
||||
|
||||
- (void)setAnimationFrameInterval:(NSInteger)frameInterval
|
||||
{
|
||||
/*
|
||||
Frame interval defines how many display frames must pass between each time the display link fires.
|
||||
The display link will only fire 30 times a second when the frame internal is two on a display that refreshes 60 times a second. The default frame interval setting of one will fire 60 times a second when the display refreshes at 60 times a second. A frame interval setting of less than one results in undefined behavior.
|
||||
*/
|
||||
if (frameInterval >= 1)
|
||||
{
|
||||
animationFrameInterval = frameInterval;
|
||||
|
||||
if (animating)
|
||||
{
|
||||
[self stopAnimation];
|
||||
[self startAnimation];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- (void)startAnimation
|
||||
{
|
||||
if ( !animating )
|
||||
{
|
||||
// The UIScreen method is not supported pre-4.0.
|
||||
// Not worrying about supporting external displays yet, so just create a default display link.
|
||||
//CADisplayLink *aDisplayLink = [[UIScreen mainScreen] displayLinkWithTarget:self selector:@selector(drawFrame)];
|
||||
CADisplayLink *aDisplayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(drawFrame)];
|
||||
[aDisplayLink setFrameInterval:animationFrameInterval];
|
||||
[aDisplayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
|
||||
self.displayLink = aDisplayLink;
|
||||
|
||||
animating = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
- (void)stopAnimation
|
||||
{
|
||||
if ( animating )
|
||||
{
|
||||
[self.displayLink invalidate];
|
||||
self.displayLink = nil;
|
||||
animating = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
- (void)drawFrame
|
||||
{
|
||||
// Check out framerate
|
||||
//CFTimeInterval frameTime = [displayLink duration];
|
||||
//CFTimeInterval stamp = [displayLink timestamp];
|
||||
|
||||
//if ( frameTime < 0.016666 ) {
|
||||
// NSLog( @"Frame timestamp: %f\n", stamp );
|
||||
//}
|
||||
|
||||
//[ (wolf3dAppDelegate *)[UIApplication sharedApplication].delegate restartAccelerometerIfNeeded];
|
||||
|
||||
if ( !active ) {
|
||||
// We are in the menus, only need to update sound.
|
||||
Sound_Update( vnull, vnull, vnull, vnull );
|
||||
return;
|
||||
}
|
||||
|
||||
picTimingClear();
|
||||
|
||||
[(EAGLView *)self.view setFramebuffer];
|
||||
|
||||
NSTimeInterval startTime = [NSDate timeIntervalSinceReferenceDate];
|
||||
iphoneFrame();
|
||||
|
||||
NSTimeInterval gameTime = [NSDate timeIntervalSinceReferenceDate] - startTime;
|
||||
if ( gameTime > 0.0166 ) {
|
||||
/* NSLog (@"Frame took %.8f seconds.", gameTime);
|
||||
NSLog (@" Sound_Update took %.8f seconds.", soundTime );
|
||||
NSLog (@" iphoneDrawMenus took %.8f seconds.", menuTime );
|
||||
soundTime = 0;
|
||||
menuTime = 0;
|
||||
picTimingPrint();
|
||||
*/ }
|
||||
|
||||
[(EAGLView *)self.view presentFramebuffer];
|
||||
|
||||
}
|
||||
|
||||
// Clears the renderbuffer and immediately displays it.
|
||||
- (void)clearAndPresentRenderbuffer {
|
||||
qglClear( GL_COLOR_BUFFER_BIT );
|
||||
[(EAGLView *)self.view presentFramebuffer];
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -1,3 +1,26 @@
|
||||
/*
|
||||
|
||||
Copyright (C) 2009-2011 id Software LLC, a ZeniMax Media company.
|
||||
|
||||
This file is part of the WOLF3D iOS v2.1 GPL Source Code.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
|
||||
//
|
||||
// Prefix header for all source files of the 'wolf3d' target in the 'wolf3d' project
|
||||
//
|
||||
|
||||
@@ -540,6 +540,9 @@ PRIVATE _boolean AI_CheckSight( entity_t *self )
|
||||
if( deltax > 0 )
|
||||
return false;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
// trace a line to check for blocking tiles (corners)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user