Update to latest TOS distro
This commit is contained in:
1 parent
7e46072c81
commit
70ff1e2f75
142 files changed
+6403
-9909
No files matched your search
Binary file not shown.
@@ -226,7 +226,7 @@ U0 TouchFile(U8 *filename,U8 *attr,CDate cdt=I64_MIN)
|
|||||||
DirNew(dv,cur_dir,&de,FALSE);
|
DirNew(dv,cur_dir,&de,FALSE);
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
PrintErr("File not found.\n");
|
PrintErr("File not found: \"%s\".\n",filename);
|
||||||
Free(cur_dir);
|
Free(cur_dir);
|
||||||
}
|
}
|
||||||
public U0 Touch(U8 *files_find_mask="*",U8 *attr="+?",
|
public U0 Touch(U8 *files_find_mask="*",U8 *attr="+?",
|
||||||
|
|||||||
@@ -1,444 +0,0 @@
|
|||||||
#help_index "Info;File/Cmd Line (Typically);Cmd Line (Typically)"
|
|
||||||
Bool ChkDskConfirm(Bool *_fix,Bool *_confirm)
|
|
||||||
{
|
|
||||||
if (*_fix && *_confirm) {
|
|
||||||
"Fix ";
|
|
||||||
if (!YorN)
|
|
||||||
*_fix=FALSE;
|
|
||||||
*_confirm=FALSE;
|
|
||||||
}
|
|
||||||
return *_fix;
|
|
||||||
}
|
|
||||||
|
|
||||||
I64 RedSeaChkDskLst(CDrv *dv,CDirEntry *tmpde1,
|
|
||||||
U8 *bits,U8 *bits2,I64 size,I64 bpc)
|
|
||||||
{
|
|
||||||
CDirEntry *tmpde2;
|
|
||||||
I64 i,j,errs=0;
|
|
||||||
while (tmpde1) {
|
|
||||||
tmpde2=tmpde1->next;
|
|
||||||
if (tmpde1->attr & RS_ATTR_DIR && tmpde1->sub)
|
|
||||||
errs+=RedSeaChkDskLst(dv,tmpde1->sub,bits,bits2,size,bpc);
|
|
||||||
j=(tmpde1->size+bpc-1)/bpc;
|
|
||||||
for (i=0;i<j;i++) {
|
|
||||||
if (i+tmpde1->cluster-dv->data_area>size) {
|
|
||||||
PrintErr("Invalid Cluster:%s Cluster:%X\n",tmpde1->full_name,
|
|
||||||
i+tmpde1->cluster);
|
|
||||||
errs++;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (LBts(bits,i+tmpde1->cluster-dv->data_area)) {
|
|
||||||
PrintErr("Dbl Alloc:%s Cluster:%X\n",tmpde1->full_name,
|
|
||||||
i+tmpde1->cluster);
|
|
||||||
errs++;
|
|
||||||
}
|
|
||||||
if (!LBtr(bits2,i+tmpde1->cluster-dv->data_area)) {
|
|
||||||
PrintErr("UnAlloc:%s Cluster:%X\n",tmpde1->full_name,
|
|
||||||
i+tmpde1->cluster);
|
|
||||||
errs++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
DirEntryDel(tmpde1);
|
|
||||||
tmpde1=tmpde2;
|
|
||||||
}
|
|
||||||
return errs;
|
|
||||||
}
|
|
||||||
|
|
||||||
I64 RedSeaChkDsk(U8 drv_let,Bool *_fix,Bool *_confirm)
|
|
||||||
{
|
|
||||||
I64 i,j,bpc,size,errs=0;
|
|
||||||
CDrv *dv=Let2Drv(drv_let),*old_dv=Fs->cur_dv;
|
|
||||||
U8 *files_find_mask=MStrPrint("%c:/*",Drv2Let(dv)),
|
|
||||||
*old_dir=StrNew(Fs->cur_dir),
|
|
||||||
*bits,*bits2;
|
|
||||||
CDirEntry *ptr,*ptr2;
|
|
||||||
|
|
||||||
Drv(drv_let);
|
|
||||||
"Scanning...\n";
|
|
||||||
size=(dv->size-(dv->data_area-dv->drv_offset))/dv->spc;
|
|
||||||
bpc=dv->spc<<BLK_SIZE_BITS;
|
|
||||||
bits=CAlloc((size+7)>>3);
|
|
||||||
bits2=CAlloc((size+7)>>3+BLK_SIZE);
|
|
||||||
RBlks(dv,bits2,dv->fat1,((size+7)>>3+BLK_SIZE-1)>>BLK_SIZE_BITS);
|
|
||||||
|
|
||||||
//Get Root Dir size
|
|
||||||
ptr2=MAlloc(bpc);
|
|
||||||
RBlks(dv,ptr2,dv->root_cluster,1);
|
|
||||||
ptr=ptr2(U8 *)-offset(CDirEntry.start);
|
|
||||||
j=(ptr->size+bpc-1)/bpc;
|
|
||||||
Free(ptr2);
|
|
||||||
|
|
||||||
for (i=0;i<j;i++) {
|
|
||||||
if (i+dv->root_cluster-dv->data_area>size) {
|
|
||||||
PrintErr("Invalid Cluster: RootDir Cluster:%X\n",i+dv->root_cluster);
|
|
||||||
errs++;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (LBts(bits,i+dv->root_cluster-dv->data_area)) {
|
|
||||||
PrintErr("Dbl Alloc: RootDir Cluster:%X\n",i+dv->root_cluster);
|
|
||||||
errs++;
|
|
||||||
}
|
|
||||||
if (!LBtr(bits2,i+dv->root_cluster-dv->data_area)) {
|
|
||||||
PrintErr("UnAlloc: RootDir Cluster:%X\n",i+dv->root_cluster);
|
|
||||||
errs++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
errs+=RedSeaChkDskLst(dv,FilesFind(files_find_mask,FUF_RECURSE),
|
|
||||||
bits,bits2,size,bpc);
|
|
||||||
for (i=1;i<size;i++)
|
|
||||||
if (Bt(bits2,i)) {
|
|
||||||
PrintWarn("Shouldn't Alloc Cluster:%0X\n",i+dv->data_area);
|
|
||||||
errs++;
|
|
||||||
if (ChkDskConfirm(_fix,_confirm))
|
|
||||||
RedSeaFreeClusters(dv,i+dv->data_area,1);
|
|
||||||
}
|
|
||||||
|
|
||||||
Free(files_find_mask);
|
|
||||||
Free(bits);
|
|
||||||
Free(bits2);
|
|
||||||
Drv(Drv2Let(old_dv));
|
|
||||||
Cd(old_dir);
|
|
||||||
Free(old_dir);
|
|
||||||
return errs;
|
|
||||||
}
|
|
||||||
|
|
||||||
I64 FAT32ChkDskLst(CDrv *dv,CDirEntry *tmpde1,
|
|
||||||
U8 *bits,U32 *bits2,I64 size,I64 bpc)
|
|
||||||
{
|
|
||||||
CDirEntry *tmpde2;
|
|
||||||
I64 i,c,errs=0;
|
|
||||||
while (tmpde1) {
|
|
||||||
tmpde2=tmpde1->next;
|
|
||||||
if (tmpde1->attr & RS_ATTR_DIR && tmpde1->sub)
|
|
||||||
errs+=FAT32ChkDskLst(dv,tmpde1->sub,bits,bits2,size,bpc);
|
|
||||||
i=0;
|
|
||||||
c=tmpde1->cluster;
|
|
||||||
while (0<c<0x0FFFFFF8) {
|
|
||||||
if (c>size) {
|
|
||||||
PrintErr("Invalid Cluster:%s Cluster:%X\n",tmpde1->full_name,c);
|
|
||||||
errs++;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (LBts(bits,c)) {
|
|
||||||
PrintErr("Dbl Alloc:%s Cluster:%X\n",tmpde1->full_name,c);
|
|
||||||
errs++;
|
|
||||||
}
|
|
||||||
if (!bits2[c]) {
|
|
||||||
PrintErr("UnAlloc:%s Cluster:%X\n",tmpde1->full_name,c);
|
|
||||||
errs++;
|
|
||||||
} else
|
|
||||||
bits2[c]=0;
|
|
||||||
c=ClusterNumNext(dv,c);
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
if (!(tmpde1->attr & RS_ATTR_DIR)) {
|
|
||||||
i*=bpc;
|
|
||||||
if (tmpde1->size>i) {
|
|
||||||
PrintErr("Alloced File Too Short:%s\n",tmpde1->full_name);
|
|
||||||
errs++;
|
|
||||||
}
|
|
||||||
if (i>tmpde1->size+bpc-1) {
|
|
||||||
PrintWarn("Alloced File Too Long:%s\n",tmpde1->full_name);
|
|
||||||
errs++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
DirEntryDel(tmpde1);
|
|
||||||
tmpde1=tmpde2;
|
|
||||||
}
|
|
||||||
return errs;
|
|
||||||
}
|
|
||||||
|
|
||||||
I64 FAT32ChkDsk(U8 drv_let,Bool *_fix,Bool *_confirm)
|
|
||||||
{
|
|
||||||
I64 i,bpc,size,c,errs=0;
|
|
||||||
CDrv *dv=Let2Drv(drv_let),*old_dv=Fs->cur_dv;
|
|
||||||
U8 *files_find_mask=MStrPrint("%c:/*",Drv2Let(dv)),
|
|
||||||
*old_dir=StrNew(Fs->cur_dir),
|
|
||||||
*bits;
|
|
||||||
U32 *bits2;
|
|
||||||
Drv(drv_let);
|
|
||||||
"Scanning...\n";
|
|
||||||
size=(dv->size-(dv->data_area-dv->drv_offset))/dv->spc;
|
|
||||||
bpc=dv->spc<<BLK_SIZE_BITS;
|
|
||||||
bits=CAlloc((size+7)>>3);
|
|
||||||
bits2=CAlloc(size*4+BLK_SIZE);
|
|
||||||
RBlks(dv,bits2,dv->fat1,(size*4+BLK_SIZE-1)>>BLK_SIZE_BITS);
|
|
||||||
|
|
||||||
c=dv->root_cluster;
|
|
||||||
while (0<c<0x0FFFFFF8) {
|
|
||||||
if (c>size) {
|
|
||||||
PrintErr("Invalid Cluster: RootDir Cluster:%X\n",c);
|
|
||||||
errs++;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (LBts(bits,c)) {
|
|
||||||
PrintErr("Dbl Alloc: RootDir Cluster:%X\n",c);
|
|
||||||
errs++;
|
|
||||||
}
|
|
||||||
if (!bits2[c]) {
|
|
||||||
PrintErr("UnAlloc: RootDir Cluster:%X\n",c);
|
|
||||||
errs++;
|
|
||||||
} else
|
|
||||||
bits2[c]=0;
|
|
||||||
c=ClusterNumNext(dv,c);
|
|
||||||
}
|
|
||||||
|
|
||||||
errs+=FAT32ChkDskLst(dv,FilesFind(files_find_mask,FUF_RECURSE),
|
|
||||||
bits,bits2,size,bpc);
|
|
||||||
|
|
||||||
bits2[1]=0; //See $LK,"FAT32Fmt",A="MN:FAT32Fmt"$()
|
|
||||||
for (i=1;i<size;i++)
|
|
||||||
if (bits2[i]) {
|
|
||||||
PrintWarn("Shouldn't Alloc Cluster:%0X\n",i);
|
|
||||||
errs++;
|
|
||||||
if (ChkDskConfirm(_fix,_confirm))
|
|
||||||
FAT32FreeClusters(dv,i);
|
|
||||||
}
|
|
||||||
Free(files_find_mask);
|
|
||||||
Free(bits);
|
|
||||||
Free(bits2);
|
|
||||||
Drv(Drv2Let(old_dv));
|
|
||||||
Cd(old_dir);
|
|
||||||
Free(old_dir);
|
|
||||||
return errs;
|
|
||||||
}
|
|
||||||
|
|
||||||
public I64 ChkDsk(U8 drv_let=0,Bool fix=FALSE,Bool confirm=TRUE)
|
|
||||||
{//Check disk for allocation errors and, optionally, fix.
|
|
||||||
//You probably want to reformat and reinstall.
|
|
||||||
I64 errs=0;
|
|
||||||
CDrv *dv=Let2Drv(drv_let);
|
|
||||||
switch (dv->fs_type) {
|
|
||||||
case FSt_REDSEA:
|
|
||||||
errs=RedSeaChkDsk(drv_let,&fix,&confirm);
|
|
||||||
break;
|
|
||||||
case FSt_FAT32:
|
|
||||||
errs=FAT32ChkDsk(drv_let,&fix,&confirm);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
PrintErr("File System Not Supported\n");
|
|
||||||
}
|
|
||||||
if (errs) {
|
|
||||||
if (fix)
|
|
||||||
"It might be a little better. ";
|
|
||||||
"Copy files to another partition or CD/DVD, "
|
|
||||||
"reformat, and copy back. "
|
|
||||||
"Or, copy from a back-up.\n";
|
|
||||||
}
|
|
||||||
return errs;
|
|
||||||
}
|
|
||||||
|
|
||||||
U0 RedSeaDrvView(U8 drv_let=0)
|
|
||||||
{
|
|
||||||
CDrv *dv=Let2Drv(drv_let);
|
|
||||||
I64 lohi,c1,i,x,y,l=(GR_HEIGHT-3*FONT_HEIGHT)*(GR_WIDTH-FONT_WIDTH<<1),
|
|
||||||
s=dv->size+dv->drv_offset-dv->data_area;
|
|
||||||
U8 *bitmap;
|
|
||||||
CDC *dc=DCAlias;
|
|
||||||
|
|
||||||
SettingsPush; //See $LK,"SettingsPush",A="MN:SettingsPush"$
|
|
||||||
WinMax;
|
|
||||||
WinBorder(ON);
|
|
||||||
DocCursor;
|
|
||||||
DocClear;
|
|
||||||
DCFill;
|
|
||||||
try {
|
|
||||||
i=((s+7)>>3+BLK_SIZE-1)>>BLK_SIZE_BITS;
|
|
||||||
bitmap=MAlloc(i<<BLK_SIZE_BITS);
|
|
||||||
RBlks(dv,bitmap,dv->fat1,i);
|
|
||||||
i=0;
|
|
||||||
for (y=0;y<GR_HEIGHT-3*FONT_HEIGHT;y++) {
|
|
||||||
if (ScanKey)
|
|
||||||
break;
|
|
||||||
for (x=0;x<GR_WIDTH-FONT_WIDTH<<1;x++) {
|
|
||||||
lohi=i*s;
|
|
||||||
c1=lohi/l;
|
|
||||||
if (Bt(bitmap,c1))
|
|
||||||
dc->color=ROP_XOR+BLUE^TRANSPARENT;
|
|
||||||
else
|
|
||||||
dc->color=ROP_XOR+WHITE^TRANSPARENT;
|
|
||||||
GrPlot(dc,x,y);
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Free(bitmap);
|
|
||||||
} catch
|
|
||||||
DrvUnlock(dv);
|
|
||||||
GetChar;
|
|
||||||
|
|
||||||
SettingsPop;
|
|
||||||
DCFill;
|
|
||||||
DCDel(dc);
|
|
||||||
}
|
|
||||||
U0 FAT32DrvView(U8 drv_let=0)
|
|
||||||
{
|
|
||||||
CDrv *dv=Let2Drv(drv_let);
|
|
||||||
I64 lohi,c1,i,x,y,l=(GR_HEIGHT-3*FONT_HEIGHT)*(GR_WIDTH-FONT_WIDTH<<1),
|
|
||||||
s=(dv->size+dv->spc-1)/dv->spc-(2+dv->data_area-dv->drv_offset);
|
|
||||||
U32 *bitmap;
|
|
||||||
CDC *dc=DCAlias;
|
|
||||||
|
|
||||||
SettingsPush; //See $LK,"SettingsPush",A="MN:SettingsPush"$
|
|
||||||
WinMax;
|
|
||||||
WinBorder(ON);
|
|
||||||
DocCursor;
|
|
||||||
DocClear;
|
|
||||||
DCFill;
|
|
||||||
try {
|
|
||||||
i=(s*4+BLK_SIZE-1)>>BLK_SIZE_BITS;
|
|
||||||
bitmap=MAlloc(i<<BLK_SIZE_BITS);
|
|
||||||
RBlks(dv,bitmap,dv->fat1,i);
|
|
||||||
i=0;
|
|
||||||
for (y=0;y<GR_HEIGHT-3*FONT_HEIGHT;y++) {
|
|
||||||
if (ScanKey)
|
|
||||||
break;
|
|
||||||
for (x=0;x<GR_WIDTH-FONT_WIDTH<<1;x++) {
|
|
||||||
lohi=i*s;
|
|
||||||
c1=lohi/l;
|
|
||||||
if (bitmap[c1])
|
|
||||||
dc->color=ROP_XOR+BLUE^TRANSPARENT;
|
|
||||||
else
|
|
||||||
dc->color=ROP_XOR+WHITE^TRANSPARENT;
|
|
||||||
GrPlot(dc,x,y);
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Free(bitmap);
|
|
||||||
} catch
|
|
||||||
DrvUnlock(dv);
|
|
||||||
GetChar;
|
|
||||||
|
|
||||||
SettingsPop;
|
|
||||||
DCFill;
|
|
||||||
DCDel(dc);
|
|
||||||
}
|
|
||||||
public U0 DrvView(U8 drv_let=0)
|
|
||||||
{//Drive view. Graph the allocation map's fragmentation.
|
|
||||||
CDrv *dv=Let2Drv(drv_let),*old_dv=Fs->cur_dv;
|
|
||||||
Drv(drv_let);
|
|
||||||
switch (dv->fs_type) {
|
|
||||||
case FSt_REDSEA:
|
|
||||||
RedSeaDrvView(drv_let);
|
|
||||||
break;
|
|
||||||
case FSt_FAT32:
|
|
||||||
FAT32DrvView(drv_let);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
PrintErr("File System Not Supported\n");
|
|
||||||
}
|
|
||||||
Drv(Drv2Let(old_dv));
|
|
||||||
}
|
|
||||||
|
|
||||||
public U0 DskView(U8 drv_let=0)
|
|
||||||
{//Disk view. Pie chart of partition sizes.
|
|
||||||
I64 i,j,attr,
|
|
||||||
h=Fs->pix_width,
|
|
||||||
v=Fs->pix_height,
|
|
||||||
radius;
|
|
||||||
CDrv *dv;
|
|
||||||
CBlkDev *bd=Let2BlkDev(drv_let);
|
|
||||||
CDC *dc=DCAlias;
|
|
||||||
F64 sect_start,sect_end;
|
|
||||||
|
|
||||||
SettingsPush; //See $LK,"SettingsPush",A="MN:SettingsPush"$
|
|
||||||
DocCursor;
|
|
||||||
DocClear;
|
|
||||||
DCFill;
|
|
||||||
if (h<v)
|
|
||||||
radius=0.4*h;
|
|
||||||
else
|
|
||||||
radius=0.4*v;
|
|
||||||
dc->color=BLACK;
|
|
||||||
GrCircle(dc,h>>1,v>>1,radius);
|
|
||||||
|
|
||||||
j=1;
|
|
||||||
for (i=0;i<DRVS_NUM;i++) {
|
|
||||||
dv=&blkdev.drvs[i];
|
|
||||||
if (bd==dv->bd && dv->fs_type) {
|
|
||||||
sect_start=-(dv->drv_offset*2*ã/(bd->max_blk+1));
|
|
||||||
sect_end =-((dv->drv_offset+dv->size)*2*ã/(bd->max_blk+1));
|
|
||||||
dc->color=BLACK;
|
|
||||||
GrLine(dc,h>>1,v>>1,
|
|
||||||
h>>1+radius*Cos(sect_start),
|
|
||||||
v>>1+radius*Sin(sect_start));
|
|
||||||
GrLine(dc,h>>1,v>>1,
|
|
||||||
h>>1+radius*Cos(sect_end),
|
|
||||||
v>>1+radius*Sin(sect_end));
|
|
||||||
|
|
||||||
attr=DrvTextAttrGet(Drv2Let(dv));
|
|
||||||
dc->color=attr&15;
|
|
||||||
GrPrint(dc,0,v-FONT_HEIGHT*j,"%C %-8Z",Drv2Let(dv),
|
|
||||||
dv->fs_type,"ST_DRV_TYPES");
|
|
||||||
dc->color.c1=attr>>4;
|
|
||||||
dc->color|=ROPF_DITHER;
|
|
||||||
GrFloodFill(dc,
|
|
||||||
h>>1+(radius-4)*Cos((sect_start+sect_end)/2),
|
|
||||||
v>>1+(radius-4)*Sin((sect_start+sect_end)/2),FALSE);
|
|
||||||
j++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
GetChar(,FALSE);
|
|
||||||
SettingsPop;
|
|
||||||
DCFill;
|
|
||||||
DCDel(dc);
|
|
||||||
}
|
|
||||||
|
|
||||||
I64 RedSeaUnusedDrvSpace(U8 drv_let=0)
|
|
||||||
{
|
|
||||||
CDrv *dv=Let2Drv(drv_let);
|
|
||||||
I64 res=0,i,l;
|
|
||||||
U8 *bitmap;
|
|
||||||
try {
|
|
||||||
l=dv->size+dv->drv_offset-dv->data_area;
|
|
||||||
i=((l+7)>>3+BLK_SIZE-1)>>BLK_SIZE_BITS;
|
|
||||||
bitmap=MAlloc(i<<BLK_SIZE_BITS);
|
|
||||||
RBlks(dv,bitmap,dv->fat1,i);
|
|
||||||
for (i=0;i<l;i++)
|
|
||||||
if (!Bt(bitmap,i))
|
|
||||||
res++;
|
|
||||||
Free(bitmap);
|
|
||||||
} catch
|
|
||||||
DrvUnlock(dv);
|
|
||||||
return res*BLK_SIZE*dv->spc;
|
|
||||||
}
|
|
||||||
I64 FAT32UnusedDrvSpace(U8 drv_let=0)
|
|
||||||
{
|
|
||||||
CDrv *dv=Let2Drv(drv_let);
|
|
||||||
I64 res=0,i,l;
|
|
||||||
U32 *bitmap;
|
|
||||||
try {
|
|
||||||
l=(dv->size+dv->spc-1)/dv->spc-(2+dv->data_area-dv->drv_offset);
|
|
||||||
i=(l*4+BLK_SIZE-1)>>BLK_SIZE_BITS;
|
|
||||||
bitmap=MAlloc(i<<BLK_SIZE_BITS);
|
|
||||||
RBlks(dv,bitmap,dv->fat1,i);
|
|
||||||
for (i=0;i<l;i++)
|
|
||||||
if (!bitmap[i])
|
|
||||||
res++;
|
|
||||||
Free(bitmap);
|
|
||||||
} catch
|
|
||||||
DrvUnlock(dv);
|
|
||||||
return res*BLK_SIZE*dv->spc;
|
|
||||||
}
|
|
||||||
public I64 UnusedDrvSpace(U8 drv_let=0)
|
|
||||||
{//Returns unused size in bytes.
|
|
||||||
CDrv *dv=Let2Drv(drv_let),*old_dv=Fs->cur_dv;
|
|
||||||
U8 *old_dir=StrNew(Fs->cur_dir);
|
|
||||||
I64 res=0;
|
|
||||||
Drv(drv_let);
|
|
||||||
switch (dv->fs_type) {
|
|
||||||
case FSt_REDSEA:
|
|
||||||
res=RedSeaUnusedDrvSpace(drv_let);
|
|
||||||
break;
|
|
||||||
case FSt_FAT32:
|
|
||||||
res=FAT32UnusedDrvSpace(drv_let);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
PrintErr("File System Not Supported\n");
|
|
||||||
}
|
|
||||||
Drv(Drv2Let(old_dv));
|
|
||||||
Cd(old_dir);
|
|
||||||
Free(old_dir);
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
@@ -141,6 +141,9 @@ CDirEntry *FMRebuildDocDrv(U8 drv_let,CDoc *doc,CDirEntry **_head,Bool init)
|
|||||||
return tmpde;
|
return tmpde;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define DEF2_PROCESSED 1
|
||||||
|
#define DEF2_NOT_INITIALIZED 2
|
||||||
|
|
||||||
U0 FMRebuildDoc(CDoc **_doc,CDirEntry **_head,I64 mode)
|
U0 FMRebuildDoc(CDoc **_doc,CDirEntry **_head,I64 mode)
|
||||||
{
|
{
|
||||||
CDrv *dv;
|
CDrv *dv;
|
||||||
@@ -222,7 +225,7 @@ U0 FMRebuildDoc(CDoc **_doc,CDirEntry **_head,I64 mode)
|
|||||||
tmpde=FMRebuildDocDrv(Drv2Let(dv),doc,_head,TRUE);
|
tmpde=FMRebuildDocDrv(Drv2Let(dv),doc,_head,TRUE);
|
||||||
else {
|
else {
|
||||||
tmpde=FMRebuildDocDrv(Drv2Let(dv),doc,_head,FALSE);
|
tmpde=FMRebuildDocDrv(Drv2Let(dv),doc,_head,FALSE);
|
||||||
tmpde->flags|=DEF_NOT_INITIALIZED;
|
tmpde->user_data2|=DEF2_NOT_INITIALIZED;
|
||||||
}
|
}
|
||||||
} else if (dv->fs_type==FSt_REDSEA || dv->fs_type==FSt_FAT32)
|
} else if (dv->fs_type==FSt_REDSEA || dv->fs_type==FSt_FAT32)
|
||||||
FMRebuildDocDrv(Drv2Let(dv),doc,_head,TRUE);
|
FMRebuildDocDrv(Drv2Let(dv),doc,_head,TRUE);
|
||||||
@@ -388,11 +391,10 @@ U0 FMFmtDrv(CDoc *doc)
|
|||||||
Free(st);
|
Free(st);
|
||||||
}
|
}
|
||||||
|
|
||||||
U0 FMMakeISO(CDoc *doc,I64 type)
|
U0 FMMakeISO(CDoc *doc)
|
||||||
{
|
{
|
||||||
CDocEntry *doc_ce=doc->cur_entry;
|
CDocEntry *doc_ce=doc->cur_entry;
|
||||||
CDirEntry *tmpde;
|
CDirEntry *tmpde;
|
||||||
U8 *st;
|
|
||||||
if (doc_ce->type_u8==DOCT_TREE || doc_ce->type_u8==DOCT_MENU_VAL)
|
if (doc_ce->type_u8==DOCT_TREE || doc_ce->type_u8==DOCT_MENU_VAL)
|
||||||
tmpde=doc_ce->user_data;
|
tmpde=doc_ce->user_data;
|
||||||
else
|
else
|
||||||
@@ -402,19 +404,7 @@ U0 FMMakeISO(CDoc *doc,I64 type)
|
|||||||
tmpde=tmpde->parent;
|
tmpde=tmpde->parent;
|
||||||
if (tmpde && *tmpde->full_name) {
|
if (tmpde && *tmpde->full_name) {
|
||||||
Silent;
|
Silent;
|
||||||
switch (type) {
|
RedSeaISO(,tmpde->full_name);
|
||||||
case FSt_REDSEA:
|
|
||||||
RedSeaISO(,tmpde->full_name);
|
|
||||||
break;
|
|
||||||
case FSt_ISO9660:
|
|
||||||
if (tmpde->full_name[StrLen(tmpde->full_name)-1]=='/')
|
|
||||||
st=MStrPrint("%s*",tmpde->full_name);
|
|
||||||
else
|
|
||||||
st=MStrPrint("%s/*",tmpde->full_name);
|
|
||||||
ISO9660ISO(,st);
|
|
||||||
Free(st);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
Silent(OFF);
|
Silent(OFF);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -455,18 +445,18 @@ U0 FMCopy(CDoc *doc)
|
|||||||
while (doc_e!=doc2) {
|
while (doc_e!=doc2) {
|
||||||
if (doc_e->type_u8==DOCT_MENU_VAL) {
|
if (doc_e->type_u8==DOCT_MENU_VAL) {
|
||||||
tmpde=doc_e->user_data;
|
tmpde=doc_e->user_data;
|
||||||
tmpde->flags|=DEF_PROCESSED;
|
tmpde->user_data2|=DEF2_PROCESSED;
|
||||||
tmpde2=tmpde->parent;
|
tmpde2=tmpde->parent;
|
||||||
if (!tmpde2 || !(tmpde2->flags&DEF_PROCESSED)) {
|
if (!tmpde2 || !(tmpde2->user_data2&DEF2_PROCESSED)) {
|
||||||
Silent;
|
Silent;
|
||||||
Copy(tmpde->full_name,tmpde1->full_name);
|
Copy(tmpde->full_name,tmpde1->full_name);
|
||||||
Silent(OFF);
|
Silent(OFF);
|
||||||
}
|
}
|
||||||
} else if (doc_e->type_u8==DOCT_TREE) {
|
} else if (doc_e->type_u8==DOCT_TREE) {
|
||||||
tmpde=doc_e->user_data;
|
tmpde=doc_e->user_data;
|
||||||
tmpde->flags|=DEF_PROCESSED;
|
tmpde->user_data2|=DEF2_PROCESSED;
|
||||||
tmpde2=tmpde->parent;
|
tmpde2=tmpde->parent;
|
||||||
if (!tmpde2 || !(tmpde2->flags&DEF_PROCESSED)) {
|
if (!tmpde2 || !(tmpde2->user_data2&DEF2_PROCESSED)) {
|
||||||
Silent;
|
Silent;
|
||||||
if (*tmpde1->name)
|
if (*tmpde1->name)
|
||||||
st=MStrPrint("%s/%s",tmpde1->full_name,tmpde->name);
|
st=MStrPrint("%s/%s",tmpde1->full_name,tmpde->name);
|
||||||
@@ -496,9 +486,8 @@ U0 FMCopy(CDoc *doc)
|
|||||||
#define FMR_MOUNT_REDSEA_ISO_C 9
|
#define FMR_MOUNT_REDSEA_ISO_C 9
|
||||||
#define FMR_UNMOUNT 10
|
#define FMR_UNMOUNT 10
|
||||||
#define FMR_MAKE_REDSEA_ISO_C 11
|
#define FMR_MAKE_REDSEA_ISO_C 11
|
||||||
#define FMR_MAKE_ISO9660 12
|
#define FMR_BURN_ISO 12
|
||||||
#define FMR_BURN_ISO 13
|
#define FMR_HELP 13
|
||||||
#define FMR_HELP 14
|
|
||||||
|
|
||||||
I64 PopUpFMRight(U8 *header=NULL,U8 *footer=NULL)
|
I64 PopUpFMRight(U8 *header=NULL,U8 *footer=NULL)
|
||||||
{
|
{
|
||||||
@@ -518,8 +507,7 @@ I64 PopUpFMRight(U8 *header=NULL,U8 *footer=NULL)
|
|||||||
"LE=FMR_MOUNT_REDSEA_ISO_C$$"
|
"LE=FMR_MOUNT_REDSEA_ISO_C$$"
|
||||||
"$$CM+LX,29,0$$$$BT,\"UNMOUNT \",LE=FMR_UNMOUNT$$"
|
"$$CM+LX,29,0$$$$BT,\"UNMOUNT \",LE=FMR_UNMOUNT$$"
|
||||||
"$$CM+LX,1,3 $$$$BT,\"MAKE ISO.C (CD/DVD) FILE\",LE=FMR_MAKE_REDSEA_ISO_C$$"
|
"$$CM+LX,1,3 $$$$BT,\"MAKE ISO.C (CD/DVD) FILE\",LE=FMR_MAKE_REDSEA_ISO_C$$"
|
||||||
"$$CM+LX,29,0$$$$BT,\"MAKE ISO (CD/DVD) FILE \",LE=FMR_MAKE_ISO9660$$"
|
"$$CM+LX,29,0$$$$BT,\"BURN ISO (CD/DVD) FILE \",LE=FMR_BURN_ISO$$"
|
||||||
"$$CM+LX,1,3 $$$$BT,\"BURN ISO (CD/DVD) FILE \",LE=FMR_BURN_ISO$$"
|
|
||||||
"$$CM+LX,1,3 $$$$BT,\"HELP \",LE=FMR_HELP$$"
|
"$$CM+LX,1,3 $$$$BT,\"HELP \",LE=FMR_HELP$$"
|
||||||
"$$CM+LX,29,0$$$$BT,\"CANCEL \",LE=DOCM_CANCEL$$\n");
|
"$$CM+LX,29,0$$$$BT,\"CANCEL \",LE=DOCM_CANCEL$$\n");
|
||||||
if (footer) DocPrint(doc,"%s",footer);
|
if (footer) DocPrint(doc,"%s",footer);
|
||||||
@@ -567,9 +555,6 @@ U0 FMRightClick()
|
|||||||
case FMR_MAKE_REDSEA_ISO_C:
|
case FMR_MAKE_REDSEA_ISO_C:
|
||||||
Msg(MSG_KEY_DOWN,'m',0);
|
Msg(MSG_KEY_DOWN,'m',0);
|
||||||
break;
|
break;
|
||||||
case FMR_MAKE_ISO9660:
|
|
||||||
Msg(MSG_KEY_DOWN,'M',0);
|
|
||||||
break;
|
|
||||||
case FMR_BURN_ISO:
|
case FMR_BURN_ISO:
|
||||||
Msg(MSG_KEY_DOWN,'B',0);
|
Msg(MSG_KEY_DOWN,'B',0);
|
||||||
break;
|
break;
|
||||||
@@ -724,11 +709,8 @@ public U8 *FileMgr(I64 mode=FM_NORMAL,CTask *mem_task=NULL)
|
|||||||
case 'u':
|
case 'u':
|
||||||
FMUnmount(doc);
|
FMUnmount(doc);
|
||||||
break;
|
break;
|
||||||
case 'M':
|
|
||||||
FMMakeISO(doc,FSt_ISO9660);
|
|
||||||
break;
|
|
||||||
case 'm':
|
case 'm':
|
||||||
FMMakeISO(doc,FSt_REDSEA);
|
FMMakeISO(doc);
|
||||||
break;
|
break;
|
||||||
case 'B':
|
case 'B':
|
||||||
FMBurnISO(doc);
|
FMBurnISO(doc);
|
||||||
|
|||||||
@@ -1,167 +0,0 @@
|
|||||||
#help_index "Install;File/Cmd Line (Typically);Cmd Line (Typically)"
|
|
||||||
|
|
||||||
#define ROUND_DRV_TO (63*255)
|
|
||||||
#define DRV_HEADER 63
|
|
||||||
|
|
||||||
class CPlannedDrv
|
|
||||||
{
|
|
||||||
CPlannedDrv *next,*last;
|
|
||||||
I64 size;
|
|
||||||
Bool pri;
|
|
||||||
};
|
|
||||||
|
|
||||||
public I64 PrtDsk(U8 drv_let=0,...)
|
|
||||||
{/*Partition the disk containing partition drv_let.
|
|
||||||
|
|
||||||
drv_let=0 means add new drive that is not already mounted.
|
|
||||||
|
|
||||||
>PrtDsk('C',0.5,0.25,0.25); //Make three. 50% C, 25% D, 25% E, round-up to blk.
|
|
||||||
|
|
||||||
*/
|
|
||||||
CBlkDev *bd;
|
|
||||||
CPlannedDrv head,*tmppp;
|
|
||||||
CMasterBoot mbr;
|
|
||||||
Bool pri=TRUE;
|
|
||||||
I64 ext_base,drv_let2,pri_cnt=0,i,start_offset,offset,
|
|
||||||
total,remaining,cur_arg=0;
|
|
||||||
"This command does not play well\n"
|
|
||||||
"with other operating systems.\n"
|
|
||||||
"You really should use another\n"
|
|
||||||
"operating system's partitioner.\n"
|
|
||||||
"If you use this, it may, in fact,\n"
|
|
||||||
"make your hard drive impossible\n"
|
|
||||||
"to repartition with other operating\n"
|
|
||||||
"until you set block zero to zero\n"
|
|
||||||
"with $$LK,\"BootMHDZero\",\"MN:BootMHDZero\"$$()\n\n\n"
|
|
||||||
"Continue";
|
|
||||||
if (argc<=cur_arg && !YorN)
|
|
||||||
return 0;
|
|
||||||
'\n';
|
|
||||||
|
|
||||||
if (drv_let && !Let2BlkDev(drv_let,FALSE))
|
|
||||||
drv_let=0;
|
|
||||||
if (!drv_let && !(drv_let=Mount(TRUE)) ||
|
|
||||||
!(bd=Let2BlkDev(drv_let,FALSE)) || bd->type!=BDT_ATA)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
total=bd->max_blk+1;
|
|
||||||
QueInit(&head);
|
|
||||||
drv_let2=bd->first_drv_let;
|
|
||||||
remaining=FloorU64(bd->max_blk+1,ROUND_DRV_TO);
|
|
||||||
while (FloorU64(remaining,ROUND_DRV_TO)>=ROUND_DRV_TO) {
|
|
||||||
tmppp=MAlloc(sizeof(CPlannedDrv));
|
|
||||||
do {
|
|
||||||
"$$RED$$Partition %C$$FG$$\n",drv_let2;
|
|
||||||
tmppp->pri=FALSE;
|
|
||||||
if (pri) {
|
|
||||||
"Primary Partition";
|
|
||||||
if (argc>cur_arg || YorN) {
|
|
||||||
pri_cnt++;
|
|
||||||
tmppp->pri=TRUE;
|
|
||||||
if (pri_cnt==3)
|
|
||||||
pri=FALSE;
|
|
||||||
} else
|
|
||||||
pri=FALSE;
|
|
||||||
}
|
|
||||||
"\nBlocks Remaining:%d (0x%X)\n",
|
|
||||||
remaining-DRV_HEADER,remaining-DRV_HEADER;
|
|
||||||
if (argc>cur_arg)
|
|
||||||
tmppp->size=MinI64(CeilU64(MaxI64(remaining,DRV_HEADER),ROUND_DRV_TO),
|
|
||||||
CeilU64(argv[cur_arg++](F64)*total,ROUND_DRV_TO));
|
|
||||||
else
|
|
||||||
tmppp->size=CeilU64(GetI64("Size in Blocks :",
|
|
||||||
remaining-DRV_HEADER)+DRV_HEADER,ROUND_DRV_TO);
|
|
||||||
} while (!(ROUND_DRV_TO<=tmppp->size<=FloorU64(remaining,ROUND_DRV_TO)));
|
|
||||||
QueIns(tmppp,head.last);
|
|
||||||
remaining-=tmppp->size;
|
|
||||||
drv_let2++;
|
|
||||||
}
|
|
||||||
|
|
||||||
"\n\n!!! Repartition Drive !!!\n\n";
|
|
||||||
tmppp=head.next;
|
|
||||||
drv_let2=bd->first_drv_let;
|
|
||||||
while (tmppp!=&head) {
|
|
||||||
"Drive %C:%08X ",drv_let2,tmppp->size;
|
|
||||||
if (tmppp->pri)
|
|
||||||
"Primary\n";
|
|
||||||
else
|
|
||||||
"Logical\n";
|
|
||||||
tmppp=tmppp->next;
|
|
||||||
drv_let2++;
|
|
||||||
}
|
|
||||||
if (!argc && !AreYouSure)
|
|
||||||
goto pd_done;
|
|
||||||
|
|
||||||
remaining=FloorU64(bd->max_blk+1,ROUND_DRV_TO)-ROUND_DRV_TO;
|
|
||||||
tmppp=head.next;
|
|
||||||
MemSet(&mbr,0,BLK_SIZE);
|
|
||||||
mbr.signature=0xAA55;
|
|
||||||
offset=0;
|
|
||||||
for (i=0;i<pri_cnt;i++) {
|
|
||||||
mbr.p[i].active=0x80;
|
|
||||||
mbr.p[i].start_head=0;
|
|
||||||
mbr.p[i].start_cyl=0x101;
|
|
||||||
mbr.p[i].type=1; //Will get set different.
|
|
||||||
mbr.p[i].end_head=0xFE;
|
|
||||||
mbr.p[i].end_cyl=0xFFFF;
|
|
||||||
mbr.p[i].offset=DRV_HEADER+offset;
|
|
||||||
mbr.p[i].size=tmppp->size-DRV_HEADER;
|
|
||||||
offset+=tmppp->size;
|
|
||||||
remaining-=tmppp->size;
|
|
||||||
tmppp=tmppp->next;
|
|
||||||
}
|
|
||||||
if (!i) i++;
|
|
||||||
if (tmppp!=&head) {
|
|
||||||
mbr.p[i].active=0x80;
|
|
||||||
mbr.p[i].start_head=0;
|
|
||||||
mbr.p[i].start_cyl=0x101;
|
|
||||||
mbr.p[i].type=0xF;
|
|
||||||
mbr.p[i].end_head=0xFE;
|
|
||||||
mbr.p[i].end_cyl=0xFFFF;
|
|
||||||
mbr.p[i].offset=offset;
|
|
||||||
mbr.p[i].size=remaining;
|
|
||||||
ext_base=offset;
|
|
||||||
}
|
|
||||||
ATAWriteBlks(bd,&mbr,0,1);
|
|
||||||
|
|
||||||
while (tmppp!=&head) {
|
|
||||||
start_offset=offset;
|
|
||||||
MemSet(&mbr,0,BLK_SIZE);
|
|
||||||
mbr.signature=0xAA55;
|
|
||||||
|
|
||||||
mbr.p[0].active=0x80;
|
|
||||||
mbr.p[0].start_head=1;
|
|
||||||
mbr.p[0].start_cyl=0x101;
|
|
||||||
mbr.p[0].type=1; //Will get set different.
|
|
||||||
mbr.p[0].end_head=0xFE;
|
|
||||||
mbr.p[0].end_cyl=0xFFFF;
|
|
||||||
mbr.p[0].offset=DRV_HEADER;
|
|
||||||
mbr.p[0].size=tmppp->size-DRV_HEADER;
|
|
||||||
offset+=tmppp->size;
|
|
||||||
tmppp=tmppp->next;
|
|
||||||
if (tmppp!=&head) {
|
|
||||||
mbr.p[1].active=0x80;
|
|
||||||
mbr.p[1].start_head=0;
|
|
||||||
mbr.p[1].start_cyl=0x101;
|
|
||||||
mbr.p[1].type=5;
|
|
||||||
mbr.p[1].end_head=0xFE;
|
|
||||||
mbr.p[1].end_cyl=0xFFFF;
|
|
||||||
mbr.p[1].offset=offset-ext_base;
|
|
||||||
mbr.p[1].size=tmppp->size;
|
|
||||||
}
|
|
||||||
ATAWriteBlks(bd,&mbr,start_offset,1);
|
|
||||||
}
|
|
||||||
|
|
||||||
bd->flags&=~(BDF_INITIALIZED | BDF_INIT_IN_PROGRESS);
|
|
||||||
BlkDevAdd(bd,,FALSE,TRUE);
|
|
||||||
for (i=bd->first_drv_let;i<drv_let2;i++)
|
|
||||||
Fmt(i,,FALSE);
|
|
||||||
|
|
||||||
pd_done:
|
|
||||||
while (head.next!=&head) {
|
|
||||||
tmppp=head.next;
|
|
||||||
QueRem(tmppp);
|
|
||||||
Free(tmppp);
|
|
||||||
}
|
|
||||||
return total;
|
|
||||||
}
|
|
||||||
@@ -8,19 +8,15 @@ U0 LoadDocDefines()
|
|||||||
DefinePrint("DD_TEMPLEOS_AGE","%0.1f",
|
DefinePrint("DD_TEMPLEOS_AGE","%0.1f",
|
||||||
(Now-Str2Date("8/1/2003"))/ToF64(1<<32)/CDATE_YEAR_DAYS);
|
(Now-Str2Date("8/1/2003"))/ToF64(1<<32)/CDATE_YEAR_DAYS);
|
||||||
|
|
||||||
//This is cut and replaced when I generate a distro.
|
|
||||||
//See $LK,"DD_TEMPLEOS_LOC",A="FF:::/Demo/AcctExample/TOS/TOSDistro.HC,DD_TEMPLEOS_LOC"$.
|
|
||||||
|
|
||||||
DefinePrint("DD_KERNEL","%08X",bfh);
|
DefinePrint("DD_KERNEL","%08X",bfh);
|
||||||
bfh(I64)+=bfh->file_size-1;
|
bfh(I64)+=bfh->file_size-1;
|
||||||
DefinePrint("DD_KERNEL_END","%08X",bfh);
|
DefinePrint("DD_KERNEL_END","%08X",bfh);
|
||||||
|
|
||||||
//$LK,"DD_BOOT_HIGH_LOC_DVD",A="FF:::/Adam/Opt/Boot/BootDVD.HC,DD_BOOT_HIGH_LOC_DVD"$
|
//$LK,"DD_BOOT_HIGH_LOC_DVD",A="FF:::/Adam/Opt/Boot/BootDVD.HC,DD_BOOT_HIGH_LOC_DVD"$
|
||||||
|
|
||||||
$TR-C,"LineRep"$
|
$TR,"LineRep"$
|
||||||
$ID,4$DefinePrint("DD_TEMPLEOS_LOC","120,860");
|
$ID,2$DefinePrint("DD_TEMPLEOS_LOC","81,445");
|
||||||
DefinePrint("DD_TEMPLEOS_LOC_OFFICIAL","82,136");
|
$ID,-2$
|
||||||
$ID,-4$
|
|
||||||
DefinePrint("DD_MP_VECT","%08X",MP_VECT_ADDR);
|
DefinePrint("DD_MP_VECT","%08X",MP_VECT_ADDR);
|
||||||
DefinePrint("DD_MP_VECT_END","%08X",
|
DefinePrint("DD_MP_VECT_END","%08X",
|
||||||
MP_VECT_ADDR+COREAP_16BIT_INIT_END-COREAP_16BIT_INIT-1);
|
MP_VECT_ADDR+COREAP_16BIT_INIT_END-COREAP_16BIT_INIT-1);
|
||||||
|
|||||||
@@ -51,8 +51,6 @@ extern I64 ExeDoc(CDoc *doc,I64 ccf_flags=0);
|
|||||||
extern I64 FindWiz();
|
extern I64 FindWiz();
|
||||||
extern I64 GetI64(U8 *msg=NULL,I64 dft=0,I64 lo=I64_MIN,I64 hi=I64_MAX);
|
extern I64 GetI64(U8 *msg=NULL,I64 dft=0,I64 lo=I64_MIN,I64 hi=I64_MAX);
|
||||||
extern Bool GrPlot0(CDC *dc,I64 x,I64 y);
|
extern Bool GrPlot0(CDC *dc,I64 x,I64 y);
|
||||||
extern I64 ISO9660ISO(U8 *_filename=NULL,U8 *src_files_find_mask,
|
|
||||||
U8 *fu_flags=NULL,U8 *_stage2_filename=NULL);
|
|
||||||
extern CMenuEntry *MenuEntryFind(CMenu *haystack_menu,U8 *needle_full_name);
|
extern CMenuEntry *MenuEntryFind(CMenu *haystack_menu,U8 *needle_full_name);
|
||||||
extern CMenu *MenuFilePush(U8 *filename);
|
extern CMenu *MenuFilePush(U8 *filename);
|
||||||
extern U0 MenuPop();
|
extern U0 MenuPop();
|
||||||
|
|||||||
@@ -258,13 +258,13 @@ U0 ACTask(I64)
|
|||||||
|
|
||||||
public Bool AutoComplete(Bool val=OFF)
|
public Bool AutoComplete(Bool val=OFF)
|
||||||
{//Turn AutoComplete OFF or ON.
|
{//Turn AutoComplete OFF or ON.
|
||||||
Bool old_autocomplete=FALSE;
|
Bool old_val=FALSE;
|
||||||
while (Bt(&ac.flags,ACf_INIT_IN_PROGRESS))
|
while (Bt(&ac.flags,ACf_INIT_IN_PROGRESS))
|
||||||
Sleep(10);
|
Sleep(10);
|
||||||
if (val) {
|
if (val) {
|
||||||
if (Bt(&sys_run_level,RLf_AUTO_COMPLETE)) {
|
if (Bt(&sys_run_level,RLf_AUTO_COMPLETE)) {
|
||||||
if (TaskValidate(ac.task))
|
if (TaskValidate(ac.task))
|
||||||
old_autocomplete=TRUE;
|
old_val=TRUE;
|
||||||
else {
|
else {
|
||||||
ac.task=Spawn(&ACTask,NULL,"AutoComplete");
|
ac.task=Spawn(&ACTask,NULL,"AutoComplete");
|
||||||
TaskWait(ac.task);
|
TaskWait(ac.task);
|
||||||
@@ -274,10 +274,10 @@ public Bool AutoComplete(Bool val=OFF)
|
|||||||
} else {
|
} else {
|
||||||
if (TaskValidate(ac.task)) {
|
if (TaskValidate(ac.task)) {
|
||||||
if (Bt(&sys_run_level,RLf_AUTO_COMPLETE))
|
if (Bt(&sys_run_level,RLf_AUTO_COMPLETE))
|
||||||
old_autocomplete=TRUE;
|
old_val=TRUE;
|
||||||
Kill(ac.task);
|
Kill(ac.task);
|
||||||
DeathWait(&ac.task);
|
DeathWait(&ac.task);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return old_autocomplete;
|
return old_val;
|
||||||
}
|
}
|
||||||
@@ -264,9 +264,9 @@ Bool DocCaptureUndo(CDoc *doc,Bool force=FALSE)
|
|||||||
doc->undo_cnt++;
|
doc->undo_cnt++;
|
||||||
u->doc_flags=doc->flags;
|
u->doc_flags=doc->flags;
|
||||||
res=TRUE;
|
res=TRUE;
|
||||||
|
if (doc->flags&DOCF_AUTO_SAVE)
|
||||||
|
DocWrite(doc);
|
||||||
}
|
}
|
||||||
if (doc->flags&DOCF_AUTO_SAVE)
|
|
||||||
DocWrite(doc);
|
|
||||||
if (unlock)
|
if (unlock)
|
||||||
DocUnlock(doc);
|
DocUnlock(doc);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -572,7 +572,7 @@ Bool sel=TRUE,Bool match_case=TRUE,Bool whole_labels=FALSE)
|
|||||||
|
|
||||||
class CEdLineGoTo
|
class CEdLineGoTo
|
||||||
{
|
{
|
||||||
I64 line fmtstr "$$DA,A=\"Go to Line:%d\"$$";
|
I64 line format "$$DA,A=\"Go to Line:%d\"$$";
|
||||||
};
|
};
|
||||||
|
|
||||||
U0 EdGoToLine(CDoc *doc)
|
U0 EdGoToLine(CDoc *doc)
|
||||||
|
|||||||
@@ -208,11 +208,11 @@ U0 DocDataScan(CDoc *doc,CDocEntry *doc_e)
|
|||||||
#help_index "DolDoc/Input;StdIn/DolDoc"
|
#help_index "DolDoc/Input;StdIn/DolDoc"
|
||||||
public Bool DocForm(U8 *_d,U8 *class_name=lastclass,
|
public Bool DocForm(U8 *_d,U8 *class_name=lastclass,
|
||||||
I64 dof_flags=0,U8 *header=NULL,U8 *footer=NULL)
|
I64 dof_flags=0,U8 *header=NULL,U8 *footer=NULL)
|
||||||
{//User input. Supply a class name that has fmtstr definitions.
|
{//User input. Supply a class name that has format definitions.
|
||||||
//See $LK,"::/Demo/DolDoc/Form.HC"$ and $LK,"::/Demo/LastClass.HC"$.
|
//See $LK,"::/Demo/DolDoc/Form.HC"$ and $LK,"::/Demo/LastClass.HC"$.
|
||||||
CMemberLst *ml;
|
CMemberLst *ml;
|
||||||
CDocEntry *doc_e;
|
CDocEntry *doc_e;
|
||||||
U8 *fmtstr;
|
U8 *format;
|
||||||
CHashClass *tmpc,*tmpc2;
|
CHashClass *tmpc,*tmpc2;
|
||||||
CDoc *doc;
|
CDoc *doc;
|
||||||
Bool res=FALSE;
|
Bool res=FALSE;
|
||||||
@@ -227,8 +227,8 @@ public Bool DocForm(U8 *_d,U8 *class_name=lastclass,
|
|||||||
doc->flags|=DOCF_SIZE_MIN;
|
doc->flags|=DOCF_SIZE_MIN;
|
||||||
ml=tmpc->member_lst_and_root;
|
ml=tmpc->member_lst_and_root;
|
||||||
while (ml) {
|
while (ml) {
|
||||||
if ((fmtstr=MemberMetaData("fmtstr",ml)) &&
|
if ((format=MemberMetaData("format",ml)) &&
|
||||||
(doc_e=DocPrint(doc,"%s",fmtstr))) {
|
(doc_e=DocPrint(doc,"%s",format))) {
|
||||||
tmpc2=ml->member_class;
|
tmpc2=ml->member_class;
|
||||||
if ((doc_e->type_u8==DOCT_DATA || doc_e->type_u8==DOCT_LST ||
|
if ((doc_e->type_u8==DOCT_DATA || doc_e->type_u8==DOCT_LST ||
|
||||||
doc_e->type_u8==DOCT_CHECK_BOX) && !tmpc2->ptr_stars_cnt) {
|
doc_e->type_u8==DOCT_CHECK_BOX) && !tmpc2->ptr_stars_cnt) {
|
||||||
@@ -254,7 +254,7 @@ public Bool DocForm(U8 *_d,U8 *class_name=lastclass,
|
|||||||
doc_e->data=*doc_e->user_data(U8 **);
|
doc_e->data=*doc_e->user_data(U8 **);
|
||||||
} else
|
} else
|
||||||
doc_e->data=_d+ml->offset;
|
doc_e->data=_d+ml->offset;
|
||||||
doc_e->my_fmt_data=MemberMetaData("fmtdata",ml);
|
doc_e->my_fmt_data=MemberMetaData("data",ml);
|
||||||
DocDataFmt(doc,doc_e);
|
DocDataFmt(doc,doc_e);
|
||||||
}
|
}
|
||||||
ml=ml->next;
|
ml=ml->next;
|
||||||
|
|||||||
@@ -53,16 +53,16 @@ public I64 PopUpColorLighting(U8 *header=NULL)
|
|||||||
|
|
||||||
class CTransformForm
|
class CTransformForm
|
||||||
{
|
{
|
||||||
F64 x_scale fmtstr "$$DA-TRM,A=\"X Scale :%12.6f\"$$\n";
|
F64 x_scale format "$$DA-TRM,A=\"X Scale :%12.6f\"$$\n";
|
||||||
F64 y_scale fmtstr "$$DA-TRM,A=\"Y Scale :%12.6f\"$$\n";
|
F64 y_scale format "$$DA-TRM,A=\"Y Scale :%12.6f\"$$\n";
|
||||||
F64 z_scale fmtstr "$$DA-TRM,A=\"Z Scale :%12.6f\"$$\n";
|
F64 z_scale format "$$DA-TRM,A=\"Z Scale :%12.6f\"$$\n";
|
||||||
F64 é_z fmtstr "\nAngles are in degrees\n"
|
F64 é_z format "\nAngles are in degrees\n"
|
||||||
"$$DA-TRM,A=\"Z-Axis :%12.6f\"$$\n";
|
"$$DA-TRM,A=\"Z-Axis :%12.6f\"$$\n";
|
||||||
F64 é_y fmtstr "$$DA-TRM,A=\"Y-Axis :%12.6f\"$$\n";
|
F64 é_y format "$$DA-TRM,A=\"Y-Axis :%12.6f\"$$\n";
|
||||||
F64 é_x fmtstr "$$DA-TRM,A=\"X-Axis :%12.6f\"$$\n";
|
F64 é_x format "$$DA-TRM,A=\"X-Axis :%12.6f\"$$\n";
|
||||||
F64 x_offset fmtstr "\n$$DA-TRM,A=\"X Offset:%12.6f\"$$\n";
|
F64 x_offset format "\n$$DA-TRM,A=\"X Offset:%12.6f\"$$\n";
|
||||||
F64 y_offset fmtstr "$$DA-TRM,A=\"Y Offset:%12.6f\"$$\n";
|
F64 y_offset format "$$DA-TRM,A=\"Y Offset:%12.6f\"$$\n";
|
||||||
F64 z_offset fmtstr "$$DA-TRM,A=\"Z Offset:%12.6f\"$$\n";
|
F64 z_offset format "$$DA-TRM,A=\"Z Offset:%12.6f\"$$\n";
|
||||||
};
|
};
|
||||||
|
|
||||||
#help_index "Graphics/Input;Graphics/Math/3D Transformation"
|
#help_index "Graphics/Input;Graphics/Math/3D Transformation"
|
||||||
|
|||||||
@@ -70,17 +70,17 @@ I64 PopUpTermRight(U8 *header)
|
|||||||
if (header) DocPrint(doc,"%s",header);
|
if (header) DocPrint(doc,"%s",header);
|
||||||
DocPrint(doc,"\n\n"
|
DocPrint(doc,"\n\n"
|
||||||
"TXT=%s\nDD =%s\nJIT=%s\nGR =%s"
|
"TXT=%s\nDD =%s\nJIT=%s\nGR =%s"
|
||||||
"$$CM+LX,1,3 $$$$BT,\"INCLUDE JIT\",LE=RIGHT_INCLUDE$$"
|
"$$CM+LX,1,3 $$$$BT,\"Include JIT\",LE=RIGHT_INCLUDE$$"
|
||||||
"$$CM+LX,25,0$$$$BT,\"ADAM_INCLUDE JIT\",LE=RIGHT_AINCLUDE$$"
|
"$$CM+LX,25,0$$$$BT,\"Adam Include JIT\",LE=RIGHT_AINCLUDE$$"
|
||||||
"$$CM+LX,1,3 $$$$BT,\"COPY \",LE=RIGHT_COPY$$"
|
"$$CM+LX,1,3 $$$$BT,\"Copy \",LE=RIGHT_COPY$$"
|
||||||
"$$CM+LX,25,0$$$$BT,\"MOVE OR RENAME \",LE=RIGHT_MOVE$$"
|
"$$CM+LX,25,0$$$$BT,\"Move or Rename \",LE=RIGHT_MOVE$$"
|
||||||
"$$CM+LX,1,3 $$$$BT,\"DELETE \",LE=RIGHT_DELETE$$"
|
"$$CM+LX,1,3 $$$$BT,\"Delete \",LE=RIGHT_DELETE$$"
|
||||||
"$$CM+LX,25,0$$$$BT,\"TYPE TXT;GR\",LE=RIGHT_TYPE$$"
|
"$$CM+LX,25,0$$$$BT,\"Type TXT;GR\",LE=RIGHT_TYPE$$"
|
||||||
"$$CM+LX,1,3 $$$$BT,\"DOLDOC EDIT DD\",LE=RIGHT_ED$$"
|
"$$CM+LX,1,3 $$$$BT,\"DolDoc Edit DD\",LE=RIGHT_ED$$"
|
||||||
"$$CM+LX,25,0$$$$BT,\"MOUNT ISO.C\",LE=RIGHT_MOUNT$$"
|
"$$CM+LX,25,0$$$$BT,\"Mount ISO.C\",LE=RIGHT_MOUNT$$"
|
||||||
"$$CM+LX,1,3 $$$$BT,\"PLAIN TEXT EDIT TXT\",LE=RIGHT_PLAIN$$"
|
"$$CM+LX,1,3 $$$$BT,\"Plain Text Edit TXT\",LE=RIGHT_PLAIN$$"
|
||||||
"$$CM+LX,25,0$$$$BT,\"INFILE IN\",LE=RIGHT_INFILE$$"
|
"$$CM+LX,25,0$$$$BT,\"Infile IN\",LE=RIGHT_INFILE$$"
|
||||||
"$$CM+LX,1,3 $$$$BT,\"CANCEL \",LE=DOCM_CANCEL$$\n",
|
"$$CM+LX,1,3 $$$$BT,\"Cancel \",LE=DOCM_CANCEL$$\n",
|
||||||
FILEMASK_TXT,FILEMASK_DD,FILEMASK_JIT,FILEMASK_GR);
|
FILEMASK_TXT,FILEMASK_DD,FILEMASK_JIT,FILEMASK_GR);
|
||||||
i=PopUpMenu(doc);
|
i=PopUpMenu(doc);
|
||||||
DocDel(doc);
|
DocDel(doc);
|
||||||
|
|||||||
@@ -31,132 +31,132 @@ I64 PopUpLinkType(Bool include_anchor)
|
|||||||
|
|
||||||
class CEdFileLink
|
class CEdFileLink
|
||||||
{
|
{
|
||||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||||
file[512] fmtstr "$$DA-P,A=\"File :%s\"$$\n";
|
file[512] format "$$DA-P,A=\"File :%s\"$$\n";
|
||||||
I64 book;
|
I64 book;
|
||||||
U8 aux[512];
|
U8 aux[512];
|
||||||
I64 num;
|
I64 num;
|
||||||
U8 html_link[512] fmtstr "$$DA-P,A=\"Html Link :%s\"$$\n";
|
U8 html_link[512] format "$$DA-P,A=\"Html Link :%s\"$$\n";
|
||||||
Bool pop_up fmtstr "$$CB,\"PopUp\"$$\n",
|
Bool pop_up format "$$CB,\"PopUp\"$$\n",
|
||||||
quote fmtstr "$$CB,\"Quote\"$$\n",
|
quote format "$$CB,\"Quote\"$$\n",
|
||||||
hide;
|
hide;
|
||||||
};
|
};
|
||||||
|
|
||||||
class CEdFileAnchorLink
|
class CEdFileAnchorLink
|
||||||
{
|
{
|
||||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||||
file[512] fmtstr "$$DA-P,A=\"File :%s\"$$\n";
|
file[512] format "$$DA-P,A=\"File :%s\"$$\n";
|
||||||
I64 book;
|
I64 book;
|
||||||
U8 aux[512] fmtstr "$$DA-P,A=\"Anchor Label :%s\"$$\n";
|
U8 aux[512] format "$$DA-P,A=\"Anchor Label :%s\"$$\n";
|
||||||
I64 num;
|
I64 num;
|
||||||
U8 html_link[512] fmtstr "$$DA-P,A=\"Html Link :%s\"$$\n";
|
U8 html_link[512] format "$$DA-P,A=\"Html Link :%s\"$$\n";
|
||||||
Bool pop_up fmtstr "$$CB,\"PopUp\"$$\n",
|
Bool pop_up format "$$CB,\"PopUp\"$$\n",
|
||||||
quote fmtstr "$$CB,\"Quote\"$$\n",
|
quote format "$$CB,\"Quote\"$$\n",
|
||||||
hide;
|
hide;
|
||||||
};
|
};
|
||||||
|
|
||||||
class CEdFileFindLink
|
class CEdFileFindLink
|
||||||
{
|
{
|
||||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||||
file[512] fmtstr "$$DA-P,A=\"File :%s\"$$\n";
|
file[512] format "$$DA-P,A=\"File :%s\"$$\n";
|
||||||
I64 book;
|
I64 book;
|
||||||
U8 aux[512] fmtstr "$$DA-P,A=\"Str :%s\"$$\n";
|
U8 aux[512] format "$$DA-P,A=\"Str :%s\"$$\n";
|
||||||
I64 num fmtstr "$$DA-TRM,A=\"Occurrence Num:%04d\"$$\n";
|
I64 num format "$$DA-TRM,A=\"Occurrence Num:%04d\"$$\n";
|
||||||
U8 html_link[512] fmtstr "$$DA-P,A=\"Html Link :%s\"$$\n";
|
U8 html_link[512] format "$$DA-P,A=\"Html Link :%s\"$$\n";
|
||||||
Bool pop_up fmtstr "$$CB,\"PopUp\"$$\n",
|
Bool pop_up format "$$CB,\"PopUp\"$$\n",
|
||||||
quote fmtstr "$$CB,\"Quote\"$$\n",
|
quote format "$$CB,\"Quote\"$$\n",
|
||||||
hide;
|
hide;
|
||||||
};
|
};
|
||||||
|
|
||||||
class CEdFileLineLink
|
class CEdFileLineLink
|
||||||
{
|
{
|
||||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||||
file[512] fmtstr "$$DA-P,A=\"File :%s\"$$\n";
|
file[512] format "$$DA-P,A=\"File :%s\"$$\n";
|
||||||
I64 book;
|
I64 book;
|
||||||
U8 aux[512];
|
U8 aux[512];
|
||||||
I64 num fmtstr "$$DA-TRM,A=\"Line Num :%04d\"$$\n";
|
I64 num format "$$DA-TRM,A=\"Line Num :%04d\"$$\n";
|
||||||
U8 html_link[512] fmtstr "$$DA-P,A=\"Html Link :%s\"$$\n";
|
U8 html_link[512] format "$$DA-P,A=\"Html Link :%s\"$$\n";
|
||||||
Bool pop_up fmtstr "$$CB,\"PopUp\"$$\n",
|
Bool pop_up format "$$CB,\"PopUp\"$$\n",
|
||||||
quote fmtstr "$$CB,\"Quote\"$$\n",
|
quote format "$$CB,\"Quote\"$$\n",
|
||||||
hide;
|
hide;
|
||||||
};
|
};
|
||||||
|
|
||||||
class CEdManPageLink
|
class CEdManPageLink
|
||||||
{
|
{
|
||||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||||
file[512];
|
file[512];
|
||||||
I64 book;
|
I64 book;
|
||||||
U8 aux[512] fmtstr "$$DA-P,A=\"Label :%s\"$$\n";
|
U8 aux[512] format "$$DA-P,A=\"Label :%s\"$$\n";
|
||||||
I64 num;
|
I64 num;
|
||||||
U8 html_link[512] fmtstr "$$DA-P,A=\"Html Link :%s\"$$\n";
|
U8 html_link[512] format "$$DA-P,A=\"Html Link :%s\"$$\n";
|
||||||
Bool pop_up fmtstr "$$CB,\"PopUp\"$$\n",
|
Bool pop_up format "$$CB,\"PopUp\"$$\n",
|
||||||
quote fmtstr "$$CB,\"Quote\"$$\n",
|
quote format "$$CB,\"Quote\"$$\n",
|
||||||
hide;
|
hide;
|
||||||
};
|
};
|
||||||
|
|
||||||
class CEdAddrLink
|
class CEdAddrLink
|
||||||
{
|
{
|
||||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||||
file[512];
|
file[512];
|
||||||
I64 book;
|
I64 book;
|
||||||
U8 aux[512] fmtstr "$$DA-P,A=\"Addr Exp :%s\"$$\n";
|
U8 aux[512] format "$$DA-P,A=\"Addr Exp :%s\"$$\n";
|
||||||
I64 num fmtstr "$$DA-TRM,A=\"Bin Size :%04d\"$$\n";
|
I64 num format "$$DA-TRM,A=\"Bin Size :%04d\"$$\n";
|
||||||
U8 html_link[512] fmtstr "$$DA-P,A=\"Html Link :%s\"$$\n";
|
U8 html_link[512] format "$$DA-P,A=\"Html Link :%s\"$$\n";
|
||||||
Bool pop_up fmtstr "$$CB,\"PopUp\"$$\n",
|
Bool pop_up format "$$CB,\"PopUp\"$$\n",
|
||||||
quote fmtstr "$$CB,\"Quote\"$$\n",
|
quote format "$$CB,\"Quote\"$$\n",
|
||||||
hide;
|
hide;
|
||||||
};
|
};
|
||||||
|
|
||||||
class CEdPlaceAnchor
|
class CEdPlaceAnchor
|
||||||
{
|
{
|
||||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||||
file[512];
|
file[512];
|
||||||
I64 book;
|
I64 book;
|
||||||
U8 aux[512] fmtstr "$$DA-P,A=\"Anchor Label :%s\"$$\n";
|
U8 aux[512] format "$$DA-P,A=\"Anchor Label :%s\"$$\n";
|
||||||
I64 num;
|
I64 num;
|
||||||
U8 html_link[512] fmtstr "$$DA-P,A=\"Html Link :%s\"$$\n";
|
U8 html_link[512] format "$$DA-P,A=\"Html Link :%s\"$$\n";
|
||||||
Bool pop_up,
|
Bool pop_up,
|
||||||
quote fmtstr "$$CB,\"Quote\"$$\n",
|
quote format "$$CB,\"Quote\"$$\n",
|
||||||
hide fmtstr "$$CB,\"Hide\"$$\n";
|
hide format "$$CB,\"Hide\"$$\n";
|
||||||
};
|
};
|
||||||
|
|
||||||
class CEdBibleLink
|
class CEdBibleLink
|
||||||
{
|
{
|
||||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||||
file[512];
|
file[512];
|
||||||
I64 book fmtstr "$$LS,D=\"ST_BIBLE_BOOKS\"$$\n";
|
I64 book format "$$LS,D=\"ST_BIBLE_BOOKS\"$$\n";
|
||||||
U8 aux[512] fmtstr "$$DA-P,A=\"Chapter Verse :%s\"$$\n";
|
U8 aux[512] format "$$DA-P,A=\"Chapter Verse :%s\"$$\n";
|
||||||
I64 num;
|
I64 num;
|
||||||
|
|
||||||
U8 html_link[512] fmtstr "$$DA-P,A=\"Html Link :%s\"$$\n";
|
U8 html_link[512] format "$$DA-P,A=\"Html Link :%s\"$$\n";
|
||||||
Bool pop_up fmtstr "$$CB,\"PopUp\"$$\n",
|
Bool pop_up format "$$CB,\"PopUp\"$$\n",
|
||||||
quote fmtstr "$$CB,\"Quote\"$$\n",
|
quote format "$$CB,\"Quote\"$$\n",
|
||||||
hide;
|
hide;
|
||||||
};
|
};
|
||||||
|
|
||||||
class CEdDefLink
|
class CEdDefLink
|
||||||
{
|
{
|
||||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||||
file[512];
|
file[512];
|
||||||
I64 book;
|
I64 book;
|
||||||
U8 aux[512] fmtstr "$$DA-P,A=\"Word :%s\"$$\n";
|
U8 aux[512] format "$$DA-P,A=\"Word :%s\"$$\n";
|
||||||
I64 num fmtstr "$$DA-TRM,A=\"Def Num :%4d\"$$\n";
|
I64 num format "$$DA-TRM,A=\"Def Num :%4d\"$$\n";
|
||||||
U8 html_link[512] fmtstr "$$DA-P,A=\"Html Link :%s\"$$\n";
|
U8 html_link[512] format "$$DA-P,A=\"Html Link :%s\"$$\n";
|
||||||
Bool pop_up fmtstr "$$CB,\"PopUp\"$$\n",
|
Bool pop_up format "$$CB,\"PopUp\"$$\n",
|
||||||
quote fmtstr "$$CB,\"Quote\"$$\n",
|
quote format "$$CB,\"Quote\"$$\n",
|
||||||
hide;
|
hide;
|
||||||
};
|
};
|
||||||
|
|
||||||
class CEdProject
|
class CEdProject
|
||||||
{
|
{
|
||||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||||
file[512] fmtstr "$$DA-P,A=\"File :%s\"$$\n";
|
file[512] format "$$DA-P,A=\"File :%s\"$$\n";
|
||||||
I64 book;
|
I64 book;
|
||||||
U8 aux[512];
|
U8 aux[512];
|
||||||
I64 num;
|
I64 num;
|
||||||
U8 html_link[512] fmtstr "$$DA-P,A=\"Html Link :%s\"$$\n";
|
U8 html_link[512] format "$$DA-P,A=\"Html Link :%s\"$$\n";
|
||||||
Bool pop_up fmtstr "$$CB,\"PopUp\"$$\n",
|
Bool pop_up format "$$CB,\"PopUp\"$$\n",
|
||||||
quote fmtstr "$$CB,\"Quote\"$$\n",
|
quote format "$$CB,\"Quote\"$$\n",
|
||||||
hide;
|
hide;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -434,14 +434,14 @@ U0 EdInsColor()
|
|||||||
|
|
||||||
class CEdPageSetting1
|
class CEdPageSetting1
|
||||||
{
|
{
|
||||||
U8 val[512] fmtstr "$$DA-P,A=\"Setting Val:%s\"$$\n";
|
U8 val[512] format "$$DA-P,A=\"Setting Val:%s\"$$\n";
|
||||||
Bool winrel;
|
Bool winrel;
|
||||||
};
|
};
|
||||||
|
|
||||||
class CEdPageSetting2
|
class CEdPageSetting2
|
||||||
{
|
{
|
||||||
U8 val[512] fmtstr "$$DA-P,A=\"Setting Val:%s\"$$\n";
|
U8 val[512] format "$$DA-P,A=\"Setting Val:%s\"$$\n";
|
||||||
Bool winrel fmtstr "$$CB,\"Win Relative\"$$\n";
|
Bool winrel format "$$CB,\"Win Relative\"$$\n";
|
||||||
};
|
};
|
||||||
|
|
||||||
U0 EdInsPageSetting()
|
U0 EdInsPageSetting()
|
||||||
@@ -508,21 +508,21 @@ I64 PopUpWidgetType()
|
|||||||
|
|
||||||
class CEdText
|
class CEdText
|
||||||
{
|
{
|
||||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n";
|
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n";
|
||||||
Bool left_x fmtstr "$$CB,\"Left X\"$$\n",
|
Bool left_x format "$$CB,\"Left X\"$$\n",
|
||||||
center_x fmtstr "$$CB,\"Center X\"$$\n",
|
center_x format "$$CB,\"Center X\"$$\n",
|
||||||
right_x fmtstr "$$CB,\"Right X\"$$\n",
|
right_x format "$$CB,\"Right X\"$$\n",
|
||||||
margin_rel fmtstr "$$CB,\"Margin Rel X\"$$\n",
|
margin_rel format "$$CB,\"Margin Rel X\"$$\n",
|
||||||
blink fmtstr "$$CB,\"Blink\"$$\n",
|
blink format "$$CB,\"Blink\"$$\n",
|
||||||
invert fmtstr "$$CB,\"Invert\"$$\n",
|
invert format "$$CB,\"Invert\"$$\n",
|
||||||
underline fmtstr "$$CB,\"Underline\"$$\n",
|
underline format "$$CB,\"Underline\"$$\n",
|
||||||
tree fmtstr "$$CB,\"Tree\"$$\n",
|
tree format "$$CB,\"Tree\"$$\n",
|
||||||
collapsed fmtstr "$$CB,\"Collapsed\"$$\n";
|
collapsed format "$$CB,\"Collapsed\"$$\n";
|
||||||
U8 scroll_x [512] fmtstr "$$DA-P,A=\"Scroll X Length Expression:%s\"$$\n",
|
U8 scroll_x [512] format "$$DA-P,A=\"Scroll X Length Expression:%s\"$$\n",
|
||||||
shift_x [512] fmtstr "$$DA-P,A=\"X Offset Expression :%s\"$$\n",
|
shift_x [512] format "$$DA-P,A=\"X Offset Expression :%s\"$$\n",
|
||||||
shift_y [512] fmtstr "$$DA-P,A=\"Y Offset Expression :%s\"$$\n",
|
shift_y [512] format "$$DA-P,A=\"Y Offset Expression :%s\"$$\n",
|
||||||
define_str[512] fmtstr "$$DA-P,A=\"Define Str :%s\"$$\n",
|
define_str[512] format "$$DA-P,A=\"Define Str :%s\"$$\n",
|
||||||
html_link[512] fmtstr "$$DA-P,A=\"Html Link :%s\"$$\n";
|
html_link[512] format "$$DA-P,A=\"Html Link :%s\"$$\n";
|
||||||
};
|
};
|
||||||
|
|
||||||
U0 EdInsText()
|
U0 EdInsText()
|
||||||
@@ -566,8 +566,8 @@ U0 EdInsText()
|
|||||||
|
|
||||||
class CEdSong
|
class CEdSong
|
||||||
{
|
{
|
||||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||||
song[512] fmtstr "$$DA-P,A=\"Song :%s\"$$\n";
|
song[512] format "$$DA-P,A=\"Song :%s\"$$\n";
|
||||||
};
|
};
|
||||||
|
|
||||||
U0 EdInsSong()
|
U0 EdInsSong()
|
||||||
@@ -580,7 +580,7 @@ U0 EdInsSong()
|
|||||||
|
|
||||||
class CEdHtmlCode
|
class CEdHtmlCode
|
||||||
{
|
{
|
||||||
U8 tag[512] fmtstr "$$DA-P,A=\"Html Code:%s\"$$\n";
|
U8 tag[512] format "$$DA-P,A=\"Html Code:%s\"$$\n";
|
||||||
};
|
};
|
||||||
|
|
||||||
U0 EdInsHtml()
|
U0 EdInsHtml()
|
||||||
@@ -593,22 +593,22 @@ U0 EdInsHtml()
|
|||||||
|
|
||||||
class CEdMacroMenu
|
class CEdMacroMenu
|
||||||
{
|
{
|
||||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||||
left_macro[512] fmtstr "$$DA-P,A=\"Left Click Macro :%s\"$$\n",
|
left_macro[512] format "$$DA-P,A=\"Left Click Macro :%s\"$$\n",
|
||||||
left_exp[512] fmtstr "$$DA-P,A=\"Left Click Expression :%s\"$$\n";
|
left_exp[512] format "$$DA-P,A=\"Left Click Expression :%s\"$$\n";
|
||||||
Bool popup fmtstr "$$CB,\"PopUp\"$$\n",
|
Bool popup format "$$CB,\"PopUp\"$$\n",
|
||||||
left_is_in_str fmtstr "$$CB,\"Left is InStr\"$$\n",
|
left_is_in_str format "$$CB,\"Left is InStr\"$$\n",
|
||||||
left_x fmtstr "$$CB,\"Left X \"$$\n",
|
left_x format "$$CB,\"Left X \"$$\n",
|
||||||
center_x fmtstr "$$CB,\"Center X \"$$\n",
|
center_x format "$$CB,\"Center X \"$$\n",
|
||||||
right_x fmtstr "$$CB,\"Right X \"$$\n",
|
right_x format "$$CB,\"Right X \"$$\n",
|
||||||
margin_rel fmtstr "$$CB,\"Margin Rel X\"$$\n",
|
margin_rel format "$$CB,\"Margin Rel X\"$$\n",
|
||||||
blink fmtstr "$$CB,\"Blink\"$$\n",
|
blink format "$$CB,\"Blink\"$$\n",
|
||||||
invert fmtstr "$$CB,\"Invert\"$$\n",
|
invert format "$$CB,\"Invert\"$$\n",
|
||||||
underline fmtstr "$$CB,\"Underline\"$$\n",
|
underline format "$$CB,\"Underline\"$$\n",
|
||||||
escape fmtstr "$$CB,\"Escape\"$$\n";
|
escape format "$$CB,\"Escape\"$$\n";
|
||||||
U8 scroll_x[512] fmtstr "$$DA-P,A=\"Scroll X Length Expression:%s\"$$\n",
|
U8 scroll_x[512] format "$$DA-P,A=\"Scroll X Length Expression:%s\"$$\n",
|
||||||
shift_x[512] fmtstr "$$DA-P,A=\"X Offset Expression :%s\"$$\n",
|
shift_x[512] format "$$DA-P,A=\"X Offset Expression :%s\"$$\n",
|
||||||
shift_y[512] fmtstr "$$DA-P,A=\"Y Offset Expression :%s\"$$\n";
|
shift_y[512] format "$$DA-P,A=\"Y Offset Expression :%s\"$$\n";
|
||||||
};
|
};
|
||||||
|
|
||||||
U0 EdInsMacroMenu(Bool is_macro)
|
U0 EdInsMacroMenu(Bool is_macro)
|
||||||
@@ -663,17 +663,17 @@ U0 EdInsMacroMenu(Bool is_macro)
|
|||||||
|
|
||||||
class CEdBttn
|
class CEdBttn
|
||||||
{
|
{
|
||||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n";
|
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n";
|
||||||
Bool popup fmtstr "$$CB,\"PopUp\"$$\n",
|
Bool popup format "$$CB,\"PopUp\"$$\n",
|
||||||
left_x fmtstr "$$CB,\"Left X \"$$\n",
|
left_x format "$$CB,\"Left X \"$$\n",
|
||||||
center_x fmtstr "$$CB,\"Center X \"$$\n",
|
center_x format "$$CB,\"Center X \"$$\n",
|
||||||
right_x fmtstr "$$CB,\"Right X \"$$\n",
|
right_x format "$$CB,\"Right X \"$$\n",
|
||||||
margin_rel fmtstr "$$CB,\"Margin Rel X\"$$\n",
|
margin_rel format "$$CB,\"Margin Rel X\"$$\n",
|
||||||
escape fmtstr "$$CB,\"Escape\"$$\n";
|
escape format "$$CB,\"Escape\"$$\n";
|
||||||
U8 left_macro[512] fmtstr "$$DA-P,A=\"Left Click Macro:%s\"$$\n";
|
U8 left_macro[512] format "$$DA-P,A=\"Left Click Macro:%s\"$$\n";
|
||||||
Bool left_is_in_str fmtstr "$$CB,\"Left is InStr\"$$\n";
|
Bool left_is_in_str format "$$CB,\"Left is InStr\"$$\n";
|
||||||
U8 left_exp[512] fmtstr "$$DA-P,A=\"Left Click Expression:%s\"$$\n";
|
U8 left_exp[512] format "$$DA-P,A=\"Left Click Expression:%s\"$$\n";
|
||||||
Bool quote fmtstr "$$CB,\"Quote\"$$\n";
|
Bool quote format "$$CB,\"Quote\"$$\n";
|
||||||
};
|
};
|
||||||
|
|
||||||
U0 EdInsBttn()
|
U0 EdInsBttn()
|
||||||
@@ -723,17 +723,17 @@ U0 EdInsBttn()
|
|||||||
|
|
||||||
class CEdCursorMovement
|
class CEdCursorMovement
|
||||||
{
|
{
|
||||||
U8 left_exp[512] fmtstr "$$DA-P,A=\"X Expression (LE):%s\"$$\n",
|
U8 left_exp[512] format "$$DA-P,A=\"X Expression (LE):%s\"$$\n",
|
||||||
right_exp[512] fmtstr "$$DA-P,A=\"Y Expression (RE):%s\"$$\n";
|
right_exp[512] format "$$DA-P,A=\"Y Expression (RE):%s\"$$\n";
|
||||||
Bool left_x fmtstr "$$CB,\"Left X \"$$\n",
|
Bool left_x format "$$CB,\"Left X \"$$\n",
|
||||||
center_x fmtstr "$$CB,\"Center X \"$$\n",
|
center_x format "$$CB,\"Center X \"$$\n",
|
||||||
right_x fmtstr "$$CB,\"Right X \"$$\n",
|
right_x format "$$CB,\"Right X \"$$\n",
|
||||||
margin_rel fmtstr "$$CB,\"Margin Rel X\"$$\n",
|
margin_rel format "$$CB,\"Margin Rel X\"$$\n",
|
||||||
top_y fmtstr "$$CB,\"Top Y \"$$\n",
|
top_y format "$$CB,\"Top Y \"$$\n",
|
||||||
center_y fmtstr "$$CB,\"Center Y \"$$\n",
|
center_y format "$$CB,\"Center Y \"$$\n",
|
||||||
bottom_y fmtstr "$$CB,\"Bottom Y \"$$\n",
|
bottom_y format "$$CB,\"Bottom Y \"$$\n",
|
||||||
page_rel fmtstr "$$CB,\"Page Rel Y\"$$\n",
|
page_rel format "$$CB,\"Page Rel Y\"$$\n",
|
||||||
quote fmtstr "$$CB,\"Quote\"$$\n";
|
quote format "$$CB,\"Quote\"$$\n";
|
||||||
};
|
};
|
||||||
|
|
||||||
U0 EdInsCursorMovement()
|
U0 EdInsCursorMovement()
|
||||||
@@ -768,22 +768,22 @@ U0 EdInsCursorMovement()
|
|||||||
|
|
||||||
class CEdDataNum
|
class CEdDataNum
|
||||||
{
|
{
|
||||||
U8 fmt_str[512] fmtstr "$$DA-P,A=\"Format Str:%s\"$$\n";
|
U8 fmt_str[512] format "$$DA-P,A=\"Format Str:%s\"$$\n";
|
||||||
I64 len;
|
I64 len;
|
||||||
Bool term fmtstr "$$CB,\"Form Field Terminator\"$$\n",
|
Bool term format "$$CB,\"Form Field Terminator\"$$\n",
|
||||||
remalloc,
|
remalloc,
|
||||||
refresh fmtstr "$$CB,\"Refresh Data\"$$\n",
|
refresh format "$$CB,\"Refresh Data\"$$\n",
|
||||||
update fmtstr "$$CB,\"Update Data\"$$\n";
|
update format "$$CB,\"Update Data\"$$\n";
|
||||||
};
|
};
|
||||||
|
|
||||||
class CEdDataStr
|
class CEdDataStr
|
||||||
{
|
{
|
||||||
U8 fmt_str[512] fmtstr "$$DA-P,A=\"Format Str:%s\"$$\n";
|
U8 fmt_str[512] format "$$DA-P,A=\"Format Str:%s\"$$\n";
|
||||||
I64 len fmtstr "$$DA,A=\"Length:%d\"$$\n";
|
I64 len format "$$DA,A=\"Length:%d\"$$\n";
|
||||||
Bool term fmtstr "$$CB,\"Zero Terminator\"$$\n",
|
Bool term format "$$CB,\"Zero Terminator\"$$\n",
|
||||||
remalloc fmtstr "$$CB,\"Remalloc for Unlimited Length\"$$\n",
|
remalloc format "$$CB,\"Remalloc for Unlimited Length\"$$\n",
|
||||||
refresh fmtstr "$$CB,\"Refresh Data\"$$\n",
|
refresh format "$$CB,\"Refresh Data\"$$\n",
|
||||||
update fmtstr "$$CB,\"Update Data\"$$\n";
|
update format "$$CB,\"Update Data\"$$\n";
|
||||||
};
|
};
|
||||||
|
|
||||||
U0 EdInsData()
|
U0 EdInsData()
|
||||||
@@ -834,9 +834,9 @@ U0 EdInsData()
|
|||||||
|
|
||||||
class CEdCheckBox
|
class CEdCheckBox
|
||||||
{
|
{
|
||||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n";
|
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n";
|
||||||
Bool refresh fmtstr "$$CB,\"Refresh Data\"$$\n";
|
Bool refresh format "$$CB,\"Refresh Data\"$$\n";
|
||||||
I64 type fmtstr "$$LS,D=\"ST_INT_SIZE_TYPES\"$$\n";
|
I64 type format "$$LS,D=\"ST_INT_SIZE_TYPES\"$$\n";
|
||||||
};
|
};
|
||||||
|
|
||||||
U0 EdInsCheckBox()
|
U0 EdInsCheckBox()
|
||||||
@@ -861,10 +861,10 @@ U0 EdInsCheckBox()
|
|||||||
|
|
||||||
class CEdLst
|
class CEdLst
|
||||||
{
|
{
|
||||||
U8 tag[512] fmtstr "$$DA-P,A=\"Dft Sel :%s\"$$\n",
|
U8 tag[512] format "$$DA-P,A=\"Dft Sel :%s\"$$\n",
|
||||||
define_str[512] fmtstr "$$DA-P,A=\"Define Str :%s\"$$\n";
|
define_str[512] format "$$DA-P,A=\"Define Str :%s\"$$\n";
|
||||||
Bool refresh fmtstr "$$CB,\"Refresh Data\"$$\n";
|
Bool refresh format "$$CB,\"Refresh Data\"$$\n";
|
||||||
I64 type fmtstr "$$LS,D=\"ST_INT_SIZE_TYPES\"$$\n";
|
I64 type format "$$LS,D=\"ST_INT_SIZE_TYPES\"$$\n";
|
||||||
};
|
};
|
||||||
|
|
||||||
U0 EdInsLst()
|
U0 EdInsLst()
|
||||||
@@ -897,10 +897,10 @@ U0 EdInsLst()
|
|||||||
|
|
||||||
class CEdHexEd
|
class CEdHexEd
|
||||||
{
|
{
|
||||||
I64 cnt fmtstr "$$DA,A=\"Count:%d\"$$\n",
|
I64 cnt format "$$DA,A=\"Count:%d\"$$\n",
|
||||||
cols fmtstr "$$DA,A=\"Columns:%d\"$$\n";
|
cols format "$$DA,A=\"Columns:%d\"$$\n";
|
||||||
Bool zero fmtstr "$$CB,\"Zero Based\"$$\n",
|
Bool zero format "$$CB,\"Zero Based\"$$\n",
|
||||||
refresh fmtstr "$$CB,\"Refresh Data\"$$\n";
|
refresh format "$$CB,\"Refresh Data\"$$\n";
|
||||||
};
|
};
|
||||||
|
|
||||||
U0 EdInsHexEd()
|
U0 EdInsHexEd()
|
||||||
@@ -921,11 +921,11 @@ U0 EdInsHexEd()
|
|||||||
|
|
||||||
class CEdBin
|
class CEdBin
|
||||||
{
|
{
|
||||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n";
|
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n";
|
||||||
I64 bin_num fmtstr "$$DA,A=\"Bin Num:%d\"$$\n";
|
I64 bin_num format "$$DA,A=\"Bin Num:%d\"$$\n";
|
||||||
U8 bin_ptr_link_file[512] fmtstr "$$DA-P,A=\"File:%s\"$$\n";
|
U8 bin_ptr_link_file[512] format "$$DA-P,A=\"File:%s\"$$\n";
|
||||||
I64 bin_ptr_link_bin_num fmtstr "$$DA,A=\"File Bin Num:%d\"$$\n";
|
I64 bin_ptr_link_bin_num format "$$DA,A=\"File Bin Num:%d\"$$\n";
|
||||||
U8 bin_ptr_link_tag[512] fmtstr "$$DA-P,A=\"File Bin Tag:%s\"$$\n";
|
U8 bin_ptr_link_tag[512] format "$$DA-P,A=\"File Bin Tag:%s\"$$\n";
|
||||||
};
|
};
|
||||||
|
|
||||||
U0 EdInsBin(I64 bin_num,I64 type)
|
U0 EdInsBin(I64 bin_num,I64 type)
|
||||||
@@ -958,9 +958,9 @@ U0 EdInsBin(I64 bin_num,I64 type)
|
|||||||
|
|
||||||
class CEdTree
|
class CEdTree
|
||||||
{
|
{
|
||||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n";
|
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n";
|
||||||
I64 indent fmtstr "$$DA,A=\"Indention:%d\"$$\n";
|
I64 indent format "$$DA,A=\"Indention:%d\"$$\n";
|
||||||
Bool collapsed fmtstr "$$CB,\"Collapsed\"$$\n";
|
Bool collapsed format "$$CB,\"Collapsed\"$$\n";
|
||||||
};
|
};
|
||||||
|
|
||||||
U0 EdInsTree()
|
U0 EdInsTree()
|
||||||
@@ -1075,18 +1075,18 @@ I64 PopUpSpriteType()
|
|||||||
|
|
||||||
class CEdMacroSprite
|
class CEdMacroSprite
|
||||||
{
|
{
|
||||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||||
exp[512] fmtstr "$$DA-P,A=\"Macro :%s\"$$\n";
|
exp[512] format "$$DA-P,A=\"Macro :%s\"$$\n";
|
||||||
Bool escape fmtstr "$$CB,\"Escape\"$$\n",
|
Bool escape format "$$CB,\"Escape\"$$\n",
|
||||||
popup fmtstr "$$CB,\"PopUp\"$$\n",
|
popup format "$$CB,\"PopUp\"$$\n",
|
||||||
is_in_str fmtstr "$$CB,\"InStr\"$$\n";
|
is_in_str format "$$CB,\"InStr\"$$\n";
|
||||||
};
|
};
|
||||||
|
|
||||||
class CEdMenuSprite
|
class CEdMenuSprite
|
||||||
{
|
{
|
||||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||||
exp[512] fmtstr "$$DA-P,A=\"Expression :%s\"$$\n";
|
exp[512] format "$$DA-P,A=\"Expression :%s\"$$\n";
|
||||||
Bool escape fmtstr "$$CB,\"Escape\"$$\n",
|
Bool escape format "$$CB,\"Escape\"$$\n",
|
||||||
popup,
|
popup,
|
||||||
is_in_str;
|
is_in_str;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -4,10 +4,10 @@ DefineLstLoad("ST_RHYTHM_COMPLEXITY","Simple\0Normal\0Complex\0");
|
|||||||
|
|
||||||
class CMakeSongSettings
|
class CMakeSongSettings
|
||||||
{
|
{
|
||||||
I64 complexity fmtstr "$$LS,D=\"ST_RHYTHM_COMPLEXITY\"$$\n";
|
I64 complexity format "$$LS,D=\"ST_RHYTHM_COMPLEXITY\"$$\n";
|
||||||
Bool rests fmtstr "$$CB,\"Rests\"$$\n";
|
Bool rests format "$$CB,\"Rests\"$$\n";
|
||||||
Bool six_eight fmtstr "$$CB,\"Six Eight\"$$\n";
|
Bool six_eight format "$$CB,\"Six Eight\"$$\n";
|
||||||
I64 octave fmtstr "$$DA-TRM,A=\"Octave:%d\"$$\n";
|
I64 octave format "$$DA-TRM,A=\"Octave:%d\"$$\n";
|
||||||
I64 octave_state;
|
I64 octave_state;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ There's something obviously different about people in the Bible compared to peop
|
|||||||
|
|
||||||
You can't tell if God's talking unless you have a context of conversation, but, more importantly, you are commanded to do an offering of love, like communion preparation. $LK,"1 Corinthians,11:27",A="BF:1 Corinthians,11:27"$ When you pick a greeting card for someone, that is love effort. If you expect God to put effort toward you, you must put effort toward Him. God said, "honest measures" applies between your offering of love and His response, like a fair barter. You get out of prayer what you put into it. God wants praise, hymns, or whatever you think He might want. Try and see, like Cain and Abel. $LK,"Genesis,4:1-10",A="BF:Genesis,4:1-10"$, $LK,"Ephesians,5:10",A="BF:Ephesians,5:10"$ God told Cain his offering was not good and told him to try again. Cain really loved God! Can you imagine being so heart-broken?
|
You can't tell if God's talking unless you have a context of conversation, but, more importantly, you are commanded to do an offering of love, like communion preparation. $LK,"1 Corinthians,11:27",A="BF:1 Corinthians,11:27"$ When you pick a greeting card for someone, that is love effort. If you expect God to put effort toward you, you must put effort toward Him. God said, "honest measures" applies between your offering of love and His response, like a fair barter. You get out of prayer what you put into it. God wants praise, hymns, or whatever you think He might want. Try and see, like Cain and Abel. $LK,"Genesis,4:1-10",A="BF:Genesis,4:1-10"$, $LK,"Ephesians,5:10",A="BF:Ephesians,5:10"$ God told Cain his offering was not good and told him to try again. Cain really loved God! Can you imagine being so heart-broken?
|
||||||
|
|
||||||
Do a text search for "new song" in the Bible. It's mentioned nine times. When I hear a NEW awesome rock song, it is ecstasy for the first five times I hear it. Soon, it brings little-to-no pleasure. I did $MA-X+PU,"hymns",HTML="http://www.templeos.org/Wb/Home/Web/HymnVideos.html",LM="#include \"::/Apps/Psalmody/Load\";JukeBox(\"::/Apps/Psalmody/Examples\");"$ for God. I also did Moses comics for God. When you get to the gates of Heaven, St. Peter will ask how many times you gave blood. That shows you loved neighbor. You better also be able to count the ways you loved God with all heart, mind and soul. I praised God for sand castles, popcorn, snowmen, bubbles... You try putting effort into praise! $LK,"Matthew,11:25",A="BF:Matthew,11:25"$, $LK,"Matthew,6:28-29",A="BF:Matthew,6:28-29"$ Solomon wrote a thousand songs. $LK,"1 Kings,4:30-32",A="BF:1 Kings,4:30-32"$
|
Do a text search for "new song" in the Bible. It's mentioned nine times. When I hear a NEW awesome rock song, it is ecstasy for the first five times I hear it. Soon, it brings little-to-no pleasure. I did $MA-X+PU,"hymns",LM="#include \"::/Apps/Psalmody/Load\";JukeBox(\"::/Apps/Psalmody/Examples\");"$ for God. I also did Moses comics for God. When you get to the gates of Heaven, St. Peter will ask how many times you gave blood. That shows you loved neighbor. You better also be able to count the ways you loved God with all heart, mind and soul. I praised God for sand castles, popcorn, snowmen, bubbles... You try putting effort into praise! $LK,"Matthew,11:25",A="BF:Matthew,11:25"$, $LK,"Matthew,6:28-29",A="BF:Matthew,6:28-29"$ Solomon wrote a thousand songs. $LK,"1 Kings,4:30-32",A="BF:1 Kings,4:30-32"$
|
||||||
|
|
||||||
This is funny -- $LK,"Acts,2:1-13",A="BF:Acts,2:1-13"$ -- they didn't bother to record anything the Holy Spirit said. The Holy Spirit is supposed to be a really good gift. $LK,"Luke,11:11-13",A="BF:Luke,11:11-13"$ Just remember, "Boys are made of snakes and snails and puppy-dog tails."
|
This is funny -- $LK,"Acts,2:1-13",A="BF:Acts,2:1-13"$ -- they didn't bother to record anything the Holy Spirit said. The Holy Spirit is supposed to be a really good gift. $LK,"Luke,11:11-13",A="BF:Luke,11:11-13"$ Just remember, "Boys are made of snakes and snails and puppy-dog tails."
|
||||||
|
|
||||||
|
|||||||
@@ -634,6 +634,60 @@ public CDC *DCExt(CDC *dc=gr.dc,I64 x1,I64 y1,I64 x2,I64 y2,
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public CDC *DCDiff(CDC *base,CDC *update)
|
||||||
|
{//Trim to win of what has chged.
|
||||||
|
I64 i,x1=0,y1=0,x2=update->width-1,y2=update->height-1; //inclusive
|
||||||
|
U32 *ptr_base,*ptr_update;
|
||||||
|
CDC *res;
|
||||||
|
ptr_base =base->body;
|
||||||
|
ptr_update=update->body;
|
||||||
|
while (y1<=y2) {
|
||||||
|
i=update->width>>2;
|
||||||
|
while (i--)
|
||||||
|
if (*ptr_base++!=*ptr_update++)
|
||||||
|
goto df_y2;
|
||||||
|
i=update->width&3;
|
||||||
|
while (i--)
|
||||||
|
if (*ptr_base(U8 *)++!=*ptr_update(U8 *)++)
|
||||||
|
goto df_y2;
|
||||||
|
y1++;
|
||||||
|
}
|
||||||
|
return NULL;
|
||||||
|
df_y2:
|
||||||
|
ptr_base =base->body +base->width_internal *base->height;
|
||||||
|
ptr_update=update->body+update->width_internal*update->height;
|
||||||
|
while (y1<y2) {
|
||||||
|
i=update->width>>2;
|
||||||
|
while (i--)
|
||||||
|
if (*--ptr_base!=*--ptr_update)
|
||||||
|
goto df_x1;
|
||||||
|
i=update->width&3;
|
||||||
|
while (i--)
|
||||||
|
if (*--ptr_base(U8 *)!=*--ptr_update(U8 *))
|
||||||
|
goto df_x1;
|
||||||
|
y2--;
|
||||||
|
}
|
||||||
|
df_x1:
|
||||||
|
while (x1<x2) {
|
||||||
|
for (i=y1;i<=y2;i++)
|
||||||
|
if (GrPeek0(base,x1,i)!=GrPeek0(update,x1,i))
|
||||||
|
goto df_x2;
|
||||||
|
x1++;
|
||||||
|
}
|
||||||
|
df_x2:
|
||||||
|
while (x1<x2) {
|
||||||
|
for (i=y1;i<=y2;i++)
|
||||||
|
if (GrPeek0(base,x2,i)!=GrPeek0(update,x2,i))
|
||||||
|
goto df_done;
|
||||||
|
x2--;
|
||||||
|
}
|
||||||
|
df_done:
|
||||||
|
res=DCExt(update,x1,y1,x2,y2);
|
||||||
|
res->x0=x1;
|
||||||
|
res->y0=y1;
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
#help_index "Graphics/Char;Char/Graphics"
|
#help_index "Graphics/Char;Char/Graphics"
|
||||||
|
|
||||||
public I64 GrPutChar(CDC *dc=gr.dc,I64 x,I64 y,U8 ch)
|
public I64 GrPutChar(CDC *dc=gr.dc,I64 x,I64 y,U8 ch)
|
||||||
|
|||||||
@@ -414,7 +414,7 @@ public CDC *DCScrnCapture(Bool include_zoom=TRUE,CTask *task=NULL)
|
|||||||
{//Capture scrn to a device context.
|
{//Capture scrn to a device context.
|
||||||
CDC *dc;
|
CDC *dc;
|
||||||
U8 *dst;
|
U8 *dst;
|
||||||
Refresh(2,TRUE);
|
Refresh(0,FALSE);
|
||||||
if (include_zoom)
|
if (include_zoom)
|
||||||
dc=DCCopy(gr.scrn_image,task);
|
dc=DCCopy(gr.scrn_image,task);
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
//See $LK,"Install Documentation",A="FI:::/Doc/Install.DD"$ or $LK,"Upgrading Documentation",A="FI:::/Doc/Upgrade.DD"$.
|
//See $LK,"Install Documentation",A="FI:::/Doc/Install.DD"$.
|
||||||
//Study my account examples: $LK,"Cfg Strs",A="FL:::/Demo/AcctExample/TOS/TOSCfg.HC,1"$, $LK,"Update Funs",A="FL:::/Demo/AcctExample/TOS/TOSDistro.HC,1"$
|
//Study my account examples: $LK,"Cfg Strs",A="FL:::/Demo/AcctExample/TOS/TOSCfg.HC,1"$, $LK,"Update Funs",A="FL:::/Demo/AcctExample/TOS/TOSDistro.HC,1"$
|
||||||
|
|
||||||
#include "BootDVD"
|
#include "BootDVD"
|
||||||
#include "DskISORedSea"
|
#include "DskISORedSea"
|
||||||
#include "DskISO9660"
|
|
||||||
|
|
||||||
#help_index "Install"
|
#help_index "Install"
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
//See $LK,"Install Documentation",A="FI:::/Doc/Install.DD"$ or $LK,"Upgrading Documentation",A="FI:::/Doc/Upgrade.DD"$.
|
//See $LK,"Install Documentation",A="FI:::/Doc/Install.DD"$.
|
||||||
//Study my account examples: $LK,"Cfg Strs",A="FL:::/Demo/AcctExample/TOS/TOSCfg.HC,1"$, $LK,"Update Funs",A="FL:::/Demo/AcctExample/TOS/TOSDistro.HC,1"$
|
//Study my account examples: $LK,"Cfg Strs",A="FL:::/Demo/AcctExample/TOS/TOSCfg.HC,1"$, $LK,"Update Funs",A="FL:::/Demo/AcctExample/TOS/TOSDistro.HC,1"$
|
||||||
|
|
||||||
#include "BootHD"
|
#include "BootHD"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
//See $LK,"Install Documentation",A="FI:::/Doc/Install.DD"$ or $LK,"Upgrading Documentation",A="FI:::/Doc/Upgrade.DD"$.
|
//See $LK,"Install Documentation",A="FI:::/Doc/Install.DD"$.
|
||||||
//Study my account examples: $LK,"Cfg Strs",A="FL:::/Demo/AcctExample/TOS/TOSCfg.HC,1"$, $LK,"Update Funs",A="FL:::/Demo/AcctExample/TOS/TOSDistro.HC,1"$
|
//Study my account examples: $LK,"Cfg Strs",A="FL:::/Demo/AcctExample/TOS/TOSCfg.HC,1"$, $LK,"Update Funs",A="FL:::/Demo/AcctExample/TOS/TOSDistro.HC,1"$
|
||||||
|
|
||||||
#include "BootMHD"
|
#include "BootMHD"
|
||||||
|
|||||||
@@ -1,506 +0,0 @@
|
|||||||
#help_index "File/CD DVD"
|
|
||||||
|
|
||||||
class CCDVDUserData //Create DVD
|
|
||||||
{
|
|
||||||
I64 loc,path_entry_num,
|
|
||||||
short_dir_blks,long_dir_blks;
|
|
||||||
};
|
|
||||||
|
|
||||||
I64 DVDFileCreate2(CFile *out_file,CDirEntry *tmpde,CISO1DirEntry *tmpi,
|
|
||||||
CISO1DirEntry *tmpi2,I64 *_cur_blk,CDirEntry *parent,Bool write,
|
|
||||||
U8 *stage2_filename,I64 *_stage2_blk)
|
|
||||||
{
|
|
||||||
CCDVDUserData *tmpc;
|
|
||||||
CDirEntry *tmpde1,*tmpde2;
|
|
||||||
CFile *in_file;
|
|
||||||
U8 *buf=MAlloc(DVD_BLK_SIZE),*ptr1,*ptr2;
|
|
||||||
CISO1DirEntry *dir_blk_buf =CAlloc(DVD_BLK_SIZE*128),
|
|
||||||
*de =dir_blk_buf, *de1,
|
|
||||||
*dir_blk_buf2=CAlloc(DVD_BLK_SIZE*128),
|
|
||||||
*de2=dir_blk_buf2,*de12;
|
|
||||||
I64 i,n;
|
|
||||||
|
|
||||||
tmpc=parent->user_data;
|
|
||||||
|
|
||||||
de->len=sizeof(CISO1DirEntry)-1;
|
|
||||||
de->ext_attr_len=0;
|
|
||||||
FillU16Palindrome(&de->vol_seq_num,1);
|
|
||||||
Date2ISO1(&de->date,tmpde->datetime);
|
|
||||||
de->flags=ISO1_ATTR_DIR;
|
|
||||||
de->name_len=1;
|
|
||||||
de->name=0;
|
|
||||||
de->len+=de->name_len;
|
|
||||||
de(U8 *)+=de->len;
|
|
||||||
|
|
||||||
de->len=sizeof(CISO1DirEntry)-1;
|
|
||||||
de->ext_attr_len=0;
|
|
||||||
FillU32Palindrome(&de->loc,tmpc->loc);
|
|
||||||
FillU32Palindrome(&de->size,tmpc->short_dir_blks*DVD_BLK_SIZE);
|
|
||||||
FillU16Palindrome(&de->vol_seq_num,1);
|
|
||||||
Date2ISO1(&de->date,parent->datetime);
|
|
||||||
de->flags=ISO1_ATTR_DIR;
|
|
||||||
de->name_len=1;
|
|
||||||
de->name=1;
|
|
||||||
de->len+=de->name_len;
|
|
||||||
de(U8 *)+=de->len;
|
|
||||||
|
|
||||||
de2->len=sizeof(CISO1DirEntry)-1;
|
|
||||||
de2->ext_attr_len=0;
|
|
||||||
FillU16Palindrome(&de2->vol_seq_num,1);
|
|
||||||
Date2ISO1(&de2->date,tmpde->datetime);
|
|
||||||
de2->flags=ISO1_ATTR_DIR;
|
|
||||||
de2->name_len=1;
|
|
||||||
de2->name=0;
|
|
||||||
de2->len+=de2->name_len;
|
|
||||||
de2(U8 *)+=de2->len;
|
|
||||||
|
|
||||||
de2->len=sizeof(CISO1DirEntry)-1;
|
|
||||||
de2->ext_attr_len=0;
|
|
||||||
FillU32Palindrome(&de2->loc,tmpc->loc+tmpc->short_dir_blks);
|
|
||||||
FillU32Palindrome(&de2->size,tmpc->long_dir_blks*DVD_BLK_SIZE);
|
|
||||||
FillU16Palindrome(&de2->vol_seq_num,1);
|
|
||||||
Date2ISO1(&de2->date,parent->datetime);
|
|
||||||
de2->flags=ISO1_ATTR_DIR;
|
|
||||||
de2->name_len=1;
|
|
||||||
de2->name=1;
|
|
||||||
de2->len+=de2->name_len;
|
|
||||||
de2(U8 *)+=de2->len;
|
|
||||||
|
|
||||||
tmpde1=tmpde->sub;
|
|
||||||
while (tmpde1) {
|
|
||||||
tmpde2=tmpde1->next;
|
|
||||||
if (!write) tmpde1->user_data=CAlloc(sizeof(CCDVDUserData));
|
|
||||||
de1=de;
|
|
||||||
de12=de2;
|
|
||||||
if (tmpde1->attr & RS_ATTR_DIR) {
|
|
||||||
n=DVDFileCreate2(out_file,tmpde1,de,de2,_cur_blk,
|
|
||||||
tmpde,write,stage2_filename,_stage2_blk);
|
|
||||||
de(U8 *)+=sizeof(CISO1DirEntry)-1+n;
|
|
||||||
de2(U8 *)+=sizeof(CISO1DirEntry)-1+n<<1;
|
|
||||||
} else {
|
|
||||||
tmpc=tmpde1->user_data;
|
|
||||||
de->len=sizeof(CISO1DirEntry)-1;
|
|
||||||
de->ext_attr_len=0;
|
|
||||||
FillU32Palindrome(&de->loc,*_cur_blk);
|
|
||||||
tmpc->loc=*_cur_blk;
|
|
||||||
if (write) {
|
|
||||||
if (stage2_filename && !StrCmp(tmpde1->full_name,stage2_filename)) {
|
|
||||||
"$$RED$$!!! Boot Stage 2 !!!$$FG$$\n";
|
|
||||||
if (_stage2_blk) *_stage2_blk=*_cur_blk;
|
|
||||||
}
|
|
||||||
"%X:%s\n",*_cur_blk,tmpde1->full_name;
|
|
||||||
}
|
|
||||||
FillU32Palindrome(&de->size,tmpde1->size);
|
|
||||||
FillU16Palindrome(&de->vol_seq_num,1);
|
|
||||||
Date2ISO1(&de->date,tmpde1->datetime);
|
|
||||||
de->flags=0;
|
|
||||||
de->name_len=StrLen(tmpde1->name);
|
|
||||||
StrCpy(&de->name,tmpde1->name);
|
|
||||||
de->len=de->len+de->name_len;
|
|
||||||
de(U8 *)+=de->len;
|
|
||||||
|
|
||||||
de2->len=sizeof(CISO1DirEntry)-1;
|
|
||||||
de2->ext_attr_len=0;
|
|
||||||
FillU32Palindrome(&de2->loc,*_cur_blk);
|
|
||||||
FillU32Palindrome(&de2->size,tmpde1->size);
|
|
||||||
FillU16Palindrome(&de2->vol_seq_num,1);
|
|
||||||
Date2ISO1(&de2->date,tmpde1->datetime);
|
|
||||||
de2->flags=0;
|
|
||||||
de2->name_len=StrLen(tmpde1->name)<<1;
|
|
||||||
ptr1=&de2->name;
|
|
||||||
ptr2=&tmpde1->name;
|
|
||||||
for (i=0;i<de2->name_len;i=i+2) {
|
|
||||||
ptr1++;
|
|
||||||
*ptr1++=*ptr2++;
|
|
||||||
}
|
|
||||||
de2->len+=de2->name_len;
|
|
||||||
de2(U8 *)+=de2->len;
|
|
||||||
|
|
||||||
in_file=FOpen(tmpde1->full_name,"r");
|
|
||||||
for (i=0;i<(FSize(in_file)+DVD_BLK_SIZE-1)/DVD_BLK_SIZE;i++) {
|
|
||||||
n=4;
|
|
||||||
if ((i+1)<<2>(FSize(in_file)+BLK_SIZE-1)>>BLK_SIZE_BITS) {
|
|
||||||
n=(FSize(in_file)+BLK_SIZE-1)>>BLK_SIZE_BITS&3;
|
|
||||||
MemSet(buf,0,DVD_BLK_SIZE);
|
|
||||||
}
|
|
||||||
if (write) {
|
|
||||||
FBlkRead(in_file,buf,i<<2,n);
|
|
||||||
FBlkWrite(out_file,buf,*_cur_blk<<2,n);
|
|
||||||
}
|
|
||||||
*_cur_blk+=1;
|
|
||||||
}
|
|
||||||
FClose(in_file);
|
|
||||||
}
|
|
||||||
if ((de1(U8 *)-dir_blk_buf(U8 *))/DVD_BLK_SIZE!=
|
|
||||||
(de(U8 *) -dir_blk_buf(U8 *))/DVD_BLK_SIZE) {
|
|
||||||
i=de1->len;
|
|
||||||
MemCpy(buf,de1,i);
|
|
||||||
MemSet(de1,0,i);
|
|
||||||
de=dir_blk_buf(U8 *)+(de(U8 *)
|
|
||||||
-dir_blk_buf(U8 *))/DVD_BLK_SIZE*DVD_BLK_SIZE;
|
|
||||||
MemCpy(de,buf,i);
|
|
||||||
de(U8 *)+=i;
|
|
||||||
}
|
|
||||||
if ((de12(U8 *)-dir_blk_buf2(U8 *))/DVD_BLK_SIZE!=
|
|
||||||
(de2(U8 *) -dir_blk_buf2(U8 *))/DVD_BLK_SIZE) {
|
|
||||||
i=de12->len;
|
|
||||||
MemCpy(buf,de12,i);
|
|
||||||
MemSet(de12,0,i);
|
|
||||||
de2(U8 *)=dir_blk_buf2(U8 *)+(de2(U8 *)
|
|
||||||
-dir_blk_buf2(U8 *))/DVD_BLK_SIZE*DVD_BLK_SIZE;
|
|
||||||
MemCpy(de2,buf,i);
|
|
||||||
de2(U8 *)+=i;
|
|
||||||
}
|
|
||||||
tmpde1=tmpde2;
|
|
||||||
}
|
|
||||||
|
|
||||||
tmpc=tmpde->user_data;
|
|
||||||
|
|
||||||
tmpi->len=sizeof(CISO1DirEntry)-1;
|
|
||||||
tmpi->ext_attr_len=0;
|
|
||||||
tmpi->flags=ISO1_ATTR_DIR;
|
|
||||||
if (!tmpde->name[0]) {
|
|
||||||
tmpi->name_len=1;
|
|
||||||
tmpi->name=1;
|
|
||||||
} else {
|
|
||||||
tmpi->name_len=StrLen(tmpde->name);
|
|
||||||
StrCpy(&tmpi->name,tmpde->name);
|
|
||||||
}
|
|
||||||
tmpi->len+=tmpi->name_len;
|
|
||||||
|
|
||||||
n=de(U8 *)+1-dir_blk_buf(U8 *);
|
|
||||||
n=(n+DVD_BLK_SIZE-1)/DVD_BLK_SIZE;
|
|
||||||
FillU32Palindrome(&tmpi->size,n*DVD_BLK_SIZE);
|
|
||||||
FillU32Palindrome(&tmpi->loc,*_cur_blk);
|
|
||||||
tmpc->short_dir_blks=n;
|
|
||||||
tmpc->loc=*_cur_blk;
|
|
||||||
FillU32Palindrome(&dir_blk_buf->size,n*DVD_BLK_SIZE);
|
|
||||||
FillU32Palindrome(&dir_blk_buf->loc,*_cur_blk);
|
|
||||||
FillU16Palindrome(&tmpi->vol_seq_num,1);
|
|
||||||
Date2ISO1(&tmpi->date,tmpde->datetime);
|
|
||||||
if (write)
|
|
||||||
"%X:%s\n",*_cur_blk,tmpde->full_name;
|
|
||||||
if (write)
|
|
||||||
FBlkWrite(out_file,dir_blk_buf,*_cur_blk<<2,n<<2);
|
|
||||||
*_cur_blk+=n;
|
|
||||||
|
|
||||||
tmpi2->len=sizeof(CISO1DirEntry)-1;
|
|
||||||
tmpi2->ext_attr_len=0;
|
|
||||||
tmpi2->flags=ISO1_ATTR_DIR;
|
|
||||||
if (!tmpde->name[0]) {
|
|
||||||
tmpi2->name_len=1;
|
|
||||||
tmpi->name=1;
|
|
||||||
} else {
|
|
||||||
tmpi2->name_len=StrLen(tmpde->name)<<1;
|
|
||||||
ptr1=&tmpi2->name;
|
|
||||||
ptr2=&tmpde->name;
|
|
||||||
for (i=0;i<tmpi2->name_len;i=i+2) {
|
|
||||||
ptr1++;
|
|
||||||
*ptr1++=*ptr2++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
tmpi2->len+=tmpi2->name_len;
|
|
||||||
n=de2(U8 *)+1-dir_blk_buf2(U8 *);
|
|
||||||
n=(n+DVD_BLK_SIZE-1)/DVD_BLK_SIZE;
|
|
||||||
FillU32Palindrome(&tmpi2->size,n*DVD_BLK_SIZE);
|
|
||||||
FillU32Palindrome(&tmpi2->loc,*_cur_blk);
|
|
||||||
tmpc->long_dir_blks=n;
|
|
||||||
FillU32Palindrome(&dir_blk_buf2->size,n*DVD_BLK_SIZE);
|
|
||||||
FillU32Palindrome(&dir_blk_buf2->loc,*_cur_blk);
|
|
||||||
FillU16Palindrome(&tmpi2->vol_seq_num,1);
|
|
||||||
Date2ISO1(&tmpi2->date,tmpde->datetime);
|
|
||||||
if (write)
|
|
||||||
"%X:%s\n",*_cur_blk,tmpde->full_name;
|
|
||||||
if (write)
|
|
||||||
FBlkWrite(out_file,dir_blk_buf2,*_cur_blk<<2,n<<2);
|
|
||||||
*_cur_blk+=n;
|
|
||||||
|
|
||||||
Free(dir_blk_buf);
|
|
||||||
Free(dir_blk_buf2);
|
|
||||||
Free(buf);
|
|
||||||
return tmpi->name_len;
|
|
||||||
}
|
|
||||||
|
|
||||||
I64 DVDTableLen(CDirEntry *tmpde,I64 *size1,I64 *size2,I64 cur_depth)
|
|
||||||
{//Returns depth
|
|
||||||
CDirEntry *tmpde1=tmpde->sub;
|
|
||||||
I64 max_depth=cur_depth,i;
|
|
||||||
while (tmpde1) {
|
|
||||||
if (tmpde1->attr & RS_ATTR_DIR) {
|
|
||||||
*size1+=sizeof(CISO1PathEntry)-2+ (StrLen(tmpde1->name)+1)&-0x2;
|
|
||||||
*size2+=sizeof(CISO1PathEntry)-2+StrLen(tmpde1->name)<<1;
|
|
||||||
i=DVDTableLen(tmpde1,size1,size2,cur_depth+1);
|
|
||||||
if (i>max_depth) max_depth=i;
|
|
||||||
}
|
|
||||||
tmpde1=tmpde1->next;
|
|
||||||
}
|
|
||||||
return max_depth;
|
|
||||||
}
|
|
||||||
|
|
||||||
U0 DVDFillPathTable(CDirEntry *tmpde,
|
|
||||||
CISO1PathEntry **_itabbuf,CISO1PathEntry **_itabbuf2,
|
|
||||||
I64 parent_entry_num,Bool big_endian,I64 *first_free,
|
|
||||||
I64 cur_level,I64 output_level)
|
|
||||||
{
|
|
||||||
U8 *ptr1,*ptr2;
|
|
||||||
I64 i;
|
|
||||||
CISO1PathEntry *tabbuf=*_itabbuf,*tabbuf2=*_itabbuf2;
|
|
||||||
CDirEntry *tmpde1=tmpde->sub,*tmpde2;
|
|
||||||
CCDVDUserData *tmpc;
|
|
||||||
|
|
||||||
if (cur_level==output_level) {
|
|
||||||
while (tmpde1) {
|
|
||||||
if (tmpde1->attr & RS_ATTR_DIR) {
|
|
||||||
tmpc=tmpde1->user_data;
|
|
||||||
tmpc->path_entry_num=*first_free;
|
|
||||||
tabbuf->name_len=StrLen(tmpde1->name);
|
|
||||||
if (big_endian) {
|
|
||||||
tabbuf->blk=EndianU32(tmpc->loc);
|
|
||||||
tabbuf->parent_entry_num=EndianU16(parent_entry_num);
|
|
||||||
} else {
|
|
||||||
tabbuf->blk=tmpc->loc;
|
|
||||||
tabbuf->parent_entry_num=parent_entry_num;
|
|
||||||
}
|
|
||||||
StrCpy(&tabbuf->name,tmpde1->name);
|
|
||||||
|
|
||||||
tabbuf(U8 *)+=sizeof(CISO1PathEntry)-2+
|
|
||||||
(StrLen(tmpde1->name)+1) & -0x2;
|
|
||||||
|
|
||||||
tabbuf2->name_len=StrLen(tmpde1->name)<<1;
|
|
||||||
if (big_endian) {
|
|
||||||
tabbuf2->blk=EndianU32(tmpc->loc+tmpc->short_dir_blks);
|
|
||||||
tabbuf2->parent_entry_num=EndianU16(parent_entry_num);
|
|
||||||
} else {
|
|
||||||
tabbuf2->blk=tmpc->loc+tmpc->short_dir_blks;
|
|
||||||
tabbuf2->parent_entry_num=parent_entry_num;
|
|
||||||
}
|
|
||||||
ptr1=&tabbuf2->name;
|
|
||||||
ptr2=&tmpde1->name;
|
|
||||||
for (i=0;i<tabbuf2->name_len;i=i+2) {
|
|
||||||
ptr1++;
|
|
||||||
*ptr1++=*ptr2++;
|
|
||||||
}
|
|
||||||
tabbuf2(U8 *)+=sizeof(CISO1PathEntry)-2+
|
|
||||||
StrLen(tmpde1->name)<<1;
|
|
||||||
*first_free+=1;
|
|
||||||
}
|
|
||||||
tmpde1=tmpde1->next;
|
|
||||||
}
|
|
||||||
*_itabbuf=tabbuf;
|
|
||||||
*_itabbuf2=tabbuf2;
|
|
||||||
}
|
|
||||||
tmpde1=tmpde->sub;
|
|
||||||
while (tmpde1) {
|
|
||||||
tmpde2=tmpde1->next;
|
|
||||||
if (tmpde1->attr & RS_ATTR_DIR) {
|
|
||||||
tmpc=tmpde1->user_data;
|
|
||||||
DVDFillPathTable(tmpde1,_itabbuf,_itabbuf2,tmpc->path_entry_num,
|
|
||||||
big_endian,first_free,cur_level+1,output_level);
|
|
||||||
}
|
|
||||||
tmpde1=tmpde2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public I64 ISO9660ISO(U8 *_filename=NULL,U8 *src_files_find_mask,
|
|
||||||
U8 *fu_flags=NULL,U8 *_stage2_filename=NULL)
|
|
||||||
{//See $LK,"::/Misc/DoDistro.HC"$
|
|
||||||
//Use "C:/Distro/*" if you want all files in the C:/Distro directory.
|
|
||||||
//Default flags are "+r" recurse.
|
|
||||||
CISO1PriDesc *iso_pri=CAlloc(DVD_BLK_SIZE),
|
|
||||||
*iso_boot=CAlloc(DVD_BLK_SIZE),
|
|
||||||
*iso_sup=CAlloc(DVD_BLK_SIZE),
|
|
||||||
*iso_term=CAlloc(DVD_BLK_SIZE);
|
|
||||||
CDirEntry *headdir=CAlloc(sizeof(CDirEntry));
|
|
||||||
I64 i,j,stage2_blk=(20<<2+1<<2+DVD_BOOT_LOADER_SIZE/BLK_SIZE)>>2,
|
|
||||||
stage2_size,cur_blk=0,tabsize,tabsize2,first_free,max_depth,fuf_flags=0;
|
|
||||||
U32 *d;
|
|
||||||
CElTorito *et=CAlloc(DVD_BLK_SIZE);
|
|
||||||
U8 *filename,*stage2_filename,
|
|
||||||
*stage1_buf=CAlloc(DVD_BOOT_LOADER_SIZE),
|
|
||||||
*zero_buf=CAlloc(DVD_BLK_SIZE);
|
|
||||||
CISO1PathEntry *tabbuf=NULL,*tabbuf2=NULL,*itabbuf,*itabbuf2;
|
|
||||||
CFile *out_file=NULL;
|
|
||||||
CISO1DirEntry *tmpi;
|
|
||||||
CCDVDUserData *tmpc;
|
|
||||||
|
|
||||||
ScanFlags(&fuf_flags,Define("ST_FILE_UTIL_FLAGS"),"+r");
|
|
||||||
ScanFlags(&fuf_flags,Define("ST_FILE_UTIL_FLAGS"),fu_flags);
|
|
||||||
|
|
||||||
if (!_filename)
|
|
||||||
_filename=blkdev.dft_iso_filename;
|
|
||||||
filename=ExtDft(_filename,"ISO");
|
|
||||||
|
|
||||||
if (_stage2_filename)
|
|
||||||
stage2_filename=FileNameAbs(_stage2_filename);
|
|
||||||
else
|
|
||||||
stage2_filename=NULL;
|
|
||||||
|
|
||||||
headdir->attr=RS_ATTR_DIR;
|
|
||||||
headdir->sub=FilesFind(src_files_find_mask,fuf_flags);
|
|
||||||
headdir->datetime=Now;
|
|
||||||
headdir->user_data=CAlloc(sizeof(CCDVDUserData));
|
|
||||||
tmpc=headdir->user_data;
|
|
||||||
tmpc->path_entry_num=1;
|
|
||||||
|
|
||||||
cur_blk=20<<2>>2;
|
|
||||||
if (stage2_filename) //preboot and bootloader
|
|
||||||
cur_blk+=1+DVD_BOOT_LOADER_SIZE/DVD_BLK_SIZE;
|
|
||||||
DVDFileCreate2(out_file,headdir,&iso_pri->root_dir_record,
|
|
||||||
&iso_sup->root_dir_record,&cur_blk,headdir,FALSE,
|
|
||||||
stage2_filename,&stage2_blk);
|
|
||||||
tabsize=sizeof(CISO1PathEntry);
|
|
||||||
tabsize2=sizeof(CISO1PathEntry);
|
|
||||||
max_depth=DVDTableLen(headdir,&tabsize,&tabsize2,1);
|
|
||||||
FillU32Palindrome(&iso_pri->path_table_size,tabsize);
|
|
||||||
FillU32Palindrome(&iso_sup->path_table_size,tabsize2);
|
|
||||||
tabsize=(tabsize+DVD_BLK_SIZE-1)/DVD_BLK_SIZE;
|
|
||||||
cur_blk+=tabsize<<1;
|
|
||||||
tabsize2=(tabsize2+DVD_BLK_SIZE-1)/DVD_BLK_SIZE;
|
|
||||||
cur_blk+=tabsize2<<1;
|
|
||||||
|
|
||||||
if (FileAttr(filename) & RS_ATTR_CONTIGUOUS)
|
|
||||||
out_file=FOpen(filename,"wc",cur_blk<<2);
|
|
||||||
else
|
|
||||||
out_file=FOpen(filename,"w",cur_blk<<2);
|
|
||||||
cur_blk=0;
|
|
||||||
if (!out_file)
|
|
||||||
goto cf_done;
|
|
||||||
|
|
||||||
while (cur_blk<20<<2>>2)
|
|
||||||
FBlkWrite(out_file,zero_buf,cur_blk++<<2,4);
|
|
||||||
|
|
||||||
iso_pri->type=ISO1T_PRI_VOL_DESC;
|
|
||||||
StrCpy(iso_pri->id,"CD001");
|
|
||||||
iso_pri->version=1;
|
|
||||||
FillU16Palindrome(&iso_pri->vol_set_size,1);
|
|
||||||
FillU16Palindrome(&iso_pri->vol_seq_num,1);
|
|
||||||
FillU16Palindrome(&iso_pri->log_block_size,DVD_BLK_SIZE);
|
|
||||||
iso_pri->file_structure_version=1;
|
|
||||||
|
|
||||||
iso_sup->type=ISO1T_SUPPLEMENTARY_DESC;
|
|
||||||
StrCpy(iso_sup->id,"CD001");
|
|
||||||
iso_sup->version=1;
|
|
||||||
FillU16Palindrome(&iso_sup->vol_set_size,1);
|
|
||||||
FillU16Palindrome(&iso_sup->vol_seq_num,1);
|
|
||||||
FillU16Palindrome(&iso_sup->log_block_size,DVD_BLK_SIZE);
|
|
||||||
iso_sup->file_structure_version=1;
|
|
||||||
|
|
||||||
iso_boot->type=ISO1T_BOOT_RECORD;
|
|
||||||
StrCpy(iso_boot->id,"CD001");
|
|
||||||
iso_boot->version=1;
|
|
||||||
StrCpy(iso_boot(U8 *)+7,"EL TORITO SPECIFICATION");
|
|
||||||
|
|
||||||
cur_blk=20<<2>>2;
|
|
||||||
|
|
||||||
if (stage2_filename) {
|
|
||||||
d=iso_boot(U8 *)+0x47;
|
|
||||||
*d=cur_blk;
|
|
||||||
et->w[0]=1;
|
|
||||||
StrCpy(&et->w[2],"TempleOS");
|
|
||||||
et->w[15]=0xAA55;
|
|
||||||
j=0;
|
|
||||||
for (i=0;i<16;i++) //Checksum
|
|
||||||
j+=et->w[i];
|
|
||||||
et->w[14]=-j;
|
|
||||||
et->bootable=0x88;
|
|
||||||
et->media_type=0;//0=no emu 2=1.44meg 4=hard drive
|
|
||||||
et->sect_cnt=4; //5 seems like the limit, 4 is safer
|
|
||||||
et->load_rba=cur_blk+1;
|
|
||||||
"%X: Pre Boot Blk\n",cur_blk;
|
|
||||||
FBlkWrite(out_file,et,cur_blk++<<2,4);
|
|
||||||
"%X: Boot Stage 1\n",cur_blk;
|
|
||||||
cur_blk+=DVD_BOOT_LOADER_SIZE/DVD_BLK_SIZE;
|
|
||||||
}
|
|
||||||
|
|
||||||
DVDFileCreate2(out_file,headdir,&iso_pri->root_dir_record,
|
|
||||||
&iso_sup->root_dir_record,&cur_blk,headdir,TRUE,
|
|
||||||
stage2_filename,&stage2_blk);
|
|
||||||
|
|
||||||
tabbuf=CAlloc(tabsize*DVD_BLK_SIZE);
|
|
||||||
iso_pri->type_l_path_table=cur_blk;
|
|
||||||
tabbuf->name_len=2; //Fill-in adam entry
|
|
||||||
tmpi=&iso_pri->root_dir_record;
|
|
||||||
tabbuf->blk=tmpi->loc.little;
|
|
||||||
tabbuf->parent_entry_num=1;
|
|
||||||
tabbuf2=CAlloc(tabsize2*DVD_BLK_SIZE);
|
|
||||||
iso_sup->type_l_path_table=cur_blk+tabsize;
|
|
||||||
tabbuf2->name_len=2; //Fill-in adam entry
|
|
||||||
tmpi=&iso_sup->root_dir_record;
|
|
||||||
tabbuf2->blk=tmpi->loc.little;
|
|
||||||
tabbuf2->parent_entry_num=1;
|
|
||||||
itabbuf=tabbuf+1;
|
|
||||||
itabbuf2=tabbuf2+1;
|
|
||||||
first_free=2;
|
|
||||||
for (i=1;i<=max_depth;i++)
|
|
||||||
DVDFillPathTable(headdir,&itabbuf,&itabbuf2,1,FALSE,&first_free,1,i);
|
|
||||||
"%X: Path Table 0\n",cur_blk;
|
|
||||||
FBlkWrite(out_file,tabbuf,cur_blk<<2,tabsize<<2);
|
|
||||||
cur_blk+=tabsize;
|
|
||||||
"%X: Path Table 1\n",cur_blk;
|
|
||||||
FBlkWrite(out_file,tabbuf2,cur_blk<<2,tabsize2<<2);
|
|
||||||
cur_blk+=tabsize2;
|
|
||||||
|
|
||||||
MemSet(tabbuf,0,tabsize*DVD_BLK_SIZE);
|
|
||||||
iso_pri->type_m_path_table=EndianU32(cur_blk);
|
|
||||||
tabbuf->name_len=2; //Fill-in adam entry
|
|
||||||
tmpi=&iso_pri->root_dir_record;
|
|
||||||
tabbuf->blk=tmpi->loc.big;
|
|
||||||
tabbuf->parent_entry_num=EndianU16(1);
|
|
||||||
MemSet(tabbuf2,0,tabsize2*DVD_BLK_SIZE);
|
|
||||||
iso_sup->type_m_path_table=EndianU32(cur_blk+tabsize);
|
|
||||||
tabbuf2->name_len=2; //Fill-in adam entry
|
|
||||||
tmpi=&iso_sup->root_dir_record;
|
|
||||||
tabbuf2->blk=tmpi->loc.big;
|
|
||||||
tabbuf2->parent_entry_num=EndianU16(1);
|
|
||||||
itabbuf=tabbuf+1;
|
|
||||||
itabbuf2=tabbuf2+1;
|
|
||||||
first_free=2;
|
|
||||||
for (i=1;i<=max_depth;i++)
|
|
||||||
DVDFillPathTable(headdir,&itabbuf,&itabbuf2,1,TRUE,&first_free,1,i);
|
|
||||||
"%X: Path Table 2\n",cur_blk;
|
|
||||||
FBlkWrite(out_file,tabbuf,cur_blk<<2,tabsize<<2);
|
|
||||||
cur_blk+=tabsize;
|
|
||||||
"%X: Path Table 3\n",cur_blk;
|
|
||||||
FBlkWrite(out_file,tabbuf2,cur_blk<<2,tabsize2<<2);
|
|
||||||
cur_blk+=tabsize2;
|
|
||||||
|
|
||||||
DirTreeDel2(headdir);
|
|
||||||
FillU32Palindrome(&iso_pri->vol_space_size,cur_blk);
|
|
||||||
FillU32Palindrome(&iso_sup->vol_space_size,cur_blk);
|
|
||||||
FBlkWrite(out_file,iso_pri,16<<2,4);
|
|
||||||
|
|
||||||
iso_term->type=ISO1T_TERMINATOR;
|
|
||||||
StrCpy(iso_term->id,"CD001");
|
|
||||||
iso_term->version=1;
|
|
||||||
if (stage2_filename) {
|
|
||||||
FBlkWrite(out_file,iso_boot,17<<2,4);
|
|
||||||
FBlkWrite(out_file,iso_sup,18<<2,4);
|
|
||||||
FBlkWrite(out_file,iso_term,19<<2,4);
|
|
||||||
stage2_size=(Size(stage2_filename,"+s")+DVD_BLK_SIZE-1)/DVD_BLK_SIZE;
|
|
||||||
MemCpy(stage1_buf,BDVD_START,BDVD_END-BDVD_START);
|
|
||||||
*(BDVD_BLK_CNT-BDVD_START+stage1_buf)(U16 *)=stage2_size;
|
|
||||||
*(BDVD_BLK_LO -BDVD_START+stage1_buf)(U32 *)=stage2_blk;
|
|
||||||
"$$RED$$!!! Boot Stage 2 !!! %X-%X$$FG$$\n",
|
|
||||||
stage2_blk,stage2_blk+stage2_size-1;
|
|
||||||
FBlkWrite(out_file,stage1_buf,
|
|
||||||
20<<2+1<<2,DVD_BOOT_LOADER_SIZE/BLK_SIZE);
|
|
||||||
} else {
|
|
||||||
FBlkWrite(out_file,iso_sup,17<<2,4);
|
|
||||||
FBlkWrite(out_file,iso_term,18<<2,4);
|
|
||||||
}
|
|
||||||
|
|
||||||
cf_done:
|
|
||||||
FClose(out_file);
|
|
||||||
Free(tabbuf);
|
|
||||||
Free(tabbuf2);
|
|
||||||
Free(stage2_filename);
|
|
||||||
Free(filename);
|
|
||||||
Free(zero_buf);
|
|
||||||
Free(stage1_buf);
|
|
||||||
Free(et);
|
|
||||||
Free(iso_pri);
|
|
||||||
Free(iso_boot);
|
|
||||||
Free(iso_sup);
|
|
||||||
Free(iso_term);
|
|
||||||
return cur_blk;
|
|
||||||
}
|
|
||||||
@@ -48,7 +48,7 @@ U0 RedSeaISO9660Stage1(U8 *iso_filename,U8 *stage2_filename)
|
|||||||
U0 RedSeaISO9660(U8 *iso_filename,U8 drv_let)
|
U0 RedSeaISO9660(U8 *iso_filename,U8 drv_let)
|
||||||
{
|
{
|
||||||
CDrv *dv=Let2Drv(drv_let);
|
CDrv *dv=Let2Drv(drv_let);
|
||||||
CISO1PriDesc *iso_pri=CAlloc(DVD_BLK_SIZE),
|
CISOPriDesc *iso_pri=CAlloc(DVD_BLK_SIZE),
|
||||||
*iso_boot=CAlloc(DVD_BLK_SIZE),
|
*iso_boot=CAlloc(DVD_BLK_SIZE),
|
||||||
*iso_sup=CAlloc(DVD_BLK_SIZE),
|
*iso_sup=CAlloc(DVD_BLK_SIZE),
|
||||||
*iso_term=CAlloc(DVD_BLK_SIZE);
|
*iso_term=CAlloc(DVD_BLK_SIZE);
|
||||||
@@ -63,7 +63,7 @@ U0 RedSeaISO9660(U8 *iso_filename,U8 drv_let)
|
|||||||
for (i=0;i<dv->bd->drv_offset;i+=4)
|
for (i=0;i<dv->bd->drv_offset;i+=4)
|
||||||
FBlkWrite(out_file,zero_buf,i,4);
|
FBlkWrite(out_file,zero_buf,i,4);
|
||||||
|
|
||||||
iso_pri->type=ISO1T_PRI_VOL_DESC;
|
iso_pri->type=ISOT_PRI_VOL_DESC;
|
||||||
StrCpy(iso_pri->id,"CD001");
|
StrCpy(iso_pri->id,"CD001");
|
||||||
iso_pri->version=1;
|
iso_pri->version=1;
|
||||||
FillU16Palindrome(&iso_pri->vol_set_size,1);
|
FillU16Palindrome(&iso_pri->vol_set_size,1);
|
||||||
@@ -75,15 +75,15 @@ U0 RedSeaISO9660(U8 *iso_filename,U8 drv_let)
|
|||||||
StrCpy(iso_pri->publisher_id,"TempleOS RedSea");
|
StrCpy(iso_pri->publisher_id,"TempleOS RedSea");
|
||||||
|
|
||||||
MemCpy(iso_sup,iso_pri,DVD_BLK_SIZE);
|
MemCpy(iso_sup,iso_pri,DVD_BLK_SIZE);
|
||||||
iso_sup->type=ISO1T_SUPPLEMENTARY_DESC;
|
iso_sup->type=ISOT_SUPPLEMENTARY_DESC;
|
||||||
|
|
||||||
iso_boot->type=ISO1T_BOOT_RECORD;
|
iso_boot->type=ISOT_BOOT_RECORD;
|
||||||
StrCpy(iso_boot->id,"CD001");
|
StrCpy(iso_boot->id,"CD001");
|
||||||
iso_boot->version=1;
|
iso_boot->version=1;
|
||||||
StrCpy(iso_boot(U8 *)+7,"EL TORITO SPECIFICATION");
|
StrCpy(iso_boot(U8 *)+7,"EL TORITO SPECIFICATION");
|
||||||
|
|
||||||
FBlkWrite(out_file,iso_pri,16<<2,4);
|
FBlkWrite(out_file,iso_pri,16<<2,4);
|
||||||
iso_term->type=ISO1T_TERMINATOR;
|
iso_term->type=ISOT_TERMINATOR;
|
||||||
StrCpy(iso_term->id,"CD001");
|
StrCpy(iso_term->id,"CD001");
|
||||||
iso_term->version=1;
|
iso_term->version=1;
|
||||||
|
|
||||||
|
|||||||
@@ -35,13 +35,13 @@ public CFileBMP *BMP4To(CDC *dc)
|
|||||||
CFileBMP *bmp =CAlloc(size);
|
CFileBMP *bmp =CAlloc(size);
|
||||||
bmp->type ='BM';
|
bmp->type ='BM';
|
||||||
bmp->planes =1;
|
bmp->planes =1;
|
||||||
bmp->file_size =size;
|
bmp->file_size=size;
|
||||||
bmp->data_offset=sizeof(CFileBMP);
|
bmp->data_offset=sizeof(CFileBMP);
|
||||||
bmp->header_size=offset(CFileBMP.end)-offset(CFileBMP.header_size);
|
bmp->header_size=offset(CFileBMP.end)-offset(CFileBMP.header_size);
|
||||||
bmp->width =dc->width;
|
bmp->width =dc->width;
|
||||||
bmp->height =dc->height;
|
bmp->height =dc->height;
|
||||||
bmp->bit_cnt =4;
|
bmp->bit_cnt =4;
|
||||||
bmp->image_size =dc->width*dc->height>>1;
|
bmp->image_size=dc->width*dc->height>>1;
|
||||||
GrPaletteGet(palette);
|
GrPaletteGet(palette);
|
||||||
#assert COLORS_NUM==BMP_COLORS_NUM
|
#assert COLORS_NUM==BMP_COLORS_NUM
|
||||||
for (i=0;i<BMP_COLORS_NUM;i++) {
|
for (i=0;i<BMP_COLORS_NUM;i++) {
|
||||||
@@ -128,13 +128,13 @@ public CFileBMP *BMP24To(CDC *dc)
|
|||||||
CFileBMP *bmp =CAlloc(size);
|
CFileBMP *bmp =CAlloc(size);
|
||||||
bmp->type ='BM';
|
bmp->type ='BM';
|
||||||
bmp->planes =1;
|
bmp->planes =1;
|
||||||
bmp->file_size =size;
|
bmp->file_size=size;
|
||||||
bmp->data_offset=offset(CFileBMP.end);
|
bmp->data_offset=offset(CFileBMP.end);
|
||||||
bmp->header_size=offset(CFileBMP.end)-offset(CFileBMP.header_size);
|
bmp->header_size=offset(CFileBMP.end)-offset(CFileBMP.header_size);
|
||||||
bmp->width =dc->width;
|
bmp->width =dc->width;
|
||||||
bmp->height =dc->height;
|
bmp->height =dc->height;
|
||||||
bmp->bit_cnt =32;
|
bmp->bit_cnt =32;
|
||||||
bmp->image_size =dc->width*dc->height<<2;
|
bmp->image_size=dc->width*dc->height<<2;
|
||||||
|
|
||||||
bgr=bmp(U8 *)+bmp->data_offset;
|
bgr=bmp(U8 *)+bmp->data_offset;
|
||||||
for (y=dc->height-1;y>=0;y--) {
|
for (y=dc->height-1;y>=0;y--) {
|
||||||
@@ -341,3 +341,46 @@ public I64 BMPScrnCapture(U8 *filename,I64 bits=4,Bool include_zoom=TRUE)
|
|||||||
DCDel(dc);
|
DCDel(dc);
|
||||||
return size;
|
return size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public I64 GR2BMPLst(U8 *files_find_mask,U8 *fu_flags=NULL,
|
||||||
|
U8 *out_print_fmt="~:/Tmp/VID%05d.BMP.Z",F64 fps=30000.0/1001)
|
||||||
|
{/*Cvt movie from GR lst to BMP lst
|
||||||
|
"+d" will delete GRLst files.
|
||||||
|
*/
|
||||||
|
I64 res=0,fuf_flags=0;
|
||||||
|
CDirEntry *tmpde,*tmpde1;
|
||||||
|
CDC *dc,*base=DCNew(GR_WIDTH,GR_HEIGHT);
|
||||||
|
U8 *st,*last_st;
|
||||||
|
CDate cdt=I64_MIN;
|
||||||
|
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);
|
||||||
|
last_st=MStrPrint(out_print_fmt,0);
|
||||||
|
progress1_max=LinkedLstCnt(tmpde);
|
||||||
|
while (tmpde) {
|
||||||
|
dc=GRRead(tmpde->full_name);
|
||||||
|
GrBlot(base,dc->x0,dc->y0,dc);
|
||||||
|
if (cdt==I64_MIN)
|
||||||
|
cdt=dc->cdt;
|
||||||
|
while (cdt<=dc->cdt) {
|
||||||
|
st=MStrPrint(out_print_fmt,res++);
|
||||||
|
BMPWrite(st,base);
|
||||||
|
Free(st);
|
||||||
|
cdt+=CDATE_FREQ/fps;
|
||||||
|
}
|
||||||
|
if (fuf_flags&FUF_DEL) {
|
||||||
|
old_silent=Silent;
|
||||||
|
Del(tmpde->full_name);
|
||||||
|
Silent(old_silent);
|
||||||
|
}
|
||||||
|
DCDel(dc);
|
||||||
|
progress1++;
|
||||||
|
tmpde=tmpde->next;
|
||||||
|
}
|
||||||
|
progress1=progress1_max=0;
|
||||||
|
DirTreeDel(tmpde1);
|
||||||
|
Free(last_st);
|
||||||
|
DCDel(base);
|
||||||
|
return res;
|
||||||
|
}
|
||||||
@@ -197,15 +197,15 @@ public I64 FileOcc(U8 *needle_str,
|
|||||||
|
|
||||||
class CFind
|
class CFind
|
||||||
{
|
{
|
||||||
U8 find_text[STR_LEN] fmtstr "$$DA-P,"
|
U8 find_text[STR_LEN] format "$$DA-P,"
|
||||||
"A=\"FIND :%s\"$$\n";
|
"A=\"FIND :%s\"$$\n";
|
||||||
U8 replace_text[STR_LEN] fmtstr "$$DA-P,"
|
U8 replace_text[STR_LEN] format "$$DA-P,"
|
||||||
"A=\"REPLACE :%s\"$$\n";
|
"A=\"REPLACE :%s\"$$\n";
|
||||||
Bool replace fmtstr "$$CB,\"REPLACE\"$$\n";
|
Bool replace format "$$CB,\"REPLACE\"$$\n";
|
||||||
Bool match_case fmtstr "$$CB,\"MATCH CASE\"$$\n";
|
Bool match_case format "$$CB,\"MATCH CASE\"$$\n";
|
||||||
Bool whole_labels fmtstr "$$CB,\"WHOLE LABELS\"$$\n";
|
Bool whole_labels format "$$CB,\"WHOLE LABELS\"$$\n";
|
||||||
U8 filemask[STR_LEN] fmtstr "$$DA-P,A=\"FILE MASK :%s\"$$\n";
|
U8 filemask[STR_LEN] format "$$DA-P,A=\"FILE MASK :%s\"$$\n";
|
||||||
Bool recurse fmtstr "$$CB,\"RECURSE\"$$\n";
|
Bool recurse format "$$CB,\"RECURSE\"$$\n";
|
||||||
};
|
};
|
||||||
|
|
||||||
I64 FindWiz()
|
I64 FindWiz()
|
||||||
|
|||||||
@@ -136,6 +136,10 @@ Bool MemRepTask(CTask *task,Bool override_validate=FALSE)
|
|||||||
if (task==sys_winmgr_task) {
|
if (task==sys_winmgr_task) {
|
||||||
"gr.pen_brushes\t:%010X\n",PenBrushesSize;
|
"gr.pen_brushes\t:%010X\n",PenBrushesSize;
|
||||||
"gr.scrn_zoom_tbles\t:%010X\n",ScrnZoomTablesSize;
|
"gr.scrn_zoom_tbles\t:%010X\n",ScrnZoomTablesSize;
|
||||||
|
"winmgr.scrn_cast_dc\t:%010X\n",
|
||||||
|
DCSize(winmgr.scrn_cast_dc);
|
||||||
|
"winmgr.dc2_alias\t:%010X\n",
|
||||||
|
DCSize(winmgr.dc2_alias);
|
||||||
} else if (task==adam_task) {
|
} else if (task==adam_task) {
|
||||||
j=0;k=0;m=0;n=0;
|
j=0;k=0;m=0;n=0;
|
||||||
for (i=0;i<mp_cnt;i++) {
|
for (i=0;i<mp_cnt;i++) {
|
||||||
|
|||||||
@@ -182,7 +182,7 @@ U0 SUFile(U8 *filename,I64 suf_flags,F64 indent_scale_factor)
|
|||||||
}
|
}
|
||||||
public U0 SU(U8 *files_find_mask,I64 suf_flags,U8 *fu_flags=NULL,
|
public U0 SU(U8 *files_find_mask,I64 suf_flags,U8 *fu_flags=NULL,
|
||||||
F64 indent_scale_factor=0)
|
F64 indent_scale_factor=0)
|
||||||
{//Apply $LK,"StrUtil",A="MN:StrUtil"$() on files
|
{//Apply $LK,"StrUtil",A="MN:StrUtil"$() on files.
|
||||||
//You can convert spaces to tabs, for example,
|
//You can convert spaces to tabs, for example,
|
||||||
//or removing trailing spaces on lines.
|
//or removing trailing spaces on lines.
|
||||||
//See $LK,"SUF Flags",A="MN:SUF_SINGLE_SPACE"$.
|
//See $LK,"SUF Flags",A="MN:SUF_SINGLE_SPACE"$.
|
||||||
|
|||||||
@@ -1,30 +1,24 @@
|
|||||||
#help_index "Misc/TOS"
|
#help_index "Misc/TOS"
|
||||||
|
|
||||||
U0 TOSStaffIns()
|
U0 TOSStaffIns()
|
||||||
{//Completes TOS install from TempleOSStaff.ISO
|
{//Completes TOS install from TOS_Staff.ISO
|
||||||
SettingsPush; //See $LK,"SettingsPush",A="MN:SettingsPush"$
|
SettingsPush; //See $LK,"SettingsPush",A="MN:SettingsPush"$
|
||||||
AutoComplete;
|
AutoComplete;
|
||||||
WinBorder;
|
WinBorder;
|
||||||
WinMax;
|
WinMax;
|
||||||
DocClear;
|
DocClear;
|
||||||
"$$PURPLE$$$$TX+CX,\"Complete TOS install from TempleOSStaff.ISO\"$$$$FG$$\n\n\n\n";
|
"$$PURPLE$$$$TX+CX,\"Complete TOS install from TOS_Staff.ISO\"$$$$FG$$\n\n\n\n";
|
||||||
InsRereg;
|
InsRereg;
|
||||||
|
|
||||||
"\nDownload TempleOSSup1.ISO.C\tfrom http://www.templeos.org AppStore.\n"
|
"\nDownload TOS_Supplemental1.ISO.C\tfrom http://www.templeos.org\n";
|
||||||
"Download TempleOSBooks1.ISO.C\tfrom http://www.templeos.org AppStore.\n"
|
|
||||||
"Download TempleOSBooks2.ISO.C\tfrom http://www.templeos.org AppStore.\n\n";
|
|
||||||
|
|
||||||
if (PressAKey!=CH_SHIFT_ESC) {
|
if (PressAKey!=CH_SHIFT_ESC) {
|
||||||
if (HostChgDsk("/home/tad/TempleOSSup1.ISO.C"))
|
if (HostChgDsk("/home/tad/TOS_Supplemental1.ISO.C"))
|
||||||
CopyTree("T:/","~/Sup1");
|
CopyTree("T:/","~/Sup1");
|
||||||
if (HostChgDsk("/home/tad/TempleOSBooks1.ISO.C"))
|
|
||||||
CopyTree("T:/","~/Books1");
|
|
||||||
if (HostChgDsk("/home/tad/TempleOSBooks2.ISO.C"))
|
|
||||||
CopyTree("T:/","~/Books2");
|
|
||||||
|
|
||||||
Once("TOSBootHDIns;");
|
Once("TOSBootHDIns;");
|
||||||
"\nDo you wish to run >$FG,2$TOSRegen;$FG$ to generate\n the "
|
"\nDo you wish to run >$FG,2$TOSRegen;$FG$ to generate\n the "
|
||||||
"distro ISO's and the website image, $FG,2$D:/Wb$FG$ ";
|
"distro ISO's ";
|
||||||
if (YorN) {
|
if (YorN) {
|
||||||
Once("TOSRegen;");
|
Once("TOSRegen;");
|
||||||
BootRAM("C:/" KERNEL_BIN_C); //Boot so TOSRegen cmd is available.
|
BootRAM("C:/" KERNEL_BIN_C); //Boot so TOSRegen cmd is available.
|
||||||
@@ -38,35 +32,25 @@ U0 TOSStaffIns()
|
|||||||
}
|
}
|
||||||
|
|
||||||
public U0 TOSStdIns()
|
public U0 TOSStdIns()
|
||||||
{//Completes TOS install from TempleOSCD.ISO
|
{//Completes TOS install from TOS_Distro.ISO
|
||||||
SettingsPush; //See $LK,"SettingsPush",A="MN:SettingsPush"$
|
SettingsPush; //See $LK,"SettingsPush",A="MN:SettingsPush"$
|
||||||
AutoComplete;
|
AutoComplete;
|
||||||
WinBorder;
|
WinBorder;
|
||||||
WinMax;
|
WinMax;
|
||||||
DocClear;
|
DocClear;
|
||||||
"$$PURPLE$$$$TX+CX,\"Complete TOS install from TempleOSCD.ISO\"$$$$FG$$\n\n\n\n";
|
"$$PURPLE$$$$TX+CX,\"Complete TOS install from TOS_Distro.ISO\"$$$$FG$$\n\n\n\n";
|
||||||
InsRereg;
|
InsRereg;
|
||||||
|
|
||||||
"\nDownload TempleOSSup1.ISO.C\tfrom http://www.templeos.org AppStore.\n"
|
"\nDownload TOS_Supplemental1.ISO.C\tfrom http://www.templeos.org\n";
|
||||||
"Download TempleOSWeb.ISO.C\tfrom http://www.templeos.org AppStore.\n"
|
|
||||||
"Download TempleOSBooks1.ISO.C\tfrom http://www.templeos.org AppStore.\n"
|
|
||||||
"Download TempleOSBooks2.ISO.C\tfrom http://www.templeos.org AppStore.\n\n";
|
|
||||||
|
|
||||||
if (PressAKey!=CH_SHIFT_ESC) {
|
if (PressAKey!=CH_SHIFT_ESC) {
|
||||||
if (FileFind("/Demo/AcctExample"))
|
if (FileFind("/Demo/AcctExample"))
|
||||||
CopyTree("::/Demo/AcctExample","~");
|
CopyTree("::/Demo/AcctExample","~");
|
||||||
if (HostChgDsk("/home/tad/Downloads/TempleOSSup1.ISO.C"))
|
if (HostChgDsk("/home/tad/Downloads/TOS_Supplemental1.ISO.C"))
|
||||||
CopyTree("T:/","~/Sup1");
|
CopyTree("T:/","~/Sup1");
|
||||||
if (HostChgDsk("/home/tad/Downloads/TempleOSWeb.ISO.C"))
|
|
||||||
CopyTree("T:/","~/Web");
|
|
||||||
if (HostChgDsk("/home/tad/Downloads/TempleOSBooks1.ISO.C"))
|
|
||||||
CopyTree("T:/","~/Books1");
|
|
||||||
if (HostChgDsk("/home/tad/Downloads/TempleOSBooks2.ISO.C"))
|
|
||||||
CopyTree("T:/","~/Books2");
|
|
||||||
|
|
||||||
Once("TOSBootHDIns;");
|
Once("TOSBootHDIns;");
|
||||||
"\nDo you wish to run >$FG,2$TOSRegen;$FG$ to generate\n the "
|
"\nDo you wish to run >$FG,2$TOSRegen;$FG$ to generate\n the distro ISO's ";
|
||||||
"distro ISO's and the website image, $FG,2$D:/Wb$FG$ ";
|
|
||||||
if (YorN) {
|
if (YorN) {
|
||||||
Once("TOSRegen;");
|
Once("TOSRegen;");
|
||||||
BootRAM("C:/" KERNEL_BIN_C); //Boot so TOSRegen cmd is available.
|
BootRAM("C:/" KERNEL_BIN_C); //Boot so TOSRegen cmd is available.
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ public I64 SndFileCreate(U8 *base_filename,F64 normalized_vol=1.0,
|
|||||||
//Averaging should be a num from 0.0 to 0.999.
|
//Averaging should be a num from 0.0 to 0.999.
|
||||||
//Vol should be from 0.0 to 1.0.
|
//Vol should be from 0.0 to 1.0.
|
||||||
//Set reverb_delay to like 0.3 sec and reverb_intensity to like 0.4.
|
//Set reverb_delay to like 0.3 sec and reverb_intensity to like 0.4.
|
||||||
I64 i,k,cnt,cnt2,level,file_num;
|
I64 i,i1,k,cnt,cnt2,level,file_num;
|
||||||
F64 avg,dt;
|
F64 avg,dt;
|
||||||
CFileSND *s;
|
CFileSND *s;
|
||||||
CSndWaveCtrl *swc=SndWaveCtrlNew(SNDFILE_SAMPLE_RATE,16,1);
|
CSndWaveCtrl *swc=SndWaveCtrlNew(SNDFILE_SAMPLE_RATE,16,1);
|
||||||
@@ -63,13 +63,16 @@ public I64 SndFileCreate(U8 *base_filename,F64 normalized_vol=1.0,
|
|||||||
|
|
||||||
d=snd.record_head.next;
|
d=snd.record_head.next;
|
||||||
k=0;
|
k=0;
|
||||||
|
i=d->time*SNDFILE_SAMPLE_RATE;
|
||||||
while (d->next!=&snd.record_head) {
|
while (d->next!=&snd.record_head) {
|
||||||
d1=d->next;
|
d1=d->next;
|
||||||
dt=d1->time-d->time;
|
i1=d1->time*SNDFILE_SAMPLE_RATE;
|
||||||
cnt2=dt*SNDFILE_SAMPLE_RATE;
|
if (i1-i) {
|
||||||
SndWaveAddBuf(swc,&s->body[k],cnt2,
|
SndWaveAddBuf(swc,&s->body[k],i1-i,
|
||||||
Ona2Freq(d->ona),waveform,normalized_vol);
|
Ona2Freq(d->ona),waveform,normalized_vol);
|
||||||
k+=cnt2;
|
k+=i1-i;
|
||||||
|
i=i1;
|
||||||
|
}
|
||||||
QueRem(d);
|
QueRem(d);
|
||||||
Free(d);
|
Free(d);
|
||||||
d=d1;
|
d=d1;
|
||||||
|
|||||||
@@ -127,7 +127,7 @@ per second. It defaults to
|
|||||||
2.5 and gets faster when bigger.
|
2.5 and gets faster when bigger.
|
||||||
*/
|
*/
|
||||||
U8 *word,*last_st;
|
U8 *word,*last_st;
|
||||||
I64 note,i=0,ona,timeout_val,timeout_val2;
|
I64 note,octave,i=0,ona,timeout_val,timeout_val2;
|
||||||
Bool tie;
|
Bool tie;
|
||||||
F64 d,on_jiffies,off_jiffies;
|
F64 d,on_jiffies,off_jiffies;
|
||||||
music.play_note_num=0;
|
music.play_note_num=0;
|
||||||
@@ -151,14 +151,19 @@ per second. It defaults to
|
|||||||
note=*st++-'A';
|
note=*st++-'A';
|
||||||
if (note<7) {
|
if (note<7) {
|
||||||
note=music.note_map[note];
|
note=music.note_map[note];
|
||||||
|
octave=music.octave;
|
||||||
if (*st=='b') {
|
if (*st=='b') {
|
||||||
note--;
|
note--;
|
||||||
|
if (note==2)
|
||||||
|
octave--;
|
||||||
st++;
|
st++;
|
||||||
} else if (*st=='#') {
|
} else if (*st=='#') {
|
||||||
note++;
|
note++;
|
||||||
|
if (note==3)
|
||||||
|
octave++;
|
||||||
st++;
|
st++;
|
||||||
}
|
}
|
||||||
ona=Note2Ona(note,music.octave);
|
ona=Note2Ona(note,octave);
|
||||||
} else
|
} else
|
||||||
ona=ONA_REST;
|
ona=ONA_REST;
|
||||||
if (words && (word=LstSub(i++,words)) && StrCmp(word," "))
|
if (words && (word=LstSub(i++,words)) && StrCmp(word," "))
|
||||||
|
|||||||
@@ -6,7 +6,8 @@ CMsStateGlbls old_ms={{-1000,-1000,0},{-1000,-1000,0},{-1000,-1000,0},
|
|||||||
FALSE,FALSE,TRUE,FALSE,FALSE,FALSE,FALSE,FALSE
|
FALSE,FALSE,TRUE,FALSE,FALSE,FALSE,FALSE,FALSE
|
||||||
};
|
};
|
||||||
|
|
||||||
public CWinMgrGlbls winmgr={0,0,0,WINMGR_FPS,tS,NULL,FALSE,FALSE,FALSE};
|
public CWinMgrGlbls winmgr={0,0,0,WINMGR_FPS,tS,tS,NULL,
|
||||||
|
Now,tS,NULL,NULL,NULL,FALSE,FALSE,FALSE,FALSE};
|
||||||
winmgr.t=CAlloc(sizeof(CWinMgrTimingGlbls));
|
winmgr.t=CAlloc(sizeof(CWinMgrTimingGlbls));
|
||||||
winmgr.t->last_calc_idle_time=tS;
|
winmgr.t->last_calc_idle_time=tS;
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
public U0 Refresh(I64 cnt=1,Bool force=FALSE)
|
public U0 Refresh(I64 cnt=1,Bool force=FALSE)
|
||||||
{//Wait for 30fps WinMgr to start & finish scrn refresh.
|
{//Wait for 30fps WinMgr to start & finish scrn refresh.
|
||||||
//0,FALSE Cnt Sync to WinMgr. (not used)
|
//0,FALSE Cnt Sync to WinMgr.
|
||||||
//0,TRUE Pump Msgs.
|
//0,TRUE Pump Msgs.
|
||||||
//1 Cnt Wait and Pump Msgs.
|
//1 Cnt Wait and Pump Msgs.
|
||||||
//2 Cnt Make Sure to do a Full Refresh
|
//2 Cnt Make Sure to do a Full Refresh
|
||||||
@@ -31,6 +31,25 @@ public U0 Refresh(I64 cnt=1,Bool force=FALSE)
|
|||||||
LBEqu(&Fs->task_flags,TASKf_IDLE,old_idle);
|
LBEqu(&Fs->task_flags,TASKf_IDLE,old_idle);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#help_index "Windows;Cmd Line (Typically)"
|
||||||
|
|
||||||
|
public Bool ScrnCast(Bool val=ON,U8 *print_fmt="B:/Tmp/%X.GR")
|
||||||
|
{//WinMgr saves GR files to a dir.
|
||||||
|
Bool old_val,old_silent=Silent;
|
||||||
|
if (val) {
|
||||||
|
if (!(old_val=LBtr(&winmgr.scrn_cast,0))) {
|
||||||
|
Free(winmgr.scrn_cast_print_fmt);
|
||||||
|
winmgr.scrn_cast_print_fmt=AStrNew(print_fmt);
|
||||||
|
winmgr.scrn_cast_now=Now;
|
||||||
|
winmgr.scrn_cast_tS=tS;
|
||||||
|
LBts(&winmgr.scrn_cast,0);
|
||||||
|
}
|
||||||
|
} else
|
||||||
|
old_val=LBtr(&winmgr.scrn_cast,0);
|
||||||
|
Silent(old_silent);
|
||||||
|
return old_val;
|
||||||
|
}
|
||||||
|
|
||||||
#help_index "Windows"
|
#help_index "Windows"
|
||||||
|
|
||||||
I64 WinQueIPMsgs(Bool que)
|
I64 WinQueIPMsgs(Bool que)
|
||||||
@@ -223,8 +242,11 @@ I64 WinMgrSleep(Bool flush_msgs=FALSE)
|
|||||||
CCtrl *c;
|
CCtrl *c;
|
||||||
Bool que;
|
Bool que;
|
||||||
F64 t,t_delta;
|
F64 t,t_delta;
|
||||||
|
U8 *st;
|
||||||
|
CDC *diff;
|
||||||
|
CDate cdt;
|
||||||
|
|
||||||
TimeStampFreqCal;
|
TimeCal;
|
||||||
if ((t_delta=(t=tS)-winmgr.last_refresh_tS)>0.01)
|
if ((t_delta=(t=tS)-winmgr.last_refresh_tS)>0.01)
|
||||||
winmgr.fps=Max(1.0/t_delta,1);
|
winmgr.fps=Max(1.0/t_delta,1);
|
||||||
else
|
else
|
||||||
@@ -260,11 +282,36 @@ I64 WinMgrSleep(Bool flush_msgs=FALSE)
|
|||||||
WinMsUpdate;
|
WinMsUpdate;
|
||||||
|
|
||||||
if (!LBtr(&sys_semas[SEMA_JUST_PUMP_MSGS],0)) {
|
if (!LBtr(&sys_semas[SEMA_JUST_PUMP_MSGS],0)) {
|
||||||
timeout_val=cnts.jiffies+JIFFY_FREQ/WINMGR_FPS;
|
t=tS+WINMGR_PERIOD/8;
|
||||||
|
while (winmgr.ideal_refresh_tS<t)
|
||||||
|
winmgr.ideal_refresh_tS+=WINMGR_PERIOD;
|
||||||
|
timeout_val=cnts.jiffies+(winmgr.ideal_refresh_tS-tS)*JIFFY_FREQ;
|
||||||
LBts(&sys_semas[SEMA_REFRESH_IN_PROGRESS],0);
|
LBts(&sys_semas[SEMA_REFRESH_IN_PROGRESS],0);
|
||||||
GrUpdateScrn;
|
GrUpdateScrn;
|
||||||
LBtr(&sys_semas[SEMA_REFRESH_IN_PROGRESS],0);
|
LBtr(&sys_semas[SEMA_REFRESH_IN_PROGRESS],0);
|
||||||
|
if (winmgr.scrn_cast) {
|
||||||
|
cdt=winmgr.scrn_cast_now+ToI64(CDATE_FREQ*(tS-winmgr.scrn_cast_tS));
|
||||||
|
if (!winmgr.scrn_cast_dc) {
|
||||||
|
winmgr.scrn_cast_dc=DCCopy(winmgr.dc2_alias);
|
||||||
|
winmgr.scrn_cast_dc->cdt=cdt;
|
||||||
|
st=MStrPrint(winmgr.scrn_cast_print_fmt,cdt);
|
||||||
|
GRWrite(st,winmgr.scrn_cast_dc);
|
||||||
|
Free(st);
|
||||||
|
} else if (MemCmp(winmgr.scrn_cast_dc->body,
|
||||||
|
winmgr.dc2_alias->body,MSize(winmgr.dc2_alias->body))) {
|
||||||
|
diff=DCDiff(winmgr.scrn_cast_dc,winmgr.dc2_alias);
|
||||||
|
diff->cdt=cdt;
|
||||||
|
st=MStrPrint(winmgr.scrn_cast_print_fmt,cdt);
|
||||||
|
GRWrite(st,diff);
|
||||||
|
Free(st);
|
||||||
|
DCDel(diff);
|
||||||
|
Free(winmgr.scrn_cast_dc->body);
|
||||||
|
winmgr.scrn_cast_dc->body=MAllocIdent(winmgr.dc2_alias->body);
|
||||||
|
}
|
||||||
|
} else if (winmgr.scrn_cast_dc) {
|
||||||
|
DCDel(winmgr.scrn_cast_dc); //TODO: $LK,"MemRep",A="MN:MemRep"$ can crash.
|
||||||
|
winmgr.scrn_cast_dc=NULL;
|
||||||
|
}
|
||||||
if (sys_focus_task && !Bt(&sys_focus_task->task_flags,TASKf_HAS_SONG)) {
|
if (sys_focus_task && !Bt(&sys_focus_task->task_flags,TASKf_HAS_SONG)) {
|
||||||
Free(music.cur_song);
|
Free(music.cur_song);
|
||||||
music.cur_song=NULL;
|
music.cur_song=NULL;
|
||||||
@@ -404,6 +451,7 @@ U0 WinMgrTask(I64)
|
|||||||
gr.dc->win_task=Fs;
|
gr.dc->win_task=Fs;
|
||||||
Fs->win_inhibit&=~WIF_SELF_CTRLS;
|
Fs->win_inhibit&=~WIF_SELF_CTRLS;
|
||||||
GrSetUpTables;
|
GrSetUpTables;
|
||||||
|
winmgr.dc2_alias=DCAlias(gr.dc2);
|
||||||
WinZBufUpdate;
|
WinZBufUpdate;
|
||||||
LBts(&sys_run_level,RLf_WINMGR);
|
LBts(&sys_run_level,RLf_WINMGR);
|
||||||
while (TRUE) {
|
while (TRUE) {
|
||||||
|
|||||||
@@ -35,11 +35,11 @@ U0 BgtIns(CBgtEntry *tmpb)
|
|||||||
|
|
||||||
class CBgtEntryForm
|
class CBgtEntryForm
|
||||||
{
|
{
|
||||||
U8 date[512] fmtstr "$$DA-P,A=\"Date :%s\"$$\n";
|
U8 date[512] format "$$DA-P,A=\"Date :%s\"$$\n";
|
||||||
F64 amount fmtstr "Amount $$$$$$DA,A=\"%10.2f\"$$\n";
|
F64 amount format "Amount $$$$$$DA,A=\"%10.2f\"$$\n";
|
||||||
U8 credit[512] fmtstr "$$DA-P,A=\"Credit (from) Acct:%s\"$$\n";
|
U8 credit[512] format "$$DA-P,A=\"Credit (from) Acct:%s\"$$\n";
|
||||||
U8 debit [512] fmtstr "$$DA-P,A=\"Debit (to) Acct:%s\"$$\n";
|
U8 debit [512] format "$$DA-P,A=\"Debit (to) Acct:%s\"$$\n";
|
||||||
U8 desc [512] fmtstr "$$DA-P,A=\"Desc :%s\"$$\n";
|
U8 desc [512] format "$$DA-P,A=\"Desc :%s\"$$\n";
|
||||||
};
|
};
|
||||||
|
|
||||||
CBgtEntry *BgtEntryPmt(CBgtEntry *dft=NULL)
|
CBgtEntry *BgtEntryPmt(CBgtEntry *dft=NULL)
|
||||||
|
|||||||
@@ -42,11 +42,11 @@ class CBgtTemplate
|
|||||||
CBgtTemplate *next,*last;
|
CBgtTemplate *next,*last;
|
||||||
|
|
||||||
U0 start;
|
U0 start;
|
||||||
U16 type fmtstr "$$LS,D=\"ST_BGT_TEMPLATE_TYPES\"$$\n";
|
U16 type format "$$LS,D=\"ST_BGT_TEMPLATE_TYPES\"$$\n";
|
||||||
U16 flags;
|
U16 flags;
|
||||||
U8 start_date[16] fmtstr "$$DA-P,A=\"Start Date:%s\"$$\n";
|
U8 start_date[16] format "$$DA-P,A=\"Start Date:%s\"$$\n";
|
||||||
U8 end_date[16] fmtstr "$$DA-P,A=\"End Date :%s\"$$\n";
|
U8 end_date[16] format "$$DA-P,A=\"End Date :%s\"$$\n";
|
||||||
F64 period fmtstr "$$DA,A=\"Period :%8.2f\"$$\n";
|
F64 period format "$$DA,A=\"Period :%8.2f\"$$\n";
|
||||||
U0 end;
|
U0 end;
|
||||||
|
|
||||||
CBgtEntry b;
|
CBgtEntry b;
|
||||||
|
|||||||
@@ -13,9 +13,9 @@ class Ball
|
|||||||
|
|
||||||
class BallDefineStruct
|
class BallDefineStruct
|
||||||
{
|
{
|
||||||
F64 radius fmtstr "$$DA-TRM,A=\"Radius :%8.3f\"$$\n";
|
F64 radius format "$$DA-TRM,A=\"Radius :%8.3f\"$$\n";
|
||||||
I64 n_longitude fmtstr "$$DA-TRM,A=\"Longitude Faces:%5d\"$$\n";
|
I64 n_longitude format "$$DA-TRM,A=\"Longitude Faces:%5d\"$$\n";
|
||||||
I64 n_lattitude fmtstr "$$DA-TRM,A=\"Lattitude Rings:%5d\"$$\n";
|
I64 n_lattitude format "$$DA-TRM,A=\"Lattitude Rings:%5d\"$$\n";
|
||||||
};
|
};
|
||||||
|
|
||||||
U0 BDInit(BallDefineStruct *bd)
|
U0 BDInit(BallDefineStruct *bd)
|
||||||
|
|||||||
@@ -13,66 +13,66 @@ class Man
|
|||||||
|
|
||||||
class ManDefineStruct
|
class ManDefineStruct
|
||||||
{
|
{
|
||||||
F64 head_rad fmtstr
|
F64 head_rad format
|
||||||
"$$DA-TRM,A=\"Head Radius :%8.3f\"$$\n";
|
"$$DA-TRM,A=\"Head Radius :%8.3f\"$$\n";
|
||||||
|
|
||||||
F64 torso_len fmtstr
|
F64 torso_len format
|
||||||
"$$DA-TRM,A=\"Torso Length :%8.3f\"$$\n";
|
"$$DA-TRM,A=\"Torso Length :%8.3f\"$$\n";
|
||||||
F64 arm_len fmtstr
|
F64 arm_len format
|
||||||
"$$DA-TRM,A=\"Arm Length :%8.3f\"$$\n";
|
"$$DA-TRM,A=\"Arm Length :%8.3f\"$$\n";
|
||||||
F64 hand_len fmtstr
|
F64 hand_len format
|
||||||
"$$DA-TRM,A=\"Hand Length :%8.3f\"$$\n";
|
"$$DA-TRM,A=\"Hand Length :%8.3f\"$$\n";
|
||||||
F64 leg_len fmtstr
|
F64 leg_len format
|
||||||
"$$DA-TRM,A=\"Leg Length :%8.3f\"$$\n";
|
"$$DA-TRM,A=\"Leg Length :%8.3f\"$$\n";
|
||||||
F64 foot_len fmtstr
|
F64 foot_len format
|
||||||
"$$DA-TRM,A=\"Foot Length :%8.3f\"$$\n";
|
"$$DA-TRM,A=\"Foot Length :%8.3f\"$$\n";
|
||||||
F64 torso_width fmtstr
|
F64 torso_width format
|
||||||
"$$DA-TRM,A=\"Torso Width :%8.3f\"$$\n";
|
"$$DA-TRM,A=\"Torso Width :%8.3f\"$$\n";
|
||||||
F64 torso_depth fmtstr
|
F64 torso_depth format
|
||||||
"$$DA-TRM,A=\"Torso Depth :%8.3f\"$$\n";
|
"$$DA-TRM,A=\"Torso Depth :%8.3f\"$$\n";
|
||||||
F64 arm_rad fmtstr
|
F64 arm_rad format
|
||||||
"$$DA-TRM,A=\"Arm Radius :%8.3f\"$$\n";
|
"$$DA-TRM,A=\"Arm Radius :%8.3f\"$$\n";
|
||||||
F64 hand_rad fmtstr
|
F64 hand_rad format
|
||||||
"$$DA-TRM,A=\"Hand Radius :%8.3f\"$$\n";
|
"$$DA-TRM,A=\"Hand Radius :%8.3f\"$$\n";
|
||||||
F64 leg_rad fmtstr
|
F64 leg_rad format
|
||||||
"$$DA-TRM,A=\"Leg Radius :%8.3f\"$$\n";
|
"$$DA-TRM,A=\"Leg Radius :%8.3f\"$$\n";
|
||||||
F64 foot_rad fmtstr
|
F64 foot_rad format
|
||||||
"$$DA-TRM,A=\"Foot Radius :%8.3f\"$$\n\n";
|
"$$DA-TRM,A=\"Foot Radius :%8.3f\"$$\n\n";
|
||||||
|
|
||||||
F64 r_shoulder_a1 fmtstr
|
F64 r_shoulder_a1 format
|
||||||
"$$DA-TRM,A=\"R.Shoulder Front/Back Angle:%8.3f\"$$\n";
|
"$$DA-TRM,A=\"R.Shoulder Front/Back Angle:%8.3f\"$$\n";
|
||||||
F64 l_shoulder_a1 fmtstr
|
F64 l_shoulder_a1 format
|
||||||
"$$DA-TRM,A=\"L.Shoulder Front/Back Angle:%8.3f\"$$\n";
|
"$$DA-TRM,A=\"L.Shoulder Front/Back Angle:%8.3f\"$$\n";
|
||||||
F64 r_hip_a1 fmtstr
|
F64 r_hip_a1 format
|
||||||
"$$DA-TRM,A=\"R.Hip Front/Back Angle :%8.3f\"$$\n";
|
"$$DA-TRM,A=\"R.Hip Front/Back Angle :%8.3f\"$$\n";
|
||||||
F64 l_hip_a1 fmtstr
|
F64 l_hip_a1 format
|
||||||
"$$DA-TRM,A=\"L.Hip Front/Back Angle :%8.3f\"$$\n";
|
"$$DA-TRM,A=\"L.Hip Front/Back Angle :%8.3f\"$$\n";
|
||||||
|
|
||||||
F64 r_shoulder_a2 fmtstr
|
F64 r_shoulder_a2 format
|
||||||
"$$DA-TRM,A=\"R.Shoulder Side Angle :%8.3f\"$$\n";
|
"$$DA-TRM,A=\"R.Shoulder Side Angle :%8.3f\"$$\n";
|
||||||
F64 l_shoulder_a2 fmtstr
|
F64 l_shoulder_a2 format
|
||||||
"$$DA-TRM,A=\"L.Shoulder Side Angle :%8.3f\"$$\n";
|
"$$DA-TRM,A=\"L.Shoulder Side Angle :%8.3f\"$$\n";
|
||||||
F64 r_hip_a2 fmtstr
|
F64 r_hip_a2 format
|
||||||
"$$DA-TRM,A=\"R.Hip Side Angle :%8.3f\"$$\n";
|
"$$DA-TRM,A=\"R.Hip Side Angle :%8.3f\"$$\n";
|
||||||
F64 l_hip_a2 fmtstr
|
F64 l_hip_a2 format
|
||||||
"$$DA-TRM,A=\"L.Hip Side Angle :%8.3f\"$$\n";
|
"$$DA-TRM,A=\"L.Hip Side Angle :%8.3f\"$$\n";
|
||||||
|
|
||||||
F64 r_elbow_a fmtstr
|
F64 r_elbow_a format
|
||||||
"$$DA-TRM,A=\"R.Elbow Angle :%8.3f\"$$\n";
|
"$$DA-TRM,A=\"R.Elbow Angle :%8.3f\"$$\n";
|
||||||
F64 l_elbow_a fmtstr
|
F64 l_elbow_a format
|
||||||
"$$DA-TRM,A=\"L.Elbow Angle :%8.3f\"$$\n";
|
"$$DA-TRM,A=\"L.Elbow Angle :%8.3f\"$$\n";
|
||||||
F64 r_knee_a fmtstr
|
F64 r_knee_a format
|
||||||
"$$DA-TRM,A=\"R.Knee Angle :%8.3f\"$$\n";
|
"$$DA-TRM,A=\"R.Knee Angle :%8.3f\"$$\n";
|
||||||
F64 l_knee_a fmtstr
|
F64 l_knee_a format
|
||||||
"$$DA-TRM,A=\"L.Knee Angle :%8.3f\"$$\n";
|
"$$DA-TRM,A=\"L.Knee Angle :%8.3f\"$$\n";
|
||||||
|
|
||||||
F64 r_wrist_a fmtstr
|
F64 r_wrist_a format
|
||||||
"$$DA-TRM,A=\"R.Wrist Angle :%8.3f\"$$\n";
|
"$$DA-TRM,A=\"R.Wrist Angle :%8.3f\"$$\n";
|
||||||
F64 l_wrist_a fmtstr
|
F64 l_wrist_a format
|
||||||
"$$DA-TRM,A=\"L.Wrist Angle :%8.3f\"$$\n";
|
"$$DA-TRM,A=\"L.Wrist Angle :%8.3f\"$$\n";
|
||||||
F64 r_ankle_a fmtstr
|
F64 r_ankle_a format
|
||||||
"$$DA-TRM,A=\"R.Ankle Angle :%8.3f\"$$\n";
|
"$$DA-TRM,A=\"R.Ankle Angle :%8.3f\"$$\n";
|
||||||
F64 l_ankle_a fmtstr
|
F64 l_ankle_a format
|
||||||
"$$DA-TRM,A=\"L.Ankle Angle :%8.3f\"$$\n";
|
"$$DA-TRM,A=\"L.Ankle Angle :%8.3f\"$$\n";
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ U0 JukeSongPuppet(CTask *juke_task,I64 passes,I64 song_num,U8 *name)
|
|||||||
}
|
}
|
||||||
|
|
||||||
public U0 JukeSongsPuppet(U8 *dirname="~/Psalmody",I64 passes=2,
|
public U0 JukeSongsPuppet(U8 *dirname="~/Psalmody",I64 passes=2,
|
||||||
I64 start_song=0,I64 end_song=I64_MAX)
|
I64 start_song=0,I64 end_song=I64_MAX,F64 start_delay=0)
|
||||||
{//Help make music video by puppeting JukeBox task.
|
{//Help make music video by puppeting JukeBox task.
|
||||||
I64 i;
|
I64 i;
|
||||||
CDirEntry *tmpde,*tmpde1;
|
CDirEntry *tmpde,*tmpde1;
|
||||||
@@ -80,6 +80,7 @@ public U0 JukeSongsPuppet(U8 *dirname="~/Psalmody",I64 passes=2,
|
|||||||
tmpde1=FilesFind("*",FUF_RECURSE|FUF_JUST_TXT|FUF_JUST_FILES);
|
tmpde1=FilesFind("*",FUF_RECURSE|FUF_JUST_TXT|FUF_JUST_FILES);
|
||||||
for (tmpde=tmpde1,i=0;tmpde && i<start_song;i++)
|
for (tmpde=tmpde1,i=0;tmpde && i<start_song;i++)
|
||||||
tmpde=tmpde->next;
|
tmpde=tmpde->next;
|
||||||
|
Sleep(start_delay*1000);
|
||||||
for (i=start_song;tmpde && i<end_song;i++) {
|
for (i=start_song;tmpde && i<end_song;i++) {
|
||||||
JukeSongPuppet(juke_task,passes,i,tmpde->name);
|
JukeSongPuppet(juke_task,passes,i,tmpde->name);
|
||||||
tmpde=tmpde->next;
|
tmpde=tmpde->next;
|
||||||
|
|||||||
@@ -945,14 +945,14 @@ U0 PrsAsmBlk(CCmpCtrl *cc,I64 cmp_flags)
|
|||||||
LexExcept(cc,"Missing ';' at");
|
LexExcept(cc,"Missing ';' at");
|
||||||
Lex(cc); //skip ';';
|
Lex(cc); //skip ';';
|
||||||
break;
|
break;
|
||||||
case AKW_MODULE_ORG:
|
case AKW_ORG:
|
||||||
if (cc->htc.local_var_lst)
|
if (cc->htc.local_var_lst)
|
||||||
LexExcept(cc,"ORG not allowed in fun asm blk ");
|
LexExcept(cc,"ORG not allowed in fun asm blk ");
|
||||||
if (aotc->module_org!=INVALID_PTR)
|
if (aotc->org!=INVALID_PTR)
|
||||||
LexExcept(cc,"Just one org allowed ");
|
LexExcept(cc,"Just one org allowed ");
|
||||||
if (aotc->rip)
|
if (aotc->rip)
|
||||||
LexExcept(cc,"ORG must be at beginning ");
|
LexExcept(cc,"ORG must be at beginning ");
|
||||||
aotc->module_org=AsmLexExpression(cc);
|
aotc->org=AsmLexExpression(cc);
|
||||||
break;
|
break;
|
||||||
case AKW_ALIGN:
|
case AKW_ALIGN:
|
||||||
if (cc->htc.local_var_lst)
|
if (cc->htc.local_var_lst)
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ CAOT *CmpJoin(CCmpCtrl *cc,I64 cmp_flags,U8 *map_name=NULL,U8 mapfile_drv_let=0)
|
|||||||
|
|
||||||
aotc->bin=CAlloc(sizeof(CAOTBinBlk));
|
aotc->bin=CAlloc(sizeof(CAOTBinBlk));
|
||||||
aotc->max_align_bits=0;
|
aotc->max_align_bits=0;
|
||||||
aotc->module_org=INVALID_PTR;
|
aotc->org=INVALID_PTR;
|
||||||
|
|
||||||
MemCpy(htc,&cc->htc,sizeof(CLexHashTableContext));
|
MemCpy(htc,&cc->htc,sizeof(CLexHashTableContext));
|
||||||
if (cc->htc.fun)
|
if (cc->htc.fun)
|
||||||
@@ -120,10 +120,10 @@ CAOT *CmpJoin(CCmpCtrl *cc,I64 cmp_flags,U8 *map_name=NULL,U8 mapfile_drv_let=0)
|
|||||||
if (cc->flags&CCF_AOT_COMPILE)
|
if (cc->flags&CCF_AOT_COMPILE)
|
||||||
res->buf=MAlloc(aotc->num_bin_U8s);
|
res->buf=MAlloc(aotc->num_bin_U8s);
|
||||||
else {
|
else {
|
||||||
if (aotc->module_org==INVALID_PTR)
|
if (aotc->org==INVALID_PTR)
|
||||||
res->buf=MAlloc(aotc->num_bin_U8s,Fs->code_heap);
|
res->buf=MAlloc(aotc->num_bin_U8s,Fs->code_heap);
|
||||||
else
|
else
|
||||||
res->buf=aotc->module_org;
|
res->buf=aotc->org;
|
||||||
}
|
}
|
||||||
res->aot_U8s=aotc->num_bin_U8s;
|
res->aot_U8s=aotc->num_bin_U8s;
|
||||||
tmpbin=aotc->bin;
|
tmpbin=aotc->bin;
|
||||||
@@ -143,7 +143,7 @@ CAOT *CmpJoin(CCmpCtrl *cc,I64 cmp_flags,U8 *map_name=NULL,U8 mapfile_drv_let=0)
|
|||||||
res->abss=aotc->abss;
|
res->abss=aotc->abss;
|
||||||
res->heap_glbls=aotc->heap_glbls;
|
res->heap_glbls=aotc->heap_glbls;
|
||||||
res->max_align_bits=aotc->max_align_bits;
|
res->max_align_bits=aotc->max_align_bits;
|
||||||
res->module_org=aotc->module_org;
|
res->org=aotc->org;
|
||||||
}
|
}
|
||||||
cc->aot=parent;
|
cc->aot=parent;
|
||||||
MemCpy(&cc->htc,htc,sizeof(CLexHashTableContext));
|
MemCpy(&cc->htc,htc,sizeof(CLexHashTableContext));
|
||||||
@@ -541,7 +541,7 @@ I64 Cmp(U8 *filename,U8 *map_name=NULL,U8 *out_name=NULL,U8 mapfile_drv_let=0)
|
|||||||
#assert sizeof(CBinFile)-2<=I8_MAX
|
#assert sizeof(CBinFile)-2<=I8_MAX
|
||||||
bfh->reserved=0;
|
bfh->reserved=0;
|
||||||
bfh->bin_signature=BIN_SIGNATURE_VAL;
|
bfh->bin_signature=BIN_SIGNATURE_VAL;
|
||||||
bfh->module_org=tmpaot->module_org;
|
bfh->org=tmpaot->org;
|
||||||
bfh->module_align_bits=tmpaot->max_align_bits;
|
bfh->module_align_bits=tmpaot->max_align_bits;
|
||||||
bfh->patch_table_offset=sizeof(CBinFile)+aot_U8s;
|
bfh->patch_table_offset=sizeof(CBinFile)+aot_U8s;
|
||||||
bfh->file_size=size;
|
bfh->file_size=size;
|
||||||
|
|||||||
@@ -129,10 +129,15 @@ U8 *CmdLinePmt()
|
|||||||
I64 i;
|
I64 i;
|
||||||
U8 *res,*st;
|
U8 *res,*st;
|
||||||
if (Fs->new_answer) {
|
if (Fs->new_answer) {
|
||||||
if (Fs->answer_type==RT_F64)
|
if (Fs->answer_type&~1!=RT_I0) {
|
||||||
"%8.6fs ansf=%15.7g\n",Fs->answer_time,Fs->answer;
|
if (Fs->answer_type==RT_F64)
|
||||||
else
|
"%8.6fs ansf=%15.7g\n",Fs->answer_time,Fs->answer;
|
||||||
"%8.6fs ans=0x%08X=%d\n",Fs->answer_time,Fs->answer,Fs->answer;
|
else
|
||||||
|
"%8.6fs ans=0x%08X=%d\n",Fs->answer_time,Fs->answer,Fs->answer;
|
||||||
|
} else {
|
||||||
|
"%8.6fs\n",Fs->answer_time;
|
||||||
|
Fs->answer=0;
|
||||||
|
}
|
||||||
Fs->new_answer=FALSE;
|
Fs->new_answer=FALSE;
|
||||||
}
|
}
|
||||||
if (st=DirCur) {
|
if (st=DirCur) {
|
||||||
@@ -142,7 +147,7 @@ U8 *CmdLinePmt()
|
|||||||
'>';
|
'>';
|
||||||
if (IsDbgMode&&IsRaw)
|
if (IsDbgMode&&IsRaw)
|
||||||
RawDr;
|
RawDr;
|
||||||
|
|
||||||
LBts(&Fs->task_flags,TASKf_CMD_LINE_PMT);
|
LBts(&Fs->task_flags,TASKf_CMD_LINE_PMT);
|
||||||
st=GetStr(,,GSF_SHIFT_ESC_EXIT);
|
st=GetStr(,,GSF_SHIFT_ESC_EXIT);
|
||||||
LBtr(&Fs->task_flags,TASKf_CMD_LINE_PMT);
|
LBtr(&Fs->task_flags,TASKf_CMD_LINE_PMT);
|
||||||
|
|||||||
Binary file not shown.
@@ -49,7 +49,7 @@ $LK,"AOTStoreCodeU64",A="FL:::/Compiler/AsmLib.HC.Z,68",BI=39$
|
|||||||
$LK,"LexPopNoRestore",A="FL:::/Compiler/LexLib.HC.Z,38",BI=40$
|
$LK,"LexPopNoRestore",A="FL:::/Compiler/LexLib.HC.Z,38",BI=40$
|
||||||
$LK,"ExePrint",A="FL:::/Compiler/CMain.HC.Z,605",BI=41$
|
$LK,"ExePrint",A="FL:::/Compiler/CMain.HC.Z,605",BI=41$
|
||||||
$LK,"SLASH_OP_NEG",A="FL:::/Compiler/BackLib.HC.Z,261"$
|
$LK,"SLASH_OP_NEG",A="FL:::/Compiler/BackLib.HC.Z,261"$
|
||||||
$LK,"PrsVarLst",A="FL:::/Compiler/PrsVar.HC.Z,416",BI=42$
|
$LK,"PrsVarLst",A="FL:::/Compiler/PrsVar.HC.Z,408",BI=42$
|
||||||
$LK,"PrsAsmDefine",A="FL:::/Compiler/Asm.HC.Z,814",BI=43$
|
$LK,"PrsAsmDefine",A="FL:::/Compiler/Asm.HC.Z,814",BI=43$
|
||||||
$LK,"PrsAddOp",A="FL:::/Compiler/PrsExp.HC.Z,15",BI=44$
|
$LK,"PrsAddOp",A="FL:::/Compiler/PrsExp.HC.Z,15",BI=44$
|
||||||
$LK,"LexWarn",A="FL:::/Compiler/CExcept.HC.Z,65",BI=45$
|
$LK,"LexWarn",A="FL:::/Compiler/CExcept.HC.Z,65",BI=45$
|
||||||
@@ -287,7 +287,7 @@ $LK,"ICCopyTemplate",A="FL:::/Compiler/BackFA.HC.Z,77",BI=225$
|
|||||||
$LK,"PrsStmt",A="FL:::/Compiler/PrsStmt.HC.Z,904",BI=226$
|
$LK,"PrsStmt",A="FL:::/Compiler/PrsStmt.HC.Z,904",BI=226$
|
||||||
$LK,"PrsFun",A="FL:::/Compiler/PrsStmt.HC.Z,140",BI=227$
|
$LK,"PrsFun",A="FL:::/Compiler/PrsStmt.HC.Z,140",BI=227$
|
||||||
$LK,"LexIncludeStr",A="FL:::/Compiler/Lex.HC.Z,293",BI=228$
|
$LK,"LexIncludeStr",A="FL:::/Compiler/Lex.HC.Z,293",BI=228$
|
||||||
$LK,"PrsType",A="FL:::/Compiler/PrsVar.HC.Z,287",BI=229$
|
$LK,"PrsType",A="FL:::/Compiler/PrsVar.HC.Z,285",BI=229$
|
||||||
$LK,"CmpCtrlNew",A="FL:::/Compiler/Lex.HC.Z,28",BI=230$
|
$LK,"CmpCtrlNew",A="FL:::/Compiler/Lex.HC.Z,28",BI=230$
|
||||||
$LK,"MODR_SIB_D8_INDIRECT_REG",A="FL:::/Compiler/BackLib.HC.Z,131"$
|
$LK,"MODR_SIB_D8_INDIRECT_REG",A="FL:::/Compiler/BackLib.HC.Z,131"$
|
||||||
$LK,"cmp_type_flags_src_code",A="FL:::/Compiler/Lex.HC.Z,322"$
|
$LK,"cmp_type_flags_src_code",A="FL:::/Compiler/Lex.HC.Z,322"$
|
||||||
@@ -340,84 +340,83 @@ $LK,"PrsStreamBlk",A="FL:::/Compiler/PrsStmt.HC.Z,805",BI=264$
|
|||||||
$LK,"MODR_RIP_REL_IMM_U32",A="FL:::/Compiler/BackLib.HC.Z,134"$
|
$LK,"MODR_RIP_REL_IMM_U32",A="FL:::/Compiler/BackLib.HC.Z,134"$
|
||||||
$LK,"cmp_templates_dont_push2",A="FL:::/Compiler/CExts.HC.Z,44"$
|
$LK,"cmp_templates_dont_push2",A="FL:::/Compiler/CExts.HC.Z,44"$
|
||||||
$LK,"InstEntryFind",A="FL:::/Compiler/UAsm.HC.Z,66",BI=265$
|
$LK,"InstEntryFind",A="FL:::/Compiler/UAsm.HC.Z,66",BI=265$
|
||||||
$LK,"PrsDotDotDot",A="FL:::/Compiler/PrsVar.HC.Z,381",BI=266$
|
$LK,"PrsDotDotDot",A="FL:::/Compiler/PrsVar.HC.Z,373",BI=266$
|
||||||
$LK,"ICMulEqu",A="FL:::/Compiler/BackA.HC.Z,285",BI=267$
|
$LK,"ICMulEqu",A="FL:::/Compiler/BackA.HC.Z,285",BI=267$
|
||||||
$LK,"AsmPrsInsFlags",A="FL:::/Compiler/AsmInit.HC.Z,1",BI=268$
|
$LK,"AsmPrsInsFlags",A="FL:::/Compiler/AsmInit.HC.Z,1",BI=268$
|
||||||
$LK,"PrsNoWarn",A="FL:::/Compiler/PrsStmt.HC.Z,791",BI=269$
|
$LK,"PrsNoWarn",A="FL:::/Compiler/PrsStmt.HC.Z,791",BI=269$
|
||||||
| |||||||