Updated and reorganized to run on iOS 11
8
.gitignore
vendored
Normal file
|
@ -0,0 +1,8 @@
|
|||
.DS_Store
|
||||
*xcuserdata/
|
||||
*build/
|
||||
*.mode1v3
|
||||
*.pbxuser
|
||||
*.xcworkspace
|
||||
*.moved-aside/
|
||||
.svn
|
16
wolf3d/README.md
Normal file
|
@ -0,0 +1,16 @@
|
|||
# Wolfenstein 3D for iOS 11
|
||||
|
||||
This is my update for Wolfenstein 3D for iOS to run on iOS 11. It also runs in modern resolutions including the full width of the iPhone X.
|
||||
|
||||
Improvements/Changes
|
||||
|
||||
- Compiles and runs in iOS 11 SDK
|
||||
- Orientation and coordinate system fixed to reflect iOS 8 changes
|
||||
- C warnings fixed for Xcode 9.3
|
||||
- Basic MFi controller support
|
||||
- Deprecated APIs removed and replaced with modern equivalents
|
||||
- Code locations reorganized and consolodated
|
||||
|
||||
This commit only includes the changes made to the original source code and the original files. A "menu_art" directory is still required to build correctly, but as that consists of copyrighted material, I have not included it in this commit.
|
||||
|
||||
My plan is to do a pull request to id Software on this commit and then make a second commit with placeholder menu art for others to be able to compile from scratch.
|
BIN
wolf3d/code/.DS_Store
vendored
14
wolf3d/code/env/cmd.c
vendored
|
@ -133,7 +133,7 @@ PUBLIC void Cbuf_AddText( const char *text )
|
|||
return;
|
||||
}
|
||||
|
||||
SZ_Write( &cmd_text, (void *)text, length );
|
||||
SZ_Write( &cmd_text, (void *)text, (int)length );
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -174,7 +174,7 @@ PUBLIC void Cbuf_InsertText( char *text )
|
|||
// add the copied off data
|
||||
if( templen )
|
||||
{
|
||||
SZ_Write( &cmd_text, temp, templen );
|
||||
SZ_Write( &cmd_text, temp, (int)templen );
|
||||
Z_Free( temp );
|
||||
}
|
||||
}
|
||||
|
@ -501,7 +501,7 @@ PRIVATE void Cmd_Exec_f( void )
|
|||
return;
|
||||
}
|
||||
|
||||
len = FS_GetFileSize( hfile );
|
||||
len = (int)FS_GetFileSize( hfile );
|
||||
|
||||
Com_Printf( "execing %s\n", Cmd_Argv( 1 ) );
|
||||
|
||||
|
@ -725,7 +725,7 @@ PRIVATE char *Cmd_MacroExpandString( char *text )
|
|||
inquote = false;
|
||||
scan = text;
|
||||
|
||||
len = strlen( scan );
|
||||
len = (int)strlen( scan );
|
||||
if( len >= MAX_STRING_CHARS )
|
||||
{
|
||||
Com_Printf( "Line exceeded %i chars, discarded.\n", MAX_STRING_CHARS );
|
||||
|
@ -753,7 +753,7 @@ PRIVATE char *Cmd_MacroExpandString( char *text )
|
|||
|
||||
token = Cvar_VariableString (token);
|
||||
|
||||
j = strlen(token);
|
||||
j = (int)strlen(token);
|
||||
len += j;
|
||||
if (len >= MAX_STRING_CHARS)
|
||||
{
|
||||
|
@ -851,7 +851,7 @@ PUBLIC void Cmd_TokenizeString( char *text, _boolean macroExpand )
|
|||
my_strlcpy( cmd_args, text, sizeof( cmd_args ) - 1 );
|
||||
|
||||
// strip off any trailing whitespace
|
||||
l = strlen( cmd_args ) - 1;
|
||||
l = (int)strlen( cmd_args ) - 1;
|
||||
for( ; l >= 0 ; --l )
|
||||
{
|
||||
if (cmd_args[l] <= ' ')
|
||||
|
@ -1019,7 +1019,7 @@ PUBLIC char *Cmd_CompleteCommand( char *partial )
|
|||
cmdalias_t *a;
|
||||
W32 hashid;
|
||||
|
||||
len = strlen( partial );
|
||||
len = (int)strlen( partial );
|
||||
|
||||
if( ! len )
|
||||
{
|
||||
|
|
2
wolf3d/code/env/com_string.c
vendored
|
@ -454,7 +454,7 @@ PUBLIC double StringToFloat( const char *string, W32 *error )
|
|||
const char *ptr = string;
|
||||
double number = 0;
|
||||
SW32 exponent = 0;
|
||||
W32 expError;
|
||||
W32 expError = 0;
|
||||
_boolean bNegative = false;
|
||||
|
||||
*error = 0;
|
||||
|
|
10
wolf3d/code/env/common.c
vendored
|
@ -399,7 +399,7 @@ PUBLIC void SZ_Print( sizebuf_t *buf, W8 *data )
|
|||
{
|
||||
int len;
|
||||
|
||||
len = strlen( (char *)data ) + 1;
|
||||
len = (int)strlen( (char *)data ) + 1;
|
||||
|
||||
if (buf->cursize)
|
||||
{
|
||||
|
@ -585,9 +585,9 @@ PUBLIC void COM_AddParm( char *parm )
|
|||
|
||||
-----------------------------------------------------------------------------
|
||||
*/
|
||||
PRIVATE void Com_Error_f (void)
|
||||
{
|
||||
Com_Error( ERR_FATAL, "%s", Cmd_Argv( 1 ) );
|
||||
}
|
||||
//PRIVATE void Com_Error_f (void)
|
||||
//{
|
||||
// Com_Error( ERR_FATAL, "%s", Cmd_Argv( 1 ) );
|
||||
//}
|
||||
|
||||
|
||||
|
|
24
wolf3d/code/env/console.c
vendored
|
@ -67,10 +67,10 @@ colour3_t colourconLLGray = { 192, 192, 192 };
|
|||
|
||||
-----------------------------------------------------------------------------
|
||||
*/
|
||||
PRIVATE void DrawString( int x, int y, char *s )
|
||||
{
|
||||
Font_put_line( FONT0, x, y, s );
|
||||
}
|
||||
//PRIVATE void DrawString( int x, int y, char *s )
|
||||
//{
|
||||
// Font_put_line( FONT0, x, y, s );
|
||||
//}
|
||||
|
||||
/*
|
||||
-----------------------------------------------------------------------------
|
||||
|
@ -479,7 +479,7 @@ PUBLIC void Con_CenteredPrint( const char *text )
|
|||
int length;
|
||||
char buffer[ 1024 ];
|
||||
|
||||
length = strlen( text );
|
||||
length = (int)strlen( text );
|
||||
length = ( con.linewidth - length ) >> 1;
|
||||
if( length < 0 )
|
||||
{
|
||||
|
@ -532,7 +532,7 @@ PRIVATE void Con_DrawInput( void )
|
|||
return;
|
||||
}
|
||||
strcpy( buf, SysIPhoneGetConsoleTextField() );
|
||||
key_linepos = strlen( buf );
|
||||
key_linepos = (int)strlen( buf );
|
||||
buf[key_linepos+1] = 0;
|
||||
text = buf;
|
||||
}
|
||||
|
@ -610,7 +610,7 @@ PUBLIC void Con_DrawNotify( void )
|
|||
continue;
|
||||
}
|
||||
|
||||
time = FloatToInt( con.times[ i % NUM_CON_TIMES ] );
|
||||
time = (int)FloatToInt( con.times[ i % NUM_CON_TIMES ] );
|
||||
if( time == 0 )
|
||||
{
|
||||
continue;
|
||||
|
@ -681,15 +681,15 @@ PUBLIC void Con_DrawConsole( float frac )
|
|||
//
|
||||
// Draw the background
|
||||
//
|
||||
R_Draw_Fill( 0, -viddef.height + lines, viddef.width, viddef.height, colourBlack );
|
||||
R_Draw_Fill( 0, lines-2, viddef.width, 2, colourconLGray );
|
||||
R_Draw_Fill( 0, (int)(-viddef.height + lines), viddef.width, viddef.height, colourBlack );
|
||||
R_Draw_Fill( 0, (int)(lines-2), viddef.width, 2, colourconLGray );
|
||||
|
||||
Font_SetColour( FONT0, colourconLLGray );
|
||||
|
||||
//
|
||||
// Draw the text
|
||||
//
|
||||
con.vislines = lines;
|
||||
con.vislines = (int)lines;
|
||||
|
||||
#if 0
|
||||
|
||||
|
@ -699,9 +699,9 @@ PUBLIC void Con_DrawConsole( float frac )
|
|||
|
||||
#else
|
||||
|
||||
rows = (lines - 22) >> 3; // rows of text to draw
|
||||
rows = ((int)lines - 22) >> 3; // rows of text to draw
|
||||
|
||||
y = lines - 30;
|
||||
y = (int)lines - 30;
|
||||
|
||||
#endif
|
||||
|
||||
|
|
2
wolf3d/code/env/fileio.c
vendored
|
@ -244,7 +244,7 @@ PUBLIC filehandle_t *FS_OpenFile( const char *filename, W32 FlagsAndAttributes )
|
|||
hFile = Z_Malloc( sizeof( filehandle_t ) );
|
||||
memset( hFile, 0, sizeof( filehandle_t ) );
|
||||
|
||||
hFile->filesize = s.st_size;
|
||||
hFile->filesize = (W32)s.st_size;
|
||||
#ifdef USE_MMAP
|
||||
hFile->filedata = mmap( NULL, hFile->filesize, PROT_READ, MAP_FILE|MAP_PRIVATE, fd, 0 );
|
||||
if ( (int)hFile->filedata == -1 ) {
|
||||
|
|
94
wolf3d/code/env/files.c
vendored
|
@ -109,53 +109,53 @@ PUBLIC char *FS_ForceGamedir( void )
|
|||
|
||||
-----------------------------------------------------------------------------
|
||||
*/
|
||||
PRIVATE char **FS_ListFiles( char *findname, int *numfiles, unsigned musthave, unsigned canthave )
|
||||
{
|
||||
char *s;
|
||||
int nfiles = 0;
|
||||
char **list = 0;
|
||||
|
||||
s = FS_FindFirst( findname, musthave, canthave );
|
||||
while ( s )
|
||||
{
|
||||
if ( s[strlen(s)-1] != '.' )
|
||||
nfiles++;
|
||||
s = FS_FindNext( musthave, canthave );
|
||||
}
|
||||
FS_FindClose ();
|
||||
|
||||
if ( !nfiles )
|
||||
return NULL;
|
||||
|
||||
nfiles++; // add space for a guard
|
||||
*numfiles = nfiles;
|
||||
|
||||
list = MM_MALLOC( sizeof( char * ) * nfiles );
|
||||
if( list == NULL )
|
||||
{
|
||||
MM_OUTOFMEM( "list" );
|
||||
}
|
||||
|
||||
memset( list, 0, sizeof( char * ) * nfiles );
|
||||
|
||||
s = FS_FindFirst( findname, musthave, canthave );
|
||||
nfiles = 0;
|
||||
while( s )
|
||||
{
|
||||
if( s[ strlen( s ) - 1 ] != '.' )
|
||||
{
|
||||
list[ nfiles ] = strdup( s );
|
||||
|
||||
(void)my_strlwr( list[ nfiles ] );
|
||||
|
||||
nfiles++;
|
||||
}
|
||||
s = FS_FindNext( musthave, canthave );
|
||||
}
|
||||
FS_FindClose();
|
||||
|
||||
return list;
|
||||
}
|
||||
//PRIVATE char **FS_ListFiles( char *findname, int *numfiles, unsigned musthave, unsigned canthave )
|
||||
//{
|
||||
// char *s;
|
||||
// int nfiles = 0;
|
||||
// char **list = 0;
|
||||
//
|
||||
// s = FS_FindFirst( findname, musthave, canthave );
|
||||
// while ( s )
|
||||
// {
|
||||
// if ( s[strlen(s)-1] != '.' )
|
||||
// nfiles++;
|
||||
// s = FS_FindNext( musthave, canthave );
|
||||
// }
|
||||
// FS_FindClose ();
|
||||
//
|
||||
// if ( !nfiles )
|
||||
// return NULL;
|
||||
//
|
||||
// nfiles++; // add space for a guard
|
||||
// *numfiles = nfiles;
|
||||
//
|
||||
// list = MM_MALLOC( sizeof( char * ) * nfiles );
|
||||
// if( list == NULL )
|
||||
// {
|
||||
// MM_OUTOFMEM( "list" );
|
||||
// }
|
||||
//
|
||||
// memset( list, 0, sizeof( char * ) * nfiles );
|
||||
//
|
||||
// s = FS_FindFirst( findname, musthave, canthave );
|
||||
// nfiles = 0;
|
||||
// while( s )
|
||||
// {
|
||||
// if( s[ strlen( s ) - 1 ] != '.' )
|
||||
// {
|
||||
// list[ nfiles ] = strdup( s );
|
||||
//
|
||||
// (void)my_strlwr( list[ nfiles ] );
|
||||
//
|
||||
// nfiles++;
|
||||
// }
|
||||
// s = FS_FindNext( musthave, canthave );
|
||||
// }
|
||||
// FS_FindClose();
|
||||
//
|
||||
// return list;
|
||||
//}
|
||||
|
||||
|
||||
/*
|
||||
|
|
2
wolf3d/code/env/font_manager.c
vendored
|
@ -315,7 +315,7 @@ void Font_put_lineR2L( FONTSELECT fs, int x, int y, const char *string )
|
|||
|
||||
for ( i = 0; i < strlen( string ); ++i )
|
||||
{
|
||||
charindex = strlen( string ) - i - 1;
|
||||
charindex = (int)strlen( string ) - i - 1;
|
||||
mx -= myfonts[ fs ]->nCharWidth[ string[ charindex ]-32 ] * myfonts[ fs ]->nSize;
|
||||
|
||||
R_Draw_Character( mx, y, string[ charindex ], myfonts[ fs ] );
|
||||
|
|
70
wolf3d/code/env/glob.c
vendored
|
@ -64,41 +64,41 @@ static int glob_match_after_star( char *pattern, char *text )
|
|||
}
|
||||
|
||||
/* Return nonzero if PATTERN has any special globbing chars in it. */
|
||||
static int glob_pattern_p( char *pattern )
|
||||
{
|
||||
register char *p = pattern;
|
||||
register char c;
|
||||
int open = 0;
|
||||
|
||||
while( (c = *p++) != '\0' )
|
||||
{
|
||||
switch( c )
|
||||
{
|
||||
case '?':
|
||||
case '*':
|
||||
return 1;
|
||||
|
||||
case '[': /* Only accept an open brace if there is a close */
|
||||
open++; /* brace to match it. Bracket expressions must be */
|
||||
continue; /* complete, according to Posix.2 */
|
||||
case ']':
|
||||
if( open )
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
continue;
|
||||
|
||||
case '\\':
|
||||
if( *p++ == '\0' )
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
//static int glob_pattern_p( char *pattern )
|
||||
//{
|
||||
// register char *p = pattern;
|
||||
// register char c;
|
||||
// int open = 0;
|
||||
//
|
||||
// while( (c = *p++) != '\0' )
|
||||
// {
|
||||
// switch( c )
|
||||
// {
|
||||
// case '?':
|
||||
// case '*':
|
||||
// return 1;
|
||||
//
|
||||
// case '[': /* Only accept an open brace if there is a close */
|
||||
// open++; /* brace to match it. Bracket expressions must be */
|
||||
// continue; /* complete, according to Posix.2 */
|
||||
// case ']':
|
||||
// if( open )
|
||||
// {
|
||||
// return 1;
|
||||
// }
|
||||
// continue;
|
||||
//
|
||||
// case '\\':
|
||||
// if( *p++ == '\0' )
|
||||
// {
|
||||
// return 0;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// }
|
||||
//
|
||||
// return 0;
|
||||
//}
|
||||
|
||||
/* Match the pattern PATTERN against the string TEXT;
|
||||
return 1 if it matches, 0 otherwise.
|
||||
|
|
6
wolf3d/code/env/oggfile.c
vendored
|
@ -36,7 +36,7 @@ PRIVATE size_t ovc_read( void *ptr, size_t size, size_t nmemb, void *dataSource
|
|||
|
||||
PRIVATE int ovc_seek( void *dataSource, ogg_int64_t offset, int whence )
|
||||
{
|
||||
return FS_FileSeek( fh, offset, whence );
|
||||
return (int)FS_FileSeek( fh, (long)offset, whence );
|
||||
}
|
||||
|
||||
PRIVATE int ovc_close( void *dataSource )
|
||||
|
@ -79,7 +79,7 @@ PUBLIC _boolean LoadOggInfo( const char *filename, W8 **wav, soundInfo_t *info )
|
|||
|
||||
newFilename = strdup( filename );
|
||||
|
||||
len = strlen( newFilename );
|
||||
len = (int)strlen( newFilename );
|
||||
if ( len < 5 || strcmp( newFilename + len - 4, ".wav" ) ) {
|
||||
free( newFilename );
|
||||
return false;
|
||||
|
@ -121,7 +121,7 @@ PUBLIC _boolean LoadOggInfo( const char *filename, W8 **wav, soundInfo_t *info )
|
|||
while( size < BUFFER_SIZE )
|
||||
{
|
||||
int read = 0;
|
||||
read = ov_read( &vorbisFile, (char *)data + size, BUFFER_SIZE - size, &dummy );
|
||||
read = (int)ov_read( &vorbisFile, (char *)data + size, BUFFER_SIZE - size, &dummy );
|
||||
if( read == 0 )
|
||||
{
|
||||
break;
|
||||
|
|
2
wolf3d/code/env/opengl_draw.c
vendored
|
@ -75,7 +75,7 @@ PUBLIC void R_Draw_Character( int x, int y, int num, font_t *myfont )
|
|||
return; // totally off screen
|
||||
}
|
||||
|
||||
scale = myfont->nSize;
|
||||
scale = (int)myfont->nSize;
|
||||
sh = myfont->nMaxHeight;
|
||||
|
||||
row = (num >> 4) - 2;
|
||||
|
|
2
wolf3d/code/env/opengl_local.h
vendored
|
@ -235,7 +235,7 @@ IMPLEMENTATION SPECIFIC FUNCTIONS
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
void GLimp_BeginFrame();
|
||||
void GLimp_BeginFrame(void);
|
||||
_boolean GLimp_Init( void *hinstance, void *hWnd );
|
||||
void GLimp_Shutdown( void );
|
||||
int GLimp_SetMode( int *pwidth, int *pheight, int mode, _boolean fullscreen );
|
||||
|
|
2
wolf3d/code/env/random_number.c
vendored
|
@ -101,7 +101,7 @@ PUBLIC int US_RndT( void )
|
|||
rndindex++;
|
||||
rndindex &= 0xFF;
|
||||
|
||||
return rndtable[ rndindex ];
|
||||
return (int)rndtable[ rndindex ];
|
||||
}
|
||||
|
||||
|
||||
|
|
4
wolf3d/code/env/sound.c
vendored
|
@ -289,8 +289,8 @@ PUBLIC channel_t *Sound_PickChannel( W32 entNum, W32 entChannel )
|
|||
|
||||
ch = &s_channels[ firstToDie ];
|
||||
|
||||
ch->entNum = entNum;
|
||||
ch->entChannel = entChannel;
|
||||
ch->entNum = (int)entNum;
|
||||
ch->entChannel = (int)entChannel;
|
||||
ch->startTime = iphoneFrameNum;
|
||||
|
||||
// Make sure this channel is stopped
|
||||
|
|
4
wolf3d/code/env/sound_local.h
vendored
|
@ -106,8 +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();
|
||||
void AL_CheckErrors(void);
|
||||
void ALC_CheckErrors(void);
|
||||
|
||||
#endif /* __SOUND_LOCAL_H__ */
|
||||
|
||||
|
|
6
wolf3d/code/env/sound_sfx_id.c
vendored
|
@ -176,10 +176,10 @@ PUBLIC _boolean Sound_LoadSound( sfx_t *sfx )
|
|||
}
|
||||
|
||||
sfx->loaded = true;
|
||||
sfx->samples = info.samples;
|
||||
sfx->rate = info.sample_rate;
|
||||
sfx->samples = (int)info.samples;
|
||||
sfx->rate = (int)info.sample_rate;
|
||||
|
||||
Sound_UploadSound( data, info.sample_size, info.channels, sfx );
|
||||
Sound_UploadSound( data, (int)info.sample_size, (int)info.channels, sfx );
|
||||
|
||||
Z_Free( data );
|
||||
|
||||
|
|
10
wolf3d/code/env/sound_stream.c
vendored
|
@ -112,7 +112,7 @@ PRIVATE int ovc_seek( void *datasource, ogg_int64_t offset, int whence )
|
|||
{
|
||||
musicTrack_t *track = (musicTrack_t *)datasource;
|
||||
|
||||
return FS_FileSeek( track->hFile, offset, whence );
|
||||
return (int)FS_FileSeek( track->hFile, (long)offset, whence );
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -218,8 +218,8 @@ PRIVATE _boolean Sound_OpenBGTrack( const char *name, musicTrack_t *track )
|
|||
return false;
|
||||
}
|
||||
|
||||
track->start = ov_raw_tell( vorbisFile );
|
||||
track->rate = vorbisInfo->rate;
|
||||
track->start = (int)ov_raw_tell( vorbisFile );
|
||||
track->rate = (int)vorbisInfo->rate;
|
||||
track->format = (vorbisInfo->channels == 2) ? AL_FORMAT_STEREO16 : AL_FORMAT_MONO16;
|
||||
|
||||
return true;
|
||||
|
@ -308,7 +308,7 @@ PUBLIC void Sound_StreamBGTrack( void )
|
|||
// Stream from disk
|
||||
while( size < BUFFER_SIZE )
|
||||
{
|
||||
read = ov_read( bgTrack.vorbisFile, (char *)data + size, BUFFER_SIZE - size, &dummy );
|
||||
read = (int)ov_read( bgTrack.vorbisFile, (char *)data + size, BUFFER_SIZE - size, &dummy );
|
||||
if( read == 0 )
|
||||
{
|
||||
// End of file
|
||||
|
@ -331,7 +331,7 @@ PUBLIC void Sound_StreamBGTrack( void )
|
|||
ov_raw_seek( bgTrack.vorbisFile, (ogg_int64_t)bgTrack.start );
|
||||
|
||||
// Try streaming again
|
||||
read = ov_read( bgTrack.vorbisFile, (char *)data + size, BUFFER_SIZE - size, &dummy );
|
||||
read = (int)ov_read( bgTrack.vorbisFile, (char *)data + size, BUFFER_SIZE - size, &dummy );
|
||||
}
|
||||
|
||||
if( read <= 0 )
|
||||
|
|
12
wolf3d/code/env/texture_manager.c
vendored
|
@ -268,8 +268,8 @@ PUBLIC texture_t *TM_LoadTexture( const char *name, W8 *data, int width, int hei
|
|||
tex->MipMap = false;
|
||||
tex->WrapS = Clamp;
|
||||
tex->WrapT = Clamp;
|
||||
tex->MinFilter = Nearest;
|
||||
tex->MagFilter = NearestMipMapOff;
|
||||
tex->MinFilter = NearestMipMapOff;
|
||||
tex->MagFilter = Nearest;
|
||||
break;
|
||||
|
||||
case TT_Wall:
|
||||
|
@ -284,8 +284,8 @@ PUBLIC texture_t *TM_LoadTexture( const char *name, W8 *data, int width, int hei
|
|||
default:
|
||||
tex->WrapS = Repeat;
|
||||
tex->WrapT = Repeat;
|
||||
tex->MinFilter = Nearest;
|
||||
tex->MagFilter = NearestMipMapOff;
|
||||
tex->MinFilter = NearestMipMapOff;
|
||||
tex->MagFilter = Nearest;
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -465,7 +465,7 @@ PUBLIC texture_t *TM_FindTexture( const char *name, texturetype_t type )
|
|||
}
|
||||
|
||||
// Check for file extension
|
||||
len = strlen( name );
|
||||
len = (int)strlen( name );
|
||||
if( len < 5 )
|
||||
{
|
||||
return r_notexture;
|
||||
|
@ -625,7 +625,7 @@ PUBLIC texture_t *TM_FindTexture( const char *name, texturetype_t type )
|
|||
Com_Printf( "Failed to find texture %s\n", name );
|
||||
return r_notexture;
|
||||
} //else { //added the else...gsh
|
||||
jpgSize = FS_GetFileSize( fh );
|
||||
jpgSize = (int)FS_GetFileSize( fh );
|
||||
jpgData = fh->ptrStart;
|
||||
|
||||
SysIPhoneLoadJPG( jpgData, jpgSize, &data, &width, &height, &bytes );
|
||||
|
|
8
wolf3d/code/env/tga.c
vendored
|
@ -616,7 +616,7 @@ PRIVATE void rle_write( FILE *fp,
|
|||
/* next pixel is different */
|
||||
if( repeat )
|
||||
{
|
||||
putc( 128 + repeat, fp );
|
||||
putc( 128 + (int)repeat, fp );
|
||||
fwrite( from, bytes, 1, fp );
|
||||
from = buffer + bytes; /* point to first different pixel */
|
||||
repeat = 0;
|
||||
|
@ -632,7 +632,7 @@ PRIVATE void rle_write( FILE *fp,
|
|||
/* next pixel is the same */
|
||||
if( direct )
|
||||
{
|
||||
putc( direct - 1, fp );
|
||||
putc( (int)direct - 1, fp );
|
||||
fwrite( from, bytes, direct, fp );
|
||||
from = buffer; /* point to first identical pixel */
|
||||
direct = 0;
|
||||
|
@ -666,12 +666,12 @@ PRIVATE void rle_write( FILE *fp,
|
|||
|
||||
if( repeat > 0 )
|
||||
{
|
||||
putc( 128 + repeat, fp );
|
||||
putc( 128 + (int)repeat, fp );
|
||||
fwrite( from, bytes, 1, fp );
|
||||
}
|
||||
else
|
||||
{
|
||||
putc( direct, fp );
|
||||
putc( (int)direct, fp );
|
||||
fwrite( from, bytes, direct + 1, fp );
|
||||
}
|
||||
}
|
||||
|
|
2
wolf3d/code/env/unix_timer.c
vendored
|
@ -57,7 +57,7 @@ PUBLIC W32 Sys_Milliseconds( void )
|
|||
|
||||
if( ! secbase )
|
||||
{
|
||||
secbase = tp.tv_sec;
|
||||
secbase = (int)tp.tv_sec;
|
||||
return tp.tv_usec / 1000;
|
||||
}
|
||||
|
||||
|
|
34
wolf3d/code/env/wavfile.c
vendored
|
@ -108,23 +108,23 @@ PRIVATE void Wav_FindChunk( const char *name )
|
|||
Wav_FindNextChunk( name );
|
||||
}
|
||||
|
||||
PRIVATE void DumpChunks( void )
|
||||
{
|
||||
char str[ 5 ];
|
||||
|
||||
str[ 4 ] = 0;
|
||||
iff_pdata = iff_data;
|
||||
do
|
||||
{
|
||||
memcpy( str, iff_pdata, 4 );
|
||||
iff_pdata += 4;
|
||||
iff_chunk_len = Wav_GetLittleLong();
|
||||
Com_Printf( "0x%x : %s (%d)\n", (int)(iff_pdata - 4), str, iff_chunk_len );
|
||||
iff_pdata += (iff_chunk_len + 1) & ~1;
|
||||
|
||||
} while( iff_pdata < iff_end );
|
||||
|
||||
}
|
||||
//PRIVATE void DumpChunks( void )
|
||||
//{
|
||||
// char str[ 5 ];
|
||||
//
|
||||
// str[ 4 ] = 0;
|
||||
// iff_pdata = iff_data;
|
||||
// do
|
||||
// {
|
||||
// memcpy( str, iff_pdata, 4 );
|
||||
// iff_pdata += 4;
|
||||
// iff_chunk_len = Wav_GetLittleLong();
|
||||
// Com_Printf( "0x%x : %s (%d)\n", (int)(iff_pdata - 4), str, iff_chunk_len );
|
||||
// iff_pdata += (iff_chunk_len + 1) & ~1;
|
||||
//
|
||||
// } while( iff_pdata < iff_end );
|
||||
//
|
||||
//}
|
||||
|
||||
|
||||
/*
|
||||
|
|
2
wolf3d/code/env/zmem.c
vendored
|
@ -161,7 +161,7 @@ PUBLIC void *Z_TagMalloc( size_t size, int tag )
|
|||
z_bytes += size;
|
||||
z->magic = Z_MAGIC;
|
||||
z->tag = tag;
|
||||
z->size = size;
|
||||
z->size = (int)size;
|
||||
|
||||
// Add new memory block to chain.
|
||||
z->next = z_chain.next;
|
||||
|
|
BIN
wolf3d/code/iphone/.DS_Store
vendored
|
@ -24,9 +24,8 @@
|
|||
#import <UIKit/UIKit.h>
|
||||
|
||||
|
||||
@interface CreditsViewController : UIViewController {
|
||||
@private
|
||||
IBOutlet UIView* creditsRoll;
|
||||
@interface CreditsViewController : UIViewController <UITableViewDelegate, UITableViewDataSource> {
|
||||
IBOutlet UITableView *creditsList;
|
||||
}
|
||||
|
||||
- (IBAction)back:(id)sender;
|
||||
|
|
|
@ -22,72 +22,131 @@
|
|||
*/
|
||||
|
||||
#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.
|
||||
#import "wolfiphone.h"
|
||||
|
||||
@interface CreditsViewController ()
|
||||
|
||||
@property (nonatomic, retain) UIView* creditsRoll;
|
||||
@property (nonatomic, retain) UITableView *creditsList;
|
||||
|
||||
@end
|
||||
|
||||
@implementation CreditsViewController
|
||||
|
||||
@synthesize creditsRoll;
|
||||
@synthesize creditsList;
|
||||
|
||||
// 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;
|
||||
}
|
||||
*/
|
||||
#define CREDITS_LINES 48
|
||||
|
||||
/*
|
||||
// Implement loadView to create a view hierarchy programmatically, without using a nib.
|
||||
- (void)loadView {
|
||||
}
|
||||
*/
|
||||
// 1 - heading 1
|
||||
// 2 - heading 2
|
||||
// 3 - normal text
|
||||
// 4 - tiny text
|
||||
|
||||
static const char * const CreditText[CREDITS_LINES] = {
|
||||
"Wolfenstein 3D Classic Platinum",
|
||||
"",
|
||||
"Programming",
|
||||
"",
|
||||
"John Carmack",
|
||||
"Jeff Farrand",
|
||||
"Ryan Gerleve",
|
||||
"Greg Hodges",
|
||||
"",
|
||||
"Art",
|
||||
"",
|
||||
"John Burnett",
|
||||
"Mike Horton",
|
||||
"",
|
||||
"Audio",
|
||||
"",
|
||||
"Christian Antkow",
|
||||
"",
|
||||
"Production",
|
||||
"",
|
||||
"Rafael Brown",
|
||||
"",
|
||||
"QA Testing",
|
||||
"",
|
||||
"Sean Palomino",
|
||||
"",
|
||||
"",
|
||||
"Wolfenstein 3D and Spear of Destiny",
|
||||
"originally created by id Software",
|
||||
"",
|
||||
"",
|
||||
"Programming",
|
||||
"",
|
||||
"John Carmack",
|
||||
"",
|
||||
"Design",
|
||||
"",
|
||||
"John Romero",
|
||||
"Tom Hall",
|
||||
"",
|
||||
"Art",
|
||||
"",
|
||||
"Adrian Carmack",
|
||||
"Kevin Cloud",
|
||||
"",
|
||||
"Audio",
|
||||
"",
|
||||
"Bobby Prince"
|
||||
};
|
||||
|
||||
static const int CreditSizes[CREDITS_LINES] = {
|
||||
1,
|
||||
4,
|
||||
2,
|
||||
4,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
4,
|
||||
2,
|
||||
4,
|
||||
3,
|
||||
3,
|
||||
4,
|
||||
2,
|
||||
4,
|
||||
3,
|
||||
4,
|
||||
2,
|
||||
4,
|
||||
3,
|
||||
4,
|
||||
2,
|
||||
4,
|
||||
3,
|
||||
4,
|
||||
4,
|
||||
5,
|
||||
5,
|
||||
4,
|
||||
4,
|
||||
2,
|
||||
4,
|
||||
3,
|
||||
4,
|
||||
2,
|
||||
4,
|
||||
3,
|
||||
3,
|
||||
4,
|
||||
2,
|
||||
4,
|
||||
3,
|
||||
3,
|
||||
4,
|
||||
2,
|
||||
4,
|
||||
3
|
||||
};
|
||||
|
||||
|
||||
// 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 {
|
||||
|
@ -97,14 +156,6 @@
|
|||
// 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];
|
||||
}
|
||||
|
@ -113,4 +164,95 @@
|
|||
[self.navigationController popViewControllerAnimated:YES];
|
||||
}
|
||||
|
||||
/*
|
||||
========================
|
||||
|
||||
UITableView interface
|
||||
|
||||
========================
|
||||
*/
|
||||
|
||||
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
||||
return CREDITS_LINES;
|
||||
}
|
||||
|
||||
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
static NSString *MyIdentifier = @"MyIdentifier";
|
||||
|
||||
UITableViewCell *cell = (UITableViewCell*)[self.creditsList dequeueReusableCellWithIdentifier:MyIdentifier];
|
||||
|
||||
if (cell == nil) {
|
||||
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MyIdentifier] autorelease];
|
||||
}
|
||||
|
||||
cell.selectionStyle = UITableViewCellSelectionStyleNone;
|
||||
|
||||
cell.textLabel.text = [NSString stringWithCString:CreditText[indexPath.row] encoding:NSASCIIStringEncoding];
|
||||
|
||||
cell.backgroundColor = UIColor.clearColor;
|
||||
|
||||
cell.textLabel.textColor = UIColor.whiteColor;
|
||||
|
||||
CGFloat points = cell.textLabel.font.pointSize;
|
||||
|
||||
switch (CreditSizes[indexPath.row]) {
|
||||
case 1:
|
||||
points = 22;
|
||||
break;
|
||||
case 2:
|
||||
points = 20;
|
||||
break;
|
||||
case 3:
|
||||
points = 17;
|
||||
break;
|
||||
case 4:
|
||||
points = 14;
|
||||
break;
|
||||
case 5:
|
||||
points = 20;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (IS_IPAD) {
|
||||
cell.textLabel.font =[UIFont systemFontOfSize:points weight:UIFontWeightBold];
|
||||
} else {
|
||||
cell.textLabel.font =[UIFont systemFontOfSize:points-5 weight:UIFontWeightBold];
|
||||
}
|
||||
|
||||
cell.textLabel.textAlignment = NSTextAlignmentCenter;
|
||||
|
||||
return cell;
|
||||
}
|
||||
|
||||
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
|
||||
CGFloat size = 40;
|
||||
|
||||
switch (CreditSizes[indexPath.row]) {
|
||||
case 1:
|
||||
size = 60;
|
||||
break;
|
||||
case 2:
|
||||
size = 40;
|
||||
break;
|
||||
case 3:
|
||||
size = 20;
|
||||
break;
|
||||
case 4:
|
||||
size = 10;
|
||||
break;
|
||||
case 5:
|
||||
size = 24;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return size;
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
@ -263,9 +263,9 @@ EAGLView *eaglview = nil;
|
|||
}
|
||||
|
||||
|
||||
loggedTimes[iphoneFrameNum&(MAX_LOGGED_TIMES-1)].beforeSwap = Sys_Milliseconds();
|
||||
loggedTimes[iphoneFrameNum&(MAX_LOGGED_TIMES-1)].beforeSwap = (int)Sys_Milliseconds();
|
||||
success = [context presentRenderbuffer:GL_RENDERBUFFER_OES];
|
||||
loggedTimes[iphoneFrameNum&(MAX_LOGGED_TIMES-1)].afterSwap = Sys_Milliseconds();
|
||||
loggedTimes[iphoneFrameNum&(MAX_LOGGED_TIMES-1)].afterSwap = (int)Sys_Milliseconds();
|
||||
}
|
||||
|
||||
return success;
|
||||
|
@ -276,7 +276,7 @@ EAGLView *eaglview = nil;
|
|||
//float widthRatio = ( self.bounds.size.width * deviceScale ) / REFERENCE_WIDTH;
|
||||
//float heightRatio = ( self.bounds.size.height * deviceScale ) / REFERENCE_HEIGHT;
|
||||
|
||||
[self deleteFramebuffer];
|
||||
[self deleteFramebuffer];
|
||||
|
||||
/*
|
||||
if ( widthRatio < heightRatio ) {
|
||||
|
@ -317,10 +317,15 @@ EAGLView *eaglview = nil;
|
|||
for (UITouch *myTouch in t)
|
||||
{
|
||||
CGPoint touchLocation = [myTouch locationInView:self];
|
||||
|
||||
points[ 2 * touchCount + 0 ] = touchLocation.x;
|
||||
points[ 2 * touchCount + 1 ] = touchLocation.y; // ( h - 1 ) - touchLocation.y;
|
||||
|
||||
|
||||
if ([[UIDevice currentDevice] orientation] == UIDeviceOrientationLandscapeLeft) {
|
||||
points[ 2 * touchCount + 1 ] = self.bounds.size.width - (self.bounds.size.width - touchLocation.x);
|
||||
points[ 2 * touchCount + 0 ] = self.bounds.size.height - touchLocation.y;
|
||||
} else {
|
||||
points[ 2 * touchCount + 1 ] = self.bounds.size.width - touchLocation.x;
|
||||
points[ 2 * touchCount + 0 ] = self.bounds.size.height - (self.bounds.size.height - touchLocation.y);
|
||||
}
|
||||
|
||||
touchCount++;
|
||||
|
||||
if (myTouch.phase == UITouchPhaseBegan) {
|
||||
|
@ -353,7 +358,7 @@ EAGLView *eaglview = nil;
|
|||
textField.autocorrectionType = UITextAutocorrectionTypeNo;
|
||||
[textField becomeFirstResponder];
|
||||
} else {
|
||||
void iphoneDeactivateConsole();
|
||||
void iphoneDeactivateConsole(void);
|
||||
[textField resignFirstResponder];
|
||||
[textField removeFromSuperview];
|
||||
textField = nil;
|
||||
|
@ -479,7 +484,7 @@ void SysIPhoneLoadJPG( W8* jpegData, int jpegBytes, W8 **pic, W16 *width, W16 *h
|
|||
*height = img.size.height;
|
||||
imgBytes = (int)(*width) * (int)(*height) * 4;
|
||||
data = CGDataProviderCopyData( CGImageGetDataProvider( img.CGImage ) );
|
||||
dataBytes = CFDataGetLength( data );
|
||||
dataBytes = (int)CFDataGetLength( data );
|
||||
*bytes = 4;
|
||||
if ( dataBytes > imgBytes ) {
|
||||
*pic = NULL;
|
||||
|
|
|
@ -1,698 +1,67 @@
|
|||
<?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>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13771" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" colorMatched="YES">
|
||||
<device id="retina4_7" orientation="portrait">
|
||||
<adaptation id="fullscreen"/>
|
||||
</device>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13772"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="EpisodeViewController">
|
||||
<connections>
|
||||
<outlet property="episodeCell" destination="2" id="7"/>
|
||||
</connections>
|
||||
</placeholder>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<tableViewCell contentMode="scaleToFill" selectionStyle="blue" indentationWidth="10" reuseIdentifier="MyIdentifier" id="2">
|
||||
<rect key="frame" x="0.0" y="0.0" width="336" height="103"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="2" id="tBN-2c-I18">
|
||||
<rect key="frame" x="0.0" y="0.0" width="336" height="102.5"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<imageView hidden="YES" userInteractionEnabled="NO" tag="3" contentMode="scaleToFill" image="highlight_bracket.png" id="11">
|
||||
<rect key="frame" x="0.0" y="2" width="328" height="100"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
</imageView>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" image="episode_bracket.png" id="9">
|
||||
<rect key="frame" x="4" y="6" width="319" height="92"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
</imageView>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" image="episode_divider.png" id="8">
|
||||
<rect key="frame" x="13" y="32" width="260" height="3"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
</imageView>
|
||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" tag="1" contentMode="left" text="Episode Number" lineBreakMode="tailTruncation" minimumFontSize="10" id="3" customClass="UIFontLabel">
|
||||
<rect key="frame" x="12" y="10" width="314" height="34"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" name=".AppleSystemUIFont" family=".AppleSystemUIFont" pointSize="20"/>
|
||||
<color key="textColor" red="0.66666668653488159" green="0.66666668653488159" blue="0.66666668653488159" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<color key="highlightedColor" red="0.3333333432674408" green="0.3333333432674408" blue="0.3333333432674408" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</label>
|
||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" tag="2" contentMode="TopLeft" text="Episode Name" lineBreakMode="tailTruncation" minimumFontSize="10" adjustsFontSizeToFit="NO" id="4" customClass="UIFontLabel">
|
||||
<rect key="frame" x="12" y="37" width="323" height="41"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" name=".AppleSystemUIFont" family=".AppleSystemUIFont" pointSize="32"/>
|
||||
<color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<color key="highlightedColor" red="0.3333333432674408" green="0.3333333432674408" blue="0.3333333432674408" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</label>
|
||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" tag="2" contentMode="TopLeft" text="" lineBreakMode="tailTruncation" minimumFontSize="10" adjustsFontSizeToFit="NO" id="10" customClass="UIFontLabel">
|
||||
<rect key="frame" x="12" y="64" width="323" height="41"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" name=".AppleSystemUIFont" family=".AppleSystemUIFont" pointSize="32"/>
|
||||
<color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<color key="highlightedColor" red="0.3333333432674408" green="0.3333333432674408" blue="0.3333333432674408" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</label>
|
||||
</subviews>
|
||||
</tableViewCellContentView>
|
||||
</tableViewCell>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="episode_bracket.png" width="606" height="168"/>
|
||||
<image name="episode_divider.png" width="387" height="3"/>
|
||||
<image name="highlight_bracket.png" width="623" height="189"/>
|
||||
</resources>
|
||||
</document>
|
||||
|
|
|
@ -94,32 +94,14 @@ static const char * const EpisodeNames[TOTAL_EPISODES][2] = {
|
|||
[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.
|
||||
[self.episodeList release];
|
||||
self.episodeList = nil;
|
||||
}
|
||||
|
||||
- (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];
|
||||
}
|
||||
|
@ -159,7 +141,7 @@ static const char * const EpisodeNames[TOTAL_EPISODES][2] = {
|
|||
int maxRow = 0;
|
||||
|
||||
for ( NSIndexPath* path in visibleIndexPaths ) {
|
||||
maxRow = maxRow < path.row ? path.row: maxRow;
|
||||
maxRow = maxRow < path.row ? (int)path.row: maxRow;
|
||||
}
|
||||
|
||||
const int rowToMakeVisible = maxRow + 1;
|
||||
|
@ -180,7 +162,7 @@ static const char * const EpisodeNames[TOTAL_EPISODES][2] = {
|
|||
int minRow = TOTAL_EPISODES - 1;
|
||||
|
||||
for ( NSIndexPath* path in visibleIndexPaths ) {
|
||||
minRow = minRow < path.row ? minRow: path.row;
|
||||
minRow = minRow < path.row ? minRow: (int)path.row;
|
||||
}
|
||||
|
||||
const int rowToMakeVisible = minRow - 1;
|
||||
|
@ -312,9 +294,10 @@ static CGRect maximumNameLabelFrame = { { 0.0, 0.0 }, { 0.0, 0.0 } };
|
|||
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];
|
||||
CGSize expectedLabelSize = [episodeNameText boundingRectWithSize:maximumNameLabelFrame.size
|
||||
options:NSStringDrawingUsesLineFragmentOrigin
|
||||
attributes:@{NSFontAttributeName: episodeNameLabel.font}
|
||||
context:nil].size;
|
||||
|
||||
//adjust the label the the new height.
|
||||
CGRect newFrame = maximumNameLabelFrame;
|
||||
|
@ -322,6 +305,9 @@ static CGRect maximumNameLabelFrame = { { 0.0, 0.0 }, { 0.0, 0.0 } };
|
|||
episodeNameLabel.frame = newFrame;
|
||||
|
||||
episodeNameLabel.text = episodeNameText;
|
||||
|
||||
cell.backgroundColor = UIColor.clearColor;
|
||||
|
||||
|
||||
return cell;
|
||||
}
|
||||
|
|
|
@ -1,258 +0,0 @@
|
|||
/*
|
||||
File: FSCopyObject.h
|
||||
|
||||
Contains: A Copy/Delete Files/Folders engine which uses the HFS+ API's
|
||||
|
||||
Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc.
|
||||
("Apple") in consideration of your agreement to the following terms, and your
|
||||
use, installation, modification or redistribution of this Apple software
|
||||
constitutes acceptance of these terms. If you do not agree with these terms,
|
||||
please do not use, install, modify or redistribute this Apple software.
|
||||
|
||||
In consideration of your agreement to abide by the following terms, and subject
|
||||
to these terms, Apple grants you a personal, non-exclusive license, under AppleÕs
|
||||
copyrights in this original Apple software (the "Apple Software"), to use,
|
||||
reproduce, modify and redistribute the Apple Software, with or without
|
||||
modifications, in source and/or binary forms; provided that if you redistribute
|
||||
the Apple Software in its entirety and without modifications, you must retain
|
||||
this notice and the following text and disclaimers in all such redistributions of
|
||||
the Apple Software. Neither the name, trademarks, service marks or logos of
|
||||
Apple Computer, Inc. may be used to endorse or promote products derived from the
|
||||
Apple Software without specific prior written permission from Apple. Except as
|
||||
expressly stated in this notice, no other rights or licenses, express or implied,
|
||||
are granted by Apple herein, including but not limited to any patent rights that
|
||||
may be infringed by your derivative works or by other works in which the Apple
|
||||
Software may be incorporated.
|
||||
|
||||
The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO
|
||||
WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED
|
||||
WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN
|
||||
COMBINATION WITH YOUR PRODUCTS.
|
||||
|
||||
IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
||||
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION
|
||||
OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT
|
||||
(INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN
|
||||
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
Copyright © 2002-2004 Apple Computer, Inc., All Rights Reserved
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __FSCOPYOBJECT_H__
|
||||
#define __FSCOPYOBJECT_H__
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#if TARGET_API_MAC_OSX || defined( __APPLE_CC__ )
|
||||
#include <CoreServices/CoreServices.h>
|
||||
#endif
|
||||
|
||||
#define DEBUG 1 /* set to zero if you don't want debug spew */
|
||||
|
||||
#if DEBUG
|
||||
#include <stdio.h>
|
||||
|
||||
#define QuoteExceptionString(x) #x
|
||||
|
||||
#define dwarning(s) do { printf s; fflush(stderr); } while( 0 )
|
||||
|
||||
#define mycheck_noerr( error ) \
|
||||
do { \
|
||||
if( (OSErr) error != noErr ) { \
|
||||
dwarning((QuoteExceptionString(error) " != noErr in File: %s, Function: %s, Line: %d, Error: %d\n", \
|
||||
__FILE__, __FUNCTION__, __LINE__, (OSErr) error)); \
|
||||
} \
|
||||
} while( false )
|
||||
|
||||
#define mycheck( assertion ) \
|
||||
do { \
|
||||
if( ! assertion ) { \
|
||||
dwarning((QuoteExceptionString(assertion) " failed in File: %s, Function: %s, Line: %d\n", \
|
||||
__FILE__, __FUNCTION__, __LINE__)); \
|
||||
} \
|
||||
} while( false )
|
||||
|
||||
#define myverify(assertion) mycheck(assertion)
|
||||
#define myverify_noerr(assertion) mycheck_noerr( (assertion) )
|
||||
#else
|
||||
#define dwarning(s)
|
||||
|
||||
#define mycheck(assertion)
|
||||
#define mycheck_noerr(err)
|
||||
#define myverify(assertion) do { (void) (assertion); } while (0)
|
||||
#define myverify_noerr(assertion) myverify(assertion)
|
||||
#endif
|
||||
|
||||
/*
|
||||
This code takes some tricks/techniques from MoreFilesX (by Jim Luther) and
|
||||
MPFileCopy (by Quinn), wraps them all up into an easy to use API, and adds a bunch of
|
||||
features and bug fixes. It will run on Mac OS 9.1 through 9.2.x and 10.1.x
|
||||
and up (Classic, Carbon and Mach-O)
|
||||
*/
|
||||
|
||||
/* Different options that FSCopyObject can take during a copy */
|
||||
typedef UInt32 DupeAction;
|
||||
enum {
|
||||
kDupeActionStandard, /* will do the copy with no frills */
|
||||
kDupeActionReplace, /* will delete the existing object and then copy over the new one */
|
||||
kDupeActionRename /* will rename the new object if an object of the same name exists */
|
||||
};
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
#pragma mark CopyObjectFilterProcPtr
|
||||
|
||||
/*
|
||||
This is the prototype for the CallCopyObjectFilterProc function which
|
||||
is called once for each file and directory found by FSCopyObject.
|
||||
The CallCopyObjectFilterProc can use the read-only data it receives for
|
||||
whatever it wants.
|
||||
|
||||
The result of the CallCopyObjectFilterProc function indicates if
|
||||
the copy should be stopped. To stop the copy, return an error; to continue
|
||||
the copy, return noErr.
|
||||
|
||||
The yourDataPtr parameter can point to whatever data structure you might
|
||||
want to access from within the CallCopyObjectFilterProc.
|
||||
|
||||
Note: If an error had occured during the copy of the current object
|
||||
(currentOSErr != noErr) the FSRef etc might not be valid
|
||||
|
||||
containerChanged --> Set to true if the container's contents changed
|
||||
during iteration.
|
||||
currentLevel --> The current recursion level into the container.
|
||||
1 = the container, 2 = the container's immediate
|
||||
subdirectories, etc.
|
||||
currentOSErr --> The current error code, shows the results of the
|
||||
copy of the current object (ref)
|
||||
catalogInfo --> The catalog information for the current object.
|
||||
Only the fields requested by the whichInfo
|
||||
parameter passed to FSIterateContainer are valid.
|
||||
ref --> The FSRef to the current object.
|
||||
spec --> The FSSpec to the current object if the wantFSSpec
|
||||
parameter passed to FSCopyObject is true.
|
||||
name --> The name of the current object if the wantName
|
||||
parameter passed to FSCopyObject is true.
|
||||
yourDataPtr --> An optional pointer to whatever data structure you
|
||||
might want to access from within the
|
||||
CallCopyObjectFilterProc.
|
||||
result <-- To continue the copy, return noErr
|
||||
|
||||
__________
|
||||
|
||||
Also see: FSCopyObject
|
||||
*/
|
||||
|
||||
typedef CALLBACK_API( OSErr , CopyObjectFilterProcPtr ) (
|
||||
Boolean containerChanged,
|
||||
ItemCount currentLevel,
|
||||
OSErr currentOSErr,
|
||||
const FSCatalogInfo *catalogInfo,
|
||||
const FSRef *ref,
|
||||
const FSSpec *spec,
|
||||
const HFSUniStr255 *name,
|
||||
void *yourDataPtr);
|
||||
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
#pragma mark CallCopyObjectFilterProc
|
||||
|
||||
#define CallCopyObjectFilterProc(userRoutine, containerChanged, currentLevel, currentOSErr, catalogInfo, ref, spec, name, yourDataPtr) \
|
||||
(*(userRoutine))((containerChanged), (currentLevel), (currentOSErr), (catalogInfo), (ref), (spec), (name), (yourDataPtr))
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
#pragma mark FSCopyObject
|
||||
|
||||
/*
|
||||
The FSCopyObject function takes a source object (can be a file or directory)
|
||||
and copies it (and its contents if it's a directory) to the new destination
|
||||
directory.
|
||||
|
||||
It will call your CopyObjectFilterProcPtr once for each object copied
|
||||
|
||||
The maxLevels parameter is only used when the object is a directory,
|
||||
ignored otherwise.
|
||||
It lets you control how deep the recursion goes.
|
||||
If maxLevels is 1, FSCopyObject only scans the specified directory;
|
||||
if maxLevels is 2, FSCopyObject scans the specified directory and
|
||||
one subdirectory below the specified directory; etc. Set maxLevels to
|
||||
zero to scan all levels.
|
||||
|
||||
The yourDataPtr parameter can point to whatever data structure you might
|
||||
want to access from within your CopyObjectFilterProcPtr.
|
||||
|
||||
source --> The FSRef to the object you want to copy
|
||||
destDir --> The FSRef to the directory you wish to copy source to
|
||||
maxLevels --> Maximum number of directory levels to scan or
|
||||
zero to scan all directory levels, ignored if the
|
||||
object is a file
|
||||
whichInfo --> The fields of the FSCatalogInfo you wish passed
|
||||
to you in your CopyObjectFilterProc
|
||||
dupeAction --> The action to take if an object of the same name exists
|
||||
in the destination
|
||||
newName --> The name you want the new object to have. If you pass
|
||||
in NULL, the source object name will be used.
|
||||
wantFSSpec --> Set to true if you want the FSSpec to each
|
||||
object passed to your CopyObjectFilterProc.
|
||||
wantName --> Set to true if you want the name of each
|
||||
object passed to your CopyObjectFilterProc.
|
||||
filterProcPtr --> A pointer to the CopyObjectFilterProc you
|
||||
want called once for each object found
|
||||
by FSCopyObject.
|
||||
yourDataPtr --> An optional pointer to whatever data structure you
|
||||
might want to access from within the
|
||||
CopyObjectFilterProc.
|
||||
newObjectRef --> An optional pointer to an FSRef that, on return,
|
||||
references the new object. If you don't want this
|
||||
info returned, pass in NULL
|
||||
newObjectSpec --> An optional pointer to an FSSPec that, on return,
|
||||
references the new object. If you don't want this
|
||||
info returned, pass in NULL
|
||||
*/
|
||||
|
||||
OSErr FSCopyObject( const FSRef *source,
|
||||
const FSRef *destDir,
|
||||
ItemCount maxLevels,
|
||||
FSCatalogInfoBitmap whichInfo,
|
||||
DupeAction dupeAction,
|
||||
const HFSUniStr255 *newName, /* can be NULL */
|
||||
Boolean wantFSSpec,
|
||||
Boolean wantName,
|
||||
CopyObjectFilterProcPtr filterProcPtr, /* can be NULL */
|
||||
void *yourDataPtr, /* can be NULL */
|
||||
FSRef *newObjectRef, /* can be NULL */
|
||||
FSSpec *newObjectSpec); /* can be NULL */
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
#pragma mark FSDeleteObjects
|
||||
|
||||
/*
|
||||
The FSDeleteObjects function takes an FSRef to a file or directory
|
||||
and attempts to delete it. If the object is a directory, all files
|
||||
and subdirectories in the specified directory are deleted. If a
|
||||
locked file or directory is encountered, it is unlocked and then
|
||||
deleted. After deleting the directory's contents, the directory
|
||||
is deleted. If any unexpected errors are encountered,
|
||||
FSDeleteContainer quits and returns to the caller.
|
||||
|
||||
source --> FSRef to an object (can be file or directory).
|
||||
|
||||
__________
|
||||
*/
|
||||
|
||||
OSErr FSDeleteObjects( const FSRef *source );
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
|
@ -1,212 +0,0 @@
|
|||
/*
|
||||
File: GenLinkedList.c
|
||||
|
||||
Contains: Linked List utility routines
|
||||
|
||||
Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc.
|
||||
("Apple") in consideration of your agreement to the following terms, and your
|
||||
use, installation, modification or redistribution of this Apple software
|
||||
constitutes acceptance of these terms. If you do not agree with these terms,
|
||||
please do not use, install, modify or redistribute this Apple software.
|
||||
|
||||
In consideration of your agreement to abide by the following terms, and subject
|
||||
to these terms, Apple grants you a personal, non-exclusive license, under AppleÕs
|
||||
copyrights in this original Apple software (the "Apple Software"), to use,
|
||||
reproduce, modify and redistribute the Apple Software, with or without
|
||||
modifications, in source and/or binary forms; provided that if you redistribute
|
||||
the Apple Software in its entirety and without modifications, you must retain
|
||||
this notice and the following text and disclaimers in all such redistributions of
|
||||
the Apple Software. Neither the name, trademarks, service marks or logos of
|
||||
Apple Computer, Inc. may be used to endorse or promote products derived from the
|
||||
Apple Software without specific prior written permission from Apple. Except as
|
||||
expressly stated in this notice, no other rights or licenses, express or implied,
|
||||
are granted by Apple herein, including but not limited to any patent rights that
|
||||
may be infringed by your derivative works or by other works in which the Apple
|
||||
Software may be incorporated.
|
||||
|
||||
The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO
|
||||
WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED
|
||||
WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN
|
||||
COMBINATION WITH YOUR PRODUCTS.
|
||||
|
||||
IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
||||
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION
|
||||
OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT
|
||||
(INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN
|
||||
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
Copyright © 2003-2004 Apple Computer, Inc., All Rights Reserved
|
||||
*/
|
||||
|
||||
#include "GenLinkedList.h"
|
||||
|
||||
#pragma mark --- Data Structures ---
|
||||
|
||||
/* This is the internal data structure for the nodes in the linked list. */
|
||||
/* */
|
||||
/* Note: The memory pointed to by pNext is owned by the list and is disposed of */
|
||||
/* in DestroyList. It should not be disposed of in any other way. */
|
||||
/* */
|
||||
/* Note: The memory pointed to by pData is owned by the caller of the linked */
|
||||
/* list. The caller is responsible for disposing of this memory. This can be */
|
||||
/* done by simply implementing a DisposeDataProc that will be called on each */
|
||||
/* node in the list, giving the caller a chance to dispose of any memory */
|
||||
/* created. The DisposeDataProc is called from DestroyList */
|
||||
struct GenNode
|
||||
{
|
||||
struct GenNode *pNext; /* Pointer to the next node in the list */
|
||||
GenDataPtr pData; /* The data for this node, owned by caller */
|
||||
};
|
||||
typedef struct GenNode GenNode;
|
||||
|
||||
#pragma mark --- List Implementation ---
|
||||
|
||||
/* Initializes the given GenLinkedList to an empty list. This MUST be */
|
||||
/* called before any operations are performed on the list, otherwise bad things */
|
||||
/* will happen. */
|
||||
void InitLinkedList( GenLinkedList *pList, DisposeDataProcPtr disposeProcPtr)
|
||||
{
|
||||
if( pList == NULL )
|
||||
return;
|
||||
|
||||
pList->pHead = pList->pTail = NULL;
|
||||
pList->NumberOfItems = 0;
|
||||
pList->DisposeProcPtr = disposeProcPtr;
|
||||
}
|
||||
|
||||
/* returns the current number of items in the given list. */
|
||||
/* If pList == NULL, it returns 0 */
|
||||
ItemCount GetNumberOfItems( GenLinkedList *pList )
|
||||
{
|
||||
return (pList) ? pList->NumberOfItems : 0;
|
||||
}
|
||||
|
||||
/* Creates a new node, containing pData, and adds it to the tail of pList. */
|
||||
/* Note: if an error occurs, pList is unchanged. */
|
||||
OSErr AddToTail( GenLinkedList *pList, void *pData )
|
||||
{
|
||||
OSErr err = paramErr;
|
||||
GenNode *tmpNode = NULL;
|
||||
|
||||
if( pList == NULL || pData == NULL )
|
||||
return err;
|
||||
|
||||
/* create memory for new node, if this fails we _must_ bail */
|
||||
err = ( ( tmpNode = (GenNode*) NewPtr( sizeof( GenNode ) ) ) != NULL ) ? noErr : MemError();
|
||||
if( err == noErr )
|
||||
{
|
||||
tmpNode->pData = pData; /* Setup new node */
|
||||
tmpNode->pNext = NULL;
|
||||
|
||||
if( pList->pTail != NULL ) /* more then one item already */
|
||||
((GenNode*) pList->pTail)->pNext = (void*) tmpNode; /* so append to tail */
|
||||
else
|
||||
pList->pHead = (void*) tmpNode; /* no items, so adjust head */
|
||||
|
||||
pList->pTail = (void*) tmpNode;
|
||||
pList->NumberOfItems += 1;
|
||||
}
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
/* Takes pSrcList and inserts it into pDestList at the location pIter points to. */
|
||||
/* The lists must have the same DisposeProcPtr, but the Data can be different. If pSrcList */
|
||||
/* is empty, it does nothing and just returns */
|
||||
/* */
|
||||
/* If pIter == NULL, insert pSrcList before the head */
|
||||
/* else If pIter == pTail, append pSrcList to the tail */
|
||||
/* else insert pSrcList in the middle somewhere */
|
||||
/* On return: pSrcList is cleared and is an empty list. */
|
||||
/* The data that was owned by pSrcList is now owned by pDestList */
|
||||
void InsertList( GenLinkedList *pDestList, GenLinkedList *pSrcList, GenIteratorPtr pIter )
|
||||
{
|
||||
if( pDestList == NULL || pSrcList == NULL ||
|
||||
pSrcList->pHead == NULL || pSrcList->pTail == NULL ||
|
||||
pDestList->DisposeProcPtr != pSrcList->DisposeProcPtr )
|
||||
return;
|
||||
|
||||
if( pDestList->pHead == NULL && pDestList->pTail == NULL ) /* empty list */
|
||||
{
|
||||
pDestList->pHead = pSrcList->pHead;
|
||||
pDestList->pTail = pSrcList->pTail;
|
||||
}
|
||||
else if( pIter == NULL ) /* insert before head */
|
||||
{
|
||||
/* attach the list */
|
||||
((GenNode*)pSrcList->pTail)->pNext = pDestList->pHead;
|
||||
/* fix up head */
|
||||
pDestList->pHead = pSrcList->pHead;
|
||||
}
|
||||
else if( pIter == pDestList->pTail ) /* append to tail */
|
||||
{
|
||||
/* attach the list */
|
||||
((GenNode*)pDestList->pTail)->pNext = pSrcList->pHead;
|
||||
/* fix up tail */
|
||||
pDestList->pTail = pSrcList->pTail;
|
||||
}
|
||||
else /* insert in middle somewhere */
|
||||
{
|
||||
GenNode *tmpNode = ((GenNode*)pIter)->pNext;
|
||||
((GenNode*)pIter)->pNext = pSrcList->pHead;
|
||||
((GenNode*)pSrcList->pTail)->pNext = tmpNode;
|
||||
}
|
||||
|
||||
pDestList->NumberOfItems += pSrcList->NumberOfItems; /* sync up NumberOfItems */
|
||||
|
||||
InitLinkedList( pSrcList, NULL); /* reset the source list */
|
||||
}
|
||||
|
||||
/* Goes through the list and disposes of any memory we allocated. Calls the DisposeProcPtr,*/
|
||||
/* if it exists, to give the caller a chance to free up their memory */
|
||||
void DestroyList( GenLinkedList *pList )
|
||||
{
|
||||
GenIteratorPtr pIter = NULL,
|
||||
pNextIter = NULL;
|
||||
|
||||
if( pList == NULL )
|
||||
return;
|
||||
|
||||
for( InitIterator( pList, &pIter ), pNextIter = pIter; pIter != NULL; pIter = pNextIter )
|
||||
{
|
||||
Next( &pNextIter ); /* get the next node before we blow away the link */
|
||||
|
||||
if( pList->DisposeProcPtr != NULL )
|
||||
CallDisposeDataProc( pList->DisposeProcPtr, GetData( pIter ) );
|
||||
DisposePtr( (char*) pIter );
|
||||
}
|
||||
|
||||
InitLinkedList( pList, NULL);
|
||||
}
|
||||
|
||||
/*#############################################*/
|
||||
/*#############################################*/
|
||||
/*#############################################*/
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark --- Iterator Implementation ---
|
||||
|
||||
/* Initializes pIter to point at the head of pList */
|
||||
/* This must be called before performing any operations with pIter */
|
||||
void InitIterator( GenLinkedList *pList, GenIteratorPtr *pIter )
|
||||
{
|
||||
if( pList != NULL && pIter != NULL )
|
||||
*pIter = pList->pHead;
|
||||
}
|
||||
|
||||
/* On return, pIter points to the next node in the list. NULL if its gone */
|
||||
/* past the end of the list */
|
||||
void Next( GenIteratorPtr *pIter )
|
||||
{
|
||||
if( pIter != NULL )
|
||||
*pIter = ((GenNode*)*pIter)->pNext;
|
||||
}
|
||||
|
||||
/* Returns the data of the current node that pIter points to */
|
||||
GenDataPtr GetData( GenIteratorPtr pIter )
|
||||
{
|
||||
return ( pIter != NULL ) ? ((GenNode*)pIter)->pData : NULL;
|
||||
}
|
|
@ -1,93 +0,0 @@
|
|||
/*
|
||||
File: GenLinkedList.h
|
||||
|
||||
Contains: Linked List utility routines prototypes
|
||||
|
||||
Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc.
|
||||
("Apple") in consideration of your agreement to the following terms, and your
|
||||
use, installation, modification or redistribution of this Apple software
|
||||
constitutes acceptance of these terms. If you do not agree with these terms,
|
||||
please do not use, install, modify or redistribute this Apple software.
|
||||
|
||||
In consideration of your agreement to abide by the following terms, and subject
|
||||
to these terms, Apple grants you a personal, non-exclusive license, under AppleÕs
|
||||
copyrights in this original Apple software (the "Apple Software"), to use,
|
||||
reproduce, modify and redistribute the Apple Software, with or without
|
||||
modifications, in source and/or binary forms; provided that if you redistribute
|
||||
the Apple Software in its entirety and without modifications, you must retain
|
||||
this notice and the following text and disclaimers in all such redistributions of
|
||||
the Apple Software. Neither the name, trademarks, service marks or logos of
|
||||
Apple Computer, Inc. may be used to endorse or promote products derived from the
|
||||
Apple Software without specific prior written permission from Apple. Except as
|
||||
expressly stated in this notice, no other rights or licenses, express or implied,
|
||||
are granted by Apple herein, including but not limited to any patent rights that
|
||||
may be infringed by your derivative works or by other works in which the Apple
|
||||
Software may be incorporated.
|
||||
|
||||
The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO
|
||||
WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED
|
||||
WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN
|
||||
COMBINATION WITH YOUR PRODUCTS.
|
||||
|
||||
IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
||||
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION
|
||||
OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT
|
||||
(INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN
|
||||
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
Copyright © 2003-2004 Apple Computer, Inc., All Rights Reserved
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __GENLINKEDLIST__
|
||||
#define __GENLINKEDLIST__
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#if TARGET_API_MAC_OSX || defined( __APPLE_CC__ )
|
||||
#include <CoreServices/CoreServices.h>
|
||||
#endif
|
||||
|
||||
/* This is a quick, simple and generic linked list implementation. I tried */
|
||||
/* to setup the code so that you could use any linked list implementation you */
|
||||
/* want. They just need to support these few functions. */
|
||||
|
||||
typedef void* GenIteratorPtr;
|
||||
typedef void* GenDataPtr;
|
||||
|
||||
/* This is a callback that is called from DestroyList for each node in the */
|
||||
/* list. It gives the caller the oportunity to free any memory they might */
|
||||
/* allocated in each node. */
|
||||
typedef CALLBACK_API( void , DisposeDataProcPtr ) ( GenDataPtr pData );
|
||||
|
||||
#define CallDisposeDataProc( userRoutine, pData ) (*(userRoutine))((pData))
|
||||
|
||||
struct GenLinkedList
|
||||
{
|
||||
GenDataPtr pHead; /* Pointer to the head of the list */
|
||||
GenDataPtr pTail; /* Pointer to the tail of the list */
|
||||
ItemCount NumberOfItems; /* Number of items in the list (mostly for debugging) */
|
||||
DisposeDataProcPtr DisposeProcPtr; /* rountine called to dispose of caller data, can be NULL */
|
||||
};
|
||||
typedef struct GenLinkedList GenLinkedList;
|
||||
|
||||
void InitLinkedList ( GenLinkedList *pList, DisposeDataProcPtr disposeProcPtr );
|
||||
ItemCount GetNumberOfItems( GenLinkedList *pList );
|
||||
OSErr AddToTail ( GenLinkedList *pList, GenDataPtr pData );
|
||||
void InsertList ( GenLinkedList *pDestList, GenLinkedList *pSrcList, GenIteratorPtr pIter );
|
||||
void DestroyList ( GenLinkedList *pList );
|
||||
|
||||
void InitIterator ( GenLinkedList *pList, GenIteratorPtr *pIter );
|
||||
void Next ( GenIteratorPtr *pIter );
|
||||
GenDataPtr GetData ( GenIteratorPtr pIter );
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
|
@ -15,7 +15,7 @@
|
|||
<string>WOLF_72</string>
|
||||
</array>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.idsoftware.${PRODUCT_NAME:identifier}</string>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
|
@ -36,8 +36,12 @@
|
|||
</array>
|
||||
<key>UIInterfaceOrientation</key>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<key>UILaunchStoryboardName</key>
|
||||
<string>Launch Screen</string>
|
||||
<key>UIPrerenderedIcon</key>
|
||||
<true/>
|
||||
<key>UIRequiresFullScreen</key>
|
||||
<true/>
|
||||
<key>UIStatusBarHidden</key>
|
||||
<true/>
|
||||
<key>UISupportedInterfaceOrientations</key>
|
||||
|
@ -47,8 +51,8 @@
|
|||
</array>
|
||||
<key>UISupportedInterfaceOrientations~ipad</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
31
wolf3d/code/iphone/Launch Screen.storyboard
Normal file
|
@ -0,0 +1,31 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13771" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
|
||||
<device id="retina5_9" orientation="portrait">
|
||||
<adaptation id="fullscreen"/>
|
||||
</device>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13772"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<scenes>
|
||||
<!--View Controller-->
|
||||
<scene sceneID="EHf-IW-A2E">
|
||||
<objects>
|
||||
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
|
||||
<layoutGuides>
|
||||
<viewControllerLayoutGuide type="top" id="kSa-Ap-Mb8"/>
|
||||
<viewControllerLayoutGuide type="bottom" id="uoV-pw-f8X"/>
|
||||
</layoutGuides>
|
||||
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="812"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
</view>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="53" y="375"/>
|
||||
</scene>
|
||||
</scenes>
|
||||
</document>
|
|
@ -1,657 +1,134 @@
|
|||
<?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>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13771" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" colorMatched="YES">
|
||||
<device id="retina4_7" orientation="portrait">
|
||||
<adaptation id="fullscreen"/>
|
||||
</device>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13772"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<customFonts key="customFonts">
|
||||
<array key="Helvetica.ttc">
|
||||
<string>Helvetica-Bold</string>
|
||||
</array>
|
||||
</customFonts>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="LegalViewController">
|
||||
<connections>
|
||||
<outlet property="view" destination="1" id="3"/>
|
||||
</connections>
|
||||
</placeholder>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<view contentMode="scaleToFill" id="1">
|
||||
<rect key="frame" x="0.0" y="0.0" width="480" height="320"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Sj5-yb-LFV">
|
||||
<rect key="frame" x="0.0" y="0.0" width="480" height="320"/>
|
||||
<subviews>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" image="credits_bg.png" translatesAutoresizingMaskIntoConstraints="NO" id="7">
|
||||
<rect key="frame" x="0.0" y="0.0" width="480" height="320"/>
|
||||
</imageView>
|
||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Legal" textAlignment="center" lineBreakMode="tailTruncation" minimumFontSize="10" translatesAutoresizingMaskIntoConstraints="NO" id="4" customClass="UIFontLabel">
|
||||
<rect key="frame" x="245" y="14" width="134" height="52"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="134" id="DzQ-pu-Aw0"/>
|
||||
<constraint firstAttribute="height" constant="52" id="pXR-PV-cbg"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" name=".AppleSystemUIFont" family=".AppleSystemUIFont" pointSize="36"/>
|
||||
<color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<color key="highlightedColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<color key="shadowColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<size key="shadowOffset" width="2" height="2"/>
|
||||
</label>
|
||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" textAlignment="center" lineBreakMode="wordWrap" numberOfLines="12" minimumFontSize="10" translatesAutoresizingMaskIntoConstraints="NO" id="18">
|
||||
<rect key="frame" x="185" y="59" width="255" height="242"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="242" id="aBz-G3-ezN"/>
|
||||
<constraint firstAttribute="width" constant="255" id="aHi-O6-6bg"/>
|
||||
</constraints>
|
||||
<string key="text">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>
|
||||
<fontDescription key="fontDescription" name=".AppleSystemUIFont" family=".AppleSystemUIFont" pointSize="14"/>
|
||||
<color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<color key="highlightedColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<color key="shadowColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</label>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" image="settings_divider.png" translatesAutoresizingMaskIntoConstraints="NO" id="19">
|
||||
<rect key="frame" x="163" y="69" width="298" height="7"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="298" id="K4E-WA-Oki"/>
|
||||
<constraint firstAttribute="height" constant="7" id="nr7-U7-X6e"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="trailing" secondItem="7" secondAttribute="trailing" id="8rb-bt-3BD"/>
|
||||
<constraint firstItem="18" firstAttribute="top" secondItem="Sj5-yb-LFV" secondAttribute="top" constant="59" id="N0j-la-rPx"/>
|
||||
<constraint firstAttribute="trailing" secondItem="19" secondAttribute="trailing" constant="19" id="QN9-Ia-xHm"/>
|
||||
<constraint firstItem="19" firstAttribute="top" secondItem="4" secondAttribute="bottom" constant="3" id="QYB-7R-HZP"/>
|
||||
<constraint firstAttribute="trailing" secondItem="4" secondAttribute="trailing" constant="101" id="hG2-c9-CFq"/>
|
||||
<constraint firstItem="7" firstAttribute="leading" secondItem="Sj5-yb-LFV" secondAttribute="leading" id="pS6-CH-mtw"/>
|
||||
<constraint firstAttribute="bottom" secondItem="7" secondAttribute="bottom" id="po1-Xj-JZS"/>
|
||||
<constraint firstAttribute="width" constant="480" id="pz1-hg-ko7"/>
|
||||
<constraint firstItem="7" firstAttribute="top" secondItem="Sj5-yb-LFV" secondAttribute="top" id="uw2-wP-zwN"/>
|
||||
<constraint firstItem="4" firstAttribute="top" secondItem="Sj5-yb-LFV" secondAttribute="top" constant="14" id="vJw-c7-j58"/>
|
||||
<constraint firstAttribute="trailing" secondItem="18" secondAttribute="trailing" constant="40" id="z5d-DW-LeI"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" image="back_arrow.png" translatesAutoresizingMaskIntoConstraints="NO" id="10">
|
||||
<rect key="frame" x="32" y="260" width="32" height="32"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="32" id="EPI-p5-mln"/>
|
||||
<constraint firstAttribute="width" constant="32" id="Uk7-UX-Iqc"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="BACK" lineBreakMode="middleTruncation" minimumFontSize="10" translatesAutoresizingMaskIntoConstraints="NO" id="11" customClass="UIFontLabel">
|
||||
<rect key="frame" x="25" y="233.5" width="46.5" height="21.5"/>
|
||||
<fontDescription key="fontDescription" name=".AppleSystemUIFont" family=".AppleSystemUIFont" pointSize="18"/>
|
||||
<color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<color key="highlightedColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</label>
|
||||
<button opaque="NO" autoresizesSubviews="NO" contentMode="scaleAspectFit" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="9">
|
||||
<rect key="frame" x="23" y="236" width="52" height="56"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="52" id="nY2-Uk-SqN"/>
|
||||
<constraint firstAttribute="height" constant="56" id="rxy-bu-GAj"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" name="Helvetica-Bold" family="Helvetica" pointSize="15"/>
|
||||
<state key="normal">
|
||||
<color key="titleColor" red="0.19607843459999999" green="0.30980393290000002" blue="0.52156865600000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<color key="titleShadowColor" red="0.5" green="0.5" blue="0.5" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</state>
|
||||
<state key="highlighted" backgroundImage="button_highlight.png">
|
||||
<color key="titleColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</state>
|
||||
<connections>
|
||||
<action selector="back:" destination="-1" eventType="touchUpInside" id="12"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="bottom" secondItem="10" secondAttribute="bottom" constant="28" id="DIP-a7-tLs"/>
|
||||
<constraint firstAttribute="bottom" secondItem="Sj5-yb-LFV" secondAttribute="bottom" id="DNr-xH-ciL"/>
|
||||
<constraint firstAttribute="bottom" secondItem="9" secondAttribute="bottom" constant="28" id="Rca-z1-mjz"/>
|
||||
<constraint firstItem="11" firstAttribute="centerX" secondItem="10" secondAttribute="centerX" id="bjh-Ur-7Yh"/>
|
||||
<constraint firstItem="Sj5-yb-LFV" firstAttribute="top" secondItem="1" secondAttribute="top" id="chB-sL-4gm"/>
|
||||
<constraint firstItem="9" firstAttribute="leading" secondItem="1" secondAttribute="leading" constant="23" id="kuH-hI-HYa"/>
|
||||
<constraint firstItem="10" firstAttribute="top" secondItem="11" secondAttribute="bottom" constant="5" id="psx-cw-GZU"/>
|
||||
<constraint firstItem="Sj5-yb-LFV" firstAttribute="centerX" secondItem="1" secondAttribute="centerX" id="rpK-H4-Uiu"/>
|
||||
<constraint firstItem="10" firstAttribute="leading" secondItem="1" secondAttribute="leading" constant="32" id="xcY-bq-cBe"/>
|
||||
</constraints>
|
||||
<nil key="simulatedStatusBarMetrics"/>
|
||||
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
|
||||
</view>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="back_arrow.png" width="65" height="63"/>
|
||||
<image name="button_highlight.png" width="4" height="4"/>
|
||||
<image name="credits_bg.png" width="480" height="320"/>
|
||||
<image name="settings_divider.png" width="597" height="13"/>
|
||||
</resources>
|
||||
</document>
|
||||
|
|
|
@ -50,13 +50,6 @@
|
|||
}
|
||||
*/
|
||||
|
||||
// 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];
|
||||
|
@ -64,13 +57,6 @@
|
|||
// 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];
|
||||
}
|
||||
|
|
|
@ -102,7 +102,7 @@ UITableView interface
|
|||
|
||||
- (void)handleSelectionAtIndexPath:(NSIndexPath*)indexPath {
|
||||
int episodeIndex = episode->value;
|
||||
int levelIndex = indexPath.row;
|
||||
int levelIndex = (int)indexPath.row;
|
||||
|
||||
// Prompt for In-App Purchase when the user selects a level that is not currently available.
|
||||
if ( SysIPhoneGetContentVersion() == CONTENT_LITE ) {
|
||||
|
@ -165,10 +165,10 @@ UITableView interface
|
|||
cell.selectionStyle = UITableViewCellSelectionStyleNone;
|
||||
|
||||
// Cell text configuration
|
||||
NSString* levelName = [NSString stringWithFormat:@"Level %d", indexPath.row + 1 ];
|
||||
NSString* levelName = [NSString stringWithFormat:@"Level %lu", (long)(indexPath.row + 1) ];
|
||||
|
||||
int episodeIndex = episode->value;
|
||||
int levelIndex = indexPath.row;
|
||||
int levelIndex = (int)indexPath.row;
|
||||
|
||||
if ( episodeIndex < NUM_ORIGINAL_EPISODES ) {
|
||||
// Wolfenstein episodes are the first six, and they all follow the pattern of 8 levels,
|
||||
|
@ -203,6 +203,8 @@ UITableView interface
|
|||
|
||||
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];
|
||||
|
||||
cell.backgroundColor = UIColor.clearColor;
|
||||
|
||||
return cell;
|
||||
}
|
||||
|
@ -225,30 +227,13 @@ UITableView interface
|
|||
[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.
|
||||
self.missionList = nil;
|
||||
}
|
||||
|
||||
- (void)viewDidUnload {
|
||||
[super viewDidUnload];
|
||||
// Release any retained subviews of the main view.
|
||||
// e.g. self.myOutlet = nil;
|
||||
|
||||
self.missionList = nil;
|
||||
|
||||
}
|
||||
|
||||
|
||||
- (void)dealloc {
|
||||
[super dealloc];
|
||||
}
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
@private
|
||||
// Main menu
|
||||
IBOutlet UIButton *resumeButton;
|
||||
IBOutlet UIButton *newGameButton;
|
||||
IBOutlet UIButton *startNewGameButton;
|
||||
IBOutlet UIButton *settingsButton;
|
||||
IBOutlet UIButton *aboutButton;
|
||||
IBOutlet UIButton *extrasButton;
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
@interface MainMenuViewController ()
|
||||
|
||||
@property (nonatomic, retain) IBOutlet UIButton *resumeButton;
|
||||
@property (nonatomic, retain) IBOutlet UIButton *newGameButton;
|
||||
@property (nonatomic, retain) IBOutlet UIButton *startNewGameButton;
|
||||
@property (nonatomic, retain) IBOutlet UIButton *settingsButton;
|
||||
@property (nonatomic, retain) IBOutlet UIButton *aboutButton;
|
||||
@property (nonatomic, retain) IBOutlet UIButton *extrasButton;
|
||||
|
@ -57,35 +57,32 @@
|
|||
|
||||
@implementation MainMenuViewController
|
||||
|
||||
@synthesize resumeButton, newGameButton, settingsButton, aboutButton, extrasButton, resumeStar;
|
||||
@synthesize resumeButton, startNewGameButton, settingsButton, aboutButton, extrasButton, resumeStar;
|
||||
@synthesize creditsButton, legalButton;
|
||||
@synthesize idGamesButton, idSoftwareButton, triviaButton;
|
||||
@synthesize backButton;
|
||||
|
||||
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
|
||||
return UIInterfaceOrientationIsLandscape(interfaceOrientation);
|
||||
}
|
||||
|
||||
- (void)viewDidUnload {
|
||||
[super viewDidUnload];
|
||||
- (void)didReceiveMemoryWarning {
|
||||
[super didReceiveMemoryWarning];
|
||||
|
||||
// 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;
|
||||
|
||||
self.resumeButton = nil;
|
||||
self.startNewGameButton = 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 {
|
||||
|
@ -157,7 +154,7 @@
|
|||
- (void)setMainHidden:(BOOL)hide {
|
||||
// Set the main menu visibility
|
||||
[self.resumeButton setHidden:hide];
|
||||
[self.newGameButton setHidden:hide];
|
||||
[self.startNewGameButton setHidden:hide];
|
||||
[self.settingsButton setHidden:hide];
|
||||
[self.aboutButton setHidden:hide];
|
||||
[self.extrasButton setHidden:hide];
|
||||
|
@ -189,4 +186,4 @@
|
|||
}
|
||||
|
||||
|
||||
@end
|
||||
@end
|
||||
|
|
|
@ -1,223 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.02">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">528</int>
|
||||
<string key="IBDocument.SystemVersion">9E17</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">672</string>
|
||||
<string key="IBDocument.AppKitVersion">949.33</string>
|
||||
<string key="IBDocument.HIToolboxVersion">352.00</string>
|
||||
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<integer value="8"/>
|
||||
</object>
|
||||
<object class="NSArray" key="IBDocument.PluginDependencies">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBProxyObject" id="841351856">
|
||||
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
|
||||
</object>
|
||||
<object class="IBProxyObject" id="191355593">
|
||||
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
|
||||
</object>
|
||||
<object class="IBUICustomObject" id="664661524"/>
|
||||
<object class="IBUIWindow" id="380026005">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">1316</int>
|
||||
<object class="NSMutableArray" key="NSSubviews">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBUIView" id="773737154">
|
||||
<reference key="NSNextResponder" ref="380026005"/>
|
||||
<int key="NSvFlags">1298</int>
|
||||
<string key="NSFrameSize">{320, 480}</string>
|
||||
<reference key="NSSuperview" ref="380026005"/>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MQA</bytes>
|
||||
<object class="NSColorSpace" key="NSCustomColorSpace">
|
||||
<int key="NSID">2</int>
|
||||
</object>
|
||||
</object>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSPSMatrix" key="NSFrameMatrix"/>
|
||||
<string key="NSFrameSize">{320, 480}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MSAxIDEAA</bytes>
|
||||
</object>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<bool key="IBUIVisibleAtLaunch">YES</bool>
|
||||
</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">delegate</string>
|
||||
<reference key="source" ref="841351856"/>
|
||||
<reference key="destination" ref="664661524"/>
|
||||
</object>
|
||||
<int key="connectionID">4</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">window</string>
|
||||
<reference key="source" ref="664661524"/>
|
||||
<reference key="destination" ref="380026005"/>
|
||||
</object>
|
||||
<int key="connectionID">5</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">glView</string>
|
||||
<reference key="source" ref="664661524"/>
|
||||
<reference key="destination" ref="773737154"/>
|
||||
</object>
|
||||
<int key="connectionID">9</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>
|
||||
<object class="NSArray" key="object" id="957960031">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<reference key="children" ref="1000"/>
|
||||
<nil key="parent"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">2</int>
|
||||
<reference key="object" ref="380026005"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="773737154"/>
|
||||
</object>
|
||||
<reference key="parent" ref="957960031"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-1</int>
|
||||
<reference key="object" ref="841351856"/>
|
||||
<reference key="parent" ref="957960031"/>
|
||||
<string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">3</int>
|
||||
<reference key="object" ref="664661524"/>
|
||||
<reference key="parent" ref="957960031"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">8</int>
|
||||
<reference key="object" ref="773737154"/>
|
||||
<reference key="parent" ref="380026005"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-2</int>
|
||||
<reference key="object" ref="191355593"/>
|
||||
<reference key="parent" ref="957960031"/>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="flattenedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSMutableArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>-1.CustomClassName</string>
|
||||
<string>-2.CustomClassName</string>
|
||||
<string>2.IBAttributePlaceholdersKey</string>
|
||||
<string>2.IBEditorWindowLastContentRect</string>
|
||||
<string>2.IBPluginDependency</string>
|
||||
<string>3.CustomClassName</string>
|
||||
<string>3.IBPluginDependency</string>
|
||||
<string>8.CustomClassName</string>
|
||||
<string>8.IBPluginDependency</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>UIApplication</string>
|
||||
<string>UIResponder</string>
|
||||
<object class="NSMutableDictionary">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<string>{{500, 343}, {320, 480}}</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>wolf3dAppDelegate</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>EAGLView</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="unlocalizedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<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>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">9</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">EAGLView</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">Classes/EAGLView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">wolf3dAppDelegate</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<object class="NSMutableDictionary" key="outlets">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSMutableArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>glView</string>
|
||||
<string>window</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>EAGLView</string>
|
||||
<string>UIWindow</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">Classes/wolf3dAppDelegate.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
<string key="IBDocument.LastKnownRelativeProjectPath">wolf3d.xcodeproj</string>
|
||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||
</data>
|
||||
</archive>
|
BIN
wolf3d/code/iphone/POSITYPE-idSettler10v2.otf
Executable file
|
@ -1,639 +1,107 @@
|
|||
<?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>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="3.0" toolsVersion="13771" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13772"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<customFonts key="customFonts">
|
||||
<array key="Helvetica.ttc">
|
||||
<string>Helvetica-Bold</string>
|
||||
</array>
|
||||
</customFonts>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="LegalViewController">
|
||||
<connections>
|
||||
<outlet property="view" destination="1" id="3"/>
|
||||
</connections>
|
||||
</placeholder>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<view contentMode="scaleToFill" id="1">
|
||||
<rect key="frame" x="0.0" y="0.0" width="1024" height="768"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" image="credits_bg.png" translatesAutoresizingMaskIntoConstraints="NO" id="7">
|
||||
<rect key="frame" x="0.0" y="0.0" width="1024" height="768"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="1024" id="in5-oq-FsQ"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" image="back_arrow.png" translatesAutoresizingMaskIntoConstraints="NO" id="10">
|
||||
<rect key="frame" x="55" y="75" width="65" height="65"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="65" id="2lS-z3-h4t"/>
|
||||
<constraint firstAttribute="width" constant="65" id="do7-F1-dmi"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="BACK" lineBreakMode="middleTruncation" minimumFontSize="10" translatesAutoresizingMaskIntoConstraints="NO" id="11" customClass="UIFontLabel">
|
||||
<rect key="frame" x="41.5" y="27" width="92.5" height="43"/>
|
||||
<fontDescription key="fontDescription" name=".AppleSystemUIFont" family=".AppleSystemUIFont" pointSize="36"/>
|
||||
<color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<color key="highlightedColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</label>
|
||||
<button opaque="NO" autoresizesSubviews="NO" contentMode="scaleAspectFit" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="9">
|
||||
<rect key="frame" x="46" y="42" width="81" height="99"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="81" id="QBp-ew-V5R"/>
|
||||
<constraint firstAttribute="height" constant="99" id="UGn-Bk-rz8"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" name="Helvetica-Bold" family="Helvetica" pointSize="15"/>
|
||||
<state key="normal">
|
||||
<color key="titleColor" red="0.19607843459999999" green="0.30980393290000002" blue="0.52156865600000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<color key="titleShadowColor" red="0.5" green="0.5" blue="0.5" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</state>
|
||||
<state key="highlighted" backgroundImage="button_highlight.png">
|
||||
<color key="titleColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</state>
|
||||
<connections>
|
||||
<action selector="back:" destination="-1" eventType="touchUpInside" id="12"/>
|
||||
</connections>
|
||||
</button>
|
||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" textAlignment="center" lineBreakMode="wordWrap" numberOfLines="10" minimumFontSize="10" translatesAutoresizingMaskIntoConstraints="NO" id="17">
|
||||
<rect key="frame" x="396" y="-27" width="556" height="510"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="556" id="Whp-da-iLQ"/>
|
||||
<constraint firstAttribute="height" constant="510" id="jui-SV-ESL"/>
|
||||
</constraints>
|
||||
<string key="text">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>
|
||||
<fontDescription key="fontDescription" name=".AppleSystemUIFont" family=".AppleSystemUIFont" pointSize="22"/>
|
||||
<color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<color key="highlightedColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<color key="shadowColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</label>
|
||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" fixedFrame="YES" text="Legal" textAlignment="center" lineBreakMode="tailTruncation" minimumFontSize="10" translatesAutoresizingMaskIntoConstraints="NO" id="4" customClass="UIFontLabel">
|
||||
<rect key="frame" x="607" y="44" width="134" height="54"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" name=".AppleSystemUIFont" family=".AppleSystemUIFont" pointSize="44"/>
|
||||
<color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<color key="highlightedColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<color key="shadowColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<size key="shadowOffset" width="2" height="2"/>
|
||||
</label>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="10" firstAttribute="top" secondItem="11" secondAttribute="bottom" constant="5" id="3dS-7x-CaJ"/>
|
||||
<constraint firstItem="7" firstAttribute="centerX" secondItem="1" secondAttribute="centerX" id="Brq-gd-Odf"/>
|
||||
<constraint firstItem="9" firstAttribute="leading" secondItem="1" secondAttribute="leading" constant="46" id="CIH-x6-p7m"/>
|
||||
<constraint firstItem="17" firstAttribute="leading" secondItem="11" secondAttribute="trailing" constant="262" id="HnI-Eb-gKe"/>
|
||||
<constraint firstAttribute="bottom" secondItem="7" secondAttribute="bottom" id="Lvi-o4-qF3"/>
|
||||
<constraint firstItem="10" firstAttribute="leading" secondItem="1" secondAttribute="leading" constant="55" id="M52-lW-ciF"/>
|
||||
<constraint firstItem="7" firstAttribute="top" secondItem="1" secondAttribute="top" id="OLc-nx-2lZ"/>
|
||||
<constraint firstItem="11" firstAttribute="centerX" secondItem="10" secondAttribute="centerX" id="OPj-lW-r8M"/>
|
||||
<constraint firstItem="17" firstAttribute="top" secondItem="1" secondAttribute="top" constant="-27" id="QKw-Dn-Ub3"/>
|
||||
<constraint firstItem="9" firstAttribute="top" secondItem="1" secondAttribute="top" constant="42" id="mFz-rV-ifh"/>
|
||||
<constraint firstItem="10" firstAttribute="top" secondItem="1" secondAttribute="top" constant="75" id="t34-W1-tLO"/>
|
||||
</constraints>
|
||||
<nil key="simulatedStatusBarMetrics"/>
|
||||
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
|
||||
<point key="canvasLocation" x="34" y="54"/>
|
||||
</view>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="back_arrow.png" width="65" height="63"/>
|
||||
<image name="button_highlight.png" width="4" height="4"/>
|
||||
<image name="credits_bg.png" width="480" height="320"/>
|
||||
</resources>
|
||||
</document>
|
||||
|
|
|
@ -125,36 +125,24 @@ float convertSliderValue( UISlider * slider );
|
|||
[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.
|
||||
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)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];
|
||||
}
|
||||
|
|
|
@ -65,16 +65,10 @@
|
|||
// 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)viewDidLayoutSubviews {
|
||||
[self setSelectionFrame];
|
||||
}
|
||||
|
||||
|
||||
|
@ -82,18 +76,9 @@
|
|||
// Releases the view if it doesn't have a superview.
|
||||
[super didReceiveMemoryWarning];
|
||||
|
||||
// Release any cached data, images, etc. that aren't in use.
|
||||
self.selectionFrame = nil;
|
||||
}
|
||||
|
||||
- (void)viewDidUnload {
|
||||
[super viewDidUnload];
|
||||
// Release any retained subviews of the main view.
|
||||
// e.g. self.myOutlet = nil;
|
||||
|
||||
self.selectionFrame = nil;
|
||||
}
|
||||
|
||||
|
||||
- (void)dealloc {
|
||||
[super dealloc];
|
||||
}
|
||||
|
|
|
@ -64,32 +64,16 @@
|
|||
}
|
||||
|
||||
|
||||
// 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.
|
||||
self.firstTrivia = nil;
|
||||
self.lastTrivia = nil;
|
||||
|
||||
self.currentTrivia = nil;
|
||||
}
|
||||
|
||||
- (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];
|
||||
}
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
@implementation UIFontButton
|
||||
|
||||
- (void)awakeFromNib {
|
||||
[super awakeFromNib];
|
||||
CGFloat points = self.titleLabel.font.pointSize;
|
||||
|
||||
self.titleLabel.font = [UIFont fontWithName:@"POSITYPE idSettler v10.2" size:points];
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
@implementation UIFontLabel
|
||||
|
||||
- (void)awakeFromNib {
|
||||
[super awakeFromNib];
|
||||
CGFloat points = self.font.pointSize;
|
||||
|
||||
self.font = [UIFont fontWithName:@"POSITYPE idSettler v10.2" size:points];
|
||||
|
|
|
@ -34,7 +34,7 @@ void UITableViewScrollingPageDown( UITableView * table, int totalRows ) {
|
|||
int maxRow = 0;
|
||||
|
||||
for ( NSIndexPath* path in visibleIndexPaths ) {
|
||||
maxRow = maxRow < path.row ? path.row: maxRow;
|
||||
maxRow = maxRow < path.row ? (int)path.row: maxRow;
|
||||
}
|
||||
|
||||
const int rowToMakeVisible = maxRow + 1;
|
||||
|
@ -54,7 +54,7 @@ void UITableViewScrollingPageUp( UITableView * table, int totalRows ) {
|
|||
int minRow = totalRows - 1;
|
||||
|
||||
for ( NSIndexPath* path in visibleIndexPaths ) {
|
||||
minRow = minRow < path.row ? minRow: path.row;
|
||||
minRow = minRow < path.row ? minRow: (int)path.row;
|
||||
}
|
||||
|
||||
const int rowToMakeVisible = minRow - 1;
|
||||
|
|
BIN
wolf3d/code/iphone/WOLF_114.png
Executable file
After Width: | Height: | Size: 25 KiB |
BIN
wolf3d/code/iphone/WOLF_57.png
Executable file
After Width: | Height: | Size: 9.4 KiB |
BIN
wolf3d/code/iphone/WOLF_72.png
Executable file
After Width: | Height: | Size: 13 KiB |
|
@ -32,8 +32,9 @@
|
|||
UIImage* trackImage = [self minimumTrackImageForState:UIControlStateNormal];
|
||||
|
||||
CGFloat trackImageHeight = trackImage.size.height;
|
||||
|
||||
return CGRectMake(bounds.origin.x, bounds.origin.y, self.bounds.size.width, trackImageHeight);
|
||||
|
||||
// return CGRectMake(bounds.origin.x, bounds.origin.y, self.bounds.size.height, trackImageHeight);
|
||||
return CGRectMake(bounds.origin.x, bounds.origin.y, self.bounds.size.width, trackImageHeight);
|
||||
}
|
||||
|
||||
|
||||
|
|
Before Width: | Height: | Size: 182 KiB After Width: | Height: | Size: 243 KiB |
Before Width: | Height: | Size: 182 KiB |
|
@ -61,10 +61,10 @@ void pfglColor4f( GLfloat r, GLfloat g, GLfloat b, GLfloat a );
|
|||
void pfglTexCoord2i( GLint s, GLint t );
|
||||
void pfglTexCoord2f( GLfloat s, GLfloat t );
|
||||
|
||||
void pfglEnd();
|
||||
void pfglEnd(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -23,16 +23,16 @@
|
|||
|
||||
#include "../wolfiphone.h"
|
||||
|
||||
extern int BackButton();
|
||||
extern int MenuButton();
|
||||
extern int BackButton(void);
|
||||
extern int MenuButton(void);
|
||||
|
||||
hud_t huds;
|
||||
|
||||
void HudDraw();
|
||||
void HudDraw(void);
|
||||
|
||||
void HudWrite();
|
||||
void HudWrite(void);
|
||||
|
||||
void HudRead();
|
||||
void HudRead(void);
|
||||
|
||||
hudPic_t *dragHud;
|
||||
int dragX, dragY;
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
#define __IPHONE_ALERTS__
|
||||
|
||||
void iphoneMessageBox(char *title, char *message);
|
||||
void iphoneKillMessageBox();
|
||||
void iphoneKillMessageBox(void);
|
||||
void iphoneNewMessageBox(char *title, char *message);
|
||||
void iphoneYesNoBox(char *title, char *message);
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -51,8 +51,8 @@ void iphoneMessageBox(char *title, char *message)
|
|||
InitAlert();
|
||||
}
|
||||
|
||||
NSString *nsTitle = [[NSString alloc] initWithCString:title];
|
||||
NSString *nsMessage = [[NSString alloc] initWithCString:message];
|
||||
NSString *nsTitle = [[NSString alloc] initWithCString:title encoding:NSUTF8StringEncoding];
|
||||
NSString *nsMessage = [[NSString alloc] initWithCString:message encoding:NSUTF8StringEncoding];
|
||||
|
||||
alert.title = nsTitle;
|
||||
alert.message = nsMessage;
|
||||
|
@ -82,8 +82,8 @@ void iphoneNewMessageBox(char *title, char *message)
|
|||
otherButtonTitles: nil];
|
||||
|
||||
|
||||
NSString *nsTitle = [[NSString alloc] initWithCString:title];
|
||||
NSString *nsMessage = [[NSString alloc] initWithCString:message];
|
||||
NSString *nsTitle = [[NSString alloc] initWithCString:title encoding:NSUTF8StringEncoding];
|
||||
NSString *nsMessage = [[NSString alloc] initWithCString:message encoding:NSUTF8StringEncoding];
|
||||
|
||||
newAlert.title = nsTitle;
|
||||
newAlert.message = nsMessage;
|
||||
|
@ -121,8 +121,8 @@ void iphoneYesNoBox(char *title, char *message)
|
|||
InitAlertYesNo();
|
||||
}
|
||||
|
||||
NSString *nsTitle = [[NSString alloc] initWithCString:title];
|
||||
NSString *nsMessage = [[NSString alloc] initWithCString:message];
|
||||
NSString *nsTitle = [[NSString alloc] initWithCString:title encoding:NSUTF8StringEncoding];
|
||||
NSString *nsMessage = [[NSString alloc] initWithCString:message encoding:NSUTF8StringEncoding];
|
||||
|
||||
alertYesNo.title = nsTitle;
|
||||
alertYesNo.message = nsMessage;
|
||||
|
|
|
@ -506,7 +506,7 @@ void WriteInstallLog()
|
|||
// Installs the needed files for SOD and
|
||||
// removes any unwanted data
|
||||
//================================
|
||||
extern void iphoneWriteConfig();
|
||||
extern void iphoneWriteConfig(void);
|
||||
void FinalizeDownload()
|
||||
{
|
||||
// get the documents directory
|
||||
|
|
|
@ -53,14 +53,14 @@ void DownloadURLConnection( char *url )
|
|||
{
|
||||
Com_Printf( "ConnectURL char *: %s\n", url );
|
||||
|
||||
int length = strlen(url);
|
||||
int length = (int)strlen(url);
|
||||
if (length <= 4)
|
||||
{
|
||||
iphoneMessageBox("error", "url is not a valid map name. Maps must end in \".map\"");
|
||||
return;
|
||||
}
|
||||
|
||||
length = strlen(url);
|
||||
length = (int)strlen(url);
|
||||
//acquire file name of map
|
||||
int pos = length;
|
||||
while (pos > 0)
|
||||
|
|
|
@ -156,6 +156,24 @@ int isTouchMoving = 0; //gsh
|
|||
int touchCoordinateScale = 1;
|
||||
|
||||
float deviceScale = 1.0f;
|
||||
bool isiPhoneX;
|
||||
|
||||
// Game controller stuff
|
||||
bool controllerConnected = false;
|
||||
bool leftTriggerPressed = false;
|
||||
bool rightTriggerPressed = false;
|
||||
bool leftShoulderPressed = false;
|
||||
bool rightShoulderPressed = false;
|
||||
bool buttonAPressed = false;
|
||||
bool buttonBPressed = false;
|
||||
bool buttonXPressed = false;
|
||||
bool buttonYPressed = false;
|
||||
// TODO: d-pad
|
||||
float leftThumbstickYAxis = 0.0;
|
||||
float leftThumbstickXAxis = 0.0;
|
||||
float rightThumbstickYAxis = 0.0;
|
||||
float rightThumbstickXAxis = 0.0;
|
||||
|
||||
|
||||
deviceOrientation_t deviceOrientation = ORIENTATION_LANDSCAPE_LEFT;
|
||||
|
||||
|
@ -309,7 +327,7 @@ void iphoneSavePrevTouches() {
|
|||
*/
|
||||
extern font_t *myfonts[ 1 ];
|
||||
int iphoneCenterText( int x, int y, const char *str ) {
|
||||
int l = strlen( str );
|
||||
int l = (int)strlen( str );
|
||||
int i;
|
||||
font_t *myfont = myfonts[0];
|
||||
int scale;
|
||||
|
@ -492,7 +510,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 l = (int)strlen( str );
|
||||
int i;
|
||||
|
||||
if (paragraph.x > boxRect.x + boxRect.width)
|
||||
|
@ -615,7 +633,7 @@ int iphoneDrawArialTextInBox( rect_t paragraph, int lineLength, const char *str,
|
|||
|
||||
|
||||
int iphoneDrawText( int x, int y, int width, int height, const char *str ) {
|
||||
int l = strlen( str );
|
||||
int l = (int)strlen( str );
|
||||
int i;
|
||||
font_t *myfont = myfonts[0];
|
||||
// int scale;
|
||||
|
@ -719,7 +737,7 @@ void iphoneDrawMapName( rect_t rect, const char *str ) {
|
|||
==================
|
||||
*/
|
||||
int iphoneDrawTextInBox( rect_t paragraph, int lineLength, const char *str, rect_t boxRect ) {
|
||||
int l = strlen( str );
|
||||
int l = (int)strlen( str );
|
||||
int i;
|
||||
font_t *myfont = myfonts[0];
|
||||
|
||||
|
@ -941,6 +959,9 @@ int TouchDown( int x, int y, int w, int h ) {
|
|||
|
||||
int i;
|
||||
for ( i = 0 ; i < numTouches ; i++ ) {
|
||||
|
||||
// Com_Printf("touch %i: %i %i | x: %i y: %i w: %i h: %i x+w: %i y+h: %i hit: %s\n", i, touches[i][0], touches[i][1], x, y, w, h, x + w, y + h, ( touches[i][0] >= x && touches[i][1] >= y && touches[i][0] < x + w && touches[i][1] < y + h ) ? "true" : "false" );
|
||||
|
||||
if ( touches[i][0] >= x && touches[i][1] >= y
|
||||
&& touches[i][0] < x + w && touches[i][1] < y + h ) {
|
||||
return 1;
|
||||
|
@ -1278,8 +1299,17 @@ PRIVATE void CreateIphoneUserCmd()
|
|||
float forwardAxisHit = AxisHit( &huds.forwardStick );
|
||||
float sideAxisHit = AxisHit( &huds.sideStick );
|
||||
float turnAxisHit = AxisHit( &huds.turnStick );
|
||||
|
||||
if (controllerConnected) {
|
||||
forwardAxisHit += -leftThumbstickYAxis + -rightThumbstickYAxis;
|
||||
turnAxisHit += leftThumbstickXAxis + rightThumbstickXAxis;
|
||||
|
||||
if (rightTriggerPressed) {
|
||||
cmd->buttons |= BUTTON_ATTACK;
|
||||
}
|
||||
}
|
||||
|
||||
static bool printSticks = false;
|
||||
static bool printSticks = false;
|
||||
|
||||
if ( printSticks ) {
|
||||
printf( "Forward: %.4f \nSide: %.4f\nTurn: %.4f\n", forwardAxisHit, sideAxisHit, turnAxisHit );
|
||||
|
@ -1746,7 +1776,7 @@ void iphoneFrame() {
|
|||
unsigned char blendColor[4] = { 0, 0, 0, 0 };
|
||||
|
||||
iphoneFrameNum++;
|
||||
loggedTimes[iphoneFrameNum&(MAX_LOGGED_TIMES-1)].enterFrame = Sys_Milliseconds();
|
||||
loggedTimes[iphoneFrameNum&(MAX_LOGGED_TIMES-1)].enterFrame = (int)Sys_Milliseconds();
|
||||
|
||||
// check for delayed intermission trigger after boss kill
|
||||
if ( intermissionTriggerFrame > 0 && iphoneFrameNum >= intermissionTriggerFrame ) {
|
||||
|
@ -1781,7 +1811,7 @@ void iphoneFrame() {
|
|||
iphoneSet2D();
|
||||
|
||||
CFAbsoluteTime menuStartTime = CFAbsoluteTimeGetCurrent();
|
||||
iphoneDrawMenus( vnull, vnull, vnull, vnull );
|
||||
iphoneDrawMenus();
|
||||
CFAbsoluteTime menuEndTime = CFAbsoluteTimeGetCurrent();
|
||||
menuTime = menuEndTime - menuStartTime;
|
||||
|
||||
|
@ -1804,7 +1834,7 @@ void iphoneFrame() {
|
|||
if( Player.playstate != ex_dead )
|
||||
{
|
||||
CreateIphoneUserCmd();
|
||||
Player.position.angle = NormalizeAngle( Player.position.angle );
|
||||
Player.position.angle = (int)NormalizeAngle( (int)Player.position.angle );
|
||||
|
||||
PL_Process( &Player, r_world ); // Player processing
|
||||
if ( !slowAI->value || --slowAIFrame < 0 ) {
|
||||
|
@ -1950,4 +1980,32 @@ void iphoneDrawLoading()
|
|||
//SysIPhoneSwapBuffers(); // do the swapbuffers
|
||||
}
|
||||
|
||||
void iPhoneSetControllerConnected( bool _controllerConnected )
|
||||
{
|
||||
controllerConnected = _controllerConnected;
|
||||
}
|
||||
|
||||
void iPhoneSetLeftThumbstickXValue( float _leftThumbstickXAxis )
|
||||
{
|
||||
leftThumbstickXAxis = _leftThumbstickXAxis;
|
||||
}
|
||||
|
||||
void iPhoneSetLeftThumbstickYValue( float _leftThumbstickYAxis )
|
||||
{
|
||||
leftThumbstickYAxis = _leftThumbstickYAxis;
|
||||
}
|
||||
|
||||
void iPhoneSetRightThumbstickXValue( float _rightThumbstickXAxis )
|
||||
{
|
||||
rightThumbstickXAxis = _rightThumbstickXAxis;
|
||||
}
|
||||
|
||||
void iPhoneSetRightThumbstickYValue( float _rightThumbstickYAxis )
|
||||
{
|
||||
rightThumbstickYAxis = _rightThumbstickYAxis;
|
||||
}
|
||||
|
||||
void iPhoneSetRightTriggerPressed( bool _rightTriggerPressed )
|
||||
{
|
||||
rightTriggerPressed = _rightTriggerPressed;
|
||||
}
|
||||
|
|
|
@ -115,7 +115,7 @@ void Reset_f() {
|
|||
*/
|
||||
void iphoneStartup() {
|
||||
char *s;
|
||||
int start = Sys_Milliseconds();
|
||||
int start = (int)Sys_Milliseconds();
|
||||
static bool firstInit = true;
|
||||
|
||||
if ( !firstInit ) {
|
||||
|
@ -291,7 +291,7 @@ void iphoneStartGameplay() {
|
|||
===================
|
||||
*/
|
||||
void iphonePreloadBeforePlay() {
|
||||
int start = Sys_Milliseconds();
|
||||
int start = (int)Sys_Milliseconds();
|
||||
|
||||
// the texnums might have been different in the savegame
|
||||
HudSetTexnums();
|
||||
|
|
|
@ -112,7 +112,7 @@ const char levelNames[][29] = {
|
|||
int dragVelocity = 0; //velocity for the scrolling maps
|
||||
int dragPosition = 32; //position for the scrolling maps
|
||||
|
||||
extern int BackButton();
|
||||
extern int BackButton(void);
|
||||
#ifdef SPEARSTOREKIT
|
||||
extern void GetSpearOfDestiny( int x, int y );
|
||||
#endif
|
||||
|
@ -236,7 +236,7 @@ int iphoneDrawUserMaps(int Yoffset, int height, int spacing, int skillValue)
|
|||
struct dirent *ep;
|
||||
char mapBuffer[1024];
|
||||
|
||||
int length = strlen(iphoneDocDirectory);
|
||||
int length = (int)strlen(iphoneDocDirectory);
|
||||
strcpy(mapBuffer, iphoneDocDirectory);
|
||||
strcpy(mapBuffer + length, "/usermaps/");
|
||||
|
||||
|
|
|
@ -844,9 +844,9 @@ void SaveTheGame() {
|
|||
LevelData_t copiedLevelData = levelData;
|
||||
|
||||
for ( i = 0 ; i < copiedLevelData.Doors.doornum ; i++ ) {
|
||||
int index = r_world->Doors.Doors[i] - &r_world->Doors.DoorMap[0][0];
|
||||
int index = (int)(r_world->Doors.Doors[i] - &r_world->Doors.DoorMap[0][0]);
|
||||
assert( index >= 0 && index < 4096 );
|
||||
copiedLevelData.Doors.Doors[i] = (void *)index;
|
||||
copiedLevelData.Doors.Doors[i] = (void *)(intptr_t)index;
|
||||
}
|
||||
|
||||
// this is only used for the mutant death face, so just
|
||||
|
@ -963,7 +963,7 @@ int iphoneGetUserMapName(int mapNumber, char *mapName)
|
|||
struct dirent *ep;
|
||||
char mapBuffer[1024];
|
||||
|
||||
int length = strlen(iphoneDocDirectory);
|
||||
int length = (int)strlen(iphoneDocDirectory);
|
||||
strcpy(mapBuffer, iphoneDocDirectory);
|
||||
strcpy(mapBuffer + length, "/usermaps/");
|
||||
|
||||
|
@ -1023,7 +1023,7 @@ int iphoneGetUserMapLevelByName(const char *mapName)
|
|||
struct dirent *ep;
|
||||
char mapBuffer[1024];
|
||||
|
||||
int length = strlen(iphoneDocDirectory);
|
||||
int length = (int)strlen(iphoneDocDirectory);
|
||||
strcpy(mapBuffer, iphoneDocDirectory);
|
||||
strcpy(mapBuffer + length, "/usermaps/");
|
||||
|
||||
|
@ -3248,9 +3248,9 @@ void DrawIntermissionStats() {
|
|||
|
||||
// ratios
|
||||
int correction = 8;
|
||||
DrawRatio( 124+offset-1*correction, levelstate.killed_monsters, levelstate.total_monsters, "iphone/kills.tga" );
|
||||
DrawRatio( 189+offset-2*correction, levelstate.found_secrets, levelstate.total_secrets, "iphone/secrets.tga" );
|
||||
DrawRatio( 255+offset-3*correction, levelstate.found_treasure, levelstate.total_treasure, "iphone/treasure.tga" );
|
||||
DrawRatio( 124+offset-1*correction, (int)levelstate.killed_monsters, (int)levelstate.total_monsters, "iphone/kills.tga" );
|
||||
DrawRatio( 189+offset-2*correction, (int)levelstate.found_secrets, (int)levelstate.total_secrets, "iphone/secrets.tga" );
|
||||
DrawRatio( 255+offset-3*correction, (int)levelstate.found_treasure, (int)levelstate.total_treasure, "iphone/treasure.tga" );
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -3525,7 +3525,7 @@ void iphoneOpenAutomap() {
|
|||
}
|
||||
|
||||
// sort the tiles to be drawn by texture
|
||||
numMapTiles = mt - mapTiles;
|
||||
numMapTiles = (int)(mt - mapTiles);
|
||||
|
||||
qsort( mapTiles, numMapTiles, sizeof( mapTiles[0] ), MapTileSort );
|
||||
}
|
||||
|
@ -3598,7 +3598,7 @@ void iphoneAutomap() {
|
|||
|
||||
//touch down
|
||||
if ( numTouches == 1 && numPrevTouches == 0) {
|
||||
timeTouchDown = Sys_Milliseconds();
|
||||
timeTouchDown = (int)Sys_Milliseconds();
|
||||
prevTapX = tapX;
|
||||
prevTapY = tapY;
|
||||
tapX = touches[0][0];
|
||||
|
@ -3606,7 +3606,7 @@ void iphoneAutomap() {
|
|||
}
|
||||
//touch up
|
||||
if ( numTouches == 0 && numPrevTouches == 1 ) {
|
||||
unsigned int currentTime = Sys_Milliseconds();
|
||||
unsigned int currentTime = (int)Sys_Milliseconds();
|
||||
|
||||
//check if time between last tap and current time is too long
|
||||
if (Sys_Milliseconds() - lastTapTime > 500 || zoom)
|
||||
|
@ -3617,7 +3617,7 @@ void iphoneAutomap() {
|
|||
|
||||
//record tap time if first tap
|
||||
if (numTaps < 1)
|
||||
lastTapTime = Sys_Milliseconds();
|
||||
lastTapTime = (int)Sys_Milliseconds();
|
||||
|
||||
++numTaps;
|
||||
/*
|
||||
|
@ -3689,7 +3689,7 @@ void iphoneAutomap() {
|
|||
//Com_Printf("dist: %f\n\n", dist);
|
||||
|
||||
float tolerance = 0.5f;//3;
|
||||
if ( abs(mapOrigin[0] - TargetX) < tolerance && abs(mapOrigin[1] - TargetY) < tolerance && abs(scale - TargetZoom) < tolerance/2)
|
||||
if ( abs((int)mapOrigin[0] - (int)TargetX) < tolerance && abs((int)mapOrigin[1] - (int)TargetY) < tolerance && abs((int)scale - (int)TargetZoom) < tolerance/2)
|
||||
{
|
||||
mapOrigin[0] = TargetX;
|
||||
mapOrigin[1] = TargetY;
|
||||
|
@ -4401,7 +4401,7 @@ void iphoneDownloadInstructionsMenu()
|
|||
#endif
|
||||
|
||||
//gsh
|
||||
extern void iphoneSelectMapMenu();
|
||||
extern void iphoneSelectMapMenu(void);
|
||||
#if SPEARSTOREKIT
|
||||
extern void iphoneStoreKit();
|
||||
#endif
|
||||
|
|
|
@ -80,7 +80,7 @@ Called by the system when the application gets product information about an In-A
|
|||
// For now, immediately request payment for any items the user has requested.
|
||||
for (SKProduct *product in myProduct)
|
||||
{
|
||||
SKPayment *payment = [SKPayment paymentWithProductIdentifier:[product productIdentifier]];
|
||||
SKPayment *payment = [SKPayment paymentWithProduct:product];
|
||||
[[SKPaymentQueue defaultQueue] addPayment:payment];
|
||||
}
|
||||
|
||||
|
|
|
@ -37,27 +37,39 @@ void interruptionListener( void *inUserData, UInt32 inInterruption)
|
|||
if ( inInterruption == kAudioSessionEndInterruption )
|
||||
{
|
||||
// make sure we are again the active session
|
||||
UInt32 audioCategory = kAudioSessionCategory_AmbientSound;
|
||||
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(audioCategory), &audioCategory);
|
||||
AudioSessionSetActive( true );
|
||||
// UInt32 audioCategory = kAudioSessionCategory_AmbientSound;
|
||||
// AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(audioCategory), &audioCategory);
|
||||
// AudioSessionSetActive( true );
|
||||
// do we need to re-initialize the sound subsystem in this case?
|
||||
|
||||
AVAudioSession *session = [AVAudioSession sharedInstance];
|
||||
|
||||
NSError *setCategoryError = nil;
|
||||
if (![session setCategory:AVAudioSessionCategoryAmbient
|
||||
error:&setCategoryError]) {
|
||||
// handle error
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int otherAudioIsPlaying;
|
||||
|
||||
void SysIPhoneInitAudioSession() {
|
||||
OSStatus status = 0;
|
||||
status = AudioSessionInitialize(NULL, NULL, interruptionListener, NULL); // else "couldn't initialize audio session"
|
||||
UInt32 audioCategory = kAudioSessionCategory_AmbientSound;
|
||||
status = AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(audioCategory), &audioCategory);
|
||||
|
||||
// OSStatus status = 0;
|
||||
[[AVAudioSession sharedInstance] setActive:YES error:nil];
|
||||
NSString* audioCategory = AVAudioSessionCategoryAmbient;
|
||||
[[AVAudioSession sharedInstance] setCategory:audioCategory error:nil];
|
||||
// status = AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(audioCategory), &audioCategory);
|
||||
|
||||
AudioSessionPropertyID propOtherAudioIsPlaying = kAudioSessionProperty_OtherAudioIsPlaying;
|
||||
UInt32 size = sizeof( otherAudioIsPlaying );
|
||||
AudioSessionGetProperty( propOtherAudioIsPlaying, &size, &otherAudioIsPlaying );
|
||||
// AudioSessionPropertyID propOtherAudioIsPlaying = kAudioSessionProperty_OtherAudioIsPlaying;
|
||||
// UInt32 size = sizeof( otherAudioIsPlaying );
|
||||
// AudioSessionGetProperty( propOtherAudioIsPlaying, &size, &otherAudioIsPlaying );
|
||||
|
||||
otherAudioIsPlaying = [[AVAudioSession sharedInstance] isOtherAudioPlaying];
|
||||
|
||||
status = AudioSessionSetActive(true); // else "couldn't set audio session active\n"
|
||||
}
|
||||
// status = AudioSessionSetActive(true); // else "couldn't set audio session active\n"
|
||||
}
|
||||
|
||||
int SysIPhoneOtherAudioIsPlaying() {
|
||||
static int called = 0;
|
||||
|
@ -118,7 +130,7 @@ int SysIPhoneGetPathToMainBundleLength( void ) {
|
|||
|
||||
NSString *path = [mainBundle bundlePath];
|
||||
|
||||
return [path length];
|
||||
return (int)[path length];
|
||||
|
||||
}
|
||||
|
||||
|
@ -147,14 +159,26 @@ void SysIPhoneGetPathToMainBundle( char * outPath, int maxLength ) {
|
|||
==================
|
||||
*/
|
||||
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;
|
||||
}
|
||||
|
||||
// TODO: get this working after a rotate, or before one.
|
||||
// could this be related to why we have to dink with the X touches?
|
||||
|
||||
// switch ( deviceOrientation ) {
|
||||
// case ORIENTATION_LANDSCAPE_LEFT:
|
||||
// pfglRotatef( 0.0f, 0.0f, 0.0f, 1.0f );
|
||||
// break;
|
||||
// default:
|
||||
// pfglRotatef( -180.0f, 0.0f, 0.0f, 1.0f );
|
||||
// break;
|
||||
// }
|
||||
// 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;
|
||||
// }
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -59,7 +59,7 @@ typedef enum menuState {
|
|||
|
||||
extern menuState_t menuState;
|
||||
|
||||
void iphoneDrawMenus();
|
||||
void iphoneDrawMenus(void);
|
||||
|
||||
// bumped to 107 on moving powerups structure into leveldata
|
||||
// bumped to 108 with custom huds
|
||||
|
@ -215,16 +215,16 @@ 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();
|
||||
int LoadTheGame();
|
||||
void StartGame();
|
||||
void iphoneOpenAutomap();
|
||||
void iphoneDrawFace();
|
||||
void iphoneDrawNotifyText();
|
||||
void iphonePreloadBeforePlay();
|
||||
void SaveTheGame(void);
|
||||
int LoadTheGame(void);
|
||||
void StartGame(void);
|
||||
void iphoneOpenAutomap(void);
|
||||
void iphoneDrawFace(void);
|
||||
void iphoneDrawNotifyText(void);
|
||||
void iphonePreloadBeforePlay(void);
|
||||
|
||||
void InitImmediateModeGL();
|
||||
void iphoneRotateForLandscape();
|
||||
void InitImmediateModeGL(void);
|
||||
void iphoneRotateForLandscape(void);
|
||||
|
||||
void ScaleToScreen( int * value);
|
||||
void ScalePosition( float * x, float * y );
|
||||
|
@ -275,9 +275,9 @@ typedef struct {
|
|||
extern hud_t huds;
|
||||
|
||||
void HudSetForScheme( int schemeNum );
|
||||
void HudSetTexnums();
|
||||
void HudEditFrame();
|
||||
void iphoneHudEditFrame();
|
||||
void HudSetTexnums(void);
|
||||
void HudEditFrame(void);
|
||||
void iphoneHudEditFrame(void);
|
||||
|
||||
|
||||
//---------------------------------------
|
||||
|
@ -291,51 +291,57 @@ typedef enum {
|
|||
//---------------------------------------
|
||||
// interfaces from the original game code
|
||||
//---------------------------------------
|
||||
void iphoneStartBonusFlash();
|
||||
void iphoneStartBonusFlash(void);
|
||||
void iphoneStartDamageFlash( int points );
|
||||
void iphoneSetAttackDirection( int dir );
|
||||
void iphoneStartIntermission( int framesFromNow );
|
||||
void iphoneSetNotifyText( const char *str, ... );
|
||||
void iphoneSetLevelNotifyText(); //gsh
|
||||
void iphoneSetLevelNotifyText(void); //gsh
|
||||
|
||||
//---------------------------------------
|
||||
// interfaces to Objective-C land
|
||||
//---------------------------------------
|
||||
void SysIPhoneSwapBuffers();
|
||||
void SysIPhoneVibrate();
|
||||
void SysIPhoneSwapBuffers(void);
|
||||
void SysIPhoneVibrate(void);
|
||||
void SysIPhoneOpenURL( const char *url );
|
||||
void SysIPhoneLoadJPG( W8* jpegData, int jpegBytes, W8 **pic, W16 *width, W16 *height, W16 *bytes );
|
||||
const char * SysIPhoneGetConsoleTextField();
|
||||
const char * SysIPhoneGetConsoleTextField(void);
|
||||
void SysIPhoneSetConsoleTextField(const char *);
|
||||
void SysIPhoneInitAudioSession();
|
||||
int SysIPhoneOtherAudioIsPlaying();
|
||||
const char *SysIPhoneGetOSVersion();
|
||||
contentVersion_t SysIPhoneGetContentVersion();
|
||||
void SysIPhoneInitAudioSession(void);
|
||||
int SysIPhoneOtherAudioIsPlaying(void);
|
||||
const char *SysIPhoneGetOSVersion(void);
|
||||
contentVersion_t SysIPhoneGetContentVersion(void);
|
||||
int SysIPhoneGetPathToMainBundleLength( void );
|
||||
void SysIPhoneGetPathToMainBundle( char * outPath, int maxLength );
|
||||
|
||||
void iphoneStartPreviousMenu();
|
||||
void iphoneStartMainMenu();
|
||||
void iphonePromptToBuyPlatinum();
|
||||
void iphoneStartPreviousMenu(void);
|
||||
void iphoneStartMainMenu(void);
|
||||
void iphonePromptToBuyPlatinum(void);
|
||||
|
||||
void iphoneInitMenuMusic();
|
||||
void iphoneStartMenuMusic();
|
||||
void iphoneStopMenuMusic();
|
||||
void iphoneInitMenuMusic(void);
|
||||
void iphoneStartMenuMusic(void);
|
||||
void iphoneStopMenuMusic(void);
|
||||
|
||||
//---------------------------------------
|
||||
// interfaces from Objective-C land
|
||||
//---------------------------------------
|
||||
void iphoneStartup();
|
||||
void iphoneShutdown();
|
||||
void iphoneFrame();
|
||||
void iphoneStartup(void);
|
||||
void iphoneShutdown(void);
|
||||
void iphoneFrame(void);
|
||||
void iphoneTiltEvent( float *tilts );
|
||||
void iphoneTouchEvent( int numTouches, int touches[16] );
|
||||
void iphoneActivateConsole();
|
||||
void iphoneDeactivateConsole();
|
||||
void iphoneExecuteCommandLine();
|
||||
void iphoneStartGameplay();
|
||||
void iphoneActivateConsole(void);
|
||||
void iphoneDeactivateConsole(void);
|
||||
void iphoneExecuteCommandLine(void);
|
||||
void iphoneStartGameplay(void);
|
||||
void iPhoneSetControllerConnected( bool _controllerConnected );
|
||||
void iPhoneSetLeftThumbstickXValue( float _leftThumbstickXAxis );
|
||||
void iPhoneSetLeftThumbstickYValue( float _leftThumbstickYAxis );
|
||||
void iPhoneSetRightThumbstickXValue( float _rightThumbstickXAxis );
|
||||
void iPhoneSetRightThumbstickYValue( float _rightThumbstickYAxis );
|
||||
void iPhoneSetRightTriggerPressed( bool _rightTriggerPressed );
|
||||
|
||||
void iphoneResume();
|
||||
void iphoneResume(void);
|
||||
|
||||
void LoadPNG( const char *filename, W8 **pic, W16 *width, W16 *height, W16 *bytes );
|
||||
|
||||
|
|
|
@ -1,703 +0,0 @@
|
|||
/*
|
||||
* 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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 256 KiB |
|
@ -24,6 +24,7 @@
|
|||
#import <UIKit/UIKit.h>
|
||||
#import <UIKit/UIAccelerometer.h>
|
||||
#import <AVFoundation/AVAudioPlayer.h>
|
||||
#import <CoreMotion/CoreMotion.h>
|
||||
|
||||
#import "iphone_store.h"
|
||||
|
||||
|
@ -46,6 +47,7 @@
|
|||
@property (nonatomic, retain) UINavigationController *navigationController;
|
||||
@property (nonatomic, retain) UIView *waitingView;
|
||||
@property (nonatomic, retain) AVAudioPlayer *player;
|
||||
@property (nonatomic, strong) CMMotionManager * motionManager;
|
||||
|
||||
- (void)initMenuMusicPlayer;
|
||||
|
||||
|
@ -53,7 +55,7 @@
|
|||
- (void)stopMenuMusic;
|
||||
|
||||
|
||||
- (void)restartAccelerometerIfNeeded;
|
||||
//- (void)restartAccelerometerIfNeeded;
|
||||
- (void)showOpenGL;
|
||||
- (void)GLtoMainMenu;
|
||||
- (void)GLtoPreviousMenu;
|
||||
|
|
|
@ -37,7 +37,7 @@ extern void AppendUserDataToFile(NSData* data);
|
|||
//extern void SaveData();
|
||||
|
||||
//used for downloading custom made map
|
||||
extern void FinalizeUserDownload();
|
||||
extern void FinalizeUserDownload(void);
|
||||
|
||||
yesNoBoxType_t currentYesNoBox = YESNO_NONE;
|
||||
|
||||
|
@ -52,7 +52,7 @@ extern void GetSpear();
|
|||
|
||||
extern void DownloadURLConnection(char *url);
|
||||
|
||||
extern void iphoneSet2D();
|
||||
extern void iphoneSet2D(void);
|
||||
|
||||
|
||||
//extern bool isAlive;
|
||||
|
@ -70,7 +70,6 @@ extern void iphoneSet2D();
|
|||
char iphoneDocDirectory[1024];
|
||||
char iphoneAppDirectory[1024];
|
||||
|
||||
|
||||
void SysIPhoneVibrate() {
|
||||
AudioServicesPlaySystemSound( kSystemSoundID_Vibrate );
|
||||
}
|
||||
|
@ -138,9 +137,18 @@ void SysIPhoneVibrate() {
|
|||
encoding: NSASCIIStringEncoding ];
|
||||
|
||||
// start the flow of accelerometer events
|
||||
UIAccelerometer *accelerometer = [UIAccelerometer sharedAccelerometer];
|
||||
accelerometer.delegate = self;
|
||||
accelerometer.updateInterval = 1.0 / 30.0;
|
||||
// UIAccelerometer *accelerometer = [UIAccelerometer sharedAccelerometer];
|
||||
// accelerometer.delegate = self;
|
||||
// accelerometer.updateInterval = 1.0 / 30.0;
|
||||
|
||||
[NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(updateDeviceMotion) userInfo:nil repeats:YES];
|
||||
|
||||
self.motionManager = [[CMMotionManager alloc] init];
|
||||
// self.motionManager.accelerometerActive = YES;
|
||||
self.motionManager.deviceMotionUpdateInterval = 1.0 / 30.0;
|
||||
[self.motionManager startDeviceMotionUpdatesUsingReferenceFrame:CMAttitudeReferenceFrameXArbitraryCorrectedZVertical];
|
||||
|
||||
[self.motionManager startAccelerometerUpdates];
|
||||
|
||||
// do all the game startup work
|
||||
//iphoneStartup();
|
||||
|
@ -178,7 +186,16 @@ void SysIPhoneVibrate() {
|
|||
// 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];
|
||||
|
||||
|
||||
CGRect screenBound = [[UIScreen mainScreen] bounds];
|
||||
CGSize screenSize = screenBound.size;
|
||||
|
||||
CGFloat screenHeight = screenSize.height;
|
||||
CGFloat screenWidth = screenSize.width;
|
||||
|
||||
window = [[UIWindow alloc] initWithFrame:CGRectMake(0, 0, screenWidth, screenHeight)];
|
||||
window.bounds = CGRectMake(0, 0, screenWidth, screenHeight);
|
||||
|
||||
// Create the window programmatically instead of loading from a nib file.
|
||||
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
|
||||
|
||||
|
@ -195,6 +212,7 @@ void SysIPhoneVibrate() {
|
|||
[rootController release];
|
||||
|
||||
[window addSubview:navigationController.view];
|
||||
[window setRootViewController:self.navigationController];
|
||||
[window makeKeyAndVisible];
|
||||
|
||||
return YES;
|
||||
|
@ -208,7 +226,7 @@ void SysIPhoneVibrate() {
|
|||
[[navigationController view] removeFromSuperview];
|
||||
|
||||
[self.viewController setActive:YES];
|
||||
[window addSubview:[self.viewController view]];
|
||||
[window addSubview:[self.viewController view]];
|
||||
|
||||
[self.viewController startAnimation];
|
||||
}
|
||||
|
@ -220,19 +238,24 @@ void SysIPhoneVibrate() {
|
|||
}
|
||||
|
||||
- (void)setScreenForOrientation:(UIDeviceOrientation) orientation {
|
||||
|
||||
// Note the the UIDeviceOrientations are REVERSED from the UIInterface orientations!
|
||||
switch (orientation) {
|
||||
switch (orientation) {
|
||||
case UIDeviceOrientationLandscapeLeft:
|
||||
deviceOrientation = ORIENTATION_LANDSCAPE_RIGHT;
|
||||
viddef.width = [UIScreen mainScreen].bounds.size.height * deviceScale;
|
||||
viddef.height = [UIScreen mainScreen].bounds.size.width * deviceScale;
|
||||
deviceOrientation = ORIENTATION_LANDSCAPE_RIGHT;
|
||||
// viddef.width = [UIScreen mainScreen].bounds.size.height * deviceScale;
|
||||
// viddef.height = [UIScreen mainScreen].bounds.size.width * deviceScale;
|
||||
viddef.width = [UIScreen mainScreen].bounds.size.width * deviceScale;
|
||||
viddef.height = [UIScreen mainScreen].bounds.size.height * 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;
|
||||
// viddef.width = [UIScreen mainScreen].bounds.size.height * deviceScale;
|
||||
// viddef.height = [UIScreen mainScreen].bounds.size.width * deviceScale;
|
||||
viddef.width = [UIScreen mainScreen].bounds.size.width * deviceScale;
|
||||
viddef.height = [UIScreen mainScreen].bounds.size.height * deviceScale;
|
||||
//[UIApplication sharedApplication].statusBarOrientation = UIInterfaceOrientationLandscapeLeft;
|
||||
break;
|
||||
|
||||
|
@ -418,29 +441,52 @@ extern char urlbuffer[1024];
|
|||
[super dealloc];
|
||||
}
|
||||
|
||||
- (void)restartAccelerometerIfNeeded {
|
||||
//- (void)restartAccelerometerIfNeeded {
|
||||
//
|
||||
// // I have no idea why this seems to happen sometimes...
|
||||
// if ( Sys_Milliseconds() - lastAccelUpdateMsec > 1000 ) {
|
||||
// static int count;
|
||||
// if ( ++count < 5 ) {
|
||||
// printf( "Restarting accelerometer updates.\n" );
|
||||
// }
|
||||
// UIAccelerometer *accelerometer = [UIAccelerometer sharedAccelerometer];
|
||||
// accelerometer.delegate = self;
|
||||
// accelerometer.updateInterval = 1.0 / 30.0;
|
||||
// }
|
||||
//}
|
||||
|
||||
// I have no idea why this seems to happen sometimes...
|
||||
if ( Sys_Milliseconds() - lastAccelUpdateMsec > 1000 ) {
|
||||
static int count;
|
||||
if ( ++count < 5 ) {
|
||||
printf( "Restarting accelerometer updates.\n" );
|
||||
}
|
||||
UIAccelerometer *accelerometer = [UIAccelerometer sharedAccelerometer];
|
||||
accelerometer.delegate = self;
|
||||
accelerometer.updateInterval = 1.0 / 30.0;
|
||||
}
|
||||
}
|
||||
//- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration
|
||||
//{
|
||||
// float acc[4];
|
||||
// acc[0] = acceleration.x;
|
||||
// acc[1] = acceleration.y;
|
||||
// acc[2] = acceleration.z;
|
||||
// acc[3] = acceleration.timestamp;
|
||||
// iphoneTiltEvent( acc );
|
||||
// lastAccelUpdateMsec = (int)Sys_Milliseconds();
|
||||
//// Com_Printf("acc: x: %f y: %f z: %f\n", acceleration.x, acceleration.y, acceleration.z);
|
||||
//
|
||||
//}
|
||||
|
||||
- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration
|
||||
{
|
||||
float acc[4];
|
||||
acc[0] = acceleration.x;
|
||||
acc[1] = acceleration.y;
|
||||
acc[2] = acceleration.z;
|
||||
acc[3] = acceleration.timestamp;
|
||||
iphoneTiltEvent( acc );
|
||||
lastAccelUpdateMsec = Sys_Milliseconds();
|
||||
-(void)updateDeviceMotion
|
||||
{
|
||||
CMAccelerometerData *deviceMotion = self.motionManager.accelerometerData;
|
||||
|
||||
if(deviceMotion == nil)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// CMAcceleration acceleration = deviceMotion.acceleration;
|
||||
// Com_Printf("cmm:x: %f y: %f z: %f\n", acceleration.x, acceleration.y, acceleration.z);
|
||||
|
||||
float acc[4];
|
||||
acc[0] = deviceMotion.acceleration.x;
|
||||
acc[1] = deviceMotion.acceleration.y;
|
||||
acc[2] = deviceMotion.acceleration.z;
|
||||
acc[3] = deviceMotion.timestamp;
|
||||
iphoneTiltEvent( acc );
|
||||
lastAccelUpdateMsec = (int)Sys_Milliseconds();
|
||||
}
|
||||
|
||||
//------------------------------------------------------------
|
||||
|
|
|
@ -28,9 +28,12 @@
|
|||
#import "wolfiphone.h"
|
||||
//#import "wolf3dAppDelegate.h"
|
||||
|
||||
#import <GameController/GameController.h>
|
||||
|
||||
@interface wolf3dViewController ()
|
||||
@property (nonatomic, retain) EAGLContext *context;
|
||||
@property (nonatomic, assign) CADisplayLink *displayLink;
|
||||
@property (strong, nonatomic) GCController *mainController;
|
||||
@end
|
||||
|
||||
@implementation wolf3dViewController
|
||||
|
@ -40,11 +43,31 @@
|
|||
|
||||
- (id)initWithNibName:(NSString*)file bundle:(NSBundle*)bundle
|
||||
{
|
||||
[super initWithNibName:file bundle:bundle];
|
||||
|
||||
// Get the application's window dimensions.
|
||||
EAGLView *glView = [[EAGLView alloc] initWithFrame:[UIScreen mainScreen].applicationFrame];
|
||||
//EAGLView *glView = [[EAGLView alloc] initWithFrame:[UIScreen mainScreen].applicationFrame];
|
||||
|
||||
// CGRect rect;
|
||||
// if (self.view.frame.size.width < self.view.frame.size.height)
|
||||
// rect = CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y, self.view.frame.size.width, self.view.frame.size.height);
|
||||
// else
|
||||
// rect = CGRectMake(self.view.frame.origin.y, self.view.frame.origin.x, self.view.frame.size.height, self.view.frame.size.width);
|
||||
|
||||
CGRect screenBound = [[UIScreen mainScreen] bounds];
|
||||
CGSize screenSize = screenBound.size;
|
||||
|
||||
CGFloat screenHeight = screenSize.height;
|
||||
CGFloat screenWidth = screenSize.width;
|
||||
|
||||
EAGLView *glView = [[EAGLView alloc] initWithFrame:CGRectMake(0, 0, screenWidth, screenHeight)];
|
||||
glView.bounds = CGRectMake(0, 0, screenWidth, screenHeight);
|
||||
|
||||
NSLog(@"initWithNibName glView.bounds: %f %f", glView.bounds.size.width, glView.bounds.size.height);
|
||||
|
||||
self.view = glView;
|
||||
[glView release];
|
||||
|
||||
|
||||
EAGLContext *aContext = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES1];
|
||||
|
||||
if (!aContext)
|
||||
|
@ -61,7 +84,17 @@
|
|||
animating = FALSE;
|
||||
animationFrameInterval = DEFAULT_FRAME_INTERVAL;
|
||||
self.displayLink = nil;
|
||||
|
||||
|
||||
// notifications for controller (dis)connect
|
||||
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(controllerWasConnected:) name:GCControllerDidConnectNotification object:nil];
|
||||
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(controllerWasDisconnected:) name:GCControllerDidDisconnectNotification object:nil];
|
||||
|
||||
if (IS_IPHONE_X) {
|
||||
isiPhoneX = true;
|
||||
} else {
|
||||
isiPhoneX = false;
|
||||
}
|
||||
|
||||
// Now that we have a context, we can init the render system.
|
||||
iphoneStartup();
|
||||
|
||||
|
@ -72,7 +105,28 @@
|
|||
|
||||
- (void)awakeFromNib
|
||||
{
|
||||
EAGLView *glView = [[EAGLView alloc] initWithFrame:[UIScreen mainScreen].applicationFrame];
|
||||
[super awakeFromNib];
|
||||
|
||||
// EAGLView *glView = [[EAGLView alloc] initWithFrame:[UIScreen mainScreen].applicationFrame];
|
||||
|
||||
// CGRect rect;
|
||||
// if (self.view.frame.size.width < self.view.frame.size.height)
|
||||
// rect = CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y, self.view.frame.size.width, self.view.frame.size.height);
|
||||
// else
|
||||
// rect = CGRectMake(self.view.frame.origin.y, self.view.frame.origin.x, self.view.frame.size.height, self.view.frame.size.width);
|
||||
//
|
||||
|
||||
CGRect screenBound = [[UIScreen mainScreen] bounds];
|
||||
CGSize screenSize = screenBound.size;
|
||||
|
||||
CGFloat screenHeight = screenSize.height;
|
||||
CGFloat screenWidth = screenSize.width;
|
||||
|
||||
EAGLView *glView = [[EAGLView alloc] initWithFrame:CGRectMake(0, 0, screenWidth, screenHeight)];
|
||||
glView.bounds = CGRectMake(0, 0, screenWidth, screenHeight);
|
||||
|
||||
NSLog(@"awakeFromNib glView.bounds: %f %f", glView.bounds.size.width, glView.bounds.size.height);
|
||||
|
||||
self.view = glView;
|
||||
[glView release];
|
||||
|
||||
|
@ -98,7 +152,13 @@
|
|||
// Releases the view if it doesn't have a superview.
|
||||
[super didReceiveMemoryWarning];
|
||||
|
||||
// Release any cached data, images, etc. that aren't in use.
|
||||
|
||||
[self stopAnimation];
|
||||
|
||||
// Tear down context.
|
||||
if ([EAGLContext currentContext] == context)
|
||||
[EAGLContext setCurrentContext:nil];
|
||||
self.context = nil;
|
||||
}
|
||||
|
||||
- (void)dealloc {
|
||||
|
@ -128,18 +188,6 @@
|
|||
[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;
|
||||
|
@ -234,4 +282,154 @@
|
|||
[(EAGLView *)self.view presentFramebuffer];
|
||||
}
|
||||
|
||||
- (void)controllerWasConnected:(NSNotification *)notification {
|
||||
|
||||
// a controller was connected
|
||||
GCController *controller = (GCController *)notification.object;
|
||||
NSString *status = [NSString stringWithFormat:@"Controller connected\nName: %@\n", controller.vendorName];
|
||||
NSLog(@"%@", status);
|
||||
|
||||
self.mainController = controller;
|
||||
|
||||
iPhoneSetControllerConnected(true);
|
||||
[self reactToInput];
|
||||
}
|
||||
|
||||
- (void)controllerWasDisconnected:(NSNotification *)notification {
|
||||
|
||||
// a controller was disconnected
|
||||
GCController *controller = (GCController *)notification.object;
|
||||
NSString *status = [NSString stringWithFormat:@"Controller disconnected:\n%@", controller.vendorName];
|
||||
NSLog(@"%@", status);
|
||||
|
||||
// self.mainController = nil;
|
||||
iPhoneSetControllerConnected(false);
|
||||
}
|
||||
|
||||
- (void)reactToInput {
|
||||
|
||||
NSLog(@"%s", "reactToInput");
|
||||
|
||||
// register block for input change detection
|
||||
GCExtendedGamepad *profile = self.mainController.extendedGamepad;
|
||||
profile.valueChangedHandler = ^(GCExtendedGamepad *gamepad, GCControllerElement *element)
|
||||
{
|
||||
NSString *message = @"";
|
||||
CGPoint position = CGPointMake(0, 0);
|
||||
|
||||
// left trigger
|
||||
if (gamepad.leftTrigger == element && gamepad.leftTrigger.isPressed) {
|
||||
message = [message stringByAppendingString:@"Left Trigger"];
|
||||
}
|
||||
|
||||
// right trigger
|
||||
if (gamepad.rightTrigger == element) {
|
||||
iPhoneSetRightTriggerPressed(gamepad.rightTrigger.isPressed);
|
||||
}
|
||||
|
||||
// left shoulder button
|
||||
if (gamepad.leftShoulder == element && gamepad.leftShoulder.isPressed) {
|
||||
message = [message stringByAppendingString:@"Left Shoulder Button"];
|
||||
}
|
||||
|
||||
// right shoulder button
|
||||
if (gamepad.rightShoulder == element && gamepad.rightShoulder.isPressed) {
|
||||
message = [message stringByAppendingString:@"Right Shoulder Button"];
|
||||
}
|
||||
|
||||
// A button
|
||||
if (gamepad.buttonA == element && gamepad.buttonA.isPressed) {
|
||||
message = [message stringByAppendingString:@"A Button"];
|
||||
}
|
||||
|
||||
// B button
|
||||
if (gamepad.buttonB == element && gamepad.buttonB.isPressed) {
|
||||
message = [message stringByAppendingString:@"B Button"];
|
||||
}
|
||||
|
||||
// X button
|
||||
if (gamepad.buttonX == element && gamepad.buttonX.isPressed) {
|
||||
message = [message stringByAppendingString:@"X Button"];
|
||||
}
|
||||
|
||||
// Y button
|
||||
if (gamepad.buttonY == element && gamepad.buttonY.isPressed) {
|
||||
message = [message stringByAppendingString:@"Y Button"];
|
||||
}
|
||||
|
||||
// d-pad
|
||||
if (gamepad.dpad == element) {
|
||||
if (gamepad.dpad.up.isPressed) {
|
||||
message = [message stringByAppendingString:@"D-Pad Up"];
|
||||
}
|
||||
if (gamepad.dpad.down.isPressed) {
|
||||
message = [message stringByAppendingString:@"D-Pad Down"];
|
||||
}
|
||||
if (gamepad.dpad.left.isPressed) {
|
||||
message = [message stringByAppendingString:@"D-Pad Left"];
|
||||
}
|
||||
if (gamepad.dpad.right.isPressed) {
|
||||
message = [message stringByAppendingString:@"D-Pad Right"];
|
||||
}
|
||||
}
|
||||
|
||||
// left stick
|
||||
if (gamepad.leftThumbstick == element) {
|
||||
if (gamepad.leftThumbstick.up.isPressed || gamepad.leftThumbstick.down.isPressed) {
|
||||
iPhoneSetLeftThumbstickYValue(gamepad.leftThumbstick.yAxis.value);
|
||||
} else {
|
||||
iPhoneSetLeftThumbstickYValue(0);
|
||||
}
|
||||
|
||||
if (gamepad.leftThumbstick.left.isPressed || gamepad.leftThumbstick.right.isPressed) {
|
||||
iPhoneSetLeftThumbstickXValue(gamepad.leftThumbstick.xAxis.value);
|
||||
} else {
|
||||
iPhoneSetLeftThumbstickXValue(0);
|
||||
}
|
||||
|
||||
position = CGPointMake(gamepad.leftThumbstick.xAxis.value, gamepad.leftThumbstick.yAxis.value);
|
||||
}
|
||||
|
||||
// right stick
|
||||
if (gamepad.rightThumbstick == element) {
|
||||
if (gamepad.rightThumbstick.up.isPressed || gamepad.rightThumbstick.down.isPressed) {
|
||||
iPhoneSetRightThumbstickYValue(gamepad.rightThumbstick.yAxis.value);
|
||||
} else {
|
||||
iPhoneSetRightThumbstickYValue(0);
|
||||
}
|
||||
|
||||
if (gamepad.rightThumbstick.left.isPressed || gamepad.rightThumbstick.right.isPressed) {
|
||||
iPhoneSetRightThumbstickXValue(gamepad.rightThumbstick.xAxis.value);
|
||||
} else {
|
||||
iPhoneSetRightThumbstickXValue(0);
|
||||
}
|
||||
|
||||
position = CGPointMake(gamepad.rightThumbstick.xAxis.value, gamepad.rightThumbstick.yAxis.value);
|
||||
}
|
||||
|
||||
//NSLog(@"%@", message);
|
||||
|
||||
};
|
||||
|
||||
// we need a weak self here for in-block access
|
||||
// __weak typeof(self) weakSelf = self;
|
||||
//
|
||||
// self.mainController.controllerPausedHandler = ^(GCController *controller){
|
||||
//
|
||||
// // check if we're currently paused or not
|
||||
// // then bring up or remove the paused view controller
|
||||
// if (weakSelf.currentlyPaused) {
|
||||
//
|
||||
// weakSelf.currentlyPaused = NO;
|
||||
// [weakSelf dismissViewControllerAnimated:YES completion:nil];
|
||||
//
|
||||
// } else {
|
||||
//
|
||||
// weakSelf.currentlyPaused = YES;
|
||||
// [weakSelf presentViewController:weakSelf.pausedViewController animated:YES completion:nil];
|
||||
// }
|
||||
//
|
||||
// };
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
BIN
wolf3d/code/iphone/wondering.caf
Executable file
|
@ -710,14 +710,14 @@ PUBLIC void A_Dormant( entity_t *self )
|
|||
int deltax, deltay;
|
||||
int xl, xh, yl, yh, x, y, n;
|
||||
|
||||
deltax = self->x - Player.position.origin[ 0 ];
|
||||
deltax = self->x - (int)Player.position.origin[ 0 ];
|
||||
|
||||
if( deltax < -MINACTORDIST || deltax > MINACTORDIST )
|
||||
{
|
||||
goto moveok;
|
||||
}
|
||||
|
||||
deltay = self->y - Player.position.origin[ 1 ];
|
||||
deltay = self->y - (int)Player.position.origin[ 1 ];
|
||||
if( deltay < -MINACTORDIST || deltay > MINACTORDIST )
|
||||
{
|
||||
goto moveok;
|
||||
|
@ -911,8 +911,8 @@ PUBLIC void T_Projectile( entity_t *self )
|
|||
self->x += deltax;
|
||||
self->y += deltay;
|
||||
|
||||
deltax = ABS( self->x-Player.position.origin[ 0 ] );
|
||||
deltay = ABS( self->y-Player.position.origin[ 1 ] );
|
||||
deltax = (int)ABS( self->x-Player.position.origin[ 0 ] );
|
||||
deltay = (int)ABS( self->y-Player.position.origin[ 1 ] );
|
||||
|
||||
if( ! ProjectileTryMove( self, r_world ) )
|
||||
{
|
||||
|
|
|
@ -213,8 +213,8 @@ PRIVATE void AI_Dodge( entity_t *self )
|
|||
turnaround = opposite8[ self->dir ];
|
||||
}
|
||||
|
||||
deltax = POS2TILE( Player.position.origin[ 0 ] ) - POS2TILE( self->x );
|
||||
deltay = POS2TILE( Player.position.origin[ 1 ] ) - POS2TILE( self->y );
|
||||
deltax = (int)POS2TILE( Player.position.origin[ 0 ] ) - POS2TILE( self->x );
|
||||
deltay = (int)POS2TILE( Player.position.origin[ 1 ] ) - POS2TILE( self->y );
|
||||
|
||||
//
|
||||
// arange 5 direction choices in order of preference
|
||||
|
@ -307,8 +307,8 @@ PRIVATE void AI_Chase( entity_t *self )
|
|||
turnaround = opposite8[ olddir ];
|
||||
d[ 0 ] = d[ 1 ] = dir8_nodir;
|
||||
|
||||
deltax = POS2TILE( Player.position.origin[ 0 ] ) - POS2TILE( self->x );
|
||||
deltay = POS2TILE( Player.position.origin[ 1 ] ) - POS2TILE( self->y );
|
||||
deltax = (int)POS2TILE( Player.position.origin[ 0 ] ) - POS2TILE( self->x );
|
||||
deltay = (int)POS2TILE( Player.position.origin[ 1 ] ) - POS2TILE( self->y );
|
||||
|
||||
if( deltax > 0 )
|
||||
{
|
||||
|
@ -427,8 +427,8 @@ PRIVATE void AI_Retreat( entity_t *self )
|
|||
int deltax, deltay;
|
||||
dir8type d[2], tdir;
|
||||
|
||||
deltax = POS2TILE( Player.position.origin[ 0 ] ) - POS2TILE( self->x );
|
||||
deltay = POS2TILE( Player.position.origin[ 1 ] ) - POS2TILE( self->y );
|
||||
deltax = (int)POS2TILE( Player.position.origin[ 0 ] ) - POS2TILE( self->x );
|
||||
deltay = (int)POS2TILE( Player.position.origin[ 1 ] ) - POS2TILE( self->y );
|
||||
|
||||
d[ 0 ] = deltax < 0 ? dir8_east : dir8_west;
|
||||
d[ 1 ] = deltay < 0 ? dir8_north : dir8_south;
|
||||
|
@ -510,8 +510,8 @@ PRIVATE _boolean AI_CheckSight( entity_t *self )
|
|||
}
|
||||
|
||||
// if the player is real close, sight is automatic
|
||||
deltax = Player.position.origin[ 0 ] - self->x;
|
||||
deltay = Player.position.origin[ 1 ] - self->y;
|
||||
deltax = (int)Player.position.origin[ 0 ] - self->x;
|
||||
deltay = (int)Player.position.origin[ 1 ] - self->y;
|
||||
|
||||
if( ABS( deltax ) < MINSIGHT && ABS( deltay ) < MINSIGHT )
|
||||
{
|
||||
|
@ -870,8 +870,8 @@ PUBLIC void T_Chase( entity_t *self )
|
|||
dodge = 0;
|
||||
if( Level_CheckLine( self->x, self->y, Player.position.origin[0], Player.position.origin[1], r_world ) ) // got a shot at player?
|
||||
{
|
||||
dx = ABS( POS2TILE( self->x ) - POS2TILE( Player.position.origin[ 0 ] ) );
|
||||
dy = ABS( POS2TILE( self->y ) - POS2TILE( Player.position.origin[ 1 ] ) );
|
||||
dx = ABS( (int)POS2TILE( self->x ) - (int)POS2TILE( Player.position.origin[ 0 ] ) );
|
||||
dy = ABS( (int)POS2TILE( self->y ) - (int)POS2TILE( Player.position.origin[ 1 ] ) );
|
||||
dist = max_of_2(dx, dy);
|
||||
if( ! dist || (dist == 1 && self->distance < 16) )
|
||||
{
|
||||
|
@ -1008,8 +1008,8 @@ PUBLIC void T_BossChase( entity_t *self )
|
|||
W8 dodge;
|
||||
|
||||
dodge = 0;
|
||||
dx = ABS( self->tilex - POS2TILE( Player.position.origin[ 0 ] ) );
|
||||
dy = ABS( self->tiley - POS2TILE( Player.position.origin[ 1 ] ) );
|
||||
dx = ABS( self->tilex - (int)POS2TILE( Player.position.origin[ 0 ] ) );
|
||||
dy = ABS( self->tiley - (int)POS2TILE( Player.position.origin[ 1 ] ) );
|
||||
dist = max_of_2( dx, dy );
|
||||
|
||||
if( Level_CheckLine( self->x, self->y, Player.position.origin[0], Player.position.origin[1], r_world ) ) // got a shot at player?
|
||||
|
@ -1107,8 +1107,8 @@ PUBLIC void T_Shoot( entity_t *self )
|
|||
return; // player is behind a wall
|
||||
}
|
||||
|
||||
dx = ABS( POS2TILE( self->x ) - POS2TILE( Player.position.origin[ 0 ] ) );
|
||||
dy = ABS( POS2TILE( self->y ) - POS2TILE( Player.position.origin[ 1 ] ) );
|
||||
dx = ABS( (int)POS2TILE( self->x ) - (int)POS2TILE( Player.position.origin[ 0 ] ) );
|
||||
dy = ABS( (int)POS2TILE( self->y ) - (int)POS2TILE( Player.position.origin[ 1 ] ) );
|
||||
dist = max_of_2( dx, dy );
|
||||
|
||||
if( self->type == en_ss || self->type == en_boss )
|
||||
|
@ -1209,8 +1209,8 @@ PUBLIC void T_UShoot( entity_t *self )
|
|||
|
||||
T_Shoot( self );
|
||||
|
||||
dx = ABS( self->tilex - POS2TILE( Player.position.origin[ 0 ] ) );
|
||||
dy = ABS( self->tiley - POS2TILE( Player.position.origin[ 1 ] ) );
|
||||
dx = ABS( self->tilex - (int)POS2TILE( Player.position.origin[ 0 ] ) );
|
||||
dy = ABS( self->tiley - (int)POS2TILE( Player.position.origin[ 1 ] ) );
|
||||
dist = max_of_2( dx, dy );
|
||||
|
||||
if( dist <= 1 )
|
||||
|
|
|
@ -42,14 +42,14 @@ void SpawnBJVictory( void )
|
|||
{
|
||||
entity_t *bj;
|
||||
|
||||
bj = SpawnActor( en_bj, POS2TILE(Player.position.origin[0]), POS2TILE(Player.position.origin[1]), dir4_north, r_world );
|
||||
bj = SpawnActor( en_bj, (int)POS2TILE(Player.position.origin[0]), (int)POS2TILE(Player.position.origin[1]), dir4_north, r_world );
|
||||
if( ! bj )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
bj->x = Player.position.origin[ 0 ];
|
||||
bj->y = Player.position.origin[ 1 ];
|
||||
bj->x = (int)Player.position.origin[ 0 ];
|
||||
bj->y = (int)Player.position.origin[ 1 ];
|
||||
bj->state = st_path1;
|
||||
bj->speed = BJRUNSPEED;
|
||||
bj->flags = FL_NONMARK; // FL_NEVERMARK;
|
||||
|
|
|
@ -868,7 +868,9 @@ PRIVATE void Lvl_RLEWexpand( W16 *source, W16 *dest,
|
|||
|
||||
|
||||
#define MAPHEADER_SIZE 49
|
||||
#define MAP_SIGNATURE 0x21444921
|
||||
|
||||
#define MAP_SIGNATURE_64 0x5800000021444921
|
||||
#define MAP_SIGNATURE_32 0x21444921
|
||||
|
||||
|
||||
/*
|
||||
|
@ -945,14 +947,18 @@ PUBLIC LevelData_t *Level_LoadMap( const char *levelname )
|
|||
// Process map header
|
||||
//
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// DEBUG: DISABLED FOR NOW - this is having issues with 32/64-bit and for right now I'm not worried about the maps being invalid
|
||||
// if( (signature != MAP_SIGNATURE_32) && (signature != MAP_SIGNATURE_64) )
|
||||
// {
|
||||
// iphoneMessageBox("map signature", "signature of the map file is invalid");
|
||||
// Com_Printf("File signature does not match MAP_SIGNATURE\n");
|
||||
// return NULL;
|
||||
// }
|
||||
|
||||
Com_Printf("MAP_SIGNATURE_32: %lu\n", MAP_SIGNATURE_32);
|
||||
Com_Printf("MAP_SIGNATURE_64: %lu\n", MAP_SIGNATURE_64);
|
||||
Com_Printf("signature: %lu\n", signature);
|
||||
|
||||
FS_ReadFile( &rle, 2, 1, fhandle );
|
||||
|
||||
|
@ -1219,11 +1225,13 @@ PUBLIC int Level_VerifyMap( const char *levelname )
|
|||
}
|
||||
|
||||
FS_ReadFile( &signature, 1, 4, fhandle );
|
||||
if( signature != MAP_SIGNATURE )
|
||||
{
|
||||
value = 0;
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
// DEBUG: DISABLED FOR NOW - this is having issues with 32/64-bit and for right now I'm not worried about the maps being invalid
|
||||
// if( (signature != MAP_SIGNATURE_32) && (signature != MAP_SIGNATURE_64) )
|
||||
// {
|
||||
// value = 0;
|
||||
// goto cleanup;
|
||||
// }
|
||||
|
||||
FS_ReadFile( &rle, 2, 1, fhandle );
|
||||
|
||||
|
|
|
@ -58,7 +58,7 @@
|
|||
*/
|
||||
PUBLIC void GL_SetDefaultState( void )
|
||||
{
|
||||
pfglViewport( 0,0, viddef.height, viddef.width );
|
||||
pfglViewport( 0,0, viddef.width, viddef.height );
|
||||
pfglClearColor( 0.0f, 0.0f, 0.0f, 1.0f );
|
||||
pfglEnable( GL_TEXTURE_2D );
|
||||
pfglDisable( GL_DEPTH_TEST );
|
||||
|
@ -351,7 +351,7 @@ PUBLIC void R_DrawSprites( void )
|
|||
}
|
||||
|
||||
// prepare values for billboarding
|
||||
ang = NormalizeAngle( Player.position.angle + ANG_90 );
|
||||
ang = (int)NormalizeAngle( (int)Player.position.angle + ANG_90 );
|
||||
sina = (float)(0.5 * SinTable[ ang ]);
|
||||
cosa = (float)(0.5 * CosTable[ ang ]);
|
||||
|
||||
|
@ -458,7 +458,7 @@ PUBLIC void R_DrawNumber( int x, int y, int number )
|
|||
|
||||
pfglBegin( GL_QUADS );
|
||||
|
||||
for( i = length-1 ; i >= 0 ; --i )
|
||||
for( i = (int)length-1 ; i >= 0 ; --i )
|
||||
{
|
||||
col = string[ i ] - 48;
|
||||
|
||||
|
|
|
@ -184,10 +184,10 @@ PRIVATE _boolean PL_TryMove( player_t *self, LevelData_t *lvl )
|
|||
int xl, yl, xh, yh, x, y;
|
||||
int d, n;
|
||||
|
||||
xl = POS2TILE( Player.position.origin[ 0 ] - PLAYERSIZE );
|
||||
yl = POS2TILE( Player.position.origin[ 1 ] - PLAYERSIZE );
|
||||
xh = POS2TILE( Player.position.origin[ 0 ] + PLAYERSIZE );
|
||||
yh = POS2TILE( Player.position.origin[ 1 ] + PLAYERSIZE );
|
||||
xl = (int)POS2TILE( Player.position.origin[ 0 ] - PLAYERSIZE );
|
||||
yl = (int)POS2TILE( Player.position.origin[ 1 ] - PLAYERSIZE );
|
||||
xh = (int)POS2TILE( Player.position.origin[ 0 ] + PLAYERSIZE );
|
||||
yh = (int)POS2TILE( Player.position.origin[ 1 ] + PLAYERSIZE );
|
||||
|
||||
// Cheching for solid walls:
|
||||
for( y = yl ; y <= yh ; ++y )
|
||||
|
@ -200,8 +200,8 @@ PRIVATE _boolean PL_TryMove( player_t *self, LevelData_t *lvl )
|
|||
Door_Opened( &lvl->Doors, x, y) != DOOR_FULLOPEN ) {
|
||||
// iphone hack to allow player to move halfway into door tiles
|
||||
// if the player bounds doesn't cross the middle of the tile, let the move continue
|
||||
if ( abs( Player.position.origin[0] - TILE2POS( x ) ) <= 0x9000
|
||||
&& abs( Player.position.origin[1] - TILE2POS( y ) ) <= 0x9000 ) {
|
||||
if ( abs( (int)Player.position.origin[0] - TILE2POS( x ) ) <= 0x9000
|
||||
&& abs( (int)Player.position.origin[1] - TILE2POS( y ) ) <= 0x9000 ) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
@ -213,12 +213,12 @@ PRIVATE _boolean PL_TryMove( player_t *self, LevelData_t *lvl )
|
|||
if( Guards[ n ].state >= st_die1 )
|
||||
continue;
|
||||
|
||||
d = self->position.origin[ 0 ] - Guards[ n ].x;
|
||||
d = (int)self->position.origin[ 0 ] - Guards[ n ].x;
|
||||
|
||||
if( d < -MINACTORDIST || d > MINACTORDIST )
|
||||
continue;
|
||||
|
||||
d = self->position.origin[ 1 ] - Guards[ n ].y;
|
||||
d = (int)self->position.origin[ 1 ] - Guards[ n ].y;
|
||||
|
||||
if( d < -MINACTORDIST || d > MINACTORDIST)
|
||||
continue;
|
||||
|
@ -245,8 +245,8 @@ PRIVATE void PL_ClipMove( player_t *self, int xmove, int ymove )
|
|||
{
|
||||
int basex, basey;
|
||||
|
||||
basex = self->position.origin[ 0 ];
|
||||
basey = self->position.origin[ 1 ];
|
||||
basex = (int)self->position.origin[ 0 ];
|
||||
basey = (int)self->position.origin[ 1 ];
|
||||
|
||||
self->position.origin[ 0 ] += xmove;
|
||||
self->position.origin[ 1 ] += ymove;
|
||||
|
@ -299,7 +299,7 @@ PRIVATE void PL_ControlMovement( player_t *self, LevelData_t *lvl )
|
|||
int angle, speed;
|
||||
|
||||
// rotation
|
||||
angle = self->position.angle;
|
||||
angle = (int)self->position.angle;
|
||||
|
||||
// if(cmd->forwardmove || cmd->sidemove)
|
||||
self->movx = self->movy = 0; // clear accumulated movement
|
||||
|
@ -340,8 +340,8 @@ PRIVATE void PL_ControlMovement( player_t *self, LevelData_t *lvl )
|
|||
|
||||
// move player and clip movement to walls (check for no-clip mode here)
|
||||
PL_ClipMove( self, self->movx, self->movy );
|
||||
self->tilex = POS2TILE( self->position.origin[ 0 ] );
|
||||
self->tiley = POS2TILE( self->position.origin[ 1 ] );
|
||||
self->tilex = (int)POS2TILE( self->position.origin[ 0 ] );
|
||||
self->tiley = (int)POS2TILE( self->position.origin[ 1 ] );
|
||||
|
||||
// pick up items easier -- any tile you touch, instead of
|
||||
// just the midpoint tile
|
||||
|
@ -349,9 +349,9 @@ PRIVATE void PL_ControlMovement( player_t *self, LevelData_t *lvl )
|
|||
int x, y;
|
||||
|
||||
for ( x = -1 ; x <= 1 ; x+= 2 ) {
|
||||
int tilex = POS2TILE( self->position.origin[0] + x * PLAYERSIZE );
|
||||
int tilex = (int)POS2TILE( self->position.origin[0] + x * PLAYERSIZE );
|
||||
for ( y = -1 ; y <= 1 ; y+= 2 ) {
|
||||
int tiley = POS2TILE( self->position.origin[1] + y * PLAYERSIZE );
|
||||
int tiley = (int)POS2TILE( self->position.origin[1] + y * PLAYERSIZE );
|
||||
Powerup_PickUp( tilex, tiley );
|
||||
}
|
||||
}
|
||||
|
@ -572,8 +572,13 @@ PUBLIC void PL_Reset(void)
|
|||
PUBLIC void PL_Spawn( placeonplane_t location, LevelData_t *lvl )
|
||||
{
|
||||
Player.position = location;
|
||||
Player.tilex = POS2TILE( location.origin[ 0 ] );
|
||||
Player.tiley = POS2TILE( location.origin[ 1 ] );
|
||||
Player.tilex = (int)POS2TILE( location.origin[ 0 ] );
|
||||
Player.tiley = (int)POS2TILE( location.origin[ 1 ] );
|
||||
|
||||
// DEBUG! TESTING!
|
||||
// Player.tilex = 1;
|
||||
// Player.tiley = 15;
|
||||
|
||||
Player.areanumber = lvl->areas[ Player.tilex ][ Player.tiley ];
|
||||
assert( Player.areanumber >= 0 && Player.areanumber < NUMAREAS );
|
||||
if( Player.areanumber < 0 )
|
||||
|
@ -749,8 +754,8 @@ PUBLIC void PL_Damage( player_t *self, entity_t *attacker, int points )
|
|||
|
||||
// note the direction of the last hit for the directional blends
|
||||
{
|
||||
int dx = attacker->x - self->position.origin[0];
|
||||
int dy = attacker->y - self->position.origin[1];
|
||||
int dx = attacker->x - (int)self->position.origin[0];
|
||||
int dy = attacker->y - (int)self->position.origin[1];
|
||||
|
||||
// probably won't ever have damage from self, but check anyway
|
||||
if ( dx != 0 || dy != 0 ) {
|
||||
|
|
|
@ -58,12 +58,12 @@ PUBLIC void R_RayCast( placeonplane_t viewport, LevelData_t *lvl )
|
|||
memset( tile_visible, 0, sizeof( tile_visible ) ); // clear tile visible flags
|
||||
|
||||
// viewport tile coordinates
|
||||
x = viewport.origin[ 0 ];
|
||||
y = viewport.origin[ 1 ];
|
||||
angle = viewport.angle;
|
||||
x = (int)viewport.origin[ 0 ];
|
||||
y = (int)viewport.origin[ 1 ];
|
||||
angle = (int)viewport.angle;
|
||||
|
||||
vx = POS2TILE( viewport.origin[ 0 ] );
|
||||
vy = POS2TILE( viewport.origin[ 1 ] );
|
||||
vx = (int)POS2TILE( viewport.origin[ 0 ] );
|
||||
vy = (int)POS2TILE( viewport.origin[ 1 ] );
|
||||
|
||||
trace.tile_vis = tile_visible;
|
||||
trace.flags = TRACE_SIGHT | TRACE_MARK_MAP;
|
||||
|
|
|
@ -94,7 +94,7 @@ PUBLIC int Sprite_GetNewSprite( void )
|
|||
if( sprt->flags & SPRT_REMOVE )
|
||||
{ // free spot: clear it first
|
||||
memset( sprt, 0, sizeof( sprite_t ) );
|
||||
return n;
|
||||
return (int)n;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -260,9 +260,9 @@ PUBLIC int Sprite_CreateVisList( void )
|
|||
if( tile_visible[ tx ][ ty ] || tile_visible[ tx + 1 ][ ty ] ||
|
||||
tile_visible[ tx ][ ty + 1 ] || tile_visible[ tx + 1 ][ ty + 1 ] )
|
||||
{ // player spoted it
|
||||
visptr->dist = LineLen2Point( sprt->x - Player.position.origin[ 0 ],
|
||||
sprt->y-Player.position.origin[ 1 ],
|
||||
Player.position.angle ); //FIXME viewport
|
||||
visptr->dist = LineLen2Point( (int)sprt->x - (int)Player.position.origin[ 0 ],
|
||||
(int)sprt->y-(int)Player.position.origin[ 1 ],
|
||||
(int)Player.position.angle ); //FIXME viewport
|
||||
visptr->x = sprt->x;
|
||||
visptr->y = sprt->y;
|
||||
visptr->ang = sprt->ang;
|
||||
|
@ -282,6 +282,6 @@ PUBLIC int Sprite_CreateVisList( void )
|
|||
qsort( vislist, num_visible, sizeof( visobj_t ), Sprite_cmpVis );
|
||||
}
|
||||
|
||||
return num_visible;
|
||||
return (int)num_visible;
|
||||
}
|
||||
|
||||
|
|
|
@ -49,14 +49,14 @@ PUBLIC void fire_hit( player_t *self )
|
|||
{
|
||||
if( Guards[ n ].flags & FL_SHOOTABLE ) // && Guards[n].flags&FL_VISABLE
|
||||
{
|
||||
shot_dist = Point2LineDist( Guards[ n ].x - self->position.origin[ 0 ], Guards[ n ].y - self->position.origin[ 1 ], self->position.angle );
|
||||
shot_dist = Point2LineDist( Guards[ n ].x - (int)self->position.origin[ 0 ], Guards[ n ].y - (int)self->position.origin[ 1 ], (int)self->position.angle );
|
||||
|
||||
if( shot_dist > (2 * TILEGLOBAL / 3) )
|
||||
{
|
||||
continue; // miss
|
||||
}
|
||||
|
||||
d1 = LineLen2Point( Guards[ n ].x - self->position.origin[ 0 ], Guards[ n ].y - self->position.origin[ 1 ], self->position.angle );
|
||||
d1 = LineLen2Point( Guards[ n ].x - (int)self->position.origin[ 0 ], Guards[ n ].y - (int)self->position.origin[ 1 ], (int)self->position.angle );
|
||||
|
||||
if( d1 < 0 || d1 > dist )
|
||||
{
|
||||
|
@ -126,13 +126,13 @@ PUBLIC void fire_lead( player_t *self )
|
|||
{
|
||||
if( Guards[ n ].flags & FL_SHOOTABLE ) // && Guards[n].flags&FL_VISABLE
|
||||
{
|
||||
shot_dist = Point2LineDist( Guards[ n ].x - self->position.origin[ 0 ], Guards[ n ].y - self->position.origin[ 1 ], self->position.angle );
|
||||
shot_dist = Point2LineDist( Guards[ n ].x - (int)self->position.origin[ 0 ], Guards[ n ].y - (int)self->position.origin[ 1 ], (int)self->position.angle );
|
||||
if( shot_dist > (2 * TILEGLOBAL / 3) )
|
||||
{
|
||||
continue; // miss
|
||||
}
|
||||
|
||||
d1 = LineLen2Point( Guards[ n ].x - self->position.origin[ 0 ], Guards[ n ].y - self->position.origin[ 1 ], self->position.angle );
|
||||
d1 = LineLen2Point( Guards[ n ].x - (int)self->position.origin[ 0 ], Guards[ n ].y - (int)self->position.origin[ 1 ], (int)self->position.angle );
|
||||
if( d1 < 0 || d1 > dist )
|
||||
{
|
||||
continue;
|
||||
|
@ -153,9 +153,9 @@ PUBLIC void fire_lead( player_t *self )
|
|||
{
|
||||
r_trace_t trace;
|
||||
|
||||
trace.a = NormalizeAngle( self->position.angle - DEG2FINE( 2 ) + rand() % (DEG2FINE( 4 ) ) );
|
||||
trace.x = self->position.origin[ 0 ];
|
||||
trace.y = self->position.origin[ 1 ];
|
||||
trace.a = NormalizeAngle( (int)self->position.angle - DEG2FINE( 2 ) + rand() % (DEG2FINE( 4 ) ) );
|
||||
trace.x = (int)self->position.origin[ 0 ];
|
||||
trace.y = (int)self->position.origin[ 1 ];
|
||||
trace.flags = TRACE_BULLET;
|
||||
trace.tile_vis = NULL;
|
||||
R_Trace( &trace, r_world );
|
||||
|
|
|
@ -107,5 +107,14 @@
|
|||
extern CFAbsoluteTime soundTime;
|
||||
extern CFAbsoluteTime menuTime;
|
||||
|
||||
void picTimingPrint();
|
||||
void picTimingClear();
|
||||
void picTimingPrint(void);
|
||||
void picTimingClear(void);
|
||||
|
||||
#define SCREEN_WIDTH ([[UIScreen mainScreen] bounds].size.width)
|
||||
#define SCREEN_HEIGHT ([[UIScreen mainScreen] bounds].size.height)
|
||||
#define SCREEN_MAX_LENGTH (MAX(SCREEN_WIDTH, SCREEN_HEIGHT))
|
||||
#define SCREEN_MIN_LENGTH (MIN(SCREEN_WIDTH, SCREEN_HEIGHT))
|
||||
#define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
|
||||
#define IS_IPHONE (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
|
||||
#define IS_IPHONE_X (IS_IPHONE && SCREEN_MAX_LENGTH == 812.0)
|
||||
extern bool isiPhoneX;
|
||||
|
|