Nightly update (ISO SHA-1 aed1efc)
Note: this removes BMP support
This commit is contained in:
1 parent
f75b59fc75
commit
877accc659
31 files changed
+1338
-226
No files matched your search
@@ -376,6 +376,10 @@ public CDC *DCLoad(U8 *src,I64 *_size=NULL,CTask *task=NULL)
|
||||
#help_index "Graphics/GR Files"
|
||||
#help_file "::/Doc/GRFiles"
|
||||
#help_index "Graphics/Device Contexts;Graphics/GR Files"
|
||||
|
||||
#define GR_FILE_MAX (offset(CDC.end)-offset(CDC.start)+\
|
||||
COLORS_NUM*sizeof(CBGR48)+sizeof(CArcCtrl)+GR_WIDTH*GR_HEIGHT)
|
||||
|
||||
public I64 GRWrite(U8 *filename,CDC *dc,I64 dcsf_flags=DCSF_COMPRESSED)
|
||||
{//TempleOS GR File.
|
||||
I64 size;
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
#help_index "Graphics/Device Contexts;Graphics/GR Files"
|
||||
|
||||
#define MV_FILE_MAX 0x007FF000
|
||||
|
||||
public I64 GR2MV(U8 *print_fmt="VID%03d.MV",
|
||||
U8 *files_find_mask,U8 *fu_flags=NULL)
|
||||
{/*Merge GR lst to MV file.
|
||||
"+d" will delete GR list files.
|
||||
*/
|
||||
I64 fuf_flags=0,file_num=0,size;
|
||||
CDirEntry *tmpde,*tmpde1;
|
||||
U8 *base,*dst,*src,*st;
|
||||
CDC *dc,*dc_base=DCNew(GR_WIDTH,GR_HEIGHT);
|
||||
CDate cdt;
|
||||
Bool old_silent;
|
||||
ScanFlags(&fuf_flags,Define("ST_FILE_UTIL_FLAGS"),"+f+F");
|
||||
ScanFlags(&fuf_flags,Define("ST_FILE_UTIL_FLAGS"),fu_flags);
|
||||
tmpde=tmpde1=FilesFind(files_find_mask,fuf_flags&FUG_FILES_FIND);
|
||||
if (progress1_max=LinkedLstCnt(tmpde1)) {
|
||||
dst=base=MAlloc(MV_FILE_MAX);
|
||||
while (tmpde) {
|
||||
dc=GRRead(tmpde->full_name);
|
||||
GrBlot(dc_base,dc->x0,dc->y0,dc);
|
||||
if (dst+GR_FILE_MAX>base+MV_FILE_MAX) {
|
||||
st=MStrPrint(print_fmt,file_num++);
|
||||
FileWrite(st,base,dst-base);
|
||||
Free(st);
|
||||
dst=base;
|
||||
|
||||
cdt=dc->cdt;
|
||||
dc=DCCopy(dc_base);
|
||||
dc->cdt=cdt;
|
||||
}
|
||||
src=DCSave(dc,&size);
|
||||
DCDel(dc);
|
||||
MemCpy(dst,src,size);
|
||||
dst+=size;
|
||||
Free(src);
|
||||
if (fuf_flags&FUF_DEL) {
|
||||
old_silent=Silent;
|
||||
Del(tmpde->full_name);
|
||||
Silent(old_silent);
|
||||
}
|
||||
progress1++;
|
||||
tmpde=tmpde->next;
|
||||
}
|
||||
if (dst>base) {
|
||||
st=MStrPrint(print_fmt,file_num++);
|
||||
FileWrite(st,base,dst-base);
|
||||
Free(st);
|
||||
}
|
||||
Free(base);
|
||||
}
|
||||
progress1=progress1_max=0;
|
||||
DirTreeDel(tmpde1);
|
||||
DCDel(dc_base);
|
||||
return file_num;
|
||||
}
|
||||
@@ -14,6 +14,7 @@ Cd(__DIR__);;
|
||||
#include "GrBitMap"
|
||||
#include "GrPrimatives"
|
||||
#include "GrComposites"
|
||||
#include "GrMV"
|
||||
|
||||
#define SPE_ABORT (-1)
|
||||
#define SPE_EXIT 0
|
||||
|
||||
@@ -26,8 +26,7 @@
|
||||
#define SPBM_ADD_OUTLINE 23
|
||||
#define SPBM_ETCH 24
|
||||
#define SPBM_UNDO 25
|
||||
#define SPBM_SAVE_BMP 26
|
||||
#define SPBM_SAVE_GRA 27
|
||||
#define SPBM_SAVE_GR 26
|
||||
|
||||
U0 GrInit4()
|
||||
{
|
||||
@@ -36,7 +35,7 @@ U0 GrInit4()
|
||||
"Rect\0Circle\0Text\0Text Box\0Text Diamond\0Flood Fill\0"
|
||||
"Flood Fill Not Color\0PolyLine\0PolyPoint\0Copy\0Delete\0Paste\0"
|
||||
"Paste Transparent\0Find and Replace\0Trim to Extents\0Add Outline\0"
|
||||
"Etch\0Undo\0Save BMP\0Save GR\0");
|
||||
"Etch\0Undo\0Save GR\0");
|
||||
}
|
||||
GrInit4;
|
||||
|
||||
@@ -79,8 +78,7 @@ I64 PopUpSpriteBitMap(CColorROPU32 color,I64 width)
|
||||
"$$MU-UL,\"Delete to Clip\",LE=SPBM_DELETE$$\n"
|
||||
"$$MU-UL,\"Paste Clip\",LE=SPBM_PASTE$$\n"
|
||||
"$$MU-UL,\"Paste Transparent Clip\",LE=SPBM_PASTE_TRANSPARENT$$\n"
|
||||
"\n$$MU-UL,\"Save BMP File\",LE=SPBM_SAVE_BMP$$\n"
|
||||
"$$MU-UL,\"Save GR File\",LE=SPBM_SAVE_GRA$$\n"
|
||||
"\n$$MU-UL,\"Save GR File\",LE=SPBM_SAVE_GR$$\n"
|
||||
"\n$$MU-UL,\"Undo\",LE=SPBM_UNDO$$\n"
|
||||
"\n$$PURPLE$$$$MU-UL,\"+] Sprite Main Menu\",LE=SPBM_MAIN_MENU$$$$LTBLUE$$\n"
|
||||
"$$MU-UL,\"Exit Sprite\",LE=SPBM_EXIT$$\n"
|
||||
@@ -293,12 +291,7 @@ bm_menu:
|
||||
GrBitMapEdPrepPersistentDC(dc,xx1,yy1,img);
|
||||
}
|
||||
goto bm_menu;
|
||||
case SPBM_SAVE_BMP:
|
||||
*filename.name=0;
|
||||
if (DocForm(&filename) && *filename.name)
|
||||
BMPWrite(filename.name,img);
|
||||
goto bm_menu;
|
||||
case SPBM_SAVE_GRA:
|
||||
case SPBM_SAVE_GR:
|
||||
*filename.name=0;
|
||||
if (DocForm(&filename) && *filename.name)
|
||||
GRWrite(filename.name,img,DCSF_COMPRESSED|DCSF_PALETTE_GET);
|
||||
|
||||
Reference in new issue
Block a user