project_files/HedgewarsMobile/Classes/CreationChamber.m
changeset 4281 e033cf015b2c
child 4284 57a501a69e5f
equal deleted inserted replaced
4279:b697a26ed538 4281:e033cf015b2c
       
     1 /*
       
     2  * Hedgewars-iOS, a Hedgewars port for iOS devices
       
     3  * Copyright (c) 2009-2010 Vittorio Giovara <vittorio.giovara@gmail.com>
       
     4  *
       
     5  * This program is free software; you can redistribute it and/or modify
       
     6  * it under the terms of the GNU General Public License as published by
       
     7  * the Free Software Foundation; version 2 of the License
       
     8  *
       
     9  * This program is distributed in the hope that it will be useful,
       
    10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
       
    11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       
    12  * GNU General Public License for more details.
       
    13  *
       
    14  * You should have received a copy of the GNU General Public License
       
    15  * along with this program; if not, write to the Free Software
       
    16  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
       
    17  *
       
    18  * File created on 12/11/2010.
       
    19  */
       
    20 
       
    21 
       
    22 #import "CreationChamber.h"
       
    23 
       
    24 void createTeamNamed (NSString *nameWithoutExt) {
       
    25     NSString *teamsDirectory = TEAMS_DIRECTORY();
       
    26 
       
    27     if (![[NSFileManager defaultManager] fileExistsAtPath: teamsDirectory]) {
       
    28         [[NSFileManager defaultManager] createDirectoryAtPath:teamsDirectory
       
    29                                   withIntermediateDirectories:NO
       
    30                                                    attributes:nil
       
    31                                                         error:NULL];
       
    32     }
       
    33 
       
    34     NSMutableArray *hedgehogs = [[NSMutableArray alloc] initWithCapacity: HW_getMaxNumberOfHogs()];
       
    35 
       
    36     for (int i = 0; i < HW_getMaxNumberOfHogs(); i++) {
       
    37         NSString *hogName = [[NSString alloc] initWithFormat:@"hedgehog %d",i];
       
    38         NSDictionary *hog = [[NSDictionary alloc] initWithObjectsAndKeys:
       
    39                              [NSNumber numberWithInt:0],@"level",
       
    40                              hogName,@"hogname",
       
    41                              @"NoHat",@"hat",
       
    42                              nil];
       
    43         [hogName release];
       
    44         [hedgehogs addObject:hog];
       
    45         [hog release];
       
    46     }
       
    47 
       
    48     NSDictionary *theTeam = [[NSDictionary alloc] initWithObjectsAndKeys:
       
    49                              @"0",@"hash",
       
    50                              @"Statue",@"grave",
       
    51                              @"Plane",@"fort",
       
    52                              @"Default",@"voicepack",
       
    53                              @"hedgewars",@"flag",
       
    54                              hedgehogs,@"hedgehogs",
       
    55                              nil];
       
    56     [hedgehogs release];
       
    57 
       
    58     NSString *teamFile = [[NSString alloc] initWithFormat:@"%@/%@.plist", teamsDirectory, nameWithoutExt];
       
    59 
       
    60     [theTeam writeToFile:teamFile atomically:YES];
       
    61     [teamFile release];
       
    62     [theTeam release];
       
    63 }
       
    64 
       
    65 void createWeaponNamed (NSString *nameWithoutExt, int type) {
       
    66     NSString *weaponsDirectory = WEAPONS_DIRECTORY();
       
    67 
       
    68     if (![[NSFileManager defaultManager] fileExistsAtPath: weaponsDirectory]) {
       
    69         [[NSFileManager defaultManager] createDirectoryAtPath:weaponsDirectory
       
    70                                   withIntermediateDirectories:NO
       
    71                                                    attributes:nil
       
    72                                                         error:NULL];
       
    73     }
       
    74 
       
    75     NSDictionary *theWeapon = nil;
       
    76     switch (type) {
       
    77         case 0: //default
       
    78             theWeapon = [[NSDictionary alloc] initWithObjectsAndKeys:
       
    79                          @"9391929422199121032235111001201000000211110101011",@"ammostore_initialqt",
       
    80                          @"0405040541600655546554464776576666666155510101117",@"ammostore_probability",
       
    81                          @"0000000000000205500000040007004000000000200000000",@"ammostore_delay",
       
    82                          @"1311110312111111123114111111111111111211111101111",@"ammostore_crate", nil];
       
    83             break;
       
    84         case 1: //crazy
       
    85             theWeapon = [[NSDictionary alloc] initWithObjectsAndKeys:
       
    86                          @"9999999999999999992999999999999999299999999909999",@"ammostore_initialqt",
       
    87                          @"1111110111111111111111111111111111111111111101111",@"ammostore_probability",
       
    88                          @"0000000000000000000000000000000000000000000000000",@"ammostore_delay",
       
    89                          @"1311110312111111123114111111111111111211110101111",@"ammostore_crate", nil];
       
    90             break;
       
    91         case 2: //pro mode
       
    92             theWeapon = [[NSDictionary alloc] initWithObjectsAndKeys:
       
    93                          @"9090009000000000000009000000000000000000000000000",@"ammostore_initialqt",
       
    94                          @"0000000000000000000000000000000000000000000000000",@"ammostore_probability",
       
    95                          @"0000000000000205500000040007004000000000200000000",@"ammostore_delay",
       
    96                          @"1111111111111111111111111111111111111111100101111",@"ammostore_crate", nil];
       
    97             break;
       
    98         case 3: //shoppa
       
    99             theWeapon = [[NSDictionary alloc] initWithObjectsAndKeys:
       
   100                          @"0000009900000000000000000000000000000000000000000",@"ammostore_initialqt",
       
   101                          @"4444410044244402210112121222422000000002000400010",@"ammostore_probability",
       
   102                          @"0000000000000000000000000000000000000000000000000",@"ammostore_delay",
       
   103                          @"1111111111111111111111111111111111111111101101111",@"ammostore_crate", nil];
       
   104             break;
       
   105         case 4: //clean slate
       
   106             theWeapon = [[NSDictionary alloc] initWithObjectsAndKeys:
       
   107                          @"1010009000010000011000000000000000000000000000001",@"ammostore_initialqt",
       
   108                          @"0405040541600655546554464776576666666155510101117",@"ammostore_probability",
       
   109                          @"0000000000000205500000040007004000000000200000000",@"ammostore_delay",
       
   110                          @"1311110312111111123114111111111111111211111101111",@"ammostore_crate", nil];
       
   111             break;
       
   112         case 5: //minefield
       
   113             theWeapon = [[NSDictionary alloc] initWithObjectsAndKeys:
       
   114                          @"0000009900090000000300000000000000000000000000000",@"ammostore_initialqt",
       
   115                          @"0000000000000000000000000000000000000000000000000",@"ammostore_probability",
       
   116                          @"0000000000000205500000040007004000000000200000000",@"ammostore_delay",
       
   117                          @"1111111111111111111111111111111111111111111101111",@"ammostore_crate", nil];
       
   118             break;
       
   119         default:
       
   120             NSLog(@"Nope");
       
   121             break;
       
   122     }
       
   123 
       
   124     NSString *weaponFile = [[NSString alloc] initWithFormat:@"%@/%@.plist", weaponsDirectory, nameWithoutExt];
       
   125 
       
   126     [theWeapon writeToFile:weaponFile atomically:YES];
       
   127     [weaponFile release];
       
   128     [theWeapon release];
       
   129 }
       
   130 
       
   131 void createSchemeNamed (NSString *nameWithoutExt) {
       
   132     NSString *schemesDirectory = SCHEMES_DIRECTORY();
       
   133 
       
   134     if (![[NSFileManager defaultManager] fileExistsAtPath: schemesDirectory]) {
       
   135         [[NSFileManager defaultManager] createDirectoryAtPath:schemesDirectory
       
   136                                   withIntermediateDirectories:NO
       
   137                                                    attributes:nil
       
   138                                                         error:NULL];
       
   139     }
       
   140 
       
   141     NSMutableArray *basicArray  = [[NSMutableArray alloc] initWithObjects:
       
   142                                    [NSNumber numberWithInt:100],      //initialhealth
       
   143                                    [NSNumber numberWithInt:45],       //turntime
       
   144                                    [NSNumber numberWithInt:100],      //damagemodifier
       
   145                                    [NSNumber numberWithInt:15],       //suddendeathtimeout
       
   146                                    [NSNumber numberWithInt:47],       //waterrise
       
   147                                    [NSNumber numberWithInt:5],        //healthdecrease
       
   148                                    [NSNumber numberWithInt:5],        //cratedrops
       
   149                                    [NSNumber numberWithInt:35],       //healthprob
       
   150                                    [NSNumber numberWithInt:25],       //healthamount
       
   151                                    [NSNumber numberWithInt:3],        //minestime
       
   152                                    [NSNumber numberWithInt:4],        //minesnumber
       
   153                                    [NSNumber numberWithInt:0],        //dudmines
       
   154                                    [NSNumber numberWithInt:2],        //explosives
       
   155                                    nil];
       
   156 
       
   157     NSMutableArray *gamemodArray= [[NSMutableArray alloc] initWithObjects:
       
   158                                    [NSNumber numberWithBool:NO],      //fortmode
       
   159                                    [NSNumber numberWithBool:NO],      //divideteam
       
   160                                    [NSNumber numberWithBool:NO],      //solidland
       
   161                                    [NSNumber numberWithBool:NO],      //addborder
       
   162                                    [NSNumber numberWithBool:NO],      //lowgravity
       
   163                                    [NSNumber numberWithBool:NO],      //lasersight
       
   164                                    [NSNumber numberWithBool:NO],      //invulnerable
       
   165                                    [NSNumber numberWithBool:NO],      //resethealth
       
   166                                    [NSNumber numberWithBool:NO],      //vampirism
       
   167                                    [NSNumber numberWithBool:NO],      //karma
       
   168                                    [NSNumber numberWithBool:NO],      //artillery
       
   169                                    [NSNumber numberWithBool:YES],     //randomorder
       
   170                                    [NSNumber numberWithBool:NO],      //king
       
   171                                    [NSNumber numberWithBool:NO],      //placehedgehogs
       
   172                                    [NSNumber numberWithBool:NO],      //clansharesammo
       
   173                                    [NSNumber numberWithBool:NO],      //disablegirders
       
   174                                    [NSNumber numberWithBool:NO],      //disablelandobjects
       
   175                                    [NSNumber numberWithBool:NO],      //aisurvival
       
   176                                    [NSNumber numberWithBool:NO],      //infattack
       
   177                                    [NSNumber numberWithBool:NO],      //resetweaps
       
   178                                    [NSNumber numberWithBool:NO],      //perhogammo
       
   179                                    nil];
       
   180     
       
   181     NSMutableDictionary *theScheme = [[NSMutableDictionary alloc] initWithObjectsAndKeys:
       
   182                                       basicArray,@"basic",
       
   183                                       gamemodArray,@"gamemod",
       
   184                                       nil];
       
   185     [gamemodArray release];
       
   186     [basicArray release];
       
   187     
       
   188     NSString *schemeFile = [[NSString alloc] initWithFormat:@"%@/%@.plist", schemesDirectory, nameWithoutExt];
       
   189     
       
   190     [theScheme writeToFile:schemeFile atomically:YES];
       
   191     [schemeFile release];
       
   192     [theScheme release];
       
   193 }