5
I am letting people download it for free because I have some bugs in it, but the importer and exporter for tiled works for three d and two d. basically the tiled portion of the program works
here is the export of the different file types. The save format of tiled has to be very specific to make this work.
-In tiled you need to use base64(uncompressed) in the preferences.
-Only check the reload tile set option in the preferences..
#include "Main.h"
#include "menuhandle.h"
#include "savefiletype.h"
#include "initwindowgravmfc.h"
#include <string>
using namespace std;
string foldernametemp;
void exportanimated(string afile)
{
afile=afile+".file";
agk::OpenToWrite(4,afile.c_str(),0);
int numsprites=getcurnumsprites(0);
if(numsprites==0&&getlpos()==0)
{return;}
//agk::WriteInteger(4,getcurspriteframesize(0));
int ggi=getlpos();
agk::WriteInteger(4,ggi);
for(int ig=0;ig<=ggi;ig++)
{
agk::WriteInteger(4,getlayeranimatedexp(ig));
if(!getlayeranimatedexp(ig))
{
setlpos(ig);
if(checksize(ig))
{
numsprites=getcurnumsprites(ig);
agk::WriteInteger(4,numsprites);
for(int ic=0;ic<numsprites;ic++)
{
agk::WriteString(4,getspritechar(ic));
agk::WriteInteger(4,getsprite(ic));
agk::WriteInteger(4,getwidth(ic,0));
agk::WriteInteger(4,getheight(ic,0));
//agk::getjointid(4,
// int frame=getanimatedspriteframe2(ic,0);
agk::WriteInteger(4,getanimatedspriteframe2(ic,0));
float xx=getcurspritexpos(ic,0);
float yy=getcurspriteypos(ic,0);
agk::WriteFloat(4,getcurspritexpos2(ic,0));
agk::WriteFloat(4,getcurspriteypos2(ic,0));
agk::WriteFloat(4,getcurspriteangle(ic,0));
agk::WriteFloat(4,getcurspritexsize(ic,0));
agk::WriteFloat(4,getcurspriteysize(ic,0));
agk::WriteInteger(4,getcurspritered(ic,0));
agk::WriteInteger(4,getcurspritegreen(ic,0));
agk::WriteInteger(4,getcurspriteblue(ic,0));
agk::WriteInteger(4,gettrans(ic,0));
int ab=getcurspritephysact(ic);
agk::WriteInteger(4,ab);
agk::WriteInteger(4,getphysicstype(ic));
}//for
}//if
}//if if(getlayeranimatedexp(ig))
else if(getlayeranimatedexp(ig))
{
setlpos(ig);
if(checksize(ig))
{
numsprites=getcurnumsprites(ig);
agk::WriteInteger(4,numsprites);
for(int ic=0;ic<numsprites;ic++)
{
agk::WriteInteger(4,getsizepos());
agk::WriteString(4,getspritechar(ic));
agk::WriteInteger(4,getsprite(ic));
for(int ixc=0;ixc<getsizepos();ixc++)
{
agk::WriteInteger(4,getwidth(ic,ixc));
agk::WriteInteger(4,getheight(ic,ixc));
//agk::getjointid(4,
// int frame=getanimatedspriteframe2(ic,0);
agk::WriteInteger(4,getanimatedspriteframe2(ic,ixc));
float xx=getcurspritexpos(ic,ixc);
float yy=getcurspriteypos(ic,ixc);
agk::WriteFloat(4,getcurspritexpos2(ic,ixc));
agk::WriteFloat(4,getcurspriteypos2(ic,ixc));
agk::WriteFloat(4,getcurspriteangle(ic,ixc));
agk::WriteFloat(4,getcurspritexsize(ic,ixc));
agk::WriteFloat(4,getcurspriteysize(ic,ixc));
agk::WriteInteger(4,getcurspritered(ic,ixc));
agk::WriteInteger(4,getcurspritegreen(ic,ixc));
agk::WriteInteger(4,getcurspriteblue(ic,ixc));
agk::WriteInteger(4,gettrans(ic,ixc));
}
int ab=getcurspritephysact(ic);
agk::WriteInteger(4,ab);
agk::WriteInteger(4,getphysicstype(ic));
}
}
}
}
int filesize=getassignnodechildnode();
if(filesize!=0)
{
agk::WriteString(4,"a");
agk::WriteInteger(4,filesize);
for(int icc=0; icc<filesize;icc=icc+1)
{
agk::WriteInteger(4,getjointid(icc));
agk::WriteInteger(4,getassignnodechildnode2(icc));
agk::WriteInteger(4,getassignnodechildnode3(icc));
agk::WriteInteger(4,getspritejointancp1(icc));
agk::WriteInteger(4,getspritejointancp2(icc));
agk::WriteInteger(4,getspritejointancp3(icc));
agk::WriteInteger(4,getspritejointancp4(icc));
}
}
else
{
agk::WriteString(4,"b");
}
agk::WriteString(4,"c");
setanframeszero();
agk::WriteInteger(4,getkeyboardspritenum());
if(getnextaframesize()!=0)
{
for(int ic=0;ic<getnextaframesize();ic++)
{
agk::WriteInteger(4,getnextaframe());
}
}
if(getnextsframesize()!=0)
{
for(int ic=0;ic<getnextsframesize();ic++)
{
agk::WriteInteger(4,getnextsframe());
}
}
if(getnextdkey2framesize()!=0)
{
for(int ic=0;ic<getnextdkey2framesize();ic++)
{
agk::WriteInteger(4,getnextdkey2frame());
}
}
if(getnextrightframesize()!=0)
{
for(int ic=0;ic<getnextrightframesize();ic++)
{
agk::WriteInteger(4,getnextrightframe());
}
}
if(getnextupframesize()!=0)
{
for(int ic=0;ic<getnextupframesize();ic++)
{
agk::WriteInteger(4,getnextupframe());
}
}
if(getnextleftframesize()!=0)
{
for(int ic=0;ic<getnextleftframesize();ic++)
{
agk::WriteInteger(4,getnextleftframe());
}
}
if(getnextdownframesize()!=0)
{
for(int ic=0;ic<getnextdownframesize();ic++)
{
agk::WriteInteger(4,getnextdownframe());
}
}
//int getnextdkey2framesize();
//int getnextsframesize();
//int getnextaframesize();
//int getnextjumpframesize();
if(getnextjumpframesize()!=0)
{
for(int ic=0;ic<getnextjumpframesize();ic++)
{
agk::WriteInteger(4,getnextjumpframe());
}
}
if(getnexthangframesize()!=0)
{
for(int ic=0;ic<getnexthangframesize();ic++)
{
agk::WriteInteger(4,getnexthangframe());
}
}
if(getnextdieframesize()!=0)
{
for(int ic=0;ic<getnextdieframesize();ic++)
{
agk::WriteInteger(4,getnextdieframe());
}
}
if(getnextgethitframesize()!=0)
{
for(int ic=0;ic<getnextgethitframesize();ic++)
{
agk::WriteInteger(4,getnextgethitframe());
}
}
agk::CloseFile(4);
}
void exportanimated2(string atempsave)
{
atempsave=atempsave+".file";
agk::OpenToWrite(4,atempsave.c_str(),0);
int numsprites=getcurnumsprites(0);
if(numsprites==0&&getlpos()==0)
{return;}
//agk::WriteInteger(4,getcurspriteframesize(0));
int ggi=getlpos();
agk::WriteInteger(4,ggi);
for(int ig=0;ig<=ggi;ig++)
{
agk::WriteInteger(4,getlayeranimatedexp(ig));
if(!getlayeranimatedexp(ig))
{
setlpos(ig);
if(checksize(ig))
{
numsprites=getcurnumsprites(ig);
agk::WriteInteger(4,numsprites);
for(int ic=0;ic<numsprites;ic++)
{
agk::WriteInteger(4,getsizepos());
agk::WriteString(4,getspritechar(ic));
agk::WriteInteger(4,getsprite(ic));
for(int ixc=0;ixc<getsizepos();ixc++)
{
agk::WriteInteger(4,getwidth(ic,ixc));
agk::WriteInteger(4,getheight(ic,ixc));
//agk::getjointid(4,
// int frame=getanimatedspriteframe2(ic,0);
agk::WriteInteger(4,getanimatedspriteframe2(ic,ixc));
float xx=getcurspritexpos(ic,ixc);
float yy=getcurspriteypos(ic,ixc);
agk::WriteFloat(4,getcurspritexpos2(ic,ixc));
agk::WriteFloat(4,getcurspriteypos2(ic,ixc));
agk::WriteFloat(4,getcurspriteangle(ic,ixc));
agk::WriteFloat(4,getcurspritexsize(ic,ixc));
agk::WriteFloat(4,getcurspriteysize(ic,ixc));
agk::WriteInteger(4,getcurspritered(ic,ixc));
agk::WriteInteger(4,getcurspritegreen(ic,ixc));
agk::WriteInteger(4,getcurspriteblue(ic,ixc));
agk::WriteInteger(4,gettrans(ic,ixc));
}//for
int ab=getcurspritephysact(ic);
agk::WriteInteger(4,ab);
agk::WriteInteger(4,getphysicstype(ic));
}//for(int
}//if(checksize(ig))
}//if
}//for(int ig=0;ig<=ggi;ig++)
agk::CloseFile(4);
}
void setfilestr(string foldername)
{
foldernametemp=foldername;
agk::MakeFolder(foldername.c_str());
}
void exportafile3d(string afile)
{
agk::OpenToWrite(5,afile.c_str(),0);
// int numobjs=
}
void exportafile2(string afile)
{
afile=afile+".file";
agk::OpenToWrite(4,afile.c_str(),0);
int numsprites=getcurnumsprites(0);
if(numsprites==0&&getlpos()==0)
{return;}
//agk::WriteInteger(4,getcurspriteframesize(0));
int ggi=getlpos();
agk::WriteInteger(4,ggi);
for(int ig=0;ig<=ggi;ig++)
{
setlpos(ig);
if(checksize(ig))
{
numsprites=getcurnumsprites(ig);
agk::WriteInteger(4,numsprites);
for(int ic=0;ic<numsprites;ic++)
{
agk::WriteString(4,getspritechar(ic));
agk::WriteInteger(4,getwidth(ic,0));
agk::WriteInteger(4,getheight(ic,0));
//agk::getjointid(4,
// int frame=getanimatedspriteframe2(ic,0);
agk::WriteInteger(4,getanimatedspriteframe2(ic,0));
float xx=getcurspritexpos(ic,0);
float yy=getcurspriteypos(ic,0);
agk::WriteFloat(4,getcurspritexpos2(ic,0));
agk::WriteFloat(4,getcurspriteypos2(ic,0));
agk::WriteFloat(4,getcurspriteangle(ic,0));
agk::WriteFloat(4,getcurspritexsize(ic,0));
agk::WriteFloat(4,getcurspriteysize(ic,0));
agk::WriteInteger(4,getcurspritered(ic,0));
agk::WriteInteger(4,getcurspritegreen(ic,0));
agk::WriteInteger(4,getcurspriteblue(ic,0));
agk::WriteInteger(4,gettrans(ic,0));
int ab=getcurspritephysact(ic);
agk::WriteInteger(4,ab);
agk::WriteInteger(4,getphysicstype(ic));
}//for
}//if
}
agk::CloseFile(4);
}
void exportafile2a(string afile)
{
afile=afile+".file";
agk::OpenToWrite(4,afile.c_str(),0);
int numsprites=getcurnumsprites(0);
if(numsprites==0&&getlpos()==0)
{return;}
//agk::WriteInteger(4,getcurspriteframesize(0));
int ggi=getlpos();
agk::WriteInteger(4,ggi);
for(int ig=0;ig<=ggi;ig++)
{
// agk::WriteInteger(4,getlayeranimatedexp(ig));
setlpos(ig);
if(checksize(ig))
{
numsprites=getcurnumsprites(ig);
agk::WriteInteger(4,numsprites);
for(int ic=0;ic<numsprites;ic++)
{
float xx=getcurspritexpos(ic,0);
float yy=getcurspriteypos(ic,0);
agk::WriteFloat(4,getcurspritexpos2(ic,0));
agk::WriteFloat(4,getcurspriteypos2(ic,0));
}//for
}//if
}
agk::CloseFile(4);
}
void exportafile2b(string afile)
{
afile=afile+".file";
agk::OpenToWrite(4,afile.c_str(),0);
int numsprites=getcurnumsprites(0);
if(numsprites==0&&getlpos()==0)
{return;}
//agk::WriteInteger(4,getcurspriteframesize(0));
int ggi=getlpos();
agk::WriteInteger(4,ggi);
for(int ig=0;ig<=ggi;ig++)
{
// agk::WriteInteger(4,getlayeranimatedexp(ig));
setlpos(ig);
if(checksize(ig))
{
numsprites=getcurnumsprites(ig);
agk::WriteInteger(4,numsprites);
for(int ic=0;ic<numsprites;ic++)
{
agk::WriteInteger(4,getanimatedspriteframe2(ic,0));
}//for
}//if
}
agk::CloseFile(4);
}
void exportafile2c(string afile)
{
afile=afile+".file";
agk::OpenToWrite(4,afile.c_str(),0);
int numsprites=getcurnumsprites(0);
if(numsprites==0&&getlpos()==0)
{return;}
//agk::WriteInteger(4,getcurspriteframesize(0));
int ggi=getlpos();
agk::WriteInteger(4,ggi);
for(int ig=0;ig<=ggi;ig++)
{
// agk::WriteInteger(4,getlayeranimatedexp(ig));
setlpos(ig);
if(checksize(ig))
{
numsprites=getcurnumsprites(ig);
agk::WriteInteger(4,numsprites);
for(int ic=0;ic<numsprites;ic++)
{
agk::WriteFloat(4,getcurspriteangle(ic,0));
}//for
}//if
}
agk::CloseFile(4);
}
void exportafile2d(string afile)
{
afile=afile+".file";
agk::OpenToWrite(4,afile.c_str(),0);
int numsprites=getcurnumsprites(0);
if(numsprites==0&&getlpos()==0)
{return;}
//agk::WriteInteger(4,getcurspriteframesize(0));
int ggi=getlpos();
agk::WriteInteger(4,ggi);
for(int ig=0;ig<=ggi;ig++)
{
// agk::WriteInteger(4,getlayeranimatedexp(ig));
setlpos(ig);
if(checksize(ig))
{
numsprites=getcurnumsprites(ig);
agk::WriteInteger(4,numsprites);
for(int ic=0;ic<numsprites;ic++)
{
agk::WriteInteger(4,gettrans(ic,0));
}//for
}//if
}
agk::CloseFile(4);
}
void exportafile2e(string afile)
{
afile=afile+".file";
agk::OpenToWrite(4,afile.c_str(),0);
int numsprites=getcurnumsprites(0);
if(numsprites==0&&getlpos()==0)
{return;}
//agk::WriteInteger(4,getcurspriteframesize(0));
int ggi=getlpos();
agk::WriteInteger(4,ggi);
for(int ig=0;ig<=ggi;ig++)
{
// agk::WriteInteger(4,getlayeranimatedexp(ig));
setlpos(ig);
if(checksize(ig))
{
numsprites=getcurnumsprites(ig);
agk::WriteInteger(4,numsprites);
for(int ic=0;ic<numsprites;ic++)
{
agk::WriteString(4,getcurspritechar(ic));
}//for
}//if
}
agk::CloseFile(4);
}
void exportafile2f(string afile)
{
afile=afile+".file";
agk::OpenToWrite(4,afile.c_str(),0);
int numsprites=getcurnumsprites(0);
if(numsprites==0&&getlpos()==0)
{return;}
//agk::WriteInteger(4,getcurspriteframesize(0));
int ggi=getlpos();
agk::WriteInteger(4,ggi);
for(int ig=0;ig<=ggi;ig++)
{
// agk::WriteInteger(4,getlayeranimatedexp(ig));
setlpos(ig);
if(checksize(ig))
{
numsprites=getcurnumsprites(ig);
agk::WriteInteger(4,numsprites);
for(int ic=0;ic<numsprites;ic++)
{
agk::WriteFloat(4,getcurspritexsize(ic,0));
agk::WriteFloat(4,getcurspriteysize(ic,0));
}//for
}//if
}
agk::CloseFile(4);
}
void exportafile2g(string afile)
{
afile=afile+".file";
agk::OpenToWrite(4,afile.c_str(),0);
int numsprites=getcurnumsprites(0);
if(numsprites==0&&getlpos()==0)
{return;}
//agk::WriteInteger(4,getcurspriteframesize(0));
int ggi=getlpos();
agk::WriteInteger(4,ggi);
for(int ig=0;ig<=ggi;ig++)
{
// agk::WriteInteger(4,getlayeranimatedexp(ig));
setlpos(ig);
if(checksize(ig))
{
numsprites=getcurnumsprites(ig);
agk::WriteInteger(4,numsprites);
for(int ic=0;ic<numsprites;ic++)
{
agk::WriteInteger(4,getcurspritered(ic,0));
agk::WriteInteger(4,getcurspritegreen(ic,0));
agk::WriteInteger(4,getcurspriteblue(ic,0));
}//for
}//if
}
agk::CloseFile(4);
}
void exportafile2h(string afile)
{
afile=afile+".file";
agk::OpenToWrite(4,afile.c_str(),0);
int numsprites=getcurnumsprites(0);
if(numsprites==0&&getlpos()==0)
{return;}
//agk::WriteInteger(4,getcurspriteframesize(0));
int ggi=getlpos();
agk::WriteInteger(4,ggi);
for(int ig=0;ig<=ggi;ig++)
{
// agk::WriteInteger(4,getlayeranimatedexp(ig));
setlpos(ig);
if(checksize(ig))
{
numsprites=getcurnumsprites(ig);
agk::WriteInteger(4,numsprites);
for(int ic=0;ic<numsprites;ic++)
{
agk::WriteInteger(4,getsprite(ic));
}//for
}//if
}
agk::CloseFile(4);
}
void exportafile2i(string afile)
{
afile=afile+".file";
int filesize=getassignnodechildnode();
if(filesize!=0)
{
agk::WriteInteger(4,filesize);
for(int icc=0; icc<filesize;icc=icc+1)
{
agk::WriteInteger(4,getjointid(icc));
agk::WriteInteger(4,getassignnodechildnode2(icc));
agk::WriteInteger(4,getassignnodechildnode3(icc));
agk::WriteInteger(4,getspritejointancp1(icc));
agk::WriteInteger(4,getspritejointancp2(icc));
agk::WriteInteger(4,getspritejointancp3(icc));
agk::WriteInteger(4,getspritejointancp4(icc));
}
}
agk::CloseFile(4);
}
void exportafile2j(string afile)
{
afile=afile+".file";
int ggi=getlpos();
setlpos(ggi);
int numsprites=getcurnumsprites(ggi);
agk::WriteInteger(4,numsprites);
for(int ic=0;ic<numsprites;ic++)
{
// agk::WriteInteger(4,getsizepos());
// agk::WriteString(4,getspritechar(ic));
// agk::WriteInteger(4,getsprite(ic));
float xx=getcurspritexpos(ic,ggi);
float yy=getcurspriteypos(ic,ggi);
agk::WriteFloat(4,getcurspritexpos2(ic,ggi));
agk::WriteFloat(4,getcurspriteypos2(ic,ggi));
}
agk::CloseFile(4);
}
void exportafile2k(string afile)
{
afile=afile+".file";
int ggi=getlpos();
setlpos(ggi);
int numsprites=getcurnumsprites(ggi);
agk::WriteInteger(4,numsprites);
for(int ic=0;ic<numsprites;ic++)
{
// agk::WriteInteger(4,getsizepos());
// agk::WriteString(4,getspritechar(ic));
// agk::WriteInteger(4,getsprite(ic));
agk::WriteInteger(4,getanimatedspriteframe2(ic,ggi));
}
agk::CloseFile(4);
}
void exportafile2l(string afile)
{
afile=afile+".file";
int ggi=getlpos();
setlpos(ggi);
int numsprites=getcurnumsprites(ggi);
agk::WriteInteger(4,numsprites);
for(int ic=0;ic<numsprites;ic++)
{
// agk::WriteInteger(4,getsizepos());
// agk::WriteString(4,getspritechar(ic));
// agk::WriteInteger(4,getsprite(ic));
numsprites=getcurnumsprites(ggi);
agk::WriteInteger(4,numsprites);
agk::WriteInteger(4,getcurspriteangle(ic,0));
}
agk::CloseFile(4);
}
void exportafile2m(string atempsave)
{
atempsave=atempsave+".file";
int ggi=getlpos();
setlpos(ggi);
int numsprites=getcurnumsprites(ggi);
agk::WriteInteger(4,numsprites);
for(int ic=0;ic<numsprites;ic++)
{
// agk::WriteInteger(4,getsizepos());
// agk::WriteString(4,getspritechar(ic));
// agk::WriteInteger(4,getsprite(ic));
numsprites=getcurnumsprites(ggi);
agk::WriteInteger(4,numsprites);
agk::WriteInteger(4,gettrans(ic,ggi));
}
agk::CloseFile(4);
}
void exportafile2n(string atempsave)
{
atempsave=atempsave+".file";
int ggi=getlpos();
setlpos(ggi);
int numsprites=getcurnumsprites(ggi);
agk::WriteInteger(4,numsprites);
for(int ic=0;ic<numsprites;ic++)
{
// agk::WriteInteger(4,getsizepos());
// agk::WriteString(4,getspritechar(ic));
// agk::WriteInteger(4,getsprite(ic));
numsprites=getcurnumsprites(ggi);
agk::WriteInteger(4,numsprites);
agk::WriteString(4,getcurspritechar(ic));
//agk::WriteInteger(4,gettrans(ic,ixc));
}
agk::CloseFile(4);
}
void exportafile2o(string atempsave)
{
atempsave=atempsave+".file";
int ggi=getlpos();
setlpos(ggi);
int numsprites=getcurnumsprites(ggi);
agk::WriteInteger(4,numsprites);
for(int ic=0;ic<numsprites;ic++)
{
// agk::WriteInteger(4,getsizepos());
// agk::WriteString(4,getspritechar(ic));
// agk::WriteInteger(4,getsprite(ic));
numsprites=getcurnumsprites(ggi);
agk::WriteInteger(4,numsprites);
agk::WriteInteger(4,getcurspritered(ic,ggi));
agk::WriteInteger(4,getcurspritegreen(ic,ggi));
agk::WriteInteger(4,getcurspriteblue(ic,ggi));
//agk::WriteInteger(4,gettrans(ic,ixc));
}
agk::CloseFile(4);
}
void exportafile2p(string atempsave)
{
atempsave=atempsave+".file";
int ggi=getlpos();
setlpos(ggi);
int numsprites=getcurnumsprites(ggi);
agk::WriteInteger(4,numsprites);
for(int ic=0;ic<numsprites;ic++)
{
// agk::WriteInteger(4,getsizepos());
// agk::WriteString(4,getspritechar(ic));
// agk::WriteInteger(4,getsprite(ic));
numsprites=getcurnumsprites(ggi);
agk::WriteInteger(4,numsprites);
agk::WriteFloat(4,getcurspritexsize(ic,ggi));
agk::WriteFloat(4,getcurspriteysize(ic,ggi));
//agk::WriteInteger(4,gettrans(ic,ixc));
}
agk::CloseFile(4);
}
void exportafile2q(string atempsave)
{
atempsave=atempsave+".file";
int ggi=getlpos();
setlpos(ggi);
int numsprites=getcurnumsprites(ggi);
agk::WriteInteger(4,numsprites);
for(int ic=0;ic<numsprites;ic++)
{
// agk::WriteInteger(4,getsizepos());
// agk::WriteString(4,getspritechar(ic));
// agk::WriteInteger(4,getsprite(ic));
numsprites=getcurnumsprites(ggi);
agk::WriteInteger(4,numsprites);
agk::WriteInteger(4,getsprite(ggi));
}
agk::CloseFile(4);
}
void exportafile22(string afile)
{
afile=afile+".file";
agk::OpenToWrite(4,afile.c_str(),0);
int numsprites=getcurnumsprites(0);
agk::WriteInteger(4,getcurspriteframesize(0));
agk::WriteInteger(4,numsprites);
int ggi=getlpos();
agk::WriteInteger(4,ggi);
// setlpos(ig);
//agk::WriteInteger(4,icc);
for(int ic=0;ic<numsprites;ic++)
{
agk::WriteInteger(4,getsprite(ic));
char *filechar=getspritechar(ic);
/* if(filechar=="")
{
agk::WriteLine(4,"none");
}
else
{
agk::WriteLine(4,getspritechar(ic));
}*/
agk::WriteInteger(4,getanimatedsprite(ic));
//int width =getwidth(ic);
// agk::WriteInteger(4,getwidth(ic));
// agk::WriteInteger(4,getheight(ic));
//agk::getjointid(4,
int frame=getanimatedspriteframe2(ic,0);
agk::WriteInteger(4,getanimatedspriteframe2(ic,0));
float xx=getcurspritexpos(ic,0);
float yy=getcurspriteypos(ic,0);
agk::WriteString(4,getspritechar(ic));
agk::WriteFloat(4,getcurspritexpos2(ic,0));
agk::WriteFloat(4,getcurspriteypos2(ic,0));
agk::WriteFloat(4,getcurspriteangle(ic,0));
agk::WriteFloat(4,getcurspritexsize(ic,0));
agk::WriteFloat(4,getcurspriteysize(ic,0));
agk::WriteInteger(4,getcurspritered(ic,0));
agk::WriteInteger(4,getcurspritegreen(ic,0));
agk::WriteInteger(4,getcurspriteblue(ic,0));
agk::WriteInteger(4,gettrans(ic,0));
int ab=getcurspritephysact(ic);
agk::WriteInteger(4,ab);
}
agk::CloseFile(4);
}
void exportafile(string afile)
{
afile=afile+".file";
agk::OpenToWrite(4,afile.c_str(),0);
int numsprites=getcurnumsprites(0);
agk::WriteInteger(4,getcurspriteframesize(0));
agk::WriteInteger(4,numsprites);
for(int ic=0;ic<numsprites;ic++)
{
agk::WriteInteger(4,getsprite(ic));
agk::WriteLine(4,getspritechar(ic));
}
for(int icc=0;icc<getcurspriteframesize(0);icc++)
{
agk::WriteInteger(4,icc);
for(int ic=0;ic<numsprites;ic++)
{
agk::WriteInteger(4,getsprite(ic));
agk::WriteInteger(4,getcurspritephysact(ic));
//agk::getjointid(4,
agk::WriteInteger(4,getanimatedspriteframe2(ic,0));
agk::WriteFloat(4,getcurspritexpos(ic,icc));
agk::WriteFloat(4,getcurspriteypos(ic,icc));
agk::WriteFloat(4,getcurspriteangle(ic,icc));
agk::WriteFloat(4,getcurspritexsize(ic,icc));
agk::WriteFloat(4,getcurspriteysize(ic,icc));
agk::WriteFloat(4,getcurspritered(ic,icc));
agk::WriteFloat(4,getcurspritegreen(ic,icc));
agk::WriteFloat(4,getcurspriteblue(ic,icc));
agk::WriteFloat(4,gettrans(ic,icc));
}
}
if(getspritejointsize()!=0)
{
agk::WriteInteger(4, getspritejointsize());
for(int icc=0;icc<getspritejointsize();icc++)
{
agk::WriteInteger(4,icc);
//int GETSPRITEJOINTPARENT(int pos);
agk::WriteInteger(4,getspritejointparent(icc));
//int GETSPRITEJOINTCHILD(int pos);
agk::WriteInteger(4, getspritejointchild(icc));
// int GETSPRITEJOINTANCP1(int pos);
agk::WriteInteger(4, getspritejointancp1(icc));
//int GETSPRITEJOINTANCP2(int pos);
agk::WriteInteger(4,getspritejointancp2(icc));
//int GETSPRITEJOINTANCP3(int pos
agk::WriteInteger(4,getspritejointancp3(icc));
agk::WriteInteger(4,getspritejointancp4(icc));
}
}
// setanframeszero();
/* agk::WriteInteger(4,getkeyboardspritenum());
if(getnextupframesize()!=0)
{
for(int ic=0;ic<getnextupframesize();ic++)
{
agk::WriteInteger(4,getnextupframe());
}
}
if(getnextdownframesize()!=0)
{
for(int ic=0;ic<getnextdownframesize();ic++)
{
agk::WriteInteger(4,getnextdownframe());
}
}
if(getnextleftframesize()!=0)
{
for(int ic=0;ic<getnextleftframesize();ic++)
{
agk::WriteInteger(4,getnextleftframe());
}
}
if(getnextrightframesize()!=0)
{
for(int ic=0;ic<getnextrightframesize();ic++)
{
agk::WriteInteger(4,getnextrightframe());
}
}
//int getnextdkey2framesize();
//int getnextsframesize();
//int getnextaframesize();
//int getnextjumpframesize();
if(getnextjumpframesize()!=0)
{
for(int ic=0;ic<getnextjumpframesize();ic++)
{
agk::WriteInteger(4,getnextjumpframe());
}
}
if(getnextaframesize()!=0)
{
for(int ic=0;ic<getnextaframesize();ic++)
{
agk::WriteInteger(4,getnextaframe());
}
}
if(getnextsframesize()!=0)
{
for(int ic=0;ic<getnextsframesize();ic++)
{
agk::WriteInteger(4,getnextsframe());
}
}
if(getnextdkey2framesize()!=0)
{
for(int ic=0;ic<getnextdkey2framesize();ic++)
{
agk::WriteInteger(4,getnextdkey2frame());
}
}*/
agk::CloseFile(4);
}
void exportkeys5(string asavefile)
{
asavefile=asavefile+".file";
agk::OpenToWrite(4,asavefile.c_str(),0);
setanframeszero();
agk::WriteInteger(4,getkeyboardspritenum());
if(getnextaframesize()!=0)
{
for(int ic=0;ic<getnextaframesize();ic++)
{
agk::WriteInteger(4,getnextaframe());
}
}
if(getnextsframesize()!=0)
{
for(int ic=0;ic<getnextsframesize();ic++)
{
agk::WriteInteger(4,getnextsframe());
}
}
if(getnextdkey2framesize()!=0)
{
for(int ic=0;ic<getnextdkey2framesize();ic++)
{
agk::WriteInteger(4,getnextdkey2frame());
}
}
if(getnextrightframesize()!=0)
{
for(int ic=0;ic<getnextrightframesize();ic++)
{
agk::WriteInteger(4,getnextrightframe());
}
}
if(getnextupframesize()!=0)
{
for(int ic=0;ic<getnextupframesize();ic++)
{
agk::WriteInteger(4,getnextupframe());
}
}
if(getnextleftframesize()!=0)
{
for(int ic=0;ic<getnextleftframesize();ic++)
{
agk::WriteInteger(4,getnextleftframe());
}
}
if(getnextdownframesize()!=0)
{
for(int ic=0;ic<getnextdownframesize();ic++)
{
agk::WriteInteger(4,getnextdownframe());
}
}
//int getnextdkey2framesize();
//int getnextsframesize();
//int getnextaframesize();
//int getnextjumpframesize();
if(getnextjumpframesize()!=0)
{
for(int ic=0;ic<getnextjumpframesize();ic++)
{
agk::WriteInteger(4,getnextjumpframe());
}
}
if(getnexthangframesize()!=0)
{
for(int ic=0;ic<getnexthangframesize();ic++)
{
agk::WriteInteger(4,getnexthangframe());
}
}
if(getnextdieframesize()!=0)
{
for(int ic=0;ic<getnextdieframesize();ic++)
{
agk::WriteInteger(4,getnextdieframe());
}
}
if(getnextgethitframesize()!=0)
{
for(int ic=0;ic<getnextgethitframesize();ic++)
{
agk::WriteInteger(4,getnextgethitframe());
}
}
agk::CloseFile(4);
}
void saveafile(string asavefile)
{
agk::OpenToWrite(4,asavefile.c_str(),0);
// agk::WriteInteger(4,getnumframes());
agk::WriteInteger(4,5);
//agk
agk::CloseFile(4);
}
void exportnonanimatedfile(string afile)
{
afile=afile+".file";
agk::OpenToWrite(15,afile.c_str(),0);
int numsprites=getcurspriteframesize(0);
if(numsprites==0&&getlpos()==0)
{return;}
//agk::WriteInteger(4,getcurspriteframesize(0));
//agk::WriteInteger(15,numsprites);
int ggi=getlpos();
int icnt=0;
agk::WriteInteger(15,ggi);
for(int xcnt=0; xcnt<=ggi;xcnt++)
{
setlpos(xcnt);
int objnum=getcurobjectnum(xcnt);
agk::WriteInteger(15,objnum);
for(int xcc=0;xcc<objnum;xcc++)
{
agk::WriteString(15,getcurspritechar(xcc));
agk::WriteFloat(15,getobjectxpos(xcc,0));
agk::WriteFloat(15,getobjectypos(xcc,0));
agk::WriteFloat(15,getobjectzpos(xcc,0));
agk::WriteFloat(15,getobjectrotx(xcc,0));
agk::WriteFloat(15,getobjectroty(xcc,0));
agk::WriteFloat(15,getobjectrotz(xcc,0));
agk::WriteFloat(15,getobjecttrans(xcc,0));
agk::WriteFloat(15,getobjectsizex(xcc,0));
agk::WriteFloat(15,getobjectsizey(xcc,0));
agk::WriteFloat(15,getobjectsizez(xcc,0));
icnt++;
}
}
agk::CloseFile(15);
}
void exportnonanimatedfilea(string afile)
{
afile=afile+".file";
agk::OpenToWrite(15,afile.c_str(),0);
int numsprites=getcurspriteframesize(0);
if(numsprites==0&&getlpos()==0)
{return;}
//agk::WriteInteger(4,getcurspriteframesize(0));
//agk::WriteInteger(15,numsprites);
int ggi=getlpos();
int icnt=0;
agk::WriteInteger(15,ggi);
for(int xcnt=0; xcnt<=ggi;xcnt++)
{
setlpos(xcnt);
int objnum=getcurobjectnum(xcnt);
agk::WriteInteger(15,objnum);
for(int xcc=0;xcc<objnum;xcc++)
{
agk::WriteFloat(15,getobjectxpos(xcc,0));
agk::WriteFloat(15,getobjectypos(xcc,0));
agk::WriteFloat(15,getobjectzpos(xcc,0));
icnt++;
}
}
agk::CloseFile(15);
}
void exportnonanimatedfileb(string afile)
{
afile=afile+".file";
agk::OpenToWrite(15,afile.c_str(),0);
int numsprites=getcurspriteframesize(0);
if(numsprites==0&&getlpos()==0)
{return;}
//agk::WriteInteger(4,getcurspriteframesize(0));
//agk::WriteInteger(15,numsprites);
int ggi=getlpos();
int icnt=0;
agk::WriteInteger(15,ggi);
for(int xcnt=0; xcnt<=ggi;xcnt++)
{
setlpos(xcnt);
int objnum=getcurobjectnum(xcnt);
agk::WriteInteger(15,objnum);
for(int xcc=0;xcc<objnum;xcc++)
{
agk::WriteFloat(15,getobjectrotx(xcc,0));
agk::WriteFloat(15,getobjectroty(xcc,0));
agk::WriteFloat(15,getobjectrotz(xcc,0));
icnt++;
}
}
agk::CloseFile(15);
}
void exportnonanimatedfilec(string afile)
{
afile=afile+".file";
agk::OpenToWrite(15,afile.c_str(),0);
int numsprites=getcurspriteframesize(0);
if(numsprites==0&&getlpos()==0)
{return;}
//agk::WriteInteger(4,getcurspriteframesize(0));
//agk::WriteInteger(15,numsprites);
int ggi=getlpos();
int icnt=0;
agk::WriteInteger(15,ggi);
for(int xcnt=0; xcnt<=ggi;xcnt++)
{
setlpos(xcnt);
int objnum=getcurobjectnum(xcnt);
agk::WriteInteger(15,objnum);
for(int xcc=0;xcc<objnum;xcc++)
{
agk::WriteFloat(15,getobjecttrans(xcc,0));
icnt++;
}
}
agk::CloseFile(15);
}
void exportnonanimatedfiled(string afile)
{
afile=afile+".file";
agk::OpenToWrite(15,afile.c_str(),0);
int numsprites=getcurspriteframesize(0);
if(numsprites==0&&getlpos()==0)
{return;}
//agk::WriteInteger(4,getcurspriteframesize(0));
//agk::WriteInteger(15,numsprites);
int ggi=getlpos();
int icnt=0;
agk::WriteInteger(15,ggi);
for(int xcnt=0; xcnt<=ggi;xcnt++)
{
setlpos(xcnt);
int objnum=getcurobjectnum(xcnt);
agk::WriteInteger(15,objnum);
for(int xcc=0;xcc<objnum;xcc++)
{
agk::WriteInteger(15,getobjectred(xcc,0));
agk::WriteInteger(15,getobjectgreen(xcc,0));
agk::WriteInteger(15,getobjectblue(xcc,0));
icnt++;
}
}
agk::CloseFile(15);
}
void exportnonanimatedfilef(string afile)
{
afile=afile+".file";
agk::OpenToWrite(15,afile.c_str(),0);
int numsprites=getcurspriteframesize(0);
if(numsprites==0&&getlpos()==0)
{return;}
//agk::WriteInteger(4,getcurspriteframesize(0));
//agk::WriteInteger(15,numsprites);
int ggi=getlpos();
int icnt=0;
agk::WriteInteger(15,ggi);
for(int xcnt=0; xcnt<=ggi;xcnt++)
{
setlpos(xcnt);
int objnum=getcurobjectnum(xcnt);
agk::WriteInteger(15,objnum);
for(int xcc=0;xcc<objnum;xcc++)
{
agk::WriteFloat(15,getobjectsizex(xcc,0));
agk::WriteFloat(15,getobjectsizey(xcc,0));
agk::WriteFloat(15,getobjectsizez(xcc,0));
icnt++;
}
}
agk::CloseFile(15);
}
void exportnonanimatedfileg(string afile)
{
afile=afile+".file";
agk::OpenToWrite(15,afile.c_str(),0);
int numsprites=getcurspriteframesize(0);
if(numsprites==0&&getlpos()==0)
{return;}
//agk::WriteInteger(4,getcurspriteframesize(0));
//agk::WriteInteger(15,numsprites);
int ggi=getlpos();
int icnt=0;
agk::WriteInteger(15,ggi);
for(int xcnt=0; xcnt<=ggi;xcnt++)
{
setlpos(xcnt);
int objnum=getcurobjectnum(xcnt);
agk::WriteInteger(15,objnum);
for(int xcc=0;xcc<objnum;xcc++)
{
agk::WriteInteger(15,getobjectimage(xcc));
agk::WriteString(15,getobjectimage2(xcc).c_str());
agk::WriteString(15,getobjectsubimage(xcc).c_str());
icnt++;
}
}
agk::CloseFile(15);
}
void exportnonanimatedfilee(string afile)
{
afile=afile+".file";
agk::OpenToWrite(15,afile.c_str(),0);
int numsprites=getcurspriteframesize(0);
if(numsprites==0&&getlpos()==0)
{return;}
//agk::WriteInteger(4,getcurspriteframesize(0));
//agk::WriteInteger(15,numsprites);
int ggi=getlpos();
int icnt=0;
agk::WriteInteger(15,ggi);
for(int xcnt=0; xcnt<=ggi;xcnt++)
{
setlpos(xcnt);
int objnum=getcurobjectnum(xcnt);
agk::WriteInteger(15,objnum);
agk::WriteInteger(15,objnum);
for(int xcc=0;xcc<objnum;xcc++)
{
agk::WriteFloat(15,getobjecttrans(xcc,0));
icnt++;
}
}
agk::CloseFile(15);
}
void exportanimatedfile(string afile)
{
afile=afile+".file";
agk::OpenToWrite(15,afile.c_str(),0);
int numsprites=getcurspriteframesize(0);
if(numsprites==0&&getlpos()==0)
{return;}
//agk::WriteInteger(4,getcurspriteframesize(0));
//agk::WriteInteger(15,numsprites);
int ggi=getlpos();
int icnt=0;
agk::WriteInteger(15,ggi);
for(int xcnt=0; xcnt<=ggi;xcnt++)
{
setlpos(xcnt);
int objnum=getcurobjectnum(xcnt);
agk::WriteInteger(15,objnum);
if(objnum!=0)
{
for(int xcc=0;xcc<objnum;xcc++)
{
agk::WriteString(15,getcurspritechar(xcc));
agk::WriteInteger(15,getsizepos());
// agk::WriteString(4,getspritechar(ic));
// agk::WriteInteger(4,getsprite(ic));
// for(int ixc=0;ixc<getsizepos();ixc++)
// {
for(int framnum=0;framnum<getsizepos();framnum++)
{
agk::WriteInteger(15,getobjectimage(xcc));
agk::WriteFloat(15,getobjectxpos(xcc,framnum));
agk::WriteFloat(15,getobjectypos(xcc,framnum));
agk::WriteFloat(15,getobjectzpos(xcc,framnum));
agk::WriteFloat(15,getobjectrotx(xcc,framnum));
agk::WriteFloat(15,getobjectroty(xcc,framnum));
agk::WriteFloat(15,getobjectrotz(xcc,framnum));
agk::WriteFloat(15,getobjecttrans(xcc,framnum));
agk::WriteFloat(15,getobjectsizex(xcc,framnum));
agk::WriteFloat(15,getobjectsizey(xcc,framnum));
agk::WriteFloat(15,getobjectsizez(xcc,framnum));
icnt++;
}
}
}
}
agk::CloseFile(15);
}
here is a older post
http://forum.thegamecreators.com/?m=forum_view&t=198386&b=8
This is the x y export
void exportafile2a(string afile)
{
afile=afile+".file";
agk::OpenToWrite(4,afile.c_str(),0);
int numsprites=getcurnumsprites(0);
if(numsprites==0&&getlpos()==0)
{return;}
//agk::WriteInteger(4,getcurspriteframesize(0));
int ggi=getlpos();
agk::WriteInteger(4,ggi);
for(int ig=0;ig<=ggi;ig++)
{
// agk::WriteInteger(4,getlayeranimatedexp(ig));
setlpos(ig);
if(checksize(ig))
{
numsprites=getcurnumsprites(ig);
agk::WriteInteger(4,numsprites);
for(int ic=0;ic<numsprites;ic++)
{
float xx=getcurspritexpos(ic,0);
float yy=getcurspriteypos(ic,0);
agk::WriteFloat(4,getcurspritexpos2(ic,0));
agk::WriteFloat(4,getcurspriteypos2(ic,0));
}//for
}//if
}
agk::CloseFile(4);
}
the first data in the save export is the number of x and y layers.
the second data in the save export is the number of x and y cords in the layer
then the rest of the save export data is the x and y cords in a export file.
then it repeats to
the number of data in the layer.
and the x and y cords in that layer.
this is the frame export
void exportafile2b(string afile)
{
afile=afile+".file";
agk::OpenToWrite(4,afile.c_str(),0);
int numsprites=getcurnumsprites(0);
if(numsprites==0&&getlpos()==0)
{return;}
//agk::WriteInteger(4,getcurspriteframesize(0));
int ggi=getlpos();
agk::WriteInteger(4,ggi);
for(int ig=0;ig<=ggi;ig++)
{
// agk::WriteInteger(4,getlayeranimatedexp(ig));
setlpos(ig);
if(checksize(ig))
{
numsprites=getcurnumsprites(ig);
agk::WriteInteger(4,numsprites);
for(int ic=0;ic<numsprites;ic++)
{
agk::WriteInteger(4,getanimatedspriteframe2(ic,0));
}//for
}//if
}
}
the first data is the number of layers
the first data in the file is the number of sprites in layer
the next pieces of data is the frames or the frame numbers of the sprites in the layer.
then it repeats to the number of sprites in layer
then the frames in that layer
Developer of Space Chips, pianobasic, zipzapzoom, and vet pinball apps. Developed the tiled map engine seen on the showcase. Veteran for the military.