#include #include "makeext.h" #define FILE_NAME "gwtdata" //8 char file name max, lowercase #define FILE_TYPE {0,'G','W','T','D',0,OTH_TAG} //{0,'a','b','c','d',0,OTH_TAG} where abcd are letters of new file type void _main(void) { const char filetype[] = FILE_TYPE; HANDLE data; MULTI_EXPR *ptr; HSym h; if((h=SymAdd(SYMSTR(FILE_NAME))).folder) { if((data=HeapAlloc(2+sizeof(DATA)+sizeof(filetype)))) { ptr=HeapDeref(data); ptr->Size=EXTsize+sizeof(filetype); memcpy(ptr->Expr, ALLEXT, sizeof(ALLEXT)); memcpy(ptr->Expr+EXTsize, filetype, sizeof(filetype)); DerefSym(h)->handle=data; EM_moveSymToExtMem(SYMSTR(FILE_NAME), HS_NULL); ST_helpMsg("Writing successful!"); ngetchx(); } else { ST_helpMsg("Writing failed!"); SymDel(SYMSTR(FILE_NAME)); ngetchx(); } } return; } =============makeext.h============= #include "gwtactics.h" #define EXTsize (sizeof(DATA)+sizeof(DATA2)) //for writing file size in sym entry, just list all sizeof(DATA#) in the () #define ALLEXT (DATA, DATA2) //Allows for all data to be written at once, just list all the DATA# defines in the () //DATA defines for writing (see above) #define DATA HUDlr #define DATA2 spriteGundam #define DATA3 spriteWeapons //Char offsets for data. Used by main and other functions. #define raHUDleft 0 #define raHUDright SIDEHUDH*NUM_LAYERS #define raGsprites sizeof(HUDlr)