OSDN Git Service

セーブデータの一部をシリアライズする事に成功、マップスクリプトとともにユニット情報もコンバートできたらいいのだが…
[awarsiii/AwarsIV.git] / Awars III / FieldScene.h
index 79e7172..9917274 100755 (executable)
 #import "LevelList.h"
 #import "LoadChipList.h"
 
+#define SAVEDATADATMAX 4096
+#define DATAFILE_NAME "data.dat"
+#define INSTANT_IMG "image.png"
+
 #define FIELD_TYPE_A 0
 #define FIELD_TYPE_B 1
 #define FIELD_TYPE_C 2
@@ -57,6 +61,16 @@ typedef struct _STATUS2{
     
 }STATUS2;
 
+typedef struct _LOADCHIPD{
+    int chipNumb;
+    
+    NSString *name;
+    NSString *nameID;
+    struct _RESIST R_C;
+    struct _STATUS2 S_C;
+
+}LOADCHIPD;
+
 typedef struct _LOADCHIP{
     
     struct _RESIST R_C;
@@ -92,6 +106,15 @@ typedef struct _BSTATUS{
     
 }BSTATUS;
 
+typedef struct _BUILDCHIPD{
+    int chipNumb;
+    
+    NSString *name;
+    NSString *nameID;
+    struct _BSTATUS S_C;
+    
+}BUILDCHIPD;
+
 typedef struct _BUILDCHIP{
     
     NSString *name;
@@ -170,15 +193,53 @@ typedef struct _UNIT{
     bool unControlable;
     bool joinArmyFromNext;
     bool persuasion;
-    int atkRange;
     
     bool targType1L;
     bool targType2L;
     bool targType1D;
     bool targType2D;
     
+    int atkRange;
+    
 }UNIT;
 
+typedef struct _UNITD{
+    bool CPU;
+    int number;
+    int team;
+    int chipNumber;
+    int chipNumberL;
+    
+    int x;
+    int y;
+    int z;
+    
+    int ix;
+    int iy;
+    int iz;
+    
+    bool dead;
+    
+    bool loadChipFlag;
+    
+    bool unControlable;
+    bool joinArmyFromNext;
+    bool persuasion;
+    
+    bool targType1L;
+    bool targType2L;
+    bool targType1D;
+    bool targType2D;
+
+    NSString *army;
+    
+    int imgAdCnt;
+    int imgAdFix;
+    NSImage *img;
+
+    struct _UNITCHIPD C;
+}UNITD;
+
 typedef struct _UNION{
     
     
@@ -204,6 +265,26 @@ typedef struct _BUILD{
 
 }BUILD;
 
+typedef struct _BUILDD{
+    
+    int number;
+    int team;
+    int chipNumber;
+    int makeLv;
+    
+    int x;
+    int y;
+    int z;
+    
+    bool dead;
+    
+    int imgAdCnt;
+    int imgAdFix;
+    NSImage *img;
+
+    struct _BUILDCHIPD C;
+    
+}BUILDD;
 
 typedef struct _PLAYER{
     
@@ -369,11 +450,15 @@ int oopsCnt;
 int lmao;
 int vaginaCnt;
 
-@interface Savedatadat : NSObject<NSCoding>{
-@public
+
+#define dUMAX 9999
+#define dBMAX 9999
+typedef struct _SAVEDATADAT{
     
     NSString *name;
     
+    int imgAdressCnt;
+    int imgAdressFix;
     NSImage *img;
     
     int MFselectedRow;
@@ -384,62 +469,72 @@ int vaginaCnt;
     NSString *levelName;
     NSString *scenarioName;
     
-    struct _MAPSCRIPT *MS;
+    int chipHeight;
+    int chipWidth;
     
-    struct _PLAYER P[10];
-    struct _UNIT *UTop;
-    struct _BUILD *BTop;
+    int posX;
+    int posY;
+    
+    int eSlctX;
+    int eSlctY;
+    
+    int registerNum;
+    int registerNumB;
     
     int esSceneProc;
     
     bool endGameCondition;
     bool initMapFlag;
-    bool TeamCountFlag;
     bool initStatusFlag;
+    bool TeamCountFlag;
     bool battleBegin;
     bool startES;
     
+    bool cpuAImodeflag;
     bool cpuModeMOVEflag;
     bool cpuModeATTACKflag;
-    
-    bool cpuAImodeflag;
     bool cpuTurnEndFlag;
     bool waitSwtichFlag;
     bool battleReadyUpFlag;
     bool setBattleModeFlag;
     
-    
     bool wtRdy;
     bool wtRdy2;
     bool wtRdy3;
     
-    struct _UNIT *Uselected;
-    struct _UNIT *unitBreak;
-    struct _UNIT *Utarget;
-    
     int chipNum[1002][1002];
     int buildNum[1002][1002];
     int unitNum[1002][1002];
     int loadNum[1002][1002];
     int buildTeam[1002][1002];
     int unitTeam[1002][1002];
-    int posX;
-    int posY;
     
-    int chipHeight;
-    int chipWidth;
+    //あったものを読み込むというよりは一部のデータをもとに再現するのにおよそ等しい
+    struct _UNITD dU[dUMAX];
+    struct _BUILDD dB[dBMAX];
     
-    int eSlctX;
-    int eSlctY;
+    struct _PLAYER P[10];
     
-    int registerNum;
-    int registerNumB;
-     
-}
-@end
+    struct _MAPSCRIPT *MS;
+    
+    /*
+    struct _UNIT *UTop;
+    struct _BUILD *BTop;
+    
+    struct _UNIT *Uselected;
+    struct _UNIT *unitBreak;
+    struct _UNIT *Utarget;
+     */
+}SAVEDATADAT;
+
+int datRow;
+SAVEDATADAT sdd;
+SAVEDATADAT sdd2[SAVEDATADATMAX];
 
-Savedatadat *sdd;
-Savedatadat *sdd2;
+int routeCnt;
+bool datExistFlag;
+NSImage *changedImg;
+bool saveFlag;
 
 bool saveDataDatFlag;
 
@@ -517,6 +612,7 @@ int mapChipDataLoadProc;
 
 int LFOLrow;
 
+char *datFilePath;
 
 @interface FieldScene : NSObject
 {
@@ -790,7 +886,7 @@ int LFOLrow;
     IBOutlet NSTableView *saveGameListTV;
     
 }
-
+-(void)loadStruct;
 
 -(IBAction)saveGameSubmit:(id)sender;
 -(IBAction)saveGameCancel:(id)sender;