mirror of
https://github.com/id-Software/Wolf3D-iOS.git
synced 2026-05-14 04:59:12 +02:00
Source release of Wolfenstein 3D Classic Platinum for iOS, 2.1
This commit is contained in:
Vendored
+6
-2
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+12
-3
@@ -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 );
|
||||
}
|
||||
|
||||
Vendored
+2
@@ -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
|
||||
|
||||
|
||||
Vendored
+11
-2
@@ -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;
|
||||
}
|
||||
|
||||
Vendored
+9
-9
@@ -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();
|
||||
|
||||
|
||||
Vendored
+1
@@ -131,6 +131,7 @@ typedef struct
|
||||
const char *version_string;
|
||||
const char *extensions_string;
|
||||
_boolean Version_1_2;
|
||||
bool framebuffer_discard;
|
||||
|
||||
} glconfig_t;
|
||||
|
||||
|
||||
Vendored
+9
-6
@@ -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 );
|
||||
}
|
||||
|
||||
Vendored
+53
-3
@@ -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 );
|
||||
|
||||
Vendored
+2
@@ -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__ */
|
||||
|
||||
|
||||
Vendored
+7
-1
@@ -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;
|
||||
}
|
||||
|
||||
Vendored
+35
-1
@@ -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;
|
||||
}
|
||||
|
||||
Vendored
+49
-31
@@ -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 );
|
||||
|
||||
Vendored
+3
@@ -39,6 +39,9 @@
|
||||
#ifndef __TEXTURE_MANAGER_H__
|
||||
#define __TEXTURE_MANAGER_H__
|
||||
|
||||
#include "arch.h"
|
||||
#include "filesystem.h"
|
||||
|
||||
#define MAX_TEXTURES 1024
|
||||
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -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 )
|
||||
{
|
||||
|
||||
Vendored
+2
@@ -42,6 +42,8 @@
|
||||
#ifndef __VIDEO_H__
|
||||
#define __VIDEO_H__
|
||||
|
||||
#include "arch.h"
|
||||
|
||||
typedef struct vrect_s
|
||||
{
|
||||
int x, y, width, height;
|
||||
|
||||
Vendored
BIN
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
@@ -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
|
||||
|
||||
+219
-202
@@ -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;
|
||||
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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>
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
@@ -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];
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
@@ -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
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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];
|
||||
}
|
||||
@@ -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
|
||||
@@ -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 );
|
||||
|
||||
+166
-81
@@ -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 )
|
||||
|
||||
+316
-128
@@ -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);
|
||||
|
||||
+624
-280
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_
|
||||
|
||||
@@ -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 );
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "self:wolf3d.xcodeproj">
|
||||
</FileRef>
|
||||
</Workspace>
|
||||
+13352
File diff suppressed because it is too large
Load Diff
+8
@@ -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>
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+19
@@ -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>
|
||||
+76
@@ -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>
|
||||
+22
@@ -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];
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -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)
|
||||
|
||||
@@ -133,8 +133,8 @@ PUBLIC void Client_PrepRefresh( const char *r_mapname )
|
||||
levelData.musicName[6 + strlen(source)] = '\0';
|
||||
}*/
|
||||
|
||||
Com_Printf("Starting Music Track: %s\n", levelData.musicName);
|
||||
Sound_StartBGTrack( levelData.musicName, levelData.musicName );
|
||||
//Com_Printf("Starting Music Track: %s\n", levelData.musicName);
|
||||
//Sound_StartBGTrack( levelData.musicName, levelData.musicName );
|
||||
|
||||
Player.playstate = ex_playing;
|
||||
}
|
||||
|
||||
@@ -925,14 +925,17 @@ PUBLIC LevelData_t *Level_LoadMap( const char *levelname )
|
||||
fhandle = FS_OpenFile( levelname, 0 );
|
||||
if( ! fhandle )
|
||||
{
|
||||
char errBuffer[1024];
|
||||
sprintf( errBuffer, "levelname: %s, could not be found", levelname);
|
||||
iphoneMessageBox("map filename", errBuffer);
|
||||
Com_Printf( "Could not load map (%s)\n", levelname );
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
filesize = FS_GetFileSize( fhandle );
|
||||
if( filesize < MAPHEADER_SIZE )
|
||||
{
|
||||
iphoneMessageBox("map header size", "header size of the map is wrong");
|
||||
Com_Printf("Map file size is smaller than mapheader size\n");
|
||||
return NULL;
|
||||
}
|
||||
@@ -944,6 +947,7 @@ PUBLIC LevelData_t *Level_LoadMap( const char *levelname )
|
||||
FS_ReadFile( &signature, 1, 4, fhandle );
|
||||
if( signature != MAP_SIGNATURE )
|
||||
{
|
||||
iphoneMessageBox("map signature", "signature of the map file is invalid");
|
||||
Com_Printf("File signature does not match MAP_SIGNATURE\n");
|
||||
return NULL;
|
||||
}
|
||||
@@ -975,6 +979,7 @@ PUBLIC LevelData_t *Level_LoadMap( const char *levelname )
|
||||
if( filesize < (MAPHEADER_SIZE + mapNameLength + musicNameLength +
|
||||
length[ 0 ] + length[ 1 ] + length[ 2 ]) )
|
||||
{
|
||||
iphoneMessageBox("map filesize", "filesize is less than MAPHEADER_SIZE + mapNameLength + musicNameLength + etc");
|
||||
Com_Printf("filesize is less than MAPHEADER_SIZE + mapNameLength + musicNameLength + etc\n");
|
||||
return NULL;
|
||||
}
|
||||
@@ -993,6 +998,7 @@ PUBLIC LevelData_t *Level_LoadMap( const char *levelname )
|
||||
|
||||
if( filesize < (MAPHEADER_SIZE + mapNameLength + musicNameLength) )
|
||||
{
|
||||
iphoneMessageBox("map filesize", "filesize is less than MAPHEADER_SIZE + mapNameLength + musicNameLength");
|
||||
Com_Printf("filesize is less than MAPHEADER_SIZE + mapNameLength + musicNameLength\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user