5 // Created by Killery on 2012/12/15.
6 // Copyright (c) 2012年 Killery. All rights reserved.
11 @implementation MapView
13 - (id)initWithFrame:(NSRect)frame
15 self = [super initWithFrame:frame];
19 scheduledTimerWithTimeInterval:1.0/30
21 selector:@selector(EventLoop00:)
28 chip = [[self LoadImage:@"マス.png"] retain];
29 chip2 = [[self LoadImage:@"セレクター.png"] retain];
31 chip1A = [[self LoadImage:@"ccはた青.png"] retain];
32 chip2A = [[self LoadImage:@"ccはた青2.png"] retain];
33 chip3A = [[self LoadImage:@"ccはた赤.png"] retain];
34 chip4A = [[self LoadImage:@"ccはた赤2.png"] retain];
35 chip5A = [[self LoadImage:@"ccはた黄.png"] retain];
36 chip6A = [[self LoadImage:@"ccはた黄2.png"] retain];
38 chip1B = [[self LoadImage:@"cc旗青.png"] retain];
39 chip2B = [[self LoadImage:@"cc旗青2.png"] retain];
40 chip3B = [[self LoadImage:@"cc旗赤.png"] retain];
41 chip4B = [[self LoadImage:@"cc旗赤2.png"] retain];
42 chip5B = [[self LoadImage:@"cc旗黄.png"] retain];
43 chip6B = [[self LoadImage:@"cc旗黄2.png"] retain];
45 buildTeamImg[0] = chip1A;
46 buildTeamImg[1] = chip2A;
47 buildTeamImg[2] = chip3A;
48 buildTeamImg[3] = chip4A;
49 buildTeamImg[4] = chip5A;
50 buildTeamImg[5] = chip6A;
51 unitTeamImg[0] = chip1B;
52 unitTeamImg[1] = chip2B;
53 unitTeamImg[2] = chip3B;
54 unitTeamImg[3] = chip4B;
55 unitTeamImg[4] = chip5B;
56 unitTeamImg[5] = chip6B;
57 [self initMapChipFileDirectory];
59 for (int i = 0; i <= chipHeight;i++)
60 for (int j = 0;j<= chipWidth;j++)
64 NSRect seRect = NSMakeRect(0, 0, chipHeight*32, chipWidth*32);
65 [self setFrame:seRect];
77 -(void)EventLoopMapView{
80 static bool hiThereFlag = false;
81 if(oopsIsRightFlag && !hiThereFlag){
83 [self initMapChipFileDirectory];
87 if(saveMapChipFlag){saveMapChipFlag = false;
90 if(mapSizeChangedFlag){mapSizeChangedFlag = false;
93 seRect.size.height = chipHeight*32;
94 seRect.size.width = chipWidth*32;
96 [self setFrame:seRect];
98 if(initMapChipNumbFlag){initMapChipNumbFlag = false;
100 for(int i = 0;i <= chipWidth;i++){
101 for(int j = 0;j <= chipHeight;j++){
114 if(loadMapListSubmitFlag){loadMapListSubmitFlag = false;
118 seRect.size.height = chipHeight*32;
119 seRect.size.width = chipWidth*32;
120 [self setFrame:seRect];
123 if(EEGCslctFlag || eventPosFlag || EDbranchUnitFlag || EDbranchPlaceFlag || EDbranchObjeFlag || EDbranchBuildFlag){
124 static int clickFrame = 0;
125 if(clickUpCnt%2 == 1){
132 if(clickUpCnt%2 == 0 && clickFrame >0){
133 doubleClickedFlag = true;
138 if(EDappearFlag || EDappearPosFlag || EDdissappearPosFlag){
139 static int clickFrame = 0;
140 if(clickUpCnt%2 == 1){
147 if(clickUpCnt%2 == 0 && clickFrame >0){
148 doubleClickedFlag = true;
153 [self setNeedsDisplay:YES];
161 -(NSImage*)LoadImage:(NSString*)name{
162 NSImage *image = [NSImage imageNamed:name];
163 if(image == nil) return nil;
167 -(void)DrawImage:(NSImage*)image x:(float)x y:(float)y cx:(int)cx cy:(int)cy{
169 frRect.size.height = image.size.height;
170 frRect.size.width = image.size.width;
178 drRect.size.height = 32;
179 drRect.size.width = 32;
181 [image drawInRect:drRect fromRect:frRect operation:NSCompositeSourceOver fraction:1.0f respectFlipped:YES hints:nil];
185 -(void)DrawImage2:(NSImage*)image x:(float)x y:(float)y cx:(int)cx cy:(int)cy{
187 frRect.size.height = image.size.height;
188 frRect.size.width = image.size.width;
194 drRect.origin.x = x+16-4;
195 drRect.origin.y = y+16-4;
196 drRect.size.height = 16+4;
197 drRect.size.width = 16+4;
199 [image drawInRect:drRect fromRect:frRect operation:NSCompositeSourceOver fraction:1.0f respectFlipped:YES hints:nil];
203 -(void)mouseDown:(NSEvent *)theEvent{
204 drugPoint = [self convertPoint:[theEvent locationInWindow] fromView:nil];
206 posX = (int)drugPoint.x/32 + 1;
207 posY = (int)drugPoint.y/32 + 1;
209 eSlctX = (int)drugPoint.x/32 + 1;
210 eSlctY = (int)drugPoint.y/32 + 1;
212 if(EEGCslctFlag) return;
213 if(EDappearPosFlag) return;
214 if(EDdissappearPosFlag) return;
215 if(EDbranchUnitFlag) return;
216 if(EDbranchPlaceFlag) return;
217 if(EDbranchObjeFlag) return;
218 if(EDbranchBuildFlag) return;
219 if(eventPosFlag) return;
222 if(SLSx == 1 && SLCy == 0) buildNum[posX][posY] = -1;
223 if(SLSx == 2 && SLCy == 0) unitNum[posX][posY] = -1;
224 if(SLSx == 3 && SLCy == 0) loadNum[posX][posY] = -1;
225 if(SLSx == 0 && SLCy == 0) {buildTeam[posX][posY] = -1; unitTeam[posX][posY] = -1;}
227 if(SLSx == 0 && SLCy == 1) buildTeam[posX][posY] = SLindex;
228 else if(SLSx == 0 && SLCy == 2) unitTeam[posX][posY] = SLindex;
229 else if(SLSx == 0) chipNum[posX][posY] = SLindex;
230 if(SLSx == 1) buildNum[posX][posY] = SLindexB;
231 if(SLSx == 2) unitNum[posX][posY] = SLindexU;
232 if(SLSx == 3) loadNum[posX][posY] = SLindexL;
238 -(void)mouseUp:(NSEvent *)theEvent{
240 clickUpCnt = (int)[theEvent clickCount];
244 if([theEvent clickCount] == 2){
252 -(void)mouseDragged:(NSEvent *)theEvent{
253 drugPoint = [self convertPoint:[theEvent locationInWindow] fromView:nil];
255 posX = (int)drugPoint.x/32+1;
256 posY = (int)drugPoint.y/32+1;
258 if(EEGCslctFlag) return;
259 if(EDappearPosFlag) return;
260 if(EDdissappearPosFlag) return;
261 if(EDbranchUnitFlag) return;
262 if(EDbranchPlaceFlag) return;
263 if(EDbranchObjeFlag) return;
264 if(EDbranchBuildFlag) return;
265 if(eventPosFlag) return;
268 if(SLSx == 1 && SLCy == 0) buildNum[posX][posY] = -1;
269 if(SLSx == 2 && SLCy == 0) unitNum[posX][posY] = -1;
270 if(SLSx == 3 && SLCy == 0) loadNum[posX][posY] = -1;
271 if(SLSx == 0 && SLCy == 0) {buildTeam[posX][posY] = -1; unitTeam[posX][posY] = -1;}
274 if(SLSx == 0 && SLCy == 1) buildTeam[posX][posY] = SLindex;
275 else if(SLSx == 0 && SLCy == 2) unitTeam[posX][posY] = SLindex;
276 else if(SLSx == 0) chipNum[posX][posY] = SLindex;
277 if(SLSx == 1) buildNum[posX][posY] = SLindexB;
278 if(SLSx == 2) unitNum[posX][posY] = SLindexU;
279 if(SLSx == 3) loadNum[posX][posY] = SLindexL;
284 - (void)drawRect:(NSRect)dirtyRect
287 for(bx=1;bx<=chipWidth;bx++){
288 for(by=1;by<=chipHeight;by++){
289 [self DrawImage:chip x:(bx-1)*32 y:(by-1)*32 cx:bx cy:by];
290 [self DrawImage:MC[chipNum[bx][by]].img x:(bx-1)*32 y:(by-1)*32 cx:bx cy:by];
291 if(buildNum[bx][by] >= 0) [self DrawImage:BC[buildNum[bx][by]].img x:(bx-1)*32 y:(by-1)*32 cx:bx cy:by];
292 if(loadNum[bx][by] >= 0) [self DrawImage:LC[loadNum[bx][by]].img x:(bx-1)*32 y:(by-1)*32 cx:bx cy:by];
293 if(loadNum[bx][by] < 0)
294 if(unitNum[bx][by] >= 0) [self DrawImage:UC[unitNum[bx][by]].img x:(bx-1)*32 y:(by-1)*32 cx:bx cy:by];
295 if(loadNum[bx][by] >= 0)
296 if(unitNum[bx][by] >= 0) [self DrawImage2:UC[unitNum[bx][by]].img x:(bx-1)*32 y:(by-1)*32 cx:bx cy:by];
298 if(buildTeam[bx][by] >= 0) [self DrawImage:buildTeamImg[buildTeam[bx][by]] x:(bx-1)*32 y:(by-1)*32 cx:bx cy:by];
299 if(unitTeam[bx][by] >= 0) [self DrawImage:unitTeamImg[unitTeam[bx][by]] x:(bx-1)*32 y:(by-1)*32 cx:bx cy:by];
301 //if(waypR[bx][by] != 999 && waypR[bx][by] > 0) [self DrawImage:chip x:(bx-1)*32 y:(by-1)*32 cx:bx cy:by];
306 if(EEGCslctFlag) [self DrawImage:chip2 x:(eSlctX - 1)*32 y:(eSlctY -1)*32 cx:0 cy:0];
307 if(eventPosFlag) [self DrawImage:chip2 x:(eSlctX - 1)*32 y:(eSlctY -1)*32 cx:0 cy:0];
308 if(EDappearPosFlag) [self DrawImage:chip2 x:(eSlctX - 1)*32 y:(eSlctY -1)*32 cx:0 cy:0];
309 if(EDdissappearPosFlag) [self DrawImage:chip2 x:(eSlctX - 1)*32 y:(eSlctY -1)*32 cx:0 cy:0];
310 if(EDbranchUnitFlag) [self DrawImage:chip2 x:(eSlctX - 1)*32 y:(eSlctY -1)*32 cx:0 cy:0];
311 if(EDbranchPlaceFlag) [self DrawImage:chip2 x:(eSlctX - 1)*32 y:(eSlctY -1)*32 cx:0 cy:0];
312 if(EDbranchPlaceKukei2Flag) [self DrawImage:chip x:(eSlctX - 1)*32 y:(eSlctY -1)*32 cx:0 cy:0];
313 if(EDbranchObjeFlag) [self DrawImage:chip2 x:(eSlctX - 1)*32 y:(eSlctY -1)*32 cx:0 cy:0];
314 if(EDbranchBuildFlag) [self DrawImage:chip2 x:(eSlctX - 1)*32 y:(eSlctY -1)*32 cx:0 cy:0];
318 [self DrawImage:chip2 x:(eSlctX - 1)*32 y:(eSlctY -1)*32 cx:0 cy:0];
321 -(void)initMapChipFileDirectory{
322 NSString *directoryPath = [[[NSBundle mainBundle] bundlePath] stringByDeletingLastPathComponent];
323 [[NSFileManager defaultManager] changeCurrentDirectoryPath:directoryPath];
325 NSData *InitialData = [NSData dataWithContentsOfFile:@"Map/preset.txt"];
327 NSString *path = @"Map";
328 NSString *pathDATA = @"Map/_MAP_CLEAR.txt";
329 NSString *fileData = nil;
332 [[NSFileManager defaultManager] createDirectoryAtPath:path withIntermediateDirectories:YES attributes:nil error:nil];
333 [[NSFileManager defaultManager] createFileAtPath:pathDATA contents:nil attributes:nil];
337 @"00,00,00,00,00,00,00,00,00,00,00,00,00,00,00\n"
338 @"00,00,00,00,00,00,00,00,00,00,00,00,00,00,00\n"
339 @"00,00,00,00,00,00,00,00,00,00,00,00,00,00,00\n"
340 @"00,00,00,00,00,00,00,00,00,00,00,00,00,00,00\n"
341 @"00,00,00,00,00,00,00,00,00,00,00,00,00,00,00\n"
342 @"00,00,00,00,00,00,00,00,00,00,00,00,00,00,00\n"
343 @"00,00,00,00,00,00,00,00,00,00,00,00,00,00,00\n"
344 @"00,00,00,00,00,00,00,00,00,00,00,00,00,00,00\n"
345 @"00,00,00,00,00,00,00,00,00,00,00,00,00,00,00\n"
346 @"00,00,00,00,00,00,00,00,00,00,00,00,00,00,00\n"
347 @"00,00,00,00,00,00,00,00,00,00,00,00,00,00,00\n"
348 @"00,00,00,00,00,00,00,00,00,00,00,00,00,00,00\n"
349 @"00,00,00,00,00,00,00,00,00,00,00,00,00,00,00\n"
350 @"00,00,00,00,00,00,00,00,00,00,00,00,00,00,00\n"
351 @"00,00,00,00,00,00,00,00,00,00,00,00,00,00,00\n"
353 @"00,00,00,00,00,00,00,00,00,00,00,00,00,00,00\n"
354 @"00,00,00,00,00,00,00,00,00,00,00,00,00,00,00\n"
355 @"00,00,00,00,00,00,00,00,00,00,00,00,00,00,00\n"
356 @"00,00,00,00,00,00,00,00,00,00,00,00,00,00,00\n"
357 @"00,00,00,00,00,00,00,00,00,00,00,00,00,00,00\n"
358 @"00,00,00,00,00,00,00,00,00,00,00,00,00,00,00\n"
359 @"00,00,00,00,00,00,00,00,00,00,00,00,00,00,00\n"
360 @"00,00,00,00,00,00,00,00,00,00,00,00,00,00,00\n"
361 @"00,00,00,00,00,00,00,00,00,00,00,00,00,00,00\n"
362 @"00,00,00,00,00,00,00,00,00,00,00,00,00,00,00\n"
363 @"00,00,00,00,00,00,00,00,00,00,00,00,00,00,00\n"
364 @"00,00,00,00,00,00,00,00,00,00,00,00,00,00,00\n"
365 @"00,00,00,00,00,00,00,00,00,00,00,00,00,00,00\n"
366 @"00,00,00,00,00,00,00,00,00,00,00,00,00,00,00\n"
367 @"00,00,00,00,00,00,00,00,00,00,00,00,00,00,00\n"
374 @"0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0\n"
376 @"0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0\n"
386 @"0,0,0,0,0,0,0,0,0\n"
394 fileData = [NSString stringWithFormat:@"%@", data2];
396 [fileData writeToFile:pathDATA atomically:YES encoding:NSUTF8StringEncoding error:nil];
399 for(int i = 0;i<=1000;i++){
400 for(int j = 0;j<= 1000;j++){
405 buildTeam[i][j] = -1;
410 fileData = [NSString stringWithContentsOfFile:pathDATA encoding:NSUTF8StringEncoding error:nil];
411 fileDataArray = [fileData componentsSeparatedByString:@"\n"];
414 int chipIndexDelta = 0;
415 int chipIndexDelta2 = 0;
417 NSLog(@"fileDataArray Count:%d", (int)[fileDataArray count]);
421 for(int i=1;i <= [fileDataArray count];i++){indexCnt++;
422 if([fileDataArray objectAtIndex:0] == NULL) break;
423 NSArray *items = [[fileDataArray objectAtIndex:i-1] componentsSeparatedByString:@","];
425 NSRange rangeSearch = [[items objectAtIndex:0] rangeOfString:@"####"];
427 if(rangeSearch.location != NSNotFound){
432 if(chipType == 0){chipIndexDelta++;
433 for(int j=1;j <= [items count] && [items count] >= 2;j++){
434 chipNum[j][i] = [[items objectAtIndex:j-1] intValue];
435 chipWidth = (int)[items count];
436 chipHeight = chipIndexDelta;
438 }else if(chipType == 1){chipIndexDelta2++;
439 for(int j=1;j <= [items count] && [items count] >= 2;j++){
440 buildNum[j][i - chipIndexDelta-1] = [[items objectAtIndex:j-1] intValue]-1;
442 }else if(chipType == 2){
443 for(int j=1;j <= [items count] && [items count] >= 2;j++){
444 unitNum[[[items objectAtIndex:1] intValue]][[[items objectAtIndex:2] intValue]] = [[items objectAtIndex:0] intValue]-1;
446 }else if(chipType == 3){
447 for(int j=1;j <= [items count] && [items count] >= 2;j++){
448 buildTeam[[[items objectAtIndex:1] intValue]][[[items objectAtIndex:2] intValue]] = [[items objectAtIndex:0] intValue];
450 }else if(chipType == 4){
451 for(int j=1;j <= [items count] && [items count] >= 2;j++){
452 unitTeam[[[items objectAtIndex:1] intValue]][[[items objectAtIndex:2] intValue]] = [[items objectAtIndex:0] intValue];
454 }else if(chipType == 5){
455 for(int j=1;j <= [items count] && [items count] >= 2;j++){
456 loadNum[[[items objectAtIndex:1] intValue]][[[items objectAtIndex:2] intValue]] = [[items objectAtIndex:0] intValue]-1;
460 NSRange rangeSearch2 = [[items objectAtIndex:0] rangeOfString:@"----"];
462 if(rangeSearch2.location != NSNotFound){
468 mapSizeChangedFlag = true;
472 NSString *directoryPath = [[[NSBundle mainBundle] bundlePath] stringByDeletingLastPathComponent];
473 [[NSFileManager defaultManager] changeCurrentDirectoryPath:directoryPath];
475 NSString *fileData = @"";
476 NSString *pathDATA = @"Map/";
479 for(int i = 0;i<=1000;i++){
480 for(int j = 0;j<= 1000;j++){
485 buildTeam[i][j] = -1;
490 pathDATA = [pathDATA stringByAppendingFormat:@"%@", MF[MFselectedRow+1].fileName];
491 }else if(mapInitFlag){
492 pathDATA = [[pathDATA stringByAppendingFormat:@"%@", [SC[storyNumb].nameMAP objectAtIndex:scenarioNumb]] retain];
495 NSLog(@"%@", pathDATA);
497 fileData = [NSString stringWithContentsOfFile:pathDATA encoding:NSUTF8StringEncoding error:nil];
498 fileDataArray = [fileData componentsSeparatedByString:@"\n"];
502 for (int i = 1;i < 512;i++) {
503 if([[SC[storyNumb].nameMAP objectAtIndex:scenarioNumb] isEqualToString:[NSString stringWithFormat:@"%@", MF[i].fileName]])
510 mapChipDataLoadFail = true;
515 int chipIndexDelta = 0;
516 int chipIndexDelta2 = 0;
518 NSLog(@"fileDataArray Count:%d", (int)[fileDataArray count]);
522 for(int i=1;i <= [fileDataArray count];i++){indexCnt++;
523 if([fileDataArray objectAtIndex:0] == NULL) break;
524 NSArray *items = [[fileDataArray objectAtIndex:i-1] componentsSeparatedByString:@","];
526 NSRange rangeSearch = [[items objectAtIndex:0] rangeOfString:@"####"];
528 if(rangeSearch.location != NSNotFound){
533 if(chipType == 0){chipIndexDelta++;
534 for(int j=1;j <= [items count] && [items count] >= 2;j++){
535 chipNum[j][i] = [[items objectAtIndex:j-1] intValue];
536 chipWidth = (int)[items count];
537 chipHeight = chipIndexDelta;
539 }else if(chipType == 1){chipIndexDelta2++;
540 for(int j=1;j <= [items count] && [items count] >= 2;j++){
541 buildNum[j][i - chipIndexDelta-1] = [[items objectAtIndex:j-1] intValue]-1;
543 }else if(chipType == 2){
544 for(int j=1;j <= [items count] && [items count] >= 2;j++){
545 unitNum[[[items objectAtIndex:1] intValue]][[[items objectAtIndex:2] intValue]] = [[items objectAtIndex:0] intValue]-1;
547 }else if(chipType == 3){
548 for(int j=1;j <= [items count] && [items count] >= 2;j++){
549 buildTeam[[[items objectAtIndex:1] intValue]][[[items objectAtIndex:2] intValue]] = [[items objectAtIndex:0] intValue];
551 }else if(chipType == 4){
552 for(int j=1;j <= [items count] && [items count] >= 2;j++){
553 unitTeam[[[items objectAtIndex:1] intValue]][[[items objectAtIndex:2] intValue]] = [[items objectAtIndex:0] intValue];
555 }else if(chipType == 5){
556 for(int j=1;j <= [items count] && [items count] >= 2;j++){
557 loadNum[[[items objectAtIndex:1] intValue]][[[items objectAtIndex:2] intValue]] = [[items objectAtIndex:0] intValue]-1;
561 NSRange rangeSearch2 = [[items objectAtIndex:0] rangeOfString:@"----"];
563 if(rangeSearch2.location != NSNotFound){
568 //NSLog(@"%d", unitNum[1][1]);
570 NSArray *items00 = [[fileDataArray objectAtIndex:indexCnt] componentsSeparatedByString:@","];
572 MF[MFselectedRow+1].MS.guildListRegistNum11 = [[items00 objectAtIndex:0] intValue];
573 MF[MFselectedRow+1].MS.guildListRegistNum12 = [[items00 objectAtIndex:1] intValue];
577 NSArray *items0 = [[fileDataArray objectAtIndex:indexCnt] componentsSeparatedByString:@","];
579 for(int i = 0;i < [items0 count];i++){
580 MF[MFselectedRow+1].MS.guildListRegist[i] = [[items0 objectAtIndex:i] intValue];
585 items00 = [[fileDataArray objectAtIndex:indexCnt] componentsSeparatedByString:@","];
587 MF[MFselectedRow+1].MS.guildListRegistNum21 = [[items00 objectAtIndex:0] intValue];
588 MF[MFselectedRow+1].MS.guildListRegistNum22 = [[items00 objectAtIndex:1] intValue];
592 items0 = [[fileDataArray objectAtIndex:indexCnt] componentsSeparatedByString:@","];
594 for(int i = 0;i < [items0 count];i++){
595 MF[MFselectedRow+1].MS.guildListRegist2[i] = [[items0 objectAtIndex:i] intValue];
602 bool EGdarkFlag = false;
607 for(int i = indexCnt;i < [fileDataArray count];i++){
608 NSArray *items = [[fileDataArray objectAtIndex:i] componentsSeparatedByString:@"|"];
611 NSRange rangeSearch = [[items objectAtIndex:0] rangeOfString:@"####"];
613 if(rangeSearch.location != NSNotFound){
621 MF[MFselectedRow+1].MS.EGClight.endType1 = [[items objectAtIndex:0] intValue];
622 MF[MFselectedRow+1].MS.EGClight.endType2 = [[items objectAtIndex:1] intValue];
623 }else if(EGcnt == 2){
624 for(int k = 0;k < 64;k++){
625 if(k > [items count]-1) break;
626 if([[items objectAtIndex:k] isEqualToString:@"NULL"]) break;
627 MF[MFselectedRow+1].MS.EGClight.etValue1[k] = [[items objectAtIndex:k] retain];
629 }else if(EGcnt == 3){
630 for(int k = 0;k < 64;k++){
631 if(k > [items count]-1) break;
632 if([[items objectAtIndex:k] isEqualToString:@"NULL"]) break;
633 MF[MFselectedRow+1].MS.EGClight.etValue2[k] = [[items objectAtIndex:k] retain];
639 MF[MFselectedRow+1].MS.EGCdark.endType1 = [[items objectAtIndex:0] intValue];
640 MF[MFselectedRow+1].MS.EGCdark.endType2 = [[items objectAtIndex:1] intValue];
641 }else if(EGcnt == 2){
642 for(int k = 0;k < 64;k++){
643 if(k > [items count]-1) break;
644 if([[items objectAtIndex:k] isEqualToString:@"NULL"]) break;
645 MF[MFselectedRow+1].MS.EGCdark.etValue1[k] = [[items objectAtIndex:k] retain];
647 }else if(EGcnt == 3){
648 for(int k = 0;k < 64;k++){
649 if(k > [items count]-1) break;
650 if([[items objectAtIndex:k] isEqualToString:@"NULL"]) break;
651 MF[MFselectedRow+1].MS.EGCdark.etValue2[k] = [[items objectAtIndex:k] retain];
659 if([[fileDataArray objectAtIndex:i] isEqualToString:@"----"])
665 NSArray *items = [[fileDataArray objectAtIndex:indexCnt] componentsSeparatedByString:@","];
667 playerSet1 = [[items objectAtIndex:0] intValue];
668 playerSet2 = [[items objectAtIndex:1] intValue];
669 battleSetMode = [[items objectAtIndex:2] intValue];
671 MF[MFselectedRow+1].MS.playerSet1 = playerSet1;
672 MF[MFselectedRow+1].MS.playerSet2 = playerSet2;
673 MF[MFselectedRow+1].MS.battleSetMode = battleSetMode;
675 if([items count] > 3){
676 scenarioSetMode = [[items objectAtIndex:3] intValue];
677 scenarioNumbCrnt = [[items objectAtIndex:4] intValue];
678 scenarioNumbNext = [[items objectAtIndex:5] intValue];
679 MF[MFselectedRow+1].MS.scenarioSetMode = scenarioSetMode;
680 MF[MFselectedRow+1].MS.scenarioNumbCrnt = scenarioNumbCrnt;
681 MF[MFselectedRow+1].MS.scenarioNumbNext = scenarioNumbNext;
684 if([items count] > 6){
685 employAllowedFlag = [[items objectAtIndex:6] intValue];
686 buildAllowedFlag = [[items objectAtIndex:7] intValue];
687 summonAllowedFlag = [[items objectAtIndex:8] intValue];
688 MF[MFselectedRow+1].MS.employAllowedFlag = employAllowedFlag;
689 MF[MFselectedRow+1].MS.buildAllowedFlag = buildAllowedFlag;
690 MF[MFselectedRow+1].MS.summonAllowedFlag = summonAllowedFlag;
692 employAllowedFlag = true;
693 buildAllowedFlag = true;
694 summonAllowedFlag = true;
695 MF[MFselectedRow+1].MS.employAllowedFlag = employAllowedFlag;
696 MF[MFselectedRow+1].MS.buildAllowedFlag = buildAllowedFlag;
697 MF[MFselectedRow+1].MS.summonAllowedFlag = summonAllowedFlag;
700 MAPSCRIPT MS = MF[MFselectedRow+1].MS;
701 [MS.SCRPTname removeAllObjects];
702 MAPSCRIPTD *MSDtop = NULL;
703 MAPSCRIPT0 *MSDPtop = NULL;
705 fileData = [NSString stringWithContentsOfFile:pathDATA encoding:NSUTF8StringEncoding error:nil];
706 fileDataArray = [fileData componentsSeparatedByString:@"========\nEVENT\n========\n"];
708 NSString *fileData2 = [fileDataArray objectAtIndex:1];
710 fileDataArray = [fileData2 componentsSeparatedByString:@"\n"];
715 static bool supFlag = false;
716 static bool supFlag2 = false;
717 static bool asdflag = false;
719 for (int i = 0;i < [fileDataArray count]; i++) {
720 NSArray *items = [[fileDataArray objectAtIndex:i] componentsSeparatedByString:@","];
722 if(i + 1 < [fileDataArray count])
723 items9 = [[fileDataArray objectAtIndex:i+1] componentsSeparatedByString:@"\n"];
724 NSRange rangeSearch = [[fileDataArray objectAtIndex:i] rangeOfString:@"●"];
725 NSArray *array3 = [[fileDataArray objectAtIndex:i] componentsSeparatedByString:@"◆"];
726 NSString *string2 = [NSString stringWithFormat:@"%@◆", [array3 objectAtIndex:0]];
727 NSRange rangeSearch2 = [[fileDataArray objectAtIndex:i] rangeOfString:string2];
728 static int pussyCnt = 0;
729 static int mankoCnt = 0;
730 static int analCnt = 0;
731 static int feraCnt = 0;
732 static int gimmetrow = 0;
737 if (rangeSearch.location == !NSNotFound) {
740 //MS.D->P->S1.str = [MS.D->P->S1.str substringToIndex:MS.D->P->S1.str.length-3];
743 MS.D->next = calloc(1, sizeof(MAPSCRIPTD));
749 MS.D = calloc(1, sizeof(MAPSCRIPTD));
751 MS.SCRPTname = [NSMutableArray new];
761 NSArray *items2 = [[fileDataArray objectAtIndex:i] componentsSeparatedByString:@" "];
762 NSString *string = [[items2 objectAtIndex:0] substringFromIndex:1];
764 [MS.SCRPTname addObject:string];
766 if([items2 count] >= 2){
767 NSArray *items3 = [[items2 objectAtIndex:1] componentsSeparatedByString:@"["];
768 MS.D->type = [[items3 objectAtIndex:0] intValue];
769 NSArray *items4 = [[items3 objectAtIndex:1] componentsSeparatedByString:@","];
770 MS.D->x = [[items4 objectAtIndex:0] intValue];
771 MS.D->y = [[items4 objectAtIndex:1] intValue];
773 NSArray *items100 = [[items2 objectAtIndex:1] componentsSeparatedByString:@"ET["];
774 if([items100 count] > 1){
775 NSArray *items102 = [[items100 objectAtIndex:0] componentsSeparatedByString:@"]"];
776 MS.D->ETtype = [[items102 objectAtIndex:1] intValue];
777 NSArray *items101 = [[items100 objectAtIndex:1] componentsSeparatedByString:@","];
778 MS.D->ET1 = [[items101 objectAtIndex:0] doubleValue];
779 MS.D->ET2 = [[items101 objectAtIndex:1] doubleValue];
780 if([items101 count] > 2) MS.D->onlyInitialDeley = [[items101 objectAtIndex:2] intValue];
784 NSArray *items51 = [[items2 objectAtIndex:1] componentsSeparatedByString:@"ON["];
785 if([items51 count] > 1){
786 NSArray *items5 = [[items51 objectAtIndex:1] componentsSeparatedByString:@"OFF["];
787 NSArray *items6 = [[items5 objectAtIndex:0] componentsSeparatedByString:@","];
788 if([items6 objectAtIndex:0] > 0){
789 if([items6 count] > 0 && [items6 objectAtIndex:0] > 0)
790 MS.D->switch1 = calloc([items6 count], sizeof(int));
791 MS.D->switch1f = true;
792 for (int i = 0;[items6 count] > i && [[items6 objectAtIndex:i] intValue] > 0;i++) {
793 *(MS.D->switch1+i) = [[items6 objectAtIndex:i] intValue];
798 NSArray *items7 = [[items2 objectAtIndex:1] componentsSeparatedByString:@"OFF["];
799 if([items7 count] > 1){
800 NSArray *items8 = [[items7 objectAtIndex:1] componentsSeparatedByString:@","];
801 if([items8 objectAtIndex:0] > 0){
802 if([items8 count] > 0 && [items8 objectAtIndex:0] > 0)
803 MS.D->switch2 = calloc([items8 count], sizeof(int));
804 MS.D->switch2f = true;
805 for (int i = 0;[items8 count] > i && [[items8 objectAtIndex:i] intValue] > 0;i++) {
806 *(MS.D->switch2+i) = [[items8 objectAtIndex:i] intValue];
810 //NSLog(@"OMG %d,%d,%d", MS.D->type,MS.D->x,MS.D->y);
817 static MAPSCRIPT2 *MS2T = NULL;
818 static UNIT2 *sjt = NULL;
819 static PLACEMENT *wpt = NULL;
820 static UNIT2 *ojt = NULL;
821 static BUILD2 *bdt = NULL;
822 if (rangeSearch2.location == !NSNotFound) {
829 if(MS.D->P) MS.D->P->S2 = MS2T;
830 if(MS.D->P) MS.D->P->S4.subj = sjt;
831 if(MS.D->P) MS.D->P->S4.wayp = wpt;
832 if(MS.D->P) MS.D->P->S4.obje = ojt;
833 if(MS.D->P) MS.D->P->S4.build = bdt;
842 MS.D->SCRPT = [NSMutableArray new];
847 MS.D->SCRPT = [NSMutableArray new];
853 MS.D->P = calloc(1, sizeof(MAPSCRIPT0));
856 MS.D->SCRPT = [NSMutableArray new];
859 MS.D->P->next = calloc(1, sizeof(MAPSCRIPT0));
860 MS.D->P->next->S2 = NULL;
861 MS.D->P = MS.D->P->next;
862 MS.D->P->next = NULL;
865 NSArray *items0 = [[items objectAtIndex:0] componentsSeparatedByString:@"◆"];
867 indent = [[items0 objectAtIndex:0] intValue];
868 MS.D->P->type = [[items0 objectAtIndex:1] intValue];
871 if(MS.D->P->type == 0){
872 MS.D->P->indent = indent;
873 MS.D->P->S1.nameID = [[items objectAtIndex:1] retain];
874 MS.D->P->S1.name = [[items objectAtIndex:2] retain];
875 MS.D->P->S1.iName = [[items objectAtIndex:3] retain];
876 for(int k = 0; k < UCN;k++){
877 if(MS.D->P->S1.nameID)
878 if([MS.D->P->S1.nameID isEqualToString:UC[k].nameID]){
879 MS.D->P->S1.img = [UC[k].imgb retain];
883 for(int k = 0; k < LCN;k++){
884 if(MS.D->P->S1.nameID)
885 if([MS.D->P->S1.nameID isEqualToString:LC[k].nameID]){
886 MS.D->P->S1.img = [UC[k].imgb retain];
892 if(MS.D->P->S1.nameID)
893 if([MS.D->P->S1.nameID isEqualToString:EIMG->name]){
894 MS.D->P->S1.img = [EIMG->img retain];
900 [MS.D->SCRPT addObject:@"◆文章の表示"];
901 if(![MS.D->P->S1.name isEqualToString:@""])
902 [MS.D->SCRPT addObject:[NSString stringWithFormat:@"%@:", MS.D->P->S1.name]];
904 if(MS.D->P->type == 1){
905 [MS.D->SCRPT addObject:@"◆選択肢の表示"];
907 }if(MS.D->P->type == 22){
908 [MS.D->SCRPT addObject:@"◆ユニット出現"];
909 }if(MS.D->P->type == 23){
910 [MS.D->SCRPT addObject:@"◆ユニット消去"];
914 if(MS.D->P->type == 3){
915 MS.D->P->indent = indent;
916 if([[items objectAtIndex:1] isEqualToString:@"ON"]){
917 MSDPONOFFFlagNum = 1;
919 if([[items objectAtIndex:1] isEqualToString:@"OFF"]){
920 MSDPONOFFFlagNum = 2;
925 if(MSDPONOFFFlagNum == 1) string = @"ON";
926 if(MSDPONOFFFlagNum == 2) string = @"OFF";
928 [MS.D->SCRPT addObject:[NSString stringWithFormat:@"◆スイッチの操作%@", string]];
930 if(MS.D->P->type == 5){
931 MS.D->P->indent = indent;
933 NSArray *items10 = [[items9 objectAtIndex:0] componentsSeparatedByString:@","];
935 MS.D->P->timerFlag = true;
936 MS.D->P->timerMin = [[items10 objectAtIndex:0] intValue];
937 MS.D->P->timerSec = [[items10 objectAtIndex:1] intValue];
938 MS.D->P->timerRun = [[items10 objectAtIndex:2] intValue];
939 MS.D->P->timerMode = [[items10 objectAtIndex:3] intValue];
940 MS.D->P->timerVisible = [[items10 objectAtIndex:4] intValue];
942 [MS.D->SCRPT addObject:[NSString stringWithFormat:@"◆タイマーの操作"]];
945 if(MS.D->P->timerRun) timerRun = [@"始動" retain];
946 else timerRun = [@"停止" retain];
948 if(MS.D->P->timerMode) timerMode = [@"足す" retain];
949 else timerMode = [@"引く" retain];
950 NSString *timerVisible;
951 if(MS.D->P->timerVisible) timerVisible = [@"表示" retain];
952 else timerVisible = [@"非表示" retain];
954 if(![MS.D->P->label isEqualToString:@""])
955 [MS.D->SCRPT addObject:[NSString stringWithFormat:@"%d分%d秒 %@ %@ %@",MS.D->P->timerMin, MS.D->P->timerSec, timerRun, timerMode, timerVisible]];
956 }if(MS.D->P->type == 6){
957 MS.D->P->indent = indent;
959 NSArray *item100 = [[fileDataArray objectAtIndex:i] componentsSeparatedByString:@","];
960 MS.D->P->S4.COMPrabel = [[item100 objectAtIndex:1] retain];
961 MS.D->P->S4.FAILrabel = [[item100 objectAtIndex:2] retain];
963 NSArray *item101 = [[fileDataArray objectAtIndex:i+1] componentsSeparatedByString:@","];
964 MS.D->P->S4.suicchiFlag = [[item101 objectAtIndex:0] intValue];
965 MS.D->P->S4.suicchiONOFF = [[item101 objectAtIndex:1] intValue];
968 NSArray *item102 = [[fileDataArray objectAtIndex:i+2] componentsSeparatedByString:@","];
970 if(MS.D->P->S4.suicchiFlag)
971 for (int i = 0; [item102 count] > i;i++) {
973 MS.D->P->S4.suicchi = calloc([item102 count], sizeof(int));
975 *(MS.D->P->S4.suicchi + i) = [[item102 objectAtIndex:i] intValue];
978 NSArray *item103 = [[fileDataArray objectAtIndex:i+3] componentsSeparatedByString:@","];
979 MS.D->P->S4.hensuFlag = [[item103 objectAtIndex:0] intValue];
980 MS.D->P->S4.hensu1 = [[item103 objectAtIndex:1] intValue];
981 MS.D->P->S4.teisuFlag = [[item103 objectAtIndex:2] intValue];
982 MS.D->P->S4.teisuValue = [[item103 objectAtIndex:3] intValue];
983 MS.D->P->S4.hensu2flag = [[item103 objectAtIndex:4] intValue];
984 MS.D->P->S4.hensu2 = [[item103 objectAtIndex:5] intValue];
985 MS.D->P->S4.hensuType = [[item103 objectAtIndex:6] intValue];
987 NSArray *item104 = [[fileDataArray objectAtIndex:i+4] componentsSeparatedByString:@","];
988 MS.D->P->S4.timerFlag = [[item104 objectAtIndex:0] intValue];
989 MS.D->P->S4.timerMin = [[item104 objectAtIndex:1] intValue];
990 MS.D->P->S4.timerSec = [[item104 objectAtIndex:2] intValue];
991 MS.D->P->S4.timerType = [[item104 objectAtIndex:3] intValue];
993 NSArray *item105 = [[fileDataArray objectAtIndex:i+5] componentsSeparatedByString:@","];
994 MS.D->P->S4.unitNumFlag = [[item105 objectAtIndex:0] intValue];
995 MS.D->P->S4.unitTypeFlag = [[item105 objectAtIndex:1] intValue];
996 MS.D->P->S4.placeFlag = [[item105 objectAtIndex:2] intValue];
997 MS.D->P->S4.unitCMDflag = [[item105 objectAtIndex:3] intValue];
998 MS.D->P->S4.objeFlag = [[item105 objectAtIndex:4] intValue];
999 MS.D->P->S4.buildFlag = [[item105 objectAtIndex:5] intValue];
1001 NSArray *item106 = [[fileDataArray objectAtIndex:i+6] componentsSeparatedByString:@","];
1002 MS.D->P->S4.team = [[item106 objectAtIndex:0] intValue];
1003 MS.D->P->S4.unitNum = [[item106 objectAtIndex:1] intValue];
1004 MS.D->P->S4.unitType = [[item106 objectAtIndex:2] intValue];
1005 MS.D->P->S4.unitCMD = [[item106 objectAtIndex:3] intValue];
1006 MS.D->P->S4.objeRange = [[item106 objectAtIndex:4] intValue];
1010 [MS.D->SCRPT addObject:[NSString stringWithFormat:@"◆条件分岐"]];
1012 NSString *str = [NSString stringWithFormat:@"ジャンプ 真
\b\b:%@ 偽:%@", MS.D->P->S4.COMPrabel,MS.D->P->S4.FAILrabel];
1014 [MS.D->SCRPT addObject:str];
1016 if(MS.D->P->S4.suicchiFlag){
1017 NSString *string = @"";
1018 if(MS.D->P->S4.suicchiONOFF == 0)
1019 string = [string stringByAppendingFormat:@"スイッチON"];
1021 string = [string stringByAppendingFormat:@"スイッチOFF"];
1023 if(MS.D->P->S4.suicchi)
1024 for (int i = 0;*(MS.D->P->S4.suicchi + i);i++) {
1026 string = [string stringByAppendingFormat:@","];
1027 string = [string stringByAppendingFormat:@"%d",*(MS.D->P->S4.suicchi + i)];
1029 [MS.D->SCRPT addObject:string];
1031 if(MS.D->P->S4.hensuFlag){
1032 NSString *string = @"変数";
1034 string = [string stringByAppendingFormat:@"%dが", MS.D->P->S4.hensu1];
1036 if(MS.D->P->S4.teisuFlag == 0)
1037 string = [string stringByAppendingFormat:@""];
1039 string = [string stringByAppendingFormat:@"定数%d", MS.D->P->S4.teisuValue];
1041 if(MS.D->P->S4.hensu2flag == 0)
1042 string = [string stringByAppendingFormat:@""];
1044 string = [string stringByAppendingFormat:@"変数%d", MS.D->P->S4.hensu2];
1047 if(MS.D->P->S4.hensuType == 0) {
1048 string = [string stringByAppendingFormat:@"と同値"];
1051 }else if(MS.D->P->S4.hensuType == 1){
1052 string = [string stringByAppendingFormat:@"以上"];
1053 }else if(MS.D->P->S4.hensuType == 2){
1054 string = [string stringByAppendingFormat:@"以下"];
1055 }else if(MS.D->P->S4.hensuType == 3){
1056 string = [string stringByAppendingFormat:@"超"];
1057 }else if(MS.D->P->S4.hensuType == 4){
1058 string = [string stringByAppendingFormat:@"未満"];
1059 }else if(MS.D->P->S4.hensuType == 5){
1060 string = [string stringByAppendingFormat:@"以外"];
1062 if(MS.D->P->S4.teisuFlag == 0 && MS.D->P->S4.hensu2flag == 0){
1063 string = [NSString stringWithFormat:@""];
1065 [MS.D->SCRPT addObject:string];
1070 if(MS.D->P->S4.timerFlag){
1071 NSString *string = [NSString stringWithFormat:@"タイマーが"];
1072 string = [string stringByAppendingFormat:@"%d分%d秒", MS.D->P->S4.timerMin, MS.D->P->S4.timerSec];
1073 if(MS.D->P->S4.timerType == 0){
1074 string = [string stringByAppendingFormat:@"以上"];
1075 }else if(MS.D->P->S4.timerType == 1){
1076 string = [string stringByAppendingFormat:@"以下"];
1079 [MS.D->SCRPT addObject:string];
1081 if(MS.D->P->S4.unitNumFlag){
1082 NSString *string = @"";
1083 string = [string stringByAppendingFormat:@"チーム%dが数%d", MS.D->P->S4.team, MS.D->P->S4.unitNum];
1084 if(MS.D->P->S4.unitType == 0){
1085 string = [string stringByAppendingFormat:@"と同値"];
1086 }else if(MS.D->P->S4.unitType == 1){
1087 string = [string stringByAppendingFormat:@"以上"];
1088 }else if(MS.D->P->S4.unitType == 2){
1089 string = [string stringByAppendingFormat:@"以下"];
1091 [MS.D->SCRPT addObject:string];
1095 if(MS.D->P->S4.unitCMDflag){
1096 NSString *string = @"ユニットが";
1097 if(MS.D->P->S4.unitCMD == 0){
1098 string = [string stringByAppendingFormat:@"待機を選択した時"];
1099 }else if(MS.D->P->S4.unitCMD == 1){
1100 string = [string stringByAppendingFormat:@"攻撃を選択した時"];
1101 }else if(MS.D->P->S4.unitCMD == 2){
1102 string = [string stringByAppendingFormat:@"説得を選択した時"];
1104 [MS.D->SCRPT addObject:string];
1109 if(MS.D->P->type == 7){
1110 MS.D->P->indent = indent;
1112 MS.D->P->label = [[items9 objectAtIndex:0] retain];
1113 [MS.D->SCRPT addObject:[NSString stringWithFormat:@"◆ラベル"]];
1114 if(![MS.D->P->label isEqualToString:@""])
1115 [MS.D->SCRPT addObject:[NSString stringWithFormat:@"%@",MS.D->P->label]];
1116 }if(MS.D->P->type == 8){
1117 MS.D->P->indent = indent;
1119 MS.D->P->labelJump = [[items9 objectAtIndex:0] retain];
1120 [MS.D->SCRPT addObject:[NSString stringWithFormat:@"◆ラベルジャンプ"]];
1122 if(![MS.D->P->labelJump isEqualToString:@""])
1123 [MS.D->SCRPT addObject:[NSString stringWithFormat:@"%@", MS.D->P->labelJump]];
1124 }if(MS.D->P->type == 9){
1125 MS.D->P->indent = indent;
1127 MS.D->P->memo = [[items9 objectAtIndex:0] retain];
1128 [MS.D->SCRPT addObject:[NSString stringWithFormat:@"◆注釈"]];
1129 }if(MS.D->P->type == 10){
1130 NSArray *items90 = [NSArray new];
1131 if(i + 1 < [fileDataArray count])
1132 items90 = [[fileDataArray objectAtIndex:i+1] componentsSeparatedByString:@","];
1135 MS.D->P->indent = indent;
1137 MS.D->P->S6.team = [[items90 objectAtIndex:0] intValue];
1139 MS.D->P->S6.RCsupply = [[items90 objectAtIndex:1] intValue];
1140 MS.D->P->S6.RCsupplyAdd = [[items90 objectAtIndex:2] intValue];
1141 MS.D->P->S6.RCsupplyValue = [[items90 objectAtIndex:3] intValue];
1142 MS.D->P->S6.RCsupplyS = [[items90 objectAtIndex:4] intValue];
1143 MS.D->P->S6.RCsupplySelect = [[items90 objectAtIndex:5] intValue];
1145 MS.D->P->S6.RCfood = [[items90 objectAtIndex:6] intValue];
1146 MS.D->P->S6.RCfoodAdd = [[items90 objectAtIndex:7] intValue];
1147 MS.D->P->S6.RCfoodValue = [[items90 objectAtIndex:8] intValue];
1148 MS.D->P->S6.RCfoodS = [[items90 objectAtIndex:9] intValue];
1149 MS.D->P->S6.RCfoodSelect = [[items90 objectAtIndex:10] intValue];
1151 MS.D->P->S6.RCmoney = [[items90 objectAtIndex:11] intValue];
1152 MS.D->P->S6.RCmoneyAdd = [[items90 objectAtIndex:12] intValue];
1153 MS.D->P->S6.RCmoneyValue = [[items90 objectAtIndex:13] intValue];
1154 MS.D->P->S6.RCmoneyS = [[items90 objectAtIndex:14] intValue];
1155 MS.D->P->S6.RCmoneySelect = [[items90 objectAtIndex:15] intValue];
1157 [MS.D->SCRPT addObject:[NSString stringWithFormat:@"◆リソースの増減"]];
1160 if(MS.D->P->S6.team == 0){
1164 if(MS.D->P->S6.RCsupply){
1165 NSString *string = @"";
1166 string = [string stringByAppendingFormat:@"チーム%d ", MS.D->P->S6.team];
1168 if(MS.D->P->S6.RCsupplyAdd){
1169 string = [string stringByAppendingString:@"資源増加:"];
1171 string = [string stringByAppendingString:@"資源減少:"];
1173 if(MS.D->P->S6.RCsupplyS){
1174 string = [string stringByAppendingFormat:@"%d", MS.D->P->S6.RCsupplyValue];
1176 string = [string stringByAppendingFormat:@"[%d:%@]",
1177 MS.D->P->S6.RCsupplySelect-1, HensuuName[MS.D->P->S6.RCsupplySelect-1]];
1179 [MS.D->SCRPT addObject:string];
1182 if(MS.D->P->S6.RCfood){
1183 NSString *string = @"";
1184 string = [string stringByAppendingFormat:@"チーム%d ", MS.D->P->S6.team];
1186 if(MS.D->P->S6.RCfoodAdd){
1187 string = [string stringByAppendingString:@"食料増加:"];
1189 string = [string stringByAppendingString:@"食料減少:"];
1191 if(MS.D->P->S6.RCfoodS){
1192 string = [string stringByAppendingFormat:@"%d", MS.D->P->S6.RCfoodValue];
1194 string = [string stringByAppendingFormat:@"[%d:%@]",
1195 MS.D->P->S6.RCfoodSelect-1, HensuuName[MS.D->P->S6.RCfoodSelect-1]];
1197 [MS.D->SCRPT addObject:string];
1200 if(MS.D->P->S6.RCmoney){
1201 NSString *string = @"";
1202 string = [string stringByAppendingFormat:@"チーム%d ", MS.D->P->S6.team];
1203 if(MS.D->P->S6.RCmoneyAdd){
1204 string = [string stringByAppendingString:@"資金増加:"];
1206 string = [string stringByAppendingString:@"資金減少:"];
1208 if(MS.D->P->S6.RCmoneyS){
1209 string = [string stringByAppendingFormat:@"%d", MS.D->P->S6.RCmoneyValue];
1211 string = [string stringByAppendingFormat:@"[%d:%@]",
1212 MS.D->P->S6.RCmoneySelect-1, HensuuName[MS.D->P->S6.RCmoneySelect-1]];
1214 [MS.D->SCRPT addObject:string];
1217 }if(MS.D->P->type == 25){
1218 MS.D->P->indent = indent;
1220 MS.D->P->wait = [[items9 objectAtIndex:0] doubleValue];
1221 [MS.D->SCRPT addObject:[NSString stringWithFormat:@"◆ウェイト"]];
1222 [MS.D->SCRPT addObject:[NSString stringWithFormat:@"%g秒", MS.D->P->wait]];
1223 }if(MS.D->P->type == 28){
1224 MS.D->P->indent = indent;
1226 MS.D->P->BGM.fName = [[items9 objectAtIndex:0] retain];
1228 for(int k = 0;k < bgmNum;k++){
1229 if([MS.D->P->BGM.fName isEqualToString:BGM[k].fName]){
1230 MS.D->P->BGM.name = [BGM[k].name retain];
1231 MS.D->P->BGM.snd = [BGM[k].snd retain];
1235 [MS.D->SCRPT addObject:[NSString stringWithFormat:@"◆BGMの演奏"]];
1236 if(MS.D->P->BGM.name)
1237 [MS.D->SCRPT addObject:[NSString stringWithFormat:@"%@", MS.D->P->BGM.name]];
1238 }if(MS.D->P->type == 30){
1239 MS.D->P->indent = indent;
1241 MS.D->P->SE.fName = [[items9 objectAtIndex:0] retain];
1243 for(int k = 0;k < seNum;k++){
1244 if([MS.D->P->SE.fName isEqualToString:SE[k].fName]){
1245 MS.D->P->SE.name = [BGM[k].name retain];
1246 MS.D->P->SE.snd = [BGM[k].snd retain];
1250 [MS.D->SCRPT addObject:[NSString stringWithFormat:@"◆SEの再生"]];
1251 if(MS.D->P->SE.name)
1252 [MS.D->SCRPT addObject:[NSString stringWithFormat:@"%@", MS.D->P->SE.name]];
1253 }if(MS.D->P->type == 35){
1254 MS.D->P->indent = indent;
1256 NSArray *items10 = [[items9 objectAtIndex:0] componentsSeparatedByString:@","];
1258 MS.D->P->gaov.gaovFlag = [[items10 objectAtIndex:0] intValue];
1259 MS.D->P->gaov.edcdFlag = [[items10 objectAtIndex:1] intValue];
1260 MS.D->P->gaov.fNname = [[items10 objectAtIndex:2] retain];
1262 NSString *gaovPath = @"data/Others/img/";
1264 gaovPath = [gaovPath stringByAppendingString:MS.D->P->gaov.fNname];
1266 NSData *gaovData = [NSData dataWithContentsOfFile:gaovPath];
1269 MS.D->P->gaov.img = [[NSImage alloc] initWithData:[[NSFileHandle fileHandleForReadingAtPath:gaovPath] readDataToEndOfFile]];
1271 [MS.D->SCRPT addObject:[NSString stringWithFormat:@"◆ゲームオーバー"]];
1272 if(MS.D->P->gaov.edcdFlag)
1273 [MS.D->SCRPT addObject:[NSString stringWithFormat:@"敵勝利画面表示"]];
1275 [MS.D->SCRPT addObject:[NSString stringWithFormat:@"敵勝利画面非表示"]];
1276 }if(MS.D->P->type == 36){
1277 MS.D->P->indent = indent;
1279 NSArray *items10 = [[items9 objectAtIndex:0] componentsSeparatedByString:@","];
1281 MS.D->P->sc.scFlag = [[items10 objectAtIndex:0] intValue];
1282 MS.D->P->sc.edcdFlag = [[items10 objectAtIndex:1] intValue];
1284 [MS.D->SCRPT addObject:[NSString stringWithFormat:@"◆ステージクリア"]];
1285 if(MS.D->P->sc.edcdFlag)
1286 [MS.D->SCRPT addObject:[NSString stringWithFormat:@"味方勝利画面表示"]];
1288 [MS.D->SCRPT addObject:[NSString stringWithFormat:@"味方勝利画面非表示"]];
1289 }if(MS.D->P->type == 37){
1290 MS.D->P->indent = indent;
1292 MS.D->P->titleBack = [[items9 objectAtIndex:0] intValue];
1293 [MS.D->SCRPT addObject:[NSString stringWithFormat:@"◆タイトル画面に戻す"]];
1303 if(MS.D->P->type == 0){
1307 if(!MS.D->P->S1.str) {MS.D->P->S1.str = @"";
1309 NSString *string = @"";
1310 string = [[string stringByAppendingFormat:@"%@", [fileDataArray objectAtIndex:i]] retain];
1311 if([string isEqualToString:@""]) continue;
1313 MS.D->P->S1.str = [[MS.D->P->S1.str stringByAppendingFormat:@"\n"] retain];
1314 MS.D->P->S1.str = [[MS.D->P->S1.str stringByAppendingString:string] retain];
1316 if(![string isEqualToString:@""])
1317 [MS.D->SCRPT addObject:[NSString stringWithFormat:@"%@", [fileDataArray objectAtIndex:i]]];
1320 }if(MS.D->P->type == 1){
1322 NSString *string = @"";
1323 NSString *string2 = @"";
1324 NSArray *items10 = [[[fileDataArray objectAtIndex:i] componentsSeparatedByString:@","] retain];
1326 string = [[string stringByAppendingFormat:@"%@", [items10 objectAtIndex:0]] retain];
1327 string2 = [[string2 stringByAppendingFormat:@"%@", [items10 objectAtIndex:1]] retain];
1328 if([string isEqualToString:@""]) continue;
1330 MS.D->P->S2 = calloc(1, sizeof(MAPSCRIPT2));
1334 if(pussyCnt == 1) MS2T = MS.D->P->S2;
1335 MS.D->P->S2->next = calloc(1, sizeof(MAPSCRIPT2));
1336 MS.D->P->S2 = MS.D->P->S2->next;
1338 MS.D->P->S2->selection = [[NSString stringWithString:string] retain];
1339 MS.D->P->S2->labelJump = [[NSString stringWithString:string2] retain];
1340 if(pussyCnt > 0) MS.D->P->S2->selection = [[MS.D->P->S2->selection stringByAppendingFormat:@"\n"] retain];
1341 if(pussyCnt > 0) MS.D->P->S2->labelJump = [[MS.D->P->S2->labelJump stringByAppendingFormat:@"\n"] retain];
1342 if(![string isEqualToString:@""])
1343 [MS.D->SCRPT addObject:[NSString stringWithFormat:@"%@@%@", MS.D->P->S2->selection, MS.D->P->S2->labelJump]];
1347 }if(MS.D->P->type == 3){
1348 NSString *string = @"";
1349 if(MSDPONOFFFlagNum == 1){
1350 NSArray *items0 = [[fileDataArray objectAtIndex:i] componentsSeparatedByString:@","];
1351 MS.D->P->switch1 = calloc([items0 count], sizeof(int));
1352 for (int i = 0;i < [items0 count];i++) {
1353 *(MS.D->P->switch1 + i) = [[items0 objectAtIndex:i] intValue];
1354 string = [string stringByAppendingFormat:@"%d",[[items0 objectAtIndex:i] intValue]];
1355 if(i+1 < [items0 count])
1356 string = [string stringByAppendingFormat:@","];
1358 }if(MSDPONOFFFlagNum == 2){
1359 NSArray *items0 = [[fileDataArray objectAtIndex:i] componentsSeparatedByString:@","];
1360 MS.D->P->switch2 = calloc([items0 count], sizeof(int));
1361 for (int i = 0;i < [items0 count];i++) {
1362 *(MS.D->P->switch2 + i) = [[items0 objectAtIndex:i] intValue];
1363 string = [string stringByAppendingFormat:@"%d",[[items0 objectAtIndex:i] intValue]];
1364 if(i+1 < [items0 count])
1365 string = [string stringByAppendingFormat:@","];
1368 [MS.D->SCRPT addObject:[NSString stringWithString:string]];
1370 }if(MS.D->P->type == 6){
1372 static bool okyo = false;
1373 static bool iine = false;
1374 static bool uhya = false;
1375 static bool muha = false;
1386 if([[fileDataArray objectAtIndex:i] isEqualToString:@"----"]){
1392 NSArray *item10 = [[fileDataArray objectAtIndex:i] componentsSeparatedByString:@","];
1394 if(MS.D->P->S4.unitTypeFlag && [item10 count] > 1){
1396 if(!MS.D->P->S4.subj){
1397 MS.D->P->S4.subj = calloc(1, sizeof(UNIT2));
1398 sjt = MS.D->P->S4.subj;
1401 MS.D->P->S4.subj->next = calloc(1, sizeof(UNIT2));
1402 if(pussyCnt == 1) sjt = MS.D->P->S4.subj;
1403 MS.D->P->S4.subj = MS.D->P->S4.subj->next;
1406 MS.D->P->S4.subj->C = UC[[[item10 objectAtIndex:0] intValue]];
1407 MS.D->P->S4.subj->team = [[item10 objectAtIndex:1] intValue];
1408 MS.D->P->S4.subj->x = [[item10 objectAtIndex:2] intValue];
1409 MS.D->P->S4.subj->y = [[item10 objectAtIndex:3] intValue];
1413 NSString *string = @"";
1415 string = [string stringByAppendingFormat:@"[%@]",MS.D->P->S4.subj->C.name];
1420 [MS.D->SCRPT addObject:string];
1425 NSArray *item10 = [[fileDataArray objectAtIndex:i] componentsSeparatedByString:@","];
1427 if(MS.D->P->S4.placeFlag && [item10 count] > 1){
1430 if(!MS.D->P->S4.wayp){
1431 MS.D->P->S4.wayp = calloc(1, sizeof(PLACEMENT));
1432 wpt = MS.D->P->S4.wayp;
1435 MS.D->P->S4.wayp->next = calloc(1, sizeof(PLACEMENT));
1436 if(pussyCnt == 1) wpt = MS.D->P->S4.wayp;
1437 MS.D->P->S4.wayp = MS.D->P->S4.wayp->next;
1440 MS.D->P->S4.wayp->type = [[item10 objectAtIndex:0] intValue];
1441 MS.D->P->S4.wayp->x = [[item10 objectAtIndex:1] intValue];
1442 MS.D->P->S4.wayp->y = [[item10 objectAtIndex:2] intValue];
1443 MS.D->P->S4.wayp->z = [[item10 objectAtIndex:3] intValue];
1444 MS.D->P->S4.wayp->x2 = [[item10 objectAtIndex:4] intValue];
1445 MS.D->P->S4.wayp->y2 = [[item10 objectAtIndex:5] intValue];
1449 NSString *string = @"";
1452 if(MS.D->P->S4.wayp->type == 0){
1454 string = [string stringByAppendingFormat:@"[%d, %d]",MS.D->P->S4.wayp->x ,MS.D->P->S4.wayp->y];
1455 }else if(MS.D->P->S4.wayp->type == 1){
1457 string = [string stringByAppendingFormat:@"[%d, %d, %d]",MS.D->P->S4.wayp->x ,MS.D->P->S4.wayp->y,MS.D->P->S4.wayp->z];
1458 }else if(MS.D->P->S4.wayp->type == 2){
1460 string = [string stringByAppendingFormat:@"[%d, %d, %d, %d]",MS.D->P->S4.wayp->x ,MS.D->P->S4.wayp->y,MS.D->P->S4.wayp->x2,MS.D->P->S4.wayp->y2];
1464 [MS.D->SCRPT addObject:string];
1468 NSArray *item10 = [[fileDataArray objectAtIndex:i] componentsSeparatedByString:@","];
1470 if(MS.D->P->S4.objeFlag && [item10 count] > 1){
1473 if(!MS.D->P->S4.obje){
1474 MS.D->P->S4.obje = calloc(1, sizeof(UNIT2));
1475 ojt = MS.D->P->S4.obje;
1478 MS.D->P->S4.obje->next = calloc(1, sizeof(UNIT2));
1479 if(pussyCnt == 1) ojt = MS.D->P->S4.obje;
1480 MS.D->P->S4.obje = MS.D->P->S4.obje->next;
1484 MS.D->P->S4.obje->C = UC[[[item10 objectAtIndex:0] intValue]];
1485 MS.D->P->S4.obje->team = [[item10 objectAtIndex:1] intValue];
1486 MS.D->P->S4.obje->x = [[item10 objectAtIndex:2] intValue];
1487 MS.D->P->S4.obje->y = [[item10 objectAtIndex:3] intValue];
1491 NSString *string = @"";
1494 string = [string stringByAppendingFormat:@"範囲%d",MS.D->P->S4.objeRange];
1496 string = [string stringByAppendingFormat:@"[%@]",MS.D->P->S4.obje->C.name];
1501 [MS.D->SCRPT addObject:string];
1505 NSArray *item10 = [[fileDataArray objectAtIndex:i] componentsSeparatedByString:@","];
1507 if(MS.D->P->S4.buildFlag && [item10 count] > 1){
1511 if(!MS.D->P->S4.build){
1512 MS.D->P->S4.build = calloc(1, sizeof(BUILD2));
1513 bdt = MS.D->P->S4.build;
1516 MS.D->P->S4.build->next = calloc(1, sizeof(BUILD2));
1518 bdt = MS.D->P->S4.build;
1519 MS.D->P->S4.build = MS.D->P->S4.build->next;
1523 MS.D->P->S4.build->C = &BC[[[item10 objectAtIndex:0] intValue]];
1524 MS.D->P->S4.build->team = [[item10 objectAtIndex:1] intValue];
1525 MS.D->P->S4.build->x = [[item10 objectAtIndex:2] intValue];
1526 MS.D->P->S4.build->y = [[item10 objectAtIndex:3] intValue];
1530 NSString *string = @"";
1533 if(MS.D->P->S4.build->C) string = [string stringByAppendingFormat:@"[%@]",MS.D->P->S4.build->C->name];
1534 else string = [string stringByAppendingFormat:@"[(null)]"];
1539 [MS.D->SCRPT addObject:string];
1565 }if(MS.D->P->type == 9){
1568 if(!MS.D->P->memo) {MS.D->P->memo = @"";
1570 NSString *string = @"";
1571 string = [[string stringByAppendingFormat:@"%@", [fileDataArray objectAtIndex:i]] retain];
1572 if([string isEqualToString:@""]) continue;
1573 if(pussyCnt > 0) MS.D->P->memo = [[MS.D->P->memo stringByAppendingFormat:@"\n"] retain];
1574 MS.D->P->memo = [[MS.D->P->memo stringByAppendingString:string] retain];
1575 if(![string isEqualToString:@""])
1576 [MS.D->SCRPT addObject:[NSString stringWithFormat:@"%@", [fileDataArray objectAtIndex:i]]];
1579 }if(MS.D->P->type == 22){
1581 NSString *string = @"";
1582 NSString *string2 = @"";
1583 NSArray *items10 = [[[fileDataArray objectAtIndex:i] componentsSeparatedByString:@","] retain];
1584 if([items10 count] < 5) goto OMFGOUCH;
1586 MS.D->P->S3 = calloc(1, sizeof(MAPSCRIPT3));
1590 if(mankoCnt == 1) MS3T = MS.D->P->S3;
1591 MS.D->P->S3->next = calloc(1, sizeof(MAPSCRIPT3));
1592 MS.D->P->S3 = MS.D->P->S3->next;
1594 MS.D->P->S3->type = [[items10 objectAtIndex:0] intValue];
1595 MS.D->P->S3->team = [[items10 objectAtIndex:1] intValue];
1596 MS.D->P->S3->unitNum = [[items10 objectAtIndex:2] intValue];
1597 MS.D->P->S3->x = [[items10 objectAtIndex:3] intValue];
1598 MS.D->P->S3->y = [[items10 objectAtIndex:4] intValue];
1599 MS.D->P->S3->flag = [[items10 objectAtIndex:5] intValue];
1600 MS.D->P->S3->U = UC[MS.D->P->S3->unitNum];
1601 MS.D->P->S3->loadInt = [[items10 objectAtIndex:6] intValue];
1604 string2 = [NSString stringWithFormat:@"%@[%d,%d]", MS.D->P->S3->U.name, MS.D->P->S3->x, MS.D->P->S3->y];
1605 string2 = [string2 stringByAppendingFormat:@"%d", MS.D->P->S3->team];
1606 if(MS.D->P->S3->flag)
1607 string2 = [string2 stringByAppendingFormat:@"重"];
1609 if(![string2 isEqualToString:@""])
1610 [MS.D->SCRPT addObject:[NSString stringWithString:string2]];
1614 }if(MS.D->P->type == 23){
1616 NSString *string = @"";
1617 NSString *string2 = @"";
1618 NSArray *items10 = [[[fileDataArray objectAtIndex:i] componentsSeparatedByString:@","] retain];
1619 if([items10 count] < 4) goto OMFGOUCH;
1621 MS.D->P->S5 = calloc(1, sizeof(MAPSCRIPT5));
1625 if(analCnt == 1) MS5T = MS.D->P->S5;
1626 MS.D->P->S5->next = calloc(1, sizeof(MAPSCRIPT5));
1627 MS.D->P->S5 = MS.D->P->S5->next;
1629 MS.D->P->S5->type = [[items10 objectAtIndex:0] intValue];
1630 MS.D->P->S5->team = [[items10 objectAtIndex:1] intValue];
1631 MS.D->P->S5->unitNum = [[items10 objectAtIndex:2] intValue];
1632 MS.D->P->S5->x = [[items10 objectAtIndex:3] intValue];
1633 MS.D->P->S5->y = [[items10 objectAtIndex:4] intValue];
1634 MS.D->P->S5->U = UC[MS.D->P->S5->unitNum];
1635 MS.D->P->S5->saveInt = [[items10 objectAtIndex:5] intValue];
1637 string2 = [NSString stringWithFormat:@"%@[%d,%d]", MS.D->P->S5->U.name, MS.D->P->S5->x, MS.D->P->S5->y];
1638 string2 = [string2 stringByAppendingFormat:@"%d", MS.D->P->S5->team];
1640 if(![string2 isEqualToString:@""])
1641 [MS.D->SCRPT addObject:[NSString stringWithString:string2]];
1658 if(i+1 < [fileDataArray count]){
1659 NSArray *array100 = [[NSString stringWithFormat:@"%@◆", [fileDataArray objectAtIndex:i+1]] componentsSeparatedByString:@"◆"];
1660 NSString *string100 = [NSString stringWithFormat:@"%@", [array100 objectAtIndex:1]];
1661 NSRange rangeSearch100;
1662 if([array100 count] > 2) rangeSearch100 = [[fileDataArray objectAtIndex:i+1] rangeOfString:string100];
1663 NSArray *array101 = [[NSString stringWithFormat:@"%@●", [fileDataArray objectAtIndex:i+1]] componentsSeparatedByString:@"●"];
1664 NSString *string101 = [NSString stringWithFormat:@"%@", [array101 objectAtIndex:1]];
1665 NSRange rangeSearch101;
1666 if([array101 count] > 2) rangeSearch101 = [[fileDataArray objectAtIndex:i+1] rangeOfString:string101];
1668 if([array100 count] > 2 || [array101 count] > 2)
1669 if(rangeSearch100.location != NSNotFound || rangeSearch101.location != NSNotFound){
1692 //NSLog(@"", i, MS);
1696 //MS.D->P->S1.str = [MS.D->P->S1.str substringToIndex:MS.D->P->S1.str.length-4];
1697 if(MS.D) MS.D->P = MSDPtop;
1703 MF[MFselectedRow+1].MS.D = MS.D;
1704 MF[MFselectedRow+1].MS = MS;
1705 mapSizeChangedFlag = true;
1706 mapLoadFlagForMSD = false;
1707 mapLoadFlagForMSD2 = false;
1713 NSString *directoryPath = [[[NSBundle mainBundle] bundlePath] stringByDeletingLastPathComponent];
1714 [[NSFileManager defaultManager] changeCurrentDirectoryPath:directoryPath];
1716 NSString *fileData = @"";
1717 NSString *pathDATA = @"Map/";
1719 for(int i = 1;i<= chipHeight;i++){
1720 for(int j = 1;j <= chipWidth;j++){
1721 fileData = [fileData stringByAppendingFormat:@"%2d", chipNum[j][i]];
1722 if(j == chipWidth) fileData = [fileData stringByAppendingFormat:@"\n"];
1724 fileData = [fileData stringByAppendingFormat:@","];
1728 fileData = [fileData stringByAppendingFormat:@"####\n"];
1729 for(int i = 1;i<= chipHeight;i++){
1730 for(int j = 1;j <= chipWidth;j++){
1731 fileData = [fileData stringByAppendingFormat:@"%2d", buildNum[j][i]+1];
1732 if(j == chipWidth) fileData = [fileData stringByAppendingFormat:@"\n"];
1734 fileData = [fileData stringByAppendingFormat:@","];
1738 fileData = [fileData stringByAppendingFormat:@"####\n"];
1739 for(int i = 1;i<= chipHeight;i++){
1740 for(int j = 1;j <= chipWidth;j++){
1741 if(unitNum[j][i] != -1){
1742 fileData = [fileData stringByAppendingFormat:@"%d", unitNum[j][i]+1];
1743 fileData = [fileData stringByAppendingFormat:@","];
1744 fileData = [fileData stringByAppendingFormat:@"%d", j];
1745 fileData = [fileData stringByAppendingFormat:@","];
1746 fileData = [fileData stringByAppendingFormat:@"%d", i];
1747 fileData = [fileData stringByAppendingFormat:@"\n"];
1751 fileData = [fileData stringByAppendingFormat:@"####\n"];
1752 for(int i = 1;i<= chipHeight;i++){
1753 for(int j = 1;j <= chipWidth;j++){
1754 if(buildTeam[j][i] != -1){
1755 fileData = [fileData stringByAppendingFormat:@"%d", buildTeam[j][i]];
1756 fileData = [fileData stringByAppendingFormat:@","];
1757 fileData = [fileData stringByAppendingFormat:@"%d", j];
1758 fileData = [fileData stringByAppendingFormat:@","];
1759 fileData = [fileData stringByAppendingFormat:@"%d", i];
1760 fileData = [fileData stringByAppendingFormat:@"\n"];
1764 fileData = [fileData stringByAppendingFormat:@"####\n"];
1765 for(int i = 1;i<= chipHeight;i++){
1766 for(int j = 1;j <= chipWidth;j++){
1767 if(unitTeam[j][i] != -1){
1768 fileData = [fileData stringByAppendingFormat:@"%d", unitTeam[j][i]];
1769 fileData = [fileData stringByAppendingFormat:@","];
1770 fileData = [fileData stringByAppendingFormat:@"%d", j];
1771 fileData = [fileData stringByAppendingFormat:@","];
1772 fileData = [fileData stringByAppendingFormat:@"%d", i];
1773 fileData = [fileData stringByAppendingFormat:@"\n"];
1777 fileData = [fileData stringByAppendingFormat:@"####\n"];
1778 for(int i = 1;i<= chipHeight;i++){
1779 for(int j = 1;j <= chipWidth;j++){
1780 if(loadNum[j][i] != -1){
1781 fileData = [fileData stringByAppendingFormat:@"%d", loadNum[j][i]+1];
1782 fileData = [fileData stringByAppendingFormat:@","];
1783 fileData = [fileData stringByAppendingFormat:@"%d", j];
1784 fileData = [fileData stringByAppendingFormat:@","];
1785 fileData = [fileData stringByAppendingFormat:@"%d", i];
1786 fileData = [fileData stringByAppendingFormat:@"\n"];
1791 fileData = [fileData stringByAppendingFormat:@"----\n"];
1793 fileData = [fileData stringByAppendingFormat:@"%d,%d\n", MF[MFselectedRow+1].MS.guildListRegistNum11, MF[MFselectedRow+1].MS.guildListRegistNum12];
1795 for(int i = 0;i < UCN;i++){
1796 if(i > 0) fileData = [fileData stringByAppendingFormat:@","];
1797 fileData = [fileData stringByAppendingFormat:@"%d", MF[MFselectedRow+1].MS.guildListRegist[i]];
1800 fileData = [fileData stringByAppendingFormat:@"\n"];
1803 fileData = [fileData stringByAppendingFormat:@"%d,%d\n", MF[MFselectedRow+1].MS.guildListRegistNum21, MF[MFselectedRow+1].MS.guildListRegistNum22];
1805 for(int i = 0;i < UCN;i++){
1806 if(i > 0) fileData = [fileData stringByAppendingFormat:@","];
1807 fileData = [fileData stringByAppendingFormat:@"%d", MF[MFselectedRow+1].MS.guildListRegist2[i]];
1810 fileData = [fileData stringByAppendingFormat:@"\n"];
1813 fileData = [fileData stringByAppendingFormat:@"----\n"];
1814 fileData = [fileData stringByAppendingFormat:@"%d|%d",
1815 MF[MFselectedRow+1].MS.EGClight.endType1,
1816 MF[MFselectedRow+1].MS.EGClight.endType2];
1817 fileData = [fileData stringByAppendingFormat:@"\n"];
1818 for (int i = 0; i < 64;i++) {
1819 if(i == 0 && !MF[MFselectedRow+1].MS.EGClight.etValue1[i])
1820 fileData = [fileData stringByAppendingFormat:@"NULL"];
1821 if(!MF[MFselectedRow+1].MS.EGClight.etValue1[i]) break;
1822 if(i > 0) fileData = [fileData stringByAppendingFormat:@"|"];
1823 fileData = [fileData stringByAppendingFormat:@"%@",
1824 MF[MFselectedRow+1].MS.EGClight.etValue1[i]];
1825 }fileData = [fileData stringByAppendingFormat:@"\n"];
1827 //NSLog(@"%@", fileData);
1829 for (int i = 0; i < 64;i++) {
1830 if(i == 0 && !MF[MFselectedRow+1].MS.EGClight.etValue2[i])
1831 fileData = [fileData stringByAppendingFormat:@"NULL"];
1832 if(!MF[MFselectedRow+1].MS.EGClight.etValue2[i]) break;
1833 if(i > 0) fileData = [fileData stringByAppendingFormat:@"|"];
1834 fileData = [fileData stringByAppendingFormat:@"%@",
1835 MF[MFselectedRow+1].MS.EGClight.etValue2[i]];
1836 }fileData = [fileData stringByAppendingFormat:@"\n"];
1838 fileData = [fileData stringByAppendingFormat:@"####\n"];
1840 fileData = [fileData stringByAppendingFormat:@"%d|%d",
1841 MF[MFselectedRow+1].MS.EGCdark.endType1,
1842 MF[MFselectedRow+1].MS.EGCdark.endType2];
1843 fileData = [fileData stringByAppendingFormat:@"\n"];
1844 for (int i = 0; i < 64;i++) {
1845 if(i == 0 && !MF[MFselectedRow+1].MS.EGCdark.etValue1[i])
1846 fileData = [fileData stringByAppendingFormat:@"NULL"];
1847 if(!MF[MFselectedRow+1].MS.EGCdark.etValue1[i]) break;
1848 if(i > 0) fileData = [fileData stringByAppendingFormat:@"|"];
1849 fileData = [fileData stringByAppendingFormat:@"%@",
1850 MF[MFselectedRow+1].MS.EGCdark.etValue1[i]];
1851 }fileData = [fileData stringByAppendingFormat:@"\n"];
1853 for (int i = 0; i < 64;i++) {
1854 if(i == 0 && !MF[MFselectedRow+1].MS.EGCdark.etValue2[i])
1855 fileData = [fileData stringByAppendingFormat:@"NULL"];
1856 if(!MF[MFselectedRow+1].MS.EGCdark.etValue2[i]) break;
1857 if(i > 0) fileData = [fileData stringByAppendingFormat:@"|"];
1858 fileData = [fileData stringByAppendingFormat:@"%@",
1859 MF[MFselectedRow+1].MS.EGCdark.etValue2[i]];
1860 }fileData = [fileData stringByAppendingFormat:@"\n"];
1862 fileData = [fileData stringByAppendingFormat:@"----\n"];
1864 fileData = [fileData stringByAppendingFormat:@"%d,%d,%d,%d,%d,%d,%d,%d,%d\n",
1865 playerSet1, playerSet2, battleSetMode,
1866 scenarioSetMode,scenarioNumbCrnt,scenarioNumbNext,
1867 employAllowedFlag, buildAllowedFlag, summonAllowedFlag];
1868 fileData = [fileData stringByAppendingFormat:@"========\nEVENT\n========\n"];
1870 MAPSCRIPT MS = MF[MFselectedRow+1].MS;
1874 MAPSCRIPT0 *MSPtop = MS.D->P;
1875 fileData = [fileData stringByAppendingFormat:@"●"];
1876 fileData = [fileData stringByAppendingFormat:@"%@ ", [MS.SCRPTname objectAtIndex:index]];
1877 fileData = [fileData stringByAppendingFormat:@"%d[%d,%d]", MS.D->type,MS.D->x, MS.D->y];
1878 fileData = [fileData stringByAppendingFormat:@"%dET[%g,%g,%d]",
1879 MS.D->ETtype,MS.D->ET1, MS.D->ET2, MS.D->onlyInitialDeley];
1881 if(*MS.D->switch1 > 0){
1882 fileData = [fileData stringByAppendingFormat:@"ON["];
1883 for(int i = 0;*(MS.D->switch1+i) > 0;i++){
1885 fileData = [fileData stringByAppendingFormat:@","];
1886 fileData = [fileData stringByAppendingFormat:@"%d", *(MS.D->switch1+i)];
1888 fileData = [fileData stringByAppendingFormat:@"]"];
1891 if(*MS.D->switch2 > 0){
1892 fileData = [fileData stringByAppendingFormat:@"OFF["];
1893 for(int i = 0;*(MS.D->switch2+i) > 0;i++){
1895 fileData = [fileData stringByAppendingFormat:@","];
1896 fileData = [fileData stringByAppendingFormat:@"%d", *(MS.D->switch2+i)];
1898 fileData = [fileData stringByAppendingFormat:@"]"];
1900 fileData = [fileData stringByAppendingFormat:@"\n"];
1910 if(MS.D->P->type == 0){
1911 fileData = [fileData stringByAppendingFormat:@"%d", MS.D->P->indent];
1912 fileData = [fileData stringByAppendingFormat:@"◆0,"];
1913 fileData = [fileData stringByAppendingFormat:@"%@,", MS.D->P->S1.nameID];
1914 fileData = [fileData stringByAppendingFormat:@"%@,", MS.D->P->S1.name];
1915 fileData = [fileData stringByAppendingFormat:@"%@\n", MS.D->P->S1.iName];
1916 fileData = [fileData stringByAppendingFormat:@"%@\n", MS.D->P->S1.str];
1917 }if(MS.D->P->type == 1){
1918 fileData = [fileData stringByAppendingFormat:@"%d", MS.D->P->indent];
1919 fileData = [fileData stringByAppendingFormat:@"◆1\n"];
1921 MAPSCRIPT2 *MS2T = MS.D->P->S2;
1922 while (MS.D->P->S2) {
1923 fileData = [fileData stringByAppendingFormat:@"%@,", MS.D->P->S2->selection];
1924 fileData = [fileData stringByAppendingFormat:@"%@\n", MS.D->P->S2->labelJump];
1925 MS.D->P->S2 = MS.D->P->S2->next;
1926 }MS.D->P->S2 = MS2T;
1929 if(MS.D->P->type == 3){
1930 fileData = [fileData stringByAppendingFormat:@"%d", MS.D->P->indent];
1931 fileData = [fileData stringByAppendingFormat:@"◆3,"];
1932 if(MS.D->P->switch1) if(MS.D->P->switch1 > 0) fileData = [fileData stringByAppendingFormat:@"ON"];
1933 if(MS.D->P->switch2) if(MS.D->P->switch2 > 0) fileData = [fileData stringByAppendingFormat:@"OFF"];
1934 fileData = [fileData stringByAppendingFormat:@"\n"];
1935 if(MS.D->P->switch1) for(int i = 0;*(MS.D->P->switch1+ i) > 0;i++){
1936 fileData = [fileData stringByAppendingFormat:@"%d", *(MS.D->P->switch1 + i)];
1937 if(*(MS.D->P->switch1 + i + 1) > 0) fileData = [fileData stringByAppendingFormat:@","];
1939 if(MS.D->P->switch2) for(int i = 0;*(MS.D->P->switch2+i) > 0;i++){
1940 fileData = [fileData stringByAppendingFormat:@"%d", *(MS.D->P->switch2 + i)];
1941 if(*(MS.D->P->switch2 + i + 1) > 0) fileData = [fileData stringByAppendingFormat:@","];
1943 fileData = [fileData stringByAppendingFormat:@"\n"];
1944 }if(MS.D->P->type == 5){
1945 fileData = [fileData stringByAppendingFormat:@"%d", MS.D->P->indent];
1946 fileData = [fileData stringByAppendingFormat:@"◆6\n"];
1947 fileData = [fileData stringByAppendingFormat:@"%d, %d,", MS.D->P->timerMin, MS.D->P->timerSec];
1948 fileData = [fileData stringByAppendingFormat:@"%d, %d, %d\n", MS.D->P->timerRun, MS.D->P->timerMode, MS.D->P->timerVisible];
1950 }if(MS.D->P->type == 6){
1951 fileData = [fileData stringByAppendingFormat:@"%d", MS.D->P->indent];
1952 fileData = [fileData stringByAppendingFormat:@"◆6,"];
1953 MAPSCRIPT4 MS4 = MS.D->P->S4;
1954 fileData = [fileData stringByAppendingFormat:@"%@,%@\n", MS4.COMPrabel,MS4.FAILrabel];
1955 fileData = [fileData stringByAppendingFormat:@"%d,%d\n", MS4.suicchiFlag,MS4.suicchiONOFF];
1957 for (int i = 0;*(MS4.suicchi + i);i++) {
1958 if(i > 0) fileData = [fileData stringByAppendingFormat:@","];
1959 fileData = [fileData stringByAppendingFormat:@"%d", *(MS4.suicchi + i)];
1960 }fileData = [fileData stringByAppendingFormat:@"\n"];
1961 fileData = [fileData stringByAppendingFormat:@"%d,%d,%d,%d,%d,%d,%d\n", MS4.hensuFlag,MS4.hensu1,MS4.teisuFlag,MS4.teisuValue,MS4.hensu2flag,MS4.hensu2,MS4.hensuType
1963 fileData = [fileData stringByAppendingFormat:@"%d,%d,%d,%d\n", MS4.timerFlag,MS4.timerMin,MS4.timerSec,MS4.timerType];
1964 fileData = [fileData stringByAppendingFormat:@"%d,%d,%d,%d,%d,%d\n",
1965 MS4.unitNumFlag,MS4.unitTypeFlag,MS4.placeFlag,MS4.unitCMDflag,MS4.objeFlag,MS4.buildFlag];
1966 fileData = [fileData stringByAppendingFormat:@"%d,%d,%d,%d,%d\n",
1967 MS4.team,MS4.unitNum,MS4.unitType,MS4.unitCMD,MS4.objeRange];
1969 fileData = [fileData stringByAppendingFormat:@"----\n"];
1970 UNIT2 *sj = MS4.subj;
1973 fileData = [fileData stringByAppendingFormat:@"%d,%d,%d,%d\n", sj->C.chipNumb ,sj->team, sj->x, sj->y];
1976 fileData = [fileData stringByAppendingFormat:@"----\n"];
1978 PLACEMENT *wp = MS4.wayp;
1979 PLACEMENT *wpt = wp;
1981 fileData = [fileData stringByAppendingFormat:@"%d,%d,%d,%d,%d,%d\n", wp->type ,wp->x ,wp->y, wp->z, wp->x2,wp->y2];
1984 fileData = [fileData stringByAppendingFormat:@"----\n"];
1986 UNIT2 *oj = MS4.obje;
1989 fileData = [fileData stringByAppendingFormat:@"%d,%d,%d,%d\n", oj->C.chipNumb ,oj->team, oj->x, oj->y];
1992 fileData = [fileData stringByAppendingFormat:@"----\n"];
1994 BUILD2 *bd = MS4.build;
1997 fileData = [fileData stringByAppendingFormat:@"%d,%d,%d,%d\n", bd->C->chipNumb, bd->team, bd->x, bd->y];
2002 if(MS.D->P->type == 7){
2003 fileData = [fileData stringByAppendingFormat:@"%d", MS.D->P->indent];
2004 fileData = [fileData stringByAppendingFormat:@"◆7\n"];
2005 fileData = [fileData stringByAppendingFormat:@"%@\n", MS.D->P->label];
2006 }if(MS.D->P->type == 8){
2007 fileData = [fileData stringByAppendingFormat:@"%d", MS.D->P->indent];
2008 fileData = [fileData stringByAppendingFormat:@"◆8\n"];
2009 fileData = [fileData stringByAppendingFormat:@"%@\n", MS.D->P->labelJump];
2010 }if(MS.D->P->type == 9){
2011 fileData = [fileData stringByAppendingFormat:@"%d", MS.D->P->indent];
2012 fileData = [fileData stringByAppendingFormat:@"◆9\n"];
2013 fileData = [fileData stringByAppendingFormat:@"%@\n", MS.D->P->memo];
2014 }if(MS.D->P->type == 10){
2015 fileData = [fileData stringByAppendingFormat:@"%d", MS.D->P->indent];
2016 fileData = [fileData stringByAppendingFormat:@"◆10\n"];
2017 fileData = [fileData stringByAppendingFormat:@"%d,%d,%d,%d,%d,%d"
2019 @",%d,%d,%d,%d,%d\n",
2021 MS.D->P->S6.RCsupply, MS.D->P->S6.RCsupplyAdd, MS.D->P->S6.RCsupplyValue,
2022 MS.D->P->S6.RCsupplyS, MS.D->P->S6.RCsupplySelect,
2023 MS.D->P->S6.RCfood, MS.D->P->S6.RCfoodAdd, MS.D->P->S6.RCfoodValue,
2024 MS.D->P->S6.RCfoodS, MS.D->P->S6.RCfoodSelect,
2025 MS.D->P->S6.RCmoney, MS.D->P->S6.RCmoneyAdd, MS.D->P->S6.RCmoneyValue,
2026 MS.D->P->S6.RCmoneyS, MS.D->P->S6.RCmoneySelect];
2027 }if(MS.D->P->type == 22){
2028 fileData = [fileData stringByAppendingFormat:@"%d", MS.D->P->indent];
2029 fileData = [fileData stringByAppendingFormat:@"◆22\n"];
2030 MAPSCRIPT3 *MS3T = MS.D->P->S3;
2032 fileData = [fileData stringByAppendingFormat:@"%d,%d,%d,", MS.D->P->S3->type, MS.D->P->S3->team, MS.D->P->S3->unitNum];
2033 fileData = [fileData stringByAppendingFormat:@"%d,%d,%d,%d\n", MS.D->P->S3->x, MS.D->P->S3->y,MS.D->P->S3->flag, MS.D->P->S3->loadInt];
2034 MS.D->P->S3 = MS.D->P->S3->next;
2035 }MS.D->P->S3 = MS3T;
2036 }if(MS.D->P->type == 23){
2037 fileData = [fileData stringByAppendingFormat:@"%d", MS.D->P->indent];
2038 fileData = [fileData stringByAppendingFormat:@"◆23\n"];
2039 MAPSCRIPT5 *MS5T = MS.D->P->S5;
2041 fileData = [fileData stringByAppendingFormat:@"%d,%d,%d,", MS.D->P->S5->type, MS.D->P->S5->team, MS.D->P->S5->unitNum];
2042 fileData = [fileData stringByAppendingFormat:@"%d,%d,%d\n", MS.D->P->S5->x, MS.D->P->S5->y, MS.D->P->S5->saveInt];
2043 MS.D->P->S5 = MS.D->P->S5->next;
2044 }MS.D->P->S5 = MS5T;
2045 }if(MS.D->P->type == 25){
2046 fileData = [fileData stringByAppendingFormat:@"%d", MS.D->P->indent];
2047 fileData = [fileData stringByAppendingFormat:@"◆25\n"];
2048 fileData = [fileData stringByAppendingFormat:@"%g\n", MS.D->P->wait];
2049 }if(MS.D->P->type == 28){
2050 fileData = [fileData stringByAppendingFormat:@"%d", MS.D->P->indent];
2051 fileData = [fileData stringByAppendingFormat:@"◆28\n"];
2052 fileData = [fileData stringByAppendingFormat:@"%@\n", MS.D->P->BGM.fName];
2053 }if(MS.D->P->type == 30){
2054 fileData = [fileData stringByAppendingFormat:@"%d", MS.D->P->indent];
2055 fileData = [fileData stringByAppendingFormat:@"◆30\n"];
2056 fileData = [fileData stringByAppendingFormat:@"%@\n", MS.D->P->SE.fName];
2057 }if(MS.D->P->type == 35){
2058 fileData = [fileData stringByAppendingFormat:@"%d", MS.D->P->indent];
2059 fileData = [fileData stringByAppendingFormat:@"◆35\n"];
2060 fileData = [fileData stringByAppendingFormat:@"%d,%d,", MS.D->P->gaov.gaovFlag,MS.D->P->gaov.edcdFlag];
2061 fileData = [fileData stringByAppendingFormat:@"%@\n", MS.D->P->gaov.fNname];
2065 NSData *imgData = [MS.D->P->gaov.img TIFFRepresentation];
2066 NSBitmapImageRep *brep = [NSBitmapImageRep imageRepWithData:imgData];
2067 imgData = [brep representationUsingType:NSPNGFileType properties:nil];
2069 NSString *imgPath = @"data/Others/img/";
2070 imgPath = [imgPath stringByAppendingFormat:@"%@", MS.D->P->gaov.fNname];
2072 [imgData writeToFile:imgPath atomically:YES];
2076 }if(MS.D->P->type == 36){
2077 fileData = [fileData stringByAppendingFormat:@"%d", MS.D->P->indent];
2078 fileData = [fileData stringByAppendingFormat:@"◆36\n"];
2079 fileData = [fileData stringByAppendingFormat:@"%d,%d\n", MS.D->P->sc.scFlag,MS.D->P->sc.edcdFlag];
2083 }if(MS.D->P->type == 37){
2084 fileData = [fileData stringByAppendingFormat:@"%d", MS.D->P->indent];
2085 fileData = [fileData stringByAppendingFormat:@"◆37\n"];
2086 fileData = [fileData stringByAppendingFormat:@"%d\n", MS.D->P->titleBack];
2089 MS.D->P = MS.D->P->next;
2097 NSLog(@"%@", fileData);
2098 MS = MF[MFselectedRow+1].MS;
2099 pathDATA = [pathDATA stringByAppendingFormat:@"%@", saveMapDataName];
2100 [[NSFileManager defaultManager] createFileAtPath:pathDATA contents:nil attributes:nil];
2101 [fileData writeToFile:pathDATA atomically:YES encoding:NSUTF8StringEncoding error:nil];
2104 [mapEditor initFileDirectoryOthers];